summaryrefslogtreecommitdiff
path: root/keyboard/ergodox_ez
diff options
context:
space:
mode:
authorNicholas Keene <git@nicholaskeene.com>2016-04-11 22:51:12 -0500
committerNicholas Keene <git@nicholaskeene.com>2016-04-11 22:51:12 -0500
commitefffbe35c88fbc2360ba643b3163a75c3393d601 (patch)
tree399d5ca6b88206e70fd77cff0f2370d5077495c5 /keyboard/ergodox_ez
parent2a9eb3d3a316336d45a8706c7272c1290f511ead (diff)
The Ordinary Layout is the layout you are looking for. Come and see.
Diffstat (limited to 'keyboard/ergodox_ez')
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/keymap.c499
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.pngbin94771 -> 99031 bytes
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt14
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.pngbin108774 -> 119139 bytes
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt44
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.pngbin93001 -> 98257 bytes
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt40
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex2294
-rw-r--r--keyboard/ergodox_ez/keymaps/ordinary/readme.md66
9 files changed, 1633 insertions, 1324 deletions
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/keymap.c b/keyboard/ergodox_ez/keymaps/ordinary/keymap.c
index 4dd6d883ca..07a1e5e899 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/keymap.c
+++ b/keyboard/ergodox_ez/keymaps/ordinary/keymap.c
@@ -1,149 +1,375 @@
#include "ergodox_ez.h"
+#include "led.h"
#include "debug.h"
#include "action_layer.h"
#define BASE 0 // default layer
-#define SYMB 1 // symbols
-#define MDIA 2 // media keys
+#define LOCK 1 // layer lock keys
+#define SYMB_MO 2 // symbols momentary layer
+#define SYMB_TG 3 // symbols lock layer
+#define SYMB_XX 4 // symbols lock layer
+#define MDIA_MO 5 // media momentary layer
+#define MDIA_TG 6 // media lock layer
+#define MDIA_XX 7 // topmost escape
/*
- * Ordinary Ergodox EZ keyboard layout, v2
+ * Ordinary Ergodox EZ keyboard layout, v3
* modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com
* Details: http://nicholas.rinard.us/2016/03/ergodox-ez-layout.html
*/
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
/* Keymap 0: Basic layer
*
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | Grv | 1 | 2 | 3 | 4 | 5 | ESC | | - | 6 | 7 | 8 | 9 | 0 | = |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | MDIA \ |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | SYMB | A | S | D | F | G |------| |------| H | J | K | L | ; | SYMB ' |
- * |--------+------+------+------+------+------|Shift | | Tab |------+------+------+------+------+--------|
- * | LShift | Z | X | C | V | B | -Tab | | | N | M | , | . | / | RShift |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * |LCtrl | Meh |Hyper | LAlt | LGui | | RGui | RAlt | Hyper| Meh |RCtrl |
- * `----------------------------------' `----------------------------------'
- * ,---------------. ,---------------.
- * | Home | End | | Left | Right |
- * ,------|--------|------| |------+--------+------.
- * | | | PgUp | | Up | | |
- * |Backsp| Del |------| |------| Enter | Space|
- * | | | PgDn | | Down | | |;
- * `----------------------' `----------------------'
+ * ,-----------------------------------------------------. ,-----------------------------------------------------.
+ * | LOCK Grv | 1 | 2 | 3 | 4 | 5 | ESC | | - | 6 | 7 | 8 | 9 | 0 | = LOCK |
+ * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
+ * | Media Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ Media |
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * | Symbol | A | S | D | F | G |------| |------| H | J | K | L | ; | ' Symbol |
+ * |-----------+------+------+------+------+------|Shift | | Tab |------+------+------+------+------+-----------|
+ * | LShift | Z | X | C | V | B | -Tab | | | N | M | , | . | / | RShift |
+ * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
+ * |LCtrl | Meh |Hyper | LAlt | LGui | | RGui | RAlt | Hyper| Meh |RCtrl |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | Home | End | | Left | Right|
+ * ,------|------|------| |------+------+------.
+ * | | | PgUp | | Up | | |
+ * |Backsp| Del |------| |------| Enter| Space|
+ * | | | PgDn | | Down | | |
+ * `--------------------' `--------------------'
*/
-// If it accepts an argument (i.e, is a function), it doesn't need KC_.
-// Otherwise, it needs KC_*
-[BASE] = KEYMAP( // layer 0 : default
- // left hand
- KC_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, KC_LBRC,
- MO(SYMB), KC_A, KC_S, KC_D, KC_F, KC_G,
- KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, LSFT(KC_TAB),
- KC_LCTL, MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI,
- KC_HOME, KC_END,
- KC_PGUP,
- KC_BSPC, KC_DEL, KC_PGDN,
+[BASE] = KEYMAP(
+// left hand
+ LT(LOCK, KC_GRV),KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_ESC
+,LT(MDIA_MO, KC_TAB),KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC
+,MO(SYMB_MO) ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G
+,KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,LSFT(KC_TAB)
+,KC_LCTL ,MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI
+
+ ,KC_HOME,KC_END
+ ,KC_PGUP
+ ,KC_BSPC,KC_DEL ,KC_PGDN
// right hand
- KC_MINS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
- KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, LT(MDIA, KC_BSLS),
- KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(SYMB, KC_QUOT),
- KC_TAB, KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH),KC_RSFT,
- KC_RGUI, KC_RALT, ALL_T(KC_NO),MEH_T(KC_NO), KC_RCTL,
- KC_LEFT, KC_RGHT,
- KC_UP,
- KC_DOWN, KC_ENT, KC_SPC
+ ,KC_MINS ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,LT(LOCK, KC_EQL)
+ ,KC_RBRC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,LT(MDIA_MO, KC_BSLS)
+ ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,LT(SYMB_MO, KC_QUOT)
+ ,KC_TAB ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH ,KC_RSFT
+ ,KC_RGUI,KC_RALT,ALL_T(KC_NO),MEH_T(KC_NO),KC_RCTL
+
+ ,KC_LEFT ,KC_RGHT
+ ,KC_UP
+ ,KC_DOWN ,KC_ENT ,KC_SPC
),
-/* Keymap 1: Symbol Layer
+
+/* Keymap 1: Layer Lock Keys
*
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | Esc | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | MDIA | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | F12 |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | |
- * |--------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+--------|
- * | | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | CAPS |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | 0 | . | = | + | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | Left | Right| | Home | End |
- * ,------|------|------| |------+------+------.
- * | | | Up | | PgUp | | |
- * |Space |Enter |------| |------|BackSp| Del |
- * | | | Down | | PgDn | | |
- * `--------------------' `--------------------'
+ * ,-----------------------------------------------------. ,-----------------------------------------------------.
+ * | | Esc | | | | | | | | | | | | | |
+ * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
+ * | Media LOCK| | | | | | | | | | | | | | Media LOCK|
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * |Symbol LOCK| | | | | |------| |------| | | | | |Symbol LOCK|
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * | Caps LOCK| | | | | | | | | | | | | | Caps LOCK|
+ * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
*/
-// SYMBOLS
-[SYMB] = KEYMAP(
- // left hand
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
- MO(MDIA), KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_AMPR,LSFT(KC_COMM),
- KC_TRNS, KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
- KC_TRNS, KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TAB,
- KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- KC_LEFT,KC_RGHT,
- KC_UP,
- KC_SPC,KC_ENT,KC_DOWN,
- // right hand
- KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- LSFT(KC_DOT), KC_PIPE, KC_P7, KC_P8, KC_P9, KC_PSLS, KC_F12,
- KC_SLSH, KC_P4, KC_P5, KC_P6, KC_PAST, KC_TRNS,
- LSFT(KC_TAB), KC_BSLS, KC_P1, KC_P2, KC_P3, KC_PMNS, KC_CAPS,
- KC_P0, KC_DOT, KC_PEQL, KC_PPLS, KC_PENT,
- KC_HOME, KC_END,
- KC_PGUP,
- KC_PGDN, KC_BSPC, KC_DEL
+[LOCK] = KEYMAP(
+// left hand
+ KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,KC_FN3 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,KC_FN2 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,KC_CAPS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+
+ ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS
+ ,KC_TRNS,KC_TRNS ,KC_TRNS
+
+ // right hand
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN3
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN2
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+
+ ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ),
+
+/* Keymap 10: Symbol Momentary Layer
+ *
+ * ,-----------------------------------------------------. ,-----------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | |
+ * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
+ * | Media | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | Media |
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * | Symbol | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | Symbol |
+ * |-----------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+-----------|
+ * | Shift | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | Shift |
+ * `-----------+------+------+------+------+-------------' `------------+------+------+------+------+------------'
+ * | | | | | | | 0 | . | = | + | Entr |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | Left | Right| | Home | End |
+ * ,------|------|------| |------+------+------.
+ * | | | Up | | PgUp | | |
+ * |Space |Enter |------| |------|BackSp| Del |
+ * | | | Down | | PgDn | | |
+ * `--------------------' `--------------------'
+ */
+[SYMB_MO] = KEYMAP(
+// left hand
+ KC_TRNS ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_TRNS
+,MO(MDIA_MO) ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM)
+,MO(SYMB_MO) ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV
+,KC_LSFT ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB
+,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ,KC_LEFT ,KC_RGHT
+ ,KC_UP
+ ,KC_SPC ,KC_ENT ,KC_DOWN
+ // right hand
+ ,KC_TRNS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_TRNS
+ ,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,MO(MDIA_MO)
+ ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,MO(SYMB_MO)
+ ,LSFT(KC_TAB),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_RSFT
+ ,KC_0 ,KC_DOT ,KC_EQL,KC_PLUS ,KC_ENT
+ ,KC_HOME ,KC_END
+ ,KC_PGUP
+ ,KC_PGDN ,KC_BSPC ,KC_DEL
),
-/* Keymap 2: Media and mouse keys
+
+/* Keymap 11: Symbol Lock Layer
+ *
+ * ,-----------------------------------------------------. ,-----------------------------------------------------.
+ * | Lock | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | Lock |
+ * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
+ * | Media | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | Media |
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * | | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | |
+ * |-----------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+-----------|
+ * | Shift | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | Shift |
+ * `-----------+------+------+------+------+-------------' `------------+------+------+------+------+------------'
+ * | | | | | | | 0 | . | = | + | Entr |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | Left | Right| | Home | End |
+ * ,------|------|------| |------+------+------.
+ * | | | Up | | PgUp | | |
+ * |Space |Enter |------| |------|BackSp| Del |
+ * | | | Down | | PgDn | | |
+ * `--------------------' `--------------------'
+ */
+[SYMB_TG] = KEYMAP( // layer 3 : return key for symbol lock layer
+// left hand
+ MO(SYMB_XX) ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_TRNS
+,MO(MDIA_MO) ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM)
+,KC_NO ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV
+,KC_LSFT ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB
+,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ,KC_LEFT ,KC_RGHT
+ ,KC_UP
+ ,KC_SPC ,KC_ENT ,KC_DOWN
+ // right hand
+ ,KC_TRNS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,MO(SYMB_XX)
+ ,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,MO(MDIA_MO)
+ ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,KC_NO
+ ,LSFT(KC_TAB),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_RSFT
+ ,KC_0 ,KC_DOT ,KC_EQL,KC_PLUS ,KC_ENT
+ ,KC_HOME ,KC_END
+ ,KC_PGUP
+ ,KC_PGDN ,KC_BSPC ,KC_DEL
+ ),
+
+/* Keymap 12: Symbol Unlock Layer
+ *
+ * ,-----------------------------------------------------. ,-----------------------------------------------------.
+ * | | Esc | | | | | | | | | | | | | |
+ * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
+ * | Unlock | | | | | | | | | | | | | | Unlock |
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * | | | | | | |------| |------| | | | | | |
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * | Caps LOCK | | | | | | | | | | | | | | Caps LOCK |
+ * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+[SYMB_XX] = KEYMAP(
+// left hand
+ KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,TG(MDIA_TG) ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,KC_FN1 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,KC_CAPS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS
+ ,KC_TRNS,KC_TRNS ,KC_TRNS
+ // right hand
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,TG(MDIA_TG)
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN1
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ),
+
+/* Keymap 20: Media and mouse keys
*
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | Esc |ShutDn| Sleep| Mute |Vol Dn|Vol Up| | | | |PrtSc | PgUp |MyComp| Mail | |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | | | MsUp |ScrlUp| |ScrlUp| |ScrlUp| |ScrlUp| Up | | | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | |MsLeft|MsDown|MsRght| |------| |------| Home | Left | Down | Right| End | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | |MsDown|ScrlDn| |ScrlDn| |ScrlDn| |ScrlDn| Down | | | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | Lclk | Rclk | | | PgDn | | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | Stop |Refrsh| | Prev | Next |
- * ,------|------|------| |------+------+------.
- * |Brwser|Brwser|Search| |VolUp | | |
- * |Back | Fwd |------| |------| Stop | Play-|
- * | | | Home | |VolDn | | Pause|
- * `--------------------' `--------------------'
+ * ,-----------------------------------------------------. ,-----------------------------------------------------.
+ * | | F11 | F12 | F13 | F14 | F15 | | | | F16 | F17 | F18 | F19 | F20 | |
+ * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
+ * | |ShutDn| | MsUp | | |ScrlUp| |ScrlUp|PrtScr| Home | Up | PgUp | Mail | |
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * | | Sleep|MsLeft|MsDown|MsRght| |------| |------|NumLok| Left | Down | Right|MyComp| |
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * | | | |MsDown| | |ScrlDn| |ScrlDn| | End | Down | PgDn | | |
+ * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
+ * | Mute |Vol Dn|Vol Up| Lclk | Rclk | |Insert|Delete| | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | Stop |Refrsh| | Prev | Next |
+ * ,------|------|------| |------+------+------.
+ * |Brwser|Brwser|Search| |VolUp | | |
+ * |Back | Fwd |------| |------| Stop | Play-|
+ * | | | Home | |VolDn | | Pause|
+ * `--------------------' `--------------------'
*/
-// MEDIA AND MOUSE
-[MDIA] = KEYMAP(
- KC_ESC, KC_PWR, KC_SLEP, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS,
- MO(MDIA), KC_TRNS, KC_TRNS, KC_MS_U, KC_WH_U, KC_TRNS, KC_WH_U,
- KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_D, KC_TRNS, KC_TRNS, KC_WH_D,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_WH_D,
- KC_WSTP, KC_WREF,
- KC_WSCH,
- KC_WBAK, KC_TRNS, KC_WHOM,
+[MDIA_MO] = KEYMAP(
+// left hand
+ KC_TRNS ,KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,KC_TRNS
+,MO(MDIA_MO) ,KC_POWER,KC_TRNS ,KC_MS_U ,KC_TRNS ,KC_TRNS ,KC_WH_U
+,KC_NO ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_TRNS
+,KC_LSFT ,KC_TRNS ,KC_TRNS ,KC_MS_D ,KC_TRNS ,KC_TRNS ,KC_WH_D
+,KC_MUTE ,KC_VOLD ,KC_VOLU ,KC_BTN1 ,KC_BTN2
+ ,KC_WSTP ,KC_WREF
+ ,KC_WSCH
+ ,KC_WBAK ,KC_TRNS ,KC_WHOM
// right hand
- KC_TRNS, KC_TRNS, KC_PSCR, KC_PGUP, KC_MYCM, KC_MAIL, KC_TRNS,
- KC_WH_U, KC_TRNS, KC_WH_U, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT,KC_END, KC_TRNS,
- KC_WH_D, KC_TRNS, KC_WH_D, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_PGDN, KC_TRNS,KC_TRNS, KC_TRNS,
- KC_MPRV, KC_MNXT,
- KC_VOLU,
- KC_VOLD, KC_MSTP, KC_MPLY
+ ,KC_TRNS ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,KC_TRNS
+ ,KC_WH_U ,KC_PSCR ,KC_HOME,KC_UP ,KC_PGUP ,KC_MAIL ,MO(MDIA_MO)
+ ,KC_NLCK ,KC_LEFT,KC_DOWN ,KC_RIGHT,KC_MYCM ,KC_NO
+ ,KC_WH_D ,KC_TRNS ,KC_END ,KC_DOWN ,KC_PGDN ,KC_TRNS ,KC_RSFT
+ ,KC_INS ,KC_DEL ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ,KC_MPRV ,KC_MNXT
+ ,KC_VOLU
+ ,KC_VOLD ,KC_MSTP ,KC_MPLY
),
+
+/* Keymap 21: Media Lock Layer
+ *
+ * ,-----------------------------------------------------. ,-----------------------------------------------------.
+ * | | F11 | F12 | F13 | F14 | F15 | | | | F16 | F17 | F18 | F19 | F20 | |
+ * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
+ * | |ShutDn| | MsUp | | |ScrlUp| |ScrlUp|PrtScr| Home | Up | PgUp | Mail | |
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * | | Sleep|MsLeft|MsDown|MsRght| |------| |------|NumLok| Left | Down | Right|MyComp| |
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * | | | |MsDown| | |ScrlDn| |ScrlDn| | End | Down | PgDn | | |
+ * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
+ * | Mute |Vol Dn|Vol Up| Lclk | Rclk | |Insert|Delete| | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | Stop |Refrsh| | Prev | Next |
+ * ,------|------|------| |------+------+------.
+ * |Brwser|Brwser|Search| |VolUp | | |
+ * |Back | Fwd |------| |------| Stop | Play-|
+ * | | | Home | |VolDn | | Pause|
+ * `--------------------' `--------------------'
+ */
+[MDIA_TG] = KEYMAP(
+// left hand
+ MO(MDIA_XX) ,KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,KC_TRNS
+,KC_NO ,KC_POWER,KC_TRNS ,KC_MS_U ,KC_TRNS ,KC_TRNS ,KC_WH_U
+,KC_NO ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_TRNS
+,KC_LSFT ,KC_TRNS ,KC_TRNS ,KC_MS_D ,KC_TRNS ,KC_TRNS ,KC_WH_D
+,KC_MUTE ,KC_VOLD ,KC_VOLU ,KC_BTN1 ,KC_BTN2
+ ,KC_WSTP ,KC_WREF
+ ,KC_WSCH
+ ,KC_WBAK ,KC_TRNS ,KC_WHOM
+ // right hand
+ ,KC_TRNS ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,MO(MDIA_XX)
+ ,KC_WH_U ,KC_PSCR ,KC_HOME,KC_UP ,KC_PGUP ,KC_MAIL ,KC_NO
+ ,KC_NLCK ,KC_LEFT,KC_DOWN ,KC_RIGHT,KC_MYCM ,KC_NO
+ ,KC_WH_D ,KC_TRNS ,KC_END ,KC_DOWN ,KC_PGDN ,KC_TRNS ,KC_RSFT
+ ,KC_INS ,KC_DEL ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ,KC_MPRV ,KC_MNXT
+ ,KC_VOLU
+ ,KC_VOLD ,KC_MSTP ,KC_MPLY
+ ),
+
+/* Keymap 22: Media Unlock Layer
+ *
+ * ,-----------------------------------------------------. ,-----------------------------------------------------.
+ * | | Esc | | | | | | | | | | | | | |
+ * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
+ * | Unlock | | | | | | | | | | | | | | Unlock |
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * | | | | | | |------| |------| | | | | | |
+ * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
+ * | Caps LOCK | | | | | | | | | | | | | | Caps LOCK |
+ * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+[MDIA_XX] = KEYMAP(
+// left hand
+ KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,KC_FN1 ,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_CAPS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+
+ ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS
+ ,KC_TRNS,KC_TRNS ,KC_TRNS
+
+ // right hand
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN1
+ ,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_CAPS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+
+ ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS
+ ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ )
};
const uint16_t PROGMEM fn_actions[] = {
- [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols)
+ [1] = ACTION_LAYER_CLEAR(ON_PRESS) // FN1 - clear to base layer
+ ,[2] = ACTION_LAYER_INVERT(SYMB_TG, ON_PRESS) // FN2 - toggle to Symbols on press
+ ,[3] = ACTION_LAYER_INVERT(MDIA_TG, ON_PRESS) // FN3 - toggle to Media on press
};
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
@@ -168,25 +394,36 @@ void matrix_init_user(void) {
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
-
- uint8_t layer = biton32(layer_state);
+ uint8_t layer = biton32(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
ergodox_right_led_2_off();
ergodox_right_led_3_off();
- switch (layer) {
- // TODO: Make this relevant to the ErgoDox EZ.
- case 1:
- ergodox_right_led_1_on();
- break;
- case 2:
- ergodox_right_led_2_on();
- break;
- default:
- // none
- break;
+
+ // lock layer turns on all lights
+ if(layer == LOCK || layer == SYMB_XX) {
+ ergodox_right_led_1_on();
+ ergodox_right_led_2_on();
+ ergodox_right_led_3_on();
+ } else if(layer == MDIA_XX) {
+ ergodox_right_led_1_on();
+ ergodox_right_led_3_on();
}
+ // caps lock turns on red light
+ if(host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) {
+ ergodox_right_led_1_on();
+ }
+
+ // symbol lock turns on green light
+ if(layer == SYMB_MO || layer == SYMB_TG) {
+ ergodox_right_led_2_on();
+ }
+
+ // media lock turns on blue light
+ if(layer == MDIA_MO || layer == MDIA_TG) {
+ ergodox_right_led_3_on();
+ }
};
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png
index d5d00f2403..69af8df4e1 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png
Binary files differ
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt
index 046b75786a..04792f2dfc 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt
@@ -1,24 +1,24 @@
[{x:3.5},"#\n3",{x:10.5},"*\n8"],
[{y:-0.875,x:2.5},"@\n2",{x:1},"$\n4",{x:8.5},"&\n7",{x:1},"(\n9"],
[{y:-0.875,x:5.5},"%\n5",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc"},"_\n\n\n\n\n\n-","^\n6"],
-[{y:-0.875,c:"#73ab6a",w:1.5},"~\n\n\n\n\n\n`",{c:"#cccccc"},"!\n1",{x:14.5},")\n0",{w:1.5},"+\n\n\n\n\n\n="],
-[{y:-0.375,x:3.5},"E",{x:10.5},"I"],
+[{y:-0.875,c:"#2277ff",w:1.5},"Shift\n\n~\n\n\n\nLock\n`",{c:"#cccccc"},"!\n1",{x:14.5},")\n0",{c:"#2277ff",w:1.5},"+\n\nShift\n\n\n\n=\nLock"],
+[{y:-0.375,x:3.5,c:"#cccccc"},"E",{x:10.5},"I"],
[{y:-0.875,x:2.5},"W",{x:1},"R",{x:8.5},"U",{x:1},"O"],
[{y:-0.875,x:5.5},"T",{h:1.5},"{\n\n\n\n\n\n[",{x:4.5,h:1.5},"}\n\n\n\n\n\n]","Y"],
-[{y:-0.875,c:"#73ab6a",w:1.5},"Tab",{c:"#cccccc"},"Q",{x:14.5},"P",{c:"#2277ff",fa:[0,0,0,1],w:1.5},"|\n\\\nMedia\nL2"],
+[{y:-0.875,c:"#2277ff",w:1.5},"Media\n\nTab\n\n\n\nShift",{c:"#cccccc"},"Q",{x:14.5},"P",{c:"#2277ff",w:1.5},"|\n\\\nMedia\n\n\n\n\nShift"],
[{y:-0.375,x:3.5,c:"#cccccc"},"D",{x:10.5},"K"],
[{y:-0.875,x:2.5},"S",{x:1},"F",{x:8.5},"J",{x:1},"L"],
[{y:-0.875,x:5.5},"G",{x:6.5},"H"],
-[{y:-0.875,c:"#2277ff",w:1.5},"Symbols\n\n\nL1",{c:"#cccccc"},"A",{x:14.5},":\n;",{c:"#2277ff",w:1.5},"\"\n'\nSymbols\nL1"],
-[{y:-0.625,x:6.5,c:"#bfbf67",h:1.5},"< Tab\n\n\nShift Tab",{x:4.5,h:1.5},"Tab >\n\n\nTab"],
+[{y:-0.875,c:"#2277ff",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#cccccc"},"A",{x:14.5},":\n;",{c:"#2277ff",w:1.5},"\"\n'\nSymbols\n\n\n\n\nShift"],
+[{y:-0.625,x:6.5,c:"#54d6de",fa:[0,0,0,1],h:1.5},"< Tab\n\n\nShift Tab",{x:4.5,h:1.5},"Tab >\n\n\nTab"],
[{y:-0.75,x:3.5,c:"#cccccc"},"C",{x:10.5},"<\n,"],
[{y:-0.875,x:2.5},"X",{x:1},"V",{x:8.5},"M",{x:1},">\n."],
[{y:-0.875,x:5.5},"B",{x:6.5},"N"],
-[{y:-0.875,c:"#2277ff",w:1.5},"Capitals\n\n\nShift",{c:"#cccccc"},"Z",{x:14.5},"?\n/",{c:"#2277ff",w:1.5},"\n\nCapitals\nShift"],
+[{y:-0.875,c:"#2277ff",fa:[0,1,0,1,0,0,0],w:1.5},"Capitals\nShift\n\n\n\n\nShift",{c:"#cccccc"},"Z",{x:14.5,f:3},"?\n/",{c:"#2277ff",w:1.5},"\n\nCapitals\nShift\n\n\n\nShift"],
[{y:-0.375,x:3.5,c:"#77aaff"},"Option\n\n\nLAlt",{x:10.5},"Option\n\n\nRAlt"],
[{y:-0.875,x:2.5},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5},"Cmd\n\n\nSuper",{x:1},"Hyper"],
[{y:-0.75,x:0.5},"Ctrl\n\n\nLCtrl","Meh",{x:14.5},"Meh","Ctrl\n\n\nRCtrl"],
-[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#bfbf67"},"Home","End"],
+[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#54d6de"},"Home","End"],
[{h:2},"< Del\n\n\nBackspace",{h:2},"Del >\n\n\nDelete","Page\n\n\n\n\n\nUp"],
[{x:2},"Page\n\n\n\n\n\nDown"],
[{r:-30,rx:13,y:-1,x:-3},"Left","Right"],
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png
index 89d15e4506..9c0e8bba39 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png
Binary files differ
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt
index 4237f08201..c7bd272eca 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt
@@ -1,27 +1,27 @@
-[{x:3.5,c:"#9988bb"},"Vol\n\n\n\n\n\nMute",{x:10.5,c:"#ccffff"},"Page\n\n\n\n\n\nUp"],
-[{y:-0.875,x:2.5,c:"#9988bb"},"Sleep",{x:1},"Vol\n\n\n\n\n\nDown",{x:8.5},"Print\n\n\n\n\n\nScreen",{x:1},"Home\n\n\n\n\n\nDir"],
-[{y:-0.875,x:5.5},"Vol\n\n\n\n\n\nUp",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc",a:7},"",""],
-[{y:-0.875,c:"#ff4444",a:4,w:1.5},"Esc",{c:"#9988bb"},"Shut\n\n\n\n\n\nDown",{x:14.5},"Email",{c:"#cccccc",a:7,w:1.5},""],
-[{y:-0.375,x:3.5,c:"#ccffff",a:4},"Mouse\n\n\n\n\n\nUp",{x:10.5},"Cursor\n\n\n\n\n\nUp"],
-[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1,c:"#99ffff",a:4},"Scroll\n\n\n\n\n\nUp",{x:8.5},"Scroll\n\n\n\n\n\nUp",{x:1,c:"#cccccc",a:7},""],
-[{y:-0.875,x:5.5},"",{c:"#99ffff",a:4,h:1.5},"Scroll\n\n\n\n\n\nUp",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nUp",{c:"#cccccc",a:7},""],
-[{y:-0.875,c:"#000000",t:"#ff0000",a:4,fa:[0,0,0,1],w:1.5},"Media\n\n\nL2",{c:"#cccccc",t:"#000000",a:7},"",{x:14.5},"",{c:"#000000",t:"#ff0000",a:4,w:1.5},"\n\nMedia\nL2"],
-[{y:-0.375,x:3.5,c:"#ccffff",t:"#000000"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"],
+[{x:3.5,c:"#99de2a"},"F13",{x:10.5},"F18"],
+[{y:-0.875,x:2.5},"F12",{x:1},"F14",{x:8.5},"F17",{x:1},"F19"],
+[{y:-0.875,x:5.5},"F15",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc",a:7},"",{c:"#99de2a",a:4},"F16"],
+[{y:-0.875,c:"#2277ff",w:1.5},"Shift\n\n\n\n\n\nLock",{c:"#99de2a"},"F11",{x:14.5},"F20",{c:"#2277ff",w:1.5},"\n\nShift\n\n\n\n\nLock"],
+[{y:-0.375,x:3.5,c:"#ff8500"},"Mouse\n\n\n\n\n\nUp",{x:10.5},"Cursor\n\n\n\n\n\nUp"],
+[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1,c:"#ffb063",a:4},"Scroll\n\n\n\n\n\nUp",{x:8.5},"Home",{x:1},"Page\n\n\n\n\n\nUp"],
+[{y:-0.875,x:5.5,c:"#cccccc",a:7},"",{c:"#ffb063",a:4,h:1.5},"Scroll\n\n\n\n\n\nUp",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nUp",{c:"#e6e067"},"Print\n\n\n\n\n\nScreen"],
+[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#e6e067",t:"#000000"},"Shut\n\n\n\n\n\nDown",{x:14.5},"Mail",{c:"#000000",t:"#ff0000",w:1.5},"\n\nMedia\n\n\n\n\nShift"],
+[{y:-0.375,x:3.5,c:"#ff8500",t:"#000000"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"],
[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nLeft",{x:1},"Mouse\n\n\n\n\n\nRight",{x:8.5},"Cursor\n\n\n\n\n\nLeft",{x:1},"Cursor\n\n\n\n\n\nRight"],
-[{y:-0.875,x:5.5,c:"#cccccc",a:7},"",{x:6.5,c:"#ccffff",a:4},"Home"],
-[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Symbols\n\n\nL1",{c:"#cccccc",t:"#000000",a:7},"",{x:14.5,c:"#ccffff",a:4},"End",{c:"#cccccc",a:7,w:1.5},""],
-[{y:-0.625,x:6.5,c:"#99ffff",a:4,h:1.5},"Scroll\n\n\n\n\n\nDown",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nDown"],
-[{y:-0.75,x:3.5,c:"#ccffff"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"],
-[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1,c:"#99ffff",a:4},"Scroll\n\n\n\n\n\nDown",{x:8.5},"Scroll\n\n\n\n\n\nDown",{x:1,c:"#cccccc",a:7},""],
-[{y:-0.875,x:5.5},"",{x:6.5},""],
-[{y:-0.875,w:1.5},"","",{x:14.5},"",{w:1.5},""],
-[{y:-0.375,x:3.5,c:"#ccffff",a:4},"Left\n\n\n\n\n\nClick",{x:10.5},"Page\n\n\n\n\n\nDown"],
-[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1,c:"#ccffff",a:4},"Right\n\n\n\n\n\nClick",{x:8.5,c:"#cccccc",a:7},"",{x:1},""],
-[{y:-0.75,x:0.5},"","",{x:14.5},"",""],
-[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#bbaacc",a:4},"Stop\n\n\nBrowser","Reload\n\n\nBrowser"],
+[{y:-0.875,x:5.5,c:"#cccccc",a:7},"",{x:6.5,c:"#e6e067",a:4},"Num\n\n\n\n\n\nLock"],
+[{y:-0.875,c:"#cccccc",a:7,w:1.5},"",{c:"#e6e067",a:4},"Sleep",{x:14.5},"My\n\n\n\n\n\nComp",{c:"#cccccc",a:7,w:1.5},""],
+[{y:-0.625,x:6.5,c:"#ffb063",a:4,h:1.5},"Scroll\n\n\n\n\n\nDown",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nDown"],
+[{y:-0.75,x:3.5,c:"#ff8500"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"],
+[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1,c:"#ffb063",a:4},"Scroll\n\n\n\n\n\nDown",{x:8.5},"End",{x:1},"Page\n\n\n\n\n\nDown"],
+[{y:-0.875,x:5.5,c:"#cccccc",a:7},"",{x:6.5},""],
+[{y:-0.875,c:"#2277ff",a:4,fa:[0,1,0,0,0,0,0],w:1.5},"Capitals\nShift\n\n\n\n\nShift",{c:"#cccccc",a:7},"",{x:14.5},"",{c:"#2277ff",a:4,fa:[0,1,0,1],w:1.5},"\n\nCapitals\nShift\n\n\n\nShift"],
+[{y:-0.375,x:3.5,c:"#ff8500"},"Left\n\n\n\n\n\nClick",{x:10.5,c:"#ffb063"},"Delete"],
+[{y:-0.875,x:2.5,c:"#e6e067"},"Vol\n\n\n\n\n\nUp",{x:1,c:"#ff8500"},"Right\n\n\n\n\n\nClick",{x:8.5,c:"#ffb063"},"Insert",{x:1,c:"#cccccc",a:7},""],
+[{y:-0.75,x:0.5,c:"#e6e067",a:4},"Mute","Vol\n\n\n\n\n\nDown",{x:14.5,c:"#cccccc",a:7},"",""],
+[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#cfc82b",a:4},"Stop\n\n\nBrowser","Reload\n\n\nBrowser"],
[{h:2},"< Web\n\n\nBrowser",{h:2},"Web >\n\n\nBrowser","Search\n\n\nBrowser"],
[{x:2},"Home\n\n\nBrowser"],
[{r:-30,rx:13,y:-1,x:-3},"Prev\n\n\nAudio\n\n\nTrack","Next\n\n\nAudio\n\n\nTrack"],
-[{x:-3,c:"#9988bb"},"Vol\n\n\n\n\n\nUp",{c:"#bbaacc",h:2},"Stop\n\n\nAudio",{h:2},"Play\n\n\nAudio\n\n\nPause"],
-[{x:-3,c:"#9988bb"},"Vol\n\n\n\n\n\nDown"]
+[{x:-3,c:"#e6e067"},"Vol\n\n\n\n\n\nUp",{c:"#cfc82b",h:2},"Stop\n\n\nAudio",{h:2},"Play\n\n\nAudio\n\n\nPause"],
+[{x:-3,c:"#e6e067"},"Vol\n\n\n\n\n\nDown"]
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png
index 7522af3330..2538fbeb30 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png
Binary files differ
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt
index dda15f71be..098a08d2f1 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt
@@ -1,24 +1,24 @@
-[{x:3.5,c:"#a3a3a3"},"F3",{x:10.5},"F8"],
+[{x:3.5,c:"#99de2a"},"F3",{x:10.5},"F8"],
[{y:-0.875,x:2.5},"F2",{x:1},"F4",{x:8.5},"F7",{x:1},"F9"],
-[{y:-0.875,x:5.5},"F5",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc",a:7},"",{c:"#a3a3a3",a:4},"F6"],
-[{y:-0.875,c:"#ff4444",w:1.5},"Esc",{c:"#a3a3a3"},"F1",{x:14.5},"F10",{w:1.5},"F11"],
-[{y:-0.375,x:3.5,c:"#bbc6ed"},"{",{x:10.5,c:"#bed4ba"},"8"],
-[{y:-0.875,x:2.5,c:"#bbc6ed"},"@",{x:1},"}",{x:8.5,c:"#bed4ba"},"7",{x:1},"9"],
-[{y:-0.875,x:5.5,c:"#bbc6ed"},"&",{h:1.5},"<",{x:4.5,h:1.5},">","|"],
-[{y:-0.875,c:"#2277ff",fa:[0,0,0,1],w:1.5},"Media\n\n\nL2",{c:"#bbc6ed"},"!",{x:14.5,c:"#bed4ba"},"/",{c:"#a3a3a3",w:1.5},"F12"],
-[{y:-0.375,x:3.5,c:"#bbc6ed"},"(",{x:10.5,c:"#bed4ba"},"5"],
-[{y:-0.875,x:2.5,c:"#bbc6ed"},"$",{x:1},")",{x:8.5,c:"#bed4ba"},"4",{x:1},"6"],
-[{y:-0.875,x:5.5,c:"#bbc6ed"},"`",{x:6.5},"/"],
-[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Symbols\n\n\nL1",{c:"#bbc6ed",t:"#000000"},"#",{x:14.5,c:"#bed4ba"},"*",{c:"#000000",t:"#ff0000",w:1.5},"\n\nSymbols\nL1"],
-[{y:-0.625,x:6.5,c:"#bfbf67",t:"#000000",h:1.5},"Tab >\n\n\nTab",{x:4.5,h:1.5},"< Tab\n\n\nShift Tab"],
-[{y:-0.75,x:3.5,c:"#bbc6ed"},"[",{x:10.5,c:"#bed4ba"},"2"],
-[{y:-0.875,x:2.5,c:"#bbc6ed"},"^",{x:1},"]",{x:8.5,c:"#bed4ba"},"1",{x:1},"3"],
-[{y:-0.875,x:5.5,c:"#bbc6ed"},"~",{x:6.5},"\\"],
-[{y:-0.875,c:"#cccccc",a:7,w:1.5},"",{c:"#bbc6ed",a:4},"%",{x:14.5,c:"#bed4ba"},"-",{c:"#2277ff",w:1.5},"\n\nCaps Lock"],
-[{y:-0.375,x:3.5,c:"#cccccc",a:7},"",{x:10.5,c:"#bed4ba",a:4},"."],
-[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1},"",{x:8.5,c:"#bed4ba",a:4},"0",{x:1},"="],
-[{y:-0.75,x:0.5,c:"#cccccc",a:7},"","",{x:14.5,c:"#bed4ba",a:4},"+","Enter"],
-[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#bfbf67"},"Left","Right"],
+[{y:-0.875,x:5.5},"F5",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc",a:7},"",{c:"#99de2a",a:4},"F6"],
+[{y:-0.875,c:"#2277ff",w:1.5},"Shift\n\n\n\n\n\nLock",{c:"#99de2a"},"F1",{x:14.5},"F10",{c:"#2277ff",w:1.5},"\n\nShift\n\n\n\n\nLock"],
+[{y:-0.375,x:3.5,c:"#c4e0bf"},"{",{x:10.5,c:"#89b087"},"8"],
+[{y:-0.875,x:2.5,c:"#c4e0bf"},"@",{x:1},"}",{x:8.5,c:"#89b087"},"7",{x:1},"9"],
+[{y:-0.875,x:5.5,c:"#c4e0bf"},"&",{h:1.5},"<",{x:4.5,h:1.5},">","|"],
+[{y:-0.875,c:"#2277ff",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#c4e0bf"},"!",{x:14.5,c:"#89b087"},"/",{c:"#2277ff",w:1.5},"\n\nMedia\n\n\n\n\nShift"],
+[{y:-0.375,x:3.5,c:"#c4e0bf"},"(",{x:10.5,c:"#89b087"},"5"],
+[{y:-0.875,x:2.5,c:"#c4e0bf"},"$",{x:1},")",{x:8.5,c:"#89b087"},"4",{x:1},"6"],
+[{y:-0.875,x:5.5,c:"#c4e0bf"},"`",{x:6.5},"/"],
+[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#c4e0bf",t:"#000000"},"#",{x:14.5,c:"#89b087"},"*",{c:"#000000",t:"#ff0000",w:1.5},"\n\nSymbols\n\n\n\n\nShift"],
+[{y:-0.625,x:6.5,c:"#54d6de",t:"#000000",fa:[0,0,0,1],h:1.5},"Tab >\n\n\nTab",{x:4.5,h:1.5},"< Tab\n\n\nShift Tab"],
+[{y:-0.75,x:3.5,c:"#c4e0bf"},"[",{x:10.5,c:"#89b087"},"2"],
+[{y:-0.875,x:2.5,c:"#c4e0bf"},"^",{x:1},"]",{x:8.5,c:"#89b087"},"1",{x:1},"3"],
+[{y:-0.875,x:5.5,c:"#c4e0bf"},"~",{x:6.5},"\\"],
+[{y:-0.875,c:"#2277ff",f2:1,w:1.5},"Capitals\nShift\n\n\n\n\nShift",{c:"#c4e0bf"},"%",{x:14.5,c:"#89b087"},"-",{c:"#2277ff",fa:[0,1,0,1],w:1.5},"\n\nCapitals\nShift\n\n\n\nShift"],
+[{y:-0.375,x:3.5,c:"#cccccc",a:7},"",{x:10.5,c:"#89b087",a:4},"."],
+[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1},"",{x:8.5,c:"#89b087",a:4},"0",{x:1},"="],
+[{y:-0.75,x:0.5,c:"#cccccc",a:7},"","",{x:14.5,c:"#89b087",a:4},"+","Enter"],
+[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#54d6de"},"Left","Right"],
[{h:2},"Space",{h:2},"Enter","Up"],
[{x:2},"Down"],
[{r:-30,rx:13,y:-1,x:-3},"Home","End"],
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex b/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex
index 1a08598465..c8d56d5b37 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex
+++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex
@@ -1,1119 +1,1179 @@
-:100000000C9465020C94A9020C94A9020C94A90208
-:100010000C94A9020C94A9020C94A9020C94A902B4
-:100020000C94A9020C94A9020C94B00B0C94820CB1
-:100030000C94A9020C94A9020C94A9020C94A90294
-:100040000C94A9020C940B210C94A9020C94A90203
-:100050000C94A9020C94AD1A0C94A9020C94A90258
-:100060000C94A9020C94A9020C94A9020C94A90264
-:100070000C94A9020C94A9020C94A9020C94A90254
-:100080000C94A9020C94A9020C94A9020C94A90244
-:100090000C94A9020C94A9020C94A9020C94A90234
-:1000A0000C94A9020C94A9020C94A902E70C090D66
-:1000B000F40D090DF40D4B0D6E0DF40DC30DD60DA1
-:1000C000C310C310F110F11033116F116F136F13C0
-:1000D00087116F137E127E1249136F136F135D1316
-:1000E0000000F0A135002B000152E100E00000000B
-:1000F0001E00140004001D7100774E001F001A003E
-:1001000016001B00007F4C002000080007000600BE
-:10011000E2002A002100150009001900E3004B004D
-:10012000220017000A00050000004A0029002F00E5
-:1001300000002B0200004D002D00300000002B00BD
-:100140000000500023001C000B00110000004F00B5
-:10015000240018000D001000E700520025000C00DC
-:100160000E003600E6002C00260012000F003700BB
-:10017000007F2800270013003300387100775100FA
-:100180002E0031823481E500E40000002900025293
-:1001900001000100010000003A001E0220022202BC
-:1001A000010051003B001F02210223020100280030
-:1001B0003C002F0226022F0001002C003D003002DF
-:1001C00027023000010052003E00240235003502B3
-:1001D000000050000100360200002B0000004F001C
-:1001E0000100370200002B0200004A003F003102EC
-:1001F0003800310000004D0040005F005C005900F5
-:1002000062004B00410060005D005A0037004C0066
-:10021000420061005E005B0067002A00430054005A
-:100220005500560057004E004400450001003900BB
-:1002300058000000290002520100010001000000E6
-:10024000A5000100010001000100B500A6000100A9
-:10025000F200010001000100A800F000F100F1002F
-:10026000F400B600AA00F900F3000100FA00B4009F
-:10027000A9000100010001000000B8000100F90020
-:100280000000FA000000B9000100F9000000FA00C7
-:100290000000AC00010001004A0001000000AB00BA
-:1002A0004600F9005000FA000100A9004B0052007E
-:1002B000510051004E00AE00B30001004F0001009C
-:1002C0000100AD00B10001004D0001000100AA00D5
-:1002D00001000100010001000100000016034500BB
-:1002E000720067006F0044006F0078002000450036
-:1002F0005A00000016034500720067006F004400BA
-:100300006F007800200045005A0000000403090433
-:1003100009026D00040100A0FA09040000010301B4
-:100320000100092111010001223F00070581030896
-:10033000000A090401000103010200092111010062
-:1003400001224D000705820308000A09040200018A
-:100350000300000009211101000122360007058376
-:100360000308000A09040300010300000009211129
-:100370000100012239000705840310000112011059
-:100380000100000008EDFE07130100010200010555
-:10039000010906A101050719E029E71500250195C6
-:1003A0000875018102050819012905950575019156
-:1003B000029501750391010507190029771500259C
-:1003C00001957875018102C005010980A1018502AE
-:1003D00016010026B7001A01002AB7007510950112
-:1003E0008100C0050C0901A1018503160100269CAE
-:1003F000021A01002A9C02751095018100C00501B6
-:100400000902A1010901A100050919012905150029
-:10041000250195057501810295017503810105018D
-:10042000093009311581257F950275088106093843
-:100430001581257F950175088106050C0A3802157E
-:1004400081257F950175088106C0C005010906A1B7
-:1004500001050719E029E7150025019508750181B7
-:100460000295017508810105081901290595057591
-:100470000191029501750391010507190029FF15E6
-:100480000025FF950675088100C0000000000000EF
-:100490000000000000010204060A0F17202C3A4A4F
-:1004A0005D71879DB3C7DAE9F5FCFFFCF5E9DAC7B2
-:1004B000B39D87715D4A3A2C20170F0A060402018A
-:1004C0000000000000000000000011241FBECFEF5C
-:1004D000DAE0DEBFCDBF04B603FE24C08091EE019A
-:1004E0009091EF01A091F001B091F1018730904B14
-:1004F000A740B04BB9F41092EE011092EF011092A8
-:10050000F0011092F10114BE84B7877F84BF88E1A7
-:100510000FB6F89480936000109260000FBEE0E088
-:10052000FFE3099511E0A0E0B1E0EAE9F5E402C0DB
-:1005300005900D92A433B107D9F721E0A4E3B1E00F
-:1005400001C01D92AE3EB207E1F70E94F6080C947E
-:10055000CB220C94000061110BC0FC018281882326
-:1005600021F085EE0E94570F03C085EE0E941F10F8
-:1005700080E090E0089508956091B1017091B2011A
-:100580008091B3019091B4010E94D91956985E9858
-:1005900025982D9826982E9827982F98813019F015
-:1005A000823021F00895259A2D9A0895269A2E9A40
-:1005B00008950C94BC0256985E9825982D9826981C
-:1005C0002E9827982F988FEF90E090938900809332
-:1005D000880090938B0080938A0090938D00809385
-:1005E0008C00259A2D9A2FEF80E792E021508040D1
-:1005F0009040E1F700C00000269A2E9A2FEF80E786
-:1006000092E0215080409040E1F700C00000279A1E
-:100610002F9A2FEF80E792E0215080409040E1F741
-:1006200000C0000025982D982FEF80E792E0215020
-:1006300080409040E1F700C0000026982E982FEFF0
-:1006400080E792E0215080409040E1F700C0000038
-:1006500027982F9856985E9825982D9826982E982A
-:1006600027982F98089589EA8093800089E08093E5
-:10067000810024982C983F988AB18F748AB96E981B
-:10068000479A8BB1806B8BB9769A0E94DB020C94EF
-:10069000BB0280E2809300018091340181110EC081
-:1006A0000E94980381E0809334012FEF83ED90E363
-:1006B000215080409040E1F700C0000080E40E949B
-:1006C0009E038093000181112EC00E94C803809375
-:1006D0000001811128C00E94C8038093000181118C
-:1006E00022C08FE30E94C8038093000181111BC0C8
-:1006F0000E94C00380E40E949E0380930001811148
-:1007000012C08CE00E94C8038093000181110BC0CD
-:100710000E94C80380930001811105C08FE30E94ED
-:10072000C803809300010E94C003809100010895D6
-:100730001092B9008AE08093B800089594EA9093EB
-:10074000BC009091BC0097FFFCCF9091B900987FBE
-:10075000983021F0903111F081E008958093BB0032
-:1007600084E88093BC008091BC0087FFFCCF80911F
-:10077000B900887F883111F0803471F780E00895E6
-:1007800084E98093BC008091BC0084FDFCCF089577
-:100790008093BB0084E88093BC008091BC0087FFFD
-:1007A000FCCF9091B900987F81E0983209F480E005
-:1007B000089584E88093BC008091BC0087FFFCCF43
-:1007C0008091BB00089580910001811115C080E4E3
-:1007D0000E949E038093000181110CC082E10E945F
-:1007E000C80380930001811105C08FEF0E94C803E8
-:1007F000809300010E94C00384B1807F84B985B1D9
-:10080000807F85B98AB1837F8AB98BB1837F8BB9A9
-:100810003E98469808950E944903809300010E94E3
-:10082000E30380B38C7080BB81B3836F81BBE4E44E
-:10083000F1E0A6E3B1E011921D9281E0E235F80704
-:10084000D1F70C943303BF92CF92DF92EF92FF92D5
-:100850000F931F93CF93DF9380910001882379F04A
-:10086000809135018F5F80933501811108C00E940E
-:10087000490380930001811102C00E94DB0206E35C
-:1008800011E0C0E0D0E0DD24D39482E0C82EEE2455
-:10089000E394F12CC73000F580910001811162C012
-:1008A00080E40E949E0380930001811112C082E1C6
-:1008B0000E94C8038093000181110BC0C7010C2E58
-:1008C00001C0880F0A94EAF780950E94C8038093BC
-:1008D00000010E94C00346C0CA30A1F028F4C8300D
-:1008E00059F0C93061F005C0CC3089F070F0CD30DE
-:1008F00089F0209A289810C0219A29980DC0229A30
-:100900002A980AC0239A2B9807C0529A01C0539A7A
-:100910005B9802C03E9A4698E0EAEA95F1F78FB1FB
-:1009200079995AC092E081708D25892B7C9B02C0F9
-:1009300090E001C094E0892B7D9B02C090E001C053
-:1009400098E0892B7E9B02C090E001C090E1892B4A
-:100950009FB19095991F9927991F9295990F907E15
-:10096000892B0FC08091000181114BC080E40E944F
-:100970009E0380930001882389F1B12C0E94C0035B
-:100980008B2DF8019081981719F08083C092010196
-:100990000E94E30321960F5F1F4FCE30D10509F06F
-:1009A00079CF80910101882371F1815080930101F9
-:1009B000882339F08FE99FE00197F1F700C000002C
-:1009C00022C0A4E4B1E0E6E3F1E081918D9391E0EF
-:1009D000E434F907D1F717C090E0A5CF83E10E9476
-:1009E000C803809300018111C8CF81E40E949E0357
-:1009F000809300018111C1CF0E94D903B82EB09419
-:100A0000BDCF80E0BECF0E94D90281E0DF91CF91BF
-:100A10001F910F91FF90EF90DF90CF90BF900895BE
-:100A2000E82FF0E0EC5BFE4F8081089508958B3B4A
-:100A3000910578F4883A910540F5853A9105D0F40E
-:100A40008430910508F0B1C08130910509F4ADC042
-:100A50006BC0803E910508F467C0883E910508F49C
-:100A6000A4C09C01205F31092031310508F05CC031
-:100A700090650895853A910509F459C0863A910523
-:100A800009F458C083E890E40895883A910509F480
-:100A900054C0893A910509F453C08A3A910509F482
-:100AA00052C08B3A910509F451C08C3A910509F472
-:100AB00050C08D3A910509F44FC0803B910509F46F
-:100AC0004EC08E3A910509F44DC08F3A910509F454
-:100AD0004CC0813B910509F44BC0823B910509F460
-:100AE0004AC0833B910509F449C0843B910509F450
-:100AF00048C0853B910509F447C0863B910509F440
-:100B000046C0873B910509F445C0883B910509F42F
-:100B100044C0893B910509F443C08A3B910509F023
-:100B200042C08AE296E4089580E090E0089581E86A
-:100B300090E4089582E890E4089582EE94E40895A4
-:100B400089EE94E408958AEE94E4089585EB94E4A4
-:100B5000089586EB94E4089587EB94E408958CEC73
-:100B600094E408958DEC94E4089583E895E4089561
-:100B70008AE895E4089582E995E4089584E995E486
-:100B8000089581E296E4089583E296E4089584E26C
-:100B900096E4089585E296E4089586E296E4089541
-:100BA00087E296E4089580E094E40895089596E03D
-:100BB000799FF001112494E5899FE00DF11D112426
-:100BC000E60FF11DEE0FFF1FEC51FF4F8591949141
-:100BD0000895880F991F805A9040FC018591949147
-:100BE0000895880F991F80529F4FFC018591949121
-:100BF000089526E0729FF001112444E5849FE00DE2
-:100C0000F11D1124E60FF11DEE0FFF1FEC51FF4FF8
-:100C100025913491C9019A9581159F4110F4C9011C
-:100C20000895C90190528115904128F4C9019F701F
-:100C30000E94F1050895C90190538115904120F457
-:100C4000C9019927906C0895211580E5380769F44A
-:100C50000E9490139FEF24E34CE0915020404040CD
-:100C6000E1F700C000000C94D21A213080E538076B
-:100C700031F48091CC0181608093CC010895C90149
-:100C800090558115904108F050C0832F99278F709F
-:100C9000992781309105D9F4A9014370552702C0E5
-:100CA000880F991F4A95E2F79C68A90164E0440FF8
-:100CB000551F6A95E1F744275370842B952B73E0F9
-:100CC000220F331F7A95E1F7207633271DC082303B
-:100CD000910529F4922F8827816F906A08958330B7
-:100CE0009105A9F4A9014370552781E090E002C065
-:100CF000880F991F4A95E2F79C6843E0220F331F43
-:100D00004A95E1F7207E3770822B932B0895049744
-:100D1000F1F4A9014370552781E090E002C0880FEB
-:100D2000991F4A95E2F79A68E8CFC9019057811553
-:100D3000904120F4C9019F7090620895C9019058B4
-:100D40008115904120F4C9019F70906A0895203E5A
-:100D50003105E0F4203C310558F52133310509F423
-:100D600070C048F42932310509F464C02A323105D3
-:100D700009F46EC074C029333105F1F02238310511
-:100D8000D9F02533310509F44EC069C0233E310541
-:100D900089F138F4203E3105C1F0223E3105E1F001
-:100DA0005EC0263E310569F1273E3105A9F157C0E5
-:100DB000C9010E94E90508958091DF0180FD02C00C
-:100DC00081FF4DC080EE90E04BC08091DF0180FF3D
-:100DD000F9CF89E390E044C08091DF0182FF0EC02B
-:100DE0008091DF0184FF03C080E090E039C083EE92
-:100DF00090E036C08091DF0182FFF2CF82EE90E07A
-:100E00002FC08091DF0183FF0BC08091DF0184FD43
-:100E1000EBCF87EE90E024C08091DF0183FFF5CF18
-:100E200086EE90E01DC08091DF0185FF07C089E25A
-:100E300090E016C08091DF0185FFF9CF85E390E057
-:100E40000FC08091DF0186FF07C08AE290E008C0F2
-:100E50008091DF0186FFF9CF81E390E001C0C901F5
-:100E60000E941705089508950C943307809162013C
-:100E70000895CF93DF9300D01F92CDB7DEB72091B6
-:100E8000E501243019F523E029839B838A8320938D
-:100E9000E9008FEF9091E800815095FD06C095ED37
-:100EA0009A95F1F700008111F5CF8091E80085FF58
-:100EB0000DC040E050E063E070E0CE0101960E947A
-:100EC000A3098091E8008E778093E8000F900F903F
-:100ED0000F90DF91CF910895CF93DF9300D01F92B1
-:100EE000CDB7DEB72091E501243021F522E029833A
-:100EF0009B838A8383E08093E9008FEF9091E800E1
-:100F0000815095FD06C095ED9A95F1F7000081118D
-:100F1000F5CF8091E80085FF0DC040E050E063E030
-:100F200070E0CE0101960E94A3098091E8008E77BF
-:100F30008093E8000F900F900F90DF91CF9108956C
-:100F40002091E5012430F1F422E02093E9002FEF15
-:100F50003091E800215035FD06C035ED3A95F1F7A6
-:100F600000002111F5CF2091E80025FF0BC040E0E3
-:100F700050E065E070E00E94A3098091E8008E7760
-:100F80008093E8000895CF93DF93EC018091E50111
-:100F9000843009F046C090910C019923D9F09091CA
-:100FA0000D019923B9F08093E9008FEF9091E8004B
-:100FB000815095FD06C095E19A95F1F700008111E9
-:100FC000F5CF8091E80085FF2CC040E050E060E163
-:100FD00070E017C081E08093E9008FEF9091E80006
-:100FE000815095FD06C095ED9A95F1F700008111AD
-:100FF000F5CF8091E80085FF14C040E050E068E044
-:1010000070E0CE010E94A3098091E8008E77809362
-:10101000E80080E1FE01A2E5B1E001900D928A9521
-:10102000E1F7DF91CF9108958091E401811109C02A
-:101030000E94350B0E94920B8091E20084608093A5
-:10104000E20008951092E401089508950C94F820A8
-:101050000E94691A0E94FE200E942F0E0C943407F1
-:1010600042E061EC81E00E94AF0A42E061EC82E084
-:101070000E94AF0A42E061EC83E00E94AF0A42E1C5
-:1010800061EC84E00C94AF0A8091E701833009F4AD
-:1010900055C030F4813071F0823009F48EC008956B
-:1010A0008A3009F47AC08B3009F460C0893009F0C5
-:1010B0009CC020C08091E601813A09F096C08091E1
-:1010C000E800877F8093E8008091EA019091EB012E
-:1010D000892B21F060E080E090E003C060E182E5D0
-:1010E00091E070E00E94EC098091E8008B7780939A
-:1010F000E80008958091E601813209F076C0809180
-:10110000EA019091EB01009719F0039709F06DC087
-:101110008091E800877F8093E8008091E80082FD5D
-:1011200005C08091E5018111F8CF5FC08091F10089
-:10113000809362018091E8008B7753C08091E60133
-:10114000813A09F052C08091EA019091EB01892B1C
-:1011500009F04BC08091E800877F8093E800809180
-:10116000E80080FFFCCF80910C0136C08091E60141
-:101170008132D9F58091EA019091EB01892BA9F593
-:101180008091E800877F8093E8000E94E40A8091C4
-:10119000E80180930C010C9490138091E601813258
-:1011A00021F58091E800877F8093E8000E94E40A9F
-:1011B0008091E9018093630108958091E601813A6D
-:1011C000A1F48091E800877F8093E8008091E80097
-:1011D00080FFFCCF809163018093F1008091E80053
-:1011E0008E778093E8000C94E40A089584B7877F93
-:1011F00084BF88E10FB6F89480936000109260007D
-:101200000FBE90E080E80FB6F89480936100909351
-:1012100061000FBE0E947E0E0E94350B0E94920B51
-:101220008091E20084608093E20078940E940D0E29
-:101230000E94800E82E091E00E942A0E0E94E62029
-:101240008091E501853069F40E942C1A8091E301B8
-:101250008823B1F30E94541A882391F30E948D09C8
-:10126000EFCF0E94860EECCF292F33272330310594
-:10127000A9F06CF42130310509F442C02230310567
-:1012800009F043C08DE690E020E133E042C0213216
-:101290003105C9F02232310519F137C09927813063
-:1012A000910541F08230910541F0892B71F5ECE018
-:1012B000F3E005C0E4EFF2E002C0ECEDF2E084916F
-:1012C00090E09F0126C0643000F5E62FF0E0EE0FBD
-:1012D000FF1FEE5DFE4F2081318189E090E019C053
-:1012E000643098F4E62FF0E0DF01AA0FBB1FA65E82
-:1012F000BE4F2D913C91EA5EFE4F808190E009C087
-:1013000082E190E02DE733E004C080E090E020E04F
-:1013100030E0FA0131832083089580E189BD82E1C4
-:1013200089BD09B400FEFDCF8091D8008F7D8093E8
-:10133000D8008091E00082608093E0008091E0001E
-:1013400081FDFCCF0895CF92DF92EF92FF920F9331
-:101350001F93CF93DF937C018B01EA010E94050B61
-:10136000811131C0209731F088819981081B190BB8
-:10137000E80EF91EC12CD12C0115110519F180912F
-:10138000E80085FD14C08091E8008E778093E80026
-:10139000209741F0888199818C0D9D1D99838883C8
-:1013A00085E011C00E94050B882331F30CC0F701C2
-:1013B00081917F018093F10001501109FFEFCF1A55
-:1013C000DF0ADACF80E0DF91CF911F910F91FF907C
-:1013D000EF90DF90CF9008952091EC013091ED01D6
-:1013E0002617370748F06115710539F42091E80098
-:1013F0002E772093E80001C0B901FC0120E06115BF
-:101400007105B9F18091E501882309F440C0853068
-:1014100009F43FC08091E80083FD3DC08091E80061
-:1014200082FF06C08091E80082FF26C080E0089518
-:101430008091E80080FFE3CF2091F3008091F200DB
-:1014400090E0922B6115710551F08830910538F4C8
-:1014500021912093F100615071090196F3CF21E0B1
-:10146000089709F020E08091E8008E778093E800EB
-:10147000C6CF2111C7CFD6CF8091E501882339F09F
-:10148000853039F08091E80083FFCCCF04C082E042
-:10149000089583E0089581E008952091EC01309152
-:1014A000ED012617370748F06115710539F42091D1
-:1014B000E8002E772093E80001C0B901FC0120E08C
-:1014C00061157105C1F18091E501882309F441C0DE
-:1014D000853009F440C08091E80083FD3EC08091D2
-:1014E000E80082FF06C08091E80082FF27C080E00C
-:1014F00008958091E80080FFE3CF2091F300809170
-:10150000F20090E0922B6115710559F08830910539
-:1015100040F424912093F1003196615071090196B5
-:10152000F2CF21E0089709F020E08091E8008E7763
-:101530008093E800C5CF2111C6CFD5CF8091E501BA
-:10154000882339F0853039F08091E80083FFCBCFD4
-:1015500004C082E0089583E0089581E00895982F03
-:10156000973058F59093E900981739F07091EC0096
-:101570002091ED005091F00003C0242F762F50E011
-:1015800021FF19C03091EB003E7F3093EB0030918A
-:10159000ED003D7F3093ED003091EB0031603093F2
-:1015A000EB007093EC002093ED005093F00020913D
-:1015B000EE0027FF07C09F5FD3CF8F708093E900B5
-:1015C00081E0089580E008958091E60187FD05C0DF
-:1015D0008091E80080FF0EC012C08091E80082FD7B
-:1015E00005C08091E5018111F8CF08958091E80050
-:1015F0008B7708C08091E5018111EACF0895809131
-:10160000E8008E778093E80008958091E40090913F
-:10161000E50045E62091EC0020FF21C02091E80084
-:1016200020FD21C02091E501222389F0253089F099
-:101630002091EB0025FD0FC02091E4003091E500E2
-:101640002817390739F3415041F0C901E3CF82E04F
-:10165000089583E0089581E0089584E0089520913D
-:10166000E80022FFDFCF80E008950E94A30B0E94D4
-:10167000AB0BE0EEF0E0808181608083E8EDF0E08C
-:1016800080818F77808319BCA7EDB0E08C918E7F2D
-:101690008C9380818F7E80831092E40108950F9354
-:1016A0001F93CF93DF930E94A30B0E94AB0BC8ED57
-:1016B000D0E088818F77888388818068888388815B
-:1016C0008F7D888319BC1092E5011092E101109280
-:1016D000E3011092E20100EE10E0F80180818B7FBF
-:1016E000808388818160888342E060E080E00E949E
-:1016F000AF0AE1EEF0E080818E7F8083E2EEF0E0E1
-:10170000808181608083808188608083F80180810E
-:101710008E7F8083888180618883DF91CF911F9144
-:101720000F910895E8EDF0E080818F7E8083E7EDF2
-:10173000F0E080818160808384E082BF81E08093DB
-:10174000E4010C944F0BE8EDF0E080818E7F808304
-:101750001092E20008951092DA001092E1000895CC
-:101760001F920F920FB60F9211242F933F934F9316
-:101770005F936F937F938F939F93AF93BF93EF93F9
-:10178000FF938091E10082FF0BC08091E20082FF15
-:1017900007C08091E1008B7F8093E1000E940C0ED6
-:1017A0008091DA0080FF1FC08091D80080FF1BC0AD
-:1017B0008091DA008E7F8093DA008091D90080FFDB
-:1017C0000DC080E189BD82E189BD09B400FEFDCF75
-:1017D00081E08093E5010E94140805C019BC1092B5
-:1017E000E5010E9422088091E10080FF19C08091EC
-:1017F000E20080FF15C08091E2008E7F8093E200BE
-:101800008091E20080618093E2008091D800806244
-:101810008093D80019BC85E08093E5010E942608DA
-:101820008091E10084FF30C08091E20084FF2CC0F1
-:1018300080E189BD82E189BD09B400FEFDCF8091C0
-:10184000D8008F7D8093D8008091E1008F7E8093B7
-:10185000E1008091E2008F7E8093E2008091E200BF
-:1018600081608093E2008091E101882311F084E09F
-:1018700007C08091E30087FF02C083E001C081E0E0
-:101880008093E5010E9428088091E10083FF29C030
-:101890008091E20083FF25C08091E100877F8093E3
-:1018A000E10082E08093E5011092E1018091E10086
-:1018B0008E7F8093E1008091E2008E7F8093E20032
-:1018C0008091E20080618093E20042E060E080E08D
-:1018D0000E94AF0A8091F00088608093F0000E941F
-:1018E0002508FF91EF91BF91AF919F918F917F91CB
-:1018F0006F915F914F913F912F910F900FBE0F907D
-:101900001F9018951F920F920FB60F9211242F93CC
-:101910003F934F935F936F937F938F939F93AF9377
-:10192000BF93CF93EF93FF93C091E900CF70809165
-:10193000EC001092E9008091F000877F8093F00026
-:1019400078940E94BE0C1092E9008091F0008860AB
-:101950008093F000C093E900FF91EF91CF91BF9188
-:10196000AF919F918F917F916F915F914F913F9137
-:101970002F910F900FBE0F901F9018951F93CF932C
-:10198000DF93CDB7DEB7AA970FB6F894DEBF0FBED0
-:10199000CDBFE6EEF1E08091F100819321E0EE3ED3
-:1019A000F207C9F70E9444088091E80083FF1CC138
-:1019B0002091E6013091E701832F90E08A30910574
-:1019C00008F012C1FC01EA5AFF4F0C948022203823
-:1019D00081F0223809F008C18091EA018F7080936C
-:1019E000E9008091EB0085FB882780F91092E900DF
-:1019F00006C08091E2019091E30191118260909183
-:101A0000E800977F9093E8008093F1001092F10036
-:101A1000C5C0822F8D7F09F0E7C0222319F0223044
-:101A200061F0E2C08091E801813009F0DDC033301F
-:101A300009F080E08093E30128C08091E8018111E2
-:101A400024C02091EA012F7009F4CEC02093E90050
-:101A50008091EB0080FF19C08091EB00333011F4CE
-:101A6000806211C080618093EB0081E090E0022EE3
-:101A700001C0880F0A94EAF78093EA001092EA0006
-:101A80008091EB0088608093EB001092E9008091D8
-:101A9000E800877F86C02111A7C01091E8011F7759
-:101AA0008091E3008078812B8093E3008091E800AF
-:101AB000877F8093E8000E94E40A8091E80080FF1D
-:101AC000FCCF8091E30080688093E300112311F044
-:101AD00083E001C082E08093E50186C02058223077
-:101AE00008F082C08091E8019091E9018C3D23E0EB
-:101AF000920779F583E08A838AE289834FB7F89465
-:101B0000DE01139620E03EE051E2E32FF0E0509337
-:101B10005700E49120FF03C0E295EF703F5FEF7044
-:101B20008E2F90E0EA3010F0C79601C0C0968D93DA
-:101B30009D932F5F243149F74FBF8091E800877F45
-:101B40008093E8006AE270E0CE0101960E94EC0901
-:101B500014C0AE014F5F5F4F6091EA010E943409EB
-:101B6000009709F441C02091E800277F2093E80006
-:101B7000BC0189819A810E944D0A8091E8008B778F
-:101B80008093E80031C0203879F58091E800877FA4
-:101B90008093E8008091E1018093F1008091E8005A
-:101BA0008E778093E8000E94E40A1EC021111CC0B9
-:101BB0009091E8019230C0F48091E800877F809393
-:101BC000E8009093E1010E94E40A8091E101811113
-:101BD00004C08091E30087FF02C084E001C081E07F
-:101BE0008093E5010E9430088091E80083FF0AC0DD
-:101BF0008091E800877F8093E8008091EB0080620D
-:101C00008093EB00AA960FB6F894DEBF0FBECDBF4F
-:101C1000DF91CF911F9108950895CF938091E501B1
-:101C20008823B1F08091E9008F709091EC0090FFD3
-:101C300002C090E801C090E0C92FC82B1092E900C3
-:101C40008091E80083FD0E94BE0CCF70C093E90034
-:101C5000CF91089590936901809368010895E09170
-:101C60006801F0916901309721F00190F081E02D39
-:101C7000099480E00895E0916801F091690130973E
-:101C800021F00280F381E02D09940895E09168012C
-:101C9000F0916901309721F00480F581E02D0994DD
-:101CA000089520916601309167018217930771F0C2
-:101CB0009093670180936601E0916801F09169015A
-:101CC000309721F00680F781E02D09940895209146
-:101CD0006401309165018217930771F0909365015B
-:101CE00080936401E0916801F0916901309721F0DF
-:101CF0000084F185E02D0994089508950C947D0EDB
-:101D00000E946F1A0E940B040C94351BCF92DF9235
-:101D1000EF92FF920F931F93CF93DF93CDB7DEB770
-:101D20002B970FB6F894DEBF0FBECDBF0E942304E1
-:101D30003BE6E32E31E0F32E00E010E0C02E802FD2
-:101D40000E941005F701D1907F01D826B1F40F5FF2
-:101D50001F4F0E30110591F78FEF89838A831B8205
-:101D60000E94781A8160782F9D838C8349815A81E3
-:101D70006B818D810E94290F41C09091CC0191FF10
-:101D800004C08B870E9416058B8520E030E04D2D26
-:101D900050E0922FBA01022E02C0759567950A9401
-:101DA000E2F760FF25C02E83CF82EE24E394F12C6E
-:101DB00002C0EE0CFF1C9A95E2F790E08E219F2165
-:101DC00021E0892B09F420E028870E94781A81609D
-:101DD000782F9A8789874E815F8168858A850E94DE
-:101DE000290FF801E559FE4F80818E25808306C0BA
-:101DF0002F5F3F4F2630310561F6A9CF0E94191E93
-:101E000010916A010E942F0E1817A1F00E942F0E48
-:101E100080936A012B960FB6F894DEBF0FBECDBF3C
-:101E2000DF91CF911F910F91FF90EF90DF90CF90B6
-:101E30000C9434072B960FB6F894DEBF0FBECDBFBF
-:101E4000DF91CF911F910F91FF90EF90DF90CF9096
-:101E50000895CF93DF93CDB7DEB72B970FB6F894E5
-:101E6000DEBF0FBECDBF4F83588769877A878B87C8
-:101E7000DE01119686E0FD0111928A95E9F785E071
-:101E8000FE01379601900D928A95E1F749815A81BA
-:101E90006B817C818D819E810E945C162B960FB692
-:101EA000F894DEBF0FBECDBFDF91CF910895CF93E1
-:101EB000C82F882309F4C1C0823859F40E942F0E1C
-:101EC00081FDBBC089E30E94F9180E94B31989E320
-:101ED0000CC0833879F40E942F0E80FDAEC083E5DC
-:101EE0000E94F9180E94B31983E50E943919CF9115
-:101EF0000C94B319843859F40E942F0E82FD9DC0B2
-:101F000087E40E94F9180E94B31987E4EECF8CEFA2
-:101F10008C0F813A48F48C2F0E944E2081118DC085
-:101F20008C2F0E94F918E3CF80E28C0F883048F4A0
-:101F3000C77081E001C0880FCA95EAF70E947A193C
-:101F4000D6CF8BE58C0F833078F4C53A29F0C63AAA
-:101F500031F482E890E005C081E890E002C083E8B7
-:101F600090E0CF910C94510E88E58C0F833108F0EE
-:101F700064C0C83A39F1C93A41F1CA3A49F1CB3A99
-:101F800051F1CC3A59F1CD3A61F1C03B69F1CE3A09
-:101F900071F1CF3A79F1C13B81F1C23B89F1C33B89
-:101FA00091F1C43B99F1C53BA1F1C63BA9F1C73BF7
-:101FB000B1F1C83BB9F1C93BC1F1CA3BC9F58AE2ED
-:101FC00092E038C082EE90E035C089EE90E032C0F9
-:101FD0008AEE90E02FC085EB90E02CC086EB90E07D
-:101FE00029C087EB90E026C08CEC90E023C08DECFC
-:101FF00090E020C083E891E01DC08AE891E01AC01B
-:1020000082E991E017C084E991E014C081E292E096
-:1020100011C083E292E00EC084E292E00BC085E240
-:1020200092E008C086E292E005C087E292E002C03A
-:1020300080E090E0CF910C94670ECF9108958823B3
-:1020400009F44BC0823859F40E942F0E81FF45C01D
-:1020500089E30E94F9180E94B31989E30CC0833800
-:1020600071F40E942F0E80FF38C083E50E94F9189A
-:102070000E94B31983E50E9439190C94B31984386E
-:1020800059F40E942F0E82FF28C087E40E94F9189D
-:102090000E94B31987E4EFCF9CEF980F913A58F361
-:1020A00090E2980F983050F4877091E001C0990F3A
-:1020B0008A95EAF7892F0E948019DFCF9BE5980F58
-:1020C000933020F480E090E00C94510E885A8331D4
-:1020D00020F480E090E00C94670E0895882321F0AE
-:1020E0000E947A190C94B3190895882321F00E9454
-:1020F00080190C94B3190895CF92DF92EF92FF925A
-:102100000F931F93CF93DF93CDB7DEB728970FB60A
-:10211000F894DEBF0FBECDBF8C0185E0F801DE0173
-:10212000119601900D928A95E1F7F8014081318175
-:10213000F280258122952F7083819481892B31F043
-:102140003F3F31F481E04F3F19F403C081E001C00B
-:1021500080E080FDC4C249833A8389819A812F83BC
-:102160000E94B7189E8388870E94B6180E9489171C
-:102170004E81E42FE295EF70F0E0E05AFF4F2F819F
-:1021800068850C948022842F807F142F1F708823F1
-:1021900011F01295107FFF2059F0112309F454C259
-:1021A000812F68870E948A190E94B31968854CC2E2
-:1021B000862F0E941F10112309F491C2812F0E94C3
-:1021C000901928960FB6F894DEBF0FBECDBFDF91F1
-:1021D000CF911F910F91FF90EF90DF90CF900C94D3
-:1021E000B319342F307F842F8F70303211F08295E5
-:1021F000807F662319F0613019F12BC0FF20B1F008
-:10220000222309F493C1213009F090C128960FB61A
-:10221000F894DEBF0FBECDBFDF91CF911F910F911C
-:10222000FF90EF90DF90CF900C949A19222319F031
-:10223000213009F454C28E830E949D198E8189C178
-:10224000FF2021F0223008F04AC270C1211147C29C
-:1022500080C1FF2021F0222309F468C1F5C12223A7
-:1022600009F477C105C2242F26952695237030E006
-:102270002115310521F021303105C9F030C2FF2090
-:1022800021F0862F942F937002C080E090E0289672
-:102290000FB6F894DEBF0FBECDBFDF91CF911F9177
-:1022A0000F91FF90EF90DF90CF900C94510EFF2094
-:1022B00021F0862F942F937002C080E090E0289642
-:1022C0000FB6F894DEBF0FBECDBFDF91CF911F9147
-:1022D0000F91FF90EF90DF90CF900C94670E862FB8
-:1022E000FF2019F00E94211D02C00E94891D28961E
-:1022F0000FB6F894DEBF0FBECDBFDF91CF911F9117
-:102300000F91FF90EF90DF90CF900C940E1E842FD2
-:10231000837009F076C0F110E2C1262F2295269530
-:102320002770220F220F862F8F70C82ED12CE12C00
-:10233000F12C022E04C0CC0CDD1CEE1CFF1C0A94F8
-:10234000D2F764FF10C06FE070E080E090E004C05E
-:10235000660F771F881F991F2A95D2F76095709591
-:102360008095909503C060E070E0CB01242F269506
-:1023700026952370422F50E042305105D1F0433072
-:10238000510559F16C297D298E299F29413051052C
-:1023900041F128960FB6F894DEBF0FBECDBFDF9196
-:1023A000CF911F910F91FF90EF90DF90CF900C9401
-:1023B000AE176C297D298E299F2928960FB6F8948F
-:1023C000DEBF0FBECDBFDF91CF911F910F91FF9068
-:1023D000EF90DF90CF900C94C8170E94AE17C70102
-:1023E000B60128960FB6F894DEBF0FBECDBFDF91C1
-:1023F000CF911F910F91FF90EF90DF90CF900C94B1
-:102400009417FF2019F0842F817001C086958823CE
-:1024100009F465C1262F229526952770220F220FD9
-:10242000862F8F70C82ED12CE12CF12C022E04C0E7
-:10243000CC0CDD1CEE1CFF1C0A94D2F764FF10C00C
-:102440006FE070E080E090E004C0660F771F881FA7
-:10245000991F2A95D2F7609570958095909503C045
-:1024600060E070E0CB01242F269526952370422F43
-:1024700050E042305105D1F04330510559F16C29FB
-:102480007D298E299F294130510541F128960FB6AB
-:10249000F894DEBF0FBECDBFDF91CF911F910F919A
-:1024A000FF90EF90DF90CF900C9482186C297D29DB
-:1024B0008E299F2928960FB6F894DEBF0FBECDBF98
-:1024C000DF91CF911F910F91FF90EF90DF90CF9010
-:1024D0000C949C180E948218C701B60128960FB66A
-:1024E000F894DEBF0FBECDBFDF91CF911F910F914A
-:1024F000FF90EF90DF90CF900C946818603FC9F187
-:1025000018F4603E50F49BC0623F09F460C008F4C8
-:102510004AC0633F09F46FC092C0162F1F70842F0A
-:102520008F71FF2099F00E940118812F28960FB615
-:10253000F894DEBF0FBECDBFDF91CF911F910F91F9
-:10254000FF90EF90DF90CF900C946E100E942218B5
-:10255000812F28960FB6F894DEBF0FBECDBFDF9156
-:10256000CF911F910F91FF90EF90DF90CF900C943F
-:102570007510FF20A1F02111B2C0842F8F71289611
-:102580000FB6F894DEBF0FBECDBFDF91CF911F9184
-:102590000F91FF90EF90DF90CF900C94471822306E
-:1025A00008F09DC0EACFFF20A1F0842F8F712896FC
-:1025B0000FB6F894DEBF0FBECDBFDF91CF911F9154
-:1025C0000F91FF90EF90DF90CF900C940118FF20B7
-:1025D00061F3842F8F7128960FB6F894DEBF0FBE7B
-:1025E000CDBFDF91CF911F910F91FF90EF90DF90C2
-:1025F000CF900C942218FF2091F0842F8F71289691
-:102600000FB6F894DEBF0FBECDBFDF91CF911F9103
-:102610000F91FF90EF90DF90CF900C94EC172896DD
-:102620000FB6F894DEBF0FBECDBFDF91CF911F91E3
-:102630000F91FF90EF90DF90CF900C94E217FF2066
-:10264000A1F0222309F4B1CF862F28960FB6F89473
+:100000000C940B040C944F040C944F040C944F0468
+:100010000C944F040C944F040C944F040C944F0414
+:100020000C944F040C944F040C946F0D0C94410EDF
+:100030000C944F040C944F040C944F040C944F04F4
+:100040000C944F040C94EC220C944F040C944F0429
+:100050000C944F040C948E1C0C944F040C944F047D
+:100060000C944F040C944F040C944F040C944F04C4
+:100070000C944F040C944F040C944F040C944F04B4
+:100080000C944F040C944F040C944F040C944F04A4
+:100090000C944F040C944F040C944F040C944F0494
+:1000A0000C944F040C944F040C944F04A60EC80EED
+:1000B000B30FC80EB30F0A0F2D0FB30F820F950F9A
+:1000C00089128912B712B712F91235133515351581
+:1000D0004D133515441444140F15351535152315D6
+:1000E000000000810889248935812B850252E100B6
+:1000F000E00000001E00140004001D0000774E0008
+:100100001F001A0016001B00007F4C002000080092
+:1001100007000600E2002A0021001500090019006E
+:10012000E3004B00220017000A00050000004A000F
+:1001300029002F0000002B0200004D002D00300090
+:1001400000002B000000500023001C000B001100D9
+:1001500000004F00240018000D001000E7005200BE
+:1001600025000C000E003600E6002C0026001200D0
+:100170000F003700007F28002700130033003800ED
+:10018000007751002E8131853482E500E4000000C3
+:100190000100C300C2003900010000002900010075
+:1001A0000100010001000100010001000100010047
+:1001B0000100010001000100010001000100010037
+:1001C0000100010001000100010001000100010027
+:1001D0000100010000000100010001000000010019
+:1001E000000001000100010000000100000001000A
+:1001F00001000100010001000000010001000100F8
+:1002000001000100010001000100010001000100E6
+:1002100001000100010001000100010001000100D6
+:100220000100010001000100010001000100C30004
+:10023000C200390001000000010005520252E10035
+:10024000010000003A001E022002220201005100BB
+:100250003B001F0221022302010028003C002F0264
+:1002600026022F0001002C003D0030022702300042
+:10027000010052003E00240235003502000050000B
+:100280000100360200002B0000004F000100370281
+:1002900000002B0200004A003F003102380031000C
+:1002A00000004D004000240021001E0027004B00EC
+:1002B0004100250022001F0037004C0042002600AC
+:1002C000230020002E002A004300380025022D00C4
+:1002D0002E024E00010005520252E50028000000E7
+:1002E000045205520000E100010000003A001E0225
+:1002F00020022202010051003B001F0221022302C2
+:10030000010028003C002F0226022F0001002C00D3
+:100310003D00300227023000010052003E0024025E
+:1003200035003502000050000100360200002B00AD
+:1003300000004F000100370200002B0200004A00BD
+:100340003F0031023800310000004D004000240021
+:1003500021001E0027004B004100250022001F0045
+:1003600037004C0042002600230020002E002A0007
+:100370004300380025022D002E024E000452055283
+:100380000000E5002800000001000654C10039000B
+:10039000010000002900010001000100010001002E
+:1003A0000100010001000100010001000100010045
+:1003B0000100010001000100010001000100010035
+:1003C0000100010001000100010001000000010026
+:1003D0000100010000000100000001000100010017
+:1003E0000000010000000100010001000100010007
+:1003F00000000100010001000100010001000100F6
+:1004000001000100010001000100010001000100E4
+:1004100001000100010001000100010001000100D4
+:100420000100010001000654C10039000100000074
+:10043000010005520000E100A80000004400660031
+:10044000A6000100AA00B50045000100F20001006D
+:10045000A90001006800F000F100F100F400B6000E
+:1004600069000100F3000100F500B4006A0001001A
+:10047000010001000000B8000100F9000000FA00CE
+:100480000000B9000100F9000000FA000000AC0013
+:100490006B004600530001000000AB006C004A00F6
+:1004A00050004D004900A9006D005200510051005C
+:1004B0004C00AE006E004B004F004E000100AD003E
+:1004C0006F00B100B30001000100AA000100055255
+:1004D0000000E50001000000075200000000E100FC
+:1004E000A800000044006600A6000100AA00B500B4
+:1004F00045000100F2000100A90001006800F000C1
+:10050000F100F100F400B60069000100F300010001
+:10051000F500B4006A000100010001000000B8000D
+:100520000100F9000000FA000000B9000100F90024
+:100530000000FA000000AC006B0046005300010010
+:100540000000AB006C004A0050004D004900A900BB
+:100550006D005200510051004C00AE006E004B0087
+:100560004F004E000100AD006F00B100B30001006C
+:100570000100AA00075200000000E5000100000091
+:100580000100C10001003900010000002900010044
+:100590000100010001000100010001000100010053
+:1005A0000100010001000100010001000100010043
+:1005B0000100010001000100010001000100010033
+:1005C0000100010000000100010001000000010025
+:1005D0000000010001000100000001000000010016
+:1005E0000100010001000100000001000100010004
+:1005F00001000100010001000100010001000100F3
+:1006000001000100010001000100010001000100E2
+:100610000100010001000100010001000100C10012
+:100620000100390001000000160345007200670058
+:100630006F0044006F007800200045005A00000061
+:1006400016034500720067006F0044006F007800D9
+:10065000200045005A0000000403090409026D004F
+:10066000040100A0FA0904000001030101000921AE
+:1006700011010001223F000705810308000A090457
+:1006800001000103010200092111010001224D00B6
+:100690000705820308000A090402000103000000A4
+:1006A0000921110100012236000705830308000A11
+:1006B00009040300010300000009211101000122C7
+:1006C0003900070584031000011201100100000029
+:1006D00008EDFE071301000102000105010906A152
+:1006E00001050719E029E715002501950875018125
+:1006F00002050819012905950575019102950175F5
+:1007000003910105071900297715002501957875D2
+:10071000018102C005010980A101850216010026A0
+:10072000B7001A01002AB700751095018100C005B5
+:100730000C0901A1018503160100269C021A010083
+:100740002A9C02751095018100C005010902A101D2
+:100750000901A100050919012905150025019505C3
+:100760007501810295017503810105010930093187
+:100770001581257F95027508810609381581257F29
+:10078000950175088106050C0A38021581257F95AB
+:100790000175088106C0C005010906A101050719F8
+:1007A000E029E7150025019508750181029501757D
+:1007B0000881010508190129059505750191029522
+:1007C00001750391010507190029FF150025FF9503
+:1007D0000675088100C00000000000000000000055
+:1007E00000010204060A0F17202C3A4A5D71879D0A
+:1007F000B3C7DAE9F5FCFFFCF5E9DAC7B39D877109
+:100800005D4A3A2C20170F0A06040201000000007E
+:1008100000000000000011241FBECFEFDAE0DEBFB1
+:10082000CDBF04B603FE24C08091EF019091F0018A
+:10083000A091F101B091F2018730904BA740B04BED
+:10084000B9F41092EF011092F0011092F1011092A0
+:10085000F20114BE84B7877F84BF88E10FB6F89495
+:1008600080936000109260000FBEE0E0FFE3099506
+:1008700011E0A0E0B1E0ECE5F9E402C005900D92D2
+:10088000A433B107D9F721E0A4E3B1E001C01D9280
+:10089000AF3EB207E1F70E94B50A0C94AC240C9469
+:1008A000000061110BC0FC018281882321F085EEDC
+:1008B0000E94161103C085EE0E94DE1180E090E0D8
+:1008C00008950895CF936091B1017091B201809124
+:1008D000B3019091B4010E94BA1BC82F56985E983C
+:1008E00025982D9826982E9827982F98813011F0CA
+:1008F000843029F4259A2D9A269A2E9A04C087309E
+:1009000021F4259A2D9A279A2F9A0E94EE0F81FFA3
+:1009100002C0259A2D9A8EEF8C0F823010F4269A01
+:100920002E9AC550C23010F4279A2F9ACF9108956D
+:100930000C94620456985E9825982D9826982E98C7
+:1009400027982F988FEF90E09093890080938800EC
+:1009500090938B0080938A0090938D0080938C00FD
+:10096000259A2D9A2FEF80E792E021508040904009
+:10097000E1F700C00000269A2E9A2FEF80E792E060
+:10098000215080409040E1F700C00000279A2F9A44
+:100990002FEF80E792E0215080409040E1F700C0C7
+:1009A000000025982D982FEF80E792E0215080409D
+:1009B0009040E1F700C0000026982E982FEF80E7C6
+:1009C00092E0215080409040E1F700C0000027985D
+:1009D0002F9856985E9825982D9826982E982798A7
+:1009E0002F98089589EA8093800089E080938100A0
+:1009F00024982C983F988AB18F748AB96E98479A38
+:100A00008BB1806B8BB9769A0E949A040C94610426
+:100A100080E2809300018091340181110EC00E9418
+:100A2000570581E0809334012FEF83ED90E321504F
+:100A300080409040E1F700C0000080E40E945D0526
+:100A40008093000181112EC00E94870580930001D0
+:100A5000811128C00E94870580930001811122C066
+:100A60008FE30E9487058093000181111BC00E94C3
+:100A70007F0580E40E945D0580930001811112C012
+:100A80008CE00E9487058093000181110BC00E94B9
+:100A9000870580930001811105C08FE30E948705BF
+:100AA000809300010E947F058091000108951092BB
+:100AB000B9008AE08093B800089594EA9093BC004E
+:100AC0009091BC0097FFFCCF9091B900987F98302F
+:100AD00021F0903111F081E008958093BB0084E80B
+:100AE0008093BC008091BC0087FFFCCF8091B9004F
+:100AF000887F883111F0803471F780E0089584E9AF
+:100B00008093BC008091BC0084FDFCCF089580934D
+:100B1000BB0084E88093BC008091BC0087FFFCCFC1
+:100B20009091B900987F81E0983209F480E00895AF
+:100B300084E88093BC008091BC0087FFFCCF80914B
+:100B4000BB00089580910001811115C080E40E94CE
+:100B50005D058093000181110CC082E10E94870530
+:100B600080930001811105C08FEF0E94870580935B
+:100B700000010E947F0584B1807F84B985B1807FA8
+:100B800085B98AB1837F8AB98BB1837F8BB93E984F
+:100B9000469808950E940805809300010E94A205CE
+:100BA00080B38C7080BB81B3836F81BBE4E4F1E0E0
+:100BB000A6E3B1E011921D9281E0E235F807D1F78A
+:100BC0000C94F204BF92CF92DF92EF92FF920F93B8
+:100BD0001F93CF93DF9380910001882379F0809158
+:100BE00035018F5F80933501811108C00E9408058F
+:100BF00080930001811102C00E949A0406E311E073
+:100C0000C0E0D0E0DD24D39482E0C82EEE24E3944B
+:100C1000F12CC73000F580910001811162C080E4A1
+:100C20000E945D0580930001811112C082E10E9443
+:100C300087058093000181110BC0C7010C2E01C0F4
+:100C4000880F0A94EAF780950E9487058093000137
+:100C50000E947F0546C0CA30A1F028F4C83059F080
+:100C6000C93061F005C0CC3089F070F0CD3089F02A
+:100C7000209A289810C0219A29980DC0229A2A9863
+:100C80000AC0239A2B9807C0529A01C0539A5B98C6
+:100C900002C03E9A4698E0EAEA95F1F78FB1799959
+:100CA0005AC092E081708D25892B7C9B02C090E018
+:100CB00001C094E0892B7D9B02C090E001C098E0C8
+:100CC000892B7E9B02C090E001C090E1892B9FB1EF
+:100CD0009095991F9927991F9295990F907E892B2E
+:100CE0000FC08091000181114BC080E40E945D051E
+:100CF00080930001882389F1B12C0E947F058B2D00
+:100D0000F8019081981719F08083C09201010E9428
+:100D1000A20521960F5F1F4FCE30D10509F079CF84
+:100D200080910101882371F1815080930101882312
+:100D300039F08FE99FE00197F1F700C0000022C071
+:100D4000A4E4B1E0E6E3F1E081918D9391E0E43435
+:100D5000F907D1F717C090E0A5CF83E10E9487057E
+:100D6000809300018111C8CF81E40E945D058093CA
+:100D700000018111C1CF0E949805B82EB094BDCF5B
+:100D800080E0BECF0E94980481E0DF91CF911F9157
+:100D90000F91FF90EF90DF90CF90BF900895E82FD4
+:100DA000F0E0EC5BFE4F8081089508958B3B910548
+:100DB00078F4883A910540F5853A9105D0F484306D
+:100DC000910508F0B1C08130910509F4ADC06BC048
+:100DD000803E910508F467C0883E910508F4A4C0E0
+:100DE0009C01205F31092031310508F05CC090651D
+:100DF0000895853A910509F459C0863A910509F498
+:100E000058C083E890E40895883A910509F454C0E5
+:100E1000893A910509F453C08A3A910509F452C000
+:100E20008B3A910509F451C08C3A910509F450C0F0
+:100E30008D3A910509F44FC0803B910509F44EC0ED
+:100E40008E3A910509F44DC08F3A910509F44CC0D2
+:100E5000813B910509F44BC0823B910509F44AC0DE
+:100E6000833B910509F449C0843B910509F448C0CE
+:100E7000853B910509F447C0863B910509F446C0BE
+:100E8000873B910509F445C0883B910509F444C0AE
+:100E9000893B910509F443C08A3B910509F042C0A2
+:100EA0008AE296E4089580E090E0089581E890E475
+:100EB000089582E890E4089582EE94E4089589EE1E
+:100EC00094E408958AEE94E4089585EB94E40895FB
+:100ED00086EB94E4089587EB94E408958CEC94E415
+:100EE00008958DEC94E4089583E895E408958AE8E4
+:100EF00095E4089582E995E4089584E995E40895D8
+:100F000081E296E4089583E296E4089584E296E40B
+:100F1000089585E296E4089586E296E4089587E2CE
+:100F200096E4089580E094E40895089596E0799F0A
+:100F3000F001112494E5899FE00DF11D1124E60FC5
+:100F4000F11DEE0FFF1FE851FF4F85919491089519
+:100F5000880F991F805A9040FC01859194910895C3
+:100F6000880F991F80529F4FFC018591949108959D
+:100F700026E0729FF001112444E5849FE00DF11DED
+:100F80001124E60FF11DEE0FFF1FE851FF4F2591D1
+:100F90003491C9019A9581159F4110F4C9010895B2
+:100FA000C90190528115904128F4C9019F700E9497
+:100FB000B0070895C90190538115904120F4C901EB
+:100FC0009927906C0895211580E5380769F40E94EF
+:100FD00058159FEF24E34CE0915020404040E1F74A
+:100FE00000C000000C94B31C213080E5380731F4B8
+:100FF0008091CD0181608093CD010895C901905504
+:101000008115904108F050C0832F99278F70992740
+:1010100081309105D9F4A9014370552702C0880F8A
+:10102000991F4A95E2F79C68A90164E0440F551F97
+:101030006A95E1F744275370842B952B73E0220FB8
+:10104000331F7A95E1F7207633271DC08230910552
+:1010500029F4922F8827816F906A08958330910533
+:10106000A9F4A9014370552781E090E002C0880FE0
+:10107000991F4A95E2F79C6843E0220F331F4A9577
+:10108000E1F7207E3770822B932B08950497F1F4BB
+:10109000A9014370552781E090E002C0880F991F95
+:1010A0004A95E2F79A68E8CFC901905781159041B7
+:1010B00020F4C9019F7090620895C901905881156C
+:1010C000904120F4C9019F70906A0895203E310537
+:1010D000E0F4203C310558F52133310509F470C0A6
+:1010E00048F42932310509F464C02A32310509F483
+:1010F0006EC074C029333105F1F022383105D9F0C2
+:101100002533310509F44EC069C0233E310589F10C
+:1011100038F4203E3105C1F0223E3105E1F05EC0D9
+:10112000263E310569F1273E3105A9F157C0C901B5
+:101130000E94A80708958091E00180FD02C081FF10
+:101140004DC080EE90E04BC08091E00180FFF9CF70
+:1011500089E390E044C08091E00182FF0EC080915D
+:10116000E00184FF03C080E090E039C083EE90E0AE
+:1011700036C08091E00182FFF2CF82EE90E02FC076
+:101180008091E00183FF0BC08091E00184FDEBCFF3
+:1011900087EE90E024C08091E00183FFF5CF86EEDA
+:1011A00090E01DC08091E00185FF07C089E290E0DA
+:1011B00016C08091E00185FFF9CF85E390E00FC074
+:1011C0008091E00186FF07C08AE290E008C080912C
+:1011D000E00186FFF9CF81E390E001C0C9010E94E0
+:1011E000D606089508950C94F2088091620108953E
+:1011F000CF93DF9300D01F92CDB7DEB72091E601E9
+:10120000243019F523E029839B838A832093E90006
+:101210008FEF9091E800815095FD06C095ED9A956D
+:10122000F1F700008111F5CF8091E80085FF0DC036
+:1012300040E050E063E070E0CE0101960E94620B56
+:101240008091E8008E778093E8000F900F900F90C8
+:10125000DF91CF910895CF93DF9300D01F92CDB748
+:10126000DEB72091E601243021F522E029839B831B
+:101270008A8383E08093E9008FEF9091E8008150AA
+:1012800095FD06C095ED9A95F1F700008111F5CF17
+:101290008091E80085FF0DC040E050E063E070E021
+:1012A000CE0101960E94620B8091E8008E778093B8
+:1012B000E8000F900F900F90DF91CF91089520914B
+:1012C000E6012430F1F422E02093E9002FEF309181
+:1012D000E800215035FD06C035ED3A95F1F70000E4
+:1012E0002111F5CF2091E80025FF0BC040E050E030
+:1012F00065E070E00E94620B8091E8008E77809339
+:10130000E8000895CF93DF93EC018091E6018430EB
+:1013100009F046C090910C019923D9F090910D01EC
+:101320009923B9F08093E9008FEF9091E800815004
+:1013300095FD06C095E19A95F1F700008111F5CF72
+:101340008091E80085FF2CC040E050E060E170E053
+:1013500017C081E08093E9008FEF9091E800815001
+:1013600095FD06C095ED9A95F1F700008111F5CF36
+:101370008091E80085FF14C040E050E068E070E034
+:10138000CE010E94620B8091E8008E778093E80086
+:1013900080E1FE01A2E5B1E001900D928A95E1F7AE
+:1013A000DF91CF9108958091E501811109C00E94DC
+:1013B000F40C0E94510D8091E20084608093E20061
+:1013C00008951092E501089508950C94D9220E9481
+:1013D0004A1C0E94DF220E94EE0F0C94F30842E0A8
+:1013E00061EC81E00E946E0C42E061EC82E00E94C0
+:1013F0006E0C42E061EC83E00E946E0C42E161EC15
+:1014000084E00C946E0C8091E801833009F455C09F
+:1014100030F4813071F0823009F48EC008958A3042
+:1014200009F47AC08B3009F460C0893009F09CC09F
+:1014300020C08091E701813A09F096C08091E800D0
+:10144000877F8093E8008091EB019091EC01892BDC
+:1014500021F060E080E090E003C060E182E591E08F
+:1014600070E00E94AB0B8091E8008B778093E800DE
+:1014700008958091E701813209F076C08091EB01F7
+:101480009091EC01009719F0039709F06DC08091DD
+:10149000E800877F8093E8008091E80082FD05C026
+:1014A0008091E6018111F8CF5FC08091F1008093B7
+:1014B00062018091E8008B7753C08091E701813A07
+:1014C00009F052C08091EB019091EC01892B09F059
+:1014D0004BC08091E800877F8093E8008091E8000E
+:1014E00080FFFCCF80910C0136C08091E7018132F2
+:1014F000D9F58091EB019091EC01892BA9F58091B0
+:10150000E800877F8093E8000E94A30C8091E901A6
+:1015100080930C010C9458158091E701813221F5DC
+:101520008091E800877F8093E8000E94A30C80915F
+:10153000EA018093630108958091E701813AA1F463
+:101540008091E800877F8093E8008091E80080FF29
+:10155000FCCF809163018093F1008091E8008E7749
+:101560008093E8000C94A30C089584B7877F84BF10
+:1015700088E10FB6F89480936000109260000FBE6F
+:1015800090E080E80FB6F89480936100909361003A
+:101590000FBE0E943D100E94F40C0E94510D8091DC
+:1015A000E20084608093E20078940E94CC0F0E9455
+:1015B0003F1082E091E00E94E90F0E94C7228091D3
+:1015C000E601853069F40E940D1C8091E4018823B6
+:1015D000B1F30E94351C882391F30E944C0BEFCF8E
+:1015E0000E944510ECCF292F332723303105A9F075
+:1015F0006CF42130310509F442C02230310509F084
+:1016000043C08DE690E02CE536E042C02132310542
+:10161000C9F02232310519F137C09927813091057F
+:1016200041F08230910541F0892B71F5E8E5F6E053
+:1016300005C0E0E4F6E002C0E8E2F6E0849190E064
+:101640009F0126C0643000F5E62FF0E0EE0FFF1F8B
+:10165000EE5DFE4F2081318189E090E019C0643059
+:1016600098F4E62FF0E0DF01AA0FBB1FA65EBE4F85
+:101670002D913C91EA5EFE4F808190E009C082E1AD
+:1016800090E029EC36E004C080E090E020E030E01B
+:10169000FA0131832083089580E189BD82E189BD0B
+:1016A00009B400FEFDCF8091D8008F7D8093D800D3
+:1016B0008091E00082608093E0008091E00081FDF5
+:1016C000FCCF0895CF92DF92EF92FF920F931F937A
+:1016D000CF93DF937C018B01EA010E94C40C81113E
+:1016E00031C0209731F088819981081B190BE80ED1
+:1016F000F91EC12CD12C0115110519F18091E800BA
+:1017000085FD14C08091E8008E778093E8002097D3
+:1017100041F0888199818C0D9D1D9983888385E096
+:1017200011C00E94C40C882331F30CC0F7018191D1
+:101730007F018093F10001501109FFEFCF1ADF0AFA
+:10174000DACF80E0DF91CF911F910F91FF90EF9062
+:10175000DF90CF9008952091ED013091EE01261792
+:10176000370748F06115710539F42091E8002E77AC
+:101770002093E80001C0B901FC0120E0611571056A
+:10178000B9F18091E601882309F440C0853009F45D
+:101790003FC08091E80083FD3DC08091E80082FF5A
+:1017A00006C08091E80082FF26C080E00895809105
+:1017B000E80080FFE3CF2091F3008091F20090E0F9
+:1017C000922B6115710551F08830910538F4219103
+:1017D0002093F100615071090196F3CF21E0089741
+:1017E00009F020E08091E8008E778093E800C6CF72
+:1017F0002111C7CFD6CF8091E601882339F08530FB
+:1018000039F08091E80083FFCCCF04C082E00895D6
+:1018100083E0089581E008952091ED013091EE017B
+:101820002617370748F06115710539F42091E80053
+:101830002E772093E80001C0B901FC0120E061157A
+:101840007105C1F18091E601882309F441C085301A
+:1018500009F440C08091E80083FD3EC08091E8001B
+:1018600082FF06C08091E80082FF27C080E00895D3
+:101870008091E80080FFE3CF2091F3008091F20097
+:1018800090E0922B6115710559F08830910540F474
+:1018900024912093F1003196615071090196F2CFA5
+:1018A00021E0089709F020E08091E8008E7780938E
+:1018B000E800C5CF2111C6CFD5CF8091E60188239E
+:1018C00039F0853039F08091E80083FFCBCF04C038
+:1018D00082E0089583E0089581E00895982F97307D
+:1018E00058F59093E900981739F07091EC00209129
+:1018F000ED005091F00003C0242F762F50E021FF1F
+:1019000019C03091EB003E7F3093EB003091ED0039
+:101910003D7F3093ED003091EB0031603093EB0070
+:101920007093EC002093ED005093F0002091EE00B6
+:1019300027FF07C09F5FD3CF8F708093E90081E0BE
+:10194000089580E008958091E70187FD05C08091AA
+:10195000E80080FF0EC012C08091E80082FD05C043
+:101960008091E6018111F8CF08958091E8008B778E
+:1019700008C08091E6018111EACF08958091E800C6
+:101980008E778093E80008958091E4009091E500BF
+:1019900045E62091EC0020FF21C02091E80020FDC9
+:1019A00021C02091E601222389F0253089F0209181
+:1019B000EB0025FD0FC02091E4003091E5002817D1
+:1019C000390739F3415041F0C901E3CF82E008956E
+:1019D00083E0089581E0089584E008952091E8006F
+:1019E00022FFDFCF80E008950E94620D0E946A0D01
+:1019F000E0EEF0E0808181608083E8EDF0E08081BE
+:101A00008F77808319BCA7EDB0E08C918E7F8C938B
+:101A100080818F7E80831092E50108950F931F933C
+:101A2000CF93DF930E94620D0E946A0DC8EDD0E053
+:101A300088818F77888388818068888388818F7D7B
+:101A4000888319BC1092E6011092E2011092E40121
+:101A50001092E30100EE10E0F80180818B7F80831B
+:101A600088818160888342E060E080E00E946E0CA3
+:101A7000E1EEF0E080818E7F8083E2EEF0E0808115
+:101A800081608083808188608083F80180818E7F7F
+:101A90008083888180618883DF91CF911F910F912E
+:101AA0000895E8EDF0E080818F7E8083E7EDF0E03F
+:101AB00080818160808384E082BF81E08093E50142
+:101AC0000C940E0DE8EDF0E080818E7F8083109203
+:101AD000E20008951092DA001092E10008951F923A
+:101AE0000F920FB60F9211242F933F934F935F9352
+:101AF0006F937F938F939F93AF93BF93EF93FF93D6
+:101B00008091E10082FF0BC08091E20082FF07C05C
+:101B10008091E1008B7F8093E1000E94CB0F809148
+:101B2000DA0080FF1FC08091D80080FF1BC0809129
+:101B3000DA008E7F8093DA008091D90080FF0DC09B
+:101B400080E189BD82E189BD09B400FEFDCF81E05D
+:101B50008093E6010E94D30905C019BC1092E601EA
+:101B60000E94E1098091E10080FF19C08091E200AC
+:101B700080FF15C08091E2008E7F8093E20080910B
+:101B8000E20080618093E2008091D80080628093BF
+:101B9000D80019BC85E08093E6010E94E509809198
+:101BA000E10084FF30C08091E20084FF2CC080E11E
+:101BB00089BD82E189BD09B400FEFDCF8091D800C6
+:101BC0008F7D8093D8008091E1008F7E8093E1002B
+:101BD0008091E2008F7E8093E2008091E20081603C
+:101BE0008093E2008091E201882311F084E007C035
+:101BF0008091E30087FF02C083E001C081E0809311
+:101C0000E6010E94E7098091E10083FF29C08091ED
+:101C1000E20083FF25C08091E100877F8093E1008F
+:101C200082E08093E6011092E2018091E1008E7FD4
+:101C30008093E1008091E2008E7F8093E2008091AA
+:101C4000E20080618093E20042E060E080E00E9478
+:101C50006E0C8091F00088608093F0000E94E4098F
+:101C6000FF91EF91BF91AF919F918F917F916F9174
+:101C70005F914F913F912F910F900FBE0F901F904A
+:101C800018951F920F920FB60F9211242F933F9326
+:101C90004F935F936F937F938F939F93AF93BF9374
+:101CA000CF93EF93FF93C091E900CF708091EC0048
+:101CB0001092E9008091F000877F8093F000789483
+:101CC0000E947D0E1092E9008091F0008860809360
+:101CD000F000C093E900FF91EF91CF91BF91AF91D8
+:101CE0009F918F917F916F915F914F913F912F9134
+:101CF0000F900FBE0F901F9018951F93CF93DF93F7
+:101D0000CDB7DEB7AA970FB6F894DEBF0FBECDBF32
+:101D1000E7EEF1E08091F100819321E0EF3EF207E0
+:101D2000C9F70E94030A8091E80083FF1CC120913B
+:101D3000E7013091E801832F90E08A30910508F0A7
+:101D400012C1FC01EA5AFF4F0C946124203881F043
+:101D5000223809F008C18091EB018F708093E9006F
+:101D60008091EB0085FB882780F91092E90006C07E
+:101D70008091E3019091E401911182609091E800DB
+:101D8000977F9093E8008093F1001092F100C5C016
+:101D9000822F8D7F09F0E7C0222319F0223061F0F5
+:101DA000E2C08091E901813009F0DDC0333009F0F3
+:101DB00080E08093E40128C08091E901811124C072
+:101DC0002091EB012F7009F4CEC02093E90080919F
+:101DD000EB0080FF19C08091EB00333011F480627A
+:101DE00011C080618093EB0081E090E0022E01C081
+:101DF000880F0A94EAF78093EA001092EA00809133
+:101E0000EB0088608093EB001092E9008091E8007D
+:101E1000877F86C02111A7C01091E9011F778091AB
+:101E2000E3008078812B8093E3008091E800877F36
+:101E30008093E8000E94A30C8091E80080FFFCCF13
+:101E40008091E30080688093E300112311F083E028
+:101E500001C082E08093E60186C02058223008F05D
+:101E600082C08091E9019091EA018C3D23E09207C4
+:101E700079F583E08A838AE289834FB7F894DE019B
+:101E8000139620E03EE051E2E32FF0E0509357003C
+:101E9000E49120FF03C0E295EF703F5FEF708E2F5B
+:101EA00090E0EA3010F0C79601C0C0968D939D93E4
+:101EB0002F5F243149F74FBF8091E800877F8093DF
+:101EC000E8006AE270E0CE0101960E94AB0B14C0FC
+:101ED000AE014F5F5F4F6091EB010E94F30A0097E4
+:101EE00009F441C02091E800277F2093E800BC015D
+:101EF00089819A810E940C0C8091E8008B778093F5
+:101F0000E80031C0203879F58091E800877F809320
+:101F1000E8008091E2018093F1008091E8008E77E3
+:101F20008093E8000E94A30C1EC021111CC0909158
+:101F3000E9019230C0F48091E800877F8093E80047
+:101F40009093E2010E94A30C8091E201811104C0F0
+:101F50008091E30087FF02C084E001C081E08093AC
+:101F6000E6010E94EF098091E80083FF0AC080919A
+:101F7000E800877F8093E8008091EB008062809387
+:101F8000EB00AA960FB6F894DEBF0FBECDBFDF916F
+:101F9000CF911F9108950895CF938091E6018823F2
+:101FA000B1F08091E9008F709091EC0090FF02C039
+:101FB00090E801C090E0C92FC82B1092E9008091F1
+:101FC000E80083FD0E947D0ECF70C093E900CF91A1
+:101FD000089590936901809368010895E0916801E4
+:101FE000F0916901309721F00190F081E02D099482
+:101FF00080E00895E0916801F0916901309721F047
+:102000000280F381E02D09940895E0916801F09138
+:102010006901309721F00480F581E02D099408953D
+:1020200020916601309167018217930771F09093B8
+:10203000670180936601E0916801F0916901309732
+:1020400021F00680F781E02D099408952091640124
+:10205000309165018217930771F090936501809329
+:102060006401E0916801F0916901309721F00084EA
+:10207000F185E02D0994089508950C943C100E9478
+:10208000501C0E94CA050C94161DCF92DF92EF924D
+:10209000FF920F931F93CF93DF93CDB7DEB72B97AC
+:1020A0000FB6F894DEBF0FBECDBF0E94E2053BE63F
+:1020B000E32E31E0F32E00E010E0C02E802F0E94CE
+:1020C000CF06F701D1907F01D826B1F40F5F1F4FE3
+:1020D0000E30110591F78FEF89838A831B820E944E
+:1020E000591C8160782F9D838C8349815A816B8133
+:1020F0008D810E94E81041C09091CD0191FF04C0F4
+:102100008B870E94D5068B8520E030E04D2D50E076
+:10211000922FBA01022E02C0759567950A94E2F7D4
+:1021200060FF25C02E83CF82EE24E394F12C02C001
+:10213000EE0CFF1C9A95E2F790E08E219F2121E0A2
+:10214000892B09F420E028870E94591C8160782F90
+:102150009A8789874E815F8168858A850E94E81009
+:10216000F801E559FE4F80818E25808306C02F5FE0
+:102170003F4F2630310561F6A9CF0E94FA1F10911A
+:102180006A010E94EE0F1817A1F00E94EE0F8093D3
+:102190006A012B960FB6F894DEBF0FBECDBFDF915C
+:1021A000CF911F910F91FF90EF90DF90CF900C9403
+:1021B000F3082B960FB6F894DEBF0FBECDBFDF91AC
+:1021C000CF911F910F91FF90EF90DF90CF900895E6
+:1021D000CF93DF93CDB7DEB72B970FB6F894DEBF62
+:1021E0000FBECDBF4F83588769877A878B87DE0103
+:1021F000119686E0FD0111928A95E9F785E0FE01CE
+:10220000379601900D928A95E1F749815A816B8149
+:102210007C818D819E810E9424182B960FB6F894A4
+:10222000DEBF0FBECDBFDF91CF910895CF93C82FF2
+:10223000882309F4C1C0823859F40E94EE0F81FD51
+:10224000BBC089E30E94C11A0E948B1B89E30CC0AA
+:10225000833879F40E94EE0F80FDAEC083E50E94C2
+:10226000C11A0E948B1B83E50E94011BCF910C9425
+:102270008B1B843859F40E94EE0F82FD9DC087E4C9
+:102280000E94C11A0E948B1B87E4EECF8CEF8C0F4B
+:10229000813A48F48C2F0E942F2281118DC08C2FFF
+:1022A0000E94C11AE3CF80E28C0F883048F4C770D7
+:1022B00081E001C0880FCA95EAF70E94421BD6CF81
+:1022C0008BE58C0F833078F4C53A29F0C63A31F4A7
+:1022D00082E890E005C081E890E002C083E890E0E9
+:1022E000CF910C94101088E58C0F833108F064C0F6
+:1022F000C83A39F1C93A41F1CA3A49F1CB3A51F1F8
+:10230000CC3A59F1CD3A61F1C03B69F1CE3A71F165
+:10231000CF3A79F1C13B81F1C23B89F1C33B91F1E5
+:10232000C43B99F1C53BA1F1C63BA9F1C73BB1F153
+:10233000C83BB9F1C93BC1F1CA3BC9F58AE292E099
+:1023400038C082EE90E035C089EE90E032C08AEE6F
+:1023500090E02FC085EB90E02CC086EB90E029C088
+:1023600087EB90E026C08CEC90E023C08DEC90E0F1
+:1023700020C083E891E01DC08AE891E01AC082E99C
+:1023800091E017C084E991E014C081E292E011C0AD
+:1023900083E292E00EC084E292E00BC085E292E01C
+:1023A00008C086E292E005C087E292E002C080E0C9
+:1023B00090E0CF910C942610CF910895882309F4D2
+:1023C0004BC0823859F40E94EE0F81FF45C089E36B
+:1023D0000E94C11A0E948B1B89E30CC0833871F4E0
+:1023E0000E94EE0F80FF38C083E50E94C11A0E9450
+:1023F0008B1B83E50E94011B0C948B1B843859F4C2
+:102400000E94EE0F82FF28C087E40E94C11A0E943A
+:102410008B1B87E4EFCF9CEF980F913A58F390E233
+:10242000980F983050F4877091E001C0990F8A9509
+:10243000EAF7892F0E94481BDFCF9BE5980F933066
+:1024400020F480E090E00C941010885A833120F43E
+:1024500080E090E00C9426100895882321F00E94DB
+:10246000421B0C948B1B0895882321F00E94481B6B
+:102470000C948B1B0895CF92DF92EF92FF920F93F3
+:102480001F93CF93DF93CDB7DEB728970FB6F8949D
+:10249000DEBF0FBECDBF8C0185E0F801DE011196D5
+:1024A00001900D928A95E1F7F80140813181F28027
+:1024B000258122952F7083819481892B31F03F3FB4
+:1024C00031F481E04F3F19F403C081E001C080E0A6
+:1024D00080FDCBC249833A8389819A812F830E94F0
+:1024E0007F1A9E8388870E947E1A0E9451192F812D
+:1024F0004E816885FF2029F00E945F1B68854E8110
+:102500002F81E42FE295EF70F0E0E05AFF4F0C943A
+:102510006124842F807F142F1F70882311F012955F
+:10252000107FFF2059F0112309F454C2812F6887CE
+:102530000E94521B0E948B1B68854CC2862F0E94F2
+:10254000DE11112309F491C2812F0E94581B289695
+:102550000FB6F894DEBF0FBECDBFDF91CF911F91B4
+:102560000F91FF90EF90DF90CF900C948B1B342F46
+:10257000307F842F8F70303211F08295807F6623F8
+:1025800019F0613019F12BC0FF20B1F0222309F4BA
+:1025900093C1213009F090C128960FB6F894DEBFA0
+:1025A0000FBECDBFDF91CF911F910F91FF90EF90A4
+:1025B000DF90CF900C94721B222319F0213009F484
+:1025C00054C28E830E94751B8E8189C1FF2021F029
+:1025D000223008F04AC270C1211147C280C1FF20D9
+:1025E00021F0222309F468C1F5C1222309F477C13F
+:1025F00005C2242F26952695237030E0211531053C
+:1026000021F021303105C9F030C2FF2021F0862FA2
+:10261000942F937002C080E090E028960FB6F89453
+:10262000DEBF0FBECDBFDF91CF911F910F91FF9005
+:10263000EF90DF90CF900C941010FF2021F0862FA8
+:10264000942F937002C080E090E028960FB6F89423
:10265000DEBF0FBECDBFDF91CF911F910F91FF90D5
-:10266000EF90DF90CF900C94570F222309F4B1CF55
-:10267000862F28960FB6F894DEBF0FBECDBFDF9130
-:10268000CF911F910F91FF90EF90DF90CF900C941E
-:102690001F104F70C8010E94AB0228960FB6F89425
-:1026A000DEBF0FBECDBFDF91CF911F910F91FF9085
-:1026B000EF90DF90CF900C9409174F70C8012896C7
-:1026C0000FB6F894DEBF0FBECDBFDF91CF911F9143
-:1026D0000F91FF90EF90DF90CF900C94D605289645
-:1026E0000FB6F894DEBF0FBECDBFDF91CF911F9123
-:1026F0000F91FF90EF90DF90CF9008950E9497196F
-:102700000E946C190E94B3190E94BA1E0E940E1EEC
-:1027100080E090E00E94510E80E090E00C94670E03
-:102720000E9487190C947E130E94B718292F2295B6
-:102730002F7030E02C3031054CF42A3031056CF428
-:10274000225031092230310590F407C02C30310578
-:1027500051F02F30310539F00AC0803E10F0803F33
-:1027600031F481E0089593FB882780F9089580E093
-:102770000895CF93DF9300D000D01F92CDB7DEB77E
-:102780000F900F900F900F900F90DF91CF910895C1
-:10279000CF93DF9300D000D000D0CDB7DEB7269620
-:1027A0000FB6F894DEBF0FBECDBFDF91CF91089575
-:1027B0001F93CF93DF93C091790116E080917A0146
-:1027C000C81799F0D0E01C9FF0011D9FF00D112457
-:1027D000E558FE4F408151816281738184819581EA
-:1027E0000E94C8132196C770E9CFDF91CF911F9146
-:1027F00008954091AB015091AC016091AD01709191
-:10280000AE018091AF019091B0010C94C813CF93A9
-:102810008091B00182958F7009F05FC08091AD0109
-:10282000882309F45AC020917901A0917A0160911E
-:10283000AB017091AC018091AE019091AF0131E09C
-:102840006F3F09F030E0B32FC6E02A1709F445C006
-:10285000009721F07F3F21F44B2F03C041E001C0DE
-:1028600040E030E040FD35C0C29FF001C39FF00D55
-:102870001124E558FE4F418174132BC0408164132D
-:1028800028C04281411125C043815481481759070E
-:1028900010F441505109481B590B483C5105C8F4EC
-:1028A0008091B0018F7080618093B00186E0829F3B
-:1028B000F001839FF00D1124E058FE4F80818F704E
-:1028C000806180838BEA91E00E947C10CF910C9410
-:1028D000D8132F5F3F4F2770B8CFCF910895CF9275
-:1028E000DF92EF92FF920F931F93CF93DF93CDB7B9
-:1028F000DEB762970FB6F894DEBF0FBECDBF8C0176
-:1029000085E0F801DE011D9601900D928A95E1F7B0
-:10291000D8014C9111965C91119712966C91129777
-:102920001396ED90FC9014977091AB01E091AC017F
-:102930002091AE013091AF012115310531F0EF3F0B
-:1029400031F481E07F3F19F403C081E001C080E0F1
-:10295000B82FB170CB2E80FD6CC1D090AD01DD20C1
-:1029600009F4F5C0F091B001E216F30638F0C701A2
-:10297000821B930B883C910548F09BC020953095B5
-:102980002E0D3F1D283C310508F093C08F2F807F0E
-:1029900009F052C0E51314C0741312C0D62E611191
-:1029A0000FC0FF70F061F093B0010E94F9138BEA41
-:1029B00091E00E947C108091B001F80185836CC188
-:1029C000EF2831F05F3F31F481E04F3F19F403C04D
-:1029D00081E001C080E080FD03C081E0862701C066
-:1029E00080E0F82FF170FF2E80FF1CC080917901EC
-:1029F00020917A0136E0821709F428C190E0389FCF
-:102A0000F001399FF00D1124E558FE4F71815713E5
-:102A100006C07081471303C07281671303C001961B
-:102A20008770E9CFD62E662309F436C18091B001B4
-:102A300081608093B00153C0E51308C0741306C0D1
-:102A4000611104C0D8011596FC93AEC04D875E8716
-:102A50008D859E856A8B0E9494136A89882329F14B
-:102A6000D62E662311F12091B001822F82958F70AE
-:102A700090E002970CF460C08091AB019091AC01A2
-:102A800098878F831986FB86EA862C87CE01079666
-:102A900051C0E51731F14D875E878D859E856A8B24
-:102AA0000E9494136A8981112EC0C8010E947C1073
-:102AB000A4C08F2F807F69F77E2DF98AE88A8989E3
-:102AC0000E94B9138BEA91E00E947C10EBEAF1E0DE
-:102AD00086E0DF011D928A95E9F70E94F913D12C57
-:102AE000DBC07413D8CF6111D6CFD8011596FC93F3
-:102AF000C8010E947C10EBEAF1E086E0DF011D9244
-:102B00008A95E9F7C9C0D62E662379F22091B001E3
-:102B1000822F82958F7090E0029774F08091AB01C4
-:102B20009091AC019A8389831B82FD82EC822E8373
-:102B3000CE0101960E947C1086E0F801ABEAB1E07C
-:102B400001900D928A95E1F70E9407146FC0E2167A
-:102B5000F30628F0C701821B930B9C0104C020954B
-:102B600030952E0D3F1D283C310508F052C0D62E61
-:102B7000662309F49ACFE5132CC074132AC0809100
-:102B8000B00180FD1DC0982F92959F70C9F0D801AB
-:102B900015968C9315979F3039F09F5F9295907F93
-:102BA0008F70892B15968C93C8010E947C1086E04B
-:102BB000F801ABEAB1E001900D928A95E1F736C0D9
-:102BC00086E0F801ABEAB1E001900D928A95E1F759
-:102BD00063C04D875E878D859E850E9494138823F0
-:102BE00079F086E0F801ABEAB1E001900D928A95A8
-:102BF000E1F70E9407140E94F913DD24D3944CC01E
-:102C00008091B00181608093B001C8010E947C1066
-:102C100043C07E2DF98AE88A89890E94B913EBEABC
-:102C2000F1E086E0DF011D928A95E9F70E94F91331
-:102C300033C0662309F439CF4D875E878D859E8525
-:102C40000E949413882309F430CFCBCF4D875E8741
-:102C50008D859E850E94B718292F22952F7030E010
-:102C6000223031052CF49F7041F0811106C00CC058
-:102C7000243031052CF49F7049F4805E883020F0B8
-:102C8000C8010E947C10CF2CDC2C06C0D801159600
-:102C90009C91907F91F7F8CF8D2D62960FB6F894A6
-:102CA000DEBF0FBECDBFDF91CF911F910F91FF907F
-:102CB000EF90DF90CF9008951F93CF93DF93CDB720
-:102CC000DEB72C970FB6F894DEBF0FBECDBF4F8393
-:102CD000588769877A878B879C87CE0107960E94E1
-:102CE0006F148823C1F02F8138858A859B85892BB5
-:102CF00031F03F3F11F080E003C02F3FE1F781E06A
-:102D0000811147C04F81588569857A858B859C855F
-:102D10000E94C8133EC086E0FE013796DE01119680
-:102D200001900D928A95E1F7FF81E8854A855B85E0
-:102D30004115510531F0EF3F31F481E0FF3F19F4C7
-:102D400003C081E001C080E080FD23C020917A01B2
-:102D500030E0C9010196877099276091790170E090
-:102D600086179707F1F1F983EA835D834C8396E038
-:102D7000929FD001939FB00D1124A558BE4FFE0124
-:102D8000319601900D929A95E1F780937A010E9415
-:102D9000D81316E08091790190917A01891779F121
-:102DA000189FC001112485589E4F0E946F148823DC
-:102DB00031F1E09179011E9FF0011124E558FE4F99
-:102DC0004081518162817381848195810E94C81301
-:102DD0008091790190E0019687709927809379011D
-:102DE000D9CF0E94901310927A0110927901EBEAE8
-:102DF000F1E086E0DF011D928A95E9F7CACF2C96B3
-:102E00000FB6F894DEBF0FBECDBFDF91CF911F91FB
-:102E10000895EF92FF920F931F93CF93DF93FC01DE
-:102E2000009709F46FC0F12CEE24E394EF01219692
-:102E30008491843740F4843008F055C0813081F0AB
-:102E4000823021F15FC0853709F447C0C0F19CE7AB
-:102E5000980F903708F056C08F770E941F1045C01A
-:102E60008F010E5F1F4FFE01849190E2980F983002
-:102E700050F48770FE2D01C0FF0F8A95EAF78F2F5F
-:102E80000E948A1915C00E94570F14C08F010E5F4F
-:102E90001F4FFE01849190E2980F983068F487707C
-:102EA000FE2D01C0FF0F8A95EAF78F2F0E9490191F
-:102EB0000E94B319E80119C00E941F10FBCFCF0177
-:102EC0000296FE01C491CC2361F0EFE9FFE0319757
-:102ED000F1F700C00000C150F6CFCF010296FE010D
-:102EE000F490EC0102C00E94570F8F2D882341F00F
-:102EF000EFE9FFE03197F1F700C000008150F6CF15
-:102F0000FE0194CFDF91CF911F910F91FF90EF9031
-:102F1000089508956093B5017093B6018093B70149
-:102F20009093B8010C947E130F931F930091B501F9
-:102F30001091B6012091B7013091B801062B172BE3
-:102F4000282B392B0093B5011093B6012093B701BC
-:102F50003093B8011F910F910C947E130F931F9320
-:102F60000091B5011091B6012091B7013091B801DF
-:102F700006231723282339230093B5011093B601A4
-:102F80002093B7013093B8011F910F910C947E13D9
-:102F90000F931F930091B5011091B6012091B701D5
-:102FA0003091B80106271727282739270093B50144
-:102FB0001093B6012093B7013093B8011F910F9180
-:102FC0000C947E131092B1011092B2011092B301D1
-:102FD0001092B4010C947E1341E050E060E070E088
-:102FE00004C0440F551F661F771F8A95D2F7409380
-:102FF000B1015093B2016093B3017093B4010C948A
-:103000007E1341E050E060E070E004C0440F551FC3
-:10301000661F771F8A95D2F78091B1019091B20116
-:10302000A091B301B091B401842B952BA62BB72BA3
-:103030008093B1019093B201A093B301B093B40116
-:103040000C947E1341E050E060E070E004C0440F57
-:10305000551F661F771F8A95D2F74095509560954A
-:1030600070958091B1019091B201A091B301B0919E
-:10307000B40184239523A623B7238093B1019093B1
-:10308000B201A093B301B093B4010C947E1341E05C
-:1030900050E060E070E004C0440F551F661F771FCA
-:1030A0008A95D2F78091B1019091B201A091B301BC
-:1030B000B091B40184279527A627B7278093B10143
-:1030C0009093B201A093B301B093B4010C947E131A
-:1030D0000F931F930091B1011091B2012091B301A0
-:1030E0003091B401062B172B282B392B0093B101FB
-:1030F0001093B2012093B3013093B4011F910F914B
-:103100000C947E130F931F930091B1011091B201A3
-:103110002091B3013091B4010623172328233923CA
-:103120000093B1011093B2012093B3013093B40125
-:103130001F910F910C947E130F931F930091B10177
-:103140001091B2012091B3013091B40106271727E5
-:10315000282739270093B1011093B2012093B301BE
-:103160003093B4011F910F910C947E130895CF9268
-:10317000DF92EF92FF920F931F93CF93DF93EC01B7
-:10318000C090B501D090B601E090B701F090B801C1
-:103190008091B1019091B201A091B301B091B401BD
-:1031A000C82AD92AEA2AFB2A0FE110E0B701A601B2
-:1031B000002E04C076956795579547950A94D2F7E7
-:1031C00040FF07C0BE01802F0E94F90581309105A4
-:1031D00039F40150110950F7BE0180E00E94F90551
-:1031E000DF91CF911F910F91FF90EF90DF90CF90E3
-:1031F000089590910C019923D9F090910D01992394
-:10320000B9F0982F9695969596959F3088F5E09110
-:103210000E01F0910F01E90FF11D877021E030E000
-:1032200001C0220F8A95EAF78181822B818308955C
-:1032300040910E0150910F0120E030E09FEFFA0124
-:10324000E20FF31F6281681799F09F3F19F4611133
-:1032500001C0922F2F5F3F4F2E30310581F79F3FE6
-:1032600039F0FA01E90FF11D97FDFA95828308956F
-:10327000089590910C019923E1F090910D0199230B
-:10328000C1F0982F9695969596959F3020F5E091F0
-:103290000E01F0910F01E90FF11D877021E030E080
-:1032A00001C0220F8A95EAF7209581812823218386
-:1032B000089540910E0150910F0120E030E0FA0195
-:1032C000E20FF31F9281981301C012822F5F3F4FCC
-:1032D0002E303105A1F7089581E090E0E0910E01D4
-:1032E000F0910F01E80FF91F1082019680319105CE
-:1032F000A9F708959091CB01982B9093CB01089555
-:1033000080959091CB0198239093CB0108951092D2
-:10331000CB0108959091CA01982B9093CA0108950A
-:1033200080959091CA0198239093CA0108951092B4
-:10333000CA0108958093B90108951092B9010895C2
-:1033400040910E0150910F0120E030E080E0FA0141
-:10335000E20FF31F918191118F5F2F5F3F4F2F304D
-:103360003105A9F70895E0910E01F0910F018091C8
-:10337000CB018083E0910E01F0910F01808190914B
-:10338000CA01892B80839091B901992361F0E09162
-:103390000E01F0910F018081892B80830E94A0197A
-:1033A00081111092B90180910E0190910F010C943E
-:1033B0003B0ECF92DF92EF92FF920F931F936C011F
-:1033C000EE24FF24C114D104E104F10421F46B01C3
-:1033D0007C0180E001C080E133272F2D1E2D0D2DB3
-:1033E000011511052105310519F0885F6801790182
-:1033F00097018601A4E03695279517950795AA951C
-:10340000D1F7011511052105310519F08C5F68010F
-:10341000790197018601F2E0369527951795079572
-:10342000FA95D1F7011511052105310519F08E5FC7
-:1034300068017901B701A60176956795579547957B
-:10344000452B462B472B09F08F5F1F910F91FF9063
-:10345000EF90DF90CF9008958091E501843009F1DD
-:103460001092CD0120E488E190E00FB6F894A89581
-:10347000809360000FBE2093600083B7817F8460DB
-:1034800083BF83B7816083BF7894889583B78E7F2D
-:1034900083BF88E10FB6F8948093600010926000BB
-:1034A0000FBE089508950895CF930E94521A0E9466
-:1034B00023040E94531AC0E08C2F0E941005811132
-:1034C00005C0CF5FCE30C1F780E001C081E0CF9171
-:1034D00008950E9490130E942F0E0C94340782E0EE
-:1034E00084BD93E095BD9AEF97BD80936E000895DB
-:1034F0002FB7F8948091CE019091CF01A091D00187
-:10350000B091D1012FBF0895CF92DF92EF92FF9239
-:103510000F931F932FB7F8944091CE015091CF0194
-:103520006091D0017091D1012FBF6A017B01EE241F
-:10353000FF248C0120E030E0C016D106E206F3063D
-:1035400010F441505109481B590BCA011F910F91AA
-:10355000FF90EF90DF90CF9008951F920F920FB6DB
-:103560000F9211248F939F93AF93BF938091CE01BD
-:103570009091CF01A091D001B091D1010196A11DF0
-:10358000B11D8093CE019093CF01A093D001B09351
-:10359000D101BF91AF919F918F910F900FBE0F906E
-:1035A0001F9018950E94350BF8942FEF87EA91E64B
-:1035B000215080409040E1F700C0000087E090EB90
-:1035C000DC018093EE019093EF01A093F001B093A2
-:1035D000F1012CE088E190E00FB6F894A895809373
-:1035E00060000FBE20936000FFCFEF92FF920F9319
-:1035F0001F93CF93DF93E82EF12C8F2D0E9410059F
-:10360000C0E0D0E0082F10E098010C2E02C03595E4
-:1036100027950A94E2F720FD05C02196C630D10512
-:1036200099F709C06C2F7F2D80E00E94D705E81222
-:10363000F4CF81E005C0F3948EE0F812DECF80E095
-:10364000DF91CF911F910F91FF90EF900895CF934D
-:10365000C82F8CE20E94F51A882321F08C2FCF917D
-:103660000C94F51A80E0CF910895CF930E947A1CB4
-:10367000811102C00E94601CC5E6C15049F00E9441
-:1036800023048FE39CE90197F1F700C00000F5CF18
-:1036900089E20E94271B811111C18AE20E94271B27
-:1036A00081110E94601C85E00E94271B81110E94ED
-:1036B000D21A0E94851C8093CC0187E00E94271BB0
-:1036C000882399F18BE10E94271B882351F0909168
-:1036D000CC0191FB882780F921E0822780FB91F9BA
-:1036E00022C08EE00E94271B882351F09091CC01CC
-:1036F00092FB882780F921E0822780FB92F913C092
-:1037000080E10E94271B9091CC01882341F093FB1C
-:10371000882780F921E0822780FB93F904C0892F54
-:10372000809580FB90F99093CC018091CC010E9410
-:10373000891C0E94971C8093DF0180EE0E94271B4A
-:10374000882341F08091DF01982F909590FB80F9BC
-:103750008093DF0189E30E94271B882359F0909111
-:10376000DF0191FB882780F921E0822780FB91F916
-:103770009093DF0182EE0E94271B882359F09091DD
-:10378000DF0192FB882780F921E0822780FB92F9F4
-:103790009093DF0186EE0E94271B882359F09091B9
-:1037A000DF0193FB882780F921E0822780FB93F9D2
-:1037B0009093DF0183EE0E94271B882359F090919C
-:1037C000DF0194FB882780F921E0822780FB94F9B0
-:1037D0009093DF0185E30E94271B882359F0909185
-:1037E000DF0195FB882780F921E0822780FB95F98E
-:1037F0009093DF0181E30E94271B882359F0909169
-:10380000DF0196FB882780F921E0822780FB96F96B
-:103810009093DF0181E10E94271B882359F090914A
-:10382000DF0197FB882780F921E0822780FB97F949
-:103830009093DF018091DF010E949B1C8091DF014A
-:1038400087FB882780F980930D0187E20E94271B60
-:10385000C82F8EE10E94271B8111C2608FE10E9458
-:10386000271B8111C46080E20E94271B8111C86060
-:1038700081E20E94271B8111C06182E20E94271B06
-:103880008111C06283E20E94271B8111C06484E21F
-:103890000E94271B882311F0C06802C0CC2329F0A6
-:1038A0008C2F0E94921C6C2F03C00E948E1C682FCC
-:1038B00070E080E090E0CF910C948A17CF9108954A
-:1038C0006DEE7EEF80E090E00E94B62260E082E044
-:1038D00090E00E94A82260E083E090E00E94A8228D
-:1038E00060E084E090E00E94A82260E085E090E043
-:1038F0000C94A82280E090E00E94A22221E08D3E5C
-:103900009E4F09F020E0822F089582E090E00C9411
-:103910009A22682F82E090E00C94A82283E090E045
-:103920000C949A22682F83E090E00C94A82284E003
-:1039300090E00C949A22682F84E090E00C94A822E6
-:103940008091D40180FF0BC06091130185E0689FD6
-:10395000B001112475956795759567952AC081FF0B
-:1039600009C06091130185E0689FB001112475952D
-:1039700067951FC082FF07C06091130185E0689FB3
-:10398000B001112416C04091D5014423C9F06091C3
-:103990001201461788F72091130185E0289F9001B6
-:1039A0001124429FC001439F900D112470E00E949A
-:1039B0006C226038710540F46115710539F002C060
-:1039C00065E070E0862F08958FE7089581E00895FF
-:1039D0008091D40180FF08C06091110170E075955D
-:1039E00067957595679521C081FF06C060911101AB
-:1039F00070E07595679519C082FF04C06091110150
-:103A000070E010C08091D5018823C1F06091100151
-:103A10008617A0F790911101989FC001112470E0C2
-:103A20000E946C226038710528F46115710521F03F
-:103A3000862F08958FE7089581E0089561E070E092
-:103A4000F4CF803F21F40E94A01C819504C0813FE7
-:103A500029F40E94A01C8093D8010895823F21F48C
-:103A60000E94A01C819504C0833F29F40E94A01CE1
-:103A70008093D7010895893F19F40E94E81C05C07E
-:103A80008A3F31F40E94E81C81958093D901089502
-:103A90008B3F21F40E94E81C819504C08C3F29F4DF
-:103AA0000E94E81C8093DA010895843F21F48091FC
-:103AB000D601816017C0853F21F48091D6018260D4
-:103AC00011C0863F21F48091D60184600BC0873FEE
-:103AD00021F48091D601886005C0883F31F480913F
-:103AE000D60180618093D60108958D3F21F48091A5
-:103AF000D40181600BC08E3F21F48091D40182609B
-:103B000005C08F3F29F48091D40184608093D40153
-:103B10000895803F39F48091D80187FF6CC01092DE
-:103B2000D80169C0813F29F48091D8011816BCF3EF
-:103B300062C09091D701823F29F497FF5CC0109238
-:103B4000D70159C0833F19F41916CCF354C0893FEB
-:103B500041F48091D90118160CF04DC01092D90192
-:103B60004AC08A3F29F48091D90187FF44C0F6CF2B
-:103B70008B3F39F48091DA0187FF3DC01092DA0162
-:103B80003AC08C3F29F48091DA011816BCF333C097
-:103B9000843F21F48091D6018E7F17C0853F21F4A8
-:103BA0008091D6018D7F11C0863F21F48091D6018E
-:103BB0008B7F0BC0873F21F48091D601877F05C0A2
-:103BC000883F31F48091D6018F7E8093D60113C057
-:103BD0008D3F21F48091D4018E7F0BC08E3F21F464
-:103BE0008091D4018D7F05C08F3F29F48091D4014D
-:103BF0008B7F8093D4018091D70181110EC0809179
-:103C0000D80181110AC08091D901811106C080912B
-:103C1000DA01811102C01092D501089586ED91E07C
-:103C20000E94460E0E94781A9093D3018093D2018D
-:103C300008951F93CF93DF938091D2019091D30188
-:103C40000E94841A4091D501442321F0209114014F
-:103C500030E006C0209115015AE0259F9001112403
-:103C60008217930708F482C08091D7011091D80180
-:103C7000D091D901C091DA01811107C0111105C09D
-:103C8000D11103C0CC2309F471C04F3F19F04F5F2D
-:103C90004093D501181624F40E94A01C8093D701EC
-:103CA0008091D70187FF05C00E94A01C8195809359
-:103CB000D701111624F40E94A01C8093D801809192
-:103CC000D80187FF05C00E94A01C81958093D80170
-:103CD0006091D701662339F11091D801112319F1B0
-:103CE000772767FD7095872F972F0E947D2123E30B
-:103CF00033E343E35FE30E94E1210E944A216093A2
-:103D0000D701612F772767FD7095872F972F0E9426
-:103D10007D2123E333E343E35FE30E94E1210E943B
-:103D20004A216093D8011D1624F40E94E81C809358
-:103D3000D9018091D90187FF05C00E94E81C8195B7
-:103D40008093D9011C1624F40E94E81C8093DA01A8
-:103D50008091DA0187FF05C00E94E81C819580935D
-:103D6000DA01DF91CF911F910C940E1EDF91CF915C
-:103D70001F910895E6EDF1E085E0DF011D928A953F
-:103D8000E9F71092D5011092D4010895833081F1A2
-:103D900028F4813059F08230D1F00895853009F44B
-:103DA00049C0B8F1863009F456C008952091150134
-:103DB000862F90E0820F911D8F3F910520F4620FB6
-:103DC0006093150108958FEF809315010895209158
-:103DD0001401862F90E0820F911D8F3F910520F4F2
-:103DE000620F6093140108958FEF8093140108957A
-:103DF00020911301862F90E0820F911D8F3F910536
-:103E000020F4620F6093130108958FEF80931301E4
-:103E1000089520911201862F90E0820F911D8F3F0F
-:103E2000910520F4620F6093120108958FEF809343
-:103E30001201089520911101862F90E0820F911DAB
-:103E40008F3F910520F4620F6093110108958FEF69
-:103E500080931101089520911001862F90E0820F28
-:103E6000911D8F3F910520F4620F6093100108951A
-:103E70008FEF809310010895833011F128F4813081
-:103E800049F0823091F00895853081F120F186303B
-:103E9000C1F1089580911501681720F4861B809365
-:103EA0001501089510921501089580911401681765
-:103EB00020F4861B80931401089510921401089534
-:103EC00080911301681720F4861B809313010895D5
-:103ED00010921301089580911201681720F4861B37
-:103EE000809312010895109212010895809111019A
-:103EF000681720F4861B8093110108951092110118
-:103F0000089580911001681720F4861B809310019A
-:103F100008951092100108958D3109F442C020F5E2
-:103F20008E3009F479C070F4873009F45EC020F453
-:103F3000863009F442C033C08830D1F18B3009F4A7
-:103F4000A7C02DC0863109F4A3C038F4803109F42C
-:103F50006DC0813109F47BC022C0893109F498C059
-:103F60008B3109F44FC01BC0853309F479C048F484
-:103F7000873209F475C008F478C0893209F470C03A
-:103F80000EC0833438F48A3308F071C0883309F4E2
-:103F90007FC005C0833409F463C08834C1F080E079
-:103FA00008950E9404210E942F0E0E94340770C0C1
-:103FB0000E94851C0E94971C6BC08091CC01817F60
-:103FC0008E7F8093CC0181E08093DC0108950E9474
-:103FD00090132FEF83ED90E3215080409040E1F764
-:103FE00000C000000E94D21A53C09091CC01892FCA
-:103FF000817090FF03C0917F9E7F26C09160909357
-:10400000CC0146C09091CC0191FB882780F921E03A
-:10401000822780FB91F913C09091CC0192FB8827F5
-:1040200080F921E0822780FB92F909C09091CC01B0
-:1040300093FB882780F921E0822780FB93F99093F6
-:10404000CC01882329F191609093CC0108950E94BE
-:10405000901380910D0191E0892780930D0118C084
-:1040600061E070E080E090E00FC023EE01C027EC3B
-:10407000280F61E070E080E090E004C0660F771FD9
-:10408000881F991F2A95D2F70E948A170E949013C1
-:1040900081E0089580E0089580E00895CF93C82FCF
-:1040A0008091DC01813079F018F08230D1F184C048
-:1040B000A0910E01B0910F018C91813169F0823293
-:1040C00009F07CC009C0A0910E01B0910F018C9144
-:1040D000813111F0823249F48C2F0E944A208111E3
-:1040E0001DC08C2F0E948C1F1AC08C2F0E944C2048
-:1040F000811114C0C43179F048F4CB3079F0C0316B
-:1041000009F060C082E08093DC0108C0C93219F078
-:10411000C83321F057C01092DC0154C081E0817097
-:1041200053C0C93289F118F5C43171F1A8F4C73010
-:1041300009F046C08AE08093150194E19093140140
-:1041400093E0909313018093120188E08093110112
-:1041500088E28093100134C0CE51C63088F5EC2F30
-:10416000F0E0E65DFE4F80818093DB0129C0CE3414
-:10417000E9F020F4CB3421F56AE013C0C13579F0C1
-:10418000C235F1F461E00DC08091DB01882319F0A4
-:104190001092DB0115C081E08093DC0115C061E065
-:1041A00006C08091DB010E94C61E0AC06AE08091B1
-:1041B000DB010E943C1F04C01092DC0180E004C0BF
-:1041C00081E002C080E0ABCFCF910895E1E8F0E05C
-:1041D0008081886080838081816080838FB7F8943C
-:1041E00093E09093890090ED909388008FBF08959D
-:1041F000EFE6F0E08081826080830895EFE6F0E0F2
-:1042000080818D7F80830895EFE6F0E0808192E0E9
-:104210008927808308951F920F920FB60F92112461
-:104220002F933F934F935F936F937F938F939F93BE
-:10423000AF93BF93EF93FF938091DD019091DE01E7
-:1042400001969093DE018093DD01811103C082E02D
-:104250000E943407E091DE01E695E695F0E0E6572E
-:10426000FB4FE4918091DD018E1303C080E00E943A
-:104270003407FF91EF91BF91AF919F918F917F9103
-:104280006F915F914F913F912F910F900FBE0F90C3
-:104290001F90189504D06894B1118DC0089570D006
-:1042A00088F09F5790F0B92F9927B751A0F0D1F01F
-:1042B000660F771F881F991F1AF0BA95C9F712C0A9
-:1042C000B13081F077D0B1E0089574C0672F782FB6
-:1042D0008827B85F39F0B93FCCF386957795679515
-:1042E000B395D9F73EF490958095709561957F4F81
-:1042F0008F4F9F4F0895E89409C097FB3EF4909527
-:104300008095709561957F4F8F4F9F4F9923A9F0AE
-:10431000F92F96E9BB279395F6958795779567953D
-:10432000B795F111F8CFFAF4BB0F11F460FF1BC081
-:104330006F5F7F4F8F4F9F4F16C0882311F096E914
-:1043400011C0772321F09EE8872F762F05C06623C2
-:1043500071F096E8862F70E060E02AF09A95660F7B
-:10436000771F881FDAF7880F9695879597F9089534
-:1043700057FD9058440F551F59F05F3F71F0479516
-:10438000880F97FB991F61F09F3F79F087950895FB
-:10439000121613061406551FF2CF4695F1DF08C01A
-:1043A000161617061806991FF1CF86957105610537
-:1043B00008940895E894BB2766277727CB0197F9DF
-:1043C00008950BD078C069D028F06ED018F09523EE
-:1043D00009F05AC05FC01124EECFCADFA0F3959F49
-:1043E000D1F3950F50E0551F629FF001729FBB27DC
-:1043F000F00DB11D639FAA27F00DB11DAA1F649F88
-:104400006627B00DA11D661F829F2227B00DA11D3A
-:10441000621F739FB00DA11D621F839FA00D611DC0
-:10442000221F749F3327A00D611D231F849F600DE1
-:10443000211D822F762F6A2F11249F5750408AF01A
-:10444000E1F088234AF0EE0FFF1FBB1F661F771FA6
-:10445000881F91505040A9F79E3F510570F014C03D
-:10446000AACF5F3FECF3983EDCF38695779567958E
-:10447000B795F795E7959F5FC1F7FE2B880F911DC4
-:104480009695879597F9089597F99F6780E870E06A
-:1044900060E008959FEF80EC089500240A941616BA
-:1044A000170618060906089500240A941216130622
-:1044B000140605060895092E0394000C11F48823B0
-:1044C00052F0BB0F40F4BF2B11F460FF04C06F5FCC
-:1044D0007F4F8F4F9F4F089597FB072E16F4009440
-:1044E00007D077FD09D00E94862207FC05D03EF454
-:1044F000909581959F4F0895709561957F4F089590
-:10450000EE0FFF1F0590F491E02D0994AA1BBB1B31
-:1045100051E107C0AA1FBB1FA617B70710F0A61BC3
-:10452000B70B881F991F5A95A9F780959095BC01E4
-:10453000CD010895F999FECF92BD81BDF89A9927D2
-:1045400080B50895A8E1B0E042E050E00C94BD22AF
-:10455000262FF999FECF1FBA92BD81BD20BD0FB69F
-:10456000F894FA9AF99A0FBE019608950E94A8222B
-:10457000272F0C94A922DC01CB01FC01F999FECF75
-:1045800006C0F2BDE1BDF89A319600B40D924150DB
-:0A4590005040B8F70895F894FFCFEB
-:10459A0020023607C307A0076C0739070101BA01D1
-:1045AA0028080A03140A3F4D36394B04FE03C80390
-:1045BA008F0322033B0354036D0301020304050620
-:0445CA0007080900D5
+:10266000EF90DF90CF900C942610862FFF2019F06A
+:102670000E94021F02C00E946A1F28960FB6F8949B
+:10268000DEBF0FBECDBFDF91CF911F910F91FF90A5
+:10269000EF90DF90CF900C94EF1F842F837009F0A0
+:1026A00076C0F110E2C1262F229526952770220FC1
+:1026B000220F862F8F70C82ED12CE12CF12C022EE8
+:1026C00004C0CC0CDD1CEE1CFF1C0A94D2F764FF86
+:1026D00010C06FE070E080E090E004C0660F771FEC
+:1026E000881F991F2A95D2F76095709580959095CF
+:1026F00003C060E070E0CB01242F2695269523705F
+:10270000422F50E042305105D1F04330510559F18C
+:102710006C297D298E299F294130510541F1289648
+:102720000FB6F894DEBF0FBECDBFDF91CF911F91E2
+:102730000F91FF90EF90DF90CF900C9476196C2959
+:102740007D298E299F2928960FB6F894DEBF0FBEEB
+:10275000CDBFDF91CF911F910F91FF90EF90DF9050
+:10276000CF900C9490190E947619C701B601289653
+:102770000FB6F894DEBF0FBECDBFDF91CF911F9192
+:102780000F91FF90EF90DF90CF900C945C19FF2099
+:1027900019F0842F817001C08695882309F465C1E2
+:1027A000262F229526952770220F220F862F8F70B5
+:1027B000C82ED12CE12CF12C022E04C0CC0CDD1C37
+:1027C000EE1CFF1C0A94D2F764FF10C06FE070E0AB
+:1027D00080E090E004C0660F771F881F991F2A953C
+:1027E000D2F7609570958095909503C060E070E099
+:1027F000CB01242F269526952370422F50E042309E
+:102800005105D1F04330510559F16C297D298E29AC
+:102810009F294130510541F128960FB6F894DEBF4B
+:102820000FBECDBFDF91CF911F910F91FF90EF9021
+:10283000DF90CF900C944A1A6C297D298E299F290C
+:1028400028960FB6F894DEBF0FBECDBFDF91CF91B3
+:102850001F910F91FF90EF90DF90CF900C94641A2E
+:102860000E944A1AC701B60128960FB6F894DEBF37
+:102870000FBECDBFDF91CF911F910F91FF90EF90D1
+:10288000DF90CF900C94301A603FC9F118F4603E8D
+:1028900050F49BC0623F09F460C008F44AC0633F33
+:1028A00009F46FC092C0162F1F70842F8F71FF2004
+:1028B00099F00E94C919812F28960FB6F894DEBFAF
+:1028C0000FBECDBFDF91CF911F910F91FF90EF9081
+:1028D000DF90CF900C942D120E94EA19812F289638
+:1028E0000FB6F894DEBF0FBECDBFDF91CF911F9121
+:1028F0000F91FF90EF90DF90CF900C943412FF2057
+:10290000A1F02111B2C0842F8F7128960FB6F894D0
+:10291000DEBF0FBECDBFDF91CF911F910F91FF9012
+:10292000EF90DF90CF900C940F1A223008F09DC0EA
+:10293000EACFFF20A1F0842F8F7128960FB6F8946C
+:10294000DEBF0FBECDBFDF91CF911F910F91FF90E2
+:10295000EF90DF90CF900C94C919FF2061F3842F82
+:102960008F7128960FB6F894DEBF0FBECDBFDF91F2
+:10297000CF911F910F91FF90EF90DF90CF900C942B
+:10298000EA19FF2091F0842F8F7128960FB6F894E2
+:10299000DEBF0FBECDBFDF91CF911F910F91FF9092
+:1029A000EF90DF90CF900C94B41928960FB6F8945E
+:1029B000DEBF0FBECDBFDF91CF911F910F91FF9072
+:1029C000EF90DF90CF900C94AA19FF20A1F0222362
+:1029D00009F4B1CF862F28960FB6F894DEBF0FBE4C
+:1029E000CDBFDF91CF911F910F91FF90EF90DF90BE
+:1029F000CF900C941611222309F4B1CF862F28967C
+:102A00000FB6F894DEBF0FBECDBFDF91CF911F91FF
+:102A10000F91FF90EF90DF90CF900C94DE114F70EC
+:102A2000C8010E94510428960FB6F894DEBF0FBE6D
+:102A3000CDBFDF91CF911F910F91FF90EF90DF906D
+:102A4000CF900C94D1184F70C80128960FB6F89407
+:102A5000DEBF0FBECDBFDF91CF911F910F91FF90D1
+:102A6000EF90DF90CF900C94950728960FB6F894CE
+:102A7000DEBF0FBECDBFDF91CF911F910F91FF90B1
+:102A8000EF90DF90CF9008950E945F1B0E946F1B14
+:102A90000E94341B0E948B1B0E949B200E94EF1FF0
+:102AA00080E090E00E94101080E090E00C942610EE
+:102AB0000E944F1B0C9444150E947F1A292F2295C7
+:102AC0002F7030E02C3031054CF42A3031056CF495
+:102AD000225031092230310590F407C02C303105E5
+:102AE00051F02F30310539F00AC0803E10F0803FA0
+:102AF00031F481E0089593FB882780F9089580E000
+:102B00000895CF93DF9300D000D01F92CDB7DEB7EA
+:102B10000F900F900F900F900F90DF91CF9108952D
+:102B2000CF93DF9300D000D000D0CDB7DEB726968C
+:102B30000FB6F894DEBF0FBECDBFDF91CF910895E1
+:102B40001F93CF93DF93C091790116E080917A01B2
+:102B5000C81799F0D0E01C9FF0011D9FF00D1124C3
+:102B6000E558FE4F40815181628173818481958156
+:102B70000E9490152196C770E9CFDF91CF911F91E8
+:102B800008954091AB015091AC016091AD017091FD
+:102B9000AE018091AF019091B0010C949015CF934C
+:102BA0008091B00182958F7009F05FC08091AD0176
+:102BB000882309F45AC020917901A0917A0160918B
+:102BC000AB017091AC018091AE019091AF0131E009
+:102BD0006F3F09F030E0B32FC6E02A1709F445C073
+:102BE000009721F07F3F21F44B2F03C041E001C04B
+:102BF00040E030E040FD35C0C29FF001C39FF00DC2
+:102C00001124E558FE4F418174132BC04081641399
+:102C100028C04281411125C043815481481759077A
+:102C200010F441505109481B590B483C5105C8F458
+:102C30008091B0018F7080618093B00186E0829FA7
+:102C4000F001839FF00D1124E058FE4F80818F70BA
+:102C5000806180838BEA91E00E943B12CF910C94BB
+:102C6000A0152F5F3F4F2770B8CFCF910895CF9217
+:102C7000DF92EF92FF920F931F93CF93DF93CDB725
+:102C8000DEB762970FB6F894DEBF0FBECDBF8C01E2
+:102C900085E0F801DE011D9601900D928A95E1F71D
+:102CA000D8014C9111965C91119712966C911297E4
+:102CB0001396ED90FC9014977091AB01E091AC01EC
+:102CC0002091AE013091AF012115310531F0EF3F78
+:102CD00031F481E07F3F19F403C081E001C080E05E
+:102CE000B82FB170CB2E80FD6CC1D090AD01DD202E
+:102CF00009F4F5C0F091B001E216F30638F0C7010F
+:102D0000821B930B883C910548F09BC02095309521
+:102D10002E0D3F1D283C310508F093C08F2F807F7A
+:102D200009F052C0E51314C0741312C0D62E6111FD
+:102D30000FC0FF70F061F093B0010E94C1158BEAE3
+:102D400091E00E943B128091B001F80185836CC133
+:102D5000EF2831F05F3F31F481E04F3F19F403C0B9
+:102D600081E001C080E080FD03C081E0862701C0D2
+:102D700080E0F82FF170FF2E80FF1CC08091790158
+:102D800020917A0136E0821709F428C190E0389F3B
+:102D9000F001399FF00D1124E558FE4F7181571352
+:102DA00006C07081471303C07281671303C0019688
+:102DB0008770E9CFD62E662309F436C18091B00121
+:102DC00081608093B00153C0E51308C0741306C03E
+:102DD000611104C0D8011596FC93AEC04D875E8783
+:102DE0008D859E856A8B0E945C156A89882329F1EE
+:102DF000D62E662311F12091B001822F82958F701B
+:102E000090E002970CF460C08091AB019091AC010E
+:102E100098878F831986FB86EA862C87CE010796D2
+:102E200051C0E51731F14D875E878D859E856A8B90
+:102E30000E945C156A8981112EC0C8010E943B1254
+:102E4000A4C08F2F807F69F77E2DF98AE88A89894F
+:102E50000E9481158BEA91E00E943B12EBEAF1E0BF
+:102E600086E0DF011D928A95E9F70E94C115D12CF9
+:102E7000DBC07413D8CF6111D6CFD8011596FC935F
+:102E8000C8010E943B12EBEAF1E086E0DF011D92EF
+:102E90008A95E9F7C9C0D62E662379F22091B00150
+:102EA000822F82958F7090E0029774F08091AB0131
+:102EB0009091AC019A8389831B82FD82EC822E83E0
+:102EC000CE0101960E943B1286E0F801ABEAB1E028
+:102ED00001900D928A95E1F70E94CF156FC0E2161E
+:102EE000F30628F0C701821B930B9C0104C02095B8
+:102EF00030952E0D3F1D283C310508F052C0D62ECE
+:102F0000662309F49ACFE5132CC074132AC080916C
+:102F1000B00180FD1DC0982F92959F70C9F0D80117
+:102F200015968C9315979F3039F09F5F9295907FFF
+:102F30008F70892B15968C93C8010E943B1286E0F6
+:102F4000F801ABEAB1E001900D928A95E1F736C045
+:102F500086E0F801ABEAB1E001900D928A95E1F7C5
+:102F600063C04D875E878D859E850E945C15882392
+:102F700079F086E0F801ABEAB1E001900D928A9514
+:102F8000E1F70E94CF150E94C115DD24D3944CC0F7
+:102F90008091B00181608093B001C8010E943B1212
+:102FA00043C07E2DF98AE88A89890E948115EBEA5F
+:102FB000F1E086E0DF011D928A95E9F70E94C115D4
+:102FC00033C0662309F439CF4D875E878D859E8592
+:102FD0000E945C15882309F430CFCBCF4D875E87E4
+:102FE0008D859E850E947F1A292F22952F7030E0B3
+:102FF000223031052CF49F7041F0811106C00CC0C5
+:10300000243031052CF49F7049F4805E883020F024
+:10301000C8010E943B12CF2CDC2C06C0D8011596AB
+:103020009C91907F91F7F8CF8D2D62960FB6F89412
+:10303000DEBF0FBECDBFDF91CF911F910F91FF90EB
+:10304000EF90DF90CF9008951F93CF93DF93CDB78C
+:10305000DEB72C970FB6F894DEBF0FBECDBF4F83FF
+:10306000588769877A878B879C87CE0107960E944D
+:1030700037168823C1F02F8138858A859B85892B57
+:1030800031F03F3F11F080E003C02F3FE1F781E0D6
+:10309000811147C04F81588569857A858B859C85CC
+:1030A0000E9490153EC086E0FE013796DE01119623
+:1030B00001900D928A95E1F7FF81E8854A855B854D
+:1030C0004115510531F0EF3F31F481E0FF3F19F434
+:1030D00003C081E001C080E080FD23C020917A011F
+:1030E00030E0C9010196877099276091790170E0FD
+:1030F00086179707F1F1F983EA835D834C8396E0A5
+:10310000929FD001939FB00D1124A558BE4FFE0190
+:10311000319601900D929A95E1F780937A010E9481
+:10312000A01516E08091790190917A01891779F1C3
+:10313000189FC001112485589E4F0E94371688237E
+:1031400031F1E09179011E9FF0011124E558FE4F05
+:103150004081518162817381848195810E949015A3
+:103160008091790190E00196877099278093790189
+:10317000D9CF0E94581510927A0110927901EBEA8A
+:10318000F1E086E0DF011D928A95E9F7CACF2C961F
+:103190000FB6F894DEBF0FBECDBFDF91CF911F9168
+:1031A0000895EF92FF920F931F93CF93DF93FC014B
+:1031B000009709F46FC0F12CEE24E394EF012196FF
+:1031C0008491843740F4843008F055C0813081F018
+:1031D000823021F15FC0853709F447C0C0F19CE718
+:1031E000980F903708F056C08F770E94DE1145C0C7
+:1031F0008F010E5F1F4FFE01849190E2980F98306F
+:1032000050F48770FE2D01C0FF0F8A95EAF78F2FCB
+:103210000E94621B15C00E94161114C08F010E5F20
+:103220001F4FFE01849190E2980F983068F48770E8
+:10323000FE2D01C0FF0F8A95EAF78F2F0E94681BB1
+:103240000E948B1BE80119C00E94DE11FBCFCF0149
+:103250000296FE01C491CC2361F0EFE9FFE03197C3
+:10326000F1F700C00000C150F6CFCF010296FE0179
+:10327000F490EC0102C00E9416118F2D882341F0BA
+:10328000EFE9FFE03197F1F700C000008150F6CF81
+:10329000FE0194CFDF91CF911F910F91FF90EF909E
+:1032A000089508956093B5017093B6018093B701B6
+:1032B0009093B8010C9444150F931F930091B5019E
+:1032C0001091B6012091B7013091B801062B172B50
+:1032D000282B392B0093B5011093B6012093B70129
+:1032E0003093B8011F910F910C9444150F931F93C5
+:1032F0000091B5011091B6012091B7013091B8014C
+:1033000006231723282339230093B5011093B60110
+:103310002093B7013093B8011F910F910C9444157D
+:103320000F931F930091B5011091B6012091B70141
+:103330003091B80106271727282739270093B501B0
+:103340001093B6012093B7013093B8011F910F91EC
+:103350000C9444151092B1011092B2011092B30175
+:103360001092B4010C94441541E050E060E070E02C
+:1033700004C0440F551F661F771F8A95D2F74093EC
+:10338000B1015093B2016093B3017093B4010C94F6
+:10339000441541E050E060E070E004C0440F551F68
+:1033A000661F771F8A95D2F78091B1019091B20183
+:1033B000A091B301B091B401842B952BA62BB72B10
+:1033C0008093B1019093B201A093B301B093B40183
+:1033D0000C94441541E050E060E070E004C0440FFC
+:1033E000551F661F771F8A95D2F7409550956095B7
+:1033F00070958091B1019091B201A091B301B0910B
+:10340000B40184239523A623B7238093B10190931D
+:10341000B201A093B301B093B4010C94441541E000
+:1034200050E060E070E004C0440F551F661F771F36
+:103430008A95D2F78091B1019091B201A091B30128
+:10344000B091B40184279527A627B7278093B101AF
+:103450009093B201A093B301B093B4010C944415BE
+:103460000F931F930091B1011091B2012091B3010C
+:103470003091B401062B172B282B392B0093B10167
+:103480001093B2012093B3013093B4011F910F91B7
+:103490000C9444150F931F930091B1011091B20148
+:1034A0002091B3013091B401062317232823392337
+:1034B0000093B1011093B2012093B3013093B40192
+:1034C0001F910F910C9444150F931F930091B1011C
+:1034D0001091B2012091B3013091B4010627172752
+:1034E000282739270093B1011093B2012093B3012B
+:1034F0003093B4011F910F910C9444150895CF920D
+:10350000DF92EF92FF920F931F93CF93DF93EC0123
+:10351000C090B501D090B601E090B701F090B8012D
+:103520008091B1019091B201A091B301B091B40129
+:10353000C82AD92AEA2AFB2A0FE110E0B701A6011E
+:10354000002E04C076956795579547950A94D2F753
+:1035500040FF07C0BE01802F0E94B807813091054F
+:1035600039F40150110950F7BE0180E00E94B807FC
+:10357000DF91CF911F910F91FF90EF90DF90CF904F
+:10358000089590910C019923D9F090910D01992300
+:10359000B9F0982F9695969596959F3088F5E0917D
+:1035A0000E01F0910F01E90FF11D877021E030E06D
+:1035B00001C0220F8A95EAF78181822B81830895C9
+:1035C00040910E0150910F0120E030E09FEFFA0191
+:1035D000E20FF31F6281681799F09F3F19F46111A0
+:1035E00001C0922F2F5F3F4F2E30310581F79F3F53
+:1035F00039F0FA01E90FF11D97FDFA9582830895DC
+:10360000089590910C019923E1F090910D01992377
+:10361000C1F0982F9695969596959F3020F5E0915C
+:103620000E01F0910F01E90FF11D877021E030E0EC
+:1036300001C0220F8A95EAF72095818128232183F2
+:10364000089540910E0150910F0120E030E0FA0101
+:10365000E20FF31F9281981301C012822F5F3F4F38
+:103660002E303105A1F7089581E090E0E0910E0140
+:10367000F0910F01E80FF91F10820196803191053A
+:10368000A9F708959091CC01982B9093CC010895BF
+:1036900080959091CC0198239093CC01089510923D
+:1036A000CC0108959091CB01982B9093CB01089574
+:1036B00080959091CB0198239093CB01089510921F
+:1036C000CB0108959091CA01982B9093CA01089557
+:1036D00080959091CA0198239093CA010895109201
+:1036E000CA0108958093B90108951092B90108950F
+:1036F00040910E0150910F0120E030E080E0FA018E
+:10370000E20FF31F918191118F5F2F5F3F4F2F3099
+:103710003105A9F70895E0910E01F0910F01809114
+:10372000CC018083E0910E01F0910F018081909196
+:10373000CB01892B8083E0910E01F0910F018081F4
+:103740009091CA01892B80839091B901992361F0EE
+:10375000E0910E01F0910F018081892B80830E94FE
+:10376000781B81111092B90180910E0190910F0187
+:103770000C94FA0FCF92DF92EF92FF920F931F9368
+:103780006C01EE24FF24C114D104E104F10421F4FE
+:103790006B017C0180E001C080E133272F2D1E2DBD
+:1037A0000D2D011511052105310519F0885F6801FE
+:1037B000790197018601A4E036952795179507951D
+:1037C000AA95D1F7011511052105310519F08C5F76
+:1037D0006801790197018601F2E0369527951795E2
+:1037E0000795FA95D1F7011511052105310519F055
+:1037F0008E5F68017901B701A601769567955795A7
+:103800004795452B462B472B09F08F5F1F910F9152
+:10381000FF90EF90DF90CF9008958091E601843083
+:1038200009F11092CE0120E488E190E00FB6F894FF
+:10383000A895809360000FBE2093600083B7817FBE
+:10384000846083BF83B7816083BF7894889583B792
+:103850008E7F83BF88E10FB6F8948093600010924A
+:1038600060000FBE089508950895CF930E94331C01
+:103870000E94E2050E94341CC0E08C2F0E94CF06FB
+:10388000811105C0CF5FCE30C1F780E001C081E07B
+:10389000CF9108950E9458150E94EE0F0C94F308E2
+:1038A00082E084BD93E095BD9AEF97BD80936E0052
+:1038B00008952FB7F8948091CF019091D001A091F5
+:1038C000D101B091D2012FBF0895CF92DF92EF9234
+:1038D000FF920F931F932FB7F8944091CF0150910F
+:1038E000D0016091D1017091D2012FBF6A017B019B
+:1038F000EE24FF248C0120E030E0C016D106E20661
+:10390000F30610F441505109481B590BCA011F918D
+:103910000F91FF90EF90DF90CF9008951F920F923C
+:103920000FB60F9211248F939F93AF93BF93809103
+:10393000CF019091D001A091D101B091D201019617
+:10394000A11DB11D8093CF019093D001A093D1010F
+:10395000B093D201BF91AF919F918F910F900FBE05
+:103960000F901F9018950E94F40CF8942FEF87EA9F
+:1039700091E6215080409040E1F700C0000087E0D0
+:1039800090EBDC018093EF019093F001A093F101A3
+:10399000B093F2012CE088E190E00FB6F894A8957E
+:1039A000809360000FBE20936000FFCFEF92FF92E4
+:1039B0000F931F93CF93DF93E82EF12C8F2D0E944E
+:1039C000CF06C0E0D0E0082F10E098010C2E02C016
+:1039D000359527950A94E2F720FD05C02196C6305B
+:1039E000D10599F709C06C2F7F2D80E00E949607C2
+:1039F000E812F4CF81E005C0F3948EE0F812DECF38
+:103A000080E0DF91CF911F910F91FF90EF9008958B
+:103A1000CF93C82F8CE20E94D61C882321F08C2FD4
+:103A2000CF910C94D61C80E0CF910895CF930E9443
+:103A30005B1E811102C00E94411EC5E6C15049F0C3
+:103A40000E94E2058FE39CE90197F1F700C00000B6
+:103A5000F5CF89E20E94081D811111C18AE20E94FE
+:103A6000081D81110E94411E85E00E94081D8111E0
+:103A70000E94B31C0E94661E8093CD0187E00E94C5
+:103A8000081D882399F18BE10E94081D882351F0BD
+:103A90009091CD0191FB882780F921E0822780FB5E
+:103AA00091F922C08EE00E94081D882351F0909168
+:103AB000CD0192FB882780F921E0822780FB92F9D3
+:103AC00013C080E10E94081D9091CD01882341F030
+:103AD00093FB882780F921E0822780FB93F904C0BB
+:103AE000892F809580FB90F99093CD018091CD0135
+:103AF0000E946A1E0E94781E8093E00180EE0E9460
+:103B0000081D882341F08091E001982F909590FB4B
+:103B100080F98093E00189E30E94081D882359F011
+:103B20009091E00191FB882780F921E0822780FBBA
+:103B300091F99093E00182EE0E94081D882359F0CC
+:103B40009091E00192FB882780F921E0822780FB99
+:103B500092F99093E00186EE0E94081D882359F0A7
+:103B60009091E00193FB882780F921E0822780FB78
+:103B700093F99093E00183EE0E94081D882359F089
+:103B80009091E00194FB882780F921E0822780FB57
+:103B900094F99093E00185E30E94081D882359F071
+:103BA0009091E00195FB882780F921E0822780FB36
+:103BB00095F99093E00181E30E94081D882359F054
+:103BC0009091E00196FB882780F921E0822780FB15
+:103BD00096F99093E00181E10E94081D882359F035
+:103BE0009091E00197FB882780F921E0822780FBF4
+:103BF00097F99093E0018091E0010E947C1E8091F2
+:103C0000E00187FB882780F980930D0187E20E94FD
+:103C1000081DC82F8EE10E94081D8111C2608FE12E
+:103C20000E94081D8111C46080E20E94081D81115C
+:103C3000C86081E20E94081D8111C06182E20E9479
+:103C4000081D8111C06283E20E94081D8111C064B9
+:103C500084E20E94081D882311F0C06802C0CC23B2
+:103C600029F08C2F0E94731E6C2F03C00E946F1EC0
+:103C7000682F70E080E090E0CF910C945219CF91C2
+:103C800008956DEE7EEF80E090E00E94972460E062
+:103C900082E090E00E94892460E083E090E00E944E
+:103CA000892460E084E090E00E94892460E085E05F
+:103CB00090E00C94892480E090E00E94832421E02D
+:103CC0008D3E9E4F09F020E0822F089582E090E023
+:103CD0000C947B24682F82E090E00C94892483E08C
+:103CE00090E00C947B24682F83E090E00C9489246E
+:103CF00084E090E00C947B24682F84E090E00C94A6
+:103D000089248091D50180FF0BC06091130185E06B
+:103D1000689FB001112475956795759567952AC0C0
+:103D200081FF09C06091130185E0689FB0011124F3
+:103D3000759567951FC082FF07C06091130185E0EC
+:103D4000689FB001112416C04091D6014423C9F0E8
+:103D500060911201461788F72091130185E0289F92
+:103D600090011124429FC001439F900D112470E0E7
+:103D70000E944D246038710540F46115710539F0D9
+:103D800002C065E070E0862F08958FE7089581E016
+:103D900008958091D50180FF08C06091110170E005
+:103DA000759567957595679521C081FF06C06091EF
+:103DB000110170E07595679519C082FF04C060918C
+:103DC000110170E010C08091D6018823C1F060918C
+:103DD00010018617A0F790911101989FC00111243E
+:103DE00070E00E944D246038710528F4611571055A
+:103DF00021F0862F08958FE7089581E0089561E00E
+:103E000070E0F4CF803F21F40E94811E819504C0B0
+:103E1000813F29F40E94811E8093D9010895823F39
+:103E200021F40E94811E819504C0833F29F40E94E1
+:103E3000811E8093D8010895893F19F40E94C91EFC
+:103E400005C08A3F31F40E94C91E81958093DA0132
+:103E500008958B3F21F40E94C91E819504C08C3FB8
+:103E600029F40E94C91E8093DB010895843F21F448
+:103E70008091D701816017C0853F21F48091D701DF
+:103E8000826011C0863F21F48091D70184600BC00D
+:103E9000873F21F48091D701886005C0883F31F4C5
+:103EA0008091D70180618093D70108958D3F21F4DF
+:103EB0008091D50181600BC08E3F21F48091D501A6
+:103EC000826005C08F3F29F48091D5018460809382
+:103ED000D5010895803F39F48091D90187FF6CC0E6
+:103EE0001092D90169C0813F29F48091D901181637
+:103EF000BCF362C09091D801823F29F497FF5CC067
+:103F00001092D80159C0833F19F41916CCF354C04C
+:103F1000893F41F48091DA0118160CF04DC01092DF
+:103F2000DA014AC08A3F29F48091DA0187FF44C050
+:103F3000F6CF8B3F39F48091DB0187FF3DC01092B3
+:103F4000DB013AC08C3F29F48091DB011816BCF3E9
+:103F500033C0843F21F48091D7018E7F17C0853F05
+:103F600021F48091D7018D7F11C0863F21F480918B
+:103F7000D7018B7F0BC0873F21F48091D701877FCA
+:103F800005C0883F31F48091D7018F7E8093D7019F
+:103F900013C08D3F21F48091D5018E7F0BC08E3FE1
+:103FA00021F48091D5018D7F05C08F3F29F4809148
+:103FB000D5018B7F8093D5018091D80181110EC0EE
+:103FC0008091D90181110AC08091DA01811106C066
+:103FD0008091DB01811102C01092D601089587ED16
+:103FE00091E00E9405100E94591C9093D401809387
+:103FF000D30108951F93CF93DF938091D3019091C4
+:10400000D4010E94651C4091D601442321F02091E7
+:10401000140130E006C0209115015AE0259F90015F
+:1040200011248217930708F482C08091D80110915F
+:10403000D901D091DA01C091DB01811107C01111C2
+:1040400005C0D11103C0CC2309F471C04F3F19F052
+:104050004F5F4093D601181624F40E94811E80936E
+:10406000D8018091D80187FF05C00E94811E8195EB
+:104070008093D801111624F40E94811E8093D901E7
+:104080008091D90187FF05C00E94811E8195809390
+:10409000D9016091D801662339F11091D90111231A
+:1040A00019F1772767FD7095872F972F0E945E2360
+:1040B00023E333E343E35FE30E94C2230E942B2305
+:1040C0006093D801612F772767FD7095872F972F11
+:1040D0000E945E2323E333E343E35FE30E94C223B2
+:1040E0000E942B236093D9011D1624F40E94C91E3F
+:1040F0008093DA018091DA0187FF05C00E94C91E12
+:1041000081958093DA011C1624F40E94C91E8093C5
+:10411000DB018091DB0187FF05C00E94C91E8195EC
+:104120008093DB01DF91CF911F910C94EF1FDF9102
+:10413000CF911F910895E7EDF1E085E0DF011D9239
+:104140008A95E9F71092D6011092D501089583302F
+:1041500081F128F4813059F08230D1F00895853012
+:1041600009F449C0B8F1863009F456C00895209189
+:104170001501862F90E0820F911D8F3F910520F44D
+:10418000620F6093150108958FEF809315010895D4
+:1041900020911401862F90E0820F911D8F3F910591
+:1041A00020F4620F6093140108958FEF809314013F
+:1041B000089520911301862F90E0820F911D8F3F6B
+:1041C000910520F4620F6093130108958FEF80939F
+:1041D0001301089520911201862F90E0820F911D06
+:1041E0008F3F910520F4620F6093120108958FEFC5
+:1041F00080931201089520911101862F90E0820F83
+:10420000911D8F3F910520F4620F60931101089575
+:104210008FEF80931101089520911001862F90E077
+:10422000820F911D8F3F910520F4620F6093100162
+:1042300008958FEF809310010895833011F128F4D1
+:10424000813049F0823091F00895853081F120F17C
+:104250008630C1F1089580911501681720F4861BFE
+:10426000809315010895109215010895809114010D
+:10427000681720F4861B809314010895109214018E
+:10428000089580911301681720F4861B8093130111
+:10429000089510921301089580911201681720F477
+:1042A000861B809312010895109212010895809147
+:1042B0001101681720F4861B809311010895109254
+:1042C0001101089580911001681720F4861B8093D6
+:1042D000100108951092100108958D3109F442C023
+:1042E00020F58E3009F479C070F4873009F45EC08F
+:1042F00020F4863009F442C033C08830D1F18B30CD
+:1043000009F4A7C02DC0863109F4A3C038F4803168
+:1043100009F46DC0813109F47BC022C0893109F4F0
+:1043200098C08B3109F44FC01BC0853309F479C0A4
+:1043300048F4873209F475C008F478C0893209F46A
+:1043400070C00EC0833438F48A3308F071C08833EB
+:1043500009F47FC005C0833409F463C08834C1F018
+:1043600080E008950E94E5220E94EE0F0E94F3086B
+:1043700070C00E94661E0E94781E6BC08091CD01A5
+:10438000817F8E7F8093CD0181E08093DD01089550
+:104390000E9458152FEF83ED90E32150804090400C
+:1043A000E1F700C000000E94B31C53C09091CD0102
+:1043B000892F817090FF03C0917F9E7F26C09160FE
+:1043C0009093CD0146C09091CD0191FB882780F953
+:1043D00021E0822780FB91F913C09091CD0192FBDF
+:1043E000882780F921E0822780FB92F909C090910B
+:1043F000CD0193FB882780F921E0822780FB93F988
+:104400009093CD01882329F191609093CD01089577
+:104410000E94581580910D0191E0892780930D012C
+:1044200018C061E070E080E090E00FC023EE01C0B2
+:1044300027EC280F61E070E080E090E004C0660F98
+:10444000771F881F991F2A95D2F70E9452190E9440
+:10445000581581E0089580E0089580E00895CF9395
+:10446000C82F8091DD01813079F018F08230D1F1D0
+:1044700084C0A0910E01B0910F018C91813169F03F
+:10448000823209F07CC009C0A0910E01B0910F01E9
+:104490008C91813111F0823249F48C2F0E942B22B1
+:1044A00081111DC08C2F0E946D211AC08C2F0E947B
+:1044B0002D22811114C0C43179F048F4CB3079F049
+:1044C000C03109F060C082E08093DD0108C0C932CC
+:1044D00019F0C83321F057C01092DD0154C081E0BB
+:1044E000817053C0C93289F118F5C43171F1A8F453
+:1044F000C73009F046C08AE08093150194E190939B
+:10450000140193E0909313018093120188E080934B
+:10451000110188E28093100134C0CE51C63088F575
+:10452000EC2FF0E0E65DFE4F80818093DC0129C036
+:10453000CE34E9F020F4CB3421F56AE013C0C13564
+:1045400079F0C235F1F461E00DC08091DC0188237F
+:1045500019F01092DC0115C081E08093DD0115C0D7
+:1045600061E006C08091DC010E94A7200AC06AE0D9
+:104570008091DC010E941D2104C01092DD0180E0C9
+:1045800004C081E002C080E0ABCFCF910895E1E8A4
+:10459000F0E08081886080838081816080838FB734
+:1045A000F89493E09093890090ED909388008FBFEA
+:1045B0000895EFE6F0E08081826080830895EFE661
+:1045C000F0E080818D7F80830895EFE6F0E08081C8
+:1045D00092E08927808308951F920F920FB60F9261
+:1045E00011242F933F934F935F936F937F938F93F8
+:1045F0009F93AF93BF93EF93FF938091DE019091D0
+:10460000DF0101969093DF018093DE01811103C0E9
+:1046100082E00E94F308E091DF01E695E695F0E084
+:10462000EA52F84FE4918091DE018E1303C080E0DE
+:104630000E94F308FF91EF91BF91AF919F918F91ED
+:104640007F916F915F914F913F912F910F900FBE8E
+:104650000F901F90189504D06894B1118DC00895E3
+:1046600070D088F09F5790F0B92F9927B751A0F0DC
+:10467000D1F0660F771F881F991F1AF0BA95C9F7F6
+:1046800012C0B13081F077D0B1E0089574C0672FC7
+:10469000782F8827B85F39F0B93FCCF386957795A6
+:1046A0006795B395D9F73EF490958095709561958F
+:1046B0007F4F8F4F9F4F0895E89409C097FB3EF4BA
+:1046C00090958095709561957F4F8F4F9F4F99235F
+:1046D000A9F0F92F96E9BB279395F69587957795DD
+:1046E0006795B795F111F8CFFAF4BB0F11F460FF9D
+:1046F0001BC06F5F7F4F8F4F9F4F16C0882311F0F5
+:1047000096E911C0772321F09EE8872F762F05C008
+:10471000662371F096E8862F70E060E02AF09A95A3
+:10472000660F771F881FDAF7880F9695879597F998
+:10473000089557FD9058440F551F59F05F3F71F091
+:104740004795880F97FB991F61F09F3F79F08795F8
+:104750000895121613061406551FF2CF4695F1DF81
+:1047600008C0161617061806991FF1CF8695710511
+:10477000610508940895E894BB2766277727CB0145
+:1047800097F908950BD078C069D028F06ED018F052
+:10479000952309F05AC05FC01124EECFCADFA0F301
+:1047A000959FD1F3950F50E0551F629FF001729FC6
+:1047B000BB27F00DB11D639FAA27F00DB11DAA1FE5
+:1047C000649F6627B00DA11D661F829F2227B00D32
+:1047D000A11D621F739FB00DA11D621F839FA00DBD
+:1047E000611D221F749F3327A00D611D231F849F0D
+:1047F000600D211D822F762F6A2F11249F57504064
+:104800008AF0E1F088234AF0EE0FFF1FBB1F661FFE
+:10481000771F881F91505040A9F79E3F510570F0B7
+:1048200014C0AACF5F3FECF3983EDCF386957795F2
+:104830006795B795F795E7959F5FC1F7FE2B880FB2
+:10484000911D9695879597F9089597F99F6780E848
+:1048500070E060E008959FEF80EC089500240A94D2
+:104860001616170618060906089500240A9412164B
+:104870001306140605060895092E0394000C11F47E
+:10488000882352F0BB0F40F4BF2B11F460FF04C02B
+:104890006F5F7F4F8F4F9F4F089597FB072E16F442
+:1048A000009407D077FD09D00E94672407FC05D04B
+:1048B0003EF4909581959F4F0895709561957F4F37
+:1048C0000895EE0FFF1F0590F491E02D0994AA1BA7
+:1048D000BB1B51E107C0AA1FBB1FA617B70710F0EB
+:1048E000A61BB70B881F991F5A95A9F7809590951D
+:1048F000BC01CD010895F999FECF92BD81BDF89A12
+:10490000992780B50895A8E1B0E042E050E00C940A
+:104910009E24262FF999FECF1FBA92BD81BD20BDDE
+:104920000FB6F894FA9AF99A0FBE019608950E946C
+:104930008924272F0C948A24DC01CB01FC01F999EE
+:10494000FECF06C0F2BDE1BDF89A319600B40D92DB
+:0C49500041505040B8F70895F894FFCF94
+:10495C002002F50882095F092B09F8080101BA0148
+:10496C0028080A03140A3F4D363997074A071407DB
+:10497C00DB066E068706A006B906010203040506CF
+:04498C00070809000F
:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/readme.md b/keyboard/ergodox_ez/keymaps/ordinary/readme.md
index 6534f481a1..b1aaed6980 100644
--- a/keyboard/ergodox_ez/keymaps/ordinary/readme.md
+++ b/keyboard/ergodox_ez/keymaps/ordinary/readme.md
@@ -10,54 +10,66 @@ no rights reserved, use for any purposes, credit me if you are a nice person
## The Base Layout ##
-* The yellow keys are text navigation and manipulation
-* The dark blue keys are shift keys: case shift (traditional shift), symbol shift, and media shift
-* The light blue keys are modifiers: traditional Control, Option, and C ommand keys, plus Hyper and Meh
-* The two green keys, tab and tilde, are in the typical places to ease use of the Application Switcher
-* The red keys is Escape, one of the few buttons which is in an atypical position
+* The light blue keys are modifiers: traditional Control, Option, and Command keys, plus Hyper and Meh
+* The dark blue keys are Shift keys: Capitals Shift (traditional shift), Symbol Shift, and Media Shift; plus a Shift Lock key
+* Several dark blue keys double for entry of characters which would typically be in those locations
+* The turquoise keys are text navigation and manipulation
+* The red keys is Escape and it is always found in that location no matter what
![Ordinary base layout](ordinary-base.png)
-This layout puts the modifier keys along the bottom of the keyboard where they are on most layouts. They are in the regular order, with the addition of Hyper and Meh keys. The shift key (case shift) is in the prevalent location. The primo slots usually wasted on Caps Lock and Enter are instead used for the Symbol Shift key which promotes use of the Symbols layer. On the right side of the layout, the Symbol and Media shift keys also double as character keys -- quote and backslash, respectively -- so that touch typists can continue to find those punctuation marks in the right place.
+This layout puts the modifier keys along the bottom of the keyboard where they are on most keyboards. They are in the regular order, with the addition of Hyper and Meh keys. On the outside edges are the Shift keys. The traditional shift key is called Capitals Shift and it is in the normal location. Above that are Symbols Shift and Media Shift. Each Shift key momentarily switches the layout to that layer, and if you use the Shift Lock button you can lock the layout to that layer.
-Other than the yellow keys, the only buttons which move to new locations are the Brackets and Dash and Escape. Most touch typists dont touch-type brackets or dash anyway, so only Escape really requires retraining of muscle memory.
+Touch typists will also find tilde, tab, equals/plus, slash/pipe, and quote/double-quote sharing space on those Shift keys where they would probably be on a common keyboard. Other than the turquoise keys the only buttons which move to new locations are the Brackets and Dash and Escape. Most touch typists dont touch-type brackets or dash anyway so only Escape really requires retraining of muscle memory, and see below for the Special Escape Sequence.
-The four big yellow keys are arranged differently than in the default Ergodox EZ layout. The Ordinary Layout here copies the design of the old Fingerworks TouchStream keyboard, but also reflects the natural presumptions of the author -- me!; I type the space character with my right hand, and to me it makes sense for the two delete keys to be next to one another.
+The four big turquoise keys are arranged differently than in the default Ergodox EZ layout. The Ordinary Layout here copies the design of the old Fingerworks TouchStream keyboard, but also reflects the natural presumptions of the author -- me! I type the space character with my right hand, and to me it makes sense for the two delete keys to be next to one another.
-The Forward Tab and Backward Tab keys are there mostly because I ended up with two extra buttons and needed something to do with them. My muscle memory from using the Truly Ergonomic Keyboard makes me look for the Tab key with my right index finger, so it is handy to have this redundant Tab, and the idea with the Backward Tab key is that it becomes easy to navigate text fields in forms, or to indent/unindent code.
+The Forward Tab and Backward Tab keys are in their locations mostly because I ended up with two extra buttons and needed something to do with them. My muscle memory from using the Truly Ergonomic Keyboard makes me look for the Tab key with my right index finger, so it is handy to have this redundant Tab, and the idea with the Backward Tab key is that it becomes easy to navigate text fields in forms, or to indent/unindent code.
-## The Symbols Layout ##
+## The Symbols Layer ##
-* The periwinkle keys are the eponymous symbols
-* The gray keys are F-Keys
-* The green keys are a proper number pad
-* The red Escape key is found in the "right" location on this layer
-* The yellow keys are the *reverse* of the yellow keys on the base layer
-* The dark blue Media key means that the Media layer is accessible with the left hand
+* The light green keys are the eponymous symbols
+* The bright green keys are F-Keys
+* The dark green keys constitute a number pad
+* The turquoise keys are the *reverse* of the turquoise keys on the base layer
![Ordinary symbol layout](ordinary-symbol.png)
The Ergodox EZ ships with the "Coder Layer" which I like to call the Symbols layer. There are some significant improvements in The Ordinary Layout over the default layout.
The symbol keys are mostly the same as on the default layout, which did a good job in this regard, but with a few enhancements:
+
* Angle brackets on this layer mean that curly, square, and angle brackets are all available on different layers of the same two buttons. Also, they mean that all kinds of brackets, including parentheses, are available on both the Base and Symbols layers.
* The slash, backslash, and pipe characters are grouped together as a memory aid.
* The & and | symbols are juxtaposed as a memory aid
-The number pad area here, in green, includes all four arithmetic operations in the same order found on most number pads. This layout also has an Enter key, and importantly the key codes emitted by this number pad are *number pad specific key codes*, not regular keyboard key codes. Some software distinguishes keypad codes so users now have access to a fully realized number pad when using The Ordinary Layout.
-
-The Escape key's true home is in the top left corner of the keyboard, so on this layer it can be found there. And on the Symbols layer, the Tab key switches to become a Media key, so press Symbols then Media to access the Media layer using the left hand.
+The number pad area here, in green, includes all four arithmetic operations in the same order found on most number pads and features an Enter key. The keycodes emitted here are normal numeric keycodes, not the number-pad specific keycodes emitted by most number pads, because this layout does not use a Num Lock key to switch the buttons between numeric keycodes and navigational keycodes. See the explanation in The Media Layout section about navigation using these same buttons.
-Finally, consider the yellow text-nav keys. In the Symbols layer, these are *reversed* from the base layer, with most keys mirrored, but the Delete keys shifted to maintain the directional significance of their arrangement. This is powerful! Often I find myself using the mouse with my right hand, and the left hand needs to press Enter. Instead of reaching the left hand over to the right side of the keyboard, now I simply tap Symbols to reverse the yellow keys, and Enter is right where it should be.
+Finally, consider the turquoise text-nav keys. Here in the Symbols layer, these are *reversed* from the base layer, with most keys mirrored, but the Delete keys shifted to maintain the directional significance of their arrangement. This is powerful! Often I find myself using the mouse with my right hand, and the left hand needs to press Enter. Instead of reaching the left hand over to the right side of the keyboard, now I simply tap Symbols to reverse the yellow keys, and Enter is right where it should be.
-## The Media Layout ##
+## The Media Layer ##
-* The light turquoise keys move the mouse or the text cursor
-* The dark turquoise keys scroll
-* The light purple keys signal Web and Audio applications
-* The dark purple keys signal the operating system
-* The red Escape key is, again, found in the "right" location
+* The dark orange keys on the left move the mouse cursor
+* The dark orange keys on the right move the text cursor
+* The light orange keys are for scrolling and paging
+* The bright green keys are more F-keys
+* The dark yellow keys signal Web and Audio applications
+* The light yellow keys signal the operating system
![Ordinary media layout](ordinary-media.png)
-This layer was inspired by the Media layer on the Ergodox EZ but takes it farther. The Fingerworks TouchStream had a very useful feature for controlling the text cursor easily and this layer does something similar. The left hand can move the mouse, the right hand moves the text cursor, in all four directions, in small or large increments. This greatly enhances navigation in text documents.
+This layer was inspired by the Media layer on the Ergodox EZ but takes it farther. The Fingerworks TouchStream keyboard had a very useful feature for controlling the text cursor easily and this layer does something similar. The left hand can move the mouse, the right hand moves the text cursor, in all four directions, in small or large increments. This greatly enhances navigation in text documents.
+
+Moreover, the orange keys on the right overlay the numberpad from the Symbols Layer, such that in the Media Layer the same keys can be used as if they were a number pad in navigational mode (Num Lock off). For instance, in traditional number pads the '3' key became 'Page Down', and so it is here. This means a user can do text navigation without moving either hand.
+
+## Switching Between Layers ##
+
+The three Shift keys correspond to three logical layers on top of the ever-present base layer, and are represented in the three LEDs on the keyboard: Capitals (red), Symbols (green), Media (blue). Shift keys work in the expected way: press them and the keys shift to that layer; release them and the keys shift back to the base layer. There is also a feature of the Ordinary Layout to lock the keys onto a layer: hold down the Shift Lock key then press a Shift key and -- just like traditional Caps Lock -- the keys will remain in the shifted state. To revert to the base layer, use the Shift Lock key again in combination with the Shift key.
+
+This layout attempts to treat the Capitals Shift layer the same as the other two Shift layers, although internally they are different. Due to these differences, it is possible to switch from any layer to any other layer, and to lock to any layer, *except* it is not possible to go from Media to Symbols. You must exit the Media layer before engaging the Symbols layer. When you depress the Shift Lock key it will illuminate the LEDs corresponding to the layers available, so if you are on the base layer or the Capitals layer or the Symbols layer, then all three LEDs will light up, but if you are on the Media layer then only the Capitals and Media layers will light up.
+
+## Special Escape Sequence ##
+
+In the Ordinary Layout, the most unsatisfying key location is the Escape key which rightly belongs segregated on its own way up on the top left of the keyboard. The Ergodox does not have a physical button in such a location and the nearest one, in the top left corner, was assigned to the tilde button which is traditionally found in that location. The Escape key is important so it features prominently on the other top corner on the left side of the keyboard, and is always there in all layers. Nevertheless, alas, it isn't Ordinary to put the escape in that different corner!
+
+That tilde key has a second function as the Shift Lock key and that makes possible a special feature. To make this layout as Ordinary as possible, the Escape key can *also* be accessed by pressing Shift Lock then the 1 button right next to it. This easy gesture is a way to partially maintain the ease of flicking your wrist to the left and tapping Escape. This gesture works in all layers.