From c21117dc6c015ac5a2a04a66b02091ed321131ad Mon Sep 17 00:00:00 2001 From: Alex Stephen Date: Thu, 22 May 2025 10:47:14 -0700 Subject: [PATCH 1/2] load image normally --- blog/terraform-post.md | 131 --------------------------------------- blog/terraform-post.mdx | 131 +++++++++++++++++++++++++++++++++++++++ blog/terraform_image.png | Bin 0 -> 148463 bytes 3 files changed, 131 insertions(+), 131 deletions(-) delete mode 100644 blog/terraform-post.md create mode 100644 blog/terraform-post.mdx create mode 100644 blog/terraform_image.png diff --git a/blog/terraform-post.md b/blog/terraform-post.md deleted file mode 100644 index 5aa35e94..00000000 --- a/blog/terraform-post.md +++ /dev/null @@ -1,131 +0,0 @@ ---- -title: AEP Terraform Provider -date: 2025-03-31 -authors: - - name: Alex Stephen - - name: Marsh Gardiner ---- - -A core thesis of the AEP project has been that API design constraints can -facilitate the creation (and maintenance\!) of API client tools. In many -companies, teams are staffed to build out CLI tools, Terraform providers, UIs, -LLM agents, and various other tools that act as thin layers on top of a -company's APIs. The AEP project aims to ensure that these tools can be easily -generated on top of our API design, ensuring that companies can move faster -with less overall effort. We’re excited to launch our first version of a -[fully auto-generated Terraform provider](https://github.com/aep-dev/terraform-provider-aep) -based off the AEPs. - -![][image1] - -# What is Terraform? - -Terraform is a powerful Infrastructure-as-Code (IaC) tool that allows you to -define and manage your infrastructure using code. Infrastructure-as-Code, in -general, is the practice of managing and provisioning infrastructure through -machine-readable definition files rather than through manual processes. This -means you can automate the creation, modification, and deletion of resources -across various cloud providers and on-premises environments, ensuring -consistency, repeatability, and version control. - -Cloud companies often build out Terraform providers, which are responsible for -establishing differences between the cloud and the user's intent, determining -which API requests are necessary, making those requests, and handling any -follow-up actions. - -# How do the AEPs help with this? - -Most companies must staff engineers just to maintain their Terraform provider. -However, making AEP-compliant APIs can give you providers for no additional -effort beyond writing the API! Let's take a look at a pseudocode version of the -Terraform lifecycle. - -```python -userIntention := GetTerraformPlan() -currentState := ReadResource(userIntention) - -if currentState != null: - if user wishes to delete: - DeleteResource(currentState) - else if currentState != userIntention: - UpdateResource(userIntention) -else: - CreateResource(userIntention) -``` - -Two different sets of problems emerge and the AEPs are well-suited for solving -both of them. - -The first set of problems revolves around the grouping and calling of APIs. -There's a variety of tools in the market that will call an API method given a -set of parameters and an OpenAPI description (or even just a URL). Terraform -doesn't expose individual API methods, but instead exposes a resource schema. -This raises a variety of questions when developing a Terraform provider: - -- What are my resources? -- How do I know which API methods to call for a given resource? -- Is there a single API method that can be called for each CRUD operation, or - will I need to chain together API calls to achieve my result? -- How do I derive my resource schema from four distinct CRUD APIs? Is it simply - the union of all the body parameters from the four CRUD API methods? - -AEP APIs are resource-oriented by default, so just following the AEPs can -address all of the problems above. The Terraform provider can "know" which API -methods should be called and how they relate to each other. - -# What about API responses? - -The second set of problems comes from reading API responses. In the pseudocode -above, the Read response needs to be parsed and checked against the Terraform -plan. This means that the Terraform provider needs to understand the -relationship between the API response (beyond simple error checking) and the -user's intention. More questions emerge: - -- Does the response of the Read API match the resource schema? What changes - need to be made to match the Read API response to the potential resource - schema? -- Are there multiple ways that the server will accept a single value? If so, - how can I be sure that two semantically equivalent values do not result in a - diff against the Terraform plan? -- If a boolean value does not appear in the JSON response, does that mean it's - `false`? (And likewise for numeric values being `0`, string values being the - empty string, and so on.) - -Many of these questions come down to the preference of the API developer. In -fact, some of them cannot be defined by an API schema\! The AEPs encode these -differences in our specification, so that tools like our Terraform provider can -make assumptions about how to parse the responses of our APIs. - -# The AEP Terraform Provider - -The [AEP Terraform provider](https://github.com/aep-dev/terraform-provider-aep) -solves these problems. The provider is a template that can be pointed to any -OpenAPI spec that features APIs complying with the AEPs. Since the APIs are -resource-oriented and AEP-compliant, the provider is able to create a resource -schema at runtime that perfectly matches the APIs. Did your team build a new -feature? Just update your OpenAPI spec and the provider will add it without -users having to update their providers. - -Users are able to send over arbitrary headers so that the provider will work -with any authentication solution you may have. - -When users run `terraform apply`, the provider automatically knows how to -create Create, Read, Update, and Delete requests, handle authentication, and -return errors. More crucially, it understands how to handle the responses from -those requests. The provider understands what values to expect from the Get -requests and the proper way to handle difference checking against the user's -intention. - -# What comes next? - -While the Terraform provider lifecycle appears simple at first glance, the -details contain a deceptive amount of detail. This is detail that can only be -learned through trial-and-error, which is difficult when APIs are often only -designed once. - -By building out the Terraform provider, we're even more convinced than ever -that the AEP specification can prove the thesis that client tooling can be more -easily built on top of consistent APIs. - -[image1]: - data:image/png;base64,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 diff --git a/blog/terraform-post.mdx b/blog/terraform-post.mdx new file mode 100644 index 00000000..b0ab672e --- /dev/null +++ b/blog/terraform-post.mdx @@ -0,0 +1,131 @@ +--- +title: AEP Terraform Provider +date: 2025-03-31 +authors: + - name: Alex Stephen + - name: Marsh Gardiner + +import {Image} from 'astro:assets'; +import terraformImage from './terraform-image.png'; +--- + +A core thesis of the AEP project has been that API design constraints can +facilitate the creation (and maintenance\!) of API client tools. In many +companies, teams are staffed to build out CLI tools, Terraform providers, UIs, +LLM agents, and various other tools that act as thin layers on top of a +company's APIs. The AEP project aims to ensure that these tools can be easily +generated on top of our API design, ensuring that companies can move faster +with less overall effort. We’re excited to launch our first version of a +[fully auto-generated Terraform provider](https://github.com/aep-dev/terraform-provider-aep) +based off the AEPs. + +A pipeline showing AEP APIs becoming a Terraform provider + +# What is Terraform? + +Terraform is a powerful Infrastructure-as-Code (IaC) tool that allows you to +define and manage your infrastructure using code. Infrastructure-as-Code, in +general, is the practice of managing and provisioning infrastructure through +machine-readable definition files rather than through manual processes. This +means you can automate the creation, modification, and deletion of resources +across various cloud providers and on-premises environments, ensuring +consistency, repeatability, and version control. + +Cloud companies often build out Terraform providers, which are responsible for +establishing differences between the cloud and the user's intent, determining +which API requests are necessary, making those requests, and handling any +follow-up actions. + +# How do the AEPs help with this? + +Most companies must staff engineers just to maintain their Terraform provider. +However, making AEP-compliant APIs can give you providers for no additional +effort beyond writing the API! Let's take a look at a pseudocode version of the +Terraform lifecycle. + +```python +userIntention := GetTerraformPlan() +currentState := ReadResource(userIntention) + +if currentState != null: + if user wishes to delete: + DeleteResource(currentState) + else if currentState != userIntention: + UpdateResource(userIntention) +else: + CreateResource(userIntention) +``` + +Two different sets of problems emerge and the AEPs are well-suited for solving +both of them. + +The first set of problems revolves around the grouping and calling of APIs. +There's a variety of tools in the market that will call an API method given a +set of parameters and an OpenAPI description (or even just a URL). Terraform +doesn't expose individual API methods, but instead exposes a resource schema. +This raises a variety of questions when developing a Terraform provider: + +- What are my resources? +- How do I know which API methods to call for a given resource? +- Is there a single API method that can be called for each CRUD operation, or + will I need to chain together API calls to achieve my result? +- How do I derive my resource schema from four distinct CRUD APIs? Is it simply + the union of all the body parameters from the four CRUD API methods? + +AEP APIs are resource-oriented by default, so just following the AEPs can +address all of the problems above. The Terraform provider can "know" which API +methods should be called and how they relate to each other. + +# What about API responses? + +The second set of problems comes from reading API responses. In the pseudocode +above, the Read response needs to be parsed and checked against the Terraform +plan. This means that the Terraform provider needs to understand the +relationship between the API response (beyond simple error checking) and the +user's intention. More questions emerge: + +- Does the response of the Read API match the resource schema? What changes + need to be made to match the Read API response to the potential resource + schema? +- Are there multiple ways that the server will accept a single value? If so, + how can I be sure that two semantically equivalent values do not result in a + diff against the Terraform plan? +- If a boolean value does not appear in the JSON response, does that mean it's + `false`? (And likewise for numeric values being `0`, string values being the + empty string, and so on.) + +Many of these questions come down to the preference of the API developer. In +fact, some of them cannot be defined by an API schema\! The AEPs encode these +differences in our specification, so that tools like our Terraform provider can +make assumptions about how to parse the responses of our APIs. + +# The AEP Terraform Provider + +The [AEP Terraform provider](https://github.com/aep-dev/terraform-provider-aep) +solves these problems. The provider is a template that can be pointed to any +OpenAPI spec that features APIs complying with the AEPs. Since the APIs are +resource-oriented and AEP-compliant, the provider is able to create a resource +schema at runtime that perfectly matches the APIs. Did your team build a new +feature? Just update your OpenAPI spec and the provider will add it without +users having to update their providers. + +Users are able to send over arbitrary headers so that the provider will work +with any authentication solution you may have. + +When users run `terraform apply`, the provider automatically knows how to +create Create, Read, Update, and Delete requests, handle authentication, and +return errors. More crucially, it understands how to handle the responses from +those requests. The provider understands what values to expect from the Get +requests and the proper way to handle difference checking against the user's +intention. + +# What comes next? + +While the Terraform provider lifecycle appears simple at first glance, the +details contain a deceptive amount of detail. This is detail that can only be +learned through trial-and-error, which is difficult when APIs are often only +designed once. + +By building out the Terraform provider, we're even more convinced than ever +that the AEP specification can prove the thesis that client tooling can be more +easily built on top of consistent APIs. diff --git a/blog/terraform_image.png b/blog/terraform_image.png new file mode 100644 index 0000000000000000000000000000000000000000..e5d65ccb36bae9a7d6edeb26520f661512cb9ea3 GIT binary patch literal 148463 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

