jstevensog / wixel-sdk

Adrien de Croy's wixel-sdk for building dexterity-wixel and xBridge apps
Other
31 stars 94 forks source link

Lock on 2.47e #29

Open danpowell88 opened 6 years ago

danpowell88 commented 6 years ago

Had an instance of 2.47e where I'm not getting any data for over an hour

Using a hm-10, restarting phone has no effect and BT led indicates there is a bluetooth connection.

Logs as follows

sProcessing Status Command xBridge v2.47e dex_tx_id: 6840542 (6GQ6X) initialised: 0, sleep_ble: 1, dont_ignore_ble_state: 1, xBridge_hardware: 1, sen d_debug: 1, do_leds: 1 dex_tx_id_set: 1, got_packet: 0 battery_capacity: 81 current ms: 512082207

sProcessing Status Command xBridge v2.47e dex_tx_id: 6840542 (6GQ6X) initialised: 0, sleep_ble: 1, dont_ignore_ble_state: 1, xBridge_hardware: 1, sen d_debug: 1, do_leds: 1 dex_tx_id_set: 1, got_packet: 0 battery_capacity: 81 current ms: 512144307

sProcessing Status Command xBridge v2.47e dex_tx_id: 6840542 (6GQ6X) initialised: 0, sleep_ble: 1, dont_ignore_ble_state: 1, xBridge_hardware: 1, sen d_debug: 1, do_leds: 1 dex_tx_id_set: 1, got_packet: 0 battery_capacity: 81 current ms: 512253643 512342872 - start is 512342872, waiting for packet on channel 1 for 500 512343372 - start is 512343372, waiting for packet on channel 2 for 500 512343872 - start is 512343872, waiting for packet on channel 3 for 500 512344372 - missed a packet 512344372: sending beacon Now 512344372 - send_data ▒▒h (7) 512344372 - send_data blocked on uart1 input Sending: ▒▒h Response: 512344378 - start is 512344378, waiting for packet on channel 0 for 29 8510

sProcessing Status Command xBridge v2.47e dex_tx_id: 6840542 (6GQ6X) initialised: 0, sleep_ble: 1, dont_ignore_ble_state: 1, xBridge_hardware: 1, send_debug: 1, do_leds: 1 dex_tx_id_set: 1, got_packet: 0 battery_capacity: 81 current ms: 512463366

It seems to never be getting the packet and continues to be able to respond to status commands so it's not going into sleep.

danpowell88 commented 6 years ago

sProcessing Status Command xBridge v2.47e dex_tx_id: 6840542 (6GQ6X) initialised: 0, sleep_ble: 1, dont_ignore_ble_state: 1, xBridge_hardware: 1, send_debug: 1, do_leds: 1 dex_tx_id_set: 1, got_packet: 0 battery_capacity: 81 current ms: 512688279

sProcessing Status Command xBridge v2.47e dex_tx_id: 6840542 (6GQ6X) initialised: 0, sleep_ble: 1, dont_ignore_ble_state: 1, xBridge_hardware: 1, send_debug: 1, do_leds: 1 dex_tx_id_set: 1, got_packet: 0 battery_capacity: 81 current ms: 512689147

sProcessing Status Command xBridge v2.47e dex_tx_id: 6840542 (6GQ6X) initialised: 0, sleep_ble: 1, dont_ignore_ble_state: 1, xBridge_hardware: 1, send_debug: 1, do_leds: 1 dex_tx_id_set: 1, got_packet: 0 battery_capacity: 81 current ms: 512860664 512942903 - start is 512942903, waiting for packet on channel 1 for 500 512943403 - start is 512943403, waiting for packet on channel 2 for 500 512943903 - start is 512943903, waiting for packet on channel 3 for 500 512944403 - missed a packet 512944403: sending beacon Now 512944403 - send_data ▒▒h (7) 512944403 - send_data blocked on uart1 input Sending: ▒▒h Response: 512944409 - start is 512944409, waiting for packet on channel 0 for 298510

sProcessing Status Command xBridge v2.47e dex_tx_id: 6840542 (6GQ6X) initialised: 0, sleep_ble: 1, dont_ignore_ble_state: 1, xBridge_hardware: 1, send_debug: 1, do_leds: 1 dex_tx_id_set: 1, got_packet: 0 battery_capacity: 81 current ms: 513202178

danpowell88 commented 6 years ago

It eventually came good shortly after but interestingly even though the phone received the data the BT connection was not closed automatically

got a packet at 513242913 on channel 0 513242913 - got pkt batteryPercent val: 1723 batteryPercent returning 77.136 513242915 - packet waiting 513242915 - send pkt 513242915 - send_data (17) 513242915 - send_data blocked on uart1 input Sending: @▒▒M▒h Response: 513242932 - waiting for ack 513252942 - packet waiting 513252942 - send pkt 513252943 - send_data (17) 513252943 - send_data blocked on uart1 input Sending: @▒▒M▒h Response: 513252959 - waiting for ack 513262969 - packet waiting 513262970 - send pkt 513262970 - send_data (17) 513262970 - send_data blocked on uart1 input Sending: @▒▒M▒h Response: 513262987 - waiting for ack 513272997 - packet waiting 513272997 - send pkt 513272997 - send_data (17) 513272998 - send_data blocked on uart1 input Sending: @▒▒M▒h Response: 513273014 - waiting for ack 513283024 - packet waiting 513283025 - send pkt 513283025 - send_data (17) 513283025 - send_data blocked on uart1 input Sending: @▒▒M▒h Response: 513283041 - waiting for ack 513293052 - packet waiting 513293052 - send pkt 513293052 - send_data (17) 513293053 - send_data blocked on uart1 input Sending: @▒▒M▒h Response: 513293069 - waiting for ack 513303079 - packet waiting 513303080 - send pkt 513303080 - send_data (17) 513303080 - send_data blocked on uart1 input Sending: @▒▒M▒h Response: 513303096 - waiting for ack 513313107 - packet waiting 513313107 - send pkt 513313107 - send_data (17) 513313108 - send_data blocked on uart1 input Sending: @▒▒M▒h Response: 513313124 - waiting for ack 513323134 - packet waiting 513323135 - send pkt 513323135 - send_data (17) 513323135 - send_data blocked on uart1 input Sending: @▒▒M▒h Response: 513323151 - waiting for ack 513333162 - packet waiting 513333162 - send pkt 513333162 - send_data (17) 513333163 - send_data blocked on uart1 input Sending: @▒▒M▒h Response: 513333179 - waiting for ack 513343189 - packet waiting 513343190 - send pkt 513343190 - send_data (17) 513343190 - send_data blocked on uart1 input Sending: @▒▒M▒h Response: 513343206 - waiting for ack 513353217 - packet waiting 513353217 - send pkt 513353217 - send_data (17) 513353218 - send_data blocked on uart1 input Sending: @▒▒M▒h Response: 513353234 - waiting for ack 513363244 - No ACK received 513363746 - ble_connected = 1, P1_2 = 1 513363746 - send_data AT (2) 513363746 - send_data blocked on uart1 input Sending: AT Response: 513368767 - breakBt() Did not disconnect connection did not break, P1_2 is 0 513368768 - ble_connected = 1, P1_2 = 0 513368768 - send_data AT (2) 513368769 - send_data blocked on uart1 input Sending: AT Response: 513373789 - breakBt() Did not disconnect connection did not break, P1_2 is 0 513373790 - ble_connected = 1, P1_2 = 0 513373791 - send_data AT (2) 513373791 - send_data blocked on uart1 input Sending: AT Response: 513378812 - breakBt() Did not disconnect connection did not break, P1_2 is 0 turning off BLE 513378812 - sleeping for 260 513378813 - sleep_time_ms is 120000, this_sleep_time is 4100 this_sleep_time is 4100, so skipping this iteration. 513378814 - sleep_time_ms is 110000, this_sleep_time is 10000

jstevensog commented 6 years ago

Hi Daniel, I have had two instances of this occurring as well. On the same day. I believe it may be a situation where the radio auto tuning code is in error and am working of a fix. Seems to occur when an extreme temperature change takes place, which is what as me looking at that. I have a version that may fix it, buy haven't had a chance to test it. I also want to add a return to default channel tuning when a packet is missed, as the defaults seem to work well in picking up the signal again. Cheers

On Tue, Oct 10, 2017 at 2:26 PM, Daniel Powell notifications@github.com wrote:

sProcessing Status Command xBridge v2.47e dex_tx_id: 6840542 (6GQ6X) initialised: 0, sleep_ble: 1, dont_ignore_ble_state: 1, xBridge_hardware: 1, send_debug: 1, do_leds: 1 dex_tx_id_set: 1, got_packet: 0 battery_capacity: 81 current ms: 512688279

sProcessing Status Command xBridge v2.47e dex_tx_id: 6840542 (6GQ6X) initialised: 0, sleep_ble: 1, dont_ignore_ble_state: 1, xBridge_hardware: 1, send_debug: 1, do_leds: 1 dex_tx_id_set: 1, got_packet: 0 battery_capacity: 81 current ms: 512689147

sProcessing Status Command xBridge v2.47e dex_tx_id: 6840542 (6GQ6X) initialised: 0, sleep_ble: 1, dont_ignore_ble_state: 1, xBridge_hardware: 1, send_debug: 1, do_leds: 1 dex_tx_id_set: 1, got_packet: 0 battery_capacity: 81 current ms: 512860664 512942903 - start is 512942903, waiting for packet on channel 1 for 500 512943403 - start is 512943403, waiting for packet on channel 2 for 500 512943903 - start is 512943903, waiting for packet on channel 3 for 500 512944403 - missed a packet 512944403: sending beacon Now 512944403 - send_data ▒▒h (7) 512944403 - send_data blocked on uart1 input Sending: ▒▒h Response: 512944409 - start is 512944409, waiting for packet on channel 0 for 298510

sProcessing Status Command xBridge v2.47e dex_tx_id: 6840542 (6GQ6X) initialised: 0, sleep_ble: 1, dont_ignore_ble_state: 1, xBridge_hardware: 1, send_debug: 1, do_leds: 1 dex_tx_id_set: 1, got_packet: 0 battery_capacity: 81 current ms: 513202178

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/jstevensog/wixel-sdk/issues/29#issuecomment-335349871, or mute the thread https://github.com/notifications/unsubscribe-auth/AIQs82x9G985JIBcO5ghKvulKT5ImWhTks5squPigaJpZM4PzUeQ .

-- John Stevens "You are how you live, not what you have."

jstevensog commented 6 years ago

Hmmm. that one is interesting. I will try and replicate it. Cheers

On Tue, Oct 10, 2017 at 2:30 PM, Daniel Powell notifications@github.com wrote:

It eventually came good shortly after but interestingly even though the phone received the data the BT connection was not closed automatically

got a packet at 513242913 on channel 0 513242913 - got pkt batteryPercent val: 1723 batteryPercent returning 77.136 513242915 - packet waiting 513242915 - send pkt 513242915 - send_data (17) 513242915 - send_data blocked on uart1 input Sending: @▒▒M▒h Response: 513242932 - waiting for ack 513252942 - packet waiting 513252942 - send pkt 513252943 - send_data (17) 513252943 - send_data blocked on uart1 input Sending: @▒▒M▒h Response: 513252959 - waiting for ack 513262969 - packet waiting 513262970 - send pkt 513262970 - send_data (17) 513262970 - send_data blocked on uart1 input Sending: @▒▒M▒h Response: 513262987 - waiting for ack 513272997 - packet waiting 513272997 - send pkt 513272997 - send_data (17) 513272998 - send_data blocked on uart1 input Sending: @▒▒M▒h Response: 513273014 - waiting for ack 513283024 - packet waiting 513283025 - send pkt 513283025 - send_data (17) 513283025 - send_data blocked on uart1 input Sending: @▒▒M▒h Response: 513283041 - waiting for ack 513293052 - packet waiting 513293052 - send pkt 513293052 - send_data (17) 513293053 - send_data blocked on uart1 input Sending: @▒▒M▒h Response: 513293069 - waiting for ack 513303079 - packet waiting 513303080 - send pkt 513303080 - send_data (17) 513303080 - send_data blocked on uart1 input Sending: @▒▒M▒h Response: 513303096 - waiting for ack 513313107 - packet waiting 513313107 - send pkt 513313107 - send_data (17) 513313108 - send_data blocked on uart1 input Sending: @▒▒M▒h Response: 513313124 - waiting for ack 513323134 - packet waiting 513323135 - send pkt 513323135 - send_data (17) 513323135 - send_data blocked on uart1 input Sending: @▒▒M▒h Response: 513323151 - waiting for ack 513333162 - packet waiting 513333162 - send pkt 513333162 - send_data (17) 513333163 - send_data blocked on uart1 input Sending: @▒▒M▒h Response: 513333179 - waiting for ack 513343189 - packet waiting 513343190 - send pkt 513343190 - send_data (17) 513343190 - send_data blocked on uart1 input Sending: @▒▒M▒h Response: 513343206 - waiting for ack 513353217 - packet waiting 513353217 - send pkt 513353217 - send_data (17) 513353218 - send_data blocked on uart1 input Sending: @▒▒M▒h Response: 513353234 - waiting for ack 513363244 - No ACK received 513363746 - ble_connected = 1, P1_2 = 1 513363746 - send_data AT (2) 513363746 - send_data blocked on uart1 input Sending: AT Response: 513368767 - breakBt() Did not disconnect connection did not break, P1_2 is 0 513368768 - ble_connected = 1, P1_2 = 0 513368768 - send_data AT (2) 513368769 - send_data blocked on uart1 input Sending: AT Response: 513373789 - breakBt() Did not disconnect connection did not break, P1_2 is 0 513373790 - ble_connected = 1, P1_2 = 0 513373791 - send_data AT (2) 513373791 - send_data blocked on uart1 input Sending: AT Response: 513378812 - breakBt() Did not disconnect connection did not break, P1_2 is 0 turning off BLE 513378812 - sleeping for 260 513378813 - sleep_time_ms is 120000, this_sleep_time is 4100 this_sleep_time is 4100, so skipping this iteration. 513378814 - sleep_time_ms is 110000, this_sleep_time is 10000

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/jstevensog/wixel-sdk/issues/29#issuecomment-335350354, or mute the thread https://github.com/notifications/unsubscribe-auth/AIQs8wjuYWJHYBiZoeCOKOXalHGysYlBks5squS9gaJpZM4PzUeQ .

