From 8beb78149dcabed5425a718ef2ca3f22c4e2ef97 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 2 Oct 2017 00:18:08 -0400 Subject: [PATCH] Start reftests for gsk Add a framework similar to what we have for gtk reftests that lets us drop in a function to generate render nodes, and compare reference output. --- testsuite/gsk/colors.node | Bin 0 -> 92029 bytes testsuite/gsk/colors.png | Bin 0 -> 77366 bytes testsuite/gsk/meson.build | 7 + testsuite/gsk/reftest-compare.c | 172 +++++++++++++ testsuite/gsk/reftest-compare.h | 30 +++ testsuite/gsk/test-render-nodes.c | 403 ++++++++++++++++++++++++++++++ testsuite/meson.build | 1 + 7 files changed, 613 insertions(+) create mode 100644 testsuite/gsk/colors.node create mode 100644 testsuite/gsk/colors.png create mode 100644 testsuite/gsk/meson.build create mode 100644 testsuite/gsk/reftest-compare.c create mode 100644 testsuite/gsk/reftest-compare.h create mode 100644 testsuite/gsk/test-render-nodes.c diff --git a/testsuite/gsk/colors.node b/testsuite/gsk/colors.node new file mode 100644 index 0000000000000000000000000000000000000000..f9347e8c9a6e31872cb4b80b1d7eb4bddad2c0d8 GIT binary patch literal 92029 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 literal 0 HcmV?d00001 diff --git a/testsuite/gsk/colors.png b/testsuite/gsk/colors.png new file mode 100644 index 0000000000000000000000000000000000000000..354cdb30d2bf5daeabfdd39ebf253ab278498f71 GIT binary patch literal 77366 zcmY(q1z1#F8#X$;sJx1RfPgfP2ugPf7(=IYqjaa_00W{D(nxp1P|^|uNJ~l$-95uF z(#@QW@Av=boDE!iUo)G%pS9ML_j9jMH5FN+do=ezAP|wf97G)i!e0aaHvhc?d{Xf1 zODk}?W2z_%0pV_bvJi!FAP^Hs9`Z`lD{W`qyZM8G-qhKq9#m%{c^JB|+=5MCZnyYx z{~xM{x0r2N704fRLNg<;ui`M1KGZL_Z3p_1aFLVs1YCdlJys3>j6GC*`2XqThaJpv{e)>32J-$Gk`As z;t%)bg1FUuu#L~i;#Jt>P$S9B<02)6(Zn|wAZIe(H^7y1i2Y1=wdH)UfMVn2FW}jr zNOH?wyqi0c@PLb@B%iS;+=}WzBgq5rF?7pSlhr%{sBQ1KVsWnpCW)4OxhCGaUV&)Y z5xn0UXtqYRcO)OEdPS3TbKj{LDYnAP`d&rB`u?ND`5O_AzcZD zdNAzC0e0am3a3nQN_tt9J>VqyK-;Rm!6#fY~AalD=#<+Lf#t zH?8GJVG-B8sx9lmCEIT&&+|_eOG>dkr|rr=32qhvWSL!scNXk_OtN62WmJ9K1;h5Y z_#*voLe%$PAH{v+3yT7HbuSIiRz6^Jr3I8I!!b1^+NiIusw>#2RX~t zq|e0~$OXOTKOuN;R_@|Sab#$0EFx}0FLfE*`sdsA32tc}cG8A_31Xe!_Ciz3_Y8iJ z#Ofamri6r~q_NHJuA|dmLOOePf0r_mk-i;kfTQ@v#_{UmMsPSi-HVTne^s6be*kzJ zXz6$H?d87Gi{H8N3;g2r#f!d15cBfN4=p&a>RRv0Mh`qX8Cj2)3;Na^%4Lp3#yn+> zCFX&&dW}`qirk9qt@)`qzeb7ITK+5b{s%oh4USf;D~i=a74?%DvF?(;ND!;&mh6-B zpB{EQ7WrKFd(Knm?e*9z2HM+^xvS$u4=EaFNB&fvUW7aoPLgaSbx!KO(65^Dk zq09>mT-X`R=t&xa;5~aGW5gX*CEmWqv%tFc##vHQmx9{9lm{B5F+Q_Bemz2PIAhyL zd#wB40sYUlfF1>TlI3NDpWrtn&*-M6G^dc0hNi2|f3yIrjI+^Bin?LosMnJJUx!K; zvR+2Jts2c=YUFFmRiU&bRv)fW9}-eC*`f_uGm`q#-PB#a8tpxpy0}mD*8_s~d2f~k zL>v+(0|pO$)W+)W>{RAe#gItVoLD-ZEfjka%Z?5Xe^X;KJlh#(AvQfNma52MWyQyL z1r@11b2|Z?ck981$<-^;7{x)rMOjEnOkOe)Og;euLQB7J*OQW~0h{v$XQ_pjJ^#TO z$Jc{Aa`et7(Nn53#FoLp;?rrcmmiJSxD68vO~P$A{SDaC3|{=siZOxz=&gx2xd&nb z^R_ZK`U$ZT&T5YI=3s(n;BqpibNR0qr^!UgRA>7Xr*=C){&K;F<64F0S#@ z0)x`KF>gTM9*;x$cK8{{NFdu{7D&hVu0Iq-~sZ?x^5y(LXZ2t?BGQGMj`&|K%qlZCm1i^bM6 zoZn_^X3Y?X)E}uJz; zoVF9|-<0}}9d zL@}6AH>(ew$JCavCAZS@Pvd5PUm7Atsjllh`V1-~0f*dCG)fDsHE^ii=l^Sw&PDm$ zr*I*HhLB|C7d9o9U%}vlMnUhW{W9PEc6{l6|6T2~`R5+_0{c<%({FPArOLq<*VJ-iWKls1JAayA0k{Z}yylq*I66Gtu(WX~&fG;l zX8~P(QZB&^c0FF{GANj~)UbGeniR?{l%Y-`KZiEjK6ave_19~IK>u^!@8G^=#y(#} zKQwZH$x72{eju4ew6t2k6nCPpuv9}FFGR}fc7O2Vem3(BUsdVARR0&J-Sz$Oc*Otj zv;Mc-NqGOw0pP@-fC41ND5@IhOk4%8THbEQ9LN9Wd2WjR$s6-hQwzdOMthO5;%inC zcK2i8ar$&(K85cos#vNhO9G_vz>f38ZP5PDfy}JW*O1>AYP8yc^ z4>=*IlxtFS#}Box8JoyO$$~F`-R>O$&LmZ_a`+|$(kur|w7`9t{&DS+tsp8Ba?KvWTPa8G0|8g^odgvYq*>9Z6$M&KRYxR}qs7u-*LCx>}u{xjFsO zy^Z3s?mYLeA%+K-&S1Nl!L#^ZU$E^k6SdDqSz|#BH_C=v(m}Hm(d0agg)qe_jhj zN0C5a3MP)D5IEu89mI78H?Gm?nJdwMk>S5=6L{~^gWqT0PCXMOqi8rN z!#{7jt^V6*vhc%5Q;;W><7PI|77TDxm=WbYGW+Tfab2y zw5p)-fS40y!oRY(PP49l7Be7=0S?yQTv!TSSdMphXsGqFz2oy{j0}>oI>lqok16Y| z|Lw}&HqZ<1&qX%T2!**kFJz$XVcLt1jAw?Dcz_!fDJUn{lbLBCp!8rl-`}bqlXSN# zO*mW6r>v2Nd=SxFlJslzRsB_S!|}$e z`n#Z_sa=ORIHFGq=S&(}|HQP=-i_Z$4H?;Rb!7W8JEmaPQ*<~C*_z7rn{8DNml^Wj z)dJBGtCn*{`O0`#zRr9LKjW_lgMUu1McMSzy(y>K{)hN^%U?%8$L+zhO6RU`&Eh>O zF&&@eM-u&R1Aku|vr);gZ79*Id&c3hxo77F1{>%7;rk4K;d0;*^^g;4Cg_V5xJlta zbj+-#T*uPd&%TBb4QQfeHc3fIYlk$TJqnzRDK8D3jpFJ}SKn`1Nxta7TWu9_{@3rM zq~+Ls)$l}v@iGdQi)!gC+}N$i$!NH!nA4Y*c*gZ1;XF$fJ;I3b(D-{2>dJC@hUzl~J>C-J#!Nr%2%t;)2-{=yKQI}{F~YXHX-#g|t!`?o z$0VFKSB{L!0!z^50^9|1ey23oU3#I`-d-vWVhTLBJ+UUi(DwY=XxA?mL{>_F?rRFa zJ!QFW+TOH$-?pngE#$y>-w3*xl+}ik-d3TCgL?c>Q@1YBg;acKSQlz~n`QPyapPnaQf5*1edLSupP1=m%A#a%%Z(ZKYEK8e_)vSIrKLkkd5im*#zM&kv6r&B`y~V3 zOFYRUA?fI^o@`}6u^L`|n6}ayO&W zjPO#?S*-R4MgL;^gW>zedeSD{BgFM=QB-^b?Hf6^GnH3N1&< z8+Yx$_&ibgTjcigGWCpK_19naIZ-{IJpbhT)&s9qS3a2drE_g8k@OP}6@ncqnQ}SF zhHp9>1KLm(2&7)zM9>CG-|E&le`+{%5=s#^GBS0BM#mi!0Exis+Br&8=_quzKN!vN zh|*~O+I{kiBHxZs=cBpME{p%dzAkMXx2Bu-FARyG_oI6?EQ3iA(|p z|BbX0Gsk3X8fST%Y><`h*m*}Oc69W<6P&NG_k`j#`q z!Ejfb&-w$>lQK;g`nRkVVN)voEoQB;_iD-Y$$>bd(Jl;^g2jEoQj(rUWL||tTRn~R|AoX|N#p5_VU~CG-OUiEmF+j-4LJUbb3mbc zSvH|#Yc_Zp|4_FtJPW8Bi;LiT9%0<+@AeBTcALdqPw4P_rsM4h^DAuXVyQB^Tb45I z`x-%J`z<$l5}dqtl5dEz#m!FM$SoC#!tYm{Zx|sCEgY-t5DdEGGfx{jAZdd zQO_dNb$j5TYUm>UZ1(H1!;+X{DCMlRV-!QPh_?B(y!{>VRl()ZO?R&Twep`lqQpvli%oKm*1j zy>mISXX&J=mgT=)Sf0PFmG&)7b}xx=>``}WSoEyC{nKpFCvb=Nh##R7SP^w!(=ShT zuvsizGIjAzfS&0Mq7go~7n&ZJkBLf4=1$M3y6=>3P@sqV(c;`v#|a)y&cyZpX;?~m zVV5SB=-;sr=d+)@-{*q51a8L?#t}kc6_{5!>NH;38NYT|f5Z zfNGgibKGE~FVKts#po;Q!1sRxhuV<#1NkgAQECBu{xpAus+ao7ey9EU{mGN5Wd-T3 zj*rFPt#i)io{W~KGonxT6Kh(*D7Sfp3xo`4g_is{9v%G!X=a^HfW}fA8`^<353eY1RtJ-1G+nfI)*; zqmFl_5r^76N;L}I&Fty-bRZi&Hj2tUHg={!cHQ>a^(2`|bmODVN`{!5+mj0d#yOXU z80co+E(DT>oK)~|`9xwAgN^OF7M>JyG1a^bB+T$x-uAXAKq=T+%qcRGQ1;xTLAtn( z{cxbnM)fG*ujSZb;1?g`EF?qjK^`*3DOiT5RUbthhzjOOhHE=mmOq&F7#w+qo(`Or zhUAr3@`n<3ZI2j#ZZ z9b2FCTG`bJg-=S_Ph+toDDM%M?D9(R=g9{cB`ggulZt|Wa7R%*!%lp0hO>lF%hTkyD8}m@qeKRO z^HrVhZARxu^wW4}>lac7#o+bpAz{P{5g6a--`mS`b-LJ{^q0mSMO`iv!2I_YBAk{R{q{I!0jOhL zPtl{h@%u7Y0-{r5W8q-F0y=^2wso3}p^r{H`ZC#kj{C)aFzmk~)%u6&JT^}b=i`qJ z_Aha6Oz@|gNN3m-1Brz0Hle2(#kPb79hHvUX1dBMEqgu=ZFpeatybmD2$~dY9|P$? zo!&+4fGgLtxw>RYVT|F!+fRNz7<=*7lbc&#C{#FA#MyLMz1qDD-UwozU06^F@2lsd z3a3coaZvskhLw53{XHGOXEu}?P-=OX&C3I~H5(CFTRSfu|EQids2;YqZW^?l zl@R9`fkf`vil>i`}5hg$6R8yhuqS9ES8=9dRGEvwL^7oF$u_s3$Fm)l_R4 z#p-M3&Ko=92EDNFQ{#U82F(ml?su%_)CH=;v=0Z* zQl=J;@3>1|=###cpUL{-?{rxJ+b`4Ggl!JCo(Jh|R*2w)tA_|Er3AOV?0<<0c8CmI zVN*Ie<{pyjm0hT=#iz$3a}CG`l^Em$^M|4*okmLtrYV>vBfR^+c5LjL9D~7D8+C52 zCYt7@fiYo@n~DDfbcEj2sj{6P1zGj4=Xj-%JG%3-&}x;Ku525%XOAdAS!ol&_3D|f zMzf8((vXk$Skyk!{t^#3v^TWBi|`D+Iz$qoXp@f_zDEeUILH2n7^r|Wq>R6p?1fWQ zw|CCyZRT2{11o*->D2#AtLePaF&HNkHJxW(t5kJOvzPk=6@9vTk(5Deh#k~QC$;5K z?YO2#B2{ieNN-w&a#~9{g|2C9b6D7hQ*O;OQ4?Q*4P;zg_*D*Izc={gUs$B=vDIC- zgaoe-nPS@_d$eOHjf7tGKF3U#`38g6fD(s$LJMn4RrHVAEb{t0A35L+idshwGlsf2 z?rQ5qyfa=;Giehf6r;q}|5^WwqoNO6l$;pBG!+25wD~$n-4`AXwnBO_oE546^UahFC4|1vO6p>;}iq$Yo@o1s|EJhtSB<)xcRjv z=FZdW$g$Wr4U&IO^5Ds>^}R@jemnG!zeTRfHz`R(o!$@USwG*{x{Z`UC~HH@BE71; zZz;SH0ukD<DkpT%U~!M%X^4F_mvty&GWW^AY;T0Gp*Rc4 zTfF}e!pQXQp{uVK*d3%i8rp+}VX>5)P?w9ACJ1B*wkC>I5`%R&otPV$cwRfP(mVCI zwpcTQ!h7l@UsNg0`hIIHZ3-#a?qi-jfiC&F<+R*CAS)$i6tDN6^oe(%BWlb{HE=H- z*T%0+-jIYGun=k0>kOS+_RFF)s=!+BtCKI;{SQY>FDf$|kynKy+q1_;gkJ~RAkTZ6 z2>+F_G!rmuf3B+uV9wW+Si?dmP;LMkYJe6p?vO{o&TBO4k+MBH##E5%;oe` zNC;|$vGK>js65=syay@oUSikMdUAe1*$k)P_P34o4=>v_5s32uu&)2`dy$5;Mb-X? zXN3GacLT_`dhhp|{P|Ysw(7Xi>yeTcXX^W`i@2xG%7uqJNjipWn9yheUW}ti!fdqB z7WtgcZS^PZNKS~H@+Quoeb@YsPt3cEmuB8{`l*Q<(vTUF?Zps7U)xx?b|wrJsBnG@ z1Y!d^pTNsrveoK4ApN#%erOc?@z#z{w7%+idWQrys_eOgXudY~L-y!Y?$+i!w~$oO1t?kY0_&pS=^@AqAfz|MkO1#HB*&*1g`b~tE4>ECkfFM#^; zbIoI62t?aa3fHr0$mr;ht}52D>QF%HIG9qb3fIbMUwjIu1OOFxN*WbDSV7%GLK7%m zk}lAr2916HFm|K{VYcsSh6b=KyRba5`TmLqpMBYdL1gwVL1kNPgqWvA4`eiLjpgGM< zrc~{}#9SR#cX_5ehEw66;dvYCmjwpDdNPz8a)+2003jw^UM=!*N&FU2Y2>MIIcdy~ zSg<3XPX6J_;tsetyhnPri!hb(!VC?1JxQmhiT#N=v7=P0<;BcEjp}^s7F+sFlNJP; zxG9D}&i~x5+hgtM@jpy$-7ArX`0r7{a5^Q{xdpBjA#zNvbz$eAr62EsTUkHp&|dH_ zT1Yz`btQIAU%zf<5>Bw+Rc|`9xM?}dz6w;k0?r_yPBI%#DBYdIU9ySCZuSL5m4~~{ zYwdj=^QfW1>QQ23bjyazBFAowLM=?l7E|N4af~0&;zCWBq%`nR#y@((=gE-LaN*uk zgv+>VK0n#1m%!GP23qX8q;%U+Z4c&cq$k~n>oaO&|J}Ug6k8*Nno#|R29V> zR|=D@ydQ5b9kCxAH4~;647Z77LeDa4huZ3}1Jns3xyq!!286|x6E~c`d(wkInm5In zf)}+?e|}DKlnEj#p~N0mJvK+n{MrAV;A|)UoVK|tH*|3EVtw*T3F&=cFsvlT@Rhct zHSkB7OF6!!&EvW;i#{i4iE;@y7_1_j`A_jJXr@+WC+(O$BglCl$ebdxv*vqT=o`8Efu+&mgR;7T~D z1t8`BJeI5sYblZB5Ig-Mzx1xqgk|ymDxY$NUOJ&PgrgL&9qaM;3Dm&NA}f!gSO5LK z`_kR(htHh$z{5vd23X!tdMlD<=nsvlg^06xHd%i~N=5cK#Bu4zw!p0LW_*LMUQ6l8%;aUtS6MSA-6e%hLWk5Hhqz+2 zA!`W-=wWmUnX;B4wwXUM$#O`~>v^rE9d~GmNFgv8@M*K>9kF4##^A5G%*vEnXWxAQKoXRUo#8*OWR&I5PYI-3z5!X za7rZsS6Kh}4_aha;%8&-qAT@x<%28hl(-%#cTQ3=hFJ5(pH93EpES%)hY zW}x%2gQ9mWm|;Ic?Y?26j?2agKZpxsOxH?d5lJU!wX2k$Z@nbeIuK-y3F+;7-JGns z@zja|cTj_#J?avdhKM<|j)_x>C7zv4@2Pm6lvANhf4YiT0_*epZrvSnI@E5D?%Eg0 zA_byvC;tc|s<;ZTOWR5=_EN zNyaP?$;}-+QSJO1d+G1YWw;_zHvH?7^#$~zfXApoj5Kx!IgEiaVsxV|iSwa}&%{Jt zDQAP8?4`=-x-`nQFz1BIL3oeqAami67T1isYOL9%-VV1bz0deHPfPEiQ@oe;*@9R9 zxW^dLL(Vy=KQ6Y~Hkz(h2`OY7hePd(!uJYSwD! zmeADP64Lcq#HFHBW;V)qXrMM14c&CVS}l%W__4XIb;vo(so}Iruy~A?n!x$LMR8~3 zwGc=(9WVo3^o_*Wp+&z&grNMDg}pGEyN@$3J?3K8_LO$4m`Vh6H}`po-3mgx`P+*_ zTf6

pcNww>g`dtY1qC2Qzfqld$L?%(F`BA{ca!`RGWzXT<*M9Ukt*fSvV1Ze(jES6KS z9yfAl&lmvH8EDcv_6br8?f4i_c$ zp7{hxCY^cO4slY>54q-{dS=o&B6LJq7U^@)z(}Y2>(R)VwAF>C(Vq>?)5f!v6Rxnj z9}|f8L^KXL_wbTZqF|^4ET6G1o6dY@CBw8D1we9k+HAC_U3)QG3mbD6MK)V zb{N53QDwc2Dk<4|2vUl-kTMY7&fBGbG}1cU#)nNEWg*rzCIQKH1<+~K*YHd#iEj$8 z>to$(=0p=UyFa@;1G`>jtOu?;*2T9Bl--luT1cL6_A+xOu@2Ru(h9W`^-Kih1VsYH zpK7PUbC%|{{Zc(0c+1i|piz@eYFrTk*`*@A zi=43ogKdSr_4C4BJ_Vbu^w7L4*}+gS4n6T*x@b_oe5sc8(ht>gX;e(A0|cJFKL?DL zYPgF?D3V`s@^Rs?&SdUhXJa+cxZIT5AJIFxy#*v-ba-Mlh)zvDjbJb3#YnQG9f>KP z%B$uYyF`;@uUD|9A*w#J)Ta+js7T+|c2b*?D*7g6!2^>!aeFH2d*1^gy0VZd1uIdvMnt+hy%6)9lb?*>YDEFlPH& z2>Dp6kxnAb%X)I8BQt$P@LulfVfI-YrZrv1(s6IuiKcM(1w4KDxOI`ZV^d4(MB!1o zf;g3&Ke2082qs>Og4E^bZhEaeXR+a&oAWSer4n~V(!A=2D~30kR30ZM=B101JNo6pJwQr5%f9300^k3otAPT- zK5S4TArPgH?IblEeM1c6#{V8Oh(N^jg=|ox%%WOYs{JP-L`ZTt*RektW+=8GKkCTE zVa>|;o>*}uxGmrkVpAkx=n&yy=bvovzSrRW-7J2-d0OaUV5RO%wacXTp?buTq_YpB ztqr3iL0|jMRSfkkE8>t~q6p*nLpV2oc0a}4u_>FT_TCX`QuO&;ba-{>^i(KWkj7Km za34F%CSkrHP5#m6j&;hAyti(~U15VoLwcr+*tzB!3EzR7!AhNKJP>h4{mAesAG@QN z`ih+rT#$%_qj@M%&NDA<3P{6VfwPGtz;{Q!(?CjU7&T==E9$}s9)0* z(W{6t9Qu3|lj8A239S|YVg0H9y6I?Fa6-AL$j0)wm~s+Pg>&lD{;|T4oAU4hDd|BM z*jBtc=HE^g-|hSue8m&LJ+z?XP!t`%i5JCKcF662Kmj+X={r-E4_wkDs1 z#)o{)Z4vhv*A2>f{?fhYDT#`dn~zIgY3c2Y3c{g{sV${&_6F{S#k~joT%Z8*sK0EZ zfZ}_J<&?y(g2eOI5gc!H#sWFWeqOR{*E?_V025Xn^Sy#q(LN$HM_|TrCTE(#gh+M6L}QH$8YTcG_ zbYXhp=^$2rBL3@~%3F`-mz5yD#YW&&i&j<8f`9#K=Aq8lYT zYgb*F#0Llmdbu7s5OA4|Vb{pKr?)LoR~{CTr;ewF=<@NC*!JSwDrKe@t{_^xJA*3K zypKmpN})*OySd9v+*vDo{@zCmVt$0`ySRulk*Yr$U9QsOkQ-uc+?C0s_k9(FZlIt{ zvKnh+T~nYCb*MUN@SNXn8*XNf#U&R#wLIHdvb+U^2jZqD{J`oi6`?twdOl5HgU%bh zz&|^pB z{LHroYO5sMq&lKO$UpRAR85y!;bRX@y;v5jZ@K@4fBqx50~MfpO(LbIIlGaQ*tCIr zAfHyX&b97mc3(&0FDbSJD;@LRb628k?U-V>A$5N$I9tc&%D{t^u~nm_DaXP3f)tr} zytC-B9Pu%D)0n=m!1n1h`zA~WvW8wfbg#(NzA2YP3>WtMrB1LcWvlwlSC~z_Pdy|Num5wv6qcI3o zHO6-%gyuhC3_0z5XD)sARXjAX%V*c-Q}x-y?(AF}Xe{BKm@!_mD)*ITo4~h&DhQ#` z1bHS@&dBIa*@JGno*)n$U=$F4f;D>!ZJ%0|`a3Pu z)=^XdIK|aj1VB92bu|fHhs+L+eLx(C2{+BD49sbz&soWD`^`75%GCPd1(>ZIZtB?Y z`uYif`?I^bwOm-SgkecuU!_5#Eg0-#P&`!{)p&RoAA{99NLPd8O^-y%x$+3Vqr2bh z(ym2y1yq|$%w7xWnU~`LN2ycA&fNy!blhMTprvTNkgMyC*LJEk7#WE9V68O7ygw%f z^Je2jMFROM=;8OPBCMqwl?qX7f4_&^vQ znmN-MXS){=WocV2Z|)(We7{kWww-$%L#9S*51%V6AEbTA+cwfO~iUEM2ec1k${ zR6nNSkIY8Iipre4M8%BJPppSio*hQ^gh3!l4^?&EHasB>X+{z-*y{GxeRed+$9AwZ zGz~W;5U_z_yTGFt=4hf)MSC_4UT$M`##2hA3|IS`%{3zG#~Ia|zOdAIT;y2kL#+!7 znG+&7JSBdLsysO;H+%koe6jd+KC^@#-OJz-cjZ4hMS2(176<@yX*^daXIK3ZO0l^F z&=^Z>Ex*Bom}6!PG;Sb(ZR4rSoj%Wx{BbqVDeJ<6?Hmgo1}9h+?h1KZhiyqUig0B% zHj==y1TlFul%%7(8?HZ&ofuDf>yp3G}D{zF2QlKXa8%P>nnN234kv+aU zI@*@X3;5|(W&LxfuCG;S626RAHFY!>L3cL0AAJX)lui5tFnDksxd2bsyAgXqM3d54 zhdD3uW|P!QivPQR;qQgWdrbm{0KP(k2)~BW~ zgQGGRrXG@tUg@Go^4PRjtA`(uj`Uh^%j?J!wZ(5JAl%A#1ZC61WDt|DlJ9%GdCmAu zA@s+Zoerd3A#nrPR5K1l^h!!6QC4m63!lh$Fj zUs9Kpl(+JbuRL{f(pM#{pKL`Y`mA$&f7FKZPmG-^OV8;I&zo3HE3+?!>iY4MR_IbY zB5u$61?SDw6MVuGwJdLFyb3El*s#}vbaFTX&4XLgJ+leQ?h?%|}Q)FyJaxC0tFch3c zQ^JP_3daAh=}YP^L42%DEzrKDo@|Hn6+Fkmu_Hgd&f;gvye(!h>r_!1o@H(SJ|BH1 zXmVLM=IH1JbEYoPa$jMMU_mK&PX9Jcfa^Pn=MiOcFj4ZxAF^gY5$7!A!%tXrh_6}9 zK9O{+W!wGDaI>DTPer^$Dh7^CF;_vd9}PzP#HvSsx;Edxlm2!rrYSyU9G^7CB3V_b z<6&o$%L7fmM8VsF4Gs3VG?bw+wNss5oiR`W6UMnd7i}cn9j%~dxUFiHZWXAn@y}|q zT$W|S3Bi>wYhN?LUQ~VSi)J-gYws=meS(%}{@Z^l8=TP_3F&b2`TEAQQ9p6my84FX zQ=kEGIl(cIcCUD_(8{1B7+TNB02OE^|U1>*5z_qQ>gZ5i*&D)d|4tw`2}6>!3(qD9Q8 zk&eE9vM&BnTG8d!Yn^Jz9oN`Kx4iZ7Hlr4|yJnY$WVjAq?F!6_Itn1&NlEV>)r5rT zRl@4oXhLnCJx!d*s~$LY4tiS1Q4tt}5V^$zP#1f1)j1xNh7~MCp?1ryVb(c#U#&+{ zb?JVXNdRGpj+5)VzAly{G-O=0o@|l=edLpkEkAcP^eJ|p+S|5E_VkX+Up5PbWQT@B zsG~ezYdhiru-0Ef0?XkJ;q_zE7+E12Pf7#}C1*UFN+%gUePl;5ZBj$i+@DYvuifws z-x0B+^O^VsbgyUq2?$gLpawCyTxSLE^U_GlzxIZOD*!r`cSI0AQoiC5iUZA;hxHlP*mQC$Mp~{ieQ8S-q>vkAv-;Bst~0?yXpMXN^fC98!388&noT7o9vQ~(Er&Z z>%y45^-S&H;nrU~)iJ@oNFrWdABSkV_p>F;ToInezbO9!fyspIge}tRQxwxQZR#mo zYffh54aFYV3ty|XsEx9^e-QT5b|qn5y~>_Whzw)C4zhc(ea^nm)jTc0E9}5g_rj(S z*r8>(6P3N#K35!=Z=%nB()QSSq&cM5;`s6ghHukMPGabM@XCT(G-b%}llwC7P*Gg3aPsFTh)*HfMTy2{!SI-ewQ z5x=F4oUYFV5+u@iAX#0fQ{m6q1r)^S@2Z77T2XyB$p>)IkpPF6h+}wTY{Ve2ZzXGaq zNTbiVda8)zeqO4wryGSIFmq$?FmT&_@MpIV;+2P5@<<7*9C0w1>-(_sTtjY~I#?z# zq~4sRWYP}}P!%hyyJ}qBO`3EYVIXIvO7k1wOoVwHU0ca@sO^Rl>NDhk-@X1On~hW+T)tg7 zgE+m3D?A<}fD2ljc^S{>w+QSL<@Tw$nj4R^wF~W0R$QmQ(W-!4AnbuaZ#Mo}tlt!a zUDWEkjvGj+srpAWHpQ2ccddxykviakL^c2f)9a<+9v{QLPHwfQM2kR3wnD zBLj6$Z`Z2W3V7)dvi30p0W~6&Lb3LJ3k%$~V^N*Wk*Tn8|6!v7;2<9!&rn^axB5h5 z{0+*_#KKB0d*jRN%l&j0LLNtuJoB|jll z#CC}ZPP7&Sa2ozro>r;A9%lPq3W=bjHvPNi13qlMd1WKa| z94o7F>wo`eJ7|XxL}wW<;rG`efx7;d4+6gYbGA<0h68M4(>57yp0^b{dS;J`7I6NB z>k8ZmM`_6iq{X3Pm20;*5q{Qh7r)f_h=2R#QG^F__Ohv|OiX{RsDipRa{|b zb{^LWUxmp#_10R(``MIo7@}drK=ByxCM$KVH1&9(ky~BEEq)zAS*}drpqt-j^FK4o^eUgd`M z3;ScEaM$9Lo5IG1v&D-knlfcxSpfJGlazfK$$&zRFaHrjA@_PiaZ5;n8hFVyh<1rb9 zaC}xlK>{LN)WRT!eDnBg(s3*IxT6B%iN~h8X&w9f*Fc4Wp9Qo~kH;y=axF^ov1LGd zAwI~iw;5FhI~n%hLUi=x6nO*uh#d>>)3h*TaMY38kOv%1AHZg>z_VX}`SJs*xOxlN zwpR+Ka5Rs(y6=Sua$XfjN_0`YA zecLGhWvti+p?#3;WQB*Oz(bf%DMj{bmA1P<&1ey@x#&%<9Y#^>IRET3Ml~eFcap?+ zvp$S&1<$**b~wJJdzRpQ5lYzVnpVf{#0_&!`@8R-Nq*$l$$;40BQpzfiitS_A~>NS zuZyK)UT%tqU&AK7+{+pMn-BxCWODg(S<-q9gZV9dcDihb*pGhQ*abUr2ZM0OkRzg^zJOLqF~^gqK#Q7RF=v@Jc-2K z+@>+4_haW117(`@_%W@+_l{7j>>a_Qs9VMCx7_6wCnuerPLVWvaE9|IzK2Hm@7>t!a$ECMHSy|qCB!Ckt*Cg${zpL(!O#9NsNW!S9*`^F1E%i1=fyn z)x6OAf0+8ps5pY9?TtYK0kTL4!NL+CIKdqPi(7DacXtmE77y+a+}+*XgS)#0U7T;o zz4tv||A0AXc4m6IyQ-dgs=B7BJAPXr@&#VPTQ%&sfra<1gLyFv7{@}@{qgV@Z734r z@{^6Y$<8z-Zdmyyq%pUyEXZ>d==pnT>H_X~Cj$spzZH0H?@A6mEvs!kYJ+X9fp~q@ zt^WMwEz9pbvFuBVs807AYc-l&v5#2Ez^1jE_MDlgiW*k!|H(9>BcR6qC8o|~%qKy0 z^33g>ueVqro+lVhDmj&|f7-H?d5SN8gO9CH)foigz`*-(=067>199MM(#q ze^(HoyhqTIw@u2C_7pd@ncUVqm+0tW-aq0S+do!aV5Nkh5BX=sJSROl;d9sJ{&@d@ zWVeFQ%Tjdin3Qs~1U)Q_%MQ^pKYrxT<600W2YBvZ|9E8m1B85euyr%;;BpHZ*9T6nQzSH+4F2YXDx77#8X zn}}~9Xo4@MUhQh4gLf+roDs*iZZb|R@u3``UtO*h4g&(f7HJ<<+;-=9qgUQ__sS&3x2lM!UAi_AeQfyE!k zyB~2Nz^UTC2gSrCKTz^;$%qln>ZT)nRsSJ-t$zM_{e$`~a@YU7Up=r_$oNt0Hj!+zZ1G$loIF8Z6IvA7n~GI6V>dRKVcB#$^Tz*tRQS z<8Ethf4sDZtnF$gtJR{`k5X z{;<=-af19plf!Tg-B4(r$YRJS~fsd3ErX6-<1BIYq(3Xh3;`43w9DAclDR# z$J8c{uvqGby^iLorR@o;9>?W{dkv|*7++sr^a@_D&&c9G@FKJzumD|jZbH)efH!e; zuQBu@K{mbqO1@XRK7&2)UcY?)`Wpy`N|~|!(=VzwpQ}`gQkM2vmdk$HUTR!tSjZ=9 zrN&tM;hroc(m$LVZDKSQ%#as{PTIyvpQn4zhJ!> z*45xc#;f(pyC3mE#5<=0J_u|{Che1JZ-R0k-p203V77Wb41eCf5#fdE3DC-Is2C{Q zAC;c+E;%2fwgk*|6pWdpXL1nx?)-%_2C%9V^+vIBNcbM`WvT0M-PCpcrSg=0Qnpq< z(!K%8TBuv~!VvXN4-Fx)kd3MTor}Uq#NJ!r{7UY>^G`p8LMz8{*maH1C$v}8D90tO zaanzK1^Xm#U8b6e2CmC5${j5iC|nOjeju>5l4l1KEWX5In=Um3nVBc|HnUsjCAh?{) zI93e6C9k1~(MpE(e#yUM*+rbjfBcyc@F)D*d|z9H5ZUTnr9DfiiNoh_$64Wk^*0|k zk$XqWhvE{>Blf5Zp8GackL}uhP*9%Z%f;ZQUB-Tj2qi*duI$TA^1TpjjR_DSyl$``#rUDLMZb@FZECnlGgKH9|6tR(Oq0h;F@wT~8nCr$t zh8T|78<5u0C}8=$#(#VJjSDqgvRk$jbyooI8S~=f21x7&Q*x0_BdoG3a%_UtW*cjy zS?Sw5c8E--tZ9DbU->N7X7z#zOkK%JW~G8ZvhX-I-J%&M3I<&+Oi*ha0ZI0+U;;AZ z<>UoVewj$uyKg#Mvpv_zw5hTv0k9pC)9kR}iaUzJ%~RRY0O3qGm8ReTBv5JRC_sdG zVUQ@nxwE+>4LP+g;~D(R3W|H6Uu-~Lvh4^Shr>5%r3{Ptl|LPON?s74csYqq4o}JY z6@h)cU`EUNN(st`k!OZJ27vrn`N|1vN3Z)G?g$zk=FGpi;XP{GKNXPgH=u@xZ%Rhn zK20j4{XI_}QqQr3MTBD=Up+rBJ`hMf#B6=95pm9cp zef^7=U)x|_0fLWY;alw?DD+GsNM0j##2yCg+_vpe$A+XgxZ=`2@^}KZcSNCfhHxLv z2=>-(WC48`8O!$fD%m_owqAF>Y8=-l^~A+rJPYep_Y389IbuA?>qG#jsKtCm1Hc|H z(YY-;1UH=x2}(G{2g)6ZasfmihvKE)<*@-Q09NF<)m|e+a@a> zo_jFIroZT39JfE_$Z(G$u4`I-d7aiQ?)j`dvsH%gNkIfII%m^uj#}N% z9UC6rrj^|H5t@{;2wPyKo;QgTGL@ z(r=e-QriF$e`h9GU=P6SlW41=RDQg%JPyS9$m#8$EbBdrwSf}iMmtK2JM{bnhQ+4K zl$>@qf5i8+x;kwZP!N5Pi!Nuc&;VQGSNfmb4uH}5pyi9V0^_t-Ma@sac)dspaXDIQ z<5)hiT|T{c?g2JW^E|dFlFysrHA=(pRb+Dtv5TkJfLL1ScS)oBz8w!gY1i=Gu|Bp} z=}O0x4a#Ldv)uo*oW+^m#(M|26WSLor78mK-d37}&s~w`seN6@KeY-{^5E;FBGKif z$EFF2kHQtf*j0h76^pI0N(^hIN}RZ>*qXQ4S!|ApB+Kn!fXTCR>@gAw?Q3*gYzrY& ztigcvQpLwC7jgP%H`#V;TGq5U#O!;VD=t5t7P?QTx)sm%=7wUfOgk&?2U{|wo%`r$ znP=H|5GB@2Ph$Td>7i|FEA0EqXXFh=42{e*`wX2G8@G8V~tN+ofxs=6!SJ+mxB+ z`?*<@mjj{7ObPiSFJ-j=p#lA7Kc4`k?Wy6tcp4@U9ucX-aPB*FY3R3jdbc5t0?MUS z(i(rLWn7g9!B}$Rec%pNKybDbnXRV2k)5ch%;zsSu_5$;tX`0(2>MO$`At|1mFXKF z}OJi)-x{afGoYf2$96*eIO;_!C_E{@>U;4oD9kD|H(BAE#-L+p`v>o|t zCfg^$1CBOG-&Idf13S^rKVGYDE7bmhvgte1-vnzo@2r@5tSWl0gg5HKt5Y8qDD-RQ zk_QBDl4qDTmJ2k*0AZ+Axat-P3d{e#v=nb?WnN=*CUfpCWj``OzWk9qnO_}BpGqDz zXT9MCgjjweuz_0f=&(`nLkV`EBAb}{By!C)s^$GQkEc}FP1u)7bxHv+KBfg&Gxn*; zt1*h-!Z5MzwWk4NHBbU#wEvpbTRJ}A5c)YVPPHPcl`5Wi1DaPU6XN(f=ru+eLl+M4 zt5yiRG|FkJJDm1m1i&NLa>oOxni@r_2#60kxcNW^V%}Dh8J)3Psy3-Qk*rgLe9ha2pNF@wX=Re0lQ&s1RGdkcC~%0&5}rgjPfOynQg^;*#~59k@>g)vhOn6< z^Q1iS^2q8O?mlunr+)EwtZGj{Lus4SE7Hj52NMLMDP8o_n)D3^4u?*NIuSWm>W=_1eMUeP*I+R5 z0YO(oc)aw)-?puruZn;n3RV6R(4WnEF)jY*ZPdXKsd zcE$s34gO6cbW?{YE{tE>R(27mcNng4m@X~s=if<`w_P^U0!y9j0{~*48eIeZqFS{m zr|)i>OtGC1iNUUG$7hT<9>(5PJ0r_u0!OU9*KCa*3qUeC(7djB0TcIrq<`~)Kd5ZGIUwbY^dTqDnvoJriGLeI8Dn+qQu?DxWUR8JiSQ-Mb3+^Je{BI6_>^i@p@ zvjXz+{ms9}i|Jg=@YfhpuLo=s-gGqHmmKk&+zdF@3$4$FoG)Du#R5`<6Tk|mN{(%+ zbv&!xAC0nd-{uEapVzt^UZ?-KrMge$n1p|r1Z0v_DQF^b+7f2!K5bIotEmxgwTf{I z4qIWE6*ggu=Imvw7$xHc2!eE56tu7cgILR2{CC9oR+7$qpuwBy4a0Lg)7 zrE*f4XcT2xYE~lc=aFX=-gR$ItdSmRoTbYUnl#k5DA+O9O8!sul6-Mz_l+G(lq8^f z!FCDFM_vf^SGl!KlD`@r*TxGzyz+_6T6+s4{)+lTv0DFG4%+w^;V%`MZiPEWS^^!r z^Nf@d#qX_Fq<9F#FS1n`B0naN@O>W4%oH~%pQ0OV($HF5PHw1_%}KEB7#}H9N|P&C zj=+b8S`a?8oWjpU?BJIwX4NL|)SMhKHa(W7J;!*A(vt)Le-423JU#1#wp}kPsH%P{ z`({l|*h(W`p6|Xh!nnl`wBa!orT=)F^tNe+M|yABQ48kt{w4;%SJuA)m#wOjKhgE^ z9WiB}c_RD=<-B&>95-5up)U0cwu3%0B2UhSVzvl^KCLw_u8-uegWHWhfEe4SO|y0*(cy46B1$;z;N>k2C6p-?`9ty`*~?j}G+37%FBo#Q@QA!_=uk7Uh+ zoV#{1uCN62Q76I8kZ7v#Y3eG@xZkstO7^58^cLi)eUA7PCJNakFw=M;%2`-s@VrM~ zpI~3RypJ^^brmipvew&wFd{=w%me;Wd1$eT#mU$v@qL4Ig#yMl&sCb@)}bQW-y7RQ z4PGebcemGslC;;go2hR<&niy@OX%uJmuNv zB1O&UZw+wb{m*#GE}pYb>k4Re7*8guHID>qi#y1wNYV@(>OM^$t7b?Zm3Y~!a%|>O zKp`GHVCJu1jAn(7muta!>pdfb{FCeSs7q3|Qhv2Oe(W^v7&T(P(;+!^05>`4e&Rae z7z|b>F)S}G+w`Y~q<_EUd>`qmsdFf6)^+8C;=Ck6$Kv_|zMKS96flFncg0(G$vafp60|xTh~jpHHgSMb&8f zb8=~#73%U7#PU$0)qPsy0&;yBF0YGCT`jd}YpWG$cp4vmlJ;MFJKoJmfx-9dEoW#g zO#!FxUkU!F1|*nF9Sub!tbLapvm(GId|vw3SIrs%^CiO} zl#6%TExT>MiUe~N@l^*zic&10n{}TMNf}}soV|m`2ij4(jfrm$^gBb+A1{(0rw2|$ zZ--gjI|j?*L(!jPt<)-okb4)5#WFL+k3UcA&d-<=%*`BLJea-3_0E~PComJrTX8^E z3teX>emA#a)KikJ_K}5?A9y7yq+^zc-LOZ|WQ>xFYMzqaeoP$|T34gdL$y>x`KN^w zgHzzNJ>*0}j}bnq&Aso0{j0}qhJ1pzMXJ*58xK0KaraW-W-Z}4+;SVgq;bi4`Z9*T zZabQ(^3okT4nE4bbmh4a<8j8Dz7MqYJX@x0umARCzc2^pBae3=0yeHMb|wUu>qy zia2UgzRX{Yy#LbS!$d^ImACV4SpXmaTVse#uTkAPm-(cu58W*OPfAYegs(s>&V-oMqi!?B1ptNL6}$}Fo7+CoD)og4I6Wa#=ELTdUP zRBChyvyJ_59r1Wi%=po~7Zu&1x2$G?eed8bF-8SB#d_!tYuy;wKO2bZ;VO^J`DzY7 zBFz;2+u?78u1J(%al~OcQ@bB}0>S;O_@wzdS$jVd5I{;F3QtopPG8RoonAi9Jf4j_ zh@9UKFRq$K^q9R>4V!NA7$5zl398O29<*tuD`J$7eWUK-%!_Z(l&pgA^-}8b5b+_) z^w#RONs~3KzOp^>I8~?)L_XeI`&slF3jK5P@whSeJBx=U3w6=?=y^~W71_=OqVp|v zqO=|3)HNKUxWZr{R9hw9N4FY}!eELX@};NBJkG)h|DY!)rXX0$TnBw#qG_QO^c`Qd zUiDJRv;r5sJSRoMTvZxyju9N|rO0aXLXOsrvqneyEi@y9ymF%Gu@S>$b*w z$KzSWp|hJ`Xiw4wG%siAq#a*{GSp8kO%L;DjdzZ2la3EfjrTl%LkVy5oHYnfpO{9g z&O)r}w%ixoc#J&8b1t@DY+L&SZMHh`=l7+AwqA^gYuu&`;iCY+2Ekf7|)5P z%OQ|@2Y5tv{|NrG!>*6eM6#>f=t{wcY+GUB4QXn>>h1LBI?1 zyMzM7eI-i3idl*Nk5CQrUUZL27wg^^PXZjbLHY`_YSg4}iwH%=iiLH_s2d3X3?9fz z2jwzpgnu)&F~VmT2Rs@8L+$PCpY)axQa-Nh1~w&vKnwo{0-)pBJZpml3auW{gJw=H zOl6#Wd&VUbj4hnv&2-nwFE%0t~RZ z)Ra5f1QP1O|8fBcGs$^kojL`$EluR#t-SpH8K_igJVz(TH@uy9K;OSiZ`NiQliP2H z4ghwQ2xShD(#a=DdnoY03OSs7y5$1$>XJ~9(B(_H_8EG5V43A2Rj<+QJ z@ec$q4u>|wG7k@N`-R8hvHKkp)fD5cx}Wi90FL4}65vL>Z$&t~Yb(@uYP_k79(gnA zcVcSpoTY!Ek%w__B_Z~3&##np=&g5T1q=;9j3S|RgTAY;9EMAoI{VW}k5o0;8+(Wa zRx7ldu20{qKc?@0U_QMYbqQm1UW`HFiC$p-waPzzd^QJEKfKxVf(f%1F+tL;!Z<(T zp)MH@_PqqS%|e^I$1c5waS<{v+9d9)Hf# zV=>jtVY&*M=(bwnyqten+FwqRA4YpTp>1AV)_g>oZl+#NB8H^%PW4_=at%;&_%lfi z{J<}XY$@7_NKI#b!#Ajq6yl(N=nR2$^%Fy6FdJ)i%!3YC)CdN_|7KKd<-i?H`h52* z2ac@^hOM1D=XQ1;10FM+mzF}~Jx^V&HzMeLCj;$dO#n>8Y1MB^v{aorj0+6j^{7K| zj?Yk0_rwEg(ntMl7L}JV+fp~JyeCQAqOfHEs_UkU0K&p-(Bft=a_OXn6G}3GHh^f(gj#MSvcs{4fK)8;k zL|;^L(+EI)m6gpfs;UvEsi9e0vFP}|UxyQtZcC}M$US3o{;Aa%h_nFILS@~>Zmb$% z69KpF2{1Y?ivEwUz~OZSY99%E4t)-i_;I2X>ZDN2`=#E<_jqe2tppHDand7!J+7AU zS4NZ(3fv(OunJC7iJCmXZ4*x%-YIDRuxz&(c_0ytB6Bn%T}Ak_@GME;A3Y7Q4DFN* z+dgQq=KDKkB&14l=9Y4s=`6_MPyOh6-=SCDD4&rJHm2EmGe3i;~cYOC; z>EnN|2eks5{}v$GgOV`i3k3^KHw~%S5vP=<1Wtoogp%axivXC){bdWKD;2OXMn7<5 z3OibRXyrP8xV&mRF)iz6!&38Q7gEd!4{5uc#sC*_Qep#o<5Oh)$!~e*gj7693^(n8 z6c|%9C`ht)=|-=(7OHwT`VLGUzMA>Aj{ryPw9%cv+FcK>pnwx(Qg^NYl?GC#I7Jn9+7zKC&CCsPs!2?^ivcO=zyX{Vi@8nVUx(E0E>Ior-U@k5x$;~?yDbwKle zS%GUC+v5V!Lz}?fI|CAJlQpGXBtESp+RbPz@)E2qcrF7dCX7AZ*tK}3p5$<;E)_PC z8&R}=s%y5m#>#-6;E|k*wKLNXI|`dChCkP>-NX|KtntZG5~Q*Mz8DoC!eADKc`e+F z`NN?PBj%(w-5u{DWT&kGj~(w#$+)NP`8|*42*=}Z6P(*`$D2cwMkhrUo_`nr6J`S} z2O*$E0o7FL(`4+RDI(cItIv+a^mjdsXyhmgw~#zR$5V6PAdHRJ<+|SAkPsN&4^=Hu zGYPF#i-bpuMViUa^Y7Gtjhd>bs&av1pgV{xJtZguBpGJcBPat{J>A4o_6VR!nCV_N z-tNa!5n}Gy(yjAGne9K3=^9>43={1~wvJGy59f3|6pdYTZc23D1}K^EmBKMSQYrPZ zz~SY3B6%HJ85ayBN>fK81KRQ53dE=t_lfC4IIEQfET55N7b@P@l6uP6U3`S12KK)6x<_&U> zFiGoat@8uqtF3m&ZZT81plA0@r98mmf zAe@?MfcdBb?RL5d2__yNZ5?st+2OUwm0l-J zySuob+?T#Ynht3YQU*4lj*utwiW@FERLz`^RlEIJBnB|OdLe{y(--dg?8Epbb31Y- z)mcU$I-4~hG(uNyIdrHzj3zL=h&!j66$anXu}O>#myLi4TL-`>W|cCp>_}52las86 z*g?E6*5E|o=}&xquF)iES2EE%?r5NxpvHwWnu5JBhW?;sMWq>>5m<@Eu=z&Zg^>xr z6|fU)aEY-id^r@;*(E*;4e8Dd96!ngg+5Kc?a+xPB z0JWyN^{sNac@@VbKpXZkq#wT$O@>Ez8aaw(KC=x|c@_g#hnfrw?$X7XxJ~}tfvY!Y z8U=lMoE{Wi6nty5>-17zEO8Uhbp4f5;=#C>_%p6x6`EIEcJL$4(!?rSC##Y=vv+(R zOBNj`E+#Fhfnaq~Zr}@0RJ4F(naHToxUkDUyikn^-9ok>E->}abDzqX$aQ?5I?feG zM$$5}b??*nqV7Apire_q!6)X!(Yan3+~To!?7?#mvtm-QD5;j8B4kc&7MWu^zJP+;LCUVkw||YBE;Usm;f!ha8uSasEk2{?&GJF-jE?r=ej`47_z~pZAkq z1rE}``e3Ui>fdgafWh&TK7c{WD*9sR>qyc_?=h54diYv8W0)ZZM+bsO6S^0#hm+w^ zyB%VG2}0mF^7vMvSws=BM@h{|ba~m4geuaZO<~rlhYb!lf^@jv$=GHVU~0DkvAd1A zrQ~URM|>DiwUWfKRO)4mFcW zc`H!yJ-QZ49=n$DA+8-$Y=MB}(u#v2IVrA|j_m)evYPsAtz8(b_wTUE)Yrh?`0_5e zMBafQ8Gz5|h!loLimXC&9?AvfAHJ7uptcyK=7z-M% zsog}|egMoZ{hFHdy><3WECzFq4`sVu^WvFy<9#g8VpQ`G>If4W^pP8{CaU0*C6djh z`z?^VqLz{*=SWM0Z63A~7vRQ>{W#y$ONRm5sMVL;54LHzp3v=acJ~~zc$Mn1k=*lN zBA||-&i1iqOWvV|B&@bNs3#I9G({nA7Sz6BuP|Tr=L^9XOJV4_Tk8psiecp<;PuLu z0(WCzt6}Lb-*RvcUgB})d0SMz>DzRK%_y6}XmPgH*bjL1nA^FU&T_6|%f#rb+pM-C z_&|X^x)vjKW~yJrU(l!BR-!4M#Xt)A-Vp;`g)sJNe~VHf9Ijf|jCtTt6zwlD$ELvQ zYdrFy;Uy(tGJqE9V)8{X;!(x~WU9qO!WH8zo(koD|6Q7f?$mKdbL+d0cHnMszo*x5 zH#jG>B~1gIO(MYctadogEw&eW#W4oo);JkkmLjN_t-s2q&|f-du1-HzR8e)@n=Edw zUWiBV7Kmj4wTeH*iAwb{SCg_8I%NWY?>o(j2)+pToMjmCd(a-$Y}6Cdh=ts{Tcb!w zqd9(hKvRMN{yI6Z1UwIP5ywkk0sde!qHw{kW@50HnUtn36+Nb7C|b4tk4r}f${Xe? z&?R${&akLKR^ULwYUIzFkfheY8;R*Rz#X)30CJiRk%B!z$(H&sKi9!#o_oIS?c{S% zu6Rvj_xdwoLGfQ9MUyk)ZzUx!t+M^aWDAl-2M)LN)n{kEd~emf`KY;cdu2VDL(T!` zvMTudq2fqfOjW>i#MBNUDB31N*WHu+5E=DDyiB{4oj=o^|CQv43yN7bM+;v6cvJhsFyiDLF%tFL#m{d zvSq{EBT*@>w9F5dfPAPV#{U!d@O^j4QW|7UgYt+=r3i76y}pw_rC2JqmG0OS_bx?8r0ynHyfw70fuQwC+ z-ptue7q7rX=?&4AVi#MQGj35(-|1=gYs7L_gu9+&Jdt-wUTRHkl2i@>@{94QUyH0d zz`y1Dl*p&p)Eh9fE2>8DG3ps?aeAO)PBrUjDJfZRN$(@BZiNR4%63}{Dc&_*c zEKMF65EkB?2Bih)nwQsKC6P5AKH&aZKqAQqi*Sk}p#8quzeQW6qg_@m* zduVmVxqR#UH*X&+uhAbvnnFVgb+Lb$`|e5bvo&wos^)%+(V6=F!VNweu$0@wOU^WmA%{ScP-8k}U>o>5EUP z0$t(nB3-j5u4I1tVquW$Cyhj=a~%-2_E)rPHy#uVSSPF|>;V9X>nSY%n`sH=w- zh%8CPr=SAgj6^n@pL5D|O*^mm;4e62^LRAc@`B|a&rVd;!2Kf)pH~Ou-gL8PoR^?a zYl@by0FIHD3irfu=4nHL>*1haERC9bVu+$Dw9}74ocYJ^iQpfTzj8vj1v=_4p0k=e zou(r6TaO0#cWijcYixJj%w_+WQPhr0 zLlSByOADThLnE3smZIz>7uyZ)>2!uU0J;4Dgmq#@yQlUL3sTP7s})7RpL^_#ix zc{Hyxe+^?1Vs1MdBo@gfsEpvnn@~-pop$7BRX{L#6_DdNx}q8sxY$jFgWTg_xu!Kb zdFcnGYlbpiJV6Fp!;0*llAXO9hWbNI)$XfWQ}n8i59MRSGp#SPAfy#XgDGNozkNrX z#w3_y>U5*dH2%yrrunWJCmgb>%ApEuNQz(+@ulQ{sB7#!RHYqOQ+PQGm`MzA8^_SD zoaTk7>Tx@qc0ZO-)`EgU6#tB}#mlAWD$5{*k`ndO*oRwd6WL7!ljFO1%>uPlgu^4Z zwIKkAJgEd$?*A!Ns!yaC$c<^{CvWMdLKzL;O#MNUPr6rdS`@Bl!V2A6f&U!&95#<~ zz#qxdJryQg|M?$j`vg}d4$PjB6?GD8od$2V?OFrq1o%=690sG&&{XF7gN%5;6b{r0 z(<;L(AvR2zm%&sRXL8XI6w}BQUsL9k1weIc5|x{e8p0_A0@+2Osl9ZC_!-ZB{yx0> zK?d@LkAM_4FzknH$KQ=(5n%(#KUfF$^*_nq|J|QL#?|CBtyAXPXXDWYeGi*$RNt$` zm7~#jn35nVB?5!VFZv=3&7C zX0#sABU&^o#crhDfZp(VyT@&9xQ%hjR~tezh@>FXWyR|qnyhs;jD2YA`C%##i;D1n zT=RdDkdo*Phc1GO4;$>Pw{pv=v#0eB$04zMF_h?;kcW?#@ckIXvmD>Ga6dmcig0c5 zH}eJ*ym{e>Lnbn0Vi|?6`SMG36WDBmG4;QHsaZ?VEg1-HuN_E9;jy(rWPLV#kxJOT zv_C94KKyC063%=XN~XS|j_3&MIQ98jUel=ncE+fy9>sZE~y4?Fm#yNW|An@>6w zl69~MKeLOTaq#ie&OP=+IYF8Alg{Pqq(lY+IVPeX{@d?Wi8rhO% zXu|wvTZ&v%J|kKULw1>4)&wc&EFmIgj}Hn>p>8Vn=RdZX)qSSLh9ci$b)!mPK2l6? zyUO)_#!@fSi}=|Bsr_Htg@nd8{HZYEC`BjQCQOZFH$|&&qs;Fa*c?=E*e)pRDS+oD zA&89w6ds6Gw0-v)Hpa$&9de}C(Om17V&8eiUVOi)(+uPUKz@CKq0p5x<%OD=2idmS zeo{QUEbyMbFzTK7`|-4bB}K&E<_v`$!`l_f|<1!(St=PN;(DMFKeTs0T$e17JdVHu$*f#AAiIlAV-1Jb~8Cu6TWvuW{Rx={FVBzZ2n5ZmpP1($>6l!^S!@BB+m;IE*cp8ptp zky5N2k#QI z6>o7+L7zqfjDPVr4_|7HSE>80J+Qo|c+4``$+|GX(pG&nohWIF#O#1fM#fZilvU;G ziO~goST?KOO3ChRPzY*`xa@DN4PMGx5vCdk+MM@gZ=%F2>BK$)3eyXQj&f@GSWkOj z5{Y;>bL=_7!&bkSx$A@M36vgQpSmB;d2PB&1s+?ulZ{8=&R#3MtonjGoTUcz7HCQ? zABg-jw119l9~vC0Cp5k%e@hSfoDd>GE&ER1oIG>}YBjzQ#n^(Sms03-di_-}YGw>J z{f+JyR*5(GE>NJ*dgR*KLV1!+x2C51*nKz028s^;s*hMoDTa|8(#%qLJg7nnN+RvU z)x0Z;s{e|_(B&gSPV=CVCveJfr<^^o>z1Jq0IUDj5YPI?pU-t)EHL!s?(Ep~G@c z8jfH;{JF-@h1wD49}C}_&VK~Jq^I^TDF^t6!ApNLO6|B|<>^wC2E|BygJHY*T@d|E ze5b!E>G6J4Y~)b9a##O4^j*!ygHv0EI+b2T-3q(AY}`_D%AJ#~ zA9{q$*CEW2rMXyP1eYx2*hsv1;Px-xfl&}Ut`~(4#ZxG_ES^G0$t!;8!c;x3 zOZ_Iy^%boKh6RhY<$Ikqr{cZ={=UMnlEO28MR9IvFHq>yG=Pu+)=x>eMulQ3^UyaS zrutoEN>dKi-}OVe@GCuBh1o-;00i7Xxe;G+pPx4i5f^0<_Y7!74J<$6<$lL09$IZx z8UW@;{RZfAqm`B0|p_HM2{| z{3mXe!g1Xkovgpg@~GpxO)eFVVwLs37M7dm4>L!8tp7l`jzE@w^iv*C!b#9HNvCnn zbbT=GE>S+gGSCPh{B@-|6jzs=w5I-rHisI-DB6o4WKV5+m^{(_?eEEn7)iNwffh#4 zy4UejNFc5+z%!1ug7lFPJZ8=#e(^wsu}I)?3S?7$?-GSaqrKa$I&md(ZMINeYBQm% z3U4Z~@2{^GK*o^Acp6&HgS9Pa=|L z!vAss7`{)MP{5dnozE~JcQYD;zDHfwpF{05P2oWes1N;qfl%9qs#a;K0>j9)GYS!7r_E*)&S!QWu z>Efa_0dZygB91a*WN<(Ak$qB?stlwAt3r?9LxYjzwrS}1laLK&sU5d;K9AE6X*SY* zs~fELC^iIFvB1VM`yF>4o{?O@+HGISZNmw4#=|6q_fuoKke@W@fwq5e|ungd{}-Ea=u-D@Lz@} z&~IWgn*n{_>bz=t4-Wqo;;6|q8qf6Gq{54Z#PZ=? zEjLW9yreh;wuxz#CRSNY&mUrfs zJckB6S_1N)Fgo(;dl3g+6}Ebn&+d)FC#>rd^I~SJ6E}s*Z^;LXd`MERn+L?JVsi^w zZrAxFnB|6w%aVwT*yhT*F;$CYWrl5V<3hGezCa+js5bSPb#pK5)7NEO@g<;@)ec!3 zO+s8db9?)tXKB@iBiU7FT|)9_M9wz~Iv!`8~@y zXSLHfy|2})w_0s@8e4+d8#?U};5#%DA8g9u>|GTbc)N^z9m>T+?MGla@*^d53RFQB zv?9sx*Y$tK(042jD2!3Z%7$6hO1(_{Wp3_b+&+qQ`z>RC?Ej_%<0RBk-ZxK8 zaV$1*qQ3IMT9*b07npo`T4nzUZYNpkP!^6%cSW-M>Ji^8?Um{ezkNK*zhM8qw^k`` zh~`d28gHEWYK1jmeZ5Y0P^w4Z8mq5`?V^Z<_2^o|=q#3qZ z&9%9R=J!F{DbEKoq2fmez{VagXTFjrP!F{KB5UB=+|RnA42&Tl1co;voCr7!`e7TN z8UatURXl37$X(^|a}7_=P2m0&gn#kolzm%dN3+?hwzm zheF+pU2<& z`y>O1{`o(JrElD<`k>Uq?-NlWpcjR z8v3&evuA!K@USL{BR5L8D-BUG7;f5i|9QvQ81t&IfXtKV*i%ZDw+gVv8n4W3(%5*Dt9VUH}2yI1xGK6m$)kGq->$j!{< z&`7>?OLx=bA^D4#Awuf* z;wYj^72;aC6|RCBHWYV3ryhrvpZ)hO?`EoDf1K4c-8k)f&nr+Zn*u*W#)}c2D7LC- zPh|K-SarMUFl-eHLq8G=bKa6peC@rDt+U%4PiOHWdB~g9xrx&9Of9X=9)<{L_{|K& z%#GI0ntHx1ghOL*{|qzkeN#I(Gp+eU_)hID%L!;uE6^Im!1;>t9lR^l0^ptfq{v?}pR`&aW}35Lz7r#wO>kdRU}2B2kK zI#vPcn(Aof3(G)^*-JJKnfU0%+sL)E&2G;-dd9ACC1{Q2-E|AgGgkX=ZlC;nW5%xv z{*2yw+Xod*nTyaqtJg$#?v9GyvlvNod!MoS$JHD!R8@KBt9g08RG$0!=Bn^G%M#)S6M$RV3ed{zV_1P(>#B$3{?_ZLC~|6W-7Fdx zU7S`K_S-(j&yuCY-sBQ>*`uvZ*2t33lm9FQwbuls&&eH2c7D?So8NIx)v)2y>=GdN zcK6i+xM0r4#~e zZjhnS{>ws}*tsw|p|E!^3t3`Fa%63?T3s7tnQL~MwsLKM^moW0P%!1w27*od8F>SY z%<}EN-qysRL-i5WtqR;4IQ2haf^U3T0?89HoK5!#P`v2cQj>XoB!5d8HV*>fDug&1E1pnF8|%I`bJffHl$c@b$<@zsQAFH{;y z$2zmXDmB@Yz34k=**nxxKovr0iWbDBf_=9{aX$GSePvsY-=bGQ=)-S-OdtFK2Z&EM zcPhQi)9aIs_r=P*dckRjlEw7aQjuUx6;j}v^gw3nYTT8{o~~7xDv92-lw9%d{$8qW zyDt!oD^xFh)|s^ZT8qqzp?&{LcB~AKwY*f508NIB7rX6whV{+X=euK1T}%+ZYG1O7 z>#4<7Elsfzgns&CP)+jE%mSQL&Tj8!dbjY|IsfRh^d|F19ge_z;ZH~}3Wv18Yv|(% zrsxZ6xO(98Uj>tmd=YWRWqAF|UUkQ#6wW4uZ56a1!(C7EzYf@#MEyDWX&&KHmHkp- z6m}z89!aX~ee>5Q>7y?+VSR;-gWL>fU)Hq#7R52^WjASbA=kgdq9+WocpfG$Xs{mT zfkt)l%8)2kbeRjp;BLelHpW^Y!LjPbdt43G&dibs6!4&d^Pit`hJeh)^c?DF*h%%x zbCRwh5T+=5v3lX91o-f}mqh>J;oZ2v;4Ff}{!P33fN<)P|Amd$pW~mOJ>Q+CRJCEb zh|yNDmldnE@t4e*ht;uu__fwkp-yO++3C!o2e&$EY=T|;PdED~SZlN`8^W*Hdu;_S z)>ibOE!PWGn}+fK(2=g+QD(U2RbQk%RVG)3sIdx?Q=gUv2sH zRn_J<<7V~dMDZtyCks2({;CM`YV{)1%xn$~1rwIUNzq0)UkKowt-fK?iZZ<*myrs~ z#?s?@8=1g%28taQ`x|&%bI53s@gqKgTj)w z;-_|QE3n0yEhd8cIdcqF=}3&A zBW4E(6#iei1>muH+&Xs}@VO=&-|SepWGdi!z1_pE6@k?FkKcURC>thP%T#5;pftaK zLtylRD1qGg`|;k_r@zDIG6slR(+!PC7^x{8yma-&++Vht)#DZ=`Duw_S;nAazWeCr{#QutM!+2q9Nq%%9Cyh5p4cL6|Fxp&b;Bf zgP%{oDmGPGzp`^Yqillv+x&=^aG8O zNGGs_;EAJK`d1#fw;_%3dp20!%A)|QF>>K(;b)m zu@+e3tM7rY2jF15I-#y?Jrs=@8Fc2RvXEWKAz z`t>3#%4HA3PGD!j&uz}TWqT?8cW!x!HYSs_ycrfmhsCQkz7Z#SK0o1Z-DBI!S za7H7J_wdGl1CEqSUSIaMhsC3MFMGxF+35OR=*O?47$UWct^L`{tGX9vo9Z}}4qKDE z^A3;ecs|$)$sFE(b?b483atmDU`4}ZvUdc1*V|WW5$)FoZJYe3BR7F7*P)pR-1e-Q z(+Jl9gcg>gsNEIbEVZ273Pa4srNBMAypq#v9S3Q~F8-{Qz6? zQDul4ITvP{(M#CNZNrylCX^#6Mvv>T!m;Ka_i!Xpa?G)sMMQOIzQh(kA^%XvNJ&LS z`JVj6FZFi6@)h-SecR->Sa9T4RLM|8-y9_+Lv>MGrf|+s2oYSowQL}w8R55bDkkii zb0ZxYSbuv7zk7!jjr?*ro0G0Fq`<$x{~xXm!1}M@5+DMa0XQ5$1&Rt62(}EG)`Z5b zdKUzYfrS;UqN5x)aHq>{bVVJ$pyh$<27Ean_9e*!`AYq-+W_&+{%+pgXB)Ps+ibi) zD^G?~stmslliVd;2dk^v+?A4@0J?`s+t*#&Gmjt0wmZZ){ut&#*=!qbt`6dfu6U@w z4BXWag>~V+VS&t!Vg6Af)8fkh5q_fd?CyoIB7A|<09k8)8A-GESQ8AUQz}W0iLRV< z*wQ6WOrnytdt5AS9lsa}bLlCTct#v|oh)#%pmrz{qH<#(H2IzW97y`b_>ZIc@F(Rc zFYh$J7EF8V0>}hH-~9Pdn8V?b zC5~Ng#_LAS;!f6#a_C`d)N3rnnTGF`dp_RXO*>pgSiNpHzBInv>Mb|N=-KMTPo26l zc5R)~z?$_%lIjd69-As#P{2DEfb(Gf(n=%>p-PcvVr#Z5A6d$KJ>F`!bxI6yw9SuU zo37=EN`u?Y`kB@l;w71ML57yd^Pq{KS`xT6ZgH_!{&-}2#@_PD0TJmkh%v{m( zIhJ7|lB&p~Hrv{s&#$4@>B@m0+?S6M?iMMt%Ce@sw>6oUc8$G|(4kmTy+S84r80q9 zK3~SmFN6NN^+E;DNSwge<3M*P7UpYGv*Regjrf&#cRyIva(vU1Zw6C{>#HTD%8``Q zHL+S>Lf)aqo1aOIBZ)5Txf&N+tN__pH+nE45ZLh6&FTmR6_i9fNOQ_79aqZPVJbCo zV-SXh3d%7}Mmh^85+AC^78*r$emNYQw)^Dc@$F=7X4gqBYT>w7`$cD_ zDY)r1;zZI@v{!ov){l7i%3MPp)6&6M7Xs*M0#|4lq@Q zpAUof$kZ47_2aGU(&Te}5=TheOR}f6_1{`|smJq$hJ01~8xGYb`S$C(uadPG^`}90 zp(ubndVMsqAR$q%QFhJpmdt(!vQRrywCMOK{VmU+wOW+tkNjy@|M7ppISW%|q>v0Rfz5^=ms z^j2$`Po!k$kdpSB(oC*t4N#`Q^!)wuYzjfOR}_8o_I{z|X#jO`|G}`a@XXL+vy9}z z(`9h*RZBgxbC@W57AbhMx?THjFV_HtwHc?8?Y=6;{kP|Ve&VaR9!*W@sWT<5H1Vh~ zMr!Wqr;td=;m>WY47JSni=z1~A=hmstacYSzLHt*IrsKcOITdOd6R8E8@q?!d{v50 zqtY}5nc06&030{~Jt%$P%7CXGF|Isr$nNHq+YzzagCpc7dVW-)h$fweGg`g0(ae@i zaa>~c{&?wa-*V?PrGI`9xPFLA+4qVcD_X8l(b4bEeI>l4z@;N6d2hSqxca(AWRUXt z<3od5P22a$^(^EtiWA>-^G)0Kq^9I#jpX@bK$euih)I_>*nD`^@R2kl6t!3ZBb z5$0|H-S8zr1+L``X&hNmW#`c*&CQvJ;A5+tXe?|j?0MozPcc~7SU;$j-taa3*>%tKu#Xbf z`1vwug}{OSl~4bx6C&3eFNZ>xZZ03sGl2B%B)hd!A16cd8=R#~oM&KPvIEQ?&$l)N znNOF-R=Pjz2)VD5ALU41PS}oR#R+Bs>Vy=g7i)y}4`cdFaoH5~D~HRS;}MoG9Qyh# z9K+Li?+nb^Ie>dey`H*1LI4cFME+-uh7N=;b7#W`cxE!F!D!`BgVZ~c-;Oz@$`A-R zu2C$2*Hm;=zAl}2#@ePcDmithIO4F8 zA}fdUR!bP);rx=C3Is3lS68$Mur(|?ls$#htNL4yhNK}yvtp2%O{(_xRxX&mUsT0s zjPBp&g!hj{Oy=S76vQKHZd!Xr{t^GZ^TXp-yxdx*xZ7O03Cc`%C#vR~^Sj;b&W)Ub zMhPGIhPR;xWY^3jLb#n(`4Z-u*r zyxr^1nOC`^h296l!k7lSuqK&I*SkR1#jmmE;YV^_GtsS1I%gVJ1kzW;j+ReRXGWHc zMi$e0^F+%U9*sI>%&V$_oKKUqt@lwlq=~k=eDkN3<*>2Rqo~?#FjOJOHdT4MNHB83=7yS41g+F z{iAtzw3RJpx-hCfN(-K_?y~5DK&F%rhS0Hdd|>JOKBQY(6sFX`nsmGfz~JrZq=w7G zjI#8*7x-j%9(H8w!-#T3ZeLnc)*hpB$fi2 zlpG`l5mCJt)WV$)@44o-mt8B;pMw&f@jZ|W4p|kcBmvc~%-%*RAr*ol3Ima58Y+ux zQfb38yz8&Ac$Mwc77j_?zf-{g$#VgBmFJn6pv;?zu9c`$Cw#e?(wiSuD&%{IIiP>n zWPdd?n@9&Y@H^)A3kAAh-*{$!DzV+gu2mIp%6%vR1KRj-uik&swEO;Rq2F9Nky*Lh z@`Mi7@Grt~;P|i0N2=xU3lX}NBok(5h_~hk%lqy?(oe+_u$K2?&9l}C1p-(#6@Q$( z^J;E0V{NYzG74}dxqkThIlub*MV9Wf{iov98Rl*2-*PCs4?hN6M*b9DcSs9m|TRR1}0`eXfk~C1AlSUH!z2uei9>d#MTTONFtNscO^^5QofFE9= zHY7k<0m+AoJKa3k3&7mHe`vx5(qz}~OH3_`mGXu_!WyPd7CWyYKn2j2igQCHE$c7G zyL9ejUNl%rV><{n95~8mNc_H!eek7&sR5D@B~??YH`;bnI%gq_Ke|!jwfrHA`OXup z=-SHmS2#&!*rmn{6lf`6vyH}J>HA6JF@xBweVl$?Y_&*ZtlAw+KN{Co?ubKhgm-Aa z_mwk0n8=sn+Kz>_9yW>b!LyY=^Y%5C60N4E*rcm<7Etev^k1R;${hU5(y8|J&D_2x z(kQ=l33fQ6EnFQ-J5;n@Z}lqex%0KM2lMpt@R0`^Un)rMKNAj2`(qt7J91Gva3OaH zV@_wM=(9>sdGP=2Cn%ER1rFW9qdoiHun_mk!Yx^z1`fMkcOmV~g>vLpVk`6Bl7i2+ zZ9DIvFNp+TMmh>txx2G;fd!6DnBDE{d{ z&)#hxyQFIya&`KnTsNRl>5I~f(~BSI!Dfz8y$Qi^TN1N9jlOpL-&$I6RZhQ+3@$qz z1fCkKv5>~Pd@C<8BXSEH;Qu9j-u#-%DSp;f-G5_$ySC=wbU+_&eYb^r=em4FbkodI z=*1EkUyG^QYL-lX@Bl*qZSrV{^T}nD|M@w9Wb$A~zRQfZQ`5)lcYEN4psVU;XntPQ z)26#bvDsE+_{wF9)*|u&>?n{~LmSW2#;p$)zHjr+=vsOfH0riEbsUSTa5dZ4AAz=CfiHBZyYeyCzmc990IbCIsR z78mB#@c;TKiTi&YgDHPO_!yC__!9nbqR{waa?(FKtdA!pzlX&M^ASuIO3_U$jnZ5X9LHK{N1)K1!RGY zVaTW^-XA^QEl5@SEH6K%*Y119*vQqK4_=614p=|zb+RtK>H)8q)vJc7E>(8ldEg}e zq@WGO?^7&JG!mzPx35MFh*=Wt%ZUZ}z2qBrMd!UXX4(duJRIUkQk!s@?y~-}NaU`s zuqdqH0{RIUnY z2~Z+i76CvuxjxVoZu7n5rLL*N;TI*SQXi=kszVx=Gz!wbC$i!H=l*DKF-VD94XOBg;weyQVdRJ1Vx+6&QSL}wSb;Q0 zLEAA~;0vIL*8OcOrs5RpCnMo~OwiBF>xXtQ`S~hX7b1#l{z8Dbf#_7uQ5=%4*o_?S zJmAmOc#7Aw0;N+aXH z%nd@q4w|<)L;PVR9k1&HtHn%xYEOdX>TjIyu2ycF^Y#R!?}1_(yD?N5#r+y}MfrckC zSM8r-mMkpfkXv2RQ3p-t;^mpuT+hP?>fiZzC3{u7xObJym(C8v?|f=zUP;Pj3IL}+ zzPmPQQ^Nfo9*AFMY#6BMw2D6Z(W!d@TAwcYaqpA~G z*wq!3VGV+w+2+?vxYlUqDfh-<)#ZPd3SZh)?E{&Pf*=8gmtB05n-~9DGR$#{gSp&H zVNE);^iwV?K^|dj96LDcTO!P0WzP3eN9V7504gKLfSfvGE8lC;^Fi#=EH>_xwC3B) zb0h5i_ke;A%MX@z+i~wiwr~Zg7e^HBQGp#@^X0u>hhz794_JGA z^I2XZ-*U@I>!L$fFDlUBBe`H|=R9IJH#ME4r;{b%>g;iDr1smn87L0FlD&SRW0^S@GBIMM zl-xEMmdnTy#vbTl>PQ^VuLw4AITKWAJX3~ZOKm3VuuZP%*X-7+6ZuMb0X()Q z>7qYPG76{gb%)zwbx+V|dBKberu4d59fciNd*%}vT)~UlUPtlA?iM5o!N_k zv7=t6dx?84HklMH+Cfj&Rl(7BcG;--d+Y540CIR5#!Ce@Ru61(VpR3|+e6qc?4#y~ z{R|X|0m$RvfSF51;K`L>ulM-Wzq`Ek0WcU~;5R&n>Vp`@iWC{w%@t&p39+InMo5+j zCQIYyyjFEbeA^E8OE=4i&?9;w5W5?~HX0PeLuKKL<nYs#+f0WuD;ke=OAv`%r z=2np3#+ZQ)qE+j)qf9AswuHXsG01l6(EW{C?e=Xpl`Hyjh$M3N2Pbr7V6a%f`W>n} ze3{#KUv>0HxM@^K2+rv@nGdQvxvR2id|suEsm*DjkMnb>_!Z2R`=tM7&vkCX-}aXA zr!|_sz+yzZml}|Kt_qX_wIGaA=73%L&x(3qcVkEzS!K(wN!sEi?+xSbE)-_ddD9E# zxYAGA^%=Z4uI8d6v4SBD%h@9G~RAa!tXMUz2W()j2S3|Eu9G zPeqdf;V~?%$%?}4{1F#-GDDuW&VL?{euEJ<86@il@*BB=4t1cXsSAX%AzL&yBO zoYA>bVYxety=S^I;3FSv^X9`D`AD3@8gIGjX*aStdir%ZS^GP`OH~!yM<$gvyr$eF zQa0uDzl<7_)qkPAWq}K*?BKd(1=AH4$eN|q{LGBbjF!12dM>wIOn(C)VY(qe`T^Wh z=y+jB%?)l*>XJN5HFMP+;ZYA&4qbkiub{21!?H2BLE3b18$k>%q_bBE$GC2WKztps zuXgea;{+y(yiEK+1^28+fXcVVjiUOlT;E9RFLtvmX;&>xb>|xq^?(U;{VK@4hg+>h z0X9C79x6f&9jOoLk5b|nv>q|L1sZNw^THr$>Oryi;OZ-IcQxEwR6h9cW44|UN)`8E zMu38)FN;tNE`E`eWE1KiIzAVo*)<;YLf4T_h>^gh4@h%JV0Nd89pbD)dp&&!WRrp2 z^4d9RGgn%nj{yL6_HS-vkU0+NV4jWR|FPJ+{;_E%|Mbzt1PW_$V{ruWa37Z zSf$y?2iC5@NV2nFOf=i_=|vZ`b{0nW3@soCm3ZK@Tb@#YYMA_$$vd|oLeGH6{H}t3 z*9Kb0sPea3QWBS~T29B9z8=&jy#8)(qHb?X`IHbu%pg+CAuFN}1}*dWWmJ{$ zV~USR?iylM%lXi<-h6+_crMkn&Ye&WR0C8hZ91o`owQ%Ai_A^t+aRsA!;60*X%P0l z@7nCFmBK3VMaT1smoqHTQQu4448k~;=NUM3l3v2(>d|u+`2GYS2LVeobJBlD4(IP3ygpdDP(e1PQ({TLEonkAEGPwF&AM?uLKSS&P%s zhum(I>FrzXeS9c7D?8pl661)CF$#nKrQQ==r``icx2xqvxXml@CZw*neTi%Og#m~< z?&??s8R=K_39Wx;Fr#^715>551%|v4BXsnx%>EVwoW+eifg_C1Ewe`B9F%5{FuU(Tu0vIV6o<_1jySH#uG&pj{v2!rv}I5Uw)FK$fSMgz^;P%x75&}ruYBvLpgvne4gM>15!K~% zLW<AyUZf4ex$V36p=lg3+LHb{3&nkTSbnnBb$(^f{}(Z82-x5j~kXRDTqah-Q0 zKVUr&xoCD#8TbnH6XSo8w18`H?DI}yPn8x0ex?)u+BXtU&j&aBY&OKjs=%=dnjZyI z2xV~wLq)ud3eyh6H}xdk4KD*QjJPD35|@ zIp3HX0%3NShD}V>#cTF@9Ig)i_8Rpm3FW^TV!1k;UPv`hb@&SD8JtSax$uiE zQC&ARBRL(|$e>iQ8g5dKZTzt2kUR8#=$J)=F7=c+^6Ah8=KHivwUc0Eb zr{m>^BfDh>93Gbt-|e>xT6)A3LYM#zvvS$O1aE7-vrh; zfbs)?gPofnWD2KA5~xW_6w<^4Kgr_|mO-$T;l1z=ZgL^g2RQfxp?*O3g{Od{rvm9L zR5KFLinsIeZcz1Ya6qQ5pabR45a+d>rXlSAu+!UUMJ1{wDYbA#*;q(g{k&j!{u7Y@ z!u{djFs>rzNY$9#3)2+-LNH?wJ@RjA6 zD{&0(Z;JO$^uW>5zr7+0I$Y$aoJ_fuZ@+$u++xBk_X249`NEul4<6+W&RM8O(|8O$xQl)M3+VD*V3 z*J5bvG!&-im%MOj5J6g-IRr`wx+&>E7$V9`qkZ z=EayzI7ZW*?un?*nlJInnIcSCj@LCvWcnzhPP+unY4~2ze1v~!QiXEQXUm@FnV8N5 zZZ9P?abrWKuJ;iha13?;Z+0v_UxegKH5ePNNs@r8F6EQXZ@Pm(_^5!en&zUJ)u&_o za_F#%VSt>g7topU6N_l}CB3iT05#pQE{J44_AH#H7NM{5D1EyK3E}&7ce$N3zGbxM zk(;H0KK{D|{#szFG1@)jhDL~TaixE$$vkkG6f3%QrHK1q$?hxg;}5(NaUUO~3z&+m z|FNn7iU<84Rt|_Md5fA+)G$= z{4a^Y>P~xxb#p|3BcO=FVeao9nQ89Srhh7rmwTSXJZj@s*sfOO5Ny1e<9~q(l)0as zz54_A>D@jbMO?7ls_LZQ6=hoxfaC#Gg|e!;z?t|-#66BrGdZ^ng^2seNDYe!oTXQa zQ0&xkU2telZ%+}bV|zoToTA%$lIFZ_{bvYQFe9X({;pqN=`GN%Om-;jUn63fNBS2v zvnYSsDr^GZ@*0$Pi8_tL{!)E5n1u%^g+E~OBVEc|eCRMaUV6M{THgMHog*)h zLxDkZVmv>1olNK6&>*7xDJG5gCZ>pT9+)Zz7tz_IY#W8CH8h@IJ8r$BBAr~P8ILwG zi)!3QprBkSq$(5BhPjA1`!>GkSlU*c<}AAB=g{Tht30j`YyOkZW9 zXLCFX+;93J0m4Dn<>(Bj*rg`j*lLOda-{wkdY#;XHVr{9KIseJrjJ56|Km9oghYRgn{qM4^kvM zd2kDW*J1<#flYiPzCHxcuq?7fc|WGbrz*Haa)*->JH-~9b)FG=AZ3Q*=Qhu0JR2&n zHSrWQmKG&g#|&nN&s(ks7Y@R-UcrB~L-go%%dBej80ejSPZv5L1z%fZzJdoY?n~}w zO^eL%E}SvcUoD*{w%449LC*5qfqru~=|ERM{j*mFm*1LZAEl|Q7o>ZMzQfn}Ld}0! z`C~)=NqFuA8*jo>hN3tOv0>505LKbn;OQ!88wn zyM;gEQdrooDBtjN{P(K?TeweEr^L0ibih-GxSV`BFg*u@0K%>@%gay(UVy?YSeY{g|daIm$1{7MagEaU;g8c{;&5A39*dy zBBIXRo>MJzmfc_bJjI#;)1Q2AsrsT$pJ$PTy7bvzs6eTHfnB6Ne})EK)E*9k)!88? zeY#U#gkda{ToRxn*scOIqz9sefQ~7J6yU-YhVafIXEO5t@rtWook^GJTdkPGpufG6 zoqlmhy5wkDtOeR5d(x-KJ-Aj&x4q4M5kuokSRaV*4HU%0*4;m0&pkbG>FcRCq_vxCI*l?9l}1eyKDpoJ?`pg%2xZ{Y7&f`)(zymV zo`U}8y6JW0Hw*^RTID;sL(MZ~nV!en=gH|&z7_H}AdsAB-2XBR1D^7@a%_Mce3q)A zYd?P}db`-nUTO^J+e^|vZAb|c9&3ztOSbf35nT={agrZw2LkIN?+JjGDcov_)~4Bo zP2x!fl#s$33cwTmlI!Mm_nR*?R7mSve9o3J|3O6+@gfKF&9ciAgk{&!l@Rx}&D!gE z4vp(s=fQVJ+$mP&u$1y*ukSD3xo(EOyskX(sxx&$+ESG)99jZ7TEsHM^O7B+vbv77 z!45lTrlJXt`@8(1}dgh__(E1@R zTs5Y!e21WxUtMi}!WO}{!3?>^hQ`)~iNuVCk%*;%qyZ&KYK!l}bK1!GDHk~cQc3;? z%IF94l1k-th;d=6x_p6}7p`Vp;-Z+LH>-*RbRB@jJn0Qy7`g{@q|V5y4G0GWMX6R^ zphIabrctPNZi!q9i2BhT=ay(%g24pkqhezE5$pbw`H2IIHS z1$$y9drF1zV=Ua>KADCWl!+6Y_l@>eCn96S17U9aGTNi;^tI%jTX4;hC z4lBjqUVj3#$4{L$+AD`M1aV_|KTRD6c53ke=M<`y^N3%>U;EY>g$7u6_P0}0h{+Di zU!i~)L+ag+@}Mh?xPo~+f?wc_jE;x;+SRTHd^(Y0p+>a(Ve5ySzAPYC|Lq@{Zqvq1 zSUZ1PXX!Z`F|W!JjvsqT9OaE<7a*!*M+Q|Tg7Y6`H6H#v@pAwSeMG5lMk98+#+y$a zVL}G^yN{b^CB1l~tziwE#2R?t>aLepbTrD8Qg!j27X8YsW0cs* zru8CT^V~~_}9Kmh-?j;7ZZU#E8?ZrPI638hP-TUb_Wht5F#C0aEfslcT`j>nUL0eSmi-Kh^>(PQWHbE%Wd z3JP`p%ShFvDS5|$u)Okntzze;QhJGj75%<$;sdm0C!vYshzqz32p2`htrtXyD5^)s zNbh8ey1x;aQ0{)qg-6u}pX!J-ug%htO_E#tX-n!@Wa~&rN!2B)a#a%4bLY0W_Z#SB zZECsYqMMZ|prLB!{axDDm#^CU-0rN^{V4QK8{U@XHY=n=2R~)37VH?Sl+)U)B*$fo^FURMEgzAt2IpJ$d_{GB8*+D}M>T zqqusM%0fKPqdAfP)DlTtiX{|L0~#Bzhy{^8hBNb+5z^*o~g_r$<{^B9*$0FEUaqY?9LN_pn-X;4mztAEjm1!?k z{F*%&Aoex+?I__G58jUKEdG_BvuuO%7Is|``KkOz|7yCG)^yrKgAv>LeLp?u)~&g& zuMX6D%>sCGAUfr+P~&d)w&T0Opui55tI%PTnL|(Sbrji@Rd^@|nY_lw1JA^ki5qgA zwcib&8V+1Di=2glB=~NGf=M~6G*S3X&V@57{EvfOu%N;nOU7-?ws-4R{>*ttG5@8F z{_Fqayr7k&9mNx_3N&Q!&u0{TRAqrbs@$yCkew{LlWcKJ)lMX|F-UIluCQ}feEhKd zW5mHYqxdt)Hj@>JOAH7Z%+|WlJQJAsfmU{B(??p;-8WY%2p(t1R$u+vxg+O&m}w_oeR)($25_Vn%2Dvo!z>Av>z)wz7TM!s!G zv&Z?;rTggobghKE%8p3(^g~L>hl#@7A9r)Yx2fgG^eCjiu>NMsSiS}f|8fHXi_+Jw zlfm(=>{58@3G1Fa3yHlKTVN`wjRts4%jhp=ZsUQVnL^mfTTn*tYZgEM5`-0YMh zx}R09GzY39kG`qLP9{*Dwl_POlobL{G9l=>nocS0Ujn?fu$@^T%jfTqFLR%lHq%uS+y z>P@`e8DG4kiQTCG{i4^FL#Y}C8-P2FGU>zakd@S%)N*MCbB`O2yeKV(`l346wNvfx z`xm0!iV;q_o_^ib#5jlxa!!@@qIq}B(&n*ym?;}Ie^_{74}Tcba=>Al>0T-{Ql3Xp)`+#I1%A?<1SRK{71bd z8~Q~&Gb@vkiC*@^s71%azD-Bf2#+QD1t>79 zu9*K9Ja*iNfI1vIaSaaNvFq>l#R?3^x~RLJYH1BDWp$~Ga;^C-@Q%xaSxIBlZHg;@ z4{O7#O$2t`LUQ~Dq%s_pzt(D~LPAs?)5#YcJO9kO<+MrYobxmT|LS*|F5=i$USEmS z>h?3kTHJOk6Rz2z z_vo!b`&C}edL4DD#JEt0)I%Ji!x4XH?uAsi1$}Srl&*DJ)u^LvbTMveZaTXx9Z9Ja zOol_R&{f#k_^Tb`eawCJO!R*l3C}8#9zoJ${#L|K2HFv!-mZH~Wcw}lGdGU{*6-=W z`@zGTY^^}d5#%b#PpwP$xAv6<{O819@iKSsL2-_Q&s;)5X8wE zzXT~}dRSrmDDu2t?&ZvG36?0gEjAgF3U+o5*T5<%6`E4jlbf4=< z`0g?alE$BdH0S=vI2=gkjps@P4gR3w|I7OD0w2`wDW=d(9xHQw*IlabYOen&wGJsiJuIq>3BW7r2mOpx4}rY`ng$}{4Nye+SM8t+3enAMvdPabXu z3ec8^l3!bA-cSqc=H8aK!}WyI-SrXkwdN7}I=yiV*?=mlcJxhewr856p(fypuAq9B zRr`I|ZkDK^t{?Apwsz(0y@OK)_&`9%6L3;g(7Io8$P=y2B@TXg)K+8&aTSrX{R3EF z&lO^9-N{|Kc8|IiPnhOzKN<8RKf2Xfxx^_aZB4)sOw+*sDaD=9z<)S(#j(N*cx~P3`2AVb+(tz0D72O~q<-^6tsULhG7e|!|bUI_VPoEzqU zbiq<$qCkPxO%|XDR5XU!t(>Y10_*dk6PY`j0(q&lu^A6-Zo#_|GB|Ke4(a_(pWLTz z({|!smz}PE=1aZ>w3seq!;CMrceuJ8E`pEo&oyhF6M_N+?qx*x5_fs2-d*U2t5D6^ zm6&VD)*nBs73rOK8)aL(;#l>S^Gs!_%;*Vn)ACQTu-NhuaI)_V(%{p#92z0_h!RAL z$G6cNG~P%#JJ=mTCM%}QHJC?ItZcT+s}4C^qb}Wc+}v>a@l{-gzSlI&PWprkxz*Qf zkta_qp$`60VvdI%>TXq!;_yV%WDIRbJ2$*!W8_O^jN5|a+6J67oU>9xc=N_3=`<}F zTc%;>pK~$AHV__Xvl;NISJST|iwQ-P>C`30#&cceKm8$&=HDKKyak>oS&js?i>?NN%pIkk0lgx^t=D+i}@A zZ@*I5Rv1&rA+w%v7Nk{XPZ-|PFyd-|4fRJVoQ&Lc&EB@Q3;R97n8*E~Yq9%NQA#pOf%{$ap_D1B#`X_xNi9-w0^AfjOkSP%kTBaI z?48WW$5K}$pVm4v{4MiS z#CcT)QmtkIv(dR#DNQWV|3|dvva53dU z`E}zd1Y=cl+aw@(p#EG=6#KYoK;R(XKc86GM2)WPMACZezGIg&PU?Z!Huk5`M<%tX z6O!&@4Gaz}1+yL;XZs5;K7$*nvzwzMr^UP87&s!WZMH#L)zSLcwj%m&zOEZq;XW#Gy7rM2UA1h#8_-gZF6=9^P1;&bus^|#PJ z|1lrQn*R;2-WasiOA*?}6IA(?;MR26e!*%TJ3fd}`=IP+2z+cqy9>@24Pvk_zZwl< z-R{qPaqd=dwxQ$K+C?v2D9F$Bym^(s7HWMO;&cB?y$k;6O(#=@#NB&b%ow&4W!W1c z9Fnxc8K^Vptqj%WQM#y9$9_MYrXJ zHOj{#__*9_>F!!;n75@?~4W$yTU`rdrVH-1#8qG%+|Xy8GtJFH?DWmr{5?k)h-wxKXF5 zvkH(v!}!3G$B!ZpqhsfuLZxvc>$>OpOf>dkC9N#^e&2NgOaYY*W(MlQUODURy3HAI zZwgBD6pK5rX#HFJ$1!(ANVPNUR?q;!onm2(ztn_C+~7ecB-B52|AIZ@?lvrKB>u;l z!Z~E}p&#||gS*LmV{%)ZfQ6|W3sSbSIpef^gFLNw(FKg~WG~#0JGOOXI2AzWx&^e-NyDs|9U~6I9XnmHuad zZ&h{~!03Dl+S6n+Qb-z=Rl5DM?Cq3r@Zrt>4_842qKo}ps=ueA+>~#NQ%Fd4~Ds}<| zc0%R>efS%hFFiVd}`mX9l*SyPGQBHA&I(?_qln9Hk_L%oAUIW@gu9WWeRyWYJiB zfbdWDakZqQSeimD`ab?gdvC~P%lg~3@BA~PExW{vc?dvYXLqf81@l+jAgu@7QH5?& zy$ekg26EGPnKB15axsDPPruAA4Ocve4qXEgA4V7C@qJCzC!$j0e^6=tP+Y^6_n&+Y zB->cW%;+RK^mJH11-Ne!{C*E;ZQ8k!usDnsj)NtQ@67khbguv4gfv`~qo3smWSssB zN{g(=ceuV74gr6i7;qq6{RgJ&YrI?;SZ6*JX90A!HP!MjP6%NktmTsYqc+^d)&FH3 ztI+~&*%bg!m$WdmOXCM;W2M*hmwz6H4xme8ScD2k!%l*rsX$=d)gr!D-bOs5G_n8P zC(&-vLYWt1HT-)+pdgjR{w*yPy8)`8fojLz@njubH?Ic@e3uxy!t1>C^23k-kUnji zVm@-Ym8y^5e^_HRa`N*N6bTgH+|d0ZZNNX6ZKZRh;|Kh+Yr7aImcMZWeMLV~?hrmt z>kSxgeu|(p*#^E%n8cWX=#6x~l1=Iwt)V*yC9x9SwKne8D1qpviswfZ)S zx3HKXKCK;w7~HCw^&1XSJ4ShI=jF%GJ}(|kOXbivqt}T;4OseNDfdFsgPEB0v?SF* z+Q6i!+4BYbF}hmy-3juOT&Cyca{xexs*#1mR$nXgXnP>3et=xt6) zP}dUzv!v9v z;=u4^mHd6|SA18>jjN|u#R5P@AfC#FESbogsOPI<@Yd9MDI7x8OahtW{BL|u|MCm} z@GmqpRF%7=cBv>Q6aH7B#p2@j&fssLfs|-J6!qzUfJOPb&nj3qWUcGGz7rdlzuf2h^mJG+4<7RXXEK&QCUfe@b z(N@NyiYmnOMv!t?2!NJ~nloXNr*4$wW5+812LRzf!+QxIb}D zP7zr1;JDxQ!vaDwa1;Q%{c_}2xc8i)eWR^Vtdd(*t*vW?AbG0+bYmbo7n^E!y`O2i z4RXvDu5}SVsPP8_ckgifRIXR-nz*davy&tb(-Nn*!ghYg*fr<{@aQ{Xv42+|ZsDu@ zjcPyBfNnV7zwdmW&8Z{s1%Ry&{{lRuAcp`cnrcx|ujOqfDFffV2cYfmq>g*koBLi} zAD>5XfiT)MZ;8+$DcQJ@A$jm^j1qO_63lpSY{9K;+|WEoNlQJgQje0#S6$qS;VO;n z=mwzrWx}!Ld*+|}REK5g_RRP5yVW$jo>`z1d=-e3Y;30_b?9r_lG*@sGjyRCO0^9< zKm7c@xTFWUpY|>2PlZHz+6Qv-|L7j^=|!w=m1cEiQ61hKEJbmH(w;I?;Gr4HHIe1s z^qJ)aS!`L@(;R>C9+U5u!>p1sIiyasHF4l zxH>W|Z=}v}XgE5kZ{m}>%+9)MPHZM*cxPhpxcue-@E8(rqW^QyE{5NgCt@# zzQCf6Ld&Jvr_9u;k=#a0v-d->2-^?T;&_*N^6^(PXv(bSIU_$iSmNTd=0FLGRR$0* zUdN-b?M1>fk7esrVDKN%O(`Pw8-pa?CBThMs6#^gC^lqEw3H{NX`Mtb&QSZIBbCl;%FW zHv6s#lR^+b1Es0gVO*)ubQ1C3y?u>oWu9(Ke&kSy^IodxmfZ}evn1zNV4A0`{B7?i zh4nY};(zsA27%QkQIv~RYQ12iVa8AKUYP^O8|$m0HlLOKKJAI{J9Q1LgMZZn4k|6bl{*6M#j9bM+_9 z@WwpFljfyG)z~35YU<&_h|lUdX#>b9rfYv>k|RHSRqwge6_w`D9)G}Tb4w?@BS~O+ z);?iG1wm4T_`Y8I@k`T^L!$}9aZem_Mlra1?pl^wyFQ=-VS2rB_X)|A#A02DY|+qA zxwWZyQ*daPQhJbGBlVQ+KUHZ%^hHlw#>Ol7KlDv?+KU7`}UMfiL^{VtI5Z zHT$_NE}c$I^1aO8^sZGWW@QXqrZMwa2`d;LCavh9SeUmg=~~$WuRdyk6r(vzI(m#&HVp5LP3M%yzmoR3D&4HR_8S|?qDa%T9|iZD zZ8=WevZRyarHACX&yn9MA#gdxD!qR6i!^uz>X;7Zj<+m7a@m1PT{8d)uCu=V84UnT zQcQJHEi9;$jS1Z@x-CM*G>dxK^r-@{EO783{+Um8u<}4u)FkJ^T}*-M)gLL%?<#qW zWu-)jRZi*0SyP zB(0VX*Cm2c2q<%caNG6U<|14DK2{90|3(wdlSQdbwxH&GZNb)Wneh|)IZS@8nq!k! zc(ZRT?GWNq1-9QN{S$ft9i{y;xS@X>E^W;))@YLMnd`Hr)Wm+jDL>#*Awb7%ML$ET zfbg%xwxE6dm`&k%J!**qjQcA-4PpX^|H~(czn#_CbwT2K>d&1O4eKhMbkFm`*RJ0~ zEk5ZRrF#|}mKBdUh($R{Z@nH{3!gKwY6#KZi1(PVgAkCRr_E0nOmtIuhsCM3n(J=LC+qO-+^(|7^2b~6 zTGmW&;2a)l^;CYjDdQ=XlgurzuV7$AIfmN74(zZL)q20aM$iB7BbMks&T6Qa9UJ|p z6dTbCR!6p=uir{mgcNN7%O*Cmd|8u9ahp zX}s?vE=sq`W1#l>WuxU-7!$=drBS1T3gRV4;@(^QLv?8ihRm_I%KqX1XVNF!Zun=H zZfL)URSLydMXchXoNhK&lE<;NyWm%s;?ssbbINLNj+iFSeQb#SpzCDz@>W&olP%kyKMmp;8&MqG1P%4RCX*q0U|91=Y3$l(!_|&V zC7gxmj}DIK#js+Vt(42n*UeGN41g?@;BVxCIEcY^9{cDkigIh>S;Bo$A@iHH3#$7; zC%dNfigd~B)SjwNcENVmAYpyrLYh_yO9!Sy=#4uo++*IB3m@)BxZCU!4q&G`!Z!zU z%RoVmNbnHwRsW8s=X~0c(-ij$&HWs)E(PT^aQ?3sAanv~_p3eWok%Q+@jIk(chi~2 z*8(LNGzg2}(wsFe1#{=a@a@|i8uNsGTQ47>?)hJmlLti z6jgXsHWkmpI$oKG6QU*=uH#|+{A-9x@;vtEf8YOeY^M&Uc_%6P?S)h|T-A;|HPkdTt{<=0R*G6?^{p@W$`-ukPQp#=o5y>` zk2m2QE2U*SGweTG#;*k<3_e22S00wx_9pHpfzJ7I;%3CL@cn4w^hiDv!6v)WH~Y=> z>#xoKk*{a3xA11SXQm3|30Z}PT9midPRSBzH2Z#)>bS)~K-&w;Op098kCtU8m{ zXS?m>noAt!PW3QfYYD!U$AeA}tB`-w0yE$!{TKRH9*tnL-IDwLfYAAh>4QI4Hs)zd z;*xxx(kQWO&B9z%GDS>xgX8mdT~|N%EoM0qYyD~zXupo$Qkz0jBxi5hWddT+*Hze0 zHrri@RXzag@S)AIQnhi2)U{d1Q3L)fjX#k9`Ca~0q5V(T>*EiIA7-`c@!}}t4$>Vv zHjCGfrM_QKgrm8Y!OVfLr)#|v+kiD`+V}#_XS8pS<+cTufkQf*hy(-e%O{Aq0Xir z1zQuw?ErR>=O@?%N#m!F3Jo}!h3>A=${Za$)q_R>6DRSrLu0r%Xoh4kbQK9WLR1hAv!3g zCBdmhQ5Ukdt1=cDxocKd$Ll+?QxbFdb*y`>Ey(J2fl_u%#(ZCZAv{W-^x>)(TxXg2 z7J8wHr>{%z$Wj|(3{5_KiTyn_xAyasQ?tecz@ND7i_4d5s7?6#2$Vjp6^#2;{{l2xP8wiq4ju)<0gxj1`ioeTv{7Qs_$WG?;4aHil;L;kW5( zR7-g9zSJq+W+oiIPget4Jd^xRB%qklb-HOj9R1%^j*XgmeU4H^Zf#c`(%VRvyhmic zjw~3YMz6&vh`jTRTlqmmabt*pllzH|gG_j19b$dcQ?R^ztZ}B=kawk^E7y~5Lnnip zaCa!*3MtG~FTcwk;RqLA*1C`3#&8bv713Im?|TSBI`tliimsUUi(-$t&_%CG?5)L^ ziALB_&=-ht5?Fr8aV*odN?b&!rY@=Tf`8k!Bmk_9Y1%8QMwzJlW@h`(Sp{`{ikS|2 z`R;z%O)hmDte}dwIT{aXegV%-A0k`#r%R8`Z(e^fJGtEy{;K`o(AC9yGB<#^C=NYT z#4U{46woI<{4$>PjIs9I`w~YuZS7vg@F+k5SP^J0cn46N=FNm{tXUJoPwMYkoj7Ua zWg96xBNwih7cS|0Ep8?p9|lN^ru{sHOaqDz%(19cX3Yt(^nm?;GfN~&_8WB`L$r+N zJM`x;jES#%Yh2VCwFT;#xFkf|m_0JwC z(Jgl_v9HcaA(P;=7pZs`HU0StoRW;?<1$33joi;6L#F5bQ1Ane!l3*$g;~sp1f6$v zq?zvcspF$N!*u28Gt-%wYJfw|`7II!|8ub$NxgwdQ6r9r4gco7;~v_7%_ zn@&D(t~j_`@l!CqLaQPt;r(*LO>wG?E)A5wXqC)Bh0xmH`|_x28v0A8G~^jTm8~}z zy16{V=3eDP4OePKqWAj5F`#Y76)k1~?RWl*1dsRc;#qupDD>;81%@gm_xkXzGFzOL zS(Lh|JtD?SJSOzYu&BbbRQzY{VZUpg4o$gq*{|>6SKYI2y-`$1@ z(fZfXk7tgF1F!#kvK0sgkVEsw>WYw7P}U&pM_jOPN~`b^{I-+gxs>HpV&v z)Re~ldwMTkWa3o+-B{preXtjG-f#Q5js3RF>ZCZ_gVEfJEoRpq`p7BIx2NIy>88Av zByFV2Dem|{m#`N{zoS{QSi?bL_2_eVOxB?&qVkt$rMixnp%>)j+tCY_h+nBn;5L1P z18&BAbwoj2qD}|HVFzd4UK_6SK)o@PjrUGb!Vkp#Fq;#m^~;Z1 zR@`X87Ae)ydJ*W7z**js* zO`NH&fU0NIiHG>I8L_^iu_ z;gY9&n0+Cpa#JwstX{xtripU^u&WG>#YOf^Q~hXwy3F^p*|`Q3Ybe?l3|!&Nd~~Cq zLz?kqe0V+o31EFqbRGB1mSoq_hBIP!0xL4|s>UidF3Mv@Z)?fv{Yr(;wiS}Z?LR#m zlH7%&mH=|oa;R6X9X{+4NgR$Ch&(>(s(LQ8-~Mknk6 zRwTq*w&LNjPfBS=Jo3pEmuTDEm|_qaqa2o0n^xoOotQVWQF5dB$4Z{${5o*TudScM zy|$g5+u#_ymq)Sk zactt{>|->aRbsrM)7XOZk?s4_lSLk=eP(HGFUe%3Ggq*#<@C1*)}rNF$QU47Lf zW{J4*hTSdjd78uhuEFe;=*=a;E6v(eEguZlc>lPlk)yr0Jv^)}99nRps7o5)+=s3? z5sZ6AUjCqWI>0NC>hkLH)4|fpl%1UR7v}?EKJlgZSJc&j-PJuUr-p1lc8`ShD}FnP zADAr>7p0x;vEJ!5UD>ypNo69{wu?J zD@H=b)Inha$->`$Cp6>ZPE&0pQN|@%Ea1K}d$^%BTJGk>WObaE$vQ01jV#s6$};Yh z-|33$OM5kYS57dnCHv9#H^6`vd2FvH_1NAzrk9^UUAsqt_H-=}i}jD6#^ZGE#*JNi z*+%&Cm~!b=Ru7!|Vb0WfSv^}R(?>=l4GfH9$ybffhiH97dc6)x$9-#uUF{}?)oU1F z4mxpt+Q@4?gI&PZKdiK_HFf(9UzPz=l7sVMmzVeLz9D(x><;fP2WhgvjFKJ}rqZ}* zYE>epXeW+9U~v?3-rs~ay%KF?P7_Zw(uSk!^7ZOzR&G~Kkqt|* z4gEBq)i=;P>=7B6?kJMM{StWj1TVo*@TJfCZ>8sj0$uW=-8vValv2_I(>q~D+xy$3 zQ?#T2$i}D^c)tx~PDQgW?prD|vT@uy;i~7}<~d}a&3ErwxLZm%nZ>q9gIQfE(xvS- z@x{`^J~SB6oTPo`K9f(?Iy;e=oUKMxD2^2VVR=cyH;o{`qY>I~Q@9!o3$5pI5ZT2# zaIvX+skG<&OOJU2P_R;RE9!lyapcN1wS z#4E0}O}gRJm!|1;F`ShQS`&G^?`a}@4_{Jz0rB~JdPJacNngxY*FnJW#yo{k#`qHz z@4~wj!dG`^maN=#Y-)MY!`~Y8w2N}fz@9#T~ccxmdT1)j^aHqn{_<9Fl81^?T zz3NyBPvJ~Sq7(Rf!_WTT?o$tx|JI+YJIJdnqX_3kes|@WDCX2$i=P|V=lIqs=N3z( zR8FTWYu_#}zB8%r<&*@;!dE77M2qV|T;8}rqi#StKNkRL0{V6uZK&f+>Crn_fOwl zSg7iAwqVJt4asgWAGR;rYafwW1Zq;amkE)rOdy|SdYqhdIwONnyUiX>&b#anYaw{Q z!bFYK^fK#plES!@YcF1a;sIWDO}9w0M`r;xsuj!I3y%>Vp;hDOub+ebH%_zkhJ24J z`jN?LhvZ~S*^e^LX_sZ>9N7ugSChWzO~kNA!yY(NDD{9Xk~qAYnRNBL7H_zz z%F3F-Rp9abuq$HZz#9VfEl@Mh|44is{!U1B!(0k8N0hViZs~2dv?kpNnod|qy8~lu zB4p+Aa00IX2d{NZt2|vS`;0iC)GpsC4Gk3GYD+IUJOK^R^0ZuplIR!EYnZE6Vv2OM zi{Z2s)ay+w7)UXW!MpssRwmAO<4f`t5O=+0;=fFXyMdeExZr)Q?$(Q5k05C)DvR+F z35Waw$fI03d%<>%k~0g%giUdMavREbZ;{K`!GTG3J59+BB2HdSR)}l!?4Kj+} zPLJl)OclVLyLDUP6mfWH7{4YEj|Ld|xJDtRvv5d@FJ{aU%7=_08Fxn-aDh$6(_(a3 z0zSj3#=8kJPD*#8zUcUd)_Fn$gAJtAu^lRF`@h&sRI#O}yiZ7Y!h4Lfr&AJw!^QV0 zU9GC6#oM80$q}Lb7Cu^P>00k*SYD%Kj|9^T?P}y+*;Q$hKZRkSsBd1&4AL92(#X8T zI9i9zk=&vju1NVYrSa%vW;Qmgjxl+CEnEX1#kya86R2^aU0?E9Ak}Jek8i4Vndri| zpNa5oR%`kMGJpF|N71l*mr294@8ig(!-<8Z)uvP3p{;A+tejGday93~Gi-C$RHDF7 z@1L==($H@uh%97WP)Ebtuf#+N7UcBK!r;76w6o)fjmWt=U%aGRQ;Af?niQ0Kr+;ms z3{#a{{j(Yy+!{?;%O`qE*EM*x$7ORq0k??*NF zdXvLC)w2Te+n)!uAir<&1BSfYGTD2RCk4y31^jO18Ah@=vL1XBnyl;IP6jX6bR$Vm zEsY__pMw}UudtpV1E6hg^f3O?Dlc<6gHPIi;78!wbV}+*zFY9LPT^6rv~yLA0r>2s zFKqLeX645N3%MD$gTidNuCK@+pITYI*#jY=+Z9oD_E>ody*ihP_&oykzud;LBtg}5 z)9(*rWz{IR?1_QPd;%0V$huJI2}wzO{TvV-iNo1Mlf6e(mfR^v-PK|=v5T0-E6Vu} z>X<#sR*fd~v7f{?J64=&Bb~5dBgcde!?PXuS)6=>X#>*p)g!#VS;GvhTaC2GKI&e~ zt*iv8ixYhLC_JSVy|QZEC8~-PX*QAP>`|BOm9}cvBtw|b(omi4f7&lOXL5QFAMWK^ zX;^;|70tf9H5klGxrK~g1C72slQ!#*aIY0Do3P6pp|g~QH|y&is4Os5^CLFX0uncY z`5%dD@`%s`{hepR6PD_(i|pr2e7mps)rx>|;J?>`eC&!S2>l|(^PtR^G!J9nxMhx- zU5zGtAc~8r0@xPUL4{|cwoggQXmg9JFDx_T0I|P$8eM%k#^n4k9dOR=#;5S3)jqUX zz?tg(B4g^+`nj^#wj54NFXD2*nAvY{#aV0bx^^*IbSV^&hTnca>A6jox!h zs5u-}uUROy7g~hc=FRnGHd!o#oV>LO{(D^&(6}rF~j&0l0Iv2akDQ%2@{!1G4xM_E`N8I_{RZCfeyi& z(a4*FIwxN1wHsP7*&V^+oB56ZedisqiyW-W*Be|<-bSQ*sj%@!#t>%aA?yPB)pW_H z>h9(wmP^%WKr$yW)9dAtJa{nh#I0{dAq={|v}RFPkbtUvp!>+rpR^v#No$r&?vM53 zDIVnE%xIjEcTtubXVmc6LZiiTDWfH?B2A;0wWh7P>}cpD^QWdx7te}g@uh=z-|cAJ z&Du7sGft00Vq|Ga|5x6i<#qnEIo9lF-|zTdUkL3fRc$t@Nf9}Dnu9I8Q@KrQ%k-+pGKyvf?0pn1mP4v>2o zmF7ux%iHn`6n1H-ykLK6`7cia<(aL)Q-QSH&iuGtNzA5YDQY+aMdqbqvuWhDD&yTj z>$N@DY}y*o_lioktk9H7Fg?<_Drb*gPpp2Z9Qgnu#G0i9r5CiM+|~( zRgL82RWLpSzKZuxj=|)g_LRT!6pi_y{3wmB%Slpb=v4qh*Mml0x|h(Bi|GY0EU97k z!L%ivZR2t^Z+k3^^o{s}9R%h2xAspOP)^bjN%Ye%fqr3&KRILhZ#*u!;ua6x>hb&` zi*@`4zG>oWvbF-x7h6z9G(~f2pfgALm3cvH;N<(~q-8){PFB?Na*{Ih>||p8^;z9O z#kisGc%=>O#j4Gdz9!(j3X?|M7u9h1!#V6vTf7=5>&RS}Z^XaO7ppgKJ$u50K~ZwY zw~aBFgpdmtZ8w93_nwf!JVTu{#DEjLSmAgL>*m)?*LU~aS}h<_Y=0vWct4jTFq<#X zn`(CAS;W2^k7XW|Oe#MFb-LT47IjRUcbNJVEZ9$7M#^bmV>7nYL0VJCb8gS`adGZd z1xw`0HcDKdzI8bwx8%a_?`9^r%+KNIZ1q9f*xgs(6^W&zuj?UM2dC~kxBxSLLAvP2 zOkOMZiBCm-Igq49m{*5fViSm{I;%D}e>@b3bz2g3c4thHXjq1r!{QTaQAuBE0Q)S(q69v)2wW+uP>%3`P1ZK%-=s zKG6QPWFGVf8J_tpntuP*u#eVOG2*iIVo4bx^L7- z&OH~;czVr*WxmVfgMy#ZOan4u3q5$}%E2ru&&K6pJqS5_z_`7$5RH(RPPxd@#Hm`e zJ*P84*NPqGS3*zu!ik2ILG^LdkE~!Ge<8r|^1ridBO_%;N-||KVpS9;6U|;(A|IG> zC43H;=HqRWH0PsR`_d#hbnox!jFYI8sN?H)BdBz}C>hb#7eK}-wJ#!kR+CFUVRf;X z`qi;bkzn?1?_x2Ao=qw6<#?F>DR9lwrt1W|{6V?>Fl-lLi8DRk%LYoL{2ki=c*6@Y zt&bG@`#l^9BiI9H5z;4d#k$4cis2PrIkTaiHSu@jZn|J%js2E{OW1o!0j{Fo+j@rc zi^gH0B^LI0yFJB6Ne9<_sT`X1ZoRI?20YTZeXXiAS$pFl_6TV9ZzFOj4 zv6mH5Gm9ZUMmoHpp{)H`C5VnOq#2_Ke}}?(Bc6+e;){GffcGSuTpw< z>K&=IQ11!>teho;%fgpP{rL#wG7Z|XYI`?E7q>Tu8n^zSetPkn_P!SRC7j2g{jD)C^m@EUxItUnD*`G5_Zr{bPJ1`V8i+ z3k)DvC!SFI2g}{Ou(om@r)-pw=PH(=p>u1TYCM09Op2;T8H}W8@DcPa`F$ZMz$`03{o8Ivxat+-Gd`uJOfGo zj;&%$gP=^Qm;TD$p}ur$Jv8mmzYnJC=|1SN*O0bQZ+?Z{LC){8zY0cMn;XRXf%}7OBX%570cBsxpd|IQ zOO`+TqRFQ(Tudwju|9-{S|sU5Mf7b@b7WajV4Kc-OR*}UQ0gDa3ol8%ld20JPa0!G zA*?IPi6&XRzc!t?JU&r)S7yi^N*nE^S55?*1Fs?*PV>H{km?i@hbeIR zqrBMG?kOB}9JStACsu(-ikdvEzyaNjQ99pd?`kT@z*g04&yM!MCHxyD;gFrln|2F; zn|GTTYXI1#6a!E;q|=YJQV4I0>INmwdI`%R_hVyh!iLGVy}2}^#QS~^ z)tzk55{LYVm(L;Y6wg7!1BXc3PwNZh|2g03J5hVdg@ieWdAw#fMw`T|JqD^*onHe^ z>(m(=TjkAuc8WeH46FZDcFSjfu2RYmB!MaxFP6=5^^jNVbGZ8bw*79$goTQq*DffK zhy^S~(2K=zXh6FRb58$$57o7+#*z|pVE2nDvGglE?$}@PaDa9!9N&s82bUQ%BsLh- z<#AekCRQN5?%hsv?HpB~=6jK@zIQn!rX9(|&IC%+QnJCRHM%f<#wp{c_PU+GC?-rRJJ}N09m`BiI@7Y`CsWVq#1Dw5zd+6rwLAW$#%C@zc8S|~^ z%N{DzK3l9##Pf5a#BnXa0CPyw(}wxKqDsY~+wmb~)coMW_(7%CyDoVilz?F+%JUG` z_pey7wC7{SRike&y+S&ssy^3LMGqPgy9YzM_XNEAVN`7T`m@uWOE!6uJ9VI1<*&{yMe<`J97UVZO+MKl3)E4XDfHDy~`}A7&Uh# zu<=O-YI`dqfqt%B2xqiPPSeDG1AgIuyZ~VVC2cA}R)3CWJI8E1i9l&wGLrz70vxLx z|H8AU76+mepl{TnSlS8g&??=Cfhd}&ENdVtBrE8v#N7|*JqpMlfA{;hOo6M;t;pn~ z-pb19xllcBN0{5b(-j}L>q>H1p=atqBhV5wXoLn_y8S=W{F0^&a;BVc64xV*VQQYG z0J+kY_cqf%!gT~@4h&uCKayt|nQag=n$a)s1NE$V0NLl+QZ427u+7Gt<@6p155FKS zleXzE28M811>ZJg@O9^4DR|SV@9inncx+0mHHV{0bUjy7DGyU>2$0QU8&EG{g~kYi zcx;<{Y#E$06~%r2_b!SVFh2_eoHgIdJvZ`w)aI)J2p|n#$XvZ0FHZUV3;#Fj+Oy*Im7-A}`d=u> zSBE9%K;qr*^8|U5bs@VPe0WuEKrE4XHjy$5)EU)W>5XT@9fe7jk}`#|q;Utq8uf@eN0%0b z7Q2hoKeDRUGZ-M2mIm&A=CbCC*#rGW-a3PW4i>9@IKU1`Yw5Mf?VJ~`?cq>)1W=jR z?dbYoS4(?=&AjW}r%jPlCN|Y=8`pd7N(ddZxs(5OAyyCp)j1Ytof%1Dh$l?l`S7MV zz=>iUNkP~**Fij_kt`v`F=I}uxiQ}s7&Q1@2BGa^_{e$YySDa_9PNPA-mK?P8gpVq zQ+Zh@fs(_WD7nEk*O2`Ja=*-HX67Wr!=Dmlm>{I`9JKun$i{yCF`X6EI2r7v-%o(+ zz|KoyYVq62I(0&Yb_lgnkHn_nrPQ*`bkf{)YQDr+G=E>Tx!^Yq;kB>nq0)WL#5Lbs zxgrfuO4^o_sm$+iW@wD(+g&a!m_3EmK=OG10$x{$#Rd98gL)-rLD!=>BqlRcEBRGz zI8oH=S)D>~Qp9L&q4(d-!-XyP0L8|c%%8bg90NOhtMFMg1NYHL*UjL%djqMa?yQ+< z%W%~Qjr;~M0q&)Kthc_8-LmY1YGs$nE(^Ff~AC4Z=)d*g_5w}}aRas>jfd-o&4o9h)nNS*XYtHU3R z9>RvZnuFMVhby0%l4q{jzjxTr`q5{isZ8w}F@9Dj`%9UWNr&)N|x4FVNq= zD|er1noJ0r2ht^?z!ga3^7u8__VHtV(m-pd&uf#KF2)O+XPs}?iNdK!ReCgcAb&E)Cy%|Yf^qeFUu4FhRGo#zc&Zcvx-?E6+ z4$&hwY{bGcS5WX!Gbk*&&i5u;FY=?Zw=0w%vzQV5XtW7i+#^l-@`iP5gdx~Sui zNKZ&fF;hNv9!JlT{$`=R{ufBDfQRN;e)2{B>_f6Xhn&i%a*oO4!%%)glmw~8{%sSX zrJ`zmmx?9NHr472uPO2Dc7=^y*vD#^JNf0+xn1T-xy@U5eVv9^9S?^|t@3Z{1nDa! zbm4x#Bb4AUt&jB6Gpyb^I^pzp6g&?ZYr!#(DaoOX zmdLyM-ZM7oxT-SL3|-M{@W~$#+C~B7p8bwmh-a9^JI}B{4o3eJaLx5MmlMMEr1{N_lE-AU zS-OTq*JG;H%yWsEjz{rK#t0jQ8Jbap|2{Kx1dMJT>U`=@{Aw~rZ~$vv4-<3eE(R_^ zQHV6O*|54`kgBGi7;uH;xzn=6I5e=MY}Dv6@`EKIGZAjL>;;OLvA(!tIMyw1rS0(~ zHO+{KO`ZKgxCiM!-1+O+8;~+-*4hD-=*MNG158K^#^ggUs z{|mI^0o|Xxt?Mu8n<_JyZULwF+Kz#EcrQCc?xAK^yStTc^^c#&U6rPM%0v72MXu2- zcL)h+>d*u?brt_I`7^8Potz3D-H76tMfp{qh)QKjJ$hloZ5JPauy6E!^R6+T_0EK<#r<2nBG@X2EEy78poC@XBf5o@_JgV4o!nRVO zMSRJYe?ziMR3olFV`ENEU1g?}g-@<0k*wIM7Z6EHJ_Px!`JL~yuGiB$Eg=xIh+TK{ zbnl+7#MT?0gXd|uF=n<2i?eTfKfJUnzm-1lZ2a0#^Vy1RIZGP2!&SVrdCW7?n?!@l zXh64b&F^Mo7G1xM|Gr(bdgcnu?R7H?k*@bJGS19)*CMfja^C&7t2RJ|!)cYHsd2`$_M_aaI>`uMK7jx*U$~5L7j<7? zX$>J+e63*fT?R1f{c(xAot(3;cc1VtdG!O`gC1mncgoBwzX3Ww5SdiA9m|iFbfb4L zwfN02KQ-;SJ;H+YOk5GKqh;LM?C?vJ*l!X2@j>ktCGscFXf8EK;G{$YUAmn$nX8|D zKVM{OKaHD&J@!IG5~bY#NtFc?*3Lq1MpLAe2<4T$1DVLunxOUIPDl%q^OI zF@BuuIVC1)GU6(1_Sfq%d0IG0gO_IEN3V!%9E{Mo2Nkz65q_sOU{h^9ddc*&P(n!7 zhQV)Vy(Y`L8RIIS@j403PdvYt&4c*EJvw_bw)~fuAO@O$(G4i?D%aj~$bhsNvF47L zyC#-MJ{_6nZWL!`XObr&6=lT4gm_gtH6{k?ufSRKwWNrCj4Xmx%bo3n<=sweiHO}~ zqF%xA^X(e--PwuZ>_AS?OHf$YTri6sF<+tK`v5{A$Cfl}bzU;%f|y zomVnu9!%)LTiwgv8iPW7-8@u&uZqjm(h>6vu${S`DS%Tj;Q#M! zJ9PGxH^<|l&1Q&MT0+zOj&oH;N)*wKfr_lIx&R;+VsORnMsdcK_zizw!MgkFF@_fEZE)ORyLTd z6elv}&H9<7x0o&0^v>SqZ)5e+L%j8NJ)VjE!7S@qR?fLF_w zn3TJEv9X_$4`7-@OMVe?rMS@|B0+}uo;26g(ZnTOel)wTLSAR}ll8)Jk|tC!F%a)o zI&avJvw9dSsJY6zEM>4?%DOg*=jU+;e!CgZIpDW z39rn4Ia!Q&;=*TRXB)!pkOu4+YFhuVt#^-S`hDZaS1OfLQWT;05+$WDTW9 z;wd5K3%pe8TdSb1?dW3H%Jl`o*jE2n2MONSq7VXx-Nt8*#q?9T{>TAu*v{1|Xm|Os z&dvVCp=Ynja9<6WKdSlJaWH(=bJN%z`5UG>8c2zWl+&tIM&XPMDQ<8yf3>#Xn)jYs zgG4-HmSJ!~>o&t_xjW&GsIIbrV#ZHKC6~KIu3_AQ-}I+Xjw06*sJ|`Wafjn4J*tkE??N;LdtCFD*dnfwAE5 z?*%ik0l8re`Po@=K?9avIa#o)SavW=>arMof%yXvpi@~P@Lzf5k873^U^yGdtJ6*& zZL~QQNzdSBT&Kv*E5{a45$?k{HrX3_GGn1zNU$(*x4fPfUr|h`|9#lG5-j;DRZPuP zO}~*?dnbria()&ceR;5oT{0hcMz_7nL~>vKd!ZL+VpLYggx}PzIdc2`Pi&j}zzG-9 zPBEKcUiI{iBM?REX~RYo)(5FZ6&xQjupLpmi{C^Spa$Id@?BRR|D(*=lw7SJLq&4l zy8AaK)pYp3xd0^PQ&_OJ_YPG(LEF=16`u~e3O5M2ihe$ujwCs=pPS&MGFn(vb=p4U z0?yaxtSJH?<>n(ztv9a+@{BQ~5A_8sNbFu%OxcD^4bKLgL~+hFH+S`MiF)_#GV$Ft z-PUj7%8I&uIkx%YZ0}N2OylpvS|f#xz7798tx9|NFkQQKKT#6#Z!B{}bVCa!^{i#e z|DRJohxF_8-+hr&;#GVQc11p+B`ZKp_;GQ2XR>iow8=U9CsHR?TW}(Pl(nfB~-D~>} zyRB}?v|eQ{XUulc3DYoBE@aY`UY!nO&&-(B^|1ot?~Br_J$RxiLre8WV?YVw^A)|S zv97{KQ~bf5n5c|gg*U&p4C5}L(lGsGb{&rti!R;6#*Z*9npn57Zf`aZ=V(5D8QakfFHsV%q+ zc3;1CUr0YItUaUVh?U{y#M{a$*z{bS>(~v#237KSaQ+|VmUBlSDQ3GM=r=6kkCWHT z*{X%46QDau5K)y|dupewx7Dt|DMtkJ?g!Op${2|$+$<_sXlRS9XWzENMcqJEUsNW+ zmH7`=L)YoWHhPV@`Cnhpb4Po^WBrr@aSfrHf5H*Q>zbnOtaLPsZ>HJ#DysL=7tfZ6sf@&g0PQ}?E}py*5z&fIoL|u+ z(}Fqw46TL(ZPHJ;WV<=nY{O-*Ll>`0#Ac;dE5<%X93ELF)bu(TO;0UpzE?26j*1iZ z97)kgy$~p=@@%FjD@CO;AYea114epP4^OKP>2~hBSGb!sT=sBm zl!-yozI9mVMs!l?=rPkIy^-VGkJ(c6ru<48b#GouSHc|kRWLjJzGgFt%6^K&=uO|H z46}(OUAOPI0)@?xLAg;}YzcW0IGfO$195)kcmcgo;EL0B|6bt0xVk$SmV!;auKT`D z)7HGVs2!+^{+h^pJLo1?KQ}tgHQe>{)u5Hvh1GQ}d*Omn5s@_)D?HBhNTquEPFyb-lZ)&0~`?m>x#}+Um;F^)o@js)G0wMKG=moov_li z0gST~;mhU}4!hf2E&?gP{5?KZg*`u8`s2VH)2g;|0oym)Ubd};Ilomq)+!%abR~25 z-IoM?c47G0+=m+_55~Lw<;>?feX6js##s&AmO138@R%RxC8IY!%wlTx*NScW1;pbj zS{tRW9iW)K3e17>Ddv{&_|~#H5nd^c^dzkT*{WWLlUfT+KPX zw(wjj_YW>RyQ!~8sZiQHMr^kiT)+)4?+SeaFO5Etl zvhlf0YyTvOjx*8>n=g55S)Z3g<`>5^NH0#H5G{KzT$G|KhJXdf_u0am?i1>#zNiHp zu}`UUymE5VLgx^^J}Sa&@Ua?57J&G2*7epgUwq}$vY&T_o7eA-z9}Tqi`=>%drO|@ zEr)n%qmv8wgp2>7dL1u5zaP%?&eQmH!c4j_C!%j4+eB&}Rc65V4i9^S?U%oOedsb% z{;)uIJ=iw>)t6t<3+-tJ z&e_A)3zm|SoL45kg)zB;-ua;1C3n@wxiRNUeDvF-oR&sgeMwE8FPxG@OGF);K|qmQ z#g<9ObRMtS-ptBh$Fw*c!Yx0E#58zEXU|T&lBi+&%bNj(!7BLjbUtSeJZx6qtpq5Bic+ zLznky1p>TfTcO}Pg^--h7p5E-)&|5HEV@zYnf5UEf+#$sI9H^2rivc1uJv=Vc5x!Q~)hpZM5&MGJSHJpFyc8XXzke)g;Fxph$R)niq&-iHKmEg9rInxpNuXx;+FM086=C8?sWO z?|y$Hp1$!oZl9glrp+Df=uKkkKU#B7pcMNlP-J|k24vXp+cX{oRtXd%Ts#pXPL$oL zw}Xu7YFzqRfIxa)_FOyx%Vt!so|39BtIaJ{XF6&&-mQ`^vvzS_2n@#mmeK4_2yz}R zxy4uJbIqJmfB(JW(=@^JWNsmwS3?=8#@rynMbFigG#izy`d8?P*D1KRW3$#1x zfqN97MDdC0b~9M8za6IOX762d0^A4|4(QJpDw(Nrz(481^5|ZWHTH%GHI<`)9qMJm z%l}-CPRI|0?9a~q*YOdToV9RAb=!91ulB3zP+wAm@G+aGEV|ykm3bpe-eW3oy_rc- z%Fva%q@FE-w%f1uOPNlP-6oCgO#bofYfrWeG?ci+CYHvFK87JiY9f+%6&aUs0DO1yLJV0zNUXd%BemUZ>+1 z#j;-1zrb-hJpc?&w)CzFY6F!2lDOco_}Xgg1T#*s@*l_Es)U_QVh82O?I6P8eCGT*udhfkO%J7y@8I|e;jLOF^GIXduRWX*-dxCa+3Zx zPhV2NC6Ux)B9=`N($AuRlto$O6y5c=V8Mf!`(vKqHx}gMr96VeGy8>K&B73q6BY%p zKY6q*ete>t$FdRr=bXM7II%a#lOFq(0RgwuWuPhA=Rz^%b>!JshD9DfX+)j=EnhN65OBYe5aq3nUh8I-(_EM? zQP4|CKrUu^d1b=U5lhyA>lc^n73!{m*XaZ;x_)A?D0j9(R7CLP*DyID$FBe}+n0v(HDRkn7>q$rX0%A_ zC^HSA`xVd`ry0K3DiaXlyHAnC<1kbH`BwWC&R3xD*5Q{C;xmitMbDYU-oS{r5Av9+`4^nNhKLlbd~x z|Au@!%WnU@6(*8kSigMpq<1rP?A)bZAR~`H{TCn(LTe6{mR()=?2}=hJTVZ*Uj6QR zg<$}Z^pk9QcEo1U%(Aw^8P6FFAAS|l$xwGeqy;pDibIcr6r0zD_tuHoU6vl#D%$|BEKwWRIH*(l*nliC#vnU9Z6?=#jCsH9%GhRnVPG*Y$k2->dC#0DjZY={wsj zqG?^Tk{L3FlfSl{V>NA!6w5ODI6FMDMJV)1MzCj@)|S%n(dKA>lsd*&?e-Hro;QCD zZ!|AUTF-KehOpxVrENdtngcXoeaP#eic0@HLK(@rIc{;i1UfRjpRVz-PNah;A|fw< z!v82V{!Jer?+KydO3zW-tNIW*`S)@|z27;{dT+0YJ~a&zI@_gFx=nHbgPWUM@(nvF zGhqhqD<2wp_6cZ#nKkdM@x8?1fu}XV`_|7{9}yzraHpkVlA{rtG77vL+_t&oBN@Y& zdE*Bv4&sW_>MAxDNV8imOXIb4+`u9*$6^gn6@5|DX+1qd$SyBKC$>@JgyT4+suQ&`C=wM4rt%Qzzf+FZ@tcqMXp| zy;M=Zg7{EaUec25c8bdjkN8cX?!vtEKXUPNrD{1NJ9_?^agb1B-|UG(8_9?G(L<8d zpPEKmU66n5t|pyy_y7MrAMYneOo{~j?r3x%Tn18|-mxh>XG~|brFC#@J9TR`Q}F zi*tpcbDDKzTyDhuejE4cnYGtjT4n?p)XtH`31Wir-WlRN`Ww;lCvO3XPDP)m@1=k5BWKt|q4>@H6%w0Nv#l%ccwB@#}XzlW2 z_s=|!NNK~mnyeX-iWn5~2PXpn|jFT?j~YYl;OA?`H*I zHUJxIILi`x`Sr29jDvq|_60d~3%UPv-v_~k68-`457T}QPJ7RxDYxenAFzX(Wd3J1 zvFxYdNYz;{6~m9SgN6#@@qV5mImV$Gx{E>1Bmtm3ETgC6YfYv6R)d6KX@vmmLJ6^~ z9Xut{|RBQ1ji@BDjczMSMr1R1;L z1Rys;N^7B`iGLUWK3vsnF;9Aw?EA0oK1R=~$wX7+@amxD&De4Ur-p_($3 zix=>?^CdfBL_EeT#W6wlu$1@o9O*nfr9IRA+;P(_A0o}uW|&04|CtaB54|Wg_UU<@ zfPZhSdtszzhNgv*j2AzLN70p-f}>!tr?Ixz=F*2KSvJ{b!(6cqp;fqcWRLO6 zX!R-f49+3=Pz4^J3k(A;E0viH-u9C5>$s+0xfNZ9v|rsbZJ4>vTm&z!&wC+9#w8PC z89uCc{Fmy+I+{KC?A)=M0!h4ii=z!T{NcMeu+$L>m6gYsh|FE6@8z9eECqJ=7xk*I z-@a>;rpR4_79J-J2X$?s41S@V0qqjy=z2SJD`DvHA_1djCL-5awo$(wDRNuDnH_@b zb@$CKpIShDj)+Lzz}>>*N37lp`4ItlkY#FklIWMKYe&7D6PiD@CudDhJGbWo6@@`& zo}!FZ(Gbl^yWlgFPupDt7d^}NJ%lCGo1_x;*XU5ZBwvSh`A&eKwjNH};h?E$an-h2 z_7$K%zrg=r$cUBh00y9#T}q&f#;0KU>f^P|MdSX<*W5d-vtCu3HpmY9_acvZ?1c{i zL}xp|HhO8OBfUIUyFRo(zRBgqU{u}6rrQQ}8+b`&kIGakVNJXxfl4B=18)btlJ(qg zG#FK-cZx2Rgc=26RyGqn)efc+Cd&Jwvft=YDr@o5*d)bs@>Fgc8#N-h9d;DJ$d+Qq z2yw}JBhQ;DP8qZtfxhyP0tvVB6@3woiha9*U^%$hIxnxcb-)AI7s?L-APFYZuq$R; zx~O5;-q@r^4DV(o^q$TBJ`MsI&6bcE2GNouYV;-v;GB_Lp^)Wj`5X?+w;oeC};TY@8W zkAB?RRYdAHeqFB4Y;ULmZmd!G4n*99*^;@fYJYm8@4l5X5_G@E%=HZZo>c#tMaK-< zY*j8^GzF3kl$r&`f7J$(v}t^v49($kFXl%i1Mk{_+_G$(@&j%ze#^}Vb0x-&z?mcq zcXui2KND&=uWuM@SOctR0FIGmE+~fGs3Z_=*cjJE_q!Xtll;`3W|H3aTfxBKC(fy+ zs9G}^Y&p+~`j@>eS50^k_kBucertJ9Qxjfa9MRs3WR*kexuF zc40&qof@(~9@tk%ql<>_b};L*<&s<4ZBzYfSdRMwB14{$%1`zQcIWtR9U@)FC7uWNWL{OVkG`_0Kg|uI2#yiHCbDZ^7YLdT-L9Y&^Sn#| zAYL!K`o9+HLu_5z3V7tm0=(wd;~~!Lj@@+<$4aDa7BAph09@340jRGZV&kB>^#ygB ze#=B+fQ_{KY_JCFJVkLaCg{_D2>|?GPihEK%%HnK+{_tUw(A$47g~}+HdzB*WVlD2+ogH8xQdeH9WhV$yR2Nj;HX`rhv2{K? z7UJOb%0`+rqep6ew~D$`>6N9S*5o=_4;MhEl`M|!1Yii*S+DwuEJ8s#bstJ@kb7n6 z{T*29_~F>H7qo^(Z`H+m*HKQ3o+1A`@$Hs5RJOh~Y@GFIm(=gsjT+Od6>nFs@XdRw z(T$!I08a|)8u2JPXf8X;FK>&4J7pYVr9u=Z(v7IAkBvf!fiT&=iygzyx9u?fm0+jzxQzto zL;)a7v-6>mUc`j=_@z`Z>9W*40)W9##1mAXO&F;dlHZX8XoPX{3c+a*ca2~x723c9 zS47}ScA=@2zYLK3BaFfF7iaQSGl2eE!07Kde*4*vd`PXmFM~W+#-@61am_t&KcZ)Q zaL!68wpQ=j<6)DsUo&FMHanL)%tb+pIL4?zXfM zAT2n}u~CIw8fkO_BobZ~(oTU^&avJhsOh^s3q1>rzwjvF`10uAm-sNW z+&;^-?zQu-WJls}i6-DXpM>ZVXH{uvl{5QFIic6Bjcr@u0J`TuxIGob3)4s)aqd4cVRB4^XY zNyLdr3rsl2#gjiz3z~=Phd)$oZa=hjcti)5<8u`K9{v?}H=p+>tReLlO=V_V+G`g( zzype~>$eQnz|yMrt;0KiAPj+7aS<&U-onh;#LYVh1@L!X3J3N-nH39_<(zbBB$E5C z)1j3!&q0CrrZllkIMbyja%1;cZ%)7Gzy|`T^&U`9inBH|Zt*?Uz&YbZ=k}qCJixy@ zKjr`61m(Ldod?7z_UXMZOVWk1TT76!h0;{tH>W(MPWs9b?>Ynf5eW1^LmyUr*Y5TI E0gSFn%m4rY literal 0 HcmV?d00001 diff --git a/testsuite/gsk/meson.build b/testsuite/gsk/meson.build new file mode 100644 index 0000000000..d5ad54d59c --- /dev/null +++ b/testsuite/gsk/meson.build @@ -0,0 +1,7 @@ +test_render_nodes = executable( + 'test-render-nodes', + ['test-render-nodes.c', + 'reftest-compare.c'], + dependencies: libgtk_dep, +) +test('test-render-nodes', test_render_nodes, suite: 'gsk') diff --git a/testsuite/gsk/reftest-compare.c b/testsuite/gsk/reftest-compare.c new file mode 100644 index 0000000000..84c560cabc --- /dev/null +++ b/testsuite/gsk/reftest-compare.c @@ -0,0 +1,172 @@ +/* + * Copyright (C) 2011 Red Hat Inc. + * + * Author: + * Benjamin Otte + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library. If not, see . + */ + +#include "config.h" + +#include "reftest-compare.h" + +static void +get_surface_size (cairo_surface_t *surface, + int *width, + int *height) +{ + GdkRectangle area; + cairo_t *cr; + + cr = cairo_create (surface); + if (!gdk_cairo_get_clip_rectangle (cr, &area)) + { + g_assert_not_reached (); + } + + g_assert (area.x == 0 && area.y == 0); + g_assert (area.width > 0 && area.height > 0); + + *width = area.width; + *height = area.height; +} + +static cairo_surface_t * +coerce_surface_for_comparison (cairo_surface_t *surface, + int width, + int height) +{ + cairo_surface_t *coerced; + cairo_t *cr; + + coerced = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, + width, + height); + cr = cairo_create (coerced); + + cairo_set_source_surface (cr, surface, 0, 0); + cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE); + cairo_paint (cr); + + cairo_destroy (cr); + cairo_surface_destroy (surface); + + g_assert (cairo_surface_status (coerced) == CAIRO_STATUS_SUCCESS); + + return coerced; +} + +/* Compares two CAIRO_FORMAT_ARGB32 buffers, returning NULL if the + * buffers are equal or a surface containing a diff between the two + * surfaces. + * + * This function should be rewritten to compare all formats supported by + * cairo_format_t instead of taking a mask as a parameter. + * + * This function is originally from cairo:test/buffer-diff.c. + * Copyright © 2004 Richard D. Worth + */ +static cairo_surface_t * +buffer_diff_core (const guchar *buf_a, + int stride_a, + const guchar *buf_b, + int stride_b, + int width, + int height) +{ + int x, y; + guchar *buf_diff = NULL; + int stride_diff = 0; + cairo_surface_t *diff = NULL; + + for (y = 0; y < height; y++) + { + const guint32 *row_a = (const guint32 *) (buf_a + y * stride_a); + const guint32 *row_b = (const guint32 *) (buf_b + y * stride_b); + guint32 *row = (guint32 *) (buf_diff + y * stride_diff); + + for (x = 0; x < width; x++) + { + int channel; + guint32 diff_pixel = 0; + + /* check if the pixels are the same */ + if (row_a[x] == row_b[x]) + continue; + + if (diff == NULL) + { + diff = cairo_image_surface_create (CAIRO_FORMAT_RGB24, + width, + height); + g_assert (cairo_surface_status (diff) == CAIRO_STATUS_SUCCESS); + buf_diff = cairo_image_surface_get_data (diff); + stride_diff = cairo_image_surface_get_stride (diff); + row = (guint32 *) (buf_diff + y * stride_diff); + } + + /* calculate a difference value for all 4 channels */ + for (channel = 0; channel < 4; channel++) + { + int value_a = (row_a[x] >> (channel*8)) & 0xff; + int value_b = (row_b[x] >> (channel*8)) & 0xff; + guint diff; + + diff = ABS (value_a - value_b); + diff *= 4; /* emphasize */ + if (diff) + diff += 128; /* make sure it's visible */ + if (diff > 255) + diff = 255; + diff_pixel |= diff << (channel*8); + } + + if ((diff_pixel & 0x00ffffff) == 0) + { + /* alpha only difference, convert to luminance */ + guint8 alpha = diff_pixel >> 24; + diff_pixel = alpha * 0x010101; + } + + row[x] = diff_pixel; + } + } + + return diff; +} + +cairo_surface_t * +reftest_compare_surfaces (cairo_surface_t *surface1, + cairo_surface_t *surface2) +{ + int w1, h1, w2, h2, w, h; + cairo_surface_t *diff; + + get_surface_size (surface1, &w1, &h1); + get_surface_size (surface2, &w2, &h2); + w = MAX (w1, w2); + h = MAX (h1, h2); + surface1 = coerce_surface_for_comparison (surface1, w, h); + surface2 = coerce_surface_for_comparison (surface2, w, h); + + diff = buffer_diff_core (cairo_image_surface_get_data (surface1), + cairo_image_surface_get_stride (surface1), + cairo_image_surface_get_data (surface2), + cairo_image_surface_get_stride (surface2), + w, h); + + return diff; +} + diff --git a/testsuite/gsk/reftest-compare.h b/testsuite/gsk/reftest-compare.h new file mode 100644 index 0000000000..b889e16597 --- /dev/null +++ b/testsuite/gsk/reftest-compare.h @@ -0,0 +1,30 @@ +/* GTK - The GIMP Toolkit + * Copyright (C) 2014 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see . + */ + +#ifndef __REFTEST_COMPARE_H__ +#define __REFTEST_COMPARE_H__ + +#include + +G_BEGIN_DECLS + +cairo_surface_t * reftest_compare_surfaces (cairo_surface_t *surface1, + cairo_surface_t *surface2); + +G_END_DECLS + +#endif /* __REFTEST_COMPARE_H__ */ diff --git a/testsuite/gsk/test-render-nodes.c b/testsuite/gsk/test-render-nodes.c new file mode 100644 index 0000000000..3b7305b852 --- /dev/null +++ b/testsuite/gsk/test-render-nodes.c @@ -0,0 +1,403 @@ +/* + * Copyright (C) 2017 Red Hat Inc. + * + * Author: + * Matthias Clasen + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library. If not, see . + */ + +#include +#include +#include +#include "reftest-compare.h" + +static void +hsv_to_rgb (GdkRGBA *rgba, + gdouble h, + gdouble s, + gdouble v) +{ + gdouble hue, saturation, value; + gdouble f, p, q, t; + + rgba->alpha = 1.0; + + if ( s == 0.0) + { + rgba->red = v; + rgba->green = v; + rgba->blue = v; /* heh */ + } + else + { + hue = h * 6.0; + saturation = s; + value = v; + + if (hue == 6.0) + hue = 0.0; + + f = hue - (int) hue; + p = value * (1.0 - saturation); + q = value * (1.0 - saturation * f); + t = value * (1.0 - saturation * (1.0 - f)); + + switch ((int) hue) + { + case 0: + rgba->red = value; + rgba->green = t; + rgba->blue = p; + break; + + case 1: + rgba->red = q; + rgba->green = value; + rgba->blue = p; + break; + + case 2: + rgba->red = p; + rgba->green = value; + rgba->blue = t; + break; + + case 3: + rgba->red = p; + rgba->green = q; + rgba->blue = value; + break; + + case 4: + rgba->red = t; + rgba->green = p; + rgba->blue = value; + break; + + case 5: + rgba->red = value; + rgba->green = p; + rgba->blue = q; + break; + + default: + g_assert_not_reached (); + } + } +} + +static GskRenderNode * +colors (void) +{ + GskRenderNode **nodes = g_newa (GskRenderNode *, 1000); + GskRenderNode *container; + graphene_rect_t bounds; + GdkRGBA color; + guint i; + + for (i = 0; i < 1000; i++) + { + bounds.size.width = g_random_int_range (20, 100); + bounds.origin.x = g_random_int_range (0, 1000 - bounds.size.width); + bounds.size.height = g_random_int_range (20, 100); + bounds.origin.y = g_random_int_range (0, 1000 - bounds.size.height); + hsv_to_rgb (&color, g_random_double (), g_random_double_range (0.15, 0.4), g_random_double_range (0.6, 0.85)); + color.alpha = g_random_double_range (0.5, 0.75); + nodes[i] = gsk_color_node_new (&color, &bounds); + } + + container = gsk_container_node_new (nodes, 1000); + + for (i = 0; i < 1000; i++) + gsk_render_node_unref (nodes[i]); + + return container; +} + +static const struct { + const char *name; + GskRenderNode * (* func) (void); +} functions[] = { + { "colors.node", colors }, +}; + +/*** test setup ***/ + +char * +file_replace_extension (const char *old_file, + const char *old_ext, + const char *new_ext) +{ + GString *file = g_string_new (NULL); + + if (g_str_has_suffix (old_file, old_ext)) + g_string_append_len (file, old_file, strlen (old_file) - strlen (old_ext)); + else + g_string_append (file, old_file); + + g_string_append (file, new_ext); + + return g_string_free (file, FALSE); +} + +static void +save_image (cairo_surface_t *surface, + const char *test_name, + const char *extension) +{ + char *filename = file_replace_extension (test_name, ".node", extension); + + g_test_message ("Storing test result image at %s", filename); + g_assert (cairo_surface_write_to_png (surface, filename) == CAIRO_STATUS_SUCCESS); + g_free (filename); +} + +static void +load_node_file (GFile *file, gboolean generate) +{ + char *node_file; + GError *error = NULL; + char *contents; + gsize len; + GBytes *bytes; + GskRenderNode *node; + GskRenderer *renderer; + GdkWindow *window; + GskTexture *texture = NULL; + cairo_surface_t *surface; + char *png_file; + cairo_surface_t *ref_surface; + cairo_surface_t *diff_surface; + + node_file = g_file_get_path (file); + + if (!g_file_get_contents (node_file, &contents, &len, &error)) + { + g_test_message ("Could not open node file: %s\n", error->message); + g_clear_error (&error); + g_test_fail (); + return; + } + bytes = g_bytes_new_take (contents, len); + node = gsk_render_node_deserialize (bytes, &error); + g_bytes_unref (bytes); + + if (node == NULL) + { + g_test_message ("Invalid node file: %s\n", error->message); + g_clear_error (&error); + g_test_fail (); + return; + } + + window = gdk_window_new_toplevel (gdk_display_get_default(), 0, 10 , 10); + renderer = gsk_renderer_new_for_window (window); + texture = gsk_renderer_render_texture (renderer, node, NULL); + + surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, + gsk_texture_get_width (texture), + gsk_texture_get_height (texture)); + gsk_texture_download (texture, + cairo_image_surface_get_data (surface), + cairo_image_surface_get_stride (surface)); + cairo_surface_mark_dirty (surface); + + g_object_unref (texture); + g_object_unref (window); + g_object_unref (renderer); + + gsk_render_node_unref (node); + + png_file = file_replace_extension (node_file, ".node", ".png"); + + if (generate) + { + cairo_status_t status; + + status = cairo_surface_write_to_png (surface, png_file); + cairo_surface_destroy (surface); + if (status != CAIRO_STATUS_SUCCESS) + { + g_print ("Failed to safe png file: %s\n", cairo_status_to_string (status)); + exit (1); + } + return; + } + + ref_surface = cairo_image_surface_create_from_png (png_file); + diff_surface = reftest_compare_surfaces (surface, ref_surface); + + save_image (surface, node_file, ".out.png"); + save_image (ref_surface, node_file, ".ref.png"); + if (diff_surface) + { + save_image (diff_surface, node_file, ".diff.png"); + g_test_fail (); + } + + cairo_surface_destroy (surface); + cairo_surface_destroy (ref_surface); + if (diff_surface) + cairo_surface_destroy (diff_surface); + + g_free (png_file); + g_free (node_file); +} + +static void +test_node_file (GFile *file) +{ + load_node_file (file, FALSE); +} + +static void +add_test_for_file (GFile *file) +{ + char *path; + + path = g_file_get_path (file); + + g_test_add_vtable (path, + 0, + g_object_ref (file), + NULL, + (GTestFixtureFunc) test_node_file, + (GTestFixtureFunc) g_object_unref); + + g_free (path); +} + +static int +compare_files (gconstpointer a, gconstpointer b) +{ + GFile *file1 = G_FILE (a); + GFile *file2 = G_FILE (b); + char *path1, *path2; + int result; + + path1 = g_file_get_path (file1); + path2 = g_file_get_path (file2); + + result = strcmp (path1, path2); + + g_free (path1); + g_free (path2); + + return result; +} + +static void +add_tests_for_files_in_directory (GFile *dir) +{ + GFileEnumerator *enumerator; + GFileInfo *info; + GList *files; + GError *error = NULL; + + enumerator = g_file_enumerate_children (dir, G_FILE_ATTRIBUTE_STANDARD_NAME, 0, NULL, &error); + g_assert_no_error (error); + files = NULL; + + while ((info = g_file_enumerator_next_file (enumerator, NULL, &error))) + { + const char *filename; + + filename = g_file_info_get_name (info); + + if (!g_str_has_suffix (filename, ".node") || + g_str_has_suffix (filename, ".png")) + { + g_object_unref (info); + continue; + } + + files = g_list_prepend (files, g_file_get_child (dir, filename)); + + g_object_unref (info); + } + + g_assert_no_error (error); + g_object_unref (enumerator); + + files = g_list_sort (files, compare_files); + g_list_foreach (files, (GFunc) add_test_for_file, NULL); + g_list_free_full (files, g_object_unref); +} + +static void +generate (const char *name) +{ + int i; + GError *error = NULL; + + for (i = 0; i < G_N_ELEMENTS (functions); i++) + { + if (strcmp (name, functions[i].name) == 0) + { + GskRenderNode *node = functions[i].func (); + if (!gsk_render_node_write_to_file (node, name, &error)) + { + g_print ("Error writing '%s': %s\n", name, error->message); + g_clear_error (&error); + exit (1); + } + else + { + GFile *file = g_file_new_for_commandline_arg (name); + load_node_file (file, TRUE); + g_object_unref (file); + } + + gsk_render_node_unref (node); + break; + } + } +} + +int +main (int argc, char **argv) +{ + gtk_test_init (&argc, &argv); + + if (argc < 2) + { + const char *basedir; + GFile *dir; + + basedir = g_test_get_dir (G_TEST_DIST); + dir = g_file_new_for_path (basedir); + add_tests_for_files_in_directory (dir); + + g_object_unref (dir); + } + else if (strcmp (argv[1], "--generate") == 0) + { + if (argc >= 3) + generate (argv[2]); + } + else + { + guint i; + + for (i = 1; i < argc; i++) + { + GFile *file = g_file_new_for_commandline_arg (argv[i]); + add_test_for_file (file); + g_object_unref (file); + } + } + + return g_test_run (); +} diff --git a/testsuite/meson.build b/testsuite/meson.build index d4d0cd12a9..f2bba2b424 100644 --- a/testsuite/meson.build +++ b/testsuite/meson.build @@ -10,6 +10,7 @@ installed_test_env = [ 'G_ENABLE_DIAGNOSTIC=0', ] +subdir('gsk') subdir('tools') subdir('gtk') subdir('gdk')