From 649b33d7783cf3021928534b7ae127e0a89e8807 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Tue, 21 Jun 2016 22:39:54 -0400 Subject: Renames keyboard folder to keyboards, adds couple of tmk's fixes (#432) * fixes from tmk's repo * rename keyboard to keyboards --- keyboards/jd45/Makefile | 71 ++ keyboards/jd45/config.h | 80 ++ keyboards/jd45/jd45.c | 81 ++ keyboards/jd45/jd45.h | 13 + keyboards/jd45/keymaps/default/compiled.hex | 1113 ++++++++++++++++++++++++++ keyboards/jd45/keymaps/default/keymap.c | 31 + keyboards/jd45/keymaps/justin/compiled.hex | 1153 +++++++++++++++++++++++++++ keyboards/jd45/keymaps/justin/keymap.c | 101 +++ 8 files changed, 2643 insertions(+) create mode 100644 keyboards/jd45/Makefile create mode 100644 keyboards/jd45/config.h create mode 100644 keyboards/jd45/jd45.c create mode 100644 keyboards/jd45/jd45.h create mode 100644 keyboards/jd45/keymaps/default/compiled.hex create mode 100644 keyboards/jd45/keymaps/default/keymap.c create mode 100644 keyboards/jd45/keymaps/justin/compiled.hex create mode 100644 keyboards/jd45/keymaps/justin/keymap.c (limited to 'keyboards/jd45') diff --git a/keyboards/jd45/Makefile b/keyboards/jd45/Makefile new file mode 100644 index 000000000..75d544f16 --- /dev/null +++ b/keyboards/jd45/Makefile @@ -0,0 +1,71 @@ + + +# MCU name +#MCU = at90usb1287 +MCU = atmega32u4 + +# Processor frequency. +# This will define a symbol, F_CPU, in all source code files equal to the +# processor frequency in Hz. You can then use this symbol in your source code to +# calculate timings. Do NOT tack on a 'UL' at the end, this will be done +# automatically to create a 32-bit value in your source code. +# +# This will be an integer division of F_USB below, as it is sourced by +# F_USB after it has run through any CPU prescalers. Note that this value +# does not *change* the processor frequency - it should merely be updated to +# reflect the processor speed set externally so that the code can use accurate +# software delays. +F_CPU = 16000000 + + +# +# LUFA specific +# +# Target architecture (see library "Board Types" documentation). +ARCH = AVR8 + +# Input clock frequency. +# This will define a symbol, F_USB, in all source code files equal to the +# input clock frequency (before any prescaling is performed) in Hz. This value may +# differ from F_CPU if prescaling is used on the latter, and is required as the +# raw input clock is fed directly to the PLL sections of the AVR for high speed +# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' +# at the end, this will be done automatically to create a 32-bit value in your +# source code. +# +# If no clock division is performed on the input clock inside the AVR (via the +# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. +F_USB = $(F_CPU) + +# Interrupt driven control endpoint task(+60) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + + +# Boot Section Size in *bytes* +# Teensy halfKay 512 +# Teensy++ halfKay 1024 +# Atmel DFU loader 4096 +# LUFA bootloader 4096 +# USBaspLoader 2048 +OPT_DEFS += -DBOOTLOADER_SIZE=4096 + + +# Build Options +# comment out to disable the options. +# +BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700) +EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) +CONSOLE_ENABLE ?= yes # Console for debug(+400) +COMMAND_ENABLE ?= yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +# SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend +# NKRO_ENABLE ?= yes # USB Nkey Rollover - not yet supported in LUFA +BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality +MIDI_ENABLE ?= YES # MIDI controls +# UNICODE_ENABLE ?= YES # Unicode +BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID + +ifndef QUANTUM_DIR + include ../../Makefile +endif diff --git a/keyboards/jd45/config.h b/keyboards/jd45/config.h new file mode 100644 index 000000000..ffedb6a1a --- /dev/null +++ b/keyboards/jd45/config.h @@ -0,0 +1,80 @@ +/* +Copyright 2012 Jun Wako + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#ifndef CONFIG_H +#define CONFIG_H + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x6060 +#define DEVICE_VER 0x0001 +#define MANUFACTURER geekhack +#define PRODUCT JD45 +#define DESCRIPTION q.m.k. keyboard firmware for JD45 + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 13 + +/* Planck PCB default pin-out */ +#define MATRIX_ROW_PINS { F0, F1, F5, B4 } +#define MATRIX_COL_PINS { F4, D7, B5, B6, C6, C7, D4, D6, D5, D0, D1, D2, B0 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* number of backlight levels */ +#define BACKLIGHT_LEVELS 3 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCING_DELAY 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* key combination for command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +#define NO_DEBUG + +/* disable print */ +#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION + +#endif diff --git a/keyboards/jd45/jd45.c b/keyboards/jd45/jd45.c new file mode 100644 index 000000000..5437b2bff --- /dev/null +++ b/keyboards/jd45/jd45.c @@ -0,0 +1,81 @@ +#include "jd45.h" + +__attribute__ ((weak)) +void matrix_init_user(void) { + +}; + +__attribute__ ((weak)) +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 + + matrix_init_user(); +}; + +void matrix_scan_kb(void) { + matrix_scan_user(); +}; diff --git a/keyboards/jd45/jd45.h b/keyboards/jd45/jd45.h new file mode 100644 index 000000000..1e9de2123 --- /dev/null +++ b/keyboards/jd45/jd45.h @@ -0,0 +1,13 @@ +#ifndef JD45_H +#define JD45_H + +#include "matrix.h" +#include "keymap.h" +#include "backlight.h" +#include +#include + +void matrix_init_user(void); +void matrix_scan_user(void); + +#endif diff --git a/keyboards/jd45/keymaps/default/compiled.hex b/keyboards/jd45/keymaps/default/compiled.hex new file mode 100644 index 000000000..cc20ee3c5 --- /dev/null +++ b/keyboards/jd45/keymaps/default/compiled.hex @@ -0,0 +1,1113 @@ +:100000000C9480010C94C4010C94C4010C94C401A0 +:100010000C94C4010C94C4010C94C4010C94C4014C +:100020000C94C4010C94C4010C94D40B0C94A60C35 +:100030000C94B2190C94C4010C94C4010C94C40126 +:100040000C94C4010C94C4010C94C4010C94C4011C +:100050000C94C4010C941A1A0C94C4010C94C4019D +:100060000C94C4010C946C0E0C94C4010C94C40147 +:100070000C94C4010C94C4010C94C4010C94C401EC +:100080000C94C4010C94C4010C94C4010C94C401DC +:100090000C94C4010C94C4010C94C4010C94C401CC +:1000A0000C94C4010C94C4010C94C401130D350DBF +:1000B000230E350D230E7A0D9D0D230EF20D050E28 +:1000C0002E112E115D115D119C11BC111213121312 +:1000D000C711121377127712DE12E71212130C13E4 +:1000E0008412841284128412841284128412841260 +:1000F0008412841284128412841284128412841250 +:100100009412A212A912B012BA12290014001A00F5 +:100110000800150017001C0018000C001200130046 +:1001200034002A002B0004001600070009000A0012 +:100130000B000D000E000F00330028000000E1004E +:100140001D001B00060019000500110010003600FC +:1001500037003800E50000004800E000E2004C00F5 +:100160002C0000004C0000005000520051004F00D5 +:1001700000000A034A004400340035000000120366 +:100180006700650065006B006800610063006B003C +:1001900000000403090409027400040100A0FA0924 +:1001A00004000001030101000921110100012240A6 +:1001B000000705810308000A090401000103010288 +:1001C00000092111010001224D00070582030800EA +:1001D0000A090402000103000000092111010001C5 +:1001E0002236000705830308000A090403000203FE +:1001F00000000009211101000122200007058403ED +:100200002000010705040320000112011001000075 +:100210000008EDFE60600100010200010631FF09E7 +:1002200074A1010975150025FF9520750881020943 +:1002300076150025FF952075089102C005010980FB +:10024000A101850216010026B7001A01002AB70095 +:10025000751095018100C0050C0901A101850316E7 +:100260000100269C021A01002A9C0275109501814A +:1002700000C005010902A1010901A1000509190138 +:100280002905150025019505750181029501750364 +:1002900081010501093009311581257F9502750815 +:1002A000810609381581257F950175088106050CA1 +:1002B0000A38021581257F950175088106C0C005A1 +:1002C000010906A101050719E029E7150025019597 +:1002D0000875018102950175088101050819012938 +:1002E00005950575019102950175039101050719A1 +:1002F0000029FF150026FF00950675088100C00043 +:1003000011241FBECFEFDAE0DEBFCDBF04B603FE7F +:1003100024C08091ED029091EE02A091EF02B09185 +:10032000F0028730904BA740B04BB9F41092ED0229 +:100330001092EE021092EF021092F00214BE84B7F7 +:10034000877F84BF88E10FB6F89480936000109295 +:1003500060000FBEE0E0F8E3099511E0A0E0B1E035 +:10036000E8E2F5E402C005900D92A434B107D9F794 +:1003700012E0A4E4B1E001C01D92AD3EB107E1F787 +:100380000E9443090C9492220C9400000895089551 +:10039000279A2F988FEF9FEF909387008093860086 +:1003A0008AE08093800089E1809381000C94692029 +:1003B000282F81110BC080918000877F809380005F +:1003C00010928D0010928C002F9808952F98809194 +:1003D0008000886080938000233019F48FEF9FEFB6 +:1003E0000FC083E090E0821B9109880F991F2FEFC7 +:1003F0003FEFA90102C0569547958A95E2F7CA01D9 +:1004000090938D0080938C0008950E94C8010C94F5 +:10041000C6010C94C70181E0089581E008950C9411 +:100420000D0208950F931F93CF93DF938C01FC016E +:10043000C081D181CE010E947618BE010E9446057E +:10044000EC01B8010E940F02882309F470C1F80181 +:100450008281882309F45BC080914F0181111FC004 +:10046000C431F0E7DF0709F00AC10E94110281E000 +:1004700080934F010E94E41990934E0180934D01A7 +:1004800010924601109248011092470110924A01C1 +:100490001092490110924C0110924B0148C1809179 +:1004A0004D0190914E010E94F019883C910570F425 +:1004B00080914601E82FF0E0EE0FFF1FE95BFE4F51 +:1004C000D183C0838F5F8093460131C1C43120E75F +:1004D000D20708F024C1C23080E7D80710F5C11553 +:1004E00090E7D90709F0DAC0F8018281882309F47E +:1004F000BFC00E947D13FFEF24E38CE0F150204049 +:100500008040E1F700C000000E943F1A10C1C431D2 +:10051000F0E7DF0708F0CFC0C23020E7D20708F4C9 +:100520009BC0F8018281882309F4A2C00E94F11BBC +:10053000811102C00E94D21B0E940E1C90E0909379 +:10054000DE028093DD02C230F0E7DF0721F4809104 +:10055000DD0281607AC0C33020E7D20721F48091A8 +:10056000DD02826072C0C43080E7D80721F4809138 +:10057000DD0284606AC0C53090E7D90719F4809124 +:10058000DD0227C0C630E0E7DE0721F48091DD02FE +:1005900080615BC0C730F0E7DF0721F48091DD02A6 +:1005A000806253C0C83020E7D20721F48091DD0279 +:1005B00080644BC0C93080E7D80721F48091DD0208 +:1005C000806843C0CA3090E7D90729F48091DD02E2 +:1005D000846088603AC0CB30E0E7DE0721F4809188 +:1005E000DD028E7F32C0CC30F0E7DF0721F480914E +:1005F000DD028D7F2AC0CD3020E7D20721F4809123 +:10060000DD028B7F22C0CE3080E7D80719F48091BD +:10061000DD021AC08091DD02CF3090E7D90711F4D6 +:100620008F7E13C0C031E0E7DE0711F48F7D0DC06F +:10063000C131F0E7DF0711F48F7B07C0C231D0472B +:1006400011F48F7702C08B7F877F8093DD028091CA +:10065000DD020E94121C6BC0C11580E7D80741F073 +:10066000C130D047F1F081E080934401809345018F +:10067000C801DF91CF911F910F910C940B02C431EF +:1006800020E7D20708F04BC0C23080E7D80708F057 +:1006900048CFC11590E7D90709F42BCFC130D04717 +:1006A00011F7F8018281882319F38091CC028160CF +:1006B0008093CC023CC0C333E0E7DE07A1F4F8012D +:1006C0008281882321F01092440182E017C080913A +:1006D0004401811106C086E20E94D20F86E20E9488 +:1006E0009A1082E019C0C433D04709F0BCCFF8019A +:1006F0008281882331F01092450180E20E94E91046 +:1007000016C080914501811106C087E20E94D20F78 +:1007100087E20E949A1080E20E94F01008C0C33362 +:10072000F0E7DF0761F2C433D04709F39CCF80E0E4 +:10073000DF91CF911F910F9108950C9405020C94B5 +:1007400009022DE0729FF001112434E3839FE00D34 +:10075000F11D1124E60FF11DEE0FFF1FE65FFE4FA6 +:10076000859194910E945805811540E5940708F001 +:1007700047C0811520E4920708F013C1883E910517 +:1007800020F5803E910508F07CC1883A910578F407 +:10079000853A910508F0A5C08130910509F471C131 +:1007A00008F42EC18430910508F06BC129C18B3B40 +:1007B000910508F4A1C0803C910508F421C1FC0119 +:1007C000EE0FFF1FE657F040E6C0811530E29307B9 +:1007D00058F4811541E0940708F053C1803F91051A +:1007E00008F40EC190650895811520E3920708F082 +:1007F000D5C0FC01FF70EE0FFF1FE65FFE4FCBC0C0 +:10080000811535E5930708F043C0811544E5940749 +:1008100008F0DEC0811522E5920708F5811531E563 +:10082000930708F0C1C0482F437021E030E002C0B8 +:10083000220F331F4A95E2F73C68AC0164E05695FD +:1008400047956A95E1F74370342B8F7086958695AE +:1008500040E2849FC0011124822B932B0895282FFE +:1008600026952695AC01437055278115934508F0D0 +:10087000A0C080E2289F9001112481E090E002C096 +:10088000880F991F4A95E2F7822B932B9C68089555 +:100890008F3240E7940790F48F3120E7920708F0F9 +:1008A000A2C0811536E5930708F497C09C01305625 +:1008B0002115304108F0A4C09F7093C0803320E719 +:1008C000920709F497C008F492C0813340E7940777 +:1008D00009F493C08233904709F092C080E093ED11 +:1008E0000895853A910509F48EC0863A910509F07C +:1008F0008DC082E890E40895883A910509F489C092 +:10090000893A910509F488C08A3A910509F487C0AB +:100910008B3A910509F486C08C3A910509F485C09B +:100920008D3A910509F484C0803B910509F483C098 +:100930008E3A910509F482C08F3A910509F481C07D +:10094000813B910509F480C0823B910509F47FC089 +:10095000833B910509F47EC0843B910509F47DC079 +:10096000853B910509F47CC0863B910509F47BC069 +:10097000873B910509F47AC0883B910509F479C059 +:10098000893B910509F478C08A3B910509F477C049 +:1009900080E094E408958591949108959927906C4E +:1009A00008959F70906A0895982F8827816F906AA4 +:1009B000089590E2299F9001112481E090E002C007 +:1009C000880F991F4A95E2F7822B932B9A68089516 +:1009D000982F8827846F906A08958F719927982F90 +:1009E0008827906208958F519047946D089580E014 +:1009F00091ED089580E090ED089580E092ED0895E6 +:100A000080E090E0089581E890E4089583E890E420 +:100A1000089582EE94E4089589EE94E408958AEEB0 +:100A200094E4089585EB94E4089586EB94E40895A6 +:100A300087EB94E408958CEC94E408958DEC94E4B1 +:100A4000089583E895E408958AE895E4089582E995 +:100A500095E4089584E995E4089581E296E4089583 +:100A600083E296E4089584E296E4089585E296E4AC +:100A7000089586E296E4089587E296E408958AE26E +:100A800096E4089580E090E0089508959DE0799FB0 +:100A9000F001112494E3899FE00DF11D1124E60F6C +:100AA000F11DEE0FFF1FE65FFE4F859194910895B3 +:100AB0008238910549F1B0F48133910509F458C0A9 +:100AC00048F48932910509F44EC08A32910509F43F +:100AD00054C008958533910509F440C089339105C8 +:100AE00099F00895833E910529F138F4803E9105EF +:100AF00091F0823E9105A1F00895863E9105F9F0AE +:100B0000873E910531F108952091DD0220FD3AC024 +:100B100021FD38C008958091DD0280FD35C032C0CE +:100B20008091DD0282FF32C08091DD0284FD30C001 +:100B300083EE39C08091DD0282FD28C0F5CF80911F +:100B4000DD0283FF27C08091DD0284FD21C087EE96 +:100B50002AC08091DD0283FD1DC0F5CF8091DD02AA +:100B600085FD1AC01BC08091DD0285FD17C014C031 +:100B70008091DD0286FD14C015C08091DD0286FDE6 +:100B800011C00EC080EE0FC089E30DC082EE0BC015 +:100B900080E009C086EE07C089E205C085E303C096 +:100BA0008AE201C081E390E0089508950C94D50590 +:100BB000E82FF0E0EF5DFE4F8081E82FEF70F0E06E +:100BC00082958F7021E030E0A90102C0440F551FCB +:100BD0008A95E2F740A308950F931F93CF93DF9375 +:100BE00085B7806885BF85B7806885BFC3E0D0E0E2 +:100BF00001E010E0FE01EF5DFE4F8081E82FEF7015 +:100C0000F0E021A182958F70A80102C0440F551F0A +:100C10008A95E2F7CA01822B81A38C2F0E94D80506 +:100C2000219740F78CE090E061E070E0FC01EC5E21 +:100C3000FE4F2081E22FEF70F0E042A122952F704D +:100C4000DB0102C0AA0FBB1F2A95E2F79D01242BEE +:100C500022A3019758F7DF91CF911F910F910C9428 +:100C60009D03EF92FF920F931F93CF93DF9308E5BD +:100C700011E0C3E0EE24E394F12CD5E08C2F0E9428 +:100C8000D8058CE090E040E050E0FC01EC5EFE4FC7 +:100C90006081E62FEF70F0E020A130E062956F7088 +:100CA00002C0359527956A95E2F720FD09C09701A6 +:100CB000082E02C0220F331F0A94E2F7422B532B57 +:100CC000019718F7F801929182918F018417950787 +:100CD00021F051834083D09300018C2F0E94D805CE +:100CE000C15060F68091000187FD2CC08150809337 +:100CF00000018F3F39F08FE99FE00197F1F700C0C5 +:100D0000000020C0809156019091570190935F019F +:100D100080935E01809154019091550190935D0103 +:100D200080935C01809152019091530190935B01FB +:100D300080935A01809150019091510190935901F3 +:100D4000809358010E949F0381E0DF91CF911F9112 +:100D50000F91FF90EF900895E82FF0E0EE0FFF1F46 +:100D6000E85AFE4F808191810895089580916C0129 +:100D700008950F931F93CF93DF9300D000D01F925D +:100D8000CDB7DEB79C018091610190916201281777 +:100D9000390709F493C03093620120936101223E28 +:100DA0003105F1F1293E310559F12A3E310559F15C +:100DB000253B310559F1263B310551F1273B3105E2 +:100DC00051F12C3C310561F12D3C310531F12338D5 +:100DD00081E0380729F12A3891E0390709F12239F1 +:100DE00081E03807E9F0243991E03907C9F0213270 +:100DF00082E03807B9F0233292E0390789F415C050 +:100E000090E040E114C090E040E211C092E001C0E7 +:100E100094E040E00CC090E1FCCF90E040E407C0DB +:100E200090E0F7CF90E044E002C090E041E089011B +:100E30008DEF4C839D830E94560E80E00E94560EDB +:100E400082E00E94560E4C81842F0E94560E9D8196 +:100E5000892F0E94560E80E00E94560E80E00E946C +:100E6000560E80E00E94560E80E00E94560E809141 +:100E7000E302843019F583E089831B830A8380931E +:100E8000E9008FEF9091E800815095FD06C095ED47 +:100E90009A95F1F700008111F5CF8091E80085FF68 +:100EA0000DC040E050E063E070E0CE0101960E948A +:100EB000C4098091E8008E778093E8000F900F902E +:100EC0000F900F900F90DF91CF911F910F91089588 +:100ED000CF93DF9300D01F92CDB7DEB72091E3020E +:100EE000243021F522E029839B838A8383E0809349 +:100EF000E9008FEF9091E800815095FD06C095EDD7 +:100F00009A95F1F700008111F5CF8091E80085FFF7 +:100F10000DC040E050E063E070E0CE0101960E9419 +:100F2000C4098091E8008E778093E8000F900F90BD +:100F30000F90DF91CF910895CF93DF93EC018DEF68 +:100F40000E94560E80E00E94560E83E00E94560ECC +:100F500088810E94560E89810E94560E8A810E94C5 +:100F6000560E8B810E94560E8C810E94560E80E098 +:100F70000E94560E8091E3028430F9F482E080935F +:100F8000E9008FEF9091E800815095FD06C095ED46 +:100F90009A95F1F700008111F5CF8091E80085FF67 +:100FA0000CC040E050E065E070E0CE010E94C40952 +:100FB0008091E8008E778093E800DF91CF910895CB +:100FC000EF92FF920F931F93CF93DF93EC018DEF7E +:100FD0000E94560E8E017E0188E0E80EF11CF80199 +:100FE00081918F010E94560E0E151F05C1F7809149 +:100FF000E302843039F581E08093E9008FEF90912E +:10100000E800815095FD06C0F5EDFA95F1F7000076 +:101010008111F5CF8091E80085FF14C040E050E0D9 +:1010200068E070E0CE010E94C4098091E8008E77EC +:101030008093E80088E0FE01A4E6B1E001900D9203 +:101040008A95E1F7DF91CF911F910F91FF90EF907B +:1010500008958091E202811109C00E94590B0E94FB +:10106000B60B8091E20084608093E20008951092B4 +:10107000E2020895089508950C94A7192091600143 +:101080002F5F822F62E30E942222992319F020937E +:10109000600108951092600180916301882371F1CD +:1010A0008091E302843041F58091E9008F702091B6 +:1010B000EC00922F917020FD90E8892B94E09093A2 +:1010C000E9009091EB0090FF14C09091EE0097FF23 +:1010D00010C09091E80095FF03C01092F100F9CF85 +:1010E0009091E80090FF05C09091E8009E77909362 +:1010F000E8008F708093E90010926301089542E048 +:1011000061EC81E00E94D30A42E061EC82E00E943F +:10111000D30A42E061EC83E00E94D30A42E261EC30 +:1011200084E00C94D30A8091E502833009F453C023 +:1011300030F4813071F0823009F48CC008958A3027 +:1011400009F478C08B3009F45EC0893009F09AC088 +:1011500020C08091E402813A09F094C08091E800B7 +:10116000877F8093E8008091E8029091E902892BC3 +:1011700021F468E084E691E003C060E080E090E064 +:1011800070E00E940F0A8091E8008B778093E8005E +:1011900008958091E402813209F074C08091E802E0 +:1011A0009091E902892B09F06DC08091E800877F5A +:1011B0008093E8008091E80082FD05C08091E30201 +:1011C0008111F8CF5FC08091F10080936C01809114 +:1011D000E8008B7753C08091E402813A09F052C055 +:1011E0008091E8029091E902892B09F04BC080912F +:1011F000E800877F8093E8008091E80080FFFCCFC3 +:1012000080910B0136C08091E4028132D9F5809142 +:10121000E8029091E902892BA9F58091E800877F87 +:101220008093E8000E94080B8091E60280930B01F6 +:101230000C947D138091E402813221F58091E800C5 +:10124000877F8093E8000E94080B8091E7028093DB +:101250006D0108958091E402813AA1F48091E80043 +:10126000877F8093E8008091E80080FFFCCF809129 +:101270006D018093F1008091E8008E778093E80003 +:101280000C94080B089584B7877F84BF88E10FB65C +:10129000F89480936000109260000FBE80E8809305 +:1012A0006100109261000E94EA0E0E94590B0E9498 +:1012B000B60B8091E20084608093E20078940E94F3 +:1012C000580E0E943B0E0E94EC0E81E091E00E94BD +:1012D000960E0E94F40EFDCF292F332723303105BF +:1012E000C9F064F42130310581F02230310509F074 +:1012F00043C084E790E026E931E042C02132310565 +:10130000F1F02232310541F137C082E190E02AE06C +:1013100032E036C099278130910541F08230910545 +:1013200041F0892B49F5E2E9F1E005C0EEE7F1E093 +:1013300002C0E2E7F1E0849190E09F0121C06430B7 +:10134000D8F4E62FF0E0EE0FFF1FEF5CFE4F208198 +:10135000318189E090E014C0643070F470E0FB01EA +:10136000EE0FFF1FE75DFE4F20813181FB01EB5D3A +:10137000FE4F808190E004C080E090E020E030E00B +:10138000FA01318320830895CF92DF92EF92FF928A +:101390000F931F93CF93DF93EC018B016A010E949F +:1013A000270B811133C0C114D10439F0F6018081BB +:1013B0009181081B190BC80FD91FE12CF12C0115C5 +:1013C000110519F18091E80085FD16C08091E800B3 +:1013D0008E778093E800C114D10449F0F601808132 +:1013E0009181E80EF91EF182E08285E00FC00E9433 +:1013F000270B882321F30AC089918093F1000150C3 +:101400001109FFEFEF1AFF0ADACF80E0DF91CF91E9 +:101410001F910F91FF90EF90DF90CF900895209152 +:10142000EA023091EB022617370748F06115710583 +:1014300039F42091E8002E772093E80001C0B9012B +:1014400040E061157105A9F12091E302222309F41E +:1014500043C0253009F442C02091E80023FD40C07C +:101460002091E80022FD32C02091E80020FFE9CF62 +:101470004091F3002091F20030E0342BFC01CF01C9 +:101480006115710559F02830310540F48191809340 +:10149000F100615071092F5F3F4FF1CF41E02830DB +:1014A000310509F040E02091E8002E772093E80014 +:1014B000C8CF4111C9CF0AC08091E302882361F0EF +:1014C000853061F08091E80083FD0AC08091E800DA +:1014D00082FFF2CF80E0089582E0089583E00895CE +:1014E00081E008952091EA023091EB022617370738 +:1014F00048F06115710539F42091E8002E772093AA +:10150000E80001C0B901FC0120E06115710591F10D +:101510008091E302882309F440C0853009F43FC07C +:101520008091E80083FD3DC08091E80082FD2FC0DE +:101530008091E80080FFE9CF2091F3008091F200D4 +:1015400090E0922B6115710559F08830910540F4B7 +:1015500024912093F1003196615071090196F2CFE8 +:1015600021E0089709F020E08091E8008E778093D1 +:10157000E800CBCF2111CCCF0AC08091E3028823B1 +:1015800061F0853061F08091E80083FD0AC08091B0 +:10159000E80082FFF2CF80E0089582E0089583E0C2 +:1015A000089581E00895982F973058F59093E900B9 +:1015B000981739F07091EC002091ED005091F000F7 +:1015C00003C0242F762F50E021FF19C03091EB008B +:1015D0003E7F3093EB003091ED003D7F3093ED0086 +:1015E0003091EB0031603093EB007093EC0020936E +:1015F000ED005093F0002091EE0027FF07C09F5FA1 +:10160000D3CF8F708093E90081E0089580E0089542 +:101610008091E40287FF11C08091E80082FD05C03F +:101620008091E3028111F8CF11C08091E8008B779F +:101630000BC08091E302882349F08091E80080FF8D +:10164000F8CF8091E8008E778093E800089520918C +:10165000E4003091E50095E64091EC00842F817024 +:1016600040FF22C08091E80080FD1CC08091E30211 +:10167000882391F0853091F08091EB0085FD10C0BA +:101680004091E4005091E5004217530729F39A0175 +:10169000915011F784E0089582E0089583E0089561 +:1016A00081E0089580E008954091E80042FFDECF98 +:1016B00008950E94C70B0E94CF0BE0EEF0E08081FE +:1016C00081608083E8EDF0E080818F77808319BCB2 +:1016D000A7EDB0E08C918E7F8C9380818F7E80838C +:1016E0001092E20208950F931F93CF93DF930E940D +:1016F000C70B0E94CF0BC8EDD0E088818F7788831D +:1017000088818068888388818F7D888319BC109246 +:10171000E3021092DF021092E1021092E00200EE6A +:1017200010E0F80180818B7F8083888181608883CD +:1017300042E060E080E00E94D30AE1EEF0E08081C8 +:101740008E7F8083E2EEF0E0808181608083808103 +:1017500088608083F80180818E7F808388818061AA +:101760008883DF91CF911F910F910895E8EDF0E00C +:1017700080818F7E8083E7EDF0E0808181608083CF +:1017800084E082BF81E08093E2020C94730BE8ED69 +:10179000F0E080818E7F80831092E20008951092A5 +:1017A000DA001092E10008951F920F920FB60F9287 +:1017B00011242F933F934F935F936F937F938F9356 +:1017C0009F93AF93BF93EF93FF938091E10082FFCC +:1017D0000BC08091E20082FF07C08091E1008B7F07 +:1017E0008093E1000E943E088091DA0080FF1FC0D4 +:1017F0008091D80080FF1BC08091DA008E7F80939B +:10180000DA008091D90080FF0DC080E189BD82E1BE +:1018100089BD09B400FEFDCF81E08093E3020E9400 +:10182000290805C019BC1092E3020E943708809174 +:10183000E10080FF19C08091E20080FF15C0809117 +:10184000E2008E7F8093E2008091E20080618093CD +:10185000E2008091D80080628093D80019BC85E0B6 +:101860008093E3020E943B088091E10084FF30C036 +:101870008091E20084FF2CC080E189BD82E189BDB6 +:1018800009B400FEFDCF8091D8008F7D8093D800F1 +:101890008091E1008F7E8093E1008091E2008F7E55 +:1018A0008093E2008091E20081608093E200809169 +:1018B000DF02882311F084E007C08091E30087FDF8 +:1018C00002C081E001C083E08093E3020E943C08F3 +:1018D0008091E10083FF29C08091E20083FF25C051 +:1018E0008091E100877F8093E10082E08093E302B2 +:1018F0001092DF028091E1008E7F8093E100809161 +:10190000E2008E7F8093E2008091E200806180930C +:10191000E20042E060E080E00E94D30A8091F000A3 +:1019200088608093F0000E943A08FF91EF91BF9188 +:10193000AF919F918F917F916F915F914F913F9167 +:101940002F910F900FBE0F901F9018951F920F921E +:101950000FB60F9211242F933F934F935F936F9382 +:101960007F938F939F93AF93BF93CF93DF93EF9327 +:10197000FF93C091E900CF708091EC00D82FD17017 +:1019800080FDD0E81092E9008091F000877F80937D +:10199000F00078940E94EA0C1092E9008091F00027 +:1019A00088608093F000CD2BCF70C093E900FF9149 +:1019B000EF91DF91CF91BF91AF919F918F917F91E7 +:1019C0006F915F914F913F912F910F900FBE0F90AC +:1019D0001F9018951F93CF93DF93CDB7DEB7AA97CB +:1019E0000FB6F894DEBF0FBECDBFE4EEF2E088E0A4 +:1019F0008E0F9091F10091938E13FBCF0E9493086C +:101A00008091E80083FF1FC18091E4029091E5027C +:101A1000492F50E04A30510508F015C1FA01EA5A41 +:101A2000FF4F0C944222803881F0823809F00BC1BC +:101A30008091E8028F708093E9008091EB0085FB34 +:101A4000882780F91092E90006C08091E002909109 +:101A5000E102911182609091E800977F9093E800F5 +:101A60008093F1001092F100C8C0282F2D7F09F05B +:101A7000EAC0882319F0823061F0E5C08091E60267 +:101A8000813009F0E0C0933009F080E08093E102FA +:101A90002BC08091E602811127C08091E8028F70EF +:101AA00009F4D1C08093E9002091EB0020FF1CC015 +:101AB000933021F48091EB00806214C09091EB0090 +:101AC00090619093EB0021E030E0A90102C0440F47 +:101AD000551F8A95E2F74093EA001092EA00809140 +:101AE000EB0088608093EB001092E9008091E800A1 +:101AF000877F86C08111A7C01091E6021F77809171 +:101B0000E3008078812B8093E3008091E800877F59 +:101B10008093E8000E94080B8091E80080FFFCCFD2 +:101B20008091E30080688093E300111102C082E09D +:101B300001C083E08093E30286C08058823008F0C1 +:101B400082C08091E6029091E7028C3D53E09507B8 +:101B500079F583E08A838AE289834FB7F894DE01BE +:101B6000139620E03EE051E2E32FF0E0509357005F +:101B7000E49120FF03C0E295EF703F5FEF708E2F7E +:101B800090E0EA3010F0C79601C0C0968D939D9307 +:101B90002F5F243149F74FBF8091E800877F809302 +:101BA000E8006AE270E0CE0101960E940F0A14C0BC +:101BB000AE014F5F5F4F6091E8020E946C09BC016B +:101BC000009709F440C09091E800977F9093E80057 +:101BD00089819A810E94720A8091E8008B778093B4 +:101BE000E80031C0803879F58091E800877F8093E4 +:101BF000E8008091DF028093F1008091E8008E7709 +:101C00008093E8000E94080B1EC081111CC09091B7 +:101C1000E6029230C0F48091E800877F8093E8006C +:101C20009093DF020E94080B8091DF02811106C0B1 +:101C30008091E30087FD02C081E001C084E08093D1 +:101C4000E3020E947F088091E80083FF0AC0809130 +:101C5000E800877F8093E8008091EB0080628093AA +:101C6000EB00AA960FB6F894DEBF0FBECDBFDF9192 +:101C7000CF911F910895CF938091E3028823A1F023 +:101C8000C091E900CF709091EC00892F817090FD98 +:101C900080E8C82B1092E9008091E80083FD0E9443 +:101CA000EA0CCF70C093E900CF9108950C94650EB3 +:101CB00087E68093CC001092CD0088E08093C90025 +:101CC00086E08093CA00789408959091C80095FFAB +:101CD000FCCF8093CE0008951F920F920FB60F9203 +:101CE00011242F933F934F938F939F93EF93FF93E1 +:101CF00080916F0190E09C012F5F3F4F40916E01FA +:101D0000421741F03091CE00FC01E059FE4F308384 +:101D100020936F01FF91EF919F918F914F913F9190 +:101D20002F910F900FBE0F901F90189590937502F2 +:101D3000809374020895E0917402F09175023097D7 +:101D400021F00190F081E02D099480E00895E09168 +:101D50007402F0917502309721F00280F381E02D3A +:101D600009940895E0917402F0917502309721F082 +:101D70000480F581E02D099408952091720230913C +:101D800073028217930771F090937302809372022B +:101D9000E0917402F0917502309721F00680F7818E +:101DA000E02D0994089520917002309171028217FC +:101DB000930771F09093710280937002E091740226 +:101DC000F0917502309721F00084F185E02D09949F +:101DD000089508950C94E90E0E94DB190E94EC0509 +:101DE0000E94A91A0C9469205F926F927F928F9241 +:101DF0009F92AF92BF92CF92DF92EF92FF920F939A +:101E00001F93CF93DF9300D000D01F92CDB7DEB7E2 +:101E10000E9431069FE7C92E92E0D92E03E010E020 +:101E2000AA24A394B12C502E802F0E94AC064C0102 +:101E3000F601729062906F01682679266114710430 +:101E4000A1F40150110978F78FEF89838A831B82EF +:101E50000E94E4198160782F9D838C8349815A8187 +:101E60006B818D810E94A40F38C08091CC0281FDCE +:101E70000E94B5062CE030E07501022E02C0EE0C87 +:101E8000FF1C0A94E2F7C70186219721892B09F1EB +:101E900029835A828E209F2091E0892809F490E0BE +:101EA0009B830E94E4198160782F9D838C834981F4 +:101EB0005A816B818D810E94A40F000F111FF801C0 +:101EC000E958FD4F80819181E826F926F182E08270 +:101ED00004C02150310980F6B4CF0E949A1D1091A0 +:101EE00076020E949B0E1817D1F00E949B0E8093E1 +:101EF00076020F900F900F900F900F90DF91CF917F +:101F00001F910F91FF90EF90DF90CF90BF90AF9017 +:101F10009F908F907F906F905F900C94D6050F905C +:101F20000F900F900F900F90DF91CF911F910F9115 +:101F3000FF90EF90DF90CF90BF90AF909F908F90E9 +:101F40007F906F905F900895CF93DF93CDB7DEB70A +:101F50002B970FB6F894DEBF0FBECDBF4F835887C7 +:101F600069877A878B87DE01119686E0FD011192E1 +:101F70008A95E9F785E0FE01379601900D928A95E2 +:101F8000E1F749815A816B817C818D819E810E941C +:101F90001B162B960FB6F894DEBF0FBECDBFDF9198 +:101FA000CF910895CF93882309F4C2C0C82F8238F7 +:101FB00059F40E949B0E81FDBBC089E30E94F51875 +:101FC0000E94781989E30CC0833879F40E949B0E33 +:101FD00080FDAEC083E50E94F5180E94781983E564 +:101FE0000E941219CF910C947819843859F40E94E8 +:101FF0009B0E82FD9DC087E40E94F5180E9478190F +:1020000087E4EECF8CEF8C0F813A48F48C2F0E943E +:10201000D21F81118DC08C2F0E94F518E3CF80E272 +:102020008C0F883048F4C77081E001C0880FCA95D2 +:10203000EAF70E943119D6CF8BE58C0F833078F404 +:10204000C53A29F0C63A31F083E890E005C081E84E +:1020500090E002C082E890E0CF910C94BD0E88E53C +:102060008C0F833108F064C0C83A39F1C93A41F1A4 +:10207000CA3A49F1CB3A51F1CC3A59F1CD3A61F132 +:10208000C03B69F1CE3A71F1CF3A79F1C13B81F1B0 +:10209000C23B89F1C33B91F1C43B99F1C53BA1F12E +:1020A000C63BA9F1C73BB1F1C83BB9F1C93BC1F18E +:1020B000CA3BC9F180E090E038C082EE90E035C0C4 +:1020C00089EE90E032C08AEE90E02FC085EB90E080 +:1020D0002CC086EB90E029C087EB90E026C08CEC0A +:1020E00090E023C08DEC90E020C083E891E01DC01B +:1020F0008AE891E01AC082E991E017C084E991E092 +:1021000014C081E292E011C083E292E00EC084E24A +:1021100092E00BC085E292E008C086E292E005C042 +:1021200087E292E002C08AE292E0CF910C94D30E53 +:10213000CF910895882309F44BC0823859F40E9446 +:102140009B0E81FF45C089E30E94F5180E94781913 +:1021500089E30CC0833871F40E949B0E80FF38C065 +:1021600083E50E94F5180E94781983E50E941219F0 +:102170000C947819843859F40E949B0E82FF28C071 +:1021800087E40E94F5180E94781987E4EFCF9CEF4E +:10219000980F913A58F390E2980F983050F4877066 +:1021A00091E001C0990F8A95EAF7892F0E943719AB +:1021B000DFCF9BE5980F933020F480E090E00C9403 +:1021C000BD0E885A833120F480E090E00C94D30E49 +:1021D0000895882321F00E9431190C9478190895EC +:1021E000882321F00E9437190C94781908957F9262 +:1021F0008F929F92AF92BF92CF92DF92EF92FF9217 +:102200000F931F93CF93DF931F92CDB7DEB77C015F +:10221000C62E772EFC01058102950F7012811111D7 +:102220000E944E190E94EE18882379F0112369F05C +:1022300080E28C0D883048F082E00E94D7180E941E +:10224000EE1891E0D82ED92601C0D12CE72DE295C9 +:10225000EF70F0E0E05AFF4F0C944222872D807F10 +:10226000072D0F70882311F00295007F112389F04C +:10227000002309F499C180E28C0D883020F4802F6E +:102280000E94311903C0802F0E9441190E947819C1 +:102290008BC18C2D0E949A10002309F4C3C180E2E7 +:1022A0008C0D883020F4802F0E94371903C0802FB6 +:1022B0000E9447190E947819B5C1872D807F972DFC +:1022C0009F70803211F4892F03C0892F8295807FFF +:1022D000CC2021F0F1E0CF16A1F01DC0112339F080 +:1022E000002319F1013009F50E9461199BC10023F7 +:1022F00019F0013009F496C189830E94641989811B +:1023000010C1112321F0063008F08CC10EC0053039 +:1023100008F088C106C1112359F0002331F0F701FC +:10232000958190FF41C19F7095830E94E9107AC109 +:10233000002309F4F6C03EC1872D869586958370EB +:1023400090E0009719F0019761F06CC1112321F022 +:102350008C2D972D937002C080E090E00E94BD0EFE +:1023600061C1112321F08C2D972D937002C080E064 +:1023700090E00E94D30E56C18C2D112319F00E94BB +:10238000A21C02C00E940A1D0E948F1D4BC1872DF6 +:10239000837009F052C0111145C18C2D829586952C +:1023A0008770880F880F9C2D9F70892E912CA12CEF +:1023B000B12C082E04C0880C991CAA1CBB1C0A94C2 +:1023C000D2F7C4FE14C00FE010E020E030E0B90105 +:1023D000A80104C0440F551F661F771F8A95D2F7C6 +:1023E000CB01BA01609570958095909503C060E02F +:1023F00070E0CB01272D26952695237030E0223002 +:10240000310569F02330310589F0682979298A2955 +:102410009B292130310571F00E94631703C168299F +:1024200079298A299B290E947F17FCC00E94631783 +:10243000C501B4010E944717F5C0112319F0872D7B +:10244000817001C08695882309F4ECC08C2D82959B +:1024500086958770880F880F9C2D9F70892E912CF0 +:10246000A12CB12C082E04C0880C991CAA1CBB1CE2 +:102470000A94D2F7C4FE14C00FE010E020E030E070 +:10248000B901A80104C0440F551F661F771F8A9524 +:10249000D2F7CB01BA01609570958095909503C0F5 +:1024A00060E070E0CB01272D269526952370422F02 +:1024B00050E04230510569F04330510589F06829F8 +:1024C00079298A299B294130510571F00E943D18D4 +:1024D000A9C0682979298A299B290E945918A2C074 +:1024E0000E943D18C501B4010E9421189BC08C2D8B +:1024F00090E0FC01E05EF109E531F10508F050C023 +:10250000E059FF4F0C9442220C2D0F70872D8F71D4 +:10251000112321F00E94BA17802F07CF0E94DB17EA +:10252000802F0E94F0107EC0112341F0053008F08A +:1025300079C0872D8F710E94001874C0063008F092 +:1025400071C0F7CF112339F0872D8F710E94BA1710 +:1025500069C01123C9F3872D8F710E94DB1762C0F8 +:10256000112329F0872D8F710E94A5175BC00E944F +:102570009B1758C0112351F0172D1F71812F0E94F6 +:10258000BA1763E0812F0E94CE184CC081E00E94F0 +:10259000D718023008F446C082E00E94D71842C023 +:1025A000112331F0002381F28C2D0E94D20F3AC00A +:1025B000002389F28C2D0E949A1034C0472D4F7051 +:1025C0006C2DC7010E9442050E94BF162BC011113D +:1025D00029C0472D4F7050E042305105B9F04CF4FE +:1025E0004115510581F041305105E1F40E949120DF +:1025F00019C04330510569F04430510599F48C2DD0 +:102600000E94E3200FC00E947A200CC00E94AD20DF +:1026100009C00E94C02006C0472D4F706C2DC70115 +:102620000E944505DD20F9F00E94CA1880FD1BC0FC +:10263000F70112820E94C4180E94BA17C7010E94B3 +:1026400042130E94C4180F90DF91CF911F910F91F8 +:10265000FF90EF90DF90CF90BF90AF909F908F90C2 +:102660007F900C94DB170F90DF91CF911F910F910A +:10267000FF90EF90DF90CF90BF90AF909F908F90A2 +:102680007F9008950F931F93CF93DF93EC01888180 +:1026900099812B813C81232BB9F09F3F11F48F3F0F +:1026A00099F0CE010E941202882371F0688179812D +:1026B0008A810E94C0188C010E9475180E943C17E4 +:1026C000B801CE010E94F710DF91CF911F910F91B9 +:1026D00008950E944E190E945E190E9423190E94BB +:1026E00078190E94401E0E948F1D80E090E00E9499 +:1026F000BD0E80E090E00C94D30E0E943E190C9425 +:1027000069130E94B518292F22952F7030E02C30C4 +:1027100031054CF42A3031056CF422503109223055 +:102720003105A8F407C02C30310569F02F30310590 +:1027300051F00DC0803F69F018F4803E40F409C0AC +:10274000843F29F406C093FB882780F9089580E030 +:10275000089581E00895CF93DF9300D000D01F92B9 +:10276000CDB7DEB70F900F900F900F900F90DF91C5 +:10277000CF910895CF93DF9300D000D000D0CDB794 +:10278000DEB726960FB6F894DEBF0FBECDBFDF9141 +:10279000CF9108951F93CF93DF93C0917F0216E0EE +:1027A00080918002C81799F0D0E01C9FF0011D9F16 +:1027B000F00D1124EF57FD4F4081518162817381EB +:1027C000848195810E94BA132196C770E9CFDF9169 +:1027D000CF911F9108954091B1025091B202609142 +:1027E000B3027091B4028091B5029091B6020C943C +:1027F000BA138091B60282958F7009F054C080910F +:10280000B302882309F44FC080917F02A091800217 +:102810006091B1027091B2024091B4025091B50240 +:10282000B6E08A1709F43FC090E041155105C1F1A7 +:102830007F3F11F46F3FA1F1B89FF001B99FF00DF8 +:102840001124EF57FD4F218172132AC0208162139A +:1028500027C02281211124C0238134812417350708 +:1028600010F421503109241B350B283C3105C0F4EC +:102870002091B6022F7020612093B60226E0289F97 +:10288000F001299FF00D1124EA57FD4F80818F70D0 +:102890008061808381EB92E00E9442130C94CA1302 +:1028A00001968770BECF0895CF92DF92EF92FF928C +:1028B0000F931F93CF93DF93CDB7DEB762970FB619 +:1028C000F894DEBF0FBECDBF8C0185E0F801DE01BC +:1028D0001D9601900D928A95E1F7D8014C911196C1 +:1028E0005C91119712966C9112971396CD90DC9093 +:1028F00014973091B1027091B2028091B40290911C +:10290000B502009709F46BC17F3F19F43F3F09F40A +:1029100066C1E090B302EE2009F4C0C02091B60277 +:10292000C816D90628F0F601E81BF90BCF0104C040 +:10293000809590958C0D9D1DFF24F394883C910506 +:1029400078F0F12C207F09F0C6C07C2DD98AC88A86 +:1029500089890E94AB1381EB92E00E944213B1C0BF +:10296000822F807F09F046C0751314C0341312C043 +:10297000611110C02F7020612093B6020E94EB13EA +:1029800081EB92E00E9442138091B602D801159625 +:102990008C932EC0CD2819F15F3F11F44F3FF9F011 +:1029A000F62E61111CC080917F022091800236E0DA +:1029B000821709F45AC090E0389FF001399FF00D5A +:1029C0001124EF57FD4F7181571306C070814713D3 +:1029D00003C07281711103C001968770E9CFF62E92 +:1029E000662309F418C18091B60281608093B60213 +:1029F000F12C11C1751308C0341306C0611104C055 +:102A00008091B602D801C3C04D875E878D859E85B3 +:102A10006A8B0E9481136A898823E1F16623D1F1D0 +:102A20002091B602822F82958F7090E0029774F009 +:102A30008091B1029091B20298878F831986DB86CC +:102A4000CA862C87CE0107960E94421386E0F801C1 +:102A5000A1EBB2E001900D928A95E1F70E94F91383 +:102A60000E94EB13FF24F394D6C04D875E878D85BB +:102A70009E850E94B518292F22952F7030E02230B4 +:102A800031050CF0BCC09F7009F0B6C0805E883084 +:102A900008F4C1C0C8010E944213E4CFC816D90689 +:102AA00008F453C0F601E81BF90BCF01883C9105EF +:102AB00008F450C0F12C7C2DD98AC88A89890E94DB +:102AC000AB13E1EBF2E086E0DF011D928A95E9F7B6 +:102AD0000E94EB13A0C0751314C0341312C061110F +:102AE00010C08091B602F8018583C8010E9442138C +:102AF00086E0E1EBF2E0DF011D928A95E9F7FE2C1A +:102B00008AC04D875E878D859E856A8B0E94811362 +:102B10006A89882309F4BECF662309F4BBCF2091CC +:102B2000B602822F82958F7090E002970CF48ECFC0 +:102B30008091B1029091B2029A8389831B82DD82D7 +:102B4000CC822E83CE0101967FCF809590958C0DFF +:102B50009D1DACCFF62E662309F49CCF75132EC0B5 +:102B600034132CC02091B60220FD1FC0822F829505 +:102B70008F70D9F0D80115962C9315978F3049F0A6 +:102B80008F5F982F9295907F822F8F70892B15964B +:102B90008C93C8010E94421386E0F801A1EBB2E0D9 +:102BA00001900D928A95E1F793CF86E0F801A1EBB1 +:102BB000B2E001900D928A95E1F72DC04D875E87B6 +:102BC0008D859E850E948113811140CF8091B60230 +:102BD00081608093B602C8010E9442131CC0662324 +:102BE00009F458CF4D875E878D859E850E9481139D +:102BF000882309F44FCF2ACF811148CF0CC024304D +:102C000031050CF047CF9F7009F440CFF801958152 +:102C1000907F09F03BCF8F2D62960FB6F894DEBF00 +:102C20000FBECDBFDF91CF911F910F91FF90EF901D +:102C3000DF90CF9008951F93CF93DF93CDB7DEB78A +:102C40002C970FB6F894DEBF0FBECDBF4F835887C9 +:102C500069877A878B879C87CE0107960E945414D8 +:102C6000882369F08F8198852A853B85232BF1F194 +:102C70009F3F09F063C08F3F09F060C037C086E016 +:102C8000FE013796DE01119601900D928A95E1F7CB +:102C90006F817885EA85FB85309741F17F3F11F49C +:102CA0006F3F21F12091800230E0C90101968770C9 +:102CB000992740917F0250E08417950709F447C097 +:102CC00069837A83FD83EC8396E0929FD001939F82 +:102CD000B00D1124AF57BD4FFE01319601900D92FA +:102CE0009A95E1F7809380020E94CA1316E08091C2 +:102CF0007F02909180028917C1F1189FC0011124B1 +:102D00008F579D4F0E945414882379F1E0917F02E0 +:102D10001E9FF0011124EF57FD4F408151816281C8 +:102D20007381848195810E94BA1380917F0290E023 +:102D300001968770992780937F02D9CF4F8158855C +:102D400069857A858B859C850E94BA13CFCF0E94B6 +:102D50007D131092800210927F02E1EBF2E086E098 +:102D6000DF011D928A95E9F7C1CF2C960FB6F89432 +:102D7000DEBF0FBECDBFDF91CF911F910895EF92BF +:102D8000FF920F931F93CF93DF938C01009709F469 +:102D90006CC0F12CEE24E394E8012196F8018491B3 +:102DA000843740F4843008F051C0813081F08230A3 +:102DB00019F15BC0853709F444C0A8F19CE7980F6E +:102DC000903708F052C08F770E949A1041C00E5F72 +:102DD0001F4FFE01C49180E28C0F883048F4C77009 +:102DE0008E2D01C0880FCA95EAF70E94511914C0B0 +:102DF0008C2F0E94D20F2DC00E5F1F4FFE01C49179 +:102E000080E28C0F883058F4C7708E2D01C0880F77 +:102E1000CA95EAF70E9457190E9478191AC08C2F98 +:102E20000E949A1016C00E5F1F4FFE01C491CC2362 +:102E300081F08FE99FE00197F1F700C00000C150D9 +:102E4000F6CF0E5F1F4FFE01F49003C00E94D20F19 +:102E50008E018F2D882309F49FCFEFE9FFE0319792 +:102E6000F1F700C000008150F5CFDF91CF911F91A5 +:102E70000F91FF90EF90089508956093BB027093B7 +:102E8000BC028093BD029093BE020C9469130F9311 +:102E90001F930091BB021091BC022091BD023091A2 +:102EA000BE02DC01CB01802B912BA22BB32B809394 +:102EB000BB029093BC02A093BD02B093BE021F91CF +:102EC0000F910C9469130F931F930091BB02109103 +:102ED000BC022091BD023091BE02DC01CB018023F7 +:102EE0009123A223B3238093BB029093BC02A093AF +:102EF000BD02B093BE021F910F910C9469130F9302 +:102F00001F930091BB021091BC022091BD02309131 +:102F1000BE02DC01CB0180279127A227B327809333 +:102F2000BB029093BC02A093BD02B093BE021F915E +:102F30000F910C9469131092B7021092B80210927C +:102F4000B9021092BA020C94691341E050E060E0BB +:102F500070E004C0440F551F661F771F8A95D2F793 +:102F60004093B7025093B8026093B9027093BA02CB +:102F70000C94691341E050E060E070E004C0440F3D +:102F8000551F661F771F8A95D2F78091B7029091DF +:102F9000B802A091B902B091BA02482B592B6A2B02 +:102FA0007B2B4093B7025093B8026093B9027093A1 +:102FB000BA020C94691341E050E060E070E004C094 +:102FC000440F551F661F771F8A95D2F7409550957D +:102FD000609570958091B7029091B802A091B90266 +:102FE000B091BA02482359236A237B234093B70246 +:102FF0005093B8026093B9027093BA020C946913AB +:1030000041E050E060E070E004C0440F551F661FCF +:10301000771F8A95D2F78091B7029091B802A0915C +:10302000B902B091BA02482759276A277B274093F3 +:10303000B7025093B8026093B9027093BA020C942D +:1030400069130F931F930091B7021091B80220915A +:10305000B9023091BA02DC01CB01802B912BA22B5B +:10306000B32B8093B7029093B802A093B902B093A8 +:10307000BA021F910F910C9469130F931F93009143 +:10308000B7021091B8022091B9023091BA02DC0166 +:10309000CB0180239123A223B3238093B702909383 +:1030A000B802A093B902B093BA021F910F910C9489 +:1030B00069130F931F930091B7021091B8022091EA +:1030C000B9023091BA02DC01CB0180279127A227F7 +:1030D000B3278093B7029093B802A093B902B0933C +:1030E000BA021F910F910C9469130895CF92DF9249 +:1030F000EF92FF920F931F93CF93DF938C01C090B9 +:10310000BB02D090BC02E090BD02F090BE02809164 +:10311000B7029091B802A091B902B091BA02C82A40 +:10312000D92AEA2AFB2ACFE1D0E0D701C6010C2E2A +:1031300004C0B695A795979587950A94D2F780FF16 +:1031400006C0B8018C2F0E94A103019721F421979A +:1031500060F780E001C08C2FDF91CF911F910F911C +:10316000FF90EF90DF90CF900895CF93DF93EC0125 +:103170000E947618BE010E94A103DF91CF910895AD +:10318000CB010E94B51808958091BF028595859561 +:10319000859508958091BF028770089598E0899F72 +:1031A00090011124262B2093BF020C94BA17209172 +:1031B000BF02809582238093BF02982F977069F495 +:1031C00030E0482F552747FD50952417350729F043 +:1031D0008595859585950C94DB1708959091BF0290 +:1031E000977081E009F480E0089520910C013091FE +:1031F0000D01F90132969FEF40E05191581789F087 +:103200009F3F19F4511101C0942F4F5F4630A9F729 +:103210009F3F39F0F901E90FF11D97FDFA9582837F +:103220000895089520910C0130910D01F901329615 +:10323000285F3F4F9081981301C010823196E217AA +:10324000F307C1F7089581E090E0E0910C01F0915F +:103250000D01E80FF91F1082019688309105A9F73A +:1032600008959091CB02892B8093CB02089580958D +:103270009091CB0289238093CB0208951092CB02C8 +:1032800008959091CA02892B8093CA02089580956F +:103290009091CA0289238093CA0208951092CA02AB +:1032A00008959091C902892B8093C9020895809551 +:1032B0009091C90289238093C90208951092C9028E +:1032C00008958093C00208951092C00208958091DD +:1032D0000C0190910D01FC0131969C01285F3F4F3C +:1032E00080E0919191118F5FE217F307D1F7089574 +:1032F000E0910C01F0910D018091CB028083E0916F +:103300000C01F0910D0190818091CA02892B80837C +:10331000E0910C01F0910D0190818091C902892BFF +:1033200080838091C002882361F0E0910C01F091CC +:103330000D019081892B80830E9467198111109261 +:10334000C00280910C0190910D010C94A70E0E9477 +:103350007D1380E00E94D8010E9469200E949B0E8C +:103360000C94D6051F920F920FB60F9211248F93D3 +:103370009F93AF93BF938091CD02811113C0809131 +:10338000CE029091CF02A091D002B091D10241968D +:10339000A11DB11D8093CE029093CF02A093D002C5 +:1033A000B093D102BF91AF919F918F910F900FBEBB +:1033B0000F901F90189582E084BD93E095BD9AEF21 +:1033C00097BD80936E0008952FB7F8948091CE0238 +:1033D0009091CF02A091D002B091D1022FBF089559 +:1033E000CF92DF92EF92FF920F931F932FB7F89433 +:1033F0004091CE025091CF026091D0027091D102E3 +:103400002FBF6A017B01EE24FF248C0120E030E015 +:10341000C016D106E206F30610F4415051099A0194 +:10342000281B390BC9011F910F91FF90EF90DF907E +:10343000CF9008951F920F920FB60F9211248F9381 +:103440009F93AF93BF938091CE029091CF02A091B2 +:10345000D002B091D1020196A11DB11D8093CE0280 +:103460009093CF02A093D002B093D102BF91AF91BD +:103470009F918F910F900FBE0F901F9018950E94F3 +:10348000590BF8942FEF87EA91E621508040904045 +:10349000E1F700C0000087E090EBDC018093ED02D3 +:1034A0009093EE02A093EF02B093F0029CE088E1CB +:1034B0000FB6F894A895809360000FBE90936000BB +:1034C000FFCFAF92BF92CF92DF92EF92FF920F9316 +:1034D0001F93CF93C3E0CC24C394D12CE82EF12CBE +:1034E0008C2F0E94AC065C010CE010E09601002ECF +:1034F00002C0220F331F0A94E2F72A213B21232B1B +:1035000051F0602F7C2F80E00E944605E816F906F6 +:1035100011F481E006C00150110940F7C15000F7D5 +:1035200080E0CF911F910F91FF90EF90DF90CF90AF +:10353000BF90AF900895CF93C82F8CE20E94611A7C +:10354000882321F08C2FCF910C94611A80E0CF91C9 +:103550000895CF930E94F11B811102C00E94D21BDB +:10356000C5E6C15049F00E9431068FE39CE90197FE +:10357000F1F700C00000F5CF89E20E949B1A81118B +:103580000FC18AE20E949B1A81110E94D21B85E022 +:103590000E949B1A81110E943F1A0E94FC1B80937B +:1035A000CC0287E00E949B1A8823A9F18BE10E943C +:1035B0009B1A882351F08091CC0281FB222720F9AD +:1035C00091E0922790FB81F90EC08EE00E949B1A39 +:1035D000882361F08091CC0282FB222720F991E0C0 +:1035E000922790FB82F98093CC0215C080E10E9463 +:1035F0009B1A9091CC02882341F093FB222720F95B +:1036000081E0822780FB93F904C0892F809580FB9D +:1036100090F99093CC028091CC020E94001C0E94F1 +:103620000E1C90E09093DE028093DD0280EE0E94FB +:103630009B1A882341F08091DD02982F909590FB92 +:1036400080F98093DD0289E30E949B1A882359F058 +:103650008091DD0281FB222720F991E0922790FBE7 +:1036600081F98093DD0282EE0E949B1A882359F033 +:103670008091DD0282FB222720F991E0922790FBC6 +:1036800082F98093DD0286EE0E949B1A882359F00E +:103690008091DD0283FB222720F991E0922790FBA5 +:1036A00083F98093DD0283EE0E949B1A882359F0F0 +:1036B0008091DD0284FB222720F991E0922790FB84 +:1036C00084F98093DD0285E30E949B1A882359F0D8 +:1036D0008091DD0285FB222720F991E0922790FB63 +:1036E00085F98093DD0281E30E949B1A882359F0BB +:1036F0008091DD0286FB222720F991E0922790FB42 +:1037000086F98093DD0281E10E949B1A882359F09B +:103710008091DD0287FB222720F991E0922790FB20 +:1037200087F98093DD028091DD020E94121C87E2FE +:103730000E949B1AC82F8EE10E949B1A8111C260C1 +:103740008FE10E949B1A8111C46080E20E949B1A43 +:103750008111C86081E20E949B1A8111C06182E2DE +:103760000E949B1A8111C06283E20E949B1A811100 +:10377000C06484E20E949B1A882311F0C06802C0D2 +:10378000CC2329F08C2F0E94091C6C2F03C00E94AF +:10379000051C682F70E080E090E0CF910C943D17FD +:1037A000CF9108956DEE7EEF80E090E00E947C2244 +:1037B00060E082E090E00E946A2260E083E090E0B6 +:1037C0000E946A2260E084E090E00E946A2260E049 +:1037D00085E090E00E946A2260E086E090E00C9430 +:1037E0006A2280E090E00E94642221E08D3E9E4F9C +:1037F00009F020E0822F089582E090E00C945C2292 +:10380000682F82E090E00C946A2283E090E00C94B0 +:103810005C22682F83E090E00C946A2284E090E0C0 +:103820000C945C22682F84E090E00C946A2286E07D +:1038300090E00C945C22682F86E090E00C946A2261 +:103840008091D40280FF0BC06091110185E0689FD8 +:10385000B001112475956795759567952BC081FF0B +:1038600009C06091110185E0689FB0011124759530 +:10387000679520C082FF07C06091110185E0689FB5 +:10388000B001112417C09091D5029923D1F0609115 +:103890001001961788F72091110185E0289F90016B +:1038A0001124929FA001939F500D112470E0CA0132 +:1038B0000E942E226038710540F46115710539F0BF +:1038C00002C065E070E0862F08958FE7089581E0DB +:1038D00008958091D40280FF08C060910F0170E0CC +:1038E000759567957595679521C081FF06C06091B4 +:1038F0000F0170E07595679519C082FF04C0609153 +:103900000F0170E010C09091D5029923C1F0609131 +:103910000E019617A0F780910F01899FC001112415 +:1039200070E00E942E226038710528F4611571053F +:1039300021F0862F08958FE7089581E0089561E0D2 +:1039400070E0F4CF803F21F40E94201C819504C0D8 +:10395000813F29F40E94201C8093D8020895823F61 +:1039600021F40E94201C819504C0833F29F40E9409 +:10397000201C8093D7020895893F19F40E94691C86 +:1039800005C08A3F31F40E94691C81958093D90259 +:1039900008958B3F21F40E94691C819504C08C3FDF +:1039A00029F40E94691C8093DA020895843F21F46F +:1039B0008091D602816017C0853F21F48091D602A4 +:1039C000826011C0863F21F48091D60284600BC0D2 +:1039D000873F21F48091D602886005C0883F31F48A +:1039E0008091D60280618093D60208958D3F21F4A4 +:1039F0008091D40281600BC08E3F21F48091D4026B +:103A0000826005C08F3F29F48091D4028460809346 +:103A1000D4020895803F39F48091D80287FF6CC0AA +:103A20001092D80269C0813F29F48091D8021816FB +:103A3000BCF362C09091D702823F29F497FF5CC02B +:103A40001092D70259C0833F19F41916CCF354C011 +:103A5000893F41F48091D90218160CF04DC01092A4 +:103A6000D9024AC08A3F29F48091D90287FF44C015 +:103A7000F6CF8B3F39F48091DA0287FF3DC0109278 +:103A8000DA023AC08C3F29F48091DA021816BCF3AE +:103A900033C0843F21F48091D6028E7F17C0853FCA +:103AA00021F48091D6028D7F11C0863F21F4809150 +:103AB000D6028B7F0BC0873F21F48091D602877F8F +:103AC00005C0883F31F48091D6028F7E8093D60264 +:103AD00013C08D3F21F48091D4028E7F0BC08E3FA6 +:103AE00021F48091D4028D7F05C08F3F29F480910D +:103AF000D4028B7F8093D4028091D70281110EC0B3 +:103B00008091D80281110AC08091D902811106C02A +:103B10008091DA02811102C01092D502089586EDDB +:103B200092E00E94B20E0E94E4199093D302809317 +:103B3000D20208951F93CF93DF938091D202909188 +:103B4000D3020E94F019AC019091D502992321F083 +:103B50002091120130E006C0209113018AE0289FD5 +:103B6000900111244217530708F486C08091D702B0 +:103B7000C091D802D091D9021091DA02811107C008 +:103B8000C11176C0D11174C0111172C075C09F3FB0 +:103B900019F09F5F9093D502181624F40E94201C00 +:103BA0008093D7028091D70287FF05C00E94201C16 +:103BB00081958093D7021C1624F40E94201C8093C8 +:103BC000D8028091D80287FF05C00E94201C8195F1 +:103BD0008093D8026091D702662339F1C091D80250 +:103BE000CC2319F1772767FD7095872F972F0E94B7 +:103BF000332123E333E343E35FE30E9497210E94F1 +:103C000000216093D7026C2F772767FD7095872F6F +:103C1000972F0E94332123E333E343E35FE30E94C2 +:103C200097210E9400216093D8021D1624F40E945F +:103C3000691C8093D9028091D90287FF05C00E9438 +:103C4000691C81958093D902111624F40E94691C85 +:103C50008093DA028091DA0287FF05C00E94691C16 +:103C600081958093DA02DF91CF911F910C948F1D83 +:103C70009F3F09F08ECF96CFDF91CF911F9108958E +:103C8000E6EDF2E085E0DF011D928A95E9F71092FA +:103C9000D5021092D4020895833081F128F4813046 +:103CA00059F08230D1F00895853009F449C0B8F157 +:103CB000863009F456C0089580911301262F30E014 +:103CC000280F311D2F3F310524F4680F6093130135 +:103CD00008958FEF80931301089580911201262F8C +:103CE00030E0280F311D2F3F310524F4680F609319 +:103CF000120108958FEF80931201089580911101B0 +:103D0000262F30E0280F311D2F3F310524F4680F96 +:103D10006093110108958FEF8093110108958091B0 +:103D20001001262F30E0280F311D2F3F310524F4DC +:103D3000680F6093100108958FEF8093100108952C +:103D400080910F01262F30E0280F311D2F3F3105C4 +:103D500024F4680F60930F0108958FEF80930F0193 +:103D6000089580910E01262F30E0280F311D2F3F3E +:103D7000310524F4680F60930E0108958FEF80934E +:103D80000E010895833011F128F4813049F082301A +:103D900091F00895853081F120F18630C1F10895C8 +:103DA00080911301681720F4861B809313010895F6 +:103DB00010921301089580911201681720F4861B58 +:103DC00080931201089510921201089580911101BB +:103DD000681720F4861B8093110108951092110139 +:103DE000089580911001681720F4861B80931001BC +:103DF000089510921001089580910F01681720F422 +:103E0000861B80930F01089510920F0108958091F1 +:103E10000E01681720F4861B80930E0108951092FE +:103E20000E0108950F931F93873208F040C08E3122 +:103E300008F08AC08E3009F474C0C0F4873009F4E9 +:103E40005EC068F4863009F09AC08091CC02817F10 +:103E50008E7F8093CC0281E08093DC0291C0883019 +:103E600009F486C08B3009F483C089C0863109F417 +:103E70007FC068F4803109F082C08091CC0283FB5E +:103E8000222720F991E0922790FB83F953C08931D2 +:103E900009F46EC08B3109F072C08091CC0281FBB5 +:103EA000222720F991E0922790FB81F943C08833C3 +:103EB00009F45EC050F4893209F45CC0853309F41A +:103EC00059C0873209F456C05AC0833409F452C02D +:103ED00028F48A3308F453C0895337C0883409F072 +:103EE0004EC00E947D130FEF13ED20E301501040F0 +:103EF0002040E1F700C000000E943F1A39C09091B5 +:103F0000CC02892F8095817080FB90F929F0966012 +:103F100098609093CC0234C0997F977F9093CC02A5 +:103F200027C08091CC0282FB222720F991E09227C2 +:103F300090FB82F98093CC029923D1F08091CC023E +:103F400081608093CC0214C08D5141E050E060E06C +:103F500070E08A019B0104C0000F111F221F331F54 +:103F60008A95D2F7C901B8010E943D170E947D13BE +:103F700081E006C061E070E080E090E0F5CF80E095 +:103F80001F910F91089580E0089580E008958E516B +:103F90008A3030F4E82FF0E0E75CFE4F808108952E +:103FA00080E00895CF93C82F8091DC02813069F0C2 +:103FB00018F08230C9F183C0E0910C01F0910D013D +:103FC0008081823209F07DC007C0E0910C01F09140 +:103FD0000D018081823261F48C2F0E94C31F8111F8 +:103FE00004C08C2F0E94121F1DC081E090E01AC0F7 +:103FF0008C2F0E94C51F811114C0C43179F048F480 +:10400000CB3079F0C03109F060C082E08093DC02EF +:1040100008C0C93219F0C83321F057C01092DC0231 +:1040200054C081E0817053C0C93289F118F5C431A0 +:1040300071F1B0F4C73009F046C08EE180931301EE +:1040400082E3809312018AE08093110184E18093DE +:10405000100188E080930F0188E280930E0133C045 +:1040600082EE8C0F863078F58C2F0E94C71F8093CC +:10407000DB0229C0CE34E9F020F4CB3421F56AE02C +:1040800013C0C13579F0C235F1F461E00DC0809103 +:10409000DB02882319F01092DB0215C081E08093C7 +:1040A000DC0215C061E006C08091DB020E944C1E5C +:1040B0000AC06AE08091DB020E94C21E04C0109216 +:1040C000DC0280E004C081E002C080E0ABCFCF9191 +:1040D00008950E94F11B811102C00E94D21B0E9410 +:1040E000171C8093EC0280FF02C0869501C080E01F +:1040F0000C94D8018091EC02982F9695292F30E0EE +:10410000233031054CF49F5F990F8170892B8160BA +:104110008093EC020E941B1C8091EC0286950C940B +:10412000D8018091EC02982F969591F09158990FB3 +:104130008170892B8093EC028E7F91E009F490E0EE +:104140008091EC0290FB80F98093EC020E941B1C92 +:104150008091EC0286950C94D8018091EC02982F06 +:10416000909590FB80F98093EC020E941B1C80913B +:10417000EC0280FF02C0869501C080E00C94D8015B +:104180009091EC02892F86958F5F8F7791708430A4 +:1041900028F4880F892B8093EC0202C09093EC02E4 +:1041A0008091EC028E7F91E009F490E08091EC0226 +:1041B00090FB80F98093EC020E941B1C8091EC0222 +:1041C00086950C94D8012091EC02922F9695892720 +:1041D000982F990F822F8170892B8093EC028E7F0C +:1041E00091E009F490E08091EC0290FB80F98093DB +:1041F000EC020E941B1C8091EC0286950C94D80165 +:1042000004D06894B1118DC0089570D088F09F5784 +:1042100090F0B92F9927B751A0F0D1F0660F771F12 +:10422000881F991F1AF0BA95C9F712C0B13081F0F2 +:1042300077D0B1E0089574C0672F782F8827B85FD2 +:1042400039F0B93FCCF3869577956795B395D9F753 +:104250003EF490958095709561957F4F8F4F9F4F5D +:104260000895E89409C097FB3EF490958095709569 +:1042700061957F4F8F4F9F4F9923A9F0F92F96E9B2 +:10428000BB279395F695879577956795B795F11127 +:10429000F8CFFAF4BB0F11F460FF1BC06F5F7F4FC4 +:1042A0008F4F9F4F16C0882311F096E911C07723D6 +:1042B00021F09EE8872F762F05C0662371F096E8DF +:1042C000862F70E060E02AF09A95660F771F881FAE +:1042D000DAF7880F9695879597F9089557FD9058C6 +:1042E000440F551F59F05F3F71F04795880F97FBBA +:1042F000991F61F09F3F79F0879508951216130674 +:104300001406551FF2CF4695F1DF08C016161706A2 +:104310001806991FF1CF86957105610508940895D7 +:10432000E894BB2766277727CB0197F908950BD030 +:1043300078C069D028F06ED018F0952309F05AC0E3 +:104340005FC01124EECFCADFA0F3959FD1F3950F84 +:1043500050E0551F629FF001729FBB27F00DB11D09 +:10436000639FAA27F00DB11DAA1F649F6627B00D99 +:10437000A11D661F829F2227B00DA11D621F739F82 +:10438000B00DA11D621F839FA00D611D221F749F90 +:104390003327A00D611D231F849F600D211D822FD7 +:1043A000762F6A2F11249F5750408AF0E1F088231E +:1043B0004AF0EE0FFF1FBB1F661F771F881F91502B +:1043C0005040A9F79E3F510570F014C0AACF5F3F3F +:1043D000ECF3983EDCF3869577956795B795F7955E +:1043E000E7959F5FC1F7FE2B880F911D96958795E6 +:1043F00097F9089597F99F6780E870E060E0089565 +:104400009FEF80EC089500240A94161617061806EC +:104410000906089500240A941216130614060506C8 +:104420000895092E0394000C11F4882352F0BB0F59 +:1044300040F4BF2B11F460FF04C06F5F7F4F8F4FBC +:104440009F4F0895991B79E004C0991F961708F0B3 +:10445000961B881F7A95C9F78095089597FB072EBC +:1044600016F4009407D077FD09D00E94482207FC7B +:1044700005D03EF4909581959F4F08957095619574 +:104480007F4F0895EE0FFF1F0590F491E02D0994E2 +:10449000AA1BBB1B51E107C0AA1FBB1FA617B7076A +:1044A00010F0A61BB70B881F991F5A95A9F7809586 +:1044B0009095BC01CD010895F999FECF92BD81BDC3 +:1044C000F89A992780B50895A8E1B0E042E050E05D +:1044D0000C948422262FF999FECF92BD81BDF89AC3 +:1044E000019700B4021639F01FBA20BD0FB6F89438 +:1044F000FA9AF99A0FBE08950196272F0E946B220F +:104500000C946A22DC01CB01FC01F999FECF06C0B4 +:10451000F2BDE1BDF89A319600B40D924150504081 +:08452000B8F70895F894FFCFED +:10452800FFB606E0079C076807B90601C10228081C +:10453800140A321E4F795363667649695909192955 +:10454800030F1F5F43404D3620BF0272023C021C1E +:1045580002A801C101DA01F30101020304050607FB +:04456800080900003E +:00000001FF diff --git a/keyboards/jd45/keymaps/default/keymap.c b/keyboards/jd45/keymaps/default/keymap.c new file mode 100644 index 000000000..05dd46e79 --- /dev/null +++ b/keyboards/jd45/keymaps/default/keymap.c @@ -0,0 +1,31 @@ +#include "jd45.h" +#include "backlight.h" + +/* this keymap is to provide a basic keyboard layout for testing the matrix + * for more practical and complicated keymap refer to other keymaps in the same folder + */ +/* JD45 keymap definition macro + */ +#define KEYMAP( \ + K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, K13, \ + K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, \ + K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, K36, K37, \ + K38, K39, K40, K41, K42, K43, K44, K45, K46, K47 \ +) { \ + { KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K10, KC_##K11, KC_##K12, KC_##K13 }, \ + { KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_NO }, \ + { KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_NO }, \ + { KC_##K38, KC_##K39, KC_##K40, KC_##K41, KC_##K42, KC_NO, KC_##K43, KC_NO, KC_##K44, KC_##K45, KC_##K46, KC_##K47, KC_NO } \ +} + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = KEYMAP( + ESC, Q, W, E, R, T, Y, U, I, O, P, QUOT, BSPC, + TAB, A, S, D, F, G, H, J, K, L, SCLN, ENT, + LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, RSFT, + PAUSE, LCTL, LALT, DEL, SPC, DEL, LEFT, UP, DOWN, RIGHT ), +}; + +const uint16_t PROGMEM fn_actions[] = { + +}; diff --git a/keyboards/jd45/keymaps/justin/compiled.hex b/keyboards/jd45/keymaps/justin/compiled.hex new file mode 100644 index 000000000..3f0ab6524 --- /dev/null +++ b/keyboards/jd45/keymaps/justin/compiled.hex @@ -0,0 +1,1153 @@ +:100000000C94AA020C94EE020C94EE020C94EE02F4 +:100010000C94EE020C94EE020C94EE020C94EE02A0 +:100020000C94EE020C94EE020C94170D0C94E90D56 +:100030000C94F51A0C94EE020C94EE020C94EE0261 +:100040000C94EE020C94EE020C94EE020C94EE0270 +:100050000C94EE020C945D1B0C94EE020C94EE02D8 +:100060000C94EE020C94AF0F0C94EE020C94EE0282 +:100070000C94EE020C94EE020C94EE020C94EE0240 +:100080000C94EE020C94EE020C94EE020C94EE0230 +:100090000C94EE020C94EE020C94EE020C94EE0220 +:1000A0000C94EE020C94EE020C94EE02560E780EB6 +:1000B000660F780E660FBD0EE00E660F350F480F07 +:1000C00071127112A012A012DF12FF1255145514F2 +:1000D0000A135514BA13BA1321142A1455144F14C1 +:1000E000C713C713C713C713C713C713C713C71340 +:1000F000C713C713C713C713C713C713C713C71330 +:10010000D713E513EC13F313FD137500011E021E44 +:10011000011F021F012002200121022101220222CF +:10012000012302230124022401250225012802289B +:10013000007500011E021E011F021F012002200186 +:10014000210221012202220123022301240224018F +:1001500025022501280228007500011E021E011F2C +:10016000021F01200220012102210122022201237B +:100170000223012402240125022501280228002D42 +:1001800021F1A1F1A2F1A33522E7323932E2A42B09 +:1001900021000000C001C002C000000000000000FB +:1001A000000000000000000000000000000000004F +:1001B00000000000000000000000D200D000D129A3 +:1001C0000014001A00090013000A000D000F0018A7 +:1001D000001C00330034002A00C80004001500167B +:1001E00000170007000B00110008000C0012002887 +:1001F000000000E1001D001B000600190005000EB4 +:10020000001000360037003800C6000000C400E3CC +:1002100000C700C200C10000002C000000C500E6BD +:1002200000C300C00000000100CA00CB00CC0001E8 +:100230000001000100010001000100010052004C1A +:1002400000010001000100010001000100010001A6 +:10025000004A004B0050004F000000010001000167 +:1002600000010001000100010001004D004E00519D +:100270000001000000010001000100010001000078 +:100280000001000000010001000100010000000168 +:10029000000100010001000100010001002400250F +:1002A00000260027000100010001000100010001FB +:1002B00000010001002F002100220023003700016F +:1002C00000000001000100010001000100010030F8 +:1002D000001E001F0020003100010000000100DDB1 +:1002E000000100010001000000480000002E002D68 +:1002F0000001000100000001003A003B003C003D0D +:10030000003E003F004000410042004300440045E1 +:1003100000010001000100010001000100010001D5 +:1003200000010001000100010000000100010001C6 +:1003300000010001000100010001000100010001B5 +:1003400000010000000100010001000100010000A7 +:100350000001000000010001000100010000000197 +:10036000000100010001000100010001002400253E +:10037000002600270001000100010001000100012A +:1003800000010001002F002100220023003700019E +:100390000000000100010001000100010001003027 +:1003A000001E001F0020003100010000000100DDE0 +:1003B000000100010001000000480000002E002D97 +:1003C000000100010000000A034A00440034003527 +:1003D00000000012036700650065006B00680061A3 +:1003E0000063006B000000040309040902740004A8 +:1003F0000100A0FA09040000010301010009211114 +:100400000100012240000705810308000A090401D8 +:10041000000103010200092111010001224D000722 +:1004200005820308000A0904020001030000000914 +:1004300021110100012236000705830308000A0983 +:100440000403000203000000092111010001222021 +:1004500000070584032000010705040320000112A2 +:1004600001100100000008EDFE60600100010200C3 +:10047000010631FF0974A1010975150025FF9520BA +:10048000750881020976150025FF952075089102EF +:10049000C005010980A101850216010026B7001AD6 +:1004A00001002AB700751095018100C0050C0901F3 +:1004B000A1018503160100269C021A01002A9C0254 +:1004C000751095018100C005010902A1010901A172 +:1004D00000050919012905150025019505750181FA +:1004E0000295017503810105010930093115812546 +:1004F0007F95027508810609381581257F9501755C +:10050000088106050C0A38021581257F95017508BA +:100510008106C0C005010906A101050719E029E708 +:100520001500250195087501810295017508810165 +:1005300005081901290595057501910295017503B5 +:1005400091010507190029FF150026FF0095067582 +:10055000088100C011241FBECFEFDAE0DEBFCDBF9F +:1005600004B603FE24C08091ED029091EE02A091AA +:10057000EF02B091F0028730904BA740B04BB9F436 +:100580001092ED021092EE021092EF021092F00221 +:1005900014BE84B7877F84BF88E10FB6F894809338 +:1005A0006000109260000FBEE0E0F8E3099511E0F2 +:1005B000A0E0B1E0EEEAF7E402C005900D92A434A9 +:1005C000B107D9F712E0A4E4B1E001C01D92AD3E3D +:1005D000B107E1F70E94860A0C94D5230C94000021 +:1005E00008950895279A2F988FEF9FEF9093870093 +:1005F000809386008AE08093800089E18093810067 +:100600000C94AC21282F81110BC080918000877F32 +:100610008093800010928D0010928C002F98089586 +:100620002F9880918000886080938000233019F497 +:100630008FEF9FEF0FC083E090E0821B9109880F3E +:10064000991F2FEF3FEFA90102C0569547958A9554 +:10065000E2F7CA0190938D0080938C0008950E9468 +:10066000F2020C94F0020C94F102FC01613051F0A2 +:1006700018F0623069F012C08281882379F088E531 +:1006800091E008958281882349F081E391E0089503 +:100690008281882319F08AE091E0089580E090E05B +:1006A000089581E0089581E008950C94530308951E +:1006B0000F931F93CF93DF938C01FC01C081D181F5 +:1006C000CE010E94B919BE010E948906EC01B80151 +:1006D0000E945503882309F470C1F80182818823A0 +:1006E00009F45BC080914F0181111FC0C431F0E754 +:1006F000DF0709F00AC10E94570381E080934F0190 +:100700000E94271B90934E0180934D011092460149 +:10071000109248011092470110924A01109249012B +:1007200010924C0110924B0148C180914D01909163 +:100730004E010E94331B883C910570F48091460164 +:10074000E82FF0E0EE0FFF1FE95BFE4FD183C0837F +:100750008F5F8093460131C1C43120E7D20708F092 +:1007600024C1C23080E7D80710F5C11590E7D9073A +:1007700009F0DAC0F8018281882309F4BFC00E9421 +:10078000C014FFEF24E38CE0F15020408040E1F7FB +:1007900000C000000E94821B10C1C431F0E7DF07D7 +:1007A00008F0CFC0C23020E7D20708F49BC0F801A0 +:1007B0008281882309F4A2C00E94341D811102C0E5 +:1007C0000E94151D0E94511D90E09093DE028093BF +:1007D000DD02C230F0E7DF0721F48091DD028160A5 +:1007E0007AC0C33020E7D20721F48091DD02826015 +:1007F00072C0C43080E7D80721F48091DD028460A4 +:100800006AC0C53090E7D90719F48091DD0227C08E +:10081000C630E0E7DE0721F48091DD0280615BC035 +:10082000C730F0E7DF0721F48091DD02806253C01A +:10083000C83020E7D20721F48091DD0280644BC0EC +:10084000C93080E7D80721F48091DD02806843C079 +:10085000CA3090E7D90729F48091DD02846088606E +:100860003AC0CB30E0E7DE0721F48091DD028E7FD5 +:1008700032C0CC30F0E7DF0721F48091DD028D7FBC +:100880002AC0CD3020E7D20721F48091DD028B7F92 +:1008900022C0CE3080E7D80719F48091DD021AC05B +:1008A0008091DD02CF3090E7D90711F48F7E13C01D +:1008B000C031E0E7DE0711F48F7D0DC0C131F0E7F4 +:1008C000DF0711F48F7B07C0C231D04711F48F7757 +:1008D00002C08B7F877F8093DD028091DD020E94C2 +:1008E000551D6BC0C11580E7D80741F0C130D04716 +:1008F000F1F081E08093440180934501C801DF91CC +:10090000CF911F910F910C945103C43120E7D2076E +:1009100008F04BC0C23080E7D80708F048CFC115B7 +:1009200090E7D90709F42BCFC130D04711F7F80170 +:100930008281882319F38091CC0281608093CC025C +:100940003CC0C333E0E7DE07A1F4F80182818823CD +:1009500021F01092440182E017C08091440181117E +:1009600006C086E20E94151186E20E94DD1182E037 +:1009700019C0C433D04709F0BCCFF8018281882365 +:1009800031F01092450180E20E942C1216C0809135 +:100990004501811106C087E20E94151187E20E947D +:1009A000DD1180E20E94331208C0C333F0E7DF0795 +:1009B00061F2C433D04709F39CCF80E0DF91CF913F +:1009C0001F910F9108950C942F030C9433032DE085 +:1009D000729FF001112434E3839FE00DF11D112477 +:1009E000E60FF11DEE0FFF1FE154FE4F859194912C +:1009F0000E949B06811540E5940708F047C08115C9 +:100A000020E4920708F013C1883E910520F5803E4E +:100A1000910508F07CC1883A910578F4853A9105F2 +:100A200008F0A5C08130910509F471C108F42EC108 +:100A30008430910508F06BC129C18B3B910508F406 +:100A4000A1C0803C910508F421C1FC01EE0FFF1FFD +:100A5000E150F040E6C0811530E2930758F481156B +:100A600041E0940708F053C1803F910508F40EC19E +:100A700090650895811520E3920708F0D5C0FC0128 +:100A8000FF70EE0FFF1FE158FE4FCBC0811535E51B +:100A9000930708F043C0811544E5940708F0DEC0D1 +:100AA000811522E5920708F5811531E5930708F0D5 +:100AB000C1C0482F437021E030E002C0220F331F35 +:100AC0004A95E2F73C68AC0164E0569547956A9513 +:100AD000E1F74370342B8F708695869540E2849FB2 +:100AE000C0011124822B932B0895282F269526953B +:100AF000AC01437055278115934508F0A0C080E2F2 +:100B0000289F9001112481E090E002C0880F991F76 +:100B10004A95E2F7822B932B9C6808958F3240E729 +:100B2000940790F48F3120E7920708F0A2C0811556 +:100B300036E5930708F497C09C01305621153041E3 +:100B400008F0A4C09F7093C0803320E7920709F497 +:100B500097C008F492C0813340E7940709F493C02A +:100B60008233904709F092C080E093ED0895853A72 +:100B7000910509F48EC0863A910509F08DC082E88E +:100B800090E40895883A910509F489C0893A91055D +:100B900009F488C08A3A910509F487C08B3A910517 +:100BA00009F486C08C3A910509F485C08D3A910507 +:100BB00009F484C0803B910509F483C08E3A910505 +:100BC00009F482C08F3A910509F481C0813B9105F7 +:100BD00009F480C0823B910509F47FC0833B9105F5 +:100BE00009F47EC0843B910509F47DC0853B9105E5 +:100BF00009F47CC0863B910509F47BC0873B9105D5 +:100C000009F47AC0883B910509F479C0893B9105C4 +:100C100009F478C08A3B910509F477C080E094E438 +:100C200008958591949108959927906C08959F70E7 +:100C3000906A0895982F8827816F906A089590E2AE +:100C4000299F9001112481E090E002C0880F991F34 +:100C50004A95E2F7822B932B9A680895982F88275C +:100C6000846F906A08958F719927982F88279062D2 +:100C700008958F519047946D089580E091ED089507 +:100C800080E090ED089580E092ED089580E090E09E +:100C9000089581E890E4089583E890E4089582EE51 +:100CA00094E4089589EE94E408958AEE94E4089516 +:100CB00085EB94E4089586EB94E4089587EB94E43F +:100CC00008958CEC94E408958DEC94E4089583E801 +:100CD00095E408958AE895E4089582E995E40895F5 +:100CE00084E995E4089581E296E4089583E296E428 +:100CF000089584E296E4089585E296E4089586E2F4 +:100D000096E4089587E296E408958AE296E40895C9 +:100D100008959DE0799FF001112494E3899FE00DEF +:100D2000F11D1124E60FF11DEE0FFF1FE154FE4FE0 +:100D30008591949108958238910549F1B0F48133F9 +:100D4000910509F458C048F48932910509F44EC060 +:100D50008A32910509F454C008958533910509F448 +:100D600040C08933910599F00895833E910529F19A +:100D700038F4803E910591F0823E9105A1F00895EE +:100D8000863E9105F9F0873E910531F10895209155 +:100D9000DD0220FD3AC021FD38C008958091DD02BA +:100DA00080FD35C032C08091DD0282FF32C080916B +:100DB000DD0284FD30C083EE39C08091DD0282FD0A +:100DC00028C0F5CF8091DD0283FF27C08091DD022E +:100DD00084FD21C087EE2AC08091DD0283FD1DC005 +:100DE000F5CF8091DD0285FD1AC01BC08091DD0228 +:100DF00085FD17C014C08091DD0286FD14C015C0AA +:100E00008091DD0286FD11C00EC080EE0FC089E327 +:100E10000DC082EE0BC080E009C086EE07C089E2FB +:100E200005C085E303C08AE201C081E390E0089534 +:100E300008950C941807E82FF0E0EF5DFE4F8081D5 +:100E4000E82FEF70F0E082958F7021E030E0A9018B +:100E500002C0440F551F8A95E2F740A308950F93EF +:100E60001F93CF93DF9385B7806885BF85B7806870 +:100E700085BFC3E0D0E001E010E0FE01EF5DFE4F72 +:100E80008081E82FEF70F0E021A182958F70A8019A +:100E900002C0440F551F8A95E2F7CA01822B81A335 +:100EA0008C2F0E941B07219740F78CE090E061E0B7 +:100EB00070E0FC01EC5EFE4F2081E22FEF70F0E06D +:100EC00042A122952F70DB0102C0AA0FBB1F2A95F9 +:100ED000E2F79D01242B22A3019758F7DF91CF91D0 +:100EE0001F910F910C94E304EF92FF920F931F93C5 +:100EF000CF93DF9308E511E0C3E0EE24E394F12CF7 +:100F0000D5E08C2F0E941B078CE090E040E050E081 +:100F1000FC01EC5EFE4F6081E62FEF70F0E020A157 +:100F200030E062956F7002C0359527956A95E2F7BB +:100F300020FD09C09701082E02C0220F331F0A941A +:100F4000E2F7422B532B019718F7F8019291829107 +:100F50008F018417950721F051834083D0930001BE +:100F60008C2F0E941B07C15060F68091000187FD05 +:100F70002CC08150809300018F3F39F08FE99FE0B2 +:100F80000197F1F700C0000020C0809156019091B8 +:100F9000570190935F0180935E018091540190917D +:100FA000550190935D0180935C0180915201909175 +:100FB000530190935B0180935A018091500190916D +:100FC000510190935901809358010E94E50481E0FA +:100FD000DF91CF911F910F91FF90EF900895E82F2F +:100FE000F0E0EE0FFF1FE85AFE4F808191810895D7 +:100FF000089580916C0108950F931F93CF93DF9311 +:1010000000D000D01F92CDB7DEB79C018091610166 +:10101000909162012817390709F493C03093620157 +:1010200020936101223E3105F1F1293E310559F14C +:101030002A3E310559F1253B310559F1263B310551 +:1010400051F1273B310551F12C3C310561F12D3C2B +:10105000310531F1233881E0380729F12A3891E050 +:10106000390709F1223981E03807E9F0243991E0A4 +:101070003907C9F0213282E03807B9F0233292E013 +:10108000390789F415C090E040E114C090E040E2D7 +:1010900011C092E001C094E040E00CC090E1FCCFB0 +:1010A00090E040E407C090E0F7CF90E044E002C059 +:1010B00090E041E089018DEF4C839D830E94990F60 +:1010C00080E00E94990F82E00E94990F4C81842F4A +:1010D0000E94990F9D81892F0E94990F80E00E94A4 +:1010E000990F80E00E94990F80E00E94990F80E0A4 +:1010F0000E94990F8091E302843019F583E089837F +:101100001B830A838093E9008FEF9091E800815060 +:1011100095FD06C095ED9A95F1F700008111F5CF88 +:101120008091E80085FF0DC040E050E063E070E092 +:10113000CE0101960E94070B8091E8008E77809384 +:10114000E8000F900F900F900F900F90DF91CF91CC +:101150001F910F910895CF93DF9300D01F92CDB7C9 +:10116000DEB72091E302243021F522E029839B831E +:101170008A8383E08093E9008FEF9091E8008150AB +:1011800095FD06C095ED9A95F1F700008111F5CF18 +:101190008091E80085FF0DC040E050E063E070E022 +:1011A000CE0101960E94070B8091E8008E77809314 +:1011B000E8000F900F900F90DF91CF910895CF939B +:1011C000DF93EC018DEF0E94990F80E00E94990F50 +:1011D00083E00E94990F88810E94990F89810E9463 +:1011E000990F8A810E94990F8B810E94990F8C819F +:1011F0000E94990F80E00E94990F8091E302843051 +:10120000F9F482E08093E9008FEF9091E80081503B +:1012100095FD06C095ED9A95F1F700008111F5CF87 +:101220008091E80085FF0CC040E050E065E070E090 +:10123000CE010E94070B8091E8008E778093E80032 +:10124000DF91CF910895EF92FF920F931F93CF9369 +:10125000DF93EC018DEF0E94990F8E017E0188E0F3 +:10126000E80EF11CF80181918F010E94990F0E1573 +:101270001F05C1F78091E302843039F581E0809346 +:10128000E9008FEF9091E800815095FD06C0F5EDE3 +:10129000FA95F1F700008111F5CF8091E80085FF04 +:1012A00014C040E050E068E070E0CE010E94070BFF +:1012B0008091E8008E778093E80088E0FE01A4E644 +:1012C000B1E001900D928A95E1F7DF91CF911F91E6 +:1012D0000F91FF90EF9008958091E202811109C073 +:1012E0000E949C0C0E94F90C8091E2008460809323 +:1012F000E20008951092E2020895089508950C9472 +:10130000EA1A209160012F5F822F62E30E94652319 +:10131000992319F020936001089510926001809143 +:101320006301882371F18091E302843041F580915B +:10133000E9008F702091EC00922F917020FD90E8D1 +:10134000892B94E09093E9009091EB0090FF14C0FA +:101350009091EE0097FF10C09091E80095FF03C0B8 +:101360001092F100F9CF9091E80090FF05C09091A4 +:10137000E8009E779093E8008F708093E9001092C8 +:101380006301089542E061EC81E00E94160C42E0A6 +:1013900061EC82E00E94160C42E061EC83E00E9466 +:1013A000160C42E261EC84E00C94160C8091E5028C +:1013B000833009F453C030F4813071F0823009F485 +:1013C0008CC008958A3009F478C08B3009F45EC06F +:1013D000893009F09AC020C08091E402813A09F076 +:1013E00094C08091E800877F8093E8008091E802B4 +:1013F0009091E902892B21F468E084E691E003C032 +:1014000060E080E090E070E00E94520B8091E80084 +:101410008B778093E80008958091E402813209F08F +:1014200074C08091E8029091E902892B09F06DC0A7 +:101430008091E800877F8093E8008091E80082FD3A +:1014400005C08091E3028111F8CF5FC08091F10067 +:1014500080936C018091E8008B7753C08091E40207 +:10146000813A09F052C08091E8029091E902892BFB +:1014700009F04BC08091E800877F8093E80080915D +:10148000E80080FFFCCF80910B0136C08091E40220 +:101490008132D9F58091E8029091E902892BA9F572 +:1014A0008091E800877F8093E8000E944B0C809138 +:1014B000E60280930B010C94C0148091E402813207 +:1014C00021F58091E800877F8093E8000E944B0C13 +:1014D0008091E70280936D0108958091E402813A42 +:1014E000A1F48091E800877F8093E8008091E80074 +:1014F00080FFFCCF80916D018093F1008091E80026 +:101500008E778093E8000C944B0C089584B7877F06 +:1015100084BF88E10FB6F894809360001092600059 +:101520000FBE80E880936100109261000E942D1030 +:101530000E949C0C0E94F90C8091E20084608093D0 +:10154000E20078940E949B0F0E947E0F0E942F1051 +:1015500081E091E00E94D90F0E943710FDCF292F22 +:10156000332723303105C9F064F42130310581F08F +:101570002230310509F043C084E790E02BEE33E0E0 +:1015800042C021323105F1F02232310541F137C03C +:1015900082E190E02FE534E036C099278130910553 +:1015A00041F08230910541F0892B49F5E7EEF3E0F7 +:1015B00005C0E3EDF3E002C0E7ECF3E0849190E0D6 +:1015C0009F0121C06430D8F4E62FF0E0EE0FFF1F3A +:1015D000EF5CFE4F2081318189E090E014C06430DF +:1015E00070F470E0FB01EE0FFF1FE75DFE4F2081FE +:1015F0003181FB01EB5DFE4F808190E004C080E013 +:1016000090E020E030E0FA01318320830895CF920A +:10161000DF92EF92FF920F931F93CF93DF93EC0132 +:101620008B016A010E946A0C811133C0C114D1047C +:1016300039F0F60180819181081B190BC80FD91F61 +:10164000E12CF12C0115110519F18091E80085FDBF +:1016500016C08091E8008E778093E800C114D10411 +:1016600049F0F60180819181E80EF91EF182E08255 +:1016700085E00FC00E946A0C882321F30AC089917B +:101680008093F10001501109FFEFEF1AFF0ADACF42 +:1016900080E0DF91CF911F910F91FF90EF90DF904D +:1016A000CF9008952091EA023091EB022617370778 +:1016B00048F06115710539F42091E8002E772093E8 +:1016C000E80001C0B90140E061157105A9F1209160 +:1016D000E302222309F443C0253009F442C02091DB +:1016E000E80023FD40C02091E80022FD32C0209197 +:1016F000E80020FFE9CF4091F3002091F20030E0B4 +:10170000342BFC01CF016115710559F028303105EA +:1017100040F481918093F100615071092F5F3F4F38 +:10172000F1CF41E02830310509F040E02091E80098 +:101730002E772093E800C8CF4111C9CF0AC080910D +:10174000E302882361F0853061F08091E80083FD39 +:101750000AC08091E80082FFF2CF80E0089582E025 +:10176000089583E0089581E008952091EA02309180 +:10177000EB022617370748F06115710539F42091FF +:10178000E8002E772093E80001C0B901FC0120E0B9 +:101790006115710591F18091E302882309F440C03D +:1017A000853009F43FC08091E80083FD3DC0809101 +:1017B000E80082FD2FC08091E80080FFE9CF2091F2 +:1017C000F3008091F20090E0922B6115710559F0C1 +:1017D0008830910540F424912093F10031966150B6 +:1017E00071090196F2CF21E0089709F020E080917D +:1017F000E8008E778093E800CBCF2111CCCF0AC0D0 +:101800008091E302882361F0853061F08091E800E7 +:1018100083FD0AC08091E80082FFF2CF80E0089546 +:1018200082E0089583E0089581E00895982F97302D +:1018300058F59093E900981739F07091EC002091D9 +:10184000ED005091F00003C0242F762F50E021FFCF +:1018500019C03091EB003E7F3093EB003091ED00EA +:101860003D7F3093ED003091EB0031603093EB0021 +:101870007093EC002093ED005093F0002091EE0067 +:1018800027FF07C09F5FD3CF8F708093E90081E06F +:10189000089580E008958091E40287FF11C080914F +:1018A000E80082FD05C08091E3028111F8CF11C0EC +:1018B0008091E8008B770BC08091E302882349F088 +:1018C0008091E80080FFF8CF8091E8008E778093C8 +:1018D000E80008952091E4003091E50095E64091FC +:1018E000EC00842F817040FF22C08091E80080FDD1 +:1018F0001CC08091E302882391F0853091F08091A3 +:10190000EB0085FD10C04091E4005091E5004217C6 +:10191000530729F39A01915011F784E0089582E06A +:10192000089583E0089581E0089580E0089540914E +:10193000E80042FFDECF08950E940A0D0E94120DBA +:10194000E0EEF0E0808181608083E8EDF0E080816E +:101950008F77808319BCA7EDB0E08C918E7F8C933C +:1019600080818F7E80831092E20208950F931F93EF +:10197000CF93DF930E940A0D0E94120DC8EDD0E0B4 +:1019800088818F77888388818068888388818F7D2C +:10199000888319BC1092E3021092DF021092E102D8 +:1019A0001092E00200EE10E0F80180818B7F8083CE +:1019B00088818160888342E060E080E00E94160CAC +:1019C000E1EEF0E080818E7F8083E2EEF0E08081C6 +:1019D00081608083808188608083F80180818E7F30 +:1019E0008083888180618883DF91CF911F910F91DF +:1019F0000895E8EDF0E080818F7E8083E7EDF0E0F0 +:101A000080818160808384E082BF81E08093E202F4 +:101A10000C94B60CE8EDF0E080818E7F808310920C +:101A2000E20008951092DA001092E10008951F92EA +:101A30000F920FB60F9211242F933F934F935F9302 +:101A40006F937F938F939F93AF93BF93EF93FF9386 +:101A50008091E10082FF0BC08091E20082FF07C00D +:101A60008091E1008B7F8093E1000E948109809149 +:101A7000DA0080FF1FC08091D80080FF1BC08091DA +:101A8000DA008E7F8093DA008091D90080FF0DC04C +:101A900080E189BD82E189BD09B400FEFDCF81E00E +:101AA0008093E3020E946C0905C019BC1092E30206 +:101AB0000E947A098091E10080FF19C08091E200C4 +:101AC00080FF15C08091E2008E7F8093E2008091BC +:101AD000E20080618093E2008091D8008062809370 +:101AE000D80019BC85E08093E3020E947E098091B2 +:101AF000E10084FF30C08091E20084FF2CC080E1CF +:101B000089BD82E189BD09B400FEFDCF8091D80076 +:101B10008F7D8093D8008091E1008F7E8093E100DB +:101B20008091E2008F7E8093E2008091E2008160EC +:101B30008093E2008091DF02882311F084E007C0E7 +:101B40008091E30087FD02C081E001C083E08093C3 +:101B5000E3020E947F098091E10083FF29C0809108 +:101B6000E20083FF25C08091E100877F8093E10040 +:101B700082E08093E3021092DF028091E1008E7F89 +:101B80008093E1008091E2008E7F8093E20080915B +:101B9000E20080618093E20042E060E080E00E9429 +:101BA000160C8091F00088608093F0000E947D09FF +:101BB000FF91EF91BF91AF919F918F917F916F9125 +:101BC0005F914F913F912F910F900FBE0F901F90FB +:101BD00018951F920F920FB60F9211242F933F93D7 +:101BE0004F935F936F937F938F939F93AF93BF9325 +:101BF000CF93DF93EF93FF93C091E900CF70809173 +:101C0000EC00D82FD17080FDD0E81092E9008091CF +:101C1000F000877F8093F00078940E942D0E109240 +:101C2000E9008091F00088608093F000CD2BCF70A8 +:101C3000C093E900FF91EF91DF91CF91BF91AF91F8 +:101C40009F918F917F916F915F914F913F912F91D4 +:101C50000F900FBE0F901F9018951F93CF93DF9397 +:101C6000CDB7DEB7AA970FB6F894DEBF0FBECDBFD3 +:101C7000E4EEF2E088E08E0F9091F10091938E13E4 +:101C8000FBCF0E94D6098091E80083FF1FC180919D +:101C9000E4029091E502492F50E04A30510508F0E6 +:101CA00015C1FA01EA5AFF4F0C948523803881F060 +:101CB000823809F00BC18091E8028F708093E900AF +:101CC0008091EB0085FB882780F91092E90006C01F +:101CD0008091E0029091E102911182609091E80080 +:101CE000977F9093E8008093F1001092F100C8C0B4 +:101CF000282F2D7F09F0EAC0882319F0823061F087 +:101D0000E5C08091E602813009F0E0C0933009F02F +:101D100080E08093E1022BC08091E602811127C010 +:101D20008091E8028F7009F4D1C08093E90020917E +:101D3000EB0020FF1CC0933021F48091EB00806207 +:101D400014C09091EB0090619093EB0021E030E0A3 +:101D5000A90102C0440F551F8A95E2F74093EA009B +:101D60001092EA008091EB0088608093EB00109263 +:101D7000E9008091E800877F86C08111A7C010919B +:101D8000E6021F778091E3008078812B8093E30047 +:101D90008091E800877F8093E8000E944B0C80913F +:101DA000E80080FFFCCF8091E30080688093E3002F +:101DB000111102C082E001C083E08093E30286C07B +:101DC0008058823008F082C08091E6029091E7024C +:101DD0008C3D53E0950779F583E08A838AE2898315 +:101DE0004FB7F894DE01139620E03EE051E2E32F76 +:101DF000F0E050935700E49120FF03C0E295EF70AC +:101E00003F5FEF708E2F90E0EA3010F0C79601C070 +:101E1000C0968D939D932F5F243149F74FBF8091DA +:101E2000E800877F8093E8006AE270E0CE010196C7 +:101E30000E94520B14C0AE014F5F5F4F6091E802E9 +:101E40000E94AF0ABC01009709F440C09091E800DD +:101E5000977F9093E80089819A810E94B50B8091C9 +:101E6000E8008B778093E80031C0803879F5809165 +:101E7000E800877F8093E8008091DF028093F10083 +:101E80008091E8008E778093E8000E944B0C1EC082 +:101E900081111CC09091E6029230C0F48091E8005C +:101EA000877F8093E8009093DF020E944B0C809123 +:101EB000DF02811106C08091E30087FD02C081E04E +:101EC00001C084E08093E3020E94C2098091E8008F +:101ED00083FF0AC08091E800877F8093E8008091AB +:101EE000EB0080628093EB00AA960FB6F894DEBFF9 +:101EF0000FBECDBFDF91CF911F910895CF938091F9 +:101F0000E3028823A1F0C091E900CF709091EC002A +:101F1000892F817090FD80E8C82B1092E900809194 +:101F2000E80083FD0E942D0ECF70C093E900CF9191 +:101F300008950C94A80F87E68093CC001092CD00F2 +:101F400088E08093C90086E08093CA007894089561 +:101F50009091C80095FFFCCF8093CE0008951F920A +:101F60000F920FB60F9211242F933F934F938F939D +:101F70009F93EF93FF9380916F0190E09C012F5FFF +:101F80003F4F40916E01421741F03091CE00FC016D +:101F9000E059FE4F308320936F01FF91EF919F91A5 +:101FA0008F914F913F912F910F900FBE0F901F90E7 +:101FB000189590937502809374020895E0917402CD +:101FC000F0917502309721F00190F081E02D099495 +:101FD00080E00895E0917402F0917502309721F04D +:101FE0000280F381E02D09940895E0917402F0914C +:101FF0007502309721F00480F581E02D0994089551 +:1020000020917202309173028217930771F09093BE +:10201000730280937202E0917402F091750230971E +:1020200021F00680F781E02D099408952091700237 +:10203000309171028217930771F09093710280932F +:102040007002E0917402F0917502309721F00084E3 +:10205000F185E02D0994089508950C942C100E94A8 +:102060001E1B0E942F070E94EC1B0C94AC215F9258 +:102070006F927F928F929F92AF92BF92CF92DF9298 +:10208000EF92FF920F931F93CF93DF9300D000D076 +:102090001F92CDB7DEB70E9474079FE7C92E92E06A +:1020A000D92E03E010E0AA24A394B12C502E802F47 +:1020B0000E94EF074C01F601729062906F01682652 +:1020C000792661147104A1F40150110978F78FEF9A +:1020D00089838A831B820E94271B8160782F9D83BE +:1020E0008C8349815A816B818D810E94E71038C0B1 +:1020F0008091CC0281FD0E94F8072CE030E0750150 +:10210000022E02C0EE0CFF1C0A94E2F7C7018621E2 +:102110009721892B09F129835A828E209F2091E0F3 +:10212000892809F490E09B830E94271B8160782F07 +:102130009D838C8349815A816B818D810E94E71038 +:10214000000F111FF801E958FD4F80819181E826A9 +:10215000F926F182E08204C02150310980F6B4CF23 +:102160000E94DD1E109176020E94DE0F1817D1F03A +:102170000E94DE0F809376020F900F900F900F90C9 +:102180000F90DF91CF911F910F91FF90EF90DF9013 +:10219000CF90BF90AF909F908F907F906F905F9007 +:1021A0000C9419070F900F900F900F900F90DF91E4 +:1021B000CF911F910F91FF90EF90DF90CF90BF9044 +:1021C000AF909F908F907F906F905F900895CF9386 +:1021D000DF93CDB7DEB72B970FB6F894DEBF0FBEF7 +:1021E000CDBF4F83588769877A878B87DE01119629 +:1021F00086E0FD0111928A95E9F785E0FE013796A8 +:1022000001900D928A95E1F749815A816B817C8119 +:102210008D819E810E945E172B960FB6F894DEBFCB +:102220000FBECDBFDF91CF910895CF93882309F4DE +:10223000C2C0C82F823859F40E94DE0F81FDBBC096 +:1022400089E30E94381A0E94BB1A89E30CC08338C4 +:1022500079F40E94DE0F80FDAEC083E50E94381A3B +:102260000E94BB1A83E50E94551ACF910C94BB1AA9 +:10227000843859F40E94DE0F82FD9DC087E40E94DD +:10228000381A0E94BB1A87E4EECF8CEF8C0F813A8C +:1022900048F48C2F0E94152181118DC08C2F0E9433 +:1022A000381AE3CF80E28C0F883048F4C77081E0A1 +:1022B00001C0880FCA95EAF70E94741AD6CF8BE541 +:1022C0008C0F833078F4C53A29F0C63A31F083E8B0 +:1022D00090E005C081E890E002C082E890E0CF91F4 +:1022E0000C94001088E58C0F833108F064C0C83A64 +:1022F00039F1C93A41F1CA3A49F1CB3A51F1CC3AF4 +:1023000059F1CD3A61F1C03B69F1CE3A71F1CF3A62 +:1023100079F1C13B81F1C23B89F1C33B91F1C43BEF +:1023200099F1C53BA1F1C63BA9F1C73BB1F1C83B4F +:10233000B9F1C93BC1F1CA3BC9F180E090E038C0B6 +:1023400082EE90E035C089EE90E032C08AEE90E0F7 +:102350002FC085EB90E02CC086EB90E029C087EB86 +:1023600090E026C08CEC90E023C08DEC90E020C083 +:1023700083E891E01DC08AE891E01AC082E991E00B +:1023800017C084E991E014C081E292E011C083E2B9 +:1023900092E00EC084E292E00BC085E292E008C0B9 +:1023A00086E292E005C087E292E002C08AE292E013 +:1023B000CF910C941610CF910895882309F44BC047 +:1023C000823859F40E94DE0F81FF45C089E30E94E4 +:1023D000381A0E94BB1A89E30CC0833871F40E943A +:1023E000DE0F80FF38C083E50E94381A0E94BB1AB6 +:1023F00083E50E94551A0C94BB1A843859F40E9444 +:10240000DE0F82FF28C087E40E94381A0E94BB1AA0 +:1024100087E4EFCF9CEF980F913A58F390E2980F32 +:10242000983050F4877091E001C0990F8A95EAF7CF +:10243000892F0E947A1ADFCF9BE5980F933020F402 +:1024400080E090E00C940010885A833120F480E002 +:1024500090E00C9416100895882321F00E94741ABD +:102460000C94BB1A0895882321F00E947A1A0C94C8 +:10247000BB1A08957F928F929F92AF92BF92CF9294 +:10248000DF92EF92FF920F931F93CF93DF931F92F0 +:10249000CDB7DEB77C01C62E772EFC0105810295F3 +:1024A0000F70128111110E94911A0E94311A882313 +:1024B00079F0112369F080E28C0D883048F082E0D9 +:1024C0000E941A1A0E94311A91E0D82ED92601C012 +:1024D000D12CE72DE295EF70F0E0E05AFF4F0C941D +:1024E0008523872D807F072D0F70882311F002959B +:1024F000007F112389F0002309F499C180E28C0D3B +:10250000883020F4802F0E94741A03C0802F0E940C +:10251000841A0E94BB1A8BC18C2D0E94DD110023EE +:1025200009F4C3C180E28C0D883020F4802F0E9412 +:102530007A1A03C0802F0E948A1A0E94BB1AB5C162 +:10254000872D807F972D9F70803211F4892F03C0D3 +:10255000892F8295807FCC2021F0F1E0CF16A1F069 +:102560001DC0112339F0002319F1013009F50E9433 +:10257000A41A9BC1002319F0013009F496C1898384 +:102580000E94A71A898110C1112321F0063008F09A +:102590008CC10EC0053008F088C106C1112359F066 +:1025A000002331F0F701958190FF41C19F70958321 +:1025B0000E942C127AC1002309F4F6C03EC1872D77 +:1025C00086958695837090E0009719F0019761F0E9 +:1025D0006CC1112321F08C2D972D937002C080E0E7 +:1025E00090E00E94001061C1112321F08C2D972DE5 +:1025F000937002C080E090E00E94161056C18C2DAE +:10260000112319F00E94E51D02C00E944D1E0E9478 +:10261000D21E4BC1872D837009F052C0111145C1E4 +:102620008C2D829586958770880F880F9C2D9F70C2 +:10263000892E912CA12CB12C082E04C0880C991C39 +:10264000AA1CBB1C0A94D2F7C4FE14C00FE010E011 +:1026500020E030E0B901A80104C0440F551F661FF7 +:10266000771F8A95D2F7CB01BA0160957095809556 +:10267000909503C060E070E0CB01272D269526954C +:10268000237030E02230310569F02330310589F0C4 +:10269000682979298A299B292130310571F00E9406 +:1026A000A61803C1682979298A299B290E94C21882 +:1026B000FCC00E94A618C501B4010E948A18F5C08A +:1026C000112319F0872D817001C08695882309F4A4 +:1026D000ECC08C2D829586958770880F880F9C2D75 +:1026E0009F70892E912CA12CB12C082E04C0880C2F +:1026F000991CAA1CBB1C0A94D2F7C4FE14C00FE09C +:1027000010E020E030E0B901A80104C0440F551FDB +:10271000661F771F8A95D2F7CB01BA016095709535 +:102720008095909503C060E070E0CB01272D269541 +:1027300026952370422F50E04230510569F0433016 +:10274000510589F0682979298A299B294130510549 +:1027500071F00E948019A9C0682979298A299B29CA +:102760000E949C19A2C00E948019C501B4010E9458 +:1027700064199BC08C2D90E0FC01E05EF109E5310D +:10278000F10508F050C0E059FF4F0C9485230C2D43 +:102790000F70872D8F71112321F00E94FD18802F5B +:1027A00007CF0E941E19802F0E9433127EC0112372 +:1027B00041F0053008F079C0872D8F710E944319D0 +:1027C00074C0063008F071C0F7CF112339F0872D9F +:1027D0008F710E94FD1869C01123C9F3872D8F7175 +:1027E0000E941E1962C0112329F0872D8F710E944B +:1027F000E8185BC00E94DE1858C0112351F0172D55 +:102800001F71812F0E94FD1863E0812F0E94111A11 +:102810004CC081E00E941A1A023008F446C082E0DF +:102820000E941A1A42C0112331F0002381F28C2D2C +:102830000E9415113AC0002389F28C2D0E94DD11EF +:1028400034C0472D4F706C2DC7010E9435030E9484 +:1028500002182BC0111129C0472D4F7050E0423093 +:102860005105B9F04CF44115510581F04130510545 +:10287000E1F40E94D42119C04330510569F044307D +:10288000510599F48C2D0E9426220FC00E94BD2173 +:102890000CC00E94F02109C00E94032206C0472DEF +:1028A0004F706C2DC7010E948806DD20F9F00E9450 +:1028B0000D1A80FD1BC0F70112820E94071A0E94A8 +:1028C000FD18C7010E9485140E94071A0F90DF911E +:1028D000CF911F910F91FF90EF90DF90CF90BF901D +:1028E000AF909F908F907F900C941E190F90DF9166 +:1028F000CF911F910F91FF90EF90DF90CF90BF90FD +:10290000AF909F908F907F9008950F931F93CF93D8 +:10291000DF93EC01888199812B813C81232BB9F0D5 +:102920009F3F11F48F3F99F0CE010E9458038823F6 +:1029300071F0688179818A810E94031A8C010E945A +:10294000B8190E947F18B801CE010E943A12DF9197 +:10295000CF911F910F9108950E94911A0E94A11A80 +:102960000E94661A0E94BB1A0E94831F0E94D21EF8 +:1029700080E090E00E94001080E090E00C9416103F +:102980000E94811A0C94AC140E94F819292F2295E8 +:102990002F7030E02C3031054CF42A3031056CF4C6 +:1029A0002250310922303105A8F407C02C303105FE +:1029B00069F02F30310551F00DC0803F69F018F4F7 +:1029C000803E40F409C0843F29F406C093FB882769 +:1029D00080F9089580E0089581E00895CF93DF9312 +:1029E00000D000D01F92CDB7DEB70F900F900F90A0 +:1029F0000F900F90DF91CF910895CF93DF9300D088 +:102A000000D000D0CDB7DEB726960FB6F894DEBF63 +:102A10000FBECDBFDF91CF9108951F93CF93DF936A +:102A2000C0917F0216E080918002C81799F0D0E033 +:102A30001C9FF0011D9FF00D1124EF57FD4F4081A9 +:102A4000518162817381848195810E94FD14219658 +:102A5000C770E9CFDF91CF911F9108954091B102E6 +:102A60005091B2026091B3027091B4028091B502AC +:102A70009091B6020C94FD148091B60282958F70ED +:102A800009F054C08091B302882309F44FC08091AB +:102A90007F02A09180026091B1027091B2024091D8 +:102AA000B4025091B502B6E08A1709F43FC090E035 +:102AB00041155105C1F17F3F11F46F3FA1F1B89F5E +:102AC000F001B99FF00D1124EF57FD4F21817213D2 +:102AD0002AC02081621327C02281211124C02381B2 +:102AE00034812417350710F421503109241B350B8C +:102AF000283C3105C0F42091B6022F70206120934C +:102B0000B60226E0289FF001299FF00D1124EA5714 +:102B1000FD4F80818F708061808381EB92E00E9405 +:102B200085140C940D1501968770BECF0895CF9231 +:102B3000DF92EF92FF920F931F93CF93DF93CDB766 +:102B4000DEB762970FB6F894DEBF0FBECDBF8C0123 +:102B500085E0F801DE011D9601900D928A95E1F75E +:102B6000D8014C9111965C91119712966C91129725 +:102B70001396CD90DC9014973091B1027091B2020F +:102B80008091B4029091B502009709F46BC17F3F28 +:102B900019F43F3F09F466C1E090B302EE2009F456 +:102BA000C0C02091B602C816D90628F0F601E81B6D +:102BB000F90BCF0104C0809590958C0D9D1DFF24CD +:102BC000F394883C910578F0F12C207F09F0C6C081 +:102BD0007C2DD98AC88A89890E94EE1481EB92E003 +:102BE0000E948514B1C0822F807F09F046C0751302 +:102BF00014C0341312C0611110C02F7020612093D3 +:102C0000B6020E942E1581EB92E00E9485148091FD +:102C1000B602D80115968C932EC0CD2819F15F3FCE +:102C200011F44F3FF9F0F62E61111CC080917F0224 +:102C30002091800236E0821709F45AC090E0389F54 +:102C4000F001399FF00D1124EF57FD4F718157139B +:102C500006C07081471303C07281711103C00196D1 +:102C60008770E9CFF62E662309F418C18091B60269 +:102C700081608093B602F12C11C1751308C0341322 +:102C800006C0611104C08091B602D801C3C04D874F +:102C90005E878D859E856A8B0E94C4146A8988230D +:102CA000E1F16623D1F12091B602822F82958F70D7 +:102CB00090E0029774F08091B1029091B2029887EF +:102CC0008F831986DB86CA862C87CE0107960E94E1 +:102CD000851486E0F801A1EBB2E001900D928A958F +:102CE000E1F70E943C150E942E15FF24F394D6C0F4 +:102CF0004D875E878D859E850E94F819292F229524 +:102D00002F7030E0223031050CF0BCC09F7009F00C +:102D1000B6C0805E883008F4C1C0C8010E94851426 +:102D2000E4CFC816D90608F453C0F601E81BF90B26 +:102D3000CF01883C910508F450C0F12C7C2DD98A34 +:102D4000C88A89890E94EE14E1EBF2E086E0DF0197 +:102D50001D928A95E9F70E942E15A0C0751314C024 +:102D6000341312C0611110C08091B602F80185833E +:102D7000C8010E94851486E0E1EBF2E0DF011D92BC +:102D80008A95E9F7FE2C8AC04D875E878D859E85E2 +:102D90006A8B0E94C4146A89882309F4BECF662313 +:102DA00009F4BBCF2091B602822F82958F7090E0FC +:102DB00002970CF48ECF8091B1029091B2029A8367 +:102DC00089831B82DD82CC822E83CE0101967FCF48 +:102DD000809590958C0D9D1DACCFF62E662309F441 +:102DE0009CCF75132EC034132CC02091B60220FD49 +:102DF0001FC0822F82958F70D9F0D80115962C9321 +:102E000015978F3049F08F5F982F9295907F822F82 +:102E10008F70892B15968C93C8010E94851486E0CB +:102E2000F801A1EBB2E001900D928A95E1F793CF02 +:102E300086E0F801A1EBB2E001900D928A95E1F7EE +:102E40002DC04D875E878D859E850E94C41481119B +:102E500040CF8091B60281608093B602C8010E9483 +:102E600085141CC0662309F458CF4D875E878D8575 +:102E70009E850E94C414882309F44FCF2ACF811164 +:102E800048CF0CC0243031050CF047CF9F7009F4B7 +:102E900040CFF8019581907F09F03BCF8F2D62964E +:102EA0000FB6F894DEBF0FBECDBFDF91CF911F915B +:102EB0000F91FF90EF90DF90CF9008951F93CF93E5 +:102EC000DF93CDB7DEB72C970FB6F894DEBF0FBEF9 +:102ED000CDBF4F83588769877A878B879C87CE01C0 +:102EE00007960E949715882369F08F8198852A8517 +:102EF0003B85232BF1F19F3F09F063C08F3F09F021 +:102F000060C037C086E0FE013796DE011196019061 +:102F10000D928A95E1F76F817885EA85FB85309778 +:102F200041F17F3F11F46F3F21F12091800230E0A9 +:102F3000C90101968770992740917F0250E084175C +:102F4000950709F447C069837A83FD83EC8396E093 +:102F5000929FD001939FB00D1124AF57BD4FFE013A +:102F6000319601900D929A95E1F7809380020E942C +:102F70000D1516E080917F02909180028917C1F1B2 +:102F8000189FC00111248F579D4F0E9497158823C9 +:102F900079F1E0917F021E9FF0011124EF57FD4F60 +:102FA0004081518162817381848195810E94FD14E9 +:102FB00080917F0290E001968770992780937F022D +:102FC000D9CF4F81588569857A858B859C850E94EC +:102FD000FD14CFCF0E94C0141092800210927F0285 +:102FE000E1EBF2E086E0DF011D928A95E9F7C1CFBF +:102FF0002C960FB6F894DEBF0FBECDBFDF91CF91F8 +:103000001F910895EF92FF920F931F93CF93DF9339 +:103010008C01009709F46CC0F12CEE24E394E801D4 +:103020002196F8018491843740F4843008F051C02F +:10303000813081F0823019F15BC0853709F444C0DA +:10304000A8F19CE7980F903708F052C08F770E9444 +:10305000DD1141C00E5F1F4FFE01C49180E28C0F55 +:10306000883048F4C7708E2D01C0880FCA95EAF7E2 +:103070000E94941A14C08C2F0E9415112DC00E5F4F +:103080001F4FFE01C49180E28C0F883058F4C77046 +:103090008E2D01C0880FCA95EAF70E949A1A0E94E5 +:1030A000BB1A1AC08C2F0E94DD1116C00E5F1F4F75 +:1030B000FE01C491CC2381F08FE99FE00197F1F7E5 +:1030C00000C00000C150F6CF0E5F1F4FFE01F4900C +:1030D00003C00E9415118E018F2D882309F49FCF04 +:1030E000EFE9FFE03197F1F700C000008150F5CF24 +:1030F000DF91CF911F910F91FF90EF900895089568 +:103100006093BB027093BC028093BD029093BE0299 +:103110000C94AC140F931F930091BB021091BC024E +:103120002091BD023091BE02DC01CB01802B912B9E +:10313000A22BB32B8093BB029093BC02A093BD0241 +:10314000B093BE021F910F910C94AC140F931F9378 +:103150000091BB021091BC022091BD023091BE02D1 +:10316000DC01CB0180239123A223B3238093BB02F4 +:103170009093BC02A093BD02B093BE021F910F9129 +:103180000C94AC140F931F930091BB021091BC02DE +:103190002091BD023091BE02DC01CB018027912736 +:1031A000A227B3278093BB029093BC02A093BD02D9 +:1031B000B093BE021F910F910C94AC141092B70201 +:1031C0001092B8021092B9021092BA020C94AC1488 +:1031D00041E050E060E070E004C0440F551F661FFE +:1031E000771F8A95D2F74093B7025093B802609345 +:1031F000B9027093BA020C94AC1441E050E060E064 +:1032000070E004C0440F551F661F771F8A95D2F7E0 +:103210008091B7029091B802A091B902B091BA0220 +:10322000482B592B6A2B7B2B4093B7025093B80243 +:103230006093B9027093BA020C94AC1441E050E070 +:1032400060E070E004C0440F551F661F771F8A9529 +:10325000D2F740955095609570958091B702909106 +:10326000B802A091B902B091BA02482359236A2347 +:103270007B234093B7025093B8026093B9027093D6 +:10328000BA020C94AC1441E050E060E070E004C07D +:10329000440F551F661F771F8A95D2F78091B7029A +:1032A0009091B802A091B902B091BA02482759276B +:1032B0006A277B274093B7025093B8026093B90204 +:1032C0007093BA020C94AC140F931F930091B70241 +:1032D0001091B8022091B9023091BA02DC01CB0101 +:1032E000802B912BA22BB32B8093B7029093B80223 +:1032F000A093B902B093BA021F910F910C94AC1431 +:103300000F931F930091B7021091B8022091B90258 +:103310003091BA02DC01CB0180239123A223B32395 +:103320008093B7029093B802A093B902B093BA0207 +:103330001F910F910C94AC140F931F930091B7023F +:103340001091B8022091B9023091BA02DC01CB0190 +:1033500080279127A227B3278093B7029093B802C2 +:10336000A093B902B093BA021F910F910C94AC14C0 +:103370000895CF92DF92EF92FF920F931F93CF9316 +:10338000DF938C01C090BB02D090BC02E090BD02E4 +:10339000F090BE028091B7029091B802A091B9025C +:1033A000B091BA02C82AD92AEA2AFB2ACFE1D0E092 +:1033B000D701C6010C2E04C0B695A79597958795A1 +:1033C0000A94D2F780FF06C0B8018C2F0E94E70450 +:1033D000019721F4219760F780E001C08C2FDF91E5 +:1033E000CF911F910F91FF90EF90DF90CF900895B4 +:1033F000CF93DF93EC010E94B919BE010E94E7044C +:10340000DF91CF910895CB010E94F8190895809122 +:10341000BF0285958595859508958091BF02877037 +:10342000089598E0899F90011124262B2093BF02D4 +:103430000C94FD182091BF02809582238093BF02D7 +:10344000982F977069F430E0482F552747FD509525 +:103450002417350729F08595859585950C941E19B7 +:1034600008959091BF02977081E009F480E008957B +:1034700020910C0130910D01F90132969FEF40E04F +:103480005191581789F09F3F19F4511101C0942FA1 +:103490004F5F4630A9F79F3F39F0F901E90FF11D61 +:1034A00097FDFA9582830895089520910C0130913B +:1034B0000D01F9013296285F3F4F9081981301C0AA +:1034C00010823196E217F307C1F7089581E090E08A +:1034D000E0910C01F0910D01E80FF91F10820196A7 +:1034E00088309105A9F708959091CB02892B80939C +:1034F000CB02089580959091CB0289238093CB02D3 +:1035000008951092CB0208959091CA02892B80935E +:10351000CA02089580959091CA0289238093CA02B5 +:1035200008951092CA0208959091C902892B809340 +:10353000C902089580959091C90289238093C90298 +:1035400008951092C90208958093C00208951092C0 +:10355000C002089580910C0190910D01FC013196FB +:103560009C01285F3F4F80E0919191118F5FE2179E +:10357000F307D1F70895E0910C01F0910D018091CE +:10358000CB028083E0910C01F0910D01908180913C +:10359000CA02892B8083E0910C01F0910D0190818A +:1035A0008091C902892B80838091C002882361F0B9 +:1035B000E0910C01F0910D019081892B80830E9494 +:1035C000AA1A81111092C00280910C0190910D01F4 +:1035D0000C94EA0F0E94C01480E00E9402030E9433 +:1035E000AC210E94DE0F0C9419071F920F920FB6A8 +:1035F0000F9211248F939F93AF93BF938091CD022D +:10360000811113C08091CE029091CF02A091D0027F +:10361000B091D1024196A11DB11D8093CE0290932D +:10362000CF02A093D002B093D102BF91AF919F91EE +:103630008F910F900FBE0F901F90189582E084BD60 +:1036400093E095BD9AEF97BD80936E0008952FB7D4 +:10365000F8948091CE029091CF02A091D002B091C7 +:10366000D1022FBF0895CF92DF92EF92FF920F9376 +:103670001F932FB7F8944091CE025091CF026091E2 +:10368000D0027091D1022FBF6A017B01EE24FF248A +:103690008C0120E030E0C016D106E206F30610F4FB +:1036A000415051099A01281B390BC9011F910F91F3 +:1036B000FF90EF90DF90CF9008951F920F920FB67A +:1036C0000F9211248F939F93AF93BF938091CE025B +:1036D0009091CF02A091D002B091D1020196A11D8C +:1036E000B11D8093CE029093CF02A093D002B093ED +:1036F000D102BF91AF919F918F910F900FBE0F900C +:103700001F9018950E949C0CF8942FEF87EA91E681 +:10371000215080409040E1F700C0000087E090EB2E +:10372000DC018093ED029093EE02A093EF02B09340 +:10373000F0029CE088E10FB6F894A89580936000B1 +:103740000FBE90936000FFCFAF92BF92CF92DF92F7 +:10375000EF92FF920F931F93CF93C3E0CC24C394B7 +:10376000D12CE82EF12C8C2F0E94EF075C010CE08D +:1037700010E09601002E02C0220F331F0A94E2F7D8 +:103780002A213B21232B51F0602F7C2F80E00E94C7 +:103790008906E816F90611F481E006C00150110906 +:1037A00040F7C15000F780E0CF911F910F91FF903B +:1037B000EF90DF90CF90BF90AF900895CF93C82F38 +:1037C0008CE20E94A41B882321F08C2FCF910C94B3 +:1037D000A41B80E0CF910895CF930E94341D8111E6 +:1037E00002C00E94151DC5E6C15049F00E94740731 +:1037F0008FE39CE90197F1F700C00000F5CF89E263 +:103800000E94DE1B81110FC18AE20E94DE1B811122 +:103810000E94151D85E00E94DE1B81110E94821B03 +:103820000E943F1D8093CC0287E00E94DE1B88230C +:10383000A9F18BE10E94DE1B882351F08091CC021C +:1038400081FB222720F991E0922790FB81F90EC09D +:103850008EE00E94DE1B882361F08091CC0282FB07 +:10386000222720F991E0922790FB82F98093CC02E5 +:1038700015C080E10E94DE1B9091CC02882341F0AC +:1038800093FB222720F981E0822780FB93F904C073 +:10389000892F809580FB90F99093CC028091CC0287 +:1038A0000E94431D0E94511D90E09093DE02809380 +:1038B000DD0280EE0E94DE1B882341F08091DD0254 +:1038C000982F909590FB80F98093DD0289E30E9408 +:1038D000DE1B882359F08091DD0281FB222720F92D +:1038E00091E0922790FB81F98093DD0282EE0E94A5 +:1038F000DE1B882359F08091DD0282FB222720F90C +:1039000091E0922790FB82F98093DD0286EE0E947F +:10391000DE1B882359F08091DD0283FB222720F9EA +:1039200091E0922790FB83F98093DD0283EE0E9461 +:10393000DE1B882359F08091DD0284FB222720F9C9 +:1039400091E0922790FB84F98093DD0285E30E9449 +:10395000DE1B882359F08091DD0285FB222720F9A8 +:1039600091E0922790FB85F98093DD0281E30E942C +:10397000DE1B882359F08091DD0286FB222720F987 +:1039800091E0922790FB86F98093DD0281E10E940D +:10399000DE1B882359F08091DD0287FB222720F966 +:1039A00091E0922790FB87F98093DD028091DD0200 +:1039B0000E94551D87E20E94DE1BC82F8EE10E94E7 +:1039C000DE1B8111C2608FE10E94DE1B8111C46089 +:1039D00080E20E94DE1B8111C86081E20E94DE1B32 +:1039E0008111C06182E20E94DE1B8111C06283E20C +:1039F0000E94DE1B8111C06484E20E94DE1B8823CA +:103A000011F0C06802C0CC2329F08C2F0E944C1DFD +:103A10006C2F03C00E94481D682F70E080E090E08A +:103A2000CF910C948018CF9108956DEE7EEF80E0D9 +:103A300090E00E94BF2360E082E090E00E94AD230E +:103A400060E083E090E00E94AD2360E084E090E0DD +:103A50000E94AD2360E085E090E00E94AD2360E02D +:103A600086E090E00C94AD2380E090E00E94A723D4 +:103A700021E08D3E9E4F09F020E0822F089582E0E4 +:103A800090E00C949F23682F82E090E00C94AD238B +:103A900083E090E00C949F23682F83E090E00C94E7 +:103AA000AD2384E090E00C949F23682F84E090E0A5 +:103AB0000C94AD2386E090E00C949F23682F86E061 +:103AC00090E00C94AD238091D40280FF0BC06091F4 +:103AD000110185E0689FB001112475956795759572 +:103AE00067952BC081FF09C06091110185E0689F37 +:103AF000B00111247595679520C082FF07C06091C1 +:103B0000110185E0689FB001112417C09091D50282 +:103B10009923D1F060911001961788F72091110137 +:103B200085E0289F90011124929FA001939F500D42 +:103B3000112470E0CA010E9471236038710540F4BD +:103B40006115710539F002C065E070E0862F0895B7 +:103B50008FE7089581E008958091D40280FF08C026 +:103B600060910F0170E0759567957595679521C017 +:103B700081FF06C060910F0170E07595679519C0CF +:103B800082FF04C060910F0170E010C09091D502D7 +:103B90009923C1F060910E019617A0F780910F0153 +:103BA000899FC001112470E00E9471236038710563 +:103BB00028F46115710521F0862F08958FE7089587 +:103BC00081E0089561E070E0F4CF803F21F40E942D +:103BD000631D819504C0813F29F40E94631D809379 +:103BE000D8020895823F21F40E94631D819504C08C +:103BF000833F29F40E94631D8093D7020895893F73 +:103C000019F40E94AC1D05C08A3F31F40E94AC1D1E +:103C100081958093D90208958B3F21F40E94AC1DB9 +:103C2000819504C08C3F29F40E94AC1D8093DA0278 +:103C30000895843F21F48091D602816017C0853FAA +:103C400021F48091D602826011C0863F21F48091D8 +:103C5000D60284600BC0873F21F48091D602886031 +:103C600005C0883F31F48091D60280618093D602EE +:103C700008958D3F21F48091D40281600BC08E3F66 +:103C800021F48091D402826005C08F3F29F4809195 +:103C9000D40284608093D4020895803F39F48091E7 +:103CA000D80287FF6CC01092D80269C0813F29F406 +:103CB0008091D8021816BCF362C09091D702823F5F +:103CC00029F497FF5CC01092D70259C0833F19F4C2 +:103CD0001916CCF354C0893F41F48091D9021816CB +:103CE0000CF04DC01092D9024AC08A3F29F480914D +:103CF000D90287FF44C0F6CF8B3F39F48091DA02B6 +:103D000087FF3DC01092DA023AC08C3F29F48091BF +:103D1000DA021816BCF333C0843F21F48091D60236 +:103D20008E7F17C0853F21F48091D6028D7F11C010 +:103D3000863F21F48091D6028B7F0BC0873F21F410 +:103D40008091D602877F05C0883F31F48091D602EA +:103D50008F7E8093D60213C08D3F21F48091D402D0 +:103D60008E7F0BC08E3F21F48091D4028D7F05C0E1 +:103D70008F3F29F48091D4028B7F8093D40280916D +:103D8000D70281110EC08091D80281110AC08091A2 +:103D9000D902811106C08091DA02811102C010920D +:103DA000D502089586ED92E00E94F50F0E94271B30 +:103DB0009093D3028093D20208951F93CF93DF9301 +:103DC0008091D2029091D3020E94331BAC0190915A +:103DD000D502992321F02091120130E006C02091F4 +:103DE00013018AE0289F900111244217530708F419 +:103DF00086C08091D702C091D802D091D90210918B +:103E0000DA02811107C0C11176C0D11174C011113D +:103E100072C075C09F3F19F09F5F9093D50218162E +:103E200024F40E94631D8093D7028091D70287FFFC +:103E300005C00E94631D81958093D7021C1624F44F +:103E40000E94631D8093D8028091D80287FF05C02D +:103E50000E94631D81958093D8026091D7026623EA +:103E600039F1C091D802CC2319F1772767FD7095FD +:103E7000872F972F0E94762223E333E343E35FE308 +:103E80000E94DA220E9443226093D7026C2F772788 +:103E900067FD7095872F972F0E94762223E333E3E7 +:103EA00043E35FE30E94DA220E9443226093D80238 +:103EB0001D1624F40E94AC1D8093D9028091D90272 +:103EC00087FF05C00E94AC1D81958093D902111611 +:103ED00024F40E94AC1D8093DA028091DA0287FFFD +:103EE00005C00E94AC1D81958093DA02DF91CF91CD +:103EF0001F910C94D21E9F3F09F08ECF96CFDF9179 +:103F0000CF911F910895E6EDF2E085E0DF011D926B +:103F10008A95E9F71092D5021092D4020895833061 +:103F200081F128F4813059F08230D1F00895853044 +:103F300009F449C0B8F1863009F456C0089580915B +:103F40001301262F30E0280F311D2F3F310524F4B7 +:103F5000680F6093130108958FEF80931301089504 +:103F600080911201262F30E0280F311D2F3F31059F +:103F700024F4680F6093120108958FEF809312016B +:103F8000089580911101262F30E0280F311D2F3F19 +:103F9000310524F4680F6093110108958FEF809329 +:103FA0001101089580911001262F30E0280F311D56 +:103FB0002F3F310524F4680F6093100108958FEFAF +:103FC00080931001089580910F01262F30E0280F73 +:103FD000311D2F3F310524F4680F60930F010895C0 +:103FE0008FEF80930F01089580910E01262F30E00E +:103FF000280F311D2F3F310524F4680F60930E0107 +:1040000008958FEF80930E010895833011F128F405 +:10401000813049F0823091F00895853081F120F1AE +:104020008630C1F1089580911301681720F4861B32 +:104030008093130108951092130108958091120145 +:10404000681720F4861B80931201089510921201C4 +:10405000089580911101681720F4861B8093110147 +:10406000089510921101089580911001681720F4AD +:10407000861B80931001089510921001089580917D +:104080000F01681720F4861B80930F01089510928A +:104090000F01089580910E01681720F4861B80930C +:1040A0000E01089510920E0108950F931F93873209 +:1040B00008F040C08E3108F08AC08E3009F474C018 +:1040C000C0F4873009F45EC068F4863009F09AC005 +:1040D0008091CC02817F8E7F8093CC0281E080939F +:1040E000DC0291C0883009F486C08B3009F483C0AB +:1040F00089C0863109F47FC068F4803109F082C03C +:104100008091CC0283FB222720F991E0922790FB3B +:1041100083F953C0893109F46EC08B3109F072C044 +:104120008091CC0281FB222720F991E0922790FB1D +:1041300081F943C0883309F45EC050F4893209F430 +:104140005CC0853309F459C0873209F456C05AC09F +:10415000833409F452C028F48A3308F453C08953D5 +:1041600037C0883409F04EC00E94C0140FEF13ED21 +:1041700020E3015010402040E1F700C000000E9401 +:10418000821B39C09091CC02892F8095817080FB71 +:1041900090F929F0966098609093CC0234C0997F92 +:1041A000977F9093CC0227C08091CC0282FB22277C +:1041B00020F991E0922790FB82F98093CC02992319 +:1041C000D1F08091CC0281608093CC0214C08D51DB +:1041D00041E050E060E070E08A019B0104C0000F04 +:1041E000111F221F331F8A95D2F7C901B8010E94FF +:1041F00080180E94C01481E006C061E070E080E099 +:1042000090E0F5CF80E01F910F91089580E0089530 +:1042100080E008958E518A3030F4E82FF0E0E75CBA +:10422000FE4F8081089580E00895CF93C82F80913C +:10423000DC02813069F018F08230C9F183C0E0916E +:104240000C01F0910D018081823209F07DC007C020 +:10425000E0910C01F0910D018081823261F48C2F8C +:104260000E940621811104C08C2F0E9455201DC080 +:1042700081E090E01AC08C2F0E940821811114C0A7 +:10428000C43179F048F4CB3079F0C03109F060C026 +:1042900082E08093DC0208C0C93219F0C83321F0F3 +:1042A00057C01092DC0254C081E0817053C0C93203 +:1042B00089F118F5C43171F1B0F4C73009F046C086 +:1042C0008EE18093130182E3809312018AE0809350 +:1042D000110184E18093100188E080930F0188E24E +:1042E00080930E0133C082EE8C0F863078F58C2FD0 +:1042F0000E940A218093DB0229C0CE34E9F020F429 +:10430000CB3421F56AE013C0C13579F0C235F1F440 +:1043100061E00DC08091DB02882319F01092DB026E +:1043200015C081E08093DC0215C061E006C0809179 +:10433000DB020E948F1F0AC06AE08091DB020E94AC +:10434000052004C01092DC0280E004C081E002C0BD +:1043500080E0ABCFCF9108950E94341D811102C03F +:104360000E94151D0E945A1D8093EC0280FF02C01E +:10437000869501C080E00C9402038091EC02982F96 +:104380009695292F30E0233031054CF49F5F990F2B +:104390008170892B81608093EC020E945E1D809168 +:1043A000EC0286950C9402038091EC02982F96956E +:1043B00091F09158990F8170892B8093EC028E7F38 +:1043C00091E009F490E08091EC0290FB80F98093F9 +:1043D000EC020E945E1D8091EC0286950C94020313 +:1043E0008091EC02982F909590FB80F98093EC02DD +:1043F0000E945E1D8091EC0280FF02C0869501C084 +:1044000080E00C9402039091EC02892F86958F5FD7 +:104410008F779170843028F4880F892B8093EC0279 +:1044200002C09093EC028091EC028E7F91E009F43F +:1044300090E08091EC0290FB80F98093EC020E9466 +:104440005E1D8091EC0286950C9402032091EC0293 +:10445000922F96958927982F990F822F8170892BFB +:104460008093EC028E7F91E009F490E08091EC0261 +:1044700090FB80F98093EC020E945E1D8091EC021B +:1044800086950C94020304D06894B1118DC00895F0 +:1044900070D088F09F5790F0B92F9927B751A0F0AE +:1044A000D1F0660F771F881F991F1AF0BA95C9F7C8 +:1044B00012C0B13081F077D0B1E0089574C0672F99 +:1044C000782F8827B85F39F0B93FCCF38695779578 +:1044D0006795B395D9F73EF4909580957095619561 +:1044E0007F4F8F4F9F4F0895E89409C097FB3EF48C +:1044F00090958095709561957F4F8F4F9F4F992331 +:10450000A9F0F92F96E9BB279395F69587957795AE +:104510006795B795F111F8CFFAF4BB0F11F460FF6E +:104520001BC06F5F7F4F8F4F9F4F16C0882311F0C6 +:1045300096E911C0772321F09EE8872F762F05C0DA +:10454000662371F096E8862F70E060E02AF09A9575 +:10455000660F771F881FDAF7880F9695879597F96A +:10456000089557FD9058440F551F59F05F3F71F063 +:104570004795880F97FB991F61F09F3F79F08795CA +:104580000895121613061406551FF2CF4695F1DF53 +:1045900008C0161617061806991FF1CF86957105E3 +:1045A000610508940895E894BB2766277727CB0117 +:1045B00097F908950BD078C069D028F06ED018F024 +:1045C000952309F05AC05FC01124EECFCADFA0F3D3 +:1045D000959FD1F3950F50E0551F629FF001729F98 +:1045E000BB27F00DB11D639FAA27F00DB11DAA1FB7 +:1045F000649F6627B00DA11D661F829F2227B00D04 +:10460000A11D621F739FB00DA11D621F839FA00D8E +:10461000611D221F749F3327A00D611D231F849FDE +:10462000600D211D822F762F6A2F11249F57504035 +:104630008AF0E1F088234AF0EE0FFF1FBB1F661FD0 +:10464000771F881F91505040A9F79E3F510570F089 +:1046500014C0AACF5F3FECF3983EDCF386957795C4 +:104660006795B795F795E7959F5FC1F7FE2B880F84 +:10467000911D9695879597F9089597F99F6780E81A +:1046800070E060E008959FEF80EC089500240A94A4 +:104690001616170618060906089500240A9412161D +:1046A0001306140605060895092E0394000C11F450 +:1046B000882352F0BB0F40F4BF2B11F460FF04C0FD +:1046C0006F5F7F4F8F4F9F4F0895991B79E004C014 +:1046D000991F961708F0961B881F7A95C9F7809541 +:1046E000089597FB072E16F4009407D077FD09D0A4 +:1046F0000E948B2307FC05D03EF4909581959F4F37 +:104700000895709561957F4F0895EE0FFF1F0590F6 +:10471000F491E02D0994AA1BBB1B51E107C0AA1F0D +:10472000BB1FA617B70710F0A61BB70B881F991F52 +:104730005A95A9F780959095BC01CD010895F999F6 +:10474000FECF92BD81BDF89A992780B50895A8E162 +:10475000B0E042E050E00C94C723262FF999FECF39 +:1047600092BD81BDF89A019700B4021639F01FBAC4 +:1047700020BD0FB6F894FA9AF99A0FBE08950196E3 +:10478000272F0E94AE230C94AD23DC01CB01FC014A +:10479000F999FECF06C0F2BDE1BDF89A319600B49A +:0E47A0000D9241505040B8F70895F894FFCFA5 +:1047AE00FFF9072309DF08AB08FC0701C10228083F +:1047BE00140A321E4F7953636676496959091929CD +:1047CE00030F1F5F43404D36201405C7049104713B +:1047DE0004FD0316042F0448040102030405060712 +:0447EE0008090000B6 +:00000001FF diff --git a/keyboards/jd45/keymaps/justin/keymap.c b/keyboards/jd45/keymaps/justin/keymap.c new file mode 100644 index 000000000..f261b5463 --- /dev/null +++ b/keyboards/jd45/keymaps/justin/keymap.c @@ -0,0 +1,101 @@ +#include "jd45.h" +#include "backlight.h" + +/* JD45 keymap definition macro + */ +#define KEYMAP( \ + K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, K13, \ + K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, \ + K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, K36, K37, \ + K38, K39, K40, K41, K42, K43, K44, K45, K46, K47 \ +) { \ + { KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K10, KC_##K11, KC_##K12, KC_##K13 }, \ + { KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_NO }, \ + { KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_NO }, \ + { KC_##K38, KC_##K39, KC_##K40, KC_##K41, KC_##K42, KC_NO, KC_##K43, KC_NO, KC_##K44, KC_##K45, KC_##K46, KC_##K47, KC_NO } \ +} + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = KEYMAP( + ESC, Q, W, F, P, G, J, L, U, Y, SCLN, QUOT, BSPC, + FN8, A, R, S, T, D, H, N, E, I, O, ENT, + LSFT, Z, X, C, V, B, K, M, COMM, DOT, SLSH, FN6, + FN4, LGUI, FN7, FN2, FN1, SPC, FN5, RALT, FN3, FN0 ), +[1] = KEYMAP( + TRNS, FN10, FN11, FN12, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, UP, DEL, + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, HOME, PGUP, LEFT, RGHT, + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, END, PGDN, DOWN, TRNS, + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS ), +[2] = KEYMAP( + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, 7, 8, 9, 0, TRNS, TRNS, + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, LBRC, 4, 5, 6, DOT, TRNS, + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, RBRC, 1, 2, 3, BSLS, TRNS, + TRNS,FN29, TRNS, TRNS, TRNS, PAUSE, EQL, MINS, TRNS, TRNS ), +[3] = KEYMAP( + TRNS, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS ), +[4] = KEYMAP( + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, 7, 8, 9, 0, TRNS, TRNS, + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, LBRC, 4, 5, 6, DOT, TRNS, + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, RBRC, 1, 2, 3, BSLS, TRNS, + TRNS,FN29, TRNS, TRNS, TRNS, PAUSE, EQL, MINS, TRNS, TRNS ), +}; + +enum macro_id { + PSWD1, + PSWD2, + PSWD3, +}; + +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_MINS), + [1] = ACTION_LAYER_MOMENTARY(1), // FN1 + [2] = ACTION_LAYER_MOMENTARY(2), // FN2 + [3] = ACTION_LAYER_MOMENTARY(3), // FN3 + [4] = ACTION_MODS_TAP_KEY(MOD_LSFT, KC_GRV), + [5] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_RGUI), + [6] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_CAPS), + [7] = ACTION_LAYER_MODS(4, MOD_LSFT), // FN4 + [8] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_TAB), + + [10] = ACTION_MACRO(PSWD1), + [11] = ACTION_MACRO(PSWD2), + [12] = ACTION_MACRO(PSWD3), + + [29] = ACTION_BACKLIGHT_TOGGLE(), + [30] = ACTION_BACKLIGHT_INCREASE(), + [31] = ACTION_BACKLIGHT_DECREASE() + +}; + +/* + * Macro definition + */ +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch (id) { + case PSWD1: + return (record->event.pressed ? + MACRO( I(0), T(1), T(2), T(3), T(4), T(5), T(6), T(7), T(8), T(ENT), END ) : + MACRO_NONE ); + case PSWD2: + return (record->event.pressed ? + MACRO( I(0), T(1), T(2), T(3), T(4), T(5), T(6), T(7), T(8), T(ENT), END ) : + MACRO_NONE ); + case PSWD3: + return (record->event.pressed ? + MACRO( I(0), T(1), T(2), T(3), T(4), T(5), T(6), T(7), T(8), T(ENT), END ) : + MACRO_NONE ); + //case VOLUP: + // return (record->event.pressed ? + // MACRO( D(VOLU), U(VOLU), END ) : + // MACRO_NONE ); + //case ALT_TAB: + // return (record->event.pressed ? + // MACRO( D(LALT), D(TAB), END ) : + // MACRO( U(TAB), END )); + } + return MACRO_NONE; +} -- cgit v1.2.3-24-g4f1b