-- John Stevens "You are how you live, not what you have."

danpowell88 commented 6 years ago

The termperature change would probably explain this one, it occured around the time I left a very cool air-con office to go for a walk outside in 30ish degree heat and the bridge was in my back pocket

jstevensog commented 6 years ago

Hi Daniel, I have pushed a new version to the v2.47f branch in my repo, and attached the .wxl file here. I have added two new pieces of code to the v2.47e. 1) Reset a channel's offset to default if it times out. 2) Ensure that a channel's offset is only updated with the detected difference IF the value makes sense.

I will run this version on my production bridge for a while to see if it helps. Would be great if you can run it also.

It is always fun when you fix a bunch of stuff, and that uncovers other things that need fixing. ;) Cheers

On Wed, Oct 11, 2017 at 11:08 AM, Daniel Powell notifications@github.com wrote:

The termperature change would probably explain this one, it occured around the time I left a very cool air-con office to go for a walk outside in 30ish degree heat and the bridge was in my back pocket

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/jstevensog/wixel-sdk/issues/29#issuecomment-335643379, or mute the thread https://github.com/notifications/unsubscribe-auth/AIQs8-mnaZiSzZP5hl7lrvqF7OL_RYycks5srAcJgaJpZM4PzUeQ .

-- John Stevens "You are how you live, not what you have."

Pololu Wixel Application - www.pololu.com

1.0

====== license

Copyright (c) 2009-2011 Pololu Corporation. For more information, see

http://www.pololu.com/

http://forum.pololu.com/

Permission is hereby granted, free of charge, to any person

obtaining a copy of this software and associated documentation

files (the "Software"), to deal in the Software without

restriction, including without limitation the rights to use,

copy, modify, merge, publish, distribute, sublicense, and/or sell

copies of the Software, and to permit persons to whom the

Software is furnished to do so, subject to the following

conditions:

The above copyright notice and this permission notice shall be

included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,

EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES

OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND

NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT

HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,

WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING

FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR

OTHER DEALINGS IN THE SOFTWARE.

====== cdb

S:G$param_radio_channel$0$0({4}SL:S),D,0,0

L:G$param_radio_channel$0$0:6373

====== hex

:0404000002048D3233

:01040B0032BE

:0104130032B6

:03041B0002379C09

:0104230032A6

:03042B00020B18A9

:010433003296

:01043B00328E

:010443003286

:01044B00327E

:010453003276

:01045B00326E

:030463000206ECA2

:01046B00325E

:0304730002375EEF

:01047B00324E

:03048300023D1621

:1004E60078517440F2C213C214752900752A00753A

:1004F6002B00752C00C200C201D20DD2107800E488

:10050600F208F208F208F27804E4F208F208F208B7

:10051600F2780B74CEF2780C74D5F2780D74E6F29C

:10052600780E74E5F2780FE4F278107464F27811BC

:0805360074C7F2781274D1F2CF

:03057D00020486EF

:05048600122C4280FE73

:10058000AF82780AE2601C90F108E0FDA3E0FE8FE4

:10059000037C00EB4205EC420690F108EDF0A3EE7F

:1005A000F0801E90F108E0FDA3E0FE7C00EFF4FF78

:1005B000ECF4FCEF5205EC520690F108EDF0A3EEDE

:1005C000F022AF8290F108E0FDA3E0FE7C00EF5244

:1005D00005EC5206ED4E60047F0180027F008F82A1

:1005E00022125FE790DF027413F0906373E493FCD0

:1005F00074019374029374039390DF06ECF0123E3F

:1006000094123E56221245B4E58254032403F58227

:1006100022E52AB529059000008010E52975F0161D

:10062000A424B8FEE434F18E82F583227402B52945

:10063000057529008002052922E52BB52C028015BD

:10064000E52C75F014A424FAF58274F135F0F583E5

:10065000123F168016E52A75F016A424B8F582E438

:1006600034F1F5837879E4F2123EB822AF82BF21EB

:10067000051206398075BF1F6CE52A75F016A42493

:10068000B8FDE434F1FE20103BC006C0051257301F

:10069000D005D006402EE52BB52C02801AC006C02E

:1006A00005120605AC82D005D0067879ECF28D8271

:1006B0008E83123EB8800B7879E4F28D828E83129D

:1006C0003EB880278D828E83E060157402B52A04BF

:1006D0007E008004E52A04FEEEB5290280028E2AFF

:1006E0001206398006BF200312063922C0E0C0007E

:1006F000C0D075D0007813E22401F208E23400F291

:1007000008E23400F208E23400F263ED01D0D0D008

:1007100000D0E032A2BCE433FFC2BC7813E2FB0895

:10072000E2FC08E2FD08E2FEEF24FF92BC8B828C23

:10073000838DF0EE22AC82AD83AEF0FFA2BCE43339

:10074000FBC2BC7813E22CF208E23DF208E23EF272

:1007500008E23FF2EB24FF92BC2275EDBBD2BC75E0

:10076000EBFAD2AF22AE82AF838E048F051EBEFF9E

:10077000011FEC4D60227582FAC007C00612524D6F

:100780007582FA12524D7582FA12524D7582F91223

:10079000524DD006D00780D12275AB207EA27FF1CA

:1007A0008F0690F1B0EEF07FA290F1B1EFF07EAF46

:1007B0007F0074DF2FFE90F1B2EEF07EAF90F1B3C8

:1007C000EEF090F1B67412F090F1B77442F075D477

:1007D000B075D5F122E583C313FE7F008EAD75ACF5

:1007E0000075AE0100000000E5AE20E7FB22AE82FE

:1007F000AF838EACEFC313C5AC13C5ACF5AD7818A1

:10080000E290F1B4F07817E290F1B5F0AFD1530770

:10081000FE8FD143D60112F5CCE5D130E0FBE5AE39

:1008200054C0600280F822D20478837400F2087405

:10083000F1F208E4F27886740EF208E4F290F1A284

:1008400075F0001245F19077E01207D57817740E15

:10085000F208E4F29077E01207EEC204C209300D0C

:100860000F7477C0E07463C0E012600E15811581CB

:10087000227819E2F0227819E4F290DF2E12087142

:100880007819740EF290DF3112087178197465F2DC

:1008900090DF091208717819740AF290DF0A1208C1

:1008A00071781974AAF290DF0B120871781974D359

:1008B000F290DF0012087178197491F290DF011242

:1008C00008717819E4F290DF051208717819740A3A

:1008D000F290DF071208717819E4F290DF0812082D

:1008E000717819744BF290DF0C1208717819741139

:1008F000F290DF0D12087178197473F290DF0E1206

:10090000087178197403F290DF0F12087178197466

:1009100055F290DF101208717819E4F290DF11128D

:100920000871781974B6F290DF1A12087178197488

:1009300010F290DF1B1208717819742AF290DF15FB

:100940001208717819746CF290DF16120871781918

:100950007444F290DF1712087178197450F290DF26

:1009600018120871781974B2F290DF1912087178B0

:100970001974A9F290DF1C1208717819740AF290A8

:10098000DF1D12087178197420F290DF1E120871B1

:100990007819740DF290DF1F12087178197481F2C2

:1009A00090DF2312087178197435F290DF24120851

:1009B000717819740BF290DF25120871781974049C

:1009C000F290DF0312087178197405F290DF0412B7

:1009D000087178197412F290DF0212087122AF8246

:1009E000781AC3E2F5F0EF95F050048F8280057815

:1009F0001AE2F58222AC82AD83AEF0FF8E00C4C84D

:100A0000C4540F68C8540FC868C853001FE4F9E8FD

:100A100024D0F582E934F5F583E090F33AF08D00C7

:100A2000EEA2E7C833C833C85401F9EF2F49EF23CA

:100A3000540153001FE4F9E824D0F582E934F5F5B8

:100A400083E090F33BF08D00EEC313C813C8C313CB

:100A5000C813C8F9EF030354C049EF0303543F53CD

:100A6000001FE4F9E824D0F582E934F5F583E0903D

:100A7000F33CF08C00EDC403C8C403540768C854A9

:100A800007C868C8F9EEC40354F8498E02EFC403DE

:100A9000CAC40354076ACA5407CA6ACA53001FE487

:100AA000F9E824D0F582E934F5F583E090F33DF0E0

:100AB00053041FE4FDEC24D0F582ED34F5F583E01A

:100AC00090F33EF090F33FE4F090F33A75F000229B

:100AD000AFFB5307BF8FFB43F840227E0A7F00C362

:100AE00074119EE464808FF063F08095F04024BE22

:100AF0000A06BF0003300E148E82A21192F0C007C6

:100B0000C00685F02812380CD006D0070EBE00CFE4

:100B10000F80CC2243A1102253C07F53A1FE53BEAD

:100B2000FC32AFBE5307FB8FBEE5BE30E5FBAFC660

:100B300074F85F4441FF8FC6E5C630E6FB43BE0450

:100B400022AFBE5307FB8FBEE5BE30E6FBAFC653F8

:100B500007BF8FC6E5C620E6FB43BE0422AE82AFC8

:100B600083781BEEF208EFF208E4F208F2781B79C2

:100B7000B5E2F308E209F308E209F308E209F390A9

:100B800003E8E4F5F012527585822D85832E85F0F9

:100B90002FF53090F598E078B3F208E4F29001F484

:100BA000125255AA82AB838A31EBF5323395E0F5C8

:100BB00033F534781BE52DC39531F2E52E953208D7

:100BC000F2E52F953308F2E530953408F212071458

:100BD000AA82AB83AEF0FF7804D3E29AF4B3FCB3FD

:100BE00008E29BF4B3FDB308E29EF4B3FEB308E25F

:100BF0009FF4FFC374E09C74939D74049EE49F5023

:100C000012EC2420FCED346CFDEE34FBFEEF34FFDF

:100C1000FF80E0781BE2C39CF208E29DF208E29EAE

:100C2000F208E29FF2781BE2F58208E2F58308E21F

:100C3000F5F008E222AE82AF837824EEF208EFF2FC

:100C400008E4F208F2782479B5E2F308E209F3083F

:100C5000E209F308E209F39003E8E4F5F0C007C005

:100C6000061252757824C0E0E582F208E583F208A6

:100C7000E5F0F2D0E008F2120B14C211120ADBD038

:100C800006D007D2018E828F83120B5D7820C0E0E0

:100C9000E582F208E583F208E5F0F2D0E008F278A8

:100CA00020E2F5F008E242F008E242F008E245F006

:100CB0007003020FCF78747410F2087427F208E4FE

:100CC000F208F27820E2F58208E2F58308E2F5F016

:100CD00008E2123C52AA82AB83AEF0FFEA4B4E4FC1

:100CE00070067C107D2780048A048B058C028D039E

:100CF0007E007F007820E2C39AF208E29BF208E2CD

:100D00009EF208E29FF2300D68C002C003C006C028

:100D100007C005C004120714AA82AB83AEF0FFD04F

:100D200004D005C007C006C005C004C003C002C08F

:100D300004C0057820E2C0E008E2C0E008E2C0E0BC

:100D400008E2C0E0C002C003C006C0077491C0E062

:100D50007463C0E012600EE58124F4F581D002D006

:100D600003D004D005D006D007D007D006D003D0DA

:100D700002C3EC9488ED9413400874109C74279D72

:100D8000501E200D03020C9FC004C00574C5C0E0B6

:100D90007463C0E012600EE58124FCF581020C9FB3

:100DA00078207924C3E2F5F0E395F008E2F5F00944

:100DB000E395F008E2F5F009E395F008E2F5F009B3

:100DC000E395F05039300D337824E2C0E008E2C0FA

:100DD000E008E2C0E008E2C0E07820E2C0E008E21B

:100DE000C0E008E2C0E008E2C0E074FAC0E074636A

:100DF000C0E012600EE58124F6F581020FD43002C6

:100E00004BC002C003C006C007C006C005C004C076

:100E100003C0021249EFAF82D002D003D004D00544

:100E2000D006BF8000D007D006D003D002501DC02E

:100E300007C006C005C004C003C00212494AD00260

:100E4000D003D004D005D006D00780B23002030210

:100E50000F73C002C003C006C007C007C006C005AC

:100E6000C004C003C002125230D002D003D004D05C

:100E700005D006D00790F5F7E4F0AFBE53077F8F9B

:100E8000BE43A201C007C006C005C004C003C00223

:100E9000120B22D002D003D004D005D006D00778A0

:100EA00028E5D5F27829E5D4F2E5D6540124FF925D

:100EB0001243D6817EBD7FF58F0690F5C4EEF07E9D

:100EC000BD7FF590F5C5EEF07EC47FF58FD57EC46D

:100ED0007FF58ED475D601782AE5A8F2782BE5B88F

:100EE000F2782CE59AF243A8A053A8A0AFB8530714

:100EF000C08FB8AF9A5307C08F9A43A204781FE5FA

:100F0000A5F2D007D006D003D002781FE2B5A50223

:100F100080F8781FE5A5F2781FE2B5A50280F88D6C

:100F2000A48CA343C70274FC55BE4406F5BE000062

:100F300000E5BE5403600875D701004387010078BF

:100F40002AE2F5A8782BE2F5B8782CE2F59A782811

:100F5000E2F5D57829E2F5D430120343D601C00773

:100F6000C006C003C002120B41D002D003D006D08D

:100F700007804F43A20143A8A043A204781FE5A520

:100F8000F2781FE2B5A50280F8781FE5A5F2781F78

:100F9000E2B5A50280F88DA48CA374FC55BE440173

:100FA000F5BE000000E5BE5403600443870100C0A5

:100FB00007C006C003C002120B41D002D003D00606

:100FC000D0078A828B838EF0EF120735020C9F12B6

:100FD0005174C20122A202820C500543FF10800707

:100FE000AFFF5307EF8FFF200C030210A530002B3B

:100FF000300141120714AD837C0053050F7E007F42

:1010000000BC000EBD010BBE0008BF000543FF047D

