From c1023b758b9c7ca3c34b12b2f5da4958acf936be Mon Sep 17 00:00:00 2001 From: Oleh Motrunych Date: Fri, 2 Sep 2022 10:21:19 +0200 Subject: [PATCH 1/3] terraform-oidc-module post --- _posts/2022-09-01-terraform-oidc-module.md | 48 +++++++++++++++++++++ _posts/img.png | Bin 0 -> 74912 bytes 2 files changed, 48 insertions(+) create mode 100644 _posts/2022-09-01-terraform-oidc-module.md create mode 100644 _posts/img.png diff --git a/_posts/2022-09-01-terraform-oidc-module.md b/_posts/2022-09-01-terraform-oidc-module.md new file mode 100644 index 0000000..c70b485 --- /dev/null +++ b/_posts/2022-09-01-terraform-oidc-module.md @@ -0,0 +1,48 @@ +--- +layout: post +title: "Terraform OIDC module" +tags: +- Oidc +- Terraform +- GithubActions +team: Platform Infra +author: oleh-motrunych +--- + +We at platform engineering, use quite a bit of Github actions id our repositories, and in some cases from GitHub Action we need to access AWS resources. Managing AWS API key and API token generated from AWS IAM user is kind of time consuming. Moreover these keys are not managed by Terraform and its hard to track when it was rotated and if it was ever. AWS supports identity which is ideal to handle this kind of situation in a more maintainable way. IAM OIDC identity providers are entities in IAM that describe an external identity provider. + +Federated Github Actions works by allowing Github to authenticate to AWS directly, specifying the repo and role to assume GitHub - aws-actions/configure-aws-credentials: Configure AWS credential environment variables for use in other GitHub Actions. +Terraform has resource aws_iam_openid_connect_provider available starting from AWS provider version 3.26.0 Using this resource and IAM role with required permissions we can access our AWS resources from Github action. After years of using Github Action we have some common cases to access AWS resources and instead of copying aws_iam_openid_connect_provider from repo to repo we decided to create Terraform module what covers our basic organisation needs: +- access S3 bucket with read only permissions +- access S3 bucket with write permissions +- access ECR with read only permissions +- access ECR with write permissions +- access some AWS service with some specific permissions set + +The following diagram gives an overview of how GitHub's OIDC provider integrates with your workflows and cloud provider: https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#getting-started-with-oidc +![img.png](img.png) + +Based on our work in Github and AWS using Terraform we created Terraform module what helps us access AWS from Github actions https://github.com/scribd/terraform-oidc-module - Connect to preview it cover our needs and even more it can attache any of your IAM policies what you pass as an parameter into module. + +One of the usage examples: +using this code we can create IAM role and trust relations with a conditional usage and using custom_policy_arns parameter we can pass a list of our IAM policies what will be attached into IAM role. + +```hcl +module "oidc" { + source = "git::https://github.com/scribd/terraform-oidc-module.git?ref=v1.0.0" + + name = "example" + url = "https://token.actions.githubusercontent.com" + client_id_list = ["sts.amazonaws.com"] + thumbprint_list = ["example0000example000example"] + repo_ref = ["repo:REPO_ORG/REPO_NAME:ref:refs/heads/main"] + + custom_policy_arns = [aws_iam_policy.example_policy0.arn,aws_iam_policy.example_policy1.arn ] + + tags = { + Terraform = "true" + Environment = "dev" + } +} +``` + diff --git a/_posts/img.png b/_posts/img.png new file mode 100644 index 0000000000000000000000000000000000000000..fe26f83e938fc0042e71c3e14528c25bf86b6cb4 GIT binary patch literal 74912 zcmbTeWmuGN*FCHvf*>Ul((x1NknRShQMv|2LOP^NLAq4BVFu}t?g2r%TXLkEA%?E^ zMDPE7-_P^Lhxa)6;2|C}=e5th_gZ`Hbs3_jB9DVbhIQ-KEu0t6WnSL8h3U2W-TH9rg^Z+zo6%M(M#3Z0@yqijgipbFZT(KZmBjseDt?kr#x9rk?eZW_4vh|uTK4UxMzG*^Yaq(^~Xx<%shTyrLBr=sx%>|GxG~_ zN2>b|-R?@_|Ns8^#M*Mry@nThm7|s^g{P7Cayd33AwkN)!QqLCi3y9myu9zX3%f75 zxw&4Uj!cVJ2|`rEtJr=tnE(BgD3SD|U@b~rUEQv&y`3*SDk?oOCgy#kNxRE^IMcwq0Zj&uV254LqbC2jTf{^j6`eo zt8KeRa#VB13baSy-sfvuljZN1yNT+YH;HF!9Q@gh8lFE@Ny*rrt{(aNM9~7ZHZ%&A z4b$)TO8Cjtt=IGB&6|hV#H=UA8wV0^ZvC&Le>e<04sbxmPPyJ@y={?sjZY$%W_Rk4ZCS~OxOI-8=7#U=Kl@@__Gw|ni&VG z!*RL0G3oQ?@0gm6Hd7U~5tc?z|AV43b6M_b*VjNF%FF~Irj+B!O(@>`8>jmNR+*Qjn{O_V^i`w&@KSxY~E{#*nHywY$N zy$+jLA~?|gpSeIw6RwWyE9GqW=FNhOER*=fF4`>IJK3|m*y#+lUhyjk+%^>l{A2+l zl61=A-t@noM{E!WqA@(DUF*0^cmMwV3Ha67=5!Dq^@@>opyO&krQUbr+dsUtj7B!_ zz(?O-=Dq5o|AP0wKBOwEO^~sUgPEC`zya6${74z@e!y^S%pGxgeoUCu@q~e4hfS|y z&50_+^M4**@_Pn3oKp>103!Al=US3{U42EizW-q#d0UycQvBIg=6YT22Y^Mm%qt`@%JV*I}fi(K~{>&Y_NnB#rl(5t1PaEM_1{eNE56ww zR&x#R8%0GbHEw%!Y`SHigj{#Rr%jOmJb98D85U-xo~@J^wA+yPHO%bhtFbAjUxzLP z!7;i)H9TC6tF)TfACZa6w3;aH0*Q-JX4-QUyq|Wp1-@G2S&yL7zcVeE6g6#oO-e~= zD8$9J_t}vv`I&L^hZvBX2UfG+KVZ#snY1^bv;`alfKnk-6~E+RZr&C8c|mknvPO7t zfWtBXxfmsWrMjHpn+sai)Hbbd%wk7W0T&)P$xcQ?Ns~uKDEQ9BizokSnu(!4J=@eE zUlL!{;zK@d6c{ynJZX*T!&JKzc3kQd&b`oN&v4bqRiouMQr*~mcvIH2Rv;Szro>? z5`EvUa?ws>aD&kj%IsbcE+urlNS_{gY-Vk3E!x1Y>M?fHi9R24YMwHSkWo|nzWv?& zk?DfscTDtC)#2Yi{PSePh_lV0bsM93()4oS8Q3K3yLq(!)NBsb3YL{fagp^?_`d%) z@FA4lrR5dS)X>Oa8M-fw3!fI9-uY}1-=$UjVs^xQh5${zs)l9<(d3IoR%XgjZ9Dst zB}WaNn2?ZrCsy0Yo#xQF8@&Q_)Nv{Ci8W35HKS&}#)E$To8}YbD^EjSqgA9w44Y8l zwHnWwEH@uX6?Q#&M$6^0rNhH0dfbeLC$ht(ecp{12hxmU_yIa71X{<*uBcf*nzxUK zA0R+FUP25EW}cH4I<59EBMy{IFV7Bh(-hR%v$VZV=7X+L7TF(pItlJdb_$UuSO0k6 z%_Ah_A$fkZZFgV-CuC4cFy?YWBS?x4M4S2McNhvv=!JWfg+eGb%eTDbn+RlSepPqG z8roB&`||vs&`0w%DcuBrV~~L`!$v#20zufbkOF-yse;4xpHf$(QNCgQkob}9cH^NjO3uzyK`&0df?51qXS=)Z!pW#N~}nyZI4Y_43Ze02db* zT1?oSFlYwP&)>+?Vc=3^knvjnqg|k7v*$D*8nm;PoA!0u41|!5JOQ4~i~u;R6*L)2 zF=IdUO_3xlv7kWG|K4b&mG+_UsY%^bl}%6lgAm6p?O(3|xLLvB{7<>(v2CTginaCDvD+n8t&JAA zy5S#qP6ArjxO>I$onPuMRE@2@BR-iw>OKjw~o6B-oY}aj<$USOw zSiGk%=%&UMez?EVr?2B)68uj~RE!%^0NGuu02)BhPZUvz3^X_<0q*zt2^ZgRZOQxf zVd{k=Js!m#1%MnomzwFz}ks17+dkhL_kC z{ZwDc08@ENfb&D6Ci-HKY)-~~Cdaj&7^V>|_Yze%a1{ebvBIxFExv!Q1i8tF=OODX zn7X*IdC%+e0kQL7$B&*_0M@FbqoYUQgSr7XAo33bgAoS+xUjVMizGFm1psJq}j-=v{YaK6cQ8 z7`TS*VjI0X$P|}&NrL}3N0t8Ms3gA^f$s-qSX0~2pGrU57#%TYZ#fWjL{h>4JdOY& zx&|Wu{_@OOjFt8M_7tyft=hG$I|MHqF8*$d;ZLC4;R157Jl$e&(S8KJ*Rm;MZR`PS`vX5YE8YxkXO6dKz%~>#f$k? zP=#ee!hJzkw`jS%K|wRpJ;^QsEe)lEp`mxV42u%;P_C^}HfnHln2HxLu%2s36neiV z0YJUlKuNktzd9RWW8k5m>qN2P#?&{3Smwz83K4 z5HSSWOw3qp%9ZNbpvY~dpVqAHI2a)1ADX7w8@RmxKysIsez3sn^$9ejUp!wU@7Z^i zRH5ot_tFSCLH~O=Wd;(SuX^Ix)_3Pyy%ImK4`!m3dB?LLk+e}}7aM(!SyMM?c+kv6 zD&8`G;cpT2^pWVR8vA($0TP;IQToX;Q*5SH@gBkZEm5&G(oYO})5X&l9$F1YJ68|A ziojDlTIpaiPY#PIzr^VtW18GYT7t86hdOTEH>NWS`%?~Io^)WiN#Z}dqfx&>GUMy{ z`y&RG>htFU{0<90D>%NtvPHm)w08HgEqtZEjREvIb)+qITvjMd++RtygD(x`ckTLo z`*TdEA!W$hVsYr&3)ul8MzsvSel!wxgWo|;+7bw=xs*Dlhlv;gP!vea1{E8r&zvy+~* zw8_dL+xfQD7pWGhwaRE-Z}tBgN5APclIfZvt-hBU?2f*aTyJEi;wPALBNs@920>{n z<9Mj`3BT>c?-8&7ts{^~+WdzfdQHvsFIIQ5XyTLmI&uy z_RtnILP+cskpl<`fL|Wz_nfxp?#$K)vAyYxY*$WJzp|Wtsf>Uyd5*L)jPOtJyRu$a z5d%OfWavn{#qg#o0e*wmx{h9;Vt&}*+t@cjo0vRUK?~#1D$v^Q&(|y%hBv5utnJ~* z8v18-s?y3U*YeIpk^aQ9t9m3HbiM^}`V9|sF#qN?AUZ_#oVn-3LFb*mDWJtY%QHDy z+3l;Vb0l)tr1lkHkVtNG_zfGeo_r?8R`{DDc-4d37Spt#R`Le3-cNLwKK&4qz?NMC zu3a{cg8DbQq&=ZY1sW7LjZx>jF_*!oK<po7=%XjD1qL?cFxQzsvt4plXhbatL=)F@{l{nk19ocINr{ zzR-Mss_4UM6!qyJ1Ad_Jm=YGk1ODTVib=FQo6pnWLqUQ^vA%%Ra_jDkcjivkTUcTu`PZ3r!4jU?`7$y zpV3W1GIi`eTu^YOS!F$G>%1{~-%3+6gF@UV1<)g_TFf9m>tD@5K}xIrsnIN2g#!BS zO`V6{y)aq*H3Gb^n*d%vm;SE79w8BL{(-uw(asM*3qtDP- zwH>6gl-#Ef^)v_Q0cxophfKaGew16~x0s?MGmrcsvF^Do#$^lVG{>qY_M3~Vvs(H^ z*euga{1@UBBk^|qXll^e%ML{#OH*Q*YwG}PaV$r3)dOP$=UX1*OsVOPm6s9Ox+V@VCWziL5nRy|C z98ZE;t!+lKBbF%$LsR&Kfd)}u*I%wFKeD*jv)(17zn<6Lqz)Q0qx>dz()#rOXIGxN zqY2NomQ7=GwE1FpZg9H4+yP?zOj-$1pk1QJo>lvKIV@0k{w{+P73tXv zog}^`F8%2!tR8TY$W{R=Sl7x(sF60xVP~e6e9`N>X%DfF03KGOgPy?BC~AAMfJ8Ig zP9jRS@7vRdzR;(ewmCUT6j@trDr)_FBuwV#+=hj|B%p|&$N%kv zue%O3QBvTL@_?I)yir2XN(T;t#&xP8|A3V91AxCWIrpY(&6rl$^4Wru#Av|ZFhO4LLUF()(XC^n=xTXfKPe{(!7v3TF4$YjU#i3+!`Sjk~U->qn9!AL#xP!0~O&E zyegaNcD(i5H9a(R0muS;t#Y!1UT%?1}sv6=KEDp7C!XZ6zTdbnfCw~4yP z=Cf~F>00p@6V+RUT*55L@NaU2HiBtKl6QZ$k;@>8Xgt0JIg1vLWA{46Z&ydw#yelt zogRE#@9wzEqG2H%k=C-Q=l&tL(|+^pIO&-swTlU)CVu$_g8lS=-BJ7vXs_YO~E+8X@I=3~WY7@!x zd%++AAlWTELY83fgPCpcZ+CfhTG=*c&HM`3i)en6Yh59miR2u*Ai?EmU*jtco{laM?F@d@nf7pwiiwx`IRPToXweATCi8~0x4I^J`Ktj{ zuS1|WFyZ+-52T3((!XA#iM!qB8a~zN$xm$t^}W6#ZY7b@{Qe3Ig3w~k42h3g-RItY z0N^diKIw-J$$)9@=Go-!RsyLJN~=#~sXZzz5yR=eSEm}wq&^)8_kSLq0*GZ|rwwt8 zrB;g4N|TJz)|XP%fTSj^dL}qlh*)(V#4^}|1l{>R37QBWaHXGeq1%o~7Vr+R7$k#o z1X&T>CXJG_J-zo(GhL-(k1;*d;gVQAM16eK?^!ozPrhU8S~<6OHPr;O%QlZ0;gHud zndkZaB9CeEtNc2omg%V2Ry*9DqvsE5R)6RAc0%}GUs5xZjPjGP8e`1jKNfV%YHKLc zEoYeBa|jz*XbWR=$`JED+s%|L2Sc`V(Q2A!F;t%0dx+NP&qMdhi*qEBg?m&42YH2t zGUscQzG*W&+!#~r4;OwZWePHUqjq(yq;620MJcNTx|*j6|I5m*6eg3YC-S|f4P!ww{=e;y_0@~>1jL9R? zgVllRgz7<%w5NkSKt(crjE6%dl7NSk#PllLxConS+vPQwhJo6Fv2;e~f;k5F_=y%d zB%sw)vc@fIN(G3q9$1i&0JSgG3yga{2~h%7wzCRAXN+lb#6B~h970(vucO>%=(@E` zC`EN$g+<4fGRU?+mv5VPPhJTvZ@B40DP`z}44?cVdM;XA-aV0}1G}lU{%f_x<9l1>wYJk6`hXI^-Xg`OXDTHSwl+Koi`nN0ZybWD_A=6wsnlbnhr&YVcC)n4wN56Q zuEq=mISi0s{KhJCq$iSj@`T~ZP`rA?`j_F>wIQtNmjzzhVDPFMeuZ;%Gk7t|7aZuJ z@rStJ13H)am(J<7p$wflw{dc~9AVA|G|Zw&B{CK7)16Zi;PB$qqx7=dV3_E-_cWcsGg%?SBgSuTsfKVab#eo!%FYtFn4UQSjZ=8Od(>? z(rMqAsoLT$TfYPbsC$dQQ3TwpIP-c=7lQSd`-k-zYGhI@re7Vz~`QpV` zp3Hl+GxK#?)WH7Y+7L7M7%Re>cVZ+O$0a%6OS83lku7ikhRLS>>(PIp*m(Zg?#p&K zbv=I`C{ejwB~z;_^NDbzdRGlvg&lIQm?5bl!eT)SdR0)#t8UZV;W?t;SZVNv z5h<~`ICu9zBORj=F(A~g!ohrCsq}OMF4fbMT9s4jm{YBnojOmy3e%G8O_z@!*}hbP99VUYAcWfEcc-?F2)*RPHy7Mb z4D7mty))M^p(=_M&ZSquI5G& z(&}81Drol}WV~(-%v(VxYnyjgO6F4rw<06PV>=@-i^4f>LK>ezr;dH1h{Zo0yi$=J zVDcD&X`U0SYsjgO<)r)6nE-8f8SHwVQVY9;Qy+2T%q03bO{{8?4T&q_j=rH}R>|&w z`l=Opm5P`?6rkJj`1_O)J89*~my+j?c)LUx9*ywp z=`IeUABYGar9NTi9~Vl;mP`1uBCgl*D{tk&fe26YqDiD zKJ7?{@!Vc+3!A8ekn-rDmNpQ5`U=5!5P{X<63+84IP>6*o#Vu)9=w`>8ETNQYUB=P zeERfBICs>!`wP81BNJ2Co27d&=gsjwQ~x`G4nXQAKxV8wC^4vgX|v(7`&&}T`;5mB z463#>HIiLjU0(S>s%`$TxA}EFEEvP&M%ve_v}2EQiS*D`mz0GtGv_d#m3B~BQBhKQ zO9>8SvFcZaH;q0(U;R4geU`gg6vfPw6QuYcL%usaOP)m~vm?JhyJIn4y()=(lo|17 zDlbu0@8^pL3J1AfTnUdo;eWM+AE;Spq3yo>3!mh*BC&CYA8V(!GHr5Mn_;iVxqgtE z<+95>dCi$ML%VTEIOHp&KQYp#jF7+?G**IWv_T&malY55Y8WC3ZZSP;!BjS@)Z%tY z=qMDm_MtE{jt!BSuuZxyHsQf;ZEPGej)0L@Up*2|92m`C+|%Ja=Uh61?^f*3ofi#@ zg-J*{7tfk!_jI|0Yy3OZMC|$0FHtejRZ+dxl&I^ARq=RrcD<6{P%(<$B;FnnX=V+C zkSW-7Thgb3{m~%6(suwDE1XtUguG5TQ$;=Fij5i-Is=qmI2g>_><=dvq3hVj7aO$) zHRR~xN-ZasQSv=$1F+l=@;%3w3hKQ;>($P&7=p6c_pbrPDYV2a)AmEX-gvR0qVwih zPQu9s3h|6`ef}ZZ`j=<)6%>fvT7W=r00Oaz>e|U$7PjW0SRp@!-Ya}zzQJ7Wzq35$ zdNzlx>MG96U_(Tdlk`V2GtLb4LsDkWBBLE!LlVbn6x*|uH5AdoFSR{06gtd45ze_M zh$!NWnm3~rD^C^+jeTD}7_p5LeMV;`R=vQ#d0s}i@K3lkzxAfX@$1fQ@7oRp$=1wv zXtxpWcI|e#(_CNwMV!}2#@gA}2iz(Q5O_r1x*cd-e}+f?SY z9L>mkl_SLW=Jg8DAfNZ`1)PQ}aBASfe)JE)(=$(c}_Yte^mAjNM>2I+c*7^MPC(N15j;P}Ajvt!HY!9PP|1c0^HY zr(+D^27dq=IuQ899~+;M6?hX!f1-X$eUQ~5(onocFPqN9{4MvZJhxBu)k%l=IET*n z-xSLi&V=Fykz~9ZxH}t|PX!>qJ6c_~rwdk#_Dd_*Cm(LFXVNu-1o!7@C5f139?0l0 zA;}N4tI{K{)CtNCVv_ISwmhgx*)GY^Jl*$|26NBQEZtv%m6Z&4Hv85%#Iw;?774PP z)Xd^{o1LaSmDPmlk!}{}y79^0COzp(m%jQL9`8l#or?yK=-d{8O&!eYl_*57d6tPe z3Y{ef=#V5Hg-a|JkKW>p)#zF*wKzlNoGP;|+PBwMj@nl{_TuNmNzv%t*zAr}d__Kc zlRA1rPTW3Mo)I(D@}m(S9H(;wpB)IuC)MCAm zjmLG1e#8v#1U}Y!?92#Gm6`;RRe!e_q66Yla#G1=McD)3YX8W`mnYkG2mA=@~AR0Xl8EC;>2ue)qk8z&S8;Axi35l zqYO{l7KyE>yL`yCTyyX>{yCu`r=>eLJdLGjQED>s3;Q3Df97tihDSMt=mg0ayvCWY zM1J$LQ5BGE$$@?zOA(n66n=NCKKOmEb_vyu{lTm^A=B)90h+pc3bj;Bssa1eyK?su z;Sy2qg9qLY#eRDQ*Uv*jAuUuLkol^+d)9}8V64|zm33aGkzjRb) zk}tIz?lt0Vsz!01nV*)TEWYKTbWkF^t=dJqMU4SzmM2zvk#<0%s-%FB!Y$?)0&ir$ zp5;HXU*!7{5_Q~^sCzmcwY0v0lTQ)J)EJ$t%bUOM6J<1fB?x%d&aB+YHd4LBc(7>P z&9^D!B6YQuSm0GPwuUY1l3nr&pZ1nhf_QwYF6IcSW}z2r48e3gwpChK0-Bf{$urvl zBaq@Q{E>Urf5M;JznpPO0qIfMCP`eKcWW#6_MeT^mHa!o+*g7$hAKq4H3#s}QO#+i z@}LWNVkgF4VD(#zODXhED@7mk11b?xlA{fD;WA2x*VkYJo=1Xex4>9Bg>JB<5VZrL z$d&uC#o2<$H|-0u2#Ad6Z?D4?`SZ+&tA$>nSS-x*LykVLuiBXvG&EkRQ<64=75e+A z2KR%0R-=ZKY@nf272T{mskpNWg8qUYuwYdusbwJ%0_W=NW` zEm>!deNXk-bDdr<54zXrqUzoear4vm9Hw?IGFCHz6p-0n*?^LtLcuanPl>+@#dCh| zdNx&0*t?7uB-E>c7mv+ejPyqN8|Q!iV$v;Xo9_^=pKa$axY8jBMtSFk`^rNCUo6h% zYL*)xPV}={ANf0{6o>zs1EXKNyq74Vj`-6WI(@v)gp$r8sqY`If-l;2K}tt*LNK(SuRU@ST@J2Z&-luTEE|8A+O}&ki@^zY_JTFP$v- zH7drl^Y~o2C5d_0k2cjo( zwg%g#@>t6p2d2HI!6JQr%aOc#vwfe*S3R4`MH`yrm6>JLGo*c6MLZEyVM)n)v*+BV z1(hLbg~wsz6-ATkY^@VI^T}lEG@3WMp3&#O>ejF_LhE2;&Vp?3Rng+iXYtktg2i(7 zEJBdh_^k*1*$2HQGta!wFRXnoEIyx0!auH@(hMs>c%04$*ik6+|116owE2EP3e( z)C0>sq{L&GBkfD9&T{31(IzD|b^0^wU*CnlSYJS)B!PCoWp%%LhpvYNXU4u@=Vrkn z(m^jDnVZ-W>{0_*jK(Qgdfk=0mkgJ%+X_4wOBYSrD@ZR#g+gY&LCKpszsZl;amktz z0Y!KWme@2VqKA?OK>9%){Q)6qK92MHFuJl*p2-9pWv?#Vc5bEF*tx|fYEZBx3#$T> zS}Ak+TIm|~+McE2OY$lkplTz*nrvIKXjio8G2Es^tr)k->I-h_%b&YoPCX9)JEwlJ zJ)7cnw5lHz>c=_d?zP8m_(J)#$m(RIt7nDxUI~}@PTab%Q_!gcsks*p#4oR%<>l-% z?*T*lv%_$^Z9(M_KfKhmu)(@+-AVJFlz%4m0FA%wxkYlr_fzP?ig2x+>mg)f0J;e_7<@V=i5|g14cck;I;VZ^##rNs|VZ~U&(aco6jh& ze&Q6IdiF-uo1W2yjd#u%j`LpJCyJE=8I9&W@FUdsXpv99gEW?4n%pBZIZoR8E)lYw zi_T5JId zc{TiVZZK*nm5}pB%!5UqhY~VijDLLsl&++EIAk&~`6wW65wjaSXVEUsV$-k6)r13e zR&m#1fBH%igB7NIW#LYeb4za-nblJAe41O%0l zR}sE2uqDqMYZTN=)h_UKs%ny~6`FhahmV*4n{u4LbhRR)eV`}Ct}|cd+uuC4!Uf{$ zL+-;!6u3E7^tr!bcBKPkE5T#qyU2i&dDVtto`Pg}gI^2_eN}aFh<@Lq+u`=^;YtU= zQ1irxi|y9W)8{Su{wp0R&(hj-?$%S5`~6YKJ26okOpT6M%8qHMtkr)O{2r$c5gcUj zwY#q*n!_W)!s-nGJA0dumw12QJ(=H51(=*iGo>-cE+~QWO18P%iYJ~Mhz!IbAH5mW zQoxYNZdmt^=FL`(_G?Hs$6y4caYK9Hv@I%*(|0I_CrJK$?`4#?L^=OO@M)TSy+3;5 zVep6MS{yk}D9z{BQNsH01fbtOmO+n5J%jyNl9fd&^sN=urj?D&DXET6XKEego0ZHJ z7L5sZPaZv6wsz&MtUK1y3*@+VEdwIhEcU;Hh`lYAdSo^tLC7M;PCAy>rTtH6(p##< z0Z!?_e1Zm*E0L@BEBWpbSG{hyV<_1J4*D5XfP>lHu>{Z#q*^(B8so>5Ax7(cAV2j< zN|xI2sF5gT-x>Q`YF*-;b@!I+r~_x_NaXCEi3bkc>YJ4sV-f8gpx$!n#rngMX<>up zb+jx)I@@9Trs_bAHA-JLrO_C`@IX|HY;A~%K=*gNq; zH5mD5;T+lKaDm5AR?!ctB6a{makGQVYRq!X@+t)v> zG5)0A95JIZ^gtfqdZ6yp@r;e*X}xh~Uv@h`_qKNe9U=@GBk{gwGpI|mywkn%i9)NB zVL;wi{R?f+_|mK>O*G`J?O?bN&M4Ve+!u{M84nQr)aCtS%YS2gVud-bag_6)Zu%IV zJ>ziN)L}mSo?wk}|F^X!s_i?ECxbg>Sr>=O@P{yST+&3`88m>?zylE9mn;3Liokfz zPtnzam+u6O)si@5JZd-y;1^H_s}s#uS0JJ0&kLKhKj0mIeWP}OrNPnj-RooX=JP(26a-hvHjPjX`HP6iUka6;K8B(wOSz9Mrfc^~*00zcJ;RQEr^r zkdTSGh@>_(t3=|~I4)!LCGaMb@x4=tg)Od?)3uGQdR@aVGzv9z^W${0CrlZ)e7MD4o=Vu`uJsjB32GaRRD#v@bfPw>-e$UZftHJ%?GycR3fr%#!VcRJlS z9dSw(bc)04!gtx3vT;Yu$B@^~3)~}3H@UXMI01Z@t{F8p?|>(FK(flUbP3%jNo=YG zglgDaB!`~@|ywQNF9 z9n_qm&Xjif;>iOH%!1t_f&6&nzrQ_;36m$VAK`zUf9ilQJXsgXpLzT7sx7}a_Zv_0 zF{f|ttWetB;~!RizII*vJ`w){0iup%>iR4L7`)TRc<-A>Id7}J_DH9$9fFE=5{K7dB{EG#ZYzrIpQ5m2{@ zBUVv+@!(ah&*hn=3kOi*j-jnWbd+-8q>^q%q;TLu$pCAy#G74-=kdVeUCdb^!>xnX_9oqcrm=$B49`s!?$Fk3X;l?;Dp5AG9Ftb&o+}7J; zZ;YRH({sd=+FMEV9Q7)qTcTM2elLwf$3z1I8DCOuCw|^xgx|czR~&m@bUcc+Bcc1< zqICK2(Z!acSnpHCIQH_w+y1j`a^Ykq9>utb_bbu{tGi$5yI?vl`AGnreoRQr7Zgd+^E&}}AyX}T-oc<2QuPTA%eX&OP z?RFI!N+a4|kJqjorsu>bBTyj%d)#O-Jie2k&@U{4w_{xv)r6zYDPFnTeS zS$yyhN07?C2(=VP4N4b@1D~cWc$;A2RdW85*4)eOYJ}gjgZxJDfdIU6Xue^>@0vtC4705jLSK#u$h6cz$FU-PoL@;|>mISX|@X|Q+^ z&9pRtl3lj+I@BX>WmaoETMH*DhW^FBSSHq3iD_V}6g zr}fh*m$jckHMmueuX|hAxV-7(F}b}XNc$iuJ-hS_{pPt>0k^{srVye@_b-A0TcJL* zFys7`|GOiS>32h^_w_rrD#?-+8z=RGHCg{Emx&4n8%kTVy2*1dezxq$Yr`9}v*f=n z{LLAZ?rXC6?@=NsU2Dq-WC}I3|U$w-8@>)LER%e4ZlpSq-2Aq~KX9{1O zn!_~nB*#5wNV77;qN=ZHJNeQWD1Hz6U+AB*M%2%u0)X~maKWo`-F9)kdVWgq0VxhV zFF?d@h8!;=c*_$@x_BL7?sGp5#<6b2PSZv3UYVRdMB5A;zyErt!}J$ zmOJcp-O@=J(IIHsdCEtI=##=<6Cgllzv2-jYNAZhHrYMJmTh*1T?JpA_TNuFi9DahPknYdO}C z)OB7zw$>+6emo18*(M<<5|OC5E_7kLW3MMIZ8>uown>Z9m%L4sj#OML^7E0b>yE07 zbbuywtsF*p8~G9W7U4(Lyw`WTY+t?prD&J*oS@kK)coEojyUP=CGE_4acAPc7oY)w zzuunvZB_?c_MuWs&X(SZm`ZnPk>QM+LpMGN*v*?H?MA z?>X>&xx?-Hi~6ma`aAQJJHo)!V+?(p{3hCmPjdi2jgSGxUo%7!N;ivg_Vje(P3$mF zdXZw5YNA2&cgrE^Tf{txDdtZ$Qe-84!tSbTMuoR^6rfgRlJ&)`x(2#`BO}&9lR`I`Eq8;&FEYEh2Si4M!7D-KVMHuddB8^| z5A+omHlTLN@;lQm+i|-4mgrS(?A_#3kw)HdL?{u<%UEX3n>S}hVe)vDb=8n2A4_MB z1&YrI>{b$nXUu+I=Ib36Q&zMI?Nf59`%Wh|leob+)WgLKM$>>V@Z%K)h2o z_$-vfFB=phq6a09w$5Eyu~>=-!nO&jNXPyxE$OSyeE=3=0SVB_n)HYm|*yyq3nCLcvv-au@4(r{;f zW6TP5(NmJR;v;S?KuxSg_X8yx$(f&ZdB1l2qPz`pB2c^|>REu8u&2+qbL+g5T@q<~ z<-z@d0PXe8}U39IWf~ zIkhO2JQs=8O0i99)a<)Xk)gFOG($dP&ibt*RP=vl$RXh6f6l#)vTu=_Z?vD`IP@91ZPj4N! zQr@=g9qgS$^zW&6qnGUaAgV*0?mG+1{q-4jvW8Cv%PsQP%lC-L9FS{VKsViQ-|QQ| z<@!MxWlO1whRB(HtyuD5xoOaQp=8XKcQ4mfeJ!u5n=XqEFOLxjscZd>MV#(9HqXqL z-xMAZ62i2Opz7qkMvZl@`%7IsR^zN^dmYsG4ae2l8f>QdZmd3Fkkn6Iv@-FFZL$19S`KN195SOhA(ky(X zwLbl-{ds0Mz#vO&k@N*ZekFtl4tesp|7|Kv!l$a0Aa{^np9hfeJNRFItU`YzCd>G( zlQW)(?GBiqa|oY&e*g@OyPpG;AoLzb9Q=OH+yctorwf=nSb~mJE5)@*{4gaW!`%L@ z(qX;#4_Ryan-57Lh+K)1YBe5ii->VGDk)7a>Q z(ggYKr@wl&zMqpKs2jHHp}qfc8sRIcZH3SO&OtjODzCe9`LJPh)^!XfK3Lcn?~d_` zU&lw(MKLoez}C*L__5Jd1fG9l)H2rlKQr8ScnP(Q z*T;>Gm#`u$sZ86B=YP!_i2-}#IzTwQkmhlfUQ8x=)VKl^LjX0;)zzco4#T>EVkqZX zu>m1%?z{}RAI@w{`lIe~q2jeZTX=y^>B8ySnuUUb0`$fcP>RR-`17o=(~1(1WK&v! zqMN0449t=KgKikg)2Ig!(P3J(R+77xXSk%O#tnG^fV-@0XSVVw^N?0< z@>cY6Gvgl+6XmrFeoSgp!5`s&4`2mPcNB#~8jA0GI}llT3(n41INvwBt>eTfl6IRp zD1rj}w-eTJC6{lJgc1blQ6F`@AemBTPr{iVorvW^y?E|l?X4Xn_^+|>NK){T=t#g? z@;4c6>8(Ti{jxaSmWgGoBgGFJDt4NQE(Yqw1RK3&#jWVDbByb29~CqPol=68CU4 zc&3lMZ_-B{KZLVAGyhd)z z&iac)F^sR~-lQFFjYQ#L2LtskFXGpUhkww6MQOBW;9UWJyi_5ZXi+nNa`0+U&S}z! zS?^M-l5x7*W+UE6d(+X;`Dlg%_XruM_N6-frRE5Q24#Ij0zC7kL4!LqS?b$uba_=T zTs89xMI~6nCpl*~$u&jU5*$%sGH(RUY2-oTqC8l1q;daqk7q76n;$%{>xR_F&NGtVh$u`2wjUc*4jc{lms{M$Q({J+pxZGAh~ zE`_`dz4GeWN5bo8MEgo!cZqF!7<2~BZot-`g^OzVEy#rIwOhV1AiQ_(v-N0)FqtEu zmG!-o=VptzoSV|m+sT1uE?B02DzQ6!NX!>@+9O`A$R7;XpTCaFx3}(i9{oqMPK+oe ztTWmR%jRG6iez8q^tlE!-^aYNo{9NNgwMJo&Qp|-j7-Vz!-3&phtoV6*_9vV+yk+td##+~nzM=nUyX4D8D}QiXO_^e zilNgz;1y~h5#uO-v?WHo250G}_zU0M2N@J9nPo&6?i!SIO?PWyo%b(2 z;8h2$G%HRsqhW}517Y3$HC=k}?{fqMvGrbFoKiuGJjJb3hh|o^3%P};u}*fJ zarDVmi*Je&Qw-zs84Yc1k-afMw6y9LFU(i^C%SjI9E&6t4-jLeB=P53uC zQK(%qm&l-;q?XKQqXBaTuVPx-BEf1yv)mP!E-hV;j(P@8Q#Gh#H~XW41WBP3B%>}l3CrZ)8(x3 z-IS=~CrePri^mpMj|yoqLe`Vrr5vIOF3K?j)Ke0=#%mM5sU2~tFa4GLQ*|*+Z(fO; z{L8bSOGSAM763T>kPn%?kR2~EIz7LsJjkKNz1?Z5zPne=u;ptogO4?He!|YW;`r1w zzlWz^Vd0Q(GhH0IRE3<;j|wHb9>_-KW4NVFD`EginEzYYkCYNtf@7a`--x?nBO@6afi>#8cb@a-^9^I zGE&DVo&S(rAc5nxUoyOC+W9*#L*xAt)2kMIGMi5y2uEBmes-aTt?YDHJPDtbnGd9P z#B&jZuZJOxl8-3a2K;AMD1}}3=ihyD@@yUCk8E?TdT~&~X65#35-WBLX<0)6g0DQ= zFJ?cy?}pac6K|E>r;W>n?`4pI)%KZig#X~vgz4Ku+HItTqwU>BpOcy1myG8LjE;Yo z;QfXEHv)Ia)*ma9RMzX>(@Ti#u{+PfF$a~?vK^ml-RYF3P~jKXeOMikMUB z^~ImK#|t}eyuT9&Jht9r_iQ*lq9_Ev#!ZKH8znRXf8#fDe%q|X#!QW4viqYbNXB!OCP@D zCmVLkNwme$u5(XAX~X{D(H`cU#8{yNYp*u_FOpL6-3g*#`+7Kk%{qC$RNp7uKsBJZ zZB7*GBc5@n%?od``OvD3kW3f92#brWR8REX{Y@)o&=#@Xrwq9=k)^Rjtn0%IO@5-B zRYj)oX@qcHJNHXJVz~}GZjrsCrzRaDsGH-Oc^zKQaM-knYX}z3`~&`O<;Y$Dwi~He zN&ENk!!of;CQf{|cJL2@$u2|wr^G<4j0yj{DB860#fL~ylNtOfCgdzk9+S>z5RyoYpY^iq)xFVX)y|Df)S4~ck_ZFhA({A?AH*f?o=-k9OiTcQLY81JF1Az5(KYD zzh;YwLpz`Vkr}7&lhif(y8FH*FfRf7O_`hnv{ia306GW4k!0zHJ@z&PnjUX z6<_|-y=H~u^J8hY&=1e@<=~j3?Ps7z{}D_Ml-WVq7GFM5pV=T+@qxYusp88hLqY$> z?^f45b*ea-;yG{~#;NbcH?9iG#@%3PcUV9%3!9&1g5GGJj$4_yTps9hcpt3Seic#% zP&4DNj@Cx?-jYFG^mdgVIYMy8?Quq~muh;2Bo#F;_UT8Mf?2Hi{Z9$+n?1{uvNgEF zDl!)S*?}cF2CsSONA_AacEE4VUO=AsPtdC;HgZI%v-6m(3FRCp<*P+J#BJ*$gyTdz)(D|nm6$Ziv77=^3IUCl&p*yyi4~mSby&W%I zBJ+$-qiG6{VNrdv2e`uJ5s5%mr^oQ|NQ>jWgUgmHT<3P4%Dw-_L$3dGnF0SM>kJ9a zPRf|uOK^`y#AgVU=>)BASX_~}xpm4K=nmKhRJ4%N0Lv^=s6VtJs&^PQRY}@|CN!>h zIWpQssh`N7nUwRJ)>(a;8=tFK6fbIYaG)DpR&#*$nCH*(k{$~~E>-KFFt#=_!qrC@ zbl>&(XsO4>xod#ll)81p4|=+E3nTmag*!#?OKt>ko>z?>aV_S-X|R_Hy`c{u9NdEs zq9e89*f~zaN}tOya26O7IAO%FO|`Z%Zu}0>rjLThw`5NQ^NR$Mgo3A(MroW%l21Cz zH(l&8dL=BjOx8r=71YKw8o)rS2)?VB6$u?PPBw-&-ZAgVq*bD5Vo;mY%xp$Dwnr{aR z0zuhaj#7*vCZSsjYpx0U*0f2*Xo@D;^hX_0TJ`=8=K3eE~} z6`+EzM%Oz3Wxe*6!3cv%W1wzpE?YqU^!werHmie~N8uRQ#-Dnp!q3JMVJ`;E-~L#- z`VHNESaOZd>3X#PrKD_tJhohMf|}KgiGZ={nj-k-RT0e3dbHds5HN0W>wg;m(#fQ!zjs^J2GIP{Zbq3DrkB6 z686SWG0tsEeDuiaTQ-O)1P=*uMz4RM_}C5L0~b5`cxyhgJQFo6Pmh;iaQyAvZ{MO$H_ZRXLz-1HX%6DhLBZfUg(2JFUGI+#G< z?O^gC$hzwynml4y9K0yaKUSyv>6eL>vzK(r8Dc#07-qMG)^!P07!>Y5=BBOXHKV`< z#4o<|Fts7vcZuk;wz=H(ZAjh#!ItzK7c@qJGI;6IVeY2y;HqpxnJajytUk?=xi+xN7N3}V>wuKUaGr;E6`aew9H&99Fq z<3%2V8=WKxhB%`%UemNg{~JXD65gwocNPyv1mcX;#KqOkcMM-I6xCu6*&PCN#Pd<| zt3e}+7C^bvjw}hLGF6Ni)nRiK!ZX=&CfhX7^18Nt2ktSUS2LS zo~yD@GhagQRrQvVU$ZgY2ZQo77WNoGVxgLdKkv0GOR?nT;T7aH!tlF4?B#Z)2isms zS1d43_g*kz->VAO981(+EAhB;`Fn2_p4?sO5x;#Qq<Oy0JW)NydDElMm4q2d%(=W#W` zlp={Pn9sDAW_jSokDbJ1#N+?+JIs4t(Dc1I_ZQVL@2V*NvXRv1r(Ol$BDaQEf{`P;`&yYoV^ti{)WP<(a{^ zwRq%H;fSMbIME)=^2=VoqsZ6A#rGCRRSynl@+mUlc)=RMEc(&i!D)J02>339{Kk`4 z$%{taaa`bjx?cp5!D|A@zBse78tt6f<*#1x&6Cu-;eRzm`)YzaRIYuRf=B1)>rn3 zPDqPnqk4>ItwfnbT@4Y>ZbW6{Yx8J$mJUXS}@ROcYP%IHeV3niL!Q?sI3c8GO>B%*;o|Xbtb8bI+ zuk0qO7Z+0Y zfiU~_9^YSN^_Jn5^2m5ENd7+ue=4Q#BD$aTu@{R>7BF@7BBZ+6vPYNtrsv55P_iA= zY-^h1Q=9Vj#uC?Tm@f)NK6tn_<%Ve%sCkzie!wiQ9+V*d{S}GxMP+JP0Op zY^BI;rJ|#mt2aulLddoAw%l!A0&C0|NPRTz{Mg z955N3j10XXy-m+SHNrsNm4Mnh-^635p(<%`o~^F!Mhh{i$I$&ruHQzNTc!?&QDZM^ zWwnT4-R~ltz#UKMQc|+WJcRTQz9TPQBRk&2+){pF>)z5h`tGxse#Pe;DafRVUNTdA z$iZ?Ddj{KLV~wgP%3!vTwszZL7O2}<(Npn}#jqWa45&FJTo(_cBq0Mcs5-_(Wa3LF zN8`Y&#t`bnw&mW1u5FjZh~bE>qqC=s)#m!cfN0w{&sZ33z#Y{Sh5Xndql+&f*3HW4 z7lS}_M<%~lc$f z+`dyb{`rXC?we2a!i1x>IO1>UM>63aY9@+4aj4jEpZ5 zDzHdjL6j+jz}DmGDMNRE{;jwtwNRk4w)p_C4lgyG}I;?2{) zK@&2o$0A?R$G2pG9M`aBTxNE8WD)n^BcYXeg3}j+7tgEdue=h1ocNM)&4!8Yjf6T6 zgA&*4jxy%vnw7yC8MBWMU*ro>y1KdvL4=9=Zij~HpN7?ul`l4EzLxY$58YiK0>Zm2 zYO(pvoTt}$#P7vR&V2snp^sOlI6KzY1|Jqz?C91id%(OW?Eslw?J5zDr9@D)dN8tO z0$gjD{0_vgPi%h?w!qV}wq(1{6h5B8zJi?`_8Al1xYi4!myKP0)rbt&Kg|1azwmNw zTJOF8tH;Xg234~S6W7^4hasUmYMQR?_^#jH@6pn|FW3VGU3Jtvz0WN{tCJuF(Q?|I zz{bxcE;Dv8N0M$dp+m|c=*6n<5BF0<(VGiQ7j3_>MW~~?G9q8t_iOQ+d?d)X3(HRF zQc2R=*Gmi)?vYzn%N80Dxnk!fF%MW`ej)*S>kpiAF?jWl0zKY!P9RTeAxoAcoXW`w zRer?J-p%l2GNV~(D1DUwwy?b`O z2St{Mho)@rIK?;3xeq(afE#GzPx#A`z*pg^1 zhx=GL9_8WNelODSGZ{HvqWcH~>9X)cFX2TKowM~!#5^bC2*cbnIr{5A!f1MfT`^;y z=X%i+55B@t+e<=;BTO`ozlT}G>+3UMnU`(fwBcE!^#bQqQ#Z}7zPE_X(ND^N&C2g?p-6gUAL9~{g$vSf+hTYpZnVXpfc_(@4O&hcTID(uRgK6FJqU{H4X+u zKm0fIK3yXr3h_X}exP6WJVUbv`|mE?LF9y7Cfc`jv=)@(=af?|7rB~NiyAW?t9D}3 zZPhbHNMxi;Q(YyP?#sLDb_o&KP@B8>4ShipNC!Y+h~Nr~tB40&rWGI7B>kgYZg^Y~ z95oLaAxZ)4$VQ0>pSxwBf!jGN ze%-g8xCbp8bod1cPh5434bI^6H!txQ8|+TzI@aob3_|FP`z}#PpHL8RSLcZ?cMNRu z6}c@xutYPwq7zSh&~Jlku!x-Mk_1XRKE6M&zmXu}iopdBgQ0A*HOoB8oNv-CBjZK` ztQ4eI#pH*0eTh|&0-<~wbQ^L#M?|n~4U5;;nx7eu?-UE`4>+OCT|#7jLHGMO>?$qzr_9QwN8Syc8mg652heK`@rZ5$z+iQA<$^tJ z%P=Pk*6uGYuT!UJEBEbN?+4uX{rbHtX!G!Y9$>lITN!BeFNH{c=vFvr%B_t2`YGwL@bME99k*Ve%|jy=*~TY z!bzXgD9UGxAn8wIX9eJ#$e|%uP)teNw6@>-oe87rcXpH4e%YZEZM?j6j`kY=!1|yP zbmrRslLxoTB@bZ5bisP7Uo~Hj3 zPg@P8Ndd+iHSr)-Fcn(lA&>!U2^+`L%Ux5Kp=ckBSzNwLTof<{aCmifXD1C0eA=h? z-va*P9z{2FwH{evCtc<+CL^$BAo()m1Zd&5&Lt1sE|uw!;-7#dY*Pl$mD}x4*^S<) zc12CKth_1wJ7$zU_>^H*L05Eqx1BwzpZYimXGL) zI@7)_ecl#w_5v^$dIP%0sZbsN%Z-*`LZAq6|7aC*4uCnTK&8GphbyupTP-^0fDJH6 z?{9@>x+bCv9r@WxM9y2(`KO6!=_c?yOA zc(XcBC?>NfDgQz02P-~KI<$hE({nBgZt@cuQzW;Z7IWf!fbaH+?f_G_{f=p}SzVME z!E;1KwZUDMB7uH!HmJor<{~KlfQ2ZM!#VwdLK06t6k$&22!);TdF^CXo+mPjDxb|; zAjVuAzeJhpa@~{|%&nP)t_`3^BTHVx&WK8}ht+gEy3fBVraB-b?hP}((j*x}6GDit zR`-W->m+HnmB~ZR3bz)|h#+p*E{dg1crHj0UT*W4WA{JYaj|Bbo|v`5*il@2-}Wc% z3e=Xpp)(ed^|}j=p)D1+#QnZF;LG~i@YCKbx8EeG#a#Uq3(72Dj5HA2-%x4FU&XAU zVOEz!rh|lMjpG-Dz~Y@h{CZpTN!~2@cBqbI9nQ)WuE7@~GNe?r>t$NL2x8G=Tzmax zD=LW~4cfEf8XrD>XPz$6a?*rd{mhf~w6&nHTDL!RJ+mU44ErsbAq2$f|E}#UMIUDk z;QRw#WpZSY|LOw1W*AHBqF z+#K(Cc)0pI{%~_D{jlHF{a{@;OW2-bw8Svp>h1bZqC^JGio>?ztTq}ffa7n40FDQu z4#3N42AI3N^^y2X5qoXyd+@)~N1z`$EBtt4%gY%r(0Z;FGWroj6HM}U(*%9Sf1V?x z!bqXp^_Pi`f66J0{;_`)XFNu#B7u= zz$8}pWl@0Lh^T13lDe=(k9BG-mvZlO>X+F+MFI&O0GSScukOGiW}P|}W>xPM_z{O4NpI(>d2UPk-9NLtet(+jn0dNC z7&N<4mgM({q6&GG#X#^5-pJi1HvVZ0@05*!Jx?-_oNH;yyZ)1xs!~9zcCtpWZR%Es(PG`RsyC`sxQoyB=qv#-SsizI{(b zB!OFeLka39^$hCU?B;;I(RPnYk@0FETZ%Lps1n zcu_9@<<(SHFLwS*WGown2};!AOGHKBCcL%~_A9XAPISoB;p-1Q= zEe^-Fgp$Sk#;ZN?t(hG|DtU9d0j}4#&bgDl;4hk&uE$>aBA)cyW)FFr!d`M3xjqrK z?=qBo`AJP>YBKGK$7WMd!gqLhp>;aLC*ei3uJM5n%3vz=ISYZ;Q#xUPEr|fLG4q0L zd+ULr%O;|-zGa&-9cQtPb8b+H+RpL8<{L;(NE`>NF zpKZ_tt)+zj?gk^#pEHji-Tdfk%{{??sY4(_aPT=R{al6>L6e z5xaXdf^<)3j}BKfOK|Bb8t^`e`??U9p3~;8P&T_132#_`+l2!0vsOOta&5?mvc)k6 z-R2uX^VTV4QjH5DzH6RYz+Q|MrX^oj;Uk%jWWVLQDOC>Ti;e)rhH(tmta(2YN{4JN9==Qv1!f4fCDHkb7Vx^^%nbK&?%AwmdJ&qwuh@x>}4 z_1m=LO`e9@h>+|JQivgi&kPd4_kAQ|taBq_759S#exRBne@^SV&Ue5O(r2R{TfOB> zHVt=q+l~%}YnwB(Q9-YmD6Lt zZ?b6%2cGo_P()BI+qBAcps3nRuF2C9d{-$xHjVKtLbc!}d-^+79vJL!7o&t0C3hXxOxVdY6xW zW4>J(cj}4{e2;d?&}EZn$s^B!eswIvm8FZ1>UekB66()~P}gLCHkNCxCdXDSt)Lx1&;Z#-i*(WC@y_;3sd}SWB{c_Ua zGpa2DD++Ao7V%#4JoqM`Vszl~d3k>=wZf0;RFODb+wIv7SYb0nVjN@6d-%P>RWHsZ z?z`6|JWqOJ$R)fRf(onIvYw%nsVe<#+yY(Yq{mJNkD{4YB%s(n4CT*GDU~z(OTFaJ%YeD-PjrX#LY$| zyF+m90R51*;#_Op)QJ;%df`Fd97UVlG*iLP+ddk8sa+b%6n3&ctDFIL@a^jYW^g!u zbfNFk%FwxNt%>s&`oSlDNkS+7z3UUTh}6EaB&Iq0fc(bEjB|@W8xvL#I!qR;lkd~y zn^~0uW3zX7Dq_c-`ZPWO25Oey1@)N^@>G)9a_6D&oThiBgfOTIr`AA>p3%7(?uq*Q zYKsnhzGJ>0H^=Bt*C%Cr1!#auJd~B}c$OhJPq~mDvmIHrzz`=QIqdT&0*1E~OohS6 zdtmWuSUd;`-5Sq+`U@iZBZKeZK8=fR(KPfO_SfD`_lhe{jX#oAs6{i}%BGh>N?4ja z@K6AE)BeCXD5>sgcTjELA>CP)a11HAHvGz4mK4wY7Zmx~apOm*?{(vfYz+5cGsz{B z*QR#cxAn6PjODFxg)znPs1xH^fvp1s)T8W9o!2Fz_26KL=xlI7=fQDtqt#<^Mw`$T%W~b!Wa4^dAoZZsWn7&TA@f+_bxul}bXwmAz-5 zmEmETT%QUBq8UqRXJ5`bhW?^Io#Y9j1}f*(FsQNfmQy{@@bu@fnZE&rYpd2N%^vL3 z0PkfEp`tk+94X{9OJ*I54CRBGMht@?=hifIf?U6Cf??7Py+c)IP=#cj6R#LRPb|J4;(nM^jH{ zb5}h}=Yh$P0RM`0_kmw`gWtD?mJI+lKIf@uR78A9h4-E~7T9?y~i z8xfaY0>l&WEkBD1zzxP#h0@la=Vz=yzho@#f=>8Zq`8XT^ieVH414~1%Bm8`5(lxd zS=#=#*=E~~gmddxoVG2jxJ{r#r7sct|BsF_C=wTxW!d6aw6`_jpgVrzZnJ7&LXB~> zj6nfRQz0_=?!L~+QJeQcX|HiUUrW^(_vsM8V1eu_Ftjbl$UoM*h>nNze3Bm{!<=+< ze#!3U&CsQ9S1#;rqK|esdHCn3%#y1BpCBi{Ih{O|SfFMBb7yz|L&n`mx^aOR)Jpe| z*IFLk_}lKGkKQK+l6)a~PmVq|geacM48|eg-(*y}k++-^%AcI3Gz6#6rBlY_VTC^GzOw5Mj z5U2>JZlvg!1{MYvYk3nd#V>Oj2;m0g!0k8dmaHF-6I-ga_G{dNuuKrN(LSQmF_7GGT?QHVgfMnh%*C^ zR%pYl%IQY#7IfjzY{7oWJ17P<(>>(6=1Vu;9Fw2h{Y1%BF3M6F|_c6GYPFK*F&fLXAQsAS`*7^jo(>K+o* zOCYBkN5vpGzBHI+%k#t`YQbX{HQ;I*Ov35LLutm#;t}%I3!b98HR}MP77D&$yZeCK z%ET6EzJ|%Uo(V3BZoG|toF^7RXXw%RYNDd0p_PTFBJ@s0C>MXa`qQV)y+gDG0ufY! z(7V9nop}Di2F;s`xla4Po{|EZf6KZk=dq(BHyG(lgSieTn4 z_;POX4}nV+(0Q`3hY$4Vp2=-~0lRMGolbDJT+A+I*N~-J6>O%|E@iioaX&}bdcZSj zj2AWY_vpQD;+RPUPc%BP)&rm5Hma{)*b|%g^#~whwk?Z5mKszf&Cpqwy+f87R^-hv zTbF%AmKs%5%&=RReMQDiDXp>5k0-|jBmoVpaxm`RBGEIEwmVgT9+BX5OIxL zv8bbNq>i3R$PG2xboOeY5Jv@kQ-%ToJUjyW!(nlQRtUE4P=*?q(}E*lFbplBd&u^q zXPs?+sIkpFL2LTZDj$@d<4jX+2be7D>uRwATTP727wV0-HQe@7%r@i2D5*MG9Q5w` zZwW|)RS!djE|<9KDK+K1gSd}&Q`sr;1J=Loy7vzVjv> zwRz^-r3Hz_TOV#u!!wb2gVR%)SecsX{mdYFFLnnpZtiu-E%E`#2ScIp_-W}Z?BimA zgk#d9v}L)GFAX?>E!lxkXUoRBqDMva>2ns1_O*;hX&EanX+cKusDN&ypTSlDUk{RY zf62b_Ze4?!rV0PIy-+7B6HAXEYCRJH?us@6{?PWgs_t(G3k#k=>H=JKSj_}%4BhzC zSQL9a;*+7!A+5*RbB~}*v^)D>!7&m;I3lQ;9Q86^UO(hErwBebDo~6Rkhrb>_;GJW zx4AnRNeFK%plo;>9q`D=h^f|LG^$UOQBA5Y;_V zs+LMQw-q*(mvfjedvjKe6HRP-rNO$xX(N3DNhJb(Vq zg<~$?(4*Dvoy+`;Ik>iU4Qx00$1S@LG(BY1OepLNoi{lebP4JcVq&UmlO1mKh}v`? zC@%zBdo+^pREX1!XU8H2z!yX|%xasscE=&gBVE32x`11p+tAwDFb%TG119-r5ilyn z)z%6-{HyvWa-65(JJ8O%fcKXgc#>?DR|$rv9e_jeUHdqYPK{MJX?gv&{1i)lZNQ&L zGZM#-YJumCUK=EtrO;=Jqnw3UJDacQ10CeMJw%4rYxwXMnh?Az0a>HMg-7?he+iPh zJ(usl5X;cj+37lvFE4L>CDeUmLg->9gytB-gKiBulZuRr{6VC?JXH#5p02J9SbZJk zXijXI^fQ;XMGg2zYvAJPtehckjpL;(8&W#X`kHx^cqugxR>|=2!blX&i8&%F)*U(D zZzHh{J8NLWP}3D6C|H+($mq~_&yKuIL@|84yU2C(rXoqu*>%kQGc4uD?VEwah|R$f zp4^J-^geIR9}sg~)iIUrkPZ*ZE(*1Et7qBC`VLV+O5)*3l7W~Hk1FE^IugjP6v)m5 zi702q-8;?RX#_Nf$u6KA>)5j_XEFB0@YhFG+B?%eAKMhojpL&O(VnQcXiqo-{bYq1 z?N}dVR0}=DS0uK4zrIc~%i0j94>G`q{)QAm)EIm!nHv}4YbUs{uZsFUcW5j1PjDK? z4D-)B)0LEzDAh9rIjo(`+xIUbcObjkBdU<%HKV}Bv&jBgn87f)Vn(<(l3<(b_3PJd zv~AA8cSF_;c-7v%nmgU|$9ph{|5xKV|7miSnhr|*!#|_7r)&Zn!G5Jr`|7-_S2+5$nmk_}5ndz{-4lA&a_wyq zF{qOzq5of0r+@#F>t?$yYz|lpAb7Hhc&MzboqtK`h4I3R zNiQ@$t45Q;UG1$OnLIDv1#iAS>{K8wC}wMXtm9S@sD1e9RANm+rUT2gOV*1mR8CxQ zi@?M46l@eixB8&O_>xSYluyXew{q$1m!GOja2!!DE;dcq?hW~wC@`hG93aj`ivPP_5Roc4;V?CL`I(>-+B z+mWOK(m5Tm4L5A>;9kmA83^=A8oyFvcJ0TKjL+VWPV>^T!9}~s08GCVY>+j`@&_v) z4}pR0+WBEo(a~a5gXC=?AuW>NGuDeGFHqUki9ki^b?kn z?aeVeh#NkhZ7bt&f~Y(0#7$)Z*nJ=sj{asT{Bt=dOH$?Zts0Naq+2>p^J*Ja_P}8In&kL&|&o$@lN} z$hB~q3rk0AI%>$-eikf=K6{>r4uN%!gGC9yZpp};TJ{u$a7ruA0a_95k!8LYhNlWf zHK^MzlEJTibDLCSSGGnv-ib(gX5NSxz9o5VdwOO$_WRuHkyd7hZ|p23ccBsT4mC*;SpDWA_LtekxwszJ`4HZza|(2W@9D zS$sE{s3GJSO~4KgP}}&8|U{yljl$j?9Yg4lTB+^+;7Ctpcumpc3!0FH10SogNZ}{}P(* zwRG#_TeO}q^c)r|+OarcGuGrCA}rvMLJ&xxk&mWvH-i)7INH1|DR|$lL?=VP+Tg{pY2Jb#?fA62j+aW#y&g z3A0YWc9UdoofT)Kd`u#_20ZVU$ho5C6|ckJJsjvr*e`H33%0i-L+Rx11REaD(cF3R zYjOAh>~(7D8Vzj!BDW) zr)`-2Y?*>mG(ssHKLR$)+Q_h>{#nm$pUWpFGnMmt{YcI3M*t^S;5@(H#3W@OjUxr~ zOxY*W?{mu+9w%o!)lqCwM&6yk+}$?-A5RC$w={f2XE_^++s~(y@Sdr4O5YMhv;U^X z)H#pFHQ}UEmZ85hsWGndzJwP~?)2Z2Uxf&mHa&D(;jtl(j7z(R92FlA!F@`yl*3`< z^<&m|IV+oeH=D+uO4zN7@U=7X=G=E_Ivn-UH`1Dzk3?=COv{yr6~raB*zuRIixf4L4PtJ4UPw_ds;QC)^_;&=tS&eer(;v{A5qPLe

