From d9e4dad0a828a8a904f44dda090a4d6d08fe2948 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Sat, 11 Jun 2016 13:31:31 -0400 Subject: Makefile redo & other features (#395) * .build containment implemented * no destructive variable setting - builds in either folder * make from 3 places * cleans before each build * make from root with keyboard=keyboard, keymap=keymap * make from keyboard/keyboard with keymap=keymap * make from keymaps/keymap * only implemented on planck * adds color diag to avr-gcc * makefiles for all plancks, clean-up * quick build-all makefile for plancks * reformatting of make output (colors) * color toggle, tmk path corrections * correct if statement for color * move config.h to main makefile, updates preonic, atomic * format update, all keyboards targets * makefile optional for build all target, alps and arrow_pad updated * alps updated * make planck default, trying out travis recipe for all-keyboards * all-keymaps target, different travis recipe * updates alps64 * updates keyboards to new format * updates clue* projects * all projects updated, specialise EZ .hex, let .hex through * updates travis * automatically find root, keyboard, keymap * silent echo, cleaned-up mass make output * updates all keyboards' .hex files except EZ * Rename Bantam44.c to bantam44.c * Rename Bantam44.h to bantam44.h * nananana * adds six key keyboard * does same to ez as rest * updates send_string example * brings ergodox_ez up to date * updates template/new project script * adds sixkeyboard * adds readme for sixkeyboard * adds sixkeyboard to travis * filenames, gitignore mess * define clock prescaler stuff manually * make quick, size test example * documentation and dfu-no-build --- keyboard/jd45/Makefile | 60 +- keyboard/jd45/keymaps/default.c | 31 - keyboard/jd45/keymaps/default/compiled.hex | 1113 +++++++++++++++++++++++++++ keyboard/jd45/keymaps/default/keymap.c | 31 + keyboard/jd45/keymaps/justin.c | 101 --- keyboard/jd45/keymaps/justin/compiled.hex | 1154 ++++++++++++++++++++++++++++ keyboard/jd45/keymaps/justin/keymap.c | 101 +++ 7 files changed, 2415 insertions(+), 176 deletions(-) delete mode 100644 keyboard/jd45/keymaps/default.c create mode 100644 keyboard/jd45/keymaps/default/compiled.hex create mode 100644 keyboard/jd45/keymaps/default/keymap.c delete mode 100644 keyboard/jd45/keymaps/justin.c create mode 100644 keyboard/jd45/keymaps/justin/compiled.hex create mode 100644 keyboard/jd45/keymaps/justin/keymap.c (limited to 'keyboard/jd45') diff --git a/keyboard/jd45/Makefile b/keyboard/jd45/Makefile index d270a6f8a..17888d544 100644 --- a/keyboard/jd45/Makefile +++ b/keyboard/jd45/Makefile @@ -38,28 +38,8 @@ # To rebuild project do "make clean" then "make all". #---------------------------------------------------------------------------- -# Target file name (without extension). -TARGET = jd45 - - -# Directory common source filess exist -TOP_DIR = ../.. -TMK_DIR = ../../tmk_core - -# Directory keyboard dependent files exist -TARGET_DIR = . - # # project specific files -SRC = jd45.c \ - backlight.c - -ifdef KEYMAP - SRC := keymaps/keymaps/(KEYMAP).c $(SRC) -else - SRC := keymaps/default.c $(SRC) -endif - -CONFIG_H = config.h +SRC = backlight.c # MCU name #MCU = at90usb1287 @@ -114,27 +94,19 @@ 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 +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 - - -# Optimize size but this may cause error "relocation truncated to fit" -#EXTRALDFLAGS = -Wl,--relax - -# Search Path -VPATH += $(TARGET_DIR) -VPATH += $(TOP_DIR) -VPATH += $(TMK_DIR) - -include $(TOP_DIR)/quantum/quantum.mk - +# 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/keyboard/jd45/keymaps/default.c b/keyboard/jd45/keymaps/default.c deleted file mode 100644 index 05dd46e79..000000000 --- a/keyboard/jd45/keymaps/default.c +++ /dev/null @@ -1,31 +0,0 @@ -#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/keyboard/jd45/keymaps/default/compiled.hex b/keyboard/jd45/keymaps/default/compiled.hex new file mode 100644 index 000000000..ea8cb1aae --- /dev/null +++ b/keyboard/jd45/keymaps/default/compiled.hex @@ -0,0 +1,1113 @@ +:100000000C947F010C94C3010C94C3010C94C301A4 +:100010000C94C3010C94C3010C94C3010C94C30150 +:100020000C94C3010C94C3010C94E80B0C94BA0C0F +:100030000C94C6190C94C3010C94C3010C94C30115 +:100040000C94C3010C94C3010C94C3010C94C30120 +:100050000C94C3010C942E1A0C94C3010C94C3018C +:100060000C94C3010C94800E0C94C3010C94C30136 +:100070000C94C3010C94C3010C94C3010C94C301F0 +:100080000C94C3010C94C3010C94C3010C94C301E0 +:100090000C94C3010C94C3010C94C3010C94C301D0 +:1000A0000C94C3010C94C3010C94C301270D490D9A +:1000B000370E490D370E8E0DB10D370E060E190E87 +:1000C0004211421171117111B011D0112613261372 +:1000D000DB1126138B128B12F212FB122613201344 +:1000E00098129812981298129812981298129812C0 +:1000F00098129812981298129812981298129812B0 +:10010000A812B612BD12C412CE12290014001A0091 +:100110000800150017001C0018000C001200130046 +:1001200034002A002B0004001600070009000A0012 +:100130000B000D000E000F00330028000000E1004E +:100140001D001B00060019000500110010003600FC +:1001500037003800E50000004800E000E2004C00F5 +:100160002C0000004C0000005000520051004F00D5 +:1001700000000A034A004400340035000000120366 +:100180006700650065006B006800610063006B003C +:1001900000000403090409027400040100A0FA0924 +:1001A0000400000103010100092111010001223FA7 +:1001B000000705810308000A090401000103010288 +:1001C00000092111010001224D00070582030800EA +:1001D0000A090402000103000000092111010001C5 +:1001E0002236000705830308000A090403000203FE +:1001F00000000009211101000122200007058403ED +:100200002000010705040320000112011001000075 +:100210000008EDFE60600100010200010631FF09E7 +:1002200074A1010975150025FF9520750881020943 +:1002300076150025FF952075089102C005010980FB +:10024000A101850216010026B7001A01002AB70095 +:10025000751095018100C0050C0901A101850316E7 +:100260000100269C021A01002A9C0275109501814A +:1002700000C005010902A1010901A1000509190138 +:100280002905150025019505750181029501750364 +:1002900081010501093009311581257F9502750815 +:1002A000810609381581257F950175088106050CA1 +:1002B0000A38021581257F950175088106C0C005A1 +:1002C000010906A101050719E029E7150025019597 +:1002D0000875018102950175088101050819012938 +:1002E00005950575019102950175039101050719A1 +:1002F0000029FF150025FF950675088100C011240F +:100300001FBECFEFDAE0DEBFCDBF04B603FE24C0D0 +:100310008091EC029091ED02A091EE02B091EF027B +:100320008730904BA740B04BB9F41092EC0210927A +:10033000ED021092EE021092EF0214BE84B7877F96 +:1003400084BF88E10FB6F89480936000109260003B +:100350000FBEE0E0F8E3099511E0A0E0B1E0EEE2C5 +:10036000F5E402C005900D92A434B107D9F712E06C +:10037000A4E4B1E001C01D92AC3EB107E1F70E94D8 +:1003800053090C9495220C940000279A2F988FEF14 +:100390009FEF90938700809386008AE0809380008F +:1003A00089E1809381000C946C20282F81110BC06F +:1003B00080918000877F8093800010928D00109242 +:1003C0008C002F9808952F988091800088608093EA +:1003D0008000233019F48FEF9FEF0FC083E090E08F +:1003E000821B9109880F991F2FEF3FEFA90102C0CF +:1003F000569547958A95E2F7CA0190938D008093B0 +:100400008C000895089508950E94C50182E092E04D +:10041000892B11F00C940202089583E092E0892B5D +:1004200011F00C940302089581E0089581E008958D +:100430000C94160208950F931F93CF93DF938C01B2 +:10044000FC01C081D181CE010E948A18BE010E94A8 +:10045000CB02EC01B8010E941802882309F48DC078 +:10046000F8018281882309F44AC080914F018111EB +:100470001FC0C431F0E5DF0709F051C00E941A0225 +:1004800081E080934F010E94F81990934E01809370 +:100490004D011092460110924801109247011092AE +:1004A0004A011092490110924C0110924B0165C013 +:1004B00080914D0190914E010E94041A883C910553 +:1004C00070F480914601E82FF0E0EE0FFF1FE95B2A +:1004D000FE4FD183C0838F5F809346014EC0C438E6 +:1004E00080E5D80721F0C538D04501F13AC0F801C0 +:1004F0008281882341F01092440182E01EC0C438FA +:10050000E0E5DE0759F580914401811106C086E2DD +:100510000E94E60F86E20E94AE1082E01CC0C43842 +:10052000F0E5DF0741F3C538D045D9F4F801828101 +:10053000882331F01092450180E20E94FD101DC019 +:1005400080914501811106C087E20E94E60F87E293 +:100550000E94AE1080E20E9404110FC0C538D04541 +:1005600029F381E08093440180934501C801DF9124 +:10057000CF911F910F910C94140280E0DF91CF91E5 +:100580001F910F9108950C9404020C940D0280E0C9 +:1005900090E0089508959DE0799FF001112494E37F +:1005A000899FE00DF11D1124E60FF11DEE0FFF1FD5 +:1005B000E65FFE4F859194910895880F991FFC0185 +:1005C000E657F040859194910895880F991FFC019A +:1005D000E65FFE4F8591949108950F931F93CF93FB +:1005E000DF93EC01811521E39207A0F5C11580E3AB +:1005F000D80708F0D7C0C83ED105D8F4C03ED10511 +:1006000008F003C2C83AD10578F4C53AD10508F01C +:100610006AC0C130D10509F463C008F4F3C1C43025 +:10062000D10508F0F2C1EEC1CB3BD10508F466C09C +:10063000E9C1C11590E2D90708F0AFC0C11521E0AA +:10064000D20708F0E2C1C03FD10508F4DBC18E013A +:1006500010651BC2C03880E5D80700F5C03790E5AB +:10066000D90708F0A3C0C11520E5D20709F4ACC032 +:1006700050F4CE01905480319F4008F0C3C1DF7028 +:100680008E01106A02C2C13080E5D80709F4AAC001 +:10069000C43190E5D90708F4ABC0B4C1C33820E534 +:1006A000D20709F48EC050F4C13890E5D90709F497 +:1006B00082C008F083C000E011EDE7C1C03181E5E0 +:1006C000D80708F49FC1C11597E5D90708F432C1CE +:1006D000CE0190578115904108F094C1DF708FC111 +:1006E00001E010E0D2C1C53AD10509F490C1C63A83 +:1006F000D10509F08FC102E810E4C7C1C83AD1059D +:1007000009F48BC1C93AD10509F48AC1CA3AD105A5 +:1007100009F489C1CB3AD10509F488C1CC3AD10595 +:1007200009F487C1CD3AD10509F486C1C03BD10592 +:1007300009F485C1CE3AD10509F484C1CF3AD10577 +:1007400009F483C1C13BD10509F482C1C23BD10583 +:1007500009F481C1C33BD10509F480C1C43BD10573 +:1007600009F47FC1C53BD10509F47EC1C63BD10563 +:1007700009F47DC1C73BD10509F47CC1C83BD10553 +:1007800009F47BC1C93BD10509F47AC1CA3BD10543 +:1007900009F479C100E014E478C1CE019F700E9491 +:1007A000E50274C1DD278E01106C6FC1CF70DD27AB +:1007B0008E01146D6AC100E010ED67C100E012ED1A +:1007C00064C100E013ED61C10E9491138FEF94E3C7 +:1007D0002CE0815090402040E1F700C000000E94D2 +:1007E000531A53C18091CC0281608093CC024DC1D9 +:1007F0000E94FE1B811102C00E94DF1B0E941B1C75 +:1008000090E09093EB028093EA02C23080E5D80733 +:1008100021F48091EA02816086C0C43090E5D90756 +:1008200021F48091EA0282607EC0C63020E5D207C2 +:1008300021F48091EA02846076C0C83080E5D80750 +:1008400019F48091EA0227C0CA3090E5D90721F453 +:100850008091EA02806167C0CC3020E5D20721F4A4 +:100860008091EA0280625FC0CE3080E5D80721F433 +:100870008091EA02806457C0C03190E5D90721F425 +:100880008091EA0280684FC0C23120E5D20729F486 +:100890008091EA028460886046C0C33080E5D80752 +:1008A00021F48091EA028E7F3EC0C53090E5D907E1 +:1008B00021F48091EA028D7F36C0C73020E5D2074F +:1008C00021F48091EA028B7F2EC0C93080E5D807E1 +:1008D00019F48091EA0226C0CB3090E5D90721F4C3 +:1008E0008091EA028F7E1FC0CD3020E5D20721F42F +:1008F0008091EA028F7D17C0CF3080E5D80721F4C0 +:100900008091EA028F7B0FC0C13190E5D90721F4B5 +:100910008091EA028F7707C0C331D04531F48091CE +:10092000EA028B7F877F8093EA028091EA020E942D +:100930001F1CABC08D2F99278F709927813091058F +:10094000D9F49E012370332702C0880F991F2A957E +:10095000E2F79C688E0144E0000F111F4A95E1F711 +:1009600000271370802B912B53E0CC0FDD1F5A957D +:10097000E1F7C076DD272FC08230910531F4DC2FFE +:10098000CC278E01016F106A80C08330910569F415 +:10099000CE018370992701E010E002C0000F111F03 +:1009A0008A95E2F7C8019C680FC084309105B9F4BC +:1009B000CE018370992701E010E002C0000F111FE3 +:1009C0008A95E2F7C8019A6823E0CC0FDD1F2A95CB +:1009D000E1F7C07ED7708C010C2B1D2B56C08530E3 +:1009E000910531F4DC2FCC278E01046F106A4DC0C5 +:1009F000069709F04AC0CF71DD27DC2FCC278E0186 +:100A0000106243C000E010E040C08E013EC001E82B +:100A100010E43BC003E810E438C002EE14E435C033 +:100A200009EE14E432C00AEE14E42FC005EB14E41E +:100A30002CC006EB14E429C007EB14E426C00CEC30 +:100A400014E423C00DEC14E420C003E815E41DC039 +:100A50000AE815E41AC002E915E417C004E915E430 +:100A600014C001E216E411C003E216E40EC004E271 +:100A700016E40BC005E216E408C006E216E405C061 +:100A800007E216E402C00AE216E4C801DF91CF9142 +:100A90001F910F9108959DE0799FF001112494E337 +:100AA000899FE00DF11D1124E60FF11DEE0FFF1FD0 +:100AB000E65FFE4F85919491803E9105E0F4803C85 +:100AC000910558F58133910509F46FC048F48932D6 +:100AD000910509F463C08A32910509F46DC072C0B2 +:100AE00089339105E9F082389105D1F0853391057C +:100AF00009F44DC067C0833E910581F138F4803E12 +:100B00009105B9F0823E9105D9F05CC0863E910511 +:100B100061F1873E9105A1F155C00E94DD02089563 +:100B20002091EA0220FD02C021FF4CC080EE90E03F +:100B300049C08091EA0280FFF9CF89E390E042C08A +:100B40008091EA0282FF0EC08091EA0284FF03C016 +:100B500080E090E037C083EE90E034C08091EA02FC +:100B600082FFF2CF82EE90E02DC08091EA0283FFF7 +:100B70000BC08091EA0284FDEBCF87EE90E022C0AB +:100B80008091EA0283FFF5CF86EE90E01BC0809152 +:100B9000EA0285FF07C089E290E014C08091EA0272 +:100BA00085FFF9CF85E390E00DC08091EA0286FFD2 +:100BB00007C08AE290E006C08091EA0286FFF9CF82 +:100BC00081E390E00E94ED02089508950C94E505FC +:100BD000E82FF0E0EF5DFE4F8081E82FEF70F0E04E +:100BE00082958F7021E030E0A90102C0440F551FAB +:100BF0008A95E2F740A308950F931F93CF93DF9355 +:100C000085B7806885BF85B7806885BFC3E0D0E0C1 +:100C100001E010E0FE01EF5DFE4F8081E82FEF70F4 +:100C2000F0E021A182958F70A80102C0440F551FEA +:100C30008A95E2F7CA01822B81A38C2F0E94E805D6 +:100C4000219740F78CE090E061E070E0FC01EC5E01 +:100C5000FE4F2081E22FEF70F0E042A122952F702D +:100C6000DB0102C0AA0FBB1F2A95E2F79D01242BCE +:100C700022A3019758F7DF91CF911F910F910C9408 +:100C8000C302EF92FF920F931F93CF93DF9308E578 +:100C900011E0C3E0EE24E394F12CD5E08C2F0E9408 +:100CA000E8058CE090E040E050E0FC01EC5EFE4F97 +:100CB0006081E62FEF70F0E020A130E062956F7068 +:100CC00002C0359527956A95E2F720FD09C0970186 +:100CD000082E02C0220F331F0A94E2F7422B532B37 +:100CE000019718F7F801929182918F018417950767 +:100CF00021F051834083D09300018C2F0E94E8059E +:100D0000C15060F68091000187FD2CC08150809316 +:100D100000018F3F39F08FE99FE00197F1F700C0A4 +:100D2000000020C0809156019091570190935F017F +:100D300080935E01809154019091550190935D01E3 +:100D400080935C01809152019091530190935B01DB +:100D500080935A01809150019091510190935901D3 +:100D6000809358010E94C50281E0DF91CF911F91CD +:100D70000F91FF90EF900895E82FF0E0EE0FFF1F26 +:100D8000E85AFE4F808191810895089580916C0109 +:100D900008950F931F93CF93DF9300D000D01F923D +:100DA000CDB7DEB79C018091610190916201281757 +:100DB000390709F493C03093620120936101223E08 +:100DC0003105F1F1293E310559F12A3E310559F13C +:100DD000253B310559F1263B310551F1273B3105C2 +:100DE00051F12C3C310561F12D3C310531F12338B5 +:100DF00081E0380729F12A3891E0390709F12239D1 +:100E000081E03807E9F0243991E03907C9F021324F +:100E100082E03807B9F0233292E0390789F415C02F +:100E200090E040E114C090E040E211C092E001C0C7 +:100E300094E040E00CC090E1FCCF90E040E407C0BB +:100E400090E0F7CF90E044E002C090E041E08901FB +:100E50008DEF4C839D830E946A0E80E00E946A0E93 +:100E600082E00E946A0E4C81842F0E946A0E9D814E +:100E7000892F0E946A0E80E00E946A0E80E00E9424 +:100E80006A0E80E00E946A0E80E00E946A0E8091E5 +:100E9000E102843019F583E089831B830A83809300 +:100EA000E9008FEF9091E800815095FD06C095ED27 +:100EB0009A95F1F700008111F5CF8091E80085FF48 +:100EC0000DC040E050E063E070E0CE0101960E946A +:100ED000D8098091E8008E778093E8000F900F90FA +:100EE0000F900F900F90DF91CF911F910F91089568 +:100EF000CF93DF9300D01F92CDB7DEB72091E102F0 +:100F0000243021F522E029839B838A8383E0809328 +:100F1000E9008FEF9091E800815095FD06C095EDB6 +:100F20009A95F1F700008111F5CF8091E80085FFD7 +:100F30000DC040E050E063E070E0CE0101960E94F9 +:100F4000D8098091E8008E778093E8000F900F9089 +:100F50000F90DF91CF910895CF93DF93EC018DEF48 +:100F60000E946A0E80E00E946A0E83E00E946A0E70 +:100F700088810E946A0E89810E946A0E8A810E947D +:100F80006A0E8B810E946A0E8C810E946A0E80E03C +:100F90000E946A0E8091E1028430F9F482E080932D +:100FA000E9008FEF9091E800815095FD06C095ED26 +:100FB0009A95F1F700008111F5CF8091E80085FF47 +:100FC0000CC040E050E065E070E0CE010E94D8091E +:100FD0008091E8008E778093E800DF91CF910895AB +:100FE000EF92FF920F931F93CF93DF93EC018DEF5E +:100FF0000E946A0E8E017E0188E0E80EF11CF80165 +:1010000081918F010E946A0E0E151F05C1F7809114 +:10101000E102843039F581E08093E9008FEF90910F +:10102000E800815095FD06C0F5EDFA95F1F7000056 +:101030008111F5CF8091E80085FF14C040E050E0B9 +:1010400068E070E0CE010E94D8098091E8008E77B8 +:101050008093E80088E0FE01A4E6B1E001900D92E3 +:101060008A95E1F7DF91CF911F910F91FF90EF905B +:1010700008958091E002811109C00E946D0B0E94C9 +:10108000CA0B8091E20084608093E2000895109280 +:10109000E0020895089508950C94BB192091600111 +:1010A0002F5F822F62E30E942522992319F020935B +:1010B000600108951092600180916301882371F1AD +:1010C0008091E102843041F58091E9008F70209198 +:1010D000EC00922F917020FD90E8892B94E0909382 +:1010E000E9009091EB0090FF14C09091EE0097FF03 +:1010F00010C09091E80095FF03C01092F100F9CF65 +:101100009091E80090FF05C09091E8009E77909341 +:10111000E8008F708093E90010926301089542E027 +:1011200061EC81E00E94E70A42E061EC82E00E940B +:10113000E70A42E061EC83E00E94E70A42E261ECE8 +:1011400084E00C94E70A8091E302833009F453C0F1 +:1011500030F4813071F0823009F48CC008958A3007 +:1011600009F478C08B3009F45EC0893009F09AC068 +:1011700020C08091E202813A09F094C08091E80099 +:10118000877F8093E8008091E6029091E702892BA7 +:1011900021F468E084E691E003C060E080E090E044 +:1011A00070E00E94230A8091E8008B778093E8002A +:1011B00008958091E202813209F074C08091E602C4 +:1011C0009091E702892B09F06DC08091E800877F3C +:1011D0008093E8008091E80082FD05C08091E102E3 +:1011E0008111F8CF5FC08091F10080936C018091F4 +:1011F000E8008B7753C08091E202813A09F052C037 +:101200008091E6029091E702892B09F04BC0809112 +:10121000E800877F8093E8008091E80080FFFCCFA2 +:1012200080910B0136C08091E2028132D9F5809124 +:10123000E6029091E702892BA9F58091E800877F6B +:101240008093E8000E941C0B8091E40280930B01C4 +:101250000C9491138091E202813221F58091E80093 +:10126000877F8093E8000E941C0B8091E5028093A9 +:101270006D0108958091E202813AA1F48091E80025 +:10128000877F8093E8008091E80080FFFCCF809109 +:101290006D018093F1008091E8008E778093E800E3 +:1012A0000C941C0B089584B7877F84BF88E10FB628 +:1012B000F89480936000109260000FBE90E080E888 +:1012C0000FB6F89480936100909361000FBE0E9466 +:1012D000FE0E0E946D0B0E94CA0B8091E20084609A +:1012E0008093E20078940E946C0E0E944F0E0E9440 +:1012F000000F81E091E00E94AA0E0E94080FFDCF2E +:10130000292F332723303105C9F064F4213031050A +:1013100081F02230310509F043C084E790E026E9EE +:1013200031E042C021323105F1F02232310541F184 +:1013300037C082E190E02AE032E036C09927813060 +:10134000910541F08230910541F0892B49F5E2E9A0 +:10135000F1E005C0EEE7F1E002C0E2E7F1E08491E0 +:1013600090E09F0121C06430D8F4E62FF0E0EE0F4A +:10137000FF1FEF5CFE4F2081318189E090E014C0B7 +:10138000643070F470E0FB01EE0FFF1FE75DFE4F6D +:1013900020813181FB01EB5DFE4F808190E004C034 +:1013A00080E090E020E030E0FA013183208308956E +:1013B000CF92DF92EF92FF920F931F93CF93DF9321 +:1013C000EC018B016A010E943B0B811133C0C114F7 +:1013D000D10439F0F60180819181081B190BC80FE7 +:1013E000D91FE12CF12C0115110519F18091E800AC +:1013F00085FD16C08091E8008E778093E800C114C7 +:10140000D10449F0F60180819181E80EF91EF18244 +:10141000E08285E00FC00E943B0B882321F30AC0C5 +:1014200089918093F10001501109FFEFEF1AFF0A33 +:10143000DACF80E0DF91CF911F910F91FF90EF9075 +:10144000DF90CF9008952091E8023091E9022617AD +:10145000370748F06115710539F42091E8002E77BF +:101460002093E80001C0B90140E061157105A9F1C0 +:101470002091E102222309F443C0253009F442C03F +:101480002091E80023FD40C02091E80022FD32C0F9 +:101490002091E80020FFE9CF4091F3002091F20075 +:1014A00030E0342BFC01CF016115710559F0283073 +:1014B000310540F481918093F100615071092F5FF3 +:1014C0003F4FF1CF41E02830310509F040E0209155 +:1014D000E8002E772093E800C8CF4111C9CF0AC099 +:1014E0008091E102882361F0853061F08091E8000D +:1014F00083FD0AC08091E80082FFF2CF80E008956A +:1015000082E0089583E0089581E008952091E80243 +:101510003091E9022617370748F06115710539F453 +:101520002091E8002E772093E80001C0B901FC016A +:1015300020E06115710591F18091E102882309F4A1 +:1015400040C0853009F43FC08091E80083FD3DC074 +:101550008091E80082FD2FC08091E80080FFE9CFF4 +:101560002091F3008091F20090E0922B61157105BB +:1015700059F08830910540F424912093F100319680 +:10158000615071090196F2CF21E0089709F020E03F +:101590008091E8008E778093E800CBCF2111CCCFEB +:1015A0000AC08091E102882361F0853061F080916A +:1015B000E80083FD0AC08091E80082FFF2CF80E05E +:1015C000089582E0089583E0089581E00895982FBA +:1015D000973058F59093E900981739F07091EC0026 +:1015E0002091ED005091F00003C0242F762F50E0A1 +:1015F00021FF19C03091EB003E7F3093EB0030911A +:10160000ED003D7F3093ED003091EB003160309381 +:10161000EB007093EC002093ED005093F0002091CC +:10162000EE0027FF07C09F5FD3CF8F708093E90044 +:1016300081E0089580E008958091E20287FF11C063 +:101640008091E80082FD05C08091E1028111F8CF10 +:1016500011C08091E8008B770BC08091E102882354 +:1016600049F08091E80080FFF8CF8091E8008E7704 +:101670008093E80008952091E4003091E50095E61C +:101680004091EC00842F817040FF22C08091E800DF +:1016900080FD1CC08091E102882391F0853091F09B +:1016A0008091EB0085FD10C04091E4005091E50071 +:1016B0004217530729F39A01915011F784E00895D6 +:1016C00082E0089583E0089581E0089580E0089520 +:1016D0004091E80042FFDECF08950E94DB0B0E949C +:1016E000E30BE0EEF0E0808181608083E8EDF0E0E4 +:1016F00080818F77808319BCA7EDB0E08C918E7FBD +:101700008C9380818F7E80831092E00208950F93E6 +:101710001F93CF93DF930E94DB0B0E94E30BC8ED76 +:10172000D0E088818F7788838881806888838881EA +:101730008F7D888319BC1092E1021092DD02109215 +:10174000DF021092DE0200EE10E0F80180818B7F54 +:10175000808388818160888342E060E080E00E942D +:10176000E70AE1EEF0E080818E7F8083E2EEF0E038 +:10177000808181608083808188608083F80180819E +:101780008E7F8083888180618883DF91CF911F91D4 +:101790000F910895E8EDF0E080818F7E8083E7ED82 +:1017A000F0E080818160808384E082BF81E080936B +:1017B000E0020C94870BE8EDF0E080818E7F80835F +:1017C0001092E20008951092DA001092E10008955C +:1017D0001F920F920FB60F9211242F933F934F93A6 +:1017E0005F936F937F938F939F93AF93BF93EF9389 +:1017F000FF938091E10082FF0BC08091E20082FFA5 +:1018000007C08091E1008B7F8093E1000E944E0829 +:101810008091DA0080FF1FC08091D80080FF1BC03C +:101820008091DA008E7F8093DA008091D90080FF6A +:101830000DC080E189BD82E189BD09B400FEFDCF04 +:1018400081E08093E1020E94390805C019BC109222 +:10185000E1020E9447088091E10080FF19C0809159 +:10186000E20080FF15C08091E2008E7F8093E2004D +:101870008091E20080618093E2008091D8008062D4 +:101880008093D80019BC85E08093E1020E944B0848 +:101890008091E10084FF30C08091E20084FF2CC081 +:1018A00080E189BD82E189BD09B400FEFDCF809150 +:1018B000D8008F7D8093D8008091E1008F7E809347 +:1018C000E1008091E2008F7E8093E2008091E2004F +:1018D00081608093E2008091DD02882311F084E032 +:1018E00007C08091E30087FD02C081E001C083E072 +:1018F0008093E1020E944C088091E10083FF29C09F +:101900008091E20083FF25C08091E100877F809372 +:10191000E10082E08093E1021092DD028091E1001B +:101920008E7F8093E1008091E2008E7F8093E200C1 +:101930008091E20080618093E20042E060E080E01C +:101940000E94E70A8091F00088608093F0000E9476 +:101950004A08FF91EF91BF91AF919F918F917F9135 +:101960006F915F914F913F912F910F900FBE0F900C +:101970001F9018951F920F920FB60F9211242F935C +:101980003F934F935F936F937F938F939F93AF9307 +:10199000BF93CF93DF93EF93FF93C091E900CF7094 +:1019A0008091EC00D82FD17080FDD0E81092E90032 +:1019B0008091F000877F8093F00078940E94FE0C65 +:1019C0001092E9008091F00088608093F000CD2BA8 +:1019D000CF70C093E900FF91EF91DF91CF91BF915C +:1019E000AF919F918F917F916F915F914F913F91B7 +:1019F0002F910F900FBE0F901F9018951F93CF93AC +:101A0000DF93CDB7DEB7AA970FB6F894DEBF0FBE4F +:101A1000CDBFE2EEF2E088E08E0F9091F10091935D +:101A20008E13FBCF0E94A3088091E80083FF1FC1A3 +:101A30008091E2029091E302492F50E04A30510533 +:101A400008F015C1FA01EA5AFF4F0C94452280387C +:101A500081F0823809F00BC18091E6028F7080938B +:101A6000E9008091EB0085FB882780F91092E9005E +:101A700006C08091DE029091DF0291118260909108 +:101A8000E800977F9093E8008093F1001092F100B6 +:101A9000C8C0282F2D7F09F0EAC0882319F08230B2 +:101AA00061F0E5C08091E402813009F0E0C093303C +:101AB00009F080E08093DF022BC08091E402811165 +:101AC00027C08091E6028F7009F4D1C08093E900AD +:101AD0002091EB0020FF1CC0933021F48091EB009B +:101AE000806214C09091EB0090619093EB0021E034 +:101AF00030E0A90102C0440F551F8A95E2F74093D8 +:101B0000EA001092EA008091EB0088608093EB007D +:101B10001092E9008091E800877F86C08111A7C0FC +:101B20001091E4021F778091E3008078812B8093ED +:101B3000E3008091E800877F8093E8000E941C0BFF +:101B40008091E80080FFFCCF8091E3008068809363 +:101B5000E300111102C082E001C083E08093E10242 +:101B600086C08058823008F082C08091E402909153 +:101B7000E5028C3D53E0950779F583E08A838AE29C +:101B800089834FB7F894DE01139620E03EE051E2DE +:101B9000E32FF0E050935700E49120FF03C0E2955B +:101BA000EF703F5FEF708E2F90E0EA3010F0C79635 +:101BB00001C0C0968D939D932F5F243149F74FBF8D +:101BC0008091E800877F8093E8006AE270E0CE01B0 +:101BD00001960E94230A14C0AE014F5F5F4F6091CF +:101BE000E6020E948009BC01009709F440C0909170 +:101BF000E800977F9093E80089819A810E94860A85 +:101C00008091E8008B778093E80031C0803879F5C7 +:101C10008091E800877F8093E8008091DD028093C7 +:101C2000F1008091E8008E778093E8000E941C0B01 +:101C30001EC081111CC09091E4029230C0F48091CA +:101C4000E800877F8093E8009093DD020E941C0BE0 +:101C50008091DD02811106C08091E30087FD02C002 +:101C600081E001C084E08093E1020E948F088091AE +:101C7000E80083FF0AC08091E800877F8093E80036 +:101C80008091EB0080628093EB00AA960FB6F894E7 +:101C9000DEBF0FBECDBFDF91CF911F910895CF93CF +:101CA0008091E1028823A1F0C091E900CF7090916A +:101CB000EC00892F817090FD80E8C82B1092E9001C +:101CC0008091E80083FD0E94FE0CCF70C093E90074 +:101CD000CF9108950C94790E87E68093CC001092F2 +:101CE000CD0088E08093C90086E08093CA00789494 +:101CF00008959091C80095FFFCCF8093CE00089581 +:101D00001F920F920FB60F9211242F933F934F9370 +:101D10008F939F93EF93FF9380916F0190E09C01CD +:101D20002F5F3F4F40916E01421741F03091CE003E +:101D3000FC01E059FE4F308320936F01FF91EF913A +:101D40009F918F914F913F912F910F900FBE0F90C8 +:101D50001F90189590937502809374020895E091F6 +:101D60007402F0917502309721F00190F081E02D1E +:101D7000099480E00895E0917402F0917502309723 +:101D800021F00280F381E02D09940895E09174021E +:101D9000F0917502309721F00480F581E02D0994CF +:101DA000089520917202309173028217930771F0A7 +:101DB0009093730280937202E0917402F091750225 +:101DC000309721F00680F781E02D09940895209145 +:101DD0007002309171028217930771F09093710233 +:101DE00080937002E0917402F0917502309721F0B7 +:101DF0000084F185E02D0994089508950C94FD0E5A +:101E00000E94EF190E94FC050E94B91A0C946C20E4 +:101E10005F926F927F928F929F92AF92BF92CF927A +:101E2000DF92EF92FF920F931F93CF93DF9300D037 +:101E300000D01F92CDB7DEB70E9441069FE7C92EA2 +:101E400092E0D92E03E010E0AA24A394B12C502EE6 +:101E5000802F0E94BC064C01F601729062906F01C7 +:101E60006826792661147104A1F40150110978F7EC +:101E70008FEF89838A831B820E94F8198160782FF3 +:101E80009D838C8349815A816B818D810E94B80F1B +:101E900038C08091CC0281FD0E94C5062CE030E064 +:101EA0007501022E02C0EE0CFF1C0A94E2F7C70176 +:101EB00086219721892B09F129835A828E209F2020 +:101EC00091E0892809F490E09B830E94F8198160D1 +:101ED000782F9D838C8349815A816B818D810E94EB +:101EE000B80F000F111FF801E958FD4F8081918153 +:101EF000E826F926F182E08204C02150310980F6FB +:101F0000B4CF0E94A71D109176020E94AF0E181741 +:101F1000D1F00E94AF0E809376020F900F900F9039 +:101F20000F900F90DF91CF911F910F91FF90EF9045 +:101F3000DF90CF90BF90AF909F908F907F906F90E9 +:101F40005F900C94E6050F900F900F900F900F90FC +:101F5000DF91CF911F910F91FF90EF90DF90CF9085 +:101F6000BF90AF909F908F907F906F905F900895FB +:101F7000CF93DF93CDB7DEB72B970FB6F894DEBFC4 +:101F80000FBECDBF4F83588769877A878B87DE0165 +:101F9000119686E0FD0111928A95E9F785E0FE0130 +:101FA000379601900D928A95E1F749815A816B81AC +:101FB0007C818D819E810E942F162B960FB6F894FE +:101FC000DEBF0FBECDBFDF91CF910895CF938823A1 +:101FD00009F4C2C0C82F823859F40E94AF0E81FDA7 +:101FE000BBC089E30E9409190E948C1989E30CC0C7 +:101FF000833879F40E94AF0E80FDAEC083E50E9465 +:1020000009190E948C1983E50E942619CF910C941E +:102010008C19843859F40E94AF0E82FD9DC087E46C +:102020000E9409190E948C1987E4EECF8CEF8C0F67 +:10203000813A48F48C2F0E94D41F81118DC08C2FBF +:102040000E940919E3CF80E28C0F883048F4C770F2 +:1020500081E001C0880FCA95EAF70E944519D6CFE2 +:102060008BE58C0F833078F4C53A29F0C63A31F00D +:1020700083E890E005C081E890E002C082E890E04B +:10208000CF910C94D10E88E58C0F833108F064C099 +:10209000C83A39F1C93A41F1CA3A49F1CB3A51F15A +:1020A000CC3A59F1CD3A61F1C03B69F1CE3A71F1C8 +:1020B000CF3A79F1C13B81F1C23B89F1C33B91F148 +:1020C000C43B99F1C53BA1F1C63BA9F1C73BB1F1B6 +:1020D000C83BB9F1C93BC1F1CA3BC9F180E090E00E +:1020E00038C082EE90E035C089EE90E032C08AEED2 +:1020F00090E02FC085EB90E02CC086EB90E029C0EB +:1021000087EB90E026C08CEC90E023C08DEC90E053 +:1021100020C083E891E01DC08AE891E01AC082E9FE +:1021200091E017C084E991E014C081E292E011C00F +:1021300083E292E00EC084E292E00BC085E292E07E +:1021400008C086E292E005C087E292E002C08AE21F +:1021500092E0CF910C94E70ECF910895882309F473 +:102160004BC0823859F40E94AF0E81FF45C089E30D +:102170000E9409190E948C1989E30CC0833871F4FC +:102180000E94AF0E80FF38C083E50E9409190E94AB +:102190008C1983E50E9426190C948C19843859F403 +:1021A0000E94AF0E82FF28C087E40E9409190E9496 +:1021B0008C1987E4EFCF9CEF980F913A58F390E297 +:1021C000980F983050F4877091E001C0990F8A956C +:1021D000EAF7892F0E944B19DFCF9BE5980F9330C8 +:1021E00020F480E090E00C94D10E885A833120F4E2 +:1021F00080E090E00C94E70E0895882321F00E947F +:1022000045190C948C190895882321F00E944B19CC +:102210000C948C1908957F928F929F92AF92BF92E7 +:10222000CF92DF92EF92FF920F931F93CF93DF93A2 +:102230001F92CDB7DEB77C01C62E772EFC0105813B +:1022400002950F70128111110E9462190E940219E9 +:10225000882379F0112369F080E28C0D883048F0F2 +:1022600082E00E94EB180E94021991E0D82ED92634 +:1022700001C0D12CE72DE295EF70F0E0E05AFF4F5E +:102280000C944522872D807F072D0F70882311F035 +:102290000295007F112389F0002309F499C180E29F +:1022A0008C0D883020F4802F0E94451903C0802FA8 +:1022B0000E9455190E948C198BC18C2D0E94AE1062 +:1022C000002309F4C3C180E28C0D883020F4802FF4 +:1022D0000E944B1903C0802F0E945B190E948C1929 +:1022E000B5C1872D807F972D9F70803211F4892F83 +:1022F00003C0892F8295807FCC2021F0F1E0CF169A +:10230000A1F01DC0112339F0002319F1013009F5A6 +:102310000E9475199BC1002319F0013009F496C180 +:1023200089830E947819898110C1112321F0063018 +:1023300008F08CC10EC0053008F088C106C1112319 +:1023400059F0002331F0F701958190FF41C19F7052 +:1023500095830E94FD107AC1002309F4F6C03EC1A6 +:10236000872D86958695837090E0009719F00197E8 +:1023700061F06CC1112321F08C2D972D937002C058 +:1023800080E090E00E94D10E61C1112321F08C2DDC +:10239000972D937002C080E090E00E94E70E56C136 +:1023A0008C2D112319F00E94AF1C02C00E94171D32 +:1023B0000E949C1D4BC1872D837009F052C01111E2 +:1023C00045C18C2D829586958770880F880F9C2D2E +:1023D0009F70892E912CA12CB12C082E04C0880C42 +:1023E000991CAA1CBB1C0A94D2F7C4FE14C00FE0AF +:1023F00010E020E030E0B901A80104C0440F551FEF +:10240000661F771F8A95D2F7CB01BA016095709548 +:102410008095909503C060E070E0CB01272D269554 +:102420002695237030E02230310569F023303105E4 +:1024300089F0682979298A299B292130310571F091 +:102440000E94771703C1682979298A299B290E944C +:102450009317FCC00E947717C501B4010E945B1757 +:10246000F5C0112319F0872D817001C0869588234E +:1024700009F4ECC08C2D829586958770880F880FA3 +:102480009C2D9F70892E912CA12CB12C082E04C05C +:10249000880C991CAA1CBB1C0A94D2F7C4FE14C059 +:1024A0000FE010E020E030E0B901A80104C0440FC3 +:1024B000551F661F771F8A95D2F7CB01BA01609529 +:1024C00070958095909503C060E070E0CB01272D5A +:1024D000269526952370422F50E04230510569F031 +:1024E0004330510589F0682979298A299B2941308F +:1024F000510571F00E945118A9C0682979298A29CB +:102500009B290E946D18A2C00E945118C501B401F8 +:102510000E9435189BC08C2D90E0FC01E05EF10913 +:10252000E531F10508F050C0E059FF4F0C94452209 +:102530000C2D0F70872D8F71112321F00E94CE1763 +:10254000802F07CF0E94EF17802F0E9404117EC0BA +:10255000112341F0053008F079C0872D8F710E945A +:10256000141874C0063008F071C0F7CF112339F089 +:10257000872D8F710E94CE1769C01123C9F3872D53 +:102580008F710E94EF1762C0112329F0872D8F7180 +:102590000E94B9175BC00E94AF1758C0112351F0B9 +:1025A000172D1F71812F0E94CE1763E0812F0E948B +:1025B000E2184CC081E00E94EB18023008F446C0DB +:1025C00082E00E94EB1842C0112331F0002381F217 +:1025D0008C2D0E94E60F3AC0002389F28C2D0E94B8 +:1025E000AE1034C0472D4F706C2DC7010E94C7023A +:1025F0000E94D3162BC0111129C0472D4F7050E0F7 +:1026000042305105B9F04CF44115510581F041308B +:102610005105E1F40E94942019C04330510569F03E +:102620004430510599F48C2D0E94E6200FC00E9481 +:102630007D200CC00E94B02009C00E94C32006C0AB +:10264000472D4F706C2DC7010E94CA02DD20F9F0A2 +:102650000E94DE1880FD1BC0F70112820E94D8186C +:102660000E94CE17C7010E9456130E94D8180F90DF +:10267000DF91CF911F910F91FF90EF90DF90CF905E +:10268000BF90AF909F908F907F900C94EF170F901A +:10269000DF91CF911F910F91FF90EF90DF90CF903E +:1026A000BF90AF909F908F907F9008950F931F934E +:1026B000CF93DF93EC01888199812B813C81232B7F +:1026C000B9F09F3F11F48F3F99F0CE010E941B0299 +:1026D000882371F0688179818A810E94D4188C01E5 +:1026E0000E9489180E945017B801CE010E940B1158 +:1026F000DF91CF911F910F9108950E9462190E945E +:1027000072190E9437190E948C190E944D1E0E9456 +:102710009C1D80E090E00E94D10E80E090E00C943F +:10272000E70E0E9452190C947D130E94C918292F9C +:1027300022952F7030E02C3031054CF42A303105D1 +:102740006CF42250310922303105A8F407C02C3036 +:10275000310569F02F30310551F00DC0803F69F02F +:1027600018F4803E40F409C0843F29F406C093FB6E +:10277000882780F9089580E0089581E00895CF9337 +:10278000DF9300D000D01F92CDB7DEB70F900F902F +:102790000F900F900F90DF91CF910895CF93DF931B +:1027A00000D000D000D0CDB7DEB726960FB6F89493 +:1027B000DEBF0FBECDBFDF91CF9108951F93CF93A2 +:1027C000DF93C0917F0216E080918002C81799F0D4 +:1027D000D0E01C9FF0011D9FF00D1124EF57FD4F1D +:1027E0004081518162817381848195810E94CE13E1 +:1027F0002196C770E9CFDF91CF911F910895409145 +:10280000B1025091B2026091B3027091B402809112 +:10281000B5029091B6020C94CE138091B6028295C7 +:102820008F7009F054C08091B302882309F44FC01F +:1028300080917F02A09180026091B1027091B202FA +:102840004091B4025091B502B6E08A1709F43FC036 +:1028500090E041155105C1F17F3F11F46F3FA1F1A7 +:10286000B89FF001B99FF00D1124EF57FD4F218162 +:1028700072132AC02081621327C02281211124C033 +:10288000238134812417350710F421503109241B8A +:10289000350B283C3105C0F42091B6022F70206121 +:1028A0002093B60226E0289FF001299FF00D112405 +:1028B000EA57FD4F80818F708061808381EB92E0C9 +:1028C0000E9456130C94DE1301968770BECF0895B4 +:1028D000CF92DF92EF92FF920F931F93CF93DF93EC +:1028E000CDB7DEB762970FB6F894DEBF0FBECDBF8F +:1028F0008C0185E0F801DE011D9601900D928A950C +:10290000E1F7D8014C9111965C91119712966C9158 +:1029100012971396CD90DC9014973091B10270917C +:10292000B2028091B4029091B502009709F46BC194 +:102930007F3F19F43F3F09F466C1E090B302EE20F7 +:1029400009F4C0C02091B602C816D90628F0F601D5 +:10295000E81BF90BCF0104C0809590958C0D9D1D4F +:10296000FF24F394883C910578F0F12C207F09F046 +:10297000C6C07C2DD98AC88A89890E94BF1381EB81 +:1029800092E00E945613B1C0822F807F09F046C0AA +:10299000751314C0341312C0611110C02F70206160 +:1029A0002093B6020E94FF1381EB92E00E9456131F +:1029B0008091B602D80115968C932EC0CD2819F1BE +:1029C0005F3F11F44F3FF9F0F62E61111CC080916A +:1029D0007F022091800236E0821709F45AC090E00D +:1029E000389FF001399FF00D1124EF57FD4F718191 +:1029F000571306C07081471303C07281711103C061 +:102A000001968770E9CFF62E662309F418C18091EC +:102A1000B60281608093B602F12C11C1751308C013 +:102A2000341306C0611104C08091B602D801C3C03E +:102A30004D875E878D859E856A8B0E9495136A8976 +:102A40008823E1F16623D1F12091B602822F82958D +:102A50008F7090E0029774F08091B1029091B20271 +:102A600098878F831986DB86CA862C87CE010796C6 +:102A70000E94561386E0F801A1EBB2E001900D929E +:102A80008A95E1F70E940D140E94FF13FF24F3942E +:102A9000D6C04D875E878D859E850E94C918292FD7 +:102AA00022952F7030E0223031050CF0BCC09F70B1 +:102AB00009F0B6C0805E883008F4C1C0C8010E9429 +:102AC0005613E4CFC816D90608F453C0F601E81B24 +:102AD000F90BCF01883C910508F450C0F12C7C2DF6 +:102AE000D98AC88A89890E94BF13E1EBF2E086E0A7 +:102AF000DF011D928A95E9F70E94FF13A0C07513AC +:102B000014C0341312C0611110C08091B602F801D4 +:102B10008583C8010E94561386E0E1EBF2E0DF01F5 +:102B20001D928A95E9F7FE2C8AC04D875E878D85B8 +:102B30009E856A8B0E9495136A89882309F4BECF0B +:102B4000662309F4BBCF2091B602822F82958F7045 +:102B500090E002970CF48ECF8091B1029091B20276 +:102B60009A8389831B82DD82CC822E83CE010196DB +:102B70007FCF809590958C0D9D1DACCFF62E662352 +:102B800009F49CCF75132EC034132CC02091B602CB +:102B900020FD1FC0822F82958F70D9F0D801159625 +:102BA0002C9315978F3049F08F5F982F9295907FD7 +:102BB000822F8F70892B15968C93C8010E94561313 +:102BC00086E0F801A1EBB2E001900D928A95E1F761 +:102BD00093CF86E0F801A1EBB2E001900D928A95C7 +:102BE000E1F72DC04D875E878D859E850E949513E8 +:102BF000811140CF8091B60281608093B602C801F6 +:102C00000E9456131CC0662309F458CF4D875E8777 +:102C10008D859E850E949513882309F44FCF2ACF76 +:102C2000811148CF0CC0243031050CF047CF9F7084 +:102C300009F440CFF8019581907F09F03BCF8F2DAB +:102C400062960FB6F894DEBF0FBECDBFDF91CF9175 +:102C50001F910F91FF90EF90DF90CF9008951F93F9 +:102C6000CF93DF93CDB7DEB72C970FB6F894DEBFC6 +:102C70000FBECDBF4F83588769877A878B879C8724 +:102C8000CE0107960E946814882369F08F81988589 +:102C90002A853B85232BF1F19F3F09F063C08F3FCD +:102CA00009F060C037C086E0FE013796DE0111965C +:102CB00001900D928A95E1F76F817885EA85FB8511 +:102CC000309741F17F3F11F46F3F21F12091800255 +:102CD00030E0C90101968770992740917F0250E04A +:102CE0008417950709F447C069837A83FD83EC83D1 +:102CF00096E0929FD001939FB00D1124AF57BD4F26 +:102D0000FE01319601900D929A95E1F78093800231 +:102D10000E94DE1316E080917F0290918002891755 +:102D2000C1F1189FC00111248F579D4F0E94681454 +:102D3000882379F1E0917F021E9FF0011124EF5763 +:102D4000FD4F4081518162817381848195810E9410 +:102D5000CE1380917F0290E001968770992780932F +:102D60007F02D9CF4F81588569857A858B859C856F +:102D70000E94CE13CFCF0E94911310928002109226 +:102D80007F02E1EBF2E086E0DF011D928A95E9F730 +:102D9000C1CF2C960FB6F894DEBF0FBECDBFDF912A +:102DA000CF911F910895EF92FF920F931F93CF93AE +:102DB000DF938C01009709F46CC0F12CEE24E394AE +:102DC000E8012196F8018491843740F4843008F0BA +:102DD00051C0813081F0823019F15BC0853709F430 +:102DE00044C0A8F19CE7980F903708F052C08F7745 +:102DF0000E94AE1041C00E5F1F4FFE01C49180E2E1 +:102E00008C0F883048F4C7708E2D01C0880FCA958A +:102E1000EAF70E94651914C08C2F0E94E60F2DC09E +:102E20000E5F1F4FFE01C49180E28C0F883058F472 +:102E3000C7708E2D01C0880FCA95EAF70E946B19E2 +:102E40000E948C191AC08C2F0E94AE1016C00E5F03 +:102E50001F4FFE01C491CC2381F08FE99FE00197C1 +:102E6000F1F700C00000C150F6CF0E5F1F4FFE010A +:102E7000F49003C00E94E60F8E018F2D882309F481 +:102E80009FCFEFE9FFE03197F1F700C000008150DC +:102E9000F5CFDF91CF911F910F91FF90EF900895A3 +:102EA00008956093BB027093BC028093BD0290931F +:102EB000BE020C947D130F931F930091BB021091DF +:102EC000BC022091BD023091BE02DC01CB01802BFF +:102ED000912BA22BB32B8093BB029093BC02A093A7 +:102EE000BD02B093BE021F910F910C947D130F93FE +:102EF0001F930091BB021091BC022091BD02309142 +:102F0000BE02DC01CB0180239123A223B323809353 +:102F1000BB029093BC02A093BD02B093BE021F916E +:102F20000F910C947D130F931F930091BB0210918E +:102F3000BC022091BD023091BE02DC01CB01802792 +:102F40009127A227B3278093BB029093BC02A09342 +:102F5000BD02B093BE021F910F910C947D1310928D +:102F6000B7021092B8021092B9021092BA020C94F1 +:102F70007D1341E050E060E070E004C0440F551F55 +:102F8000661F771F8A95D2F74093B7025093B80215 +:102F90006093B9027093BA020C947D1341E050E043 +:102FA00060E070E004C0440F551F661F771F8A95CC +:102FB000D2F78091B7029091B802A091B902B09176 +:102FC000BA02482B592B6A2B7B2B4093B7025093A4 +:102FD000B8026093B9027093BA020C947D1341E079 +:102FE00050E060E070E004C0440F551F661F771F7B +:102FF0008A95D2F740955095609570958091B7026B +:103000009091B802A091B902B091BA024823592315 +:103010006A237B234093B7025093B8026093B902AE +:103020007093BA020C947D1341E050E060E070E0D0 +:1030300004C0440F551F661F771F8A95D2F78091F1 +:10304000B7029091B802A091B902B091BA02482794 +:1030500059276A277B274093B7025093B8026093A1 +:10306000B9027093BA020C947D130F931F930091D1 +:10307000B7021091B8022091B9023091BA02DC0176 +:10308000CB01802B912BA22BB32B8093B702909373 +:10309000B802A093B902B093BA021F910F910C9499 +:1030A0007D130F931F930091B7021091B8022091E6 +:1030B000B9023091BA02DC01CB0180239123A22313 +:1030C000B3238093B7029093B802A093B902B09350 +:1030D000BA021F910F910C947D130F931F930091CF +:1030E000B7021091B8022091B9023091BA02DC0106 +:1030F000CB0180279127A227B3278093B702909313 +:10310000B802A093B902B093BA021F910F910C9428 +:103110007D130895CF92DF92EF92FF920F931F934A +:10312000CF93DF938C01C090BB02D090BC02E090A3 +:10313000BD02F090BE028091B7029091B802A091BA +:10314000B902B091BA02C82AD92AEA2AFB2ACFE1E9 +:10315000D0E0D701C6010C2E04C0B695A79597956F +:1031600087950A94D2F780FF06C0B8018C2F0E9481 +:103170004B05019721F4219760F780E001C08C2F67 +:10318000DF91CF911F910F91FF90EF90DF90CF9043 +:103190000895CF93DF93EC010E948A18BE010E942C +:1031A0004B05DF91CF910895CB010E94C918089576 +:1031B0008091BF0285958595859508958091BF0280 +:1031C0008770089598E0899F90011124262B209301 +:1031D000BF020C94CE172091BF028095822380936A +:1031E000BF02982F977069F430E0482F552747FDAC +:1031F00050952417350729F08595859585950C946C +:10320000EF1708959091BF02977081E009F480E074 +:10321000089520910C0130910D01F90132969FEF34 +:1032200040E05191581789F09F3F19F4511101C0A6 +:10323000942F4F5F4630A9F79F3F39F0F901E90F0E +:10324000F11D97FDFA9582830895089520910C0150 +:1032500030910D01F9013296285F3F4F908198130C +:1032600001C010823196E217F307C1F7089581E09B +:1032700090E0E0910C01F0910D01E80FF91F108230 +:10328000019688309105A9F708959091CB02892B7A +:103290008093CB02089580959091CB0289238093EF +:1032A000CB0208951092CB0208959091CA02892B07 +:1032B0008093CA02089580959091CA0289238093D1 +:1032C000CA0208951092CA0208959091C902892BEA +:1032D0008093C902089580959091C90289238093B3 +:1032E000C90208951092C90208958093C0020895FA +:1032F0001092C002089580910C0190910D01FC0183 +:1033000031969C01285F3F4F80E0919191118F5F32 +:10331000E217F307D1F70895E0910C01F0910D0148 +:103320008091CB028083E0910C01F0910D0190819E +:103330008091CA02892B8083E0910C01F0910D01EC +:1033400090818091C902892B80838091C00288235B +:1033500061F0E0910C01F0910D019081892B808347 +:103360000E947B1981111092C00280910C019091F2 +:103370000D010C94BB0E0E94911380E00E94D501B8 +:103380000E946C200E94AF0E0C94E6051F920F92D3 +:103390000FB60F9211248F939F93AF93BF93809199 +:1033A000CD02811113C08091CE029091CF02A091E5 +:1033B000D002B091D1024196A11DB11D8093CE02E1 +:1033C0009093CF02A093D002B093D102BF91AF915E +:1033D0009F918F910F900FBE0F901F90189582E0D4 +:1033E00084BD93E095BD9AEF97BD80936E000895DC +:1033F0002FB7F8948091CE029091CF02A091D00285 +:10340000B091D1022FBF0895CF92DF92EF92FF9239 +:103410000F931F932FB7F8944091CE025091CF0293 +:103420006091D0027091D1022FBF6A017B01EE241E +:10343000FF248C0120E030E0C016D106E206F3063E +:1034400010F4415051099A01281B390BC9011F91F1 +:103450000F91FF90EF90DF90CF9008951F920F9201 +:103460000FB60F9211248F939F93AF93BF938091C8 +:10347000CE029091CF02A091D002B091D1020196DC +:10348000A11DB11D8093CE029093CF02A093D002D4 +:10349000B093D102BF91AF919F918F910F900FBECA +:1034A0000F901F9018950E946D0BF8942FEF87EAEC +:1034B00091E6215080409040E1F700C0000087E095 +:1034C00090EBDC018093EC029093ED02A093EE026E +:1034D000B093EF029CE088E10FB6F894A895809332 +:1034E00060000FBE90936000FFCFCF92DF92EF920B +:1034F000FF920F931F93CF93DF93D82FC3E0EE2457 +:10350000E394F12C8C2F0E94BC066C010CE010E0BF +:103510009701002E02C0220F331F0A94E2F72C21DC +:103520003D21232B49F0602F7C2F80E00E94CB02AD +:10353000D81302C081E006C00150110948F7C150FC +:1035400008F780E0DF91CF911F910F91FF90EF90EE +:10355000DF90CF900895CF93C82F8CE20E94751A08 +:10356000882321F08C2FCF910C94751A80E0CF9195 +:103570000895CF930E94FE1B811102C00E94DF1BA1 +:10358000C5E6C15049F00E9441068FE39CE90197CE +:10359000F1F700C00000F5CF89E20E94AB1A81115B +:1035A0000CC18AE20E94AB1A81110E94DF1B85E0E8 +:1035B0000E94AB1A81110E94531A0E94091C809329 +:1035C000CC0287E00E94AB1A8823A9F18BE10E940C +:1035D000AB1A882351F08091CC0281FB222720F97D +:1035E00091E0922790FB81F90EC08EE00E94AB1A09 +:1035F000882361F08091CC0282FB222720F991E0A0 +:10360000922790FB82F98093CC0215C080E10E9442 +:10361000AB1A9091CC02882341F093FB222720F92A +:1036200081E0822780FB93F904C0892F809580FB7D +:1036300090F99093CC028091CC020E940D1C0E94C4 +:103640001B1C8093EA0280EE0E94AB1A882341F093 +:103650008091EA02982F909590FB80F98093EA027E +:1036600089E30E94AB1A882359F08091EA0281FB1A +:10367000222720F991E0922790FB81F98093EA02BA +:1036800082EE0E94AB1A882359F08091EA0282FBF5 +:10369000222720F991E0922790FB82F98093EA0299 +:1036A00086EE0E94AB1A882359F08091EA0283FBD0 +:1036B000222720F991E0922790FB83F98093EA0278 +:1036C00083EE0E94AB1A882359F08091EA0284FBB2 +:1036D000222720F991E0922790FB84F98093EA0257 +:1036E00085E30E94AB1A882359F08091EA0285FB9A +:1036F000222720F991E0922790FB85F98093EA0236 +:1037000081E30E94AB1A882359F08091EA0286FB7C +:10371000222720F991E0922790FB86F98093EA0214 +:1037200081E10E94AB1A882359F08091EA0287FB5D +:10373000222720F991E0922790FB87F98093EA02F3 +:103740008091EA020E941F1C87E20E94AB1AC82FD8 +:103750008EE10E94AB1A8111C2608FE10E94AB1A08 +:103760008111C46080E20E94AB1A8111C86081E2BD +:103770000E94AB1A8111C06182E20E94AB1A8111D2 +:10378000C06283E20E94AB1A8111C06484E20E948D +:10379000AB1A882311F0C06802C0CC2329F08C2F0B +:1037A0000E94161C6C2F03C00E94121C682F70E030 +:1037B00080E090E0CF910C945117CF9108956DEE79 +:1037C0007EEF80E090E00E947F2260E082E090E067 +:1037D0000E946D2260E083E090E00E946D2260E034 +:1037E00084E090E00E946D2260E085E090E00E941D +:1037F0006D2260E086E090E00C946D2280E090E025 +:103800000E94672221E08D3E9E4F09F020E0822F2A +:10381000089582E090E00C945F22682F82E090E0AF +:103820000C946D2283E090E00C945F22682F83E07B +:1038300090E00C946D2284E090E00C945F22682F5D +:1038400084E090E00C946D2286E090E00C945F227E +:10385000682F86E090E00C946D228091D40280FF66 +:103860000BC06091110185E0689FB001112475952E +:103870006795759567952BC081FF09C0609111010F +:1038800085E0689FB00111247595679520C082FF7F +:1038900007C06091110185E0689FB001112417C035 +:1038A0009091D5029923D1F060911001961788F775 +:1038B0002091110185E0289F90011124929FA00181 +:1038C000939F500D112470E0CA010E94312260388C +:1038D000710540F46115710539F002C065E070E0D2 +:1038E000862F08958FE7089581E008958091D4028E +:1038F00080FF08C060910F0170E075956795759520 +:10390000679521C081FF06C060910F0170E0759539 +:10391000679519C082FF04C060910F0170E010C06C +:103920009091D5029923C1F060910E019617A0F7EE +:1039300080910F01899FC001112470E00E94312203 +:103940006038710528F46115710521F0862F0895FE +:103950008FE7089581E0089561E070E0F4CF803F43 +:1039600021F40E942D1C819504C0813F29F40E94FE +:103970002D1C8093D8020895823F21F40E942D1CB3 +:10398000819504C0833F29F40E942D1C8093D702A7 +:103990000895893F19F40E94761C05C08A3F31F4CE +:1039A0000E94761C81958093D90208958B3F21F463 +:1039B0000E94761C819504C08C3F29F40E94761CDD +:1039C0008093DA020895843F21F48091D6028160C9 +:1039D00017C0853F21F48091D602826011C0863FD6 +:1039E00021F48091D60284600BC0873F21F480913E +:1039F000D602886005C0883F31F48091D60280618C +:103A00008093D60208958D3F21F48091D402816085 +:103A10000BC08E3F21F48091D402826005C08F3F9D +:103A200029F48091D40284608093D4020895803F69 +:103A300039F48091D80287FF6CC01092D80269C017 +:103A4000813F29F48091D8021816BCF362C090918E +:103A5000D702823F29F497FF5CC01092D70259C069 +:103A6000833F19F41916CCF354C0893F41F4809177 +:103A7000D90218160CF04DC01092D9024AC08A3FE4 +:103A800029F48091D90287FF44C0F6CF8B3F39F4E7 +:103A90008091DA0287FF3DC01092DA023AC08C3F73 +:103AA00029F48091DA021816BCF333C0843F21F464 +:103AB0008091D6028E7F17C0853F21F48091D60277 +:103AC0008D7F11C0863F21F48091D6028B7F0BC081 +:103AD000873F21F48091D602877F05C0883F31F46B +:103AE0008091D6028F7E8093D60213C08D3F21F441 +:103AF0008091D4028E7F0BC08E3F21F48091D4023E +:103B00008D7F05C08F3F29F48091D4028B7F8093F5 +:103B1000D4028091D70281110EC08091D802811108 +:103B20000AC08091D902811106C08091DA02811108 +:103B300002C01092D502089586ED92E00E94C60E52 +:103B40000E94F8199093D3028093D20208951F9394 +:103B5000CF93DF938091D2029091D3020E94041AF6 +:103B6000AC019091D502992321F02091120130E00F +:103B700006C0209113018AE0289F9001112442176A +:103B8000530708F486C08091D702C091D802D09123 +:103B9000D9021091DA02811107C0C11176C0D1118A +:103BA00074C0111172C075C09F3F19F09F5F909350 +:103BB000D502181624F40E942D1C8093D702809100 +:103BC000D70287FF05C00E942D1C81958093D702E4 +:103BD0001C1624F40E942D1C8093D8028091D802D8 +:103BE00087FF05C00E942D1C81958093D8026091AB +:103BF000D702662339F1C091D802CC2319F1772777 +:103C000067FD7095872F972F0E94362123E333E3BA +:103C100043E35FE30E949A210E9403216093D7024D +:103C20006C2F772767FD7095872F972F0E9436217D +:103C300023E333E343E35FE30E949A210E940321DD +:103C40006093D8021D1624F40E94761C8093D9023A +:103C50008091D90287FF05C00E94761C81958093D0 +:103C6000D902111624F40E94761C8093DA02809106 +:103C7000DA0287FF05C00E94761C81958093DA02E4 +:103C8000DF91CF911F910C949C1D9F3F09F08ECF27 +:103C900096CFDF91CF911F910895E6EDF2E085E098 +:103CA000DF011D928A95E9F71092D5021092D40295 +:103CB0000895833081F128F4813059F08230D1F0B9 +:103CC0000895853009F449C0B8F1863009F456C02A +:103CD000089580911301262F30E0280F311D2F3FCA +:103CE000310524F4680F6093130108958FEF8093DA +:103CF0001301089580911201262F30E0280F311D05 +:103D00002F3F310524F4680F6093120108958FEF5F +:103D100080931201089580911101262F30E0280F21 +:103D2000311D2F3F310524F4680F60931101089570 +:103D30008FEF80931101089580911001262F30E0BC +:103D4000280F311D2F3F310524F4680F60931001B7 +:103D500008958FEF80931001089580910F01262F11 +:103D600030E0280F311D2F3F310524F4680F609398 +:103D70000F0108958FEF80930F01089580910E0138 +:103D8000262F30E0280F311D2F3F310524F4680F16 +:103D900060930E0108958FEF80930E010895833094 +:103DA00011F128F4813049F0823091F00895853086 +:103DB00081F120F18630C1F10895809113016817D7 +:103DC00020F4861B80931301089510921301089527 +:103DD00080911201681720F4861B809312010895C8 +:103DE00010921201089580911101681720F4861B2A +:103DF000809311010895109211010895809110018E +:103E0000681720F4861B809310010895109210010A +:103E1000089580910F01681720F4861B80930F018D +:103E2000089510920F01089580910E01681720F4F3 +:103E3000861B80930E01089510920E0108950F9332 +:103E40001F93873208F040C08E3108F08AC08E3050 +:103E500009F474C0C0F4873009F45EC068F4863099 +:103E600009F09AC08091CC02817F8E7F8093CC0232 +:103E700081E08093DC0291C0883009F486C08B30E9 +:103E800009F483C089C0863109F47FC068F48031A9 +:103E900009F082C08091CC0283FB222720F991E0B7 +:103EA000922790FB83F953C0893109F46EC08B319E +:103EB00009F072C08091CC0281FB222720F991E0A9 +:103EC000922790FB81F943C0883309F45EC050F417 +:103ED000893209F45CC0853309F459C0873209F48A +:103EE00056C05AC0833409F452C028F48A3308F407 +:103EF00053C0895337C0883409F04EC00E949113D3 +:103F00000FEF13ED20E3015010402040E1F700C017 +:103F100000000E94531A39C09091CC02892F8095DD +:103F2000817080FB90F929F0966098609093CC02A4 +:103F300034C0997F977F9093CC0227C08091CC02A8 +:103F400082FB222720F991E0922790FB82F980934F +:103F5000CC029923D1F08091CC0281608093CC0275 +:103F600014C08D5141E050E060E070E08A019B0197 +:103F700004C0000F111F221F331F8A95D2F7C901F9 +:103F8000B8010E9451170E94911381E006C061E0C0 +:103F900070E080E090E0F5CF80E01F910F910895F0 +:103FA00080E0089580E00895CF93C82F8091DC02CF +:103FB000813069F018F08230C9F184C0E0910C01C1 +:103FC000F0910D018081823209F07EC007C0E0913E +:103FD0000C01F0910D018081823261F48C2F0E94DE +:103FE000D01F811104C08C2F0E941F1F1DC081E0B3 +:103FF00090E01AC08C2F0E94D21F811114C0C431CE +:1040000079F048F4CB3079F0C03109F061C082E03A +:104010008093DC0208C0C93219F0C83321F058C0BF +:104020001092DC0255C081E0817054C0C93291F118 +:1040300020F5C43179F1B0F4C73009F047C08EE102 +:104040008093130182E3809312018AE0809311012F +:1040500084E18093100188E080930F0188E28093CF +:104060000E0134C0CE51C63088F5EC2FF0E0E75C8D +:10407000FE4F80818093DB0229C0CE34E9F020F42A +:10408000CB3421F56AE013C0C13579F0C235F1F4C3 +:1040900061E00DC08091DB02882319F01092DB02F1 +:1040A00015C081E08093DC0215C061E006C08091FC +:1040B000DB020E94591E0AC06AE08091DB020E9466 +:1040C000CF1E04C01092DC0280E004C081E002C078 +:1040D00080E0AACFCF9108950E94FE1B811102C0FB +:1040E0000E94DF1B0E94241C8093EB0280FF02C011 +:1040F000869501C080E00C94D5018091EB02982F49 +:104100009695292F30E0233031054CF49F5F990FAD +:104110008170892B81608093EB020E94281C809122 +:10412000EB0286950C94D5018091EB02982F969521 +:1041300091F09158990F8170892B8093EB028E7FBB +:1041400091E009F490E08091EB0290FB80F980937C +:10415000EB020E94281C8091EB0286950C94D501FD +:104160008091EB02982F909590FB80F98093EB0261 +:104170000E94281C8091EB0280FF02C0869501C03E +:1041800080E00C94D5019091EB02892F86958F5F8A +:104190008F779170843028F4880F892B8093EB02FD +:1041A00002C09093EB028091EB028E7F91E009F4C4 +:1041B00090E08091EB0290FB80F98093EB020E94EB +:1041C000281C8091EB0286950C94D5012091EB027E +:1041D000922F96958927982F990F822F8170892B7E +:1041E0008093EB028E7F91E009F490E08091EB02E6 +:1041F00090FB80F98093EB020E94281C8091EB02D7 +:1042000086950C94D50104D06894B1118DC00895A1 +:1042100070D088F09F5790F0B92F9927B751A0F030 +:10422000D1F0660F771F881F991F1AF0BA95C9F74A +:1042300012C0B13081F077D0B1E0089574C0672F1B +:10424000782F8827B85F39F0B93FCCF386957795FA +:104250006795B395D9F73EF49095809570956195E3 +:104260007F4F8F4F9F4F0895E89409C097FB3EF40E +:1042700090958095709561957F4F8F4F9F4F9923B3 +:10428000A9F0F92F96E9BB279395F6958795779531 +:104290006795B795F111F8CFFAF4BB0F11F460FFF1 +:1042A0001BC06F5F7F4F8F4F9F4F16C0882311F049 +:1042B00096E911C0772321F09EE8872F762F05C05D +:1042C000662371F096E8862F70E060E02AF09A95F8 +:1042D000660F771F881FDAF7880F9695879597F9ED +:1042E000089557FD9058440F551F59F05F3F71F0E6 +:1042F0004795880F97FB991F61F09F3F79F087954D +:104300000895121613061406551FF2CF4695F1DFD5 +:1043100008C0161617061806991FF1CF8695710565 +:10432000610508940895E894BB2766277727CB0199 +:1043300097F908950BD078C069D028F06ED018F0A6 +:10434000952309F05AC05FC01124EECFCADFA0F355 +:10435000959FD1F3950F50E0551F629FF001729F1A +:10436000BB27F00DB11D639FAA27F00DB11DAA1F39 +:10437000649F6627B00DA11D661F829F2227B00D86 +:10438000A11D621F739FB00DA11D621F839FA00D11 +:10439000611D221F749F3327A00D611D231F849F61 +:1043A000600D211D822F762F6A2F11249F575040B8 +:1043B0008AF0E1F088234AF0EE0FFF1FBB1F661F53 +:1043C000771F881F91505040A9F79E3F510570F00C +:1043D00014C0AACF5F3FECF3983EDCF38695779547 +:1043E0006795B795F795E7959F5FC1F7FE2B880F07 +:1043F000911D9695879597F9089597F99F6780E89D +:1044000070E060E008959FEF80EC089500240A9426 +:104410001616170618060906089500240A9412169F +:104420001306140605060895092E0394000C11F4D2 +:10443000882352F0BB0F40F4BF2B11F460FF04C07F +:104440006F5F7F4F8F4F9F4F0895991B79E004C096 +:10445000991F961708F0961B881F7A95C9F78095C3 +:10446000089597FB072E16F4009407D077FD09D026 +:104470000E944B2207FC05D03EF4909581959F4FFA +:104480000895709561957F4F0895EE0FFF1F059079 +:10449000F491E02D0994AA1BBB1B51E107C0AA1F90 +:1044A000BB1FA617B70710F0A61BB70B881F991FD5 +:1044B0005A95A9F780959095BC01CD010895F99979 +:1044C000FECF92BD81BDF89A992780B50895A8E1E5 +:1044D000B0E042E050E00C948722262FF999FECFFD +:1044E00092BD81BDF89A019700B4021639F01FBA47 +:1044F00020BD0FB6F894FA9AF99A0FBE0895019666 +:10450000272F0E946E220C946D22DC01CB01FC014E +:10451000F999FECF06C0F2BDE1BDF89A319600B41C +:0E4520000D9241505040B8F70895F894FFCF27 +:10452E00FFC606F007AC077807C90601C1022808C6 +:10453E00140A321E4F79536366764969590919294F +:10454E00030F1F5F433F4D3620BF0272023C021C19 +:10455E0002A801C101DA01F30101020304050607F5 +:04456E000809000038 +:00000001FF diff --git a/keyboard/jd45/keymaps/default/keymap.c b/keyboard/jd45/keymaps/default/keymap.c new file mode 100644 index 000000000..05dd46e79 --- /dev/null +++ b/keyboard/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/keyboard/jd45/keymaps/justin.c b/keyboard/jd45/keymaps/justin.c deleted file mode 100644 index f261b5463..000000000 --- a/keyboard/jd45/keymaps/justin.c +++ /dev/null @@ -1,101 +0,0 @@ -#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; -} diff --git a/keyboard/jd45/keymaps/justin/compiled.hex b/keyboard/jd45/keymaps/justin/compiled.hex new file mode 100644 index 000000000..9bfb07db4 --- /dev/null +++ b/keyboard/jd45/keymaps/justin/compiled.hex @@ -0,0 +1,1154 @@ +:100000000C94AA020C94EE020C94EE020C94EE02F4 +:100010000C94EE020C94EE020C94EE020C94EE02A0 +:100020000C94EE020C94EE020C942C0D0C94FE0D2C +:100030000C940A1B0C94EE020C94EE020C94EE024B +:100040000C94EE020C94EE020C94EE020C94EE0270 +:100050000C94EE020C94721B0C94EE020C94EE02C3 +:100060000C94EE020C94C40F0C94EE020C94EE026D +:100070000C94EE020C94EE020C94EE020C94EE0240 +:100080000C94EE020C94EE020C94EE020C94EE0230 +:100090000C94EE020C94EE020C94EE020C94EE0220 +:1000A0000C94EE020C94EE020C94EE026B0E8D0E8C +:1000B0007B0F8D0E7B0FD20EF50E7B0F4A0F5D0F5F +:1000C00086128612B512B512F41214136A146A1449 +:1000D0001F136A14CF13CF1336143F146A14641419 +:1000E000DC13DC13DC13DC13DC13DC13DC13DC1398 +:1000F000DC13DC13DC13DC13DC13DC13DC13DC1388 +:10010000EC13FA130114081412147500011E021ED8 +: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 +:10040000010001223F000705810308000A090401D9 +:10041000000103010200092111010001224D000722 +:1004200005820308000A0904020001030000000914 +:1004300021110100012236000705830308000A0983 +:100440000403000203000000092111010001222021 +:1004500000070584032000010705040320000112A2 +:1004600001100100000008EDFE60600100010200C3 +:10047000010631FF0974A1010975150025FF9520BA +:10048000750881020976150025FF952075089102EF +:10049000C005010980A101850216010026B7001AD6 +:1004A00001002AB700751095018100C0050C0901F3 +:1004B000A1018503160100269C021A01002A9C0254 +:1004C000751095018100C005010902A1010901A172 +:1004D00000050919012905150025019505750181FA +:1004E0000295017503810105010930093115812546 +:1004F0007F95027508810609381581257F9501755C +:10050000088106050C0A38021581257F95017508BA +:100510008106C0C005010906A101050719E029E708 +:100520001500250195087501810295017508810165 +:1005300005081901290595057501910295017503B5 +:1005400091010507190029FF150025FF950675087B +:100550008100C00011241FBECFEFDAE0DEBFCDBFA7 +:1005600004B603FE24C08091EC029091ED02A091AC +:10057000EE02B091EF028730904BA740B04BB9F438 +:100580001092EC021092ED021092EE021092EF0225 +:1005900014BE84B7877F84BF88E10FB6F894809338 +:1005A0006000109260000FBEE0E0F8E3099511E0F2 +:1005B000A0E0B1E0E6EBF7E402C005900D92A434B0 +:1005C000B107D9F712E0A4E4B1E001C01D92AC3E3E +:1005D000B107E1F70E94970A0C94D9230C9400000C +:1005E000279A2F988FEF9FEF909387008093860034 +:1005F0008AE08093800089E1809381000C94B0218F +:10060000282F81110BC080918000877F809380000C +:1006100010928D0010928C002F9808952F98809141 +:100620008000886080938000233019F48FEF9FEF63 +:100630000FC083E090E0821B9109880F991F2FEF74 +:100640003FEFA90102C0569547958A95E2F7CA0186 +:1006500090938D0080938C000895089508950E94D2 +:10066000F0028DE293E0892B11F00C942D03089594 +:100670008EE293E0892B11F00C942E030895FC0177 +:10068000613051F018F0623069F012C08281882325 +:1006900079F088E591E008958281882349F081E32B +:1006A00091E008958281882319F08AE091E008950D +:1006B00080E090E0089581E0089581E008950C9431 +:1006C0005D0308950F931F93CF93DF938C01FC017B +:1006D000C081D181CE010E94CE19BE010E940F04BB +:1006E000EC01B8010E945F03882309F48DC0F80172 +:1006F0008281882309F44AC080914F0181111FC073 +:10070000C431F0E5DF0709F051C00E94610381E0C8 +:1007100080934F010E943C1B90934E0180934D01AA +:1007200010924601109248011092470110924A011E +:100730001092490110924C0110924B0165C08091BA +:100740004D0190914E010E94481B883C910570F428 +:1007500080914601E82FF0E0EE0FFF1FE95BFE4FAE +:10076000D183C0838F5F809346014EC0C43880E53B +:10077000D80721F0C538D04501F13AC0F80182818F +:10078000882341F01092440182E01EC0C438E0E5A5 +:10079000DE0759F580914401811106C086E20E946E +:1007A0002A1186E20E94F21182E01CC0C438F0E5F2 +:1007B000DF0741F3C538D045D9F4F8018281882399 +:1007C00031F01092450180E20E9441121DC08091DB +:1007D0004501811106C087E20E942A1187E20E942A +:1007E000F21180E20E9448120FC0C538D04529F3AB +:1007F00081E08093440180934501C801DF91CF914E +:100800001F910F910C945B0380E0DF91CF911F91BA +:100810000F9108950C942F030C94380308959DE0D4 +:10082000799FF001112494E3899FE00DF11D1124BB +:10083000E60FF11DEE0FFF1FE154FE4F85919491DD +:100840000895880F991FFC01E150F0408591949123 +:100850000895880F991FFC01E158FE4F85919491EE +:1008600008950F931F93CF93DF93EC01811521E33C +:100870009207A0F5C11580E3D80708F0D7C0C83E9D +:10088000D105D8F4C03ED10508F003C2C83AD1055D +:1008900078F4C53AD10508F06AC0C130D10509F431 +:1008A00063C008F4F3C1C430D10508F0F2C1EEC151 +:1008B000CB3BD10508F466C0E9C1C11590E2D90768 +:1008C00008F0AFC0C11521E0D20708F0E2C1C03F77 +:1008D000D10508F4DBC18E0110651BC2C03880E56C +:1008E000D80700F5C03790E5D90708F0A3C0C115B7 +:1008F00020E5D20709F4ACC050F4CE019054803109 +:100900009F4008F0C3C1DF708E01106A02C2C1307F +:1009100080E5D80709F4AAC0C43190E5D90708F4E6 +:10092000ABC0B4C1C33820E5D20709F48EC050F47F +:10093000C13890E5D90709F482C008F083C000E00F +:1009400011EDE7C1C03181E5D80708F49FC1C11599 +:1009500097E5D90708F432C1CE019057811590412F +:1009600008F094C1DF708FC101E010E0D2C1C53A38 +:10097000D10509F490C1C63AD10509F08FC102E84A +:1009800010E4C7C1C83AD10509F48BC1C93AD105F1 +:1009900009F48AC1CA3AD10509F489C1CB3AD10513 +:1009A00009F488C1CC3AD10509F487C1CD3AD10503 +:1009B00009F486C1C03BD10509F485C1CE3AD10501 +:1009C00009F484C1CF3AD10509F483C1C13BD105F3 +:1009D00009F482C1C23BD10509F481C1C33BD105F1 +:1009E00009F480C1C43BD10509F47FC1C53BD105E1 +:1009F00009F47EC1C63BD10509F47DC1C73BD105D1 +:100A000009F47CC1C83BD10509F47BC1C93BD105C0 +:100A100009F47AC1CA3BD10509F479C100E014E4B4 +:100A200078C1CE019F700E94290474C1DD278E0118 +:100A3000106C6FC1CF70DD278E01146D6AC100E0AC +:100A400010ED67C100E012ED64C100E013ED61C17B +:100A50000E94D5148FEF94E32CE081509040204009 +:100A6000E1F700C000000E94971B53C18091CC02A7 +:100A700081608093CC024DC10E94421D811102C051 +:100A80000E94231D0E945F1D90E09093EB028093D3 +:100A9000EA02C23080E5D80721F48091EA02816041 +:100AA00086C0C43090E5D90721F48091EA028260C3 +:100AB0007EC0C63020E5D20721F48091EA0284602E +:100AC00076C0C83080E5D80719F48091EA0227C0C3 +:100AD000CA3090E5D90721F48091EA02806167C0AD +:100AE000CC3020E5D20721F48091EA0280625FC019 +:100AF000CE3080E5D80721F48091EA02806457C0A7 +:100B0000C03190E5D90721F48091EA0280684FC096 +:100B1000C23120E5D20729F48091EA02846088601E +:100B200046C0C33080E5D80721F48091EA028E7F69 +:100B30003EC0C53090E5D90721F48091EA028D7F4F +:100B400036C0C73020E5D20721F48091EA028B7FBE +:100B50002EC0C93080E5D80719F48091EA0226C07A +:100B6000CB3090E5D90721F48091EA028F7E1FC037 +:100B7000CD3020E5D20721F48091EA028F7D17C0A5 +:100B8000CF3080E5D80721F48091EA028F7B0FC037 +:100B9000C13190E5D90721F48091EA028F7707C02F +:100BA000C331D04531F48091EA028B7F877F8093F7 +:100BB000EA028091EA020E94631DABC08D2F992743 +:100BC0008F70992781309105D9F49E0123703327C6 +:100BD00002C0880F991F2A95E2F79C688E0144E0B5 +:100BE000000F111F4A95E1F700271370802B912BFE +:100BF00053E0CC0FDD1F5A95E1F7C076DD272FC0FB +:100C00008230910531F4DC2FCC278E01016F106A00 +:100C100080C08330910569F4CE018370992701E08B +:100C200010E002C0000F111F8A95E2F7C8019C680E +:100C30000FC084309105B9F4CE018370992701E08B +:100C400010E002C0000F111F8A95E2F7C8019A68F0 +:100C500023E0CC0FDD1F2A95E1F7C07ED7708C0111 +:100C60000C2B1D2B56C08530910531F4DC2FCC2781 +:100C70008E01046F106A4DC0069709F04AC0CF710B +:100C8000DD27DC2FCC278E01106243C000E010E08E +:100C900040C08E013EC001E810E43BC003E810E410 +:100CA00038C002EE14E435C009EE14E432C00AEE96 +:100CB00014E42FC005EB14E42CC006EB14E429C0A7 +:100CC00007EB14E426C00CEC14E423C00DEC14E490 +:100CD00020C003E815E41DC00AE815E41AC002E9C3 +:100CE00015E417C004E915E414C001E216E411C0CC +:100CF00003E216E40EC004E216E40BC005E216E4BB +:100D000008C006E216E405C007E216E402C00AE2E3 +:100D100016E4C801DF91CF911F910F9108959DE0D6 +:100D2000799FF001112494E3899FE00DF11D1124B6 +:100D3000E60FF11DEE0FFF1FE154FE4F85919491D8 +:100D4000803E9105E0F4803C910558F58133910592 +:100D500009F46FC048F48932910509F463C08A32FE +:100D6000910509F46DC072C089339105E9F08238AC +:100D70009105D1F08533910509F44DC067C0833EDC +:100D8000910581F138F4803E9105B9F0823E9105DC +:100D9000D9F05CC0863E910561F1873E9105A1F1D5 +:100DA00055C00E94210408952091EA0220FD02C04E +:100DB00021FF4CC080EE90E049C08091EA0280FFA4 +:100DC000F9CF89E390E042C08091EA0282FF0EC031 +:100DD0008091EA0284FF03C080E090E037C083EE98 +:100DE00090E034C08091EA0282FFF2CF82EE90E080 +:100DF0002DC08091EA0283FF0BC08091EA0284FD3E +:100E0000EBCF87EE90E022C08091EA0283FFF5CF1E +:100E100086EE90E01BC08091EA0285FF07C089E260 +:100E200090E014C08091EA0285FFF9CF85E390E05D +:100E30000DC08091EA0286FF07C08AE290E006C0FA +:100E40008091EA0286FFF9CF81E390E00E943104AD +:100E5000089508950C942907E82FF0E0EF5DFE4F08 +:100E60008081E82FEF70F0E082958F7021E030E014 +:100E7000A90102C0440F551F8A95E2F740A30895C7 +:100E80000F931F93CF93DF9385B7806885BF85B796 +:100E9000806885BFC3E0D0E001E010E0FE01EF5DB7 +:100EA000FE4F8081E82FEF70F0E021A182958F70D6 +:100EB000A80102C0440F551F8A95E2F7CA01822B90 +:100EC00081A38C2F0E942C07219740F78CE090E0A3 +:100ED00061E070E0FC01EC5EFE4F2081E22FEF70DC +:100EE000F0E042A122952F70DB0102C0AA0FBB1FC8 +:100EF0002A95E2F79D01242B22A3019758F7DF9151 +:100F0000CF911F910F910C940A04EF92FF920F93CF +:100F10001F93CF93DF9308E511E0C3E0EE24E39441 +:100F2000F12CD5E08C2F0E942C078CE090E040E063 +:100F300050E0FC01EC5EFE4F6081E62FEF70F0E0C8 +:100F400020A130E062956F7002C0359527956A95B3 +:100F5000E2F720FD09C09701082E02C0220F331FBF +:100F60000A94E2F7422B532B019718F7F80192915C +:100F700082918F018417950721F051834083D0938C +:100F800000018C2F0E942C07C15060F68091000157 +:100F900087FD2CC08150809300018F3F39F08FE98D +:100FA0009FE00197F1F700C0000020C0809156013A +:100FB0009091570190935F0180935E01809154015D +:100FC0009091550190935D0180935C018091520155 +:100FD0009091530190935B0180935A01809150014D +:100FE0009091510190935901809358010E940C04F3 +:100FF00081E0DF91CF911F910F91FF90EF900895C5 +:10100000E82FF0E0EE0FFF1FE85AFE4F808191813C +:101010000895089580916C0108950F931F93CF93C5 +:10102000DF9300D000D01F92CDB7DEB79C01809136 +:101030006101909162012817390709F493C0309338 +:10104000620120936101223E3105F1F1293E310513 +:1010500059F12A3E310559F1253B310559F1263B1D +:10106000310551F1273B310551F12C3C310561F13E +:101070002D3C310531F1233881E0380729F12A3838 +:1010800091E0390709F1223981E03807E9F0243984 +:1010900091E03907C9F0213282E03807B9F02332F4 +:1010A00092E0390789F415C090E040E114C090E067 +:1010B00040E211C092E001C094E040E00CC090E139 +:1010C000FCCF90E040E407C090E0F7CF90E044E030 +:1010D00002C090E041E089018DEF4C839D830E9426 +:1010E000AE0F80E00E94AE0F82E00E94AE0F4C81F6 +:1010F000842F0E94AE0F9D81892F0E94AE0F80E049 +:101100000E94AE0F80E00E94AE0F80E00E94AE0F02 +:1011100080E00E94AE0F8091E102843019F583E0F7 +:1011200089831B830A838093E9008FEF9091E80005 +:10113000815095FD06C095ED9A95F1F7000081115B +:10114000F5CF8091E80085FF0DC040E050E063E0FE +:1011500070E0CE0101960E941C0B8091E8008E7712 +:101160008093E8000F900F900F900F900F90DF91F9 +:10117000CF911F910F910895CF93DF9300D01F92CD +:10118000CDB7DEB72091E102243021F522E029839A +:101190009B838A8383E08093E9008FEF9091E8003E +:1011A000815095FD06C095ED9A95F1F700008111EB +:1011B000F5CF8091E80085FF0DC040E050E063E08E +:1011C00070E0CE0101960E941C0B8091E8008E77A2 +:1011D0008093E8000F900F900F90DF91CF910895CA +:1011E000CF93DF93EC018DEF0E94AE0F80E00E9461 +:1011F000AE0F83E00E94AE0F88810E94AE0F8981FE +:101200000E94AE0F8A810E94AE0F8B810E94AE0FAA +:101210008C810E94AE0F80E00E94AE0F8091E102AF +:101220008430F9F482E08093E9008FEF9091E80038 +:10123000815095FD06C095ED9A95F1F7000081115A +:10124000F5CF8091E80085FF0CC040E050E065E0FC +:1012500070E0CE010E941C0B8091E8008E77809395 +:10126000E800DF91CF910895EF92FF920F931F93C3 +:10127000CF93DF93EC018DEF0E94AE0F8E017E01C4 +:1012800088E0E80EF11CF80181918F010E94AE0FF9 +:101290000E151F05C1F78091E102843039F581E018 +:1012A0008093E9008FEF9091E800815095FD06C092 +:1012B000F5EDFA95F1F700008111F5CF8091E80086 +:1012C00085FF14C040E050E068E070E0CE010E946D +:1012D0001C0B8091E8008E778093E80088E0FE0187 +:1012E000A4E6B1E001900D928A95E1F7DF91CF91EC +:1012F0001F910F91FF90EF9008958091E00281116E +:1013000009C00E94B10C0E940E0D8091E200846021 +:101310008093E20008951092E002089508950895E0 +:101320000C94FF1A209160012F5F822F62E30E94CC +:101330006923992319F020936001089510926001A8 +:1013400080916301882371F18091E102843041F53D +:101350008091E9008F702091EC00922F917020FD18 +:1013600090E8892B94E09093E9009091EB0090FF36 +:1013700014C09091EE0097FF10C09091E80095FF87 +:1013800003C01092F100F9CF9091E80090FF05C0E2 +:101390009091E8009E779093E8008F708093E90029 +:1013A00010926301089542E061EC81E00E942B0CF1 +:1013B00042E061EC82E00E942B0C42E061EC83E0B1 +:1013C0000E942B0C42E261EC84E00C942B0C809187 +:1013D000E302833009F453C030F4813071F082307D +:1013E00009F48CC008958A3009F478C08B3009F470 +:1013F0005EC0893009F09AC020C08091E202813A33 +:1014000009F094C08091E800877F8093E800809184 +:10141000E6029091E702892B21F468E084E691E0EE +:1014200003C060E080E090E070E00E94670B809174 +:10143000E8008B778093E80008958091E202813282 +:1014400009F074C08091E6029091E702892B09F0BF +:101450006DC08091E800877F8093E8008091E8006C +:1014600082FD05C08091E1028111F8CF5FC08091BB +:10147000F10080936C018091E8008B7753C08091DC +:10148000E202813A09F052C08091E6029091E702AF +:10149000892B09F04BC08091E800877F8093E8009A +:1014A0008091E80080FFFCCF80910B0136C08091D5 +:1014B000E2028132D9F58091E6029091E702892B10 +:1014C000A9F58091E800877F8093E8000E94600C76 +:1014D0008091E40280930B010C94D5148091E20278 +:1014E000813221F58091E800877F8093E8000E9497 +:1014F000600C8091E50280936D0108958091E20275 +:10150000813AA1F48091E800877F8093E800809180 +:10151000E80080FFFCCF80916D018093F100809105 +:10152000E8008E778093E8000C94600C089584B7EF +:10153000877F84BF88E10FB6F89480936000109293 +:1015400060000FBE90E080E80FB6F89480936100D1 +:10155000909361000FBE0E9442100E94B10C0E9445 +:101560000E0D8091E20084608093E20078940E94E6 +:10157000B00F0E94930F0E94441081E091E00E94FE +:10158000EE0F0E944C10FDCF292F33272330310559 +:10159000C9F064F42130310581F02230310509F0C1 +:1015A00043C084E790E02BEE33E042C021323105A6 +:1015B000F1F02232310541F137C082E190E02FE5B0 +:1015C00034E036C099278130910541F08230910591 +:1015D00041F0892B49F5E7EEF3E005C0E3EDF3E0D8 +:1015E00002C0E7ECF3E0849190E09F0121C06430F9 +:1015F000D8F4E62FF0E0EE0FFF1FEF5CFE4F2081E6 +:10160000318189E090E014C0643070F470E0FB0137 +:10161000EE0FFF1FE75DFE4F20813181FB01EB5D87 +:10162000FE4F808190E004C080E090E020E030E058 +:10163000FA01318320830895CF92DF92EF92FF92D7 +:101640000F931F93CF93DF93EC018B016A010E94EC +:101650007F0C811133C0C114D10439F0F6018081AF +:101660009181081B190BC80FD91FE12CF12C011512 +:10167000110519F18091E80085FD16C08091E80000 +:101680008E778093E800C114D10449F0F60180817F +:101690009181E80EF91EF182E08285E00FC00E9480 +:1016A0007F0C882321F30AC089918093F1000150B7 +:1016B0001109FFEFEF1AFF0ADACF80E0DF91CF9137 +:1016C0001F910F91FF90EF90DF90CF9008952091A0 +:1016D000E8023091E9022617370748F061157105D5 +:1016E00039F42091E8002E772093E80001C0B90179 +:1016F00040E061157105A9F12091E102222309F46E +:1017000043C0253009F442C02091E80023FD40C0C9 +:101710002091E80022FD32C02091E80020FFE9CFAF +:101720004091F3002091F20030E0342BFC01CF0116 +:101730006115710559F02830310540F4819180938D +:10174000F100615071092F5F3F4FF1CF41E0283028 +:10175000310509F040E02091E8002E772093E80061 +:10176000C8CF4111C9CF0AC08091E102882361F03E +:10177000853061F08091E80083FD0AC08091E80027 +:1017800082FFF2CF80E0089582E0089583E008951B +:1017900081E008952091E8023091E9022617370789 +:1017A00048F06115710539F42091E8002E772093F7 +:1017B000E80001C0B901FC0120E06115710591F15B +:1017C0008091E102882309F440C0853009F43FC0CC +:1017D0008091E80083FD3DC08091E80082FD2FC02C +:1017E0008091E80080FFE9CF2091F3008091F20022 +:1017F00090E0922B6115710559F08830910540F405 +:1018000024912093F1003196615071090196F2CF35 +:1018100021E0089709F020E08091E8008E7780931E +:10182000E800CBCF2111CCCF0AC08091E102882300 +:1018300061F0853061F08091E80083FD0AC08091FD +:10184000E80082FFF2CF80E0089582E0089583E00F +:10185000089581E00895982F973058F59093E90006 +:10186000981739F07091EC002091ED005091F00044 +:1018700003C0242F762F50E021FF19C03091EB00D8 +:101880003E7F3093EB003091ED003D7F3093ED00D3 +:101890003091EB0031603093EB007093EC002093BB +:1018A000ED005093F0002091EE0027FF07C09F5FEE +:1018B000D3CF8F708093E90081E0089580E0089590 +:1018C0008091E20287FF11C08091E80082FD05C08F +:1018D0008091E1028111F8CF11C08091E8008B77EF +:1018E0000BC08091E102882349F08091E80080FFDD +:1018F000F8CF8091E8008E778093E80008952091DA +:10190000E4003091E50095E64091EC00842F817071 +:1019100040FF22C08091E80080FD1CC08091E10260 +:10192000882391F0853091F08091EB0085FD10C007 +:101930004091E4005091E5004217530729F39A01C2 +:10194000915011F784E0089582E0089583E00895AE +:1019500081E0089580E008954091E80042FFDECFE5 +:1019600008950E941F0D0E94270DE0EEF0E0808197 +:1019700081608083E8EDF0E080818F77808319BCFF +:10198000A7EDB0E08C918E7F8C9380818F7E8083D9 +:101990001092E00208950F931F93CF93DF930E945C +:1019A0001F0D0E94270DC8EDD0E088818F778883B6 +:1019B00088818068888388818F7D888319BC109294 +:1019C000E1021092DD021092DF021092DE0200EEC0 +:1019D00010E0F80180818B7F80838881816088831B +:1019E00042E060E080E00E942B0CE1EEF0E08081BC +:1019F0008E7F8083E2EEF0E0808181608083808151 +:101A000088608083F80180818E7F808388818061F7 +:101A10008883DF91CF911F910F910895E8EDF0E059 +:101A200080818F7E8083E7EDF0E08081816080831C +:101A300084E082BF81E08093E0020C94CB0CE8ED5F +:101A4000F0E080818E7F80831092E20008951092F2 +:101A5000DA001092E10008951F920F920FB60F92D4 +:101A600011242F933F934F935F936F937F938F93A3 +:101A70009F93AF93BF93EF93FF938091E10082FF19 +:101A80000BC08091E20082FF07C08091E1008B7F54 +:101A90008093E1000E9492098091DA0080FF1FC0CC +:101AA0008091D80080FF1BC08091DA008E7F8093E8 +:101AB000DA008091D90080FF0DC080E189BD82E10C +:101AC00089BD09B400FEFDCF81E08093E1020E9450 +:101AD0007D0905C019BC1092E1020E948B0980911A +:101AE000E10080FF19C08091E20080FF15C0809165 +:101AF000E2008E7F8093E2008091E200806180931B +:101B0000E2008091D80080628093D80019BC85E003 +:101B10008093E1020E948F098091E10084FF30C030 +:101B20008091E20084FF2CC080E189BD82E189BD03 +:101B300009B400FEFDCF8091D8008F7D8093D8003E +:101B40008091E1008F7E8093E1008091E2008F7EA2 +:101B50008093E2008091E20081608093E2008091B6 +:101B6000DD02882311F084E007C08091E30087FD47 +:101B700002C081E001C083E08093E1020E949009ED +:101B80008091E10083FF29C08091E20083FF25C09E +:101B90008091E100877F8093E10082E08093E10201 +:101BA0001092DD028091E1008E7F8093E1008091B0 +:101BB000E2008E7F8093E2008091E200806180935A +:101BC000E20042E060E080E00E942B0C8091F00097 +:101BD00088608093F0000E948E09FF91EF91BF9181 +:101BE000AF919F918F917F916F915F914F913F91B5 +:101BF0002F910F900FBE0F901F9018951F920F926C +:101C00000FB60F9211242F933F934F935F936F93CF +:101C10007F938F939F93AF93BF93CF93DF93EF9374 +:101C2000FF93C091E900CF708091EC00D82FD17064 +:101C300080FDD0E81092E9008091F000877F8093CA +:101C4000F00078940E94420E1092E9008091F0001A +:101C500088608093F000CD2BCF70C093E900FF9196 +:101C6000EF91DF91CF91BF91AF919F918F917F9134 +:101C70006F915F914F913F912F910F900FBE0F90F9 +:101C80001F9018951F93CF93DF93CDB7DEB7AA9718 +:101C90000FB6F894DEBF0FBECDBFE2EEF2E088E0F3 +:101CA0008E0F9091F10091938E13FBCF0E94E70964 +:101CB0008091E80083FF1FC18091E2029091E302CE +:101CC000492F50E04A30510508F015C1FA01EA5A8F +:101CD000FF4F0C948923803881F0823809F00BC1C2 +:101CE0008091E6028F708093E9008091EB0085FB84 +:101CF000882780F91092E90006C08091DE02909159 +:101D0000DF02911182609091E800977F9093E80044 +:101D10008093F1001092F100C8C0282F2D7F09F0A8 +:101D2000EAC0882319F0823061F0E5C08091E402B6 +:101D3000813009F0E0C0933009F080E08093DF0249 +:101D40002BC08091E402811127C08091E6028F7040 +:101D500009F4D1C08093E9002091EB0020FF1CC062 +:101D6000933021F48091EB00806214C09091EB00DD +:101D700090619093EB0021E030E0A90102C0440F94 +:101D8000551F8A95E2F74093EA001092EA0080918D +:101D9000EB0088608093EB001092E9008091E800EE +:101DA000877F86C08111A7C01091E4021F778091C0 +:101DB000E3008078812B8093E3008091E800877FA7 +:101DC0008093E8000E94600C8091E80080FFFCCFC7 +:101DD0008091E30080688093E300111102C082E0EB +:101DE00001C083E08093E10286C08058823008F011 +:101DF00082C08091E4029091E5028C3D53E095070A +:101E000079F583E08A838AE289834FB7F894DE010B +:101E1000139620E03EE051E2E32FF0E050935700AC +:101E2000E49120FF03C0E295EF703F5FEF708E2FCB +:101E300090E0EA3010F0C79601C0C0968D939D9354 +:101E40002F5F243149F74FBF8091E800877F80934F +:101E5000E8006AE270E0CE0101960E94670B14C0B0 +:101E6000AE014F5F5F4F6091E6020E94C40ABC0161 +:101E7000009709F440C09091E800977F9093E800A4 +:101E800089819A810E94CA0B8091E8008B778093A8 +:101E9000E80031C0803879F58091E800877F809331 +:101EA000E8008091DD028093F1008091E8008E7758 +:101EB0008093E8000E94600C1EC081111CC09091AC +:101EC000E4029230C0F48091E800877F8093E800BC +:101ED0009093DD020E94600C8091DD02811106C0AA +:101EE0008091E30087FD02C081E001C084E080931F +:101EF000E1020E94D3098091E80083FF0AC080912B +:101F0000E800877F8093E8008091EB0080628093F7 +:101F1000EB00AA960FB6F894DEBF0FBECDBFDF91DF +:101F2000CF911F910895CF938091E1028823A1F072 +:101F3000C091E900CF709091EC00892F817090FDE5 +:101F400080E8C82B1092E9008091E80083FD0E9490 +:101F5000420ECF70C093E900CF9108950C94BD0F4D +:101F600087E68093CC001092CD0088E08093C90072 +:101F700086E08093CA00789408959091C80095FFF8 +:101F8000FCCF8093CE0008951F920F920FB60F9250 +:101F900011242F933F934F938F939F93EF93FF932E +:101FA00080916F0190E09C012F5F3F4F40916E0147 +:101FB000421741F03091CE00FC01E059FE4F3083D2 +:101FC00020936F01FF91EF919F918F914F913F91DE +:101FD0002F910F900FBE0F901F9018959093750240 +:101FE000809374020895E0917402F0917502309725 +:101FF00021F00190F081E02D099480E00895E091B6 +:102000007402F0917502309721F00280F381E02D87 +:1020100009940895E0917402F0917502309721F0CF +:102020000480F581E02D0994089520917202309189 +:1020300073028217930771F0909373028093720278 +:10204000E0917402F0917502309721F00680F781DB +:10205000E02D099408952091700230917102821749 +:10206000930771F09093710280937002E091740273 +:10207000F0917502309721F00084F185E02D0994EC +:10208000089508950C9441100E94331B0E9440074C +:102090000E94FD1B0C94B0215F926F927F928F92F1 +:1020A0009F92AF92BF92CF92DF92EF92FF920F93E7 +:1020B0001F93CF93DF9300D000D01F92CDB7DEB730 +:1020C0000E9485079FE7C92E92E0D92E03E010E019 +:1020D000AA24A394B12C502E802F0E9400084C01FA +:1020E000F601729062906F0168267926611471047E +:1020F000A1F40150110978F78FEF89838A831B823D +:102100000E943C1B8160782F9D838C8349815A817A +:102110006B818D810E94FC1038C08091CC0281FDC2 +:102120000E9409082CE030E07501022E02C0EE0C7E +:10213000FF1C0A94E2F7C70186219721892B09F138 +:1021400029835A828E209F2091E0892809F490E00B +:102150009B830E943C1B8160782F9D838C834981E7 +:102160005A816B818D810E94FC10000F111FF801B4 +:10217000E958FD4F80819181E826F926F182E082BD +:1021800004C02150310980F6B4CF0E94EB1E10919B +:1021900076020E94F30F1817D1F00E94F30F80937C +:1021A00076020F900F900F900F900F90DF91CF91CC +:1021B0001F910F91FF90EF90DF90CF90BF90AF9065 +:1021C0009F908F907F906F905F900C942A070F9054 +:1021D0000F900F900F900F90DF91CF911F910F9163 +:1021E000FF90EF90DF90CF90BF90AF909F908F9037 +:1021F0007F906F905F900895CF93DF93CDB7DEB758 +:102200002B970FB6F894DEBF0FBECDBF4F83588714 +:1022100069877A878B87DE01119686E0FD0111922E +:102220008A95E9F785E0FE01379601900D928A952F +:10223000E1F749815A816B817C818D819E810E9469 +:1022400073172B960FB6F894DEBF0FBECDBFDF918C +:10225000CF910895CF93882309F4C2C0C82F823844 +:1022600059F40E94F30F81FDBBC089E30E944D1A0F +:102270000E94D01A89E30CC0833879F40E94F30FCE +:1022800080FDAEC083E50E944D1A0E94D01A83E5FE +:102290000E946A1ACF910C94D01A843859F40E9483 +:1022A000F30F82FD9DC087E40E944D1A0E94D01A50 +:1022B00087E4EECF8CEF8C0F813A48F48C2F0E948C +:1022C000182181118DC08C2F0E944D1AE3CF80E21E +:1022D0008C0F883048F4C77081E001C0880FCA9520 +:1022E000EAF70E94891AD6CF8BE58C0F833078F4F9 +:1022F000C53A29F0C63A31F083E890E005C081E89C +:1023000090E002C082E890E0CF910C94151088E52F +:102310008C0F833108F064C0C83A39F1C93A41F1F1 +:10232000CA3A49F1CB3A51F1CC3A59F1CD3A61F17F +:10233000C03B69F1CE3A71F1CF3A79F1C13B81F1FD +:10234000C23B89F1C33B91F1C43B99F1C53BA1F17B +:10235000C63BA9F1C73BB1F1C83BB9F1C93BC1F1DB +:10236000CA3BC9F180E090E038C082EE90E035C011 +:1023700089EE90E032C08AEE90E02FC085EB90E0CD +:102380002CC086EB90E029C087EB90E026C08CEC57 +:1023900090E023C08DEC90E020C083E891E01DC068 +:1023A0008AE891E01AC082E991E017C084E991E0DF +:1023B00014C081E292E011C083E292E00EC084E298 +:1023C00092E00BC085E292E008C086E292E005C090 +:1023D00087E292E002C08AE292E0CF910C942B1047 +:1023E000CF910895882309F44BC0823859F40E9494 +:1023F000F30F81FF45C089E30E944D1A0E94D01A55 +:1024000089E30CC0833871F40E94F30F80FF38C059 +:1024100083E50E944D1A0E94D01A83E50E946A1A31 +:102420000C94D01A843859F40E94F30F82FF28C00C +:1024300087E40E944D1A0E94D01A87E4EFCF9CEFE8 +:10244000980F913A58F390E2980F983050F48770B3 +:1024500091E001C0990F8A95EAF7892F0E948F1A9F +:10246000DFCF9BE5980F933020F480E090E00C9450 +:102470001510885A833120F480E090E00C942B10E2 +:102480000895882321F00E94891A0C94D01A089587 +:10249000882321F00E948F1A0C94D01A08957F92FD +:1024A0008F929F92AF92BF92CF92DF92EF92FF9264 +:1024B0000F931F93CF93DF931F92CDB7DEB77C01AD +:1024C000C62E772EFC01058102950F701281111125 +:1024D0000E94A61A0E94461A882379F0112369F0F7 +:1024E00080E28C0D883048F082E00E942F1A0E9412 +:1024F000461A91E0D82ED92601C0D12CE72DE295BD +:10250000EF70F0E0E05AFF4F0C948923872D807F15 +:10251000072D0F70882311F00295007F112389F099 +:10252000002309F499C180E28C0D883020F4802FBB +:102530000E94891A03C0802F0E94991A0E94D01A03 +:102540008BC18C2D0E94F211002309F4C3C180E2DB +:102550008C0D883020F4802F0E948F1A03C0802FAA +:102560000E949F1A0E94D01AB5C1872D807F972D97 +:102570009F70803211F4892F03C0892F8295807F4C +:10258000CC2021F0F1E0CF16A1F01DC0112339F0CD +:10259000002319F1013009F50E94B91A9BC10023EB +:1025A00019F0013009F496C189830E94BC1A89810F +:1025B00010C1112321F0063008F08CC10EC0053087 +:1025C00008F088C106C1112359F0002331F0F7014A +:1025D000958190FF41C19F7095830E9441127AC1FD +:1025E000002309F4F6C03EC1872D86958695837039 +:1025F00090E0009719F0019761F06CC1112321F070 +:102600008C2D972D937002C080E090E00E941510F1 +:1026100061C1112321F08C2D972D937002C080E0B1 +:1026200090E00E942B1056C18C2D112319F00E94AE +:10263000F31D02C00E945B1E0E94E01E4BC1872D4D +:10264000837009F052C0111145C18C2D8295869579 +:102650008770880F880F9C2D9F70892E912CA12C3C +:10266000B12C082E04C0880C991CAA1CBB1C0A940F +:10267000D2F7C4FE14C00FE010E020E030E0B90152 +:10268000A80104C0440F551F661F771F8A95D2F713 +:10269000CB01BA01609570958095909503C060E07C +:1026A00070E0CB01272D26952695237030E022304F +:1026B000310569F02330310589F0682979298A29A3 +:1026C0009B292130310571F00E94BB1803C1682994 +:1026D00079298A299B290E94D718FCC00E94BB181F +:1026E000C501B4010E949F18F5C0112319F0872D70 +:1026F000817001C08695882309F4ECC08C2D8295E9 +:1027000086958770880F880F9C2D9F70892E912C3D +:10271000A12CB12C082E04C0880C991CAA1CBB1C2F +:102720000A94D2F7C4FE14C00FE010E020E030E0BD +:10273000B901A80104C0440F551F661F771F8A9571 +:10274000D2F7CB01BA01609570958095909503C042 +:1027500060E070E0CB01272D269526952370422F4F +:1027600050E04230510569F04330510589F0682945 +:1027700079298A299B294130510571F00E949519C8 +:10278000A9C0682979298A299B290E94B119A2C068 +:102790000E949519C501B4010E9479199BC08C2D26 +:1027A00090E0FC01E05EF109E531F10508F050C070 +:1027B000E059FF4F0C9489230C2D0F70872D8F71DA +:1027C000112321F00E941219802F07CF0E94331984 +:1027D000802F0E9448127EC0112341F0053008F07E +:1027E00079C0872D8F710E94581974C0063008F087 +:1027F00071C0F7CF112339F0872D8F710E94121904 +:1028000069C01123C9F3872D8F710E94331962C0EB +:10281000112329F0872D8F710E94FD185BC00E9443 +:10282000F31858C0112351F0172D1F71812F0E94EA +:10283000121963E0812F0E94261A4CC081E00E9489 +:102840002F1A023008F446C082E00E942F1A42C0BC +:10285000112331F0002381F28C2D0E942A113AC0FD +:10286000002389F28C2D0E94F21134C0472D4F7045 +:102870006C2DC7010E943F030E9417182BC0111135 +:1028800029C0472D4F7050E042305105B9F04CF44B +:102890004115510581F041305105E1F40E94D821E4 +:1028A00019C04330510569F04430510599F48C2D1D +:1028B0000E942A220FC00E94C1210CC00E94F42154 +:1028C00009C00E94072206C0472D4F706C2DC7011A +:1028D0000E940E04DD20F9F00E94221A80FD1BC028 +:1028E000F70112820E941C1A0E941219C7010E944D +:1028F0009A140E941C1A0F90DF91CF911F910F9193 +:10290000FF90EF90DF90CF90BF90AF909F908F900F +:102910007F900C9433190F90DF91CF911F910F91FD +:10292000FF90EF90DF90CF90BF90AF909F908F90EF +:102930007F9008950F931F93CF93DF93EC018881CD +:1029400099812B813C81232BB9F09F3F11F48F3F5C +:1029500099F0CE010E946203882371F06881798129 +:102960008A810E94181A8C010E94CD190E94941825 +:10297000B801CE010E944F12DF91CF911F910F91AC +:1029800008950E94A61A0E94B61A0E947B1A0E94FD +:10299000D01A0E94911F0E94E01E80E090E00E94E9 +:1029A000151080E090E00C942B100E94961A0C9465 +:1029B000C1140E940D1A292F22952F7030E02C305F +:1029C00031054CF42A3031056CF4225031092230A3 +:1029D0003105A8F407C02C30310569F02F303105DE +:1029E00051F00DC0803F69F018F4803E40F409C0FA +:1029F000843F29F406C093FB882780F9089580E07E +:102A0000089581E00895CF93DF9300D000D01F9206 +:102A1000CDB7DEB70F900F900F900F900F90DF9112 +:102A2000CF910895CF93DF9300D000D000D0CDB7E1 +:102A3000DEB726960FB6F894DEBF0FBECDBFDF918E +:102A4000CF9108951F93CF93DF93C0917F0216E03B +:102A500080918002C81799F0D0E01C9FF0011D9F63 +:102A6000F00D1124EF57FD4F408151816281738138 +:102A7000848195810E9412152196C770E9CFDF915C +:102A8000CF911F9108954091B1025091B20260918F +:102A9000B3027091B4028091B5029091B6020C9489 +:102AA00012158091B60282958F7009F054C0809102 +:102AB000B302882309F44FC080917F02A091800265 +:102AC0006091B1027091B2024091B4025091B5028E +:102AD000B6E08A1709F43FC090E041155105C1F1F5 +:102AE0007F3F11F46F3FA1F1B89FF001B99FF00D46 +:102AF0001124EF57FD4F218172132AC020816213E8 +:102B000027C02281211124C0238134812417350755 +:102B100010F421503109241B350B283C3105C0F439 +:102B20002091B6022F7020612093B60226E0289FE4 +:102B3000F001299FF00D1124EA57FD4F80818F701D +:102B40008061808381EB92E00E949A140C9422159C +:102B500001968770BECF0895CF92DF92EF92FF92D9 +:102B60000F931F93CF93DF93CDB7DEB762970FB666 +:102B7000F894DEBF0FBECDBF8C0185E0F801DE0109 +:102B80001D9601900D928A95E1F7D8014C9111960E +:102B90005C91119712966C9112971396CD90DC90E0 +:102BA00014973091B1027091B2028091B402909169 +:102BB000B502009709F46BC17F3F19F43F3F09F458 +:102BC00066C1E090B302EE2009F4C0C02091B602C5 +:102BD000C816D90628F0F601E81BF90BCF0104C08E +:102BE000809590958C0D9D1DFF24F394883C910554 +:102BF00078F0F12C207F09F0C6C07C2DD98AC88AD4 +:102C000089890E94031581EB92E00E949A14B1C059 +:102C1000822F807F09F046C0751314C0341312C090 +:102C2000611110C02F7020612093B6020E944315DD +:102C300081EB92E00E949A148091B602D801159619 +:102C40008C932EC0CD2819F15F3F11F44F3FF9F05E +:102C5000F62E61111CC080917F022091800236E027 +:102C6000821709F45AC090E0389FF001399FF00DA7 +:102C70001124EF57FD4F7181571306C07081471320 +:102C800003C07281711103C001968770E9CFF62EDF +:102C9000662309F418C18091B60281608093B60260 +:102CA000F12C11C1751308C0341306C0611104C0A2 +:102CB0008091B602D801C3C04D875E878D859E8501 +:102CC0006A8B0E94D9146A898823E1F16623D1F1C5 +:102CD0002091B602822F82958F7090E0029774F057 +:102CE0008091B1029091B20298878F831986DB861A +:102CF000CA862C87CE0107960E949A1486E0F801B6 +:102D0000A1EBB2E001900D928A95E1F70E94511576 +:102D10000E944315FF24F394D6C04D875E878D85AE +:102D20009E850E940D1A292F22952F7030E02230A7 +:102D300031050CF0BCC09F7009F0B6C0805E8830D1 +:102D400008F4C1C0C8010E949A14E4CFC816D9067D +:102D500008F453C0F601E81BF90BCF01883C91053C +:102D600008F450C0F12C7C2DD98AC88A89890E9428 +:102D70000315E1EBF2E086E0DF011D928A95E9F7A9 +:102D80000E944315A0C0751314C0341312C0611102 +:102D900010C08091B602F8018583C8010E949A1480 +:102DA00086E0E1EBF2E0DF011D928A95E9F7FE2C67 +:102DB0008AC04D875E878D859E856A8B0E94D91457 +:102DC0006A89882309F4BECF662309F4BBCF20911A +:102DD000B602822F82958F7090E002970CF48ECF0E +:102DE0008091B1029091B2029A8389831B82DD8225 +:102DF000CC822E83CE0101967FCF809590958C0D4D +:102E00009D1DACCFF62E662309F49CCF75132EC002 +:102E100034132CC02091B60220FD1FC0822F829552 +:102E20008F70D9F0D80115962C9315978F3049F0F3 +:102E30008F5F982F9295907F822F8F70892B159698 +:102E40008C93C8010E949A1486E0F801A1EBB2E0CD +:102E500001900D928A95E1F793CF86E0F801A1EBFE +:102E6000B2E001900D928A95E1F72DC04D875E8703 +:102E70008D859E850E94D914811140CF8091B60224 +:102E800081608093B602C8010E949A141CC0662318 +:102E900009F458CF4D875E878D859E850E94D91491 +:102EA000882309F44FCF2ACF811148CF0CC024309A +:102EB00031050CF047CF9F7009F440CFF8019581A0 +:102EC000907F09F03BCF8F2D62960FB6F894DEBF4E +:102ED0000FBECDBFDF91CF911F910F91FF90EF906B +:102EE000DF90CF9008951F93CF93DF93CDB7DEB7D8 +:102EF0002C970FB6F894DEBF0FBECDBF4F83588717 +:102F000069877A878B879C87CE0107960E94AC15CC +:102F1000882369F08F8198852A853B85232BF1F1E1 +:102F20009F3F09F063C08F3F09F060C037C086E063 +:102F3000FE013796DE01119601900D928A95E1F718 +:102F40006F817885EA85FB85309741F17F3F11F4E9 +:102F50006F3F21F12091800230E0C9010196877016 +:102F6000992740917F0250E08417950709F447C0E4 +:102F700069837A83FD83EC8396E0929FD001939FCF +:102F8000B00D1124AF57BD4FFE01319601900D9247 +:102F90009A95E1F7809380020E94221516E08091B5 +:102FA0007F02909180028917C1F1189FC0011124FE +:102FB0008F579D4F0E94AC15882379F1E0917F02D5 +:102FC0001E9FF0011124EF57FD4F40815181628116 +:102FD0007381848195810E94121580917F0290E017 +:102FE00001968770992780937F02D9CF4F815885AA +:102FF00069857A858B859C850E941215CFCF0E94AA +:10300000D5141092800210927F02E1EBF2E086E08C +:10301000DF011D928A95E9F7C1CF2C960FB6F8947F +:10302000DEBF0FBECDBFDF91CF911F910895EF920C +:10303000FF920F931F93CF93DF938C01009709F4B6 +:103040006CC0F12CEE24E394E8012196F801849100 +:10305000843740F4843008F051C0813081F08230F0 +:1030600019F15BC0853709F444C0A8F19CE7980FBB +:10307000903708F052C08F770E94F21141C00E5F66 +:103080001F4FFE01C49180E28C0F883048F4C77056 +:103090008E2D01C0880FCA95EAF70E94A91A14C0A4 +:1030A0008C2F0E942A112DC00E5F1F4FFE01C4916C +:1030B00080E28C0F883058F4C7708E2D01C0880FC5 +:1030C000CA95EAF70E94AF1A0E94D01A1AC08C2F34 +:1030D0000E94F21116C00E5F1F4FFE01C491CC2357 +:1030E00081F08FE99FE00197F1F700C00000C15027 +:1030F000F6CF0E5F1F4FFE01F49003C00E942A110D +:103100008E018F2D882309F49FCFEFE9FFE03197DF +:10311000F1F700C000008150F5CFDF91CF911F91F2 +:103120000F91FF90EF90089508956093BB02709304 +:10313000BC028093BD029093BE020C94C1140F9305 +:103140001F930091BB021091BC022091BD023091EF +:10315000BE02DC01CB01802B912BA22BB32B8093E1 +:10316000BB029093BC02A093BD02B093BE021F911C +:103170000F910C94C1140F931F930091BB021091F7 +:10318000BC022091BD023091BE02DC01CB01802344 +:103190009123A223B3238093BB029093BC02A093FC +:1031A000BD02B093BE021F910F910C94C1140F93F6 +:1031B0001F930091BB021091BC022091BD0230917F +:1031C000BE02DC01CB0180279127A227B327809381 +:1031D000BB029093BC02A093BD02B093BE021F91AC +:1031E0000F910C94C1141092B7021092B802109271 +:1031F000B9021092BA020C94C11441E050E060E0B0 +:1032000070E004C0440F551F661F771F8A95D2F7E0 +:103210004093B7025093B8026093B9027093BA0218 +:103220000C94C11441E050E060E070E004C0440F31 +:10323000551F661F771F8A95D2F78091B70290912C +:10324000B802A091B902B091BA02482B592B6A2B4F +:103250007B2B4093B7025093B8026093B9027093EE +:10326000BA020C94C11441E050E060E070E004C088 +:10327000440F551F661F771F8A95D2F740955095CA +:10328000609570958091B7029091B802A091B902B3 +:10329000B091BA02482359236A237B234093B70293 +:1032A0005093B8026093B9027093BA020C94C1149F +:1032B00041E050E060E070E004C0440F551F661F1D +:1032C000771F8A95D2F78091B7029091B802A091AA +:1032D000B902B091BA02482759276A277B27409341 +:1032E000B7025093B8026093B9027093BA020C947B +:1032F000C1140F931F930091B7021091B80220914F +:10330000B9023091BA02DC01CB01802B912BA22BA8 +:10331000B32B8093B7029093B802A093B902B093F5 +:10332000BA021F910F910C94C1140F931F93009137 +:10333000B7021091B8022091B9023091BA02DC01B3 +:10334000CB0180239123A223B3238093B7029093D0 +:10335000B802A093B902B093BA021F910F910C94D6 +:10336000C1140F931F930091B7021091B8022091DE +:10337000B9023091BA02DC01CB0180279127A22744 +:10338000B3278093B7029093B802A093B902B09389 +:10339000BA021F910F910C94C1140895CF92DF923D +:1033A000EF92FF920F931F93CF93DF938C01C09006 +:1033B000BB02D090BC02E090BD02F090BE028091B2 +:1033C000B7029091B802A091B902B091BA02C82A8E +:1033D000D92AEA2AFB2ACFE1D0E0D701C6010C2E78 +:1033E00004C0B695A795979587950A94D2F780FF64 +:1033F00006C0B8018C2F0E948F06019721F42197F7 +:1034000060F780E001C08C2FDF91CF911F910F9169 +:10341000FF90EF90DF90CF900895CF93DF93EC0172 +:103420000E94CE19BE010E948F06DF91CF910895B0 +:10343000CB010E940D1A08958091BF028595859554 +:10344000859508958091BF028770089598E0899FBF +:1034500090011124262B2093BF020C941219209165 +:10346000BF02809582238093BF02982F977069F4E2 +:1034700030E0482F552747FD50952417350729F090 +:103480008595859585950C94331908959091BF0283 +:10349000977081E009F480E0089520910C0130914B +:1034A0000D01F90132969FEF40E05191581789F0D4 +:1034B0009F3F19F4511101C0942F4F5F4630A9F777 +:1034C0009F3F39F0F901E90FF11D97FDFA958283CD +:1034D0000895089520910C0130910D01F901329663 +:1034E000285F3F4F9081981301C010823196E217F8 +:1034F000F307C1F7089581E090E0E0910C01F091AD +:103500000D01E80FF91F1082019688309105A9F787 +:1035100008959091CB02892B8093CB0208958095DA +:103520009091CB0289238093CB0208951092CB0215 +:1035300008959091CA02892B8093CA0208958095BC +:103540009091CA0289238093CA0208951092CA02F8 +:1035500008959091C902892B8093C902089580959E +:103560009091C90289238093C90208951092C902DB +:1035700008958093C00208951092C002089580912A +:103580000C0190910D01FC0131969C01285F3F4F89 +:1035900080E0919191118F5FE217F307D1F70895C1 +:1035A000E0910C01F0910D018091CB028083E091BC +:1035B0000C01F0910D0190818091CA02892B8083CA +:1035C000E0910C01F0910D0190818091C902892B4D +:1035D00080838091C002882361F0E0910C01F0911A +:1035E0000D019081892B80830E94BF1A8111109256 +:1035F000C00280910C0190910D010C94FF0F0E946C +:10360000D51480E00E9400030E94B0210E94F30FB5 +:103610000C942A071F920F920FB60F9211248F93CA +:103620009F93AF93BF938091CD02811113C080917E +:10363000CE029091CF02A091D002B091D1024196DA +:10364000A11DB11D8093CE029093CF02A093D00212 +:10365000B093D102BF91AF919F918F910F900FBE08 +:103660000F901F90189582E084BD93E095BD9AEF6E +:1036700097BD80936E0008952FB7F8948091CE0285 +:103680009091CF02A091D002B091D1022FBF0895A6 +:10369000CF92DF92EF92FF920F931F932FB7F89480 +:1036A0004091CE025091CF026091D0027091D10230 +:1036B0002FBF6A017B01EE24FF248C0120E030E063 +:1036C000C016D106E206F30610F4415051099A01E2 +:1036D000281B390BC9011F910F91FF90EF90DF90CC +:1036E000CF9008951F920F920FB60F9211248F93CF +:1036F0009F93AF93BF938091CE029091CF02A09100 +:10370000D002B091D1020196A11DB11D8093CE02CD +:103710009093CF02A093D002B093D102BF91AF910A +:103720009F918F910F900FBE0F901F9018950E9440 +:10373000B10CF8942FEF87EA91E621508040904039 +:10374000E1F700C0000087E090EBDC018093EC0221 +:103750009093ED02A093EE02B093EF029CE088E11B +:103760000FB6F894A895809360000FBE9093600008 +:10377000FFCFCF92DF92EF92FF920F931F93CF93E1 +:10378000DF93D82FC3E0EE24E394F12C8C2F0E941A +:1037900000086C010CE010E09701002E02C0220F1F +:1037A000331F0A94E2F72C213D21232B49F0602F8F +:1037B0007C2F80E00E940F04D81302C081E006C075 +:1037C0000150110948F7C15008F780E0DF91CF910F +:1037D0001F910F91FF90EF90DF90CF900895CF93BE +:1037E000C82F8CE20E94B91B882321F08C2FCF9127 +:1037F0000C94B91B80E0CF910895CF930E94421D95 +:10380000811102C00E94231DC5E6C15049F00E94EB +:1038100085078FE39CE90197F1F700C00000F5CF21 +:1038200089E20E94EF1B81110CC18AE20E94EF1B0A +:1038300081110E94231D85E00E94EF1B81110E94CF +:10384000971B0E944D1D8093CC0287E00E94EF1BC6 +:103850008823A9F18BE10E94EF1B882351F080910E +:10386000CC0281FB222720F991E0922790FB81F97D +:103870000EC08EE00E94EF1B882361F08091CC0285 +:1038800082FB222720F991E0922790FB82F9809316 +:10389000CC0215C080E10E94EF1B9091CC028823DE +:1038A00041F093FB222720F981E0822780FB93F9E6 +:1038B00004C0892F809580FB90F99093CC02809171 +:1038C000CC020E94511D0E945F1D8093EA0280EE8F +:1038D0000E94EF1B882341F08091EA02982F909577 +:1038E00090FB80F98093EA0289E30E94EF1B882312 +:1038F00059F08091EA0281FB222720F991E092277A +:1039000090FB81F98093EA0282EE0E94EF1B8823EC +:1039100059F08091EA0282FB222720F991E0922758 +:1039200090FB82F98093EA0286EE0E94EF1B8823C7 +:1039300059F08091EA0283FB222720F991E0922737 +:1039400090FB83F98093EA0283EE0E94EF1B8823A9 +:1039500059F08091EA0284FB222720F991E0922716 +:1039600090FB84F98093EA0285E30E94EF1B882391 +:1039700059F08091EA0285FB222720F991E09227F5 +:1039800090FB85F98093EA0281E30E94EF1B882374 +:1039900059F08091EA0286FB222720F991E09227D4 +:1039A00090FB86F98093EA0281E10E94EF1B882355 +:1039B00059F08091EA0287FB222720F991E09227B3 +:1039C00090FB87F98093EA028091EA020E94631DCE +:1039D00087E20E94EF1BC82F8EE10E94EF1B81112E +:1039E000C2608FE10E94EF1B8111C46080E20E94DF +:1039F000EF1B8111C86081E20E94EF1B8111C06141 +:103A000082E20E94EF1B8111C06283E20E94EF1BE1 +:103A10008111C06484E20E94EF1B882311F0C0680A +:103A200002C0CC2329F08C2F0E945A1D6C2F03C09A +:103A30000E94561D682F70E080E090E0CF910C94BA +:103A40009518CF9108956DEE7EEF80E090E00E9492 +:103A5000C32360E082E090E00E94B12360E083E055 +:103A600090E00E94B12360E084E090E00E94B123E6 +:103A700060E085E090E00E94B12360E086E090E0A5 +:103A80000C94B12380E090E00E94AB2321E08D3EB6 +:103A90009E4F09F020E0822F089582E090E00C9480 +:103AA000A323682F82E090E00C94B12383E090E0A0 +:103AB0000C94A323682F83E090E00C94B12384E05E +:103AC00090E00C94A323682F84E090E00C94B12341 +:103AD00086E090E00C94A323682F86E090E00C949D +:103AE000B1238091D40280FF0BC06091110185E069 +:103AF000689FB001112475956795759567952BC0E2 +:103B000081FF09C06091110185E0689FB001112417 +:103B10007595679520C082FF07C06091110185E00F +:103B2000689FB001112417C09091D5029923D1F05C +:103B300060911001961788F72091110185E0289F68 +:103B400090011124929FA001939F500D112470E0C9 +:103B5000CA010E9475236038710540F46115710532 +:103B600039F002C065E070E0862F08958FE7089570 +:103B700081E008958091D40280FF08C060910F0118 +:103B800070E0759567957595679521C081FF06C0B2 +:103B900060910F0170E07595679519C082FF04C0B0 +:103BA00060910F0170E010C09091D5029923C1F08F +:103BB00060910E019617A0F780910F01899FC001B7 +:103BC000112470E00E9475236038710528F4611596 +:103BD000710521F0862F08958FE7089581E00895FB +:103BE00061E070E0F4CF803F21F40E94711D819567 +:103BF00004C0813F29F40E94711D8093D80208956A +:103C0000823F21F40E94711D819504C0833F29F4F5 +:103C10000E94711D8093D7020895893F19F40E9474 +:103C2000BA1D05C08A3F31F40E94BA1D8195809368 +:103C3000D90208958B3F21F40E94BA1D819504C0DA +:103C40008C3F29F40E94BA1D8093DA020895843FC4 +:103C500021F48091D602816017C0853F21F48091C4 +:103C6000D602826011C0863F21F48091D602846022 +:103C70000BC0873F21F48091D602886005C0883F41 +:103C800031F48091D60280618093D60208958D3FF1 +:103C900021F48091D40281600BC08E3F21F4809189 +:103CA000D402826005C08F3F29F48091D4028460E1 +:103CB0008093D4020895803F39F48091D80287FF21 +:103CC0006CC01092D80269C0813F29F48091D8025B +:103CD0001816BCF362C09091D702823F29F497FF77 +:103CE0005CC01092D70259C0833F19F41916CCF367 +:103CF00054C0893F41F48091D90218160CF04DC090 +:103D00001092D9024AC08A3F29F48091D90287FFD4 +:103D100044C0F6CF8B3F39F48091DA0287FF3DC073 +:103D20001092DA023AC08C3F29F48091DA02181618 +:103D3000BCF333C0843F21F48091D6028E7F17C03C +:103D4000853F21F48091D6028D7F11C0863F21F4FA +:103D50008091D6028B7F0BC0873F21F48091D602E1 +:103D6000877F05C0883F31F48091D6028F7E809393 +:103D7000D60213C08D3F21F48091D4028E7F0BC0F8 +:103D80008E3F21F48091D4028D7F05C08F3F29F4AE +:103D90008091D4028B7F8093D4028091D7028111CD +:103DA0000EC08091D80281110AC08091D902811180 +:103DB00006C08091DA02811102C01092D5020895E6 +:103DC00086ED92E00E940A100E943C1B9093D30261 +:103DD0008093D20208951F93CF93DF938091D202F4 +:103DE0009091D3020E94481BAC019091D502992377 +:103DF00021F02091120130E006C0209113018AE0E9 +:103E0000289F900111244217530708F486C080911F +:103E1000D702C091D802D091D9021091DA02811153 +:103E200007C0C11176C0D11174C0111172C075C024 +:103E30009F3F19F09F5F9093D502181624F40E94BB +:103E4000711D8093D7028091D70287FF05C00E9421 +:103E5000711D81958093D7021C1624F40E94711D58 +:103E60008093D8028091D80287FF05C00E94711DFF +:103E700081958093D8026091D702662339F1C09171 +:103E8000D802CC2319F1772767FD7095872F972FDC +:103E90000E947A2223E333E343E35FE30E94DE22BE +:103EA0000E9447226093D7026C2F772767FD709599 +:103EB000872F972F0E947A2223E333E343E35FE3C4 +:103EC0000E94DE220E9447226093D8021D1624F42D +:103ED0000E94BA1D8093D9028091D90287FF05C044 +:103EE0000E94BA1D81958093D902111624F40E9474 +:103EF000BA1D8093DA028091DA0287FF05C00E9422 +:103F0000BA1D81958093DA02DF91CF911F910C94B5 +:103F1000E01E9F3F09F08ECF96CFDF91CF911F918A +:103F20000895E6EDF2E085E0DF011D928A95E9F75C +:103F30001092D5021092D4020895833081F128F4B2 +:103F4000813059F08230D1F00895853009F449C0AC +:103F5000B8F1863009F456C0089580911301262FD8 +:103F600030E0280F311D2F3F310524F4680F609396 +:103F7000130108958FEF809313010895809112012A +:103F8000262F30E0280F311D2F3F310524F4680F14 +:103F90006093120108958FEF80931201089580912C +:103FA0001101262F30E0280F311D2F3F310524F459 +:103FB000680F6093110108958FEF809311010895A8 +:103FC00080911001262F30E0280F311D2F3F310541 +:103FD00024F4680F6093100108958FEF809310010F +:103FE000089580910F01262F30E0280F311D2F3FBB +:103FF000310524F4680F60930F0108958FEF8093CB +:104000000F01089580910E01262F30E0280F311DF9 +:104010002F3F310524F4680F60930E0108958FEF50 +:1040200080930E010895833011F128F4813049F016 +:10403000823091F00895853081F120F18630C1F110 +:10404000089580911301681720F4861B8093130153 +:10405000089510921301089580911201681720F4B9 +:10406000861B809312010895109212010895809189 +:104070001101681720F4861B809311010895109296 +:104080001101089580911001681720F4861B809318 +:104090001001089510921001089580910F01681782 +:1040A00020F4861B80930F01089510920F0108954C +:1040B00080910E01681720F4861B80930E010895ED +:1040C00010920E0108950F931F93873208F040C09D +:1040D0008E3108F08AC08E3009F474C0C0F4873085 +:1040E00009F45EC068F4863009F09AC08091CC0271 +:1040F000817F8E7F8093CC0281E08093DC0291C02F +:10410000883009F486C08B3009F483C089C08631B9 +:1041100009F47FC068F4803109F082C08091CC023C +:1041200083FB222720F991E0922790FB83F953C06B +:10413000893109F46EC08B3109F072C08091CC02D4 +:1041400081FB222720F991E0922790FB81F943C05F +:10415000883309F45EC050F4893209F45CC08533B9 +:1041600009F459C0873209F456C05AC0833409F49F +:1041700052C028F48A3308F453C0895337C08834B6 +:1041800009F04EC00E94D5140FEF13ED20E301504B +:1041900010402040E1F700C000000E94971B39C08A +:1041A0009091CC02892F8095817080FB90F929F045 +:1041B000966098609093CC0234C0997F977F9093DB +:1041C000CC0227C08091CC0282FB222720F991E00B +:1041D000922790FB82F98093CC029923D1F08091B1 +:1041E000CC0281608093CC0214C08D5141E050E03C +:1041F00060E070E08A019B0104C0000F111F221FC4 +:10420000331F8A95D2F7C901B8010E9495180E9400 +:10421000D51481E006C061E070E080E090E0F5CF69 +:1042200080E01F910F91089580E0089580E0089547 +:10423000CF93C82F8091DC02813069F018F0823072 +:10424000C9F184C0E0910C01F0910D0180818232AE +:1042500009F07EC007C0E0910C01F0910D01808152 +:10426000823261F48C2F0E941421811104C08C2FA2 +:104270000E9463201DC081E090E01AC08C2F0E9434 +:104280001621811114C0C43179F048F4CB3079F093 +:10429000C03109F061C082E08093DC0208C0C932FD +:1042A00019F0C83321F058C01092DC0255C081E0EB +:1042B000817054C0C93291F120F5C43179F1B0F464 +:1042C000C73009F047C08EE18093130182E38093E9 +:1042D00012018AE08093110184E18093100188E04B +:1042E00080930F0188E280930E0134C0CE51C63016 +:1042F00088F5EC2FF0E0E75CFE4F80818093DB02D5 +:1043000029C0CE34E9F020F4CB3421F56AE013C0A3 +:10431000C13579F0C235F1F461E00DC08091DB0266 +:10432000882319F01092DB0215C081E08093DC0233 +:1043300015C061E006C08091DB020E949D1F0AC08B +:104340006AE08091DB020E94132004C01092DC021C +:1043500080E004C081E002C080E0AACFCF91089540 +:104360000E94421D811102C00E94231D0E94681DEF +:104370008093EB0280FF02C0869501C080E00C9420 +:1043800000038091EB02982F9695292F30E023307F +:1043900031054CF49F5F990F8170892B8160809368 +:1043A000EB020E946C1D8091EB0286950C94000339 +:1043B0008091EB02982F969591F09158990F81700A +:1043C000892B8093EB028E7F91E009F490E080913D +:1043D000EB0290FB80F98093EB020E946C1D8091B0 +:1043E000EB0286950C9400038091EB02982F909538 +:1043F00090FB80F98093EB020E946C1D8091EB0290 +:1044000080FF02C0869501C080E00C94000390916B +:10441000EB02892F86958F5F8F779170843028F417 +:10442000880F892B8093EB0202C09093EB0280915E +:10443000EB028E7F91E009F490E08091EB0290FB1B +:1044400080F98093EB020E946C1D8091EB028695AF +:104450000C9400032091EB02922F96958927982FB8 +:10446000990F822F8170892B8093EB028E7F91E0D0 +:1044700009F490E08091EB0290FB80F98093EB02CD +:104480000E946C1D8091EB0286950C94000304D071 +:104490006894B1118DC0089570D088F09F5790F046 +:1044A000B92F9927B751A0F0D1F0660F771F881F59 +:1044B000991F1AF0BA95C9F712C0B13081F077D0C0 +:1044C000B1E0089574C0672F782F8827B85F39F05E +:1044D000B93FCCF3869577956795B395D9F73EF4B8 +:1044E00090958095709561957F4F8F4F9F4F089560 +:1044F000E89409C097FB3EF490958095709561957E +:104500007F4F8F4F9F4F9923A9F0F92F96E9BB2733 +:104510009395F695879577956795B795F111F8CFAF +:10452000FAF4BB0F11F460FF1BC06F5F7F4F8F4F1A +:104530009F4F16C0882311F096E911C0772321F010 +:104540009EE8872F762F05C0662371F096E8862FA8 +:1045500070E060E02AF09A95660F771F881FDAF7FF +:10456000880F9695879597F9089557FD9058440FB1 +:10457000551F59F05F3F71F04795880F97FB991FC2 +:1045800061F09F3F79F0879508951216130614067F +:10459000551FF2CF4695F1DF08C01616170618060C +:1045A000991FF1CF86957105610508940895E894E7 +:1045B000BB2766277727CB0197F908950BD078C0E2 +:1045C00069D028F06ED018F0952309F05AC05FC06A +:1045D0001124EECFCADFA0F3959FD1F3950F50E0E1 +:1045E000551F629FF001729FBB27F00DB11D639FA5 +:1045F000AA27F00DB11DAA1F649F6627B00DA11D4B +:10460000661F829F2227B00DA11D621F739FB00DF0 +:10461000A11D621F839FA00D611D221F749F332760 +:10462000A00D611D231F849F600D211D822F762FF9 +:104630006A2F11249F5750408AF0E1F088234AF0F6 +:10464000EE0FFF1FBB1F661F771F881F9150504042 +:10465000A9F79E3F510570F014C0AACF5F3FECF35D +:10466000983EDCF3869577956795B795F795E7952E +:104670009F5FC1F7FE2B880F911D9695879597F93F +:10468000089597F99F6780E870E060E008959FEFD4 +:1046900080EC089500240A941616170618060906D9 +:1046A000089500240A9412161306140605060895A8 +:1046B000092E0394000C11F4882352F0BB0F40F430 +:1046C000BF2B11F460FF04C06F5F7F4F8F4F9F4F70 +:1046D0000895991B79E004C0991F961708F0961B5E +:1046E000881F7A95C9F78095089597FB072E16F4D1 +:1046F000009407D077FD09D00E948F2307FC05D0D6 +:104700003EF4909581959F4F0895709561957F4FE8 +:104710000895EE0FFF1F0590F491E02D0994AA1B58 +:10472000BB1B51E107C0AA1FBB1FA617B70710F09C +:10473000A61BB70B881F991F5A95A9F780959095CE +:10474000BC01CD010895F999FECF92BD81BDF89AC3 +:10475000992780B50895A8E1B0E042E050E00C94BC +:10476000CB23262FF999FECF92BD81BDF89A0197F0 +:1047700000B4021639F01FBA20BD0FB6F894FA9AA9 +:10478000F99A0FBE08950196272F0E94B2230C9428 +:10479000B123DC01CB01FC01F999FECF06C0F2BDCB +:1047A000E1BDF89A319600B40D9241505040B8F7EF +:0647B0000895F894FFCF0C +:1047B600FF0A083409F008BC080D0801C1022808E0 +:1047C600140A321E4F7953636676496959091929C5 +:1047D600030F1F5F433F4D36201405C70491047134 +:1047E60004FD0316042F044804010203040506070A +:0447F60008090000AE +:00000001FF diff --git a/keyboard/jd45/keymaps/justin/keymap.c b/keyboard/jd45/keymaps/justin/keymap.c new file mode 100644 index 000000000..f261b5463 --- /dev/null +++ b/keyboard/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