:101010008022AFFF5307FB8FFF80197582021205F4

:10102000C2E582600F30920543FF048007AFFF5393

:1010300007FB8FFF300646300A1B120611E582853A

:1010400083F045F0600643FF020210B3AFFF530781

:10105000FD8FFF805E120714AD837C005305027E76

:10106000007F00BC000EBD020BBE0008BF000543A0

:10107000FF02803FAFFF5307FD8FFF80361207143A

:10108000AD837C005305137E007F00BC000EBD13B2

:101090000BBE0008BF000543FF028017AFFF5307D8

:1010A000FD8FFF800EAFFF5307FD8FFFAFFF53078C

:1010B000FB8FFF22AF82300210C0071249EFE5829A

:1010C000D00760058F82124A8122AF827E00EF3006

:1010D000E0027E80EF30E103430640EF30E203435D

:1010E0000620EF30E303430610EF30E40343060825

:1010F000EF30E503430604EF30E603430602EF302A

:10110000E7034306018E8222AFF0AE83E582782E9C

:10111000F208EEF208EFF27C00782DC3E2F5F0EC75

:1011200095F0503A782EE22CFA08E23400FB08E2FF

:10113000FF8A828B838FF0125FC3F582C007C004E1

:10114000C003C0021210CAAE82D002D003D004D0B5

:10115000078A828B838FF0EE124AAC0C80BB22AEE2

:1011600082AF837831EEF208EFF27F317E007D604E

:10117000782D7402F28F828E838DF01211087831EF

:10118000E2540008E254E0C4035407FE7831E2540C

:10119000FFFD08E2541FFF7C007B008EF005F0800D

:1011A0000CED2DFDEF33FFEC33FCEB33FBD5F0F111

:1011B0008D828F838CF0EB22AFF0AE83E5827834A2

:1011C000F208EEF208EFF2300D427833E2FB7C00D9

:1011D000C004C003120714AA82AD83AEF0FFD0038F

:1011E000D004C003C0047834E2C0E008E2C0E008E4

:1011F000E2C0E0C002C005C006C0077432C0E0749F

:1012000064C0E012600EE58124F5F58130086F308E

:101210000D23120714AC82AD83AEF0FFC004C005ED

:10122000C006C007744CC0E07464C0E012600EE5F4

:101230008124FAF58112071485823585833685F07D

:1012400037F538120714AA82AB83AEF0FFEAC395D4

:1012500035FAEB9536FBEE9537FEEF9538FFC3EA8E

:1012600094FAEB9400EE9400EF9400501175820113

:101270001223E220080890001412076580C5123678

:10128000ECAF827833C3E2F5F0EF95F040F0300236

:1012900012300D0F7475C0E07464C0E012600E155A

:1012A0008115817F007833C3E2F5F0EF95F0504669

:1012B0007834E22FFC08E23400FD08E2FE8C828DD7

:1012C000838EF0125FC3F582C007C006C005C0045C

:1012D000123727D004D005D006D007300215300DC4

:1012E000128C828D838EF0125FC3F582C007124A82

:1012F00081D0070F80AF300212300D0F747FC0E035

:101300007464C0E012600E158115811236ECAF8254

:10131000BFFF0040F622C20B90F10E75F0001219CB

:10132000F4748CC0E07464C0E07480C0E07450C099

:10133000E074F1C0E0E4C0E0125615AE82E581240D

:10134000FAF5817833EEF290F15075F0001211B891

:1013500012071485823985833A85F03BF53C1207E4

:1013600014AA82AB83AEF0FFEAC39539FAEB953A43

:10137000FBEE953BFEEF953CFFC3EA9488EB94139C

:10138000EE9400EF940050117582011223E23007B1

:101390000890001412076580C5300729300D23120C

:1013A0000714AC82AD83AEF0FFC004C005C006C018

:1013B00007748FC0E07464C0E012600EE58124FA07

:1013C000F581C38027300D23120714AC82AD83AEA4

:1013D000F0FFC004C005C006C00774B4C0E0746468

:1013E000C0E012600EE58124FAF581D322C20B9091

:1013F000F10E75F0001219F4748CC0E07464C0E052

:101400007480C0E07450C0E074F1C0E0E4C0E01249

:101410005615AE82E58124FAF5817833EEF290F12B

:101420005075F0001211B812071485823D85833E75

:1014300085F03FF540120714AA82AB83AEF0FFEAB5

:10144000C3953DFAEB953EFBEE953FFEEF9540FFD1

:10145000C3EA94F4EB9401EE9400EF9400501175FC

:1014600082011223E2200B0890001412076580C548

:10147000200B28300D23120714AC82AD83AEF0FF91

:10148000C004C005C006C00774D3C0E07464C0E0E7

:1014900012600EE58124FAF5818026300D231207B3

:1014A00014AC82AD83AEF0FFC004C005C006C00717

:1014B00074F4C0E07464C0E012600EE58124FAF5B3

:1014C00081229003E1E493FF7E009003E0E493FD2A

:1014D0007C00C007C006C005C004740AC0E0746583

:1014E000C0E07480C0E07450C0E074F1C0E0E4C0BB

:1014F000E0125615AE82E58124F6F5817833EEF2DE

:1015000090F15075F0001211B812071485824185D0

:10151000834285F043F544120714AA82AB83AEF0F0

:10152000FFEAC39541FAEB9542FBEE9543FEEF953A

:1015300044FFC3EA94F4EB9401EE9400EF9400505E

:101540000E7582011223E290001412076580C874A0

:1015500021C0E07465C0E07480C0E07450C0E074E5

:10156000F1C0E0E4C0E0125615AE82E58124FAF540

:10157000817833EEF290F15075F0001211B8120735

:101580001485824185834285F043F544120714AAED

:1015900082AB83AEF0FFEAC39541FAEB9542FBEED6

:1015A0009543FEEF9544FFC3EA94F4EB9401EE9467

:1015B00000EF9400500E7582011223E29000141285

:1015C000076580C8742AC0E07465C0E07480C0E01C

:1015D0007450C0E074F1C0E0E4C0E0125615AE8271

:1015E000E58124FAF5817833EEF290F15075F00040

:1015F0001211B812071485824185834285F043F5A4

:1016000044120714AA82AB83AEF0FFEAC39541FAF5

:10161000EB9542FBEE9543FEEF9544FFC3EA9488B9

:10162000EB9413EE9400EF9400500E758201122398

:10163000E290001412076580C822AE82AF83C00713

:10164000C006125762AA82AB83ACF0FDD006D00769

:10165000300D31C007C006C005C004C003C002C0C1

:1016600002C003C004C0057433C0E07465C0E0125A

:101670003F55E58124FAF581D002D003D004D0058E

:10168000D006D007C002C003C004C00590F106E038

:10169000F8A3E0F9E824E9FCE934FFFDC3EE9CEF90

:1016A0009DD005D004D003D0025019E82438F8E9C1

:1016B00034FFF9C3E89EE99F500A90F106EEF0A3CB

:1016C000EFF0D20920A454C002C003C004C00590AA

:1016D000F104E0F8A3E0F9741728FCE439FDC3EC49

:1016E0009EED9FD005D004D003D002502EC002C082

:1016F00003C004C00574C828FCE439FDC3EE9CEFA8

:101700009DD005D004D003D0024006B8160DB9070D

:101710000A90F104EEF0A3EFF0D20990F106E0F5A3

:1017200045A3E0F546854582854683C005C004C0D3

:1017300003C002125762A882A983AEF0FFD002D084

:1017400003D004D005C000C001C006C0078A828B48

:10175000838CF0ED123BEAAC82AD83AEF0FFE58105

:1017600024FCF58190F104E0FAA3E0FBEAC395457F

:10177000F582EB9546F583C007C006C005C004128C

:101780005762A882A983AAF0FBD004D005D006D066

:1017900007C000C001C002C0038C828D838EF0EFB1

:1017A000125F00AC82AD83AEF0FFE58124FCF581D1

:1017B000C004C005C006C00790000075F0C87442A0

:1017C0001243D6AC82AD83AEF0FFE58124FCF581F7

:1017D00090F340ECF0A3EDF0A3EEF0A3EFF0E4C043

:1017E000E0C0E074C8C0E07442C0E08C828D838E9B

:1017F000F0EF124792AF82E58124FCF581EF600F94

:1018000090F340E4F0A3F0A374C8F0A37442F09006

:10181000F340E0FCA3E0FDA3E0FEA3E0FFE4C0E0B2

:10182000C0E0C0E0C0E08C828D838EF0EF125133B7

:10183000AF82E58124FCF581EF600B90F340E4F08A

:10184000A3F0A3F0A3F0300D2390F340E0C0E0A399

:10185000E0C0E0A3E0C0E0A3E0C0E0744CC0E074EE

:1018600065C0E0123F55E58124FAF58190F340E030

:10187000FCA3E0FDA3E0FEA3E08C828D838EF0123A

:101880005FDF22AFF0AE83E5827837F208EEF20830

:10189000EFF290F345E4F07837E2240CFA08E234F2

:1018A00000FB08E2FC8A828B838CF0125FC3FAA3F0

:1018B000125FC3FB8A828B8312115FAA82AB83AC57

:1018C000F0FF90F346EAF0A3EBF0A3ECF0A3EFF007

:1018D0007837E2240EFD08E23400FE08E2FF8D8234

:1018E0008E838FF0125FC3FDA3125FC3FE8D828EC5

:1018F0008312115FAC82AD83AEF0FFEC2CFCED33B4

:10190000FDEE33FEEF33FF90F34AECF0A3EDF0A3CE

:10191000EEF0A3EFF07837E22410FD08E23400FE89

:1019200008E2FF8D828E838FF0125FC390F34EF03A

:1019300090F58FE090F34FF07837E22405FD08E250

:101940003400FE08E2FF8D828E838FF0125FC3FDAC

:10195000A3125FC3FEA3125FC3FFA3125FC3FC9079

:10196000F350EDF0A3EEF0A3EFF0A3ECF090F3440E

:101970007411F090F3547401F07E447FF37D009075

:10198000F344E07833F28E828F838DF01211B82207

:10199000300D23120714AC82AD83AEF0FFC004C03B

:1019A00005C006C007746AC0E07465C0E012600E2E

:1019B000E58124FAF58190F3557407F090F356749D

:1019C000F1F078837400F20874F1F208E4F278869A

:1019D0007404F208E4F290F35775F0001245F190A8

:1019E000F35B7401F078337407F290F35575F000EF

:1019F0001211B822AD82AE83AFF0ED4E7004F582C5

:101A0000803B8D028E038F04788BE4F2788C7420F7

:101A1000F208E4F28A828B838CF0C007C006C0050E

:101A2000124664D005D006D00774202DFDE43EFE9A

:101A30008D828E838FF0E4124AAC7582002290F181

:101A40000E75F0001219F4C20B12358D758200125A

:101A500036AC7582011236DA120AD090F10AE0FC37

:101A6000A3E0FDA3E0FEA3E0FFC3E49C74849D74A7

:101A7000039EE49F4003021B3B300D0F7484C0E0C3

:101A80007465C0E012600E158115817F00EF24F7A8

:101A90005003021B1790F10E75F000C0071219F4E5

:101AA000D007300D35EF2F25E02499F582E434F589

:101AB000F583E0FBA3E0FCA3E0FDA3E0FEC007C0CC

:101AC00003C004C005C00674A2C0E07465C0E01283

:101AD000600EE58124FAF581D007EF2F25E02499E7

:101AE000F582E434F5F583E0FBA3E0FCA3E0FDA37D

:101AF000E0FE90F10AEBF0A3ECF0A3EDF0A3EEF022

:101B00008B828C838DF0C0071235C11213EDD00784

:101B1000200B040F021A8D200B21300D0F74AFC063

:101B2000E07465C0E012600E1581158190F10A74B1

:101B300080F0A37425F0A3E4F0A3F090F10AE0FC98

:101B4000A3E0FDA3E0FEA3E08C828D838EF012352E

:101B5000C190F10E75F0001219F422AD82AE83AF80

:101B6000F0C007C006C005125EE8AB82D005D00603

:101B7000D00790F12EE0FCEBB50402800590000048

:101B8000803078C1740EF20874F1F208E4F278C47F

:101B9000EBF208E4F28D828E838FF01253F0AE8266

:101BA000AF83E4BE0004BF000104FE3395E08E82E3

:101BB000F5832290F10FE0FFBF01028003021C5663

:101BC00090F10EE0FFBF06028003021C56300D0F9D

:101BD00074E0C0E07465C0E012600E158115817874

:101BE000837410F20874F1F208E4F278867404F257

:101BF00008E4F290F10075F0001245F11208273068

:101C00000D4C90F100E0FCA3E0FDA3E0FEA3E08C0E

:101C1000828D838EF01209F585824785834885F091

:101C20004990F100E0FAA3E0FBA3E0FCA3E0FFC0D1

:101C300047C048C049C002C003C004C00774F9C00F

:101C4000E07465C0E012600EE58124F7F581C203FF

:101C5000900000021F4190F10EE0FFBF023990F1A9

:101C60000FE0FFBFF03120002E300D23120714AC1F

:101C700082AD83AEF0FFC004C005C006C007740F7C

:101C8000C0E07466C0E012600EE58124FAF581D2EE

:101C900000900000021F4190F12FE0FFBF5302802F

:101CA00008BF73028003021DE67456C0E07466C06C

:101CB000E07480C0E0742DC0E07466C0E012600E75

:101CC000E58124FBF58190F100E0FCA3E0FDA3E0B9

:101CD000FEA3E08C828D838EF01209F58582478504

:101CE000834885F04990F100E0FAA3E0FBA3E0FC13

:101CF000A3E0FFC047C048C049C002C003C004C041

:101D00000774F9C0E07465C0E012600EE58124F745

:101D1000F5817582101205C2AF827E00758220C0E7

:101D200007C0061205C2AD827C00758208C005C0DE

:101D3000041205C2AB828B477548007582041205F8

:101D4000C2AB828B4A754B007582021205C2AB8210

:101D50008B4C754D007582011205C2AB827A00C0B2

:101D600047C048C04AC04BC04CC04DC003C00274FD

:101D70005CC0E07466C0E012600EE58124F2F5817B