fx9v^%@&rH6Toy36?Y1ro4)T6#nVx#)^jbFJvF0M0veC~t%XLOhlxiJYh$1JHHe(;H>xwiNeN^@Xosxv#-a&(91 zx&bR@YpVWPb}0HC;YDO7cahND7$)f%PQUyV!uU;A-fg;pgVKwvB4no3-Yv>xhFidU z!_@*_@M0D}GIgi#^{GrwWP|4_%CT};V--P{$~X1(`Qgy(^MP}=Zhlj?VUVYH^V5nha;NqB$=7Y1qx~tNWu@N!~^yK^aZa?@V97N1=``dekG(X+SV(&iz$M z>$SEGX{c*){SMWle-Y}5PtI)h;IurYFscFi+yhtsi~AiYGM#E~Of_}lVWFnv=yGBWw~1<-n^ zWr0G^8D?04nY48q?ROf?!qw(_+JY1s4g#v+xmw1z#L24%mIb*}m`SD_i0k1V$QOck z1D@(b1)XTv=45^G7;BSee`oDi_Ze5Csslk6HJP$V81~Kf%?sy!=YPZrHSAvg_Wj46 zVA~%@3;3BC5@O@@i}c5#&(tBS(VX_ycgI6f-!!Es!l$g5tjOH$YrKm81$ke+#$C(n zT|kFu4b>-q&-&mBh|BqyNJBM$3J$H9>!w88{uw$N8nt$qOfc-rnI89T|5IQjkNkFq ztu3{ZW19`Ee}CT>J+Zs@j_tK+fxs>KLw&lo*U?KCvVUgc+w0F_+E|$M17TT`m*?@2 zJyB$~$K1I}K+ewYo6Mqr6ptCwgE#s^aYbLDZj#wejGXd}nQ!VZ_yn$j<#4Oghv9zf z+|2M%qFf!GX%xfIRHy<>)M;bBw738YHS7AZyGQ?Un^G6PhAefKtGi1w~-t8u)ePu=fSI=yti5WN%M8MX@GI_TVFa{Fai|<~SXqA483 ztkl%IF>QlO&w!gfVIPjckUR8$?G};sy~X#tAz5!zLOGiH?= zs*Hr~)ANcDC~OpTaek5vX-{phP{%&DJ=X)CCYq~1L)7?pQrQdJ)9aW$D;tc^bm3vU z!sn0u1Qpz=N4W zr1pDna^aU@N0@uZhi>vIkJ`$58~atBHil_)$q5k5$ZBnIA-=}y!mA#Ath>rpe}6k( zRd5zgR{MQwO7;dJd|Fu{RK7m+4?T5WX9s^hT?%`8s?r>0KS4ImcA6Zrf2hwME*W~u ziywqbp)FA?1m*dz*zj2UTWGFpO{kUaE zzEiQ2GCydmF~75`i=EG`#o$Qqgsn_*4j>Jlw+0@RK+?@bLYD7mHS*?JiEkD+a=l)G>6a^?6%Z?1$vb!p2UW` z#?}I+W;Zr*5NoctZHgDvddyq)&A!{VjEgZ}zlv}ltTFT*;)o%wug#x@oUt5C)h?WQ z`Cj$#sc4}zu5%Gj@c7pM+w1C-2bSFJ``~c8vEk}U(0(rdUdmtp_?f{?75>xA=jxPq zfrtjf*jTC@y*m=xB5Q2%zWgja&n`Z}+AbrMBcd+u)_W}X2X-rGKD@wgNeazIxAN18 zFD$*Y?mOawTjhv(>)83aO%oDGqj{yFEov8$xnJ2b_ttO1Bvg?tH-LRANPXFND*}cK zByXgwWOF6zY%Ks*MPD=fb(Wnml_uMervV>3I~`}~;`^h&i2_9JxLBqR20N$18E2Rq zs2S9Og;st{;;tKLf$y^xx~tMbht8$O^=#y9;<=myhN@nAt|Rmw#?9DkF0!7nzWK0E z2m7+#y9G204?u$kAUf~}q&ny^8gX$#1PaccdxilS=I-8|)rIx1C>O?EpsNqOkIqC9keC!;YauW3AQt zqdHPKX{EU^rKs!6i+MdAS3oH7*`)k4T+0GsS((R4c7J=ZU0A(zUBq~`Ea`jt6*R=M z(UhQ`ak#7P)`6il8$YhNo-gNJxFUs1JnEHRGjKdB>#WAj_*+`M@@X~0=?s!@d33H< z)IkK|BYT&gIL*2RB$(AK$;P%T2a^;QxO!%`Jy&|1Cjm~=+phkqd%YzullR916jgD z?&lzJdEwRIco82=2^g-=Y#aQ(j`2mElv%=(5${s}b6GCUI#LXj?=b)8kT7kms!(z5Qk zzICL($}_}l1Pz-H(NAG`un!C<#B6b_0-?RtAq{eYazBBiuu-=msX+5D{^vQYO09uM z&kx6$3#~rh8J)Qe)UgRX&2rg}x^2MYBqHFDekH4@64Cw+oLPtW&f6>m_~dmkCs@<7 zYr=cW2{>JcTA=-mix4%%H&W4=Cgp(})gHzaMM!RApng2r=E8;zYS2RPqvbO*p;IW80(Yf0e?9Q>Z<(^+|YcuGq~UcF~Lfm`q3@KM(@IpKbWA0?k7gwtJ{aZ-v$7v<-p1Eiz*77ClNliyh%@rZ%X=-qw5iMKu)$~a0wUJRBXuFk^R z?{aae8iQ?+WrrdT)98dTiv0x|2V~tXqtxxX!t@_Q42rA5|EreIpFgi9tVUZ>5!udq z?k}s~`N|~MXArW;TlrS0%Z_h~amz1qCnhRNaw%oNya39g7f9nDq6K?nne>1dlG$DL zl-#TG@)gymlW#>YjOF7B*8@F$hDEQ3zLBtLGQ$x5TPjagpHhK5Ca`cCnvNY=-%frz zS?yJFcc>%vgZL*XEWj#+k?vcP)j|3KsSp(Og zc8Oc({E+@Cyvx~}&2_A;^h7b8(j zB94k}6xk1NeOUf+ocZ)c&rdKdxhQv0kL+fDQUJoGuVWO`Lkzkg40Ze8Fw_=yUKK?{ z%qktC$hJ(+tWG~a`MPpMu*cA1-yvE++R?Of;qkIWRJaTlG7Z-q68p^8{zbM2J7DzxF!ml$O=jKt zIEso&QlEA9Z`=vm49%)-JB|1A;!JoY+qF3S^8y3|2S&1!_`dZqh39cZEbZb@w*s~Z;F zUtipBiyu&v@LA>mgnT9-7^;+A?m5K|@pGVBofim^2AE&r-%90BSS!ruUAJS>jZE5h@wbVfU?=E%XGNuF2 z9`eP>B@l8TZ`BbfNUv*78CVy_(#)6@;afK%eHC?phdP21#Fk6x0p4oo@)mH+c&L*w!p$Mp_K6R5hS z8Z0o3yt%`17p8vu=X#sFUEk+e38%I*#+A;}1==#&|BCE;64ACeiYxfUf6prb^ev|{7CNr2u*`7%Ad-}X z9>sAf#<1C2e+LLr*_Y8(GQstV^9Rl}VZu-xq@`78V(zK(2@pUP)P6}!xx(&*ppQL2 zTa&McC^zvf12<8Bj+5=wexk7%=EWQrmfQGEJ^wPKUj}G1*vYm#W_jIDGl84ROEGB~ zQ_)C_GFp-^`E44E3N7O>Jr8-D2yKi=&NwUQmMdkPh1YtNdOhWiUMkZIGw~{2!xyYt zo;1aE2y(3qqQ=pLLC}2B9jKvw&2f+K7nl6i->-B(Evt@G3o>MzR_^<_+&*?yuq)u< z!-v^Gze^8pe#&D(^hE&Y%@1cHQ!Fxu7F62FFhWPY-cXu`~%!t z{|zPOT;fVQrRtx=dxe<_x@nr;qLCLJwN<~`m!YY#uAiq}`814&OTqVcEQ&N)Bxoo% zSr>>Ai6GG|x0Ef9w7Jx=as<0$O9JF%@z^OKBy*mnS;Bb;#9kLUG~y2P^PidkWCnv3 zFl7BTJ*?XNp3pNY`h0oF$#>bzqFe+zdtMqk@zv`*lc=K~D2eq+Faf9+KxpY8)pbX$xy44xq`4og2US)uZk9r28Gd7VGDRny!`ak?$7F_!Y_ZGYh0&{Z~N1Rn# zmF=W%*}z#K*r1UKd5T=e3qrKV)SW#N@;?NX7B*h16w6FbH=H2Rq_+Iqerj@bsP&P^D`xm#_ABLn*<`9bRNj&M)W0SPHqSh1He-g5a zWk+nCYT~Z_qQB=R4AI*I@E70jz&0Pa=38zu%?A4w=aT_h7j*wz;Omc(Rot5q=wBZ( zdeV}x{ij(KzcyEURId(B1UMvq_!>ORQY1&c!Gy5Rco zo3Hc2v3sMp&cgr>thdvXZ}wtvEp=4%hkgN3G(+(~h5C8&6+>~u-OTs$Kb-Q3bom`&A8&GA!qmjU&~%{n0Y`MQogk z41#Gq*$HTSn5m43D?rDNRKkTO{P<^$N_z?8Ra?eMG(MPl!6>#9OHs^R{p@$s z)&KwjYpDV)7YxlhNcDklr>4d(f*hLxf4Ksz0KY4aM+PdzGI*|jJ*1>^ zQ1IJEk6|bK_DPVUSL9{Vjqa~AecAT1ur}EdU}#b`Jq%5nS*_Xv1GuG5v52QDupl$t zRq>7y0aqN6A8+Pm)6-5R|Y&XWCNO-C-rFUJ+jRfMt>7DD;5@F?bH_2wW;s7IaNzMR z9mC|@({(xl3h&Kx2SQLs86TLcBe<1P3e9RV{qhc|0$ax_U3ow+`Y-@!W&m2nz-j0t9|L-FM@{_`4)=cAL z2Wi9}30dFsP9v4~mUTLmTEbGlY$ISGP0{W>r2C@1l3_$t^-kEsUsibsdXF5~i(TF2 z3ou2x4uk7jvAOLso=f<|%`!GqP;0F*9p77B_I&TWAj_P=8P(wMUM7L)mQhJ+7;9l} zObbv?*srZ)mvYL~&zsHmsyjhPm~j3h2*vTMorI7XnyW$1VUB^(s5Wj18Gq-=+=3yc z#Kt4D8bWVFlV%yy<;{^9ZrE4Bx4#4@-=N0rznW%18S8R)X<_)b`Sxc{CGrtR7cO>! z*b242aCNc%a5XB7rDb@?u@E@57cz}qjN6hdo{*YV%JMxRUwai zzNa@HSKA;H(U#lw`u9OYnq(Z-xslEko{2+DD>nN2HnGB`-5(gy!18z#Um(Z8;fnhB z@#E*1nA_|Obp6!fgg*Cess7R{0_BIOo_!f{o?Tc;!xMhJs`OnKqsXP9&@XoVnLnFC z0iAA|<`6&)(3S{J@mxRj^F_@M$Pm_(m~*9Zj{r7pY!Z@@MBiJjkX7D<1~*ds$F;QN zXch7|2;~mqqIGs~r(t06dG`4B>l-FlE7?X|gPi)~3S#%n$}Q%djZf$BSa+wSJI>yh zWqE#?=;mQRK@5+*0F^k-`X%sU|eQ`0kicolS$>{*6Z~;H_kyB(X4Roqm7$Q3H?RT&`+i zghz1R%VbWjR1ojSwz&Ug$X!#y&2itoDXSLABfG8;9b;M9rMu9vF1->=$DPwTdzX$R z6Ba8FMahS^Qrum)Xfz#vIJFrouvtX2zj0XQPP0K037D}gXfO=8afeAzS0hhlhtVJe zrJr|nAK-xTS#-t#>j(N`h0mWXjwI$sc+C}QZ4M=NPUb}*Ox)fG?#3imcNo0mkDTW! zv%WIF?RWb$Rn9D+jFhB?Nd?mFsCD3pJos&bLpEa9#V7B6x7=AmhfWlLn+{%JH+q$P zKb;$SjloQ!V5H9N*4{S`5gM{kzud?A6Ufvk0Q2FEND0cd2G$QNK=gF~{v7 z=K*#{uPUwpr|Ru(wzTa4{UqllgquVrb*Cz=t-~j1l&&FS--d>!gT~7bO0B!fd@A2p zDn~O7h?OvxuZh0Bxy@RrPuO9-s7BeMo&MqHmfg$>BN@!@f|Nd@_V<~V@(Wrkd?bAg zW}8r*0vkT?cgk`uxOccaLo+_xa4lf0!O$(i@>~6Q6htvh8aHx)#yjJzCvVl+j z*`zpNtdk&kYk?LdviIr~6cwu!)T5aS%9ggj%~|@ie<1@nK|yC&1%$V0Mzg^J(u;xx zlrYMU7?!(fKH1Q`n0Nc-~O#4oGE3bBut!cG@>* zo6k3GRM{6bt?gTAF0Ww1D}^99JJE}@Y`O>61as`r-2>H{5c^@+ zm!TSjJLV$m%eAQu@iH}ZbB}4}_Bu9>j$?PT!HLW;0GLI2y%*pZlzF_kK-B*oBS;6K zd>II9S$zGO4oF?O=S#WzdY)^8CgW1CXAq7V)O>uK*8+lGTdg)$Kl#ZZm>-^aQ){`U z+Ji(_9e9M29~bogP;yl>-tPNo{-}F-2gl`4g7Ux40TsG*;D!3|iKXSIy9`^kv;q4B(Hj}FEe1(dZ_<5^>^Dv+9Vx=O_UtWF#a`M~r4%Y<;8|47!xH+`C z*|=$o=4SU6Rra}okDRnVS?2>f?y#;t^}w$P`eyV?`c}ctBL|2Q;FyUZdo8&YxQk;` zXw5W_cCA+=aFcEs=y`!i_yvwE&?Zt778JgOHThASKH)pZ0J0sbCY9lokmE&q^m~yI!DOE10@<6o zjTW%UjjD`|i$bT>n&w<1<}?OsayDrqs`z$_f1dQ#L4cgzv(+#V~GYxN= zAx_shb@zq}M)p%{5&E}i85XLl*%wEn^zo69xG^T5JSiUJrWb?4HcrNjLS91rl#sN@ z#EF5Nc?vd>CluQ_>05bo*dbcuR?_l=f*{rS0G=FDz36~L>#2eguinZ@gi*xJP^+o0Nt7?T!ifU))tWTflI9)l>c#C3ZnT)%qS4^C-VK*0o#0 zWG_U5Cs#wR zPdA1*#3)~N*1Vx66Ebm05#7o1YPuk{0u-N^a}B+KO3?*J=7K!&iz*VeEKc`h-FZp<=>u~NMz4@dd#n70N%UM&8 zT&7b>2QUc*v#ale!y>+BXJ7v$!}p#T5tbQ{{;X_>c04a$z*lwwn`^#0$}S0&)G{ei zruOqGmZI~k@>(04$g=G}bT{@8Mz~KMB6rl#7yg$uKBhhY9xTM~HW(~@0FJTF%=u@> z2ScatP(au%#-8&n-n;0VcJFINFM8{u$+vasxId%*0D}Q0SVfzMF8(cq6UQG(uz2G z!3b-EL;DjVh=7sXJwfncrU1VR?ayHHO#FgeWVMoOKF0||v^C=kdYLR|Ur76YXA_*m zHjP&1dI7}4xVIw~Igar1XmAx=ned^xx__3n@=fpc zKdy4gd<&`(Kydyf;@w(1kiJ!4y&6$-VPCvjHu8+wsr;?K8Zl)yEG!f$DzR<*O@L6teb#iMBJgh=kWFfVw`8uE3jZU*JEmy2`&B zaF73Ci3ChH=e&L%r*fCv&Q}n?+V$v6PBPAVrhEZcJXYt6@C^B2Gq%8b5g~zisO&eS zuwS&Zz}D`=fXJ3EQw@)#a_L&dwLm-{>=BOHzBl*MHj8{prjYsC79n6X?sfatP6nxG z!jS9InUMc|c@1^i6Q`lpSoqM6GW82+mf?{(BB&ma0;yjKXZU^C;i|jKENuSGomt3! zT8OYP5wN16-deLY7aqn$$AMoG@N<7Q((&E1%U5f$z&~g~30k-OQBA}DKBpgj`t6N< z>|V*{*7;c4EeYERBi2ULwzD!;)NJGRL#u4h*Kq@ZoqD)~kMrBN&12x&jRttnLqbf8 z`y4MMpg@o~ZzogebucO3zK@DaP2aB+k@+3O|D)6olrej|J(SWrTH=2puJXkB#CK&8 zL&_|_zxJ+8)cQmhPE^L~HszhJZS$hNB1~8wq(aIHt|+)%iLJ(SV+|7cOg8&V#%4S> z$0PRfc~Bbku*0M-80R6zzuls0IdF?PQ{Ab$ulc|RT)aMDhF4!VKb(A}7F%VuJuA%L zTU*K5KEB%Oq&DXRb8Aa&n%}o7<~bI?#K&yS3)U*L5FR+@-v_9}OcQ=}mJfJSA_His8$X>h8LJ zlJLsdWHD-66Gv1<&40uW&xd=Rzm8b$GOSD(dZiLTW2m;U%pUKkAt7(0$b=RBe*G90 z02wk+8+VD!&;exc<@@yzUTm0%%*32SBxojjC+3qiwWqspy+FsyHG*Vg>{O(n@#ZD_ ze%OnlM_$m)qEP@p2E6z&JjML&05i=fG7>?0YvGVwG}fbkU*rjotPAt@R_tPK)`EhJK)Q~ zKP<7urXNhgT6@r)(7^lxc_GZT$Y>{wL(vY$Tnnw#MPlx}B4lYBaLc0{{_Vg2W!neu zjiS;y;#yB=h>TP_C|%{S49wOybg;S-86Q4T23cMdfF7w&?vuG;R<-6jsu=UeYy1|S zrXY1xzBFz)Djhc;W_}^dkp~UMU$!!-&FoU{#*i z^~g5mEO{Zs`(8tZ;k}1&opp*Arqus(n*TEAdD`vYK|bdXKB`>DgSZdQr$3sO8&^B3 zS*1Kojqh=Dl?I$W&#E4m>6wg}gIQ0SbG(Iov$(t7v*zv%NK%(;K_jk&yt z+%_?;BQ_kTKdKT5L$$Jl&Z3`?37mB zjFkx;zq=dM%zQ=edo^F z{DTvqqUcHcyxrb7C(Zi2fq){f>e;8xKqjC*H`=Wz7?l=|zMeK!)aD-Jx@uo>{d4+c z6}Y_T8%b_JOqTH_;Ru^+;PY8- zbGgR5ags*%&30zVO#ua3SRhRfbR_t7kG@>QPZBpQx6`H$LI*R01&*JCb*XsU7{L2) z<*8KkfU;fk)+0aG|1paq!6=TIwiC=D_M0*~2VWmDHjbzI@0E)MlZT-?9uMgN`InU1ej?r|lu`%#LN5iAuOTI;0x<{}7sG~ydJBdteOXZ= z6vfV;vjoBi2E=I_E3TcoJ?j2>#=PF0^!NidqMMTKDlDJ71;@#TSk83nQSdk9<;dcj zar2J$)Zn)EY^rD+GaWyQM_4$hNr;C{Pj>H+Ms|>AYQ`;OjyKow*cktpp&=fnPHTu% zJcWD|>we@%!v*iGvnT0Veda&`I`H9xyuzm_g3|tgixSn_&BHrgk&k{Ik8(-SwDxj% zO7+_z(DCE(=bqHGwV7~I%t1o2W2sp8YCfaMLb6ITKMn-QF|PZ@3oYx#*CWrVlbHkL z=SxGXNx|-Cnk#RrltEZYwnHpLDO_*=1#egEHxwZUp`B1}dTyzc=|)Fkuk=^7Z%-8q zjR!GG_U$TGN4UYSvTA^Yq!cXCo9m0+$X8N@RFzXAenqvkRxA!-inPLun%i04pq8q- zcLyhhm##%_sGEPgucRagjJ=g9U>|S> za@r?EszMJAV0Y97NOfCt9#$#0hT_wN>vW6+WdL3~yn+-VQNA*F?$Od9}ln}-nvaFzd|24R88YIWO7R48!^O0B9`5(?$ScOSuMr~Uy$a$*gi)q7^R55&^Lwux09J?=V@~w9^Ykae2 zjQ`CFl7F=5!vD6)YFU#SQNOfaTyq%WdOBS_(OwBuT$1h_+9$w)Wp)UVCrd@cqDGl)ovHz;@!M=}7JA_Ybyj(%RN1*cp4kKgf4JqIK2)lEUZ12iG$^cS%m0Owh zL}oC_LKupd*^*w(tc~EK=3NzV&Tm)(WwqUsj7Vzd>3jB!ozUT>hhswW7ksy;S%UV}U7?e1%ew)syx zUsC6gV@nzf8JgI6x8aE_D1T4J@(a;+8OQ?Al_IfsSXdUEh2h+iXz9L!`%|{Ok~pB( z+K(BZ`oFAxyx`%+yoOAi%giUSZnG}p^vzr*VCfJ69e|LVDLnBlEN>S^Yh^m#eW_i> z>vPo&^F(*R=KKBY!?7BcAQW*Gk7uiJzltBMc?w|&f19X7YwVQ?9N5DYxS4sjj`>^q z|NoH;^~S$`EXy%#Ub`vdCGWp@F_zDU#%;8TeTUz|2ox7MU;M*x9ptR3%B1%q#40S- zp0;mI)j#H%k4PrcNO!g<%Na6u%=)LnRY0mDUckZ<_ydqgTMb5)bRanTj6-W<;Zd98 zq{u{jmjA;Jaaib}HfwuopGL1JL3_(=(D6hW9957RR_frf&~fk_d*Co$m?Rc~ZGW)m zDtmw2ZTG9#5F>)C>h|gPOwyf(*m)7F&+sxaywgx|{L>_^*DZV&oitA4%|*#Z3v%v0 z@>-D-*=cU4n^u6y5)6rV1_&ja=|A9<;yHJNXUW{@6w+Td1T8E3Dq%edh0+^$F@zbgGvezNX-iXj(L@EaX`|U zf}4C6ma_8m8a4->)@eXf8N$+h->BA{)gqJQcA&wbT;su6*r0o|Fc7q&KR!?|g8tKK zhMEb*PctwO6JsHUyn8%i%KA3a$m1T(|^xVMHI`j>R zWa=grwzG%_zO!}yOyZp#cLR&n*yesJoqSIuKM(%X-q68DpGMDLpJwl1j5E^zUJ@dt z`0e{8>pu3i%MU7g3@cfj6kW_m)!~2~eK7xsj5H0PhM)95NIKXJJzoZbek&8BDthL>%h)MXI^9vAqBd;I*g6Z#iA`Jk9E*-=S=wEGV8xN-y~8Dm>wU!90~iac zyj=#(;veME|EDY70U5wvhqny* zqXpnFI$gZ6np5o$QmD1A+*&D!Ph$j*+f5p<%rKj(B`@=FI;<;s_ir&>SFvgj%rjnP z=Lcu}I0@Np^oLVCvvKt62S~=cqeNnOib{XH^H&h`+AI0dCV$z^6MRtiMl8kS@>}9V z0aZxhlHi`55q2XWTR;9bI)AvY?Yndz%hcpUp~py;Pr-EH*eo0v_r6P0Z(y z6#|HT=TBfL)88_E$P9clHEW=>w%RWpE6N?ipI$yaH5ixNvRt>rUhasojPVBqEWeJxtVm&iCP>y=fIsH5$~Sio{1Y18Po~t7pBLx^Sf$ z{YZ(SC4Hnp$N~{G=f$Zu*IvI}ODmxo$`&oKU%;)l>i9lF9>ITl;%==p;ST)*kbvqR zW2$5*aTV61^Rp=!`PzxSANU5v(e9Ra;*c1a99&R#UJqEqp2Zw=g!xwkGoqbBB(_B= znh@egUDKyD67QCG&IdBIs+bWLy)A(+mvjF0kl%FN^|WA}G{+Av6#lMBt2U-OP5rTj zl_HXZVauUsaBj2Kmm0QyMbd6KnF%_Q*O?Yic-mQZ74I?l$yk66W^#75CTxc;Wtn_? zJ%0YvrH?Zam%^2vzf{*Ux~p&|GX2+wx`%fg<1SB@ahBs0qljT)nIM)a3#yvKxrJ&< zuMOv_@sMb;07hYd@WkZ#lGf|yo-d;Uh-&?94#z^YpZaofM;Zy-Wy(8D?K+k7}7Hv3Wfmh`oy zHJf8Qaf{;n{|q(Bg?ZoqRDq;^q4zvOfZ})Iqsp4Pb*>`M#`p#uWMzu@4+TQ^1(GQ4B+!apf9Tdxv2+aReWvyoC&r;)Z`=B4S zksITSkuND&$RnwL_G5m?k2UoP`1IZPew%wkSI?5~!PTI!4AFYlHz-oS&~z_6Dk=)( zu%AlHR62oPhD+oQoq!7P95+@T#`~EOWJSIK-MOE{?PWWljx_-E4XNY}y}fsTf@bW} ze4ykWvs>K9eTlK2{F4++%GDZ>!%h&&_qyvY0&J40V_sCCCn-i;6#}zbv(V2oIDp#P zE;vrB(%FFmK+Svi?y>6hviJ4%*@9n}uLJ&!EP03j_9--1To9(sh)KQh9$Y-M4rK@3Ce#jtCAl2`0>bVg976Wu!wOF zA3YLJNq|?mVb24CY3R~WLDIGRIba}fMdPGG{g-K~*7`}aFe{_`F1r{ARt6As+Le&;A$SMXkc(yUFzUux6yYl@(| zy)>x$19ikl|MzU9{^KLMuxW6H-660EDMPa5yjD9$rf=B*QrY;@bU@R4#!#&2nYx9I zW2-O)J{^o1c8x3|QwHjkE4WY%N(P0dRW!m;QlNAtEV=94x6I6kU>9<~2?|QSu9w~G z?&BC*;~EwI{`XRV;|st?GQ}M%Ytyfp-eIm?H~kgvl)%HiEU+nbc9sSO!kINX?7n^b zc7gCmp?==b^$q{SkG$@#(t4!hW$^yT3`#Kr*AZ;bh-zp7(mX%Kfn3Ej&~Fg)l*lRu znmns(q#~7|^W5*}@$>SDjCFs{;P{*WzOj-tft%jMio~e?Y|)InvF8bP`vG`~^@^qT z8-W-e9vz3ur~|5In4Nx`@c;1|YH%b?sOZ#E!E`pa2Gg=DR{9Z~o3)9d z0)~YyBANvz2&u||17Dx)J1e85A$hRHBq%B;s)cEPv%z^sivI7xnf}M%{9@N27#Lwf zx}l+ARp@ci9~M*xrwwO7=XDcmE2}EW*YJgboc`Cq@OaGZDJ1fi)(PkSj^oBbTK>OI zP*MlDowXC%a`p2(=gd)Hvv-at2Y$!#%oPC{9w+bd0q0v&5Ih4{@gtVU0g1z zkk6muv6h*!qYyQ$s_BH`-sX(c5wE|LgoK3a?)r4%(f;ncA3tuNr>1_?U=F-3VGWb@ z_U+p;`@!7pi#;25)3ZK~gQ)%SzcGr+|FMceC?Y?^*=OBy18A+dOjTR7M1&=8Q32{u zx^>qlK4lP9LaZC!oQnig5bk%!U4WI@AE7R_T@@U|8#h zUEY$kA9xHZjR;h%e!r-^U&_c%N%jw?tpScrxsQN;t{y~w*k)^F%xJ`q^fzAR@{f}$ z75@gcGel>)*v<$apWlfsDk}QMDsFALk^q+lhc*u8PgYziFfP{s|1HUEm_jZqe&8)d z2ph{Ef1=FGe=KIG3Z&2lt6}JL0@1=9xF6oz+gs+bJY=EJSN%37X}qq4M;SDE+mOI=Rwa#-?aNT@< z-J-?631|V?PSwBED3Y^my+EdFxYdAAf3ZKyJ!8Xe!ynRN0no)BPQl-2!}Om!4-D4X zp`N;OQrXMtNZR;WML`rX#dlMeC!>b?1@LS%k%hem-Z-9V~e&yT^p<1FKQrm@D;y7OHV)S zYy(PcL7$N>_pJBxq`37A{CouJ_uKx*dILP&uuL(oWoT#$Y%eFe!-Ku~ROw$uv3XF~ z>7FJ=q}!JcMuaDL-7p*i?-ERbnokQX_LyOYL1qO!GXMN&P4Lk+^-i>v<&EwQM=?TX z)k0KXQMuq2hZ-+6q;s!A2xDwo+Iz{pz2yn84galkM~N*%GeDL`>DO_71B5?U|GU{8 zF=ZmU>6p+dLWB+SA8XN>L`O%9dv>ye%x~eTDnaA2FQ88{OS2IxQOLYD!9>eN2eaQ0 zNDXPV$n*RKFyPcBn_(9m%!nzFWdf(G#xogl!PTU2<~9>aH;fx*pK9`mYUxG$A-$;Yuk zh@7JXkL8K~?x&=f0lNDlQ2`HIE^gr>{c+>Qin6JxX>)|nYomqboQZ0W=q$opAo!^S zA_VT?ck?E9cT?pnn#S<}6_g^skD~rm`{}f`!>ydll1dS5WlOj91L)Glu!pHg!i(sy zom)rqfi-?!bv0--dZNQ;ZO3z%;^V2muK&sZ<@$BybMG~x!m@$l+PRO>a}qS-b76Bg zWO+Wm27mKCKf&j4yC5w%cYbj-XLYe~HPNRI0!MT|hb=EIiKq={r4olOo3q~y#>z$bHU|)13x~1Q zEus0iYBpc%#@k{=D-lnJ+Z@!j_qPV-%4dHLk7D(*^@Nrw9YBmgxYOVZ}`WKpw!L&6pAf}|} z)&A^#g@-`e`uUVi?K+c!RQ73bq7jZRX$VAg-3ih`rCBG+XRpB7#?}?g@<)RGxr03G_ zH?KDv$2s8S6)TZ~aA{{gH$fF)5F#Al5XRgV!kstEnx!>wt{$FU$Gz{XlR-5|?Q}CY z?UGG1P7>oe_tAc=BDxy+m~Zy5Vei(qv3=hPRy1UGPgwwJzP#-Ve+}n=yVk)({&P7_dW8r9~aG#c$$c5ZQvdLI~T2gra3fGFS zQV(C{Uajm9_dNRfDExSXGz(CKsr%5ZIz>g9!S7{m-b9K%_t$%x>D?W8%xJF%UUg!3DG%-@C1fxIup%}|4Q@qya0{}I90b+0 zlD55n_;sGUbZrEL=gui|UWK2O0#U|APfq;FB$k08boELv9EeifLa8v;_acU;iq%`c z3A~I=W&JD&@tI(O7}7s#3_^7vIClo_^=1t(EL{Ns#xn)CMY+K*_tF~!d1E#Sf8vDj+iHs#G_LES=Ucyp8EH=>K6LW=dhMqQTjT`V z5OODG-lJohKAhCv^Y?*12Mc_dp=V16mhtBPXrTqguJ-> z-eD;Jr>4a(a0AU%3uS8eHPsN(Lj)cLfMP&CkLiZfa-ZX{z}p5flM~v3*(Wa(+k?L1 zAKc3~#ktlTWt+nVm|2#`pl^y%GQMLc(8nATZee-ZB``aoQ$48QQ+_>M{js3Se z3d0Sk$BE|fnrG;XHCb>Js_eXvU;l~pNvHfYIEK*J?A4R2jXcASzSf>#q$$O+yg-*I z()idgpLDLoMqJEV0)e=$(&278ijCqj0~uA@Pdk4X=$Y&r=9*@Ngx$Jlt+Fb&m8i>o zZxN9f`3O1mNZqWAfoPrdJ`H~ABhg*3Vs(Tk_trz}g7$bCqD(AT;l+&^=XZ24&Ws+H zZ1Z8UONxD%HaRNAB4M{|xD5drF|+p}u}-YUkem0@VM~rP>Kv@j;?-q}%OaL_nQO~4 zcJJSy>MHhaI*!V3I2$b*))DoQ;K-V#D)?0_kKW|~uMQ+G@(yNbGH(-?;dy{So!gZp zod<-nb3yS*wr0FgPLCofte5#qlq%TNQ}p_`R4~p5ci5Es`g;(avV-!*XwQH~7M)kZ zNFla!uu`q2UPBewLDiz7OPTI`3)y~4E=fo7%8er{6Pz;(Fc8 zQXY{;+-=YIMs`Q`omAl#7@zHmJYJpUQ4>D#Im`5m7q{|c#bNLyQnmM|AH9aViCBp7 zVKP?9_^`Vq+e!_z^&Q9-&9dr)mgo^{2R$F>L^9HE539w*QEooQ8`l+%`E;^8 z@?CECQ-d?Urhzr>Ie4+64QuZQML|BUD0*})7@C6p^Hx0Gy|i0gtDGbRJt|o6*wY=2 zpZu$$=S#P??9Vh|1=z*nFAFQ)ug9RdkG3!7^rrifz8U`X|WMm<8%IKP3YUxNC> zH3bfMl+FO+5e+j@RI+^tGnTv$PzIk!E)f5Duoxgol5Gv4lPugx&kn2!Tko3$s;|6z;KmI!v_kHM4{wS^8>nMm(t#`36*b4f- zzSYLX&w@b7lts7N__y-cc)>$(7;vGL6E2zFl(*8zjHi0;T#7d+hLWWdA3MtimcQy- zzo1K!5ono?wq}+5%9Y9Vqjz}ipqYW#-n3@EEIu$&;ljjcq;7S?)FF&LR4fT`d-Q$E zM#j9OL}^kZtG!e~8ST&IAC_-Wz+kbVnRA<7*9Nb$EglIlD}cA_reHuS;Mes6olUXQ zo3Vf4)o#;_s4x(#NyK(XOkl}AcSp^QwQ~QF66e|G@E(t~$%B?P6iLX&VvCyFfBhxr zF1XdB>7HB0tpU>iV47;kz-Xxr&IpCyI!yss7k_^a@$|T*RJM8a-EEQBUc!)XfC}bu zc=>!G+QSbc-5i@(;A@s|P+&AHzC$_az$*DnOa*ezXsx>DvrTPvj}&3xu3v{|WkBI_Q4D^x zTn+$=cR{`zVoJbJ>h!C_C~s^UbDYN=L12yXZj}}!uB7OT1H)R^G7SsJ)sd{O7ZJrjNabF2?e$ju2$iYtvrb#f~g~y=;+tzAGBGpSYta zyg+=H3(Sx`fQ9XWu-eY)aS#XnvcvsR>Yo8N)mBD1<*n)99N>H<1mRFynohWS*WE;!m4Yp-b6vKeR2=NshHgpFaqtrWvR2ZWu&oifwRX z2wPrmy+2l4c6ve9Hca$aoGNoz^cay)J{CSvF#hP$mi4933G$gQWKiNvRLo81JhJ%rmFSt4l-wlLRoi*m?nZ^MT zU40;1J~;LLHSWS4>pka@B4ylY=^ai*{}E@>lxcmJ9S&$XJ*d0_=r!vh?el3+VCK}X zmp_@{N*9V@Sali+yv9!-;61^@+uAEVnW?cLAb85aQSRBmk|(!F`(v-ASCZ<<5V_jJ zOq+ZqCO&7XPO$NUeFKB5pBR;>U<}|p>tSAZifa@)urt2I9r!4$frScsZz1$8OHt4b z{DG12jw1&6IW6*^O2$l@9Vs}IiIPIAbly~dH$O0V=n5JkY}5GYT;jAq0f(i5+tJ~H zzPftwCuwL3faqftItbwNc5YyRQe`ecI0l?gTtU9K!%=`kPeF0`U{4;;nW#8?Hlu>8 z%64Ee_@>iDB!m4D5W}1l8|pP|FhmN)+!2ChX&6>wN>_PwhNPGFa}kiJ(CS4=A6=n` znMy-;p+oE*ZRcUz7tB62X#`P=O|&~|!W5LqfoEK=A=fO3D@2wWauD|` zk&kl{OytYFtCDPPoQv81RC^uvZeli+Y^pr&QNySrcEWgJnG+o$VX4lJb*aMo=SzPF z)vYQJ0$7RS{Q_)VmK9Z<7#i`)O26Y%9IarI;$|z4gO!w%fx!^%Ig{wFSOLQUc4%!H zs8C6p^xx8wwCnpzZawyb4Zxc1Njo^O7$5{0DfL&{n~VNzjwLvUfqYe9XSHpzvz|~RCtu1?NHcx?y&4LrP zTcFFFmo~;zi(Gu68=v1x0M|qLS$*#>pKN@xaRjttMv=z9wie@GyRoCF)k)ORhq#Gf zY2UE0IC>LByV2GXqoDJQ))F8zB!O(k;dKSK=qAu=LNCvtKo4jO41i?NAZU4VwM>_q zSx8U7ApZgA8CfAb>A5*~Z+kj~`xkyQ)(FM0+c$QC;?(a5*`JHpo_|jv=HnL)c)uBf z0NXari+9)e{aoFm?YWQ?AEkrQ7G(q`xMUlASI>kJBi}Tu#p)6ez3=FnROMyqX(LB0 zzzj%w=ZhYKsF;ns-%{-+yTvCPBL_Ebq#o|bHSctg?sEV8^hn@irRc@b1Q7Km$8qi- zdKr5rh4jS{j15Zjo%X`4wvLGKBj4Fko795`V+x@A%53nP9OWy@rFdK{YYV5Grydl! zZJ<3RFddHHn5cA3hiypNExQ14M{fOKrLD%b1~) zW6qrCR$b%gsDfz)j?;5h;YW6x)*^D5%i>3jta>;%ZKCa&)09nhb}Mn^suY8u+RQ@hVF)D2Wz3{WUMCn)2}K0y^11u#?Mmp zf#e08Uh69%kq#rRE_OV$8x;@0HaL6qmAu9<2W*5w%0Logvw<8Rp@B4iDwD8zzT(mT z5M`)zU$hqhjXg)u6;39D2q;9-bLFulAhOD>CzG$URc;vyja~p`UIKMAJ2ycbTcJ62 z^RDLkv6~bx*#Et_WatL4^}~2$a*tF5(uJ4^$$On=YtO=X*fkf>Im1uVuSu`v;J?^} zJ-uYZDj6^yfG^qjT-%4N(`63boE%UcWb7zUtkD(G?Prb=AUsQhGzA}$HY{qV5fsc@b!1{O$* zmR;(8IIDQ`>a@Viwa>Ed13=jVM~%2QrV62PSq40+oPA_#KWX98h%}mF**~ewM9FAxg06aXOEsiu@-x)jEdi_OZfph9Cut zn@RNvN9WQ$C3SVt1o3e__+gFTh|}gXSKjOfVyFfV#ln(U_Zk z9oHXii!;7vWfjYPEiCc9(j~r;rb=nha^r1a%A6J4etL7PaqQM-Z{?jTCVKaU8p1=H zFAY0qQ*m#fshTMfqzX3{UFh}d$%zbStyR;UNT&l{Hya1;VjD7li3}}&EuQ}(nzHei zZM;#F@4x58bwNPpJG^r@_7GL4(E*ZOP=Mrt{};3{;u9pzI7R>Bf_mn zn1fZX*Id2}X@j(E5;Fa@K3m*>RWhQ>9S9bnlTHAK$dmd=9`&$FQOA*@Q~(bUEI^Jv zz;?6*tD~L#1}Tihe_R?X&nvMX1jTEEWEWOsXid;glG5r*Q7{oSD!C21u&N`sy5;N% zs}r72{E2uw;20E95dRG|?I}$YDvGmY$~p)PPn?C(o9(N|-tbDjc)#tw8FC2T*P%y0 z@}q%)h#E)MWffvt+tjtLCzS_wm8PWj8ixIvu`3Z=^{^U(mp$xV-meBQ;;fI5PY?16 zT`}C>XA0M|A1-xzTMB5?A=qe*RsadI7gra&6}Oc)m4O_-bia zc=bO2@Az;NxNj-??l1`N?g8+B#)nYjou-M^iW{kM6RXPB2a1VtoQGq`fc}z3jDejr z<)l$j6Y?9TRrX68g1m6Hv zNS*i{YOJBDWf8oNNK2G+M0p@{UzuGzP=qJ9XXPMRdgdETIpb^94 z$UupKste~ARr)!NN);4DAElr1l)?E(o~wXAiWdmJy8)*0)!rVL^>fv zAR(9-xHGuVIp6vAK0oh$?vImS8ezHCTyu`{j(5BxBxj%*lQ*8cVkJZ}{m#&_TrVcn zgD@jq54%ho9V^dqbi-CBkR(Q}(D#O~7<;(c0qqq-J~`LyD6@ra-OdgxvmHo= z4FK)-NV-@19vVe@8S(wqn~zhs)xzr5A}>b_NeBuij8db_Sja*HwHI3&ak_dR|%TBcdS`m6W@vg5inryXf*z*=oagA$(ur`q5!(Ef-?^YBE4D5^;DC!6Z7LBz4lveY zx8q^G`IN`-Rup9;{wpmp0ffbKl}i?wEr-Aq$Cb*Z1ojiXyM z#P4@Rrhx`3)r)LzvwstMqjl@|vr__T)aFVlJ6>v!kS6TYj2k3e@|+jbs6v_w8} z)7Xp2>?n>u7}aTBJ*>7TbaTXJy~BuY=w554tzdg&7@8GPMEZkr2q|cIuZ#ET3h8m8 zCg19{TiYuxex-0i>q_uq-APxF#jO|5L_Q%d9YjKIHYFI%aRYr2G`kD_Ooh`-)$4b4 zrp&oWWg~%DwGi9jrY);hgrXYo*m4iP>C3@eOsj(MY*qJ(XBZKWJUpXs&Rl@p>yMBj z`u99-YGuy1^3o?P8Y_d|wZ`VgsAaShw%&P{$=eiQFTV7PJ6Q7MfCs-IidM`kbN6X- zlTV6e)!G~8)@D{ONe$P6y?tr1#mi1)8oCV+C3NH8FRX}vAlv0S*1$I!DwotS9Gja^ zOFwM5dX6LR=S9cB7!c{xtkm8lKz5l2ZK)+B@bAW#2Mb+n;CgpX9qS%b1BhOW;;6>V zdKl5k?(L076QG1J1A^kDCNTE0%1S9!J#^v-9ON#XR8ajLt$<^g>sHiecJ;7B!FwRw zeQ9dG3FrgIWlDi0R8V7&m>HjZ$cKQf&+b8K%iWX0B${($4`CGO>;B5BFWkvMDf&~R zU*-*I6U8BW^N$(N26$lg=EV~(a0QB%Rq}Y@iD&F?W}vt|X5B<`qW)me%&*#E+Ml%D zds+e(e1O5zR%l(^L2lXY063}kk44>=q=YDpXW6?kAd9{4V@TtU;N_ z8%K{n*!ZQGfVqx65}Gs9jL8P80|V;&EfX&+5-KGeEV|0=M@mkcTVA>CeIA27G^q=6 z)cRExmaISsHYSbL83Q#q9CAP$0yj)myo&>dmj+7feq>uVc-nB2fyzE+rn|?Y`V?~( z^Pmn6!KiQEvq7AA_)>@6nYpWg5@B#M3|;mo_Pj&G&U@{{TA@)zbt{G#64&>2Uu4(2 zwqc(Q4P1HSQ*^T!PJS8Z4zLoA&vKy!5oHF7XTOj8%s-lw2Vo^8DgL32pj4_%0}PZ) zqr9gIDr@!+2#=toDi`wo1hzhNE2Lg|ik3?cGQDVC)5blDYEz^4AkRp-i&M&&=VV_x zCe*5VTzU1U0d3CQhv_P|tNWbNL1(sAE`?xZ*33rKbT-6G1gA4S4R%OWJj~hWH4NZ)Da7hf~2C76W!>AlfOPU`Y?rxP2Ro~qL50U3bwg8+5u#V>oMhH#HV z1T$65VCn82HKyHd`e8Cfu#IdBztNpc*!~=fbHY3SiR83a^SY#Gpd4Tk=w7J4Qpu{H zLVT^zpSs&32gdVC3qb9w3@$*V@#_u?EL>d53-t;~_=k78_R-FT_BI^TOQzvLrWU&O zWtAYY)x3)7E7$nCrH4K8DCclk*oPXocK1+L#Ceu2xGj>$!7lZN6IB@kcXUEgNU)E# z{^SXryQpR`fkRbL)b{?sAe#9lhzhB}p5NF}cV*tn3%HzzKR<(EWubRT4Qdsq(qFwg zW0xs*%H+L|r4gs}0IxXn1>5WlXHM9)msG5g)QwkE?m7K#9=s^M48~bphfXDsa z3n2aLxZY8P3Eb#rMS2mBp29GfRxIA_{-AvWhO9>PYmz_be+pxdlU!EtDTj#HT_25J zY&l|Ml89~|cK)vl#0K7>$f1*trYw6!+LHH~ z{>-i&#hU|Cx=dhmTygWTN473gUSLLMYEn}#*MQ-WxDE+In;^5bn3h_)OQj?y&D1q% zCawCtP37vct9?6RTWy^Ky*C1}7Q2yDXj*EUb%bBde&1l(>wNE-KwGqrNmngrUUpFq z)+`@v*To$4tBG2xY7gUz*$(4o0&j^H5Z#{bNI?yH4msoMqZ0yR63xDWaUJW!bFQ8B zR6q5FV_B{FuM%XPI!%d#o;U46e&pB+B$#Uu0Jc4mMF?pQMBqLXN*N(k%oKCqk^I1e zCku=m+KSFJYvmX7R4k27lhr3capL!oX{UKNGR7lFRaUklg36<-W_EVBi4H3tKD`a5 zn_ng5dxOKeLxKzL>$Ii2W2s}u=4j>8CWd48mgq&5Lxb_7p%9O;+Jk`I8~45CNTbN- z2ajwQhKbhMot{I)(;3MEOYH%V!k*I$?sB|s`Iy^jwS;~j#64eaUQq4|l<#i6d@a`}WxpN&yKc>eLkAJ#37*hC0vO?(HF5=PXfEX^R zRbDz$HLyKoSr}3}O1_W*3biF_iqO#12ptKae`-fz#Hrz5eVh$wf{J{Gp@eaHr>}U% z7sl{9DC=4!)M&+2(RQt{(#lm~NDyVC?j&8AQJ!ABg(}-5c!3!VtAP?8=U7Wo`wv4e zJ=yVdpxG{oDgN6#>x~;b?-)7l)H}Kq_91hPLC{ZCTzS;7nx^FI)YUSaYSFa(P9gcd z*~_mT{HI{V9&E+WA5Irlu|x&eB?}~9xs8m5Z1RMK|8eo0St;vc_L(zAQwI*7ylCnl zf5D+x&>+bog>On!UuF>7Ia@LkcKG`@h^^`uJBo<6V|CIl)dktzQO%AjMvz2jt^61GQamxkEF_|rx=RRIm9F$d^X zc^G`=BNf}Gfl4}e1&2Q&)nxvi^OsSrd=Xh*=IIhKO7{>-2J5?)P(ptx|D4whi8E9F zfvGRIQW{V@Wt?juyT}}=bMr^k*2Zvo+Or`X2kSd52k~n~s-<2euAfiQt91WGdcCw? z&IOZ!;R?a|8Tsb{xcLmvthr=v;;a)ngh{>Y@az4BT(#?@l`ySo6bfZ)ux&Ns-=E`X z>ggf=z2U1{*p3cWsS^HKTzdN2?wNS$DY2kOnGC^Vr?AhxTA9w*$%nL*sN?J)-Bb8@ zPU#}XF=gHL&{K6q{xp#{0*BzE!`_aLaKbth~8uMw<@Mq zIK?>RZH1nJB++7&uKZ0FCud}w=QwPq^*PdPA%<^J?nDmF^W0BRRpYJ+t;>?06^>EQ zC=I5(vPEhLO~?k#6RYiK_L1gX2a>B6!9*-qY&B_-ifoEfPP)kK(Ke%IWU;C#zjk@W z(GR79p5}~(!-HFV0EV#adcPX=@2h1k^5E4j4z|1B{s?P`7c5<7dm)m4phXYmx7z>Z z3E^XB;R7I(`}&xo?hs2ws_F7Rr5PJ`l*k*u*nDqwCPlUZTGXILuV}wNfAf@5P{)zo z<5ZuZEi=17DPG#d2aQ&Q-c7D(l8PU%`%W2|yg7*&TEO$uBf$TeFeCP`t(;vt{A4$w zx4|?$$F}|_;tYIw_9R`mD2~gjO0K%j_AzwHVrEjOA1-P=KRTO}*z6HwU3n9QOI0(L zir@tx;^&y@GnCGr5i-J&souQ0d0CJo2&5r|?8p9L(WW`bpcL^tMC1Uz`ifK3VwFta zB@UpBNa@$BJ#l`+x4T)PZhumWW|X+B<2Y8Z*t8j~V=E#u7JHCThmTE4_n?>_YSBwv zlVE=ma!fku!_ram3dfbo46@sJ5H}SZv~KJnV81Q7NMF{5w3bjwqDl~?X_DT>83I%ulNtgn2BkjUjZiNcV%C6Dq2&I3wK3~pGWT4dG zHGUA!{fk;o)b=OEV^lD_t{>}D3&x#|`@FXyG?@uDNr=cen6Wpq&@(B${#u#7TbR?S zmCwF6gCUHn#DT)KIOvc54vDFdv&W-8O$uw1=I~`$BE%=51>UH6^v1k6>W|Gaz5T>} zNhO;bu`md+y@h^nwloD4pc6qCM0f$cS~q55%&A;#mGvBu?-N%HZ=9php8kxQ1F-wU zozKTjbsrgNFZ@AtW^Vd=15=9estnokZF?oGz4_z~61kZe4NyL2XtXKQ?m1{BV7O_! z#D7%;bA9bz42H~j@|V!;$D}=emF>DS$WeR>lI?rsirJSjzLjduTQO6BR=#BxXTb&j z+bt!_eY-=CmW*!AJCARQX}dL!Y7#XVr0Br_e??2|^6`?<2t~`O6R^tG2EEGaoHto8 zxVN^O1zS&jQ+Ae|?RoGU4cCgQE5Y|X;CqXndZs`R{l|+__rZH)0s17b4*sJveit_Q z5Clp;wtx!SVFt1HuXYM0Y-WYLG^UxMZ1QF=n#WCvrH8n(UKCj%04F<(U{@_J;TK3c ze4%9j7_k99>k$BrE$fs~u?Xs$l^4H!d__R&m?kG(H{G^rknDEh{=s9j>A(#dgI5uc z`RzxhhFy*4)*o7S#G4|kkgRYpkqGZw!q1wZ7c>|f@;R^tL=x^w%{}$*xz0>g?96>_ zx8YMg^uW?ADnnJ9Nc*8+16CK^-9tz8+~88Ntda7r3<+iA>hYJ1CMsECq%aEyw2ABS z(Szh7P2${uBpxi-;EO>V@l*)`-!OLCvc~fP_>Hz1(Vlul1-RbBrc9o) z7i#ioBIjC>7xtZ1G-LTS@7V3o8330vJMGV?-2r0^j?oRU$&+m1(>sj~cJM}nh$&$3 zn06FTUgB^Ek_aK8Eu$=huIr1qTC+VIpGqh(|KedcY35S))i(4;yNQy6-cdMt7dsCw z%{*JvWuVc7FJ8_e0m4TEsQv?Y6KCMKg`SC0(v;w(c?R@r+K*MWAiob-#r$$*`EAI2 zhx=LQ5dO@UpJ|Z-bb4BuIM=E#N-Rber3mbnP;z@B``{LXbpTTS-BRw=1(0`3PIrOREcu%NDUXTT@!*8z zfNj7fsSe(kx-T#V{oqx`ri3gxkB4-EKNdQ>W3|CfFgsP^mDiXnuCzF!8><3GD zx|J$2^9ZTuFFK7UUrCcK3Zi!=4YK}WNU5ScEonpn>NZ+Ylh@z`GsMXC!TkqIh6&3S zlk55`;6iPAaA^FfY^P`awbbRbcn{odOaTOrsP{K*fb=nQ*OzDu6BaA$`hni`5*~_D z#bSj=S0z^-AsLY_E3Qr))Mw80d3H|Vk_OUYZn;~d;4hmvCGpe5*`%F)otUE9H}On` zvrq+95!qmB@E=nlnx7i=wkxTCxI+kGlrSEATgZI!vu#kQZ|1Uh(7H*2dkG=0ULP!9 zo}wkj(691HvFP(b5+^v4V&IDyu9Eb&x>H2wi+sYC>M?#w?LC(33E*`1&g=)L+Y6lT zH(6B>4gL~Gjp9-CyUp}D-~bgMUhNSe@8~06t@0pzFzzeSmTD3a<&Xo@gi4~?;<>^x za+a8bRKO4C;~II9U5R_igUp*yFJX7&B(HqCemMiRnXIcm?)+-Fb6Hy1pR{Zt0K7*u zRXdM&1y~1``4hg6p5^kVqYK|!ftsZ+4i+~&;|*h%qI^5h}tLzOPH&(8A;QDN9q8( z8Vi_+OQ945$By4Ga0*pMjTA5O%n@39}NTz5ow? zy>a6!h>gi>2-stg`-u01p}k$mZy|%;oT7mV;Rg^o`%s)q=%)L1WsO=TBgaNn!A-Kz zpqKuX9SR3973+b%;As9C_<1j>DbYVuWYNR`5MAzHoJ{DT$6Xpi`OZmQYJDRE zOP&i6$@Y;#narKXt&W*v?q*pw-gAitB4y>ChW)klHKDv^vBzL~b&-KheF4b9TvXeF z((kB$f~#VHi|TqK*JfUDLkqrPUKgQGNwf{d@m>#gmqs?#ib)ejr(>-Dj0E zAIF|qGU}QD#i>N>MlyvDA))?{;3vhtbj?DOmoC^ z(-xlMg05z03xr;k`Vx;q(?>jxeHF+978{vdMU)Rn*ecNRhAs3u8s1R67Yz9Xr@e=- zmup5bKqQJBo!JRfXFedtYI*2-83LEgJP2dfvBM0yU<-$Aq@~3@~lMSOCviqug{n8`zL!I+bq;9hPi-L zYv)}iL7MFV^ZSgMU4hV9UHBlxcm00Xs;)_4P=fnd<#3f>Kz3UZ9O9yI`qQtV4^A49 zqlT+2ulB3qDc3*@so*ho6NCj96U+W9&krtk?G%-|Y_& z03?DWNS4S|qt6%G&PLowso`dLFuz$;5#_#1NP+x`{`Ijhk~hs0!yH7)E!mO>x@;hF z&v|Rw_zw49{CpGaU{}#5ZivjB(#Z2b^!!-7TIhQIsUXZ^&0LTr$L=|ITE5w?a!Kbe=f0 zI3UoL2*!qaV`mH)k|w z7$zpd?1HLd%eoe;h^nyXyns&Xw(j7CSG`Gn_3Z9UGK@$%xnmhdc_?}NQqn7>apSBC zC|S+HO61P*?Jz^05-%l4A;p@W;)rg)Z_6LJb(l}7ePihi`SHyRH`ccOS_*&{WKdv~ zMiYjE`seu@3?YiSZNUcUThAgRBfrsC1AsI|Y+=ay4bT@0izzfMLb}o{JuM9<9*jL8 zL-V*SF|Pg7120Sp1D73`=svB(CvDjf#`?_n#IpLR+l*3#&`7DCAXR_Ouh55@ycjd` z+smoxI`JsR)lbtp^C{M=9CY3H1!TKKlyy$xwQHE)9!E+;JCo)LTzcx$jD*h&WBKij zS@;%%{nWe1g>12XQAaKA11Jcp8m<`y7;)TLrXRJFY*b*D2>?Z?8Q-@-a>QzM?Y|gG z*tIwnqrM&)IN8juVXH%WUT;|BVj#3KnUNH*#ENTx@9`||i zNM4l*bM0b6ep&J*mlq>J6^ScvRyav*h4|;PP~1Rx)pJqGiCkQ&W26nUOzdiPpw1^a zE2%zBHfNMrvfv|M=DH@Zs13EN~EHI*)1J1$58Yiy59T3dr{uF-X^b z&0CxA&z>9fuW!M|nYE!d@AV7Yf9If!CW0c;4ZHg@!!_-DiYVy39-)j(G%lpv7Gc=A zZ?3E8f{CEq;?Hwjt@LjZQmRu*ARb-lyCD0P3j293qe4|I!@SI=YK467vhIA+=ap|a z00>t3b^n0)2x=ToErad|7XnGP6Bj;oR%uF&rLLYRI{nK>Yyo$AT}~=J;_5IUiA<>- z0A;y1_gOC#A;t$*ht*9}Nbx%C5T5dEQ~DWqQyBWo*}-mFFDOuK+0sG=JOziwUJl35 z)ffPOKqjLwn|y8I+EtBVRwbDN#wGM<>|{1&~7BivWSL1*ssl} z+@|6*Uv;S_$VR6lR?dR{Fyq32qyw#(p6G*kvfOgsJDvH6FQ8o7((hjmF8r;3k6UEg z#ft(*jWt-l!);#0bMvYLrhaRDSCEB%WV+%ox5}7AZ+sCxKaWqX=tZI=w0P=Vg;!!@ zlf*qiycg>UXd;&n4)A^`10@(zoA_^)f-Jz7&VI_?F4#a&Pp}4naEtHZ`>1DBfn5#o zo}QO>;Ojy%f0sHKvAYzEKUTPERwJWV&BXG9UV=pGz~SjkuVq*Rbv`FCO!JX7GbHDl zhT=CW@;Pe+-d)>YH7y~^jl#0oW4*20H2I%QcD^kqJ-&7avye-J=MS}iQt`iuR12*# ziZx?HNWTt4pLZ%&u^0!H10I#plL?St~lH_#7@RStsFdW zvWlJk;l`U8%053Br>HZNta1so>E_nk8Ts|DDZv6(c@wQ|!-%>`4*CAXXsULmdykyU z`l=NwiYoBxWoS#a@Z#4es3^K~han0M>KO`kpLprHLcNKmj}%>uSxBNEt`DcyK>gUJ zE7Z#TxrQV0B*|FaZjDE`0I8;(crVg!9}P>M&yfy1{>wl2_~k2jeh^ZrjD3GwvXSdB z$dXMqW>Y+ukhOXVl4e-b;z~G4*V8)bdMbWhJEI;uieJV%qwbM{}qys*G&2#p?M8kfKGkz7EAF!z92KG~#rUlp8!e17s^r zK-1hu+dEw=fKs{Sxi`j|-o-7P3N(q^CkFRBUAOUpU)8f1HJXtkFYLVTlO-A_ zn-~b)J>W6)Dc@ye5Z=OY*OnZv!EU8s`deys7g?=l(oPo%nT3PJZmL=}EOIl7%HtYd zLZ`oCE!~xuVCjx$vj9F8whK78tg|c-s0p~mt=@uAeldfqc99~${_w=46`zxprSiLb z{4qYX5MlD_wPPgpUeYsHf)Yx_wUnP;pDEUzm(~)AF8c;Fy7S z=N(sml_j^2tb+lj?UTpMk})#?1^U>K$pJ{V6ufMxNs}VT&2jF|FH@Km+a){kUucvZjh%%$%XeiDn@ zrEKJq->zQTQ zYFrN+f@Zb#5JI&+=uju6mc@yV58AeNPPQOOv;MCL`4DCNUop>}#BtffD9*UTE@ct_8+FU^DtqTE7>qQoY^ z3NsQ`>4GNLn0cb(OHUS$I?z_*@nZc`@qX-+n}1+gd++a-W%}4R8-KXep)n8u;Cz@H zipjEfTLO?j#PM%?h%>yGgKW+@$|RyoRfZx(DPT-3AJsm*v^8Kdt^%GDuXQ=Yvk|x2 zNhCgd4&vUH4y=Kx9|tG&qM0LEZtMNi8;AHGuv)_|045sJ^2Z>wZADzGq}Fv#n))@% zFksO!Z&I!0&hVf{D-&l?HO`IoX4O}tp`SMvw9-;}y`XHKX}jNYtS?q&hQ0LReZF}( zq2t|QShDs@&{p8`K#Gv*t`;yc;RNL$KC}2CKdjc*jC85hKQ66YEhOKz>&F62>KSm= ztX{qSEUwkDX)UGK9Z zO;eVMH9@&hUD>C~uBQt$8ThkWIUvJIMA(=82w;q2WsA(r)H^kI-WqFaOi5nBate3UD@%zSC2X(wa@Aw;{nxH2opXv>!#`H9iu= zIr}LZgpv=1)alg0!GkK?eu;pt^e#S;=O5^PE;}%qa%2b*;iyuC4{Fbc@m-)q(Jau> zW$0+`RB(uM(XpKoGUIle&Q#CxQ;rF_A)&pJzoQP$%)0>G`b%`1g(%_M!f3e{)7Ifo zO|OLYBe%9eet19v8T5V)4T4S^g;utl-4iBmK^VE%IW5BTef)IO!0G4j?*1%|#YawP z($7mz#wER{BfhN7N#Ix;7{u%U>s*^K6?@3iWm%Mpff%-HNnaLA55j_%xR=3Wf<1ht z0L{!j;ud3a7E9%*%!f29~4qw7T95x{b9< zSQsKk4YZ;F5j0eC`j7|cZBVvJLKLY>8nGidy%SJb^~x92cI*%_ysmlWHkuUu>VG`p z0N^sxc87SJJ@f$It{`1rv0gNhI$o!nv-EqrNzmt^lSXK!>riFXxPv*mM|r&`rq%Ds zE#9hzw(~ZVAz7lYebj@@&&PbQ;k-8wCqItS{8>#bDVPX-Bam;41%3WMDfL{p*$}Y@ zL87+%SKkvWIXfJ${h23!vfmBn_|zp|^{V>zgYkVz!uS*~mcAk`Xdci8IL<;rqV?~n zFBd7}lnEuAkCEhTX$+^XQm&+3U11qog>s`GY{(w4AwevDK6i89d4kiIL+v{4HC8ey zx6scI!1iD*sp+!I+DnwyqgnD&x+os#{iGzTLhG|xT4qj<217IA$9aFxWfDi{^V88s zm!+@W+UZ5(28sad66`XR_zBgZs8Kxq$XY+vHyi)SH6&>KU?B*np8yB`=vULzi*AL2 z#Xum_?x3c$%LK!2^si^>-TNW++{qw@qm6%>zV1P}vhy|F3T|Iot!up}Ti?uIt`*Zu50 zGEm4XI#Sk%$gzGYkGUfV&cFoJ|5|XXA1C$5B^Un4vlZ*aj?0x-3|eVxP9bUP(#snD z*o=d&OO%%N4wI&R(WBoSFXWeKOU@Q^C8jm{g(9@|S0(WNwIS(n$UPb-eUb2Tp_=sb zX`U_GyWh=Tjulmz{57hYdZoPqc1iR)FjA>M#90j#J*8fNXNXLWA|t61p@0n7s>o`! zHB=|`Rx|<)gD7bqWA+NrOt+~zXTp@QL;M^AXV{h%irA`HERcx;V*O9vi-h^&KMNMy z#yZaw#$B{s&h=<0$}ZFJ4vn~M-+l^L4x}^q9Io}^7EYBtMT6Yod-0qYT|R%>Xp}b!)uL`ZpWO_ zK4SPScAFf-=!*Na0=HIQW7JASD|g0rV%8=xVOtz`Om|&CzQ?#P*VxcOVmwW(lo#^g z+cA23^oWfVdeHxk5tlCHlBC75nqhuQx-IR|1%O_I4D{jKf2E;xY5(FtO%E-2@F`$g zJpjwV;LUmWgX1;WssIXX98~HTV~9WsgU3Ph)>U(Guz^XXSfKx5QJot7fVwTe{N~0u z!9b~+Jkn+?{2^^OJSeSHEp}tFjW{b2Ys@i*{kfhKh#n9}Qe72RpXQaQtX~p{-JMET ztOvO%9}z}U_?X}4{~7fC-=$G{h+`~5IDbsHS#YJ_E}Sw8R!Nyqf%exyf>*2>;=|!h zTy~4D{WE#^rqj9rd}0v;oquuA0bt|WxcY1?a(!b6m(=ho(vSIvLvEmJPE*)eY0cd@ z(--u54{GEUcErqm3q-?5o8yvk0NUXpHvBJB+v+CPumE}_Vz$zD339_43~Vb`j*q$qC`$fyeeC~9Pi2)`VUvf&SAqG5-8Jp@jXT`LleE%oq8ekge%pp0oQGVS3 zt1?|VTs`Z}{hKpH3rE1j#D6Q;Y*PZ)K z$Q}5ad`O;J7mp{<%h0fWTSVtHEIPyKl)s0#KBSTflzK+;u2%+Cg_mV<&RCsCSP{6D zC-OPnAmip#KBa4&Hu2+Trj~M_nG3LQET(yFX2;^;sy-HZdi{jT*`x70szB=4df&2U z1#q)(M&V}!xfX;~gIDi208Kr|lz|k_oTAa@Oh&tHRicIk4DA^uGTlvEWhRaH-1(S+mft3 z?Ih9G_FQev%q-fSI%QHLGpTQcvc_oc z;_WC~;{Y{$#tbnF?YTwcHnVyVmzGT_=}Ae^F27x;yIyRGkkD4DvI|uWi6gO;VbbzK z;@fpjN*SNIm$J(yiBv?(jmqAQ4w9t>JVj@wY6(@?QyJ0sKt4GDrff!*Jy;tBF(?c7 z{$I(1dNfu~;Mf=Qm>AB$SyX9d=u6__JTbzNT=cC-p%lcL!PgpU>!$i}Rqq6`K)~H( z@bzKP7}N}r)P_(_Od%3b4#gM^bOYtEAE@Dmw} zHySn0|KXgc@HA}PqP{J-z|F4eKK6=3q*wd3P7p;*%*#%hqI+H=6<0|~=n#>d6HkM8 z<;TpOb3Z*@7uS6oxsRscTYiHcurkD>8}U5Z5K^=ZTKUT$(J~GGAB!E&U=||pvHaMh zzlLqCvN6x@7618W7OB#jYJ#*HMXXsQ753??2&Lua zvO1%Vc{ph)d%E)JtA({C&rXq!2q&?Hb1KlJzzYt#2lxDFbI_j^Y7i{3PFrQEZ@_*A z0fCxz1!IsH*EEj+ZG~aN%`fqy!g5erR;Ag?&5H6)u)Qin6CPe3xhXfHyJfv#CxVJf zT|Yx;Cso+WHc46nV}VR(WeNuKDh{oORGwYY)UPbZY}e!Xe~h(zhpy^VyYbRS(9Okm zxd)UoO?BwN3(&P>B=gi(qm_qt!XU6@n%aZXJAQ!zYmEV!Tp;krE8F}VR^9VUd%LpG zg4l06-d~*d6>npHk;R0e?S%k89v(W-rs`k{G*0r_^7Q+CfYOb7pW6ed z#OVDRw|>EhtlecYZe}}O3K9<%*Cl$YpZrnQx+XygXpDYi{%3=NLft(_$AN^e*PO=A z2<^>Z@^>XNM0V_`eG=?3Q!AJy{R+A%+6NG|f(1`Z)w+R>K{ zlO9$WAGy%@GHP(waiG_fz0~$-Y+L1KThH$|dxQt%^%~pB9Xr0Y97BW>4_;%DPU2bc z4)}-;&JB)SP}zu2{S9adl`a{(5gAr?W2a8P`wmF9$JT%z*!Ir>k;Gn|H%IRUTmirR z!-fTdZGUuJMD+K|G@hnh`^4hj|M_k9We(BZ$83XFVSYYm%#a$I9pt@b1QAg6-~K#& z^YYS}XWzdy2>N_HxZ~l@4_}IA(UM4xKS!(V_+4M;&FSY?Gc^c?rBE?084Ux2C@sy7 z8089}*I-nTaIh0$qk8s#UhN9U6U}fm1>D7>w@b~BhM+*&>CbyP%E`KyJ7B(zJwVNW zX-MwaaZ7-W^U?lGfDlo3S_h!jzdq+{r|eh zcHz5MkN&n7kSR_A?YC{s#~nLP&%6RpwgYJ59AkNkKQH@o6)c_RL)Oym0fKmceybA* zmQLtBYv~@H{@2o}{`Yow?D+k^tIOIY+5eX}gXdy{Pn!`C07B;@fM#6P+9wl-#(VWZ zWE1H=_HHZE=rMQ1Uw3f|ouwv8$Bag_F8zhNBA7juE46Ze^k9jdoa<2s&=2PGZ|8%x_>=EHxSfr z+TU{!fW9H<4FtK%6q@7WfBx;7t@#428zOkJiu=Bnpn0oC{XiJdSkOWUou#yBUjM6w zDDbq^uv-CfnMqE#8}|qDQzkTWL=$vlKL?fnzdka+6t+vzK+^Ff`+s~;v-t)_znn0I zrAc7K)y~p~1FSr=X0gs&kiAhxkc;7l$ddAe`+rtqWloxQg@$AcK-`#Ish?Rwe!2qWg`)-!8Ve$F9BN?)q_t5GHNE7)eBI-U+_bn2X00EypXw7owc zF|5M50N$THjE(Xh1M(-)X=w8k=Pg=mF<$NWZ4ifQ0A?mL_@xsxW#+R87m-g2g#T(n zbI~AG%#nL6;3PTf)19xfF$sg8EVd=$6HpIopeKk^F94$sa51uzLD`j?5aW4>-!oF| z$SK**d}@)ZBtli6|8JK_dtTg~S2wO?o@b7QdcZO%#DQIgWqw(ru0RtD94A}3P?BUr zy2qd8HYZSSOYSzKFD*`ijOq$Z@RF{ho#G)PVFnEZ!O4=)i<~r-3=x~Gb09`TB6e|J`c=0`&*w?Qok?6F&p7u4?TPAT#e zSnHSb82(Vv_(RVovdqWW30vRh{6p6t=L3{q9*dSlxpzhYo#ORK3~*Yk)@Lmn#jOCS z^gyM%SXBtY#lcD%_P0g{^~);=cd&Zxk-QKv18Y;xA$6?3xgWGYf&#c~wVV`7CB<7X z)B04YFZoRC(zMrvMP_6W@RSax{{H1h0n-3+rG`{z&95x`E@~#`giP@3){b zW^4@Pg(KHb^wiEV4I>%dtp00W6-1e9UtQt~_ZZ7OfU(Uz=7O}`w`bzF#X&g zi&d&vZT+Mv3)^~oM~6tAR^n9;4s^X+_V{A}+?$bAOD!A6ZjAexUB^{FTNe26M)~jF zFCPk!G3O8A6dlPWECQuc->$AIxB>4}SRalK`s)_1ER_~~|6Oj|7uqPY&Omr)G)t(2 zpyp3K!V)I1a_RG$?)7i2ukUSR={Qcfd-V0>H&3%1(=9Un2#6^_{UK z4+K-9+qd&ZgCgISqW{ zN>5Ga8BVdoHk{;zC}}z5ta~~Sd8KJRw?R35<$G2PKP;P{IM0}EBf!+!`Z*1F4&g~| z+Lq|qoY}V;qKC#S=E$yE99gweLqe~>(rq7HgVf8FPqEZ>hs^4=Tk82 zZ%6zoQCDgpL2B>5)pfz}1V7KY`gzL2ocuv9^`T<(8sd2EK@Yo;)ZkW17p&)-qqy>% zmIFT`>qm{mLMq>`2dZUoEF|V~k!?Uxpi?uWlWADW-}p2WLCSWB_LN7gGMCrnJ%-g5 z1)U!|+J>lEJ7`NvrRMP54@ElDEX;1M; zFF3`+%HtkV?Dfw{-{D5A;RVh!qR~CajHCIKiQUbj3Mp#L3}2h$yGR+FF-wQi;cg$Z z&p%c_iC4=*%pz$&`{wyt#Ls%zmIr?i^JL7CN}8jU{l1I%Fp6J&i$6jlESSH*^{D9u z%4{dP3oUPM+P}XLWStcD87gM_5_DE>lYYpe?%R%5 zSNMiDY-D-CCscfwVQFq!;uA9}q~e2Gi1Cj)oMMLjs?QsK6s0TEYDPCcn02NSx#T!S z`Nx&Ot>vtF+((Yr*7-j5aooFKQD=}Cw+yy_aEE(^wp-m z$S$a1m`?RfBW@Ku zq0B0`%dfI`m2DgmUrFQnwIOY{O+fHZ((=mAuMfEhE+ldtB5ix~&Yx`!Ge5pb?4e~2 zG-$ovP{42G*V~hRUA1Li{JN6twqa=EMw~ql)neg9Z@IEiA~PM^)|g^XiO>G?MA=57U&qP* ze|_=9S3R^Cb^pVMUT2?bp_OkxC3j7(OZ77H#E#F-Zj1&#@PHek8+;80*E*{i0yOZ~ P9oMfJXqH~R^XUHo3?zs9 literal 0 HcmV?d00001 From 2e6ec2a899e7de62550aaa612fe1dcd02ea9cf8f Mon Sep 17 00:00:00 2001 From: Oleh Motrunych Date: Fri, 2 Sep 2022 10:42:46 +0200 Subject: [PATCH 2/3] fixed URL links, typos --- _posts/2022-09-01-terraform-oidc-module.md | 24 ++++++++++----------- _posts/img.png | Bin 74912 -> 0 bytes 2 files changed, 12 insertions(+), 12 deletions(-) delete mode 100644 _posts/img.png diff --git a/_posts/2022-09-01-terraform-oidc-module.md b/_posts/2022-09-01-terraform-oidc-module.md index c70b485..e36f799 100644 --- a/_posts/2022-09-01-terraform-oidc-module.md +++ b/_posts/2022-09-01-terraform-oidc-module.md @@ -6,23 +6,23 @@ tags: - Terraform - GithubActions team: Platform Infra -author: oleh-motrunych +author: Oleh Motrunych --- -We at platform engineering, use quite a bit of Github actions id our repositories, and in some cases from GitHub Action we need to access AWS resources. Managing AWS API key and API token generated from AWS IAM user is kind of time consuming. Moreover these keys are not managed by Terraform and its hard to track when it was rotated and if it was ever. AWS supports identity which is ideal to handle this kind of situation in a more maintainable way. IAM OIDC identity providers are entities in IAM that describe an external identity provider. +We at platform engineering, use quite a bit of GitHub actions in our repositories, and in some cases from GitHub Action we need to access AWS resources. Managing AWS API key and API token generated from AWS IAM user is kind of time-consuming. Moreover, these keys are not managed by Terraform and it's hard to track when it was rotated and if it was ever. AWS supports identity which is ideal to handle this kind of situation in a more maintainable way. IAM OIDC identity providers are entities in IAM that describe an external identity provider. -Federated Github Actions works by allowing Github to authenticate to AWS directly, specifying the repo and role to assume GitHub - aws-actions/configure-aws-credentials: Configure AWS credential environment variables for use in other GitHub Actions. -Terraform has resource aws_iam_openid_connect_provider available starting from AWS provider version 3.26.0 Using this resource and IAM role with required permissions we can access our AWS resources from Github action. After years of using Github Action we have some common cases to access AWS resources and instead of copying aws_iam_openid_connect_provider from repo to repo we decided to create Terraform module what covers our basic organisation needs: -- access S3 bucket with read only permissions -- access S3 bucket with write permissions -- access ECR with read only permissions -- access ECR with write permissions -- access some AWS service with some specific permissions set +Federated GitHub Actions works by allowing GitHub to authenticate to AWS directly, specifying the repo and role to assume GitHub - aws-actions/configure-aws-credentials: Configure AWS credential environment variables for use in other GitHub Actions. +Terraform has resource aws_iam_openid_connect_provider available starting from AWS provider version 3.26.0 Using this resource and IAM role with required permissions we can access our AWS resources from GitHub action. After years of using GitHub Action we have some common cases to access AWS resources and instead of copying aws_iam_openid_connect_provider from repo to repo we decided to create Terraform module what covers our basic organisation needs: +- **access S3 bucket with read only permissions** +- **access S3 bucket with write permissions** +- **access ECR with read only permissions** +- **access ECR with write permissions** +- **access some AWS service with some specific permissions set** -The following diagram gives an overview of how GitHub's OIDC provider integrates with your workflows and cloud provider: https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#getting-started-with-oidc -![img.png](img.png) +[The following diagram gives an overview of how GitHub's OIDC provider integrates with your workflows and cloud provider:] (https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#getting-started-with-oidc) +![img.png](https://docs.github.com/assets/cb-63262/images/help/images/oidc-architecture.png) -Based on our work in Github and AWS using Terraform we created Terraform module what helps us access AWS from Github actions https://github.com/scribd/terraform-oidc-module - Connect to preview it cover our needs and even more it can attache any of your IAM policies what you pass as an parameter into module. +Based on our work in GitHub and AWS using Terraform we created Terraform module what helps us access AWS from GitHub actions https://github.com/scribd/terraform-oidc-module It cover our needs and even more it can attach any of your IAM policies what you pass as a parameter into module. One of the usage examples: using this code we can create IAM role and trust relations with a conditional usage and using custom_policy_arns parameter we can pass a list of our IAM policies what will be attached into IAM role. diff --git a/_posts/img.png b/_posts/img.png deleted file mode 100644 index fe26f83e938fc0042e71c3e14528c25bf86b6cb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74912 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 P9oMfJXqH~R^XUHo3?zs9 From ede3038bbef306c5147570fcb48fb7ed37b174aa Mon Sep 17 00:00:00 2001 From: Oleh Motrunych Date: Fri, 2 Sep 2022 10:44:40 +0200 Subject: [PATCH 3/3] fixed URL --- _posts/2022-09-01-terraform-oidc-module.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2022-09-01-terraform-oidc-module.md b/_posts/2022-09-01-terraform-oidc-module.md index e36f799..fa104e8 100644 --- a/_posts/2022-09-01-terraform-oidc-module.md +++ b/_posts/2022-09-01-terraform-oidc-module.md @@ -19,7 +19,7 @@ Terraform has resource aws_iam_openid_connect_provider available starting from A - **access ECR with write permissions** - **access some AWS service with some specific permissions set** -[The following diagram gives an overview of how GitHub's OIDC provider integrates with your workflows and cloud provider:] (https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#getting-started-with-oidc) +[The following diagram gives an overview of how GitHub's OIDC provider integrates with your workflows and cloud provider:](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#getting-started-with-oidc) ![img.png](https://docs.github.com/assets/cb-63262/images/help/images/oidc-architecture.png) Based on our work in GitHub and AWS using Terraform we created Terraform module what helps us access AWS from GitHub actions https://github.com/scribd/terraform-oidc-module It cover our needs and even more it can attach any of your IAM policies what you pass as a parameter into module.