summaryrefslogtreecommitdiff
path: root/keyboard
diff options
context:
space:
mode:
Diffstat (limited to 'keyboard')
-rw-r--r--keyboard/ergodox_ez/keymaps/alexjj/keymap.c238
-rw-r--r--keyboard/ergodox_ez/keymaps/alexjj/keymap.hex1139
-rw-r--r--keyboard/ergodox_ez/keymaps/alexjj/readme.md175
-rw-r--r--keyboard/ergodox_ez/keymaps/alexjj/rl-layout.jpgbin0 -> 833107 bytes
4 files changed, 1552 insertions, 0 deletions
diff --git a/keyboard/ergodox_ez/keymaps/alexjj/keymap.c b/keyboard/ergodox_ez/keymaps/alexjj/keymap.c
new file mode 100644
index 0000000000..3234a4cc85
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/alexjj/keymap.c
@@ -0,0 +1,238 @@
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define MDIA 2 // media keys
+#define UNIC 3 // unicode entry layer
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | ESC | 1! | 2@ | 3# | 4$ | 5% | 6^ | | 7& | 8* | 9( | 0) | -_ | += | BkSp |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Tab | Q | W | E | R | T | { | | } | Y | U | I | O | P | |\ |
+ * |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------|
+ * | Win | A | S | D | F | G |------| |------| H | J | K | L | :; | '" |
+ * |--------+------+------+------+------+------| Home | | End |------+------+------+------+------+--------|
+ * | LShift |Z/Alt | X | C | V | B | | | | N | M | , | . | Alt | RShift |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * |LCtrl | COPY | PASTE| Left | Right| | Down | Up |Hyper | `~ | RCtrl |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * Hyper = Ctrl+Super+Alt+Shift | ~L3 | F5 | | F2 | ~L2 |
+ * ,------|------|------| |------+------+------.
+ * | | | PgUp | | Ins | | |
+ * | Enter| BkSp |------| |------| ~L1 |Space |
+ * | | | PgDn | | Del | | |
+ * `--------------------' `--------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC,
+ KC_LGUI, KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_LSFT, ALT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_HOME,
+ KC_LCTRL, LCTL(KC_C), LCTL(KC_V), KC_LEFT,KC_RGHT,
+ KC_FN3, KC_F5,
+ KC_PGUP,
+ KC_ENT,KC_BSPC,KC_PGDN,
+ // right hand
+ KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
+ KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,
+ KC_END, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,
+ KC_DOWN,KC_UP, ALL_T(KC_NO),KC_GRV, KC_RCTRL,
+ KC_F2, KC_FN2,
+ KC_INS,
+ KC_DELT,KC_FN1, KC_SPC
+ ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |PrintScr|
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | £ | | | | | | . | 0 | = |Alt+F4|
+ * `----------------------------------' `----------------------------------'
+ * ↑ ,-------------. ,-------------.
+ * THERE! | | | | | |
+ * ,------|------|------| |------+------+------.
+ * CAD = Ctrl + Alt + Delete | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | CAD | | |
+ * `--------------------' `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+ // left hand
+ KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
+ 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_TRNS,
+ KC_TRNS,M(3),KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,
+ // right hand
+ KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
+ KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_TRNS,
+ KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS,
+ KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
+ KC_TRNS,KC_DOT, KC_0, KC_EQL, LALT(KC_F4),
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ LCTL(LALT(KC_DEL)), KC_TRNS, KC_TRNS
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | TEENSY | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | MsUp | | | | | | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | Prev | Next | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | Lclk | Rclk | |VolDn |VolUp | Mute | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | |Brwser|
+ * | | |------| |------| |Back |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// MEDIA AND MOUSE
+[MDIA] = KEYMAP(
+ RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
+ 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_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
+ KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_WBAK
+),
+/* Keymap 3: Unicode Entry
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | Alt | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 0 | + | + | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Alt | | | E | | | | | | | 7 | 8 | 9 | + | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | Alt | A | | D | F | |------| |------| | 4 | 5 | 6 | + | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | Alt | | | C | | B | | | | | 1 | 2 | 3 | + | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | Alt | Alt | Alt | | | | 0 | 0 | 0 | + | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * WINDOWS ONLY SETUP!! | ~L3 | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | Alt | Alt |------| |------| Alt | Alt |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[UNIC] = KEYMAP( // layer 3 : Unicode Entry
+ // left hand
+ KC_LALT, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6,
+ KC_LALT, KC_TRNS, KC_TRNS, KC_E, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_LALT, KC_A, KC_TRNS, KC_D, KC_F, KC_TRNS,
+ KC_LALT, KC_TRNS, KC_TRNS, KC_C, KC_TRNS, KC_B, KC_TRNS,
+ KC_LALT, KC_LALT, KC_LALT, KC_TRNS,KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_LALT,KC_LALT, KC_TRNS,
+ // right hand
+ KC_P7, KC_P8, KC_P9, KC_P0, KC_PPLS,KC_PPLS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_TRNS,
+ KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_TRNS,
+ KC_P0, KC_P0, KC_P0, KC_PPLS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_LALT, KC_LALT
+ ),
+};
+
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(SYMB), // FN1 - Momentary Layer 1 (Symbols)
+ [2] = ACTION_LAYER_TAP_TOGGLE(MDIA), // FN2 - Momentary Layer 2 (Media)
+ [3] = ACTION_LAYER_TAP_TOGGLE(UNIC) // FN3 - Momentary Layer 3 (Unicode entry)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ case 3: // this would trigger when you hit a key mapped as M(3)
+ if (record->event.pressed) {
+ return MACRO( I(255), D(LALT), T(P1), T(P0), T(P5), T(P6), U(LALT), END );
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ // TODO: Make this relevant to the ErgoDox EZ.
+ case 1:
+ ergodox_right_led_1_on();
+ break;
+ case 2:
+ ergodox_right_led_2_on();
+ break;
+ case 3:
+ ergodox_right_led_3_on();
+ break;
+ default:
+ // none
+ break;
+ }
+
+};
diff --git a/keyboard/ergodox_ez/keymaps/alexjj/keymap.hex b/keyboard/ergodox_ez/keymaps/alexjj/keymap.hex
new file mode 100644
index 0000000000..622a004333
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/alexjj/keymap.hex
@@ -0,0 +1,1139 @@
+:100000000C94C7020C940E030C940E030C940E0374
+:100010000C940E030C940E030C940E030C940E031C
+:100020000C940E030C940E030C94380C0C940A0DD3
+:100030000C940E030C940E030C940E030C940E03FC
+:100040000C940E030C949E210C940E030C940E033E
+:100050000C940E030C94301B0C940E030C940E03A2
+:100060000C940E030C940E030C940E030C940E03CC
+:100070000C940E030C940E030C940E030C940E03BC
+:100080000C940E030C940E030C940E030C940E03AC
+:100090000C940E030C940E030C940E030C940E039C
+:1000A0000C940E030C940E030C940E03770D990D13
+:1000B0008C0E990D8C0EDE0D010E8C0E560E690EF7
+:1000C0005811581187118711CA11041211141114F3
+:1000D0001D12111412131213E51311141114FC1331
+:1000E00075FF01E20159025901620262015D025D80
+:1000F000015E025E02E2000000F0A1F0A2F0A3297E
+:10010000002B00E300E100E00000001E00140004EA
+:10011000001D7406014E001F001A0016001B001976
+:10012000012A0020000800070006005000280021D6
+:10013000001500090019004F004B00220017000AAB
+:100140000005000000C30023002F0000004A00004B
+:10015000003E002400300000004D0000003B002560
+:10016000001C000B0011000000C200260018000D4A
+:100170000010005100490027000C000E003600520C
+:10018000002C002D0012000F003700007FC1002E50
+:100190000013003300380035004C002A00310034D1
+:1001A00000E500E400000001000100010001000181
+:1001B0000000003A001E0220022202033001003B30
+:1001C000001F0221022302010001003C002F022631
+:1001D000022F00010001003D003002270230000123
+:1001E0000001003E00310235003502000001003FF1
+:1001F00000010000000100000001004000010000BB
+:1002000000010000000100410052005100240200E2
+:100210000001004200240021001E000100010043F3
+:1002200000250022001F00370001004400260023A3
+:1002300000200027000100450025022E0231002E7B
+:10024000004C0546000100010001003D04000000D3
+:100250005001000100010001000000010001000147
+:100260000001000100010001000100F20001000195
+:100270000001000100F000F1000100F400010001A4
+:10028000000100F3000100F5000100010001000180
+:100290000001000000010001000100000001000059
+:1002A0000001000100010000000100000001000148
+:1002B0000001000100010000000100010001000137
+:1002C000000100AA000100010001000100AC00A92A
+:1002D00000B600010001000100AB00A80001000110
+:1002E000000100010001000100010001000100AE59
+:1002F00000010001000000E200E200E200E200E292
+:100300000000005900010004000100E20001005A51
+:1003100000010001000100E200E2005B00080007AC
+:100320000006000100E2005C00010009000100017C
+:100330000001005D00010001000500000001005EF9
+:1003400000010000000100000001005F000100004A
+:100350000001000000010060000100010001000038
+:1003600000010061005F005C005900620001006252
+:100370000060005D005A006200E200570061005E0C
+:10038000005B006200E2005700570057005700571B
+:100390000001000100010001000100010000001641
+:1003A000034500720067006F0044006F0078002072
+:1003B0000045005A00000016034500720067006FF8
+:1003C0000044006F007800200045005A000000043F
+:1003D00003090409026D00040100A0FA09040000E9
+:1003E0000103010100092111010001223F0007055D
+:1003F000810308000A090401000103010200092128
+:1004000011010001224D000705820308000A0904BA
+:100410000200010300000009211101000122360041
+:100420000705830308000A09040300010300000014
+:100430000921110100012239000705840310000180
+:100440001201100100000008EDFE07130100010277
+:10045000000105010906A101050719E029E71500BA
+:1004600025019508750181020508190129059505E1
+:10047000750191029501750391010507190029770E
+:1004800015002501957875018102C005010980A13B
+:1004900001850216010026B7001A01002AB700756F
+:1004A0001095018100C0050C0901A1018503160109
+:1004B00000269C021A01002A9C02751095018100F9
+:1004C000C005010902A1010901A1000509190129BD
+:1004D00005150025019505750181029501750381BA
+:1004E000010501093009311581257F9502750881C3
+:1004F0000609381581257F950175088106050C0AC6
+:1005000038021581257F950175088106C0C0050157
+:100510000906A101050719E029E71500250195083D
+:1005200075018102950175088101050819012905E8
+:100530009505750191029501750391010507190053
+:1005400029FF150025FF950675088100C0000000F1
+:100550000000000000000000010204060A0F17203E
+:100560002C3A4A5D71879DB3C7DAE9F5FCFFFCF5CB
+:10057000E9DAC7B39D87715D4A3A2C20170F0A0646
+:10058000040201000000000000000000000011242F
+:100590001FBECFEFDAE0DEBFCDBF04B603FE27C03B
+:1005A0008091EE019091EF01A091F001B091F101E5
+:1005B0008730904BA740B04BD1F41092EE011092CF
+:1005C000EF011092F0011092F10114BE84B7877F01
+:1005D00084BF0FB6F894A8958091600088618093DD
+:1005E0006000109260000FBEE0E0FFE3099511E0AB
+:1005F000A0E0B1E0EEEDF6E402C005900D92A43368
+:10060000B107D9F721E0A4E3B1E001C01D92AE3EED
+:10061000B207E1F70E947F090C946D230C9400004F
+:10062000CF93DF93EC01662319F0633059F00DC0CE
+:100630008A81882321F085EE0E94ED0F03C085EEAC
+:100640000E94B5108A81811103C080E090E002C051
+:1006500080EE90E0DF91CF91089508956091B1010F
+:100660007091B2018091B3019091B4010E945D1A22
+:1006700056985E9825982D9826982E9827982F980A
+:10068000823039F0833041F0813041F4259A2D9A3F
+:100690000895269A2E9A0895279A2F9A08950C94D1
+:1006A0002E0356985E9825982D9826982E98279870
+:1006B0002F988FEF90E0909389008093880090931B
+:1006C0008B0080938A0090938D0080938C00259AF4
+:1006D0002D9A2FEF80E792E0215080409040E1F783
+:1006E00000C00000269A2E9A2FEF80E792E021505A
+:1006F00080409040E1F700C00000279A2F9A2FEF2A
+:1007000080E792E0215080409040E1F700C0000077
+:1007100025982D982FEF80E792E02150804090405F
+:10072000E1F700C0000026982E982FEF80E792E0B6
+:10073000215080409040E1F700C0000027982F989A
+:1007400056985E9825982D9826982E9827982F9839
+:10075000089589EA8093800089E08093810024983D
+:100760002C983F988AB18F748AB96E98479A8BB14A
+:10077000806B8BB9769A0E9451030C942D0380E212
+:10078000809300018091340181110EC00E940E04FB
+:1007900081E0809334012FEF83ED90E3215080407E
+:1007A0009040E1F700C0000080E40E9414048093B0
+:1007B000000181112EC00E943E048093000181112E
+:1007C00028C00E943E0480930001811122C08FE363
+:1007D0000E943E048093000181111BC00E943604D8
+:1007E00080E40E94140480930001811112C08CE007
+:1007F0000E943E048093000181110BC00E943E04C0
+:1008000080930001811105C08FE30E943E04809314
+:1008100000010E9436048091000108951092B900F1
+:100820008AE08093B800089594EA9093BC00909178
+:10083000BC0097FFFCCF9091B900987F983021F0D1
+:10084000903111F081E008958093BB0084E880939B
+:10085000BC008091BC0087FFFCCF8091B900887FED
+:10086000883111F0803471F780E0089584E9809335
+:10087000BC008091BC0084FDFCCF08958093BB0038
+:1008800084E88093BC008091BC0087FFFCCF9091EE
+:10089000B900987F81E0983209F480E0089584E8F7
+:1008A0008093BC008091BC0087FFFCCF8091BB008F
+:1008B000089580910001811115C080E40E94140404
+:1008C0008093000181110CC082E10E943E0480935C
+:1008D0000001811105C08FEF0E943E04809300014A
+:1008E0000E94360484B1807F84B985B1807F85B948
+:1008F0008AB1837F8AB98BB1837F8BB93E98469842
+:1009000008950E94BF03809300010E94590480B3A0
+:100910008C7080BB81B3836F81BBE4E4F1E0A6E31C
+:10092000B1E011921D9281E0E235F807D1F70C9405
+:10093000A9039F92AF92BF92CF92DF92EF92FF9264
+:100940000F931F93CF93DF9380910001882379F059
+:10095000809135018F5F80933501811108C00E941D
+:10096000BF0380930001811102C00E94510386E3FE
+:10097000E82E81E0F82E8701C0E0D0E0BB24B394DC
+:1009800092E0A92ECC24C394D12CC730D10500F518
+:1009900080910001811164C080E40E94140480935E
+:1009A0000001811112C082E10E943E048093000187
+:1009B00081110BC0C6010C2E01C0880F0A94EAF702
+:1009C00080950E943E04809300010E94360448C036
+:1009D000CA30A1F028F4C83059F0C93061F005C020
+:1009E000CC3089F070F0CD3089F0209A289810C072
+:1009F000219A29980DC0229A2A980AC0239A2B98E6
+:100A000007C0529A01C0539A5B9802C03E9A46981A
+:100A1000E0EAEA95F1F78FB181708B25799902C0F0
+:100A200032E001C030E0832B7C9902C034E001C089
+:100A300030E0832B7D9902C028E001C020E0822BAA
+:100A40007E9902C090E101C090E0892B9FB1909502
+:100A5000991F9927991F9295990F907E892B0FC006
+:100A60008091000181114AC080E40E9414048093A7
+:100A70000001882381F1912C0E943604892DD80130
+:100A80009C91981719F08C93A09201010E9459042F
+:100A900021960F5F1F4FCE30D10509F076CF8091A0
+:100AA0000101882369F1815080930101882339F085
+:100AB000EFE9FFE03197F1F700C0000021C0E4E466
+:100AC000F1E0D7018D917D018193B4E4EB16B1E0A3
+:100AD000FB06B9F715C083E10E943E048093000134
+:100AE0008111C9CF81E40E94140480930001811117
+:100AF000C2CF0E944F04982E9094BECF80E0BFCF0B
+:100B00000E944F0381E0DF91CF911F910F91FF90E1
+:100B1000EF90DF90CF90BF90AF909F900895E82F17
+:100B2000F0E0EC5BFE4F8081089508958B3B9105CA
+:100B300080F4883A910548F5853A9105D8F48430D7
+:100B4000910508F0B2C0019709F06EC081E090E015
+:100B50000895803E910508F467C0883E910508F429
+:100B6000A4C09C01205F31092031310508F05CC030
+:100B700090650895853A910509F459C0863A910522
+:100B800009F058C082E890E40895883A910509F484
+:100B900054C0893A910509F453C08A3A910509F481
+:100BA00052C08B3A910509F451C08C3A910509F471
+:100BB00050C08D3A910509F44FC0803B910509F46E
+:100BC0004EC08E3A910509F44DC08F3A910509F453
+:100BD0004CC0813B910509F44BC0823B910509F45F
+:100BE0004AC0833B910509F449C0843B910509F44F
+:100BF00048C0853B910509F447C0863B910509F43F
+:100C000046C0873B910509F445C0883B910509F42E
+:100C100044C0893B910509F443C08A3B910509F41E
+:100C200042C080E094E4089580E090E0089581E877
+:100C300090E4089583E890E4089582EE94E40895A2
+:100C400089EE94E408958AEE94E4089585EB94E4A3
+:100C5000089586EB94E4089587EB94E408958CEC72
+:100C600094E408958DEC94E4089583E895E4089560
+:100C70008AE895E4089582E995E4089584E995E485
+:100C8000089581E296E4089583E296E4089584E26B
+:100C900096E4089585E296E4089586E296E4089540
+:100CA00087E296E408958AE296E40895089524E59B
+:100CB000829FC0011124FC0126E0729FE00DF11D0E
+:100CC0001124E60FF11DEE0FFF1FE150FF4F85913C
+:100CD00094910895880F991FFC01E958F04085917F
+:100CE00094910895880F991FFC01E950FF4F859159
+:100CF0009491089524E5829FC0011124FC0146E0EF
+:100D0000749FE00DF11D1124E60FF11DEE0FFF1F82
+:100D1000E150FF4F859194919C013A9521154FE147
+:100D2000340708F425C13F512115304120F49F704C
+:100D30000E94720608959C0130532115304118F429
+:100D40009927906C0895811520E5920769F40E9417
+:100D500035144FEF84E39CE0415080409040E1F730
+:100D600000C000000C94551B813020E5920731F43F
+:100D70008091CD0181608093CD0108959C01305513
+:100D80002115304108F05CC0292F33272F703327FD
+:100D900021303105E9F4AC0164E0440F551F6A9538
+:100DA000E1F744275370BC016370772702C0220F1C
+:100DB000331F6A95E2F73C68242B352B73E0880FCC
+:100DC000991F7A95E1F780769927822B932B0895C6
+:100DD0002230310529F4982F8827816F906A089571
+:100DE00023303105A1F4AC0133E0440F551F3A958F
+:100DF000E1F7407E57708370992721E030E002C010
+:100E0000220F331F8A95E2F7C9019C6816C024306F
+:100E1000310531F5AC0123E0440F551F2A95E1F768
+:100E2000407E57708370992721E030E002C0220F86
+:100E3000331F8A95E2F7C9019A68842B952B089590
+:100E40009C0130572115304118F49F70906208952D
+:100E50009C0130582115304118F49F70906A089514
+:100E6000803E9105E0F4803C910558F58133910571
+:100E700009F46FC048F48932910509F463C08A32DD
+:100E8000910509F46DC072C089339105E9F082388B
+:100E90009105D1F08533910509F44DC067C0833EBB
+:100EA000910581F138F4803E9105B9F0823E9105BB
+:100EB000D9F05CC0863E910561F1873E9105A1F1B4
+:100EC00055C00E946A0608952091DF0120FD02C0EE
+:100ED00021FF4CC080EE90E049C08091DF0180FF8F
+:100EE000F9CF89E390E042C08091DF0182FF0EC01C
+:100EF0008091DF0184FF03C080E090E037C083EE83
+:100F000090E034C08091DF0182FFF2CF82EE90E06A
+:100F10002DC08091DF0183FF0BC08091DF0184FD34
+:100F2000EBCF87EE90E022C08091DF0183FFF5CF09
+:100F300086EE90E01BC08091DF0185FF07C089E24B
+:100F400090E014C08091DF0185FFF9CF85E390E048
+:100F50000DC08091DF0186FF07C08AE290E006C0E5
+:100F60008091DF0186FFF9CF81E390E00E94960532
+:100F7000089508950C94B907809162010895CF9364
+:100F8000DF9300D01F92CDB7DEB79C018091E501C1
+:100F9000843019F593E099833B832A839093E90089
+:100FA0008FEF9091E800815095FD06C095ED9A95E0
+:100FB000F1F700008111F5CF8091E80085FF0DC0A9
+:100FC00040E050E063E070E0CE0101960E942C0A00
+:100FD0008091E8008E778093E8000F900F900F903B
+:100FE000DF91CF910895CF93DF9300D01F92CDB7BB
+:100FF000DEB72091E501243021F522E029839B838F
+:101000008A8383E08093E9008FEF9091E80081501C
+:1010100095FD06C095ED9A95F1F700008111F5CF89
+:101020008091E80085FF0DC040E050E063E070E093
+:10103000CE0101960E942C0A8091E8008E77809361
+:10104000E8000F900F900F90DF91CF9108959C01D1
+:101050008091E5018430F9F482E08093E9009FEF0C
+:101060008091E800915085FD06C085ED8A95F1F7E5
+:1010700000009111F5CF8091E80085FF0CC040E0A1
+:1010800050E065E070E0C9010E942C0A8091E80000
+:101090008E778093E8000895CF93DF93EC018091E1
+:1010A000E501843009F046C090910C019923D9F0F4
+:1010B00090910D019923B9F08093E9008FEF909101
+:1010C000E800815095FD06C095E19A95F1F7000082
+:1010D0008111F5CF8091E80085FF2CC040E050E001
+:1010E00060E170E017C081E08093E9008FEF90919C
+:1010F000E800815095FD06C095ED9A95F1F7000046
+:101100008111F5CF8091E80085FF14C040E050E0E8
+:1011100068E070E0CE010E942C0A8091E8008E7792
+:101120008093E80080E1FE01A2E5B1E001900D921C
+:101130008A95E1F7DF91CF9108958091E4018111C3
+:1011400009C00E94BD0B0E941A0C8091E2008460CD
+:101150008093E20008951092E401089508950C949C
+:101160008B210E94EB1A0E9491210E94C50E0C94C3
+:10117000BA0742E061EC81E00E94360B42E061EC8C
+:1011800082E00E94360B42E061EC83E00E94360B65
+:1011900042E161EC84E00C94360B8091E7018330EE
+:1011A00009F455C030F4813071F0823009F48EC0FA
+:1011B00008958A3009F47AC08B3009F460C0893010
+:1011C00009F09CC020C08091E601813A09F096C0E8
+:1011D0008091E800877F8093E8008091EA019091F8
+:1011E000EB01892B21F460E182E591E003C060E02E
+:1011F00080E090E070E00E94770A8091E8008B77B1
+:101200008093E80008958091E601813209F076C06C
+:101210008091EA019091EB01009719F0039709F092
+:101220006DC08091E800877F8093E8008091E8009E
+:1012300082FD05C08091E5018111F8CF5FC08091EA
+:10124000F100809362018091E8008B7753C0809118
+:10125000E601813A09F052C08091EA019091EB01D8
+:10126000892B09F04BC08091E800877F8093E800CC
+:101270008091E80080FFFCCF80910C0136C0809106
+:10128000E6018132D9F58091EA019091EB01892B39
+:10129000A9F58091E800877F8093E8000E946B0B9E
+:1012A0008091E80180930C010C9435148091E60143
+:1012B000813221F58091E800877F8093E8000E94C9
+:1012C0006B0B8091E9018093630108958091E601A1
+:1012D000813AA1F48091E800877F8093E8008091B3
+:1012E000E80080FFFCCF809163018093F100809142
+:1012F000E8008E778093E8000C946B0B089584B718
+:10130000877F84BF0FB6F894A895809160008861AC
+:1013100080936000109260000FBE90E080E80FB6EE
+:10132000F89480936100909361000FBE0E94140FA7
+:101330000E94BD0B0E941A0C8091E2008460809391
+:10134000E20078940E94A50E0E94160F82E091E0C0
+:101350000E94C00E0E9479218091E501853069F4D8
+:101360000E94AD1A8091E3018823B1F30E94D71A3D
+:10137000882391F30E94160AEFCF0E941C0FECCF36
+:10138000292F332723303105C9F060F4213031058E
+:1013900081F02230310509F041C08DE690E023ED67
+:1013A00033E040C021323105E1F02232310531F124
+:1013B00035C082E190E020E434E034C099278130E8
+:1013C000910549F028F0029749F5EFE9F3E005C0EF
+:1013D000EFECF3E002C0E7EBF3E0849190E09F01D3
+:1013E00021C06430D8F4E62FF0E0EE0FFF1FEE5D71
+:1013F000FE4F2081318189E090E014C0643070F4A8
+:1014000070E0FB01EE0FFF1FE65EFE4F2081318191
+:10141000FB01EA5EFE4F808190E004C080E090E036
+:1014200020E030E0FA0131832083089580E189BD16
+:1014300082E189BD09B400FEFDCF8091D8008F7D87
+:101440008093D8008091E00082608093E0008091DA
+:10145000E00081FDFCCF0895CF92DF92EF92FF92E2
+:101460000F931F93CF93DF93EC018B016A010E94CE
+:101470008A0B811133C0C114D10439F0F601808187
+:101480009181081B190BC80FD91FE12CF12C0115F4
+:10149000110519F18091E80085FD16C08091E800E2
+:1014A0008E778093E800C114D10449F0F601808161
+:1014B0009181E80EF91EF182E08285E00FC00E9462
+:1014C0008A0B882321F30AC089918093F10001508F
+:1014D0001109FFEFEF1AFF0ADACF80E0DF91CF9119
+:1014E0001F910F91FF90EF90DF90CF900895209182
+:1014F000EC013091ED012617370748F061157105B1
+:1015000039F42091E8002E772093E80001C0B9015A
+:10151000FC0120E06115710579F18091E5018823D6
+:10152000F1F18530F1F18091E80083FD3CC08091BC
+:10153000E80082FD2EC08091E80080FFEBCF209173
+:10154000F3008091F20090E0922B6115710551F04B
+:101550008830910538F421912093F1006150710990
+:101560000196F3CF21E0089709F020E08091E80090
+:101570008E778093E800CECF2111CFCF0AC0809123
+:10158000E501882361F0853061F08091E80083FDFA
+:101590000AC08091E80082FFF2CF80E0089582E0E7
+:1015A000089583E0089581E008952091EC01309141
+:1015B000ED012617370748F06115710539F42091C0
+:1015C000E8002E772093E80001C0B901FC0120E07B
+:1015D0006115710591F18091E501882309F440C0FE
+:1015E000853009F43FC08091E80083FD3DC08091C3
+:1015F000E80082FD2FC08091E80080FFE9CF2091B4
+:10160000F3008091F20090E0922B6115710559F082
+:101610008830910540F424912093F1003196615077
+:1016200071090196F2CF21E0089709F020E080913E
+:10163000E8008E778093E800CBCF2111CCCF0AC091
+:101640008091E501882361F0853061F08091E800A8
+:1016500083FD0AC08091E80082FFF2CF80E0089508
+:1016600082E0089583E0089581E00895982F9730EF
+:1016700068F59093E900981739F07091EC0020918B
+:10168000ED005091F00003C0242F762F50E021FD93
+:1016900002C09F5FECCF3091EB003E7F3093EB00B8
+:1016A0003091ED003D7F3093ED003091EB003160E3
+:1016B0003093EB007093EC002093ED005093F0001A
+:1016C0002091EE0027FDE5CF80E008958F70809394
+:1016D000E90081E008958091E60187FF11C08091C3
+:1016E000E80082FD05C08091E5018111F8CF11C0AD
+:1016F0008091E8008B770BC08091E501882349F049
+:101700008091E80080FFF8CF8091E8008E77809389
+:10171000E80008952091E4003091E50095E64091BD
+:10172000EC00842F817040FF23C08091E80080FD91
+:101730001DC08091E501882399F0853099F0809152
+:10174000EB0085FD11C04091E4005091E5002417A5
+:10175000350729F3915011F09A01E1CF84E0089503
+:1017600082E0089583E0089581E0089580E008957F
+:101770004091E80042FFDDCF08950E942B0C0E94AB
+:10178000330CE0EEF0E0808181608083E8EDF0E0F2
+:1017900080818F77808319BCA7EDB0E08C918E7F1C
+:1017A0008C9380818F7E80831092E40108950F9343
+:1017B0001F93CF93DF930E942B0C0E94330CC8ED34
+:1017C000D0E088818F77888388818068888388814A
+:1017D0008F7D888319BC1092E5011092E10110926F
+:1017E000E3011092E20100EE10E0F80180818B7FAE
+:1017F000808388818160888342E060E080E00E948D
+:10180000360BE1EEF0E080818E7F8083E2EEF0E047
+:10181000808181608083808188608083F8018081FD
+:101820008E7F8083888180618883DF91CF911F9133
+:101830000F910895E8EDF0E080818F7E8083E7EDE1
+:10184000F0E080818160808384E082BF81E08093CA
+:10185000E4010C94D70BE8EDF0E080818E7F80836B
+:101860001092E20008951092DA001092E1000895BB
+:101870001F920F920FB60F9211242F933F934F9305
+:101880005F936F937F938F939F93AF93BF93EF93E8
+:10189000FF938091E10082FF0BC08091E20082FF04
+:1018A00007C08091E1008B7F8093E1000E94A40E2D
+:1018B0008091DA0080FF1FC08091D80080FF1BC09C
+:1018C0008091DA008E7F8093DA008091D90080FFCA
+:1018D0000DC080E189BD82E189BD09B400FEFDCF64
+:1018E00081E08093E5010E949D0805C019BC10921B
+:1018F000E5010E94AB088091E10080FF19C0809152
+:10190000E20080FF15C08091E2008E7F8093E200AC
+:101910008091E20080618093E2008091D800806233
+:101920008093D80019BC85E08093E5010E94AF0840
+:101930008091E10084FF30C08091E20084FF2CC0E0
+:1019400080E189BD82E189BD09B400FEFDCF8091AF
+:10195000D8008F7D8093D8008091E1008F7E8093A6
+:10196000E1008091E2008F7E8093E2008091E200AE
+:1019700081608093E2008091E101882311F084E08E
+:1019800007C08091E30087FD02C081E001C083E0D1
+:101990008093E5010E94B1088091E10083FF29C096
+:1019A0008091E20083FF25C08091E100877F8093D2
+:1019B000E10082E08093E5011092E1018091E10075
+:1019C0008E7F8093E1008091E2008E7F8093E20021
+:1019D0008091E20080618093E20042E060E080E07C
+:1019E0000E94360B8091F00088608093F0000E9486
+:1019F000AE08FF91EF91BF91AF919F918F917F9131
+:101A00006F915F914F913F912F910F900FBE0F906B
+:101A10001F9018951F920F920FB60F9211242F93BB
+:101A20003F934F935F936F937F938F939F93AF9366
+:101A3000BF93CF93DF93EF93FF93C091E900CF70F3
+:101A40008091EC00D82FD17080FDD0E81092E90091
+:101A50008091F000877F8093F00078940E944E0D73
+:101A60001092E9008091F00088608093F000CD2B07
+:101A7000CF70C093E900FF91EF91DF91CF91BF91BB
+:101A8000AF919F918F917F916F915F914F913F9116
+:101A90002F910F900FBE0F901F9018951F93CF930B
+:101AA000DF93CDB7DEB7AA970FB6F894DEBF0FBEAF
+:101AB000CDBFE6EEF1E08091F100819321E0EE3EB2
+:101AC000F207C9F70E94CD088091E80083FF24C186
+:101AD0008091E6019091E701492F50E04A3051058D
+:101AE00008F01AC1FA01EA5AFF4F0C9422238038F9
+:101AF00081F0823809F010C18091EA018F708093E3
+:101B0000E9008091EB0085FB882780F91092E900BD
+:101B100006C08091E2019091E30191118260909161
+:101B2000E800977F9093E8008093F1001092F10015
+:101B3000C8C0282F2D7F09F0EFC0882319F082300C
+:101B400061F0EAC08091E801813009F0E5C093308E
+:101B500009F080E08093E3012BC08091E8018111BE
+:101B600027C08091EA018F7009F4D6C08093E90004
+:101B70002091EB0020FF1CC0933021F48091EB00FA
+:101B8000806214C09091EB0090619093EB0021E093
+:101B900030E0A90102C0440F551F8A95E2F7409337
+:101BA000EA001092EA008091EB0088608093EB00DD
+:101BB0001092E9008091E800877F86C08111ACC057
+:101BC0001091E8011F778091E3008078812B80934A
+:101BD000E3008091E800877F8093E8000E946B0B10
+:101BE0008091E80080FFFCCF8091E30080688093C3
+:101BF000E300111102C082E001C083E08093E5019F
+:101C00008BC08058823008F087C08091E8019091A5
+:101C1000E9018C3D53E0950779F583E08A838AE2F8
+:101C200089834FB7F894DE01139620E03EE051E23D
+:101C3000E32FF0E050935700E49120FF03C0E295BA
+:101C4000EF703F5FEF708E2F90E0EA3010F0C79694
+:101C500001C0C0968D939D932F5F243149F74FBFEC
+:101C60008091E800877F8093E8006AE270E0CE010F
+:101C700001960E94770A14C0AE014F5F5F4F6091DA
+:101C8000EA010E94C009BC01892B09F445C090916A
+:101C9000E800977F9093E80089819A810E94D50A95
+:101CA0008091E8008B778093E80036C08038A1F5FA
+:101CB0008091E800877F8093E8008091E101809324
+:101CC000F1008091E8008E778093E8000E946B0B12
+:101CD00023C0811121C08091E8019091E9019927E9
+:101CE0000297D4F48091E800877F8093E800809188
+:101CF000E8018093E1010E946B0B8091E101811169
+:101D000006C08091E30087FD02C081E001C084E04D
+:101D10008093E5010E94B9088091E80083FF0AC022
+:101D20008091E800877F8093E8008091EB008062DB
+:101D30008093EB00AA960FB6F894DEBF0FBECDBF1E
+:101D4000DF91CF911F9108950895CF938091E50180
+:101D50008823A1F0C091E900CF709091EC00892F09
+:101D6000817090FD80E8C82B1092E9008091E80016
+:101D700083FD0E944E0DCF70C093E900CF9108956E
+:101D800090936901809368010895E0916801F09152
+:101D90006901309721F00190F081E02D099480E0F5
+:101DA0000895E0916801F0916901309721F0028077
+:101DB000F381E02D09940895E0916801F0916901A3
+:101DC000309721F00480F581E02D09940895209149
+:101DD0006601309167012817390771F09093670108
+:101DE00080936601E0916801F0916901309721F0DC
+:101DF0000680F781E02D09940895209164013091C7
+:101E000065012817390771F090936501809364018B
+:101E1000E0916801F0916901309721F00084F1852B
+:101E2000E02D0994089508950C94130F0E94F11A5F
+:101E30000E9481040C94B71BCF92DF92EF92FF9225
+:101E40000F931F93CF93DF93CDB7DEB72B970FB6CA
+:101E5000F894DEBF0FBECDBF0E9499048BE6C82E5A
+:101E600081E0D82E00E010E0E02E802F0E948F0548
+:101E7000F60141916F01F82EF426B1F40F5F1F4F68
+:101E80000E30110589F78FEF89838A831B820E94A8
+:101E9000FA1A8160782F9D838C8349815A816B81E6
+:101EA0008D810E94BF0F40C09091CD0191FF04C071
+:101EB0008B870E9495058B8520E030E04F2D50E008
+:101EC000922FBA01022E02C0759567950A94E2F727
+:101ED00060FF24C02E83EF8221E030E0690102C060
+:101EE000CC0CDD1C9A95E2F790E08C219D21892B8A
+:101EF00009F420E028870E94FA1A8160782F9A87D7
+:101F000089874E815F8168858A850E94BF0FF801AD
+:101F1000E559FE4F8081C826C08206C02F5F3F4F23
+:101F20002630310569F6AACF0E949E1E0E94C50E7A
+:101F300090916A018917A1F00E94C50E80936A01F1
+:101F40002B960FB6F894DEBF0FBECDBFDF91CF91B9
+:101F50001F910F91FF90EF90DF90CF900C94BA07F4
+:101F60002B960FB6F894DEBF0FBECDBFDF91CF9199
+:101F70001F910F91FF90EF90DF90CF900895CF9336
+:101F8000DF93CDB7DEB72B970FB6F894DEBF0FBE49
+:101F9000CDBF4F83588769877A878B87DE0111967B
+:101FA00086E0FD0111928A95E9F785E0FE013796FA
+:101FB00001900D928A95E1F749815A816B817C816C
+:101FC0008D819E810E94C9162B960FB6F894DEBFB4
+:101FD0000FBECDBFDF91CF910895CF93C82F882337
+:101FE00009F4C1C0823859F40E94C50E81FDBBC0FE
+:101FF00089E30E9466190E942E1A89E30CC0833877
+:1020000079F40E94C50E80FDAEC083E50E9466197A
+:102010000E942E1A83E50E94A519CF910C942E1AC6
+:10202000843859F40E94C50E82FD9DC087E40E9449
+:1020300066190E942E1A87E4EECF8CEF8C0F813A3E
+:1020400048F48C2F0E94DE2081118DC08C2F0E94BD
+:102050006619E3CF80E28C0F883048F4C77081E0C6
+:1020600001C0880FCA95EAF70E94E719D6CF8BE521
+:102070008C0F833078F4C53A29F0C63A31F083E802
+:1020800090E005C081E890E002C082E890E0CF9146
+:102090000C94E70E88E58C0F833108F064C0C83AD1
+:1020A00039F1C93A41F1CA3A49F1CB3A51F1CC3A46
+:1020B00059F1CD3A61F1C03B69F1CE3A71F1CF3AB5
+:1020C00079F1C13B81F1C23B89F1C33B91F1C43B42
+:1020D00099F1C53BA1F1C63BA9F1C73BB1F1C83BA2
+:1020E000B9F1C93BC1F1CA3BC9F180E090E038C009
+:1020F00082EE90E035C089EE90E032C08AEE90E04A
+:102100002FC085EB90E02CC086EB90E029C087EBD8
+:1021100090E026C08CEC90E023C08DEC90E020C0D5
+:1021200083E891E01DC08AE891E01AC082E991E05D
+:1021300017C084E991E014C081E292E011C083E20B
+:1021400092E00EC084E292E00BC085E292E008C00B
+:1021500086E292E005C087E292E002C08AE292E065
+:10216000CF910C94FD0ECF910895882309F44BC0B4
+:10217000823859F40E94C50E81FF45C089E30E9450
+:1021800066190E942E1A89E30CC0833871F40E94EC
+:10219000C50E80FF38C083E50E9466190E942E1A82
+:1021A00083E50E94A5190C942E1A843859F40E94D4
+:1021B000C50E82FF28C087E40E9466190E942E1A6D
+:1021C00087E4EFCF9CEF980F913A58F390E2980F85
+:1021D000983050F4877091E001C0990F8A95EAF722
+:1021E000892F0E94ED19DFCF9BE5980F933020F4E3
+:1021F00080E090E00C94E70E885A833120F480E070
+:1022000090E00C94FD0E0895882321F00E94E719B8
+:102210000C942E1A0895882321F00E94ED190C9435
+:102220002E1A0895BF92CF92DF92EF92FF920F93F2
+:102230001F93CF93DF9300D000D000D0CDB7DEB78F
+:102240007C0185E0F701DE01119601900D928A95DF
+:10225000E1F7F70183819481892B09F4E2C290812F
+:1022600081818F3F19F49F3F09F4DBC2F70102819E
+:10227000258122952F7099838A8389819A812E8363
+:102280000E942519182FB92E0E9424190E94EB17BD
+:102290002E81002319F00E94041A2E81EB2DE29565
+:1022A000EF704E2F50E0FA01E05AFF4F0C942223BA
+:1022B0008B2D807F9B2D9F70F92E882319F0F2942F
+:1022C00080EFF822002349F0FF2009F457C28F2D38
+:1022D0000E94F7190E942E1A51C2812F0E94B51038
+:1022E000FF2009F49EC28F2D0E94FD1926960FB67D
+:1022F000F894DEBF0FBECDBFDF91CF911F910F913C
+:10230000FF90EF90DF90CF90BF900C942E1A3B2D52
+:10231000307F8B2D8F70303211F08295807F1123AA
+:1023200019F0113021F12CC00023B9F0222309F457
+:1023300090C1213009F08DC126960FB6F894DEBF0A
+:102340000FBECDBFDF91CF911F910F91FF90EF9006
+:10235000DF90CF90BF900C94171A222319F02130F0
+:1023600009F45FC28E830E941A1A8E8186C10023EF
+:1023700021F0223008F055C26CC1211152C27DC13A
+:10238000002321F0222309F464C1F8C1222309F4B7
+:1023900074C109C28B2D86958695837019F08130A2
+:1023A000D1F03FC2002321F0812F9B2D937002C0FA
+:1023B00080E090E026960FB6F894DEBF0FBECDBF4A
+:1023C000DF91CF911F910F91FF90EF90DF90CF9011
+:1023D000BF900C94E70E002321F0812F9B2D93706A
+:1023E00002C080E090E026960FB6F894DEBF0FBEE4
+:1023F000CDBFDF91CF911F910F91FF90EF90DF90B4
+:10240000CF90BF900C94FD0E812F002319F00E94F5
+:10241000A61D02C00E940E1E26960FB6F894DEBFBF
+:102420000FBECDBFDF91CF911F910F91FF90EF9025
+:10243000DF90CF90BF900C94931E8B2D837009F08A
+:1024400075C00111EEC1812F829586958770880F26
+:10245000880F912F9F70C92ED12CE12CF12C082EC2
+:1024600004C0CC0CDD1CEE1CFF1C0A94D2F714FF38
+:1024700012C00FE010E020E030E004C0000F111F98
+:10248000221F331F8A95D2F7C901B8016095709554
+:102490008095909503C060E070E0CB014B2D469590
+:1024A000469543704230C1F060F56C297D298E2934
+:1024B0009F29413051F126960FB6F894DEBF0FBE2A
+:1024C000CDBFDF91CF911F910F91FF90EF90DF90E3
+:1024D000CF90BF900C9412186C297D298E299F29CA
+:1024E00026960FB6F894DEBF0FBECDBFDF91CF9119
+:1024F0001F910F91FF90EF90DF90CF90BF900C94C1
+:102500002E180E941218C701B60126960FB6F8942D
+:10251000DEBF0FBECDBFDF91CF911F910F91FF9016
+:10252000EF90DF90CF90BF900C94F617002319F036
+:102530008B2D817001C08695882309F472C1812F8B
+:10254000829586958770880F880F912F9F70C92E6E
+:10255000D12CE12CF12C082E04C0CC0CDD1CEE1C7F
+:10256000FF1C0A94D2F714FF12C00FE010E020E025
+:1025700030E004C0000F111F221F331F8A95D2F7CD
+:10258000C901B801609570958095909503C060E091
+:1025900070E0CB014B2D4695469543704230C1F01B
+:1025A00060F56C297D298E299F29413051F12696AD
+:1025B0000FB6F894DEBF0FBECDBFDF91CF911F9154
+:1025C0000F91FF90EF90DF90CF90BF900C94EC189C
+:1025D0006C297D298E299F2926960FB6F894DEBF97
+:1025E0000FBECDBFDF91CF911F910F91FF90EF9064
+:1025F000DF90CF90BF900C9408190E94EC18C7018F
+:10260000B60126960FB6F894DEBF0FBECDBFDF91A0
+:10261000CF911F910F91FF90EF90DF90CF90BF90DF
+:102620000C94D018103FD1F118F4103E50F4A1C012
+:10263000123F09F463C008F44CC0133F09F473C09F
+:1026400098C01F708B2D8F710023A1F00E94691814
+:10265000812F26960FB6F894DEBF0FBECDBFDF9157
+:10266000CF911F910F91FF90EF90DF90CF90BF908F
+:102670000C9404110E948A18812F26960FB6F894A4
+:10268000DEBF0FBECDBFDF91CF911F910F91FF90A5
+:10269000EF90DF90CF90BF900C940B110023A9F026
+:1026A0002111BFC08B2D8F7126960FB6F894DEBF17
+:1026B0000FBECDBFDF91CF911F910F91FF90EF9093
+:1026C000DF90CF90BF900C94AF18223008F0A9C0D3
+:1026D000E9CF0023A9F08B2D8F7126960FB6F894C1
+:1026E000DEBF0FBECDBFDF91CF911F910F91FF9045
+:1026F000EF90DF90CF90BF900C946918002359F3AE
+:102700008B2D8F7126960FB6F894DEBF0FBECDBF0E
+:10271000DF91CF911F910F91FF90EF90DF90CF90BD
+:10272000BF900C948A18002399F08B2D8F712696F8
+:102730000FB6F894DEBF0FBECDBFDF91CF911F91D2
+:102740000F91FF90EF90DF90CF90BF900C945418B2
+:1027500026960FB6F894DEBF0FBECDBFDF91CF91A6
+:102760001F910F91FF90EF90DF90CF90BF900C944E
+:102770004A180023A9F0222309F4ADCF812F269611
+:102780000FB6F894DEBF0FBECDBFDF91CF911F9182
+:102790000F91FF90EF90DF90CF90BF900C94ED0FD2
+:1027A000222309F4ADCF812F26960FB6F894DEBF11
+:1027B0000FBECDBFDF91CF911F910F91FF90EF9092
+:1027C000DF90CF90BF900C94B5104B2D4F70612FC0
+:1027D000C7010E94100326960FB6F894DEBF0FBE05
+:1027E000CDBFDF91CF911F910F91FF90EF90DF90C0
+:1027F000CF90BF900C946E174B2D4F70612FC70177
+:1028000026960FB6F894DEBF0FBECDBFDF91CF91F5
+:102810001F910F91FF90EF90DF90CF90BF900C949D
+:10282000560626960FB6F894DEBF0FBECDBFDF91D9
+:10283000CF911F910F91FF90EF90DF90CF90BF90BD
+:1028400008950E94041A0E94141A0E94D9190E9425
+:102850002E1A0E94431F0E94931E80E090E00E9467
+:10286000E70E80E090E00C94FD0E0E94F4190C94A9
+:1028700021140E942519292F22952F702C3030F415
+:102880002A3048F42250223078F405C02C3041F030
+:102890002F3031F009C0803E48F0803F29F406C057
+:1028A00093FB882780F9089580E0089581E00895DA
+:1028B000CF93DF9300D000D01F92CDB7DEB70F903B
+:1028C0000F900F900F900F90DF91CF910895CF93BD
+:1028D000DF9300D000D000D0CDB7DEB726960FB67C
+:1028E000F894DEBF0FBECDBFDF91CF9108951F9347
+:1028F000CF93DF93C091790116E080917A01C817D8
+:1029000099F0D0E01C9FF0011D9FF00D1124E558B7
+:10291000FE4F4081518162817381848195810E9443
+:1029200067142196C770E9CFDF91CF911F91089569
+:102930004091AB015091AC016091AD017091AE013D
+:102940008091AF019091B0010C9467148091B00117
+:1029500082958F7009F054C08091AD01882309F4ED
+:102960004FC080917901A0917A014091AE015091C0
+:10297000AF016091AB017091AC01B6E08A1709F428
+:102980003FC090E041155105C1F17F3F11F46F3F09
+:10299000A1F1B89FF001B99FF00D1124E558FE4F49
+:1029A000218127132AC02081261327C022812111CB
+:1029B00024C0238134812417350710F421503109B4
+:1029C000241B350B283C3105C0F42091B0012F7039
+:1029D00020612093B00126E0289FF001299FF00D8F
+:1029E0001124E058FE4F80818F70806180838BEAD4
+:1029F00091E00E9412110C94771401968770BECF5B
+:102A00000895CF92DF92EF92FF920F931F93CF938F
+:102A1000DF93CDB7DEB762970FB6F894DEBF0FBE77
+:102A2000CDBF8C0185E0F801DE011D9601900D926D
+:102A30008A95E1F7D8014C9111965C911197129605
+:102A40006C918091AE019091AF01009709F475C12E
+:102A50003091AB017091AC017F3F19F43F3F09F415
+:102A60006CC1F801C380D480E090AD01EE2009F480
+:102A7000BEC02091B001C816D90628F0D601A81B07
+:102A8000B90BCD0104C0809590958C0D9D1DFF2440
+:102A9000F394883C910578F0F12C207F09F0C4C0B4
+:102AA0007C2DD98AC88A89890E9458148BEA91E0C2
+:102AB0000E941211AFC0822F807F09F045C05713CA
+:102AC00013C0431311C061110FC02F7020612093F8
+:102AD000B0010E9498148BEA91E00E94121180913B
+:102AE000B001F80185832EC0CD2819F15F3F11F4A4
+:102AF0004F3FF9F0F62E61111CC0809179012091B1
+:102B00007A0136E0821709F45BC090E0389FF0014B
+:102B1000399FF00D1124E558FE4F7181571306C0FF
+:102B20007081471303C07281711103C001968770D1
+:102B3000E9CFF62E662309F41CC18091B0018160B3
+:102B40008093B001F12C15C1571309C0431307C07E
+:102B5000611105C08091B001F8018583C8C04D871F
+:102B60005E878D859E856A8B0E9439146A898823C9
+:102B7000D1F16623C1F12091B001822F82958F702F
+:102B800090E0029774F08091AB019091AC0198872E
+:102B90008F831986DB86CA862C87CE0107960E9412
+:102BA000121186E0F801ABEAB1E001900D928A952E
+:102BB000E1F70E94A6140E949814FF24F394D9C050
+:102BC0004D875E878D859E850E942519292F229528
+:102BD0002F70223008F0C1C09F7009F0BBC0805E2A
+:102BE000883008F4C6C0C8010E941211E6CFC8168A
+:102BF000D90608F453C0F601E81BF90BCF01883C55
+:102C0000910508F450C0F12C7C2DD98AC88A898995
+:102C10000E945814EBEAF1E086E0DF011D928A95EC
+:102C2000E9F70E949814A5C0571314C0431312C0AB
+:102C3000611110C08091B001F8018583C8010E9424
+:102C4000121186E0EBEAF1E0DF011D928A95E9F7C7
+:102C5000FE2C8FC04D875E878D859E856A8B0E9476
+:102C600039146A89882309F4BECF662309F4BBCFDF
+:102C70002091B001822F82958F7090E002970CF422
+:102C800090CF8091AB019091AC019A8389831B8294
+:102C9000DD82CC822E83CE01019681CF80959095E6
+:102CA0008C0D9D1DACCFF62E662309F49CCF5713D7
+:102CB00033C0431331C02091B00120FD24C0822FC6
+:102CC00082958F70482F50E041155105E1F0D801F1
+:102CD00015962C9315974F30510549F08F5F982F1B
+:102CE0009295907F822F8F70892B15968C93C801B7
+:102CF0000E94121186E0F801ABEAB1E001900D925A
+:102D00008A95E1F78ECF86E0F801ABEAB1E0019059
+:102D10000D928A95E1F72DC04D875E878D859E8542
+:102D20000E94391481113DCF8091B0018160809360
+:102D3000B001C8010E9412111CC0662309F453CFD0
+:102D40004D875E878D859E850E943914882309F4FE
+:102D50004ACF27CF811143CF0CC0243008F043CF96
+:102D60009F7009F43CCFD80115969C91907F09F093
+:102D700036CF8F2D62960FB6F894DEBF0FBECDBF53
+:102D8000DF91CF911F910F91FF90EF90DF90CF9047
+:102D900008951F93CF93DF93CDB7DEB72C970FB66F
+:102DA000F894DEBF0FBECDBF4F83588769877A87FF
+:102DB0008B879C87CE0107960E940115882371F0AE
+:102DC0008A859B85892B09F441C088858F3F09F04E
+:102DD00065C08F818F3F09F061C038C086E0FE0179
+:102DE0003796DE01119601900D928A95E1F76A857A
+:102DF0007B856115710551F1FF81E885EF3F11F485
+:102E0000FF3F21F120917A0130E0C90101968770DE
+:102E100099274091790150E08417950709F447C03C
+:102E2000F983EA837D836C8396E0929FD001939F20
+:102E3000B00D1124A558BE4FFE01319601900D92A0
+:102E40009A95E1F780937A010E94771416E08091B9
+:102E5000790190917A018917B9F1189FC001112465
+:102E600085589E4F0E940115882371F1E0917901E8
+:102E70001E9FF0011124E558FE4F4081518162816F
+:102E80007381848195810E9467148091790190E01B
+:102E900001968770992780937901D9CF4F81588502
+:102EA00069857A858B859C850E946714CFCF0E94A7
+:102EB000351410927A0110927901EBEAF1E086E084
+:102EC000DF011D928A95E9F72C960FB6F894DEBFC4
+:102ED0000FBECDBFDF91CF911F910895EF92FF926A
+:102EE0000F931F93CF93DF938C01892B09F46CC050
+:102EF000F12CEE24E394E8012196F80184918437C3
+:102F000040F4843008F051C0813081F0823019F1F2
+:102F10005BC0853709F444C0A8F19CE7980F90374F
+:102F200008F052C08F770E94B51041C00E5F1F4F4E
+:102F3000FE01849190E2980F983050F48770FE2D36
+:102F400001C0FF0F8A95EAF78F2F0E94071A14C05D
+:102F50000E94ED0F2DC00E5F1F4FFE01849190E285
+:102F6000980F983060F48770FE2D01C0FF0F8A958E
+:102F7000EAF78F2F0E940D1A0E942E1A19C00E9484
+:102F8000B51016C00E5F1F4FFE01C491CC2381F017
+:102F90008FE99FE00197F1F700C00000C150F6CF24
+:102FA0000E5F1F4FFE01F49003C00E94ED0F8E01D3
+:102FB0008F2D882309F49FCFEFE9FFE03197F1F7D8
+:102FC00000C000008150F5CFDF91CF911F910F918C
+:102FD000FF90EF90089508956093B5017093B60146
+:102FE0008093B7019093B8010C9421140F931F9311
+:102FF0000091B5011091B6012091B7013091B8014F
+:10300000DC01CB01802B912BA22BB32B8093B5013C
+:103010009093B601A093B701B093B8011F910F919F
+:103020000C9421140F931F930091B5011091B601D8
+:103030002091B7013091B801DC01CB0180239123AD
+:10304000A223B3238093B5019093B601A093B70157
+:10305000B093B8011F910F910C9421140F931F93FB
+:103060000091B5011091B6012091B7013091B801DE
+:10307000DC01CB0180279127A227B3278093B501DC
+:103080009093B601A093B701B093B8011F910F912F
+:103090000C9421141092B1011092B2011092B3015C
+:1030A0001092B4010C94211441E050E060E070E013
+:1030B00004C0440F551F661F771F8A95D2F74093AF
+:1030C000B1015093B2016093B3017093B4010C94B9
+:1030D000211441E050E060E070E004C0440F551F4F
+:1030E000661F771F8A95D2F78091B1019091B20146
+:1030F000A091B301B091B401482B592B6A2B7B2BC3
+:103100004093B1015093B2016093B3017093B40145
+:103110000C94211441E050E060E070E004C0440FE2
+:10312000551F661F771F8A95D2F740955095609579
+:1031300070958091B1019091B201A091B301B091CD
+:10314000B401482359236A237B234093B101509350
+:10315000B2016093B3017093B4010C94211441E067
+:1031600050E060E070E004C0440F551F661F771FF9
+:103170008A95D2F78091B1019091B201A091B301EB
+:10318000B091B401482759276A277B274093B101A2
+:103190005093B2016093B3017093B4010C94211465
+:1031A0000F931F930091B1011091B2012091B301CF
+:1031B0003091B401DC01CB01802B912BA22BB32BDE
+:1031C0008093B1019093B201A093B301B093B40185
+:1031D0001F910F910C9421140F931F930091B10133
+:1031E0001091B2012091B3013091B401DC01CB0107
+:1031F00080239123A223B3238093B1019093B20142
+:10320000A093B301B093B4011F910F910C942114BA
+:103210000F931F930091B1011091B2012091B3015E
+:103220003091B401DC01CB0180279127A227B3277D
+:103230008093B1019093B201A093B301B093B40114
+:103240001F910F910C9421140895CF92DF92EF9269
+:10325000FF920F931F93CF93DF938C01C090B10126
+:10326000D090B201E090B301F090B4018091B5012B
+:103270009091B601A091B701B091B801C82AD92A9E
+:10328000EA2AFB2ACFE1D0E0D701C6010C2E04C008
+:10329000B695A795979587950A94D2F780FF07C0B2
+:1032A000B8018C2F0E947A068130910531F4219764
+:1032B00058F7B80180E00E947A06DF91CF911F9104
+:1032C0000F91FF90EF90DF90CF90089590910C01B7
+:1032D0009923F1F090910D019923D1F0982F9695B3
+:1032E000969596959F3080F5E0910E01F0910F0133
+:1032F000E90FF11D877021E030E0A90102C0440F01
+:10330000551F8A95E2F7CA019181892B818308951F
+:1033100020910E0130910F01F90132969FEF40E0AC
+:103320005191851789F09F3F19F4511101C0942FD5
+:103330004F5F4E30A9F79F3F39F0F901E90FF11DBA
+:1033400097FDFA9582830895089590910C01992331
+:10335000F9F090910D019923D9F0982F96959695B3
+:1033600096959F3028F5E0910E01F0910F01E90F3D
+:10337000F11D877021E030E0A90102C0440F551F04
+:103380008A95E2F7CA018095918189238183089506
+:1033900020910E0130910F01F9013296205F3F4FCD
+:1033A0009081891301C010823196E217F307C1F7AB
+:1033B000089581E090E0E0910E01F0910F01E80F97
+:1033C000F91F1082019680319105A9F70895909117
+:1033D000CC01892B8093CC01089580959091CC01EC
+:1033E00089238093CC0108951092CC010895909187
+:1033F000CB01892B8093CB01089580959091CB01CF
+:1034000089238093CB0108951092CB010895909168
+:10341000CA01892B8093CA01089580959091CA01B1
+:1034200089238093CA0108951092CA010895809358
+:10343000B90108951092B901089580910E019091FB
+:103440000F01FC0131969C01205F3F4F80E091917C
+:1034500091118F5FE217F307D1F70895E0910E0104
+:10346000F0910F018091CC018083E0910E01F091E9
+:103470000F0190818091CB01892B8083E0910E0117
+:10348000F0910F0190818091CA01892B80838091F6
+:10349000B901882361F0E0910E01F0910F01908154
+:1034A000892B80830E941D1A81111092B90180918D
+:1034B0000E0190910F010C94D10ECF92DF92EF92FA
+:1034C000FF926C01EE24FF24C114D104E104F10445
+:1034D00021F0C701B60120E101C020E0C72ED82E9F
+:1034E000E92EFF24C114D104E104F10419F0285F8E
+:1034F000C701B6016B017C0154E0F694E794D794C0
+:10350000C7945A95D1F7C114D104E104F10419F01C
+:103510002C5FC701B6016B017C0142E0F694E79491
+:10352000D794C7944A95D1F7C114D104E104F104AA
+:1035300019F02E5FC701B601DC01CB01B695A79546
+:1035400097958795892B8A2B8B2B09F02F5F822FDC
+:10355000FF90EF90DF90CF9008958091E501843047
+:1035600011F120E488E190E00FB6F894A8958093DB
+:1035700060000FBE2093600083B7817F846083BFAB
+:1035800083B7816083BF7894889583B78E7F83BF2C
+:103590000FB6F894A89580916000886180936000D0
+:1035A000109260000FBE089508950C94D41ACF9322
+:1035B0000E94D51A0E9499040E94D41AC0E08C2F50
+:1035C0000E948F05811104C0CF5FCE30C1F701C0CA
+:1035D00081E0CF9108950E9435140E94C50E0C948D
+:1035E000BA0782E084BD93E095BD9AEF97BD8093C2
+:1035F0006E0008952FB7F8948091CE019091CF017D
+:10360000A091D001B091D1012FBF0895CF92DF9248
+:10361000EF92FF920F931F932FB7F8944091CE0132
+:103620005091CF016091D0017091D1012FBF6A01FB
+:103630007B01EE24FF248C0120E030E0C016D1068F
+:10364000E206F30610F4415051099A01281B390B88
+:10365000C9011F910F91FF90EF90DF90CF900895D7
+:103660001F920F920FB60F9211248F939F93AF93D7
+:10367000BF938091CE019091CF01A091D001B091E4
+:10368000D1010196A11DB11D8093CE019093CF0170
+:10369000A093D001B093D101BF91AF919F918F9131
+:1036A0000F900FBE0F901F9018950E94BD0BF894BD
+:1036B0002FEF87EA91E6215080409040E1F700C06B
+:1036C000000087E090EBDC018093EE019093EF0126
+:1036D000A093F001B093F1019CE088E10FB6F8945B
+:1036E000A895809360000FBE90936000FFCFEF928B
+:1036F000FF920F931F93CF93DF93D82FC0E08C2FAF
+:103700000E948F0500E010E0E82EF12CC701002E8A
+:1037100002C0959587950A94E2F780FD06C00F5F79
+:103720001F4F0630110591F709C0602F7C2F80E0F4
+:103730000E9457068D13F3CF81E004C0CF5FCE30D7
+:10374000F1F680E0DF91CF911F910F91FF90EF9004
+:103750000895CF93C82F8CE20E94771B882321F015
+:103760008C2FCF910C94771B80E0CF910895CF934D
+:103770000E94FE1C811102C00E94E41CC5E6C150DB
+:1037800049F00E9499048FE39CE90197F1F700C08A
+:103790000000F5CF89E20E94A91B811113C18AE2C2
+:1037A0000E94A91B81110E94E41C85E00E94A91BB4
+:1037B00081110E94551B0E94091D8093CD0187E055
+:1037C0000E94A91B8823A9F18BE10E94A91B8823D1
+:1037D00051F08091CD0181FB222720F991E09227C1
+:1037E00090FB81F90EC08EE00E94A91B882361F036
+:1037F0008091CD0182FB222720F991E0922790FB56
+:1038000082F98093CD0115C080E10E94A91B90919F
+:10381000CD01882341F093FB222720F981E0822704
+:1038200080FB93F904C0892F809580FB90F99093D9
+:10383000CD018091CD010E940D1D0E941B1D809322
+:10384000DF0180EE0E94A91B882341F08091DF01F7
+:10385000982F909590FB80F98093DF0189E30E9477
+:10386000A91B882359F08091DF0181FB222720F9D1
+:1038700091E0922790FB81F98093DF0182EE0E9414
+:10388000A91B882359F08091DF0182FB222720F9B0
+:1038900091E0922790FB82F98093DF0186EE0E94EF
+:1038A000A91B882359F08091DF0183FB222720F98F
+:1038B00091E0922790FB83F98093DF0183EE0E94D1
+:1038C000A91B882359F08091DF0184FB222720F96E
+:1038D00091E0922790FB84F98093DF0185E30E94B9
+:1038E000A91B882359F08091DF0185FB222720F94D
+:1038F00091E0922790FB85F98093DF0181E30E949C
+:10390000A91B882359F08091DF0186FB222720F92B
+:1039100091E0922790FB86F98093DF0181E10E947C
+:10392000A91B882359F08091DF0187FB222720F90A
+:1039300091E0922790FB87F98093DF018091DF016E
+:103940000E941F1D8091DF0187FB882780F98093EB
+:103950000D0187E20E94A91BC82F8EE10E94A91BBE
+:103960008111C2608FE10E94A91B8111C46080E2B5
+:103970000E94A91B8111C86081E20E94A91B8111CC
+:10398000C06182E20E94A91B8111C06283E20E9491
+:10399000A91B8111C06484E20E94A91B882311F035
+:1039A000C06802C0CC2329F08C2F0E94161D6C2FFA
+:1039B00003C00E94121D682F70E080E090E0CF915C
+:1039C0000C94EC17CF9108956DEE7EEF80E090E0BF
+:1039D0000E94582360E082E090E00E944A2360E069
+:1039E00083E090E00E944A2360E084E090E00E943F
+:1039F0004A2360E085E090E00C944A2380E090E068
+:103A00000E94442321E08D3E9E4F09F020E0822F4A
+:103A1000089582E090E00C943C23682F82E090E0CF
+:103A20000C944A2383E090E00C943C23682F83E0BD
+:103A300090E00C944A2384E090E00C943C23682F9F
+:103A400084E090E00C944A238091D40180FF0BC065
+:103A50006091130185E0689FB00111247595679509
+:103A6000759567952BC081FF09C06091130185E0B2
+:103A7000689FB00111247595679520C082FF07C02B
+:103A80006091130185E0689FB001112417C09091E7
+:103A9000D5019923D1F060911201961788F72091F2
+:103AA000130185E0289F90011124929FA001939F0C
+:103AB000500D112470E0CA010E940E236038710578
+:103AC00040F46115710519F406C065E070E0862FB9
+:103AD00008958FE7089581E008958091D40180FFD3
+:103AE00008C06091110170E07595679575956795AF
+:103AF00021C081FF06C06091110170E07595679546
+:103B000019C082FF04C06091110170E010C0909153
+:103B1000D501992399F0609110019617A0F7809133
+:103B20001101899FC001112470E00E940E236038AA
+:103B3000710540F46115710519F406C061E070E08B
+:103B4000862F08958FE7089581E00895803F21F43E
+:103B50000E94241D819504C0813F29F40E94241DE8
+:103B60008093D8010895823F21F40E94241D8195FD
+:103B700004C0833F29F40E94241D8093D701089537
+:103B8000893F19F40E946D1D05C08A3F31F40E94DF
+:103B90006D1D81958093D90108958B3F21F40E947A
+:103BA0006D1D819504C08C3F29F40E946D1D80938A
+:103BB000DA010895843F21F48091D601816017C015
+:103BC000853F21F48091D601826011C0863F21F4A7
+:103BD0008091D60184600BC0873F21F48091D6018B
+:103BE000886005C0883F31F48091D6018061809360
+:103BF000D60108958D3F21F48091D40181600BC0DE
+:103C00008E3F21F48091D401826005C08F3F29F45A
+:103C10008091D40184608093D4010895803F39F469
+:103C20008091D80187FF6CC01092D80169C0813F94
+:103C300029F48091D8011816BCF362C09091D70185
+:103C4000823F29F497FF5CC01092D70159C0833F8F
+:103C500019F41916CCF354C0893F41F48091D9016D
+:103C600018160CF04DC01092D9014AC08A3F29F4B1
+:103C70008091D90187FF44C0F6CF8B3F39F4809102
+:103C8000DA0187FF3DC01092DA013AC08C3F29F477
+:103C90008091DA011816BCF333C0843F21F480917F
+:103CA000D6018E7F17C0853F21F48091D6018D7F8C
+:103CB00011C0863F21F48091D6018B7F0BC0873FD6
+:103CC00021F48091D601877F05C0883F31F480912F
+:103CD000D6018F7E8093D60113C08D3F21F4809151
+:103CE000D4018E7F0BC08E3F21F48091D4018D7F53
+:103CF00005C08F3F29F48091D4018B7F8093D4013C
+:103D00008091D70181110EC08091D80181110AC024
+:103D10008091D901811106C08091DA01811102C020
+:103D20001092D501089586ED91E00E94DC0E0E946C
+:103D3000FA1A9093D3018093D20108951F93CF93E1
+:103D4000DF938091D2019091D3010E94061BAC01B8
+:103D50009091D501992321F02091140130E006C003
+:103D6000209115018AE0289F9001112442175307E2
+:103D700008F485C08091D701C091D801D091D901B4
+:103D80001091DA01811107C0C11175C0D11173C042
+:103D9000111171C074C09F3F19F09F5F9093D501BE
+:103DA000181624F40E94241D8093D7018091D70116
+:103DB00087FF05C00E94241D81958093D7011C16A2
+:103DC00024F40E94241D8093D8018091D80187FF9C
+:103DD00005C00E94241D81958093D8016091D70170
+:103DE000662331F1C091D801CC2311F1062E000CCD
+:103DF000770B880B990B0E94152223E333E343E3EF
+:103E00005FE30E9479220E94DD216093D7016C2F2D
+:103E1000CC0F770B880B990B0E94152223E333E319
+:103E200043E35FE30E9479220E94DD216093D80181
+:103E30001D1624F40E946D1D8093D9018091D90133
+:103E400087FF05C00E946D1D81958093D9011116D1
+:103E500024F40E946D1D8093DA018091DA0187FFBE
+:103E600005C00E946D1D81958093DA01DF91CF918D
+:103E70001F910C94931E9F3F09F08FCFA0CFDF912D
+:103E8000CF911F910895E6EDF1E085E0DF011D92ED
+:103E90008A95E9F71092D5011092D40108958330E4
+:103EA00081F128F4813059F08230D1F008958530C5
+:103EB00009F449C0B8F1863009F456C008958091DC
+:103EC0001501262F30E0280F311D2F3F310524F436
+:103ED000680F6093150108958FEF80931501089581
+:103EE00080911401262F30E0280F311D2F3F31051E
+:103EF00024F4680F6093140108958FEF80931401E8
+:103F0000089580911301262F30E0280F311D2F3F97
+:103F1000310524F4680F6093130108958FEF8093A7
+:103F20001301089580911201262F30E0280F311DD2
+:103F30002F3F310524F4680F6093120108958FEF2D
+:103F400080931201089580911101262F30E0280FEF
+:103F5000311D2F3F310524F4680F6093110108953E
+:103F60008FEF80931101089580911001262F30E08A
+:103F7000280F311D2F3F310524F4680F6093100185
+:103F800008958FEF809310010895833011F128F484
+:103F9000813049F0823091F00895853081F120F12F
+:103FA0008630C1F1089580911501681720F4861BB1
+:103FB00080931501089510921501089580911401C0
+:103FC000681720F4861B8093140108951092140141
+:103FD000089580911301681720F4861B80931301C4
+:103FE000089510921301089580911201681720F42A
+:103FF000861B8093120108951092120108958091FA
+:104000001101681720F4861B809311010895109206
+:104010001101089580911001681720F4861B809388
+:10402000100108951092100108950F931F938D3180
+:1040300009F46BC008F03FC08E3009F47DC0C0F4B5
+:10404000873009F46EC068F4863009F0AFC0809103
+:10405000CD01817F8E7F8093CD0181E08093DC0153
+:10406000A6C0883009F458C08B3009F49BC09EC0AC
+:10407000863109F497C078F4803109F470C0813139
+:1040800009F094C00E94351490910D0181E08927B8
+:1040900080930D0187C0893109F484C08B3109F008
+:1040A00085C08091CD0181FB222720F991E09227E4
+:1040B00090FB81F94AC0853309F45BC048F487322C
+:1040C00009F457C008F45AC0893209F452C06EC0CE
+:1040D000833438F48A3308F067C0883309F462C047
+:1040E00065C0833409F445C0883409F05FC00E947C
+:1040F00035140FEF13ED20E3015010402040E1F79D
+:1041000000C000000E94551B4DC00E9497210E94D4
+:10411000C50E0E94BA0746C00E94091D0E941B1DC1
+:1041200041C09091CD01892F817090FF12C0917F85
+:104130009E7F9093CD013BC08091CD0182FB2227D1
+:1041400020F991E0922790FB82F98093CD01992389
+:1041500049F18091CD0181608093CD0123C0809190
+:10416000CD0183FB222720F991E0922790FB83F970
+:10417000ECCF61E070E080E090E010C08D5141E054
+:1041800050E060E070E08A019B0104C0000F111F45
+:10419000221F331F8A95D2F7C901B8010E94EC177C
+:1041A0000E94351481E003C08953E9CF80E01F915C
+:1041B0000F91089580E008950C94DA20CF93C82FD2
+:1041C0008091DC01813079F018F08230E9F187C00C
+:1041D000E0910E01F0910F018081813169F082320E
+:1041E00009F07FC009C0E0910E01F0910F018081BC
+:1041F000813111F0823261F48C2F0E94DC20811118
+:1042000004C08C2F0E9415201DC081E090E01AC0D0
+:104210008C2F0E94DA20811114C0C43179F048F447
+:10422000CB3079F0C03109F060C082E08093DC01CE
+:1042300008C0C93219F0C83321F057C01092DC0110
+:1042400054C081E0817053C0C93289F118F5C4317E
+:1042500071F1A8F4C73009F046C08AE080931501D7
+:1042600094E19093140193E09093130180931201D1
+:1042700088E08093110188E28093100134C0CE5110
+:10428000C63088F5EC2FF0E0E65DFE4F808180932C
+:10429000DB0129C0CE34E9F020F4CB3421F56AE00B
+:1042A00013C0C13579F0C235F1F461E00DC08091E1
+:1042B000DB01882319F01092DB0115C081E08093A7
+:1042C000DC0115C061E006C08091DB010E944F1F38
+:1042D0000AC06AE08091DB010E94C51F04C01092F1
+:1042E000DC0180E004C081E002C080E0ABCFCF9170
+:1042F0000895E1E8F0E080818860808380818160BA
+:1043000080838FB7F89493E09093890090ED909319
+:1043100088008FBF0895EFE6F0E08081826080839F
+:104320000895EFE6F0E080818D7F80830895EFE6C9
+:10433000F0E0908182E08927808308951F920F9298
+:104340000FB60F9211242F933F934F935F936F9368
+:104350007F938F939F93AF93BF93EF93FF9380913E
+:10436000DD019091DE0101969093DE018093DD01E5
+:10437000811103C082E00E94BA07E091DE01E69558
+:10438000E695F0E0E35BFA4FE4918091DD018E1356
+:1043900003C080E00E94BA07FF91EF91BF91AF91F7
+:1043A0009F918F917F916F915F914F913F912F914D
+:1043B0000F900FBE0F901F9018950E94E4216894F3
+:1043C000B1110C94732208950E94582288F09F57CF
+:1043D00098F0B92F9927B751B0F0E1F0660F771F29
+:1043E000881F991F1AF0BA95C9F714C0B13091F01F
+:1043F0000E947222B1E008950C947222672F782FE8
+:104400008827B85F39F0B93FCCF3869577956795E3
+:10441000B395D9F73EF490958095709561957F4F4F
+:104420008F4F9F4F0895E89409C097FB3EF49095F5
+:104430008095709561957F4F8F4F9F4F9923A9F07D
+:10444000F92F96E9BB279395F6958795779567950C
+:10445000B795F111F8CFFAF4BB0F11F460FF1BC050
+:104460006F5F7F4F8F4F9F4F16C0882311F096E9E3
+:1044700011C0772321F09EE8872F762F05C0662391
+:1044800071F096E8862F70E060E02AF09A95660F4A
+:10449000771F881FDAF7880F9695879597F9089503
+:1044A00057FD9058440F551F59F05F3F71F04795E5
+:1044B000880F97FB991F61F09F3F79F087950895CA
+:1044C000121613061406551FF2CF4695F1DF08C0E9
+:1044D000161617061806991FF1CF86957105610506
+:1044E00008940895E894BB2766277727CB0197F9AE
+:1044F00008950E948C220C94FD220E94EF2238F035
+:104500000E94F62220F0952311F00C94E6220C94E0
+:10451000EC2211240C9473220E94502270F3959F78
+:10452000C1F3950F50E0551F629FF001729FBB27AA
+:10453000F00DB11D639FAA27F00DB11DAA1F649F46
+:104540006627B00DA11D661F829F2227B00DA11DF9
+:10455000621F739FB00DA11D621F839FA00D611D7F
+:10456000221F749F3327A00D611D231F849F600DA0
+:10457000211D822F762F6A2F11249F5750409AF0C9
+:10458000F1F088234AF0EE0FFF1FBB1F661F771F55
+:10459000881F91505040A9F79E3F510580F00C9420
+:1045A000E6220C9473225F3FE4F3983ED4F38695A1
+:1045B00077956795B795F795E7959F5FC1F7FE2BC0
+:1045C000880F911D9695879597F9089597F99F679C
+:1045D00080E870E060E008959FEF80EC089500248B
+:1045E0000A941616170618060906089500240A9458
+:1045F00012161306140605060895092E0394000CDE
+:1046000011F4882352F0BB0F40F4BF2B11F460FF6C
+:1046100004C06F5F7F4F8F4F9F4F089597FB072E0A
+:1046200016F4009407D077FD09D00E94282307FCD8
+:1046300005D03EF4909581959F4F089570956195B2
+:104640007F4F0895EE0FFF1F0590F491E02D099420
+:10465000AA1BBB1B51E107C0AA1FBB1FA617B707A8
+:1046600010F0A61BB70B881F991F5A95A9F78095C4
+:104670009095BC01CD010895F999FECF92BD81BD01
+:10468000F89A992780B50895A8E1B0E042E050E09B
+:104690000C945F23262FF999FECF1FBA92BD81BDDE
+:1046A00020BD0FB6F894FA9AF99A0FBE01960895B4
+:1046B0000E944A23272F0C944B23DC01CB01FC01E1
+:1046C000F999FECF06C0F2BDE1BDF89A319600B46B
+:0E46D0000D9241505040B8F70895F894FFCF76
+:1046DE002002BC074C082708F307BF070101BA01E7
+:1046EE0028080A03140A3F4D36390E05C1048B04FF
+:1046FE005204E503FE031704300401020304050609
+:04470E00070809008F
+:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/alexjj/readme.md b/keyboard/ergodox_ez/keymaps/alexjj/readme.md
new file mode 100644
index 0000000000..f6b160a281
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/alexjj/readme.md
@@ -0,0 +1,175 @@
+Englishman in New York
+===========================
+
+:microphone: :tea:
+
+About
+------
+
+After using the massdrop configurator to get the basics, I wanted to add a
+little extra to my ergodox. Notably the Hyper hotkey, the press and hold,
+and a way to have my beloved £ :pound: symbol available<sup>[1](#unicode)</sup>. Why not switch to a GB
+layout? Well the computers I use are US keymap'd and I can't always change
+that. Plus I've got used to 2/@ and 3/# and moving to the ergodox was hard
+enough. :sweat_smile:
+
+I started from the default and edited from there as I needed. It's somewhat
+similar to a regular layout, particularly R1 and shift/controls. I ended up
+with a few keys that were blank, so I'm testing out some shortcuts. Alt+F4 for
+quitting things in Windows, is one example, but I felt it was better placed on
+the 1st layer - in case of fat fingers.
+
+Layout
+-------
+
+![Layout](rl-layout.jpg "Isn't it lovely")
+
+### Base Layer
+
+```
+,--------------------------------------------------. ,--------------------------------------------------.
+| ESC | 1! | 2@ | 3# | 4$ | 5% | 6^ | | 7& | 8* | 9( | 0) | -_ | += | BkSp |
+|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+| Tab | Q | W | E | R | T | { | | } | Y | U | I | O | P | |\ |
+|--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------|
+| Win | A | S | D | F | G |------| |------| H | J | K | L | :; | '" |
+|--------+------+------+------+------+------| Home | | End |------+------+------+------+------+--------|
+| LShift |Z/Alt | X | C | V | B | | | | N | M | , | . | Alt | RShift |
+`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ |LCtrl | COPY | PASTE| Left | Right| | Down | Up |Hyper | `~ | RCtrl |
+ `----------------------------------' `----------------------------------'
+ ,-------------. ,-------------.
+ Hyper = Ctrl+Super+Alt+Shift | ~L3 | F5 | | F2 | ~L2 |
+ ,------|------|------| |------+------+------.
+ | | | PgUp | | Ins | | |
+ | Enter| BkSp |------| |------| ~L1 |Space |
+ | | | PgDn | | Del | | |
+ `--------------------' `--------------------'
+```
+
+### Symbol Layer
+
+```
+,--------------------------------------------------. ,--------------------------------------------------.
+| | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |PrintScr|
+|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+| | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | |
+|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+| | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
+|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+| | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
+`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ | | £ | | | | | | . | 0 | = |Alt+F4|
+ `----------------------------------' `----------------------------------'
+ ↑ ,-------------. ,-------------.
+ THERE! | | | | | |
+ ,------|------|------| |------+------+------.
+ CAD = Ctrl + Alt + Delete | | | | | | | |
+ | | |------| |------| | |
+ | | | | | CAD | | |
+ `--------------------' `--------------------'
+```
+### Media Layer
+
+Not touched this, not used either.
+
+```
+,--------------------------------------------------. ,--------------------------------------------------.
+| TEENSY | | | | | | | | | | | | | | |
+|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+| | | | MsUp | | | | | | | | | | | |
+|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+| | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
+|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+| | | | | | | | | | | | Prev | Next | | |
+`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ | | | | Lclk | Rclk | |VolDn |VolUp | Mute | | |
+ `----------------------------------' `----------------------------------'
+ ,-------------. ,-------------.
+ | | | | | |
+ ,------|------|------| |------+------+------.
+ | | | | | | |Brwser|
+ | | |------| |------| |Back |
+ | | | | | | | |
+ `--------------------' `--------------------'
+```
+### Unicode Layer
+
+Used to enter/test unicode input on Windows. All numbers are numpad keys.
+
+```
+,--------------------------------------------------. ,--------------------------------------------------.
+| Alt | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 0 | + | + | |
+|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+| Alt | | | E | | | | | | | 7 | 8 | 9 | + | |
+|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+| Alt | A | | D | F | |------| |------| | 4 | 5 | 6 | + | |
+|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+| Alt | | | C | | B | | | | | 1 | 2 | 3 | + | |
+`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ | Alt | Alt | Alt | | | | 0 | 0 | 0 | + | |
+ `----------------------------------' `----------------------------------'
+ ,-------------. ,-------------.
+ WINDOWS ONLY SETUP!! | ~L3 | | | | |
+ ,------|------|------| |------+------+------.
+ | | | | | | | |
+ | Alt | Alt |------| |------| Alt | Alt |
+ | | | | | | | |
+ `--------------------' `--------------------'
+```
+
+
+Usage
+------
+
+~L1 / L2 / L3 will momentarily switch to a layer if held and another key is pressed.
+If pressed and released will remain on layer until pressed again.
+
+### Unicode
+
+This layout is for Windows only. To enter a character Press and Hold Alt, type + and hex code then release Alt.
+
+Changelog
+-----------
+
+### [0.2.0] - 2016-03-27
+
+* Added unicode layer
+* Moved Copy/Paste to left hand side
+* Switched Enter and Space (again)
+* Added L3 (unicode layer) toggle
+* Removed Press and Hold for Alt on right hand size (/)
+* Swapped Volume Up/Down to match arrows
+* Tried fixing £ macro
+* Removed * in the matrix function things (upstream change)
+
+### [0.1.1] - 2016-03-23
+
+* Changed £ input to a macro
+
+
+### [0.1.0] - 2016-03-22
+
+After actually using the keyboard, I've made some changes:
+
+* Swapped Enter and Space
+* Moved backspace to thumb keys (top right still remains)
+* Added Ctrl+Alt+Delete
+* Added Teensy Reset on 2nd layer
+* Switched Up and Down
+* Changed copy/paste to be Ctrl+c and Ctrl+v as KC_COPY/PASTE didn't work (in Windows)
+* Moved ~L2 to replace +L1 after learning how the function works (notes above)
+* Hopefully fixed GBP symbol (unicode enabled in MakeFile)
+
+### [0.0.1] - 2016-03-21
+
+First version
+
+
+Issues
+-------
+
+Space for feedback and notes for future improvements
+
+----
+<sup><a name="unicode">1</a></sup>: For Windows only, and you have to edit the [registry](https://en.wikipedia.org/wiki/Unicode_input#Hexadecimal_code_input).
diff --git a/keyboard/ergodox_ez/keymaps/alexjj/rl-layout.jpg b/keyboard/ergodox_ez/keymaps/alexjj/rl-layout.jpg
new file mode 100644
index 0000000000..e4e92bf464
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/alexjj/rl-layout.jpg
Binary files differ