:101D8000A20AE433FE7F00A206E433FC7D00C00615

:101D9000C007C004C00574CBC0E07466C0E0126028

:101DA0000EE58124FAF58190F58FE0FF7E00C007F3

:101DB000C00674EFC0E07466C0E012600EE58124D6

:101DC000FCF581120714AC82AD83AEF0FFC004C0F5

:101DD00005C006C0077406C0E07467C0E012600E5C

:101DE000E58124FAF58190F12FE0FFBF44028003E2

:101DF000BF644A7582201205C2E582FFB40100E487

:101E000033780AF275822012058012082775822025

:101E10001205C2E582FF24FF920D300D117418C027

:101E2000E07467C0E012600E15811581800F742A7E

:101E3000C0E07467C0E012600E1581158190F12F2B

:101E4000E0FFBF42028003BF624A7582021205C2F0

:101E5000E582FFB40100E433780AF27582021205CC

:101E6000801208277582021205C2E582FF24FF92C4

:101E70000E300E11743DC0E07467C0E012600E15A4

:101E8000811581800F744FC0E07467C0E012600E4E

:101E90001581158190F12FE0FFBF4C028003BF6CCC

:101EA0004A7582101205C2E582FFB40100E433785E

:101EB0000AF2758210120580120827758210120529

:101EC000C2E582FF24FF920C300C117462C0E074F2

:101ED00067C0E012600E15811581800F7470C0E03C

:101EE0007467C0E012600E1581158190F12FE0FF3C

:101EF000BF50028003BF70467582081205C2E5829A

:101F0000601690F1047416F0A37407F090F1067453

:101F100088F0A37405F0801490F10474F2F0A374B7

:101F200007F090F1067433F0A37406F012082774DA

:101F30007FC0E07467C0E012600E158115819000CB

:101F400001227E017F0090F14FE0604CC007C00687

:101F5000120714AA82AB83ACF0FDD006D007783A02

:101F6000D3E29AF4B3FAB308E29BF4B3FBB308E20A

:101F70009CF4B3FCB308E29DF4FDC374D09A7407DB

:101F80009BE49CE49D501190F12F75F000C007C0B8

:101F9000061219F4D006D007C007C0061248ACE5F7

:101FA00082D006D00770030220AC90F14FE0FDBD57

:101FB000200040030220ACC007C006120714AA820A

:101FC000AB83ACF0FD783AEAF208EBF208ECF208E9

:101FD000EDF21248D6AD82D006D007300D258D0324

:101FE0007C00C007C006C005C003C00474A5C0E0E3

:101FF0007467C0E012600EE58124FCF581D005D045

:1020000006D00790F14FE0242FF582E434F1F583F8

:10201000EDF090F14FE0FC0C90F14FECF0BC010DB5

:1020200090F12FE0FC53045FBC5302805090F14FBD

:10203000E0FCE4BC010104FC600D90F12FE0FB53D7

:10204000035FBB44028036EC600D90F12FE0FB5340

:10205000035FBB42028026EC600D90F12FE0FB5342

:10206000035FBB4C028016EC7003021F9890F12FA7

:10207000E0FC53045FBC50028003021F9890F14FB4

:10208000E07003021F98121BB3AE82AF8390F12F52

:1020900075F000C007C0061219F4D006D007EE4F45

:1020A0006003021F988E828F830223E1C007C0065F

:1020B000123740E582D006D00770030223DD90F18D

:1020C0002EE0FCBC200040030223DDC007C0061246

:1020D0003748AD82D006D00790F12EE07003ED6056

:1020E000CB300D258D037C00C007C006C005C003A2

:1020F000C00474A5C0E07467C0E012600EE58124DE

:10210000FCF581D005D006D00790F12EE07012EDDD

:102110002480500DBD4F028008BD02028003BD0621

:102120008BC006C007C006C005120714AA82AB8385

:10213000ACF0FFD005D006783EEAF208EBF208ECEE

:10214000F208EFF290F12EE0240EF582E434F1F57E

:1021500083EDF090F12EE0FF0F90F12EEFF0BF082D

:1021600000D007D0065003022222789174A8F2080A

:102170007467F2087480F290F10E75F000C007C029

:10218000061246B8AB82AC83ADF0D006D007EB4C5C

:102190007078789174B8F2087467F2087480F290DD

:1021A000F10E75F000C007C0061246B8AB82AC83D2

:1021B000ADF0D006D007EB4C7050789174C7F208A0

:1021C0007467F2087480F290F10E75F000C007C0D9

:1021D000061246B8AB82AC83ADF0D006D007EB4C0C

:1021E0007028789174D0F2087467F2087480F290C5

:1021F000F10E75F000C007C0061246B8AB82AC8382

:10220000ADF0D006D007EB4C601890F10E75F000E1

:10221000C007C0061219F4D006D0078E828F830241

:1022200023E190F12EE0FDBD0200405B789174D96E

:10223000F2087467F2087480F290F10E75F000C035

:1022400007C0061246B8AB82AC83ADF0D006D0070B

:10225000EB4C6033200B30300D2BC007C00612074B

:1022600014AA82AB83ACF0FDC002C003C004C00559

:1022700074DCC0E07467C0E012600EE58124FAF5FA

:1022800081D006D007D20B90F12EE0FDBD070050A3

:102290000302235AED24F6500302235A789174EB7B

:1022A000F2087467F2087480F290F11075F000C0C3

:1022B00007C0061246B8AB82AC83ADF0D006D0079B

:1022C000EB4C6037200734D207300D17C007C0062B

:1022D00074F1C0E07467C0E012600E15811581D002

:1022E00006D00790F10E75F000C007C0061219F471

:1022F000D006D0078E828F830223E178917401F299

:10230000087468F2087480F290F11075F000C0074C

:10231000C0061246B8AB82AC83ADF0D006D007EB56

:102320004C60371007028032300D17C007C00674AA

:1023300007C0E07468C0E012600E15811581D006F8

:10234000D00790F10E75F000C007C0061219F4D046

:1023500006D0078E828F830223E190F10EE0FDBD4F

:1023600002028003BD066690F12EE0FD605F90F1F1

:102370000EE0FCEDB50456783EE4F208F208F208EF

:10238000F2121BB3AE82AF83300D2BC007C0061212

:102390000714AA82AB83ACF0FDC002C003C004C026

:1023A00005741AC0E07468C0E012600EE58124FA7A

:1023B000F581D006D00790F10E75F000C007C00679

:1023C0001219F4D006D0078E828F83801490F12EDC

:1023D000E06005D2080220ACC2080220AC8E828FD9

:1023E0008322AF8290F100E0FBA3E0FCA3E0FDA319

:1023F000E0FEEB4C4D4E24FF9206C00712517012C6

:102400000FD512494AD007EF6005121F4280039092

:10241000000122AF8275E10490DF3BE0FEBE01F5D2

:10242000784290DF08E2F090DF06EFF075E10222DB

:10243000AF82AE83ADF0FC7847EFF208EEF208ED24

:10244000F208ECF2120714784BC0E0E582F208E5DE

:1024500083F208E5F0F2D0E008F2784FE4F208F2F7

:10246000300D577846E2FC7D00C005C00412071409

:10247000AA82AB83AEF0FFD004D0057847E2C0E07B

:1024800008E2C0E008E2C0E008E2C0E0C004C00525

:10249000784BE2C0E008E2C0E008E2C0E008E2C039

:1024A000E0C002C003C006C007743EC0E07468C04C

:1024B000E012600EE58124F0F5817846E2B4040074

:1024C000400690FFFD0227FE7846E2240FF9E3F56F

:1024D000827846E2240BF9E37842F212241378471B

:1024E000E2F5F008E242F008E242F008E245F0606E

:1024F00049120714AA82AB83AEF0FF784BD3E29A5D

:10250000F4B3FAB308E29BF4B3FBB308E29EF4B36E

:10251000FEB308E29FF4FF7847C3E2F5F0EA95F0D6

:1025200008E2F5F0EB95F008E2F5F0EE95F008E240

:10253000F5F0EF95F040030227FB7582011223E2CC

:10254000E5828583F045F06033120714AA82AB83DD

:10255000AEF0FF784BD3E29AF4B3FAB308E29BF4FF

:10256000B3FBB308E29EF4B3FEB308E29FF4FFC3EB

:10257000E49A74E29B74049EE49F500690FFFF026D

:1025800027FE120611AE82AF838E028F03EE4F70CC

:10259000030224DE8A828B837852E0F2C003C002F9

:1025A000125730D002D00340030227C67846E224F7

:1025B0000BF9E3FE8E4E3395E0F54F74FFC3954E55

:1025C000FEE4954FFF90DF38E0FD7C00C3ED9EEC0C

:1025D00064808FF063F08095F0505D300D4978464F

:1025E000E2F55275530090DF38E0FC8C50755100D5

:1025F000C003C002120714AC82AD83AEF0FFC04E20

:10260000C04FC052C053C050C051C004C005C00626

:10261000C007747EC0E07468C0E012600EE58124DB

:10262000F4F581D002D0037846E2240BF9E3FE9062

:10263000DF38E0FD2EF3804C300D497846E2F5504E

:1026400075510090DF38E0FC8C52755300C003C018

:1026500002120714AC82AD83AEF0FFC04EC04FC073

:1026600050C051C052C053C004C005C006C007745A

:10267000B2C0E07468C0E012600EE58124F4F58118

:10268000D002D003300D4A7846E2240BF9E3FE8EE7

:10269000503395E0F5517846E2F552755300C0038A

:1026A000C002120714AC82AD83AEF0FFC050C0511F

:1026B000C052C053C004C005C006C00774F0C0E0DB

:1026C0007468C0E012600EE58124F6F581D002D076

:1026D000037843E2FC08E2FD08E2FE8A548B55755C

:1026E00056007852E22402F582781A7415F2C00678

:1026F000C005C0041209DEAF82D004D005D0067830

:1027000086EFF208E4F27883E554F208E555F20822

:10271000E556F28C828D838EF01245F17843E2F516

:102720005408E2F55508E2F55674052554FAE435E7

:1027300055FBAC568A828B838CF0125FC3FAA312CE

:102740005FC3FBA3125FC3FCA3125FC3FF90F10042

:10275000E0F557A3E0F558A3E0F559A3E0F55AEAF0

:10276000B5570EEBB5580AECB55906EFB55A0280CD

:102770000AE55745584559455A7072740B2554FD62

:10278000E43555FEAF568D828E838FF0125FC3FC09

:102790007846D3E29CF4FC8D828E838FF0124AAC93

:1027A0005304FCEC0303543FFF7851E2B507028069

:1027B0000C784F7401F208E4F27851EFF278469009

:1027C000F598E2F08027300D1B7846E2FE7F00C0CE

:1027D00006C007740EC0E07469C0E012600EE581A7

:1027E00024FCF581784F74FEF20874FFF212062C77

:1027F000784FE2F58208E2F583800390000022AF73

:10280000F0AE83E5827853F208EEF208EFF27B0037

:102810007C00C3EB9404EC648094804003022C356C

:10282000EB4C6011785674F4F2087401F208E4F28B

:1028300008F2022AEE301317EB4C70137856740E20

:10284000F208748EF2087404F208E4F2022AEE78B8

:1028500004E2F5F008E242F008E242F008E245F056

:10286000700D7856E4F208F208F208F20229F5C079

:1028700003C004C004C00312071485825B85835C17

:1028800085F05DF55ED003D0047804C3E2F5F0E591

:102890005B95F008E2F5F0E55C95F008E2F5F0E50F

:1028A0005D95F008E2F5F0E55E95F0D004D00340C8

:1028B00003022962C003C004C004C00312071485C8

:1028C000825B85835C85F05DF55E7804E2C0E0089C

:1028D000E2C0E008E2C0E008E2C0E0C05BC05CC06B

:1028E0005DC05E7426C0E07469C0E012600EE581D0

:1028F00024F6F58112071485825B85835C85F05D83

:10290000F55ED003D00474FF255BF55B74FF355C86

:10291000F55C74FF355DF55D74FF355EF55E78043A

:10292000D3E2955BF4B3F55BB308E2955CF4B3F5E1

:102930005CB308E2955DF4B3F55DB308E2955EF42F

:10294000F55E785674E0C3955BF27493955C08F27B

:102950007404955D08F2E4955E08F2D004D0030299

:1029600029F5C003C004C004C00312071485825BAC

:1029700085835C85F05DF55E7804E2C0E008E2C026

:10298000E008E2C0E008E2C0E0C05BC05CC05DC03F

:102990005E7460C0E07469C0E012600EE58124F6E8

:1029A000F58112071485825B85835C85F05DF55E99

:1029B000D003D0047804D3E2955BF4B3F55BB3089D

:1029C000E2955CF4B3F55CB308E2955DF4B3F55DB4

:1029D000B308E2955EF4F55E785674E0C3955BF259

:1029E0007493955C08F27404955D08F2E4955E08B2

:1029F000F2D004D0037856E2F5F008E242F008E2A3

:102A000042F008E245F0604CC003C00490F598E045

:102A100078B3F208E4F29001F4125255AB82E583E8

:102A2000FC3395E0FEFF7856E2C39BF208E29CF28D

:102A300008E29EF208E29FF2D004D0033014157829

:102A400056E2240AF208E23400F208E23400F20806

:102A5000E23400F27856E2F55F08E2F56008E2F54C

:102A60006108E2F562C374E0955F74939560740445

:102A70009561E49562501AE55F2420F55FE56034C6

:102A80006CF560E56134FBF561E56234FFF5628069

:102A9000D47856E55FF208E560F208E561F208E5F2

:102AA00062F2300D49C003C00490F598E0FC8C5BE5

:102AB000755C00120714AB82AC83AEF0FFC004C09B

:102AC00003C05FC060C061C062C05BC05CC003C0C7

:102AD00004C006C0077494C0E07469C0E012600EC0

:102AE000E58124F4F581D003D004D004D0037846E6

:102AF000EBF278537943E2F308E209F308E209F3D1

:102B00007856E2F58208E2F58308E2F5F008E2C0C3

:102B100004C003122430AE82AF83D003D004BEFDC4

