summaryrefslogtreecommitdiffstats
path: root/keyboard/jd45
diff options
context:
space:
mode:
Diffstat (limited to 'keyboard/jd45')
-rw-r--r--keyboard/jd45/Makefile3
-rw-r--r--keyboard/jd45/backlight.c61
-rw-r--r--keyboard/jd45/jd45.c66
-rw-r--r--keyboard/jd45/jd45.h1
-rw-r--r--keyboard/jd45/keymaps/default/compiled.hex2166
-rw-r--r--keyboard/jd45/keymaps/justin/compiled.hex2155
6 files changed, 2221 insertions, 2231 deletions
diff --git a/keyboard/jd45/Makefile b/keyboard/jd45/Makefile
index 81b4d9379a..75d544f16a 100644
--- a/keyboard/jd45/Makefile
+++ b/keyboard/jd45/Makefile
@@ -1,8 +1,5 @@
-# # project specific files
-SRC = backlight.c
-
# MCU name
#MCU = at90usb1287
MCU = atmega32u4
diff --git a/keyboard/jd45/backlight.c b/keyboard/jd45/backlight.c
deleted file mode 100644
index f69364b2af..0000000000
--- a/keyboard/jd45/backlight.c
+++ /dev/null
@@ -1,61 +0,0 @@
-
-#include <avr/io.h>
-#include "backlight.h"
-
-#define CHANNEL OCR1C
-
-void backlight_init_ports()
-{
-
- // Setup PB7 as output and output low.
- DDRB |= (1<<7);
- PORTB &= ~(1<<7);
-
- // Use full 16-bit resolution.
- ICR1 = 0xFFFF;
-
- // I could write a wall of text here to explain... but TL;DW
- // Go read the ATmega32u4 datasheet.
- // And this: http://blog.saikoled.com/post/43165849837/secret-konami-cheat-code-to-high-resolution-pwm-on
-
- // Pin PB7 = OCR1C (Timer 1, Channel C)
- // Compare Output Mode = Clear on compare match, Channel C = COM1C1=1 COM1C0=0
- // (i.e. start high, go low when counter matches.)
- // WGM Mode 14 (Fast PWM) = WGM13=1 WGM12=1 WGM11=1 WGM10=0
- // Clock Select = clk/1 (no prescaling) = CS12=0 CS11=0 CS10=1
-
- TCCR1A = _BV(COM1C1) | _BV(WGM11); // = 0b00001010;
- TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // = 0b00011001;
-
- backlight_init();
-}
-
-void backlight_set(uint8_t level)
-{
- if ( level == 0 )
- {
- // Turn off PWM control on PB7, revert to output low.
- TCCR1A &= ~(_BV(COM1C1));
- CHANNEL = 0x0;
- // Prevent backlight blink on lowest level
- PORTB &= ~(_BV(PORTB7));
- }
- else if ( level == BACKLIGHT_LEVELS )
- {
- // Prevent backlight blink on lowest level
- PORTB &= ~(_BV(PORTB7));
- // Turn on PWM control of PB7
- TCCR1A |= _BV(COM1C1);
- // Set the brightness
- CHANNEL = 0xFFFF;
- }
- else
- {
- // Prevent backlight blink on lowest level
- PORTB &= ~(_BV(PORTB7));
- // Turn on PWM control of PB7
- TCCR1A |= _BV(COM1C1);
- // Set the brightness
- CHANNEL = 0xFFFF >> ((BACKLIGHT_LEVELS - level) * ((BACKLIGHT_LEVELS + 1) / 2));
- }
-} \ No newline at end of file
diff --git a/keyboard/jd45/jd45.c b/keyboard/jd45/jd45.c
index bc3fcd3ddf..5437b2bffc 100644
--- a/keyboard/jd45/jd45.c
+++ b/keyboard/jd45/jd45.c
@@ -10,18 +10,72 @@ void matrix_scan_user(void) {
};
+#define CHANNEL OCR1C
+
+void backlight_init_ports(void)
+{
+
+ // Setup PB7 as output and output low.
+ DDRB |= (1<<7);
+ PORTB &= ~(1<<7);
+
+ // Use full 16-bit resolution.
+ ICR1 = 0xFFFF;
+
+ // I could write a wall of text here to explain... but TL;DW
+ // Go read the ATmega32u4 datasheet.
+ // And this: http://blog.saikoled.com/post/43165849837/secret-konami-cheat-code-to-high-resolution-pwm-on
+
+ // Pin PB7 = OCR1C (Timer 1, Channel C)
+ // Compare Output Mode = Clear on compare match, Channel C = COM1C1=1 COM1C0=0
+ // (i.e. start high, go low when counter matches.)
+ // WGM Mode 14 (Fast PWM) = WGM13=1 WGM12=1 WGM11=1 WGM10=0
+ // Clock Select = clk/1 (no prescaling) = CS12=0 CS11=0 CS10=1
+
+ TCCR1A = _BV(COM1C1) | _BV(WGM11); // = 0b00001010;
+ TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // = 0b00011001;
+
+ backlight_init();
+}
+
+void backlight_set(uint8_t level)
+{
+ if ( level == 0 )
+ {
+ // Turn off PWM control on PB7, revert to output low.
+ TCCR1A &= ~(_BV(COM1C1));
+ CHANNEL = 0x0;
+ // Prevent backlight blink on lowest level
+ PORTB &= ~(_BV(PORTB7));
+ }
+ else if ( level == BACKLIGHT_LEVELS )
+ {
+ // Prevent backlight blink on lowest level
+ PORTB &= ~(_BV(PORTB7));
+ // Turn on PWM control of PB7
+ TCCR1A |= _BV(COM1C1);
+ // Set the brightness
+ CHANNEL = 0xFFFF;
+ }
+ else
+ {
+ // Prevent backlight blink on lowest level
+ PORTB &= ~(_BV(PORTB7));
+ // Turn on PWM control of PB7
+ TCCR1A |= _BV(COM1C1);
+ // Set the brightness
+ CHANNEL = 0xFFFF >> ((BACKLIGHT_LEVELS - level) * ((BACKLIGHT_LEVELS + 1) / 2));
+ }
+}
+
void matrix_init_kb(void) {
#ifdef BACKLIGHT_ENABLE
backlight_init_ports();
#endif
- if (matrix_init_user) {
- (*matrix_init_user)();
- }
+ matrix_init_user();
};
void matrix_scan_kb(void) {
- if (matrix_scan_user) {
- (*matrix_scan_user)();
- }
+ matrix_scan_user();
};
diff --git a/keyboard/jd45/jd45.h b/keyboard/jd45/jd45.h
index 54b6641b21..1e9de2123b 100644
--- a/keyboard/jd45/jd45.h
+++ b/keyboard/jd45/jd45.h
@@ -5,6 +5,7 @@
#include "keymap.h"
#include "backlight.h"
#include <stddef.h>
+#include <avr/io.h>
void matrix_init_user(void);
void matrix_scan_user(void);
diff --git a/keyboard/jd45/keymaps/default/compiled.hex b/keyboard/jd45/keymaps/default/compiled.hex
index ea8cb1aaee..cc20ee3c53 100644
--- a/keyboard/jd45/keymaps/default/compiled.hex
+++ b/keyboard/jd45/keymaps/default/compiled.hex
@@ -1,20 +1,20 @@
-:100000000C947F010C94C3010C94C3010C94C301A4
-:100010000C94C3010C94C3010C94C3010C94C30150
-:100020000C94C3010C94C3010C94E80B0C94BA0C0F
-:100030000C94C6190C94C3010C94C3010C94C30115
-:100040000C94C3010C94C3010C94C3010C94C30120
-:100050000C94C3010C942E1A0C94C3010C94C3018C
-:100060000C94C3010C94800E0C94C3010C94C30136
-:100070000C94C3010C94C3010C94C3010C94C301F0
-:100080000C94C3010C94C3010C94C3010C94C301E0
-:100090000C94C3010C94C3010C94C3010C94C301D0
-:1000A0000C94C3010C94C3010C94C301270D490D9A
-:1000B000370E490D370E8E0DB10D370E060E190E87
-:1000C0004211421171117111B011D0112613261372
-:1000D000DB1126138B128B12F212FB122613201344
-:1000E00098129812981298129812981298129812C0
-:1000F00098129812981298129812981298129812B0
-:10010000A812B612BD12C412CE12290014001A0091
+:100000000C9480010C94C4010C94C4010C94C401A0
+:100010000C94C4010C94C4010C94C4010C94C4014C
+:100020000C94C4010C94C4010C94D40B0C94A60C35
+:100030000C94B2190C94C4010C94C4010C94C40126
+:100040000C94C4010C94C4010C94C4010C94C4011C
+:100050000C94C4010C941A1A0C94C4010C94C4019D
+:100060000C94C4010C946C0E0C94C4010C94C40147
+:100070000C94C4010C94C4010C94C4010C94C401EC
+:100080000C94C4010C94C4010C94C4010C94C401DC
+:100090000C94C4010C94C4010C94C4010C94C401CC
+:1000A0000C94C4010C94C4010C94C401130D350DBF
+:1000B000230E350D230E7A0D9D0D230EF20D050E28
+:1000C0002E112E115D115D119C11BC111213121312
+:1000D000C711121377127712DE12E71212130C13E4
+:1000E0008412841284128412841284128412841260
+:1000F0008412841284128412841284128412841250
+:100100009412A212A912B012BA12290014001A00F5
:100110000800150017001C0018000C001200130046
:1001200034002A002B0004001600070009000A0012
:100130000B000D000E000F00330028000000E1004E
@@ -24,7 +24,7 @@
:1001700000000A034A004400340035000000120366
:100180006700650065006B006800610063006B003C
:1001900000000403090409027400040100A0FA0924
-:1001A0000400000103010100092111010001223FA7
+:1001A00004000001030101000921110100012240A6
:1001B000000705810308000A090401000103010288
:1001C00000092111010001224D00070582030800EA
:1001D0000A090402000103000000092111010001C5
@@ -45,1069 +45,1069 @@
:1002C000010906A101050719E029E7150025019597
:1002D0000875018102950175088101050819012938
:1002E00005950575019102950175039101050719A1
-:1002F0000029FF150025FF950675088100C011240F
-:100300001FBECFEFDAE0DEBFCDBF04B603FE24C0D0
-:100310008091EC029091ED02A091EE02B091EF027B
-:100320008730904BA740B04BB9F41092EC0210927A
-:10033000ED021092EE021092EF0214BE84B7877F96
-:1003400084BF88E10FB6F89480936000109260003B
-:100350000FBEE0E0F8E3099511E0A0E0B1E0EEE2C5
-:10036000F5E402C005900D92A434B107D9F712E06C
-:10037000A4E4B1E001C01D92AC3EB107E1F70E94D8
-:1003800053090C9495220C940000279A2F988FEF14
-:100390009FEF90938700809386008AE0809380008F
-:1003A00089E1809381000C946C20282F81110BC06F
-:1003B00080918000877F8093800010928D00109242
-:1003C0008C002F9808952F988091800088608093EA
-:1003D0008000233019F48FEF9FEF0FC083E090E08F
-:1003E000821B9109880F991F2FEF3FEFA90102C0CF
-:1003F000569547958A95E2F7CA0190938D008093B0
-:100400008C000895089508950E94C50182E092E04D
-:10041000892B11F00C940202089583E092E0892B5D
-:1004200011F00C940302089581E0089581E008958D
-:100430000C94160208950F931F93CF93DF938C01B2
-:10044000FC01C081D181CE010E948A18BE010E94A8
-:10045000CB02EC01B8010E941802882309F48DC078
-:10046000F8018281882309F44AC080914F018111EB
-:100470001FC0C431F0E5DF0709F051C00E941A0225
-:1004800081E080934F010E94F81990934E01809370
-:100490004D011092460110924801109247011092AE
-:1004A0004A011092490110924C0110924B0165C013
-:1004B00080914D0190914E010E94041A883C910553
-:1004C00070F480914601E82FF0E0EE0FFF1FE95B2A
-:1004D000FE4FD183C0838F5F809346014EC0C438E6
-:1004E00080E5D80721F0C538D04501F13AC0F801C0
-:1004F0008281882341F01092440182E01EC0C438FA
-:10050000E0E5DE0759F580914401811106C086E2DD
-:100510000E94E60F86E20E94AE1082E01CC0C43842
-:10052000F0E5DF0741F3C538D045D9F4F801828101
-:10053000882331F01092450180E20E94FD101DC019
-:1005400080914501811106C087E20E94E60F87E293
-:100550000E94AE1080E20E9404110FC0C538D04541
-:1005600029F381E08093440180934501C801DF9124
-:10057000CF911F910F910C94140280E0DF91CF91E5
-:100580001F910F9108950C9404020C940D0280E0C9
-:1005900090E0089508959DE0799FF001112494E37F
-:1005A000899FE00DF11D1124E60FF11DEE0FFF1FD5
-:1005B000E65FFE4F859194910895880F991FFC0185
-:1005C000E657F040859194910895880F991FFC019A
-:1005D000E65FFE4F8591949108950F931F93CF93FB
-:1005E000DF93EC01811521E39207A0F5C11580E3AB
-:1005F000D80708F0D7C0C83ED105D8F4C03ED10511
-:1006000008F003C2C83AD10578F4C53AD10508F01C
-:100610006AC0C130D10509F463C008F4F3C1C43025
-:10062000D10508F0F2C1EEC1CB3BD10508F466C09C
-:10063000E9C1C11590E2D90708F0AFC0C11521E0AA
-:10064000D20708F0E2C1C03FD10508F4DBC18E013A
-:1006500010651BC2C03880E5D80700F5C03790E5AB
-:10066000D90708F0A3C0C11520E5D20709F4ACC032
-:1006700050F4CE01905480319F4008F0C3C1DF7028
-:100680008E01106A02C2C13080E5D80709F4AAC001
-:10069000C43190E5D90708F4ABC0B4C1C33820E534
-:1006A000D20709F48EC050F4C13890E5D90709F497
-:1006B00082C008F083C000E011EDE7C1C03181E5E0
-:1006C000D80708F49FC1C11597E5D90708F432C1CE
-:1006D000CE0190578115904108F094C1DF708FC111
-:1006E00001E010E0D2C1C53AD10509F490C1C63A83
-:1006F000D10509F08FC102E810E4C7C1C83AD1059D
-:1007000009F48BC1C93AD10509F48AC1CA3AD105A5
-:1007100009F489C1CB3AD10509F488C1CC3AD10595
-:1007200009F487C1CD3AD10509F486C1C03BD10592
-:1007300009F485C1CE3AD10509F484C1CF3AD10577
-:1007400009F483C1C13BD10509F482C1C23BD10583
-:1007500009F481C1C33BD10509F480C1C43BD10573
-:1007600009F47FC1C53BD10509F47EC1C63BD10563
-:1007700009F47DC1C73BD10509F47CC1C83BD10553
-:1007800009F47BC1C93BD10509F47AC1CA3BD10543
-:1007900009F479C100E014E478C1CE019F700E9491
-:1007A000E50274C1DD278E01106C6FC1CF70DD27AB
-:1007B0008E01146D6AC100E010ED67C100E012ED1A
-:1007C00064C100E013ED61C10E9491138FEF94E3C7
-:1007D0002CE0815090402040E1F700C000000E94D2
-:1007E000531A53C18091CC0281608093CC024DC1D9
-:1007F0000E94FE1B811102C00E94DF1B0E941B1C75
-:1008000090E09093EB028093EA02C23080E5D80733
-:1008100021F48091EA02816086C0C43090E5D90756
-:1008200021F48091EA0282607EC0C63020E5D207C2
-:1008300021F48091EA02846076C0C83080E5D80750
-:1008400019F48091EA0227C0CA3090E5D90721F453
-:100850008091EA02806167C0CC3020E5D20721F4A4
-:100860008091EA0280625FC0CE3080E5D80721F433
-:100870008091EA02806457C0C03190E5D90721F425
-:100880008091EA0280684FC0C23120E5D20729F486
-:100890008091EA028460886046C0C33080E5D80752
-:1008A00021F48091EA028E7F3EC0C53090E5D907E1
-:1008B00021F48091EA028D7F36C0C73020E5D2074F
-:1008C00021F48091EA028B7F2EC0C93080E5D807E1
-:1008D00019F48091EA0226C0CB3090E5D90721F4C3
-:1008E0008091EA028F7E1FC0CD3020E5D20721F42F
-:1008F0008091EA028F7D17C0CF3080E5D80721F4C0
-:100900008091EA028F7B0FC0C13190E5D90721F4B5
-:100910008091EA028F7707C0C331D04531F48091CE
-:10092000EA028B7F877F8093EA028091EA020E942D
-:100930001F1CABC08D2F99278F709927813091058F
-:10094000D9F49E012370332702C0880F991F2A957E
-:10095000E2F79C688E0144E0000F111F4A95E1F711
-:1009600000271370802B912B53E0CC0FDD1F5A957D
-:10097000E1F7C076DD272FC08230910531F4DC2FFE
-:10098000CC278E01016F106A80C08330910569F415
-:10099000CE018370992701E010E002C0000F111F03
-:1009A0008A95E2F7C8019C680FC084309105B9F4BC
-:1009B000CE018370992701E010E002C0000F111FE3
-:1009C0008A95E2F7C8019A6823E0CC0FDD1F2A95CB
-:1009D000E1F7C07ED7708C010C2B1D2B56C08530E3
-:1009E000910531F4DC2FCC278E01046F106A4DC0C5
-:1009F000069709F04AC0CF71DD27DC2FCC278E0186
-:100A0000106243C000E010E040C08E013EC001E82B
-:100A100010E43BC003E810E438C002EE14E435C033
-:100A200009EE14E432C00AEE14E42FC005EB14E41E
-:100A30002CC006EB14E429C007EB14E426C00CEC30
-:100A400014E423C00DEC14E420C003E815E41DC039
-:100A50000AE815E41AC002E915E417C004E915E430
-:100A600014C001E216E411C003E216E40EC004E271
-:100A700016E40BC005E216E408C006E216E405C061
-:100A800007E216E402C00AE216E4C801DF91CF9142
-:100A90001F910F9108959DE0799FF001112494E337
-:100AA000899FE00DF11D1124E60FF11DEE0FFF1FD0
-:100AB000E65FFE4F85919491803E9105E0F4803C85
-:100AC000910558F58133910509F46FC048F48932D6
-:100AD000910509F463C08A32910509F46DC072C0B2
-:100AE00089339105E9F082389105D1F0853391057C
-:100AF00009F44DC067C0833E910581F138F4803E12
-:100B00009105B9F0823E9105D9F05CC0863E910511
-:100B100061F1873E9105A1F155C00E94DD02089563
-:100B20002091EA0220FD02C021FF4CC080EE90E03F
-:100B300049C08091EA0280FFF9CF89E390E042C08A
-:100B40008091EA0282FF0EC08091EA0284FF03C016
-:100B500080E090E037C083EE90E034C08091EA02FC
-:100B600082FFF2CF82EE90E02DC08091EA0283FFF7
-:100B70000BC08091EA0284FDEBCF87EE90E022C0AB
-:100B80008091EA0283FFF5CF86EE90E01BC0809152
-:100B9000EA0285FF07C089E290E014C08091EA0272
-:100BA00085FFF9CF85E390E00DC08091EA0286FFD2
-:100BB00007C08AE290E006C08091EA0286FFF9CF82
-:100BC00081E390E00E94ED02089508950C94E505FC
-:100BD000E82FF0E0EF5DFE4F8081E82FEF70F0E04E
-:100BE00082958F7021E030E0A90102C0440F551FAB
-:100BF0008A95E2F740A308950F931F93CF93DF9355
-:100C000085B7806885BF85B7806885BFC3E0D0E0C1
-:100C100001E010E0FE01EF5DFE4F8081E82FEF70F4
-:100C2000F0E021A182958F70A80102C0440F551FEA
-:100C30008A95E2F7CA01822B81A38C2F0E94E805D6
-:100C4000219740F78CE090E061E070E0FC01EC5E01
-:100C5000FE4F2081E22FEF70F0E042A122952F702D
-:100C6000DB0102C0AA0FBB1F2A95E2F79D01242BCE
-:100C700022A3019758F7DF91CF911F910F910C9408
-:100C8000C302EF92FF920F931F93CF93DF9308E578
-:100C900011E0C3E0EE24E394F12CD5E08C2F0E9408
-:100CA000E8058CE090E040E050E0FC01EC5EFE4F97
-:100CB0006081E62FEF70F0E020A130E062956F7068
-:100CC00002C0359527956A95E2F720FD09C0970186
-:100CD000082E02C0220F331F0A94E2F7422B532B37
-:100CE000019718F7F801929182918F018417950767
-:100CF00021F051834083D09300018C2F0E94E8059E
-:100D0000C15060F68091000187FD2CC08150809316
-:100D100000018F3F39F08FE99FE00197F1F700C0A4
-:100D2000000020C0809156019091570190935F017F
-:100D300080935E01809154019091550190935D01E3
-:100D400080935C01809152019091530190935B01DB
-:100D500080935A01809150019091510190935901D3
-:100D6000809358010E94C50281E0DF91CF911F91CD
-:100D70000F91FF90EF900895E82FF0E0EE0FFF1F26
-:100D8000E85AFE4F808191810895089580916C0109
-:100D900008950F931F93CF93DF9300D000D01F923D
-:100DA000CDB7DEB79C018091610190916201281757
-:100DB000390709F493C03093620120936101223E08
-:100DC0003105F1F1293E310559F12A3E310559F13C
-:100DD000253B310559F1263B310551F1273B3105C2
-:100DE00051F12C3C310561F12D3C310531F12338B5
-:100DF00081E0380729F12A3891E0390709F12239D1
-:100E000081E03807E9F0243991E03907C9F021324F
-:100E100082E03807B9F0233292E0390789F415C02F
-:100E200090E040E114C090E040E211C092E001C0C7
-:100E300094E040E00CC090E1FCCF90E040E407C0BB
-:100E400090E0F7CF90E044E002C090E041E08901FB
-:100E50008DEF4C839D830E946A0E80E00E946A0E93
-:100E600082E00E946A0E4C81842F0E946A0E9D814E
-:100E7000892F0E946A0E80E00E946A0E80E00E9424
-:100E80006A0E80E00E946A0E80E00E946A0E8091E5
-:100E9000E102843019F583E089831B830A83809300
-:100EA000E9008FEF9091E800815095FD06C095ED27
-:100EB0009A95F1F700008111F5CF8091E80085FF48
-:100EC0000DC040E050E063E070E0CE0101960E946A
-:100ED000D8098091E8008E778093E8000F900F90FA
-:100EE0000F900F900F90DF91CF911F910F91089568
-:100EF000CF93DF9300D01F92CDB7DEB72091E102F0
-:100F0000243021F522E029839B838A8383E0809328
-:100F1000E9008FEF9091E800815095FD06C095EDB6
-:100F20009A95F1F700008111F5CF8091E80085FFD7
-:100F30000DC040E050E063E070E0CE0101960E94F9
-:100F4000D8098091E8008E778093E8000F900F9089
-:100F50000F90DF91CF910895CF93DF93EC018DEF48
-:100F60000E946A0E80E00E946A0E83E00E946A0E70
-:100F700088810E946A0E89810E946A0E8A810E947D
-:100F80006A0E8B810E946A0E8C810E946A0E80E03C
-:100F90000E946A0E8091E1028430F9F482E080932D
-:100FA000E9008FEF9091E800815095FD06C095ED26
-:100FB0009A95F1F700008111F5CF8091E80085FF47
-:100FC0000CC040E050E065E070E0CE010E94D8091E
-:100FD0008091E8008E778093E800DF91CF910895AB
-:100FE000EF92FF920F931F93CF93DF93EC018DEF5E
-:100FF0000E946A0E8E017E0188E0E80EF11CF80165
-:1010000081918F010E946A0E0E151F05C1F7809114
-:10101000E102843039F581E08093E9008FEF90910F
-:10102000E800815095FD06C0F5EDFA95F1F7000056
-:101030008111F5CF8091E80085FF14C040E050E0B9
-:1010400068E070E0CE010E94D8098091E8008E77B8
-:101050008093E80088E0FE01A4E6B1E001900D92E3
-:101060008A95E1F7DF91CF911F910F91FF90EF905B
-:1010700008958091E002811109C00E946D0B0E94C9
-:10108000CA0B8091E20084608093E2000895109280
-:10109000E0020895089508950C94BB192091600111
-:1010A0002F5F822F62E30E942522992319F020935B
-:1010B000600108951092600180916301882371F1AD
-:1010C0008091E102843041F58091E9008F70209198
-:1010D000EC00922F917020FD90E8892B94E0909382
-:1010E000E9009091EB0090FF14C09091EE0097FF03
-:1010F00010C09091E80095FF03C01092F100F9CF65
-:101100009091E80090FF05C09091E8009E77909341
-:10111000E8008F708093E90010926301089542E027
-:1011200061EC81E00E94E70A42E061EC82E00E940B
-:10113000E70A42E061EC83E00E94E70A42E261ECE8
-:1011400084E00C94E70A8091E302833009F453C0F1
-:1011500030F4813071F0823009F48CC008958A3007
-:1011600009F478C08B3009F45EC0893009F09AC068
-:1011700020C08091E202813A09F094C08091E80099
-:10118000877F8093E8008091E6029091E702892BA7
-:1011900021F468E084E691E003C060E080E090E044
-:1011A00070E00E94230A8091E8008B778093E8002A
-:1011B00008958091E202813209F074C08091E602C4
-:1011C0009091E702892B09F06DC08091E800877F3C
-:1011D0008093E8008091E80082FD05C08091E102E3
-:1011E0008111F8CF5FC08091F10080936C018091F4
-:1011F000E8008B7753C08091E202813A09F052C037
-:101200008091E6029091E702892B09F04BC0809112
-:10121000E800877F8093E8008091E80080FFFCCFA2
-:1012200080910B0136C08091E2028132D9F5809124
-:10123000E6029091E702892BA9F58091E800877F6B
-:101240008093E8000E941C0B8091E40280930B01C4
-:101250000C9491138091E202813221F58091E80093
-:10126000877F8093E8000E941C0B8091E5028093A9
-:101270006D0108958091E202813AA1F48091E80025
-:10128000877F8093E8008091E80080FFFCCF809109
-:101290006D018093F1008091E8008E778093E800E3
-:1012A0000C941C0B089584B7877F84BF88E10FB628
-:1012B000F89480936000109260000FBE90E080E888
-:1012C0000FB6F89480936100909361000FBE0E9466
-:1012D000FE0E0E946D0B0E94CA0B8091E20084609A
-:1012E0008093E20078940E946C0E0E944F0E0E9440
-:1012F000000F81E091E00E94AA0E0E94080FFDCF2E
-:10130000292F332723303105C9F064F4213031050A
-:1013100081F02230310509F043C084E790E026E9EE
-:1013200031E042C021323105F1F02232310541F184
-:1013300037C082E190E02AE032E036C09927813060
-:10134000910541F08230910541F0892B49F5E2E9A0
-:10135000F1E005C0EEE7F1E002C0E2E7F1E08491E0
-:1013600090E09F0121C06430D8F4E62FF0E0EE0F4A
-:10137000FF1FEF5CFE4F2081318189E090E014C0B7
-:10138000643070F470E0FB01EE0FFF1FE75DFE4F6D
-:1013900020813181FB01EB5DFE4F808190E004C034
-:1013A00080E090E020E030E0FA013183208308956E
-:1013B000CF92DF92EF92FF920F931F93CF93DF9321
-:1013C000EC018B016A010E943B0B811133C0C114F7
-:1013D000D10439F0F60180819181081B190BC80FE7
-:1013E000D91FE12CF12C0115110519F18091E800AC
-:1013F00085FD16C08091E8008E778093E800C114C7
-:10140000D10449F0F60180819181E80EF91EF18244
-:10141000E08285E00FC00E943B0B882321F30AC0C5
-:1014200089918093F10001501109FFEFEF1AFF0A33
-:10143000DACF80E0DF91CF911F910F91FF90EF9075
-:10144000DF90CF9008952091E8023091E9022617AD
-:10145000370748F06115710539F42091E8002E77BF
-:101460002093E80001C0B90140E061157105A9F1C0
-:101470002091E102222309F443C0253009F442C03F
-:101480002091E80023FD40C02091E80022FD32C0F9
-:101490002091E80020FFE9CF4091F3002091F20075
-:1014A00030E0342BFC01CF016115710559F0283073
-:1014B000310540F481918093F100615071092F5FF3
-:1014C0003F4FF1CF41E02830310509F040E0209155
-:1014D000E8002E772093E800C8CF4111C9CF0AC099
-:1014E0008091E102882361F0853061F08091E8000D
-:1014F00083FD0AC08091E80082FFF2CF80E008956A
-:1015000082E0089583E0089581E008952091E80243
-:101510003091E9022617370748F06115710539F453
-:101520002091E8002E772093E80001C0B901FC016A
-:1015300020E06115710591F18091E102882309F4A1
-:1015400040C0853009F43FC08091E80083FD3DC074
-:101550008091E80082FD2FC08091E80080FFE9CFF4
-:101560002091F3008091F20090E0922B61157105BB
-:1015700059F08830910540F424912093F100319680
-:10158000615071090196F2CF21E0089709F020E03F
-:101590008091E8008E778093E800CBCF2111CCCFEB
-:1015A0000AC08091E102882361F0853061F080916A
-:1015B000E80083FD0AC08091E80082FFF2CF80E05E
-:1015C000089582E0089583E0089581E00895982FBA
-:1015D000973058F59093E900981739F07091EC0026
-:1015E0002091ED005091F00003C0242F762F50E0A1
-:1015F00021FF19C03091EB003E7F3093EB0030911A
-:10160000ED003D7F3093ED003091EB003160309381
-:10161000EB007093EC002093ED005093F0002091CC
-:10162000EE0027FF07C09F5FD3CF8F708093E90044
-:1016300081E0089580E008958091E20287FF11C063
-:101640008091E80082FD05C08091E1028111F8CF10
-:1016500011C08091E8008B770BC08091E102882354
-:1016600049F08091E80080FFF8CF8091E8008E7704
-:101670008093E80008952091E4003091E50095E61C
-:101680004091EC00842F817040FF22C08091E800DF
-:1016900080FD1CC08091E102882391F0853091F09B
-:1016A0008091EB0085FD10C04091E4005091E50071
-:1016B0004217530729F39A01915011F784E00895D6
-:1016C00082E0089583E0089581E0089580E0089520
-:1016D0004091E80042FFDECF08950E94DB0B0E949C
-:1016E000E30BE0EEF0E0808181608083E8EDF0E0E4
-:1016F00080818F77808319BCA7EDB0E08C918E7FBD
-:101700008C9380818F7E80831092E00208950F93E6
-:101710001F93CF93DF930E94DB0B0E94E30BC8ED76
-:10172000D0E088818F7788838881806888838881EA
-:101730008F7D888319BC1092E1021092DD02109215
-:10174000DF021092DE0200EE10E0F80180818B7F54
-:10175000808388818160888342E060E080E00E942D
-:10176000E70AE1EEF0E080818E7F8083E2EEF0E038
-:10177000808181608083808188608083F80180819E
-:101780008E7F8083888180618883DF91CF911F91D4
-:101790000F910895E8EDF0E080818F7E8083E7ED82
-:1017A000F0E080818160808384E082BF81E080936B
-:1017B000E0020C94870BE8EDF0E080818E7F80835F
-:1017C0001092E20008951092DA001092E10008955C
-:1017D0001F920F920FB60F9211242F933F934F93A6
-:1017E0005F936F937F938F939F93AF93BF93EF9389
-:1017F000FF938091E10082FF0BC08091E20082FFA5
-:1018000007C08091E1008B7F8093E1000E944E0829
-:101810008091DA0080FF1FC08091D80080FF1BC03C
-:101820008091DA008E7F8093DA008091D90080FF6A
-:101830000DC080E189BD82E189BD09B400FEFDCF04
-:1018400081E08093E1020E94390805C019BC109222
-:10185000E1020E9447088091E10080FF19C0809159
-:10186000E20080FF15C08091E2008E7F8093E2004D
-:101870008091E20080618093E2008091D8008062D4
-:101880008093D80019BC85E08093E1020E944B0848
-:101890008091E10084FF30C08091E20084FF2CC081
-:1018A00080E189BD82E189BD09B400FEFDCF809150
-:1018B000D8008F7D8093D8008091E1008F7E809347
-:1018C000E1008091E2008F7E8093E2008091E2004F
-:1018D00081608093E2008091DD02882311F084E032
-:1018E00007C08091E30087FD02C081E001C083E072
-:1018F0008093E1020E944C088091E10083FF29C09F
-:101900008091E20083FF25C08091E100877F809372
-:10191000E10082E08093E1021092DD028091E1001B
-:101920008E7F8093E1008091E2008E7F8093E200C1
-:101930008091E20080618093E20042E060E080E01C
-:101940000E94E70A8091F00088608093F0000E9476
-:101950004A08FF91EF91BF91AF919F918F917F9135
-:101960006F915F914F913F912F910F900FBE0F900C
-:101970001F9018951F920F920FB60F9211242F935C
-:101980003F934F935F936F937F938F939F93AF9307
-:10199000BF93CF93DF93EF93FF93C091E900CF7094
-:1019A0008091EC00D82FD17080FDD0E81092E90032
-:1019B0008091F000877F8093F00078940E94FE0C65
-:1019C0001092E9008091F00088608093F000CD2BA8
-:1019D000CF70C093E900FF91EF91DF91CF91BF915C
-:1019E000AF919F918F917F916F915F914F913F91B7
-:1019F0002F910F900FBE0F901F9018951F93CF93AC
-:101A0000DF93CDB7DEB7AA970FB6F894DEBF0FBE4F
-:101A1000CDBFE2EEF2E088E08E0F9091F10091935D
-:101A20008E13FBCF0E94A3088091E80083FF1FC1A3
-:101A30008091E2029091E302492F50E04A30510533
-:101A400008F015C1FA01EA5AFF4F0C94452280387C
-:101A500081F0823809F00BC18091E6028F7080938B
-:101A6000E9008091EB0085FB882780F91092E9005E
-:101A700006C08091DE029091DF0291118260909108
-:101A8000E800977F9093E8008093F1001092F100B6
-:101A9000C8C0282F2D7F09F0EAC0882319F08230B2
-:101AA00061F0E5C08091E402813009F0E0C093303C
-:101AB00009F080E08093DF022BC08091E402811165
-:101AC00027C08091E6028F7009F4D1C08093E900AD
-:101AD0002091EB0020FF1CC0933021F48091EB009B
-:101AE000806214C09091EB0090619093EB0021E034
-:101AF00030E0A90102C0440F551F8A95E2F74093D8
-:101B0000EA001092EA008091EB0088608093EB007D
-:101B10001092E9008091E800877F86C08111A7C0FC
-:101B20001091E4021F778091E3008078812B8093ED
-:101B3000E3008091E800877F8093E8000E941C0BFF
-:101B40008091E80080FFFCCF8091E3008068809363
-:101B5000E300111102C082E001C083E08093E10242
-:101B600086C08058823008F082C08091E402909153
-:101B7000E5028C3D53E0950779F583E08A838AE29C
-:101B800089834FB7F894DE01139620E03EE051E2DE
-:101B9000E32FF0E050935700E49120FF03C0E2955B
-:101BA000EF703F5FEF708E2F90E0EA3010F0C79635
-:101BB00001C0C0968D939D932F5F243149F74FBF8D
-:101BC0008091E800877F8093E8006AE270E0CE01B0
-:101BD00001960E94230A14C0AE014F5F5F4F6091CF
-:101BE000E6020E948009BC01009709F440C0909170
-:101BF000E800977F9093E80089819A810E94860A85
-:101C00008091E8008B778093E80031C0803879F5C7
-:101C10008091E800877F8093E8008091DD028093C7
-:101C2000F1008091E8008E778093E8000E941C0B01
-:101C30001EC081111CC09091E4029230C0F48091CA
-:101C4000E800877F8093E8009093DD020E941C0BE0
-:101C50008091DD02811106C08091E30087FD02C002
-:101C600081E001C084E08093E1020E948F088091AE
-:101C7000E80083FF0AC08091E800877F8093E80036
-:101C80008091EB0080628093EB00AA960FB6F894E7
-:101C9000DEBF0FBECDBFDF91CF911F910895CF93CF
-:101CA0008091E1028823A1F0C091E900CF7090916A
-:101CB000EC00892F817090FD80E8C82B1092E9001C
-:101CC0008091E80083FD0E94FE0CCF70C093E90074
-:101CD000CF9108950C94790E87E68093CC001092F2
-:101CE000CD0088E08093C90086E08093CA00789494
-:101CF00008959091C80095FFFCCF8093CE00089581
-:101D00001F920F920FB60F9211242F933F934F9370
-:101D10008F939F93EF93FF9380916F0190E09C01CD
-:101D20002F5F3F4F40916E01421741F03091CE003E
-:101D3000FC01E059FE4F308320936F01FF91EF913A
-:101D40009F918F914F913F912F910F900FBE0F90C8
-:101D50001F90189590937502809374020895E091F6
-:101D60007402F0917502309721F00190F081E02D1E
-:101D7000099480E00895E0917402F0917502309723
-:101D800021F00280F381E02D09940895E09174021E
-:101D9000F0917502309721F00480F581E02D0994CF
-:101DA000089520917202309173028217930771F0A7
-:101DB0009093730280937202E0917402F091750225
-:101DC000309721F00680F781E02D09940895209145
-:101DD0007002309171028217930771F09093710233
-:101DE00080937002E0917402F0917502309721F0B7
-:101DF0000084F185E02D0994089508950C94FD0E5A
-:101E00000E94EF190E94FC050E94B91A0C946C20E4
-:101E10005F926F927F928F929F92AF92BF92CF927A
-:101E2000DF92EF92FF920F931F93CF93DF9300D037
-:101E300000D01F92CDB7DEB70E9441069FE7C92EA2
-:101E400092E0D92E03E010E0AA24A394B12C502EE6
-:101E5000802F0E94BC064C01F601729062906F01C7
-:101E60006826792661147104A1F40150110978F7EC
-:101E70008FEF89838A831B820E94F8198160782FF3
-:101E80009D838C8349815A816B818D810E94B80F1B
-:101E900038C08091CC0281FD0E94C5062CE030E064
-:101EA0007501022E02C0EE0CFF1C0A94E2F7C70176
-:101EB00086219721892B09F129835A828E209F2020
-:101EC00091E0892809F490E09B830E94F8198160D1
-:101ED000782F9D838C8349815A816B818D810E94EB
-:101EE000B80F000F111FF801E958FD4F8081918153
-:101EF000E826F926F182E08204C02150310980F6FB
-:101F0000B4CF0E94A71D109176020E94AF0E181741
-:101F1000D1F00E94AF0E809376020F900F900F9039
-:101F20000F900F90DF91CF911F910F91FF90EF9045
-:101F3000DF90CF90BF90AF909F908F907F906F90E9
-:101F40005F900C94E6050F900F900F900F900F90FC
-:101F5000DF91CF911F910F91FF90EF90DF90CF9085
-:101F6000BF90AF909F908F907F906F905F900895FB
-:101F7000CF93DF93CDB7DEB72B970FB6F894DEBFC4
-:101F80000FBECDBF4F83588769877A878B87DE0165
-:101F9000119686E0FD0111928A95E9F785E0FE0130
-:101FA000379601900D928A95E1F749815A816B81AC
-:101FB0007C818D819E810E942F162B960FB6F894FE
-:101FC000DEBF0FBECDBFDF91CF910895CF938823A1
-:101FD00009F4C2C0C82F823859F40E94AF0E81FDA7
-:101FE000BBC089E30E9409190E948C1989E30CC0C7
-:101FF000833879F40E94AF0E80FDAEC083E50E9465
-:1020000009190E948C1983E50E942619CF910C941E
-:102010008C19843859F40E94AF0E82FD9DC087E46C
-:102020000E9409190E948C1987E4EECF8CEF8C0F67
-:10203000813A48F48C2F0E94D41F81118DC08C2FBF
-:102040000E940919E3CF80E28C0F883048F4C770F2
-:1020500081E001C0880FCA95EAF70E944519D6CFE2
-:102060008BE58C0F833078F4C53A29F0C63A31F00D
-:1020700083E890E005C081E890E002C082E890E04B
-:10208000CF910C94D10E88E58C0F833108F064C099
-:10209000C83A39F1C93A41F1CA3A49F1CB3A51F15A
-:1020A000CC3A59F1CD3A61F1C03B69F1CE3A71F1C8
-:1020B000CF3A79F1C13B81F1C23B89F1C33B91F148
-:1020C000C43B99F1C53BA1F1C63BA9F1C73BB1F1B6
-:1020D000C83BB9F1C93BC1F1CA3BC9F180E090E00E
-:1020E00038C082EE90E035C089EE90E032C08AEED2
-:1020F00090E02FC085EB90E02CC086EB90E029C0EB
-:1021000087EB90E026C08CEC90E023C08DEC90E053
-:1021100020C083E891E01DC08AE891E01AC082E9FE
-:1021200091E017C084E991E014C081E292E011C00F
-:1021300083E292E00EC084E292E00BC085E292E07E
-:1021400008C086E292E005C087E292E002C08AE21F
-:1021500092E0CF910C94E70ECF910895882309F473
-:102160004BC0823859F40E94AF0E81FF45C089E30D
-:102170000E9409190E948C1989E30CC0833871F4FC
-:102180000E94AF0E80FF38C083E50E9409190E94AB
-:102190008C1983E50E9426190C948C19843859F403
-:1021A0000E94AF0E82FF28C087E40E9409190E9496
-:1021B0008C1987E4EFCF9CEF980F913A58F390E297
-:1021C000980F983050F4877091E001C0990F8A956C
-:1021D000EAF7892F0E944B19DFCF9BE5980F9330C8
-:1021E00020F480E090E00C94D10E885A833120F4E2
-:1021F00080E090E00C94E70E0895882321F00E947F
-:1022000045190C948C190895882321F00E944B19CC
-:102210000C948C1908957F928F929F92AF92BF92E7
-:10222000CF92DF92EF92FF920F931F93CF93DF93A2
-:102230001F92CDB7DEB77C01C62E772EFC0105813B
-:1022400002950F70128111110E9462190E940219E9
-:10225000882379F0112369F080E28C0D883048F0F2
-:1022600082E00E94EB180E94021991E0D82ED92634
-:1022700001C0D12CE72DE295EF70F0E0E05AFF4F5E
-:102280000C944522872D807F072D0F70882311F035
-:102290000295007F112389F0002309F499C180E29F
-:1022A0008C0D883020F4802F0E94451903C0802FA8
-:1022B0000E9455190E948C198BC18C2D0E94AE1062
-:1022C000002309F4C3C180E28C0D883020F4802FF4
-:1022D0000E944B1903C0802F0E945B190E948C1929
-:1022E000B5C1872D807F972D9F70803211F4892F83
-:1022F00003C0892F8295807FCC2021F0F1E0CF169A
-:10230000A1F01DC0112339F0002319F1013009F5A6
-:102310000E9475199BC1002319F0013009F496C180
-:1023200089830E947819898110C1112321F0063018
-:1023300008F08CC10EC0053008F088C106C1112319
-:1023400059F0002331F0F701958190FF41C19F7052
-:1023500095830E94FD107AC1002309F4F6C03EC1A6
-:10236000872D86958695837090E0009719F00197E8
-:1023700061F06CC1112321F08C2D972D937002C058
-:1023800080E090E00E94D10E61C1112321F08C2DDC
-:10239000972D937002C080E090E00E94E70E56C136
-:1023A0008C2D112319F00E94AF1C02C00E94171D32
-:1023B0000E949C1D4BC1872D837009F052C01111E2
-:1023C00045C18C2D829586958770880F880F9C2D2E
-:1023D0009F70892E912CA12CB12C082E04C0880C42
-:1023E000991CAA1CBB1C0A94D2F7C4FE14C00FE0AF
-:1023F00010E020E030E0B901A80104C0440F551FEF
-:10240000661F771F8A95D2F7CB01BA016095709548
-:102410008095909503C060E070E0CB01272D269554
-:102420002695237030E02230310569F023303105E4
-:1024300089F0682979298A299B292130310571F091
-:102440000E94771703C1682979298A299B290E944C
-:102450009317FCC00E947717C501B4010E945B1757
-:10246000F5C0112319F0872D817001C0869588234E
-:1024700009F4ECC08C2D829586958770880F880FA3
-:102480009C2D9F70892E912CA12CB12C082E04C05C
-:10249000880C991CAA1CBB1C0A94D2F7C4FE14C059
-:1024A0000FE010E020E030E0B901A80104C0440FC3
-:1024B000551F661F771F8A95D2F7CB01BA01609529
-:1024C00070958095909503C060E070E0CB01272D5A
-:1024D000269526952370422F50E04230510569F031
-:1024E0004330510589F0682979298A299B2941308F
-:1024F000510571F00E945118A9C0682979298A29CB
-:102500009B290E946D18A2C00E945118C501B401F8
-:102510000E9435189BC08C2D90E0FC01E05EF10913
-:10252000E531F10508F050C0E059FF4F0C94452209
-:102530000C2D0F70872D8F71112321F00E94CE1763
-:10254000802F07CF0E94EF17802F0E9404117EC0BA
-:10255000112341F0053008F079C0872D8F710E945A
-:10256000141874C0063008F071C0F7CF112339F089
-:10257000872D8F710E94CE1769C01123C9F3872D53
-:102580008F710E94EF1762C0112329F0872D8F7180
-:102590000E94B9175BC00E94AF1758C0112351F0B9
-:1025A000172D1F71812F0E94CE1763E0812F0E948B
-:1025B000E2184CC081E00E94EB18023008F446C0DB
-:1025C00082E00E94EB1842C0112331F0002381F217
-:1025D0008C2D0E94E60F3AC0002389F28C2D0E94B8
-:1025E000AE1034C0472D4F706C2DC7010E94C7023A
-:1025F0000E94D3162BC0111129C0472D4F7050E0F7
-:1026000042305105B9F04CF44115510581F041308B
-:102610005105E1F40E94942019C04330510569F03E
-:102620004430510599F48C2D0E94E6200FC00E9481
-:102630007D200CC00E94B02009C00E94C32006C0AB
-:10264000472D4F706C2DC7010E94CA02DD20F9F0A2
-:102650000E94DE1880FD1BC0F70112820E94D8186C
-:102660000E94CE17C7010E9456130E94D8180F90DF
-:10267000DF91CF911F910F91FF90EF90DF90CF905E
-:10268000BF90AF909F908F907F900C94EF170F901A
-:10269000DF91CF911F910F91FF90EF90DF90CF903E
-:1026A000BF90AF909F908F907F9008950F931F934E
-:1026B000CF93DF93EC01888199812B813C81232B7F
-:1026C000B9F09F3F11F48F3F99F0CE010E941B0299
-:1026D000882371F0688179818A810E94D4188C01E5
-:1026E0000E9489180E945017B801CE010E940B1158
-:1026F000DF91CF911F910F9108950E9462190E945E
-:1027000072190E9437190E948C190E944D1E0E9456
-:102710009C1D80E090E00E94D10E80E090E00C943F
-:10272000E70E0E9452190C947D130E94C918292F9C
-:1027300022952F7030E02C3031054CF42A303105D1
-:102740006CF42250310922303105A8F407C02C3036
-:10275000310569F02F30310551F00DC0803F69F02F
-:1027600018F4803E40F409C0843F29F406C093FB6E
-:10277000882780F9089580E0089581E00895CF9337
-:10278000DF9300D000D01F92CDB7DEB70F900F902F
-:102790000F900F900F90DF91CF910895CF93DF931B
-:1027A00000D000D000D0CDB7DEB726960FB6F89493
-:1027B000DEBF0FBECDBFDF91CF9108951F93CF93A2
-:1027C000DF93C0917F0216E080918002C81799F0D4
-:1027D000D0E01C9FF0011D9FF00D1124EF57FD4F1D
-:1027E0004081518162817381848195810E94CE13E1
-:1027F0002196C770E9CFDF91CF911F910895409145
-:10280000B1025091B2026091B3027091B402809112
-:10281000B5029091B6020C94CE138091B6028295C7
-:102820008F7009F054C08091B302882309F44FC01F
-:1028300080917F02A09180026091B1027091B202FA
-:102840004091B4025091B502B6E08A1709F43FC036
-:1028500090E041155105C1F17F3F11F46F3FA1F1A7
-:10286000B89FF001B99FF00D1124EF57FD4F218162
-:1028700072132AC02081621327C02281211124C033
-:10288000238134812417350710F421503109241B8A
-:10289000350B283C3105C0F42091B6022F70206121
-:1028A0002093B60226E0289FF001299FF00D112405
-:1028B000EA57FD4F80818F708061808381EB92E0C9
-:1028C0000E9456130C94DE1301968770BECF0895B4
-:1028D000CF92DF92EF92FF920F931F93CF93DF93EC
-:1028E000CDB7DEB762970FB6F894DEBF0FBECDBF8F
-:1028F0008C0185E0F801DE011D9601900D928A950C
-:10290000E1F7D8014C9111965C91119712966C9158
-:1029100012971396CD90DC9014973091B10270917C
-:10292000B2028091B4029091B502009709F46BC194
-:102930007F3F19F43F3F09F466C1E090B302EE20F7
-:1029400009F4C0C02091B602C816D90628F0F601D5
-:10295000E81BF90BCF0104C0809590958C0D9D1D4F
-:10296000FF24F394883C910578F0F12C207F09F046
-:10297000C6C07C2DD98AC88A89890E94BF1381EB81
-:1029800092E00E945613B1C0822F807F09F046C0AA
-:10299000751314C0341312C0611110C02F70206160
-:1029A0002093B6020E94FF1381EB92E00E9456131F
-:1029B0008091B602D80115968C932EC0CD2819F1BE
-:1029C0005F3F11F44F3FF9F0F62E61111CC080916A
-:1029D0007F022091800236E0821709F45AC090E00D
-:1029E000389FF001399FF00D1124EF57FD4F718191
-:1029F000571306C07081471303C07281711103C061
-:102A000001968770E9CFF62E662309F418C18091EC
-:102A1000B60281608093B602F12C11C1751308C013
-:102A2000341306C0611104C08091B602D801C3C03E
-:102A30004D875E878D859E856A8B0E9495136A8976
-:102A40008823E1F16623D1F12091B602822F82958D
-:102A50008F7090E0029774F08091B1029091B20271
-:102A600098878F831986DB86CA862C87CE010796C6
-:102A70000E94561386E0F801A1EBB2E001900D929E
-:102A80008A95E1F70E940D140E94FF13FF24F3942E
-:102A9000D6C04D875E878D859E850E94C918292FD7
-:102AA00022952F7030E0223031050CF0BCC09F70B1
-:102AB00009F0B6C0805E883008F4C1C0C8010E9429
-:102AC0005613E4CFC816D90608F453C0F601E81B24
-:102AD000F90BCF01883C910508F450C0F12C7C2DF6
-:102AE000D98AC88A89890E94BF13E1EBF2E086E0A7
-:102AF000DF011D928A95E9F70E94FF13A0C07513AC
-:102B000014C0341312C0611110C08091B602F801D4
-:102B10008583C8010E94561386E0E1EBF2E0DF01F5
-:102B20001D928A95E9F7FE2C8AC04D875E878D85B8
-:102B30009E856A8B0E9495136A89882309F4BECF0B
-:102B4000662309F4BBCF2091B602822F82958F7045
-:102B500090E002970CF48ECF8091B1029091B20276
-:102B60009A8389831B82DD82CC822E83CE010196DB
-:102B70007FCF809590958C0D9D1DACCFF62E662352
-:102B800009F49CCF75132EC034132CC02091B602CB
-:102B900020FD1FC0822F82958F70D9F0D801159625
-:102BA0002C9315978F3049F08F5F982F9295907FD7
-:102BB000822F8F70892B15968C93C8010E94561313
-:102BC00086E0F801A1EBB2E001900D928A95E1F761
-:102BD00093CF86E0F801A1EBB2E001900D928A95C7
-:102BE000E1F72DC04D875E878D859E850E949513E8
-:102BF000811140CF8091B60281608093B602C801F6
-:102C00000E9456131CC0662309F458CF4D875E8777
-:102C10008D859E850E949513882309F44FCF2ACF76
-:102C2000811148CF0CC0243031050CF047CF9F7084
-:102C300009F440CFF8019581907F09F03BCF8F2DAB
-:102C400062960FB6F894DEBF0FBECDBFDF91CF9175
-:102C50001F910F91FF90EF90DF90CF9008951F93F9
-:102C6000CF93DF93CDB7DEB72C970FB6F894DEBFC6
-:102C70000FBECDBF4F83588769877A878B879C8724
-:102C8000CE0107960E946814882369F08F81988589
-:102C90002A853B85232BF1F19F3F09F063C08F3FCD
-:102CA00009F060C037C086E0FE013796DE0111965C <