aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCristian Maglie <c.maglie@bug.st>2013-03-07 22:09:41 +0100
committerCristian Maglie <c.maglie@bug.st>2013-03-07 22:09:41 +0100
commita6f7480034697fe5f48667ca978fea9eedcaa066 (patch)
tree79f0c1c618cad37c7da1d67ec837c64e6b8b16db
parent095e99aae5c4e94e06382ca40a0b00bae05a7f3a (diff)
Mega2560 bootloader: use avr library functions for writing into EEPROM
-rw-r--r--[-rwxr-xr-x]bootloaders/stk500v2/stk500boot.c19
-rw-r--r--bootloaders/stk500v2/stk500boot_v2_mega2560.hex871
2 files changed, 471 insertions, 419 deletions
diff --git a/bootloaders/stk500v2/stk500boot.c b/bootloaders/stk500v2/stk500boot.c
index 104ab3b..e7494df 100755..100644
--- a/bootloaders/stk500v2/stk500boot.c
+++ b/bootloaders/stk500v2/stk500boot.c
@@ -1020,24 +1020,15 @@ int main(void)
}
else
{
- //* issue 543, this should work, It has not been tested.
- #if (defined(EEARL) && defined(EEARH) && defined(EEMWE) && defined(EEWE) && defined(EEDR))
+ //* issue 543, this should work, It has not been tested.
uint16_t ii = address >> 1;
/* write EEPROM */
- do {
- EEARL = ii; // Setup EEPROM address
- EEARH = (ii >> 8);
+ while (size) {
+ eeprom_write_byte((uint8_t*)ii, *p++);
address+=2; // Select next EEPROM byte
ii++;
-
- EEDR = *p++; // get byte from buffer
- EECR |= (1<<EEMWE); // Write data into EEPROM
- EECR |= (1<<EEWE);
-
- while (EECR & (1<<EEWE)); // Wait for write operation to finish
- size--; // Decrease number of bytes to write
- } while (size); // Loop until all bytes written
- #endif
+ size--;
+ }
}
msgLength = 2;
msgBuffer[1] = STATUS_CMD_OK;
diff --git a/bootloaders/stk500v2/stk500boot_v2_mega2560.hex b/bootloaders/stk500v2/stk500boot_v2_mega2560.hex
index a600ec2..68d2e18 100644
--- a/bootloaders/stk500v2/stk500boot_v2_mega2560.hex
+++ b/bootloaders/stk500v2/stk500boot_v2_mega2560.hex
@@ -1,408 +1,469 @@
:020000023000CC
-:10E000000D9489F10D94B3F10D94B3F10D94B3F126
-:10E010000D94B3F10D94B3F10D94B3F10D94B3F1EC
-:10E020000D94B3F10D94B3F10D94B3F10D94B3F1DC
-:10E030000D94B3F10D94B3F10D94B3F10D94B3F1CC
-:10E040000D94B3F10D94B3F10D94B3F10D94B3F1BC
-:10E050000D94B3F10D94B3F10D94B3F10D94B3F1AC
-:10E060000D94B3F10D94B3F10D94B3F10D94B3F19C
-:10E070000D94B3F10D94B3F10D94B3F10D94B3F18C
-:10E080000D94B3F10D94B3F10D94B3F10D94B3F17C
-:10E090000D94B3F10D94B3F10D94B3F10D94B3F16C
-:10E0A0000D94B3F10D94B3F10D94B3F10D94B3F15C
-:10E0B0000D94B3F10D94B3F10D94B3F10D94B3F14C
-:10E0C0000D94B3F10D94B3F10D94B3F10D94B3F13C
-:10E0D0000D94B3F10D94B3F10D94B3F10D94B3F12C
-:10E0E0000D94B3F12A00593D506F727420626C692F
-:10E0F0006E6B00563D73686F7720696E746572723F
-:10E1000075707420566563746F727300523D447568
-:10E110006D702052414D00513D51756974004C3D68
-:10E120004C69737420492F4F20506F7274730048EC
-:10E130003D48656C7000463D44756D7020464C410D
-:10E14000534800453D44756D7020454550524F4D34
-:10E1500000423D426C696E6B204C454400403D4599
-:10E160004550524F4D2074657374003F3D435055E8
-:10E1700020737461747300303D5A65726F2061645E
-:10E18000647200504F5254004545206572722063FE
-:10E190006E743D0052656164696E672045450057A5
-:10E1A00072697474696E672045450020004D75736F
-:10E1B000742062652061206C657474657200506F14
-:10E1C0007274206E6F7420737570706F72746564F2
-:10E1D000005768617420706F72743A006A6D702025
-:10E1E00000726A6D702020006E6F20766563746F18
-:10E1F00072005623202020414444522020206F707A
-:10E2000020636F64652020202020696E737472750E
-:10E210006374696F6E2061646472202020496E749B
-:10E2200065727275707400342E362E3200312E38BD
-:10E230002E30004465632032322032303132004CBF
-:10E240006F636B20667573652020203D2000457844
-:10E25000742066757365202020203D200048696782
-:10E260006820667573652020203D20004C6F772064
-:10E2700066757365202020203D20004350552049BD
-:10E28000442020202020203D200047434320566585
-:10E290007273696F6E203D2000415652204C6962B6
-:10E2A00043205665723D20005F5F4156525F4152E8
-:10E2B00043485F5F3D2000435055205479706520EE
-:10E2C0002020203D2000436F6D70696C6564206FD5
-:10E2D0006E203D20004875683F00426F6F746C6F80
-:10E2E000616465723E0041726475696E6F20657885
-:10E2F000706C6F7265722073746B353030563220DB
-:10E300006279204D4C530041546D6567613235365A
-:10E31000300011241FBECFEFD1E2DEBFCDBF01E040
-:10E320000CBF12E0A0E0B2E0E2E3F9EF03E00BBFC4
-:10E3300002C007900D92A430B107D9F71BBE12E0BE
-:10E34000A4E0B2E001C01D92A231B107E1F70F9441
-:10E35000F7F20D9497FC01E20EBF0FEF0DBF1124F1
-:10E360001FBE0D94F7F20D9400F08093C6008091CB
-:10E37000C00086FFFCCF8091C00080648093C00005
-:10E38000089520E030E008C0EFECF7E03197F1F7B6
-:10E3900000C000002F5F3F4F28173907A9F70895E5
-:10E3A000CF93DF93EC01C60FD11DCE01A0E0B0E00A
-:10E3B0002196ABBFFC018791882319F00F94B5F12A
-:10E3C000F4CFDF91CF9108958DE00F94B5F18AE0FD
-:10E3D0000F94B5F108950F94D0F10F94E4F10895DE
-:10E3E000CF93DF93EC018991882319F00F94B5F155
-:10E3F000FACFDF91CF910895CF93C82F982F9295A0
-:10E400009F70892F805D8A3308F0895F0F94B5F182
-:10E41000CF708C2F805D8A3308F0895F0F94B5F13F
-:10E42000CF9108950F931F93CF93DF93EC018B014E
-:10E43000853691051CF4633071054CF0CE0164E61D
-:10E4400070E00F9438FC862F805D0F94B5F1CB30CF
-:10E45000D1051CF4023011056CF0CE0164E670E0C9
-:10E460000F9438FC6AE070E00F9438FC862F805DD2
-:10E470000F94B5F1CE016AE070E00F9438FC805D36
-:10E480000F94B5F1DF91CF911F910F910895809175
-:10E49000C00087FFFCCF8091C6000895CF93C82F9E
-:10E4A00083E891EE60E00F94D0F18C2F0F94B5F1DA
-:10E4B0000F94E4F1CF9108953F924F925F926F9243
-:10E4C0007F928F929F92AF92BF92CF92DF92EF9204
-:10E4D000FF920F931F93CF93DF93CDB7DEB7629771
-:10E4E0000FB6F894DEBF0FBECDBF582E6A017B0178
-:10E4F00010E144248EE2382E81E0C81680E0D80670
-:10E5000081E0E80680E0F80618F08E2D0F94FCF10B
-:10E510008D2D0F94FCF18C2D0F94FCF180E20F9463
-:10E52000B5F18DE20F94B5F180E20F94B5F1198247
-:10E530003E010894611C711C4601570100E191E005
-:10E54000591651F0591620F0A2E05A1661F409C08C
-:10E55000ABBEF401479007C0C4010F9481FC482E64
-:10E5600002C0F4014080842D0F94FCF180E20F94EE
-:10E57000B5F1842D80528F3518F4F301408202C02A
-:10E58000D3013C920894811C911CA11CB11C015028
-:10E590000894611C711C002391F680E190E0A0E0DA
-:10E5A000B0E0C80ED91EEA1EFB1E198ACE010196E4
-:10E5B0000F94F0F10F94E4F1115009F09DCF6296A1
-:10E5C0000FB6F894DEBF0FBECDBFDF91CF911F9184
-:10E5D0000F91FF90EF90DF90CF90BF90AF909F9002
-:10E5E0008F907F906F905F904F903F900895CF9362
-:10E5F000DF93CDB7DEB7C054D1400FB6F894DEBF7D
-:10E600000FBECDBF01E20EBF0FEF0DBF94B7F89460
-:10E61000A89514BE8091600088618093600010927C
-:10E620006000789493FF05C0E0910402F091050228
-:10E630001995279A2F9A8091C00082608093C0001C
-:10E6400080E18093C40088E18093C1000000CC2465
-:10E65000DD247601A7EC8A2EABE19A2EA12CB12CF9
-:10E6600000E010E025C005E00A95F1F700000894ED
-:10E67000C11CD11CE11CF11C01E010E021E2C2161A
-:10E680002EE4D20620E0E20620E0F20610F400E0DC
-:10E6900010E0C701B601A50194010F944BFCDC0109
-:10E6A000CB010097A105B10519F485B1805885B952
-:10E6B0008091C00087FD03C001151105A1F2C801BA
-:10E6C00001968130910511F00D9419FC0D94D4FB45
-:10E6D00080E090E081309105C9F41FC00196A11D32
-:10E6E000B11D813032E193073AE7A30730E0B30769
-:10E6F00080F0C15CDE4F88819981CF53D140AFEF6C
-:10E700008F3F9A0719F0EE27FF27099480E090E0E9
-:10E71000DC013091C00037FFE1CF3091C600089492
-:10E72000E11CF11C313209F042C5BAE0EB16F104EC
-:10E7300008F03DC56F5F7F4F6330710509F039C543
-:10E740000FC081E20F94B5F101501040D1F70F9442
-:10E75000E4F10894E108F108E114F10481F412C035
-:10E76000C95DDE4FF982E882C752D140C55DDE4FF8
-:10E7700019830883CB52D140F5E0EF2EF12C09E14B
-:10E7800010E0DFCF10920E0210920F0210921002D2
-:10E790001092110210920A0210920B0210920C02B7
-:10E7A00010920D02109206021092070210920802B7
-:10E7B0001092090286EE92EE60E00F94EBF18AED82
-:10E7C00092EE60E00F94D0F10F9447F2182F80364C
-:10E7D00008F01F75103230F0812F0F94B5F180E2F0
-:10E7E0000F94B5F1183409F4B5C11934B8F41234E2
-:10E7F00009F446C1133458F4103319F1103308F4F6
-:10E80000D3C41F33A1F1103409F0CEC4B9C01534FC
-:10E8100009F44DC1163409F0C7C477C1123509F4A3
-:10E8200009C2133538F41C3409F4D3C1113509F089
-:10E83000BBC4F6C1163509F422C2193509F0B4C4B7
-:10E84000A8C387E791EE62E00F94EBF110920A0201
-:10E8500010920B0210920C0210920D0210920E02F6
-:10E8600010920F02109210021092110200C18BE65A
-:10E8700091EE62E00F94EBF186EE92EE60E00F9481
-:10E88000EBF186EC92EE60E00F94D0F183E392EE30
-:10E8900060E00F94EBF187EB92EE60E00F94D0F123
-:10E8A00087E093EE60E00F94EBF188EA92EE60E08F
-:10E8B0000F94D0F186E090E061E070E00F9412F2E6
-:10E8C0000F94E4F18AE892EE60E00F94D0F187E2D1
-:10E8D00092EE60E00F94EBF189E992EE60E00F9424
-:10E8E000D0F18DE292EE60E00F94EBF18BE792EEC7
-:10E8F00060E00F94D0F18EE10F94FCF188E90F9461
-:10E90000FCF181E00F94FCF10F94E4F18CE692EEBF
-:10E9100060E00F94D0F119E0E0E0F0E010935700D0
-:10E9200084910F94FCF10F94E4F18DE592EE60E098
-:10E930000F94D0F1E3E0F0E01093570084910F942E
-:10E94000FCF10F94E4F18EE492EE60E00F94D0F1CC
-:10E95000E2E0F0E01093570084910F94FCF10F94E3
-:10E96000E4F18FE392EE60E00F94D0F1E1E0F0E0AB
-:10E970001093570084910F94FCF10F94E4F11FCF92
-:10E980008DE591EE62E00F94EBF18FE991EE60E09E
-:10E990000F94EBF10F94E4F1EE24FF2412C0C701B1
-:10E9A000612F0F9489FC112331F48BEA91EE60E022
-:10E9B0000F94D0F103C0812F0F94B5F10894E11C9E
-:10E9C000F11CC7018A519D41A0E0B0E0ABBFFC0142
-:10E9D00017911A3229F0E0E0EE16E2E0FE06F9F6B1
-:10E9E0000F94E4F10F94E4F184E991EE60E00F9468
-:10E9F000EBF10F94E4F1CC24DD24EE24FF2416C0C7
-:10EA0000C7010F9481FC182F882331F48BEA91EE13
-:10EA100060E00F94D0F102C00F94B5F1101719F017
-:10EA20000894C11CD11C0894E11CF11C87010A51F7
-:10EA30001D4120E030E02BBFF80107910A3229F098
-:10EA4000F0E0EF16F2E0FF06D9F60F94E4F10F9430
-:10EA5000E4F188E891EE60E00F94D0F1C60161E046
-:10EA600070E00F9412F20F94E4F10F94E4F110921D
-:10EA700006021092070210920802109209029FCE1D
-:10EA800081E591EE62E00F94EBF1279A2F9A0AC08C
-:10EA90002F9884E690E00F94C1F12F9A84E690E0DD
-:10EAA0000F94C1F18091C00087FFF2CF77C383E458
-:10EAB00091EE62E00F94EBF1409106025091070253
-:10EAC000609108027091090281E00F945CF28091DC
-:10EAD000060290910702A0910802B09109028050AD
-:10EAE0009F4FAF4FBF4F8093060290930702A093B2
-:10EAF0000802B0930902803000E1900700E0A0070F
-:10EB000000E0B00708F45BCEB2CF86E391EE62E09E
-:10EB10000F94EBF140910A0250910B0260910C02AC
-:10EB200070910D0280E00F945CF280910A02909146
-:10EB30000B02A0910C02B0910D0280509F4FAF4F7D
-:10EB4000BF4F80930A0290930B02A0930C02B093E4
-:10EB50000D0235CE8FE291EE62E00F94EBF187E784
-:10EB600091EE60E00F94EBF18BE691EE60E00F9494
-:10EB7000EBF18DE591EE60E00F94EBF181E591EE24
-:10EB800060E00F94EBF183E491EE60E00F94EBF121
-:10EB900086E391EE60E00F94EBF18FE291EE60E09E
-:10EBA0000F94EBF18EE191EE60E00F94EBF187E1D1
-:10EBB00091EE60E00F94EBF18CE091EE60E00F9449
-:10EBC000EBF183EF90EE60E00F94EBF186EE90EEC8
-:10EBD000F3CD8EE191EE62E00F94EBF181E40F94BE
-:10EBE0004EF282E40F944EF283E40F944EF284E4EA
-:10EBF0000F944EF285E40F944EF286E40F944EF299
-:10EC000087E40F944EF288E40F944EF28AE40F9456
-:10EC10004EF28BE40F944EF28CE40F944EF2CFCD73
-:10EC200087E191EE62E00F94EBF122243324442437
-:10EC3000439413C38CE091EE62E00F94EBF14091AA
-:10EC40000E0250910F02609110027091110282E049
-:10EC50000F945CF280910E0290910F02A09110022D
-:10EC6000B091110280509F4FAF4FBF4F80930E0263
-:10EC700090930F02A0931002B0931102A0CD83EFE6
-:10EC800090EE62E00F94EBF187E093EE60E00F947A
-:10EC9000EBF182EF91EE60E00F94EBF1C75DDE4F98
-:10ECA00019821882C952D140442455243201A3014B
-:10ECB00092015695479537952795CF5CDE4F28836F
-:10ECC00039834A835B83C153D140C75DDE4F48819E
-:10ECD0005981C952D1404F5F5F4FC75DDE4F5983A5
-:10ECE0004883C952D140CA0162E070E00F9412F229
-:10ECF00080E20F94B5F18DE20F94B5F180E20F94AC
-:10ED0000B5F180E00F94FCF1CF5CDE4F8881C153F8
-:10ED1000D1400F94FCF180E20F94B5F18DE30F9494
-:10ED2000B5F180E20F94B5F16BBEF2018790682DCA
-:10ED300070E080E090E0C35DDE4F688379838A8372
-:10ED40009B83CD52D140D301C2010196A11DB11DBB
-:10ED5000ABBFFC018791082F10E020E030E0CB5CD6
-:10ED6000DE4F088319832A833B83C553D140930127
-:10ED700082010D5F1F4F2F4F3F4FB301A2014E5F26
-:10ED80005F4F6F4F7F4F6BBFFA01379044E050E009
-:10ED900060E070E0440E551E661E771E2BBFF80122
-:10EDA0001791CB5CDE4F288139814A815B81C55345
-:10EDB000D140CC24D22EE32EF42EC35DDE4F488109
-:10EDC00059816A817B81CD52D140C40ED51EE61E89
-:10EDD000F71E0F94FCF180E20F94B5F1882D0F948B
-:10EDE000FCF180E20F94B5F1812F0F94FCF180E2E9
-:10EDF0000F94B5F1832D0F94FCF180E20F94B5F1DF
-:10EE00005FEFC5165FEFD50650E0E50650E0F5066A
-:10EE100031F488EE91EE60E00F94D0F1ADC0D701EF
-:10EE2000C6018070907CA070B070803060EC960756
-:10EE300060E0A60760E0B60701F57FEF872E7FE36D
-:10EE4000972EA12CB12C8C209D20AE20BF20CF5C12
-:10EE5000DE4FC880D980EA80FB80C153D140C80C06
-:10EE6000D91CEA1CFB1CCC0CDD1CEE1CFF1C81EE2B
-:10EE700091EE60E00F94D0F16AC0D701C6018E70A8
-:10EE80009E7FA070B0708C3074E9970770E0A70780
-:10EE900070E0B70709F070C0812F90E0A0E0B0E00B
-:10EEA0008824982EA92EBA2E830C911CA11CB11C6B
-:10EEB000C35DDE4F88819981AA81BB81CD52D1404B
-:10EEC00081709070A070B070DC0199278827880E3F
-:10EED000991EAA1EBB1EC35DDE4F88819981AA813F
-:10EEE000BB81CD52D140807F9070A070B07041E165
-:10EEF000880F991FAA1FBB1F4A95D1F7880E991E2C
-:10EF0000AA1EBB1ECB5CDE4F88819981AA81BB8182
-:10EF1000C553D14081709070A070B07055E1880FDA
-:10EF2000991FAA1FBB1F5A95D1F7880E991EAA1EBA
-:10EF3000BB1E75016401CC0CDD1CEE1CFF1C8CEDAE
-:10EF400091EE60E00F94D0F18A2D0F94FCF1892DA1
-:10EF50000F94FCF1882D0F94FCF180E20F94B5F131
-:10EF60008EE30F94B5F18E2D0F94FCF18D2D0F943F
-:10EF7000FCF18C2D0F94FCF10F94E4F1C75DDE4F92
-:10EF800008811981C952D1400933110509F08FCE8A
-:10EF900016CC86EE90EE62E00F94EBF181ED91EEEF
-:10EFA00060E00F94D0F10F9447F2182F1F75812F56
-:10EFB0000F94B5F10F94E4F1812F81548A3108F058
-:10EFC000F0C0163409F477C0173490F4133409F400
-:10EFD00042C0143430F41134F1F0123409F0DBC0C3
-:10EFE0002AC0143409F447C0153409F0D4C053C002
-:10EFF0001A3409F494C01B3438F4173409F46BC084
-:10F00000183409F0C8C077C01B3409F49CC01C3404
-:10F0100009F0C1C0ACC08FEF81B907C082B1809543
-:10F0200082B988EC90E00F94C1F18091C00087FF15
-:10F03000F5CF12B8B3C08FEF84B907C085B1809502
-:10F0400085B988EC90E00F94C1F18091C00087FFF2
-:10F05000F5CF15B8A3C08FEF87B907C088B18095E9
-:10F0600088B988EC90E00F94C1F18091C00087FFCF
-:10F07000F5CF18B893C08FEF8AB907C08BB18095D0
-:10F080008BB988EC90E00F94C1F18091C00087FFAC
-:10F09000F5CF1BB883C08FEF8DB907C08EB18095B7
-:10F0A0008EB988EC90E00F94C1F18091C00087FF89
-:10F0B000F5CF1EB873C08FEF80BB07C081B38095BA
-:10F0C00081BB88EC90E00F94C1F18091C00087FF74
-:10F0D000F5CF11BA63C08FEF83BB07C084B38095AF
-:10F0E00084BB88EC90E00F94C1F18091C00087FF51
-:10F0F000F5CF14BA53C08FEF8093010109C08091FE
-:10F10000020180958093020188EC90E00F94C1F198
-:10F110008091C00087FFF3CF109202013FC08FEFB4
-:10F120008093040109C080910501809580930501B9
-:10F1300088EC90E00F94C1F18091C00087FFF3CF7D
-:10F14000109205012BC08FEF8093070109C08091B9
-:10F15000080180958093080188EC90E00F94C1F13C
-:10F160008091C00087FFF3CF1092080117C08FEF86
-:10F1700080930A0109C080910B01809580930B0157
-:10F1800088EC90E00F94C1F18091C00087FFF3CF2D
-:10F1900010920B0103C08EEB91EE0ECB0F9447F251
-:10F1A0000ECB8DEA91EE08CB85ED92EE05CB60E0BB
-:10F1B00070E02330F9F0243028F4213071F022304F
-:10F1C000A0F407C0253029F12530D8F02630A1F56C
-:10F1D0002FC03B3109F07CCA40C3C326CA5DDE4F55
-:10F1E0003883C652D14022E073CA532F40E0C32671
-:10F1F00023E06ECA832F90E0482B592BC32624E0CE
-:10F2000067CA3E3009F02EC3C32600E010E025E0B7
-:10F210005FCAE1E0F0E0EC0FFD1FE00FF11F30836B
-:10F220000F5F1F4FC3260417150709F051CA1DC3EE
-:10F230003C1509F017C303C0273009F049CA1B0168
-:10F24000C95DDE4FF982E882C752D140C55DDE4F0D
-:10F2500019830883CB52D14044249981933109F416
-:10F260000AC19431C8F4963009F4D0C0973050F4F4
-:10F27000923009F4FEC0933009F46AC0913009F06D
-:10F2800048C24FC0913109F470C0923108F0B0C04B
-:10F29000903109F03EC2EDC0983109F483C0993134
-:10F2A00050F4953109F4E7C0953108F4B4C19631B2
-:10F2B00009F02FC2B0C19A3109F467C09A3108F43D
-:10F2C00085C09B3109F454C09D3109F022C28D8163
-:10F2D000803339F49F819923A9F09130A9F4E8E9AA
-:10F2E00016C0982F907591F0803519F4E0E0F0E0A9
-:10F2F00004C0883559F4E3E0F0E099E090935700BA
-:10F30000E49105C0EEE103C0E1E001C0E0E01A8253
-:10F310001B828C831D82EE831F8207E0E02EF12C7E
-:10F32000FDC11A8288E08B8381E48C8386E58D831E
-:10F3300082E58E8389E48F8383E5888780E58987EA
-:10F340008FE58A8782E38B871BE0E12EF12CE6C1F3
-:10F35000EA81E059E33028F4F0E0E050FE4F80818C
-:10F3600001C080E01A828B833FC04424439481C053
-:10F370008D81882321F0813021F488E903C08EE15A
-:10F3800001C081E01A828B8308C01A82E1E0F0E0BC
-:10F3900089E080935700E491EB831C82B4E0EB2E6C
-:10F3A000F12CBCC18B81803549F48C81883019F4F3
-:10F3B000E2E0F0E005C0E0E0F0E002C0E3E0F0E011
-:10F3C00089E080935700E4911A82E6CF8D81836CA7
-:10F3D00099E0E1E0F0E0082E90935700E89507B639
-:10F3E00000FCFDCF1A821B82A3E0EA2EF12C96C10D
-:10F3F00080EC8A83F2E0EF2EF12CCE5DDE4F188296
-:10F4000019821A821B82C252D14088C18A8190E03F
-:10F41000A0E0B0E0582F4427332722278B8190E0CB
-:10F42000A0E0B0E0DC0199278827282B392B4A2B54
-:10F430005B2B8D8190E0A0E0B0E0282B392B4A2B8C
-:10F440005B2B8C8190E0A0E0B0E0BA2FA92F982F21
-:10F450008827282B392B4A2B5B2B220F331F441F65
-:10F46000551FC25EDE4F288339834A835B83CE51AA
-:10F47000D1401A8250C13A81C65CDE4F3883CA53EC
-:10F48000D140C75CDE4F1882C953D1402B8130E098
-:10F49000C75CDE4F08811981C953D140202B312B25
-:10F4A000933109F079C0CE5DDE4F488159816A8180
-:10F4B0007B81C252D140403080EC580783E068071E
-:10F4C00080E07807F0F483E0FA0160935B008093BA
-:10F4D0005700E89507B600FCFDCFCE5DDE4F4881B2
-:10F4E00059816A817B81C252D14040505F4F6F4F3A
-:10F4F0007F4FCE5DDE4F488359836A837B83C25240
-:10F50000D1408B85DE011D96C25EDE4F4881598158
-:10F510006A817B81CE51D14011E0FD01319790810C
-:10F52000C45CDE4F9883CC53D140C55CDE4F18825B
-:10F53000CB53D14090E0C55CDE4FE881F981CB53DD
-:10F54000D1408E2B9F2B0C01FA0160935B0010932E
-:10F550005700E89511244E5F5F4F6F4F7F4F225049
-:10F56000304019F08C911296D8CF85E0C25EDE4F04
-:10F57000088119812A813B81CE51D140F801209325
-:10F580005B0080935700E89507B600FCFDCF81E152
-:10F5900080935700E89535C0F901C25EDE4F48817F
-:10F5A00059816A817B81CE51D1408E01055F1F4F09
-:10F5B00041BDBB27A72F962F852F82BD4F5F5F4F81
-:10F5C0006F4F7F4FD8018D918D0180BDFA9AF99AC6
-:10F5D000F999FECF319761F7C9010197AC0160E05D
-:10F5E00070E04F5F5F4F6F4F7F4FC25EDE4F08810D
-:10F5F00019812A813B81CE51D140400F511F621F9A
-:10F60000731F1A82C25EDE4F488359836A837B83ED
-:10F61000CE51D14080C01A81C25CDE4F1883CE53D8
-:10F62000D140C35CDE4F1882CD53D1402B8130E0F6
-:10F63000C35CDE4F08811981CD53D140202B312B83
-:10F64000B3E0EB2EF12CE20EF31E1A82943119F581
-:10F65000DE011396C25EDE4F488159816A817B814B
-:10F66000CE51D1406BBFFA01879196918C93119640
-:10F670009C93119712964E5F5F4F6F4F7F4F2250B2
-:10F68000304081F7C25EDE4F488359836A837B83B3
-:10F69000CE51D1403CC0F901C25EDE4F4881598154
-:10F6A0006A817B81CE51D1408E010D5F1F4F41BDDC
-:10F6B000BB27A72F962F852F82BD4F5F5F4F6F4FC0
-:10F6C0007F4FF89A80B5D8018D938D01319779F7E6
-:10F6D000C9010197A0E0B0E00196A11DB11DC25E75
-:10F6E000DE4F488159816A817B81CE51D140480FDC
-:10F6F000591F6A1F7B1FC25EDE4F488359836A838E
-:10F700007B83CE51D140DE011396A20FB31F1C9212
-:10F7100005C080EC8A8332E0E32EF12C8BE10F945C
-:10F72000B5F1CA5DDE4F8881C652D1400F94B5F164
-:10F730008F2D0F94B5F18E2D0F94B5F18EE00F94AF
-:10F74000B5F125E1C22ECA5DDE4F2881C652D140F7
-:10F75000C226CE24CF244E010894811C911C0AC0DD
-:10F76000D4011D914D01812F0F94B5F1C12608944C
-:10F77000E108F108E114F10499F78C2D0F94B5F12B
-:10F78000CA5DDE4F0881C652D1400F5FCA5DDE4FB1
-:10F790000883C652D14085B1805885B9442009F00C
-:10F7A00048C080E090E033C0C95DDE4F1982188206
-:10F7B000C752D140EE24FF242224CC24C55DDE4F65
-:10F7C00019821882CB52D140CE5DDE4F1882198249
-:10F7D0001A821B82C252D140C25EDE4F1882198249
-:10F7E0001A821B82CE51D14020E030E0A9014BBFEC
-:10F7F000F90147915691C15CDE4F59834883CF533D
-:10F80000D140CA5DDE4F2882C652D140170140E088
-:10F8100050E020E0B101C95DDE4FE880F980C752B9
-:10F82000D140C55DDE4F08811981CB52D1400D9486
-:10F830006AF327982F9884E690E00F94C1F10000B6
-:10F840008091C0008D7F8093C00081E1809357003C
-:10F85000E895EE27FF270994FFCF9BE1C92E21E011
-:10F860000D9468F320E00D9468F326E00D9468F39E
-:10F8700097FB092E07260AD077FD04D02ED006D09C
-:10F8800000201AF4709561957F4F0895F6F79095D2
-:10F8900081959F4F0895A1E21A2EAA1BBB1BFD0163
-:10F8A0000DC0AA1FBB1FEE1FFF1FA217B307E4075F
-:10F8B000F50720F0A21BB30BE40BF50B661F771FB7
-:10F8C000881F991F1A9469F7609570958095909597
-:10F8D0009B01AC01BD01CF010895AA1BBB1B51E1E7
-:10F8E00007C0AA1FBB1FA617B70710F0A61BB70BB0
-:10F8F000881F991F5A95A9F780959095BC01CD0155
-:10F900000895F999FECF92BD81BDF89A992780B5E7
-:10F910000895262FF999FECF1FBA92BD81BD20BD53
-:10F920000FB6F894FA9AF99A0FBE01960895F894D2
-:02F93000FFCF07
-:04F932000F020A00B6
+:10E000000D9489F10D94B2F10D94B2F10D94B2F129
+:10E010000D94B2F10D94B2F10D94B2F10D94B2F1F0
+:10E020000D94B2F10D94B2F10D94B2F10D94B2F1E0
+:10E030000D94B2F10D94B2F10D94B2F10D94B2F1D0
+:10E040000D94B2F10D94B2F10D94B2F10D94B2F1C0
+:10E050000D94B2F10D94B2F10D94B2F10D94B2F1B0
+:10E060000D94B2F10D94B2F10D94B2F10D94B2F1A0
+:10E070000D94B2F10D94B2F10D94B2F10D94B2F190
+:10E080000D94B2F10D94B2F10D94B2F10D94B2F180
+:10E090000D94B2F10D94B2F10D94B2F10D94B2F170
+:10E0A0000D94B2F10D94B2F10D94B2F10D94B2F160
+:10E0B0000D94B2F10D94B2F10D94B2F10D94B2F150
+:10E0C0000D94B2F10D94B2F10D94B2F10D94B2F140
+:10E0D0000D94B2F10D94B2F10D94B2F10D94B2F130
+:10E0E0000D94B2F141546D656761323536300041AF
+:10E0F000726475696E6F206578706C6F72657220DE
+:10E1000073746B3530305632206279204D4C530099
+:10E11000426F6F746C6F616465723E004875683F52
+:10E1200000436F6D70696C6564206F6E203D200048
+:10E130004350552054797065202020203D20005FF9
+:10E140005F4156525F415243485F5F3D2000415658
+:10E1500052204C696243205665723D20004743437C
+:10E160002056657273696F6E203D20004350552024
+:10E1700049442020202020203D20004C6F7720663D
+:10E18000757365202020203D20004869676820665F
+:10E190007573652020203D200045787420667573D6
+:10E1A00065202020203D20004C6F636B2066757336
+:10E1B000652020203D20004D617220203720323024
+:10E1C000313300312E362E3800342E332E350056A2
+:10E1D00023202020414444522020206F7020636F70
+:10E1E00064652020202020696E73747275637469E1
+:10E1F0006F6E2061646472202020496E74657272B3
+:10E20000757074006E6F20766563746F7200726A49
+:10E210006D702020006A6D70200057686174207056
+:10E220006F72743A00506F7274206E6F7420737541
+:10E2300070706F72746564004D7573742062652030
+:10E2400061206C6574746572002000577269747483
+:10E25000696E672045450052656164696E672045B7
+:10E26000450045452065727220636E743D00504F35
+:10E27000525400303D5A65726F2061646472003FF1
+:10E280003D43505520737461747300403D454550C3
+:10E29000524F4D207465737400423D426C696E6B41
+:10E2A000204C454400453D44756D70204545505215
+:10E2B0004F4D00463D44756D7020464C415348001B
+:10E2C000483D48656C70004C3D4C69737420492F83
+:10E2D0004F20506F72747300513D51756974005234
+:10E2E0003D44756D702052414D00563D73686F7707
+:10E2F00020696E7465727275707420566563746FF0
+:10E30000727300593D506F727420626C696E6B00BD
+:10E310002A0011241FBECFEFD1E2DEBFCDBF01E046
+:10E320000CBF12E0A0E0B2E0EEE1FDEF03E00BBFB6
+:10E3300002C007900D92A030B107D9F712E0A0E01B
+:10E34000B2E001C01D92AE30B107E1F70F9460F367
+:10E350000D948DFE01E20EBF0FEF0DBF11241FBE05
+:10E360000D9460F30D9400F020E030E040ED57E0B4
+:10E3700005C0FA013197F1F72F5F3F4F2817390792
+:10E38000C0F308959C01260F311DC901A0E0B0E043
+:10E390002F5F3F4FABBFFC018791882361F08093D3
+:10E3A000C6008091C00086FFFCCF8091C0008064D1
+:10E3B0008093C000EACF08958DE08093C6008091DD
+:10E3C000C00086FFFCCF8091C00080648093C000B5
+:10E3D0008AE08093C6008091C00086FFFCCF8091C8
+:10E3E000C00080648093C00008950F94C2F10F9420
+:10E3F000DCF10895FC019081992359F09093C600B7
+:10E400008091C00086FFFCCF8091C0008064809323
+:10E41000C0003196992379F70895282F982F929567
+:10E420009F70892F805D8A3308F0895F8093C600D2
+:10E430008091C00086FFFCCF8091C00080648093F3
+:10E44000C000822F8F70982F905D9A3308F0995FEB
+:10E450009093C6008091C00086FFFCCF8091C000E1
+:10E4600080648093C00008959C01FB01853691056E
+:10E470001CF46330710594F0C90164E670E00F94F8
+:10E480002EFE605D7F4F6093C6008091C00086FFC6
+:10E49000FCCF8091C00080648093C0002B30310598
+:10E4A00014F43297B4F0C90164E670E00F942EFEC4
+:10E4B0006AE070E00F942EFE605D7F4F6093C600AF
+:10E4C0008091C00086FFFCCF8091C0008064809363
+:10E4D000C000C9016AE070E00F942EFEC0968093E0
+:10E4E000C6008091C00086FFFCCF8091C000806490
+:10E4F0008093C00008951F93182F8EE692EE60E07F
+:10E500000F94C2F11093C6008091C00086FFFCCF2B
+:10E510008091C00080648093C0000F94DCF11F9153
+:10E5200008952F923F924F925F926F927F928F92B7
+:10E530009F92AF92BF92CF92DF92EF92FF920F9392
+:10E540001F93DF93CF93CDB7DEB762970FB6F894E2
+:10E55000DEBF0FBECDBF382E622ECA01DB015C01CB
+:10E560006D01772420E2222E2E010894411C511CBB
+:10E570008BC081E0A81680E0B80681E0C80680E084
+:10E58000D80628F0C601AA27BB270F940DF2BB2797
+:10E59000AD2D9C2D8B2D0F940DF28A2D0F940DF225
+:10E5A0002092C6008091C00086FFFCCF8091C00001
+:10E5B00080648093C0009DE29093C6008091C0006B
+:10E5C00086FFFCCF8091C00080648093C0002092C1
+:10E5D000C6008091C00086FFFCCF8091C00080649F
+:10E5E0008093C00019828601750188249924A1E0D6
+:10E5F0003A1651F03A1620F0B2E03B1661F409C029
+:10E600000BBFF701779007C0C7010F9477FE782EF4
+:10E6100002C0F7017080872D0F940DF22092C60082
+:10E620008091C00086FFFCCF8091C0008064809301
+:10E63000C000872D8052F401EF70F0708F3520F408
+:10E64000E40DF51D708204C0E40DF51D8EE280839B
+:10E650000894E11CF11C011D111D0894811C911CE2
+:10E6600090E18916910409F0C2CF80E190E0A0E02A
+:10E67000B0E0A80EB91ECA1EDB1E198AC2010F9493
+:10E68000FAF10F94DCF16A94662009F072CF629679
+:10E690000FB6F894DEBF0FBECDBFCF91DF911F91B3
+:10E6A0000F91FF90EF90DF90CF90BF90AF909F9031
+:10E6B0008F907F906F905F904F903F902F90089534
+:10E6C0002F923F924F925F926F927F928F929F9282
+:10E6D000AF92BF92CF92DF92EF92FF920F931F9370
+:10E6E000DF93CF93CDB7DEB7CD53D1400FB6F894BB
+:10E6F000DEBF0FBECDBF01E20EBF0FEF0DBF94B75F
+:10E70000F894A89514BE80916000886180936000A1
+:10E7100010926000789493FF05C0E0910002F091A0
+:10E7200001021995279A2F9A8091C00082608093E8
+:10E73000C00080E18093C40088E18093C1000000A4
+:10E74000EE24FF24870144E0A42EB12CCC24DD2448
+:10E7500024C0C5010197F1F70894E11CF11C011DCB
+:10E76000111D21E2E2162EE4F20620E0020720E06D
+:10E77000120718F031E0C32ED12CC801B70127ECE5
+:10E780003BE140E050E00F9441FE611571058105C9
+:10E79000910519F485B1805885B98091C00087FD35
+:10E7A00003C0C114D104A9F2A6014F5F5F4FC25E3E
+:10E7B000DE4F59834883CE51D140C25EDE4F8881FF
+:10E7C0009981CE51D140019711F00D9410FEC05D9A
+:10E7D000DE4F19821882C053D14060E0C15DDE4F28
+:10E7E0001882CF52D14088249924C35DDE4F19820C
+:10E7F0001882CD52D140C05EDE4F188219821A8233
+:10E800001B82C052D140CE5CDE4F188219821A8220
+:10E810001B82C253D140EE24FF2487010BBFF701B6
+:10E8200007911691C45CDE4F19830883CC53D14005
+:10E830000D940BFEC25EDE4F28813981CE51D1404E
+:10E840002130310509F52091C600C25EDE4F1982E4
+:10E850001882CE51D14022C02F5F3F4F4F4F5F4FA4
+:10E86000213082E138078AE7480780E0580780F0C6
+:10E87000C45CDE4FE881F981CC53D140EF5FFF4F9C
+:10E8800019F0EE27FF27099420E030E040E050E047
+:10E890008091C00087FFE0CF2091C600C35DDE4FAE
+:10E8A00048815981CD52D1404F5F5F4FC35DDE4FEC
+:10E8B00059834883CD52D140213209F063C64A3092
+:10E8C000510508F05FC60894811C911C53E0851621
+:10E8D000910409F059C600E010E018C081E280936D
+:10E8E000C6008091C00086FFFCCF8091C00080648C
+:10E8F0008093C0002F5F3F4F2931310579F70F9486
+:10E90000DCF10F5F1F4F0530110519F020E030E0FA
+:10E91000E5CF10920A0210920B0210920C02109294
+:10E920000D02109206021092070210920802109235
+:10E930000902109202021092030210920402109235
+:10E9400005028FEE90EE60E00F94F5F180E191EE1C
+:10E9500060E00F94C2F18091C00087FFFCCF9091DE
+:10E96000C600903608F09F759032B8F09093C600BC
+:10E970008091C00086FFFCCF8091C00080648093AE
+:10E98000C000A0E2A093C6008091C00086FFFCCF2B
+:10E990008091C00080648093C000983409F4D7C18E
+:10E9A0009934B8F4923409F459C1933458F490333B
+:10E9B00019F1903308F4E3C59F33A1F1903409F0C5
+:10E9C000DEC5BDC0953409F470C1963409F0D7C5D1
+:10E9D00098C1923509F42BC2933538F49C3409F46C
+:10E9E000F5C1913509F0CBC518C2963509F445C279
+:10E9F000993509F0C4C567C483E792EE62E00F94CD
+:10EA0000F5F110920602109207021092080210927D
+:10EA1000090210920A0210920B0210920C0210923C
+:10EA20000D0213C18FE792EE62E00F94F5F18FEEC5
+:10EA300090EE60E00F94F5F181E291EE60E00F94CA
+:10EA4000C2F187EB91EE60E00F94F5F180E391EE77
+:10EA500060E00F94C2F184EE90EE60E00F94F5F167
+:10EA60008FE391EE60E00F94C2F186E090E061E008
+:10EA700070E00F9434F20F94DCF18DE591EE60E0DC
+:10EA80000F94C2F189EC91EE60E00F94F5F18EE401
+:10EA900091EE60E00F94C2F183EC91EE60E00F9490
+:10EAA000F5F18CE691EE60E00F94C2F18EE10F94E7
+:10EAB0000DF288E90F940DF281E00F940DF20F949E
+:10EAC000DCF18BE791EE60E00F94C2F119E0E0E039
+:10EAD000F0E010935700E4918E2F0F940DF20F94F5
+:10EAE000DCF18AE891EE60E00F94C2F1E3E0F0E03F
+:10EAF00010935700E4918E2F0F940DF20F94DCF1D8
+:10EB000089E991EE60E00F94C2F1E2E0F0E0109349
+:10EB10005700E4918E2F0F940DF20F94DCF188EAE8
+:10EB200091EE60E00F94C2F1E1E0F0E01093570045
+:10EB30001491812F0F940DF20F94DCF107CF8BE825
+:10EB400092EE62E00F94F5F18BE492EE60E00F94A8
+:10EB5000F5F10F94DCF100E010E019C0C8016F2D51
+:10EB60000F947FFEFF2031F489E492EE60E00F9471
+:10EB7000C2F10BC0F092C6008091C00086FFFCCFAE
+:10EB80008091C00080648093C0000F5F1F4FC80158
+:10EB900081519F41A0E0B0E0ABBFFC01F790BAE229
+:10EBA000FB1621F0E2E000301E07C1F60F94DCF105
+:10EBB0000F94DCF187E592EE60E00F94F5F10F948D
+:10EBC000DCF1CC24DD2400E010E01EC0C8010F946D
+:10EBD00077FEF82E882331F489E492EE60E00F94FA
+:10EBE000C2F10BC08093C6008091C00086FFFCCFAD
+:10EBF0008091C00080648093C000FE1419F00894D6
+:10EC0000C11CD11C0F5F1F4FC80181519F41A0E063
+:10EC1000B0E0ABBFFC01E790FAE2EF1621F022E092
+:10EC20000030120799F60F94DCF10F94DCF182E6C4
+:10EC300092EE60E00F94C2F1C60161E070E00F94C3
+:10EC400034F20F94DCF10F94DCF110920202109276
+:10EC50000302109204021092050278CE89E992EE26
+:10EC600062E00F94F5F1279A2F9A16C02F9880E052
+:10EC700090E0E0EDF7E03197F1F7019684369105E9
+:10EC8000C1F72F9A80E090E0E0EDF7E03197F1F7DF
+:10EC9000019684369105C1F78091C00087FFE6CFC9
+:10ECA0008091C00087FFFCCF64C485EA92EE62E0E9
+:10ECB0000F94F5F140910202509103026091040219
+:10ECC0007091050281E020E10F9491F2809102029F
+:10ECD00090910302A0910402B091050280509F4FD1
+:10ECE000AF4FBF4F8093020290930302A0930402A0
+:10ECF000B093050280509041A040B04008F426CE69
+:10ED0000A4CF83EB92EE62E00F94F5F140910602FE
+:10ED100050910702609108027091090280E020E1A1
+:10ED20000F9491F28091060290910702A09108023F
+:10ED3000B091090280509F4FAF4FBF4F80930602A2
+:10ED400090930702A0930802B0930902FFCD80ECD4
+:10ED500092EE62E00F94F5F183E792EE60E00F949B
+:10ED6000F5F18FE792EE60E00F94F5F18BE892EE0B
+:10ED700060E00F94F5F189E992EE60E00F94F5F10F
+:10ED800085EA92EE60E00F94F5F183EB92EE60E09D
+:10ED90000F94F5F180EC92EE60E00F94F5F187ECC2
+:10EDA00092EE60E00F94F5F188ED92EE60E00F9442
+:10EDB000F5F18FED92EE60E00F94F5F18AEE92EEB0
+:10EDC00060E00F94F5F183E093EEBDCD87EC92EE19
+:10EDD00062E00F94F5F181E40F947BF282E40F94EA
+:10EDE0007BF283E40F947BF284E40F947BF285E45E
+:10EDF0000F947BF286E40F947BF287E40F947BF20E
+:10EE000088E40F947BF28AE40F947BF28BE40F94F6
+:10EE10007BF28CE40F947BF299CD88ED92EE62E068
+:10EE20000F94F5F1772473948824992409C48FED05
+:10EE300092EE62E00F94F5F140910A0250910B02BC
+:10EE400060910C0270910D0282E020E10F9491F22A
+:10EE500080910A0290910B02A0910C02B0910D02D8
+:10EE600080509F4FAF4FBF4F80930A0290930B0289
+:10EE7000A0930C02B0930D0269CD8AEE92EE62E08F
+:10EE80000F94F5F184EE90EE60E00F94F5F18FECC5
+:10EE900091EE60E00F94F5F1662477244301CC5D98
+:10EEA000DE4F19821882C452D140D401C301B695F5
+:10EEB000A79597958795CA5DDE4F88839983AA8326
+:10EEC000BB83C652D140CC5DDE4FA881B981C4520C
+:10EED000D1401196CC5DDE4FB983A883C452D14096
+:10EEE000CD0162E070E00F9434F2B0E2B093C6005E
+:10EEF0008091C00086FFFCCF8091C0008064809329
+:10EF0000C000EDE2E093C6008091C00086FFFCCF18
+:10EF10008091C00080648093C000F0E2F093C6004E
+:10EF20008091C00086FFFCCF8091C00080648093F8
+:10EF3000C000CA5DDE4FE880F9800A811B81C6529D
+:10EF4000D140BB27A12F902F8F2D0F940DF2CA5DBA
+:10EF5000DE4F8881C652D1400F940DF2B0E2FB2EF5
+:10EF6000F092C6008091C00086FFFCCF8091C00067
+:10EF700080648093C0000DE30093C6008091C000C0
+:10EF800086FFFCCF8091C00080648093C00010E2B7
+:10EF90001093C6008091C00086FFFCCF8091C00016
+:10EFA00080648093C0008BBEF3012791C65DDE4F65
+:10EFB0002883CA52D140A22EBB24CC24DD2408943D
+:10EFC000611C711C811C911C8BBEF3018791282E42
+:10EFD0003324442455240894611C711C811C911C09
+:10EFE0008BBEF3013791C55DDE4F3883CB52D140E4
+:10EFF0000894611C711C811C911C8BBEF30147910C
+:10F00000C45DDE4F4883CC52D140ADEFEA2EAFEF66
+:10F01000FA2EAFEF0A2FAFEF1A2F6E0C7F1C801E57
+:10F02000911E142D032DF22CEE24EA0CFB1C0C1D5A
+:10F030001D1D0F940DF220E22093C6008091C000A8
+:10F0400086FFFCCF8091C00080648093C000C65DC5
+:10F05000DE4F8881CA52D1400F940DF230E23093D6
+:10F06000C6008091C00086FFFCCF8091C000806404
+:10F070008093C000C45DDE4F8881CC52D1400F9494
+:10F080000DF240E24093C6008091C00086FFFCCFA5
+:10F090008091C00080648093C000C55DDE4F888190
+:10F0A000CB52D1400F940DF250E25093C6008091A4
+:10F0B000C00086FFFCCF8091C00080648093C000B8
+:10F0C0008FEFE8168FEFF80680E0080780E018075A
+:10F0D00031F484E092EE60E00F94C2F1DFC0D80119
+:10F0E000C7018070907CA070B0708050904CA040A0
+:10F0F000B040D1F52FEF3FE340E050E0E222F322B1
+:10F1000004231523CA5DDE4FA880B980CA80DB8046
+:10F11000C652D140AE0CBF1CC01ED11EAA0CBB1CD7
+:10F12000CC1CDD1C8EE092EE60E00F94C2F1BB2798
+:10F13000A12F902F8F2D0F940DF28E2D0F940DF285
+:10F1400030E23093C6008091C00086FFFCCF8091F2
+:10F15000C00080648093C0004EE34093C60080915D
+:10F16000C00086FFFCCF87C08EE09EEFA0E0B0E03D
+:10F17000E822F9220A231B239CE0E91694E9F90608
+:10F1800090E0090790E0190709F088C0C45DDE4FE0
+:10F19000A881CC52D140EA2EFF2400E010E0102FCD
+:10F1A0000F2DFE2CEE24C55DDE4FB881CB52D14031
+:10F1B000EB0EF11C011D111DD601C501817090706F
+:10F1C000A070B070DC0199278827E80EF91E0A1F8D
+:10F1D0001B1F20EF30E040E050E0A222B322C42207
+:10F1E000D52241E1AA0CBB1CCC1CDD1C4A95D1F7F1
+:10F1F000EA0CFB1C0C1D1D1D81E090E0A0E0B0E0BE
+:10F20000282239224A225B2235E1220C331C441C7D
+:10F21000551C3A95D1F7E20CF31C041D151D57013E
+:10F220006801AA0CBB1CCC1CDD1C85E192EE60E0E1
+:10F230000F94C2F1C801AA27BB270F940DF2BB2778
+:10F24000A12F902F8F2D0F940DF28E2D0F940DF274
+:10F2500090E29093C6008091C00086FFFCCF809121
+:10F26000C00080648093C000AEE3A093C60080918C
+:10F27000C00086FFFCCF8091C00080648093C000F6
+:10F28000C601AA27BB270F940DF2BB27AD2D9C2DDD
+:10F290008B2D0F940DF28A2D0F940DF20F94DCF14B
+:10F2A000CC5DDE4FE881F981C452D140F99709F471
+:10F2B0004DCBF4E0EF2EF12C012D112D6E0C7F1CA7
+:10F2C000801E911EF2CD83E093EE62E00F94F5F183
+:10F2D0008AE192EE60E00F94C2F18091C00087FF56
+:10F2E000FCCF1091C6001F751093C6008091C0001E
+:10F2F00086FFFCCF8091C00080648093C0000F9493
+:10F30000DCF1812F81548A3108F036C1163409F4BA
+:10F3100095C0173490F4133409F44EC0143430F40B
+:10F320001134F1F0123409F01DC130C0143409F465
+:10F3300059C0153409F016C16BC01A3409F4C4C0A1
+:10F340001B3438F4173409F48FC0183409F00AC19B
+:10F35000A1C01B3409F4D2C01C3409F003C1E8C0B9
+:10F360008FEF81B90DC082B1809582B980E090E0C5
+:10F37000E0EDF7E03197F1F70196883C9105C1F790
+:10F380008091C00087FFEFCF12B8EFC08FEF84B934
+:10F390000DC085B1809585B980E090E0E0EDF7E0A3
+:10F3A0003197F1F70196883C9105C1F78091C00033
+:10F3B00087FFEFCF15B8D9C08FEF87B90DC088B1DF
+:10F3C000809588B980E090E0E0EDF7E03197F1F7C3
+:10F3D0000196883C9105C1F78091C00087FFEFCF6F
+:10F3E00018B8C3C08FEF8AB90DC08BB180958BB9A7
+:10F3F00080E090E0E0EDF7E03197F1F70196883C8E
+:10F400009105C1F78091C00087FFEFCF1BB8ADC059
+:10F410008FEF8DB90DC08EB180958EB980E090E0F0
+:10F42000E0EDF7E03197F1F70196883C9105C1F7DF
+:10F430008091C00087FFEFCF1EB897C08FEF80BBD1
+:10F440000DC081B3809581BB80E090E0E0EDF7E0F6
+:10F450003197F1F70196883C9105C1F78091C00082
+:10F4600087FFEFCF11BA81C08FEF83BB0DC084B38C
+:10F47000809584BB80E090E0E0EDF7E03197F1F714
+:10F480000196883C9105C1F78091C00087FFEFCFBE
+:10F4900014BA6BC08FEF809301010FC080910201FD
+:10F4A00080958093020180E090E0E0EDF7E03197F5
+:10F4B000F1F70196883C9105C1F78091C00087FF64
+:10F4C000EDCF1092020151C08FEF809304010FC065
+:10F4D0008091050180958093050180E090E0E0ED4A
+:10F4E000F7E03197F1F70196883C9105C1F78091DB
+:10F4F000C00087FFEDCF1092050137C08FEF8093DA
+:10F5000007010FC08091080180958093080180E079
+:10F5100090E0E0EDF7E03197F1F70196883C910536
+:10F52000C1F78091C00087FFEDCF109208011DC088
+:10F530008FEF80930A010FC080910B01809580931B
+:10F540000B0180E090E0E0EDF7E03197F1F70196F4
+:10F55000883C9105C1F78091C00087FFEDCF1092E4
+:10F560000B0103C085E292EEEEC98091C00087FFD7
+:10F57000FCCF8091C600EAC988E392EEE4C98CE131
+:10F5800091EEE1C988249924933011F1943028F444
+:10F59000913089F09230B8F408C0953061F195301F
+:10F5A000F0F0963009F048C043C02B3109F042C951
+:10F5B00091E06BE13FC96227C15DDE4F2883CF52E6
+:10F5C000D14092E037C9B22FA0E0622793E032C960
+:10F5D000822F90E0A82BB92B622794E02BC92E3004
+:10F5E00009F039C3622795E0C05DDE4F19821882A9
+:10F5F000C053D1401FC9E1E0F0E0EC0FFD1FC05D3A
+:10F60000DE4F08811981C053D140E00FF11F2083E4
+:10F610000F5F1F4FC05DDE4F19830883C053D14079
+:10F6200062270A171B0709F005C9D80196E002C92D
+:10F63000261709F010C303C0973009F0FBC87724E0
+:10F640009981933109F412C19431C8F4963009F4C8
+:10F65000D8C0973050F4923009F406C1933009F4C1
+:10F660006DC0913009F059C253C0913109F477C08F
+:10F67000923108F0BBC0903109F04FC2F5C098310B
+:10F6800009F487C0993150F4953109F4EFC09531F0
+:10F6900008F4C6C1963109F040C2C2C19A3109F4DA
+:10F6A0006CC09A3108F491C09B3109F45BC09D3164
+:10F6B00009F033C29D81903359F48F81882311F46E
+:10F6C0009EE11CC0813011F091E018C098E916C08D
+:10F6D000892F807591F0903539F4E0E0F0E089E011
+:10F6E0008093570094910AC0983539F4E3E0F0E034
+:10F6F00089E080935700949101C090E01A821B82A8
+:10F700008D818C831D829E831F8227E030E009C299
+:10F710001A8288E08B8381E48C8386E58D8382E581
+:10F720008E8389E48F8383E5888780E589878FE5E9
+:10F730008A8782E38B872BE030E0F3C18A818139AD
+:10F7400041F0823941F0803911F48FE005C080E04A
+:10F7500003C082E001C08AE01A828B8344C0772410
+:10F76000739482C08D81882311F48EE12CC0813086
+:10F7700011F081E028C088E926C01A82E1E0F0E0BB
+:10F7800089E08093570084918B831C8224E030E0D1
+:10F79000C8C18B81803589F48C81883039F4E2E0EE
+:10F7A000F0E089E08093570084910DC0E0E0F0E044
+:10F7B00089E080935700849106C0E3E0F0E089E09F
+:10F7C0008093570084911A82DFCF8D81836C99E0FA
+:10F7D000E1E0F0E0082E90935700E89507B600FCB2
+:10F7E000FDCF1A821B8223E030E09BC180EC8A832C
+:10F7F000CE5CDE4F188219821A821B82C253D1401E
+:10F800008EC18A8190E0A0E0B0E0582F44273327D2
+:10F8100022278B8190E0A0E0B0E0DC0199278827C7
+:10F82000282B392B4A2B5B2B8D8190E0A0E0B0E098
+:10F83000282B392B4A2B5B2B8C8190E0A0E0B0E089
+:10F84000BA2FA92F982F8827282B392B4A2B5B2BCF
+:10F85000220F331F441F551FC05EDE4F288339839C
+:10F860004A835B83C052D1401A8259C13A81C95C34
+:10F87000DE4F3883C753D140CA5CDE4F1882C6536F
+:10F88000D1408B81C82EDD24CA5CDE4F488159816E
+:10F89000C653D140C42AD52A933109F082C0CE5C28
+:10F8A000DE4F88819981AA81BB81C253D1408050AB
+:10F8B000904CA340B04030F583E0CE5CDE4FE88052
+:10F8C000F9800A811B81C253D140F70100935B008C
+:10F8D00080935700E89507B600FCFDCFCE5CDE4F65
+:10F8E000088119812A813B81C253D14000501F4FAA
+:10F8F0002F4F3F4FCE5CDE4F088319832A833B8313
+:10F90000C253D140C05EDE4F488159816A817B81FC
+:10F91000C052D140DE011B9631E08C9111962C91A2
+:10F9200011971296C75CDE4F2883C953D140C85C3B
+:10F93000DE4F1882C853D14090E0C85CDE4FE881AA
+:10F94000F981C853D1408E2B9F2B0C01FA01609393
+:10F950005B0030935700E89511244E5F5F4F6F4F67
+:10F960007F4F0EEFE02E0FEFF02ECE0CDF1CC114F8
+:10F97000D10499F685E0C05EDE4F088119812A81A5
+:10F980003B81C052D140F80120935B008093570027
+:10F99000E89507B600FCFDCF81E180935700E8951C
+:10F9A00035C0C05EDE4F88819981AA81BB81C0527B
+:10F9B000D140B695A795979587957C018601ABE0D8
+:10F9C000AA2EB12CAC0EBD1E0BC0D5016D915D01F0
+:10F9D000C7010F947FFE0894E11CF11C01501040F8
+:10F9E0000115110591F7A60160E070E0440F551F65
+:10F9F000661F771FC05EDE4FE880F9800A811B8199
+:10FA0000C052D1404E0D5F1D601F711F1A82C05E33
+:10FA1000DE4F488359836A837B83C052D1407FC0C5
+:10FA2000FA80C55CDE4FF882CB53D140C65CDE4F16
+:10FA30001882CA53D1408B81C82EDD24C65CDE4FAC
+:10FA400008811981CA53D140C02AD12A1A828981DA
+:10FA5000BE016D5F7F4F843121F59601C05EDE4FA0
+:10FA6000E880F9800A811B81C052D1400BBFF701A9
+:10FA700087919691DB018C9311969C936E5F7F4FDB
+:10FA8000D801C7010296A11DB11DC05EDE4F88835B
+:10FA90009983AA83BB83C052D14022503040F1F6F3
+:10FAA00036C0C05EDE4F288139814A815B81C052F9
+:10FAB000D1400894C108D108760100E010E0089414
+:10FAC000C11CD11C0894E11CF11C011D111DE20E8A
+:10FAD000F31E041F151F21BDBB27A52F942F832FB5
+:10FAE00082BD2F5F3F4F4F4F5F4FF89A80B5DB01CC
+:10FAF0008D93BD012E153F054007510761F7C05E8C
+:10FB0000DE4F288339834A835B83C052D1409601FC
+:10FB10002D5F3F4FFB01108204C080EC8A8322E0FE
+:10FB200030E08BE18093C6008091C00086FFFCCF5F
+:10FB30008091C00080648093C000C15DDE4FF88179
+:10FB4000CF52D140F093C6008091C00086FFFCCF19
+:10FB50008091C00080648093C000432F3093C60022
+:10FB60008091C00086FFFCCF8091C00080648093AC
+:10FB7000C000922F2093C6008091C00086FFFCCF6A
+:10FB80008091C00080648093C0008EE08093C600A6
+:10FB90008091C00086FFFCCF8091C000806480937C
+:10FBA000C00065E1C15DDE4FE880CF52D1406E25D7
+:10FBB00069276427FE01319610C090819093C6009A
+:10FBC0008091C00086FFFCCF31968091C000806498
+:10FBD0008093C0006927215030402115310569F715
+:10FBE0006093C6008091C00086FFFCCF8091C0006A
+:10FBF00080648093C00085B1805885B9772081F4F6
+:10FC0000C15DDE4F0881CF52D1400F5FC15DDE4F35
+:10FC10000883CF52D14090E0A0E0B0E00D941AF4F8
+:10FC200027982F9880E090E020ED37E0F901319798
+:10FC3000F1F7019684369105C9F700008091C00064
+:10FC40008D7F8093C00081E180935700E895EE2777
+:10FC5000FF270994FFCF90E00D941AF497FB092E2B
+:10FC600007260AD077FD04D02ED006D000201AF443
+:10FC7000709561957F4F0895F6F7909581959F4F08
+:10FC80000895A1E21A2EAA1BBB1BFD010DC0AA1FDD
+:10FC9000BB1FEE1FFF1FA217B307E407F50720F0F5
+:10FCA000A21BB30BE40BF50B661F771F881F991F70
+:10FCB0001A9469F760957095809590959B01AC01B9
+:10FCC000BD01CF010895AA1BBB1B51E107C0AA1FAC
+:10FCD000BB1FA617B70710F0A61BB70B881F991FED
+:10FCE0005A95A9F780959095BC01CD010895F99991
+:10FCF000FECF92BD81BDF89A992780B50895262F31
+:10FD0000F999FECF1FBA92BD81BD20BD0FB6F89400
+:0EFD1000FA9AF99A0FBE01960895F894FFCF63
:040000033000E000E9
:00000001FF