:102B200006BFFF03022BFDBEFE06BFFF03022BF90B

:102B3000BEFF06BFFF03022BE5BE0005BF000280FB

:102B40005ABE0105BF00028003022C16120714AA08

:102B500082AD83AEF0FF7804EAF208EDF208EEF2FF

:102B600008EFF2C213300D2D90F598E0FF7E00C003

:102B700007C0067804E2C0E008E2C0E008E2C0E076

:102B800008E2C0E074BCC0E07469C0E012600EE509

:102B90008124F8F581900001022C38D213300D31D8

:102BA000BB032EBC002BC004C003120714AA82ADC5

:102BB00083AEF0FFC002C005C006C00774E0C0E0ED

:102BC0007469C0E012600EE58124FAF581D003D06B

:102BD00004EB240BF9EB246FF582EC3463F583E40A

:102BE00093FFF38048741DC0E0746AC0E012600E69

:102BF00015811581900000803FD2148030C004C040

:102C0000037438C0E0746AC0E012600E158115814B

:102C1000D003D0048017C004C003744AC0E0746AB3

:102C2000C0E012600E15811581D003D0040BBB00EB

:102C3000010C02281290000022E582540124FF9228

:102C40000222125163124AC5120799120B1412057F

:102C5000E112087690DF14E05434F090DF13E4F0D2

:102C600090DF127417F0902C391247C2C2F085F031

:102C700028123BCAD2F085F02875820C12390575EE

:102C80008F0143FF0212071485826385836485F0F8

:102C900065F566120714AA82AB83AEF0FFEAC3950E

:102CA00063FAEB9564FBEE9565FEEF9566FFC3EA6C

:102CB0009410EB9427EE9400EF9400500E7582016F

:102CC0001223E290001412076580C8AFFF5307FD7E

:102CD0008FFF7456C0E07466C0E07480C0E0747109

:102CE000C0E0746AC0E012600EE58124FBF58178D3

:102CF0008374E0F2087477F208E4F27886740EF2D6

:102D000008E4F290F10075F0001245F1D2F085F080

:102D10002875820A12380C12071485826385836431

:102D200085F065F566120714AA82AB83AEF0FFEA60

:102D3000C39563FAEB9564FBEE9565FEEF9566FF30

:102D4000C3EA94E8EB9403EE9400EF9400500E7500

:102D500082011223E290001412076580C8121A3E05

:102D60001213ED100B02800EC2F085F02875820A56

:102D700012380C1213ED300B0A780AE4F27582084F

:102D8000120580D2F085F02875820A12380C1207DD

:102D90001485826385836485F065F566120714AA3D

:102DA00082AB83AEF0FFEAC39563FAEB9564FBEE6A

:102DB0009565FEEF9566FFC3EA94E8EB9403EE9405

:102DC00000EF9400500E7582001223E2900014125E

:102DD000076580C87582011205C2E582600F121472

:102DE000C2780AE4F2758201120580D20975821058

:102DF0001205C2E58224FF920C90F106E0FEA3E0EA

:102E0000FFBEFF05BFFF02801390F104E0FEA3E0C8

:102E1000FFBEFF05BFFF028003022EB375820812BA

:102E200005C2E582603B749DC0E0746AC0E0126038

:102E30000E15811581780A7401F2758202120580DF

:102E4000780A7401F275820412058090F1047416F8

:102E5000F0A37407F090F1067488F0A37405F08075

:102E60003774C1C0E0746AC0E012600E158115812C

:102E7000780AE4F2758202120580780AE4F275821B

:102E80000412058090F10474F2F0A37407F090F13D

:102E9000067433F0A37406F0D2097582021205C2DB

:102EA000E58224FF920E7582201205C2E582FF247E

:102EB000FF920D758280123BF512163AE58290F56D

:102EC0008FF0C203120714AC82AD83AEF0FF90F511

:102ED00090ECF0A3EDF0A3EEF0A3EFF090F100E0A2

:102EE000FCA3E0FDA3E0FEA3E0FFC3EC94FFED94A0

:102EF000FFEE94FFEF94FF400B90F100E4F0A3F09D

:102F0000A3F0A3F0D20F90F100E0FCA3E0FDA3E05A

:102F1000FEA3E0FFEC4D4E4F6003022FD8300D0FA3

:102F200074E9C0E0746AC0E012600E15811581205A

:102F300007087582011223E280F512071485826367

:102F400085836485F065F566120714AA82AB83AEAB

:102F5000F0FFEAC39563FAEB9564FBEE9565FEEF2F

:102F60009566FFC3EA94F4EB9401EE9400EF9400AD

:102F7000500E7582011223E290001412076580C87A

:102F80001219907582011223E2120714858263855B

:102F9000836485F065F566120714AA82AB83AEF0F0

:102FA000FFEAC39563FAEB9564FBEE9565FEEF953A

:102FB00066FFC3EA9410EB9427EE9400EF94004070

:102FC00003022F067582011223E2300603022F0648

:102FD00090001412076580BF30090312082775821C

:102FE000021205C2E58224FF920E7582101205C2FC

:102FF000E58224FF920C7582201205C2E58224FF2F

:10300000920D900876125668300D4C90F100E0FC5D

:10301000A3E0FDA3E0FEA3E08C828D838EF0120975

:10302000F585826385836485F06590F100E0FAA3FD

:10303000E0FBA3E0FCA3E0FFC063C064C065C00286

:10304000C003C004C007740AC0E0746BC0E0126023

:103050000EE58124F7F58190F05E75F0601227FF90

:10306000E5828583F045F070083007EB12199080F7

:10307000E6D20AAFFF5307EF8FFFAFFF5307FD8F75

:10308000FF300D23120714AC82AD83AEF0FFC004F5

:10309000C005C006C0077421C0E0746BC0E01260B8

:1030A0000EE58124FAF581758280123BF512163AFD

:1030B000E58290F58FF03000030232A4300D231228

:1030C0000714AC82AD83AEF0FFC004C005C006C0DB

:1030D000077431C0E0746BC0E012600EE58124FA21

:1030E000F581D2F085F02875820A12380C3007037A

:1030F000023171120714AC82AD83AEF0FF7804D3B5

:10310000E29CF4B3FCB308E29DF4B3FDB308E29E85

:10311000F4B3FEB308E29FF4FFC3EC94C0ED94D483

:10312000EE9401EF94005049120714858263858361

:103130006485F065F566120714AA82AB83AEF0FFD2

:10314000EAC39563FAEB9564FBEE9565FEEF956631

:10315000FFC3EA94E8EB9403EE9400EF9400508DE3

:103160007582011223E22007849000141207658003

:10317000C5300731300D23120714AC82AD83AEF099

:10318000FFC004C005C006C0077448C0E0746BC02F

:10319000E012600EE58124FAF58190F05E75F06032

:1031A0001218838028300D23120714AC82AD83AE31

:1031B000F0FFC004C005C006C0077459C0E0746BBE

:1031C000C0E012600EE58124FAF581D200300903D7

:1031D000120827300D23120714AC82AD83AEF0FF26

:1031E000C004C005C006C0077484C0E0746BC0E0B2

:1031F00012600EE58124FAF5811207148582638539

:10320000836485F065F566120714AA82AB83AEF07D

:10321000FFEAC39563FAEB9564FBEE9565FEEF95C7

:1032200066FFC3EA9410EB9427EE9400EF940050ED

:10323000117582011223E220000890001412076524

:1032400080C5120714AC82AD83AEF0FF7804D3E2E0

:103250009CF4B3FCB308E29DF4B3FDB308E29EF422

:10326000B3FEB308E29FF4FFC3EC94C0ED94D4EE38

:103270009401EF940050030230B6120714AC82ADF3

:1032800083AEF0FFC004C005C006C007749CC0E058

:10329000746BC0E012600EE58124FAF581C203D29E

:1032A000000230B6200003023057300103023057CD

:1032B000120714AC82AD83AEF0FF7800ECF208ED9B

:1032C000F208EEF208EFF2120714AC82AD83AEF012

:1032D000FF7800D3E29CF4B3FCB308E29DF4B3FDA5

:1032E000B308E29EF4B3FEB308E29FF4FFC374F4A4

:1032F0009C74019DE49EE49F40227582011223E2AA

:103300003004C4120714AC82AD83AEF0FF7800EC39

:10331000F208EDF208EEF208EFF280AB1236ECAFF5

:1033200082BFFF0040F6200E03023427120714ACC0

:1033300082AD83AEF0FF90F58BECF0A3EDF0A3EE41

:10334000F0A3EFF020070302340B12071485826309

:1033500085836485F065F56690F58BE0FAA3E0FB64

:10336000A3E0FEA3E0FFE563C39AFAE5649BFBE5F7

:10337000659EFEE5669FFFC374049A74299BE49ED4

:10338000E49F500302340B300D43A292E433FE7FDE

:1033900000A207E433F563756400C007C006120796

:1033A00014AA82AB83ACF0FDD006D007C006C007DC

:1033B000C063C064C002C003C004C00574B4C0E0F0

:1033C000746BC0E012600EE58124F6F581121316CD

:1033D0005014300D3674DAC0E0746BC0E012600E29

:1033E000158115818025200D03023344A292E43318

:1033F000FE7F00C006C00774EDC0E0746BC0E01231

:10340000600EE58124FCF5810233447414C0E0743D

:103410006CC0E012600E15811581C2F085F0287530

:10342000820A12380CC207785AE58CF2A2BD9215B6

:10343000785BE5F3F2785CE5FDF2785DE5F4F2ABFC

:10344000FE75F40075FEFFC20375E104300D48C03F

:103450000390F589E0FAA3E0FB742CC39AFA740197

:103460009BFBC003C002120714AC82AD83AEF0FF19

:10347000D002D003C003C002C003C004C005C00610

:10348000C0077426C0E0746CC0E012600EE58124B1

:10349000F8F581D003D003C003123E5CAFFF5307A1

:1034A000FD8FFFAFFF5307FB8FFFAFFF5307EF8F7A

:1034B000FF90F589E0FEA3E0FF742CC39EF58274B3

:1034C000019FF583120C35C20A123E65D003785A6B

:1034D000E2F58CA21592BD785BE2F5F3785CE2F53B

:1034E000FD785DE2F5F48BFE121A3E90DE01740168

:1034F000F090DE0B7407F0300D23120714AC82AD90

:1035000083AEF0FFC004C005C006C007743EC0E033

:10351000746CC0E012600EE58124FAF58190F12F01

:1035200075F0001219F490F10E75F0001219F49074

:10353000DF13E4F0C200C207D2F085F02875820ADA

:1035400012380C12071485826385836485F065F553

:1035500066120714AA82AB83AEF0FFEAC39563FA42

:10356000EB9564FBEE9565FEEF9566FFC3EA94FA72

:10357000EB9400EE9400EF94004003023057758204

:0D358000011223E290001412076580C5229D

:10636F00CED5E6E58000000073657474696E6773BF

:10637F0020736176656420746F20666C6173680D9D

:10638F000A00256C75202D20736C6565705F74692C

:10639F006D655F6D7320697320256C752C20746893

:1063AF0069735F736C6565705F74696D6520697380

:1063BF002025750D0A00746869735F736C656570CD

:1063CF005F74696D652069732025752C20736F20AC

:1063DF00736B697070696E67207468697320697474

:1063EF0065726174696F6E2E0D0A00736C6565704E

:1063FF005F74696D655F6D732028256C7529206941

:10640F00732067726561746572207468616E2073A2

:10641F0065636F6E64735F6D732028256C75292E0D

:10642F000D0A00256C75202D2073656E645F646105

:10643F00746120257320282564290D0A00256C75A9

:10644F00202D2073656E645F6461746120626C6FD0

:10645F00636B6564206F6E20756172743120696E95

:10646F007075740D0A0053656E64696E673A20008B

:10647F000D0A526573706F6E73653A2000415400B8

:10648F00256C75202D20627265616B42742829205E

:10649F00446964206E6F7420646973636F6E6E65F8

:1064AF0063740D0A00256C75202D20627265616B77

:1064BF004274282920646973636F6E6E6563746517

:1064CF00640D0A00256C75202D20617442742829F3

:1064DF0020446964206E6F742067657420616E209C

:1064EF004F4B0D0A00256C75202D206174427428C6

:1064FF002920676F74204F4B0D0A0041542B4E41DA

:10650F004D4578427269646765253032782530329F

:10651F00780041542B4E4F5449310041542B524572

:10652F005345540062617474657279506572636586

:10653F006E742076616C3A2025660D0A00626174D4

:10654F007465727950657263656E742072657475C7

:10655F00726E696E672025660D0A00256C753A20EC

:10656F0073656E64696E6720626561636F6E204E3E

:10657F006F770D0A0044657465726D696E696E6799

:10658F0020484D2D317820626175647261746520E9

:10659F000D0A00747279696E6720256C750D0A00FB

:1065AF00436F756C64206E6F7420646574656374DB

:1065BF00206261756472617465206F6620484D2D8D

:1065CF0031782C2073657474696E672039363030DA

:1065DF000050726F63657373696E67205458494436

:1065EF00207061636B65740D0A006465785F747861

:1065FF005F69643A20256C7520282573290D0A00E0

:10660F00256C75202D2050726F63657373696E67EB

:10661F002041434B207061636B65740D0A0050720B

:10662F006F63657373696E6720537461747573203C

:10663F00436F6D6D616E640D0A78427269646765B0

:10664F00207625730D0A00322E34376600696E6985

:10665F007469616C697365643A2025752C20736CBD

:10666F006565705F626C653A2025752C20646F6ECE

:10667F00745F69676E6F72655F626C655F7374617B

:10668F0074653A2025752C20784272696467655FBE

:10669F0068617264776172653A2025752C20736585

:1066AF006E645F64656275673A2025752C20646F90

:1066BF005F6C6564733A2025750D0A006465785F19

:1066CF0074785F69645F7365743A2025752C206751

:1066DF006F745F7061636B65743A2025750D0A00E6

:1066EF00626174746572795F6361706163697479F3

:1066FF003A2025750D0A0063757272656E74206DF0

:10670F00733A20256C750D0A006465627567206FFA

:10671F007574707574206F6E0D0A0064656275670D

