From a964c045c10f94acc37eb530f7f3845330859bca Mon Sep 17 00:00:00 2001 From: Dani Vansia <41837012+vansia43@users.noreply.github.com> Date: Mon, 24 Feb 2025 20:33:05 -0500 Subject: [PATCH 1/4] Add MCA EA docs --- docs/connecting_azure.md | 48 ++---- docs/connecting_azure_ea.md | 147 ++++++++++++++++++ docs/connecting_azure_mca.md | 108 +++++++++++++ sidebars.js | 4 +- .../azure-billing-account-reader.png | Bin 0 -> 54431 bytes static/img/connect-azure/azure-billing-id.png | Bin 0 -> 333955 bytes .../img/connect-azure/azure-ea-all-apps.png | Bin 0 -> 199148 bytes static/img/connect-azure/azure-ea-app-id.png | Bin 0 -> 143707 bytes .../azure-ea-role-assignment.png | Bin 0 -> 103764 bytes static/img/connect-azure/azure-ea-run.png | Bin 0 -> 184057 bytes 10 files changed, 274 insertions(+), 33 deletions(-) create mode 100644 docs/connecting_azure_ea.md create mode 100644 docs/connecting_azure_mca.md create mode 100644 static/img/connect-azure/azure-billing-account-reader.png create mode 100644 static/img/connect-azure/azure-billing-id.png create mode 100644 static/img/connect-azure/azure-ea-all-apps.png create mode 100644 static/img/connect-azure/azure-ea-app-id.png create mode 100644 static/img/connect-azure/azure-ea-role-assignment.png create mode 100644 static/img/connect-azure/azure-ea-run.png diff --git a/docs/connecting_azure.md b/docs/connecting_azure.md index 7dc765558..53f21045a 100644 --- a/docs/connecting_azure.md +++ b/docs/connecting_azure.md @@ -13,7 +13,22 @@ toc_max_heading_level: 4 import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -Vantage integrates with your Azure account using an Active Directory [Service Principal](https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/service-accounts-principal). This principal is then assigned access to either [management groups](https://learn.microsoft.com/en-us/azure/governance/management-groups/overview) or individual [subscriptions](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/landing-zone/design-area/resource-org-subscriptions). +Vantage integrates with your Azure account using an Active Directory [service principal](https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/service-accounts-principal). + +## Before You Begin: Review Azure Billing Account Types + +Microsoft offers different billing account types based on your organization’s setup. Your Azure integration with Vantage depends on this account type. + +To determine your billing account type, follow the steps in the [Azure documentation](https://learn.microsoft.com/en-us/azure/cost-management-billing/manage/view-all-accounts#check-the-type-of-your-account). + +If your organization uses a Microsoft Customer Agreement (MCA) or Enterprise Agreement (EA), follow the specific integration steps linked below. Otherwise, use the instructions on this page to integrate your account with Vantage. + +- [Microsoft Customer Agreement (MCA) Vantage integration steps](/connecting_azure_mca) +- [Enterprise Agreement (EA) Vantage integration steps](/connecting_azure_ea) + +## Connect Your Azure Account (Non-MCA or EA Account) + +This service principal is assigned access to either [management groups](https://learn.microsoft.com/en-us/azure/governance/management-groups/overview) or individual [subscriptions](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/landing-zone/design-area/resource-org-subscriptions). You can connect hundreds of Azure subscriptions to Vantage through the management group method. Any subscriptions that are part of a [resource group](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/manage-resource-groups-portal) will be automatically imported. @@ -21,8 +36,6 @@ You can connect hundreds of Azure subscriptions to Vantage through the managemen The service principal is granted [Reader](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#reader) permissions. It does **not** have permissions—nor will it ever attempt—to make any changes to your infrastructure. ::: -## Connect Your Azure Account - :::tip Instructions are provided below for you to connect via the [Azure CLI](/connecting_azure#azure-cli) or the [Azure portal](/connecting_azure#azure-portal). ::: @@ -166,35 +179,6 @@ After you complete the steps for connecting via the Azure CLI or Azure portal, f 3. Add the **Azure AD Tenant ID**, **Service Principal App ID**, and **Service Principal Password** you previously obtained, then click **Connect Account**. Vantage will begin importing your Azure costs. 4. See the [Workspace Access](/connecting_azure#workspace-access) section below for some additional steps. -## Azure MCA Customers: Additional Integration Steps {#azure-mca} - -If you currently have an [Microsoft Customer Agreement (MCA) account](https://learn.microsoft.com/en-us/azure/cost-management-billing/understand/mca-overview), after you complete the steps above, you need to follow the additional steps below to ensure Vantage pulls data from this top-level billing scope instead of pulling data subscription by subscription. With these additional steps, you will allow the service principal to have access at the billing scope level. - -### Step 1: Obtain Your Billing Account ID - -1. In Azure, navigate to **Cost Management + Billing**. -2. On the left menu, click **Billing scopes**. -3. Select your **MCA Billing Account** from the list. -4. On the left menu, click **Settings** > **Properties**. -5. Copy your **Billing account id** to later send to Vantage. - -### Step 2: Assign the Billing Account Reader Role to the Service Principal - -1. From the left menu, select **Access Control (IAM)**. -2. At the top, click **Add**. -3. On the right **Add role assignment** menu, select **Billing account reader**. -4. Under **Users, groups, or apps**, select the `vantage` service principal you previously created. - :::note - If you already have a Billing Reader group, add the `vantage` service principal as a new member. - ::: -5. Click **Add**. - -### Step 3: Send Your Billing Account ID to Vantage - -Send the **Billing account id** you previously copied to [support@vantage.sh](mailto:support@vantage.sh). -- Indicate that you have set up an Azure integration and that you are a customer on an MCA agreement. -- In addition, indicate whether you want your Azure costs set to amortized or actual (unamortized). Note that with amortization, Reserved Instances and Savings Plans are visible. - ## Next Steps: Manage Workspace Access {#workspace-access} Once your costs are imported, select which workspaces this integration is associated with. See the [Workspaces](/workspaces#integration-workspace) documentation for information. diff --git a/docs/connecting_azure_ea.md b/docs/connecting_azure_ea.md new file mode 100644 index 000000000..0f1ad94f4 --- /dev/null +++ b/docs/connecting_azure_ea.md @@ -0,0 +1,147 @@ +--- +id: connecting_azure_ea +title: Azure EA Account +description: This page walks through how to connect your Azure EA account to Vantage. +keywords: + - Azure EA + - Connect Azure +--- + +# Azure EA Account + +With the Azure EA integration, you will allow the service principal to have access at the billing scope level. + +:::note +When you configure this integration, the Vantage service principal is granted **enrollment reader** permissions. The service principal does _not_ have permissions—nor will it ever attempt—to make any changes to your infrastructure. +::: + +To integrate your Azure EA account with Vantage, follow the below steps: + +
j+BwKlP8{i4E`7_n|hAuPnz}2BXu$@bL(!Vv_d6IvULP>l%=b+MuV9 z9vW^5e5!`G2G3RJCg9?RlW_YIrL4WA$F-uzU)7KlF{&(b$3w?RlycL0Rmi+~yrE&; zE;U7b)OQl>j&4dCTMcWnsj;*qYi$6~T8EjIOFS|Mb=>gX5xhRV6l@Q}ZsI-_V>{vz zh*>!Y`@kL_%c-LKB7p5-M=EXrpnz#lDyRr*+IV?3dba%>3>aPvk$hP3dMEG4=HVg= z7f)5dn;ed?RQ3MXBggOVGSPm~EzhAZ*pI-LgW**|ew0zeCUF@ZSJ)1wDPgBA!g;|Y zj`eav@XknE7K*N=v@g|OQY=n8*msfl<3_$O(Ig)6OtVZgTONrVGKs<>KVVPD*|YSV zJ+`=5QX{zz}-t8;s+o0W w_6c&W#-B7UEt*H~| z10V*xy0O5lG+~i}JqMWqM3F80U{j8UV|T%Ol;4m0$A1VzhHqe>7};J9wIi$_I`YUO zM0s!q0K~L;WRd|$x +N3STTdn 7}I**2SiKU&O^r3ii|=(+YU0e~{lBI&2`jQiufV zKo4MMDQ=(BB`3cauy1`B0q!{QeZ_HGcjaDxbH@(~dK9JG9ohwruF5*L9FGTn<_kd7 zL`zMuc*!hz(^NmeJc&G3Og(62N{5HudTvrUyR|cJMW>ZJ{aE i=r6fmoudF_8FXn;cj{l zgFf#ldAh*@(Dpk67hCVHc=LmiAKTh?4?yXwSEkHW>Wig|hf+{3C!{JtU0vOBU_rzC z1HIz1vS2kloM=3;z k}JP2rUIpz z_0*`;`}nz1(ONU`vo~?$-grKvtH|%Cv3E(&!E6$knCY8?ku(jhS&5gP1(gr4DoyO= zR--VJl?*e#P=*15|HwaV7*`1i2mWPh3!nmiTTJHhMj_s$E37@oS2m7J7V-zAZ`mBI zB_<=B`1CS1KE4-k-jqM_j-=(`#&$p7q2XkI39!r)6 =AS~ve9vVi zzo}97_8hdK$L7X*s v^Z@tw=-$_j^DV37fKKRPZDXNl-i3Lk8uY&*@y}uD)J)*8D9X0 z`46bAGDkXFznrZzdnK{C%+M#0=K0D7J!Wz)9*()>q6YWix5}c?9eI-(6E*`bkYSCb z6zwSP(=J}K@xF$ZRzk!K2iAQF0{<6R@Hp+Ta=cXLYeQl6x4MmP$FKJzz}z+iT5M`a zELA45N~SGSnsi$3JC;&X9QZ|D>*t;Y=Ns=$+I$G eYf zLjQDsb ?BntV5Q5}xDlR4zVv&^M#69P$4FWPP*QjAW>&-~cKDY%T- zcAMWpYP~|(2$`CMtpK7L2cX$y4VIM+nog}DL7xcVfxC|1y3Z0 dcrkg`cpbGN~%#Bkem`7&MJ5?IiGp}q~RBN5ID{Q6+Ip?Nd)4xtOTO@ zCz#8d&VGtQ1%%NW=}Dg9n+2Yc{>aS_={Lp}N-FDJX~vwp=oE!ptTF>SuXd?O(mu-# zN4+pcY^uPoS MW$s*s{AmaIlU6srCuJW=DtDh3N&AUhEAt1zF{>Bv}@I^b0 z$;v&q#I1+mbsn>{JK6=E6_*6j7qiDccwg`-_AriPPfh+~K7986W3ma{^Z|6R1J>-O zmX91a1mE87inrdM1({Shb$-p?DR^ N3IyZ&y(5eFA2erdqr3^-_kkFb78A|ee jLw!@trlh{=VIMzD!xk@~R zI*UgOpJ6#(P Fn8f+ zXLx!o2 P!tUFOI&{dmNCaVt%(x$!MV@wFh_EDBoosQ)+H6^mFVy!dMMpXh&mQi*>`3SPB_TNrnITMr8Wy zy~{h_;xfRF w0FVInVhbS!6Sf>_tr+X6d@y%ln?NZT*|knhW> z4A|w67(hbPI5+xyh5L;)qN4J64g+^Ur{2yW*}n!NdXBdu>BDMLiq5>s9J#$skIqF# zIfa%tp!KxBn0TVP=sD}-$xb>{Pb89$qmn)C_7ZG!aDFlE%$Fx`z%dD+u7R6ij#qk+ zb;&!jbY-SM t5f1@r9g=(^zXoa15k=>b&J& %|7M#!8zk_F!{w%J~nSnMUt);Orqj!nk>8j5uJ zT0o9;E=zvks(!g%?BW?2#g!T`MMU{$Wu1 yfYWL0F08Gf#4cYk#Rnf2!ebqSc z$9 Kf_`eigp5*Q=73k_u^#!o_Uy5SJH=3ju>4bD35e(9*2eGe!M{1=v*N%F#nEZ)0mT zx_-(rR>G#nX#@O^*kt7+zp>8gGOokI?ll+I<=0cq`*7PYupP`YX$05Irt)sFIv(cL z&(a|vYb46<%_q&eS(7ds5J=k2nQ+@V5GD8yre7l Y|`TtYnZUtJ?;BozOzGN`6r2jW R?}6=Ec-dX% zbD`hyhcP3;ax_E^e`OeYJ~j4bQjcg;I#>p9edGsHP;O3sTEaamlJujrKi^oR`q*cP z;fRa)>+G^MjFGcgM~qUT8HJO(5k1OYX?*-q>?XG yEL0jY^X(zKcd$4Y8_2MY(%XSfAeAV`}b<=1PjNSA8%Excr zh;6Bk;1)Aw%uF+G z?`oWW`x6iGJ6Rf8DxszA*JKf{k=?z$R*${$LIJyYE5SFW zkjO~uqh`;{o1}2+nwMd{xv&fuXM65zii+-XMvCO<0g@K8kdzHAo%%aGAdppXIcO?Z zJPy+_Y(uHWcm^-qzOtaT72~+r*Wjs}z+e<38w>>iQXx$TzhM>ZLrKTp>CzWadK_aF zU2cvkPij7TAbI{%X;hzKR7POo1}~pOi=FOE{6aC3mehcjSJ}y7uTsu4EFbSY``^Y9 z1ITGN3P^Q(^fktLqT<32PB&OZYiK!9#?MRQVpO1o(_d=dKe`qB-fL)TM#LNhx(!#f z3qWnZF)6qzu{TTOCrdIS0l I3yXrpupY> DoG9uNiACFFFhy;LXXINP^ zbQdGXhD&_*vlweWs=Y2Ob}B4!N_X;mWjsqro4u$uv*}SP?%L111j#i9g2CL%2kt9_ zMEyJH&7A;`8GfrdARkf6V(jia49Qpnvy@aw`7ZLXQLEO1O2Ynd|Dp5`qXvu%UIILV zjL-);)*2>8)V$=NOHZ$_{=<=o?bjw8Ki?cEk~~xOdH{!V@i}3??6FA_q7=SOVfgK9 zYEDMYaO7_<_6!usXjQvhc^xikeEMu)w^&n=S?eHtuARDee59anj~1aIzmC5%MYKOI zMIZFr;C7L6BYYN?W`0tP``wa6{)I%G)(d%gxx$iqIkW`XXlr=2G_*657oK_cW`~$! zU!e%SP5Z6PsZtTUD1sQ_c&iWs8;ozPs;8nvdUWA8?J3a4o=Yb}I+??37BL!|*jAWZ z@_5HcPd!MmN$m^9BjpU0Zzp_&omjfyiNBp4=N5~L@&Jg{riR^FHmzMnfF;zrO)??s zCyk9klv~-E$uXOscmKTE=9brK8DCj|bSC3%zIzwd7=uLy*bimod5uv)sA^e$d?;;W zQ+1dwBzK2ob=II_1WvJKRcpQH{d|)6$v9!}yoHNrEWR{C0LwG7uqyZkv_VKc2q1v1 zj|;mw2@2&UI&z7OpqUbnNnQtBDhI-4#}e)W&Qm 23LMCDHpp4v_5WdTG1T71L{Bp}~H!>YV4_f+wb$;KNOLupa zko%RTBIMxHluBk@{YWJT*5y?Ze9ai%!5N5EHB?m;ZfYH9`=c!Z(4jEe`L(fNoaAXl zmX4NLm?*knr2icT$e)%TM0*}kw2|UQSR<(+FX@Etdn}4*$9Q&Yk0Yd-W=-1zNSBwz zeXi$s#^`4&Q&R9{W#wpCc~x2t#n}FfHe@0~tx5LV5@3-dMUKPqnLh$tZ7=mij$em& zeaT|H@dte~%BF`jg7`;wz^h041wy?o?L+($f~$Y`?quhX-) s0`#x>*>WY%-iwZ?$ z^(j+#Kfwy*JuziGe9B>1frWUxls4d-OW|kxuN7Emk^z_}CoIyt8%I7@Ta*SV87!7V zFLfyHND(*Y6t9J}#QG}Hi>nr*gFlO*u_he%)uifc>gvZ6oTMo!UcDykxR42OJiw=8 z1a35e9)w@(<@6$;3a%BcIMZd`(M85_DR;A{k*f 2g!WBOIT{JHV>L+f_ z_EqTN3GoZ2DLy6LovTqXOL$!{bl%sTGZ8W-;)5o6i=9l+bsu~f9@LE8ZtL3M0f;~E zHa+e)Y4?e0$k>6pRqjrJ@P}|arntCdE>+?UT9a&V@f)l&zoq=4?@!xU8y{2=q!F&p zE>oxBm_UtZ+@D^B7%Uk~b$55?vcIX6BOFMU=SicjCVKIei`#Yykn^pm=$tNr$UIV# z4~Mn=YIP&n$0*Na=_Pl6-UsWj+{U~4;GT}#+n0Q4lzpA&v&oW@I&7x~-Lki1Q;VUc zBWhT2+fm;MT!I3^mUkP?BE33-A7)r2+sq(+z0s@$p(}Y*uI?h-0vQ) q{b+COCIQfEDS&{$rkpNg(1*D9}-aQ1#YnkC| zrCK|WH_*O5!#F!nshYB2nF+qYJzLlg-|$)a!D)&v1rajmF38WHn&-5HUpFh8u(Qb7 z2h*CZoMCxM)Kg^vEKhG@4}1vs`R*95@hrFE`+oQiC1(o*5Au(tp<7|_qtT!Ubq=a7 zn =TcU}u_WV5QizvCTZ*4Mb$Ijm`kwgcx)Pf=uZI07I*M ~!T($aE KwxqdfOO5j(#rHj$CGHE6&8%prXPOnGApju)&-=&)4Nbl1yK9;n zG3%tv5xg^Hw(Ku4cu!FfDmo7lq0oeHR-b2nTUiXpX2Nwg|C&Z^sQ{_pBHvng1O4vl z4<*CNUSq_|>3QM&B9I<4_ay@bR0Dw@Wg#lIMJ-!oIKkI1uXC6>E!ONT2ED>seC`vb z)*M%+_Pn(|6j|uuSSg5T`rT4g@_U1MIFv@EjFf3 1re8p7i!yH|HRge?=X&sZ`gQ?wYe~M_$iXhp7^d{aCKUQ5cfwy*2HCJ}qlTYF|vQ?>oJ*vjbFuF_bDLOqr#jKP#Eu4V%X2 z8mF(BY)KFv-J>8Jov~-w`@0PEDOr^5$GA5l1vhZMR7qB|^!j*QF)UdsWp>;twLVPg z^0fuN@DIKKjT;4GuwrVh?=>aF+9YgP{e9sk&>92ua*#H2Xl!%`XO|;(HVw@*Ytt<+ zt{Gj92RU6I!t!BHA1iwHh)@*cvBRsXC_T5PT}J1l^xN+}*)U^!-ih}o`DlGW{pGHO zXQUTuee#GJJgFJ-V>f6jPa- {?AlfSsURph zmHS{Z(1p^kbXvGww7RwfR7lQCjo)M%7 pnJ3$w2sEW_(lW z1v9mHtG PdUv4{ATl;0z zo`wR2prBP}C|4;)YhK)-+;v5nmxZ3w@s2#UHnLmcUaqM3#!{0zuHzLqL0B)4M}XEz zd7l1ry$6_1fa;>b@y##qZ>0pG<-4jsmc>9FtxIv03066ca|xb{Zq@7av*V&0oh|-y zQ#lU?W|oTCZ6u;*2%5a>skOG?3skbUf{>Dq; juPS1v>l zJ|+CU+H)v&PQZ`UIk*nD%`B0_+e@WRJxl1*3Kt|ioJQxjcS~qXNE0Bf4P8C>W)zR3 z@4@zjn=tnduR}!WTbOZ5?aoHDegkZNC$F cOXsf;J z7r?XQ(b29iJh 9)lRN;-CZ6^gG+;_5Elv6{!Mf`w<8cg3_KL$Iz@D8o_rnb M}?7l%qiEFsAePw8)ut6K=bvH%AU)xn(2^sB)jg{_jxxX}k?H`L{XZysnZznK- z`a+lPsm#huf;tkI ^F*Cu(>gf6A{Q_>~k4PzTRpQUeJF2$!4 zB`Qcmwksd L!LHlkNgQ({4s&Y71u)vpwW zQoIszx8QR05uj|JJwB@OQz#e1u2w_C;H%nLJpEb#NjYa%%|(wbd34v(`-5r=J$zcR zkWPm70tu5UHYv?{{<<4w0|R6Y+jlwWLt=!(e`P+J$Xdv 7|9fz*4oLEXPhJdOu}|iIFJ(4Sfy;rM4$IPUDPk zPA`@gLq$i>%fjWIDu=Y0Y}q?2we^5uHFep>&-M 7rB z!NY)}&%V*E3Ax@e@HAXjQ87S*_+5+Zb4U>NX&-2l)DBZWl|5R@EkH<3rI~g0U`~^~%?cwL>K<23 zc>Tj&Y$`gNmC<$cqo`FaW{tz1)w>>lejUlB< ?!6V@YG@hS}i$b;r{L4W< z>$jLVIwDGO25Kc`yH=7FM{>e_!*BZu^~Ydja fVA4~HMZkcn s;q&k?My` zk{pJBG%Jn7KFuO)*dt6@tnp~6*@SZzND{s0=E_%H%RPH^W$93O(k5EH5Wbo9yD6a; z+Z7F!X-V<0G%zzy?NBrs)U5188RGW^3uR*M`tW26r}L-4?0BuU;Jy)~W!^{sU<<;! z?KcuT9(<`iCC&~GDdT)SUJZk;8i5yU0U{m){za*ShdaU 2msU(=8q6YaXJ0beh9(fhFd-EHL@AqByhqnYNGWXP1tm~ZRA z`x(un_Gq_8#=l^Allvu#`rR`JA(4fcLEsoYcVkP95;tPDbZL&rpw!`f5o>zct#0b) zbyMtvklj+q;;~-mb k%i9N+su^)oXIE+~+qkI3NTaje_Ltsij>zX;Ph z!pYOk+KP6)q?#b3p{#<8G4U{!>(H~YXva!zg{`>Tr|+i2bXmhT2=UAP;Mz0xLQ<1s z^yko(+z$FnSDztA6YU)$^Gus(j>lej^s{?eDxXu6e2kj2QVY^IHtEmK4QWKjeSij* zH+j5jkre&(D+GObzM1qO14zp~EU)%V$WT>K#d;2lsXQP6mje15@XASBN{VqQmK BKZQ&nzUy!Ss-aWU&B>q2zt7<$%scoFppn1y NI1awkJv$lw~a;S z9gT_0x$(f2`2HWWgqOe_^*>q&*9R_!|9|!Ws12w{diiV|92_>h8y54Pe-O{>nA1O> zmz$;eAqd|0 G=%fVSZwT0>j*n|zUSAiMl_^|o zryN0{Pyh&oTQ&PV_#f#Z!qxwI^m!wP>&pa+FDxvq5v ehZAN61_qW_RHW1mX&7tAt|wbU z6eUu$Q#6yzKMCL7DypjTm5u!)Lbbp6XTeFI$)O$BF1KjTY9yAIEAk(2zz9w^VmWEq z+21x?+y*qWKWlUPiaKs$tL>dnbSxEj*IY%NWD1DcX5=Fy$Bm66B>>(?ztlav7&b7s zX~bxPr13 L& T@|Lxfxz1R4#A-HLmtKllJhuvUoxSGBGpjbxu!BK~#X81-0L`WvwV?DorDIcWo&P zx;1!uR;#1h&d+(~%Vcxp8j5QPeSLieyR)6K!hSmL;x#x||3tF>6{xBvpj#Hz`G)}v z2A6;TPLT2IWq3FW6BE AZQ?xF5RUfE%8 zJ_-T?FfAu>a nJ`FB8f?&CPy?%PnZnn%YBy@|KIo{e6~a**ofU zI1As&sjo8(O}Bge2<+r~( 3_1?HZr&-{=!df0PBy+ gfFO>|E6+;EAPMQjf`UKt&Y0_KRP*8a^NepwyFuZb=%z8 ziAB=qcvVI4EZ6HioOhpUTC6{?o|>JNiTo0k^e*#uFzq|~RfN_5;q9!yqWZ$NuObqX z(k%_rAT^{k(xB2HEzQ6TAp?kXNT&?lA}!tBjdTw%bay_-@AIzrKX~7@_+frvtvP4* zIs4xG-k zC7tCTfJ-Hs;dM!hnO7DTsU)eY8UYF-G~QFw(buP^8)5T|v<|M#t0%V_N$VQRmhbAK z_-K-tkN^T>MX2J$ DGFzHQ@;(FiSBrWYn za63`#xjAbE^$C@UWR_V{s<-YZo3^JEwfc )(q|qn^h=Lwlf(pH2$yR!=eQ z{`V+2_;n43i*%O)s#=z~(fx6YfvD8jA00tBw3_}V(j8Fn{qVMA%t;0B+1c6qUUvb5 zNn7tkP%!xTcxz`*reH5UIXQD;oPmjHp K&65z70`p_F_-jRV32 z+4sM0d7o2~kd$Ux$Y72{t|6ZfbmU0UUx`~$ly9yKKfB{FUUwNppYFcGSDeO mJouLCqbU2K7Hn#IidOOY?yrwUkPU*D z1pg+&?qYy ;h~{2&d#qaN7BOD+ojCS%?l(Ubq4=#4+}BYx{*#f%}1@sl+MJ=KyjBP-IF+i z)N+d`1$JOEGBTogPp6jW!zz)(t7pl4J9k8c#GeoLgoDE(r$^@J=QWIsB2Fqa`x0r` zw2RwMHU{v?$o|g~1RH1`9fYi|ni$kVFg!00x?te@YKP^2bB()b8pdkhkrPl2h&hac z{m^jMM%(<*qt%Z? rNXkf=*0-s#E%&+_UD6KkR!B8&rLslni6Y>CxjAa z!-RXl3nM!_HW=F4)(Z74rD`>)f{xUHx<3>!fnk#kP6OK5Mx`Wx1I6EaYG!u_mO!di zThnRax4NSHSBr;6NAWlfYJ 1qJLDf(r^*cC)Sj)kR`pZZ(`(Ugk1AqD zX*^T^`)I9 z#P_eOt6N(#)Y3jM>U>Sbg`>VrL)yB-Z_Dj@VP` b#|3gccHNI zkuu3U$e|QrXE%^|8Qyr1I1*@aizg%Bvjx7ry DMQcmwVJfs ;O0Y}LqsjYyd;*wO-7Kru5m=DRbe2Q0H}g0Fxl6sYv-W2-JdRQBXC zq{`2>^V8`#If=Ko$%H)C{6Rk;I2|$zutzkBR$%S%;rYSbIji{9ikG`=C-)yQw_yX( z>q)IQO#Jrvrt$IdSF YZgH(j!{#@*kBA$I~A=e7ZtnnXAMB)t4{8G3f?OdbT`@rFpKRLivhp zZJh3|z;-ibPodB%x?V1Yulp>qjao_f8^#Y>*s+f{+ARt7TkldP2XJ#m>*_oR9IR7< zJB=SsNQ9i%%i;#Y?B~;?%$oc+H!b0!9?zEVhu!$$4^#S%p?FxaBh7*1 dyP3Au>%VgLecxj8QdUkqC3D0q0^#Y)I}dy4~hBYr5im-NcxKaGWG zxSH-N#3ldDm616A`$lS5S>@L|xzTU3C @9Uyq@0A(0FnDfac>m9KTg}JCF`!cS}HOX)5mHLea4~gAzg>wmm(@DQhjY;q> 47hzZ^XOYuwkIx0N zw^u=4ORF-^ 2B^tE!5uwDBagw%nRPm6EC+ z1r4Xb_QvOq=24 JCAmo(8X=l6#`YViI5 zT)UMhpmu=||9kL5d1{2dyNR$x1BNH! HW)uXg M*;CpgyG>rXFUCe%l@2WV6j*n;|6N*z*xflO-_BmYkTJb9FsMx XKOFj>@qDD zsw5*z-r>e6_ 7ka3XA z-6$2-dEk;u@XVoGi2J~p(?JZQl1$m;m#xI~MU5HIRxM|u{^e>jur<@8CI=IGnIP^_ zpa sJv}B6)PdI2)SyUkTN)CSIsj5^NO-X515}ih|DN-cis>_01-j zY*VX7cZ7$J(Dse6n5T+IaVGrTPsW?VY69Kg&*b9{?{3cd$-{e&$|$nJkue)DvCrQd za>`mO7W(@ImFalXP*4zob$)q-ZF(f|e(lajn2@cly;?bcaii_(1}!S!cx4smVQvW8 zaI2Gc_~r6n`ECbj+-Y^l=(e!W101B}Mt*~M;#Xf!4o(}#C%WH|t9w!EM@hP{ssTu) z+ux&3Ub&X^eODm*`@;)G0{)Jv -_b!o #fPHm((ur^54>06_VNB#!Jx(oHC0uzx94N_=Em|=adg*QtQ@j=sx^oy?{9>I zgznkSq8FzKmTj9pl+*zVkIUr`G Cd`@J^R=>qQN?(P6 cgKt0dQI=Um 44X4=>cHFr6+(XADEJSvB{x-)D}du zwqLU>1u=iiTUq%*vQlj+x+BQxVoz7NSzoG}>ob5@oh+H$UDULUy``tmhU60CaQ6)k zMjahGz=_5bnPd7xJ&yc&4>R?s*QmH&MyjlKTSHahLV+qN)e6)ERm1K}0**_;Ubh#B z>6W|PNiEVW8A?vWdYKWl8iW8POS?LcJQbQ8h5XK~@7SctyS4FbKV{Nq>5Qw+!^;Y7 z Sb{-{ss990k({)TQs0hsxc`nr2+ PDW%Ymg*OMJ=iuw=7aT~}6NClU6`nwZF@bG{$Fta_o`4gyU2fpTh%c>-y zA}BVE^m^_w7#H_}3aTu~$tmy&m2Z)6$V{ddv#zmG)C)|=dy34F$M0$mCd_3=k=6d~ zZ%D#n JI zCvxfsiuRF24w39yJ=|UYRGZ>qKHU6b4vJ+LTvSR3L$+>nw%RA*hDzqOMLCC3GKJ8D_*{#bBVZ@ISL4}!?A^xR9P9d>W zdMDUACz=A~#ur_DmH8S8@Wfm{$S2d$&QwAka-8oXew92iGOSB$?%eFvJa&vQGu7u6 z#?BWVwmQgYj6^+`r=+4e-^-y1pOAz9`92bG>U|{K_?PFI&+T6gXoRo^axZKf<9b0H z82j$*ppZ7;KA2vFAg-uH-SMU=c0RIm=#;51vTx?gN@Z!67!aeC%jG-HR#>Fee~!HA zr(q|NPCIP5q%ILO(yj?J(T~u{dufT22$ZN}KwReZ^N1z%UDoMEh~FomyFkFK`sGnL zRPy4lQsOABbc*eC$pot&X$hQDsvrCUWtcSIFeK^IHSivDhl_OmQ}SpK`QZ#ZTVlDr zkXxu{ntI$AX!i%MH1PO~X?Dnu+h+mkDsS$#c =ow~Ics;PK3j%417i(`rQ zilWhUZ08GKzw6&V-9A&oPE#7czW3f75ndvJmO4>CPxUS`{t>o6jnR|(P&R>|Z+y5I zM_a2R`fJQjGWjY+=@x`Gr`XF;1HI9a_(H$>Noe_9z8D2AF@?$<>2aAHfzRJE1Bh7a zOIN4aE3(@=mGfEU_QIgnmAKZ=>1k;WsaT+^_WqDEwl{203Y_pd8WKb56cbk*>b1Ec zvzW*NPf9WIk8|+lX!_Yyw5VIJ2oEe(g3b-}WbdQPpmcBrv;=!7dTpV^4b~^AYTN1B zS5dh@seEo>=#e+@XKsETkD1e_m*Y8Y4Wbi?98P_wtzE-ObY0ebX(uu)NzW =LBgjO nb#?T7fBffw~EnX zjyGrurDo-l&sdJU=y92SV`1-L)7_gx T1TTBR>Z%KJ@?dPf}z5f;G>;2XJY zGvnjGk<9MjFSegI)R$rH?^C7gL%+O%pi&DX?bu*=?u4F3$DSh?8*1s|g _c%Ae2FM*@(W?5{uTqk7)Il=*0>D<>j z6kE$%DNgv;Zx3sQ?!v#vW)iAa?1_rG=r@m~FQgp`$7;LK7>T-%nS!*0KP`+TmjvGO z7%qv{8g5;UyLBLn0);%xm#zgT)_Ib(heQlpj=3#5ukO6>Qn!y!*VfpCd=5kbmLuZ( z_h%T>FY;P5bv6kEYmmpY`H;oAs-y5yx{eg`fe!mCJ|X+&p1U#~N_7OKNG<$#I-)0X zw|XF K8ejg7Mil<-d9%Sbhs zx0@4)9ntvlhwmea2wtHcXn)Vm8WOh5s^*mD-e@t9xO= D-wzWcgDRVs~~8BCnW7rD}FYeAW&YH^T=@8})*UTO#{KhU`xp8OcWcKFif zRwkerZZrI@e->Y8dTZUa7s11!`q(9`o-CN)o6hGW8d&+ L^k#Pw;jz4x3s`QHqGdGvfBBDkWzB$Qa(&uyF5r1;s8vi- z84=-HcQq89vPD2H*96$`l?aLo&2W)?Gq9Vj_~>{9lM-`YFA$O{PD)HKP1bET4NyIU zeWav~$jh_s @k_bF3G GrpaVu}YfYa|CD~h(y?CW;thwrH55gf6ngBZ=i znL;BZhCI}cV=-MiEe=ifZ{;KV>t4CVSY%7CsRSLcOvhT@&M?^fTHL~n8zozFiYk?~ z>&PaF9894$3`?(*mm?ws6l)}(*RhSVq*k+T6cQ&!Ike9~ZF5w+oebt)p(4%$<**YS z0W*lx&WqdfT7Gx}t5GKh^Bd&zgRqU&?rk5D_dRMmse<&?7@Mgj`fhHKm}Td5>xu8@ zS31VJloHRLveMG3?pQ{bIJ<1TkIv!wwZDH&Vl-MoE#mrNSgR=_CcnVKlbVWZ?4zr@ z#EP50RN(oq{j(5eh%?v_#b6FCQ6@Zr;#R<;rL #pL(x_uudmvm3l#&Sb8#Pm4#u2~36 Vu7(5(2sMh$8*85`XKWqiVCuZv^&+ot#)gPDmXB@8XRh1MwV8Y^t z?IYs1%B36z4X~c!)UO=ddv=LIbw75FD!uptV?_aRYOdz1tdc8;ZV9UV#@DUr(<-?+ z+R^}3Z;yR@2kUlb8n5pOQP2r5+#2 zHqAO;?a;Ld5u&}0J!zfgNG~@$Zi`|wJ-+Fm&XNr)H|daT;sm?C+)Tv{JO&@nG(s!W zT&k7QUb+^p&^@P^Dos3bUCDq=-!LqCI2+ECnTT!nRfP@2RLp-<{Y~?>XAcn=6!12W zrmec})br?zDY7qGu(YS}Y0*)9digPU&C+8-Y9fyWEg{y}DUi|Qc%v(H{^Ihouwa&j zWLn9YUd-d97DmiW_gmQ^jimhRkX}=-ag!!H$?k{W`ZcOtlGkr8GFJbY_w59PWp3Bb zkk-wxck*NWI9?n2DB$kf%phpGBvfl0ZNPvqH7!@=WNN(TrD uzM;Rz1!)aJ8lNffY*ucWc* JpxIs1O?`r$%BVTf$MGp)Tw2#IJaCaKK6dI%bJiqsM7N$b~Gv5-kZCbs@ ^Q+sCDkr~2r)4D zNi}MTUIzu$KsTanpO}!iSB3jsWM32o4NE9+N)c7Fbu&T85`;rFx%-0VbIHd~t5y>C zh3J(-Z$7Y)vxu{(vY6_m+eIdF5*1#3-6_nUWZjS+eTI*O46*p5$tn*f$CjQi(eB4Q zi+z?L1ybE9tErK1-??2+O8LXVrv_tLbqg*!dfw5f@#JK+Kvyae(ookdJYw-1MuQAv z5v6NSU# 1unJ}a)+Zkfg~*Zj0R zjrTW4?_GZTUBc2voa2U$AVDLpDJ6=DU1n|`B2vS;x7N!*Sqky)4&rd#&cHLjCf~8$ zSQyqClX+Kdxd`&o@kFN9Y`k+7QSGgw)jmmKn>I?T`8=(>*uCW4sUVWy%NgwgefRuL zVxBok+6#{i&ud%biJL~)afLWKIG5fCxizR64#t@WeB5os&{D|kf~<1Hm _4;-*3SFA`aBV~RFt{TH=$5)>5E>2BJuU)E=hH-7i{LLj}8 zgYI6k))_SDT(@*AB4g6`b)ARC4KZlOH=vB`uz{sY{g(HyRU|#(%f_VY-U(*MPY`aK z9$DG%3qra?jo-c$2!&^6Xb_qI{rhp}MPUDrKa!kNjS9TQI391zX~^1Bo_5ishkG3F z?(UAItc|XqSBHvpTI_F;3iM&eZ#z4^m`I}+{LTQ_gP3ajG`-{crCJdFJzviMRRFr< z>$?<^^J4uPTZNjUB6(>-6hD;uVXgo=>8OPS(=ZY}Oh(L~gM;jKwZ$4w7skhbsgecI zpb{8j8x3xSLi$l1(uCX_St`OI9PY75*&l1!vM0*Sp(^IEMZBh92cI=XB4PvC^@@eY zt23431U8a6=&ryQBUlAN`jMZ>ZFb7fpJ{nLX10*I*RrLY6fA t~ysfu1#QWrxbEh?_!dr&K!^iN2R3|3Nlm2A`?jNc2C3|PweP_ zyDcqXVs6?rWXx<1CA1%WGUb+`jM1&DoGiCUN{#5z^&riVG;d<5xw5(LVVeZ6YiY)O zJSsOVS1Btl8#+24SK{jT&@Cx>-eH TDL87Y3Fz#M>FHgJw|V5eGEz$gOObz)Np^w#x`T{PHT z^J0gUr>f%}x5b=GmUk}e>&>Y%l?d!c^=xki|2;3L!>JXG*{N&bTz-m~Nwp?fxv0f` z@bE`z86lj3mtocjyM91Ke(^qj>n`e7|X72M3+ ^!PaMe!dPJ?pwm&gp5@C zRL*I75S1fRYbB3Lm#Y1VCbL;xPU^&Ew!qY6LClJqn-|a?7ETn~Z)hhgCk;8OW>u*b z4%eSMPLB0DTnW(?U(|1Kt68b0#<(UHZ$u=ZiDHIp(Y?^$Xp5ge&iuy75^#zNO%{2E z!qDnu;ZMo@Qjt#5fhYzm`tViP?pI-ByXD^l#t&;GdZn-x#Me!=V2a*~ig0GNv{Bxj z4otYGANs&pt0XI?eSNGbu4v6&3Nm7vCQs3~4%qw^>x&=pG(mTtt;I}hY`#mZ#d=jL z>XV$jeX?Xj72IK~a#=gNE z}v zCc~h)Zatlt=|Xojy~7{uCFa3-ZD>Ko`?W1d%ZSU(=Z5vyucE5qT1wVb8*dWV!=)d) zYm=Pu1*-5#uOD#$bfHL7l9io38R9B+7r86>3YX&B@s`WPE1P%5;VVaFr+l>%7!>yi zOlj>#p~S?*Z7s@{yUH%#)qvnkj49Nvg&>;7((i!yZRxFU 4lcviN6|KQYpZ98!vP}CltIAXTad$i^LWBwvfgyoKu=#_>o4nm_CH~vL>Q9_=mI0c?Nx8k>_aR+f-d`$&L@R%p ztiy&~M3&a^xvsNI=muyEVc#Vtp7qm5gV4FyVlzEr^h0VEtDHLm5s;cW@TE>scoADO zCYDLAVB8`Z) F$bNRntJ?f%iu_d@FfJsT2Gqyu;}PhG>nmo z5qdN7GLk2{ixbKM7xy^UbmKu7;yM&Q%l~F!CBd7ZHKC!+4t%dY8>fKysPQPpui?!& zEwAT`o}~Seq0P~sl J49KfC##d<*l*3MHa8SSjsV$^0PqfxWLvrnpZ(p%q zW5)7|WT&xST`#Vk1Zqvu4-E6SGNxyqq;7bu_-Uut!tB!b1k~ST8dV!_nuG*PEZsF_ z?uBig<-4Gs-=4l`zCF>+h re^E?ot4DL zu|^kUCA>`gRDsz|=Oi|oNM}Ap6`C=UtF+@SnTjCA4<2U6y;D7|9b}uo5IJnjK9~_~ zKE@_m)>36=*a(|ClwP6K?5!9v%6LpMo<_C0xeH%QJ>a7uM&XJ7%r;-Tv2wjRhx|=} zT#d&KT==;kfUDKme0 jTWDq|$A~xv}ck($3 z@+nv~3Y8N7i KyrZOoE_Ng75p`@)`6ErQ(tf-;27*T35a}tO z@?!wU1_^;CtQQ+y-XWAS2pW PX$xi9zXP;=Zu_aVevj!K>iRk zco=e#cZ+(KMzUX0f EZDT~$ zF4glhO!v+*xxKo2E|xC%Qc4hZw0rE1Vl}si=sqJWp( 2`K(|7zSUBp)x|^$e-@G0=*LPp59`E@%Wk$B<6l!@*C=>L_hz zai^iuJ*tzwVGe!ocD1 ` zYbZKyjx`svf8SAaUaGXW2T-5{%#7Ig#aQT#VC|nY4DGhA2N8KaiT{EcKrSmR?@}42 zxKNv9DU!9aDNQy1L^d90^hj%R0hV@6wI*PHVyHy!=7nP4EphNc?pLrG!*^VDRgq1% z7`a!dYz;5r(RU}F1E+%{*G-E}o{53||6I@wq^BWdDEo+Rlz10x*ODMRn$%ZmYBVa^ zL8bM-^r%6^YYEI4z6lgC;@M^tmv2&~w1kc9XsNoPrqvRqg64G2PoGoHQmGxb3L0Gp zUeK;L41c4%V8%8epgG*OP{vRtU~2Hyy2pCB1AB#no5P1uW7fh1A*xMn55kQrC-ma8 z9- wSORNbq%)yy&u(yMcvab*U9g2}^`#XW|Qv7!Bw99|}(&UoE^5qYcG_iVM z!k}>)E)l5HISzr7m;~P8Pzm9o&xc>et_Hx5vf5vYOh`Dd2jjfPz>S=I_}ci5_wFqN z33O!iTcD_i2^ULJkeBD>wk(To+8KQ|=~DkhN|5Rb<=eS9Kh%eT<$J0G1(x6*-0;aC zQ|jcmKaTS 6b^TQP%h4K18p0Oz4(ulLPdsc(O>(-JgOn|mKwo~i#ntdYXSgP*XLpFEw zx2S@skL6}P8 =RZpw0w482HNv<7Zm{>F?aLsRJX;&*p$^I=m>3cr) zdQxXQF~LbVWHccq9x(#z{>`j8EO_5fi_U51$D_?JUw~5V9*0@BTAxIa@6Y$*u@4Nu z%Gq_-qV{JiwW+h_cvz7Be!8_PHE@*tVqw#7x7;dIA`@8D-@4$u;YN(K13DfnpL?Ts z16%$XZC0%U)|gi^w~rjtK~Do6Qx7my$^H~KNOyO%JcRU(rq=(p@7eV|m*#&L^wW>> z3a@u;?RSgh^19r9ixOnAwsyn;oHg^H{aYvCa>+*x4UK1gz+U)C==2-t6!Wmf$^x$& zJMJxyTj)1R(k Ybww0JM(@9;O>z=D^J-`euL6P5cTM(bdq*p;H+_y7YCU~X2BYN zn8hl8 =I SaDM+`oaNXGb9~NBEbN7ZJFgZMgc4xaQ_L*1?|B%;{eU1Cc*)P41{G^)XKo bDuSABh- ?I|jqql|Vb zv9;H6B@l)+P4S|mnR?bO!C+GN5ev*KqZU2v{4WwEvhBf~Qf1)u-Mdcp$>#gpvlnfr z{cVI0oGs#0mjeV$4f4vN(6}1aVdO+as~SrYUE))FrEpB5WUrVa+V;_Af4wD$ouFfJ z6`_S!K7`sY_S-%dTCcEEr#bE_7ggD$KF9~5f*~@?fB> h`_dyj+`Gr@Z0M_i{>e zewyOdB57KA9f#<$BBw2|E@x;-GUsg-qtZM=z+46{fFor>b#yW4(jhP+(0RucGPCxL zA#H@uYIq0b)qqk^)B)bEKd#vxNrK9>Y^Q~sWdf#VwRLD=*a^3sTe7MkP25#R`_E1A zvrL#O213Is%rB)~)__}L_zjnx=k&UXi9$a94nF>}pGu10durnC <3AIZUZ6q68r``rzhm6J%>U8tr{NRidah3qg$K3 zA!|4QSguMU@6HD&P1 -B>vdl|y|NR5T#~k1>6``! zzc$i$H~hS8bn#T2gH~tC>?qg^$Kmr#`~eNk2V#Y0*MkMJEi`89fB<;~8JXb*16xu~ zt3Q(YGcnb0# =-K#2nlORyZ)ZhW+rufi5QIC}sA~DE@^I?J#gij8E&$q5-MQc2-+xZtp8O2J zNAtaMJUIR6jqXyVQl=+Yk6FL!;6w%n_duM;8hDNxT6ZOA0 e VxB;tbhRiW~$Bd%IU_W^-;5`p@>VJunCMh7AmhDNHu2GgO(@M Lp_RyoF>T;`{DcU%J+G+lK30-tfmB;YW!7mv~jT&L~QeTePruR*YowS0ekJ*X*^_ z-xH-@I!OF(=tGJNVNcgKto=c(RDd>IcHXMHUe= iRw8FW~;vPm}PElW%mI_04 zyGJk4&TkT4j$b+5Tkn~*boP4jNM#VDN=`W`S>E9*KI|5b` `)=+D1D;t*Ria2uOsi|6wBcU_-DB5KYl&RCZKWI{z@N0~*GNJ|W?I^1K< z(k~Q%O2rK#j=d#Wba?FBz#h)_(<*J0 !)PezZXbaFw&H7V& z nO#BHhR*^?$t+jn zC~$4W`*^6xNRv#zpZ4$&c3f|gHvfE2DWrDLrnVUQrp>Q{nyGP?kG-c^11q=kB}#tn zXQ90?>NnI@4p8x{Cu_g&2M$moZ+|2ofe_A%3&s&Z_o_`em#8B(mc}&vHpoSdk#AMR z8enfen;sQ)6)vx&{LOaqO`<&URChY7;QI0lzWw@)8VWxm#t8rP2h>Dm9Pi{aS@xBi z`Z*xn3>R6^!1syu(D7JPkQu>pGNWeVn|<0yqI~!KzkhLs{=;(s1#BBYp#DGlG~*2E z_G;6u5p)MTax#tN#=_J8K|dy Bf69daaJFuGK)``WBcnLYZfKxjWXuI*a&p>M%&=yjt8Umg8oGxC7EV?< zQ`2XdFOg;dW8B%*mHhhOeTB=TC#HkN5YbjA*3MEDZCv#b*fmT%JUo1hjfv?6kQIAr z`0d!;-rimacE#P_|2{f4_Q&-piRsjDT_7KJa^&_F&1qi`6-XYCbx~pi!UM|zbASAx z5Fl>xWTr-GxloB97niu`KT)c$uwS 34Vv 5u64b2o!pvB_k_q;^d@0qNt-YLxmjZ%mIF+j<)~cQS-mke-Z6< zr#cO;#la06HH2=|k!XOPa0mS)!AMW@J3!n)G5i7$i`;-2?9|k!{d|QnK<455`?nnt z1rSDBP*NiG{(b0!_$E!qnyix3!GbXOeNZ{j*ar9_-)V|K*)U=tGVi9K%|*I=;HycK z1WWlYWf1gdT-;rqOP>p5qyM9NPj0?d@1b_5FlXGU_+dmRRlsL8HQbxqn?K9jP1QvI zSl6)s7*B}Du(41i3wTz*Vc{&`d#Iq#1(88DOqe`{TtiRq%^HUiRkmklQxjE##62Mq z5z!mhcKUWk8j61>nfOeKYvLZV;o&QQ(EvGbdZO{Sn;Q_AF9_lZiswwE$jr *&?(A`;1LBt}%AFT3 o>%m+S5K;jOYLegy^^BEH zzdO)g_!Fk?4W!`xy@wBe=y5*T$=O)n{nV3*-U!*ID=`KvPPv+YAJ`tb0umG8@GO40 zM<%W&tGZfF#$-o@e#mbk{Z6oJ56F=O11>x;q{wpe){axd*Pn3tfA>H9Pgu(DwKio? z4 _#7b=jvPtvDbMbKL}7MB zWoHw<;3R_4(R4?aK1RI6rYV5x;M9ltz4~PNC|?@f;c>c2D=uy%%dpt<>zA!EM)`>m zJb1Zt-5mPbZ#S#4(O`U=5;tT-V^t~1(!(P;c+`YSBQ+(Z=w7Jwh0TjfcDn05(%(1CptPJ@DHzbh-Xc7uC1pU_6& zA;CL4J5Fa?8c<^w7ptO)`M-a2uh&Mx!y)+Qzw7X*6gqunv9YIfm6^{P2?+_m2m|g^ z8#5d+({IJxASj+W2KUaYGuW%YYQq*>fncS%DH|Ib8J($idecZ~TxzTzej)P|)ks&c zBO%$EOkQ#dpbG={{G;!Gw)wupAec674lZrLkRA^~sN7r~Bi1-^5Js70nNCX4e=I{t z3y6KywEzp^@|+w}5-y_;JkmV8#0&!06sR3(Vhvq9Ve*!8OaT2~ 2bzSd)6hgR7LALOrTYJS!@6TR-#nyL0`h;w{G z<8v1sD1TpZ*!W!vIsnXRSwQf_xg(~UO@iQ(yR?i(kWeHiQJjdIcsBHQSmbbJ*Z7v) zneoq((>*AHQv5gVr5@`kfVZujyUPllXBXD#QoW5h;$-C{&YTHQs^l~QR3C4$D7Ak` z?f6|TC4!2k@E-DpQmPz)0|E}t1)^Hnf`EXaOl_H2;2 h;-@6&g`6Q_+l zRd&LL4Wk=-(EMI%65|4@LlV4jIs@(B2CVJHm|)Ej!bmEr{VxtS<6q4{z!84yfM$st zKG^eOzXRayKP+hEjN^w#M8wNFJJ4WAAU=!?XNl6+3GX>6&y?#ATTf(`La_~cVT z$l!-#jkTw4E;5m)?O|LdK+dWAZgGvQIduok{TR(EMJWu0V~FEwZn{OBQvf9^*cyCR zGmq$gL;#AEkCd7VhEZj_0aM0zUB-aCS`l?Nh_3!bMj;~n3X+nVlHLVqERPNv4nw!* z!&>f`eG1oNIgvo(YDvUW8GJf?P`Ma)vpg%yz@Wh-{Mw5&9yXFLVSI9%g*h&`3`03B zAy#PWQvQRQZy%D^4G61bJLM3A$rE33SQ;g6wxk&tI#)fHZ_}#%yy(`iuK~;UQRXbj z@B$3>c)P64^L}~)SWeXP?TyU>k_|^r1F2xu+6&cH>~ybd(KXAlss_Qko2-l+=?`o; zjOVndsL}=G qKu4vV|-HNz)%%HMV|)wq|_>y2o9Bpd^ZQjYajjZbGfmo^9VKN2 R1y^tLJCW5gs^qJ93%9Y=Ks006n7I$!(I9aFB7K*f~TG_Gl(2-+{E^ z0zr-KW&$B*Jx;ufZxez%R9|WIK73p7DWUZ1F?p261f~1W1~C-#&>&+Q$K<(~Kynf- zJiiPg_K{Z9=D|gJIywa#W;c};E@!pjYs;{D13{xb2^I?zvC~yECnp8?a2>gT+WYr$ zM-XZdqo~?g8pB2sTgmHy*ERoEWCxTDHso&D9Zh?QU3k=8ov9Z?S)?X3mG1b@S643u zE=?pU>LC6*fLstN jo^vOVqxHd&HOT&zGatxS6wmc)4U zT2W06nqO=u8C4~)E(xa4Wn8l*6r V{s8Wtyb=kIJprX7&K)8ez&Es41)23si1ZP=tCX=-yazA!dNpBEO7>~ebB^)^-0 zE4@cO8ri&Utr6L=ZL)s1`;DMQLVW^pE-0W;HQbs^f$~0SvsXq~?h8Q}cX(ntCo38x z%Xu@%-k;VZJfCLNUsV_-^Sbp3y!ACfjh5VWr^LUNpW%NRpe+Ji-0F*-G-PhS+Ug zc%hWgzLMpqO&N)5PhV?nZ0ro(_7aRWr>fA_v%r8~ubpLNoT6s%VZT5hWPWUWawhV9 zzvx!@(7eSyhHah{>-De|9G@7!D;bc|^_i=GfDQVj`&nVo#H)&&f-Ifk{y{0lJ|ZfG zHc`!5{~*~fEdmkFc`W8$qp0ghcqz}DH<|&um2pAVytt!IwgH%;7sl((K3EN*s{)+0 z4n_n&q3@B Q36RLC z))3I7XSh6S{5GtEk!@%aKQw AKy8Z})U}y%!$;<6~YE7jO<~YJU2%Ys|3Gy}Wv)y4p1rE#{tbo1BS> zVF%qbbQ%+Xeo!p}-qG1 l(pA{6tZ@}__zUkr3rs| zd%)TcHzFa|whCaBu&2i}lVOybL0-#3?Uysh*-5E_`tp0AiPD9aSZ$hwf2sv`3qA$H zt&p3vJi@Hp{2`4jGh1(tul8tq#(v+4F*1J456?{6U|Ds**yrUUtO9w3qLVwQMN2)M zc+E++SXxoROB5xN?jgtQGF73N>hj#_N3GSKbkA2+RYkd9lz!VT>MxMfW q52P zvmJ|yY(KbncXbyE 4F&xzuUaNQmp z3lUlk`cd~#q0gW4RSQlr&%Z_`pU8OGckom>-?;ktJ(&<1Z4D#Doz+Me_qRSMhtU7G zakB(NkBNj5PPH|j@6i7+_m)j@ykE375dr~%1b5fq?gUSQyL*t}GPng9T!Xv2yF<{y z-QC>@4#R1F|9ZZ`bE-~NsPJN#p6Qvsd*6GnbuDa3CZ!%F<{D{fzrEDQl-KQTBOj3Y zgHF_27mO>rT}uZViLX#EM@EO0GAmT;t_D?TZd2)yWpx0~U$R(55ZO post5{I)h3F@tyU40`!Pr?6veg$7d>?OvVtiK&qFTR&=9 z zisQ0M3!v}U6 zRaOfI3;w%MUx8Ho=7xaj0rYd;IqLaHgc3 +{UT$3uY!>+8rO@xT+zqc#S^38=m;2Tc|(PI{i cP!R9iv_8@cN7+0~>v>j@nvVrY?J%Q8zUPQ4WGq(_bIol@$yAKTK#$o@plA>UVKdOGxilqk*y>k&=~0yRD$K@{&OFrld 65^kEmosVgEwCRf=rvaTvRmg+=c~ zw %pv@Ug|N0{-q=8d?(T8OQn)-o}m@Ko@VZCy(f+F zEKY7q9VvlK#qBNY{AN_@n-8SviF<#i3w#w6645o8H$;_6ehOLRk<4V<-*fr}=e;XU zH`1OJvq7;cJ7a$!f^DnB<2S^vk|s@Hq4>P!F$!9=eGZG5FH$N1?fhX#;ab~%Qdn12 zj?LPiq@-7G{8mu5VVBRld$QQ0oFP|!%g3W8T*n^mZHjM79MNam;y4RM7A%h`7})dm z)NINQox@MmUrthgwjOjTskZ`B-XepAjWjz`R5JXZ8d>4hw)zJL6|1^!@ob(_hg~zc zDFEJpdc7q$gg_Q=Wnm$YOIp@K^rHLzYM<&toTbzCA9p|a!1g`+EiNJMj4*TRRV0^5 zvl+-D)%BKpj&N!-cXZSgNz(qYh-!1U3J<@cBxhhCJt;w!C*Iw|OJKD!iD@ zNRAG9MQGR;u-ql8~ bNZ- zk!wbbd<}i6k~M?}NyB@XdJ0JX f^8 J9yP@xr059ZQ3--CW9HqnLy*LLp zMUU(2n@mYv=?u4EV-OXNY5IYLgI>B&z36Vn&c@zT*e~QCgw;sH*hlFRgw%+py4iV1 z& Gk7;-)|JVO2`%vsMaRUI z-5al_I`kSt)lKptRy;DFmyp#8adGgbKXxvZe^bgKD9HP+R{4=J1+aYz0p9&za5i$< zT_Z`_N$9$KZ!1bmwbcl}OG{5$(Y7NK3;NH-bEfgT^ 7}^r*t)d (XO- z%awXe+yky%rJtGvR-OQ2fJYa_(9j5EwF6)|bZ!%`m=u*2w-p 0y5R8_T=SQ06H z&1xETQ{f+j8nbl=xNJ7V$v)RxFJuEEYAWx$a|29z #+$F~D3ub`EUBKQ&gaJok}gV$ z9tIJ5-OB?Api5$9ajiw) `*+GFHB=wy)eG9`qnV~iAS%78DGwwQ@&d>JzzD>c$r zR|P44=v3%*=&rN?AgDuvIBoJ|R{+0+3ut(Yl%PQCZT|*i++wyA6KyKU-tI+xPMf7K zi6rIvTNXe?$oGxji&G+2pdjRPl7=OqCSuaAggM%2jElqkY%Wkpmhm>);fJEOLjTN< z6~cHA`%i}oXjA-N2EuPR2Y9kj`KV9GY@u+`0D Wz{92Md)ZKQH=RXJwcIT7 ze#eU2 BC{j;THdC5OLU^kX7z`(UDMz2$^P1yLV zBEpw;1{#xx%XTZ9zf)XwsIPSy4OZ?E_e#DYef(Go-?cN3^}XNW;twTRKt)kyqJU{c zxoQ{GdlZOX1=E-{E<*A`6Q)l*4i5_Iv@zr6rhkP5hj$mnQ0K}{PHT9atvEXlv;kix z3xTORB_H~GbF{3l6YTCz>F~|=n2Q+nvO!6wv){jmeu=bPt;PLLmiVPYrMNK!?V_`Z zM#H2W#OiF_9$~-M;+zqZ1l(TsbGQ9{BdizA2Sj5nm9!O0hxQdpXJ%(3nBut9V2Qvd z9%v32oCAsta#Hs+cj{*tftHUTaFS$*XMD6T4J+$g{GCLWP5A2cd!8v?GP01pD6+)t zKh~^E+8n)^{L1H~Mn|(&4^e-wb9warPRZw_XRkW+1%HG{vGbo|28MTWv$1K39pPbG z0v*ITxX`+z+5IMyB=rL6gcB;^!LJH>$`n>#EU=P$vUYe@T3r#b23(C>+U<9$>mzrD z)PTn>6}Y=>_md8Pp_z6}zkgOI-!t) 0e|IGQ6-_(ob T@v@zrtHZjeYV=p&O}d*RWV;!kD|$<94A$uMNhUNoD* zxt_S(M=|GWF@GAH&8p42i~P~NDH<5%*n>$+89I9!mj}1UIyvIr!IBCu2M^Cx
r_=O>%{8tul3>FLr?Z>-bY`y6y4zQ*p$I)dm zZ<5FFEN0UtlVJErR67y0?{A3JeJil@6wjX0%CT?dWTeveEg;VtPP5c2iXqGhHoRp> zX*G;4qfPm&djmi3rzWRrWzK~+^HtPyb#i|+I$ms2YN9-~wzet{_0%?%vv&{izhDG- z$Zv>#FRkqWdimx_kB{zoD-;7z@TG0F{2)kTa4o#6>+QYeSK^;;?r!4#;Dhe>X&Uw7 z0S60bEd2b+gHc6{Mquu~9kOj24_cRZ$hBIFsue*uCd1Kzh_mQIMo?q|?#yg9=^iUD z;dc0eo&C70p5`6b**L##zRt7H#Ho$DbsvGR1P{=F&1d*{@zIT~)#ai!fVWAO*=F|L zJ0CA&AC54K-f$l3tQBEU|6cT_FZ1YeJfBXYZ1;x3#a~+jFt(@@wQTBmCCTj>dbBu1 zmTxw+yWh%YIAtG+9d`=qKzJNU`IbiN{XEb$*uW+3N8LXcDn9sk{cqzzo!pS3HGz_} znH`Oe=dvbuyEsUuA}E*}Gui8V`a814rA5bZgYxbnM}OKs{OR%|U#1x7>3d-9QueJe zvGvfhScnzKh?J$@M-bhqeGbE5!A0fHI-FK0B{jqE0yPo#!ivL#v0z!jSVN}-3GXC* z;aHY!b9M@1V@^p7UIc*HXwQSm37@ fz z|GIPGrI!SOC`5WET3EO@cdOs;h1>EW2uBi-dw2-#`jOtE#mkLi!`W1hEi215bJ2qg zg~|&0X&eP;^VNm4;}yodo#GL$zX}Ry>W<_HF+VGs6`GQLnq_L(SmPh_;cc_KNkpE5 z0Qh@d-@wi>~CPF%Xx=Ys A`ddEgecE&T{xSc{)77Eb$y$dR96KtnhR1{z z9aci5Z}juRrdTW%#wY|`jz8<(P9o+*MGZbCreCW@)8RJ;47D(_o)f2{-$`5*s6b3{ z{LM#qU}(dBoJL^)kcy1Q_-{+M$(c2i-+hh T|V=`K>L8 zJ5wH3IrZ1vn>(8tuZoxaH4UL*t#zgsF*U#H$
{R?cSwPU${Y}s+1Cp3xsH#}cP znFRv24;~br;^X3iEb6qyzv%FUXxxBva=u-p$=)hyw=!te7m_%BFpK?m7xT7C=e>KQ zzw6K-9f%o>jCFBugIB~qL!-az=XtEDsU=Ukm$(;lP!}9znwaK!@4=hxbP2C7DA34J zJ2uXp#uiYLlA<+jkV8YCO3eKNA|{lK_H%qoUh*s};p@GuyynB{xg{X p~RvFw8YSroZwMj@ToU^y01SI548ZVSD$Ok3WU5M@7uKN*$JVX&UVQ=TB;Jxq4zF z7f6n~-zPhSROAL+T-q8C0o<6eiO`~bCLmn9q(A2u7|vJ-1}cx-&)P~xNnugo EimUKoMt0o%s5SVZJ+ d zMhg2OEAzd#uu(X};~!f3YLn7YkKJ`GbYD80FZFn-uOm&+>FIk}=BY}MBy4Z9qs93J zBx7CZWyE{-4X@~?G}x`%nwP88CZyGwa?SgBPUWz+YK;P}K|WRq)n=()2TTEH4(w{I z<{K5nkqZKX6C9e%cjz!#;3%YZl|dS?yRA>I>P>Ex>cXI}Yc5AJ0)j^efVXzK90s(t zkL*n+iz`k+Xk_XZ`&$&tc4fbILO{@Sw{~{`AFp`RywexFh#gZ-($Lm4V&LIMAS6p5 zYhmBrh2>HIs8k&%iJP4Ir5APTkqwj*!D6qC26GJ+$QzT)M)A-q^gT zrj73J(|nvdOSC0@wvJBTG92IfxDEEb+#XQcKRcQm1BTibBIC>^sGPsISq!O=NbIan zM>ElyK}gtBWl3B%=^^xOq*8@(&*R)>A8dYapk*B <&5)W6eui*=^@D7EN}8&wtib8bU}N}b zkglls=USbhZb+ehVW9@3b)z9I3q(Mn2>|^gY*<-E#q0pYg%@TPQiblG)I$Jvn&iCK zYOmilphQhAA<9OK(RSR>_cZ=yDE8#)(mtBvej1f|=*x~l`#q89OzLUCfg-aj$4|WC zQ<@_%B#f{EJ0KCguYho4U*B3XkrB>MK67f $uI5M*~`h&aQDNp{RYTl?6b@1PbN3NYmo zMZg_b4%Si^anumKHj_Fpi9LEYHl0!7QJEw8EBBu07L4BnU&X32Qc?=CV@?8}-^cX9 zm2vN7ILf}sAX_pSa^1Q}l&hD#0o-Odl*UGU8~+&jiH_LW*rdkz()jCPPc+BpN+PJ1 zxL5eP%2D|PLCFWZES|gI>!C{?2b=1p&WCIKX% bn{Kb2~Y( MZ>7gPb5iYQ?%|DszK3S?R$XDtiH;!5VLX in@+toIe^^}+&m+k1)dW7*tFr>os`3QYuYh9Q~R!2q`(fyKQZnVk% zVS#6f@0WBsd+Jg;8ui6pl@ad_0x_!Z?UYgFuu^Ktzz(u?ppr~G;WClmQiT$V?911J zQd#`u)Z4$Df{rft_uJnKs2lu>B8-4Y_0IN-zFLYq69Em74D?vm+OqSJ`|Y?7*AH1@ z``v%Pre|l0$@|9|fCLug8L`AO#0ZC$*7w9`s`r2<%oYY-oL01e&*@lx!@I>^I<9Yf z%@61*tQM#n;XDl|DbWo|NJ6G}e$u!XUrIYJ4;*}W5m3P+#Z&y$bYRmQhC#1Xw!jB; z(K2ML$z!HEbnrZc0?@@we}0fKfeS7Pw!- M<9>Ex2&I3- zAZ3%rf;Y!f=~xLe&Z0)_s{Yp3_*kEqX8=)j2gRNBr)ir-Ks&BE2SD#iWd`uBK>qv8 z)-+4g%0o9wj8-IS`wQfw?%YiY%}Y1k(Mg2O8adESl%$uo#BuIF5sB8rM3G9B#x(bw zAO5!mKw|l6N@Idv)j~LZNPRt-|F?dN&tW@7)UI}(7W$C!1X5MlJ=7t+ylh;tUHYN> zDptDq2F#!C6y@I|hed2?KEjW3{@XGig3)~R%%qSGNAB&KW-c8K5tB{D-XKB;|MwS# z1^~6rR08r;c!by4Y0*YwjW1!Dh#xvhhK5c>{GhXscbS#%@LpVoP(2neqRdsHKkS;U zhnM=l_e$>fDs;lRdQ_kkISU7BeY}4LkH<9hsGSL)4;0`~H(`(?!m_HIF%nWf*tOOZ z&$&xnT=!Nbq7y&-CFo+&jEk|AN?dgHzC7zo=w>?k%~T@wipvjueb#-fH+R1@P&6MU zE>0*f)KiHfpaw!e7C%hn8yF_QccX4o0eoeii69hbBQ;m1n}k~u0|oxiJ2mbzei1NP zg x{(2pqp7$J61?ke0%`F>{wX!3kySXY18Gm z=BKY3+5!YiSrrv1MMXvMpFV+slgje^pY#O@g^gZ&nbqHhAp$ZPX3GwW+ n22z2z5*TaLvsrjGG8V^ z-OEZ4Ex@uHpPKT^&!<8{LCG#ImUurzqgtUG3P@50-9=qCda)-aClLVN`P*GPbU%#0 z;o;#p1Oz>$8Z|_PU$?60=;*|>x%7`_%l<>^=hFi1w3d7|g1<%_p8esshQ=n`i*SAC zOG9aQ2T4vR dB 4b{)lcqEW{&q-03>@SD zG`aKGDO>1ZNiC4yd5QGt)5Z@4w8h1xsMJ&sCD&Ab*n;k{G^3W4(inNq7u9 Q0Ei3!TkWEwJqVR>`ss2zxQv`A9ytfcV1u-)3f5Rp|}OJ+A#_Kf##Ou zb;4LUHG~utL1%&A>#o*Z#ZUej-&EWvy%8K({Kzp(fbDggWq70VFL)jv9orn}OOYKT z*a4Ug?N-~57IURwIWfrf(Hw^~0jjl6RFM=YY)O2A!?$`;5y&YerQ$>e>@xd6Qlp9t zCK*|FrPUHAK;$WIY;xN{kWJ-h{N+!=#)f|I*)UyA{x={b{Mb27x3Ty9c$-t-jCW8y zk}s1Im6lcp$+d7=|NG|O?XAH^m$*9hJs| jD7#{(GH&WM*L@>F5|9v}p!xR}dRjRlq2M zcVD|3wg;#)UUhS`u&~R$q1e*{fLmQsRu&nHK{L0j8Q|rUb#-5CN-