diff options
author | Jack Humbert <jack.humb@gmail.com> | 2016-01-06 00:02:27 -0500 |
---|---|---|
committer | Jack Humbert <jack.humb@gmail.com> | 2016-01-06 00:02:27 -0500 |
commit | ff8f171cc10e933c08d3351a1df85556ac2557ef (patch) | |
tree | 88d0410d7eddbe7d19d06f97881a0c0da8d111fe | |
parent | 670256c943afc73cf713a6fbfa5b51adbbaf53ac (diff) | |
parent | bee19e5261b9c4be53932d4fe12424685369921e (diff) |
Merge pull request #70 from sperochon/ergodox_ez_fr
Ergodox_ez french OS X
-rw-r--r-- | keyboard/ergodox_ez/keymaps/keymap_osx_fr.c | 187 | ||||
-rw-r--r-- | keyboard/ergodox_ez/keymaps/keymap_osx_fr.hex | 1471 | ||||
-rw-r--r-- | quantum/keymap_extras/keymap_french_osx.h | 77 |
3 files changed, 1735 insertions, 0 deletions
diff --git a/keyboard/ergodox_ez/keymaps/keymap_osx_fr.c b/keyboard/ergodox_ez/keymaps/keymap_osx_fr.c new file mode 100644 index 0000000000..4b59d2eb29 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/keymap_osx_fr.c @@ -0,0 +1,187 @@ +// French AZERTY version of the default_osx file +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" +#include "keymap_extras/keymap_french_osx.h" + +#define BASE 0 // default layer +#define SYMB 1 // symbols +#define MDIA 2 // media keys + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | - | & | é | " | ' | ( | LEFT | | RIGHT| § | è | ! | ç | à | ) | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Del | A | Z | E | R | T | L1 | | L1 | Y | U | I | O | P | ` | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | BkSp | Q | S | D | F | G |------| |------| H | J | K | L | M | LGui | + * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| + * | LShift |W/Ctrl| X | C | V | B | | | | N | , |; / L2| : |=/Ctrl| RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | ù /L1| < |AltShf| Left | Right| | Up | Down | ^ | $ | ~L1 | + * `----------------------------------' `----------------------------------' + * ,-------------. ,---------------. + * | App | LGui | | Alt |Ctrl/Esc| + * ,------|------|------| |------+--------+------. + * | | | Home | | PgUp | | | + * | Space|Backsp|------| |------| Tab |Enter | + * | |ace | End | | PgDn | | | + * `--------------------' `----------------------' + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[BASE] = KEYMAP( // layer 0 : default + // left hand + FR_MINS, FR_AMP, FR_EACU, FR_QUOT, FR_APOS, FR_LPRN, KC_LEFT, + KC_DELT, FR_A, FR_Z, KC_E, KC_R, KC_T, TG(1), + KC_BSPC, FR_Q, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, CTL_T(FR_W), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), + LT(SYMB,FR_UGRV), FR_LESS, LALT(KC_LSFT), KC_LEFT, KC_RGHT, + ALT_T(KC_APP), KC_LGUI, + KC_HOME, + KC_SPC, KC_BSPC, KC_END, + + // right hand + KC_RGHT, FR_SECT, FR_EGRV, FR_EXLM, FR_CCED, FR_AGRV, FR_RPRN, + TG(1), KC_Y, KC_U, KC_I, KC_O, KC_P, FR_GRV, + KC_H, KC_J, KC_K, KC_L, FR_M, KC_LGUI, + MEH_T(KC_NO), KC_N, FR_COMM, LT(MDIA, FR_SCLN), FR_COLN, CTL_T(FR_EQL), KC_RSFT, + KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, KC_FN1, + KC_LALT, CTL_T(KC_ESC), + KC_PGUP, + KC_PGDN, KC_TAB, KC_ENT + ), +/* Keymap 1: Symbol Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | , | 0 | = | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// SYMBOLS +[SYMB] = KEYMAP( + // left hand + KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS,FR_EXLM,FR_AT, FR_LCBR,FR_RCBR,FR_PIPE,KC_TRNS, + KC_TRNS,FR_HASH,FR_DLR, FR_LPRN,FR_RPRN,FR_GRV, + KC_TRNS,FR_PERC,FR_CIRC,FR_LBRC,FR_RBRC,FR_TILD,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS, + KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS, + // right hand + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_UP, FR_7, FR_8, FR_9, FR_ASTR, KC_F12, + KC_DOWN, FR_4, FR_5, FR_6, FR_PLUS, KC_TRNS, + KC_TRNS, FR_AMP, FR_1, FR_2, FR_3, FR_BSLS, KC_TRNS, + KC_TRNS,FR_COMM, FR_0, FR_EQL, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), +/* Keymap 2: Media and mouse keys + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | MsUp | | | | | | | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | | Prev | Next | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | |Brwser| + * | | |------| |------| |Back | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// MEDIA AND MOUSE +KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + // right hand + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, + KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_WBAK +), +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + } + break; + } + return MACRO_NONE; +}; + +// Runs just one time when the keyboard initializes. +void * matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void * matrix_scan_user(void) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + // TODO: Make this relevant to the ErgoDox EZ. + case 1: + ergodox_right_led_1_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + default: + // none + break; + } + +};
\ No newline at end of file diff --git a/keyboard/ergodox_ez/keymaps/keymap_osx_fr.hex b/keyboard/ergodox_ez/keymaps/keymap_osx_fr.hex new file mode 100644 index 0000000000..8915d9caa5 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/keymap_osx_fr.hex @@ -0,0 +1,1471 @@ +:100000000C9400070C9444070C9444070C94440788 +:100010000C9444070C9444070C9444070C94440734 +:100020000C9444070C9444070C9458120C942A1313 +:100030000C9444070C9444070C9444070C94440714 +:100040000C9444070C94022C0C9444070C94440721 +:100050000C9444070C94FA210C9444070C94440724 +:100060000C9444070C9444070C9444070C944407E4 +:100070000C9444070C9444070C9444070C944407D4 +:100080000C9444070C9444070C9444070C944407C4 +:100090000C9444070C9444070C9444070C944407B4 +:1000A0000C9444070C9444070C9444079713B91319 +:1000B000A714B913A714FE132114A71476148914D6 +:1000C000D017D017FF17FF17431881189B1A9B1AD8 +:1000D0009A189B1A9B199B196F1A9B1A9B1A861ABE +:1000E0000000F0A12E004C002A00E1003481000045 +:1000F0001E00140004001D7164004D001F001A0052 +:1001000016001B00E1042A0020000800070006007A +:1001100050002C0021001500090019004F004A0072 +:10012000220017000A000500000065745000015409 +:100130000000007F0000E3004F0001540000007742 +:100140000000E20023001C000B00110000002971D8 +:10015000240018000D00100052004B0025000C0078 +:100160000E00368251002800260012000F003700D2 +:100170002F002B00270013003300387130004E0091 +:100180002D003200E300E500C10000000100010085 +:1001900001000100010000003A0025003502340290 +:1001A000010001003B00350030002F00010001007C +:1001B0003C00220422002206010001003D002D0423 +:1001C0002D002D06010001003E000F063200110433 +:1001D000000001000100010000000100000001001A +:1001E0000100010000000100000001003F0052007A +:1001F00051001E00000001004000240221021E02E6 +:10020000010001004100250222021F02100001002E +:10021000420026022302200227020100430030028E +:100220003802370638000100440045000100010093 +:1002300001000000010001000100010001000000B8 +:1002400001000100010001000100010001000100A6 +:10025000F2000100010001000100F000F1000100C6 +:10026000F400010001000100F3000100F5000100AD +:100270000100010001000100000001000100010077 +:100280000000010000000100010001000000010069 +:100290000000010001000100010001000000010058 +:1002A0000100010001000100A9000100010001009E +:1002B0000100AC00AA00B600010001000100AB0083 +:1002C000A80001000100010001000100010001007F +:1002D00001000100AE000100010000000A0025300D +:1002E000313662003A200025303258000A722F63FE +:1002F0002030313233343536373839414243444582 +:10030000460A000A002530325800626F756E636538 +:10031000213A20006C6566742073696465206174FD +:100320007461636865640A006C656674207369644F +:1003300065206E6F7420726573706F6E64696E678E +:100340000A00747279696E6720746F207265736534 +:1003500074206D637032333031380A000A444542EC +:1003600055473A20656E61626C65642E0A005B73C6 +:100370005D004B6579626F617264207374617274A1 +:100380002E0A005B575D005B535D005B525D005BB6 +:10039000445D005B435D0016034500720067006F1B +:1003A0000044006F007800200045005A000000164D +:1003B000034500720067006F0044006F0078002062 +:1003C0000045005A0000000403090409028D0005DD +:1003D0000100A0FA09040000010301010009211134 +:1003E000010001223F000705810308000A090401FA +:1003F000000103010200092111010001224D000743 +:1004000005820308000A0904020001030000000934 +:1004100021110100012236000705830308000A09A3 +:100420000403000203000000092111010001222041 +:1004300000070584032000010705040320000109CB +:100440000404000103000000092111010001223908 +:1004500000070585031000011201100100000008CB +:10046000EDFE071301000102000105010906A101CB +:10047000050719E029E71500250195087501810296 +:100480000508190129059505750191029501750366 +:100490009101050719002977150025019578750147 +:1004A0008102C00631FF0974A1010975150025FFFD +:1004B0009520750881020976150025FF952075089D +:1004C0009102C005010980A101850216010026B72D +:1004D000001A01002AB700751095018100C0050CB3 +:1004E0000901A1018503160100269C021A01002AB8 +:1004F0009C02751095018100C005010902A1010946 +:1005000001A10005091901290515002501950575A9 +:100510000181029501750381010501093009311539 +:1005200081257F95027508810609381581257F95FB +:100530000175088106050C0A38021581257F950191 +:1005400075088106C0C005010906A101050719E06B +:1005500029E71500250195087501810295017508A7 +:10056000810105081901290595057501910295017B +:10057000750391010507190029FF150025FF950650 +:1005800075088100C00A002530325820006B65795B +:10059000626F6172645F7265706F72743A20000AF4 +:1005A0000025303258006B6579626F6172645F7349 +:1005B00065745F6C65643A200064656C5F6B657997 +:1005C0005F6269743A2063616E27742064656C3AD7 +:1005D00020253032580A006164645F6B65795F6280 +:1005E00069743A2063616E2774206164643A20253F +:1005F0003032580A00646F6E652E0A00626F6F67B2 +:100600006D61676963207363616E3A202E2E2E2020 +:1006100000290A002575002F002575005D2800259A +:10062000640020002564002000256400200025646B +:10063000007C0025303258006D6F7573656B6579ED +:10064000205B62746E7C782079207620685D287249 +:1006500065702F61636C293A205B006D6B5F776872 +:1006600065656C5F74696D655F746F5F6D6178203F +:100670003D2025640A006D6B5F776865656C5F6D72 +:1006800061785F7370656564203D2025640A006DA4 +:100690006B5F74696D655F746F5F6D6178203D207D +:1006A00025640A006D6B5F6D61785F7370656564CA +:1006B000203D2025640A006D6B5F696E746572765B +:1006C000616C203D2025640A006D6B5F64656C6180 +:1006D00079203D2025640A006D6B5F776865656C45 +:1006E0005F74696D655F746F5F6D6178203D202573 +:1006F000640A006D6B5F776865656C5F6D61785F3C +:100700007370656564203D2025640A006D6B5F741D +:10071000696D655F746F5F6D6178203D2025640AA7 +:10072000006D6B5F6D61785F7370656564203D205F +:1007300025640A006D6B5F696E74657276616C206A +:100740003D2025640A006D6B5F64656C6179203D16 +:100750002025640A000A00257500363A207768656E +:10076000656C5F74696D655F746F5F6D61783A2069 +:10077000000A00257500353A20776865656C5F6D65 +:1007800061785F73706565643A20000A0025750022 +:10079000343A2074696D655F746F5F6D61783A20DB +:1007A000000A00257500333A206D61785F7370652B +:1007B00065643A20000A00257500323A20696E749B +:1007C000657276616C286D73293A20000A002575E0 +:1007D00000313A2064656C6179282A31306D7329C3 +:1007E0003A20000A092D2056616C756573202D0A88 +:1007F000004D3E004D25643E20003F00736574208F +:1008000064656661756C740A00433E200077686514 +:1008100072652064656C74613A20637572736F72DF +:100820003D25642C20776865656C3D25640A536519 +:100830006520687474703A2F2F656E2E77696B6926 +:1008400070656469612E6F72672F77696B692F4DD0 +:100850006F7573655F6B6579730A000A092D204D0A +:100860006F7573656B6579202D0A4553432F713A77 +:1008700009717569740A313A0964656C6179282ACD +:1008800031306D73290A323A09696E746572766186 +:100890006C286D73290A333A096D61785F7370654E +:1008A00065640A343A0974696D655F746F5F6D61E0 +:1008B000780A353A09776865656C5F6D61785F73B2 +:1008C000706565640A363A09776865656C5F7469B6 +:1008D0006D655F746F5F6D61780A0A703A097072B6 +:1008E000696E742076616C7565730A643A09736584 +:1008F000742064656661756C74730A75703A092BAF +:10090000310A646F776E3A092D310A706775703A53 +:10091000092B31300A7067646F776E3A092D3130D8 +:100920000A0A7370656564203D2064656C746120FB +:100930002A206D61785F7370656564202A202872B3 +:100940006570656174202F2074696D655F746F5FD9 +:100950006D6178290A003F004D3E2000433E200093 +:100960004C25640A000A092D20436F6E736F6C6575 +:10097000202D0A4553432F713A09717569740A6D28 +:100980003A096D6F7573656B65790A000A092D2048 +:100990004D61676963202D0A643A09646562756771 +:1009A0000A783A096465627567206D6174726978C6 +:1009B0000A6B3A096465627567206B6579626F61DD +:1009C00072640A6D3A096465627567206D6F7573AC +:1009D000650A763A0976657273696F6E0A733A0929 +:1009E0007374617475730A633A09636F6E736F6C25 +:1009F00065206D6F64650A302D343A096C61796544 +:100A000072302D34284631302D4634290A50617514 +:100A1000733A09626F6F746C6F616465720A653A4C +:100A200009656570726F6D0A6E3A094E4B524F0A36 +:100A30007A3A09736C656570204C4544207465737F +:100A4000740A000A002575002E6E6B726F3A200042 +:100A50000A002575002E737761705F6261636B73A6 +:100A60006C6173685F6261636B73706163653A2088 +:100A7000000A002575002E737761705F67726176DA +:100A8000655F6573633A20000A002575002E6E6F5E +:100A90005F6775693A20000A002575002E7377613B +:100AA000705F72616C745F726775693A20000A004A +:100AB0002575002E737761705F6C616C745F6C6775 +:100AC00075693A20000A002575002E636170736C09 +:100AD0006F636B5F746F5F636F6E74726F6C3A20DD +:100AE000000A002575002E737761705F636F6E7466 +:100AF000726F6C5F636170736C6F636B3A20000A96 +:100B00000025303258006B65796D61705F636F6EE0 +:100B10006669672E7261773A20000A002575002EFB +:100B20006D6F7573653A20000A002575002E6B65A0 +:100B300079626F6172643A20000A002575002E6D9B +:100B400061747269783A20000A002575002E656E7E +:100B500061626C653A20000A0025303258006465F5 +:100B60006275675F636F6E6669672E7261773A20A0 +:100B7000000A0025750064656661756C745F6C61C0 +:100B80007965723A20003F004E4B524F3A206F6613 +:100B9000660A004E4B524F3A206F6E0A0074696D20 +:100BA00065725F636F756E743A202530346C580A35 +:100BB000006B6579626F6172645F6E6B726F3A2071 +:100BC00025580A006B6579626F6172645F69646CB5 +:100BD000653A2025580A006B6579626F6172645F1F +:100BE00070726F746F636F6C3A2025580A00686FDB +:100BF00073745F6B6579626F6172645F6C65647357 +:100C000028293A2025580A000A092D2053746174B6 +:100C10007573202D0A004743433A20342E392E3372 +:100C2000204156522D4C4942433A20312E382E3124 +:100C3000204156525F415243483A20617672350A4C +:100C4000004F5054494F4E533A204C554641204294 +:100C50004F4F544D41474943204D4F5553454B4508 +:100C6000592045585452414B455920434F4E534FFC +:100C70004C4520434F4D4D414E44204E4B524F204A +:100C80003531320A004255494C443A2030663263CD +:100C9000373733202831303A34373A3334204A61F9 +:100CA0006E2020352032303136290A005649443A28 +:100CB00020307846454544284572676F446F782058 +:100CC000455A29205049443A20307831333037286A +:100CD0004572676F446F7820455A29205645523A2D +:100CE000203078303030310A00444553433A207484 +:100CF0002E6D2E6B2E206B6579626F61726420669B +:100D000069726D7761726520666F72204572676FD8 +:100D1000646F780A000A092D2056657273696F6E38 +:100D2000202D0A000A6D6F7573653A206F66660A9A +:100D3000000A6D6F7573653A206F6E0A000A6B6565 +:100D400079626F6172643A206F66660A000A6B65A9 +:100D500079626F6172643A206F6E0A000A6D617485 +:100D60007269783A206F66660A000A6D617472696A +:100D7000783A206F6E0A000A64656275673A206FE0 +:100D80006E0A000A64656275673A206F66660A003B +:100D90000A0A626F6F746C6F616465722E2E2E206A +:100DA00000433E20006565636F6E6669673A0A001E +:100DB000536C656570204C454420746573740A005B +:100DC0000000000000000000000000010204060A0C +:100DD0000F17202C3A4A5D71879DB3C7DAE9F5FCFD +:100DE000FFFCF5E9DAC7B39D87715D4A3A2C2017FD +:100DF0000F0A0604020100000000000000000000CD +:100E000011241FBECFEFDAE0DEBFCDBF04B603FE74 +:100E100024C08091F9019091FA01A091FB01B09159 +:100E2000FC018730904BA740B04BB9F41092F90108 +:100E30001092FA011092FB011092FC0114BE84B7CB +:100E4000877F84BF88E10FB6F8948093600010928A +:100E500060000FBEE0E0FFE3099511E0A0E0B1E023 +:100E6000E0EAFBE502C005900D92AA33B107D9F77D +:100E700011E0AAE3B1E001C01D92A93FB107E1F77B +:100E80000E94900F0C94CE2D0C940000FF93EF93D2 +:100E9000E0913A01F0913B01309709F00995EF910B +:100EA000FF910895FC018591803011F0EFDFFBCFB9 +:100EB0000895FF27E0E230E247FF0CC0419597FF1D +:100EC00009C0EDE26095709580959095611D711D4A +:100ED000811D911D27FF02C0219530E350E2AA2712 +:100EE000660F771F881F991FAA1FA41710F0A41B55 +:100EF00063955A95A9F7AA3008F0A95FA05DAF9352 +:100F0000F395611571058105910541F7ED3211F4F5 +:100F1000EF93F395F21718F43F93F395FBCF8F916E +:100F2000B5DFFA95E1F70895E991F991859180305F +:100F300021F0853219F0AADFF9CF089520E0E89476 +:100F400055915532C1F3503311F4689455915A3389 +:100F500048F4505390F3220F022E220F220F200D3F +:100F6000250FF4CF0EF4219589919991533619F3F9 +:100F7000533729F1533559F1BC0188279927E89453 +:100F80005C3621F48991999168945591543639F4DD +:100F900046EF7EF077FF0DC08FEF9FEF0AC0553709 +:100FA0004AE039F0583540E121F0523642E009F08C +:100FB0000895FF93EF937DDFEF91FF91B7CFFF93FC +:100FC000EF93FC0181918030B9F360DFFBCFFF9399 +:100FD000EF9368DFF1CFDF93CF93CDB7DEB72596E0 +:100FE000A3DFCF91DF91089561110BC0FC018281D5 +:100FF000882321F085EE0E946D1603C085EE0E94C5 +:10100000351780E090E0089508956091BC017091DB +:10101000BD018091BE019091BF010E94FD205698B4 +:101020005E9825982D9826982E9827982F9881308D +:1010300019F0823021F00895259A2D9A0895269A64 +:101040002E9A089585E098E0892B11F00E940508FA +:1010500080E090E0089556985E9825982D982698FF +:101060002E9827982F988FEF90E090938900809387 +:10107000880090938B0080938A0090938D008093DA +:101080008C00259A2D9A2FEF80E792E02150804026 +:101090009040E1F700C00000269A2E9A2FEF80E7DB +:1010A00092E0215080409040E1F700C00000279A74 +:1010B0002F9A2FEF80E792E0215080409040E1F797 +:1010C00000C0000025982D982FEF80E792E0215076 +:1010D00080409040E1F700C0000026982E982FEF46 +:1010E00080E792E0215080409040E1F700C000008E +:1010F00027982F9856985E9825982D9826982E9880 +:1011000027982F98089589EA8093800089E080933A +:10111000810024982C983F988AB18F748AB96E9870 +:10112000479A8BB1806B8BB9769A0E942B0884E02A +:1011300098E0892B11F00E94040880E090E0089567 +:1011400080E28093000180913C0181110EC00E94D9 +:10115000EF0881E080933C012FEF83ED90E3215075 +:1011600080409040E1F700C0000080E40E94F50854 +:101170008093000181112EC00E941F0980930001FD +:10118000811128C00E941F0980930001811122C093 +:101190008FE30E941F098093000181111BC00E94F0 +:1011A000170980E40E94F50880930001811112C0A4 +:1011B0008CE00E941F098093000181110BC00E94E6 +:1011C0001F0980930001811105C08FE30E941F0950 +:1011D000809300010E9417098091000108951092E8 +:1011E000B9008AE08093B800089594EA9093BC0017 +:1011F0009091BC0097FFFCCF9091B900987F9830F8 +:1012000021F0903111F081E008958093BB0084E8D3 +:101210008093BC008091BC0087FFFCCF8091B90017 +:10122000887F883111F0803471F780E0089584E977 +:101230008093BC008091BC0084FDFCCF0895809316 +:10124000BB0084E88093BC008091BC0087FFFCCF8A +:101250009091B900987F81E0983209F480E0089578 +:1012600084E88093BC008091BC0087FFFCCF809114 +:10127000BB00089580910001811115C080E40E9497 +:10128000F5088093000181110CC082E10E941F09C2 +:1012900080930001811105C08FEF0E941F09809388 +:1012A00000010E94170984B1807F84B985B1807FD5 +:1012B00085B98AB1837F8AB98BB1837F8BB93E9818 +:1012C000469808950E94A008809300010E943A0960 +:1012D00080B38C7080BB81B3836F81BBAEE3B1E020 +:1012E000ECE4F1E08EE08E0F11921D928E13FCCF94 +:1012F00083E898E0892B11F00C94830808959F925D +:10130000AF92BF92CF92DF92EF92FF920F931F9313 +:10131000CF93DF93809100018823E1F080913D011C +:101320008F5F80933D01811115C082E493E00E949C +:1013300052070E94A00880930001882329F088E2C8 +:1013400093E00E94520706C084E193E00E94520796 +:101350000E942B080EE311E0C0E0D0E0BB24B39460 +:1013600082E0A82ECC24C394D12C25E0E22E23E0E9 +:10137000F22EC730D10500F580910001811164C0C3 +:1013800080E40E94F50880930001811112C082E17F +:101390000E941F098093000181110BC0C6010C2E11 +:1013A00001C0880F0A94EAF780950E941F09809374 +:1013B00000010E94170948C0CA30A1F028F4C830C3 +:1013C00059F0C93061F005C0CC3089F070F0CD30F3 +:1013D00089F0209A289810C0219A29980DC0229A45 +:1013E0002A980AC0239A2B9807C0529A01C0539A90 +:1013F0005B9802C03E9A469890EA9A95F1F79FB1A1 +:10140000799902C082E001C080E091709B25982B01 +:101410007C9902C084E001C080E0892B7D9902C0E4 +:1014200038E001C030E0832B7E9902C020E101C08A +:1014300020E0822B9FB19095991F9927991F929533 +:10144000990F907E892B10C080910001811174C08A +:1014500080E40E94F50880930001882309F459C0B4 +:10146000912C0E941709892DF8019081981739F164 +:10147000808380910101882301F18091D70180FF51 +:1014800004C08AE093E00E9452078091D70180FF58 +:101490000CC0809101011F928F93FF92EF920E94E6 +:1014A000EB070F900F900F900F908091D70180FF66 +:1014B00004C083E093E00E945207A09201010E94C1 +:1014C0003A0921960F5F1F4FCE30D10509F051CF59 +:1014D000809101018823B1F081508093010188231C +:1014E00039F08FE99FE00197F1F700C000000AC0D2 +:1014F000ACE4B1E0EEE3F1E0CF01825F91919D9326 +:101500008E13FCCF82E298E0892BC1F00E94220862 +:1015100015C083E10E941F09809300018111A0CFB3 +:1015200081E40E94F50880930001811199CF0E9407 +:101530003009982E909495CF80E096CF81E0DF918E +:10154000CF911F910F91FF90EF90DF90CF90BF90C0 +:10155000AF909F900895E82FF0E0E45BFE4F80810C +:101560000895CF92DF92EF92FF920F931F93CF9344 +:10157000DF938CEE92E00E9452078CE4E82E81E02B +:10158000F82EC0E0D0E097EEC92E92E0D92E0EEDF5 +:1015900012E0DF93CF93DF92CF920E94EB0784EEAD +:1015A00092E00E945207F70181917F0190E00E9432 +:1015B00063219F938F931F930F930E94EB078CEDF2 +:1015C00092E00E94520721968DB79EB708960FB6FB +:1015D000F8949EBF0FBE8DBFCE30D105D1F6DF91FE +:1015E000CF911F910F91FF90EF90DF90CF900895D2 +:1015F0008B3B910578F4883A910540F5853A910541 +:10160000D0F48430910508F0B1C08130910509F41F +:10161000ADC06BC0803E910508F467C0883E91055F +:1016200008F4A4C09C01205F31092031310508F085 +:101630005CC090650895853A910509F459C0863AD1 +:10164000910509F058C082E890E40895883A910520 +:1016500009F454C0893A910509F453C08A3A9105B6 +:1016600009F452C08B3A910509F451C08C3A9105A6 +:1016700009F450C08D3A910509F44FC0803B9105A3 +:1016800009F44EC08E3A910509F44DC08F3A910588 +:1016900009F44CC0813B910509F44BC0823B910594 +:1016A00009F44AC0833B910509F449C0843B910584 +:1016B00009F448C0853B910509F447C0863B910574 +:1016C00009F446C0873B910509F445C0883B910564 +:1016D00009F444C0893B910509F443C08A3B910554 +:1016E00009F442C080E094E4089580E090E0089519 +:1016F00081E890E4089583E890E4089582EE94E40C +:10170000089589EE94E408958AEE94E4089585EBB3 +:1017100094E4089586EB94E4089587EB94E40895A7 +:101720008CEC94E408958DEC94E4089583E895E4BA +:1017300008958AE895E4089582E995E4089584E996 +:1017400095E4089581E296E4089583E296E408958D +:1017500084E296E4089585E296E4089586E296E4AC +:10176000089587E296E408958AE296E4089508953C +:1017700096E0799FF001112494E5899FE00DF11D19 +:101780001124E60FF11DEE0FFF1FEC51FF4F859165 +:1017900094910895880F991FFC01E05AF0408591BB +:1017A00094910895880F991FFC01E052FF4F859195 +:1017B0009491089526E0729FF001112444E5849FDE +:1017C000E00DF11D1124E60FF11DEE0FFF1FEC518E +:1017D000FF4F859194919C013A9521154FE1340773 +:1017E00008F41EC13F512115304120F49F700E9422 +:1017F000D20B08959C0130532115304118F49927DC +:10180000906C0895811520E5920769F40E94BD1A35 +:101810004FEF84E39CE0415080409040E1F700C0EE +:1018200000000C941F22813020E5920751F48CE5D2 +:1018300093E00E9452078091D70181608093D70185 +:1018400008959C0130552115304108F051C0292FD1 +:1018500033272F70332721303105D9F4AC01437081 +:10186000552702C0220F331F4A95E2F73C68AC01AE +:1018700064E0440F551F6A95E1F744275370242B09 +:10188000352B73E0880F991F7A95E1F780769927B9 +:101890001DC02230310529F4982F8827816F906A66 +:1018A000089523303105A9F4AC014370552721E098 +:1018B00030E002C0220F331F4A95E2F73C6843E054 +:1018C000880F991F4A95E1F7807E9770822B932BA2 +:1018D000089524303105E1F4AC014370552721E02F +:1018E00030E002C0220F331F4A95E2F73A68E7CF93 +:1018F0009C0130572115304118F49F709062089573 +:101900009C0130582115304118F49F70906A089559 +:10191000803E9105E0F4803C910558F581339105B6 +:1019200009F46FC048F48932910509F463C08A3222 +:10193000910509F46DC072C089339105E9F08238D0 +:101940009105D1F08533910509F44DC067C0833E00 +:10195000910581F138F4803E9105B9F0823E910500 +:10196000D9F05CC0863E910561F1873E9105A1F1F9 +:1019700055C00E94CA0B08952091EA0120FD02C0C3 +:1019800021FF4CC080EE90E049C08091EA0180FFC9 +:10199000F9CF89E390E042C08091EA0182FF0EC056 +:1019A0008091EA0184FF03C080E090E037C083EEBD +:1019B00090E034C08091EA0182FFF2CF82EE90E0A5 +:1019C0002DC08091EA0183FF0BC08091EA0184FD64 +:1019D000EBCF87EE90E022C08091EA0183FFF5CF44 +:1019E00086EE90E01BC08091EA0185FF07C089E286 +:1019F00090E014C08091EA0185FFF9CF85E390E083 +:101A00000DC08091EA0186FF07C08AE290E006C01F +:101A10008091EA0186FFF9CF81E390E00E94F80A05 +:101A20000895089580916D0108959FB7F8941092DC +:101A30005C019FBF9091F001943009F057C09091E4 +:101A4000E9009F703091EC00232F217030FD20E8D9 +:101A5000922B24E02093E9002091EB0020FF43C06B +:101A60002091EE0027FF3FC020915A01222321F050 +:101A70002091E80025FF37C010925A0126E03091EE +:101A8000E80035FD15C03091F001343061F530913A +:101A9000EB0035FD28C0215021F481E080935A01EC +:101AA00022C0EFE9FFE03197F1F700C00000E7CF77 +:101AB0008093F1008091E80085FD0AC08091E800E4 +:101AC00080FFFCCF8091E8008E778093E80006C00D +:101AD0008FB7F89421E020935C018FBF9F709093A3 +:101AE000E90080E008959F709093E9008FEF0895DA +:101AF000CF93DF9300D01F92CDB7DEB79C018091CA +:101B0000F001843019F593E099833B832A83909305 +:101B1000E9008FEF9091E800815095FD06C095EDAA +:101B20009A95F1F700008111F5CF8091E80085FFCB +:101B30000DC040E050E063E070E0CE0101960E94ED +:101B400048108091E8008E778093E8000F900F9006 +:101B50000F90DF91CF910895CF93DF9300D01F9224 +:101B6000CDB7DEB72091F001243021F522E02983A2 +:101B70009B838A8383E08093E9008FEF9091E80054 +:101B8000815095FD06C095ED9A95F1F70000811101 +:101B9000F5CF8091E80085FF0DC040E050E063E0A4 +:101BA00070E0CE0101960E9448108091E8008E7787 +:101BB0008093E8000F900F900F90DF91CF910895E0 +:101BC0002091F0012430F1F422E02093E9002FEF7E +:101BD0003091E800215035FD06C035ED3A95F1F71A +:101BE00000002111F5CF2091E80025FF0BC040E057 +:101BF00050E065E070E00E9448108091E8008E7728 +:101C00008093E8000895CF93DF932091F001243072 +:101C100009F048C0EC0180910C018823E1F080912B +:101C20000D018823C1F085E08093E9008FEF90914A +:101C3000E800815095FD06C095E19A95F1F7000006 +:101C40008111F5CF8091E80085FF2CC040E050E085 +:101C500060E170E017C081E08093E9008FEF909120 +:101C6000E800815095FD06C095ED9A95F1F70000CA +:101C70008111F5CF8091E80085FF14C040E050E06D +:101C800068E070E0CE010E9448108091E8008E77F5 +:101C90008093E80080E1FE01ADE5B1E001900D9296 +:101CA0008A95E1F7DF91CF91089583E993E00E944F +:101CB00052078091EF01811109C00E94DD110E943D +:101CC0003A128091E20084608093E20008958FE8E8 +:101CD00093E00E9452071092EF0108958BE893E081 +:101CE0000C94520787E893E00E9452070C94EF2B64 +:101CF00083E893E00E9452070E94B9210E94F52BCD +:101D00000E94DF140C94110D20915B012F5F822F34 +:101D100062E30E94632D992319F020935B010895DB +:101D200010925B0180915C01882371F18091F00138 +:101D3000843041F58091E9008F702091EC00922F62 +:101D4000917020FD90E8892B94E09093E9009091A8 +:101D5000EB0090FF14C09091EE0097FF10C090919F +:101D6000E80095FF03C01092F100F9CF9091E800D0 +:101D700090FF05C09091E8009E779093E8008F70E7 +:101D80008093E90010925C01089542E061EC81E0EB +:101D90000E94571142E061EC82E00E94571142E03C +:101DA00061EC83E00E94571142E261EC84E00E9402 +:101DB000571142E161EC85E00C9457118091F201DA +:101DC000833009F455C030F4813071F0823009F469 +:101DD0008EC008958A3009F47AC08B3009F460C04F +:101DE000893009F09CC020C08091F101813A09F04E +:101DF00096C08091E800877F8093E8008091F5018C +:101E00009091F601892B21F460E18DE591E003C00A +:101E100060E080E090E070E00E9493108091E80024 +:101E20008B778093E80008958091F101813209F069 +:101E300076C08091F5019091F601009719F0049712 +:101E400009F06DC08091E800877F8093E800809161 +:101E5000E80082FD05C08091F0018111F8CF5FC0DC +:101E60008091F10080936D018091E8008B7753C0E1 +:101E70008091F101813A09F052C08091F501909171 +:101E8000F601892B09F04BC08091E800877F809391 +:101E9000E8008091E80080FFFCCF80910C0136C003 +:101EA0008091F1018132D9F58091F5019091F6018F +:101EB000892BA9F58091E800877F8093E8000E9434 +:101EC0008C118091F30180930C010C94BD1A8091C8 +:101ED000F101813221F58091E800877F8093E8004D +:101EE0000E948C118091F40180936E01089580917D +:101EF000F101813AA1F48091E800877F8093E800A6 +:101F00008091E80080FFFCCF80916E018093F1000A +:101F10008091E8008E778093E8000C948C110895EE +:101F200084B7877F84BF88E10FB6F8948093600000 +:101F3000109260000FBE90E080E80FB6F894809396 +:101F40006100909361000FBE0E946C150E94DD112C +:101F50000E943A128091E20084608093E20085E161 +:101F60009DE00E94F82078940E94BF140E946E1594 +:101F700082E091E00E94DA140E94DD2B82E793E078 +:101F80000E9452078091F001853089F48EE693E03B +:101F90000E9452070E947D218091EE01882391F3D7 +:101FA0000E94A521882371F30E943210EBCF0E947A +:101FB0009C15E8CF292F332723303105C9F064F46D +:101FC0002130310581F02230310509F043C08DE820 +:101FD00090E02BEC33E042C021323105F1F02232A7 +:101FE000310541F137C082E190E028E534E036C0A8 +:101FF00099278130910541F08230910541F0892B7C +:1020000049F5E7ECF3E005C0EFEAF3E002C0E7E9E9 +:10201000F3E0849190E09F0121C06530D8F4E62F71 +:10202000F0E0EE0FFF1FEB5DFE4F2081318189E074 +:1020300090E014C0653070F470E0FB01EE0FFF1FFC +:10204000E55EFE4F20813181FB01EA5EFE4F80811B +:1020500090E004C080E090E020E030E0FA013183BD +:102060002083089580E189BD82E189BD09B400FE25 +:10207000FDCF8091D8008F7D8093D8008091E000C3 +:1020800082608093E0008091E00081FDFCCF0895A4 +:10209000CF92DF92EF92FF920F931F93CF93DF9334 +:1020A000EC018B016A010E94AB11811133C0C11494 +:1020B000D10439F0F60180819181081B190BC80FFA +:1020C000D91FE12CF12C0115110519F18091E800BF +:1020D00085FD16C08091E8008E778093E800C114DA +:1020E000D10449F0F60180819181E80EF91EF18258 +:1020F000E08285E00FC00E94AB11882321F30AC063 +:1021000089918093F10001501109FFEFEF1AFF0A46 +:10211000DACF80E0DF91CF911F910F91FF90EF9088 +:10212000DF90CF9008952091F7013091F8012617A4 +:10213000370748F06115710539F42091E8002E77D2 +:102140002093E80001C0B90140E061157105A9F1D3 +:102150002091F001222309F443C0253009F442C044 +:102160002091E80023FD40C02091E80022FD32C00C +:102170002091E80020FFE9CF4091F3002091F20088 +:1021800030E0342BFC01CF016115710559F0283086 +:10219000310540F481918093F100615071092F5F06 +:1021A0003F4FF1CF41E02830310509F040E0209168 +:1021B000E8002E772093E800C8CF4111C9CF0AC0AC +:1021C0008091F001882361F0853061F08091E80012 +:1021D00083FD0AC08091E80082FFF2CF80E008957D +:1021E00082E0089583E0089581E008952091F70149 +:1021F0003091F8012617370748F06115710539F459 +:102200002091E8002E772093E80001C0B901FC017D +:1022100020E06115710591F18091F001882309F4A6 +:1022200040C0853009F43FC08091E80083FD3DC087 +:102230008091E80082FD2FC08091E80080FFE9CF07 +:102240002091F3008091F20090E0922B61157105CE +:1022500059F08830910540F424912093F100319693 +:10226000615071090196F2CF21E0089709F020E052 +:102270008091E8008E778093E800CBCF2111CCCFFE +:102280000AC08091F001882361F0853061F080916F +:10229000E80083FD0AC08091E80082FFF2CF80E071 +:1022A000089582E0089583E0089581E00895982FCD +:1022B000973058F59093E900981739F07091EC0039 +:1022C0002091ED005091F00003C0242F762F50E0B4 +:1022D00021FF19C03091EB003E7F3093EB0030912D +:1022E000ED003D7F3093ED003091EB003160309395 +:1022F000EB007093EC002093ED005093F0002091E0 +:10230000EE0027FF07C09F5FD3CF8F708093E90057 +:1023100081E0089580E008958091F10187FF11C068 +:102320008091E80082FD05C08091F0018111F8CF15 +:1023300011C08091E8008B770BC08091F001882359 +:1023400049F08091E80080FFF8CF8091E8008E7717 +:102350008093E80008952091E4003091E50095E62F +:102360004091EC00842F817040FF22C08091E800F2 +:1023700080FD1CC08091F001882391F0853091F0A0 +:102380008091EB0085FD10C04091E4005091E50084 +:102390004217530729F39A01915011F784E00895E9 +:1023A00082E0089583E0089581E0089580E0089533 +:1023B0004091E80042FFDECF08950E944B120E9438 +:1023C0005312E0EEF0E0808181608083E8EDF0E080 +:1023D00080818F77808319BCA7EDB0E08C918E7FD0 +:1023E0008C9380818F7E80831092EF0108950F93EC +:1023F0001F93CF93DF930E944B120E945312C8ED9C +:10240000D0E088818F7788838881806888838881FD +:102410008F7D888319BC1092F0011092EC0110920C +:10242000EE011092ED0100EE10E0F80180818B7F4B +:10243000808388818160888342E060E080E00E9440 +:102440005711E1EEF0E080818E7F8083E2EEF0E0D4 +:10245000808181608083808188608083F8018081B1 +:102460008E7F8083888180618883DF91CF911F91E7 +:102470000F910895E8EDF0E080818F7E8083E7ED95 +:10248000F0E080818160808384E082BF81E080937E +:10249000EF010C94F711E8EDF0E080818E7F8083EE +:1024A0001092E20008951092DA001092E10008956F +:1024B0001F920F920FB60F9211242F933F934F93B9 +:1024C0005F936F937F938F939F93AF93BF93EF939C +:1024D000FF938091E10082FF0BC08091E20082FFB8 +:1024E00007C08091E1008B7F8093E1000E94840E01 +:1024F0008091DA0080FF1FC08091D80080FF1BC050 +:102500008091DA008E7F8093DA008091D90080FF7D +:102510000DC080E189BD82E189BD09B400FEFDCF17 +:1025200081E08093F0010E94550E05C019BC109205 +:10253000F0010E94670E8091E10080FF19C0809138 +:10254000E20080FF15C08091E2008E7F8093E20060 +:102550008091E20080618093E2008091D8008062E7 +:102560008093D80019BC85E08093F0010E94720E20 +:102570008091E10084FF30C08091E20084FF2CC094 +:1025800080E189BD82E189BD09B400FEFDCF809163 +:10259000D8008F7D8093D8008091E1008F7E80935A +:1025A000E1008091E2008F7E8093E2008091E20062 +:1025B00081608093E2008091EC01882311F084E037 +:1025C00007C08091E30087FD02C081E001C083E085 +:1025D0008093F0010E94780E8091E10083FF29C072 +:1025E0008091E20083FF25C08091E100877F809386 +:1025F000E10082E08093F0011092EC018091E10013 +:102600008E7F8093E1008091E2008E7F8093E200D4 +:102610008091E20080618093E20042E060E080E02F +:102620000E9457118091F00088608093F0000E9412 +:102630006E0EFF91EF91BF91AF919F918F917F911E +:102640006F915F914F913F912F910F900FBE0F901F +:102650001F9018951F920F920FB60F9211242F936F +:102660003F934F935F936F937F938F939F93AF931A +:10267000BF93CF93DF93EF93FF93C091E900CF70A7 +:102680008091EC00D82FD17080FDD0E81092E90045 +:102690008091F000877F8093F00078940E946E1301 +:1026A0001092E9008091F00088608093F000CD2BBB +:1026B000CF70C093E900FF91EF91DF91CF91BF916F +:1026C000AF919F918F917F916F915F914F913F91CA +:1026D0002F910F900FBE0F901F9018951F93CF93BF +:1026E000DF93CDB7DEB7AA970FB6F894DEBF0FBE63 +:1026F000CDBFE1EFF1E088E08E0F9091F100919372 +:102700008E13FBCF0E94DE0E8091E80083FF1FC175 +:102710008091F1019091F201492F50E04A3051052A +:1027200008F015C1FA01EA5AFF4F0C94832D803846 +:1027300081F0823809F00BC18091F5018F70809390 +:10274000E9008091EB0085FB882780F91092E90071 +:1027500006C08091ED019091EE01911182609091FF +:10276000E800977F9093E8008093F1001092F100C9 +:10277000C8C0282F2D7F09F0EAC0882319F08230C5 +:1027800061F0E5C08091F301813009F0E0C0933041 +:1027900009F080E08093EE012BC08091F30181115C +:1027A00027C08091F5018F7009F4D1C08093E900B2 +:1027B0002091EB0020FF1CC0933021F48091EB00AE +:1027C000806214C09091EB0090619093EB0021E047 +:1027D00030E0A90102C0440F551F8A95E2F74093EB +:1027E000EA001092EA008091EB0088608093EB0091 +:1027F0001092E9008091E800877F86C081 |