O>%B>(=-gTaQ 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%0D7B)5=}j7&y!sM2&vD^?OVpBuQZ3 zL?}>~YI(zSs8-ooOG2kbe`{n3n{MCMY|h(NB%PZIFBt+7ATB_VfQt9;rWFZzU{|@* zgEK+NZ_w;htf#b+M+R>fybG;AgdlJ+%rh1e;v+APe7i@PsrMvD{z~doMz&Y)=8kH_ zr(j>BV{ldg()*AsZ$Br-eGT|&xw0V??)?Ya3656M-x2_yBNZ%G+WjjFPg)=DSDvA} ztOiXjZqqxmc2MB%T3i95`;X?3Z5sE^C@XMcy$7?=iwao%Dno(zXydcu&2N7k{9q55 zy&XzCFArs%cGDz%6?udYm{70-U~OE6Wz7N1_d!ARtMhb0v~PP3_}2*rxpIVt;Gg5! zDruB(0sC1hc!=})mhHsqkQ5IVYJSsKhVIzEKyMT=EqT?Nb>xG;E_mr+cf5b5 zXOR@>M(>(wd}(SkUtI)EyD@V6f5<7wzckSELKm|Y=%kTiuvW`KX&B(O>lZK&#yD=0 zqt(>Dzn}ErNqfZq0n#g=+tg^AURo4v)EcbpPu$3Lk)H<>oYQV~snYX3d_K|3+T_3^ zA;|jKhq}u~^#Nd|y+jRp;q-`!4ZrI%Xo7i%=l@qe|ayuaE|3#O}jHGEj0M<@JJhsKOAr)7}R zMFF*#PP|6S^$Q%bH+G=!P_AHsd=M=PowMR1SjS5xJqZ}TJIohyBfVnR3#ts0Ag+{w zB?f=OoMrt`CoA>&&3ZgLP9ip4j;c|qUGZ4&#};r@YklMZfiVmwv)vjrdHX#-dUhQ| zAe?9%_g~uea1#=4NlJU?;sE3OEPOvT{dOuQm9rBAREgQdsEvGj_?Umky_!HTP($<9 z-82W=iiGrCDb(rZ(>hH43DfwMrKM!|N4E4Qtp_9ef%Tv}BYzU!xX!k2(f9ZfTkH7a z^D*1W{?kel`I%hiXW`PJ26Ghj1 z`SmHJ^6Ht#Cbc1Bx5J?Wk{*EK0xp?~kt%aom?gH6G%Mz!e0DtOeBs zV#(i7Pl53%kL6RcCjHIt9ed4h)#&I*Az~1QSzP-5I6zNka=J;9Wxv2^MDM#$ z2Gc74HAW%)t!c$rZn^0SUdj!Vc+G08Y|KV}xRtfY>8XmQlma`p~=!jqveTBJHa^!d%hN}cr3j?%TLg?cH$vQjbMI?CZMAm*(XTN=G98U!|`VO#0_g;PMHUNVcQ2+@rkv{t~!l49+ zpINJd#4QRaHeY;}XqUtxd#7T$Fmb6k{MAl)<{XrQ#d_X7UMp-(C=(9ZRXn!HW$hl? zzX5~KK%mIk!phTI6vjQ8&-VjY=(+UxqfFNM>z``;)xZg5X-XIvP=qiatzb+ENDu-w z>G=ycO4rBfs9=7U(+~O;5CvfHw+ko+wQrCW)KrB2S>C6x-{=!;Q=Bj(AplL8cGRxhv4Q zZ@M3qhdj3$()k&d&D3-_j<)8rj=8tgk_?YP@u`9a$YJ%S+NUeLL*w+#UsaF`IcxCB6~Nlt_dW*E`cEv!QHi0b-6Oc1E}y=h7z zug#yPhHI+Pr%Z0P$*bgg`Aatc!fgoZaGDNv=o-FH#c+e+3*M>OZ>S-=h$Qi_lEMsQ*E1mh0$dIZ%X107CCZIvfbozk``QXA_8pi z%%F&E=;w;ux9(BZzff7sEgINW5Gnj+)HT`XVPD}(+k^@;QRT4;NrR_afjW8VI)NXr zatqdLSARIR1`(rOBd?uG({ZX!5w_uZwZ1<;+`h5qNFYW`cIeOtKYEVQbtYzh$b>H0q?+F}0!{&%Q zEQQr2n9IjkrgRX^<9W`#{!dH=ia4`j%1oV?oumNFe7nvLl>qbJ7A^T*01ozH#UeEK z3M;uh)3@ThlRdxF^qbwNGlUgCr?vl_5eOw`NY61=Sv`clBt3`E4A* z;ybpf0B<@Tn=t45EW-;F$T-671ra{8O9uO_TWY6gjix`qu~yXLN9#S-S4W8q!*e$~abo%V-@K$7uvQmv7wNAQE~nEY2?`MhC&5 zwEnE(%tMzi<_e;nNZv zBuYOzQh{=ZaRlH~MW=Yp``_Upn4)X^ty3P^b}8GxRrpz~?>zb6OF z{u0{5{c{a!7FZ-{2t|W|#U=FGP`2Ta`9XupT}%`35-!2`gwudgCP3|5FY~@z0aT~2KbWJo%RtI0^w`Ap_ z^C)=H5RXqrnLb%)+)3XUv2MM-(ST$xg(#$#<1?GgS^Z29Z6S_lctK&W-itF6j;)UA=S_bd=K`yR?)LRZ-xdP4=~uRx4zS0mMRp zDZ81Q@_0NL4t`=5t)%;aa|6YuP&;f`B>J76l1*=&7=|t*dtjRcM&QA<{$1H%n143Z z96n4+;-x|N58t_nVojK(<@4ygRbmKhX*QfK$=G=M!E%8rLO$UPTsc?vBW2>I)A6$& z*|xE>D`{^hNfbh(QnoEaZy22S0gm1NXQiVPHHVJ3VS*#wW_NPdApZ^X$V54>{7H%4 zPK4)wi&Qdb`Uf!ct^w@Khqsr`q#e7gtO;x|LBxT~pe}}Q8(488aNYFf>Xom5^^gTx zP+c+U3?1cs#{wqls^MKPeL!~I_MWbt2_V`$;R|P#!)IBB3$kW6E zPJZIL^4(DcF)r&wvV-+a<-LsM)zedL-p0}LpiEc`lHR%M=^WHj?zlo29- zQ{$@C*(}oug>87voSQDNHn`-4xn54q41ys)g$n1-exS6_I$>gO*!bTnjsQ{4>R@~A zA!;Ej377_LEw!I+%Xk_Z|2RZ;J}{NOlb4SJvFBaNQ{ID$N?;$1;Dh~vNF#L)$`3*# zFUclA_MOMy>%KJCmkw7c0grbB;A|mrb;g?2iD~cgRc^<7=pj!XH6x9Ph)Ao)p-)z| zuTwRa^CANS!(g^#$mXKkXkr51sKDIct@l5<|9f8~&cRxSBWi$eKu?ncFMx3CFBF*y zZWuC4(O3VrOk0Gn!8ua;Jy3>rleX&HHsOU5A+Ji(S;y#VT{Px-XnG?i-a3xz3Hd$K zwL~;bdghPvJX!x32L51ql4sf8nlr3ag?}H;b={k#Uc6I>WSG?SPn(wT1_X?me$W(vz4ve zJV(j}SdNAI#Rhf9#VsS^vI1gNxXO=eGpz^TC~5aB*Z9o%sRV-n{7My7Jump9c*q(r zuVwa|m}QHKhRl3(Va1`PPLZYPgEu00k?!i*Bo~jB-!gG1CbXN3$Jk7`l**QckW3+P zj$E#o5@|0i!NS$4WGcH59#3M;$mY541CQxL&hx}$Q1L4?xvn8ZX2B|X(&S=A44l)G zg5?TbW$0&Uuo)f0E!h;~rIk=Rdarsp>!{Q(a3?=3rP2Kw#x77sQQt~#2ofr>&>qEnX8(A z>f&_`5084kR+FGbRDtwAp!aCD;F_neeqHnqLMdj3cf&gYj`!X2K$7bh)pv7XtixEN zP2p}0Mf<>t&$$w4d3=^4qA0m)z2n`w317b2U{s7NQqS)PMS3MShnp*>DK$^)H|-mI z_hPqE?!aCfnXL}HBPNy?L0-$wiB=VGX?|^j>%NEzlhAq`otHUz9UDtsA~4Rb=9r2O`QLEZlqri5r};KV#2HsR4y0Cwtb-I zE&pF(Gj@e%U2EKBx`e0zAn5AnGTqB?$y1rUsoLKjOhS=w60MeWR$$-#bW@W+#oLcl zK@?Ve#j746*jEoKlSvrXT$G-IMnoJ@!Zh?`V;IIzpu1wrY^oWDQ79SWIs3-cw<&4V z@P-kMu}Skh6?u?x=k8H!xj(6a$==+%TR-#67gP_jLcgzya|vqQYB#)ghagkod?>_y zm{E|ZD>eUqxu8`ut&%rig4l`t^nRsMGr7dK*oADcCqYBy;#8&`a)YKOWnACDf;3oQ zfH|wwUSeBiY8&Fybd|i1{tzaZ3bf%c1fS=X?ovH{Sr^v7RHgg;zM9A5P;Rn5*@u$S zNB5GAB!I_=6~4@8SP`z{8{Ci8C$m=gj~{|#$&m?u~?arFS9K%<-daAUr{-hgtzLmr2xQKUX4#qJC_PPR6Loi^=~ptn$Dv2A~Io1 zpekN@?vfO@1$)|`u>amFD$Uh9d#BN#^E+%XJ#Zg}4D_2IAkUZlx=pP1P)!OAP0Lk3 zRsj^)2M1xyfNyMXb!I)?7I9Ych?Na^?uC`WL;N02q1M+%dA#45$aN2aA`tUHO2aPjf2MBnvb~&cbI#Rc3kMzV0XFXH6NpjxAw6Qhea> zVXF)Y5X4{yth=v7t1Sj_QpBIdVB{wL98ADQB&|H9p^v|*Z3h?SbmS|Aie>-JAo1VH zryHZHSW8C-KJrTb$15GiV)ut=x12D_gPE>}z}HbED;O)Pc|9_wlI4o2BAOgQcGIjC z=>>~8jVxeH_*mhtEG4*ER9X>tjJ^h~e=wfxsU|?h`e7^CcyRl-2~p1sdfn#*7L`K9 zz}I+eYCpU-`@eGOy7_!7wq+%0N>kPXJ+`4`i52a4@{KkpmakmZM|%4BW;CV%bItQB0vm^Px_?eMvPE8{O`B)AA2g z!yWlHicnvneyV{*hr}NTWolZmGfC^BArJD;d#8CLAE~lodQ;3lOgE1HRj%)2Lrp)X*+`7o`vZ>v(m*zOm_ej zkdO`rkWsn19)Tt7$|yYe^Gx$qpE<7GtvmwJAzg$9Akk82(D2QhftOnhuq1j7@i$NC zcdsxeY=>5gS#C`9t1_f$S|pLhWQQfOD;Ew1*5h*V-_XdIJg)yFupYuCg|*8sr)Z@m zC8p}WBv&ZSa(~r_?jRRssU)fPXTY`$o_)gfDX=D?`z{RSFYO8JSrn^Z!Mw5>^N?o> z5OGhc++8+{P<(SgQH{tmGp{?;lNKeynR*)j|9iKB1;9)M0R;HQR&W_U(WHmF|M$GA zE>&RdGfMZ}m<}jv#Y)Ph$Qh^R)1cXCl#!r=|BJ*jREmA&h7q=vip(>O9sFcc-!zWs zEYSoHf430;u)#TZrbJT=z&Lye6pr!Ep zr0Q|kh%XUwu0$z5=a+<*>!A^=D6Zm5uCGySq%z0q9TwJ-Ok%iCDTs&)Z`5*fs0Z`x zb#xjBIe8OEHm)SI39BQVz!&_R;6I-+a6@ig5J*21pi{gkzAMtyJnKVwqP`jf#v8oh zXgTC27L0A*GqekuX*+(f9ZD+e7Q3EY$^5#QjyuTKe*SIt*}SHL4FD`2Z#JAkLfPQn zCKSfY&dK?)^U-bWuiA%lw5nBukCJ(XCGkY?tAZtnP6__6#5whs{SMeu-2S{VtJ3ik z?oHx&l%()Fc_HM!n{AOx8FY`N6X;BK%tktx7wwC2bN+F`QJX_g<_l5z;6`y9C{KG! z?Ehtl6Re(#8;Gt)>Hb@$xpmB;1@wR|L4|J3TZhAbcYCy6+VgDK*ZBipb}@%}-b+GK z(u4Rn7w9%pn!lw#Vlq=9Eu8&~z*XXS$Q%#z4;4$<9?hzdAX(fb%DH5gXr2&8dQl`S z!N|>By^L7Nr;tO*ElBYZOs-cic$ZjPTRS~GF1zr*(H@0bCjxRdn?7m{zcdl%nyn@^ z=733ni_?!UL;b-8@3G*pBJt>W*wv|q+k3IX_GSWPe`OM3Z2-U~d5A(L2!C8gI>7@U zBmArM1<_&6$ntYaCJp)xLE&G#J^X{^*;w?)hUL_KA@&TbU{4I9CBsRT8;8q|YqO-pJ*&sPY zxuVts0FBki(fiS2E5=Z198J+nt6U{Z-DvLnK))7E)Gw3B{kg#vpOs*cmbV(!9l2lX zTRJM!p0%w|0I|>K9`aSL&o146p`AR*{pa1^n*Hyr6#T)|Db)H405Z(x@hTpxl}~N;gI}dzPnr9j7-FpnM^@M-pQ3+!q8^^aUzZ5hdCa8V@k9LOoFHSJ=Fx!fzN z@RUV+g~y6Dz;Q$3`c3R^pb|Hu=ZV1HlzXaTIwf=hyy$D0%g z<-+6sW$Dq0i5W?Ca-ySRs(m)f$;mO}PqSOG@iGNZOtsfk52AF>cQYktOP(u1G9B_D zv@GwaNt*sW`Q6>$*P5%pi+dOvzCJAbcKO_Jj>+8tAU1 z{2dUIO;t_*ssfLIjVQ+yr-VJwix`5zUw^vJw|a4WwqRG$w(|64w)e`%G#ZW#(L5NL z<`W&>SNJ%U5t2M&r4jGu9q|GqZRJtxGxvtKsruvY9RU?aQ)TK?hL`)9z7>f3Zs&+AYVx zTzCKp>z;H}Sst(!e|s@8_F4i3kS<*jaG1Bii;m)PWQZ?ZuHg@X;4`*X=?G>9KHa+h z=9~HU%baVFoW)Y-`Wf8nl8TFq9T}h6&AQujJU^{G{`GWS_TIU?^!UA^3@^Lwb=-Ds z0Y2OSDRjb&HF=AkIOk4maxmegg?cZv#Ia1~g$g`gP&<`L;@2w*7B+noOGDjO41%r} za#z|Z-=`IoLaqB7H(Sci-^b3cS^2%J6b4U-Z~ViXYDR~%W^9LA)oMpsWdx*d6@SsA zqd+Ma%c35=8@5!g{tz}Hz3tZA+mbBNi@XeWZax6{AZ#MJt6=YVz*m8b0 ziWUnWz>VWk#=#5N9n3=C;t35RO*-SS z?QHq*xQaKz-Nt^YX6yzvBCVJFYGgJ~_#%kU3zoii$b%Navn-TJ1nt6zAtaPVMFvK6 z&MtA;sOE;}$F+nii*<|7Uo4}UXYSnHJyu_O_%W(|TBJfrdBN@Hni~awN{^TWq*qz? z`PONqKd9^%pRYo`_hRD-Crun#Y2Y*#*$(z53kW-g(!Ey<`|$qDDQwI|VLlh^%r1gBKrj(+!Gi7)e!4MSWMsBvyQ$xwc8GR0;m5eN7GULC=u)9(|3oe z?3dW=J<068asgL0SwtlkER^PEKj;xNf$x=`WTd2E4=Y9)+o!7aW?lK)*jEi%H|3&| zTzHuJ*MXr|G%?~&R^B^Ho)(YId}3Gt9UsyIHZgvkw^ZkoQ_7;}ia06jRSJ)ld*pRd zosgC6*=i=I^gD1Ss{O)O3?mdrxd9$$AEQviF$@XzoQni|C1!PnE<|ycD%dM_XI+D$ z`f$?I!As4l(|%i3C*IyJC0ANp$`pq7MDI#^#az*RhB`1nJX64Ol$yEnfy7Ys@q*{= zZTp9z_fbxbON^7`akq6c0pSLpA{62|mmY;~=V$(cAxEQ*FaLnxA3CiHi?)2`sA8#u=jr)FkyBpZ69MDUfb z0X|Y?N5T=LSmF7@3+3Wr@<%XZy z>Uu*z6qc8VmoPU{U!{T}Fs8jCyS%2$GSY^}gS^S+fj^Y? zTjkRWi8QLb+_Zu%IadwdBt^DjjViyH=<4lokp9nVSE zxI2o<@una7IvWWBr&Rc7B!ZTK-8I`TI(N3((Rckw>8pL6BUfAdGif$ReL&B;iS!^k zq6)#-^;aVGT0GAt)2-0c&W^%a4SP%so*byXe?gRbZQ7QX$>Rz-4IBz^sVS4!euwRt zLqJ{?oYF^E`;+2sBy|7xS6nR)GV4wr?^!lE`7HGBJL8S--wl9GIH z@(J0m3G&K-uRt+qCghX~Vv*V&4IjZ!`8^AIXUdQDN`{jcI}ZW}T_$f}{sTe*mDs?iiKj=T zO2TWn+dj04PlN|6<#-7R8NPDtCsFP*hQ=3tp*s{M4%$vGSi{CTI`AbY9i1$GO{Io4 z@;Er^xlK)PQb`U}$h2(>^7S2WYadQNipPS4D5OnTIc0bP;LPHI4mp|W5TkZ#drT_T zZ5w3j(XZk>h}B%+tZv$VPj<85)X~!zWL$0WvX#r?s=32KTwUm4THk31OgKe7>w5k+ zdydX$YHR0f!w9l4Cxd~pL2N+$4Ki$0?mdG@uIX`H5vSdjGcEunRnyX9NE2{MG8TKV z^WM1JQfV)^dLBO1&&5a_P)-8HORF>@SZWoCYvNti@? z(S6R@9&EKN96I%>Az9hms)>$zbMsv+DE8`K^7Mz~`0Nn3wiL&QF+n)R>j?j0N!m(+eAKHgaD#s9r$-MZ%{dycXOSpJ+)d zHEG^uY)R7b5IDWgDEry+IVCT;kmqc%hTR5TQ6Klpjfd@Fh5uXaq!ver)rE+{}pR*MmbtS2A@wfP4eJl(p#42NW~~m zy$9darawQM230T8ybj;)#oYP*a^@L!jJq5wD=k$XAV#X!DDc-Hk&cd$CqG7X$EQU2 zM7e5pCJ$>fUN1-PkXB`s^$XKF)8iQl~BRG$9sok zu^C2mK-dy}MrlTUy9xZosC%R4-6yo&ZddzhyVA z9|w|xq^$y0Rt!%2~1FZC(BR-k3kX?D7lLKQ)+oIW;2y6I`Gn98F_x6KWad#|KFBxLr9t?p2aJoth61zj@M*k}Klb=((@=$zwIu!peB+7Hed!Z<6 zlw=!eXR=uBKGJ7O_=uLf$$`Q)*yJ$D>n_RB_J%n;?%N#Vm* zh4R2aFl{e%g?P$=d;W)PRD%z;gUC%AW5hk9_-&EFhbhfjf!}<-J8k4KbO&5yXLpyB z{hWcfcDKkYHL3g6u+#T;_Rk|OD(Z$DpreIu`9#{kpg zFkCaIf)nMmF86Uv@CSj!(1^XAZVbQlK=p866%4+zxaTUF&(}SCH2uITl6$?AS=ix3 z%hG*L-#rr%5*LHdTSvOm{W48=eV5wUiV_hTd<4?ph;Py?{jLZ9)Z^R*;C<>ihbhq% zk(N)6!WrS_bShm3ncnwKuleP>t~B3TA%`@7h8su60wy^~mC+WxuaEl$ui?E{Mo}kA zJQs{!1t>nRhEb!;{$&b9_@q4W<~i!^CzyMzWFbIh`ommGzcObY^%&!KG(MH1eV>k~ zb#H1;;Vl0-`M~s!AL>YnO=N|>V6Qpu+n&p3-Ux*e45E!vvZX&b)Jk<_u4b>0fi%g0 z&hdD7Am8K?sVY~{VERi+NGu_tMAN8Ss|1@1(QDqQnU7|`Zp{@+22jtPI$V&u~*dF6;o4asiFPxX#C;CgTS z%K$Ip15j%9GVoV#lS0C7fw}QhXY=y zhMsW50S?cJU)IZ~%1ryeR`iCKVV*7AXA%tIRE=xB`m0aR1WmX3r1Tsk-f#D9AHl08 zK;{4cxO&T=xVA1@v~dUy!QCOaySoNUaJMA51b27W;0_7y?(PJFyL;mN>)z4jh+%poC>FmFr8wnOrx$-|esmCoppzG<>1LB$N$@@nGcW2yFj0uMXc7ec*> zeXPcVwY-}io4l`5i$Yq>mtGHlD!nOyvhc*71R4<*S)6CjhpSlH<#0^D{7A{_jNo7? z*Nl<`l9zkoohz3$qucz+Ks1n_>v^h?lY!5RqT9o+#*VFz$8WO5`*TjWX;=1%i&Z<8 z?^y^(BEDa2egg3N3hUug&>;TnOc6eY$lxWv_g)8m81dWF?E22S&%L8=MMB?>x~Gfv zLkaTzBWt4pTSiH6S&no7i(~8a{oor4GXdta*J5>6*CYV2r{JHJXdy`L0uL^fCI4Q| z`u%AeC8@}OS|mi24o5a53my;?Wa)hYjc*Vlj{i7Mqd&j87oM%B z1gWQ9o(p6X6oeUoLa1R}GJH+lI`->EQO3B~4M&)&gqeDH) z9DadDt)}ATR~^tjh`+9muBp+xnm*fmbSV9>2rKzWW~Hp&B}PDo=DCdEylo-U1HE!$ z2)5E?QGm2B{Np3G^nUP&gz1eU5{uXN+c6D2oZb`nY*rxFGs5*JseV73j0u8&_Kym(~I%S1RmH2ljkSITDAF zkYgcX*xMkxo z@uufdB<=c+_wA!=VHToOiuo5Cu%xFa;7tghQ^Kg1E;w zCwV?%0;2p6X*^$ldR`vUM-A%Ys}vR#^dL$HZ;!0I@ZT`ZmQUqN8yV#i_Pd+_Wo!Mf zVC_V_uqk}_s1UxFKZ~V3F2drdb#<;tYuRtldZeJ0cY4D>SDYdz+s$$&t%aI*? zojth8_4UO71&cAe%t*E5FE&`GS2L``QLuima zg=nX+KSaNWjjafJ+zvf~J7fAsMh$PMjjs~qd^afL5%Jh71PaiLtu(c8T-k* zz;hj5PdicEYb<0up>DP~_6?DKZH`D6{DUD~Kn;O{%(Zgk83eWPu?=;~8gOJVV#oRM=3>{!Uq>2nFHW7sU_|bZXR) zJ@WR$I1-Fn@@(-Yit@|q(Bx*-Y+pI=W`{NsjGj=%n%u3(3V$MhGIR7B7zrGRI(m_t zU>Bjbty6DVIx%|_rQ2vQ3L<4(1kOK-x9ur}bsIS8!V1x(JwYAAmyHr1w*tdB0Q|c) z#C+8Ny1-)t!tm*k6tqw}%uTXf8cuR7C%^_q>^0l#+0-oVKEjqG{EO@@R(YD>K@t%T zL_BuNYhHJP&0vBzxJf+ad+GuaKU4?PjeGV%-8;i}C^KV8w=j~Ek6w@L4zFct1HCkN z=}j)UnA?FxIeCrP7c2Di^t)Z%0X6R9d~V=Oti83mYlX6xjGOlI5d&J3rUqk$OI8y{ zpzKS!Z&3aH4Al$R`^^B5O$u7AOkce-+_P-0uW}s7;DU}G z2*ytnFl$+PJWMw`nxz}ar@4Fhve3&aA<2!^O#{d`CiGf&s)b)ajmRri;i{qbBAA+* z=DuMMad$rWs%WlXJa|lXCgED57o+jfsv!CV*H67&8ensm(}Ew%yYYXCPPQhcxyn+`$(w8;}Z?6 zpwT7Z13$7DOu>70exvHl5ph0SVWeO87|j;OBgQ$X4V<| z?DyXjl~*4xO`%SpufA4lR`*o89Hd0Z*6gnxcQ7Eq9$ zUB?XeSp|@tg{2rab612BSHWzwY?)J_iQdNc`3|^b=zhM$xw;dj@gGn);BCrx)xC;d zW6_t*+I%gAl1f&W#wG=|Y>=bJ>#XV0f^MGffk@f#^oLr?E$PZ2hM4d8Mq`gr;lGc5 zTa!X1Zj_m(c08^&LKu+nRq)c9Pi1O+Ay$TERFBNy88jI<+?9$Eg$GUj^#6>L4Ba((dh|Uf zP?MH4XXT8=v2Pyq@LPH-Ds7Vn%*y0T_nBt`xuSb{+NQ8PynT@#~z zGqGS@@gR-8HC|owE+`R&HVhE#A0S2pw*rpm4wV`e^jV?8z~y9t3dn5&IR=9p0kR}aA{y`^i&ivky~EwoqZl;8>O_MTQwWp&y4PwXwBWaw5VTI9 zUCceJfk!@MmZJAzU9#z2JlcuN$jW^G=pi*ov-;b&Z&4O=(i?hrX`Rfy;wJ2&=(4vC zs9?%9k4Wj=WOD)12TZJMO7w;3-Ya*jwu=&@$@|(z6uzzqhs<;Q8H)_&_51xw@rO=m zDV=5_+vD3>3=p9!^=K6(Uyjjzb2lVYq)oHTbL}U*vKec}GACMe27EM|_e1J)aLe+&uP;x)J8R7Y9P~s^ zW4>V6x2cdA<|WNc0BFoPDN(%5kHV;k${H@8#GP3?O@Osw`-;WSoDhYt2(90GAF&uS2;ia3flyA`wj2=`{z4I-f8N)hUyacKD(<9p+5 zd_*Zr>?~B)QhFc-n=q&{f_*COc^zX!l?g6O`!aswbBhWoR>X%L)fqSjkN1R-QqZI4 z?&K+bjD~@YFXF_5;&MnLZ{ijA)rInfF*exP6{&YjheJ2% zLRSf>>c100CH`tBB@)gi|18qlY_uPVx=)$(YD2rU9WN!Td#P#ibut*Xq5CV(S+8b( zWBAe~6e;8htJhZnxGLJASPExi@MxJN=WUy(zM0Di=Q;Rp~s88U41L?!JQ3j`!Pct+R>NA(B2~ z9(XykE`IL~dzdAJkC_j@ch;-49n7Tzy@YYs?`^fFTyIw`!<+fdi z3F1=<>^Q8AgZ77l8pHnKAU|dY&=MxU-Mzien92olwhWrc z{>fY)^!{Sihu>UHyv>78i9$0A_4MP(8yPw3w`q@fPPUE?+7iSh#rbR(>!i=0KW3M` zB(JUZ%wT8fZgTHhUUO^N;X}Po-?9wu%Ov7u&+fwjiJ0-jL}MqNT2Y1;G-!g#X(l_x zMH6UR?;M`=zGaVn#>}ab#)YX{yQ^J8fqR;^3=Fk?YWzT zS@Do7GO*(>e;eG*qG(+4%wM@GWZvZGns)tuaQNDF{C6C$>b&^7@9IL&8x+TapaLQN z$pROwX3#o!3!<%#&5UH62rwP=RI?87@whp#igJHKf@AS{_1qqzCA@Kg9L(X9EM&!@ zc6yt9KbCshm%-F!(|+^08OTraIMx2548b82MArIaC%kdZeU#xRkV4secDo*(0_@>G zufC%Gw$C#Ls2dSG^bIJ3r`aNb!uaeFZ&ci;tUW$~w%$UX#92ysTu2aCe+lL89y}%j zgt~g`ri(BW`b97LdV9GijfNsZS;3u%)+3qLTWbDS(-{?LM>9iaw3)msmtMgA`jfMI`S=5B@9G8juL< zp+@HZxad=~E3~*|GH+Jh@idmnQ*_g^y*G_KiC!&hvMJevfGC2reExmJga}Ecy9$dE zVv0h<(S$bp>oT{I2h8KOgPxEkJ{>>Y}(MR?>n46owz2l2G%Y(TCiY%xn z1+F5ezI#-0F)TKkhW=iL!s@F-L2a~rtSw1j;tX2we!dvI1fmh}c7<_L?Cn?1?@lr5 zMv0zL8*K5EOnw*025%U(e}nGiV*FR5&>hi5*V*d2!47813oBjznGHpM8S~<1Fge;BTPCxe~7Eycl z=N3^FM zA%^ws@<&DwBzU4!T#1d!Ck<+kjr8jVeROceL;g=~Unp+5cF(8Dwd!qBp69o1WwqS? z(B0iSk-O+7ue_GJIgDfNk5)yR*7D*XUf$GN;}80R)j#eo9>3bp%k_IxaH*`4#v-L8 zZsPbOv5agO4J5WhfKM>Dq`~h$QMHO}Eu3wb?HaD>j~KJoqDdRhaARO!eARLk-M|fT z_!5UPMLQ(B>!D}%i%@r!9LtTgGnU_Y;2k}R&DMgS8j9?ARIGh%b*|t$VthkRx1-b} zg4>nQV;0I6|2vMo7rdK)04;>1;S^cdgAvdi#K0FD_ICtAu^6GBm(j&Ua)t!m#eT_r z33>BYxIJ5pm;$vLF0P(velYRcD@$t;Tjk~%H)~yUoJhMtLxFO1`uwgu<(4~KR#0}^<)Yu2w7gRreiULN^F1Gy{QVTg8k!D4_;?y^sZCz)AbVHMoH4nU*vwnADeXkZtXqa?Ct&R69f4T_MeAkPo&7aC9X}fo!7R` zwp0BqtH*~uDiMc$c9JdnkM6r0BiN;kewK=w$^_tBqFT6>#dUF}{v49zl0f+3R5UUZ zCcEA|0xT7k(TG}Hd z|N7%okNc~sohTQoKtgmXIvpmHz5IJIZQLHe=1k<%R6fjtTF+DPv1N9Br;hOdRzuj( zJT8Eor|NnjjS+5MT9Hu;aBA_;^don{O0RQ#o{yLjw+NqT1DYOp2y>Ln!`l~ z@8vigIE3x{Php)Bl#$WVD2-ttH%{?&Ti84BTSomy_W?WHtEuJp^X>xs8Q?!XKYEtT zlA5EKCm!RQ&SL<+>s!kU4&dXS92LA>() z%lm1lQgN5HT9$=0oYf;t=}kM$YH)Efvz_0hJC?&v=Gk(y;mv;$XEX);kf&?kZx)}P zZaLue^=ld{sBJenT~U;d4lmerwL;y(H3!u-*))`G8zM&-+80%LDKZw0dAO4Jl}ZMu zBx2I0<5DrR!^FKLXV70VB6-NVah*v+&n-wl75Hk*nxCI7gfBGW zvV@Q(lPB(eRj#x0*DXIzJm}kxNpDsDY{A!`C#*!C*Kd9A(U9$rzM~s!J%FFzrqoH` zJ=`M169kG4v~b?mI-T`6X#&#uCx=te95#TM&Xl@3^>vpV?(LIVwo|-@<%Ug)*i?O( z2I1$;&a~0!6a;6dkU+IR9qSpLf-iLp5M=&FdDgr{4lYluRo)mNea{Q3hZ|e(h;u9~ zz2}Mi_Jfq8pK^)IJDI`nP7Y}aR`rz0nek_8W?TI z@F)FNK!Ot)y>52gA1P7Ef7G7Uip#dyK_wAF`h2vm=mVs^!jp+g}4?vn)EtkF4o-%IyvqZFT{p_bbvNO(Y z64I@^rYb>JOP(UhjO(QIYs+Vy{V*DZ`a4EzYXvfUg9FiuE-QQn6)jH53fX)pjxK~% z{&u%)D9gh(wnv+*Tc&G9#vg+`)vb!``?C{;@LU}zur>)H1I-1INr08cll}l5~^a{YjEGcAhM|Wb~IDR@I2=L7?TxEhqc^S<4n8(2R0#{Fh-C zp+(yu1SlV6Qhuk=0*w2l-AX^u`3HE=q%1iC=rb7}JR-I@Wwz>t+uAkWLUslXs*ng| zS7Mhg8Sma>?50)>i7>?Rj@JN1S1&-XzW>z!`e$yvLHf3XSt#c1&OdiSP?EuQ-$Apy#y)e7@0 z#U#Q545aF&$TRC1*XC95u&+Hl4_YL`8+>8<5c!a;IR(`f-ygA)zV4Z0O9tYyjY~;x zrvwC&h_Xtu+?2@^EEY}SKYyxfHQ51WveEoGk?pz;{$G#=2WnnUbUN4>Y`jJNP8Qpx zxvUmwKMKE;5%N2i5K*(TdIs+~GK-L+tx|dE>tiw=rlO8V$?WS%DI z(J<{&WdPekvK|MDjZGa0Zum9tZ5WDrYsLc)s%*Rb`TT_HWB5}^L9Q2U1()XOyJ!aw z1i6|hi-W2l?>1L&8Eqd9ddDxfYRoPXJuC4Ee&(1;zYwur+*m4d_OiMLD1m^q0F50L z*Y85k9H<^hUr%pIXekEY``pQZ0BP1INRa6CdvySPpsDjrR`fJ|S*S9C@^+mY8i*oz z!OUl04C*L<7B%MqeE`_kW`L(Qr3KJFK^!H(U3t#9nv>FzYleA^1x@S=-SIM%VdH}# zoxT^8`oN$28376CHGtD`8^SlD($0Ny!zGw)>h!Jd>r9t&hp2;t!{a<|yZm3a6wr)H zLyy%`kZ9(PS$(xig0j@v*}<-y>iRK%&VVy(dUTaER8!4O&WpIhW*na{5*2A$*dS-~ zP2^X&x`EgGv-`X5_9vsE{_%1yoD>EcJL~;fKL^hwNnaMU6oCQF*FmZ%=i4ukFx`0W zIOiPmvS!oRns2tjY&hZH;EhM?38bV_yKsb_o_3MjHV7Msw|2G#=BE}IEQJ;*4BR$U z-jJ=t`Qx57+m=9V|pn?z>!KNQtirLu(x8E)=jG>{?Z? zlRu8)3m7aiRK0HtssE*;fG?8*GJ_u&)X=eB1kj-6%W#u@G+L7%G zl59qv73fLFL$75)vY;HJF+duzJCps&F_#t=pNP9(_JBn9=RLShWMZiWmbQ|>bTbd; zvg_q7(yRP9s@`3s0)piC6BJ_r9^^)v#VhRHJw;@Fqn`W|J*m?@Ju|)k@tckas0mxb z_qci=`-gIUh$y7%YY>j<;O%LR<31BF?3T2nS}n)c8fqieL zr}!5RV~HY_A2I&F-YVDcK00*6;P9kwe@@SS;3;~&9~=~AT7*<+z^&mN48x;8AQ1<# zkl001@mHs^S+_9g*D0S#zX9o4i;43y3pxIdqjQWkNYK6puUq@^C}Zu!YAiZ4$x}Sh z2Hxw~jQZp*EB3{@_77$Q_^pg;U!o%;&-Yr~Z}8D5=F;qSR8_-S9I;5{IS3|kiCv3H z`8+3zIE6)b2{7$`d>s`H@ZaK zj!KJnfLS1{peQOwITKqEQp8P*>>9$Qt9MY4&2mn`BvAIj<7iX~5s3#+bHIE-V2i}7g7XEO(D+~sN)X{NKke7U-e#;BCUh`91_)z|Og#63 zdaP>U$9q3RGJu0OBy&qn7KdTgOJj!8`8Lngmk!Avn*~yOs76wG(n7_lj#QNROz7i_ zhi^z*2w8=;?)_x_un~Yt$;^y;k%Qqs=V>fIcjeOgq-R2xl@W>jrPTpJn^8QUH2M<; zr%dXmSX|hCPZ$jee0~>FmatC;*>}6@f`6oL5R#-$@TnHk0>b!${A*WS^)j#6*)W`w zS4Lbz!?RyUC5Wz}V|iIsYl@pGsnH40b}s5i`^KuyOPJY{cj~KXi_^WW%0+}8UH89_ z9BGR1WZS_dPO6g*QkshUdB%kqOgb!4t!;mm2=z-)ezgtgf0VV_VS$eNm}^N~)C%F( z|J^a|kNvOsbXrzc6?683daU%_;m%HGaOLu73%W!=cmh*&ezJ5 zC42Zh5!S^)r@>4YJeM~|^crIzj^nlcIeL0IechK?Q z4(tOYd;ysZIk;S#xlmFXR=H+~>I!H0q1GJF77-}n;U2Mecgb;yi}w1x9xekiG$`fU5=QWpMW@PN+WB z(m|>Yg7zhOyANq++UT>M zxz12=q=jt%t3hvv{zhw&k9DQr*Xwq->JrsT_aQRiYtR~I10_)`;~<~#!|=zRmsvt_ z_=Cfa+Fib+SAaDa+Q{Pt5<$KwZi_wd3@2RHX1^%Vq(J11NMb+j1HG!;Yizj1Q4&#x zj9cy)Q7=OmQIgX_Vm@mS6m~z1%Xm z6W$VWu;=@4xE_q|&Z0Sz-yUGhE*tkh59j;1?I-5>+xH+JS72vTjdZT~1n5?q7Aa)$ zjBpRSE7XcsAE@rF4Q<$_9Ck{@GGO?EHDejf#l8w7eeW7sA2tm)S!b0p6|}3MU4j3I zxx2^rG%hQ&1^fQ3+%9E=1;T!KUq(!hX=EJ3g+s6G@e<8))^eVPQ~4F=ba0)i>0J;G z$N`lnS-dpxt_K3f6(v3ukBs+fC7v&Q6V+2Ow?Hp4q=C@=KfO51d-M%m0M_R&T;*D_ z-|?Xm3Vac>NhZT?K}?=eaHca(p}A!*KRJZWuqm||OND@0tC~WX&)pFT!tO*|as0r* zzyX$&l#I{LwiTN3J&^E*5P<6X)?B6=P0ZN0)H!CL?fIJpP0uk(EH(L6y$V^J|6b|% zZ7dS0E@q!SD&6%h3W_J^r0)^v*R8=C5$SxgWq4$0V90X4V!yhIft6D$QsBzMK3Ph7 z@QEcMDNkKRF@Inia_S4`%zetvZEQJ2aAi5R>B|rTr?j&m*EDs?LP=mCIXF7zV#-vfh+QfXLJn$~nPJ&6v*|lVgh%)yci47idUbb> zjJy+nUjplwm+Loa7#9z6OF)O@g4txdZ^uWmVq^R5H*FW7CMESl<+-@95O2HOkUOwb zWp~$X&%>D#ER(Ws^rUAA$_-t2yQLVEvtnq!hvCM0pAo3x4@F8%$Z@Y7)RENv77c~5 zD7dhZ>ec5mrvWBbPq39m!n{tYzL!~@v2B*{+-j_qw{#9*@ zS?&&l(_En)F+i-UU|M9VPl7ANBPLWB0)Y%k0}Y=E!=@0YFM6qX z9a~gh6CyV^4nT?z&0%m%@FQQ6{Pl?QpDROlg&8kjRt0>EZk*_wkTBqSFo#~#|9?%l=(^5DKc=zLJo zUH?pG(?q^B=nO~oLb}k$O|p5mJCoz?v1Dv3D+%YJDY9@(U7v=EiXiCQJEU^eYM-R! zP^Aq=*LUi0^FoyzqHz%br29h=MLEN{m%X>kS^)%Bsg@a7n`p{daZYLjjQ3$ z)5`9^Kf$N^`tjk3EWWvLo0vFhgVLia=GRY=t%`EEVAsl0&JhXinA(q}u@>w0%<&$( z>Ju{_;s%(<`)mBHUu~QRl$P1U)bNw))Yk_4`_sT;ww-Vc>8E7PxfK<}ll*!D(2s%U zB=&FV*2a2P$A@y9xUFU^L-`gU3`!mw8S-45IVsOU!hV}TiRS#VrouMLssi7-*hnz` z6D1YZA{v+2BCN537A*zq+1Cs<=3%l#W?CIE&U(Ap38hQyAw%;44iF#ash&{lRmzNOeTPt|FSSwBJen7^4 zVSkA*04+1dgHZie!t;8h(fI*Lv_D%!F_T%6ZZx9T=()ikVm%?@{~A(Iqx5c991-Uc zDb9XB(*>W)oo4Ym@jsR)6z!Zjz;iTrtCx83j+$%fhYDG??ZtfWt5he|)%+i z92G{WM9pY9G8S^-3&R5R-CNyrqtz`}ykGgRWfx;?O(zlaiQ={~mjR8Hj^mP*yHnwj z>gToQ2}IhT>me?y4a!0uSAR_}sgwhQ`0>y%C~`h|_C-NLNDDLwc8l2=yvURwSIAJ) z{fj(izknt3yC%GwRU65P`OnriaK86np#+`UAdH9;y!z zIqas_D!V5TX_k#>$pLhog8MZ>C<38Z+FnDeY9>^_}*96cyq&@ofLO@5tGfU5B2m%AMu1g z3-Nhn`B6(~bdUe7MZPS*avh2vR+9@1W?Fn?+!NddSCskb<`ZIL!dque-Y>pt@oGtv zo?-hGm&YBT7Jq~#m$wCT7LW`rV46o;T{pm?;tF0%+a8}WkPI@srMmwNVN=O6^a5*T zo&K6IMHCopYw(V4HKf$>`FLs}M7?D)=*e<4&-NaIJO>&?1m`8@J0jJh?iz12b$gjL6fUTBng+#SeZMEDw9+tyRA z=F1WKsEA5K#(4Lbz&-W9OpoCgiVcs??4;+-%?(H+e=_yy){c`N!#{_;>!4|O_Dz?T z?AVB@>7$gCxh#Pn7Q)#~sHqOK$kKaYA+SqdZ0iz$404b+LEf6ilJ)vdyfQ{IFe6$( zS@e0txg_z`E{^Az-U8gJYM^y%m; zQu322F%h7mupo#)&?;CxK{#hlHU!kk5xFKzA{`fa=DwmMS}{^&Yv zh8rnc#O39JPH6##I~3>Eed9E$9!6EK1yLWT0l#b;V^H4nNFo+?LynCaD-c=RW^r5> zj-vP@Va{l@+wP81j5;w~b+XM{9Dv`2Zgg@)+6Bx7o!&^0FQg2uqBBo1Toj%rQ0tM} z-+!w8-#$nTnkNR>2cbDfhX05D{?QHtIP( z=gvbM+X-O`WkD|ynG8GoPGJHc(&rMJWptu6xP!{F71rQ z9yO8ghc=}Qx?tK8trCNnW$Av`R*x6sG${UT^ySmm=ph|?;pBCpTd5}nve(48EK;1Y z3{q43g_=tZUI zaU(SfWL_$34#u%5LN21P!5{x%oWBtk6=)lt08Fo#n!XAb@qp&5fLk^|UgK*pX@2DO zgkKOsnPZo|rxfP@c7*gcF_B4B{^#>wS$J9`fYT;+*7(P3Y}Y$hT_H7rthhx&lp==~ zZpB}fl_}LGgFoy*fT3VjYyU9=F$7q4<0D=HRkLe-PVbTt@wY}(B>@Z`2PAup0I};m zN5i??FZ`)j0Q=es?ywxf)3pjo_Y{MK+$IC=x8hmHlg;qN1o4<%sntIS0|@~d5-Ux; zi)3wzJcz$d>QD|OR=!bpqf=FCr8pKIyNO9bg(>0NWco!jD*jKgeLdbw9VnI|-7 z)^Cd!+vaZ5f9)~&Zuf>`o&x1%P*tb;;|~J*X=>?+6>x(}BGda$ea-vURi?grr(qqi z7lV)ck)T$yd9lHf9g)J&c=Dk4jaeF(8Pe7rXWlraI)n!|wMftwW4j35x>__~MM>I*R`rs_cr$yB;JEKo;M?r7QmfT7PZxw2;M6fZ{9z zWp*;2?@%o3-O*o_SW_u8Ep6=Bn1VPgyfo%vn6JH&CQbPQbMp?y-$gvnPZW6~N|5sO zm>uGEgNVN*3)Xm0P!M%s4{&N!fJtV+%S#jA8CIi*wbOB5>8~IBZ?R{%Z%fVq^$`NT z_UjB3?CR^f`*FF$Y5lz1=g-Lq5z{m6?t1?c=A_r~n*ARTKxWeI@tvy_{T_tOAiL!E z4HCREAUny3z9I=3LgR8&ei~J_0jbB83Vyi_XGj&q2%all9|_!kpLFuHk+bAIK34=D zrca@w>zXbYOS-ggx$XPbFQ0?OCo14U#2M z91!kcoGFe<2o5&4BZpnss|bX}ri4)Dj|nX}2gODxBdMWdkm4K*b1RuBYgO5;y!!}3 zk5ehCEUOP=T)GV@#@l9@q$tFVaC%sm*%c12Zi}{~U0dw8!}qhNiRT~}8_++&)_#NI zq9Jt9w7UN9GjEJZ_*xQRfNrfmB%IQZjOm*1#Wd``qfvcRUp(W%RYYM}P9AiWiNexP zdwSSpGwHSq-09|nu!Q*^|M0(4?K+eKh>+q|xQX+}uVHO2VEufwLe)h3setm5vv=e+ zHu2CRg$#PRfbsCg0Wjph6NiFUQ(61;k}EVhz5)c*EH|YIyI+^6TrMH68qQ{BXEP&Z z+X15f;VPqEf0Z3AJ*mGm`f}r6dg}Z3ZD&D2U(*Y!MtYHF&+b5w@*x_{4=dglaGI`mrhy2|3&=SmC~M-9`g#b0$Us%@0cHogQ~3WqDkrR)> zZDZRBMorU!hu_JB`r&`Nz5o8C=kFG~2l8ssU>Jy9Gu<6Yx&&$-(vgSl=r_KG2|Db^ z{N1Mgm0AZw+ZE+cD6Zldc&cQ1-D;WKoLcd~SU)oLi^o(*q7zDUK%`G@wU^E`-o2v~&oXtmE3{%g{oLWG9Au9ceBcJHH?o~xI! z*7`MtpU$_kF}Bl=2CG%#X~s74nKn2dgPf8g#V0O4an}_pw1Di5Zg_1Nv0T}cTTXG& zn~qu2WT){o@PnrzvN5L~$QS_xXj3lx)-^_6-X3w@Icoo|^>J4=SDfS|Lnwn3=xeDgv*ponvHMQ?%f^mIKx5fWOK5OZ@}5qKIEq$ru)aHxWY)?b$9KfDl29KU_rtTV?(X9BWX*}^$G6*}3$aC7HFeKG37T+9ln9oJ1vM#2 zIiygC=#!32t8Bvzu=b`@&QDV~cu;FWY3}Tp--;ed)n)egsurd$7HHoES~7@@%8!+a zaKw*@U>?T9L*X@MoH1PHX?R&fHI{j^28FH7YmhjHYc8!zfKx1K>Eab78RvXTIh5f6 zMV8TbQAnP;4oSINwX!7w?J4FoHl1!eGftm9ON+vHT?td z{EP2ldm4MJMb*Tc6Ze63kDpLgA9F{tv4EtM=H9fiJ6{v%ZR-;%CcN(z@++)7q8DDhCr-oIN`!Sx z|7}J#NV}Tjh=G?9Z9;ivau}jx_&TDmt^U`3j%|Z1r`myo6bay*{tVa1fKu;(*OE8_ z=*9oDt?J)l=s#&CaMH-YS-~S$h_|R~%U5dGj|4*JTxOzv%Uz*7h38@{EWOWWw}?i7 zv!fnpq)FRas5bd4RvrSX!~cpEiPCvSE)?~A`ztPwL|_T61qU>Rg|C)Ja{qf*HzL= zXZ{YivGaitEd6jcs;E^RYil;UTW37OAjLoA6zC~lvkEDcs4;<7bpkGO+e_sL<~y8b ztrv}OJ3$V*F^*hwFRjPz<;@YEMBFn_HE|#`OiU{K>gmgq2+Li|^;eUwKj*|9k7J!f zk&c6YR!6QG#+||L)}!7zIG}h?p0O$=tMvyN5W8rP@8|Vwncrxo0b53I9*nBaIiGY% zomplB6}yi<=;+(7EtV%nj@H41QA9TRXUc_(<3*p6|~@I(>MGtc$l=Ol)H@+I&7(iaEaSIu$%pQHH;r;1LgUEjhbj?x!c6e%;cU#sHrJD=de*nIkwbh1$0 zOPhVD;wQIZNcEv=bYujH*Pj?ft@wjdMMb6i!)qkdVEm^8Sz|z-Qe(5qcQwd5Zn=3$ z-Q6MsY1FP^;8ni@AV4v4`KBY`e14Une*(4)V@VCU^2iXAvc{{XCf3j5+WrvRYZddW z`)9#wmFt#ez`iv{=(0KBzZ`7&6s*e7xUs9^e|uMW-RGhFs*yuv$hMKOsEL}qk!fA@ z#ByP%md$i$V!Tpg^&s`|>LWlOM73)qJr;!Gu}!j`>{uL~^vD+o5$@Cm3ItS~A_HiZ zeN-_ivt^54#;fEZM2rSOxFm|4#$t+*>BsR# zn7SA#c@=LTHC(>5|MOJHV1#$o-nb~L5{*8si0jq)S+HXlP{(1CD+y-1XLqc#wi@J= z8l2=Zuw6fWxh1;0h-Fqx(oeG#1oau)3}}n~>wx?}?TdwgPO%+=A*uvmHRyqe&@oR%g@Q^uyFqqD{n^E4fXJt-!z zZBxN!&?E&CWKiwPwcGyV<*Lxn>6fZm6&l|FnC@WwOZr0$e=dkTw^xv8xp$?k=z9Z! zMBvVe3?BP3RcSt9%>PH%d&g7#zyIUUV@pPeQbuNW$;c)lBq4hjSs{Bn2QA5-*+n6H z9wQtiQFa{rAbam|&T-D~saN&t{r$Xt|8y(e&hZ%6ykFPjerZyXMBdAoH_qop37_Rb zN_9R&kF*JSgRg$giAua{rxJkFMMwEzj-G~c^9+A`rPBKR=iBVo+yZ#$UZzE~eVnR> zlUcTr?X$0hus%M(wIo;j?fq+U z#8!1y@P-MELA+ArwW8Ly&sSK4YOn+BT8Hwn8||fgo{rw{4Ea`fjtZP&I?e5crj!_`xu@Z0qIG$a;?$|x z+J%g3hcPmW$em{OPjgevq1)jW*cKmEGW}XxB}uPuLLdX4xXYvfXE`S)=b^-i(uB&8 z7B$1};T7L)>)NCFRPb3d&-X!xqhF$PNdb^w!rgpo>n>Y3bjOFwB~*3!Wf{v`IcDCp z&bu6R)?4D?pPI!md9Pz)ud)n{bX0a%6L1g;bmwDBcqbsj01q1{eGSd^#qx4>eWY6X zb~M@J!&@ku|KAUP4HY+D@<2+$M+mlm(80bnnMv9cDWjH(*5QF?Z7W6E-XXTQ-+W9J-et=7X% z&+|7zn9UVgmEJfdCKmq_q+WS(CXdfPHtxB@yD7^e`nf?3J?*$kQArk$)qn>`Iouq{ z0w4aloM`tXh{G4W-rsx+B2iO$M*kZ*v^+bBwMq7R3tx18J9#MyzJC--6?cjSBZCKB z&JvzV5vNvimBp06C#KR!8i-2d#q-M!q^39!n3x5%Bcb&6N+z|Yf36TX}&NmKhS?lEU&iURwFAH$msNPzafpbzu(Ma5{f_J>E z($#2)pL2;HEniC}ofw|-DqISY;~{zU*85SE5&ujb<5hYlrj)ttqUW}Gx%b43qS<_;N)_o0`-aB z`<|Og`WGedR%KF}hxdzAQyfe#@!NRdMn#^jf7vB5Fa0J8eK3WF&iXn-T&Cmcg%S)N9bXYjr(F?4&^1E zBaLx>6B}&B2oB(U7>|GV?wu8dk)r5`FlWKtNE7GUHX7iT@gMH8c@6}n1GlrxfJohk zUjC!8GbPN$qa1I1;K(#kW~EZ+UUacAUOG?5ZoR7P9JZ%=o_$GBN2Uv8JoPu_({hGb zU7{Wu3zK_8V7g4A@eQWA8>wte094#mt+npK1ssiV2zQK9`UeyrGIIsCV?vIOChJS0 zg(qF}b8@*~j?Ia@^vT82SoTFst-|%o#WxvKuj|K(^dvm_PF~ZxV8Du01M;N8%Bs3J z-jO!+-;26J-MBTV*{9g>5W54fAVjjcDoUY(TU?r7vK;c7dc|@mgKl%a^Codx@^Vc4J0cpzAI=Z?jmAZ_d{_;jOG^Ofy&$(XsTGkS1n1rAM8h~he#ACo| ztp82iOSeiLM`KM=z=81|{GgZmN&9%o-PEj#j&N=01FV$n;K8H?BSU z`i*DG5;GZK4sJbddPqW{8`_Fcufh`kxIVmtru};*FRf-FFE?6e;=hyPkr?D5jr%&>qT(bGZ*pZk-rL}E8-ihUeo#og6 z0unUkl$B}E{P@xO-j0hLCUU~~=7w2=U!d4%CiC|6tO}FIr=qZ*X}A_?$>~bGyWOsF6seNWB?U6?ev!gH)Zt)x)s>DeD67V zXjLI~(R!f%;?Nm4L_#Q4?~+X3QQOtldI)%JR%|(DG&13lNx_s9HcLr&?Ev zp!QXJwkX8x`EM?O(^pIhn{%qa@%y8kW0vWPW?E?bUyPR_*n+AbT+rs=w6}ip z3bu!T(IFJ3mQ%RKe@eo6%@L{f%WBzPBY4=k)g>*cX`V0S7~3M_LpZF<&vP)Orm0*p z5OBR`I>34%&%8%dAT{no-~lrq$f2oc@xR`Qg!Lq^4G478*SJZ%+Z;+d2Xc5PfI#-^ z$H3Ckl9i*oqGIs3REZw28ge$^O3_N_;EQaK`v@FRHaB9MDV9O8ST1jv|Ngy-N)(GA znEEDY15T28J!FyALZcPp&LOTFZmy`6-Ta)vv^$AIt`2Y_Dwt=CV z{rd8tx>Gpl;6sPQr&GgU;0FhL6O;!C!BQ%Z+VSlwVRLQ?3kg;3$ezS`hW2d~Z_jg; z%cYBVET^pfJHq8&hV>-o?Ap_2N|}#qlanw$%<_i4uhZ`s>t*M{m?-YU;DX+ZpA%v_ zc+S;F zzMwq&-C4rRIW)erv(p-!6YmDTzxx96tGyz9#s*#;Lu*-$|ADhnt=qegyZsumDJe{e zuD9Cc=^Cz@f=MyA0C77PUBZRPs&_|u!oLOb41s>WrcEB{GrI&Hnu3<0jhO3qTRT{xxPoZ<7op(r@eP zzqdg=5+f<8Wp(BWUZun3&gMI%@~5NTrsCc|l*s|+(*CHwqYIGBjNk<8d+B^G<;Eja zqZvrz&TLe5O8?7u~dI6&be%6~)lM-01=kWl4IDvQ>oeUNwwoEdoD zgXdhT zs%?`Qem8+03?I%Mplyrrpbdh^H-O=~^G~Sq$J$x^) zzG&TX&iyIK4|_xo$e@An8KjjlJG1c19U@;Q#Sg`Up{eO8L#Ck1}dX&{fD(&lZ8 z1ULi%?8uKed(yV4WMtOV2@d~xDzo=pR|iaJ*QtjdUSsuHf&?=xP|F==<-B{hr_ork z^nQN+p;2Q%EzJ%V8xRJ@8YA;^n3x|W`T68qPae#EzVODnW>-h)6WQ~F@QQp?rQlDo zN$Vgx*JiIk$mD4JjuT|yAF3w%k*E6Pi%mTv3+dZ94(stYp^h(MyKQ!G>Cw_sQl+eq zQ%W>|c=I;v7Fo0c#iolJ>5GdWTfrF6nL=6amR>hzr6!e_VS_W9YngIx zZ#Z-2TPl=biLAxolZQia?yt$*RdZIU$lBmj_I?Dyf`%Wsqav<2;|D%VJ>V;Sq=zGY z`=qaI7bV+y1cY4ckh(8^SO#gLtDK{ z)E!`l2IJ8F{`>Ni*?la&vuA$f!!GnRvjcaJZVOYmFLWn>6wQU8k{WSQWsVRB~9ttBTmA;QGb@bTE#r@b2Ax7-)NhAeg#MUckkl-g%r>=8~-@_ky4zZ?8$%m`LLwVf4y zbMA^|RZrudC0SUMGJ8qy5G#D0szDRpju;96d3t*3Zv;cwfI?&*A9(^<{kc`Ff(zNq#m}5aYM*0mGte zW}mk+_fllO+%H{$>iOmVvtt-LjSkUrfpJb@mg1?XA+?SzKi*(f*mBE5AG~7KCK*Dq zs~D(D8B0!ZtqeUjT1-5tQEFnR{L$&W~c$$lkN3DM@1MCurunx+38?QcE zx2-P;fvzh6C)YU-86r-<4>l~5J-kgQ|GH&I0I{WKANk!6B8k2qZC5;R(&7Bp~F+svS zGf6pb!8y4;zix^dSyDNY4;(doE#+HjO{t}P-dr`z*=D;TwG02)vQOjOFi!t)BKKCG z>v{08rQ9t*H{hi=Sp@!c++DYG;6pm!oN6K>;PItlJfY^p@wfNuju&dWQP>7T?)gN=(W?a*Iv6iRIG~o zceBr!>Jq@(l>Xmh2jfXlXnK6r`rR9LFR&^FB79);Qch`U@26YvQy5D~E9HIT<^l9^ zFeytk*vAB>QII4hof~RuVc=wm@a@ANQD2{s(~+1yw1jxzq2N=XFD*|gB8dHNgglsI zNVd&mb{{{p0dlk|@$vD!vV9Rry$23Nw~6_#I0rQ~O%pJyyI0(ZcIf!_?ey!U@Zc{6 z2ftYNpD;q?&j8Y2G7|OkzqurYq~Cq$a?oi4;CZrMA3c(x5K_^x-6;QSj?cC$R0i(%}$RjxHWy>zgzb2T4b9z9~fX~*=q zd(4gXeizu=d%QwHeb?D%I_#+*nCUWNHHwjkv>jWTv{ zeAyB7jfRd&i~X|w+vuC(I-{4<ERn9ukStxhy`0|)`ZHZd*#9ia*AiBu#fg|MT(CjmT{gOdW^0OD zqcSJ!ZT-aEzD%S`BQyy?lpLI4q8>AcF`?GkY+Fg^+L4Ajk-sxFD|pUkw=G zOEHx+Os#*>BsPDI$E4gVJpNXgv}Eguzn@POtHj+H?$pmzU4H zSMmW<^6|7?fAC@Tcb2Yi-@dS7n_0gMXvqtL&mRX^5qronh=st?4EQoDALLKPm88k| z_6MTGuR#!_a0iC{bbs*Omg(M8&`L;oQiwd7uO-3iyB(3S!4Q%3WYFtW(A&=UOhml9 z<91xcZ9I$T2;d!-QZVUSgo>UjekBhtd%!b?;Na~z>rV$b6u3(0M-c0_OJ zcH&*7u}?8~?lkt5?K}F#yAvrsb{suzMu)am#641Bl^R8*RO{fxGzm66cqsOB2Y8DP zY3X;vuyhg?N7S@oTxkcnX(A zQJ}!V{W*01b%pFI=6cX|UW{C7e3+6$$`0L?7CEr?qrUkPARuEa9UyWzt5uvX{57G% zrWUO>qDg+Y?mhW48^OTr4rih1F5KcG8a`YMl4zxSAAy~G?#ej=PT=(Cz)5X` zBM{E|0#dgvvP@H#POqe!->NnBve|6feJ9*;0%0BC?u?BW{s3v_=fE+7iJ8Z%w%cDV za5|qqi+kfHKo8mhZ#s55nwMzeO*DenM&eC6e$=4oU6P`L5(US}ceT{tUTtdM0XZGzFG;=t>8 z-Be=C^>{7aaT7jPZiw3ootak#Kt?H#x%{^Ae3k3Q*Yt!s0n^4&<-RUKn2=8OyC8-2483X%~gRtFu3z ztHvJe=$%>}Nem&PQ2>I|xh?UNPw~$N^;1Rs->@gi8OLa_ChZ35;pGPMLt2_R#^oc^ zp_{jWVSDdX9Q)6!0RITR1ilit9A9AeOkjww>KhiPoqSJNT7FpXwYGeuDA7qg67|Nm zJI$4A6F(!2Ye^VpW$L$3dQkqYyStM*Xp_*p%eE&Yp=*8Y1Xspy3*%=9`pWRG{;BI> zxpUB@#6;8b4tZ>={FlCL)rl9!(vl4$qxb0E>2zp5up(z{I`D5=m~?q47B0QS(f)H$ zpR}@=?FL!1R*cD~Ufv;oY?Mo2*f`n`YoLQFpcap$V7KR~ zcpNFE?B$6}?xL|rJKG>P9a0lgdiEIA;RJG9jBRJ)k22ks`nl5iefA<(oxV5e86+ns zN4o_4xUhXPkc5g=Zq=v7zbvk3QTjw@5kq7(M8Gk#WSUlk3@Y~ZfMzW^m}hV(Ij zYYF^$DN02`05XNx%DH%aV>AH|Kbjf~o_VOOpCr5(HOjNAx@My`dU<=zcr@l#DSXj>G;h?LuA2zT?rn~DK`drIYl>J zIPetN#`_k?=W8+GA))w-Nlt`5i=(#?ZtYvlJ+RQ}w&bB!98k%pk+j@@8W((z%0>y3(Cm`Tc zJMtjkN*y0D0~S@-HzVFTLD0Wn%6roO(!pXY_d?@J*(q{;&lzz3HmxTgP*L572dC7< zg0C5OgdnhTd_XIxk`N+iWdxY%t=TCKcE-v_VFu$e;!EsrWOmCteqAFnEt>E%n%y+e zaXWCysf>k1`e_-@PPpW~8G-PJ+gfie3yXGG>fv$2pLs)W0h=32@wQbvA5-+7C&y23 zVXUo@N>Y@FQe4ra7~i6qEL7%TTVfho%`8#Kjv#D3^Y+AOm|tVK-*~U}jeWUj58Yci z?o3!XW~ges`=D&)%H%&5fW{GmIVi@UY8)2~=2kHpZtD%P`XqTP^y(Qt5sCNaQ@7{v z6$UJUZYBD&Wla_AVBTjO(tYW-^&nfl384kNX3Q>R$(dZ)1GCk5*5gH0p);1gz9R`b zP0R!ooui9*ExDtcjRy@IwM4M%i3t4efL2>)uSH{kk&23n^8&5JIP(3yFLQ3r^mTf2 z*MqQ!&oI=>pI^T|e}se{8ytZG%L>lSh$>)kl}6EFibp-pszzRn0ht$9*2?klfzMf^ z?h`-th%ZZCq$I4M?(ASfqG`Zb2~p_>JxISeGmO}+WXw0>?eYF2r{!#;vy$66+<+Z1 z0R3Lg{OD{*td3yMV$^VMjwmKLa=CahYKRjkjCnPoDi5IgF@wEX_`Jw3@_Y|;+qvQd z_c?)k>VlHT_m$>*9767EHc5CnhHkWV33c+_8IJ9LKoxkE3lsT{^MPW7XDnG=C$M=*cX83ESkl)(Z!8afFvXT~GRhmq)KcgfHR>dlU{Soj*n&hLOU*~I( zvDk0p01!xP!cN?1J4tDie(XfZfj;FF*!`9O5}GfFNJ=hsR=S9)PZE^Rxf!Xd`fei# zscT|3#LObNNOGSXSZy zIVxTnwuQB|DI18rxqI0TW_^4*s6fD~T~JW4qqjFYVBI~_y&G&mDINDjnz_~ppnr-% zsV5m zul8rQWl&Th7Qek(uVXHgTd;!8-jh0G-t@W)T8%5hYpu>_7GxUVlQ?Fmv4n~wBw#lc zM?5#xI%ZWSr0kEHpBvY5F$Rsqzt%NYyniQ7)eZj4vKd-0D83Ed#^v0ejEkLFpDf2) zX-FK>@s5Av|0nneywrQlqtP%^YY&+hD(QTsN9^OTypHM2lR2DI>!2QKYR0+_FiNC{ zpD6E74fd)5$N_0A36;)4(M=pU-j!FlVK?@Iy_2HBg$ZYQb8k{RK{m(CijhK!PGdTIMM}ATi_PmvmjBFnP_Uc(}(Y4J&vKcLzg_6Jj8d$kN^Qr zw43cr;CEgoqu3qmKbED)%`VM9yXx-=_Mq05<3S$b7q6nCTmopT|IygeV1;uv-t~*} ziiu>UZz1F02{_Ha;weCzm?CWe~yql$)-x`nt^>zZXbDf<}L5TLt2O zkQ9kuh^+6oqQIe2;{!7_)tn7O@s7oKm9@f=h^T*rbhk($d%k1lwx&>;X=2QTk>ulz z(%DnIAY0LXq`TE`K}K}bvOz3uCrX0Xiy{``eX9#SnclhtANNNc*N#R7hcngRnch&y zzvspQ7i7bnj1@|1!rIgxO!|B7n)J)gyf_3)(j8!L4qJ~r{$qi$C9=XO-1oMoW`_lC z&Z09rN{;Wrg9oXD9v0OP$T`K)C|XD%6Cw(VeQ>q)Hun$OYped&C?$=;(wh+{WrR#@ zM`q3Jse($&0YML*Q@dQWj8A`tw(kgJ$pNqTY-k6Lx{{1Xoe2lKD86*08EF6}7`x|} z4GD@^s9$@!_2eR&Qt$^(!J7akPmI_e=QT|Z>pv!fE2UC z0yn@>uKc9bEFQYr!wuyf86;sc~fUu`VI;kk5ro_=keb61EzKCUyJ40;ax32UUwDne;T( zWpgE*!1$RmVvLEoQvZmnCUE#{He46Yyp>Jmg})#c)25+Wdl<=sl-m`*4U~?#RLIls z)t7Hf$KSqqN8Re4Dz0Rwp)UK5`<36x$R9@r#yN=;(Lm|kr!>m~VsQFWTS!HMdK)qJ zU~Oz+{v&F6$N3@VWDYC-Fbe;eqpPStI6?&Vsx9bTH7{`?Q_D$x#XLl8!jp3%Jw>%91stO1@iVwYSNEn#!q%TCh!;^?}?K& zsX~plhF3zOwMTLv# z?DmBekh$5XpgxcqRC+xE0f^G^G(PHyNQc~Fo! z+5bY|8v{a4OZiFTBm9Y4cysJY?DQA$wS4~`e^EZjG{blPyo6ZG!)h&)Umq-$C0M%& zV|(nVXp;IP&^!)!c*jqq06aLV6{2K2TnC*`FLQcvoD(*dzE>5!ddk~sU^N8 z0d9@krtrHxWCms!WA5@2a{_4Q&5tRQKcw61 zB~zd!s@!gRabBWRtz2yil2^&4H73u3ugWVzQLk)&n}pxK3{*!RFv%#5TW1JdlZNmg zxVU%W!Rd|hP}~AEk(9;9Qn#e96F;_yM`62A@hIFHDzU7rOw%dz^G{z0ejY<4)$A{u z8__?+c%iw$LoW`HbLecT1p`H~j|JIqC%J%zuHTKY=(DD+5 zEq?0kFHihy2`8HwmIQ6wYMQ^Y7Upi2aZx8&wQ7409O4d|Hs%vh-@aD*u4MWx^ZKHf za_3H3n5L}?jypqsU9YrW77saF4d`u=or1N8Ub@8}#~v9Fl%APVW2On3x~d8Iu<^FZ zg1_K9CMY||U+NV~3plK!AEyTti2-Q@ACaiZwpucf1tob#4)6*dK0cJt0igl)?FZsd zhtRe)edxV|hk}1(=`X3eNCZk%t63H`A^%;Wq&dc>!>1oNTPWOSK9RppP9DA&eu8L# zB)|M8(k2XA)Ob@Nc>dbJxnEy~MHAJ9D4rdoMB{BDPW6`#jIt5C%$Fp^B$P}Kv#2puVVQ8vJKYY=g4DIc> z$?_iu?0a&+AN^ILFt-ruyYhJK&UU|sa0fV|o2Tvm70DHDvmeh{gDyjNB%mBnbS{+d z=?z8b?x01W(XVUD5+9*^Z!ThCYWP%!Sff(oH7_}cFlVWU(#W*E1^4+t#M z13R}NrPrFM#amDnrvT;GGT5rgQvlkm)D5S3ESKh6bcxa8zH6 zupo_!IZ5#*pA}5g|JL4g0!KQa#eFOun3L3cFTXvzTq5)OdfH=hfX=%p4tTsLXjFrJ z`;hwZ-4D7kNvsLs@Y`UAL^}e(V*(#@O&uW!TN(k|8dJrX9V+w#H!J|X^Xwb6KQ=Uq z%WM;BXAn(O7kTV8iL*24(*A8}{*?}ZK!T19GWGDrBUMWZV)b`A^;rB#RL;R+oa;@; zfKeO{LX;p^w!xu@CP4?@P;WZpcjUiR{6&F+w+O5Ou04_PE;0V0Oui7@+M17-?s>5m zV3-!9$`9BPzz#j9)PNT&%#Do}YecYbd8=iofHuOEyM1ba-H@{WLs_GYA>k*VvEHm| z>hGiNqOjB^9=^Z|C*hMZU*&&o$e+Ir8=VMAAx7B+b34ma=quPbJN+JVIMNfu4T49b z@%)d(Q)AWN&4SD##aKL@mP{G%T0hw@QU0Wx#RE~OPyP-oE~?;#=rfwcc5_+V$xII| zF?gS0ShYy=wO}aun8VTGSyN+@>7h&h=&PQw1euKL`)VRsA~O1(*X@&FYBn6R$AHcf zk8K*+8k!qoTAyEKK3GgICCv*3Rvx(a zLD(OxUk{q_fg^Ai)O&?t&`EN0fDC|@0eb}&2@l#Moz&|^f7_6)vx`)#)&BOuX7ZCL z^SP2z2Sqib3|U@^0lZd9)mcrd&2cFT7MHI#2oyXXR#jl$@dB|O8(!ob0Dzq$m5<&CI;aQfJEF#22gFlc zz$BXsz^@3f=3rIoMZznn)RjYRJ!@qK+d>fx=SPI1l9j!Fs9Kl{+|F>eF zeoKC7HgO9l?8?-IpnZPekQ|tM=UyJL=EN(UG3dDG5p?*9)v%fqR@6-h>O^&u1y0uE zJm8nflu{Zq)Q=~%MmFb)LM(URgAs-IbhXwu$bTK7v{h#~vZ2~wE{$8S-$)b=n5Nh+atYJ`!?kSjHrHQY)cc$u=(P{@6zoGJ*5b81*SlKk zHpj$0hbjUEnq>GX$a=&1N6I3g7)jv0UTY&~qOb=psv0S=9h$eScAd{p>?B*4D<=V# zy3(b;f{New^7Egki@}eE`ft>3pCi9lpm*|?XVxEu$+)ehrBP<+VdLup58n^Pfw0F( zpHqT7rb0e0KR;huox5gYr$YX>7Fi&)05Wv`&KD$~d$|lIqfjU##?RASHDN)tCGF$7 z%b6sa($`6<1c=Wm%MT#<^|tl&2rQCEZQ-R(n$NA5^>Y07lsFz*`-wqX>1uY9?0UwJ zs{f@g72s-J8>M%hvWOT!Fn$e=N(8U7TaWO%$6~J_9_A=dV!(ISKo(^7%ZNdti%_xP zBs7bDd(5Tef8c4*$1IZVasqaxHG_qYQ&7bZbLaDmP5Yj}&gUBxhavOqSQJ#^AUbG? zFfJm)@sX%e7xh=K!2vg#MmybC>!+F~SvC7#tdqgj6MD7Qj{8s;(%?^ERd682T_MvNwv1f&E$+DWGV`7_ zRiCkTa~^JP(I+eC9B7l#xaKVl~_!tI-e~2NQ-j^ zE0e!BRp?t`v50G7RB`py|ic^Ds@sV}#%Ge0BYx;Pz zk9v#Lp#SU_?}PV)^jZbiazu#FGc~j)pnDj&xn6g#K=ha8^Gh0FM0m`!Nwe60h`l#A zSZqi?aup>oVZS0TFPs^K&QFtvn%~Kk6U+?Q4jZP2R2g?A>=ad1$NyeK)t z!f=?GmIlT`3$z5)IS)jCR-eE?J&^0M87)lZpf%b}Hy6k=n6ILR$%WWM915=WKZ+kz zH~_C^{5#NmM%-Z{(S+&-wH<-N_4}wClS|dcl_4T{<8a0P5pCwRCIbuarInluN0}WF z>LLjS7D?Gwq}Mk#ml7vh34Q*{^(|_Es3&^6+D-eI{mQj#Ki(50XJjM}4(gSi!HaV# zaL2g@Y3L06J_@%m#0o&0-ErsBxpUw1pk`Phs=0qNTcE7zp#%@eX?M-<)@Jg<;T zVs~#r?2KibCiRpKNlV`%QyNv&ii5*3JQU=k`MfOXvoZOczvTmk)LRQWKAqQRI%c^| z5%SWNCgn%u9oFrhCZk#VQ8qTXcny+X0YE~vp@5{+D+o6E z%un8^Vw&u5QZVo!pKjMcxqg0X6wJ(JN|y9zpY4C${B$fL6Oh^}15U5Q>Tp;paz+^ltUfF+U?Uf7Ej zb>Np$MudDXs6ZzpKLGA^&T53Cp2~gI9^d`gti1Whz-5FM?( z>=L-RR^p%UQZVRYgIi0s<||MPy0F%y(O)}(mRe`27D{KCaNh&kIH@l+|5}a68x+ zzh@un6f@JbF<0DQ5EB8t=(5+o{p+5z5E zMmK2}bTgTK+8fzTX*R#3ASDIi%Zm7>+J_?2&hgjh+v?z znunb0)T;SWmb&6A$80nQ-$K zgw6!($U2O5qlStK7*wn2m^z5YA{1{d_~u=~HxYy6ci|(_r4;>^LEonlH8T_GlJM}k&rzY^tyd6dHrS3*p(oD zjgp;Fi7N1B^6bt6>D&r*1WZ!O3Jr~U36Mn3U39s##o%#@;*|W^SND;YHFwTWrIh8> zX0%SC?3UIs5&N}+dyZqqn32(~d~A>r%2>P(Rg8?~+#RHaJQ@wX$0wZsDstC58>{O1 z3I9ZXS^iq#m|HOx+MU8h=<_*N>C+i@N_-e5nJv>P;Q6R@nYjvKxQ zOvgjuehsV7|F2(Q>umx9@ZF7uxz69I&q;24m+iENiD=!3VIL7}K*W2CSoS^F2$rRT zVc%iXFR2kVmsEh1To(M|6wV5#B1G;xoN;POfjPn3LIyGt3XyDH+2%t}V0yAzZCX@z zi~i}{Sw_N3U-tD3c(Vo_hP4$-W%C!xM*)2?#M>32`|I5^aOUED z6|~^63m5h{QS8gc(1@6^8q};X2g=SIzsDMzLwscP1MxJI(gvLe*Yt_Mx&80cG#^YBujS6+O`aHlr#86>o&t5Z7pwA(|q$dl*dL z5ottzVW`x(5d_cioNba%4;H&v>DXS?Go`;0*EE68853+q?3bB&<~wAeK3pvnO4m;1 zg3HEqFU#h4^ezU9G;Y*rbl%D-$5o4mKxO^|w*t%g{Gf-On)ENe_(#_*5yXCUKrE9_ zMnYRbiN-q*ZPn!@u{%XvM}wDRD*Fx@c3ENy^@w_5-p+RY3Dt1zb@GWG2F4~Yh|7U% zS6mhS&6>SImEti`Aklh?kJ!i4`%Wr%mi-`P7ppIe(B$g<{sDq6Jq0nZD3&Bo;hZvt z_Z=A%KsABDt}qv@HsM0hQ9y&-T1EqW8;j$(@M<2Zja|AVh_dL7ITn9wp^A3Ql7C(8 zhN~+{tyV~{6bV5k?tRN&a`b5!db-<u0NAh-FSOW^PtNgKe&2m+p5bU|qfokhjKO z!hRqO5_yu#foDzJI&L?E?&b`YW+1!Uf9GlclN7*k`Z@CGr%gAfe>>uz|4qo*d(=c= zylx)a5i$BQKB=d(e|JpBtTwCJnYpjH*@mKjEHAL{XkGA}^UkQP=oz;3LCJM7Uc~;_ z+1-Z3dacpCT}xNIYW5C&F_pRC;beVh$h3LIatJnqxJhhy!~Q;u0=?q+b%2*xz)Ar% zcK;au0Lw{G#6&~%^%w{kuJ&Y;(LRI*3XqlHjd~|p-a-Q82^C_6qFq)5^D^C#akq^{ zU_}E46xfvl)>Y~rtH81YD@^(xE=)?cR8X@)r2uvpY5n|J1UlbZsK6EcYnqJUZZK>j3qF7!vswc++nf$HuC@9bkS zLc8HM@YeHS0;-<^KSQW8$9769cn>9eW+J9|~3g-*L94NBM|K0LG5&#+v z1OiG7{PF5E=RAV%u*0|@K44DD9Qd&)*dZM{NzlJO&0ia{zW@DfRyDP_v1|g1*I5V{ zdr4?2s8~3?gjw@7DcS%O_q{_#9GR$`BUl&L$8$F;SaMxLuhctJA-(rMZq>7OA(W5n zqgHCK$Ofz}R0)oj;p7^E4--i+j?SV@TzcR6DVSC>-MMfVq_$B5_Eg4#1=dqS2r&ob z84~>3pjQYags#kIjC@fLJTt@7V1xTZjO_fa(fDB2(k9ln!wM%Lyc! zAr(CB_j5ozV4AS@%(l2D%=z@p;Cc}kL5=o$27jxIG>>iyS(YwA&b0@zv6V~uvhgg%TH0Gco{OQ2j#pbw%zBc{w%QQ_70}t9aOE(9r&dSufKjHV2D;#-K zuNb(2XJi=;s>&x9$U{AfugZZMX<$eKXTctsIt)|s!XZtaBr_!2Bh>9 zq@>>`K=$ou{B`2VX? zX5SXibN_`^-iNoOxn1fzJla@jYDt#tmo)z={iqcC;ou5)Y3omx-Dd$KjrQo zCmWfP;hZE+13M{98*pumd3_EvyZWt=M)Lz@)#Idbas0U^weT&B*|r7-PI&CqxTm#r z&`;%tuL6Ca%Cpa`(PjBP(ie)#ruNC>h{s7YeqZDtmvxdHkb&^hRKZ{J3=kkA_*}&K zbojNtj?dwF68dwQUa(Mw3^5>@$PH;e?jMxbL2!A#1)P=~^JX3<7u2{1gv!`ne^b*b zfN**m0~e+ZDedJ_f_?}9lE2tb^^qO-{fiqjgI7kDV_R_Z#s znYl@cviHRDHb|Gml1mf=n{4=UR9<~;N;cSIbTw>tR!E~d3EXq-TPurCXKT%NZ zxI_;G(LUYNW>pJ(vQTaAV9|no5`k^GdD^|aI=r3*#IC5-f_$3l@1VZB2nY21>Pz?^ zKLrrH0k8QDQORFFJzc7B&S#ywG;4om*F+};qrkMs#W?H*@uqw<2E8D(#tBgLV*H;$ zHmBl9K80GtrUvnkOxDg(yfwLkq6I`1*%FXF3{yQ0A|c$Ta@O2C*Brx$!tUwE5tP>n z-C}w?_Nek>x+xva>P05(fxumtU?}5vq-A5{sN8x*!YUjQM6-DyO3pqG=SsY8>9n|B z3>|V#ww`K2FO;vLivzpXf#ZvXn-V3Mi~1C$J5R!>e_%4BXFl1EFHG*cOitGESaJP_ zfl{yl4OA}@o)oV1Z#Fo!PXuyeF<9=K+GFNM;>sWI=~3Ru9gCPySEz5;p`3iOP#&`_ zbO%*s!DEC#Ta6G&g~*RPU+}C7tS(wNB3u<;MgK-abZ_c6mv! zad>JP^fsw})gT_3$ zy0$m^IIuL?d$@6IggV4zagurpli6w}Wm_iZEDY~-g2x@!*E>x&R(HyqXL_gZPO5%8>*r-v{yk?)4dNEdiu6w*eG%xF@r?4W1Ca0h*NVS4Qly$#j<+mm z&-A5#!Jv^dAuB}@W2nmj>qS=a#`V0Th)8Ox(}F{?a*wcgEJ7PcYmJNQNbno6F=o`A zn}-cjdy4wVk$dD;<;wJ{(raw(f8}L=PI8t0q-(4*{cYx7GX5w|;oL5jmTh+Tg}w4` z7JkZf5IL}5s;POpR0M;gFXdpz8UUp3q6E3 znM(cvS^oNBwo+p7${s=ZH2-wHo^&r0`^5sH-~hBNXoCp<*NUdt{_%Q0UtWV}O?02A zRr63Y31IM3ac*%&Y54o8{M}M|??C;RKMpj!?6gX|4#xXW5#e}!{yNb=XS+yvf(}h_ zyOIC3h(}LPfVT`pNN>ScM(d@~dbHo2j}P0rv^LsH)qt8J|14K1#c_Q(-rP**bqKvm zWan^3JD16@V3>8M6U7+k|4%7Y!IA^~W#au-7yeQ(LZRL`BFh9IMK2#rd&b`xRIwvo zk$kw8t`5{4C)(y6kTz1kFQ&keo(K5mef7>WVO}L3LvL-jDaGEl8Eu9V;6snjPJj4I zzJEzma2|M&Hxqtb|I7c7+yv{X3MI88hJ&Yog?C^JU1J7FSVAmF-P`=w9x%(4HmRGW z1fe(Y5qu)@E<7g^+oYj^m%pr({rvdJDK)-$$dMl7_=W%W0yV_o_M9PMW`FqzFgWv~ zg+*?|J64LYP~WAr_<6bSF9AjmJ*8OkA`;7RuusWa9i|9Ul8|6XJ)AwD8mh-Uy1pHh ztkE$O)M{^hdNm1qz4o~#Dk+*x%>Vl4f0d>tAGE;|T=z-;+9}PI;Pt7>g!gbx7>F#0 zK#vys^SZr107T8llwXn5cL@{@^6;Cf*4g+SW#*$MO!8^RBRmK&HD)+huZE>^YCVbg zr*r;~9{dVM5lrAFhhUp${&s-Q0=?-(mi{9iz+gX@5!HLbTQz(D(grWa=&MoH?nZlGf2$|GqUh(=X zEVS$;9#vf1_W<ErVx?qAOf#3tkt!y&R9j z5#a+#{}Y&d3)(!Iu88cv)^yG%c%2hy1=}h_KWMC}1AEJFRT^8>0sTYsYXDe`lDh*e zdfEHxQ(nsFz^lHyzLiC<5~a>9KRr}*OmGHk!Qb*9EfqlU7zn9Od9@9*{(XCC3f@^` zQL8IH-bF;cd4i5&Fby4ZDUO7>9bDWKS z_S52zV(P^X@vuZJieqW@h1~>nLh|yNUQf`=dsuBU{QYZw?T#%LJmZ+*>tuib-|Z|3 za)d;gLN&6m^8*Q9V~174b1t@0PaD{9Y=?Djnr$+>*oiUH{)mYz##g#sC|qswXBknf^bGL~vX(xtW=+`AO{l)k!$QIRuG zy9DFkZ27;t@|Fwl{y-M#$m+E$X5oFQ@GtrOBhxPuz+IQsF?;-M2LI>B!RdUKbNG5p zF$Y#m$e9BVx{~h&8ek{T4=sw)-7tA_1$K@O>(NYE1oJZMz=V1lYHY7sV6kL?rLuBH z5$rP!*ovlC*+~4z4dj%!f=HEPi<0`mQZv|!(k+qL_;2I$pFC39@TABXu(K%j*NJS= z8m1CiHmnfsfjBickd~BiG|*ots9vExgs8bgk)`MX&%HxArSkcC+4lZLi1SVfzJmZ) z%(#Cspj6ILIn=t24aDruvq-apvcQ>se*eIO^ib8)0yqoQiTOnRo96uaTj@zP9-LsX z_Ge+B^MTPBN{>$1ma+NV;3p6Ty+CZCkVSOowq*YQw`uFUmM?y;%Xy&b5hw48_U5N+ zn;hm$`&JtH=KinQK3-nTe{UXI!gF)Q|3{90V@j?+SkCn&j=}N2#a-WDSO!#|Ce*3r+Yo! zvfgTGW3<)ce}~JOc=sUt7!e++pzx5?5u#3$lUsuiUI_7NtusP>)pI7^>r2NQ;Htv*;n6sVRhU3BT~Xdmw&trN%91-LZ(1F?3Mg`rnz4pzEqC+!_)HaNlO7Yat8wuhB@uPxV*jaj3rXZ>2N^&!ou%~2lh=r z!oRFq>`neP;57JI*8jG?3>jCZZ818qM~(eVX3&8-ezFOoOj~5?PdB{}lRV(|QvEi+ zy}|w4RnI5)e)|69V#)exb_wZzD!Mn;Fa2}*@T7CEIqG>o-F{K`dybd5O5$x3Nrjo4 zR&pB6eRge+@{j#&E&WI>D7X`EYXQe=wiOi{Atg3}4HN(D^;GR|v;LI{pB=BO@TPeA{%?IO4RQQ-Sc(FU zob{lvdwupMa@ZyGI+Xvc-eIV}6*B^NB|WISEBwLw8~L9FD0?El{; z>ZQ&9A*L)y~0%0;2n@*zteozw_k3YKem@vHp5dnq9q{! zYIG(Q2)|%LDuy^pSPro?+)H5)-~0a7$x}amFa2|uqkgTHfZN-{TnuyPTE91$>R|uk z@W0|n)?I3uQyC`hx+k~ImgmRo+ofVn|6VTu4(lQZGNcq%5CdkdBah53z?L6@g?CJJ zm?3cCrX0&l(}w)_?@9_E*41vRVK}Y4!;W#mWD$oC|NXXFVp(hEkf050kKFKzy@lMC zZqyarVW;`vo4+vI=e27;{C&IqkRZ0Sz;VPKSp5FD!(D}?Sc0b*m`;ZjU?3@7E>u7c zBMep0(ETW=06dTMd(%8z3Sg#!)C+*-0Z)|3U|D{Eq1^#^8a_kE`MnF&kxf8EB`V7W zIJl)?B+HJ}cR^KvWWInr(0`AL^NFgvzmvv4FO#oe4oz4IN literal 0 HcmV?d00001 From a9f187ba8b64f2746c7cfaa3415c49e3275c9a0f Mon Sep 17 00:00:00 2001 From: Alex Stephen Date: Thu, 22 May 2025 10:49:13 -0700 Subject: [PATCH 2/2] lint --- blog/terraform-post.mdx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/blog/terraform-post.mdx b/blog/terraform-post.mdx index b0ab672e..4a7e975d 100644 --- a/blog/terraform-post.mdx +++ b/blog/terraform-post.mdx @@ -19,7 +19,10 @@ with less overall effort. We’re excited to launch our first version of a [fully auto-generated Terraform provider](https://github.com/aep-dev/terraform-provider-aep) based off the AEPs. -A pipeline showing AEP APIs becoming a Terraform provider +A pipeline showing AEP APIs becoming a Terraform provider # What is Terraform?