From 96f75f39c8dfbd9d84d1a6ceb0b2db0ce5cc52bf Mon Sep 17 00:00:00 2001 From: Nicholas Keene Date: Mon, 11 Apr 2016 23:28:16 -0500 Subject: [PATCH] The Ordinary Layout is the layout you are looking for. Come and see. --- keyboard/ergodox_ez/keymaps/ordinary/keymap.c | 91 +++++++++++++----- .../ergodox_ez/keymaps/ordinary/ordinary.hex | Bin 52991 -> 53429 bytes .../ergodox_ez/keymaps/ordinary/readme.md | 4 +- 3 files changed, 68 insertions(+), 27 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/ordinary/keymap.c b/keyboard/ergodox_ez/keymaps/ordinary/keymap.c index 07a1e5e899..63cf8c0c88 100644 --- a/keyboard/ergodox_ez/keymaps/ordinary/keymap.c +++ b/keyboard/ergodox_ez/keymaps/ordinary/keymap.c @@ -3,14 +3,15 @@ #include "debug.h" #include "action_layer.h" -#define BASE 0 // default layer -#define LOCK 1 // layer lock keys +#define BASE 0 // default layer +#define LOCK 1 // layer lock keys #define SYMB_MO 2 // symbols momentary layer #define SYMB_TG 3 // symbols lock layer -#define SYMB_XX 4 // symbols lock layer +#define SYMB_XX 4 // symbols exit layer #define MDIA_MO 5 // media momentary layer #define MDIA_TG 6 // media lock layer -#define MDIA_XX 7 // topmost escape +#define MDIA_XX 7 // media exit layer +#define UNLOCK 8 // clear to base layer /* * Ordinary Ergodox EZ keyboard layout, v3 @@ -133,7 +134,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [SYMB_MO] = KEYMAP( // left hand - KC_TRNS ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_TRNS + KC_FN2 ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_TRNS ,MO(MDIA_MO) ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM) ,MO(SYMB_MO) ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV ,KC_LSFT ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB @@ -142,7 +143,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ,KC_UP ,KC_SPC ,KC_ENT ,KC_DOWN // right hand - ,KC_TRNS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_TRNS + ,KC_TRNS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_FN2 ,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,MO(MDIA_MO) ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,MO(SYMB_MO) ,LSFT(KC_TAB),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_RSFT @@ -177,7 +178,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // left hand MO(SYMB_XX) ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_TRNS ,MO(MDIA_MO) ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM) -,KC_NO ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV +,MO(UNLOCK) ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV ,KC_LSFT ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_LEFT ,KC_RGHT @@ -186,7 +187,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // right hand ,KC_TRNS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,MO(SYMB_XX) ,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,MO(MDIA_MO) - ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,KC_NO + ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,MO(UNLOCK) ,LSFT(KC_TAB),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_RSFT ,KC_0 ,KC_DOT ,KC_EQL,KC_PLUS ,KC_ENT ,KC_HOME ,KC_END @@ -259,18 +260,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [MDIA_MO] = KEYMAP( // left hand - KC_TRNS ,KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,KC_TRNS + KC_FN3 ,KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,KC_TRNS ,MO(MDIA_MO) ,KC_POWER,KC_TRNS ,KC_MS_U ,KC_TRNS ,KC_TRNS ,KC_WH_U -,KC_NO ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_TRNS +,MO(SYMB_MO) ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_TRNS ,KC_LSFT ,KC_TRNS ,KC_TRNS ,KC_MS_D ,KC_TRNS ,KC_TRNS ,KC_WH_D ,KC_MUTE ,KC_VOLD ,KC_VOLU ,KC_BTN1 ,KC_BTN2 ,KC_WSTP ,KC_WREF ,KC_WSCH ,KC_WBAK ,KC_TRNS ,KC_WHOM // right hand - ,KC_TRNS ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,KC_TRNS + ,KC_TRNS ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,KC_FN3 ,KC_WH_U ,KC_PSCR ,KC_HOME,KC_UP ,KC_PGUP ,KC_MAIL ,MO(MDIA_MO) - ,KC_NLCK ,KC_LEFT,KC_DOWN ,KC_RIGHT,KC_MYCM ,KC_NO + ,KC_NLCK ,KC_LEFT,KC_DOWN ,KC_RIGHT,KC_MYCM ,MO(SYMB_MO) ,KC_WH_D ,KC_TRNS ,KC_END ,KC_DOWN ,KC_PGDN ,KC_TRNS ,KC_RSFT ,KC_INS ,KC_DEL ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_MPRV ,KC_MNXT @@ -302,7 +303,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MDIA_TG] = KEYMAP( // left hand MO(MDIA_XX) ,KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,KC_TRNS -,KC_NO ,KC_POWER,KC_TRNS ,KC_MS_U ,KC_TRNS ,KC_TRNS ,KC_WH_U +,MO(UNLOCK) ,KC_POWER,KC_TRNS ,KC_MS_U ,KC_TRNS ,KC_TRNS ,KC_WH_U ,KC_NO ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_TRNS ,KC_LSFT ,KC_TRNS ,KC_TRNS ,KC_MS_D ,KC_TRNS ,KC_TRNS ,KC_WH_D ,KC_MUTE ,KC_VOLD ,KC_VOLU ,KC_BTN1 ,KC_BTN2 @@ -311,7 +312,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ,KC_WBAK ,KC_TRNS ,KC_WHOM // right hand ,KC_TRNS ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,MO(MDIA_XX) - ,KC_WH_U ,KC_PSCR ,KC_HOME,KC_UP ,KC_PGUP ,KC_MAIL ,KC_NO + ,KC_WH_U ,KC_PSCR ,KC_HOME,KC_UP ,KC_PGUP ,KC_MAIL ,MO(UNLOCK) ,KC_NLCK ,KC_LEFT,KC_DOWN ,KC_RIGHT,KC_MYCM ,KC_NO ,KC_WH_D ,KC_TRNS ,KC_END ,KC_DOWN ,KC_PGDN ,KC_TRNS ,KC_RSFT ,KC_INS ,KC_DEL ,KC_TRNS ,KC_TRNS ,KC_TRNS @@ -360,6 +361,51 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + ,KC_TRNS ,KC_TRNS + ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS + ), + +/* Keymap 22: Unlock Layer + * + * ,-----------------------------------------------------. ,-----------------------------------------------------. + * | Unlock | | | | | | | | | | | | | | Unlock | + * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| + * | | | | | | | | | | | | | | | | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | | | | | | |------| |------| | | | | | | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | | | | | | | | | | | | | | | | + * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +[UNLOCK] = KEYMAP( +// left hand + KC_FN1 ,KC_ESC ,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 + + // right hand + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN1 + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_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 @@ -367,7 +413,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_CLEAR(ON_PRESS) // FN1 - clear to base layer + [1] = ACTION_LAYER_CLEAR(ON_PRESS) // FN1 - clear to base layer ,[2] = ACTION_LAYER_INVERT(SYMB_TG, ON_PRESS) // FN2 - toggle to Symbols on press ,[3] = ACTION_LAYER_INVERT(MDIA_TG, ON_PRESS) // FN3 - toggle to Media on press }; @@ -396,21 +442,16 @@ void matrix_init_user(void) { void matrix_scan_user(void) { uint8_t layer = biton32(layer_state); + // do not change lights for locking and unlocking + if(layer == UNLOCK || layer == LOCK || layer == SYMB_XX || layer == MDIA_XX) { + return; + } + ergodox_board_led_off(); ergodox_right_led_1_off(); ergodox_right_led_2_off(); ergodox_right_led_3_off(); - // lock layer turns on all lights - if(layer == LOCK || layer == SYMB_XX) { - ergodox_right_led_1_on(); - ergodox_right_led_2_on(); - ergodox_right_led_3_on(); - } else if(layer == MDIA_XX) { - ergodox_right_led_1_on(); - ergodox_right_led_3_on(); - } - // caps lock turns on red light if(host_keyboard_leds() & (1<}eF!*YhvVjRW?VO-NDu@;G>6pxn|AfOo!9+y zx9)hqEWh8U)BpWH|Ifm?;g3Rn^KGrdvz31-e7)`N{(gGw9_M=%Uj8V&CFjyLuOEe% z^SpevbbnUO`;Wr+>va1pymZZnkHXvL`=(7d4_)~5KNQ|~;q(7ccgSkFdIyj}Y!$?7TzMHve z=0~_gDc<>OnqdKjkkgeKXTD6{DDxv>{O;$HI(S7P?w%#y&)3oV3e7WrUO(@OjL7pS zWZ6`RMDGw(*uXm^-Op9HTHCGEJj(?oiyH0A1CsWTb}c^30NBYt)&!dtJIdcIH+Z*G z_a-CqOsz{k9G^2a&wREsi+_B7)Pzl|GJj9I^W!uv(`mn~r};r^kLu8EDVihC6ueQ( zjV2d=kYHYN$ActZ(h2vOz0o~dY`*+gsW@*ys^GdJt!@n zZ?*PK{eCH$BNAP6zjvYf{w#ThS-iT?AMcNvDT?lY7QT1kRQ*Sdw&-B(O35gVzediH z-0hLKny{@HmC8W|Zwtf8q;q8l=t5ep*(UGsu?@|V76CN&w(B57lW6vN z{Q3P-YxIE{<<8TB{!!D_ifRt7em+!TY|l|6HD4t`!QrN<*1@&)vp@Q}O0Tt+dVO-k zt!u8n?5AYCpSu2lIe zm8-7aIax1A)PX;LP=~|@rSOFtm!?^HK5+5Mg=>>xAv@-G2J753N1k0tYaqC+Q55y- zM@{0jYgV2=hxc);bzw-tw|F1kjHVZOWkgGmWaqEp zO(92%8yxnzXwIN{Q5o>%@P3ZyREFzbdG>YL4DaWNw!N|U!sqaQj_9dW!Cra(9Ny0n zJ(O(V;qam(4)5E@*<^8~ZP9(?nIF}~Ui@Yfw~M!zL#d$(fBU>ILE497|0w9qYZq3Y zzty(=ZRx_w^XtO)v#r(lxs>@n@?1aux~YC|=W!qX{7LiY%`F?s^Q*?so9g?sXm$Yq zv+$#glSBIPM~$}VU`<`P<#{`DJ(^8k+eimzdw%5YuNC%G`uPxf{s$RWbZIgau5RwH z_jY()1^zBv*V=?Qv^+Q6Z|_B3FF>vgR=G#zd0Ur@=kCbu^Uv*vTIi3FXPhsJSo?UrlXBQ~;mGr- zYx$`wU4GsEXl{(@{n0J8rKG?m$?rw;IOLg-hw&7z_&PoA&&Tdaj3Zrb!`0CoLr9E_ zOJ~d%8MmkC887PmI1<__U3ZLr*5#Vc``zitJ8Z;x+MS3XP0aWGd4DZIBHG4lZz0$@ zbHl{vh0j&H3SzBA^Qb%@X^J0H`|(vf!pkqa^J&-ed{myL(ij?|N{8mdm0lAI^YbO2 zYtcMrz_4v30BVg8?fD0KtBPeh9BQTH! z_K8XkcDGI9Q>5~O<4mOTRo|;90b?kC6)ye!RVI3%rV>%cLOLAoO_wCV;V${O7N1X% zXN2Wn^6?^L=z{tDd=BP4<-wu4mxv##pjj72OUnC8FKSXo;1C?Kd#T){Ys_+r(+>jt=-l%E6*o{>+v*f zd#)HT?{NC+cUrtOHw`?l?)fCRd_M0dqGcDpUwMBV z9?!O9&dT%iOl;MlmnPx;JYUvj!Mix#&(Gt`4d>#sb7OZ|A6%rX#E~ZpKbOaK-W?y) z^GNDt?O-*Zc+D_@tjv>Gyzl;WaIqj=^W^?rsV_tf))5Ljo#thR%cs5MpVtFZ(SV)b zJ1%;TJacirP6T|Q&mi=PI{3Ri<;oc@j>ySbd8RW+%z1)NLd?9QmmN(U$jMgPJ4WsC zI!?FSX?_xYhBJ_Y8;pQb`QwT3Jlh{UJ1UU7yPcl9{oxFW=hM9B@6I3JXTHBWs65X{ zethyHP0HZY^dt<4y4#;G+;r*S-dTA*Jw|i3z?iSpc%jD24PWENZ}(c-P?yR81&$PW zQs9XM$PM_7M6V&OM^JhGMrV_DVp4Q`gB8hig8W6<(OV_%1dH+=8uPsrBMjmPdYOwf zlZ(*SotvroSTtv`f(=LJg}RZ#njI_dC_+?9rj0-pJ+)Ntt>xQ|or=0B&)Zs>E8818 zUPm5|n*V6NNAg^PbWwP>wS2p=U5`uI8`2#)_;%x?xuHCN_Pz(C1*`q;i}KvGy=rg4 zV%QPWOUp)_`3wX%abXM!{G3Hk15xDlSRE)KHpwY2GzV-I8C zIMmDIjs&6--esgk)W8TYZ&Bh^RgTSi!Rq*;51EDWCQ27OsEqBF8WIn!Aey{RomV|gR)f`l>P$jW(<65i9- z^YO{d9kP+w-SdVX@*=e%!5`h|&?I!XR)Lvtv~$|J3{_;lHYqQuF$}TXPD3kkihi zB#y$>`zB}G;r3IkG#!Kk^A2lZL&~d@uMuo}<5wp$g`l4nkKIA#nOEdua>&0-fL_|L zZzO}c$C#s%YTf&g!kXQZ%sLSvdbUW)Hh#^G%FVf07aten1RcR3tmue+ectm~eX<;% zZT2Kbq;iQ;;etwKQPH3%vuYuty$)71^M^)B!H|Lr*X49O(&6iMt(f^uc|NhUpBBuc z>3V&vkM)UQT@J%wnI=}7imKg|XRQ|{??L_!NjlzLd{{K`VE0!nmSbt8oBA1Pp6~oU z_`@Uy(14e~pY{g7FUL{^Pz4!`k_~9h95o&IP6`LjYD2KGX;z+d!GS3a#QOfG8rl)N zDbF#}0*UzGvMp5v)#|8bl zf2x(9*Xel1Jf~(&p%YeW&lD6q+_=vy==1e>!zQH0Sh}pQs#H%IX~h!WAdWZkB>Bs{oZok5vsfL ztddz7?oR>YQYOT{+)@^H3ZI`7Ry^Zci{+JBcG5b>iG>{v61ywUQ>M}hcYyh)t6S<| zo^S~e=eg$KU3s3K>+{A^&2SPOVA#)Nx$s8k<+I69o>?N$qS_cpPZd~f?fE#LiR5&I z>K;j&SnW23>J0gKMQFhIR(K6#wYn?MY9P8Yo$hC%F%(!AyrH3NCgkScG%L>z?*$hI zv*)XRK9$87#eX|daQbfY+@>4+7-X2@iCsYsXn$q4;oqQ3mw4>mv zVnnY|50EQ83jWZ0JMH-YiK2mfwSrKt!wU=fce*ZD z>fJL7R@Ux|pBsUbbQP{7!LV`Rj)S8kW+6rej}9Ry{Veo|dg~%9?1f2thy*eN#|?Nv zMYHmJfblf>x_H6m$B!b2hfc%>S}NlDP@aiBfZO6nfN1%eCJ^Av;(5NqLt-y4C$h@sB(f(d`5L)MDa!NQ;KWl(9~ z5>?_NftFWc^xNtF^Sz^&59OJ8!oZBdu-TO=PLECDS~T&w9a_-1qKa z{6Pz`5~I9R6AszW=gZ@9C}sYPe(pm1$Mto?;pg+AgkOJ|p8s6Hi@=7d7VhJ7Cli_S zmWB+)abJZlo6kfT_9f5GXBLDigx&o5JpFK^hdUWnYJIT@L;L6RetbUEI`~wcL&jlK z=(za|TN}TDa6(3P$eS1llsWN9bi9E*uI)Qh^NhU_m5pMWrn?2u4+Jx(JMxRyfHG@7 zE6b401FU zAcNv)QJZ3AAsBu}(V}Y2g_s(h!id8R z;=R@xVxwz$^cc4k#wDIs&{Uu=0QISGh7hd`$YaLV8~RyG6V}}hCvP}l$C2uL?h(R+ z1u-jDB6*eXo`m4SW%y69^Ss9p1fT{Y?zzy*W8E+hRe;4nVIr}IWx;n*PZK6on<8-Q z8FV9N&#{1QNCSmo53`(HD5Hg5PT>oMyDtTcLUtsBj%gKWq_!Hf0J;&92lQ5+`)4{u#rmGq5VTt8PP`< z9`bwu7xS7OWK-U6*fq`3&&orw4hsQKjJT>%SfbT_uAKr?@Z5VGKSY#4L#E&_ZYCBM zh3U1wol7T=f&V9g z>v%ZWMXa*(GU(O#UL>RFFBr)bbo*`8Iy%PZJvYyXaU&C$wu;Zn^Nd{DJi-Ge-<=Rl zF=jY0o}oLsgVE2(86reyQ7z6C6|mxpVpF(|Jt)fa@FZS0V1i<}p7CTU=sJEM%G{7r zX7{K$Ca5*mjc8)C2*+Urich!j5Tr%BV;M~^YOcCzEtMPmvqtT6rfJu2Zk%H?RqYG( zmu!fxO>C%ZIT25KT)FXBH$ro{r4!S0Lo>BJwfzsHU?wo6)czFK2MUL6dpe`}b7sNh zmuW-utyHc+UyLVelwJG5E|;zsSqHi^k^)n*N2yUW$2PRQnspSkl8Pfu!9OzxGXOe} zJ=An2L!C+7+=zZ2Ar)NWGl7Lty%jZKr6XNB1Ze%O}yAdOeTkAqKBEI@H9 zG_UHf{VZ8`ZPqEz9bA%4*e$;}^Qc8rIU=T?2^9iOcF;Lfx31|fbH%@0<6a;HG)2G4lGt}Uy!@_`NnG&uw*Sf!imY*631#V8R#L$x-YK{bB@9z*Nqez zEiQ{|D}}9*f`3lU0cBtXv92f&&_{F@-@+(u>5TwqQy6-PeGgWJHgfgG0;!~BBlzd2 zRqZ3R>3l%hS|gci-$6tWq8KAM@X!2cf;qM_oLo@}hv{*1P;x`b26i$XBt!oyppN3^ z?Qaz`XYZY?bI^YZOsO@SKkBCDv--LCOadTsyzcSCiH;FlVy$4ou4oU@LJPYZV(Ofj z0d|&HN4_788IakkV2A_FOPfgR+?0e904bdP?#L2muCU=002$2zJEKr9l=ND31%-zy zE-f0gb!xc6d~0$p5*sydg=VLA{>m!I7LP2JOfW7^SO&OZ8#O?3;!?&*v{!M1&iqJS zI$AWZr8h)|GkuaQ!eXgTZAhZW$7Wsd&&EZ;dSQ@4XAG&5@9tzN#^9e-UoTQ-)ZY+CUn#&!yX#@{V$@!C9I_xQQIh6VCR;6-pSC@m^v4=zjMq_U zBOkRvathos>o&p7GeQco0<)8AF17%1WKkx5|~V08TyhsBD|JHi`uq@SGVBREMXoQ z!noF;4E!^N_LphMg)j%>o|8MJ&A}0jXqqF>TqM3UlsKXD2jDjgf?g$VetRx8D8WC^ zBpmhV@!I01qwy9{n7M&j z;te-y=jMFgmt`LOGfD!0~7zXkJ3B+U6g(Vx>&u;YB`~!Q*yq+!y7Kkhz%8^n# zl#LYpGmQV0UxW8asVNG*4$>ONwnK}ZA7=(~=fi}w5g8(K39NEohy}>vg`AR%HoC)2 z{4&ECJ`acI#r^@-qVW7;(FZpelE{I1p6CriiB12l zv}o|p1X#@h!3(3-YERs{8odJpR_8(hN*=6(ALql9CI!GkN{lPH6Dh3KiWo2Q!arM2 z;)Zh8dAuEon((=fdSD{kK?g&ADo`jn*_Zbkq)W+0@XxRgC=$I^*tN`EZ8gAshpfUC zOauSSkN=X7Q|V{qJ{Vktxr0u@KX(mm z7_o3}f+R&nl7QI^m8+MH@nE(FT`YaljVR7w1dVEDZ$Xcs@_a`&Oy|JD5i%Sz9GiMf ztwY&$!9R!3YW(BIRdO`ZNWxfOg>70O%WGi1_*Rv6PcR-Umr-*jORqKJKD{EZ41cpO z_-9wt2W!aN4V$H|M=<#3S0Pkt92}%;)oQ8{EiA+|@XvGv`*g4kGDt3wPOI;bajX#> z_-FGB$Ob6}8sXg<8O_Jn2R?fZWU~yQ}4RY-XmAi#nmW#9=_3g3Q4VjWQ?jS*sOEFDgXZ zuA)y+7XdGT};XbeiCnG_%Nn#!9EIMog*&xkL-?@Y+AT2uz2tjCSadF{B4G zvDw&bcks_)mwYCl(gm9Lwl>!s9QbEeaGQRSBCnei%#}KP#%&#pAar$nu7OMPyhpTs ztKgq)sz>X=XnvAX(D5nwXCMu%PHe(KUqp8}nz;SA`*&+^4`|?@!wG6HT8rlqSw9!t zommdeqT5oyr3+e(^&=zvQ5WxR<&LuqNQjV=CJ_ieo4-AOq;bL0B7OdqpOP~T&iruU z4|LXomCa(Ih%#wuDLJhY(cqtrXy+n}VwT~ov{jhluPxhPYb8_dnWYw+Uu&LP?T3mn zrewtms56C!pW?-8C56KsCPFD0T%Ey<)W(F2nvM1N;}LbNfPer6KHQ_%;Gnvc!iHo7 z|4hHY-DBp~%+Od#Az*j5SQ|soe!RjW>D9fHWpc&u6)>ya?o;s3xmcYU1^b4>a1zS; z3jVnZ3~%j_{StnbEZvaWIX(sdOw&u#iMJR!LmD|vBTogYnFjv3>Exo3d6u*{NAgv( z_Quw$48L83HjZSQJ;6VR0}4%a+Zg&6SNyF^wZ=a)vt?ItAzGE2>bG-QxkO9gv++dC zVNQPZ9^d@g0q>cGntRufp$vgcuqA{nJi8z;d(zi3A6=j|x^ol)%7>Q?eR zW<>{0Gec^o(?TZ&;A&0Qj)PjThu+W7UYqX4prnI81-4v4bx{~UU|2H2Kg*(Tn$%iV z$?ef&3eZ#(<1l-&hJagPhO=7{&)B~ThDZfh2(9pkj=*;%7t0^IV?u{a=#r_<3;{Dm zVHAvzPu6H=8SiK$M(Ia06$BLIja8SL62$aPGt~ykDfs7BQ(MhsCakqnE1BS*vEC*P z)Y~xEVvj~qMm5lvlDgoZ!;u<2KX;%HSzy8tcPzyi{Bu%K#nUYtX)#9OtFZdHd8)H6 zUq4ydp-v|;7U4TzKUvvH+u)x!e8un?TM0VH|!)X!q;TqJ=Oh%>>4NqiA;W{6I=sZC;*-Xeoo5=zEt zG^}$;VS*C%q4%SMR*dk2M?yAR9$rBO(E{Am`gtr;m^lPm$kMPm)EXJ7GqMs7h|g_r zIQ`PJ?6YRyZ)$w;Q}`;EyF+M>;EsHQd2JyCuzOkEkN(POh@b;Se5IpPFbqffxQZ$WJZuced3E*0BN)a~!q8 zQ%OMWl07)!joRAKNc$!u`dQ{9L70N7|Z+HBh5hnyU6q7%fDX zQFD)8I!bd%%n2N|v(HPmnEJ|@7a z)|B9%k-QPMw|Usr8_Ti)VOQ6dlQ@;Hni-CI+? z?{bjEsCLlFvO_G*`P`PfP#4Um6Yyo~o- z2L-r49nTosg*}uytnre~sXY?k;3x3`r3ws|AiLPgNY_H*&-WAHMTh>uY!@}y`R?GK zZ%2X=$OBsQkR1-}av%@@v}hq;3_`J-bdPfaXO8XsWk3$-2J`iuA_@L^3#j3)s{vme z7*?x2{}FsI5rsljuC+2N)NM>N#47Q+1fW!99jvAzI>X)0m0rS}5o^8&auRVTq3J8#dm&WW0u3c~(SS z{G1i&=OHTyP>v`jT2&iS3FwcSM?j%189Es~2MN*sr9}lAr{<9uvB)Z9wM30UNdc7&+DPuG9#{kMfKdEnxIO9< znm^XSH+N4XWmp9)H`2@xuB@ru`G~1WhG&q&5Z6&WLX9blIAwW&>Fjkvqswcggbq6i zY6FgkurMO54s5N%pT&(XgG7O%!*SkgZ|RJ9QWzsdD~5WapEV^U&4D2^*VY$vUNZcV zMlFCMnEcGjV~Wq%|FQP)k~^ZX=mhR}YNDkWA2;&-?kNo6;sU&_~{2e!FPM|YcpXiW%k!A*fLAg_q-JBdz0PKPySE4AS6uoI-Zl6o)pa`MM#2jFMnjK;AD@hzX z%w(EI6vD%WAcJ$jvp~|x^*-Y?xXR8?f**hi*cjI}N1mDbM-I(792rS>sv6`*CFnT9 zAGA|!QA4E;3Ng#g4%?)(;Uv+5n{c|yP0Tr5+?t|H9wecNy=tLnM`eGhwqo0jHB%SJH@DV(c3jgMtRE6TCgG7iC1C*KN5Wfs2_|6h>5s zG9Qa(ETVrabChJ^k>=o^am2C%@s%NE=AgITznYrM=AVOq{^v45&E?V00i^t@nF+j| zYPHaN9yAdu(aE3lt{gH<6AZ8+8z@!=g%M;E@bT!VA(}DONFo9B766Y{s=~^%o796c z#CTG*2uWlMIVzE>AP~!In}dIDIO2Au9GO(kmNT+(9PU3UQEGNDjyga+2p@}R%QIq6 zOR%R`D7ldHa4PG|-cnYhqB-^kIRWG=pqe_?=6*HE2Tb2q%RAO}kPLPg@FOH%Q@|+I zvTzpEsG#g;W+i1)8%(-j`oPu5^tOU>#I&rL-BnPtjVGjP8by_davn#S8w?L-*W7Rm;ME3V7jqemC!c!EAM^>Z(V-(9Q-p%2H9G! zZZBc$_QhS<0AARG$2+L!3ePeLB*Tk*bQ8-hdrEnC`>5a9Hd=w-S^vgE0w%a{b$<${ z9|-Yb_2J#`M8_*$2b!9~=Cz^uO0)z`ia&(lvLfNRjhz{VQr1U9M2!u&krS3JvX70N ze$ECFKtz?{9mgW(f&%YGP74{7bnm90QNe97YKkH_Y~J+3fNzb@EY2AqWMp5nd*Gjy zG&gc`Vba*fBF$$*`0U**@7Nd&>e51D3f#!4Ll4)fHJ{CCw(tl4%-!RHGun-uPGh;@ z-c3FqOVtSxHg(Pe|J)PS%|e6c zL%Gz1txa%q@Xx=Li$+RUz#3j41fCD#2-=x1%B6p6{T%$W%0+W+t5{w&<6+k(xH*sQ zNC4+UvAlE%smcP0&A~sPQ7q)&QM}9!c38tUc5(0>)j-0K^yN^wj2rw%PdJM4OR&tc z5}+C|Bcf~y}mvm>aL>*&QKF3r>&>OmRSVj5M7^*q=XQ=(>aVyP@;Ga8S%1IvYrf@CE zh1oV~9np=^u3gkiaj&kju{M;=!9Tkn(}K7`qV));U>M`%a3sjy5M057=YfC5he9(G zOdw&0`Lke7MeQ5PZOH`xycqte5Cvh#2tHBT z3yZwiH99?H16z(4gK)cI@bZ2JmFP)!T8bKmW>b364F1{W!GaeKt+apzz2Skofc)(X znm7;qGd)JU_-{{|;U})k=2Vz;e93e0&md-T3RupN4O2TDSjxzHZWG=!tv;J(<=JSO z)1RjZuyD>#NXasXdXBYF8*t{}pPfRX^+sWEC(`dxfL%#Jn!z(tGj>dBOec{zWMtT& zW&YH*F8~a(t^}sdpUxk*aoEOo0K;Gbtyt!y$(VQ5*-V1v;^1Q^z}^%eXx0V=j^zjtcekJ`A$(@yB0 zdib+b+kUi-6#VlQ=D#A_qv%eC7Z=j=C7aAN;dFaOM(`9~Mp! zkwTh73iSKAm*brOEY_J6s+h9St1#&&lS@yitG%}1pL;3$i`Nybb{YS%pa0}_Et&)W zj9OLY{zXOwt35ja^+m^G75p*eb*jLe^Pm5c;~w%tv&5%~=2xN11xYcX;V={ANF1y~ zZ~)(UaY1zVU)(788L0LDfg5et4g53QSV)s+8aWV<;Vu~FhXm#(UTGzw7#wQFrhD z0gudJb;ZnW^k-14joCnUg2N+NEj&bmlcP8grf624QyYsiE4bJ%BY=4VAA zf`2A8ouq2yx@4QcMzD5lNx(m>nvHLuUy&nXAT02H*2q5G=JWB6C4n}t-Dh*~&qN*w z?~H<4>7OInt_KDrum4btZ6oFU=a#OR3uw753AS20KAe3RkUC5ml<5N6h0RPGlU z-imFVCqrzC!rx?gE4FQm2LIgpc`L(Pv8@9qiGfh_HyPfFZ6(L&;Ge(A@OD%S8=rGN z|8pJe&`|KtY_q(4%J5cf+XD*zd7GR6rheP5!*NDJ31@AE>FPNRXjWUyX?f+O>q+}a zoL@4$?O@^gXQR#k*}-;r2mbj^2QgP!4~bd0vr=~mn*%!pJB8D+hlmFMtTE!&OI-ie z^PD(s#H9Fo0RG7ib5ucb6Igt?S<_b3o zaOL5Ebg;PaS0@YJFbDtqO?bBQQYTy)Lg1wdfkV(1mmw|T!fGbT={a~#yzW29=xBWK z&;Lb6hYcOnkm0b}EWw=Rv%_s($_y51l=cS6^4U@^^ua&39^UfX(X=JBbU!0w4*vPG z+0T|bJRAJ;XS1Iz70#SP(W`?vE1nto=0&v3+)AE7>W-u6GnpzIVhm_-9>F3$b4@ zYBsiXISu}PDn1AQoJdb!g#H9{D1;N2*vwppYw*vwjv>Ry0};Mqcr%LewZN*@wp=z~ z(LtT9)m^GgGCvcmX3fXYHCvA1S_e+DMYIZ=UljVu^C5DB8@6<)$IW8|gMW5!%D@wd zKQ@v76K0W9wTpy22Q`DSxMFz)D3(YSo%J0_%(14epFf4&nvs(iKClyW!9TO;x>J%fdxJl6 zBcyp%56GiUe=9Q7&-ggvIM{cT_i;KN2cVf7G{n^*xRAUj-USeYJsWuSgtahXGg&dT zajDOTYZ)iOKbyFCcuY`nBXSMh9P2+Z{Ym`|GJ=10ClQtd$zLJY<`rR$pmPBF!<*yAgCJy!b57P3_FQ{HFWVX4SZQ{DwOgZ z{4+li_9l#l54ct|kZ5&kCAEIPl==$(*>nRQT}JW7OkgzMMzIcnnuC89m(K=RPFC}9 z6h_m}M7vi;m3_M4_>0f#FZ0@D%19`4k^AsV@$?~$Nsl2;sIdy$6$)G_a9!EFtd-6q zFbF5tpfCo7Qf5Ohg&S3v5mQWyehzO6{k2U7$DG30PymdENY?I*s(?`El}8&CwkP=K zgutWIbm^Ics$j*lQrUH4TTW>b^ToMLoCo(aS>Hm;wQ-M~8IZy3e%qnb6Ze2O&HOyn z;~3`PpFiyjSo{`ZZu~~@&&<77Hn$VF;D*V^h)+G^9u7VS|IBuLe>@UAJskW@^TPam zDuM^wwIvh$Gl)C7hj414_w&vcA%K2aa?7vSjbGldIyJO}^mx?y?}y~*1MP)9XrmG37o zmPNDjY&Oi9VpQmUm>+pY4GxVDHE?TnOI`5K)+ybtrdZYo#d0f&wcC9ryP)uoSz#6d zU}zqYLf+$Na1a^;2X~iODw~!8T3G95QuldI68{n0E$AW%7Gaj4E`Cj z5=@V96blW#7yZX_u`nm=2@7ruqh?V%j2OBCeP{A>D4c~wB?_nXvjEvKVQUTHxNbM0 z2To!l8^8f@t|BA$GxTC0O$Q6{8Ob`B%gWLL-#dsJ{IfA~$$)2B8lpdHCrLh6>?`Xmg%#IDSKLR8RN%b-!%%Ykp!9V8&BW`fQW?eyV z&;+S_H}9PemjXQsghc6(am8U~(KrSi3o688p6N7J8zj{-L6^|aUplqzN1c*EJe0yB z6?`m8TjRp1JrTQSO&x?t_M5`w=8q(JS?5hR12j5|79ivF;J6$0a}T%jyqy)Cr*X+f z1*8pO*9IZVGi1ZEq_2TD)CL8om7&@@Gu_d=qqmo;IrwLXR{VoQ+oQRqzXOuEhYaA? zrblZx{O1nf1pnMa3+RAI^6$~Cr<}}=ot z{nVt5+|%gA5gW&us!2V^sk!64%%i4y1a;}1f9^Vq&4C5gx=&5T>H|!)hFf{gK6GY? zBW@z5N77BSj3_@=VdWVgF2^Lem;3BZ=GnN>RI9^Zo0Q#hO$VvrO%{+i)o-)0^Mk=Z zJM*?jyXEAl%?+I#SMhy43+{m8>FKtNKv}}R9Jwkwm1 z70F=3<^9GKq1Kk=GbWp&N`#8UcafnyyZ4`GdoY{c{lIqp>ggLiy@JATK9zMbGq;hz zR|kh#@a`38rISR0ox3;Xzmh3yJN;N8orkJ_=Gj$d&>?zon6ae@0B>EM73zJl!hb zQY^66ffc}Ek)mc{%NY#xhd~8-tZ&tUhVnGs2t$A!I<;Ud2nNl4OJowxEJZBOcytAK z2jgxBX`Uxe2Di}yqy?kTVnr3))5GR=OaeqTwE$y&g(^BaQSe~LM?BK+P=$(dkcS~V zoX3DVWl(I-9B5`IY5I6XG^s6#T4z9e9}u<~qvutDi;N5kEt!)*KF zSXq+iJQAQ}Blzc>HR~dem*y@-gF#GeaS`kiCdxG2f6k$!W)Ag9lTJ`G^I+F_0-+Hx zey5VwNCW?jLS(Iufs(+lEkF+D0^-c^*u!weu9jxQK;sO!H}sp60zlIJRX8aGWDnu^ zLBHYVW%QUN?$R%OohQrlLVgW*2l%*YzFRCCNem|(-GJ{7#x|;XeJoontAK+gDf|N8 zRr6PYZE7TfBzO>j$Hs(>+vaHkUX&A0mN(>$y$84>bo@rgFI`x92H?a2ggWQW0_FGp z$wRgGf8dU9D6uCd@wP^cv;aEYk5H*q525E(+`z`?tPsG+AFWi_kaGtqn-rcYKVCR^ zX+?Um`V;W0M@VEtt1~ZI8GNL*$_x&c~75=e?q8OYqOuWY8lu9pE;AeX{pFN?2)No6m3_7ZE1Aswrfk zpF;*WhYTZ`b#f^%by>g<()JfQm6&5&zcrh*m5g_CSQc<3;d`CivjqPPZD<6V9Uc2c zPK9RyJ6kg>>g>TcatfNLLH6q4i&Y=w99!1~{|s&T=o}k^%KJu6ZR+G90@ge__F~nR zJ5iRUa&t5jsgGz-pTp}#5*Fi~Jy-Ujwgg5rU>dPV)&N%b7dA$u0zl(DFQdr_{+T1W z2I@uxCvY9&&cgc<7~W~Eu<>B@pjk1r=}2BRy=|?BJNV~@_{yCu6!7^a1nWT+PLX8@~8xuD8=Wm^=ek>yIYQNPI{4#)TQGCtK+-5gm~LmkSg z3I16!qOPdvn@VUA4gQ$|Dwzyzv?l|yC8r&P;GZL9#<@yey)+ao<>sZprAzS7im0^x zMb4vaq~M=_Y0pvPi#zqO?s&PE8o5A_iQ1z&2e3u$-Y5R+u+TXnpMBuem=B!Yx zUf+@eOYqMc9$Rp|E%U0s;Pn`VjO+FRSkvNHlc%ve&`ALPK4-! zA<4rc=gVujmFMS`-CsCLSWu}Q`~V_@b-|=yrx|-zhCB!V?DoYyf9Te1V;ss68wS&j z1R{oP71rM9U7sir;!g_aI3iL#>Ug&n)d8Z+^Joq6-Y_S;X=}vR4x@2;vwZ&aTeS$B zmsl24tFPdneT>1k#~LJLWCzQY9{6W|IQvJ4=){?ZdJ!;2o|_$>DjM&;UacNu;A~vQ zo^yYtscUVzU`AOwDmSqN|Lk5X{0Z_A=w(hom0t6i)@};3oyXvxZL0T{`b;a&_a&I_ z2KuL2)QZM0!9Vkqq9kacIgVoj)sW$4RC8B#P=I^Dag4E%*|D1t1y(t(6`m(?q_jYP zdbJAv+0J1j-k)^lMDVUHujX@Yg;;`rme06&2q&E)Q{#6%`Q~$nEP{UykBiUr>ldHf zqc^DXpL{MH;}ZO{d`54OUN+|GPLg+C_iBY}tJIBQZC-Er?Bjgv&{s}GqcB@0P>qNe z)pky>SqUtPt;a+7T{Dq>NpQ-#!(j|_3z4~#LhgY&qO9Uf%AaYAPo-VXOks1G5y{AO zhv0&LCdNcKUqAwZNj)}OqQmmt?``%3|4czF$De{sJ7cQ3$s1~?fG!*kf|-M^na^)E z^SzRZoEJ#pSIt#0HP>frewJ|({4)vUpPKpnRx{rVB<8ccHZ@nl)ckW3=a&_qqn~k~ zt<6HPB%im_s-EJiKhA42t&-fL)}B@#|5Tg7jZnC#318&&kxKtIeB?DSrR#!!{v2X; zvwU_twAXrCp(lB56pC5tj2x^p{_G8vEnR|t{#|q30PWcuG}1aA6Ryf7XhU;y!uc0> zkMG@Ln>{)IS#H>TH>(#%{vGYa3wG9X@rIjXjdseKY{8qg7)i?Mq_Jmd3`+3NDDGd! zeKV6e^9G<6$GOx#O%9=f<{LstmYltCgy;AZ!GMnNu`gK->R20|NG9u;e~cUnIJ^qH zO@@!hpzw!z57BH%Dl(L3VlCOSK{U-BXzT-Wc0fOiC@^O7QdL-a=9#-Y&d$JKLzrCN z_~X0~A@CF@YEdDJ;Gb>kt@hh{?Ug}bBQiDH6gu};?P^tPuU&owI4Rs6d8?h+M$_I4 zQ1H)M1FqMu)7zz)$GP$(bKKOjk%E6_qditJoIsx2uG=o69X1U9nIRo2jG@lCLwYZU z;nW|BZx6TfjP?WwHjb>vp2(?Ur1I2C@t&vVv-XA&s@R--MATUm-Q>iPoSZ7@_jaX& ze{$x?m}u5L?EPU4xC+opG*hNn*>%A``_M{% z)HBF*iu$7^o~g{yE=c+iQ4Auk?D_FRDDTKdV0oJZ8N6|_!uL3i zOtUzSU?`?Ku88J1~8@jD4yo=8u;QY=R!hdL4%{Ie>*kwdO8pE6xIa~_IC z&1fVCAu>%tOb-9Bs(Cl0TsuI0dLLzwiS2=cpRBCyNK5d~I^Kl|iaqw$Cw?a*Ns4-6F^;~gd6iDsf}Tr}8=5E*g_&FE-_2;3Q? ziY_QH9$WUU=^tvqnctzIasIP1%uQ@`hT;lP!+Saycw&!We4g;`*gewq+JiExKHe37ioOkdkNG}Ib zl{^Rk%+?LEZ-hCiT@sk=9#={NpBx-By+d$0|5^Qjbi=f~3|y{UuM!9SDw zB8cq^1P&)5SfGFNb5E=EPZB(`>vLMrZ_RY6x}BTEDDXZEWKh z!;LGJ#-@PKV3njdW42yvZ>fO?<$0iebE*!&PufJ+V`B_mN zb81A^K~eRf>AO}>_9VQ@V1>LwIvKXbPl0t!V+Yu`VB|Vql+}^KZ?$q3tDZbI9+Kyh zEGc6Iu{9Y%$Z&Rtb;Sky!FEi98H2F&2KFD?g0uhRGaS}5OM#3ad^YCab1?X4wWbAe z6re%>gr;e&D`=a4oc~;>yL4^t>9)hEz$5OOjL7pJgJM6tq3w;}pHUfabiUQhz!VId zv#jXg*WrfzuDNzoVtrVcXRE#q`IcrdkA=EV$ozZF3{KbFc3tq#_zZv7%)y7frUd`| zm1a(7>YCer9_K&v^wvLV=1kP~VF&*C8=ry9bj@|N6rf$X;rW@{39#kHfu*)A#({tS zRx?N4cFi4v3;vm!-zV(0<|EkB@(01B{4s)HCc5T*2~zOSEus;0gss1GQ1rn0cg-%b zExX1xJe8z78~w~q$=dL{lg`zos`oM4XNE97-rj_O|%h20Rcnx$szZE9X zIXYB9YQ-!0e@>>Tliv@#b56SL9krd9?@d%dwt=DeslCUmkD^Q5g9hNQmLX!V4 ztGE3WsnA4YeHb`%YvbVnj{`G3_yX3O_F=JbR5G;yndmaX>q>I91|GXuG2TS9Y zLI%&43Dy9vw09i*GYnOc$A*5YcV|ZQxin}{k zbb4rJ(_N^0BAgWN=C%dW0-BUg@o3EAM#*!YI;+`kV9V9^0Lp^pR{_OctirCxeRf^H z&jRv@!D=7H?yqTu1 zeKC#U2A-do2O_Qg;3Jk@`Tz?v0SaQoL}R$wwW_eA0us<;R`X-L<1r|;9HTxJez<{O zlulu2TU+zo_d0Q6$@$N^{GJ$?fq*lgH?>DU@Xy9I7%k)}=NfJcV>b2?UOpW_G6s*e zHH_h=FdPy&M7Dq@f(+RR{u$MZz_`%=KyT)odw25u+#W3@-M$k)^rRi)Qf8 zpDg3~u;Wkzjcr2NbzT9OC2BTq>;wqNay!@tY;2_&9g)_M3^?wMD&xh z6Mrh`uwn4euiDt0+_j|@E5O6(V0G}%8Cq9jxGB;QM7jygGWx3eT$w*h0v` zk4**FK~7udIsbWEIGwxwkYg*g!zj6NM{r^1!l;essoA-VsZgYdCWs9Dc?$$SZMGlteXwe zl1&zrB$LPY12d@hdiVetXf6p$?G%tufH*wYmIMqFW33RJnkPukNE$7WSHV-Nnh_$P zhpaNi=jdmoO(DW5fdZb?7&D&yO|h`2RnC8AM@yQ<&jXrMwep*L>Xp3OJnM7y7{Tr! z1?(V@-=J`KFtWLzwLvul|Ewx7I88yHycbUJUDuMs#R+T{&C2tuW(qVX#EgIk%V^dq z8J^)>N=Er0p!ZDztAp{ZSb8Z`;`ovaZ|1~uMWJ@+oBgKdjW{Y$B?Vw8fUCrdc6^=5G>M!oM1E3C%5zFV1*#9)3hlc}y#Foydk4Nw1ErnUg_UPlri>aBIs(t5iQ-wIe2iirM|^`l zeHP|NPlwfB#%PkH1xqV88kaeb;bsx0tic3g8QDQ;AqC!>tc2%W(`;meC#g_)yKXar zfv$pPV|7Mypugf9Yw*umx8ca1?PfDBTd&)F%yXUQ=W_sgiK(NL;Q;KTv%1S>(ZiwI zmb(W3>=xI^vurcR;5#~lReusTeCrM>&ziuZA$>Huhpw4P@XUDnvS@?UEP#M6_TGdR|Nh>M`VZ{vM^{rM_ zSCLWYLb$65z5~Z#%G1hV8I~03N2Viyl>?dIW?jyICK|Rsk#=G0=|DzaaS)aVNWBLq z%<(?Vo;;0>RLt-PIYKEMAw5d4Z*b&5ysV;XtdEe<&HdFvJymVR9zs7?bAPo^U* zDutB;;ST8V=)+-#5OfqB*H{F9aHzhOVG z1WVOOKg0c2D+P@P)^XoPG&8M6G#h*04fh=`OoR~2v2ct)ZYi7xjp>_Ud;aW%8rzYa z^@T*uUSKxdK$lAyQ!A>#gI>u!YmJ%Re%6F#dLl>qe#pOvK&7yVA0`9)`N5xHI8+BC zbeIXb$kzN6?g^}2r>|1EW85gYVf@|rI8zEw5ZDpMApa;IgdF=RC!V=&>DbO0H81)- zwX2<|y_X5mj&Y0rReNo8!mXsR+UKqI`rb}M`LJuwf9{U_ReR5rq@2=`(wZ2tgZBDv z?e%DbHTY+pmw(m1mVOTY`Nbw~dZWF*7f=)bh7P79SmuA#UaRY>8@AaK)L?R+ms z42U6xUxT39t0CTUrsB^&3!Fju9Aa+T)_y6e3;r4T7#9&uX2DA|jYBJqy|fV#u;w4p zj2t7uN+Lc>DyfGR8oY*NibuLgIVy2DGeJnUP*q4dI8A6EI@`0v8<7oxHhp8c9z2<3 z)XWn~2Hm-_1 zn`h+u#zM1j?!6Uv?`x>jd=EP}R<@M=vJ`eux|Y|CHBjEzN+$T{*9hKWj`{*2fNlGe z9xmToZvC&52^;pj$i%?QTC?`QmQTFB>uVY}50GTbOZVO*wR z9ngoI-hE_%xv`+*Yw*uUmt&egS{u)^NlTh7+II`%Ht-v)pVS;WFDhkXB3iqi#4Tys z?Nn6o2CQic=WZ^#XOM!cj=E7RWk$22&XWn0m;*zZJN%f03Ge7XlDU$BsYd#ww)2}q z?dDBwn~5xB$eMXYD2o-Dhej~BOiO-d zB5OzUI*5i0gzWBaY)#9wWFkYXHN5EA9sIMl8z{Qx85%t{lQq?wlGs@NUUr=x>#H{N zJ>TNzr?Luye>UHvL(n8Z!P`yC$cU{-7`)%4a}18XZtA0BhFi)aYT?fuP$dM?QIuVq zJ>&dmBd42AZTYNftF1kp{z1(F;As_rx_4mw&afnNnnx#$>J1r|6Jw8*eiEyH>j z39i#Q1*=ZD8l$bX;{I14T5Y7@*`osFgczk-Q-XgcT^+zu9<9sNXWO|qITvvOP!GdN z#~Xr-qtWdeAT@-C8pRt{3nIah-<^ zedLt2+yL!$1`bJ4%5wTVFeKa!bO&eMr?XJ1Ho^tOT`CtZ_-8}PKl2YK#wYbrkUe~S z(AO%OwV(HTJsN@VG(iRBgem1T^TwqMN1k;Kh<=6~RPIG`hOXW@tt$S!lHNm*@YW>5 zg_GcYU<0m;rsbTAbs)nU{Ily`3bR@P8yGjT0Pz{YW9UmUj`N?<186wBGfpXBfe$tp z{^EylJk0)H+xf@QI37S0U>mgHXD_5{mU%@|n@shn^Oai8t;ZfNZ4iTEG zZHz1L+%;x2Z^>8 z4S1}d)(WdokPN3#Io@F>%|TX6o%)%;q6wlEWK*6+BHuZ*-nocUV$zh}NX&`#d3R-{ z1cl1(mpvXchcc)=86FQbuI-}2N9iE8yQdp_78W~KIH!oi3z6e1{pAwaoH5*3-^L2= zo|L?pS8n?)8{BmYy&a~dlEqP++6k&2Pw(Uy*--(IIE>Wgp@gXc}BN0~jrKkEZ(8JMh{8AbPd z_fR{!mDX{KuVEGjOxveANGSX)J7G4uWPhsjk=Ed!nLF8_XEeeij%?oTC#e9w*CQm> z;GY#D^DXXbP>IXFs0R*(LY9bVRR@)4R;B}Z69CDa>);%8Zet@+lr+~44Ll0VW~cVS z+Bx%x6EqnVd|Gs|wG%jH64#&v|ICw97!V?8>@G626<~dJatA7O1^YVnRVR0nhZvm4&*AfNyP?l`Yx zcOi?!PQ$AzXJ-e|Me*hPp%fj;u5QUuqWE{VG7Vi0#{EaPC-59CYJjB&ufR zS+Qg-MDR7j_UubwERa68p(x+I01f=J7tn4DAzYwy(EmDG9gC$+h~S^CNuWQlq$egM z>HzJIvbnGUKMyu5;b-hnxhNM;PT-My?@GoA%U>ITIscix?Ti=WNbB?lPlAa+=Xx@9 z2rl^No*BNw2QkGy$|BQDsjK6IJjRR_CV?j1N+f}pu|UU`WyQC16LQXlo3(gTux5yp z0;xXK)_9g83tQ0j7c3*+KYtz$R6GTiURi%xC9trrPr&D;jWkqR8>xWWt_%KI zwQB8j@XA?U9MohckXD%cByH{;Qck-(%rC3y)$pAzF$UaA?V_t&*V!w$F={rX-0Ihs zS_BFUu?GL_lUdRI7;D6!cupn4e?>;vdr!U}omG!gB56m>&I|>JGzm*v&NbZenH{&D zGB+^_LqvmrR%fu6C);^g$K9o~M?J@vm7F>)Y6YN#GCwoQNE7=&-0m-!_u>M|6KkW! zI#v+;^96H&lL7L4cW1gNmd6#K3X{T$+8+%5*;=9c(lzrqkh`{$aAEc#TskI$r5rNQ zEAGaFISxIxhA??;{sWQT}ktDL$IrgV@3?kjF+KSOakh0)BU1~kc* z#2g8U)DTiWChGx43Dw7orb8c#SUnVNCUGWqa>;aZS4%cNMj%&FY7ZVYfrbpiG=Mi`Qh=wN{h|}PKM$C#lyqP`Y XmqdAibI>Ry>7n%UVuAR-|L6Y$8NVbJ literal 52991 zcma)_S$6EYj&1*QjO>e5MD_ln?0=KqoQr@$4%=tvzSk!ziUL6pdr2`F}Rf1%EW^i>I|3&vyPxZs$$53p>qq0~ zeV#w>G+(Oc!$;%ubGm;vK0T`O@uTtn_I=U4$vFKV8sEC{`Tx-P+Kn&&hsKv~eEpBc z*W=goe*Stsdw@3@-rBpo2_)-)^6v-H^$Y+4*B zf3w`+b)xa3$%s7D>ykI8*G$hd?;XtIAD>&0a#xvu;J)+oJT24tu&n3#$=#kcp!-q- zj6BouPA_+Ex%hCcgmu@T*`pdsw=WZO~>YhI@ ztj|+VN{i>WUi+ect!1Tj{v_k$yI09G%=)EqlU1+JS}BU|&z?UT_Zn1$|Ff}^^;Jqn zY5XyB8SDXhs|CB%3@VkQXI>VjlSS*@X8tpKkur0;jTww|E(-aJ1`~hFXr%NliYeb8 zn~ccwkw)^6UX*!&F9GT?uTx$f87R{RrHU>tv6il z+wJzf<$e7&m#$MR-i`Zxzt$b6W?kgDf9%&!vbwSIoPVDUcAsBGMpWGoT6Yco?OEze zF?iGb(WpClbmJ_%eWU%%r6-JLH;z2}A#!w zdVwAA@5Kf8?z!dp*1hi<+4zd^OeOrQza0@h={Xb`X~cI&H7PxBGbmXOKC7849qbY5 zQpsqk@>eQXT^(I~MWT-U`Gq>9wd$1%m!?^HCffPB(F+cC2Im0fc?Qj79ZD5=_xy9g zHb-!ZA_e}S3Vt;i%Jb*+e$Hrz9#L_h)B8E2_mT~7{$qMSXY{KZL(-4w4ekEGzszU} z(in+@_?WrH%{KBrgfx}VW=se*&@ z{5id!GkUB^IkY@ydiOK8o6$?NF7gaF)Wx#wHc&%P(L?m}C(YI4);%4P{%F)aKg&5e`g?!*+pCi`b>r60` z9y7-8B^yWO`Ln0bi#r}XDqNpE;b$&{mn(m>vc6VWsukdqLnH3LritH7G@mly%RF66 zeM!HeXPAatF56Fx$i_-VBQ|aC&66Di51m*zDbItO%_xGO!5eyp$P0Oin(kBN*(B59WS$FRNIgyDelA>7 z-}iL8J~Q&I(E$criLB;sdO2Lne?ATU+)YU@7PplNhM0-!i2kI0{!1o$6rGSfMV_V7 zUjC4exu;usR#-me<3$>d892Ngb}7bFN_t*2q-M${r+v`@UfNUl*`?!(M#zkFT&lxL! zMxLH8^Lm#g3C~3{nj{Ks!mA}?$dBCqe2NmiT@hfiBZ~oOd^`R>+yBIte09=XXP0hqu}f%`kDbgk(k$u?Bj(Q zETegjJd<0w^5c!y=lywjT}ZxVwIh>{%iPQA9F4s$3%=;-ae19)FI=B|W^PF|PBcE3 zDmW|8*VppA&0nYI^g4Y#FDpU9)fD*kP6C71W6xlDXqYbse!JtO!a8y#=kvVGaQS>7 z{ailMIr2CkvlhETegjJf9gcfA^PMxlGWHknrjR@!B5aS$W3E z&eRfaP+WlK>vX%H=hxwQ;YOG9(qt&l^Wk!yAN=v-%#ZVlzt@GuMlaBPZ`n|u&jj8x zQ_e+KF1m8jm5Z(h1Cf&w(P#oj{cd=oAt`mqVW_Y3^m<)u4Wh-R1HD+io}bSbqb3ut zfuR%b($4lpdG?lfT-bXzsNUfYdGyPnqc&9^($6fhV0-kR18zG=@rRy!^eiPOffceS z2TG&D(-|seL-ov;Ol5v#{_~j$$Y*BlRX+bk`R&2Y^vo2WSTib78tb2M?-Hbo@*HU^ zZPYy8UwAAL#gNhSu9t5Y7FXJTzBnuUUVgi9<3`K##;)J!?g1*#4&vMGTcGN~do5TD zAdNpp|LsEN;LtrQ&x+$;v*(0e%e3KRjK<2q`SK(*WPrlqYX1j%kzN*qB{eXqFxZ10_ zWPP4HA!#f=ZqF?sBX^*~+##R2LkBh2=x2UCpQ~qLuoG4bzK=VsXw4$S@%`+1eLbYT z$ysX+nzx})!3EG3Zu~+{XHGCk#f=)h1B3(f7iObL*~o}I|3|M5axM4LrO+9swG@YY0>2FzBL>|^y-HGc4#t`XM5a)XjLu5n?X&D z_t#q8Lv9W?bQC`N=GcHr5Z37QP)^FwE88)exNA6QmlxrgpT!dhyOR_naTia*1KM)o|jTArIP_S zHzLpb+0&nc3sJd@WrF@wxe$Y7ohJVt^ZHm&Vb~blp63&v_sQoLq~w}jsGU2WEmm3{ zZ^CrsE(+7N{AcU5x$UPgskT~}I**iE;SY@jLz$xqZ{?|r+4zln^z&IyU$x>w9n-$= zpo_M5<+&wpC3$4H3g!@Ak4d?!pYO>1kp?QnJA|ESU|4Z~jQ4X*H>6<) zzi`ja7a|M8R^DHb!UykX-d`{0WAj;SY8G-{_yJM=I^D52x@Wxdoub}`{;oXh*CFIr z{OaK^ViKW1z=fQ$PD(10;E+$*WOM}Kik7{|b9 z^msRt6z_HK#tKIoJwF=ZuK4{0Ql2GscjX!7eYg<(TrPMQzLI^wc|xh5o?g&3Ang?L zqrkicXl1%v8!0nWnF;jjP`SJ$C}2Wx;~5z;9bIP=+h&aRE^>xQO^8=X!ru}j!)~cSB=g>Ge#QlD!x1I0W93v{G zhFHa~=jB4m2ZBz{9^%C>OfKY~YNb4sXJRSTArs94RRcl&bbegO)bQQ9tX<@KD9tZ#9jV7od4O?qRs64S1?2Vrf4ObN-s*Fo7SZLH&xtF+OA)3$yYWbtlm!=*ise~P#1WsMIdMM9yiNANa zy->$!_4pY!Jl~cZ5_4F429;-)#ER{{<_ERXVY~;Hv>JDHP{XoBM3V@45%3~yL~8kr zg}w6Y5eeLSR+7%Hz;VHPgxB0<`+OyGYcugso^j7f{T*JU0THzYM2jgG{5Omz*}cP5 zUcp0o&R~j84g7(tQ5G44pD#7QER+LUo;wpxF>`XE2Ac~dqr!hnJpBIdh*$c8pYI>#2pO5JF{1jaWhHJ2#q$1BK_HRZPUYC)L2b`;2OPlqwK<1SfVs%C>d)8BVpK7tBO{VE3alc-(!)8Z^=g-;u_r z-H&=Q=iO)c+?nmC@(iEfG!H)aXCfLJS61yAf8+X`iH*kWAvP}B%;Yp?wZTiQvvhr6 z$-So=ON_oA7hj&wR*Xg^D)RBeb=TIYc4`dj&_xR2IzH>4|_NN^;mficc-WSc5hzFYvyGF;|`_pso z=}zJK8;^@K($4oNbM$f9?$nl{#UN^BBnoD9)5?Uz3#;gtJEYcr-%6$a-py1 z`G6`zGabk-udEmD&`>U`)d&tM8vBRxBxI?^G&^ zo>NgxL+oZ60yv5@<;4=I*(lBbQl9z4DAK~ z;{y*<;o!RrnoX6ntPmnvA^tCXk>lA5j<{}=0bd7%u=qTRUPl|^6|5_z33@%RxM&A_ zJiu#Ut6nug5-#+-FyvERK$iBnEc0nnPm>wc0#qqV8-~jj7vZqEshATN}Cm>^Vf z8drtaS_q!Z$G{TDs_$xmWi-hn|1!X}Xq7w%ej0)VYiaD@%qTCEV$L&zTYy_Z#uxIY z?^am|>~F|;^Y)X3_@-lZPvo@-9-GJ4qNcaAMxc1HAFN5Js;k;)vzD2vhy+()k&7?bsN;NmJYql;)fA4e~&=4nPQy*=`Rr-oBPEj38v@ruV^(vMLha6olYB1qVZ8KitUOP9 znrSGzD0hTInyvzg5ftocK30!^_D5|n1!q1H}Db$_d8R`KRQki~^=r}@0vf8>1%Sq)z zO6_txFXwAgYxwi@R+AF^GZ7p5jb4}`!#kqxhxQ2FO5J8FkxZg%@d`9}HiRrEqA!%+ zNaWHzE6><3mh$t9HGohPXA_r07h5b+XSp4^as21*>3K50f$!z*Ah!N0NT(Rh_Z@Ua z6aB)O3Tmd*1NUr_GgO-nvsH!S%rwj~>(hb3CIsE74XZx6b1gv%MD&wYpWG=pr4R*r z?g197KDjdw=VTI;{DW27#l@XAZ9!dsvTDyA<)hMBW)KijgheiBKf;9?sFehbTVb}R z;GgZ;vI4ok$i#w75Y{9wLtlhvL&?BR8xEO>NP3|IHNq@0s3a;i3mPARFewu)3!ejA zN}h*aR2Enzy$H}+DU~=D1Kx6|j6nH^b~o>(Ok+YO9Fj$ipU*6wD$Gs6Kl>wToj<3$ z-Jal|cheoO@pHOQWm723e4lO-h#MD>eiSDQqjX*H&*n9>*?&o0)ikHnxp!n_fqs(F zYcTldjjv3`geL9D!0d+xI*HW(m`50L?Q7PhdAqBv4+wpiCf zUu(p$lkoR%3pPD>J{P;92vohBu$aa;zR7igr6KKtWI1Aod<>(A^IC@k9cFJV)Li;Us~(@5$Hfdgd$qx?#dd9I)(}CmXeGWXV;@ zkF9Am4h*C8a%jF8+(5f)kyK~TV1Tp27!Y)3tU`aLO2Nl7APnRC9-#h4s{v|hR6)WG z=zm**N`_1W|Lmx3G-yWGVCS1=NP3lfNd<{P7k#`-UKBS54;IqmI}s0#NOKDQSzY&I zkbXz1&eV8SOQ&pG3khl;bsqjRs2#;qI84N}{paAHHR$_+B}?@l!?iXnxI85qH&Tbs z1|K}mZ>1Q6f8HFwKWHzU`4qG@uH;q^R55O@Te0%hf~0;%V-7xlkbv`=?{6jiTH~)z z)+zi*=8$b%pLXL#hKD`g-UVPhn}HSyn&uXy;GZ|P2?8qV+xLDbK??qv%#(ax0FOo$ z?0UXZ0a>dyF$MqpThH5faH@c9Q}E9gJN?m~c_m?;aSWdc1-aIw1pjOUIpP52LKf-{ z$kc9p@XvcxlNY)mRA;^t!9I^YKs(g$WJxiR0|u1~AO$&J#NsaHoDiIkt7X+<)}Pl; zt-A49{rst7Pk^kv2$hj+cLCd`gZkOwvyv6i^o&cHM)%V!l3}XtNLE|<-BrT$bUuSx z!;lMM4(2_}rcePPb28zBNb`Y4{K$gJXI94T2`KJdHf7+SX}BU%PbO!k;Alio)Fv#| z7^^o(PKWp#cibJcs6VodNExuA(Wdnol{~a)_`aInd^~~O;w1tSTTs-w0H?tVTIB}+ zeCJm5lpk=qrv+PX5~P#urcto}&FW{Uz}-d7;twG?hvzZz9TDQl;hoFN4gUH0Jb=qh#NkF%6!_576Xw_s zs@66I|9m0f?cT`cPXHud09;;Id^ifogigge{b#UV*kvT+dU$p*BjJ((Bo+1AP&Nhs z9R6OOcljG&7=y}pyfW{E$JMj)Odd{JaoZ?j#tK-JyFKjH*TObc2M4@jP*D3XLYL}b#bjvt2lh}1#BNn8pUrn>}4EU9q`(9ro7Tii|$Ff!c za%oJE2(Oto@_%vwKi^;m;b&1$KJLaYZ~S7gTX+GmjS*9fHlZ`vHp7|PE;Y%$MI#Q$%aty7#zIh=)TAiS>48=M1Z&~In37Dr6$6*otE?4L$rt1mn-e5hk-SQA zn&uKvUvWzC&vHZCcVza&Bpc1Yyo;9Ld^xQpq67b|V&rzeN!|TOhN>q;{cP}fKiyvs ze#iyI!qk*uUzK%WFaPpobAy!7T`ZFFt!Iu1)Rt`&8;yBxceDvxDEy9o8<6rVo{xg}VAuQkIgBfl4AR)hYqAd7l>PoDPAs-8J@l8g^3SLV@ z&&qQP3zk`4IzLq^CiDkBBd1ZyBSN?<-^ zB*12LR&6Vo2$n6ryl|{g2k04*7T!T*wXvAXtUX3l3u}<>-HhRT6RGn`MFW#;J`69H zn0+kRcxsy6s4G_Q@;tF#xr^`ZosK#g!fNEhqZ;^w4Qxo_wlC_$Z}891r`$*%DAACV za8-Iyj=jTZ3iNFTFlf@$O$ZNGwdEY-W#qwFJykoV1n8iK39eUqQ{$gTsHBi}qKw?; zTO*lo)?jT?Sg}>XqRb7Jh&r_uTa7z$2W8v1u%19#;Y!rYzq5WQo}rl3jw#rTqA{frIXG= zfGdI<{D&Q#J#~EzRe^s9SL3%?1(wA2P_q>XoG*l0@|g@!?QWQYe+KOE=CkZ_PN}CfpF58<@XsmMG9Yh_ zEwJ%M3Kw_iK^2t&@*^b31sb2lU~a%A9jn5s>E7F#B;Ia%dxDxG_9osigRWIH~YGMxF0)z&qd#{+U5o z^aaS^MoJYf!o%OnANzckuJ8u`OidSHEuzTZg}*C*ptBZgAvhES3FYOwULD9J)=0~` z)vXZ6d`4j&ss4gr z1%0^?2b-z&0*fz~lDgoZvHst~qsuNLVshFS4gNVZh0seUP(DBl=;_^Jc$Oy<{IiW1 z6dJX-BK?MUer8bZKf51t42ItN$EW~pitOWpj@p8M9$zA!y9R?J$83>k{hS@}{veIU zB)OpIClMUd3Q;!Ql;_MIHO-`BicV{sX6EHoL5x5|OY=Ue+_Q}fy=&VP=7`3-s4|08 zPNL4n)XzOB(a(MBZctpvz_sBmNctOlF3=zmg~h-qb)>Ekk`p`j(ipSAt2SHQ0BouYn6I3vRFIyX+uP} zK#$YFKReC-&|E3m9%ArzA%cG%U%qAIQ}Jb}dmLmx3!KeHI7JINP1SZZ|#|EvofKQ84Qq(eiGCxVm&7+br~rr@7( zgOf}kQFawur(Ha1wTMsvdvGq*5TxLr^(YOM@S;?XDGZ=w#!`b(?bkK_IYGhs00K$? z6FltMG)^qA^c4Jadc%{63yhlskeMnC8%MnhgMIV>m1j22GbpB8F7PV*?AccWG=LRF zGbCXg!A}vZNcR(UrCZF}O4ilw2Ax&Yl40n}M6ilXoO;niJi(}neKj%!SJGRTlF=6gpCtjcOF`*4cXBWI zXLDb1rsRkhB1BF(BP8vl>Md@J<-=lmZ{Ju%$!1b`bq*R)rs5xDl-jcAp1n*Kyzj77 z?%j3A7VFiwt?ZcRo_wMxBf#{>UdQ|$uS$~l?( zQAn!egM`;tFX;^@yLx6i*nESoAN-QG{8o7XluG z#Cq}``mN5iIaUvnhc~~$??m%JfJkqjaDxxzFIk5q=4+>bIbI`56bd{OjCMZ})*=rm z%42pou*;!=6V5I;sRM}4g)$^q#uvWxZbD>b9r_x@p5)$5u_hrE~ zDqv`;c8P<3-n=hV<3k#!yf`bzo~9km{Mec>e7vkl}17yL$d zxji01LeFvl9^wsdWV2~3Rp969d6IvWVYi7jaMTsz0LQE-EN zjd`RKX$KC4VLvaX4K;i~4Rh8&yAaqY8lN9SH*?Z3X~Urm#q@Khq`_-%={N!Re4{qN z?eH~^yr)Dm>aXi#<|}|=!>>cJ(zCdDVruaEa0AnP;`F8CiJ8>9!ON-;Z^l?6a7>GV zBg`5(%i3Y&$W^If#MKzc z|DVddl1`o-wNvJ3OcuhoO^3<2mDJ^QZ>&EW`R|^4r64x{=vjr?vY|Zxw(j;zt%|m( z{=n!Foxx>}GC#B91!L?)A&t6fl?fbb1Wfo5)VFAO3~-?g@t4#lq7ZuxMnSWm9F+(Y zcW}i0N-4OG$0y@4vZ!1w7X^Wt@9`i6weXYZMrdNhhYcjod0|?;|EON26x29*YgcU;CFa4RZp3Ne+De5BlYeLzFcvA z@O&fFwYy;sjObf$)c__^55xGQdh1*@&x1y9c+2&JR;n}?tJC<4RrL_)!@o~jY4F5? zb1p}Y#L`K&yjZ)_m5H^MqM(%#vW%61=;ddoF?aJpyZ znRJ%B64AZ%PCT6Vh9fwgzAx0hnsBTX`RS%>U|oF|K422`7;B{j|BUXwl6Xeh!4*^m zRe&r0|8!@ADyeP!xnU;Mi|)$5B0S_=mMcnzp#q!oGkZ?)45s5KtqMVs48HV7k`p8n z*!RV&pRA_YKSQVk8ja)z8#!}<+<^XGR>40z zplxx2G0S_DOzV@{O6-^kTD;{?4b z{jFR|I~~fxCbJs7u~RNCguO0ljif93?pcLt&*+UkX;s!i6Vo=ms8}dfUQjH=OeiiE z1UszZ6qutSqQO7sNAv_w<=|kVROh1_Jd{CTdK>zHg*$~6c7yl)7kgh7nii!EagDyuf<{Ablvv+J`V$nRUv z;J`l@Uu_7rKOkt8DC7Acu+H)+jlR3Wz;xOq*G^lI8#LaVHs&OLx~`C>SnK;Jy%GHL zr**X<+p+^D^f?&yRERnFXWS=t4}r`=E#tO=AHd?`z6o?&UdyWvUN&`So&Y|x_Evtt z^CR<$eDFC69^Mz0n1frC4eRhX4%owQUfj7;SqUWO|lyS7%1Jr;Zz^BY{PFOb19DS+ipuvB-Jb_WVae0pUsxp=U7o zXP4)1KBxArOM?wW&$zNho z;f$FHQ_FIuK#y$orZJ*V)Bs<&2y~!N<@x4I*YR%iI8C^G(e~+*7}<@ZoxtFqX{1h$ z8X&W9+cMkZZp>~CPa`vV+5;FkpKhW-!nZB*22k64b;X1>6a6P}r@-fSWr zz*njhY#%EhDfnm0UT#$97%5IrtHf(`!pUjr;;wN*y`?KI|o;i8xTdXuIrT^IbbODCG&Jc`j9nyEe9 zBUfy!(|`U=hWBDy`{?JK|NNT_@5Q!`AP^(V8vR9v_hMV+vpM+Z-(+|%wyi~jfBsE| z^=4XZH*T1(`%Q-TVp|y35qAG3!+Wvq1df?4RKrgh-p^_W>A^qqLn`Kf2~(lqX6zXr zcv7 zpVNSVmyP^X&C3ZKZcq$;?K_@>fA$<72MK}_{}w&BvnQ&9IwUg(vTj+mzhIyYU2;=;EU*5>+aT*mI>Kujw*qXPhf%z?lVwV)YZJjgiyc-?nU?*Hj5_Cp<@A3bqtzEN=T9=6 zN$*55XUUyLDT*VrXp9;D;jHfY-EMsF&+UQ##qWZjVM`=~sf`}~V}KjYpYh;td~VGj z{PQQDZ>u@lx7$+>9h-xHZWFd&{`(bQ_ze?3KUv34&WyoH(%bEna`4YCD-ODgH?zNe z-*GKNAN=!Qx9_nOq&d;w=I?tBdpp_tJDsZMBzyj~QaaTc{PSNkXMncik+qLB@Xy5A zE>bMO`r82O=s%9dfpz~H;MQ1q?iIpmU;ra^1cx`!W2sHbbMVj2&%f@_S~QPXYJT<| zSP`c^?H$7g|NO6>>uCjZ@Xz0RCLt2e5TyHh^vui(#DahJOSI1x9sBtr2$xrV>CP3@ z`OlT<;m722aWgyfqyPUb0~GwTJ#dO{k~knJLWao(R8So6Iw^e){@El*0xuwt##gHw zQ<*N`v$v%mZ7>J_Y_^{tD7lRWWU*FvXz(D3T+q4P;Gf;S#V*+V;NFyhClFzYI>T~x zfDrt1r&-J+0p!|%Vo5+T*g7>a`Sql)n7!nYP{9016^7&!(;wVjYti7Jk!Q94x4+gO z_TFih;GaKxwdd}Yu!pdA82aF!TNHnj5qo}C;y3tb=zHhB$n4^Ca=cOC7!=;{c1z_3 z|4a!er{%eYfb=%9Kx4MR^P1D~>ijx($}x6ogVbu>PfanAG9Ew-HUkmWlefZ!bkRi55yav;W z9}nizY!TT(?D{AV@`>KkPN+yGnMnGl|4!}a({B&_R{<~ip-b7^oJ zpwcJ+)8IxL3;%hoY+yUC!9TmFz-2|9{b9L*a4NHSXC*j`oqv{OGie+nShHv$mKe{` zIHS0iOMB+QKkHVZYdMUA%jlWn7$*qund^v4DOrx`4*r?777c)YHp_XV!3})vU61{a zGgx>e*RR>jniM9afrObP#T5DrFFFVRtVnW_(bP?ziK;zb!M=K^GG- zA2jBGsw2_#ZwuEHbNd^?Kc|x0`Q`_%!$$$Pj+32p{xdLqiZg;$FT{#@#c5*Gq3^k4 z0fFX$e+K5~BNB4T9Y^OyToGGTdc?LZENKlQO}|8jg}^AoTY?Pj3PhNSb8$m8*jiK( z#Vz@ftZug__-8O39%W6aCv?P}u6GU%yHHgk$qw4MgPMVVrZ*CL0Wm2Pz#v#W1QHYz z4Rq?k**T>NVc`)13loQ=F>gpGs|=A@&t3MVXhRR8;|4s#1q;yQt;0(nEaeahl}r}NC@3Z9tCI)GUi0@3h{z} z-iu`~1gi)DGdP%p>}59|{xj6lr$X91-xmn#K@ao5KbL+mSeMUTK_JBi%`Q|m`)2%$y zkBTOf;lVS`q}51g(z|xuD)?uo)J%!Xi-RDKte8by!OAnJ*bjE9odR?4&wwTl)Kd<} zD^V)bOwPvlJRgPAFo=@dM`FVms-S2^WC%0c7$I@y`jMI1F=q`Gy$?T0jI&fm7#+L9 zf{k54Z`83idFnkFO6a2AL)3c2k2&%%7mnt)G(tmwAU)k~AR+q~4tU1Gv<+%Ej(WsA zcrWSL4@&J1Cv=Njn;y!&4F1{Uv3m(on?F(DMORYk=5aCbgzC$f!GV9KXKF}U75jz2 zc^X&uCe%hJrWY!Ny}&~ql5x0J?MZN1nX0Yr{Om@j@q=aW)ILz+&ZhW>{cLt#6hX)5 z-wmd3y}w(XJ)3Z|tY;IP0a>^)o1J3}{yE_Pn%bUCu+1@fdJOewUC&u} zx`!SHrDX*#=r@Rl-E>3gq^r`fADW$3Rzy#N^r|a{g0W6gq4lQ#A;_~)qAUo@#lH_4q2YLtD_-D8pREUK65Pk2Lo z4xA=syAun+Kf8ieTcQ=R58cEtE5t%fX0psN=>uA_NZnD(D|3PBppo0R^B{uM4#xob z2|=P4>#lv#e)_}4asshqaAU{QPd0jTR6ViU#QG4?|GJ<~mZoM&FyHf}_oxut5h^W+rfUev$0i`wl8{<-zD zbne5^jzBx(s)ZtzG6F}`iQ5pyK}A{vraJYWQT>lv%=x0mt6O6X5J!Kb>Ns5!^IuqE zw?BMWGMwRX#}#M9ZyQqycCSPg;J=8QCDx%XOdqp{ zjloQ_OZGlO>FoT7Y16yOp(1KfJzk9^ulm$gEybs#=g;L&k&n0)90a|i6%X40m1n{v z4(g_$4DI^M?XH0#ii=#k{CMVwJu{#^xI?`stVx?@AzOx{ zx@ndHD>~+^7#g2F^@oFgNbE4v*br>X0noIM!0~YWDy<^L{6ky1y?~8?JmH1eH$J@L zu6eqZoGGsWh=ycneE3RmX^_fJ1`d|=4wVpTGY84{=TXI5V7g2gcxUq-CaN-PzS2;|Sf{&la2JjLQjB-(BFl}a zp;)Ip{}wdvGbhL45--6&C;fxf`)v~dJnbWJaV_kb#DYGvUVt_3e(V#59p4$Rx5-eR zJ!}m?EHznloUk!Ggad&YOP4>cXfl*%6DOo9z?jp(Bk8$|Yts9GUBmUS0V>adnRyzO zJ)#gX&#_)f{F=fT*2;yHyCPj<3xOh8XTX`)&tu~XPMJe(H}o5TBw|a0GR%1aWA#z* zr5FeL9~n3jK<2nU-kaeL@R6~3$J(5=;OHS@M5Vvpp4^6VQt2#C!=v$Ew^!G-UYIvTjLmU_b%nTMmf*sj$pPTR;fE?4R{?<-Padj#-4Zwp z3IIuUF8MFZ;e|_Vk3<;hn~+m7XvjfRgz7h+}w~X-NE-kPJ!_}=s!VvX#0zt z+C0l?k@oz-s!ww2K(lN^c7V+)oHPl z>-57jIFc)<8&!ee1X9h| z|1sUcKYMHUzIy9Op11aM-K`Mp%z+(K>G-_0xr6O)rR#G3^XIMOd~3;NDR-;H0uXh2 zHrMQviG8lLx28gx=XzWbQ8J8BSu{sKOW)`zbaU}i7l-bx=lC1N=fCK#&9glE0Wy5v z$S2*f3_xVo<)O~_rL<3D*d$O1HToXZejIhqNkoH`a0a!InFG)dJ|Ef6%C2!#suP7n z&$8!pP%SS>g%>x1f8NW%x5=oful?OTUX7kx4*sIMLg^*==iOwm*$X>QHVwMt6*%Yu zAuPc^MYIk*;$s=jfqyPpj=G|! ztU)er4b?M<&gb86+H*%v;l7sOpPRNFIo~u?VNRCdpQ9f}PZ7~iaw^2bH-(C(?N4%= z8_M%1t9Il>L)DQ-OYqO%)YUKK6jXri^7Q=4s*Ri~3VaRd%g|o`RTLm;18#XNSUf}x zF*OmalBsVEk%d(a5s3@W|85vI`B57GC7LabZGeJ*CS7#JDd)+N^YwMZjuI&0!lZX9 z(S69z68tlUf@%>_J+L#kFCO^gLC)F6sB$b6+!FjV&R$mZu!bJ=O7GS)?Y;Mw`WP#Z^u3JQ1i=}N$Xjp&8S=LilnVs3A}Q1VXtilBhPTd+x6ghfYRdy{b!+U&|Ifs$H4yJGx0XU z3H^A}^0^+;lry(QX8+1(h7vy4K23ls()ci?KY#EUy}{r>fZ+zQp|p4CFTp=M zh`)I4z-y=NGR}W4K9f)u?1gG{m7262Wx&FHxwG7LGWZJO#{3~9xMbboFlM%%_O%56 zya|zo6tXx}5wQaVk^1GP1xB@W3I3U#X6aGhk`jd!OWPEqc<-Gm4eoaTsDcQ8HN*#b zH`Gt6ee_H4&)q|MwsO!t^WL88FeP?J?Ry>#N6*#Jo;xfx6&9eTJ)~#lw|kbyeBTM2 zod1ma+BY0MS3`T=CPjIsu$dm>2@pQpn~h*e-dD+w1EOgB*Hl~da=Pn~%;5v}vLccl z2mCP2J=G#cs@_eWfu3DLJuyASJ*%qY%D67UKg(zLM*nQcooHN#MK8fWi*Yso{MQAw zC*4>Zlc`KNkh;Lna>DhOaIb=z;GciHeP5{BeRX5y8Lf?~;$QLBLAfrygBq%i)bOEe z{KG4NpBBV_?6oq+>MTU?&j<)rui10uEPAfgTRkZcY!Cv+%~d5hahKtP&>?1{+{XOPF4jS4S74SN2u6^Ui# zlzR+|37rlQ2L4%eFLGg(2}{LecAp~;RyhAo4F&&9UC*9|%>X#9UzY?L4n4+;ZwBjv zf6fDJIAW4LwERd-miIY)%})5PoxtFqb4sF(xqaus`c9Hpr_3$EKYL3WQIZ}x178tW z%r>A8kKHK?JMhnZ38BHL5nr%=xvq9(lN6zXS~Tl#xJummoadXk4IMez#1$)02dGlC zqcOJ}YKl9U4fOUNbdVJUn_D)5f2O!cX6@!lNT^6&ujJ=X9Of?zSr6L`#@}E-KqqpB zlQU=X#>I-q5L{B7HRK*uleZ&q1ik>$7;Mns#^tbAr9^08=SvL;b7_}{w?{5!8!#20niM&g$|Ljq139GrQ>F`N z&f_rB`j=fK43dUeb+lsz2*E!qJbsy!GBUA0>Qq+N84FAB&!2qVvy$PFQ6Jn0{`rcB zc+*SN437zMi*Z6#FKlatOyY~uNOpZ5u?T5HbgQ~VW?gom=KW((QQjOdpSjE}Pxk-wAxE7?b5CaoGP&v-37r%08H+!f7CR%k{?Pn`zO`Onf!^3(h< zYWBMtaOHP4KKN&Q>~+{`fOF}gc;uw3FvpYl#sHI_bCKfbvyT8s756dE=z#0g7oWN4 zva(p_K#)P)c}*2bUt$235E;EXb8iX$8P7kOzRzMoAjY$cm_4@k^Jw$pM&y~b4L$`? zwjM{wW17>uKmrrNw!>;1d3NIg*~?UGPzmh4<|$MxZ@%Z5$-vl0;}|P@`75w-Jr;m) z3I16w5V?71MD`y%j^o)c7|dv^za9dtVrnUC%q%_e{6BC6ZgWDNaWyyXn9qXfE6rho9`Z zA^7Z3mMN1PJse7nfg>F4oX7v_S0&Jwa$L0X>7*po88TMGgT)S3ZufXll9s{=0zpMdBE zm1e!L!2e6|&lLYR7Z_k5_F>@6y#u>QNMIK0l;=j%)ydkUBlcGH965FENjWf>#3XA(%RMuDtQtf zGZ>HuVl#6f!$|)2t6Ow>x`Tfvmq_jd(b@O5>!6NX;p8@G?p|`3KTrgB>g+G<RCq#30uMdTP500%=*yo+iR!0`K7ZhY|1N*jCkkv2{g!yy#rK&G`HjMXPjnC^jQu8SB0`50GL5|$>~7d7`wA?*1ph1vpX>ua zy0Nbw;Dw7%&+%q|VOdm!rm2LVcNP2V;_khtP&ZaT zXNt{z5vu1Xufu56-`82n#9TJUglSREocAebx{uqw(wM zH$(fg7?ct9DMDNuLwo>YEm%d;ALX|z#~Jjq+P_3pfadtoS@TDvFM`Dyj*RnYqBcNa zt?)OZR&iJ@JEM_29oB#W^P4riPD7eWYJ$AN1l`2gS&uZxgPQ(dkarv}+r=w}_e41;-J9D#id_T5;2 z!^KJ!J?vs7l8-CSSXSU)`JyYn1^<{aTmUkD!vz+actZEpHmc6J!Y$f*W;_GqDM&-$ zDQUdT2H)31$5t#TWH`0n-dC2BciLO5I;n<@%QU8;zJ%l*KYMjN8|$K1;w2P&>oyn?Mh-amU z&$Y3Rccm;=d{CD!T)?k0kfDME^#~w}kx|eX8#H1o&J?CG5C9*;ASQdLEHm1>&z0)r z>-&jjf)-KoTDP(tCwV9viL}9Rt~VFGbnC zmrYr%#;E9W>(EZT@=5#GQ04=+wrA7UI~O(Wo7A;DBT?_(@yz$VR~0WHIEVIa61LvC z$leQ1N$?BJJrIQZ-8)0+-V5x(VN5puWs0}nxu_y~4;r)eZW8!0pAk*65s}6^C4&>E zZ42*AN-LVAYsSThW<(eGcpWgpY0Wl9ED2ynj}8}s5-+2~5x?9j|GWnOyq7Rn$tHbX zsH~KT=KSY>zUc zn(|!OvcZM*I0k^BGN{09>G8ZgIA!8k4S zZVU*2j8nngxPS=a9WaJE_tL}i@Cv-$iR=7PBhTlP9q<4xzpH0qbIJ;h*|3Ot<454o zq4P=~lt%SA2$^_d(lD9>L1>S}NmOJ6NC z^D4fr)mN}DgN#v2v4OdM{P%d076ob_5G2|&Mf;TAwRz@4H9*P)@4aJ16C_kxYye~_7p(P%7W5>0$_p*bjH;~SvtcF`+D$7PbiVn}*1Fwmi zfHfBDlxIC!Xa z0iV_YiG_mW7!w*R7YdJqX>sjWOOVQNpUrQTv##e8vJt}&`U4o%AFUC(fh1^ z&bY1JI-F+*%?4mOPQ9Qb?6L=)$+D`?g$&`$78=iwanirLia2l{1QF3Zx`VUsGuYbN zW4sPG1fbEt<6ym?aB#gLXm~5+i~|`E6bDWD^Emb$bAU9BodhZ&*-_>K@By-sLV9*x*0Y1x;GgAl zc*~FO6Wc3BKiA_JaFgjdy~#FZ+Bso$Tty2aACgmt7_Y%U?;C-r$!7bWMORE=iP5z5 zob;fyYR>ran!RBx29_BQPCmD_3jSHP^U*suQl(fq(XPFP>n~cd!!19YO}*7q-U(jerVtBeEv@M*aQ0Yy`OQse|TseoxSG#=RNQTPzpPk$J4&t@T)R!C6fTi zfQzqz-6Cl!BVTElv(1c#G!u~WJw)vGVQL|OU{?`VS1T* zdjSS@(~a9)c#aTH z)$k~74mGdF$}^ZB&M${=Tyz3p>G>7j{)9?6l8vYxplk5YKK4nI%!X?-n2?I6AE5KL__{K?w8oG$WT9@a0=0XFBCqipP7RjG4hm% zy|_RKs>1ji-+J0#EH<~(S;0Sp)lz)fgYdlEZeUO$=>@$!ye2e1dIpu}(992LW=t(d zabCGK56$Kib`l}z#`+sNszl*+Dd9O%@VR6o_~-ppKX~knkDzh0g#%1UzI%>5!`lN1 zCmyeT#$R~3!OU!gnETwZ!lmG!#ki(7Cc#s&#XP&KLA`D7y}E;ccGlRs?AiE7Lb{_p zv!fcm$<7Df6eo`M&Y4FXn#rUP?RV4`{4-13ji|tihFmy{WYxd{2^-`d#WtH=vrI8;3Pdu_zuGjZxjt}Jsmg0u; ze8kUjKrDoZm_~Q}dH5QKeCE5VTls84ESL>2t8DwsK>_{QgV`XnG23hK&y-Pdd}z!a z1a{jX-%%}M`!_$2bT2089^POM@FTFR5N7gqFvdIuSkmO^W+2`xwk2qf{}2f zoirnc0GC;W$OeBNJR?Myecyy1*sPlF;GbE59P0L78Oljk$m@vgJUKkE2B=5XYc7qF z#xjy*@;O>$95!E#)z5ob#&Bbc-wj<9?R^FR+$#iDjE0(Au#EHrVxK6q43LID{Ka13 zM&eQN|Jw^MxU`YJNbQ&dSV7}YZBzriahBH;%S3!qG%L?YH2H8=3F_cW=q3gfjn8+i z1YCiQX7%%?z){?-qg#=y|Ee&Dw{FLbzU6^jCsZ3SkP4&j`$o2j6l| zmeW22h$l>8+KAJ2UCPVN`Oo~o_FGSx!*rrE*d>yUBH9)0OKmIg@VS&R6N*X>t=a8G z+%p64_Axu>%e6DEa;{F70EtH9EA9ZtiLqf~>}nP<@>QvOJUtqNtoAtg?iH%9-7}8^ zd9(|$;h**G*oVNQ-GS0~R7YvmS|h z#AVbM^MQ-KLV)tp(jTtGN-&3lc>e*{&}Ngh6e5IBsh jgq#Cg`>gj+7DY7KxNSDb#m9{DnlE|fA1dX4|L6Y$5=GLG diff --git a/keyboard/ergodox_ez/keymaps/ordinary/readme.md b/keyboard/ergodox_ez/keymaps/ordinary/readme.md index b1aaed6980..f100dd1c5c 100644 --- a/keyboard/ergodox_ez/keymaps/ordinary/readme.md +++ b/keyboard/ergodox_ez/keymaps/ordinary/readme.md @@ -64,9 +64,9 @@ Moreover, the orange keys on the right overlay the numberpad from the Symbols La ## Switching Between Layers ## -The three Shift keys correspond to three logical layers on top of the ever-present base layer, and are represented in the three LEDs on the keyboard: Capitals (red), Symbols (green), Media (blue). Shift keys work in the expected way: press them and the keys shift to that layer; release them and the keys shift back to the base layer. There is also a feature of the Ordinary Layout to lock the keys onto a layer: hold down the Shift Lock key then press a Shift key and -- just like traditional Caps Lock -- the keys will remain in the shifted state. To revert to the base layer, use the Shift Lock key again in combination with the Shift key. +The three Shift keys correspond to three logical layers on top of the ever-present base layer, and are represented in the three LEDs on the keyboard: Capitals (red), Symbols (green), Media (blue). The color of a layer illuminates when the layer is active. Shift keys work in the expected way: press them and the keys shift to that layer; release them and the keys shift back to the base layer. The Ordinary Layout also features a Shift Lock key to keep a layer active indefinitely. Hold down the Shift Lock key then press any Shift key to lock to that layer. Or, hold down the Shift key and press the Shift Lock key; either way works. To revert to the base layer, use the Shift Lock key again in combination with the Shift key. -This layout attempts to treat the Capitals Shift layer the same as the other two Shift layers, although internally they are different. Due to these differences, it is possible to switch from any layer to any other layer, and to lock to any layer, *except* it is not possible to go from Media to Symbols. You must exit the Media layer before engaging the Symbols layer. When you depress the Shift Lock key it will illuminate the LEDs corresponding to the layers available, so if you are on the base layer or the Capitals layer or the Symbols layer, then all three LEDs will light up, but if you are on the Media layer then only the Capitals and Media layers will light up. +This layout attempts to treat the Capitals Shift layer the same as the other two Shift layers, but internally they are different which causes some inconsistencies. For instance, it is possible to switch from any layer to any other layer, and to lock to any layer, *except* it is not possible to go from Media to Symbols. You must exit the Media layer before engaging the Symbols layer. Also, the Caps Lock feature must be triggered by first pressing the Shift Lock key then a Capitals Shift key; it doesn't work if you press the Shift key first (instead you get the secondary symbol associated with the Shift Lock button). ## Special Escape Sequence ##