From f924eb80211b941857aaf2f94addeeca53bdb10b Mon Sep 17 00:00:00 2001
From: satabin The generic derivation for cell decoders also supports renaming and deriving instances for unary product types (case classes with one field):import fs2.data.json.jq.Compiler
val queryCompiler = Compiler[IO]
-// queryCompiler: Compiler[IO] = fs2.data.json.jq.internal.ESPJqCompiler@29bd6cb3
+// queryCompiler: Compiler[IO] = fs2.data.json.jq.internal.ESPJqCompiler@5605637e
val queryPipe = queryCompiler.compile(query).unsafeRunSync()
// queryPipe: fs2.package.Pipe[IO, json.Token, json.Token] = <function1>
diff --git a/documentation/cbor-json/index.html b/documentation/cbor-json/index.html
index eb109ced..28ef6cdb 100644
--- a/documentation/cbor-json/index.html
+++ b/documentation/cbor-json/index.html
@@ -264,7 +264,7 @@ implicit val stateDecoder = deriveCellDecoder[State]
-// stateDecoder: CellDecoder[State] = fs2.data.csv.generic.internal.DerivedCellDecoder$$anonfun$coproductDecoder$3@3ce1acfd
+// stateDecoder: CellDecoder[State] = fs2.data.csv.generic.internal.DerivedCellDecoder$$anonfun$coproductDecoder$3@a88ab0a
// use stateDecoder to derive decoders for rows...or just test:
stateDecoder("On")
// res1: DecoderResult[State] = Right(value = On)
@@ -199,7 +199,7 @@
// same goes for the encoder
implicit val stateEncoder = deriveCellEncoder[State]
-// stateEncoder: CellEncoder[State] = fs2.data.csv.generic.internal.DerivedCellEncoder$$anonfun$coproductEncoder$3@5867c46e
+// stateEncoder: CellEncoder[State] = fs2.data.csv.generic.internal.DerivedCellEncoder$$anonfun$coproductEncoder$3@59444fec
stateEncoder(State.On)
// res3: String = "On"
// works as we have an implicit CellDecoder[String]
implicit val unknownDecoder = deriveCellDecoder[Advanced.Unknown]
-// unknownDecoder: CellDecoder[Advanced.Unknown] = fs2.data.csv.generic.internal.DerivedCellDecoder$$anonfun$unaryProductDecoder$3@40f099a6
+// unknownDecoder: CellDecoder[Advanced.Unknown] = fs2.data.csv.generic.internal.DerivedCellDecoder$$anonfun$unaryProductDecoder$3@275a0d62
implicit val advancedDecoder = deriveCellDecoder[Advanced]
-// advancedDecoder: CellDecoder[Advanced] = fs2.data.csv.generic.internal.DerivedCellDecoder$$anonfun$coproductDecoder$3@37bb6308
+// advancedDecoder: CellDecoder[Advanced] = fs2.data.csv.generic.internal.DerivedCellDecoder$$anonfun$coproductDecoder$3@1f344797
advancedDecoder("Active")
// res4: DecoderResult[Advanced] = Right(value = On)
@@ -223,9 +223,9 @@
// res5: DecoderResult[Advanced] = Right(value = Unknown(name = "Off"))
implicit val unknownEncoder = deriveCellEncoder[Advanced.Unknown]
-// unknownEncoder: CellEncoder[Advanced.Unknown] = fs2.data.csv.generic.internal.DerivedCellEncoder$$anonfun$unaryProductEncoder$3@60ca746
+// unknownEncoder: CellEncoder[Advanced.Unknown] = fs2.data.csv.generic.internal.DerivedCellEncoder$$anonfun$unaryProductEncoder$3@50ab6f80
implicit val advancedEncoder = deriveCellEncoder[Advanced]
-// advancedEncoder: CellEncoder[Advanced] = fs2.data.csv.generic.internal.DerivedCellEncoder$$anonfun$coproductEncoder$3@60ae575d
+// advancedEncoder: CellEncoder[Advanced] = fs2.data.csv.generic.internal.DerivedCellEncoder$$anonfun$coproductEncoder$3@2beb7156
advancedEncoder(Advanced.On)
// res6: String = "Active"
@@ -269,7 +269,7 @@ import fs2.data.csv.generic.semiauto._
implicit val MyRowDecoder: CsvRowDecoder[MyRow, String] = deriveCsvRowDecoder[MyRow]
-// MyRowDecoder: CsvRowDecoder[MyRow, String] = fs2.data.csv.generic.internal.DerivedCsvRowDecoder$$anon$1@237c9026
+// MyRowDecoder: CsvRowDecoder[MyRow, String] = fs2.data.csv.generic.internal.DerivedCsvRowDecoder$$anon$1@2c8c395c
val decoded = stream.through(decodeUsingHeaders[MyRow]())
// decoded: Stream[[x]Fallible[x], MyRow] = Stream(..)
diff --git a/documentation/csv/index.html b/documentation/csv/index.html
index 0c08799d..40dea7f7 100644
--- a/documentation/csv/index.html
+++ b/documentation/csv/index.html
@@ -200,9 +200,9 @@
val
textStream = Stream.emit(input).covary[Fallible]
// textStream: Stream[Fallible, String] = Stream(..)
implicit val myRowDecoder: CsvRowDecoder[MyRow, String] = deriveCsvRowDecoder
-// myRowDecoder: CsvRowDecoder[MyRow, String] = fs2.data.csv.generic.internal.DerivedCsvRowDecoder$$anon$1@27b76738
+// myRowDecoder: CsvRowDecoder[MyRow, String] = fs2.data.csv.generic.internal.DerivedCsvRowDecoder$$anon$1@7ea18cd8
implicit val myRowEncoder: CsvRowEncoder[MyRow, String] = deriveCsvRowEncoder
-// myRowEncoder: CsvRowEncoder[MyRow, String] = fs2.data.csv.generic.internal.DerivedCsvRowEncoder$$anonfun$productWriter$2@261a0e86
+// myRowEncoder: CsvRowEncoder[MyRow, String] = fs2.data.csv.generic.internal.DerivedCsvRowEncoder$$anonfun$productWriter$2@435df98b
// decodeUsingHeaders can take a `Char` indicating the separator to use
// for example `decodeUsingHeaders[MyRow](';') for a semi-colon separated csv
@@ -453,7 +453,7 @@ implicit
val parseableMyHeaders: ParseableHeader[MyHeaders] = ParseableHeader.instance[MyHeaders] { name =>
MyHeaders.withNameInsensitiveOption(name).toRight(new HeaderError(s"Unknown header $name"))
}
-// parseableMyHeaders: ParseableHeader[MyHeaders] = fs2.data.csv.ParseableHeader$$$Lambda$13101/0x0000000802792840@149a440b
+// parseableMyHeaders: ParseableHeader[MyHeaders] = fs2.data.csv.ParseableHeader$$$Lambda$13111/0x0000000803633040@1e08302a
val withMyHeaders = stream.through(lowlevel.headers[Fallible, MyHeaders])
// withMyHeaders: Stream[[x]Fallible[x], CsvRow[MyHeaders]] = Stream(..)
@@ -559,10 +559,10 @@ For
CellEncoder
, it is even easier to define your own as encoding can't fail, so basically it's just a function A => String
. The easiest ways to roll your own are using Scala's single abstract method sugar:
case class Wrapper(content: String)
implicit val wrapperCellEncoder: CellEncoder[Wrapper] = (w: Wrapper) => w.content
-// wrapperCellEncoder: CellEncoder[Wrapper] = repl.MdocSession$MdocApp$$anonfun$9@8886f07
+// wrapperCellEncoder: CellEncoder[Wrapper] = repl.MdocSession$MdocApp$$anonfun$9@6cbdb87f
or using contramap
on an existing encoder:
implicit val wrapperCellEncoder2: CellEncoder[Wrapper] = CellEncoder[String].contramap(_.content)
-// wrapperCellEncoder2: CellEncoder[Wrapper] = fs2.data.csv.CellEncoder$$anonfun$contramap$2@7e102eae
+// wrapperCellEncoder2: CellEncoder[Wrapper] = fs2.data.csv.CellEncoder$$anonfun$contramap$2@400085c2
RowDecoder
& RowEncoder
RowDecoder
s can be used to decode an entire CSV row based on field positions. For instance if you want to decode the CSV data into shapeless HList
:
Zr-LjVl4?}^SUTL(>nNEoH=4*qzcA(Od7?P_4LVk1ji z5a8XP+3{i(7vKe7x%i`4!)46p73eQV^e=w@LHteJh|5u@)8*(`#Pl%5YU{4B*!k|3 zi7871!(-8kJ6(bKiDwud(*b}ZUTHOhceUS6X;m8&7T+X`ag*%1{&e>g`xL8Z$c%7q zJWzCs+Qo@+@bxRG%gd9=v^l#|fA8pSi_5M5=c1blC>{pGa-!OyBx?tRw?Lf3e(#2w z&g8d^b+h@-oKYRZ4h1!WE6~SP@zQu!a zSe@*_L8}g%N3u(qUc*r_tw5zI2Rn><{by43H+gMR8WE1Z7q7z|LpRgoots2Ai0~ZM z4){&&Asg1()=XMxgF5;7K)PG)%nnWnlk;#~+La$CM= MXN(v0l!+tPs_i zBW}@?_~_}Zxnsvf60O9e{}Zksi6|EjDU-YUvw<`A;F&hpIIyQW?;h4ZqS^P?(Ejv% zmP_YJ@6&T^8p`Q?&$} D&^V_cx 8SB^_?QwdBRj4SjLes0KWSypyH9IT`)RG`?0Y}G4H!Q?I>b4lJAO30 z;}2Nh_Yq*g`{>1sJItTnbs2{5)>8xC_k2gV!}{eR*3I22ux_tO1K#)DL5I%%_Sqrk z{g4fqUJN&S%w8V!aK#NbLgR}FG@=HDhMqXkl?Ot;efiz(hui-Gy~Df@QWgLJ+-eey literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_ede842a.pf_fragment b/pagefind/fragment/en_ede842a.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..11f38674b256a75f84a20556bf6d950e6405b224 GIT binary patch literal 2412 zcmV-y36u68iwFP!00002|E*c;ZreB(eig!7Ol`oHV<*kUK!JAK&bB}=i>5QcA`J>! zqHH#j=oKluMw`dj7uYx0-;3Qx>NCuDNb2TG>dXuR#1hGK;o)~a@=yyt6S2&qPf-|s z?G$;^nRJGc3X4=^h8wA}VW^kGnaD&g!(pf22~}p$hjHKk|8MsFzyD%?bDaTuqoN`a z6ZT;)Sggl`h#NkD_`r*^)DB>aTrFiJG~ $-2jQ7BMYSIjBcO z(6F=~u~_Boy;?mNp+c)2{7f(FmVmu7Eaf+_APo~-ON=s#>0+@^xnW_Up_S!o#mstv zQPaXOi65>-#9% pok}WjJRc&)A$V1>;Q1StetN7RaOv9vYGeRl1OgbI-_B zP@A7pz}}V5$9-}r7m0*Xj7a4drebK$qQNSc27ztPlXR&CjnE_>*e;pPf;TeHm7BOh ztW%W>mdM%M3|4}E>In>BQY(z``F&e;Pwnkwn=;!=`pcripNY=DOwlTV;fkr?qIh zhlqtmo&yZYnq|tcwJ>FjT^y|vIKUB*nSxPTxk6(K&=d0_A*V8J@**@epL}L #IDL !@TvJi3IgC9txKLTnJs{) z$LwQ={$yYGKeKP6z7g8=$Lw2Q!A#yC9J6n3L;#=V;tggG&xS)MKVg?>MWEVx&|PW5 zbFB+6Zk%-i8U;@wdubm6q>|}cy}ck*OP;T c&s}@T#xxow%+vb%UVC zzW?t(&l@O>*)x$OWj6j~-(F-s6Y0fgS@%_DN{xLMkS5A2z%R10kp;BK-1Btpd4hs~ zU?(!ff=Vnf&qAR$%nn;dUsa qpIVZwxA0NRt<1~G*SZbtyLp6tYk7u$oNvX{t@@(shZ;0e3~t}*{h zL+Do1&mt^ezPeQLZQvU51w0aI-`(nr mXwaeUk6;`rtX+cD-Ii{mACEKb>T{N&Na$;nA9!j|E#wG~jb zTwIP@q(+gqM}>WfM9fjGCr@;>fomwscuI;Wq04QtK@N7G$v|_=yIN9EYge(mfI@1= zQY2At^1CwfX|yDpQJG`a`&ae^r;=Z3tpSjyAu$kPWKXtMa m+U43<8(1uQO2&f zEpbcnwObu+-YemcDp?Jmc6vHWZ(*x&mhMXZ(p=!ZvOsIgwRvD$;Ezy(UCzI6vcmZ6 z5kHDf$L-m0Z~2hv*lBDC?4HM;PHCg~_~hj5;%w7=3ob5oPBtl}>C`qmZ7XaM)T6_- zH6iHI)+*}lgwI{%bQgSfGSwe~&lYJl;nU!)BR)Ni&yRM)=aA{N;B)6Z{&dnEPsQ|X z^yqZce7A~RO}(cr>MhZ=U$R{GdcB>Vvo?iO-}Z5^QJeilFV(s1T_)_os;cU6&RmyU zH}RDxaLeDku435B*Ag4JjA?VkiH%NeZL)_Vw_#YG5A41ozHqE66*pojRiR<3EV5Fb z71lN;$r7c&oQb><)ecZu{=qSAp1?1RL2v@YCHAXaEwtUj=Qv9u00|u(2~>8dM%dh0 zJ1}#UGP8Nt?QoYja IUs@@B^=?7Iyuyk3noX*h;|VSF^YX1suDfnooaXBAe)Z+L zJip_y&kj=6KHxizfiD;Xqipyc0?sGwg`{P;`hXd%xGfW?|1h6xh9P|=%aFWnxKydA zxM$QOv5y@(xB+K)9+!IhH25v;-FAd6gWM3*LVgSl>A8Q~6-)cR;I%CfHDA*ypRK62 zw`WS~uIfa4U!d%3tdc~nXnOT-J!$UTZ`M%Xm6K-l`|Pug1q$MNGcRk68EWS}nXz%Z z!Mb$l;lQv7=j4Lx^-0#V=^&N@XP<^YsHPl_Nnj_G-PtC%6Yl=}LvXfrIMuED5dDj8 zz}beQ#4EW^wLBZpt%1K>@a34T&v2)p7b>%rAEi1ax6ERJ_J~zx+!@)L`B~=Lcw61L zND^41RKvxB@YGehyEjdCR=Sl~l?&RT+U3H PI(?$cdYV7_qvXCV jzxyIgBi}Ss6rz z-!UL&A?@h7*Kf-ZIlF=O4$_YFG~H`3^Iy@{xCh>O@#{;#^7_`6g5~|8^$JDL++Lkx zq`h3i0D>dJOk|H-Y3@ygf9ar2X;fjEK<|kB01n*b`sdCcqI}x!93l8XHf&nK@)`1iuBj(fiBE}^svY&=Ln>75fzOB;-E(B_pk(hc zd-%$LYBu^5f_?F!;p}A8@5C}eD(cSU>utZ23d8Z#F(4y>FA@F=1mt9j4;pBh8?(@p z;ZUZtK+mbX*MU^S6oqj%2yvyG^JKUjs(cpUI$z9(yS`U^8V94}Krd&d;!ixG4 zH}`08?(Bm_!Xjc+XbEsooAk*wtC3lA>I#etFyiwneP;NA}qoR3PmS+#y% ztX|Ol(&JLP-n|AY9#9qFDZ@VdtF%S{55B!_nID~;ALalOr?ij9ADiD(EwzjvpI;m} ed%djf-! 8n35MpFSO{ ztKLfO>85OBE}xl}X~@huJ936ikDF`#d3DCrnwu%qLf*~fePbg%C^^n7w$UZ{$NnZ~ z&Li(Z^26j`O8({K|C7QSQTPuOzR$*bQRP1KHwx9*IKMaAY;EhujhkbWb~J^Lw(aBe z|LVroPOPmRHy%$sJBp&SQLB26jo3Ov{yz9oC$E^ZY<65-?YNq9wZgcj&U7(TXz$1s z^664;j`jH+Z%@3_+G7XdqZFD(q1jp o zd9L;6;}et2-4yc3Yas7#^8RfjJQpXMQz$&mMtN2bF$Hryc~6i(#Kw4X9x-p*_+tE{ z%Irv99eE4MyM?^x$d8g=LH@zyH`^q4#@n5|i|ufJ={gF%Wb3QP_1ch4k#`~{CPlIP zY; ~LE}p>=JhdR)!;IW{2!+Jr(U+1BcD4TZM$Tx+(}QJiC=(mKCp zo2tik)=Zo@VGdsA>g(bw)jj%^XXGo1t85hi6F%8ytE(qYoHU0YntIf$u~H$qx?91$ zZA*1c?f3~3C)G{H5)ZOt%wx8(x~2nPwRnp^x-DMe?@Yq`wLSX&GCQnyG =zZ}KwaEhFzL^4>)~-a68o2J7|m2%e(wkre(}ch3dp9`l;{nL_K3 zzajbClYb=nv&lb;{Ld&nl){@*cn|Cg43S5O+2Ac?jyH3qHFL4Kn!;P!8Tu3xpKEVR z7n^eVIXVa7Dx0oZq(ivdhUVgbHaB}v=ymdzTW=ZnYfbWAAnzmD7dw)F5c#iDI7gAk zDY_a(&!xn@l)S+DsB7xXw&?HU6pB-*M4@i-vgEascMo}wllLq6gKdOAF~^)reiE(d z$v)H^ZQ4z@x!F7 r?Vd>o35Ilg)h;8b+ZG@|wuIkNl9* z3u{h8UzA=PW@Z>{)n_oVN-rKY@7g%Oy_wmWyd7l!K1@CaaGaa=spMU&(|$XJp0t_T znhE1|?4jYdzIHrMa0Sn2OYQh^6DCfso=_Jo#uVFFJAVA6$&=jN9f =0doxg}6=$D6?*BrO@zM{oko*LiD|9qxi@|Z<-W~VJHe1Wbz-|55gEl?h z+9 oOq#sAY~y&oEhcd7(UhpMneo+ia%q4Lon-6B*97g~qrFImC^-t{ zwQk8junpsDCnyzo3+3bak{LzeozU|52@`6@>(zu!UOyf~_ZC*k&VP%-ms0qS6h#s| zv?2KJq>0sYlp<|~x^h3EogMM-$yVDa=@u-Y2$Q1pWDgx? Zs4Fyf3fuw##vp7y!GZ+QTTES-wjgyEP3xyq!Q0-9GyGTHuQ~SIUdxyvv8zs znlKT|T#JDX _KC!O8h)=#V{AF76l zdfcRy`ibL}z&~VLCr+4HJ*j3=4gSVwl6+XF;vz+ziCm}3yoq-wjxTcq^%LvL%h51# za-Dk+v6)HL6DGRvb=!tXj!IB?6dp~SG^uZ}{O^F;Phx7%Q*}LsAHh_;MBc{~X|#=# z1`K9xTVL02Zh6I@Cl55>DzGqE@m+Z>wy~MInhAB~DQ>E(nTT;s USa4cTnIp^yRlAP<+??$HCDHf8hKVy+?E-BC=J8VdQwTvKN;sJ+~F zkNMBFOWC$uy0fD&EvSBqoiU(xONq&`JPXgT>GUaf5L4oB%|9u$3xyWj5Ytf*yi>>< zV!f4>_*HH8Fo)xMn`;)B+symsOY#!rVTVj6zlr?0X~^|>F%341V={G)7m zrsNo?OKIqMs)JBJ$rPA6({p ItIEfji#LLX7+8?bS5!N `Rw{|@r+Bp;0XJD`f>|0--Rc$d{FTuI>?3Qxq>9;{noF1FE?>(-go409pX zrcQ3$H!1W1g}$TE&*V)YZyI?gkhhe)bI1q7Sx5c>7&7?{ jpP$V{^Ho zUUQ21*~ZVTGjVf_X)-OQ$Drd_q<@h&n7p;fn@L_TdGmxJdzHL@k$()jvkcui$|k^` zB+NLooynR@L8_P`4`Ht!P`83YVVlIwI|4lPKIRZ<6Z3l?c|LjTk%v19eA;DpFkh%s zP~}*BexV(*ax?DBD6CEu7?}xZdPj2v?%Na4vuouO)f5^}q3tQO6NNsZ&_BrwleZyx z736IuduJ?p 6yuSgzvtmDW#o;*w5HRRnSeEc24a@~hvWbM$Eo7S0OYhe%*%tW(` z+0*O|d7y*2qd~ZvDO3b?CU2;4PR&e>m<5?d{;j-Z;ms)AN#Tbm5~9cmiZoE<8j4^` z`V<{Q(XA*tg`$U0^eBopQnZ<(B|D5+v~^9%beZ|)9tuJ5SW{+Xj2({o8f->_*_#cS z=tBzaN}( zP&_7tD7_qR Y3_ g9_tuikoxQCB( @S=F&g+pBItJShAKZ&V`%!2Hg*v(0cn#IIq|gM{&% e+zZ=H1D<8e?F8}whGM%% z{fA1O`RVz>%zVF(orE394?EILZpna>=w>xov21W_XVZ-xSsW!fTH)RK_i^c9Aq;*t zrE_^@drgaO?a `B98Qflj~jWBJU}MbQTSnsq_O#1b2B>AZF2%) zy&>J&x>Q6ggB4%XO(;a9O7Lct=B_G=?#|7CL_ci(o+|SNd7IeqT&{IKg}x>KMGD6t z4ON)}pSLe;bUqsHsxsiq46dO)ZG2wUIo>$9ThRV(w_!FejqIK6c0geOgN)TwOcL z_WQRT3S1$&9+%J2L+1_0aT#sC#~sY$Z7s~4uiSWp6HI=zVX1eWoXOQ4wb@6g%`lmo zwRrSJ9E6-(jT@DL58>9C#gkSlEO6srgS^WfSGAI2Ut-`Y)T2H9%C(NTZVVuYAAKVi z FhnadnM%S4?@x^Uy2oT}m5oRlMk-3I> zG2R&K<02>T67aX{^JP8;E0{Lza+M!Vq4^a03witSr26LpucPSK6#bE6>r-qJ#lE3< znBp;t52JWB#kZySK@{( }C)yBN@zK>l{*A7aC2fGfcMIM`fa z9-z>+@+q)!ugMY}Mc%1GTZWJix%&+A-vvua;X^2#u@SVomRS$X)@=s7>W_j){Yd_r zHo6>_6Og12nSWo3ZAsq7kg&;H%&d9%J F1xn6Fu3Cz||FxV-R z2XyiVi!VuD7PCI~upNxWSlw)Fhx7`(1&({V9V&qCLIE1U^KK1cmm+si1Z@2XY-Mni zkrq1)9Fo}@Soaa;0rRZ+%=}8BeJS)ISh-uw_jdR^*`oWKB?g?~`E~?)F&rCgHpGj| z!RWupYnfYM!@^};N&XQ6qVqI{jl0zU?$-Y!-GGm|ZE%cIeLrr8@lLuB3{xhZFXU~2 zw Njy&*nk_Rvoh*zVzuVrd6 zl55XuD-`uEFsE|uSsl&2LZyr&QlatEdGnrh+B^ap(T NyA`hC3lVwBwNMTQx z0yHS}q0Y!0*;F|BLYr{H?!_eV#~ZA>38L=C*x0u4gIT$JduPDyB|gNN=E7oOrsFfw zLG+GGiv_TLdf%8auB5$~b2kt$mt4A7p97D|W%?}$>gi&3xgEr`_yjZ0EH hLKPeVSrtQG7Lu*HR*G z!wXpaNtwgRk4dF7$$!m8cwd8ZLf3IE`CpU&vl7-%1WLwzdN5CscN*YM@+a!-ou`Oo z!JJE>t%ZVqBA3?`-9Y=vc@&a-9)*6eLwHzI_=XID<%6E+U53+!$^tB-@OX-xLD5>> z{M#`rE%@Wfx-Z6>?Qt54S%%GfQcQciZfq131T4N5H3M7kY?D&CmXG8)#g-OL*1vE? z@Jq$?tOa(^>7#`Oomqj#9|ps@IT%g~?EtniWp)S6_?vkj?_9)i>N+;eWZ`JJ0oRn9 zX)?wM8G^iHf%=g*mqFw35F0rK^`4Q1I6xjZh-|o2gxlK%mwH?DX8>=%t2-9LGUge$ z%%fu{+>tU@n>) e* zfI PSV@|@E#afLN;LL0(JAMsjg)S0I0-BO#%FBUVMJL-~{N L09s2p zg&WG=Jcltj3Xx3KZaiNr%xB7bO$Ix0u_^`t#M$A1L7z51Qs`kE=28dHM&W?NtE&=# zxy*LH+cB7q_H+>vr DF$H62`A7G*JoTx_Z0} zCaa?(+t%IzlwtuG!!Ij^xjsV35`elzI>*p3s7RNwUG4>yiJNj=*?co38Ml|9!+`YL zzeZ_#uDv~%Z|Yy^h*etYEUi-E1lw%})R>v;XfAYixH`fE?8?2%pjNTR4u*iZliArE z1+3PZ9y?@7%0TwpNMwXtx#K_x4iM``V3!t(bpjyK2gvi}DCQ|Vo5FY6>D*{_ zSGu(`3(bwlIXj_gs}E}AL5+K`GrrgZvV{k^`c4Q-Ll!y-b8i7F4iRRzNsxhAK=Vdc znDLMjqI+V$9E OT>CF_qFc#3Q?!A=L{AcO56O8Z1ab;LPLb6qGC@Dd zU6~{DM!(@=Qh ax7Hu z#KYHc-n-Jd)?Rl*&SF&@pD6Pw--XXRVzithGj%iVz%LYX8Al+J?>iu32OOT6j-EdV zV$q#*UB1x#M4@pM+73taxb$(;_^)x30pQD?3&m`@ey-Doog!LJ@=u0f#y5%b!cpbG zz@a($A#aDCAwt`}&_+Y!TqAeazr-*ALdJChY@bj5M`C<(3%E#%)KUZ>=)M$fvGw)o zvZf;gyl;AsJK!6DNp*J%|J>Y(>tor>rG+bkhCmGwFcVx)%bSW2p)-!1IF=hNW#>Ds zmz1sVSic=8d7ra9Aw@0yQ$ *e}eRcXwG*(`qN8XSlh z|4I4pH+d;mtj6r)3V;pu_1ROj{tUfZcQF?L)f82<>152_{{w}4S!#_wOwku828G2f zl&GWRqm+CR_alo+VCP2JFvKvk5oF9(mcvF1Puaz+CIkOJF&g0K$j5bgg^jQ%Kgw(a zt;WsfRk29`L967W#}q3H4v4~Q1GVAd0^7To`8;o52DHP6ib4QyZ)Ua!SI6?WX#ksh zz1TW Dju3$2@3BPAT8K;WmAr4EbabIl2 z4r%ODu-50AtnArGRs3RcbSj$6 !&c?(&gFn!7*r0!{&NPoDn2xinLz z5wp@-XqfIMp%HBs>RIv2J$R0d2=IFNN($dgksUDS1#khy_CU9t{09aA`B%Zd)g58D zNbPi{1Aim`U}Y8-s{GFVeAV5*IVZSHLl>AJ1OnoEHX>ioi!$hBAyQ{CB}Uh}tv0uw z%nkE$^?(e~d$mFVPk$B{;pTL-wGK nKjLH;QUhWF M(=v`7CSf4mJZg!0hv;O{5z7qMJ>hr;Vn7`XkCO3|J%xWAdh z^mk;t!VrJ DnUTXdzR zLYruWJ7%>9e5BFcEnn72>gd(w-Pr8F7D~!aju%no5)2;QJ6vzU$jKBrQ%BmtyroXe z;XLmh3zX201cSwe=L&oX=&N3&h>bAIHayQMBp#Pbd~YTt!Zq$h;niH%hl(-Y+PFj% z= B|Go=)E11Uoliyf yzcu|33fvU;xCjSKoDgzIHPc}ublBzu%p%@DYotaznvgmr}I-z}Q@?InVdfB+c z1Ony#>iv`D#qdECO^NifhB*va V++r92@>IhHUSBWVyt2^TidU^{4g1A9W z>eJYHfM3ZUMgD>0XK=UMriOH5Rus2`dMbe0Jz_Jg%yEjS2*?khLNFY>U)xy-8Eiuf z {75Sa~Q8rWlfx;oS#f>Z#R%aJ;6GPlMtuKhWeVCY5UQXe`fEsM{ zOjLqyXg%TkFXG(*)*$q?7^dzcoIR9jpUD@di1o%z b F5%q&dYlV%Y&1TfGncL&PeXx8N?kK?HkaauKXI z7nZV%Y-ov)l)oBG-TE@9acoAxZ2W4X&biZir==KL_XTZl0r3EUc_Q0WMh~Xw5fq(9 zv1cj%48>oh#BfUPM#;nF_7U(9I2{ney@dP?Ta87-@X< 6pxn_8vu}VkKTM6 zn|jA^z3zw{)I@(F|3SU+F1I=Ed;>6sl1c&6Ki>Hri`8~=8^GFQC~|8Bgg;8IQAx4; zS*4jWXIXzih51SqnkkSH-2ai@O49~KCb;1WF*BV5HD=1}4D<*>T}9P8DaL%{3fjO9 z;j-1FY&i6l6{ad>Dseqjm{+UJ%fL-4%$ZdN>OOR)A%Ns>cXGvc3dw(_ko>c@1C>e; zs~P-f`FobaAc_?2X{Yn!Y-3}#p<~*7Wg*TI`lJ08TZo SxXbq2$KeS$1p6<}y4=FkM9^mUEoYxs6W7fI5oS3q!cZ?>z3ajh98! z!IW#rQ|0{bw|Rbq5q6}zK`f`ub5p##&Za20W!wdw)Lms*>&T$i!BMHt)R!&$GTd{p z@+-%Tfu^j=JcL{6v5E*t@mOfcssZ-jZyx3g)I7nu(a<)Prn1V6XBF6b05;lKya5uh zLEVZq%@?>ZE5 ;m=h{ZcgnENeU@$Rn{&C|_!Zl|aZu{+DM5$2`y2!MEP+G=*1g{E z*6+KORM|B1cWX5U?fezn(pA7cSaPM~dDpq(_ChJw0l+Jl@AysgTi8-it<(V!Tl54q zYRqdMcJ`RN{$8b8S81%Pg!_4PP^%-|gg>QhcRRLxHlw1xGdPi#9_rUUS2^e oTcnZ`wM3CB z 0y%@@o*TMg>sUH-cSqi<#N+(vyY%I OudNmC_M-&Zh~9O`e?RK*TYVY!X~ z6?S2yXA2Z~4s@Ysf)qkY&$jCW^q3Wt*rJjWn^9uRDvG~DiM1%PHYL`l#0HeuoD$=} zK&?gbF% #M~73~Z!$LtJ6ItNK00VG7is%7ik;3pkzyv}u8^^tk`woetoX z{9iu|IdQUW>-S3FK4kvpkg<0_fcrl#2EE_Tc5gE92_J;te6IhePSClPQM$Rs;xQk= z>+lKBYDs5xfUQ^X#V$9izi$W@)N0l7xJsq6om$v-Z#duq_qPF(Z86PS4gOcq&nFe zADK@StSCVyz)R5M&2>H=3n;v%USwmP?6|QidY@M*!TZh@_?6b&bbKE}FEu(-g1gY^ z0S}lXP{v{r_chxveXi3|taMFp<6xK3df6YVl;{YlUA9DgntuWd03y|sGDiZ=h%ZQi zL_97>5S(U7Wq5)4_l4lK$hEqqZIKt{F9*^bsa}ixF6bRUfO0vooZ8zC5du0voLFQK zy$;2h%7*uXD=^UkO=$*WU!GQ*JPm>=+y0y7=6duED)N}1rqEXGMLuAs`TUmuZwixu zmj`3Da>WK BOPE`KNw!KT?R_=76lyw60hFk?d1Ktf%Ook6ouT%G(@9?7$PQML- gKE`iMbNvbZoqaHHo^fm&fJY5-o+$CT zxaK~=uEB`j(SGg=fV)y~rSnmEm@3+G?#)6G>~T+p7>geO#u7T%1KbI}$T7@+2W*%U zn}Z9~z-;K;F%;dAqK7hHx&zpwps6D3b7W6TZ60K6L3|QZV81bd*3P!PlkV8)VK|@z zE^e!5a7@wBG+P*B9^0S~5z=xCCErrf QVgFwzhQO2|1J} zsZEVH*nZ3GX43M_wnBcclKyKI5E}(q_+*NoL~)0(0}4||*BE=R4RNG}n*-;Ldn3AV z4AiQSu`b3LDN*=%ey1MY03-2;tCt55E}-Z9x^8e~jZ)a*OnCOv-?`Qm3W7{x(YDTp z7F9A}#3mk3RSBbPHerX}y&&I?rs#Y~i~pkJhzjN!7#w RS91UtU}6l`erAXAB!OUCQ8IxS?;?ZeWM8rOsVrM7eqoX6UArIKJE_#xQq? z1yT{$T4*B*UCSt^H`ERn;u02fkH1prd(eBe2`KW_qlX;t-=Rz2n(bCN-!$vK-HQ($ z3#JNjU>?Fx=>{m2T+N-Z(NpYCE5&RR7I7q`8TT~=LpD{CZN4pkB(IJJa!dd%w()C_ zjGeE6*+=UXvmF7H?OYtZjUcZV@|heT3zh}ceIZ2Nq4J@?y~+{%Gl5B+%d37mvs> !$(0(4xi;v2KnQ@I2ljwxN++PrY70)}34B8HO`U;_;8^)4KoTCW zs)prY6;x5C53-heJrS7wOP?ET#McGh;XY;Nr>WF8-s_;X6E zMhUi_@g8FZ+AwwV)|%a@sm9>Xa%-}(q1jBha%JX^E$>-?;P#lw8>8 SCc+k-!zH>=a0$=itTe`W9K7Yl_T$o;u|8Vy%8qEMD z7>t*2TDKJl^cc*K9lk_O=uvu#s3TSiU4R<;Vzy7@L9`bOnNIP?D4VK6sOpwEz{OF_ zs&*baY+=Ec>e7$oP8N$ {cV zAh(yupFhf<%j6G4!YisI3dBjk^Hc1w9UesCq{xWtidWn?F=0M~!WU8aY6{;-;k&Rg zDEusiU*`FdFI3NQVB@#)GHPF4epch2aeL$B?PqyU%QJxf9RWtQp^Sr-06N&e@s90+ zUY0j~1t!G wlI1X&LfT~xTCq<*jvv?U#TS{iDQs(9n2D5~9F5%i| zmcs05I%U7DiScr~S?43A)6w@PpoqT55HtJcRCe|yzyG`@czzkgivG{@tYXneGXXA? zoU8b3Fp;IMUI_PNek F)|70a z M1Z{C zPthkRc0R>^rublrkD~Y_itj@4JSDcH#NL#wrR2_(JcN=@Le@x*V`|$;k>e?LhHwJr z0v3-(K+q^wn!Kory0Do`U3~`9(phW^DGQJcb`-_5vP&l>a}ghcqudPW@G<1%*7#a- ztS$C?HCt?BiC#l)$a3XX+l$%89Ao?Rugi!bqfEiExIE}apU`jErAU>$$H?Tbl&QXh zKRqt^w3EHt`pmw0Wf^ji$Bo58TRtn`0_bml2)@wRm@D>0KbQidCU5k^AtH;wqf24i ztbWDOUL0#FR{WW{a@`Ec798bLSKzaV&CY{TT&~X%ZZov%)PxX%ase<9L#v%_^`c65 zI)&|&0lHo9P&FJihk?p;7TMO?(d+&60)9(26!X2{c*WelOB`UIRD7WWYY)2CS*A0a zaRKI`%>g;a0Xe7I`b@fPtdikHg02z#a1{>b{S>MK*lo5k&rygyx^p&k*6$wV|8R=k z;boOCPHGLGR6V79M7=Ndl(JTb52`z$tl#N>K|x!(sC-7CoC!el0ue5Rt5 $9zIQ$-C zQfvS #BW=E63=IO>HEnz@rHQU0wzA=|=%~U)1C0O=;k7``V ztI$H*SuU&vn 3>Jj+ie!~k-b5E zzI+DBu^M6 >{UX!bvQF;o2?^&4!UBEuxRFV2I z<_9JX!0P4Z{+#7^kcIe%lsH{(@19C1;s)ATQ|tta&8OIMN*qdwdP+`b5np2`$%S^3 z+-axF#eSve`Gd<1N`UxBlsK3YdAZmdQf52z9oyEfV1GvM5T2rVL~wp60wz*?Yl }!hslj1(b*QGf4g$%`KQv7X7Y)uK!wH+xrhm!O81|Q36g&B3* zP@ 3u8)=yJcho42vEwY5*x8`{)P z*O#3lL&E~_OxnWl8^VXK44xFT#UjLya$||SE%kp=hWYh6`^e@3ck_Vl;k7%k{1OBi zh~i}pg2;V`utj@uK!t$Akja~Fy9PW|ACO$1W}yCeEA;UT!R{;%N~?($f|ucA^L6n3 z-!b?PogTc`-_oDo!`{B#&Rpdg=D%O>&F6N;?>PZD*Z90V &8l?=(d=;$$|w~lZ&z!qODS|cw Xk1_*af7k8#R`#}zmj?QqIFrB}IpF7TMThg)oAKW-hz6t2(;z@|gtA9E+} zEbc~YAs6sgP?$7lvTd^9j!DZ1txl@Mw+XkIF9f?KyoBFx&$2adSXJk0oqq)R1@a$P zQ*43);zsS$di;Jd*VXeM#i$_igEzg>X-W4H{pe&CO(vLq%w4=yhKpzMQVGHX>Ul8k z$8oux6Dk3< QQNiuZhj5jufg;Yl-2YR* ztLG~X_|*Sd+n4MAso&`QLb$>8sYB_?VJK9BJ(rJ+JnxfX+-Z8kcAMWkD+?ql#!Mgh zdcR|2US&q0)DSq~+`{UcCN9acRdc*I<@9F2(dS73!=J_B8;iRe(*UUlTvSwK&L-X~ z1uZ~A5GPyjUh-1{3kb*hi`(m;X}w~ue!g?GXs39ESkIb9zI1R$`|FBZe~(^0{>v(g zT&beSYzJg5lWm>kP0!5 Z90TAWQIE2leVqLL)QI^D+OR~} ccV{cst#iJ5Ds(fsOK~ z+-`?D-Uv0xu<3L1YbSPXpmx7)-~?Cb>8jvy0KsT0hlLCs%=eWR$!#iA$-zr^c4`}- zZ5Q%vc7Y6(A>2ve`x?vPy)wB5#f;^%J{L4La#+5E%$+XDwP*yzC3ZBAEvSgHittbD zn18yc29IW)AG)Vira4E4TX2 *Nq3!eW8H)E~|11jap z-P)2HZ*60k+659h$aaqlidvz^?o2mjJ7+aDcNTM*3CDF6vh8gxow@OC_2aYo`dlFc z5xXI1?I0c`Lx&1{uHmM9H6CQCAzjQkmGmMlC~!eUW!zjD7w6ezvX99u%oBdu9Lk{= zVmnd%US|rqDf!Oi@Bs1;bDwE*b9$VMjkG2%tOEKrbeXerr^u6R>Ml00ms8{ciabk^ z=Xpb)PLb;|6NLuxUS6mKspJkx2PMDI>kSxxg}WAZ5Il{wO(R)16Nch`DT^g1rB+)5 zgqx+mZn5qhYlp7fpsxd!6uFEd&xpxAJHC3NDCuChh#Aep$orK14amQp|I4t`yoNjMpsn=4S{1d5!(jv39m;BB}^ z3T@MZ)j5wM_wnnjMq$|Xcvg^^2XXLIfE$wdyAJQAuw62IVy)xy0t?e#?us7dUiKXl zI>0sA{zUfs@ye+@sHCJ?nW#GL%ToSwpo8<*;kG(DazT*d7XCG>9JiRwvAISkdrQXy zgOCiaZj~!~^b6~|XMqRMU-1qrujaYKKFeu8Ybdmw13W_WsRPlozoDLx55+e9eaEFW zU|Rrq@8AFvaTlXYTL&bcDHhtDyJF}n=Tx|q65qR-+5lrLp~vB6RkC$n6!+3C*>pp+ zF1W~_Bp-^f{n>2eT=Z6HDz8R-uC33et+TcZ!f65`Y+k5b{HAQvCluyHzGBpw>`Y|} zL$8wGOa7bgt{)-H;Rv&V8SkuOe&u+hss%exIn-{Jp0ZiC`EdjF$2oo5QrnnKmvAI? zsB1Ys`3p)s=M*46+9s({7X1>QzS9~6Te`(f$pYH|?y4L*v{4O<7l{?aSrBF`%vXUm zHWbfo41}<0Gsgy~7+`+QC9C~U#@F0@t|35ALrZK<3p!Y4QN1jXv0X6JP1Z$yIfeX> zb)!O0nr&jcv*4_?V*Z=@f;9nR$>um{?lL 2zJ xSEp7tv@eiE)$=KzX&k`g#gFeLQ6g zc7tk5l}nZ|a?N(S4v7WznJzGx4vcH{AK6l;uK%Bhg(g-R7x%GSFY)j6N*pjE3Cg8B z N7t;!HY5ptuPqUl2{}uV)J0jDgF;>nIW7iWU z?B{Jl#E-Sfc`lR(o=@fYM&cw= m28u !;0C$_eZYinz7X<&cPu3T5Ttq ~aR>Mg9*?VF@O _=1l2)7NijCD zMRIeZCf?GKEbE*&f)dABVP)i(?6yL&tHg69F%ui-bn$(8Ny5$U#RfOwPlV08n<5W^ zIilD>6q`oLkzf *qO=8nyjw~BmSusigh^U|s0zibif#+0JXza;Kt``z(Fc*5VO2`Y;Q^V9wQ35(l z4`NP2$o&_f;FS!ldn )7VmZ@WO0hps>|2V*DL$0q zRTKx@HH+fkQDPHHJVVJ_R0+$L;SAwUU ckPy>0kO%CIk#g(3Cnlcn*x`IaAiTeh37TncHh-0I-p4cyYM+8a8oxnJpT`DO zup`?Qh^6P0%gTUee7Nl@m+`qTW4D2R^hN8S-C_{KrPp@+9@rav`8^Pk{C_|hAH+Gz zH}ngJ= iXUv8uGQ|1mJT2Gp% zd3?Lr7!!eQI6``SNlIcB{#A_i;sR%EEUt4c YB$h zm=XUBtG6$YEUG@bPx6dpSW=qfLMUkShpgHvSL=s9ZO3bwDb%-s)9TU2?lMn{i(N1S ztik`!Q(*Zj?MOG_vtnJklMY6jMX^|M4CO!*|IMs$V~vHPlmE?f{>@4OC)IDqzl%AJ z#3nrbR3<8rw5-H_7ePz09S?HNCKSDe65DFccCA^qbF1c-@Ee!q(9_32#*k3nP$q@3 zGR!>ySXy29n*;b5dv}rd4F|=D>_^c9D4Mse^7<^G?uFJaCp5`Rw!5nTqgC`M>Lmvi z1AEfB&OpHFrh)G`T}WPx_q4|{HywqBVmUr5kBGr851PLCV=0R6rySlS+_2(k#P)B| zsdz^5r}#0;F I}Kyx0pJ!m)zI66kC;*&3qL*rIjPf<$>h z7vuNy%ag$zmLCLneRK*R;h n1-8y*>jAwyp1qZUnd5L96&k_KK&z(FJ`_JlSKSvO~jMt z1r9XA%C;A(%rp2lz^is=>E@sBWXBXpSE=0wh7&H&LxTuT!=0>FFCvDFW0Wx5+oG|K zT)K?EZGkFf1JAuNcb&OX8=v;!97k*tm+pX7(NZ^A)pd2j8@zX9s^h)RO!yqEJlps3 z1HIFE^*(oNa6CTGsLWg&T}d2ED soEaxZCb#;SDB(6f=S;}EEkRgZ^s7tL(c^7Rb{eF#X*e1jVUvY zUAz4?DSWIbIyPb_cJ|=kha%@NuM~NWBA fz94qa-WYT)c$`nOPo)0MZ3LBe09@=Um0D)7lTi!1 zW W#GqDllGh%MEP%`w-hfY+vYjuMpsIY7q0ZetB|p+V{?beZrs zvmF+7po6eR@h95F4p-w{$hk zGSfI_jqp`b35316Bi?&a$nrP9 AJfrlMKa9KP5(Pvgy5lA`-Do99 zs(IIZ#3n!+iABnu4BicseZ7sucRAYDHXZnj_A!o`4@MWK@=oYW)CL)SOf%yALU zj}zYcuN;Ou! 1`Cy5125Bs3`R|&;@nIhLx 721Du1gJmamU1(27k%=nZ! z*xk`UiMCVN=5)>% 7A=+G6y7ux)58ldaIk zyzHgs9P>4DQa9j9DG7b5U_#vF2&5*A;;7_}=`!_N%QiQrI~#KKeK60l{6-hMk~_PF z@!0M4LGH%J#`*>{P)@~F- fZBrJEB0!?COYnBS7A=qax`gk zbSK+T&REsdnC)!JrOS-YaDF_~suVCo`!f QF34FubfcfOf@yE0y}7Jjsr8P%IrJ9K-1Ki z@i H78)@PDkgC)Na9qn7wf-L2uyn=p08LL@fwxS#v zeLoDe8ACkV+$TeONk+7`jd6U#d(rV%&EKWFJ89VaQRvuKW)IuFiGFmPnuD@QyV`(O z*VO8h8vPxZcwghXS%Yr!hsU!O?>O0r(}m7{qSi|6y&YLDi7S_4#y(^9<_KASUG+|0 zY+mCmr@xULg$H7pE|O?VQ4RL{0GkC(R0*)cZ0o*UJJ0$Yt$m`Lh&%W!)W|7l=hz~8 z7I^a)WzRn;TYab~E-^ ?7yPU^1=9E9^2?j z-awDazQK+m&1v~CHpg4MEi^#WCRq3#u;dq*YjxSXH`DHOe6DOMt8TNR$w=3?W}RZA z&{3S#6j*AR6F?;S9Y7dX;!4XA8YxHR1jnWEMgsNXYNgu1!fP-{F*y18)>~3(?$Q*F zJBeP+a9meNB=KEY2>sDU7mOAw`>qPvU gWY-@*9i z3O!E!xv`9`S1kegb=3g!YqrhR jp=Jub?QYP8f}@1Kkzt8Hk~mWbfZ{t2 zP&~|bkJbwRXDBD`%wKX^xtN|Aw3Kjn-jB9LpXsG880c$!ljV6bHDE%Rw@yBzVez9) z6n}#^VLqd;h|Wbzxmq^xF+0Zw7KctdoRgodG7jLDxm=~lVZlR|p>^vm6Hq)h1sCUw z*lh3N@?_J1(3hO8Eb=DB(oX9+nR6{@Xz?aDq$AwqKpE7S>u?FRVqu484N=F)bNFF* z0PWPG%dP3AUNH1nH4fPAwc7;4Cm`4-t3jo@K;8@_5rbc!-&zMl!CR%GfJC}QxxOo& zS>zz3N*iZ7F=u`GkaUWp(yP99Q}M6+3${BRiMDFECVy>cWQCdRv{p<}Yaw0s }F$A}#y z0N|0rAfG7SEY}D;I+DWYQDiYiKBnjv6up6>pHplQ#WttdITU+|Vn0#*IEr6K@sBC7 z3nfaFY@_6t)?X;m15YsXS*5~h26vKhriY1eHW)CgcRl&*aqd}muWXXomur~E c}2cnB+&6AQW0`lxg^ z2l=VhFyIn8&TK2c>lJgU(y+wSB?ZYFoX3h&Cmii^y-lIW_jZ_6FtgQN$Q#CJEN9v? zqs?BpNDni|;%TRO*>W&p)|-sbkWU%*#_n}_OIEPx7}fL`UW42F*SSp`<4sj;D?4!} zpOOqYLsmB%vAzDpx)m5@(#1;9SB5ycwx!@T30$_V`rS>q8=ZNV_YQE=Fc*_}xHEjo zG!{7m@(2yym0_2+rD~Z`u-;r&IpUwUGKa~YEM_rN=UFzqcvZudOC_7+uN2;sqb5cc z>LmiEA}S#(FAzKsNZ>PKiy59RQ9w8d%dsLCzd_+6_*w*u@&}Faw~IMVqT9+g{R3O3 zOOQou(h+ B rZ z?+FH;B5(#vncc)5)Omu5{QY}QU@54{6U){2YxHm2zf$HZ2C|b&e(Um88DZP3!3+C4 zdYRf)T)nvUp$pjv4eW~gdU4=r4GF<)%iGS)i;;uFIXGtE;&m~kaCY;u!&zDqzpih_ zm|N7X>sa;d5|dtbWf2!I@H=;_o0s$MGQzC=&;DBw9za@4HNA>NSDLMrA=(XXeyZ%y zVg_GFXw;Jos!m(1GJ1s`n@&AxXDc6BR6%%#MqAoVjaNt;*XdLnwjo+RRI^t$p;-YB08dO z+r3`DD*PWa%}~)Q;2AI-pW5yXSE&asC6|%-6a%X+vxR;&n{%wtOS;S)?W;VQ7ChQ? zz)LM+(LAWHn qAZ%{OvQVvB`P+sb?a<}vG z)?VcMrnA&F&DpcfR9s%pzwI8|SE0X`fu{W`M~0};?C1?OfstHIUw2Dg{oRuS9QKvI zftI=?^Rk-YMVyr}6C&+o(H2*!nd5LqA@xq_`pq+!wK*j4sLNMjXa1&IGjqYy0uPAG zZTDWksghGi{#JEf$n VCQF6};}=^Z$ot({**}`f+JD=+|xczW@71 zJM-z{tX0~rnKU6iE~6RMHNE v}OO@ zJPd5M|2&ji9+$44*jP6%XgP1YxB4Gj?(goxZCBSc)HT#jo)GlUoAH0u%A{<%x~?Hp z=LFQ}{+k`tKNNr)rW+xP7};XY_}U4X#>sW{uF gaUPUk zeQ!9gI_MJJnbx3u%tzQ#Uo}vvR(1(-T5|&h*LHnR1 HpP@tDRU|J8t~A>g>3>+Ho~OxP<8JGT~y%I?stbs!NIrTMD*8uBwRgRP1i8 hBQM*z_V^U8fh{$TFGbw*|45TECWwlq+|U)MX=_RVF{~ zA&6$aq_K^{1F3$C^I}n5j%j0Ky%CycVa6&|veSCi1XWlv<;UK1>RXqm@&@H2&o5t7 z@-F*M2I1hC(HhY8KKC1$O8NHD LEUU|!o+bCCe}_0Ub>4xv;Xm>iFNgj z H@EcG!BGUeymj#VDFr#qUbx$usg>t?!j zz`h77G0HN>d8;vN+sDxKuT}0?k2bl5Q&bFcinh-Obf8>2Kziy2jPtk7Q8x|Pk?pN) zwB@_-c_TDBVE+{hAW65*-k%11J$UMd5Bb4WdwRge6#Ik#zNjjna2K1(WeH8VykXs@ z-{S!RJ)Kk4HRWy1HLwqJ`RZvwq|Z|M!~C$bqp`01==d_j)ZNzFBW!I%BsB2*I`mAr zYp8+wAFPU^A$pR90ZsvyD_6-B0yC({apnE5< (slzIJM>+aiJis*gVH;KXHe)~ikcwZ*NX=vR}tJEEGwSK(Ta*$35 zWXC^W6zZBQFxHCy<~npMNK!xAN&9PS?br0MTqqNoE0j7iWg7+ari{wPI&aUlXM=A* zx)N!E%iP5>9)Mb@CUE2*uJ9eV8LX~r^KFPbovp2N%P1m4sGB;Va3T5c+F^@RqCOMr zb~ec0%|Wj}u*m+cGbZU|W0E4UO*A%5Yy^kRciBY;yok9$jhx$&osi2q8Il8R7#_{k zCPLvYxs^NzuFpH)qWHfZ5FZA~LCt;8_Y`}0^0zsP#8h_F$pvp!JIW;WxDyX!b~^JK zGFuxO%_T+F5zJ9!VmwGXW};N~RNTup2^WyYA}gI+u6=fp#AtJBP@`k6i#5A0kU)jC zLX!kUxmonXyJK$r4V~z8FZxtzHg@6UE@8~5$*~)A|F;N+`kD``yTY^Hd_gcO0>lCv zlS85QGpJy1(V|8UZps3Ql6acB
(-iTo6&@5O#<`aR#((7qSA3T#}+v3QeCdrE7dxhbH#Ge5_GUR-6* %~f0?|~5*Z%*uCQsxNT zh<`VC*1KEx2&)#;y}-!;*c7TH6v*>#*Bs=MBhQmep>k};qJh>zeY%yU_zFplP@$O- zDl{=dh2%x3khBOD=1g1PR0zVoZ^zkw8k!1O7vkX%^ArCp1K{HwiF^f}DyG|mbj4#a zqGGx$$5*sEyiDZ8fvA&B2fF_AYz9APVM-UckclZ#&3?@7)uYdNIH@jhbmRxNP0L)c z#lY8*Uq#cM;+o5Q%G=Z8Zpj3U+_^T>oNg60eu|-w7XH;<%u4LcK`tR1s^letR|<4V zk3ogaa$(Mm)vt9R!B8!4 HL5he+l~;QUZx#l;&%=9e*_E+KC@b$%)GHUe6H#^w_JtgZV)5ol%@q zUb1mLDoN2#)lU?7j9uBqx{x5DTWg>+e|=6&6gih7pHZ}$qIXmD9g6Qp$q$s9ox@RD z<%{>4$K3~a6aB56_9piF^^YV!r%A!SC+|IW+)ro%DzIF-lSVVFD6#$i#sQZ{DDaeF zF{0PSxE~ncekLWpuKcfEOcG!5L~lru?I#RkTRa`9PyxI3I_)eom3A#Fi;9e@># C`W(diWJrsxS2wG?|Q#Tm__J5h8WF$6!H zqQ_9Qfubi<^c#x3L$QyX+s-^etgn~cK2J!3?2kqHxw@E}rDcpgoSTD{9(zklQJ}!z zOU9|`6#j-HLn(r wm|~Yv> nw`Bq_<<}S9+^9yymo8xVAK}9*bSW0rFu20@`*g|+gV}WD3 zPQ~Gs-y$~$arjQPIWCp59tjE9zws4obL)JFf<~ED`9_m-Zio@N2uS#T=yHw_tr;qL zaqqC+yh=)3!HC`dlsJ_V=Yghi{eDgslsMQG_K$y)cn!-SDQZ@YwB%e|wAK}vk$jG` zS;#5BUCa)jl5CzIsugA8Xi79wVj(5|K#4z6;wDPmPl?AU@g5~UqohyCp=d)CmP%oV z@Xt2Y_<#&HG#6&NoOoI1U$dW+7B+EG=VwmX-Gb96D;-@fx63f4XH}Ra;3r+yePOs3 zAAt{bbhKOXv0!t-y@e53Ch61PtpGZ`D@Avs=+RY-sJ|etbxDqXz~MZWpnDbON~|xM z7#}1FxY@SpZ^w7L;w!PhC}s;9&Lq7+G5X)M*gcYK&BXuJ7K%;a*{df{t^@m-<&;2p zZ@y0Pz CH;HF%KRRR9!iN$O7u{&;LJ!teRj9mTzYzY!LcS= z+4@{&UOD|#Z-vV{CDErt|5El#@)W5d=u`;_cocM%cKG7o >6r?yOiaRj1izc}I-n!_dEnM&i|9R8rZ8n{Rbf zeINhmcCq$DuiEf3wiuT`yU8D%>%CHvPQVxLb8XSut`CJbDjp-@hQ;=E8r! ptNA~NJ9x*Gi)yTzBfB2$<>dN$X}QL= z%-vgC4trpr*dovKfqn0 o&S$$; zKJb5+ojgVimiH6Gnb~ZK89CLZ$o!*NpKm6C-S-g{dAHnqr%R^5r^$Pn{6XZ8Cx0>d z?>nX;D%OvukoPvH0F^AhUx_W(VwN33cadKuiY9TT&2ds9 zs7u5=?RoMp zrRe4q%~AYKN~}Q%FiKM?@hT Z0EPB7{l);7NnID?BXKMPwKs)c7iiZ$y~-^SNy9v+p5^f zv_d`G4sGp+obo8TLK495Vy2kg#r6=?>}CpmB!@ar{u1#FhY 6qiKO9NqF3Xv^88WR#q(w3u0#D>>`#`V`tw!hIA$nKXlS+BBFf;~s U_* zm~PZbjND@-?N)-qN2+B9nSI!lsg}Gw#9?wZ@_(?=mFuz-*cb|Ta7>Yn&AWUm21~BF z{ltRmG|AGry$oX^J5KvGd^h`hl7A jnQDMK2J1arRti&c4dXVI;sE{~u2u5( zCx3!Xa0uPQMb~;H&qKXnAPa1AF^`PU#BTD+RYJ^%aK1|aYIWy-SONfS!v>k&sp2v_ zlm#&y7I4Uap~!m_jZk!gq#Tc!Q*gp>(=?Uh0`M=KJ=L&}Hal=`z~e;2zPdTx{0+w{ z-_Y8b31Y(h?9jrG-Gh>gXb6E_-G2(4Fhei=W-;W&JY8x*;5Z(7iPJ$q_WEO$gtq61 z_BYx#_pBU>U4(CWG;_eC--coTqb;sdqhFx)xuBAH7ru~_dsj)U(D}|7Z4tWgGI#i3 z* 3-{>y(-KBc2L93e&9cx S6uy}fA95&m4wJG} zGP>TzW{7Ol*DT>!7gF>|_0Fj@yYz+p#g A)u`R{P5C9@Yu-uo0 hXSr6oG zM~>#psi{qan1@$$mY(6uDh-&O8{}jAqI)HCH6t*GiA%?AypbAZo@)YBYGX{LE2|C4 zF2vmO8ADm43$$ziC2Ij2 nQZ)D@}aOeJy44B{lmU4RnNuSn5bCqrL(vlqUI|Z&+&i z44cagAPz>R!5%U1?JcVSWWsB51cle5@c9(^1P~=fccADO6a%dL7R9fp#I9<+Su)3) z1#EiF$+~wW|6uZuQIpmK1-SZEjO5MZIQ^1F{d)D?!&dbV rvb~kRf7IJA?bSV zChtC++|hkV86{_cm$}(Ri%z^j$*wAOy{E)ADT(QP1|=?_#7C5jQSvBBR7UZ?QsPKT zG*aShN?bw-hz0LZ;uA^^rsOf!=MZtVV$>;dS9av{!M8zpb`ZxBFxYW6d1{q8Fl83w z96Z9tfIj(yMWL`8`Ay`5tHi Q__2YQ0xaQ8;qseQz7TL>-IBu-M;Qf@pwmy_jE5drW;(+r+rnR{fl<4 z2oyiG;CB@&AQ_@AS;aM9I#(>T^Nk}do#Z|Nt^GV3UR0sxnhYri9O?O-WJ80hvNh^{ z>JPNU{30yU1cizlnAaKUy4@+7n1k7W# ?dyS zvi>4gwDn8+h 6&YjDE* zAe`uPcGxLwlB@B9uvy=!G;eZ%q?ZHNqT3`n!i#qJDdOdRVWs(%!$o00mzgWfQ|vT! zqey07;9L|2gqFP%RHG0is0{KPco%|u)l#S8>}PG`yVNJadukBstM+@iW+|-Cm6j{3 zceH9&*25Y1R*qzFCIv2~RbyW9$v#K|w*d^9!AYZ7u7L()HHs0%#!!51if>2py(s<} zB?^>ymXiAcf+ibYxe42!LwNg=^YYY*^toG*#bCM+jKyLa4X)~jAd1wBlD7K`kqlQ8 z^llRYYIczHJ-Z7tcZh_LYn3#~CxMS-%IP0K{#Q1#a#IfK5~LcqUYyR~0{1Dn7}gac z*yI2eIz(~-rA7Et_Iss-lDt!{tOvwk|8Jrd!eNey?qQ<1Vq_$9DZqr4jA;6RgFeA! z;Rx)>lGNlTQGKs%X4&|1)grO`Wrv82%b5gohNA1_lDuE^9Q%qh;>$L{Fu`PVn5mci zWEY7e;@%>d^=J&gP0V<);yznA((5GXUIm9s8=|s@aCYa*&ASt)%N)9L0w<6@T~bIt zuSulW65OY*Un=Q0f^5?31qr3qndO{*X{GlFGD|NAl1o3vf-Xlh>z`u!j3CSO3qhjk zwI$c|WQrWZWN8q9af;lgx_+?JTiD?Y0A$Q@fb(7yk48+?vqA;KAZn!s1+Ry$93}Ms z|5+;RCWpJZz%8*(JCrfT|6MRQXlGkA1B97vdNhRcMPMewn^1TQekuuot2lLTGk(<7 zO_*FASOXPsDm#`*_=nZkgy7K#O=rq%Pw{`E5&X}N6hD&UpW-(qUU0xUxRt$a_$;>6 zBLcZAF#uvNXw&Uc0m$(+6@jr^=6iDD- z^b$N-m>>2p*@7)PfCjRL?=uaI1p&~9w)A}mxo;ym0#!B2$idn;AgAGm#!Upl`>Zke z_(SGVRho_EJnm*9Kt!m|%oEb~HdSW4#Cyq`f7|5B4F_cF>@c&%w|R;Xrw;Y+t}-XF zbB_Ng`A??+t#ol%R|t?laR?9bsyj_c&-b`K`95^EKoVRSwLzN8rK^OhNouGXfbZoR z?v@k_RfTw0xnBFf%jOY0@?tN$kYZ}lm#c+;5`XwAbB?Hc0TFRrMSo)ePL?V|UP}daeg$%sdlDGcaf0rKz(9^aJXb<=2A{-b-hrx(LF$f& zY`R6WoXHikR2+Ejwce@DKX*OB9S`7e;L+g}C5omgdJaV|rNoJpm`};0DcM2E6DWBe zB`>#`mNYwZO7IYDPVZd`Uq)e|wWDl gc&x6+HiTQ60wF zCVtqF3o?G9LbfGS>}o2jpQg9uB}JHXLFG;Vi^Nh)qTxa_D}jZ7e^PvsVnR^ KA9orE&_Q4OPjB zo|`hDLm>^2j& &-uQN9oz&9y#fSJmym&-}5k%j6^ zoKeoF#Ot}2{H@tiY%H_M;guWyo|71bjo??9;_#XhYp)^|7Sp*X2+a2a# Y@M zz4ZS@;cY0qyN#T&ies5bo9mcyX1swwxxKLdIr1M8)_rBIu&KXEKqhLbE@lYAGa#~7 z34U4>w^L;uA3(dCvG?jow7Uaf@wfR394ivT-V*iZ0&vsdJcWKwWZs6uV{9*6+wFBL za666z)L>(0a;yk-ZWGm6oL$_27@_?L15{mR0aoB5?rnT!RRzcK_>JS+5G>z(Y~lyZ z8xm?XA!Z!^6uxXaWAM|3b(`bNHhA^^fxgsjV@?Hccr-+ex`RB$8qUMcu)|hvG8*`| zCarQ=%rudi37p*CmUL#C(QF^pjk>&M!Xn{NyqprJ;|Cc{Z!`;8H{(eJo%QOj@a^!G z)uYQf&Vn>&FZ54zR!(&W$c#5;TG-NWtH7jdNUAy$8*b{%c7XIwz}|h8m;5NXWN*^2 zCIFIZDYTM5H{z5&*SQla&5kK^qQqs}$Lwzo0svocbNw0iUYC1aa;mqBX*{PUgUpnd z49i*}NKw|(X8|7M(Uo9YYWOJ8vs$?dd#6H%9Pc3O@N6rhK;XoEs%=)g^OhNbvFlu| z0a$GKB2EhTeT67RHTBycBnRNdpqygl%@TC4rodgviPTrge1VVjrZ}Gl_Ll8710QMx zI5iv9K-F>Ez5egjX-l^UaXqx6uiwviwgx2;9S55f&t;iW$OzVLUrtfMq(Ml3*x7)6 zifz4Ne{W6+f&!GD1G(|GUaT9NwK2ch+TGZ|D|7?nd<>t %}Bz8i&Y`08bx5o58Bf3(V!_9>XSS{yn?}B#RpM^$s?EYD$o?>xA~+D>vsqMbVxl ze|2$Pho%a2t6nr49U3RP5g!({i}D;_*d`S4z YE1(m&835glMxYCn{A_d8cAXr_9SX@ zX12YOU_e~6m)c=V#E?jY$2ly#u_O3o;nDXHkNP7xH0SX7zp-l3wYryEEflkTA@y@M z+nVmk1^{?yhWzFen_zRA5_gMT6av9xhRw7Jpso?X)<*TLxEraF%q^&oqu3V!E6Vj7 z%ZAM_fD_{Q5h+TvNsv~E3yv %i5crT|f