diff options
Diffstat (limited to 'keyboard/ergodox_ez/keymaps')
15 files changed, 3154 insertions, 36 deletions
diff --git a/keyboard/ergodox_ez/keymaps/default_osx/keymap.c b/keyboard/ergodox_ez/keymaps/default_osx/keymap.c index 81b49ceff9..c57ffbb889 100644 --- a/keyboard/ergodox_ez/keymaps/default_osx/keymap.c +++ b/keyboard/ergodox_ez/keymaps/default_osx/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = KEYMAP( // layer 0 : default // left hand KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, - KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(1), + KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, @@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_SPC,KC_BSPC,KC_END, // right hand KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - TG(1), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),KC_LGUI, MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1, @@ -117,7 +117,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `--------------------' `--------------------' */ // MEDIA AND MOUSE -KEYMAP( +[MDIA] = KEYMAP( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, diff --git a/keyboard/ergodox_ez/keymaps/osx_de_experimental/keymap.c b/keyboard/ergodox_ez/keymaps/osx_de_experimental/keymap.c index b3ed55f217..19e539006a 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de_experimental/keymap.c +++ b/keyboard/ergodox_ez/keymaps/osx_de_experimental/keymap.c @@ -15,6 +15,15 @@ #include "keymap_extras/keymap_spanish.h" #include "keymap_extras/keymap_bepo.h" + +/** +* This layout was generated using the ErgodoxLayoutGenerator (ELG). You can download it from https://github.com/sboesebeck/ErgodoxLayoutGenerator/releases +* documentation about it can be found here https://boesebeck.name/2016/04/16/ergodoxlayoutgenerator-documentation/ +* Thanks to the team of Erez Zukerman for building the great Ergodox-EZ! +* +* use at own risk! +**/ + #define BASE 0 #define SYMB 1 #define MDIA 2 @@ -23,24 +32,73 @@ #define EGOS 5 #define SMLY_TOG_QUOT 0 + #define M_TOGGLE_5 1 + #define TGH_NUM 2 + #define M_DE_OSX_PLUS_CTRLALT 3 + #define SM_KISS 4 + #define SM_FROWN 5 + #define SM_CRY 6 + #define SM_SMILE 7 + #define SM_SMIRK 8 + #define M_LGUI_SHFT 9 + #define SM_HEART 10 + #define TOG_HLD_MDIA 11 + #define SM_LAUGH 12 + #define SM_SAD 13 + #define M_DE_OSX_CIRC_CTRLCMD 14 + #define M_MEH_SH_ACUT 15 + //Layout keymap.c generated with ErgodoxLayoutGenerator V1.0BETA1 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/** +* Layer: BASE +* /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/ /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/ +* | ESC | 1 | 2 | 3 | 4 | 5 | Hold or toggle | | Hold or toggle | 6 | 7 | 8 | 9 | 0 | ß | +* | | | | | | | Layer NUMB | | Layer MDIA | | | | | | | +* /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/ /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/ +* | TAB | Q | W | E | R | T | Cmd | | Cmd | Z | U | I | O | P | Ü | +* | | | | | | | | | | | | | | | | +* /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/\-------------------\ \-------------------\/-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/ +* | Alt | A | S | D | F | G | | H | J | K | L | Ö | Ä | +* | | | | | | | | | | | | | ALT | +* /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/ /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/ +* | Shift | Y | X | C | V | B | Alt | | Alt | N | M | , | . | - | Shift | +* | | Ctrl | | | | | | | | | | | | Ctrl | | +* \-------------------\\-------------------\\-------------------\\-------------------\\-------------------\\-------------------\\-------------------\ \-------------------\\-------------------\\-------------------\\-------------------\\-------------------\\-------------------\\-------------------\ +* +* +* /-------------------//-------------------//-------------------//-------------------//-------------------/ /-------------------//-------------------//-------------------//-------------------//-------------------/ +* | < | LongPress / Type | LongPress / Type | Shift+Ctrl | Type | | # | ACUT | CMD+Shift | ALT+Shift | + | +* | SYMB | DE_OSX_CIRC_CTRLCMD| DE_OSX_PLUS_CTRAlt | | Toggle SMLY | | Meh | Hyper | | | SYMB | +* \-------------------\\-------------------\\-------------------\\-------------------\/-------------------//-------------------/ /-------------------//-------------------/ \-------------------\\-------------------\\-------------------\\-------------------\\-------------------\ +* | HOME | END | | LEFT | RIGHT | +* | | | | | | +* \-------------------\/-------------------/ /-------------------/\-------------------\ +* | PGUP | | UP | +* | | | | +* /-------------------//-------------------//-------------------/ /-------------------//-------------------//-------------------/ +* | BSPC | DEL | PGDN | | DOWN | ENT | SPC | +* | | | | | | | | +* \-------------------\\-------------------\\-------------------\ \-------------------\\-------------------\\-------------------\ +* +* +**/ [BASE]=KEYMAP( //left half KC_ESC, DE_OSX_1, DE_OSX_2, DE_OSX_3, DE_OSX_4, DE_OSX_5, M(TGH_NUM), @@ -60,6 +118,39 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LEFT, KC_RIGHT, KC_UP, KC_DOWN, KC_ENT, KC_SPC), +/** +* Layer: SYMB +* /-----------//-----------//-----------//-----------//-----------//-----------//-----------/ /-----------//-----------//-----------//-----------//-----------//-----------//-----------/ +* | APPLICATION| F1 | F2 | F3 | F4 | F5 | F5 | | F6 | F6 | F7 | F8 | F9 | F10 | F11 | +* | | | | | | | | | | | | | | | | +* /-----------//-----------//-----------//-----------//-----------//-----------//-----------/ /-----------//-----------//-----------//-----------//-----------//-----------//-----------/ +* | | < | > | ! | ? | | | | | \ | [ | ] | < | > | ! | +* | | | | | | | | | | | | | | | | +* /-----------//-----------//-----------//-----------//-----------//-----------/\-----------\ \-----------\/-----------//-----------//-----------//-----------//-----------//-----------/ +* | | # | $ | \ | / | . | | / | ( | ) | { | } | # | +* | | | | | | | | | | | | | | +* /-----------//-----------//-----------//-----------//-----------//-----------//-----------/ /-----------//-----------//-----------//-----------//-----------//-----------//-----------/ +* | | | < | % | | | ~ | | | | | | ~ | | | | | +* | | | | | | | | | | | | | | | | +* \-----------\\-----------\\-----------\\-----------\\-----------\\-----------\\-----------\ \-----------\\-----------\\-----------\\-----------\\-----------\\-----------\\-----------\ +* +* +* /-----------//-----------//-----------//-----------//-----------/ /-----------//-----------//-----------//-----------//-----------/ +* | | | | | | | ' | DQOT | | Toggle 5 | | +* | | | | | | | | | | | | +* \-----------\\-----------\\-----------\\-----------\/-----------//-----------/ /-----------//-----------/ \-----------\\-----------\\-----------\\-----------\\-----------\ +* | | | | F13 | F12 | +* | | | | | | +* \-----------\/-----------/ /-----------/\-----------\ +* | | | F14 | +* | | | | +* /-----------//-----------//-----------/ /-----------//-----------//-----------/ +* | | DEL | | | F15 | | | +* | | | | | | | | +* \-----------\\-----------\\-----------\ \-----------\\-----------\\-----------\ +* +* +**/ [SYMB]=KEYMAP( //left half KC_APPLICATION, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F5, @@ -79,6 +170,39 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F13, KC_F12, KC_F14, KC_F15, KC_TRNS, KC_TRNS), +/** +* Layer: MDIA +* /-----//-----//-----//-----//-----//-----//-----/ /-----//-----//-----//-----//-----//-----//-----/ +* | | | | | | | | | | | | | | | | +* | | | | | | | | | | | | | | | | +* /-----//-----//-----//-----//-----//-----//-----/ /-----//-----//-----//-----//-----//-----//-----/ +* | | | BTN1 | U | BTN2 | U | | | | | | | | | | +* | | | | | | | | | | | | | | | | +* /-----//-----//-----//-----//-----//-----/\-----\ \-----\/-----//-----//-----//-----//-----//-----/ +* | | | L | D | R | D | | | | | | | | +* | | | | | | | | | | | | | | +* /-----//-----//-----//-----//-----//-----//-----/ /-----//-----//-----//-----//-----//-----//-----/ +* | | | L | D | R | BTN3 | | | | | | | | UP | | +* | | | | | | | | | | | | | | | | +* \-----\\-----\\-----\\-----\\-----\\-----\\-----\ \-----\\-----\\-----\\-----\\-----\\-----\\-----\ +* +* +* /-----//-----//-----//-----//-----/ /-----//-----//-----//-----//-----/ +* | | | | | | | | | LEFT | DOWN | RIGHT| +* | | | | | | | | | | | | +* \-----\\-----\\-----\\-----\/-----//-----/ /-----//-----/ \-----\\-----\\-----\\-----\\-----\ +* | | | | MPRV | MNXT | +* | | | | | | +* \-----\/-----/ /-----/\-----\ +* | | | VOLU | +* | | | | +* /-----//-----//-----/ /-----//-----//-----/ +* | | | | | VOLD | MUTE | MPLY | +* | | | | | | | | +* \-----\\-----\\-----\ \-----\\-----\\-----\ +* +* +**/ [MDIA]=KEYMAP( //left half KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -90,14 +214,47 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, //right half - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_VOLD, KC_TRNS, KC_MPRV, KC_MNXT, KC_UP, KC_TRNS, - KC_MUTE, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_WBAK), + 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_UP, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, + KC_MPRV, KC_MNXT, + KC_VOLU, + KC_VOLD, KC_MUTE, KC_MPLY), +/** +* Layer: SMLY +* /--------//--------//--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------//--------//--------/ +* | | | | | | | | | Typing | Typing | Typing | | | | | +* | | | | | | | | | SM_SMILE| SM_SMIRK| SM_LAUGH| | | | | +* /--------//--------//--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------//--------//--------/ +* | | | | | | | | | | Typing | Typing | Typing | | | | +* | | | | | | | | | | SM_FROWN| SM_SAD | SM_CRY | | | | +* /--------//--------//--------//--------//--------//--------/\--------\ \--------\/--------//--------//--------//--------//--------//--------/ +* | | | | | | | | Typing | Typing | | | | | +* | | | | | | | | SM_HEART| SM_KISS | | | | | +* /--------//--------//--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------//--------//--------/ +* | | | | | | | | | | | | | | | | +* | | | | | | | | | | | | | | | | +* \--------\\--------\\--------\\--------\\--------\\--------\\--------\ \--------\\--------\\--------\\--------\\--------\\--------\\--------\ +* +* +* /--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------/ +* | | | | | | | | | | | | +* | | | | | | | | | | | | +* \--------\\--------\\--------\\--------\/--------//--------/ /--------//--------/ \--------\\--------\\--------\\--------\\--------\ +* | | | | | | +* | | | | | | +* \--------\/--------/ /--------/\--------\ +* | | | | +* | | | | +* /--------//--------//--------/ /--------//--------//--------/ +* | | | | | | | | +* | | | | | | | | +* \--------\\--------\\--------\ \--------\\--------\\--------\ +* +* +**/ [SMLY]=KEYMAP( //left half KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -117,6 +274,39 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +/** +* Layer: NUMB +* /----//----//----//----//----//----//----/ /----//----//----//----//----//----//----/ +* | | | | | | | | | | F6 | F7 | F8 | F9 | F10 | F11 | +* | | | | | | | | | | | | | | | | +* /----//----//----//----//----//----//----/ /----//----//----//----//----//----//----/ +* | | | | UP | | | | | | / | 7 | 8 | 9 | * | F12 | +* | | | | | | | | | | | | | | | | +* /----//----//----//----//----//----/\----\ \----\/----//----//----//----//----//----/ +* | | | LEFT| DOWN| RGHT| | | / | 4 | 5 | 6 | + | - | +* | | | | | | | | | | | | | | +* /----//----//----//----//----//----//----/ /----//----//----//----//----//----//----/ +* | | | | | | | | | | % | 1 | 2 | 3 | | | +* | | | | | | | | | | | | | | | | +* \----\\----\\----\\----\\----\\----\\----\ \----\\----\\----\\----\\----\\----\\----\ +* +* +* /----//----//----//----//----/ /----//----//----//----//----/ +* | | | | | | | 0 | . | , | = | | +* | | | | | | | | | | | | +* \----\\----\\----\\----\/----//----/ /----//----/ \----\\----\\----\\----\\----\ +* | | | | | | +* | | | | | | +* \----\/----/ /----/\----\ +* | | | | +* | | | | +* /----//----//----/ /----//----//----/ +* | | | | | | | | +* | | | | | | | | +* \----\\----\\----\ \----\\----\\----\ +* +* +**/ [NUMB]=KEYMAP( //left half KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -136,6 +326,39 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +/** +* Layer: EGOS +* /--------//--------//--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------//--------//--------/ +* | | | | | | | | | | | | | | | | +* | | | | | | | | | | | | | | | | +* /--------//--------//--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------//--------//--------/ +* | | | | | | | | | | | | | | | | +* | | | | | | | | | | | | | | | | +* /--------//--------//--------//--------//--------//--------/\--------\ \--------\/--------//--------//--------//--------//--------//--------/ +* | Shift | | | | | | | | | | | | | +* | | | | | | | | | | | | | | +* /--------//--------//--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------//--------//--------/ +* | | | | | | | | | | | | | | | | +* | | | | | | | | | | | | | | | | +* \--------\\--------\\--------\\--------\\--------\\--------\\--------\ \--------\\--------\\--------\\--------\\--------\\--------\\--------\ +* +* +* /--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------/ +* | Ctrl | | | | | | | | | Toggle 5| | +* | | | | | | | | | | | | +* \--------\\--------\\--------\\--------\/--------//--------/ /--------//--------/ \--------\\--------\\--------\\--------\\--------\ +* | F1 | F2 | | | | +* | | | | | | +* \--------\/--------/ /--------/\--------\ +* | F3 | | | +* | | | | +* /--------//--------//--------/ /--------//--------//--------/ +* | SPC | Ctrl | F4 | | | | | +* | | | | | | | | +* \--------\\--------\\--------\ \--------\\--------\\--------\ +* +* +**/ [EGOS]=KEYMAP( //left half KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -259,7 +482,7 @@ case M_LGUI_SHFT: if (record->event.pressed){ return MACRO(DOWN(KC_LGUI),DOWN(KC_LSFT),END); }else{ - return MACRO(UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),U(LGUI),U(LSFT),END); + return MACRO(UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),U(LGUI),U(LSFT),END); } break; diff --git a/keyboard/ergodox_ez/keymaps/osx_de_experimental/osx_de_experimental.hex b/keyboard/ergodox_ez/keymaps/osx_de_experimental/osx_de_experimental.hex new file mode 100644 index 0000000000..3c7ab58597 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/osx_de_experimental/osx_de_experimental.hex @@ -0,0 +1,1247 @@ +:100000000C9430040C9474040C9474040C947404D4 +:100010000C9474040C9474040C9474040C94740480 +:100020000C9474040C9474040C94680F0C943A109F +:100030000C9474040C9474040C9474040C94740460 +:100040000C9474040C9404250C9474040C9474049F +:100050000C9474040C94931E0C9474040C94740407 +:100060000C9474040C9474040C9474040C94740430 +:100070000C9474040C9474040C9474040C94740420 +:100080000C9474040C9474040C9474040C94740410 +:100090000C9474040C9474040C9474040C94740400 +:1000A0000C9474040C9474040C9474048404BE04BE +:1000B000D004F2040A05100516051C0522052805C2 +:1000C0002D0533055D05620567057E05A710C9107E +:1000D000B711C910B7110E113111B711861199114D +:1000E00085148514C214C214051543155C175C17DA +:1000F0005C155C175D165D1630175C175C174717AB +:1001000002E002E2012E022E02E10002E002E10220 +:10011000E20001E001E101E20002E002E301640229 +:10012000640002E002E30001E001E30001E10137C5 +:10013000023702E10138023801E10125022502E11E +:100140000001E10137023702E10138023801E10123 +:1001500007020702E10001350235012002200002FA +:10016000E302E102E302E102E302E102E302E1026F +:10017000E302E102E302E102E302E102E302E1025F +:10018000E302E102E302E102E302E102E302E1024F +:10019000E302E102E302E102E302E102E302E1023F +:1001A000E302E102E302E102E302E102E302E1022F +:1001B000E302E102E302E102E302E102E302E1021F +:1001C000E302E102E302E102E302E102E302E1020F +:1001D000E302E102E302E102E302E102E302E102FF +:1001E000E302E102E302E102E302E102E302E102EF +:1001F000E302E102E302E10001E301E10001E101C8 +:1002000036023602E10138023801E10126022602F7 +:10021000E10001E10137023702E10138023801E172 +:100220000126022602E10001E10136023602E10167 +:1002300038023801E10125022502E10001E1013720 +:10024000023702E10138023801E20125022502E20B +:100250000001E10137023702E10138023801E10112 +:1002600030023002E10002E002E20130023000021E +:10027000E002E20001E001E20001E10131023102AD +:10028000E10029002B00E200E100358100001E00A2 +:10029000140004001D710E304E001F001A001600DD +:1002A0001B0003304C002000080007000600E0029D +:1002B0002A00210015000900190000304B0022001F +:1002C00017000A00050000004A000230E3000000A9 +:1002D000E20000004D000B30E7000000E6000000E7 +:1002E000500023001C000B00110000004F002400F0 +:1002F00018000D0010003177520025000C000E0090 +:1003000036002E7F2C00260012000F003700E10877 +:1003100028002700130033003871E10451002D003C +:100320002F003474E50030810000650001000100F9 +:100330000100010000003A00350031000100010019 +:1003400001003B0035022102350001004C003C0059 +:100350001E0224062202010001003D002D0224029B +:100360002404010001003E000100370011040000D8 +:1003700001003E00010000000100000001003F00FC +:10038000010000000100000068003F002406240274 +:10039000240400004500400022042502110431021B +:1003A000690041002304260201001F0201004200EF +:1003B0003500250401000100010043003502260438 +:1003C000010001306A0044001E02310001000100FA +:1003D0000000010001000100010001000000010017 +:1003E000010001000100010001000100F400F20021 +:1003F000FB00010001000100F000F100FA00010023 +:1004000001000100F500F300FC0001000100010003 +:10041000F900FA00F60000000100010001000000F0 +:1004200001000000010001000100000001000000C7 +:10043000AC0001000100010001000000AB00010060 +:100440000100010001000100A900010001000100FC +:1004500001000100AE000100010001000100500098 +:10046000A80001000100010052005100AA00010093 +:100470000100010001004F00000001000100010027 +:100480000100010000000100010001000100010065 +:100490000100010001000100010001000100010054 +:1004A0000100010001000100010001000100010044 +:1004B0000100010001000100010001000100000035 +:1004C00001000100010000000100000001000730F0 +:1004D00001000000010000000100083005300A3072 +:1004E0000100000001000C300D300430010001005B +:1004F00001000100063001000100010001000100BF +:1005000001000100010001000100010001000100E3 +:1005100001000100010001000100010001000100D3 +:1005200000000100010001000100010000000100C5 +:100530000100010001000100010001000100500064 +:100540000100010001000100520051000100010002 +:100550000100010001004F00010001000100010045 +:100560000100010001000000010001000100000085 +:100570000100000001000100010000000100000076 +:1005800001003F002402240222020000010040007A +:10059000240021001E002700010041002500220048 +:1005A0001F00370001004200260023002000360013 +:1005B0000100430030023000010027020100440026 +:1005C0004500380001000100000001000100E100C9 +:1005D0000100E00000000100010001000100010035 +:1005E0003D0001000100010001000100E0000100E8 +:1005F00001000100010001002C00010001000100C8 +:10060000010001003C0001000100010001000000A8 +:100610003A00010001000000010000003B00010061 +:1006200001000000010000000100010001000100C4 +:1006300001000000010001000100010001000100B3 +:1006400001000100010001000100010001000100A2 +:100650000100010001000100010001000100010092 +:100660000100013001000100010001000100010052 +:10067000000016034500720067006F0044006F0021 +:100680007800200045005A00000016034500720063 +:1006900067006F0044006F007800200045005A009A +:1006A00000000403090409026D00040100A0FA0916 +:1006B0000400000103010100092111010001223F92 +:1006C000000705810308000A090401000103010273 +:1006D00000092111010001224D00070582030800D5 +:1006E0000A090402000103000000092111010001B0 +:1006F0002236000705830308000A090403000103EA +:1007000000000009211101000122390007058403BE +:100710001000011201100100000008EDFE07130196 +:10072000000102000105010906A101050719E029E0 +:10073000E7150025019508750181020508190129B1 +:10074000059505750191029501750391010507193C +:1007500000297715002501957875018102C00501F2 +:100760000980A101850216010026B7001A01002A9E +:10077000B700751095018100C0050C0901A1018524 +:1007800003160100269C021A01002A9C027510958E +:10079000018100C005010902A1010901A1000509AB +:1007A000190129051500250195057501810295019D +:1007B000750381010501093009311581257F9502F5 +:1007C0007508810609381581257F95017508810610 +:1007D000050C0A38021581257F950175088106C030 +:1007E000C005010906A101050719E029E715002543 +:1007F00001950875018102950175088101050819A7 +:100800000129059505750191029501750391010571 +:1008100007190029FF150025FF950675088100C0FE +:100820000000000000000000000000010204060AB1 +:100830000F17202C3A4A5D71879DB3C7DAE9F5FCA2 +:10084000FFFCF5E9DAC7B39D87715D4A3A2C2017A2 +:100850000F0A060402010000000000000000000072 +:1008600011241FBECFEFDAE0DEBFCDBF04B603FE1A +:1008700024C08091F0019091F101A091F201B0911A +:10088000F3018730904BA740B04BB9F41092F001C0 +:100890001092F1011092F2011092F30114BE84B78C +:1008A000877F84BF88E10FB6F89480936000109230 +:1008B00060000FBEE0E0FFE3099511E0A0E0B1E0C9 +:1008C000E6E9FDE402C005900D92A433B107D9F723 +:1008D00011E0A4E3B1E001C01D92A03FB107E1F730 +:1008E0000E94AC0C0C94C9260C940000462F50E0DA +:1008F0004031510508F01FC1DC01FA01EA5AFF4FEF +:1009000012968C910C9479268823A9F00E945D1E82 +:1009100090933501809334018091B3019091B4019B +:10092000A091B501B091B60128E08227887099277F +:10093000AA27BB27AEC08091B3019091B401A091CA +:10094000B501B091B60128E0822788709927AA27BF +:10095000BB278093B3019093B401A093B501B093EA +:10096000B60180913401909135010E94691E87394A +:1009700091050CF0E0C089E792E00895882309F41E +:10098000DAC08091B3019091B401A091B501B0910A +:10099000B60120E2822780729927AA27BB2779C057 +:1009A000882339F00E945D1E9093350180933401B5 +:1009B0000AC080913401909135010E94691E8739E7 +:1009C00091050CF4B8C08091B3019091B401A0914D +:1009D000B501B091B60120E1822780719927AA273D +:1009E000BB2757C0882349F00E945D1E90933501B4 +:1009F0008093340184E792E00895809134019091CE +:100A000035010E94691E873991050CF08EC086E67B +:100A100092E00895882309F48EC081E592E008955C +:100A2000882309F488C08CE392E00895882309F4B0 +:100A300082C087E292E00895882309F47CC082E1B5 +:100A400092E00895882309F476C08DEF91E008952F +:100A500081116EC08FE591E00895882309F46BC081 +:100A600086E591E008958823E9F00E945D1E909349 +:100A70003501809334018091B3019091B401A0912C +:100A8000B501B091B60124E0822784709927AA2786 +:100A9000BB278093B3019093B401A093B501B093A9 +:100AA000B60149C080913401909135010E94691EC0 +:100AB000873991050CF43FC0DECF8823E1F181E452 +:100AC00091E008958823B9F18CE291E0089588239C +:100AD00049F00E945D1E909335018093340187E2B6 +:100AE00091E0089580913401909135010E94691E32 +:100AF000873991051CF589E191E00895882349F033 +:100B00000E945D1E909335018093340182E191E053 +:100B1000089580913401909135010E94691E8739B2 +:100B200091057CF480E091E008958FE692E00895CD +:100B300088EF91E0089580E090E0089582E291E0EE +:100B400008958BE091E0089508956091B30170914C +:100B5000B4018091B5019091B6010E94BF1D5698D5 +:100B60005E9825982D9826982E9827982F98823051 +:100B700061F018F4813031F00895843069F08530E7 +:100B800039F00895259A2D9A0895269A2E9A089557 +:100B9000259A2D9A269A2E9A279A2F9A08950C9480 +:100BA000A50556985E9825982D9826982E982798F2 +:100BB0002F988FEF90E09093890080938800909316 +:100BC0008B0080938A0090938D0080938C00259AEF +:100BD0002D9A2FEF80E792E0215080409040E1F77E +:100BE00000C00000269A2E9A2FEF80E792E0215055 +:100BF00080409040E1F700C00000279A2F9A2FEF25 +:100C000080E792E0215080409040E1F700C0000072 +:100C100025982D982FEF80E792E02150804090405A +:100C2000E1F700C0000026982E982FEF80E792E0B1 +:100C3000215080409040E1F700C0000027982F9895 +:100C400056985E9825982D9826982E9827982F9834 +:100C5000089589EA8093800089E080938100249838 +:100C60002C983F988AB18F748AB96E98479A8BB145 +:100C7000806B8BB9769A0E94D1050C94A40580E212 +:100C8000809300018091360181110EC00E948E0672 +:100C900081E0809336012FEF83ED90E32150804077 +:100CA0009040E1F700C0000080E40E949406809329 +:100CB000000181112EC00E94BE06809300018111A7 +:100CC00028C00E94BE0680930001811122C08FE3DC +:100CD0000E94BE068093000181111BC00E94B606CF +:100CE00080E40E94940680930001811112C08CE080 +:100CF0000E94BE068093000181110BC00E94BE06B7 +:100D000080930001811105C08FE30E94BE0680938D +:100D100000010E94B6068091000108951092B9006A +:100D20008AE08093B800089594EA9093BC00909173 +:100D3000BC0097FFFCCF9091B900987F983021F0CC +:100D4000903111F081E008958093BB0084E8809396 +:100D5000BC008091BC0087FFFCCF8091B900887FE8 +:100D6000883111F0803471F780E0089584E9809330 +:100D7000BC008091BC0084FDFCCF08958093BB0033 +:100D800084E88093BC008091BC0087FFFCCF9091E9 +:100D9000B900987F81E0983209F480E0089584E8F2 +:100DA0008093BC008091BC0087FFFCCF8091BB008A +:100DB000089580910001811115C080E40E9494067D +:100DC0008093000181110CC082E10E94BE068093D5 +:100DD0000001811105C08FEF0E94BE0680930001C3 +:100DE0000E94B60684B1807F84B985B1807F85B9C1 +:100DF0008AB1837F8AB98BB1837F8BB93E9846983D +:100E000008950E943F06809300010E94D90680B396 +:100E10008C7080BB81B3836F81BBA8E3B1E0E6E453 +:100E2000F1E08EE08E0F11921D928E13FCCF0C9488 +:100E30002906BF92CF92DF92EF92FF920F931F93FA +:100E4000CF93DF9380910001882379F0809137015F +:100E50008F5F80933701811108C00E943F06809305 +:100E60000001811102C00E94D10508E311E0C0E039 +:100E7000D0E0DD24D39482E0C82EEE24E394F12C5C +:100E8000C730D10500F580910001811164C080E474 +:100E90000E94940680930001811112C082E10E9499 +:100EA000BE068093000181110BC0C7010C2E01C04A +:100EB000880F0A94EAF780950E94BE06809300018D +:100EC0000E94B60648C0CA30A1F028F4C83059F0D4 +:100ED000C93061F005C0CC3089F070F0CD3089F0B8 +:100EE000209A289810C0219A29980DC0229A2A98F1 +:100EF0000AC0239A2B9807C0529A01C0539A5B9854 +:100F000002C03E9A469890EA9A95F1F79FB1799976 +:100F100002C082E001C080E091709D25982B7C99F1 +:100F200002C084E001C080E0892B7D9902C038E0D6 +:100F300001C030E0832B7E9902C020E101C020E097 +:100F4000822B9FB19095991F9927991F9295990F80 +:100F5000907E892B0FC080910001811149C080E4EF +:100F60000E94940680930001882379F1B12C0E949D +:100F7000B6068B2DF8019081981719F08083C092E6 +:100F800001010E94D90621960F5F1F4FCE30D10577 +:100F900009F076CF80910101882361F1815080931F +:100FA0000101882339F08FE99FE00197F1F700C034 +:100FB000000020C0A6E4B1E0E8E3F1E0CF01825FE9 +:100FC00091919D938E13FCCF15C083E10E94BE06C4 +:100FD000809300018111CACF81E40E94940680931E +:100FE00000018111C3CF0E94CF06B82EB094BFCFAD +:100FF00080E0C0CF0E94CF0581E0DF91CF911F91AB +:101000000F91FF90EF90DF90CF90BF900895E82F61 +:10101000F0E0EA5BFE4F808108950895089596E020 +:10102000799FF001112494E5899FE00DF11D1124B1 +:10103000E60FF11DEE0FFF1FEE57FD4F85919491C6 +:101040000895880F991FFC01EE5FFE4F85919491E2 +:101050000895880F991FFC01EE57FD4F85919491DB +:1010600008950F931F93CF93DF93EC018115904365 +:1010700050F5C11580E2D80708F0B3C0CB3BD105CD +:1010800090F4C83AD10508F05AC0C53AD10508F025 +:101090004BC0C430D10508F0BBC1219709F0B5C1E0 +:1010A00001E010E0F5C1CF3FD10511F008F0B0C16B +:1010B000C03FD10508F092C0CE01805E910908972B +:1010C00008F4A6C1A2C1C11591E5D907A8F4C230A0 +:1010D00020E5D20708F09EC0C11580E5D80709F4C5 +:1010E00085C008F091C0C11520E4D20708F08DC179 +:1010F000DD278E01106CCCC1C11580E8D80758F4EB +:10110000C11590E7D90708F07CC1C11520E6D207C8 +:1011100008F422C17AC1C11580E9D80708F075C169 +:10112000DF708E01106AB4C1C53AD10509F472C1ED +:10113000C63AD10509F071C102E810E4A9C1C83A64 +:10114000D10509F46DC1C93AD10509F46CC1CA3A97 +:10115000D10509F46BC1CB3AD10509F46AC1CC3A87 +:10116000D10509F469C1CD3AD10509F468C1C03B84 +:10117000D10509F467C1CE3AD10509F466C1CF3A69 +:10118000D10509F465C1C13BD10509F464C1C23B75 +:10119000D10509F463C1C33BD10509F462C1C43B65 +:1011A000D10509F461C1C53BD10509F460C1C63B55 +:1011B000D10509F45FC1C73BD10509F45EC1C83B45 +:1011C000D10509F45DC1C93BD10509F45CC1CA3B35 +:1011D000D10509F45BC100E014E45AC18E01106529 +:1011E00057C1CE019F700E94290853C10E948017E9 +:1011F0009FEF24E38CE0915020408040E1F700C055 +:1012000000000E94B81E44C18091CF01816080938C +:10121000CF013EC10E946120811102C00E9447207F +:101220000E947E2090E09093F0018093EF01C23005 +:1012300090E5D90721F48091EF01816086C0C43028 +:1012400020E5D20721F48091EF0182607EC0C63094 +:1012500080E5D80721F48091EF01846076C0C83022 +:1012600090E5D90719F48091EF0127C0CA3020E535 +:10127000D20721F48091EF01806167C0CC3080E516 +:10128000D80721F48091EF0180625FC0CE3090E5F5 +:10129000D90721F48091EF01806457C0C03120E567 +:1012A000D20721F48091EF0180684FC0C23180E500 +:1012B000D80729F48091EF018460886046C0C3306C +:1012C00090E5D90721F48091EF018E7F3EC0C530B3 +:1012D00020E5D20721F48091EF018D7F36C0C73021 +:1012E00080E5D80721F48091EF018B7F2EC0C930B3 +:1012F00090E5D90719F48091EF0126C0CB3020E5A5 +:10130000D20721F48091EF018F7E1FC0CD3080E5A0 +:10131000D80721F48091EF018F7D17C0CF3090E581 +:10132000D90721F48091EF018F7B0FC0C13120E5F7 +:10133000D20721F48091EF018F7707C0C331D045E8 +:1013400031F48091EF018B7F877F8093EF01809153 +:10135000EF010E9482209CC08D2F99278F709927C2 +:1013600081309105D9F49E012370332702C0880F84 +:10137000991F2A95E2F79C688E0144E0000F111F27 +:101380004A95E1F700271370802B912B53E0CC0F87 +:10139000DD1F5A95E1F7C076DD272FC08230910519 +:1013A00031F4DC2FCC278E01016F106A71C08330BD +:1013B000910569F4CE018370992701E010E002C025 +:1013C000000F111F8A95E2F7C8019C680FC00497AF +:1013D00009F05EC0CE018370992701E010E002C0E1 +:1013E000000F111F8A95E2F7C8019A6823E0CC0F1D +:1013F000DD1F2A95E1F7C07ED7708C010C2B1D2BC9 +:1014000047C0DF708E01106243C000E010E040C0B2 +:101410008E013EC001E810E43BC003E810E438C090 +:1014200002EE14E435C009EE14E432C00AEE14E40E +:101430002FC005EB14E42CC006EB14E429C007EB25 +:1014400014E426C00CEC14E423C00DEC14E420C01A +:1014500003E815E41DC00AE815E41AC002E915E422 +:1014600017C004E915E414C001E216E411C003E258 +:1014700016E40EC004E216E40BC005E216E408C050 +:1014800006E216E405C007E216E402C00AE216E42A +:10149000C801DF91CF911F910F91089596E0799F38 +:1014A000F001112494E5899FE00DF11D1124E60F50 +:1014B000F11DEE0FFF1FEE57FD4F85919491803E79 +:1014C0009105E0F4803C910558F58133910509F4CC +:1014D0006FC048F48932910509F463C08A329105DE +:1014E00009F46DC072C089339105E9F08238910525 +:1014F000D1F08533910509F44DC067C0833E910555 +:1015000081F138F4803E9105B9F0823E9105D9F021 +:101510005CC0863E910561F1873E9105A1F155C001 +:101520000E94210808952091EF0120FD02C021FFB3 +:101530004CC080EE90E049C08091EF0180FFF9CF70 +:1015400089E390E042C08091EF0182FF0EC080915C +:10155000EF0184FF03C080E090E037C083EE90E0AD +:1015600034C08091EF0182FFF2CF82EE90E02DC077 +:101570008091EF0183FF0BC08091EF0184FDEBCFE1 +:1015800087EE90E022C08091EF0183FFF5CF86EED9 +:1015900090E01BC08091EF0185FF07C089E290E0D9 +:1015A00014C08091EF0185FFF9CF85E390E00DC075 +:1015B0008091EF0186FF07C08AE290E006C080912B +:1015C000EF0186FFF9CF81E390E00E943108089592 +:1015D00008950C94E80A809164010895CF93DF93F5 +:1015E00000D01F92CDB7DEB79C018091E601843018 +:1015F00019F593E099833B832A839093E9008FEF59 +:101600009091E800815095FD06C095ED9A95F1F70F +:1016100000008111F5CF8091E80085FF0DC040E00A +:1016200050E063E070E0CE0101960E94580D809179 +:10163000E8008E778093E8000F900F900F90DF9175 +:10164000CF910895CF93DF9300D01F92CDB7DEB72F +:101650002091E601243021F522E029839B838A83AF +:1016600083E08093E9008FEF9091E800815095FD31 +:1016700006C095ED9A95F1F700008111F5CF8091A4 +:10168000E80085FF0DC040E050E063E070E0CE016F +:1016900001960E94580D8091E8008E778093E800B3 +:1016A0000F900F900F90DF91CF9108952091E60158 +:1016B0002430F1F422E02093E9002FEF3091E8008C +:1016C000215035FD06C035ED3A95F1F700002111A6 +:1016D000F5CF2091E80025FF0BC040E050E065E029 +:1016E00070E00E94580D8091E8008E778093E800AA +:1016F0000895CF93DF93EC019091E601943009F0C7 +:1017000046C080910C018823D9F080910D01882377 +:10171000B9F09093E9008FEF9091E800815095FD2A +:1017200006C095E19A95F1F700008111F5CF8091FF +:10173000E80085FF2CC040E050E060E170E017C099 +:1017400081E08093E9008FEF9091E800815095FD52 +:1017500006C095ED9A95F1F700008111F5CF8091C3 +:10176000E80085FF14C040E050E068E070E0CE0182 +:101770000E94580D8091E8008E778093E80080E108 +:10178000FE01A4E5B1E001900D928A95E1F7DF91A9 +:10179000CF9108958091E501811109C00E94ED0E5D +:1017A0000E944A0F8091E20084608093E2000895D5 +:1017B0001092E501089508950C94F1240E944E1EA4 +:1017C0000E94F7240E94F0110C94E90A42E061ECB7 +:1017D00081E00E94670E42E061EC82E00E94670EA9 +:1017E00042E061EC83E00E94670E42E161EC84E03C +:1017F0000C94670E8091E801833009F455C030F4F1 +:10180000813071F0823009F48EC008958A3009F475 +:101810007AC08B3009F460C0893009F09CC020C0C8 +:101820008091E701813A09F096C08091E800877FB6 +:101830008093E8008091EB019091EC01892B21F4D9 +:1018400060E184E591E003C060E080E090E070E05A +:101850000E94A30D8091E8008B778093E8000895A3 +:101860008091E701813209F076C08091EB0190917F +:10187000EC01009719F0039709F06DC08091E80022 +:10188000877F8093E8008091E80082FD05C0809109 +:10189000E6018111F8CF5FC08091F100809364016F +:1018A0008091E8008B7753C08091E701813A09F07D +:1018B00052C08091EB019091EC01892B09F04BC053 +:1018C0008091E800877F8093E8008091E80080FFA6 +:1018D000FCCF80910C0136C08091E7018132D9F5AF +:1018E0008091EB019091EC01892BA9F58091E800A2 +:1018F000877F8093E8000E949C0E8091E90180938D +:101900000C010C9480178091E701813221F58091C0 +:10191000E800877F8093E8000E949C0E8091EA0196 +:101920008093650108958091E701813AA1F4809147 +:10193000E800877F8093E8008091E80080FFFCCF7B +:10194000809165018093F1008091E8008E7780930B +:10195000E8000C949C0E089584B7877F84BF88E1CB +:101960000FB6F89480936000109260000FBE90E074 +:1019700080E80FB6F89480936100909361000FBEE9 +:101980000E943F120E94ED0E0E944A0F8091E200D9 +:1019900084608093E20078940E94D0110E944112EA +:1019A00082E091E00E94EB110E94DF248091E60129 +:1019B000853069F40E940F1E8091E4018823B1F301 +:1019C0000E943A1E882391F30E94420DEFCF0E949D +:1019D0004712ECCF292F332723303105C9F064F4A7 +:1019E0002130310581F02230310509F043C08DE608 +:1019F00090E026EA36E042C021323105F1F0223291 +:101A0000310541F137C082E190E023E137E036C093 +:101A100099278130910541F08230910541F0892B61 +:101A200049F5E2EAF6E005C0EAE8F6E002C0E2E7DE +:101A3000F6E0849190E09F0121C06430D8F4E62F55 +:101A4000F0E0EE0FFF1FEE5DFE4F2081318189E057 +:101A500090E014C0643070F470E0FB01EE0FFF1FE3 +:101A6000E65EFE4F20813181FB01EA5EFE4F808100 +:101A700090E004C080E090E020E030E0FA013183A3 +:101A80002083089580E189BD82E189BD09B400FE0B +:101A9000FDCF8091D8008F7D8093D8008091E000A9 +:101AA00082608093E0008091E00081FDFCCF08958A +:101AB000CF92DF92EF92FF920F931F93CF93DF931A +:101AC000EC018B016A010E94BB0E811133C0C1146D +:101AD000D10439F0F60180819181081B190BC80FE0 +:101AE000D91FE12CF12C0115110519F18091E800A5 +:101AF00085FD16C08091E8008E778093E800C114C0 +:101B0000D10449F0F60180819181E80EF91EF1823D +:101B1000E08285E00FC00E94BB0E882321F30AC03B +:101B200089918093F10001501109FFEFEF1AFF0A2C +:101B3000DACF80E0DF91CF911F910F91FF90EF906E +:101B4000DF90CF9008952091ED013091EE0126179E +:101B5000370748F06115710539F42091E8002E77B8 +:101B60002093E80001C0B90140E061157105A9F1B9 +:101B70002091E601222309F443C0253009F442C034 +:101B80002091E80023FD40C02091E80022FD32C0F2 +:101B90002091E80020FFE9CF4091F3002091F2006E +:101BA00030E0342BFC01CF016115710559F028306C +:101BB000310540F481918093F100615071092F5FEC +:101BC0003F4FF1CF41E02830310509F040E020914E +:101BD000E8002E772093E800C8CF4111C9CF0AC092 +:101BE0008091E601882361F0853061F08091E80002 +:101BF00083FD0AC08091E80082FFF2CF80E0089563 +:101C000082E0089583E0089581E008952091ED0138 +:101C10003091EE012617370748F06115710539F448 +:101C20002091E8002E772093E80001C0B901FC0163 +:101C300020E06115710591F18091E601882309F496 +:101C400040C0853009F43FC08091E80083FD3DC06D +:101C50008091E80082FD2FC08091E80080FFE9CFED +:101C60002091F3008091F20090E0922B61157105B4 +:101C700059F08830910540F424912093F100319679 +:101C8000615071090196F2CF21E0089709F020E038 +:101C90008091E8008E778093E800CBCF2111CCCFE4 +:101CA0000AC08091E601882361F0853061F080915F +:101CB000E80083FD0AC08091E80082FFF2CF80E057 +:101CC000089582E0089583E0089581E00895982FB3 +:101CD000973058F59093E900981739F07091EC001F +:101CE0002091ED005091F00003C0242F762F50E09A +:101CF00021FF19C03091EB003E7F3093EB00309113 +:101D0000ED003D7F3093ED003091EB00316030937A +:101D1000EB007093EC002093ED005093F0002091C5 +:101D2000EE0027FF07C09F5FD3CF8F708093E9003D +:101D300081E0089580E008958091E70187FF11C058 +:101D40008091E80082FD05C08091E6018111F8CF05 +:101D500011C08091E8008B770BC08091E601882349 +:101D600049F08091E80080FFF8CF8091E8008E77FD +:101D70008093E80008952091E4003091E50095E615 +:101D80004091EC00842F817040FF22C08091E800D8 +:101D900080FD1CC08091E601882391F0853091F090 +:101DA0008091EB0085FD10C04091E4005091E5006A +:101DB0004217530729F39A01915011F784E00895CF +:101DC00082E0089583E0089581E0089580E0089519 +:101DD0004091E80042FFDECF08950E945B0F0E9411 +:101DE000630FE0EEF0E0808181608083E8EDF0E059 +:101DF00080818F77808319BCA7EDB0E08C918E7FB6 +:101E00008C9380818F7E80831092E50108950F93DB +:101E10001F93CF93DF930E945B0F0E94630FC8ED67 +:101E2000D0E088818F7788838881806888838881E3 +:101E30008F7D888319BC1092E6011092E201109206 +:101E4000E4011092E30100EE10E0F80180818B7F45 +:101E5000808388818160888342E060E080E00E9426 +:101E6000670EE1EEF0E080818E7F8083E2EEF0E0AD +:101E7000808181608083808188608083F801808197 +:101E80008E7F8083888180618883DF91CF911F91CD +:101E90000F910895E8EDF0E080818F7E8083E7ED7B +:101EA000F0E080818160808384E082BF81E0809364 +:101EB000E5010C94070FE8EDF0E080818E7F8083D0 +:101EC0001092E20008951092DA001092E100089555 +:101ED0001F920F920FB60F9211242F933F934F939F +:101EE0005F936F937F938F939F93AF93BF93EF9382 +:101EF000FF938091E10082FF0BC08091E20082FF9E +:101F000007C08091E1008B7F8093E1000E94CF1198 +:101F10008091DA0080FF1FC08091D80080FF1BC035 +:101F20008091DA008E7F8093DA008091D90080FF63 +:101F30000DC080E189BD82E189BD09B400FEFDCFFD +:101F400081E08093E6010E94CA0B05C019BC109283 +:101F5000E6010E94D80B8091E10080FF19C08091BA +:101F6000E20080FF15C08091E2008E7F8093E20046 +:101F70008091E20080618093E2008091D8008062CD +:101F80008093D80019BC85E08093E6010E94DC0BA9 +:101F90008091E10084FF30C08091E20084FF2CC07A +:101FA00080E189BD82E189BD09B400FEFDCF809149 +:101FB000D8008F7D8093D8008091E1008F7E809340 +:101FC000E1008091E2008F7E8093E2008091E20048 +:101FD00081608093E2008091E201882311F084E027 +:101FE00007C08091E30087FD02C081E001C083E06B +:101FF0008093E6010E94DE0B8091E10083FF29C0FF +:102000008091E20083FF25C08091E100877F80936B +:10201000E10082E08093E6011092E2018091E1000C +:102020008E7F8093E1008091E2008E7F8093E200BA +:102030008091E20080618093E20042E060E080E015 +:102040000E94670E8091F00088608093F0000E94EB +:10205000DB0BFF91EF91BF91AF919F918F917F919A +:102060006F915F914F913F912F910F900FBE0F9005 +:102070001F9018951F920F920FB60F9211242F9355 +:102080003F934F935F936F937F938F939F93AF9300 +:10209000BF93CF93DF93EF93FF93C091E900CF708D +:1020A0008091EC00D82FD17080FDD0E81092E9002B +:1020B0008091F000877F8093F00078940E947E10DA +:1020C0001092E9008091F00088608093F000CD2BA1 +:1020D000CF70C093E900FF91EF91DF91CF91BF9155 +:1020E000AF919F918F917F916F915F914F913F91B0 +:1020F0002F910F900FBE0F901F9018951F93CF93A5 +:10210000DF93CDB7DEB7AA970FB6F894DEBF0FBE48 +:10211000CDBFE7EEF1E088E08E0F9091F100919352 +:102120008E13FBCF0E94FA0B8091E80083FF1FC142 +:102130008091E7019091E801492F50E04A30510524 +:1021400008F015C1FA01EA59FF4F0C94792680383E +:1021500081F0823809F00BC18091EB018F70809380 +:10216000E9008091EB0085FB882780F91092E90057 +:1021700006C08091E3019091E401911182609091F9 +:10218000E800977F9093E8008093F1001092F100AF +:10219000C8C0282F2D7F09F0EAC0882319F08230AB +:1021A00061F0E5C08091E901813009F0E0C0933031 +:1021B00009F080E08093E4012BC08091E901811156 +:1021C00027C08091EB018F7009F4D1C08093E900A2 +:1021D0002091EB0020FF1CC0933021F48091EB0094 +:1021E000806214C09091EB0090619093EB0021E02D +:1021F00030E0A90102C0440F551F8A95E2F74093D1 +:10220000EA001092EA008091EB0088608093EB0076 +:102210001092E9008091E800877F86C08111A7C0F5 +:102220001091E9011F778091E3008078812B8093E2 +:10223000E3008091E800877F8093E8000E949C0E75 +:102240008091E80080FFFCCF8091E300806880935C +:10225000E300111102C082E001C083E08093E60137 +:1022600086C08058823008F082C08091E901909148 +:10227000EA018C3D53E0950779F583E08A838AE291 +:1022800089834FB7F894DE01139620E03EE051E2D7 +:10229000E32FF0E050935700E49120FF03C0E29554 +:1022A000EF703F5FEF708E2F90E0EA3010F0C7962E +:1022B00001C0C0968D939D932F5F243149F74FBF86 +:1022C0008091E800877F8093E8006AE270E0CE01A9 +:1022D00001960E94A30D14C0AE014F5F5F4F609145 +:1022E000EB010E94EA0CBC01892B09F440C09091DB +:1022F000E800977F9093E80089819A810E94060EFA +:102300008091E8008B778093E80031C0803879F5C0 +:102310008091E800877F8093E8008091E2018093BC +:10232000F1008091E8008E778093E8000E949C0E77 +:102330001EC081111CC09091E9019230C0F48091BF +:10234000E800877F8093E8009093E2010E949C0E52 +:102350008091E201811106C08091E30087FD02C0F7 +:1023600081E001C084E08093E6010E94E60B809149 +:10237000E80083FF0AC08091E800877F8093E8002F +:102380008091EB0080628093EB00AA960FB6F894E0 +:10239000DEBF0FBECDBFDF91CF911F91089508958D +:1023A000CF938091E6018823A1F0C091E900CF701E +:1023B0009091EC00892F817090FD80E8C82B1092DD +:1023C000E9008091E80083FD0E947E10CF70C093E9 +:1023D000E900CF91089590936B0180936A0108956D +:1023E000E0916A01F0916B01309721F00190F0814A +:1023F000E02D099480E00895E0916A01F0916B016D +:10240000309721F00280F381E02D09940895E09146 +:102410006A01F0916B01309721F00480F581E02D85 +:1024200009940895209168013091690182179307FA +:1024300071F09093690180936801E0916A01F091D5 +:102440006B01309721F00680F781E02D0994089503 +:1024500020916601309167018217930771F0909384 +:10246000670180936601E0916A01F0916B013097FA +:1024700021F00084F185E02D0994089508950C94CD +:102480003E120E94541E0E9401070C941A1FCF9204 +:10249000DF92EF92FF920F931F93CF93DF93CDB70D +:1024A000DEB72B970FB6F894DEBF0FBECDBF0E94EC +:1024B00019078DE6C82E81E0D82E00E010E0E02E4E +:1024C000802F0E940708F60141916F01F42EF82633 +:1024D000B1F40F5F1F4F0E30110589F78FEF89831D +:1024E0008A831B820E945D1E8160782F9D838C836E +:1024F00049815A816B818D810E94EA1240C090917E +:10250000CF0191FF04C08B870E940D088B8520E0CE +:1025100030E04F2D50E0922FBA01022E02C0759587 +:1025200067950A94E2F760FF24C02E83EF8221E0D2 +:1025300030E0690102C0CC0CDD1C9A95E2F790E016 +:102540008C219D21892B09F420E028870E945D1EA3 +:102550008160782F9A8789874E815F8168858A8517 +:102560000E94EA12F801E359FE4F8081C826C0821A +:1025700006C02F5F3F4F2630310569F6AACF0E9473 +:10258000012210916C010E94F0111817A1F00E9415 +:10259000F01180936C012B960FB6F894DEBF0FBE3E +:1025A000CDBFDF91CF911F910F91FF90EF90DF9002 +:1025B000CF900C94E90A2B960FB6F894DEBF0FBEAD +:1025C000CDBFDF91CF911F910F91FF90EF90DF90E2 +:1025D000CF900895CF93DF93CDB7DEB72B970FB68B +:1025E000F894DEBF0FBECDBF4F83588769877A87C7 +:1025F0008B87DE01119686E0FD0111928A95E9F73D +:1026000085E0FE01379601900D928A95E1F74981A8 +:102610005A816B817C818D819E810E941A1A2B9632 +:102620000FB6F894DEBF0FBECDBFDF91CF910895F6 +:102630000895CF93882309F4C2C0C82F823859F473 +:102640000E94F01181FDBBC089E30E94C31C0E945F +:10265000901D89E30CC0833879F40E94F01180FD4D +:10266000AEC083E50E94C31C0E94901D83E50E94BA +:10267000051DCF910C94901D843859F40E94F011DF +:1026800082FD9DC087E40E94C31C0E94901D87E4C8 +:10269000EECF8CEF8C0F813A48F48C2F0E944424AB +:1026A00081118DC08C2F0E94C31CE3CF80E28C0F60 +:1026B000883048F4C77081E001C0880FCA95EAF7F6 +:1026C0000E94491DD6CF8BE58C0F833078F4C53A34 +:1026D00029F0C63A31F083E890E005C081E890E047 +:1026E00002C082E890E0CF910C94121288E58C0F22 +:1026F000833108F064C0C83A39F1C93A41F1CA3AA5 +:1027000049F1CB3A51F1CC3A59F1CD3A61F1C03BA4 +:1027100069F1CE3A71F1CF3A79F1C13B81F1C23B17 +:1027200089F1C33B91F1C43B99F1C53BA1F1C63B93 +:10273000A9F1C73BB1F1C83BB9F1C93BC1F1CA3BF3 +:10274000C9F180E090E038C082EE90E035C089EEBB +:1027500090E032C08AEE90E02FC085EB90E02CC074 +:1027600086EB90E029C087EB90E026C08CEC90E0EF +:1027700023C08DEC90E020C083E891E01DC08AE882 +:1027800091E01AC082E991E017C084E991E014C099 +:1027900081E292E011C083E292E00EC084E292E016 +:1027A0000BC085E292E008C086E292E005C087E2B5 +:1027B00092E002C08AE292E0CF910C942812CF916D +:1027C0000895882309F44BC0823859F40E94F0110F +:1027D00081FF45C089E30E94C31C0E94901D89E3CC +:1027E0000CC0833871F40E94F01180FF38C083E57B +:1027F0000E94C31C0E94901D83E50E94051D0C943D +:10280000901D843859F40E94F01182FF28C087E49B +:102810000E94C31C0E94901D87E4EFCF9CEF980F8D +:10282000913A58F390E2980F983050F4877091E005 +:1028300001C0990F8A95EAF7892F0E944F1DDFCFBB +:102840009BE5980F933020F480E090E00C941212F6 +:10285000885A833120F480E090E00C942812089587 +:10286000882321F00E94491D0C94901D089588230F +:1028700021F00E944F1D0C94901D0895BF92CF929D +:10288000DF92EF92FF920F931F93CF93DF9300D0CD +:1028900000D000D0CDB7DEB725E0FC01DE011196F7 +:1028A00001900D922A95E1F7FC01D08011810281FF +:1028B000258122952F7043815481452B09F4FCC258 +:1028C0001F3F21F4FFEFDF1609F4F6C27C012E83CF +:1028D0000E941813D9821A8369817A81802F0E94FD +:1028E000BF1C182FB92E0E94741C0E943B1B2E8106 +:1028F000002319F00E94661D2E81EB2DE295EF70EA +:10290000F0E0E059FF4F0C9479268B2D807F9B2DB2 +:102910009F70F92E882319F0F29480EFF82200239B +:1029200089F0FF2009F475C280E2810F883020F41D +:102930008F2D0E94491D03C08F2D0E94591D0E949A +:10294000901D67C2812F0E94E113FF2009F4B4C2D9 +:10295000105E8F2D183018F40E944F1D02C00E9487 +:102960005F1D26960FB6F894DEBF0FBECDBFDF9178 +:10297000CF911F910F91FF90EF90DF90CF90BF907C +:102980000C94901D3B2D307F8B2D8F70303211F0C9 +:102990008295807F112319F0113021F12CC0002382 +:1029A000B9F0222309F4A0C1213009F09DC1269677 +:1029B0000FB6F894DEBF0FBECDBFDF91CF911F9150 +:1029C0000F91FF90EF90DF90CF90BF900C94791D06 +:1029D000222319F0213009F46FC28E830E947C1DDE +:1029E0008E8196C1002321F0223008F065C27CC19F +:1029F000211162C28DC1002321F0222309F474C188 +:102A000008C2222309F484C119C22B2D26952695CC +:102A1000237030E02115310521F021303105D1F04E +:102A20004BC2002321F0812F9B2D937002C080E0C8 +:102A300090E026960FB6F894DEBF0FBECDBFDF91B3 +:102A4000CF911F910F91FF90EF90DF90CF90BF90AB +:102A50000C941212002321F0812F9B2D937002C041 +:102A600080E090E026960FB6F894DEBF0FBECDBF93 +:102A7000DF91CF911F910F91FF90EF90DF90CF905A +:102A8000BF900C942812812F002319F00E94092175 +:102A900002C00E94712126960FB6F894DEBF0FBEC9 +:102AA000CDBFDF91CF911F910F91FF90EF90DF90FD +:102AB000CF90BF900C94F6218B2D837009F07BC0D2 +:102AC0000111FAC1812F829586958770880F880F32 +:102AD000912F9F70C92ED12CE12CF12C082E04C00F +:102AE000CC0CDD1CEE1CFF1C0A94D2F714FF12C0A4 +:102AF0004FE050E060E070E004C0440F551F661FD7 +:102B0000771F8A95D2F7CB01BA01609570958095B1 +:102B1000909503C060E070E0CB012B2D26952695A3 +:102B20002370422F50E042305105D9F04330510517 +:102B300069F16C297D298E299F294130510551F178 +:102B400026960FB6F894DEBF0FBECDBFDF91CF91B2 +:102B50001F910F91FF90EF90DF90CF90BF900C945A +:102B6000621B6C297D298E299F2926960FB6F89421 +:102B7000DEBF0FBECDBFDF91CF911F910F91FF90B0 +:102B8000EF90DF90CF90BF900C947E1B0E94621B51 +:102B9000C701B60126960FB6F894DEBF0FBECDBFB3 +:102BA000DF91CF911F910F91FF90EF90DF90CF9029 +:102BB000BF900C94461B002319F08B2D817001C02F +:102BC0008695882309F478C1812F82958695877030 +:102BD000880F880F912F9F70C92ED12CE12CF12CDA +:102BE000082E04C0CC0CDD1CEE1CFF1C0A94D2F78E +:102BF00014FF12C04FE050E060E070E004C0440FEA +:102C0000551F661F771F8A95D2F7CB01BA016095D1 +:102C100070958095909503C060E070E0CB012B2DFE +:102C2000269526952370422F50E042305105D9F069 +:102C30004330510569F16C297D298E299F29413046 +:102C4000510551F126960FB6F894DEBF0FBECDBFE9 +:102C5000DF91CF911F910F91FF90EF90DF90CF9078 +:102C6000BF900C943C1C6C297D298E299F292696A7 +:102C70000FB6F894DEBF0FBECDBFDF91CF911F918D +:102C80000F91FF90EF90DF90CF90BF900C94581C65 +:102C90000E943C1CC701B60126960FB6F894DEBF11 +:102CA0000FBECDBFDF91CF911F910F91FF90EF909D +:102CB000DF90CF90BF900C94201C103FD1F118F4FE +:102CC000103E50F4A1C0123F09F463C008F44CC098 +:102CD000133F09F473C098C01F708B2D8F710023B0 +:102CE000A1F00E94B91B812F26960FB6F894DEBF83 +:102CF0000FBECDBFDF91CF911F910F91FF90EF904D +:102D0000DF90CF90BF900C9430140E94DA1B812F7B +:102D100026960FB6F894DEBF0FBECDBFDF91CF91E0 +:102D20001F910F91FF90EF90DF90CF90BF900C9488 +:102D300037140023A9F02111BFC08B2D8F71269667 +:102D40000FB6F894DEBF0FBECDBFDF91CF911F91BC +:102D50000F91FF90EF90DF90CF90BF900C94FF1BEE +:102D6000223008F0A9C0E9CF0023A9F08B2D8F7184 +:102D700026960FB6F894DEBF0FBECDBFDF91CF9180 +:102D80001F910F91FF90EF90DF90CF90BF900C9428 +:102D9000B91B002359F38B2D8F7126960FB6F8942B +:102DA000DEBF0FBECDBFDF91CF911F910F91FF907E +:102DB000EF90DF90CF90BF900C94DA1B002399F036 +:102DC0008B2D8F7126960FB6F894DEBF0FBECDBF48 +:102DD000DF91CF911F910F91FF90EF90DF90CF90F7 +:102DE000BF900C94A41B26960FB6F894DEBF0FBEBE +:102DF000CDBFDF91CF911F910F91FF90EF90DF90AA +:102E0000CF90BF900C949A1B0023A9F0222309F4C1 +:102E1000ADCF812F26960FB6F894DEBF0FBECDBF83 +:102E2000DF91CF911F910F91FF90EF90DF90CF90A6 +:102E3000BF900C941913222309F4ADCF812F26964D +:102E40000FB6F894DEBF0FBECDBFDF91CF911F91BB +:102E50000F91FF90EF90DF90CF90BF900C94E11313 +:102E60004B2D4F70612FC7010E94760426960FB636 +:102E7000F894DEBF0FBECDBFDF91CF911F910F91B0 +:102E8000FF90EF90DF90CF90BF900C94BE1A4B2D27 +:102E90004F70612FC70126960FB6F894DEBF0FBEA4 +:102EA000CDBFDF91CF911F910F91FF90EF90DF90F9 +:102EB000CF90BF900C940E0826960FB6F894DEBF04 +:102EC0000FBECDBFDF91CF911F910F91FF90EF907B +:102ED000DF90CF90BF9008950E94661D0E94761DDE +:102EE0000E943B1D0E94901D0E94A7220E94F62175 +:102EF00080E090E00E94121280E090E00C94281292 +:102F00000E94561D0C946C170E94B41C292F229508 +:102F10002F7030E02C3031054CF42A3031056CF440 +:102F2000225031092230310588F407C02C30310598 +:102F300049F02F30310531F009C0803E48F0803F24 +:102F400029F406C093FB882780F9089580E008954E +:102F500081E00895CF93DF9300D000D01F92CDB7CA +:102F6000DEB70F900F900F900F900F90DF91CF91E1 +:102F70000895CF93DF9300D000D000D0CDB7DEB757 +:102F800026960FB6F894DEBF0FBECDBFDF91CF916E +:102F900008951F93CF93DF93C0917B0116E080913A +:102FA0007C01C81799F0D0E01C9FF0011D9FF00D27 +:102FB0001124E358FE4F40815181628173818481E5 +:102FC00095810E94B9172196C770E9CFDF91CF9103 +:102FD0001F9108954091AD015091AE016091AF01F4 +:102FE0007091B0018091B1019091B2010C94B91728 +:102FF0008091B20182958F7009F054C08091AF0129 +:10300000882309F44FC080917B01A0917C016091DD +:10301000AD017091AE014091B0015091B101B6E0A7 +:103020008A1709F43FC090E041155105C1F17F3F77 +:1030300011F46F3FA1F1B89FF001B99FF00D112479 +:10304000E358FE4F218172132AC02081621327C0EA +:103050002281211124C0238134812417350710F4E3 +:1030600021503109241B350B283C3105C0F4209137 +:10307000B2012F7020612093B20126E0289FF00159 +:10308000299FF00D1124EE57FE4F80818F708061D3 +:1030900080838DEA91E00E943E140C94C91701963A +:1030A0008770BECF0895CF92DF92EF92FF920F9379 +:1030B0001F93CF93DF93CDB7DEB762970FB6F89427 +:1030C000DEBF0FBECDBF8C0185E0F801DE011D968D +:1030D00001900D928A95E1F7D8014C9111965C917F +:1030E000119712966C9112971396CD90DC901497CD +:1030F0003091AD017091AE018091B0019091B1011C +:10310000009709F46BC17F3F19F43F3F09F466C192 +:10311000E090AF01EE2009F4C0C02091B201C816C2 +:10312000D90628F0F601E81BF90BCF0104C0809501 +:1031300090958C0D9D1DFF24F394883C910578F0AB +:10314000F12C207F09F0C6C07C2DD98AC88A8989D4 +:103150000E94AA178DEA91E00E943E14B1C0822F0E +:10316000807F09F046C0751314C0341312C061117A +:1031700010C02F7020612093B2010E94EA178DEADF +:1031800091E00E943E148091B201D80115968C9373 +:103190002EC0CD2819F15F3F11F44F3FF9F0F62E04 +:1031A00061111CC080917B0120917C0136E0821767 +:1031B00009F45AC090E0389FF001399FF00D1124B6 +:1031C000E358FE4F7181571306C07081471303C047 +:1031D0007281711103C001968770E9CFF62E6623C4 +:1031E00009F418C18091B20181608093B201F12C81 +:1031F00011C1751308C0341306C0611104C0809159 +:10320000B201D801C3C04D875E878D859E856A8BCC +:103210000E9484176A898823E1F16623D1F1209105 +:10322000B201822F82958F7090E0029774F08091A6 +:10323000AD019091AE0198878F831986DB86CA868F +:103240002C87CE0107960E943E1486E0F801ADEA75 +:10325000B1E001900D928A95E1F70E94F8170E9463 +:10326000EA17FF24F394D6C04D875E878D859E852F +:103270000E94B41C292F22952F7030E02230310596 +:103280000CF0BCC09F7009F0B6C0805E883008F4B6 +:10329000C1C0C8010E943E14E4CFC816D90608F484 +:1032A00053C0F601E81BF90BCF01883C910508F4E7 +:1032B00050C0F12C7C2DD98AC88A89890E94AA170E +:1032C000EDEAF1E086E0DF011D928A95E9F70E94C0 +:1032D000EA17A0C0751314C0341312C0611110C0D6 +:1032E0008091B201F8018583C8010E943E1486E0F6 +:1032F000EDEAF1E0DF011D928A95E9F7FE2C8AC024 +:103300004D875E878D859E856A8B0E9484176A89AA +:10331000882309F4BECF662309F4BBCF2091B20104 +:10332000822F82958F7090E002970CF48ECF80915F +:10333000AD019091AE019A8389831B82DD82CC829C +:103340002E83CE0101967FCF809590958C0D9D1D8B +:10335000ACCFF62E662309F49CCF75132EC0341320 +:103360002CC02091B20120FD1FC0822F82958F704A +:10337000D9F0D80115962C9315978F3049F08F5FAF +:10338000982F9295907F822F8F70892B15968C9312 +:10339000C8010E943E1486E0F801ADEAB1E0019058 +:1033A0000D928A95E1F793CF86E0F801ADEAB1E09E +:1033B00001900D928A95E1F72DC04D875E878D852E +:1033C0009E850E948417811140CF8091B201816057 +:1033D0008093B201C8010E943E141CC0662309F408 +:1033E00058CF4D875E878D859E850E9484178823E0 +:1033F00009F44FCF2ACF811148CF0CC024303105BA +:103400000CF047CF9F7009F440CFF8019581907F71 +:1034100009F03BCF8F2D62960FB6F894DEBF0FBE3A +:10342000CDBFDF91CF911F910F91FF90EF90DF9073 +:10343000CF9008951F93CF93DF93CDB7DEB72C972E +:103440000FB6F894DEBF0FBECDBF4F835887698794 +:103450007A878B879C87CE0107960E945318882312 +:1034600069F08F8198852A853B85232BF1F19F3F59 +:1034700009F063C08F3F09F060C037C086E0FE01ED +:103480003796DE01119601900D928A95E1F76F81D2 +:103490007885EA85FB85309741F17F3F11F46F3FD6 +:1034A00021F120917C0130E0C901019687709927B4 +:1034B00040917B0150E08417950709F447C0698368 +:1034C0007A83FD83EC8396E0929FD001939FB00DA9 +:1034D0001124A358BE4FFE01319601900D929A958A +:1034E000E1F780937C010E94C91716E080917B016F +:1034F00090917C018917C1F1189FC0011124835854 +:103500009E4F0E945318882379F1E0917B011E9F02 +:10351000F0011124E358FE4F408151816281738193 +:10352000848195810E94B91780917B0190E001967A +:103530008770992780937B01D9CF4F815885698502 +:103540007A858B859C850E94B917CFCF0E94801702 +:1035500010927C0110927B01EDEAF1E086E0DF0140 +:103560001D928A95E9F7C1CF2C960FB6F894DEBF6D +:103570000FBECDBFDF91CF911F910895EF92FF92C3 +:103580000F931F93CF93DF938C01892B09F46CC0A9 +:10359000F12CEE24E394E8012196F801849184371C +:1035A00040F4843008F051C0813081F0823019F14C +:1035B0005BC0853709F444C0A8F19CE7980F9037A9 +:1035C00008F052C08F770E94E11341C00E5F1F4F79 +:1035D000FE01C49180E28C0F883048F4C7708E2DB4 +:1035E00001C0880FCA95EAF70E94691D14C08C2F8C +:1035F0000E9419132DC00E5F1F4FFE01C49180E27F +:103600008C0F883058F4C7708E2D01C0880FCA9572 +:10361000EAF70E946F1D0E94901D1AC08C2F0E9415 +:10362000E11316C00E5F1F4FFE01C491CC2381F041 +:103630008FE99FE00197F1F700C00000C150F6CF7D +:103640000E5F1F4FFE01F49003C00E9419138E01FC +:103650008F2D882309F49FCFEFE9FFE03197F1F731 +:1036600000C000008150F5CFDF91CF911F910F91E5 +:10367000FF90EF90089508956093B7017093B8019B +:103680008093B9019093BA010C946C170F931F9318 +:103690000091B7011091B8012091B9013091BA01A0 +:1036A000DC01CB01802B912BA22BB32B8093B70194 +:1036B0009093B801A093B901B093BA011F910F91F3 +:1036C0000C946C170F931F930091B7011091B801E0 +:1036D0002091B9013091BA01DC01CB018023912303 +:1036E000A223B3238093B7019093B801A093B901AB +:1036F000B093BA011F910F910C946C170F931F9305 +:103700000091B7011091B8012091B9013091BA012F +:10371000DC01CB0180279127A227B3278093B70133 +:103720009093B801A093B901B093BA011F910F9182 +:103730000C946C171092B3011092B4011092B50161 +:103740001092B6010C946C1741E050E060E070E01C +:1037500004C0440F551F661F771F8A95D2F7409308 +:10376000B3015093B4016093B5017093B6010C940A +:103770006C1741E050E060E070E004C0440F551F5A +:10378000661F771F8A95D2F78091B3019091B4019B +:10379000A091B501B091B601482B592B6A2B7B2B18 +:1037A0004093B3015093B4016093B5017093B60197 +:1037B0000C946C1741E050E060E070E004C0440FEE +:1037C000551F661F771F8A95D2F7409550956095D3 +:1037D00070958091B3019091B401A091B501B09121 +:1037E000B601482359236A237B234093B3015093A6 +:1037F000B4016093B5017093B6010C946C1741E06D +:1038000050E060E070E004C0440F551F661F771F52 +:103810008A95D2F78091B3019091B401A091B5013E +:10382000B091B601482759276A277B274093B301F7 +:103830005093B4016093B5017093B6010C946C176A +:103840000F931F930091B3011091B4012091B50122 +:103850003091B601DC01CB01802B912BA22BB32B35 +:103860008093B3019093B401A093B501B093B601D6 +:103870001F910F910C946C170F931F930091B3013C +:103880001091B4012091B5013091B601DC01CB015A +:1038900080239123A223B3238093B3019093B40197 +:1038A000A093B501B093B6011F910F910C946C17C2 +:1038B0000F931F930091B3011091B4012091B501B2 +:1038C0003091B601DC01CB0180279127A227B327D5 +:1038D0008093B3019093B401A093B501B093B60166 +:1038E0001F910F910C946C170895CF92DF92EF9275 +:1038F000FF920F931F93CF93DF938C01C090B7017A +:10390000D090B801E090B901F090BA018091B30174 +:103910009091B401A091B501B091B601C82AD92AFD +:10392000EA2AFB2ACFE1D0E0D701C6010C2E04C061 +:10393000B695A795979587950A94D2F780FF06C00C +:10394000B8018C2F0E944E0A019721F4219760F74D +:1039500080E001C08C2FDF91CF911F910F91FF90DC +:10396000EF90DF90CF900895CF93DF93EC010E940A +:10397000751CBE010E944E0ADF91CF910895CB01C4 +:103980000E94B41C089590910C01992321F090910C +:103990000D01911109C020910E0130910F01F90123 +:1039A00032969FEF40E01FC0982F9695969596957A +:1039B0009F3050F5E0910E01F0910F01E90FF11DDC +:1039C000877021E030E0A90102C0440F551F8A959D +:1039D000E2F7CA019181892B818308959F3F39F0D5 +:1039E0004F5F4E3041F051915813F8CF0DC0511137 +:1039F000F7CF942FF5CF9F3F39F0F901E90FF11D73 +:103A000097FDFA9582830895089590910C0199236A +:103A100021F090910D01911109C020910E0130917A +:103A20000F01F9013296205F3F4F1FC0982F9695E6 +:103A3000969596959F30F0F4E0910E01F0910F016C +:103A4000E90FF11D877021E030E0A90102C0440FA9 +:103A5000551F8A95E2F7CA01809591818923818358 +:103A600008953196E217F30729F090819813F9CF62 +:103A70001082F7CF089581E090E0E0910E01F0917F +:103A80000F01E80FF91F1082019680319105A9F707 +:103A900008959091CE01892B8093CE010895809551 +:103AA0009091CE0189238093CE0108951092CE018A +:103AB00008959091CD01892B8093CD010895809533 +:103AC0009091CD0189238093CD0108951092CD016D +:103AD00008959091CC01892B8093CC010895809515 +:103AE0009091CC0189238093CC0108951092CC0150 +:103AF00008958093BB0108951092BB0108958091B1 +:103B00000E0190910F01FC0131969C01205F3F4F07 +:103B100080E0919191118F5FE217F307D1F708953B +:103B2000E0910E01F0910F018091CE018083E09130 +:103B30000E01F0910F0190818091CD01892B80833E +:103B4000E0910E01F0910F0190818091CC01892BC1 +:103B500080838091BB01882361F0E0910E01F09198 +:103B60000F019081892B80830E947F1D811110920B +:103B7000BB0180910E0190910F010C94FC11CF922A +:103B8000DF92EF92FF926C01EE24FF24C114D10466 +:103B9000E104F10421F0C701B60120E101C020E0F9 +:103BA000C72ED82EE92EFF24C114D104E104F1045C +:103BB00019F0285FC701B6016B017C0154E0F6944F +:103BC000E794D794C7945A95D1F7C114D104E1046E +:103BD000F10419F02C5FC701B6016B017C0142E0D2 +:103BE000F694E794D794C7944A95D1F7C114D104B9 +:103BF000E104F10419F02E5FC701B601DC01CB012D +:103C0000B695A79597958795892B8A2B8B2B09F0CD +:103C10002F5F822FFF90EF90DF90CF9008958091DB +:103C2000E601843021F11092D00120E488E190E097 +:103C30000FB6F894A895809360000FBE20936000A3 +:103C400080E00E94E90A83B7817F846083BF83B7E5 +:103C5000816083BF7894889583B78E7F83BF88E126 +:103C60000FB6F89480936000109260000FBE089524 +:103C700008950895CF930E94381E0E9419070E944C +:103C8000391EC0E08C2F0E940708811104C0CF5F4D +:103C9000CE30C1F701C081E0CF9108950E94801716 +:103CA0000E94F0110C94E90A82E084BD93E095BD76 +:103CB0009AEF97BD80936E0008952FB7F894809186 +:103CC000D1019091D201A091D301B091D4012FBF25 +:103CD0000895CF92DF92EF92FF920F931F932FB729 +:103CE000F8944091D1015091D2016091D30170912B +:103CF000D4012FBF6A017B01EE24FF248C0120E058 +:103D000030E0C016D106E206F30610F44150510926 +:103D10009A01281B390BC9011F910F91FF90EF9059 +:103D2000DF90CF9008951F920F920FB60F9211243B +:103D30008F939F93AF93BF938091D1019091D201C4 +:103D4000A091D301B091D4010196A11DB11D809322 +:103D5000D1019093D201A093D301B093D401BF912C +:103D6000AF919F918F910F900FBE0F901F9018955C +:103D70000E94ED0EF8942FEF87EA91E621508040E3 +:103D80009040E1F700C0000087E090EBDC018093F9 +:103D9000F0019093F101A093F201B093F3019CE044 +:103DA00088E10FB6F894A895809360000FBE9093B9 +:103DB0006000FFCFEF92FF920F931F93CF93DF939B +:103DC000D82FC0E08C2F0E94070800E010E0E82EFA +:103DD000F12CC701002E02C0959587950A94E2F751 +:103DE00080FD06C00F5F1F4F0630110591F709C017 +:103DF000602F7C2F80E00E940F08D813F3CF81E062 +:103E000004C0CF5FCE30F1F680E0DF91CF911F91FB +:103E10000F91FF90EF900895CF93C82F8CE20E94EE +:103E2000DA1E882321F08C2FCF910C94DA1E80E0CB +:103E3000CF910895CF930E946120811102C00E940A +:103E40004720C5E6C15049F00E9419078FE39CE95D +:103E50000197F1F700C00000F5CF89E20E940C1F26 +:103E6000811113C18AE20E940C1F81110E94472018 +:103E700085E00E940C1F81110E94B81E0E946C20D8 +:103E80008093CF0187E00E940C1F8823A9F18BE16A +:103E90000E940C1F882351F08091CF0181FB2227C3 +:103EA00020F991E0922790FB81F90EC08EE00E94EC +:103EB0000C1F882361F08091CF0182FB222720F91B +:103EC00091E0922790FB82F98093CF0115C080E1A9 +:103ED0000E940C1F9091CF01882341F093FB222771 +:103EE00020F981E0822780FB93F904C0892F809517 +:103EF00080FB90F99093CF018091CF010E947020B8 +:103F00000E947E208093EF0180EE0E940C1F882388 +:103F100041F08091EF01982F909590FB80F980936C +:103F2000EF0189E30E940C1F882359F08091EF0173 +:103F300081FB222720F991E0922790FB81F9809361 +:103F4000EF0182EE0E940C1F882359F08091EF014F +:103F500082FB222720F991E0922790FB82F980933F +:103F6000EF0186EE0E940C1F882359F08091EF012B +:103F700083FB222720F991E0922790FB83F980931D +:103F8000EF0183EE0E940C1F882359F08091EF010E +:103F900084FB222720F991E0922790FB84F98093FB +:103FA000EF0185E30E940C1F882359F08091EF01F7 +:103FB00085FB222720F991E0922790FB85F98093D9 +:103FC000EF0181E30E940C1F882359F08091EF01DB +:103FD00086FB222720F991E0922790FB86F98093B7 +:103FE000EF0181E10E940C1F882359F08091EF01BD +:103FF00087FB222720F991E0922790FB87F9809395 +:10400000EF018091EF010E9482208091EF0187FBF8 +:10401000882780F980930D0187E20E940C1FC82F2A +:104020008EE10E940C1F8111C2608FE10E940C1F63 +:104030008111C46080E20E940C1F8111C86081E27E +:104040000E940C1F8111C06182E20E940C1F81112D +:10405000C06283E20E940C1F8111C06484E20E944E +:104060000C1F882311F0C06802C0CC2329F08C2FCC +:104070000E9479206C2F03C00E947520682F70E089 +:1040800080E090E0CF910C943C1BCF9108956DEEB1 +:104090007EEF80E090E00E94B32660E082E090E056 +:1040A0000E94A12660E083E090E00E94A12660E0EB +:1040B00084E090E00E94A12660E085E090E00C940E +:1040C000A12680E090E00E949B2621E08D3E9E4F3D +:1040D00009F020E0822F089582E090E00C9493266E +:1040E000682F82E090E00C94A12683E090E00C948D +:1040F0009326682F83E090E00C94A12684E090E062 +:104100000C949326682F84E090E00C94A126809173 +:10411000D70180FF0BC06091130185E0689FB0015B +:10412000112475956795759567952BC081FF09C01A +:104130006091130185E0689FB00111247595679522 +:1041400020C082FF07C06091130185E0689FB00125 +:10415000112417C09091D8019923D1F060911201D8 +:10416000961788F72091130185E0289F900111246C +:10417000929FA001939F500D112470E0CA010E94EC +:1041800065266038710540F46115710539F002C08B +:1041900065E070E0862F08958FE7089581E0089527 +:1041A0008091D70180FF08C06091110170E0759582 +:1041B00067957595679521C081FF06C060911101D3 +:1041C00070E07595679519C082FF04C06091110178 +:1041D00070E010C09091D8019923C1F06091100156 +:1041E0009617A0F780911101899FC001112470E0FA +:1041F0000E9465266038710528F46115710521F06B +:10420000862F08958FE7089581E0089561E070E0BA +:10421000F4CF803F21F40E948720819504C0813F24 +:1042200029F40E9487208093DB010895823F21F4C6 +:104230000E948720819504C0833F29F40E94872033 +:104240008093DA010895893F19F40E94D02005C0B7 +:104250008A3F31F40E94D02081958093DC0108953B +:104260008B3F21F40E94D020819504C08C3F29F41B +:104270000E94D0208093DD010895843F21F4809135 +:10428000D901816017C0853F21F48091D9018260F6 +:1042900011C0863F21F48091D90184600BC0873F13 +:1042A00021F48091D901886005C0883F31F4809164 +:1042B000D90180618093D90108958D3F21F48091C7 +:1042C000D70181600BC08E3F21F48091D7018260BD +:1042D00005C08F3F29F48091D70184608093D70176 +:1042E0000895803F39F48091DB0187FF6CC0109204 +:1042F000DB0169C0813F29F48091DB011816BCF312 +:1043000062C09091DA01823F29F497FF5CC010925D +:10431000DA0159C0833F19F41916CCF354C0893F10 +:1043200041F48091DC0118160CF04DC01092DC01B4 +:104330004AC08A3F29F48091DC0187FF44C0F6CF50 +:104340008B3F39F48091DD0187FF3DC01092DD0184 +:104350003AC08C3F29F48091DD011816BCF333C0BC +:10436000843F21F48091D9018E7F17C0853F21F4CD +:104370008091D9018D7F11C0863F21F48091D901B0 +:104380008B7F0BC0873F21F48091D901877F05C0C7 +:10439000883F31F48091D9018F7E8093D90113C079 +:1043A0008D3F21F48091D7018E7F0BC08E3F21F489 +:1043B0008091D7018D7F05C08F3F29F48091D7016F +:1043C0008B7F8093D7018091DA0181110EC080919B +:1043D000DB0181110AC08091DC01811106C080914E +:1043E000DD01811102C01092D801089589ED91E09C +:1043F0000E9407120E945D1E9093D6018093D50102 +:1044000008951F93CF93DF938091D5019091D601AA +:104410000E94691EAC019091D801992321F020914E +:10442000140130E006C0209115018AE0289F900118 +:1044300011244217530708F486C08091DA01C09115 +:10444000DB01D091DC011091DD01811107C0C111A8 +:1044500076C0D11174C0111172C075C09F3F19F0A0 +:104460009F5F9093D801181624F40E9487208093B0 +:10447000DA018091DA0187FF05C00E9487208195CB +:104480008093DA011C1624F40E9487208093DB01BC +:104490008091DB0187FF05C00E9487208195809372 +:1044A000DB016091DA01662339F1C091DB01CC2395 +:1044B00019F1772767FD7095872F972F0E94762532 +:1044C00023E333E343E35FE30E94DA250E944325BD +:1044D0006093DA016C2F772767FD7095872F972FF0 +:1044E0000E94762523E333E343E35FE30E94DA256A +:1044F0000E9443256093DB011D1624F40E94D02006 +:104500008093DC018091DC0187FF05C00E94D020F0 +:1045100081958093DC01111624F40E94D0208093B1 +:10452000DD018091DD0187FF05C00E94D0208195CB +:104530008093DD01DF91CF911F910C94F6219F3F75 +:1045400009F08ECF96CFDF91CF911F910895E9EDBD +:10455000F1E085E0DF011D928A95E9F71092D8011C +:104560001092D7010895833081F128F4813059F0F9 +:104570008230D1F00895853009F449C0B8F1863011 +:1045800009F456C0089580911501262F30E0280FB8 +:10459000311D2F3F310524F4680F609315010895F4 +:1045A0008FEF80931501089580911401262F30E03C +:1045B000280F311D2F3F310524F4680F609314013B +:1045C00008958FEF80931401089580911301262F91 +:1045D00030E0280F311D2F3F310524F4680F609320 +:1045E000130108958FEF80931301089580911201B4 +:1045F000262F30E0280F311D2F3F310524F4680F9E +:104600006093120108958FEF8093120108958091B5 +:104610001101262F30E0280F311D2F3F310524F4E2 +:10462000680F6093110108958FEF80931101089531 +:1046300080911001262F30E0280F311D2F3F3105CA +:1046400024F4680F6093100108958FEF8093100198 +:104650000895833011F128F4813049F0823091F0CF +:104660000895853081F120F18630C1F1089580915F +:104670001501681720F4861B809315010895109288 +:104680001501089580911401681720F4861B80930A +:104690001401089510921401089580911301681770 +:1046A00020F4861B8093130108951092130108953E +:1046B00080911201681720F4861B809312010895DF +:1046C00010921201089580911101681720F4861B41 +:1046D00080931101089510921101089580911001A5 +:1046E000681720F4861B8093100108951092100122 +:1046F00008950F931F938D3109F46BC008F03FC0EC +:104700008E3009F47FC0C0F4873009F469C068F4C2 +:10471000863009F0B1C08091CF01817F8E7F809378 +:10472000CF0181E08093DF01A8C0883009F4A2C0E6 +:104730008B3009F49FC0A0C0863109F49BC078F487 +:10474000803109F472C0813109F096C00E9480174F +:1047500090910D0181E0892780930D018BC08931F3 +:1047600009F488C08B3109F087C08091CF0181FBAB +:10477000222720F991E0922790FB81F94CC08533E4 +:1047800009F470C048F4873209F46CC008F459C0C9 +:10479000893209F467C070C0833438F48A3308F072 +:1047A0004EC0883309F466C067C0833409F45AC028 +:1047B000883409F061C00E9480170FEF13ED20E3E9 +:1047C000015010402040E1F700C000000E94B81ED8 +:1047D00051C00E94FD240E94F0110E94E90A4AC0C3 +:1047E0009091CF01892F8095817080FB90F929F0FD +:1047F000966098609093CF0140C0997F977F909387 +:10480000CF0138C08091CF0182FB222720F991E0AF +:10481000922790FB82F98093CF01992359F18091DF +:10482000CF0181608093CF0125C08091CF0183FBB0 +:10483000222720F991E0922790FB83F9ECCF89534E +:1048400001C08D5141E050E060E070E08A019B01C1 +:1048500004C0000F111F221F331F8A95D2F7C90110 +:10486000B80104C061E070E080E090E00E943C1B71 +:104870000E94801781E001C080E01F910F91089590 +:1048800080E0089580E00895CF93C82F8091DF01E4 +:10489000813079F018F08230E9F187C0E0910E01A3 +:1048A000F0910F018081813169F0823209F07FC07F +:1048B00009C0E0910E01F0910F018081813111F06A +:1048C000823261F48C2F0E944024811104C08C2F0D +:1048D0000E9479231DC081E090E01AC08C2F0E94B5 +:1048E0004224811114C0C43179F048F4CB3079F0FE +:1048F000C03109F060C082E08093DF0108C0C93296 +:1049000019F0C83321F057C01092DF0154C081E084 +:10491000817053C0C93289F118F5C43171F1A8F41E +:10492000C73009F046C08AE08093150194E1909366 +:10493000140193E0909313018093120188E0809317 +:10494000110188E28093100134C0CE51C63088F541 +:10495000EC2FF0E0E65DFE4F80818093DE0129C000 +:10496000CE34E9F020F4CB3421F56AE013C0C13530 +:1049700079F0C235F1F461E00DC08091DE01882349 +:1049800019F01092DE0115C081E08093DF0115C09F +:1049900061E006C08091DE010E94B3220AC06AE095 +:1049A0008091DE010E94292304C01092DF0180E083 +:1049B00004C081E002C080E0ABCFCF910895E1E870 +:1049C000F0E08081886080838081816080838FB700 +:1049D000F89493E09093890090ED909388008FBFB6 +:1049E0000895EFE6F0E08081826080830895EFE62D +:1049F000F0E080818D7F80830895EFE6F0E0908184 +:104A000082E08927808308951F920F920FB60F923C +:104A100011242F933F934F935F936F937F938F93C3 +:104A20009F93AF93BF93EF93FF938091E001909199 +:104A3000E10101969093E1018093E001811103C0AF +:104A400082E00E94E90AE091E101E695E695F0E056 +:104A5000E05EF74FE4918091E0018E1303C080E0A7 +:104A60000E94E90AFF91EF91BF91AF919F918F91C1 +:104A70007F916F915F914F913F912F910F900FBE5A +:104A80000F901F90189504D06894B1118DC00895AF +:104A900070D088F09F5790F0B92F9927B751A0F0A8 +:104AA000D1F0660F771F881F991F1AF0BA95C9F7C2 +:104AB00012C0B13081F077D0B1E0089574C0672F93 +:104AC000782F8827B85F39F0B93FCCF38695779572 +:104AD0006795B395D9F73EF490958095709561955B +:104AE0007F4F8F4F9F4F0895E89409C097FB3EF486 +:104AF00090958095709561957F4F8F4F9F4F99232B +:104B0000A9F0F92F96E9BB279395F69587957795A8 +:104B10006795B795F111F8CFFAF4BB0F11F460FF68 +:104B20001BC06F5F7F4F8F4F9F4F16C0882311F0C0 +:104B300096E911C0772321F09EE8872F762F05C0D4 +:104B4000662371F096E8862F70E060E02AF09A956F +:104B5000660F771F881FDAF7880F9695879597F964 +:104B6000089557FD9058440F551F59F05F3F71F05D +:104B70004795880F97FB991F61F09F3F79F08795C4 +:104B80000895121613061406551FF2CF4695F1DF4D +:104B900008C0161617061806991FF1CF86957105DD +:104BA000610508940895E894BB2766277727CB0111 +:104BB00097F908950BD078C069D028F06ED018F01E +:104BC000952309F05AC05FC01124EECFCADFA0F3CD +:104BD000959FD1F3950F50E0551F629FF001729F92 +:104BE000BB27F00DB11D639FAA27F00DB11DAA1FB1 +:104BF000649F6627B00DA11D661F829F2227B00DFE +:104C0000A11D621F739FB00DA11D621F839FA00D88 +:104C1000611D221F749F3327A00D611D231F849FD8 +:104C2000600D211D822F762F6A2F11249F5750402F +:104C30008AF0E1F088234AF0EE0FFF1FBB1F661FCA +:104C4000771F881F91505040A9F79E3F510570F083 +:104C500014C0AACF5F3FECF3983EDCF386957795BE +:104C60006795B795F795E7959F5FC1F7FE2B880F7E +:104C7000911D9695879597F9089597F99F6780E814 +:104C800070E060E008959FEF80EC089500240A949E +:104C90001616170618060906089500240A94121617 +:104CA0001306140605060895092E0394000C11F44A +:104CB000882352F0BB0F40F4BF2B11F460FF04C0F7 +:104CC0006F5F7F4F8F4F9F4F089597FB072E16F40E +:104CD000009407D077FD09D00E947F2607FC05D0FD +:104CE0003EF4909581959F4F0895709561957F4F03 +:104CF0000895EE0FFF1F0590F491E02D0994AA1B73 +:104D0000BB1B51E107C0AA1FBB1FA617B70710F0B6 +:104D1000A61BB70B881F991F5A95A9F780959095E8 +:104D2000BC01CD010895F999FECF92BD81BDF89ADD +:104D3000992780B50895A8E1B0E042E050E00C94D6 +:104D4000BB26262FF999FECF92BD81BDF89A019717 +:104D500000B4021639F01FBA20BD0FB6F894FA9AC3 +:104D6000F99A0FBE08950196272F0E94A2260C944F +:104D7000A126DC01CB01FC01F999FECF06C0F2BDF2 +:104D8000E1BDF89A319600B40D9241505040B8F709 +:064D90000895F894FFCF26 +:104D96002002EB0A790B560B220BEE0A0101BC012D +:104DA60028080A03140A3F4D3639E10794075E07BF +:104DB6002507B806D106EA0603070102030405061D +:044DC60007080900D1 +:00000001FF diff --git a/keyboard/ergodox_ez/keymaps/osx_de_experimental/osx_de_experimental_highres.png b/keyboard/ergodox_ez/keymaps/osx_de_experimental/osx_de_experimental_highres.png Binary files differindex 29f1099d06..031d874a7b 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de_experimental/osx_de_experimental_highres.png +++ b/keyboard/ergodox_ez/keymaps/osx_de_experimental/osx_de_experimental_highres.png diff --git a/keyboard/ergodox_ez/keymaps/osx_de_experimental/readme.md b/keyboard/ergodox_ez/keymaps/osx_de_experimental/readme.md new file mode 100644 index 0000000000..e6a1018416 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/osx_de_experimental/readme.md @@ -0,0 +1,22 @@ + +# Ergodox und Ergodox-EZ experimentelles Layout + +dieses layout ist experimentell und wird im Lufe der Zeit viele Änderungen und Verbesserungen durchlaufen. Falls diese sich als vorteilhaft erweisen, werden sie evtl. auch in das `osx_de` layout übernommen. + + + +# Erstellt Mit Dem ErgodoxLayoutGenerator + +Der ErgodoxLayoutGenerator (ELG) ist ein kleines Werkzeug, welches die Erstellung und Pflege der eigenen Keymaps erleichtern soll. Es ist in java geschrieben und kann [hier](https://github.com/sboesebeck/ErgodoxLayoutGenerator/releases) heruntergeladen werden. Damit das Tool funktioniert sollte das offizielle Oracle JDK in aktueller Version installiert sein. +Die Dokumentation für den ELG kann man [hier](https://boesebeck.name/2016/04/16/ergodoxlayoutgenerator-documentation/) nachlesen (momentan leider nur in Englisch verfügbar). +--------------------------------------------------------------------------------------------------------------------- + +# Ergodox and Ergodox-EZ experimental layout + +This is an experimental layout which will undergo heavy changes over time. If changes prove to be good, they might also move into the `osx_de` layout. + +Created Using the ErgodoxLayoutGenerator + +The ErgodoxLayoutGenerator (ELG) is a little tool, which makes the creation and maintenance of keycaps a lot easier. It was written in Java and can be downloaded [here](https://github.com/sboesebeck/ErgodoxLayoutGenerator/releases). To use the tool, you need to have a current version of Oracles JDK installed. + +The documentation of the ELG can be viewed [here](https://boesebeck.name/2016/04/16/ergodoxlayoutgenerator-documentation/).
\ No newline at end of file diff --git a/keyboard/ergodox_ez/keymaps/townk_osx/config.h b/keyboard/ergodox_ez/keymaps/townk_osx/config.h new file mode 100644 index 0000000000..78aa3ee8b9 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/townk_osx/config.h @@ -0,0 +1,92 @@ +/* +Copyright 2012 Jun Wako <wakojun@gmail.com> +Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com> + +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 <http://www.gnu.org/licenses/>. +*/ + +#ifndef CONFIG_H +#define CONFIG_H + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x1307 +#define DEVICE_VER 0x0001 +#define MANUFACTURER ErgoDox EZ +#define PRODUCT ErgoDox EZ +#define DESCRIPTION t.m.k. keyboard firmware for Ergodox + +/* key matrix size */ +#define MATRIX_ROWS 14 +#define MATRIX_COLS 6 + +#define MOUSEKEY_DELAY 100 +#define MOUSEKEY_INTERVAL 20 +#define MOUSEKEY_MAX_SPEED 3 +#define MOUSEKEY_TIME_TO_MAX 10 + +#define TAPPING_TOGGLE 1 + +#define COLS (int []){ F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 } +#define ROWS (int []){ D0, D5, B5, B6 } + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* number of backlight levels */ +#define BACKLIGHT_LEVELS 3 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 2 +#define TAPPING_TERM 200 +#define IGNORE_MOD_TAP_INTERRUPT // this makes it possible to do rolling combos (zx) with keys that convert to other keys on hold (z becomes ctrl when you hold it, and when this option isn't enabled, z rapidly followed by x actually sends Ctrl-x. That's bad.) + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* key combination for command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \ + keyboard_report->mods == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \ +) + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +#define NO_DEBUG + +/* disable print */ +// #define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION +//#define DEBUG_MATRIX_SCAN_RATE +#define ONESHOT_TAP_TOGGLE 2 +#define ONESHOT_TIMEOUT 3000 + +#endif diff --git a/keyboard/ergodox_ez/keymaps/townk_osx/keymap.c b/keyboard/ergodox_ez/keymaps/townk_osx/keymap.c new file mode 100644 index 0000000000..b63698ec6a --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/townk_osx/keymap.c @@ -0,0 +1,285 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" +#include "action_util.h" +#include "led.h" +#include "keymap_common.h" +#include "timer.h" + +/* + +# Why this Layout + +This layout was based on Kinesis layout and other ErgoDox user layouts +available. It's target to be used on a MacOS but I'm pretty sure it can be +addapted to Windows and/or Linux easily. + +## Function Key + +The `fn` key work almost like it would in any other keyboard with the exception +it has a semi-sticky behavior. What does that mean? + +Well, if you press the `fn` and release it, the keyboard will be put on the +_function layout_ and the next key stroke will be processed as if the `fn` key +was pressed. Aftwards, the leyout get back to _normal_. If you hold `fn` and +press any other key, when you release them, the keyboard leyout is back to +_normal_. + +While pressing the `fn` with the left hand and strikeing the other keys on the +right hand is farly easy, the same cannot being said for the other keys on the +left side. So, instead of trying to do contorcionism with my left hand, I +decided to do a semi-sticky version of `fn`. This way, I can press the `fn` +key with my pinky, release it and press the `1` key to issue an `F1` to the +operating system. + +## Key-Pad Key + +The `key pad` key is a layout switch key. If pressed, it will put the keyboard +on the _key pad layout_ and stay there until key is pressed again. + +This is used to make the keyboard behave mostly like a **num pad keyboard**. + +## Notes +- Regardless in which layout you are, keys from other layouts are not + accessible. This means that if you are on the _key pad layout_, the left hand + will be pretty much unusable. + Of course that like anything else, there are exceptions to this rule. + Modifiers should remain accessible throughout the layers. +- The _shift key_ is, like the _function key_, also configured to have a sticky + behavior. +- All sticky keys have a timeout of 3 seconds. + +*/ +#define BASE 0 +#define KEYPAD 1 +#define FN 2 + +#define MACRO_TMUX_ESC 10 +#define MACRO_TMUX_PASTE 11 +#define MACRO_OSX_COPY 12 +#define MACRO_OSX_PASTE 13 + +#define M_TESC M(MACRO_TMUX_ESC) +#define M_TPASTE M(MACRO_TMUX_PASTE) +#define M_OSXCPY M(MACRO_OSX_COPY) +#define M_OSXPST M(MACRO_OSX_PASTE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Base Layer + * + * ,-----------------------------------------------------. ,-----------------------------------------------------. + * | `~ | 1 | 2 | 3 | 4 | 5 | ESC | | Pwr | 6 | 7 | 8 | 9 | 0 | - _ | + * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| + * | Tab | Q | W | E | R | T | F16 | | F17 | Y | U | I | O | P | = + | + * |-----------+------+------+------+------+------| Meh | | Meh |------+------+------+------+------+-----------| + * | \ (Ctrl) | A | S | D | F | G |------| |------| H | J | K | L | ; | ' " (Ctrl)| + * |-----------+------+------+------+------+------| F18 | | F19 |------+------+------+------+------+-----------| + * | LShift | Z | X | C | V | B | Hyper| | Hyper| N | M | , | . | / | RShift | + * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' + * | FN | KPAD |LCtrl | LAlt | LGui | | RGui | RAlt | RCtrl| KPAD | FN | + * `-----------------------------------' `-----------------------------------' + * ,-------------. ,-------------. + * | M(0) | M(1) | | M(2) | M(3) | + * ,------|------|------| |------+------+------. + * | | | Home | | PgUp | | | + * |Backsp| Del |------| |------| Enter| Space| + * | | | End | | PgDn | | | + * `--------------------' `--------------------' + * + * M(0) = Ctrk+A Esc + * (this is used to issue the Esc key to the Tmux application) + * M(1) = Ctrk+A P + * (this is used to issue the Paste key to the Tmux application) + * M(2) = Cmd+C + * M(3) = Cmd+V + */ +[BASE]=KEYMAP(//left half + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, MEH_T(KC_F16), + CTL_T(KC_BSLS), KC_A, KC_S, KC_D, KC_F, KC_G, + KC_FN2, KC_Z, KC_X, KC_C, KC_V, KC_B, ALL_T(KC_F18), + KC_FN1, TG(KEYPAD), KC_LCTRL, KC_LALT, KC_LGUI, + M_TESC, M_TPASTE, + KC_HOME, + KC_BSPC, KC_DELT, KC_END, + //right half + KC_POWER, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + MEH_T(KC_F17), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_EQL, + KC_H, KC_J, KC_K, KC_L, KC_SCLN, CTL_T(KC_QUOT), + ALL_T(KC_F19), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_FN2, + KC_RGUI, KC_RALT, CTL_T(KC_LBRC), KC_FN3, KC_FN1, + M_OSXCPY, M_OSXPST, + KC_PGUP, + KC_PGDN, KC_ENT, KC_SPC), + +/* Keymap 1: KeyPad Layer + * + * ,-----------------------------------------------------. ,-----------------------------------------------------. + * | | | LClk | RClk | MClk | | | | BTab | Clear| / | * | ^ | ( | | + * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| + * | M.Accel 2 | |ScrlUp| U |ScrlDn| | | | Tab | 7 | 8 | 9 | + | ) | | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | M.Accel 1 | | L | D | R | |------| |------| 4 | 5 | 6 | - | | | + * |-----------+------+------+------+------+------| | |Return|------+------+------+------+------+-----------| + * | M.Accel 0 | |ScrlL | |ScrlR | | | | | 1 | 2 | 3 | = | | | + * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' + * | | XXXX | | | | | 0 | . | , | XXXX | | + * `-----------------------------------' `-----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | XXXX | | + * | | |------| |------| XXXX | | + * | | | | | | XXXX | | + * `--------------------' `--------------------' + */ +[KEYPAD]=KEYMAP(//left half + KC_NO, KC_NO, KC_MS_BTN1, KC_MS_BTN2, KC_MS_BTN3, KC_NO, KC_NO, + KC_MS_ACCEL2, KC_NO, KC_MS_WH_UP, KC_MS_U, KC_MS_WH_DOWN, KC_NO, KC_NO, + KC_MS_ACCEL1, KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, KC_NO, + KC_MS_ACCEL0, KC_NO, KC_MS_WH_LEFT, KC_NO, KC_MS_WH_RIGHT, 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, + //right half + LSFT(KC_TAB), KC_CLEAR, KC_KP_SLASH, KC_KP_ASTERISK, KC_CIRCUMFLEX, KC_LPRN, KC_NO, + KC_TAB, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS, KC_RPRN, KC_NO, + KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_MINUS, KC_NO, KC_NO, + KC_KP_ENTER, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_EQUAL, KC_NO, KC_NO, + KC_KP_0, KC_KP_DOT, KC_KP_COMMA, KC_TRNS, KC_NO, + KC_NO, KC_NO, + KC_NO, + KC_NO, KC_TRNS, KC_NO), + +/* Keymap 2: Functions Layer + * + * ,-----------------------------------------------------. ,-----------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | Vol. Up | + * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| + * | | Stop | Rw | Rec | FF | | XXXX | | XXXX | | | | | | Vol. Down | + * |-----------+------+------+------+------+------| XXXX | | XXXX |------+------+------+------+------+-----------| + * | CapsLock | Eject| Prev | Play | Next | |------| |------| Left | Down | Up | Right| | Mute | + * |-----------+------+------+------+------+------| XXXX | | XXXX |------+------+------+------+------+-----------| + * | L Shift | | | | | | XXXX | | XXXX | | | | | | R Shift | + * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' + * | XXXXX | | XXXX | XXXX | XXXX | | XXXX | XXXX | XXXX | | XXXXX | + * `-----------------------------------' `-----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + * + * XXX = These keys are transparent keys that, when pressed, they issue the key from the previous layer. + */ +[FN]=KEYMAP(//left half + KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, + KC_NO, KC_MEDIA_STOP, KC_MEDIA_REWIND, KC_MEDIA_SELECT, KC_MEDIA_FAST_FORWARD, KC_NO, KC_TRNS, + KC_CAPS, KC_MEDIA_EJECT, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, KC_NO, + KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, + KC_NO, KC_NO, + KC_NO, + KC_NO, KC_NO, KC_NO, + //right half + KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_VOLU, + KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_VOLD, + KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_NO, KC_MUTE, + KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT, + KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, + KC_NO, KC_NO, + KC_NO, + KC_NO, KC_NO, KC_NO)}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_ONESHOT(FN), + [2] = ACTION_MODS_ONESHOT(MOD_LSFT), // Sticky shift light. Tap for the next keypress to be shifted. Hold for regular shift. + [3] = ACTION_LAYER_TAP_KEY(KEYPAD, KC_RBRC), +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { + // MACRODOWN only works in this function + switch(id) { + case MACRO_TMUX_ESC: + if (record->event.pressed) { + return MACRO(D(LCTRL), T(A), U(LCTRL), D(ESC), END); + } + return MACRO(U(ESC), END); + case MACRO_TMUX_PASTE: + if (record->event.pressed) { + return MACRO(D(LCTRL), T(A), U(LCTRL), D(P), END); + } + return MACRO(U(P), END); + case MACRO_OSX_COPY: + if (record->event.pressed) { + return MACRO(D(LGUI), D(C), END); + } + return MACRO(U(C), U(LGUI), END); + case MACRO_OSX_PASTE: + if (record->event.pressed) { + return MACRO(D(LGUI), D(V), END); + } + return MACRO(U(V), U(LGUI), END); + } + return MACRO_NONE; +}; + +// Runs just one time when the keyboard initializes. +void matrix_init_user(void) { +}; + +uint8_t current_layer = BASE; + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { + uint8_t layer = biton32(layer_state); + + ergodox_led_all_off(); + ergodox_led_all_set(LED_BRIGHTNESS_LO); + + switch (layer) { + case BASE: + current_layer = BASE; + break; + case KEYPAD: + current_layer = KEYPAD; + break; + default: + // none + break; + } + + // layer leds + if (current_layer == KEYPAD) { + ergodox_right_led_3_on(); + } + + // capslock + if (host_keyboard_leds() & (3<<USB_LED_CAPS_LOCK)) { + ergodox_right_led_1_on(); + } + + // Temporary leds + + // The function layer takes over other layers and we need to reflect that on the leds. + // If the current layer is the BASE, we simply turn on the FN led, but if the current + // layer is the KEYPAD, than we must turn it off before turning on the FN led. + if (layer == FN && !has_oneshot_layer_timed_out()) { + ergodox_right_led_3_off(); + ergodox_right_led_2_on(); + } + + // if the shifted is pressed I show the case led in a brighter color. This is nice to + // differenciate the shift from the capslock. + // Notice that I make sure that we're not using the shift on a chord shortcut (pressing + // shift togather with other modifiers). + if((keyboard_report->mods & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) && // is shift pressed and there is no other + !(keyboard_report->mods & (~MOD_BIT(KC_LSFT) & ~MOD_BIT(KC_RSFT)))) || // modifier being pressed as well + (get_oneshot_mods() & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) && !has_oneshot_mods_timed_out())) { // or the one shot shift didn't timed out + ergodox_right_led_1_set(LED_BRIGHTNESS_HI); + ergodox_right_led_1_on(); + } +}; diff --git a/keyboard/ergodox_ez/keymaps/townk_osx/makefile.mk b/keyboard/ergodox_ez/keymaps/townk_osx/makefile.mk new file mode 100644 index 0000000000..e757557bda --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/townk_osx/makefile.mk @@ -0,0 +1,4 @@ +# I don't want my keyboard blinking lights when is suppose to be asleep. +SLEEP_LED_ENABLE = no + +CONFIG_H = keymaps/$(KEYMAP)/config.h diff --git a/keyboard/ergodox_ez/keymaps/townk_osx/readme.md b/keyboard/ergodox_ez/keymaps/townk_osx/readme.md new file mode 100644 index 0000000000..c2853ca173 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/townk_osx/readme.md @@ -0,0 +1,77 @@ +# Townk's Keymap + +Trying to take care of an enjury on my arm I borrow an ergonomic keyboard from +a frient ([Kinesis Advantage](http://www.kinesis-ergo.com/shop/advantage-pro-for-pc-mac/)). + +I really enjoyed my time with it but there were some anoyancies: + +* The curvature on the keys bothered me since I'm a Vim user and using the + motion keys on my editor was awkard. +* I had to spend too much time remapping the keyboard to make some symbol keys + more accessible to me. +* The fact that my hands had to stay close to each other was a bit stressfull + to my sholders. + +After a long research I find out that Ergodox EZ would be perfect for my needs +and purchase one. Before the keyboard even got in my hands I started to think +on the layout I would use on it and soon enough I planed couple adjustments +from the Kinesis I was using so far. + +## The layout + +Here are the layout mapping in images so you can have a glimpse on it: + +![Base Layout](townk_osx_base.png) +![fn Layout](townk_osx_fn.png) +![Keypad & Mouse Layout](townk_osx_keypad.png) + +Notice that, differently from the default behavior, my layer keys are not transparent +by default, which means that if you press any non-labeled white key, nothing will be +handled to the OS. + +### One shot keys + +It all started with the access to the function keys (F1, F2, F3...), since +those keys are located on a different layer I needed a way to press them with +minimal effort without disrupting my flow. + +For me, togglihg a layer to press a button and than toggle it back is a waste +of time (although I admit it's a single tap from what I have), so I decided to +do it as a one shot key. I could press it and the next pressed key would be +handled by the target layer which just after it delivers the key to the OS it +would get back to the previous layer. + +After setting up my layout to do just that I realized that occasionally I +would stop myseld on the middle of the process and the one shot layer would be +still triggered until I press any other key. So to prevent me from tapping +keys I don't want I added a timeout of 3 seconds for the one shot actions. + +Ultimately I tested the shift key as a one shot one and really like it, so +here you have it, all the one shot keys on my layout. + +## Glossary + +If you're not familiar with the Mac symbols used on some keys, here is a +reference to them: + +| Symbol | Description | +| :----: | ------------------- | +| ⌘ | Command | +| ⇪ | Caps Lock | +| ⇧ | Shift | +| ⌥ | Option (alt) | +| ⎋ | Esc | +| ⇥ | Tab forward | +| ⇤ | Tab backward | +| ⌃ | Control | +| ␣ | Space | +| ⌫ | Backspace | +| ⌦ | Delete | +| ⏎ | Enter | +| ⌤ | Return | +| ⌽ | Power on/off button | +| ↖ | Home | +| ↘ | End | +| ⇞ | Page up | +| ⇟ | Page down | +| ⌧ | Clear | diff --git a/keyboard/ergodox_ez/keymaps/townk_osx/townk_osx.hex b/keyboard/ergodox_ez/keymaps/townk_osx/townk_osx.hex new file mode 100644 index 0000000000..868d86e82d --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/townk_osx/townk_osx.hex @@ -0,0 +1,1166 @@ +:100000000C9474020C94B8020C94B8020C94B802CC
+:100010000C94B8020C94B8020C94B8020C94B80278
+:100020000C94B8020C94B8020C94ED0C0C94BF0D17
+:100030000C94141C0C94B8020C94B8020C94B802E2
+:100040000C94B8020C94B8020C94B8020C94B80248
+:100050000C94B8020C947C1C0C94B8020C94B8025A
+:100060000C94B8020C94B8020C94B8020C94B80228
+:100070000C94B8020C94B8020C94B8020C94B80218
+:100080000C94B8020C94B8020C94B8020C94B80208
+:100090000C94B8020C94B8020C94B8020C94B802F8
+:1000A0000C94B8020C94B8020C94B8022C0E4E0EAC
+:1000B0003C0F4E0E3C0F930EB60E3C0F0B0F1E0F57
+:1000C00029122912551255129D12BB1237143714DA
+:1000D000C61237147B137B132814371437143114CA
+:1000E0008813881388138813881388138813881338
+:1000F0008813881388138813881388138813881328
+:100100009913A713AE13B513BF13021902E300012D
+:10011000E3011900020602E30001E30106000213F5
+:100120000001E00104020402E001130002290001C1
+:10013000E00104020402E00129000000F4A2002210
+:1001400030A135002B003171C200C10000001E003B
+:10015000140004001D0001544D001F001A00160079
+:100160001B00E0004C002000080007000600E20031
+:100170002A002100150009001900E3004A002200AE
+:1001800017000A00050000000A3029006B77000004
+:100190006D7F00000B3066006C7700006E7F000002
+:1001A0000C3023001C000B00110000000D30240057
+:1001B00018000D001000E7004B0025000C000E0099
+:1001C0003600E6002C00260012000F0037002F71C9
+:1001D00028002700130033003800C3004E002D0014
+:1001E0002E003471C200C10000000000FF00FE00BC
+:1001F000FD00000000000000000000000000010001
+:100200000000F400F900F200FB0000000000F5001F
+:10021000F000F100000000000000F600FA00F3001A
+:10022000FC000000000000000000000000000000D2
+:1002300000000000000000000000000000002B0291
+:100240002B0000005800000000009C005F005C00D4
+:10025000590000000000540060005D005A00620078
+:100260000000550061005E005B0063000000230297
+:100270005700560067008500010026022702000093
+:10028000000001000000000000000000000000006D
+:100290000000000000003900E100010000003A0009
+:1002A000AD00B0000000000000003B00BC00AC004E
+:1002B0000000010000003C00AF00AE0000000100A3
+:1002C00000003D00BB00AB000000010000003E004C
+:1002D000000000000000000000003F0001000000DE
+:1002E00001000000000040000100000001000000CB
+:1002F000000041000000500000000000000042002B
+:100300000000510000000100000043000000520006
+:10031000000001000000440000004F000000010048
+:100320000000450000000000000000000000A900DF
+:10033000AA00A800E50001000000160345007200B5
+:1003400067006F0044006F007800200045005A00ED
+:10035000000016034500720067006F0044006F0044
+:100360007800200045005A00000004030904090237
+:100370006D00040100A0FA0904000001030101005E
+:10038000092111010001223F000705810308000A2D
+:1003900009040100010301020009211101000122E9
+:1003A0004D000705820308000A090402000103004A
+:1003B000000009211101000122360007058303080E
+:1003C000000A0904030001030000000921110100D3
+:1003D00001223900070584031000011201100100F9
+:1003E000000008EDFE0713010001020001050109EC
+:1003F00006A101050719E029E715002501950875F3
+:1004000001810205081901290595057501910295DB
+:10041000017503910105071900297715002501953C
+:100420007875018102C005010980A10185021601CC
+:100430000026B7001A01002AB70075109501810047
+:10044000C0050C0901A1018503160100269C021AB2
+:1004500001002A9C02751095018100C00501090266
+:10046000A1010901A10005091901290515002501AE
+:10047000950575018102950175038101050109301A
+:1004800009311581257F9502750881060938158186
+:10049000257F950175088106050C0A38021581250E
+:1004A0007F950175088106C0C005010906A10105F7
+:1004B0000719E029E71500250195087501810295C6
+:1004C0000175088101050819012905950575019136
+:1004D000029501750391010507190029FF150025F3
+:1004E000FF950675088100C011241FBECFEFDAE02A
+:1004F000DEBFCDBF04B603FE24C08091F30190910E
+:10050000F401A091F501B091F6018730904BA7401E
+:10051000B04BB9F41092F3011092F4011092F5016E
+:100520001092F60114BE84B7877F84BF88E10FB6AE
+:10053000F89480936000109260000FBEE0E0FFE34B
+:10054000099511E0A0E0B1E0E0E9F8E402C005900F
+:100550000D92A433B107D9F711E0A4E3B1E001C0D3
+:100560001D92A33FB107E1F70E94330A0C94462481
+:100570000C940000FC016B3079F018F46A3031F013
+:100580001DC06C3079F06D3099F018C082818111F6
+:1005900018C08CE291E008958281811115C08EE12E
+:1005A00091E008958281811112C084E191E0089563
+:1005B000828181110FC08AE091E0089580E090E08F
+:1005C00008958FE291E0089581E291E0089589E134
+:1005D00091E008958FE091E008950895CF936091A0
+:1005E000B2017091B3018091B4019091B5010E9464
+:1005F0007F1BC82F56985E9825982D9826982E9880
+:1006000027982F988FE090E090938900809388003E
+:1006100090938B0080938A0090938D0080938C0040
+:10062000CC2329F0C13029F4C093340102C01092C8
+:10063000340180913401813011F4279A2F9A0E945D
+:10064000750F867011F0259A2D9AC23041F40E94E0
+:10065000081A811104C027982F98269A2E9AE091A3
+:100660000E01F0910F018081982F927259F08D7DCB
+:1006700049F48FEF90E09093890080938800259A49
+:100680002D9A08C00E94351B827221F00E94DB194E
+:10069000882379F3CF9108950C94EE0256985E98D2
+:1006A00025982D9826982E9827982F988FEF90E0D0
+:1006B000909389008093880090938B0080938A00A8
+:1006C00090938D0080938C00259A2D9A2FEF80E7D0
+:1006D00092E0215080409040E1F700C00000269A4F
+:1006E0002E9A2FEF80E792E0215080409040E1F772
+:1006F00000C00000279A2F9A2FEF80E792E0215048
+:1007000080409040E1F700C0000025982D982FEF21
+:1007100080E792E0215080409040E1F700C0000067
+:1007200026982E982FEF80E792E02150804090404D
+:10073000E1F700C0000027982F9856985E982598FA
+:100740002D9826982E9827982F98089589EA8093B7
+:10075000800089E08093810024982C983F988AB18A
+:100760008F748AB96E98479A8BB1806B8BB9769AE1
+:100770000E944E030C94ED0280E280930001809170
+:10078000350181110EC00E940B0481E08093350178
+:100790002FEF83ED90E3215080409040E1F700C0BF
+:1007A000000080E40E9411048093000181112EC09A
+:1007B0000E943B0480930001811128C00E943B04E9
+:1007C00080930001811122C08FE30E943B0480933B
+:1007D000000181111BC00E94330480E40E941104B7
+:1007E00080930001811112C08CE00E943B04809331
+:1007F000000181110BC00E943B0480930001811114
+:1008000005C08FE30E943B04809300010E943304E3
+:100810008091000108951092B9008AE08093B80099
+:10082000089594EA9093BC009091BC0097FFFCCF90
+:100830009091B900987F983021F0903111F081E0CB
+:1008400008958093BB0084E88093BC008091BC0035
+:1008500087FFFCCF8091B900887F883111F0803408
+:1008600071F780E0089584E98093BC008091BC001A
+:1008700084FDFCCF08958093BB0084E88093BC0086
+:100880008091BC0087FFFCCF9091B900987F81E0F8
+:10089000983209F480E0089584E88093BC00809148
+:1008A000BC0087FFFCCF8091BB00089580910001C0
+:1008B000811115C080E40E94110480930001811110
+:1008C0000CC082E10E943B0480930001811105C0AD
+:1008D0008FEF0E943B04809300010E94330484B197
+:1008E000807F84B985B1807F85B98AB1837F8AB9D9
+:1008F0008BB1837F8BB93E98469808950E94BC03C4
+:10090000809300010E94560480B38C7080BB81B339
+:10091000836F81BBA7E3B1E0E5E4F1E08EE08E0FE9
+:1009200011921D928E13FCCF0C94A603BF92CF920E
+:10093000DF92EF92FF920F931F93CF93DF938091FB
+:100940000001882379F0809136018F5F8093360112
+:10095000811108C00E94BC0380930001811102C074
+:100960000E944E0307E311E0C0E0D0E0DD24D39401
+:1009700082E0C82EEE24E394F12CC730D10500F5B7
+:1009800080910001811164C080E40E941104809371
+:100990000001811112C082E10E943B04809300019A
+:1009A00081110BC0C7010C2E01C0880F0A94EAF711
+:1009B00080950E943B04809300010E94330448C04C
+:1009C000CA30A1F028F4C83059F0C93061F005C030
+:1009D000CC3089F070F0CD3089F0209A289810C082
+:1009E000219A29980DC0229A2A980AC0239A2B98F6
+:1009F00007C0529A01C0539A5B9802C03E9A46982B
+:100A000090EA9A95F1F79FB1799902C082E001C00E
+:100A100080E091709D25982B7C9902C084E001C0F4
+:100A200080E0892B7D9902C038E001C030E0832B43
+:100A30007E9902C020E101C020E0822B9FB19095F9
+:100A4000991F9927991F9295990F907E892B0FC016
+:100A500080910001811149C080E40E9411048093BB
+:100A60000001882379F1B12C0E9433048B2DF80109
+:100A70009081981719F08083C09201010E9456045A
+:100A800021960F5F1F4FCE30D10509F076CF8091B0
+:100A90000101882361F1815080930101882339F09D
+:100AA0008FE99FE00197F1F700C0000020C0A5E4A6
+:100AB000B1E0E7E3F1E0CF01825F91919D938E1366
+:100AC000FCCF15C083E10E943B048093000181119B
+:100AD000CACF81E40E941104809300018111C3CF29
+:100AE0000E944C04B82EB094BFCF80E0C0CF0E94CB
+:100AF0004C0381E0DF91CF911F910F91FF90EF9018
+:100B0000DF90CF90BF900895E82FF0E0EB5BFE4FB1
+:100B1000808108950895089596E0799FF001112449
+:100B200094E5899FE00DF11D1124E60FF11DEE0FF4
+:100B3000FF1FEE5BFE4F859194910895880F991FDA
+:100B4000FC01E654F040859194910895880F991F17
+:100B5000FC01E65CFE4F8591949108950F931F93DD
+:100B6000CF93DF93EC018115904350F5C11580E2DE
+:100B7000D80708F0B3C0CB3BD10590F4C83AD105F3
+:100B800008F05AC0C53AD10508F04BC0C430D105B1
+:100B900008F0CCC1219709F0C6C101E010E006C2FF
+:100BA000CF3FD10511F008F0C1C1C03FD10508F019
+:100BB00092C0CE01805E9109089708F4B7C1B3C115
+:100BC000C11591E5D907A8F4C23020E5D20708F095
+:100BD0009EC0C11580E5D80709F485C008F091C012
+:100BE000C11520E4D20708F09EC1DD278E01106CEC
+:100BF000DDC1C11580E8D80758F4C11590E7D907C1
+:100C000008F08DC1C11520E6D20708F422C18BC1BE
+:100C1000C11580E9D80708F086C1DF708E01106A1F
+:100C2000C5C1C53AD10509F483C1C63AD10509F059
+:100C300082C102E810E4BAC1C83AD10509F47EC104
+:100C4000C93AD10509F47DC1CA3AD10509F47CC17C
+:100C5000CB3AD10509F47BC1CC3AD10509F47AC16C
+:100C6000CD3AD10509F479C1C03BD10509F478C169
+:100C7000CE3AD10509F477C1CF3AD10509F476C14E
+:100C8000C13BD10509F475C1C23BD10509F474C15A
+:100C9000C33BD10509F473C1C43BD10509F472C14A
+:100CA000C53BD10509F471C1C63BD10509F470C13A
+:100CB000C73BD10509F46FC1C83BD10509F46EC12A
+:100CC000C93BD10509F46DC1CA3BD10509F46CC11A
+:100CD00000E014E46BC18E01106568C1CE019F7005
+:100CE0000E94A60564C10E948B149FEF24E38CE050
+:100CF000915020408040E1F700C000000E94A11CFC
+:100D000055C18091D40181608093D4014FC10E946C
+:100D10004A1E811102C00E94301E0E94671E90E090
+:100D20009093F3018093F201C23090E5D90721F44A
+:100D30008091F201816086C0C43020E5D20721F4A1
+:100D40008091F20182607EC0C63080E5D80721F430
+:100D50008091F201846076C0C83090E5D90719F41B
+:100D60008091F20127C0CA3020E5D20721F480919A
+:100D7000F201806167C0CC3080E5D80721F4809112
+:100D8000F20180625FC0CE3090E5D90721F48091F6
+:100D9000F201806457C0C03120E5D20721F4809170
+:100DA000F20180684FC0C23180E5D80729F48091F4
+:100DB000F2018460886046C0C33090E5D90721F411
+:100DC0008091F2018E7F3EC0C53020E5D20721F42C
+:100DD0008091F2018D7F36C0C73080E5D80721F4BD
+:100DE0008091F2018B7F2EC0C93090E5D90719F4AC
+:100DF0008091F20126C0CB3020E5D20721F480910A
+:100E0000F2018F7E1FC0CD3080E5D80721F480919C
+:100E1000F2018F7D17C0CF3090E5D90721F4809182
+:100E2000F2018F7B0FC0C13120E5D20721F4809100
+:100E3000F2018F7707C0C331D04531F48091F201C0
+:100E40008B7F877F8093F2018091F2010E946B1E5D
+:100E5000ADC08D2F99278F70992781309105D9F4D6
+:100E60009E012370332702C0880F991F2A95E2F74D
+:100E70009C688E0144E0000F111F4A95E1F700279E
+:100E80001370802B912B53E0CC0FDD1F5A95E1F7A7
+:100E9000C076DD272FC08230910531F4DC2FCC27BE
+:100EA0008E01016F106A82C08330910569F4CE0112
+:100EB0008370992701E010E002C0000F111F8A958E
+:100EC000E2F7C8019C680FC084309105B9F4CE01E7
+:100ED0008370992701E010E002C0000F111F8A956E
+:100EE000E2F7C8019A6823E0CC0FDD1F2A95E1F7ED
+:100EF000C07ED7708C010C2B1D2B58C085309105FE
+:100F000031F4DC2FCC278E01046F106A4FC0069796
+:100F100009F04CC0CF71DD27DC2FCC2701C0DF707A
+:100F20008E01106243C000E010E040C08E013EC060
+:100F300001E810E43BC003E810E438C002EE14E41A
+:100F400035C009EE14E432C00AEE14E42FC005EBFC
+:100F500014E42CC006EB14E429C007EB14E426C00B
+:100F60000CEC14E423C00DEC14E420C003E815E4F9
+:100F70001DC00AE815E41AC002E915E417C004E927
+:100F800015E414C001E216E411C003E216E40EC039
+:100F900004E216E40BC005E216E408C006E216E41B
+:100FA00005C007E216E402C00AE216E4C801DF91B8
+:100FB000CF911F910F91089596E0799FF001112430
+:100FC00094E5899FE00DF11D1124E60FF11DEE0F50
+:100FD000FF1FEE5BFE4F85919491803E9105E0F4FA
+:100FE000803C910558F58133910509F46FC048F4B0
+:100FF0008932910509F463C08A32910509F46DC004
+:1010000072C089339105E9F082389105D1F08533BA
+:10101000910509F44DC067C0833E910581F138F414
+:10102000803E9105B9F0823E9105D9F05CC0863EC4
+:10103000910561F1873E9105A1F155C00E949E0581
+:1010400008952091F20120FD02C021FF4CC080EEE6
+:1010500090E049C08091F20180FFF9CF89E390E0F0
+:1010600042C08091F20182FF0EC08091F20184FFA4
+:1010700003C080E090E037C083EE90E034C0809100
+:10108000F20182FFF2CF82EE90E02DC08091F2015A
+:1010900083FF0BC08091F20184FDEBCF87EE90E0DF
+:1010A00022C08091F20183FFF5CF86EE90E01BC055
+:1010B0008091F20185FF07C089E290E014C0809121
+:1010C000F20185FFF9CF85E390E00DC08091F20138
+:1010D00086FF07C08AE290E006C08091F20186FF99
+:1010E000F9CF81E390E00E94AE05089508950C9435
+:1010F0007608809163010895CF93DF9300D01F920B
+:10110000CDB7DEB79C018091E901843019F593E0F9
+:1011100099833B832A839093E9008FEF9091E800B5
+:10112000815095FD06C095ED9A95F1F7000081116B
+:10113000F5CF8091E80085FF0DC040E050E063E00E
+:1011400070E0CE0101960E94DD0A8091E8008E7762
+:101150008093E8000F900F900F90DF91CF9108954A
+:10116000CF93DF9300D01F92CDB7DEB72091E90176
+:10117000243021F522E029839B838A8383E08093B6
+:10118000E9008FEF9091E800815095FD06C095ED44
+:101190009A95F1F700008111F5CF8091E80085FF65
+:1011A0000DC040E050E063E070E0CE0101960E9487
+:1011B000DD0A8091E8008E778093E8000F900F9011
+:1011C0000F90DF91CF9108952091E9012430F1F43F
+:1011D00022E02093E9002FEF3091E800215035FD07
+:1011E00006C035ED3A95F1F700002111F5CF2091B9
+:1011F000E80025FF0BC040E050E065E070E00E9491
+:10120000DD0A8091E8008E778093E8000895CF93FF
+:10121000DF93EC019091E901943009F046C0809190
+:101220000C018823D9F080910D018823B9F09093A7
+:10123000E9008FEF9091E800815095FD06C095E19F
+:101240009A95F1F700008111F5CF8091E80085FFB4
+:101250002CC040E050E060E170E017C081E0809376
+:10126000E9008FEF9091E800815095FD06C095ED63
+:101270009A95F1F700008111F5CF8091E80085FF84
+:1012800014C040E050E068E070E0CE010E94DD0A4A
+:101290008091E8008E778093E80080E1FE01A3E56D
+:1012A000B1E001900D928A95E1F7DF91CF91089519
+:1012B0008091E801811109C00E94720C0E94CF0C3C
+:1012C0008091E20084608093E20008951092E8012A
+:1012D0000895089508950C940E1C42E061EC81E09D
+:1012E0000E94EC0B42E061EC82E00E94EC0B42E0D9
+:1012F00061EC83E00E94EC0B42E161EC84E00C9431
+:10130000EC0B8091EB01833009F455C030F481304F
+:1013100071F0823009F48EC008958A3009F47AC0E1
+:101320008B3009F460C0893009F09CC020C08091E6
+:10133000EA01813A09F096C08091E800877F8093A6
+:10134000E8008091EE019091EF01892B21F460E19A
+:1013500083E591E003C060E080E090E070E00E94EF
+:10136000280B8091E8008B778093E80008958091A6
+:10137000EA01813209F076C08091EE019091EF018F
+:10138000009719F0039709F06DC08091E800877FFE
+:101390008093E8008091E80082FD05C08091E9011A
+:1013A0008111F8CF5FC08091F1008093630180913B
+:1013B000E8008B7753C08091EA01813A09F052C06E
+:1013C0008091EE019091EF01892B09F04BC0809143
+:1013D000E800877F8093E8008091E80080FFFCCFE1
+:1013E00080910C0136C08091EA018132D9F580915B
+:1013F000EE019091EF01892BA9F58091E800877F9C
+:101400008093E8000E94210C8091EC0180930C01F4
+:101410000C948B148091EA01813221F58091E800CF
+:10142000877F8093E8000E94210C8091ED018093DA
+:10143000640108958091EA01813AA1F48091E80065
+:10144000877F8093E8008091E80080FFFCCF809147
+:1014500064018093F1008091E8008E778093E8002A
+:101460000C94210C089584B7877F84BF88E10FB660
+:10147000F89480936000109260000FBE90E080E8C6
+:101480000FB6F89480936100909361000FBE0E94A4
+:10149000C40F0E94720C0E94CF0C8091E200846005
+:1014A0008093E20078940E94550F0E94C60F82E05C
+:1014B00091E00E94700F8091E901853069F40E94EB
+:1014C000CF1B8091E7018823B1F30E94FA1B882388
+:1014D00091F30E94C70AEFCF0E94CC0FECCF292FC7
+:1014E000332723303105C9F064F42130310581F010
+:1014F0002230310509F043C08DE690E02EE633E05E
+:1015000042C021323105F1F02232310541F137C0BC
+:1015100082E190E02BED33E036C0992781309105D0
+:1015200041F08230910541F0892B49F5EAE6F3E07C
+:1015300005C0E2E5F3E002C0EAE3F3E0849190E065
+:101540009F0121C06430D8F4E62FF0E0EE0FFF1FBA
+:10155000EE5DFE4F2081318189E090E014C064305F
+:1015600070F470E0FB01EE0FFF1FE65EFE4F20817E
+:101570003181FB01EA5EFE4F808190E004C080E093
+:1015800090E020E030E0FA0131832083089580E18B
+:1015900089BD82E189BD09B400FEFDCF8091D800EC
+:1015A0008F7D8093D8008091E00082608093E0007E
+:1015B0008091E00081FDFCCF0895CF92DF92EF9201
+:1015C000FF920F931F93CF93DF93EC018B016A017E
+:1015D0000E94400C811133C0C114D10439F0F601CE
+:1015E00080819181081B190BC80FD91FE12CF12CA8
+:1015F0000115110519F18091E80085FD16C0809153
+:10160000E8008E778093E800C114D10449F0F60118
+:1016100080819181E80EF91EF182E08285E00FC0A1
+:101620000E94400C882321F30AC089918093F10025
+:1016300001501109FFEFEF1AFF0ADACF80E0DF91C6
+:10164000CF911F910F91FF90EF90DF90CF90089571
+:101650002091F0013091F1012617370748F061150C
+:10166000710539F42091E8002E772093E80001C03D
+:10167000B90140E061157105A9F12091E90122232A
+:1016800009F443C0253009F442C02091E80023FD4D
+:1016900040C02091E80022FD32C02091E80020FFE8
+:1016A000E9CF4091F3002091F20030E0342BFC01AF
+:1016B000CF016115710559F02830310540F4819151
+:1016C0008093F100615071092F5F3F4FF1CF41E0EE
+:1016D0002830310509F040E02091E8002E77209372
+:1016E000E800C8CF4111C9CF0AC08091E901882321
+:1016F00061F0853061F08091E80083FD0AC080913F
+:10170000E80082FFF2CF80E0089582E0089583E050
+:10171000089581E008952091F0013091F10126179C
+:10172000370748F06115710539F42091E8002E77EC
+:101730002093E80001C0B901FC0120E061157105AA
+:1017400091F18091E901882309F440C0853009F4C2
+:101750003FC08091E80083FD3DC08091E80082FD9C
+:101760002FC08091E80080FFE9CF2091F3008091A5
+:10177000F20090E0922B6115710559F088309105C7
+:1017800040F424912093F100319661507109019643
+:10179000F2CF21E0089709F020E08091E8008E77F1
+:1017A0008093E800CBCF2111CCCF0AC08091E90112
+:1017B000882361F0853061F08091E80083FD0AC0E4
+:1017C0008091E80082FFF2CF80E0089582E00895E2
+:1017D00083E0089581E00895982F973058F590930D
+:1017E000E900981739F07091EC002091ED005091CC
+:1017F000F00003C0242F762F50E021FF19C0309154
+:10180000EB003E7F3093EB003091ED003D7F309355
+:10181000ED003091EB0031603093EB007093EC0001
+:101820002093ED005093F0002091EE0027FF07C0B9
+:101830009F5FD3CF8F708093E90081E0089580E0AF
+:1018400008958091EA0187FF11C08091E80082FD30
+:1018500005C08091E9018111F8CF11C08091E800A5
+:101860008B770BC08091E901882349F08091E800D3
+:1018700080FFF8CF8091E8008E778093E80008958C
+:101880002091E4003091E50095E64091EC00842F32
+:10189000817040FF22C08091E80080FD1CC08091D3
+:1018A000E901882391F0853091F08091EB0085FD6E
+:1018B00010C04091E4005091E5004217530729F30E
+:1018C0009A01915011F784E0089582E0089583E031
+:1018D000089581E0089580E008954091E80042FF76
+:1018E000DECF08950E94E00C0E94E80CE0EEF0E0EC
+:1018F000808181608083E8EDF0E080818F77808354
+:1019000019BCA7EDB0E08C918E7F8C9380818F7E87
+:1019100080831092E80108950F931F93CF93DF9374
+:101920000E94E00C0E94E80CC8EDD0E088818F771F
+:10193000888388818068888388818F7D888319BCAB
+:101940001092E9011092E5011092E7011092E60170
+:1019500000EE10E0F80180818B7F808388818160B8
+:10196000888342E060E080E00E94EC0BE1EEF0E072
+:1019700080818E7F8083E2EEF0E0808181608083D1
+:10198000808188608083F80180818E7F8083888158
+:1019900080618883DF91CF911F910F910895E8EDC9
+:1019A000F0E080818F7E8083E7EDF0E080818160D0
+:1019B000808384E082BF81E08093E8010C948C0CEA
+:1019C000E8EDF0E080818E7F80831092E200089540
+:1019D0001092DA001092E10008951F920F920FB654
+:1019E0000F9211242F933F934F935F936F937F93A5
+:1019F0008F939F93AF93BF93EF93FF938091E100F9
+:101A000082FF0BC08091E20082FF07C08091E1005D
+:101A10008B7F8093E1000E94540F8091DA0080FF59
+:101A20001FC08091D80080FF1BC08091DA008E7F9C
+:101A30008093DA008091D90080FF0DC080E189BDDC
+:101A400082E189BD09B400FEFDCF81E08093E90108
+:101A50000E94580905C019BC1092E9010E9466094C
+:101A60008091E10080FF19C08091E20080FF15C0E5
+:101A70008091E2008E7F8093E2008091E20080619D
+:101A80008093E2008091D80080628093D80019BCD6
+:101A900085E08093E9010E946A098091E10084FF5A
+:101AA00030C08091E20084FF2CC080E189BD82E1DA
+:101AB00089BD09B400FEFDCF8091D8008F7D809351
+:101AC000D8008091E1008F7E8093E1008091E20058
+:101AD0008F7E8093E2008091E20081608093E2003B
+:101AE0008091E501882311F084E007C08091E30034
+:101AF00087FD02C081E001C083E08093E9010E947C
+:101B00006B098091E10083FF29C08091E20083FF8F
+:101B100025C08091E100877F8093E10082E080937F
+:101B2000E9011092E5018091E1008E7F8093E10050
+:101B30008091E2008E7F8093E2008091E2008061DC
+:101B40008093E20042E060E080E00E94EC0B809134
+:101B5000F00088608093F0000E946909FF91EF9186
+:101B6000BF91AF919F918F917F916F915F914F91B5
+:101B70003F912F910F900FBE0F901F9018951F92BD
+:101B80000F920FB60F9211242F933F934F935F93B1
+:101B90006F937F938F939F93AF93BF93CF93DF9375
+:101BA000EF93FF93C091E900CF708091EC00D82FA4
+:101BB000D17080FDD0E81092E9008091F000877F1D
+:101BC0008093F00078940E94030E1092E9008091B7
+:101BD000F00088608093F000CD2BCF70C093E900B7
+:101BE000FF91EF91DF91CF91BF91AF919F918F9135
+:101BF0007F916F915F914F913F912F910F900FBE09
+:101C00000F901F9018951F93CF93DF93CDB7DEB73A
+:101C1000AA970FB6F894DEBF0FBECDBFEAEEF1E093
+:101C200088E08E0F9091F10091938E13FBCF0E946C
+:101C300081098091E80083FF1FC18091EA019091A2
+:101C4000EB01492F50E04A30510508F015C1FA0167
+:101C5000EA5AFF4F0C94F623803881F0823809F05D
+:101C60000BC18091EE018F708093E9008091EB00B1
+:101C700085FB882780F91092E90006C08091E60173
+:101C80009091E701911182609091E800977F909385
+:101C9000E8008093F1001092F100C8C0282F2D7F3A
+:101CA00009F0EAC0882319F0823061F0E5C0809124
+:101CB000EC01813009F0E0C0933009F080E08093BE
+:101CC000E7012BC08091EC01811127C08091EE01CA
+:101CD0008F7009F4D1C08093E9002091EB0020FFC0
+:101CE0001CC0933021F48091EB00806214C090916D
+:101CF000EB0090619093EB0021E030E0A90102C07D
+:101D0000440F551F8A95E2F74093EA001092EA00CB
+:101D10008091EB0088608093EB001092E900809145
+:101D2000E800877F86C08111A7C01091EC011F7762
+:101D30008091E3008078812B8093E3008091E8001C
+:101D4000877F8093E8000E94210C8091E80080FF4B
+:101D5000FCCF8091E30080688093E300111102C002
+:101D600082E001C083E08093E90186C08058823020
+:101D700008F082C08091EC019091ED018C3D53E020
+:101D8000950779F583E08A838AE289834FB7F894CF
+:101D9000DE01139620E03EE051E2E32FF0E05093A5
+:101DA0005700E49120FF03C0E295EF703F5FEF70B2
+:101DB0008E2F90E0EA3010F0C79601C0C0968D9348
+:101DC0009D932F5F243149F74FBF8091E800877FB3
+:101DD0008093E8006AE270E0CE0101960E94280B31
+:101DE00014C0AE014F5F5F4F6091EE010E946F0A19
+:101DF000BC01892B09F440C09091E800977F909333
+:101E0000E80089819A810E948B0B8091E8008B7792
+:101E10008093E80031C0803879F58091E800877FB1
+:101E20008093E8008091E5018093F1008091E800C3
+:101E30008E778093E8000E94210C1EC081111CC087
+:101E40009091EC019230C0F48091E800877F8093FC
+:101E5000E8009093E5010E94210C8091E501811139
+:101E600006C08091E30087FD02C081E001C084E0EC
+:101E70008093E9010E946D098091E80083FF0AC008
+:101E80008091E800877F8093E8008091EB0080627A
+:101E90008093EB00AA960FB6F894DEBF0FBECDBFBD
+:101EA000DF91CF911F9108950895CF938091E9011B
+:101EB0008823A1F0C091E900CF709091EC00892FA8
+:101EC000817090FD80E8C82B1092E9008091E800B5
+:101ED00083FD0E94030ECF70C093E900CF91089557
+:101EE00090936A01809369010895E0916901F091EE
+:101EF0006A01309721F00190F081E02D099480E093
+:101F00000895E0916901F0916A01309721F0028013
+:101F1000F381E02D09940895E0916901F0916A013F
+:101F2000309721F00480F581E02D099408952091E7
+:101F30006701309168018217930771F090936801EF
+:101F400080936701E0916901F0916A01309721F077
+:101F50000680F781E02D0994089520916501309164
+:101F600066018217930771F0909366018093650173
+:101F7000E0916901F0916A01309721F00084F185C8
+:101F8000E02D0994089508950C94C30F0E943D1C00
+:101F90000E947E040C94031DCF92DF92EF92FF9279
+:101FA0000F931F93CF93DF93CDB7DEB72B970FB669
+:101FB000F894DEBF0FBECDBF0E9496048CE6C82EFB
+:101FC00081E0D82E00E010E0E02E802F0E948405F2
+:101FD000F60141916F01F42EF826B1F40F5F1F4F07
+:101FE0000E30110589F78FEF89838A831B820E9447
+:101FF000461C8160782F9D838C8349815A816B8137
+:102000008D810E946F1040C09091D40191FF04C057
+:102010008B870E948A058B8520E030E04F2D50E0B1
+:10202000922FBA01022E02C0759567950A94E2F7C5
+:1020300060FF24C02E83EF8221E030E0690102C0FE
+:10204000CC0CDD1C9A95E2F790E08C219D21892B28
+:1020500009F420E028870E94461C8160782F9A8727
+:1020600089874E815F8168858A850E946F10F8019B
+:10207000E459FE4F8081C826C08206C02F5F3F4FC3
+:102080002630310569F6AACF0E94EA1F10916B0134
+:102090000E94750F1817A1F00E94750F80936B01B5
+:1020A0002B960FB6F894DEBF0FBECDBFDF91CF9158
+:1020B0001F910F91FF90EF90DF90CF900C947708D5
+:1020C0002B960FB6F894DEBF0FBECDBFDF91CF9138
+:1020D0001F910F91FF90EF90DF90CF900895CF93D5
+:1020E000DF93CDB7DEB72B970FB6F894DEBF0FBEE8
+:1020F000CDBF4F83588769877A878B87DE0111961A
+:1021000086E0FD0111928A95E9F785E0FE01379698
+:1021100001900D928A95E1F749815A816B817C810A
+:102120008D819E810E9429172B960FB6F894DEBFF1
+:102130000FBECDBFDF91CF9108950895CF9388232F
+:1021400009F4C2C0C82F823859F40E94750F81FD6E
+:10215000BBC089E30E946C1A0E94491B89E30CC032
+:10216000833879F40E94750F80FDAEC083E50E942C
+:102170006C1A0E94491B83E50E94AE1ACF910C9401
+:10218000491B843859F40E94750F82FD9DC087E475
+:102190000E946C1A0E94491B87E4EECF8CEF8C0FD3
+:1021A000813A48F48C2F0E94252281118DC08C2FFA
+:1021B0000E946C1AE3CF80E28C0F883048F4C7701D
+:1021C00081E001C0880FCA95EAF70E94F51AD6CFC0
+:1021D0008BE58C0F833078F4C53A29F0C63A31F09C
+:1021E00083E890E005C081E890E002C082E890E0DA
+:1021F000CF910C94970F88E58C0F833108F064C061
+:10220000C83A39F1C93A41F1CA3A49F1CB3A51F1E8
+:10221000CC3A59F1CD3A61F1C03B69F1CE3A71F156
+:10222000CF3A79F1C13B81F1C23B89F1C33B91F1D6
+:10223000C43B99F1C53BA1F1C63BA9F1C73BB1F144
+:10224000C83BB9F1C93BC1F1CA3BC9F180E090E09C
+:1022500038C082EE90E035C089EE90E032C08AEE60
+:1022600090E02FC085EB90E02CC086EB90E029C079
+:1022700087EB90E026C08CEC90E023C08DEC90E0E2
+:1022800020C083E891E01DC08AE891E01AC082E98D
+:1022900091E017C084E991E014C081E292E011C09E
+:1022A00083E292E00EC084E292E00BC085E292E00D
+:1022B00008C086E292E005C087E292E002C08AE2AE
+:1022C00092E0CF910C94AD0FCF910895882309F43B
+:1022D0004BC0823859F40E94750F81FF45C089E3D5
+:1022E0000E946C1A0E94491B89E30CC0833871F468
+:1022F0000E94750F80FF38C083E50E946C1A0E940F
+:10230000491B83E50E94AE1A0C94491B843859F48A
+:102310000E94750F82FF28C087E40E946C1A0E94F9
+:10232000491B87E4EFCF9CEF980F913A58F390E266
+:10233000980F983050F4877091E001C0990F8A95FA
+:10234000EAF7892F0E94FB1ADFCF9BE5980F9330A5
+:1023500020F480E090E00C94970F885A833120F4A9
+:1023600080E090E00C94AD0F0895882321F00E9446
+:10237000F51A0C94491B0895882321F00E94FB1A3A
+:102380000C94491B08952F923F924F925F927F9237
+:102390008F929F92AF92BF92CF92DF92EF92FF9275
+:1023A0000F931F93CF93DF9300D000D01F92CDB730
+:1023B000DEB725E0FC01DE01119601900D922A9511
+:1023C000E1F7FC0100811181F280E580E2943FE0B9
+:1023D000E32223813481232B09F472C21F3F19F4B5
+:1023E0000F3F09F46DC26C010E94081A882319F08E
+:1023F00082E00E944A1AC6010E949D1009831A8336
+:1024000069817A818F2D0E94CE198C010E948319D7
+:102410000E944A18F1100E94121B0E94651A88231C
+:1024200079F0FF2069F080E2800F883048F082E088
+:102430000E944A1A0E94651A91E0782E792601C0FE
+:10244000712CE12FE295EF70F0E0E05AFF4F0C9411
+:10245000F623812F807F1F70882311F01295107F43
+:10246000FF2089F0112309F4E8C180E2800F883051
+:1024700020F4812F0E94F51A03C0812F0E94051BB2
+:102480000E94491BDAC1802F0E946611112309F4B2
+:10249000EEC1005E812F083018F40E94FB1A02C0C2
+:1024A0000E940B1B0E94491BE2C1812F807F1F707D
+:1024B000803211F01295107F002319F0013049F19C
+:1024C00032C0FF2091F0EE2091F1F1E0EF1204C054
+:1024D000812F0E94251BCBC122E0E21228C00E945E
+:1024E0002E1B812F0E94D51922C0EE2079F031E0F9
+:1024F000E31208C00E94F21A812309F4B8C10E94B5
+:10250000D81904C042E0E41609F4B1C10E942E1BA0
+:1025100012C0FF2029F051E05E1508F4A8C107C0E1
+:10252000E110A5C108C0FF2021F0E11086C1812F74
+:10253000F7C0E11089C1812FF9C0812F869586955A
+:10254000837090E0009719F0019759F090C1FF2037
+:1025500019F0C801937002C080E090E00E94970FCC
+:1025600086C1FF2019F0C801937002C080E090E09E
+:102570000E94AD0F7CC1802FFF2019F00E94F21E37
+:1025800002C00E945A1F0E94DF1F71C1812F8370F9
+:1025900009F055C0F1106BC1802F82958695877028
+:1025A000880F880F902F9F70492F50E060E070E0F7
+:1025B0001A012B01082E04C0220C331C441C551C8C
+:1025C0000A94D2F704FF15C02FE0822E912CA12C83
+:1025D000B12CA501940104C0220F331F441F551FC5
+:1025E0008A95D2F7CA01B90160957095809590954A
+:1025F00003C060E070E0CB01169516951370412F73
+:1026000050E04230510569F04330510589F06229AC
+:102610007329842995294130510571F00E94711860
+:1026200026C162297329842995290E948D181FC10A
+:102630000E947118C201B1010E94551818C1FF20F3
+:1026400019F0812F817001C08695882309F40FC18C
+:10265000802F829586958770880F880F902F9F70A6
+:10266000492F50E060E070E01A012B01082E04C0F1
+:10267000220C331C441C551C0A94D2F704FF15C0CD
+:102680009FE0892E912CA12CB12CA501940104C0AE
+:10269000220F331F441F551F8A95D2F7CA01B90173
+:1026A000609570958095909503C060E070E0CB01D7
+:1026B000169516951370412F50E04230510569F080
+:1026C0004330510589F062297329842995294130C5
+:1026D000510571F00E944B19CAC0622973298429DF
+:1026E00095290E946719C3C00E944B19C201B1010C
+:1026F0000E942F19BCC0802F90E0FC01E05EF10920
+:10270000E531F10508F094C0E059FF4F0C94F62331
+:102710000F70812F8F71FF2031F00E94C818802F19
+:102720000E94B511A4C00E94E918802F0E94BC111C
+:102730009EC0FF2039F0E1109AC0812F8F710E9456
+:102740000E1995C031E03E1508F491C0F6CFFF2078
+:1027500039F0812F8F710E94C81889C0FF20C9F3FA
+:10276000812F8F710E94E91882C0FF2029F0812FEC
+:102770008F710E94B3187BC00E94A91878C0FF20F7
+:10278000C1F00E94D2190E94FB1A0E94041A8430E0
+:1027900029F40E94431A812F8F717AC041E04E15AF
+:1027A00008F48EC01F71812F0E94C81863E0812F2A
+:1027B0000EC00E94D2190E94F51A51E05E15F8F47D
+:1027C0000E94431A0E94D81964E0812F8F710F90E4
+:1027D0000F900F900F900F90DF91CF911F910F915D
+:1027E000FF90EF90DF90CF90BF90AF909F908F9031
+:1027F0007F905F904F903F902F900C94331A81E020
+:102800000F900F900F900F900F90DF91CF911F912D
+:102810000F91FF90EF90DF90CF90BF90AF909F907F
+:102820008F907F905F904F903F902F900C944A1A1A
+:10283000FF2039F0EE2009F48CCF802F0E949E10EB
+:1028400016C0EE2009F48CCF802F0E9466110FC0B5
+:10285000412F4F70602FC6010E94BA020E94CD170F
+:1028600006C0412F4F70602FC6010E948B05772054
+:1028700039F10E94041A80FD23C0F60112820E94E1
+:10288000FE190E94C818C6010E94C3110E94FE19B9
+:102890000F900F900F900F900F90DF91CF911F919D
+:1028A0000F91FF90EF90DF90CF90BF90AF909F90EF
+:1028B0008F907F905F904F903F902F900C94E918ED
+:1028C0000F900F900F900F900F90DF91CF911F916D
+:1028D0000F91FF90EF90DF90CF90BF90AF909F90BF
+:1028E0008F907F905F904F903F902F9008950E941F
+:1028F000121B0E94221B0E94E41A0E94491B0E9484
+:1029000090200E94DF1F80E090E00E94970F80E0FF
+:1029100090E00C94AD0F0E94021B0C9477140E945F
+:10292000C319292F22952F7030E02C3031054CF43B
+:102930002A3031056CF42250310922303105A8F4D7
+:1029400007C02C30310569F02F30310551F00DC032
+:10295000803F69F018F4803E40F409C0843F29F4B8
+:1029600006C093FB882780F9089580E0089581E0F0
+:102970000895CF93DF9300D000D01F92CDB7DEB77C
+:102980000F900F900F900F900F90DF91CF910895BF
+:10299000CF93DF9300D000D000D0CDB7DEB726961E
+:1029A0000FB6F894DEBF0FBECDBFDF91CF91089573
+:1029B0001F93CF93DF93C0917A0116E080917B0142
+:1029C000C81799F0D0E01C9FF0011D9FF00D112455
+:1029D000E458FE4F408151816281738184819581E9
+:1029E0000E94C8142196C770E9CFDF91CF911F9143
+:1029F00008954091AC015091AD016091AE0170918C
+:102A0000AF018091B0019091B1010C94C8148091F4
+:102A1000B10182958F7009F054C08091AE01882376
+:102A200009F44FC080917A01A0917B016091AC01C3
+:102A30007091AD014091AF015091B001B6E08A179D
+:102A400009F43FC090E041155105C1F17F3F11F4F9
+:102A50006F3FA1F1B89FF001B99FF00D1124E45828
+:102A6000FE4F218172132AC02081621327C0228168
+:102A7000211124C0238134812417350710F42150FB
+:102A80003109241B350B283C3105C0F42091B101DC
+:102A90002F7020612093B10126E0289FF001299F2B
+:102AA000F00D1124EF57FE4F80818F70806180837D
+:102AB0008CEA91E00E94C3110C94D814019687709F
+:102AC000BECF0895CF92DF92EF92FF920F931F93A4
+:102AD000CF93DF93CDB7DEB762970FB6F894DEBF22
+:102AE0000FBECDBF8C0185E0F801DE011D9601907F
+:102AF0000D928A95E1F7D8014C9111965C9111974E
+:102B000012966C9112971396CD90DC901497309199
+:102B1000AC017091AD018091AF019091B00100972F
+:102B200009F46BC17F3F19F43F3F09F466C1E0909F
+:102B3000AE01EE2009F4C0C02091B101C816D9063B
+:102B400028F0F601E81BF90BCF0104C080959095A1
+:102B50008C0D9D1DFF24F394883C910578F0F12C99
+:102B6000207F09F0C6C07C2DD98AC88A89890E9435
+:102B7000B9148CEA91E00E94C311B1C0822F807F0A
+:102B800009F046C0751314C0341312C0611110C08F
+:102B90002F7020612093B1010E94F9148CEA91E01A
+:102BA0000E94C3118091B101D80115968C932EC05B
+:102BB000CD2819F15F3F11F44F3FF9F0F62E611166
+:102BC0001CC080917A0120917B0136E0821709F4C4
+:102BD0005AC090E0389FF001399FF00D1124E4585D
+:102BE000FE4F7181571306C07081471303C0728175
+:102BF000711103C001968770E9CFF62E662309F4A0
+:102C000018C18091B10181608093B101F12C11C193
+:102C1000751308C0341306C0611104C08091B1015E
+:102C2000D801C3C04D875E878D859E856A8B0E94C3
+:102C30008F146A898823E1F16623D1F12091B101D3
+:102C4000822F82958F7090E0029774F08091AC0192
+:102C50009091AD0198878F831986DB86CA862C8771
+:102C6000CE0107960E94C31186E0F801ACEAB1E0FC
+:102C700001900D928A95E1F70E9407150E94F914C0
+:102C8000FF24F394D6C04D875E878D859E850E9474
+:102C9000C319292F22952F7030E0223031050CF016
+:102CA000BCC09F7009F0B6C0805E883008F4C1C017
+:102CB000C8010E94C311E4CFC816D90608F453C056
+:102CC000F601E81BF90BCF01883C910508F450C0D0
+:102CD000F12C7C2DD98AC88A89890E94B914ECEA22
+:102CE000F1E086E0DF011D928A95E9F70E94F91470
+:102CF000A0C0751314C0341312C0611110C08091AC
+:102D0000B101F8018583C8010E94C31186E0ECEA95
+:102D1000F1E0DF011D928A95E9F7FE2C8AC04D870C
+:102D20005E878D859E856A8B0E948F146A898823B1
+:102D300009F4BECF662309F4BBCF2091B101822FE5
+:102D400082958F7090E002970CF48ECF8091AC0149
+:102D50009091AD019A8389831B82DD82CC822E8380
+:102D6000CE0101967FCF809590958C0D9D1DACCFA7
+:102D7000F62E662309F49CCF75132EC034132CC095
+:102D80002091B10120FD1FC0822F82958F70D9F054
+:102D9000D80115962C9315978F3049F08F5F982F97
+:102DA0009295907F822F8F70892B15968C93C801F6
+:102DB0000E94C31186E0F801ACEAB1E001900D92E7
+:102DC0008A95E1F793CF86E0F801ACEAB1E0019093
+:102DD0000D928A95E1F72DC04D875E878D859E8582
+:102DE0000E948F14811140CF8091B1018160809346
+:102DF000B101C8010E94C3111CC0662309F458CF59
+:102E00004D875E878D859E850E948F14882309F4E7
+:102E10004FCF2ACF811148CF0CC0243031050CF0A0
+:102E200047CF9F7009F440CFF8019581907F09F05A
+:102E30003BCF8F2D62960FB6F894DEBF0FBECDBF8D
+:102E4000DF91CF911F910F91FF90EF90DF90CF9086
+:102E500008951F93CF93DF93CDB7DEB72C970FB6AE
+:102E6000F894DEBF0FBECDBF4F83588769877A873E
+:102E70008B879C87CE0107960E946215882369F094
+:102E80008F8198852A853B85232BF1F19F3F09F09F
+:102E900063C08F3F09F060C037C086E0FE013796FF
+:102EA000DE01119601900D928A95E1F76F81788588
+:102EB000EA85FB85309741F17F3F11F46F3F21F1A7
+:102EC00020917B0130E0C9010196877099274091DC
+:102ED0007A0150E08417950709F447C069837A8323
+:102EE000FD83EC8396E0929FD001939FB00D112457
+:102EF000A458BE4FFE01319601900D929A95E1F7CC
+:102F000080937B010E94D81416E080917A01909101
+:102F10007B018917C1F1189FC001112484589E4F6D
+:102F20000E946215882379F1E0917A011E9FF001D9
+:102F30001124E458FE4F4081518162817381848164
+:102F400095810E94C81480917A0190E00196877063
+:102F5000992780937A01D9CF4F81588569857A85E1
+:102F60008B859C850E94C814CFCF0E948B14109231
+:102F70007B0110927A01ECEAF1E086E0DF011D921C
+:102F80008A95E9F7C1CF2C960FB6F894DEBF0FBE35
+:102F9000CDBFDF91CF911F910895EF92FF920F93D4
+:102FA0001F93CF93DF938C01892B09F46CC0F12C14
+:102FB000EE24E394E8012196F8018491843740F4EB
+:102FC000843008F051C0813081F0823019F15BC04B
+:102FD000853709F444C0A8F19CE7980F903708F0B2
+:102FE00052C08F770E94661141C00E5F1F4FFE01D5
+:102FF000C49180E28C0F883048F4C7708E2D01C0D8
+:10300000880FCA95EAF70E94151B14C08C2F0E94E6
+:103010009E102DC00E5F1F4FFE01C49180E28C0FE9
+:10302000883058F4C7708E2D01C0880FCA95EAF712
+:103030000E941B1B0E94491B1AC08C2F0E94661104
+:1030400016C00E5F1F4FFE01C491CC2381F08FE9A3
+:103050009FE00197F1F700C00000C150F6CF0E5F6E
+:103060001F4FFE01F49003C00E949E108E018F2D11
+:10307000882309F49FCFEFE9FFE03197F1F700C013
+:1030800000008150F5CFDF91CF911F910F91FF90FC
+:10309000EF90089508956093B6017093B7018093FF
+:1030A000B8019093B9010C9477140F931F9300917A
+:1030B000B6011091B7012091B8013091B901DC013E
+:1030C000CB01802B912BA22BB32B8093B601909335
+:1030D000B701A093B801B093B9011F910F910C945F
+:1030E00077140F931F930091B6011091B7012091AF
+:1030F000B8013091B901DC01CB0180239123A223D7
+:10310000B3238093B6019093B701A093B801B09315
+:10311000B9011F910F910C9477140F931F93009195
+:10312000B6011091B7012091B8013091B901DC01CD
+:10313000CB0180279127A227B3278093B6019093D4
+:10314000B701A093B801B093B9011F910F910C94EE
+:1031500077141092B2011092B3011092B401109240
+:10316000B5010C94771441E050E060E070E004C0D9
+:10317000440F551F661F771F8A95D2F74093B201FF
+:103180005093B3016093B4017093B5010C9477141C
+:1031900041E050E060E070E004C0440F551F661F3E
+:1031A000771F8A95D2F78091B2019091B301A091D7
+:1031B000B401B091B501482B592B6A2B7B2B40935E
+:1031C000B2015093B3016093B4017093B5010C94B4
+:1031D000771441E050E060E070E004C0440F551FF8
+:1031E000661F771F8A95D2F7409550956095709528
+:1031F0008091B2019091B301A091B401B091B50159
+:10320000482359236A237B234093B2015093B3018F
+:103210006093B4017093B5010C94771441E050E0D1
+:1032200060E070E004C0440F551F661F771F8A9549
+:10323000D2F78091B2019091B301A091B401B09105
+:10324000B501482759276A277B274093B20150933D
+:10325000B3016093B4017093B5010C9477140F938C
+:103260001F930091B2011091B3012091B4013091EC
+:10327000B501DC01CB01802B912BA22BB32B8093CA
+:10328000B2019093B301A093B401B093B5011F9123
+:103290000F910C9477140F931F930091B20110912A
+:1032A000B3012091B4013091B501DC01CB01802341
+:1032B0009123A223B3238093B2019093B301A093EF
+:1032C000B401B093B5011F910F910C9477140F9333
+:1032D0001F930091B2011091B3012091B40130917C
+:1032E000B501DC01CB0180279127A227B32780936A
+:1032F000B2019093B301A093B401B093B5011F91B3
+:103300000F910C9477140895CF92DF92EF92FF9271
+:103310000F931F93CF93DF938C01C090B601D09091
+:10332000B701E090B801F090B9018091B20190919D
+:10333000B301A091B401B091B501C82AD92AEA2AF3
+:10334000FB2ACFE1D0E0D701C6010C2E04C0B69510
+:10335000A795979587950A94D2F780FF06C0B80184
+:103360008C2F0E94DC07019721F4219760F780E001
+:1033700001C08C2FDF91CF911F910F91FF90EF90A3
+:10338000DF90CF900895CF93DF93EC010E948419D2
+:10339000BE010E94DC07DF91CF910895CB010E940E
+:1033A000C31908958091BF0108958093BF010895C6
+:1033B0001092BF0108950E94461C2091BD013091DA
+:1033C000BE018217930750F00E94461C2091BD0158
+:1033D0003091BE01821B930B9C010AC00E94461CC7
+:1033E0002091BD013091BE0120953095280F391FE5
+:1033F00081E0283B3B4008F480E008958091BC01C7
+:1034000085958595859508958091BC01877008956F
+:103410000E94461C2091BA013091BB01821793078C
+:10342000A8F00E94461C2091BA013091BB01821B7A
+:10343000930B883B9B4010F480E013C08091BC014B
+:1034400082FB882780F991E089270BC00E94461CE7
+:103450002091BA013091BB0120953095820F931FC6
+:10346000E8CF8170089598E0899F90011124262B60
+:103470002093BC010E94C8180E94461C9093BB0177
+:103480008093BA0108951092BC011092BB01109272
+:10349000BA0108952091BC01809582238093BC01DC
+:1034A000982F977089F430E0482F552747FD5095A5
+:1034B0002417350749F08595859585950E94E9186B
+:1034C0001092BB011092BA0108959091BC019770BF
+:1034D00081E009F480E0089590910C01992321F096
+:1034E00090910D01911109C020910E0130910F01B1
+:1034F000F90132969FEF40E01FC0982F9695969560
+:1035000096959F3050F5E0910E01F0910F01E90F73
+:10351000F11D877021E030E0A90102C0440F551F62
+:103520008A95E2F7CA019181892B818308959F3F93
+:1035300039F04F5F4E3041F051915813F8CF0DC024
+:103540005111F7CF942FF5CF9F3F39F0F901E90FD3
+:10355000F11D97FDFA9582830895089590910C01CD
+:10356000992321F090910D01911109C020910E0134
+:1035700030910F01F9013296205F3F4F1FC0982F05
+:103580009695969596959F30F0F4E0910E01F09106
+:103590000F01E90FF11D877021E030E0A90102C0A1
+:1035A000440F551F8A95E2F7CA01809591818923BE
+:1035B000818308953196E217F30729F090819813DB
+:1035C000F9CF1082F7CF089581E090E0E0910E01ED
+:1035D000F0910F01E80FF91F1082019680319105DB
+:1035E000A9F708958091D30108959091D301892B73
+:1035F0008093D301089580959091D301892380937E
+:10360000D30108951092D30108959091D201892B8E
+:103610008093D201089580959091D201892380935F
+:10362000D20108951092D20108959091D101892B71
+:103630008093D101089580959091D1018923809341
+:10364000D10108951092D10108958093C0010E9484
+:10365000461C9093BE018093BD0108951092C00155
+:103660001092BE011092BD0108958091C00108958D
+:1036700080910E0190910F01FC0131969C01205F19
+:103680003F4F80E0919191118F5FE217F307D1F7DF
+:103690000895E0910E01F0910F018091D301808394
+:1036A000E0910E01F0910F0190818091D201892B60
+:1036B0008083E0910E01F0910F0190818091D10102
+:1036C000892B80838091C001882399F00E94DB19A7
+:1036D00081110E942E1BE0910E01F0910F0190814B
+:1036E0008091C001892B80830E94381B81110E9428
+:1036F0002E1B80910E0190910F010C94810FCF929F
+:10370000DF92EF92FF926C01EE24FF24C114D104EA
+:10371000E104F10421F0C701B60120E101C020E07D
+:10372000C72ED82EE92EFF24C114D104E104F104E0
+:1037300019F0285FC701B6016B017C0154E0F694D3
+:10374000E794D794C7945A95D1F7C114D104E104F2
+:10375000F10419F02C5FC701B6016B017C0142E056
+:10376000F694E794D794C7944A95D1F7C114D1043D
+:10377000E104F10419F02E5FC701B601DC01CB01B1
+:10378000B695A79597958795892B8A2B8B2B09F052
+:103790002F5F822FFF90EF90DF90CF900895809160
+:1037A000E901843021F11092D50120E488E190E014
+:1037B0000FB6F894A895809360000FBE2093600028
+:1037C00080E00E94770883B7817F846083BF83B7DE
+:1037D000816083BF7894889583B78E7F83BF88E1AB
+:1037E0000FB6F89480936000109260000FBE0895A9
+:1037F00008950895CF930E94F81B0E9496040E949A
+:10380000F91BC0E08C2F0E948405811104C0CF5F9A
+:10381000CE30C1F701C081E0CF9108950E948B1492
+:103820000E94750F0C9477081F920F920FB60F929B
+:1038300011248F939F93AF93BF938091D5018111F2
+:1038400013C08091D6019091D701A091D801B09179
+:10385000D9014196A11DB11D8093D6019093D70146
+:10386000A093D801B093D901BF91AF919F918F914F
+:103870000F900FBE0F901F90189582E084BD93E0CB
+:1038800095BD9AEF97BD80936E0008952FB7F89479
+:103890008091D6019091D701A091D801B091D90122
+:1038A0002FBF0895CF92DF92EF92FF920F931F9355
+:1038B0002FB7F8944091D6015091D7016091D8016B
+:1038C0007091D9012FBF6A017B01EE24FF248C0186
+:1038D00020E030E0C016D106E206F30610F44150B5
+:1038E00051099A01281B390BC9011F910F91FF90B3
+:1038F000EF90DF90CF9008951F920F920FB60F9226
+:1039000011248F939F93AF93BF938091D601909191
+:10391000D701A091D801B091D9010196A11DB11D87
+:103920008093D6019093D701A093D801B093D90189
+:10393000BF91AF919F918F910F900FBE0F901F90ED
+:1039400018950E94720CF8942FEF87EA91E62150A7
+:1039500080409040E1F700C0000087E090EBDC0180
+:103960008093F3019093F401A093F501B093F601D5
+:103970009CE088E10FB6F894A895809360000FBE94
+:1039800090936000FFCFEF92FF920F931F93CF931E
+:10399000DF93D82FC0E08C2F0E94840500E010E058
+:1039A000E82EF12CC701002E02C0959587950A9448
+:1039B000E2F780FD06C00F5F1F4F0630110591F73B
+:1039C00009C0602F7C2F80E00E948C05D813F3CFB4
+:1039D00081E004C0CF5FCE30F1F680E0DF91CF917F
+:1039E0001F910F91FF90EF900895CF93C82F8CE215
+:1039F0000E94C31C882321F08C2FCF910C94C31CF0
+:103A000080E0CF910895CF930E944A1E811102C099
+:103A10000E94301EC5E6C15049F00E9496048FE313
+:103A20009CE90197F1F700C00000F5CF89E20E9400
+:103A3000F51C811113C18AE20E94F51C81110E94BC
+:103A4000301E85E00E94F51C81110E94A11C0E947D
+:103A5000551E8093D40187E00E94F51C8823A9F1AC
+:103A60008BE10E94F51C882351F08091D40181FBE9
+:103A7000222720F991E0922790FB81F90EC08EE079
+:103A80000E94F51C882361F08091D40182FB2227DB
+:103A900020F991E0922790FB82F98093D40115C020
+:103AA00080E10E94F51C9091D401882341F093FBA2
+:103AB000222720F981E0822780FB93F904C0892F17
+:103AC000809580FB90F99093D4018091D4010E945D
+:103AD000591E0E94671E8093F20180EE0E94F51C21
+:103AE000882341F08091F201982F909590FB80F906
+:103AF0008093F20189E30E94F51C882359F080919C
+:103B0000F20181FB222720F991E0922790FB81F9B5
+:103B10008093F20182EE0E94F51C882359F0809177
+:103B2000F20182FB222720F991E0922790FB82F993
+:103B30008093F20186EE0E94F51C882359F0809153
+:103B4000F20183FB222720F991E0922790FB83F971
+:103B50008093F20183EE0E94F51C882359F0809136
+:103B6000F20184FB222720F991E0922790FB84F94F
+:103B70008093F20185E30E94F51C882359F080911F
+:103B8000F20185FB222720F991E0922790FB85F92D
+:103B90008093F20181E30E94F51C882359F0809103
+:103BA000F20186FB222720F991E0922790FB86F90B
+:103BB0008093F20181E10E94F51C882359F08091E5
+:103BC000F20187FB222720F991E0922790FB87F9E9
+:103BD0008093F2018091F2010E946B1E8091F201AC
+:103BE00087FB882780F980930D0187E20E94F51CEE
+:103BF000C82F8EE10E94F51C8111C2608FE10E94E6
+:103C0000F51C8111C46080E20E94F51C8111C8601E
+:103C100081E20E94F51C8111C06182E20E94F51CC4
+:103C20008111C06283E20E94F51C8111C06484E2AC
+:103C30000E94F51C882311F0C06802C0CC2329F033
+:103C40008C2F0E94621E6C2F03C00E945E1E682F84
+:103C500070E080E090E0CF910C944B18CF910895E4
+:103C60006DEE7EEF80E090E00E94302460E082E024
+:103C700090E00E941E2460E083E090E00E941E24F9
+:103C800060E084E090E00E941E2460E085E090E027
+:103C90000C941E2480E090E00E94182421E08D3EC8
+:103CA0009E4F09F020E0822F089582E090E00C946E
+:103CB0001024682F82E090E00C941E2483E090E0B2
+:103CC0000C941024682F83E090E00C941E2484E070
+:103CD00090E00C941024682F84E090E00C941E2453
+:103CE0008091DC0180FF0BC06091130185E0689F2B
+:103CF000B001112475956795759567952BC081FF67
+:103D000009C06091130185E0689FB0011124759589
+:103D1000679520C082FF07C06091130185E0689F0E
+:103D2000B001112417C09091DD019923D1F0609169
+:103D30001201961788F72091130185E0289F9001C2
+:103D40001124929FA001939F500D112470E0CA018D
+:103D50000E94E2236038710540F46115710539F065
+:103D600002C065E070E0862F08958FE7089581E036
+:103D700008958091DC0180FF08C06091110170E01E
+:103D8000759567957595679521C081FF06C060910F
+:103D9000110170E07595679519C082FF04C06091AC
+:103DA000110170E010C09091DD019923C1F0609184
+:103DB00010019617A0F780911101899FC00111246D
+:103DC00070E00E94E2236038710528F461157105E6
+:103DD00021F0862F08958FE7089581E0089561E02E
+:103DE00070E0F4CF803F21F40E94701E819504C0E2
+:103DF000813F29F40E94701E8093E0010895823F64
+:103E000021F40E94701E819504C0833F29F40E9412
+:103E1000701E8093DF010895893F19F40E94B91E36
+:103E200005C08A3F31F40E94B91E81958093E1015B
+:103E300008958B3F21F40E94B91E819504C08C3FE8
+:103E400029F40E94B91E8093E2010895843F21F471
+:103E50008091DE01816017C0853F21F48091DE01F1
+:103E6000826011C0863F21F48091DE0184600BC026
+:103E7000873F21F48091DE01886005C0883F31F4DE
+:103E80008091DE0180618093DE0108958D3F21F4F1
+:103E90008091DC0181600BC08E3F21F48091DC01B8
+:103EA000826005C08F3F29F48091DC01846080939B
+:103EB000DC010895803F39F48091E00187FF6CC0F8
+:103EC0001092E00169C0813F29F48091E001181649
+:103ED000BCF362C09091DF01823F29F497FF5CC080
+:103EE0001092DF0159C0833F19F41916CCF354C066
+:103EF000893F41F48091E10118160CF04DC01092F9
+:103F0000E1014AC08A3F29F48091E10187FF44C062
+:103F1000F6CF8B3F39F48091E20187FF3DC01092CC
+:103F2000E2013AC08C3F29F48091E2011816BCF3FB
+:103F300033C0843F21F48091DE018E7F17C0853F1E
+:103F400021F48091DE018D7F11C0863F21F48091A4
+:103F5000DE018B7F0BC0873F21F48091DE01877FDC
+:103F600005C0883F31F48091DE018F7E8093DE01B1
+:103F700013C08D3F21F48091DC018E7F0BC08E3FFA
+:103F800021F48091DC018D7F05C08F3F29F4809161
+:103F9000DC018B7F8093DC018091DF0181110EC0F9
+:103FA0008091E00181110AC08091E101811106C078
+:103FB0008091E201811102C01092DD0108958EED21
+:103FC00091E00E948C0F0E94461C9093DB0180932D
+:103FD000DA0108951F93CF93DF938091DA019091D6
+:103FE000DB010E94521CAC019091DD01992321F06C
+:103FF0002091140130E006C0209115018AE0289F2D
+:10400000900111244217530708F486C08091DF0104
+:10401000C091E001D091E1011091E201811107C04E
+:10402000C11176C0D11174C0111172C075C09F3F0B
+:1040300019F09F5F9093DD01181624F40E94701E02
+:104040008093DF018091DF0187FF05C00E94701E11
+:1040500081958093DF011C1624F40E94701E8093CA
+:10406000E0018091E00187FF05C00E94701E8195EC
+:104070008093E0016091DF01662339F1C091E00196
+:10408000CC2319F1772767FD7095872F972F0E9412
+:10409000F32223E333E343E35FE30E9457230E94C9
+:1040A000C0226093DF016C2F772767FD7095872F03
+:1040B000972F0E94F32223E333E343E35FE30E945D
+:1040C00057230E94C0226093E0011D1624F40E9431
+:1040D000B91E8093E1018091E10187FF05C00E9434
+:1040E000B91E81958093E101111624F40E94B91E36
+:1040F0008093E2018091E20187FF05C00E94B91E12
+:1041000081958093E201DF91CF911F910C94DF1F85
+:104110009F3F09F08ECF96CFDF91CF911F910895E9
+:10412000EEEDF1E085E0DF011D928A95E9F710924E
+:10413000DD011092DC010895833081F128F4813093
+:1041400059F08230D1F00895853009F449C0B8F1B2
+:10415000863009F456C0089580911501262F30E06D
+:10416000280F311D2F3F310524F4680F609315018E
+:1041700008958FEF80931501089580911401262FE3
+:1041800030E0280F311D2F3F310524F4680F609374
+:10419000140108958FEF8093140108958091130105
+:1041A000262F30E0280F311D2F3F310524F4680FF2
+:1041B0006093130108958FEF809313010895809108
+:1041C0001201262F30E0280F311D2F3F310524F436
+:1041D000680F6093120108958FEF80931201089584
+:1041E00080911101262F30E0280F311D2F3F31051E
+:1041F00024F4680F6093110108958FEF80931101EB
+:10420000089580911001262F30E0280F311D2F3F97
+:10421000310524F4680F6093100108958FEF8093A7
+:1042200010010895833011F128F4813049F0823073
+:1042300091F00895853081F120F18630C1F1089523
+:1042400080911501681720F4861B8093150108954D
+:1042500010921501089580911401681720F4861BAF
+:104260008093140108951092140108958091130110
+:10427000681720F4861B8093130108951092130190
+:10428000089580911201681720F4861B8093120113
+:10429000089510921201089580911101681720F479
+:1042A000861B809311010895109211010895809149
+:1042B0001001681720F4861B809310010895109256
+:1042C000100108950F931F938B3109F475C0A0F569
+:1042D0008E3009F484C0C0F4873009F45BC068F400
+:1042E000863009F0AAC08091D401817F8E7F8093AF
+:1042F000D40181E08093E401A1C0883009F496C024
+:104300008B3009F493C099C0813109F472C068F40C
+:10431000803109F092C08091D40183FB222720F9DB
+:1043200091E0922790FB83F950C0863109F47EC05A
+:10433000893109F47BC081C0853309F479C068F400
+:10434000873209F475C028F48E3108F476C08D5197
+:104350005AC0893209F46CC070C0833438F48A338F
+:1043600008F050C0883309F461C067C0833409F491
+:104370005FC0883409F061C00E948B140FEF13ED09
+:1043800020E3015010402040E1F700C000000E94EF
+:10439000A11C4CC09091D401892F8095817080FB25
+:1043A00090F929F0966098609093D40147C0997F66
+:1043B000977F9093D4013AC08091D40181FB22274A
+:1043C00020F991E0922790FB81F98093D401992301
+:1043D00069F18091D40181608093D40127C08091DC
+:1043E000D40182FB222720F991E0922790FB82F9E9
+:1043F000ECCF0E948B1490910D0181E0892780936E
+:104400000D0114C0895341E050E060E070E08A0182
+:104410009B0104C0000F111F221F331F8A95D2F782
+:10442000C901B8010E944B180E948B1481E006C09C
+:1044300061E070E080E090E0F5CF80E01F910F91A7
+:10444000089580E0089580E00895CF93C82F80916B
+:10445000E401813079F018F08230E9F187C0E09111
+:104460000E01F0910F018081813169F0823209F0F3
+:104470007FC009C0E0910E01F0910F018081813170
+:1044800011F0823261F48C2F0E942122811104C02C
+:104490008C2F0E9462211DC081E090E01AC08C2FF9
+:1044A0000E942322811114C0C43179F048F4CB302A
+:1044B00079F0C03109F060C082E08093E40108C067
+:1044C000C93219F0C83321F057C01092E40154C02A
+:1044D00081E0817053C0C93289F118F5C43171F19E
+:1044E000A8F4C73009F046C08AE08093150194E132
+:1044F0009093140193E0909313018093120188E04C
+:104500008093110188E28093100134C0CE51C630EF
+:1045100088F5EC2FF0E0E65DFE4F80818093E301AB
+:1045200029C0CE34E9F020F4CB3421F56AE013C081
+:10453000C13579F0C235F1F461E00DC08091E3013D
+:10454000882319F01092E30115C081E08093E40103
+:1045500015C061E006C08091E3010E949C200AC062
+:104560006AE08091E3010E94122104C01092E401EC
+:1045700080E004C081E002C080E0ABCFCF9108951D
+:1045800004D06894B1118DC0089570D088F09F5701
+:1045900090F0B92F9927B751A0F0D1F0660F771F8F
+:1045A000881F991F1AF0BA95C9F712C0B13081F06F
+:1045B00077D0B1E0089574C0672F782F8827B85F4F
+:1045C00039F0B93FCCF3869577956795B395D9F7D0
+:1045D0003EF490958095709561957F4F8F4F9F4FDA
+:1045E0000895E89409C097FB3EF4909580957095E6
+:1045F00061957F4F8F4F9F4F9923A9F0F92F96E92F
+:10460000BB279395F695879577956795B795F111A3
+:10461000F8CFFAF4BB0F11F460FF1BC06F5F7F4F40
+:104620008F4F9F4F16C0882311F096E911C0772352
+:1046300021F09EE8872F762F05C0662371F096E85B
+:10464000862F70E060E02AF09A95660F771F881F2A
+:10465000DAF7880F9695879597F9089557FD905842
+:10466000440F551F59F05F3F71F04795880F97FB36
+:10467000991F61F09F3F79F08795089512161306F0
+:104680001406551FF2CF4695F1DF08C0161617061F
+:104690001806991FF1CF8695710561050894089554
+:1046A000E894BB2766277727CB0197F908950BD0AD
+:1046B00078C069D028F06ED018F0952309F05AC060
+:1046C0005FC01124EECFCADFA0F3959FD1F3950F01
+:1046D00050E0551F629FF001729FBB27F00DB11D86
+:1046E000639FAA27F00DB11DAA1F649F6627B00D16
+:1046F000A11D661F829F2227B00DA11D621F739FFF
+:10470000B00DA11D621F839FA00D611D221F749F0C
+:104710003327A00D611D231F849F600D211D822F53
+:10472000762F6A2F11249F5750408AF0E1F088239A
+:104730004AF0EE0FFF1FBB1F661F771F881F9150A7
+:104740005040A9F79E3F510570F014C0AACF5F3FBB
+:10475000ECF3983EDCF3869577956795B795F795DA
+:10476000E7959F5FC1F7FE2B880F911D9695879562
+:1047700097F9089597F99F6780E870E060E00895E1
+:104780009FEF80EC089500240A9416161706180669
+:104790000906089500240A94121613061406050645
+:1047A0000895092E0394000C11F4882352F0BB0FD6
+:1047B00040F4BF2B11F460FF04C06F5F7F4F8F4F39
+:1047C0009F4F089597FB072E16F4009407D077FDAE
+:1047D00009D00E94FC2307FC05D03EF490958195FA
+:1047E0009F4F0895709561957F4F0895EE0FFF1FBD
+:1047F0000590F491E02D0994AA1BBB1B51E107C061
+:10480000AA1FBB1FA617B70710F0A61BB70B881F60
+:10481000991F5A95A9F780959095BC01CD010895EF
+:10482000F999FECF92BD81BDF89A992780B5089578
+:10483000A8E1B0E042E050E00C943824262FF9992A
+:10484000FECF92BD81BDF89A019700B4021639F0EF
+:104850001FBA20BD0FB6F894FA9AF99A0FBE0895C0
+:104860000196272F0E941F240C941E24DC01CB01EB
+:10487000FC01F999FECF06C0F2BDE1BDF89A319670
+:1048800000B40D9241505040B8F70895F894FFCF0E
+:10489000200279080709E408B0087C080101C10179
+:1048A00028080A03140A3F4D3639A9045C0426047B
+:1048B000ED0380039903B203CB0301020304050651
+:0448C00007080900DC
+:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/townk_osx/townk_osx_base.png b/keyboard/ergodox_ez/keymaps/townk_osx/townk_osx_base.png Binary files differnew file mode 100644 index 0000000000..f9bc8b443a --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/townk_osx/townk_osx_base.png diff --git a/keyboard/ergodox_ez/keymaps/townk_osx/townk_osx_fn.png b/keyboard/ergodox_ez/keymaps/townk_osx/townk_osx_fn.png Binary files differnew file mode 100644 index 0000000000..983b723480 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/townk_osx/townk_osx_fn.png diff --git a/keyboard/ergodox_ez/keymaps/townk_osx/townk_osx_keypad.png b/keyboard/ergodox_ez/keymaps/townk_osx/townk_osx_keypad.png Binary files differnew file mode 100644 index 0000000000..8f04b4327d --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/townk_osx/townk_osx_keypad.png diff --git a/keyboard/ergodox_ez/keymaps/twey/keymap.c b/keyboard/ergodox_ez/keymaps/twey/keymap.c index dec9f92f14..019930f2a2 100644 --- a/keyboard/ergodox_ez/keymaps/twey/keymap.c +++ b/keyboard/ergodox_ez/keymaps/twey/keymap.c @@ -49,9 +49,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, KC_B, KC_M, KC_W, KC_V, KC_Z , KC_RSFT, KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, MO(SYMB), - KC_HOME,KC_END, + KC_HOME, KC_END, KC_RALT, - KC_FN1,KC_SPC,KC_RCTL + MO(MDIA),KC_SPC,KC_RCTL ), /* Keymap 1: Symbol Layer * @@ -102,7 +102,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, PV_NUM, PV_NUM, PV_NUM, PV_NUM, PV_NUM, PV_STAR, KC_NO, PV_LS, PV_LT, PV_LP, PV_LH, PV_STAR, KC_NO, PV_LS, PV_LK, PV_LW, PV_LR, PV_STAR, PV_STAR, - KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, + KC_TRNS,KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, PV_A, PV_O, KC_NO, @@ -111,10 +111,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { PV_STAR, PV_NUM, PV_NUM, PV_NUM, PV_NUM, PV_NUM, PV_NUM, PV_STAR, PV_RF, PV_RP, PV_RL, PV_RT, PV_RD, PV_STAR, PV_STAR, PV_RR, PV_RB, PV_RG, PV_RS, PV_RZ, - KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, + KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, - KC_FN1, PV_E, PV_U + KC_TRNS,PV_E, PV_U ), /* Keymap 3: Media and mouse keys @@ -122,19 +122,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,--------------------------------------------------. ,--------------------------------------------------. * | | | | | | | | | | | | | | | | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | MsUp | | | | | | | | | | | | + * | | | | MsUp | | | | | | | Back | | Frwd | | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | + * | | |MsLeft|MsDown|MsRght| |------| |------| | Prev | Play | Next | | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | | Prev | Next | | | + * | | | | | | | | | | | | | | | | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | | | | | | * ,------|------|------| |------+------+------. - * | | | | | | |Brwser| - * | | |------| |------| |Back | + * | | | | | | | | + * | | |------| |------| | | * | | | | | | | | * `--------------------' `--------------------' */ @@ -150,9 +150,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, // right hand KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_WBAK, KC_TRNS, KC_WFWD, KC_TRNS, KC_TRNS, + KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, 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_MPLY, - KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -171,15 +171,19 @@ void toggle_steno(int pressed) if (pressed) { if (layer != STEN) layer_on(STEN); else layer_off(STEN); - register_code(PV_LS); + register_code(PV_LP); register_code(PV_LH); - register_code(PV_RF); - register_code(PV_RT); + register_code(PV_LR); + register_code(PV_O); + register_code(PV_RL); + register_code(PV_RG); } else { - unregister_code(PV_LS); + unregister_code(PV_LP); unregister_code(PV_LH); - unregister_code(PV_RF); - unregister_code(PV_RT); + unregister_code(PV_LR); + unregister_code(PV_O); + unregister_code(PV_RL); + unregister_code(PV_RG); } } diff --git a/keyboard/ergodox_ez/keymaps/twey/readme.md b/keyboard/ergodox_ez/keymaps/twey/readme.md index d44c0a2382..979e4261e5 100644 --- a/keyboard/ergodox_ez/keymaps/twey/readme.md +++ b/keyboard/ergodox_ez/keymaps/twey/readme.md @@ -3,8 +3,8 @@ - Layer 0: Non-ANSI Dvorak layout, with modified modifiers — all modifiers on thumb keys, as well as return and space. - Layer 1: Default symbol layout. -- Layer 2: Default media/mouse layout. -- Layer 3: Plover-oriented stenography layer. +- Layer 2: Plover-oriented stenography layer. +- Layer 3: Extended media/mouse layout. ## Unusual features The Plover key (top right key on the left half) also sends my Plover @@ -12,8 +12,6 @@ The Plover key (top right key on the left half) also sends my Plover layer, so you can toggle between steno and typing modes with a single keypress. -If you want to use this feature, you'll need to add: - - "SH-FT": "{PLOVER:TOGGLE}" - -to your Plover dictionary. +If you want to use this feature, you'll need to add the +`commands.json` dictionary to your Plover dictionaries, or define the +toggle stroke (`PHROLG`) yourself. |