summaryrefslogtreecommitdiff
path: root/keyboard
diff options
context:
space:
mode:
authorStephan Bösebeck <sb@caluga.de>2016-04-04 22:35:48 +0200
committerStephan Bösebeck <sb@caluga.de>2016-04-04 22:35:48 +0200
commit75c24499f3fcb4ad2156875fb529f87a5d99fe9f (patch)
tree788e105860ccb985ebd4936b191dec9335ae107f /keyboard
parentdee6a4338ae5dcdd8154706fca0b050aeded6df2 (diff)
parent0cdf5d292c36ba61030f96461369e057fb35cd43 (diff)
Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware
Diffstat (limited to 'keyboard')
-rw-r--r--keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py37
-rw-r--r--keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c178
-rw-r--r--keyboard/preonic/Makefile4
-rw-r--r--keyboard/preonic/keymaps/default/keymap.c2
-rw-r--r--keyboard/preonic/keymaps/lock/keymap.c2
-rw-r--r--keyboard/preonic/preonic.c16
-rw-r--r--keyboard/preonic/preonic.h4
-rw-r--r--keyboard/preonic/preonic_music.hex1713
8 files changed, 1848 insertions, 108 deletions
diff --git a/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py b/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py
index 3d26672762..7076a6ecb2 100644
--- a/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py
+++ b/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py
@@ -43,6 +43,9 @@ KEYBOARD_LAYOUTS = {
]
}
+ROW_INDENTS = {
+ 'ergodox_ez': [0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 5, 0, 6, 0, 4, 0]
+}
BLANK_LAYOUTS = [
# Compact Layout
@@ -591,16 +594,43 @@ def unicode_macro_cases(config):
)
-def iter_keymap_lines(keymap):
+def iter_keymap_lines(keymap, row_indents=None):
+ col_widths = {}
+ col = 0
+ # first pass, figure out the column widths
+ prev_row_index = None
+ for code, row_index in keymap.values():
+ if row_index != prev_row_index:
+ col = 0
+ if row_indents:
+ col = row_indents[row_index]
+ col_widths[col] = max(len(code), col_widths.get(col, 0))
+ prev_row_index = row_index
+ col += 1
+
+ # second pass, yield the cell values
+ col = 0
prev_row_index = None
for key_index in sorted(keymap):
code, row_index = keymap[key_index]
if row_index != prev_row_index:
+ col = 0
yield "\n"
+ if row_indents:
+ for indent_col in range(row_indents[row_index]):
+ pad = " " * (col_widths[indent_col] - 4)
+ yield (" /*-*/" + pad)
+ col = row_indents[row_index]
+ else:
+ yield pad
yield " {}".format(code)
if key_index < len(keymap) - 1:
yield ","
+ # This will be yielded on the next iteration when
+ # we know that we're not at the end of a line.
+ pad = " " * (col_widths[col] - len(code))
prev_row_index = row_index
+ col += 1
def iter_keymap_parts(config, keymaps):
@@ -628,11 +658,12 @@ def iter_keymap_parts(config, keymaps):
# comment
layer_lines = config['layer_lines'][layer_name]
prefixed_lines = " * " + " * ".join(layer_lines)
- yield "/*\n{}*/\n".format(prefixed_lines)
+ yield "/*\n{} */\n".format(prefixed_lines)
# keymap codes
keymap = keymaps[layer_name]
- keymap_lines = "".join(iter_keymap_lines(keymap))
+ row_indents = ROW_INDENTS.get(config['layout'])
+ keymap_lines = "".join(iter_keymap_lines(keymap, row_indents))
yield "[L{0}] = KEYMAP({1}\n),\n".format(i, keymap_lines)
yield "};\n\n"
diff --git a/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c b/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c
index 92b712bd8a..d8911af412 100644
--- a/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c
+++ b/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c
@@ -127,22 +127,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ! ! !-----! !-----! ! !
* |BSPC |LSFT | ESC | ! PGDN|ENTER|SPACE|
* '-----------------' '-----------------'
-*/
+ */
[L0] = KEYMAP(
- MO(5), DE_1, DE_2, DE_3, DE_4, DE_5, DE_ACUT,
- MO(4), DE_X, DE_P, DE_F, DE_W, DE_G, KC_HOME,
- MO(1), DE_U, DE_I, DE_A, DE_E, DE_O,
- MO(3), DE_UE, DE_OE, DE_AE, DE_C, DE_V, KC_END,
- KC_TRNS, KC_TRNS, KC_LGUI, KC_LALT, KC_LCTL,
- KC_INS, TG(2),
- KC_APP,
- KC_BSPC, KC_LSFT, KC_ESC,
- DE_GRV, DE_6, DE_7, DE_8, DE_9, DE_0, DE_CIRC,
- TG(2), DE_H, DE_J, DE_K, DE_L, DE_Q, DE_Z,
- DE_S, DE_N, DE_R, DE_T, DE_D, DE_SS,
- KC_TAB, DE_B, DE_M, DE_COMM, DE_DOT, KC_UP, DE_Y,
- KC_RCTL, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT,
- M(UM), KC_DELT,
+ MO(5), DE_1, DE_2, DE_3, DE_4, DE_5, DE_ACUT,
+ MO(4), DE_X, DE_P, DE_F, DE_W, DE_G, KC_HOME,
+ MO(1), DE_U, DE_I, DE_A, DE_E, DE_O,
+ MO(3), DE_UE, DE_OE, DE_AE, DE_C, DE_V, KC_END,
+ KC_TRNS, KC_TRNS, KC_LGUI, KC_LALT, KC_LCTL,
+ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_INS, TG(2),
+ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_APP,
+ /*-*/ /*-*/ /*-*/ /*-*/ KC_BSPC, KC_LSFT, KC_ESC,
+ DE_GRV, DE_6, DE_7, DE_8, DE_9, DE_0, DE_CIRC,
+ TG(2), DE_H, DE_J, DE_K, DE_L, DE_Q, DE_Z,
+ /*-*/ DE_S, DE_N, DE_R, DE_T, DE_D, DE_SS,
+ KC_TAB, DE_B, DE_M, DE_COMM, DE_DOT, KC_UP, DE_Y,
+ /*-*/ /*-*/ KC_RCTL, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT,
+ M(UM), KC_DELT,
KC_PGUP,
KC_PGDN, KC_ENTER, KC_SPACE
),
@@ -165,21 +165,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ! ! !-----! !-----! ! !
* | | | | ! | | |
* '-----------------' '-----------------'
-*/
+ */
[L1] = KEYMAP(
- KC_TRNS, DE_EXLM, DE_DQOT, DE_PARA, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, DE_ASTR, DE_PIPE, DE_SLSH, DE_LCBR, DE_RCBR, KC_TRNS,
- KC_TRNS, DE_UNDS, DE_MINS, DE_AMPR, DE_LBRC, DE_RBRC,
- KC_TRNS, KC_TRNS, DE_PLUS, DE_EQL, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, DE_EXLM, DE_DQOT, DE_PARA, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, DE_ASTR, DE_PIPE, DE_SLSH, DE_LCBR, DE_RCBR, KC_TRNS,
+ KC_TRNS, DE_UNDS, DE_MINS, DE_AMPR, DE_LBRC, DE_RBRC,
+ KC_TRNS, KC_TRNS, DE_PLUS, DE_EQL, 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, DE_RING, KC_TRNS,
- KC_TRNS, DE_HASH, DE_LESS, DE_MORE, KC_TRNS, DE_DQOT, KC_TRNS,
- DE_DLR, DE_LPRN, DE_RPRN, DE_TILD, DE_QUOT, DE_QST,
- KC_TRNS, DE_BSLS, DE_PERC, DE_SCLN, DE_COLN, M(UC_UPWARDS_ARROW), KC_TRNS,
- KC_TRNS, KC_TRNS, M(UC_LEFTWARDS_ARROW), M(UC_DOWNWARDS_ARROW), M(UC_RIGHTWARDS_ARROW),
+ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS,
+ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS,
+ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DE_RING, KC_TRNS,
+ KC_TRNS, DE_HASH, DE_LESS, DE_MORE, KC_TRNS, DE_DQOT, KC_TRNS,
+ /*-*/ DE_DLR, DE_LPRN, DE_RPRN, DE_TILD, DE_QUOT, DE_QST,
+ KC_TRNS, DE_BSLS, DE_PERC, DE_SCLN, DE_COLN, M(UC_UPWARDS_ARROW), KC_TRNS,
+ /*-*/ /*-*/ KC_TRNS, KC_TRNS, M(UC_LEFTWARDS_ARROW), M(UC_DOWNWARDS_ARROW), M(UC_RIGHTWARDS_ARROW),
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
@@ -203,21 +203,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ! ! !-----! !-----! ! !
* | | | | ! | | |
* '-----------------' '-----------------'
-*/
+ */
[L2] = KEYMAP(
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11,
+ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PEQL,
- KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PAST, KC_PSLS,
- KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PMNS,
- KC_NLCK, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_PPLS,
- KC_P0, KC_PCMM, KC_PDOT, KC_PENT, KC_PENT,
+ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS,
+ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS,
+ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PEQL,
+ KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PAST, KC_PSLS,
+ /*-*/ KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PMNS,
+ KC_NLCK, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_PPLS,
+ /*-*/ /*-*/ KC_P0, KC_PCMM, KC_PDOT, KC_PENT, KC_PENT,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
@@ -241,24 +241,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ! ! !-----! !-----! ! !
* | | | | ! | | |
* '-----------------' '-----------------'
-*/
+ */
[L3] = KEYMAP(
- KC_TRNS, M(UC_SUPERSCRIPT_ONE), M(UC_SUPERSCRIPT_TWO), M(UC_SUPERSCRIPT_THREE), M(UC_SUPERSCRIPT_FOUR), M(UC_SUPERSCRIPT_FIVE), M(UC_FOR_ALL),
- KC_TRNS, M(UC_MULTIPLICATION_SIGN), M(UC_VULGAR_FRACTION_ONE_HALF), M(UC_DIVISION_SIGN), M(UC_VULGAR_FRACTION_ONE_QUARTER), M(UC_VULGAR_FRACTION_ONE_FIFTH), KC_TRNS,
- KC_TRNS, KC_TRNS, M(UC_PLUS_MINUS_SIGN), DE_AT, DE_EURO, M(UC_EMPTY_SET),
- KC_TRNS, M(UC_VULGAR_FRACTION_ONE_THIRD), M(UC_NOT_EQUAL_TO), M(UC_VULGAR_FRACTION_TWO_THIRDS), M(UC_VULGAR_FRACTION_THREE_QUARTERS), M(UC_ASYMPTOTICALLY_EQUAL_TO), KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, M(UC_SUPERSCRIPT_ONE), M(UC_SUPERSCRIPT_TWO), M(UC_SUPERSCRIPT_THREE), M(UC_SUPERSCRIPT_FOUR), M(UC_SUPERSCRIPT_FIVE), M(UC_FOR_ALL),
+ KC_TRNS, M(UC_MULTIPLICATION_SIGN), M(UC_VULGAR_FRACTION_ONE_HALF), M(UC_DIVISION_SIGN), M(UC_VULGAR_FRACTION_ONE_QUARTER), M(UC_VULGAR_FRACTION_ONE_FIFTH), KC_TRNS,
+ KC_TRNS, KC_TRNS, M(UC_PLUS_MINUS_SIGN), DE_AT, DE_EURO, M(UC_EMPTY_SET),
+ KC_TRNS, M(UC_VULGAR_FRACTION_ONE_THIRD), M(UC_NOT_EQUAL_TO), M(UC_VULGAR_FRACTION_TWO_THIRDS), M(UC_VULGAR_FRACTION_THREE_QUARTERS), M(UC_ASYMPTOTICALLY_EQUAL_TO), 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, M(UC_SUPERSCRIPT_SIX), M(UC_SUPERSCRIPT_SEVEN), M(UC_SUPERSCRIPT_EIGHT), M(UC_SUPERSCRIPT_NINE), M(UC_SUPERSCRIPT_ZERO), KC_TRNS,
+ KC_TRNS, M(UC_VULGAR_FRACTION_ONE_SIXTH), KC_TRNS, M(UC_VULGAR_FRACTION_ONE_EIGHTH), KC_TRNS, KC_TRNS, KC_TRNS,
+ /*-*/ M(UC_INFINITY), M(UC_SUPERSCRIPT_LATIN_SMALL_LETTER_N), M(UC_THERE_EXISTS), M(UC_ELEMENT_OF), KC_TRNS, KC_TRNS,
+ KC_TRNS, DE_EXLM, KC_TRNS, M(UC_THERE_DOES_NOT_EXIST), M(UC_NOT_AN_ELEMENT_OF), 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, M(UC_SUPERSCRIPT_SIX), M(UC_SUPERSCRIPT_SEVEN), M(UC_SUPERSCRIPT_EIGHT), M(UC_SUPERSCRIPT_NINE), M(UC_SUPERSCRIPT_ZERO), KC_TRNS,
- KC_TRNS, M(UC_VULGAR_FRACTION_ONE_SIXTH), KC_TRNS, M(UC_VULGAR_FRACTION_ONE_EIGHTH), KC_TRNS, KC_TRNS, KC_TRNS,
- M(UC_INFINITY), M(UC_SUPERSCRIPT_LATIN_SMALL_LETTER_N), M(UC_THERE_EXISTS), M(UC_ELEMENT_OF), KC_TRNS, KC_TRNS,
- KC_TRNS, DE_EXLM, KC_TRNS, M(UC_THERE_DOES_NOT_EXIST), M(UC_NOT_AN_ELEMENT_OF), 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
),
/*
* .------------------------------------.------------------------------------.
@@ -279,24 +279,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ! ! !-----! !-----! ! !
* | | | | ! | | |
* '-----------------' '-----------------'
-*/
+ */
[L4] = KEYMAP(
- KC_TRNS, M(UC_SUBSCRIPT_ONE), M(UC_SUBSCRIPT_TWO), M(UC_SUBSCRIPT_THREE), M(UC_SUBSCRIPT_FOUR), M(UC_SUBSCRIPT_FIVE), KC_TRNS,
- KC_TRNS, M(UC_GREEK_SMALL_LETTER_CHI), M(UC_GREEK_SMALL_LETTER_PI), M(UC_GREEK_SMALL_LETTER_PHI), M(UC_GREEK_SMALL_LETTER_OMEGA), M(UC_GREEK_SMALL_LETTER_GAMMA), KC_TRNS,
- KC_TRNS, M(UC_GREEK_SMALL_LETTER_UPSILON), M(UC_GREEK_SMALL_LETTER_IOTA), M(UC_GREEK_SMALL_LETTER_ALPHA), M(UC_GREEK_SMALL_LETTER_EPSILON), M(UC_GREEK_SMALL_LETTER_OMICRON),
- KC_TRNS, KC_TRNS, M(UC_GREEK_SMALL_LETTER_THETA), 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, M(UC_SUBSCRIPT_SIX), M(UC_SUBSCRIPT_SEVEN), M(UC_SUBSCRIPT_EIGHT), M(UC_SUBSCRIPT_NINE), M(UC_SUBSCRIPT_ZERO), KC_TRNS,
- KC_TRNS, M(UC_GREEK_SMALL_LETTER_ETA), M(UC_GREEK_SMALL_LETTER_XI), M(UC_GREEK_SMALL_LETTER_KAPPA), M(UC_GREEK_SMALL_LETTER_LAMDA), KC_TRNS, M(UC_GREEK_SMALL_LETTER_ZETA),
- M(UC_GREEK_SMALL_LETTER_SIGMA), M(UC_GREEK_SMALL_LETTER_NU), M(UC_GREEK_SMALL_LETTER_RHO), M(UC_GREEK_SMALL_LETTER_TAU), M(UC_GREEK_SMALL_LETTER_DELTA), M(UC_GREEK_SMALL_LETTER_FINAL_SIGMA),
- KC_TRNS, M(UC_GREEK_SMALL_LETTER_BETA), M(UC_GREEK_SMALL_LETTER_MU), KC_TRNS, KC_TRNS, KC_TRNS, M(UC_GREEK_SMALL_LETTER_PSI),
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, M(UC_SUBSCRIPT_ONE), M(UC_SUBSCRIPT_TWO), M(UC_SUBSCRIPT_THREE), M(UC_SUBSCRIPT_FOUR), M(UC_SUBSCRIPT_FIVE), KC_TRNS,
+ KC_TRNS, M(UC_GREEK_SMALL_LETTER_CHI), M(UC_GREEK_SMALL_LETTER_PI), M(UC_GREEK_SMALL_LETTER_PHI), M(UC_GREEK_SMALL_LETTER_OMEGA), M(UC_GREEK_SMALL_LETTER_GAMMA), KC_TRNS,
+ KC_TRNS, M(UC_GREEK_SMALL_LETTER_UPSILON), M(UC_GREEK_SMALL_LETTER_IOTA), M(UC_GREEK_SMALL_LETTER_ALPHA), M(UC_GREEK_SMALL_LETTER_EPSILON), M(UC_GREEK_SMALL_LETTER_OMICRON),
+ KC_TRNS, KC_TRNS, M(UC_GREEK_SMALL_LETTER_THETA), 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, M(UC_SUBSCRIPT_SIX), M(UC_SUBSCRIPT_SEVEN), M(UC_SUBSCRIPT_EIGHT), M(UC_SUBSCRIPT_NINE), M(UC_SUBSCRIPT_ZERO), KC_TRNS,
+ KC_TRNS, M(UC_GREEK_SMALL_LETTER_ETA), M(UC_GREEK_SMALL_LETTER_XI), M(UC_GREEK_SMALL_LETTER_KAPPA), M(UC_GREEK_SMALL_LETTER_LAMDA), KC_TRNS, M(UC_GREEK_SMALL_LETTER_ZETA),
+ /*-*/ M(UC_GREEK_SMALL_LETTER_SIGMA), M(UC_GREEK_SMALL_LETTER_NU), M(UC_GREEK_SMALL_LETTER_RHO), M(UC_GREEK_SMALL_LETTER_TAU), M(UC_GREEK_SMALL_LETTER_DELTA), M(UC_GREEK_SMALL_LETTER_FINAL_SIGMA),
+ KC_TRNS, M(UC_GREEK_SMALL_LETTER_BETA), M(UC_GREEK_SMALL_LETTER_MU), KC_TRNS, KC_TRNS, KC_TRNS, M(UC_GREEK_SMALL_LETTER_PSI),
+ /*-*/ /*-*/ 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
),
/*
* .------------------------------------.------------------------------------.
@@ -317,24 +317,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ! ! !-----! !-----! ! !
* | | | | ! | | |
* '-----------------' '-----------------'
-*/
+ */
[L5] = KEYMAP(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_CHI), M(UC_GREEK_CAPITAL_LETTER_PI), M(UC_GREEK_CAPITAL_LETTER_PHI), M(UC_GREEK_CAPITAL_LETTER_OMEGA), M(UC_GREEK_CAPITAL_LETTER_GAMMA), KC_TRNS,
- KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_UPSILON), M(UC_GREEK_CAPITAL_LETTER_IOTA), M(UC_GREEK_CAPITAL_LETTER_ALPHA), M(UC_GREEK_CAPITAL_LETTER_EPSILON), M(UC_GREEK_CAPITAL_LETTER_OMICRON),
- KC_TRNS, KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_THETA), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_ETA), M(UC_GREEK_CAPITAL_LETTER_XI), M(UC_GREEK_CAPITAL_LETTER_KAPPA), M(UC_GREEK_CAPITAL_LETTER_LAMDA), KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_ZETA),
- M(UC_GREEK_CAPITAL_LETTER_SIGMA), M(UC_GREEK_CAPITAL_LETTER_NU), M(UC_GREEK_CAPITAL_LETTER_RHO), M(UC_GREEK_CAPITAL_LETTER_TAU), M(UC_GREEK_CAPITAL_LETTER_DELTA), KC_TRNS,
- KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_BETA), M(UC_GREEK_CAPITAL_LETTER_MU), KC_TRNS, KC_TRNS, KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_PSI),
- 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, M(UC_GREEK_CAPITAL_LETTER_CHI), M(UC_GREEK_CAPITAL_LETTER_PI), M(UC_GREEK_CAPITAL_LETTER_PHI), M(UC_GREEK_CAPITAL_LETTER_OMEGA), M(UC_GREEK_CAPITAL_LETTER_GAMMA), KC_TRNS,
+ KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_UPSILON), M(UC_GREEK_CAPITAL_LETTER_IOTA), M(UC_GREEK_CAPITAL_LETTER_ALPHA), M(UC_GREEK_CAPITAL_LETTER_EPSILON), M(UC_GREEK_CAPITAL_LETTER_OMICRON),
+ KC_TRNS, KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_THETA), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS,
+ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS,
+ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_ETA), M(UC_GREEK_CAPITAL_LETTER_XI), M(UC_GREEK_CAPITAL_LETTER_KAPPA), M(UC_GREEK_CAPITAL_LETTER_LAMDA), KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_ZETA),
+ /*-*/ M(UC_GREEK_CAPITAL_LETTER_SIGMA), M(UC_GREEK_CAPITAL_LETTER_NU), M(UC_GREEK_CAPITAL_LETTER_RHO), M(UC_GREEK_CAPITAL_LETTER_TAU), M(UC_GREEK_CAPITAL_LETTER_DELTA), KC_TRNS,
+ KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_BETA), M(UC_GREEK_CAPITAL_LETTER_MU), KC_TRNS, KC_TRNS, KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_PSI),
+ /*-*/ /*-*/ 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
),
/*
* .------------------------------------.------------------------------------.
@@ -355,21 +355,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ! ! !-----! !-----! ! !
* | | | | ! | | |
* '-----------------' '-----------------'
-*/
+ */
[L6] = KEYMAP(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
+ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS,
+ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS,
+ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboard/preonic/Makefile b/keyboard/preonic/Makefile
index 89c48e50a9..664aff7321 100644
--- a/keyboard/preonic/Makefile
+++ b/keyboard/preonic/Makefile
@@ -139,8 +139,8 @@ COMMAND_ENABLE = yes # Commands for debug and configuration
# SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
# NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-# MIDI_ENABLE = YES # MIDI controls
-# AUDIO_ENABLE = YES # Audio output on port C6
+MIDI_ENABLE = YES # MIDI controls
+AUDIO_ENABLE = YES # Audio output on port C6
# UNICODE_ENABLE = YES # Unicode
# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
# RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with MIDI at the same time.
diff --git a/keyboard/preonic/keymaps/default/keymap.c b/keyboard/preonic/keymaps/default/keymap.c
index 392197f1d8..5099b65817 100644
--- a/keyboard/preonic/keymaps/default/keymap.c
+++ b/keyboard/preonic/keymaps/default/keymap.c
@@ -88,7 +88,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
return MACRO_NONE;
};
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
#ifdef AUDIO_ENABLE
init_notes();
play_notes(&start_up, 9, false);
diff --git a/keyboard/preonic/keymaps/lock/keymap.c b/keyboard/preonic/keymaps/lock/keymap.c
index e253f25819..cfb7f08035 100644
--- a/keyboard/preonic/keymaps/lock/keymap.c
+++ b/keyboard/preonic/keymaps/lock/keymap.c
@@ -99,7 +99,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
return MACRO_NONE;
};
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
init_notes();
play_notes(&start_up, 9, false);
}
diff --git a/keyboard/preonic/preonic.c b/keyboard/preonic/preonic.c
index a678f7b09f..e9ececb6d8 100644
--- a/keyboard/preonic/preonic.c
+++ b/keyboard/preonic/preonic.c
@@ -1,16 +1,16 @@
#include "preonic.h"
__attribute__ ((weak))
-void * matrix_init_user(void) {
+void matrix_init_user(void) {
};
__attribute__ ((weak))
-void * matrix_scan_user(void) {
+void matrix_scan_user(void) {
};
-void * matrix_init_kb(void) {
+void matrix_init_kb(void) {
#ifdef BACKLIGHT_ENABLE
backlight_init_ports();
#endif
@@ -24,13 +24,9 @@ void * matrix_init_kb(void) {
DDRE |= (1<<6);
PORTE |= (1<<6);
- if (matrix_init_user) {
- (*matrix_init_user)();
- }
+ matrix_init_user();
};
-void * matrix_scan_kb(void) {
- if (matrix_scan_user) {
- (*matrix_scan_user)();
- }
+void matrix_scan_kb(void) {
+ matrix_scan_user();
};
diff --git a/keyboard/preonic/preonic.h b/keyboard/preonic/preonic.h
index 42d2123290..6cfe14726a 100644
--- a/keyboard/preonic/preonic.h
+++ b/keyboard/preonic/preonic.h
@@ -44,7 +44,7 @@
{ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b } \
}
-void * matrix_init_user(void);
-void * matrix_scan_user(void);
+void matrix_init_user(void);
+void matrix_scan_user(void);
#endif
diff --git a/keyboard/preonic/preonic_music.hex b/keyboard/preonic/preonic_music.hex
new file mode 100644
index 0000000000..603693bffb
--- /dev/null
+++ b/keyboard/preonic/preonic_music.hex
@@ -0,0 +1,1713 @@
+:100000000C9410030C9454030C9454030C94540358
+:100010000C9454030C9454030C9454030C94540304
+:100020000C9454030C9454030C9410170C94E21782
+:100030000C94BD290C9454030C9454030C94540355
+:100040000C9454030C9454030C9454030C945403D4
+:100050000C9454030C942A2A0C9454030C945403C7
+:100060000C9454030C9454030C9454030C945403B4
+:100070000C9454030C9454030C9454030C945403A4
+:100080000C94440E0C9454030C9454030C94540399
+:100090000C9454030C9454030C9454030C94540384
+:1000A0000C9454030C9454030C9454030763423689
+:1000B000B79BD8A71A39685618AEBAAB558C1D3CF9
+:1000C000B7CC5763BD6DEDFD753EF6177231BF00BD
+:1000D0000000803F08000000BE922449123EABAAF7
+:1000E000AA2ABECDCCCC4C3E00000080BEABAAAA52
+:1000F000AA3E00000000BF000000803F000000009A
+:1001000000084178D3BB4387D1133D190E3CC3BDD2
+:100110004282AD2B3E68EC8276BED98FE1A93E4C7F
+:1001200080EFFFBE01C4FF7F3F00000000003500EC
+:100130001E001F00200021002200230024002500B3
+:10014000260027002A002B0014001A0008001500C2
+:1001500017001C0018000C00120013002A002900D0
+:1001600004001600070009000A000B000D000E0035
+:100170000F0033003400E1001D001B0006001900D1
+:10018000050011001000360037003800280000304C
+:10019000E000E200E30003522C002C000452500067
+:1001A000510052004F0035001E001F0020002100AA
+:1001B0002200230024002500260027002A002B000F
+:1001C00014001A00090013000A000D000F001800A7
+:1001D0001C0033002A002900040015001600170037
+:1001E00007000B00110008000C0012003400E100B1
+:1001F0001D001B000600190005000E00100036004F
+:100200003700380028000030E000E200E30003522D
+:100210002C002C0004525000510052004F003500B9
+:100220001E001F00200021002200230024002500C2
+:10023000260027002A002B00340036003700130068
+:100240001C0009000A00060015000F002A00290002
+:1002500004001200080018000C0007000B00170033
+:10026000110016003800E100330014000D000E00EC
+:100270001B00050010001A0019001D0028000030A6
+:10028000E000E200E30003522C002C000452500076
+:10029000510052004F0035001E001F0020002100B9
+:1002A0002200230024002500260027002A00350212
+:1002B0001E021F0220022102220223022402250222
+:1002C000260227022A0001003A003B003C003D00C4
+:1002D0003E003F002D022E022F02300231020100AB
+:1002E00040004100420043004400450000530153D8
+:1002F0000253005001000100010001000100010053
+:10030000010001000100AB00AA00A900AE00350009
+:100310001E001F00200021002200230024002500D1
+:10032000260027002A0035001E001F0020002100A3
+:100330002200230024002500260027002A000100B7
+:100340003A003B003C003D003E003F002D002E00E7
+:100350002F00300031000100400041004200430006
+:1003600044004500005301530253005001000100B6
+:100370000100010001000100010001000100AB00CB
+:10038000AA00A900AE00006000600060006000608C
+:10039000006000600060006000600060006000605D
+:1003A000006000600060006000600060006000604D
+:1003B000006000600060006000600060006000603D
+:1003C000006000600060006000600060006000602D
+:1003D000006000600060006000600060006000601D
+:1003E00000600060006000300100010001000100B9
+:1003F00001000100010000600060006000602A034D
+:1004000054006800650020005000720065006F0015
+:100410006E006900630020004B00650079006200F7
+:100420006F0061007200640000002C034F00720036
+:10043000740068006F006C0069006E006500610068
+:10044000720020004B006500790062006F006100BF
+:100450007200640073000000040309040902D00064
+:10046000060100A0FA0904000001030101000921AE
+:1004700011010001223F000705810308000A090459
+:1004800001000103010200092111010001224D00B8
+:100490000705820308000A090402000103000000A6
+:1004A0000921110100012236000705830308000A13
+:1004B00009040300020300000009211101000122C8
+:1004C0002000070584032000010705040320000124
+:1004D00009040400000101000009240100010900D1
+:1004E00001050904050002010300000724010001C1
+:1004F0004100062402010100062402020200092430
+:1005000003010301020100092403020401010100A7
+:100510000905060240000500000525010101090545
+:1005200085024000050000052501010312011001AC
+:1005300000000008EDFE61600100010200010631CB
+:10054000FF0974A1010975150025FF952075088123
+:10055000020976150025FF952075089102C0050156
+:100560000980A101850216010026B7001A01002AA0
+:10057000B700751095018100C0050C0901A1018526
+:1005800003160100269C021A01002A9C0275109590
+:10059000018100C005010902A1010901A1000509AD
+:1005A000190129051500250195057501810295019F
+:1005B000750381010501093009311581257F9502F7
+:1005C0007508810609381581257F95017508810612
+:1005D000050C0A38021581257F950175088106C032
+:1005E000C005010906A101050719E029E715002545
+:1005F00001950875018102950175088101050819A9
+:100600000129059505750191029501750391010573
+:1006100007190029FF150025FF950675088100C000
+:1006200011241FBECFEFDAE0DEBFCDBF04B603FE5C
+:1006300024C08091050490910604A0910704B09114
+:1006400008048730904BA740B04BB9F410920504D2
+:1006500010920604109207041092080414BE84B786
+:10066000877F84BF88E10FB6F89480936000109272
+:1006700060000FBEE0E0F8E3099512E0A0E0B1E011
+:10068000E6ECF9E602C005900D92A832B107D9F761
+:1006900014E0A8E2B2E001C01D92A530B107E1F775
+:1006A0000E94C8130C94E1340C94000061111DC029
+:1006B000FC018281882351F085EE0E94901E0E94E9
+:1006C000BC3080E290E0A0E0B0E007C085EE0E9480
+:1006D000581F81E090E0A0E0B0E08093E1029093A9
+:1006E000E202A093E302B093E40280E090E0089578
+:1006F0000E94370E40E050E069E070E080E091E059
+:100700000C94880F08950E948B036E9A769A0C942D
+:1007100078030C948203279A2F988FEF9FEF909382
+:100720008700809386008AE08093800089E180932F
+:1007300081000C94653081110BC080918000877F0F
+:100740008093800010928D0010928C002F98089555
+:100750002F98833041F480918000886080938000DE
+:100760008FEF9FEF12C0909180009860909380006F
+:1007700023E030E0281B3109220F331F8FEF9FEF5A
+:1007800002C0969587952A95E2F790938D00809305
+:100790008C0008958B3B910568F4883A910530F5FB
+:1007A000853A9105C0F48430910598F4019709F0D9
+:1007B0006FC071C0803E910508F46AC0883E910503
+:1007C00040F09C01205F31092031310508F060C004
+:1007D0005CC09C01A1C0853A910509F45FC0863ACE
+:1007E000910509F45EC023E830E496C0883A91058B
+:1007F00009F45AC0893A910509F459C08A3A910519
+:1008000009F458C08B3A910509F457C08C3A910508
+:1008100009F456C08D3A910509F455C0803B910505
+:1008200009F454C08E3A910509F453C08F3A9105EA
+:1008300009F452C0813B910509F451C0823B9105F6
+:1008400009F450C0833B910509F44FC0843B9105E6
+:1008500009F44EC0853B910509F44DC0863B9105D6
+:1008600009F44CC0873B910509F44BC0883B9105C6
+:1008700009F44AC0893B910509F449C08A3B9105B6
+:1008800009F048C02AE236E447C09C01306544C004
+:1008900020E030E041C021E030E03EC021E830E41B
+:1008A0003BC022E830E438C022EE34E435C029EE03
+:1008B00034E432C02AEE34E42FC025EB34E42CC0FB
+:1008C00026EB34E429C027EB34E426C02CEC34E4D6
+:1008D00023C02DEC34E420C023E835E41DC02AE811
+:1008E00035E41AC022E935E417C024E935E414C020
+:1008F00021E236E411C023E236E40EC024E236E4FD
+:100900000BC025E236E408C026E236E405C027E243
+:1009100036E402C020E034E4C90108959CE0799FE8
+:10092000F00111249CE3899FE00DF11D1124E60FD5
+:10093000F11DEE0FFF1FE25DFE4F25913491C901BD
+:100940000895880F991F82559040FC01259134919C
+:10095000C9010895880F991F825D9E4FFC01259162
+:100960003491C90108950E948E049C019A958115C5
+:100970009F4110F4C9010895C90190528115904119
+:1009800028F4C9019F700E94AA040895C9019053D8
+:100990008115904120F4C9019927906C0895C901EF
+:1009A0009054409728F4C9018F709927946D089549
+:1009B000203180E4380719F480E091ED0895213169
+:1009C00090E4390719F480E090ED0895223140E475
+:1009D000340719F480E092ED0895233180E438075C
+:1009E00019F480E093ED0895211590E53907A1F4FD
+:1009F0000E948B2340E065E088E491E00E94880F2C
+:100A00002FEF44E38CE0215040408040E1F700C0EC
+:100A100000000E944F2A1EC1213090E5390731F4B1
+:100A20008091F10281608093F10214C1C901905557
+:100A30008115904108F062C0432F55274F7055270C
+:100A400041305105F9F4C90174E0880F991F7A9576
+:100A5000E1F788279370B901E3E0660F771FEA9505
+:100A6000E1F760767727862B972B9C6823703327D6
+:100A700002C0440F551F2A95E2F74F715527842B6A
+:100A8000952B08954230510529F4922F8827816FC4
+:100A9000906A089543305105B9F4C90153E0880FB5
+:100AA000991F5A95E1F7807E97702370332741E0B4
+:100AB00050E002C0440F551F2A95E2F74F715527A9
+:100AC000842B952B9C6808954430510589F5C90104
+:100AD00043E0880F991F4A95E1F7807E9770237055
+:100AE000332741E050E002C0440F551F2A95E2F73A
+:100AF0004F715527842B952B9A680895C9019056FC
+:100B00008115904118F4C901906F0895C90190575B
+:100B10008115904120F4C9019F7090620895C90128
+:100B200090588115904120F4C9019F70906A0895F2
+:100B3000203E3105E0F4203C310568F521333105D4
+:100B400009F475C048F42932310509F46BC02A3222
+:100B5000310509F07BC075C02933310501F1223818
+:100B60003105E9F02533310509F070C051C0233E4D
+:100B70003105B1F140F4203E3105D1F0223E31057E
+:100B800009F064C01CC0263E310579F1273E3105CD
+:100B900009F05CC038C0C9010E94A1040895809189
+:100BA000020380FD02C081FF51C080EE90E04FC083
+:100BB0008091020380FFF9CF89E390E048C08091E3
+:100BC000020382FF0AC08091020384FF03C080E019
+:100BD00090E03DC083EE90E03AC082EE90E037C0F6
+:100BE0008091020382FFEFCFF8CF8091020383FF51
+:100BF00007C08091020384FDEACF87EE90E027C012
+:100C000086EE90E024C08091020383FFF2CFF8CFFC
+:100C10008091020385FF03C089E290E018C085E35C
+:100C200090E015C08091020385FDF9CFF5CF80914A
+:100C3000020386FF03C08AE290E009C081E390E0EE
+:100C400006C08091020386FDF9CFF5CFC9010E944D
+:100C5000CA030895089508950C942B065F926F922D
+:100C60007F928F929F92AF92BF92CF92DF92EF923C
+:100C7000FF920F931F93CF93DF93CDB7DEB72A97E1
+:100C80000FB6F894DEBF0FBECDBF9E012F5F3F4F62
+:100C90004E018BE0880E911C60E070E000E010E0F7
+:100CA000E12CF12CC12CD12CA12CB12C8AE0782E76
+:100CB000622E532E41E050E0E3E9F1E0A62DB52D80
+:100CC000872D01900D928A95E1F7F901819191911B
+:100CD0009F01FC01E07FFF27E032F10559F48F709E
+:100CE0009927FA0102C0EE0FFF1F8A95E2F7AE2A9C
+:100CF000BF2A37C0E033F10559F48F709927FA0104
+:100D000002C0EE0FFF1F8A95E2F7CE2ADF2A29C024
+:100D1000E034F10559F48F709927FA0102C0EE0F03
+:100D2000FF1F8A95E2F7EE2AFF2A1BC0E035F10586
+:100D300059F48F709927FA0102C0EE0FFF1F8A95B0
+:100D4000E2F70E2B1F2B0DC0E036F10551F48F702A
+:100D50009927FA0102C0EE0FFF1F8A95E2F76E2B6A
+:100D60007F2B2815390509F0A7CF94B18A2D8095DE
+:100D7000892384B985B18A2985B997B18C2D80954D
+:100D8000892387B988B18C2988B99AB18E2D80952D
+:100D900089238AB98BB18E298BB99DB1802F80951B
+:100DA00089238DB98EB1802B8EB990B3862F809513
+:100DB000892380BB81B3862B81BB2A960FB6F8941A
+:100DC000DEBF0FBECDBFDF91CF911F910F91FF907E
+:100DD000EF90DF90CF90BF90AF909F908F907F90DB
+:100DE0006F905F9008955F926F927F928F929F9223
+:100DF000AF92BF92CF92DF92EF92FF920F931F9329
+:100E0000CF93DF93CDB7DEB768970FB6F894DEBF08
+:100E10000FBECDBF85B7806885BF85B7806885BFA9
+:100E20000E942E069E012F5F3F4F4E0189E1880EE2
+:100E3000911C60E070E000E010E0E12CF12CC12C8E
+:100E4000D12CA12CB12C98E1792E622E532E41E0A9
+:100E500050E0EDE9F1E0A62DB52D872D01900D9222
+:100E60008A95E1F7F901819191919F01FC01E07F61
+:100E7000FF27E032F10559F48F709927FA0102C07B
+:100E8000EE0FFF1F8A95E2F7AE2ABF2A37C0E03384
+:100E9000F10559F48F709927FA0102C0EE0FFF1F78
+:100EA0008A95E2F7CE2ADF2A29C0E034F10559F409
+:100EB0008F709927FA0102C0EE0FFF1F8A95E2F7A3
+:100EC000EE2AFF2A1BC0E035F10559F48F709927EF
+:100ED000FA0102C0EE0FFF1F8A95E2F70E2B1F2BBF
+:100EE0000DC0E036F10551F48F709927FA0102C068
+:100EF000EE0FFF1F8A95E2F76E2B7F2B2815390521
+:100F000009F0A7CF94B18A2D8095892384B985B142
+:100F10008A2985B997B18C2D8095892387B988B1A5
+:100F20008C2988B99AB18E2D809589238AB98BB185
+:100F30008E298BB99DB1802F809589238DB98EB173
+:100F4000802B8EB990B3862F8095892380BB81B387
+:100F5000862B81BB10922902109228021092330234
+:100F60001092320210922B0210922A021092350235
+:100F70001092340210922D0210922C02109237021D
+:100F80001092360210922F0210922E021092390205
+:100F900010923802109231021092300210923B02ED
+:100FA00010923A0268960FB6F894DEBF0FBECDBF1E
+:100FB000DF91CF911F910F91FF90EF90DF90CF9035
+:100FC000BF90AF909F908F907F906F905F900C94A8
+:100FD00083035F926F927F928F929F92AF92BF92A4
+:100FE000CF92DF92EF92FF920F931F93CF93DF93F5
+:100FF000CDB7DEB7A2970FB6F894DEBF0FBECDBF58
+:101000007E0149E1E40EF11C22E3C22E22E0D22E41
+:101010005E0153E2A50EB11C3AE0532E470101E0F8
+:1010200010E048E1642E55E0752EE3E9F1E0D401CB
+:10103000852D01900D928A95E1F7F70181919191AB
+:101040007F019C01207F33272032310589F424B1B0
+:101050008F709927A80102C0440F551F8A95E2F7A7
+:10106000CA01242B24B995B18095892385B94FC035
+:101070002033310589F427B18F709927F80102C018
+:10108000EE0FFF1F8A95E2F7CF012E2B27B998B1FB
+:101090008095892388B93BC02034310589F42AB171
+:1010A0008F709927A80102C0440F551F8A95E2F757
+:1010B000CA01242B2AB99BB1809589238BB927C0FB
+:1010C0002035310589F42DB18F709927F80102C0C0
+:1010D000EE0FFF1F8A95E2F7CF012E2B2DB99EB19F
+:1010E000809589238EB913C02036310581F420B351
+:1010F0008F709927A80102C0440F551F8A95E2F707
+:10110000CA01242B20BB91B38095892381BB50EA6F
+:101110005A95F1F7BE016F5F7F4F80E090E020E0CD
+:1011200030E0EDE9F1E0DE011196462D01900D92DF
+:101130004A95E1F7FB0141915191BF01FA01E07F2E
+:10114000FF27E032F10511F4E3B113C0E033F105FC
+:1011500011F4E6B10EC0E034F10511F4E9B109C0B3
+:10116000E035F10511F4ECB104C0E036F105B9F455
+:10117000EFB1F0E04F70552702C0F595E7954A951D
+:10118000E2F7E0FD08C0A801022E02C0440F551F7F
+:101190000A94E2F702C040E050E0842B952B2F5FC9
+:1011A0003F4F2C30310509F0BCCFF6012081318151
+:1011B0002817390721F091838083709270010E9473
+:1011C0002E06F2E0CF0ED11CEA14FB0409F02DCF5D
+:1011D000809170018823A1F1815080937001882350
+:1011E00039F08FE99FE00197F1F700C0000028C0B7
+:1011F00080913202909133029093290280932802C9
+:10120000809134029091350290932B0280932A02B0
+:10121000809136029091370290932D0280932C0298
+:10122000809138029091390290932F0280932E0280
+:1012300080913A0290913B02909331028093300268
+:101240000E94890381E0A2960FB6F894DEBF0FBE1C
+:10125000CDBFDF91CF911F910F91FF90EF90DF9065
+:10126000CF90BF90AF909F908F907F906F905F9046
+:101270000895E82FF0E0EE0FFF1FE85DFD4F80813D
+:10128000918108950895CF92DF92EF92FF920F938C
+:101290001F93CF93DF93CDB7DEB7CC5BD2400FB6B1
+:1012A000F894DEBF0FBECDBF8C01862F642F88233C
+:1012B00079F0F80192812FE7482F992329F084E0F3
+:1012C00093E00E94EC1904C084E093E00E94FC19B2
+:1012D000F80180818B3091F59181943009F0A8C29A
+:1012E0009281809173019923B1F08F5F8093730194
+:1012F00096E4E5EBF1E0DE01A958BD4F01900D92B7
+:101300009A95E1F7E0917101F0917201EE0FFF1FE4
+:1013100027E732E036C096E4E5EBF1E0DE01AF5CB2
+:10132000BD4F01900D929A95E1F7E0917101F09116
+:101330007201EE0FFF1F21E332E093C08A3009F003
+:10134000CBC0F8019181943009F072C292818091F2
+:101350007301992309F473C081508093730196E45B
+:10136000E5EBF1E0DE01A551BE4F01900D929A959B
+:10137000E1F7E0917101F0917201EE0FFF1F2BEE8A
+:1013800031E02C0F3D1FE20FF31F60817181680F68
+:10139000711D882777FD8095982F0E94003220E0EC
+:1013A00030E040E451E40E94653120E030E040E864
+:1013B00050E40E94FD309B01AC0160E070E080E0F1
+:1013C00090E40E94173321E230ED42E053E40E94A2
+:1013D000B4324CE050E00E94E30F20E04BE760E0C5
+:1013E00084E093E00E94DC1920E04BE761E084E0B8
+:1013F00093E00E94DC1920E04BE762E084E093E098
+:101400000E94DC1920E04BE763E084E093E00E9457
+:10141000DC1920E04BE764E084E093E0C454DD4F46
+:101420000FB6F894DEBF0FBECDBFDF91CF911F91F5
+:101430000F91FF90EF90DF90CF900C94DC1996E421
+:10144000E5EBF1E0DE01AB55BE4F01900D929A95B0
+:10145000E1F7E0917101F0917201EE0FFF1F25EAB3
+:1014600031E02C0F3D1FE20FF31F60817181680F87
+:10147000711D882777FD8095982F0E94003220E00B
+:1014800030E040E451E40E94653120E030E040E883
+:1014900050E40E94FD309B01AC0160E070E080E010
+:1014A00090E40E94173321E230ED42E053E40E94C1
+:1014B000B4320E94130DC454DD4F0FB6F894DEBF52
+:1014C0000FBECDBFDF91CF911F910F91FF90EF9095
+:1014D000DF90CF900C94E60C893009F0D3C0F8016E
+:1014E0009181943009F0A4C19281992309F4A0C19B
+:1014F0008091710190917201019690937201809395
+:10150000710120E04BE760E084E093E00E94DC1989
+:1015100020E04BE761E084E093E00E94DC1920E0EA
+:101520004BE762E084E093E00E94DC1920E04BE7A7
+:1015300063E084E093E00E94DC1920E04BE764E084
+:1015400084E093E00E94DC190E94E60C00E010E0C9
+:10155000E6E4FE2E80917301E5EBF1E0DE01A15A95
+:10156000BE4F9F2D01900D929A95E1F7E091710188
+:10157000F0917201E00FF11FEE0FFF1F2FE531E038
+:101580002C0F3D1FE20FF31F60817181680F711DE9
+:10159000882777FD8095982F0E94003220E030E068
+:1015A00040E451E40E94653120E030E040E850E43E
+:1015B0000E94FD309B01AC0160E070E080E090E4AF
+:1015C0000E94173321E230ED42E053E40E94B4322E
+:1015D0004CE050E00E94E30F3FEF87EE93E0315084
+:1015E00080409040E1F700C0000080917301E5EB7E
+:1015F000F1E0DE01A75EBE4F9F2D01900D929A95FE
+:10160000E1F7E0917101F0917201E00FF11FEE0F2F
+:10161000FF1F29E131E02C0F3D1FE20FF31F608116
+:101620007181680F711D882777FD8095982F0E9422
+:10163000003220E030E040E451E40E94653120E0D7
+:1016400030E040E850E40E94FD309B01AC0160E0D6
+:1016500070E080E090E40E94173321E230ED42E038
+:1016600053E40E94B4320E94130D8FEF9CE7019760
+:10167000F1F700C000000F5F1F4F0830110509F09F
+:1016800069CF94C1883009F0D3C0F80191819430BA
+:1016900009F0CEC09281992309F4CAC080917101EA
+:1016A000909172010197909372018093710120E0F3
+:1016B0004BE760E084E093E00E94DC1920E04BE718
+:1016C00061E084E093E00E94DC1920E04BE762E0F7
+:1016D00084E093E00E94DC1920E04BE763E084E0C3
+:1016E00093E00E94DC1920E04BE764E084E093E0A3
+:1016F0000E94DC190E94E60C00E010E056E4F52E92
+:1017000080917301E5EBF1E0DE01AD52BF4F9F2DFB
+:1017100001900D929A95E1F7E0917101F0917201BB
+:10172000E00FF11FEE0FFF1F23ED30E02C0F3D1FE8
+:10173000E20FF31F60817181680F711D882777FDAB
+:101740008095982F0E94003220E030E040E451E480
+:101750000E94653120E030E040E850E40E94FD3016
+:101760009B01AC0160E070E080E090E40E941733E0
+:1017700021E230ED42E053E40E94B4324CE050E00C
+:101780000E94E30F3FEF87EE93E03150804090409E
+:10179000E1F700C0000080917301E5EBF1E0DE01AC
+:1017A000A357BF4F9F2D01900D929A95E1F7E091BD
+:1017B0007101F0917201E00FF11FEE0FFF1F2DE894
+:1017C00030E02C0F3D1FE20FF31F60817181680F25
+:1017D000711D882777FD8095982F0E94003220E0A8
+:1017E00030E040E451E40E94653120E030E040E820
+:1017F00050E40E94FD309B01AC0160E070E080E0AD
+:1018000090E40E94173321E230ED42E053E40E945D
+:10181000B4320E94130D8FEF9CE70197F1F700C0DF
+:1018200000000F5F1F4F0830110509F069CFBEC0DF
+:10183000F801228190917301222309F45DC026E40E
+:10184000E5EBF1E0DE01A95BBF4F01900D922A9517
+:10185000E1F7E0917101F0917201E80FF11DEE0FD7
+:10186000FF1F27E430E02C0F3D1FE20FF31F6081C4
+:101870007181690F711D882777FD8095982F0E94CF
+:10188000003220E030E040E451E40E9465316B0119
+:101890007C01F801818165E070E0681B710988278F
+:1018A00077FD8095982F0E9400329B01AC01C70103
+:1018B000B6010E94FD309B01AC0160E070E080E069
+:1018C00090E40E94173321E230ED42E053E40E949D
+:1018D000B4324FE050E0C454DD4F0FB6F894DEBF91
+:1018E0000FBECDBFDF91CF911F910F91FF90EF9071
+:1018F000DF90CF900C94E30F26E4E5EBF1E0DE01FE
+:10190000119601900D922A95E1F7E0917101F09105
+:101910007201E80FF11DEE0FFF1F21E030E02C0FE8
+:101920003D1FE20FF31F60817181690F711D8827D0
+:1019300077FD8095982F0E94003220E030E040E44F
+:1019400051E40E9465316B017C01F801818165E001
+:1019500070E0681B7109882777FD8095982F0E9499
+:1019600000329B01AC01C701B6010E94FD309B0112
+:10197000AC0160E070E080E090E40E94173321E267
+:1019800030ED42E053E40E94B432C454DD4F0FB650
+:10199000F894DEBF0FBECDBFDF91CF911F910F91A5
+:1019A000FF90EF90DF90CF900C94130DC454DD4F57
+:1019B0000FB6F894DEBF0FBECDBFDF91CF911F9160
+:1019C0000F91FF90EF90DF90CF90089510928702D3
+:1019D00010928602809171008D7F809371008091BA
+:1019E00090008F77809390001092480210924702E7
+:1019F0001092800210928102109282021092830251
+:101A000010927F0210927E02EEE5F2E0AEE4B2E0C8
+:101A100011921192119211921D921D9282E0EE3755
+:101A2000F807B1F708956F927F928F929F92AF92CD
+:101A3000BF92CF92DF92EF92FF920F931F93CF93BB
+:101A4000DF936B017C010EE712E04CE5A42E42E02F
+:101A5000B42EC7E0D0E0A7019601F80192918291DF
+:101A6000729162918F010E946131882349F0219720
+:101A7000F2E0AF1AB108CF3F8FEFD80761F734C05B
+:101A8000F8011082118212821382F50111821082F4
+:101A9000FE01EE0FFF1FEE0FFF1FE25AFD4FDE01AA
+:101AA000AA0FBB1FA25BBD4FCE011AC00196448195
+:101AB0005581668177814083518362837383148269
+:101AC00015821682178212962D913C9113971196CA
+:101AD0003C932E9313961C921E9212973496129654
+:101AE0008730910519F7C3CF8091860290918702C4
+:101AF000019797FD05C0909387028093860204C0EA
+:101B00001092870210928602E0918602F09187027D
+:101B10003097C9F4809171008D7F8093710080911E
+:101B200090008F7780939000109280021092810233
+:101B3000109282021092830210927F0210927E0213
+:101B40001092470285C03197DF01AA0FBB1FAA0F71
+:101B5000BB1FA25ABD4FCD90DD90ED90FC90EE0FD3
+:101B6000FF1FE25BFD4FC081D181609080027090C9
+:101B700081028090820290908302A7019601662DD7
+:101B8000772D882D992D0E94613187FF25C0262D44
+:101B9000372D482D592DC701B6010E94FC3020E099
+:101BA00030E04AEF54E40E9465315B018C012A2D3C
+:101BB0003B2D402F512F662D772D882D992D0E947A
+:101BC000FD303B014C01A7019601772D992D0E9414
+:101BD0006131181664F72EC0A7019601662D772D86
+:101BE000882D992D0E94B032181634F5A701960160
+:101BF000662D772D882D992D0E94FC3020E030E055
+:101C00004AEF54E40E9465315B018C012A2D3B2D83
+:101C1000402F512F662D772D882D992D0E94FC3055
+:101C20003B014C01A7019601772D992D0E94B032FE
+:101C300087FFECCF10924D02C0928002D0928102B9
+:101C4000E0928202F0928302D0937F02C0937E02E0
+:101C5000DF91CF911F910F91FF90EF90DF90CF9088
+:101C6000BF90AF909F908F907F906F9008953E9A15
+:101C7000E1E7F0E080818D7F808382E080939000B7
+:101C80008AE18093910008951F920F920FB60F92F0
+:101C90001124CF92DF92EF92FF922F933F934F93B5
+:101CA0005F936F937F938F939F93AF93BF93CF93E4
+:101CB000DF93EF93FF9380914702882309F479C063
+:101CC00020E030E0A9016091800270918102809152
+:101CD0008202909183020E94B03218160CF069C003
+:101CE00020E030E040E251E46091490270914A0204
+:101CF00080914B0290914C020E94B0321816BCF4B5
+:101D00008091840290918502019660918602709183
+:101D100087020E949C3490938502809384021092E3
+:101D2000490210924A0210924B0210924C02C0914A
+:101D30008402D0918502CC0FDD1FCC0FDD1FC25A6B
+:101D4000DD4F288139814A815B8160E074E284E75C
+:101D50009BE40E9465310E94CD317093970060939F
+:101D60009600288139814A815B8160E074E284E7D2
+:101D70009BE40E9465310E94CD3175956795709303
+:101D800099006093980020E030E040E85FE36091C4
+:101D9000490270914A0280914B0290914C020E943C
+:101DA000FD306093490270934A0280934B029093F6
+:101DB0004C0280914802882309F493C0C0904302EA
+:101DC000D0904402E0904502F090460220E030E0DE
+:101DD000A901C701B6010E94B0321816F4F4A70198
+:101DE000960160E074E284E79BE40E9465310E9402
+:101DF000CD317093970060939600A701960160E043
+:101E000074E284E79BE40E9465310E94CD317595B0
+:101E10006795709399006093980060913D0270916E
+:101E20003E026F5F7F4F70933E0260933D0280E001
+:101E300090E00E94FE3120913F023091400240919B
+:101E40004102509142020E94B03287FD4AC0809107
+:101E50003C028F5F80933C029091F1038917A0F0C0
+:101E60008091F603882319F010923C020DC08091F6
+:101E700071008D7F80937100809190008F778093A7
+:101E80009000109248022DC0E091F203F091F3030C
+:101E900080913C0298E0899FE00DF11D1124808122
+:101EA0009181A281B3818093430290934402A093D5
+:101EB0004502B093460220E030E040E85EE36481F2
+:101EC0007581868197810E94B43260933F0270933E
+:101ED0004002809341029093420210923E0210927F
+:101EE0003D02FF91EF91DF91CF91BF91AF919F9113
+:101EF0008F917F916F915F914F913F912F91FF90C3
+:101F0000EF90DF90CF900F900FBE0F901F9018951D
+:101F10000F931F93CF93DF9300D0CDB7DEB78C0123
+:101F200080914702882331F04A8369830E94E60C3E
+:101F300069814A8181E0809348021093F303009302
+:101F4000F2036093F1034093F6031092490210925A
+:101F50004A0210924B0210924C0210923C02F8017D
+:101F600040815181628173814093430250934402C6
+:101F7000609345027093460220E030E040E85EE363
+:101F800064817581868197810E94B43260933F029B
+:101F900070934002809341029093420210923E025D
+:101FA00010923D0280917100826080937100809157
+:101FB00090008068809390000F900F90DF91CF91F8
+:101FC0001F910F9108956F927F928F929F92AF927F
+:101FD000BF92CF92DF92EF92FF920F931F93CF9316
+:101FE000DF936B017C01EA018091480281110E941C
+:101FF000E60C81E08093470220E030E0A901C701B0
+:10200000B6010E94B03218160CF09AC0609080029F
+:1020100070908102809082029090830220E030E0F4
+:10202000A901662D772D882D992D0E94613181118E
+:1020300028C0C0928002D0928102E0928202F09287
+:102040008302D0937F02C0937E028091860290919A
+:102050008702FC01EE0FFF1FEE0FFF1FE25AFD4F3C
+:10206000C082D182E282F382FC01EE0FFF1FE25BAD
+:10207000FD4FD183C083019690938702809386029F
+:102080005FC0A7019601662D772D882D992D0E949E
+:10209000613187FF25C0262D372D482D592DC701C9
+:1020A000B6010E94FC3020E030E04AEF54E40E9488
+:1020B00065315B018C012A2D3B2D402F512F662D60
+:1020C000772D882D992D0E94FD303B014C01A701F1
+:1020D0009601772D992D0E946131181664F7A9CFCA
+:1020E000A7019601662D772D882D992D0E94B0327B
+:1020F00018160CF09ECFA7019601662D772D882D1E
+:10210000992D0E94FC3020E030E04AEF54E40E9418
+:1021100065315B018C012A2D3B2D402F512F662DFF
+:10212000772D882D992D0E94FC303B014C01A70191
+:102130009601772D992D0E94B03287FFECCF79CF91
+:10214000809171008260809371008091900080681E
+:1021500080939000DF91CF911F910F91FF90EF90AE
+:10216000DF90CF90BF90AF909F908F907F906F90B7
+:102170000895809191020895CF93DF9300D01F922C
+:10218000CDB7DEB72091FB03243021F523E029836E
+:102190009B838A832093E9008FEF06C095ED9A9583
+:1021A000F1F70000882329F09091E800815095FF15
+:1021B000F5CF8091E80085FF0DC040E050E063E07E
+:1021C00070E0CE0101960E94A6148091E8008E77FF
+:1021D0008093E8000F900F900F90DF91CF910895BA
+:1021E000CF93DF9300D01F92CDB7DEB72091FB03D2
+:1021F000243029F522E029839B838A8383E080931E
+:10220000E9008FEF06C095ED9A95F1F7000088235D
+:1022100029F09091E800815095FFF5CF8091E8007A
+:1022200085FF0DC040E050E063E070E0CE01019614
+:102230000E94A6148091E8008E778093E8000F90AA
+:102240000F900F90DF91CF9108952091FB032430E0
+:10225000F9F422E02093E9002FEF06C035ED3A951E
+:10226000F1F70000222329F03091E800215035FFDA
+:10227000F5CF2091E80025FF0BC040E050E065E07D
+:1022800070E00E94A6148091E8008E778093E800A9
+:102290000895CF93DF93EC018091FB03843041F5E7
+:1022A00081E08093E9008FEF06C095ED9A95F1F7F4
+:1022B0000000882329F09091E800815095FFF5CF28
+:1022C0008091E80085FF14C040E050E068E070E0D5
+:1022D000CE010E94A6148091E8008E778093E800DA
+:1022E00088E0FE01A9E8B2E001900D928A95E1F73D
+:1022F000DF91CF910895BF92CF92DF92EF92FF923C
+:102300000F931F93CF93DF937C01B62EE90100E07A
+:1023100010E0C42ED12C0BC04991202F2B0D2F770C
+:102320004F776FE0C7010E94DC190F5F1F4F0C153C
+:102330001D0594F3DF91CF911F910F91FF90EF90C6
+:10234000DF90CF90BF90089570E06F5F7F4F6F7008
+:1023500077270C94DC190F931F93CF93C42F63300E
+:10236000710509F04AC0842F807F803849F1803997
+:1023700009F043C0622F6F7770E080E090E00E9428
+:10238000003220E030E040E451E40E9465319B01DE
+:10239000AC0160E070E080E090E40E9417330F77BA
+:1023A00010E023E0159507952A95E1F72DEC3CEC1C
+:1023B00042E053E40E94B432A8010E94E30F1DC022
+:1023C000622F6F7770E080E090E00E94003220E0A2
+:1023D00030E040E451E40E9465319B01AC0160E0D3
+:1023E00070E080E090E40E9417332DEC3CEC42E07A
+:1023F00053E40E94B4320E94130DCC3F29F4CF91D4
+:102400001F910F910C94E60CCF911F910F9108959D
+:102410000F931F93CF93DF93CDB7DEB727970FB6F8
+:10242000F894DEBF0FBECDBF8C0114C08A810E941C
+:10243000B6199A819D839B819E839C819F83811184
+:102440001EC089818430B1F08730A1F08630A1F0C0
+:102450008530A1F0BE016F5F7F4F84E791E00E945D
+:10246000231D8111E3CF84E791E00E94141D0E9497
+:102470008F190DC083E003C082E001C081E0AE018E
+:102480004B5F5F4F682FC8010E94491AE3CF279620
+:102490000FB6F894DEBF0FBECDBFDF91CF911F9175
+:1024A0000F910895EF92FF920F93CF93DF9300D097
+:1024B00000D000D0CDB7DEB77B014A832B830C83DD
+:1024C000842F2E834D830E94B6192E814D81811158
+:1024D0001BC082E0E816F10479F083E0E816F1040D
+:1024E00021F0EA94EF2821F50BC0073F11F487E0B3
+:1024F00001C084E089830BC0273FD9F786E0FACF7B
+:10250000473FB9F785E0F6CF42954F704983BE014A
+:102510006F5F7F4F84E791E00E94D91C84E791E0D0
+:102520000E94F71C84E791E00E94141D0E948F19FD
+:1025300026960FB6F894DEBF0FBECDBFDF91CF91C8
+:102540000F91FF90EF9008958091FA03811109C0D7
+:102550000E9495160E94F2168091E200846080939A
+:10256000E20008951092FA030895089508950C94D6
+:10257000B229809192028F5F8093920262E30E945F
+:102580007C34911135C0109292028091930288237D
+:1025900079F18091FB03843049F58091E9008F70D7
+:1025A0009091EC0090FF02C090E801C090E0982B61
+:1025B00084E08093E9008091EB0080FF14C080915B
+:1025C000EE0087FD03C00FC01092F1008091E8007B
+:1025D00085FDFACF8091E80080FF05C08091E8007A
+:1025E0008E778093E8009F709093E9001092930299
+:1025F000089542E061EC81E00E940B1642E061EC3C
+:1026000082E00E940B1642E061EC83E00E940B1610
+:1026100042E261EC84E00E940B1642E361E885E04F
+:102620000E940B1642E360E886E00C940B16809142
+:10263000FD03833009F454C030F4813071F08230EE
+:1026400009F0A5C08CC08A3009F479C08B3009F438
+:102650005FC0893009F09BC020C08091FC03813AA3
+:1026600009F095C08091E800877F8093E800809111
+:10267000000490910104892B21F060E080E090E05B
+:1026800003C068E089E892E070E00E944415809100
+:10269000E8008B778093E80008958091FC038132F5
+:1026A00009F075C08091000490910104892B09F014
+:1026B0006EC08091E800877F8093E80005C080911C
+:1026C000FB03882309F463C08091E80082FFF7CF01
+:1026D0008091F100809391028091E8008B7753C044
+:1026E0008091FC03813A09F052C0809100049091DE
+:1026F0000104892B09F04BC08091E800877F80930B
+:10270000E8008091E80080FFFCCF80918A0136C00C
+:102710008091FC038132D9F58091000490910104ED
+:10272000892BA9F58091E800877F8093E8000E94BB
+:1027300042168091FE0380938A010C948B23809132
+:10274000FC03813221F58091E800877F8093E800C7
+:102750000E9442168091FF03809388020895809121
+:10276000FC03813AA1F48091E800877F8093E80020
+:102770008091E80080FFFCCF809188028093F10077
+:102780008091E8008E778093E8000C9442160895BB
+:1027900084E093E00E94181A62E572E184E093E01D
+:1027A0000E946E1A68E072E184E093E00E94721A5F
+:1027B00084B7877F84BF88E10FB6F8948093600068
+:1027C000109260000FBE90E080E80FB6F8948093FE
+:1027D0006100909361000FBE0E949C1D0E9495169F
+:1027E0000E94F2168091E20084608093E200789467
+:1027F0006BEA71E184E093E00E94141A64EA71E1EB
+:1028000084E093E00E940C1A6BE771E184E093E0AE
+:102810000E94101A0E94370E0E948F190E949E1D5E
+:1028200080E891E00E94481D0BC00E946C298091B5
+:10283000F903882329F00E949A2981110E9490149B
+:102840008091FB03853089F384E093E00E94211C92
+:102850000E94A81DF5CF292F332723303105B1F071
+:102860004CF42130310509F44DC02230310509F016
+:102870004EC007C02132310541F12232310591F1BC
+:1028800046C0E0EDF0E08CE594E045C0992781304A
+:10289000910569F08230910589F0892B09F037C0E4
+:1028A000E8E5F4E0E491F0E088E594E034C0EAE2A1
+:1028B000F4E0E491F0E08AE294E02DC0EEEFF3E082
+:1028C000E491F0E08EEF93E026C0643000F5E62F4F
+:1028D000F0E0EE0FFF1FE550FE4F80819181E9E0AF
+:1028E000F0E019C0643098F4E62FF0E0DF01AA0FA1
+:1028F000BB1FAD5FBD4F8D919C91E55FFD4FE081AA
+:10290000F0E009C0E2E1F0E08CE295E004C0E0E034
+:10291000F0E080E090E0DA018D939C93CF01089580
+:1029200080E189BD82E189BD09B400FEFDCF8091BF
+:10293000D8008F7D8093D8008091E00082608093E2
+:10294000E0008091E00081FDFCCF0895BF92CF921E
+:10295000DF92EF92FF920F931F93CF93DF937C014F
+:102960008B01EA010E946316B82E811133C02097B3
+:1029700031F028813981021B130BE20EF31EC12CAA
+:10298000D12C23C08091E80085FD15C08091E8001E
+:102990008E778093E800209749F0888199818C0D8B
+:1029A0009D1D9983888325E0B22E14C00E94631672
+:1029B000882359F00EC0F70181917F018093F100C7
+:1029C00001501109FFEFCF1ADF0A01151105D1F6E9
+:1029D00001C0B82E8B2DDF91CF911F910F91FF90E9
+:1029E000EF90DF90CF90BF900895BF92CF92DF928B
+:1029F000EF92FF920F931F93CF93DF937C018B0194
+:102A0000EA010E946316B82E811133C0209731F07D
+:102A100028813981021B130BE20EF31EC12CD12C2D
+:102A200023C08091E80085FD15C08091E8008B7778
+:102A30008093E800209749F0888199818C0D9D1D35
+:102A40009983888345E0B42E14C00E9463168823BE
+:102A500059F00EC08091F100F70181937F01015080
+:102A60001109FFEFCF1ADF0A01151105D1F601C0D8
+:102A7000B82E8B2DDF91CF911F910F91FF90EF908A
+:102A8000DF90CF90BF9008954091020450910304CD
+:102A90004617570748F06115710539F44091E80071
+:102AA0004E774093E80001C0BA01FC0140E033C01A
+:102AB0008091FB03882309F444C0853009F443C0A6
+:102AC0008091E80083FD41C08091E80082FD33C021
+:102AD0008091E80080FF1FC09091F3008091F20088
+:102AE000392F20E0A901482BCA0106C0419140932B
+:102AF000F1006150710901966115710519F0883076
+:102B00009105A0F341E0089709F040E08091E800CA
+:102B10008E778093E8006115710551F64111C8CF99
+:102B20000AC08091FB03882361F0853061F08091B9
+:102B3000E80083FD0AC08091E80082FFF2CF80E0C8
+:102B4000089582E0089583E0089581E0089540911A
+:102B50000204509103044617570748F061157105A8
+:102B600039F44091E8004E774093E80001C0BA0183
+:102B7000FC0140E034C08091FB03882309F445C088
+:102B8000853009F444C08091E80083FD42C0809103
+:102B9000E80082FD34C08091E80080FF20C0909161
+:102BA000F3008091F200392F20E0A901482BCA01DF
+:102BB00007C044914093F10031966150710901962C
+:102BC0006115710519F08830910598F341E0089777
+:102BD00009F040E08091E8008E778093E80061156D
+:102BE000710549F64111C7CF0AC08091FB038823C4
+:102BF00061F0853061F08091E80083FD0AC080912A
+:102C0000E80082FFF2CF80E0089582E0089583E03B
+:102C1000089581E00895982F2CC09093E9009817AB
+:102C200039F07091EC002091ED005091F00003C05C
+:102C3000242F762F50E021FD02C09F5F1AC03091F3
+:102C4000EB003E7F3093EB003091ED003D7F309301
+:102C5000ED003091EB0031603093EB007093EC00AD
+:102C60002093ED005093F0002091EE0027FDE5CF7A
+:102C700007C0973090F28F708093E90081E008954B
+:102C800080E008958091FC0387FD05C08091E800F5
+:102C900080FF0EC012C08091E80082FD05C08091C7
+:102CA000FB038111F8CF08958091E8008B7708C06D
+:102CB0008091FB038111EACF08958091E8008E771F
+:102CC0008093E80008958091E4009091E50045E646
+:102CD0002091EC0020FD1FC023C02091FB03222384
+:102CE00091F0253091F02091EB0025FD10C020914E
+:102CF000E4003091E5002817390751F34150C9012C
+:102D000039F784E0089582E0089583E0089581E032
+:102D1000089580E008952091E80020FFDECFF9CFEC
+:102D20002091E80022FFD9CFF4CF0E9403170E9420
+:102D30000B17E0EEF0E0808181608083E8EDF0E049
+:102D400080818F77808319BCA7EDB0E08C918E7F56
+:102D50008C9380818F7E80831092FA0308950F9365
+:102D60001F93CF93DF930E9403170E940B17C8EDA8
+:102D7000D0E088818F778883888180688883888184
+:102D80008F7D888319BC1092FB031092F703109279
+:102D9000F9031092F80300EE10E0F80180818B7FB8
+:102DA000808388818160888342E060E080E00E94C7
+:102DB0000B16E1EEF0E080818E7F8083E2EEF0E0A2
+:102DC000808181608083808188608083F801808138
+:102DD0008E7F8083888180618883DF91CF911F916E
+:102DE0000F910895E8EDF0E080818F7E8083E7ED1C
+:102DF000F0E080818160808384E082BF81E0809305
+:102E0000FA030C94AF16E8EDF0E080818E7F8083AA
+:102E10001092E20008951092DA001092E1000895F5
+:102E20001F920F920FB60F9211242F933F934F933F
+:102E30005F936F937F938F939F93AF93BF93EF9322
+:102E4000FF938091E10082FF0BC08091E20082FF3E
+:102E500007C08091E1008B7F8093E1000E94B9124E
+:102E60008091DA0080FF1FC08091D80080FF1BC0D6
+:102E70008091DA008E7F8093DA008091D90080FF04
+:102E80000DC080E189BD82E189BD09B400FEFDCF9E
+:102E900081E08093FB030E94A41205C019BC10922C
+:102EA000FB030E94B2128091E10080FF19C0809163
+:102EB000E20080FF15C08091E2008E7F8093E200E7
+:102EC0008091E20080618093E2008091D80080626E
+:102ED0008093D80019BC85E08093FB030E94B61252
+:102EE0008091E10084FF30C08091E20084FF2CC01B
+:102EF00080E189BD82E189BD09B400FEFDCF8091EA
+:102F0000D8008F7D8093D8008091E1008F7E8093E0
+:102F1000E1008091E2008F7E8093E2008091E200E8
+:102F200081608093E2008091F703882311F084E0B0
+:102F300007C08091E30087FF02C083E001C081E009
+:102F40008093FB030E94B7128091E10083FF29C0A8
+:102F50008091E20083FF25C08091E100877F80930C
+:102F6000E10082E08093FB031092F7038091E1007F
+:102F70008E7F8093E1008091E2008E7F8093E2005B
+:102F80008091E20080618093E20042E060E080E0B6
+:102F90000E940B168091F00088608093F0000E94E0
+:102FA000B512FF91EF91BF91AF919F918F917F915A
+:102FB0006F915F914F913F912F910F900FBE0F90A6
+:102FC0001F9018951F920F920FB60F9211242F93F6
+:102FD0003F934F935F936F937F938F939F93AF93A1
+:102FE000BF93CF93EF93FF938091E9008F709091FF
+:102FF000EC0090FF02C090E801C090E0C92FC82B00
+:103000001092E9008091F000877F8093F00078941F
+:103010000E9426181092E9008091F0008860809349
+:10302000F000CF70C093E900FF91EF91CF91BF9175
+:10303000AF919F918F917F916F915F914F913F9150
+:103040002F910F900FBE0F901F9018951F93CF9345
+:10305000DF93CDB7DEB7AC970FB6F894DEBF0FBEE7
+:10306000CDBFECEFF3E08091F100819324E0E430F8
+:10307000F207C9F70E9417138091E80083FF37C158
+:103080008091FC039091FD03953009F488C038F4D9
+:103090009130B1F170F0933009F029C131C098300E
+:1030A00009F4F8C0993009F404C1963009F01FC141
+:1030B0009DC0803821F0823809F019C108C0809184
+:1030C000F8039091F903992389F082600FC08091F1
+:1030D0000004909101048F7099278093E9008091FA
+:1030E000EB0085FB882780F91092E9009091E800B9
+:1030F000977F9093E8008093F1001092F100D5C083
+:10310000882319F0823009F0F2C08F7121F08230EB
+:1031100009F0EDC00BC08091FE03813009F0E7C0DB
+:10312000933009F080E08093F9032FC08091FE0373
+:1031300081112BC080910004909101048F70992718
+:10314000009709F4D4C08093E9002091EB0020FFA0
+:103150001CC02091FD03233021F48091EB0080629C
+:1031600012C09091EB0090619093EB0021E030E071
+:1031700001C0220F8A95EAF72093EA001092EA0034
+:103180008091EB0088608093EB001092E9008091C1
+:10319000E800877F8093E8000E944216A8C0811152
+:1031A000A6C08091FE039091FF038F779927182F77
+:1031B0009091E3009078982B9093E3008091E80041
+:1031C000877F8093E8000E9442168091E80080FF8C
+:1031D000FCCF8091E30080688093E300112311F01D
+:1031E00083E001C082E08093FB0381C0805882307D
+:1031F00008F07DC08091FE039091FF038C3D23E099
+:10320000920779F583E08A838AE289834FB7F8943D
+:10321000DE01139620E03EE051E2E32FF0E0509310
+:103220005700E49120FF03C0E295EF703F5FEF701D
+:103230008E2F90E0EA3010F0C79601C0C0968D93B3
+:103240009D932F5F243149F74FBF8091E800877F1E
+:103250008093E8006AE270E0CE0101960E94441576
+:1032600013C0AE01455D5F4F609100040E942B14B6
+:103270000097E9F12091E800277F2093E800BC0146
+:103280008BA59CA50E94A7158091E8008B77809361
+:10329000E8002DC0803859F58091E800877F809341
+:1032A000E8008091F7038093F1008091E8008E7729
+:1032B00071CF81111CC09091FE039230C0F48091B7
+:1032C000E800877F8093E8009093F7030E944216FE
+:1032D0008091F703811104C08091E30087FF02C051
+:1032E00084E001C081E08093FB030E94F912809189
+:1032F000E80083FF0AC08091E800877F8093E800A0
+:103300008091EB0080628093EB00AC960FB6F8944E
+:10331000DEBF0FBECDBFDF91CF911F910895CF9338
+:103320008091FB038823B1F08091E9008F70909128
+:10333000EC0090FF02C090E801C090E0C92FC82BBC
+:103340001092E9008091E80083FD0E942618CF705A
+:10335000C093E900CF910895881F8827881F08959A
+:1033600091E0883F08F490E0892F0895982F907F8E
+:10337000903B99F038F4903981F0903A71F09038A0
+:10338000C9F40BC0903DA1F018F4903C99F410C022
+:10339000903E19F0903F71F402C083E00895E82F49
+:1033A000E15FEF3038F4F0E0E15FFD4F8081089598
+:1033B00082E0089580E008950F932F774F776F7024
+:1033C000606BDC01ED91FC91022F242F462F63E00E
+:1033D00070E009950F9108950F932F774F776F70D5
+:1033E0006069DC01ED91FC91022F242F462F63E0F0
+:1033F00070E009950F9108950F932F774F776F70B5
+:103400006068DC01ED91FC91022F242F462F63E0D0
+:1034100070E009950F910895FC017383628308950C
+:10342000FC01738F628F0895FC01758F648F08957E
+:10343000CF93DF93EC011DA21FA21EA2BC01685D09
+:103440007F4F40EC88519F4F0E94551C1B821A826F
+:103450001D821C821F821E82198618861B861A8670
+:103460001D861C861F861E86198A188A1B8A1A8A40
+:103470001D8A1C8A1F8A1E8A198E188E1B8E1A8E10
+:103480001D8E1C8E1F8E1E8E19A218A2DF91CF9149
+:103490000895CF92DF92FF920F931F93CF93DF9304
+:1034A0001F92CDB7DEB7F62E6A018C0108511F4F6F
+:1034B00008C0F60161916F01C80149830E945C1C3C
+:1034C00049818C2D841B8F15A0F30F90DF91CF9134
+:1034D0001F910F91FF90DF90CF900895FC017183B1
+:1034E00060830895FC0171A360A30895AF92BF9219
+:1034F000CF92DF92EF92FF920F931F93CF93DF93C0
+:1035000000D01F92CDB7DEB77C016B01142FB22E15
+:10351000A02EDC0195968C9195978430F1F45A9603
+:10352000ED91FC915B97309709F4D8C0CB010197DE
+:1035300063E070E00E948834DB01AA0FBB1FA60F76
+:10354000B71F49832A830B834C2D4A1B9E012F5F93
+:103550003F4FBD01C7010995B1C06230710509F443
+:1035600053C06330710529F06130710509F09CC0CA
+:1035700083C0842F807F803A01F130F48038B9F025
+:10358000803909F0ABC00DC0803EE9F0803F09F101
+:10359000803B09F0A3C0D7011296ED91FC911397DF
+:1035A00023C0D7011496ED91FC9115971DC0D7014A
+:1035B0001696ED91FC91179717C0D7011896ED91CB
+:1035C000FC91199711C0D7011A96ED91FC911B97A8
+:1035D0000BC0423F09F082C0D7011C96ED91FC91CF
+:1035E0001D97309731F47AC0309709F477C0123FB5
+:1035F00021F42A2D4B2D62EF04C0612F6F702A2D0C
+:103600004B2DC70109955AC0842F807F803D59F00A
+:10361000803F79F0803C09F061C0D7011E96ED91A2
+:10362000FC911F9719C0D7015096ED91FC915197CD
+:1036300013C0433F31F4D7015296ED91FC9153975B
+:1036400008C0413F09F04AC0D7015496ED91FC9162
+:103650005597309741F442C0309709F43FC0133F6B
+:1036600011F0113F19F44B2D612F03C0612F6F70C2
+:103670004B2DC701099522C0842F0E94B0198823C1
+:1036800031F0D7015696ED91FC91579707C0163F40
+:1036900029F5D7015896ED91FC9159973097F1F0A3
+:1036A000612FC70109950AC064307105A8F416C0DE
+:1036B0000A2D2B2D412FB601C7010995D7015E9622
+:1036C000ED91FC915F97309789F00A2D2B2D412FBA
+:1036D000B601C70109950AC0C12CD12CD7015C964F
+:1036E000ED91FC915D97309719F7E8CF0F900F900F
+:1036F0000F90DF91CF911F910F91FF90EF90DF908E
+:10370000CF90BF90AF900895EF92FF920F931F93C9
+:10371000CF93DF93EC01162F862F0E94B0198823D8
+:1037200069F0FDA081E08DA300E020E0412F61E081
+:1037300070E0CE010E94761AFDA27CC0812F0E940B
+:10374000AC194DA1882309F440C0443029F01AA3D4
+:1037500021E030E03FA32EA3812F0E94B6198130D3
+:1037600031F070F0823051F0833059F507C08DA3ED
+:1037700000E020E0412F61E070E01EC08DA35AC040
+:10378000103F19F0173FE9F404C084E08DA31AA399
+:103790003FC02EA13FA1C90163E070E00E948834C0
+:1037A0008C0F9D1FFC0112A3B9016F5F7F4F7FA398
+:1037B0006EA30CA12BA14AA1CE010E94761A1DA2D4
+:1037C00039C01DA21FA21EA235C0442399F12EA10B
+:1037D0003FA1C90163E070E00E9488347C01FE01D2
+:1037E000E80FF91F12A3B9016F5F7F4F7FA36EA38C
+:1037F0008130910591F082E0E816F104D9F40CA132
+:103800002BA14AA1CE010E94761A8DA1843091F09D
+:1038100081E090E09FA38EA30DC0423059F400E0F8
+:103820002BA14AA1CE010E94761A8DA1843011F0FD
+:10383000FFA2EEA2DF91CF911F910F91FF90EF9029
+:103840000895CF92DF92EF92FF920F931F93CF9341
+:10385000DF93EC01E8A1F9A1309709F009958E01F9
+:1038600008511F4FC8010E948E1CE12CF12CC82E5C
+:10387000D12C0FC060E0C8010E94A21C682FCE01AD
+:103880000E94841B61E0C8010E94B31C8FEFE81AFC
+:10389000F80AEC14FD0470F3DF91CF911F910F91A2
+:1038A000FF90EF90DF90CF900895FC0142837483E6
+:1038B00063831182108208950F931F93CF93DF9338
+:1038C000EC01062F0E94D41C182F298130E0C90179
+:1038D00001966A8170E00E949C34488150E0841710
+:1038E000950729F4812F0E94D71C80E012C0EB813C
+:1038F000FC81E20FF31F00832981822F90E0019663
+:103900006A8170E00E949C348983812F0E94D71CB9
+:1039100081E0DF91CF911F910F910895CF93DF93B5
+:10392000EC010E94D41C29819881291710F0C22F24
+:1039300002C0CA81C20FC91B0E94D71C8C2FDF9105
+:10394000CF910895FC012081862F90E0820F911D78
+:10395000628170E00E949C340380F481E02DE80FC6
+:10396000F91F808108950F931F93CF93DF931F92C8
+:10397000CDB7DEB78C0169830E94D41C482FF801B3
+:1039800080816981262F30E0280F311D6281C901B5
+:1039900070E00E949C348083842F0F90DF91CF9140
+:1039A0001F910F910C94D71C8FB7F89408958FBF77
+:1039B0000895FC01CB012091FB032430B1F4218157
+:1039C0002F702093E90040E050E064E070E00E9436
+:1039D000A61481110BC09091E80095FD07C090914D
+:1039E000E8009E779093E800089582E00895209182
+:1039F000FB032430A9F4FC0181818F708093E900DE
+:103A00003091F3002091F200932F80E0822B892BDC
+:103A100049F08091E8008E778093E8000C9463165B
+:103A200082E0089580E008952091FB03243051F452
+:103A3000FC0121812F702093E9002091E80020FDF6
+:103A40000C94F71C0895FC01CB012091FB0324305A
+:103A500011F080E0089526812F702093E9002091D5
+:103A6000E80022FFF6CF2091E80025FFF2CF40E0EA
+:103A700050E064E070E00E94F5148091E80085FD5C
+:103A800005C08091E8008B778093E80081E008957D
+:103A900090939502809394020895E0919402F0919E
+:103AA0009502309721F00190F081E02D099480E09B
+:103AB0000895E0919402F0919502309721F00280F0
+:103AC000F381E02D09940895E0919402F09195021C
+:103AD000309721F00480F581E02D0994089520911C
+:103AE0009602309197028217930771F09093970294
+:103AF00080939602E0919402F0919502309721F024
+:103B00000680F781E02D0994089520919802309164
+:103B100099028217930771F090939902809398020B
+:103B2000E0919402F0919502309721F00084F185A4
+:103B3000E02D0994089508950C949B1D0E94E62998
+:103B40000E94F3060E94BA2A0C9465300C942C064D
+:103B50005F926F927F928F929F92AF92BF92CF921D
+:103B6000DF92EF92FF920F931F93CF93DF93CDB726
+:103B7000DEB72A970FB6F894DEBF0FBECDBF0E9406
+:103B8000E9079AE9C92E92E0D92E00E010E0AA24B4
+:103B9000A394B12C502E802F0E9439093C01F601CC
+:103BA000E190F1906F01E826F926E114F10431F477
+:103BB0000F5F1F4F0530110569F73AC08091F10280
+:103BC00081FD0E94420920E030E04501022E02C042
+:103BD000880C991C0A94E2F7C4018E219F21892B3D
+:103BE00009F12E835F826820792081E0672809F43B
+:103BF00080E088870E94EF298160782F9A878987E3
+:103C00004E815F8168858A850E94611EF801EE0FF2
+:103C1000FF1FE656FD4F808191818825992591836C
+:103C2000808316C02F5F3F4F2C30310571F6C0CF17
+:103C30008FEF89838A831B820E94EF298160782F0E
+:103C40009D838C8349815A816B818D810E94611E85
+:103C50000E94A72D1091A4020E944D1D1817D9F0A3
+:103C60000E944D1D8093A4022A960FB6F894DEBFE1
+:103C70000FBECDBFDF91CF911F910F91FF90EF90BD
+:103C8000DF90CF90BF90AF909F908F907F906F907C
+:103C90005F900C94A61D2A960FB6F894DEBF0FBE57
+:103CA000CDBFDF91CF911F910F91FF90EF90DF90EB
+:103CB000CF90BF90AF909F908F907F906F905F90CC
+:103CC0000895CF93DF93CDB7DEB72B970FB6F89457
+:103CD000DEBF0FBECDBF4F83588769877A878B873A
+:103CE000DE01119686E0FD0111928A95E9F785E0E3
+:103CF000FE01379601900D928A95E1F749815A812C
+:103D00006B817C818D819E810E944A262B960FB605
+:103D1000F894DEBF0FBECDBFDF91CF910895089517
+:103D2000CF93C82F882309F4C1C0823859F40E9468
+:103D30004D1D81FDBBC089E30E94B1280E943D2931
+:103D400089E30CC0833879F40E944D1D80FDAEC01C
+:103D500083E50E94B1280E943D2983E50E94D32873
+:103D6000CF910C943D29843859F40E944D1D82FD59
+:103D70009DC087E40E94B1280E943D2987E4EECFD0
+:103D80008450813A48F48C2F0E94C72F81118EC035
+:103D90008C2F0E94B128E4CF8C2F805E883050F4A5
+:103DA000C77081E090E001C0880FCA95EAF70E94D1
+:103DB000F428D6CF8C2F855A833078F4C53A29F071
+:103DC000C63A31F482E890E005C081E890E002C094
+:103DD00083E890E0CF910C946F1D8C2F885A83312B
+:103DE00008F064C0C83A39F1C93A41F1CA3A49F118
+:103DF000CB3A51F1CC3A59F1CD3A61F1C03B69F17E
+:103E0000CE3A71F1CF3A79F1C13B81F1C23B89F1F0
+:103E1000C33B91F1C43B99F1C53BA1F1C63BA9F16C
+:103E2000C73BB1F1C83BB9F1C93BC1F1CA3BC9F5C8
+:103E30008AE292E038C082EE90E035C089EE90E0F0
+:103E400032C08AEE90E02FC085EB90E02CC086EB6C
+:103E500090E029C087EB90E026C08CEC90E023C076
+:103E60008DEC90E020C083E891E01DC08AE891E0ED
+:103E70001AC082E991E017C084E991E014C081E2A0
+:103E800092E011C083E292E00EC084E292E00BC0A7
+:103E900085E292E008C086E292E005C087E292E007
+:103EA00002C080E090E0CF910C94851DCF910895E1
+:103EB000882309F44DC0823859F40E944D1D81FFBA
+:103EC00047C089E30E94B1280E943D2989E30CC0C4
+:103ED000833871F40E944D1D80FF3AC083E50E9433
+:103EE000B1280E943D2983E50E94D3280C943D29E6
+:103EF000843859F40E944D1D82FF2AC087E40E9435
+:103F0000B1280E943D2987E4EFCF982F9450913A31
+:103F100008F4EACF982F905E983058F4282F277035
+:103F200081E090E001C0880F2A95EAF70E94FA2804
+:103F3000DDCF982F955A933020F480E090E00C94D8
+:103F40006F1D885A833120F480E090E00C94851D29
+:103F50000895882321F00E94F4280C943D290895A7
+:103F6000882321F00E94FA280C943D290895BF92DD
+:103F7000CF92DF92EF92FF920F931F93CF93DF9335
+:103F8000CDB7DEB727970FB6F894DEBF0FBECDBF13
+:103F90008C0185E0F801DE01119601900D928A9561
+:103FA000E1F7F801D080E180F280558152955F7091
+:103FB00083819481892B41F0FFEFEF1208C081E0EB
+:103FC00090E0DF1631F003C081E090E002C080E0B5
+:103FD00090E080FD7CC3C8015E830E948F1ED98261
+:103FE000EA8289819A810E946E28B92E8F830E946D
+:103FF0006D280E9495275E816F81FF2021F00E942D
+:1040000011296F815E812B2D22952F7030E0253094
+:10401000310509F4E6C06CF4243031050CF0A2C07F
+:104020004B2D407F8B2D8F70223031050CF045C019
+:1040300017C02C3031054CF42A3031050CF0E7C1A3
+:104040002830310509F043C3E5C02D30310509F4AE
+:10405000BAC20CF4A2C22F30310509F038C323C311
+:10406000182F411101C002C01295107FFF2059F096
+:10407000112309F46BC2812F6F830E9404290E94CF
+:104080003D296F8163C2862F0E94581F112309F4B6
+:104090001EC3812F0E940A2927960FB6F894DEBF0F
+:1040A0000FBECDBFDF91CF911F910F91FF90EF9089
+:1040B000DF90CF90BF900C943D29403211F0829553
+:1040C000807F662319F0613071F523C0FF20B1F0C5
+:1040D000511101C032C0513081F527960FB6F894C6
+:1040E000DEBF0FBECDBFDF91CF911F910F91FF902B
+:1040F000EF90DF90CF90BF900C942429511101C014
+:1041000003C0513009F4E3C28E830E9427298E81B7
+:104110009AC1FF2021F0563008F0D9C20EC05530A8
+:1041200008F0D5C290C1FF20C9F0552331F0F80145
+:10413000958190FF0BC29F70958327960FB6F894D8
+:10414000DEBF0FBECDBFDF91CF911F910F91FF90CA
+:10415000EF90DF90CF90BF900C94A91F552309F4E6
+:1041600072C109C22B2D26952695237030E02115AA
+:10417000310529F02130310509F0A9C219C0FF200D
+:1041800021F0862F9B2D937002C080E090E027964F
+:104190000FB6F894DEBF0FBECDBFDF91CF911F9158
+:1041A0000F91FF90EF90DF90CF90BF900C946F1D18
+:1041B000FF2021F0862F9B2D937002C080E090E0BD
+:1041C00027960FB6F894DEBF0FBECDBFDF91CF911B
+:1041D0001F910F91FF90EF90DF90CF90BF900C94C4
+:1041E000851D862FFF2019F00E94AD2C02C00E9471
+:1041F000152D27960FB6F894DEBF0FBECDBFDF9109
+:10420000CF911F910F91FF90EF90DF90CF90BF90D3
+:104210000C949C2D8B2D837009F079C0F11057C23E
+:10422000262F229526952770220F220F862F8F701A
+:10423000C82ED12CE12CF12C022E04C0CC0CDD1C9C
+:10424000EE1CFF1C0A94D2F764FF10C06FE070E010
+:1042500080E090E004C0660F771F881F991F2A95A1
+:10426000D2F7609570958095909503C060E070E0FE
+:10427000CB012B2D269526952370422F50E04230FE
+:104280005105D9F04330510569F16C297D298E29FA
+:104290009F294130510551F127960FB6F894DEBFA2
+:1042A0000FBECDBFDF91CF911F910F91FF90EF9087
+:1042B000DF90CF90BF900C94AA276C297D298E297E
+:1042C0009F2927960FB6F894DEBF0FBECDBFDF91B2
+:1042D000CF911F910F91FF90EF90DF90CF90BF9003
+:1042E0000C94BC270E94AA27C701B60127960FB6D7
+:1042F000F894DEBF0FBECDBFDF91CF911F910F911C
+:10430000FF90EF90DF90CF90BF900C949827FF2004
+:1043100019F08B2D817001C08695882309F4D7C1CF
+:10432000262F229526952770220F220F862F8F7019
+:10433000C82ED12CE12CF12C022E04C0CC0CDD1C9B
+:10434000EE1CFF1C0A94D2F764FF10C06FE070E00F
+:1043500080E090E004C0660F771F881F991F2A95A0
+:10436000D2F7609570958095909503C060E070E0FD
+:10437000CB012B2D269526952370422F50E04230FD
+:104380005105D9F04330510569F16C297D298E29F9
+:104390009F294130510551F127960FB6F894DEBFA1
+:1043A0000FBECDBFDF91CF911F910F91FF90EF9086
+:1043B000DF90CF90BF900C9449286C297D298E29DD
+:1043C0009F2927960FB6F894DEBF0FBECDBFDF91B1
+:1043D000CF911F910F91FF90EF90DF90CF90BF9002
+:1043E0000C945B280E944928C701B60127960FB696
+:1043F000F894DEBF0FBECDBFDF91CF911F910F911B
+:10440000FF90EF90DF90CF90BF900C943728603FE3
+:1044100059F120F4603E08F494C008C0623F09F4EA
+:1044200067C0F0F1633F09F08CC065C0162F1F70A4
+:104430008B2D8F71FF2021F00E94E227812F7DCEEE
+:104440000E94FD27812F27960FB6F894DEBF0FBE7E
+:10445000CDBFDF91CF911F910F91FF90EF90DF9033
+:10446000CF90BF900C94B01FFF20B1F0553008F0F2
+:104470002EC18B2D8F7127960FB6F894DEBF0FBE1D
+:10448000CDBFDF91CF911F910F91FF90EF90DF9003
+:10449000CF90BF900C941C28563008F018C1E9CF7B
+:1044A000FF2099F08B2D8F7127960FB6F894DEBF01
+:1044B0000FBECDBFDF91CF911F910F91FF90EF9075
+:1044C000DF90CF90BF900C94E2278B2D8F712796B1
+:1044D0000FB6F894DEBF0FBECDBFDF91CF911F9115
+:1044E0000F91FF90EF90DF90CF90BF900C94FD273D
+:1044F000F110EBCFD7CFFF2099F08B2D8F7127963E
+:104500000FB6F894DEBF0FBECDBFDF91CF911F91E4
+:104510000F91FF90EF90DF90CF90BF900C94D32736
+:1045200027960FB6F894DEBF0FBECDBFDF91CF91B7
+:104530001F910F91FF90EF90DF90CF90BF900C9460
+:10454000CE27FF20A9F0552309F4ACCF862F27965C
+:104550000FB6F894DEBF0FBECDBFDF91CF911F9194
+:104560000F91FF90EF90DF90CF90BF900C94901E32
+:10457000552309F4AACF862F27960FB6F894DEBFED
+:104580000FBECDBFDF91CF911F910F91FF90EF90A4
+:10459000DF90CF90BF900C94581F4B2D4F70C801E7
+:1045A0000E94560327960FB6F894DEBF0FBECDBF0C
+:1045B000DF91CF911F910F91FF90EF90DF90CF90FF
+:1045C000BF900C940027F11082C09B2D9F70492F43
+:1045D00050E04230510599F144F44115510569F01C
+:1045E0004130510509F073C019C043305105C1F184
+:1045F0004430510509F06BC044C027960FB6F894BB
+:10460000DEBF0FBECDBFDF91CF911F910F91FF9005
+:10461000EF90DF90CF90BF900C94763027960FB636
+:10462000F894DEBF0FBECDBFDF91CF911F910F91E8
+:10463000FF90EF90DF90CF90BF900C948D30279635
+:104640000FB6F894DEBF0FBECDBFDF91CF911F91A3
+:104650000F91FF90EF90DF90CF90BF900C94A93016
+:1046600027960FB6F894DEBF0FBECDBFDF91CF9176
+:104670001F910F91FF90EF90DF90CF90BF900C941F
+:10468000BC30862F27960FB6F894DEBF0FBECDBF85
+:10469000DF91CF911F910F91FF90EF90DF90CF901E
+:1046A000BF900C94E0304B2D4F70C80127960FB689
+:1046B000F894DEBF0FBECDBFDF91CF911F910F9158
+:1046C000FF90EF90DF90CF90BF900C944309279616
+:1046D0000FB6F894DEBF0FBECDBFDF91CF911F9113
+:1046E0000F91FF90EF90DF90CF90BF9008950E94C0
+:1046F00011290E9421290E94E6280E943D290E943A
+:10470000482E0E949C2D80E090E00E946F1D80E06A
+:1047100090E00C94851D0E9401290C9477230E943F
+:104720006E28292F22952F7030E02C3031054CF463
+:104730002A3031056CF4225031092230310590F4D1
+:1047400007C02C30310551F02F30310559F406C027
+:10475000803E10F0803F31F481E0089593FB88277C
+:1047600080F9089580E00895CF93DF9300D000D0C2
+:104770001F92CDB7DEB70F900F900F900F900F9054
+:10478000DF91CF910895CF93DF9300D000D000D078
+:10479000CDB7DEB726960FB6F894DEBF0FBECDBFFD
+:1047A000DF91CF9108951F93CF93DF93C091DB02E8
+:1047B00016E012C0D0E01C9FF0011D9FF00D1124E7
+:1047C000E555FD4F408151816281738184819581DE
+:1047D0000E94C3232196C7708091DC02C813EACFE0
+:1047E000DF91CF911F9108954091A5025091A602AB
+:1047F0006091A7027091A8028091A9029091AA02EB
+:104800000C94C3230F931F93CF93DF938091AA023D
+:1048100082958F7009F069C08091A702882309F4FE
+:1048200064C0A091DB02D091DC02B091A502C091DE
+:10483000A6028091A8029091A90221E030E0BF3F3A
+:1048400011F020E030E0122FBC016095709506E079
+:104850004AC0009721F0CF3F29F4212F05C021E065
+:1048600030E002C020E030E020FD3BC04A2F50E0A5
+:10487000049FF001059FF00D1124E555FD4F2181A6
+:10488000C2132FC02081B2132CC02281211129C054
+:10489000238134812817390718F0281B390B02C0EF
+:1048A000260F371F283C3105E0F48091AA028F7053
+:1048B00080618093AA0286E0849FF001859FF00DBD
+:1048C0001124E055FD4F80818F708061808385EADF
+:1048D00092E00E94B71FDF91CF911F910F910C942E
+:1048E000D323AF5FA770AD13B4CFDF91CF911F91EA
+:1048F0000F910895EF92FF920F931F93CF93DF9341
+:10490000CDB7DEB762970FB6F894DEBF0FBECDBF4E
+:104910008C0185E0F801DE011D9601900D928A95CB
+:10492000E1F7D8014C9111965C91119712966C9118
+:1049300012971396ED90FC9014977091A502E09158
+:10494000A6028091A8029091A902009739F0EF3F4A
+:1049500041F421E030E07F3F31F003C021E030E05E
+:1049600002C020E030E020FD5CC12091A70222239C
+:1049700009F4F1C0E816F90628F09701281B390B55
+:10498000C90104C0809590958E0D9F1D883C9105AE
+:1049900008F098C08091AA02982F907F09F064C017
+:1049A000E51314C0741312C0611110C08F708061C0
+:1049B0008093AA020E94F42385EA92E00E94B71F26
+:1049C0008091AA02D80115968C9343C1EF2839F043
+:1049D0005F3F41F481E090E04F3F31F003C081E060
+:1049E00090E002C080E090E080FD03C081E0862777
+:1049F00002C080E090E080FF2EC08091DB02209119
+:104A0000DC0236E013C090E0389FF001399FF00DD2
+:104A10001124E555FD4F7181571306C0708147136E
+:104A200003C07281671317C0019687708213EBCFA2
+:104A300012C19F7059F0882309F40BC107C09F7001
+:104A400029F0F8019581907F09F403C1805E8830D8
+:104A500008F4FFC0D2C0662309F4FBC08091AA020B
+:104A600081608093AA02F5C0E51308C0741306C0E4
+:104A7000611104C0D80115968C939DC04D875E8747
+:104A80008D859E856A8B0E948F236A89882309F40D
+:104A9000B4C0662309F4B1C02091AA02822F829586
+:104AA0008F7090E002970CF4C6C08091A50290919F
+:104AB000A60298878F831986FB86EA862C87CE010B
+:104AC000079646C08091AA02982F907F59F47E2DB8
+:104AD000F98AE88A89890E94B42385EA92E00E94D3
+:104AE000B71F95C0E51311C074130FC061110DC03D
+:104AF000F8018583C8010E94B71FE5EAF2E086E06D
+:104B0000DF011D928A95E9F7A2C04D875E878D85EA
+:104B10009E856A8B0E948F236A89882309F46DC061
+:104B2000662309F46AC02091AA02822F82958F70B1
+:104B300090E002970CF47FC08091A5029091A602AC
+:104B40009A8389831B82FD82EC822E83CE0101969B
+:104B50000E94B71F70C0E816F90628F09701281BBD
+:104B6000390BC90104C0809590958E0D9F1D883C1E
+:104B7000910508F046C0662309F43FC0E51330C034
+:104B800074132EC02091AA0220FD21C0322F32952D
+:104B90003F70832F90E00097D1F0D80115962C93A9
+:104BA00015970F9741F0832F8F5F8295807F2F702D
+:104BB000282B15962C93C8010E94B71F86E0F80198
+:104BC000A5EAB2E001900D928A95E1F73EC086E039
+:104BD000F801A5EAB2E001900D928A95E1F737C09D
+:104BE0004D875E878D859E850E948F23811123C00E
+:104BF0008091AA0281608093AA02C8010E94B71F17
+:104C000026C07E2DF98AE88A89890E94B423E5EAC4
+:104C1000F2E086E0DF011D928A95E9F70E94F42315
+:104C200018C0662351F34D875E878D859E850E944F
+:104C30008F23882311F386E0F801A5EAB2E0019002
+:104C40000D928A95E1F70E9402240E94F42381E0EC
+:104C500014C080E012C04D875E878D859E850E94BE
+:104C60006E28292F22952F7030E0223031050CF468
+:104C7000E0CE243031050CF6E2CE62960FB6F89401
+:104C8000DEBF0FBECDBFDF91CF911F910F91FF907F
+:104C9000EF9008951F93CF93DF93CDB7DEB72C9796
+:104CA0000FB6F894DEBF0FBECDBF4F83588769871C
+:104CB0007A878B879C87CE0107960E947A24882367
+:104CC000D9F02F8138858A859B85892B39F03F3F24
+:104CD00019F080E090E004C02F3FD9F781E090E028
+:104CE000892B09F06DC04F81588569857A858B8540
+:104CF0009C850E94C32364C086E0FE013796DE01D6
+:104D0000119601900D928A95E1F7FF81E8854A8519
+:104D10005B854115510539F0EF3F41F481E090E0AA
+:104D2000FF3F31F003C081E090E002C080E090E0FE
+:104D300080FD46C02091DC0230E0C90101968770F9
+:104D400099276091DB0270E08617970709F440C04D
+:104D5000F983EA835D834C8396E0929FD001939F11
+:104D6000B00D1124A555BD4FFE01319601900D9255
+:104D70009A95E1F78093DC020E94D32321C0189F0B
+:104D8000C001112485559D4F0E947A24882371F11A
+:104D9000E091DB021E9FF0011124E555FD4F40819B
+:104DA000518162817381848195810E94C3238091A6
+:104DB000DB0290E00196877099278093DB0201C0A7
+:104DC00016E08091DB029091DC028913D8CF0EC0EF
+:104DD0000E948B231092DC021092DB02E5EAF2E0E3
+:104DE00086E0DF011D928A95E9F7EACF2C960FB68F
+:104DF000F894DEBF0FBECDBFDF91CF911F91089514
+:104E0000DF92EF92FF920F931F93CF93DF93EC010A
+:104E1000009709F46EC0D12CEE24E394F12C8E019E
+:104E20000F5F1F4FFE018491843748F4843008F0EF
+:104E30004CC0813071F0823009F05BC01EC08537F4
+:104E400009F43FC080F1982F9458903708F051C072
+:104E50003FC02296F8018491982F905E983050F4CC
+:104E60008770FE2D01C0FF0F8A95EAF78F2F0E94F1
+:104E7000142913C00E94901E2FC02296F80184911D
+:104E8000982F905E983060F48770FE2D01C0FF0F60
+:104E90008A95EAF78F2F0E941A290E943D291CC08B
+:104EA0000E94581F19C02296F801049107C08FE98B
+:104EB0009FE00197F1F700C0000001500111F7CF0A
+:104EC0000BC02296F801D49007C00E94901E03C028
+:104ED0008F770E94581FE8018D2D07C08150EFE9A0
+:104EE000FFE03197F1F700C00000882309F497CF65
+:104EF000F5CFDF91CF911F910F91FF90EF90DF9051
+:104F000008956093E1027093E2028093E30290932C
+:104F1000E4020C9477236093DD027093DE028093A9
+:104F2000DF029093E0020C94772308950C9481277C
+:104F30000F931F930091E1021091E2022091E3028E
+:104F40003091E402602B712B822B932B1F910F91D8
+:104F50000C9481270F931F930091E1021091E202BC
+:104F60002091E3023091E402602371238223932392
+:104F70001F910F910C9481270F931F930091E102D1
+:104F80001091E2022091E3023091E4026027712740
+:104F9000822793271F910F910C94812760E070E086
+:104FA000CB010C948B2741E050E060E070E004C03E
+:104FB000440F551F661F771F8A95D2F7CB01BA01A0
+:104FC0000C948B2741E050E060E070E004C0440F97
+:104FD000551F661F771F8A95D2F78091DD02909149
+:104FE000DE02A091DF02B091E002482B592B6A2B20
+:104FF0007B2BCB01BA010C948B2741E050E060E0A1
+:1050000070E004C0440F551F661F771F8A95D2F7C2
+:1050100040955095609570958091DD029091DE02EB
+:10502000A091DF02B091E002482359236A237B2339
+:10503000CB01BA010C948B2741E050E060E070E0B6
+:1050400004C0440F551F661F771F8A95D2F78091C1
+:10505000DD029091DE02A091DF02B091E0024827CC
+:1050600059276A277B27CB01BA010C948B270F9312
+:105070001F930091DD021091DE022091DF0230913A
+:10508000E002602B712B822B932B1F910F910C94BC
+:105090008B270F931F930091DD021091DE02209168
+:1050A000DF023091E00260237123822393231F915A
+:1050B0000F910C948B270F931F930091DD02109199
+:1050C000DE022091DF023091E00260277127822703
+:1050D00093271F910F910C948B270895CF92DF9205
+:1050E000EF92FF920F931F93CF93DF93EC01C09049
+:1050F000E102D090E202E090E302F090E4028091BD
+:10510000DD029091DE02A091DF02B091E002C82A98
+:10511000D92AEA2AFB2A0FE110E0B701A601002EE6
+:1051200004C076956795579547950A94D2F740FF46
+:1051300008C0BE01802F0E94B3048130910509F0A0
+:1051400007C00150110948F7BE0180E00E94B30476
+:10515000DF91CF911F910F91FF90EF90DF90CF9053
+:10516000089540918B0150918C0120E030E09FEF39
+:10517000FA01E20FF31F62816817A1F09F3F19F453
+:10518000611101C0922F2F5F3F4F2630310581F70B
+:1051900007C0FA01E90FF11D97FDFA958283089582
+:1051A0009F3FB9F7089540918B0150918C0120E009
+:1051B00030E0FA01E20FF31F9281981301C01282CE
+:1051C0002F5F3F4F26303105A1F7089581E090E031
+:1051D000E0918B01F0918C01E80FF91F108201968C
+:1051E00088309105A9F708959091E502982B909346
+:1051F000E502089580959091E50298239093E50249
+:1052000008951092E50208959091E602982B9093EC
+:10521000E602089580959091E60298239093E60225
+:1052200008951092E60208959091E702982B9093CA
+:10523000E702089580959091E70298239093E70202
+:1052400008951092E70208958093E802089510925D
+:10525000E802089540918B0150918C0120E030E0EC
+:1052600080E0FA01E20FF31F918191118F5F2F5FB0
+:105270003F4F27303105A9F70895E0918B01F09158
+:105280008C018091E5028083E0918B01F0918C018B
+:1052900080819091E602892B8083E0918B01F091CF
+:1052A0008C0180819091E702892B80839091E802A4
+:1052B000992361F0E0918B01F0918C018081892B21
+:1052C00080830E942A2981110E94272980918B01C5
+:1052D00090918C010C94591D8091FB03843039F11D
+:1052E0001092F20220E488E190E00FB6F894A895BD
+:1052F000809360000FBE2093600080E00E949B03BB
+:1053000080E00E942C0683B7817F846083BF83B7CF
+:10531000816083BF7894889583B78E7F83BF88E14F
+:105320000FB6F89480936000109260000FBE08954D
+:1053300008950895CF9380E00E949B030E949829CE
+:105340000E94E9070E949929C0E08C2F0E94390928
+:10535000892B29F4CF5FC530C1F780E001C081E01F
+:10536000CF9108950E948B2380E00E949B030E94AE
+:1053700065300E944D1D0C942C061F920F920FB6A3
+:105380000F9211248F939F93AF93BF938091F2025A
+:10539000811113C08091F3029091F402A091F50263
+:1053A000B091F6024196A11DB11D8093F302909336
+:1053B000F402A093F502B093F602BF91AF919F91D2
+:1053C0008F910F900FBE0F901F90189582E084BDB3
+:1053D00093E095BD9AEF97BD80936E0008958FB7C7
+:1053E000F8944091F3025091F4026091F5027091AB
+:1053F000F6028FBFCA010895CF92DF92EF92FF921B
+:105400000F931F932FB7F8944091F3025091F40239
+:105410006091F5027091F6022FBF6A017B01EE24C4
+:10542000FF248C0120E030E0C016D106E206F3062E
+:1054300020F09A01281B390B05C09C01209530955E
+:10544000240F351FC9011F910F91FF90EF90DF903E
+:10545000CF9008951F920F920FB60F9211248F9341
+:105460009F93AF93BF938091F3029091F402A09128
+:10547000F502B091F6020196A11DB11D8093F302D1
+:105480009093F402A093F502B093F602BF91AF910E
+:105490009F918F910F900FBE0F901F9018950E94B3
+:1054A0009516F8942FEF87EA91E6215080409040BE
+:1054B000E1F700C0000087E090EBDC018093050479
+:1054C00090930604A0930704B09308042CE088E1AD
+:1054D00090E00FB6F894A895809360000FBE2093DB
+:1054E0006000FFCFCF92DF92EF92FF920F931F9356
+:1054F000CF93DF93C82ED12C01E010E08D2D0E94B8
+:1055000039097C01C0E0D0E098010C2E02C0220FC6
+:10551000331F0A94E2F72E213F21232B29F42196F1
+:10552000CC30D10589F708C06C2F7D2D80E00E941A
+:105530008E04C812F4CF06C0D39485E0D812DECF13
+:1055400080E001C081E0DF91CF911F910F91FF902A
+:10555000EF90DF90CF900895CF93C82F8CE20E94F8
+:10556000722A882321F08C2FCF910C94722A80E02C
+:10557000CF910895CF930E94FD2B811102C00E940C
+:10558000DE2BC5E608C00E94E9078FE39CE901977E
+:10559000F1F700C00000C150B1F789E20E94AC2AC7
+:1055A00081110AC18AE20E94AC2A81110E94DE2B7D
+:1055B00085E00E94AC2A81110E944F2A0E94082C8B
+:1055C0008093F10287E00E94AC2A882399F18BE155
+:1055D0000E94AC2A882351F09091F10291FB882718
+:1055E00080F921E0822780FB91F922C08EE00E94A1
+:1055F000AC2A882351F09091F10292FB882780F920
+:1056000021E0822780FB92F913C080E10E94AC2A3E
+:105610009091F102882341F093FB882780F921E0E3
+:10562000822780FB93F904C0892F809580FB90F935
+:105630009093F1028091F1020E940C2C0E941A2C8E
+:105640008093020380EE0E94AC2A882341F080916F
+:105650000203982F909590FB80F98093020389E3D1
+:105660000E94AC2A882359F09091020391FB88276D
+:1056700080F921E0822780FB91F99093020382EE6A
+:105680000E94AC2A882359F09091020392FB88274C
+:1056900080F921E0822780FB92F99093020386EE45
+:1056A0000E94AC2A882359F09091020393FB88272B
+:1056B00080F921E0822780FB93F99093020383EE27
+:1056C0000E94AC2A882359F09091020394FB88270A
+:1056D00080F921E0822780FB94F99093020385E30F
+:1056E0000E94AC2A882359F09091020395FB8827E9
+:1056F00080F921E0822780FB95F99093020381E3F2
+:105700000E94AC2A882359F09091020396FB8827C7
+:1057100080F921E0822780FB96F99093020381E1D2
+:105720000E94AC2A882359F09091020397FB8827A6
+:1057300080F921E0822780FB97F990930203809102
+:1057400002030E941E2C87E20E94AC2AC82F8EE121
+:105750000E94AC2A8111C2608FE10E94AC2A8111A3
+:10576000C46080E20E94AC2A8111C86081E20E947C
+:10577000AC2A8111C06182E20E94AC2A8111C06210
+:1057800083E20E94AC2A8111C06484E20E94AC2AA8
+:10579000882311F0C06802C0CC2329F08C2F0E940E
+:1057A000152C6C2F03C00E94112C682F70E080E034
+:1057B00090E0CF910C949627CF9108956DEE7EEFF7
+:1057C00080E090E00E94CC3460E082E090E00E94B3
+:1057D000BE3460E083E090E00E94BE3460E084E08C
+:1057E00090E00E94BE3460E085E090E00E94BE340C
+:1057F00060E086E090E00C94BE3480E090E00E948F
+:10580000B83421E08D3E9E4F09F020E0822F0895AC
+:1058100082E090E00C94B034682F82E090E00C9429
+:10582000BE3483E090E00C94B034682F83E090E0C5
+:105830000C94BE3484E090E00C94B034682F84E083
+:1058400090E00C94BE3486E090E00C94B034682F65
+:1058500086E090E00C94BE348091FF0280FF0BC084
+:105860006091900185E0689FB0011124759567955E
+:10587000759567952AC081FF09C06091900185E008
+:10588000689FB0011124759567951FC082FF07C0FE
+:105890006091900185E0689FB001112416C040918D
+:1058A000F9024423C9F060918F01461788F72091CF
+:1058B000900185E0289F90011124429FC001439FE1
+:1058C000900D112470E00E949C346038710540F402
+:1058D0006115710539F002C065E070E0862F08950A
+:1058E0008FE7089581E008958091FF0280FF08C04E
+:1058F00060918E0170E0759567957595679521C0EB
+:1059000081FF06C060918E0170E07595679519C0A2
+:1059100082FF04C060918E0170E010C08091F90296
+:105920008823C1F060918D018617A0F790918E01B8
+:10593000989FC001112470E00E949C34603871056A
+:1059400028F46115710521F0862F08958FE70895D9
+:1059500081E0089561E070E0F4CF803F21F40E947F
+:105960002C2C819504C0813F29F40E942C2C80931B
+:10597000FC020895823F21F40E942C2C819504C0E2
+:10598000833F29F40E942C2C8093FB020895893FC9
+:1059900019F40E94742C05C08A3F31F40E94742CC3
+:1059A00081958093FD0208958B3F21F40E94742C11
+:1059B000819504C08C3F29F40E94742C8093FE02D0
+:1059C0000895843F21F48091FA02816017C0853FD9
+:1059D00021F48091FA02826011C0863F21F4809107
+:1059E000FA0284600BC0873F21F48091FA0288603C
+:1059F00005C0883F31F48091FA0280618093FA02F9
+:105A000008958D3F21F48091FF0281600BC08E3F8D
+:105A100021F48091FF02826005C08F3F29F48091BC
+:105A2000FF0284608093FF020895803F29F48091F3
+:105A3000FC0287FF6EC007C0813F41F48091FC02E9
+:105A400018160CF066C01092FC0263C09091FB0225
+:105A5000823F19F497FF5DC005C0833F31F41916EA
+:105A60000CF057C01092FB0254C0893F31F4809172
+:105A7000FD0218160CF04DC006C08A3F39F4809123
+:105A8000FD0287FF46C01092FD0243C08B3F29F400
+:105A90008091FE0287FF3DC006C08C3F39F48091A3
+:105AA000FE021816B4F51092FE0233C0843F21F4B2
+:105AB0008091FA028E7F05C0853F31F48091FA0211
+:105AC0008D7F8093FA0225C0863F21F48091FA02EF
+:105AD0008B7FF7CF873F21F48091FA02877FF1CF48
+:105AE000883F21F48091FA028F7EEBCF8D3F21F425
+:105AF0008091FF028E7F0BC08E3F21F48091FF02C8
+:105B00008D7F05C08F3F29F48091FF028B7F8093AA
+:105B1000FF028091FB0281110EC08091FC02811175
+:105B20000AC08091FD02811106C08091FE028111A0
+:105B300002C01092F90208958AEF92E00E94641D5B
+:105B40000E94EF299093F8028093F7020895CF9373
+:105B50008091F7029091F8020E94FC294091F9028D
+:105B6000442321F02091910130E006C02091920160
+:105B70005AE0259F900111248217930708F486C0EC
+:105B80008091FB0281110DC09091FC02911109C01E
+:105B90009091FD02911105C09091FE02992309F4A4
+:105BA00075C04F3F19F04F5F4093F902181624F467
+:105BB0000E942C2C8093FB028091FB0287FF05C082
+:105BC0000E942C2C81958093FB028091FC02181678
+:105BD00024F40E942C2C8093FC028091FC0287FF0D
+:105BE00005C00E942C2C81958093FC026091FB02E1
+:105BF000662339F1C091FC02CC2319F1772767FDA8
+:105C00007095872F972F0E94003223E333E343E3FD
+:105C10005FE30E94B4320E94CD316093FB026C2F8F
+:105C2000772767FD7095872F972F0E94003223E317
+:105C300033E343E35FE30E94B4320E94CD316093CB
+:105C4000FC028091FD02181624F40E94742C8093AB
+:105C5000FD028091FD0287FF05C00E94742C819592
+:105C60008093FD028091FE02181624F40E94742C89
+:105C70008093FE028091FE0287FF05C00E94742C73
+:105C800081958093FE02CF910C949C2DCF91089525
+:105C9000EAEFF2E085E0DF011D928A95E9F71092C4
+:105CA000F9021092FF020895833089F130F48130B7
+:105CB00061F0823009F06EC019C0853009F449C026
+:105CC000B8F1863009F066C055C020919201862F48
+:105CD00090E0820F911D8F3F910520F4620F609339
+:105CE000920108958FEF8093920108952091910180
+:105CF000862F90E0820F911D8F3F910520F4620F57
+:105D00006093910108958FEF809391010895209100
+:105D10009001862F90E0820F911D8F3F910520F416
+:105D2000620F6093900108958FEF80939001089522
+:105D300020918F01862F90E0820F911D8F3F91055A
+:105D400020F4620F60938F0108958FEF80938F018D
+:105D5000089520918E01862F90E0820F911D8F3F34
+:105D6000910520F4620F60938E0108958FEF809368
+:105D70008E01089520918D01862F90E0820F911D54
+:105D80008F3F910520F4620F60938D0108958FEF8E
+:105D900080938D010895833021F130F4813059F0E2
+:105DA000823009F049C012C0853089F128F186306F
+:105DB00009F042C037C080919201681720F4861B19
+:105DC000809392010895109292010895809191011B
+:105DD000681720F4861B8093910108951092910119
+:105DE000089580919001681720F4861B809390019C
+:105DF000089510929001089580918F01681720F402
+:105E0000861B80938F01089510928F0108958091D1
+:105E10008E01681720F4861B80938E0108951092DE
+:105E20008E01089580918D01681720F4861B809360
+:105E30008D01089510928D01089541E050E060E0D9
+:105E400070E004C0440F551F661F771F8A95D2F774
+:105E5000CB01BA010E9496270C948B23873200F560
+:105E60008E3108F089C08E3009F469C060F4873043
+:105E700009F44DC018F4863049F531C0883041F13D
+:105E80008B3021F57EC0863109F47BC018F4803157
+:105E9000E9F45FC0893109F474C08B31B9F445C0AD
+:105EA000883309F46EC048F4893209F467C0853339
+:105EB00009F464C0873251F461C0833409F45EC0D0
+:105EC00018F48A3318F056C0883499F080E00895A9
+:105ED0000E94082C0E941A2C0E94232C52C08091F0
+:105EE000F102817F8E7F8093F10281E08093000335
+:105EF00008950E948B232FEF83ED90E32150804083
+:105F00009040E1F700C000000E944F2A3AC09091F3
+:105F1000F102892F8095817080FB90F919F09660CD
+:105F2000986025C0997F977F22C09091F10291FBE4
+:105F3000882780F921E0822780FB91F913C0909196
+:105F4000F10292FB882780F921E0822780FB92F9F9
+:105F500009C09091F10293FB882780F921E0822704
+:105F600080FB93F99093F102882359F0916090930C
+:105F7000F10207C0895303C08D5101C080E00E9427
+:105F80001D2F81E0089580E0089580E00895CF936B
+:105F9000C82F80910003813071F020F0823009F029
+:105FA00089C037C0A0918B01B0918C018C91823255
+:105FB00009F082C007C0A0918B01B0918C018C9137
+:105FC000823249F48C2F0E94C32F81111EC08C2F66
+:105FD0000E942E2F1CC08C2F0E94C52F811115C02E
+:105FE000C43169F030F4CB3081F0C03109F068C0C1
+:105FF00009C0C93221F0C83309F062C006C010924E
+:1060000000035EC082E08093000381E090E0817035
+:106010005AC0C932C9F060F4C431B1F020F4C730BD
+:1060200009F04CC034C0CE51C63008F047C017C08C
+:10603000CE3439F120F4CB3409F040C01CC0C13556
+:10604000C1F0C235D9F513C080910103882319F03E
+:106050001092010333C081E08093000334C0EC2F21
+:10606000F0E0E25EFD4F80818093010327C061E094
+:1060700003C061E007C06AE0809101030E94542ED2
+:106080001DC06AE0809101030E94CB2E17C08EE1F3
+:106090008093920182E3809391018AE08093900142
+:1060A00084E180938F0188E080938E0188E2809361
+:1060B0008D0104C01092000380E005C081E003C0A0
+:1060C00080E090E0A4CFCF9108950E94FD2B811134
+:1060D00002C00E94DE2B0E94232C8093040480FFC8
+:1060E00002C0869501C080E00C949B03809104045B
+:1060F000982F9695292F30E0233031054CF49F5F7F
+:10610000990F8170892B8160809304040E94272C51
+:106110008091040486950C949B0380910404982F2D
+:10612000969591F09158990F8170892B8093040472
+:106130008E7F91E009F490E08091040490FB80F957
+:10614000809304040E94272C8091040486950C946B
+:106150009B0380910404982F909590FB80F9809385
+:1061600004040E94272C8091040480FF02C08695BD
+:1061700001C080E00C949B0330910404232F2695EA
+:106180002F5F2F77822F90E0317004972CF4220F2D
+:10619000232B2093040402C0309304048091040450
+:1061A000282F2E7F91E009F490E090FB80F98093F6
+:1061B00004040E94272C8091040486950C949B0370
+:1061C00020910404922F96959827990F822F817021
+:1061D000892B809304048E7F91E009F490E08091F4
+:1061E000040490FB80F9809304040E94272C809182
+:1061F000040486950C949B035058BB27AA270ED005
+:1062000075C166D130F06BD120F031F49F3F11F4AD
+:106210001EF45BC10EF4E095E7FB51C1E92F77D185
+:1062200080F3BA17620773078407950718F071F4B3
+:106230009EF58FC10EF4E0950B2EBA2FA02D0B0109
+:10624000B90190010C01CA01A0011124FF27591BBB
+:1062500099F0593F50F4503E68F11A16F040A22FC1
+:10626000232F342F4427585FF3CF46953795279532
+:10627000A795F0405395C9F77EF41F16BA0B620B31
+:10628000730B840BBAF09150A1F0FF0FBB1F661F78
+:10629000771F881FC2F70EC0BA0F621F731F841FBB
+:1062A00048F4879577956795B795F7959E3F08F0E1
+:1062B000B3CF9395880F08F09927EE0F97958795A0
+:1062C0000895D9D008F481E008950CD00FC107D10A
+:1062D00040F0FED030F021F45F3F19F0F0C05111D2
+:1062E00039C1F3C014D198F39923C9F35523B1F3FD
+:1062F000951B550BBB27AA2762177307840738F035
+:106300009F5F5F4F220F331F441FAA1FA9F333D093
+:106310000E2E3AF0E0E830D091505040E695001C47
+:10632000CAF729D0FE2F27D0660F771F881FBB1F03
+:10633000261737074807AB07B0E809F0BB0B802DDD
+:10634000BF01FF2793585F4F2AF09E3F510568F029
+:10635000B6C000C15F3FECF3983EDCF386957795BD
+:106360006795B795F7959F5FC9F7880F911D96952B
+:10637000879597F90895E1E0660F771F881FBB1F87
+:10638000621773078407BA0720F0621B730B840B34
+:10639000BA0BEE1F88F7E095089504D06894B11108
+:1063A000D9C00895BCD088F09F5790F0B92F992795
+:1063B000B751A0F0D1F0660F771F881F991F1AF010
+:1063C000BA95C9F712C0B13081F0C3D0B1E00895D9
+:1063D000C0C0672F782F8827B85F39F0B93FCCF35A
+:1063E000869577956795B395D9F73EF49095809506
+:1063F000709561957F4F8F4F9F4F0895E89409C026
+:1064000097FB3EF490958095709561957F4F8F4FE7
+:106410009F4F9923A9F0F92F96E9BB279395F695FD
+:10642000879577956795B795F111F8CFFAF4BB0F7B
+:1064300011F460FF1BC06F5F7F4F8F4F9F4F16C0DF
+:10644000882311F096E911C0772321F09EE8872F69
+:10645000762F05C0662371F096E8862F70E060E025
+:106460002AF09A95660F771F881FDAF7880F96959E
+:10647000879597F90895990F0008550FAA0BE0E842
+:10648000FEEF16161706E807F907C0F012161306F6
+:10649000E407F50798F0621B730B840B950B39F436
+:1064A0000A2661F0232B242B252B21F408950A269C
+:1064B00009F4A140A6958FEF811D811D089597F9DC
+:1064C0009F6780E870E060E008959FEF80EC08959A
+:1064D00000240A94161617061806090608950024C3
+:1064E0000A9412161306140605060895092E03943D
+:1064F000000C11F4882352F0BB0F40F4BF2B11F4B1
+:1065000060FF04C06F5F7F4F8F4F9F4F089557FD0F
+:106510009058440F551F59F05F3F71F04795880F11
+:1065200097FB991F61F09F3F79F0879508951216A8
+:1065300013061406551FF2CF4695F1DF08C0161654
+:1065400017061806991FF1CF869571056105089405
+:106550000895E894BB2766277727CB0197F908951C
+:106560008ADF08F48FEF08950BD0C0CFB1DF28F099
+:10657000B6DF18F0952309F0A2CFA7CF1124EACFF8
+:10658000C6DFA0F3959FD1F3950F50E0551F629F92
+:10659000F001729FBB27F00DB11D639FAA27F00D7C
+:1065A000B11DAA1F649F6627B00DA11D661F829FA3
+:1065B0002227B00DA11D621F739FB00DA11D621F88
+:1065C000839FA00D611D221F749F3327A00D611DA5
+:1065D000231F849F600D211D822F762F6A2F112487
+:1065E0009F5750408AF0E1F088234AF0EE0FFF1FDA
+:1065F000BB1F661F771F881F91505040A9F79E3F11
+:10660000510570F05CCFA6CF5F3FECF3983EDCF312
+:10661000869577956795B795F795E7959F5FC1F74D
+:10662000FE2B880F911D9695879597F90895FA018D
+:10663000EE0FFF1F30962105310599F161157105A7
+:1066400061F48038BFE39B0749F168949038810575
+:1066500061F08038BFEF9B0741F0992342F5FF3F7F
+:10666000E1053105210511F1E8940894E795D90178
+:10667000AA2329F4AB2FBE2FF85FD0F310C0FF5F21
+:1066800070F4A695E0F7F73950F019F0FF3A38F4B6
+:106690009F779F930CD00F9007FC905808953EF081
+:1066A00014CF60E070E080E89FE308954FE79F77A4
+:1066B0005F934F933F932F939ED02F913F914F9194
+:1066C0005F9152DF05C019F40EF0F9CE42CFFDCE36
+:1066D00026DFC8F39638C0F707F80F92E8942BE34B
+:1066E0003AEA48EB5FE74EDF0F920F920F924DB7F9
+:1066F0005EB70F92C0D0ECEAF0E016D04F915F91F8
+:10670000EF91FF91E595EE1FFF1F49F0FE57E068FE
+:106710004427EE0F441FFA95E1F74195550B32D00F
+:106720000F9007FE26C00895DF93CF931F930F931A
+:10673000FF92EF92DF927B018C01689405C0DA2E04
+:10674000EF011EDFFE01E894A59125913591459159
+:106750005591AEF3EF0162DDFE019701A801DA94D5
+:1067600079F7DF90EF90FF900F911F91CF91DF911C
+:1067700008959B01AC0160E070E080E89FE3A5CD47
+:106780009ECEACC0CCDEE8F39923D9F3940F511D13
+:10679000BBF39150504094F059F0882332F0660FCB
+:1067A000771F881F91505040C1F79E3F510544F715
+:1067B000880F911D9695879597F908955F3FACF0E6
+:1067C000983E9CF0BB27869577956795B79508F41A
+:1067D000B1609395C1F7BB0F58F711F460FFE8CF94
+:1067E0006F5F7F4F8F4F9F4FE3CFB4CE0EF076C0D9
+:1067F0006CCE689464CE93DEC8F39923D1F3C6F3CC
+:10680000DF93CF931F930F93FF92C92FDD27882328
+:106810002AF02197660F771F881FDAF720E030E013
+:1068200040E85FEB9FE3883920F0803E30F021960E
+:106830008F77E3DCE4EDF0E003C0DFDCE1E0F1E0E2
+:1068400073DF8B01BE01EC01FB2E6F57710975954B
+:10685000771F880B990BD4DD28E132E741E35FE332
+:106860008FDEAF2D9801AE01FF900F911F91CF9158
+:10687000DF91D4DC3BCEFA01DC01AA0FBB1F9B01E8
+:10688000AC01BF5728F422273327442750781FC074
+:10689000B75188F4AB2F0024469537952795011CF6
+:1068A000A395D2F3002069F0220F331F441FB39544
+:1068B000DAF30DD0A1CC61307105A0E88A07B946A2
+:1068C00030F49B01AC0166277727882790783096B3
+:1068D00021F0208331834283538308959F3F31F019
+:1068E000915020F4879577956795B795880F911DFE
+:1068F0009695879597F90895991B79E004C0991F9B
+:10690000961708F0961B881F7A95C9F78095089509
+:10691000AA1BBB1B51E107C0AA1FBB1FA617B707C5
+:1069200010F0A61BB70B881F991F5A95A9F78095E1
+:106930009095BC01CD01089597FB072E16F40094A5
+:1069400007D077FD09D00E94883407FC05D03EF4BB
+:10695000909581959F4F0895709561957F4F08950B
+:10696000F999FECF92BD81BDF89A992780B5089517
+:10697000A8E1B0E042E050E00C94D334262FF9991E
+:10698000FECF1FBA92BD81BD20BD0FB6F894FA9A12
+:10699000F99A0FBE019608950E94BE34272F0C94D9
+:1069A000BF34DC01CB01FC01F999FECF06C0F2BD7A
+:1069B000E1BDF89A319600B40D9241505040B8F7BD
+:0669C0000895F894FFCFDA
+:1069C60055D0A446000016440000000000004842CE
+:1069D60061978A460000C843000000000000484254
+:1069E60055D024460000C84300000000000048427D
+:1069F60000005C460000C84300000000000048425A
+:106A060061978A4600007A4455D0A4460000C843E0
+:106A1600000000000000484200005C460000C84339
+:106A2600000000000000484255D0244600001644ED
+:106A36000507000C05854000000106400000010026
+:106A4600B91049112511F010BC1001E902280814EB
+:106A56000A321E4200450025002600430061006000
+:106A660000200037006400650066006700440046A9
+:106A7600002400470000000200040005000700098A
+:106A8600000B000C000E001000110013001500177B
+:106A96000018001A001C001D001F002100230024FE
+:106AA600002600280029002B002D002F0030003280
+:106AB6000034003500370039003B006E048704A01F
+:106AC60004B904E10594055E053E053F4D362002F6
+:106AD60003020000010001010101010001010102A0
+:086AE60003040506070809007E
+:00000001FF