Added Motor-Test-Mode: Sweep motors slowly forward and backward without any input.

Better config-validation.
Fixed board temperature calculation and serial output when speed > 50.
This commit is contained in:
larsm 2019-05-31 19:06:47 +02:00
parent 2c666c8cb4
commit ffda2219f1
3 changed files with 478 additions and 427 deletions

View File

@ -12,7 +12,7 @@
// ############################### GENERAL ############################### // ############################### GENERAL ###############################
// How to calibrate: connect GND and RX of a 3.3v uart-usb adapter to the right sensor board cable (be careful not to use the red wire of the cable. 15v will destroye verything.). if you are using nunchuck, disable it temporarily. enable DEBUG_SERIAL_USART3 and DEBUG_SERIAL_ASCII use asearial terminal. // How to calibrate: connect GND and RX of a 3.3v uart-usb adapter to the right sensor board cable (be careful not to use the red wire of the cable. 15v will destroy everything.). if you are using nunchuck, disable it temporarily. enable DEBUG_SERIAL_USART3 and DEBUG_SERIAL_ASCII use asearial terminal.
// Battery voltage calibration: connect power source. see <How to calibrate>. write value nr 5 to BAT_CALIB_ADC. make and flash firmware. then you can verify voltage on value 6 (devide it by 100.0 to get calibrated voltage). // Battery voltage calibration: connect power source. see <How to calibrate>. write value nr 5 to BAT_CALIB_ADC. make and flash firmware. then you can verify voltage on value 6 (devide it by 100.0 to get calibrated voltage).
#define BAT_CALIB_REAL_VOLTAGE 43.0 // input voltage measured by multimeter #define BAT_CALIB_REAL_VOLTAGE 43.0 // input voltage measured by multimeter
@ -47,7 +47,7 @@
#define DEBUG_SERIAL_USART3 // right sensor board cable, disable if I2C (nunchuck or lcd) is used! #define DEBUG_SERIAL_USART3 // right sensor board cable, disable if I2C (nunchuck or lcd) is used!
#define DEBUG_BAUD 115200 // UART baud rate #define DEBUG_BAUD 115200 // UART baud rate
//#define DEBUG_SERIAL_SERVOTERM //#define DEBUG_SERIAL_SERVOTERM // Software for plotting graphs: https://github.com/STMBL/Servoterm-app
#define DEBUG_SERIAL_ASCII // "1:345 2:1337 3:0 4:0 5:0 6:0 7:0 8:0\r\n" #define DEBUG_SERIAL_ASCII // "1:345 2:1337 3:0 4:0 5:0 6:0 7:0 8:0\r\n"
// ############################### INPUT ############################### // ############################### INPUT ###############################
@ -58,13 +58,13 @@
// for Arduino, use void loop(void){ Serial.write((uint8_t *) &steer, sizeof(steer)); Serial.write((uint8_t *) &speed, sizeof(speed));delay(20); } // for Arduino, use void loop(void){ Serial.write((uint8_t *) &steer, sizeof(steer)); Serial.write((uint8_t *) &speed, sizeof(speed));delay(20); }
// ###### CONTROL VIA RC REMOTE ###### // ###### CONTROL VIA RC REMOTE ######
// left sensor board cable. Channel 1: steering, Channel 2: speed. // left sensor board cable. Channel 1: steering, Channel 2: speed. Use a very short cable!
//#define CONTROL_PPM // use PPM-Sum as input. disable CONTROL_SERIAL_USART2! //#define CONTROL_PPM // use PPM-Sum as input. disable CONTROL_SERIAL_USART2!
//#define PPM_NUM_CHANNELS 6 // total number of PPM channels to receive, even if they are not used. //#define PPM_NUM_CHANNELS 6 // total number of PPM channels to receive, even if they are not used.
// ###### CONTROL VIA TWO POTENTIOMETERS ###### // ###### CONTROL VIA TWO POTENTIOMETERS ######
// ADC-calibration to cover the full poti-range: connect potis to left sensor board cable (0 to 3.3V) (do NOT use the red 15V wire in the cable!). see <How to calibrate>. turn the potis to minimum position, write value 1 to ADC1_MIN and value 2 to ADC2_MIN. turn to maximum position and repeat it for ADC?_MAX. make, flash and test it. // ADC-calibration to cover the full poti-range: connect potis to left sensor board cable (0 to 3.3V) (do NOT use the red 15V wire in the cable!). see <How to calibrate>. turn the potis to minimum position, write value 1 to ADC1_MIN and value 2 to ADC2_MIN. turn to maximum position and repeat it for ADC?_MAX. make, flash and test it.
#define CONTROL_ADC // use ADC as input. disable CONTROL_SERIAL_USART2! //#define CONTROL_ADC // use ADC as input. disable CONTROL_SERIAL_USART2!
#define ADC1_MIN 0 // min ADC1-value while poti at minimum-position (0 - 4095) #define ADC1_MIN 0 // min ADC1-value while poti at minimum-position (0 - 4095)
#define ADC1_MAX 4095 // max ADC1-value while poti at maximum-position (0 - 4095) #define ADC1_MAX 4095 // max ADC1-value while poti at maximum-position (0 - 4095)
#define ADC2_MIN 0 // min ADC2-value while poti at minimum-position (0 - 4095) #define ADC2_MIN 0 // min ADC2-value while poti at minimum-position (0 - 4095)
@ -74,6 +74,11 @@
// left sensor board cable. keep cable short, use shielded cable, use ferrits, stabalize voltage in nunchuck, use the right one of the 2 types of nunchucks, add i2c pullups. use original nunchuck. most clones does not work very well. // left sensor board cable. keep cable short, use shielded cable, use ferrits, stabalize voltage in nunchuck, use the right one of the 2 types of nunchucks, add i2c pullups. use original nunchuck. most clones does not work very well.
//#define CONTROL_NUNCHUCK // use nunchuck as input. disable DEBUG_SERIAL_USART3! //#define CONTROL_NUNCHUCK // use nunchuck as input. disable DEBUG_SERIAL_USART3!
// ###### MOTOR TEST MODE ######
// slowly move both wheels forward and backward, ignoring all inputs
#define CONTROL_MOTOR_TEST
#define CONTROL_MOTOR_TEST_MAX_SPEED 300 // sweep slowly from -MAX_SPEED to MAX_SPEED (0 - 1000)
// ############################### DRIVING BEHAVIOR ############################### // ############################### DRIVING BEHAVIOR ###############################
// inputs: // inputs:
@ -149,6 +154,41 @@ else {\
#error DEBUG_I2C_LCD and DEBUG_SERIAL_USART3 not allowed. it is on the same cable. #error DEBUG_I2C_LCD and DEBUG_SERIAL_USART3 not allowed. it is on the same cable.
#endif #endif
#if defined CONTROL_PPM && defined CONTROL_ADC && defined CONTROL_NUNCHUCK || defined CONTROL_PPM && defined CONTROL_ADC || defined CONTROL_ADC && defined CONTROL_NUNCHUCK || defined CONTROL_PPM && defined CONTROL_NUNCHUCK #ifdef CONTROL_SERIAL_USART2
#error only 1 input method allowed. use CONTROL_PPM or CONTROL_ADC or CONTROL_NUNCHUCK. #if defined CONTROL_DEFINED
#error select exactly 1 input method in config.h!
#endif
#define CONTROL_DEFINED
#endif
#ifdef CONTROL_PPM
#if defined CONTROL_DEFINED
#error select exactly 1 input method in config.h!
#endif
#define CONTROL_DEFINED
#endif
#ifdef CONTROL_ADC
#if defined CONTROL_DEFINED
#error select exactly 1 input method in config.h!
#endif
#define CONTROL_DEFINED
#endif
#ifdef CONTROL_NUNCHUCK
#if defined CONTROL_DEFINED
#error select exactly 1 input method in config.h!
#endif
#define CONTROL_DEFINED
#endif
#ifdef CONTROL_MOTOR_TEST
#if defined CONTROL_DEFINED
#error select exactly 1 input method in config.h!
#endif
#define CONTROL_DEFINED
#endif
#ifndef CONTROL_DEFINED
#error select exactly 1 input method in config.h!
#endif #endif

View File

@ -67,6 +67,9 @@ extern volatile uint32_t timeout; // global variable for timeout
extern float batteryVoltage; // global variable for battery voltage extern float batteryVoltage; // global variable for battery voltage
uint32_t inactivity_timeout_counter; uint32_t inactivity_timeout_counter;
uint32_t main_loop_counter;
int32_t motor_test_direction = 1;
extern uint8_t nunchuck_data[6]; extern uint8_t nunchuck_data[6];
#ifdef CONTROL_PPM #ifdef CONTROL_PPM
@ -77,7 +80,9 @@ int milli_vel_error_sum = 0;
void poweroff() { void poweroff() {
#ifndef CONTROL_MOTOR_TEST
if (abs(speed) < 20) { if (abs(speed) < 20) {
#endif
buzzerPattern = 0; buzzerPattern = 0;
enable = 0; enable = 0;
for (int i = 0; i < 8; i++) { for (int i = 0; i < 8; i++) {
@ -86,7 +91,9 @@ void poweroff() {
} }
HAL_GPIO_WritePin(OFF_PORT, OFF_PIN, 0); HAL_GPIO_WritePin(OFF_PORT, OFF_PIN, 0);
while(1) {} while(1) {}
#ifndef CONTROL_MOTOR_TEST
} }
#endif
} }
@ -218,6 +225,14 @@ int main(void) {
timeout = 0; timeout = 0;
#endif #endif
#ifdef CONTROL_MOTOR_TEST
// if (main_loop_counter % 2 == 0) {
if (motor_test_direction == 1) cmd2 += 1;
else cmd2 -= 1;
if (abs(cmd2) > CONTROL_MOTOR_TEST_MAX_SPEED) motor_test_direction = -motor_test_direction;
// }
timeout = 0;
#endif
// ####### LOW-PASS FILTER ####### // ####### LOW-PASS FILTER #######
steer = steer * (1.0 - FILTER) + cmd1 * FILTER; steer = steer * (1.0 - FILTER) + cmd1 * FILTER;
@ -252,7 +267,7 @@ int main(void) {
lastSpeedR = speedR; lastSpeedR = speedR;
if (inactivity_timeout_counter % 25 == 0) { if (main_loop_counter % 25 == 0) {
// ####### CALC BOARD TEMPERATURE ####### // ####### CALC BOARD TEMPERATURE #######
board_temp_adc_filtered = board_temp_adc_filtered * 0.99 + (float)adc_buffer.temp * 0.01; board_temp_adc_filtered = board_temp_adc_filtered * 0.99 + (float)adc_buffer.temp * 0.01;
board_temp_deg_c = ((float)TEMP_CAL_HIGH_DEG_C - (float)TEMP_CAL_LOW_DEG_C) / ((float)TEMP_CAL_HIGH_ADC - (float)TEMP_CAL_LOW_ADC) * (board_temp_adc_filtered - (float)TEMP_CAL_LOW_ADC) + (float)TEMP_CAL_LOW_DEG_C; board_temp_deg_c = ((float)TEMP_CAL_HIGH_DEG_C - (float)TEMP_CAL_LOW_DEG_C) / ((float)TEMP_CAL_HIGH_ADC - (float)TEMP_CAL_LOW_ADC) * (board_temp_adc_filtered - (float)TEMP_CAL_LOW_ADC) + (float)TEMP_CAL_LOW_DEG_C;
@ -310,6 +325,8 @@ int main(void) {
if (inactivity_timeout_counter > (INACTIVITY_TIMEOUT * 60 * 1000) / (DELAY_IN_MAIN_LOOP + 1)) { // rest of main loop needs maybe 1ms if (inactivity_timeout_counter > (INACTIVITY_TIMEOUT * 60 * 1000) / (DELAY_IN_MAIN_LOOP + 1)) { // rest of main loop needs maybe 1ms
poweroff(); poweroff();
} }
main_loop_counter += 1;
} }
} }

View File

@ -1,23 +1,23 @@
:020000040800F2 :020000040800F2
:1000000000C00020913D0008753D0008773D0008C4 :1000000000C00020293D00080D3D00080F3D0008FC
:10001000793D00087B3D00087D3D000800000000A0 :10001000113D0008133D0008153D000800000000D8
:100020000000000000000000000000007F3D00080C :10002000000000000000000000000000173D000874
:10003000813D000800000000833D0008853D000868 :10003000193D0008000000001B3D00081D3D0008A0
:10004000D93D0008D93D0008D93D0008D93D000838 :10004000713D0008713D0008713D0008713D0008D8
:10005000D93D0008D93D0008D93D0008D93D000828 :10005000713D0008713D0008713D0008713D0008C8
:10006000D93D0008D93D0008D93D0008A135000858 :10006000713D0008713D0008713D000839350008F8
:10007000D93D0008D93D0008D93D0008D93D000808 :10007000713D0008713D0008713D0008713D0008A8
:10008000D93D0008D93D0008D93D0008D93D0008F8 :10008000713D0008713D0008713D0008713D000898
:10009000D93D0008D93D0008D93D0008D93D0008E8 :10009000713D0008713D0008713D0008713D000888
:1000A000D93D0008D93D0008D93D0008D93D0008D8 :1000A000713D0008713D0008713D0008713D000878
:1000B000D93D0008D93D0008D93D0008D93D0008C8 :1000B000713D0008713D0008713D0008713D000868
:1000C000D93D0008D93D0008D93D0008D93D0008B8 :1000C000713D0008713D0008713D0008713D000858
:1000D000D93D0008D93D0008D93D0008D93D0008A8 :1000D000713D0008713D0008713D0008713D000848
:1000E000D93D0008D93D0008D93D0008D93D000898 :1000E000713D0008713D0008713D0008713D000838
:1000F000D93D0008D93D0008D93D0008D93D000888 :1000F000713D0008713D0008713D0008713D000828
:10010000D93D0008D93D0008D93D0008D93D000877 :10010000713D0008713D0008713D0008713D000817
:10011000D93D0008D93D0008D93D0008D93D000867 :10011000713D0008713D0008713D0008713D000807
:10012000D93D0008D93D0008D93D0008D93D000857 :10012000713D0008713D0008713D0008713D0008F7
:1001300000000000000000000000000000000000BF :1001300000000000000000000000000000000000BF
:1001400000000000000000000000000000000000AF :1001400000000000000000000000000000000000AF
:10015000000000000000000000000000000000009F :10015000000000000000000000000000000000009F
@ -31,9 +31,9 @@
:1001D000000000000000000000000000000000001F :1001D000000000000000000000000000000000001F
:0401E0005FF8E0F1F3 :0401E0005FF8E0F1F3
:1001E80010B5054C237833B9044B13B10448AFF369 :1001E80010B5054C237833B9044B13B10448AFF369
:1001F80000800123237010BD88000020000000004B :1001F80000800123237010BD8C0000200000000047
:100208007046000808B5034B1BB103490348AFF318 :100208000846000808B5034B1BB103490348AFF380
:10021800008008BD000000008C0000207046000827 :10021800008008BD0000000090000020084600088B
:10022800034613F8012B002AFBD1181A013870472E :10022800034613F8012B002AFBD1181A013870472E
:1002380081F0004102E000BF83F0004330B54FEA8F :1002380081F0004102E000BF83F0004330B54FEA8F
:1002480041044FEA430594EA050F08BF90EA020FFC :1002480041044FEA430594EA050F08BF90EA020FFC
@ -354,7 +354,7 @@
:1015F800624412F8100C13F4803F05D10C4B03FB26 :1015F800624412F8100C13F4803F05D10C4B03FB26
:1016080000F007B010BC7047084B5B68C3F3404359 :1016080000F007B010BC7047084B5B68C3F3404359
:10161800634413F8142C074BB3FBF2F300FB03F0FD :10161800634413F8142C074BB3FBF2F300FB03F0FD
:10162800EFE70448EDE700BF8846000800100240D5 :10162800EFE70448EDE700BF20460008001002403D
:1016380000093D0000127A00594B1B6803F00703AC :1016380000093D0000127A00594B1B6803F00703AC
:101648008B420CD2564A136823F007030B431360EE :101648008B420CD2564A136823F007030B431360EE
:10165800136803F007038B4201D00120704770B56F :10165800136803F007038B4201D00120704770B56F
@ -378,12 +378,12 @@
:1017780023F46053296943EAC1035360FFF724FF48 :1017780023F46053296943EAC1035360FFF724FF48
:10178800084B5B68C3F30313074AD35CD840074B85 :10178800084B5B68C3F30313074AD35CD840074B85
:101798001860002000F03EFD002070BD0120FCE72D :101798001860002000F03EFD002070BD0120FCE72D
:1017A80000200240001002409C4600080000002073 :1017A80000200240001002403446000800000020DB
:1017B800014B1868704700BF0000002008B5FFF70C :1017B800014B1868704700BF0000002008B5FFF70C
:1017C800F7FF044B5B68C3F30223034AD35CD8409A :1017C800F7FF044B5B68C3F30223034AD35CD8409A
:1017D80008BD00BF00100240AC46000808B5FFF77E :1017D80008BD00BF001002404446000808B5FFF7E6
:1017E800E7FF044B5B68C3F3C223034AD35CD840CA :1017E800E7FF044B5B68C3F3C223034AD35CD840CA
:1017F80008BD00BF00100240AC46000830B4036AC0 :1017F80008BD00BF001002404446000830B4036A28
:1018080023F001030362056A4268846924F07304C3 :1018080023F001030362056A4268846924F07304C3
:101818000B681C4325F002058B682B43104DA8422A :101818000B681C4325F002058B682B43104DA8422A
:1018280003D005F50065A84205D123F00803CD686B :1018280003D005F50065A84205D123F00803CD686B
@ -551,7 +551,7 @@
:1022480008B5074A136843F0100313600320FFF72B :1022480008B5074A136843F0100313600320FFF72B
:10225800CDFD0020FFF7DEFFFFF7DAFF002008BD05 :10225800CDFD0020FFF7DEFFFFF7DAFF002008BD05
:1022680000200240024A136801331360704700BF20 :1022680000200240024A136801331360704700BF20
:10227800E0000020014B1868704700BFE000002014 :10227800E4000020014B1868704700BFE40000200C
:1022880030B583B00190FFF7F5FF0546019CB4F126 :1022880030B583B00190FFF7F5FF0546019CB4F126
:10229800FF3F00D00134FFF7EDFF401BA042FAD307 :10229800FF3F00D00134FFF7EDFF401BA042FAD307
:1022A80003B030BD7047000030B482B00023019302 :1022A80003B030BD7047000030B482B00023019302
@ -729,7 +729,7 @@
:102D68003046FEF785FF21463046FEF7ABFF0421CB :102D68003046FEF785FF21463046FEF7ABFF0421CB
:102D78003046FEF7A7FF39463046FEF7A3FF2B681B :102D78003046FEF7A7FF39463046FEF7A3FF2B681B
:102D880001221A633268136843F00103136019B013 :102D880001221A633268136843F00103136019B013
:102D9800BDE8F08F00100240AC0100203C03002089 :102D9800BDE8F08F00100240B00100204003002081
:102DA800002C0140003401402DE9F04186B0424E2C :102DA800002C0140003401402DE9F04186B0424E2C
:102DB800B36943F40073B361B36903F40073009318 :102DB800B36943F40073B361B36903F40073009318
:102DC800009B3E4C3E4B23604FF48073A36000256C :102DC800009B3E4C3E4B23604FF48073A36000256C
@ -747,9 +747,9 @@
:102E8800019B114B1D60C3F80480104A9A60104AD8 :102E8800019B114B1D60C3F80480104A9A60104AD8
:102E9800DA6040F6A2221A601A6842F001021A604B :102E9800DA6040F6A2221A601A6842F001021A604B
:102EA8002A4629463846FEF7B3FF3846FEF7E4FFC0 :102EA8002A4629463846FEF7B3FF3846FEF7E4FFC0
:102EB80006B0BDE8F08100BF001002407402002097 :102EB80006B0BDE8F08100BF001002407802002093
:102EC8000024014000000140080002404C24014059 :102EC8000024014000000140080002404C24014059
:102ED800E8020020F0B585B0284B9A6942F4806278 :102ED800EC020020F0B585B0284B9A6942F4806274
:102EE8009A619B6903F480630093009B244C254BF3 :102EE8009A619B6903F480630093009B244C254BF3
:102EF80023604FF48073A3600023E36063614FF4A1 :102EF80023604FF48073A3600023E36063614FF4A1
:102F08006022E2616360052626612046FFF744FBE4 :102F08006022E2616360052626612046FFF744FBE4
@ -760,394 +760,388 @@
:102F5800FFF7AAF9072303930197029601A92046D0 :102F5800FFF7AAF9072303930197029601A92046D0
:102F6800FFF7A2F923689A6842F480729A609A6817 :102F6800FFF7A2F923689A6842F480729A609A6817
:102F780042F001029A6005B0F0BD00BF00100240A7 :102F780042F001029A6005B0F0BD00BF00100240A7
:102F880028010020002801400D4B1B681333262B15 :102F88002C0100200028014010B50024094B1C70BA
:102F980014D810B500240B4B1C700B4B1C7005E0AB :102F9800094B1C7005E0094B1C706420FFF770F9A1
:102FA8000A4B1C706420FFF76BF90134072CF7DD1E :102FA8000134072CF7DD002220210548FFF79BF8A4
:102FB800002220210648FFF796F8FEE7704700BF79 :102FB800FEE700BFAC000020B8000020A8000020F9
:102FC80094030020A8000020B4000020A4000020E2 :102FC8000008014030B597B002250C9501231093F5
:102FD8000008014030B597B002250C9501231093E5 :102FD800102311931395002414944FF46013159340
:102FE800102311931395002414944FF46013159330 :102FE8000CA8FEF703F90F230793089509944FF4EB
:102FF8000CA8FEF7FBF80F230793089509944FF4E4 :102FF80080630A930B94294607A8FEF71DFB0195E9
:1030080080630A930B94294607A8FEF715FB0195E0 :103008004FF44043039301A8FFF778F8FEF7D0FB8D
:103018004FF44043039301A8FFF770F8FEF7C8FB8D :10301800084BA3FB00308009FEF73AFF0420FEF7B7
:10302800084BA3FB00308009FEF732FF0420FEF7AF :103028004DFF224621464FF0FF30FEF7F1FE17B064
:1030380045FF224621464FF0FF30FEF7E9FE17B064 :1030380030BD00BFD34D62102DE9F04F85B0FFF7CA
:1030480030BD00BFD34D62102DE9F04F85B0FFF7BA :10304800FFF8AB4CA36943F00103A361A36903F044
:10305800F7F8B34CA36943F00103A361A36903F034 :1030580001030393039B0320FEF7C8FE00221146D9
:1030680001030393039B0320FEF7C0FE00221146D1 :103068006FF00B00FEF7D4FE002211466FF00A0045
:103078006FF00B00FEF7CCFE002211466FF00A003D :10307800FEF7CEFE002211466FF00900FEF7C8FEEB
:10308800FEF7C6FE002211466FF00900FEF7C0FEEB :10308800002211466FF00400FEF7C2FE002211462E
:10309800002211466FF00400FEF7BAFE0022114626 :103098006FF00300FEF7BCFE002211466FF001003E
:1030A8006FF00300FEF7B4FE002211466FF0010036 :1030A800FEF7B6FE002211464FF0FF30FEF7B0FEE5
:1030B800FEF7AEFE002211464FF0FF30FEF7A8FEE5 :1030B800FFF788FF636923F001036361FFF77AFC78
:1030C800FFF788FF636923F001036361FFF772FC70 :1030C800FFF77AFDFFF770FEFFF704FFFFF726FC16
:1030D800FFF772FDFFF768FEFFF7FCFEFFF71EFC27 :1030D800012220218748FFF706F88748FFF7C0F943
:1030E800012220218F48FEF7FEFF8F48FFF7B8F92D :1030E8008648FFF7BDF9082405E0854B1C7064206D
:1030F8008E48FFF7B5F9082405E08D4B1C70642055 :1030F800FFF7C6F8013C002CF7DA4FF0000A804BC6
:10310800FFF7BEF8013C002CF7DA4FF0000A884BB5 :1031080083F800A0012204217E48FEF7ECFF7E4BE5
:1031180083F800A0012204218648FEF7E4FF864BCD :10311800188AFDF711FE01907C4B01221A70D346E4
:10312800188AFDF709FE0190844B01221A70D346D4 :1031280044E17B490A6801320A604BE14FF47A783E
:103138004FE14FF47A7861E14FF47A7473E14FF418 :1031380032463B4620462946FDF780F804460D46B0
:103148007A7642464B4620462946FDF777F80446EC :103148000022744BFDF7C0FC88B963A3D3E90023C0
:103158000D4600227A4BFDF7B7FC80B96AA3D3E984 :1031580020462946FDF79AFC00285DD120462946DD
:10316800002320462946FDF791FC00285DD1204622 :10316800FDF7BCFC044604E0DFF8DC81E0E74FF43F
:103178002946FDF7B3FC074603E0724EE1E74FF43A :103178007A740AF13203A34215DDAAF1320AA24594
:103188007A77714B1A68714BA3FB0213DB0803EBC8 :1031880011DA0BF1320343450DDDABF1320BC345C8
:10319800830303EB83039A4249D00AF13203BB420B :1031980009DA614B1B68042B05D8604BC3F8008023
:1031A80014DDAAF1320ABA4510DA0BF13203B34240 :1031A80063425F4A13605F4B1A685F4BA3FB0213CD
:1031B8000CDDABF1320BB34508DA654B1B68042B09 :1031B800DB0803EB830303EB83039A422ED002213F
:1031C80004D8644B1E607B42634A13600221554851 :1031C8004C48FEF789FF30B1584B1B681BB9584B68
:1031D800FEF782FF38B1614B1B6823B9604B1B684F :1031D8001B68002B73D0574B1D6857492846FDF7CD
:1031E800002B00F082805F4B1C685F492046FDF78A :1031E800A1FF20B1554B1B681333262B72D95449C4
:1031F80099FF28B15D4B1B681333262B40F2818061 :1031F8002846FDF797FF002800F0B0804E49284682
:103208005B492046FDF78EFF002800F0BD80564937 :10320800FDF7AEFF002800F0A9803D4B05221A709B
:103218002046FDF7A5FF002800F0B680444B0522A4 :103218004C4B06221A70ADE04B4CAAE70198FDF71B
:103228001A70544B06221A70BAE0464FA9E7019863 :103228006BF92FA3D3E90023FDF7BEF906460F4635
:10323800FDF762F936A3D3E90023FDF7B5F9044693 :10323800354D288AFDF780FDFDF75EF92AA3D3E90D
:103248000D46DFF8F480B8F81000FDF775FDFDF7BE :103248000023FDF7B1F902460B4630463946FCF734
:1032580053F931A3D3E90023FDF7A6F902460B463B :10325800F5FFFDF76BFC074601903C49FDF7BAFC0A
:1032680020462946FCF7EAFFFDF760FC0546019079 :103268003B49FDF7C1FD3B49FDF7B6FC0646414623
:103278004149FDF7AFFC4149FDF7B6FD4049FDF76F :10327800022000F001FD2146032000F0FDFCA98991
:10328800ABFC0446B8F80E10002000F029FDB8F891 :10328800042000F0F9FC34492A4B1868FDF7ACFD1E
:103298001210012000F024FD3146022000F020FD2C :10329800FDF770FF0146052000F0EEFC3846FDF70B
:1032A8003946032000F01CFDB8F80C10042000F08B :1032A80069FF0146062000F0E7FC3046FDF762FFA3
:1032B80017FD34492B4B1868FDF796FDFDF75AFFAB :1032B8000146072000F0E0FC00F0E4FC7FE7134B38
:1032C8000146052000F00CFD2846FDF753FF014696 :1032C80000221A7002210B48FEF706FF0028F9D1E8
:1032D800062000F005FD2046FDF74CFF01460720BB :1032D800FFF75AFEFFF758FE0000000000408FC0BD
:1032E80000F0FEFC00F002FD57E7144B00221A70B4 :1032E800AE47E17A14AEEF3F7B14AE47E17A843FF4
:1032F80002210C48FEF7F0FE0028F9D1FFF744FE42 :1032F8000010024000080140780200202C01002044
:1033080071E7FFF741FE4BE00000000000408FC06E :10330800A8000020000C0140EC020020B8000020BA
:10331800AE47E17A14AEEF3F7B14AE47E17A843FC3 :103318009003002000408F4004000020CC000020D3
:10332800001002400008014074020020280100201B :10332800C8000020800300201F85EB51D400002036
:10333800A4000020000C0140E8020020B400002096 :10333800D00000200C0000208FC221429C030020F6
:1033480000408F4018FCFFFF7C0300201F85EB51D5 :1033480000002842AC00002018FCFFFF00E0CE443B
:1033580004000020C8000020C4000020D000002085 :10335800083748BE33330F420000C842664B1B682B
:10336800CC00002008000020CCCC064294030020AA :1033680013F1320F80F2AD80644B05221A70644B62
:1033780000000C42A800002000E0CE44083748BEF8 :1033780001221A7084EAE473A3EBE473322B06DCAF
:1033880033330F420000C842734B1B6813F1320FEE :1033880088EAE873A3EBE873322B40F3A0805D4B27
:1033980080F2CA80714B05221A70714B01221A7093 :1033980000221A605B4B1A685B4B9A4200F29C80D1
:1033A80087EAE773A3EBE773322B06DC86EAE6735A :1033A8005A4A136801331360A246C3460520FEF744
:1033B800A3EBE673322B40F3BD806A4B00221A6000 :1033B80067FF574B1B68012B3FF4B3AE55490A68AA
:1033C800684B1A68684B9A4201D9FFF7DDFDB3468E :1033C800013A0A60534A176887EAE772A2EBE77284
:1033D800BA460220FEF754FF644BDB899BB2B3F573 :1033D800B2F5967F02DD5B424D4A13604E4B0022E8
:1033E800805FBFF4A6AE614BDA89D889FDF7A8FCE7 :1033E8001A60DFF84481D8F80000FDF773F83CA3B1
:1033F8005F49FDF7ADFDFDF7BDFE80465D4BC3F8A7 :1033F800D3E90023FDF7D8F804460D46474B186873
:1034080000805A4B5B8A9BB2B3F5805FBFF494AEE1 :10340800FDF768F838A3D3E90023FDF7CDF80246A5
:10341800564B5A8A588AFDF793FC5549FDF798FD93 :103418000B4620462946FCF711FFFDF75FFB0646E1
:10342800FDF7A8FE0446544B1C60504AD3899BB252 :10342800C8F80000DFF8D080D8F80000FDF752F89F
:10343800B3F5FA6F94BF0023012350490B70538AE8 :103438002BA3D3E90023FDF7B7F804460D46384619
:103448009BB2B3F5FA6F94BF002301234C4A137063 :10344800FDF748F828A3D3E90023FDF7ADF80246B5
:103458004C4B00221A604C4D2868FDF73BF838A306 :103458000B4620462946FCF7F1FEFDF73FFBC8F86E
:10346800D3E90023FDF7A0F806460F464046FDF7CE :103468000000FDF737F800222D4BFDF79DF80446C4
:1034780031F835A3D3E90023FDF796F802460B4649 :103478000D463046FDF72EF80022294BFDF794F84B
:1034880030463946FCF7DAFEFDF728FB0646286089 :1034880006460F4602460B4620462946FCF7D4FE60
:10349800314D2868FDF71EF829A3D3E90023FDF76D :10349800804689460022234BFDF716FB00287FF45F
:1034A80083F8804689462046FDF714F826A3D3E919 :1034A80045AE13A3D3E9002340464946FDF7EEFA9B
:1034B8000023FDF779F802460B4640464946FCF7DB :1034B80000287FF459AE40464946FDF70FFB804689
:1034C800BDFEFDF70BFB2860FDF704F800222F4B2B :1034C80036E600230D4A13700D4A137052E70D4A71
:1034D800FDF76AF804460D463046FCF7FBFF00226C :1034D8001368013313605DE7FFF756FDAFF3008013
:1034E8002A4BFDF761F88046894602460B4620467E :1034E800666666666666EE3F9A9999999999A93FC4
:1034F8002946FCF7A1FE06460F460022244BFDF79D :1034F8000000000000408FC09C030020A8000020AE
:10350800E3FA00287FF41BAE11A3D3E90023304669 :10350800AC000020840300208038010080030020E4
:103518003946FDF7BBFA00287FF42FAE304639460E :10351800080000209003002004000020A4030020DD
:10352800FDF7DCFA06460CE600230C4A13700C4A39 :103528000000E03F00408F409403002000000000AE
:10353800137035E70B4A13680133136040E700BF87 :10353800774B02225A60774B1B68B3F57A7F5EDBC4
:10354800CDCCCCCCCCCCEC3F9A9999999999B93FF0 :103548002DE9F041744B1A68744BA3FB02139B09D5
:103558000000000000408FC094030020A400002059 :103558004FF47A7101FB13230BBB714C2068FCF705
:10356800A80000207C03002000710200E80200206F :10356800CBFF65A3D3E90023FDF71EF806460F46F7
:103578003D0A83409C030020880300209803002014 :103578006C4B9889FDF7E0FB6B49FDF735FCFCF7D0
:1035880084030020040000208C0300200000E03F9A :10358800BBFF5FA3D3E90023FDF70EF802460B4605
:1035980000408F4000000000774B02225A60774BB2 :1035980030463946FCF752FEFDF7C8FA2060614B09
:1035A8001B68B3F57A7F5EDB2DE9F041744B1A682E :1035A8005889624B1C68001BFCF794FF56A3D3E9AB
:1035B800744BA3FB02139B094FF47A7101FB13238D :1035B8000023FCF7F9FF00220023FDF767FA002833
:1035C8000BBB714C2068FCF797FF65A3D3E9002378 :1035C80052D1584B5889001BFCF784FF4EA3D3E90E
:1035D800FCF7EAFF06460F466C4B9889FDF7ACFBF3 :1035D8000023FCF7E9FF0022554BFDF775FA002898
:1035E8006B49FDF701FCFCF787FF5FA3D3E90023D4 :1035E80052D1544B1B68052B4ED8534B1B78002BDC
:1035F800FCF7DAFF02460B4630463946FCF71EFE5A :1035F8004AD0524A536C43F40043536449E00133C0
:10360800FDF794FA2060614B5889624B1C68001BD7 :10360800444A1360474A90884D490B68034403EBCA
:10361800FCF760FF56A3D3E90023FCF7C5FF00229F :10361800D3735B100B60D0884A490B68034403EBF3
:103628000023FDF733FA002852D1584B5889001B64 :10362800D3735B100B60108847490B68034403EBA6
:10363800FCF750FF4EA3D3E90023FCF7B5FF0022A7 :10363800D3735B100B60508844490B68034403EB59
:10364800554BFDF741FA002852D1544B1B68052B06 :10364800D3735B100B60508938490B68034403EB54
:103658004ED8534B1B78002B4AD0524A536C43F434 :10365800D3735B100B6011893D4A13680B4403EB6D
:103668000043536449E00133444A1360474A908851 :10366800D3735B10136070472E4B5889001BFCF70F
:103678004D490B68034403EBD3735B100B60D08890 :1036780031FF25A3D3E90023FCF796FF0022354B41
:103688004A490B68034403EBD3735B100B60108843 :10368800FDF704FA0028ACD02C4A536C23F400430D
:1036980047490B68034403EBD3735B100B605088F6 :103698005364244B18892E4B1C68001BFCF71AFF37
:1036A80044490B68034403EBD3735B100B605089E8 :1036A80019A3D3E90023FCF77FFF00220023FDF7CD
:1036B80038490B68034403EBD3735B100B60118923 :1036B800EDF9002852D11B4B1889001BFCF70AFFB3
:1036C8003D4A13680B4403EBD3735B1013607047D8 :1036C80011A3D3E90023FCF76FFF0022184BFDF785
:1036D8002E4B5889001BFCF7FDFE25A3D3E90023D8 :1036D800FBF9002852D1174B1B68052B4ED8164B07
:1036E800FCF762FF0022354BFDF7D0F90028ACD07B :1036E8001B78002B4AD01C4A536C43F400435364A4
:1036F8002C4A536C23F400435364244B18892E4BF3 :1036F80049E000BFAFF30080AE47E17A14AEEF3F78
:103708001C68001BFCF7E6FE19A3D3E90023FCF7AD :103708007B14AE47E17A843F7B14AE47E17A943F5D
:103718004BFF00220023FDF7B9F9002852D11B4BBB :1037180000000240BC000020B0000020D34D621021
:103728001889001BFCF7D6FE11A3D3E90023FCF788 :103728000C000020EC02002017B9CE3C100000204D
:103738003BFF0022184BFDF7C7F9002852D1174B61 :1037380000002E4004000020B800002000340140A2
:103748001B68052B4ED8164B1B78002B4AD01C4AF9 :10374800180000201C000020200000202400002079
:10375800536C43F40043536449E000BFAFF3008067 :103758001400002000002EC0002C0140904B188956
:10376800AE47E17A14AEEF3F7B14AE47E17A843F6F :10376800001BFCF7B7FE8CA3D3E90023FCF71CFF72
:103778007B14AE47E17A943F00000240B800002075 :1037780000228C4BFDF78AF90028ACD08A4A536C9A
:10378800AC000020D34D621008000020E8020020A1 :1037880023F40043536489498B6813F0200F0CBF5E
:1037980017B9CE3C0C00002000002E400400002089 :10379800012300238A6812F0400F0CBF0122002287
:1037A800B40000200034014014000020180000205C :1037A800896811F0800F0CBF0125002580498868C1
:1037B8001C000020200000201000002000002EC067 :1037B80010F4806F0CBF012000208C6814F4006F97
:1037C800002C0140904B1889001BFCF783FE8CA34A :1037C8000CBF01240024896811F4805F02EB4502D4
:1037D800D3E90023FCF7E8FE00228C4BFDF756F9ED :1037D80003EB4203774EF35C77490B600B6803F108
:1037E8000028ACD08A4A536C23F4004353648949B7 :1037E80002030B600D68754B83FB0572A2EBE57253
:1037F8008B6813F0200F0CBF012300238A6812F096 :1037F80002EB42024FEA4207A5EB07020A600CBF40
:10380800400F0CBF01220022896811F0800F0CBF05 :1038080002220022224400EB4202B05C6C4A1060A3
:10381800012500258049886810F4806F0CBF0120BD :10381800106802301060106883FB0043A3EBE0736C
:1038280000208C6814F4006F0CBF01240024896800 :1038280003EB43035C00031B136009685C4883884F
:1038380011F4805F02EB450203EB4203774EF35C21 :10383800644A12689A1AC388634800681B1A0529E3
:1038480077490B600B6803F102030B600D68754B39 :1038480034D8DFE801F0032326292C2FD31A5F4A46
:1038580083FB0572A2EBE57202EB42024FEA4207D4 :1038580013605F4A1368013313605E4A14684CB3FF
:10386800A5EB07020A600CBF02220022224400EBEB :103868005D4AA2FB0312120B5C4909680131B2FBE5
:103878004202B05C6C4A1060106802301060106838 :10387800F1F001FB1022EAB9B3FBF4F204FB1233B6
:1038880083FB0043A3EBE07303EB43035C00031BE0 :10388800EBB910215648FEF734FC18E04F4B1A608C
:10389800136009685C488388644A12689A1AC38866 :10389800DFE74E4B1A60DCE74C4A1360D9E74B4A26
:1038A800634800681B1A052934D8DFE801F00323B0 :1038A8001360D6E79B1A494A1360D2E7474B0022B8
:1038B80026292C2FD31A5F4A13605F4A13680133F5 :1038B8001A60CEE7002210214948FEF714FC494B54
:1038C80013605E4A14684CB35D4AA2FB0312120BE4 :1038C800D3F800C03C4B1B68052B2BD8DFE803F06E
:1038D8005C4909680131B2FBF1F001FB1022EAB939 :1038D8000312171C2226CCF1000064469C46424B7A
:1038E800B3FBF4F204FB1233EBB910215648FEF790 :1038E8001968374B1B68052B52D8DFE803F01F3FD8
:1038F80000FC18E04F4B1A60DFE74E4B1A60DCE71C :1038F80043474B4E6446CCF1000C0020EFE760468E
:103908004C4A1360D9E74B4A1360D6E79B1A494AD9 :10390800CCF1000C0024EAE7CCF1000460464FF04B
:103918001360D2E7474B00221A60CEE7002210213D :10391800000CE4E7CCF100040020E0E7CCF1000063
:103928004948FEF7E0FB494BD3F800C03C4B1B6805 :103928000024DCE7002004468446D8E74E420F46D0
:10393800052B2BD8DFE803F00312171C2226CCF145 :1039380019462C4B1B68002B40F398802B4B1D68B5
:10394800000064469C46424B1968374B1B68052BA0 :103948001D4B1B6805331D4A82FB03E2A2EBE372A1
:1039580052D8DFE803F01F3F43474B4E6446CCF193 :1039580002EB42024FEA420EA3EB0E02052A00F2E6
:10396800000C0020EFE76046CCF1000C0024EAE7E9 :10396800B980DFE802F0456A6F74797E0F464942F4
:10397800CCF1000460464FF0000CE4E7CCF1000401 :103978000026DEE70E4649420027DAE74F420E46A8
:103988000020E0E7CCF100000024DCE7002004463A :103988000021D6E74F420026D3E74E420027D0E772
:103998008446D8E74E420F4619462C4B1B68002B2D :10399800002637463146CCE77B14AE47E17A943FA0
:1039A80040F398802B4B1D681D4B1B6805331D4A3F :1039A800EC02002000002EC0002C0140000C014059
:1039B80082FB03E2A2EBE37202EB42024FEA420E01 :1039B800001001404C460008C0000020ABAAAA2A0B
:1039C800A3EB0E02052A00F2B980DFE802F0456A8F :1039C800C4000020180000201C000020B4000020C3
:1039D8006F74797E0F4649420026DEE70E4649425B :1039D800B0000020A80000205917B7D1AC00002083
:1039E8000027DAE74F420E460021D6E74F4200266D :1039E80000080140C8000020CC000020D0000020C2
:1039F800D3E74E420027D0E7002637463146CCE7CA :1039F800C5F10008AE461546654474444044964BEC
:103A08007B14AE47E17A943FE802002000002EC004 :103A08001B68002B40F3D780944B1B68944A1268BC
:103A1800002C0140000C014000100140B446000891 :103A180002F1050C934A82FB0CE2A2EBEC7202EB7A
:103A2800BC000020ABAAAA2AC00000201400002075 :103A280042024FEA420EACEB0E02052A00F2F98080
:103A380018000020B0000020AC000020A4000020E6 :103A3800DFE802F058A8ADB2B7BCAE466D424FF011
:103A48005917B7D1A800002000080140C400002081 :103A48000008D9E7A8466D424FF0000ED4E7C5F14B
:103A5800C8000020CC000020C5F10008AE4615467D :103A5800000EA8460025CFE7C5F1000E4FF000087C
:103A6800654474444044964B1B68002B40F3D78050 :103A6800CAE7C5F100084FF0000EC5E77E4B1D6898
:103A7800944B1B68944A126802F1050C934A82FB26 :103A7800C5F1000E7D4B1A6801327A4B83FB028335
:103A88000CE2A2EBEC7202EB42024FEA420EACEB04 :103A8800A3EBE27303EB43034FEA4308A2EB0803FB
:103A98000E02052A00F2F980DFE802F058A8ADB25C :103A9800052B1AD8DFE803F00323060A0E14A846FC
:103AA800B7BCAE466D424FF00008D9E7A8466D4254 :103AA8001D46A9E7F0464FF0000EA5E7F046AE46E2
:103AB8004FF0000ED4E7C5F1000EA8460025CFE769 :103AB8000025A1E72B4675469E464FF000089BE778
:103AC800C5F1000E4FF00008CAE7C5F100084FF035 :103AC800A84675464FF0000E96E74FF00008C64628
:103AD800000EC5E77E4B1D68C5F1000E7D4B1A68C8 :103AD800454691E74FF00008C64645468CE74FF04B
:103AE80001327A4B83FB0283A3EBE27303EB4303BC :103AE800000889E7C3F100089E461346194407EB0E
:103AF8004FEA4308A2EB0803052B1AD8DFE803F0C6 :103AF8000E0206EB080305F57A7540F2C676B54264
:103B08000323060A0E14A8461D46A9E7F0464FF0FF :103B080000F397800A2DB8BF0A25594E756304F54E
:103B1800000EA5E7F046AE460025A1E72B46754600 :103B18007A7440F2C675AC4200F38E800A2CB8BFA6
:103B28009E464FF000089BE7A84675464FF0000EEA :103B28000A24534DAC6300F57A7040F2C674A04283
:103B380096E74FF00008C646454691E74FF0000863 :103B380000F385800A28B8BF0A204D4CE06301F5E0
:103B4800C64645468CE74FF0000889E7C3F10008F0 :103B48007A7140F2C67081427CDC0A29B8BF0A212A
:103B58009E461346194407EB0E0206EB080305F5CB :103B58004848416302F57A7240F2C6718A4274DCC1
:103B68007A7540F2C676B54200F397800A2DB8BF41 :103B68000A2AB8BF0A2243498A6303F57A7340F2E6
:103B78000A25594E756304F57A7440F2C675AC424D :103B7800C67293426CDC0A2BB8BF0A233D4AD36352
:103B880000F38E800A2CB8BF0A24534DAC6300F5AD :103B8800BDE8F0819E465B424FF00008AEE79846DC
:103B98007A7040F2C674A04200F385800A28B8BF44 :103B98005B424FF0000EA9E7C3F1000E98460023E0
:103BA8000A204D4CE06301F57A7140F2C6708142FB :103BA800A4E7C3F1000E4FF000089FE7C3F1000837
:103BB8007CDC0A29B8BF0A214848416302F57A72B9 :103BB8004FF0000E9AE7294B1B68C3F1000E284A04
:103BC80040F2C6718A4274DC0A2AB8BF0A22434905 :103BC80012680132DFF89CC08CFB028CACEBE27C03
:103BD8008A6303F57A7340F2C67293426CDC0A2B4F :103BD8000CEB4C0C4FEA4C08A2EB080CBCF1050F9F
:103BE800B8BF0A233D4AD363BDE8F0819E465B42D5 :103BE8001AD8DFE80CF00323060A0E149846634639
:103BF8004FF00008AEE798465B424FF0000EA9E789 :103BF8007CE7F0464FF0000E78E7F0469E4600233B
:103C0800C3F1000E98460023A4E7C3F1000E4FF05D :103C080074E71A46734696464FF000086EE79846E2
:103C180000089FE7C3F100084FF0000E9AE7294B10 :103C180073464FF0000E69E74FF00008C64643466A
:103C28001B68C3F1000E284A12680132DFF89CC0F5 :103C280064E74FF00008C64643465FE74FF00008D8
:103C38008CFB028CACEBE27C0CEB4C0C4FEA4C0896 :103C38005CE740F2C67568E740F2C67471E740F287
:103C4800A2EB080CBCF1050F1AD8DFE80CF003232F :103C4800C6707AE740F2C67182E740F2C6728AE728
:103C5800060A0E14984663467CE7F0464FF0000EBD :103C580040F2C67392E700BFCC000020D4000020D9
:103C680078E7F0469E46002374E71A467346964660 :103C6800C4000020ABAAAA2AD0000020C00000206F
:103C78004FF000086EE7984673464FF0000E69E76C :103C780000340140002C0140014B23F8101070471C
:103C88004FF00008C646434664E74FF00008C646B2 :103C88000C040020F0B587B01A4F64220021384692
:103C980043465FE74FF000085CE740F2C67568E707 :103C980000F090F818490A88B1F802C0888800B284
:103CA80040F2C67471E740F2C6707AE740F2C67116 :103CA800CC8824B20D892DB24E8936B28B891BB2CD
:103CB80082E740F2C6728AE740F2C67392E700BF15 :103CB800C98909B20591049303960295019400906D
:103CC800C8000020D0000020C0000020ABAAAA2A0B :103CC8000FFA8CF312B20D49384600F07BF80C4B12
:103CD800CC000020BC00002000340140002C014032 :103CD8005B686BB90A4C236823F0010323603846FC
:103CE800014B23F81010704704040020F0B587B08A :103CE800FCF79EFA6060E760236843F001032360F5
:103CF8001A4F64220021384600F090F818490A88C3 :103CF80007B0F0BDA80300200C04002054460008BB
:103D0800B1F802C0888800B2CC8824B20D892DB2DF :103D08001C0002407047FEE7FEE7FEE7FEE770474B
:103D18004E8936B28B891BB2C98909B205910493C1 :103D18007047704708B5FEF7A5FAFEF7E0F808BD4A
:103D280003960295019400900FFA8CF312B20D4994 :103D2800002103E00B4B5B58435004310A480B4B0E
:103D3800384600F07BF80C4B5B686BB90A4C23687B :103D380042189A42F6D30A4A02E0002342F8043BAA
:103D480023F0010323603846FCF76AFA6060E760F5 :103D4800084B9A42F9D3FEF7C3FD00F00FF8FFF7CE
:103D5800236843F00103236007B0F0BDA0030020EF :103D580073F97047BC460008000000208C00002062
:103D680004040020BC4600081C0002407047FEE71F :103D68008C00002020040020FEE7000070B500252C
:103D7800FEE7FEE7FEE770477047704708B5FEF7B5 :103D78000C4E0D4CA41BA410A54209D100F040FC28
:103D880071FAFEF7ACF808BD002103E00B4B5B5855 :103D880000250A4E0A4CA41BA410A54205D170BDFB
:103D9800435004310A480B4B42189A42F6D30A4A58 :103D980056F8253098470135EEE756F8253098470C
:103DA80002E0002342F8043B084B9A42F9D3FEF79D :103DA8000135F2E7B4460008B4460008B4460008F6
:103DB8008FFD00F00FF8FFF747F970472447000818 :103DB800B846000803460244934200D1704703F80E
:103DC800000000208800002088000020180400203F :103DC800011BF9E70EB46FF0004100B59CB01DABC4
:103DD800FEE7000070B500250C4E0D4CA41BA41086 :103DD80002900690079104910848094953F8042B6A
:103DE800A54209D100F040FC00250A4E0A4CA41B4C :103DE8000591006802A9019300F066F80022029B81
:103DF800A410A54205D170BD56F825309847013565 :103DF8001A701CB05DF804EB03B07047280000206F
:103E0800EEE756F8253098470135F2E71C470008D9 :103E08000802FFFF2DE9F0478E6882469E420C4665
:103E18001C4700081C4700082047000803460244C6 :103E18009046994637D88A8912F4906F31D0022398
:103E2800934200D1704703F8011BF9E70EB46FF015 :103E2800256809696F1A656905EB450595FBF3F582
:103E3800004100B59CB01DAB02900690079104911B :103E380009F101033B449D4238BF1D46530530D567
:103E48000848094953F8042B0591006802A9019311 :103E4800294600F035FB064650B90C234FF0FF30E9
:103E580000F066F80022029B1A701CB05DF804EBB3 :103E5800CAF80030A38943F04003A381BDE8F08786
:103E680003B07047240000200802FFFF2DE9F04747 :103E68003A46216900F0B4FAA38923F4906343F039
:103E78008E6882469E420C469046994637D88A8973 :103E78008003A38126613E4426604E466561ED1BA2
:103E880012F4906F31D00223256809696F1A6569A9 :103E8800A5604E4500D94E4632464146206800F0AE
:103E980005EB450595FBF3F509F101033B449D420C :103E9800AAFAA36800209B1BA36023681E4426601F
:103EA80038BF1D46530530D5294600F035FB064678 :103EA800DCE72A4600F05EFB06460028E2D12169DD
:103EB80050B90C234FF0FF30CAF80030A38943F003 :103EB800504600F0B1FAC8E72DE9F04F9DB00393E2
:103EC8004003A381BDE8F0873A46216900F0B4FABF :103EC8008B8980461D060C4616460FD50B696BB9C3
:103ED800A38923F4906343F08003A38126613E44C1 :103ED800402100F0EDFA2060206128B90C23C8F8D1
:103EE80026604E466561ED1BA5604E4500D94E46DD :103EE80000304FF0FF30C7E040236361002309939F
:103EF80032464146206800F0AAFAA36800209B1BBE :103EF80020238DF8293030234FF0010B8DF82A301C
:103F0800A36023681E442660DCE72A4600F05EFBB7 :103F080037463D4615F8013B0BB1252B3ED1B7EBA3
:103F180006460028E2D12169504600F0B1FAC8E708 :103F1800060A0BD05346324621464046FFF772FF49
:103F28002DE9F04F9DB003938B8980461D060C4602 :103F2800013000F0A480099B534409933B78002B8F
:103F380016460FD50B696BB9402100F0EDFA2060E9 :103F380000F09D8000234FF0FF32CDE90523049364
:103F4800206128B90C23C8F800304FF0FF30C7E0D3 :103F480007938DF853301A932F46052217F8011B53
:103F5800402363610023099320238DF829303023FF :103F58004F4800F02FFA049BD0B9D90644BF20225D
:103F68004FF0010B8DF82A3037463D4615F8013BD6 :103F68008DF853201A0744BF2B228DF853202A7846
:103F78000BB1252B3ED1B7EB060A0BD05346324680 :103F78002A2A15D02F4600200A25079A394611F813
:103F880021464046FFF772FF013000F0A480099BEC :103F8800013B303B092B4DD9B8B10FE02F46B8E7BC
:103F9800534409933B78002B00F09D8000234FF099 :103F98003F4A3D46801A0BFA00F018430490D3E7D5
:103FA800FF32CDE90523049307938DF853301A9314 :103FA800039A111D12680391002A01DB079204E0AD
:103FB8002F46052217F8011B4F4800F02FFA049BE3 :103FB800524243F00203079204933B782E2B0CD114
:103FC800D0B9D90644BF20228DF853201A0744BF20 :103FC8007B782A2B33D1039B02371A1D1B68039277
:103FD8002B228DF853202A782A2A15D02F46002024 :103FD800002BB8BF4FF0FF3305932E4D03223978DD
:103FE8000A25079A394611F8013B303B092B4DD970 :103FE800284600F0E7F938B14023401B03FA00F0F7
:103FF800B8B10FE02F46B8E73F4A3D46801A0BFAA2 :103FF800049B0137034304933978062226487E1C24
:1040080000F018430490D3E7039A111D1268039136 :104008008DF8281000F0D6F9002838D0234B13BBC0
:10401800002A01DB079204E0524243F002030792B0 :10401800039B073323F0070308330393099B4B449F
:1040280004933B782E2B0CD17B782A2B33D1039B1E :1040280009936DE705FB023201200F46A6E700233E
:1040380002371A1D1B680392002BB8BF4FF0FF33DD :104038000A25194601370593384610F8012B303AFE
:1040480005932E4D03223978284600F0E7F938B158 :10404800092A03D9002BC8D00591C6E705FB012131
:104058004023401B03FA00F0049B013703430493F9 :1040580001230746F0E703AB00932246104B04A95F
:104068003978062226487E1C8DF8281000F0D6F9EB :104068004046AFF30080B0F1FF3F8146D6D1A38927
:10407800002838D0234B13BB039B073323F00703D7 :104078005B063FF536AF09981DB0BDE8F08F03AB7E
:1040880008330393099B4B4409936DE705FB023200 :1040880000932246064B04A9404600F081F8EAE76F
:1040980001200F46A6E700230A2519460137059394 :1040980080460008864600088A460008000000009E
:1040A800384610F8012B303A092A03D9002BC8D01A :1040A8000D3E00082DE9F04791461F468A680B69C6
:1040B8000591C6E705FB012101230746F0E703AB9D :1040B80006469342B8BF1346C9F8003091F843202A
:1040C80000932246104B04A94046AFF30080B0F19C :1040C8000C46DDF8208012B10133C9F800302368AE
:1040D800FF3F8146D6D1A3895B063FF536AF0998E5 :1040D800990642BFD9F800300233C9F80030256884
:1040E8001DB0BDE8F08F03AB00932246064B04A930 :1040E80015F0060507D104F1190AE368D9F800208C
:1040F800404600F081F8EAE7E8460008EE46000886 :1040F8009B1AAB4229DC94F843302268003318BF7E
:10410800F246000800000000753E00082DE9F0475F :10410800012392062ED404F1430239463046C047B3
:1041180091461F468A680B6906469342B8BF134604 :10411800013021D02368E56803F00603042B18BF9B
:10412800C9F8003091F843200C46DDF8208012B120 :104128000025D9F800204FF0000908BFAD1AA36890
:104138000133C9F800302368990642BFD9F8003026 :10413800226908BF25EAE5759342C4BF9B1AED18AA
:104148000233C9F80030256815F0060507D104F1D7 :104148001A344D451AD1002008E001235246394659
:10415800190AE368D9F800209B1AAB4229DC94F8C5 :104158003046C047013003D14FF0FF30BDE8F0874B
:1041680043302268003318BF012392062ED404F18D :104168000135C2E73020E11881F843005A1C94F861
:10417800430239463046C047013021D02368E568FC :1041780045102244023382F84310C4E70123224643
:1041880003F00603042B18BF0025D9F800204FF0D0 :1041880039463046C0470130E6D009F10109D8E781
:10419800000908BFAD1AA368226908BF25EAE575BA :104198002DE9F04301F1430C0C46097E85B06E29E8
:1041A8009342C4BF9B1AED181A344D451AD100200A :1041A8001746064698460C9A00F0B38022D8632931
:1041B80008E00123524639463046C047013003D152 :1041B80036D00AD8002900F0B980582900F0838049
:1041C8004FF0FF30BDE8F0870135C2E73020E11835 :1041C80004F1420584F8421032E0642901D06929DB
:1041D80081F843005A1C94F845102244023382F8AF :1041D800F6D120681368050603F104012AD51B6887
:1041E8004310C4E70123224639463046C047013010 :1041E8001160002B03DA2D225B4284F843206F48CC
:1041F800E6D009F10109D8E72DE9F04301F1430CB4 :1041F8000A2239E0732900F09D8008D86F2920D061
:104208000C46097E85B06E291746064698460C9AD4 :104208007029DDD1236843F02003236003E075297A
:1042180000F0B38022D8632936D00AD8002900F0EC :1042180017D07829D4D17823654884F8453055E0FB
:10422800B980582900F0838004F1420584F84210CF :10422800136804F14205191D1B68116084F84230B7
:1042380032E0642901D06929F6D12068136805069F :1042380001238CE01B6810F0400F116018BF1BB2FF
:1042480003F104012AD51B681160002B03DA2D2223 :10424800CFE713682568181D1060280601D51B687C
:104258005B4284F843206F480A2239E0732900F052 :1042580002E06806FBD51B886F2914BF0A220822D2
:104268009D8008D86F2920D07029DDD1236843F0BC :104268005248002184F843106568002DA560C0F20B
:104278002003236003E0752917D07829D4D1782347 :104278009580216821F004012160002B3DD1002D9B
:10428800654884F8453055E0136804F14205191D66 :1042880040F08E806546082A0BD12368DB0708D5E5
:104298001B68116084F8423001238CE01B6810F021 :10429800236962689A42DEBF302305F8013C05F1C4
:1042A800400F116018BF1BB2CFE713682568181DAF :1042A800FF35ACEB05032361CDF800803B4603AA3C
:1042B8001060280601D51B6802E06806FBD51B883C :1042B80021463046FFF7F6FE01304DD14FF0FF3072
:1042C8006F2914BF0A2208225248002184F843109B :1042C80005B0BDE8F083394884F8451013682168C3
:1042D8006568002DA560C0F29580216821F0040171 :1042D8001D1D1B6815600A060BD5CA0744BF41F0AF
:1042E8002160002B3DD1002D40F08E806546082AC4 :1042E800200121601BB9226822F0200222601022DE
:1042F8000BD12368DB0708D5236962689A42DEBFC1 :1042F800B7E74D0648BF9BB2EFE76546B3FBF2F15F
:10430800302305F8013C05F1FF35ACEB05032361CB :1043080002FB1133C35C05F8013D0B460029F5D1CA
:10431800CDF800803B4603AA21463046FFF7F6FE5B :10431800B9E713682568181D6169106028061B68CD
:1043280001304DD14FF0FF3005B0BDE8F08339487A :1043280001D5196002E06A06FBD5198000236546AD
:1043380084F84510136821681D1D1B6815600A065E :104338002361B9E71368191D11601D6862680021BF
:104348000BD5CA0744BF41F0200121601BB9226880 :10434800284600F037F808B1401B606063682361B5
:1043580022F0200222601022B7E74D0648BF9BB228 :10435800002384F84330A7E723692A4639463046C4
:10436800EFE76546B3FBF2F102FB1133C35C05F8D6 :10436800C0470130AAD023689B0713D4E068039B99
:10437800013D0B460029F5D1B9E713682568181DDA :104378009842B8BF1846A3E701234A463946304653
:104388006169106028061B6801D5196002E06A0699 :10438800C04701309AD00135E368039A9B1AAB42C3
:10439800FBD51980002365462361B9E71368191D09 :10439800F2DCEBE7002504F11909F5E7002BACD1B5
:1043A80011601D6862680021284600F037F808B1DE :1043A800037804F1420584F842306CE7914600082E
:1043B800401B606063682361002384F84330A7E7EB :1043B800A246000810B5C9B202449042034601D192
:1043C80023692A4639463046C0470130AAD02368B7 :1043C800002303E01C7801308C42F6D1184610BD5A
:1043D8009B0713D4E068039B9842B8BF1846A3E72D :1043D80010B5431E0A44914200D110BD11F8014B9B
:1043E80001234A4639463046C04701309AD0013544 :1043E80003F8014FF7E7884210B501EB020307D83D
:1043F800E368039A9B1AAB42F2DCEBE7002504F171 :1043F800421E99420AD011F8014B02F8014FF8E722
:104408001909F5E7002BACD1037804F1420584F8CB :104408008342F5D98118D21AD34200D110BD13F8CE
:1044180042306CE7F94600080A47000810B5C9B2EF :10441800014D01F8014DF7E738B50546002943D0AD
:1044280002449042034601D1002303E01C78013086 :1044280051F8043C0C1F002BB8BFE41800F0D0F87A
:104438008C42F6D1184610BD10B5431E0A4491426D :104438001E4A1368104633B9636014602846BDE805
:1044480000D110BD11F8014B03F8014FF7E788427E :10444800384000F0C6B8A3420BD9216862189342DD
:1044580010B501EB020307D8421E99420AD011F8A1 :1044580001BF1A685B685218226063600460EDE768
:10446800014B02F8014FF8E78342F5D98118D21AB7 :1044680013465A680AB1A242FAD919685818A042E4
:10447800D34200D110BD13F8014D01F8014DF7E703 :104478000BD120680144581882421960DED11068B7
:1044880038B50546002943D051F8043C0C1F002BD1 :104488005268014419605A60D8E702D90C232B609E
:10449800B8BFE41800F0D0F81E4A1368104633B9C4 :10449800D4E7206821188A4201BF116852680918B8
:1044A800636014602846BDE8384000F0C6B8A342EF :1044A800216062605C60C9E738BD00BFD8000020A9
:1044B8000BD921686218934201BF1A685B685218C9 :1044B80070B5CD1C25F0030508350C2D38BF0C252B
:1044C800226063600460EDE713465A680AB1A242AD :1044C800002D064601DBA94203D90C2333600020E6
:1044D800FAD919685818A0420BD120680144581815 :1044D80070BD00F07DF8214A1468214691B9204C3E
:1044E80082421960DED110685268014419605A602E :1044E80023681BB9304600F063F82060294630463F
:1044F800D8E702D90C232B60D4E7206821188A4218 :1044F80000F05EF8431C24D10C233046336000F0F2
:1045080001BF116852680918216062605C60C9E7E0 :1045080068F8E4E70B685B1B18D40B2B0FD90B601A
:1045180038BD00BFD400002070B5CD1C25F00305C0 :10451800CC18CD50304600F05CF804F10B00231D98
:1045280008350C2D38BF0C25002D064601DBA942A5 :1045280020F00700C31AD3D05A42E250D0E74B68B4
:1045380003D90C233360002070BD00F07DF8214AB8 :104538008C4216BF636013600C46EBE70C46496873
:104548001468214691B9204C23681BB9304600F005 :10454800CCE7C41C24F00304A04205D0211A30464D
:1045580063F820602946304600F05EF8431C24D1F9 :1045580000F02EF80130CFD02560DBE7D80000202E
:104568000C233046336000F068F8E4E70B685B1B07 :10456800DC000020F8B5074614460E4621B9BDE820
:1045780018D40B2B0FD90B60CC18CD50304600F057 :10457800F8401146FFF79CBF22B9FFF74DFF2546CB
:104588005CF804F10B00231D20F00700C31AD3D0F8 :104588002846F8BD00F026F8A0420FD2214638464A
:104598005A42E250D0E74B688C4216BF6360136002 :10459800FFF78EFF05460028F2D031462246FFF786
:1045A8000C46EBE70C464968CCE7C41C24F003042E :1045A80017FF31463846FFF737FFE9E73546E7E7B3
:1045B800A04205D0211A304600F02EF80130CFD0A5 :1045B80038B50023054C05460846236000F012F87C
:1045C8002560DBE7D4000020D8000020F8B50746B6 :1045C800431C02D1236803B12B6038BD1C040020B2
:1045D80014460E4621B9BDE8F8401146FFF79CBFC6 :1045D8007047704751F8043C181F002BBCBF0B589C
:1045E80022B9FFF74DFF25462846F8BD00F026F80A :1045E800C0187047044A05491368002B08BF0B46DA
:1045F800A0420FD221463846FFF78EFF0546002815 :1045F8001844106018467047E0000020200400208E
:10460800F2D031462246FFF717FF31463846FFF70A :10460800F8B500BFF8BC08BC9E467047F8B500BFB7
:1046180037FFE9E73546E7E738B50023054C054697 :08461800F8BC08BC9E46704787
:104628000846236000F012F8431C02D1236803B146 :1046200002030405060708090A0B0C0D0E0F1010F3
:104638002B6038BD140400207047704751F8043CC3 :10463000010200000000000000000000010203046D
:10464800181F002BBCBF0B58C0187047044A0549F7 :10464000060708090000000001020304000002013F
:104658001368002B08BF0B461844106018467047B3 :1046500004050300313A256920323A256920333AAE
:10466800DC00002018040020F8B500BFF8BC08BC26 :10466000256920343A256920353A256920363A25CE
:104678009E467047F8B500BFF8BC08BC9E46704718 :104670006920373A256920383A25690D0A0000007B
:1046880002030405060708090A0B0C0D0E0F10108B :10468000232D302B2000686C4C006566674546473B
:104698000102000000000000000000000102030405 :1046900000303132333435363738394142434445BE
:1046A80006070809000000000102030400000201D7 :1046A000460030313233343536373839616263642D
:1046B80004050300313A256920323A256920333A46 :0446B000656600003B
:1046C800256920343A256920353A256920363A2566 :0446B4000D020008EB
:1046D8006920373A256920383A25690D0A00000013 :0446B800E90100080C
:1046E800232D302B2000686C4C00656667454647D3 :1046BC0000A24A0464000000010000000000404217
:1046F8000030313233343536373839414243444556 :1046CC00D0070000D0070000D0070000D007000082
:1047080046003031323334353637383961626364C4 :1046DC00D0070000D00700002C00002000000000D4
:0447180065660000D2 :1046EC0000000000000000000000000000000000BE
:04471C000D02000882 :1046FC0000000000000000000000000000000000AE
:04472000E9010008A3 :10470C00000000000000000000000000000000009D
:1047240000A24A046400000000002042D0070000F8 :10471C00000000000000000000000000000000008D
:10473400D0070000D0070000D0070000D007000019 :10472C00000000000000000000000000000000007D
:10474400D007000028000020000000000000000046 :0C473C0000000000000000000000000071
:104754000000000000000000000000000000000055 :0400000508003D2989
:104764000000000000000000000000000000000045
:104774000000000000000000000000000000000035
:104784000000000000000000000000000000000025
:104794000000000000000000000000000000000015
:0847A40000000000000000000D
:0400000508003D9121
:00000001FF :00000001FF