diff --git a/.DS_Store b/.DS_Store
index f4e8e17..13c43ef 100755
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/.cproject b/.cproject
new file mode 100755
index 0000000..4611900
--- /dev/null
+++ b/.cproject
@@ -0,0 +1,187 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 69e4856..a953280 100755
--- a/.gitignore
+++ b/.gitignore
@@ -1,129 +1,63 @@
-# ---> C
-# Prerequisites
-*.d
+# macOS
+.DS_Store
+**/.DS_Store
-# Object files
-*.o
-*.ko
-*.obj
-*.elf
-
-# Linker output
-*.ilk
-*.map
-*.exp
-
-# Precompiled Headers
-*.gch
-*.pch
-
-# Libraries
-*.lib
-*.a
-*.la
-*.lo
-
-# Shared objects (inc. Windows DLLs)
-*.dll
-*.so
-*.so.*
-*.dylib
-
-# Executables
-*.exe
-*.out
-*.app
-*.i*86
-*.x86_64
-*.hex
-
-# Debug files
-*.dSYM/
-*.su
-*.idb
-*.pdb
-
-# Kernel Module Compile Results
-*.mod*
-*.cmd
-.tmp_versions/
-modules.order
-Module.symvers
-Mkfile.old
-dkms.conf
-
-# ---> CMake
-CMakeLists.txt.user
-CMakeCache.txt
-CMakeFiles
-CMakeScripts
-Testing
-Makefile
-cmake_install.cmake
-install_manifest.txt
-compile_commands.json
-CTestTestfile.cmake
-_deps
-
-# ---> Eclipse
-.metadata
-bin/
-tmp/
+# Temporary/editor files
+*.swp
+*.swo
+*~
*.tmp
*.bak
-*.swp
-*~.nib
-local.properties
-.settings/
-.loadpath
-.recommenders
-# External tool builders
+# STM32CubeIDE build intermediates
+Debug/**/*.o
+Debug/**/*.d
+Debug/**/*.su
+Debug/**/*.cyclo
+Debug/**/*.mk
+Debug/**/*.lst
+Debug/**/*.log
+Debug/**/*.tmp
+Debug/**/*.a
+Debug/**/*.obj
+
+Release/**/*.o
+Release/**/*.d
+Release/**/*.su
+Release/**/*.cyclo
+Release/**/*.mk
+Release/**/*.lst
+Release/**/*.log
+Release/**/*.tmp
+Release/**/*.a
+Release/**/*.obj
+
+# Generic C/C++ intermediates
+*.o
+*.obj
+*.d
+*.su
+*.gch
+*.pch
+*.ilk
+*.exp
+*.idb
+*.pdb
+*.dSYM/
+
+# Preserve firmware artifacts in git
+!*.hex
+!*.bin
+!*.srec
+!*.elf
+
+# Eclipse local workspace metadata
+.metadata/
.externalToolBuilders/
-# Locally stored "Eclipse launch configurations"
+# Optional local launch configs
*.launch
-# PyDev specific (Python IDE for Eclipse)
-*.pydevproject
-
-# CDT-specific (C/C++ Development Tooling)
-.cproject
-
-# CDT- autotools
-.autotools
-
-# Java annotation processor (APT)
-.factorypath
-
-# PDT-specific (PHP Development Tools)
-.buildpath
-
-# sbteclipse plugin
-.target
-
-# Tern plugin
-.tern-project
-
-# TeXlipse plugin
-.texlipse
-
-# STS (Spring Tool Suite)
-.springBeans
-
-# Code Recommenders
-.recommenders/
-
-# Annotation Processing
-.apt_generated/
-.apt_generated_test/
-
-# Scala IDE specific (Scala & Java development for Eclipse)
-.cache-main
-.scala_dependencies
-.worksheet
-
-# Uncomment this line if you wish to ignore the project description file.
-# Typically, this file would be tracked if it contains build/dependency configurations:
-#.project
+# VS Code local settings
+.vscode/
diff --git a/.settings/com.st.stm32cube.ide.mcu.sfrview.prefs b/.settings/com.st.stm32cube.ide.mcu.sfrview.prefs
new file mode 100755
index 0000000..98a69fc
--- /dev/null
+++ b/.settings/com.st.stm32cube.ide.mcu.sfrview.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+sfrviewstate={"fFavorites"\:{"fLists"\:{}},"fProperties"\:{"fNodeProperties"\:{}}}
diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml
new file mode 100755
index 0000000..dae24b6
--- /dev/null
+++ b/.settings/language.settings.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.settings/org.eclipse.cdt.core.prefs b/.settings/org.eclipse.cdt.core.prefs
new file mode 100755
index 0000000..c8ec5df
--- /dev/null
+++ b/.settings/org.eclipse.cdt.core.prefs
@@ -0,0 +1,6 @@
+doxygen/doxygen_new_line_after_brief=true
+doxygen/doxygen_use_brief_tag=false
+doxygen/doxygen_use_javadoc_tags=true
+doxygen/doxygen_use_pre_tag=false
+doxygen/doxygen_use_structural_commands=false
+eclipse.preferences.version=1
diff --git a/.settings/stm32cubeide.project.prefs b/.settings/stm32cubeide.project.prefs
new file mode 100755
index 0000000..e3e642d
--- /dev/null
+++ b/.settings/stm32cubeide.project.prefs
@@ -0,0 +1,5 @@
+2F62501ED4689FB349E356AB974DBE57=0A9B2D4C5DCB32842F05F53136A1D1D7
+66BE74F758C12D739921AEA421D593D3=1
+8DF89ED150041C4CBC7CB9A9CAA90856=0A9B2D4C5DCB32842F05F53136A1D1D7
+DC22A860405A8BF2F2C095E5B6529F12=283F84148D7B38E239E7ECD52C68B71F
+eclipse.preferences.version=1
diff --git a/CCSModuleSW30Web.ioc b/CCSModuleSW30Web.ioc
index c522e04..37aa60d 100755
--- a/CCSModuleSW30Web.ioc
+++ b/CCSModuleSW30Web.ioc
@@ -6,7 +6,7 @@ ADC1.Channel-3\#ChannelRegularConversion=ADC_CHANNEL_9
ADC1.Channel-4\#ChannelRegularConversion=ADC_CHANNEL_TEMPSENSOR
ADC1.Channel-5\#ChannelRegularConversion=ADC_CHANNEL_VREFINT
ADC1.ExternalTrigConv=ADC_EXTERNALTRIGCONV_T3_TRGO
-ADC1.IPParameters=Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,NbrOfConversionFlag,master,Rank-1\#ChannelRegularConversion,Channel-1\#ChannelRegularConversion,SamplingTime-1\#ChannelRegularConversion,Rank-2\#ChannelRegularConversion,Channel-2\#ChannelRegularConversion,SamplingTime-2\#ChannelRegularConversion,Rank-3\#ChannelRegularConversion,Channel-3\#ChannelRegularConversion,SamplingTime-3\#ChannelRegularConversion,Rank-4\#ChannelRegularConversion,Channel-4\#ChannelRegularConversion,SamplingTime-4\#ChannelRegularConversion,Rank-5\#ChannelRegularConversion,Channel-5\#ChannelRegularConversion,SamplingTime-5\#ChannelRegularConversion,NbrOfConversion,ExternalTrigConv
+ADC1.IPParameters=Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,NbrOfConversionFlag,Rank-1\#ChannelRegularConversion,Channel-1\#ChannelRegularConversion,SamplingTime-1\#ChannelRegularConversion,Rank-2\#ChannelRegularConversion,Channel-2\#ChannelRegularConversion,SamplingTime-2\#ChannelRegularConversion,Rank-3\#ChannelRegularConversion,Channel-3\#ChannelRegularConversion,SamplingTime-3\#ChannelRegularConversion,Rank-4\#ChannelRegularConversion,Channel-4\#ChannelRegularConversion,SamplingTime-4\#ChannelRegularConversion,Rank-5\#ChannelRegularConversion,Channel-5\#ChannelRegularConversion,SamplingTime-5\#ChannelRegularConversion,NbrOfConversion,ExternalTrigConv,master
ADC1.NbrOfConversion=6
ADC1.NbrOfConversionFlag=1
ADC1.Rank-0\#ChannelRegularConversion=1
@@ -143,46 +143,47 @@ Mcu.Pin25=PB11
Mcu.Pin26=PD13
Mcu.Pin27=PD14
Mcu.Pin28=PD15
-Mcu.Pin29=PA9
+Mcu.Pin29=PC9
Mcu.Pin3=OSC_OUT
-Mcu.Pin30=PA10
-Mcu.Pin31=PA13
-Mcu.Pin32=PA14
-Mcu.Pin33=PA15
-Mcu.Pin34=PC10
-Mcu.Pin35=PC11
-Mcu.Pin36=PC12
-Mcu.Pin37=PD0
-Mcu.Pin38=PD1
-Mcu.Pin39=PD2
+Mcu.Pin30=PA9
+Mcu.Pin31=PA10
+Mcu.Pin32=PA13
+Mcu.Pin33=PA14
+Mcu.Pin34=PA15
+Mcu.Pin35=PC10
+Mcu.Pin36=PC11
+Mcu.Pin37=PC12
+Mcu.Pin38=PD0
+Mcu.Pin39=PD1
Mcu.Pin4=PC2
-Mcu.Pin40=PD3
-Mcu.Pin41=PD4
-Mcu.Pin42=PD5
-Mcu.Pin43=PD6
-Mcu.Pin44=PD7
-Mcu.Pin45=PB3
-Mcu.Pin46=PB4
-Mcu.Pin47=PB5
-Mcu.Pin48=PB6
-Mcu.Pin49=PB7
+Mcu.Pin40=PD2
+Mcu.Pin41=PD3
+Mcu.Pin42=PD4
+Mcu.Pin43=PD5
+Mcu.Pin44=PD6
+Mcu.Pin45=PD7
+Mcu.Pin46=PB3
+Mcu.Pin47=PB4
+Mcu.Pin48=PB5
+Mcu.Pin49=PB6
Mcu.Pin5=PC3
-Mcu.Pin50=PB8
-Mcu.Pin51=PB9
-Mcu.Pin52=PE1
-Mcu.Pin53=VP_ADC1_TempSens_Input
-Mcu.Pin54=VP_ADC1_Vref_Input
-Mcu.Pin55=VP_CRC_VS_CRC
-Mcu.Pin56=VP_RTC_VS_RTC_Activate
-Mcu.Pin57=VP_SYS_VS_Systick
-Mcu.Pin58=VP_TIM3_VS_ClockSourceINT
-Mcu.Pin59=VP_TIM3_VS_no_output1
+Mcu.Pin50=PB7
+Mcu.Pin51=PB8
+Mcu.Pin52=PB9
+Mcu.Pin53=PE1
+Mcu.Pin54=VP_ADC1_TempSens_Input
+Mcu.Pin55=VP_ADC1_Vref_Input
+Mcu.Pin56=VP_CRC_VS_CRC
+Mcu.Pin57=VP_RTC_VS_RTC_Activate
+Mcu.Pin58=VP_SYS_VS_Systick
+Mcu.Pin59=VP_TIM3_VS_ClockSourceINT
Mcu.Pin6=PA1
-Mcu.Pin60=VP_TIM4_VS_ClockSourceINT
+Mcu.Pin60=VP_TIM3_VS_no_output1
+Mcu.Pin61=VP_TIM4_VS_ClockSourceINT
Mcu.Pin7=PA2
Mcu.Pin8=PA3
Mcu.Pin9=PA4
-Mcu.PinsNb=61
+Mcu.PinsNb=62
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32F107VCTx
@@ -306,6 +307,8 @@ PC10.Signal=USART3_TX
PC11.Locked=true
PC11.Mode=Asynchronous
PC11.Signal=USART3_RX
+PC12.GPIOParameters=GPIO_Label
+PC12.GPIO_Label=HEATER
PC12.Mode=Asynchronous
PC12.Signal=UART5_TX
PC14-OSC32_IN.Mode=LSE-External-Oscillator
@@ -329,6 +332,10 @@ PC5.GPIOParameters=GPIO_Label
PC5.GPIO_Label=LOCK_B
PC5.Locked=true
PC5.Signal=GPIO_Output
+PC9.GPIOParameters=GPIO_Label
+PC9.GPIO_Label=LED_DATA
+PC9.Locked=true
+PC9.Signal=GPIO_Output
PD0.Locked=true
PD0.Mode=CAN_Activate
PD0.Signal=CAN1_RX
diff --git a/Core/Inc/adc.h b/Core/Inc/adc.h
index a49c956..fb59336 100644
--- a/Core/Inc/adc.h
+++ b/Core/Inc/adc.h
@@ -1,21 +1,5 @@
/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file adc.h
- * @brief This file contains all the function prototypes for
- * the adc.c file
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2024 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
+
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __ADC_H__
diff --git a/Core/Inc/board.h b/Core/Inc/board.h
index c66e955..bef73f4 100755
--- a/Core/Inc/board.h
+++ b/Core/Inc/board.h
@@ -1,14 +1,6 @@
-/*
- * board.h
- *
- * Created on: Apr 15, 2024
- * Author: colorbass
- */
+#pragma once
-#ifndef SRC_BOARD_H_
-#define SRC_BOARD_H_
-
-void GBT_Lock(uint8_t state);
+#include
typedef enum{
RELAY_AUX0 = 0,
@@ -24,6 +16,7 @@ typedef enum{
} relay_t;
void RELAY_Write(relay_t num, uint8_t state);
+uint8_t RELAY_Read(relay_t num);
void Init_Peripheral();
uint8_t GBT_LockGetState();
void GBT_Lock(uint8_t state);
@@ -60,6 +53,3 @@ typedef struct __attribute__((packed)) {
} InfoBlock_t;
extern InfoBlock_t *InfoBlock;
-
-
-#endif /* SRC_BOARD_H_ */
diff --git a/Core/Inc/can.h b/Core/Inc/can.h
old mode 100755
new mode 100644
index 5f9c899..a013813
--- a/Core/Inc/can.h
+++ b/Core/Inc/can.h
@@ -1,21 +1,5 @@
/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file can.h
- * @brief This file contains all the function prototypes for
- * the can.c file
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2024 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
+
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __CAN_H__
diff --git a/Core/Inc/charger_config.h b/Core/Inc/charger_config.h
index ee4b12b..1fe424b 100755
--- a/Core/Inc/charger_config.h
+++ b/Core/Inc/charger_config.h
@@ -5,9 +5,11 @@
#define PSU_MIN_VOLTAGE 150 //1V/bit
#define PSU_MAX_CURRENT 133 //1A/bit
#define PSU_MIN_CURRENT 1 //1A/bit
-#define PSU_MAX_POWER 30000 //1W/bit
+#define PSU_MAX_POWER 40000 //1W/bit
#define PSU_NUM 1
-#define GBT_CH_VER_MAJOR 1
-#define GBT_CH_VER_MINOR 0
\ No newline at end of file
+/* Everest / стенд: запрос «500 В» на шине — реально на PSU задаются U/I ниже; статус может оставаться 500 В (serial.c). */
+#define FAKE_EVREQ_VOLTAGE_V 500u
+#define FAKE_PSU_VOLTAGE_V 300u
+#define FAKE_PSU_CURRENT_0P1A 10u
diff --git a/Core/Inc/charger_control.h b/Core/Inc/charger_control.h
index ce2dc45..7527f28 100755
--- a/Core/Inc/charger_control.h
+++ b/Core/Inc/charger_control.h
@@ -1,12 +1,4 @@
-/*
- * charger_control.h
- *
- * Created on: Jul 29, 2024
- * Author: colorbass
- */
-
-#ifndef INC_CHARGER_CONTROL_H_
-#define INC_CHARGER_CONTROL_H_
+#pragma once
#include "main.h"
@@ -84,16 +76,6 @@ typedef struct{
extern ChargingConnector_t CONN;
-//информация о зарядке
-
-//база данных с хранением инфы
-//главный блок хранит в себе инфу о конфиге возможно во флеше
-//либо в charger_config.h
-//OCPP - универсальный блок типа
void CONN_Init();
void CONN_Loop();
-
-void CONN_PrintChargingTotal();
-
-#endif /* INC_CHARGER_CONTROL_H_ */
diff --git a/Core/Inc/connector.h b/Core/Inc/connector.h
index 55bafe8..c3b501c 100755
--- a/Core/Inc/connector.h
+++ b/Core/Inc/connector.h
@@ -1,12 +1,4 @@
-/*
- * connector.h
- *
- * Created on: Jul 31, 2024
- * Author: colorbass
- */
-
-#ifndef INC_CONNECTOR_H_
-#define INC_CONNECTOR_H_
+#pragma once
#include "main.h"
#include "charger_control.h"
@@ -15,7 +7,4 @@
extern CONN_State_t connectorState;
void CONN_Init();
-void CONN_Task();
void CONN_SetState(CONN_State_t state);
-
-#endif /* INC_CONNECTOR_H_ */
diff --git a/Core/Inc/cp.h b/Core/Inc/cp.h
index bfb13b9..9c69158 100644
--- a/Core/Inc/cp.h
+++ b/Core/Inc/cp.h
@@ -1,5 +1,4 @@
-#ifndef __CP_H
-#define __CP_H
+#pragma once
#include "main.h"
#include
@@ -27,5 +26,3 @@ CP_State_t CP_GetFilteredState(void);
void CP_FilterState(void);
void CP_Loop(void);
-#endif
-
diff --git a/Core/Inc/crc.h b/Core/Inc/crc.h
index fd3b26e..05bc977 100644
--- a/Core/Inc/crc.h
+++ b/Core/Inc/crc.h
@@ -1,21 +1,5 @@
/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file crc.h
- * @brief This file contains all the function prototypes for
- * the crc.c file
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2025 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
+
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __CRC_H__
diff --git a/Core/Inc/debug.h b/Core/Inc/debug.h
index e4aa92a..54244ad 100755
--- a/Core/Inc/debug.h
+++ b/Core/Inc/debug.h
@@ -1,12 +1,4 @@
-/*
- * debug.h
- *
- * Created on: Apr 16, 2024
- * Author: colorbass
- */
-
-#ifndef SRC_DEBUG_H_
-#define SRC_DEBUG_H_
+#pragma once
#include
#include
@@ -30,5 +22,3 @@ void debug_buffer_send(void);
// Кастомный printf с приоритетом лога
int log_printf(LogLevel_t level, const char *format, ...);
-
-#endif /* SRC_DEBUG_H_ */
diff --git a/Core/Inc/dma.h b/Core/Inc/dma.h
index cbf3957..bb3d571 100644
--- a/Core/Inc/dma.h
+++ b/Core/Inc/dma.h
@@ -1,21 +1,5 @@
/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file dma.h
- * @brief This file contains all the function prototypes for
- * the dma.c file
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2026 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
+
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __DMA_H__
diff --git a/Core/Inc/gpio.h b/Core/Inc/gpio.h
old mode 100755
new mode 100644
index e55ab97..772662f
--- a/Core/Inc/gpio.h
+++ b/Core/Inc/gpio.h
@@ -1,21 +1,5 @@
/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file gpio.h
- * @brief This file contains all the function prototypes for
- * the gpio.c file
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2024 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
+
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __GPIO_H__
diff --git a/Core/Inc/isr_opt.h b/Core/Inc/isr_opt.h
index a9582fe..c185f8b 100644
--- a/Core/Inc/isr_opt.h
+++ b/Core/Inc/isr_opt.h
@@ -1,5 +1,4 @@
-#ifndef ISR_OPT_H
-#define ISR_OPT_H
+#pragma once
/* GCC: быстрые функции, вызываемые из IRQ / из HAL из IRQ-контекста */
#if defined(__GNUC__)
@@ -7,5 +6,3 @@
#else
#define ISR_FAST
#endif
-
-#endif /* ISR_OPT_H */
diff --git a/Core/Inc/main.h b/Core/Inc/main.h
index 604af86..33a2b9a 100644
--- a/Core/Inc/main.h
+++ b/Core/Inc/main.h
@@ -1,21 +1,5 @@
/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file : main.h
- * @brief : Header for main.c file.
- * This file contains the common defines of the application.
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2024 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
+
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
@@ -55,6 +39,8 @@ extern "C" {
void Error_Handler(void);
/* USER CODE BEGIN EFP */
+uint8_t ED_TraceWarning(uint8_t flag, uint8_t id);
+void ED_Delay(uint32_t Delay);
/* USER CODE END EFP */
@@ -101,8 +87,12 @@ void Error_Handler(void);
#define DBG5_GPIO_Port GPIOB
#define DBG4_Pin GPIO_PIN_11
#define DBG4_GPIO_Port GPIOB
+#define LED_DATA_Pin GPIO_PIN_9
+#define LED_DATA_GPIO_Port GPIOC
#define RELAY_CC_Pin GPIO_PIN_15
#define RELAY_CC_GPIO_Port GPIOA
+#define HEATER_Pin GPIO_PIN_12
+#define HEATER_GPIO_Port GPIOC
#define RELAY_DC_Pin GPIO_PIN_3
#define RELAY_DC_GPIO_Port GPIOD
#define USART2_DIR_Pin GPIO_PIN_4
diff --git a/Core/Inc/meter.h b/Core/Inc/meter.h
index ab283f3..d3d1be8 100755
--- a/Core/Inc/meter.h
+++ b/Core/Inc/meter.h
@@ -1,25 +1,15 @@
-/*
- * psu_struct.h
- *
- * Created on: Jul 24, 2024
- * Author: colorbass
- */
-
-#ifndef INC_METER_H_
-#define INC_METER_H_
+#pragma once
#include "main.h"
#include "charger_config.h"
typedef struct {
- uint32_t meterLastTick; // Время последнего пакета Alive
uint8_t online;
uint32_t lastTick; // Время последнего вызова для каждого коннектора
uint64_t EnergyPSU_Ws; // Энергия для каждого коннектора (расчет по силовым модулям)
uint32_t AbsoluteEnergy; // Абсолютная энергия каждого счетчика (ватт*час)
uint32_t EnergyOffset; // смещение энергии по счетчикам (если 0, значит не успели захватить Offset) (ватт*час)
- uint32_t EnergyOffset1; // смещение энергии по счетчикам относительно PSU
uint8_t enable; //если 0, то счетчик обнуляется
}METER_t;
@@ -27,5 +17,3 @@ typedef struct {
extern METER_t METER;
void METER_CalculateEnergy();
-
-#endif /* INC_METER_H_ */
diff --git a/Core/Inc/psu_control.h b/Core/Inc/psu_control.h
index 155e64e..301c135 100755
--- a/Core/Inc/psu_control.h
+++ b/Core/Inc/psu_control.h
@@ -1,20 +1,11 @@
-/*
- * ccs_control.h
- *
- * Created on: 19 авг. 2024 г.
- * Author: colorbass
- */
-
-#ifndef INC_PSU_CONTROL_H_
-#define INC_PSU_CONTROL_H_
+#pragma once
#include "main.h"
#include "charger_config.h"
void PSU_Init();
void PSU_Enable(uint8_t addr, uint8_t enable);
-void PSU_Loop();
-void CONT_Loop();
+void PSU_ReadWrite(void);
// --- Состояние силового модуля (DC30, один PSU) ---
@@ -191,7 +182,3 @@ extern PSU_1B_t PSU_1B;
extern PSU_1C_t PSU_1C;
#pragma pack(pop)
-
-
-
-#endif /* INC_PSU_CONTROL_H_ */
diff --git a/Core/Inc/rgb_controller.h b/Core/Inc/rgb_controller.h
index 3bb8c9d..de60fa2 100755
--- a/Core/Inc/rgb_controller.h
+++ b/Core/Inc/rgb_controller.h
@@ -1,12 +1,4 @@
-/*
- * rgb_handler.h
- *
- * Created on: Jul 25, 2024
- * Author: colorbass
- */
-
-#ifndef INC_RGB_CONTROLLER_H_
-#define INC_RGB_CONTROLLER_H_
+#pragma once
#include "main.h"
@@ -48,6 +40,4 @@ typedef struct{
void LED_Task();
void LED_Write();
void LED_Init();
-
-
-#endif /* INC_RGB_CONTROLLER_H_ */
+void LED_SetColor(RGB_Cycle_t *color);
diff --git a/Core/Inc/rtc.h b/Core/Inc/rtc.h
old mode 100755
new mode 100644
index b2ae378..c55387d
--- a/Core/Inc/rtc.h
+++ b/Core/Inc/rtc.h
@@ -1,21 +1,5 @@
/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file rtc.h
- * @brief This file contains all the function prototypes for
- * the rtc.c file
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2024 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
+
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __RTC_H__
diff --git a/Core/Inc/serial.h b/Core/Inc/serial.h
index 89429c0..49e8e4e 100644
--- a/Core/Inc/serial.h
+++ b/Core/Inc/serial.h
@@ -1,5 +1,4 @@
-#ifndef __SERIAL_H
-#define __SERIAL_H
+#pragma once
#include "main.h"
#include "charger_control.h"
@@ -125,6 +124,3 @@ extern CCS_MaxLoad_t CCS_MaxLoad;
extern CCS_EvInfo_t CCS_EvInfo;
extern CONN_State_t CCS_EvseState;
extern uint8_t REPLUG;
-
-#endif
-
diff --git a/Core/Inc/serial_control.h b/Core/Inc/serial_control.h
index c7dd335..3a57527 100644
--- a/Core/Inc/serial_control.h
+++ b/Core/Inc/serial_control.h
@@ -1,13 +1,10 @@
-#ifndef SERIALCONTROL_H
-#define SERIALCONTROL_H
+#pragma once
#include "main.h"
#include
#include "charger_control.h"
#include "isr_opt.h"
-#define USE_WEB_INTERFACE
-
// Команды от ПК к устройству
// Пакет статуса изоляции от отдельного блока по одностороннему UART
#define CMD_ISOLATION_STATUS 0x01
@@ -182,5 +179,3 @@ extern StatusPacket_t statusPacket;
extern InfoPacket_t infoPacket;
extern IsolationStatusPacket_t ISO;
extern volatile SC_Source_t g_sc_command_source;
-
-#endif // SERIALCONTROL_H
diff --git a/Core/Inc/sma_filter.h b/Core/Inc/sma_filter.h
index aaa8464..ad259e2 100644
--- a/Core/Inc/sma_filter.h
+++ b/Core/Inc/sma_filter.h
@@ -1,5 +1,4 @@
-#ifndef SMA_FILTER_H
-#define SMA_FILTER_H
+#pragma once
#include
@@ -18,6 +17,3 @@ typedef struct {
void SMAFilter_Init(SMAFilter_t* f);
int32_t SMAFilter_Update(SMAFilter_t* f, int32_t x);
-
-#endif // SMA_FILTER_H
-
diff --git a/Core/Inc/soft_rtc.h b/Core/Inc/soft_rtc.h
index 72e048a..3aafe92 100755
--- a/Core/Inc/soft_rtc.h
+++ b/Core/Inc/soft_rtc.h
@@ -1,12 +1,4 @@
-/*
- * soft_rtc.h
- *
- * Created on: Jul 22, 2024
- * Author: colorbass
- */
-
-#ifndef INC_SOFT_RTC_H_
-#define INC_SOFT_RTC_H_
+#pragma once
#include "main.h"
@@ -15,5 +7,3 @@ void set_Time(uint32_t unix_time);
void unix_to_bcd(uint32_t unix_time, uint8_t *time);
void writeTimeReg(uint8_t reg_number, uint8_t value);
uint8_t getTimeReg(uint8_t reg_number);
-
-#endif /* INC_SOFT_RTC_H_ */
diff --git a/Core/Inc/stm32f1xx_hal_conf.h b/Core/Inc/stm32f1xx_hal_conf.h
index f290d4a..c825409 100644
--- a/Core/Inc/stm32f1xx_hal_conf.h
+++ b/Core/Inc/stm32f1xx_hal_conf.h
@@ -1,20 +1,5 @@
/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file stm32f1xx_hal_conf.h
- * @brief HAL configuration file.
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2017 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
+
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
diff --git a/Core/Inc/stm32f1xx_it.h b/Core/Inc/stm32f1xx_it.h
index 7a6622e..daaf675 100644
--- a/Core/Inc/stm32f1xx_it.h
+++ b/Core/Inc/stm32f1xx_it.h
@@ -1,20 +1,5 @@
/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file stm32f1xx_it.h
- * @brief This file contains the headers of the interrupt handlers.
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2024 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
+
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
diff --git a/Core/Inc/tim.h b/Core/Inc/tim.h
index de93f98..207f616 100644
--- a/Core/Inc/tim.h
+++ b/Core/Inc/tim.h
@@ -1,21 +1,5 @@
/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file tim.h
- * @brief This file contains all the function prototypes for
- * the tim.c file
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2025 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
+
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __TIM_H__
diff --git a/Core/Inc/usart.h b/Core/Inc/usart.h
index 67e16d8..b17ff56 100644
--- a/Core/Inc/usart.h
+++ b/Core/Inc/usart.h
@@ -1,21 +1,5 @@
/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file usart.h
- * @brief This file contains all the function prototypes for
- * the usart.c file
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2025 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
+
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __USART_H__
diff --git a/Core/Src/adc.c b/Core/Src/adc.c
index 042dbd7..9a3c883 100644
--- a/Core/Src/adc.c
+++ b/Core/Src/adc.c
@@ -1,21 +1,5 @@
/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file adc.c
- * @brief This file provides code for the configuration
- * of the ADC instances.
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2024 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
+
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "adc.h"
diff --git a/Core/Src/board.c b/Core/Src/board.c
index 67bf226..c03421e 100755
--- a/Core/Src/board.c
+++ b/Core/Src/board.c
@@ -1,13 +1,9 @@
-
-#include "main.h"
#include "board.h"
-#include "adc.h"
-#include "tim.h"
-#include "sma_filter.h"
-//TODO:
-//TEMP READ
-// Connector temperature sensors
+#include "adc.h"
+#include "main.h"
+#include "sma_filter.h"
+#include "tim.h"
InfoBlock_t *InfoBlock = (InfoBlock_t *)(VERSION_OFFSET);
@@ -74,19 +70,31 @@ uint8_t IN_ReadInput(inputNum_t input_n){
}
}
-uint8_t GetBoardTemp(){
- //TODO
-// HAL_ADC_Start(&hadc1); // start the adc
-//
-// HAL_ADC_PollForConversion(&hadc1, 100); // poll for conversion
-//
-// adc_val = HAL_ADC_GetValue(&hadc1); // get the adc value
-//
-// HAL_ADC_Stop(&hadc1); // stop adc
+/* Заглушка: температура платы не измеряется (нет реализации АЦП для канала). */
+uint8_t GetBoardTemp(void){
return 0;
}
+/**
+ * @brief Force PC12 (HEATER) as GPIO output via CRH/ODR, overriding UART5 MspInit.
+ * CubeMX assigns PC12 to UART5_TX; on the board it drives the heater relay.
+ */
+static void Heater_PinForceOutput(void)
+{
+ const uint32_t pin_cfg = GPIO_SPEED_FREQ_LOW; /* MODE=10, CNF=00: GP output PP, 2 MHz */
+
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+
+ MODIFY_REG(HEATER_GPIO_Port->CRH,
+ (GPIO_CRH_MODE12 | GPIO_CRH_CNF12),
+ (pin_cfg << GPIO_CRH_MODE12_Pos));
+
+ HEATER_GPIO_Port->BSRR = (uint32_t)HEATER_Pin << 16U;
+}
+
void Init_Peripheral(){
+ Heater_PinForceOutput();
+ HAL_GPIO_WritePin(HEATER_GPIO_Port, HEATER_Pin, GPIO_PIN_RESET);
HAL_ADCEx_Calibration_Start(&hadc1);
ADC_ScanStart();
@@ -138,7 +146,6 @@ int16_t CONN_ReadTemp(uint8_t ch){
return 20; //Термодатчик не подключен
}
-// int adc_value = 2048; // Пример значения АЦП
float Vref = 3.3; // Напряжение опорное
float Vin = 5.0; // Входное напряжение
float R = 1000; // Сопротивление резистора в Омах
diff --git a/Core/Src/can.c b/Core/Src/can.c
index 7eb7e86..39e0999 100644
--- a/Core/Src/can.c
+++ b/Core/Src/can.c
@@ -1,21 +1,5 @@
/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file can.c
- * @brief This file provides code for the configuration
- * of the CAN instances.
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2025 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
+
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "can.h"
diff --git a/Core/Src/charger_control.c b/Core/Src/charger_control.c
index 0b81eb7..7064237 100644
--- a/Core/Src/charger_control.c
+++ b/Core/Src/charger_control.c
@@ -1,14 +1,12 @@
-
#include "charger_control.h"
+
#include "charger_config.h"
-#include "psu_control.h"
-#include "connector.h"
#include "debug.h"
#include "fire_alarm.h"
+#include "psu_control.h"
ChargingConnector_t CONN;
CONN_State_t connectorState;
-extern uint8_t config_initialized;
void CONN_Init(){
@@ -36,24 +34,16 @@ void CONN_Loop(){
CONN.chargingError = CONN_ERR_CONTACTOR;
} else if(PSU0.psu_fault){
CONN.chargingError = CONN_ERR_PSU_FAULT;
- // } else if(!CTRL.ac_ok) {
- // CONN.chargingError = CONN_ERR_AC_FAULT;
- // } else
}else if (CONN.EvConnected == 0){
CONN.chargingError = CONN_NO_ERROR;
}
- if(ED_TraceWarning(CONN.chargingError, 0)) printf("CONN%d Error: %d\n", 0, CONN.chargingError);
+ if(ED_TraceWarning(CONN.chargingError, 0)) {
+ log_printf(LOG_WARN, "CONN0 Error: %d\n", (int)CONN.chargingError);
+ }
}
-void CONN_Task(){
- /* CCS state machine is handled in serial.c.
- * Keep this task lightweight for scheduler compatibility.
- */
- return;
-}
-
void CONN_SetState(CONN_State_t state){
if (connectorState == state) {
CONN.connState = state;
@@ -79,10 +69,3 @@ void CONN_SetState(CONN_State_t state){
CONN.connState = state;
}
-
-void CONN_PrintChargingTotal(){
- printf("CONN%d Charging Finished:\n", 0);
-// printf("Charging Time: %d\n", CONN.chargingTime);
- printf("Charging Energy: %d\n", CONN.Energy);
-// printf("Charging Power: %d\n", CONN.chargingPower);
-}
diff --git a/Core/Src/cp.c b/Core/Src/cp.c
index d2fe71d..6cdff56 100644
--- a/Core/Src/cp.c
+++ b/Core/Src/cp.c
@@ -1,4 +1,5 @@
#include "cp.h"
+
#include "adc.h"
#include "board.h"
#include "debug.h"
diff --git a/Core/Src/crc.c b/Core/Src/crc.c
index 6001d12..83e93cf 100644
--- a/Core/Src/crc.c
+++ b/Core/Src/crc.c
@@ -1,21 +1,5 @@
/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file crc.c
- * @brief This file provides code for the configuration
- * of the CRC instances.
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2025 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
+
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "crc.h"
diff --git a/Core/Src/debug.c b/Core/Src/debug.c
index 3c2fc55..cb4216a 100755
--- a/Core/Src/debug.c
+++ b/Core/Src/debug.c
@@ -1,21 +1,14 @@
-/*
- * debug.c
- *
- * Created on: Apr 16, 2024
- * Author: colorbass
- */
-
#include "main.h"
+#include "board.h"
+#include "connector.h"
+#include "debug.h"
+#include "serial_control.h"
+#include "usart.h"
+#include
+#include
#include
#include
-#include
-#include
-#include "debug.h"
-#include "board.h"
-#include "usart.h"
#include
-#include
-#include "serial_control.h"
// Кольцевой буфер для отладочных сообщений
#define DEBUG_BUFFER_SIZE 1024
diff --git a/Core/Src/dma.c b/Core/Src/dma.c
index f9a6085..4dfb306 100644
--- a/Core/Src/dma.c
+++ b/Core/Src/dma.c
@@ -1,21 +1,5 @@
/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file dma.c
- * @brief This file provides code for the configuration
- * of all the requested memory to memory DMA transfers.
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2026 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
+
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
diff --git a/Core/Src/gpio.c b/Core/Src/gpio.c
index 1dceea9..b190b76 100644
--- a/Core/Src/gpio.c
+++ b/Core/Src/gpio.c
@@ -1,21 +1,5 @@
/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file gpio.c
- * @brief This file provides code for the configuration
- * of all used GPIO pins.
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2024 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
+
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -54,7 +38,8 @@ void MX_GPIO_Init(void)
__HAL_RCC_GPIOD_CLK_ENABLE();
/*Configure GPIO pin Output Level */
- HAL_GPIO_WritePin(GPIOC, DBG1_Pin|RELAY_CP_Pin|LOCK_A_Pin|LOCK_B_Pin, GPIO_PIN_RESET);
+ HAL_GPIO_WritePin(GPIOC, DBG1_Pin|RELAY_CP_Pin|LOCK_A_Pin|LOCK_B_Pin
+ |LED_DATA_Pin, GPIO_PIN_RESET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOA, DBG2_Pin|DBG3_Pin|RELAY_CC_Pin, GPIO_PIN_RESET);
@@ -76,8 +61,8 @@ void MX_GPIO_Init(void)
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(DBG1_GPIO_Port, &GPIO_InitStruct);
- /*Configure GPIO pins : RELAY_CP_Pin LOCK_A_Pin LOCK_B_Pin */
- GPIO_InitStruct.Pin = RELAY_CP_Pin|LOCK_A_Pin|LOCK_B_Pin;
+ /*Configure GPIO pins : RELAY_CP_Pin LOCK_A_Pin LOCK_B_Pin LED_DATA_Pin */
+ GPIO_InitStruct.Pin = RELAY_CP_Pin|LOCK_A_Pin|LOCK_B_Pin|LED_DATA_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
diff --git a/Core/Src/main.c b/Core/Src/main.c
index 8ae3aa8..da10c2b 100644
--- a/Core/Src/main.c
+++ b/Core/Src/main.c
@@ -1,4 +1,5 @@
/* USER CODE BEGIN Header */
+
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
@@ -13,15 +14,17 @@
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
-#include "can.h"
#include "board.h"
-#include
-#include "debug.h"
-#include "soft_rtc.h"
-#include "connector.h"
-#include "serial_control.h"
#include "charger_config.h"
+#include "connector.h"
+#include "debug.h"
+#include "meter.h"
+#include "psu_control.h"
+#include "rgb_controller.h"
#include "serial.h"
+#include "serial_control.h"
+#include "soft_rtc.h"
+#include
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
@@ -53,6 +56,7 @@ void SystemClock_Config(void);
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
+static void StopButtonControl(void);
/**
* @brief Vector base address configuration. It should no longer be at the start of
@@ -99,13 +103,12 @@ void ED_Delay(uint32_t Delay)
CCS_SerialLoop();
StopButtonControl();
CP_Loop();
- CONN_Task();
LED_Task();
SC_Task();
}
}
-void StopButtonControl(){
+static void StopButtonControl(void){
static uint32_t tick;
static uint32_t hold_time;
static uint8_t stop_btn_fault = 1;
@@ -146,8 +149,6 @@ void StopButtonControl(){
}
}
-uint8_t temp0, temp1;
-
static void CAN1_MinimalReInit(void)
{
HAL_CAN_Stop(&hcan1);
diff --git a/Core/Src/meter.c b/Core/Src/meter.c
index d02446f..12c3f1b 100755
--- a/Core/Src/meter.c
+++ b/Core/Src/meter.c
@@ -1,13 +1,5 @@
-/*
- * meter.c
- *
- * Created on: 27 сент. 2024 г.
- * Author: root
- */
-
-
#include "meter.h"
-#include "charger_config.h"
+
#include "charger_control.h"
diff --git a/Core/Src/psu_control.c b/Core/Src/psu_control.c
index c15e69e..7d281c4 100755
--- a/Core/Src/psu_control.c
+++ b/Core/Src/psu_control.c
@@ -1,14 +1,13 @@
+#include "psu_control.h"
-#include
-
+#include "board.h"
#include "can.h"
-#include "string.h"
-#include "stdio.h"
#include "charger_config.h"
#include "charger_control.h"
-#include "board.h"
#include "debug.h"
#include "isr_opt.h"
+#include
+#include
PSU_02_t PSU_02;
PSU_04_t PSU_04;
@@ -31,6 +30,8 @@ uint32_t can_lastpacket;
extern CAN_HandleTypeDef hcan2;
+static void PSU_SendCmd(uint8_t source, uint8_t destination, uint8_t cmd, void *data);
+
static void PSU_SwitchState(PSU_State_t state){
PSU0.state = state;
PSU0.statetick = HAL_GetTick();
@@ -227,7 +228,6 @@ void PSU_SendCmd(uint8_t source, uint8_t destination, uint8_t cmd, void *data){
/* если отправка удалась, выход */
if(CAN_result == HAL_OK) {
return;
- retry_counter = 0;
}
}
ED_Delay(1);
@@ -237,11 +237,6 @@ void PSU_SendCmd(uint8_t source, uint8_t destination, uint8_t cmd, void *data){
}
-uint32_t max(uint32_t a, uint32_t b){
- if(a>b) return a;
- else return b;
-}
-
void PSU_ReadWrite(){
uint8_t zero_data[8] = {0,0,0,0,0,0,0,0};
@@ -264,8 +259,8 @@ void PSU_ReadWrite(){
CONN.RequestedPower = CONN.RequestedCurrent * CONN.RequestedVoltage / 10;
if(PSU0.ready){
- if (CONN.RequestedVoltage == 500) { // fake
- PSU_SetVoltageCurrent(0, 300, 10); // Normal mode
+ if (CONN.RequestedVoltage == FAKE_EVREQ_VOLTAGE_V) {
+ PSU_SetVoltageCurrent(0, (uint16_t)FAKE_PSU_VOLTAGE_V, (uint16_t)FAKE_PSU_CURRENT_0P1A);
}else{
PSU_SetVoltageCurrent(0, CONN.RequestedVoltage, CONN.RequestedCurrent); // Normal mode
}
@@ -288,7 +283,6 @@ void PSU_ReadWrite(){
void PSU_Task(void){
static uint32_t psu_on_tick = 0;
- static uint32_t dc_on_tick = 0;
static uint32_t cont_ok_tick = 0;
// Обновляем ONLINE/READY по таймауту
@@ -368,7 +362,6 @@ void PSU_Task(void){
case PSU_WAIT_ACK_ON:
if(PSU0.PSU_enabled && PSU0.ready){
- dc_on_tick = HAL_GetTick();
PSU_SwitchState(PSU_CONT_WAIT_ACK_ON);
}else if(PSU_StateTime() > 10000){
PSU0.psu_fault = 1;
diff --git a/Core/Src/rgb_controller.c b/Core/Src/rgb_controller.c
index 0744e87..7d67734 100644
--- a/Core/Src/rgb_controller.c
+++ b/Core/Src/rgb_controller.c
@@ -1,11 +1,11 @@
#include "rgb_controller.h"
+
+#include "board.h"
+#include "charger_control.h"
#include "fire_alarm.h"
#include "main.h"
-#include "string.h"
-#include "charger_control.h"
-#include "board.h"
-
#include "tim.h"
+#include
RGB_State_t LED_State;
RGB_Cycle_t LED_Cycle;
@@ -203,36 +203,11 @@ void LED_Init(){
RGB_SetColor(&color);
}
-// void LED_PhaseSync(uint8_t led_n){
-// if(LED_State[led_n].phasesync){
-// LED_State[led_n].phasesync = 0;
-// //default settings
-// LED_State[led_n].state = LED_HIGH;
-// LED_State[led_n].tick = 0;
-// //ищем среди всех светодиодов такую же последовательность
-// for (uint8_t led_n1 = 0; led_n1 < 5; led_n1++){
-// if ((LED_Cycle[led_n].Tf == LED_Cycle[led_n1].Tf) &&
-// (LED_Cycle[led_n].Tr == LED_Cycle[led_n1].Tr) &&
-// (LED_Cycle[led_n].Th == LED_Cycle[led_n1].Th) &&
-// (LED_Cycle[led_n].Tl == LED_Cycle[led_n1].Tl) &&
-// (led_n != led_n1)){
-// //если нашли, то копируем фазу оттуда
-// LED_State[led_n].state = LED_State[led_n1].state;
-// LED_State[led_n].tick = LED_State[led_n1].tick;
-// return;
-
-
-// }
-// }
-// }
-// }
-
void LED_Task(){
static uint32_t led_tick;
if((HAL_GetTick() - led_tick) > 20){
led_tick = HAL_GetTick();
LED_State.tick++;
- // LED_PhaseSync(led_n);
switch(LED_State.state){
case LED_RISING:
interpolateColors(&LED_Cycle.Color2, &LED_Cycle.Color1, LED_State.tick, LED_Cycle.Tr, &LED_State.color);
diff --git a/Core/Src/serial.c b/Core/Src/serial.c
index 3b91e8a..bdef204 100644
--- a/Core/Src/serial.c
+++ b/Core/Src/serial.c
@@ -1,15 +1,16 @@
#include "serial.h"
-#include "cp.h"
-#include "connector.h"
+
#include "board.h"
+#include "charger_config.h"
+#include "connector.h"
+#include "cp.h"
#include "debug.h"
#include "isr_opt.h"
-#include
-#include
-#include "charger_config.h"
+#include "fire_alarm.h"
#include "psu_control.h"
#include "serial_control.h"
-#include "fire_alarm.h"
+#include
+#include
extern UART_HandleTypeDef huart3;
extern uint8_t config_initialized;
@@ -29,15 +30,9 @@ CONN_Control_t last_cmd = CMD_NONE;
uint8_t ev_enable_output = 0;
#define CMD_INTERVAL 10
-#define MAX_TX_BUFFER_SIZE 256
-#define MAX_RX_BUFFER_SIZE 256
#define EVEREST_TIMEOUT_WARN_MS 5000u
#define EVEREST_TIMEOUT_STOP_MS 10000u
#define UART3_REINIT_TIMEOUT_MS 1500u
-/* Everest requests 500 V -> PSU really gets 300 V / 1 A, state still reports 500 V. */
-#define FAKE_EVREQ_VOLTAGE_V 500u
-#define FAKE_PSU_VOLTAGE_V 300u
-#define FAKE_PSU_CURRENT_0P1A 10u
static uint8_t rx_buffer[MAX_RX_BUFFER_SIZE];
static uint8_t tx_buffer[MAX_TX_BUFFER_SIZE];
diff --git a/Core/Src/serial_control.c b/Core/Src/serial_control.c
index 13dbac0..621bc54 100644
--- a/Core/Src/serial_control.c
+++ b/Core/Src/serial_control.c
@@ -1,9 +1,10 @@
#include "serial_control.h"
-#include "usart.h"
+
#include "board.h"
-#include "serial.h"
#include "debug.h"
#include "isr_opt.h"
+#include "serial.h"
+#include "usart.h"
// Приватные функции
ISR_FAST static uint32_t calculate_crc32(const uint8_t* data, uint16_t length);
diff --git a/Core/Src/serial_handler.c b/Core/Src/serial_handler.c
index a186ced..ec55d65 100644
--- a/Core/Src/serial_handler.c
+++ b/Core/Src/serial_handler.c
@@ -1,15 +1,15 @@
#include "serial_control.h"
-#include "usart.h"
-#include "charger_control.h"
+
#include "board.h"
-#include "psu_control.h"
+#include "charger_control.h"
#include "debug.h"
#include "fire_alarm.h"
+#include "psu_control.h"
+#include "usart.h"
#include
-#ifdef USE_WEB_INTERFACE
-
extern volatile SC_Source_t g_sc_command_source;
+static void monitoring_data_callback(void);
IsolationStatusPacket_t ISO = {
.isolationResistance = 0xFFFF
@@ -133,7 +133,7 @@ void SC_CommandHandler(ReceivedCommand_t* cmd) {
// Колбэк для заполнения данных мониторинга
-void monitoring_data_callback() {
+static void monitoring_data_callback(void) {
// Информация о зарядной сессии
statusPacket.SOC = CONN.SOC;
@@ -213,4 +213,3 @@ void monitoring_data_callback() {
}
-#endif
diff --git a/Core/Src/soft_rtc.c b/Core/Src/soft_rtc.c
index 78260dc..49656f4 100755
--- a/Core/Src/soft_rtc.c
+++ b/Core/Src/soft_rtc.c
@@ -1,11 +1,4 @@
-/*
- * rtc.c
- *
- * Created on: Jul 22, 2024
- * Author: colorbass
- */
-
-#include
+#include "soft_rtc.h"
#include
#include
@@ -63,20 +56,7 @@ uint8_t getTimeReg(uint8_t reg_number){
}else{
return 0x00;
}
-};
-//int main() {
-// uint32_t unix_time = 1672531199; // Example Unix timestamp
-// uint8_t time[8];
-//
-// unix_to_bcd(unix_time, time);
-//
-// // Print the BCD values for verification
-// for (int i = 0; i < 8; i++) {
-// log_printf(LOG_INFO, "time[%d]: %02X\n", i, time[i]);
-// }
-//
-// return 0;
-//}
+}
/**
* @brief Read the time counter available in RTC_CNT registers.
diff --git a/Core/Src/stm32f1xx_hal_msp.c b/Core/Src/stm32f1xx_hal_msp.c
index 9dd9806..9f77fa8 100644
--- a/Core/Src/stm32f1xx_hal_msp.c
+++ b/Core/Src/stm32f1xx_hal_msp.c
@@ -1,21 +1,5 @@
/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file stm32f1xx_hal_msp.c
- * @brief This file provides code for the MSP Initialization
- * and de-Initialization codes.
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2024 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
+
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
diff --git a/Core/Src/stm32f1xx_it.c b/Core/Src/stm32f1xx_it.c
index 290b93c..3077598 100644
--- a/Core/Src/stm32f1xx_it.c
+++ b/Core/Src/stm32f1xx_it.c
@@ -1,20 +1,5 @@
/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file stm32f1xx_it.c
- * @brief Interrupt Service Routines.
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2024 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
+
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
diff --git a/Core/Src/tim.c b/Core/Src/tim.c
index 7d6f54d..ae0712e 100644
--- a/Core/Src/tim.c
+++ b/Core/Src/tim.c
@@ -1,21 +1,5 @@
/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file tim.c
- * @brief This file provides code for the configuration
- * of the TIM instances.
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2025 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
+
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "tim.h"
diff --git a/Core/Src/usart.c b/Core/Src/usart.c
index 83515e6..490430f 100644
--- a/Core/Src/usart.c
+++ b/Core/Src/usart.c
@@ -1,21 +1,5 @@
/* USER CODE BEGIN Header */
-/**
- ******************************************************************************
- * @file usart.c
- * @brief This file provides code for the configuration
- * of the USART instances.
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2025 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
+
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "usart.h"
@@ -167,10 +151,10 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
PC12 ------> UART5_TX
PD2 ------> UART5_RX
*/
- GPIO_InitStruct.Pin = GPIO_PIN_12;
+ GPIO_InitStruct.Pin = HEATER_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
- HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
+ HAL_GPIO_Init(HEATER_GPIO_Port, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_2;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
@@ -361,7 +345,7 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
PC12 ------> UART5_TX
PD2 ------> UART5_RX
*/
- HAL_GPIO_DeInit(GPIOC, GPIO_PIN_12);
+ HAL_GPIO_DeInit(HEATER_GPIO_Port, HEATER_Pin);
HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2);
diff --git a/Debug/.DS_Store b/Debug/.DS_Store
index 5ef3f6d..373163e 100644
Binary files a/Debug/.DS_Store and b/Debug/.DS_Store differ
diff --git a/Debug/CCSModuleSW30Web.bin b/Debug/CCSModuleSW30Web.bin
index 0fbd4d5..f7c0597 100755
Binary files a/Debug/CCSModuleSW30Web.bin and b/Debug/CCSModuleSW30Web.bin differ
diff --git a/Debug/CCSModuleSW30Web.elf b/Debug/CCSModuleSW30Web.elf
new file mode 100755
index 0000000..b98aac0
Binary files /dev/null and b/Debug/CCSModuleSW30Web.elf differ
diff --git a/Debug/CCSModuleSW30Web.hex b/Debug/CCSModuleSW30Web.hex
new file mode 100644
index 0000000..5b26e56
--- /dev/null
+++ b/Debug/CCSModuleSW30Web.hex
@@ -0,0 +1,4091 @@
+:020000040800F2
+:10800000000001203DE2000821D6000825D6000826
+:1080100029D600082DD6000831D60008000000003F
+:1080200000000000000000000000000035D600083D
+:1080300039D60008000000003DD6000841D60008EF
+:1080400085E2000885E2000885E2000885E2000874
+:1080500085E2000885E2000885E2000885E2000864
+:1080600085E2000885E2000885E2000845D60008A0
+:1080700075D6000881D6000885E2000885E2000870
+:108080008DD6000899D60008A5D6000885E200081C
+:10809000D5D6000885E2000885E2000885E20008E0
+:1080A00085E2000885E2000885E2000885E2000814
+:1080B00085E2000805D7000885E2000885E200088F
+:1080C00085E2000885E2000885E2000885E20008F4
+:1080D00085E2000835D7000841D700086DD70008B1
+:1080E00085E2000885E2000885E200080000000043
+:1080F0000000000000000000000000000000000080
+:10810000000000000000000085E2000885E2000891
+:1081100085E2000899D7000885E2000885E200089A
+:1081200085E2000885E2000885E2000885E2000893
+:1081300085E2000885E2000885E20008C5D700084E
+:1081400085E20008F5D7000885E2000885E200080E
+:10815000000000000000000000000000000000001F
+:10816000000000000000000000000000000000000F
+:1081700000000000000000000000000000000000FF
+:1081800000000000000000000000000000000000EF
+:1081900000000000000000000000000000000000DF
+:1081A00000000000000000000000000000000000CF
+:1081B00000000000000000000000000000000000BF
+:1081C00000000000000000000000000000000000AF
+:1081D000000000000000000000000000000000009F
+:0881E0005FF8E0F166666666D7
+:1081E80010B5054C237833B9044B13B10448AFF3E9
+:1081F80000800123237010BD5802002000000000F9
+:10820800E46E010808B5034B1BB103490348AFF3FB
+:10821800008008BD000000005C020020E46E010838
+:10822800034613F8012B002AFBD1181A01387047AE
+:1082380081F0004102E000BF83F0004330B54FEA0F
+:1082480041044FEA430594EA050F08BF90EA020F7C
+:108258001FBF54EA000C55EA020C7FEA645C7FEA0F
+:10826800655C00F0E2804FEA5454D4EB5555B8BF32
+:108278006D420CDD2C4480EA020281EA030382EAA3
+:10828800000083EA010180EA020281EA0303362D35
+:1082980088BF30BD11F0004F4FEA01314FF4801C08
+:1082A8004CEA113102D0404261EB410113F0004F1A
+:1082B8004FEA03334CEA133302D0524263EB4303D1
+:1082C80094EA050F00F0A780A4F10104D5F1200E6F
+:1082D8000DDB02FA0EFC22FA05F2801841F10001CA
+:1082E80003FA0EF2801843FA05F359410EE0A5F19E
+:1082F80020050EF1200E012A03FA0EFC28BF4CF0CF
+:10830800020C43FA05F3C01851EBE37101F0004584
+:1083180007D54FF0000EDCF1000C7EEB00006EEB91
+:108328000101B1F5801F1BD3B1F5001F0CD349081B
+:108338005FEA30004FEA3C0C04F101044FEA445272
+:1083480012F5800F80F09A80BCF1004F08BF5FEAF9
+:10835800500C50F1000041EB045141EA050130BDD9
+:108368005FEA4C0C404141EB0101013C28BFB1F5EB
+:10837800801FE9D291F0000F04BF01460020B1FA36
+:1083880081F308BF2033A3F10B03B3F120020CDA09
+:108398000C3208DD02F1140CC2F10C0201FA0CF0E7
+:1083A80021FA02F10CE002F11402D8BFC2F1200C4C
+:1083B80001FA02F120FA0CFCDCBF41EA0C01904002
+:1083C800E41AA2BF01EB0451294330BD6FEA04044B
+:1083D8001F3C1CDA0C340EDC04F11404C4F1200236
+:1083E80020FA04F001FA02F340EA030021FA04F348
+:1083F80045EA030130BDC4F10C04C4F1200220FA9F
+:1084080002F001FA04F340EA0300294630BD21FADC
+:1084180004F0294630BD94F0000F83F4801306BFA2
+:1084280081F480110134013D4EE77FEA645C18BF96
+:108438007FEA655C29D094EA050F08BF90EA020F2D
+:1084480005D054EA000C04BF1946104630BD91EA25
+:10845800030F1EBF0021002030BD5FEA545C05D128
+:108468004000494128BF41F0004130BD14F5800467
+:108478003CBF01F5801130BD01F0004545F0FE41DB
+:1084880041F470014FF0000030BD7FEA645C1ABF10
+:10849800194610467FEA655C1CBF0B46024650EA47
+:1084A800013406BF52EA033591EA030F41F4002173
+:1084B80030BD00BF90F0000F04BF0021704730B5F9
+:1084C8004FF4806404F132044FF000054FF00001CE
+:1084D80050E700BF90F0000F04BF0021704730B58F
+:1084E8004FF4806404F1320410F0004548BF404264
+:1084F8004FF000013EE700BF42004FEAE2014FEAB9
+:1085080031014FEA02701FBF12F07F4393F07F4F93
+:1085180081F06051704732F07F4208BF704793F096
+:108528007F4F04BF41F40021704730B54FF46074A9
+:1085380001F0004521F000411CE700BF50EA0102AC
+:1085480008BF704730B54FF000050AE050EA010255
+:1085580008BF704730B511F0004502D5404261EBC5
+:1085680041014FF4806404F132045FEA915C3FF406
+:10857800D8AE4FF003025FEADC0C18BF03325FEAA3
+:10858800DC0C18BF033202EBDC02C2F1200300FA54
+:1085980003FC20FA02F001FA03FE40EA0E0021FA79
+:1085A80002F11444BDE600BF70B54FF0FF0C4CF467
+:1085B800E06C1CEA11541DBF1CEA135594EA0C0F19
+:1085C80095EA0C0F00F0DEF82C4481EA030621EA54
+:1085D8004C5123EA4C5350EA013518BF52EA03358F
+:1085E80041F4801143F4801338D0A0FB02CE4FF041
+:1085F8000005E1FB02E506F00042E0FB03E54FF071
+:108608000006E1FB03569CF0000F18BF4EF0010E68
+:10861800A4F1FF04B6F5007F64F5407404D25FEA64
+:108628004E0E6D4146EB060642EAC62141EA555117
+:108638004FEAC52040EA5E504FEACE2EB4F1FD0C59
+:1086480088BFBCF5E06F1ED8BEF1004F08BF5FEAD7
+:10865800500E50F1000041EB045170BD06F0004689
+:1086680046EA010140EA020081EA0301B4EB5C0436
+:10867800C2BFD4EB0C0541EA045170BD41F480112E
+:108688004FF0000E013C00F3AB8014F1360FDEBF53
+:10869800002001F0004170BDC4F10004203C35DA2F
+:1086A8000C341BDC04F11404C4F1200500FA05F3B2
+:1086B80020FA04F001FA05F240EA020001F0004253
+:1086C80021F0004110EBD37021FA04F642EB0601C9
+:1086D8005EEA430E08BF20EAD37070BDC4F10C04F3
+:1086E800C4F1200500FA04F320FA05F001FA04F2B7
+:1086F80040EA020001F0004110EBD37041F10001A3
+:108708005EEA430E08BF20EAD37070BDC4F12005AD
+:1087180000FA05F24EEA020E20FA04F301FA05F215
+:1087280043EA020321FA04F001F0004121FA04F2BD
+:1087380020EA020000EBD3705EEA430E08BF20EA8D
+:10874800D37070BD94F0000F0FD101F000464000C7
+:1087580041EB010111F4801F08BF013CF7D041EA49
+:10876800060195F0000F18BF704703F0004652004D
+:1087780043EB030313F4801F08BF013DF7D043EA1E
+:108788000603704794EA0C0F0CEA135518BF95EAD4
+:108798000C0F0CD050EA410618BF52EA4306D1D15B
+:1087A80081EA030101F000414FF0000070BD50EA7A
+:1087B800410606BF1046194652EA430619D094EA04
+:1087C8000C0F02D150EA013613D195EA0C0F05D1EE
+:1087D80052EA03361CBF104619460AD181EA030142
+:1087E80001F0004141F0FE4141F470014FF00000FA
+:1087F80070BD41F0FE4141F4780170BD70B54FF095
+:10880800FF0C4CF4E06C1CEA11541DBF1CEA135514
+:1088180094EA0C0F95EA0C0F00F0A7F8A4EB0504F6
+:1088280081EA030E52EA03354FEA013100F08880ED
+:108838004FEA03334FF0805545EA131343EA1263B6
+:108848004FEA022245EA111545EA10654FEA00266B
+:108858000EF000419D4208BF964244F1FD0404F524
+:10886800407402D25B084FEA3202B61A65EB030580
+:108878005B084FEA32024FF480104FF4002CB6EB3D
+:10888800020E75EB030E22BFB61A754640EA0C00BD
+:108898005B084FEA3202B6EB020E75EB030E22BFFD
+:1088A800B61A754640EA5C005B084FEA3202B6EB3E
+:1088B800020E75EB030E22BFB61A754640EA9C00FD
+:1088C8005B084FEA3202B6EB020E75EB030E22BFCD
+:1088D800B61A754640EADC0055EA060E18D04FEA8B
+:1088E800051545EA16754FEA06164FEAC30343EA2B
+:1088F80052734FEAC2025FEA1C1CC0D111F4801FF8
+:108908000BD141EA00014FF000004FF0004CB6E7F0
+:1089180011F4801F04BF01430020B4F1FD0C88BF8F
+:10892800BCF5E06F3FF6AFAEB5EB030C04BFB6EB9A
+:10893800020C5FEA500C50F1000041EB045170BD8D
+:108948000EF0004E4EEA113114EB5C04C2BFD4EBBA
+:108958000C0541EA045170BD41F480114FF0000E3E
+:10896800013C90E645EA060E8DE60CEA135594EABA
+:108978000C0F08BF95EA0C0F3FF43BAF94EA0C0FBD
+:108988000AD150EA01347FF434AF95EA0C0F7FF432
+:1089980025AF104619462CE795EA0C0F06D152EA86
+:1089A80003353FF4FDAE1046194622E750EA41066A
+:1089B80018BF52EA43067FF4C5AE50EA41047FF47B
+:1089C8000DAF52EA43057FF4EBAE12E74FF0FF3CE0
+:1089D80006E000BF4FF0010C02E000BF4FF0010CB1
+:1089E8004DF804CD4FEA410C7FEA6C5C4FEA430C2A
+:1089F80018BF7FEA6C5C1BD001B050EA410C0CBF79
+:108A080052EA430C91EA030F02BF90EA020F0020DA
+:108A1800704710F1000F91EA030F58BF994208BF41
+:108A280090422CBFD8176FEAE37040F001007047FE
+:108A38004FEA410C7FEA6C5C02D150EA013C07D155
+:108A48004FEA430C7FEA6C5CD6D152EA033CD3D0A0
+:108A58005DF8040B704700BF8446104662468C469A
+:108A68001946634600E000BF01B5FFF7B7FF0028CD
+:108A780048BF10F1000F01BD4DF808EDFFF7F4FFF6
+:108A88000CBF012000205DF808FB00BF4DF808ED81
+:108A9800FFF7EAFF34BF012000205DF808FB00BFA4
+:108AA8004DF808EDFFF7E0FF94BF012000205DF8C6
+:108AB80008FB00BF4DF808EDFFF7CEFF94BF01207B
+:108AC80000205DF808FB00BF4DF808EDFFF7C4FF74
+:108AD80034BF012000205DF808FB00BF4FEA410CBD
+:108AE8007FEA6C5C02D150EA013C0AD14FEA430CA0
+:108AF8007FEA6C5C02D152EA033C02D14FF00000DD
+:108B080070474FF0010070474FEA410212F500121A
+:108B180015D211D56FF47873B3EB625212D94FEABC
+:108B2800C12343F0004343EA505311F0004F23FAA6
+:108B380002F018BF404270474FF00000704750EAFB
+:108B4800013005D111F0004008BF6FF000407047B8
+:108B58004FF00000704700BF4FEA4102B2F1E04316
+:108B680024BFB3F5001CDCF1FE5C0DD901F0004C0C
+:108B78004FEAC0024CEA5070B2F1004F40EB83005C
+:108B880008BF20F00100704711F0804F21D113F188
+:108B98003872BCBF01F00040704741F480114FEAC1
+:108BA8005252C2F11802C2F1200C10FA0CF320FA4A
+:108BB80002F018BF40F001004FEAC1234FEAD32367
+:108BC80003FA0CFC40EA0C0023FA02F34FEA4303D1
+:108BD800CCE77FEA625307D150EA01331EBF4FF05A
+:108BE800FE4040F44000704701F0004040F0FE4075
+:108BF80040F40000704700BF80F0004002E000BF72
+:108C080081F0004142001FBF5FEA410392EA030F6F
+:108C18007FEA226C7FEA236C6AD04FEA1262D2EBB9
+:108C28001363C1BFD218414048404140B8BF5B42BE
+:108C3800192B88BF704710F0004F40F4000020F057
+:108C48007F4018BF404211F0004F41F4000121F06D
+:108C58007F4118BF494292EA030F3FD0A2F10102B7
+:108C680041FA03FC10EB0C00C3F1200301FA03F1F5
+:108C780000F0004302D5494260EB4000B0F5000F18
+:108C880013D3B0F1807F06D340084FEA310102F1D7
+:108C98000102FE2A51D2B1F1004F40EBC25008BF89
+:108CA80020F0010040EA03007047490040EB000053
+:108CB800013A28BFB0F5000FEDD2B0FA80FCACF154
+:108CC800080CB2EB0C0200FA0CF0AABF00EBC25081
+:108CD80052421843BCBFD0401843704792F0000F6F
+:108CE80081F4000106BF80F400000132013BB5E7C2
+:108CF8004FEA41037FEA226C18BF7FEA236C21D038
+:108D080092EA030F04D092F0000F08BF084670479C
+:108D180090EA010F1CBF0020704712F07F4F04D16A
+:108D2800400028BF40F00040704712F100723CBF7D
+:108D380000F50000704700F0004343F0FE4040F4A7
+:108D4800000070477FEA226216BF08467FEA236365
+:108D58000146420206BF5FEA412390EA010F40F450
+:108D6800800070474FF0000304E000BF10F000439C
+:108D780048BF40425FEA000C08BF704743F0964383
+:108D880001464FF000001CE050EA010208BF70479E
+:108D98004FF000030AE000BF50EA010208BF704725
+:108DA80011F0004302D5404261EB41015FEA010C3A
+:108DB80002BF84460146002043F0B64308BFA3F132
+:108DC8008053A3F50003BCFA8CF2083AA3EBC25314
+:108DD80010DB01FA02FC634400FA02FCC2F1200233
+:108DE800BCF1004F20FA02F243EB020008BF20F06A
+:108DF8000100704702F1200201FA02FCC2F12002D0
+:108E080050EA4C0021FA02F243EB020008BF20EAC4
+:108E1800DC7070474FF0FF0C1CEAD0521EBF1CEAF2
+:108E2800D15392EA0C0F93EA0C0F6FD01A4480EAE0
+:108E3800010C400218BF5FEA41211ED04FF00063C9
+:108E480043EA501043EA5111A0FB01310CF00040F5
+:108E5800B1F5000F3EBF490041EAD3715B0040EA1B
+:108E6800010062F17F02FD2A1DD8B3F1004F40EBEB
+:108E7800C25008BF20F00100704790F0000F0CF0BE
+:108E8800004C08BF49024CEA502040EA51207F3A82
+:108E9800C2BFD2F1FF0340EAC250704740F400005D
+:108EA8004FF00003013A5DDC12F1190FDCBF00F04E
+:108EB80000407047C2F10002410021FA02F1C2F1FC
+:108EC800200200FA02FC5FEA310040F1000053EA98
+:108ED8004C0308BF20EADC70704792F0000F00F0E6
+:108EE800004C02BF400010F4000F013AF9D040EAEC
+:108EF8000C0093F0000F01F0004C02BF490011F480
+:108F0800000F013BF9D041EA0C018FE70CEAD1537D
+:108F180092EA0C0F18BF93EA0C0F0AD030F0004CFD
+:108F280018BF31F0004CD8D180EA010000F00040B1
+:108F3800704790F0000F17BF90F0004F084691F06F
+:108F4800000F91F0004F14D092EA0C0F01D14202A9
+:108F58000FD193EA0C0F03D14B0218BF084608D172
+:108F680080EA010000F0004040F0FE4040F40000BC
+:108F7800704740F0FE4040F4400070474FF0FF0C4F
+:108F88001CEAD0521EBF1CEAD15392EA0C0F93EA96
+:108F98000C0F69D0A2EB030280EA010C49024FEAE8
+:108FA800402037D04FF0805343EA111143EA1013A1
+:108FB8000CF000408B4238BF5B0042F17D024FF459
+:108FC800000C8B4224BF5B1A40EA0C00B3EB510F34
+:108FD80024BFA3EB510340EA5C00B3EB910F24BF1D
+:108FE800A3EB910340EA9C00B3EBD10F24BFA3EBA2
+:108FF800D10340EADC001B0118BF5FEA1C1CE0D16A
+:10900800FD2A3FF650AF8B4240EBC25008BF20F01C
+:10901800010070470CF0004C4CEA50207F32C2BF70
+:10902800D2F1FF0340EAC250704740F400004FF00D
+:109038000003013A37E792F0000F00F0004C02BF3E
+:10904800400010F4000F013AF9D040EA0C0093F008
+:10905800000F01F0004C02BF490011F4000F013B62
+:10906800F9D041EA0C0195E70CEAD15392EA0C0FCA
+:1090780008D142027FF47DAF93EA0C0F7FF470AF02
+:10908800084676E793EA0C0F04D14B023FF44CAF45
+:1090980008466EE730F0004C18BF31F0004CCAD1DA
+:1090A80030F000427FF45CAF31F000437FF43CAF16
+:1090B8005FE700BF4FF0FF3C06E000BF4FF0010C38
+:1090C80002E000BF4FF0010C4DF804CD4FEA40021A
+:1090D8004FEA41037FEA226C18BF7FEA236C11D064
+:1090E80001B052EA530C18BF90EA010F58BFB2EB17
+:1090F800030088BFC81738BF6FEAE17018BF40F097
+:10910800010070477FEA226C02D15FEA402C05D14A
+:109118007FEA236CE4D15FEA412CE1D05DF8040BCF
+:10912800704700BF844608466146FFE70FB5FFF762
+:10913800C9FF002848BF10F1000F0FBD4DF808ED1A
+:10914800FFF7F4FF0CBF012000205DF808FB00BF0B
+:109158004DF808EDFFF7EAFF34BF012000205DF865
+:1091680008FB00BF4DF808EDFFF7E0FF94BF0120B2
+:1091780000205DF808FB00BF4DF808EDFFF7D2FFAF
+:1091880094BF012000205DF808FB00BF4DF808EDF2
+:10919800FFF7C8FF34BF012000205DF808FB00BFBF
+:1091A8004FEA4002B2F1FE4F0FD34FF09E03B3EBEC
+:1091B80012620DD94FEA002343F0004310F0004F2C
+:1091C80023FA02F018BF404270474FF00000704782
+:1091D80012F1610F01D1420205D110F0004008BF21
+:1091E8006FF0004070474FF00000704753B94AB91C
+:1091F800002908BF00281CBF4FF0FF314FF0FF3097
+:1092080000F08CB9ADF1080C6DE904CE00F006F859
+:10921800DDF804E0DDE9022304B070472DE9F047EA
+:10922800089D8E4604468846002B4AD18A42174636
+:1092380062D9B2FA82F64EB1C6F1200301FA06F8F5
+:1092480020FA03F3B74043EA0808B4404FEA174E40
+:10925800B8FBFEF11FFA87FC0EFB118801FB0CF22C
+:10926800230C43EA08439A4209D9FB1801F1FF305D
+:1092780080F0EB809A4240F2E88002393B449A1A27
+:10928800B2FBFEF00EFB102200FB0CFCA3B243EA7B
+:1092980002439C4509D9FB1800F1FF3280F0D780C2
+:1092A8009C4540F2D4803B44023840EA014000210A
+:1092B800A3EB0C031DB10022F340C5E90032BDE861
+:1092C800F0878B4205D90DB1C5E900010021084698
+:1092D800F5E7B3FA83F1002946D1734502D38242F8
+:1092E80000F20881841A6EEB030201209046002DDB
+:1092F800E5D0C5E90048E2E7002A00F09180B2FA1B
+:1093080082F6002E40F0A5808A1A0121030C4FEA4C
+:10931800174E80B2BCB2B2FBFEFC0EFB1C2243EA25
+:10932800024304FB0CF29A4207D9FB180CF1FF38F0
+:1093380002D29A4200F2E380C4469B1AB3FBFEF2C3
+:109348000EFB123302FB04F440EA03439C4207D9A4
+:10935800FB1802F1FF3002D29C4200F2CD80024697
+:109368001B1B42EA0C40A5E7C1F120068B4022FAFC
+:1093780006F71F432EFA06FA4FEA1749BAFBF9F81F
+:109388000EFA01FE20FA06F309FB18AA1FFA87FC59
+:1093980043EA0E0300FA01FE08FB0CF01C0C44EA39
+:1093A8000A44A04202FA01F20AD93C1908F1FF3A2C
+:1093B80080F09E80A04240F29B80A8F102083C44C5
+:1093C800241A98B2B4FBF9F309FB134403FB0CFC11
+:1093D80040EA0444A44509D93C1903F1FF3080F060
+:1093E8008580A44540F28280023B3C4443EA084021
+:1093F800A4EB0C04A0FB028C64454346E14664D30D
+:1094080061D05DB1BEEB030264EB090404FA06F611
+:1094180022FA01F31E43CC40C5E9006400214EE75F
+:10942800B1FBF2FC010C41EA0E4180B240EA014274
+:109438003B46B1FBF7F138463C46B846BE462026C7
+:10944800A2EB080241EA0C4165E7014617E710461E
+:109458002BE7C6F120012EFA01FCB7400EFA06FEF2
+:1094680020FA01F141EA0E014FEA174EBCFBFEF863
+:10947800BCB20EFB18CC08FB04F90A0C42EA0C42F9
+:10948800B04091454FEA104380B23ED9BA1808F16E
+:10949800FF3C01D291451FD8A2EB0902B2FBFEF9AD
+:1094A80009FB04F80EFB192A8AB242EA0A4242452D
+:1094B80029D2BA1809F1FF31C2D24245C0D2A9F166
+:1094C80002013A44BCE7C6459BD2B8EB02036CEBF9
+:1094D800070C0138E14694E7A7EB09094A44B2FBB7
+:1094E800FEF9A8F1020C09FB04F8DBE703467DE767
+:1094F800D04665E70846FAE63B44023A30E7ACF165
+:10950800020C3B4419E749469AE7A2EB0902B2FB71
+:10951800FEF9C44609FB04F8C4E700BF704700BF62
+:1095280080B500AF06220549054805F007F803464F
+:10953800002B01D001F0A2FB00BF80BD7402002007
+:10954800900200200E4B02689A4218D14FF0010C8D
+:109558000C4A0D4B11880D4889B21980518889B27F
+:109568005980918889B29980D18889B2D980118926
+:1095780089B21981528992B25A8180F800C0704725
+:109588000024014074020020800200208C02002088
+:1095980080B584B000AF3B1D00221A605A609A6003
+:1095A8003C4B3D4A1A603B4B4FF480729A60394BF2
+:1095B80000221A73374B00221A75364B4FF40022DB
+:1095C800DA61344B00225A60324B06221A61314864
+:1095D80004F0DCFE0346002B01D001F04FFB03230F
+:1095E8007B600123BB600423FB603B1D19462948AF
+:1095F80005F05CF90346002B01D001F03FFB042382
+:109608007B600223BB603B1D1946224805F04EF9DA
+:109618000346002B01D001F031FB08237B600323B4
+:10962800BB603B1D19461B4805F040F90346002B5B
+:1096380001D001F023FB09237B600423BB603B1DA1
+:109648001946144805F032F90346002B01D001F001
+:1096580015FB10237B600523BB603B1D19460D4895
+:1096680005F024F90346002B01D001F007FB112374
+:109678007B600623BB603B1D1946064805F016F9BA
+:109688000346002B01D001F0F9FA00BF1037BD46A0
+:1096980080BD00BF900200200024014080B58AB040
+:1096A80000AF786007F1180300221A605A609A60C8
+:1096B800DA607B681B68384A934268D1374B9B69EC
+:1096C800364A43F400739361344B9B6903F4007387
+:1096D8007B617B69314B9B69304A43F0040393619A
+:1096E8002E4B9B6903F004033B613B692B4B9B6941
+:1096F8002A4A43F008039361284B9B6903F0080347
+:10970800FB60FB681823BB610323FB6107F11803A7
+:109718001946234807F008F80323BB610323FB61BC
+:1097280007F1180319461F4806F0FEFF1E4B1F4A93
+:109738001A601D4B00225A601B4B00229A601A4B7C
+:109748008022DA60184B4FF480721A61164B4FF47E
+:1097580080625A61144B20229A61134B4FF4805255
+:10976800DA61114806F052FB0346002B01D001F0E4
+:1097780085FA7B680C4A1A620B4A7B68536200229E
+:109788000721122006F0EFFA122006F008FB00BFAE
+:109798002837BD4680BD00BF0024014000100240AC
+:1097A80000080140000C0140C002002008000240EF
+:1097B80080B582B000AF03460A46FB711346BB7101
+:1097C800FB79072B50D801A252F823F0F59700082F
+:1097D800059800081598000825980008359800088D
+:1097E800459800085398000863980008BB791A4602
+:1097F8004FF48071214807F032F936E0BB791A46F8
+:109808004FF400711D4807F02AF92EE0BB791A467B
+:109818004FF48061194807F022F926E0BB791A460F
+:109828004FF40061154807F01AF91EE0BB791A4693
+:109838004FF48051114807F012F916E0BB791A4627
+:1098480008210F4807F00BF90FE0BB791A464FF4CF
+:1098580000410C4807F003F907E0BB791A460821D4
+:10986800094807F0FCF800E000BFFB790749BA791E
+:10987800CA5400BF0837BD4680BD00BF001801406C
+:1098880000100140000801400014014004030020BA
+:1098980080B483B000AF0346FB71FB79034AD35C05
+:1098A80018460C37BD4680BC704700BF0403002033
+:1098B80080B582B000AF0346FB71FB79062B3BD81D
+:1098C80001A252F823F000BFED980008F9980008AB
+:1098D80005990008119900081D99000829990008A0
+:1098E800359900080221174807F0A2F8034624E03A
+:1098F8000421144807F09CF803461EE08021124812
+:1099080007F096F8034618E08021104807F090F811
+:10991800034612E010210E4807F08AF803460CE0CF
+:1099280008210B4807F084F8034606E002210648A0
+:1099380007F07EF8034600E0002318460837BD46C6
+:1099480080BD00BF0008014000180140001401401C
+:10995800000C014080B483B000AF02237B600F4B42
+:109968009B690E4A43F0100393610C4B9B6903F00B
+:1099780010033B603B680A4B5B6823F470227B68EA
+:109988001B04074913434B60054B4FF080521A6183
+:1099980000BF0C37BD4680BC704700BF00100240B6
+:1099A8000010014080B500AFFFF7D4FF00224FF44C
+:1099B8008051184807F053F8174805F071F9FFF778
+:1099C800AFFD00210020FFF7F3FE00210120FFF783
+:1099D800EFFE00210220FFF7EBFE00210320FFF736
+:1099E800E7FE00210420FFF7E3FE00210520FFF732
+:1099F800DFFE00210620FFF7DBFE00210720FFF72E
+:109A0800D7FE064803F04AFD054803F047FD00BFAE
+:109A180080BD00BF00100140900200200C03002010
+:109A28003403002090B587B000AF78600C4B7B61A1
+:109A38000C4B3B6179697868FFF7E2F803461C46EE
+:109A480039697869FFF7E6F9034619462046FFF7B2
+:109A580095FA0346FB60FB6818461C37BD4690BD67
+:109A680000007A443211803BB0B586B000AFF86090
+:109A7800B9607A603B60F868FEF72CFD1CA3D3E957
+:109A88000023FEF7BBFE02460B4614461D46B86887
+:109A9800FEF732FD02460B4620462946FEF784FDB6
+:109AA80002460B4610461946FFF756F803467B61F7
+:109AB80079687869FFF760FB0346002B01D00E4BED
+:109AC80010E079697868FFF79BF8034619467869CA
+:109AD800FFF754FA034619463868FFF79BF903461F
+:109AE8003B613B6918461837BD46B0BDAFF30080EF
+:109AF8000000000000FEAF40000080BF80B588B0C5
+:109B080000AF0346FB710023FB61FB79002B03D0F8
+:109B18001C4BDB889BB202E01A4B9B889BB2FB6113
+:109B2800FB79002B01D0012200E0002213469B00A4
+:109B38001344DB00144A1344FA691146184603F02B
+:109B4800D2FCB861BB69B3F57A6F01D9142315E06B
+:109B58000E4B7B610E4B3B610E4BFB60FB683A6919
+:109B68007969B869FFF780FF03461846FFF75AFF7F
+:109B7800B860B868FFF714FB03461BB218462037D5
+:109B8800BD4680BD800200200C03002033335340C3
+:109B98000000A04000007A4480B500AF174B184A77
+:109BA8001A60164B08225A60144B00229A60134B15
+:109BB8000022DA60114B4FF460221A610F4B4FF408
+:109BC80080125A610D4B00221A760C4B01225A76EC
+:109BD8000A4B01229A76094B0122DA76074B0022BA
+:109BE8001A77064B01225A77044805F010F9034604
+:109BF800002B01D001F042F800BF80BD5C030020BB
+:109C08000064004080B500AF174B184A1A60164B25
+:109C180010225A60144B00229A60134B0022DA601B
+:109C2800114B4FF460221A610F4B4FF480125A61A6
+:109C38000D4B00221A760C4B01225A760A4B012250
+:109C48009A76094B0122DA76074B00221A77064BDF
+:109C580001225A77044805F0DAF80346002B01D0B0
+:109C680001F00CF800BF80BD8403002000680040AC
+:109C780080B58EB000AF786007F1200300221A602B
+:109C88005A609A60DA607B681B68614A934253D1D4
+:109C9800604B1B6801335F4A13605E4B1B68012BE6
+:109CA8000BD15D4BDB695C4A43F00073D3615A4BBF
+:109CB800DB6903F00073FB61FB69574B9B69564AEC
+:109CC80043F020039361544B9B6903F02003BB616D
+:109CD800BB6901233B6200237B620023BB6207F15F
+:109CE800200319464D4806F01FFD02233B6202235C
+:109CF8007B620323FB6207F120031946474806F0FD
+:109D080013FD474B5B683B633B6B23F4C0433B63EA
+:109D18003B6B43F0E0633B633B6B43F4C0433B6303
+:109D28003F4A3B6B536000220321142006F01BF8C6
+:109D3800142006F034F867E07B681B68394A9342C0
+:109D480062D1354BDB69344A43F08063D361324BCF
+:109D5800DB6903F080637B617B692E4B1B680133F1
+:109D68002C4A13602B4B1B68012B0BD12A4BDB6948
+:109D7800294A43F00073D361274BDB6903F0007372
+:109D88003B613B69244B9B69234A43F00803936179
+:109D9800214B9B6903F00803FB60FB6820233B62AF
+:109DA80000237B620023BB6207F1200319461E488B
+:109DB80006F0BAFC40233B6202237B620323FB626A
+:109DC80007F120031946184806F0AEFC144B5B68EF
+:109DD8007B637B6B43F0E0637B637B6B43F48003C3
+:109DE8007B630F4A7B6B5360002200213F2005F004
+:109DF800BAFF3F2005F0D3FF00220321412005F0E0
+:109E0800B2FF412005F0CBFF00BF3837BD4680BD0B
+:109E180000640040AC030020001002400014014020
+:109E28000000014000680040000C014080B400AF11
+:109E3800084B00221A70074B00225A70054B00226B
+:109E480062F06902DA7300221A7400BFBD4680BC52
+:109E5800704700BFB003002080B500AF1A4B5A7896
+:109E68001A4B1B789A4206D0174B5A78174B1A7020
+:109E7800154B00221A70164B1B7B002B03D0124B7C
+:109E880007225A770EE0124B5B7B002B03D00E4B58
+:109E98000A225A7706E00C4B9B7F002B02D10A4B13
+:109EA80000225A77084B5B7F0021184600F028FDF6
+:109EB8000346002B06D0044B5B7F1A460549052054
+:109EC80000F044FB00BF80BDB0030020D003002099
+:109ED80004090020006F010880B582B000AF034676
+:109EE800FB71414B1B78FA799A4203D13F4AFB79BF
+:109EF800537075E03C4AFB7913703B4B1B78002B81
+:109F080003D13B49072000F021FB374B1B78012B7D
+:109F180003D13849072000F019FB334B1B78022B7B
+:109F280003D13549072000F011FB2F4B1B78032B79
+:109F380003D13249072000F009FB2B4B1B78042B77
+:109F480003D12F49072000F001FB274B1B78052B75
+:109F580003D12C49072000F0F9FA234B1B78062B74
+:109F680003D12949072000F0F1FA1F4B1B78072B72
+:109F780003D12649072000F0E9FA1B4B1B78082B70
+:109F880003D12349072000F0E1FA174B1B78092B6E
+:109F980003D12049072000F0D9FA134B1B780A2B6C
+:109FA80003D11D49072000F0D1FA0F4B1B780B2B6A
+:109FB80003D11A49072000F0C9FA0B4B1B780C2B68
+:109FC80003D11749072000F0C1FA074B1B780D2B66
+:109FD80003D11449072000F0B9FA044AFB795370F9
+:109FE8000837BD4680BD00BFCF030020B003002066
+:109FF800146F0108286F0108406F0108586F0108A5
+:10A00800706F01088C6F0108AC6F0108CC6F0108F4
+:10A01800EC6F0108047001081C7001083470010815
+:10A02800507001086870010880B487B000AF134B06
+:10A038005B889BB27B61114B5B899BB23B6140F2B1
+:10A04800BA43FB60FB687A6903FB02F23B69B2FB27
+:10A05800F3F3BB60BB68A3F2BB6341F6186202FB73
+:10A0680003F3074A82FB03129211DB17D31A7B60B2
+:10A078007B6818461C37BD4680BC704780020020AC
+:10A08800D34D621080B500AF0E4B1B689F229A62B9
+:10A098000C4B1B6840F2C112DA620A4B1B684FF482
+:10A0A800E1729A63074B1B6840F2C7125A63042196
+:10A0B800044808F00BF80021024807F005FF00BF2C
+:10A0C80080BD00BFC811002080B485B000AF034632
+:10A0D800FB71FB794FF4E17202FB03F30B4A82FB3D
+:10A0E80003125211DB17D31AFB60094AFB7913706C
+:10A0F800084B1B68FA689A63064B1B6801225A636F
+:10A1080000BF1437BD4680BC704700BF1F85EB51A8
+:10A11800D8030020C811002080B400AF024B1B7880
+:10A128001846BD4680BC7047D803002080B500AFF4
+:10A13800FFF77AFF0346034A1360024B1B68184671
+:10A1480080BD00BFD403002080B582B000AFFFF708
+:10A15800EDFF7860214B1B78062B02D01F4B1B7834
+:10A1680038E07B6842F6F722934201DD002331E0B4
+:10A178007B68B3F5FA5F06DB7B6842F210729342A4
+:10A1880001DC012326E07B6841F28732934206DD39
+:10A198007B6841F65832934201DC02231AE07B685F
+:10A1A800B3F5FA6F05DB7B68B3F57A6F01DC03233F
+:10A1B80010E07B6813F57A7F05DB7B68B3F5FA6FEF
+:10A1C80001DC042306E07B68054A934201DA052393
+:10A1D80000E0062318460837BD4680BD040000206D
+:10A1E80009D5FFFF80B400AF024B1B781846BD4667
+:10A1F80080BC70470500002080B582B000AFFFF733
+:10A20800A3FF0346FB71FB79062B06D1134B0622ED
+:10A218001A70134B00221A701DE0104B1B78FA7944
+:10A228009A4206D00D4AFB7913700D4B01221A7021
+:10A2380011E00B4B1B78632B05D8094B1B780133B6
+:10A24800DAB2074B1A70064B1B78632B03D9034B02
+:10A258001A78044B1A700837BD4680BD06000020E6
+:10A26800D90300200500002080B582B000AF04F0BB
+:10A278005FF80246224B1B68D31A002B3CDD04F022
+:10A2880057F803461E4A1360FFF7B6FFFFF7AAFF09
+:10A298000346FB711B4B1B78BB711B4B1B78002BB8
+:10A2A80009D11A4AFB791370194ABB791370164BF6
+:10A2B80001221A7021E0154B1B78FA799A420AD0CC
+:10A2C800124B1B781A46FB791249072000F03EF919
+:10A2D8000E4AFB7913700E4B1B78BA799A420CD050
+:10A2E8000B4B1B781A46BB790B49072000F02EF957
+:10A2F800074ABB79137000E000BF0837BD4680BD30
+:10A30800DC030020D8030020E00300200700002021
+:10A31800E1030020807001089C70010880B500AF3F
+:10A32800064B074A1A60054805F053FD0346002B03
+:10A3380001D000F0A3FC00BF80BD00BFE4030020F3
+:10A348000030024080B485B000AF78607B681B683D
+:10A35800094A93420BD1094B5B69084A43F0400311
+:10A368005361064B5B6903F04003FB60FB6800BF69
+:10A378001437BD4680BC70470030024000100240D0
+:10A3880080B584B000AFF860B9607A607B689BB232
+:10A398001946B86800F006F87B6818461037BD46BD
+:10A3A80080BD000080B485B000AF78600B467B802C
+:10A3B80072B600BF0023FB8145E0284BB3F8043494
+:10A3C8009BB2B3F5806F18D3244BB3F802349BB219
+:10A3D80001335A42C3F30903C2F3090258BF534277
+:10A3E8009AB21E4BA3F802241C4BB3F804349BB258
+:10A3F800013B9AB2194BA3F80424FB897A681344E9
+:10A40800164AB2F8002492B21978144B9954134B97
+:10A41800B3F800349BB201335A42C3F30903C2F3C1
+:10A42800090258BF53429AB20C4BA3F800240B4BB5
+:10A43800B3F804349BB201339AB2084BA3F804244E
+:10A44800FB890133FB81FA897B889A42B5D362B6CE
+:10A4580000BF00BF1437BD4680BC7047EC03002026
+:10A4680080B483B000AF72B600BF064BB3F80434B3
+:10A47800FB8062B600BFFB8818460C37BD4680BC1F
+:10A48800704700BFEC03002080B582B000AF72B601
+:10A4980000BF2D4BB3F804349BB2002B02D162B637
+:10A4A80000BF4EE0284BB3F80434FB80FB88802BB8
+:10A4B80001D98023FB80244BB3F802349BB2C3F547
+:10A4C8008063BB80FA88BB889A4201D9BB88FB802D
+:10A4D8001D4BB3F804349BB2FA889A420CD11A4B3C
+:10A4E800B3F802349BB21A46174B1344F98850222A
+:10A4F800184602F039FC0BE0134BB3F802349BB258
+:10A508001A46114B1344F9885122184602F02CFCC4
+:10A518000D4BB3F802349AB2FB8813449BB2C3F3D1
+:10A5280009039AB2084BA3F80224074BB3F8043482
+:10A538009AB2FB88D31A9AB2034BA3F8042462B6E2
+:10A5480000BF0837BD4680BDEC0300200EB480B5BF
+:10A5580085B000AF0346FB71154AFB79137007F10C
+:10A568002003BB60BB68FA697E2112480AF06EFBC3
+:10A57800F860FB68002B01DAFB6812E0FB687D2BB2
+:10A5880001DD7E23FB60FB680133094A0021D154B9
+:10A59800FB689BB202339BB219460548FFF702FFDE
+:10A5A800FB6818461437BD46BDE8804003B07047C5
+:10A5B800F4070020F507002080B582B000AF1C4BDF
+:10A5C8005B691B4A43F001035361194B5B6903F054
+:10A5D80001037B607B68002201210B2005F0C3FB8F
+:10A5E8000B2005F0DCFB002204210C2005F0BBFB4E
+:10A5F8000C2005F0D4FB002201210D2005F0B3FB4F
+:10A608000D2005F0CCFB00220121102005F0ABFB4A
+:10A61800102005F0C4FB00220421112005F0A3FB43
+:10A62800112005F0BCFB00BF0837BD4680BD00BF48
+:10A638000010024080B58AB000AF07F11403002271
+:10A648001A605A609A60DA60944B9B69934A43F0A7
+:10A6580010039361914B9B6903F010033B613B69C5
+:10A668008E4B9B698D4A43F0040393618B4B9B6926
+:10A6780003F00403FB60FB68884B9B69874A43F03F
+:10A6880008039361854B9B6903F00803BB60BB68B3
+:10A69800824B9B69814A43F0400393617F4B9B69DE
+:10A6A80003F040037B607B687C4B9B697B4A43F0EB
+:10A6B80020039361794B9B6903F020033B603B685F
+:10A6C80000224FF40F71764806F0C9F9002248F2CB
+:10A6D8006001744806F0C3F900224FF4F85172483B
+:10A6E80006F0BDF900224FF44861704806F0B7F94A
+:10A6F800002218216E4806F0B2F904237B61012379
+:10A70800BB610023FB6103233B6207F11403194675
+:10A71800634806F009F84FF40E737B610123BB61AF
+:10A728000023FB6102233B6207F1140319465C48CE
+:10A7380005F0FAFF02237B610023BB610023FB6164
+:10A7480007F114031946574805F0EEFF04237B610F
+:10A758000023BB610223FB6107F11403194651482A
+:10A7680005F0E2FF60237B610123BB610023FB61ED
+:10A7780003233B6207F1140319464A4805F0D4FF46
+:10A7880044F282037B610023BB610023FB6107F174
+:10A7980014031946444805F0C7FF4FF4F8537B618A
+:10A7A8000123BB610023FB6102233B6207F1140311
+:10A7B80019463D4805F0B8FF4FF440637B6101231B
+:10A7C800BB610023FB6103233B6207F114031946B5
+:10A7D800364805F0A9FF4FF400437B610123BB61B4
+:10A7E8000023FB6102233B6207F1140319462D483D
+:10A7F80005F09AFF18237B610123BB610023FB61ED
+:10A8080002233B6207F114031946294805F08CFF1F
+:10A8180080237B610023BB610023FB6107F11403E4
+:10A828001946234805F080FF18237B610023BB618C
+:10A838000023FB6107F1140319461C4805F074FF57
+:10A8480080237B610123BB610023FB6102233B6200
+:10A8580007F114031946154805F066FF4FF44073D5
+:10A868007B611223BB6103233B6207F11403194682
+:10A878000E4805F059FF0F4B5B687B627B6A43F01B
+:10A88800E0637B627B6A43F002037B62094A7B6A6E
+:10A89800536000BF2837BD4680BD00BF001002408E
+:10A8A800001001400008014000180140000C014060
+:10A8B800001401400000014080B400AFBFF34F8F87
+:10A8C80000BF064BDB6803F4E0620449044B134302
+:10A8D800CB60BFF34F8F00BF00BFFDE700ED00E086
+:10A8E8000400FA0580B400AF034B044A9A6000BF25
+:10A8F800BD4680BC704700BF00ED00E00080000846
+:10A9080080B485B000AF03460A46FB711346BB719D
+:10A91800BB791F2B01D900230EE00023FB73BB7901
+:10A92800084AD35CFA799A4201D00123FB73BB79B8
+:10A938000449FA79CA54FB7B18461437BD4680BCD3
+:10A94800704700BF7408002080B584B000AF7860FD
+:10A9580003F0EEFCB8607B68FB60FB68B3F1FF3F77
+:10A9680010D00F4B1B781A46FB681344FB6009E0B4
+:10A9780001F048FA00F016F8FFF776FC01F00AF843
+:10A9880002F098F803F0D4FC0246BB68D31AFA68C0
+:10A998009A42EDD800BF00BF1037BD4680BD00BF4A
+:10A9A8008C00002080B582B000AF03F0C1FC786055
+:10A9B8002A4B1B687A68D31A092B49D9274A7B681E
+:10A9C80013600320FEF774FF0346002B0CBF01231E
+:10A9D8000023DBB2FB70FB78002B02D1204B002256
+:10A9E8001A701F4B1B78002B34D1FB78002B2BD00F
+:10A9F8001C4B1B68002B02D11B4B01221A70194BF0
+:10AA08001B680A33174A1360164B1B6841F28832D9
+:10AA1800934202D1144B03221A70124B1B6849F659
+:10AA28004042934217D912220021002002F09CF9DB
+:10AA380000BF0E4B93F84130DBB2212BF9D00A202E
+:10AA480003F080FCFFF738FF064B00221A6002E093
+:10AA580000BF00E000BF0837BD4680BD9408002055
+:10AA68000800002098080020B0030020E812002009
+:10AA780080B500AF0B4804F0E9FBFFF78DF80948F3
+:10AA880004F0A0FB0346002B01D000F0F7F80221E8
+:10AA9800044804F048FE0346002B01D000F0EEF80D
+:10AAA80000BF80BD5C03002080B582B002AFFFF715
+:10AAB80019FF03F0E5FB05F0F7FF00F06FF8FFF76B
+:10AAC800B9FDFFF779FDFEF763FDFFF765F8FFF7BE
+:10AAD80099F800F0FDFF02F0DBFF03F059F9FFF7EA
+:10AAE8001DFC03F001F903F029F903F07BF902F0EA
+:10AAF80041FFFEF757FF00F02DFF4FF4967003F06B
+:10AB080021FC01F017FC01F0ABFF1F490720FFF7FC
+:10AB18001DFD01F081FF1D4B1B889BB21A461C4985
+:10AB28000720FFF713FD194B9B781A461949072090
+:10AB3800FFF70CFD154B9B889BB21A46134BDB881D
+:10AB48009BB21946114B1B899BB200930B461249C5
+:10AB58000720FFF7FBFCFFF78BFF00F0E5F9FFF795
+:10AB680065F900F0F3FA00F0B7FB0A20FFF7ECFEF6
+:10AB780000F08AF8FFF770F900F09EFD0A20FFF751
+:10AB8800E3FE00BFEDE700BFB8700108B011002078
+:10AB9800CC700108E0700108F470010880B59CB021
+:10ABA80000AF07F138033822002118460AF07AF876
+:10ABB80007F1240300221A605A609A60DA601A6169
+:10ABC8003B1D2022002118460AF06CF80523BB63C0
+:10ABD8004FF480333B6404237B640123BB6401236B
+:10ABE800FB644FF48033FB630223BB654FF480336F
+:10ABF800FB654FF4E0133B6602237B664FF4C063AA
+:10AC0800BB664023FB6607F13803184606F01CF8BC
+:10AC18000346002B01D000F031F80F237B6202239A
+:10AC2800BB620023FB624FF480633B6300237B63BA
+:10AC380007F124030221184606F01CFB0346002BEB
+:10AC480001D000F01BF803237B604FF48073BB60D6
+:10AC58004FF40043FB603B1D184606F001FD034618
+:10AC6800002B01D000F00AF8034B01221A6000BF44
+:10AC78007037BD4680BD00BF7000424280B400AF4F
+:10AC880072B600BF00BFFDE72DE9B04384B000AF46
+:10AC98002C4B00221A702C4B5B78082B03D1294BC4
+:10ACA80001221A7602E0274B00221A7603F040FBB5
+:10ACB800F860244B5B68FA68D31ABB60214AFB68CA
+:10ACC8005360214BD3F80330BA6802FB03F31F4AE1
+:10ACD800A2FB03239B097B601A4BD3E90223796803
+:10ACE80000200C46054612EB040843EB0509154BFA
+:10ACF800C3E90289134BD3E90223154BA3FB0223B3
+:10AD0800DB0A104A13610F4B1B7E002B08D00D4B3A
+:10AD18001A690C4B5B69D31A0B4AC2F807300CE06E
+:10AD2800094B0022DA7100221A7200225A7200229C
+:10AD38009A72044B1B69034A536100BF1037BD4622
+:10AD4800BDE8B083A0080020B0030020D34D6210F6
+:10AD5800C5B3A29180B582B000AF0346FB71064A25
+:10AD6800FB79D37103F0E4FA0346034A136100BF89
+:10AD78000837BD4680BD00BF0409002080B500AF7C
+:10AD880003F0D6FA0246024B1B69D31A184680BD57
+:10AD98000409002038B5424C424D23462A46012179
+:10ADA80004F0A0FB10B96D68EBB203B138BD03F035
+:10ADB800BFFAC5F305453C4B022D186013D0042D8E
+:10ADC80017D194E80300394B394A83E80300187A0D
+:10ADD8001C79D9799B79146282F8240082F82510AD
+:10ADE80082F8263038BD334B94E8030083E803002B
+:10ADF80038BD062D11D194E803002F4B83E80300DA
+:10AE0800188859889A8840BA49BA52BA80B289B221
+:10AE180092B2C3E902011A6138BD082D3AD0092D52
+:10AE2800C4D194E80300214B244D214C93F804C06D
+:10AE3800234A85E8030000BA84F806C0A2FB00C2D2
+:10AE480009BAC5E90201C2F38F1013284FF0010EA9
+:10AE580094BF002501251B4B84F808E0A3FB01C320
+:10AE6800E1795B0971456080A3804FEA9212A5726F
+:10AE78009CD999B292B201FB02F2134C1349A4FB7C
+:10AE88000242A1F815300D76D308A1F81300C1F8D5
+:10AE9800033038BD0E4B94E8030083E8030038BD47
+:10AEA8004C090020300900202C090020CC08002083
+:10AEB80004090020C0080020D8080020F408002059
+:10AEC800D34D62101F85EB51CDCCCCCCB003002004
+:10AED800EC08002080B58AB000AF0E237B61002308
+:10AEE800BB610123FB6100233B6000237B600023DF
+:10AEF800BB600023FB6000233B6101233B6201230D
+:10AF08003B610E237B623B461946064804F07AF8FB
+:10AF18000346002B01D0FFF7B1FE00BF2837BD461E
+:10AF280080BD00BF8403002080B500AF154804F041
+:10AF38008DF9FEF767FEFFF7CDFF124804F042F9DE
+:10AF48001021104804F0EFFB282200210E4809F0D8
+:10AF5800A9FE0D4B0022DA7103F0EAF903460A4A0A
+:10AF68001361094B49F640425A61074B00221A7691
+:10AF7800054B0022DA610021002000F007F800BF2D
+:10AF880080BD00BF840300200409002080B584B080
+:10AF980000AF03460A46FB711346BB7107F108036D
+:10AFA80008220021184609F07DFEFB79002B15D1F7
+:10AFB8000D4B1B7A002B13D0BB79002B0CBF012340
+:10AFC8000023DBB23B7207F10803F9791A22F0205B
+:10AFD80000F066F81420FFF7B7FC02E000BF00E0BD
+:10AFE80000BF1037BD4680BD0409002080B586B07B
+:10AFF80000AF0346FB710B46BB8013467B8007F10D
+:10B00800080308220021184609F04CFEFB79002BA2
+:10B0180040D1BB88952B01D89623BB801F4B1B7E44
+:10B02800002B06D1BB88B3F5FA7F02D340F2F313A5
+:10B03800BB807B88642202FB03F37B61BB884FF4EF
+:10B048007A7202FB03F33B617B691B0EDBB23B7335
+:10B058007B691B0CDBB27B737B691B0ADBB2BB739E
+:10B068007B69DBB2FB733B691B0EDBB23B723B694E
+:10B078001B0CDBB27B723B691B0ADBB2BB723B6900
+:10B08800DBB2FB7207F10803F9791C22F02000F00B
+:10B0980007F800E000BF1837BD4680BD040900204E
+:10B0A80080B58CB000AF3B600346FB710B46BB71AB
+:10B0B80013467B71FB7987F82830BB7987F82930EC
+:10B0C8007B7903F03F03DAB297F82A3062F305037D
+:10B0D80087F82A307B8D0A2262F389137B850A233D
+:10B0E80087F82F30BB6A7B610023FB610423BB61B7
+:10B0F80008233B621EE0144804F0C0F90346002B05
+:10B108000ED007F10C0307F110013A680E4804F05D
+:10B11800E6F8034687F82E3097F82E30002B0ED02D
+:10B128000120FFF711FC97F92F30DBB2013BDBB2AE
+:10B1380087F82F3097F92F30002BDCDC00E000BFB8
+:10B148003037BD4680BD00BF8403002080B582B083
+:10B1580000AF3B4600221A605A603B460422002199
+:10B16800F020FFF79DFF1420FFF7EEFB3B46062279
+:10B178000021F020FFF794FF1420FFF7E5FB3B4682
+:10B1880009220021F020FFF78BFF1420FFF7DCFBDA
+:10B198004D4BB3F81B309BB24C4AA2FB0323DB0890
+:10B1A8009BB21A46484BB3F813309BB202FB03F329
+:10B1B8001A46474B5B699A4211D9454B5A6913465F
+:10B1C8009B0013445B001A463F4BB3F813309BB205
+:10B1D800B2FBF3F39AB23C4BA3F8112006E03A4BCA
+:10B1E800B3F81B309AB2384BA3F81120364BB3F89A
+:10B1F80011309BB240F23252934208D9324B0022AE
+:10B2080042F032025A74002242F005029A742E4B20
+:10B21800B3F811309BB21A462B4BB3F80F309BB2E0
+:10B2280002FB03F32B4A82FB03129210DB17D31A9B
+:10B238001A46254BC3F80B20254B5B7A002B3ED0D2
+:10B24800214BB3F80F309BB2B3F5FA7F06D10A222F
+:10B258004FF496710020FFF7C9FE0BE01A4BB3F8C4
+:10B268000F309BB2184AB2F8112092B2194600204A
+:10B27800FFF7BCFE1420FFF767FB134BB3F813303E
+:10B288009BB2B3F5F57F17D9114BDB69002B05D1BC
+:10B2980003F04EF803460E4AD36110E003F048F875
+:10B2A80002460B4BDB69D31A42F20F72934206D95E
+:10B2B800074B01221A7602E0054B0022DA6100BF33
+:10B2C8000837BD4680BD00BFB0030020CDCCCCCC34
+:10B2D800040900206766666698B500AF03F028F891
+:10B2E8000246B34B1B68D31AB3F5FA7F20D9B14B8A
+:10B2F80000221A72AF4B00229A72AF4B00221A71C9
+:10B30800AD4B00221A72AC4B0022DA71AA4B002214
+:10B318009A71AA4B00229A60A84B0022DA60A74BC8
+:10B3280000221A61A64B0022DA60A54B00229A601F
+:10B33800A04B1B7A002B03D09E4B1B78002B0CD103
+:10B34800A04B0022DA7400221A759E4B00225A750F
+:10B3580000229A759B4B00221A769A4B9B7F002BF2
+:10B368000CD001210420FEF723FA02F0E1FF034686
+:10B37800954A13608F4B01221A7010E002F0D8FF33
+:10B388000246914B1B68D31A4EF66022934206D9A7
+:10B3980000210420FEF70CFA864B00221A700520C3
+:10B3A800FEF786FA03461A46824BDA72814B1B7AFD
+:10B3B800002B07D07F4B1B7B002B03D17D4B1B78C9
+:10B3C800002B02D17B4B00225A727A4BDB79092B76
+:10B3D80000F2518101A252F823F000BF0DB4000819
+:10B3E80041B400085DB400089BB40008DFB400084D
+:10B3F80021B500088BB5000831B60008E1B5000892
+:10B408006BB600086B4B00225A7000210320FEF730
+:10B41800CFF9684B1B7A002B00F03181654B1B7804
+:10B42800002B00F02C81634B1B7B002B40F0278105
+:10B438000120FFF78FFC22E1FFF7A0FC0346B3F5DC
+:10B448007A6F40F21E815B4B01225A720220FFF78D
+:10B4580081FC16E1574B00221A76564B0022DA611E
+:10B4680000210320FEF7A4F9524B5B7A002B03D18D
+:10B478000020FFF76FFC15E1524BDB7D002B00F03D
+:10B48800028101210020FFF781FD0320FFF762FC04
+:10B49800F9E0484B9B7A002B07D0464B5B7A002B90
+:10B4A80003D00420FFF756FCEFE0FFF767FC0346E4
+:10B4B80042F21072934240F2E8803E4B01225A73E6
+:10B4C800404B0A225A770020FFF744FC3F490420EA
+:10B4D800FFF73CF8D9E001210320FEF769F9354B65
+:10B4E800DB7A002B03D00520FFF734FCCFE0FFF711
+:10B4F80045FC0346B3F57A7F40F2C9802D4B012203
+:10B508001A73304B07225A770620FFF723FC30497D
+:10B518000420FFF71BF8BAE02A4BDB7D002B03D091
+:10B52800244B5B7A002B03D10620FFF713FCB9E00C
+:10B538000520FEF7BDF903461C460320FEF7A8F9CF
+:10B5480003469C4217D002F0F3FE0246214B1B68CB
+:10B55800D31AB3F57A7F40F29C801A4B07225A77A8
+:10B56800144B01221A730620FFF7F4FB1849042034
+:10B57800FEF7ECFF8DE002F0DBFE0346154A136090
+:10B5880087E0104B00225A7400229A740D4BB3F8CE
+:10B5980015309BB21D2B06D9FFF7F0FB034641F28D
+:10B5A8008832934277D90820FFF7D4FB73E000BFB5
+:10B5B8002C09002004090020CC080020D80800200D
+:10B5C800F4080020B0030020540900200C71010881
+:10B5D8001C7101085809002000210320FEF7E8F833
+:10B5E800314BDB7A002B07D100210020FFF7CEFC7E
+:10B5F8000720FFF7AFFB50E0FFF7C0FB0346B3F5AA
+:10B608007A7F4AD9284B01221A73284B07225A7786
+:10B6180000210020FFF7BAFC0720FFF79BFB244915
+:10B628000420FEF793FF38E01F4B9B7A002B03D1D1
+:10B638000920FFF78FFB32E0FFF7A0FB034642F239
+:10B64800107293422BD9184B01225A73174B0A22B6
+:10B658005A770020FFF77EFB16490420FEF776FF95
+:10B668001DE0FFF78BFB0346B3F57A6F19D902206B
+:10B67800FFF770FB15E00020FFF76CFB12E000BF3E
+:10B6880010E000BF0EE000BF0CE000BF0AE000BF02
+:10B6980008E000BF06E000BF04E000BF02E000BF12
+:10B6A80000E000BF00BF98BD04090020B0030020DF
+:10B6B8001C7101083C71010880B500AF3C4B5B7FF1
+:10B6C800002B03D03B4800F033F96FE0384B1B7870
+:10B6D800032B03D1384800F02BF967E0344B1B7873
+:10B6E800012B03D1354800F023F95FE0304B5B783C
+:10B6F8000D2B57D801A252F823F000BF3DB7000820
+:10B7080045B700084DB7000855B700085DB70008F1
+:10B7180065B700086DB7000875B700087DB7000861
+:10B7280085B700088DB7000895B700089DB70008D1
+:10B73800A5B70008224800F0FBF837E0214800F0E0
+:10B74800F7F833E01B4800F0F3F82FE01E4800F04C
+:10B75800EFF82BE01C4800F0EBF827E01B4800F05E
+:10B76800E7F823E0194800F0E3F81FE0174800F075
+:10B77800DFF81BE0154800F0DBF817E0144800F08C
+:10B78800D7F813E0124800F0D3F80FE0104800F0A3
+:10B79800CFF80BE00E4800F0CBF807E00A4800F0BD
+:10B7A800C7F803E0064800F0C3F800BF80BD00BF3B
+:10B7B800B003002060000020180000200C000020CA
+:10B7C80024000020300000203C0000204800002019
+:10B7D8005400002080B487B000AFF860B96011460B
+:10B7E8001A460B46FB801346BB80FA88BB889A42F0
+:10B7F80001D9BB88FB80BB88002B01D10123BB800A
+:10B80800FA8813461B029A1ABB8892FBF3F3FB8251
+:10B81800FB681B781A46FB8AC3F1FF0303FB02F29D
+:10B82800BB681B781946FB8A01FB03F31344204AC3
+:10B8380082FB03121A44D211DB17D31ADAB23B6A1D
+:10B848001A70FB685B781A46FB8AC3F1FF0303FB97
+:10B8580002F2BB685B781946FB8A01FB03F31344C9
+:10B86800134A82FB03121A44D211DB17D31ADAB235
+:10B878003B6A5A70FB689B781A46FB8AC3F1FF0340
+:10B8880003FB02F2BB689B781946FB8A01FB03F3B2
+:10B898001344074A82FB03121A44D211DB17D31A46
+:10B8A800DAB23B6A9A7000BF1C37BD4680BC70474D
+:10B8B8008180808080B483B000AF78607B681B781B
+:10B8C8001A46642302FB03F3174A82FB03121A4445
+:10B8D800D211DB17D21A154B1B689A637B685B7809
+:10B8E8001A46642302FB03F30F4A82FB03121A442D
+:10B8F800D211DB17D21A0D4B1B68DA637B689B7871
+:10B908001A46642302FB03F3074A82FB03121A4414
+:10B91800D211DB17D21A054B1B681A6400BF0C370B
+:10B92800BD4680BC704700BF818080801012002017
+:10B9380080B483B000AF7860054B7A6810685168AE
+:10B9480003C312891A8000BF0C37BD4680BC7047FC
+:10B958006409002080B582B000AF00233B7100234A
+:10B968007B710023BB710421094806F0AFFB082155
+:10B97800074806F0ABFB0C21054806F0A7FB3B1D6A
+:10B988001846FFF797FF00BF0837BD4680BD00BFC8
+:10B998001012002080B582B002AF02F0C9FC024646
+:10B9A800464B1B68D31A142B40F2858002F0C0FC6A
+:10B9B8000346424A1360424B5B8801339AB2404BBC
+:10B9C8005A803F4B1B78032B67D801A252F823F00B
+:10B9D800E9B900081BBA000847BA000879BA000894
+:10B9E800374B5A88374BDB781946374B00930B4651
+:10B9F80034493648FFF7EEFE314B5B88314AD2783E
+:10BA080093424ED92E4B01221A702D4B00225A8098
+:10BA180047E02B4B2B4A0433126811461980023336
+:10BA2800120C1A70264B5B88264A127993423AD92F
+:10BA3800234B02221A70224B00225A8033E0204BFB
+:10BA48005A88204B5B7919461F4B00930B461F49B8
+:10BA58001C48FFF7BFFE1A4B5B881A4A527993427B
+:10BA680023D9174B03221A70154B00225A801CE069
+:10BA7800134B144A043307321188927819809A704C
+:10BA88000F4B5B880F4A9279934210D90C4B0022D6
+:10BA98001A700B4B00225A8009E0094B00221A70D9
+:10BAA80006E000BF04E000BF02E000BF00E000BF06
+:10BAB8000548FFF7FFFE00BFBD4680BD70090020A6
+:10BAC8005C09002064090020600900206B0900203F
+:10BAD80080B500AF0A4B0B4A1A60094B4FF0FF3292
+:10BAE8005A60074B4FF480729A60054806F03CF89C
+:10BAF8000346002B01D0FFF7C1F800BF80BD00BF8F
+:10BB0800740900200028004080B584B000AF786038
+:10BB18007B681B680B4A934210D104F0B9FF0A4BAB
+:10BB2800DB69094A43F00063D361074BDB6903F023
+:10BB38000063FB60FB68054B01221A6000BF1037E9
+:10BB4800BD4680BD00280040001002403C0442422F
+:10BB5800024659B370B50C46CB0758BF1549154D69
+:10BB680048BF144986B054BF0B46134B14F0020F5C
+:10BB78000491124908BF294614F0040F104808BF61
+:10BB8800284614F0080F01900E480F4E08BF2E46A5
+:10BB980014F0100F18BF05460091CDE902650B4956
+:10BBA80005940420FEF7D2FC06B070BD04200849B5
+:10BBB800FEF7CCBC487501085071010854710108A2
+:10BBC80058710108647101085C7101088C710108E1
+:10BBD8006C71010830B54FF48072054683B0114985
+:10BBE800114807F06EFA08B903B030BD04460E4894
+:10BBF80007F079FE0246234614460C492A460420DB
+:10BC08000094FEF7A3FC03202146FFF7A1FF084894
+:10BC180000F0DCFE002CE7D0034803B0BDE830405C
+:10BC280007F010BBAC09002030130020C0710108D8
+:10BC3800FC71010838B51A4B0C46834213D129B35D
+:10BC4800B1F5807F16D802F073FB0346154D164AEE
+:10BC5800214616482B60136000F010FEBDE83840FE
+:10BC68001348FFF7B7BF0A46BDE838400520114919
+:10BC7800FEF76CBC4FF480730A4604200E49FEF7A9
+:10BC880065FCBDE838400A48FFF7A4BF05200B490A
+:10BC9800FEF75CFCBDE838400548FFF79BBF00BFD6
+:10BCA80030130020BC0C0020C00C0020AC09002080
+:10BCB8008872010818720108987201085472010804
+:10BCC800F8B5044607F00FFE294B05469C4232D0D2
+:10BCD800284EB44217D0284B9C4245D00346002238
+:10BCE80026490420FEF732FC29460020FFF730FFE2
+:10BCF800204607F0A7FA204607F03CFA2046BDE8A0
+:10BD0800F84001F01FB9034603221C490420FEF73E
+:10BD18001DFC29460320FFF71BFF204607F092FA77
+:10BD2800204607F027FA0022154B16481A70BDE87E
+:10BD3800F840FFF74FBF022217460E4E2B460F4919
+:10BD48000420FEF703FC29463846FFF701FF20468A
+:10BD580007F078FA204607F00DFAB442E3D02046FF
+:10BD6800BDE8F84001F0EEB805221746E6E700BF47
+:10BD7800E81200203013002058120020D872010861
+:10BD8800AE0C00202473010880B582B000AF786043
+:10BD98007B68164A934224D1154B00221A70154B22
+:10BDA8001B88002B1ED0134B1B881A4612491348B8
+:10BDB80008F0C0FF0E4B01221A700E4B1B881A4662
+:10BDC8000E490A4807F0B0F80346002B05D0084B87
+:10BDD80000221A700A4800F0F9FD064B00221A806A
+:10BDE80000E000BF0837BD4680BD00BF301300200B
+:10BDF800AE0C0020AC0C0020AC0B0020AC0A0020DC
+:10BE08003473010880B582B000AF02F091FA02469F
+:10BE1800A54B1B68D31A002B40F36B8202F088FAFB
+:10BE28000346A14A136000F097FDA04B1B78002B36
+:10BE380003D09E4B1A789E4B1A709C4B1B78032B91
+:10BE48001BD19C4B1B68002B05D102F071FA0346ED
+:10BE5800984A136014E002F06BFA0246954B1B688F
+:10BE6800D31A1A4642F20F739A4209DD8F4B002209
+:10BE78001A70904B00221A6002E08E4B00221A6062
+:10BE88008A4B1B78012B19D18B4B1B68002B05D1D2
+:10BE980002F04EFA0346884A136012E002F048FAAC
+:10BEA8000246854B1B68D31AB3F57A7F09DB7F4BB3
+:10BEB80000221A70804B00221A6002E07E4B00229A
+:10BEC8001A6002F035FA02467C4B1B68D31A0A2B1B
+:10BED8005EDD02F02DFA0246794B1B68D31AC72B98
+:10BEE80006DD00F09BFB02F023FA0346744A136058
+:10BEF800744B1B78002B08D073490420FEF726FBEF
+:10BF080000F02CFB6F4B00221A70684B1B78012B3A
+:10BF180007D0664B1B78032B03D0644B5B7F002B49
+:10BF28001AD002F005FA0246684B1B68D31AB3F51B
+:10BF38007A7F11DD02F0FCF90346644A1360644914
+:10BF48000520FEF703FB594B1B78032B02D1642015
+:10BF5800FEF7BAF800F002FB5E4B1B780C2B03D0FF
+:10BF68005C4B1B780B2B13D102F0E2F90246574BBE
+:10BF78001B68D31AB3F57A7F0ADD02F0D9F90346B4
+:10BF8800524A136054490520FEF7E0FA00F0E6FA39
+:10BF9800524B1B68002B0CD002F0CAF902464F4BDB
+:10BFA8001B68D31A1A4641F288339A4201DD0123ED
+:10BFB80000E00023FB71494B1B68002B0CD002F0FA
+:10BFC800B7F90246454B1B68D31A1A4642F210735A
+:10BFD8009A4201DD012300E00023BB71BB797B712C
+:10BFE800FB79002B0AD03E4B1B78002B06D13D492C
+:10BFF8000420FEF7ABFA3A4B01221A70BB79002BEA
+:10C008000AD0394B1B78002B06D138490420FEF79B
+:10C018009DFA354B01221A70FB79002B05D1304B64
+:10C0280000221A70304B00221A70314ABB79137003
+:10C03800304B1B78052B00F2138101A252F823F034
+:10C0480061C0000889C0000805C1000849C100088E
+:10C0580085C10008DDC1000800210520FDF7A8FB07
+:10C068000020FDF739FF244B1B78002B00F0ED80F2
+:10C078007B79002B40F0E9801E4B02221A70E4E025
+:10C0880000210520FDF794FB0220FDF725FF074B53
+:10C098005B7F002B40F0DB807B79002B40F0D78062
+:10C0A800144B02221A70D2E0140D0020B0030020B5
+:10C0B800A8090020180D00201C0D0020A009002050
+:10C0C800200D0020AF0C002050730108A4090020A7
+:10C0D80064730108100D00207C730108B40C002063
+:10C0E800BA0C002098730108BB0C0020AC7301083F
+:10C0F800B90C0020110D0020C011002001210520DD
+:10C10800FDF756FB0120FDF7E7FE7C4B1B78012B62
+:10C1180003D07A4B1B78022B02D1794B03221A7079
+:10C12800784B5B7F002B00F09480764B5B7F1A4640
+:10C1380075490420FEF70AFA714B01221A7088E04B
+:10C1480001210520FDF734FB0420FDF7C5FE6D4BEA
+:10C158001B78022B06D16D490720FEF7F7F9684BCB
+:10C1680004221A70654B1B78002B74D1684907208C
+:10C17800FEF7ECF9624B02221A706CE001210520EF
+:10C18800FDF716FB634B1B78022B03D9614B1B7819
+:10C19800042B03D10320FDF79FFE04E05D4B1B78C1
+:10C1A8001846FDF799FE554B1B78002B06D15849C8
+:10C1B8000720FEF7CBF9524B02221A70564B1B7818
+:10C1C800002B4AD055490720FEF7C0F94C4B0522F1
+:10C1D8001A7042E000210520FDF7EAFA0D20FDF76C
+:10C1E8007BFE02F0A5F802464D4B1B68D31AB3F547
+:10C1F8007A7F1ADD02F09CF80346494A1360464BE1
+:10C208001B78002B0AD0444B1B78FF2B0DD0424BD8
+:10C218001B78013BDAB2404B1A7006E0414907200F
+:10C22800FEF794F9364B02221A703B4B1B78002B11
+:10C2380015D1324B1B78012B11D13B490720FEF752
+:10C2480085F92F4B03221A7009E000BF08E000BFF0
+:10C2580006E000BF04E000BF02E000BF00E000BF4E
+:10C26800BB79002B14D0274B0022DA75294B00220A
+:10C278001A706420FDF728FF214B1B78012B24D06E
+:10C288001F4B1B78002B20D01D4B01221A701CE07D
+:10C29800264B1B78012B03D11A4B0022DA7514E0C8
+:10C2A800234B1B78002B14BF01230023DBB21A4653
+:10C2B800144BDA75134BDB7D002B06D1114B5B78E1
+:10C2C800032B02D10F4B0022DA750C4B1B78012B84
+:10C2D80007D00A4B1B78022B03D0084B1B78032B83
+:10C2E80003D1084B01229A7704E0064B00229A7783
+:10C2F80000E000BF0837BD4680BD00BF0500002034
+:10C30800110D0020B0030020D4730108FC7301084C
+:10C3180020740108100D0020B00C002030740108B2
+:10C32800240D00204074010868740108A809002041
+:10C33800A909002080B500AFFDF7A4FE6420FDF731
+:10C34800C3FE134B4FF47A721A80114B96225A800F
+:10C358000F4B40F232529A800D4B0A22DA800C4B76
+:10C3680049F640429A6001F0E3FF0346094A136028
+:10C37800084B1B68084A13600848FFF72BFC00F0BD
+:10C38800E3F807490720FEF7E1F800BF80BD00BFCA
+:10C3980088090020BC0C0020C00C0020A4740108EF
+:10C3A800AC740108E9B3844600B58E464FF6FF70B9
+:10C3B8001D49E6441CF8012B424042F300030B40A0
+:10C3C80083EA520343F300020A40C3F34E035A4080
+:10C3D80042F300030B40C2F34E02534043F3000202
+:10C3E8000A40C3F34E035A4042F300030B40C2F322
+:10C3F8004E02534043F300020A40C3F34E035A402F
+:10C4080042F300030B40C2F34E02534043F30000D3
+:10C418000840C3F34E035840E64580B2CAD15DF8E0
+:10C4280004FB4FF6FF70704701A0FFFF80B586B090
+:10C4380000AFB9607B600346FB731346BB81BB89C1
+:10C448000333FB82FA8A3B8C9A4201D9002329E004
+:10C458007B68FA7B1A70BB89002B09D0BB68002B5C
+:10C4680006D07B680133BA89B968184608F062FCBF
+:10C47800BB8901339BB219467868FFF793FF0346DF
+:10C48800BB82BB8901337A681344BA8AD2B21A7064
+:10C49800BB8A1B0A99B2BB8902337A681344CAB2B1
+:10C4A8001A70FB8A18461837BD4680BD80B586B01D
+:10C4B80002AF03463960FB711346BB80BA88F8792E
+:10C4C8004FF480730093194B3968FFF7AFFF0346A9
+:10C4D800FB81FB89002B1FD0154B1B78002B09D043
+:10C4E800FB891A461149134808F024FC124AFB89B3
+:10C4F800138011E00E4B01221A70FB891A460B4972
+:10C508000E4806F011FD0346002B05D0084B00220B
+:10C518001A700B4800F05AFA01F00AFF0346094A5C
+:10C52800136000BF1037BD4680BD00BFAC0A0020B5
+:10C53800AE0C0020AC0B0020AC0C00203013002007
+:10C54800B8740108A009002080B500AF00220021BE
+:10C558005220FFF7ABFF00BF80BD00BF80B500AF22
+:10C56800002200215320FFF7A1FF00BF80BD00BFBC
+:10C5780080B582B000AF01F0DBFE78601E4B1B680F
+:10C588007A68D31A3B601C4A7B6813601B4BB3F86C
+:10C5980013309BB21A46194BB3F815309BB202FB05
+:10C5A80003F3174A82FB03129210DB17D31A1A46B9
+:10C5B800144B1A60134B1B683A6802FB03F3124AC8
+:10C5C800A2FB03239A09114B1B6813440F4A1360FB
+:10C5D8000F4B1B78012B02D10C4B00221A600B4B1E
+:10C5E8001B680C4AA2FB0323DB0A0B4A136000BF3B
+:10C5F8000837BD4680BD00BF280D0020B0030020CD
+:10C608006766666694090020D34D62109809002079
+:10C61800100D0020C5B3A2919C09002080B500AF81
+:10C62800FFF7A6FFFDF778FD03461A462E4B1A7052
+:10C638002E4BDA7A2C4B5A702D4BB3F813309AB232
+:10C64800294B5A802B4B1B78002B03D0264B4FF4D9
+:10C65800FA725A80264BB3F815309AB2224B9A8058
+:10C66800254B1B68204AC2F80630244B1B681E4A1B
+:10C67800C2F80A30224B1B78042B04D1214B1A78BC
+:10C68800194BDA7402E0184B0022DA741E4B1A8830
+:10C69800154B9A821C4B5A88134BDA821A4B9A888C
+:10C6A800114B1A83184BDA880F4B5A83164B9B6829
+:10C6B8000D4AD361154B1A780B4B9A740A4A00231A
+:10C6C80043F07F4343F47F0343F43B4343F0A00329
+:10C6D800D381002343F00D03138220220249502006
+:10C6E800FFF7E4FE00BF80BDC40C00200409002051
+:10C6F800B0030020B80C0020940900209C090020F9
+:10C70800110D00200500002088090020B20C00202F
+:10C718004038C0B209289ABF024B33F810004FF6D0
+:10C72800FF707047E8780108F8B504460D4601F037
+:10C73800FFFD0023424A434E1370434A3060137092
+:10C74800424A1370A4F14003092B71D8DFE803F0C3
+:10C7580009145B4E551B2A2E4A0501F0E9FD30608D
+:10C76800F8BD28783A4B642828BF64201B78394ADA
+:10C77800032B107043D1F8BD2B78374A003B18BF04
+:10C7880001231370F8BD2B889AB2B2F5FA7F43D013
+:10C7980000202F4A3149A2F80F3008706B88A2F8A0
+:10C7A8001B30F8BD2A782E4B1A70F8BD2D4F2C4639
+:10C7B8003E4605F1200C354620686168A268E368AA
+:10C7C800103464450FC506F11006F4D16168A268FB
+:10C7D800206807C6244A7B881D49A2FB0323DB087F
+:10C7E8008B70F8BD2A78214B1A70F8BD2B78204A37
+:10C7F800003B18BF01231370F8BD164B1878BDE82D
+:10C80800F840FDF761BC2B78002BA9D0BDE8F840B3
+:10C8180005201849FDF79ABE012200212C240A2080
+:10C828000E4D0B4B2A701A74DC73D8761977F8BD45
+:10C838002246BDE8F84005200F49FDF787BE00BF36
+:10C84800B90C0020B40C0020BA0C0020BB0C00204E
+:10C85800B00300206A000020A9090020B80C0020BD
+:10C86800B20C0020E40C0020CDCCCCCC100D002064
+:10C87800B10C0020D4740108EC7401082DE9F041D2
+:10C8880002290C46054684B030D9431813F8012C08
+:10C8980013F8027CCE1E023989B247EA022790F8C3
+:10C8A8000080FFF77FFD8742B6B212D14046FFF7FE
+:10C8B8002FFF4FF6FF7290423AD086422AD1324675
+:10C8C800FEB931464046FFF72FFF012004B0BDE80E
+:10C8D800F0810290234642460420CDE900671849BA
+:10C8E800FDF734FE002004B0BDE8F081D9B101297C
+:10C8F80002784FF0050009D06B781249FDF726FE43
+:10C90800F0E74046691CFFF70FFFDEE70E49FDF729
+:10C918001DFEE7E703464246CDE900640B490420C3
+:10C92800FDF714FEDEE70A490520FDF70FFED9E7FB
+:10C9380023464246074900960520FDF707FED1E742
+:10C94800DC750108A87501087C7501088476010862
+:10C958004C7501084076010880B582B000AF01F03F
+:10C96800E7FC0246144B1B68D31A7B6001F0E0FC1D
+:10C978000246124B1B68D31A3B607B6840F2DB52BD
+:10C98800934215DD3B6840F2DB52934210DD0C4BBD
+:10C9980093F84230DBB2202B0AD10A48FFF71AF984
+:10C9A800094800F013F801F0C3FC0346034A13607A
+:10C9B80000BF0837BD4680BDBC0C0020C00C00205D
+:10C9C80030130020DC760108E876010880B586B0CF
+:10C9D80004AF78600D4806F086FF03460B4A92F8CC
+:10C9E8004120D2B21146094A92F84220D2B21046EA
+:10C9F800074A12780292019000917A68054904204A
+:10CA0800FDF7A4FD00BF0837BD4680BD30130020E8
+:10CA1800AE0C00200077010880B400AF0E4B1B68F5
+:10CA28001B689AB20D4B1A800B4B1B685A790B4B3B
+:10CA38009A70094B1B681A79084BDA70074B012268
+:10CA48009A80064B0022DA80044B11221A8100BF1B
+:10CA5800BD4680BC704700BF00000020B011002018
+:10CA680080B500AF4FF4047200210D4808F01AF9A0
+:10CA78004FF4047200210B4808F014F90A4B002205
+:10CA88001A7001F055FC0346084A1360074B1B68EF
+:10CA9800074A136000F014FA00F036FA00BF80BDB0
+:10CAA8002C0D00203C0F00204D11002050110020BB
+:10CAB8005411002080B500AF01F03AFC0246214B2A
+:10CAC8001B68D31A002B3BDD01F032FC03461D4ADC
+:10CAD800136000F0ADF900F0F3F900F015FA1A4B05
+:10CAE80093F84130DBB2212B14D1184BD3F80C3218
+:10CAF800002B0FD001F01CFC0246144BD3F80C326B
+:10CB0800D31A642B06DD104806F034FB0F4B0022C5
+:10CB1800C3F80C220D4B93F80832DBB2002B10D06F
+:10CB2800094B93F84130DBB2212B0AD0084800F0BA
+:10CB380087FA064B002283F8082200F0C1F900E0CA
+:10CB480000BF80BDBC110020E81200202C0D002081
+:10CB58002C0F00202E4B70B51A6803680C469342C0
+:10CB680019D02C4A1268934204D02B4A1268934277
+:10CB78004AD070BD99B329492246A1F5807000F0CA
+:10CB880049F910BB224605202549FDF7DFFCBDE821
+:10CB9800704000F0B9B991B301F0CAFB0022214BF3
+:10CBA80021491A700346214D214E2246A1F5807075
+:10CBB8002B60336000F02EF90546A8B100221D4B0A
+:10CBC8001A70BDE8704000F07BB90122194B1A4871
+:10CBD8001A7000F035FABDE8704000F095B91749B1
+:10CBE8000520FDF7B3FCC6E7224615490520FDF7E9
+:10CBF800ADFC14222946284600F0B6F8DEE71149B4
+:10CC08000520FDF7A3FCC7E7BDE87040FFF712B8A1
+:10CC1800E812002058120020301300203C10002099
+:10CC2800947701084D1100202C0E0020541100208B
+:10CC3800501100204C1100203C1100207077010891
+:10CC4800507701082C770108084B1A68036893424B
+:10CC580004D0074A1268934205D070470022054B5A
+:10CC6800C3F80C227047FFF78FB800BFE812002006
+:10CC7800301300202C0D0020C9B34FF0FF3300B54E
+:10CC88001C4A014410F801EB8EEA030E4EF3000330
+:10CC98004EF3400C134083EA5E030CEA020C8CEA64
+:10CCA800530C43F340034CF3400E134083EA5C03F8
+:10CCB8000EEA020E8EEA530E43F340034EF3400C85
+:10CCC800134083EA5E030CEA020C8CEA530C43F32C
+:10CCD800400313404CF3400E83EA5C0381420EEAA2
+:10CCE800020C8CEA5303CDD1D8435DF804FB084607
+:10CCF800704700BF2083B8ED70B51546137060B358
+:10CD080059B39446022302784C1EA4B21C440CF872
+:10CD1800012F05E010F8011FFB2B0CF8011F20D094
+:10CD2800A34203F10103F5D1A1B24E1CB6B22846C5
+:10CD3800FFF7A2FF0346711CB21C2B55C3F3072C47
+:10CD4800C3F3074489B292B2C3F3076305F806C078
+:10CD5800F01C6C54AB5480B270BD012402262146ED
+:10CD6800E5E7002070BD00BF38B51346114AFFF74C
+:10CD7800C3FF80B10446104890F84130202B0BD1F6
+:10CD88000C4D224629460C4806F0CEF858B901F059
+:10CD9800CFFAC5F80C0238BD06F0ECF907490520B2
+:10CDA800FDF7D4FBECE704490548BDE8384000F03E
+:10CDB80005B900BF2C0D0020E8120020B477010847
+:10CDC800E47701082DE978414B1FFB2B13D8043970
+:10CDD8008CB203199D7890465A782D0445EA0225AD
+:10CDE800025DDB781543214645EA03650646FFF7F1
+:10CDF80043FF854202D00020BDE87881731CC8F843
+:10CE080004303378013C88F8003088F8014001206C
+:10CE1800BDE8788110B504460846114604F500724D
+:10CE2800FFF7D0FF18B10123184684F8083210BD67
+:10CE380080B582B000AF01F07BFA78601A4B1B68AE
+:10CE48007A68D31A3B603B6841F28732934212DD1D
+:10CE5800164B1B78DBB2002B09D1154B002283F847
+:10CE6800082241F2883213490520FDF76FFB0F4B6A
+:10CE780001221A7002E00D4B00221A700E4B93F833
+:10CE88004230DBB2202B0AD10C4B1B687A68D31ACC
+:10CE9800C72B04DD00F014F8084A7B68136000BF54
+:10CEA8000837BD4680BD00BF501100204D1100203D
+:10CEB8002C0D002000780108E812002054110020F1
+:10CEC80080B500AF0C4B93F84230DBB2202B11D168
+:10CED8000A4B93F80832DBB2002B0BD1FF2208492A
+:10CEE800054806F0EEF80346002B03D00249054832
+:10CEF80000F064F800BF80BDE81200202C0D00206F
+:10CF08002C0E00202478010880B500AF0A4B93F856
+:10CF18004230DBB2202B0DD1FF220849064806F02B
+:10CF280073F80346002B04D00349054800F046F87F
+:10CF380000E000BF80BD00BF581200203C10002058
+:10CF48003C78010880B582B000AF78607B68154AEC
+:10CF5800934215D11349144800F030F8114806F0EF
+:10CF680071F9104806F006F9104B0022C3F80C229C
+:10CF7800FFF7A6FF01F0DCF903460D4A13600CE049
+:10CF88007B680C4A934208D10A490B4800F016F80E
+:10CF9800084806F057F9FFF7B7FF00BF0837BD4646
+:10CFA80080BD00BFE8120020547801082C0D002035
+:10CFB80054110020581200206878010890B587B0F5
+:10CFC80004AF786039607B68002B1CD03B68002B6D
+:10CFD80019D03B681B681C46386806F084FC02467A
+:10CFE8003B6893F84130DBB219463B6893F842300E
+:10CFF800DBB202930191009223467A680449042027
+:10D00800FDF7A4FA00E000BF0C37BD4690BD00BF95
+:10D018007C78010880B400AFBFF34F8F00BF064B88
+:10D02800DB6803F4E0620449044B1343CB60BFF3AD
+:10D038004F8F00BF00BFFDE700ED00E00400FA05D8
+:10D0480080B584B000AF78601323FB737B681B78CE
+:10D05800C22B00F3CC80B02B0FDA602B42D0602BB0
+:10D0680000F3C580502B43D0502B00F3C080012B18
+:10D0780000F0A680402B2DD0B9E0B03B122B00F277
+:10D08800B68001A252F823F0FFD00008F7D10008BB
+:10D09800F7D10008F7D10008F7D10008A7D1000898
+:10D0A800F7D10008F7D10008F7D10008F7D1000838
+:10D0B800F7D10008F7D10008F7D10008F7D1000828
+:10D0C800F7D10008F7D100083DD10008A1D1000828
+:10D0D80075D1000800F0B2F8402258214B48FFF7FC
+:10D0E80043FE8FE060220A214948FFF73DFE89E0B0
+:10D0F800FDF7CAF986E07B685B780B2B17D17B6854
+:10D108005A68444B1068516803C31189927A198090
+:10D118009A70414B01221A703E4BD3F803303D4AB6
+:10D128003E490720FDF712FA1223FB7362E013232E
+:10D13800FB735FE07B685B78012B14D17B685B68CD
+:10D148001B781A464FF47A7302FB03F31A46344BE2
+:10D158005A61334B5B691A4632490720FDF7F6F9E5
+:10D168001223FB7346E01323FB7343E07B685B7871
+:10D17800012B0ED17B685B681A782B4B1A702A4BEF
+:10D188001B781A4629490720FDF7E0F91223FB739B
+:10D1980030E01323FB732DE01323FB732AE01222E4
+:10D1A80000210020FFF7E0FD00BF214B93F841303C
+:10D1B800DBB2212BF9D00A2001F0C4F8FFF72AFFCF
+:10D1C8007B685B78092B0FD17B685A68194B10680C
+:10D1D800516803C3127A1A70174B1B78DBB2012B04
+:10D1E8000FD01223FB7305E01323FB7302E0132314
+:10D1F800FB7300BFFB7B1A4600210020FFF7B4FD3C
+:10D2080000E000BF1037BD4680BD00BF58110020A8
+:10D21800B011002078000020C0110020AC7801086F
+:10D2280004090020C0780108B0030020D478010860
+:10D23800E81200206C0000204C11002080B500AFDF
+:10D248008F4B9A788F4B9A708D4BD3F807308D4A55
+:10D25800C2F803308A4BB3F80F309AB2894BA3F85F
+:10D268000720874BB3F81B309AB2864BA3F80920E6
+:10D27800834BB3F813309AB2824BA3F80B20804B40
+:10D28800B3F815309AB27F4BA3F80D207C4B1A7E69
+:10D298007C4BDA737A4B5A7F7A4B5A70784B5A78B0
+:10D2A800784B1A70774B00221A7400225A74754B07
+:10D2B80000229A74734B0022DA7400221A75042033
+:10D2C800FCF7E6FA034603F00103D9B26D4A537D31
+:10D2D80061F3000353750320FCF7DAFA034603F001
+:10D2E8000103D9B2674A537D61F3410353750020A6
+:10D2F800FCF7CEFA034603F00103D9B2614A537D25
+:10D3080061F3820353755F4A537D23F00803537515
+:10D318000320FCF7CDFA0346002B0CBF01230023A2
+:10D32800D9B2584A537D61F304135375FDF798F841
+:10D338000346002B14BF01230023D9B2514A537D61
+:10D3480061F3451353754F4A537D23F040035375DA
+:10D358004D4B1B7A03F00103D9B24A4A537D61F35E
+:10D36800C71353750020FCF7C9FB03465AB2454B57
+:10D378005A760120FCF7C2FB03465AB2414B9A7613
+:10D38800414B1B6A5AB23F4BDA763E4B00221A7762
+:10D398003C4B00225A773B4B00229A770022DA77DF
+:10D3A800384B002283F82020384B9B689AB2354BC3
+:10D3B800A3F82120354BDB689AB2324BA3F823201F
+:10D3C800324B1B699AB22F4BA3F82520112200215A
+:10D3D8002F4807F067FC2B4B002283F83820294B95
+:10D3E800002283F83920002283F83A20254B0022B6
+:10D3F80083F83B20002283F83C20042200212548A2
+:10D4080007F050FC1F4B002283F84120002283F8CC
+:10D418004220002283F84320002283F84420194B3D
+:10D42800002283F84720174B002283F84620154B2B
+:10D43800002283F84520134B002283F8482000225D
+:10D4480083F849200F4B002283F84A200822002144
+:10D45800114807F027FC0B4B002283F85320094B97
+:10D46800002283F85420002283F85520054B00221F
+:10D4780083F85620002283F8572000BF80BD00BFE4
+:10D48800B00300205811002004090020D80800200B
+:10D498007F11002095110020A311002080B485B0D1
+:10D4A80000AF78607B68002B18D07B6800221A6078
+:10D4B8007B6800229A807B680022DA800023FB8147
+:10D4C80008E0FA897B680232002143F82210FB89C0
+:10D4D8000133FB81FB89072BF3D900E000BF143728
+:10D4E800BD4680BC704780B485B000AF78603960B5
+:10D4F8007B68002B01D13B6856E07B68DB88072BF3
+:10D5080027D87B689B881A467B680232396843F8BB
+:10D5180022107B681A683B681A447B681A607B682B
+:10D528009B8801339AB27B689A807B689B88072B1B
+:10D5380002D97B6800229A807B68DB8801339AB223
+:10D548007B68DA807B681B687A68D28893FBF2F381
+:10D558002AE07B689B881A467B68023253F822309F
+:10D56800FB607B689B881A467B680232396843F8FF
+:10D5780022107B681A683968FB68CB1A1A447B68E2
+:10D588001A607B689B8801339AB27B689A807B68B3
+:10D598009B88072B02D97B6800229A807B681B68CE
+:10D5A800002B00DA0733DB1018461437BD4680BC61
+:10D5B8007047000080B485B000AF154B9B69144AD2
+:10D5C80043F001039361124B9B6903F00103BB60B5
+:10D5D800BB680F4BDB690E4A43F08053D3610C4B99
+:10D5E800DB6903F080537B607B680A4B5B68FB60F8
+:10D5F800FB6823F0E063FB60FB6843F00073FB60AB
+:10D60800044AFB68536000BF1437BD4680BC7047AE
+:10D618000010024000000140FEE700BFFEE700BF27
+:10D62800FEE700BFFEE700BFFEE700BF704700BF90
+:10D63800704700BF704700BF00F068BE10B5094CC6
+:10D6480001224FF40061204603F009FA064802F06F
+:10D65800F7FD2046BDE8104000224FF4006103F0BA
+:10D66800FEB900BF000C0140C0020020014802F0D2
+:10D67800E7BD00BF44140020014802F0E1BD00BF2F
+:10D6880000140020014802F0DBBD00BF7813002021
+:10D69800014802F0D5BD00BFBC13002010B5094CED
+:10D6A80001224FF40061204603F0D9F9064801F041
+:10D6B80023F82046BDE8104000224FF4006103F033
+:10D6C800CEB900BF000C01409002002010B5094CF3
+:10D6D80001224FF48061204603F0C1F9064802F0A8
+:10D6E80047F82046BDE8104000224FF4806103F05F
+:10D6F800B6B900BF000C01405C03002010B5094C0E
+:10D7080001224FF40061204603F0A9F9064804F00D
+:10D7180087FD2046BDE8104000224FF4006103F069
+:10D728009EB900BF000C0140C8110020014805F057
+:10D738002DBE00BFA012002010B5084C01222021E8
+:10D74800204603F08CF9064805F020FE2046BDE887
+:10D7580010400022202103F082B900BF00080140D8
+:10D76800E812002010B5084C01224021204603F0A1
+:10D7780076F9064805F00AFE2046BDE8104000226A
+:10D78800402103F06CB900BF0008014030130020AD
+:10D7980010B5084C01220421204603F060F9064820
+:10D7A80005F0F4FD2046BDE810400022042103F0F6
+:10D7B80056B900BF001001405812002010B5094C9E
+:10D7C80001224FF48061204603F049F9064801F030
+:10D7D800CFFF2046BDE8104000224FF4806103F0DF
+:10D7E8003EB900BF000C01408403002010B5094C6D
+:10D7F80001224FF48061204603F031F9064801F018
+:10D80800B7FF2046BDE8104000224FF4806103F0C6
+:10D8180026B900BF000C01408403002080B400AF8B
+:10D8280001231846BD4680BC704780B582B000AF62
+:10D838007860396007F03EFA034616221A604FF006
+:10D84800FF3318460837BD4680BD80B582B000AFAB
+:10D8580078604FF0FF317868FFF7E7FF00BFFDE71A
+:10D8680080B586B000AFF860B9607A6000237B614C
+:10D878000AE0AFF300800146BB685A1CBA60CAB21E
+:10D888001A707B6901337B617A697B689A42F0DBA5
+:10D898007B6818461837BD4680BD80B483B000AF9A
+:10D8A80078604FF0FF3318460C37BD4680BC704790
+:10D8B80080B483B000AF786039603B684FF40052A1
+:10D8C8005A60002318460C37BD4680BC704780B4A8
+:10D8D80083B000AF7860012318460C37BD4680BC82
+:10D8E800704780B485B000AFF860B9607A600023F3
+:10D8F80018461437BD4680BC7047000080B586B016
+:10D9080000AF7860144A154BD31A7B617B693B6181
+:10D91800134B1B68002B02D1114B124A1A60104B93
+:10D928001A687B6813443A699A4207D207F0C2F929
+:10D9380003460C221A604FF0FF3309E0084B1B68BE
+:10D94800FB60074B1A687B681344054A1360FB6841
+:10D9580018461837BD4680BD0000012000040000AD
+:10D96800C4110020D815002080B400AF00BFBD4608
+:10D9780080BC704780B58EB000AF07F12803002245
+:10D988001A605A609A60DA6007F1200300221A6070
+:10D998005A603B1D00221A605A609A60DA601A6168
+:10D9A8005A619A61384B394A1A60374B00225A60DB
+:10D9B800354B00229A60344B4FF6FF72DA60324BD7
+:10D9C80000221A61304B00229A612F4804F0D5F9E1
+:10D9D8000346002B01D0FDF751F94FF48053BB6289
+:10D9E80007F128031946284804F028FE0346002BAF
+:10D9F80001D0FDF743F9244804F00EFA0346002B42
+:10DA080001D0FDF73BF9204804F008FB0346002B42
+:10DA180001D0FDF733F930233B6200237B6207F125
+:10DA280020031946184805F0B7F90346002B01D022
+:10DA3800FDF724F900237B600123BB600023FB6012
+:10DA480000237B613B1D002219460F4804F0D8FCD7
+:10DA58000346002B01D0FDF711F960237B600023FA
+:10DA6800BB603B1D04221946074804F025FD034608
+:10DA7800002B01D0FDF702F9034800F0CFF800BFF2
+:10DA88003837BD4680BD00BFC811002000040040E3
+:10DA980080B58EB000AF07F1280300221A605A60E3
+:10DAA8009A60DA6007F1200300221A605A603B1D71
+:10DAB80000221A605A609A60DA601A615A619A61A3
+:10DAC800374B384A1A60364B4FF434725A60344B2D
+:10DAD80000229A60324B6422DA60314B00221A61CC
+:10DAE8002F4B00229A612E4804F047F90346002B79
+:10DAF80001D0FDF7C3F84FF48053BB6207F1280348
+:10DB08001946274804F09AFD0346002B01D0FDF77B
+:10DB1800B5F8234804F082FA0346002B01D0FDF73C
+:10DB2800ADF800233B6200237B6207F1200319460E
+:10DB38001B4805F031F90346002B01D0FDF79EF88C
+:10DB480060237B600023BB600023FB6000237B61B4
+:10DB58003B1D04221946124804F0AEFC0346002B74
+:10DB680001D0FDF78BF83B1D082219460C4804F03C
+:10DB7800A3FC0346002B01D0FDF780F83B1D0C22C7
+:10DB88001946074804F098FC0346002B01D0FDF71E
+:10DB980075F8034800F042F800BF3837BD4680BD2D
+:10DBA800101200200008004080B584B000AF7860F3
+:10DBB8007B681B68164A934214D1164BDB69154AD9
+:10DBC80043F00203D361134BDB6903F00203FB60EC
+:10DBD800FB68002206211D2002F0C5F81D2002F076
+:10DBE800DEF810E07B681B680B4A93420BD1094BA7
+:10DBF800DB69084A43F00403D361064BDB6903F091
+:10DC08000403BB60BB6800BF1037BD4680BD00BFC2
+:10DC180000040040001002400008004080B58AB0AF
+:10DC280000AF786007F1140300221A605A609A6006
+:10DC3800DA607B681B68264A934218D1254B9B699A
+:10DC4800244A43F004039361224B9B6903F00403C5
+:10DC58003B613B6980237B610223BB6102233B62FA
+:10DC680007F1140319461C4802F05EFD2BE07B689F
+:10DC78001B681A4A934226D1164B9B69154A43F0F2
+:10DC880020039361134B9B6903F02003FB60FB683F
+:10DC98004FF460437B610223BB6102233B6207F1BF
+:10DCA800140319460E4802F03FFD0E4B5B687B6279
+:10DCB8007B6A43F0E0637B627B6A43F480537B6258
+:10DCC800084A7B6A536000BF2837BD4680BD00BF45
+:10DCD8000004004000100240000801400008004015
+:10DCE800001401400000014080B500AF114B124AFA
+:10DCF8001A60104B4FF416525A600E4B00229A606D
+:10DD08000C4B0022DA600B4B00221A61094B0C22E3
+:10DD18005A61084B00229A61064B0022DA610548D5
+:10DD280005F0B2F80346002B01D0FCF7A7FF00BFAF
+:10DD380080BD00BF581200200050004080B500AFE1
+:10DD4800114B124A1A60104B4FF4E1325A600E4BD5
+:10DD580000229A600C4B0022DA600B4B00221A61F9
+:10DD6800094B0C225A61084B00229A61064B00228B
+:10DD7800DA61054805F088F80346002B01D0FCF766
+:10DD88007DFF00BF80BD00BFA01200200038014009
+:10DD980080B500AF114B124A1A60104B4FF4E132B4
+:10DDA8005A600E4B00229A600C4B0022DA600B4B33
+:10DDB80000221A61094B0C225A61084B00229A6111
+:10DDC800064B0022DA61054805F05EF80346002B91
+:10DDD80001D0FCF753FF00BF80BD00BFE812002050
+:10DDE8000044004080B500AF114B124A1A60104B36
+:10DDF8004FF4E1325A600E4B00229A600C4B00221D
+:10DE0800DA600B4B00221A61094B0C225A61084B4D
+:10DE180000229A61064B0022DA61054805F034F8C1
+:10DE28000346002B01D0FCF729FF00BF80BD00BFCF
+:10DE3800301300200048004080B592B000AF7860F1
+:10DE480007F1300300221A605A609A60DA607B6832
+:10DE58001B68924A934245D1914BDB69904A43F43F
+:10DE68008013D3618E4BDB6903F48013FB62FB6A7A
+:10DE78008B4B9B698A4A43F010039361884B9B69DB
+:10DE880003F01003BB62BB6A854B9B69844A43F06D
+:10DE980020039361824B9B6903F020037B627B6ABA
+:10DEA8004FF480533B6302237B630323FB6307F137
+:10DEB800300319467B4802F037FC04233B630023F8
+:10DEC8007B630023BB6307F130031946764802F0F1
+:10DED8002BFC00220521352001F045FF352001F0FB
+:10DEE8005EFF93E17B681B68704A93423AD16C4BA2
+:10DEF8009B696B4A43F480439361694B9B6903F4C4
+:10DF080080433B623B6A664B9B69654A43F0040366
+:10DF18009361634B9B6903F00403FB61FB694FF456
+:10DF280000733B6302237B630323FB6307F1300326
+:10DF380019465F4802F0F8FB4FF480633B63002307
+:10DF48007B630023BB6307F130031946584802F08E
+:10DF5800EBFB00220521252001F005FF252001F01B
+:10DF68001EFF53E17B681B68524A934240F0AE8023
+:10DF78004B4BDB694A4A43F40033D361484BDB69B6
+:10DF880003F40033BB61BB69454B9B69444A43F0CA
+:10DF980020039361424B9B6903F020037B617B69FB
+:10DFA80020233B6302237B630323FB6307F13003D6
+:10DFB80019463D4802F0B8FB40233B6300237B63CE
+:10DFC8000023BB6307F130031946374802F0ACFB66
+:10DFD800394B5B683B643B6C43F0E0633B643B6CF0
+:10DFE80043F008033B64344A3B6C5360334B344A78
+:10DFF8001A60324B00225A60304B00229A602F4B35
+:10E008008022DA602D4B00221A612C4B00225A61C3
+:10E018002A4B00229A61294B4FF44052DA61274873
+:10E0280001F0F4FE0346002B01D0FCF727FE7B68C5
+:10E03800224ADA63214A7B685362224B224A1A60D9
+:10E04800204B10225A601F4B00229A601D4B8022E1
+:10E05800DA601C4B00221A611A4B00225A61194BD4
+:10E0680000229A61174B4FF40052DA61154801F00B
+:10E07800CDFE0346002B01D0FCF700FE7B68114A59
+:10E088009A63104A7B68536200220221262001F01D
+:10E098006AFE262001F083FEB8E000BF0050004071
+:10E0A80000100240001001400014014000380140F7
+:10E0B800000801400044004000000140781300209F
+:10E0C8006C000240BC130020800002407B681B6883
+:10E0D800504A934240F09A804F4BDB694E4A43F4D2
+:10E0E8008023D3614C4BDB6903F480233B613B699C
+:10E0F800494B9B69484A43F010039361464B9B691F
+:10E1080003F01003FB60FB684FF480633B6302235A
+:10E118007B630323FB6307F1300319463F4802F092
+:10E1280003FB4FF400633B6300237B630023BB6363
+:10E1380007F130031946394802F0F6FA384B5B68A4
+:10E148007B647B6C23F030037B647B6C43F0E0637F
+:10E158007B647B6C43F010037B64314A7B6C5360B7
+:10E16800304B314A1A602F4B00225A602D4B002247
+:10E178009A602C4B8022DA602A4B00221A61294BC4
+:10E1880000225A61274B00229A61264B4FF44052D5
+:10E19800DA61244801F03AFE0346002B01D0FCF76F
+:10E1A8006DFD7B681F4ADA631E4A7B6853621F4B0A
+:10E1B8001F4A1A601D4B10225A601C4B00229A609D
+:10E1C8001A4B8022DA60194B00221A61174B002281
+:10E1D8005A61164B00229A61144B4FF40052DA61CF
+:10E1E800124801F013FE0346002B01D0FCF746FD50
+:10E1F8007B680E4A9A630D4A7B68536200220221AB
+:10E20800272001F0B0FD272001F0C9FD00BF4837E5
+:10E21800BD4680BD0048004000100240001001408B
+:10E228000000014000140020300002404414002087
+:10E238001C000240FFF798FB0B480C490C4A0023CE
+:10E2480002E0D458C4500433C4188C42F9D3094AA4
+:10E25800094C002301E013600432A242FBD306F00C
+:10E268002FFDFCF721FC7047000000205802002019
+:10E27800DC7C010858020020D8150020FEE70000C9
+:10E2880080B500AF084B1B68074A43F010031360C2
+:10E29800032001F05DFD0F2000F008F8FFF78AF970
+:10E2A8000023184680BD00BF0020024080B582B020
+:10E2B80000AF7860124B1A68124B1B7819464FF45E
+:10E2C8007A73B3FBF1F3B2FBF3F3184601F075FD73
+:10E2D8000346002B01D001230EE07B680F2B0AD8E0
+:10E2E800002279684FF0FF3001F03DFD064A7B6857
+:10E2F8001360002300E0012318460837BD4680BD9F
+:10E30800840000208C0000208800002080B400AF2A
+:10E31800054B1B781A46054B1B681344034A1360C8
+:10E3280000BFBD4680BC70478C00002088140020C8
+:10E3380080B400AF024B1B681846BD4680BC7047CE
+:10E348008814002080B584B000AF7860FFF7F0FF34
+:10E35800B8607B68FB60FB68B3F1FF3F05D00A4BF0
+:10E368001B781A46FB681344FB6000BFFFF7E0FF09
+:10E378000246BB68D31AFA689A42F7D800BF00BFB2
+:10E388001037BD4680BD00BF8C00002080B586B028
+:10E3980000AF78600023FB7500233B610023BB605E
+:10E3A8000023FB607B68002B01D10123BEE07B6862
+:10E3B8009B68002B7B689B6A002B09D17B68002235
+:10E3C800DA627B68002283F824207868FBF766F914
+:10E3D800786800F0BDFB0346FB757B689B6A03F019
+:10E3E8001003002B40F09980FB7D002B40F09580B6
+:10E3F8007B689B6A23F4885323F0020343F00202EC
+:10E408007B689A627B685A687B68DB691A437B6819
+:10E418001B7B5B001343BA681343BB607B689B6834
+:10E42800B3F5807F03D07B689B68012B02D14FF442
+:10E43800807300E000233A6913433B617B681B7DCE
+:10E44800012B19D17B681B7B002B09D17B689B6949
+:10E45800013B5A033B69134343F400633B610BE000
+:10E468007B689B6A43F020027B689A627B68DB6A60
+:10E4780043F001027B68DA627B681B685B6823F4FF
+:10E4880069417B681B683A690A435A607B681B6864
+:10E498009A68284B13407A681268B9680B439360EE
+:10E4A8007B689B68B3F5807F03D07B689B68012BF2
+:10E4B80004D17B681B69013B1B05FB607B681B68FB
+:10E4C800DB6A23F470017B681B68FA680A43DA6226
+:10E4D8007B681B689A68184B1340BA689A420BD13C
+:10E4E8007B680022DA627B689B6A23F0030343F0AF
+:10E4F80001027B689A6218E07B689B6A23F012032A
+:10E5080043F010027B689A627B68DB6A43F0010281
+:10E518007B68DA620123FB7507E07B689B6A43F03E
+:10E5280010027B689A620123FB75FB7D1846183739
+:10E53800BD4680BDFDF7E1FFFE0E1FFF80B586B02A
+:10E5480000AFF860B9607A600023FB75FB681B6850
+:10E55800644A934204D0FB681B68634A934206D11D
+:10E56800604B5B6803F47023002B40F0B380FB68BA
+:10E5780093F82430012B01D10223AEE0FB6801227D
+:10E5880083F82420F86800F089FA0346FB75FB7DC0
+:10E59800002B40F09A80FB689B6A23F4706323F099
+:10E5A800010343F48072FB689A62FB681B684E4A59
+:10E5B800934205D14B4B5B6803F47023002B15D1B4
+:10E5C800FB689B6A23F48012FB689A62FB681B68ED
+:10E5D8005B6803F48063002B26D0FB689B6A23F4F6
+:10E5E800405343F48052FB689A621DE0FB689B6AC3
+:10E5F80043F48012FB689A62FB681B68394A9342AD
+:10E6080004D0FB681B68384A93420DD1354B5B68D0
+:10E6180003F48063002B07D0FB689B6A23F4405304
+:10E6280043F48052FB689A62FB689B6A03F4805348
+:10E63800002B06D0FB68DB6A23F00602FB68DA626F
+:10E6480002E0FB680022DA62FB68002283F82420DB
+:10E65800FB681B6A254A9A62FB681B6A244ADA62CD
+:10E66800FB681B6A234A1A63FB681B686FF0020287
+:10E678001A60FB681B689A68FB681B6842F4807222
+:10E688009A60FB68186AFB681B684C331946BA68BD
+:10E698007B6801F031FCFB681B689B6803F460230E
+:10E6A800B3F5602F08D1FB681B689A68FB681B6884
+:10E6B80042F4A0029A600FE0FB681B689A68FB6846
+:10E6C8001B6842F480129A6006E0FB68002283F817
+:10E6D800242001E00123FB75FB7D18461837BD4651
+:10E6E80080BD00BF0024014000280140DBEB00088A
+:10E6F80057EC000873EC000880B584B000AF786070
+:10E708007B681B681B68FB607B681B685B68BB6079
+:10E71800BB6803F02003002B3ED0FB6803F0020324
+:10E72800002B39D07B689B6A03F01003002B05D1BE
+:10E738007B689B6A43F400727B689A627B681B68FB
+:10E748009B6803F46023B3F5602F1DD17B681B7BA6
+:10E75800002B19D17B681B685A687B681B6822F0FC
+:10E7680020025A607B689B6A23F480727B689A62F5
+:10E778007B689B6A03F48053002B05D17B689B6AF6
+:10E7880043F001027B689A627868FAF7DBFE7B68DF
+:10E798001B686FF012021A60BB6803F08003002B3D
+:10E7A8004DD0FB6803F00403002B48D07B689B6ABC
+:10E7B80003F01003002B05D17B689B6A43F40052D9
+:10E7C8007B689A627B681B689B6803F4E043B3F537
+:10E7D800E04F12D07B681B685B6803F48063002BF2
+:10E7E80025D17B681B689B6803F46023B3F5602F11
+:10E7F8001DD17B681B7B002B19D17B681B685A686D
+:10E808007B681B6822F080025A607B689B6A23F44D
+:10E8180080527B689A627B689B6A03F48073002B42
+:10E8280005D17B689B6A43F001027B689A6278682D
+:10E8380000F0E4FA7B681B686FF00C021A60BB6892
+:10E8480003F04003002B12D0FB6803F00103002BF8
+:10E858000DD07B689B6A43F480327B689A62786843
+:10E8680000F012F87B681B686FF001021A6000BFA5
+:10E878001037BD4680BD80B483B000AF786000BF5C
+:10E888000C37BD4680BC704780B483B000AF786059
+:10E8980000BF0C37BD4680BC704780B483B000AF62
+:10E8A800786000BF0C37BD4680BC704780B485B027
+:10E8B80000AF786039600023FB730023BB607B687E
+:10E8C80093F82430012B01D10223DCE07B6801227C
+:10E8D80083F824203B685B68062B1CD87B681B6880
+:10E8E800596B3B685A6813469B001344053B1F222B
+:10E8F80002FA03F3DB4319403B6818683B685A681F
+:10E9080013469B001344053B00FA03F27B681B681F
+:10E918000A435A633CE03B685B680C2B1CD87B6855
+:10E928001B68196B3B685A6813469B001344233BCA
+:10E938001F2202FA03F3DB4319403B6818683B685F
+:10E948005A6813469B001344233B00FA03F27B6882
+:10E958001B680A431A631BE07B681B68D96A3B681B
+:10E968005A6813469B001344413B1F2202FA03F3E3
+:10E97800DB4319403B6818683B685A6813469B009C
+:10E988001344413B00FA03F27B681B680A43DA62CE
+:10E998003B681B68092B1CD97B681B68D9683B68D6
+:10E9A8001A6813465B0013441E3B072202FA03F35E
+:10E9B800DB4319403B6898683B681A6813465B005C
+:10E9C80013441E3B00FA03F27B681B680A43DA60B3
+:10E9D80019E07B681B6819693B681A6813465B0075
+:10E9E8001344072202FA03F3DB4319403B68986893
+:10E9F8003B681A6813465B00134400FA03F27B680D
+:10EA08001B680A431A613B681B68102B03D03B68DC
+:10EA18001B68112B32D17B681B681D4A934225D194
+:10EA28007B681B689B6803F40003002B26D17B6876
+:10EA38001B689A687B681B6842F400029A603B680E
+:10EA48001B68102B1AD1134B1B68134AA2FB032314
+:10EA58009A0C13469B0013445B00BB6002E0BB6842
+:10EA6800013BBB60BB68002BF9D107E07B689B6A60
+:10EA780043F020027B689A620123FB737B680022C3
+:10EA880083F82420FB7B18461437BD4680BC7047AA
+:10EA9800002401408400002083DE1B4380B584B03D
+:10EAA80000AF78600023FB600023BB607B681B68B5
+:10EAB8009B6803F00103012B40D07B681B689A68B0
+:10EAC8007B681B6842F001029A601F4B1B681F4A53
+:10EAD800A2FB03239B0CBB6002E0BB68013BBB604D
+:10EAE800BB68002BF9D1FFF723FCF8601FE0FFF7A4
+:10EAF8001FFC0246FB68D31A022B18D97B681B68D7
+:10EB08009B6803F00103012B11D07B689B6A43F0DB
+:10EB180010027B689A627B68DB6A43F001027B68BB
+:10EB2800DA627B68002283F82420012307E07B68EF
+:10EB38001B689B6803F00103012BD8D100231846FA
+:10EB48001037BD4680BD00BF8400002083DE1B4314
+:10EB580080B584B000AF78600023FB607B681B68D9
+:10EB68009B6803F00103012B2ED17B681B689A6810
+:10EB78007B681B6822F001029A60FFF7D9FBF860F6
+:10EB88001BE0FFF7D5FB0246FB68D31A022B14D90A
+:10EB98007B681B689B6803F00103012B0DD17B6820
+:10EBA8009B6A43F010027B689A627B68DB6A43F0D9
+:10EBB80001027B68DA62012307E07B681B689B68B7
+:10EBC80003F00103012BDCD0002318461037BD46A3
+:10EBD80080BD80B584B000AF78607B685B6AFB60FD
+:10EBE800FB689B6A03F05003002B27D1FB689B6AE4
+:10EBF80043F40072FB689A62FB681B689B6803F425
+:10EC08006023B3F5602F15D1FB681B7B002B11D156
+:10EC1800FB689B6A23F48072FB689A62FB689B6AB4
+:10EC280003F48053002B05D1FB689B6A43F0010273
+:10EC3800FB689A62F868FAF785FC04E0FB681B6ACF
+:10EC48001B6B7868984700BF1037BD4680BD80B5FC
+:10EC580084B000AF78607B685B6AFB60F868FFF798
+:10EC68000AFE00BF1037BD4680BD80B584B000AF36
+:10EC780078607B685B6AFB60FB689B6A43F04002D4
+:10EC8800FB689A62FB68DB6A43F00402FB68DA629D
+:10EC9800F868FFF702FE00BF1037BD4680BD0000D0
+:10ECA80090B587B000AF78600023FB750023FB6048
+:10ECB8007B6893F82430012B01D1022397E07B680D
+:10ECC800012283F824207868FFF742FF0346FB758A
+:10ECD8007868FFF7E3FE0346FB75FB7D002B40F0E9
+:10ECE80081807B689B6A23F4885323F0020343F0F6
+:10ECF80002027B689A62404B1C68022002F0E2FD27
+:10ED08000346B4FBF3F35B00FB6002E0FB68013BE6
+:10ED1800FB60FB68002BF9D17B681B689A687B68ED
+:10ED28001B6842F008029A60FFF702FB38611BE09B
+:10ED3800FFF7FEFA02463B69D31A0A2B14D97B68FF
+:10ED48001B689B6803F00803002B0DD07B689B6A47
+:10ED580023F0120343F010027B689A627B6800225A
+:10ED680083F82420012342E07B681B689B6803F03A
+:10ED78000803002BDCD17B681B689A687B681B68DA
+:10ED880042F004029A60FFF7D3FA38611BE0FFF7FC
+:10ED9800CFFA02463B69D31A0A2B14D97B681B6841
+:10EDA8009B6803F00403002B0DD07B689B6A23F05B
+:10EDB800120343F010027B689A627B68002283F892
+:10EDC8002420012313E07B681B689B6803F004037D
+:10EDD800002BDCD17B689B6A23F0030343F001021C
+:10EDE8007B689A627B68002283F82420FB7D1846A2
+:10EDF8001C37BD4690BD00BF8400002080B483B09E
+:10EE080000AF786000BF0C37BD4680BC704780B546
+:10EE180084B000AF78607B68002B01D10123EDE05E
+:10EE28007B6893F82030DBB2002B02D17868FAF7C0
+:10EE38001FFF7B681B681A687B681B6842F0010229
+:10EE48001A60FFF775FAF86012E0FFF771FA0246E8
+:10EE5800FB68D31A0A2B0BD97B685B6A43F4003230
+:10EE68007B685A627B68052283F820200123C5E06D
+:10EE78007B681B685B6803F00103002BE5D07B68A7
+:10EE88001B681A687B681B6822F002021A60FFF789
+:10EE98004FFAF86012E0FFF74BFA0246FB68D31A04
+:10EEA8000A2B0BD97B685B6A43F400327B685A6291
+:10EEB8007B68052283F8202001239FE07B681B687C
+:10EEC8005B6803F00203002BE5D17B681B7E012BF6
+:10EED80008D17B681B681A687B681B6842F080024F
+:10EEE8001A6007E07B681B681A687B681B6822F059
+:10EEF80080021A607B685B7E012B08D17B681B68E7
+:10EF08001A687B681B6842F040021A6007E07B6859
+:10EF18001B681A687B681B6822F040021A607B68CD
+:10EF28009B7E012B08D17B681B681A687B681B686D
+:10EF380042F020021A6007E07B681B681A687B6849
+:10EF48001B6822F020021A607B68DB7E012B08D147
+:10EF58007B681B681A687B681B6822F010021A60BD
+:10EF680007E07B681B681A687B681B6842F0100220
+:10EF78001A607B681B7F012B08D17B681B681A68A5
+:10EF88007B681B6842F008021A6007E07B681B6810
+:10EF98001A687B681B6822F008021A607B685B7F2E
+:10EFA800012B08D17B681B681A687B681B6842F0D4
+:10EFB80004021A6007E07B681B681A687B681B6894
+:10EFC80022F004021A607B689A687B68DB681A433F
+:10EFD8007B681B691A437B685B6942EA03017B68AB
+:10EFE8005B685A1E7B681B680A43DA617B680022EB
+:10EFF8005A627B68012283F82020002318461037C4
+:10F00800BD4680BD80B487B000AF786039607B684A
+:10F018001B687B617B6893F82030FB74FB7C012BB9
+:10F0280003D0FB7C022B40F0BE80654B7B617B6983
+:10F03800D3F8003243F001027B69C3F800227B69F0
+:10F04800D3F8003223F47C527B69C3F800227B6931
+:10F05800D3F800223B685B6A1B021A437B69C3F83A
+:10F0680000223B685B6903F01F03012202FA03F3E5
+:10F07800FB607B69D3F81C22FB68DB431A407B6981
+:10F08800C3F81C223B68DB69002B23D17B69D3F8CA
+:10F098000C22FB68DB431A407B69C3F80C223B68EF
+:10F0A800DB6819043B685B689BB23A68526919438C
+:10F0B8007B69483243F832103B689B6819043B6807
+:10F0C8001B689AB23B685B690A4379694833DB007D
+:10F0D8000B445A603B68DB69012B22D17B69D3F86A
+:10F0E8000C22FB681A437B69C3F80C223B681B6837
+:10F0F80019043B685B689BB23A68526919437B699B
+:10F10800483243F832103B689B6819043B68DB6857
+:10F118009AB23B685B690A4379694833DB000B4460
+:10F128005A603B689B69002B09D17B69D3F804229C
+:10F13800FB68DB431A407B69C3F8042207E07B695C
+:10F14800D3F80422FB681A437B69C3F804223B689E
+:10F158001B69002B09D17B69D3F81422FB68DB43B8
+:10F168001A407B69C3F8142207E07B69D3F814229C
+:10F17800FB681A437B69C3F814223B681B6A012B9E
+:10F1880007D17B69D3F81C22FB681A437B69C3F853
+:10F198001C227B69D3F8003223F001027B69C3F893
+:10F1A8000022002306E07B685B6A43F480227B68C8
+:10F1B8005A62012318461C37BD4680BC704700BF01
+:10F1C8000064004080B584B000AF78607B6893F835
+:10F1D8002030DBB2012B2ED17B68022283F820205D
+:10F1E8007B681B681A687B681B6822F001021A603A
+:10F1F800FFF79EF8F86012E0FFF79AF80246FB68FE
+:10F20800D31A0A2B0BD97B685B6A43F400327B68FC
+:10F218005A627B68052283F82020012312E07B686C
+:10F228001B685B6803F00103002BE5D17B680022B3
+:10F238005A62002306E07B685B6A43F400227B681D
+:10F248005A62012318461037BD4680BD80B584B088
+:10F2580000AF78607B6893F82030DBB2022B33D1A3
+:10F268007B681B681A687B681B6842F001021A6099
+:10F27800FFF75EF8F86012E0FFF75AF80246FB68FD
+:10F28800D31A0A2B0BD97B685B6A43F400327B687C
+:10F298005A627B68052283F8202001231BE07B68E3
+:10F2A8001B685B6803F00103002BE5D07B681B68D3
+:10F2B8001A687B681B6822F002021A607B680122C8
+:10F2C80083F82020002306E07B685B6A43F4801201
+:10F2D8007B685A62012318461037BD4680BD80B44A
+:10F2E80089B000AFF860B9607A603B60FB6893F85A
+:10F2F8002030FB77FB681B689B68BB61FB7F012B99
+:10F3080003D0FB7F022B40F0AD80BB6903F0806324
+:10F31800002B0AD1BB6903F00063002B05D1BB6940
+:10F3280003F08053002B00F09580BB691B0E03F09F
+:10F3380003037B6101227B699A403B681A60BB68C2
+:10F348009B68002B0DD1BB681B685A05BB68DB683E
+:10F35800F96809681A437B6918331B010B441A6062
+:10F368000FE0BB685B68DA00BB689B681A43BB6840
+:10F37800DB68F96809681A437B6918331B010B4479
+:10F388001A60FB681968BB681A697B6918331B0126
+:10F398000B4404331A60BB681B7D012B11D1FB6839
+:10F3A8001A687B6918331B01134404331B68FA6815
+:10F3B800116843F480727B6918331B010B440433D2
+:10F3C8001A607B6807331B781A067B6806331B783C
+:10F3D8001B041A437B6805331B781B0213437A68A6
+:10F3E800043212781046FA68116843EA00027B6911
+:10F3F8001B010B4403F5C6731A607B6803331B7843
+:10F408001A067B6802331B781B041A437B68013396
+:10F418001B781B0213437A6812781046FA68116841
+:10F4280043EA00027B691B010B4403F5C4731A60AD
+:10F43800FB681A687B6918331B0113441B68FA6858
+:10F44800116843F001027B6918331B010B441A60F1
+:10F4580000230EE0FB685B6A43F40012FB685A6203
+:10F46800012306E0FB685B6A43F48022FB685A626A
+:10F47800012318462437BD4680BC704780B485B048
+:10F4880000AF78600023FB607B6893F82030FB7244
+:10F49800FB7A012B02D0FB7A022B1DD17B681B68FB
+:10F4A8009B6803F08063002B02D0FB680133FB608C
+:10F4B8007B681B689B6803F00063002B02D0FB6825
+:10F4C8000133FB607B681B689B6803F08053002B4B
+:10F4D80002D0FB680133FB60FB6818461437BD4651
+:10F4E80080BC704780B487B000AFF860B9607A60BC
+:10F4F8003B60FB6893F82030FB75FB7D012B03D044
+:10F50800FB7D022B40F00381BB68002B0ED1FB680A
+:10F518001B68DB6803F00303002B16D1FB685B6AEA
+:10F5280043F40012FB685A620123F7E0FB681B688A
+:10F538001B6903F00303002B07D1FB685B6A43F4E4
+:10F548000012FB685A620123E8E0FB681A68BB688E
+:10F558001B331B0113441B6803F004027B689A6089
+:10F568007B689B68002B0CD1FB681A68BB681B334F
+:10F578001B0113441B685B0DC3F30A027B681A6006
+:10F588000BE0FB681A68BB681B331B0113441B683C
+:10F59800DB0823F060427B685A60FB681A68BB6826
+:10F5A8001B331B0113441B6803F002027B68DA60FB
+:10F5B800FB681A68BB681B331B01134404331B68C0
+:10F5C80003F00803002B03D07B6808221A610BE0C4
+:10F5D800FB681A68BB681B331B01134404331B68A0
+:10F5E80003F00F027B681A61FB681A68BB681B335B
+:10F5F8001B01134404331B681B0ADAB27B689A6147
+:10F60800FB681A68BB681B331B01134404331B686F
+:10F618001B0C9AB27B685A61FB681A68BB681B01AD
+:10F62800134403F5DC731B68DAB23B681A70FB6895
+:10F638001A68BB681B01134403F5DC731B681A0ABC
+:10F648003B680133D2B21A70FB681A68BB681B01A9
+:10F65800134403F5DC731B681A0C3B680233D2B2FF
+:10F668001A70FB681A68BB681B01134403F5DC7346
+:10F678001B681A0E3B680333D2B21A70FB681A680B
+:10F68800BB681B01134403F5DE731A683B68043337
+:10F69800D2B21A70FB681A68BB681B01134403F5E1
+:10F6A800DE731B681A0A3B680533D2B21A70FB680E
+:10F6B8001A68BB681B01134403F5DE731B681A0C38
+:10F6C8003B680633D2B21A70FB681A68BB681B0124
+:10F6D800134403F5DE731B681A0E3B680733D2B276
+:10F6E8001A70BB68002B08D1FB681B68DA68FB68D6
+:10F6F8001B6842F02002DA6007E0FB681B681A69A1
+:10F70800FB681B6842F020021A61002306E0FB68D0
+:10F718005B6A43F48022FB685A62012318461C374F
+:10F72800BD4680BC704780B485B000AF7860396052
+:10F738007B6893F82030FB73FB7B012B02D0FB7BAB
+:10F74800022B09D17B681B6859697B681B683A687A
+:10F758000A435A61002306E07B685B6A43F480220F
+:10F768007B685A62012318461437BD4680BC70472F
+:10F7780080B58AB000AF786000237B627B681B6825
+:10F788005B693B627B681B685B68FB617B681B6825
+:10F798009B68BB617B681B68DB687B617B681B6857
+:10F7A8001B693B617B681B689B69FB603B6A03F0D4
+:10F7B8000103002B7CD0BB6903F00103002B23D08D
+:10F7C8007B681B6801229A60BB6903F00203002B67
+:10F7D80003D0786800F083F916E0BB6903F00403EE
+:10F7E800002B04D07B6A43F400637B620CE0BB69A6
+:10F7F80003F00803002B04D07B6A43F480537B6238
+:10F8080002E0786800F086F9BB6903F48073002B86
+:10F8180024D07B681B684FF480729A60BB6903F43C
+:10F828000073002B03D0786800F062F916E0BB691A
+:10F8380003F48063002B04D07B6A43F400537B629B
+:10F848000CE0BB6903F40063002B04D07B6A43F42B
+:10F8580080437B6202E0786800F065F9BB6903F4D5
+:10F868008033002B24D07B681B684FF480329A6069
+:10F87800BB6903F40033002B03D0786800F041F92A
+:10F8880016E0BB6903F48023002B04D07B6A43F4A1
+:10F8980000437B620CE0BB6903F40023002B04D017
+:10F8A8007B6A43F480337B6202E0786800F044F9B5
+:10F8B8003B6A03F00803002B0CD07B6903F01003AC
+:10F8C800002B07D07B6A43F400737B627B681B685C
+:10F8D8001022DA603B6A03F00403002B0BD07B692B
+:10F8E80003F00803002B06D07B681B680822DA6047
+:10F8F800786800F033F93B6A03F00203002B09D063
+:10F908007B681B68DB6803F00303002B02D0786870
+:10F9180000F01BF93B6A03F04003002B0CD03B6955
+:10F9280003F01003002B07D07B6A43F480637B62EB
+:10F938007B681B6810221A613B6A03F02003002BC6
+:10F948000BD03B6903F00803002B06D07B681B68CB
+:10F9580008221A61786800F00AF93B6A03F010037C
+:10F96800002B09D07B681B681B6903F00303002B7D
+:10F9780002D07868FBF70EFA3B6A03F40033002BD9
+:10F988000BD0FB6903F01003002B06D07B681B68C3
+:10F9980010225A60786800F0F3F83B6A03F4803369
+:10F9A800002B0BD0FB6903F00803002B06D07B6803
+:10F9B8001B6808225A60786800F0EBF83B6A03F489
+:10F9C8000043002B7BD0FB6903F00403002B72D0AB
+:10F9D8003B6A03F48073002B08D0FB6803F0010333
+:10F9E800002B03D07B6A43F001037B623B6A03F47C
+:10F9F8000073002B08D0FB6803F00203002B03D030
+:10FA08007B6A43F002037B623B6A03F48063002B4A
+:10FA180008D0FB6803F00403002B03D07B6A43F093
+:10FA280004037B623B6A03F40063002B43D0FB684A
+:10FA380003F07003002B3ED0FB6803F07003602BCB
+:10FA48002BD0602B2ED8502B22D0502B2AD8402BCD
+:10FA580019D0402B26D8302B10D0302B22D8102B81
+:10FA680002D0202B05D01DE07B6A43F008037B629F
+:10FA780019E07B6A43F010037B6214E07B6A43F071
+:10FA880020037B620FE07B6A43F040037B620AE05D
+:10FA98007B6A43F080037B6205E07B6A43F48073F2
+:10FAA8007B6200E000BF7B681B689A697B681B6803
+:10FAB80022F070029A617B681B6804225A607B6A94
+:10FAC800002B08D07B685A6A7B6A1A437B685A62A3
+:10FAD800786800F067F800BF2837BD4680BD80B45D
+:10FAE80083B000AF786000BF0C37BD4680BC70475C
+:10FAF80080B483B000AF786000BF0C37BD4680BCCF
+:10FB0800704780B483B000AF786000BF0C37BD4643
+:10FB180080BC704780B483B000AF786000BF0C37FA
+:10FB2800BD4680BC704780B483B000AF786000BF2A
+:10FB38000C37BD4680BC704780B483B000AF786096
+:10FB480000BF0C37BD4680BC704780B483B000AF9F
+:10FB5800786000BF0C37BD4680BC704780B483B066
+:10FB680000AF786000BF0C37BD4680BC704780B4DA
+:10FB780083B000AF786000BF0C37BD4680BC7047CB
+:10FB880080B483B000AF786000BF0C37BD4680BC3E
+:10FB9800704780B483B000AF786000BF0C37BD46B3
+:10FBA80080BC704780B483B000AF786000BF0C376A
+:10FBB800BD4680BC7047000080B485B000AF786057
+:10FBC8007B6803F00703FB600C4BDB68BB60BA681B
+:10FBD8004FF6FF031340BB60FB681A02BB68134370
+:10FBE80043F0BF6343F40033BB60044ABB68D3608F
+:10FBF80000BF1437BD4680BC704700BF00ED00E071
+:10FC080080B400AF044BDB681B0A03F007031846F7
+:10FC1800BD4680BC704700BF00ED00E080B483B0F3
+:10FC280000AF0346FB7197F90730002B0BDBFB791C
+:10FC380003F01F02064997F907305B09012000FA13
+:10FC480002F241F8232000BF0C37BD4680BC704744
+:10FC580000E100E080B483B000AF03463960FB7177
+:10FC680097F90730002B0ADB3B68DAB20C4997F9A1
+:10FC780007301201D2B20B4483F800230AE03B6834
+:10FC8800DAB20849FB7903F00F03043B1201D2B240
+:10FC98000B441A7600BF0C37BD4680BC704700BFC6
+:10FCA80000E100E000ED00E080B489B000AFF8604A
+:10FCB800B9607A60FB6803F00703FB61FB69C3F175
+:10FCC8000703042B28BF0423BB61FB690433062BFD
+:10FCD80002D9FB69033B00E000237B614FF0FF3250
+:10FCE800BB6902FA03F3DA43BB681A407B699A409E
+:10FCF8004FF0FF317B6901FA03F3D9437B680B406E
+:10FD0800134318462437BD4680BC704780B582B07F
+:10FD180000AF78607B68013BB3F1807F01D301239A
+:10FD28000FE00A4A7B68013B53600F214FF0FF3018
+:10FD3800FFF790FF054B00229A60044B07221A60D8
+:10FD4800002318460837BD4680BD00BF10E000E01C
+:10FD580080B582B000AF78607868FFF72DFF00BFEC
+:10FD68000837BD4680BD80B586B000AF0346B96090
+:10FD78007A60FB7300237B61FFF742FF78617A6842
+:10FD8800B9687869FFF790FF024697F90F30114676
+:10FD98001846FFF75FFF00BF1837BD4680BD80B526
+:10FDA80082B000AF0346FB7197F907301846FFF79A
+:10FDB80035FF00BF0837BD4680BD80B582B000AFB3
+:10FDC80078607868FFF7A2FF034618460837BD46F3
+:10FDD80080BD80B582B000AF78607B68002B01D110
+:10FDE80001230EE07B685B79DBB2002B05D17B68D1
+:10FDF80000221A717868FAF7A5FA7B6801225A710D
+:10FE0800002318460837BD4680BD000080B485B081
+:10FE180000AF78600023FB607B68002B01D10123D1
+:10FE280059E07B681B681A462D4B9A420FD87B68AD
+:10FE38001B681A462B4B13442B4AA2FB03231B09AE
+:10FE48009A007B681A647B68284ADA630EE07B684C
+:10FE58001B681A46264B1344234AA2FB03231B099B
+:10FE68009A007B681A647B68224ADA637B680222FC
+:10FE780083F821207B681B681B68FB60FB6823F400
+:10FE88007F5323F03003FB607B685A687B689B686C
+:10FE98001A437B68DB681A437B681B691A437B68D3
+:10FEA8005B691A437B689B691A437B68DB69134368
+:10FEB800FA681343FB607B681B68FA681A607B6802
+:10FEC80000229A637B68012283F821207B68002244
+:10FED80083F82020002318461437BD4680BC70479D
+:10FEE80007040240F8FFFDBFCDCCCCCC0000024097
+:10FEF800F8FBFDBF0004024080B586B000AFF86093
+:10FF0800B9607A603B600023FB75FB6893F820308A
+:10FF1800012B01D102234BE0FB68012283F820204A
+:10FF2800FB6893F82130DBB2012B3AD1FB6802223F
+:10FF380083F82120FB6800229A63FB681B681A6813
+:10FF4800FB681B6822F001021A603B687A68B9688E
+:10FF5800F86800F0BCFBFB68DB6A002B08D0FB6884
+:10FF68001B681A68FB681B6842F00E021A600FE0F3
+:10FF7800FB681B681A68FB681B6822F004021A6099
+:10FF8800FB681B681A68FB681B6842F00A021A6063
+:10FF9800FB681B681A68FB681B6842F001021A605C
+:10FFA80005E0FB68002283F820200223FB75FB7D17
+:10FFB80018461837BD4680BD80B485B000AF78605C
+:10FFC8000023FB737B6893F82130DBB2022B08D047
+:10FFD8007B6804229A637B68002283F8202001232F
+:10FFE80020E07B681B681A687B681B6822F00E0299
+:08FFF8001A607B681B681A689F
+:020000040801F1
+:100000007B681B6822F001021A607B681A6C7B68AF
+:10001000DB6B012101FA02F25A607B68012283F84E
+:1000200021207B68002283F82020FB7B18461437B0
+:10003000BD4680BC7047000080B584B000AF7860DA
+:100040000023FB737B6893F82130DBB2022B05D0D1
+:100050007B6804229A630123FB73D6E07B681B68EC
+:100060001A687B681B6822F00E021A607B681B68A6
+:100070001A687B681B6822F001021A607B681B68A3
+:100080001A46644B9A4258D97B681B68624A93426D
+:100090004FD07B681B68614A934248D07B681B68DD
+:1000A0005F4A934240D07B681B685E4A934238D0D7
+:1000B0007B681B685C4A934230D07B681B685B4A54
+:1000C000934228D07B681B68524A934220D07B68B9
+:1000D0001B68574A934219D07B681B68554A934264
+:1000E00012D07B681B68544A93420AD07B681B6815
+:1000F000524A934202D14FF480531BE04FF48033B5
+:1001000018E04FF4807315E0102313E0012311E091
+:100110004FF080730EE04FF480130BE04FF4803308
+:1001200008E04FF4805305E04FF4807302E01023A1
+:1001300000E00123424A536057E07B681B68364A5F
+:1001400093424FD07B681B68344A934248D07B6807
+:100150001B68334A934240D07B681B68314A934204
+:1001600038D07B681B68304A934230D07B681B686C
+:100170002E4A934228D07B681B68264A934220D09F
+:100180007B681B682A4A934219D07B681B68294AFE
+:10019000934212D07B681B68274A93420AD07B683F
+:1001A0001B68264A934202D14FF480531BE04FF460
+:1001B000803318E04FF4807315E0102313E001231F
+:1001C00011E04FF080730EE04FF480130BE04FF41A
+:1001D000803308E04FF4805305E04FF4807302E071
+:1001E000102300E00123174A53607B68012283F843
+:1001F00021207B68002283F820207B685B6B002B2A
+:1002000003D07B685B6B78689847FB7B1846103798
+:10021000BD4680BD80000240080002401C00024034
+:100220003000024044000240580002406C0002408E
+:10023000080402401C04024030040240440402400E
+:10024000000402400000024080B584B000AF786036
+:100250007B68DB6B1B68FB607B681B681B68BB6093
+:100260007B681B6C04229A40FB681340002B00F053
+:10027000F180BB6803F00403002B00F0EB807B6887
+:100280001B681B6803F02003002B07D17B681B68E9
+:100290001A687B681B6822F004021A607B681B687E
+:1002A0001A465F4B9A4258D97B681B685D4A934255
+:1002B0004FD07B681B685C4A934248D07B681B68C0
+:1002C0005A4A934240D07B681B68594A934238D0BF
+:1002D0007B681B68574A934230D07B681B68564A3C
+:1002E000934228D07B681B684D4A934220D07B689C
+:1002F0001B68524A934219D07B681B68504A93424C
+:1003000012D07B681B684F4A93420AD07B681B68F7
+:100310004D4A934202D14FF480431BE04FF48023B7
+:1003200018E04FF4806315E0402313E0042311E04C
+:100330004FF080630EE04FF480030BE04FF4802316
+:1003400008E04FF4804305E04FF4806302E040236F
+:1003500000E004233D4A536057E07B681B68314A44
+:1003600093424FD07B681B682F4A934248D07B68EA
+:100370001B682E4A934240D07B681B682C4A9342EC
+:1003800038D07B681B682B4A934230D07B681B684F
+:10039000294A934228D07B681B68214A934220D087
+:1003A0007B681B68254A934219D07B681B68244AE6
+:1003B000934212D07B681B68224A93420AD07B6822
+:1003C0001B68214A934202D14FF480431BE04FF453
+:1003D000802318E04FF4806315E0402313E00423EA
+:1003E00011E04FF080630EE04FF480030BE04FF418
+:1003F000802308E04FF4804305E04FF4806302E07F
+:10040000402300E00423124A53607B68DB6A002B20
+:1004100000F036817B68DB6A7868984730E100BF7E
+:1004200080000240080002401C00024030000240F0
+:1004300044000240580002406C00024008040240A0
+:100440001C04024030040240440402400004024004
+:10045000000002407B681B6C02229A40FB6813403C
+:10046000002B00F0DD80BB6803F00203002B00F0DE
+:10047000D7807B681B681B6803F02003002B0BD11F
+:100480007B681B681A687B681B6822F00A021A6086
+:100490007B68012283F821207B681B681A467B4B0E
+:1004A0009A4258D97B681B68794A93424FD07B683F
+:1004B0001B68784A934248D07B681B68764A93420F
+:1004C00040D07B681B68754A934238D07B681B68B4
+:1004D000734A934230D07B681B68724A934228D09B
+:1004E0007B681B68694A934220D07B681B686E4A10
+:1004F000934219D07B681B686C4A934212D07B6888
+:100500001B686B4A93420AD07B681B68694A934216
+:1005100002D14FF400531BE04FF4003318E04FF4C6
+:10052000007315E0202313E0022311E04FF0007365
+:100530000EE04FF400130BE04FF4003308E04FF4EB
+:10054000005305E04FF4007302E0202300E0022393
+:10055000594A536057E07B681B684D4A93424FD01D
+:100560007B681B684B4A934248D07B681B684A4AA9
+:10057000934240D07B681B68484A934238D07B68DE
+:100580001B68474A934230D07B681B68454A9342B8
+:1005900028D07B681B683D4A934220D07B681B684B
+:1005A000414A934219D07B681B68404A934212D05B
+:1005B0007B681B683E4A93420AD07B681B683D4AB1
+:1005C000934202D14FF400531BE04FF4003318E084
+:1005D0004FF4007315E0202313E0022311E04FF0E5
+:1005E00000730EE04FF400130BE04FF4003308E00B
+:1005F0004FF4005305E04FF4007302E0202300E0C5
+:1006000002232E4A53607B68002283F820207B68F7
+:100610009B6A002B34D07B689B6A786898472FE0F0
+:100620007B681B6C08229A40FB681340002B28D083
+:10063000BB6803F00803002B23D07B681B681A6893
+:100640007B681B6822F00E021A607B681A6C7B685C
+:10065000DB6B012101FA02F25A607B6801229A6386
+:100660007B68012283F821207B68002283F8202008
+:100670007B681B6B002B04D07B681B6B78689847EA
+:1006800000BF00BF1037BD4680BD00BF80000240E4
+:10069000080002401C0002403000024044000240BA
+:1006A000580002406C000240080402401C04024052
+:1006B00030040240440402400004024000000240B2
+:1006C00080B483B000AF78607B689B6B18460C37B2
+:1006D000BD4680BC704780B485B000AFF860B9609B
+:1006E0007A603B60FB681A6CFB68DB6B012101FAE6
+:1006F00002F25A60FB681B683A685A60FB685B68E4
+:10070000102B08D1FB681B687A689A60FB681B682D
+:10071000BA68DA6007E0FB681B68BA689A60FB6831
+:100720001B687A68DA6000BF1437BD4680BC70472A
+:1007300080B48BB000AF7860396000237B62002307
+:100740003B6269E101227B6A02FA03F3FB613B68C9
+:100750001B68FA691340BB61BA69FB699A4240F0B1
+:1007600058813B685B689A4A93425ED0984A9342AC
+:1007700075D8984A934258D0964A93426FD8964A71
+:10078000934252D0944A934269D8944A93424CD0AF
+:10079000924A934263D8924A934246D0904A9342F7
+:1007A0005DD8122B2AD8122B59D801A252F823F067
+:1007B0002B08010805080108170801085908010855
+:1007C0005F0801085F0801085F0801085F08010869
+:1007D0005F0801085F0801085F0801085F08010859
+:1007E0005F0801085F0801085F0801085F08010849
+:1007F0005F0801080D08010821080108794A9342A1
+:1008000013D02CE03B68DB683B6229E03B68DB6887
+:1008100004333B6224E03B68DB6808333B621FE043
+:100820003B68DB680C333B621AE03B689B68002B3B
+:1008300002D104233B6213E03B689B68012B05D186
+:1008400008233B627B68FA691A6109E008233B626E
+:100850007B68FA695A6103E000233B6200E000BF55
+:10086000BB69FF2B01D87B6801E07B6804337B61A7
+:10087000BB69FF2B02D87B6A9B0002E07B6A083BC6
+:100880009B003B617B691A680F213B6901FA03F306
+:10089000DB431A40396A3B6901FA03F31A437B6967
+:1008A0001A603B685B6803F08053002B00F0B18056
+:1008B0004D4B9B694C4A43F0010393614A4B9B6942
+:1008C00003F00103BB60BB68484A7B6A9B080233A4
+:1008D00052F82330FB607B6A03F003039B000F2276
+:1008E00002FA03F3DB43FA681340FB607B68404A7B
+:1008F000934213D07B683F4A93420DD07B683E4AB7
+:10090000934207D07B683D4A934201D1032306E01E
+:10091000042304E0022302E0012300E000237A6ABA
+:1009200002F0030292009340FA681343FB602F49E0
+:100930007B6A9B080233FA6841F823203B685B68B6
+:1009400003F48013002B06D02D4B9A682C49BB6909
+:1009500013438B6006E02A4B9A68BB69DB43284946
+:1009600013408B603B685B6803F40013002B06D0D8
+:10097000234BDA682249BB691343CB6006E0204B66
+:10098000DA68BB69DB431E491340CB603B685B6898
+:1009900003F40033002B06D0194B5A681849BB6981
+:1009A00013434B6006E0164B5A68BB69DB4314499E
+:1009B00013404B603B685B6803F48033002B21D00D
+:1009C0000F4B1A680E49BB6913430B6021E000BF4F
+:1009D0000000321000003110000022100000211031
+:1009E0000000121000001110001002400000014031
+:1009F00000080140000C01400010014000140140BB
+:100A0000000401400B4B1A68BB69DB4309491340E2
+:100A10000B607B6A01337B623B681A687B6A22FA4F
+:100A200003F3002B7FF48EAE00BF00BF2C37BD4612
+:100A300080BC70470004014080B485B000AF78608E
+:100A40000B467B807B689A687B881340002B02D022
+:100A50000123FB7301E00023FB73FB7B1846143773
+:100A6000BD4680BC704780B483B000AF78600B4651
+:100A70007B8013467B707B78002B03D07A887B6861
+:100A80001A6103E07B881A047B681A6100BF0C3787
+:100A9000BD4680BC7047000080B400AF034B01220C
+:100AA0001A6000BFBD4680BC704700BF20000E42E8
+:100AB00080B582B000AFFDF73FFC7860604B1B68EB
+:100AC0005F4A43F00103136008E0FDF735FC02467E
+:100AD0007B68D31A022B01D90323ACE0584B1B6867
+:100AE00003F00203002BF0D0554B1B6823F0F803F2
+:100AF000534A43F080031360FDF71EFC7860504BAF
+:100B000000225A600AE0FDF717FC02467B68D31A00
+:100B100041F28832934201D903238CE0484B5B6851
+:100B200003F00C03002BEED1464B474A1A60474BAB
+:100B30001B681846FDF7BEFB0346002B01D00123BE
+:100B400079E0FDF7F9FB78603D4B1B683C4A23F0E8
+:100B50008073136008E0FDF7EFFB02467B68D31A51
+:100B6000022B01D9032366E0354B1B6803F00073A9
+:100B7000002BF0D1324B00225A60FDF7DDFB78608C
+:100B80002F4B1B682E4A23F41023136008E0FDF757
+:100B9000D3FB02467B68D31A642B01D903234AE0B6
+:100BA000274B1B6803F40033002BF0D1244B1B6848
+:100BB000234A23F480231360FDF7BEFB7860204BAB
+:100BC0001B681F4A23F08063136008E0FDF7B4FB45
+:100BD00002467B68D31A642B01D903232BE0184B00
+:100BE0001B6803F00063002BF0D1FDF7A5FB7860D4
+:100BF000134B1B68124A23F08053136008E0FDF783
+:100C00009BFB02467B68D31A642B01D9032312E0B5
+:100C10000B4B1B6803F00053002BF0D1084B002254
+:100C2000DA62074B5B6A064A43F080735362044BF7
+:100C300000229A60002318460837BD4680BD00BFD9
+:100C4000001002408400002000127A00880000207A
+:100C500080B586B000AF78607B68002B01D101239E
+:100C600004E37B681B6803F00103002B00F087801E
+:100C7000924B5B6803F00C03042B0CD08F4B5B682A
+:100C800003F00C03082B12D18C4B5B6803F4803308
+:100C9000B3F5803F0BD1894B1B6803F40033002B65
+:100CA0006CD07B689B68002B68D10123DEE27B68F7
+:100CB0009B68B3F5803F06D1804B1B687F4A43F4A5
+:100CC000803313602EE07B689B68002B0CD17B4B3C
+:100CD0001B687A4A23F480331360784B1B68774A89
+:100CE00023F4802313601DE07B689B68B3F5A02F7D
+:100CF0000CD1724B1B68714A43F4802313606F4B15
+:100D00001B686E4A43F4803313600BE06B4B1B6827
+:100D10006A4A23F480331360684B1B68674A23F4E4
+:100D2000802313607B689B68002B13D0FDF704FBC6
+:100D3000386108E0FDF700FB02463B69D31A642BDB
+:100D400001D9032392E25D4B1B6803F40033002BAF
+:100D5000F0D014E0FDF7F0FA386108E0FDF7ECFAA6
+:100D600002463B69D31A642B01D903237EE2534B1D
+:100D70001B6803F40033002BF0D100E000BF7B6858
+:100D80001B6803F00203002B63D04C4B5B6803F03D
+:100D90000C03002B0BD0494B5B6803F00C03082BB2
+:100DA0001CD1464B5B6803F48033002B16D1434BB8
+:100DB0001B6803F00203002B05D07B685B69012BE5
+:100DC00001D0012352E23D4B1B6823F0F8027B68FF
+:100DD0009B69DB00394913430B603AE07B685B6930
+:100DE000002B20D0364B01221A60FDF7A5FA38619E
+:100DF00008E0FDF7A1FA02463B69D31A022B01D99C
+:100E0000032333E22D4B1B6803F00203002BF0D0C9
+:100E10002A4B1B6823F0F8027B689B69DB0027499B
+:100E200013430B6015E0264B00221A60FDF784FA8D
+:100E3000386108E0FDF780FA02463B69D31A022BBD
+:100E400001D9032312E21D4B1B6803F00203002BA0
+:100E5000F0D17B681B6803F00803002B3AD07B6855
+:100E6000DB69002B19D0174B01221A60FDF764FAD9
+:100E7000386108E0FDF760FA02463B69D31A022B9D
+:100E800001D90323F2E10D4B5B6A03F00203002B4F
+:100E9000F0D0012000F0CAFB1CE00A4B00221A60CF
+:100EA000FDF74AFA38610FE0FDF746FA02463B6962
+:100EB000D31A022B08D90323D8E100BF0010024047
+:100EC00000004242800442429B4B5B6A03F00203F3
+:100ED000002BE9D17B681B6803F00403002B00F0B2
+:100EE000A6800023FB75944BDB6903F08053002B35
+:100EF0000DD1914BDB69904A43F08053D3618E4B07
+:100F0000DB6903F08053BB60BB680123FB758B4B2F
+:100F10001B6803F48073002B18D1884B1B68874A29
+:100F200043F480731360FDF707FA386108E0FDF7BA
+:100F300003FA02463B69D31A642B01D9032395E1D6
+:100F40007E4B1B6803F48073002BF0D07B681B6919
+:100F5000012B06D1784B1B6A774A43F001031362D9
+:100F60002DE07B681B69002B0CD1734B1B6A724A06
+:100F700023F001031362704B1B6A6F4A23F00403D2
+:100F800013621CE07B681B69052B0CD16A4B1B6A42
+:100F9000694A43F004031362674B1B6A664A43F0D5
+:100FA000010313620BE0644B1B6A634A23F00103E5
+:100FB0001362614B1B6A604A23F0040313627B686F
+:100FC0001B69002B15D0FDF7B7F938610AE0FDF772
+:100FD000B3F902463B69D31A41F28832934201D9F0
+:100FE000032343E1544B1B6A03F00203002BEED0B2
+:100FF00014E0FDF7A1F938610AE0FDF79DF902461A
+:101000003B69D31A41F28832934201D903232DE17F
+:10101000494B1B6A03F00203002BEED1FB7D012B31
+:1010200005D1454BDB69444A23F08053D3617B688B
+:10103000DB6A002B00F08C803F4B5B6803F480334D
+:10104000B3F5803F0ED13C4B5B6803F00C03082BDB
+:1010500008D1394BDB6A03F48033B3F5803F01D10B
+:10106000012303E17B68DB6A022B4ED1324B1B6804
+:1010700003F08053002B09D02F4BDB6A03F0F00202
+:101080007B685B6B9A4201D00123EFE02C4B00227E
+:101090001A60FDF751F9386108E0FDF74DF9024695
+:1010A0003B69D31A642B01D90323DFE0224B1B6871
+:1010B00003F00063002BF0D11F4BDB6A23F0F0023A
+:1010C0007B685B6B1C491343CB621B4BDB6A23F4CD
+:1010D00070627B681B6B18491343CB62184B01226B
+:1010E0001A60FDF729F9386108E0FDF725F9024695
+:1010F0003B69D31A642B01D90323B7E00E4B1B685D
+:1011000003F00063002BF0D022E00B4BDB6A0A4AAD
+:1011100023F48033D3620A4B00221A60FDF70CF9E6
+:1011200038610FE0FDF708F902463B69D31A642BDA
+:1011300008D903239AE000BF00100240007000406D
+:10114000680042424B4B1B6803F00063002BE9D15F
+:101150007B681B6A002B00F08880464B5B6803F0BD
+:101160000C03082B68D07B681B6A022B4DD1424BC5
+:1011700000221A60FDF7E0F8386108E0FDF7DCF8BE
+:1011800002463B69D31A022B01D903236EE0394B87
+:101190001B6803F00073002BF0D17B685B6AB3F52A
+:1011A000803F0FD1334BDA6A7B685B683149134368
+:1011B000CB62304BDB6A23F00F027B68DB682D4982
+:1011C0001343CB622B4B5B6823F474127B68596A20
+:1011D0007B689B6A0B43274913434B60264B0122D4
+:1011E0001A60FDF7A9F8386108E0FDF7A5F8024696
+:1011F0003B69D31A022B01D9032337E01D4B1B682F
+:1012000003F00073002BF0D02FE01B4B00221A607C
+:10121000FDF792F8386108E0FDF78EF802463B6969
+:10122000D31A022B01D9032320E0124B1B6803F0D1
+:101230000073002BF0D118E07B681B6A012B01D1F1
+:10124000012313E00B4B5B68FB60FB6803F4803207
+:101250007B685B6A9A4206D1FB6803F470127B6874
+:101260009B6A9A4201D0012300E0002318461837F8
+:10127000BD4680BD001002406000424280B584B08F
+:1012800000AF786039607B68002B01D10123D0E08A
+:101290006A4B1B6803F007033A689A4210D9674B00
+:1012A0001B6823F0070265493B6813430B60634BDF
+:1012B0001B6803F007033A689A4201D00123B8E0A3
+:1012C0007B681B6803F00203002B20D07B681B683F
+:1012D00003F00403002B05D0594B5B68584A43F4D4
+:1012E000E06353607B681B6803F00803002B05D0A4
+:1012F000534B5B68524A43F460535360504B5B68F6
+:1013000023F0F0027B689B684D4913434B607B6878
+:101310001B6803F00103002B40D07B685B68012B46
+:1013200007D1474B1B6803F40033002B15D1012371
+:101330007FE07B685B68022B07D1414B1B6803F0A1
+:101340000073002B09D1012373E03D4B1B6803F0B0
+:101350000203002B01D101236BE0394B5B6823F0C2
+:1013600003027B685B68364913434B60FCF7E4FF7C
+:10137000F8600AE0FCF7E0FF0246FB68D31A41F28E
+:101380008832934201D9032353E02D4B5B6803F06D
+:101390000C027B685B689B009A42EBD1274B1B6871
+:1013A00003F007033A689A4210D2244B1B6823F0DB
+:1013B000070222493B6813430B60204B1B6803F074
+:1013C00007033A689A4201D0012332E07B681B6828
+:1013D00003F00403002B08D0194B5B6823F4E06290
+:1013E0007B68DB68164913434B607B681B6803F01E
+:1013F0000803002B09D0124B5B6823F460527B6812
+:101400001B69DB000E4913434B6000F021F80246D4
+:101410000B4B5B681B0903F00F030A49CB5C22FAF4
+:1014200003F3094A1360094B1B681846FCF742FF97
+:10143000002318461037BD4680BD00BF0020024083
+:1014400000100240FC780108840000208800002081
+:101450002DE9B04F8EB000AF0023FB620023BB62CA
+:1014600000237B6300237B6200233B6300233B62FA
+:101470000023FB614E4B5B68FB62FB6A03F00C03CD
+:10148000042B02D0082B03D089E04A4B3B6389E050
+:10149000FB6A9B0C03F00F02474B9B5C7B62FB6A71
+:1014A00003F48033002B72D0414BDB6A03F00F0250
+:1014B000424B9B5CBB623E4BDB6A03F48033002BE8
+:1014C00053D03B4BDB6A1B0903F00F0301333B6234
+:1014D000374BDB6A1B0A03F00F030233FB61FB6926
+:1014E00000229A4693467B6A00223B617A613B69FF
+:1014F00003FB0BF27B690AFB03F313443A69AAFB73
+:1015000002010B4419462B4B03FB01F2002300FBA5
+:1015100003F31344274AA0FB02452B441D463B6AB4
+:101520000022BB60FA60BB6A00223B607A60D7E9A8
+:1015300002010B46D7E900AB524602FB03F25B46C1
+:1015400084460CFB03F3134402465146A2FB018977
+:101550004B44994642464B4620462946F7F74AFEF9
+:1015600002460B4613467B6307E07B6A114A03FB86
+:1015700002F2BB6AB2FBF3F37B630F4B5B7B1A4651
+:101580007B6A934208D17B6B5B087B6304E07B6AD8
+:101590000B4A02FB03F37B637B6B3B6302E0094B6B
+:1015A0003B6300BF3B6B18463837BD46BDE8B08F84
+:1015B0000010024040787D01147901082479010867
+:1015C00000093D0000127A0080B400AF024B1B6896
+:1015D0001846BD4680BC70478400002080B500AF2F
+:1015E000FFF7F2FF0246054B5B681B0A03F0070397
+:1015F0000349CB5C22FA03F3184680BD0010024079
+:101600000C79010880B500AFFFF7DEFF0246054BFD
+:101610005B68DB0A03F007030349CB5C22FA03F3A0
+:10162000184680BD001002400C79010880B485B0D6
+:1016300000AF78600A4B1B680A4AA2FB03235B0ACF
+:101640007A6802FB03F3FB6000BFFB685A1EFA6076
+:10165000002BF9D100BF00BF1437BD4680BC7047D6
+:1016600084000020D34D621080B588B000AF786050
+:1016700000237B6100233B610023FB617B681B68C7
+:1016800003F00103002B7DD00023FB768B4BDB693D
+:1016900003F08053002B0DD1884BDB69874A43F060
+:1016A0008053D361854BDB6903F08053FB60FB689B
+:1016B0000123FB76824B1B6803F48073002B18D147
+:1016C0007F4B1B687E4A43F480731360FCF734FE43
+:1016D000786108E0FCF730FE02467B69D31A642B80
+:1016E00001D90323E5E0764B1B6803F48073002BDC
+:1016F000F0D0724B1B6A03F440733B613B69002BD3
+:101700002ED07B685B6803F440733A699A4227D015
+:101710006A4B1B6A23F440733B616A4B01221A60D7
+:10172000684B00221A60654A3B6913623B6903F00B
+:101730000103002B14D0FCF7FFFD78610AE0FCF7F1
+:10174000FBFD02467B69D31A41F28832934201D9EC
+:101750000323AEE0594B1B6A03F00203002BEED0CB
+:10176000564B1B6A23F440727B685B6853491343F2
+:101770000B62FB7E012B05D1504BDB694F4A23F0F6
+:101780008053D3617B681B6803F00203002B08D0F1
+:101790004A4B5B6823F440427B689B68474913438C
+:1017A0004B607B681B6803F00403002B08D0434B9D
+:1017B000DB6A23F400327B68DB6840491343CB6269
+:1017C0007B681B6803F00803002B08D03B4BDB6AE7
+:1017D00023F480227B681B6938491343CB62374B63
+:1017E000DB6A03F40033002B05D1344BDB6A03F4CE
+:1017F0008023002B01D00123FB61FB69012B48D121
+:101800002E4B1B6803F08053002B38D12B4B1B68E9
+:1018100003F08063002B09D0284BDB6A03F0F00251
+:101820007B689B699A4201D0012342E0234BDB6A2B
+:1018300023F0F0027B689B6920491343CB621F4B66
+:10184000DB6A23F470427B685B691C491343CB62FB
+:101850001D4B01221A60FCF76FFD786108E0FCF770
+:101860006BFD02467B69D31A642B01D9032320E068
+:10187000124B1B6803F00053002BF0D009E00F4B14
+:10188000DB6A03F470427B685B699A4201D00123F2
+:101890000FE07B681B6803F01003002B08D0074B98
+:1018A0005B6823F480027B68DB69044913434B6067
+:1018B000002318462037BD4680BD00BF00100240FF
+:1018C00000700040400442427000424280B58AB03D
+:1018D00000AF78600023FB6100237B620023BB61C3
+:1018E00000237B6100233B610023FB600023BB607E
+:1018F00000233B627B68013B0F2B00F21D8101A29C
+:1019000052F823F0B91A01081D1B0108391B010800
+:10191000171A0108391B0108391B0108391B010876
+:10192000691A0108391B0108391B0108391B010814
+:10193000391B0108391B0108391B0108391B010833
+:1019400045190108834B5B68BB60824B1B6803F041
+:101950008073002B00F0F280BB689B0C03F00F0338
+:101960007D4AD35CBB61BB6803F48033002B3BD062
+:10197000784BDB6A03F00F03784AD35CFB61754B4D
+:10198000DB6A03F48033002B1CD0724BDB6A1B092B
+:1019900003F00F030133FB606E4BDB6A1B0A03F09D
+:1019A0000F0302337B616E4AFB68B2FBF3F37A6983
+:1019B00003FB02F2FB69B2FBF3F2BB6902FB03F328
+:1019C0007B6207E0664AFB69B2FBF3F2BB6902FB8C
+:1019D00003F37B62604B5B7B1A46BB69934208D181
+:1019E0007B6A5B087B6204E0BB695E4A02FB03F32F
+:1019F0007B62584B5B6803F48003B3F5800F02D120
+:101A00007B6A3B629AE07B6A5B00574AA2FB032336
+:101A10005B083B6292E04F4BDB6A03F40033002B20
+:101A200003D1FFF715FD38628AE04A4B1B6803F0CB
+:101A30008053002B00F08480464BDB6A1B0903F0C7
+:101A40000F030133FB60434BDB6A1B0B03F00F03F7
+:101A500002333B61424AFB68B2FBF3F33A6902FB93
+:101A600003F35B003B626BE03A4BDB6A03F48023D9
+:101A7000002B03D1FFF7ECFC386263E0354B1B68A9
+:101A800003F08053002B5DD0324BDB6A1B0903F05F
+:101A90000F030133FB602F4BDB6A1B0B03F00F03BB
+:101AA00002333B612E4AFB68B2FBF3F33A6902FB57
+:101AB00003F35B003B6245E0264B1B6ABB60BB68DF
+:101AC00003F44073B3F5807F08D1BB6803F00203D1
+:101AD000002B03D04FF400433B621EE0BB6803F4CD
+:101AE0004073B3F5007F09D11A4B5B6A03F0020320
+:101AF000002B03D049F640433B620EE0BB6803F481
+:101B00004073B3F5407F1FD1124B1B6803F40033C1
+:101B1000002B19D0154B3B6216E015E0FFF772FD64
+:101B200002460C4B5B689B0B03F0030301335B0025
+:101B3000B2FBF3F33B6208E000BF06E000BF04E045
+:101B400000BF02E000BF00E000BF3B6A1846283734
+:101B5000BD4680BD00100240347901084479010877
+:101B600040787D0100093D00ABAAAAAAF0FA020064
+:101B700080B584B000AF78600023FB607B68002BE9
+:101B800001D101237AE07B685B7CDBB2002B05D1BD
+:101B90007B6800221A747868F9F7BAFF7B68022222
+:101BA0005A74786800F070F80346002B04D07B6804
+:101BB00004225A74012361E0786800F092F8034629
+:101BC000002B04D07B6804225A74012356E07B6802
+:101BD0001B685A687B681B6822F007025A607B68A2
+:101BE0009B68002B05D0274B1B6B264A23F0010373
+:101BF0001363244BDB6A23F460727B689B68214982
+:101C00001343CB627B685B68B3F1FF3F03D07B6813
+:101C10005B68FB600EE00120FFF758FEF860FB6890
+:101C2000002B04D17B6804225A74012326E0FB6850
+:101C3000013BFB60FB681A0C7B681B6802F00F021B
+:101C40009A607B681B68FA6892B2DA60786800F084
+:101C500070F80346002B04D07B6804225A740123D9
+:101C60000CE07B680022DA737B6801225A737B6880
+:101C700001229A737B6801225A7400231846103798
+:101C8000BD4680BD006C004080B584B000AF786078
+:101C90000023FB607B68002B01D101231DE07B68E2
+:101CA0001B685A687B681B6822F008025A60FCF7C0
+:101CB00043FBF86009E0FCF73FFB0246FB68D31AE0
+:101CC000B3F57A7F01D9032307E07B681B685B6863
+:101CD00003F00803002BEED0002318461037BD4652
+:101CE00080BD80B584B000AF78600023FB60FCF756
+:101CF00023FBF86009E0FCF71FFB0246FB68D31AE0
+:101D0000B3F57A7F01D903230FE07B681B685B681A
+:101D100003F02003002BEED07B681B685A687B68B9
+:101D20001B6842F010025A60002318461037BD4667
+:101D300080BD80B584B000AF78600023FB607B6815
+:101D40001B685A687B681B6822F010025A60FCF717
+:101D5000F3FAF86009E0FCF7EFFA0246FB68D31AE1
+:101D6000B3F57A7F01D9032307E07B681B685B68C2
+:101D700003F02003002BEED0002318461037BD4699
+:101D800080BD80B582B000AF78607B68002B01D148
+:101D9000012341E07B6893F83D30DBB2002B06D194
+:101DA0007B68002283F83C207868FBF701FF7B68A2
+:101DB000022283F83D207B681A687B680433194649
+:101DC000104600F033FD7B68012283F846207B68D3
+:101DD000012283F83E207B68012283F83F207B6844
+:101DE000012283F840207B68012283F841207B6830
+:101DF000012283F842207B68012283F843207B681C
+:101E0000012283F844207B68012283F845207B6807
+:101E1000012283F83D20002318460837BD4680BDC7
+:101E200080B582B000AF78607B68002B01D10123C0
+:101E300041E07B6893F83D30DBB2002B06D17B6834
+:101E4000002283F83C20786800F039F87B68022291
+:101E500083F83D207B681A687B6804331946104676
+:101E600000F0E4FC7B68012283F846207B680122B5
+:101E700083F83E207B68012283F83F207B680122A3
+:101E800083F840207B68012283F841207B6801228F
+:101E900083F842207B68012283F843207B6801227B
+:101EA00083F844207B68012283F845207B68012267
+:101EB00083F83D20002318460837BD4680BD80B416
+:101EC00083B000AF786000BF0C37BD4680BC704760
+:101ED00080B584B000AF786039603B68002B09D1D1
+:101EE0007B6893F83E30DBB2012B14BF0123002343
+:101EF000DBB222E03B68042B09D17B6893F83F30CA
+:101F0000DBB2012B14BF01230023DBB215E03B68D9
+:101F1000082B09D17B6893F84030DBB2012B14BF4A
+:101F200001230023DBB208E07B6893F84130DBB289
+:101F3000012B14BF01230023DBB2002B01D00123AE
+:101F400063E03B68002B04D17B68022283F83E20CB
+:101F500013E03B68042B04D17B68022283F83F2006
+:101F60000BE03B68082B04D17B68022283F84020F9
+:101F700003E07B68022283F841207B681B68012212
+:101F80003968184600F0E8FE7B681B68214A9342D6
+:101F900007D17B681B685A6C7B681B6842F400425F
+:101FA0005A647B681B681B4A934213D07B681B688A
+:101FB000B3F1804F0ED07B681B68174A934209D05B
+:101FC0007B681B68154A934204D07B681B68144ADF
+:101FD000934211D17B681B689B6803F00703FB6089
+:101FE000FB68062B10D07B681B681A687B681B682F
+:101FF00042F001021A6007E07B681B681A687B6880
+:102000001B6842F001021A60002318461037BD46D3
+:1020100080BD00BF002C01400004004000080040CB
+:10202000000C004080B582B000AF78607B68002B68
+:1020300001D1012341E07B6893F83D30DBB2002BF6
+:1020400006D17B68002283F83C20786800F039F8DC
+:102050007B68022283F83D207B681A687B68043322
+:102060001946104600F0E2FB7B68012283F8462007
+:102070007B68012283F83E207B68012283F83F20A1
+:102080007B68012283F840207B68012283F841208D
+:102090007B68012283F842207B68012283F8432079
+:1020A0007B68012283F844207B68012283F8452065
+:1020B0007B68012283F83D20002318460837BD467F
+:1020C00080BD80B483B000AF786000BF0C37BD46E0
+:1020D00080BC704780B584B000AF786039603B68E1
+:1020E000002B09D17B6893F83E30DBB2012B14BF83
+:1020F00001230023DBB222E03B68042B09D17B687B
+:1021000093F83F30DBB2012B14BF01230023DBB275
+:1021100015E03B68082B09D17B6893F84030DBB2AF
+:10212000012B14BF01230023DBB208E07B6893F886
+:102130004130DBB2012B14BF01230023DBB2002BA3
+:1021400001D0012363E03B68002B04D17B680222AD
+:1021500083F83E2013E03B68042B04D17B68022205
+:1021600083F83F200BE03B68082B04D17B680222F8
+:1021700083F8402003E07B68022283F841207B68DB
+:102180001B6801223968184600F0E6FD7B681B6871
+:10219000214A934207D17B681B685A6C7B681B6895
+:1021A00042F400425A647B681B681B4A934213D076
+:1021B0007B681B68B3F1804F0ED07B681B68174AA1
+:1021C000934209D07B681B68154A934204D07B6810
+:1021D0001B68144A934211D17B681B689B6803F00B
+:1021E0000703FB60FB68062B10D07B681B681A682E
+:1021F0007B681B6842F001021A6007E07B681B687D
+:102200001A687B681B6842F001021A6000231846B6
+:102210001037BD4680BD00BF002C014000040040C7
+:1022200000080040000C004080B584B000AF78602A
+:102230007B681B68DB68FB607B681B681B69BB6095
+:10224000BB6803F00203002B20D0FB6803F00203FD
+:10225000002B1BD07B681B686FF002021A617B6841
+:1022600001221A777B681B689B6903F00303002B2C
+:1022700003D0786800F0BFFA05E0786800F0B2FAA1
+:10228000786800F0C1FA7B6800221A77BB6803F017
+:102290000403002B20D0FB6803F00403002B1BD0A9
+:1022A0007B681B686FF004021A617B6802221A7750
+:1022B0007B681B689B6903F44073002B03D078682C
+:1022C00000F099FA05E0786800F08CFA786800F080
+:1022D0009BFA7B6800221A77BB6803F00803002B87
+:1022E00020D0FB6803F00803002B1BD07B681B6821
+:1022F0006FF008021A617B6804221A777B681B68FA
+:10230000DB6903F00303002B03D0786800F073FA55
+:1023100005E0786800F066FA786800F075FA7B6886
+:1023200000221A77BB6803F01003002B20D0FB6853
+:1023300003F01003002B1BD07B681B686FF01002AA
+:102340001A617B6808221A777B681B68DB6903F4D3
+:102350004073002B03D0786800F04DFA05E07868F0
+:1023600000F040FA786800F04FFA7B6800221A7794
+:10237000BB6803F00103002B0CD0FB6803F00103E2
+:10238000002B07D07B681B686FF001021A61786828
+:1023900000F01FFABB6803F08003002B0CD0FB6831
+:1023A00003F08003002B07D07B681B686FF080026E
+:1023B0001A61786800F063FDBB6803F04003002BEE
+:1023C0000CD0FB6803F04003002B07D07B681B6830
+:1023D0006FF040021A61786800F01FFABB6803F0E2
+:1023E0002003002B0CD0FB6803F02003002B07D048
+:1023F0007B681B686FF020021A61786800F036FD78
+:1024000000BF1037BD4680BD80B586B000AFF86014
+:10241000B9607A600023FB75FB6893F83C30012BB0
+:1024200001D1022348E0FB68012283F83C207B684D
+:102430000C2B39D801A252F823F000BF71240108F7
+:10244000A9240108A9240108A92401087F2401085E
+:10245000A9240108A9240108A92401088D24010840
+:10246000A9240108A9240108A92401089B24010822
+:10247000FB681B68B968184600F050FA17E0FB6863
+:102480001B68B968184600F0AFFA10E0FB681B68DB
+:10249000B968184600F012FB09E0FB681B68B968D0
+:1024A000184600F075FB02E00123FB7500BFFB68D6
+:1024B000002283F83C20FB7D18461837BD4680BDBE
+:1024C00080B586B000AFF860B9607A600023FB7514
+:1024D000FB6893F83C30012B01D10223AEE0FB688E
+:1024E000012283F83C207B680C2B00F29F8001A224
+:1024F00052F823F0292501082D2601082D26010870
+:102500002D260108692501082D2601082D26010820
+:102510002D260108AB2501082D2601082D260108CE
+:102520002D260108EB250108FB681B68B9681846D1
+:1025300000F0F4F9FB681B689A69FB681B6842F0BD
+:1025400008029A61FB681B689A69FB681B6822F0A5
+:1025500004029A61FB681B689969BB681A69FB6889
+:102560001B680A439A6164E0FB681B68B9681846F7
+:1025700000F03AFAFB681B689A69FB681B6842F432
+:1025800000629A61FB681B689A69FB681B6822F409
+:1025900080629A61FB681B689969BB681B691A02B3
+:1025A000FB681B680A439A6143E0FB681B68B968D3
+:1025B000184600F083FAFB681B68DA69FB681B6841
+:1025C00042F00802DA61FB681B68DA69FB681B6885
+:1025D00022F00402DA61FB681B68D969BB681A69DA
+:1025E000FB681B680A43DA6123E0FB681B68B96873
+:1025F000184600F0CDFAFB681B68DA69FB681B68B7
+:1026000042F40062DA61FB681B68DA69FB681B68E8
+:1026100022F48062DA61FB681B68D969BB681B69B8
+:102620001A02FB681B680A43DA6102E00123FB75AA
+:1026300000BFFB68002283F83C20FB7D184618375A
+:10264000BD4680BD80B584B000AF7860396000239E
+:10265000FB737B6893F83C30012B01D10223B4E07B
+:102660007B68012283F83C207B68022283F83D20AE
+:102670007B681B689B68BB60BB6823F07703BB600B
+:10268000BB6823F47F43BB607B681B68BA689A60B1
+:102690003B681B68B3F5005F3ED0B3F5005F00F206
+:1026A0008780B3F5805F00F08680B3F5805F7FD8C8
+:1026B000702B1AD0702B7BD8602B50D0602B77D822
+:1026C000502B3CD0502B73D8402B58D0402B6FD878
+:1026D000302B64D0302B6BD8202B60D0202B67D8C8
+:1026E000002B5CD0102B5AD062E07B6818683B68E6
+:1026F00099683B685A683B68DB6800F00EFB7B68B2
+:102700001B689B68BB60BB6843F07703BB607B685A
+:102710001B68BA689A604FE07B6818683B689968E4
+:102720003B685A683B68DB6800F0F7FA7B681B6817
+:102730009A687B681B6842F480429A603CE07B6840
+:1027400018683B6859683B68DB681A4600F06EFA07
+:102750007B681B685021184600F0C5FA2CE07B68A6
+:1027600018683B6859683B68DB681A4600F08CFAC9
+:102770007B681B686021184600F0B5FA1CE07B6896
+:1027800018683B6859683B68DB681A4600F04EFAE7
+:102790007B681B684021184600F0A5FA0CE07B68B6
+:1027A0001A683B681B681946104600F09CFA03E063
+:1027B0000123FB7300E000BF7B68012283F83D200A
+:1027C0007B68002283F83C20FB7B18461037BD460F
+:1027D00080BD80B483B000AF786000BF0C37BD46C9
+:1027E00080BC704780B483B000AF786000BF0C3706
+:1027F000BD4680BC704780B483B000AF786000BF36
+:102800000C37BD4680BC704780B483B000AF7860A1
+:1028100000BF0C37BD4680BC704780B483B000AFAA
+:10282000786000BF0C37BD4680BC704780B485B06F
+:1028300000AF786039607B681B68FB607B68334A57
+:1028400093420FD07B68B3F1804F0BD07B68304A46
+:10285000934207D07B682F4A934203D07B682E4A6D
+:10286000934208D1FB6823F07003FB603B685B6810
+:10287000FA681343FB607B68244A93420FD07B685D
+:10288000B3F1804F0BD07B68214A934207D07B681D
+:10289000204A934203D07B681F4A934208D1FB68C9
+:1028A00023F44073FB603B68DB68FA681343FB600A
+:1028B000FB6823F080023B685B691343FB607B6825
+:1028C000FA681A603B689A687B68DA623B681A6843
+:1028D0007B689A627B680D4A934203D13B681A6910
+:1028E0007B681A637B6801225A617B681B6903F06D
+:1028F0000103002B05D07B681B6923F001027B6874
+:102900001A6100BF1437BD4680BC7047002C0140DF
+:102910000004004000080040000C004080B487B074
+:1029200000AF786039607B681B6A7B617B681B6ADB
+:1029300023F001027B681A627B685B683B617B68FD
+:102940009B69FB60FB6823F07003FB60FB6823F06E
+:102950000303FB603B681B68FA681343FB607B69F9
+:1029600023F002037B613B689B687A6913437B61B8
+:102970007B681C4A93420CD17B6923F008037B617E
+:102980003B68DB687A6913437B617B6923F004034E
+:102990007B617B68134A934211D13B6923F48073B6
+:1029A0003B613B6923F400733B613B685B693A69B7
+:1029B00013433B613B689B693A6913433B617B6806
+:1029C0003A695A607B68FA689A613B685A687B6822
+:1029D0005A637B687A691A6200BF1C37BD4680BCA7
+:1029E000704700BF002C014080B487B000AF786012
+:1029F00039607B681B6A7B617B681B6A23F010026D
+:102A00007B681A627B685B683B617B689B69FB60E3
+:102A1000FB6823F4E043FB60FB6823F44073FB6036
+:102A20003B681B681B02FA681343FB607B6923F059
+:102A300020037B613B689B681B017A6913437B61C0
+:102A40007B681D4A93420DD17B6923F080037B6133
+:102A50003B68DB681B017A6913437B617B6923F068
+:102A600040037B617B68144A934213D13B6923F492
+:102A700080633B613B6923F400633B613B685B69B6
+:102A80009B003A6913433B613B689B699B003A6931
+:102A900013433B617B683A695A607B68FA689A61C4
+:102AA0003B685A687B689A637B687A691A6200BFE0
+:102AB0001C37BD4680BC7047002C014080B487B0F5
+:102AC00000AF786039607B681B6A7B617B681B6A3A
+:102AD00023F480727B681A627B685B683B617B6869
+:102AE000DB69FB60FB6823F07003FB60FB6823F08D
+:102AF0000303FB603B681B68FA681343FB607B6958
+:102B000023F400737B613B689B681B027A69134363
+:102B10007B617B681D4A93420DD17B6923F400637E
+:102B20007B613B68DB681B027A6913437B617B69CD
+:102B300023F480637B617B68144A934213D13B6921
+:102B400023F480533B613B6923F400533B613B68B2
+:102B50005B691B013A6913433B613B689B691B013D
+:102B60003A6913433B617B683A695A607B68FA684B
+:102B7000DA613B685A687B68DA637B687A691A6253
+:102B800000BF1C37BD4680BC704700BF002C014011
+:102B900080B487B000AF786039607B681B6A3B61A6
+:102BA0007B681B6A23F480527B681A627B685B68CF
+:102BB0007B617B68DB69FB60FB6823F4E043FB60BF
+:102BC000FB6823F44073FB603B681B681B02FA68D8
+:102BD0001343FB603B6923F400533B613B689B68F4
+:102BE0001B033A6913433B617B680F4A934209D147
+:102BF0007B6923F480437B613B685B699B017A6955
+:102C000013437B617B687A695A607B68FA68DA6192
+:102C10003B685A687B681A647B683A691A6200BF2D
+:102C20001C37BD4680BC7047002C014080B487B083
+:102C300000AFF860B9607A60FB681B6A7B61FB6873
+:102C40001B6A23F00102FB681A62FB689B693B6107
+:102C50003B6923F0F0033B617B681B013A69134336
+:102C60003B617B6923F00A037B617A69BB6813438C
+:102C70007B61FB683A699A61FB687A691A6200BFF6
+:102C80001C37BD4680BC704780B487B000AFF86089
+:102C9000B9607A60FB681B6A7B61FB681B6A23F082
+:102CA0001002FB681A62FB689B693B613B6923F475
+:102CB00070433B617B681B033A6913433B617B694B
+:102CC00023F0A0037B61BB681B017A6913437B611E
+:102CD000FB683A699A61FB687A691A6200BF1C371F
+:102CE000BD4680BC704780B485B000AF7860396065
+:102CF0007B689B68FB60FB6823F07003FB603A68AD
+:102D0000FB68134343F00703FB607B68FA689A6033
+:102D100000BF1437BD4680BC704780B487B000AF99
+:102D2000F860B9607A603B60FB689B687B617B6997
+:102D300023F47F437B613B681A027B681A43BB68BC
+:102D400013437A6913437B61FB687A699A6000BF19
+:102D50001C37BD4680BC704780B487B000AFF860B8
+:102D6000B9607A60BB6803F01F03012202FA03F323
+:102D70007B61FB681A6A7B69DB431A40FB681A6255
+:102D8000FB681A6ABB6803F01F03796801FA03F352
+:102D90001A43FB681A6200BF1C37BD4680BC7047EF
+:102DA00080B485B000AF786039607B6893F83C30C0
+:102DB000012B01D102234BE07B68012283F83C20E8
+:102DC0007B68022283F83D207B681B685B68FB60A0
+:102DD0007B681B689B68BB60FB6823F07003FB602B
+:102DE0003B681B68FA681343FB607B681B68FA68E2
+:102DF0005A607B681B68194A934213D07B681B6832
+:102E0000B3F1804F0ED07B681B68154A934209D0FE
+:102E10007B681B68134A934204D07B681B68124A84
+:102E200093420CD1BB6823F08003BB603B685B68B6
+:102E3000BA681343BB607B681B68BA689A607B689A
+:102E4000012283F83D207B68002283F83C20002388
+:102E500018461437BD4680BC704700BF002C0140A7
+:102E60000004004000080040000C004080B483B023
+:102E700000AF786000BF0C37BD4680BC704780B49F
+:102E800083B000AF786000BF0C37BD4680BC704790
+:102E900080B582B000AF78607B68002B01D1012340
+:102EA00042E07B6893F84130DBB2002B06D17B68AF
+:102EB000002283F840207868FAF7C2FF7B6824225A
+:102EC00083F841207B681B68DA687B681B6822F402
+:102ED0000052DA60786801F003F97B681B681A69B0
+:102EE0007B681B6822F490421A617B681B685A69F0
+:102EF0007B681B6822F02A025A617B681B68DA68CB
+:102F00007B681B6842F40052DA607B6800225A64D6
+:102F10007B68202283F841207B68202283F84220AE
+:102F20007B6800225A63002318460837BD4680BDDF
+:102F300080B58CB000AFF860B9601346FB80FB68C9
+:102F400093F84130DBB2202B56D1BB68002B02D066
+:102F5000FB88002B01D101234FE0BA68FB681A629D
+:102F6000FB68FA889A84FB68FA88DA84FB68002296
+:102F70005A64FB68212283F84120FB689B6B214A3D
+:102F80009A62FB689B6B204ADA62FB689B6B1F4A64
+:102F90001A63FB689B6B00225A6307F10803FB620C
+:102FA000FB68986BFB6A1968FB681B6804331A4658
+:102FB000FB88FCF7A5FFFB681B686FF040021A60F6
+:102FC000FB681B681433BB61BB6953E8003F7B613E
+:102FD0007B6943F08003BB62FB681B681433BA6AE9
+:102FE0007A623B62396A7A6A41E80023FB61FB69D5
+:102FF000002BE5D1002300E0022318463037BD4600
+:1030000080BD00BF053901089F390108233B010835
+:1030100080B58CB000AFF860B9601346FB80FB68E8
+:1030200093F84230DBB2202B4AD1BB68002B02D090
+:10303000FB88002B01D1012343E0FB6801221A63C6
+:10304000FB6800225A63FB881A46B968F86800F0EA
+:10305000B2FD034687F82F3097F82F30002B2CD184
+:10306000FB681B6B012B25D100233B61FB681B68B0
+:103070001B683B61FB681B685B683B613B69FB68E5
+:103080001B680C33BB61BB6953E8003F7B617B6904
+:1030900043F01003BB62FB681B680C33BA6A7A62A8
+:1030A0003B62396A7A6A41E80023FB61FB69002BC5
+:1030B000E5D102E0012387F82F3097F82F3000E0A8
+:1030C000022318463037BD4680BD80B58CB000AFB6
+:1030D000F860B9601346FB80FB6893F84230DBB2BE
+:1030E000202B46D1BB68002B02D0FB88002B01D1DE
+:1030F00001233FE0FB6801221A63FB6800225A6348
+:10310000FB881A46B968F86800F08EFD034687F818
+:103110002F30FB681B6B012B25D100233B61FB6823
+:103120001B681B683B61FB681B685B683B613B6914
+:10313000FB681B680C33BB61BB6953E8003F7B61D4
+:103140007B6943F01003BB62FB681B680C33BA6AEF
+:103150007A623B62396A7A6A41E80023FB61FB6963
+:10316000002BE5D102E0012387F82F3097F82F30AC
+:1031700000E0022318463037BD4680BD80B58EB0D2
+:1031800000AF78607B681B680C333B623B6A53E896
+:10319000003FFB61FB6923F0C0037B637B681B6816
+:1031A0000C337A6BFA62BB62B96AFA6A41E80023AF
+:1031B0007B627B6A002BE5D17B681B685B6903F04F
+:1031C0008003002B36D07B681B681433FB60FB68E0
+:1031D00053E8003FBB60BB6823F080033B637B6820
+:1031E0001B6814333A6BBA617B617969BA6941E84B
+:1031F00000233B613B69002BE5D17B689B6B002B77
+:1032000018D07B689B6B00225A637B689B6B1846C7
+:10321000FCF7D6FE0346002B0CD07B689B6B184650
+:10322000FDF74EFA0346202B04D17B6810225A6426
+:10323000032307E07B680022DA847B68202283F87E
+:103240004120002318463837BD4680BD80B59AB06E
+:1032500000AF78607B681B680C33BB64BB6C53E8C1
+:10326000003F7B647B6C23F490737B667B681B68F8
+:103270000C337A6E7A653B65396D7A6D41E80023CF
+:10328000FB64FB6C002BE5D17B681B6814337B630C
+:103290007B6B53E8003F3B633B6B23F001033B66D2
+:1032A0007B681B6814333A6E3A64FB63F96B3A6CC3
+:1032B00041E80023BB63BB6B002BE5D17B681B6B34
+:1032C000012B19D17B681B680C333B623B6A53E8C6
+:1032D000003FFB61FB6923F01003FB657B681B6803
+:1032E0000C33FA6DFA62BB62B96AFA6A41E80023EC
+:1032F0007B627B6A002BE5D17B681B685B6903F00E
+:103300004003002B36D07B681B681433FB60FB68DE
+:1033100053E8003FBB60BB6823F04003BB657B689C
+:103320001B681433BA6DBA617B617969BA6941E887
+:1033300000233B613B69002BE5D17B68DB6B002BF5
+:1033400018D07B68DB6B00225A637B68DB6B184606
+:10335000FCF736FE0346002B0CD07B68DB6B18466F
+:10336000FDF7AEF90346202B04D17B6810225A6486
+:1033700003230AE07B680022DA857B68202283F839
+:1033800042207B6800221A63002318466837BD4636
+:1033900080BD000080B5BAB000AF78607B681B6864
+:1033A0001B68C7F8E4307B681B68DB68C7F8E0304F
+:1033B0007B681B685B69C7F8DC300023C7F8D8302E
+:1033C0000023C7F8D430D7F8E43003F00F03C7F870
+:1033D000D830D7F8D830002B0FD1D7F8E43003F02D
+:1033E0002003002B09D0D7F8E03003F02003002B96
+:1033F00003D0786800F0B6FD5BE2D7F8D830002B38
+:1034000000F0DE80D7F8DC3003F00103002B06D19A
+:10341000D7F8E03003F49073002B00F0D180D7F898
+:10342000E43003F00103002B0BD0D7F8E03003F4B5
+:103430008073002B05D07B685B6C43F001027B68D6
+:103440005A64D7F8E43003F00403002B0BD0D7F80C
+:10345000DC3003F00103002B05D07B685B6C43F08C
+:1034600002027B685A64D7F8E43003F00203002BB1
+:103470000BD0D7F8DC3003F00103002B05D07B68BC
+:103480005B6C43F004027B685A64D7F8E43003F0C5
+:103490000803002B11D0D7F8E03003F02003002BF5
+:1034A00005D1D7F8DC3003F00103002B05D07B6891
+:1034B0005B6C43F008027B685A647B685B6C002B92
+:1034C00000F0F281D7F8E43003F02003002B08D09D
+:1034D000D7F8E03003F02003002B02D0786800F02A
+:1034E00041FD7B681B685B6903F04003002B14BF40
+:1034F00001230023DBB2C7F8D4307B685B6C03F098
+:103500000803002B03D1D7F8D430002B4FD07868B4
+:1035100000F04BFC7B681B685B6903F04003002BE9
+:1035200041D07B681B681433C7F89C30D7F89C30B7
+:1035300053E8003FC7F89830D7F8983023F040039D
+:10354000C7F8D0307B681B681433D7F8D020C7F891
+:10355000A820C7F8A430D7F8A410D7F8A82041E8CD
+:103560000023C7F8A030D7F8A030002BD9D17B6852
+:10357000DB6B002B13D07B68DB6B7E4A5A637B6866
+:10358000DB6B1846FCF758FD0346002B16D07B6812
+:10359000DB6B5B6B7A68D26B104698470EE07868FD
+:1035A000F8F792FB0AE07868F8F78EFB06E0786897
+:1035B000F8F78AFB7B6800225A6475E100BF73E16B
+:1035C0007B681B6B012B40F04F81D7F8E43003F090
+:1035D0001003002B00F04881D7F8E03003F010030F
+:1035E000002B00F041810023BB607B681B681B68D7
+:1035F000BB607B681B685B68BB60BB687B681B68E3
+:103600005B6903F04003002B00F0B6807B68DB6B46
+:103610001B685B68A7F8BE30B7F8BE30002B00F01F
+:1036200045817B689B8DB7F8BE209A4280F03E8131
+:103630007B68B7F8BE20DA857B68DB6B9B69202B43
+:1036400000F088807B681B680C33C7F88830D7F897
+:10365000883053E8003FC7F88430D7F8843023F42B
+:103660008073C7F8B8307B681B680C33D7F8B82074
+:10367000C7F89420C7F89030D7F89010D7F8942066
+:1036800041E80023C7F88C30D7F88C30002BD9D113
+:103690007B681B6814337B677B6F53E8003F3B6795
+:1036A0003B6F23F00103C7F8B4307B681B68143309
+:1036B000D7F8B420C7F88020FB67F96FD7F88020CF
+:1036C00041E80023BB67BB6F002BE1D17B681B681F
+:1036D00014333B663B6E53E8003FFB65FB6D23F004
+:1036E0004003C7F8B0307B681B681433D7F8B020AC
+:1036F000FA66BB66B96EFA6E41E800237B667B6EA4
+:10370000002BE3D17B68202283F842207B680022D3
+:103710001A637B681B680C33FB64FB6C53E8003F47
+:10372000BB64BB6C23F01003C7F8AC307B681B682C
+:103730000C33D7F8AC20BA657B65796DBA6D41E87A
+:1037400000233B653B6D002BE3D17B68DB6B1846A8
+:10375000FCF736FC7B6802225A637B689A8D7B6893
+:10376000DB8D9BB2D31A9BB219467868F9F7F6F94C
+:103770009CE000BF6F3E01087B689A8D7B68DB8D03
+:103780009BB2D31AA7F8CE307B68DB8D9BB2002B9F
+:1037900000F08E80B7F8CE30002B00F089807B6877
+:1037A0001B680C33BB63BB6B53E8003F7B637B6BD5
+:1037B00023F49073C7F8C8307B681B680C33D7F8C4
+:1037C000C8207A643B64396C7A6C41E80023FB635F
+:1037D000FB6B002BE3D17B681B6814337B627B6A35
+:1037E00053E8003F3B623B6A23F00103C7F8C43053
+:1037F0007B681B681433D7F8C4203A63FB62F96A0C
+:103800003A6B41E80023BB62BB6A002BE3D17B68C3
+:10381000202283F842207B6800221A637B681B68A1
+:103820000C333B613B6953E8003FFB60FB6823F0CE
+:103830001003C7F8C0307B681B680C33D7F8C02072
+:10384000FA61BB61B969FA6941E800237B617B6970
+:10385000002BE3D17B6802225A63B7F8CE301946B9
+:103860007868F9F77BF923E0D7F8E43003F08003B8
+:10387000002B09D0D7F8E03003F08003002B03D0F1
+:10388000786800F008FB14E0D7F8E43003F0400358
+:10389000002B0ED0D7F8E03003F04003002B08D007
+:1038A000786800F047FB04E000BF02E000BF00E0E2
+:1038B00000BFE837BD4680BD80B483B000AF7860FC
+:1038C00000BF0C37BD4680BC704780B483B000AFEA
+:1038D000786000BF0C37BD4680BC704780B483B0B1
+:1038E00000AF786000BF0C37BD4680BC704780B425
+:1038F00083B000AF78607B685B6C18460C37BD46C0
+:1039000080BC704780B590B000AF78607B685B6A20
+:10391000FB637B681B681B6803F02003002B37D117
+:10392000FB6B0022DA84FB6B1B6814337B627B6ABF
+:1039300053E8003F3B623B6A23F08003BB63FB6BB1
+:103940001B681433BA6B3A63FB62F96A3A6B41E85D
+:103950000023BB62BB6A002BE5D1FB6B1B680C33F9
+:103960003B613B6953E8003FFB60FB6843F0400369
+:103970007B63FB6B1B680C337A6BFA61BB61B969C3
+:10398000FA6941E800237B617B69002BE5D102E005
+:10399000F86BF9F75DF900BF4037BD4680BD80B5D3
+:1039A00084B000AF78607B685B6AFB60F868FFF703
+:1039B00083FF00BF1037BD4680BD80B59CB000AF0F
+:1039C00078607B685B6AFB667B681B681B6803F03A
+:1039D0002003002B72D1FB6E0022DA85FB6E1B6880
+:1039E0000C33FB64FB6C53E8003FBB64BB6C23F4FB
+:1039F0008073BB66FB6E1B680C33BA6EBA657B6561
+:103A0000796DBA6D41E800233B653B6D002BE5D134
+:103A1000FB6E1B681433BB63BB6B53E8003F7B63D7
+:103A20007B6B23F001037B66FB6E1B6814337A6E9D
+:103A30007A643B64396C7A6C41E80023FB63FB6B6E
+:103A4000002BE5D1FB6E1B6814337B627B6A53E865
+:103A5000003F3B623B6A23F040033B66FB6E1B6802
+:103A600014333A6E3A63FB62F96A3A6B41E8002319
+:103A7000BB62BB6A002BE5D1FB6E202283F842209B
+:103A8000FB6E1B6B012B19D1FB6E1B680C333B616A
+:103A90003B6953E8003FFB60FB6823F01003FB65C4
+:103AA000FB6E1B680C33FA6DFA61BB61B969FA6988
+:103AB00041E800237B617B69002BE5D1FB6E00228E
+:103AC0005A63FB6E1B6B012B06D1FB6E9B8D194657
+:103AD000F86EF9F743F802E0F86EFFF7F6FE00BF64
+:103AE0007037BD4680BD80B584B000AF78607B681C
+:103AF0005B6AFB60FB6801225A63FB681B6B012B4E
+:103B000008D1FB689B8D5B089BB21946F868F9F7F2
+:103B100025F802E0F868FFF7E1FE00BF1037BD4668
+:103B200080BD80B584B000AF78600023FB607B6807
+:103B30005B6ABB60BB681B685B6903F08003002B9A
+:103B400014BF01230023DBB2FB60BB6893F8413054
+:103B5000DBB2212B08D1FB68002B05D0BB6800220B
+:103B6000DA84B86800F0FAF8BB681B685B6903F098
+:103B70004003002B14BF01230023DBB2FB60BB68B2
+:103B800093F84230DBB2222B08D1FB68002B05D022
+:103B9000BB680022DA85B86800F007F9BB685B6C87
+:103BA00043F01002BB685A64B868F8F78DF800BF9C
+:103BB0001037BD4680BD80B485B000AFF860B960F5
+:103BC0001346FB80FB68BA689A62FB68FA889A859C
+:103BD000FB68FA88DA85FB6800225A64FB682222B7
+:103BE00083F84220FB681B69002B07D0FB681B6829
+:103BF000DA68FB681B6842F48072DA60FB681B6855
+:103C00005A69FB681B6842F001025A61FB681B6835
+:103C1000DA68FB681B6842F02002DA60002318466D
+:103C20001437BD4680BC704780B598B000AFF860CF
+:103C3000B9601346FB80BA68FB689A62FB68FA8831
+:103C40009A85FB6800225A64FB68222283F842208E
+:103C5000FB68DB6B3E4A9A62FB68DB6B3D4ADA62CB
+:103C6000FB68DB6B3C4A1A63FB68DB6B00225A6320
+:103C700007F10803FB65FB68D86BFB681B6804331E
+:103C80001946FB6D1A68FB88FCF73AF900233B6183
+:103C9000FB681B681B683B61FB681B685B683B61DA
+:103CA0003B69FB681B69002B19D0FB681B680C3350
+:103CB0003B643B6C53E8003FFB63FB6B43F4807356
+:103CC000BB65FB681B680C33BA6DFA64BB64B96CE6
+:103CD000FA6C41E800237B647B6C002BE5D1FB6828
+:103CE0001B681433FB62FB6A53E8003FBB62BB6A8C
+:103CF00043F001037B65FB681B6814337A6DBA637C
+:103D00007B63796BBA6B41E800233B633B6B002B11
+:103D1000E5D1FB681B681433BB61BB6953E8003F06
+:103D20007B617B6943F040033B65FB681B68143390
+:103D30003A6D7A623B62396A7A6A41E80023FB6134
+:103D4000FB69002BE5D1002318466037BD4680BDD6
+:103D5000BB390108E73A0108233B010880B489B068
+:103D600000AF78607B681B680C33FB60FB6853E82E
+:103D7000003FBB60BB6823F0C003FB617B681B682E
+:103D80000C33FA69BA617B617969BA6941E8002349
+:103D90003B613B69002BE5D17B68202283F8412001
+:103DA00000BF2437BD4680BC704780B495B000AFDB
+:103DB00078607B681B680C337B637B6B53E8003F48
+:103DC0003B633B6B23F49073FB647B681B680C3391
+:103DD000FA6C3A64FB63F96B3A6C41E80023BB630D
+:103DE000BB6B002BE5D17B681B6814333B623B6ADD
+:103DF00053E8003FFB61FB6923F00103BB647B6870
+:103E00001B681433BA6CFA62BB62B96AFA6A41E899
+:103E100000237B627B6A002BE5D17B681B6B012B47
+:103E200019D17B681B680C33FB60FB6853E8003FCB
+:103E3000BB60BB6823F010037B647B681B680C339A
+:103E40007A6CBA617B617969BA6941E800233B61A8
+:103E50003B69002BE5D17B68202283F842207B68F8
+:103E600000221A6300BF5437BD4680BC704780B53E
+:103E700084B000AF78607B685B6AFB60FB680022FF
+:103E8000DA85FB680022DA84F868F7F71DFF00BFC7
+:103E90001037BD4680BD80B485B000AF78607B68C8
+:103EA00093F84130DBB2212B3ED17B689B68B3F5A0
+:103EB000805F14D17B681B69002B10D17B681B6A63
+:103EC000FB60FB681B881A467B681B68C2F308020C
+:103ED0005A607B681B6A9A1C7B681A6208E07B68E0
+:103EE0001B6A591C7A6811621A787B681B685A60D1
+:103EF0007B68DB8C9BB2013B9BB27A681946D1840C
+:103F0000002B0FD17B681B68DA687B681B6822F086
+:103F10008002DA607B681B68DA687B681B6842F0A5
+:103F20004002DA60002300E0022318461437BD4641
+:103F300080BC704780B582B000AF78607B681B683A
+:103F4000DA687B681B6822F04002DA607B68202216
+:103F500083F841207868F8F77BFE0023184608377D
+:103F6000BD4680BD80B58CB000AF78607B6893F8AB
+:103F70004230DBB2222B40F0AE807B689B68B3F509
+:103F8000805F17D17B681B69002B13D10023FB6274
+:103F90007B689B6ABB627B681B685B689BB2C3F3F0
+:103FA00008039AB2BB6A1A807B689B6A9A1C7B687A
+:103FB0009A6226E07B689B6AFB620023BB627B6897
+:103FC0009B68B3F5805F07D07B689B68002B0AD1A4
+:103FD0007B681B69002B06D17B681B685B68DAB2C3
+:103FE000FB6A1A7008E07B681B685B68DBB203F051
+:103FF0007F03DAB2FB6A1A707B689B6A5A1C7B6883
+:104000009A627B68DB8D9BB2013B9BB27A68194652
+:10401000D185002B5DD17B681B68DA687B681B68E3
+:1040200022F02002DA607B681B68DA687B681B6814
+:1040300022F48072DA607B681B685A697B681B68AF
+:1040400022F001025A617B68202283F842207B68BB
+:1040500000225A637B681B6B012B35D17B680022E1
+:104060001A637B681B680C337B617B6953E8003FF4
+:104070003B613B6923F010037B627B681B680C3358
+:104080007A6A3A62FB61F9693A6A41E80023BB61E6
+:10409000BB69002BE5D17B681B681B6803F010032C
+:1040A000102B0AD10023FB607B681B681B68FB6038
+:1040B0007B681B685B68FB60FB687B689B8D1946AF
+:1040C0007868F8F74BFD02E07868FFF7FEFB002305
+:1040D00002E0002300E0022318463037BD4680BDD1
+:1040E00080B584B000AF78607B681B681B6923F4DF
+:1040F00040517B68DA687B681B680A431A617B68F9
+:104100009A687B681B691A437B685B691343BB60D1
+:104110007B681B68DB6823F4B05323F00C037A68D8
+:104120001268B9680B43D3607B681B685B6923F432
+:1041300040717B689A697B681B680A435A617B6897
+:104140001B682C4A934203D1FDF75CFAF86002E049
+:10415000FDF744FAF860FA6813469B0013449A008E
+:104160001A447B685B689B00B2FBF3F3224AA2FB14
+:1041700003235B091901FA6813469B0013449A0054
+:104180001A447B685B689B00B2FBF3F21A4BA3FBFB
+:1041900002035B09642000FB03F3D31A1B013233D3
+:1041A000154AA2FB03235B0903F0F0031944FA68E4
+:1041B00013469B0013449A001A447B685B689B007B
+:1041C000B2FBF3F20C4BA3FB02035B09642000FB80
+:1041D00003F3D31A1B013233074AA2FB03235B0903
+:1041E00003F00F027B681B680A449A6000BF103717
+:1041F000BD4680BD003801401F85EB51002B2DE9E5
+:10420000F0471D46BBBF03F100431D4600232D238D
+:1042100088B01446B8BF1446129A109E1370149BAF
+:10422000DDF84CA023F02008B8F1460F05D0B8F116
+:10423000450F00D10136022300E0032307AA0492B0
+:1042400006AACDE902A2CDE9003622462B4600F0AF
+:104250002BFEB8F1470F074619D1119BDB070ED58E
+:1042600000EB06090022002320462946F4F708FC4B
+:1042700008B1CDF81C903022079B4B451ED3384621
+:10428000079B159ADB1B136008B0BDE8F087B8F1F7
+:10429000460F00EB0609E5D10378302B0AD1002246
+:1042A000002320462946F4F7EBFB18B9C6F10106B6
+:1042B000CAF80060DAF800309944D3E7591C079136
+:1042C0001A70D9E7F7B50029B6BF2D232B23494231
+:1042D00009290270437029DD0DF107031D460A27E5
+:1042E000B1FBF7F61A4607FB1614303402F8014CFE
+:1042F0000C46632C314603F1FF33F1DC3031941E60
+:1043000003F8011C2346411CAB420AD30DF10903FB
+:104310009B1AAC4288BF002302330344181A03B02F
+:10432000F0BD13F8016B01F8016FEDE73023303178
+:104330008370C170031DF1E72DE9F04F91B00C4679
+:10434000DDF8688016461F46054600F0E5FC036868
+:1043500018460893F3F768FF00230E93D8F800304F
+:104360000990073323F0070303F1080294F818A01B
+:10437000D4F800B0C8F80020D3E9008929F0004340
+:104380000B93CDF828804FF0FF32DDE90A01C4E934
+:1043900012899C4BF4F7A6FB70BBDDE90A014FF0D4
+:1043A000FF32984BF4F780FB30BB002200234046DD
+:1043B0004946F4F76FFB10B12D2384F84330924A3D
+:1043C000924BBAF1470F8CBF9046984603234FF0AB
+:1043D000000923612BF0040323603346214628465D
+:1043E00000970FAA00F0D4F9013040F090804FF010
+:1043F000FF3011B0BDE8F08F42464B46404649467B
+:10440000F4F770FB48B14B46002BB8BF2D23804A10
+:10441000B8BF84F843307F4BD3E763680AF0DF010D
+:104420005A1C3FD10623636000224BF48063236053
+:1044300006920EAACDE904A20DAA03920DF1330251
+:10444000CDE9013263684246009328464B460A9103
+:10445000FFF7D4FE0A99804647290D9928D1C81C38
+:1044600002DB6368994240DDAAF1020A5FFA8AFA28
+:104470005246013904F150000D91FFF723FF0E9AC7
+:1044800081461318012A236102DC2268D20701D574
+:10449000013323619DF83330002B9ED02D2384F807
+:1044A00043309AE74729BFD1002BBDD10123BAE79A
+:1044B000BAF1650FDCD9BAF1660F18D1002963682B
+:1044C0000BDD216113B92268D00702D501330B44FB
+:1044D00023614FF00009A165DCE713B92268D20718
+:1044E00001D50233F4E70123F2E74FF0670A0E9B90
+:1044F000994205DB23682161D807EAD54B1CE7E721
+:104500000029CCBF0122C1F102021344E0E7236875
+:104510005A0507D42369424631462846B847013038
+:104520002BD164E7BAF1650F40F2DC80D4E91201C7
+:1045300000220023F4F7A4FA002833D001233146E7
+:104540002846354AB84701303FF451AFDDE90D3810
+:10455000434502DB2368D8070FD5DDE90823314640
+:104560002846B84701303FF442AF4FF0000908F148
+:10457000FF3804F11A0AC84509DC23689B0700F1DB
+:104580000281E0680F9B9842B8BF184631E70123CB
+:10459000524631462846B84701303FF428AF09F16A
+:1045A0000109E8E70D9B002B38DC01233146284642
+:1045B000194AB84701303FF41AAFDDE90D3959EA1D
+:1045C000030302D12368D907D7D5DDE90823314693
+:1045D0002846B84701303FF40AAF4FF0000A04F113
+:1045E0001A0B0D9B5B42534501DC4B4693E70123BD
+:1045F0005A4631462846B84701303FF4F8AE0AF132
+:10460000010AEEE7FFFFEF7F5879010854790108AE
+:10461000607901085C79010864790108A36DDDF80F
+:1046200038A05345A8BF5346002B994636DC4FF0BF
+:10463000000B29EAE97904F11A02A36D0A93A3EBAE
+:1046400009035B4531DC0D9B9A453ADC2368DA07A8
+:1046500037D40D9BAAEB03090A9BAAEB03039945E8
+:10466000A8BF9946B9F1000F33DC4FF0000829EAE2
+:10467000E97904F11A0B0D9BAAEB0303A3EB0903E1
+:1046800043457FF77AAF01235A4631462846B8475B
+:1046900001303FF4ACAE08F10108ECE74246314688
+:1046A0002846B8470130C2D1A1E601233146284649
+:1046B0000A92B84701303FF49AAE0A9A0BF1010B07
+:1046C000BBE73146DDE908232846B8470130C0D1B1
+:1046D0008DE60A9A4B46314628464244B847013097
+:1046E000C3D184E6DDF838A0BAF1010F01DCDB07A5
+:1046F00036D50123424631462846B84701303FF4BB
+:1047000076AEDDE9082331462846B84701303FF44C
+:104710006EAED4E91201002200230AF1FF3AF4F749
+:10472000AFF9C0B9534608F1010231462846B847EF
+:1047300001300CD15BE601235A4631462846B84782
+:1047400001303FF454AE08F10108D045F3DB4B468D
+:1047500004F15002E0E64FF0000804F11A0BF4E710
+:1047600001234246E1E701234A4631462846B8473D
+:1047700001303FF43CAE08F10108E3680F995B1A81
+:104780004345F0DCFDE64FF0000804F11909F4E7B9
+:104790002DE9F047164698468A680B69074693420A
+:1047A000B8BF1346336091F843200C46DDF82090E3
+:1047B0000AB1013333602368990642BF336802337C
+:1047C0003360256815F0060506D104F1190AE3687F
+:1047D00032689B1AAB422BDC94F843302268003BD2
+:1047E00018BF0123920630D44146384604F14302F3
+:1047F000C847013023D02368226903F00603042B45
+:1048000014BF002533684FF0000608BFE56804F1C7
+:104810001A0408BFED1A54F8123C08BF25EAE575E2
+:104820009342C4BF9B1AED18B5421AD1002008E08C
+:104830000123524641463846C847013003D14FF064
+:10484000FF30BDE8F0870135C1E73020E11881F87D
+:1048500043005A1C94F845102244023382F8431056
+:10486000C2E70123224641463846C8470130E6D018
+:104870000136D9E72DE9FF470F7E9146782F804614
+:104880000C469A460C9E01F1430207D8622F0AD8C3
+:10489000002F00F0D180582F00F0B88004F14206BC
+:1048A00084F842703AE0A7F16303152BF6D801A112
+:1048B00051F823F00D490108214901089D480108DC
+:1048C0009D4801089D4801089D48010821490108AB
+:1048D0009D4801089D4801089D4801089D48010820
+:1048E0001F4A01084B490108D94901089D480108A0
+:1048F0009D480108414A01089D4801084B490108AB
+:104900009D4801089D480108E149010833681A1DC6
+:104910001B68326004F1420684F8423001239CE0B7
+:1049200033682068191D3160060601D51D6803E053
+:104930004506FBD5B3F90050002D03DA2D236D4257
+:1049400084F843300A23584811E021683368080688
+:1049500053F8045B02D4490648BFADB26F2F3360F1
+:1049600014BF0A2308235048002184F843106668C6
+:10497000002EA66005DB21682E4321F00401216092
+:104980004BD01646B5FBF3F103FB1157C75D06F894
+:10499000017D2F46BB420D46F4D9082B0BD123686D
+:1049A000DF0708D5236961689942DEBF302306F826
+:1049B000013C06F1FF36921B22614B4621464046E0
+:1049C000CDF800A003AAFFF7E3FE01304AD14FF073
+:1049D000FF3004B0BDE8F087236843F02003236074
+:1049E0007827324884F84570236831681F0651F8EB
+:1049F000045B02D45F0648BFADB23160D90744BF43
+:104A000043F0200323601DB11023ADE72648E9E7FA
+:104A1000236823F020032360F6E71646BDE73368DA
+:104A20002568181D616930602E061B6801D5196064
+:104A300002E06806FBD51980002316462361BCE717
+:104A4000336800211A1D32601E686268304600F02B
+:104A500067F908B1801B606063682361002384F8F4
+:104A60004330AAE73246494640462369D0470130E1
+:104A7000ADD023689B0713D4E068039B9842B8BF6E
+:104A80001846A6E70123324649464046D047013042
+:104A90009DD00135E36803995B1AAB42F2DCEBE78A
+:104AA000002504F11906F5E7667901087779010810
+:104AB000002310B50446C0E90033C0E90433836025
+:104AC00081814366C2818361194608225C3000F00F
+:104AD000EDF80D4B246263620C4BA3620C4BE36256
+:104AE0000C4B23630C4B9C4206D003F168029442AA
+:104AF00002D0D0339C4205D104F15800BDE81040EB
+:104B000000F006B910BD00BFB1660108D366010808
+:104B10000B6701082F6701088C140020024A034923
+:104B2000034800F0A5B800BF90000020555F0108C1
+:104B3000A000002041680C4B10B59942044601D0FA
+:104B400001F008FAA168094B994202D0204601F011
+:104B500001FAE168064B994204D02046BDE81040B6
+:104B600001F0F8B910BD00BF8C140020F41400202F
+:104B70005C15002010B50B4B0B4C0C4A20461A60FC
+:104B800004210022FFF794FF04F1680001220921AB
+:104B9000FFF78EFF04F1D0000222BDE81040122181
+:104BA000FFF786BFC41500208C1400201D4B0108A0
+:104BB000014800F0AEB800BFC9150020014800F060
+:104BC000A9B800BFC915002010B50446FFF7F0FFD3
+:104BD000236A1BB1BDE81040FFF7F0BF044B23620E
+:104BE000044B1B68002BF5D1FFF7C4FFF2E700BFB1
+:104BF000354B0108C415002030B51446002C05467D
+:104C00001A469BB005DA8B2303604FF0FF301BB0D0
+:104C100030BD4FF40273ADF80C304FF00003199320
+:104C20000CBF234604F1FF33029305934FF6FF7345
+:104C300000910491ADF80E3069461E9B00F064FFB0
+:104C4000431CBCBF8B232B60002CE0D00022009BB8
+:104C50001A70DCE707B5009313460A46014603487D
+:104C60000068FFF7C9FF03B05DF804FB9C0000205B
+:104C70002DE9F8430746884614460026D4E90195F5
+:104C8000B9F1010905D52468002CF7D13046BDE8FB
+:104C9000F883AB89012B07D9B5F90E30013303D066
+:104CA00029463846C04706436835E9E703460244CB
+:104CB000934200D1704703F8011BF9E7014B1868D4
+:104CC000704700BF9C00002070B500260C4D0D4CB5
+:104CD000641BA410A64209D102F004F900260A4D73
+:104CE0000A4C641BA410A64205D170BD55F8043BC4
+:104CF00098470136EEE755F8043B98470136F2E74E
+:104D0000D47C0108D47C0108D47C0108D87C01083B
+:104D1000704770477047000000487047DC01002072
+:104D2000034610B5C9B202449342184601D100208F
+:104D300003E0047801338C42F6D110BD0A4491425D
+:104D400000F1FF3300D1704710B511F8014B9142CB
+:104D500003F8014FF9D110BD1FB514461A46094B8F
+:104D600005461B68D8684CB1074BCDE9013400916A
+:104D70002B46064901F0E0FC01F08EFD044B1C4679
+:104D8000F3E700BF9C0000208879010895790108AD
+:104D9000C37901082DE9F74F03690C690746A3425F
+:104DA0007EDB013CA30000F1140501F1140800931F
+:104DB00005EB8403019358F8243055F8242001337F
+:104DC0009A42B2FBF3F608EB84092ED34FF0000AA7
+:104DD000C446AE46D3465CF8043B98B206FB00A03E
+:104DE0001B0C020C06FB0323DEF8002080B292B2FB
+:104DF000121A5A44DEF800004FEA134A9BB2C3EB82
+:104E0000224303EB104392B242EA0342E1454FEAE8
+:104E1000234B4EF8042BDED2009BEB582BB9019BA1
+:104E2000043B9D421A462FD33C61384601F038FBC3
+:104E3000002825DB2946002058F8042BD1F800C0B3
+:104E40001FFA82FE1FFA8CF3A3EB0E030344120C2D
+:104E5000C2EB234202EB1C429BB243EA0243C14530
+:104E60004FEA224041F8043BE6D255F8242005EBF6
+:104E7000840322B9043B9D421A460BD33C610136A0
+:104E8000304603B0BDE8F08F1268043B002ACBD156
+:104E9000013CC6E71268043B002AEFD1013CEAE777
+:104EA0000020EEE7000000002DE9F04F14461D46FB
+:104EB000C76997B08146CDE90645239E7FB910208A
+:104EC00000F01EFF0246C9F81C0020B9EF21AC4BD0
+:104ED000AC48FFF741FFC0E901770760C760D9F828
+:104EE0001C30196859B15A68012393404A608B609D
+:104EF000484601F0A3F80022D9F81C301A602B1E96
+:104F0000AFBF0023012223F000430793A8BF336003
+:104F1000DDF81C809C4BB8BF326033EA080312D125
+:104F200042F20F73229A1360C8F31303234300F075
+:104F30005E85249BDFF854A2002B00F060850AF107
+:104F4000030300F05ABDDDE90623CDE90C23DDE9BA
+:104F50000C0100220023F3F793FD074658B101230B
+:104F6000229A1360249B13B1894B249A1360DFF8B3
+:104F700024A200F044BD14AB019315AB0093484646
+:104F8000DDE90C2301F03CFBC8F30A560390002E28
+:104F900078D0DDE90C010D9BA6F2FF36C3F31303B5
+:104FA00043F07F5343F440131297194600227A4B83
+:104FB000F3F746F96CA3D3E90023F3F7F9FA6CA3EE
+:104FC000D3E90023F3F73EF9044630460D46F3F7E4
+:104FD00085FA69A3D3E90023F3F7EAFA02460B4600
+:104FE00020462946F3F72EF904460D46F3F790FDC7
+:104FF00000220746002320462946F3F74BFD40B127
+:105000003846F3F76BFA22462B46F3F739FD00B921
+:10501000013F162F54D8DDE90C01604B03EBC703A9
+:10502000D3E90023F3F736FD00284BD00023013FDE
+:105030000F93149B9B1B5A1E49BFC3F1010300230E
+:1050400004930023099254BF04930993002F3BDB80
+:10505000099B0E973B44099300230A93209B092B3D
+:1050600065D8052BC4BF043B2093209BC8BF0024F8
+:10507000A3F10203D8BF0124032B64D8DFE803F0B7
+:105080005355382CDDE914631E4406F23243202BBD
+:10509000C1BFC3F1400308FA03F806F2124324FA31
+:1050A00003F3D6BFC3F1200348EA030004FA03F078
+:1050B000F3F704FA0122A1F1F873013E129274E7AA
+:1050C0000123B5E70F90B4E7049BDB1B04937B42FD
+:1050D0000A9300230E93C1E701230B93219B07EB57
+:1050E000030B0BF10103012B0893B8BF012306E06A
+:1050F00001230B93219B002B28DD9B460893002165
+:105100000422D9F81C0002F114059D4226D9416001
+:10511000484600F053FF8246002843D1024640F241
+:10512000AF111F4BD4E60023E3E70023D5E70124AA
+:1051300000230B9420934FF0FF3B00221223CDF865
+:1051400020B02192DBE701230B93F4E74FF0010B32
+:105150005B46CDF820B0CDF884B0D0E701315200E5
+:10516000D1E700BFAFF3008061436F63A787D23FF1
+:10517000B3C8608B288AC63FFB799F501344D33F46
+:10518000D1790108E87901080000F07FCD790108A4
+:1051900065790108647901080000F83F007B010887
+:1051A000407A0108D9F81C301860089B0E2B00F2D9
+:1051B000A180002C00F09E80002F33DD9C4B07F077
+:1051C0000F0203EBC203F805D3E90034CDE9103434
+:1051D0004FEA271416D5DDE90C01964B0326D3E9D7
+:1051E0000823F3F70FFBCDE9060104F00F04914DFE
+:1051F00054B9DDE91023DDE90601F3F703FBCDE93E
+:10520000060128E00226F2E7E10708D5DDE91001F2
+:10521000D5E90023F3F7CCF9CDE91001013664108C
+:105220000835E5E700F0AF80DDE90C017C42804BFA
+:1052300004F00F0203EBC203D3E90023F3F7B8F93C
+:1052400002260023CDE906017A4D2411002C40F0FE
+:105250008F80002BD3D1DDE906450F9B002B00F09A
+:105260009480002220462946734BF3F713FC002854
+:1052700000F08B80089B002B00F08780BBF1000FB3
+:1052800034DD2046002229466C4BF3F791F95C4649
+:10529000CDE9060107F1FF3801363046F3F71EF974
+:1052A000DDE90623F3F784F90022654BF2F7CAFF24
+:1052B0000546A1F15076002C6AD1DDE906010022F5
+:1052C000604BF2F7BDFF02460B46CDE906232A46A6
+:1052D0003346F3F7FDFB002840F09882DDE9060134
+:1052E0002A4606F10043F3F7D5FB38BBDDE90C3461
+:1052F000CDE90634159B002BC0F257810E2F00F329
+:1053000054814B4B03EBC703D3E90034CDE904349C
+:10531000219B002B80F2E580089B002B00F3E180AD
+:105320000CD1DDE904010022464BF3F741F9DDE938
+:105330000623F3F7C3FB002800F06682002425460D
+:10534000219B56466FEA030800272146484600F095
+:1053500075FE002D00F0BD802FB1AF4203D039465D
+:10536000484600F06BFE2946484600F067FEB0E074
+:10537000E20705D5D5E90023F3F71AF90123013631
+:105380006410083562E7022665E7B846089C84E7A2
+:10539000274B0B9903EBC40353E902235444002920
+:1053A00054D000202849F3F72DFA33462A46F2F765
+:1053B00047FF5646CDE91001DDE90601F3F7A8FBEA
+:1053C0000546F3F78BF802460B46DDE90601F2F7D6
+:1053D00037FF02460B463035CDE90623DDE91023C1
+:1053E00006F8015BF3F756FB002872D1DDE90623CE
+:1053F00000201149F2F724FFDDE91023F3F74AFBFF
+:10540000002840F0B480A6423FF470AFDDE91001FF
+:1054100000220A4BF3F7CCF80022CDE91001DDE9B8
+:105420000601064BF3F7C4F8CDE90601C4E700BF57
+:10543000007B0108D87A01080000F03F00002440FA
+:1054400000001C40000014400000E03F31462846A8
+:10545000F3F7AEF85646CDE910011394DDE90601E5
+:10546000F3F756FB0546F3F739F802460B46DDE93C
+:105470000601F2F7E5FE02460B46303506F8015B01
+:10548000A642CDE906234FF0000224D1DDE9100148
+:10549000AE4BF2F7D7FE02460B46DDE90601F3F705
+:1054A00017FB002863D1DDE910230020A749F2F79C
+:1054B000C7FE02460B46DDE90601F3F7EBFA0028CA
+:1054C0003FF414AF139E731E139316F8013C302B58
+:1054D000F8D047463BE09E4BF3F76AF8CDE906016A
+:1054E000BCE75646DDE90645DDE9042320462946AA
+:1054F000F3F788F9F3F70CFB8046F2F7EFFFDDE9ED
+:105500000423F3F755F802460B4620462946F2F7E6
+:1055100097FE08F13004089D06F8014BA6EB0A043B
+:10552000A54202460B4633D1F2F78CFEDDE9042397
+:1055300004460D46F3F7CCFAC0B9DDE90423204652
+:105540002946F3F79DFA10B118F0010F0ED1484625
+:10555000039900F073FD00233370229B01371F6015
+:10556000249B002B00F04B821E6048E2B846334675
+:105570001E4613F8012D392A06D19A45F8D130225A
+:1055800008F101088AF800201A7801321A70A0E7A1
+:1055900000226F4BF3F70CF80022002304460D465F
+:1055A000F3F76EFA00289FD0D1E70B9A002A00F09B
+:1055B000EA80209A012A00F3CD80129A002A00F096
+:1055C000C18003F233430A9C049E049A01211A44C9
+:1055D0000492099A48461A44099200F0E3FD0546F0
+:1055E00066B1099B002B09DDB342A8BF3346049A7C
+:1055F000F61AD21A0492099AD31A09930A9B0BB38A
+:105600000B9B002B00F0C680002C00F0C0802946C8
+:105610002246484600F07EFE039A0146054648466B
+:1056200000F0D6FD03998046484600F007FD0A9B2E
+:105630001B1B0A9300F0B18041460A9A484600F0CD
+:1056400069FE03900121484600F0ACFD0E9B044624
+:10565000002B00F0D8811A460146484600F05AFE59
+:10566000209B0446012B00F39F80069B002B40F0FB
+:105670009780079BC3F31303002B40F09380079B95
+:1056800023F000431B0D1B0533B1049B013304932E
+:10569000099B0133099301230A930E9B002B00F011
+:1056A000B881236904EB8303186900F02FFDC0F172
+:1056B0002000099B184410F01F0000F08280C0F108
+:1056C0002003042B73DD049BC0F11C0003440493EE
+:1056D000099B064403440993049B002B05DD1A46ED
+:1056E0004846039900F070FE0390099B002B05DDEE
+:1056F00021461A46484600F067FE04460F9B002BE1
+:1057000061D02146039800F0CBFE00285BDA00232D
+:105710000A224846039900F0B3FC0B9B07F1FF38BF
+:105720000390002B00F07781294600230A22484687
+:1057300000F0A6FCBBF1000F05466FDC209B022B9E
+:1057400049DC6BE0149BC3F136033CE70000E03F0B
+:1057500000002440089B5C1E0A9BA34209DB1C1B23
+:10576000089B002BBFF630AF049B089A9E1A0023BB
+:105770002BE70A9B0E9AE31A1A440A94049E00240B
+:10578000089B0E9221E70A9C049E0B9D28E7DDF8FA
+:105790000C8051E70A9A039950E7CDF80C8051E745
+:1057A000002379E7069B77E700230A9379E793D0F4
+:1057B000049A1C331A440492099A1E441A4409920A
+:1057C0008AE70346F4E7089BB846002B20DC9B469B
+:1057D000209B022B1EDDBBF1000F7FF4B1AD2146F3
+:1057E0005B460522484600F04BFC01460446039800
+:1057F00000F056FE00287FF7A3AD5646312308F18E
+:10580000010806F8013B9FE5B846089C2546F4E7E9
+:10581000DDF820B00B9B002B00F00181002E05DD90
+:1058200029463246484600F0CFFD05460A9B002B2C
+:105830005CD04846696800F0C1FB064628B90246BC
+:1058400040F2EF21804BFFF743BB2A6905F10C01C1
+:10585000023292000C30FFF771FA012231464846BD
+:1058600000F0B2FD2F4605460AF1010304930AEB4E
+:105870000B030A93069B03F001030993049B214643
+:10588000039803F1FF3BFFF785FA034639463033AF
+:10589000069003980B9300F003FE2A4608902146D9
+:1058A000484600F019FEC26806460B9B02BB014643
+:1058B000039800F0F5FD02460B9B31464846CDE9C2
+:1058C0000B3200F0BBFB209B0C9A049E42EA0301C2
+:1058D000099B19430B9B0DD1392B27D0089A002A1D
+:1058E00001DD069B31338BF800302EE52846B9E701
+:1058F0000122E2E70899002904DB20980143099876
+:10590000014320D1002AEEDD012203994846049389
+:1059100000F05AFD2146039000F0C2FD0028049BD0
+:1059200002DCE0D1DA07DED5392BDAD139238BF866
+:10593000003033461E4616F8012C013B392A4ED062
+:1059400001321A7001E5002A03DD392BEED0013354
+:10595000C9E7049A0A9902F8013C8A4228D0002338
+:105960000A220399484600F08BFBAF4203904FF0A8
+:1059700000034FF00A023946484607D100F080FB89
+:1059800007460546049B0133049377E700F078FB54
+:105990002946074600230A22484600F071FB0546C7
+:1059A000F0E7BBF1000FCCBF5E460126002756444E
+:1059B000012203994846049300F006FD2146039016
+:1059C00000F06EFD0028B4DC02D1049BDB07B0D4EC
+:1059D00033461E4613F8012D302AFAD0B5E49A4515
+:1059E000A8D1312308F101088AF80030ADE4249BE6
+:1059F000DFF858A01BB10AF10803249A136050463F
+:105A000017B0BDE8F08F209B012B7FF72EAE0E9BC9
+:105A10000A9301204DE6BBF1000F7FF7D9AE564641
+:105A200021460398FFF7B6F900F1300306F8013B71
+:105A3000A6EB0A029345B4DD00230A2248460399E7
+:105A400000F01EFB0390EBE7407A0108C4790108DF
+:105A50002DE9F0471F468E688246BE420C469046AE
+:105A60000B682DD8B1F90C2012F4906F26D065691F
+:105A7000096905EB4505A3EB010905EBD5757B1C11
+:105A80004B446D109D4238BF1D46530527D529460E
+:105A900000F060F9064660B34A462169FFF74EF907
+:105AA000A38923F4906343F08003A38126614E44CD
+:105AB00026603E466561A5EB0905A560BE4200D99A
+:105AC0003E4632464146206800F076FE0020A3683C
+:105AD0009B1BA360236833442360BDE8F0872A46FC
+:105AE00000F03CFE06460028E0D15046216900F057
+:105AF000EFFE0C23CAF80030A3894FF0FF3043F0CB
+:105B00004003A381E9E700002DE9F04F98468B8917
+:105B100007461B060D4614469DB010D50B6973B998
+:105B2000402100F017F92860286130B90C233B6050
+:105B30004FF0FF301DB0BDE8F08F40236B610023B4
+:105B4000099320238DF8293030234FF00109CDF837
+:105B50000C80DFF898818DF82A3023469A4613F896
+:105B6000012B0AB1252AF9D1BAEB040B0BD05B4605
+:105B7000224629463846FFF76BFF013000F0A78028
+:105B8000099A5A4409929AF80030002B00F09F803D
+:105B900000234FF0FF32CDE905230AF1010A0493F7
+:105BA00007938DF853301A935446052214F8011BBD
+:105BB0004E48FFF7B5F8049AD8B9D00644BF202361
+:105BC0008DF85330110744BF2B238DF853309AF8CA
+:105BD00000302A2B15D0544600204FF00A0C079AAB
+:105BE000214611F8013B303B092B4BD9B0B107924C
+:105BF00014E0A0EB080309FA03F31343A24604934D
+:105C0000D2E7039B191D1B680391002BBBBF5B42AE
+:105C100042F0020207930793B8BF049223782E2B19
+:105C20000AD163782A2B32D1039B02341A1D1B68D8
+:105C3000039243EAE3730593DFF8B4A003225046CE
+:105C40002178FFF76DF838B14022049BA0EB0A00E1
+:105C5000824013430134049314F8011B06222548A3
+:105C60008DF82810FFF75CF8002836D0224B1BBBBC
+:105C7000039B073323F0070308330393099B334443
+:105C800009936AE70C4601200CFB0232A8E70023C7
+:105C90004FF00A0C194601340593204610F8012BE9
+:105CA000303A092A03D9002BC6D00591C4E704462F
+:105CB00001230CFB0121F0E703AB00932A46384691
+:105CC0000E4B04A9FEF738FB421C0646D6D1AB8921
+:105CD0005B063FF52DAF09982CE703AB00932A46EE
+:105CE0003846064B04A9FEF7C5FDEDE7517A0108D9
+:105CF000577A01085B7A010839430108515A0108B3
+:105D0000024B0146186800F025B800BF9C00002037
+:105D100070B50F4E0C463168054611B900F08AFD8A
+:105D200030602146284600F085FD431C03D14FF02A
+:105D3000FF34204670BDC41C24F00304A042F8D0F8
+:105D4000211A284600F076FD0130F2D1EFE700BFBE
+:105D5000CC1500202DE9F843CD1C25F003050835AE
+:105D60000C2D38BF0C25002D064601DBA94204D9B5
+:105D70000C2333600020BDE8F883DFF8D48000F006
+:105D800011F9D8F800301C4644BB29463046FFF7CD
+:105D9000BFFF431C044658D1D8F800402746002FC7
+:105DA00043D1002C4BD023683946304604EB03091D
+:105DB00000F040FD814542D1216830466D1A2946E8
+:105DC000FFF7A6FF01303AD023682B442360D8F8B0
+:105DD00000305A6862BBC8F800700FE02268521B9E
+:105DE00020D40B2A17D96119A342256018BF596026
+:105DF000636808BFC8F8001062514B60304600F07D
+:105E0000D7F804F10B00231D20F00700C21A1CBFB5
+:105E10001B1AA350AFE76268A3420CBFC8F800206A
+:105E20005A60EBE723466468AEE73C467F68B6E716
+:105E30001A465B68A342FBD100235360DEE70C23C4
+:105E40003046336000F0B4F894E70560D6E700BF51
+:105E5000D0150020B1F90C20F8B5160705460C4600
+:105E600054D44B68002B02DC0B6C002B48DDE66A37
+:105E7000002E45D0002312F480522F68216A2B6037
+:105E800030D0626DA389590705D56368D21A636B58
+:105E90000BB1236CD21A00232846E66A216AB04768
+:105EA000431CA38906D129681D292BD8284ACA403A
+:105EB000D60727D5002262602269D904226004D562
+:105EC000421C01D12B6803B96065616B2F60B9B1C9
+:105ED00004F14403994202D0284600F0F9FC002363
+:105EE00063630DE001232846B0470246501CC9D128
+:105EF0002B68002BC6D01D2B01D0162B1DD12F6077
+:105F0000002021E043F040031BB21AE00F69002F8C
+:105F1000F6D0930718BF00230E6808BF4B69F61B25
+:105F20000F608B60002EEBDD33463A462846216A2F
+:105F3000D4F828C0E047002807DCB4F90C3043F05F
+:105F400040034FF0FF30A381F8BD0744361AE9E75C
+:105F50000100402038B50B6905460C4613B90025F1
+:105F6000284638BD18B1036A0BB9FEF72DFEB4F907
+:105F70000C30002BF3D0626ED00704D4990502D404
+:105F8000A06DFEF7C6FE28462146FFF763FF636E4D
+:105F90000546DA07E4D4A3899B05E1D4A06DFEF79A
+:105FA000B9FEDDE70148FEF7B4BE00BFC81500200A
+:105FB0000148FEF7AFBE00BFC815002070B5C66926
+:105FC00004460D4676B91020FFF79AFE0246E061BE
+:105FD00020B96B21174B1848FEF7BEFEC0E90166D9
+:105FE0000660C660E669F36883B1E369DB6853F86D
+:105FF0002500B8B9012101FA05F6721D204692006C
+:1060000000F051FC60B1C0E901560EE021220421EC
+:10601000204600F048FCE369F060DB68002BE4D127
+:10602000002070BD026843F825200023C0E9033337
+:10603000F7E700BFD1790108627A010870B5C66937
+:1060400005460C4676B91020FFF75AFE0246E86175
+:1060500020B98F21084B0948FEF77EFEC0E9016692
+:106060000660C6603CB1EB696268DB6853F82210D9
+:10607000216043F8224070BDD1790108627A01089D
+:106080002DE9F04107460C461E4600200D6901F13E
+:10609000140CDCF80030013099B202FB01611E0CD7
+:1060A0000B0C02FB063389B201EB034185424FEA38
+:1060B00013464CF8041BECDC0EB3A368AB4219DCAE
+:1060C000616838460131FFF779FF804628B90246FA
+:1060D000BA210C4B0C48FEF73FFE226904F10C017B
+:1060E000023292000C30FEF729FE21463846FFF7B7
+:1060F000A5FF444604EB850301355E61256120461A
+:10610000BDE8F081407A0108627A01080346B0F5E3
+:10611000803F3ABF030410200020B3F1807F3CBFD2
+:106120001B020830B3F1805F3CBF1B010430B3F1A8
+:10613000804F3CBF9B000230002B05DB13F0804FEB
+:1061400000F1010008BF202070470368024613F0E9
+:1061500007000BD0D90721D4980749BF5B089B08DB
+:10616000012013605CBF02201360704799B209B927
+:1061700010201B0CD9B209B908301B0A190704BF3B
+:106180001B090430990704BF9B080230D90703D4C8
+:106190005B0800F1010003D01360704700207047D6
+:1061A0002020704710B50C460121FFF707FF02467B
+:1061B00028B940F24511044B0448FEF7CDFD0123F8
+:1061C0004461036110BD00BF407A0108627A010892
+:1061D0002DE9F04F17460A693B6989469A42A2BFEA
+:1061E0003B460F4699463D69D9F810A0BB687968CF
+:1061F00005EB0A06B34285B0B8BF0131FFF7DEFEFA
+:1062000030B902464FF4B171404B4148FEF7A4FD4E
+:1062100000F114042346002204EB860E734520D3BC
+:1062200007F1140809F1140108EB850501EB8A0355
+:106230000293EB1B153B23F0030304331537BD42D8
+:1062400038BF04230193029B03918B420CD8002E8C
+:1062500003DD5EF8043D002B55D0066105B0BDE8B6
+:10626000F08F43F8042BD9E7B1F800A0BAF1000F82
+:106270001FD0C446A14600275CF8042BD9F8003093
+:106280001FFA82FB9BB20AFB0B333B44D9F8007028
+:10629000120C3F0C0AFB027202EB13429BB243EA60
+:1062A000024365454FEA124749F8043BE4D8019B95
+:1062B000E750039B0431B3F80290B9F1000F20D0EE
+:1062C0004746A4464FF0000A2368B7F800B0BCF870
+:1062D00002209BB209FB0B22524443EA02434CF8D2
+:1062E000043B57F8043B4FEA134ABCF80030BD4268
+:1062F00009FB0A3303EB12434FEA134AE5D8019A2C
+:10630000A35004349FE7013EA1E700BF407A010893
+:10631000627A01082DE9F843154612F00302074698
+:106320000E4607D0254C013A002354F82220FFF7EF
+:10633000A7FE0646AD103DD0FC697CB91020FFF7E2
+:10634000DFFC0246F86128B940F2B3111C4B1D482E
+:10635000FEF702FDC0E901440460C460D7F81C8068
+:10636000D8F808404CB940F271213846FFF71AFFBF
+:1063700000230446C8F8080003604FF00009EB074B
+:106380000AD5314622463846FFF722FF804631467D
+:106390003846FFF753FE46466D100BD0206838B9DB
+:1063A000224621463846FFF713FF2060C0F80090D0
+:1063B0000446E4E73046BDE8F88300BFC87A010828
+:1063C000D1790108627A01082DE9F0470C460746A9
+:1063D00091462369496803EB6218A3684FEA621A81
+:1063E00008F10106B3420BDB3846FFF7E7FD05462F
+:1063F00048B902464FF4EF71274B2848FEF7ACFC32
+:1064000001315B00EEE7002300F1140100F11002FE
+:106410001846534533DB20692AEAEA7A04F114036B
+:1064200019F01F0901EB8A0103EB800C2BD08A467F
+:106430000022C9F1200E186800FA09F010434AF84A
+:10644000040B53F8042B9C4522FA0EF2F3D8ACEB64
+:106450000403153B23F00303043304F115006045E6
+:1064600088BF0423CA500AB108F10206013E38462B
+:1064700021462E61FFF7E2FD2846BDE8F08742F88D
+:10648000040F0133C5E7043953F8042B9C4541F848
+:10649000042FF9D8EAE700BF407A0108627A0108C0
+:1064A00003460A69006930B5801A0ED114331431DD
+:1064B00003EB820401EB820154F8045D51F8042DD2
+:1064C000954203D005D24FF0FF3030BDA342F3D345
+:1064D000FBE70120F9E700002DE9F74F8946064662
+:1064E000114648461446FFF7DBFF051E12D1294628
+:1064F0003046FFF763FD024628B940F237213E4B94
+:106500003E48FEF729FC0123C0E90435104603B0DC
+:10651000BDE8F08FBCBF4B46A1463046D9F8041009
+:10652000BABF1C4601250025FFF748FD024618B9F1
+:1065300040F24521304BE3E700F1140BD9F810701D
+:1065400009F11003C5604FF0000C09F11405D9469C
+:10655000266904F1140E05EB87080EEB86060193FD
+:10656000019B5EF8040B53F804AF81B201931FFA4C
+:106570008AF35B1A000C6344C0EB1A4000EB234023
+:106580009BB243EA004376454FEA204C49F8043B6E
+:10659000E6D8331B153B23F0030315340433A6421E
+:1065A00038BF04231D445B441E462C4644450ED38D
+:1065B00008F10301491B21F00301033DA84538BF41
+:1065C00000210B4453F8041D99B117619EE7E6467C
+:1065D00054F8041B1FFA81FCF444080C714400EBCE
+:1065E0002C4089B241EA00414FEA204C46F8041B96
+:1065F000DCE7013FE6E700BF407A0108627A010864
+:106600002DE97343012190469946089EFFF7D6FC79
+:10661000044630B9024640F20F31234B2348FEF7BF
+:106620009BFBC9F30A55C9F313030DB143F480135F
+:106630000193B8F1000324D068460093FFF785FD6D
+:10664000DDE90012D8B1C0F1200302FA03F30B43D5
+:10665000C24063610192019B002B0CBF0122022208
+:10666000A3612261ADB1A5F2334505443560C0F1A7
+:106670003500099B1860204602B0BDE87083616157
+:10668000E9E701A8FFF761FD019B0122636120306A
+:10669000E7E7A0F2324004EB820330601869FFF7AD
+:1066A00035FDC0EB4210E4E7407A0108627A010848
+:1066B00010B50C46B1F90E1000F0AAF80028ABBFD7
+:1066C000636DA3891B1823F48053ACBF6365A3815A
+:1066D00010BD2DE9F0411F468B890546DB050C46B0
+:1066E000164605D502230022B1F90E1000F07EF8FF
+:1066F000A389324623F48053A38128463B46B4F94C
+:106700000E10BDE8F04100F0A5B810B50C46B1F987
+:106710000E1000F06BF8431CA38915BF606523F4CD
+:10672000805343F48053A38118BFA38110BDB1F9F6
+:106730000E1000F0A1B800000EB403B5014603AB83
+:10674000054853F8042B0068019300F031F902B0BA
+:106750005DF804EB03B070479C0000202DE9F04188
+:10676000074614460D4621B91146BDE8F041FFF732
+:10677000F1BA2AB900F0ACF825462846BDE8F08108
+:1067800000F040FA8442064602D8B4EB500FF4D829
+:1067900021463846FFF7DEFA804608B94546ECE761
+:1067A000B4422246294628BF3246FEF7C7FA294698
+:1067B000384600F08DF8F1E7884210B501EB02048D
+:1067C00002D98442234607D8431EA14208D011F8BB
+:1067D000012B03F8012FF8E7014602448A4200D159
+:1067E00010BD13F8014D02F8014DF7E738B5044626
+:1067F000084611460022054D2A601A46F7F775F83B
+:10680000431C02D12B6803B1236038BDD41500208E
+:1068100038B50446084611460022054D2A601A463E
+:10682000F7F722F8431C02D12B6803B1236038BD6F
+:10683000D415002038B50023054D044608462B60CA
+:10684000F7F760F8431C02D12B6803B1236038BD11
+:10685000D415002038B50446084611460022054DDF
+:106860002A601A46F3F790FD431C02D12B6803B14E
+:10687000236038BDD415002038B50023054D0446EB
+:1068800008462B60F7F70DF8431C02D12B6803B1C3
+:10689000236038BDD4150020062008B500F0E4FAC6
+:1068A0000120F6F7D6FF70B5A1FB025434B9294692
+:1068B000FFF750FA064628B9304670BD0C22002674
+:1068C0000260F9E72A462146FEF7F0F9F4E70000F6
+:1068D00038B50546002940D051F8043C0C1F002B68
+:1068E000B8BFE418FFF75EFB1C4A136833B9636056
+:1068F00014602846BDE83840FFF75ABBA34208D9C8
+:10690000206821188B4201BF19685B680918216053
+:10691000EDE71A465B680BB1A342FAD9116850182B
+:10692000A0420BD120680144501883421160E0D18D
+:1069300018685B68084410605360DAE702D90C23DA
+:106940002B60D6E7206821188B4201BF19685B686D
+:106950000918216063605460CBE738BDD015002072
+:10696000936810B4013B002B936007DA9469A3424B
+:1069700001DB0A2902D110BC00F04CB91368581C85
+:1069800010601970084610BC7047F8B506460F46EF
+:106990001446D518AC4201D1002007E03A463046F3
+:1069A00014F8011BFFF7DCFF431CF3D1F8BD000016
+:1069B0002DE9F04F0D461446984606469DB018B195
+:1069C000036A0BB9FEF700F96B6ED90705D4AB89E2
+:1069D0009A0502D4A86DFEF79CF9AB891B0701D577
+:1069E0002B699BB92946304600F052F970B16B6EA5
+:1069F000DC0704D54FF0FF301DB0BDE8F08FAB8948
+:106A00009805F7D4A86DFEF785F9F3E700230993FD
+:106A100020238DF8293030234FF00109CDF80C8068
+:106A2000DFF8A8818DF82A3023469A4613F8012B07
+:106A30000AB1252AF9D1BAEB040B0BD05B462246EA
+:106A400029463046FFF7A1FF013000F0A780099AE0
+:106A50005A4409929AF80030002B00F09F800023DE
+:106A60004FF0FF32CDE905230AF1010A04930793A1
+:106A70008DF853301A935446052214F8011B5348DD
+:106A8000FEF74EF9049AD8B9D10644BF20238DF8F9
+:106A90005330130744BF2B238DF853309AF800303E
+:106AA0002A2B15D0544600204FF00A0C079A214695
+:106AB00011F8013B303B092B4BD9B0B1079214E0E0
+:106AC000A0EB080309FA03F31343A2460493D2E7A9
+:106AD000039B191D1B680391002BBBBF5B4242F057
+:106AE000020207930793B8BF049223782E2B0AD192
+:106AF00063782A2B32D1039B02341A1D1B68039240
+:106B000043EAE3730593DFF8C8A0032250462178D7
+:106B1000FEF706F938B14022049BA0EB0A00824040
+:106B200013430134049314F8011B062229488DF8FD
+:106B30002810FEF7F5F800283FD0274B1BBB039B1E
+:106B4000073323F0070308330393099B3B4409935E
+:106B50006AE70C4601200CFB0232A8E700234FF045
+:106B60000A0C194601340593204610F8012B303ADF
+:106B7000092A03D9002BC6D00591C4E70446012396
+:106B80000CFB0121F0E703AB00932A463046134B80
+:106B900004A9FDF7D1FB0746781CD6D16B6ED90747
+:106BA00005D4AB899A0502D4A86DFEF7B3F8AB897A
+:106BB0005B063FF51FAF09981EE703AB00932A461B
+:106BC0003046064B04A9FDF755FEE4E7517A01086B
+:106BD000577A01085B7A0108394301088B6901087B
+:106BE00082B001B901A942B14BB113780B601278A0
+:106BF000101E18BF012002B070471046FBE76FF06F
+:106C00000100F8E751F8043C181F002BBCBF0B58DB
+:106C1000C0187047F8B50E461446054618B1036A09
+:106C20000BB9FDF7D1FFA369A360A3891A0701D5AA
+:106C3000236943B92146284600F02AF818B14FF0DD
+:106C4000FF373846F8BD23682269F6B2981A63699F
+:106C50003746834205DC21462846FFF77BF90028AA
+:106C6000EDD1A368013BA36023685A1C22601E700B
+:106C70006269431C9A4204D0A389DB07E1D50A2E3E
+:106C8000DFD121462846FFF765F90028D9D0D6E79D
+:106C900038B5294B054618680C4618B1036A0BB97C
+:106CA000FDF792FFB4F90C30190722D4DA0607D4A5
+:106CB00009222A6043F040034FF0FF30A38133E004
+:106CC000580712D5616B41B104F14403994202D0D7
+:106CD0002846FFF7FDFD00236363A38923F0240307
+:106CE000A3810023636023692360A38943F0080321
+:106CF000A38123694BB9A38903F42073B3F5007F03
+:106D000003D02146284600F04BF8B4F90C3013F0BC
+:106D100001020AD00022A26062695242A261226985
+:106D200042B913F08000C5D138BD990758BF6269D8
+:106D3000A260F4E70020F7E79C0000200346084625
+:106D400041B1FF2A04D98A224FF0FF301A60704700
+:106D500001200A70704770B50C46B1F90E10154647
+:106D600000291E4696B00CDAA389002113F0800F8B
+:106D700014BF40234FF48063002031602B6016B0B5
+:106D800070BD6A4600F09CF80028EDDB019901F423
+:106D90007041A1F50053594259414FF48063EBE72C
+:106DA0008B89F7B59D0706460C4607D504F14703C6
+:106DB000236023610123636103B0F0BD6A4601AB28
+:106DC000FFF7C9FF009F054639463046FEF7C2FF70
+:106DD00048B9B4F90C309A05EED423F0030343F01C
+:106DE0000203A381E2E7A389C4E9040743F0800317
+:106DF000A381019B20605BB13046B4F90E1000F016
+:106E00003BF828B1A38923F0030343F00103A381D6
+:106E1000A3891D43A581CFE71F2938B505460C4638
+:106E200004D9162303604FF0FF3038BDC26B12B196
+:106E300052F821304BB9284600F040F8224601466E
+:106E40002846BDE8384000F027B8012B0AD0591C6D
+:106E500003D1162303600120E7E70021204642F812
+:106E6000241098470020E0E7024B01461868FFF71E
+:106E7000D3BF00BF9C00002038B50023054D044659
+:106E800008462B60F6F727FD431C02D12B6803B19F
+:106E9000236038BDD415002038B50023064D0446C4
+:106EA000084611462B60F6F7C4FC431C02D12B6840
+:106EB00003B1236038BD00BFD4150020F6F7B2BC83
+:106EC00038B50023064D0446084611462B60F6F7F8
+:106ED000F3FC431C02D12B6803B1236038BD00BF13
+:106EE000D4150020F8B500BFF8BC08BC9E4670471A
+:0C6EF000F8B500BFF8BC08BC9E46704717
+:106F0000434F4E4E30204572726F723A2025640A0C
+:106F100000000000436F6E6E6563746F723A205517
+:106F20006E6B6E6F776E0A00436F6E6E6563746F83
+:106F3000723A20556E706C75676765640A000000D0
+:106F4000436F6E6E6563746F723A20446973616259
+:106F50006C65640A00000000436F6E6E6563746FB9
+:106F6000723A20507265706172696E670A000000A3
+:106F7000436F6E6E6563746F723A20417574685228
+:106F8000657175697265640A00000000436F6E6E7A
+:106F90006563746F723A2057616974696E67466FF2
+:106FA00072456E657267790A00000000436F6E6E6D
+:106FB0006563746F723A204368617267696E6750E7
+:106FC000617573656445560A00000000436F6E6E7C
+:106FD0006563746F723A204368617267696E6750C7
+:106FE0006175736564455653450A0000436F6E6EC4
+:106FF0006563746F723A204368617267696E670AED
+:1070000000000000436F6E6E6563746F723A20413A
+:1070100075746854696D656F75740A00436F6E6EA0
+:107020006563746F723A2046696E69736865640AB5
+:1070300000000000436F6E6E6563746F723A204605
+:10704000696E6973686564455653450A000000001F
+:10705000436F6E6E6563746F723A2046696E697332
+:1070600068656445560A0000436F6E6E6563746F11
+:10707000723A205265706C756767696E670A000026
+:107080004350207374617465206368616E67656442
+:107090003A202564202D3E2025640A0043502064B8
+:1070A000757479206368616E6765643A2025752080
+:1070B0002D3E2025750A0000434353206D6F6475F3
+:1070C0006C652073746172740A0000005365726904
+:1070D000616C206E756D6265723A2025640A00004D
+:1070E000426F617264207265766973696F6E3A20CF
+:1070F00025640A0046572076657273696F6E3A20E0
+:1071000025642E25642E25640A0000005053552066
+:107110006F6E2074696D656F75740A00436F6E74CD
+:107120006163746F72206572726F722C2073746F5A
+:107130007070696E672E2E2E0A0000005053552085
+:107140006F66662074696D656F75740A00000000D3
+:10715000504520004E452000464520004F52452016
+:1071600000000000444D41200000000055415254F1
+:1071700025752048414C206572726F7220646563EA
+:107180006F64653A204E4F4E450A000055415254F7
+:1071900025752048414C206572726F7220646563CA
+:1071A0006F64653A20257325732573257325732530
+:1071B00073207261773D30782530386C780A000092
+:1071C00055415254332052582061726D20666169D6
+:1071D0006C656420282573293A2048414C5F53741C
+:1071E000617475733D2564206572725F61667465B4
+:1071F000723D30782530386C780A00005541525481
+:10720000332052582061726D206661696C6564207C
+:1072100064657461696C730055415254332052584F
+:107220002064726F703A2077726F6E6720687561A4
+:10723000727420696E2052784576656E7443616C75
+:107240006C6261636B202873697A653D2575290A34
+:107250000000000055415254332052582064726F90
+:10726000703A2052784576656E742073697A653D70
+:1072700030202869646C652C206E6F207061796CF9
+:107280006F6164290A00000052784576656E744388
+:10729000616C6C6261636B005541525433205258EB
+:1072A0002064726F703A2073697A653D2575203EBF
+:1072B0002072785F62756666657220257520286F7A
+:1072C000766572666C6F772C206E6F7420706172B9
+:1072D000736564290A000000554152542575204801
+:1072E000414C206572726F722028495352293A200E
+:1072F0007261773D30782530386C7820E2809420B8
+:107300005258206D617920626520636F72727570CA
+:1073100074656420756E74696C2072652D61726D80
+:107320000A0000004572726F7243616C6C626163A7
+:107330006B000000554152543320545820444D41B5
+:1073400020726573656E64206661696C6564000017
+:107350004553544F50207472696767657265640ABB
+:107360000000000053746F7070696E67206368617D
+:107370007267696E672E2E2E0A00000046696E69DC
+:107380007368656445562C2073746F7070696E67FE
+:107390002E2E2E0A0000000045766572657374205B
+:1073A00074696D656F75740A00000000457665723A
+:1073B0006573742074696D656F75742C2073746FB8
+:1073C0007070696E67206368617267696E672E2EE0
+:1073D0002E0A00004368617267696E6720657272E9
+:1073E0006F722025642C207374617465202D3E20FB
+:1073F00064697361626C65640A00000043686172CD
+:1074000067696E67207065726D69747465642C209D
+:107410007374617274206368617267696E670A00D1
+:1074200043617220756E706C75676765640A000051
+:107430005265706C756767696E672E2E2E0A0000A4
+:107440005265706C756767696E672066696E6973EF
+:107450006865642C206275742063617220756E709B
+:107460006C75676765640A005265706C756767695B
+:107470006E672066696E69736865642C206361724B
+:1074800020706C75676765642C2073746174652067
+:107490002D3E20617574682072657175697265642E
+:1074A0000A000000496E6974000000004343532045
+:1074B000696E69740A0000005541525433205458D3
+:1074C00020444D41207374617274206661696C655B
+:1074D000640000004576657265737420726573659B
+:1074E0007420636F6D6D616E640A000055415254E3
+:1074F00033205258207761726E3A20636D642030D9
+:107500007825303278204352432F6C656E204F4BE4
+:1075100020627574206E6F207377697463682063CE
+:10752000617365202865787065637465645F706158
+:10753000796C6F6164207673206170706C795F6321
+:107540006F6D6D616E64290A000000005541525450
+:10755000332052582064726F703A20746F6F5F73DB
+:10756000686F7274206C656E3D302028656D707494
+:1075700079206368756E6B290A00000055415254EA
+:10758000332052582064726F703A20746F6F5F73AB
+:10759000686F7274206C656E3D312062303D3078CA
+:1075A000253032780A000000554152543320525899
+:1075B0002064726F703A20746F6F5F73686F7274BB
+:1075C000206C656E3D322062303D30782530327857
+:1075D0002062313D3078253032780A0055415254CE
+:1075E000332052582064726F703A206372635F6D6B
+:1075F00069736D6174636820636D643D3078253014
+:10760000327820746F74616C5F6C656E3D257520F7
+:107610007061796C6F61645F6C656E3D2575206388
+:1076200072635F72783D30782530347820637263FE
+:107630005F63616C633D3078253034780A00000068
+:1076400055415254332052582064726F703A20755D
+:107650006E6B6E6F776E5F636D6420636D643D303B
+:10766000782530327820746F74616C5F6C656E3D84
+:107670002575207061796C6F61645F6C656E3D2566
+:10768000750A000055415254332052582064726FDD
+:10769000703A206C656E5F6D69736D61746368200C
+:1076A000636D643D3078253032782065787065638D
+:1076B0007465645F7061796C6F61643D25752067E6
+:1076C0006F745F7061796C6F61643D257520746FB4
+:1076D00074616C5F6C656E3D25750A00576174635B
+:1076E00068646F6700000000554152543320776191
+:1076F000746368646F6720726561726D00000000DA
+:1077000025733A206572723D30782530386C7820C8
+:10771000673D256C752072783D256C752074785F07
+:10772000627573793D25750A000000005541525479
+:10773000322052582069646C65206576656E74202D
+:1077400077697468207A65726F2073697A650A00B8
+:10775000554152543220525820696E76616C6964EA
+:10776000207061636B6574206C656E3D25750A0041
+:1077700055415254352052582069646C6520657615
+:10778000656E742077697468207A65726F207369FA
+:107790007A650A00554152543520525820696E7658
+:1077A000616C6964207061636B6574206C656E3D0B
+:1077B00025750A0055415254322054582062757381
+:1077C000792C2061626F7274207472616E736D69BE
+:1077D00074206265666F726520726573656E640AF7
+:1077E00000000000554152543220545820444D416D
+:1077F000207374617274206661696C6564000000B6
+:107800005541525432205258207061636B65742088
+:1078100074696D656F757420282575206D73290A4C
+:1078200000000000554152543220525820444D412E
+:107830002061726D206661696C6564005541525427
+:10784000352052582049542061726D206661696C60
+:10785000656400005541525432207265636F76654D
+:1078600072207374617274005541525435207265F0
+:10787000636F7665722073746172740025733A20A9
+:10788000696E7374616E63653D30782530386C784D
+:10789000206572723D30782530386C7820673D2540
+:1078A0006C752072783D256C750A00005365742054
+:1078B000436F6E6669673A2025732025640A0000CD
+:1078C000506F776572206C696D69743A2025640A7F
+:1078D00000000000436861726765207065726D6921
+:1078E000743A2025640A0000010001000100010033
+:1078F0000100040001002C00010000000000000055
+:10790000000000000102030406070809000000004F
+:107910000102030400000405060708090000000036
+:10792000000D00000102030405060708090A0B0CFC
+:107930000D0E0F10000004050607080900000000E6
+:10794000000D00000102030405060708090A0B0CDC
+:107950000D0E0F10494E4600696E66004E414E00F6
+:107960006E616E003000303132333435363738399D
+:10797000414243444546003031323334353637389E
+:1079800039616263646566002C2066756E63746994
+:107990006F6E3A2000617373657274696F6E202296
+:1079A000257322206661696C65643A2066696C659E
+:1079B00020222573222C206C696E65202564257396
+:1079C00025730A00496E66696E697479004E614ECE
+:1079D000005245454E54206D616C6C6F6320737589
+:1079E00063636565646564002F6275696C642F6705
+:1079F0006E752D746F6F6C732D666F722D73746D51
+:107A000033325F31332E332E72656C312E32303289
+:107A100034303932362D313731352F7372632F6E52
+:107A200065776C69622F6E65776C69622F6C69622D
+:107A3000632F7374646C69622F64746F612E6300CA
+:107A400042616C6C6F632073756363656564656424
+:107A500000232D302B2000686C4C0065666745467E
+:107A600047002F6275696C642F676E752D746F6F98
+:107A70006C732D666F722D73746D33325F31332EDC
+:107A8000332E72656C312E32303234303932362D2D
+:107A9000313731352F7372632F6E65776C69622FC2
+:107AA0006E65776C69622F6C6962632F7374646CA6
+:107AB00069622F6D707265632E63004300504F53EF
+:107AC0004958002E000000000500000019000000C9
+:107AD0007D000000000000000080E03779C34143D2
+:107AE000176E05B5B5B89346F5F93FE9034F384D24
+:107AF000321D30F94877825A3CBF737FDD4F1575D0
+:107B0000000000000000F03F0000000000002440E2
+:107B100000000000000059400000000000408F40BD
+:107B2000000000000088C34000000000006AF84028
+:107B30000000000080842E4100000000D01263414C
+:107B40000000000084D797410000000065CDCD41C2
+:107B5000000000205FA00242000000E876483742A3
+:107B6000000000A2941A6D42000040E59C30A24241
+:107B70000000901EC4BCD64200003426F56B0C43B6
+:107B80000080E03779C3414300A0D885573476435D
+:107B900000C84E676DC1AB43003D9160E458E143BE
+:107BA000408CB5781DAF154450EFE2D6E41A4B4433
+:107BB00092D54D06CFF08044F64AE1C7022DB54478
+:107BC000B49DD9794378EA44002020202020202049
+:107BD000202028282828282020202020202020207D
+:107BE000202020202020202020881010101010108D
+:107BF00010101010101010101004040404040404D9
+:107C00000404041010101010101041414141414172
+:107C10000101010101010101010101010101010154
+:107C20000101010110101010101042424242424264
+:107C30000202020202020202020202020202020224
+:107C400002020202101010102000000000000000CC
+:107C50000000000000000000000000000000000024
+:107C60000000000000000000000000000000000014
+:107C70000000000000000000000000000000000004
+:107C800000000000000000000000000000000000F4
+:107C900000000000000000000000000000000000E4
+:107CA00000000000000000000000000000000000D4
+:107CB00000000000000000000000000000000000C4
+:0C7CC000000000000000000000000000B8
+:087CCC005C05FF7F01000000D0
+:047CD4000D82000815
+:047CD800E981000836
+:107CDC00E40100000606060601000000FA00000A96
+:107CEC00050A050000000000FF00000A0A0A0A004D
+:107CFC0000000000400000320A320040000000008A
+:107D0C00008000320A320000800000000000FF0AF0
+:107D1C000A0A0A000000000000FF00320A320000CC
+:107D2C0020000000FFFFFF320A3200FFFFFF0000BF
+:107D3C00FF0000320A3200200000640000FFFF0048
+:107D4C00000000000000000052555301000000FE2E
+:107D5C00529E66000024F400100000000100000098
+:107D6C0000000000030000008C140020A000002084
+:107D7C00000000008C140020F41400205C1500207E
+:107D8C0000000000000000000000000000000000E7
+:107D9C0000000000000000000000000000000000D7
+:107DAC0000000000000000000000000000000000C7
+:107DBC000000000000000000000000004300000074
+:107DCC0000000000000000000000000000000000A7
+:107DDC000000000000000000000000004300000054
+:107DEC000000000000000000000000000000000087
+:107DFC000000000000000000000000004300000034
+:107E0C000000000000000000000000000000000066
+:107E1C000000000000000000000000004300000013
+:107E2C000000000000000000000000000000000046
+:107E3C0000000000000000000000000043000000F3
+:107E4C000000000000000000000000000000000026
+:107E5C0000000000000000000000000043000000D3
+:107E6C000000000000000000000000000000000006
+:107E7C0000000000000000000000000043000000B3
+:107E8C0000000000000000000000000000000000E6
+:107E9C000000000000000000000000003D6D010823
+:107EAC00E16B010800000000C87B0108C37A0108DF
+:107EBC00C3790108C3790108C3790108C3790108A2
+:107ECC00C3790108C3790108C3790108C379010892
+:107EDC00C3790108FFFFFFFFFFFFFFFFFFFFFFFF5D
+:107EEC00FFFF00000100415343494900000000001E
+:107EFC000000000000000000000000000000000076
+:107F0C0000000000000041534349490000000000FC
+:107F1C000000000000000000000000000000000055
+:087F2C0000000000000000004D
+:040000050800E23DD0
+:00000001FF
diff --git a/Debug/CCSModuleSW30Web.list b/Debug/CCSModuleSW30Web.list
index aa6a14d..f4eedff 100644
--- a/Debug/CCSModuleSW30Web.list
+++ b/Debug/CCSModuleSW30Web.list
@@ -5,49 +5,49 @@ Sections:
Idx Name Size VMA LMA File off Algn
0 .isr_vector 000001e8 08008000 08008000 00001000 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
- 1 .text 0000ecf8 080081e8 080081e8 000011e8 2**3
+ 1 .text 0000ed14 080081e8 080081e8 000011e8 2**3
CONTENTS, ALLOC, LOAD, READONLY, CODE
- 2 .rodata 00000dfc 08016ee0 08016ee0 0000fee0 2**3
+ 2 .rodata 00000dcc 08016f00 08016f00 0000ff00 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
- 3 .ARM.extab 00000000 08017cdc 08017cdc 00011258 2**0
+ 3 .ARM.extab 00000000 08017ccc 08017ccc 00011258 2**0
CONTENTS
- 4 .ARM 00000008 08017cdc 08017cdc 00010cdc 2**2
+ 4 .ARM 00000008 08017ccc 08017ccc 00010ccc 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
- 5 .preinit_array 00000000 08017ce4 08017ce4 00011258 2**0
+ 5 .preinit_array 00000000 08017cd4 08017cd4 00011258 2**0
CONTENTS, ALLOC, LOAD, DATA
- 6 .init_array 00000004 08017ce4 08017ce4 00010ce4 2**2
+ 6 .init_array 00000004 08017cd4 08017cd4 00010cd4 2**2
CONTENTS, ALLOC, LOAD, DATA
- 7 .fini_array 00000004 08017ce8 08017ce8 00010ce8 2**2
+ 7 .fini_array 00000004 08017cd8 08017cd8 00010cd8 2**2
CONTENTS, ALLOC, LOAD, DATA
- 8 .data 00000258 20000000 08017cec 00011000 2**2
+ 8 .data 00000258 20000000 08017cdc 00011000 2**2
CONTENTS, ALLOC, LOAD, DATA
- 9 .bss 0000138c 20000258 08017f44 00011258 2**3
+ 9 .bss 00001380 20000258 08017f34 00011258 2**3
ALLOC
- 10 ._user_heap_stack 00000604 200015e4 08017f44 000115e4 2**0
+ 10 ._user_heap_stack 00000600 200015d8 08017f34 000115d8 2**0
ALLOC
11 .ARM.attributes 00000029 00000000 00000000 00011258 2**0
CONTENTS, READONLY
- 12 .debug_info 0001d770 00000000 00000000 00011281 2**0
+ 12 .debug_info 0001d5e5 00000000 00000000 00011281 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 13 .debug_abbrev 00005835 00000000 00000000 0002e9f1 2**0
+ 13 .debug_abbrev 0000570a 00000000 00000000 0002e866 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 14 .debug_loclists 00000f96 00000000 00000000 00034226 2**0
+ 14 .debug_loclists 00000f96 00000000 00000000 00033f70 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 15 .debug_aranges 00001758 00000000 00000000 000351c0 2**3
+ 15 .debug_aranges 00001748 00000000 00000000 00034f08 2**3
CONTENTS, READONLY, DEBUGGING, OCTETS
- 16 .debug_rnglists 00001252 00000000 00000000 00036918 2**0
+ 16 .debug_rnglists 0000122c 00000000 00000000 00036650 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 17 .debug_macro 0002653d 00000000 00000000 00037b6a 2**0
+ 17 .debug_macro 00026410 00000000 00000000 0003787c 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 18 .debug_line 000211d8 00000000 00000000 0005e0a7 2**0
+ 18 .debug_line 000217ab 00000000 00000000 0005dc8c 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 19 .debug_str 000c9b05 00000000 00000000 0007f27f 2**0
+ 19 .debug_str 000c9a27 00000000 00000000 0007f437 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 20 .comment 00000043 00000000 00000000 00148d84 2**0
+ 20 .comment 00000043 00000000 00000000 00148e5e 2**0
CONTENTS, READONLY
- 21 .debug_frame 00006ea8 00000000 00000000 00148dc8 2**2
+ 21 .debug_frame 00006e00 00000000 00000000 00148ea4 2**2
CONTENTS, READONLY, DEBUGGING, OCTETS
- 22 .debug_line_str 00000073 00000000 00000000 0014fc70 2**0
+ 22 .debug_line_str 0000006e 00000000 00000000 0014fca4 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
Disassembly of section .text:
@@ -66,7 +66,7 @@ Disassembly of section .text:
80081fe: bd10 pop {r4, pc}
8008200: 20000258 .word 0x20000258
8008204: 00000000 .word 0x00000000
- 8008208: 08016ec8 .word 0x08016ec8
+ 8008208: 08016ee4 .word 0x08016ee4
0800820c :
800820c: b508 push {r3, lr}
@@ -78,7 +78,7 @@ Disassembly of section .text:
800821a: bd08 pop {r3, pc}
800821c: 00000000 .word 0x00000000
8008220: 2000025c .word 0x2000025c
- 8008224: 08016ec8 .word 0x08016ec8
+ 8008224: 08016ee4 .word 0x08016ee4
08008228 :
8008228: 4603 mov r3, r0
@@ -1777,13 +1777,13 @@ void ADC_ScanStart(void)
800952c: 2206 movs r2, #6
800952e: 4905 ldr r1, [pc, #20] @ (8009544 )
8009530: 4805 ldr r0, [pc, #20] @ (8009548 )
- 8009532: f004 ffe7 bl 800e504
+ 8009532: f005 f807 bl 800e544
8009536: 4603 mov r3, r0
8009538: 2b00 cmp r3, #0
800953a: d001 beq.n 8009540
{
Error_Handler();
- 800953c: f001 fb78 bl 800ac30
+ 800953c: f001 fba2 bl 800ac84
}
}
8009540: bf00 nop
@@ -1901,13 +1901,13 @@ void MX_ADC1_Init(void)
80095d4: 611a str r2, [r3, #16]
if (HAL_ADC_Init(&hadc1) != HAL_OK)
80095d6: 4831 ldr r0, [pc, #196] @ (800969c )
- 80095d8: f004 febc bl 800e354
+ 80095d8: f004 fedc bl 800e394
80095dc: 4603 mov r3, r0
80095de: 2b00 cmp r3, #0
80095e0: d001 beq.n 80095e6
{
Error_Handler();
- 80095e2: f001 fb25 bl 800ac30
+ 80095e2: f001 fb4f bl 800ac84
}
/** Configure Regular Channel
@@ -1925,13 +1925,13 @@ void MX_ADC1_Init(void)
80095f2: 1d3b adds r3, r7, #4
80095f4: 4619 mov r1, r3
80095f6: 4829 ldr r0, [pc, #164] @ (800969c )
- 80095f8: f005 f93c bl 800e874
+ 80095f8: f005 f95c bl 800e8b4
80095fc: 4603 mov r3, r0
80095fe: 2b00 cmp r3, #0
8009600: d001 beq.n 8009606
{
Error_Handler();
- 8009602: f001 fb15 bl 800ac30
+ 8009602: f001 fb3f bl 800ac84
}
/** Configure Regular Channel
@@ -1946,13 +1946,13 @@ void MX_ADC1_Init(void)
800960e: 1d3b adds r3, r7, #4
8009610: 4619 mov r1, r3
8009612: 4822 ldr r0, [pc, #136] @ (800969c )
- 8009614: f005 f92e bl 800e874
+ 8009614: f005 f94e bl 800e8b4
8009618: 4603 mov r3, r0
800961a: 2b00 cmp r3, #0
800961c: d001 beq.n 8009622
{
Error_Handler();
- 800961e: f001 fb07 bl 800ac30
+ 800961e: f001 fb31 bl 800ac84
}
/** Configure Regular Channel
@@ -1967,13 +1967,13 @@ void MX_ADC1_Init(void)
800962a: 1d3b adds r3, r7, #4
800962c: 4619 mov r1, r3
800962e: 481b ldr r0, [pc, #108] @ (800969c )
- 8009630: f005 f920 bl 800e874
+ 8009630: f005 f940 bl 800e8b4
8009634: 4603 mov r3, r0
8009636: 2b00 cmp r3, #0
8009638: d001 beq.n 800963e
{
Error_Handler();
- 800963a: f001 faf9 bl 800ac30
+ 800963a: f001 fb23 bl 800ac84
}
/** Configure Regular Channel
@@ -1988,13 +1988,13 @@ void MX_ADC1_Init(void)
8009646: 1d3b adds r3, r7, #4
8009648: 4619 mov r1, r3
800964a: 4814 ldr r0, [pc, #80] @ (800969c )
- 800964c: f005 f912 bl 800e874
+ 800964c: f005 f932 bl 800e8b4
8009650: 4603 mov r3, r0
8009652: 2b00 cmp r3, #0
8009654: d001 beq.n 800965a
{
Error_Handler();
- 8009656: f001 faeb bl 800ac30
+ 8009656: f001 fb15 bl 800ac84
}
/** Configure Regular Channel
@@ -2009,13 +2009,13 @@ void MX_ADC1_Init(void)
8009662: 1d3b adds r3, r7, #4
8009664: 4619 mov r1, r3
8009666: 480d ldr r0, [pc, #52] @ (800969c )
- 8009668: f005 f904 bl 800e874
+ 8009668: f005 f924 bl 800e8b4
800966c: 4603 mov r3, r0
800966e: 2b00 cmp r3, #0
8009670: d001 beq.n 8009676
{
Error_Handler();
- 8009672: f001 fadd bl 800ac30
+ 8009672: f001 fb07 bl 800ac84
}
/** Configure Regular Channel
@@ -2030,13 +2030,13 @@ void MX_ADC1_Init(void)
800967e: 1d3b adds r3, r7, #4
8009680: 4619 mov r1, r3
8009682: 4806 ldr r0, [pc, #24] @ (800969c )
- 8009684: f005 f8f6 bl 800e874
+ 8009684: f005 f916 bl 800e8b4
8009688: 4603 mov r3, r0
800968a: 2b00 cmp r3, #0
800968c: d001 beq.n 8009692
{
Error_Handler();
- 800968e: f001 facf bl 800ac30
+ 800968e: f001 faf9 bl 800ac84
}
/* USER CODE BEGIN ADC1_Init 2 */
@@ -2127,7 +2127,7 @@ void HAL_ADC_MspInit(ADC_HandleTypeDef* adcHandle)
8009714: f107 0318 add.w r3, r7, #24
8009718: 4619 mov r1, r3
800971a: 4823 ldr r0, [pc, #140] @ (80097a8 )
- 800971c: f006 ffe8 bl 80106f0
+ 800971c: f007 f808 bl 8010730
GPIO_InitStruct.Pin = ADC_NTC1_Pin|ADC_NTC2_Pin;
8009720: 2303 movs r3, #3
@@ -2139,7 +2139,7 @@ void HAL_ADC_MspInit(ADC_HandleTypeDef* adcHandle)
8009728: f107 0318 add.w r3, r7, #24
800972c: 4619 mov r1, r3
800972e: 481f ldr r0, [pc, #124] @ (80097ac )
- 8009730: f006 ffde bl 80106f0
+ 8009730: f006 fffe bl 8010730
/* ADC1 DMA Init */
/* ADC1 Init */
@@ -2177,13 +2177,13 @@ void HAL_ADC_MspInit(ADC_HandleTypeDef* adcHandle)
8009768: 61da str r2, [r3, #28]
if (HAL_DMA_Init(&hdma_adc1) != HAL_OK)
800976a: 4811 ldr r0, [pc, #68] @ (80097b0 )
- 800976c: f006 fb32 bl 800fdd4
+ 800976c: f006 fb52 bl 800fe14
8009770: 4603 mov r3, r0
8009772: 2b00 cmp r3, #0
8009774: d001 beq.n 800977a
{
Error_Handler();
- 8009776: f001 fa5b bl 800ac30
+ 8009776: f001 fa85 bl 800ac84
}
__HAL_LINKDMA(adcHandle,DMA_Handle,hdma_adc1);
@@ -2199,10 +2199,10 @@ void HAL_ADC_MspInit(ADC_HandleTypeDef* adcHandle)
8009786: 2200 movs r2, #0
8009788: 2107 movs r1, #7
800978a: 2012 movs r0, #18
- 800978c: f006 facf bl 800fd2e
+ 800978c: f006 faef bl 800fd6e
HAL_NVIC_EnableIRQ(ADC1_2_IRQn);
8009790: 2012 movs r0, #18
- 8009792: f006 fae8 bl 800fd66
+ 8009792: f006 fb08 bl 800fda6
/* USER CODE BEGIN ADC1_MspInit 1 */
/* USER CODE END ADC1_MspInit 1 */
@@ -2255,7 +2255,7 @@ void RELAY_Write(relay_t num, uint8_t state){
80097f6: 461a mov r2, r3
80097f8: f44f 7180 mov.w r1, #256 @ 0x100
80097fc: 4821 ldr r0, [pc, #132] @ (8009884 )
- 80097fe: f007 f912 bl 8010a26
+ 80097fe: f007 f932 bl 8010a66
break;
8009802: e036 b.n 8009872
case RELAY_AUX1:
@@ -2264,7 +2264,7 @@ void RELAY_Write(relay_t num, uint8_t state){
8009806: 461a mov r2, r3
8009808: f44f 7100 mov.w r1, #512 @ 0x200
800980c: 481d ldr r0, [pc, #116] @ (8009884 )
- 800980e: f007 f90a bl 8010a26
+ 800980e: f007 f92a bl 8010a66
break;
8009812: e02e b.n 8009872
case RELAY3:
@@ -2273,7 +2273,7 @@ void RELAY_Write(relay_t num, uint8_t state){
8009816: 461a mov r2, r3
8009818: f44f 6180 mov.w r1, #1024 @ 0x400
800981c: 4819 ldr r0, [pc, #100] @ (8009884 )
- 800981e: f007 f902 bl 8010a26
+ 800981e: f007 f922 bl 8010a66
break;
8009822: e026 b.n 8009872
case RELAY_DC:
@@ -2282,7 +2282,7 @@ void RELAY_Write(relay_t num, uint8_t state){
8009826: 461a mov r2, r3
8009828: f44f 6100 mov.w r1, #2048 @ 0x800
800982c: 4815 ldr r0, [pc, #84] @ (8009884 )
- 800982e: f007 f8fa bl 8010a26
+ 800982e: f007 f91a bl 8010a66
break;
8009832: e01e b.n 8009872
case RELAY_AC:
@@ -2291,7 +2291,7 @@ void RELAY_Write(relay_t num, uint8_t state){
8009836: 461a mov r2, r3
8009838: f44f 5180 mov.w r1, #4096 @ 0x1000
800983c: 4811 ldr r0, [pc, #68] @ (8009884 )
- 800983e: f007 f8f2 bl 8010a26
+ 800983e: f007 f912 bl 8010a66
break;
8009842: e016 b.n 8009872
case RELAY_CP:
@@ -2300,7 +2300,7 @@ void RELAY_Write(relay_t num, uint8_t state){
8009846: 461a mov r2, r3
8009848: 2108 movs r1, #8
800984a: 480f ldr r0, [pc, #60] @ (8009888 )
- 800984c: f007 f8eb bl 8010a26
+ 800984c: f007 f90b bl 8010a66
break;
8009850: e00f b.n 8009872
case RELAY_CC:
@@ -2309,7 +2309,7 @@ void RELAY_Write(relay_t num, uint8_t state){
8009854: 461a mov r2, r3
8009856: f44f 4100 mov.w r1, #32768 @ 0x8000
800985a: 480c ldr r0, [pc, #48] @ (800988c )
- 800985c: f007 f8e3 bl 8010a26
+ 800985c: f007 f903 bl 8010a66
break;
8009860: e007 b.n 8009872
case RELAY_DC1:
@@ -2318,7 +2318,7 @@ void RELAY_Write(relay_t num, uint8_t state){
8009864: 461a mov r2, r3
8009866: 2108 movs r1, #8
8009868: 4809 ldr r0, [pc, #36] @ (8009890 )
- 800986a: f007 f8dc bl 8010a26
+ 800986a: f007 f8fc bl 8010a66
break;
800986e: e000 b.n 8009872
default:
@@ -2391,49 +2391,49 @@ uint8_t IN_ReadInput(inputNum_t input_n){
return HAL_GPIO_ReadPin(IN_SW0_GPIO_Port, IN_SW0_Pin);
80098ec: 2102 movs r1, #2
80098ee: 4817 ldr r0, [pc, #92] @ (800994c )
- 80098f0: f007 f882 bl 80109f8
+ 80098f0: f007 f8a2 bl 8010a38
80098f4: 4603 mov r3, r0
80098f6: e024 b.n 8009942
case IN_SW1:
return HAL_GPIO_ReadPin(IN_SW1_GPIO_Port, IN_SW1_Pin);
80098f8: 2104 movs r1, #4
80098fa: 4814 ldr r0, [pc, #80] @ (800994c )
- 80098fc: f007 f87c bl 80109f8
+ 80098fc: f007 f89c bl 8010a38
8009900: 4603 mov r3, r0
8009902: e01e b.n 8009942
case IN0:
return HAL_GPIO_ReadPin(IN0_GPIO_Port, IN0_Pin);
8009904: 2180 movs r1, #128 @ 0x80
8009906: 4812 ldr r0, [pc, #72] @ (8009950 )
- 8009908: f007 f876 bl 80109f8
+ 8009908: f007 f896 bl 8010a38
800990c: 4603 mov r3, r0
800990e: e018 b.n 8009942
case IN_ESTOP:
return HAL_GPIO_ReadPin(IN_ESTOP_GPIO_Port, IN_ESTOP_Pin);
8009910: 2180 movs r1, #128 @ 0x80
8009912: 4810 ldr r0, [pc, #64] @ (8009954 )
- 8009914: f007 f870 bl 80109f8
+ 8009914: f007 f890 bl 8010a38
8009918: 4603 mov r3, r0
800991a: e012 b.n 8009942
case IN_FB1:
return HAL_GPIO_ReadPin(IN_FB1_GPIO_Port, IN_FB1_Pin);
800991c: 2110 movs r1, #16
800991e: 480e ldr r0, [pc, #56] @ (8009958 )
- 8009920: f007 f86a bl 80109f8
+ 8009920: f007 f88a bl 8010a38
8009924: 4603 mov r3, r0
8009926: e00c b.n 8009942
case IN_CONT_FB_DC:
return HAL_GPIO_ReadPin(IN_FB2_GPIO_Port, IN_FB2_Pin);
8009928: 2108 movs r1, #8
800992a: 480b ldr r0, [pc, #44] @ (8009958 )
- 800992c: f007 f864 bl 80109f8
+ 800992c: f007 f884 bl 8010a38
8009930: 4603 mov r3, r0
8009932: e006 b.n 8009942
case ISO_IN:
return HAL_GPIO_ReadPin(ISO_IN_GPIO_Port, ISO_IN_Pin);
8009934: 2102 movs r1, #2
8009936: 4806 ldr r0, [pc, #24] @ (8009950 )
- 8009938: f007 f85e bl 80109f8
+ 8009938: f007 f87e bl 8010a38
800993c: 4603 mov r3, r0
800993e: e000 b.n 8009942
default:
@@ -2451,2303 +2451,2285 @@ uint8_t IN_ReadInput(inputNum_t input_n){
8009954: 40011400 .word 0x40011400
8009958: 40010c00 .word 0x40010c00
-0800995c :
-//
-// HAL_ADC_Stop(&hadc1); // stop adc
- return 0;
+0800995c :
+/**
+ * @brief Force PC12 (HEATER) as GPIO output via CRH/ODR, overriding UART5 MspInit.
+ * CubeMX assigns PC12 to UART5_TX; on the board it drives the heater relay.
+ */
+static void Heater_PinForceOutput(void)
+{
+ 800995c: b480 push {r7}
+ 800995e: b083 sub sp, #12
+ 8009960: af00 add r7, sp, #0
+ const uint32_t pin_cfg = GPIO_SPEED_FREQ_LOW; /* MODE=10, CNF=00: GP output PP, 2 MHz */
+ 8009962: 2302 movs r3, #2
+ 8009964: 607b str r3, [r7, #4]
+
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+ 8009966: 4b0f ldr r3, [pc, #60] @ (80099a4 )
+ 8009968: 699b ldr r3, [r3, #24]
+ 800996a: 4a0e ldr r2, [pc, #56] @ (80099a4 )
+ 800996c: f043 0310 orr.w r3, r3, #16
+ 8009970: 6193 str r3, [r2, #24]
+ 8009972: 4b0c ldr r3, [pc, #48] @ (80099a4 )
+ 8009974: 699b ldr r3, [r3, #24]
+ 8009976: f003 0310 and.w r3, r3, #16
+ 800997a: 603b str r3, [r7, #0]
+ 800997c: 683b ldr r3, [r7, #0]
+
+ MODIFY_REG(HEATER_GPIO_Port->CRH,
+ 800997e: 4b0a ldr r3, [pc, #40] @ (80099a8 )
+ 8009980: 685b ldr r3, [r3, #4]
+ 8009982: f423 2270 bic.w r2, r3, #983040 @ 0xf0000
+ 8009986: 687b ldr r3, [r7, #4]
+ 8009988: 041b lsls r3, r3, #16
+ 800998a: 4907 ldr r1, [pc, #28] @ (80099a8 )
+ 800998c: 4313 orrs r3, r2
+ 800998e: 604b str r3, [r1, #4]
+ (GPIO_CRH_MODE12 | GPIO_CRH_CNF12),
+ (pin_cfg << GPIO_CRH_MODE12_Pos));
+
+ HEATER_GPIO_Port->BSRR = (uint32_t)HEATER_Pin << 16U;
+ 8009990: 4b05 ldr r3, [pc, #20] @ (80099a8 )
+ 8009992: f04f 5280 mov.w r2, #268435456 @ 0x10000000
+ 8009996: 611a str r2, [r3, #16]
}
+ 8009998: bf00 nop
+ 800999a: 370c adds r7, #12
+ 800999c: 46bd mov sp, r7
+ 800999e: bc80 pop {r7}
+ 80099a0: 4770 bx lr
+ 80099a2: bf00 nop
+ 80099a4: 40021000 .word 0x40021000
+ 80099a8: 40011000 .word 0x40011000
+
+080099ac :
void Init_Peripheral(){
- 800995c: b580 push {r7, lr}
- 800995e: af00 add r7, sp, #0
+ 80099ac: b580 push {r7, lr}
+ 80099ae: af00 add r7, sp, #0
+ Heater_PinForceOutput();
+ 80099b0: f7ff ffd4 bl 800995c
+ HAL_GPIO_WritePin(HEATER_GPIO_Port, HEATER_Pin, GPIO_PIN_RESET);
+ 80099b4: 2200 movs r2, #0
+ 80099b6: f44f 5180 mov.w r1, #4096 @ 0x1000
+ 80099ba: 4818 ldr r0, [pc, #96] @ (8009a1c )
+ 80099bc: f007 f853 bl 8010a66
HAL_ADCEx_Calibration_Start(&hadc1);
- 8009960: 4816 ldr r0, [pc, #88] @ (80099bc )
- 8009962: f005 f981 bl 800ec68
+ 80099c0: 4817 ldr r0, [pc, #92] @ (8009a20 )
+ 80099c2: f005 f971 bl 800eca8
ADC_ScanStart();
- 8009966: f7ff fddf bl 8009528
+ 80099c6: f7ff fdaf bl 8009528
RELAY_Write(RELAY_AUX0, 0);
- 800996a: 2100 movs r1, #0
- 800996c: 2000 movs r0, #0
- 800996e: f7ff ff23 bl 80097b8
+ 80099ca: 2100 movs r1, #0
+ 80099cc: 2000 movs r0, #0
+ 80099ce: f7ff fef3 bl 80097b8
RELAY_Write(RELAY_AUX1, 0);
- 8009972: 2100 movs r1, #0
- 8009974: 2001 movs r0, #1
- 8009976: f7ff ff1f bl 80097b8
+ 80099d2: 2100 movs r1, #0
+ 80099d4: 2001 movs r0, #1
+ 80099d6: f7ff feef bl 80097b8
RELAY_Write(RELAY3, 0);
- 800997a: 2100 movs r1, #0
- 800997c: 2002 movs r0, #2
- 800997e: f7ff ff1b bl 80097b8
+ 80099da: 2100 movs r1, #0
+ 80099dc: 2002 movs r0, #2
+ 80099de: f7ff feeb bl 80097b8
RELAY_Write(RELAY_DC, 0);
- 8009982: 2100 movs r1, #0
- 8009984: 2003 movs r0, #3
- 8009986: f7ff ff17 bl 80097b8
+ 80099e2: 2100 movs r1, #0
+ 80099e4: 2003 movs r0, #3
+ 80099e6: f7ff fee7 bl 80097b8
RELAY_Write(RELAY_AC, 0);
- 800998a: 2100 movs r1, #0
- 800998c: 2004 movs r0, #4
- 800998e: f7ff ff13 bl 80097b8
+ 80099ea: 2100 movs r1, #0
+ 80099ec: 2004 movs r0, #4
+ 80099ee: f7ff fee3 bl 80097b8
RELAY_Write(RELAY_CP, 0);
- 8009992: 2100 movs r1, #0
- 8009994: 2005 movs r0, #5
- 8009996: f7ff ff0f bl 80097b8
+ 80099f2: 2100 movs r1, #0
+ 80099f4: 2005 movs r0, #5
+ 80099f6: f7ff fedf bl 80097b8
RELAY_Write(RELAY_CC, 0);
- 800999a: 2100 movs r1, #0
- 800999c: 2006 movs r0, #6
- 800999e: f7ff ff0b bl 80097b8
+ 80099fa: 2100 movs r1, #0
+ 80099fc: 2006 movs r0, #6
+ 80099fe: f7ff fedb bl 80097b8
RELAY_Write(RELAY_DC1, 0);
- 80099a2: 2100 movs r1, #0
- 80099a4: 2007 movs r0, #7
- 80099a6: f7ff ff07 bl 80097b8
+ 8009a02: 2100 movs r1, #0
+ 8009a04: 2007 movs r0, #7
+ 8009a06: f7ff fed7 bl 80097b8
SMAFilter_Init(&conn_temp_adc_filter[0]);
- 80099aa: 4805 ldr r0, [pc, #20] @ (80099c0 )
- 80099ac: f003 fd5a bl 800d464
+ 8009a0a: 4806 ldr r0, [pc, #24] @ (8009a24 )
+ 8009a0c: f003 fd4a bl 800d4a4
SMAFilter_Init(&conn_temp_adc_filter[1]);
- 80099b0: 4804 ldr r0, [pc, #16] @ (80099c4 )
- 80099b2: f003 fd57 bl 800d464
+ 8009a10: 4805 ldr r0, [pc, #20] @ (8009a28 )
+ 8009a12: f003 fd47 bl 800d4a4
}
- 80099b6: bf00 nop
- 80099b8: bd80 pop {r7, pc}
- 80099ba: bf00 nop
- 80099bc: 20000290 .word 0x20000290
- 80099c0: 2000030c .word 0x2000030c
- 80099c4: 20000334 .word 0x20000334
+ 8009a16: bf00 nop
+ 8009a18: bd80 pop {r7, pc}
+ 8009a1a: bf00 nop
+ 8009a1c: 40011000 .word 0x40011000
+ 8009a20: 20000290 .word 0x20000290
+ 8009a24: 2000030c .word 0x2000030c
+ 8009a28: 20000334 .word 0x20000334
-080099c8 :
+08009a2c :
float pt1000_to_temperature(float resistance) {
- 80099c8: b590 push {r4, r7, lr}
- 80099ca: b087 sub sp, #28
- 80099cc: af00 add r7, sp, #0
- 80099ce: 6078 str r0, [r7, #4]
+ 8009a2c: b590 push {r4, r7, lr}
+ 8009a2e: b087 sub sp, #28
+ 8009a30: af00 add r7, sp, #0
+ 8009a32: 6078 str r0, [r7, #4]
// Константы для PT1000
const float R0 = 1000.0; // Сопротивление при 0 °C
- 80099d0: 4b0c ldr r3, [pc, #48] @ (8009a04 )
- 80099d2: 617b str r3, [r7, #20]
+ 8009a34: 4b0c ldr r3, [pc, #48] @ (8009a68 )
+ 8009a36: 617b str r3, [r7, #20]
const float C_A = 3.9083E-3f;
- 80099d4: 4b0c ldr r3, [pc, #48] @ (8009a08 )
- 80099d6: 613b str r3, [r7, #16]
+ 8009a38: 4b0c ldr r3, [pc, #48] @ (8009a6c )
+ 8009a3a: 613b str r3, [r7, #16]
float temperature = (resistance-R0) / ( R0 * C_A);
- 80099d8: 6979 ldr r1, [r7, #20]
- 80099da: 6878 ldr r0, [r7, #4]
- 80099dc: f7ff f914 bl 8008c08 <__aeabi_fsub>
- 80099e0: 4603 mov r3, r0
- 80099e2: 461c mov r4, r3
- 80099e4: 6939 ldr r1, [r7, #16]
- 80099e6: 6978 ldr r0, [r7, #20]
- 80099e8: f7ff fa18 bl 8008e1c <__aeabi_fmul>
- 80099ec: 4603 mov r3, r0
- 80099ee: 4619 mov r1, r3
- 80099f0: 4620 mov r0, r4
- 80099f2: f7ff fac7 bl 8008f84 <__aeabi_fdiv>
- 80099f6: 4603 mov r3, r0
- 80099f8: 60fb str r3, [r7, #12]
+ 8009a3c: 6979 ldr r1, [r7, #20]
+ 8009a3e: 6878 ldr r0, [r7, #4]
+ 8009a40: f7ff f8e2 bl 8008c08 <__aeabi_fsub>
+ 8009a44: 4603 mov r3, r0
+ 8009a46: 461c mov r4, r3
+ 8009a48: 6939 ldr r1, [r7, #16]
+ 8009a4a: 6978 ldr r0, [r7, #20]
+ 8009a4c: f7ff f9e6 bl 8008e1c <__aeabi_fmul>
+ 8009a50: 4603 mov r3, r0
+ 8009a52: 4619 mov r1, r3
+ 8009a54: 4620 mov r0, r4
+ 8009a56: f7ff fa95 bl 8008f84 <__aeabi_fdiv>
+ 8009a5a: 4603 mov r3, r0
+ 8009a5c: 60fb str r3, [r7, #12]
return temperature;
- 80099fa: 68fb ldr r3, [r7, #12]
+ 8009a5e: 68fb ldr r3, [r7, #12]
}
- 80099fc: 4618 mov r0, r3
- 80099fe: 371c adds r7, #28
- 8009a00: 46bd mov sp, r7
- 8009a02: bd90 pop {r4, r7, pc}
- 8009a04: 447a0000 .word 0x447a0000
- 8009a08: 3b801132 .word 0x3b801132
- 8009a0c: 00000000 .word 0x00000000
+ 8009a60: 4618 mov r0, r3
+ 8009a62: 371c adds r7, #28
+ 8009a64: 46bd mov sp, r7
+ 8009a66: bd90 pop {r4, r7, pc}
+ 8009a68: 447a0000 .word 0x447a0000
+ 8009a6c: 3b801132 .word 0x3b801132
-08009a10 :
+08009a70 :
float calculate_NTC_resistance(int adc_value, float Vref, float Vin, float R) {
- 8009a10: b5b0 push {r4, r5, r7, lr}
- 8009a12: b086 sub sp, #24
- 8009a14: af00 add r7, sp, #0
- 8009a16: 60f8 str r0, [r7, #12]
- 8009a18: 60b9 str r1, [r7, #8]
- 8009a1a: 607a str r2, [r7, #4]
- 8009a1c: 603b str r3, [r7, #0]
+ 8009a70: b5b0 push {r4, r5, r7, lr}
+ 8009a72: b086 sub sp, #24
+ 8009a74: af00 add r7, sp, #0
+ 8009a76: 60f8 str r0, [r7, #12]
+ 8009a78: 60b9 str r1, [r7, #8]
+ 8009a7a: 607a str r2, [r7, #4]
+ 8009a7c: 603b str r3, [r7, #0]
// Преобразуем значение АЦП в выходное напряжение
float Vout = (adc_value / 4095.0) * Vref;
- 8009a1e: 68f8 ldr r0, [r7, #12]
- 8009a20: f7fe fd5c bl 80084dc <__aeabi_i2d>
- 8009a24: a31c add r3, pc, #112 @ (adr r3, 8009a98 )
- 8009a26: e9d3 2300 ldrd r2, r3, [r3]
- 8009a2a: f7fe feeb bl 8008804 <__aeabi_ddiv>
- 8009a2e: 4602 mov r2, r0
- 8009a30: 460b mov r3, r1
- 8009a32: 4614 mov r4, r2
- 8009a34: 461d mov r5, r3
- 8009a36: 68b8 ldr r0, [r7, #8]
- 8009a38: f7fe fd62 bl 8008500 <__aeabi_f2d>
- 8009a3c: 4602 mov r2, r0
- 8009a3e: 460b mov r3, r1
- 8009a40: 4620 mov r0, r4
- 8009a42: 4629 mov r1, r5
- 8009a44: f7fe fdb4 bl 80085b0 <__aeabi_dmul>
- 8009a48: 4602 mov r2, r0
- 8009a4a: 460b mov r3, r1
- 8009a4c: 4610 mov r0, r2
- 8009a4e: 4619 mov r1, r3
- 8009a50: f7ff f886 bl 8008b60 <__aeabi_d2f>
- 8009a54: 4603 mov r3, r0
- 8009a56: 617b str r3, [r7, #20]
+ 8009a7e: 68f8 ldr r0, [r7, #12]
+ 8009a80: f7fe fd2c bl 80084dc <__aeabi_i2d>
+ 8009a84: a31c add r3, pc, #112 @ (adr r3, 8009af8 )
+ 8009a86: e9d3 2300 ldrd r2, r3, [r3]
+ 8009a8a: f7fe febb bl 8008804 <__aeabi_ddiv>
+ 8009a8e: 4602 mov r2, r0
+ 8009a90: 460b mov r3, r1
+ 8009a92: 4614 mov r4, r2
+ 8009a94: 461d mov r5, r3
+ 8009a96: 68b8 ldr r0, [r7, #8]
+ 8009a98: f7fe fd32 bl 8008500 <__aeabi_f2d>
+ 8009a9c: 4602 mov r2, r0
+ 8009a9e: 460b mov r3, r1
+ 8009aa0: 4620 mov r0, r4
+ 8009aa2: 4629 mov r1, r5
+ 8009aa4: f7fe fd84 bl 80085b0 <__aeabi_dmul>
+ 8009aa8: 4602 mov r2, r0
+ 8009aaa: 460b mov r3, r1
+ 8009aac: 4610 mov r0, r2
+ 8009aae: 4619 mov r1, r3
+ 8009ab0: f7ff f856 bl 8008b60 <__aeabi_d2f>
+ 8009ab4: 4603 mov r3, r0
+ 8009ab6: 617b str r3, [r7, #20]
// Проверяем, чтобы Vout не было равно Vin
if (Vout >= Vin) {
- 8009a58: 6879 ldr r1, [r7, #4]
- 8009a5a: 6978 ldr r0, [r7, #20]
- 8009a5c: f7ff fb90 bl 8009180 <__aeabi_fcmpge>
- 8009a60: 4603 mov r3, r0
- 8009a62: 2b00 cmp r3, #0
- 8009a64: d001 beq.n 8009a6a
+ 8009ab8: 6879 ldr r1, [r7, #4]
+ 8009aba: 6978 ldr r0, [r7, #20]
+ 8009abc: f7ff fb60 bl 8009180 <__aeabi_fcmpge>
+ 8009ac0: 4603 mov r3, r0
+ 8009ac2: 2b00 cmp r3, #0
+ 8009ac4: d001 beq.n 8009aca
return -1; // Ошибка: Vout не может быть больше или равно Vin
- 8009a66: 4b0e ldr r3, [pc, #56] @ (8009aa0 )
- 8009a68: e010 b.n 8009a8c
+ 8009ac6: 4b0e ldr r3, [pc, #56] @ (8009b00 )
+ 8009ac8: e010 b.n 8009aec
}
// Вычисляем сопротивление термистора
float R_NTC = R * (Vout / (Vin - Vout));
- 8009a6a: 6979 ldr r1, [r7, #20]
- 8009a6c: 6878 ldr r0, [r7, #4]
- 8009a6e: f7ff f8cb bl 8008c08 <__aeabi_fsub>
- 8009a72: 4603 mov r3, r0
- 8009a74: 4619 mov r1, r3
- 8009a76: 6978 ldr r0, [r7, #20]
- 8009a78: f7ff fa84 bl 8008f84 <__aeabi_fdiv>
- 8009a7c: 4603 mov r3, r0
- 8009a7e: 4619 mov r1, r3
- 8009a80: 6838 ldr r0, [r7, #0]
- 8009a82: f7ff f9cb bl 8008e1c <__aeabi_fmul>
- 8009a86: 4603 mov r3, r0
- 8009a88: 613b str r3, [r7, #16]
+ 8009aca: 6979 ldr r1, [r7, #20]
+ 8009acc: 6878 ldr r0, [r7, #4]
+ 8009ace: f7ff f89b bl 8008c08 <__aeabi_fsub>
+ 8009ad2: 4603 mov r3, r0
+ 8009ad4: 4619 mov r1, r3
+ 8009ad6: 6978 ldr r0, [r7, #20]
+ 8009ad8: f7ff fa54 bl 8008f84 <__aeabi_fdiv>
+ 8009adc: 4603 mov r3, r0
+ 8009ade: 4619 mov r1, r3
+ 8009ae0: 6838 ldr r0, [r7, #0]
+ 8009ae2: f7ff f99b bl 8008e1c <__aeabi_fmul>
+ 8009ae6: 4603 mov r3, r0
+ 8009ae8: 613b str r3, [r7, #16]
return R_NTC;
- 8009a8a: 693b ldr r3, [r7, #16]
+ 8009aea: 693b ldr r3, [r7, #16]
}
- 8009a8c: 4618 mov r0, r3
- 8009a8e: 3718 adds r7, #24
- 8009a90: 46bd mov sp, r7
- 8009a92: bdb0 pop {r4, r5, r7, pc}
- 8009a94: f3af 8000 nop.w
- 8009a98: 00000000 .word 0x00000000
- 8009a9c: 40affe00 .word 0x40affe00
- 8009aa0: bf800000 .word 0xbf800000
+ 8009aec: 4618 mov r0, r3
+ 8009aee: 3718 adds r7, #24
+ 8009af0: 46bd mov sp, r7
+ 8009af2: bdb0 pop {r4, r5, r7, pc}
+ 8009af4: f3af 8000 nop.w
+ 8009af8: 00000000 .word 0x00000000
+ 8009afc: 40affe00 .word 0x40affe00
+ 8009b00: bf800000 .word 0xbf800000
-08009aa4 :
+08009b04 :
int16_t CONN_ReadTemp(uint8_t ch){
- 8009aa4: b580 push {r7, lr}
- 8009aa6: b088 sub sp, #32
- 8009aa8: af00 add r7, sp, #0
- 8009aaa: 4603 mov r3, r0
- 8009aac: 71fb strb r3, [r7, #7]
+ 8009b04: b580 push {r7, lr}
+ 8009b06: b088 sub sp, #32
+ 8009b08: af00 add r7, sp, #0
+ 8009b0a: 4603 mov r3, r0
+ 8009b0c: 71fb strb r3, [r7, #7]
uint32_t adcValue = 0u;
- 8009aae: 2300 movs r3, #0
- 8009ab0: 61fb str r3, [r7, #28]
+ 8009b0e: 2300 movs r3, #0
+ 8009b10: 61fb str r3, [r7, #28]
adcValue = ch ? adc_data.ntc2_raw : adc_data.ntc1_raw;
- 8009ab2: 79fb ldrb r3, [r7, #7]
- 8009ab4: 2b00 cmp r3, #0
- 8009ab6: d003 beq.n 8009ac0
- 8009ab8: 4b1c ldr r3, [pc, #112] @ (8009b2c )
- 8009aba: 88db ldrh r3, [r3, #6]
- 8009abc: b29b uxth r3, r3
- 8009abe: e002 b.n 8009ac6
- 8009ac0: 4b1a ldr r3, [pc, #104] @ (8009b2c )
- 8009ac2: 889b ldrh r3, [r3, #4]
- 8009ac4: b29b uxth r3, r3
- 8009ac6: 61fb str r3, [r7, #28]
+ 8009b12: 79fb ldrb r3, [r7, #7]
+ 8009b14: 2b00 cmp r3, #0
+ 8009b16: d003 beq.n 8009b20
+ 8009b18: 4b1c ldr r3, [pc, #112] @ (8009b8c )
+ 8009b1a: 88db ldrh r3, [r3, #6]
+ 8009b1c: b29b uxth r3, r3
+ 8009b1e: e002 b.n 8009b26
+ 8009b20: 4b1a ldr r3, [pc, #104] @ (8009b8c )
+ 8009b22: 889b ldrh r3, [r3, #4]
+ 8009b24: b29b uxth r3, r3
+ 8009b26: 61fb str r3, [r7, #28]
int32_t adc_filtered = SMAFilter_Update(&conn_temp_adc_filter[ch ? 1u : 0u], (int32_t)adcValue);
- 8009ac8: 79fb ldrb r3, [r7, #7]
- 8009aca: 2b00 cmp r3, #0
- 8009acc: d001 beq.n 8009ad2
- 8009ace: 2201 movs r2, #1
- 8009ad0: e000 b.n 8009ad4
- 8009ad2: 2200 movs r2, #0
- 8009ad4: 4613 mov r3, r2
- 8009ad6: 009b lsls r3, r3, #2
- 8009ad8: 4413 add r3, r2
- 8009ada: 00db lsls r3, r3, #3
- 8009adc: 4a14 ldr r2, [pc, #80] @ (8009b30 )
- 8009ade: 4413 add r3, r2
- 8009ae0: 69fa ldr r2, [r7, #28]
- 8009ae2: 4611 mov r1, r2
- 8009ae4: 4618 mov r0, r3
- 8009ae6: f003 fce2 bl 800d4ae
- 8009aea: 61b8 str r0, [r7, #24]
+ 8009b28: 79fb ldrb r3, [r7, #7]
+ 8009b2a: 2b00 cmp r3, #0
+ 8009b2c: d001 beq.n 8009b32
+ 8009b2e: 2201 movs r2, #1
+ 8009b30: e000 b.n 8009b34
+ 8009b32: 2200 movs r2, #0
+ 8009b34: 4613 mov r3, r2
+ 8009b36: 009b lsls r3, r3, #2
+ 8009b38: 4413 add r3, r2
+ 8009b3a: 00db lsls r3, r3, #3
+ 8009b3c: 4a14 ldr r2, [pc, #80] @ (8009b90 )
+ 8009b3e: 4413 add r3, r2
+ 8009b40: 69fa ldr r2, [r7, #28]
+ 8009b42: 4611 mov r1, r2
+ 8009b44: 4618 mov r0, r3
+ 8009b46: f003 fcd2 bl 800d4ee
+ 8009b4a: 61b8 str r0, [r7, #24]
if((uint32_t)adc_filtered > 4000u) {
- 8009aec: 69bb ldr r3, [r7, #24]
- 8009aee: f5b3 6f7a cmp.w r3, #4000 @ 0xfa0
- 8009af2: d901 bls.n 8009af8
+ 8009b4c: 69bb ldr r3, [r7, #24]
+ 8009b4e: f5b3 6f7a cmp.w r3, #4000 @ 0xfa0
+ 8009b52: d901 bls.n 8009b58
return 20; //Термодатчик не подключен
- 8009af4: 2314 movs r3, #20
- 8009af6: e015 b.n 8009b24
+ 8009b54: 2314 movs r3, #20
+ 8009b56: e015 b.n 8009b84
}
-// int adc_value = 2048; // Пример значения АЦП
float Vref = 3.3; // Напряжение опорное
- 8009af8: 4b0e ldr r3, [pc, #56] @ (8009b34 )
- 8009afa: 617b str r3, [r7, #20]
+ 8009b58: 4b0e ldr r3, [pc, #56] @ (8009b94 )
+ 8009b5a: 617b str r3, [r7, #20]
float Vin = 5.0; // Входное напряжение
- 8009afc: 4b0e ldr r3, [pc, #56] @ (8009b38 )
- 8009afe: 613b str r3, [r7, #16]
+ 8009b5c: 4b0e ldr r3, [pc, #56] @ (8009b98 )
+ 8009b5e: 613b str r3, [r7, #16]
float R = 1000; // Сопротивление резистора в Омах
- 8009b00: 4b0e ldr r3, [pc, #56] @ (8009b3c )
- 8009b02: 60fb str r3, [r7, #12]
+ 8009b60: 4b0e ldr r3, [pc, #56] @ (8009b9c )
+ 8009b62: 60fb str r3, [r7, #12]
float temp = pt1000_to_temperature(calculate_NTC_resistance((int)adc_filtered, Vref, Vin, R));
- 8009b04: 68fb ldr r3, [r7, #12]
- 8009b06: 693a ldr r2, [r7, #16]
- 8009b08: 6979 ldr r1, [r7, #20]
- 8009b0a: 69b8 ldr r0, [r7, #24]
- 8009b0c: f7ff ff80 bl 8009a10
- 8009b10: 4603 mov r3, r0
- 8009b12: 4618 mov r0, r3
- 8009b14: f7ff ff58 bl 80099c8
- 8009b18: 60b8 str r0, [r7, #8]
+ 8009b64: 68fb ldr r3, [r7, #12]
+ 8009b66: 693a ldr r2, [r7, #16]
+ 8009b68: 6979 ldr r1, [r7, #20]
+ 8009b6a: 69b8 ldr r0, [r7, #24]
+ 8009b6c: f7ff ff80 bl 8009a70
+ 8009b70: 4603 mov r3, r0
+ 8009b72: 4618 mov r0, r3
+ 8009b74: f7ff ff5a bl 8009a2c
+ 8009b78: 60b8 str r0, [r7, #8]
return (int16_t)temp;
- 8009b1a: 68b8 ldr r0, [r7, #8]
- 8009b1c: f7ff fb44 bl 80091a8 <__aeabi_f2iz>
- 8009b20: 4603 mov r3, r0
- 8009b22: b21b sxth r3, r3
+ 8009b7a: 68b8 ldr r0, [r7, #8]
+ 8009b7c: f7ff fb14 bl 80091a8 <__aeabi_f2iz>
+ 8009b80: 4603 mov r3, r0
+ 8009b82: b21b sxth r3, r3
}
- 8009b24: 4618 mov r0, r3
- 8009b26: 3720 adds r7, #32
- 8009b28: 46bd mov sp, r7
- 8009b2a: bd80 pop {r7, pc}
- 8009b2c: 20000280 .word 0x20000280
- 8009b30: 2000030c .word 0x2000030c
- 8009b34: 40533333 .word 0x40533333
- 8009b38: 40a00000 .word 0x40a00000
- 8009b3c: 447a0000 .word 0x447a0000
+ 8009b84: 4618 mov r0, r3
+ 8009b86: 3720 adds r7, #32
+ 8009b88: 46bd mov sp, r7
+ 8009b8a: bd80 pop {r7, pc}
+ 8009b8c: 20000280 .word 0x20000280
+ 8009b90: 2000030c .word 0x2000030c
+ 8009b94: 40533333 .word 0x40533333
+ 8009b98: 40a00000 .word 0x40a00000
+ 8009b9c: 447a0000 .word 0x447a0000
-08009b40 :
+08009ba0 :
CAN_HandleTypeDef hcan1;
CAN_HandleTypeDef hcan2;
/* CAN1 init function */
void MX_CAN1_Init(void)
{
- 8009b40: b580 push {r7, lr}
- 8009b42: af00 add r7, sp, #0
+ 8009ba0: b580 push {r7, lr}
+ 8009ba2: af00 add r7, sp, #0
/* USER CODE END CAN1_Init 0 */
/* USER CODE BEGIN CAN1_Init 1 */
/* USER CODE END CAN1_Init 1 */
hcan1.Instance = CAN1;
- 8009b44: 4b17 ldr r3, [pc, #92] @ (8009ba4 )
- 8009b46: 4a18 ldr r2, [pc, #96] @ (8009ba8 )
- 8009b48: 601a str r2, [r3, #0]
+ 8009ba4: 4b17 ldr r3, [pc, #92] @ (8009c04 )
+ 8009ba6: 4a18 ldr r2, [pc, #96] @ (8009c08 )
+ 8009ba8: 601a str r2, [r3, #0]
hcan1.Init.Prescaler = 8;
- 8009b4a: 4b16 ldr r3, [pc, #88] @ (8009ba4 )
- 8009b4c: 2208 movs r2, #8
- 8009b4e: 605a str r2, [r3, #4]
+ 8009baa: 4b16 ldr r3, [pc, #88] @ (8009c04 )
+ 8009bac: 2208 movs r2, #8
+ 8009bae: 605a str r2, [r3, #4]
hcan1.Init.Mode = CAN_MODE_NORMAL;
- 8009b50: 4b14 ldr r3, [pc, #80] @ (8009ba4 )
- 8009b52: 2200 movs r2, #0
- 8009b54: 609a str r2, [r3, #8]
+ 8009bb0: 4b14 ldr r3, [pc, #80] @ (8009c04