]> defiant.homedns.org Git - ros_wild_thumper.git/commitdiff
avr: added speed & pose calculations
authorErik Andresen <erik@vontaene.de>
Mon, 25 May 2015 12:20:06 +0000 (14:20 +0200)
committerErik Andresen <erik@vontaene.de>
Mon, 25 May 2015 12:20:06 +0000 (14:20 +0200)
avr/motor_ctrl/main.c
avr/motor_ctrl/main.hex

index 9d33c986b4acf0cb221f6fc8d7d1fc8a36cf930a..8fc3fdbf74b51328dc4f3641e242422ff21000b6 100644 (file)
@@ -1,6 +1,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <limits.h>
+#include <math.h>
 #include <avr/io.h>
 #include <avr/interrupt.h>
 #include <avr/sleep.h>
  * 0x25 Motor 3 speed wish LSB
  * 0x26 Motor 4 speed wish MSB
  * 0x27 Motor 4 speed wish LSB
- * free
+ * 0x28 Left speed wish (m/s) MSB
+ * 0x29 Left speed wish (m/s)
+ * 0x2A Left speed wish (m/s)
+ * 0x2B Left speed wish (m/s) LSB
+ * 0x2C Right speed wish (m/s) MSB
+ * 0x2D Right speed wish (m/s)
+ * 0x2E Right speed wish (m/s)
+ * 0x2F Right speed wish (m/s) LSB
  * 0x30 Motor 1 speed MSB
  * 0x31 Motor 1 speed LSB
  * 0x32 Motor 2 speed MSB
  * 0x35 Motor 3 speed LSB
  * 0x36 Motor 4 speed MSB
  * 0x37 Motor 4 speed LSB
+ * 0x38 Speed (m/s) MSB
+ * 0x39 Speed (m/s)
+ * 0x3A Speed (m/s)
+ * 0x3B Speed (m/s) LSB
+ * 0x3C Angle (rad/s) MSB
+ * 0x3D Angle (rad/s)
+ * 0x3E Angle (rad/s)
+ * 0x3F Angle (rad/s) LSB
+ * free
+ * 0x40 Position x (m) MSB
+ * 0x41 Position x (m)
+ * 0x42 Position x (m)
+ * 0x43 Position x (m) LSB
+ * 0x44 Position y (m) MSB
+ * 0x45 Position y (m)
+ * 0x46 Position y (m)
+ * 0x47 Position y (m) LSB
+ * 0x48 Position angle MSB
+ * 0x49 Position angle
+ * 0x4A Position angle
+ * 0x4B Position angle LSB
+ * free
+ * 0x50 speed wish (m/s) MSB
+ * 0x51 speed wish (m/s)
+ * 0x52 speed wish (m/s)
+ * 0x53 speed wish (m/s) LSB
+ * 0x54 angle wish (rad/s) MSB
+ * 0x55 angle wish (rad/s)
+ * 0x56 angle wish (rad/s)
+ * 0x57 angle wish (rad/s) LSB
  * free
  * 0x90 Motor 1 switch
  * 0x91 Motor 2 switch
  * 0x92 Motor 3 switch
  * 0x93 Motor 4 switch
+ * 0x94 TLE Error status
  * free
  * 0xff Bootloader
  */
 #define KP 0.009
 #define KI 0.051429
 #define KD 0.000378
-#define TIMER1_T 0.01
+#define PID_T 0.01
+#define STEP_PER_M 3376.1 // wheel diameter=12cm, encoder=48cpr, gear ratio=1:34
+#define WHEEL_DIST 0.252
 
 enum mode {
        MOTOR_MANUAL,
        MOTOR_PID
 };
 
+typedef union {
+       float f;
+       uint32_t i;
+} ufloat_t;
+
 static volatile uint8_t ireg=0;
 static volatile uint8_t bootloader=0;
-static volatile int16_t motor1=0;
+static volatile int16_t motor1=0; // -255..+255
 static volatile int16_t motor2=0;
 static volatile int16_t motor3=0;
 static volatile int16_t motor4=0;
-static volatile int16_t pos1=0;
+static volatile int16_t pos1=0; // step
 static volatile int16_t pos2=0;
 static volatile int16_t pos3=0;
 static volatile int16_t pos4=0;
@@ -86,20 +132,25 @@ static volatile uint8_t motor1_switch=0;
 static volatile uint8_t motor2_switch=0;
 static volatile uint8_t motor3_switch=0;
 static volatile uint8_t motor4_switch=0;
-static volatile int16_t speed1_wish=0;
+static volatile int16_t speed1_wish=0; // step/s
 static volatile int16_t speed2_wish=0;
 static volatile int16_t speed3_wish=0;
 static volatile int16_t speed4_wish=0;