:10672F00206F7574707574206F66660D0A00424C89

:10673F004520536C656570696E67206F6E0D0A009A

:10674F00424C4520536C656570696E67206F6666B5

:10675F000D0A004C45447320617265206F6E0D0A5F

:10676F00004C45447320617265206F66660D0A0008

:10677F005265736574696E672042617474657279CE

:10678F00204C696D69747320746F20446566617560

:10679F006C74730D0A002563007777772E6A6E6825

:1067AF0075616D616F2E636E004F4B2B5365743A9D

:1067BF0078427269646765004F4B2B5365743A31A9

:1067CF00004F4B2B5245534554004F4B00256C75D2

:1067DF00202D20676F74204F4B0D0A002B434F4E17

:1067EF004E00626C6520636F6E6E65637465640D39

:1067FF000A002B4C4F535400626C6520646973631D

:10680F006F6E6E65637465640D0A00256C75202DBF

:10681F002055415254312078427269646765207067

:10682F00726F746F636F6C20646F6E650D0A002555

:10683F006C75202D20737461727420697320256C20

:10684F00752C2077616974696E6720666F7220708E

:10685F0061636B6574206F6E206368616E6E656C2B

:10686F0020257520666F7220256C75200D0A002576

:10687F006C75202D206170706C79696E672046529F

:10688F004551455354206F6620256420746F206650

:10689F004F66667365745B25755D206F6620256492

:1068AF000D0A00256C75202D204652455145535435

:1068BF00206F6620256420697320746F206C6172CD

:1068CF00676520746F2061646420746F20664F6663

:1068DF00667365745B25755D206F662025640D0AF0

:1068EF0000256C75202D20664F66667365745B25D9

:1068FF00755D206973206E6F772025640D0A006225

:10690F00616420435243206F6E206368616E6E6531

:10691F006C2025640D0A00256C75206973206C6549

:10692F007373207468616E20706B745F74696D652A

:10693F002028256C75292C206765744D732068619C

:10694F007320726F6C6C6564206F7665722E0D0A02

:10695F0000256C75206973206772656174657220FC

:10696F007468616E20706B745F74696D6520282583

:10697F006C75292C207374616E646172642063617D

:10698F006C630D0A00256C753A206C6173745F633C

:10699F0068616E6E656C2069732025752C206465A7

:1069AF006C617920697320256C750D0A00676F740F

:1069BF002061207061636B657420617420256C7594

:1069CF00206F6E206368616E6E656C2025750D0AF1

:1069DF0000256C75202D206D69737365642061200F

:1069EF007061636B65742C20726573657474696E66

:1069FF0067206368616E6E656C206F666673657481

:106A0F0020746F2064656661756C740D0A005553B0

:106A1F004220636F6D6D616E642C20696E746572B8

:106A2F007275707465640D0A00496E76616C6964E5

:106A3F00204368616E6E656C0D0A00556E7370654C

:106A4F00636966696564204572726F722066726F42

:106A5F006D2057616974466F725061636B65740D79

:106A6F000A005374617274696E67207842726964A8

:106A7F006765207625730D0A5265747269657669AC

:106A8F006E672053657474696E67730D0A007842E0

:106A9F0072696467652068617264776172652063EB

:106AAF006972637569742073656C65637465640DD1

:106ABF000A0078447269702D776978656C20686177

:106ACF00726477617265206369726375697420738C

:106ADF00656C65637465640D0A004E6F206465789C

:106AEF005F74785F69642E202053656E64696E67EA

:106AFF0020626561636F6E2E0D0A006C6F6F6B699C

:106B0F006E6720666F7220256C7520282573290DFE

:106B1F000A00256C75202D20676F7420706B740D23

:106B2F000A00256C75202D207061636B65742077CA

:106B3F00616974696E670D0A00256C75202D2073CD

:106B4F00656E6420706B740D0A00256C75202D2006

:106B5F00626C6520636F6E6E656374206469646E2A

:106B6F002774206F636375722C20736C6565706971

:106B7F006E670D0A00256C75202D20776169746989

:106B8F006E6720666F722061636B0D0A00256C754E

:106B9F00202D204E6F2041434B207265636569762F

:106BAF0065640D0A00256C75202D20626C655F638E

:106BBF006F6E6E6563746564203D2025642C2050D4

:106BCF00315F32203D2025640D0A0062726F6B65C4

:106BDF0020636F6E6E656374696F6E0D0A00636F6D

:106BEF006E6E656374696F6E20646964206E6F7476

:106BFF0020627265616B2C2050315F3220697320E7

:106C0F0025640D0A007475726E696E67206F666673

:106C1F0020424C450D0A00256C75202D20736C65A4

:106C2F006570696E6720666F722025750D0A0025E5

:0E6C3F006C75202D206177616B65210D0A00B8

:107026002800000000000000000000000000000032

:1070360080250000004B00000096000000E10000E3

:1070460000C20100C012000060090000B004000088

:1070560000840300060606060606040000DFBE00DE

:1070660007204275AE022230313233343536373896

:107076003941424344454647484A4B4C4D4E505190

:0770860052535455575859AD

:10358D00751000751100751200751300C216C21763

:10359D00C21843F54043F10275FB8243F8C043F472

:1035AD004043A908AFB95307F78FB9D2EAC28FD2FA

:1035BD00ABD2AF22AF82AE83ADF0FCC3EF9417EE6A

:1035CD009400ED9400EC9400400D74609F74E39EA4

:1035DD0074169DE49C50030236AB7B00C374A69F0A

:1035ED0074909E74079DE49C50100BECC313FCED7E

:1035FD0013FDEE13FEEF13FF80E278B5EFF208EE48

:10360D00F208EDF208ECF290000BE4F5F0C007C003

:10361D0006C005C004C0031252758582148583153A

:10362D0085F016F517D003D004D005D006D0077855

:10363D00B5EFF208EEF208EDF208ECF29021D7E4C6

:10364D00F5F0C003125275AC82AD83AEF0FF787AFF

:10365D00741BF20874B7F208E4F208F28C828D83C1

:10366D008EF0EF1244A7AC82AD83AEF0FFD003EC29

:10367D002514FCED3515FDEE3516FEEF3517FFED76

:10368D0054FE7006EE7003EF60100BEFC313FFEEE8

:10369D0013FEED13FDEC13FC80E58BFC8CFA22AFD1

:1036AD00827E00BF0102800FBF0202800EBF0302A7

:1036BD00800DBF0410800C7E38800A7E1880067E37

:1036CD003080027E10744755FB4EF5FB22AF82BF52

:1036DD00020543FB048007AFFB5307FB8FFB22E57D

:1036ED0011C3951014F58222AE82AF837873E2FD7B

:1036FD00ED6026E510245CFBE434F3FC8E828F83B1

:10370D00E0FAA3AE82AF838B828C83EAF0E51004DE

:10371D00FC8C101D439A0880D722AF82E510245CE3

:10372D00F582E434F3F583EFF0E51004FF8F1043D9

:10373D009A0822E513C39512F58222E512245CF551

:10374D0082E434F4F583E0FFE51204FE8E128F82DD

:10375D0022C0E0C082C083C007C0D075D000E51084

:10376D00B511028018C2EAE511245CF582E434F348

:10377D00F583E0F5F9E51104FF8F118007AF9A533A

:10378D0007F78F9AD0D0D007D083D082D0E032C047

:10379D00E0C082C083C007C006C005C004C003C01E

:1037AD00D075D000C28FE5F8FF541860028031AD9E

:1037BD00127E00AB137C00EDC39BFDEE9CFE1DBD88

:1037CD00FF011EED6016E513245CF582E434F4F57B

:1037DD0083E5F9F0E51304FE8E138010D218800CEA

:1037ED00EF30E402D217EF30E302D216D0D0D0037F

:1037FD00D004D005D006D007D083D082D0E032E5FA

:10380D0082FF24E75003023904EF240983C0E0EF5F

:10381D00241C83C0E022555F69737D870404040472

:10382D00919AA3ACB5BEC7D00404D9E2EBF4FD3830

:10383D0038383838383939393938383838383838F7

:10384D003839393838383838A240928043FD010272

:10385D003904A240928143FD02023904A2409282B2

:10386D0043FD04023904A240928343FD080239044A

:10387D00A240928443FD10023904A240928543FD7B

:10388D0020023904A240929043FE01806AA2409228

:10389D009143FE028061A240929243FE048058A2A1

:1038AD0040929343FE08804FA240929443FE1080B5

:1038BD0046A240929543FE20803DA240929643FE43

:1038CD00408034A240929743FE80802BA24092A06C

:1038DD0043FF018022A24092A143FF028019A24022

:1038ED0092A243FF048010A24092A343FF088007D9

:1038FD00A24092A443FF1022E582FF24E750030269

:10390D003B22EF240983C0E0EF241C83C0E0224E4C

:10391D00678099B2CB22222222E4FD162F48617ACC

:10392D00932222ACC4DCF40C3939393939393B3B9B

:10393D003B3B39393A3A3A3A3A3A3B3B3A3A3A3AD8

:10394D003B304009AF8F5307FE8F8F8003438F01AC

:10395D00AFFD5307FE8FFD023B22304009AF8F5361

:10396D0007FD8F8F8003438F02AFFD5307FD8FFD42

:10397D00023B22304009AF8F5307FB8F8F800343EB

:10398D008F04AFFD5307FB8FFD023B22304009AF83

:10399D008F5307F78F8F8003438F08AFFD5307F7C2

:1039AD008FFD023B22304009AF8F5307EF8F8F8081

:1039BD0003438F10AFFD5307EF8FFD023B223040C5

:1039CD0009AF8F5307DF8F8F8003438F20AFFD53D8

:1039DD0007DF8FFD023B22304009AFF65307FE8F04

:1039ED00F6800343F601AFFE5307FE8FFE023B2226

:1039FD00304009AFF65307FD8FF6800343F602AF53

:103A0D00FE5307FD8FFE023B22304009AFF65307F0

:103A1D00FB8FF6800343F604AFFE5307FB8FFE02C8

:103A2D003B22304009AFF65307F78FF6800343F67C

:103A3D0008AFFE5307F78FFE023B22304009AFF669

:103A4D005307EF8FF6800343F610AFFE5307EF8F4A

:103A5D00FE023B22304009AFF65307DF8FF680039D

:103A6D0043F620AFFE5307DF8FFE023B22304009A5

:103A7D00AFF65307BF8FF6800343F640AFFE5307F3

:103A8D00BF8FFE023B22304009AFF653077F8FF602

:103A9D00800343F680AFFE53077F8FFE023B22303B

:103AAD004009AFF75307FE8FF7800343F701AFFFD0

:103ABD005307FE8FFF805E304009AFF75307FD8F30

:103ACD00F7800343F702AFFF5307FD8FFF804630AA

:103ADD004009AFF75307FB8FF7800343F704AFFFA0

:103AED005307FB8FFF802E304009AFF75307F78F39

:103AFD00F7800343F708AFFF5307F78FFF801630AA

:103B0D004009AFF75307EF8FF7800343F710AFFF6F

:103B1D005307EF8FFF22E582FF24E75003023BB8E6

:103B2D00EF240983C0E0EF241C83C0E0226C707485

:103B3D00787C80B8B8B8B884888C9094989CA0B8DC

:103B4D00B8A4A8ACB0B43B3B3B3B3B3B3B3B3B3B06

:103B5D003B3B3B3B3B3B3B3B3B3B3B3B3B3B3BA241

:103B6D00808049A2818045A2828041A283803DA2AE

:103B7D00848039A2858035A2908031A291802DA2BA

:103B8D00928029A2938025A2948021A295801DA2C6

:103B9D00968019A2978015A2A08011A2A1800DA2D6

:103BAD00A28009A2A38005A2A48001C322304009EE

:103BBD00AFF75307DF8FF7800343F720223040091B

:103BCD00AFF75307BF8FF7800343F740223040090B

:103BDD00AFF753077F8FF7800343F78022A8811833

:103BED0018C6B2E7C60254AAAF82C28D74B06FF583

:103BFD00B6308DFDE5BB30E705900000801985BA24

:103C0D0082E5BBC4C582C4540F6582C582540FC5FD

:103C1D00826582C582F58322AF82C28D74B06FF545

:103C2D00B6308DFDAEBAAFBB8E82EFC4C582C45423

:103C3D000F6582C582540FC5826582C58230E3024D

:103C4D0044F0F58322AC82AD83AEF0FF7B00787833

:103C5D00E4F27877E2235401FA70527874E225E0A9

:103C6D00F208E233F208E233F208E233F27874C379

:103C7D00E2F5F0EC95F008E2F5F0ED95F008E2F5DF

:103C8D00F0EE95F008E2F5F0EF95F050147877E24C

:103C9D00C313F218E213F218E213F218E213F280D2

:103CAD000C7878E22401F27878E2FB80A57874C371

:103CBD00E2F5F0EC95F008E2F5F0ED95F008E2F59F

:103CCD00F0EE95F008E2F5F0EF95F0401C7874D326

:103CDD00E29CF4B3FCB308E29DF4B3FDB308E29E9D

:103CED00F4B3FEB308E29FF4FF7877E2C313F21842

:103CFD00E213F218E213F218E213F28B021BEA70D0

:093D0D00AC8C828D838EF0EF2254

:0B053E00751800C219C21AC21BC21CB3

:103D1600C028C0E0C0F0C082C083C007C006C0058E

:103D2600C004C003C002C001C000C0D0E4F5D0F595

:103D36009BE5E930E4187403B5180875821E123D38

:103D4600D5800B7402B5180675821F123DD5E5E9BC

:103D560030E506758220123DD53019427403B51838

:103D660002804F7402B5182390DF3BE0FFBF0D1BA6

:103D760090DF3CE0FF20E33A90DF12E0FF530707B5

:103D8600BF0702800674F625A4502790DF3BE0FFAC

:103D9600BF0D02800375E104758221123DD5E5E968

:103DA60030E705D21C75E97FE5E930E605D21B75DB

:103DB600E9BFD0D0D000D001D002D003D004D005C6

:103DC600D006D007D083D082D0F0D0E0D02832AF52

:103DD6008290DF3BE0FEBE1202801E90DF3BE0FEDB

