From: Erik Andresen Date: Sun, 24 May 2015 09:03:34 +0000 (+0200) Subject: avr fixes X-Git-Url: https://defiant.homedns.org/gitweb/?a=commitdiff_plain;h=ab3290814e1fab8601b32646745b8932412652c8;p=ros_wild_thumper.git avr fixes --- diff --git a/avr/motor_ctrl/fuses.txt b/avr/motor_ctrl/fuses.txt new file mode 100644 index 0000000..87a8a04 --- /dev/null +++ b/avr/motor_ctrl/fuses.txt @@ -0,0 +1,5 @@ +http://palmavr.sourceforge.net/cgi-bin/fc.cgi + +avrdude -p atmega32 -P usb -c avrisp2 -U lfuse:r:-:i -U hfuse:r:-:i + +avrdude -p atmega32 -P usb -c avrisp2 -U lfuse:w:0x23:m -U hfuse:w:0xc9:m diff --git a/avr/motor_ctrl/main.c b/avr/motor_ctrl/main.c index 0c07d13..09a8a72 100644 --- a/avr/motor_ctrl/main.c +++ b/avr/motor_ctrl/main.c @@ -81,22 +81,11 @@ static volatile int16_t speed1_wish=0; static volatile int16_t speed2_wish=0; static volatile int16_t speed3_wish=0; static volatile int16_t speed4_wish=0; -static volatile int16_t speed1=0; -static volatile int16_t speed2=0; -static volatile int16_t speed3=0; -static volatile int16_t speed4=0; -static volatile int16_t eold1=0; -static volatile int16_t eold2=0; -static volatile int16_t eold3=0; -static volatile int16_t eold4=0; -static volatile int32_t esum1=0; -static volatile int32_t esum2=0; -static volatile int32_t esum3=0; -static volatile int32_t esum4=0; -static volatile int16_t pos1_last=0; -static volatile int16_t pos2_last=0; -static volatile int16_t pos3_last=0; -static volatile int16_t pos4_last=0; +static volatile uint16_t run_pid=0; +static int16_t speed1=0; +static int16_t speed2=0; +static int16_t speed3=0; +static int16_t speed4=0; ISR(TWI_vect) { @@ -323,8 +312,8 @@ static void update_hall1(void) { diff = oldstatus - new; // difference last - new if (diff & 0x1) { // bit 0 = value (1) oldstatus = new; // store new as next last - if (motor1_switch) pos1 -= (diff & 2) - 1; // bit 1 = direction (+/-) - else pos1 += (diff & 2) - 1; + if (motor1_switch) pos1 += (diff & 2) - 1; // bit 1 = direction (+/-) + else pos1 -= (diff & 2) - 1; } } @@ -462,13 +451,20 @@ static void update_motor(void) { } -ISR(TIMER0_OVF_vect) { - update_hall1(); - update_hall2(); - update_hall3(); - update_hall4(); +void update_pid(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; + static int16_t eold1=0; + static int16_t eold2=0; + static int16_t eold3=0; + static int16_t eold4=0; + static int32_t esum1=0; + static int32_t esum2=0; + static int32_t esum3=0; + static int32_t esum4=0; - // PID control if (motor1_mode == MOTOR_PID) { speed1 = (pos1 - pos1_last)/TIMER0_T; @@ -540,6 +536,16 @@ ISR(TIMER0_OVF_vect) { } +ISR(TIMER1_OVF_vect) { + update_hall1(); + update_hall2(); + update_hall3(); + update_hall4(); + + run_pid++; +} + + int main(void) { // Outputs DDRB = (1 << 3); @@ -555,23 +561,23 @@ int main(void) { TWI_RESET; // Motor 1 & 2 - // Timer 1: Fast PWM inverting mode, Top=256 => 15.625Hz + // Timer 1: Fast PWM inverting mode, Top=256 => 15.625kHz // Prescaler=1 - TCCR1A = (1 << COM1A1) | (1 << COM1B1) | (1 << WGM10); + TCCR1A = (1 << COM1A1) | (1 << COM1B1) | (1 << COM1A0) | (1 << COM1B0) | (1 << WGM10); TCCR1B = (1 << WGM12) | (1 << CS10); OCR1A = 0; OCR1B = 0; // Motor 3 - // Timer 2: Fast PWM, Top=256 => 15.625Hz + // Timer 2: Fast PWM inverting mode, Top=256 => 15.625kHz // Prescaler=1 - TCCR2 = (1 << WGM21) | (1 << WGM20) | (1 << COM21) | (1 << CS20); + TCCR2 = (1 << WGM21) | (1 << WGM20) | (1 << COM21) | (1 << COM20) | (1 << CS20); OCR2 = 0; // Motor 4 - // Timer 0: Fast PWM, Top=256 => 15.625Hz + // Timer 0: Fast PWM inverting mode, Top=256 => 15.625kHz // Prescaler=1 - TCCR0 = (1 << WGM01) | (1 << WGM00) | (1 << COM01) | (1 << CS00); + TCCR0 = (1 << WGM01) | (1 << WGM00) | (1 << COM01) | (1 << COM00) | (1 << CS00); OCR0 = 0; printf("\r\nStart\r\n"); @@ -593,6 +599,13 @@ int main(void) { } break; } + + + if (run_pid >= 781) { // ~20Hz + run_pid=0; + update_pid(); + } + update_motor(); sleep_mode(); diff --git a/avr/motor_ctrl/main.hex b/avr/motor_ctrl/main.hex index 6b1dece..1b859ba 100644 --- a/avr/motor_ctrl/main.hex +++ b/avr/motor_ctrl/main.hex @@ -1,7 +1,7 @@ :100000000C945C000C9479000C9479000C947900A9 :100010000C9479000C9479000C9479000C9479007C -:100020000C9479000C9479000C9479000C94E30101 -:100030000C9479000C9405060C9479000C947900CA +:100020000C9479000C94F0040C9479000C947900F1 +:100030000C9479000C94CD050C9479000C94790003 :100040000C9479000C9479000C9479000C947B004A :100050000C9479007901C9017C01C9017F01C901B2 :100060008101C901C901C901C901C901C901C90188 @@ -10,447 +10,441 @@ :100090009F01A401A901AE01B301B801BD01C201D4 :1000A00045464765666700202B2D2E3031323334AC :1000B000353637383968000011241FBECFE5D8E047 -:1000C000DEBFCDBF10E0A0E6B0E0E6E4FCE102C098 +:1000C000DEBFCDBF10E0A0E6B0E0E0EFFBE102C094 :1000D00005900D92A837B107D9F721E0A8E7B0E065 -:1000E00001C01D92AE33B207E1F70E94FA060C94EC -:1000F000210E0C9400001F920F920FB60F92112444 +:1000E00001C01D92A034B207E1F70E94C2060C9431 +:1000F000F60D0C9400001F920F920FB60F92112470 :100100002F938F939F93AF93BF93EF93FF9381B1FF :10011000887F803881F040F4803609F043C185EC57 -:1001200086BF1092C80043C1883A09F4D5C0883B05 -:1001300009F4D2C037C18091C800813209F495C05A +:1001200086BF1092CA0043C1883A09F4D5C0883B03 +:1001300009F4D2C037C18091CA00813209F495C058 :1001400068F5843009F479C060F4813009F4A7C0FF :1001500008F45EC0823009F464C0833009F49FC0A3 :1001600019C1873009F49BC090F4853009F497C019 -:10017000863009F00FC183B120917E0090E0922B70 -:100180009093C2008093C1001092B40000C18830E7 +:10017000863009F00FC183B120919E0090E0922B50 +:100180009093C4008093C3001092B60000C18830E1 :1001900009F45FC0803209F482C0FCC0873209F4E0 :1001A00082C0F0F4843209F47AC098F4823209F4FF -:1001B00076C0833209F0EEC083B120917E0090E0DA -:1001C000922B9093AC008093AB0081E08093B500BC +:1001B00076C0833209F0EEC083B120919E0090E0BA +:1001C000922B9093AE008093AD0081E08093B700B6 :1001D000DEC0853209F456C0863209F460C0DAC048 :1001E000823909F471C050F4803909F469C0813949 -:1001F00009F0D0C083B18093B100C9C0833909F43C -:1002000067C08F3F09F0C6C083B18093C700C2C0EA -:1002100083B18093C8008091C80081508093C8004A -:10022000B6C083B120917E0090E0922B9093C600DF -:100230008093C5001092B600AAC083B120917E00C1 -:1002400090E0922B9093C4008093C3001092B5006D -:100250009EC083B120917E0090E0922B9093C000CD -:100260008093BF001092B30092C083B120917E00B2 -:1002700090E0922B9093AE008093AD0081E080934C -:10028000B60085C083B120917E0090E0922B9093C0 -:10029000AA008093A90081E08093B40078C083B164 -:1002A00080937E0074C083B120917E0090E0922BF9 -:1002B0009093A8008093A70081E08093B30067C06B -:1002C00083B18093B20063C083B18093B0005FC0FC -:1002D00083B18093AF005BC08091C80090E0FC01C7 +:1001F00009F0D0C083B18093B300C9C0833909F43A +:1002000067C08F3F09F0C6C083B18093C900C2C0E8 +:1002100083B18093CA008091CA0081508093CA0044 +:10022000B6C083B120919E0090E0922B9093C800BD +:100230008093C7001092B800AAC083B120919E009D +:1002400090E0922B9093C6008093C5001092B70067 +:100250009EC083B120919E0090E0922B9093C200AB +:100260008093C1001092B50092C083B120919E008E +:1002700090E0922B9093B0008093AF0081E0809348 +:10028000B80085C083B120919E0090E0922B90939E +:10029000AC008093AB0081E08093B60078C083B15E +:1002A00080939E0074C083B120919E0090E0922BB9 +:1002B0009093AA008093A90081E08093B50067C065 +:1002C00083B18093B40063C083B18093B2005FC0F8 +:1002D00083B18093B1005BC08091CA0090E0FC01C3 :1002E0003297E632F10508F054C0E65DFF4F0C94FA -:1002F0009C0B8AB59BB54AC088B599B547C083B5F4 -:1003000045C08CB743C08091BD009091BE0004C031 -:100310008091BB009091BC0090937D0080937C0005 -:1003200093B935C08091B9009091BA00F5CF809112 -:10033000B7009091B800F0CF80917C0027C08091E9 -:10034000AD009091AE00ECCF8091AD009091AE00E9 -:100350001DC08091AB009091AC00E2CF8091AB00CA -:100360009091AC0013C08091A9009091AA00D8CFC1 -:100370008091A9009091AA0009C08091A700909156 -:10038000A800CECF8091A7009091A80083B985ECFA -:1003900002C013B885E886BF8091C8008F5F809344 -:1003A000C80005C086B78B7E86BF85EC86BFFF91EF +:1002F000710B8AB59BB54AC088B599B547C083B51F +:1003000045C08CB743C08091BF009091C00004C02D +:100310008091BD009091BE0090939D0080939C00C1 +:1003200093B935C08091BB009091BC00F5CF80910E +:10033000B9009091BA00F0CF80919C0027C08091C5 +:10034000AF009091B000ECCF8091AF009091B000E1 +:100350001DC08091AD009091AE00E2CF8091AD00C4 +:100360009091AE0013C08091AB009091AC00D8CFBB +:100370008091AB009091AC0009C08091A900909150 +:10038000AA00CECF8091A9009091AA0083B985ECF4 +:1003900002C013B885E886BF8091CA008F5F809342 +:1003A000CA0005C086B78B7E86BF85EC86BFFF91ED :1003B000EF91BF91AF919F918F912F910F900FBEB1 -:1003C0000F901F9018951F920F920FB60F92112445 -:1003D0004F925F926F927F928F929F92AF92BF9255 -:1003E000CF92DF92EF92FF920F931F932F933F9341 -:1003F0004F935F936F937F938F939F93AF93BF932D -:10040000CF93DF93EF93FF9399B390FD02C080E009 -:1004100001C083E091FF02C091E0892720917B0019 -:10042000281B20FF1FC080937B008091B2002270A8 -:10043000882359F08091BD009091BE0041E050E0CA -:10044000421B5109840F951F09C08091BD009091F6 -:10045000BE0030E021503109820F931F9093BE00FF -:100460008093BD0099B39695969590FD02C080E06B -:1004700001C083E091FF02C091E0892720917A00BA -:10048000281B20FF1FC080937A008091B100422F6B -:100490004270882349F08091BB009091BC00242FCA -:1004A00030E02150310908C08091BB009091BC0020 -:1004B00021E030E0241B3109820F931F9093BC0090 -:1004C0008093BB0099B392959F7090FD02C080E02D -:1004D00001C083E091FF02C091E08927209179005B -:1004E000281B20FF1FC0809379008091B000422F0D -:1004F0004270882349F08091B9009091BA00242F6E -:1005000030E02150310908C08091B9009091BA00C3 -:1005100021E030E0241B3109820F931F9093BA0031 -:100520008093B90099B3929596959695937090FDA6 -:1005300002C080E001C083E0927011F091E0892751 -:1005400020917800281B20FF1FC0809378008091A5 -:10055000AF00422F4270882349F08091B7009091FC -:10056000B800242F30E02150310908C08091B70035 -:100570009091B80021E030E0241B3109820F931FD5 -:100580009093B8008093B7008091B600813009F055 -:10059000C3C06091BD007091BE00809185009091B4 -:1005A0008600681B790B882777FD8095982F0E941D -:1005B0008E0A2AE037ED43EA5CE30E94F3090E94C9 -:1005C0005B0A7093A6006093A5008091AD009091A6 -:1005D000AE00892B29F41092C6001092C50094C079 -:1005E000C091AD00D091AE008091A5009091A60081 -:1005F000C81BD90B8091930090919400A091950015 -:10060000B09196004E01AA2497FCA094BA2C880DB4 -:10061000991DAA1DBB1D8093930090939400A093F5 -:100620009500B09396006091C5007091C60040900F -:100630009300509094006090950070909600009107 -:100640009D0010919E00882777FD8095982F0E942D -:100650008E0A6B017C01C501B4010E948E0A20E064 -:1006600030E040E251E40E941A0B4B015C01C301EF -:10067000B2010E948E0A20E030E0A9010E941A0B0C -:100680009B01AC01C501B4010E948F094B015C01C3 -:10069000BE01601B710B882777FD8095982F0E9403 -:1006A0008E0A20E030E0A9010E941A0B9B01AC01E8 -:1006B000C501B4010E948F099B01AC01C701B601BD -:1006C0000E948F090E945B0A7093C6006093C50068 -:1006D000D0939E00C0939D008091C5009091C6006C -:1006E0008F3F910521F01CF08FEF90E009C08091C1 -:1006F000C5009091C60081309F4F34F481E09FEF98 -:100700009093C6008093C5008091BD009091BE007B -:1007100090938600809385008091B500813009F028 -:10072000C3C06091BB007091BC0080918300909128 -:100730008400681B790B882777FD8095982F0E948D -:100740008E0A2AE037ED43EA5CE30E94F3090E9437 -:100750005B0A7093A4006093A3008091AB0090911A -:10076000AC00892B29F41092C4001092C30094C0ED -:10077000C091AB00D091AC008091A3009091A400F7 -:10078000C81BD90B80918F0090919000A09191008F -:10079000B09192004E01AA2497FCA094BA2C880D27 -:1007A000991DAA1DBB1D80938F0090939000A0936C -:1007B0009100B09392006091C3007091C40040908A -:1007C0008F00509090006090910070909200009186 -:1007D0009B0010919C00882777FD8095982F0E94A0 -:1007E0008E0A6B017C01C501B4010E948E0A20E0D3 -:1007F00030E040E251E40E941A0B4B015C01C3015E -:10080000B2010E948E0A20E030E0A9010E941A0B7A -:100810009B01AC01C501B4010E948F094B015C0131 -:10082000BE01601B710B882777FD8095982F0E9471 -:100830008E0A20E030E0A9010E941A0B9B01AC0156 -:10084000C501B4010E948F099B01AC01C701B6012B -:100850000E948F090E945B0A7093C4006093C300DA -:10086000D0939C00C0939B008091C3009091C400E2 -:100870008F3F910521F01CF08FEF90E009C080912F -:10088000C3009091C40081309F4F34F481E09FEF0A -:100890009093C4008093C3008091BB009091BC00F2 -:1008A00090938400809383008091B400813009F09C -:1008B000C3C06091B9007091BA008091810090919D -:1008C0008200681B790B882777FD8095982F0E94FE -:1008D0008E0A2AE037ED43EA5CE30E94F3090E94A6 -:1008E0005B0A7093A2006093A1008091A90090918F -:1008F000AA00892B29F41092C2001092C10094C062 -:10090000C091A900D091AA008091A1009091A2006D -:10091000C81BD90B80918B0090918C00A0918D0009 -:10092000B0918E004E01AA2497FCA094BA2C880D99 -:10093000991DAA1DBB1D80938B0090938C00A093E2 -:100940008D00B0938E006091C1007091C200409004 -:100950008B0050908C0060908D0070908E00009104 -:10096000990010919A00882777FD8095982F0E9412 -:100970008E0A6B017C01C501B4010E948E0A20E041 -:1009800030E040E251E40E941A0B4B015C01C301CC -:10099000B2010E948E0A20E030E0A9010E941A0BE9 -:1009A0009B01AC01C501B4010E948F094B015C01A0 -:1009B000BE01601B710B882777FD8095982F0E94E0 -:1009C0008E0A20E030E0A9010E941A0B9B01AC01C5 -:1009D000C501B4010E948F099B01AC01C701B6019A -:1009E0000E948F090E945B0A7093C2006093C1004D -:1009F000D0939A00C09399008091C1009091C20059 -:100A00008F3F910521F01CF08FEF90E009C080919D -:100A1000C1009091C20081309F4F34F481E09FEF7C -:100A20009093C2008093C1008091B9009091BA0068 -:100A300090938200809381008091B300813009F00F -:100A4000C3C06091B7007091B80080917F00909111 -:100A50008000681B790B882777FD8095982F0E946E -:100A60008E0A2AE037ED43EA5CE30E94F3090E9414 -:100A70005B0A7093A00060939F008091A700909103 -:100A8000A800892B29F41092C0001092BF0094C0D6 -:100A9000C091A700D091A80080919F009091A000E4 -:100AA000C81BD90B8091870090918800A091890084 -:100AB000B0918A004E01AA2497FCA094BA2C880D0C -:100AC000991DAA1DBB1D8093870090938800A09359 -:100AD0008900B0938A006091BF007091C00040907F -:100AE0008700509088006090890070908A00009183 -:100AF000970010919800882777FD8095982F0E9485 -:100B00008E0A6B017C01C501B4010E948E0A20E0AF -:100B100030E040E251E40E941A0B4B015C01C3013A -:100B2000B2010E948E0A20E030E0A9010E941A0B57 -:100B30009B01AC01C501B4010E948F094B015C010E -:100B4000BE01601B710B882777FD8095982F0E944E -:100B50008E0A20E030E0A9010E941A0B9B01AC0133 -:100B6000C501B4010E948F099B01AC01C701B60108 -:100B70000E948F090E945B0A7093C0006093BF00BF -:100B8000D0939800C09397008091BF009091C000CF -:100B90008F3F910521F01CF08FEF90E009C080910C -:100BA000BF009091C00081309F4F34F481E09FEFEF -:100BB0009093C0008093BF008091B7009091B800DF -:100BC0009093800080937F00FF91EF91DF91CF9110 -:100BD000BF91AF919F918F917F916F915F914F9155 -:100BE0003F912F911F910F91FF90EF90DF90CF9049 -:100BF000BF90AF909F908F907F906F905F904F903D -:100C00000F900FBE0F901F9018951F920F920FB666 -:100C10000F9211248F939F93EF93FF935F9B16C0C6 -:100C2000E091CB00F091CC008CB1808381E0E03387 -:100C3000F80730F43196F093CC00E093CB0006C077 -:100C40008DEC90E09093CC008093CB00FF91EF91DE -:100C50009F918F910F900FBE0F901F9018959C0140 -:100C60008AB188618AB9579A80B5866080BD40E0B4 -:100C700050E084E0220F331F441F551F8A95D1F79F -:100C800060E079E08DE390E00E947D0BDA01C9011C -:100C90000197A109B109892F9A2FAB2FBB27A7FD77 -:100CA000BA9580BD215029B98DEC90E09093CA008F -:100CB0008093C9009093CC008093CB0008955D9BF6 -:100CC000FECFFC0180818CB90895CF93DF931F92F2 -:100CD000CDB7DEB78983CE0101960E945F0680E022 -:100CE00090E00F90DF91CF910895CF93DF93EC01C7 -:100CF000CE012196FC012081222319F00E945F067B -:100D0000F7CFDF91CF9108955F9BFECF8CB190E03C -:100D100008950C94840669E876E085E696E00C94E4 -:100D2000CF0BCF93DF93FC01E253FF4FA081B18142 -:100D3000EC01C453DF4F28813981A217B307A1F01A -:100D40005D9B12C02C912CB920813181AC0145539F -:100D50005F4F2417350718F42F5F3F4F03C09C01E6 -:100D600028593F4F31832083E091C900F091CA0098 -:100D70002091CB003091CC002E173F07C1F1DC0150 -:100D8000AC59BF4FCD91DC911197208128836D9193 -:100D90007C9111979C012B523F4FE9013881EB0167 -:100DA0002881321307C09C012C523F4FE901488132 -:100DB0004F5F48839C012D593F4F6217730728F4FA -:100DC000EB012196CD93DC9302C08D939C93D1E0EF -:100DD000E033FD0730F43196F093CA00E093C90088 -:100DE00006C08DEC90E09093CA008093C900DF911B -:100DF000CF91089588E087BB8CEF84BB8CEB81BBDF -:100E00001092C70080E895E20E942F060E948B0690 -:100E100080E582B986B78B7E86BF85EC86BF81EA86 -:100E20008FBD89E08EBD1BBC1ABC19BC18BC89E6FD -:100E300085BD13BC83BF1CBE8EE690E00E944C0CA7 -:100E400085B78F7885BF84E089BF7894C0E0D8E10A -:100E50008091C8008F3F39F48091C700853A19F41A -:100E6000F894FE0109958091C5009091C6002091EB -:100E700066003091670028173907B9F18091C500E5 -:100E80009091C600892B19F485B38C6017C08091AE -:100E9000B200811107C08091C5009091C60018165C -:100EA000190654F08091B200882351F08091C5005A -:100EB0009091C60097FF04C085B3837F85BB02C0B5 -:100EC000AA98AB9A8091C5009091C6009093670054 -:100ED000809366008091C5009091C60097FF03C083 -:100EE0009195819591099BBD8ABD8091C300909198 -:100EF000C400209164003091650028173907B9F1CA -:100F00008091C3009091C400892B19F485B380634C -:100F100017C08091B100811107C08091C3009091EA -:100F2000C4001816190654F08091B100882351F0BE -:100F30008091C3009091C40097FF04C085B38F7C5B -:100F400085BB02C0AC98AD9A8091C3009091C4005B -:100F500090936500809364008091C3009091C400D9 -:100F600097FF03C091958195910999BD88BD8091A6 -:100F7000C1009091C2002091620030916300281757 -:100F80003907B1F18091C1009091C200892B19F409 -:100F900085B3806C17C08091B000811107C080912B -:100FA000C1009091C2001816190654F08091B0004B -:100FB000882351F08091C1009091C20097FF04C036 -:100FC00085B38F7385BB02C0AE98AF9A8091C10084 -:100FD0009091C20090936300809362008091C10061 -:100FE0009091C20097FF03C091958195910983BDAF -:100FF0008091BF009091C00020916000309161000D -:1010000028173907B1F18091BF009091C000892B5A -:1010100019F482B38C6017C08091AF00811107C0B2 -:101020008091BF009091C0001816190654F080916D -:10103000AF00882351F08091BF009091C00097FFCE -:1010400004C082B3837F82BB02C09298939A80913E -:10105000BF009091C00090936100809360008091E8 -:10106000BF009091C00097FF03C0919581959109B1 -:101070008CBF85B7806885BF889585B78F7785BF1A -:10108000E7CE6F927F929F92AF92BF92CF92DF9204 -:10109000EF92FF920F931F93CF93DF93CDB7DEB7FD -:1010A0002C970FB6F894DEBF0FBECDBF8C017B012D -:1010B0003A01FC0117821682838181FF19C1CE019A -:1010C00001965C01F801D380F701D3FC2591D3FE92 -:1010D00021917F01222309F407C1253249F4D3FC71 -:1010E0002591D3FE21917F01253211F0912C1BC057 -:1010F000B801822F90E00E941A0C63013601E2CF02 -:10110000222309F4F1C0622F70E087EA90E02C8777 -:101110000E94C40B2C85892B49F0F701D3FC259143 -:10112000D3FE21917F0197FEEBCF0CC0233221F437 -:10113000F92DF0619F2EF1CF2C3639F4292D20683E -:10114000922EEBCF222309F4CFC0622F70E080EA09 -:1011500090E02C870E94C40B2C85892B41F0630101 -:10116000F4E0CF0ED11CB8018FE390E012C023361B -:1011700041F0233789F0233521F5F92DF1609F2EB9 -:101180000BC0630122E0C20ED11CB801F3018081C3 -:1011900091810E941A0CB2CF630122E0C20ED11CD1 -:1011A000F30160807180F30190FC859190FE819144 -:1011B0003F01882309F4A2CFB80190E00E941A0CE5 -:1011C000F2CF243611F0293639F5630197FE09C0B4 -:1011D000F4E0CF0ED11CF301608171818281938193 -:1011E0000AC0F2E0CF0ED11CF30160817181882723 -:1011F00077FD8095982FF92DFF7E9F2E97FF09C0D0 -:1012000090958095709561957F4F8F4F9F4FF064BB -:101210009F2E2AE030E038C02037A1F040F4283576 -:10122000D1F02F3609F060C028E030E019C0253732 -:1012300019F0283751F058C0292D2F7E922E2AE020 -:1012400030E00EC0892D8061982E992D9462992EE0 -:1012500020E130E005C0E92DE4609E2E20E132E07F -:10126000630197FE09C0F4E0CF0ED11CF301608149 -:1012700071818281938108C0F2E0CF0ED11CF3010D -:101280006081718180E090E0A5010E94790C782E48 -:101290007A1896FE05C0B8018DE290E00E941A0C03 -:1012A00094FE16C0FE01E70DF11D8081803381F0B0 -:1012B000B80180E390E00E941A0C92FE09C0292D2B -:1012C0002072822F90E0B801885A9F4F0E941A0C1A -:1012D0007A94F501E70DF11D8081B80190E00E943C -:1012E0001A0C7110F5CF0ACFF8018681978102C0E0 -:1012F0008FEF9FEF2C960FB6F894DEBF0FBECDBFD9 -:10130000DF91CF911F910F91FF90EF90DF90CF90E1 -:10131000BF90AF909F907F906F9008955058BB27DB -:10132000AA270ED04DC13ED130F043D120F031F488 -:101330009F3F11F41EF433C10EF4E095E7FB29C181 -:10134000E92F4FD180F3BA17620773078407950717 -:1013500018F071F49EF567C10EF4E0950B2EBA2FCC -:10136000A02D0B01B90190010C01CA01A0011124AB -:10137000FF27591B99F0593F50F4503E68F11A1657 -:10138000F040A22F232F342F4427585FF3CF4695E8 -:1013900037952795A795F0405395C9F77EF41F160A -:1013A000BA0B620B730B840BBAF09150A1F0FF0FD4 -:1013B000BB1F661F771F881FC2F70EC0BA0F621FC0 -:1013C000731F841F48F4879577956795B795F795B0 -:1013D0009E3F08F0B3CF9395880F08F09927EE0F42 -:1013E0009795879508950CD0EBC0E3D040F0DAD004 -:1013F00030F021F45F3F19F0CCC0511115C1CFC0BE -:10140000F0D098F39923C9F35523B1F3951B550BED -:10141000BB27AA2762177307840738F09F5F5F4FC7 -:10142000220F331F441FAA1FA9F333D00E2E3AF008 -:10143000E0E830D091505040E695001CCAF729D022 -:10144000FE2F27D0660F771F881FBB1F2617370771 -:101450004807AB07B0E809F0BB0B802DBF01FF27A1 -:1014600093585F4F2AF09E3F510568F092C0DCC050 -:101470005F3FECF3983EDCF3869577956795B795DB -:10148000F7959F5FC9F7880F911D9695879597F9F6 -:101490000895E1E0660F771F881FBB1F621773076F -:1014A0008407BA0720F0621B730B840BBA0BEE1F84 -:1014B00088F7E095089504D06894B111B5C00895F7 -:1014C00098D088F09F5790F0B92F9927B751A0F086 -:1014D000D1F0660F771F881F991F1AF0BA95C9F7C8 -:1014E00012C0B13081F09FD0B1E008959CC0672F49 -:1014F000782F8827B85F39F0B93FCCF38695779578 -:101500006795B395D9F73EF4909580957095619560 -:101510007F4F8F4F9F4F0895E89409C097FB3EF48B -:1015200090958095709561957F4F8F4F9F4F992330 -:10153000A9F0F92F96E9BB279395F69587957795AE -:101540006795B795F111F8CFFAF4BB0F11F460FF6E -:101550001BC06F5F7F4F8F4F9F4F16C0882311F0C6 -:1015600096E911C0772321F09EE8872F762F05C0DA -:10157000662371F096E8862F70E060E02AF09A9575 -:10158000660F771F881FDAF7880F9695879597F96A -:10159000089597F99F6780E870E060E008959FEFF5 -:1015A00080EC089500240A941616170618060906FA -:1015B000089500240A9412161306140605060895C9 -:1015C000092E0394000C11F4882352F0BB0F40F451 -:1015D000BF2B11F460FF04C06F5F7F4F8F4F9F4F91 -:1015E000089557FD9058440F551F59F05F3F71F013 -:1015F0004795880F97FB991F61F09F3F79F087957A -:101600000895121613061406551FF2CF4695F1DF02 -:1016100008C0161617061806991FF1CF8695710592 -:10162000610508940895E894BB2766277727CB01C6 -:1016300097F908950BD0C4CFB5DF28F0BADF18F0C2 -:10164000952309F0A6CFABCF1124EECFCADFA0F3CC -:10165000959FD1F3950F50E0551F629FF001729F47 -:10166000BB27F00DB11D639FAA27F00DB11DAA1F66 -:10167000649F6627B00DA11D661F829F2227B00DB3 -:10168000A11D621F739FB00DA11D621F839FA00D3E -:10169000611D221F749F3327A00D611D231F849F8E -:1016A000600D211D822F762F6A2F11249F575040E5 -:1016B0008AF0E1F088234AF0EE0FFF1FBB1F661F80 -:1016C000771F881F91505040A9F79E3F510570F039 -:1016D00060CFAACF5F3FECF3983EDCF38695779519 -:1016E0006795B795F795E7959F5FC1F7FE2B880F34 -:1016F000911D9695879597F90895052E97FB1EF4F1 -:1017000000940E94940B57FD07D00E94A20B07FC87 -:1017100003D04EF40C94940B509540953095219540 -:101720003F4F4F4F5F4F089590958095709561950D -:101730007F4F8F4F9F4F0895EE0FFF1F0590F4913D -:10174000E02D0994A1E21A2EAA1BBB1BFD010DC0BE -:10175000AA1FBB1FEE1FFF1FA217B307E407F50761 -:1017600020F0A21BB30BE40BF50B661F771F881F3D -:10177000991F1A9469F760957095809590959B01D3 -:10178000AC01BD01CF010895FC010590061621F0C2 -:101790000020D9F7C00108953197CF0108950F9324 -:1017A0001F93CF93DF93EC018B01009731F4611508 -:1017B000710519F480E090E038C06EE070E081E0DF -:1017C00090E00E94D70CFC010097A1F380E883838E -:1017D0000115110571F01387028781E883838091D9 -:1017E000340190913501892B21F4F0933501E09378 -:1017F00034012097C9F0D187C087838182608383B9 -:101800008091360190913701892B71F4F093370163 -:10181000E09336018091380190913901892B21F4B0 -:10182000F0933901E0933801CF01DF91CF911F91FF -:101830000F9108950F931F93CF93DF93182F092FC4 -:10184000EB018B8181FD03C08FEF9FEF20C082FFF2 -:1018500010C04E815F812C813D81421753077CF47B -:10186000E881F9819F012F5F3F4F398328831083DF -:1018700006C0E885F985812F0995892B29F72E81E6 -:101880003F812F5F3F4F3F832E83812F902FDF912A -:10189000CF911F910F9108950F931F93CF93DF93D3 -:1018A000E0913601F0913701238121FF1BC0EC014B -:1018B00000E010E089916091360170913701DB0101 -:1018C0001896ED91FC911997882331F00995892B91 -:1018D00089F30FEF1FEFEECF8AE00995892B11F402 -:1018E000C80102C08FEF9FEFDF91CF911F910F9141 -:1018F0000895FA01AA27283051F1203181F1E894A6 -:101900006F936E7F6E5F7F4F8F4F9F4FAF4FB1E0F2 -:101910003ED0B4E03CD0670F781F891F9A1FA11DED -:10192000680F791F8A1F911DA11D6A0F711D811DEE -:10193000911DA11D20D009F468943F912AE0269FB3 -:1019400011243019305D3193DEF6CF010895462F12 -:101950004770405D4193B3E00FD0C9F7F6CF462FF3 -:101960004F70405D4A3318F0495D31FD405241935C -:1019700002D0A9F7EACFB4E0A69597958795779519 -:101980006795BA95C9F700976105710508959B01A0 -:10199000AC010A2E06945795479537952795BA9529 -:1019A000C9F7620F731F841F951FA01D08950F9321 -:1019B0001F93CF93DF93869F8001879F100D969F83 -:1019C000100D1124C8010E94F30CEC01009729F0BE -:1019D000A80160E070E00E941A0ECE01DF91CF9165 -:1019E0001F910F910895CF93DF938230910510F4EA -:1019F00082E090E0E0913C01F0913D0120E030E098 -:101A0000A0E0B0E0309739F1408151814817590783 -:101A1000B8F04817590771F482819381109729F023 -:101A200013969C938E9312972CC090933D018093B4 -:101A30003C0127C02115310531F04217530718F03A -:101A4000A901DB0101C0EF019A01BD01DF010280A4 -:101A5000F381E02DD7CF21153105F9F0281B390B83 -:101A60002430310580F48A819B816115710521F054 -:101A7000FB019383828304C090933D0180933C01DA -:101A8000FE01329644C0FE01E20FF31F8193919351 -:101A900022503109398328833AC020913A0130918C -:101AA0003B01232B41F420916A0030916B0030936D -:101AB0003B0120933A012091680030916900211583 -:101AC000310541F42DB73EB740916C0050916D0047 -:101AD000241B350BE0913A01F0913B01E217F3072B -:101AE000A0F42E1B3F0B2817390778F0AC014E5F8E -:101AF0005F4F2417350748F04E0F5F1F50933B018F -:101B000040933A018193919302C0E0E0F0E0CF016D -:101B1000DF91CF910895CF93DF93009709F487C0A9 -:101B2000FC01329713821282C0913C01D0913D0199 -:101B3000209781F420813181280F391F80913A014B -:101B400090913B018217930779F5F0933B01E09365 -:101B50003A016DC0DE0120E030E0AE17BF0750F45F -:101B600012964D915C9113979D014115510509F114 -:101B7000DA01F3CFB383A28340815181840F951F93 -:101B80008A179B0771F48D919C911197840F951F73 -:101B900002969183808312968D919C9113979383E3 -:101BA00082832115310529F4F0933D01E0933C0136 -:101BB0003EC0D9011396FC93EE9312974D915D911F -:101BC000A40FB51FEA17FB0779F480819181840F78 -:101BD000951F0296D90111969C938E9382819381D1 -:101BE00013969C938E931297E0E0F0E08A819B819C -:101BF000009719F0FE01EC01F9CFCE010296288181 -:101C00003981820F931F20913A0130913B012817AF -:101C1000390769F4309729F410923D0110923C0184 -:101C200002C013821282D0933B01C0933A01DF912C -:101C3000CF910895DC0101C06D9341505040E0F711 -:061C40000895F894FFCFA7 -:101C4600008000800080008000003E0120000D0A18 -:081C560053746172740D00006B +:1003C0000F901F9018954F925F926F927F928F922D +:1003D0009F92AF92BF92CF92DF92EF92FF92CF9314 +:1003E000DF938091B800813009F0B7C06091BF0001 +:1003F0007091C00080919A0090919B00681B790BCE +:10040000882777FD8095982F0E94630A2AE037EDB0 +:1004100043EA5CE30E94C8090E94300A7093A60078 +:100420006093A5002091AF003091B000232B29F4F8 +:100430001092C8001092C70088C0C091AF00D09140 +:10044000B000C61BD70B4E01AA2497FCA094BA2C6F +:10045000C0909600D0909700E0909800F09099009E +:10046000C80CD91CEA1CFB1CC0929600D0929700C5 +:10047000E0929800F09299006091C7007091C800D6 +:10048000882777FD8095982F0E94630A2B013C01F5 +:10049000C501B4010E94630A20E030E040E251E46B +:1004A0000E94EF0A4B015C01C701B6010E94630A7A +:1004B00020E030E0A9010E94EF0A9B01AC01C501D8 +:1004C000B4010E9464096B017C01809194009091B9 +:1004D0009500BE01681B790B882777FD8095982FC2 +:1004E0000E94630A20E030E0A9010E94EF0A9B010C +:1004F000AC01C701B6010E9464099B01AC01C301B4 +:10050000B2010E9464090E94300A7093C80060938F +:10051000C700D0939500C09394008091C70090913C +:10052000C8008F3F910521F01CF08FEF90E009C0CB +:100530008091C7009091C80081309F4F34F481E0D2 +:100540009FEF9093C8008093C7008091BF00909167 +:10055000C00090939B0080939A008091B7008130F7 +:1005600009F0B7C06091BD007091BE00809192000B +:1005700090919300681B790B882777FD8095982FC1 +:100580000E94630A2AE037ED43EA5CE30E94C8094F +:100590000E94300A7093A4006093A3002091AD00E4 +:1005A0003091AE00232B29F41092C6001092C500A2 +:1005B00088C0C091AD00D091AE00C61BD70B4E01D4 +:1005C000AA2497FCA094BA2CC0908E00D0908F00E3 +:1005D000E0909000F0909100C80CD91CEA1CFB1C24 +:1005E000C0928E00D0928F00E0929000F092910025 +:1005F0006091C5007091C600882777FD8095982F7F +:100600000E94630A2B013C01C501B4010E94630AE8 +:1006100020E030E040E251E40E94EF0A4B015C012F +:10062000C701B6010E94630A20E030E0A9010E94E0 +:10063000EF0A9B01AC01C501B4010E9464096B0182 +:100640007C0180918C0090918D00BE01681B790B1C +:10065000882777FD8095982F0E94630A20E030E07C +:10066000A9010E94EF0A9B01AC01C701B6010E94DB +:1006700064099B01AC01C301B2010E9464090E949C +:10068000300A7093C6006093C500D0938D00C0936C +:100690008C008091C5009091C6008F3F910521F09C +:1006A0001CF08FEF90E009C08091C5009091C600CA +:1006B00081309F4F34F481E09FEF9093C600809388 +:1006C000C5008091BD009091BE00909393008093EF +:1006D00092008091B600813009F0B7C06091BB00F4 +:1006E0007091BC0080918A0090918B00681B790BFF +:1006F000882777FD8095982F0E94630A2AE037EDBE +:1007000043EA5CE30E94C8090E94300A7093A20089 +:100710006093A1002091AB003091AC00232B29F411 +:100720001092C4001092C30088C0C091AB00D09159 +:10073000AC00C61BD70B4E01AA2497FCA094BA2C80 +:10074000C0908600D0908700E0908800F0908900EB +:10075000C80CD91CEA1CFB1CC0928600D0928700F2 +:10076000E0928800F09289006091C3007091C4000B +:10077000882777FD8095982F0E94630A2B013C0102 +:10078000C501B4010E94630A20E030E040E251E478 +:100790000E94EF0A4B015C01C701B6010E94630A87 +:1007A00020E030E0A9010E94EF0A9B01AC01C501E5 +:1007B000B4010E9464096B017C01809184009091D6 +:1007C0008500BE01681B790B882777FD8095982FDF +:1007D0000E94630A20E030E0A9010E94EF0A9B0119 +:1007E000AC01C701B6010E9464099B01AC01C301C1 +:1007F000B2010E9464090E94300A7093C4006093A1 +:10080000C300D0938500C09384008091C300909171 +:10081000C4008F3F910521F01CF08FEF90E009C0DC +:100820008091C3009091C40081309F4F34F481E0E7 +:100830009FEF9093C4008093C3008091BB00909180 +:10084000BC0090938B0080938A008091B50081302A +:1008500009F0B7C06091B9007091BA008091820030 +:1008600090918300681B790B882777FD8095982FDE +:100870000E94630A2AE037ED43EA5CE30E94C8095C +:100880000E94300A7093A00060939F002091A900FD +:100890003091AA00232B29F41092C2001092C100BB +:1008A00088C0C091A900D091AA00C61BD70B4E01E9 +:1008B000AA2497FCA094BA2CC0907E00D0907F0010 +:1008C000E0908000F0908100C80CD91CEA1CFB1C51 +:1008D000C0927E00D0927F00E0928000F092810072 +:1008E0006091C1007091C200882777FD8095982F94 +:1008F0000E94630A2B013C01C501B4010E94630AF6 +:1009000020E030E040E251E40E94EF0A4B015C013C +:10091000C701B6010E94630A20E030E0A9010E94ED +:10092000EF0A9B01AC01C501B4010E9464096B018F +:100930007C0180917C0090917D00BE01681B790B49 +:10094000882777FD8095982F0E94630A20E030E089 +:10095000A9010E94EF0A9B01AC01C701B6010E94E8 +:1009600064099B01AC01C301B2010E9464090E94A9 +:10097000300A7093C2006093C100D0937D00C09391 +:100980007C008091C1009091C2008F3F910521F0C1 +:100990001CF08FEF90E009C08091C1009091C200DF +:1009A00081309F4F34F481E09FEF9093C200809399 +:1009B000C1008091B9009091BA0090938300809318 +:1009C0008200DF91CF91FF90EF90DF90CF90BF90AA +:1009D000AF909F908F907F906F905F904F90089511 +:1009E0001F920F920FB60F9211242F933F934F93A4 +:1009F0008F939F9399B390FD02C080E001C083E084 +:100A000091FF02C091E0892720917B00281B20FFE5 +:100A10001FC080937B008091B400422F42708823D6 +:100A200049F08091BF009091C000242F30E0215008 +:100A3000310908C08091BF009091C00021E030E0F2 +:100A4000241B3109820F931F9093C0008093BF0035 +:100A500099B39695969590FD02C080E001C083E021 +:100A600091FF02C091E0892720917A00281B20FF86 +:100A70001FC080937A008091B300422F4270882378 +:100A800049F08091BD009091BE00242F30E02150AC +:100A9000310908C08091BD009091BE0021E030E096 +:100AA000241B3109820F931F9093BE008093BD00D9 +:100AB00099B392959F7090FD02C080E001C083E0E1 +:100AC00091FF02C091E0892720917900281B20FF27 +:100AD0001FC0809379008091B200422F427088231A +:100AE00049F08091BB009091BC00242F30E0215050 +:100AF000310908C08091BB009091BC0021E030E03A +:100B0000241B3109820F931F9093BC008093BB007C +:100B100099B3929596959695937090FD02C080E05A +:100B200001C083E0927011F091E089272091780054 +:100B3000281B20FF1FC0809378008091B100422FB6 +:100B40004270882349F08091B9009091BA00242F17 +:100B500030E02150310908C08091B9009091BA006D +:100B600021E030E0241B3109820F931F9093BA00DB +:100B70008093B9008091A7009091A800019690936E +:100B8000A8008093A7009F918F914F913F912F9143 +:100B90000F900FBE0F901F9018951F920F920FB6D7 +:100BA0000F9211248F939F93EF93FF935F9B16C037 +:100BB000E091CD00F091CE008CB1808381E0E233F2 +:100BC000F80730F43196F093CE00E093CD0006C0E4 +:100BD0008FEC90E09093CE008093CD00FF91EF9149 +:100BE0009F918F910F900FBE0F901F9018959C01B1 +:100BF0008AB188618AB9579A80B5866080BD40E025 +:100C000050E084E0220F331F441F551F8A95D1F70F +:100C100060E072E18AE790E00E94520BDA01C901BC +:100C20000197A109B109892F9A2FAB2FBB27A7FDE7 +:100C3000BA9580BD215029B98FEC90E09093CC00FB +:100C40008093CB009093CE008093CD0008955D9B60 +:100C5000FECFFC0180818CB90895CF93DF931F9262 +:100C6000CDB7DEB78983CE0101960E94270680E0CA +:100C700090E00F90DF91CF910895CF93DF93EC0137 +:100C8000CE012196FC012081222319F00E94270623 +:100C9000F7CFDF91CF9108955F9BFECF8CB190E0AD +:100CA00008950C944C0661E576E08DE296E00C9494 +:100CB000A40BCF93DF93FC01E253FF4FA081B181DE +:100CC000EC01C453DF4F28813981A217B307A1F08B +:100CD0005D9B12C02C912CB920813181AC01455310 +:100CE0005F4F2417350718F42F5F3F4F03C09C0157 +:100CF00028593F4F31832083E091CB00F091CC0005 +:100D00002091CD003091CE002E173F07C1F1DC01BC +:100D1000AC59BF4FCD91DC911197208128836D9103 +:100D20007C9111979C012B523F4FE9013881EB01D7 +:100D30002881321307C09C012C523F4FE9014881A2 +:100D40004F5F48839C012D593F4F6217730728F46A +:100D5000EB012196CD93DC9302C08D939C93D1E05F +:100D6000E233FD0730F43196F093CC00E093CB00F2 +:100D700006C08FEC90E09093CC008093CB00DF9185 +:100D8000CF91089588E087BB8CEF84BB8CEB81BB4F +:100D90001092C90080E895E20E94F7050E94530670 +:100DA00080E582B986B78B7E86BF85EC86BF81EFF2 +:100DB0008FBD89E08EBD1BBC1ABC19BC18BC89E76D +:100DC00085BD13BC83BF1CBE8EE690E00E94210C43 +:100DD00085B78F7885BF84E089BF7894C0E0D8E17B +:100DE0008091CA008F3F39F48091C900853A19F487 +:100DF000F894FE0109958091A7009091A8008D308C +:100E0000934030F01092A8001092A7000E94E301D6 +:100E10008091C7009091C8002091660030916700D2 +:100E200028173907B9F18091C7009091C800892B24 +:100E300019F485B38C6017C08091B400811107C08C +:100E40008091C7009091C8001816190654F080913F +:100E5000B400882351F08091C7009091C80097FF9B +:100E600004C085B3837F85BB02C0AA98AB9A8091EA +:100E7000C7009091C80090936700809366008091AE +:100E8000C7009091C80097FF03C091958195910983 +:100E90009BBD8ABD8091C5009091C60020916400E1 +:100EA0003091650028173907B9F18091C5009091FC +:100EB000C600892B19F485B3806317C08091B300F5 +:100EC000811107C08091C5009091C60018161906BF +:100ED00054F08091B300882351F08091C500909127 +:100EE000C60097FF04C085B38F7C85BB02C0AC9859 +:100EF000AD9A8091C5009091C60090936500809353 +:100F000064008091C5009091C60097FF03C0919541 +:100F10008195910999BD88BD8091C3009091C400CD +:100F2000209162003091630028173907B1F1809158 +:100F3000C3009091C400892B19F485B3806C17C04D +:100F40008091B200811107C08091C3009091C400CC +:100F50001816190654F08091B200882351F0809140 +:100F6000C3009091C40097FF04C085B38F7385BB05 +:100F700002C0AE98AF9A8091C3009091C400909344 +:100F80006300809362008091C3009091C40097FF3A +:100F900003C091958195910983BD8091C100909185 +:100FA000C200209160003091610028173907B1F12B +:100FB0008091C1009091C200892B19F482B38C609A +:100FC00017C08091B100811107C08091C10090913C +:100FD000C2001816190654F08091B100882351F010 +:100FE0008091C1009091C20097FF04C082B3837FBB +:100FF00082BB02C09298939A8091C1009091C200E6 +:1010000090936100809360008091C1009091C20034 +:1010100097FF03C09195819591098CBF85B7806832 +:1010200085BF889585B78F7785BFDACE6F927F921F +:101030009F92AF92BF92CF92DF92EF92FF920F9367 +:101040001F93CF93DF93CDB7DEB72C970FB6F894ED +:10105000DEBF0FBECDBF8C017B013A01FC011782C0 +:101060001682838181FF19C1CE0101965C01F801CE +:10107000D380F701D3FC2591D3FE21917F01222358 +:1010800009F407C1253249F4D3FC2591D3FE2191FF +:101090007F01253211F0912C1BC0B801822F90E006 +:1010A0000E94EF0B63013601E2CF222309F4F1C065 +:1010B000622F70E087EA90E02C870E94990B2C85C4 +:1010C000892B49F0F701D3FC2591D3FE21917F01B3 +:1010D00097FEEBCF0CC0233221F4F92DF0619F2E47 +:1010E000F1CF2C3639F4292D2068922EEBCF222314 +:1010F00009F4CFC0622F70E080EA90E02C870E9454 +:10110000990B2C85892B41F06301F4E0CF0ED11CA3 +:10111000B8018FE390E012C0233641F0233789F005 +:10112000233521F5F92DF1609F2E0BC0630122E0DC +:10113000C20ED11CB801F301808191810E94EF0B96 +:10114000B2CF630122E0C20ED11CF3016080718036 +:10115000F30190FC859190FE81913F01882309F471 +:10116000A2CFB80190E00E94EF0BF2CF243611F02D +:10117000293639F5630197FE09C0F4E0CF0ED11C82 +:10118000F30160817181828193810AC0F2E0CF0E08 +:10119000D11CF30160817181882777FD8095982F9C +:1011A000F92DFF7E9F2E97FF09C090958095709531 +:1011B00061957F4F8F4F9F4FF0649F2E2AE030E064 +:1011C00038C02037A1F040F42835D1F02F3609F08F +:1011D00060C028E030E019C0253719F0283751F0F9 +:1011E00058C0292D2F7E922E2AE030E00EC0892D86 +:1011F0008061982E992D9462992E20E130E005C0EF +:10120000E92DE4609E2E20E132E0630197FE09C0E3 +:10121000F4E0CF0ED11CF301608171818281938152 +:1012200008C0F2E0CF0ED11CF3016081718180E033 +:1012300090E0A5010E944E0C782E7A1896FE05C00B +:10124000B8018DE290E00E94EF0B94FE16C0FE0103 +:10125000E70DF11D8081803381F0B80180E390E0DB +:101260000E94EF0B92FE09C0292D2072822F90E080 +:10127000B801885A9F4F0E94EF0B7A94F501E70D51 +:10128000F11D8081B80190E00E94EF0B7110F5CF45 +:101290000ACFF8018681978102C08FEF9FEF2C96CD +:1012A0000FB6F894DEBF0FBECDBFDF91CF911F9177 +:1012B0000F91FF90EF90DF90CF90BF90AF909F90F5 +:1012C0007F906F9008955058BB27AA270ED04DC12C +:1012D0003ED130F043D120F031F49F3F11F41EF4A1 +:1012E00033C10EF4E095E7FB29C1E92F4FD180F31C +:1012F000BA17620773078407950718F071F49EF513 +:1013000067C10EF4E0950B2EBA2FA02D0B01B90189 +:1013100090010C01CA01A0011124FF27591B99F06B +:10132000593F50F4503E68F11A16F040A22F232F77 +:10133000342F4427585FF3CF469537952795A795C7 +:10134000F0405395C9F77EF41F16BA0B620B730B6E +:10135000840BBAF09150A1F0FF0FBB1F661F771FDF +:10136000881FC2F70EC0BA0F621F731F841F48F494 +:10137000879577956795B795F7959E3F08F0B3CF1A +:101380009395880F08F09927EE0F97958795089504 +:101390000CD0EBC0E3D040F0DAD030F021F45F3F66 +:1013A00019F0CCC0511115C1CFC0F0D098F39923DA +:1013B000C9F35523B1F3951B550BBB27AA27621719 +:1013C0007307840738F09F5F5F4F220F331F441F5E +:1013D000AA1FA9F333D00E2E3AF0E0E830D0915096 +:1013E0005040E695001CCAF729D0FE2F27D0660F83 +:1013F000771F881FBB1F261737074807AB07B0E8C2 +:1014000009F0BB0B802DBF01FF2793585F4F2AF0D7 +:101410009E3F510568F092C0DCC05F3FECF3983E00 +:10142000DCF3869577956795B795F7959F5FC9F734 +:10143000880F911D9695879597F90895E1E0660FBD +:10144000771F881FBB1F621773078407BA0720F036 +:10145000621B730B840BBA0BEE1F88F7E09508959F +:1014600004D06894B111B5C0089598D088F09F5702 +:1014700090F0B92F9927B751A0F0D1F0660F771FE0 +:10148000881F991F1AF0BA95C9F712C0B13081F0C0 +:101490009FD0B1E008959CC0672F782F8827B85F50 +:1014A00039F0B93FCCF3869577956795B395D9F721 +:1014B0003EF490958095709561957F4F8F4F9F4F2B +:1014C0000895E89409C097FB3EF490958095709537 +:1014D00061957F4F8F4F9F4F9923A9F0F92F96E980 +:1014E000BB279395F695879577956795B795F111F5 +:1014F000F8CFFAF4BB0F11F460FF1BC06F5F7F4F92 +:101500008F4F9F4F16C0882311F096E911C07723A3 +:1015100021F09EE8872F762F05C0662371F096E8AC +:10152000862F70E060E02AF09A95660F771F881F7B +:10153000DAF7880F9695879597F9089597F99F6739 +:1015400080E870E060E008959FEF80EC089500244B +:101550000A941616170618060906089500240A9418 +:1015600012161306140605060895092E0394000C9E +:1015700011F4882352F0BB0F40F4BF2B11F460FF2D +:1015800004C06F5F7F4F8F4F9F4F089557FD905856 +:10159000440F551F59F05F3F71F04795880F97FB37 +:1015A000991F61F09F3F79F08795089512161306F1 +:1015B0001406551FF2CF4695F1DF08C01616170620 +:1015C0001806991FF1CF8695710561050894089555 +:1015D000E894BB2766277727CB0197F908950BD0AE +:1015E000C4CFB5DF28F0BADF18F0952309F0A6CFF5 +:1015F000ABCF1124EECFCADFA0F3959FD1F3950FA7 +:1016000050E0551F629FF001729FBB27F00DB11D86 +:10161000639FAA27F00DB11DAA1F649F6627B00D16 +:10162000A11D661F829F2227B00DA11D621F739FFF +:10163000B00DA11D621F839FA00D611D221F749F0D +:101640003327A00D611D231F849F600D211D822F54 +:10165000762F6A2F11249F5750408AF0E1F088239B +:101660004AF0EE0FFF1FBB1F661F771F881F9150A8 +:101670005040A9F79E3F510570F060CFAACF5F3F61 +:10168000ECF3983EDCF3869577956795B795F795DB +:10169000E7959F5FC1F7FE2B880F911D9695879563 +:1016A00097F90895052E97FB1EF400940E94690B8C +:1016B00057FD07D00E94770B07FC03D04EF40C9423 +:1016C000690B50954095309521953F4F4F4F5F4F97 +:1016D000089590958095709561957F4F8F4F9F4F9E +:1016E0000895EE0FFF1F0590F491E02D0994A1E2FB +:1016F0001A2EAA1BBB1BFD010DC0AA1FBB1FEE1F8C +:10170000FF1FA217B307E407F50720F0A21BB30BD6 +:10171000E40BF50B661F771F881F991F1A9469F752 +:1017200060957095809590959B01AC01BD01CF01AE +:101730000895FC010590061621F00020D9F7C0019C +:1017400008953197CF0108950F931F93CF93DF939F +:10175000EC018B01009731F46115710519F480E0FB +:1017600090E038C06EE070E081E090E00E94AC0C48 +:10177000FC010097A1F380E883830115110571F046 +:101780001387028781E88383809136019091370126 +:10179000892B21F4F0933701E09336012097C9F0AB +:1017A000D187C08783818260838380913801909143 +:1017B0003901892B71F4F0933901E093380180915C +:1017C0003A0190913B01892B21F4F0933B01E09386 +:1017D0003A01CF01DF91CF911F910F9108950F939F +:1017E0001F93CF93DF93182F092FEB018B8181FD7E +:1017F00003C08FEF9FEF20C082FF10C04E815F813A +:101800002C813D81421753077CF4E881F9819F01C7 +:101810002F5F3F4F39832883108306C0E885F98501 +:10182000812F0995892B29F72E813F812F5F3F4F0B +:101830003F832E83812F902FDF91CF911F910F91A6 +:1018400008950F931F93CF93DF93E0913801F091A8 +:101850003901238121FF1BC0EC0100E010E08991D8 +:101860006091380170913901DB011896ED91FC917E +:101870001997882331F00995892B89F30FEF1FEF12 +:10188000EECF8AE00995892B11F4C80102C08FEFD1 +:101890009FEFDF91CF911F910F910895FA01AA2731 +:1018A000283051F1203181F1E8946F936E7F6E5FA3 +:1018B0007F4F8F4F9F4FAF4FB1E03ED0B4E03CD051 +:1018C000670F781F891F9A1FA11D680F791F8A1F34 +:1018D000911DA11D6A0F711D811D911DA11D20D09B +:1018E00009F468943F912AE0269F11243019305D55 +:1018F0003193DEF6CF010895462F4770405D419346 +:10190000B3E00FD0C9F7F6CF462F4F70405D4A3392 +:1019100018F0495D31FD4052419302D0A9F7EACF5A +:10192000B4E0A6959795879577956795BA95C9F789 +:1019300000976105710508959B01AC010A2E06947C +:101940005795479537952795BA95C9F7620F731F35 +:10195000841F951FA01D08950F931F93CF93DF93AE +:10196000869F8001879F100D969F100D1124C8013E +:101970000E94C80CEC01009729F0A80160E070E01B +:101980000E94EF0DCE01DF91CF911F910F9108952D +:10199000CF93DF938230910510F482E090E0E091E4 +:1019A0003E01F0913F0120E030E0A0E0B0E0309750 +:1019B00039F14081518148175907B8F04817590744 +:1019C00071F482819381109729F013969C938E93E2 +:1019D00012972CC090933F0180933E0127C02115A0 +:1019E000310531F04217530718F0A901DB0101C09E +:1019F000EF019A01BD01DF010280F381E02DD7CF15 +:101A000021153105F9F0281B390B2430310580F4FC +:101A10008A819B816115710521F0FB01938382838B +:101A200004C090933F0180933E01FE01329644C072 +:101A3000FE01E20FF31F8193919322503109398304 +:101A400028833AC020913C0130913D01232B41F481 +:101A500020916A0030916B0030933D0120933C014E +:101A600020916800309169002115310541F42DB7AE +:101A70003EB740916C0050916D00241B350BE091F6 +:101A80003C01F0913D01E217F307A0F42E1B3F0B40 +:101A90002817390778F0AC014E5F5F4F24173507E0 +:101AA00048F04E0F5F1F50933D0140933C018193DE +:101AB000919302C0E0E0F0E0CF01DF91CF91089573 +:101AC000CF93DF93009709F487C0FC01329713820C +:101AD0001282C0913E01D0913F01209781F4208174 +:101AE0003181280F391F80913C0190913D0182176F +:101AF000930779F5F0933D01E0933C016DC0DE0161 +:101B000020E030E0AE17BF0750F412964D915C9183 +:101B100013979D014115510509F1DA01F3CFB38304 +:101B2000A28340815181840F951F8A179B0771F40E +:101B30008D919C911197840F951F029691838083BC +:101B400012968D919C911397938382832115310571 +:101B500029F4F0933F01E0933E013EC0D901139672 +:101B6000FC93EE9312974D915D91A40FB51FEA1768 +:101B7000FB0779F480819181840F951F0296D9012A +:101B800011969C938E938281938113969C938E934E +:101B90001297E0E0F0E08A819B81009719F0FE0146 +:101BA000EC01F9CFCE01029628813981820F931F73 +:101BB00020913C0130913D012817390769F4309795 +:101BC00029F410923F0110923E0102C0138212824A +:101BD000D0933D01C0933C01DF91CF910895DC018A +:101BE00001C06D9341505040E0F70895F894FFCF45 +:101BF00000800080008000800000400120000D0A6D +:081C000053746172740D0000C1 :00000001FF