From 578b7e969ea93f1f07ea2dde9c986101e97a9e2d Mon Sep 17 00:00:00 2001 From: dbroqua Date: Fri, 19 Aug 2016 09:19:55 +0200 Subject: [PATCH 01/13] - Updated dbroqua layout for planck keyboard --- keyboards/planck/keymaps/dbroqua/keymap.c | 314 ++++++++++++++++++++++ 1 file changed, 314 insertions(+) create mode 100644 keyboards/planck/keymaps/dbroqua/keymap.c diff --git a/keyboards/planck/keymaps/dbroqua/keymap.c b/keyboards/planck/keymaps/dbroqua/keymap.c new file mode 100644 index 0000000000..e183582cfd --- /dev/null +++ b/keyboards/planck/keymaps/dbroqua/keymap.c @@ -0,0 +1,314 @@ +// This is the canonical layout file for the Quantum project. If you want to add another keyboard, +// this is the style you want to emulate. + +#include "planck.h" +#include "action_layer.h" +#ifdef AUDIO_ENABLE + #include "audio.h" +#endif +#include "eeconfig.h" + +extern keymap_config_t keymap_config; + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _QWERTY 0 +#define _COLEMAK 1 +#define _DVORAK 2 +#define _LOWER 3 +#define _RAISE 4 +#define _PLOVER 5 +#define _ADJUST 16 + +enum planck_keycodes { + QWERTY = SAFE_RANGE, + COLEMAK, + DVORAK, + PLOVER, + LOWER, + RAISE, + BACKLIT, + EXT_PLV +}; + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | S | D | F | G | H | J | K | L | ; | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | GUI | Lower| Raise| Alt | Space |AltGr | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_QWERTY] = { + {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, + {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, + {KC_LCTL, KC_LGUI, LOWER, RAISE, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT} +}, + +/* Colemak + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | R | S | T | D | H | N | E | I | O | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_COLEMAK] = { + {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC}, + {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, + {BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, + +/* Dvorak + * ,-----------------------------------------------------------------------------------. + * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | O | E | U | I | D | H | T | N | S | / | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_DVORAK] = { + {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC}, + {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH}, + {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT }, + {BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, + +/* Lower + * ,-----------------------------------------------------------------------------------. + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | | | | | Home | PgDwn| PgUp | End | [ | ] | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | | | | | | | | | | \ |Insert| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| | | | | | | | | | Del | + * `-----------------------------------------------------------------------------------' + */ +[_LOWER] = { + {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12}, + {_______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_LBRC, KC_RBRC}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,KC_BSLS, KC_INS}, + {BACKLIT, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, KC_DEL} +}, + +/* Raise + * ,-----------------------------------------------------------------------------------. + * | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | - | = | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | | | | | Left | Down | Up | Right| | ` | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | | | | | Mute | Vol+ | Vol- | | | |Insert| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Prev | Play | Next | Del | + * `-----------------------------------------------------------------------------------' + */ +[_RAISE] = { + {KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL}, + {_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, KC_GRV}, + {_______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, KC_VOLD, _______, _______, _______, KC_INS}, + {_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_DEL} +}, + +/* Plover layer (http://opensteno.org) + * ,-----------------------------------------------------------------------------------. + * | # | # | # | # | # | # | # | # | # | # | # | # | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | S | T | P | H | * | * | F | P | L | T | D | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * |TogOut| S | K | W | R | * | * | R | B | G | S | Z | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Exit | | | A | O | | E | U | | | | + * `-----------------------------------------------------------------------------------' + */ + +[_PLOVER] = { + {KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 }, + {XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC}, + {XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, + {EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX} +}, + +/* Adjust (Lower + Raise) + * ,-----------------------------------------------------------------------------------. + * | | Reset| | | | | | | | | | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_ADJUST] = { + {_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL}, + {_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______}, + {_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} +} + + +}; + +#ifdef AUDIO_ENABLE + +float tone_startup[][2] = SONG(STARTUP_SOUND); +float tone_qwerty[][2] = SONG(QWERTY_SOUND); +float tone_dvorak[][2] = SONG(DVORAK_SOUND); +float tone_colemak[][2] = SONG(COLEMAK_SOUND); +float tone_plover[][2] = SONG(PLOVER_SOUND); +float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); +float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); + +float tone_goodbye[][2] = SONG(GOODBYE_SOUND); +#endif + + +void persistant_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QWERTY: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_qwerty, false, 0); + #endif + persistant_default_layer_set(1UL<<_QWERTY); + } + return false; + break; + case COLEMAK: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_colemak, false, 0); + #endif + persistant_default_layer_set(1UL<<_COLEMAK); + } + return false; + break; + case DVORAK: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_dvorak, false, 0); + #endif + persistant_default_layer_set(1UL<<_DVORAK); + } + return false; + break; + case LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case BACKLIT: + if (record->event.pressed) { + register_code(KC_RSFT); + #ifdef BACKLIGHT_ENABLE + backlight_step(); + #endif + } else { + unregister_code(KC_RSFT); + } + return false; + break; + case PLOVER: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + stop_all_notes(); + PLAY_NOTE_ARRAY(tone_plover, false, 0); + #endif + layer_off(_RAISE); + layer_off(_LOWER); + layer_off(_ADJUST); + layer_on(_PLOVER); + if (!eeconfig_is_enabled()) { + eeconfig_init(); + } + keymap_config.raw = eeconfig_read_keymap(); + keymap_config.nkro = 1; + eeconfig_update_keymap(keymap_config.raw); + } + return false; + break; + case EXT_PLV: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_plover_gb, false, 0); + #endif + layer_off(_PLOVER); + } + return false; + break; + } + return true; +} + +void matrix_init_user(void) { + #ifdef AUDIO_ENABLE + startup_user(); + #endif +} + +#ifdef AUDIO_ENABLE + +void startup_user() +{ + _delay_ms(20); // gets rid of tick + PLAY_NOTE_ARRAY(tone_startup, false, 0); +} + +void shutdown_user() +{ + PLAY_NOTE_ARRAY(tone_goodbye, false, 0); + _delay_ms(150); + stop_all_notes(); +} + +void music_on_user(void) +{ + music_scale_user(); +} + +void music_scale_user(void) +{ + PLAY_NOTE_ARRAY(music_scale, false, 0); +} + +#endif \ No newline at end of file From 31120ed16690ff784d8ddc40a11b2fa5ebe9e717 Mon Sep 17 00:00:00 2001 From: dbroqua Date: Fri, 19 Aug 2016 09:39:25 +0200 Subject: [PATCH 02/13] - Moved Brite function on esc to avoid conflict with ctrl key. --- keyboards/planck/keymaps/dbroqua/keymap.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/keyboards/planck/keymaps/dbroqua/keymap.c b/keyboards/planck/keymaps/dbroqua/keymap.c index e183582cfd..70bac391b0 100644 --- a/keyboards/planck/keymaps/dbroqua/keymap.c +++ b/keyboards/planck/keymaps/dbroqua/keymap.c @@ -97,18 +97,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------------------------------------. * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | | | | | Home | PgDwn| PgUp | End | [ | ] | + * | Brite| | | | | | Home | PgDwn| PgUp | End | [ | ] | * |------+------+------+------+------+------|------+------+------+------+------+------| * | | | | | | | | | | | \ |Insert| * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Brite| | | | | | | | | | Del | + * | | | | | | | | | | | Del | * `-----------------------------------------------------------------------------------' */ [_LOWER] = { {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12}, - {_______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_LBRC, KC_RBRC}, + {BACKLIT, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_LBRC, KC_RBRC}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,KC_BSLS, KC_INS}, - {BACKLIT, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, KC_DEL} + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, KC_DEL} }, /* Raise From b4f23b146f05aac1def181a3f4dd4fb0479d15e8 Mon Sep 17 00:00:00 2001 From: dbroqua Date: Fri, 19 Aug 2016 14:01:37 +0200 Subject: [PATCH 03/13] - Moved Home/End/PgUp/PgDn on arrow keys --- keyboards/planck/keymaps/dbroqua/keymap.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/keyboards/planck/keymaps/dbroqua/keymap.c b/keyboards/planck/keymaps/dbroqua/keymap.c index 70bac391b0..a0517ced7d 100644 --- a/keyboards/planck/keymaps/dbroqua/keymap.c +++ b/keyboards/planck/keymaps/dbroqua/keymap.c @@ -97,25 +97,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------------------------------------. * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Brite| | | | | | Home | PgDwn| PgUp | End | [ | ] | + * | Brite| | | | | | | | | | [ | ] | * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | | | | | | \ |Insert| + * | | | | | | | | | | | \ | | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | Del | + * | | | | | | | | Home | PgDwn| PgUp | End | * `-----------------------------------------------------------------------------------' */ [_LOWER] = { - {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12}, - {BACKLIT, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_LBRC, KC_RBRC}, - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,KC_BSLS, KC_INS}, - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, KC_DEL} + {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12}, + {BACKLIT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END} }, /* Raise * ,-----------------------------------------------------------------------------------. * | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | - | = | * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | | | | | Left | Down | Up | Right| | ` | + * | | | | | | | | | | | | ` | * |------+------+------+------+------+------|------+------+------+------+------+------| * | | | | | | Mute | Vol+ | Vol- | | | |Insert| * |------+------+------+------+------+------+------+------+------+------+------+------| @@ -124,7 +124,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_RAISE] = { {KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL}, - {_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, KC_GRV}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GRV}, {_______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, KC_VOLD, _______, _______, _______, KC_INS}, {_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_DEL} }, From c6e733afce48871c1787912c08c6eb6a44f13291 Mon Sep 17 00:00:00 2001 From: dbroqua Date: Fri, 19 Aug 2016 14:17:07 +0200 Subject: [PATCH 04/13] - Added readme file and layout preview --- keyboards/planck/keymaps/dbroqua/layout.png | Bin 0 -> 21465 bytes keyboards/planck/keymaps/dbroqua/readme.md | 11 +++++++++++ 2 files changed, 11 insertions(+) create mode 100644 keyboards/planck/keymaps/dbroqua/layout.png create mode 100644 keyboards/planck/keymaps/dbroqua/readme.md diff --git a/keyboards/planck/keymaps/dbroqua/layout.png b/keyboards/planck/keymaps/dbroqua/layout.png new file mode 100644 index 0000000000000000000000000000000000000000..bab28a7c7c0533644d40320b661baf1f32de0318 GIT binary patch literal 21465 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 literal 0 HcmV?d00001 diff --git a/keyboards/planck/keymaps/dbroqua/readme.md b/keyboards/planck/keymaps/dbroqua/readme.md new file mode 100644 index 0000000000..b3b64c325f --- /dev/null +++ b/keyboards/planck/keymaps/dbroqua/readme.md @@ -0,0 +1,11 @@ +# Dbroqua Layout + +![Layout](layout.png "Dbroqua Keymap") + +* Online keyboard layout editor: http://www.keyboard-layout-editor.com/#/gists/e77306f9d14cc93fa26123b93b106474 + +# Programming Instructions: +Enter into programming mode and run the following command. +``` +$ sudo KEYMAP=dbroqua make dfu +``` From 11aa19a6264c3ca3151143db4b790db89791beee Mon Sep 17 00:00:00 2001 From: dbroqua Date: Fri, 19 Aug 2016 21:00:24 +0200 Subject: [PATCH 05/13] - Updated lower and raise layer --- keyboards/planck/keymaps/dbroqua/keymap.c | 176 ++++++-------------- keyboards/planck/keymaps/dbroqua/layout.png | Bin 21465 -> 20569 bytes 2 files changed, 48 insertions(+), 128 deletions(-) diff --git a/keyboards/planck/keymaps/dbroqua/keymap.c b/keyboards/planck/keymaps/dbroqua/keymap.c index a0517ced7d..56d4cf22dd 100644 --- a/keyboards/planck/keymaps/dbroqua/keymap.c +++ b/keyboards/planck/keymaps/dbroqua/keymap.c @@ -15,36 +15,38 @@ extern keymap_config_t keymap_config; // Layer names don't all need to be of the same length, obviously, and you can also skip them // entirely and just use numbers. #define _QWERTY 0 -#define _COLEMAK 1 -#define _DVORAK 2 -#define _LOWER 3 -#define _RAISE 4 -#define _PLOVER 5 -#define _ADJUST 16 +#define _LOWER 1 +#define _RAISE 2 +#define _ESC 3 +#define _ADJUST 4 enum planck_keycodes { QWERTY = SAFE_RANGE, - COLEMAK, - DVORAK, - PLOVER, LOWER, RAISE, - BACKLIT, - EXT_PLV + BACKLIT }; // Fillers to make layering more clear #define _______ KC_TRNS #define XXXXXXX KC_NO +// Func macro definitions. +#define SFT_ESC FUNC(0) // Tap for Enter, hold for Shift + +// Enable these functions using FUNC(n) macro. +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_LAYER_TAP_KEY(_ESC, KC_ESC) + }; + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Qwerty * ,-----------------------------------------------------------------------------------. * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| + * |------+------+------+------+------+------+------+------+------+------+------+------| * | Esc | A | S | D | F | G | H | J | K | L | ; | " | - * |------+------+------+------+------+------|------+------+------+------+------+------| + * |------+------+------+------+------+------+------+------+------+------+------+------| * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | * |------+------+------+------+------+------+------+------+------+------+------+------| * | Ctrl | GUI | Lower| Raise| Alt | Space |AltGr | Left | Down | Up |Right | @@ -52,108 +54,72 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_QWERTY] = { {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, - {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, + {SFT_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, {KC_LCTL, KC_LGUI, LOWER, RAISE, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT} }, -/* Colemak - * ,-----------------------------------------------------------------------------------. - * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | R | S | T | D | H | N | E | I | O | " | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | - * `-----------------------------------------------------------------------------------' - */ -[_COLEMAK] = { - {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC}, - {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, - {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, - {BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} -}, - -/* Dvorak - * ,-----------------------------------------------------------------------------------. - * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | O | E | U | I | D | H | T | N | S | / | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | - * `-----------------------------------------------------------------------------------' - */ -[_DVORAK] = { - {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC}, - {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH}, - {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT }, - {BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} -}, - /* Lower * ,-----------------------------------------------------------------------------------. - * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Brite| | | | | | | | | | [ | ] | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | | | | | | \ | | + * | | | | | | | | | | | ( | ) | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| | | | | | | | | | { | } | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | [ | ] | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | Home | PgDwn| PgUp | End | * `-----------------------------------------------------------------------------------' */ [_LOWER] = { - {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12}, - {BACKLIT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC}, - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LPRN, KC_RPRN}, + {BACKLIT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LCBR, KC_RCBR}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC}, {_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END} }, /* Raise * ,-----------------------------------------------------------------------------------. * | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | - | = | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | | | | | | | | | | ` | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | Mute | Vol+ | Vol- | | | |Insert| * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | Prev | Play | Next | Del | + * | | | | | | | | | | | | ` | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | \ |Insert| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | Del | * `-----------------------------------------------------------------------------------' */ [_RAISE] = { {KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GRV}, - {_______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, KC_VOLD, _______, _______, _______, KC_INS}, - {_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_DEL} + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, KC_INS}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL} }, -/* Plover layer (http://opensteno.org) +/* Esc * ,-----------------------------------------------------------------------------------. - * | # | # | # | # | # | # | # | # | # | # | # | # | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | S | T | P | H | * | * | F | P | L | T | D | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * |TogOut| S | K | W | R | * | * | R | B | G | S | Z | + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Exit | | | A | O | | E | U | | | | + * | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | Mute | Vol+ | Vol- | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Prev | Play | Next | | * `-----------------------------------------------------------------------------------' */ - -[_PLOVER] = { - {KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 }, - {XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC}, - {XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, - {EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX} +[_ESC] = { + {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, KC_VOLD, _______, _______, _______, KC_INS}, + {_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_DEL} }, + /* Adjust (Lower + Raise) * ,-----------------------------------------------------------------------------------. * | | Reset| | | | | | | | | | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | - * |------+------+------+------+------+------|------+------+------+------+------+------| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty| | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | @@ -161,7 +127,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = { {_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL}, - {_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______}, + {_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______}, {_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} } @@ -199,24 +165,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; break; - case COLEMAK: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_NOTE_ARRAY(tone_colemak, false, 0); - #endif - persistant_default_layer_set(1UL<<_COLEMAK); - } - return false; - break; - case DVORAK: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_NOTE_ARRAY(tone_dvorak, false, 0); - #endif - persistant_default_layer_set(1UL<<_DVORAK); - } - return false; - break; case LOWER: if (record->event.pressed) { layer_on(_LOWER); @@ -248,34 +196,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; break; - case PLOVER: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - stop_all_notes(); - PLAY_NOTE_ARRAY(tone_plover, false, 0); - #endif - layer_off(_RAISE); - layer_off(_LOWER); - layer_off(_ADJUST); - layer_on(_PLOVER); - if (!eeconfig_is_enabled()) { - eeconfig_init(); - } - keymap_config.raw = eeconfig_read_keymap(); - keymap_config.nkro = 1; - eeconfig_update_keymap(keymap_config.raw); - } - return false; - break; - case EXT_PLV: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_NOTE_ARRAY(tone_plover_gb, false, 0); - #endif - layer_off(_PLOVER); - } - return false; - break; } return true; } diff --git a/keyboards/planck/keymaps/dbroqua/layout.png b/keyboards/planck/keymaps/dbroqua/layout.png index bab28a7c7c0533644d40320b661baf1f32de0318..d8aaf6fa64bb257db45764a5a6ad1b3d68610950 100644 GIT binary patch literal 20569 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 From b9a284352e9066127f00bc2b992c6cbd7757f6f3 Mon Sep 17 00:00:00 2001 From: dbroqua Date: Fri, 19 Aug 2016 21:10:07 +0200 Subject: [PATCH 06/13] - Moved Insert/Del in Esc layer --- keyboards/planck/keymaps/dbroqua/keymap.c | 12 ++++++------ keyboards/planck/keymaps/dbroqua/layout.png | Bin 20569 -> 20479 bytes keyboards/planck/keymaps/dbroqua/readme.md | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/keyboards/planck/keymaps/dbroqua/keymap.c b/keyboards/planck/keymaps/dbroqua/keymap.c index 56d4cf22dd..3d89ff1d34 100644 --- a/keyboards/planck/keymaps/dbroqua/keymap.c +++ b/keyboards/planck/keymaps/dbroqua/keymap.c @@ -83,16 +83,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | ` | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | \ |Insert| + * | | | | | | | | | | | \ | | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | Del | + * | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' */ [_RAISE] = { {KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GRV}, - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, KC_INS}, - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL} + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} }, /* Esc @@ -101,9 +101,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | Mute | Vol+ | Vol- | | | | | + * | | | | | | Mute | Vol+ | Vol- | | | |Insert| * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | Prev | Play | Next | | + * | | | | | | | | Prev | Play | Next | Del | * `-----------------------------------------------------------------------------------' */ [_ESC] = { diff --git a/keyboards/planck/keymaps/dbroqua/layout.png b/keyboards/planck/keymaps/dbroqua/layout.png index d8aaf6fa64bb257db45764a5a6ad1b3d68610950..0deafefe2730d056941450918b4424b41043cd3c 100644 GIT binary patch delta 19829 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 diff --git a/keyboards/planck/keymaps/dbroqua/readme.md b/keyboards/planck/keymaps/dbroqua/readme.md index b3b64c325f..b5cdb9f65d 100644 --- a/keyboards/planck/keymaps/dbroqua/readme.md +++ b/keyboards/planck/keymaps/dbroqua/readme.md @@ -8,4 +8,4 @@ Enter into programming mode and run the following command. ``` $ sudo KEYMAP=dbroqua make dfu -``` +``` \ No newline at end of file From d7b6d74842cb8c0406996e1a890c40c23b063bb6 Mon Sep 17 00:00:00 2001 From: dbroqua Date: Sun, 21 Aug 2016 23:20:24 +0200 Subject: [PATCH 07/13] - Inverted key Tab and Esc - Reorganised bottom row --- keyboards/planck/keymaps/dbroqua/keymap.c | 24 ++++++++++---------- keyboards/planck/keymaps/dbroqua/layout.png | Bin 20479 -> 21724 bytes 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/keyboards/planck/keymaps/dbroqua/keymap.c b/keyboards/planck/keymaps/dbroqua/keymap.c index 3d89ff1d34..e02d98f6ae 100644 --- a/keyboards/planck/keymaps/dbroqua/keymap.c +++ b/keyboards/planck/keymaps/dbroqua/keymap.c @@ -17,7 +17,7 @@ extern keymap_config_t keymap_config; #define _QWERTY 0 #define _LOWER 1 #define _RAISE 2 -#define _ESC 3 +#define _MULTIMEDIA 3 #define _ADJUST 4 enum planck_keycodes { @@ -32,31 +32,31 @@ enum planck_keycodes { #define XXXXXXX KC_NO // Func macro definitions. -#define SFT_ESC FUNC(0) // Tap for Enter, hold for Shift +#define SFT_TAB FUNC(0) // Tap for Enter, hold for Shift // Enable these functions using FUNC(n) macro. const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_TAP_KEY(_ESC, KC_ESC) + [0] = ACTION_LAYER_TAP_KEY(_MULTIMEDIA, KC_TAB) }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Qwerty * ,-----------------------------------------------------------------------------------. - * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | + * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Esc | A | S | D | F | G | H | J | K | L | ; | " | + * | Tab | A | S | D | F | G | H | J | K | L | ; | " | * |------+------+------+------+------+------+------+------+------+------+------+------| * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | GUI | Lower| Raise| Alt | Space |AltGr | Left | Down | Up |Right | + * | Ctrl | GUI | AltGr| Alt | Lower| Space | Raise| Left | Down | Up |Right | * `-----------------------------------------------------------------------------------' */ [_QWERTY] = { - {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, - {SFT_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, - {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, - {KC_LCTL, KC_LGUI, LOWER, RAISE, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT} + {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, + {SFT_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, + {KC_LCTL, KC_LGUI, KC_RALT, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT} }, /* Lower @@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} }, -/* Esc +/* _MULTIMEDIA * ,-----------------------------------------------------------------------------------. * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+------+------+------+------+------+------+------| @@ -106,7 +106,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | Prev | Play | Next | Del | * `-----------------------------------------------------------------------------------' */ -[_ESC] = { +[_MULTIMEDIA] = { {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, {_______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, KC_VOLD, _______, _______, _______, KC_INS}, diff --git a/keyboards/planck/keymaps/dbroqua/layout.png b/keyboards/planck/keymaps/dbroqua/layout.png index 0deafefe2730d056941450918b4424b41043cd3c..846a385f0a497400c6dc0614dda641d0095d499b 100644 GIT binary patch literal 21724 zcmeAS@N?(olHy`uVBq!ia0y~yV4BFl!0?EJiGhJ(W&-yu1_lPUByV>YhW{YAVDIwD z3=9mM1s;*b3=G`DAk4@xYmNj10|R@Br>`sf0}fG9L53s3@<$mM6c{{R978H@y`5X> zAnY!FAl-a6ivUZ=o(a-TD>SqgE&95wD0+41o@i130DJ#E0;?Z|`tNxaxo7LGs=}*_ z!`80tGVdzV>?miQ>TP!N-FJ6|wh1j~S+y(Q^Lv<`e3O5F_RR0k&YsbmHhp@#0|Z3q zTdZJU0fQPd4hZ;>BLD^;ZYn@P&J-J0A!+H`JB!n~xw*{*q9P(Hs;iG5JI16a06|h} z3tc)+-S6w^u_=6X3k0#bYKZ#e ztq%_hy0j*8^SAf+^Ru!}t*UWIOni7@q4V{%(e8mFP{WxPHVXXu@k8V5&Bn$?MMcGX z_wIGn7Ck*RHTig7pa?6}K!*&4mgRnPgI;aU&B+lG7VhoseOl)^DW$M*V}#B!4X^bb z7JbDQGQz^ba{cPx0}Bfa9UK^3ksRbSWA0pCTP6GXu^}NLl6zOI=vbs-Zf;&&T&y?U z`?86X$IbYaC-xmR@cE{EGPlC7;vt>H$OHeMn`~S$&0JXHge~0-rTulNsDI^BUpg|N8<$nj@5GM-7ZSr-rkuz ziypSI3AT4hxR^<-3|~JlKqKW-G1L_-PR9&D>3h=8J$Scvu4+s1HBnn_ zXYcnlwf?l9H%Ix8PHTT%tiYXHnqSVShY2dplHXzbx^ia9Uzr2Rv9>yUc76H1^rftr z%wKcUufJZJHov}WS^ivkHHW)wZPdDhcXr=qE0Ow{JcE6H?AHlC_de`zUKZSc*JEd$ z$((jNIfBYu&eH zL1zlOTTb40jjcL=>0aAL{WVitTB2TT$`4)sW9ri1q3T~$v+r*W)GKz{Ki}`SSKkzy z`tQ#c&j_C%{PK*ccZTGT%j+3UoH#Bn+2Clq_|Tqyk=-1s>$@*K`hI+Wu4Pro@np}b z+Ht-@mrR82-n7|r{m*ZIyCSJ=FAS63J?e~=DvAi@KmWJr-m&_OXVWh1+rIhU1>U>A z{}`;F-?`~ZByW_YqRaF7u^Vq^Jkp>0D#WUgSNKv=mr{>!4+mdjN{Y*cN2i{zjXV_1 zZ|j!-d)ZXWwh5lE7j(q>PUE{(W@e+-pxRO$KIi=gt->&I;T8cW-soTF?*)EuzTdSs zF!pdn1pn1pD(lRgK3$SopZNR!shlUrqcnh(CX;_pSp{lZd?w4$d&*t;JoTD^lkHFpNpQZbKUnb3aJz>$Eq+17P zgtnZYbbi^TwfpC1omGDPefrGVwpL3Fla0myw@TN2%W1RSzsEM|SIFgh{=TG8+nSG` zlJ&j^2mF}!;hFDik)?k(8YVpwc|7}f`{s3Wm*n-=-wm>=sy@HVW839K=7m3$?;qT& zkma%at%;Mw{;z9{bCkbi)z)9{daM^*Gkdn!(`Emv)9yc=vwT|6HYxR*Igc-G_HFgp z*w?PE#Xg)Ogc_hBrHsWdUj`+1Z=5AiJY4c^vg;kGpL^bP{)Lfs{ z#j(g}3mfCaw3g}Oyb*tt3a)*b|J-!D!m3;L;mR$k|1IBbKEKpow_%KmYVdHLMw+>YM*X&ZZWTVnp7E&mgEbNbw>Uiq2@zeQ)soz&94ZF!@ry@&Uc zi5rLF{u#{8CQL4QGwN=dOK`X?uA)OHD=JwM43L!6S?6l(J3lUMnvAICaGd34@O}PZ=@a zVsXh5oY%2gu0C&*e{4vqd`NK1_AvhFa2bol75>rH+%X}4-u;{{)LnM!(GDp^7mi#{ z?fom|B<)xJow*=7`lhqTep|cTKl9HmcHaN?Sytez!m_*Trj*@Z?O}brgRi>hIx)9bxah;A@A>y?H3ZF8o>t`M z^0JKC7P-^l^TXfQ9$G)Iu)4ZD{_daLuZNz@>#p8-{M6yJ5^0O{JFk8gyMHNI+y6=K z|JMAUo3igt|9@&%)ro}AGGD=>{ZVzFUlz4WUDjRL_Bcn>vHjH@i=a*VzFccp&sgDg z=+dF$%Xi-{J3Z|X{|Ud_hvW`z3%>4iYkT77C0n=8d&1c}d)q6^iksUCr#^Seny}%~ zoJC)Lui04CoWDrP`}+F1SM$Tt?3O34zGt8FD|3Mkk95h2(%CzbdvC6~dYLKhSzb9zTB~PoI)3WeT`}1x@!eIiJMMp()4yU}ZuIZ+-1*)P;OUGeFSn)1ycA6E8<{e5a;W>c|g-=#{?XH8jM0)o7I_r<^Z`ZwsC z(5ZRTU+?}oZ~mcI;l(X8Dql}HVcV=c)qP*ig~Yqp4o`b0y=}_gFtu6!RwWBoty{{* zX&DxGSiDSP--M%K&u;$ox&O*I_Sv2;f$Tnk_4gmPKV{z+-xuM1;>z}`RZhzu=ad?= zo%$vFY$oH`ZzJ#@Yc>k z(dkPJ-mNgwT`>6$D^w>_;#zf;FNKChnsqxx8skK{U`>#SXwJg9Q;a+l()07*KX~xq z#fukLlynwO37Z?bqHy8MMPGtXANy6Bb9Ygx`~Hom{g#Sv?Aq|<)1e2g;dU2Ie7WEM z7qLk2-qo=zGpfS)*KA48H5V0qFPBtki?6iU&XYcKsemT`;@UDo1>t#>+A<;lsB#ZItt}TxfsAH~QU`{B!S3FHBRn zFx|Xy!4jM*~M(0o!cV)e)-a+M}Exu zd2Gps!1lGr^!Y0VZJ&Eg6X4w3cP8#v&WBT;xe@89H-!Yw9;@Q`yD;zer(b>ib+Y>!%C4pDK+j2IzD+{mlRPI0MJ^kz1TYt5aCSG}YVd=@Yt0R*F zf9=%nb^9Oi{nJmGjW0g_%)YjF*9;|rUgwae=3w? zma~)=m1p18Ot`b^#~L9QHJ_rb+c$6Cymjm5;;g&n|Kw-Q4R`;1bLq#)F|q>p>p#z( zu`lMNY0UlIs=Kq#99_Kj!fE#FMqT&k#hN^PZk1?1x36%kfStcxtjF93Mzk> z-7d#8?~CsJty3Sb?#@{?A>!`2d&`RdoqQWvadgk~UyN7YcGz#;E%G<{>gVd>o><>@ zAD(Z5xG*HKmh& z-&(jkr~bvIOAo)sugNQB{^{uuFQ zt+v1=R&izZm~Zo+X7ko=VLP-jD`x)X1)k2+_%<5)xJ=^sD4^si*w(oB%4>dUyV@y^ zY+E(6kEOW1y4-e6C+~F7;_EF7e=^>d%lZ2Fl8J6ree%@}ozk=B&U@P@AoN$Z`pnMR zH*de`7s-lx$GCiIsc-RSW{@%5u?JMI5Qmafd&67ez%U^mjcc#j(lv|0PmIY6L zzwFMx$S-xUa~OsqKn&v)|{u^1kwL zPe=4dt&eVLa=AC}q~H4Fd0%Sh+ITbVf_sydl4tYXKlfv!H*Z_^Hbv=ei$pJ8-naAf zo`9TxIaemxUjA)%^oGd1WQp((p~si~H+gq;N^|0gUE%Z1>OWSQJ=)MI;LMRY-}pSo z$G=AMc}cR0leQSOSeP*%-`#t!Eboo~zBNiNPp5eNoyW?dYLG0(awbyhMqO0r#@ywJ z-02%b+Br^s`|(C`i{y?n>y2qY=R8ooc~q@zo}+M?%h&v4PO^1*r=QwwRV#X&e$0BV zBZnf-^XtXjv*aHibzLE%*ivXAvE1`O)5Y@T>;DyBUG!~^c;V^rw)-c}EY`idZ{EI5 z!ur2==$%_HJ%6vN?(R#EU3G7_xV+=(oN~3|!JfO0pHGX#D!=+y!!MQc%r52T!3j$} zru=)|wg1g-D~ajBS96Ld?e*r{{`b$4!>Ok^INL8A{vF}okr;8NndfKOQL{t04KMZg z*edf?Zt4pVdUxc`x8${aH~llN<{o=zpSEGAoL8K8mhx+kz`4)jf8U_WPFC2s)YcMwi5H*sblv5!tG9OLUV*+lHgle*e2QS;#7IMabGyb2iSI zf6XF(VYSn`gbPlLt2uA3cZT*n*N8be83#nhs5PfW{yKFb%Fl)YR`*IVDIOGv{mOgx z>AdKmpLdEjw#k?j*TSo2DIHMFd($a&3G1pQ;T4irCo|z%uX#Cb{azJn7cq0?sjJ_n z?qB~a2HuC2XiHqQ{J7YMO*&A5j=5U$%>yAyHA~I*wo>ycl5kUG6Sr> z?hx?0Z~TAC<4=2^Sse3nI7aQT*3y_-WFy!$kGZMB{;iY)t4DkKK=QlhTf zncCcoi|pFZw#;D*o3{S_i_QrF;=78{8ay8?n;;izYPo*(9a#I~8lThbWAgW&U7R6# zF3RcE-P_-LbH6Nc_WhQ=I`y|!Hbaon%=LvPEKpx;om%j~;oKtoO~?C+A8nWtFz4^_ z`9}_@R$W?H^?UQxxgv>i%p%KvT-B0?4jp9ME_{7M^uCVGr}Tq1^LI&bbH3z%&Yxbp zyQtH_-%4f1f?$!>$2-_2D`{mpOx3L07;(l%1u~$);?%70#F{_SbpF!XhqS+NDIis#+G*zSIGUbJd&jxXoRKhgVjV)y;OZ(eHM6DwxBXesAyj&5VWwedTR zUp{0vc6@JGoc>i@VzXa6hhoc%rt06%&fQG3`uwNsp3OADNzaw5&RDv8b-md9N$EGo z#1}`8>Yh&ayH|HQ_t{PT8o!L`ZY--gUhWYNW}5y_`J&=IjStJ21MlkG2qmmL&d*8lcm&+%p3V%S!eZ(lT(ukzO?ogM%5EDqhi3toqvr*d##R3$7PQTi#Bqe-?7hj>f}l1%?=fxKfmUFk?#CwMK34y|F=C|6?nqz z5cjhCM`C>a{QUg(ZAmY?v1es`0`h=UvVGI@5TyRcfyNA)`Z_-P2XB$o~C2 zle=^OnU`O5%C3J+`erKJBJlU$dQszV6B|$SsjJDwiAC(nKi1{Fra5J;^TbCNL4K;! zcQsn}a8uyv)SQ~&<6*sVb8hdqUU#KDbA|Zy(iXdKadxt@0gp`n7yjPd<6RW|KY1?S zPFKs5-vgf~GUla8Sg$?fS~0gRZn4=M8~OdkPJfrkmv8Rfkp54*@A-$D()}uPtVNAm z>Wd6tbDTC3E_rx%@qZJpFWZjXNKciE{qQEZ_PF`}KNnVCe^GmM@2^eWAMUtV^EsLH z8q5h_zVX1Lqi=N#Z_na%;^=%A|Ks+r+Z*@J(dp^YnN!vK_u8-b+)#fc{`#cz>9CTp z@Z?F8gxb1auM()6Kh;ya>a)P5ix)O5S#spcl_`rfWCgr#x|DDCy??*p@3aExrnxOw zW<5{?7#Hs^H~;xv+2MaaJYL+d)_2#e zRBC(ppLj;=<_o7dHopAW^UtfRtKZ+))QEt38f37*j@DNj0u)zi+;d;9KPURqk%<1ehNteTpdfq{YM z`S*Idx)4Lt8cr)UBAU&zudVs}`}^hsv$_`-7QVi=cCiK*QmL7GeZk4!Zw?$dFkyl~ zet!NDyPZW(Pi;&-u7PBbz@gyfewtrznwgn(c6LrJ{-xq6CNAE6G^uORm#&V-7VU=v zE4F`m^ypDT14Gv$c;A}0#lYG+y2_=_Zug26D~zfF0|i|J^YZeZJ$n|T7j9&@?#=p; zl>4XbJVipQ+E%=YUl{P?;oAvun|wJ$qE{1O>F-*>vR8y!f`n z8Hf5+j_-_FH+AaNojZT_N}GF3O8FEas$e4Ev@zn%!-tLnS3k-K=}nK`U-x%c>FaxY ztHmLPDtdFQ-d7n{Sh&$aVZx&D{tp#4>FLiWO%hV$<>%mSxp45{!m3?GH|_4;yC;Xx zkteM*@x-M|K~d{sb}V!}vQUX_BCp%4tE<&TjH((W1*A9@wzl3nUq9uLx8xI{u+Xm7 zR@MkfkanlG7S^AwHQvGV?s0Icy=^@F@PweT=eyO{*0XFWI_6N-qQKE6#^iKZG3AGE z*CLIsNqZ(ZdHpJsIc~^vxG?6^qEnX+oJvUDU?gCqzDHcRY~lH3taD$#=$w#H!MN$; znyx4N(hMiYtWnHN&iX6E!P_|Dq^gHlrPn_%t1qXN4LrloJuFbEzbZSqaq7WS38@Mp zZZ|5g_5Akcx5<&e)wEn3G>&56DUz`uzEzVcB=e%I0Mo*(g&JNeLY=2wFHO~Mp7`al z3}5>qjV6Txnd^z|d|_lc%gv%;0!aJ{GE zoi6ilHF|#<$GH3MMR0ogQiCrteN^m%o_Q>TM<80u6~P zoRBd*_o-jFmfv4`VOLjY!-j8yT5noaH_wg|)6nEPUO3U?$kQUzyeFXWkC5c}>gAD9 zugaz0Tse(lez*!NwWw(KYuFNwT{_*U5)nxAl0pbU~ywJ3LH4t;7=&E0%>z}(DVg*~==DcIcf1$sEug;|V z7i}#sC@3f?DJd!{$`YIwuu5xnz+)v>q5W1;x1P2;>mOO8vgFgcTyE}ncb2(k>(5`f zd3$`NUukmIql8Pss5pp`L4byUcNQ+U*s*HWY6}0H&2B)zUoYU z+_Za3?#)fP*B@L+-EXh8;KsF}L$_Piy`oDpoo2X8++Oo1^2Cx%*&FGplCnYad3k)Y zTc13V?m8Qmmfe50ZoboHlin{L9vO@EBX9nB!5J%Mzw_|ShHS&youAfR6}z-bm7`Nm zzV~@us!;ulgAFg=*=!T!n!Nptb*5eM|E2GEz31Jv+@1gaoBds}+SvK7EjIVTLnbb) z{{L=?878*{zFDWZ?doNlD=R{5?(>>o`~Gxg><+e*+Pon%N)>AE9Q^fIng8#VZHCjn zzj&m-T0AeKsH9GP+E$U9LaP?LuFg&MZT~!f`iW^5R($w$@ONDBqGh#T zUp$yEA0e{oWJ!OFaIjr(j}+G~zW7bLmzK*VEfz@Q+xuVq>if3~A77QcTDP$E^vR30 z@At*Z+OApLE7_lY>xQjC())>(vVtCOHx)%L|MBV0qxZ_2ey^W*?V=F#>#Q|yGox>9 z3^u!WXT|okxi9%&KGy77XXS)>6DR&t$eVNWsP~%yov)9scn1C# zV7y=XLE+p>Vaud#k@G&x*;C~3a^X+mw%XV4UrXC4C7tgrU$b^u%i7@0*LUWqC<`y& zmUnN@*)1xQdQ0-}M_b=2IvqH9*$(cQDBr||e21esPb~?pU^;Cwv(Q+1zEh6)$G5!3 z{ibqKGs@pwKd!=b@k;XjDDhqIrkyAdb$H>vwx3VtId8n}?EQ7O^vi3~x4Crq@Z`U2 z5^&lv^ZA+PH9JZYPaUkSmpR{KZzrnQVzKSmb|tgY4{UI!|YrXZu?_hcTSnP-HCHk|=S?`_88KmnL?~-s-n2czR*l zWPQz+kAKW;&zv}OrbfixZ;$n~%*0n)a!Z#!c+~j&-*Ne6o=+aGY<&6qU&Zn~$0}8q z_rlNk=kGK9`0g{)!WY4Hc~N-_Lz8=aTO=k;(bqe(Q)Kg(9XHFFO*EY^uZ!`oU1!#s zUGVdMZ~p)9izILB+y3<6;*P)b&ot}w-fyutQ=fJ{^}e_9)Tv&bAbk~^bNWj&9v=VF zvYCI)tc_<+Nwg`hnYdS1Ua_uw<7eytvU`6|oNzbn*q2+=wrb2*v!5EYM(xUazOM%7 z)PldsiJkvvoSP8LbMgPt^E|gF+i*bh3${pJt3oM}lm*+CH}U1V zdHa2mPDbqRnc%~duc~2vJ4T@On{%4>3e+`Y#9M(Kz_ z-_qaZpX>kS)g7J4Sj}N>duC0|^*gT=r+nKPx=tmkKH2uROqr{;G-z_ezW;gbB|Q!=`);yP8}O^Z?E6I zoAX$llkMvX7dY36L`6#IP4B#9m(SM1=GQU3J1;*+Q&$XJNo}4eu>FN?R)b`t=%g+#)RZt~{G87gF-{Rsf``wG~>_q+Tb=Q`LP4O%D@yvZ<(r`h5Lv^mcYaol`izjMRB-#X77CL`t0Jk?v z{WW&Umd}#^^*idC(7M06B_}rQxLv&K>ysC)6E5^fD4LvGc=Dw`XaLXrg+XQYn=gE& zQ|@yFh=nBPEHX%5(CasG(N#thfx43|T)*Qz+x3Jxx4gWtG}h8lAW8}1##*6iBDGmL z>4(#G74KhL_i;J9D#vBvg<_9$;x6>L-)8>#BKX#^MrQta{_n4jriyG0-N&}%^3l>F zevP%8%9tKb_s|fOInKFg4PW-1h2Fc0^rm|YwD4V5g&2NU_>xKMLzcdc(*@KEe0&0b zDP1X;qs#30*n<7}=bw{;ryuhzkS<>)qS%sX(>?9*^|$@6V&f(3H@)3>#pkUpv&DZDUn>rgGQamY zWdH8l%)JIZJ=RD0Z%y52e8MCB_l=Mhp+zn;cRe){p%XqsM1ER|M=qq3oWl> z20e!#dhFBu*|~045hTp)4+XZ%#ofNAo%{Nqh+%iB#=iaa*-`7~uU{@Fv5?=%_gnhu zHc^Q-&?vEm){h8}WQjI|x(j{BZ!>Sa;ybynkn3$yr}sO@xVrmxGiQq`^Bk_2G-U^q zZpO?FNfx<_t=74mn$FLV*ekGV-q$BZJ14DmOxieOk;X}{RWQUr$$WbkCdCw6n-` z_O`@0cTu-Ehlsf?Jj-=6XHClySd=+yk;cxK8Yhp%c($+m{2Q8-{|Y^_XkVtuldP}k zcG2YE!x!BX5}N!1r=%=hs`F*u^Y=?0t~EKaw702j8T-_o3H>vxZB^ETIMc14Er^v& zU2nJ;6qj13B|45KJyTrhG9 zd&Z2Ew6v&*2!lOQyo-Mo48*|TT6Vt=iUa#0HO^Wy`j z;xul>w42p0TaSC+^xk3od1G8@#8->i#~&-Utc&0O@7vqxmnULN9~>~)7f=zSBeuWx zx0$77WL1^|i_^*L1v2}KpP$=Z{=Ve*5suW8m&)JYySuxb|F8kr+dM5giYgLpvMQd- zmMzPweDBcqQPxpFO-+qwDtAkp+l-krIjvZ3w-qqa`^{MJ;jwYBy2_4WOI zealdWB0_sN&z(E>^QTW@`f)kg*|!%sGUt{(eQjVlVa^;GK|#Ze3kxPHyF(TuGARm3 z@g=sN|0Lp>laurO+}xivcG5|_cJtrAeY>~(eH?Upg2m~u%9M^(rH^^?KQGIln4odz zDj#%6-66xGh3nl)AxX)~M@KquZcg95d-v>_Gp}0IIyyRfd3l9|Tsb@2eDNZr@r}2{&sSz zc6gtxwHwMv(mbnDua)PwZQSVT37&W%`Zjg1*ZPh z7U8n5`7vSQL`4y<*H>05|JD{3p4`;Lv?OCD11wGxb5%oLZPw=YoFw8}Sy}11W9b5} zovEEuZTIsWHfWXi>?__Gqphu7T>M$uJa2-^$tN4N;E~+s5b@R6sjIu2m8nr=Z&l0j z$ClRC#(UUxV1_SL1WgWzb-GNOHtkZ;(?h(xN_?V*9XSR;>*H(}2Ap{E9NDa`=a*&9 zf{lDEo8Az1PQs&KfaTzaUyZOO8@!F6A&pDot0w=R;d{`!P_zGxM*E7w!w#MdZ!F*7^Wq7od?qV~WQKzMyvd8$iLa9eajjEOr zo6n1>scc&~JD_7`8_I+~-TGSIY5TEZ&ck!2F0xq`=fVU_LOj8PRD<(E3RAylT#fgGtux*4;B-fA!SsUrzPl!GXM7c~ z_wUU!#%x^mOT*F}Ht#KgIxk{3=f<|bi_*d(ZlqdRT}i3m*45LPRn_{CEok30zsCVE zYa2Iw6I?Y{I=s-6>v5mfWhSeWv4}alDkmp-apmccrh5y%2wey@nWJUvRDtUfrtjzb zKHiu2`jtw?<-faU-qzbM5;igDLe9r|_e5f6nQYy9U}+3Xu5+1Pnxx{~jpimQzvlOg z_+B>o`tH!5gTem$1U7d~Sk`TPPKW>N`zyObZ|faQoUON4Xp>j_q2JkT{+3_+wAME~ zdSkoT?M>AoE!np1CDTG2uZPWT&+*Yqi1l8WIcuKamIsIGpJwU!a(w1Up3ZmshtA$G zjkoDtlcv|+RqM&MN-3}Z(JI(A|EOPd)zT`CtmZo_>bAw!m)3tHrfqO5 z?a0mu{B)~L^7z^1GJDJHEk8at`2Hq-TkMZJreSGU-&8KTb=~smp|6qU&kLiXqM~js z-hYkfow;?@67JI+na3A)x9^SI{iJ{UlpjAkU2k`Gb~8yQuTiS0OL{iL_y5mZ7(O>{rhmb ztA?L_@#aW}_E(B7dltz0$M387_^2}P+SlBBn%dj{M@LPzx>7U8S9ww2O2OV9>78ZL zl6#F`y{?j&Dez2inuph~<4ZK(E?1ejNnhx2w3W4`rKOdXmC5`$0W%Cd6VkJ@vy+oA zuZc9yKK{{Ecz@?SnYiEm&$l>!V@aC(pqF{kq1SI_ZMUg9`2L*W=3S8qI?R7c%a`SU z*)(BW@9Ph*OtSvIeZ(B?exo>I>A_`=&9mp(mb?~r>Zq$v{C~FWaP?-t?n@?8eIF}o z$_^Fo?)|n`eyhgAr8A~hxI7QEmCLc2qwDr)jc>J(Y1|y ztj}_QPyd6>F}BHBr88X zJv}=+{q>bwZ~kOx$N5r|q)h%bAGh8-JbYEw=WHHQ!P4|Bc~&)-Nxwp4Lx! zw(j-&6ZEv#~oFN-M1Si%HP|3y-$~Q{$8GQk2kMdZSvY~P4KD4;-6bAo*#Kw z&gg6t@m%EOkq==^jSd$seP2GsYSH(d^KZNq&He4}Zenec{`sv_S8K(NzY8>T_3~}z z7Ns3tdM%jkW}$$`+NqD~&+YlbRkF%Vdh&ATx3f)hZ(X@{Yv0`+^|$q9?oaF%uusUo zby?kiUdqzEPo`gcD<@3+r*Q208FMvN-M9aa?XyvJ{rGqLvh?RqQqunzUVQOA*xa*4 zKj6nSUW0Ad{H)$T`t?|CG5eFZH$Hr4pH*6Mjd%XC zW%b*Z{>Z&HnQ2>~kS-)kd_3#?k=JS8#?<(NuxZl%-rm(ezW0mSw;$cGMeotF+{0nK z)%%L>y|;7{d-QQu|EwDo|98~(s`q7`W8NQD-TLptb$Qpje`bZmd+VL^W|x2DJe_rJ3c-=Dc)F7H(Nf{ zwsOnO`TEgfZJHL$%dTlz`_wwh>#e`9`LFI)__G;psxM{>ERLHKvFCQir$;9*Pv@=w zeECs}xyfk`_Wudu_VouZTIYMU9L<0CU(7V`*h6>KHwJkMo~~wJ&e_ z%jZx0oO)>?)BMSQA2>EjblTf_RGu%RWmUde2|d*`n2^MtOysDJGgYbm;3%(KRD(ykP-r*mFz z@9cgqYq38$!aDq65}V7OIbyTb+w(sX&%rf!V=l&h3uP2CB150}t|+Nn}TJIc5A? z_%kQ(^z`}L{-iD0sA3*%+hTpW+)KPfx-_ET&g5m8RoPX3OWU)4=k0nN{mpjGy5}u# zJB77{KKtpQ8QmZ2mRIZ z=?Q5*32EMC&zPY7BTeH)fcBw4?_<&xwkjsfQ;)jxy!)W!9WNPmx|1E=uyXj8e(m(7rmlui^J3}T>8%Hmb@^zLs6a{8E!oyYxx2s zvO|`wui-sq#CGe22&`=-|4^kdHtF(5|9`X2XB}!wp7&?3hkVPd{>`h;@T^$Jn3c){ zZLSG$2s(AhZ}|D9#!NV`c7yI2{Yd{7slLskc|sQ!u!TIk7U~0Ez%wa;uc5SMYFN+f z2?2Wxw{c~h6igLYp3WXHL;%9Yl2b0iZa#6p+3hx(p- ztyRtlZNF}969|4J80p-RSao@!+V9O*H`Puxbx6Fh@M)YC)R$}4wn(&XoV6h-FJ^no ztGDOF%7a=ec>`uV3SV6VQ}VSX;^j=vz0>XXOP!25RCw0;v2^d{$$Xq@FGO4)TC6*` zq@znJAhj!AN6eU?6B0q7JxS#$`;Af#t(yPZ71X1STgpE9B>$_ef~~2~ora3Js$!StbR@N#H zm7t2-C9+&?i7bvYX3Q`M(SvtC8U>8*zCQZ+!QQ%dd!J_n*bFXcR4+?T{c$jY6(H{QqSASLc%S+5H0z&ipUq}|tbLp^=zi9lZ z=HgF|e18yl-?jc^mg8fK@2@|+x?DbuV-ye;<0i`BTzX z*Dn!!@71~0tL{-S_K(k(crtZkx@XefkGqBR)!xaZPyF%to%N$G<(zzf|M!;9xz3&a zcx?~!C4KcuyF<4xYZsVau@;!?o%w3&{-Umo7J)@aIu1YOxNpCA=9H56%xjlCO=>BW zRo44oEPegWo=-aq5o=;1y}Z19e0?=R%M1P_aT*%0mwPnV-0F*Qb%%hHgx~Z1Km9da z@;_z9)FrF!KkwBWR4_~U)1Cc=wtMTV)!v$(n>o2x;820g@dCc(m*xe=y%!CiY^Xj0~bD>CqC`z zg_vsdJ=IE6uXJoU6#4nnru|7#-H7l!Gi!=}!O!3Rd zk3VHTp9c-dc%M6WuClVSTU>wJ)~&f07Bre!pDLZP&%@8JucJf4B;&$~iOTQ{#M{2% zPm&?_EImyY7FI~DMwS2k`Z@`Y# zvY?W3X;4&D)z?>7SBI}x+Qtto5s|$ZMH8o9{ zGG)bz6|>Fr-CSKk-RpG9)8b-cWCR2pAR{rG;t!m1;ApW@Jag{cG`WfM&+BPvt?G#j32_OW zGJE#yojWb3pPuT|qy1Z3^ycEU9NR5ZIjefl)1z}r!@DE#J24*|^mqbifx_cJI8Y--<-e7vuyWz|H9 zT?M+e+t?QQ*cZub{+Sih&MR%UWy6LYb$_j{fL7?v6$q>SeEHF%q(%n?*Y$D_KUSPO zcTQDR)yE245()^h1nz7-y>CLbuJ)pKh>!^%#^=!w5l6kuAo4!-yFv{tm*=MHCA z9wq6XE33o(HAIYlS_&{JR&$6Zt*BUdd*QaU$8SzGGqg45h_0Gk%lK7*qcI@7CG>aB ztYwxmeVaB!xfaEn?qvyaO;?m%&!8w!7uix(dizwuj31x0(zl9MrKZj-xLOzWjTP+Z zSV18keTQF8rA6_ZI~EtkFL-ypQGny7!-{p=ubouc9`(1?%(>vKjM?W1Mvy}jr|wsp z5zjE$rIGCmS1`+~ZN&;KPG$mG1}Cni3TBrkxQ6A{WSSwA!H?#eBlx%GU@>7D7K$HD37 zRm+46|GY%v*goqp233MLVl@bGe05oI%kcH7-0b(8x5^~0{&u@7@x!0HN56X4)oZO1b5b*x4>hk}_oh&JSJe;ppnVJ6HaobSF4_C* z>jsO`_g^$`zpGiYU}=V9#4OP8L%^vhr;oc|&vs|;zgJ`HpR*$D*w;csuJsFx!WRBw z<>2j~pjA=yxGK!C@Z8$^OZEX*JyskF%{G3xcJKdd3+FGJY3mX3KTNN3PyVer^>c15 z(Vw^H?K^j_sIF%%9w#TixZ&{Q!+|Y|#^3JM)|B7xnXr;wPHNfItzT}czFa=7=Kk{7 zV#m{cjKax!d&O4rSgrEyt^9wa=WFKUM-T4&TFrQQdt8;Hkylm7{)a2W+ugRwZ~M<0 zS{l`+2o2Qp=efj#$n(38JX4jm* zZJ+Y#TGI`$870eezbs^(+hcv!UgYjKzeR~rlGoeRzTcQ4`1=00$U?QB|F%v(U9~sD zJo~-yM5nM`;qqB8y7z3W`(@azc|6Z%$J8yhdrH6Q-`3l+c$L=vD9+Q4!TfU`m73e_ zeJ>a3`g4&w`|_5&^RLbRe|TzL{{NruF8Ob-|CIh0doed);e>v^`47vCyR2t8UE9NV zRXhHE%c{E)lYOsh{ZV!Pzt*XA*3Zmm+lwzwU3W$F%$aK&1^tbLJ+2gQ+5Tk1N;$60 zd_COr=6#Uo)pfo7Y56*ttK00@6_2dEUv{Ny<(g}Xf8!5*d2oR_(kWIr%k-Sx7F*?n ztE&><&c5>SYUY)+2bT`tb~mw=zIW;7(W9;kg5NbgTRnsCurf6sIO_V~(KE?CPtKQ{ zIHep~a&7V>&%LfT9nr^o{FNWOo!#9ZwJ*EyewD;bgPmWWu$+`Uc|`N=GL?xO6H{}T z8nZu##r<7$?*Dg9!!@mw7cXAi+}ynP^^yu9MWec=&Ayw{&aPQIJM#ASKUEJc=O&89 z^z6Nz>GtK!yOqDs)h`fq>hR&n7M|vz@Vxe@2~5VyLRzd&vDb- zJ60L@8k4!LW=`Uq%u=>(+cq<^ZDxJ%YL(9~%$m^T&Hk=*&bEqQ;r)DnBHQMgEUn#X z7roQM+8RFK*25E8^5UiGhmTpUe7|Ao%Wy2J8# z$B)}eEzm)ZPfuPx*8OMGBH;9=VgBZ#`S#~)i|UO2Z=bx&%i#IHZ?iKV6ol_fcp-4E z^YP6`T_MuJmo5jLx>{krsdnSm#k$+y1REKiIeT&8&nGQGEk77<8x_s7J$=%~`s9o6 z!B;1U*Vlb&`EXm2XAmZEUO^39XWS8Tn%z53?TVrHLr?ZwGvlTGv8XX*>?KY7Ni zXoLCMFSbU8d!{ldwtQS`b9~L~1FjxR?sF`kcm2jw*<%+>d@nEh^ZImq+gianuUGxp z9b|UsOzMSK+hQ(i8YLDLyC3;}zpB1_zlwrpuk`yHJc=zJrK@}|Oq5r8|Ms?Uy~^J! z6FWH+k8CvFXQ{HOd6UPS#}6*O`PduX`ghlCPn%!MtY@oLAN9Tg+F!S^_x_UaU7CC9 z6Y?)@?Aehlq!;}-y7_teft$A{tngP|dg-8?@3bi$JJnoF=Y(%=4>i_wdALruZTaLk zDid$}FDj_+{I-4Jg;2%#T|H4BYA@~iuO=V&v(&cd>8YC%8^5p4Ajpsj2n>+XR@$#As@z|FEGeu%i48a zvY|UdUpl7dhc584U%N>lw`R|}lBG*~x9B^zx0G6+yJhj~@Us^xH-F}Y33?q}?)&M^ zgw*R^>vXwiR&PFgT}LHl?Nrez{{N?o?EQK8Mek;-Ygcs_hB+@uYc~65bkZgsL;se7uzT!JF5P9a}c@GD~d#CT4M+ zSJUci-Zk`{jg9)o)t_xrd)Fd-ao^!%=62Tmg1x6ti&g)3Gv`o8-yS0~mF4Gs}Ob@+T!^w0ISdy8i*K6kk)N-W~|*V`-h{uK|s z;npN@_VeA6RCzi~10p828ee(qg= z<(4G5loQ{+{`>wXdxPc4dzl=E4N`O@#ER8Ca-yzB+&dhaUKR6BZvLwLJ7+&^yVvn? zuH)37fvNf?714j!MIAfUa{0&Ni=t<+j+rVg!G+-J9o@`n5lJH zdk@dt_Xdnk3Tx_|a_1SZy>=k#v}3bV_}Zr%qP?N2x31WGef1~DCC`3^w%!k~)l*jgo?#I<=(n(=o;sp|?CI{%sZky*~y!~v!fn0^J0-pZu20Lq)nEIdKzV-3T)6>)S z<8A7Tl2@0X>U#TM>!abM-F8n>?EifasCc|XGnn6Q@oL}pKS=X*y=(7jYEN~p`gB9seAdzqtrf9)8nFj%L_zwPwvji|Fv!PNUKcd0|FHfomcQ&ECyC+4|x_{pwPy zvobp$UU6oXEj)NQxqJWn*H-=h7z&HJN?*}qXpZ}d}bhZCcS|)B`#Tixp(!8)V>6-e? z-Pr|a=l*ij`TgzeKIN53Jj#y`|D6`2?IIy5uEnvIO}1zU%ejX|_wHLtgtEQ7wQRM> zr(zG4uh-_6-q^BoZuI<}p1)VB=+?Kw{wvu_opeS%nXQ7`=nJNFK(y6-PX8+7usya?w zUieL@|KgUF&M#(O^8bJCPhI-L{4ejX%ca}=`~E$3pR0BKkNX?LO%{32|FcW`o$l9f zU(PM|_fq}5nB!w}S=#=pzrViDo)ha>V=FLe`SDw(d6$-WPF}W6Zn55ub1!}ud}BRkQc$q5_Nz{Kj{(obm-}`9|9sE1>(GL*c&jbj zK1-A?{MoaQU(Mel(I|xJ=Z9OFnoF+4pAu2M`fzpn^kp;u)CIlY>-%zMVc)fDeUBfX zJb(N|&;9UsJE9yGpMNP<_n=Sx{AT%o8!vr+c1O~E%bIqU&vqP|k($R-Vtt;9>Yb9> znKqrV#o>gU)7G$Qp*z)L*7C+?t#u6kHu2Thj4a(C=ct@7zdpTE)UOD?)yE*$E3n9Z zuH5r|wqL`#H%@P_icH{8oVWJ+h1P}jCA%jnz3T4ZW1hQyO?<8I6Ppdph0Apo`^}Tf zzAhoj`rhllWX_Umrz70=rtUMI5MJlL(m#E{)TU=0{rXcQXn5jN^~r3PrtqFL3eUY%%k1F{|R2sfJA3uHds~?{S`@+l7LM z+p>fC3!jNE_-G`+J1rq&+jKsT#tmtlk#@#|NE0gTqotKAMeS!df}AN^f->t8MTFH4=JY|c8V%ieVV{q)mrB9(>AhYm3zCy z{$%@j*9mjf%)`V6?223rFI!z0=+; z-=;IY-Q?+Ry`O2f4$WKl*t_TL?wb82b=Goi6ODrJT)ljI3jb?CrxO|(&mYS&PP)DD zvDjTTmzv_T_?f5G{QI|NH+_C}t6Xkh%3TiK*NO*O<}T8ZIWFpSI@dV$Ue_v_DIG_X z+O*i56jJyV+Yet{csT9dx+OI&1Ze4ZEsl$6Dq; zS&?Ct;T|R6#35N4RkN*l=FZLWuQ$kry@l+i-n?nkq}MK2xavZ;E46kufmbA+)(B^4 zaX6voxeyn{yaS;B|+lY@U>`v zmN()Xj0Bh#p5vTpr`&S<@ygPJSM@UqkBbJFwfYo=Ulx+weVWq7|ui2&#@ zLo2bm`BTFu|F@Nk`u^zXl}Vok@6DSxZ=UR)J+@a)_+H(lr!E~+LUkZ# zEsA-)+-Z4l-rRk6KONh>T6*~(1viQ7hL60`EGuin;$kk&&cC>J{l}+A#8ZB~tloC; zZErSTkl9l&yFF1-Uu1th_u~v(e|pJ~e9`T13y@A8uC|3>E9 zJQh3bZrT+uQFtfi#f!4EKlilt*1bu-mj3jpsA+0JPx$%ThWUs0X0J?&^t(IX!_GV} zDJdu@=ukmntf@C-ji)R4q{JVt-fy=X#V&oB5t9oNlQr&pZFjw7zzUua)3kn|--C;x~?KJzL|yz;^wu zwP(t|ZTp+;+84nVVdmK}=mkxbjsV=lR>Py+v1r?TlYhN#1RS4ZyeDmhH z_pr$rj+Xdc5=*A;T(?*Hp6x`hY5WDJFD+l>7XN*LvF@MU*N$e*2yl98nsAHvyzPHA z^?2($k1w7S*_2j#qWI0fSbp(3RwsXd|M!vAN#CEc>cts~{4TxzwZEh{YUh_bGVl3h zch~R!5cN6obFq2SC6 z!;2R$ia;hYrfY*IF}8Bl*3>Lvw=8~kX5!yTn>QE7#oc>!v^zI9SK1_F!P&kdS+$ju zCQnvYQexwkGAVlEp}^v#@W%-#0f(?KhoFe-R!0T~1qM$S$B>F!Z|9cBh#dcYJbitGoW_C`3JRe; ztS-$i8`a!QE-r9$7T|R`&?L3{n2?~z!Hf;%iv<^}Nk#uTrr~zd{Gy9%&PIWWi=!P_ zr@lJ)_V2$L@n*mG9xK{jZeDTzIe%REw`t$c7;iprbNQaA`?^#*?C-tHal4%qlA>5$Qhq%GTERa%*erG%yIr z23gHyYIXI>l@lqO%HH1EnEbW=`ODL%PO&gC?x++186&lFmPw|P0Ed^i_f7eKuU~3w zYtJ^xWV#A+qe8&rsY{oprlu~f@{bP>R~PDB& zvi&_b@~6s8Z@<6lZ*+9@??*?w-@JKq>sFMuw)VI6Dng!>m6lE%V8;t^G+wCTu=M)= zHb2!!()ThWBjb)OJ|C}4n-=Tm+rKyb?zQ&6J0o=RuCAKe+k1AZc6f@>%vTcZaJ_Rl zO_#Bk{7VfDow|Lyd2qtx6Ne5RI(>Teu3hl(5#ZpJzI^@a)tfhO8k%@HOUt^MM;)_% z)9BwVrkja?_|Xy%p+acMC&SLd*O?(|T36p;;$SdNxw&L`@> z#bth26jc$oq~sGDZ(oVBj;?NRZ|~b{YiGB&yB8FEczb)hr}C7ODX*`u=jY)mDK3^a zN;$DL`?`m+%KcM(e0+U6f*vaZH1y*3NXW?C*;o7f-QC^mV|ISJx;orNuusNvQfzzf z?QMH2KdWVyR{Z_-^y=&-xpT=96*aYG!OQ*Rn)@P-&5r zlvGqyoCgMqii+Xu<62kqK5Y3@UA0tb)iR?kD{^mdlkr~tE1t(oLSDXKz^dTEfw#A} zD=RB6UcA^-*{1YWNLt#nZMnDK-P>!OdTPqb;N_FtPOMn9>Q%S?z6+1Md|f*PstyP> zzWuO%|G!zb)!)`cZeAC^|KDYQ`>h!loi0x}7t-S1CzGgE@cY}_i4!N<+1V}GdU(c+ z88eO3@9nKF|Mlgip`qcD$jV<|US7L)ZU4VtueWAjKh`H}op`9ly8PV)=Zc4iT3@_) z(Qp6H!WIlvR8)+NJ{@Z1PKnFiQGMb1yb0&u?7da!zBgEW)-uB_{vi)`^L;VoEI(wL zeeJ<@Q&Us_c{YKw%?x!PZb&@b#wXh)FzNKuwNYEObahpG1@@mib?Vp4<@1;M%-mG{ zJ&%dg*~w{L{C>TO9{1{gzg6{~wk7B0B#lF|)@3~shDpc!WDN}slQvddSm3zWt@qND zJH`vA3Oeb>@4K_7@-x5vABP1~GiMz$_cG1Ag%iR_v@tP?TenAcy@O7@#DvrFIy&bgHPJzXRgVi&(F`dx3z6L zpOBtj{`*_*VL>UCW$VrR56;_iVakFB6*De!oS$oLUij!pzum7FN4v$3_sJ?x5Lg|* zzfQjH$HK*nlk4j2GC}dLAGc?QX?ECbv)l>0qyv4tGg4DcD?U8%o~}37wtAaux0rGI zIh9@mb@k;779gsSOr$dX~`%j%dy*_5=ru_T+_Uy4K;&^|5|NX`8{NJ`SGBQR+ zMzU;kP6vVKM~=8$s_~j{SKHOq#TB`$^!2ntj-UN6xBA2?oGq8k(qya7ZL)KgmgShP z8$E6Mbo26eclu-*2Cup5C%$3&`V_mU=%CP-=1OkvM4Axp{MO zVxppD%gmWG&z!ga{bqCA-l~adso~+*`|bbzIBS02g(EULT0d%whwhThwQB-2*2V4p z_2c7XMdvmRi#vunDTgL1yZ6c4*S)*5b8YnYedX`tQc_YvLPP>vvahX)+?aH9f}(R) zcJ}VFx3|_tn{T~d9xPZ@SsA;lc|Mhx&oAQ(Um(5L&f+qP}Ph7G>6&AR^IZ9ciBg+uY1S?{`a>sVP?p9t91|EsyPqj0ji|GWG9 z>wSICt_odU_5IyiRl~eVRz01aon2i~I|>s2|N9%iw`yzNU90-~`b%qcCZC+97rU$U zb(qm_Bc~NRc1Y~6`1q*xmCu}$oSQdovMPCDkbO-@T6%U*PtVbA@%(#xX3A*m$L*=O zwkEP$Twl&0fx+p;{{Mg9cZq6WTOaQqW&LE+rn@06wZFbxEct58v~Xckl`iv~D%-uc zesj!R^vU$!s_7e6ty&el+|TRz!MbjNLpL|4FJH36XQq*=x%u^D$I=coFj|+t3z_@a zP*L&H9!V9>7Be$5?XWc-etz?;%kwTT^SxjD{qEJ(;liMj=5epNS^m8}Syxx>EPfsp z5%J~yeS1sGnI_u#x3|6h`~7}-QIXPS{rC6x*T25DR#8z=RaN!fyLV@VWQsU;m%W`e zZJL;jOiWnyrd! zWu<0b@G#u_Z4R6B{MoZt+gA5)c_*4<;j}Vj)vx-iX{&u)HAJ|M_siSY{i#Ueocd4S z_^Sus!v6mA=J#tBr%v&8lKu7T*Sp)>`%|?2=UPqmc1hJb6t*@>H*!s%}~YhBo#V)0#fe?yuO94!t%ZV5}N zEW2J3yx^8%|1zW1vbPk@3jc)HL=G8m-t3*$6<~dArFr4O{C7<7TG58n^~8ruCZ!9f z95GlS*#K!L2ymR89FXv${=u_n&)&Uz_wZq3x!<*U-wk$(a2*8&k&Mipt=ZQfJa`aa z_p?>QY1Xp)wclg+T)jTmy1c2m+3?=h?CWV~W;puEYKe4x(^FclXoRufD#%XV0G1)zHYezAiQ^D=Q#iLZepjbKW_d zH*M-k&iKo@K5nm7?yW7~@7K@QaO!#f_HA$cgs}GD<$iN5i=Q2AX1D+M<8d=P|Fh@M z^Y84qSTMmV`euf>%wNujRVTdT=UJ7m`uN+(iQ~Tc{MoamWn|WTnZTMHb<@OfZD*19Yuug!4bw!FKurc4nL5J*T(6%`PeFk{AwE$mxQUfo~+|MTuPh6oo6(~9=Ctf!}@y7$RMZcaPPZ~tdQ)>WP4JLS|=RVS9&hTNXs>a>uPan-6-IyyQtw!gi--JQd>=7)in)~j=KtvMF{{r#Pt zjjinErPM<$oI7{!HxCcLUiS7@Wkp5J$D`s$j()Lvab~9RT&vPsn^I37>y`ef z{{8*^}6-sp7)1HREE^&reSaQu9~LGRfSOd3l*# z?XN%oe!u_WXtdzECo3!Ko7W5b`}<$byTJ4;^gbRWL4 zjk7SV`}3pt`MHPZzrVkqpPU>V7uUDjGbQE8pP!%S+g7LL=gZ5=zJ2|=TcD`4^eAWN z#^mEd;+M@=IB9nM`uTjme(bK6zb~5E`ODtl>lHY4?%XnsSKr>=78DemU-wJ%s3V(_ z3y1G4lgx*QT0K2I#r0w`E-yR#?(XjNv$I@HW7?EmIKIBSTmAgp+#QmraP?~Kz!tCFse%#hPlR{v+O=%yQeFuI1zp{j^)-G(^HeLJacv|9Z80x&Qog z^K7ese|wv>@y7Av>1SpbmX(!>>&MNptF0<2F_BaK;F|Gh#=K=OZL7ci`FLF3f@6kV zZIzoFo70KYr@5Ci+W-9$Jei-TonL-kfW|bP$VszjYftnDTOarLob`JF)88I}R~i_Z z^u=CZI{ATgv;LF+gttp-4ek^*Jn&VW2G|x!`kilK=JRH*WPmd;e&(CH-)30d`}G) z6cZI)c~`cdv#9F(ySux~^IHNkKtN;mguhSDAA9n0>Z|E{cdx&tJhd&^%^+xRi-_w( z)udQe~^WzIv2Z zZV_LDMDePp|$^hJ~#1|-o@7|a{2n~-4{%D1%X5 zUhW?o6T=hR&er*IYLMieXrH}r*)k(;!IiIA($Uc|S>4}nj>W`?L!c~cV{?b2^hCYS z`r9e|-^&)4y@J=(6V|R+vEsb_|2@l=wN*A41-49`IyEvfa&`E6vl7`)Z(e?k<^AC} zfp_kkiOMIw{AtP3^}Ee4v)3Q3jv0E zTU%M3G;D4Eo}8@iljrzbq4jZu+uP?wJO7-Vto~!-w;%EFApxd^jLB6t2PU3OnK^T2 zX=!Pe`QPV(BCee-N}Vp37BIop&Ei-5KTnR|hJIFZb)o){%bC-DykGwQu2O9$ z4K=m2BOQV+f^qxn{+`y~U-RLCuiyXg)7P)6 zT?V?kZ&$D1=frW*xdA3i@fx4W+|Zcl|_X3No|NAvgn ze0Ho?`tqeqhYlU`sY|?isr&o8yVhA(G>q2HnLYdV#^mEGR;+mO;>AMe_DOCU0vrW$ zH%^^e6}dU>=g*%hvwqy!Sv*E`Bi&K8w#L5EMM%xhh}e7c9q)vH%i zq?Ya4b?erxS^7?GxtErB9&Y2EZC7h$ebAfl;be9Hpx|J3KADPte|~lftDl=`+_{sx)!l=O(sQ&Mg<_ z*Z+I@?pGED9bS;k?8lEF=^Z6m+lh`P`S6m*3x0x!HHN zS&M*H>g%HG`Aw8=i&j5!{w}`PjXC`!;L{&=5H{%XD?*<}{XTicT5# z_Eg^9mizm~;(h_A8{re(Ja+g$ytp~R>D}>QpD7b2PfkuxU;c8(l`B_n+_*8A?HBHTB=5QO(xqQhCQZ7uI$Yn| z+gs?E>9lFn8XFs{zrTZ)<4y`D{!Uvbc`fCdRuWmg{`t0=8qVYuv5Q%tHG@NjUCXVj z4ZmL|CnxvI+k-mO^78Vw*LyxJ`t<43?d|!;j~*G{N=W zp32YP-rjb9aI0m*h7DV@ucP|&PWY3;uU`(g@pAL>^78PwJb8JjmAjo^ei_Qh?A9E< zg^QP$7ZzI9{@U^?rqxGn^{Q2qPCqsAmEMxT)aalgvg+>Z{aD6W7fyRCGS$ZRdgZTE zr@XE*g@=V*GP%1k*h`-bEIHS)2=F^uB-jl5=m*&V}z=R<2!J`}0$3U7cNoWIy!sy?6G*~%F~kO^y1ySJQ?-_-&peU@)A-v7)3~ObSgcuU$%br>dl)sCudA) zGqdW++tO2hgL%G~Zq$`)*O(Lqj9RvB+s2!_m&fMtf+<0(!?$hQ2GwgRWLN!dP3q}s zZE8>MU)C1kS{Se*#7}Rs*sZlq-OFcPPOy9U&qZIsMBb^-{gR3AWs|yt4v$vvcTiZM z;iVw(K>X`>8IT*+@U+a~yuLo(zU0M)h6aXap-=B$PG!@-rLJ2dU9Z`jU2s0dOIRqw{EfO&u+LN!?AV6x^;Zk41cD32WU(`-RiW^ zL*-Cj!}QPuumO@BzBht@M4nz{b>QNpQx}SY8>e-0*&a7_$lz-_-g`F3E6wJxev}>2u#)vh=$CH)aJ;`l(wfvyuuFbsgV>MU4;oe)dRi?a^CQ~EdUSP|NThGzru)=eX zHG``8fx_ix(1=ufueqnPN>6lQSx<2Oqo(_JSOsQrD*o;Np{r9IHMf=loP*4YomPgt zdigR_$SK)I+UxR_)*zw73(^>zj1`Ym#@3mq8Q#eR2kfSw0(^2dKmPswt)?g<@#W3B zb?fr-^4`6BCnqO2Z{ECF^G>yQ2sVFtb93{%ySt}PnKHq%;_a=ig34|sFE2g4TYmrU zzS`aM`Yj*Ly>R;U>e}Dm?%lgr`}^D7z17<uDcc*_pPZBzZ{+x>mmE?@Tc zmZ^b3!O<>JQBlz)TMvJGdwa9Bk#(Hng|m}0QGP zp+i%qOxdz!%Yp?8MI3@ok&%&Ht&jfw{r&m*`TUEEj&=wt_gr2nb!ElBf4}o({nj0p zh-tUFvpxU*JlpC=j~?wReGMAo1)TzGn z?P`C0dCADg*tXhv-x{9>qS73`l9yLs{rC5G_4jvgU%$4_ytL%bojbQ~-TM0a`uDfD zw--M@_xO0fzLu8JPmMLZcKy1wHT(2*{r|7m@7L1S7MwWAL#1NJ+zAs5GA<}EacXvb z`u5Gw!{f%*?CFN?7ka-u@w&A!*}bR;RClThbv8F2ZeryY(~s+MSU-L0MlUa~Lx&DI zIXP8*dBJ$>YUG=@d?!P~!lteKxAmZ{t>4|v_MU!z|6Z+L51QSPm5q&zl$4i`4+<*! z@!{c@FJC@<_|Pq`KkJU1d!LM?aaxaq0tY|;|A+1J965&4W;s9p{eFMEPu9BP!-I~F z4r%i|f!jOw?%Bh|#dRX(@r>=}o%3ue552RvckkZY+uPMAT%N6Z>BgnYm!(^~XIYhI zm6UwhSNpqS|Lg;6L_|edr!Mehi=TKr<^4>5C1vI3=jZ=_bJMuG`uB+wCxVyz{rz@3 z|Lkn@J9qB%^Yc6Aqf%hM!|`Ty%AKpWZ*On+_xG=VKDYeC?dtFEN?%-P z{9tf2jYOpH{6}wg3OW+c$5{ z)NuOa-0Gw_)oZ#=q>!NC!q1*11q^Jvf?gLF$#(s}nLb}Pa?_JLJBz1Io!T#F3mRL$ zzpu7))22&5uYN1P9Ch>L$(JW4Do>p{)zs9~yfVL^5o*8qBn2fit9$1BpvDK zl{W8_vD~y~&6~64_kDbPOdcL+U$kOx_4jr0`{%8^xnaYGPGNOEdAm6i7D~DXo}F#p z-`#zC$Fvud8enSy3Lif@+AYfE`u*MA>uaOk&pi+fm*smOwLQ-^@6L`37Xlt1@f308 zWMMj7S#@}B%-4EWR@Oj~t%Z+|y}Z2KJpW$JjSYz(KYm;i8TppGXw9CYr>8>C1Sg7dSHpjL)Ohss> zjo}(w*CXA})lOf2{`|T2-6#bC4ku?2xVhD!{N0_(&(9=H6dq^rv^ssfTYi7zbE&9p zIh9XN2<~GG+anMpa&@Wq^tZRSukKyyp)kd3>8jo4((My=23_C1Zk6N8>c5r|`#z#6xR+60DD`2eq${ zot^BNamY$Ua?1ptK+~NCs_)O`?_=UPJ0ajh|Bu)^N9KruD~HLR5~89<=b5%yJ-K{2 z`+nd4xV*BNq1~rWm#_-VVpjZ})calc`E~XO#jhSSgDSxdn;bc3n`X0>uGo0`!@Fmp zFHP5;3y$5f{M&Px|C$1`bQfkZh0SlDl2OR;E1(hFE@~E1Q&%s4cV}kAp>uPs)z#Id zcP{@Rc6qhy#YsCZe9?Z}`aCs&x#gKdhyG0y-)_5_FQ^(`KreX zTP=BQIYX~|F(fWl3#q<(EN{WOb$;^Z2P_zD#lJw>Y|g^drcbY~s1Wde@$%)*Pfxv7 zm*=(2OFA&)-^Io591G{nne+W#_501|?H*e=h3Hy7Ds5bJiMio*?q!D?5}X@Zm>NC4 z{LhU}H*b(_h|m%1bg@}?2~tJx5x!)yc9y;R2ELEH8E)@1{~Z6qv&CuQigoL@ZP<{| zS6EhdOkYPw=g{H9)AeGz1d0j^HMO*o_9d}#`6MwYh6Dv2di=xt^jUu1teYN(kMIac z%@3$OE%x{Jw$cLT9QFftqVFT^z*Y7d^@TBd_QlV5HaALaEPe6hNy)c2HyxYV9(pP* z{wCtglOQW2^Wk=%to5^}Pj~Lz`S85FO+|yiuHxtCIs}y;J$f|b{-g7A=gg6_t2r@c z)s7uAj{oM{D#2X8=%k0&PLZvXwH-V-7OI&mfQN#2tiOD$Gv-ftJv&1fn|AY5UM~qL zsaf;p?W_EpcJ+;UVCjyGi;Fsi)!EqCyjMwSK$;s-!o|tS&58uI)e07_2$o(WP1rxP}W#$dC4Ew%E z=}pg$Ja9DbVy`Si{L2`yuX8L8HM8?SntP?Wx!H5w;U!C!$Xb^@c&p!gC%D2dLQ~X1 zLuA_Y>BjPQRbM>xrn|ej`OPv}8Rs7#6tw7D7*`y}PW$>O@7<14dEXeE9t&qpbWjlJ zKKkQPUoAr!v)Aq)iR=yhhwFbHWdJv~*px)NkG|jg{oa$4lTD9)X}OXZ7ymv_PH%8W0UYI_uf9tK38&SJ7%`fW~XYO0L<7nYVZryqZQ z7Rw%6$uzCxh3onG_Uz!WdLmHw>7+VnJYZVEg$0feA3khb=ln0Zs?$Yjs#k7q?pMVN zcDn*~i*s|=hG^y9+M+4Ir06_j{`~ypP$edpBH%4!|edQ+=W##6d*Bv-oei$@56g)oGn|^-Y z$KQK|eP7;5KR@s9*X!{ju8=TQQ0bcRe})`?L5fjiTH3OCy90}4yt`mycME?Ccr6WD z;k?1XSOorKMZ9 zZZ(B2A7WbgQ=rH`?u1R|vNdabPFwxkvSrJ)wb9zPC4B;^DJeG9-`4ofHiM3Ea0x$n7?z~iQjKFpHE6o-d*zY(t^Sk!H~efjd^!>9XaAMYZ-ho&)Jp< z|7YAgeR}nlEhct$`(k&Oef##U>fQCj;lGrWm6H!Pu_`JmK79BPZqGC46;C~u&iMC# zds~=>NYKhHTkMuDS@Px8)zgCZUAiqNjz10XSCI_rt611{OHTK%Q*E@CP z;}1z>eb+kp9oOaeH?is#;hrly06x7w9*I)Ye zfAy6sS1Lb0dwY9(|ADQXR9^QLRl3eeZE|R6=*g!=vzGBj88kX5h;Utf_ccB=)U@P9 z0BTrP3gzvcH}ADgZEEV$tVV5Z?aW#4ZfsoK+uIwVbF7)ow_bAN{Y~?)bcf8lc={i% zC0{|?GvLGCA4*l9XxyEjsy_K-#wa-(Z{7K1@^bMxxe zuP3Q`i*UKVzP2`cYgTGL2;AS4>MhH`D|9*g)Rqj-)Qp`g9ZtKn&U-8c4ZWIJP^%^_ zGxO(@las^NMoCVdP+9x`-`}&d&Ck!Xo&7WA>8YvKEY#l`OORwWsyrf8}ux^Vpb^=qDWdEd{JM@Kr1)6dm>doy$I-oGuJ!ZkHD0#15* zdN=MHtLNO_rt5U#(4nMLQ#7N#-Bwgu_IyU^L#OleRwT%;`Tv3qI;0pMen`%?D(Ch# z->KIYw7e1Kld&+cw3Mt5ijIE$`n7f18HwoV+n_0cTU#;%0|Pl0{`ph0)WkV3P|)}C z#fuk()%`-Obaxu=ou(ME_pRI8B$j0>YIuSL5l*Zlcms8;#o!$PNp8JCuvtpEQz z{!jd|9!X&-sZ(m_&z=n}dcw-e`s2a5xz_9B_s>&2vRqYTS$@Vf*SG7Xro>)+d(Ryj z*fo1O-@bVxrWbP}t|PszG-JYyxXZe{S?sB^POT~X&}y>&CuA)um`qN8zcr-gmZ9I? zm7;N7?C?R=XDv!86`8YQ0=<$XuJFL!{LEA1!QYMZD_kQ2AXV0&%ueX=JzP4+Z z)mu+~x#{AclIFdgTE(|_&z=JAFJHgj-BqgHXzRK# zfJeq+!mR=R;Eb6y!JD>on9UG;U<^y%W6r5-=NZYUJAtNCGIW_Hb@CHK~r!h(W= zl9HU;+j76ZyZit1{QnbT+L`X%J~%})c$weas@K=n&b2Oo_Vnpo>vBJD&eD4|f#;{K z0_CF9r$As=!NWrr7CImAm-m-?s6M~u(~pmjjnmI*h;*@Xi=CNieEi>JU=&= z<(tT!qKacZl14LmHa=7CTy@wq``U@8MLADRv#$w6w710bON&2zc(~oYS1MJ;spZ0A z_kKCMnja4iHm{A|{^<7$j}^|!N562j9y)c(Yhge|b@lp~okkiO9EwNe-c(mtYw!K= z>C-3hkVHXwxjV&a^#3^^fnbW zwXzo%7M8!ix8z~&-CdT5A z+ndbX+}@6m(9o%^t*lC+%I+qWOfIWAkCe|??oKG7Ktt*xzd zZL7_+wO>z*}SY-kyhx%gXju ze_ywMzkOYFOiWH{>eW4!#fuc|e?FNE%96Rax0SxWR`ELX(vcXcygNGtWo1D#q!VsR zrJtK)nSO50(|9rYv{r=&ZX|rcbJ8@K3y*pI>JTf9;!(YD56Zdr{S9!TUefsp^!Gr4l^K|s} z*RNX#a$0vcw_k(z(x9}4#U*Sp`a5^-d=tFV*8cOvJBdU|?xrLROXTR^K-#B@CT{nxKtxwH27w-!#}qN1V>r6c~`MTLct zdnyW3QdDM!{o6jBi{FZr(Z&&?Ym2}H$ zPvK*>nc>pU{#2~$jyQDbQqabTJ8L417YiD#XXlfdF?)7&KtO~2ne*q*pFVxL-jkr1MO>qobpRX5ORcmshW<{QRu5v(vp_ z?(Nmp)A#TH4=T&|Ok6)HKD^ekL!&EdPsPWdpP%n8d)rmKe6f4KS}&-~v$L}U&Esl- z)}%yl&pUhmyn0u`l@)>9Vmcl^J~gk`ZWq&w0TrEjcXtW8c8E$!W+o>;e*WA&!P@12 z%KN>0_b&IDDI_lLE~U7eJ31;V@6L{idzYIlmUevn_3f?qtj?)>qGDoXd@r+Xb9Q@t ztoQOkeW~6LptZm5eI}w0_f&okTN`!M<@uYHRZBlUT@$%^na|8iOTDLOUS4)~rm?%` zf0OceF-v9MZppk{u`{vd|C_!2{pa7^-91%|_t~>&kFJZjrlzMqR^GgM^UQ|0t2VB# zu5SA@6k0^MjxO_^9rE4HtWr2#*l&hGqhijzJwH!QR`*n1qM@as!J&UlWi#K$*XQP1 zKNkJLBILC+=+JG&-TKNcZ{EDQbmhoFi-R1Aky-8kQBG0v3*3HfBQTwfpoHGM@Z~m22{PN>t@*L(J z6(5y4=f#;`J#g=C_~jkZxv!3K@Unti5*MDd2nq@YwEq$?QZ&7?(9ve^x3@oDKTVq+ zxphUA-wFm;i*1&);`w>=_AZ^j>e0?@HBj21CNo7*(o{EVnhnkw28X6dqg`~8Wg;!U%@qyOOptN2>m<-Na znI!nEU%KLluy5#sDJvajm0!QOc?Gmi|4}8pDsBJSoqRw0UtWEtXTf(c1Z{21#mlop zWu;V>g?ptI=;!WD4YNLQ@iU^e5zD!?y6W>vP_Or{n%0i#k#DcC!n=Z#n3$N1jEp)| zOG-*g3JMIsOI|=rhNSE{HZ2qujk@K#H(0!A=bYacIKh!1z;U)wAYUZ^S<9>?zc;^e z0WWlUrTk~YI)Ay4-K+~PV6y%mzgPDYIqMJye2LUb%KHOrGiOV(F_!*RNgk zT6$@j?`$SmoG~p-Os?YQ=57h7s`@oq-G9cNrf-g1$2a!eI{&oj=VW#N4>COeK%Hr5 zsAL>~_m|URW9Q!T{a-2K8mKhULusPPiUUwZ;JqUImmg>5{j12MrNH9!iL?64i;emB z_wmVErKG0z%36OrHC6kGfR;#?s`oS%6%~b+CqYSAr%uL8{d zGTI$}{1W^$b1!?NLyhOc0ML?3j)k9}pMUId@c#Yzg)@KXPrH<@+_7lIfddD)#q|_g zf`Wsao0{_O?XfI-bK~CL>V8@4Z`amF=R^sw+E~!!0NUVW9Qyp+Tz*-rD;tyDx88sB zV}`8iXF0>{iw_PqpPysdEU>HMW77M3d-wl%)cxYci}?D#rdnEAA0HiEb46IQKWy>{)|%vo$s3ORdP8XFt4udU(aG+fBq+q`wXEE-;pMcw*EjR+EPiF<*EEl*<%z&2 z`OCk5{=B=Va`Ksrr+TH$|NQyWAiyDQ{qW7r%`>kbZs!NJonBmA?A|N2v}#EnXH6|f zJHLG0%S);+0xRo ztgLKSpSQ1XZ*TA2oyFC%rMKfb-Sb@TS^*NgYd?Ykr{DJjV$;r>pj+DW5-LGA_ z^2h(hx*zVOjWfJko_}l0%hloQed5yQGzRQ0X9Oj4qpGj3uFkLj_w)JudZi%NFg7QJ zE0Y6uOFckY@-RQ`?5vr4&OCkkbbJ2&zV7bbRbRE{HG@Vg4jt3jU?jk_Ft0`CYJ+Iy z=VxbcZ_k%+%oaX$=+L!wvEG+WK(?60HBN05;E;AXQR^xf?r)!SW5b0D7Y-b7VA2-= zEeoyrVE_rK8!Nz0c;Z*_=m_UL+r8c0r(a%P9xDDE%O0~^d;hIowW^Iz)(c|EBz=%e z6!lwv{`@IpOX=c=FXyvZ6R{k5; zK25#UZZz}F&(F^<@HGl>d{xIbF7Y*PRl&h4b*=W|-AC6(ZQZnS4AtLpUDLq>N0ym@i#nXBZNuD>F8>`LP6Yio0Jb1z@Myik@&QQ(uu3Palk zpY>O-TD52I-kD6&?qXtMadB~1uU>WFXzA?^P!U=gCw@bJO5En9FN-I4b8lFt)O|E5 z1GJ3ukI*N1=svcqx99KdM_(IZrsuR(A}a2K^tIPwmshjN$S_ywh90kDd@I1wI3eEY zA9RpoR@;XtHQg=KCB^+utG0Faf^w7iLdUs#)g<(k8>-S@U;S0&yR+);y}5sxZh^|j z{op-h*^|F{a^H0`Ull%~?Vk)s;{=vNZNDnw)ZR;%OueXn=la>R#qx;`)}RHPzdV;b ze}C2QoZ{JTksZ#feUnVSykcl^@L*cV$GF$-_2){@yRRRAlKuiW{`eQ4n-iWbb>r3D zylmrsK5-od7AGf;%F2baH$P9EH1F}QD&-xO;4nDW_tNyK;g%&vTkeD`sAZjC2OhDQ zEc{CN=IaUPpBpZFt{r~9ZlS-a6UZedjy~sWUo|~0ZHEjsIB`^#eB(-io2v#vZF`@!@dlaqo8XJYdn>;32UEj;t<`KzgOc1=4EiErEYf_4%&7+KYbITJkn=<=Jo8Y&T_t~Vb)t5XI?vF#^Jxt-!%EF*Aai5B(r>1_tU;qEqRPBV+ z$CXvOnY_B!MVep$MoZ&nrMb*GnZcC;>i z1)6PAJzDka%S%CJw;w-#e0g)T_~)mmQ>RW<`I7o+z1b6s3f~rS{W#Dnc0s4({qp-O zJ}PZ2&2ZA@<_T;&+|Gae=+WAbN5!wNi}m&b0WA%UfM}<=!QHzA{pQ(JzPhrq{N0_O zzh1BZ{OQxVdA8B-fA;#UIQ)}SCFk0j$k}GOAI?W_$v9YdZgD2(_cu2`->ZHPS`mGs zbj97Dg*!Rpx~D&V@%6Q=h1r$e#rLw+f)~f8y3fvf6Iag2YMupA7m~5|MU9#`26hbZh=i(x5jSIlYLlfQTyu) zGdrKe&n#u5BOekUAL~7N@?`$ruhX0se)#&;w(84@*4EbL%hi9+ShGeaKR^G^twV>B z-rU&eJx#}vW9QDDPoF=R&Z_`zu@2C%DtYnY>Gb$VQYGc(=TDwI$i5~2zMZxU3!m z`1Ik!1h1v5*h))E?(8T`zP>J2vuo3)O;KAi1k(yiOHtm&HXye*F4n1ahV*mup$sHm8LNF`AFxYj*7_ ze;?=J!SU@2+tqV(t*@_--=B4LRaY06yZiCV&(D7T{F!MbQJj{Z-Y;dUrKiWIIA!u= z=RlF)N}y$vfgx#WX$1ua6;+469_F`iX>H|XY3k_ckgxmk@Up*sYJK(pf3;nU_UzfS zVd}zNC$1lCW;43kTU?()Y0|1K@{4h#$oUmth1 z#2`(Wt5v@K&&F3*8#Oii*p~UsOfs1r8XBs(_vk}SkM4|F|DMgxpHUKcds{BZ=|Y`7 zJqvFiez0?n%iF(2GXG`eZff-AU*RjSkYxT?Bs6OoXhwYcba7$fW?m^dIXw}stuY0c zFJETolj*qcwKPc0`}(?A>pR^aSN1I4v15m2@v}ca9`~D>ne7SZ+ds>)SWS+>w*H@u zo?hPHUtbGsAL`jWN~!z6Gx)=e0b2`t)!cuXW|8l*-D=($dnjv}N7h+^&JX zv(5GvK5mQA+h6y0my1&3x%pE;;OqDM_4?7K)U>z5SZ6goe#=#X*xxgH5aC3SUot*L40>Fq5o z8`!VBsn6m##I`eHYj}gw9s z+M0Z<$FlO%l2xoT=ljn#%RMb6`t#%C^ZE7n*2mk|I3y+}*46z3xypA| z%9eRT0s;n=pPnrBo<8YXaLCtd(fPdcb~1`4H9tPgv#maK)$RP}<42GB&NN!;-Y>_d zWD@5iFC=tnP2}buKYq-aBNHBeeP{9Wve(yoXU<7>4i-@r>P$N~XJ^gNPfwntd=rrV z9VoYQmU;fXDO0wjot?F_`1vK1x9{KY&%CVGa^cR-Vs-y{F=1iX7P)rc+?<}hGho;5 z-NxzKIyy)6Tbw{64%2iZo6e`TEVyv!P}0*=Q!g*`UA=16t&Pd-)g?|%H$+dYkH6wx z{q4=o9fiuwVq#)ug^yfn{w7^ZdGIs#vCHSEMY(U?vu+iJopw&OXuIyEyWcTxzPHDz zzaDzGwq{@7mV0}~_W3oRPX74#c%$P?9b3QV$Mqs2A}RtLW;r)L+)ST;^Tv&u4+q)b zyfj-FV3B@q&QkB`c{es3%*ZWzb7Ny-VxreE)eZXXt*w>S)yIz>J$n53@87>CS8ffI z-89*=L*Uki#O9Bjyi@ne7^R$eaIiV_JLe>?r9P+6ojZ4o_1&GF#YII%b#v#>&$r0_ z`RiBR=d*ZAUpSMQp#>@#H9vp0bQ+8uh>gmJn{Mwex+otxu`DFPk|J}X0 zk5`%d-rK$~F8*|Movh8`#qRx^taG}>bo=D(*9B;N`t<2W?M&O}vLYa`Q?GuiR4gl<o5FmA3Lv(7jF0-P* zB%c!(Zx&assov{Yev8v=d%&?gDs5})^S}4x6j+=d3%~j- z^PP?LV-=f5mh7H+iu>l}$${-W#%HC;Ye>`CJ z-LIvi6QUvV{oUQ!rrFc>?)|$WaB)vqd%v9Rq3t0{mM?dAbbScV;fN zJ)h6wXWrz7q_?S_O{#~A%A~;UA=PU z!HxR_Uj^uhb-O5;Em^;Qz0i_LsWYug3JW8*WK3MR-YiS{iS_$EpI=?oo|AcCzJ)ai zl)tzD3ge|qm)2}`{%5;4>*2&*)oeRTTz%U=O87B?TJICY&Cf4xzkE~t)6+L+m&iWi z*|~Ue@@??sXt%&D)9kRq!jI+mYp2hg`SWi1{i#!?oSA9dzDQ%H&$i^_d|ivS<=@wv zd~(Ko`?^0ncI=R_pEJGOX%7E!&;a1+>H7U09S$6_HWeR0d-@;u+aEf7_@mnLH}X~0 z)sJfrf)}OT+my=vp3}g$^n^o@NUNfL%#H zv}2t&f46$_q4eDI{omdSD2BwuoOyHW$%_|1e!t%zzpI4PKI7`$yS8?Ab_NCl@}Q>k znz+5Yf|vW{$g#7tw*+{4b}DjwoOyHioU?N*Ki|&Ze^mNYbW~KIq%qsy&B>adg;$20 zI%Z;GC$9CR&Ai{L*@$vqd_x)*R}Sruor`_H#a6@C;_nF9iACS`VYcW>N$+)(4+hm(`l z*;H%3y^-|0YuxgKao-u^8p%V)`{h@!b@s_fO)dTTDfRIc#b3`g4@*pnZEtLB-2eC6 z>?o(jvAG-GPO*~x_Fbs+Nx%KSgfnNWt)JY#-0iaH(xppbYojz{tE5aWT)X%E$}*!< zr%o04LxR30w{-bSp~LT0Y{k?4uYPZkd3z3Af-8bYClJf2GBRdnXJ;=B%DlYH7c^WY zzHsi`xe+?o-af1Nn?K8Z!t&=r*RqSgfrol3)t}tI932sHPISKq#QbK~U6 zch(0_dGiRz6B7fE&V2av^z^-Z_jIGS2z0ve#)juxtY3dy#BTbA zIPZ@5@bK`cC@%0|OS#iOTU)sYCsH<@Idf*$E-PQ*Mw_@vE=m(!lrjSv8wEJd_D-m2 z1P!P0x}Vs;{CKhqbbwf)#`cR;#LfHndwX@Gw`tU-3Pu0_bXx!3y?feWYXVvg z)uwV-$#JkSN&5cyWtVb7;F)mOqBU#R-h9UhZb}NP`~CR&v$Cq{)y{Xb#64Oj#ONLW z{rUQ}Yiw+6V&dZMt*xysEni+WysaFN-cJOzg%ux#<>f*mSAYPFeZ!?EHNP`CF6gZ?6nquI%2I zlAeBkhT-8Kr7NyU&$X+qdV6at$3ivVSv5Z%wu2_7HzplDF;TfUzCA83uHtj-)&oq9 z4r-Gh`s(=H<4ZNVxzM@&Ud?CUy1O=NPwH&0zu7x~{{6GF%}?&Jy0fG3@cHxnph*hp z-DfVJa&G7Q`|tPrnF+HzKk&)f+_-ivOljhbIReV5e-=k?&pY|F=<>D1{dIr$?A<$+ zik zO-)Vz3-8kYH!(y@cdfssrsm$NubZ}PQF-_(Av04_LSjex`#8`vR?ZbBZDvJ*S3WDk zf>wqc6uSNfc2b<;(l@qu{K3b=U3jenJ5y~r?CdpLTi3u3Z+OA$2c@=#%wO_-{c>@x z)?Ybo3`~s<3IZpdtXjP~_?G;Kc>ny|+}Pk?=2Gyo!+^(ESBI~kQuh1j^~<+!-h7x_ zw{RBZc(C3ms`1e9x{l$v&9h3<>5bxN^ b|ICa{jEY~D@cm(6U|{fc^>bP0l+XkKP8rPW From 92fe78a5ea98cc8ca36d74ce86c24fe284729c39 Mon Sep 17 00:00:00 2001 From: dbroqua Date: Mon, 22 Aug 2016 21:19:03 +0200 Subject: [PATCH 08/13] - Added PrintScreen key on multimedia layer --- keyboards/planck/keymaps/dbroqua/keymap.c | 4 ++-- keyboards/planck/keymaps/dbroqua/layout.png | Bin 21724 -> 21895 bytes 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/planck/keymaps/dbroqua/keymap.c b/keyboards/planck/keymaps/dbroqua/keymap.c index e02d98f6ae..33929cb3af 100644 --- a/keyboards/planck/keymaps/dbroqua/keymap.c +++ b/keyboards/planck/keymaps/dbroqua/keymap.c @@ -99,7 +99,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------------------------------------. * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | + * | | | | | | | | Psc | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | Mute | Vol+ | Vol- | | | |Insert| * |------+------+------+------+------+------+------+------+------+------+------+------| @@ -108,7 +108,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_MULTIMEDIA] = { {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12}, - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, _______}, {_______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, KC_VOLD, _______, _______, _______, KC_INS}, {_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_DEL} }, diff --git a/keyboards/planck/keymaps/dbroqua/layout.png b/keyboards/planck/keymaps/dbroqua/layout.png index 846a385f0a497400c6dc0614dda641d0095d499b..37b74cdc5ef529fba1c7d05b5463ba410cdc8497 100644 GIT binary patch literal 21895 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%0DSv^ToCEaKi&$f4-Sz#P;eXcr+`{dakpg!kSer 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 DpjSF4 literal 21724 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 Date: Wed, 24 Aug 2016 12:57:32 +0200 Subject: [PATCH 09/13] - Updated readme by adding link on kle for each layer --- keyboards/planck/keymaps/dbroqua/readme.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/keyboards/planck/keymaps/dbroqua/readme.md b/keyboards/planck/keymaps/dbroqua/readme.md index b5cdb9f65d..777c76abd4 100644 --- a/keyboards/planck/keymaps/dbroqua/readme.md +++ b/keyboards/planck/keymaps/dbroqua/readme.md @@ -3,6 +3,9 @@ ![Layout](layout.png "Dbroqua Keymap") * Online keyboard layout editor: http://www.keyboard-layout-editor.com/#/gists/e77306f9d14cc93fa26123b93b106474 +* Online keyboard layout editor (lower layer): http://www.keyboard-layout-editor.com/#/gists/786e03f6fbd274cb4f4e77a3d67f85fa +* Online keyboard layout editor (raise layer): http://www.keyboard-layout-editor.com/#/gists/2e22c71f6910103c20d595d1caa713d6 +* Online keyboard layout editor (multimedia layer): http://www.keyboard-layout-editor.com/#/gists/132ebf8053508a7a81dfa8e0756edb40 # Programming Instructions: Enter into programming mode and run the following command. From 5979051de339d0b064aaaeb59948df00aa7c3951 Mon Sep 17 00:00:00 2001 From: dbroqua Date: Wed, 24 Aug 2016 21:53:49 +0200 Subject: [PATCH 10/13] - Updated kc60.h for 2x 1u backspace (K49) - Added dbroqua layout --- keyboards/kc60/kc60.h | 8 +- keyboards/kc60/keymaps/dbroqua/keymap.c | 103 +++++++++++++++++++++++ keyboards/kc60/keymaps/dbroqua/readme.md | 11 +++ 3 files changed, 119 insertions(+), 3 deletions(-) create mode 100644 keyboards/kc60/keymaps/dbroqua/keymap.c create mode 100644 keyboards/kc60/keymaps/dbroqua/readme.md diff --git a/keyboards/kc60/kc60.h b/keyboards/kc60/kc60.h index 34eab4b2a0..f11d3435c9 100644 --- a/keyboards/kc60/kc60.h +++ b/keyboards/kc60/kc60.h @@ -3,6 +3,8 @@ #include "quantum.h" +// K49 key is for the key at row 1 and column 15 when you split the backspace in 2 1U key. + // This a shortcut to help you visually see your layout. // The first section contains all of the arguements // The second converts the arguments into a multi-dimensional array @@ -11,13 +13,13 @@ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ - K40, K41, K42, K45, K4A, K4B, K4C, K4D \ + K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D \ ) { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, }, \ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \ - { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, KC_NO,K4A, K4B, K4C, K4D } \ + { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D } \ } #endif diff --git a/keyboards/kc60/keymaps/dbroqua/keymap.c b/keyboards/kc60/keymaps/dbroqua/keymap.c new file mode 100644 index 0000000000..e17827fad9 --- /dev/null +++ b/keyboards/kc60/keymaps/dbroqua/keymap.c @@ -0,0 +1,103 @@ +// This is the canonical layout file for the Quantum project. If you want to add another keyboard, +// this is the style you want to emulate. + +#include "kc60.h" + +#define _QWERTY 0 +#define _FNCAPS 1 +#define _FNRIGHTSHIFT 2 + +// Fillers to make layering more clear +#define ______ KC_TRNS +#define XXXXXXX KC_NO + +// Func macro definitions. +#define S_LED FUNC(0) +#define S_LEDI FUNC(1) +#define S_LEDD FUNC(2) + +// Enable these functions using FUNC(n) macro. +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_BACKLIGHT_TOGGLE(), + [1] = ACTION_BACKLIGHT_INCREASE(), + [2] = ACTION_BACKLIGHT_DECREASE() + }; + +/* + * | | | + * | | | + * | | | + * | | | + * | | + */ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Qwerty + * ,-----------------------------------------------------------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | ` | Bksp| + * |-----------------------------------------------------------------------------------------+ + * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | + * |-----------------------------------------------------------------------------------------+ + * | Caps/FN1| A | S | D | F | G | H | J | K | L | ; | ' | Enter | + * |-----------------------------------------------------------------------------------------+ + * | Shift | Z | X | C | V | B | N | M | , | . | / | Up | FN2 | + * |-----------------------------------------------------------------------------------------+ + * | Ctrl | Gui | Alt | Space | AltGr | Left | Down | Right | + * `-----------------------------------------------------------------------------------------' + */ + [0] = KEYMAP( /* Basic QWERTY */ + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, \ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \ + LT(_FNCAPS, KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, \ + KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(_FNRIGHTSHIFT), KC_UP, \ + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_BSPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT \ + ), + +/* Layer 1 + * ,-----------------------------------------------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del | + * |-----------------------------------------------------------------------------------------+ + * | | | | | | | | | | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | | | | | | | Psc | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | Led | Led-| Led+| | Mute| Vol+| Vol-| | | | Play | | + * |-----------------------------------------------------------------------------------------+ + * | | | | | | Prev | Stop | Next | + * `-----------------------------------------------------------------------------------------' + */ + [_FNCAPS] = KEYMAP( /* Layer 1 */ + ______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, \ + ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ + ______, ______, ______, ______, ______, ______, ______, KC_PSCR,______, ______, ______, ______, ______, ______, \ + ______, ______, S_LED, S_LEDI, S_LEDD,______,KC_MUTE,KC_VOLU,KC_VOLD,______, ______, ______, ______,KC_MPLY, \ + ______, ______, ______, ______, KC_DEL, ______, KC_MPRV, KC_MSTP, KC_MNXT \ + ), + +/* Layer 2 + * ,-----------------------------------------------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | | | | | | | | | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | | | | | | | | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | | | | | | | | | | | PgUp | | + * |-----------------------------------------------------------------------------------------+ + * | | | | | | Home | PgDown| End | + * `-----------------------------------------------------------------------------------------' + */ + [_FNRIGHTSHIFT] = KEYMAP( /* Layer 2 */ + ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ + ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ + ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ + ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_PGUP, \ + ______, ______, ______, ______, ______, ______, KC_HOME,KC_PGDN,KC_END \ + ), +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + return MACRO_NONE; +}; diff --git a/keyboards/kc60/keymaps/dbroqua/readme.md b/keyboards/kc60/keymaps/dbroqua/readme.md new file mode 100644 index 0000000000..b71d10ab04 --- /dev/null +++ b/keyboards/kc60/keymaps/dbroqua/readme.md @@ -0,0 +1,11 @@ +# Dbroqua Layout + +* Online keyboard layout editor: http://www.keyboard-layout-editor.com/#/gists/24fa7821d4955ec3c76037c8e159a199 +* Online keyboard layout editor (caps layer): http://www.keyboard-layout-editor.com/#/gists/4136d4d1555d6f0d9403c21aaf50fd37 +* Online keyboard layout editor (fn2 layer): http://www.keyboard-layout-editor.com/#/gists/cf4955f73f339020dbb41c15364e7e4f + +# Programming Instructions: +Enter into programming mode and run the following command. +``` +$ sudo KEYMAP=dbroqua make dfu +``` \ No newline at end of file From e6dcb8de8ce1a051b3c34c3e61fac4f2d6af8773 Mon Sep 17 00:00:00 2001 From: dbroqua Date: Wed, 24 Aug 2016 22:22:14 +0200 Subject: [PATCH 11/13] - Fixed layout for kc60 --- keyboards/kc60/keymaps/default/keymap.c | 2 +- keyboards/kc60/keymaps/sgoodwin/keymap.c | 6 +++--- keyboards/kc60/keymaps/stanleylai/keymap.c | 8 ++++---- keyboards/kc60/keymaps/wigguno/keymap.c | 4 ++-- keyboards/kc60/keymaps/workman-dead/keymap.c | 10 +++++----- keyboards/kc60/keymaps/ws2812/keymap.c | 6 +++--- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/keyboards/kc60/keymaps/default/keymap.c b/keyboards/kc60/keymaps/default/keymap.c index 6f8352c695..293ff3ab46 100644 --- a/keyboards/kc60/keymaps/default/keymap.c +++ b/keyboards/kc60/keymaps/default/keymap.c @@ -9,7 +9,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, \ KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSFT, \ - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, RESET \ + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_NO, KC_RGUI, KC_RALT, KC_RCTL, RESET \ ), }; diff --git a/keyboards/kc60/keymaps/sgoodwin/keymap.c b/keyboards/kc60/keymaps/sgoodwin/keymap.c index 99e95c2326..3192b25142 100644 --- a/keyboards/kc60/keymaps/sgoodwin/keymap.c +++ b/keyboards/kc60/keymaps/sgoodwin/keymap.c @@ -13,21 +13,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, \ MO(2), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_NO, KC_ENT, \ KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSFT, \ - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, DF(1) \ + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_NO, KC_RGUI, KC_RALT, KC_RCTL, DF(1) \ ), [1] = KEYMAP( /* Basic QWERTY */ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \ MO(2), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, \ KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSFT, \ - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, DF(0) \ + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_NO, KC_RGUI, KC_RALT, KC_RCTL, DF(0) \ ), [2] = KEYMAP( /* KBP v60-like arrows, media keys, etc */ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, BL_INC, BL_DEC, BL_STEP, \ KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_NO, KC_TRNS, \ KC_TRNS, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, DEBUG, RESET, KC_TRNS, KC_NO \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_NO, DEBUG, RESET, KC_TRNS, KC_NO \ ), }; diff --git a/keyboards/kc60/keymaps/stanleylai/keymap.c b/keyboards/kc60/keymaps/stanleylai/keymap.c index 057c73bf4d..212fa88bd0 100644 --- a/keyboards/kc60/keymaps/stanleylai/keymap.c +++ b/keyboards/kc60/keymaps/stanleylai/keymap.c @@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \ LT(_FL, KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_NO, KC_ENT, \ KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, MO(_FL), KC_UP, \ - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI,KC_LEFT, KC_DOWN, KC_RGHT), + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_NO, KC_RGUI,KC_LEFT, KC_DOWN, KC_RGHT), // Function layer [_FL] = KEYMAP( @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_MPRV,KC_UP, KC_MNXT,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PSCR,KC_SLCK, KC_PAUS, KC_INS, \ KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ KC_TRNS,KC_NO, KC_MUTE,KC_VOLD,KC_VOLU,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, LT(_RGBL, KC_PGUP),\ - KC_TRNS,KC_TRNS,KC_TRNS, KC_MPLY, KC_TRNS,KC_HOME, KC_PGDN, KC_END), + KC_TRNS,KC_TRNS,KC_TRNS, KC_MPLY, KC_NO, KC_TRNS,KC_HOME, KC_PGDN, KC_END), // RGB Layer [_RGBL] = KEYMAP( @@ -39,13 +39,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ KC_TRNS,KC_NO, RGB_TOG,RGB_MOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,BL_STEP,BL_TOGG, 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_NO, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS), #else RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ KC_TRNS,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, BL_STEP,BL_TOGG, 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_NO, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS), #endif }; diff --git a/keyboards/kc60/keymaps/wigguno/keymap.c b/keyboards/kc60/keymaps/wigguno/keymap.c index 50b1d0f981..dca2826eb1 100644 --- a/keyboards/kc60/keymaps/wigguno/keymap.c +++ b/keyboards/kc60/keymaps/wigguno/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, \ KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSFT, \ - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL \ + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_NO, KC_RALT, MO(1), KC_RGUI, KC_RCTL \ ), /* @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, \ KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, BL_DEC, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, \ - RESET, KC_TRNS, KC_TRNS, BL_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS \ + RESET, KC_TRNS, KC_TRNS, BL_TOGG, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS \ ), }; diff --git a/keyboards/kc60/keymaps/workman-dead/keymap.c b/keyboards/kc60/keymaps/workman-dead/keymap.c index 103adeef61..9786e37d8c 100644 --- a/keyboards/kc60/keymaps/workman-dead/keymap.c +++ b/keyboards/kc60/keymaps/workman-dead/keymap.c @@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TABM, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, \ KC_LCTL, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT, _______, KC_ENT, \ KC_LSFT, _______, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, DK_ACT, KC_DOT, KC_SLSH, _______, KC_RSFT, \ - KC_LCTL, KC_LALT, KC_LGUI, KC_SPFN, KC_RALT, KC_RGUI, KC_RCTL, KC_DFQW), + KC_LCTL, KC_LALT, KC_LGUI, KC_SPFN, KC_NO, KC_RALT, KC_RGUI, KC_RCTL, KC_DFQW), // QWERTY /* @@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TABM, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, _______, KC_ENT, \ KC_LSFT, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, DK_ACT, KC_DOT, KC_SLSH, _______, KC_RSFT, \ - KC_LCTL, KC_LALT, KC_LGUI, KC_SPFN, KC_RALT, KC_RGUI, KC_RCTL, KC_DOWN), + KC_LCTL, KC_LALT, KC_LGUI, KC_SPFN, KC_NO, KC_RALT, KC_RGUI, KC_RCTL, KC_DOWN), // dead key layer /* @@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { XXXXXXX, KC_PERC, KC_AMPR, KC_QUES, KC_PLUS, KC_AT, KC_DLR, KC_UNDS, KC_LBRC, KC_RBRC, KC_EXLM, KC_TILD, KC_CIRC, _______, \ _______, KC_HASH, KC_LPRN, KC_EQL, KC_0, KC_LCBR, KC_RCBR, KC_1, KC_ASTR, KC_RPRN, KC_MINS, KC_GRV, _______, KC_CENT, \ _______, _______, KC_6, KC_7, KC_8, KC_9, KC_PIPE, KC_BSLS, KC_2, DK_REL, KC_4, KC_5, _______, _______, \ - KC_LCTL, KC_LALT, KC_LGUI, KC_COMS, KC_RALT, KC_RGUI, KC_RCTL, _______), + KC_LCTL, KC_LALT, KC_LGUI, KC_COMS, KC_NO, KC_RALT, KC_RGUI, KC_RCTL, _______), // function layer /* @@ -119,7 +119,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_ESC, KC_CMDQ, KC_CMDD, KC_CSTB, KC_C_TB, _______, _______, KC_PGDN, KC_UP, KC_PGUP, _______, _______, _______, KC_INS, \ KC_LSFT, KC_CMDA, KC_CMDS, KC_C_LF, KC_C_RT, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_END, _______, KC_BSPC, \ KC_LSFT, _______, KC_CMDZ, KC_CMDX, _______, KC_CMDC, KC_CMDV, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, \ - KC_LCTL, KC_LALT, KC_LGUI, KC_TRNS, KC_RALT, KC_RGUI, KC_RCTL, RESET), + KC_LCTL, KC_LALT, KC_LGUI, KC_TRNS, KC_NO, KC_RALT, KC_RGUI, KC_RCTL, RESET), // mouse layer /* @@ -140,7 +140,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { XXXXXXX, KC_ACL2, KC_ACL1, KC_ACL0, _______, _______, _______, _______, KC_MS_U, _______, _______, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN2, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ - _______, _______, _______, KC_BTN1, _______, _______, _______, _______), + _______, _______, _______, KC_BTN1, _______, _______, _______, _______, _______), }; const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) diff --git a/keyboards/kc60/keymaps/ws2812/keymap.c b/keyboards/kc60/keymaps/ws2812/keymap.c index 1c0574df09..ae11ebf91c 100644 --- a/keyboards/kc60/keymaps/ws2812/keymap.c +++ b/keyboards/kc60/keymaps/ws2812/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_NO, KC_ENT, \ KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_NO, KC_RSFT, \ - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT,KC_RGUI, MO(_FL), KC_RCTL), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_NO, KC_RALT,KC_RGUI, MO(_FL), KC_RCTL), /* Keymap _FL: Function Layer * ,-----------------------------------------------------------. @@ -53,13 +53,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_INC, BL_TOGG, \ 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, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, RESET), #else KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_INC, BL_TOGG, \ 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, RESET), #endif }; From c34399c5924c321d037e154bb3d5781dcc5c433a Mon Sep 17 00:00:00 2001 From: dbroqua Date: Thu, 25 Aug 2016 08:29:30 +0200 Subject: [PATCH 12/13] - Updated kc60/readme - Added layout examples for kc60 --- keyboards/kc60/kc60.h | 69 ++++++++++++++++++++++++++++++++++++++++ keyboards/kc60/readme.md | 7 ++++ 2 files changed, 76 insertions(+) diff --git a/keyboards/kc60/kc60.h b/keyboards/kc60/kc60.h index f11d3435c9..c3a0165c09 100644 --- a/keyboards/kc60/kc60.h +++ b/keyboards/kc60/kc60.h @@ -8,6 +8,19 @@ // This a shortcut to help you visually see your layout. // The first section contains all of the arguements // The second converts the arguments into a multi-dimensional array +/* + * ,-----------------------------------------------------------------------------------------. + * | K00 | K01 | K02 | K03 | K04 | K05 | K06 | K07 | K08 | K09 | K0A | K0B | K0C | K0D | K49 | + * |-----------------------------------------------------------------------------------------+ + * | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19 | K1A | K1B | K1C | K1D | + * |-----------------------------------------------------------------------------------------+ + * | K20 | K21 | K22 | K23 | K24 | K25 | K26 | K17 | K28 | K29 | K2A | K2B | K2C | + * |-----------------------------------------------------------------------------------------+ + * | K30 | K32 | K33 | K34 | K35 | K36 | K37 | K38 | K39 | K3A | K3B | K3D | K3C | + * |-----------------------------------------------------------------------------------------+ + * | K40 | K41 | K42 | K45 | K4A | K4B | K4C | K4D | + * `-----------------------------------------------------------------------------------------' + */ #define KEYMAP( \ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ @@ -23,3 +36,59 @@ } #endif + +/* Default layout + * ,-----------------------------------------------------------------------------------------. + * | K00 | K01 | K02 | K03 | K04 | K05 | K06 | K07 | K08 | K09 | K0A | K0B | K0C | K0D | + * |-----------------------------------------------------------------------------------------+ + * | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19 | K1A | K1B | K1C | K1D | + * |-----------------------------------------------------------------------------------------+ + * | K20 | K21 | K22 | K23 | K24 | K25 | K26 | K17 | K28 | K29 | K2A | K2B | K2C | + * |-----------------------------------------------------------------------------------------+ + * | K30 | K32 | K33 | K34 | K35 | K36 | K37 | K38 | K39 | K3A | K3B | K3C | + * |-----------------------------------------------------------------------------------------+ + * | K40 | K41 | K42 | K45 | K4A | K4B | K4C | K4D | + * `-----------------------------------------------------------------------------------------' + */ + +/* Mini Lshift + * ,-----------------------------------------------------------------------------------------. + * | K00 | K01 | K02 | K03 | K04 | K05 | K06 | K07 | K08 | K09 | K0A | K0B | K0C | K0D | + * |-----------------------------------------------------------------------------------------+ + * | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19 | K1A | K1B | K1C | K1D | + * |-----------------------------------------------------------------------------------------+ + * | K20 | K21 | K22 | K23 | K24 | K25 | K26 | K17 | K28 | K29 | K2A | K2B | K2C | + * |-----------------------------------------------------------------------------------------+ + * | K30 |K31| K32 | K33 | K34 | K35 | K36 | K37 | K38 | K39 | K3A | K3B | K3C | + * |-----------------------------------------------------------------------------------------+ + * | K40 | K41 | K42 | K45 | K4A | K4B | K4C | K4D | + * `-----------------------------------------------------------------------------------------' + */ + +/* Mini Rshift + * ,-----------------------------------------------------------------------------------------. + * | K00 | K01 | K02 | K03 | K04 | K05 | K06 | K07 | K08 | K09 | K0A | K0B | K0C | K0D | + * |-----------------------------------------------------------------------------------------+ + * | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19 | K1A | K1B | K1C | K1D | + * |-----------------------------------------------------------------------------------------+ + * | K20 | K21 | K22 | K23 | K24 | K25 | K26 | K17 | K28 | K29 | K2A | K2B | K2C | + * |-----------------------------------------------------------------------------------------+ + * | K30 | K32 | K33 | K34 | K35 | K36 | K37 | K38 | K39 | K3A | K3B | K3C | K3D | + * |-----------------------------------------------------------------------------------------+ + * | K40 | K41 | K42 | K45 | K4A | K4B | K4C | K4D | + * `-----------------------------------------------------------------------------------------' + */ + +/* Mini Enter + * ,-----------------------------------------------------------------------------------------. + * | K00 | K01 | K02 | K03 | K04 | K05 | K06 | K07 | K08 | K09 | K0A | K0B | K0C | K0D | + * |-----------------------------------------------------------------------------------------+ + * | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19 | K1A | K1B | K1C | K1D | + * |-----------------------------------------------------------------------------------------+ + * | K20 | K21 | K22 | K23 | K24 | K25 | K26 | K17 | K28 | K29 | K2A | K2B | K2C | K2D | + * |-----------------------------------------------------------------------------------------+ + * | K30 | K32 | K33 | K34 | K35 | K36 | K37 | K38 | K39 | K3A | K3B | K3C | + * |-----------------------------------------------------------------------------------------+ + * | K40 | K41 | K42 | K45 | K4A | K4B | K4C | K4D | + * `-----------------------------------------------------------------------------------------' + */ \ No newline at end of file diff --git a/keyboards/kc60/readme.md b/keyboards/kc60/readme.md index acc0df68dc..b29c6be302 100644 --- a/keyboards/kc60/readme.md +++ b/keyboards/kc60/readme.md @@ -25,3 +25,10 @@ Keymaps follow the format **__\.c__** and are stored in the `keymaps` fol ![Image of KC60 with RGB Underglow](keymaps/ws2812/ws2812_example.jpg) Build with WS2812 Support by running `make KEYMAP=ws2812`. + +## Warning +For those who want to use 2x1U instead of classic backspace you need to use K0D and K49 like this: +* K0D represents the key at the right of =. +* K49 represents the last key of the row (is wired at the right of the space key on the PCB) + +In kc60.h I've put several definitions' examples of possible layouts proposed by online editor (http://123.57.250.164:9128/). \ No newline at end of file From 8d0aed39d11efaf51a0831e78b5641b4b5686197 Mon Sep 17 00:00:00 2001 From: dbroqua Date: Thu, 25 Aug 2016 20:39:55 +0200 Subject: [PATCH 13/13] - Added capslock led for KC60 keyboard (based on gitbug.com/jpec/kc60 works) --- keyboards/kc60/Makefile | 3 ++- keyboards/kc60/led.c | 31 +++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 keyboards/kc60/led.c diff --git a/keyboards/kc60/Makefile b/keyboards/kc60/Makefile index b00a488b91..0d17d32dac 100644 --- a/keyboards/kc60/Makefile +++ b/keyboards/kc60/Makefile @@ -1,4 +1,5 @@ - +# project specific files +SRC = led.c # MCU name #MCU = at90usb1287 diff --git a/keyboards/kc60/led.c b/keyboards/kc60/led.c new file mode 100644 index 0000000000..50659d7247 --- /dev/null +++ b/keyboards/kc60/led.c @@ -0,0 +1,31 @@ +/* +Copyright 2012 Jun Wako +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include +#include "stdint.h" +#include "led.h" + + +void led_set(uint8_t usb_led) +{ + if (usb_led & (1<