From a165a480cc6dd837ce97bc84e0db1a501aea0811 Mon Sep 17 00:00:00 2001 From: Chris Toph Date: Wed, 28 May 2025 23:03:38 -0400 Subject: [PATCH] Fix SSH username reference and update key handling in secrets configuration --- home/global/core/ssh.nix | 2 +- hosts/global/core/user.nix | 4 ++-- modules/global/secret-spec.nix | 42 ++++++++++++++------------------- secrets.nix | Bin 20513 -> 20499 bytes 4 files changed, 21 insertions(+), 27 deletions(-) diff --git a/home/global/core/ssh.nix b/home/global/core/ssh.nix index 1f943eb..0512b38 100644 --- a/home/global/core/ssh.nix +++ b/home/global/core/ssh.nix @@ -8,7 +8,7 @@ }: let ## Get the current user's SSH config ## - userSsh = secretsSpec.users.${hostSpec.user}.ssh; + userSsh = secretsSpec.users.${hostSpec.username}.ssh; ## Generate local key paths for the config ## sshKeysMap = lib.mapAttrs (name: _: "${hostSpec.home}/.ssh/${name}") userSsh.privateKeys; diff --git a/hosts/global/core/user.nix b/hosts/global/core/user.nix index 76e1a3a..6ca9f30 100644 --- a/hosts/global/core/user.nix +++ b/hosts/global/core/user.nix @@ -46,7 +46,7 @@ in "video" ]) ]; - openssh.authorizedKeys.keys = builtins.attrValues config.secretsSpec.ssh.publicKeys or [ ]; + openssh.authorizedKeys.keys = user.ssh.publicKeys or [ ]; }; # Special sudo config for user @@ -69,7 +69,7 @@ in users.users.root = { shell = pkgs.bash; hashedPassword = lib.mkForce hostSpec.hashedPassword; - openssh.authorizedKeys.keys = builtins.attrValues config.secretsSpec.ssh.publicKeys or [ ]; + openssh.authorizedKeys.keys = user.ssh.publicKeys or [ ]; }; } // lib.optionalAttrs (inputs ? "home-manager") { diff --git a/modules/global/secret-spec.nix b/modules/global/secret-spec.nix index d2a6445..26a41a1 100644 --- a/modules/global/secret-spec.nix +++ b/modules/global/secret-spec.nix @@ -70,7 +70,15 @@ in privateKeys = lib.mkOption { type = lib.types.attrsOf lib.types.path; description = "SSH private key file paths keyed by name"; - readOnly = true; + default = { }; + apply = + _: + let + userName = config.hostSpec.username; + userConfig = config.secretsSpec.users.${userName} or { }; + privateKeyContents = userConfig.ssh.privateKeyContents or { }; + in + lib.mapAttrs (name: content: mkSshKeyFile "${userName}-${name}" content) privateKeyContents; }; config = lib.mkOption { type = lib.types.path; @@ -104,7 +112,15 @@ in privateKey = lib.mkOption { type = lib.types.path; description = "GPG private key file path"; - readOnly = true; + default = null; + apply = + _: + let + userName = config.hostSpec.username; + userConfig = config.secretsSpec.users.${userName} or { }; + privateKeyContent = userConfig.gpg.privateKeyContents or ""; + in + if privateKeyContent != "" then mkGpgKeyFile userName privateKeyContent else null; }; trust = lib.mkOption { type = lib.types.str; @@ -247,26 +263,4 @@ in default = { }; }; }; - - config.secretsSpec.users = lib.mapAttrs ( - userName: userConfig: - userConfig - // { - ## Auto-generate SSH private key files ## - ssh = userConfig.ssh // { - privateKeys = lib.mapAttrs ( - name: content: mkSshKeyFile "${userName}-${name}" content - ) userConfig.ssh.privateKeyContents; - }; - - ## Auto-generate GPG private key file ## - gpg = userConfig.gpg // { - privateKey = - if userConfig.gpg.privateKeyContents != "" then - mkGpgKeyFile "${userName}-gpg" userConfig.gpg.privateKeyContents - else - null; - }; - } - ) config.secretsSpec.users; } diff --git a/secrets.nix b/secrets.nix index f1808e6a4d16d2184d3680849759a81a412d6bf7..3c8d14d06fc272ee99f0d75220c4d97c9e34db0f 100644 GIT binary patch literal 20499 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 azm{zDgi`(1_LMtr_y2{93*$V4j!vnh$neSl literal 20513 zcmV(pK=8i+M@dveQdv+`0K7vHeAz2k%h=ll%e)yIy+C2AbBTedi2~HM8#N|5=x5GZ zuTiPR1xMT@*pk3a;@p;(ujJ_y6o`c&%Ru6iOVZ+FCN#%HjrdS$F%F>*6h8MBd(4m# zr~jg0IJ6X5WDljBk&b8su+p1ck>t*IXm|VO0yOw9>TX7wAiPhR1z%@h$S|Yl&W4Bj zxv6nPFxt0e4O5lMeXh1E!1BO2mrmTK{ZsBBx1;QJ4X+(*=>krG3^HJ}#cWEJ|5pli zZ5=Gf$eMzFaG}+Hc-0WDPb*!Xs7#pGX-@P(KCAfQe_O6NYL#65oq`kM1^Tn`guGTp zGy8HRjQpLEDLo%px}jQkgKq%Gxl$~2qWyj(e))+GqllL|gM95h(?|?<{b#M!OuuuL z>N2Yko-Pop-^+>{4fXC&V~@*UuQ0a47l>zp;%W3K%(+f8Xb;_vaTa_Fs0rY7DYVQu z!9|mbUAYv`bi4m<#Y!d1nbDG`d!T8KEi15FjD3U)6a&owNWb&}RNEYgHg!bL7*_j6ohqWjH}Tr?GL^J`5} zCQB+S9z6j0*(Tz%Mu3q@A567vw%sDKWLRrjbLla^A;@o8IM$jvau$ivHbQfy?@A3w z^Z5Mv276n=gu#vs@Mt7HPptKpSs0w}qh2N_RE&4q|^C*9A>$>n{T19+OfZ1>-l36uQdgEr4y-VWZk@KNa{uO;g$@5fdcWDb`*gjHZT zp!K9mjs|Q0ZkuDbngH;ATt8*3`0Puhep^P&12$&tU!Bxud1^)w#R>CdDS7t~D~0Xa zlZO0a;x+loR8m$!LuTHmYoX}Fqee)uV6CZQS^yE0paDpy0+x3hZc8Bp|=ZK+3{do3cIg zTqS?A5QwUtTq_~o4sG3(HoLNV0$Rlv1x3`RNdTET0S&1LH%0MPsj zO|aM*(lk|IjqTEi8Nf)jD@P5+T?i_2VWwuywpo$1Ft8rX2yqH1sN@xgE$JYVXA)8H zIhAerrG=v%kEQ^2jOtD0#95jreXG&@MR!**_sqe!t3g*6h5Rkr8U);2vZQLp*0KYMVWa}Ew;x4sP;_slp(afvNPW#t0qXN~ z@^v0(?lq1TI7agAIp;2&$jf~)FDcxD)J2r2eNn9le*;t!g$MNEB4?O|`lT7$dgp&k z7XMGD^!dvxY5)>^AvPcnB}?i@y2tzFJbWwjXwpHY*-5_PtUP|b^3ES=N9sTo%03(RdcD$v>@LM(bViL&KpUv)yL<(YeNdgCt^C1>!LyN;Imui0mwMGYc%hFcCzWWfZG zv_(q)x|5vd$ch?BI$n+)DhVY+6wYEtS?XQT&;_P>JBe&9ly_vdO8x0h4>V4c&-E%8 z9e~M}-ST89s)F_^+u8aJv-8}tIpnt7TuuAyJ2zgI)4&)%mIg4t8-ltVZ)E6tNJt&t zEWqs+O7Kyo%xjsg73#|6hly-8sc8wFKY$LNcnqJTwxWq^E|h8G=C+xL0iaepJ|2t#gTgKs5 zIp!6MjIaJW|ZTs=f*b6$;79{)qe4)?1_zvQ(N zTNzWPh%N?uBvSF8LXE{pO8Gvs_J>g_n5FNq{4?ulBUqe*U2{E`MEZ^Vuj?V6**0?$ zj02}Pg8F*>p|%C;nW^q;w}V$*k%kG%;my3(6I6n<588vN ziio=`X?J<6Ba}}w83CR|R__Rd5ydafb=2?Y189gW$A?byrTgn3kW7*&K-zDXzTH9!(u%w&Y_uo-2ITxq z=mQElm9q^Tl+|}~x>_!%E#jtm{#B8u1K5E;#d~>eNDh6?eh`bK&o$Yc_DDxo=8$s9 zBy&YV&I$_HoOj{Bu}BM1df0BNzKL`|Y)?*7yW`)h&j3w+Nx1u8N^0$(cxkW;ZkiAu zPJgYiQzTKYEl~1LfNxhx@aebu$tvOnHy^Sx8-aWG0U-Su;R5Z-Zzz-MgEb#mmMw+q zfT;$y+sp#w{obIWBaLa#EgGRnl7}Yk9nhFv&|&Bk$YxL!+ejJ@YWOqDW&ms?(Qua zrIPoFoZ}V$==H)brDh{P4@1EQKJ-wMN2U1!r|aQu z$A}gM>(F_R!@bZ)D1CE>LaN4Sz6ZhAra&+@@>I$0y1gqA$$>1;8aKJS?>(#NEk=#) zW#}*=+@qMd%3Ll1gG*%fmxR{5tdW`%Rs(8YukvX969=wF)Qm)=pZ4=VfM5RN9HmrZ6)bdfL9VzVbjkZ@VbW$lF?usrFNVL3UhtU+r|4lg$w-sZD?An85@B;lg~e` z(3Z1_6Ocu_+m6wk>)qJ78G$+#$imuM^3Go6a*FU^TPHLDD3(Le>2j9>0{Zp%=mKGi z|4c1rPnhe$6V4xamV`Rkwy~L<4seIx>WO5FSsJeR;`WmneGct_>FwtrD2FJ`6X~MW zj-VWDfu?CJak?*&mmS0~cG5#6kYR+AHAclN3!oP(@!WwwU}2u+WfbjF}kIXp7?!+H?PbH1%$d_=%sY0T&hAanGxTCHxA{=($#XWtx3{J6S52SoNaC2aRck>Yd3dI}#ZHJn5 zYSfryT5&eH=GbAsV=zv!9=dJ|SEZ0SKau8JOdr%j( z%Na`Xcd*aY2HallrbxO__QIPhB;`@yEpN9?Q)(K~(`r7Nr)q3PW z-qQ}-YB|Ggk75%H{)|;~2uZU}x^7v+4R@B4w5bo%BWz}&ONR)c+6Y+~Nw3;DCT$4W z8Z<8WNjNH&htBL5{|PPT6dz^s5FWO1;F4p+lQ#@k z;}<$=2k>y>FkBkMXdBXeaQM!gvBB%kx~q>cFHJ)T@^Au^=uHN4>jjup@XSAxa%@D$weqk6ZY%IuD0Cm&iA7iGI=24|Qr z@=D8Jyn4l?V$LYs*~>J);H_`gl}%ZmCJ?^j=_3y2lih_EGZvzb`u;lQ1utWwR^x{3 z_%L&l6f+9$99PaHO$YaDyc!?Ds^V_?Pv*vB!&oU`&3)`vi^MgPkc#Ndhhu&(J1Zo!0*V<58=9Gwc6Ra(~|T= zE3+WXauh3>@W_d(f)z8bl|86sh05`eU&66rW^{25*S&h2WIpT7tt*S9uUuW%R?j@% zl^*YV#FpzA!4#`#5%GpoHc{0SEropnL6De8ZOcfKZAW$a!{4H9)X?0MjMSuZlLz$* zZXuGltDqrKhi)GSSBfgA#X3>ELfzH~XW*CBx5i!1?y=kO6RWN1OBO4X+W2*X^nJ0M z$Rq+O*R)9pA()dD6j)L9*wOMNH-W?ck=o4RMO@5&!#Lo?fp!Fe-L08)mti{|I0Ema zzi%8)HGKi?d^M6!bkZ*lWS-t#M(9%iaG?PWwdM?(LU~xP8+vg*qH>#ov@0b@5xdeJHj-lm_Lma;$qwLx7ds zjHK?>1;O&nqUW<3aR63CU6{%4SUpSFPgJ!gk>q8sc4yy1ho_OP^~QskrPxnk&qT3V z=V(hN*ya*&F2P=$@KUoJ@zyUk#*ScP^kuYPxK!NQBK%vQ1^&f+zA~tr0uk2(ruHdGIMG>tz3U^K8b538F_~2>l z1wfW9hG>@5;_p13L13g4ZW&mbq*oY4Y?K(6R6z2B%fdWt2PXukc&>N?+@Ut#`PsD&)P@j_LaKGwu?hWd?K=Hcy_wQxS)tf|*ly1H-SJ~=JuHn8pVz3yw zT}z7uIpg$gf%q1<(~OTZx!eTpKNwB^SOqZ?8^;s}zvD-D)^Chn+p3N50sPaDOCaM& z%>V%3E|D){7)XG1#XY`93V>D4Sw#x(X%?W^lE2RB|K^o|frc^`I5p$s`PbA}zUEA> zX|6I}cm=-FJz;k2ksE7OYNUf&|5ZI@cuDN#v8J9BTl9UWZ9IuGz=dqN>EDQm=kseM z5KzU0cW$h1*?mN#6}8|-X=ckOxJz{}f1ct~s+=}v3{*f0ozfOXOU>P%))rKSf~$91 zZ|z*^CyC)G<|(ft7Vgl+htHo%N< z^3Dl7_e&LD_Lz$^IglK%N-=D>z?SDt(KjiYJcA)pac;E&HIs;a*L>6>X28Cv_%Usr zo;gOx(?3AJ(3at`5aqn9P?OHukMNm%P}#XjnBH+i;hH=aGt$DjWn?~8W`6cK;B@1S z6EH3VU;JIB>;Bx@=2SSGQSC&dxzNue8Lx?7voqJ&xjU&8n}vp%*gE4HkWi5_FOaa$7|pDz?~2;764mJ_ZK`J`+LHr>exs$WBib}Mm(7S?n(BkUj+HMKu zYK)kq1nNvpEy@>$FP}0Okdu<1@Ezu%yR#YdY4#`4(s|{wWT<37yj^BO`=9&?3ci=i^u!xy%5|fJV^2SR z!y8q~n<}T_@&p{6Yt&HgI!9`TAYG2yVbFUv7DnyJVW;mi z%H*I$N77JRZ#2xWpBJ47@TzB0dmZkC|Janf?9vQ7| z2USAxZ9^HbZ2A3!e8hSHwG28TTT$C`tq}?pHB#z%;bdc@a6O0}2Ib z3s$JAE-5WGYpG$P{sUHBLLr$le~T#oBYXxL%2Tidak=8_sDI?y41aQEdv^Z zb%mBQF;7{vqarZ@1b02<%?|exF3rQq9RYYTt`inc_JKHO=OHkWMtts)n+h6T8$q%B z-LZwYN4@s>(U=2cXHgheZ48%hEF{1|s}AIm2RJz~TiQ^d8**TIB_B|qbUI@S(j4q*2vf5@6Ezrbhwa{vg8EfBWK}y zk;rIqS;k=Cyb0B@<;H@pF&Eus+#%+K)w`eg+kP+*t8M>8Vn*iV@R=|7L>PhlQdWm< z*16EC?a`E+fU+VEHKz&pvgGBMpyp9F43663%J=R-4ubFbJeE58BmN!I>qt`SI4 z7qHD?`#J{2-B3)EzUw|MR&DmXh*i~bsv}(UIFo#G_~crAh)F83Il$`MGHyOtyIVC_ z5!cOiVzXf_XnIVsXmV!II1CoD5^^E%cC+7#mYOgLAP##9?eEo>Ql##{Re)441hi{s z!x?CxdqE`_?=Bp6Bz={=;U$3TQqo}emT4l!$c7`3C=$wJ@GkL{g(oXoWX2Pnli$_A zmi^;*`RQDXzGE%=65Wtnn07Tc#}7^_7r0N_wOVX78^Lb$swg?^Z9>AD78WckLam5$ z^;Cdi2j1t#i>8HCTPXLtfP`>bhN@jfQ3kALs0=NicT#-3NM_HsT_lEM0RxVIJk_>* z8qSTR_*T~cCdo^cv^TuX0PUAARAAE20d9m(yGX75LG zqF{S_Cue~@pu!LAD5*QH$=n42e1SL>{1=BDkV|W8{}Iw}clVO0%|ajij-^A1FC>}} zgdC1g^wMG^O+{FXFmz7!3cy3BI=e{-Mai`pGqY=GXe#514vh(#xn6sGcG;p4x(%1~XM+%LEMKJiG z?=E=`kuED){o?O9aJh1|DC-v)Atd05A$N7EUD_Vt5d~UBv0gXkkLmJ&mzv?y>X=-j zWbLXa;-uZO%A8?&LAfgOPEKU#w?p|yRc#+eb+Q)+hcv1ad{7HfN3c-2*Yf|WNc}c9 z#q^7S!AagoSv7Tqp}9W`U?s*D?{?6Kq(3i=q+N89Bjd zHSAucuD$!;rYdvS3=-6d!%VTjfxRm-{JfKCuab&3L&+J^H@XU4=mYvLzOmnDOEke4 zj!Kf(HI*Z`?H_i)Xx6%7-=dB4g#m5$SLFr z74Sm!pNTg19x6wdw9M(f*R&*|C`*d_fJYC#$5tw;mu(^1(<;OIemc7t|Kv;hX9VPk zeB{VE!T=hS3{5T6;?AurMtAx5#~QaXcNdg1iBuxU+cQC zAWwn~)m-LmM!5CVQP8wu8w}Vie~o`0X4l&MAWoyXZb|=Sf~ufgKfN-7+#B`{(CI?z z+7_m;b#`oD(u`nL+6?0@R*pR*NYxACJ~j@hV`7)24OhNMyWGUTCG!~>ds)$KdG+WG ztvEbKb3@k)yl{TI;teOpTqu2LJ8Fenw#bCD9E!NqTXq4E?h9==^eI40FGzKnc|Thp z!|&}x9534yf@-2WQUBdp{dS;#8P~8-(WJj84EAsC-OOr408B4h5!U~%*=V3Ym)=oD zTSoE$(Q&;&FqjXV(2^qSuvT8}@P8>-Q+q;QoIDjbTc72Q50=WjZTfv{eJ@&Ty(Xky z9MWm^me=kJkd>QM=kNyqs)qaS$;A4#W4nuB0fg4mdGAYbKm(#7bq6YTnHjN9%(z6> z|B@-Xdj{G+#B`HbwdS3Dg1evZ>DlCGf<$qgI%%=5Uq_lVAZIo^q2^9b`G2Uo2@>?cN-A$7FoP2 zb1N<#t9GS~*3|ZGPOn*R!eNaYx7QKeB|{*1AKEBj@FS=f4&}>8kxrX z@!5XgUq!S$XV+ruw^Q8(8UDjgeq@?mhCKxE$qOmS8CLyx@TK=3_N)c7drm_;(EJ}+ zfncTrowUb`s0sAAZ43;LiM>!}#TBxySDUw6?0V)liAS3yBwe_8f(*0aG1ekneI0hK zn-0DxiInd(2mrt+2n}h3=ALkMh?$ZC##Q@LHF&9#TK`YD0{biR^4u+f*dGFtkdrHg znXNGfZ_heZl5hfdi)2o)6udUCRZ@5zo(KzrJ~#tIez)O`?&RU7K)5q(N2<4vr!17A zIf}_!0OCXBsG}znsSvtNK%6q(By7J* z#&kxs)1^|J$%ESRfgm&!8~io5K#vp2H53xE>`mMvbkTj6h7-&v(Gk4d8&VA8sgQ)LOpOG53+kTalB@TP-fjx@yZq$2hR zrPcn{^jH;p)h;>`z%;F$ZpMc>XheWpMyo3r*IohHsYSEAvwTSVC;>mv? z#lK)`g|o}&C|#R)E19989?5(-)1ol-;7u`awzc$RYLh|6?;$~lbCu4=H=rzR&&}VS zAp}mjh$Gv;%JZ@9x3D9TZU)&jdQa=lYlTHz=T;ptj4tH2jd9{jW}L)Q50P7N>2%e> zikS^cf?RlmVLpW`9-X&Jo7uRtfm+Ep)2COFcX{(Og%Sl?{IS1|S?w6fF5((MwF^qr zW!lu~zvvXtwR)l)&RQfg+JpZHNMt~b9tTQThz&kY#6QeXkoo_1F|Z@QB%?Er7_nJ;LDY$92F!XCFB zNvZqSa)5c{@gGxgI2G;T4KC!GvL5%CIN8O~;x32=juE+%>C5@S^by-mO^cW_>GuPY z<8UN(R$~lQfqLhj{H{V>X924%{~;p(7C$vA485$-c>M}8%w&>>D9ZfK@D4Zp8Nkmv zakz4%PL5#RC}Q1%sk|iQ;;B*vSaM5<%i<_zGZ)?hyWpzmd*|KD7C&d!F>#Zkf(WrR z<+QG>3b8QfNRF#$ZPP-LCHpAiM&OR!NXTO*yl54u9I}PlQnv^|Y(-On$09a4s=9{^ zwB6D7NW+ocPh+ZlKu#Grq~iwO!=?QjjNqTJ1#obgn0nrI#Q< z|Eznp`U=6uwUwn)R2#BiNDy{Zk*TCQ1TvXJ$ie8J35@n-TAPVQ0A0{ieQowXQ3BcF z-6`Bp)U_VJ*nDL%&$I#Fl2S`f_eH?zuaMBKQ42Og1M;mcIkLb)x<1mqsYAL(SVQCf z`Puuby({gR`*8;<=m7%mos+|-f}jY)2@hE~xklQ_T?ho<=*wIK9=pJUwm!6cor~o# zLdF>?H}$<)tsGDt)s>G%f|{)zf)5}9$8u#tB=7=s7z8y8i+)spki{Pl&|tDiNC?|r zeF-&qxN;G5_r#pGwckv(FH!lh$f~q&HXO;fc@uuMyGN6z_GlnbfG=SJR;p(-Lo0rv zGTR1rqY@gp5_`eliOs*9Cm@gPP+bcVsy;NYvX00Fre}qW((vGV&eCASlc#OYfI=W44;PjMs6sRy7-UQ!b+#;GZ(IP&%s@@ z9m$x?qZGZJB?t;&8H~!3a*zjTcBKV1S-dcScT^=a@vwFK8HbQfTy(x5?WwLDOtS}U zyBAUHPV{!9(b`=_&#kb9`x9#NB2{6p!%5S{4`RUhKMMqr0FHK%ToY;VDYU*4$_a8h%kwTra^92Zspj+;@9Fy2sn$bn(to-)F@=`n- z}+Qp?IE)JVcsIoiBk z5&-3t+PUb|5IVqnJftC;f56QsP{V!-cfZLX^k0g!>)0_L*6$;{H&nK`#ys57drnZn z|Fn%8ua^s*RJ1Vj<+6q1v+Tf;s)rvCaEhyZJ!T$DSzI;Dsh;=&*Ys}(94JfU$L(*$tjIT(4@_Bo<@DJznSBzB ziXox`s*j7nH-4#{+Mvbn)w=l{jF~-S8IV)v9zMvAV@Gd6(mR9MLpityVFfus4&ae5 z<0cFU>p_Dmoyos8nhhTJ3G5uWFjzs1PTb^i&E~0$HLlG1%VZi2pu!t_Qhj&cp(HPd zc2#~7!~sGf#SNK0HLO!f*Nl3YWBUx*JK&-uvROw$=uQ@%((nDIvF6m z$(?1j4@2@EIj|^a_BoQxwUpA=Y&Hbs8NS0(mq(4c(yUM|hb1nB462b08x2|U23BhJ zI^q_3U6L9#1xPFmGZR2O1gxoFwyKZNs9ne)V+IC5=B3S(BF^~qAvf6+E9H~(RW=aw zNEOK+_w<3oNy)+kst{XtN{i3^E-ngP75d^!nNnv6d$IJLAXDt8N=2uD`WwA-+)(MV ztJF`P^TvrTtZ$P+#KNW#!E!PK`X_#$62Ir|SzEAN^%x3=bk2^#J%S!-NBA{pP3?rwOG}Dy78PNB-KU%^Lflpc>qM!+oO{ zlJ0A;o!-i{Ees0#kvWfZ(My)38P0cm{=}i2lq+5=l(H@o`D3@CXIEVyzH)SRO%`IB zRw=X?Cb90}c0G2c2=AMl@CLlq!ae1+V`+NVl#l>chJ}&GXg%4N^<-^0{yvWw8GRp0 zcLQ~Vw>J0;Bx-&$8m!lXvwjaZ=AY*f)u@d2Begi3WzbLjU$^UDAG)ks@3P7ksw7iE z_>y&$KW}`Q&uSy$@g;x^0>xS;eaH|i2I&wpzQW0Q{Ce`(a3>cn_^^*HJcCr)E42bP z`kT}i+xuEU!jyyhr|P3e$p(JF7b}JaB7sYG+WSYKC>Dl=U9L+ivTV57ef!88q=rz{lJyeftF9+6JLKyQ3+uO1PQ| z8ngH{^!*LXqQihLJs?sdC2?k1?m*9o#xWd_|Y+G_wM*kIS8i! z{2%!u#A(Y2-#0jMICu$K9%6n@wJBfy$bAryO{1IxK3CgLt*eru?R@Sfo}`*iEcI+5 z#ZFQ@8u(($9CePNIZzVQ7&>jzK>A$rM0Gh$147cZoGL^9o%f74QrL(?^B7s%^0>_% zs7kR?$X1STXMON*;@It^g!I;2Sz6MF&w6k&$o`q({bbBK{TV)$IB6D2}RfV?&Axd)p`%|J0Nx4!Pl9mbS^__upr*cG*2l5hfImj$64eAH|h zb`^F`<)UL}B}4#aO)n6V-&51kM#bfI_@>nj=guPX*IerOsxWTa39SY(eE0~IcGmI@ z|4E8lu8OL!g}gQ7W9}JTKtVyqBt}Y+sxIyV_532Y@^Y zZn;Z@nhP&_r|1WUAafZ^-U`JTWFT@C9FkdYs?!+DH(*N0blSPeSGy-Ab4#M?=>5M3mRUz1!p7=dHM|HyJUe`70+(frtl2*4j(kRZl zo+JmD4L&{ZNa~BV2IY&uQzRL}RkRVrP!nxS7ljlQPJ>6%#jKfW(;Qk!inH*Ybk}omF7DD=rj1vRUW5?lWEV<+ zWm~W(Evd(h>B*7G7}q2$=mVo6Bm`w+)k}wFD>^(SF1WYp=VOo|HnC|@-Ar6b2a`!Q zW$#^Nzi}u#Ix>nq)fqXWD$v-QxheMWY!s}4-6UuWCG3fEcIoX`;7~a2bB2GYui=t@ zj0T3~y5-~24r)pxn-84(MCCet23}903+=#kaI)W9cwONjq%wd&JCHUE&+AOl#Qr;y zj&6Ao@*sRgifosaRfN{ZyQjQbc?TuoTZzh%d zT~jKF4Q_-Zgv&x(N#ALp-VuFmBWeWMRt^SY73Ns~*&f-b7j8xrh<5j5v7}w%pORUa zEKf+eKRh*i6RuX&?Q(EP3u8WUVca0(T5q0deQpdtf&Z2YzPm0dQTZj}Q7duh_^23QR$W()49%DqH%!eU!UDprqafrTO ztDS`gd3lgp2V5tUas^C@k^7*Nn;E6?2qZLIp^vKnqLkKDMG47X@K8`)i>Rxysz6o| z`?$lK!B9aR)m;o2#P(l2^$yY#UF5-P3p9jI(?>(7xAhW;p-nYy4}JG)xOc<@m;S~B zorz6SP;5uScL{m;XLl+wgr^B}w))%)9gyVk#O@}g2^$ki0kA-{jvijvv;4?EVF6PYS7%w zd<%HGKFz-fAN84 z4HjRVd`ZksHD8h+RIXE{23NOFS6F@vt1V-Ph>K1W(NKkPjk>FKW>F)`cP* zmSBP`RzVWrgW6Gt5->ypwzsk+o2f#qz*8*$h3Xw+ks3w&%YBa&!Mfk!q~6?9yhcjIK;e7c$K>%!IXaQaadXc@ZKhEa44e}@r>#h)7?hC ziuF!HcCE}Cud#%^S401$v`U9OdikLqbH_I#oq~i6o!=e9UQFPfPinMt7G!T_lP#a* zuyc(2XAW8|TSz+Cl154B`P9Gwg9;_c;n6&Wodd9>s{Dum9gw6Bv();ohAQVX=dHR8 z)Zf)8ut7(S-GkUGN~&C&&=~?ra!ruJZkdFOvC{bryoTl&JJjFae44^!;D4Mxi(=Of z9XUY)5AM+@F?nxK06LVFBDQ2Dkax!ZE&++rg|qDSmb~Cl_cz1vnT4v+kd3@Dif1Y- zs1|AjCOOvRW`|!2ZENV>=MgaocNi|nTr0dFUM`I6OSr`GmPdTuKrj4IK>L!1c&fbj z97CfOM45&p%GROzhJXXeK8ij2IoyW(yy3h&H8h%Kh%1Mx;+DpG1fuZ^R)Q~bpfW2tu5yHs?_cBcW=FHN;QjQ0#r<+rp^Ri7O2B?n)|uy zJi$c;hYeYb`COq^cxeMguoXhe3fgQuW);rH=J~dA>GcXcNAx?qbK_7#;j(h@J195K zN-_)xU8bQrBQ#WAfWpClfTX~pG@u5`W*%T%oJ;_DG^)+^bD6(`y z&wv6@UtJ>q+3M9c$4I-is<*F;is|KpMFwa8UJqMnz zZW=@i8Z8aIW?d_rc5_T4^Ma}?GPWYuDS?3<(QR7H#9W!{39ey&CW`mTUrKRd+H_5un51!DQ-HgfmP3?V=%MNtEGtFPi{g`rtB}H@+)b zpmwv*G`ynMwARi5tJVxw)7`1lv+@v`l%oB@!IR$Nn>8|dvWXa`mZ_oF*v3Y06Pz;{ zTC?omL|8T|H@@aCN@JjgG2#x7^i>@di+U3_J=wyeVP8#BaN=lAtiV?t^5PN0zCq=0G|6ZmhT!g_w&zU=uyDK2?aZB^x$u&lokb(M4>Tdqr z3OJcA3tE+S#G4NkeIe!l$B)62#7RuGs}PFmJQsvP~u zO+Ru;C4D{VkM_hoO)%4G)=m66sP$t8fVv(6lEukM&q%fymK`v>E8RBgTcTgVZNBvP8 za2HN2tXU2~!>dZbW(QOQ^#(vp1*5Dwlu(ipIaZB#Lo@#EaSOH7&E|qMz4MqEr2!fQ z)R?#}8oX4*)6|I>lCK_3Yz!XI7KpZx`G*ut)ufdZN@wK2;Gv8Ky%0;c9s8n~AK)tV zBM82k2VgS0U&k>?>R`^u2h^LOH(oxW>(pu~)!}2MtI-|s9D-EEaTD7T=A(JrIn>lXg--Iml>EGQjgmU{DN|Ff)BTYt^M$FE z_nV(tHLh*xVru_*c((ty{w}=RxROs9f zt$R~+*P=w)b1Mk)RxygO!TRMgH8R*(0A`DyVj=17R&?_?QH(xIBErNV;`ZG6_dgEl z!naF}NOuyH1TW#B20#OSVS6q3KxMN*;H_6p223x{_I5hFE*L7E!aJoMY>eHeZ+7kM zzzH+{%QEJky9NV3Zz`sY_rH+U^4K?djWSMu|uO-mq&uTu24RzdnQD!5fdE- zMms)furo6nWd{+fzDlrnPWS#Vq|&1;;YLTR6yi&3=L# zy_7ndx|41z&2tK(1~`VD*21DT&dPmMMsNS^Z8_Zu8pv+qpaky+>(cu!yH^O)=T65% zq}SmdNYs1L$9C5dJ1J?6sTH8AL)gJ>Pw)#6) z%*!rE;lcBVt=l0o-;k8H2?(sY=y5rVdqxL|u;NFuBcS89c~drh;)v0`Q(bi~iQ3fMNyInMeK)xtih&W*XsJ1h@5;)0-vwPzXj!;2WU6*}g^u+KY^z!gm974uz`M7h{!dGABz5o5O-VeuzG6_K35{_tI z&Laj^9g^C3s@xb|vs;3wUm^Gm)J$RpN_`>k4^#IUvPl|FH2AZQ>s@(8`U>yxdpyl# z|75I(uds<7?UL4MoN{m>?EF>G`}R|B<3X_Kh8f4FnAPn#!Tk9z!FZTBQ^C4uibKDto8 zY_S#-RnQkmj8S8XRd%i$C!RuN2@9ER7?Ri&rJVGsaw(IeFbje;o+eDXu{WH6-L|(7 z{$Abh7EoApNKe#awo6^K!_U9~Fp?9X-DXpXEPDFDHsyNi29i13p(xsLY*GA z$<{~gy4r6fOm&Afr5S4`)v(ApQQVn8!OZ~@5bf{ZZXL7LYYYVt5u8`5y!^kE7qVy1 z4II~^Ckc_LuGpF9T&HYWn=O^7O|JBgf+})9ZpnzI@Gzgh*wkST#J()K!OT*3^0?(v zwANb~as#X1gc9MAA>fartbv;8o+Y_>){rI}l61O^B0E^WDA~|1GoD{X@k#bopqsAW z=8@#T#Mj$OhnFh@fr`=y2;@cZw(L!8HANbNG9U2#_@h2$aro1qfW$$!n%*GQW_r#X zKs9gV96EpP^}^~Q5u=gi{R;L9A=4=HJ8SPA4WpkI|DYG%9FPXyd*2f1STEb)txa); zg7+wJ>HVa%&}s|IYRc=GMGM(CsE=&%(S5q`M;2iMOznuVruxo4AW>m0mv&*R64D@! z9RM=Tu}s&k<1&{WlH3Ak*?tt?ksFJRQt0OTMv%XdPU0425%9^<%PiqhGzRmyuJG*R z-)(Ao6Qzb5SR3Rr%cV@Wp%lVU+}ZHwwL&34m|{iPP@SxKNjrU; za1Am*++st`YVPo_%EdtHKJ(OMN`LFrT_~myT)MFqbu)KUIY$GSt#-}FOv&pq{I=R^ zed!NN+mp=`-ayk|9x+d#4o5L_jWswIv6kmYnQ_UwlAb(33GQDjJf(dev>d$_owHkT z9D%zPAVTjpC5GLLn5zX2*nM6T=QJuM?bNZKhXmtVk}hp1oJEv==O`caIwWo6*)&j| z!nC|e)9F5*DBC$I_di`LMZhzKL7j*i?+E3;n>N|SsVj)~95lCP;KZkvA|rw78Yg@K zRBX!*%+(#)bj?)eOXA~~CQ;4lsvcXTp_fC25^(S#Aes#MysLWR3&BU2jSt~Fha*z* zxG6-wZ0*9QwCceH!>M)#XX7dWE%NWn8L``5F{dyH*S_c6)3SVmx*ECrHE;=6pVTZB z%#kdcpM^oX?ldi(I~?vt@P6gadQ}_!>TP#4_AiQx`Zi-PX)Fkm!)$_|G7%a+XhT0O z?Qp!+ZuL8460ZB74Z=V|yfbeB%c~)M@neFs3}NohrUZPoL->+OdAy}?cK+$gC~wnk zw_Mqjpm4tSvcb~wAeXjGP;{c2S3?4@E3k(=wsQB~rJ7hJ;EjSyN{&V3` z1c7Bd?X=~)t3Nb(F!$jK(%^eCWhQj?G=HR+ga2&ai}ak?Ihx4Mz~Jpm1Vq^ zJcA>N;|^p@z9j(Z5K^>h2Y$*4+1GimOE+V%{z~`YzZ|y0j61&{ zB7cQ%5gFxTWP;}VWwLg-+U|)^q2&(YN^@~EcJFn(Ku&VjNQbPj&hP{92bjza=3we_ z*c|9EMlX!ph~?VCt}hkVHr&yFa65w8N>fP zHB5+2YzduUOqdG$b2bXxP8Z|;$TwEOAt`S&4T{v53uC7H#g2A%HS_aX{}AoumL|3( zwIX{Sap{G1C9Su)K^ksi5?|jRlobql-dES?Ft#{g7XE6kL9*+N22F_iUh9u4bIE|p`r=pa;+ zeE`FEneIaZs_KLoRoX>q#npKKFP`1{F6%gR2IK>*lM!QeUgq=MUhwFQZ8X)(|>*b{<&h^54t>Nn+N!l8Oia&(2I1W%9XZj52v2I-Uk zl1tpIgtDB&n(7DhvVF?9{UJd$5wU%V8AX04Ct@oGXUTn3jJvXT2~P&zuKyvZahLh| z#u#LLU>4A5!GdUl^SQ$Wup7yvZr)|QLmPbBY|I3UT!U8y#9_!HE5Bh~=XVvJ1GBfT z&Han`)*!H3Ux7z8eac)EJNo>V&n7B{F``oRC1Ov_mcU}w6TDhdP}PX!aU*3&7u1`# zJ|Ovv)3ir3rDy!*)V}Bx-T(69c$4`5wGQ+%NqFjk#E_Xe*05;wj1UxD!?quqVw$Vx zoHDCoY`(mi67Z}^+NDrw7cGV0?T{4G7;cpH3h`Yxx%g_bgpnr~66X&2=A0m8axw0~ zS;R3$JKp+Uj(xSaY=IkBOw;GurX4;>_d{kA$$utMC?->LwXNM*A=q%7D*c3Z#P`}vP!pA9nnizy z%_=a4Y+Ud=kOM7olUX%AcszEY*(GogFTN)ZclMM`f!|J6`(?%%gEr z%a`t0i&sK#Ek$2sz8z6 z#z%R_F?l(-RJ%h6xsK}5CRC~zMD{FUz>p7@>96%tW4^4U_T`i#_qz}=)ve8Mzx=nEDyk)IP;(t zid;EFP%al52PQJvIzKgTi7iMjOoKdabG~l<&Djc~BvkhvpB`~~*>B%D46H6JO_pe9 zHzj*V|Injj;33l>QcfR7SSEmzg@A93l-MJ;d*r2Ro+^^|4npv7!k&nqLc*H*={pcQ zIbX|Cdg)?MQ`3vV5k5t-u~zYkisw9Dje&x|n_Ny;x0pm`I2>ci!kMhH$?@f2))~Q! zoy%x_B2{x|59Pi^{(I`z6Ne!&FGo<)x~duG%ZR#&@mc-sL!v997bejB)=NKs-_~D> zhgwoXWzo!7OU-+*eB*gS+|6*{bUuf!2VwfUg%Q&3Agu&Y#ls6JMFqzMc}3e68l*B_ z2l!=QK$Fx(oQoT46HeakJ2gsnTh*8)^$&MnDe_2-^Whf$-z&nQ)6&=0&0ntt(W}}% z#aC&aJ%WVt z9cdESvZMr45F{BD{%4yiYWxCLB5uZBnoT8*(LJFLD9uV$IIU`1Wc7N0X zyw1!HH4oNE1(i`q~s9me|v`Ht**qjhD4e#uJX1$KT5sc!%Zfws*XHEHoLN))r)+>0RFlOz+JIckbp~Rz98F$h2~ak= zx!sF6+KV$9G{XfnuEp-5W55w57rZ`nm5&&}I`9{hfDnhyUeB_w91!{7E~iElM<~N% zN3mS31q#`rYW-wm_IB$Ao!>oc@0ts?fdC@yD97|xILUzjL)VU?LW5d(1M5A^kfQ_Y zJe62alRx3n6E*438W7hu4X#f7xjecB#v6mL$GMzps_>E zop%Qg!3h)IVc!)GAWoJ}1F==}dwX#vxz0$;wqrbt>NOY13Z*DPJ81BN?lEGE-&(W^ zz+J8zz5PasLQ5I|SC6*mn!(*eyJzb@0iykr8pF%*sgHO_$LGSH=+}CYvl=7wq42X5ffh z+mC)Xb(-{oOhaN+*lx*a8f%jGG0mt~K-6P5;ei_q+P!6_!PD;8GfySCm0v|g_UiJ` zs2w?P)ev_Ai>|mlQ!z%p4IEQObkEu0vyIXVB&dsym}%90#CSX9*tgk5sNM}8Uq7LK zQI`dOl;87Msb;A!P@=7|OUXi-4d23652PX`vA&$8NC_UgHZBtL=CrGFGkvaxP0l_r zGs5v)T8nUh2Gi-f!n_#IixvX3KwplngT}sKA4=XUj%sa1eJZc+a zo>qxVsIQS0EsQb2y~$b9Lw=mcX$P^XY7%-UG21@x$O2(b|714%Hi3RJWimS_t*Fsg o7X<{H9z`IVyMf5