:103DE600BE0102801490DF3BE0FE600D90DF3BE0F9

:103DF600FEBE1502800375E10075D682AED153066C

:103E0600FD8ED175180290DF127407F08F821206AC

:103E16006C301A12AF9A5307FE8F9A85A41A85182A

:103E260019751801C21A75E9CFAF18BF0102801AB9

:103E3600BF02028005BF0315800875D60275E10230

:103E4600800B75D60275E103800375E104C2192261

:103E5600D219439B0322D21A123E562019FD2285FF

:103E6600191890DF12E0FF7007F5A2851AA4F5A3D2

:103E7600439A01AF18BF02028005BF0310800843B2

:103E8600D60275E102800643D60275E10322125678

:103E96007490DF147414F090DF137405F090DF1241

:103EA6007407F0439A017591F0D2AF90F56F7413D1

:103EB600F022AE82AF837879E2601290DF12E4F0EE

:103EC60075A2007879E2F5A475A300800690DF124A

:103ED6007407F07CD97D0074DF2DFC90F569ECF059

:103EE6007CD990F56AECF08F0590F56BEDF090F5C6

:103EF6006CEEF090DF02E0FF0F0F0F90F56EEFF023

:103F060090F56D7480F090F5707410F075180222BB

:103F1600AE82AF838F0590F569EDF090F56AEEF00D

:103F26007ED97F0074DF2FFE90F56BEEF07ED99080

:103F3600F56CEEF090DF02E0FF0F90F56EEFF0907B

:103F4600F56D7420F090F5707440F075180322C07A

:103F56001C85811CE51C24FDF8868318868218E4DE

:103F660093A3B42577C21DC21EC21FC220C221C29E

:103F76002279677700C223E493A324C64017240A54

:103F860050157005B56702D222D221FAE775F00AFC

:103F9600A42AF780E2240A2430B46C04D21D80D708

:103FA600B46804D21E80D0B47303023FEDB4640635

:103FB6001242C7024049B475061242C7024069B4AC

:103FC600630518E6188017B47803024028B4660320

:103FD60002417DB42E0679687700809B6006124305

:103FE600B9023F650243D3C083C08286F018868338

:103FF60018868218302119C222C082C083125FC37C

:104006006007A31567E56770F41243A4D083D082D6

:10401600125FC36006A31243B980F5D082D0830233

:104026003F65124040201E0C124040301D061240D3

:10403600401240401243CB023F65E61243A9E61800

:104046000243AAED30E71CD220E9F42401F9201E30

:1040560012EAF43400FA301D0AEBF43400FBECF4F7

:104066003400FC201E10301D08EB7024EC7021C2B9

:104076001DEA701CD21EE97017202314302109E5B1

:1040860067600515671243A474301243B9023F6591

:10409600C082C0831242E1302160790A301D1DEBD7

:1040A60054F0703619EB540F703019EA54F0702A38

:1040B60019EA540F702419EF54F0701E7905201E6A

:1040C6000BEF540F701419EE54F0700E7903EE5482

:1040D6000F700719ED54F0700119E567A220994099

:1040E60019F567C003C002C007C006C0051243A485

:1040F600D005D006D007D002D003302019C003C0A7

:1041060002C007C006C005742D1243B9D005D006FB

:10411600D007D002D003201E40301D2CC005C0069B

:10412600C0078A82EBF5831243A9E5831243AAE509

:10413600821243A9E5821243AAD0E0F5821243A96E

:10414600E582D083D08280058D828E83EF1243AACA

:10415600E5831243A9E58380038D82EE1243AAE527

:10416600821243A9E5821243AA1243CBD083D0829E

:1041760030230122023F6530210EE567D39568F5AD

:104186006750287567008023E6547FFA188603086F

:10419600AE82AF83906E197D07E4932BA3E4933A26

:1041A6005003A3DDF48D688E828F83C0001242A96E

:1041B600C082C083EFB47E02801940112482FDC301

:1041C600EA33FAEB33FBEC33FCDDF48006F4247FB0

:1041D60012454875F01BE4F8FFFEFD906DADE9331E

:1041E600F9EA33FAEB33FBEC33FC5017E4932DD4A6

:1041F600FD7401933ED4FE7402933FD4FF7403937F

:1042060038D4F8A3A3A3A3D5F0D4E47C50FBFAF9E1

:10421600E568232354FC8883124548ED29D4F56CC0

:10422600EE3AD4F56BEF3BD4F56AE5833CD4F569F9

:1042360092D5D083D082D0001242A9C000C3749E0A

:104246009F5005D000023F7DC082124548D0823083

:10425600D50FE92401F9E43AFAE43BFBE43CFC40DF

:10426600E2D22312406920210CE5686008124299C7

:104276007003D568F4E5686015742E1243B97800AA

:10428600D21F08E81242991243AAE8B568F4D00092

:10429600023F6514C31392D52469F9E720D501C4FA

:1042A600540F22E618F9E618FC33E9339220FF6032

:1042B60003430480E618FBE618FA7900C21ED21DF5

:1042C60022E6F9FD18201E12AA01E6F918301D0A89

:1042D600AC02AB01E6FA18E6F91822E975F0648437

:1042E600FE740AC5F084C445F0FD301E0122EA546E

:1042F6000FF9906C4D932DD4FDE94410933ED4FEF6

:10430600EAC4540FF9906C6D932DD4FDE9441093D3

:104316003ED4FEE94420933400D4FF201D0122EB55

:10432600540FF9906C9D932DD4FDE94410933ED41F

:10433600FEE94420933FD4FFE43400FAEBC4540F63

:10434600F9906CCD932DD4FDE94410933ED4FEE94B

:104356004420933FD4FFE94430933AD4FAEC540F07

:10436600F9906D0D7B00124377ECC4540FF9906DF4

:104376005D932DD4FDE94410933ED4FEE944209389

:104386003FD4FFE94430933AD4FAE94440933BD40E

:10439600FB22742030220274301243B91567E56798

:1043A60070F022C4540F7003301F19D21F2490D40A

:1043B6003440D4C083C082C000F5821210B4D0004D

:1043C600D082D08322201FFC74300243B9D01C2235

:106C4D0000561268248036924804601672288440DB

:106C5D00000205071012151720232528303335386B

:106C6D0000969288848076726864605652484440DB

:106C7D0000408122630445862768095091327314C0

:106C8D0000000001010202020303040404050506CD

:106C9D00003672084480165288246096326804408B

:106CAD000055106621763287429853086419753065

:106CBD000006131926323945525865727885919818

:106CCD00007652280480563208846036128864405B

:106CDD000085715743281400867157432914008687

:106CED000004091419242934384348535863687231

:106CFD0000010203040506070809101112131415EB

:106D0D00001632486480961228446076920824401A

:106D1D0000724416886032057749219365381082D8

:106D2D000077553310886644219977543210886561

:106D3D00001633506783001734506784011834519F

:106D4D000000000000000101010101010202020228

:106D5D0000561268248036924804601672288440CA

:106D6D000054096318722781369145005409631840

:106D7D0000438730741761044891357922660953B1

:106D8D0000683605734210794715845221895826BB

:106D9D000002050810131618212426293234374015

:106DAD0000000050000000250000501200002506D4

:106DBD0000501203002556015012780025063900A7

:106DCD001253190056760900288804001444020055

:106DDD00072201000461000052300000261500005A

:106DED006307000081030000910100009500000081

:106DFD004800000024000000120000000600000002

:106E0D000300000001000000010000007DC5DDC38E

:0A6E1D0034C2E0BE38BD86BBE4B904

:1043D600124479BC000302578FEF60FA30D502B25F

:1043E600D1E583B4FF030257A5E582B4FF03025764

:1043F600A5258340072482400B02578F248314503F

:10440600030257A5F582EA8DF0A4A8F0EA8EF0A47F

:1044160028F8E435F0F9EB8DF0A428E935F0F9E455

:1044260033CA8FF0A429F9EA35F0FAEBF88EF0A436

:1044360029F9EA35F0FAE433FBEC8DF0A429F9EA20

:1044460035F0FAE43BFBE88FF0A42AFAEB35F0FBF3

:10445600E433CCFD8EF0A42AFAEB35F0FBE43CFC09

:10446600ED8FF0A42BFBEC35F0FC20E70312458B17

:1044760002576EAA82AB83A2F73392D16002D2F7BB

:10448600F582ACF0E58124F9F8E6FD08E6FE08863B

:10449600F008E6A2F73392D56002D2F7F583AFF0C3

:1044A60022AF82AE83ADF0FC787EEFF208EEF20822

:1044B600EDF208ECF27A007B007E007F007D20782A

:1044C60081E2235401FC24FF9224787EE225E0F267

:1044D60008E233F208E233F208E233F2EA2AFAEBB0

:1044E60033FBEE33FEEF33FF302403430201787AC9

:1044F600C3E2F5F0EA95F008E2F5F0EB95F008E294

:10450600F5F0EE95F008E2F5F0EF95F04022787AB6

:10451600D3E29AF4B3FAB308E29BF4B3FBB308E22E

:104526009EF4B3FEB308E29FF4FF787EE24401F204

:10453600DD8D787EE2F58208E2F58308E2F5F00883

:02454600E2226F

:0604BC00E478FFF6D8FD14

:104548006040F82582500274FFF582E824F8501E76

:10455800CCCBCAF9E4CC24F85014CBCAF9E4CB2468

:10456800F8500BCAF9E4CA24F85003790022240849

:104578006010F8C3EC13FCEB13FBEA13FAE913F928

:10458800D8F1227804EC700DC9CACBFCE58224F876

:10459800F582D8F122782020E7111582C3E933F992

:1045A800EA33FAEB33FBEC33FCD8EC22E5B4540CD9

:1045B800600280F885BC82743055B44407F5B42293

:1045C800AF827882E27003EF60097882E2B4030870

:1045D800BF8005788274AAF28FBC7882E2F5BC129B

:1045E80045B41245B41245B422AD82AE83AFF0781B

:1045F80088EDF208EEF208EFF28D048E038F027850

:1046080083E2FD08E2FE08E2FF8C728B738A7478FD

:1046180086E2F57508E2F576AB75AC76157574FF2C

:10462800B575021576EB4C60258D828E838FF0125E

:104638005FC3FCA3AD82AE83857282857383857464

:10464800F0EC124AACA385827285837380CA78889D

:10465800E2F58208E2F58308E2F5F022AFF0AE83D6

:10466800E582788EF208EEF208EFF2788EE2FA0828

:10467800E2FB08E2FC788CE2F57208E2F573AE72B0

:10468800AF73157274FFB572021573EE4F60138A1B

:10469800828B838CF0788BE2124AACA3AA82AB831C

:1046A80080DC788EE2F58208E2F58308E2F5F022F4

:10049A007970E94400601B7A019070267889759317

:1004AA00F5E493F2A308B800020593D9F4DAF275D9

:0204BA0093FFAE

:1046B800AD82AE83AFF07894EDF208EEF208EFF237

:1046C80078917997E2F308E209F308E209F3789719

:1046D800E2F58208E2F58308E2F5F0125FC370079D

:1046E8008D828E838FF0228D828E838FF0125FC32E

:1046F800700302478B7897E2FA08E2FB08E2FC8D28

:10470800728E738F748572828573838574F0125FDD

:10471800C3F57560438A828B838CF0125FC3F5768C

:104728006036C005C006C007E575F5773395E0F536

:1047380078E576FD3395E0FFE577C39DFDE5789F45

:104748004DD007D006D005700F0572E4B57202058A

:10475800730ABA00B00B80AD8A828B838CF0125F2B

:10476800C3700E7894E2F58208E2F58308E2F5F06A

:10477800220DBD00010E7894EDF208EEF208EFF27A

:104788000246EF90000075F00022FFA88118181269

:104798005521D2D133E6400730E70B75820122203C

:1047A800E70675820022C2D1125503E97003F5822B

:0A47B8002230D101B3E433F5822270

:10054900751B00C225C226789AE4F208F2789CE469

:10055900F2789DE4F2789E74FFF27E7E7F48789F60

:05056900EEF208EFF2C4

:1047C200AE82AF83789AEEF208EFF22278B0740AE2

:1047D200F27582011250CF78B17440F275820412E0

:1047E200510178B07440F27582041250CF789E74F1

:1047F200FFF22290F55DE0FF53077FBF21028003A5

:1048020002487C90F561E0FEA3E0FF4E6006BE0127

:1048120069BF006690F55EE0FFBF2002800ABF21FB

:10482200028016BF2254802278AE74F0F20874F52A

:10483200F290000712509A804178AC74F0F208743A

:10484200F5F2900007125079803090F55FE0FEA3F8

:10485200E0789CEEF21250BB789AE2F5F008E2455D

:10486200F06017747CC0E07448C0E0789AE2C0E05F

:1048720008E2C0E0789CE2F58222222222789FE2BE

:10488200F58208E2F58312048B90F5F0E0FCA3E0D8

:10489200FDA3E0FEA3E0FFBC4D0FBD010CBE00096D

:1048A200BF000620260312493D2290F5F7E0FFBF24

:1048B20010028005758200801A90DE0E7404F0905A

:1048C200DE14E0FF30E00990DE16E0FFF58280039F

:1048D2007582002290DE0E7404F090DE28E0FF90D4

:1048E200DE16E0FE700890DE14E054FEFEF0D229DF

:1048F2008F8222AE82AF8378A179A6E2F378A7EE07

:10490200F208EFF2758204124AC690DE16E0FF70DA

:104912000890DE14E054FEFFF02290DE0E7404F0E4

:1049220090DE11E0FF4401F07440B51B03D3800117

:10493200C392279225751B00D22922D22612071470

:10494200AC8290F55CECF022124B3E302619120735

:1049520014AC82AD83AEF090F55CE0FFECC39FFC3B

:1049620024B950031251EE90F5F7E0FFBF10028018

:1049720002807990DE0E7404F0E51B700B30250B7B

:1049820090DE11E0FF20E10312491C90DE0E74015B

:10499200F0789D799EE2F5F0E3B5F002804E90DE6C

:1049A20011E0FF20E04690DE2274A1F07420F0E4D2

