diff options
author | Jack Humbert <jack.humb@gmail.com> | 2016-01-23 20:33:35 -0500 |
---|---|---|
committer | Jack Humbert <jack.humb@gmail.com> | 2016-01-23 20:33:35 -0500 |
commit | 544a49329cac78206c0d195f2e7bfd39db05507d (patch) | |
tree | bfcd304f7215738909e1241d73a77a426f5a195c /keyboard/ergodox_ez/keymaps/osx_de | |
parent | a820533ab770e1919f190c102a091c1060f6302e (diff) | |
parent | e5aee62e54d0b6f02ff170f4e9bf1e738d36fb4c (diff) |
Merge branch 'master' of https://github.com/jackhumbert/tmk_keyboard into smarkefile
Diffstat (limited to 'keyboard/ergodox_ez/keymaps/osx_de')
-rw-r--r-- | keyboard/ergodox_ez/keymaps/osx_de/keymap.c | 299 | ||||
-rw-r--r-- | keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex | 1509 | ||||
-rw-r--r-- | keyboard/ergodox_ez/keymaps/osx_de/osx_de_highres.png | bin | 0 -> 749565 bytes | |||
-rw-r--r-- | keyboard/ergodox_ez/keymaps/osx_de/readme.md | 27 |
4 files changed, 1835 insertions, 0 deletions
diff --git a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c new file mode 100644 index 0000000000..69acd9b951 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c @@ -0,0 +1,299 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" +#include "keymap_extras/keymap_german_osx.h" + +#define BASE 0 // default layer +#define SYMB 1 // symbols +#define MDIA 2 // media keys +#define CRSR 3 // media keys +#define NUMB 4 // number keys + +#define M_CTRL_CMDV 1 +#define M_CTRL_CMDC 2 +#define M_MEH_SH_ACUT 3 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | ESC | 1 | 2 | 3 | 4 | 5 |CMD-V | |CMD-C | 6 | 7 | 8 | 9 | 0 | ß | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | TAB | Q | W | E | R | T | CMD | | CMD | Z | U | I | O | P | ü | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | LALT | A | S | D | F | G |------| |------| H | J | K | L | ö | ä/RALT| + * |--------+------+------+------+------+------| LALT | | RALT |------+------+------+------+------+--------| + * | LShift |Y/Ctrl| X | C | V | B | | | | N | M | , | . |-/Ctrl| RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |</L1| ^° |AltShf| Left | Right| | Up | Down | CMD-SHIFT | + | #/L1 | + * `----------------------------------' `----------------------------------' + * ,-------------. ,---------------. + * | MDIA | Meh | | Hyper| NUM | + * ,------|------|------| |------+--------+------. + * | | | Home | | PgUp | | | + * | Back-| Del |------| |------| Enter | Space| + * | Space| | End | | PgDn | | | + * `--------------------' `----------------------' + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[BASE] = KEYMAP( // layer 0 : default + // left hand + KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, M(M_CTRL_CMDV), + KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_LGUI, + KC_LALT, DE_A, DE_S, DE_D, DE_F, DE_G, + KC_LSFT, CTL_T(DE_Y), DE_X, DE_C, DE_V, DE_B, KC_LALT, + LT(SYMB,KC_GRV), DE_LESS, LALT(KC_LSFT), KC_LEFT,KC_RGHT, + M(M_MEH_SH_ACUT), TG(2), + KC_HOME, + KC_BSPC,KC_DEL, KC_END, + // right hand + M(M_CTRL_CMDC), DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS, + KC_RGUI, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UE, + DE_H, DE_J, DE_K, DE_L, DE_OE, ALT_T(DE_AE), + KC_RALT, DE_N, DE_M, DE_COMM,DE_DOT, CTL_T(DE_MINS), KC_RSFT, + KC_UP, KC_DOWN,LGUI(KC_LSFT),DE_PLUS, LT(SYMB,DE_HASH), + TG(4), ALL_T(DE_ACUT), + KC_PGUP, + KC_PGDN,KC_ENT, KC_SPC + ), +/* Keymap 1: Symbol Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | < | > | ! | ? | | | | | \ | [ | ] | | | # | F12 | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | # | $ | \ | / | . |------| |------| / | ( | ) | { | } | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | ^ | % | | | ~ | | | | & | < | > | " | ' | ? | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | | . | ! | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// SYMBOLS +[SYMB] = KEYMAP( + // left hand + KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS,DE_LESS,DE_MORE,DE_EXLM,DE_QST, KC_TRNS,KC_TRNS, + KC_TRNS,DE_HASH,DE_DLR, DE_BSLS,DE_SLSH,KC_DOT, + KC_TRNS,KC_TRNS,DE_LESS,DE_PERC,DE_PIPE,DE_TILD,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS, + KC_TRNS, + KC_TRNS,KC_DEL,KC_TRNS, + // right hand + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), LALT(KC_7), DE_HASH, KC_F12, + DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), KC_TRNS, + KC_TRNS, DE_AMPR, KC_GRV, LSFT(KC_GRV), DE_DQOT, DE_QUOT, DE_QST, + KC_TRNS,KC_DOT, KC_EXLM, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), +/* Keymap 2: Media and mouse keys + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | Mute | | | | | | Play | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | Lclk | MsUp | Rclk | WlUp | | | | | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | |MsLeft|MsDown|MsRght| WlDw |------| |------|VolUp | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | MClk | | | |VolDn | | Prev | Next | Up | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | | Left | Down | Right | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | |Brwser| + * | | |------| |------| |Back | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// MEDIA AND MOUSE +KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, + KC_TRNS, KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_R, KC_BTN3, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + // right hand + KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_VOLD, KC_TRNS, KC_MPRV, KC_MNXT, KC_UP, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_WBAK +), +// ADNW-KOY layer +/* Keymap 3: ADNW-Koy layer + * ADNW-Koy is a special layout designed to be ergonomic. Was created using software to determine the most ergonomic way to type German and English texts. + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | - | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | K | . | O | , | Y | | | | V | G | C | L | ß | Z | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | H | A | E | I | U |------| |------| D | T | R | N | S | F/L2 | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | |X/Ctrl| Q | Ä | Ü | Ö | | | | B | P | W | M |J/Ctrl| RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |</L1| ^ |AltShf| Left | Right| | Up | Down | CMD-SHIFT | ´ | //L1 | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+--------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `----------------------' + */ +KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_K, KC_DOT, KC_O, KC_COMM, KC_Z, KC_TRNS, + KC_TRNS, KC_H, KC_A, KC_E, KC_I, KC_U, + KC_TRNS, CTL_T(KC_X),KC_Q, DE_AE, DE_UE, DE_OE, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + // right hand + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLSH, + KC_TRNS, KC_V, KC_G, KC_C, KC_L, KC_MINS, KC_Y, + KC_D, KC_T, KC_R, KC_N, KC_S, LT(MDIA,KC_F), + KC_TRNS, KC_B, KC_P, KC_W, KC_M, CTL_T(KC_J), KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), +//number pad +KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + // right hand + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_UP, KC_7, KC_8, KC_9, LSFT(KC_RBRC), KC_F12, + KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, KC_TRNS, + KC_TRNS, LSFT(KC_6), KC_1, KC_2, KC_3, LSFT(KC_7), KC_TRNS, + KC_0,KC_DOT, KC_0, KC_EQL, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(SYMB), // FN1 - Momentary Layer 1 (Symbols) + [2] = ACTION_LAYER_TAP_TOGGLE(CRSR) // FN2 - Momentary Layer 2 (Cursors) +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + static uint16_t start; + // MACRODOWN only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + } + break; + case 1: + if (record->event.pressed) { + start = timer_read(); + return MACRO(D(LCTRL), END); + } else { + if (timer_elapsed(start) > 150) { + return MACRO(U(LCTRL), END); + } else { + return MACRO(U(LCTRL), D(LGUI), T(V), U(LGUI), END); + } + } + break; + case 2: + if (record->event.pressed) { + start = timer_read(); + return MACRO(D(LCTRL),END); + } else { + if (timer_elapsed(start) > 150){ + return MACRO(U(LCTRL),END); + } else { + return MACRO(U(LCTRL),D(LGUI),T(C),U(LGUI),END); + } + } + break; + case 3: + if (record->event.pressed) { + start = timer_read(); + return MACRO(D(LCTRL),D(LSFT),D(LALT),END); + } else { + if (timer_elapsed(start) > 150){ + return MACRO(U(LCTRL),U(LSFT),U(LALT),END); + } else { + return MACRO(U(LCTRL),U(LALT),T(EQL),U(LSFT),END); //cannot use DE_ACUT here, as macro needs KC_ prefix + } + } + break; + } + return MACRO_NONE; +}; + +// Runs just one time when the keyboard initializes. +void * matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void * matrix_scan_user(void) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + // TODO: Make this relevant to the ErgoDox EZ. + case 1: + ergodox_right_led_1_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + case 3: + ergodox_right_led_3_on(); + break; + case 4: + ergodox_right_led_1_on(); + ergodox_right_led_3_on(); + //ergodox_board_led_on(); + break; + default: + // none + break; + } + +}; diff --git a/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex b/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex new file mode 100644 index 0000000000..2c83055b0d --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex @@ -0,0 +1,1509 @@ +:100000000C94CA070C940E080C940E080C940E085D +:100010000C940E080C940E080C940E080C940E0808 +:100020000C940E080C940E080C9488130C945A141B +:100030000C940E080C940E080C940E080C940E08E8 +:100040000C940E080C94322D0C940E080C940E088F +:100050000C940E080C942A230C940E080C940E0891 +:100060000C940E080C940E080C940E080C940E08B8 +:100070000C940E080C940E080C940E080C940E08A8 +:100080000C940E080C940E080C940E080C940E0898 +:100090000C940E080C940E080C940E080C940E0888 +:1000A0000C940E080C940E080C940E08C714E91456 +:1000B000D715E914D7152E155115D715A615B9154D +:1000C000001900192F192F197319B119CB1BCB1B4C +:1000D000CA19CB1BCB1ACB1A9F1BCB1BCB1BB61B36 +:1000E00002E002E2012E022E02E10002E002E10241 +:1000F000E20001E001E101E20002E001E3010602A9 +:100100000602E30002E00001E00002E001E3011961 +:10011000021902E30002E00001E0000000F0A1F09B +:10012000A329002B00E200E100358100001E00142D +:100130000004001D7135004D001F001A0016001B41 +:1001400000E1044C00200008000700060050002ACF +:100150000021001500090019004F004A0022001775 +:10016000000A000500000003300130E3000000E257 +:1001700000000002540230E7000000E60000000426 +:100180005423001C000B00110000002E7F240018D7 +:10019000000D00100052004B0025000C000E003630 +:1001A0000051002C00260012000F003700E1082843 +:1001B00000270013003300387130004E002D002F4F +:1001C000003474E5003181000001000100010001EC +:1001D00000010000003A003500310001000100017B +:1001E000003B0035022102350001004C003C001E9E +:1001F0000224062202010001003D002D02240224F7 +:1002000004010001003E000100370011040000015C +:1002100000010001000000010000000100010001D8 +:100220000000000100000001003F0024062402231A +:1002300002000001004000220425023500010001F7 +:100240000041002304260235023700010042002449 +:100250000425041F021E0201004300310026043160 +:1002600002010001004400450001002D02010000D0 +:100270000001000100010001000100000001000177 +:100280000001000100010001000100F400F200FB88 +:1002900000010001000100F000F100FA000100017E +:1002A000000100F500F300FC00010001000100F96D +:1002B00000FA00F60000000100010001000000014A +:1002C0000000000100A80001000000010000000182 +:1002D0000001000100A900AA0000000100010001C6 +:1002E000000100010001000100010001000100AC5B +:1002F000000100B600010001000100AB0050000148 +:1003000000010001000100520051000100AE000197 +:1003100000010001004F0000000100010001000188 +:10032000000100000001000E000B001B7101000124 +:100330000001003700040014000100010001001258 +:10034000000800340001000100010036000C002FFD +:10035000000100010001001D001800330000000131 +:100360000001000100000001000000010001000187 +:100370000000000100000001000100190007000555 +:10038000000000010001000A001700130001000135 +:10039000000100060015001A000100010001000F15 +:1003A00000110010000100010001002D0016000DD9 +:1003B000710100010038001C0009820100010000E9 +:1003C0000001000100010001000100000001000126 +:1003D00000010001000100010001000100500001C6 +:1003E0000001000100010052005100010001000164 +:1003F00000010001004F00010001000100010001A7 +:1004000000010001000000010001000100000001E6 +:1004100000000001000100010000000100000001D7 +:10042000003F005200510023020000010040002460 +:100430000021001E00270001004100250022001FAE +:1004400000370001004200260023002000270001A1 +:100450000043003002300024022E00010044004519 +:100460000001000100010000000A00253031366261 +:10047000003A200025303258000A722F63203031B4 +:1004800032333435363738394142434445460A0021 +:100490000A002530325800626F756E6365213A207C +:1004A000006C6566742073696465206174746163AF +:1004B0006865640A006C6566742073696465206E03 +:1004C0006F7420726573706F6E64696E670A007472 +:1004D0007279696E6720746F207265736574206D20 +:1004E000637032333031380A000A44454255473A86 +:1004F00020656E61626C65642E0A005B735D004B63 +:100500006579626F6172642073746172742E0A007F +:100510005B575D005B535D005B525D005B445D00BB +:100520005B435D0016034500720067006F004400E6 +:100530006F007800200045005A00000016034500B7 +:10054000720067006F0044006F00780020004500D3 +:100550005A0000000403090409028D00050100A0EF +:10056000FA09040000010301010009211101000141 +:10057000223F000705810308000A09040100010366 +:10058000010200092111010001224D00070582032B +:1005900008000A09040200010300000009211101FA +:1005A00000012236000705830308000A090403003E +:1005B00002030000000921110100012220000705AB +:1005C000840320000107050403200001090404003E +:1005D0000103000000092111010001223900070573 +:1005E00085031000011201100100000008EDFE0754 +:1005F0001301000102000105010906A10105071907 +:10060000E029E71500250195087501810205081903 +:100610000129059505750191029501750391010563 +:10062000071900297715002501957875018102C009 +:100630000631FF0974A1010975150025FF95207584 +:100640000881020976150025FF952075089102C0E2 +:1006500005010980A101850216010026B7001A01D3 +:10066000002AB700751095018100C0050C0901A191 +:10067000018503160100269C021A01002A9C0275BE +:100680001095018100C005010902A1010901A10025 +:100690000509190129051500250195057501810236 +:1006A0009501750381010501093009311581257F07 +:1006B00095027508810609381581257F9501750811 +:1006C0008106050C0A38021581257F950175088180 +:1006D00006C0C005010906A101050719E029E715B3 +:1006E00000250195087501810295017508810105B4 +:1006F0000819012905950575019102950175039168 +:10070000010507190029FF150025FF9506750881C9 +:1007100000C00A002530325820006B6579626F6195 +:1007200072645F7265706F72743A20000A0025303F +:100730003258006B6579626F6172645F7365745FD4 +:100740006C65643A200064656C5F6B65795F626913 +:10075000743A2063616E27742064656C3A202530FA +:1007600032580A006164645F6B65795F6269743A4C +:100770002063616E2774206164643A20253032580A +:100780000A00646F6E652E0A00626F6F676D6167A5 +:100790006963207363616E3A202E2E2E2000290A91 +:1007A000002575002F002575005D280025640020B8 +:1007B00000256400200025640020002564007C00E2 +:1007C00025303258006D6F7573656B6579205B62FB +:1007D000746E7C782079207620685D287265702F91 +:1007E00061636C293A205B006D6B5F776865656CAF +:1007F0005F74696D655F746F5F6D6178203D202562 +:10080000640A006D6B5F776865656C5F6D61785F2A +:100810007370656564203D2025640A006D6B5F740C +:10082000696D655F746F5F6D6178203D2025640A96 +:10083000006D6B5F6D61785F7370656564203D204E +:1008400025640A006D6B5F696E74657276616C2059 +:100850003D2025640A006D6B5F64656C6179203D05 +:100860002025640A006D6B5F776865656C5F74694D +:100870006D655F746F5F6D6178203D2025640A00AF +:100880006D6B5F776865656C5F6D61785F737065D0 +:100890006564203D2025640A006D6B5F74696D6599 +:1008A0005F746F5F6D6178203D2025640A006D6B79 +:1008B0005F6D61785F7370656564203D2025640A13 +:1008C000006D6B5F696E74657276616C203D2025EA +:1008D000640A006D6B5F64656C6179203D2025645E +:1008E0000A000A00257500363A20776865656C5F56 +:1008F00074696D655F746F5F6D61783A20000A00FE +:10090000257500353A20776865656C5F6D61785FA5 +:1009100073706565643A20000A00257500343A203A +:1009200074696D655F746F5F6D61783A20000A00CD +:10093000257500333A206D61785F73706565643AA0 +:1009400020000A00257500323A20696E74657276BF +:10095000616C286D73293A20000A00257500313A30 +:100960002064656C6179282A31306D73293A200042 +:100970000A092D2056616C756573202D0A004D3EC5 +:10098000004D25643E20003F007365742064656659 +:1009900061756C740A00433E2000776865726520BB +:1009A00064656C74613A20637572736F723D25647F +:1009B0002C20776865656C3D25640A536565206861 +:1009C0007474703A2F2F656E2E77696B6970656449 +:1009D00069612E6F72672F77696B692F4D6F757321 +:1009E000655F6B6579730A000A092D204D6F757379 +:1009F000656B6579202D0A4553432F713A0971754E +:100A000069740A313A0964656C6179282A31306D5C +:100A100073290A323A09696E74657276616C286DC1 +:100A200073290A333A096D61785F73706565640AEA +:100A3000343A0974696D655F746F5F6D61780A356A +:100A40003A09776865656C5F6D61785F737065659D +:100A5000640A363A09776865656C5F74696D655F2D +:100A6000746F5F6D61780A0A703A097072696E740A +:100A70002076616C7565730A643A09736574206445 +:100A8000656661756C74730A75703A092B310A6476 +:100A90006F776E3A092D310A706775703A092B31FC +:100AA000300A7067646F776E3A092D31300A0A7325 +:100AB00070656564203D2064656C7461202A206D3A +:100AC00061785F7370656564202A2028726570659F +:100AD0006174202F2074696D655F746F5F6D61783C +:100AE000290A003F004D3E2000433E20004C256473 +:100AF0000A000A092D20436F6E736F6C65202D0A62 +:100B00004553432F713A09717569740A6D3A096D3D +:100B10006F7573656B65790A000A092D204D616751 +:100B20006963202D0A643A0964656275670A783A38 +:100B3000096465627567206D61747269780A6B3A41 +:100B4000096465627567206B6579626F6172640A1A +:100B50006D3A096465627567206D6F7573650A7615 +:100B60003A0976657273696F6E0A733A0973746134 +:100B70007475730A633A09636F6E736F6C65206DE9 +:100B80006F64650A302D343A096C61796572302DD5 +:100B900034284631302D4634290A506175733A099C +:100BA000626F6F746C6F616465720A653A0965659E +:100BB00070726F6D0A6E3A094E4B524F0A7A3A09BB +:100BC000736C656570204C454420746573740A002D +:100BD0000A002575002E6E6B726F3A20000A002500 +:100BE00075002E737761705F6261636B736C617304 +:100BF000685F6261636B73706163653A20000A002D +:100C00002575002E737761705F67726176655F6529 +:100C100073633A20000A002575002E6E6F5F6775BA +:100C2000693A20000A002575002E737761705F72A3 +:100C3000616C745F726775693A20000A002575005F +:100C40002E737761705F6C616C745F6C6775693A65 +:100C500020000A002575002E636170736C6F636B52 +:100C60005F746F5F636F6E74726F6C3A20000A007E +:100C70002575002E737761705F636F6E74726F6C91 +:100C80005F636170736C6F636B3A20000A002530FC +:100C90003258006B65796D61705F636F6E6669676E +:100CA0002E7261773A20000A002575002E6D6F754F +:100CB00073653A20000A002575002E6B6579626F16 +:100CC0006172643A20000A002575002E6D6174720D +:100CD00069783A20000A002575002E656E61626C05 +:100CE000653A20000A002530325800646562756755 +:100CF0005F636F6E6669672E7261773A20000A0043 +:100D000025750064656661756C745F6C61796572E8 +:100D10003A20003F004E4B524F3A206F66660A0061 +:100D20004E4B524F3A206F6E0A0074696D65725FC8 +:100D3000636F756E743A202530346C580A006B6509 +:100D400079626F6172645F6E6B726F3A2025580A28 +:100D5000006B6579626F6172645F69646C653A20EB +:100D600025580A006B6579626F6172645F70726FFB +:100D7000746F636F6C3A2025580A00686F73745F54 +:100D80006B6579626F6172645F6C65647328293A80 +:100D90002025580A000A092D2053746174757320A8 +:100DA0002D0A004743433A20342E392E3320415632 +:100DB000522D4C4942433A20312E382E3120415693 +:100DC000525F415243483A20617672350A004F50D3 +:100DD00054494F4E533A204C55464120424F4F54B0 +:100DE0004D41474943204D4F5553454B45592045AB +:100DF000585452414B455920434F4E534F4C452078 +:100E0000434F4D4D414E44204E4B524F20353132D1 +:100E10000A004255494C443A206130383532363563 +:100E20002D6469727479202830393A34343A313774 +:100E3000204A616E2031332032303136290A005683 +:100E400049443A20307846454544284572676F4406 +:100E50006F7820455A29205049443A203078313360 +:100E60003037284572676F446F7820455A292056DD +:100E700045523A203078303030310A0044455343EF +:100E80003A20742E6D2E6B2E206B6579626F617225 +:100E900064206669726D7761726520666F722045A5 +:100EA00072676F646F780A000A092D2056657273A5 +:100EB000696F6E202D0A000A6D6F7573653A206F99 +:100EC00066660A000A6D6F7573653A206F6E0A00D8 +:100ED0000A6B6579626F6172643A206F66660A0018 +:100EE0000A6B6579626F6172643A206F6E0A000A5C +:100EF0006D61747269783A206F66660A000A6D61E6 +:100F0000747269783A206F6E0A000A6465627567C8 +:100F10003A206F6E0A000A64656275673A206F6650 +:100F2000660A000A0A626F6F746C6F616465722EE4 +:100F30002E2E2000433E20006565636F6E66696754 +:100F40003A0A00536C656570204C45442074657303 +:100F5000740A000000000000000000000000010210 +:100F600004060A0F17202C3A4A5D71879DB3C7DA31 +:100F7000E9F5FCFFFCF5E9DAC7B39D87715D4A3AF4 +:100F80002C20170F0A0604020100000000000000D8 +:100F90000000000011241FBECFEFDAE0DEBFCDBF9E +:100FA00004B603FE24C08091FB019091FC01A09146 +:100FB000FD01B091FE018730904BA740B04BB9F4D2 +:100FC0001092FB011092FC011092FD011092FE01A3 +:100FD00014BE84B7877F84BF88E10FB6F8948093EE +:100FE0006000109260000FBEE0E0FFE3099511E0A1 +:100FF000A0E0B1E0E0E0FEE502C005900D92AA336A +:10100000B107D9F711E0AAE3B1E001C01D92AB3FEF +:10101000B107E1F70E94C0100C94FE2E0C94000062 +:10102000FF93EF93E0913A01F0913B01309709F083 +:101030000995EF91FF910895FC018591803011F0A1 +:10104000EFDFFBCF0895FF27E0E230E247FF0CC05F +:10105000419597FF09C0EDE2609570958095909558 +:10106000611D711D811D911D27FF02C0219530E377 +:1010700050E2AA27660F771F881F991FAA1FA4177F +:1010800010F0A41B63955A95A9F7AA3008F0A95F40 +:10109000A05DAF93F395611571058105910541F749 +:1010A000ED3211F4EF93F395F21718F43F93F395A3 +:1010B000FBCF8F91B5DFFA95E1F70895E991F991AA +:1010C0008591803021F0853219F0AADFF9CF08959B +:1010D00020E0E89455915532C1F3503311F46894EF +:1010E00055915A3348F4505390F3220F022E220F99 +:1010F000220F200D250FF4CF0EF42195899199919F +:10110000533619F3533729F1533559F1BC01882768 +:101110009927E8945C3621F48991999168945591C6 +:10112000543639F446EF7EF077FF0DC08FEF9FEF16 +:101130000AC055374AE039F0583540E121F05236BF +:1011400042E009F00895FF93EF937DDFEF91FF9167 +:10115000B7CFFF93EF93FC0181918030B9F360DF4B +:10116000FBCFFF93EF9368DFF1CFDF93CF93CDB742 +:10117000DEB72596A3DFCF91DF910895FC016130A2 +:1011800089F028F0623031F16330E1F153C082819F +:10119000882321F085EE0E949D174CC085EE0E94A9 +:1011A000651848C08281882349F00E94F4229093F8 +:1011B0003D0180933C0188E191E0089580913C01DC +:1011C00090913D010E94002387399105B4F58AE092 +:1011D00091E008958281882349F00E94F42290933F +:1011E0003D0180933C0187E091E0089580913C01AE +:1011F00090913D010E940023873991050CF589EFFC +:1012000090E008958281882349F00E94F42290930F +:101210003D0180933C0182EF90E0089580913C0174 +:1012200090913D010E9400238739910564F480EE7E +:1012300090E0089580E090E0089585E191E00895C0 +:1012400084E091E008958BEE90E008950895609118 +:10125000BE017091BF018091C0019091C1010E94B7 +:101260002D2256985E9825982D9826982E98279886 +:101270002F98823061F018F4813031F00895833076 +:1012800049F0843051F00895259A2D9A0895269AB0 +:101290002E9A0895279A2F9A0895259A2D9A279A7B +:1012A0002F9A089587E299E0892B11F00E9427096F +:1012B00080E090E0089556985E9825982D9826989D +:1012C0002E9827982F988FEF90E090938900809325 +:1012D000880090938B0080938A0090938D00809378 +:1012E0008C00259A2D9A2FEF80E792E021508040C4 +:1012F0009040E1F700C00000269A2E9A2FEF80E779 +:1013000092E0215080409040E1F700C00000279A11 +:101310002F9A2FEF80E792E0215080409040E1F734 +:1013200000C0000025982D982FEF80E792E0215013 +:1013300080409040E1F700C0000026982E982FEFE3 +:1013400080E792E0215080409040E1F700C000002B +:1013500027982F9856985E9825982D9826982E981D +:1013600027982F98089589EA8093800089E08093D8 +:10137000810024982C983F988AB18F748AB96E980E +:10138000479A8BB1806B8BB9769A0E945B0986E293 +:1013900099E0892B11F00E94260980E090E00895E1 +:1013A00080E28093000180913E0181110EC00E9475 +:1013B0001F0A81E080933E012FEF83ED90E32150DF +:1013C00080409040E1F700C0000080E40E94250AC0 +:1013D0008093000181112EC00E944F0A809300016A +:1013E000811128C00E944F0A80930001811122C000 +:1013F0008FE30E944F0A8093000181111BC00E945D +:10140000470A80E40E94250A80930001811112C0DE +:101410008CE00E944F0A8093000181110BC00E9452 +:101420004F0A80930001811105C08FE30E944F0A8B +:10143000809300010E94470A809100010895109254 +:10144000B9008AE08093B800089594EA9093BC00B4 +:101450009091BC0097FFFCCF9091B900987F983095 +:1014600021F0903111F081E008958093BB0084E871 +:101470008093BC008091BC0087FFFCCF8091B900B5 +:10148000887F883111F0803471F780E0089584E915 +:101490008093BC008091BC0084FDFCCF08958093B4 +:1014A000BB0084E88093BC008091BC0087FFFCCF28 +:1014B0009091B900987F81E0983209F480E0089516 +:1014C00084E88093BC008091BC0087FFFCCF8091B2 +:1014D000BB00089580910001811115C080E40E9435 +:1014E000250A8093000181110CC082E10E944F0AFD +:1014F00080930001811105C08FEF0E944F0A8093F5 +:1015000000010E94470A84B1807F84B985B1807F41 +:1015100085B98AB1837F8AB98BB1837F8BB93E98B5 +:10152000469808950E94D009809300010E946A0A9B +:1015300080B38C7080BB81B3836F81BBA0E4B1E0CA +:10154000EEE4F1E08EE08E0F11921D928E13FCCF2F +:1015500083EB99E0892B11F00C94B30908959F92C5 +:10156000AF92BF92CF92DF92EF92FF920F931F93B1 +:10157000CF93DF93809100018823E1F080913F01B8 +:101580008F5F80933F01811115C08FEC94E00E9422 +:101590001C080E94D00980930001882329F085EB64 +:1015A00094E00E941C0806C081EA94E00E941C0896 +:1015B0000E945B0900E411E0C0E0D0E0BB24B394DA +:1015C00082E0A82ECC24C394D12C22E9E22E24E080 +:1015D000F22EC730D10500F580910001811164C061 +:1015E00080E40E94250A80930001811112C082E1EB +:1015F0000E944F0A8093000181110BC0C6010C2E7E +:1016000001C0880F0A94EAF780950E944F0A8093E0 +:1016100000010E94470A48C0CA30A1F028F4C8302F +:1016200059F0C93061F005C0CC3089F070F0CD3090 +:1016300089F0209A289810C0219A29980DC0229AE2 +:101640002A980AC0239A2B9807C0529A01C0539A2D +:101650005B9802C03E9A469890EA9A95F1F79FB13E +:10166000799902C082E001C080E091709B25982B9F +:101670007C9902C084E001C080E0892B7D9902C082 +:1016800038E001C030E0832B7E9902C020E101C028 +:1016900020E0822B9FB19095991F9927991F9295D1 +:1016A000990F907E892B10C080910001811174C028 +:1016B00080E40E94250A80930001882309F459C020 +:1016C000912C0E94470A892DF8019081981739F1D1 +:1016D000808380910101882301F18091D90180FFED +:1016E00004C087E994E00E941C088091D90180FF22 +:1016F0000CC0809101011F928F93FF92EF920E9484 +:10170000B5080F900F900F900F908091D90180FF36 +:1017100004C080E994E00E941C08A09201010E948C +:101720006A0A21960F5F1F4FCE30D10509F051CFC5 +:10173000809101018823B1F08150809301018823B9 +:1017400039F08FE99FE00197F1F700C000000AC06F +:10175000AEE4B1E0E0E4F1E0CF01825F91919D93CE +:101760008E13FCCF82E599E0892BC1F00E945209CB +:1017700015C083E10E944F0A809300018111A0CF20 +:1017800081E40E94250A80930001811199CF0E9473 +:10179000600A982E909495CF80E096CF81E0DF91FB +:1017A000CF911F910F91FF90EF90DF90CF90BF905E +:1017B000AF909F900895E82FF0E0E25BFE4F8081AC +:1017C0000895CF92DF92EF92FF920F931F93CF93E2 +:1017D000DF9389E794E00E941C088EE4E82E81E004 +:1017E000F82EC0E0D0E094E7C92E94E0D92E0BE6A5 +:1017F00014E0DF93CF93DF92CF920E94B50881E788 +:1018000094E00E941C08F70181917F0190E00E9402 +:1018100093229F938F931F930F930E94B50889E69D +:1018200094E00E941C0821968DB79EB708960FB6CB +:10183000F8949EBF0FBE8DBFCE30D105D1F6DF919B +:10184000CF911F910F91FF90EF90DF90CF9008956F +:101850008B3B910578F4883A910540F5853A9105DE +:10186000D0F48430910508F0B1C08130910509F4BD +:10187000ADC06BC0803E910508F467C0883E9105FD +:1018800008F4A4C09C01205F31092031310508F023 +:101890005CC090650895853A910509F459C0863A6F +:1018A000910509F058C082E890E40895883A9105BE +:1018B00009F454C0893A910509F453C08A3A910554 +:1018C00009F452C08B3A910509F451C08C3A910544 +:1018D00009F450C08D3A910509F44FC0803B910541 +:1018E00009F44EC08E3A910509F44DC08F3A910526 +:1018F00009F44CC0813B910509F44BC0823B910532 +:1019000009F44AC0833B910509F449C0843B910521 +:1019100009F448C0853B910509F447C0863B910511 +:1019200009F446C0873B910509F445C0883B910501 +:1019300009F444C0893B910509F443C08A3B9105F1 +:1019400009F442C080E094E4089580E090E00895B6 +:1019500081E890E4089583E890E4089582EE94E4A9 +:10196000089589EE94E408958AEE94E4089585EB51 +:1019700094E4089586EB94E4089587EB94E4089545 +:101980008CEC94E408958DEC94E4089583E895E458 +:1019900008958AE895E4089582E995E4089584E934 +:1019A00095E4089581E296E4089583E296E408952B +:1019B00084E296E4089585E296E4089586E296E44A +:1019C000089587E296E408958AE296E408950895DA +:1019D00096E0799FF001112494E5899FE00DF11DB7 +:1019E0001124E60FF11DEE0FFF1FEF5DFE4F8591F5 +:1019F00094910895880F991FFC01E556F040859158 +:101A000094910895880F991FFC01E55EFE4F859122 +:101A10009491089526E0729FF001112444E5849F7B +:101A2000E00DF11D1124E60FF11DEE0FFF1FEF5D1C +:101A3000FE4F859194919C013A9521154FE1340711 +:101A400008F41EC13F512115304120F49F700E94BF +:101A5000020D08959C0130532115304118F4992747 +:101A6000906C0895811520E5920769F40E94ED1BA2 +:101A70004FEF84E39CE0415080409040E1F700C08C +:101A800000000C944F23813020E5920751F489EE39 +:101A900094E00E941C088091D90181608093D90153 +:101AA00008959C0130552115304108F051C0292F6F +:101AB00033272F70332721303105D9F4AC0143701F +:101AC000552702C0220F331F4A95E2F73C68AC014C +:101AD00064E0440F551F6A95E1F744275370242BA7 +:101AE000352B73E0880F991F7A95E1F78076992757 +:101AF0001DC02230310529F4982F8827816F906A04 +:101B0000089523303105A9F4AC014370552721E035 +:101B100030E002C0220F331F4A95E2F73C6843E0F1 +:101B2000880F991F4A95E1F7807E9770822B932B3F +:101B3000089524303105E1F4AC014370552721E0CC +:101B400030E002C0220F331F4A95E2F73A68E7CF30 +:101B50009C0130572115304118F49F709062089510 +:101B60009C0130582115304118F49F70906A0895F7 +:101B7000803E9105E0F4803C910558F58133910554 +:101B800009F46FC048F48932910509F463C08A32C0 +:101B9000910509F46DC072C089339105E9F082386E +:101BA0009105D1F08533910509F44DC067C0833E9E +:101BB000910581F138F4803E9105B9F0823E91059E +:101BC000D9F05CC0863E910561F1873E9105A1F197 +:101BD00055C00E94FA0C08952091EC0120FD02C02E +:101BE00021FF4CC080EE90E049C08091EC0180FF65 +:101BF000F9CF89E390E042C08091EC0182FF0EC0F2 +:101C00008091EC0184FF03C080E090E037C083EE58 +:101C100090E034C08091EC0182FFF2CF82EE90E040 +:101C20002DC08091EC0183FF0BC08091EC0184FDFD +:101C3000EBCF87EE90E022C08091EC0183FFF5CFDF +:101C400086EE90E01BC08091EC0185FF07C089E221 +:101C500090E014C08091EC0185FFF9CF85E390E01E +:101C60000DC08091EC0186FF07C08AE290E006C0BB +:101C70008091EC0186FFF9CF81E390E00E94280C6F +:101C80000895089580916F0108959FB7F894109278 +:101C90005E019FBF9091F201943009F057C090917E +:101CA000E9009F703091EC00232F217030FD20E877 +:101CB000922B24E02093E9002091EB0020FF43C009 +:101CC0002091EE0027FF3FC020915C01222321F0EC +:101CD0002091E80025FF37C010925C0126E030918A +:101CE000E80035FD15C03091F201343061F53091D6 +:101CF000EB0035FD28C0215021F481E080935C0188 +:101D000022C0EFE9FFE03197F1F700C00000E7CF14 +:101D10008093F1008091E80085FD0AC08091E80081 +:101D200080FFFCCF8091E8008E778093E80006C0AA +:101D30008FB7F89421E020935E018FBF9F7090933E +:101D4000E90080E008959F709093E9008FEF089577 +:101D5000CF93DF9300D01F92CDB7DEB79C01809167 +:101D6000F201843019F593E099833B832A839093A1 +:101D7000E9008FEF9091E800815095FD06C095ED48 +:101D80009A95F1F700008111F5CF8091E80085FF69 +:101D90000DC040E050E063E070E0CE0101960E948B +:101DA00078118091E8008E778093E8000F900F9073 +:101DB0000F90DF91CF910895CF93DF9300D01F92C2 +:101DC000CDB7DEB72091F201243021F522E029833E +:101DD0009B838A8383E08093E9008FEF9091E800F2 +:101DE000815095FD06C095ED9A95F1F7000081119F +:101DF000F5CF8091E80085FF0DC040E050E063E042 +:101E000070E0CE0101960E9478118091E8008E77F3 +:101E10008093E8000F900F900F90DF91CF9108957D +:101E20002091F2012430F1F422E02093E9002FEF19 +:101E30003091E800215035FD06C035ED3A95F1F7B7 +:101E400000002111F5CF2091E80025FF0BC040E0F4 +:101E500050E065E070E00E9478118091E8008E7794 +:101E60008093E8000895CF93DF932091F20124300E +:101E700009F048C0EC0180910C018823E1F08091C9 +:101E80000D018823C1F085E08093E9008FEF9091E8 +:101E9000E800815095FD06C095E19A95F1F70000A4 +:101EA0008111F5CF8091E80085FF2CC040E050E023 +:101EB00060E170E017C081E08093E9008FEF9091BE +:101EC000E800815095FD06C095ED9A95F1F7000068 +:101ED0008111F5CF8091E80085FF14C040E050E00B +:101EE00068E070E0CE010E9478118091E8008E7762 +:101EF0008093E80080E1FE01AFE5B1E001900D9232 +:101F00008A95E1F7DF91CF91089580E295E00E94F4 +:101F10001C088091F101811109C00E940D130E94DB +:101F20006A138091E20084608093E20008958CE15E +:101F300095E00E941C081092F101089588E195E057 +:101F40000C941C |