-static volatile uint8_t run_pid=0;
-static int16_t speed1=0;
-static int16_t speed2=0;
-static int16_t speed3=0;
-static int16_t speed4=0;
+static volatile uint8_t run_update=0;
+static volatile int16_t speed1=0; // step/s
+static volatile int16_t speed2=0;
+static volatile int16_t speed3=0;
+static volatile int16_t speed4=0;
+static volatile ufloat_t pos_x={0.0};
+static volatile ufloat_t pos_y={0.0};
+static volatile ufloat_t angle={0.0};
 
 ISR(TWI_vect)
 {
        static uint8_t tmp=0;
        static int16_t tmp16=0;
+       static ufloat_t tmp_speed;
+       static ufloat_t tmp_angle;
 
        switch (TWSR & 0xF8)
        {  
@@ -186,6 +237,90 @@ ISR(TWI_vect)
                                        motor4_mode = MOTOR_PID;
                                        TWI_ACK;
                                        break;
+                               case 0x28: // Left speed wish MSB
+                                       tmp_speed.i = TWDR;
+                                       TWI_ACK;
+                                       break;
+                               case 0x29: // Left speed wish
+                                       tmp_speed.i = tmp_speed.i << 8 | TWDR;
+                                       TWI_ACK;
+                                       break;
+                               case 0x2A: // Left speed wish
+                                       tmp_speed.i = tmp_speed.i << 8 | TWDR;
+                                       TWI_ACK;
+                                       break;
+                               case 0x2B: // Left speed wish LSB
+                                       tmp_speed.i = tmp_speed.i << 8 | TWDR;
+                                       speed1_wish = tmp_speed.f*STEP_PER_M;
+                                       speed2_wish = tmp_speed.f*STEP_PER_M;
+                                       motor1_mode = MOTOR_PID;
+                                       motor2_mode = MOTOR_PID;
+                                       TWI_ACK;
+                                       break;
+                               case 0x2C: // Right speed wish MSB
+                                       tmp_speed.i = TWDR;
+                                       TWI_ACK;
+                                       break;
+                               case 0x2D: // Right speed wish
+                                       tmp_speed.i = tmp_speed.i << 8 | TWDR;
+                                       TWI_ACK;
+                                       break;
+                               case 0x2E: // Right speed wish
+                                       tmp_speed.i = tmp_speed.i << 8 | TWDR;
+                                       TWI_ACK;
+                                       break;
+                               case 0x2F: // Right speed wish LSB
+                                       tmp_speed.i = tmp_speed.i << 8 | TWDR;
+                                       speed1_wish = tmp_speed.f*STEP_PER_M;
+                                       speed2_wish = tmp_speed.f*STEP_PER_M;
+                                       motor1_mode = MOTOR_PID;
+                                       motor2_mode = MOTOR_PID;
+                                       TWI_ACK;
+                                       break;
+                               case 0x50: // speed wish MSB
+                                       tmp_speed.i = TWDR;
+                                       TWI_ACK;
+                                       break;
+                               case 0x51: // speed wish
+                                       tmp_speed.i = tmp_speed.i << 8 | TWDR;
+                                       TWI_ACK;
+                                       break;
+                               case 0x52: // speed wish
+                                       tmp_speed.i = tmp_speed.i << 8 | TWDR;
+                                       TWI_ACK;
+                                       break;
+                               case 0x53: // speed wish LSB
+                                       tmp_speed.i = tmp_speed.i << 8 | TWDR;
+                                       TWI_ACK;
+                                       break;
+                               case 0x54: // angle wish MSB
+                                       tmp_angle.i = TWDR;
+                                       TWI_ACK;
+                                       break;
+                               case 0x55: // angle wish
+                                       tmp_angle.i = tmp_angle.i << 8 | TWDR;
+                                       TWI_ACK;
+                                       break;
+                               case 0x56: // angle wish
+                                       tmp_angle.i = tmp_angle.i << 8 | TWDR;
+                                       TWI_ACK;
+                                       break;
+                               case 0x57: // angle wish LSB
+                                       tmp_angle.i = tmp_angle.i << 8 | TWDR;
+                                       {
+                                       float speed_wish_right = tmp_angle.f*M_PI*WHEEL_DIST/2 + tmp_speed.f;
+                                       float speed_wish_left = tmp_speed.f*2-speed_wish_right;
+                                       speed1_wish = speed_wish_left*STEP_PER_M;
+                                       speed2_wish = speed_wish_left*STEP_PER_M;
+                                       speed3_wish = speed_wish_right*STEP_PER_M;
+                                       speed4_wish = speed_wish_right*STEP_PER_M;
+                                       }
+                                       motor1_mode = MOTOR_PID;
+                                       motor2_mode = MOTOR_PID;
+                                       motor3_mode = MOTOR_PID;
+                                       motor4_mode = MOTOR_PID;
+                                       TWI_ACK;
+                                       break;
                                case 0x90: // Motor 1 switch
                                        motor1_switch = TWDR;
                                        TWI_ACK;
@@ -328,6 +463,96 @@ ISR(TWI_vect)
                                        TWDR = speed4;
                                        TWI_ACK;
                                        break;
+                               case 0x38: // speed MSB
+                                       {
+                                       int16_t speed_l = (speed3+speed4)/2;
+                                       int16_t speed_r = (speed1+speed2)/2;
+                                       tmp_speed.f = (speed_l + speed_r)/(2.0*STEP_PER_M);
+                                       tmp_angle.f = (speed_r - speed_l)/(M_PI*WHEEL_DIST*STEP_PER_M);
+                                       }
+                                       TWDR = tmp_speed.i>>24;
+                                       TWI_ACK;
+                                       break;
+                               case 0x39: // speed
+                                       TWDR = tmp_speed.i>>16;
+                                       TWI_ACK;
+                                       break;
+                               case 0x3A: // speed
+                                       TWDR = tmp_speed.i>>8;
+                                       TWI_ACK;
+                                       break;
+                               case 0x3B: // speed LSB
+                                       TWDR = tmp_speed.i;
+                                       TWI_ACK;
+                                       break;
+                               case 0x3C: // angle MSB
+                                       TWDR = tmp_angle.i>>24;
+                                       TWI_ACK;
+                                       break;
+                               case 0x3D: // angle
+                                       TWDR = tmp_angle.i>>16;
+                                       TWI_ACK;
+                                       break;
+                               case 0x3E: // angle
+                                       TWDR = tmp_angle.i>>8;
+                                       TWI_ACK;
+                                       break;
+                               case 0x3F: // angle LSB
+                                       TWDR = angle.i;
+                                       TWI_ACK;
+                                       break;
+                               case 0x40: // Position x MSB
+                                       TWDR = pos_x.i>>24;
+                                       TWI_ACK;
+                                       break;
+                               case 0x41: // Position x
+                                       TWDR = pos_x.i>>16;
+                                       TWI_ACK;
+                                       break;
+                               case 0x42: // Position x
+                                       TWDR = pos_x.i>>8;
+                                       TWI_ACK;
+                                       break;
+                               case 0x43: // Position x LSB
+                                       TWDR = pos_x.i;
+                                       TWI_ACK;
+                                       break;
+                               case 0x44: // Position y MSB
+                                       TWDR = pos_y.i>>24;
+                                       TWI_ACK;
+                                       break;
+                               case 0x45: // Position y
+                                       TWDR = pos_y.i>>16;
+                                       TWI_ACK;
+                                       break;
+                               case 0x46: // Position y
+                                       TWDR = pos_y.i>>8;
+                                       TWI_ACK;
+                                       break;
+                               case 0x47: // Position y LSB
+                                       TWDR = pos_y.i;
+                                       TWI_ACK;
+                                       break;
+                               case 0x48: // Position angle MSB
+                                       TWDR = pos_y.i>>24;
+                                       TWI_ACK;
+                                       break;
+                               case 0x49: // Position angle
+                                       TWDR = pos_y.i>>16;
+                                       TWI_ACK;
+                                       break;
+                               case 0x4A: // Position angle
+                                       TWDR = pos_y.i>>8;
+                                       TWI_ACK;
+                                       break;
+                               case 0x4B: // Position angle LSB
+                                       TWDR = pos_y.i;
+                                       TWI_ACK;
+                                       break;
+                               case 0x94: // TLE Error status
+                                       TWDR = (PIND & 0x40)>>2 | (PINB & 0x07);
+                                       TWI_ACK;
+                                       break;
                                default:
                                        TWDR = 0;
                                        TWI_NAK;
@@ -492,11 +717,52 @@ static void update_motor(void) {
 }
 
 
-void update_pid(void) {
+static void update_pos(void) {
        static int16_t pos1_last=0;
        static int16_t pos2_last=0;
        static int16_t pos3_last=0;
        static int16_t pos4_last=0;
+       int16_t pos1_diff; // steps
+       int16_t pos2_diff;
+       int16_t pos3_diff;
+       int16_t pos4_diff;
+       float diff_left_m, diff_right_m, angle_diff, translation;
+
+       //cli();
+       pos1_diff = pos1 - pos1_last;
+       pos2_diff = pos2 - pos2_last;
+       pos3_diff = pos3 - pos3_last;
+       pos4_diff = pos4 - pos4_last;
+       speed1 = pos1_diff/PID_T;
+       speed2 = pos2_diff/PID_T;
+       speed3 = pos3_diff/PID_T;
+       speed4 = pos4_diff/PID_T;
+       //sei();
+
+       diff_left_m = (pos1_diff + pos2_diff)/(2*STEP_PER_M);
+       diff_right_m = (pos3_diff + pos4_diff)/(2*STEP_PER_M);
+       angle_diff = (diff_right_m - diff_left_m) / WHEEL_DIST;
+
+       //cli();
+       angle.f+=angle_diff;
+       if (angle.f > 2*M_PI) angle.f-=2*M_PI;
+       else if (angle.f < 2*M_PI) angle.f+=2*M_PI;
+       //sei();
+       
+       //cli();
+       translation = (diff_left_m + diff_right_m)/2.0;
+       pos_x.f += cos(angle.f)*translation;
+       pos_y.f += sin(angle.f)*translation;
+       //sei();
+
+       pos1_last = pos1;
+       pos2_last = pos2;
+       pos3_last = pos3;
+       pos4_last = pos4;
+}
+
+
+static void update_pid(void) {
        static int16_t eold1=0;
        static int16_t eold2=0;
        static int16_t eold3=0;
@@ -506,22 +772,13 @@ void update_pid(void) {
        static int32_t esum3=0;
        static int32_t esum4=0;
 
-       speed1 = (pos1 - pos1_last)/TIMER1_T;
-       pos1_last = pos1;
-       speed2 = (pos2 - pos2_last)/TIMER1_T;
-       pos2_last = pos2;
-       speed3 = (pos3 - pos3_last)/TIMER1_T;
-       pos3_last = pos3;
-       speed4 = (pos4 - pos4_last)/TIMER1_T;
-       pos4_last = pos4;
-
        if (motor1_mode == MOTOR_PID) {
                if (speed1_wish == 0) {
                        motor1 = 0;
                } else {
                        int16_t e = speed1_wish - speed1;
                        esum1+=e;
-                       motor1 += KP*e + KI*TIMER1_T*esum1 + KD/TIMER1_T*(e - eold1);
+                       motor1 += KP*e + KI*PID_T*esum1 + KD/PID_T*(e - eold1);
                        eold1 = e;
 
                         if (motor1 > 255) motor1 = 255;
@@ -534,7 +791,7 @@ void update_pid(void) {
                } else {
                        int16_t e = speed2_wish - speed2;
                        esum2+=e;
-                       motor2 += KP*e + KI*TIMER1_T*esum2 + KD/TIMER1_T*(e - eold2);
+                       motor2 += KP*e + KI*PID_T*esum2 + KD/PID_T*(e - eold2);
                        eold2 = e;
 
                         if (motor2 > 255) motor2 = 255;
@@ -547,7 +804,7 @@ void update_pid(void) {
                } else {
                        int16_t e = speed3_wish - speed3;
                        esum3+=e;
-                       motor3 += KP*e + KI*TIMER1_T*esum3 + KD/TIMER1_T*(e - eold3);
+                       motor3 += KP*e + KI*PID_T*esum3 + KD/PID_T*(e - eold3);
                        eold3 = e;
 
                         if (motor3 > 255) motor3 = 255;
@@ -560,7 +817,7 @@ void update_pid(void) {
                } else {
                        int16_t e = speed4_wish - speed4;
                        esum4+=e;
-                       motor4 += KP*e + KI*TIMER1_T*esum4 + KD/TIMER1_T*(e - eold4);
+                       motor4 += KP*e + KI*PID_T*esum4 + KD/PID_T*(e - eold4);
                        eold4 = e;
 
                         if (motor4 > 255) motor4 = 255;
@@ -576,7 +833,7 @@ ISR(TIMER1_OVF_vect) {
        update_hall3();
        update_hall4();
        
-       run_pid++;
+       run_update++;
 }
 
 
@@ -635,13 +892,14 @@ int main(void) {
                }
                
 
-               if (run_pid >= 156) { // ~100Hz
-                       run_pid=0;
+               if (run_update >= 156) { // ~100Hz
+                       run_update=0;
+
+                       update_pos();
                        update_pid();
+                       update_motor();
                }
 
-               update_motor();
-
                sleep_mode();
        }
 
index b27fd698c603596d39de4e827ada3b01f42e28d4..4320c15f928e19fb793ee1622a6ba58e18b62e8d 100644 (file)
-:100000000C946C000C9489000C9489000C94890069\r
-:100010000C9489000C9489000C9489000C9489003C\r
-:100020000C9489000C944C050C9489000C94890064\r
-:100030000C9489000C9427060C9489000C94890078\r
-:100040000C9489000C9489000C9489000C948B000A\r
-:100050000C9489008901F1018C01F1018F01F101FA\r
-:100060009101F101F101F101F101F101F101F10160\r
-:100070009301AC019801AC01A201AC01A701AC0154\r
-:10008000F101F101F101F101F101F101F101F101E0\r
-:10009000AF01B401B901BE01C301C801CD01D20154\r
-:1000A000F101F101F101F101F101F101F101F101C0\r
-:1000B000D701DA01DD01E001E301E601E901EC012C\r
-:1000C00045464765666700202B2D2E30313233348C\r
-:1000D000353637383968000011241FBECFE5D8E027\r
-:1000E000DEBFCDBF10E0A0E6B0E0EAE9FCE102C06F\r
-:1000F00005900D92A837B107D9F721E0A8E7B0E045\r
-:1001000001C01D92AF33B207E1F70E941C070C94A7\r
-:100110004B0E0C9400001F920F920FB60F921124F9\r
-:100120002F938F939F93AF93BF93EF93FF9381B1DF\r
-:10013000887F803881F040F4803609F05BC185EC1F\r
-:1001400086BF1092C9005BC1883A09F4D5C0883BCC\r
-:1001500009F4D2C04FC18091C900813209F495C021\r
-:1001600068F5843009F479C060F4813009F4A7C0DF\r
-:1001700008F45EC0823009F464C0833009F49FC083\r
-:1001800031C1873009F49BC090F4853009F497C0E1\r
-:10019000863009F027C183B120919E0090E0922B18\r
-:1001A0009093C3008093C2001092B50018C18830AC\r
-:1001B00009F45FC0803209F482C014C1873209F4A7\r
-:1001C00082C0F0F4843209F47AC098F4823209F4DF\r
-:1001D00076C0833209F006C183B120919E0090E081\r
-:1001E000922B9093AD008093AC0081E08093B60099\r
-:1001F000F6C0853209F456C0863209F460C0F2C0F8\r
-:10020000823909F471C050F4803909F469C0813928\r
-:1002100009F0E8C083B18093B200E1C0833909F4EA\r
-:1002200067C08F3F09F0DEC083B18093C800DAC099\r
-:1002300083B18093C9008091C90081508093C90027\r
-:10024000CEC083B120919E0090E0922B9093C70086\r
-:100250008093C6001092B700C2C083B120919E0067\r
-:1002600090E0922B9093C5008093C4001092B6004A\r
-:10027000B6C083B120919E0090E0922B9093C10074\r
-:100280008093C0001092B400AAC083B120919E0058\r
-:1002900090E0922B9093AF008093AE0081E080932A\r
-:1002A000B7009DC083B120919E0090E0922B909367\r
-:1002B000AB008093AA0081E08093B50090C083B129\r
-:1002C00080939E008CC083B120919E0090E0922B81\r
-:1002D0009093A9008093A80081E08093B4007FC030\r
-:1002E00083B18093B3007BC083B18093B10077C0AA\r
-:1002F00083B18093B00073C08091C90090E0FC018D\r
-:100300003297E633F10508F06CC0E65DFF4F0C94C0\r
-:10031000C60B8AB59BB562C088B599B55FC083B579\r
-:100320005DC08CB75BC08091BE009091BF0004C0DF\r
-:100330008091BC009091BD0090939D0080939C00A3\r
-:1003400093B94DC08091BA009091BB00F5CF8091D8\r
-:10035000B8009091B900F0CF80919C003FC080918F\r
-:10036000AE009091AF00ECCF8091AE009091AF00C5\r
-:1003700035C08091AC009091AD00E2CF8091AC008F\r
-:100380009091AD002BC08091AA009091AB00D8CF86\r
-:100390008091AA009091AB0021C08091A80090911B\r
-:1003A000A900CECF8091A8009091A90017C080919C\r
-:1003B000A60014C08091A50011C08091A4000EC0B9\r
-:1003C0008091A3000BC08091A20008C08091A10081\r
-:1003D00005C08091A00002C080919F0083B985EC88\r
-:1003E00002C013B885E886BF8091C9008F5F8093F3\r
-:1003F000C90005C086B78B7E86BF85EC86BFFF919E\r
-:10040000EF91BF91AF919F918F912F910F900FBE60\r
-:100410000F901F9018954F925F926F927F928F92DC\r
-:100420009F92AF92BF92CF92DF92EF92FF920F9383\r
-:100430001F93CF93DF93CDB7DEB72C970FB6F89409\r
-:10044000DEBF0FBECDBF6091BE007091BF00809136\r
-:100450009A0090919B00681B790B882777FD809507\r
-:10046000982F0E94B80A2AE037ED43E25CE30E942D\r
-:100470001D0A0E94850A6B017C017093A60060939F\r
-:10048000A5008091BE009091BF0090939B00809347\r
-:100490009A006091BC007091BD008091980090918D\r
-:1004A0009900681B790B882777FD8095982F0E940B\r
-:1004B000B80A2AE037ED43E25CE30E941D0A0E947D\r
-:1004C000850A69837A838B839C8389819A8190933F\r
-:1004D000A4008093A3008091BC009091BD009093F4\r
-:1004E0009900809398006091BA007091BB00809150\r
-:1004F000960090919700681B790B882777FD80956F\r
-:10050000982F0E94B80A2AE037ED43E25CE30E948C\r
-:100510001D0A0E94850A6D837E838F839887ED81F3\r
-:10052000FE81F093A200E093A1008091BA00909127\r
-:10053000BB0090939700809396006091B8007091F3\r
-:10054000B9008091940090919500681B790B8827E1\r
-:1005500077FD8095982F0E94B80A2AE037ED43E294\r
-:100560005CE30E941D0A0E94850A69877A878B874F\r
-:100570009C8789859A859093A00080939F008091A5\r
-:10058000B8009091B9009093950080939400809169\r
-:10059000B700813009F095C08091AE009091AF0016\r
-:1005A000892B29F41092C7001092C6008AC00091CE\r
-:1005B000AE001091AF000C191D092801662457FCEC\r
-:1005C0006094762CC0909000D0909100E0909200C2\r
-:1005D000F0909300C40CD51CE61CF71CC092900050\r
-:1005E000D0929100E0929200F09293006091C60048\r
-:1005F0007091C700882777FD8095982F0E94B80AD0\r
-:100600004B015C01C301B2010E94B80A2CEB34E734\r
-:1006100043E15CE30E94440B2B013C01C701B6019E\r
-:100620000E94B80A2BE631ED46E05AE30E94440BE3\r
-:100630009B01AC01C301B2010E94B9096B017C01AD\r
-:1006400080918E0090918F00B801681B790B8827EC\r
-:1006500077FD8095982F0E94B80A2CE234ED4AE18C\r
-:100660005DE30E94440B9B01AC01C701B6010E94EF\r
-:10067000B9099B01AC01C501B4010E94B9090E94EE\r
-:10068000850A7093C7006093C60010938F00009393\r
-:100690008E008091C6009091C7008F3F910521F098\r
-:1006A0001CF08FEF90E009C08091C6009091C700C8\r
-:1006B00081309F4F34F481E09FEF9093C700809387\r
-:1006C000C6008091B600813009F097C08091AC00DF\r
-:1006D0009091AD00892B29F41092C5001092C400AE\r
-:1006E0008CC00091AC001091AD0089819A81081BEB\r
-:1006F000190B2801662457FC6094762CC0908A0060\r
-:10070000D0908B00E0908C00F0908D00C40CD51C34\r
-:10071000E61CF71CC0928A00D0928B00E0928C00FD\r
-:10072000F0928D006091C4007091C500882777FD1C\r
-:100730008095982F0E94B80A4B015C01C301B20159\r
-:100740000E94B80A2CEB34E743E15CE30E94440BBF\r
-:100750002B013C01C701B6010E94B80A2BE631ED1E\r
-:1007600046E05AE30E94440B9B01AC01C301B20175\r
-:100770000E94B9096B017C018091880090918900E9\r
-:10078000B801681B790B882777FD8095982F0E9408\r
-:10079000B80A2CE234ED4AE15DE30E94440B9B0170\r
-:1007A000AC01C701B6010E94B9099B01AC01C501AA\r
-:1007B000B4010E94B9090E94850A7093C500609334\r
-:1007C000C40010938900009388008091C400909128\r
-:1007D000C5008F3F910521F01CF08FEF90E009C01C\r
-:1007E0008091C4009091C50081309F4F34F481E026\r
-:1007F0009FEF9093C5008093C4008091B500813035\r
-:1008000009F097C08091AA009091AB00892B29F440\r
-:100810001092C3001092C2008CC00091AA001091E7\r
-:10082000AB008D819E81081B190B2801662457FCA3\r
-:100830006094762CC0908400D0908500E090860073\r
-:10084000F0908700C40CD51CE61CF71CC0928400F5\r
-:10085000D0928500E0928600F09287006091C200FD\r
-:100860007091C300882777FD8095982F0E94B80A61\r
-:100870004B015C01C301B2010E94B80A2CEB34E7C2\r
-:1008800043E15CE30E94440B2B013C01C701B6012C\r
-:100890000E94B80A2BE631ED46E05AE30E94440B71\r
-:1008A0009B01AC01C301B2010E94B9096B017C013B\r
-:1008B0008091820090918300B801681B790B882792\r
-:1008C00077FD8095982F0E94B80A2CE234ED4AE11A\r
-:1008D0005DE30E94440B9B01AC01C701B6010E947D\r
-:1008E000B9099B01AC01C501B4010E94B9090E947C\r
-:1008F000850A7093C3006093C20010938300009335\r
-:1009000082008091C2009091C3008F3F910521F039\r
-:100910001CF08FEF90E009C08091C2009091C3005D\r
-:1009200081309F4F34F481E09FEF9093C300809318\r
-:10093000C2008091B400813009F097C08091A80076\r
-:100940009091A900892B29F41092C1001092C00047\r
-:100950008CC00091A8001091A90089859A85081B78\r
-:10096000190B4801AA2497FCA094BA2CC0907E00D1\r
-:10097000D0907F00E0908000F0908100C80CD91CDE\r
-:10098000EA1CFB1CC0927E00D0927F00E0928000A7\r
-:10099000F09281006091C0007091C100882777FDBE\r
-:1009A0008095982F0E94B80A2B013C01C501B40123\r
-:1009B0000E94B80A2CEB34E743E15CE30E94440B4D\r
-:1009C0004B015C01C701B6010E94B80A2BE631ED6C\r
-:1009D00046E05AE30E94440B9B01AC01C501B401FF\r
-:1009E0000E94B9096B017C0180917C0090917D008F\r
-:1009F000B801681B790B882777FD8095982F0E9496\r
-:100A0000B80A2CE234ED4AE15DE30E94440B9B01FD\r
-:100A1000AC01C701B6010E94B9099B01AC01C30139\r
-:100A2000B2010E94B9090E94850A7093C1006093C7\r
-:100A3000C00010937D0000937C008091C0009091D5\r
-:100A4000C1008F3F910521F01CF08FEF90E009C0AD\r
-:100A50008091C0009091C10081309F4F34F481E0BB\r
-:100A60009FEF9093C1008093C0002C960FB6F8942E\r
-:100A7000DEBF0FBECDBFDF91CF911F910F91FF90D1\r
-:100A8000EF90DF90CF90BF90AF909F908F907F902E\r
-:100A90006F905F904F9008951F920F920FB60F9234\r
-:100AA00011242F933F934F935F938F939F9399B309\r
-:100AB00090FD02C080E001C083E091FF02C091E0A0\r
-:100AC000892720917B00281B20FF1FC080937B007B\r
-:100AD0008091B300422F4270882349F08091BE007C\r
-:100AE0009091BF00242F30E02150310908C080913F\r
-:100AF000BE009091BF0021E030E0241B3109820F3D\r
-:100B0000931F9093BF008093BE0099B392959F70FE\r
-:100B100090FD02C080E001C083E091FF02C091E03F\r
-:100B2000892720917A00281B20FF1FC080937A001C\r
-:100B30008091B2002270882359F08091BC0090917E\r
-:100B4000BD0041E050E0421B5109840F951F09C0D0\r
-:100B50008091BC009091BD0030E021503109820F9E\r
-:100B6000931F9093BD008093BC0099B39695969582\r
-:100B700090FD02C080E001C083E091FF02C091E0DF\r
-:100B8000892720917900281B20FF1FC080937900BE\r
-:100B90008091B1002270882359F08091BA00909121\r
-:100BA000BB0041E050E0421B5109840F951F09C072\r
-:100BB0008091BA009091BB0030E021503109820F42\r
-:100BC000931F9093BB008093BA0099B3929596952A\r
-:100BD0009695937090FD02C080E001C083E0927012\r
-:100BE00011F091E0892720917800281B20FF1FC079\r
-:100BF000809378008091B000422F4270882349F0A2\r
-:100C00008091B8009091B900242F30E02150310933\r
-:100C100008C08091B8009091B90021E030E0241B19\r
-:100C20003109820F931F9093B9008093B80080918F\r
-:100C3000A7008F5F8093A7009F918F915F914F9145\r
-:100C40003F912F910F900FBE0F901F9018951F92FC\r
-:100C50000F920FB60F9211248F939F93EF93FF93F0\r
-:100C60005F9B16C0E091CC00F091CD008CB18083E9\r
-:100C700081E0E133F80730F43196F093CD00E09352\r
-:100C8000CC0006C08EEC90E09093CD008093CC0019\r
-:100C9000FF91EF919F918F910F900FBE0F901F903A\r
-:100CA00018959C018AB188618AB9579A80B5866087\r
-:100CB00080BD40E050E084E0220F331F441F551FE9\r
-:100CC0008A95D1F760E072E18AE790E00E94A70B75\r
-:100CD000DA01C9010197A109B109892F9A2FAB2F18\r
-:100CE000BB27A7FDBA9580BD215029B98EEC90E0B5\r
-:100CF0009093CB008093CA009093CD008093CC005A\r
-:100D000008955D9BFECFFC0180818CB90895CF933F\r
-:100D1000DF931F92CDB7DEB78983CE0101960E9483\r
-:100D2000810680E090E00F90DF91CF910895CF93FE\r
-:100D3000DF93EC01CE012196FC012081222319F0E2\r
-:100D40000E948106F7CFDF91CF9108955F9BFECF80\r
-:100D50008CB190E008950C94A6066BEA76E087E8E3\r
-:100D600096E00C94F90BCF93DF93FC01E253FF4F15\r
-:100D7000A081B181EC01C453DF4F28813981A217D2\r
-:100D8000B307A1F05D9B12C02C912CB92081318159\r
-:100D9000AC0145535F4F2417350718F42F5F3F4FC1\r
-:100DA00003C09C0128593F4F31832083E091CA0042\r
-:100DB000F091CB002091CC003091CD002E173F0751\r
-:100DC000C1F1DC01AC59BF4FCD91DC91119720816D\r
-:100DD00028836D917C9111979C012B523F4FE90123\r
-:100DE0003881EB012881321307C09C012C523F4F00\r
-:100DF000E90148814F5F48839C012D593F4F62179D\r
-:100E0000730728F4EB012196CD93DC9302C08D93F8\r
-:100E10009C93D1E0E133FD0730F43196F093CB00A1\r
-:100E2000E093CA0006C08EEC90E09093CB008093D4\r
-:100E3000CA00DF91CF91089588E087BB8CEF84BB17\r
-:100E40008CEB81BB1092C80080E895E20E945106AD\r
-:100E50000E94AD0680E582B986B78B7E86BF85ECA1\r
-:100E600086BF81EF8FBD89E08EBD1BBC1ABC19BC4B\r
-:100E700018BC89E785BD13BC83BF1CBE8EE690E01D\r
-:100E80000E94760C85B78F7885BF84E089BF7894FF\r
-:100E9000C0E0D8E18091C9008F3F39F48091C8004B\r
-:100EA000853A19F4F894FE0109958091A7008C39D0\r
-:100EB00020F01092A7000E940B028091C600909132\r
-:100EC000C700209166003091670028173907B9F1F3\r
-:100ED0008091C6009091C700892B19F485B38C606E\r
-:100EE00017C08091B300811107C08091C600909116\r
-:100EF000C7001816190654F08091B300882351F0EA\r
-:100F00008091C6009091C70097FF04C085B3837F8E\r
-:100F100085BB02C0AA98AB9A8091C6009091C70089\r
-:100F200090936700809366008091C6009091C700FF\r
-:100F300097FF03C09195819591099BBD8ABD8091D2\r
-:100F4000C4009091C500209164003091650028177D\r
-:100F50003907B9F18091C4009091C500892B19F42B\r
-:100F600085B3806317C08091B200811107C0809162\r
-:100F7000C4009091C5001816190654F08091B20073\r
-:100F8000882351F08091C4009091C50097FF04C060\r
-:100F900085B38F7C85BB02C0AC98AD9A8091C400AC\r
-:100FA0009091C50090936500809364008091C40087\r
-:100FB0009091C50097FF03C091958195910999BDC6\r
-:100FC00088BD8091C2009091C30020916200309151\r
-:100FD000630028173907B1F18091C2009091C300D6\r
-:100FE000892B19F485B3806C17C08091B1008111F1\r
-:100FF00007C08091C2009091C3001816190654F0E2\r
-:101000008091B100882351F08091C2009091C3007B\r
-:1010100097FF04C085B38F7385BB02C0AE98AF9AAB\r
-:101020008091C2009091C30090936300809362000E\r
-:101030008091C2009091C30097FF03C09195819564\r
-:10104000910983BD8091C0009091C1002091600002\r
-:101050003091610028173907B1F18091C00090915B\r
-:10106000C100892B19F482B38C6017C08091B00045\r
-:10107000811107C08091C0009091C1001816190617\r
-:1010800054F08091B000882351F08091C00090917D\r
-:10109000C10097FF04C082B3837F82BB02C09298D5\r
-:1010A000939A8091C0009091C100909361008093C9\r
-:1010B00060008091C0009091C10097FF03C091959E\r
-:1010C000819591098CBF85B7806885BF889585B764\r
-:1010D0008F7785BFDFCE6F927F929F92AF92BF9244\r
-:1010E000CF92DF92EF92FF920F931F93CF93DF93F4\r
-:1010F000CDB7DEB72C970FB6F894DEBF0FBECDBFCD\r
-:101100008C017B013A01FC0117821682838181FFE9\r
-:1011100019C1CE0101965C01F801D380F701D3FC1F\r
-:101120002591D3FE21917F01222309F407C12532A5\r
-:1011300049F4D3FC2591D3FE21917F01253211F092\r
-:10114000912C1BC0B801822F90E00E94440C6301D7\r
-:101150003601E2CF222309F4F1C0622F70E087EC60\r
-:1011600090E02C870E94EE0B2C85892B49F0F7012B\r
-:10117000D3FC2591D3FE21917F0197FEEBCF0CC0CC\r
-:10118000233221F4F92DF0619F2EF1CF2C3639F462\r
-:10119000292D2068922EEBCF222309F4CFC0622F95\r
-:1011A00070E080EC90E02C870E94EE0B2C85892B60\r
-:1011B00041F06301F4E0CF0ED11CB8018FE390E061\r
-:1011C00012C0233641F0233789F0233521F5F92D5C\r
-:1011D000F1609F2E0BC0630122E0C20ED11CB8014A\r
-:1011E000F301808191810E94440CB2CF630122E01F\r
-:1011F000C20ED11CF30160807180F30190FC8591D7\r
-:1012000090FE81913F01882309F4A2CFB80190E0BC\r
-:101210000E94440CF2CF243611F0293639F56301CF\r
-:1012200097FE09C0F4E0CF0ED11CF30160817181FB\r
-:10123000828193810AC0F2E0CF0ED11CF30160815C\r
-:101240007181882777FD8095982FF92DFF7E9F2E3D\r
-:1012500097FF09C090958095709561957F4F8F4F4E\r
-:101260009F4FF0649F2E2AE030E038C02037A1F075\r
-:1012700040F42835D1F02F3609F060C028E030E086\r
-:1012800019C0253719F0283751F058C0292D2F7E65\r
-:10129000922E2AE030E00EC0892D8061982E992D83\r
-:1012A0009462992E20E130E005C0E92DE4609E2E85\r
-:1012B00020E132E0630197FE09C0F4E0CF0ED11CBB\r
-:1012C000F301608171818281938108C0F2E0CF0EC9\r
-:1012D000D11CF3016081718180E090E0A5010E9442\r
-:1012E000A30C782E7A1896FE05C0B8018DE290E026\r
-:1012F0000E94440C94FE16C0FE01E70DF11D808192\r
-:10130000803381F0B80180E390E00E94440C92FEAB\r
-:1013100009C0292D2072822F90E0B801885A9F4F72\r
-:101320000E94440C7A94F501E70DF11D8081B8010B\r
-:1013300090E00E94440C7110F5CF0ACFF80186812D\r
-:10134000978102C08FEF9FEF2C960FB6F894DEBF07\r
-:101350000FBECDBFDF91CF911F910F91FF90EF9006\r
-:10136000DF90CF90BF90AF909F907F906F90089547\r
-:101370005058BB27AA270ED04DC13ED130F043D1E3\r
-:1013800020F031F49F3F11F41EF433C10EF4E095C8\r
-:10139000E7FB29C1E92F4FD180F3BA176207730722\r
-:1013A0008407950718F071F49EF567C10EF4E09577\r
-:1013B0000B2EBA2FA02D0B01B90190010C01CA010F\r
-:1013C000A0011124FF27591B99F0593F50F4503EBA\r
-:1013D00068F11A16F040A22F232F342F4427585FAC\r
-:1013E000F3CF469537952795A795F0405395C9F7C4\r
-:1013F0007EF41F16BA0B620B730B840BBAF091507C\r
-:10140000A1F0FF0FBB1F661F771F881FC2F70EC01A\r
-:10141000BA0F621F731F841F48F4879577956795ED\r
-:10142000B795F7959E3F08F0B3CF9395880F08F0D6\r
-:101430009927EE0F9795879508950CD0EBC0E3D0D0\r
-:1014400040F0DAD030F021F45F3F19F0CCC05111F8\r
-:1014500015C1CFC0F0D098F39923C9F35523B1F348\r
-:10146000951B550BBB27AA2762177307840738F013\r
-:101470009F5F5F4F220F331F441FAA1FA9F333D072\r
-:101480000E2E3AF0E0E830D091505040E695001C26\r
-:10149000CAF729D0FE2F27D0660F771F881FBB1FE2\r
-:1014A000261737074807AB07B0E809F0BB0B802DBC\r
-:1014B000BF01FF2793585F4F2AF09E3F510568F008\r
-:1014C00092C0DCC05F3FECF3983EDCF386957795E5\r
-:1014D0006795B795F7959F5FC9F7880F911D96950A\r
-:1014E000879597F90895E1E0660F771F881FBB1F66\r
-:1014F000621773078407BA0720F0621B730B840B13\r
-:10150000BA0BEE1F88F7E095089504D06894B111E6\r
-:10151000B5C0089598D088F09F5790F0B92F9927BB\r
-:10152000B751A0F0D1F0660F771F881F991F1AF0EE\r
-:10153000BA95C9F712C0B13081F09FD0B1E00895DB\r
-:101540009CC0672F782F8827B85F39F0B93FCCF35C\r
-:10155000869577956795B395D9F73EF490958095E4\r
-:10156000709561957F4F8F4F9F4F0895E89409C004\r
-:1015700097FB3EF490958095709561957F4F8F4FC6\r
-:101580009F4F9923A9F0F92F96E9BB279395F695DC\r
-:10159000879577956795B795F111F8CFFAF4BB0F5A\r
-:1015A00011F460FF1BC06F5F7F4F8F4F9F4F16C0BE\r
-:1015B000882311F096E911C0772321F09EE8872F48\r
-:1015C000762F05C0662371F096E8862F70E060E004\r
-:1015D0002AF09A95660F771F881FDAF7880F96957D\r
-:1015E000879597F9089597F99F6780E870E060E024\r
-:1015F00008959FEF80EC089500240A9416161706AC\r
-:1016000018060906089500240A94121613061406F3\r
-:1016100005060895092E0394000C11F4882352F056\r
-:10162000BB0F40F4BF2B11F460FF04C06F5F7F4F0E\r
-:101630008F4F9F4F089557FD9058440F551F59F0F5\r
-:101640005F3F71F04795880F97FB991F61F09F3FAF\r
-:1016500079F087950895121613061406551FF2CFD8\r
-:101660004695F1DF08C0161617061806991FF1CF28\r
-:1016700086957105610508940895E894BB2766274F\r
-:101680007727CB0197F908950BD0C4CFB5DF28F0A9\r
-:10169000BADF18F0952309F0A6CFABCF1124EECF17\r
-:1016A000CADFA0F3959FD1F3950F50E0551F629FBD\r
-:1016B000F001729FBB27F00DB11D639FAA27F00DAB\r
-:1016C000B11DAA1F649F6627B00DA11D661F829FD2\r
-:1016D0002227B00DA11D621F739FB00DA11D621FB7\r
-:1016E000839FA00D611D221F749F3327A00D611DD4\r
-:1016F000231F849F600D211D822F762F6A2F1124B6\r
-:101700009F5750408AF0E1F088234AF0EE0FFF1F08\r
-:10171000BB1F661F771F881F91505040A9F79E3F3F\r
-:10172000510570F060CFAACF5F3FECF3983EDCF339\r
-:10173000869577956795B795F795E7959F5FC1F77C\r
-:10174000FE2B880F911D9695879597F90895052E84\r
-:1017500097FB1EF400940E94BE0B57FD07D00E9419\r
-:10176000CC0B07FC03D04EF40C94BE0B5095409567\r
-:10177000309521953F4F4F4F5F4F0895909580953D\r
-:10178000709561957F4F8F4F9F4F0895EE0FFF1F0C\r
-:101790000590F491E02D0994A1E21A2EAA1BBB1B1F\r
-:1017A000FD010DC0AA1FBB1FEE1FFF1FA217B3072D\r
-:1017B000E407F50720F0A21BB30BE40BF50B661F43\r
-:1017C000771F881F991F1A9469F760957095809507\r
-:1017D00090959B01AC01BD01CF010895FC010590DE\r
-:1017E000061621F00020D9F7C00108953197CF01E6\r
-:1017F00008950F931F93CF93DF93EC018B01009714\r
-:1018000031F46115710519F480E090E038C06EE0A4\r
-:1018100070E081E090E00E94010DFC010097A1F3CF\r
-:1018200080E883830115110571F01387028781E831\r
-:1018300083838091350190913601892B21F4F093B7\r
-:101840003601E09335012097C9F0D187C0878381A5\r
-:10185000826083838091370190913801892B71F4E4\r
-:10186000F0933801E09337018091390190913A016A\r
-:10187000892B21F4F0933A01E0933901CF01DF91F4\r
-:10188000CF911F910F9108950F931F93CF93DF93E3\r
-:10189000182F092FEB018B8181FD03C08FEF9FEF84\r
-:1018A00020C082FF10C04E815F812C813D81421794\r
-:1018B00053077CF4E881F9819F012F5F3F4F398303\r
-:1018C0002883108306C0E885F985812F0995892B27\r
-:1018D00029F72E813F812F5F3F4F3F832E83812F3A\r
-:1018E000902FDF91CF911F910F9108950F931F9328\r
-:1018F000CF93DF93E0913701F0913801238121FFED\r
-:101900001BC0EC0100E010E08991609137017091FB\r
-:101910003801DB011896ED91FC911997882331F07D\r
-:101920000995892B89F30FEF1FEFEECF8AE0099518\r
-:10193000892B11F4C80102C08FEF9FEFDF91CF9187\r
-:101940001F910F910895FA01AA27283051F12031F3\r
-:1019500081F1E8946F936E7F6E5F7F4F8F4F9F4F43\r
-:10196000AF4FB1E03ED0B4E03CD0670F781F891F85\r
-:101970009A1FA11D680F791F8A1F911DA11D6A0F53\r
-:10198000711D811D911DA11D20D009F468943F9106\r
-:101990002AE0269F11243019305D3193DEF6CF0105\r
-:1019A0000895462F4770405D4193B3E00FD0C9F7CB\r
-:1019B000F6CF462F4F70405D4A3318F0495D31FD38\r
-:1019C0004052419302D0A9F7EACFB4E0A69597958B\r
-:1019D000879577956795BA95C9F700976105710561\r
-:1019E00008959B01AC010A2E0694579547953795AB\r
-:1019F0002795BA95C9F7620F731F841F951FA01D05\r
-:101A000008950F931F93CF93DF93869F8001879F45\r
-:101A1000100D969F100D1124C8010E941D0DEC01A0\r
-:101A2000009729F0A80160E070E00E94440ECE010A\r
-:101A3000DF91CF911F910F910895CF93DF93823063\r
-:101A4000910510F482E090E0E0913D01F0913E01BB\r
-:101A500020E030E0A0E0B0E0309739F140815181E2\r
-:101A600048175907B8F04817590771F482819381D4\r
-:101A7000109729F013969C938E9312972CC09093F5\r
-:101A80003E0180933D0127C02115310531F04217F9\r
-:101A9000530718F0A901DB0101C0EF019A01BD0154\r
-:101AA000DF010280F381E02DD7CF21153105F9F058\r
-:101AB000281B390B2430310580F48A819B81611504\r
-:101AC000710521F0FB019383828304C090933E0152\r
-:101AD00080933D01FE01329644C0FE01E20FF31FE8\r
-:101AE0008193919322503109398328833AC0209100\r
-:101AF0003B0130913C01232B41F420916A0030914D\r
-:101B00006B0030933C0120933B01209168003091A1\r
-:101B100069002115310541F42DB73EB740916C00A5\r
-:101B200050916D00241B350BE0913B01F0913C017D\r
-:101B3000E217F307A0F42E1B3F0B2817390778F0A4\r
-:101B4000AC014E5F5F4F2417350748F04E0F5F1F03\r
-:101B500050933C0140933B018193919302C0E0E09C\r
-:101B6000F0E0CF01DF91CF910895CF93DF930097FD\r
-:101B700009F487C0FC01329713821282C0913D01A3\r
-:101B8000D0913E01209781F420813181280F391FA7\r
-:101B900080913B0190913C018217930779F5F09376\r
-:101BA0003C01E0933B016DC0DE0120E030E0AE1768\r
-:101BB000BF0750F412964D915C9113979D0141150A\r
-:101BC000510509F1DA01F3CFB383A283408151813A\r
-:101BD000840F951F8A179B0771F48D919C91119723\r
-:101BE000840F951F02969183808312968D919C910C\r
-:101BF0001397938382832115310529F4F0933E01D5\r
-:101C0000E0933D013EC0D9011396FC93EE931297E9\r
-:101C10004D915D91A40FB51FEA17FB0779F4808100\r
-:101C20009181840F951F0296D90111969C938E93F2\r
-:101C30008281938113969C938E931297E0E0F0E05B\r
-:101C40008A819B81009719F0FE01EC01F9CFCE014A\r
-:101C5000029628813981820F931F20913B01309198\r
-:101C60003C012817390769F4309729F410923E0196\r
-:101C700010923D0102C013821282D0933C01C093A6\r
-:101C80003B01DF91CF910895DC0101C06D9341507C\r
-:0A1C90005040E0F70895F894FFCFEC\r
-:101C9A00008000800080008000003F0120000D0AC3\r
-:081CAA0053746172740D000017\r
+:100000000C94D8000C94F5000C94F5000C94F500B9\r
+:100010000C94F5000C94F5000C94F5000C94F5008C\r
+:100020000C94F5000C948E040C94F5000C94F500DF\r
+:100030000C94F5000C9469050C94F5000C94F500F3\r
+:100040000C94F5000C94F5000C94F5000C94F7005A\r
+:100050000C94F500FF0267040203670406036704BB\r
+:100060000803670467046704670467046704670498\r
+:100070000A0322030F03220314032203190322039A\r
+:100080006704670467046704670467046704670418\r
+:1000900025032A032F03340339033E034303480394\r
+:1000A00067046704670467046704670467046704F8\r
+:1000B0004D03520357035C03610366036B03710333\r
+:1000C0007603CE03D703E003E303EC03F503FE035B\r
+:1000D00007041004190422042B04380444045104B6\r
+:1000E0002B0438044404510467046704670467045C\r
+:1000F00067046704670467046704670467046704A8\r
+:100100006704670467046704670467046704670497\r
+:100110006704670467046704670467046704670487\r
+:100120006704670467046704670467046704670477\r
+:100130006704670467046704670467046704670467\r
+:100140006704670467046704670467046704670457\r
+:100150006704670467046704670467046704670447\r
+:100160006704670467046704670467046704670437\r
+:1001700067046704670467045A0405A84CCDB2D429\r
+:100180004EB93836A9020C50B9918688083CA6AA07\r
+:10019000AA2ABE000000803F4546476566670020EA\r
+:1001A0002B2D2E3031323334353637383968000054\r
+:1001B00011241FBECFE5D8E0DEBFCDBF10E0A0E622\r
+:1001C000B0E0ECE5F4E202C005900D92A837B1076B\r
+:1001D000D9F721E0A8E7B0E001C01D92A335B2072E\r
+:1001E000E1F70E945E060C942C120C9400001F9202\r
+:1001F0000F920FB60F9211248F929F92AF92BF92DF\r
+:10020000CF92DF92EF92FF922F933F934F935F93A2\r
+:100210006F937F938F939F93AF93BF93EF93FF93CE\r
+:1002200081B1887F803881F040F4803609F058C36E\r
+:1002300085EC86BF1092DD0058C3883A09F4D2C11C\r
+:10024000883B09F4CFC14CC38091DD00893209F4A9\r
+:1002500083C108F04BC0883009F418C1F0F4833032\r
+:1002600009F43AC170F4813009F436C108F0EAC0EB\r
+:1002700083B18093DD008091DD0081508093DD00AB\r
+:1002800024C3853009F428C108F4E8C0863009F495\r
+:10029000F1C0873009F420C11BC3843209F41CC1AA\r
+:1002A000C8F4813209F4FEC020F4803209F414C18C\r
+:1002B0000FC3823209F410C1833209F009C383B13C\r
+:1002C0002091A60090E0922B9093C1008093C000F3\r
+:1002D00081E03AC1863209F4FFC008F4F0C08732E9\r
+:1002E00009F4FEC0883209F432C1F2C2833509F440\r
+:1002F00033C1F8F48E3209F42FC160F48B3209F463\r
+:10030000FAC008F429C18C3209F421C18D3209F4F4\r
+:1003100023C1DEC2803509F41AC120F48F3209F4FA\r
+:10032000EAC0D6C2813509F417C1823509F414C177\r
+:10033000CFC2803909F446C108F075C0853509F48B\r
+:1003400027C108F420C1863509F422C1873509F098\r
+:10035000BFC223B180919E0090919F00A091A00008\r
+:10036000B091A1006627782F892F9A2F622B609376\r
+:100370009E0070939F008093A0009093A100C09076\r
+:10038000A200D090A300E090A400F090A5002BED77\r
+:100390003FE049E450E40E94DB0E25E236E041E80C\r
+:1003A0005EE30E94DB0E20E030E040E05FE30E946D\r
+:1003B000DB0EA70196010E94E80C4B015C01A7012E\r
+:1003C0009601C701B6010E94E80CA50194010E94A4\r
+:1003D000E70C2AE931E043E555E40E94DB0E0E9478\r
+:1003E000BB0D7093C3006093C2007093C100609313\r
+:1003F000C0002AE931E043E555E4C501B4010E949B\r
+:10040000DB0E0E94BB0D7093BF006093BE00709323\r
+:10041000BD006093BC0081E08093CB008093CA0054\r
+:100420008093C900CCC0823909F4D4C008F4CEC08E\r
+:10043000833909F4D3C08F3F09F04AC283B1809356\r
+:10044000DC0046C283B12091A60090E0922B9093ED\r
+:10045000DB008093DA001092CB0037C283B1209189\r
+:10046000A60090E0922B9093D9008093D800109230\r
+:10047000CA002BC283B12091A60090E0922B9093EA\r
+:10048000D7008093D6001092C9001FC283B120917B\r
+:10049000A60090E0922B9093D5008093D400109208\r
+:1004A000C80013C283B12091A60090E0922B9093D4\r
+:1004B000C3008093C20081E08093CB0006C283B169\r
+:1004C0002091A60090E0922B9093BF008093BE00F5\r
+:1004D00081E08093C900F9C183B18093A600F5C182\r
+:1004E00083B12091A60090E0922B9093BD00809361\r
+:1004F000BC0081E064C023B18091A2009091A30070\r
+:10050000A091A400B091A5006627782F892F9A2F7B\r
+:10051000622B6093A2007093A3008093A400909339\r
+:10052000A5002AE931E043E555E40E94DB0E0E9474\r
+:10053000BB0D7093C3006093C2007093C1006093C1\r
+:10054000C00081E08093CB008093CA00BEC183B11C\r
+:1005500090E0A0E0B0E00EC023B18091A2009091A5\r
+:10056000A300A091A400B091A500BA2FA92F982FA5\r
+:100570008827822B8093A2009093A300A093A400CD\r
+:10058000B093A500A2C183B190E0A0E0B0E00EC09E\r
+:1005900023B180919E0090919F00A091A000B09106\r
+:1005A000A100BA2FA92F982F8827822B80939E0015\r
+:1005B00090939F00A093A000B093A10086C1809368\r
+:1005C000C80083C183B18093C7007FC183B180938A\r
+:1005D000C6007BC183B18093C50077C183B180938E\r
+:1005E000C40073C18091DD0090E0FC013297E339D3\r
+:1005F000F10508F06CC1E65DFF4F0C94A70F8AB5BA\r
+:100600009BB502C088B599B583B95FC183B5FCCFEE\r
+:100610008CB7FACF8091D2009091D3000EC0809118\r
+:10062000D0009091D10009C08091CE009091CF0070\r
+:1006300004C08091CC009091CD0090939D00809358\r
+:100640009C004DC080919C00DFCF8091C2009091B2\r
+:10065000C30045C08091C2009091C300D5CF809166\r
+:10066000C0009091C1003BC08091C0009091C1003A\r
+:10067000CBCF8091BE009091BF0031C08091BE0071\r
+:100680009091BF00C1CF8091BC009091BD0027C068\r
+:100690008091BC009091BD00B7CF8091B90090913E\r
+:1006A000BA001DC08091B9009091BA00ADCF809181\r
+:1006B000B7009091B80013C08091B7009091B80036\r
+:1006C000A3CF8091B5009091B60009C08091B5008C\r
+:1006D0009091B60099CF8091B3009091B40093B9F6\r
+:1006E000F4C08091B3009091B4008ECFA090B5007B\r
+:1006F000B090B6008091B3009091B400A80EB91EDE\r
+:10070000B7FE03C08FEFA81AB80AB594A7948090DB\r
+:10071000B9009090BA008091B7009091B800880E0F\r
+:10072000991E97FE03C08FEF881A980A95948794B4\r
+:10073000B501680D791D882777FD8095982F0E9457\r
+:10074000EE0D2AE931E043ED55E40E94530D6B01B3\r
+:100750007C016093A2007093A3008093A400909307\r
+:10076000A500B4016A197B09882777FD8095982F29\r
+:100770000E94EE0D2BEB3CE047E255E40E94530D46\r
+:1007800060939E0070939F008093A0009093A100BF\r
+:10079000CF2CDD24EE24FF24C3B897C08091A200A3\r
+:1007A0009091A300A091A400B091A50069C0809190\r
+:1007B000A2009091A300A091A400B091A5006CC0EC\r
+:1007C0008091A20021CF80919E0090919F00A091E6\r
+:1007D000A000B091A10047C080919E0090919F0021\r
+:1007E000A091A000B091A1004BC080919E0090917B\r
+:1007F0009F00A091A000B091A1004EC08091A700E1\r
+:100800009091A800A091A900B091AA00FDCE80917E\r
+:10081000AF009091B000A091B100B091B20023C0A0\r
+:100820008091AF009091B000A091B100B091B20062\r
+:1008300027C08091AF009091B000A091B100B0911D\r
+:10084000B2002AC08091AF009091B000A091B10099\r
+:10085000B091B200D9CE8091AB009091AC00A09144\r
+:10086000AD00B091AE008B2F9927AA27BB27CCCE25\r
+:100870008091AB009091AC00A091AD00B091AE0022\r
+:10088000CD01AA27BB27C0CE8091AB009091AC00D0\r
+:10089000A091AD00B091AE00892F9A2FAB2FBB274E\r
+:1008A000B3CE8091AB009091AC00A091AD00B0911F\r
+:1008B000AE00AACE80B326B3807490E0959587955C\r
+:1008C000959587952770282B23B985EC02C013B81E\r
+:1008D00085E886BF8091DD008F5F8093DD0005C0D5\r
+:1008E00086B78B7E86BF85EC86BFFF91EF91BF9167\r
+:1008F000AF919F918F917F916F915F914F913F91B8\r
+:100900002F91FF90EF90DF90CF90BF90AF909F908E\r
+:100910008F900F900FBE0F901F9018951F920F92FF\r
+:100920000FB60F9211242F933F934F935F938F93A2\r
+:100930009F9399B390FD02C080E001C083E091FFD6\r
+:1009400002C091E0892720919B00281B20FF1FC037\r
+:1009500080939B008091C700422F4270882349F00A\r
+:100960008091D2009091D300242F30E021503109A2\r
+:1009700008C08091D2009091D30021E030E0241B88\r
+:100980003109820F931F9093D3008093D20099B3C3\r
+:1009900092959F7090FD02C080E001C083E091FFBE\r
+:1009A00002C091E0892720919A00281B20FF1FC0D8\r
+:1009B00080939A008091C6002270882359F080911C\r
+:1009C000D0009091D10041E050E0421B5109840FCA\r
+:1009D000951F09C08091D0009091D10030E0215046\r
+:1009E0003109820F931F9093D1008093D00099B367\r
+:1009F0009695969590FD02C080E001C083E091FF3E\r
+:100A000002C091E0892720919900281B20FF1FC078\r
+:100A1000809399008091C5002270882359F08091BD\r
+:100A2000CE009091CF0041E050E0421B5109840F6D\r
+:100A3000951F09C08091CE009091CF0030E02150E9\r
+:100A40003109820F931F9093CF008093CE0099B30A\r
+:100A5000929596959695937090FD02C080E001C0A6\r
+:100A600083E0927011F091E0892720919800281B73\r
+:100A700020FF1FC0809398008091C400422F4270D5\r
+:100A8000882349F08091CC009091CD00242F30E054\r
+:100A90002150310908C08091CC009091CD0021E017\r
+:100AA00030E0241B3109820F931F9093CD00809377\r
+:100AB000CC008091BB008F5F8093BB009F918F9192\r
+:100AC0005F914F913F912F910F900FBE0F901F900C\r
+:100AD00018951F920F920FB60F9211248F939F9328\r
+:100AE000EF93FF935F9B16C0E091E000F091E1006F\r
+:100AF0008CB1808381E0E534F80730F43196F093CF\r
+:100B0000E100E093E00006C082EE90E09093E10007\r
+:100B10008093E000FF91EF919F918F910F900FBE16\r
+:100B20000F901F9018959C018AB188618AB9579AD5\r
+:100B300080B5866080BD40E050E084E0220F331F26\r
+:100B4000441F551F8A95D1F760E072E18AE790E073\r
+:100B50000E94880FDA01C9010197A109B109892F03\r
+:100B60009A2FAB2FBB27A7FDBA9580BD215029B97D\r
+:100B700082EE90E09093DF008093DE009093E1009E\r
+:100B80008093E00008955D9BFECFFC0180818CB9CD\r
+:100B90000895CF93DF931F92CDB7DEB78983CE013F\r
+:100BA00001960E94C30580E090E00F90DF91CF9105\r
+:100BB0000895CF93DF93EC01CE012196FC012081B3\r
+:100BC000222319F00E94C305F7CFDF91CF9108953A\r
+:100BD0005F9BFECF8CB190E008950C94E8056DEE1C\r
+:100BE00075E089EC95E00C94DA0FCF93DF93FC016C\r
+:100BF000E253FF4FA081B181EC01C453DF4F288144\r
+:100C00003981A217B307A1F05D9B12C02C912CB9BA\r
+:100C100020813181AC0145535F4F2417350718F40B\r
+:100C20002F5F3F4F03C09C0128593F4F31832083E2\r
+:100C3000E091DE00F091DF002091E0003091E100D2\r
+:100C40002E173F07C1F1DC01AC59BF4FCD91DC91AC\r
+:100C50001197208128836D917C9111979C012B52D3\r
+:100C60003F4FE9013881EB012881321307C09C0115\r
+:100C70002C523F4FE90148814F5F48839C012D5919\r
+:100C80003F4F6217730728F4EB012196CD93DC9355\r
+:100C900002C08D939C93D1E0E534FD0730F431968A\r
+:100CA000F093DF00E093DE0006C082EE90E09093C8\r
+:100CB000DF008093DE00DF91CF91089588E087BB4D\r
+:100CC0008CEF84BB8CEB81BB1092DC0080E895E25A\r
+:100CD0000E9493050E94EF0580E582B986B78B7E5E\r
+:100CE00086BF85EC86BF81EF8FBD89E08EBD1BBCC2\r
+:100CF0001ABC19BC18BC89E785BD13BC83BF1CBED8\r
+:100D00008EE690E00E94571085B78F7885BF84E00B\r
+:100D100089BF78942224239433243A940FEF10E06F\r
+:100D20008091DD008F3F41F48091DC00853A21F411\r
+:100D3000F894E0E0F8E109958091BB008C3908F463\r
+:100D4000F1C41092BB00C090D200D090D30080912B\r
+:100D5000960090919700C81AD90AE090D000F090C0\r
+:100D6000D1008091940090919500E81AF90AA09022\r
+:100D7000CE00B090CF008091920090919300A81A7D\r
+:100D8000B90AC091CC00D091CD0080919000909193\r
+:100D90009100C81BD90BB601882777FD8095982F45\r
+:100DA0000E94EE0D2AE037ED43E25CE30E94530D12\r
+:100DB0000E94BB0D7093BA006093B900B7018827F9\r
+:100DC00077FD8095982F0E94EE0D2AE037ED43E2E3\r
+:100DD0005CE30E94530D0E94BB0D7093B8006093BA\r
+:100DE000B700B501882777FD8095982F0E94EE0DFA\r
+:100DF0002AE037ED43E25CE30E94530D0E94BB0DF5\r
+:100E00007093B6006093B500BE01882777FD80958A\r
+:100E1000982F0E94EE0D2AE037ED43E25CE30E943A\r
+:100E2000530D0E94BB0D7093B4006093B300B601E4\r
+:100E30006E0D7F1D882777FD8095982F0E94EE0DFF\r
+:100E40002AE931E043ED55E40E94530D6B017C012A\r
+:100E5000B5016C0F7D1F882777FD8095982F0E9424\r
+:100E6000EE0D2AE931E043ED55E40E94530D4B01AC\r
+:100E70005C014090A7005090A8006090A90070907D\r
+:100E8000AA00A70196010E94E70C25E236E041E89E\r
+:100E90005EE30E94530D9B01AC01C301B2010E94AD\r
+:100EA000E80C6093A7007093A8008093A90090932A\r
+:100EB000AA006091A7007091A8008091A90090916C\r
+:100EC000AA002BED3FE049EC50E40E94D70E181623\r
+:100ED0007CF46091A7007091A8008091A900909186\r
+:100EE000AA002BED3FE049EC50E40E94E70C1EC045\r
+:100EF0006091A7007091A8008091A9009091AA002C\r
+:100F00002BED3FE049EC50E40E944C0D87FF16C0EA\r
+:100F10006091A7007091A8008091A9009091AA000B\r
+:100F20002BED3FE049EC50E40E94E80C6093A700F1\r
+:100F30007093A8008093A9009093AA00A501940142\r
+:100F4000C701B6010E94E80C20E030E040E05FE31A\r
+:100F50000E94DB0E6B017C018090AF009090B0008E\r
+:100F6000A090B100B090B2006091A7007091A8006D\r
+:100F70008091A9009091AA000E94500DA7019601AE\r
+:100F80000E94DB0E9B01AC01C501B4010E94E80C7C\r
+:100F90006093AF007093B0008093B1009093B20063\r
+:100FA0008090AB009090AC00A090AD00B090AE00EF\r
+:100FB0006091A7007091A8008091A9009091AA006B\r
+:100FC0000E943E0FA70196010E94DB0E9B01AC011F\r
+:100FD000C501B4010E94E80C6093AB007093AC00B3\r
+:100FE0008093AD009093AE008091D2009091D30099\r
+:100FF00090939700809396008091D0009091D100BB\r
+:1010000090939500809394008091CE009091CF00B2\r
+:1010100090939300809392008091CC009091CD00AA\r
+:1010200090939100809390008091CB00813009F0E3\r
+:1010300099C08091C2009091C300892B29F410922D\r
+:10104000DB001092DA008EC0C091C200D091C300C4\r
+:101050008091B9009091BA00C81BD90B2E0166246B\r
+:1010600057FC6094762CC0908C00D0908D00E0905E\r
+:101070008E00F0908F00C40CD51CE61CF71CC092AB\r
+:101080008C00D0928D00E0928E00F0928F006091E3\r
+:10109000DA007091DB00882777FD8095982F0E94F9\r
+:1010A000EE0D4B015C01C301B2010E94EE0D2CEB71\r
+:1010B00034E743E15CE30E94DB0E2B013C01C701F6\r
+:1010C000B6010E94EE0D2BE631ED46E05AE30E9498\r
+:1010D000DB0E9B01AC01C301B2010E94E80C6B0165\r
+:1010E0007C0180918A0090918B00BE01681B790B76\r
+:1010F000882777FD8095982F0E94EE0D2CE234ED25\r
+:101100004AE15DE30E94DB0E9B01AC01C701B60121\r
+:101110000E94E80C9B01AC01C501B4010E94E80CDF\r
+:101120000E94BB0D7093DB006093DA00D0938B00BC\r
+:10113000C0938A008091DA009091DB008F3F910587\r
+:1011400031F02CF01093DB000093DA000BC080919B\r
+:10115000DA009091DB0081309F4F24F43092DB0065\r
+:101160002092DA008091CA00813009F099C0809104\r
+:10117000C0009091C100892B29F41092D9001092DF\r
+:10118000D8008EC0C091C000D091C1008091B7003E\r
+:101190009091B800C81BD90B2E01662457FC6094AF\r
+:1011A000762CC0908600D0908700E0908800F09068\r
+:1011B0008900C40CD51CE61CF71CC0928600D09296\r
+:1011C0008700E0928800F09289006091D8007091C9\r
+:1011D000D900882777FD8095982F0E94EE0D4B014E\r
+:1011E0005C01C301B2010E94EE0D2CEB34E743E138\r
+:1011F0005CE30E94DB0E2B013C01C701B6010E949B\r
+:10120000EE0D2BE631ED46E05AE30E94DB0E9B012A\r
+:10121000AC01C301B2010E94E80C6B017C0180911A\r
+:10122000840090918500BE01681B790B882777FDAB\r
+:101230008095982F0E94EE0D2CE234ED4AE15DE39B\r
+:101240000E94DB0E9B01AC01C701B6010E94E80CB5\r
+:101250009B01AC01C501B4010E94E80C0E94BB0DCA\r
+:101260007093D9006093D800D0938500C093840018\r
+:101270008091D8009091D9008F3F910531F02CF0EA\r
+:101280001093D9000093D8000BC08091D8009091A2\r
+:10129000D90081309F4F24F43092D9002092D80099\r
+:1012A0008091C900813009F099C08091BE00909171\r
+:1012B000BF00892B29F41092D7001092D6008EC05F\r
+:1012C000C091BE00D091BF008091B5009091B60052\r
+:1012D000C81BD90B2E01662457FC6094762CC09055\r
+:1012E0008000D0908100E0908200F0908300C40CD8\r
+:1012F000D51CE61CF71CC0928000D0928100E092C1\r
+:101300008200F09283006091D6007091D700882708\r
+:1013100077FD8095982F0E94EE0D4B015C01C30173\r
+:10132000B2010E94EE0D2CEB34E743E15CE30E9436\r
+:10133000DB0E2B013C01C701B6010E94EE0D2BE62E\r
+:1013400031ED46E05AE30E94DB0E9B01AC01C30184\r
+:10135000B2010E94E80C6B017C0180917E009091AB\r
+:101360007F00BE01681B790B882777FD8095982F39\r
+:101370000E94EE0D2CE234ED4AE15DE30E94DB0EAB\r
+:101380009B01AC01C701B6010E94E80C9B01AC01B6\r
+:10139000C501B4010E94E80C0E94BB0D7093D700F8\r
+:1013A0006093D600D0937F00C0937E008091D600DA\r
+:1013B0009091D7008F3F910531F02CF01093D7001A\r
+:1013C0000093D6000BC08091D6009091D700813059\r
+:1013D0009F4F24F43092D7002092D6008091C8000D\r
+:1013E000813009F099C08091BC009091BD00892B9B\r
+:1013F00029F41092D5001092D4008EC0C091BC0088\r
+:10140000D091BD008091B3009091B400C81BD90B5E\r
+:101410002E01662457FC6094762CC0907A00D09000\r
+:101420007B00E0907C00F0907D00C40CD51CE61C95\r
+:10143000F71CC0927A00D0927B00E0927C00F09280\r
+:101440007D006091D4007091D500882777FD80954C\r
+:10145000982F0E94EE0D4B015C01C301B2010E9466\r
+:10146000EE0D2CEB34E743E15CE30E94DB0E2B0135\r
+:101470003C01C701B6010E94EE0D2BE631ED46E0BE\r
+:101480005AE30E94DB0E9B01AC01C301B2010E9432\r
+:10149000E80C6B017C018091780090917900BE018D\r
+:1014A000681B790B882777FD8095982F0E94EE0D99\r
+:1014B0002CE234ED4AE15DE30E94DB0E9B01AC01BE\r
+:1014C000C701B6010E94E80C9B01AC01C501B40143\r
+:1014D0000E94E80C0E94BB0D7093D5006093D4006D\r
+:1014E000D0937900C09378008091D4009091D5007A\r
+:1014F0008F3F910531F02CF01093D5000093D4006C\r
+:101500000BC08091D4009091D50081309F4F24F47E\r
+:101510003092D5002092D4008091DA009091DB00C7\r
+:10152000209166003091670028173907B9F1809142\r
+:10153000DA009091DB00892B19F485B38C6017C019\r
+:101540008091C700811107C08091DA009091DB0083\r
+:101550001816190654F08091C700882351F0809125\r
+:10156000DA009091DB0097FF04C085B3837F85BBD1\r
+:1015700002C0AA98AB9A8091DA009091DB00909318\r
+:101580006700809366008091DA009091DB0097FFFE\r
+:1015900003C09195819591099BBD8ABD8091D8002A\r
+:1015A0009091D90020916400309165002817390787\r
+:1015B000B9F18091D8009091D900892B19F485B3A5\r
+:1015C000806317C08091C600811107C08091D80048\r
+:1015D0009091D9001816190654F08091C6008823FE\r
+:1015E00051F08091D8009091D90097FF04C085B345\r
+:1015F0008F7C85BB02C0AC98AD9A8091D800909149\r
+:10160000D90090936500809364008091D8009091F8\r
+:10161000D90097FF03C091958195910999BD88BD27\r
+:101620008091D6009091D7002091620030916300A4\r
+:1016300028173907B1F18091D6009091D700892BF6\r
+:1016400019F485B3806C17C08091C500811107C063\r
+:101650008091D6009091D7001816190654F0809109\r
+:10166000C500882351F08091D6009091D70097FF54\r
+:1016700004C085B38F7385BB02C0AE98AF9A8091CA\r
+:10168000D6009091D7009093630080936200809180\r
+:10169000D6009091D70097FF03C09195819591094D\r
+:1016A00083BD8091D4009091D5002091600030914D\r
+:1016B000610028173907B1F18091D4009091D500CD\r
+:1016C000892B19F482B38C6017C08091C4008111FA\r
+:1016D00007C08091D4009091D5001816190654F0D7\r
+:1016E0008091C400882351F08091D4009091D5005E\r
+:1016F00097FF04C082B3837F82BB02C09298939A03\r
+:101700008091D4009091D500909361008093600007\r
+:101710008091D4009091D50097FF03C09195819559\r
+:1017200091098CBF85B7806885BF889585B78F770D\r
+:1017300085BFF6CA6F927F929F92AF92BF92CF926F\r
+:10174000DF92EF92FF920F931F93CF93DF93CDB76A\r
+:10175000DEB72C970FB6F894DEBF0FBECDBF8C015D\r
+:101760007B013A01FC0117821682838181FF19C136\r
+:10177000CE0101965C01F801D380F701D3FC2591DD\r
+:10178000D3FE21917F01222309F407C1253249F4B8\r
+:10179000D3FC2591D3FE21917F01253211F0912CAC\r
+:1017A0001BC0B801822F90E00E9425106301360112\r
+:1017B000E2CF222309F4F1C0622F70E08FE991E0BB\r
+:1017C0002C870E94CF0F2C85892B49F0F701D3FC81\r
+:1017D0002591D3FE21917F0197FEEBCF0CC02332E0\r
+:1017E00021F4F92DF0619F2EF1CF2C3639F4292DFB\r
+:1017F0002068922EEBCF222309F4CFC0622F70E035\r
+:1018000088E991E02C870E94CF0F2C85892B41F02D\r
+:101810006301F4E0CF0ED11CB8018FE390E012C059\r
+:10182000233641F0233789F0233521F5F92DF16076\r
+:101830009F2E0BC0630122E0C20ED11CB801F30140\r
+:10184000808191810E942510B2CF630122E0C20EF7\r
+:10185000D11CF30160807180F30190FC859190FEB2\r
+:1018600081913F01882309F4A2CFB80190E00E9442\r
+:101870002510F2CF243611F0293639F5630197FE91\r
+:1018800009C0F4E0CF0ED11CF30160817181828127\r
+:1018900093810AC0F2E0CF0ED11CF3016081718107\r
+:1018A000882777FD8095982FF92DFF7E9F2E97FF33\r
+:1018B00009C090958095709561957F4F8F4F9F4F90\r
+:1018C000F0649F2E2AE030E038C02037A1F040F4C9\r
+:1018D0002835D1F02F3609F060C028E030E019C07B\r
+:1018E000253719F0283751F058C0292D2F7E922E18\r
+:1018F0002AE030E00EC0892D8061982E992D9462E7\r
+:10190000992E20E130E005C0E92DE4609E2E20E113\r
+:1019100032E0630197FE09C0F4E0CF0ED11CF30161\r
+:10192000608171818281938108C0F2E0CF0ED11C69\r
+:10193000F3016081718180E090E0A5010E94841034\r
+:10194000782E7A1896FE05C0B8018DE290E00E94CC\r
+:10195000251094FE16C0FE01E70DF11D8081803335\r
+:1019600081F0B80180E390E00E94251092FE09C04A\r
+:10197000292D2072822F90E0B801885A9F4F0E9433\r
+:1019800025107A94F501E70DF11D8081B80190E0F2\r
+:101990000E9425107110F5CF0ACFF801868197813A\r
+:1019A00002C08FEF9FEF2C960FB6F894DEBF0FBEEC\r
+:1019B000CDBFDF91CF911F910F91FF90EF90DF90FE\r
+:1019C000CF90BF90AF909F907F906F9008955058A8\r
+:1019D000BB27AA270ED0A0C169D130F06ED120F06C\r
+:1019E00031F49F3F11F41EF45EC10EF4E095E7FB65\r
+:1019F00054C1E92FB3D180F3BA1762077307840784\r
+:101A0000950718F071F49EF5CBC10EF4E0950B2EFE\r
+:101A1000BA2FA02D0B01B90190010C01CA01A00140\r
+:101A20001124FF27591B99F0593F50F4503E68F19B\r
+:101A30001A16F040A22F232F342F4427585FF3CFDC\r
+:101A4000469537952795A795F0405395C9F77EF4AD\r
+:101A50001F16BA0B620B730B840BBAF09150A1F0F6\r
+:101A6000FF0FBB1F661F771F881FC2F70EC0BA0F7C\r
+:101A7000621F731F841F48F4879577956795B79504\r
+:101A8000F7959E3F08F0B3CF9395880F08F09927FC\r
+:101A9000EE0F979587950895DCD008F481E00895BE\r
+:101AA00014D1E3954AC10CD037C107D140F0FED024\r
+:101AB00030F021F45F3F19F0F0C0511172C1F3C052\r
+:101AC0004DD198F39923C9F35523B1F3951B550BC9\r
+:101AD000BB27AA2762177307840738F09F5F5F4F01\r
+:101AE000220F331F441FAA1FA9F333D00E2E3AF042\r
+:101AF000E0E830D091505040E695001CCAF729D05C\r
+:101B0000FE2F27D0660F771F881FBB1F26173707AA\r
+:101B10004807AB07B0E809F0BB0B802DBF01FF27DA\r
+:101B200093585F4F2AF09E3F510568F0B6C039C107\r
+:101B30005F3FECF3983EDCF3869577956795B79514\r
+:101B4000F7959F5FC9F7880F911D9695879597F92F\r
+:101B50000895E1E0660F771F881FBB1F62177307A8\r
+:101B60008407BA0720F0621B730B840BBA0BEE1FBD\r
+:101B700088F7E095089504D06894B11112C10895D2\r
+:101B8000F5D088F09F5790F0B92F9927B751A0F062\r
+:101B9000D1F0660F771F881F991F1AF0BA95C9F701\r
+:101BA00012C0B13081F0FCD0B1E00895F9C0672FC8\r
+:101BB000782F8827B85F39F0B93FCCF386957795B1\r
+:101BC0006795B395D9F73EF490958095709561959A\r
+:101BD0007F4F8F4F9F4F0895E89409C097FB3EF4C5\r
+:101BE00090958095709561957F4F8F4F9F4F99236A\r
+:101BF000A9F0F92F96E9BB279395F69587957795E8\r
+:101C00006795B795F111F8CFFAF4BB0F11F460FFA7\r
+:101C10001BC06F5F7F4F8F4F9F4F16C0882311F0FF\r
+:101C200096E911C0772321F09EE8872F762F05C013\r
+:101C3000662371F096E8862F70E060E02AF09A95AE\r
+:101C4000660F771F881FDAF7880F9695879597F9A3\r
+:101C50000895990F0008550FAA0BE0E8FEEF16163D\r
+:101C60001706E807F907C0F012161306E407F50790\r
+:101C700098F0621B730B840B950B39F40A2661F004\r
+:101C8000232B242B252B21F408950A2609F4A140A7\r
+:101C9000A6958FEF811D811D089597F99F6780E8B4\r
+:101CA00070E060E008959FEF80EC089500240A94AE\r
+:101CB0001616170618060906089500240A94121627\r
+:101CC0001306140605060895EECF50D0E8F3E89405\r
+:101CD000E0E0BB279F57F0F02AED3FE049EC06C05B\r
+:101CE000EE0FBB0F661F771F881F28F0B23A6207FE\r
+:101CF0007307840728F0B25A620B730B840BE395C9\r
+:101D00009A9572F7803830F49A95BB0F661F771F4B\r
+:101D1000881FD2F79048BAC0092E0394000C11F422\r
+:101D2000882352F0BB0F40F4BF2B11F460FF04C0B6\r
+:101D30006F5F7F4F8F4F9F4F0895EF93E0FF06C077\r
+:101D4000A2EA2AED3FE049EC5FEB53DEE5DF0F90BE\r
+:101D5000039401FC9058EAE7F1E0A4C057FD9058C5\r
+:101D6000440F551F59F05F3F71F04795880F97FB5F\r
+:101D7000991F61F09F3F79F0879508951216130619\r
+:101D80001406551FF2CF4695F1DF08C01616170648\r
+:101D90001806991FF1CF869571056105089408957D\r
+:101DA000E894BB2766277727CB0197F9089551DF81\r
+:101DB00008F48FEF08950BD0AFCF78DF28F07DDFE8\r
+:101DC00018F0952309F069CF6ECF1124EACFC6DF52\r
+:101DD000A0F3959FD1F3950F50E0551F629FF0013E\r
+:101DE000729FBB27F00DB11D639FAA27F00DB11D97\r
+:101DF000AA1F649F6627B00DA11D661F829F222720\r
+:101E0000B00DA11D621F739FB00DA11D621F839FA6\r
+:101E1000A00D611D221F749F3327A00D611D231F7C\r
+:101E2000849F600D211D822F762F6A2F11249F57CA\r
+:101E300050408AF0E1F088234AF0EE0FFF1FBB1FED\r
+:101E4000661F771F881F91505040A9F79E3F51058C\r
+:101E500070F023CFA6CF5F3FECF3983EDCF386957E\r
+:101E600077956795B795F795E7959F5FC1F7FE2B37\r
+:101E7000880F911D9695879597F908959F9325DF73\r
+:101E80000F9007FCEE5F59CF9F3F31F0915020F447\r
+:101E9000879577956795B795880F911D9695879546\r
+:101EA00097F908959F938F937F936F93FF93EF9389\r
+:101EB0009B01AC0180DFEF91FF9105D02F913F9105\r
+:101EC0004F915F9178CFDF93CF931F930F93FF9242\r
+:101ED000EF92DF927B018C01689405C0DA2EEF014E\r
+:101EE00076DFFE01E894A5912591359145915591B4\r
+:101EF000AEF3EF017EDDFE019701A801DA9479F7D8\r
+:101F0000DF90EF90FF900F911F91CF91DF91089597\r
+:101F1000052E97FB1EF400940E949F0F57FD07D0DB\r
+:101F20000E94AD0F07FC03D04EF40C949F0F509508\r
+:101F30004095309521953F4F4F4F5F4F08959095B5\r
+:101F40008095709561957F4F8F4F9F4F0895EE0F4D\r
+:101F5000FF1F0590F491E02D0994A1E21A2EAA1B0F\r
+:101F6000BB1BFD010DC0AA1FBB1FEE1FFF1FA21749\r
+:101F7000B307E407F50720F0A21BB30BE40BF50B46\r
+:101F8000661F771F881F991F1A9469F760957095CF\r
+:101F9000809590959B01AC01BD01CF010895FC0196\r
+:101FA0000590061621F00020D9F7C0010895319759\r
+:101FB000CF0108950F931F93CF93DF93EC018B0113\r
+:101FC000009731F46115710519F480E090E038C094\r
+:101FD0006EE070E081E090E00E94E210FC0100976A\r
+:101FE000A1F380E883830115110571F0138702873F\r
+:101FF00081E883838091490190914A01892B21F4E2\r
+:10200000F0934A01E09349012097C9F0D187C08736\r
+:1020100083818260838380914B0190914C01892B55\r
+:1020200071F4F0934C01E0934B0180914D0190913C\r
+:102030004E01892B21F4F0934E01E0934D01CF0125\r
+:10204000DF91CF911F910F9108950F931F93CF931D\r
+:10205000DF93182F092FEB018B8181FD03C08FEFD8\r
+:102060009FEF20C082FF10C04E815F812C813D8197\r
+:10207000421753077CF4E881F9819F012F5F3F4F9E\r
+:1020800039832883108306C0E885F985812F099557\r
+:10209000892B29F72E813F812F5F3F4F3F832E836E\r
+:1020A000812F902FDF91CF911F910F9108950F9362\r
+:1020B0001F93CF93DF93E0914B01F0914C0123816B\r
+:1020C00021FF1BC0EC0100E010E0899160914B0101\r
+:1020D00070914C01DB011896ED91FC9119978823C2\r
+:1020E00031F00995892B89F30FEF1FEFEECF8AE0CE\r
+:1020F0000995892B11F4C80102C08FEF9FEFDF9182\r
+:10210000CF911F910F910895FA01AA27283051F11C\r
+:10211000203181F1E8946F936E7F6E5F7F4F8F4F18\r
+:102120009F4FAF4FB1E03ED0B4E03CD0670F781F77\r
+:10213000891F9A1FA11D680F791F8A1F911DA11D5C\r
+:102140006A0F711D811D911DA11D20D009F4689495\r
+:102150003F912AE0269F11243019305D3193DEF63D\r
+:10216000CF010895462F4770405D4193B3E00FD0F3\r
+:10217000C9F7F6CF462F4F70405D4A3318F0495DDE\r
+:1021800031FD4052419302D0A9F7EACFB4E0A695C1\r
+:102190009795879577956795BA95C9F700976105E3\r
+:1021A000710508959B01AC010A2E06945795479539\r
+:1021B00037952795BA95C9F7620F731F841F951F2E\r
+:1021C000A01D08950F931F93CF93DF93869F8001E7\r
+:1021D000879F100D969F100D1124C8010E94FE10BC\r
+:1021E000EC01009729F0A80160E070E00E94251240\r
+:1021F000CE01DF91CF911F910F910895CF93DF937F\r
+:102200008230910510F482E090E0E0915101F0916C\r
+:10221000520120E030E0A0E0B0E0309739F1408199\r
+:10222000518148175907B8F04817590771F482814E\r
+:102230009381109729F013969C938E9312972CC03C\r
+:10224000909352018093510127C02115310531F03F\r
+:102250004217530718F0A901DB0101C0EF019A01F1\r
+:10226000BD01DF010280F381E02DD7CF21153105BB\r
+:10227000F9F0281B390B2430310580F48A819B81C9\r
+:102280006115710521F0FB019383828304C0909353\r
+:10229000520180935101FE01329644C0FE01E20FCB\r
+:1022A000F31F8193919322503109398328833AC0D7\r
+:1022B00020914F0130915001232B41F420916A006D\r
+:1022C00030916B003093500120934F0120916800B2\r
+:1022D000309169002115310541F42DB73EB7409189\r
+:1022E0006C0050916D00241B350BE0914F01F09173\r
+:1022F0005001E217F307A0F42E1B3F0B28173907F4\r
+:1023000078F0AC014E5F5F4F2417350748F04E0F51\r
+:102310005F1F5093500140934F018193919302C0EE\r
+:10232000E0E0F0E0CF01DF91CF910895CF93DF930C\r
+:10233000009709F487C0FC01329713821282C09182\r
+:102340005101D0915201209781F420813181280FD1\r
+:10235000391F80914F01909150018217930779F5B1\r
+:10236000F0935001E0934F016DC0DE0120E030E0BA\r
+:10237000AE17BF0750F412964D915C9113979D01D3\r
+:102380004115510509F1DA01F3CFB383A2834081EE\r
+:102390005181840F951F8A179B0771F48D919C9131\r
+:1023A0001197840F951F02969183808312968D91C9\r
+:1023B0009C911397938382832115310529F4F0931F\r
+:1023C0005201E09351013EC0D9011396FC93EE9364\r
+:1023D00012974D915D91A40FB51FEA17FB0779F491\r
+:1023E00080819181840F951F0296D90111969C934B\r
+:1023F0008E938281938113969C938E931297E0E043\r
+:10240000F0E08A819B81009719F0FE01EC01F9CF81\r
+:10241000CE01029628813981820F931F20914F01AE\r
+:10242000309150012817390769F4309729F4109238\r
+:1024300052011092510102C013821282D0935001B6\r
+:10244000C0934F01DF91CF910895DC0101C06D93DE\r
+:0C24500041505040E0F70895F894FFCF91\r
+:10245C0000800080008000800000530120000D0AE5\r
+:08246C0053746172740D00004D\r
 :00000001FF\r