:1049B200F090DE22F090DE22F090DE22F090DE22F5

:1049C2007402F0E4F0789D90DE22E2F090DE22E4C0

:1049D200F090DE11E04401F0789DE2FF5307837806

:1049E2009DEFF2789DE2FF789EF2D2292290F5F7B0

:1049F200E0FFBF10028005758200802790DE0E74F2

:104A020004F090DE11E0FF30E112EF30E005758234

:104A12000080107440C3951BF58280077480C39593

:104A22001BF58222AE82AF8378A2E260517440C34A

:104A3200951BFD78A2C3E29D500478A2E2FD78A9FD

:104A4200EDF278AAEEF208EFF2758204C007C00612

:104A5200C005124AFBD005D006D007ED2EFEE43F7A

:104A6200FF78A2E2C39DF2ED251BF51B7440B51B36

:104A7200B7C007C00612491CD006D00780AA22E59B

:104A82008290DE28F0051B7440B51B0312491C22DC

:104A9200789CE2F58222AF82789DE2547C4F789D29

:0A4AA200F222AF82789DE24FF2226B

:106E27001201000202000020FB1F002200000102E5

:106E3700030109024300020100C0320904000001F6

:106E47000202010005240020010424020205240691

:106E570000010524010001070581030A0001090457

:106E67000100020A000000070504024000000705B0

:106E770084024000000404030904260350006F0045

:106E87006C006F006C007500200043006F007200FB

:106E970070006F0072006100740069006F006E007F

:106EA7000C0357006900780065006C007D6E816EE9

:046EB700A76EE603D9

:07708D00802500000000084F

:104AAC0020F71030F6118883A88220F507F6A8832A

:094ABC0075830022F280F7F0225C

:04056E00C228C229B4

:104AC50022AF82E4CF25E0CF33FE74202FFF74DEC2

:104AD5003EFE78A6E2FD78A7E2FB08E2FCED601356

:104AE5001D8F828E83E0FA8B828C83F0A3AB82AC20

:104AF5008380EAD22922AF82E4CF25E0CF33FE744A

:104B0500202FFF74DE3EFE78A9E2FD78AAE2FB08BD

:104B1500E2FCED60141D8B828C83E0FAA3AB82ACC2

:104B2500838F828E83EAF080E922C22890DE0174A9

:104B350001F090DE0B7407F0221252274014AFBE2D

:104B450053077F8FBE12523090F5F7E4F0C228026A

:104B55004D8790F5F7E0FF701312523843BE800081

:104B650000000090F5F77402F0124B2F90DE06E07E

:104B7500FF90DE02E0FEEF30E002D228EF30E216D1

:104B850090F5F77404F090F5F8E4F0C007C006124C

:104B95004B2FD006D007EF30E102C228EE20E0030C

:104BA500024D8790DE0EE4F090DE11E0FFD229EF92

:104BB50030E40B90DE117480F090F5F8E4F0EF30FE

:104BC500E20990DE11E4F090F5F8F0EF20E0030241

:104BD5004D1D90F5F8E0FEBE01028003024C7F906A

:104BE500DE16E0FE90F565E0FCA3E0FD8E027B009D

:104BF500C3EC9AED9B50028C0678A6EEF278A47968

:104C0500A7E2F308E209F3758200C007C006124A5D

:104C1500C6D006D00778A4E22EF208E23400F2905E

:104C2500F565E0FCA3E0FD7B0090F565ECC39EF027

:104C3500ED9BA3F090F565E0FDA3E0FE4D600990C6

:104C4500DE117440F0024D1D90F55DE05460600783

:104C5500C00712487FD00790DE0EE4F090F5F8E02B

:104C6500FE700990DE117468F0024D1D90DE11741E

:104C750048F090F5F8E4F0024D1D90DE16E0FEBE1A

:104C850008028003024D1778A7745DF20874F5F2E7

:104C950078A67408F2758200C007124AC6D007903C

:104CA500F5F8E4F090F55DE054607009C007124D29

:104CB50088D0078007C0071247F5D00790DE0EE4BD

:104CC500F090F563E0FDA3E0FE90F565E0FBA3E061

:104CD500FCC3ED9BEE9C500890F565EDF0A3EEF05E

:104CE50090F5F8E0FE700890DE117460F08029BE42

:104CF500012690F565E0FDA3E0FE4D600890DE110C

:104D05007440F0801390DE11744AF090F5F8E4F0E9

:104D1500800690DE117440F0EF20E16690F5F8E032

:104D2500FEBE025E90F565E0FDA3E0FEC3ED9420B6

:104D3500EE940050097F0A90F5F8E4F080047F02B4

:104D45007D2078A9EDF278A479AAE2F308E209F3C7

:104D5500758200C007C005124AFBD005D00790DE5A

:104D650011EFF078A4E22DF208E23400F290F56537

:104D7500E0FEA3E0FF7C0090F565EEC39DF0EF9C9F

:104D8500A3F02290F567E4F090F568F090F55EE009

:104D9500FF24F35003025021EF2F2F904DA47302EF

:104DA5004F4B02500D02502102500D025021024E70

:104DB50086024DCB025021024EE4024EA7024F0956

:104DC50002502102501290F55FE0FEA3E0FFFC7D4A

:104DD50000BC0105BD00028013BC0205BD000280B8

:104DE50020BC0305BD0002803B024E7078A47427E9

:10

danpowell88 commented 6 years ago

Will do, hard to verify that its not happening, only happened to me that once but given its starting to warm up here I might potentially see it more often

jstevensog commented 6 years ago

Yeah, it has only happened to me twice on one day. Cold outside, warm inside. Whenever I spent extended time outside and came back inside, it seemed to occur. Had to be in the cold for a very long time though.

So far v2.47f is working just as well as v2.47e. Will go out riding today (18C top today) and see what happens when I get home. Cheers

On Wed, Oct 11, 2017 at 4:46 PM, Daniel Powell notifications@github.com wrote:

Will do, hard to verify that its not happening, only happened to me that once but given its starting to warm up here I might potentially see it more often

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/jstevensog/wixel-sdk/issues/29#issuecomment-335689828, or mute the thread https://github.com/notifications/unsubscribe-auth/AIQs8040VhIg2r6DBgxEZ6QhgEAt-yenks5srFZJgaJpZM4PzUeQ .

-- John Stevens "You are how you live, not what you have."

danpowell88 commented 6 years ago

Yeah overnight I had no issues

danpowell88 commented 6 years ago

Still no issues, can't say if it fixed the problem explicitly though

jstevensog commented 6 years ago

I've had a couple of issues over the last few weeks, so still have to chase something down. They are so rare, and I am always well away from my laptop at the time, it's very hard to trace. Will try and make it happen on the bench soon. Thanks mate. Cheers

On Wed, Oct 18, 2017 at 11:30 AM, Daniel Powell notifications@github.com wrote:

Still no issues, can't say if it fixed the problem explicitly though

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/jstevensog/wixel-sdk/issues/29#issuecomment-337421161, or mute the thread https://github.com/notifications/unsubscribe-auth/AIQs82Ow9503dLuPq-a9vpzzPPtC9rlmks5stUaYgaJpZM4PzUeQ .

-- John Stevens "You are how you live, not what you have."

ToreBj commented 6 years ago

I've been watching this conversation and I forked the Xbridge2 a year ago approx. and made a review of the code and tried to improve the battery supervision among a few things. Doing that I noticed though that you are in general not handling rollover of timers/counters. I'm not sure of the effect in each case in the different codeparts. Is this something you are aware of and have considered? I think this may affect the code execution after some time(weeks?)

jstevensog commented 6 years ago

Hi Tore, Yes, I am aware that I am not dealing with rolling over of timers/counters everywhere. In most instances, this is not an issue. But in the few cases I believe this is an issue (ms count for example, used to calculate the sleep time) I have, I believe, dealt with them correctly. Though, I am happy to be corrected, and happy for others to contribute to the code.

Most of it is fairly untouched from the original code base from Adrien de Croy, who in turn left it basically untouched from his original source. But there a definitely areas that need improving. So many contributors, each with their own coding styles/standards, does make it difficult to follow. I am planning a full rewrite of the code for xBridge3, but that is still a while away.

So, if you wish to contribute, please feel free. I am happy for any assistance and review of the code, and happy to give credit.

The issues we are discussing are since the sleep timing and initiation was improved and the code became much more stable and better at capturing packets. The most common state when the lock up we are discussing occurs is that the bridge is awake and connected, but fails to receive packets. There are two possibilities.

1) The receiver auto tuning enters a very incorrect value to the offset for each channel. When this occurs, no packet is captured on any channel, and the bridge stays awake. I have added code to reset the offsets to defaults when packets are missed on a channel. This can easily happen because the offsets by default are large negative values, I believe because the original coder used this as a method of tuning to any transmitter drift. I plan to go through the frequency calculations for each channel to see if I can improve this and get these default offsets closer to 0.

2) There is a place in the code going into an infinite loop. I have caused these before and need to go through the code again to try and find out if this is the case. Would be happy if you have time to review the latest v2.47f code and see if you can point out potential code areas that this may be happening.

Another possibility is that on occasion the bridge fails to detect the BLE connection. It doesn't bother to send the packet on if it doesn't detect BLE is connected, but it should also go to sleep after 2 minutes. Unless, of course, I have a bug in the code that doesn't permit this, and it is essentially an infinite loop waiting for the connection.

Anyway, that is my thinking on this very intermittent occurrence of a lock up. If you, or anyone, has any suggestions I would be most interested and appreciative. Cheers

On Thu, Oct 19, 2017 at 7:45 PM, Tore Bjørndalen notifications@github.com wrote:

I've been watching this conversation and I forked the Xbridge2 a year ago approx. and made a review of the code and tried to improve the battery supervision among a few things. Doing that I noticed though that you are in general not handling rollover of timers/counters. I'm not sure of the effect in each case in the different codeparts. Is this something you are aware of and have considered? I think this may affect the code execution after some time(weeks?)

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/jstevensog/wixel-sdk/issues/29#issuecomment-337841231, or mute the thread https://github.com/notifications/unsubscribe-auth/AIQs82wmoCFMUB3rKlsbyOyJ3LFUIzE4ks5stwwngaJpZM4PzUeQ .

-- John Stevens "You are how you live, not what you have."

ToreBj commented 6 years ago

Hi John,

I will make a code diff (against the version I've been using: 2.46) and check your changes and see what you are trying to achieve. I'm currently using a G5, but I've got a working G4. I have the standard HM10/Wixel/Adafruit w /battery monitoring "setup-in-a-box" and 2 of he Xdrip Lipo board(one w/HM11 and one w/HM17) in a 3D printed case. I think and have seen different issues with BLE when testing with different phones. HM17 behaves differently when already bonded and requires a different setup as I can recall. I'll try to dig into my memory and the code to see how I can contribute.

jstevensog commented 6 years ago

Thanks Tore, You would be better to do a pull of v2.47f branch to begin with, and maybe then do a diff between v2.46. Quite a lot has changed in v2.47e/f around how the cc2511 is put to sleep, and how quickly it wakes up. It is now waking every 10 seconds to sync the RCOSC and HSXOSC for more stable and accurate sleeping.

v2.47e/f also no longer uses the STATUS wire. The HM-17s do not set this correctly to a LOW/HIGH level for some reason, so I have moved to setting the HM-1x modules to output OK+CONN/OK+LOST when a connection is established/broken, and send an AT to break the connection before putting the wixel to sleep, as keencave does in blucon. This alone has SIGNIFICANTLY increased the BLE reliability on the phone side. It also means no difference in circuitry with the older wixel-xdrip circuit, other than powering off the HM-1x to save power.

I am running v2.47f on my prod bridge now and easily achieve 7 days between charges with a 1200mAh battery. Best it has ever done, and it still uses an old HM-10 module. I have a dev bridge with a HM-17, and intend to try it out in prod once I get hold of a board I can solder it to.

Any assistance is greatly appreciated. Cheers

On Fri, Oct 20, 2017 at 12:08 AM, Tore Bjørndalen notifications@github.com wrote:

Hi John,

I will make a code diff (against the version I've been using: 2.46) and check your changes and see what you are trying to achieve. I'm currently using a G5, but I've got a working G4. I have the standard HM10/Wixel/Adafruit w /battery monitoring "setup-in-a-box" and 2 of he Xdrip Lipo board(one w/HM11 and one w/HM17) in a 3D printed case. I think and have seen different issues with BLE when testing with different phones. HM17 behaves differently when already bonded and requires a different setup as I can recall. I'll try to dig into my memory and the code to see how I can contribute.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/jstevensog/wixel-sdk/issues/29#issuecomment-337902221, or mute the thread https://github.com/notifications/unsubscribe-auth/AIQs87NAdayaZAToCPpy55CderDyyWlIks5st0nEgaJpZM4PzUeQ .

-- John Stevens "You are how you live, not what you have."

danpowell88 commented 6 years ago

I think I managed to get the same issue again, currently ~20 mins without any readings

sProcessing Status Command xBridge v2.47f dex_tx_id: 6840542 (6GQ6X) initialised: 0, sleep_ble: 1, dont_ignore_ble_state: 1, xBridge_hardware: 1, send_debug: 1, do_leds: 1 dex_tx_id_set: 1, got_packet: 0 battery_capacity: 77 current ms: 426796801 sProcessing Status Command xBridge v2.47f dex_tx_id: 6840542 (6GQ6X) initialised: 0, sleep_ble: 1, dont_ignore_ble_state: 1, xBridge_hardware: 1, send_debug: 1, do_leds: 1 dex_tx_id_set: 1, got_packet: 0 battery_capacity: 77 current ms: 426948875 427064834 - start is 427064834, waiting for packet on channel 1 for 500 427065334 - start is 427065334, waiting for packet on channel 2 for 500 427065834 - start is 427065834, waiting for packet on channel 3 for 500 427066334 - missed a packet, resetting channel offset to default 427066334: sending beacon Now 427066334 - send_data ▒▒h (7) 427066335 - send_data blocked on uart1 input Sending: ▒▒h Response: 427066341 - start is 427066341, waiting for packet on channel 0 for 298510

This time I'd been inside for a number of hours and the bridge was sitting in the same spot in a cool air-con office.