ELF(4 4 ( Qtd$$p  SUG$u8F9U^$E ~;8L8J(DfS oO5R8( dVLx4AguF!+! XU'U$ _e4ȱT  @ 6}9B7GL=0s0O 83 J}YY;:7:9P6 .,͟o")]hv/ . 2~s;Lm`; hSs-U|`cUD~a2n&,X\5݆6}{Z+1?T/%6IS ) SL'mv+OJ\9^<`*ZÞY">Spm*vR8h|c/U$ V4x6GH=! i> 5_%<,ro?H;('ZNGRB;c pit  [VS.VS|H &V$o ,C R[,2 %<n"m"xt^U:+}'2 /V@"iA!5) 2 AݘRbOfd9[kIx^zǕ t9,A;)$ÙI=T&a$` TsE<4j9bfi*I$z}A$/aT.}>?>f]D|]&AġY:w&[ce w+T6U6x^BL"48; \`|h%ds[B={ i\:`@[țmT[M@&4y(#2qУ2$>-!d:+w %S ,/:VJYrg+ 9; Ma,L>p48lU+D|(A;}%(\% [oMH^t Xx,BMNguF,=!O $[nA;]ZT *m F U@|0_PׄBW |W8W&l<1IHժuGWcL -B;d$.6")|&?:jS  "==1lvX8[2fWؒZ :. WU}A``/q*Vŧ+iM`4)=.m; } @88; ]g]lѭSg:|h)4gQ}  /,|_V^faY how)2ve87Eb g\) \ or Z9@|شx ͸W:8 V,A֦BFR(a}kHdF)8w*_v:b =h! S YxQ; =a c)o;#l KT>׻},1E<b}H=>6$5% ^t%5.0R^R7uB*= m/886ey|ӕ4 iI@;C1<#* 8 tD$\P%9x4 L1 dt#H2']o#IpW^L=MmRd'Y38cX`x; {͵ZL$r>#.Gs,G_BÕ߸wsu(Oz·-  ST- @V2>3WRPi*?(;"3BU3qaz,5 ++u)8Z!'8tHZ9 !ɹ^^Ȝ! <1  1k{ 2S \ҝ;!6 m0 ;΍U2igk"Ey:|MU,v5%,`"xjI=l:0W  <[q6cK F"' cJ<> Yrw9R(Y\?4;1U23odܟ\@:`*$( |ՙ76]6*|rkd5i =@0<cqcG#|:M  lj7dEVP 'cX~)=J?:y 6202j- O_%cZ8{+u|R-CnsS, CT#$(l%4)>I>}x G<=]h=0oSAD},] ,u>0K\>.E[X34yA;Jx^$4oWw +JwZ[*9Q }(*V/X T=*1 |~461Q&X0Xh9QV@t;5M P`<*NL=21ϕ$GNhDSPiRkW|`tSW4[1$- @8:|\,u8qmRn 0 Zg1 >Dd<qSnVŨH 97 iˀ=P(s$?HT#;Z4 d}S2fE0̈́.Ml|XaН,5xDv%"X .v<tI4Gl=001ʹ $k_jw*l'&y9d~ۋ\  Ybx]&  )>|8q*II=2V<38D %Mt(>HbN)-/ s-% `wZ! ;v$gmp'IB&Yq(D#InU=~}y  w,19D |%T $ h&6\Bq8 |^М @L83$eI >TA;#42 * xR83> .<ۍ.Fj(V,LpG=z <(&!@UC<<\XrB;%!Uuj q'ER/B F&! H=|2t)Im|UhV8  PT)'  D=@l;K> 2aF/(" N}G(~DSpr,*S(mX*%_  k3"4OTFWM JM?{g)%:\g .'(n(dZ9< eTv_6Zhk=2!=tZis&|$1 0, #]NUteV$.Z 6)"rT4tF5& "NoHzȶ`s.qQy ?B;gi-I*?\;bM{AP\i9x[ |8X\L)P`4YQ@;hpI t1)4[ o.= ߱1e:v'ag<H+DQHd<`7c, CL<}s-TtߓSu0u *k(jA;y2Pl7K?0;/@(P$KlC 7 : FWEU i 1<Ah r0$!R:(=$?$n *j(j,?Q1 ÙE+T^4ers@tI$@m@zoB, m8SpL9~!>y# _LO}eP l Hf%`ճAl Kt> XV-_kZGs ;0 Ǧ =ը2<\m 9 UnTp5L!U .I`P = d3-  )!9 |`sZ`o%0>5'6m$1 ĥ jAcPFaiX?a{P|7\n8]; !&\&+q^aY0f*2E<OVdv!j "7< * W.< 8!iD y_]4lPD _]x/ u Qltvq#/,,>9AA+ \Q*9Td Pу 66{Q%20Kk{DmDddP8\WB*g6Rh`"0t 0q"HBQ*a'¸I*(D<+I=]D|<, ݬf\` Uldz[ ;60+ <[}U{gjZN@!IL7Xdq9  0UȂRhJL>0[N*_50]QH9g!hc2 pNs=Ffp)1dvq$RGD79> zSR5!Dݧ@m2VlxWP\L?L;3 p-tqCVRG:Gb E1q)0!i0G h;l$WldF`ћD* DߧF,i@LN,; MRc!BPc 9d ?lS9̻XkuS9 ;"l9( WER~B 5ht"}X29DRh@;}A< "%Md8e9`t%c.-T e! E 4<4%0uS=Q h8\8j4X><4'4 5 (Ivcl[93T I> L)e 7 2A<L98t8X@d; :(7TH){kg# C  7@B/78MF< ٙ4_IuA@om(~ei  e`W^&4 /H=RPjTy S,qsGK -4 |I }]`M"\8,3qmxMADHU|{Gd=Ms<* |_: SJY;Vr @6<X>7?@;-, H= ֕Q%6i~PSbUP"Dl<&. h.65\$3"SoVHDF B<4H=q;HiǤ^Y(&}`4 (g.PhMf{O#MOMSKfa^'G&7_ Vua;3<&+!T V+<Mn7.A^̽}) B </=D- < ,l4e8%:+"Y<$!t;x!PHI=u 0NRf Up P]R EjS +bh06%!"Rh\ "SB2 0)61 : Mo>6E 8?1:=6v.{= U9&R,I#X}%~, q =/C\<9@6h Xi<X0X [ sdh =DQG2:l8CC$<T#55sJ+b-) xI A[[Л0M2[ y1\D35d  )>2X-q@;^ӝ:ʖh tq48)^s Ӵmm +0>9;h#d8U idXP/[~1 eU> l {h53{@ )uU $/\';C KPI?"lw%$`P<@(MSF$d8@7.B%)X<!8,AH1q h]:$X4zFwamurV],\ӷsr@vK18%hvi/{)  OKRbR7 O8d[ kF$=su_{*+7qD{6\ vaH%#k.p0 @' ~=1Y7$(&KuRi-sSmpRCef3"DO*1"I@TGZp }c^?D;:jL *ѓ !Dbx/_ِ6Kt5a$ *`sQaHPK <.= -t-  O A>m8zdR4 8\EZ`} : <u?^Ph>L6Bp )22A;/"F0-| ו OK>M4̗m=>?uqVHokbHN[8L]`o:PeR !c-{4`}xYKd>| pV3mf>X lf@i:O+ z_ nR|z&hA, 5, JNF6} FChb2}+'i eiݥ ;!Pw+Dj*O883 R#dm %eT x%A;4epFt8= tm\+; &]A3*X=T."Mx[f\4VyThw|6Kp,MtdH=O:@j N% )[bh fV$x pYoh͐wS`t!}<(@-G=wp! OGR3 V T_)+ X4Y}(=0u8b؝4 4w;!8 $!*+ %֫lmNW|$n-nte.5X <H=eߨbەg|w %"uD5=PHmH )2%Y/vT"(G?(wa0MN8/ D<Y88Xd,W< JZl.xaj9]6t&qcXs<%Y8 ''HCT<]}0,XC#& }\0;ZzY . ma$U8V8<r*e xA_>*Eh V]m-#L pu[؛[ "M\\HG}˓ i\(T"RodXG`.l}DYW$pAv&^ g"Ap =}KvP>=U>l7Y(ً91@.5= F-6a;.(kQqt*SGS<4(8<%[i s-d:v@)^؜g  m5U`$qPU &xmgtn 0uR6=2}6A} VpU~rf xeG_Sm)'O|%KUGjX`)_0c:d_b(4E: iKa%:U%[2:@&ǚt2l43Fp:51 .y QQVO! F=Y", TNMIlmF<$?'=t[0:QDm(]\iz1lAd0?\.h&%N_Y6xK{.x e~Iyt_QQDz+ -" ,p{qA0j[  bQ=ڏum:y`$Z8a:,@.3]q2Te=l1 2"I@R>=.Jr&P:y 8Tz7Q @IiGM&]\&84m% '; 0i+  . > A^ |E1|'bcT" 7 lTO"5xz; t2H8f5A& `/qX 7 *"8 Hr0'fb}e~*=6C "}<pb4vqqtAZ"_]9 d, 4*p&c`F(PBv~J_oL)@e# կ`d.JD>O1RybRp"0 SA;s*2/A (Rqz\ B8pMr":`ϔ6/ɲd<+eYJ) .ͷ ?mF=ߕgUo-gkh S!GD=3z>5_\EwV}:! 4}D<83Ӛ][@éiކ0B=4߈ؒ4ӜJM9$ 6_8% XI)Ӕ#`A;z>У<1 ?WB;oRtgeD?T;r8 < 2 Y\C*w%F=! W-Ax$ iu'!{;* 8tK&' ~H(u/*Ad˥8Pp1]1 Z"ch  +@h;]eHϜqCJ=,hiqfB "Q>7E<,u8ESmXpn <*d]2'Q<I"ʰGa*l=*b YH=zjA~ A;S<NCqhRyFgm& VA;[ .Djt`pq4>Y|,ie2zۿ ?-QK> l 9Q 8 0* 9DjMX7 )i Ouj7 OHdTu].#&  ~oFJ>yUP*McWb^`USf, q&dDs2 P,%&H`*t" ze87 0E(2}l:0C  ;(:0QH T!6n=.t׮bb_@6a> tX'$)/ I@p;Uk?r|Wʅ/ c<(+3|yMLus\o8`U HV 9T @:0- Dl|LP*ZOR B|NWLh: ( &_g*qwl2 f]hi3PU<$1@zyp" %=DhG  E<z 4N3H<W5 v{S~6Mobs$[}˦0ͤn-xXNY <utt]'YZxd |Z%MLn$@1]Nd^3 4bAM 7 ͩ"m(rD>8f@x;)fY9K LD<qE<w}hE<΁~1jY@8}CD<Twl F<*tmZH1.ua1jpP9D!oDfhUnwk^5Ng MeX6o@y?<;g;dmp%Sy(9PRS8o1|$o^0\e/V|&Eu;, !2<)=~G:qeA9 d#a Sl c$7e8%UA; c0m+dTL?P;NC(nL1 $e,9 *x.=  R `RfEѩ04MNm͹VI%6i  XlQF~<>2ͽ [ GA;>7,K}2;"$*5#lJNGT=*W 0.:v079 *fY^MC q<TPxlU ]<:YQ 29QG yUP{ n# DL#2"o7v( M'a4 9?m 05p7lQhh9`@;5  ţ &a"`XT4tB,- ݆*2u>&X+(tljj- A;#\qJ4>#" SR!/HVĎ&u&ݎe/ .IO  l$ń ۦ lA` A"1V$u}`0Rź|= *!T!PaRsL,Dt<t)d*yZ`h#^ uQ (vJ:d_d?& 2O>: @Xp TxGI V f-ܞ"D!g&@6zsF;#PjkThs8xQE<WA3 * oD=Jaȝxi0`B;/l5hh4/  =<cTAlH<'Zm0 3Y Y  k(=2;T$\)<?.< <}(;qj)>  JdeF =x ;fs${*3hP0)Qs81P3 H)bA;:pT<~;4 NG< :!aN0;\x=t^g2 W#&:cm}$tS[` U;8x.U.'.:5;"Pv% 0X 40a*.G|= (U4Y b+w?&(ws (%`nY(8RjuM D42DU@h+d$\Q& k!ST<W%W ]#H0$ 8m hSquYH0 :&!\9  т}/PE'F@[8x]PeQf|b2<2-% t I3?0Z_}*]&$2 LJ,>_Hu*|1) hptU ɢ^P6F4=Y!#Nپ}+))}'mQE6o>0)<4&/ol˧r!:{ g@QT(v $y~!TO6$%$S8U [\IR8gNCL6AyowJL>sc+F<7 1_}fiZ*  +XYIL EO\ )?>q&!Cb6}UYH٠I'}$3 sf,>09V@oAFW\$$~-J- z@F,8j7Zq9 0%X 51; h2i&3<y Wv'V"oqS B;/(G(2.5g S*} ( "@R*%> uW;#ZdL@}P0I _r ^VF!BniNeQ-i@;Cw&Lü}.P]AheW{ke.cܞ7*)t NEQ2,  DW7X7kiTd=UaW8s: 3jM(5"#|B<V\  W[#F=R>`Ѧ 1h6!aB;"hm@"n0p(fU$c* 6?n5)~r+&a:;Iln2 x`(+E 3 c&^TzlG< L> 'uk=LN`:(K/bH=0<nLf@ bUb|E* Ѹ'd'!l?8;=W{xRϹLi| L lո J |-!#':S 0L%<%! D<U)̔P.D3 P~M2YPq%File"(nxP3/]s P'EYX6$, 'J$>!- (@t Rk|zodfLP`˕Th56oL.7yYF -`Y}9%IV8#<<űe.=,L p%V, ʧ=:2lK .B<Ҳeg.Kl>~i@U7741ٶ z"Q؉a:lxfD MDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX: ii  ;: ii  ;: ii  ;: ii  ;: ii  ;H:ii  ;      IJ Ȳ ̲ в Բ ز ܲ                  ( , 0 4 8 < @ D H L P T d h p        ij ȳ г       ( 4 8 H T ` l x       Ĵ д ܴ       , 8 D P \ h t       ĵ е ܵ       $ ( 8 < L P ` d t x       Ķ ȶ ض ܶ       ( , < @ P T d h x |       ط   8 X x   ظ   8 X x   ع   8 X x   غ   8 X x   ػ   8 X x   ؼ   8 X ` h p x   Խ  $ L t  ľ   < d   ܿ  , T |     D l     4 \     $ L t     < d     , T |     D l     4 \     $ L t     < d     , T |     D l     4 X ` h p x                 ( 4 @ L T d h l p t x |                                          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x |                                          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x |                                          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x |                                          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x |                                        $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x |                                          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x |                                          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x |                                          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x |                                          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x |                                          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x |                                          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x |                                          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x |                                        $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x |                                          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x |               $ ( , 0 4 8 < @ D L P X \ ` d h l p t x |                                         $ ( , 0 4 8 < @ D H L P T X \ ` h l p t x |                                       $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t |                               dhlp  $(,04<@DHLPTX\`dhlptx|  $(,048<@DHLPTX\`dhlptx|  $(,048<@DHLPTX\`dhlptx| (08@HPX  H T  &d     *x   l    $ 1 E M z |      % < H a      $ ( , 0 4  8 6< =@ HD H L P T X \ ` d h  l p t !x '| @ Z a e o         ( 7 > P Y s          < X           , F $ ( , 0 4 *8 ;< M@ mD H L P T X \ ` Ad Gh l p t x |   > ?       > Z u     , > B H V W a r z     @-k-F xGFƏʌxGFƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌxGFƏʌƏʌxGFƏʌtƏʌlƏʌdxGFƏʌXƏʌPƏʌHxGFƏʌ<Əʌ4Əʌ,xGFƏʌ ƏʌƏʌƏʌƏʌƏʌƏʌxGFƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌxGFƏʌxGFƏʌxGFƏʌxxGFƏʌlƏʌdƏʌ\ƏʌTƏʌLƏʌDƏʌ<Əʌ4Əʌ,Əʌ$ƏʌƏʌƏʌ ƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌxGFƏʌxGFƏʌƏʌƏʌ|ƏʌtƏʌlƏʌdxGFƏʌXƏʌPƏʌHƏʌ@Əʌ8Əʌ0Əʌ(xGFƏʌƏʌƏʌ ƏʌƏʌƏʌxGFƏʌxGFƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌxGFƏʌxGFƏʌtƏʌlxGFƏʌ`ƏʌXƏʌPƏʌHƏʌ@Əʌ8Əʌ0Əʌ(Əʌ ƏʌƏʌƏʌƏʌƏʌƏʌxGFƏʌƏʌƏʌxGFƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌxƏʌpƏʌhxGFƏʌ\-Oh&ThThDO?h kh)F"&F( F?F()F" FF( F1F("AF2F hcF(9Fc1F FF(йLйO)F FхF8F( FF()F" FF( FF("AFJF hcF(9Fc)F F(#2FAFF hcF(9Fc})F FCʻ-AFhFb]h-_+&+khi+؃hjmGzzG :+5'BF;F5! hcF(:1Fc>AF FF+F" hbFP1Fc.)F F~F;F4! hckFȱ1Fc)F FAjhjmGz3FAF F*A -CFhFh ^%:F+F!hc:F(9Fc+FBF! hc-F(1Fc)F F.F(ckk+8! FF(! F F(9FKF" hbnF(1Fc9F FF(+F%! hbxF(1Fc)F FCFhFh$!#FhbF9Fc#F2F!(hbFH1Fcy!F(F@ƺ sFh FhJ#7!hbF)Fc^1F FF! FF3F" hbFH)FcF1F Fp@ psFh Fhz !hcFH)Fc-1F F}F#:! hbjF)Fc1F FlFx ! hcFH)Fc 1F Fp@Z p-O& FF3F FO8hO b7F()Fb9F F7F(쁻.3F8! hbF(ށ)Fb9F FF(ӁFRF?! hbF(ȁ)Fb9F FF(KF5! FF(! FF(RF?! hbF()Fb1F FF(! FF(RF>! hbF({)Fbk1F FF(pN ~D6ήBF&3Fz! hbF(X)FbHAF FF(M9F" hbF(D)Fb49F FF(9FF" hbF(/)FbAF Fo($! F3 TF(;F" hbF( )FbAF FLF(F" hbF()FbAF F6F(.9F" hbF(߀)Fb9F FF'6.SF"IF hbnF(Ā)Fb1F FF(!^ FF(CF" hbPF()Fb9F FF(2F%! hbXF()Fb1F FF(G!C FF(x" hbF(p)Fba9F FF(f!7 FF(]3F" hbF(U)FbFAF FF(K:F%! hb F(B)Fb31F FFȳ! FoF" hbFP)Fb9F FkF2F ! hbFб)Fb AF F[F:F%! hbFH)Fb1F FOG ?I@$ 8 F+h %%B 1"F(0 8 8F8 87 0 0 R/X, KHJ{DxD3zD+KXGpGU U 2, XI H KyDxD {DqIJXGpGU U ,  K J{DxzDk KX#K{DhK"{DpvU + P0 VU HKxDh{D@JX+ИG~ + _/R_/_A/R_/_/_//R_//p@-P@Pp4R003/Pp0p@4/(p@-P`@Pp\R80 03/8PUp0p@4/Щp@-P`@Pp\ |R80 03/8PUp0p@4/Pp@-M`Pw@P P0[R P0 P5/PЍp04Ѝp@/̨A-MP`pW@P t@;R8w0 p`P5/8PlUЍ04ЍA/LA-MpP`.@P pPR8N0 `P5/8PDUЍ04ЍA/ᨧp@-P @PpX`Q8*003/8P#Up0p@4/@--@`Aa@P 8hQi~Ih H 0@0/萦@--@@P ,xQH ~0@ 0/4p@-P@Pp Q0~p@$0/A-M`pP@P 0QP0 (@4/Ѝ蘥O-$MPH0L`0@P rQ8 0  p @`,P5/8PU$Ѝ04$ЍO/(O-$MPP`H0L 0 \@P @Q8| 0 `  ` @p`0P5/8PlU$Ѝ04$ЍO/`O-$MPH0L`0*@P Q8J 0  p @`4P5/8P<U$Ѝ04$ЍO/ᘣO-$MPH0L`0@P P8 0  p @`8P5/8P U$Ѝ04$ЍO/آp@-P@Pp@P0 <03/Pp0p@4/8p@-M`P@P tP80-P@P5/8PUЍp04Ѝp@/Сp@-P`@Pp\vP80 D03/8PUp0p@4/8p@-Ps@Pp8RWP0H03/Pp0p@4/ἠp@-P]@Pp VAP0p@L0/d@--@`K@P 0Z/Ph H 0@P0/p@-P7@Pp<^P0 T03/Pp0p@4/̟A-P`p@PhbP8>0 XP5/P8A'043/8A'hA-M`pP@P lfO8P0 \P5/P8ЍA'043/ЍОp@-P@Pp<jO0 `03/Pp0p@4/D@-@P4nO0d03/P0@4/@-@P4rO0h03/P0@4/᜝p@-P@Pp<zO0 l03/Pp0p@4/Hp@-MP`}@P xaO8 0pP5/8PUЍp04Ѝp@/p@-MP`U@P x9O8u 0tP5/8PiUЍp04Ѝp@/Dp@-P`.@Pp`O8N 0xP5/8PEUp0p@4/ᨛ@- M`pP @P p!N8+0 P|P5/8P!U Ѝ04 Ѝ@/@-@PN0@0/ᐚp@-P`@Pp`N8 0P5/8PUp0p@4/Pp@-P`@Pp`N8 0P5/8PUp0p@4/̙0@- MP@P PzN0 03/P Ѝ0043/H@- MP`pw@P t[N80 P5/8PU Ѝ04 Ѝ@/̘@- MP`pO@P t 3N8o0 P5/8PdU Ѝ04 Ѝ@/,p@-P`)@Pp< N0 03/Pp0p@4/ᔗp@-P@PP D*M81(003/8P)p40@- MP@P H+M0 03/P Ѝ0043/Ȗp@-P@P L M8(003/8Ppp`@--@@P D-M0H 03/P0@4/p@-P`@Pp@.M 0P5/Pp0p@4/ሕ@--@`@P H/pM0h H 03/P0@4/ O-M8`Pl@P tPM8 0  P5/8PUЍ04ЍO/᠔p@-P-@E@P 01)MH 0p@0/pA-M`pP-@P PMP0 P5/PЍ04ЍA/ᤓ@- M`pP@P PLP0 P5/P Ѝ04 Ѝ@/(p@-P@Pp<L0 03/Pp0p@4/Ḓ@- M`pP@P PLP0 P5/P Ѝ04 Ѝ@/PO-,MPX`P0T  0$ @P L8 0 `  $` @p`P5/8PU,Ѝ04,ЍO/ḑp@-MP` @P tgL800 0P5/8PUЍp043/Ѝp@- MP`p[@P t?L8{0 P5/8PpU Ѝ04 Ѝ@/\p@-MP` 3@P t:L8S00 0P5/8PHUЍp043/Ѝp輏@- MP`p @P t;K8+0 P5/8P U Ѝ04 Ѝ@/O-,MPX`P0T  0$ @P K8 0 `  $` @p`P5/8PU,Ѝ04,ЍO/`A-M`pP@P PKP0 P5/PЍ04ЍA/᠍p@-P`@Pp\sK80 13/8PUp0p@4/,p@-0MP`0l@P xOK8 0Q5/8PUЍp043/ꠌ0@- MPE@P lA'K8c0 13/8P[U Ѝ0043/A-P`p@P`CK8?0 Q5/8P6U0A4/lC-MP`0p@P J8 0 p `P`Q5/8P UЍ04ЍC/؊G-MP`p8<@P |GJ8( 0 dQ5/8PUЍ04ЍG/ p@-P`@Pp`IJ80 13/8PUp0p@4/ဉp@-P@Pp8hJ0l13/Pp0p@4/p@-P`m@Pp@MPJ0 p13/Pp0p@4/ᤈp@-P`T@Pp@O8J 0tQ5/Pp0p@4/@p@-P<@Pp$J0p@x1/G-MP0`4p%@P TR Jp 0` Q5/PЍ04ЍG/ᄇG-MP0`4p@P TIp 0` Q5/PЍ04ЍG/p@-P`@Pp@UI0 13/Pp0p@4/ဆA- M`pP@P xWI<D0 8@  Q5/P Ѝ043/ A-M`pP@P PYIP0 Q5/PЍ04ЍA/d@-@P8ZeI013/P0@4/A-M`pPh@P PLIP0 Q5/PЍ04ЍA/ᐄC- MpP(`G@P X]*I` 0P Q5/P Ѝ04 ЍC/ A-P`p'@P@_ I0 Q5/P0A4/ጃA-M`pP @P THP0 Q5/PЍ04ЍA/p@-P`@Pp@bH 0Q5/Pp0p@4/ᤂp@-P`@PpDcH 0Q5/Pp0p@4/@@- M`pP@P xH80 PhQ5/8PU Ѝ04 Ѝ@/Ёp@-@P DfwH80|13/8Ppp<O-$MPH0L`0r@P VH8 0  p @`Q5/8PU$Ѝ04$ЍO/Ḁ-GFF)BmRO CFO:w +O( #_CVE#\sKDn`(0+@!qIDoh+@ hR F C!jm`j_DS𙀰_@𠀡Q)hApA`mDSiAa#jmS+DQh#c`mDSh!?!qDtC`m|DPj#CCA1bmDPh#C`mDSh!@A`mDSj!@AAqbmDRPj@@Ub6_hQh<h S( DG-]=e#RhXBnpEbh!pAAAh!pA`mDSi!ccl+?oh(?kChHsEsFCSCCC#CC[3@#N(.  @>.N@@3#C @DQh#cC``&mDRQj!AAaQbmDSj @ bWmDRjAAbmDSj ` @0b?mDRj A1bmDSk ?@U mSk?@cmSXk|@C]cmDRQk!|AAaQcmDSk @cmDRkAQcmDSk P ?@0cmDSk A1cmDSh @E`mDRxA!`mDSXh @e]`mHSZh@@X`<-GF4FF 0cFF(#\ .3FO:r( #0k@FVe(@FO0\@F5ƹmBB+F2FQFm8i@ F1F# #fcf>mBX#BU# *Rh*3+F2FQFmRh**hBjBP+hmkBPB*hmjZP+hm@PmSXB[ SP-C$F@&FW4, %Y%0K#*F!F@FI5 --OFFFmF hSFF8FmSh+$@,+mBX @ BX @ BX # +8F#0mBBXX@cO3 B$ B F$ F)$;F2FAFm@-O FFFFm9FFmFpH0mBX+٣8*J(@8*!F2FPF#F(@9F(F#+fkfx"0F02F O O IFPF#(i\BZ0+a]PFF0F#Fs  ph<(0F#*0F#0F#++XFmO02PF\eAF[l(FS'0"h:Fh*F_LS/:C!)ѿ_B#:2FIF# FF#0jDj_m BeB DB Y"pBBB_ѢR* DB YBpBQBm DYB DB Y"pBQBm DY"QjS+mB DX#cP0Cl+=h*:hShJB#FCSCCC#CC[3#D@$* "" B4$D B L@ B3#C BmB D X#cCb P0< FFA BABAHB HCBfJ/!zDp@PH4BH3B$ACBACBACHc3BHCBVKVJ{DzDABSKTJ{DzDO`BPJ0!zD9:AB9 ABGABc+A BPF0F" _LS/:C!)2#"F;F XF(P_LS/:C!)#"FXFHdS (44 C; +""" &@'&O@w&Og&OwKJ {DzD(FfO`&0'& 'KFBFSC %!F ;FaB q B1F  06 *R"1DOZ O ;F *<$B !zJ(F3FzD),tJ#F!zD(F~cB +pJ #!zD_lJOSzD_ hJOSzD!(F]@P@󜀹@#&x0##|0cB #+[#+[#6 Bp#2FXF (c"F!"_LS/:C!)ѿ_*Q!N%BF F KFF F"_LS/:C!)ѿ_b!)'2FXF (_LS/C!)2FXF 6B (F`@P&dB'ir<6tsrLrsss 2sr)s7sqq-OF {F FF\`*BHeSEzKQFzJ{DzDAQFQ0wJ! FzDp* /sJ #! FzDe HdSE"+qlJzD! FW@PD0@ F5eJ;F! FzDD@PHdSE^KYF^J{DzD FO`S'0+\0+ F@P .PFFF8LJ;F4!zD F #  ZF;FAF F!(JFPFHdS+FUFPF-п7JKFzD-5J+FzD.3J3FzD!|ZrEF.JzDAh B+JzD!irE(J+FzDЋB%J3FzD "JzD JKFzD!##SC[B?F!J F+FzD7 mNqhqm?na j lm,mBm]pppqWqwqDn-GFCl h+h3B-D$X/;h+"m(;hhBZhBњhEhE4, -C%jFFFEfSh+<#fZCl+bh+_FmعY*$Cl+Th+QmB\벳B clh+FchH/BAѢhB>#="Fm5(2* g*)Уo+o%B*! FrOO@ %Y?h"mP;F2F)F F]5EE##g-C#FFF@PMj(Fj FF@P90FU/lCd=FBF FlF(_L3S/2C!)+F_2F!F8F/g+ є(8+F2F9F F+(F-G FF(!FFhG+{Fjh&JD!zDj/hC|JE!zD(F.@P@RE!uJF!zDj5rJG!zDj FF(sHeSE@𙀳i2jz!bjCB CB "O2"F`i2jr!ZjCBCO3##a3j1 [h#ca3j!# hFaahkn ;1*"ba" alHePBdlCd lCdZF#" F((F8@PQ_L3S/2C!)ѿ__L3S/2C!)ѿ_ _L3S/2C!)" @FV-lCd#FRF FF(_L3S/2C!)ѿ_#BF!F(F g nnno9-G)FFF YK{DAO@FF . ,8,Xhi!F (Eh- @SEи^oF٨C;+@ಲm(Ѓl \lTT&@/$J;F!zD. !J3F!zD(F .@P+SE(F J3F!(FzD hCFHFRhC((F @P` F?VXzOVVUVVF# FFF3`{C;+JKJJ{DzDHBGKHJ{DzD bO`!F`*{* >JzDhzDFMP 8l(ؿ%%h@VQ#E`h=l3l5#SC33dh#` l8l@#(Կ  F(@h@WQE@`Xkm/FN`P0N` J8l(ؿ&&{i_@WQ##^@{mFF&FFf~amxe &8l(ؿ&Fi@WQ#^@a\]^ph\]^p 8l('FFsi@WQ#8"r#`cG#sakn_``x0{f_`` 8l(ؿ&&i_@WQ##^@{nFF&FFfanxf 8l(ؿ&Fi6@WQ#C^@almphnPlmpnP 8l(% F/Fi#8"r#`cE#a8FFHIp)JҲK`ГG0CBCA#*HIpO '++lJO K`&R[ F\&O G \7FFF@UQ -ййO O ///' '〸‸ۀ &O h#b"p!AB"xB""pBS`HX 8F.Fl@*Կ  3jH#C# C@#@C0bx.l;l@6#SCF3;d 8l@Z(ܷ#&:l*|ѷ#FCzzȿCȿC:j"pB3;bh(l3l #cC#3d3j#s3bH m8l@#(Կ  F3j 0b(lX +l#cC#+d+j#+bH G8l@#(Կ  F+j(b F<F@SaO O &# zzȿ#ؿ#ws8i6(F CpG8F F:S+ JzD+ JzD!F(F +JzDJ!F(FzD,D#<8IIII(Ha#B8#8j#FpGF(|8k 0 Fy8i#" FF 8[i+" F Qch+ 8i*# Fah#8 F V`Z'U/`B" FF k 3#8ch+F] 4#8 %#9 FAKP F@-GF-F@ FFF(-E`PHa"8OHR#F`8 !Xx <F(퀜")F3l! FO CC3d$3lO~Rh C 3d8gl"RdjBpBb8hMB`8lBRdh"`@Ȋ f F x:BC;a(hCpC`"Fx# " FH I0J K0G Fh!K@"ClCS`8 !`]`CiN CAeeCCaCi\P]P#c^P#Caie#ai_ CAffCailPmP#cnP#aPF8fi!AaOQ8D j"EPBbahC@c`hC0`F8!h(FjF FN0Fs5G-! h dF(]`h(F!vF(QHFFF(IF! bF(= F C VL8 3##s} ah88 `h F@F% FXAFxFH#!hF %VF F(F|h FG?$E$:7F@hM}D(KXFh#c`(KXF i#`(KXF`i##a(KXFi%ea)Fia65 F0@ȯ 8F$ dF$"!C``?`p; aP7`a03a"T?D!)-_ SC ("SC (ѿ_6a F8 Fu 8) _S/2C!)ѿ__P?3@2*ѿ_pG)F _S/:C!)ѿ_ ._T?;D2*ѿ_ F@3-CFFF$%BBF!FV5 5 -C@0P04B`FFF)d[!*".&+#KEĿ$#FFEĿ%.FaEĿ$!FrEȿ$ȿ"FHEȿ @Eȿ`Eȿ pEȿN}aC+) rF7?+3O" WCbJ*2bD2^" s# D;F*/BF' |6@B%BFIF#3 +F00*h0F+M # ! "ji* Ъ+F BF+Fb0F*:ji0Fi+:"!Fki+HF,=_ LS/:C!)ѿ_PFl'(@W s F;XF @P F 8F bz +UXB;-OF{F < $ +@zOFDlG00 , R# JE3+""#^#AE3+!!AEACAEHc3CBCA#*[KIF[J{DzDQYKAFYJ{DzD(F `O`UJ)!zD&,SJ#FzD. QJ3FzD(F*! @PLJ+!zD ,pІ8%( EJ-!zD(F @Pm0FkೲJFAFXFsIF@F9Fp8E8GC'w@p&3H+ н@pC~F(F @P4&H+#(F F0@ 9FPFrC48F F # (F*:^=>(>1>*>-OF8FFFt+5г9FQ&H CE&JHC! FzD CF ZFQF F+FJ!zD @P<<#BP#@B3  DB;B pG pGS +  @_   pG pG pG pG0(@P pGK(0{D$к@BOD$M F""[YO 2[\DOB@ HRBT@ADSC  0 l* pGP!P!0: pGP!0: pG pG8F8i588+8[k %'t#{+( F(F F 8i5(F8pF8i58@ %0) F'W F'CFp0F2{*(OF0F { F$H7y9%7{O18!0Fy8i5(FpEK-GFFF{D  $FS|RF!F0F'cz 84,ij-j,zFzz:1*- zjFzz:j* zjFzz: jzFzz:ED7#9F0F$F/ @UQ ,Os(F"F9F0F$|BC;-OF (@؁+{c3CJ(F!zD @P 8(F`1F=(0C0+i833k#jJCB3jKC##0+#FnC? CGK{D#qFF/ P#FK  R# 3C+ F+'3o  "QF 0FF' o  KGo;G0 FsЕ7+##HCc/@WQ Y#'@;@B3o SF ( ZFQF0F 'H  o  ) G O ( ZFQF0F'- 00+j,+  0+G ) 0 +) GI ,@ ??+@"F$1F(FM$"1F(FD$"1F(F;$"1F(F2sPzzD!0Fgzz*$a  !0F$y藂F@WQD  "* @ J : ! 0F$>AF(Fpo"9FC(Ftg8 8 ((F @@PN(Fn#f#g} #,O   J  LJ ,so?Csg"9F(F((FF(F/,Dn# f>sH K9F9F V#`C`F FF$BW$0F4-GF{ FFF*FJ(!zD KJb!zD @P$DE"(FFhF@FIF(FpPF2F!F(F8F @PF$4 e6t6)i@h0 -CFFF"!hFF XOGnF(F!O  1pD)# "BV"00P+DF"02BV# "A( 3-A$"F%F&FO 0EDEBD$.@@@SC"*C -C"FFFFO  F MD  LD6.'%"$ED pJp-C%,F.F*F/FO 0  JDDND5)LD7/$%"&D3CCF -C$%F&F"F'FO 0  JDD LD&MD7/%&"$E#CCD F;F;F;-O0FFF(!"(FDDTc8F!#@B  O0O#[#0[z:wzzE1)D#'G *O[C)OO CO*FXpO O  pD S#zzzS+ Уp( CC&07B 9(C#CQ3Os3" l-OFFFFe"F9FXFh8Nh\~DFj%HO #j< ;+7"1+%$KK$X"$K$k̹K$KK$O XK$O X K$O X$KK$XFO*[#,YF;(@_,XFۊ [Q)8!+8#   F2'0Fd1!v0F['_LS/:C!)ѿ_ w F ; [", ۊ+#   # +#;%,+#+#4()*+# # Bm% B + ## ### #& F[!;#;$E ?!s@6DR8 #E :  : |* $EڦU6U6U6U6۲aD JFpDGU3U3 3 3DDSDBZ53D"D +,+ D 3B ,V1@'#XFQh'_LS/:C!)?+ +3@Px@P7Ȗ @ (l-OFFF]FFFmj+#F2FIF8F1F"F8FhH3BACBACB#H4BHc3B$$S;+[JzDDA$ AEA E $$$$ 8  #RFk9FHF(@QF8Fۊ S*F+8# [+8#W XF !XF _LS/:C!)ѿ_ HF *O  Z XFV @ HF _LS/:C!)ѿ_j #*FCFQF8F;` _LS/:C!)++5f@PB.-OFFF FFF2F9F(FZFFQFm#{+nHJ$!zDl EJ%!zD F @S{*Š*uj *ri;+;J&!zD.IщG0BF)F F 0   #3F!HFsHF2F#AF(F(ZFQFm_LS/:C!)ѿ_ @S F HÊSCo iZ+3F:F!F(F j:F!F(F+3F]ZFF ----AF FChHeRBKK!FKJ{DzD@RBHRB+ EK!FEJ0F{DzD O`xHS hB HeSB@SBO3### 3hm+0F @PV@SB !F(F(I#"F1F(F=HSB>&LoFF|Dtǔ$(F(@0F JFB!0FzD @PX$p(F9Fx(4, #:F1F(F(#f F,dFBF*W,,,]K*v]K*z]KpG,,]K*]K*]KpG-OFFFF$LE4"!hFnF0#FEOE!:D]!XDM!1)  CD#V# JCT3+5D-O - F:O 4$/ 0 Opz2jz zzzxȊ* O@@.xF9H9k*(߀O@8FCIO @2F2# E + ##DS##DS\ S<,;F ;E (FD2F 25hO E]"!D h)jFjjj ZiZ#\*,h$*PF\RF F!F"FGz|zFz GzFzGzEz*GzIzEzznzz*T3:h  5{ʚ8IFB8FB#s pB+FB(FXBXA -OF8 FFFCh@+ 84of<4+ F("IF F(VD2+h)ABBABB """P jC[hBظ8JF F3F?,.и')F:F@FA H0*Fr 8RF)F@F;FB VUUU8 F8FCh+84k<4S F()F F"8@.o8-O,M' O p (F FFF1F(FF( (tch+8[h %l F6(f2F)F'F(R FF(LP4RF1F F+F F(5ch)F F+FH8h P 0)F F$@QF( oHBhh2B`h2D`:h D`2F)F FXFF F F(F ,M-AF{FFFch+ *(Y8[h %T)F0F3F( F(G:F1FF FF1F F F(ch1F F+;>Fȹ;FBF1F F@'F800o(i3aCi;DCa:F1F FN-(FBF F nF(F+ z*zGzz * O3#@!0@! BT]+  *zz@! 2"BT]+  *gzz@! 2"BT](J*H ? pG  zzؿGz0' :  ` H` `  P! {:@!0pG@ ##CTpGA-CFFF$%) JF@F5-4,ѽ F FFF *i ѱ _HaqEWKXJ{DzDHaBHbBx$R0 PKPJ{DzDHQB%HQB_B!B= @QBpд_wx$RRkIHrQBAHsQB[HqQBfx$Rk8HQBHQB<ҤA9)T!DDv<:A9)H!DD<.x$+D#,D%F)F 0F5-*x$Rk!0F!!DDr<!DD|<hbhx$Rox$Tbo!0F K J{DzD!F8F O`%`7%&o$F{FF\@_ KJ{DzD O`$@Q*R8F2 !F4, $$p F{FFp$F;#J !zD @PpHB HBHBHB"HIBHBH`B Rk m $ 1"i o` pK FJ{DzD FO`p$W#pF{FFKC+(K1F(J{DzD8A#B' ش_A#B&8C(3_AcB8%CX38C3 8CH38C83% K!FJ(F{DzD O`pF&1F 6B p$ +#F{FFFG3/VKVJ{DzDR8 *);k}MWa`"$3Gl7!F2F (F4,r`"$3G|7!F2F (F4,``"$3G 7!F2F (F4,N`"$3G7!F2F (F4x,<D`#42FC& .@`#02F' $A`#12F( `"$3G87!F2F (F4H, B`#2#2F, !(F8 2FC KqFJ F{DzD !O`S## !H07BFFH17BJѤ A9) !`" !`"KJ{DzD, @8(#!@$ щ !`"`Z` `+ "`Z` !`+ `X` K J{DzD!F(FKJ{DzDO`!9"!!! "*-AFFF #@J~!zD@PtH%cBGH#cB7;H"cB\$#3F"FHjB=HBDH&cBJg!(F2F q2F(F! j2F(F! c2F!(F \$#\C3F Y$#3Fbh$#(F3F!h,$#3Fb!(F $#3Fbi!(FKpFJ9F{DzD$O`!7F{͹* #J~!zDu@PHEeB K!F J{DzDO`3$  i`F0  A FF;b!JzDJ@PHD"BHE"B,(((` KJ{DzDO` W-CFH8BF FF€@2B7J@r2B"@E2B @!3B@D3B@+F$M7o\l@F3B@t+F$@3B@t3B܁@3B@^+F(S@3(B@]@#BB?@2B@2B7=o@3B@4(+Fm@BB@"CBxAo@!#+F!0F+F#!0F+F#!0F+F#@WRB@RRB@RB@3SBԁ@CB@+F#(_H7B@(lHBB^HB{/HBHBHBHBHiB@jx"+F4 HB߀HB@(l@2oHm"BHV"BkHl#BHC#B@qHmCB7HnCB2H#B@|+FOrqHBBK'HRBeHRBHSBAHCB@]:HB5HCB.HB@N+F&CI5BHgRBxIBHWSB@6IDB#IEBICB@&+FOb@"+c %*F!0FDH#*F 8l+F@0$!0F+F4$!0F+F8$!0F+F<$v $H*F68*F# !8*F$ (l"8l+F8*F jx!kjx!kjB2`-x*F" -x%$!F*F 0F4,x$!F+F/0F4E,'W8M(lL8l+F2p!oi\+FF8N78^+F #P (!0FHD *F!0FZ *F!0FS4!F+FF0+F"-(+F!0F (!(+F(+FOR+F@(T(PhB+F D("+F@"&!0F@DǾDB򷁴O$@3BҀ@T3BB`@3B*@3Bش0o@3BA-%'𙽴1o@3BAh*F !0F𗸴5oش2o@"3BA~ *F0F!*F} !0Fy@R3B@S3BAd-D%\4'@e3Bу1@b3B@W3B𚅴6oAG8!0Fi+FB"D@c3B@d3BA/@*F !0FN/@3B@f3Bj9oA8!0Fl+F@3B'@3B-:o@ER+FX!0F@QCBs@3B΃0@3B@3B@3B@ՇES*FX1F\0FԿ@3B݂o@8I2+FF!0F@3BքEo𲃴?o@8LQ+FF!0FBT@8SBÃ*@1SB@RCB@TCB@a+F$(!0Fgc@2SB@6SB@N+F "!0F9QUo~@9SB@:SB@7+F0FOR!!+FOR!0F2@SB𢄴^o@@S+@NHcBۀHBɁdHzB0HuBH:B%HtB@+F !0FHvBHxB@ᆘ'!0F$"+F޾H~BzH{BkH|B@Æ+F !0FžHBjzHB@+F( !0FH&BW3HBxHBdHB@'$#!0F2+FhHBXHB@w8!0Fl+F"zvH)B3H'B"H(B@[h*F !0Fz[HCBHcBǂHCB@A'+F!0FB2(@HB.aHCB*HcBӂHcBHcB@+F !0FHcBHBB@+F "!0F HHBHFBHGB@+F !0FHB̀HBЀHB@օ+F !0FؽHBׂ/HBHBsHB@+Fx !0FHBHB@ES"X1F\H3B<H3BH3B@+FA!0FH3BIHeSBH3B@o+F !0FYq+F !0FPh+F !0Fc_+F0 !0FZV+FH !0F5M+FL !0F,D+FT !0F?;'$#!0F2ZC+F\ -'$#!0F2+FRh+F8 !0F+F\ !0F '$#!0F2+FRiES*FX1F\d @1FR 2h*FDP0OݼER+FX!0FӼER+FX!0Fɼ 0!S 3+Fh0F-D%t4'9F*F 0F7/@*F !0F@*F !0FEr+FX!0F8AR!0F[jo+FORzvEr+F\!0F.l9F*F 0F7/`8!0Fi+F"TH*F !0FhIh*F !0F]>$H$!F*F 0F4P,/8!0Fl+F@'#8D+FF!0F@WQ~8"@0Fm:+F @!8-*F"!0F" 8Hv+FF!0F+F,(!0F+F0(!0F+F((!0F+F"!0F+F"!0F+F"!0F+F "!0F+F "!0F *F0F!*F IF0F+F"!0F}$W$ !F+F0F4 ,щ+F "!0Fj+FHc2!0F~z+F"!0F[s+F !0FSk+F !0FKc+F !0FC[+F !0F;S+F !0F3KEpb+FX!0F*B+Fp !0F":+F !0F2-F%'9F*F 0F7C/" '29F *F0F72/9F*F 0F7'/ES"X1F\0m @1FR 2h"DP0YER+F\!0FER+F\!0F@_@҂8!0Fi+F28!0Fl+F}8!0Fi+Fr T<+F!0F@b8!0Fl+F@"W8!0Fl+F"L 0x"!0F+F$ ?} 0x"!0F+F% 2p+F@ !0F*h+Fd !0F"`+F !0FXH=(BHBȁiشUo@3B@:SB9o@,8!0Fl+F+H B,HB@8-%0F*F! 28*F0F! )8*F0F! 8*F!0F! HBdHB@8Hq+FF!0FBHsB瀴O(HcBHB@8JO+FF!0FHcBπHsB@+F"!0FHB퀴O@܀HBHB@8n+FF!0FHCBKH3B("HrBO HiB@m+F"!0FXpHL3BDHM3B@\+F"!0FG_H3Bw H3B@K+FRh!0F6NH3BnHCB@;(+F!0Fn$ٱ6o@3B@W3B@р8i(CB3١C+€kiQ9@HbBDHvB_,HtB]HuB@𤀓@0#p1olб2o@8l#@_M@3Bx@SB@+jx"U$0HBQHBSHxBsѕ'$!23!HaB\ H@BZHDB_ѓ0H2BIHeSB6HbBPѕ@0d0ESES\I8i38iC#Es8l@#8l@8l#{+jx"U%0t8lW8l0i3f8i`0]#J#p(FKzD{DO`8 8iFHSFBFF HeSB@SB@KAJ{DzD"HB70+j;K;J{DzD9FpFsO`"" 0!#jBB3FhBB"j3F!(F= 3Fbh _3Fbj#K#J{DzDH3B!0+KJ{DzD3F"k(F!3Fbk(F!3Fk(F!3Fk!(FHhSBHeSE3F bi"3F( !(Fӈ|3M3pFFHBFFHBp$D"&KJ{DzD3BJ(F]!zDA@PpHeqBHdqB HB HB [RhChHi"` p`pK!FJ(F{DzDO`p,pFCh+#K{D53 K{D,=3Av B` ر_AsB`pAuB H3B K{Dwc`p`pch+ K{D``X# F` K J{DzDSO`p ptf&qkBhOS 8*$8(8,80848pGpF{ FF[6H!xD(4K1F4J{DzDY@RCB#صEo*@QCB1GHBH3B3@TCB; h5ch+#K#J{DzD3$h*ch+K J{DzD((hch+KJ{DzD,hch+KJ{DzD0h ch+KJ{DzD4h pKJ{DzD)F FO`p ^H2s]K0jDj_m BeB DB Y"pBBB_ѢR* DB YBpBQBm DYBQ DB Y"pBQBm DY"QjS+mB DX#cP0Cl+=h*:hShJB#FCSCCC#CC[3#D@$* "" B4$D B L@ B3#C BmB D X#cCb P0g;mB[=e F!j _#{FH!xDT0PK FJ)F{DzD5O`J#mB4e F!jg 8#{FyH!xDd0PvK FvJ)F{DzDO`#F#>gnB f F!j? #{FhH!xDt0PeK FeJ)F{DzDO`#{oB}g F!j BF!HF#{zg zg zg @P zzؿGzzx&0' GHpS zlB @8BF!HF#{zg zg zg  zzؿGzzx&0' GHpS zlB! g F!j mK FJ1F{DzDMO`bp_W(HwB<)Be|#{۹HbB K FJ1F{DzD O`!( KFJ F{DzDO`x&D@084B%r K F JQF{DzDO`a {FpF{FnB&B K!F J{DzDO`p3(F"Fp@bFp{-OFChFF'O &+O33b$ FO ih^?) @?3 _S1CE_jh*/#Ap@0OScdHxQddHvSecfO@sff@3 eaee(F!f9F#gcggg `````7x4/ѽ-GFHS-BFFF HeSB@SBO3### Z 40F$IF{DzDO`J2j!3jm+0F@P; @FBFB BBۀ _BB HB]H3B#jB*F4!xD0`(40F$$)F{DzDO`HeSEѥS+ 40F$)F{DzDO`_%bBsBе_##mBBPUY=-Oe%"bCQm X"bC PBmX!a CPmY#c+CQm X#c+C P FmX#cCP!! F! F#cfcjB𐁺FH!xD0PK0FJ)F{DzDHO`}mSeb]B]ABX- F"R*CPBPmX"R*CPBmX#S+CP! F!! FJѺ@L\HeSEH/B ЫK0FJ)F{DzDO`2sh+ЦH!xD0H!xD|0*FPK0FJ)F{DzDO`BPB'chH/BHp2B ###mB[BX"`BCBPBPmBX"`BCBPBmBX"`BCCP`hH/BHp2B ###mBBX""CBPBPmBX""CBPBmBX""CCP)sh+ pK0FpJ9F{DzD|O`( lKFlJ0F{DzDoO`HeSE fK0FfJIF{DzD`O`(Psh+ Ѻ ^K0F^J9F{DzDLO` !@FZ !@F@S !@FԿIzHzx = !@F@6 !@FԿIzHzx " !@F@ !@FԿIzHzx  !@F@ ؿI8Ȋ #K0F#J9F{DzDO`# #f ``yDqmwA4ou``z`;`h[h+h{+{hH2B K{D JzDyhhrOci;hzhhh&FF7F1C{F;T+KJ{DzDOO`b ?pFHpESXAsB'.jQ10EF?3cP.jQ10FEC3PE*jPp-OFFqwO DF 5FU?KE#h +`#h_3S/2C!)ѿ_HF4TEx6Bѽ-Aqv' ,FT'``DEx5Bѽ7F{T[) J#~!zD&@P $#S3Bq F F)F;' 0C{F;T+KJ{DzDO`7 ""*s #J~!zD@P!FrF BQkDk$F(AK0+O~S` p$#HaTB`Ҳ*:Ҳ*("$##wR@w"w"w-O FD$!FF6F(B 0RiB6[3_S/2C (ѿ_AiB$#&CZa&aZF)F F$#kCW`D$#*FC!F0F`O;bFF{Fz*J3Fq!zD"ABBر_ABA BB HaRB K(FJ{DzDO`+Jr!(FzD@P $(F F!F2Fn FpGqx{4ADBر_ADA DB HaTBKJ{DzD~O`*F Jl!zD@P $ F"!F0 p/0 FF{FZ-J+Fh!zDABBABA BB HaRB K FJ{DzD9O`+Ji! FzD@P  F# F!*F 0=pnF{ FA DBHaTB ADBKJ{DzDO`* F J0Fw!zD\@P $0F+F"! Fpo+F{F*J Fo!zD#ABBص_ABA BBHaRB K0FJ)F{DzDO`+Jp!0FzD@P $+F F0F` Fp/o`0 FF{FRj*J#u!zDA BBHaRB ABBKJ{DzDhO`+Jv! FzD@P  F# F!*F 0n F{FFF l,J#u!zDADBKJ{DzD(O`+Jv!zD@P$0F*F F!Z F8zzp 6L𵅰 FF(` :)0J#~!zDQ <F*Jq!zDE@PH+&Jr!zDA@BؤP(A @BHaPB K(FJ!F{DzDO`%A@BHaPB&&`HGJ(Fs!zD@P(F#FX r9mj00HBhHB0X`T2D`@2`0FX2 FhBF#T2X2D2B(F#@2D2w&iB(Fxfaa$4B0HBhHB,XT"X2[3_S/2C (ѿ_FD@"D2[3_S/2C!)ѿ_0:0pG#`C`pGp F{FFFv^. + +J_!zDV@Pp@CB@SB*`j` pK FJ{DzDO`p |_8/KB.(XУB9Bf`pG*KB$3LSB-Cf`pG%KB! أ3LSB!KBCpGKBа~_OpPpGCf pGC@pGO`PpGCpGCf pGC30pGR*рp:*C@*ژpGC#CP0pGOppGL>>L?333?fff?-CFHFFF PF)ҲДG0CBCA#*HI`O &+#lJp 'KP%P[HF\% 'G \.FF@UQr蹸ииOO ...& &/// %/ 'h"b"p"BB"xB""pBS` '' %8F- F{@(FFzȿg3H F!xDf(0K F0J)F{DzDO`O)H 3S#S+Ѱo ##"+ @`@H@HZH H # +(###( "(lDPE0j%!i@bACa8'ib8F{ Fñ(F(lL"Փh#s#C#p#@` H F!xD 0( K F J)F{DzD!O`8ci Cca8 hMp-8 0Xk z ȿg F  z Կ`g< zԿAg1 zԿag'!lhC%(!)! ! hȊɚ 芍0 CC  +`0CCk`# I H F@h (`C@h` pCF{FFM F!}D`5(F(K9FJ{DzD 2F!(FPK1FJ{DzD FCO`8FF0F )FF FJ0I HK F JkfxSf-GFF@WQFF a#{F ,2F!DPF(GK1FGJ{DzD :F! tXCK9FCJ{DzD FO`0F-F_# B]%@CBзoXȘ@WQN`PPT8l(̿3F## "S@겛CBT0Bb@CB x@WQ_`=fd8l&o(ؿ&izn#s@CCCca @CB SpF{ F(FhF@VQM8l%H F!xD( K F J)F{DzD8l(ؿ%Fi-@WQ#C]@almpXn`lmpn`8l(&F7Fi#8"r#`cF#aM$I8lBA#!A`dH X zzzz Hzzz    #"`8tu #iCsiBC##a#iC#a:B)F F6L(gh/@ăCETHEH:E&uHE@h1l@B! AEH5dXY8Fl@*Կ  +j#C# C@#@C(b F1l @11l F!1l F!{@_怸6onظ2oŀظ1oW5o\@W3E0MHtB΀HVB̀ABHQHWBHXB~HGSB HBHB HHSBHbSB"aDž0+`;hCJ0F6!zD@P5HASEzKaFzJ{DzD "F !PvK!FvJ{DzD0FO`_qJOSzD_ mJOSzD0F7!k@P@F fJ0F#8!zD[@P(?a"HB2HVB2HQB/)HWB HXB!#%HGSBHBHBHHSB HbSB "# "#",#?#"##  # #D $#%  P 00S% B 5-OC"[F OC"[FFHF(0Fw@P&;hjxL_S/:C!)ѿ_ ;h!F8Fb%E̿#+FKF;hXk'(FRS>Ԥ#-C FFHASBFF 1K2J{DzD O`"F!FO,i!F(F:F FP#FC`!F(F`H0FHF@PwhGJ FH!zDS@Pnh:JI!zD,i37JzD(j4JzDJ!૊_1JOSzD늳_ -JOSzDK! F$ 8C(JL!zD F@P5 3hjL_S/:C!)ѿ_ 3h"b3hbL_S/2C!)ѿ_!$늪0F3hXk^ Fp1hYFF9)(PiiEhݱjܹjر9h0bh_L3S/2C!)#_ Fb     Թ$@hh@[hc-AFFHhxhhF4B@FAۿL_S/2C!)ѿ_L_S/:C!)ѿ_ Fa`(FF FF\Fp`D` F`XL0_P?3@2*ѿ_)F0FFhxL_S/:C!)ѿ_ ((FO0 F-AFFF2FHh+hB!khB#0chxL_S/:C!)ѿ_ (F!F@FA F8 OH SBѐ0pGH0pGHCB pG#JhA@$!KlIh@C1pFh F+ +FiFpk0F Fikl0Fx"Fi)F0F+#ca#&`!F#a(Fcccd`pp FFF(F#ihFp@-OFhFFF/,/{Ci OhH SBHCBIH!xD`HC FH!xD0DH9FxD 0HCbihh-qF(nT=K  {D(3HC lciFm(Ucik[lS"0h\h-H,Fi3#ж OH SBHCB RF!XFRF9FC,RF!XF<0RF9F6(H@!$%FHC 2P 2@ B HBB FFH@H@tbX61pG8hLLlB$Jdc@ F8 8Fh++ CijlTci@ml -A#FFFFahh++cijk(F"laiC(> l+cimEF%o%H'hFE#h ++%0'h#0mhcl+%Gs*Fahx c-8Fk F0c FH!F(Fh03!F(F 88 F0S@USB @SSB@RSB@ig@WSBHBHB jXiViTjR@jPjNkL@VSB@RSBAHB HB@WSB5ѐ0H0h0h0 +('     jRT ,     D -C@VQ-FxMP>FMPn8l(ؿ%%h@VQ#E`h=l3l5#SC33dh#`I8l@#(Կ  F(@h@WQE@`Xkm/FN`P0N`'8l(ؿ&&{i_@WQ##^@{mFF&FFf~amxe8l(ؿ&Fi@WQ#^@a\]^ph\]^p8l('FFsi@WQ#8"r#`cG#sakn_``x0{f_``8l(ؿ&&i_@WQ##^@{nFF&FFfanxf8l(ؿ&Fi6@WQ#C^@almphnPlmpnPf8l(% F/Fi#8"r#`cE#a8FFHIp)JҲK`ГG0CBCA#*HIpO '++lJO K`&R[ F\&O G \7FF#@UQ ййO O ///' 'ۀڀӀ &O h#b"p!AB"xB""pBS`HX8F.Fl@*Կ  3jH#C# C@#@C0bx.l;l@6#SCF3;d8l@C(&;l+wF#CzzȿCȿC:j"pB3;bh(l3l #cC#3d3j#s3bHM8l@#(Կ  F3j 0b(lX +l#cC#+d+j#+bH'8l@#(Կ  F+j(bO O &+ zzȿ#ؿ#|x8 FFh+CiBFKcm+mB!FH@0+ 0B!F8@188Fh F+CiBF$cm+mB!FH0+ 0B!F8@ 8-AFOpFF(\Or!H&S/Ca)#_d #%0 #eee`dPPP`P`%ac(edQpױ`+F"AF PF`( F(8F1F p`pp`p FF_S/:C!)ѿ_ 0!FH F Fb#p00 F@ܽ-AFhFF0{kF`(F4FF$kixCska+iCs+a_7_W?3G2*ѿ_0F FFChk4chH`h~#c` F@-OF{FFS)2J F'!zD@PY,V&FFEKT(p/D8/i9FuF3 :B"(FoF (F.F (F2 #0 (9FiPF1.@P Fj0O3F#0+ShdhHCHCBG$km*mHC ,O CHCB240 C ,H SHCB4,HVRHC, HVRHCB FFH@H@08FH@SFB # J#`)F KzD{DwO`8HhHC#`8h} ` 8d-AFFH@SBF 2K3J{DzDRO`ShBh+0 "F(FF(F+{+(F>0F7,i!F8FdF IFP#FC`!F8FH0FF(F@Psh3!@Fp`("Fqh(FH((F(FUA-GF FFF "H@SBKK)FKJ{DzDnHASB GKHJ{DzDO`03CJ:!HFzD**MF0=KHF=J{DzD.i1F FCh{(FP0J3F;!HFzD@PGh7Fh+kiB (F4*Fxk0FHF{! #$)F0cld.#oa`07.aW,<`_W?3G2*ѿ_ F )'-OF{FFF H:F!xD00@RFB(K9FJ{DzDH@RB ЋK!FJ{DzD(F O`ІJKF=!(FzDhrhBJ:!(FzD_gO 0hF(jiBja1h2h#0c+΀+̿""` AFPF [BhB1h FrdJCF!(F@PKJFzD3hC(M1h F-2h#9FPF0JFcF8 PF#:F,0)FPF(0ACAKF(EJF9FPFF80S((FF@P0"F1hPF8F(F5@F # `!F<'d`d0h_Z?3J2*ѿ_XF@P %²c].$   -AF FFFH@SBCKCJ{DzDw0CAJ:!zD)@P9FI(9K9F9J{DzD[HCB1HCBHCBHHlSBBI6B>HCB&;h +)+нAs%HAS"h+4i +`J KzD{D$h+k+`&KJ{DzDh+ l@R B(`+`KJ{DzDhKJ{DzD!F0FLO` #3;{Sg"FFF" FC"]BH F]A"( F5(F=!F8F@9.8FH8B`0+,+{ FHCBq(F9JF?!(FzDI@P8 !F(F8yF(F F8(F((F"!F 8-O FFFH hSH@RB{K)F{J{DzDD+xJA!zD܀ qrJF@!8FzD@PnMnF}DH5ƕ[ bF U(Y"B2)@q8F]JF@!8FzDO`+&A 5FH [EE,Y%0SEس_AB O[EHBBH QHA!O A F"F F65"AFH PHNA BEY"0Bس_cE OЃBsEEE E20F؀.` #hF# .X!F8Fcmlah3#@h2"@C 2"@C!B FLBE@^ F@I(F80i۱8x8 8 F@@P8+IFBذ_Hk#B pGIGBIHB pG pG pG pG pG*pM $P%P@F,@@+ CCI #@P!0#C@!@p h`KhC`pG-AFFP 8FAFF F(I FyD)F2F FH I FyD0F, AF8F F?!@L+h8(  pG pG "OaK{DO3.]pGv_-AFFFСAL9)K{D\\ $F3FF!F(FA^=$F!F3F:F(F4T ,ѽ!"F! F#IHOQ@-OF0FFF h#2 F>V)i(FF F(iAF;"F1h(F FARFIF F"!F@F(T7_E VIFD=RF}!F(FHIFRFs!F(FF!F(FF!FJF0FpI0FyDHFL"!F@F@,I(FyD>` F( I0FyD@P1h(F(_=#+pFFFiF'FB-5FL:* K{D\ $_d #U$ @@@B pWHP#BHL#B HxDpGHQ#BР@h8(HxDpGHxDpGHxDpGHxDpG@.4:8<( pG``aCaC`#``pG-OLFFFF8<8x8(CHF#PB&HL#Bк9OaHF<8*F9F0FCFGUIFE k iFHJ#B+Fk:F(0 HI#B+Fk:F403(+@8+' FHFPF<;F2FPFXxT8X T@83@8@P -OF8KFMF6JF{D@HX3h4HF#B<@F.KOa-J{DzD\8F(FKFBF9F F=@SB/@8++x8CX(#x8c`T(X8 T8@83@8ObYF(FD4"9F FTKFBF $3hB4 MP i^-CFKFMFJ{DF FX"+h4@4<4OcF84BF9F0FKF\$+hB MX F@hd F@\-AFF" FF!`B`cc˱BOaFfFpF@P2F9F"#0(Q+B@+((k c(44k"!(CQ c(4:Hc( F@h k(IyDl##ckIyDd F@LH,  1LH, F FHG!  FL(* HF!IFHL"]pG-O F C6JKFS!zD@PaTH'=FFjD `@8]@XPBOa`hF EA@%ah_FFFhB%0hB%0ciB%0#iB%0X85BXTE#hT8x FTHզ!FJzDc]wJ!zDX-OFH0F FF@CF;D+Ҁ8F( з_ oK9FoJ{DzD(FO`CF;+Hk#B@𾀸eJCFM!(FzD  Ѹ#_JP!(FzD @Pд_з_ж_VJzDUJzDUJzD(FQ!@P8 (@P; K HF#Bд__HL#Bз_-IFBж_& #O Z#J  P"A!3@"CE"+!!>HJ#B э 3F:F 0 (_HI#Bэ 3F:F < 4(F"@P_HJ#BHI#B _?*KJ{DzD2_?> K1F J{DzD'XҤ*_-GFCFI;F+F ,K-J{DzDF(*KAF*J{DzD CF;+Hk#B $K1F$J{DzD(FO`27 JR!(FzD ,Oa8FFo JOcN!(FzD@PSFBFIF(F@SFB(F F fpդإå-OFCI;F+FF88K9J{DzDLO`dD8?+4J@#U!zD@PW/JV!zD-Oa@FnFo 'JOcN! FzD@P78@YHE F@P)@ PF(CF*FYFshHi"`9F FHk#SF0FD8Ph3D8vͥF8@VWB F@P,PX+hCJ FT!zD&@PohOa8FHk#Hj" FhhB+h(FP8D8;D8 !)8Fi((`@P 8pFhFF(p##`p+Oa JFF.Dv#<(F4 `pF!(F"`8Xh8@P[h+#` F88i8[h+@P #`#`pGFhP##`-AFFFF#F F**OqFTF0F- J@FOsW!zDn@PhF(@F@P*F!F 7`xUףFH#BFF H$BiAsBH#B@SFBcKdJ{DzDj9F @0F8)Fh8@TXh($F @SBTKUJ{DzDp 9F F 9F FCh+ 8$*iiF(chB`@h9F ,aѐ0mB;K{D;K{D;JzDF$BM)F@SFB 4K5J{DzDO!0FDFL9F p8)FXi8@TXh($F @SB "K#J{DzDO!0Fh% 9F 80KJ{DzD0FOdTKJ{DzD (0`$ KJ{DzD@TO!0FA FwW}Zà s i?l) pG pGhHxDpG#0D8$IFKF8H!F@;@8I~@0h H A/茞p@-P@Pp(00Q~0p@/p@-P@Pp8@}013/Pp0p@4/Ἕp@-P`@Pp@Xf 0Q5/Pp0p@4/`p@-P`i@Pp@hM 0Q5/Pp0p@4/@--@`AaM@P Px10iIh H 13/P0@4/ጜA--p`P-@P |0䁓@@@I@h H 8/P0A4/ A--p`P@P |0聓v@s@p@mI@h H 8/P0A4/`A-M`pP@P PP0 Q5/PЍ04ЍA/ᴚp@-`-P@P H0a-@*@ H 0p@/p<p@-P@Pp<0 13/Pp0p@4/ԙp@--@`AaB@P tg8壤0J*iIh H 13/8P嘤Up0p@4/dp@-P^@PpXB8~013/8PwUp0p@4/И0@-M P>@P "8^Z*z0z2z z 3/8PNUЍ004Ѝ0@/Pp@-P@PpX84023/8P-Up0p@4/ᨗ0@-MR@P 8Z*z0z2z z 3/8PUЍ004Ѝ0@/(p@-P@PpX80 23/8PUp0p@4/ဖ0@--M  0@P- 8ǣ0  R0 @+ @&  @! @0i@*Ih H 5/8P夣UЍ0043/Ѝ0p@-@-gPP- K8凣0 b @ @ @ @i@*Ih H 6/8@dTp0p@4/p@-P*@Pp<0 23/Pp0p@4/0@- MP @P L^0 R5/P Ѝ0043/ Ѝ0蜓p@-P`@Pp@ 0 R5/Pp0p@4/,0@- MP@P Lb0 $R5/P Ѝ0043/ Ѝ0Ēp@-P`@Pp@ 0(R5/Pp0p@4/T@--@`AaBb@P Xf0j*J*iIh H ,23/P0@4/ܑG--p8`@P T7"0 R5/P Ѝ04 Ѝ@/Pp@-P!@Pp<0 23/Pp0p@4/܃G--p`S@P 90ᤨਂw@s@o@k @I h H 8/P0G4/lp@-P-@`Aa@P X0 iIh H 23/Pp0p@4/᠂G-P-p0`@P 0 ᤨ尒"@@@ @I h H 9/P0G4/p@-P@Pp i0p@2/lp@-Pu@Pp Y0p@2/,@--@`Ab@P LF0Ih H 23/P0@4/A-p-`PD@P t'0ᤈr@@h @H 7/P0A4/hA-P`p@PDA0 R5/P0A4/@--@`AaBb@P \B0j*J*iIh H 23/P0@4/PG--p8`+0 `,Q5/8P哙UЍp04Ѝp@/\mp@-MP`W@P |:8v 00Q5/8PjUЍp04Ѝp@/lA-MpP`,@P xv8L0 ` P4Q5/8P@UЍ04ЍA/l@- M`pP@P t8#0 P 8Q5/8PU Ѝ04 Ѝ@/dkp@-P޻@P Lz8(0<13/8Pppjp@-M`P@P |{8.0 P@Q5/8PԘUЍp04Ѝp@/\jp@-P`ᙻ@Pp\}}8幘0 D13/8P屘Up0p@4/i0@-5 MP0w@P t~Y8啘 0LQ5/8P勘U Ѝ0043/0iC-MP`p0L@P /8k( 0 PQ5/8P^UЍ04ЍC/hA-MP`p @P 8?(0 p`TQ5/8P2UЍ04ЍA/gA-MpP`@P |!80 `PXQ5/8PUЍ04ЍA/(gp@-Pͺ@Pp`80 \13/8PUp0p@4/fp@-P-`@@P l8ʗ0 H T33/8PUp0p@4/fA-P`pᅺ@P`i8套0 XS5/8P圗U0A4/leA-P`pc@P`G8僗0 \S5/8PzU0A4/dA-P`pA@P`#%8a0 `S5/8PXU0A4/\dA-P`p@P`8?0 dS5/8P6U0A4/cA-P`p@P`80 hS5/8PU0A4/LcA-P`p۹@P`80 lS5/8PU0A4/bA-P`pṹ@Pd 8ؖ0 pS5/8PϖU0A4/ < =z`Hg (h)j @j ziZ#(ZjFhJ)F) (F(J)%ji:hj(z(hz H%:vZ6 ijHjIZwdZ7$z:jwjwzZ jz z  *! F0A?8?|=5<.0E8F XERX ((EXh+#cccc F* !(F0E8F XERX #F0F* !(FpE-F8*XEX@`AaBbh0q*wٵ@ rbz@z@4ѵ ط*[!4J0F+zD [!.J0F zD @)JX!0FzD@5$JX!0FzD.ERXzh*(FH*kKj J o/#F*F3ʢBC CF!0F*F!F F* @P*ؗ#b)b6b;bE-F8pz@XEX@z`AaBbhrb1 @ е@(JX!zDz@$JX!0FzDo@5 JX!0FzDd.ERmFXj*hFJ*iIh H o/#F*F3ʢBC CF!0FujF!F F* @P*aJaa(ѱʹAABABA B K{DK{DJ2!zD @P `-GFF" C- FFHp3F*F F0;F2FIFnBF!F +F,` (0;=+FBF!F0FF -CFF" C- FFXX;F*F Fw2F!F +F` (0;=+F2F!F8FMF 𵉰FF"C- FF8H3BH3BHdSB2F)F;F\ K(FJ!F{DzDO` y-AFF" C- FFBHH3BH3BHdSB2F)F ;Fv K(FJ!F{DzDO` 𵉰FF"C- FF:F!F+F%`(0;=+F:F!F0FF 𵉰FF"C- FF:F!F+Ft`(0;=+F:F!F0FlF -OF!JCF'!zD@P6 38 %O _hEEY%`.i1F8F @FahaPFbh t`h#c`1F8F F5 @0H`UBj!Ѳ_hHRB HRB#4 j#4#@ j"S@ b 0O`00H`UBjѲ_($@j@(HR `0HR`0O`0 # ]D=#FD=#F#s@SBF FF HeSBKJ{DzDVO` )F Fm+ FT@P3F*F!FTp^\ A#O~R`C```CaOcaaapG-AFb3FFH+F+v/ zz1h1F!Ct3iB@B4BbBбo>z z$(gzz(2z$zj(wgz@zj'zzj(zz |z$(gzz(vKvJ{DzDa(iA0B`#CB CSa(Sj#SCcSbSj#SSb:F!0F " շ (F^Jc! zD@PCt3 iOioLz ' "@iBlzEzgzz8"]:F!0FZC" t3(iOMiBaBHzz7 @ z- z':F!0F1C# t3(iO$iBaBѓzz0Gz@zz  z8 Dt4,kiCka OAF:F0F K J{DzD(FO`;?a?>[g2[o,@f4Bн@KJ{DzDO`Y,T, F K J{DzDO`SZBOZAKj#cCcKbY %0!O~S`C```B $BBB;BO~S@@008z@zz`z zAzzaz"Ѓ  BiB"Ba(iBA(281SKBLBKBCiC#Ca $ % & pG FFB, K J{DzD O`:  4<p#hzF6[S%[Czgzz@zz@z#@*2#C\C۲[3#B $$i# c@aS #@iCap-AFFF`F%B)FBF8F5 -OEq('O O~TaMWTC`I3N|tYaaa!]```dde FabYbbbcYcccdYd\e! Fh  z & *  K LlLpLtLzWffg\ggg@@L|PLPPL@L PLPLPL@LzL L zL(L zL0L4L8L<7L/@LDLH`Nw"X#Y#[#Z#\#ChC#CsC`L>L?4CoFFFH|K|J{DzD+{Jk!zDA#B=ز_A#B&AcBAcB𧀲_@@"9FH08i-@@"9F08i-@@"9F(0E9F5$"D'4 Tz zYgz!@zTz zgz@z z zgz@z###@\0C`4۲Y3 B(@!!(i#@asiCs$!8F' $z  ݷ j!#J0F zDd@U1D siC#sa'8i D"49F3"9F,siC#Cssa K)F J0F{DzDOe%(FCV VT[&pFAdBѽp@K)FJ{DzDO`pFp`T&-OG/-F FFH\4\${DzD#P$e!zD` RE5[ X * _&w SF"IFXFPSF"IFh0SF"IFxD(Dz# zY#gz"@zz zgz@z z zgz@z#@\C۲Y3 B(@!!i#@K@a  "!XFESXFX0"IFSFKz` zUjgzzFzjzFz#jzFz"zjzjzgz jFzzFz$jzFz#zzzj!Z'zzjzj%Zz$zjzgzFz"jzFz&jzFz%zRF!HF շ J zD` U& 0RF!HF  ՏJ zD d!0F` U' RF!HFq շ J zD` U( :FYF0FS  "!XF@ESXFX0"IFSFz` zUjgzzFzjzFz)zjzzjgz jG&zjF&z*zjzjgzG&z!jzFz+zuRF!HF Cz IJzDG` U, [RF!HF9z@g ѕX##@"3JX3`#S +/z ص  ## @X# CX3 `#S- &JzDf!0F@P#\X3(Bi!!#K@a؊TqE-FFFx@S2B(@")F\0KciC#ca(F!X @i F@Or"#sS@a KJ{DzDO`?P @R4Bѽ@KJ{DzDO`HP -CFEFF65O8F@7nFBfWO0F@6nBE%O O&@n"DC .D 5ESAPESPC381C/BORE@C0ok-O 0FFF!@"@FF p mF "!hF@"!HF@_H nK8FnJ1F{DzDO`Ȁ&1FZFPF6. ESHFX\1nIF@Fo(@AF@F)j zCzJZ'jZjJjzgjjzj zDjzjEjzEjz'zjzJzJzJgzJzDzJE$zZEzzjCjCzCz(i<՟ zC`3Dp4FGjGjzz gzzgjzgjzBzFjBGjj2 2 2 2 -Ngp FFArB8.ر_hEREX`XQB*ArB+H@BPEpbEX@BT0T2XQEREXBXQ2EP1.iT4 EF?2Q.iT4 FEB2PE(iPKJ{DzDO`pER Pp * #Jt!zD@PESPELp FEVFESYX9@T0nYS3#c`i(CaEpcXC3Z "*iC+apHxDpGKp@-P`ხ@Pp`h8夋 0xS5/8P嚋Up0p@4/N@- M`pP`@P tD8個0 P|S5/8PuU Ѝ04 Ѝ@/ N@--@`Aa7@P P(0iIh H 33/P0@4/|Mp@-P@Pp<80 33/Pp0p@4/ Mp@-P`@Pp<H0 33/Pp0p@4/LA-M`pP@P P`P0 S5/PЍ04ЍA/@Lp@-P̭@Pp`x8 033/8PUp0p@4/K0@-0 M0媭@P l8Ɋ 033/8PU Ѝ0043/DK0@-0 MP0僭@P pf8墊 0S5/8P嘊U Ѝ0043/Jp@-P^@Pp`B8~ 033/8PuUp0p@4/Jp@-P>@Pp`"8^ 033/8PUUp0p@4/Ip@-M`P@P x8<0( PS5/8P0UЍp04Ѝp@/Ip@-P@Pp8033/Pp0p@4/xHp@-P@Pp8033/Pp0p@4/ HO-M@pP`Ĭ@P xF8 0 PS5/8P؉UЍ04ЍO/GO-M@pP`蘬@P x|8帉 0 PS5/8P嬉UЍ04ЍO/GA-MpP`n@P tRR8厉0 `S5/8P僉UЍ04ЍA/XFp@-0MP` 0E@P x(8d  0S5/8PXU Ѝp043/EA-MpP`@P t^8:0 `S5/8P/UЍ04ЍA/E@- M`pP@P t80 PS5/8PU Ѝ04 Ѝ@/hDA-MpP`ɫ@P t80 `S5/8PވUЍ04ЍA/C@- M`pPᡫ@P tn80 PS5/8P嶈U Ѝ04 Ѝ@/$CA-M`pPx@P Pr\P0 S5/PЍ04ЍA/BA-MpP`X@P tz<8x0 `S5/8PmUЍ04ЍA/B@- M`pP0@P x8P0  @S5/8PDU Ѝ04 Ѝ@/`A@- M`pP@P x!8'0  @S5/8PU Ѝ04 Ѝ@/@p@-0MP` 0ݪ@P x"8  0S5/8PU Ѝp043/@@- M`pPᳪ@P t8Ӈ0! S5/8PȇU Ѝ04 Ѝ@/l?@- M`pPዪ@P t%o8嫇0! S5/8P堇U Ѝ04 Ѝ@/>@- M`pPc@P PG0 PS5/P Ѝ04 Ѝ@/,>p@-PG@P L+8g(033/8P_pp=p@-P,@P L8L(033/8PDppP=p@-P@Pp`81 033/8P(Up0p@4/<C-MP`0p@P t8  0 T5/8PUЍ04ЍC/P<A-MpP`é@P t-80 `T5/8P؆UЍ04ЍA/;p@-韩@PpP8忆033/8P庆Up0p@4/;C-MP`0p~@P tb8垆 0 T5/8P哆UЍ04ЍC/:A-MpP`U@P t198u0 `T5/8PjUЍ04ЍA/9A-M`pP,@P P2P0 T5/PЍ04ЍA/P9p@-P`@Pp<0  43/Pp0p@4/8A-M`pP@P P5P0 T5/PЍ04ЍA/p80@-MP ֨@P |80 0  PT5/8PUЍ0043/Ѝ07@-M`Ppᬨ@P x8̅0 p`PT5/8PUЍ04Ѝ@/P7p@-P`ᅨ@Pp\i8奅0 43/8P坅Up0p@4/6@-M`Ppc@P xG8僅0 p`P T5/8PwUЍ04Ѝ@/,60@-P-M@`9@P 8W 0 00P $T5/8PIUЍ0043/Ѝ0|5@-M`Pp @P x8*0p `P(T5/8PUЍ04Ѝ@/4@-M`Pp@P`P 8 0 00p ,T5/8PUЍ043/Ѝ4@-M`Ppᴧ@P x8Ԅ0p `P0T5/8PȄUЍ04Ѝ@/p30@-P-$M@`A@P j8妄 0 00P 4T5/8P嘄U$Ѝ0043/$Ѝ02@-M`PpY@P x=8y0p `P8T5/8PmUЍ04Ѝ@/2A- Mp`P/@Pp`P 8K 0+0 `P5/8PUЍp04Ѝp@/$p@-MP`ᱣ@P |_8Ѐ 0P5/8PĀUЍp04Ѝp@/d#A-MpP`ᆣ@P xaj8妀0 ` PP5/8P嚀UЍ04ЍA/"@- M`pP]@P xb@8|0 P P5/8PqU Ѝ04 Ѝ@/"p@-P7@P P8V(013/8PNpp|!p@-M`P@P |e88.0 PQ5/8P,UЍp04Ѝp@/!p@-P`@Pp\g80 13/8P Up0p@4/d p@-MP`Т@P |8 0 Q5/8PUЍp04Ѝp@/0@-5 MP0妢@P pj8 0Q5/8PU Ѝ0043/4C-MP`p0|@P |`8( 0 Q5/8PUЍ04ЍC/A-MP`pQ@P m48p(0 p`Q5/8PcUЍ04ЍA/A-MpP`%@P |o8D0 `PQ5/8P8UЍ04ЍA/4p@-P@Pp\r80  13/8PUp0p@4/A-MpP`ۡ@P s8~0 `PT5/8P~UЍ04ЍA/ A-MpP`ᮡ@P u8~0 `PT5/8P~UЍ04ЍA/X/////////////////////////////////////////////////////////////////////////////////////////////////////@-齠P@j@-鶠P @-鮠P @-馠P@S@-韠P@L@-阠P@E@-鑠P@>@-銠P@7@-郠P@0@-|P@)@-uP@"@-nP@@-gP G@-_P@ @-XP@@-QP@@-JP@@-CP@@-<P@/$5 I"yD9 -GFF" C- FF;F2F)F[$#BF!Fl0pFKF 𵋰FF" C- F F #*F!Ff3F 𵉰FF"C-F F#{#HdSB#2F!Ff;Fq K FJ)F{DzDO` e<-AFF" C-F FX#{#HdSB #2F!Ff;F K FJ)F{DzDO` )e2h𵉰FF"C- F F#*F!Ff3F= 𵉰FF"C- F F#*F!Ff3F -OFF)JCF'!zD@PE B $ 8_hDEY$`.1F8FrF#ɱZF(i* #Sg#01F8FPF>4l#sF FF{@SB HeSBKJ{DzDO` )F Ffm+ F@P#*Ff!F3Fp L8 F{F @SBJx!zD)(F8) JzD B Jx!zD F8:JzDy!@P8 8#, F`,"!0F F 8F0 b08F0F(? FFj F(, F@{#`pG)8Fi <@S#`8 h#`@h8-AFFFF+8F(hBF8Fsh F;s`#y+ ѣiS F)F@FA6-C#`FFFkF8 FH(F0F@P#(HFF(F"FHF[ F p-CFFFr*F0F F+{ӹ J(Fz!zD,@P0+ J(Fy!zD@Pp{j##;p  HF8FXh"0FHhF9F0FW@F8F!F0FqFh;+@h#C` @hRB>ѿ_ F@-OFFFFp+B+iFF){H1J(Fz!zD@Ph+,Jy!zD Bh a0K'J{!zD(F@PSj3Sb s_S/2C!)ѿ_FXFu@0C 0/i9F0F8ChXjD\bx+ :F1F(F -CFF FFF jF@#G#`@PF(Fp(F@F'` F( F+ ` F %`@P8[hKE F BF0F4(н?CXBXA]-OFFFFHF-AFFHF'F F(L#{ KAFPF3(=5_,PFHhCEJ|!zDPF F0FF.ZFhHF+hhBJ}!zD F@PU?3E2*ѿ_{h3{` F4@P$-A FFFjF F)FF FF0F:0hB 3{K@ J0F!zD[@P F+FBF9F -O{Fh F @SBѮJz!0FzD0P,ЪJy!0F@TzD%EF0F!  P0㹞J5I(FzDyD (0FJFzD!0F(F @T$+БJ5I(FzDyD (0FJFzD0"h0F`hH02Bh"hh"hF3{ӹi+Ѹ0+tJ5tI(FzDyD rJ!0FzD O 8FF #h  h0  0D FFF(?`B#pA#CpOT ;"qBqBqq#CrCOjr 8F '$+H$ OSU07ZpORpI"  p"@ZqObq!qZFF _DF F F0U 7Zp p pk"F7 F F֮CF:F)F exIF0FF0F3iCs3a FSZ82-CFFF3{F@SB8Jz!0FzDe,5Jy!0F@TzDZ(j#kph-J0-IzDyD j(j0 a(@=3sE hCi* h# h !qE)hLR2$tEСBhйE0R|F{hEKF:h 0FiE4 21#kp$@T0F FJksFFFFt+{. J3F!(F@TzD$@SBJz!(FzD, Jy!(F@TzD j$1F0 Fp`-AF{ FFF< D# F.#:JJ!@TzD F @SBCJz!8FzDw,?Jy!8F@TzDl-iH3B:H3B3HAsBPj0IH3BCH3BDCx?H3B/H3BH3B5&K"X0ji$H3BH3B$jixj)F0 /ChK"X0jiji $0(` jh+`$ K1F J8FOd{DzD,F F. 6!$W)-A FF{FF$" F{$+J!@TzD.0 Fl@SBJz!0FzD ,Jy!0F@TzD$0:m,F BڸЃhH$04\,`$ F l -CFFFF 4'+{F@SB)Jz!(FzDG,%Jy!zDj2#J!zD(Fh#0E/N#3`:jh#0!J(FKFzD@T;j ;j03`Has$0DF J{!zD. F / bS -OŰFF8<+{F+HasB вK!FJ(FOd{DzDQ@SBѬJz!(FzDRE,ШJy!(F@TzDG:F@0j ; 8F XF и 0jJI0zDyD JzD@F:H0j0 (F@TCFRFH118FF0jJI0zDyD J(F!zD8F f$CFRFH01XF0j~J~I0zDyD |J!(FzD8F KXF HgI F$PqJrI0jzDyDG`I F  B( BZ  \3\ ] +$#ZJ[I0jzDyD4\E^QF-(F * BQJQI0jzDyD0o R4X \3\  #" vF F(@FO4F8F ' 0J!(FzD8 FF'':F#FIF(h F8F F #JzD!(F#1F(FF(F+iCs+a FE1SBMTTAB ! .I  ~ *P(zp)@@)@ @R0pGOppG-OF-OA O FFJF#qB:_F%B,3+z  K@ H  z@z  <$5DDTD2-GF F FF*@SBRJz!0FzDG,OJy!zDjh2LJ{!zD0F7>x!EFJ!x1zD,jO t hDh$ ,"Q  $?3TFi,OF/Ѹ(/J!zD0F@TGg n  7F{]* # J!zD*@Ph Ca#iC #a0k 8Fn, d F*("F! 8O08pnsma>Bе & pKJ0{DjX"iF FxFt xO0#!Fi 0~$ $7#jFIriyD @Ch+i+k+O3|1DD0Cc0K?BD D/D >D D . ^ L E14BFFFqEQD. BF F9F>#DD [h+jAojCv +}B л { #xO <ZC& FFF/z @z  <?  4D :D D 0Cs0 4D :D D #F)F"BڈF' Bz @z    #7 2D D D (F 9F :#F 4DD D J F!zDB#  5 z  F1-GFX{yО-=J!zD{)+xB8J! FzDntT\ hHh C (A^(i( F@P( 2"(2"*\ *  "iBb"a{h+#zg Ѓ }hE(#iCs#a0)F F@SB. au-Ax7AJ!zD@POFh F@-GF{ FFFܹ+ FJ~!#@TzD~ ,( @I" yD=J!zD9F(FF@SB6Jx!0FzD[,3Jy!zD0F@TP F0F6  FHFF((FB@T6"F v#@3U0FFJF PFF@PF"@F`HFqF2O JF P Z 2 bE ۱?БEFFF"0(bEHБEJ F 6J 6IzDyDU40҈L" F"2p#O2A# E# 3+sO2tC/B#V# *$B@<3+"FU#@,A# 2+#Q# *@"03+#V# *Q" F# 3+"1F8j M0 @B%@g8F (F#`q``aCaRB0(_ bW F8F0 [h`iG F@-CF{FFFs C0;+ KJ{DzD]O`FF8 FH0F(FW@P#F``HFlF(F"FHF F\p'UFFF*iF8F[F#{FJ Fz!@TzDz3hCJ Fy!@TzDophi#$q t0F )F8FF Fg pG@ ]-O FF{@WFF* FzF!+;J!FFFH1;EOcU*PBh0ZE 6  翹H`sB F;J F!zDTO`d6JCFzD .&Oh  =1J3FzD! F; [-J! F0zD/@P?#0P -"J! FzD@P+FRF5Q_+h06NE (J! F0zD 0 F@P$x0_P?;@2*ѿ_pG#`pGHxDpG p# L8%|DYB"DRhB3+O0pFp-AFFFF(O0TF j#O2%``#a`aaaK8&{D6h8F ;hChH01iri`#%`#acaaa"#bbbbFFFF(pO0F %O2#`""a"%g``aaabbK8&{D6h hC$ H0%ga#`!cb#!a!aaa#bb 8(0//////#)AC `A AC `AHc3H4 H3AC `A  AC `AAC `A`pG8FF K8!{D0i+pCi#p8TJ8 zD i 2J8 zD i @"!FF?"Oc \_S/:C!)ѿ_ *pG-AFBFF(nB! / -CFFFF+M+I % hC!H(FF hCO3 ##!;hH 3 @@ Fh 8<`>^ F ?-AFFFFD-8)4 ! 0FE 4 $ 7`C;h 3H @ FAF F >-OϰFXF Y#z(F( ''Ow!O  ZGC   XE)F  g.D̿v&̿OhOE,@'D J +%@B !guuF%F(  // "xBFd#FFE q"!IDB@8\O 4!2  D3DH0!FFB   EuSFOE$( OR \O "  \p Zp p3 p3  D1D17D*DAE@sF#;KD E4#H2F B ""@E!sFF B* a\pYpp3p30D7D $!F 0FLi QF% & h3*(F(F&HFHF O0OpF M}D+h#`#R#B3 +  p *-OFF(O #FFF&S3hBSG >#DUDi O [&0ӱO:u%9F%D D+n30Rh3L_S/:C!)ѿ_ #Rah;`6S"b *0FO:t( %R00-OFm #'S3hBF00+@F(@/mS3h# /F(O O:s& B]#\[Dn`(P0+Lacl+@ڀmDRh!?!DtC`m|DPj"BBA1bmDPh"B`mDRh!@A`mDRj!@AAqbmDSXj@@]b67:x /z 3hB8FP##frhQhhz  * 0FZ!YDoh; hR#Rh F!jcj_BbB mDRh!pAAA`m_mODSѡQ) hApA`mDRiCa h!pA`mDSi"a#jS+?+mSh"b>h*?" yJB FCSCCC#CC[3#A@!* "" B1!A BiI@ B3#C BmSh!aAb`mDRQj!AAaQbmDSj @ bmDRjAAbmDSj ` @0bmDRj A1bmDSk ?@UmDSk?@cmDSXk|@C]cmDRQk!|AAaQcmDSk @cmDRkAQcmDSk P ?@0cmDSk B2cmSh @E`mDSxB"`mSXh @e]`mHDSZh@@X`v<h *FA( $"D2P"0 *FA( %T">"R"D2P"0 )0( !O:uBX#F1B2CF0 )O:s( !pYCT"4&#hB 23DPEPBXCPpFFF L_U?3E2*ѿ_yh b_UOh*?/ }JB FCSCCC#CC[3#A@!* "" B1!A BmI@ B3#C BmSh!aAb`mDRQj!AAaQbmDSj @ b#mDRjAAbmDSj ` @0b mDRj A1bmDSk ?@U mSk?@cmSXk|@C]cmDRQk!|AAaQcmDSk @cmDRkAQcmDSk P ?@0cmDSk A1cmDSh @E`mDRxA!`mDSXh @e]`mHSZh@@X`{<-OFPFB\F.hFgKZ {DB1)jiB"cH*jijXA20*jkj+j3+bm_S43S/2C!)ѿ_mBP I (@"nmjBXJBX*GKO {DHBX+mBX3 F>(q#n+#n+%%f:F!F@F(a5Bکm Q1"FDXF,(##fLS 2 3hBmR+huFI*  Em-PR+ )jiB(jijA00(jijJ`*j2*bmR+ _\2R?3B1)ѿ_I 8B XBPh9-OF- ;i F }iO0C(0)F(ǚO *F!EJF9F FOIhFCDh*@bi(h+@ހjUizz+hGjijg+zizGgGӻwHz7fzj(i7j7zwzh hi)''fzgzzz K'))8 zG'j펪:KIj :툊khʰh hʰhhh}k*FQF Fl jQF Fh QF FJ QF FL *QF FH jQF FK QF Fd QF FQF Fj  QFI F QFk F QFS Fi N ` ]kwПJ *FQF FujQF FE nQF FB gQF F `*QF; FYjQF F RQF4 FKQF F0 DQF F, < QF F( 4 QF F , QF! F$  QF F  QF FQF F QF F hCD]i-H(?AƱslh(гY>ݓ=>x=۶? ?+F:O m SD OK Z !m D *hVD"B2h*i*!!!D 3FH   a O0 FFFKJ9AQAAA!AA1 @*!B" '' G2"B Gbbkh"rbc0kYA8l#C""P`c8lCաh-E-%- M U- !!!#j1)ѡh )+ s0#b##3ccF@FO!jiDB#I"jcjyXC2"jcj]`#j3#bs_S/2C!)ѿ_0F   I t(@-GF8FFFx!P0(OPC@FO0nK{Ddx3RB@@"!8F8F>sjzczrgj8FgZGjzjzFZjgZ:jFZj*Cbz0Gzz*CC"OД'#Ss'#SBs'#Cs'#CCs#pC'C#S@o2йo uIuH@uK@CsK C CB#`c"`bsr'#S@#C#8"J@#K@CB#`c"`bO@C@!@F(?1F x:F3rEC CFAF F$._Ѻ\0F#0#iC#a0BI07A(F@ 6Ya30` ;D[h30;Dh30;Dh3#FF0YBhh  Dh;D8(F.#i(FC#a 1#iC#a#i#- ")F F$w# FF(Fa` # (F #i(FC#a #iC#aCEE2lFG  [h\"F#Y@!8`pG(k#Sc(kA1cpG(k#Sc(kA1cpGP8(K{D\pG pG@(K{D@pG pG*osD(K{DD0pG pG (K{D@pG pG@8(K{DDHpG pG(K{D@NpG pGAcB A SBAcBȹ pGHSBHSB AcB  pG pG pG pG pG pG pG(K{D@ZpG pGJ@3B7@3B*(%67@3B'аA,  pGHB! @3BӰB pGHBHB pG pG pG pG pG pG pG pG pG pG pG pG(K{D@jpG pG-OFFFF~:FF(FI $ hh;mŠ)K#B*P  F+[FIF(FoәBЂBAF2F(FK(HF;@P#BF)F[FHFI9F F :F! FFxPF__LS/:C!)S QFB@ " F" FPF=g_LS/:C!)0 Fj F `_LS/:C!) F2F#AF(F_LS/:C!)ѿ_*z%v6>-CF F(𐁀"! hl*Ob"#SAQC d*OR"S@`hFcj &bnk?K@b #bf"K@cbB)lKhh)+##+## *}si_UKA7-#k!ACcoCj!@AAsbnC@Cfk#coCgbj!`QAcbnC`SWj!aAcbnCcMj!`ACSbnC`Cj!ACbnC9j!`1A3bnC`3/j!AA3bnCC%j!`aAC#bnC`cj!qAbnCsj!8AbnC8j!K@bnCf2_akkbo!k+nBoac!bg"jlVм03;8"F9F(FXkh1FBFF m_\31F(F( FS/2C!)ѿ_OS"1FhFW-O  FFFF!JFFchOG +Cѣh+@_\3S/2C!)ѿ_mY`e#0e SD3T#xL_S/:C!)ѿ_ _DWD7D'FmKB&,! A`1RF9F FmDB SD3T#(L_S/:C!)_DWD8ixL_S/:C!)ѿ_ ^#0HF-OF-Chi+h2+0!:F0F*mB!\3_S/2C!)ѿ_m 6`e#0eŖ8F :튚Bg8F* Hz@ zzg "iӊB8F ~ Ȋ '% #*BGO&  BDBDbhB7RF!  Di$\C C _Q?3A2*PF_hm F\B%1F:F6HDE%7m&i{0[` & 7F@ FF(' 0 O :B &chB 6X7(F\:FAF F\SmKED3D[YE 5HFchE76: B7FF3D:FAF F\3D[Y#D@0g0D#O1HF mPDDH0+RFmXF1;?-OFmh1FF %F{chBFO hEZHh0"!G  5 0;0#O  / FhF("  hE [(JF!F0+`mm FHFV-/K 7chEһFO "mhFB#`P0.hB+)jimBI*jkjyDC2*jkj_`+j3+bm_\3S/2C!)ѿ_`I (F%(F KAkahc JC0`j @BcCpCCbhsBKC`pG@?2 Ck#@CcCj#Z@?Y@AbpGpO`F`#`Os`O`F `@F8 h F(Fph%&F%aea)Fae`V jOb)F0Fd Fp-AFiF; h~bi##`*%FhB#hS%0BXhG#hY#hY#hY^#hC5hFUXEE.`j FAB/иG)-CF Fi(G#aci;ca#i;#a NhhNC @W&XB hBEh#hC&@ pAFAFXdB FW!O BhBEh#hC @#i(F;#ai;a l@-AFLFhhLC @W$0;BhBXh `AFdB FW!PBhB@hAFX l@-OFCh FFBa`-i(@ci3ca#i3#a)F F i 3BO0(g`Jh @0FZ 0  C #hY#B@`#hY#ih iWhOG (F ``w*F!&a3`ci#a#hS% 4#hC%`5]E h*``oQY&06BFŖ8FDH$`;i+8F h3 =iE#[ F(F0FL" dSC (ѿ_ FFFFFFl i8H3cj1#c`(F@"1DC3F`` Fy(F` FsFhFO3hl1 k F.O1`hPkhah"h`hhlD1D6(Fp-AFhFl1 k QF"#FhhNF``( F/0F/O1hh F8FF.E``8-AFlF FBhڹ!lihH3cj1DD3@"`ln``({Уl#d)O1`h3Уl0`hnk ( FX(NchBhb`C`hh``L_S/:C!)ѿ_ "! FF5aC/ ## CCh_@R1B()_D"^`ܹO01 !@F* ##C (Fesh_`3S/2C!)ѿ_sh_\3S/2C!) _8Fi Ch_`3S/:C!)ѿ_*`hx@_S/:C!)ѿ_  "k`h8@p FFF_\S/2C!)ѿ_`he``p@FhBWh?( pG8Fh3+ $$!FXC08cH`C8Fi{+c3##3#SCXCFcXC 0 FFm$*FFo0`G0pGGhhKhhhhDBؿB i̿##*DBȿCiBԿFC\_S/:C!)ѿ_ pG-CFF OqFFFHQF F,Fs"`q aSC (s"_SC (ѿ_ F𵇰 F:F!mF4F$F(F , ,,+n+Կ$$ +n+ !0FUd $$0F,F8F FI"0$yD]XB02* 00 AtKDi`AAaja DjasF#3+1I Dh3,"zzgzgzzJ41zDzgzgzz)h3Ch+0(( *g  (zzc1( F0c)( 0, p-C ##FFFhshA1#Gj37i1l3sj1D1@" F8F"0F-1 FO#O0 !^FhB "!F+Dh.3F -AF%7F$W?4 ,"F)F@F(ѽ506-  FF"}s`_S/2C!)K_{DfFF1FF@iB 1F F F! F@R8v'0TL_S/:C!)ѿ_ '`B0Bs_S/:C!)ѿ_  -OF%FFF*Fy8PPF(O0 0FDY &:F)F FihB`ҼF  2F)F Fb(D!0z:Ezzgzzz 0 @F0   FH FW FwF& "D`r_R1B(ѿ_l@65- FF F5/ FO(F FD FFFF"I(OFO3)F"3F8FF F,F)s`_S/2C!)K_@{Df F-AFFFF"I0F//)F F% F$"1F@FF)F^(F.s_S/2C!)K_@{Df` F-GF(FFFY (N4$7BF)F0FGe#$:FKF)F0FGhѿ_FF]-AFDhF#h+ @ h #p`#@"9F@\C K0h`(i`Bh(F_aa"arhh3`-8%F``@ 2`E```@ @B8-CFEhݱOO ,hgT/T ?<lh(F %Ft``_Fز? FF@O1`p?1hF!?,h!iQB -!F*FF ph#iB`Dbh%aD3`ppFh?1F!?+hiQB 4F#"FF phi`DYhaD)`h3``p-ODiX*FT BByS ,S Q@S8,Q@S@,J@OrC+KEуhhhFAFiFU;' 9LBD d"DOZDFFwFFF V;.MVEDe+DO;DFwFЦFF,F{W !N  _EDfDOvDFF,F3F FwWJOErDnrDO"D3F,F FFqFBDfD`F`sD`D`DayZnܼb#11CaK`3C`)Cc`3`KapG#EgpFX\!1\QX?%@pB *F D!\1D1p2F D13D1X13DX1\1\a?- aa@3@1@=1X\Q p*F`at1DQp FFv'1Qfa۹?r"DB@+O`#%1@"!0F+Q1+ 1+ %1 F--Gh 4"AhPKC`U2* C`1C`A`0 "`pP #@3sE3@ D -AFFhc`eh@E'hc`\c`\a`~\a`"{\e`#OCFe` hCh,B`'hB`\ZB`F`]G`]$+DG` `"`#K`Dh"DhB ``hC`oB`F FIF Y\a`G\a`3A\f`]"c`# +`oORPV FIFnFpF(`x":Ff`O0chS!hZ\b`@K(@H\3c`*j`ch hY\3a`A\c`#aQ\a`2A\b`#+bkb3c`Q\a`2A\b`#+cQ\a`2A\(Fb`#bbkh+ch"h\3c``` \3c`*aja \3c`ach33c`Q\a`2A\b`#c+dQ\a`2A\b`#03 +k[kh;+i(F+bkbbbck3(F$E@chB F)KFBSB( F03@!I F(chD``!hZ 8\b`b`3\ .c`'?OBңhhh()k)!( XF  xCEhDc`^INUVXDIVINIV FQI+I (chG hY\a`a`3A\g`].c`"jd Y\a`a`3A\g`].c`"d Y\a`a`3A\g`].c`"dQ?chD``K `H(Fcf`oAOO E?4OE2j*l"kj "BDBch!_g`g`p3``c` '? `3c`  XDIV-GFChF FF;+d  O 7h;+Q @0 p(Jsi;+Epjh:*:#@3#si;+/jki+-iph;FBFQFP(Ek37h&8FB +hBF8FS&0h@6 8F K-OFJ}{D FhFXhbhBdЦI F`(اJIzDyD Y\a`W\ a`Q\f`]3 c` #"o# "Ozp"F JOsOzqzDI"FyD  Fo#hkhBPpI(F(uJvIzDyD Y\i`W\i`Q\n` n`! ]Yi`i`3Q\n`] *k`#OOzpF(ZJOCOzqSFzDaVI"FyD+O 0FT(L2F! O0F\(;2F!`X0F(+3vF@FF@F+dF#  @FHF.0FB(KBЪhkhB(Fg0JIzDyDB#`0\0k(UJIzDyDINUSINUV^ȡɛX)okluwCO2hc B!0 F3hlk DREh F,zqFFJzD|I"FyDdC0JIzDyDJIzDyDBXJIzDyD(F`b(lгKBLBX#QFX0T0(N0O2d B%050kZk DB(h FzzPFvF(JQFzDI"FyD(F" F1% , hchB F}0ёJIzDyDJIzDyDA*0юJIzDyD JIzDyDBЌJIzDyD @FHF0F/?8F F@FHF0F/8F Fx@FsHFp0F8F(F.+MZO32FF0#@FPHFM0Fz8Fv(FB F?@WJXIzDyDV R* "  E@F)HF&0FT8FP(F FHJHIzDyDUO3:FWFh0E*HF/8F.@FHF0F"8F(F F@J/J0IzDyD '@ R* @FHF0F8F(F F J!IzDyD ;  INUV'xq՗/` {AkKqd@Fx0Fgh&B h#2F!FP& JIzDyD6oh&6B(h#2F)FP&(JIzDyD (FE FDFFF0(F8 F5q&F`%OsIF@FG(OIF@F#hXzh;hC"#hFZP{h3{`+hS +h6C khBb+hO S&0FchB#Ba"hR#D (9OsIF@F(Op ^Fp(F F8F@FO0&JOqzDI2F@FyD0F(F F8F(3#FbhB"hR# Jxh9hA zh2z`"hB#`3 F (FO: , p8F$!I3F"FFyD~IKF"FyD@ owJwIzDyD}(F ( 0 p*F!FV 0OD!FSFCCh + 3hZ"`l+a##"ja? Ah9)"jalrDa 4*O2`B D0OaF B Ah0hS`315h"FB @h4 h,K`23 a0 B @hoh,4hK`:3gz2 a\z0! BM AhD h\S`:3\ gzz1PFhBHzh;hC""{h3{`+hzF }ג#FCdl d(: FiZhE.hO S. kRk+32B8FBҥl!flBU1pB 1E60i-hU PM`al1ad3( g O0-OFhFKhB$ХI0F(ؤJ8IzDyDU< Z\r`r`3\t` ](s`#O@FF(oO  PF!(KB@ՀE ӈJIzDyD8(FoIPFK(KPF(@ɀF,B€P@ )@\2)a`P\!a\2\""bbbP\!!c\2\ F#bbUch+ Y\``P\ a`aR\a3Q\2A\#cO3#dBZch;+逢h:*#@3#s+ۀ#i;+րi+Ҁi+΀#j;+ɀkYŀ@𭀚@XF#BKE+hC)@  hshB*QF0FF(?JIzDyDFzO4w2h FnPF%F(PFcDJIzDyDE J IzDyDTTASTTAV9ŏˍ1#F@# 3+lh!OB#+hS! ±k^Rk+3O #2DES,`.C,  1 J!IzDyDa8F4O01oJIzDyD8(Fj F#bkD@*N3 L*hXFR# h63G J8 IzDyD(FH Fvx!Ù#F `F^I( F9(@FN%hchBцO0 hY\a`|R*yB\3c`*j`ch hY\3a`A\c`#aQ\a`2A\b`#+bkb3c`Q\a`2A\b`#+cQ\a`2A\(Fb`#bbkh+ch"h\3c``` \3c`*aja \3c`a3c` \3c`dbh hc`2\a`A\b`#c+dQ\a`2A\b`#kd(FB FF( F chD``bhhB5` oRAVVK-OFJ;}{DFhFXh B$зI@F(ظJIzDyD Z\ \ 3\PI]'0#'hshB!ТI0F(إJIzDyD Z\r`r`3\u`M]!s`#O 8FF(#K{DK{D 0B $ #QF@F0 JIzDyDjPF)(a{KBBӃJIzDyDZIFPF JIzDyDP0;+] :*W#@3#s+N0;+H0+C0+> 0+9<033PFr#BB,*hPFR# hh(3YJYIzDyD (Fx,B RJRIzDyD@F(Ā;KBвhshBȀ $#AF0F;` (EJFIzDyD (FI8h?J?IzDyD@F9FF ;J]c?kGل S+ "O3l]pG-A FhFFMEh= pױ#;`,(F0B(FN8)FBF0FR#0<<` Fh Ch#F ` `8FEh#C`8h%`8FK{Dc`'@h0 pG-OFPF|FFvF nDFF(0FOÿJFQFZF #hcU:F D7=D #cU#00F4`-CFFFFF4zw48FF( FC J=CF9FzD)I F2FyD0FCebl-CFFFFFF@F D5zt FF((FCR J;F!FzDI(F2FyDS0FC0-=l-CFFFFFzv40F|F( FC# J;F1FzDI F*FyD$(FCtFFF4zv0FNF F@J;F1FzDI F*FyD(F@ظ-FFF4xzv0F&F F@ϾJ;F1FzDsI F*FyD(F@-OFFFF"0B80S"(0ChY) +*k!h-%)l D#`#&h.ja!`)]9&h.ja!`B#h+l[#`2&`0B>0S&P-6kh+3+lZ0"h'*#`0O "hQF*j#"F#`[F"h*j##`OE#h+*l#`6 -OFFFO0E@0S(P-7oh/4O HFES*FFBHFXȱ  +kz+#*@򇀧 WBWA1hk(lB1`"D##0Bk0S"P-akh+^/hO 8FdFES)PFZEFQF8F(E  k0*lo OzoO Ox"hD#`bh+lDc`'+k+b"F1FX(z+k+f7OEѺ#hk#`ch*lc`3 a'zCoO~ hD"``h*lDb`0h"D""b*k12hjF"h""`2hjFbh"b`2hbO2"`O3c`Os#(F!Ыj"h##`jbh#c`Ыj"h##`jbh#c`-OFhO Fch h[hE`hS*P-Wnh.T/hO 8F~FES)FrEF8F,(:  0sO+@򖀦  L k*lCC. D#`*)lDa`7 O``w4   O [hEhS*P-Ukh+R.hO0FFES(HF BFIF0F(9+kk*l+#CC+cD.a(.a5#(FGD DF`#F4Dh3B  O lO3tO1xOpj,F F'wE3DIDaAa2OxG07`S; 3 \F +јFjFXFF` S+ "O3]pG-OF F$jJjK{DXhgK{D fK{D [hBO hS"00p+#8F6F!ES*XF,BFYF8F(]  6*z9F(VEVF2Fs<4D#+U0+m& 4 F00+F  'w(/;F#F / <D_#+U!* wLE8(U00#LE<#+U  ELE<#+U3r @FhB+ !SFXF 7&vXF0YFB0FFF(4.<#F1F4FO /[* ]*.*5@BF F8ර#F&1F+1.,[*)ZBDF{ /-/ FO O<="0?_  r *`0: *4B F FhCh+0 hp F@h8Fh{%chB#hS%5 hX##`#c`8FP FP"!$(FG8FF ` F:0F:F)Fp FF F@&F '~F`E`(FvF ` F0F*F9F` F+K+J-O{DFXh (?&F%KDD{DkhB/+h"S&p0FHF< H03B x0# F8% E  X0FPF` 0$0M1@"p{FK 8% E  X0F1[8+4 B{"#.F+FH12 BP0 `P`O0oFORPD4nmt"!(FhH#``i B#caai<#aj6#b`k0#cc`j*#cbn$#f  F@ǿ"!-A%F@[ h `i%aea#ai#a j##b`j!kj l#cFc%dled#dl\#d mV##e`n #cf%0"f)Fl`meee #0%0"P)Fme0%f۱%8'F0B 0Y(0C5#00۱%8'F0B 0Y(0C5j#0 FAHFFFFF``iTfa*F9F0Fa O0-OF FFF*Eh3$zDyD iBB $zDyD(CoiffM4"hf(2ihN3il`f<S BB H132F)F FO(𳁥+E;h#JIzDyD9i!)M1@" F(c:ih;il0<S BB H03:F)F F(@lfj(F#3kd(@^#sjj{jj BF(FyF(@Rv#.i3j sk+k@FI(@OpFhb(Oq Fb(HFd$O  IPF9(πPFbKBc#SB2д F F(PFI(@݀J1\!p` lF hFd(PFgIU (@JO   J\ . ) O J    1\ .! `"0kjC4kjC( C\FFIFhjj#kbb,?KIFhjj#kbb[O30kco7O44i;j(Fȹ3i;i{(FBFЃJ(IzDyDs#$+`F FoXFJ/M(V(O4 F POSVTCAVRPXEDNPO-}/jA}j|iyuf-GF F FF$0D8(D`hF8`p:F> pF?:F12*F1F8D.#h ;0O0$ FB 3xC#@4۲@C#@;@-C F!FAFJFFKND qU0KCKJF8F@NDD#BYBE0K3qQ0 T-GFnFFEn_@S/2C!)*_%$+j!(F+ ##jiN(O0w: "QF@Fq(8"V 0QF@F35B`n_@S/:C!)ѿ_  L"%FOiYhB6hS"k+3V#cj#O#kEcjS(0x/[hx/ kE_BИ`Z`Oc2#blBҢlR3V!B33-OFO`8F(%ObO1 0ZhB9hS%0k21l2.Zh 0* O O!aE$iBjkj&Dbj'ZjFCfl&D4DI'`10pE5LXP0ñkQt0I"0k3#xkD3+I"d@hP_@S/2C!)*_fh#j! F+ ##bi:(O4Z$K{D ZB _F˅%9F"0F FJ%5-#FO5'F"0F4( W * Rh*jFB d_@S/:C!)F"73/+fЯ O3"Q"(:)7U"2YOЋB d_@S/:C!)^<+d_@S/:C!)ѿ_B% FN 2*_ "+F!F0F"+F0F%YF"0F  S%05-р4Cod_@SO$F(F$AFH0tFp`(:F(F$:<O4(F$O F%(F$=F`\F(F$AF:F(F$4(F$8;F"FAF0F,Fpita(FaO0@1?* d84D4P4@$0pU N #E1B щP% @;@@pFP& @9[B@ @P%  Ap@"!FjK JOa#a I\_S/:C!)ѿ_ BpGsFo`_@S/2C!)*_dh#j! F+ ##bi2(O0!nhF#BC"D# 3(o_@S/:C!)ѿ_ i hgp-OFFF F4  F(}+F%FhhXh DOh2O D:0 k8EOFBO P7D  3E/Bc((FX`FF(F]@OJ!'@"yCF`@_S/2C!)*_kh +j!+ ##ji(~0F !U?3*FO0BBF # ,@!F 0F @ 0SC">BU?DF$04%#.FB@o8F!F]!FO@ 8F]<0Fl;E A D h I @'I   0  B(FB(F;O0BAb  B?!F8F]!FF8F]D Y Y QD67 ^ D!S1+B8KZFB N<##BF5^"u 8BȀBE X +5&Y"!hP̖@DBSSSS ClC | FCFCF Y"042  @ #BU/ DA# 3$'F0Bbҁ{S0+B8B#" #BDH)@F#lQ\] F8F]#A(PFy#D!O0KJ 54J EA\IhB($2C7# OB) *O``Op Bj@8  ]-OF@,"FF(@ 0F%F  v!F0F>Fހ1o Bڀ@Ȁ*@@0F O O (I OJOJ(j`0HURB(HeRBHDBB:  #p P :  p P (  #p " P 3  "p P  # #  z ! " "p 0 "3hYFHF FO0TF!F0FCc_LS/:C!)ѿ_8FCc!F0Fj Cc!F0F0C04,$E,M*F!F0FNZ 4,0F F0+0F\_S/:C!)ѿ_ ¹pG-OF hFF Fi*kSLO|D<4 LO|DLO$|D4OPC:FAFXF1(mBF!F+hO @"QF8Fj$xJ OO!OєJJO ,+@C CcC O CS oCoC @O# D! XF #S@#sJO# O0CFO:D"!, F@3+hl0j chh @"".#`sCc`@S`#h#C ""C"`"?+h ,O2H"`)hJjB @FFVHF\FPh`@F*h&HF\F ` FVFV`+hh#C#`+hڊh#C#C`+hZji"*CC#Cahhihh&@FID  FpiahhFhhIDF @!aXF#d#c#|#CZ@#pC3!O@C(?3F:F3ʢBC CFPF;;:Y.Y$Y-OF-@O O @ :FMhF!ji\B$ЀI"jcjyDC2"jcj]`#j3#bsh_\3S/2C!)_p oC0I>(@π3i[սP0(7!8Fi5h:T0H:X0h:O@SHo81F@F(ФOѫ:gzz:gzz`a:gzz`:gzz:gzz:gzz:gzzDa-Z`D``:gzz:gzz:gzz૊:gzzD```:agzzO@S0!8Fhx8 O~S`ab$`a bJF1F8F#FxX@F(4\EO0-OFPFFH0FX\HC`H0 hj,+00+"(F;F(PO O Ԣ$/1F(F;F(5#$1F(F;F(!$01F(F;F}v`F%P`#? #(F -OF-#F` FF.؀ " /!0/012^i FH_ IhFF` 4(@:F;F:; F(@I #  F  IODp7HOD(OPC2Fp!(F9Fp"?hO@S0!(F8O0b#O~RC`!``aCaaabbb@" 0F (K@!(F#O$KANOs@O#O@C~(F2F3ʪBC CF F,#JFAF FSFxFFFkK Fj J 0F;NN-CF-FFOSjF!(0.O0#O OCp0l,O`F  L O3 4S1+ CCCCAF#Or=K(F# #JF9I h H B4I 8CB1I 0CB !O@pO<CJF #(FAF#kBj)F,cH!"rE  ScEF2:DBSk@oj D#kb]%cO0@B@B  K{DS pGOK{DpGO(O` `9 (3 (0(*pG(' (+pG(%(%( pG((pG(((( pG.(%(&(pG/(C(pG#`pG#`# `pG8%(K{DD pG pG2O + ((Р#XBXApGFpG pG"(+٠+ ٠+(Р%XBXApG pG0 ((Р"XBXApG pG + ((Р$XBXApG pG-C@M}D,U'iQfiii` ` ` `fK0 FFm$*FFo0`G0pGhk hkhh#jj +ѣmm O08! Fx! F` #"c` SC (ѿ_F a8h F(F8 F8 0_P?3@2*ѿ_pG K "Fh{DhP!h #JKC ;*ۡhX ;!!h:9!`Y-AFiO5h #o]C =/[۳h\`h[Y+L_S/:C!)ѿ_ h+8"hQ`3""`_S/:C!)ѿ_#h##`h_d3S/:C!)ѿ_#h+Рh_\S/:C!)ѿ_ 4? =#0i3`Aw F_S/:C!)ѿ_b| i\h8 F@1FiF FN"h #>SC f۠h/hDAhB ohhB h*2C`QF`>ch`[c`"h #hSCP+hS`kh`#h3#`.+h_L3S/2C!)ѿ_kh_\3S/2C!)ѿ_r kh_`3S/2C!)ѿ_ kh_d3S/2C!)ѿ_ i chB!hQCp( iO0-AFFر% ' 3hBhAhh FAFX\ F: 5 F-C%O Fi#hB X0"hph-X0"hph$5 iC~-C%O Fiq#hB X0"hphX0"hph5 iCSpFi %I#"hBhXvՀh_`0Po>@nѿ_X P3 ip@)-CFiFFO 7h"B$,hKhBkhhB^D`3_S/:C (ѿ_ h# `20ip!O B" `,h2ShBkhhB0X@`3_S9C(ѿ_h#`1C% 'FFi#hB hX1Fh5 i@p"0FFXk@F ph FpFhFF8 i#FO rEСh h!BU!pB1E#321Q ia O0-C#@FF#n(l+blұɱC;R#0%nm0!8F-  OSw(@𜀗1`l(`d!F(OCOa8FYHO CA8FPF(Fndh8F"#)e(FFe#"!(F#"!(F#"F(F#"!(F(F#"!ncnnHDh g bnnDCC0lclC"P"lL3dA#e#ceee##fO8C#"O@CABf#bf  !BAcC#BCcfff#g0e0#fl+kl*l;:gbgHFF&$0$pR?@0FF1F FT2"O"T:O ?O"O (/O B :hF"1F Ff 0"1F F[j^ 01F FZj*O 3MSF "1F FG 0"1F Fi?1F#"# F5 jk+ ## C:HC C"1F F#$"1F F@" 0"1F F@# "SF1F6 F3f ۊi7  :Jc !: C3  E)hF!e(Fk!+##ekk.kCFF Cw#0C0!(F9!(F3!(F-0?0CC ?C0000+ +##b(F(`b%haih[hB?`ihjjhS"h d8`nsnnDhiC garnnDCC0570 d0!1KX`` F@F|FH!Fh((F F$ 2d8) !ChFhB8F F` %`8O08pFDhfT<.۫h>YPhFDo>D&'i    'hgDh  EHhIi+L)I gooO 2 DDzB;D5ho zCD"iZC"o D9 AC   AC 3 3 B3DO:غк%кI"hD\@"к к5"h[R\"&"h!!S\@ rbJXDR\ !iC h#*FD (  0D*Sعй2й@ Dah @\"88й 5йl1bh OL O # D " CSahOOVO O \ CT9{#KX D\( $hk+[0D)`hZF@Dhh#l@D n#+ZF ZFr 6[D +D78F j+Kj $$ DhD +j Dkj DhuD F8pA`Yi)2,"a`bi*6&``Zi* 5% Ea DS[BB[#F,SKBBK p0SB@pp;4) %pѹ  ppG-O3O 2䡀F7hDOhOO; и FF !BK  B>tFAXIZiC%   i     )5-1DH< 4)D B0 $DI)fD8&  IEO`CFB (L Z@tDd] 0dDH51D3D[ED"FgCBM6ZPDP4V H5Vd-OuL|Dh hd1! O23O 2; W FF&5FBEҩ$B7FTO aQ OaD D  QD@8   @D5451DO)c2O 4 &O 5F]EO O B&IyXAD] 4 qD@75D3D[E%ҟO! BL,YtDd]D1@5 n-OFF  8@DOE  +DB Oþ& D D FE)FPF"F=DD6-OF FF  =I#yD3 + a&F kC#cC BV s  9,$JX\DO,*F9D@D, ,*F9D@D *F9D@DY*F9D@D  DDKF"ZE6 F D -OF8ŰFF {D\O#P&&D @ ;F B#Q# R# QRS +-#hchhh#iST #&D0 &3#' 3#OcPSQ3# R3# #. X# X&(3#  R-8RO :8U FF= 8VN9 ST0R>S F>?#@ANC TQ#S>>? F@ARBCN T:EػQ/6Q&S8 FU<=KD8V9: N T0Q>S F?[B>#@ANC T#>?>@ FAQSC]NB TEUKDUV[DVQQRRQ# R# QRU#gVcgggQ0R0C3@4FX5O)(-X   .XX/ + * 0 2 31  3U,SCV3! 46#FZE+ZC7")zC%r5!$#57;D@O+-%$D(PS4X/\.D ]C"D0**# +D*D BFN  F DD+D*D BFN  F +D*D BFN  FODPD +DD F7N BF#4D+#"D)"%D6%$D$JP" RE2O"&RE312 D,! D!@X#N+?Ǯ +îPRF SXVU[F++@ F$(O OO %O)F X   X FP)FFXSC 6V U SC7R#!!BMOk'%1DYC9FPKKX\D ZC%FD "2F DDD 5N  FD D  #S?>@ FAQBRCN T++@ Fg(%O' *3F X  O3X P *;FX   8VU  SC 9UEHO[%DYCIFP۱S0KX\D @%D BF DDD 5DDN  F  #>@ARCQ#>?BR@ACN>S F TE-OFjm2F I * O [ O KFBй 20`j0DF0_ m[ #i;B;#### #l#n3##j)mO^O#mbjBm kB %n`kB enkBѥnk(EBEA%mABAA F !!o`o .0~O ooD 9 O O !oaooo ձbFAF8F  z * +ѹp49F@F d@(*ع'A* B*+W[Fp9F@FM+K[Fp9F@FA,+?[Fp9F@F5 Fz(? FZ(/F JFQF FF! F   ;Fe FDFR-OFjm*H*Oѳ@ Bи(ۀ0`j 0D0F0#hchF mOh#i3B ;BO O O h #lO "3n O O j'm[ # maj Bm!kB nakB `nkBѥnkhEBEA%m_B_ANBNA'!o`o b.b9FN!oo)D'!! o`ooo 屻  $cFBF  FF YF F   +Fh .1F) ) pG# ! #` # ! ## " #`#`pG) ) pG#"``#B` #`C``#`C``#`pG-OFFF!"hFF"!(FlFAFhF(FAF "O +OOB*7#U#  ;T#I   H#3+20< < < N< -CF!FFhF"F~"!8FlFxAFhF]AF8Fu OE%020+  K{DhBJzDh3` ` ~-OF젇 D(iHF(d'FZF9FHFvF(WTCj+Q(! F(J !BF(Fh@5`s``!jiB+ IL5"jcjZC2"jcj^`#j3#b_U?3E2*ѿ__\3S/2C!)@F_I(0F@F7/ **,Ӻ,PMh}Dh)h)hF0FjFj@bjKj@CB&mh@`h(Fh;FDh3FD `iFDMhh=Dh.DJi'CBmh i(FciFFD iJi L_kh@+0FF2#hh.#nn*cnHn&ckHk"ѣnnѣii0C2C5BѨB BѐBjjO0 r-AFN~DF kcI#c@bk%yD@gP@`lc(kAF(D5+B#l#+K FXhG F |-A#NFFD=!Fj~D^n KF9F(hX#G(!Fj@-CFFFFF$ (C (FV(8F(FѸj>HEFAFJF0F(` F-O߰LFiDF( i(@iC h (@iXF(F@"!3@O3C"C8:;<=>EFGIJNOPQRUXZY[\].g3F@/F4A5K6L 7M 8& F9F lxDQ @P 8#((:NFB>t&6&$VZJRb Q BC8BCR `E@Q "Q Q Q Q Q Q Q Q!Q ?Q MQ&IQ 3Q /Q Q 9Q|z573oQ Q Q,P$"` \Q Q Q 0LQ F R E0(= (:3;4>5 @6 A7 E 8F 9=GJIKLMNUOPQRiCgFh#>`C U(e+@Yh#`\NOYC8XIBO3PQR. ѪK@FY0hG(#N$ x 9F(%(׀3ZhBʀ4_BhBÀ5YЂhB6ZhB7_iB8YBiB9ZЂiB:_iB@;YjB@YjB}?kBx@ZBkBrA_ЂkBlEYЂlBfFZlB`G_mBZIYЂmBTJZmCNK_nBHLYBnBBMZЂnB$@T<*-A FFFFF(}(x(FAFF(pC  F(h8F(bѦ@R :#*X,F&(.240:<>WDBHJPNLW "86$@W*T+h9)W<+W\5 haE haEW!FC !!7)о%-*ѹ*ѹ*ѹ!FC3F5FF"hCBCB!FC FsFPFF &'G`AFc1FH!F0F !FC#<sa#P!F0FC!F8F(FpF F p*Ji#Kc:Jaj)aaci+F Fy1FF F(FpF FFұFF !F((F"F1F%F(!F8F(F(FF(#F")F0F -A FFFFF(J(E(FAFF(=C  F(58F(/CBC(B!+hjCBCBѫihkh[h++CCC8#`C -OFK FF{DC8)F_F)Fg(-<*F FF$'F*FHFyFF*FXF|F CB)GE,h&)FC O b/ѸFF$0 ջ)FC~hCBlh$3k+ )FC(F;F j+hB)FC*F1F@F(*F1F8F(F,qhB`hB@ hE@ +c`hB h+0"F)FhBhCB(F#a hO hZF,h+Fh chBѣhEh*0+"F)FCY(d"F)FCZ(Z$00rh,m@hmhFPF.(F)FC54! F(CBl`CB,`CE@hBF9F0Fa+F(6hBѳh[E(FEhO JF1F,+Fh chB"F)FCY.hE"F)FCZ%hCBhh#ak`hBsi3sa#`bw`chB;n3;f#g`{fKXhG0 xgch0lBzglBȿ{gУhE`03`0#d0..HF|ChBCB hChKhhF F@ ?8Ch;C`@(OsLB|DKJ hXBJXB  O0CBCB FC O0F  TP!0h#h@g -OF@OFFFFDIF(hEjF(cCh+030,(Vch#/KXhG `.K2F! hXhGcjF8y1FC@#$K FhXjhG( F@( K hXhGPFP FK hXhGOcj#Ccb#0#0F%1FCD(FDX,KJpF{DF%XhhG1F Fkbb%ceddlc f#0. Fp@Zcj#cbp@,-GF7LFFF?|DF$]/KO XhGFO +K:F1F@FXhG(F1F@FF(F!F(9FC#@@0`C8V$ 4BO@FXF(FBF1F,(F F@!(Fc9FC F-A(jF(eЀh(N'1FEF,Fchӱh!FFCchhZh h3#FF@Fy`hg`#hӱh!FFCb#hhZh h3#FF@F\ h'`aihD F1FhFvFx F!F!(F! F-CFFFBj309F0F9FF0Fh*FF1Fm>F`kx0F[cjCcb Ѹ-u! FoP -AFF !FFHFxFO@PCF:F1F(FHF I F-AFF !FF(FFO@P:F1F(FCFWF ' F-AFF !FFFxFO@PCF:F1F(FxF  F8! FXj)FFO@Pa O@T F8pFF !FpFO@PK"F1F(FKF L|D Fp! FXFO@P. FF  F! FXFO@P FF  F8!F F`FO@P!F(FF  F8sFF !rFxFO@P#F1F(FF s FpFF !FUFpFO@P#F:F1F(FF W FpFF !;FhFO@P"F1F(FF > FpFF !F!FpFO@P#F:F1F(F:F # FFF !FFpFO@P#F:F1F(FF  F8!F F`FO@Pf!F(FzF  F8! F`FO@PP FF C8 F-AFF !FFFxFO@P3CF:F1F(FF  FpFF !FhFO@P"F1F(FF  Fp-AFF !FFFxFO@PCF:F1F(FF  F-CFF !FFaFFO@P:F1F(FFKF:F1F(FF:F1F(F T F! 8FXFO@P FF = F8!F "FFO@P#F")FOpF  F8! FXFO@P~ FF  FFF !FFFO@Pf#F:F1F(FF  F8!F FFO@PI!F(F/F  F8-AFF !FFFFO@P*#:FCF1F(FF  FFF !FFpFO@P #F:F1F(FnF  F-AFF !FFtFFO@P:F1F(FCFF s F-AFF !FFRFFO@P#:FCF1F(FwF Q FpFF !3FhFO@P"F1F(FF 6 Fp-AFF !FFFFO@P#:FCF1F(FF  F-CF F !FFFرFO@Pn*F)F0FqFKFBF)F0FF'*F)F0F  F8!F F`FO@PF!F(FF  F8F  F8!F F`FO@P"!F(FF  F8-AFF !FFFFO@P#:F 1F(FCFF  FpFF !mFhFO@P"F1F(F F p FpFF !FSFpFO@P#F:F1F(FF U FpFF !9FhFO@P"F1F(FF < Fp-AFF !FFFxFO@PCF:F1F(F.F  FFF !FFxFO@Px#F:F1F(F @-AFF !FFFxFO@P[CF:F1F(F4F  FFF !FFFO@P={#F:F1F(F5F|  F-AFF !FFFFO@P#:FCF1F(FF  F-AFF !FFFFO@P#:FCF1F(FF  FK{Dhk@pGJJKzDh{DkJXhGk#c P KhF# ^kjD#c#b0|s$]M}D+h+h !Fd+h`WK{Dhh8VN)F^~DF`h h3haih F3h)FhFFGM!F}D+hh7+h`DL|D#hh`#hh#hh#h"`##`p`P,~n`\L\O|D D3(@`h5%h-@X! F `(QHxDVFxOI"yD(LI" FyD(IHxD@FpGI"yD(uDI" FyD(mAL`|D&hh+Ra&hi+Ka&hi+D0b&h3j+=pb&hsj+60`&h3h+/`&hhK$h0e#m! @cб"L|D h&h #hpeZmjkB cKJXX``h%hL|D`h`h#c`%#3c|#sc(Fb}i ) h@r h@n i@^ i@Z i@J i@F j@6 j@2F8i#i@F8ii@( ֿ¿pG0M}DF b kCc !P KhF# KXhG(ѣkCc 0(W@l(YL|Dch#`h#c`8M}D+h $h(+hmF(+hh@($` F8apGipG FFFCUBJ F(C8F)FyF(<)F(7)F8F(1CTBCSB#!HxDn CUB CB HxDr k0*ZԛHxD_0)FC HxDHxDp HxD"p HxD HxD`0 HxD` FFHFF F@l𵅰OF4DF (h+h+@hh+ol3F,"Ah0C1FG KhhXhG"Ah(𽘲pFip)FFC>( p(F)FF0F2( Fp pp FNF! F~D ph+C[B!FC Chh+K(FXhG0!FC phCBch+h*!FXh(-O FFFF)FYDF(a)F_(\ F*F1F~F(T)FPF^(FM oP## C F,)FC5(Feh+10n%hol+;+ؠh:K FY0hGhԐjcij0"jCXbo"FGU)FCc&Nk+)FC0n ChB3h;+9 CB3z CB"O0#kBci32Yj)Ŀ1Ybj0!3"Zb+FBF9F F(I)FC C#110F^-GFؐFFFFDF(=!F(8!FPF(F10F"F9FFP'K@FY0hG!FC  FFh!FCk+!FC 0n ChB!FC %K2FAFY0hG!FC 0F#F"AFZF(5F!FC(Fί$,FMFF}DF!F$(!F8F+( ! FIh3!FCs @h0lBۙlB1FKXhG0 -AF FC8!FFFFر!F((F"FAFFx!F0F( (FF0!FC0&JCB!FC 0+h!FC 50m C\B!FC F FChB!F(F@)F<(мCB)F0F7&0F-AFFC8FA= FF!F(F]F(@!Fd(;0F"F)FF!F@Fd(.CB!FC $h!FC 0m C\B!FC P-!FCch3!FC%CB1Fh!F0F%#0(F#FA=8CBi FO@P-AFFF*!FC OFF&#!F(!F(F(Fkll+odHchkhXhkihZ`#BF9FnG0F-AFFFFF(.!F@FF8(F(F /C CY6E C 0F( h;+C % CB CB1+C1+:F1Fh7((F\_S/:C!)ѿ_ йpGKJ0{DX#hebpI*F yDF(h(̿   e#hB^g0F_T?;D2*ѿ_C`i F@-GOFFFAFFFD#F(B.>/< FAFhI FB}0YjGi8 FFh`p FAFj0#`iZCXhhChB:F1F -CF F- -### CF(FF(m-#0_!skùn+Ou%!snrk+@#ȿ#Zn*Oe%Ou@Oerk En E rn**CC7EEE@Ee@O&JF! Fd3F"! F^`. FS0F+F2F! FNcoC0cg+F:F! FC F-A#hFFF(F6h+#!F(F-(F%%ci`3iL_0'F#kBciYL_S/:C!)ѿ_ ciC5S/:C!)ѿ_ #a jL_S/:C!)ѿ_ ##bKpFJ F{DFXhG, hCB )F0FCXBXAp p FpFOKDXhGlhfhrh0#~+ KoXgi'ihh h3hjGqhh hhGh(F@ `l-CFF F"AFhF(M!:F F/_\3S/2C!)ѿ_h@!jiB#I"jcjyDC29F"jcjBF#j3#bh#pd I(,F8Fh$i_LS/:C!)ѿ_ F -OFhFFOKD FXhGF&j|M}D+hKK!JXzDhv#+`$M}D+hKK!JXzDhf#+`0+L F(OXFha(F8ZFp0#k`[h[o`#a#U/E1)ѿ_o+ԠkhXh(!F+~HFC+v+~jB+v%K FXhGhF(@h[1#0+pHhQF0cbh F0C@0bj0 ij0#aihZCXQFAhfFiQFh7sS/C)ѿ_ CB#i F7ѱ)~ FOF FFh_U?3E1)ѿ_QFU` FJQF Fd(Fol+9;+6iK FXhGb/FO FFh*XFZPFc](FHF!FJSЊh0jOG C_B PAU=-%%%&7F F0jG0+0 + A F 8EѱE0 F[00[0 0jG(p`-S0 S00+0+-CFNFFF ~DF@ (# IF@F (F(+l+;+ K(hXhGCB C *<4 tp* nF# FfF: fIn)!f#ni{)F F Fiw1F F(Fp pF FF FFб!F((F"F1FFp!F8F((FeX!FC F(FF#F")F0F -C FF#FF)FGF )FM( F*FIFlF()F@FL(2F9F F*(ҀCB)CBCB@0m)FC } C\B Bh+@`CB CB)FC [# 0ng)FC M+@#oi1 CBCB#iԘL_S/:C!)ѿ_ #a% CB CBol+0n!F(FH)FC#C F@C`B0#0! "kB*bi"3PbCBCB0n )FC )FC #+ `)FC#8 FF! FбhñCYBCZB фhDhhIF F8@!FC 8-OF FFFx9FDF(9F$(@!F:FPFBF(:FC (Fq(@@F9F(F@AS;+ cnkhK FY0hG|FsxCB;CBȀCWBC(BuCVBtOCXB𖀶B_ECBs CBCB5CBLNCB@,0yCBȀCBS CBHCB@0bCBCBuCB CBCBCBC=BŀCB@怬020/0hh0++0000hShB0++00h+@0+`h+@0h+@0h+@0h+@00n0h0h9F F(с0n9FCv0h0i9F F(j0n0[i0n0i0n0j0n0[j0n0j0n0j0n0iv9FCYBEK)F FY0hG(j0!bi#[j+`#19FC #1F9FCO@FpGpG$pG$pG$ _R9B(ѿ_FpGJIzDRXFhGThh3#0pG-OFؔFFOqOR F@DlF()FCs/C C CC C\C`` ]CCO1 C!fq ""f"c QA#+ѿ_l  FF Fpr" o@ :*ػ JY hG `("fJ!hY hGF)FC % hM()FC/+CC\ VBCWB` C8BЀCVBeпCXB𣀱B_gжCB! CBCB ЧCB&CBVBQ9)CV BQ 9)CBl@΀V BQ 9)uCBlI@v/gV_)FC ag/XV_\V XEX\FC]BC^B> )@V XE<\*C_B&0\V)$V) F#XV BQ9)! )FC)F F !!6)?&`bF(fF)FC/P/dK"FY0#GF(^)FC )F FVXF/iC\ BUъBU)FC ##c)F FFP)F F8)FC0F/O#00n F%f Fo=K&```Y0 hGӹ#/KY0hG B0++0|00FaH)FCJ)F F #cb0n0&F"kB~`i3OyD`iDA``iP`iDQbʔ\<p-G FࠀFFF DF _ ( AF FF( (F( + +l+&K0FZ0hGF+l+;+ K(hZ0hGn C (K:F1F(hZ0hG"F C )F;F &F(AF-FH(f(F 4 C Fޏ4-C FFFFFF 9)F"(*F9F F4F()F@F!(Fn#)FC AF(F3FF(9FFH0f)F0F)FCO F-O FFFF)FDF)F(.*FIF FF8)F8F(!+ ;l+2K0FX0hGF;l+;+,K8hX0hGl0)FC  @%K0FX0hG)FC 0F()FCKRF1F8hX0h#G(#"H9F(FSFMF(MF(IF0FOFH)F4f0FV)FC FHT$@!h6` ]F!h'j0#aihZCX!a!#hFYsFChhñh%!FFC ;#FF0F`h#c`a#hh !FFC{(#FF0Fz h##`a#j3D `MaihU FN pF F@hCBCBh@hA `pG!C8 `pGFpGHF($! F(|C%`O@Sa`E`` `aaaS/CQ)ѿ_"FaihFSaih)iHF-@khhy)FFCkhhZh hC(#FF8Fhh#k`+h۱hY)FFC+hhZh hC(#FF8F(h(F"Faih!F% F J!F(FzD( FpF FF(.YF(F Fpۺ FHJ!FzD F@ G pGFj!j! k! `k!#bb#cccFbb cj`c#j#k F  F FFFF(O.OJ%Ah)ik>.< 'O4h%C_,kHCO$jCOрj C_8mC@_ @kX$A)i@+ "!""""!"-AF FFFO=/-H$Ah)i=-( h(k (j(Єj4m(Dk F)F?(ЇB)F Fh@F"!"@@-AFFFF$1FjDE#F X1FCCG$04j8FFsFFhF j)F(jB@@)Fjp"_@P"W@@"!N@P"F@@P-CFFFF$PD&Ah)i;F9 &(Ffx`!1F(F8>k1F(Fj1F(FVȹj (FP`1F(FX~k0F*FFF0F2F F"!"@@"@P"@@"!~@P"v@@PF FF(2c+/ .h(Fk (Fjm(FEk(F9F B ,0F(F= 9F(F+ FFNF%"!0F(F/ h9F(ІB h9F h(F"""!"-A#F FF *C81Fh(hB03SAE*Fh@E ЈB23QhS ,B1F h#hy]-AFF $.iFhgoFF ,cjAF kZHhhB AF k9F(hF -AFF "iFh8nFF,cj9F k,Ph+ChE 9F kU1F(hPF  pG-C#FFzF 5k((nF%  iF k FCF"8F k)iX#1F kIF k1F k%(F-C#FF4F 5j(r(nF%  iFj FCF"8FRj)i9X#1FjIFj1Fj%(FFFF)FhB>9F;()F F)F F F @  #Fȱ@k`k1FRFm(F1F`k|9FF`k8 FF )FCe F8DjCZ$ FCjCN  8FF )FC? F8Fn+C !F0 FsCk+C!F! 8 FgF )FC  F8F^i+C !F  FF(FF F FFF""!0F"1F8F i$SFB "1F(F(i$EFF FpFF!"F")F0Fi/B ")F F ip@"p#`#aCaaaC8CbCbCbCc#dpGi@ 8Fi Fi 8 F8Fii F@p FhCFKB{DCp#B @hXJ!FXhG#c`@h! j -O3cb F F(FO&j F#b.0F/0FO FF(Fp8,! F H!`a FaPO3cbFa8iZ FX(F8 F8FF-m)F FPhBChB)F F0 -OFFFF8)F@hF(CB CB-CBCByCBVCp#BGCBm#)FC jCF"F9FKIF*F8FwF(]ЃkIF*F8FkF(QЃk IF*F8F_F(EЃkъhCB7C 6#F2FPFP/,CF:F9F /#F2F9F F``F@F F)FCK0FC )FD -O` FFFFAF X, F(!FH"ii! FZlkCO, O O _B_A:PF O3!`&# j iF"F[j ` F(bXC8`(FHmF!F(Fm FpFFFF^ p)F0F(ЂhBO)FC Da!FJ pCi+ -CFlFFF9N+ ~D;+6KXhG4K(FXhG02KIF(FXhG09FC L)F@F(C*FIF@Fp(9FClC8CS,BЂB38F(9FCUKFE`*FXhG b8! F9FC#i#a(F KXhGbi F }$-AFFFC%CC8S BЈB РB S\ C 3(F( C@+FBF1F8F@_F ! Fx (F FF" \FD,D K F{D` F8FD (F((F!D 8 8#`FS`#`a"h#ahF(#hF#bh`!kiChi3hG(O@Tx>#hF##C F 0-CFFFF C(?ЩBUi1=-2 K{D]]%kCEO`m9Fh"FGCFX)F:FhGiC8cCib(  C C CO@PO0C :usF F !?FCB h`!h Fik:3)FnG 9psF F !FfCB h`!h Fik3)F[hG psF FF\ FE(h$i, Fk[m(FG, k R0(FGp pG7KJ*{DO5N`$4M5OY)ah2NYb1NYVb1NYb0NYb0NYc]Y/NUcY.Md.OY`.OYf-OYWd-OYcYc]Ya*M]Yf*J*MXb`*JX )J]YX(JX(NYFa'NYe'JFedXed "J@XBg!JX JXP JX0 lP\` ,<H4|( tLp pG:`!KJ{DjXXBXApGOpFH!xD F0"!F0FFP0[ "!F0FF Fb F%^%F(Fp[rF! HxD``|chc! F 0C0H!xD`fh[! F(0C0 F( H!xD`0 F|0  rqqFh##``h#c`h#`h#`$! 백"SC.C_C`C8`#`aabChFB BhCBiXCc`ci+L#a_S/:C!)ѿ_hCB i/ j F@FFFFF0(CBCBQ$"hC8BKF(u a FrC`<(FB $"hC8B-(F;Ch)FC TdF(L(F@_C)FV tF(70FC b`C`$3)FC-'`9F FPhCB i_S/:C!)ѿ_rhCB i jN Fd)FC p FFFF p"F1F(FF(h  F p FFFFy(G F1FF(?C (F(F6CBCB!CB%h hCBCBch j!CC(FF``(` hCBѣh+`C&0F FFFFF$ F2F9F|FhCB1FC ChBХCS2;+1FC v CBici+ ie` -A FFFg(ƀ(FAF<F(hCBCB@@hj(!%CC(FFh`CB C4@V C_X?3H2*ѿ_ hCB(CBFz?(is/z Ozr#0F9FLF F"#(i`C*(i]{? %J#BB #J#0F9FLvFO1!(j(Ck`CC _X?;H2*ѿ_shCB(i(j(F FC   ?B@BFF !FFpFO@Ps#F:F1F(FF FpFF !FhFO@PY"F1F(FHF FpFF !FFxFO@P> #1F(F#:F-AFF !FFFxFO@P CF:F1F(F(F FFF !FFpFO@P#F:F1F(F`F Fp F*Fp@!FC p-AFF !FFWFxFO@PCF:F1F(FF X F-AFF !FF7FxFO@PCF:F1F(FF 8 FWuyz)(0,((!F %ZFaF `8#`#be``aeb F0F F#bAaapGFh`pGFHh+im a i Fhch h3c`@Fhch;c`3h+ F@ h@-OFhGiFj hs hj FF@FnYFPFG0F%(FOFhK#`ch F@ h@BHbpUBhD;DB i<D,@4D^iB[lD; pFp FTD?BlќB# \`lLl`$dLd FTL?B mќB ;4Amm9Aee\`l m`$ edj$ D+ih% B(FiKdZhd\`l`Cmm3CeKiDeo+o+ #KeLdj eb m`Kp&{DhK{DhFhDDB CllZ`lBl`dFdD-hK"{DZ`hp@ ngmK{Dh@mpGpGBi@*F$I#!a@Bтm% B###b F*b0# BaAi00000000#iaai000Ci D000Aii D#a* ڣo+1o+ !ggo+'Уo+!ggCiDCa#iD#acica0D Ci0ci0Bi og ogz Fw o8FM}D(hkh F?+ KD{DZhcdY`khd`3k`K{Dh8@н~lHfJlFh%hDDBcl FlZ`lbl`ded&h FhZ`hh```D6h8%Fh%0$ 3B h i5 h8@-CFF FBFFJF1FmIBF!FmDh FhZ`hh```m0F(F8L|D hPbh-F K:b`{DhhDXhH``!Y``K{Dh9(F8Nkek-CeM$}D(`cL|Dkh+PchDDdb`d`kh3k`O5oF(@`(h+@ 0F( !Fh+\! fF(cF `0 F0Fj3hHhc`#$0sh%P`=(CBO HFF`HF aH8F#@F`#a'"caaa#bBhA2hDI`!iA22!i D[`h}Fxhf id h F^0FZK0F{D`To&%F oO4K{Dha(Fjditi-OF 4(j* {Dh)?1!?@-)F IIJ$@*8@"yFѺ_ غ_@_к?ѵ_@F(ȁx"!##z#b*D{B@ #FF0FM##cb}DahcJhzD`h`` `+ibiD+aki3kaM Frh_C@%0B0h J%S;O E2h R BBhB Bh*:F)FuF2i R BBhB BhZ:F)FaF(bi!Fmr>   0h9 mˀD  9 9OIOI F( x"!(#FJFIFhY(#F#beY i`ah`!i{BJ:D@ ci[F(x"!?+O I?+vMFFx"!m FX ai"i D "j  h`J`ZBYF XF Q` `"  -B(F>YFX-BТm(Fe"i*a"j`*bh``h `JF!Fwh'h(FQ`hh```:FYF FC )Fm F<D  ; F4m!F0h)V#a#c c3m33ejbiDjbBb0h#i! F#`#j+##biN@H"SC (ѿ_S/C)ѿ_``\"SC (`"_SC (h_$ F @ihtb-GF F@+ 8@#FFx"!szDqB2D#F @@F F F3 ca'2NO 'c~Dma8F6 mhh9!h! F@mFF#mh F&#h+F F@YDFm\h F#h+F F@EDmKh[i i[i@iBDBDpGFpG-AFFFO03/1еmsihh DBF Obhi~F(CiFriDsahhl`!h FF F)a#h#F FD8` o-GFFFF(MF(Bx"!V%##b Fga%cX<3F:FIF F F %#iH@S/CQ)\_S/CQ)`_S/C)ѿ_h F OF aF(+ОBF(x"9F#!#b(F!c*F@A(F(F#"ceca\SC (@'_S/Cq)ѿ_ Fm}F0m F"i F2D"a@h+`S/CQ) F_ j+рmpGO0pG FhFoh0l0F FhhF)FhFDFhF(F08F FIU!F(F7F(FP F88F FE FhhCB#F` F F8@18pF&'(FFLh9`!F(FF(Fp@pFP(1 F@? LRB@BLbB( oopFF OqFh#a(#1(0(F Fp-AOqF Fp#`khC`ia a0FLF2FAF&q1((1hh)F F> F(8FuH98FK{DhhL|D#hXhw#h"Z`hK{DhXhjL|D h##`0F m#h`0F hWbVVV>V0V8L|D#hk F"hh;`۹Ph6#hhk h h0<#hhL|D hL##`(F8@l8UU@h@hȺK_{D3S0C*ѿ_pGrUK_{D3S0C*ѿ_pGNUK{Dhhe.UK{DhhnUK{DhhnUKF{DhTK{Dh1T7Fh_@S/2C!)*_hh+)j J(F K)Fji!(ѣii b `c`0FAhi[ihYh`bFh_@S/:C!)ѿ_ ##b#`Fj F@F@j h#`8FEmx0]r Fp(F8@-Fj hh Fi`#cbciac`@d8OcCaF@"OQa#aI % ii``ebc`8 FI Fv(F8o8pOqF F(Fȹ,p#e#0Ffe#`x (Ft(F{ F$ Fp8Fh+!%x0a ,nDf`n%g#cfnl#f#e#fcg8Fh(јnfpGpGh+efpGFHh+Cn`f`nh+epGmpG8F F9 h+n%f88Fh#*+%,4(F(F F F8@8Fh+ F F@-A#mF FdnCff##m#`5#F!n`mGm 0F-и@F ,n#f# F#gA.8F0FhhFj,0`khF`o#m08`o0 ###`)F F0 FO8@8 F@oPiF( F F*p@"iFCi 1DB8FIFFȱah&h+F# FCpC F#)Fh F` hppx0g8F%F!FP)F F"8@h-OFFFFFU8F&F\h )(6 F(F $F8F-KFXk+eѢhO #iPFTYF"ih2#JDA1 _Q0 P@ O?@HOO E3"ih#hBDo"iDkhBDhg"i#hh2D^#i0DhFD#&3 +&i0D a@5oʚ;"D𵍰(NF(K~DX+h &K{D h3SsEF"F! J# KzDXF(I8FyDFJOQ zDkF( F@7 F FK"{D`0Fo +hBнP X!D0+ WJ K J{D LX|DF#h+##` 0tJK{DhpGFJ0PK,{D M[Yc"bccZc0N DJt K? J{DX FkC 0KJ{DXF0-GFhoFvi*j+ja+b(hjki+ BB&<.8&F8 B0#hbhZ` `i( "ihj#iBoo(k.!kc`cch`hhLF(k 0FFhBchBCh&h'B#hbhZ` `g`h'` F4F6h"i-]KJ-O{DO6FOzXF%Ph"P)h#0 0Ch+ ++(!(ր'#W/G1)ѿ_-OPFci W?GR*ѿ_afaO:"0+yOW!:F(FD:F)F`i2 *:F!XFC}0jZFAF(FGh#"SC (ѿ_faa*FYF`i(@#"SC (2'#W/G1)(F_faBFaAFj@FG8W?G*ѿ_ FOz% #W/G1)ѿ_faa0ci+#'#W/G1)ѿ_M(F F("faaFjFG@#W/G1)ѿ_Oz% FdchRF!( #"SC (ѿ_ "9Fh(bh2*FC-FjGCF F9(F )hBн+-OFFF(@`K{Dh+@@! F( c(𛀩FF84ccE$! F8F\ AF `@8FR0FBO5sk  w`2`cV`a#b$cbbO3caabA `(O <(FF"!V3Bb!0h(+FE&#D@V/F1)"K_!I"FHF{DyDcX#0V/F1)ѿ_ch+!sh i ho8F ko FO5Fo(FEE>QOD&`jc`bch`(h9<` oCFK{Dhkhӱ/F&W bh#hZ` `f`'`+jc`,bch`(h(F0Fo"C"!F FBb!@L|D( ! O30L|D`o(!`ozO3cgBB-GFF#&A:5FBOCz @FjڽPh +VE68F F%D&O0FKFJ-G{DFFX;hxh3 @L"F|D oV(`gg(`$$b03^!6N"F(~DBj"x쨻-JkF$zDhQh zp 0  0 "@0 iF0PFi(00$:}N!~DpoHpoO3sg+` F;hBнzAAt;(A(@# O4 F8n")LO3!|Dx#gcgz4n0#J#$@L|D o(۽2O3#g?K!Jp{D0FXn"#h%F4J#0 zD!52S BA x" p!FZn"1F F! Fv F+hBнp90ChFmF"i# 0 0O2!(F('۽0hFChhh( (hah0O`0+ `0pM}D.hV! tFO0$ a`A a0 鈹K"FI F{DyD20`h|hz,`p it Fop?877M}D,ẖ#A="h! h`hRhP iL F#+`0@?rHxDpG/8 h`KhC`h`h`pGKJ0{D FFX#e#(F$f CXBXA F 0KJsF{D%FxX#$#0@4\PC]00k@.!0F opKBKB h`0S`pG 8 F KB hh8@ KB hinhohh(F8@8  K0 L{DYhFE#E0 K J{DXhF###]KO2 {D`pG68\" FFL1L0S BB S BB qS BB rqS BB rqS BB rqS BB 11111185K)-pCF3JF{D(X##O dCd1C1j+1C1Cjp+P 0KBK h{D`pGh1#1hٸ f3 h`1S`pG0L M|DdYhFEE0x1pGKJp{D$FFX# #h hF O3 Fk`. !0F p8 K J{DX##ChhFC( o] hњiiFGpG KJ{DX##hhiCiiihF ] .0 O4 KhF J{DX##} F0F K L{DY$hFg+hgd +` F  K J0{D$ FXhF##V+` F0  K J{DXhF###2] ~ƹ K J${DX 0rHh#h4 F< F]H#hF2%K7!%J{DX"F  Fpa0)F F8HFh(FF8:찱(F8 i F O00 KJ{DX F jhf8TPi@F -CF.LFF,K|DX##EmF%Hb(F[07$KX 0FZ ! F0i\!F FiW8(1F8F H+ F H $ F11 8FKJ{DX i `xhB F ?(F%Fi-(8 8@d( K JpF{DXh F` Fp@N a`@@a@A`A@pGPh`', r@T(R(r ""@'+, r@T(R(r ""+p RPp  pG`*-İr@a Tck{FaTHPjvteLrAt@dATck{FaTH\`MjtemJDAt@dATck{FaTHmjv`k{tecJDAt@dATck{FaTHk{v`k {tecJDAt@dATc k"{FaTHk {v`tE k{Fav`fATc$k&{FaTH k{vteN~x|hazVCZD(K*[LAVhXt@vP dAR@TcT`,k.{FaTHteJAt@dATcF0k2{THtJrAt@dATc4k6{FaTHteHrAt@dATcF8k:{THt@rAt@dATc{FaTHteBrAt@dATcF@kB{THtDrAt@dATHaHԁTHteFrAt@dATcFaTHVtENr!b!PJR+;+;B!mJ,r+;B!@,r+;K[B!K [,r +";B! K[,r$+&;B!(K*[DAlr!b!,K.[DAb!0K2[DAb!4K6[ڡ8K:[b!Db<+>;B@+B;nBҡljhafp@ DpGpF-iFF+B&`@++B&@+F1*1bb!ȅM*,1 R  HpiF(F D , 00 RC  HpiF(F    00 `ߪ ppMK){DLJLJXN`Wc `!a1b sjkEX8eEXhﶁ@W[yEX7eyEXgq[[iEX6eEXia[dQb 2l!Bm1a`GjkDHDHi1@Gh﹁KDHDHiﺑKgqKDHDHiﺑKfa87u6e@߇{kpG@`A0   pGa@pG` A0  pG` A0  pG @pG`(bAc2UAAWA[0a410A  0  pG 0 aG0;A4aA3a`!a1@(pGb`(oc)вoвNn3^8DAA4E1AG7AAA1 A1AA0A1A!2ADA14EAKE!Fa2k a0A 0  0  0 pGba'on[K -вoв~:DC5020%45B04a9>DCC!5P00$4Tb1A"DCA12 0044$AaDC2005P45A04a`AcQ@HpGb`.o1EB1B!0вo вA+KA7K+A'K; AG+ ;a0A 0  0  0 pG0^lF kFPba0 B,b(2H,db(2(b Dbom'вo в"@+2+!@;3;@@2+@+ @;3@+2a!`1@( 0`o1%0A' A+a0  pGo a'0220a!`1@(pG0` FmFMhFHmD     00aFlFM    hF dE0pb`o FAвoвp1 F F1F)F0F(F1 Fp@bpoFlFaMвoвhF (F)F(F)F FdFp-CF(PFFF + +J + +/н+W+kн+ +++𡀽C+𜀽*F4D*FIF F4D*FAF F*F9FC*F4D*FIF F4D*FAF F*F9FC*F4D*FIF F4D*FAF F*F9FC*F4D*FIF F4D*FAF F*F9FC*F4D*FIF F4D*FAF F*F9FC*F4D*FIF F4D*FAF F*F9FC*F4Dx*FIF F4Dr*FAF Fm*F9FCf*F F4D*FIF F4D*FAF F*F9FC*F4D*FIF F4D*FAF F*F9FC-CF(PFFF +w + +0 +н+@+Tн+ ++w+C+*F4D*FIF F4D*FAF F*F9FCԻ*F4D*FIF F4D*FAF F*F9FC*F4D*FIF F4D *FAF F*F9FC*F4D*FIF F4D*FAF F*F9FC*F4DC*FIF F4D=*FAF F8*F9FC1*F4D*FIF F4D*FAF F*F9FC*F F4D*FIF F4D*FAF F*F9FC½*F4D *FIF F4D*FAF F*F9FC-O&- 8qM c<1;۲ p4,BF[FDK    +'P XF,4+"A"A2A2:A: P0 +P@р!F!FXF !F,!F4 p j'LF F F T( R _ { )F F k'L 0   T( R U )F F i'LK0  . T(0 R /  F)F h'L, 0  6 T(8 R   P X4 0  0!PFP!XFL!HFH!@F, !F>!FXF:!F,6!F ,!/!XF+!,'!4#Q ,+>]F p O e!F(Fi EhI d! DHR>!FHFMAF(FI  5    +2R+F p ]F>!FHF,QF(F(!F(F$dj!  DDEiJe  IEL+T9C F" F P  :  PFF IF@F)F F4,[FML PFIF@F)F F 4,[FMLLDLP XF,4; "  2 : 4,[FMD&=-`@ 0@R(P6QHR`5j4TF !Yh>j)PR)= Xˆ*!T@)x! A<*BIR(r*jﺱh︡A,Hf!n1uhe﵁bmqVilQy(K)`RiP(RR)}Vh`Z)`qvX,bR(r BgC`!f1B(p F#nF3d +EFm  a1 +1` C 7!" C'CCaCB ( `! a1  D' !C080C7@pp F$kF4e ,DF  @+; `cߊb!k{(afk{.qfai﹁o￑`K[bj`D #a!qj fd@lAdﴡeah︱iq`QD0bADj@cDPj`DJpD 4a DD DB, .$&(*` k"{j8+:;al`<+>;fb!4K6[g*a qk02f` dAjC bf!hd@!bqhai!dﴁ`ﰑeCC CC0Cj@*@pp F#nF3dO @+DE  @ m*!`A ba+ ;!@Oj# !CO* COJ0CO 3aO DC CB P+;!`A ba+;!DOJ!# CO `p0COj@O* pFFF*Fx*F9pr*F9Dp@h𵱰M F#oF}Dd3D`+F` C [CCߗCWvK XFo!n1eGmkmlk!j1fa{ie+gq;Cd3B0aDC3B x$+*;JK ia &+,;[ eq"(+.;>KDd $+*; ia &+,;[ eq"(+.; *;*K$+Cd0 ia &+,;[ eq"(+.;K $+*; &+,;[ "(+.;Cdiaeq@d1   4FFF*F*F9p*F9Dp@ F$kF4e @,DF  e 4DD DB0Nf 4DD DB=)D@a 4DD DB `m*`ﰑaq bﲁ`ca!+ ;`AcQ@a1Bj %@ BJ0B*@+;K[b `dﴁbﲑcq!+;ea`AcQBPa1Bj`%@, .BJpB*$+&; K"[b `dﴁbﲑcq!(+*;ea`AcQBa1Bj%@< >BJB*4+6;0K2[b `dﴁbﲑcq!8+:;ea`AcQCa1Cj0%@CJ@*AF,FF*F p*F9p *F9D@p@վh @C# `pGƇ-+ ;`FnrhN"FXFaHtA(.~ +;fAhĎdAN!|$FNd! !ze"!JTbp pGiJ-h @hF3bGc' bW"a 2@*A р 2+p++ ++Gi pHc*+4+ǩ+p5+++ pJʭ+) k{@ NB- M-mʭ!ȍPA QM 5.^!Q(XA*ZaM A ,\ P F0 F  F0 F F0 F F F0 ?p#nFe E e 3@+E m +;$7iK [I;C k{FMDMc;iDI;C@FMDMcɔ;é㉔ ;DCiJC 00HciHm (1 Cj))1@MC D-c B @ p#jFd 3@+D #3d @+A #lFb3 +B( mcW081b'aGc7@ 0e!d1 @p`jdJ 00x` d*pxpx@ p`J0x e*Id px)px@J E*D 0*pF F2*@`; *1*9@"!hFnF#b3 +Bm@+ @A!"AE`!@dd Ap* *+pG **,`7`'A1@!#"A@pG``!@pG**)pG ***`0`!a1!pG0 @pG-AEFu F8)F F  ,X ~F-#C`9F@F`8F 8F )F 0@F F%e F&`-AFhFFFӹM}D(F#h# HxD|BF9F0F `((FpO0 𵅰F!F(7H"DBFݢt"rOzsZC,nF  F+m+2F!F8F(n( Fѹ0o *# F+e$ O0?BpFh?C*?г/$!  (F|#m+)F0F#(F#e S/C(ѿ_ # ppFh? г?г(0 DB0FJ,m#+eO40FO4 Fp8Fh? ;8?г/8  (F&# #e(F8@#_C`8FhZ 0#h F@KX"{D0pG:ھDpF FFH#hFp-Ah"!(F8"NLFFHMK|D4DOXD#O@p#"F(F$@0"O`F7 +`)_K3KBjF!F/H"O`F!FjF!F &H!F"O`F ("HF @(Ѐ(H# -BJKB+Vk"O`FT|)( fKJ{DX#`#]hF K J{DX##@#~F K{Dj FZhK"{Dh`pGH$ K J{DXhF##c FK{DS pG08"!hF M* KhF}DX##FF8H,"xD` Fo0F0K1Jp{DX2h .JXF(C##$K%HxDC$HxDwFOHOarxDgHxDb(FJzDhQhHzIxDp,0"FyDWo F3hBйX p%pKJ0{DF$X##0 0hF1@l`@0KJ0{D$FX##00 @hF,c0L𵑰F"FhF!OD("!D>K FX###i0 ``.hF80c`ci0o0do@K {Di0+pG8F F( \ - K {DZh"`h`hc`8o8d! pG"!ɹpG pG-CFFFFDon "!(F"1F(F7(iIF(FZ[BD@lF(Q("hF*K(FX0##+6+C@:BCBhFC+ /#?#//;C/, Ք")F0F$#gg!(F ((F(FoF F1F F@-OFFFD(΀+ˀi L Bi!F&h(s#c"#0PFlPFF(@3D;D#i) r"gF("MJ'[       FL(gBPF1!4uF(X?#"QF F7FEOgg0xCD0#iCD#a00kicaB#g00kicaKEٱE  C0DDB B* 0D1D PFO o FXF9WK-OF{DF(Q"!B>izi 0LD)ku+ %e% EٳE  O FFQDpOBB2*F~F@@FoKDLO #JX   _E ٳEAF  0D(BQFB,*0D(o$@FPF F  FOFDo-iY[B D@siB"0+0F B"!hF| KhFX##0(0 @ta F KhF J{DX##2#`o*-C&GiFFkdQgg0DpFKhFX0###i0Os Fe0o(F Fm "#C o -GO O  FFF O O F 0;0J 9j**m($4$,siB؝B/DB0 DP8%FE`P8j++pG0Fl M}D KhFX##Os0 F0-O&tFFgFg!("hFFXQ FDKhF[0###iOc( Fop0ea F K J{DX##0hFOc F`#0𵉰@ M}D  H!D(Xg hFg( v K0 L{DYhFEE$ F 04$KhFJ{DX## FKJ{DFX ###h BhhFjh J`` # #a ca O0oF_S/:C!)ѿ_: h} F@w"O F8!!(o !;_#FFe(o "FFL!Ȼ!(o !(L pG( K{D\a( oo(K{D\ pG|8 pFر"O0FF ` F(F8#"SC (ѿ_! ht F8!Fhl h! F@U!Fh0! h FG o!Fh F@76;"O0F#FO1(o ! o !!!S(o !o L|D#h3IHyDxDj `K{Dh0  ^_ -AFMF}D+h$2+h!pDB /h8F 8Fx(нK{DhBpGHxD0[HxD0ٹ-GmlF OcF)F FT!F8FV06X`T(Ob FyD<(F OcF)F F6!F8F85X`6Ob FyD(FOcF)F F!F8F5X`Ob FyD(FOcF)F F!F8F5X`Ob FyD(FOcF)F F!F8F`5X`XOb FyD(FOcF)F F!F8F,5X`+;Ob FyD(FOcF)F F!F8F4X`Ob FyD(FhOcF)F F~!F8F4X`~OOb FyDd(FHOcF)F F^!F8F`4X`^|Ob FyDF(F*OcF)F F@!F8FBP4X`@HOb FyD((F OcF)F F"!F8F$4X`"Ob FyD (FOcF)F F!F8FKX`IOb FyD(FOcF)F F!F8FKX`IOb FyD(FOcF)F F!F8FKX`IOb FyD(FOcF)F F!F8FKX`IOb FyD(F~OcF)F F!F8FKX`IOb FyD~(FbOcF)F Fx!F8FzKX`zIOb FyDb(FFOcF)F F\!F8F^KX`^IOb FyDF(F*OcF)F F@!F8FBKX`BѣIOb FyD((F OcF)F F"!F8F$KX`"IObO FyD (FOcF)F F!F8FKX`7щIOb FyD(FOcF)F F!F8F~KX`}IOb FyD(FOcF)F F!F8FrKX`$0Bзx ms(Q.LXfH,. DpxjO$/@,lsYC-8 <\w[=(hT`uU;4T-O>NFFF~D(o#lj+;+7K hXhG@FF0C (FW|F(CL*KV)i9F!,h(F#%" (F 3F  t1F b&jV)F FCR0Fibi FJ!NF ,~DFF` F~(FK8FX#`:#``` F>PKB~C3B E~C3sBأS;B pCB|K|KBsB瀣SwKBڀ C3#Bր3pKBʀ#Bǀ#s1jKBأS;BأsB3bKB3B𤀣Fsz]KB~CiCB3Bo|cDBRKB3BsyNKB}5أB|أSBwأ3Bp#dDKBjBho:q DBad?KB[أsBV3BS;)9KBNSBJobD5KBK}C_cB:أcB53 ,KB0,KB5}CocB+$'KB%cC|C3B"KBcC|B KBC3B KB  pG pG pG pG pG pG pGBG24BA30XB30YU11NV21NV12XR12BA24AB24RX15YV24XB15XR15BGR8YV16RGB8AYUVYVYUVYUYYUYV(K{DS pG pGvpFF\i k0# ka/j(j.b(`kp@+pHk+pGFPhhh3`@Fhhh;`ch`h F@̸@Fhhjcjj3cb@߿8Fhjcjj;cbCj F(F8@8Fhh kj k3b@8Fhhkj;bkk FG#hbj!jXhp`k`k`k k k F` k(F8@q8@hpGHxDpGF F( ( V-OFF @!FFF(FKF c8PF`c8 kB F0FZXFF(0:F#QFFhhX(рFhh0`b F"a" ``aa ,bccM F#`k k F IFhhzC\F(O2hh`k k F@F-OFO @! F RF( c(Bgk/=ESB'ESBmESB@(F,F8hLF `_FXh h ! F(Fjk `k k F` ehCB(FF(h F `FXh FUFVFWF qh-i(FFYFXh ѫFUFVFWFFF" F`&aeaaa!b$bcc_ F@hpGhpGipG@ipGhpG `pG j`pG hjXh O0pGpFFFkh#iSCB k *F1Fj k pO0ppFFFHkcc kp@ϽpkpGFi j:ihhKC@h!j9 F@-CFF ,!FF(FرFb( F|(F F#a#``cbcaaa#b F8j@i@ pG pGjDi`k`k F kk# kaj F Fak^# ka] F@FjNS/:iѠjE BѠj> \pGpG#`F#CbF8FFF!FB8@ڿ-CF0 FCp8F0C^B^A0Z0QBQA"[i[ ``"abaaafb!bb\_S/:C!)ѿ_ pG-GFKFF@FJF{D XNB@F.h1FNFkhBSF*FHF@`XhI"FhyDG8\KJ𵅰${DFFM!FXh#FIF2FyD1h8F3h(h`CF8F F-O#F D(ҁj! bK {Dhhoh)i:"hFkhPC#hh*`hj`i`[i`#k&0"B`iAX)h0B6h0B\O F/FO0 Fr#kEC ciY+8Гh!FFrKiyiX0hci3DciY_LS/:C!)ѿ_ ciCci3D ciDO3$a  7h&0h0###kB0O 84KKXp FFhh8h( 8h0'wC IF+abi JX <  h hKFh!F@FRh 0h0h<0h>0@0hFOFJF (AF F(FJFdFT0ZF i+#o+pci;Dhhzci NI;DhyDci QciD ;b kaFK FX0hGFbh!h hUj0#aihZCX!A_#oi FbjʊpS/CQ)ѿ_ CB#i F CB F!F 7`i+#i FC0 Fy FS/C)ѿ_i_LS/:C!)ѿ_ Dhh8F Fkj+h hV(8p M}D.h ! F(`` `(hh6,`F` p Fpt K{Dhh!K{DhXhrL|D h##`8&pM}DF pKXhG( M}D.hph@kCc K{DhXhp"+hp`[h+<(JzDHAIhPXXBXApG pGT pGIK-AF9h{DGNh)~DhiF  y! RF(q8h` ``h9K! hX+FL``0h FXh0I"F`hyD1@p F ( h; F(h`h#KX+h+!@F((` N!~D0F"(`1F@F@+h+K"F9h{Dhh((hO3+`h`hh F> (FnLd%'FD]!Fj0d!FdjKJ{DX#FLKpFN{Dh~D+1-hi)FF,h#``h~#c`h&#` KX0hO3 F3`K)Fp@{Dhhp$|pG K7 M!F{Dh}Dh285+h!Fh^ 0TPIFhyD뼯-OFh %TF cPDB0!'h&F(𓁻h"`hC`;i`{i`#@F#cFccF` FO0 [ k F`a@ F(FR܀K$FY0FPnbh 0#iC#a#kB7  biVPci D\`ci Dci D`ci Dbci D^bO30 `8JL#(FBX6'0n! !F&#kBX6`i& Ffa(F`&#!F08Fb F( !F(F,0 ,`.0#.0OC")FCFFaF  pF #" ##,.p0 8ѭ,0.00")F[n+OC CFF&FL_S_=CR*ѿ_-0F7#%O "%c+F @F ` L_S/RC!)ѿ_0FL_S_=CR*ѿ_-}8F|9#k0 XC~`a8 FV_LS/:C!)ѿ_0F`L_S_=CR*ѿ_-N8FMI`'bD` $(FFl-OFoDn7K1h{Dh)hiFh FP#`F-Okj)F0Ffob&$O0 #kB7 !F hTbiʱ BDhYFFDF4JiiYihbiD#kaO3aW88h8h65x#0c`#` pGpGCpGCpGpG pG pG pG pG pG pG pGpGpG-OF]K)Fp{DhDhiPF@>hQF0FL QF0Fl0FD#!0(0F ݽ0յQF0FPv0F&+k0"BhiAXIE6&+cj!F8F2K![0#.I"F`byD1h`j\ji0#!"ch#hhv#HO OS!FdE  0 R!Z+J!D8hV0# 6T&ny pGBi:j0#KCX@ pG pGpG0 i` Bi` pGa icHih_ ܰ_̿  pGFpGFpG pG1 i3Hi0 pGFpGFpG pG-A$j FpH@MDiK@X0qih`:i0a0h0 F pGjk3B4F pGpGpGpGpGpG pG pG pG8FCo FB K{Dhhoh)i veg 8 KF{Dhhoh)i)Kj@{0 +j 3R#pGj ! 3R#pG pGH)*`aBaȿ`pG-AFF *! <F(#`` F` F`#'afaai3apGFhi;+a@h! F@j FXQI@hyD h\ `F]K]KpGs FDh1F FXB F1F Fp-AFOFh9F0FFT F@9F0FF(F!iF `@i`pGpFF !<FhFO@P"F1F(FF ? FppFF !#FhFO@P"F1F(FF & FpF F !FFxFO@P;F2F)F FF F FFeV@-OF F! 48<@JFM`K}DB`" 0FX;F KF"XK{D!F0FOn FIFNyDY1FshFB J!+FzD I"F#yDTL!8F@ tsF MF}DF0k KX KJh{DF0F pF`FH0 # 00FFFpCWB%CVB$ChB_CB `#B=F FhC]C^)Fh#` 08F8;(#F0(8P88%PX8pFXFp@` @pO0ppF8 F"!^+hO`#gkhfF( Frh HpO0pp8- F$ zgȿgJO@S0!(FO~SOB`D``aDaabBb b O08\_S/:C!)ѿ_ pGCo0lO0#k j!,(JOC# j3b#k;#cCo0lO0#k j!,(OOC# j3b#k;#c0jZzJ"JzZj]zZuFjueZjZ0zj6zvjzj0]zjvZvjZjXzz7zwzzz0-OFjFFj80FYFArYFFAm#i 3#3D FFFQFFF08T4JEzzz: zzz zBzz'z]zz!qB1F'z9`z zD$pB'z0Fx`z*z:"rBgz*F`z:#sBFB`ܕB##` F8F0$0jj48$<YCrDZCzDCCz*zzzz:zzzz**۲B2F"zz:+۞BF&zz:+ۣB#F#zz)یB F$D`` -OF-FFnFLo+ h@*OO!FBF+@Ҁzg#:gf#:gb zg0  3zzgzWzg @ 1'q6 !FPF* z z z zzؿ@1gzqzNJXGؿ`XgɊ[ԴV;F2F)F FM(PzȊ:z*z6*""!F{PF !F z;F2F)F F$ z  z z hSFJFAF FzoHB0Hih%n- z@Hwz E$M mM$3CE` 0 -OFHFhah)yРhACBACBѦivi6&&0FD2{OS1Fn](xТihtcoX 0hB: _\2R1B(ѿ_ao `1jiBXJ0jqjzDA0 0jqjJ`2j22bX0I(Fhh$i F #C;#hQ0 CC FjF!A C# XO0U+K"  C#OOCMD#&j5BciO O hS606 K"BE##CcijKD[h"BF#C;S1+ C!hCB OKC E#A-OHFco0@#chj6v&00B,p1F,F/߀ch+ѢhAK O O D0+)Ѣl@ABвo@CBl@B O O O O Fl@B O O O O O F#n ApnQBQA@A1 A"HIBJBBCC #l kAA ;[0J K PFYF)i@2 800hBP 0:FSF!F(F (@ $ILNdZRF3F9F +i#+aD=+i3F"F9F(F , 00[00, 3F"F9F(F(O0  \_S/:C!)ѿ_ μpGpFFO`CFZF2F)F Fp-O }H i 0+O@O1B33+0%FF0 ; 8oSlEzғlS80#4Bj$#i*b hA>PX {C0(cD0$BBқ  &DbE, rXBzhz`.A>065  E<'B 3FV,V 6n:F #7#K{D 3 K{Do SlB#lS10`4$" ZD y} !n b(F.F#yUi[ AC-TГihKB10F?"Z`h)h(F1F$#j ii&bohpm:hBY9jiB 9j{jC19j{j]`;j3;b\_S1C($#_ ihe4I (@"P9J$#j 9i2+fРn~F(\&5F &8"hiFh`'OS+R@_S/:C!)ѿ_(F& YhFh3*F B$"h (`0CA2 [0;CC# 0DB1`S`C!O0]oZ3PFi> XCO`CndFhO0oSl+F(F F(q F(lE5Ӻ?QF@F(O1=FF(F(Sѹ `c(FbC(F4a b(F6(9,(FaDD F0 FOAF(Fع&`c(FaD;b x(Fafcb8b(Ft(-A?xFFFHpp!`b(fOg``` 3F+i$# +a/F(`c(Fa,a8gH F+ F6(Fp(F+P FO0 FIFF(F F-CFOpF(r!Orhhns`hvFp"B ?CI0Oh;C#$O CHo6a`9#`;`&C#HC Fg?& 3gBѯk"O B@21 \hshx(k3C ?C#g FB@FJh F* ѐB"BB`Bњ`C`Bh``"hkihG h Fh ;` hkiR&Gch:;B#h6XQFc`h;``h-AFF !FFF#aFC``` Fa F5H(FA``pG-OF%3B&X5@ ı#F`chE#hS+siG  h FTF@5H@#`Fi F@hhBhKC/pG-OFF8@iP1` F.uh8E=1hFIYGF( {SFBF1FXF!8Fh F-OFF&0B20S6@'Fo#K(0 jZOH4C,C,<6bӱikbi#XF;F8#4 PT=@ R + :3 :K0H 8# {zYCFph_@SOI 80H PFp @  i4 BF4080+ F/h_@SO 9bKCA01`j Y@l01hC! @B#-O `FFxp{k38Fj*$%`AN4AeCqhsEpыhmKi+jЋih+fЃh~_bsY*B{m 8F$#qYc0i'h8w$#di hhB3+0 xhD"i," "i @sY"cChhPFp c8FJ0i  A) F7`O 0^F`!FgOJ>7T&TS)3S& Q"0 R&P"0 R&P$0@#FEB 0[B(+FB8,FT) F[`O*$P`bbAB`eO PFP&Nj`Xf4 `PpfUFS&b$TF$TF"R&D"R&$`MgEw%D!>FFFAB0K E(FB8&F+[BDcF'FhV-AFF FACvBACB!"FcxG FFGEqE(qFrE8rF+[BDsF!b )F>Y0`BACBнxA(DFB[B(+FB8*F#b"FAȾ-O D A$FDB1^[ 3*. lNOA.F''Y O6 7]7Dmf+,4 $#3  -;D1BB`gl-AO\O'0K>$ 3PE(FE8FH#P6tFeF!_QHO|OENdOCAt vNANabRTDVd($af@Pla,ajkﻡPR&*f]PKﺱR&}ﻡg 08F k` +`eD: 2 ch gj'o"PF@a@K#"3hF KFCY DBH#OА B@#sh [##BC B@#ch+Y0C"i2! [3i#C1;S0+BC @#S1+#DchOC O2OC# D000p/`A -AFoFF0FJh1ak oH F3 Q`"H# #hooӹ/iO`CnO0&B!0F70Z`#H'0obkkH1ZC#kB oD8DF3kH#3 ҹt +A# 9@!0pG8F%hd`i`^eaa8-AFF&Pű/khihm{+h0hFeeefa~(Fz70z1:_ Z!Z_ :cJ$Z0Jd j_ j!zz:JJ(%Ze&jf'zg1Zjz_<%z==z_ ZO j#Z_l$j `'zg%Ze&jf!ZjzzHz@z   R'z_ 'Zr H(j)j!Zezgj'&z'Zzjz_ / .z0z      : _̅ jzz!&j`z ' jz (!(!8z8zJ_& H_!_<00 00(;0p`PZD<$`0 ~ -zz 8p":l+ 0  4 >^:j=>^JJzj zZZX#jF$zj%zEÅjzz "028 K>  0  7 0_ r H_ !_ V70_1lZ!_<_̅p_z 0zgz zzzgz zzzgz  zzzgz zzzgz zzzgz zzzgz z zzgz z zzgz, z zzgz z zzgz zzzgz<000SM 8(p@ ҿ*    j!*:ZajJjbZR:jRzc%zDzC@zK Z#'Jd#zc!z$Z# S!zSz"ZZe$j&jf$:):h$J(zg$z'$Z% Zjj ::J zzZ040D0T0X0\0`05S*:#(À,3À88<#H 8#L #p0 t0p0/z zzZ '  @ z : : zJJjZZjHzzgj&:#:cJ$JdZ%Zez& : : z:JJj*ZZz %0 $ "         @ $R_/ //_/-0?S , OL.CSf2 ) .CS4 , .CSf6M00?S  , ZL.CSf2 ) .CS4 , .CSf6X00?S , eL.CSf2 ) .CS4 , .CSf6c0 0?S , pL.CSf2 ) .CS4 , .CSf6n0L/CSf: f&f/CS3; S; S+R^?p B?R7R56s0L/CSf: f&f/CS3; S; S+R^?p B?R7R56s0L/CSf: ]f&f/CS3; S; S+R^?p B?R7~R56s0L/CSf: [f&f/CS3; S; S+R\?p B?R7XR56s0}S< , -CSf>7 SI , -CSf>D ) /CS8) 3#3/CS9$ qSK , -CSf>F ) /CS8@ 3#3/CS9; ) /CS8 3#3/CS9 sSB , -CSf>= ) /CS87 3#3/CS92 ;;;+;;s0&;s0;s0 ;s0O-M8 ^ p0"0($ )03Sh UR  02  !UR" `"@B@A( R PT V Vf V p WxP` Y@G  0  !UR aUV` !UR Rp Q   p%Q8 ( D  R1 < RC PR%  @$ " ,$(, "0#(,0 0 0 ]OP 0 :R  ( ЍR R R* (ˠRR:R R RQ   dRRO-@-$MQ P `0+Sl 㚙 33P 3?CS~f0pLoCfCCL^C㙎C̾CC^?@ ?RK Rf" XR Rf.% ?R> Rf" oR Rf.% ?Rd Rf" BR Rf.% ?RC Rf" ZR Rf.x0%S@ 0604 8zz0CJzz{;48zz0CJzzG;48zz0CJzz;48zz0CJzz;40PV8:^zzGzzK^zzgzzGzހK^zzGzzgzހK^>zz'gzz?Q! < kL>CQf 9 >CQ < >CQf j0P f6f?CQ3 QZ0   8@0Q 0<0$ЍRf* R( R) R@@Q@T/pA/Q'Q%&r Rf* o R( R) R@@Q@T/pA/Q'Q%&r Rf* k R( R) R@@Q@T/pA/Q'Q%&r Rf* T R( R) R@@Q@T/pA/Q'lQ%&r R$ Rf& R$ Rf&% ?R+ R3+ R+ x R3+ R+% ?R+R$ Rf& R$ Rf& R3+ R+ R3+ R+ SP k 0R0C:犸d PP PEZz" @z;4z@'zz zߊ 0zz050 >?SS  -LCSf2 S  CSf> SQ\?pA\7J\ 56s04>?S1  LCSf2 yS  CSf> SQ\?pA\7)\ 56s04>?S   LCSf2 `S  CSf> SQP?pAP7P56s04060 0Kp0CSSq++?Qx < L>CQf2 9 >CQ4 < >CQf6 Q 00P0S?p@?P7P56s0?QU < L>CQf2 9 >CQ4 < >CQf6 Q 00P0S?p@?P7P56s0PCG?Q. < L>CQf2 19 >CQ4 < >CQf6 Q 00P0S?p@?P7cPb56s0?Q < eL>CQf2{ D9 >CQ4u < >CQf6p Q 00P0S?gp@?P7AP@56s0\LCSf: ffCS3; S; LCSf: ffCS3; S; LCSf:% ffCS3; S; L?CQf 9 ?CQ 333?CQ Q;S\L?CQf: 9 ?CQ8 333?CQ9 L?CQf: 9 ?CQ8 333?CQ9 `L?CQf: 9 ?CQ8 333?CQ9 'L?CQf: 9 ?CQ8 333?CQ9  CS4  CSf6  CS4  CSf6  CS4_  CSf6Z G CS8T 33CS9O < CS8m 33CS9h U CS8 33CS9 nQ < =CQf k+r X+r F+r `+r kq;;;;vP  aQ0y < =CQf>t f6f?CQ3;n QjQ0 < =CQf>{ mf6f?CQ3;i Qef6f?CQ3;I QEf6f?CQ3;e QVaQ0S < =CQf>N sQ02 < =CQf>- ;;;;s0/;s08;s0;s0>;s0;s0;s0O- M=0CSY(PY80: CR $Q$`hp@0& > 2&3^ < T3<CZ kjihgfed  0$Q$\RP < T3<CZ @?>=<;:9  0$Q$\0  ,Q,R^ 0EPEUSQ@`Tp Ѝ 01Q 01Q0T0 CR)('&%$#"0$Q$R P+ 01Q0 01Q/0CZ 񏐒0CZ I>?>=<;:9876(0 F (( IyD@1 IyD1IyDhF*FiF(F0DDDFX FGF)F8F2F0:F!(FFx(FF `0)FDdF0(F FG8F F8FChdA Fhj* F}O08KI! F{Dwo8QF00h F@G-CFF FF F0-FU0 && 1F"h(FFc F0FF(FCF:FMF`` F(F-AFFFF lFc)Fh2F@0;;F+F`` F(FhV( o -AFEh(FF ddoH.A#h08Fk`!dFd(Ѹ*#h8Fk`!dFd(Ѹ"FkRD8Fn`!dGFd(& FAp FDhmBda0F#fB2knR# 3 DfpChdChdChdChdD0pD(FFFB(F(F"FF0F Fp[(op\_behknqtwz}  "%(+.147:=@CFILORUX[^adgjHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpG~HxDpG~HxDpG}HxDpG}HxDpG|HxDpG|HxDpG{HxDpG{HxDpGzHxDpGzHxDpGyHxDpGyHxDpGxHxDpGxHxDpGwHxDpGwHxDpGvHxDpGvHxDpGuHxDpGuHxDpGtHxDpGtHxDpGsHxDpGsHxDpGrHxDpGrHxDpGqHxDpGqHxDpGpHxDpGpHxDpGoHxDpGoHxDpGnHxDpGnHxDpGmHxDpGmHxDpGlHxDpGlHxDpGkHxDpGkHxDpGjHxDpGjHxDpGiHxDpGiHxDpGhHxDpGhHxDpGgHxDpGgHxDpGfHxDpGfHxDpGeHxDpGeHxDpGdHxDpGdHxDpGcHxDpGcHxDpGbHxDpGbHxDpGaHxDpGaHxDpG`HxDpG`HxDpG_HxDpG_HxDpG^HxDpG^HxDpG]HxDpG]HxDpGENNNNNNNN;NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNyMyMN %a&l&NNNNNM+M%MoiNiNiNiNiNiNiNYcNcNcNL8FhhIFHhahh e`[`88pFN F~Dh2Fh`hD (ۣhhBD `p F(#`apLiCiiDDpGipGih `H 4 D FhFFAhFB(4"FX"UisH -iK")F8F{DO3 FL-AF%FFF!`!eaa%a``\``gc3F(&ceb%babBS+j Db AbpG-OOjDFFFO F'%BیB  57kS OE>shBh6h( к j EډE ڠDEи и 7LF5OO47GkE۸=AjD,q``-AFFh!FF3FjF1F(F0;hjj !Ff```! #apG-BFFFgI/ #ici33 #acai+Y8FhDF"h`hpDO3(ۣhhBD` F(!hhB F"h`hO3pD(I/D` #`a1F Fx0 BpG9K-CFFFi3ai+V@FhDF"hhgh 8DO3(ۣhhBD` F ( hhB Fh"hghO3 8D(ID` #`a1F F0 CpGSJ-CFFF~i+V@FhDF"hhgh 8DO3$(ۣhhBD` F( hhB Fh"hghO3 8D@(ID` #`a1F F0 CpGyI-CFFF ici3cai+V@Fh0DF"hhgh 8DO3(ۣhhBD` FA( hhB F6h"hghO3 8D(ID` #`a1F F)0 CpGH-CFFF ii3ai+V@FhDF"hhgh 8DO3@(ۣhhBD` F( hhB Fh"hghO3 8D\(ID` #`a1F F0 CpGG-CFFF i+i+V@FhODF"hhgh 8DO3(ۣhhBD` F`( hhB FUh"hghO3 8D(ID` #`a1F FH0 CpGF8( HxDpGHxDpGHxDpGHxDpGHxDpG F"F$F*FF)-AFFFF)h#`` +h)F`G(O,`(F#`$+` F!1IqF;FBFFd!F(FG(ǿ4`&F5`.F̿$h-h5`4`#`h ``pGh F`pGh h`pG#3hFpGF #h`FFpGh#BFpG) pG7 FF@+FF F0pF h0F FG#cbp#E```hhDi3D``2abiBcap8FF A`OSC`)F`h #` ` `88FhرhAhhh;[`hAhh[`hhi[ahi;ah[hG(F-%`8pFEhh)F F2F0 ppG-AhFF%\j i2ah j;iB#Kb0 B !+D0 FhiDa:F< FphB؟B8FYF(0`3h``hiDa IF(0``hiDa:F!hhhpGpFFF!("&`e`p`!Os"C`#`Os`#a#Ca#aabBbbbcCcccdCdddeCeee9)<  "$&(*,.02468B`*`(`&a$Ba"a abBbbbcBcccd Bd ddeBeee pG pGC#+  pG0 pGC`ù#9d) OrbB`#cCccc#e#deCepGx, ))]K]K ]KpG8F% #F!`!e``` a` 8 +-A$@O4D4\!` +O&NL!p i $%Y$CQ +iF#O3@P!3@@-AFhFF+ FAhh3D'Chh3BOAhyFh!iD%a ch!"i F3B#3Fhahch3c`h3D ;`  F!0  F!0  F !0 @hpGhpGChhpG@hpGipGB h; , ,( 2F)FPF[F(, SF2F)FXF(3FZF)Fp(CF2F)F( Fda`h%`lq( hh XBXApGC+ (( hh(8(  pG pG pG FX!FF F E`%`1F`80Ga(4C_B# F`𵉰F0FFIyD, d# I0FyD e#` khhFH K:FL!hh{D hh F 8:Fhd+e+3I FyDIyDIyD Fn:-AFO$mFDDDk FL1O ,(F AFW$+ݕ0F4 , - )h pG-O̱FFpIOk0FDyD &L[(8Fc@Fx80&  (  ! FCF+/ؕ h%F`hP.F ӺIK{DHK{DHK{DGK{DY!FK{D CKY!`h{D! F|00 K F>JXzDF(j+8K F8JXzDF}(?z4J1F FzDt(p1J1F FzDk(?h-K F-JXzDF_(?\)K F)JXzDFS(?P40[lc#K F#JXzDFC0  33P-3 3h'3$3 334222f2T22H|2o2%+Chhp%+!+уi+"+уi+ pGj-OFhF&'hB?#%+=!+jOO h$ KjB pI G h0&+0(F, ahG+nF,G ghh0F9FO0FpF FBD*#Z@*?!;+: 99#jjXBXApiiB+++&jjB!hhQhXhбhhhh`hFhhB Ѳ,,@ p p p8 F!F0E`F 8K-O {D$Eh4#! #Fhб)F0FN)FIxkhhhFH?` d00FS"p0(7=hE30Bkh.*@ '+@ɀ# 1F( i@ ',𗀹0'+,, BѤ.TBTA.+, 0@F hF j+ЃB@F ~  F v E IF FF YFEE9D BЈE Ѹ0"+0+5Ѹ0 Z@ڹ%+*!+, jBx hRh[h&*&+$ 0hh??1?V,?S0F_(L)F0FT(??h%0B208FS%@=(?4#hZh/+[hhF(TЃ# L0F!(G0F(A#hh#`5 ;.+$1FF0/*hhjjBhhhh#(@,?ih CkhZxhZphhhYh];hh;`$h#-Oi&Chkh FOkF hFhEp;i FS(`M(iO  .^ph'+/+4S!FXFF2FIF(F(0>+ й0s0+XF1F( 2F(F(IF F(ѭFF(F FpF2F 2FQF F}@2FIF(F(ы6h F(OF   hEb;iS(` F(?kFi.Oph'; +-E,,,,,,!E!FXF!XFFxKy>+Ћs0+ F_(>F#9F(?72F F.F(?, FF2F2FIF(FZ(?6h Fl(?hOI 9Ej:i  FR#`T(?iO bFF.Mph'; +-C,,,,,,!C!FH!HFxKy>+Ћs0+ F(F!F(?2F FF(? F|FZF1F(F(?6hPF  B 0BhX3$n40  hF"Sn4DhB `2FhDh `Ah ``-OF4FVFV[ݱ+n3j+j{hhdchShC2F!n(n#i+ -hPF9FM0 U!@FF(MciChkQhhhi`hi jab"i*a"iBhR#hB#3j"b#iBhS"Ch+YhB]`h@iPhk+hB`hh2O3#f0BPXF-OhFKkAh i  ' hB+iS'@i#j+!j#i+hh!0h hBJh<0i**7YF0 Fnn*FF("nF*F(*F1n(*F(MFMSF+ihZhBh-hbisi*6>0+ci+ ( PF(000B !FSF(DjB;}hBh*hkhkPh+)ljBgO3#f3h*QhBh`bh`hhjQh#iBhU#BE#`3vi.?Ch0kKhB#Yh +*jB k} !(?khC`h`F-hbhRh`Fh6h!0#hh,*n2 .i"BhW"pwE2h#`F1F-AF8F F X(!F8FA H#++ F(4#k]hj[ishBh`(Fh-+ h0FhF FcBhOS%90F(hC5!F0F%F*F!F8F ((FFF  Mi-ЫhkThBah0F``$h-h-O FFhihHF3$qh40 F(O7heh E=Dh\Ym3#fO "iE h"FHFQ+(  HF7(hYh &) hF`j)HF!b(mТj**!&)jmG@ h#n AhnB`"a,#h nB&+jmG@  #hbRh`##a#b"iBhR# 3e :=khgD</ hY]i%h-h?<$AF0hP1$ F-GF FF8FT$^h!hFnF(kkiF $Hh9D<<OhY+iE h*F8FS((8F_(0Zh&* hF0j)8FIb( 9<$0F F-Oh i4Ah  q(,#0BI 0S"Pj+Jj+GhP2i hh#i+6hBh<гBB48i+@n0"+@ FB#F B$4$- %Fe. .Fn+0$QBѲj*j:3##FFi*rhh*'FFcj+j+i+chh+{hh 0 XF ( [jљE$#`E0khhBСB [F@h( DhBСB [F@h(m DhB;BFB7BFh*%!c a! (G jh` hQ` h` O FkFF9n*n60nB݈B34 nB݈B3+hhZF+W`1B)h$v{h"]`{h`#+ahbF`zaBгBУBh `Fh Q#e P#BбBСBГB@"23 R# fP# BвBТBЋB@! 13x`h`jh#B P#B@#p3hki{a+?hbhh` Fi`ia7F&h( F -GF@F FF F(\ F~/hh/Q:F!(h@F(I9F0FJ,"h9F(F(6#.+`hp"ahjM``0!F@F {&#++ 'k/"yh(F?h'cBh"(FS'7&0FphKkAhh C $hBhS$0iE"ih0Fs(-h4 pF-FFh@F hH mG"#FC,Bj2C;F2F!j,``( F-OF F-*i(*@E+!hh.[h+"1F h F(1F9F FF(#D!UA+chh/܀րh.Ҁphn FAF FF(€sh"C`3F h TF()FshAF F0F(3F"IF h <F()F1F FF(9FCF" h 'F()Fm9F FmF("G+uhtoBF! hF(fJF! hF (]BF! hF (TJF! h (L#!",0-. ,- .0j ,0jbV)F F1h0`XB& F"X  [h h FF )F 9F FF hhQ6."I+ghh Жh.hh#2FFKFF! h F()F "ihjp`(1F FF(BF! FF(1F" h _F()F CF"!jp`(1F FF(:F ! h0F()F AF F(;F2FC+@׀hh/hh(AFF;F" h F(?|)F _AF F_F(?qIF;F" h F(?g)F J{hIF F0GF(?Y"AF h F(?P)F 39F F3F(?E2F! FF(?:2F! FF(?/2F! FF(?$2F! FF(?SFJF@! h @F(? )F 1F FF(?CFF" h F(?)F AF FF(?9F" h F(?)F 9F FF(?ٮ3F1F" h lF(?Ϯ)F 1F FF(?Į;F"bJ+@h?^h.?#2FF!CF h F(?)F "ihjUx`(?9F FF(?hh1!F FGF(?#k3F"9F h F(?x)F [1F F[F(?mKFF"9F h F(?a9F DIF FDF(?V3F" h F(?M)F 01F F0(?CF"AF5<.eB;?K+@[hh*?-Zh*?(h/?$hh#FF! h GF(?)F {h1F Fs`F(?FF" h F(?1F IF FF(?;F"9F h F(?1F IF FF(?ݭBF!2 F(?ҭhh(BFF9 F(?ĭBF! F{F(?[FF" h LF(?1F YF FF(?SF" h 8F(?1F ~QF F~F(?IF" h $F(?1F jIF FjF(?|F" h F(?r1F UCF"!jx(?dQF FJF(?\#JF6! h F(?Q1F 4IF F4F(?F;F"1F h F(?<1F QF FF(?1IF" h F(?(1F IF F F(?;F" h F(?)F 9F FF(?3F" h F(?)F 1F FF(?"9F h F(?)F 1F F(?BF%! h |)+ hh.?Ѭhho!F a*+ hh.?¬hh`!F R2+-hh.?hhQ!F FgF(?1F" h 9F(?)F 1F FF(?4!# h .3+2hh*?#5! h F(?y)F \1F F\F(?nhh + F! F"F(?`"1F h F(?W)F2B+:hh*?N[h+?J! hN! sF(?@)F #qh hw(?6#1F`p` FF(?+(! h F(?#)F 5F -*hh(F r1?-A F8F F (>+++&,kah ++0F ``$hhOS$ ++ 4kB)F0FFXF0F(hCF)F8F ( F𵏰hhKkAh i[k X%hB"hS%`j!8FرbiTah8FCx[H``$hti1F *F,0qhj jAF F3FP:F! h +F9F *Fbyhj Pp`1F FF"F!BF h F@IF l)F FG -OF F)ɂ i!*4+@hh3!+ѳi+h 8F(jj 'bhhh`ychishiB@͂+#B_XB@‚30F9"*+@hh/^h.3&+@𩂃hjnG({hiB$*`&+@σhh+c]&*@ ihjnGhFZh*J(۸BAF!(h nF(( B@3FRFAF(F2( B@u Fy+ghh._h/3&+) 1Fh chzhiiB*+@:F!(h F(!F 2#+Fah iBo3;&+5 9Fh (chrhiiB*+@2F!(h F(?u!F #+Fah iB΀3+lhh/?^^h.?Z;&++T 9Fh chzhiiB*+:F!(h lF(?:!F #+Fah iB39F3&+Rm 1Fh T(?IchrhiiB*@+r2F!(h 7F(?!F #+Fah iB^3+"Ki+?h?_h/?䮸0!+ 0+;!+i+ 0h*?Ȯhh+?îB0zhiiB+Hh F(h F(?!F 6,0, Bh  mGb1F%+Ůhh+?Wh/?􍮖h.?&*hjRnG(9F1F(F!-*hhhjnG:FF!(h F(?c!F0F ,BFKF!F(F %-A F8F F (>+++&,kah ++0F ``$hhOS$ ++ 4kB)F0FMFXF0F(hCF)F8F ( F𵏰hKkAhih `&hB#hS&@ j!8FرbiUih8FCx[Hh`-hdiFOO  nqh#ZF FU(6hO!`hF(E``ia /7'-Oհ{DF$FXIhJ ShBhJkhRh* !ihF "('`^sh4ZyiD6hD`^sh4ZyiD6hD40hh ; f1ihF (]ih9 (VihA (O ihPF (F6 h P{D -kh Zk  (/h9D<%hYiyh /+j#+2F@F( ?hj12F@F( 9`IBI'F4F I)IXh;hAh[hBF`h-hzI,5{D 5{D 5{D ci+@ x"@F #F(F X #FcX " IF(h0FBF'IF SFHF HF(lL!=F(d0 (]4 (Q#O~Rb!0a0ZfrF(?F` 0t!eF(2F`(0g#(Fsf } x"@F#FjBF8F ;h+ X0O JFiX0X0jX0#F F(#O CF F(ށ#!efF(ҁE`)F F(Ɓah [:FQF qF(ah O:F! F(ah Ach[hi bf "@F#FBF8F ;h+𐁝X0"O Ob"X0X0bX0#0 xF(gy!XCqfF(WE`0)F F(Jah :FAF F(>ah ah F! ++kYhbhB_`h#QB `h^#BN#p3ahF( ChSh+@!+уi++KFE(3Fhm G!F YF(ڀb"cEccyh 9(̀:F! F(ÀAF XHF !b F(AF I 0 +!` 0 +SDB /!B;!+ѻi++#!KE ( ,Fsk$[h,6sk)F 5F(kah *F;F! (F(_ah kx!CkpF(Q RFE`)Fpk0 (DQF vub;F2Fi(6 (F y1F(F yFб;/+ѣi9FXk0 F(Уi9FXk0  9F0 cA CX#J3$hd+Y ShBЧJ+? @,?ah($hU\=4F FhF1FoF o8F n(!F( 0F `8)F F V0  -AFF FF EFOC#jBiB#++ki+КhBhcx[i+ZhBh!F8F #++ $k,УhB:Fah(Fx$h&cBh:F(FS&6@F-OFhE# ah(F (ah0F (1F#i`hRk ( X()F](O ")F  F( (khFYh2 h*Zj*j*j+"*њi*hZh0"+0+&+0h+`0jG 0FZh0++&+`0jG00FjhFk$FFF0&+"+уi+`0,G(~ /?{B?xt;+?o hah@F )(oh BF8F( BF8F(wjѱBF8Fk hL(? F ##V@F 0(? [kkh BБFah0Fk (;#*BkhҀR*kh0kzQFF0F (0ihkiF0F F0F ( h F(F#hih0F ((F(Xй0IF++0F rF(E QF(ƀO 0E 0S+0+F0F U(F 0C+  0[!oF(#`ZFQF Xk0 K(RFIF0F >#(0jhkRnd rihkiB hR#BB#3h;aFGF3'h RFh#;a`hB(K H PF^FAF0F (AFXF F0++0KhCEJ` h# B Q#@EA# 3 Zhk3hihB`hhO 5Cy>+ ih*ћhiXBXApG pG-CF F%+F CyF>+ ih+F0h (w#it2+K+Kh+i#=B)3#D,0+h0&+h;!+ѻi+)Fj M(hh.+hh%+ [CyF>+ih*iBF0h 7F(;i!C`0h F( "jb0i x`(!0h #0hh_`chC`F$O3F;`` hh.)hh)")ѫi+h[h&)hjG8` hh3` F0O3$` `h[h!(јi(Xhi( h,0$h%.-h$h` `0 F0%+$ F( F-CFF FFF8F0h (_#i"+%+  jHF rF(zBC4hK9F0h ~(;;iC`h+1lh F(!F0h kF(#iC`/h8FF(9FHF = F9F0h QF(;iF"C`CF0h chO-O 0 FFKhF!"@FihhRh")@i)}")xёi)u "!h"(jјi()e2@<(\ "(WѠi(T92@L S KF8h 4!F`0(< $ RF F(3 B/%D,<  8h 4KF!F`0 BRF F B B 5D,/ / `(+ уiu;+"H@0 pG pGj+$ij"+* 0RjB[n n+ C;iR#0j*j@ pG pGFpG pGnpZw{ hhRiB O40BP FSi#$#`i3 ?3<+(#D21Bp-CFP$-=)i0FDii0FDi0FDi0FD)j0FDij0FDj0FDj0FD)k0FDik0FD-hFXhF1 `@F _Fjh31F0 N!FQHEĿF5F)F0 ?0a0ilʈF!N0#"C````F8!Fh F 80 mGb(h (#"`!Fa``(h( F8FF  "+%ыi;+!  *hh:`*hRh"`*Лi;+JzD\#"*`9` `(ЂjSh;S`#hjh3`#h+`# 3`p FF F!h GF p)F j+h!F0h2l( FpBsFB Bs"J!K{D K0h+hh+!Rh*#OM*U+?+.CDS#+ .C@T##"#F!F(+.C<U#+ .C8!Qd9# +."C4dJe:#Os#F!F0F{*٣4*%6+"4+5+@D#{+ |+7+@A#F#C#B#E#hh*"#:*;+#<+ # #!#hh*#Ox++ h$h+y$R#3+h%h+lZhi% #* " "+h&h+XRh*T& # #9H+ h'h+D'V##*,؃+(hJ*h+.(G#h*%[h+!(H#Och+(I#Oc*h)h*+ ##)KsF (h*iUh--a) h'j hh)V .)Gj+D*B(PF!FPFŁ$+!lK!kK!iK!iKgK!O O M !cKO _K!O O N  ; ;!$;!$3,!TJ1!SJQJ!O O O +!NJLJ!O O P !HJFJ!O O Q !BJO O @J!O R "O+F (F  @b@F#( +6Ѫ0(F 00#.#Ks#hF KsOs(F"'" #Fhrpp(FAF8F"n`2B?Ϯ"F'"OpF (FMjiӱkm[jBSn>""@a+"(FFF/(Fr(dhpC `%p,i*(Tjpih1 (JjOrO (Fhh-# #FFs(70Fй(F*F(F(F"#FniBjB in(F0Fk(nq0F0r0s0p;0 wIhPCii ;+0B pG pG-OFFh!FF%F(6O2F+FO ``a G H?5O -aO3hf#g(Fdgsh#`sh3s` F F!up#``C`O30000-O$hFF9)F0Y0@+7FeF=h/8hhPh'n`p7B (p/4ph'/ p%okoh)/ 4hc90>_hhXhx`pBhppB_hpp/FhF#B3iP#P@\ i8`i i BsB Bs"J! K8F{D 10FIHD`C `3 +8(#@H@0 pG pG'8(#@L@0 pG pGF5hFDNs#F4OtUt0OtM/#F,$Fk(#@$?$# $8 #$1+#$*#$##$#$#OD #O4%#O4=FFF!Fe((`3h#4`hKhJ!h0  F-OFiFF@+H ++?A+ +.>Ыh"FAF8F`h# ("FAF+i8F#(5#%  f{zg  A#"FfAF8Fh#( h#w"FAFh8F#(?r h V C jhiD)O1"F#AF8F(oh `h#>"FAFh8F#(?9 h"FAFh8F#t(?$"FAFh8F#f(? +ir"FAFh8F#Q(?"FAFh8F#C(?"FAFh8F #3(?#fOhO "FAF8F0hh0+i#(?Ȯ ki[F$h"FAF8F0h#(? +i# # 0h#"FAF8F(? MF HCh;+рiXBXApG pG.+(+рi8(  pG pG pGF KhhJ+УS*/;+,-Рjj()ЬB #*Z@*!*(+ѢiiBcnB#BhR#phR# '*ЗBо*310( F(#.+Ѥj,Эj-Щjj(ШX@ @ -OFFFF$\4O VF!SAE(йsF%BS 2hFS ,E-T*5(%T 0`5hd16%D*[ 4G"h`` $  -C FFB O~SF<ի D$&&$>D&$3DF&$'"D F&$)$t &&)$t&@& f)$dOvOv 9iQ$D4b7չi)41h$ I4&@#i(@8j~(@xjx(@jr(@jl(@8kf(@ #Ba?ոDD6hDDD@/DDD(DDD !+DDDoDDo3#F8F(?&DDD&v,*ոDD"DDD *DDDo#F8F(?DDD&vV` թD *?D$ e# oDd(?֮D$ UD9s5o<%0i(ժ?0n "ժ%+)o#F8F)(?D`w nD@D1 ժD +?D FI4&@v-GFFF"!(FF;&+{h$iB \0jG4 #&#)F@F2F-OFFFFFFO0F.K{D3P;h@#@R)KD+,Eд BE? I ckcYiBЙjBkBE`uO BEȿ% Ѵ0CE+F#ZF Fux#h F9h8`$h F-AFSkF&$0Fh!`@ ,Sk@\@l@<@ <@<W 9FHH( "3F)F h 2`a0 8FCh$0[khP5 8 #h h# 2z`a(##aiiZhj*{эA )߿.o.{ܿoEs{osh 8pFhiıc{ !h.#iFh F !h.Bc{Ccs$h(h0 p *F FFF @io 3iBc3akhj+ڍdڅ. 8hB@c . +{C +sFhhVujiih 0{F h F(1-h5jiih 0{F h F-h6hi$i-hͱ+{2F)F`iJCF)F8Fq( 3F)F F -OFiFFKk)^hDhj!Fj"`C`[hi )F`$h;F4 hRk"FXjK9F hY0;Fg BF!h0F(%  (ZK 4 YJ9F hY0#ih[k#Y (0F;(, (zFК SQF HQF0F'F0F"(0F(Тhh4Rk h"F(ЍBF0F!h7(=ѣhh[kh&K*FI!0F{D$s0Fh(?n0FR(?h (?b"i9F hhRk  (?L0F(E0F!(?@ +vsdo#V2 3+@h@ ]-O F h+i*h5%%F-'hhw3(.0Cf#/2 0J*<3+g#` JTT3+&hsh;T+3JzDO F'O ;0;jӍC0   cki3 ci3kX`#003йй ci3X`7/ѹѱog h;0%#hof%`\F&hB<;iS&0@(F1)F(F-(F((F# (F$(F((F,(F0(F 4(Fdh6-O@ FO FFFSF F hnh (H C`;#BF!FnF / #gt(Faa!F0#BFnF(#f-O%!gJFcgf{hi( F-CF0FFFOq5"n GF ((F-O% cfBF{hi(h F4cCS`pFFh !.}+FFh hp@FFFF+- "!hSC"00` ycq2hQycQqihhZk3h"ZyBZq :hYyRhi*""bYq:h! hF(9hZ1F h|F(*F1F hF(k{8)F FCksii+`iaxc*Fi1F 0]0 -O $FF 0 -K{D)F($0"j[h8h]hc( O3PF&F -s !h.FB-Y+y;+' 8F3F ?(Ѷly #" !8h 3o (jyFy$bqFO;VF*y**+Fhh8hO+yy cCyqjybCqkyBycBqҲky@cEBq0`(l+hF#F-h[FZ Ѝ 3F 8F(RЙ 0C 0LiH8iD+y+?h.Oshj\ks{2iy+h-3{!F@F[(h!F@FL{iY#0{iY BD̿##+!F@FL( L !h.>)ck[hB(B<3B-h  H F)F F{[h[hi3F "8F( +h F h FhhB##hY?uV-OFK{F+n9O#FF"F%Fi.I !h.BF"bh_# ##URFIhF!z"zJ4!7y/ /h@JI U !h.F:F6hWFbh_# ##U !.1(ܿOzs]C(FH@B-OFii.s{{uh4ikh(h4h (80H33[h,\#y;+TOQ..0Co#h"AF[y 408F(9 # F#iiC()# F #i7(+# F #i+(# F # )j(,# F #ij(gJ# F #zDj({aJ# F#zDj(m[J)# F#zD)k(_ h hQJI# FzD#ik(FFkq@ F(?<;F"1F h8kqP F(?+#"1F h' 3#"1F h3#"1F h h` h h#"AF h#"IF h 'h8F" 8F+( hF~mhF  #"IF# h'@8FG+1 q i[khñk@hlR K"K!{D K{D K!{DK{D4 ]jV7Fo F"h#YV1!3AB!8n! h0 00 O3"O,2#FB@h*O30)F)XhpGO0pG8FF F!F h 8h! hw(*i! hp0 8p FF! FCF p(F(j3((F"!(hK(!F(F>(2F!(h>(Тi!(h""2(ch;+4  ppF FFF F pj3( F"! h ()F F(2F! h0 p8F Fh!h 8*i! h((F8!F h0 8pFKh FC+.?+ +C;+@怃h"O6zk@{A+&F+D+E+@΀&H+I+ &&&&&"hF( Fd("! h FNP FBѕ Q^FBѕ PYFB *jnjFiO6"! hZ(p( F"(i2F/zgz2BB0k"P3zB гzgz2B4"! h)(? F(8в! h)F FH&"! h02F! h "! hб F)F F0 p&"! h(2F! h p."1F h( F( F&-AFj Fh0i  F'( F!@F(6&.F2F!@F(v"!(h(oТh!(h(f:F!(h(_z !(h ` {*v(M2F!(ho(FСn`n- !F(hd(;Тh!(h@Y(0Тh!(hP@"!(hJoj!F(hAȱbo!(h;+i[khx+co#h/ K"[!hh{D h  ; FFnikhF/; +\ [[[[[[[[&"<O"F"! h(BЪi8'&"&2F! h(4"! hp:F! h@2F! hi3"! !F h"F h`nhn,F! h0 -CF0 F+Kh OO';+J (.C$"'FFD<$FF";n$hn,F<"F.n$hn'F,"F%$O 'F"lH$D1-CBOrBDOO " $O'FF"$'FF"F3i[khx+ +'K"[!ph{DC!0h8(=0;+!F0h(p(u!F" !0h !0hбJF!0h:F!0hp"!0h@"F!0h@F i-OFn F-)F`n,FFfh;.AУi3O +FO F3>.ڀ'y(FO FF((#F`"(FFF(F<#F`"jO &ZF}iO UJBѢoB#wO8FiFl&FRFd0F3*+O8O1"(2FB*p1mи?jnO NFF2nO F<&FJF! F&jF"(FO F Fs"F n&O "n&O "!8h0*F!8h2F!8hбZF!8h RF!8hpJF!8h@BF!8h0 7F Fn!h n(h3Уo"#YV1!3AB"!(bo!(h0 0-A FF! FlCF]ch"+'#j!(h+cjOR"+OS#DiD(E/!(h"r(7FE"!(F`j3((F"!(hx!F(F:F!(hmi!(h""b8ch;+4  pFF FCF p Fc(j3( FY"! h6()F F@(2F! h)0 p0F# Fik ik Fu(3 F0  0p#FSj%jYkl( -kh+bjB-h- Zn*Yk0FW($jdch+Zn*Yk(F2($h30  p-CFFFFF(Fz 8 ' F( #!c( ( a( "0FZF(Їe!0FtF(D`HFt#F@FE( F-AF#FFFF8;F2F)F FApFF%TchZy1Fi4D$h(Fp-OFԄFF D O  iF mH0iH0.uKF"IF8FF(k"QF(F (b0C`  0FF(FCy1F(FuF(;(F(1!(FF()KF"!8FT(ck [mGCF,"QF(F 0FF((F:F(FD!(FF(0C`(FF(F (FU(*F HFG(ۀ*FAFHF?(Ӏ0F(ˀ# ˍ[F (FF(F(FF(h*F $(#"F9FK(F{D3F(#"F9FK(F{D3F(KO "F9F(F{D3F({ckhm ! hIF yD#"F8FFйdIFKF"8FF([JF(Fc(UКK2F!F(F{D@(JFO(FP(BВK2F!F(F{D-(8O F !X O iX ""ˍSF (FF 0F! hc!F h^IFDKFJF8F3F RF(F(mK2F!F(F{D(IFKFZF8FF("(F(bK2F!F(F{DF((F!F(ck mGbck mG(cck mGhcck mGcck mGcck mG(dck mGhdck mGdck mGdck mG(eck mGheck mGeck mGeck mG(fck mGhfck mGfck mGfck mG(gck mGhgck mGgck mGgck mGck mGck mG#"F8Feh`(?0@FubJt4fQPllpGBhKhnnpG-O۰ H FhPF (ˁhF( hHF( hXF(:hF(BhF(2h8F( xh@F(%h&-Jkh+Ыhy*?h@F(wl*4ZyD:*. -- -F@F FF !i(h#h  PF HFn+8FXF(@-h&ehh SF*FhIk5(.h 2hIkh)("+h hH#"O3Ikh( +hHh%jI 8 PFyDHF3h[Bdh& 0 O3*FIkh(ހhjh% *FO3Ikh}(ʀhRP(8F(W 4 `M=% @%h @ 9FHFgHFF`!hoF(F`PFnI {yDFFXF(yСhO3RFIkh(kXFD(ehO ^F @ (?|9FHFPHFnBPhjEbhj(ChB@hbFF6FZO3F =*Fh0#IkhرR0+h[k$ihRD!H" # F{K{Dj "Sh[kchh*`O3Ikh(р+hh3#+`QkiRjRkcAF0F!0F F0L0*hL0F(`0F0FF(FVI (hyDF(` AFPFL  F0F0FF(FF"0F0FF(F:I(hyDF(` \ !< F0F0FF(F*0F0FF(FI(hyDK(`FEF~!0i !F0i5f-6hhSkiSj[kk;h Dchc h+ZhBF([(Wz7Ch++уh[kkhlhSC#i2*il DdiQn DSfh pGFFh !FFxFG```Eaa#aa  FFh !FFpF`$G`a`Faaa(F FCh FFFFFE`@8 pGF hF +hh/`C +i$yh*F<0F#DB@yh*F0F?hD F+h hikS*"@@@0 FFFq:FF1F(F DdB8 @0 -AFhFF$iű:Fih0FUEE3D Fih:F0F-hDO08!9LF|D=(i6K{D`#C`x*""`"A!Babd.JAb !b!`aabccCdXd(JXd(JXe'JXBe'JXe&JXe&JXf%JXBf%JXf$JXf$JXBg#JXg#JXg"JX !JX " JXgJzD JzD JzD JX JXc " 84jth8xX80%'A-Aذ FF!F2FF$p F;F*F1h$F()hYF FX (K{DS 0B K{DS 0S!0Zh hpG pGr  ( K{DS 0B K{DS 0S!0YhBh 0pG pGrz l#`HxD,0pGr@`HxDcppG|r( # pG pG pGFpGpF#(+ ѠiV+.٠Z+*d8%2+ f%B"hh5!+ѣi+hh.+"+ѣi+h@ F0 p p ppF-F@h@F hH [kmG"#FC,Bj2C#2FFh``( FpsF F ! F(! F(3F`h*F@!F)FZ FpFF" F@hF )FE2F!`hF( 1Fb(F5"qhhh`(2F!`hF( 1Fb8F"qhhx`(`h;F")FF()F F1P!pF yy@hDF(;iFC`h *hC`phF(!ph!(G`bhjahXk0Gj`3 Fbo -GF FFF [RF!@F`F)FFHh*B4F2F7DB ,2,BFQF(F0 8F F 8**!g F(`h")F6F()F~F8 F8pFF F pHhB#"F!phF(#*FFh``(++#D!B#-b5,0 FpFF!F*ZPh(!F"(FF(M..).G"F!hhF(?f#"-0#/ ",`.0 #",0#-0.0/0#Fh/``! (FTF"F !hhFp!Fhh;F"1FF8!F F(F-AFF)?*="ZF(7"F!xhjF#"Fhh`@#&,0!-0.0/`xhFh"h]`#Fh``X#,`-` F.`/0 pFF@h!qF ph0F[k[mG#b"!h``( Fp-OF FF-"ryDiB.@jj*h/ )F" F9FF FQ*P#&&GGGGGGGG[dddddddd")F F)"F#hh@r±#!F`h]F(4#"Fh3p`(*2F  [#hS" @r*"'!;F:F`h0F(#hFFh`(h[khl+O:F! FF(F!`hdF(兀,p#'-0.p)F/pBF!`hNF(υ#)F,0#-0.p/p3F")F`hKF()F1FCF"`h>F()F5F#h[l@! FF(,! FkF(! FF(,! F[F(2F!`hF(y1FR"qhh(l#,2F,0-0!`hF(Z1F3"qhh(M#,2F,0-0!`hF(;1F"qhh(.&:F,!,`-``hF(9F2Fyhh({O,:F,0-0!`h{(9F2FyhhX`([O!b, - :F`h[(܄9F2FyhhX`(τ;1Fb,`-``hF(hIFhO,0O-01F`hF(hQFhZ`O,0O-0q1F`hF(hO AFhZ`#-0,Y! FF(s")F`hF(j)FC:FAF F(^JFAF F(UF \!X* `hF(H)F' ,-H*O !`hNF(0)Fh`,phZ`-! FQF("AF`hF(AF3F")F`hF()F;F2F8!`hF(1F FF("h;R#p/߃F kIF l#b\!O+FBF`hF(ƃ#"Fhp`(1F`hF(𴃃"!h jb3b`hF(?/33T#0C`Ahapu((!sxCsp`hF(F`)Fci``i0 i*F1F0|(@Wqj#[J!X FzDDj<(a! F(W#"FhVF(Ma{XF3T#AF#(@O [#"+F`hWF(.G`F`h+F(%j"b3bC DIDa !`h-(!(sxCsp`hxF(F`QFci``i0w iRF1F0(2F!`hfFB)(1F,"hF(ӂ  "- "ho(ѽbZ|c.1FXF(!`hF(%O F`"!`hF(3iFhC``h(j(j3C b*Db E5 -!`h\*FF(o)FH ,!`h*F(])F6 JF!b`hF(L#G`,0"9Fhh`(?O *FSF8!`hZF(1)F !`h*FF($)F,"h([F"1F`h( 1FJF!`h}F(O G`,"-9Fh(*F!`hc ()F& ",`-`Yhh X`(с"YF`h[F(ȁYF*F?!`hF()F1F`hF(G`RF9FhUh`(#)F3F`h(#ZF)F#`h(JF!`hF()F_PF'b"AF`hF(uAFN"`hF(hA1F+F"`hF([)F4KF"1F`hF(N1F'CF")F`hF(A)F2F@!`h[F(21F !`hEF('G`F#*F`h*(#1FSF`h(@"h Fh"Aj"h=kOh@@  )*AhnfDDOAh!AhAAhBAhB1AhBQ>F!03R#n`TDDO R#!R#AR#BR#B1R#0BS#O #  K B00F[#FOcEvQ#P#R# FP#BBOE" *rFA# BA# 31F FF(Bл@ FF[F*@EFOED 1FBF FjF(? 1F F~Fޱ a0Fa!E5F8OE2ѻ1F*F FF( l1F  FF(#%OO {2F! FxF(2F! FpF 5F1FBF FF()FRF F F(OE F1F FF(/Д71F FF(й)F FF(*F1F F+O5F#Z!d!N-Oհ Oiq F(0 ()^O m l@FXN((<8O {D(F+k+ F(L!WF(F(#asF?F(ԁGc(ˁ|!+ (Á!} b(E`]b4+ O.r QFau#`c` `[j[k#atQF"4pn(F(`h&iF(`hF(`hF(|O~SO d0'O|R#( !,p(,pd bbBf  ```h0a(K3i3ih`h`(:hhhB(hOS'0e3iS'0f߱3i !S' S 0c`h(3iS03iS 0C`3iS0X`7,fO HO ~D6@F0"8Fb00k0V,ah|;h+္VV ,#h[h[+!"#hF(ɀV,*F`hF(#hhch3# 'Vc# sF`h8(𙀇e!2h drh2D"`hKF( C`кк Ѡhh h8F  67-n(F(b8(F([4(F(T<(F{(M(Ft(F(Fm(?(Ffȳ(F`(FZh(FT8(FN(FHر@(FB(FF2F !`hoF(1F#:F4!`h F(1F>F1F F*F1FP#cU FHxDpHFFFFFF0FF "F9F4F.`(Fl`8F FF%``` F8KhKChX @n#@&@O2D^B ?F ?`EF/ 0F(FD#@Fl@Ȥ-AFFF%ijXk"h2"`jXN~DBfhO26f```i2iaV&i`i`aoPf#FF`#`##`c`O3aaOqaa2 a0 F~#i@hFu#iX K{D ң-AF"hh3B h&`i7i@1# a>c`#`O3``aak- FXrhhhpF.!iNJYK~DB**(ТiBhaiBhahPh`hB"ihO`JzDJQ"Z`O2``chDc`p pD!hO3`2A`aai @hpG`iC`pGDhch!i[h `ChiXhC` `FA`pG@hpGhpGBhShihB`F pG`iC`pGDhch!i[h `ChiXhC` `F F#W!ο!Ͽ7FhFlF FF((F( 07FhFlF FF(F 07 FFhFlF FF((F( 08F F0)F F0 88 FF 80()F(#b#` 8FlFFر(F@;F0@(FTF(F( 7FmF< p$h F080]K^]KpG80!Fj{F 8j0:(j3(%` Fjb8hpG02sFt!RF(1%cy"y%eoEcqfO6"qdbe&fcy%`ebdeecqyfeqp0ep0 Fp0F#a0#F #F0a˄(Fp0F #`#eab bECq00F#bF# eab bECq˅ F00F#=a018#F4]pFF$BhS$++'+ .+j+(4 p ppFF$BhS$.+j+(4 p p)!11?`#a`C``CaaabbceKCf!߿-GFF(FFFF !PFF(#F``Fh`8Fg"F1F(F(нh}!PFF(khFC`@FOF-h.F0B 0S&0P}khB !PFF(D`(F--h6 FB mmBڀkmBډkpGp F iFgF0+ia#*iBhR#hB#3!F(Fjbjbkncf#h+a`b#b2ha3`i`h FphSZhBh`pGh+[hBh(ܻFFFFF<!8F`FF`!F(FF0 -OFFXFFF!FD F(@Ā!FXF(#/+#++O O!F@F( F( F(!F@F(љ06#F 9F0F(2F0YF@F;F(}h9F0FS*0#F}(n2FYF@F;F(b  cE#.+W  AFPFj+PFF(Fhhi*hZh0%+&+`0jGFXFhhi)hYh0%+ &+`0jGXFEтB*F#F9F0FF%(F-OFFF(FF.(M !F0F'(F09C;O 8 0S 0ji)F0F#FBF($BF)F0F{h#Fȱ?h/_igBF)F0Fh#F@?h 9  p*F%F F @Df4`ppFFB ىFFPbh`&f pp@pGhS!pGhpGhC! pGFFCBmF-%Fxbh%`c hYaB#pFFCBmF-%Fbht%`bh(h `c3c" F!tap FF"!"Fi ha`hT`pp FF#!"FZ ha`hT`ppFF$!"FK8ha`hT`h`p 1!TP#&"C#D`bF F&)ph oFF F Fr4"F,1F Fh'#(F`'A#ba#bHcbrh F" F%!b F)! F*! F'!#bc-A'F+ :F"F(!,F"Ph` h]` h`" F+!b" F,!D` F0!8 FF1!"ha`88D\BF\A"F h`8pFFE!"F(h`h]`h`p8 FFF!"sh`h\`88 FFH!"fh`h\`8pFFI!"FX@h`h]`h`h`p"K!I" Fb!Ch"a`8 FFa!"6ha`88 FFc!"*ab8apGKhBxC` iaKx@cABppG8" F-!F )Fh` F8pFF.!"F0)Fh`b FpFF/!"FF8h)Fb`h]` F%+Chh%+!+уi;+"+уi+#+ pGjpGi8F*($kB hS$ 8(4 8&XBXA8B -"b#a#Ch`pG# cc c@c`pGp FF!!"~F8-abh` FpF @ڲb"b Bb@c`#BjFT3kD ) ڲb"b Bb@c`pG#VP,ZT3+ ڲb"b Bb@c`pG#VB23+ pG#BVB3 pG# cc c@c`pG F2!Fb F#!BjFT3kD ) ڲb"b Bb@c`pG#VQFT3+ ڲb"b Bb@c`pG#!  0 3+ ڲb"b Bb@c`pG#"FYV1C+pGB$ )CB(+рiV8(  pG pG-GFFFF*`+aQh[hii>D2FF "F!PFF(*F!PFF(!PF,F(h+++O h]`#FB?3;F"!B, ,,3F F FA#VBT3+ ڲb"b Bb@c` #V*R<3+ ڲb"b Bb@c`]DFB;?O3B+2űhYn[@FnSba"n(WѺ!Ff(Ѳ@F<(hBBh&S%0iBhS&00kShBYh Fh6ji F(wqh F(q6h. Fn(g5 dn3!Ff(Y@FnSba"ni(N\il@FhZba"h[(@$h4iBhS$00k[hBnHFYh"hji nHF(ahHF`$hn,љnHF>=2 FF!F(FHrk)F F F(F FpJk-OF FFFFF` E*)F@Fo@0(FG// ###& BhS&HCFRFIFHD6$F `8F@F} b`b8000 𵅰FFFj(h1FF kj"1Fj K{DO3kj"F9F(F3kb( F܄-AFhF!F0F.Ff` #0Fc`%6i3aij/yh FGF0F&?h(F𵅰FFh!F0FFf`Gi FGF0F#0Fc`%i3a(F8 FP!FBE$U$88F Fh! E`ch``` 8-OF hFF F0J#h{:F `F@F %3iBh@FS%YFHCFRF!FXF(5#h ;I'0sFbF mFChhF(F@64(F(F1Fp-O FSk Fh5OAF  F)FF()F F()F F()F FF(AF F()F Fy( P O!FPF<'(2FHFSFS(FO ; 0 E7`   ` "C+ C+G+V+  EFS+ B PF(?  QF#(S` S; :# @ #AE 8F FPF (BI< H D#XF(?, F)FF(?!T!``(?chrhZ`shbh `h 0o(?`h40g(? +`h!`hOW?K5E%7*T!(`(?ܮ;h+ ##`+hV( Z`(h 01(?ʮ(h40)(S%057B:hV%0T" ;hV%T# 0(Ѧ:hT%0T" cT%k40(ї#I< +(FyD@# F(?,@(FyDOs F(?ԭB(FyD@% F(?íD(FyDOs Fp(?F(FyD@' F_(?H(FyDOs FN(?J(FyD~@) F=(?xL(FyDmOs F,(?n\N(FyD\@+ F(?]<P(FyDKOs F (?L R(FyD:@- F(?;T(FyD)Os F(?*V(FyD@/ F(?X(FyDOs F(?Z(FyD@1 F(?\(FyDOs F(?l^(FyD@3 F(?լL`(FyDOs F(?Ĭ0b(FyD@5 Fq(?d(FyDOs F`(?f(FyD@7 FO(?h(FyDOs F>(?j(FyDn@9 F-(?ol(FyD]Os F(?^|n(FyDL@; F (?M\p(FyD;Os F(?<@r(FyD*@= F(?+ t(FyDOs F(?v(FyD@? F(? x(FyDOs F(?z(FyD@A F(?|(FyDOs F(?֫~(FyDOs F(?ūl(FyD@E Fr(?P(FyDOs Fa(?0(FyD@G FP(?(FyDOs F?(?I(FyDp@I F/(?qI(FyD`Os F(?aI(FyDP@K F(?QI(FyD@Os F(?AI(FyD0@M F(?1I(FyD Os F(?!I(FyD@O F(?I(FyDOs F(?I(FyD@Q F(?I(FyDOs F(?᪷I(FyD@S F(?ѪI(FyDOs F(?I(FyD@U Fo(?I(FyDOs F_(?I(FyD@W FO(?I(FyDOs F?(?􁪍I(FyDp@Y F/(?qI(FyD`Os F(?aI(FyDP@[ F(?QxI(FyD@@] F(?AqI(FyD0Os F(?1jI(FyD @_ F(?!cI(FyDOs F0 7}0~h~~~{~a~G~.~~}}}|}ͤ} ||||r|U|8||{{{{m{U{{{zzyyfzIz-zzyyyyyjyOy2yyxxxxxsx6xxxwwwwvw_wFw,wwvvvvvwv]vCv)vvvuuuuuuyuhpG-CFF'D&*hhD(F,(F"!(u ( (I (GY( (S (>)(b((#(䀠%+߀T?(| ;(N:(v.(H/( {(n [(ɀ](@g^(@À8|(6~(\(Fh08 (3`@P$(F4 ( ( 8(٫h;`t` |(FB ( (Ыh;`##..s`+(F=(#s`]B;#s`<, +,-,&,.@iK^,&|,!>,%@gA(Fu=( #s`<,@cOp h<,Op@e3` F%Op"@k/,9/((FO ((*(,'(FCF(Foj KF !8F{DS h*h;D3`t`_/( .?q{K{Di*_B_Ah;`$ A;+٤0 +_,.,vѫh$'F9F(F/`)_CNY8 A;+@_(0(𘀠1+@.(' @A;+@򠀠0 +@_(Nї X+|.(E+z08@ (x>0 +u.(v @0 +q OtE()m0Ot +i-(g+(d08Ot (b A;+[08 (X$(F\FCF !HF]h;`+hKD3`r`@B F< :Op7.?6$:h;`? 5(F(Ж(F''@@ '@ @'Ot'''4sr0./m,,,,,,,,,p,,,,,,,,,,,,,,,,,,,,,s,,,,,,,,,,,,,v,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,y|,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,  !$'*-0369<?BEHKNQTWZ]`cfilor  #&)ux{~HxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpGHxDpG9m?m;m7m3m/m+mOm m|yY~mllim`mll?m6mBm9mlllllllllllllllli<iiiiiiiiiiii iĻiiiiiiiiidiiiiiiiihhhiikkkkkkkkkWiUiUiUiTiViYiXiYiXiYi]iUiXi[i\i]i Xi\ikUiTiTiUiTiTiWiXiXiYiYiYiYiYiYiYiYiYijjjjjj iiii  jisFllFFXm: F_)ЙBkh!k8(*kjB K{D H( 1x_)-kh !k8(*kjB J#zDV0 M}D (5 (pDF h FF +hBF iN qh(Fp`(6hh{h,F(2Fh(F`(8FZ`Ckh @E FpFFF##ˍ#F0hFh FjF h(F F p-O"F@hpchk/@"c&|5O( D"{D 0FYh p;F hF(zj(r7_/5O&{Doc0F"!h_F(m0'O p HFg0j0X[F FSF(IQF h$(@bk HhRmG @bckEU(F0F"9Fh F(0O BF9Fhj00j0F(0j h 0yD0PFg'05KF F(I(FyD!CF<@Arx0(Fhx0i00Fj0`"AFhF(AF"hF( hF(AFBFhF( hF(O !ZFhuF( hF(|!ZFhcF(q h(j!"hQF(_ZF hF(W!ZFh@F(N haF(GI X XFyD#ˍ+F F8(/I P XFyDm#SF F!(I H PFO yDU3F F (I @ PFyD?*KF F(送I 8 HFyD(CF F(Ӏch!kh8(ch !k`8(3D3F F(ѯ&eM}D;F F("5 F(WK x{D3ck"i+##!0" hb0F(nHI # %` ayD8F"!hFF(T 0 &X%XF8F0b0#*QF h$Eb5-O`F h3FwF( kKhXI8FyDT"ˍ3F F hA +VQOc0cclJP#baFi F? ! ɂO2ai? !ɂO2a]K F]KpG8Fi F3) i8i3 a- i8+K7F{DiF(FڰBڰ ܰ<@B+а&ݰ#1.а+а ڰ"ڰݰݠp( аа (k8yCXBXA 0ZFi3i ai3#ia F FW a i-OF F*y+@߀h(sM (# }D+%Di45C^ F `)@0 `U F+ F(sk[h++h+kh+shhke(O #OFh2*  O O '3+OEq#  # S +# D:F"F"!":F!:F! !:FhnF(F:F0h-"hbF(:+E ## !F 0hK `;3#0h*h 7cU)F FXF`hh$F0F$F8F zK{DP F(?! hF(?n`hF(F"!hF(?^ck mGbn`]! F!F hF(?I`hF(F"!h(?:h`@'ck2PBPAmGb6! F((F`hhF0FF(FGK{D FF(?! F)(F`hhF) F0F9K{D-?l;dU! F](F`hh~F] ~F0Fz*K{D)FCF" hF(?ϭ`hdF(F".l(F;d ]\\d\0\/\u[Z8[YYFY0XkXlXHX$X#X(XVVWUUTTsF>F!(Ff*(/(8&&!(F5l3odhhhOcFJ!K F{DB (FF(l!F(h:d2F\Fh*hhF F FpSsFF!(F+(-(8&&!(Fl3odhhhOcFJ!K F{D (FF(l!F(h:d2FFhhhF FN Fp1SsFFX!(F>( <(@&(о(:&&&!(Fl3odhhh^OcFJ!K F{D (F}F(l!F(h:d2FFhhh;F F FpRsFF!(Fx(н(8&&!(FGl3odhhhOcFJ!K F{DT (F|F(l!F(h:d2FnFh`hho6{DD! F#I! F#+`#J! F#+`#+a.`hhNp6{D#! Fr#+`#+a. `hh;P6{D! F_#+`+a.`hh)06{DF !(Fn! FH#+`! FA#+`#+a! F8#"+`! F0"#+`*a)F h! l8(z! F# ! F#! l8(f! F # ! lu8(X! F #+` #+``h! FF`hhF8FF0F@5{D\l[`hh,5F !0F{D! h(Bl!`d F@FBF4{D1F F@EF`hhvF@FvF8Fr4{D FȹhhvFp`hU4F !@F{Dh! Fj{(F`hh7F{ 7F0F3T4{D! Fw}(<4'FF{D 44{D @ XFZF! F( @`h1F F"HEF`hhFHFFPFK{D FIhhFh`hF !HFh ! F[( ! F FF(@Y`F  ~hhF(F`hhKF$!{D1 QF htF(& 7Cb `F! F,(O F \;(F`hhYF; YF0FUK{D"F !(F! F}()O! FeѠhhFF``hh&KF !8F{Dkhdi+9 k{hhF``hhKF$!8F{DCh< +F hGF(𒀖 k(l+hdD F=1F FhhF``hhaKF !8F{Dvhr1F FBF`hhF8FF@FRK{DB kBy !FBBq*FBi1ɂiiaCEK{D)F FhhF`hhb:KF !{D0F h)F h ! Fv](F?`hhBF] BFHF>'K{D(FNMLYN\NKKK]MJCMLK?KKJGJPFIF~:IEHHTDGRGFB24F&BsFFx!(F0( =( Ъ(A"& (Я(;#& &!&&!(Fl3odhhhOcFJ!K F{D (FF(l!F(h:d2F(FhhhF FW FpCAF!F((F`hhF( F(FiK{D! F@-FBO F/BF`hhaF(FaF8F]YK{D! F|)(F0F`hhGF) GF(FCMK{D)(F! F])(F`hh*F8F*F(F&?K{Dl F2F(k"h0F8FhX(Fa F!F(Z"h0F'F(l;d! FJ,(F,l3od`hhOcFJ!"K(F{D.4! F,(F`hhF(FF8FK{D! F)(F?s`hhF) F(F K{D"F !0F @d@0@??L??7FF8$hhF FN!(F,(.!(Fl3odhhhxOcFJ!K F{D (FF(l!F(h:d"F(Ѩh F0>-GF(s F((nSK {D0F2F! FF(Y`h@-)FF FTPEF`hh!FPF!F8F>K{D! F<=(F`hh F= F8F3K{D"F !(FE F Fȱ k]ȱhhFP`hh#KF$!0F{D% 3 F9/#CF hFF kFh:F1F h[Fh`hF(Fe(F==A`;-OFF{D @  ` PF.! F@!!B F@΀! F@B@B а% ! F%6! F%0! F#lli;cl+`hhL:F!(F{D #cdIF FhhQF(`hh/:{Dx%! Fw0ܰ@#B!аO! F?!)а4@%B>! F.!! F'!ܼ! F !ռ! l8("! F!Ǽ! l8(! F !! lq8(! F !IF FhhF(/`hh9{DF !0F¼@B@! F"kjB `hht9F/!{D3! F@)BX@ HDIF FPEF`hhvF@uF(Fq(9{D_ kF y+УhhoF(ǂ`hhM8F.!{D}+Cy: * > * *`hh28{D>+YF@Fr F``hh8F.!0F{D^sy#hhF(v`hhT8FQ!{DEC@)Fsq F@,()F Fe##RF! FF(! F(@FB&3h + /@ hc(@ރh IF FhhF()`hh7{DIF F@EF`hhF@FFXF7{DF FйhhFx`h~d7F !XF{Dh! F((F@c`hhb07{DF.!(Fp  P `hI Fp((F`hh=F@F=FHF96{D"kjBУhh?F(؂`hh6FX!{Df Fd@-B F6Y)(6{D |6 {D t6{D XHFJF! FF(! F/@FB>`hAFF FPE`hhFPFFF6{Do F!(7ѣhhh`hF !PF!h! hF(H "!  O3PFX$O ! F[(0! F FVF(IF h:F(! F](F`hhWF] WFPFS(5{D"F !(F[#$ IF h*F( (`! Fy,(! FMEF(! FG)(F`hhF) F(F4{D"F !0F  ˍ3F hF(c k[F F( 3`#jH=GAFF F(3h 3`3F k(y˱y;+٣hhF(g`hhKF$!{D1F hAF(U`hF(FY(F/"h)F8FF(@lhe X7 hF()K{D K{D K{D K{D K{D K{D`h]!F F=( [(J! F| F5F(@A_! Fp# AhhQF`h0F '!PFu# $(# (h] F'F(#FFO  kq(# ع3h+УhhF(l`hK{DD0FO(ѕ#ع3h+УhhF(I`hK{D!0F,(rJ#zD3h+УhhF0`h~K{DF$!HFP0F(JhhFH`hqK{Dh4#SF hFCyC@CqSF kJFQF hF``hSFHF"hIF8Foh\! F,( ! Fg@AF FaPEF?Ѯ`hh-FPF-FHF)CK{D(F68F4*F hF(?`hF(F/"h)Fv1F hF(! F)](F?`hhF] FHF(K{D %b>?#??H::>>>>H>8;=8o=Fj=:07N65:::::l:|:9y94939`611-O F!FF{()F FQ(/"hF8FF( 8F F@! F@!B  F5((9F FFH! F@B! F;(F`hhKF; KF0FG7{D! F@ FB𶀰 ڰ򁃰{@Bа@Bg! F9BF`hhF0FF(F,7{D! F ((F`hhF( F(F7"F !0F{Da F?F(h! F)(F`hhF) F0F6{D>0@F7( c"! FF(=0! F! F0@F( c"! FF(0#)F2F hF(@͂! F<@FB-@ B@;n! FF`hh\F(F\F0FX5{D %k(FF( c! Fm((F`hh:F( :FHF65{D FF(! FL)(F`hhF) FPFh5{D!"c FjF(q.{/6!"F !(F #k0a(F'N'-OFjhFph 0`0Xb0c! F(9F F0}({ByhC;! FR#{(mѸ0b+g kFp0O kHF-h-Di+HFj# ˍ hkhrFb(Ѡh|MhhEF``hh%EKF"!0F{Djhc! FA}(/(,0!8 F(k0c! F);(F?j`hhF; F(F*KBF !0F{D0@(&O j(FH(FH(.Ѓ#s CE}+Cy" ck[h++Cy"Cy"bE CyiEyCqCyfECq`hF8F`8F ,%pF!`F%0!`B`J`O3aa#azDCbBabCcEdd0Fyb p1F(Рjb( c cc#dp -AF F FF*+&cB hCFh8FR& Q&ر6 Hh,5tU(,{hbh"Fl ,G{h[nG-OF F *@>!;+:8888888888I#I#hh, + DDD#*+@ F(hjhRjhS"#&+@jh Khi1FiFh)Fkh,{`#B' 1V3*jA,#&+@Ʉ`h0F mGAFF;F08F)FL#CEIFhh 30RhlF[FGX`3hh/^h.i;+;&+@m3&+@gxhvFphr0F mG+({hh+ѹshh+,١E(FIFF()F,6V(,0zh"lEKF8#FFF A+)FO 3cE  CE(CFBE(BFljjhhGXF8F(0F(2F9F+FPFViF+hhv FMF()Fc00FmGb;&+@3&+@ChjnGFhhFF%F()F9O,1,>8F()F+hh/?Ю\h,h.yi$+@w;&+@q Fs(k0Fm(e0j[nG)F F%0FUhR# 3B&*Fi);P+BQQQQQQQ6QQQQQQQQQQQQ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QQQ@Qh5 0mGFhhF^F(&)FsBԂ i`h6 0RhlFCFG0P mGhhPhFkhFi!F({)F&6E[F8KF 9 3B  2FB(3FNE(JF`hj6ljFiGhhZhhXhpFXhkFXhfkhFiF())F&E[F8KF 9CE8CF 3B8 1F  B(3FNEF(IF3B(3F6jljiFj`hG0 mGhFjh*Oxh khirF(́)F#B 3  0lFKh0lFKFRhi`hG3hhphFhhF2F()FH# qh,,lBFiGhh^hxh@FhhF F F(d)F,6V(,0zh"BFl,,iGphh^hxhwkhFiF(:)F,6V(< {h,l,JFhR# 3B&*7hhGFF N))Fhhk+Q`h/(LѸIkhh*4њh'h>FiB  O O EFE0njhh G  mz  G6D& j6hh0nGFEx`k+Zih h+Vbhh+Rѓh& hihECF(;FJEF(KF7FOE𬀳 2% EE+B B"DjDbB    m   C m G57FDD$&FFEmh7FYXhw OE hh7 0jnGGEӹF4NFjy*A}*+K{D +K{D + K{D K{D K{D i'!h  ###.#_#"x#pFhFi; +^7]QTW]ZG:. 7IyD(e p3IyD.2IyD1IyD.+{0.IyD-IyD0+IyD+IyD(IyD$h(%IhyD1 IyDIyD IyDIyDIyDIyD(.+h;+ I2FyD0 p pfffffvvf"""GKO2Ibh * +i,`h$h  -OF F@*@ȀA; +] O^}[ }[ FEhHhhhg+ ;$ i2!h{D3+4F.:(88N!2ih{D2hhS 8>!2i$h{D$𛻳i}+phP7T!2i$h{Dhh/?PyhphPFyhhi qhFhi7JF !@F{Dbxh(?+7'!2i$h{DQi8iFP|74!2i$h{D@;}+ `7V!2ih{D1+ L7V!2ih{D%+ 87V!2ih{D+ $7V!2ih{D jih +!m(Fjh3h~H|7!Fh{D2i hjih+!m(Fjh3h\H<7!Fh{D2ih~j[y>+&!m(F 7j{D1 jh3h/H6!Fh{D2ihQj[y>+2 !m(,Fj|D1 jh3h6!h{D2i j4 1(hjhiiFp`(~Yh j/4Ҹ;hS$0;+/0[h#j4hih30+5{D5{DJF5 !8F${D+(F$$4b9ihiFp` h;y+3@("b3jaf;+!m(Fjh3hHH45!Fh{D2ihji`;+!m(Fjh3h'H4!Fh{D2ihIij;+!m(Fjh3hH4!Fh{D2ih(im;+!mv(Fjh3hHx4!Fh{D2ihiu;+>M!mT(F~Ejh3hP84!F4F2i{Dhcah4F\'"1Fb\3V(?*4FN?hjh3h@K !h{D2ihhjhF(?IyD!(?K{DDKDD{D,]jB8Fx8F(?j8F1(j8F1(?ЮIF8F(?ɮ0', " (F(iiHF#k8FEYFQF(?I8FyD(?$hI8FyD(?h8Fh"F(?h 8FAF@F@K!h{D2ihphh+* h*4F*њ*i+ + h;+i+$'FFGEs0ҜB%rhhhS$0*Yh h+юK!2i$h{DM h*+@𫁋hh+@F4DK!2i$h{D2B}K!2i$h{D'sh'isB, hahS'7Fhi 6iahFhiDFhK2F!PF{D$h$$4F4F4F4F h4h6(@VK{D69i iXh4h$xOK{D%bj{j#;y+ h4hбEK#!2i{D"F9Fࣹh4h@=K{D2iW!h' h :F!FXF(~h$=nmh XUx\ \,)NMZO Թ0h+AF8F`9Fhi}Fp`(~h :h0B=*%;i+3#+ AFhiaFp`(~ūhw0+ 9FhiPFp`(~hf9Fhih6iUAFFhiPlK2F ! F{D$S*:i*8+u3#+AFhi Fp`(~h6*`+^0+>9Fhi Fp`(~oh!hih6iNK !2F F${D>+#0iB9FhiFhxF (iAFp`(~=hihB.9Fhih6iAFFhi0K2F ! F{D$M9Fhih6iAFFhi$K2F ! F{D$43#+AFhiF h$$h(iiFp`(~hK!2ih{D ,? K$2i!h{D F ofF Fb+F %cB hS%10F(hQ5#b+ !F0FaF(0F@ӻ F-CFFFO ;hh *;hh *Ji.BF1(FFh$=6hh(FF(49hhiF h4F)`8` F0chh*i+K! {D ijnG(` K! {Dh$$ F-GFFdF%A+.  | \HFKHFJFjMjݹPFEF(jh3h@K !:i{Dhhb1F(иi05F(FsFaa FF`aaeh !)F\()F|(hiai#iA(3Fi)F F@0 p (@  pG  #``Fh` h;0Ȃ#hXhFF#hh#`8!FjF hk F8#C`j`b 8FhFF!j#Fx``#F'aF pk F &K-CF F{DF#hZ +O2"`Ѹ}41F k (F IF k| (F `иO2"` IhFyD;FF_-A$ OmFO Dv h4 , N-AFFF")F0F33hF+(-(~(!(")F0F5*F1F@F-,~,+,Iа@ E@BCCA')F:F0F((:F)F0F*F1F@FF0hP:F)F0F)(!@B)F"F0F:F`)F0F/`8F (` F-C FFF+hF+N"AF(FF+h+E*/?"AF(FBF)FHFn*/F//DC)$@,qqpp,..DBF(Ѐqqpp,LB F+h+Ѻ//%/ F-A FFF#hF"9F F_F#h+."9F Fg:F!F@F#h+. --+-.(F-O FFF#hF˳x"1F F2DF#hsos+)"1F F62F!F@F 40 SFF!XF#h  E +"1F FF(FD-A FFF+hF+2"9F(FF+hS&<+&"9F(F:F)F@F>.м. <.фB$$ BԿ$$B̿$$B$$+h+ F-A FFF#hF"9F FF#hӱ."9F F:F!F@F.+]B]A-%#h+.(FF FFF#h"1F Fz&( "1F F2F!F8F@(FF FFF#h"1F F\^( "1F Fg2F!F8FE@(FF FFF#h"1F F>|( "1F FI2F!F8FC(F-CF FF@iO F#hñ")F FB")F F&*F!F@F&0FF FFF+h"1F(F"1F(F2F)F8F,4`$$ FK𵅰LjF{DF#mFL4$*"F8F0F:pF!FFK"!{DO3!F F @ F pFKjF#!jFxpkIyDO31FhF9F$sj3˄ F pF FF !F(+&hFi!F0Fe!Fa)+ kek-*KF!(F{Ds#cb" FF{ ( @(0FBorD_+ kek KF!(F{DQ#cb" FFY (( IyD IyD F3U @hF poN -AF!jF!jF%xk #(Ж#`4`hFI+aD<@Db + !F(F!F^Z*@)+/,+&`khFh kfkP5F!0F{D `k#cb" FF ((03&`khFh kfk4F!0F{D`k#cb" FF ((Ѵ!jz'F(FF`G`!F(F tB`khtF(o kfkRp4F!0F{D,(V)(T!F(Fj +>㹾Fop_*7>!jF(@ ˌ.FwF kek4F!(F{D\EFT ( F(0(+  )+ ;!jCF(F*!(F   t cj$!F(F/goqD_/MF(C >; (7 0!F))% +!F(F!F %!F!!(+#QF F>  (+bj`cb!jF(|3h 7`sh`w`cb.3F-\(`P!Fn'J/и03 kek2KF!(F{Dx#cb" FF (Y(V!FHp#F2F=w?h orJD_*򒀓-(˅!jF`k.!jF(~<h3h<`shC#HF(ѝ!jF(0FaF6hFw!jjF(?~j*(?x#@Fk(?o= L FPF"QF(FC#@FS(V!jF(?Odpˎ0FaF6hF3/ ~l F   -OFFFh+@#FK{DK{DK{DK{DK{D 1F(FkG(@1F(F oqZ_* h PF 8!F0Fu(@F(- 0;( 1F ! (+@#"QF0F (+rj`sb+i ` PF Q P PF A8F @(FW; З Oq(FOF*skhXF`0kuk8:KF!(F{D}pkv#sb"0FF (R(OorD+O!jpFpkZ> )Fd MF+h"F0F# 0kh0 0ktk KF! F{D  %ołt-GĂFFDD"9F F #(F@G"9F FFJ8(6c#cb" FF (( F &! F( %" FFFh(0 kekhKF!(F{D$p 4 kWKFF!PF#cb" FF (((" FF (Ѷ0bҀt" FFF!(1 kek!gKF!(F{Dg$q 4 kCFF!PFW#cb" FF_ (((?w" FFR (n0+ kekMKF!(F{D1#cb" FF9 (?V(R#0# A$=" F(i!F  `( kek2KF!(F{D$" FF (?(0+ kek%KF!(F{D#cb" FF (?(+#cb" FF ((! F0 (F_F09F FFk5-? }P-OhFF+)"1F#(O(+@1F F ((#`OCF + $ap,"9F Fou_(D_(&ckhFh kfk<F!0F{D8`k1#cb" FF< ((𓾹@b$0JF)F F&((F'O O3F")F F)(F(@sop _+OF6ckhFh kfkP;F!0F{D`k#cb" FF (=(9,%RF#  L(@?h/!jF(QёFSFFckhjFh kfkJ:F!0F{D`k#cb" FF ((ckhCFh kfk#l:F!0F{Dg`k`#cb" FFk (ƅ(½FPFi;F+OF&ckhFh kfk :F!0F{D5`k.#cb" FF9 ((𐽹")F F)F ")F F FO HF!jF(2QFXF ")F FFF%$)F9xXxG:"L(x"_(*N _(B׽x_(@&0FAiӱckhxFp kfkX8F!0F%{D `k%0F" FF2F kek68F!(F{D{fb" FF (߄(ۼ(F׼' F,<(Є ;F", F(Ą!F3m0:F1F F[oqD_(&ckhFh kfk8F!0F{D2`k+#cb" FF6 ((0O F, FckhFh kfk7F!0F{D`k#cb" FF ((,+@O! F(#cb" FF ((ѣjùckhF( kfks$7{DF!0F"Zh*%ckhyFh kfkY6F!0F{D`k#cb" FF ((O" FZ`vj kfk-6F!0F{Dreb" FF{ (փ(+h"F FbnF(@ȃ kfkX6F!0F{DMeb" FFV ((ѯ@jF(j&Ow "IF F=ȹ1BjyF(P)F2FUF01D#U kfk5F!{DI F%!FjF() p*FIF F'*FFPF813+DBB9Fj( 1FjXF10F01"IF FDOsURFF *05[F1k0  F^kFDZ kekW5F!(F{D#cb" FF ((,:F)F F@FB2bk +,h-4#{D""#">Fh kfk4F!0F{Db`k[#cb" FFf ((ѽ0:F1F FZ:(F2bk +0h1H4!{D  ! Fh kfk$4F!0F{D&`k#cb" FF* ((с:F1F F x IFXFyD (aI0FyD  ckhF` kfkKF!0F{D`k#cb" FF (>(:# F (@ckhF` kfkjKF!0F{D`k#cb" FF (( I h XFyD (MѿI0FyD  ckhIF` kfk)KF!0F{Dn`kg#cb" FFr (́(# F(@ckhF(] kfkK{DOI X XFyD9 й# F(sckhF(4 kfkK{D&I P XFyD F F\(JckhF` kfkxK{DF!0Fe5`k1ck 0h1oK{DF` kfkgKF!0F{D`k#cb" FF (%(!" FFWF(@ kfkYTKF!0F{Deb" FF ((khS kek?HKF!(F{D0")F F&FX kek*>KF!(F{Dpk FF8F+(π2F1F FlF(@ƀ kfk-KF!0F{DLeb" FFU ((ѮwQ8!?}jj>E,_v=NuFug& F &SFF2F9F F01(O0J,SF2F)F F{(D*F&IF`k;&;F`k60S kekwKF!(F{D!F&ckhF` kfk_KF!0F{D`k#cb" FF ((#` FDe` F(Ff(( +#`+WFP F*(orD_+L)F(B+8h,O (1!F8F, + !FPF&!F0r0(+#`#1F F&'+& ('bj`&cbAF F(cjS kekvKF!(F{D)(!jF(?2kIO3 0 C`HFyDϹFsF(H PF9- khBckhF(? kfk|PK{D  I(-hckh}F(?ޮ kfk[AK{D-P.-S!jJF(?Į``"aI(ckhGF(? kfk%'K{D- khBckh.F(? kfk K{D  (-hckh F(?n kfk K{Dw5t2RFFF FlchBѣh3`Bݥ` $h!@-%`0F F-A FF(\)]'+b+@тiVj.=Kh+OJ` hih `(F&/j!hF(:E`#2F<h<x9F 0!hF(E`#BFkhc9F 0sl3sd& 'GE hS'!F87#c` -O F !F>F(J#`FC`(F(?#hFuohkN#rh9lHFR8d6h-h'"@PձkhlhHF@hYFDrh4@' ''6h-h/ F AhhC;R#0"@[DB2[*A8 FKhFBOF #bhB"hR# @# 3 `bhB"h3PP1 e`8"Kh\C;, h'Fvh.X-R 6X-<;:F0 -GFkhF FJhB8FF ch!"hFC;R# khOy*hC; R# O| F@Ech'hИBkh4WFB6+hgF_XOC'hCzP"1 B:W"  Z!F0F[(ch"hC;B#P!F0Fu0 -OV MhF Fj2D> C hA9O P!3 O~E qF[@K  bX pQ! 9CH 0;B#FB!hA# 3!F!( F-GFP FJho hF B:Q"`bhB 5Y @I bhB7"h2FRRhKY B I 1!F8F !F8F( FF"F FF"Fch!hBA"2`(F"h!FV`0 8!F[F 8!(FS `(# Fc`8-GFFFF##F`] F rhF8FR^(rh 1hB:Q"" B0h P"2( `FLOP%> LophB"0h 5X Y @ I phB70hF@hKY @ I 2!F8F'( F8 FShFIhBchk`#(`(8bhB"hR#*hB#3 8-GFKh FF+ hh+X(FAF F!F(F((F2F(FAF(F((F%F(zhFsh(FD( {hB#"O FshE3hS.;hS ##\(RCL( FD0L# !F(F( F-OO8 O6C1+F OK1gU0K[0Z '@vEETA$OE PT$OEE lJO3 K T@O;4 K;(qIA:?A0 KcC #@2p#BEs gv AQJO3 c  :L >FpF&< 7C+G 7rS1+{8qL S0+;0t#*s' K1& qS+@ @Q0 CCF F'& 'CC8FETIO0@"H@#I HI DE =$OE$OEE>-A$`FFFF F"#@F(khzhB#FѓB 8h)hP#Q#B3##3` -OF- F F(F"# Fc(-)Fx F1 .) + .+.-.Ѧ-^B^A5&+x0Ѳ ) IF F7("'.+@"'O O ?0ɲ ).+ ) F6F(F "# F(IFBF FF(NфE+jx+*-*Т0 +wit+*-*0:  "#' "#Fx0= -(^ FFO 09 )ؾ?OϬ0  As' K = k 8JF F_(0+x F0F(%F F(BFIF F(/:OK;'].+]E(?^*IF F(S+ FF(F"# FZ(ڂ Fr(ӂF"# FJ(ʂZ Ӂ F^F("#9F F6(𶂺K{ڀK09 "#1F F (OEFkB;#qQ0 CCFB 2F1F FF(F39F2F FF(w5?-Ѻ{ IF:F FF(f o8FnFHFjj 6A*#s IF F!F(? FF(8F"# F(/"# F(& FF(%FIF FF( FF(F9F F7(kh+FrhYF F'(O FwhE'3h"?S'0+hBh#J'0*hS'0h" F(̀YF Fh 0FF(F?/:F)F F( O F:F( F3F(BF)F F(@FO(:F1F F(BF9F F(|{h:hC;R#0+")F F(l :"#YF F(b_F#SEW9F" F0F(T F(N FF(H1F Fj(A(kk8F `CF"!F(F8`hB!F(Fر!F2Fahj>``JF1F(F(?6?hji+ j!F(F(?!O#'+Ѹ`[!F(hF8!F(hF(F#"+ѣi+O #+ F(Ѵ 'FWEhS'yKh(h^B8F(ѻO 7.3F ѹ+chh+'+##".2F!F(F(!F(F9(ѹ&cB hS&)(Fe(?6F]NT-CF F@*Ѐ*Ѧi6&&b+v!F(F<( (F('hO S'7cB AF(F(hC (F#b+!F(F 0  8F FXcki;)F F0 8 8i`iCfa0 bHbpG8 FhFh 8 !+ыi+F *+jZjhS"8,+ahh8@8 FF!hE`Fi)F`cj``bkxCkp#i[k$0 8$ F F++.+ !h# 0kB h0FS$F(8F4pp FF!hF ph0FmG"b!hhhu``( FppFFh!F ph0F[mG"b!hhhZ``( Fp-GF FFF [RF!@F$F)FFHhB4F2F7DB ,2,BFQF(F0 #"bahb`h3`pGFhFF/F h mG"#FC,Bj2C;F2F!hh[``( F-AFFFF?1Fhh x !h(3j`0b-h F-AFFFFO.<`,`!")%)!)ѣi+1i+ hh[hh + +!F(`#"+ ѣi+ hh[hh ++c+hh,;hh+hh0FFcyi>+ ++ + m s0+ F(`y>8 -AFF FF@ F&FF2F)F8FAl;-OF+ F{D-Sh0G)F(3F l@F(@3+!;+kshhi*  + +''(FbF(ahF0F (ۅ^h0F~FFhF(ͅ3h++ h [mGh mG, ,#CE,3B`ih ;+*zD\"SFF(LHF2FFAF Fq(1F(F/@h3/@u(Fh0u("!F*(i*F!+ѓi+hh%+)F FQ:F!F(F(MhhHih;@+9  /@0(Frhhb:F!F(Fe(*0&+h,nG+!"F!(Fb+#ah(0Fb#ah0G"!Fh(h:F!F0(@D"!Fh(h"!F0(ۄhh/Մ[h+ф:,*ihhpd&*5hjnG?F-;&+)+@hS `h[hiF(("[hiB{hh#2jA?P8&{D#{hʠhF(vehF(n{h"AF0;FhY(^AF2F!F(S2FP$=!Fh(FB"!F(<.9h:F!F0hxF(+hqF($hjF(t7O O {D3hkhF(CFJF!F(F(HF!F(1FhKF(3i!FC`PFIF(ك0FQRFFIF F(̓9Fi@F!F1Fh"F(3i!FC`XF F(0F(JFFAF F(9Fiw!F8F1FhF(3iC` F0F((F?h^hi+@u(F(w2FFAF FR(lAFH1F(F^hi$+@QhF(RhF(KhF(D5O{D3#hkhF(+KFRF!FXF( !FPF(hBF!F0( 1FhkF(3iC`0FLxQFFZF F(9Fi!FHFhBF!F0(1Fh?F(؂3iC`0FPLAFFJF F(Ȃ9Fi!F8F1FhF(3iC` FT(L/@)F FIBkh F  (jOFF40`4{D Eh"S+  #Fh#hk0+k!h3F(c #O# ˍ0ʠhp`(DXP0qhhx`4PF(/h9FFPFR(!P0C`0 phRFFAF F``"!F8F(7Ft .c~h_phr!FF8F`(6h!F(F (j( kF(k F FWFDF +3;i(V @(ǁVV, : F F(VXFF( F( >?h; jPF0cHF~ (c(Fh:F!F(F(khh +k+@hh+Xh((@kh+hhh*Xјhqh 2F'!h F(T)Fkh"`hhPp`(G!h[F(?hk mGb"kh`hh8x`(/hhhF(F($!FHEEЊ#CE B N`Np20ADi//qhF2F'!hF()F."ih`hp`(+!"+7/Db+#a+"b/Bh`ih' h+@hh:F(ʀ)Fk+@hh[hh*hFh shhh E[F(SF E EI#C} F KF(EO hh ~ F FkF(Eh 2  m G P`JFahhF8jBR=n<:'hhH F F5F(Oh  m G X`hWDC( T P khhB3ҙhJFCF F iXhC'7C} F i(Fiu;+ :F!F(FHp!F(F,":F!F(F;.F 2F)F X(еB2F1F OB)F0F`(F0FhBЌhFFF FNh6h2 ..;FrF% .*F7F 1"!Fv(iyhD(!Fй ..;F")F F .O !h^(E`#j` b-OFMhFFFh+h + hp9FF E`%B!@F()F0FF(AF"hDF([FRF0F|(hC%5 F-CFKhFF!hFiF 9Fiձ!:FhF(bBFkhC`KF0FMF(вh F(-h F-OFFFFXh0B(F`khh*!аB*F!hF(} ihxh``(t+#B3@F@!F!FF@FhF!=F(Q)Fkh2Fxhh``(EO .")Fh(8kh"9FhC`dFhBF8FF0AhXFBF!FKFh0  OD.)khQF8FhiBF( BF'!h#()F YFxhifX`(ИFc+hh(F F-OFF!FhFF(VsBFph]h+h+h)F8``(EO . 0FF(7Ah(F(3:F!FhKF@pDDpXhB030#00RB$Ҹ!hR#0+ :F'!h(zh)FphiX`(Fc+ h Fh FFF$kBhS$0;,1F :F"q4 -C FFF !)")hi+@jY# V*R<3+ !hQF(ڀhhhYhhRhiu(̀,0Jh0iiB#FJFHh&@FB$m#Fh(!hF(hhS`Yhhx`( 3F V2"ZT3+  # Z\\ZT3+ :F b#FAF#hi*!rhhB h0F.(_ :F&!hF(T &#F:F1F(F=")F(C")F(<{hh *= *9" 0 i$shBFb!C`h sh"b)FC`HFyб")F s #F (FF` 6hN:F!hv ( 6 4*9Fh(F/*,8FF(!hF(qyDh !hF("hc(`` F##`-OFKhFFF  h$DE2!F(FFPF"9Fh0F`[F"IFh'ȱF`")FPF")F`(F|F 4 8FFj(*F!F8@8-AF FF"+ a+G!+mуi+jhF*Fh{i++]h7F n:Fh+F h)F(2Fh;F!Fh(z!Fz8Fgzz+F2F!F@F0 ?ihF(9F Fh#h(Ch hZhib"ahbV`h`hD`hD`"!FL(Тi!#ahbFbN`h`hD`hD`-OF- FFij*@   A; +!#&3[Z90)F1F8F i" [k[hbh8a`hD` ih[k_hh#i9F"F aihrF(ciiC``i2FF)F F(hhh+N:F(Рh4F(Рh.F(KFRF!FXF(ж!FPF(Ѡijc9F3F*F!F@FF(ѥ!FHF3F*F!F7(Рij9F~4F(РhF(FJF!FXF(?yz!FHFh'zzsѠijc9FR3F*F!F@F([h+@ !F8FhhF(?EhF(?>hF(?71Fi(!F0F-+F:F!FHF((? !F8F+F2F!F@F(?ij+@w1Fhh^F(?hWF(?hPF(?9Fi&hh;F(?ٮh4F(?Үh-F(?ˮF:F!FPF(?®!F8F(+F2F!FHFO(?h+ ݠij1F!F0Fij+@+F:F!F@FhhZh F(?􆮠hF(?hF(?xhF(?qѲ9FiR(!F8Fb+FBF!F](?U#!FFXF(J!F@FIфh+ +F2F!FPF(2ij1F!F0F-Ѡij+@9F#!FFHF(}hhZh icF(?h\F(?hUF(?hNF(? +F:F!F(?ޭ#!FFXFt(!F8F(фh+ +F2F!FPFX(ѷij1F!F0FѠijcAF#!FFHF;(њ0+h+E!F(F !F@F+F:F!F(2'ZB-hS'83F*F!F (?l7i }+РhF(?]hhmi8hYh FI i*FF1F F60 8FF&"`O~S)F(0@,@,@,@,@ <@,^8)FHX0 8-OFFL!OhO~S&aF $a(Ppc0h7(IРhN(`(CРhHh`(=!F(h0+3БK {D3#ˍsFhF`ah5F3iC`1ihrFH`i@BFF9F F 0 ( h!hy F`(,p /WG`8F(Q9Fh (;iC` "/9FhF(;iFC` F0SBSABFF(FYF (BFAF (AF FF( 59ihF(8FBFF F0(hF(Fi!F8F)KFJF!Fpj(?sijih!Fhhoi6k.8/6j3i;+-(FH)FhvF(?Q+i)FC`hlF(?G+iAFC`# FPF(?<F "!F(F(?/6h?haiqhHF(?#ciiC` F~Fi"b b"a$FhF %cB hS%10F(hQ5# F'+jSl3Sd-GF F)~ E;+x'wKw&cBnh(FS& 6hYh(hhhh(F0 hYh(h(F@1FF(#G"! Fb#*h(h`hh`+hh(h(F@1FqF(#J"! Fb#*h(hh_`hh ha hFIjq0 ]-OFF@FFJF8` 1F`h'F8`(1F@FR( sBhO S%YBF F(;hhC 53++ 3'+:h#F  c6kk:h#F  c5k- !`hF(gRFih F(`Щh<(WAF08h00n-hh  !`h(BRFih Fy(;XFFY-h-ѵh !`hHRFih F`XFFA-h-IF 00sh08h0016h.?T!`h F( -GFF F@h ii(`(b#i<!Fa@F*h(W+hjb!hA0F(v+h`  !!phF(;RF0F(3)0+h:Fy``ia@(h9F0gi  RFh0F0IF*hb{h0(h0?hG !phF( 'k!/h@Fc'#iB+h@F hS'I'(7j90F0+hb+h bnZf#Ca pG-OKk Fah F3,i-{jh'+sjk+o3XhQ!F(kh!i,4pXhF%N#ia#"iBhR#hB#31F F'jbjbcnsf#h#a`b#b*ha+`i+4`hkhik+@ihKx[khZxoZpj)Ehh#bD0%;D0Tr-h$h{ 8D0+;h ,(<$( 9h($&`N2Fqh?(?u6hz^Fzgzz#b3ahhh`#h3` h#`` c8`0E{ 0S+0YiYhk3hBh h  /?nhCЂF(@hShJxS{ QxoQpD)YFFXF-H YF0Zo hY(йBhhh)u %*hzhbyhBhIyDbh(F(9D *QFnF Qh Q QF o JxR 0h0 QxoQpBhhh %*hzhbyhBhIyDbh(?hhkh !a{hb pFFh!F pkh0F[k[mGb"kh!h[k``( Fp-AF FFND+5.3hF hAF"8hhF(0C` F:h"(h")F`8hF(:h F(#h+`$B hS$)BF8F(4 Chh*h+)+D#BhR# B")ђi:*3  -OF F!;+΃mi ;+Khh+@hh/‚{hh QF{F(&!F YF`AF(FN(2УiQF+F""(haF(!!FAF(F3(  FTPF{hh(@ "HF:0F81F(FF(h_h/8F89F(FF(shO {hhhiE0AF(FYF(Ѐ(FF(ɀ"1F(hFI((!FDph5(YF(FI(((hcF(O!F#EzAF(FF((FF("9F(h(!FxhX`(uO FEL!(hF(gPF!Fb0F"hYhp`(V1F(FlF(O(hR*`"1F(D1F(FFVFгFIF"(hnFx1FIF(FBF0  F 0C(YF(F1 (@i+@ "HFB0F81F(FF hsh' WE^ZF!(hF(8F"!F,@Fj"h4(AF(FF(9F(FQF((FF("1F(h(!FAph2X`(F(FF(CF"(hFI'(!F&AF(FI'(7&VEFY&0"(hF(!F 9F(F(?z69F(F2F(3nAF(FF(?g(F}F(?`"9F(hF(?W!FYF(FiF(?L#F!3F(hF(?A!F"h(?3YF(FH(?, 0C(shh+{hh+ iL+ "!F(F70F8F F -A F0F FFcBhOS%I8F hC5!F8FF(F!F0F(ХB *F)F0F((F F-OFFFF'.xRF!(hF pZF!(hF(,`bsh0shC`shh ) iAF(FKFF(00IF(hF(hhFJ`F`hE"F(!(h(!FBFahh(``F!F(F|(з09F+F""(hF(IF!F(Fd(6hF8F-AF,0 FNF(W!h0F++O#' hkhF(AЇeF hFг)F9F F,FF+F" hVFH9FAF FF1F hFб)F1F F FF"9F h'FH1Fo)F FA -OhFFh ^h.hhh+phh+h>F( hz('AF<Bd9F F1F( FF(khh+F")F hF(AFhh (QF FFFshh+[F"1F hF(AFph(YF FF3FQF hF(AFQF Fm(?hC'7-AFF!h(FFX)F F((F$ FO(J1FzD(F>j Vwhyj)@F xb(6h(F FWJ-OF FzDFFౖJ'!FF zD-j +-h-khi h +F A(&`khakhpF3ih F( 0 HF <(O O P;FF(X 9F ?F(bhh001F.F(3iC`khYj(kh,k.?}  ˄sh$AF@bF(?q ?+?i##ˍ;F 1F(?V#FeF(?L0FC` F(?A!FF(?9SF"I(?10FC`ľľIF0"#`eF(?G`XF @aF(? : ?SXQ Fy6hh 3 СF F@9PGi%#!+ѣi+%#!+ѣi+j0hh"+ѣi+#"+ѣi+hZh3njGh8DhjGi"0-OFFF3,\@,R%+jjXBXA!+ ѳi+Bѫi+?jjB6:"+8ѳi+5ѫi+2hhPFF@@FB  0iiB0iB `0 GDPhG`0FxhGE4hhhh 8FF!F8#F(FB F8FF %cB hS%10F(hQ5 FKFF{DF#(F#shF 1F(FF("F8FQ( F(F0FFbFhh!F `F9F0Fl((FphF0F FFh+%+j11F*F`hF Fp@p-CFLi FFF$chCE$h !8hF)F8htVH`1F0C`)F8<hFlF FFHkBF#8F( FpF h F XhxF0hBF pF1h(F( Fp-O FXFF `vqhQ(FS(iвhih(c6hp H /B~h3!;+98h(FBL(E2Fih8?j(F#1F(F;FrhPFFp++!F0F FHFr!FBHF(Ѣ?h H 70B; 0S'0\i,ah(F(hchFPFi]F(++ !hhFhFHF31FBHFH(cF`h00$h\00FA0FF`!FXF(!F(F7(>@h( bh#+h8Fh1FF03%+jɱHFh h`$h@(5Tah1(Fh h`$h #h-OF^k F F(uK *F!FHF{DrK{DU(!F(#!F8F( FOJF% OE !FHx(OEhS(k3m@k(3-@ !FHFT(4h  ,O!FHFO(  <XFMXFLF(:ei]jh:#AFPF(?}-hi-jh#+!hh%+F\ F0(?YF#AFPF(?P-h$h1h9(?E%,#h+h8F#hZh (Fhkih ++ 8FihB8F(?-h#h%h#`- 5-A$FFF%C#F F BF0:BjFT\3+4` ڲb"b Bb@c`-OFFFFF}(.#)+2+@%+F`OB"+FϜEB )a B R<T53Bˀ-.#!"a b,##aF#A2H<X +h! FS" `2FR(̀ch(Fi'cB 7H )F0F;F(!FOCF,aAՒ 0qD,qDAD<32+O E*  hS R!JF!0FXF(mQ*b9FS WhA*  BFahXFmx`(Q2FQF8F(J%!";{#ab"##axchbih2F)F F`X%`he#bhi@;Bc+c!F0FSFOF<+1*F!0FF(; hS"Phh`kh"i 9hh kh"i;BhC*PkhiD  khi@3cB+O #hh0jh#i9!B,XFih(#: hB*BFahXFx`(2FQF8F(%!";{#ab"##ax chb,i@hS%p'5cB9F(ZF1F8F&(^ -CFi F+Rjv& FO & FO & FO ^& FO =G&OkBhS&0XhHhS&0[hi+D&pD&6'OkBĀhS'`Vphq(shi>&D'`7hS&pD'6kBӥ.# xhS({hi ;#`hS&pD'6kBӊ. xh:8{hi ;###`hS&pD'6kBn. xh8{hi ;###`hS&pD'6kBR. xh8{hi ;###`Ch"F!iFB 7B,p:C"`)BCBCRC `$C `h[hXh#(hRhRhi@;c`hhXh#(hhRhi@;` CCC `c` F(ŀE1)C#E-+F!:****L*{ E"&-F"'UB#_B#ViFh@(hhRhi*"&%xBhQ"Ih i9@@M"2BhQ"Ihi9@@M"2k.)Fph(S6hEC)+@M"02B#+FBM#P3BM#P3hhMhh#(jhi@;+FhhNph#(rhi@;3F(h]%S%= 5cB  -OFMkFOO hES+iS(pj i`h0jchi 9! F(8gh;/+$h,xh0gh{hi 9!8F( 0C4!h)?7hBW+iS'@j(CFZF1FJ( e1FF( (1F@F('hQh00 CFZF1F!(HhC{'+(#hh#` FCFZF1F($h$hB+iS$0i;hSYhr;hh;`F6h4 9- *:q) r    ux{~x             29  "@GVj         x  )                                   @7h8(8Ȋ(( (Xh+@T *@# @ѵ@###:h@@""##S@:T   F F  B h 4h ,@h vh h l8@zx   B NH@h@ÀH@𻀴 h@𴀴H@ȊXh[z T@gȊR zO Ȋz@gH ȊzԿ@grA Ȋz@gdH9z @gV3zH @gHȊCԿh@9zwz(  @.phz8h  zg ȿg  `z0 8@ ' ( h 9RFߑ?cܥL@9B.?-OFG.- FF  ..H.CE.6/D.9ФK. I.O/;F"FD&FFzL.ЦS+zS.zOGzN;F F;FDz;FzZ;F D!F ;F!B дzzgz!.)O~S#+`HBz D.#мB;zzz1B"дzgzЅz&Bzzwz h BjzFzz JjZZzf$jzUj'%zzgzjUzzzBjzFzz DՄBڀT;E;BҀzgzzBjzFzDB𾀲zj7jfzz[F"F;FBгzz' @zhzHz ժBEE@zjHzzgzXzzBqzzgzzh*hG*hh*ihO h&iO ;F BQ"F FB'zFFEМzDjFzz26MDSDijB.z;F&FBЖzDjFzz4*уhhi;FB z FFBjzFzzD pG z pGz(z   pG pG z pG @z pGh+zz pG+ џz@zz   pGFpGpG+-G\F FFF(8FH!F8FF@FuFFF2F!F8F F#++ 0k!F8h!FB p #jCE !F80  _j 'iDB'a%aeiBԿeaca%h3F5%`eh=e`/+%+"+уi+!+уi+ CChipG Z0@pG pG pG%`FFF0PPP0@ \@\h@ 0jipGjXipGj DCXBXApG-C&F FFFkBhS&0AF(FGF;FhAF FC 36kxZ )F\Ykx[#գm;e`h)FO0h.0#rh(FQhGFqh;F FhIh(6h ##a-AF hFFj(D-DhF F0h(#C`#`jbB b jjB2Ҳb1b. .b.jB hR# jJh2J`3#h:F)F0F;#`5a;#`aP0 jSh;S`#hV0 jh3` pG-CF\0FfhkliF<, khHFiY?1FB<&AFp> #+aF FH FF F(` m@ pGpGpGpG-C%OF.F hBڏh.ȿ|YȿX| ȿ' hȿHW05CG@h3 hDChBؽ% hBh#T#`D#`3+5B`-A#FFCEЄhT#$%F<uFtF-ѦB8&F,F``h; +%$$$$$'"h++ O0opGopGi+++ oopGopGhopG pGopG*-CF8&O FFAF(FFF`BF!#&a'`c`ea` 1(F`0  -OF FFF$ +hB-ҩhQ$ @, DS<# Ch S!0B h  [9 0(E4 FiFB!m@iB8 F2F "hhh`%ac)`i!F("hh`#hB٠h!~h; h!2t&` -OFhFFF ++0FŖ#0ihŖ  0JFQF8F `%GFB1KFRF9F@F\D(J5 +i oJF)F8FG DKF9Fjh@F 4-hoJF8FqF G F- 0UEF(FB"OIF@FJ(2ZEYCQѭ -GFF CF@F7iF8FE0 +;h F + h#B8FzF(iv  65 G -OF"K{D(Y[H"r*3#g(I#F_8A  3Ez*RF9F0F#z(#RF9F0FO +@?b d$h,# `!0F'iD Z[H"r"(З#:F0FCF(0Fby!iD[oGBH(Ѿ+ P014(+ +NKO:O FO X*RF9F0F#XRFO #9F0F  c :K3 6S iKF  E   S&0BO3   QEX.O # O3Y O "F*( B"pEPk B2 B F Z?oRF9F ??b)#)` -O   FFFO O3PFFPF(FI  yD.FBF 9F0FO3d cѕ+`BBF 9F0F#FN( ]-O$%F  FF8FFF58F4F %`@F$I yD#FF"FAF8F(5РF   Uky!*i8FD IF8F.(RFYF8F&D#d-hC;4D` h; +  pG pG pG pG pG pG pG pGh pG pGpFM0FB p𵅰FIyD 0(F!F(F($B(F]k(4!(Fc(4(Fuo@C:F1FD #(F rv-A FIF FFFyD  FS!F FE(BF!F8FG( FCo@C"[)FD # F u FKkF`+HIyDp( F!F F(}Щk F (wk F(q Fo@C"9FD # F_4m311I FyD>(V F!F F(Lm F(F)n F(@in F(: Fo@C"9FD # F(s'I FyD  F!F Fбn Fn F Fo@C"1FD # F u +@܀/i (4F F( F?! F1(;h ( + (h#YFjy@F0DG +0 jy@F0DGF FT(?q! F(?j8FF F(?` F(?YAF F(?R F(?K F(?Dl F)!(?: F+ !\(?,iy F(?#! F(?! F(?l F(?Oq F}(? F  o@C"D # F6h #2F F Fmo@C2FD # F pt1ts-OFF ThyD( F>! F0(00Fzy +0 PEFD O )FGF(FH+hzy 0F+0hD)FG  Fd(! F(ځ F(Ӂ F+h ;+   !!h)i! F( F(IF F(QF F(𡁹l F)!(𗁽l0+JzD\! F(yy F(}! F(v! F(o! F(h Fw(`I FyD(X F{!F Fm(MI FyD(E Fh!F FZ(:O1 FR(2 FUo@CQF"D # FI FyD( F=!F F/(mHл?! F!( F$o@CQF"D # FzI FyD^( F !F F(ހ9nJл?! F(Ѐ Fo@C"QFD # FI Fo@C"IFD # F9?L$Gй0&+A5VIF FyD ( F!F F(YF F(#[E m jG F(r 3 Fo@C"QFD # F F o@C "D # F#szyAFo0FDG!D#hBĿ#` ` +2iO F-zy)Fo0FDGC& $  ˎ1Fkh F h-h  #F F qpspRppoo-OF?I%F yD T n F)FF F( F)FF F( F)FF F(=hO: 4 %L0Z   ˌ F0yk h(-h *FIF F # *FAF F3# # Fo@C*F1FD # F m-CFIFFFyD( F!F Fr( I FyD( Fi!F F[(+"+)+ !+ !! i;+vJzDDy!! F+(׀khh*h;+lJzDDyi! F(i F(+!+khѪi*!i+5 FB/*OCCɲh!* hi FBX3Cɲ F( Fo@C"9FD #KBI FyD-(r FIFF F(h/L{yD;+7JzDDz! F(U8iF F(L! F(Fl F(@O1 Fг Fo@C"AFD # F Fo@C"1FD # F 9F FghhF F_`9F Fc8O1 Ffj lrlkk[kjpF F&cB hS& p(F(6#%+#jF&+#"FF#"F!(F0 p-OFFFFyDo(4 F! F()kk[h++>L FyDS( F! F( kk Fh()F F()F F( FyD)( F! F( F! F(؂#oh5{D 5{D /ڀ~hl3Ӏ 04F F ( F! F(0 0 + 0 0#YFryHF0DG +8 ryHF0DGF F(a! F.(Z@FmF F$(P F&(IIF F(B F(; F(4l F)!(* F+ !\(qy F(! F( l F( Fo@C"D # FD3?h":F F #7 Fo@C:FD # F')F F0(с*F!FPFS(ȁjiK*F!FPF(ѹI FyD( F!F F(Kli{DDK{D.wh{j+#9FF F(yj F( F(~ Fg!F FY(s F(l FU!F FG(a! F.(Z;ih*h;+[Dyi! F(F! F(?;i!i FBX3Cɲ F(, Fo@C"QFD # Fk Fo@C"IFD # F[6hl Fo@C2FAFD # FI4 F( Fo@C"D #|I FyD(܀ F!F F(рkk Fh(ɀ)F F(€lI FyD( F!F F()l F( Fo@C9F"D # FYI FyD( Fz!F Fl(il FS(Щl FM(yl FG(s)m FA(mim F;(gЩm F5(a! F8([ FEo@C9F"D # F)F F!(F)F F(@*F!FPF(8Ыj4 F Fo@C"1FD #*F!FPF6( Fg Fo@C"D # FW + F iibi%ihff@ffMeed8-+hhpGh#hFhBFpGhhpGFh#h[y!y:* C#bycbqdy C8Fi FyFh+]y-h1hRFT(c{`cs88 FD{8Fh{8(F 8p F!FFXy`d<,q`p#`p-A FFFFho!F `FCF:F(hF 51F(F;"F `1F(FO( F-CF`F #F ^C,SC"h 6hBy+)э+FHF(4 "!(BycBq"h2Sy%ycq#h` `Qy CcQqh!Ky%ycqh"hB-ݓhBHSy;`A#h[y=3F"AFT(CyhCq#hZyybq#h`#y `*"byb#q y-Syay-RyB Fc#bqҲcbqcy;` -C FFHFF F0v4BCO"F)FHF8)FHF3)F ]0F !hYCB 1F#F8F K "SCA]"8F(ybqCybCqvh 1shO +Zh1nhn2BO sh` nB)F8F )F F)F@  F(6h8 FF!F"ycq*hSyCBycBq+h`(` 88 F!FE`ha{`cycs#h{Yy{CasҲYyCash8FF"ZycqhRyCCybbbECq FF"<ycqhQy"CybbCq i ShB\yBFh-AF@!FFFF # `)Fa 0=( F`#aacai F 0 `@IhZi;B h`FhIh 0-OFChh=-ch i!hY>0(=h?/\ch &O iS0^C0E0 0S)0]i=h`(00CE JiG#2FQFF F'm-h  $PO -[hhFJiG#2FFQF F(K-h , 8FNAF8FNF(3 [y@5CFh}*y**h2PyiyA@ `+F1F hF(3!+ѵi]B]AK{ FeKs-( hAF"i FG(` #P^C 6hFIiG#2FIFF F(-h PO hhFeJiGF2FQF F(ǀ-h/ch0FiDS00 F 0FF(5 [y 0j*#n` BQF Fs z3QFF  QFCF(v0[E%u 0FvO , 4 <0FhO  0  0F_(   , CF"QF FR(8yiqCyoCqF,ByQF0F/F( E "KFYF F'pyhqCyhCq?;V B-AFFi iP.Fױα{ysyJѻhhB8F}FB8FvF0FrF" h `hhB ܈Biy )h*``+F FF#i"{YyCa"sҲYyCa"sh ah`h#ih` F+Z{oZshIyD-AFFFޱ4i"y+ #hYy Coh8F0$h6h #hK]y#y #/%y- !F hhhBhZRy*BТh+F@FX Zy)CaFZq3{Ce3sh+F:IFiyDP a#{`#s-GFFFF$rhhBi9FS$+nB޿ 2 +nB 2 Gh0 BsB "%KJ!pi{D @i{hB 2`i2hB 1`hhF +iB'hO S$0^ihkϱhBѸFHFX-iShBE `h?h6h4 -AFhhFmF 3${hhBiS$ `>1(F(6h$`>1(F(6h4i&ifhA(F c{Ccs6h$h 8 0FFF(F( F8`hB h8hBCy pG pG-OFO F!F@` 4BFBFkhF F(. FzIFXF(P   !jh KFG(", HF0SFF "[F1FHFF(+i+ih 1Bh1h`Fh)fЏhWEcIyaaaQyoQqY)6hO !``#)i`#hh``#`h`*ihh4h`hhBFh+hB` h#`h`h0hh`"F)aHF1hF(?z(F7 F F-CFh $FFF %TC"!FBshF!F[hi:7бh BFAF8F2h FFF(Gh `EyFh):0F(5#y*h0FsFm8FnjKhñZhnn2Bh h*`yC"b`#q# "y!ae"qbycbq` F-OF FFF-F%bAF '(\0@O |EУhhj H11IT%5`;0++ JFQF8F3F`3h+$h0B0S$0 k{ZhBE JF8F3FH3hh4(F-O'Mh F F hBV+i S'`.KбhHF!h XFh (Mh F_(D+/бhHF4F   hj!FH33[h Fȱi`aAhHF6h7 H !hHFL0 h!h@FE !h">('hB(+iS'0^ih1FHF`(2F@FX(гh0 2F @FJ(6h7O hE+iS)0QF BFFF F>0`F0.G Fqh20F:rhB h "jBCiH11I 4!F;F   2FF(?ni `aQh(?c6h0` VqhBF FFF8FE@E:FYF@FG4!F2F   ;FF(?68F&6hm  a  <9F0FAF0FF8i+8Fh3ih`Fi< i2F9F a$h"FhB+iS$04Za +8F hF{C s!F8ch+Yh:h8p FLhF$chB$h !hQFf`!F(3#z{Cb#r۲{Bb#r FppFhFS{+@{4ӱ#FhQh{h`h{z+00FhBf"t5H#FxDhQh{[zh O`P#0S^1CFh(J{zDR#0;+@!2BCDhDhBBBBBBhB DDDhB   pLOO-OF-F8FFF@ o24 (F##$% (0F%(i̱#{"i(Fh ("F!i0FB(c{B$3$$h T (F (<(F FF0FAFF0FZ :8FFh(F (RF0F (ј!F(Fs"F8F(5F(F1F(F F8FF8FAFF F(؀zCrlN~D+]КhR{*S/F T9hY@F%G(9F@FS$?h,џ[+h3hK{ 8FG(*h zh{V#0SC:z'zzDg,F-h#h!Fh[{B$3$#hh{C@s h#)F F$3`3h:{ hF`#"h`hh` K!FhF FFRy{b2sРE"FAFXF(?BF!FXF(?z!F(?!FPF?ѮHF!Ft'(knNMp FAhFFh1+h*FH#B ahB)hD3r p-OFOaFFFF F!D> 1)0 $ !O # O F  D @* FO  B L,3+1 @ )(F(h46F`)F`h`l*( F8K-OFFF$ khBlqhFȱ  kPFAFPFF`IFXF(IFXFBэh4h"oBPhhBF#Dz 3U#cF@1,PEXhPE О z1U! @ BcF1{Fy9#!2{ALTT3+)RIyD k)#B;B3" 1{AITIHT2* F4IO0.I-OFhDFFF i#h[Yh BFhhBF+h+O , B) H3+#h#ZhhB $h#h(h+1YhhB!,/shBzH-h+h3+hSZyOCFh!F0F@( /rhB"zH"rFh!F0F*(hhBFl4[:F` 0  pF)FJ"ihjp`(21F FF(*#! h|F( )F,"ihjp`( ">* [h+O! hVF()F"ihjp`(1F FF(F! hF(݇)F"yhjp`(ч@F1Fb FzF(Ň:F! hnF(1F wAF, FaF("1F hiF(1FAF FMF(! hF(h9F`'h#-p,01F.p F-F(x;F!x4+٦y+)F FgS+{hYT.O0 Fa  @ (E0i+O BF! hFx4"F hF(+O BF! hF( AF,HFYF, F(hC)O )F8F9F FF(T. "" hF()F++*h+. {'|'h.ن! FzF(φ"1F hF(Ɔ1FAF FpF(#9F-.Rhh.! FQF("1F hcF(1F9F FGF(&F3F{! hF()FAF F0F({3F:F|! hF(p)F|1F FF(e"AFN..Phh.[3F"1F hF(Q)F]9F FF(F! FF(<;F" hF(3)F?9F FF((#6! hzF()F*9F FF("2FQ/.Qhh.3F"1F hF()F 9F FF(! FF(;F" hF()F9F FF(Յ#6! h'F(˅)F9F FuF(#3F0!1.5hh*^h.#5! hF()F9F FPF(3F" hXF()F1F F<F(#4!9.;hh.|! FF(rF"1F h.F(h)FtAF FF(]1F;F" hF(S)F_1F FF(H"AF=.4hh)>^h.:3F" hF(1)F=9F FF(&#!̻?. hh/^h.𼄟f 9Fhm(𧄟a 1Fhd(@;F2F?!F.Vhh/[h+"9F hVF(9F1F F:F({hi+~+,F! h'F(u 3)Fb8F|9F FF(e2F! hF(\ )Fb0Fc1F5#F!PD.[hh*DSh&i/*3FH! hF(5)FA"ihj p`()1F FF(!! hF(8FbFF! hfF( )F"ihjx`(9F FF(3FF6!H.Nhh.shi+ՃO3F2FF! h/F(Ӄ)F"ihjx`(ǃ9F FtF(CFF7! hF(9FAF F]F(3F" heF()Fu+򅀣hhm")F Fhu. OOh/[m+h 7u>"k&{DjiFF hF(e0C` FF([F! hF(RIF^QF FF(G! hF(?9F,`-`.`/`BIF FF(+"9F hF("9F.1F FF(h`w.)F F (F(hiV*٦m*] h)F&F(j"b3b 00.+&,0+"(pjhڹXhBjjC3۲c2bC c jb 0FhXh((𭂦m+ ^&_&e&]&hahX`q*E_h/ )F h(|j"b3b8F 0BF(lQF FF(dKFBF FR(\r.s. _#]#^#ahh_`t.@>^h.F@h/<#k)F hji(1j"b3b0F 0hF(!KFF" hF(1F#IF F( ;F"1F hF(1F9F FF("qhjF(2F! hF( 9Fb FF(ׁ#F! h(F(́9F"yhj(IF FlF(F! h`F(9F"yhj( _IF, FIF(I HFyD$@F2F(F hF(|0C` F'F(r;FF" h.F(hAFt0h{`+^9F F F(VF! h{F(M9FYAF FF(BF! hF(99FE"yhj(, AF, FF(! FF("AF hF( AFIF FF(:F! hF(9F"yhj( AF, FF(ހO FSF9! h,F(Ѐ9FAF FzF(ŀSF:F8! hF(9FQF FcF(! FOF("9F haF(9FQF FEF(FCF F>F(YFCF:F F2F(x:FCF1F F'F(mFSF" h*F(d9FqAF FF(Z[F"9F hF(Q9F^IF FF(G FF(@;FBF F/(9e#ah`h^`h"`h`#k.*)F F."-+hh,+kh F iF)F5F¼(F +#2Fx!0F -OOhF Fh.hF(𲀠hjih0Gj:F)F`3 Fb h.03F(h`+.+Aj+A8 $ , 4( D {DɊɉ Ɉ(03030b F(@F! hF(>)Fx1F FF(3F h F(* /)Fb0F_"ihj*p`(1F FF(hhm+J7"k{D83jiFF hbF(0C` FF(F! hF(^/p)F,-.1F F.F(KIF hF(Ch)FOh_`v#,-1F. F/0 F((hhm+$#k8FjyDHFF(F huF(;iC` FF(AF FF("9F hF(9F&{hh0+AF FF(چF! h-F(цIF AF FF(Ɔ! FF("9F hF(9F{hh0+IF FF(F! hF(9FIF FrF(BF! hfF(AF"j(x }IF, FNF(k:F! hBF(b9F"yhjg(U ZIF, F+F(HBF! hF(?AFy"jC(1OIF,, F-(:F! hF(9FP"yhj( IF,, F-F(2F! hF(1F*"qhjx`( 9Fb FF(؅2F! hF(΅1F"qhj( AF, F(2F! hF(1F"qhj( AF, Fs(#:FF![F hF(9F"yhjp`(x1F FSF(p&SF:FF! hF(d9F"yhji(WQF F2F(OZF! h&F(FYF"jJ(8QF,,` F-` F((:F! hF(9FY"yhj$(YF,,` F-`F(! hyF(h7FQFh,`&-`' FFF(! hX(ڄh`YFh,p-`  FFF(Ä"QF h(QF \ !Z& hF()FOs,pIF-p F.p/pwJ&(.&! hfF()FO N,9F- F./RF(o! hF(gh)FhZ`h`,-./`9F F.(@QJvP F(@vF! hF(/)Fi1F FF($hhl+L8"k{D@3jiFF htF(;iC` FF(F! hOF(9F-AF FF(F! hF(߃#1F,0#-0AF FF(΃:F! hF(Ń#1F,0#-09F FF(CF"1F hF(1FAF FF(;F" hF(1F9F FnF(hhm+#k8FjyD?@FMF(sF hF(i;iC` FCF(`! F F(X"AF hCF(OAF0h{`+E9F F F(=F! hF(49FnIF F F()! FF(!"AF h F(AFR0h0+ IF FF(F! hXF(AF6IF FF(:F! hF(9F""yhj(ۂ#,IF,0-0 FF(ʂ:F! hF(9F"yhj(#,IF,0-0 F(:F! hzF(9F"yhj('YIF,,p F-p_(|BF! hSF(sAF:Fjw(e2#,IF,0-0 F7F(TBF! h+F(KAF:FjO(=' QF,,p F-p(,BF! hF(#AF]"j'(OQF,, F-(AF hzF(hYFhO ,-p)QF FF(AF h[F(܁h`hZ`,-p YF FF(ǁAF h>F(h`hZ`,-pAF F(! FyF(F"1F hF(1F9F FnF('SFFF! h F(~AF"j(pQF FK(h[FBFF! hF(\AF"j`(NYF F)(FFF T ![* h(81F'q F,F- K*(&O ! hF(h`h,pQ`)F-H1F FF(FKF" hF()F31F FF(F" hF()F1F FF(ـF;F8! hXF(΀1F)F F(@ɀ FXF! h;F()F1F FF(ih h7(#2F`#a!p` hqF( FF! hF(})F1F FVz 0'!;F:F hF(c)F1F F<F(Y"ihjbp`(Q2F! h)F(K8F? F(BF! hF)Fq1F FFh#"Fjp`(2F(! hF)FY"ihj$p`1F FFp! hFP )Fb0F> 0F(FI-A F8F F7(>+++&,kah ++0F ``$hhOS$ ++ 4kB)F0FFXF0F(hCF)F8F( F-OFh Fh Khi+hyh"j i((hF(&+ F!FBK:F!(hUF(9F0F0\IF,(FFF(F#i(h(IF(FF0F(!(h&F(!F IF,(F( 0C& o6AF)iy+,;&+'уh mGhF mG!F(h8F(?u!FNh!BFphljG1Fb(FOߺ F-OFhFh-𠂃hh[m+d<5"k{DjiFF hAF(3iC` FF(zF! hF(q1FAF FF(f! hF(^#)F,0-0.0/01F F|F(J")F hF(A)F1F FhF(6O*FCF! hF((9F*FCF! hF(9Fsx1F8FCspkxCkp#hbh(#h)Fbh8F(1F F&F()F FF( 2F1F@F(*F)F@F(ځ#kZkhm*j I@FyDHFF(F hvF(0C` FF(! FF("AF hF(AF&0h0+IF FF(F! h,F(IF QF FF(v! FF(n"AF hF(eAF0h0+ZQF FF(RF! hF(IAFQF FpF(>JF! hdF(5IF"j(' bQF, FLF(JF! h@F(IF"jd( >YF, F((BF! hF(AFv"j@(߀ YF, FF(ҀBF! hF(ɀAFR"j( IF, FF(SF"1F hF(1F-QF FF([F"1F hF(1FYF FF(")F hF(z)F1F FF(pCF")F hF(g)FAF FF(]3F"QF hF(TQF1F F|F(J+F"YF hF(AYF)F FiFO2FCF8! hF`9F1F FTF*FCF8! hFȱ9F)F FAF"1F hKFH9F)F FO. H>FkFhF0IjyDi0FF(O:F! h F(G9Ff"ihj1h`(< )Fb FF1F h~F`3iC` FF(F;F" hF)FFBF?! hF)F9F F-FXFKF5! hF)F|1F FF! FF")F hFH)Fd1F FC -OF Fh!FF0F(_1FF"qhjx`(S 9Fb FF(G")F hF(>)F%"ihjx`(29F FF(*2F! hF(!1F"qhj( QF, FF(")F hF()F"ihjp`(1F FzF(:F! hnF(9F"yhjp`(Հ'1F,p F-pXF(ȀZF! hLF(YF"jpp`(𲀆,p1F-p F6F(! hF(QFh1F Fh#,p-0F(FKF" hF(~1Ff9F FF(t! FF(k"1F hF(c1FK9F FF(YCF")F hF(P)F8"ihjp`(E1F FF(>F! hF)F"ihjp`h%1F,P F-PF+FF8! hOFȱ1F)F FF"9F hFH9F)F FO -OFF (b%  0BX 0S%`j)HF(Obi,=ghHF9F(DCx +,9F0F(59F0FhE iR.0h1 h2ShSE hF `hJhB hF```$htiO .chiS 0P]jj Fij F)jmh>  9FHF^0P=O -0S 0`f1kAKh8;+ 1HFKhvh= JFi8FO F iPO6Di|i,, Baa,h4,`Aaah4`0Bp"FF!hF p(h(#a`!F``(h ( Fp-O'F FFiYF *FFOF(#i; 2 #ia'aciC 2 cika#caiC 2 ia#aiC 2 ia#a#jC 2 #j3b##bcjC 2 cjsb#cbjC 2 jb#bk@\@\FcF#\3+NWBkPPFc#\N ` 3+pѣk@ \c#P;LQNkcPR A `3+ph!@F`hp`hc`F(?B!@FF(?:!@F (?2   SF:FIF0jSF:FIFpjSF:FIFjSF:FIFjSF:FIF kSF:FIF`kki3+#0;" !h03MFX#aPF aPFglb,?ٮhC `i+e+b!@FF(?ǮCh"@!h03F#O 0PFa,aPF[ cPFUgb,?{h "!h0Fб#SEO1!T3+PFa#b-` cPF(gb,?phCc`ihn2rjzQiii2 `O3ifrjQarja (jhShXBXApG-CFF(G/+h0hvhF33+ Ѷ OE/hhD0F D$(+е O4&i@+hh8R#B3BD6FEh#R& F/ / / / /o o##oojXChB (+"+.+/+iz+y+7+;+  ٱhh XBXA "+(+ыiz+y+7+pG;+0pGFpG pGa.+ /+ pGFpG pG#!:*4L@ђ*j+   i1+ ,+++ +++7+ 5+ y+ z+ّ;+FHA F BsFB Bs"J!K{D K0h/hC0C`0 `=|@"-OF!7O0 &j,h+3/+zhZh.+s3+tP#BmhQ#)k .)f3G0TFO  0#0+?Dp0 /з0B0 B, x 8 "" SB4SA:FKF` RF9F(F4[F ?h(FH(1F 0 G0T$0F,F0F+.OpGpF F) i!*+ hh+" " +@hh+" "."*L+hh+قRh*Ղ$"3+hh+ƂRh*‚$" +hh+Rh*$" +@hh+Rh*$"(*@+hh+Rh*$"y+*hh,v FU(p FO(j FI(d#" # ##"z+*hh,I F((C F"(= F(7#" ###"+Hh h++(*@i*@hh, F( F( F("++)"  "!  " (F" $+Ih!h++Ё(*@ʁi*@Ɓhh, F( F( F(#+#"+ # # " (F!*"! 7+-h"h, Fd( F^(y FX(s#" #"##""(F:+ h#h+U"#" 9+ h$h+G"$"!F(FX>+h%h+7Rh*3!"%?+h'h+$Rh* "'!!F(F|@+/h(h)Zh** h++&*@&+@#"#+#* !F(+"0 F(߀j3K !{D"i%.,"C "'.**h,Chj*O8" " "$"";" ":" "/*@h"()*+Ch&'+3)Z* **{ hh+*uhh**phZh)*kh(g('j+!#*+ # !F (F'#+ ) (*=")(&fh)=Уj+:КjBRhyi * "a#*+ #(F # # 7#'#+)(* %" !F)>"(&O)$*%+ #h+h*Yh)Лh+ +(F!F"2 0*ыj+i0 ,p !!-Cf1$p'_IkgwKaRk1{D^F(F]bdec`p(׀nI(FFO yDkI(FyD(F(€c(F1F(c0dej+i#^i+[iCh+jZhj)j*h+_j{ #0"h0F[h#FXhhj)ih"nn2B=Ѝ#1"F0FCbh+Лh0khB [hb hh `hhk; h`,0Fh#h+П_aRjB [n;-"F0Fc0F1 (F6(FF0F(,(FbFiBjB i 0Fȱ(F(d(F0e00c;07 i])() ( )!()CXBXApG pGFpG pG(pFF $$. !(F4 Fp(pL|D4@$!@F%B!Bh4BIh5Bh1%C`[h+!`!Fp^)()(ЈB () )(  pGFpG pG pG(pFF $$. !(F4 FppFF p*БBN +S@+LhBуB hT#@,hT#@,3"+$+(+ыiiB&+3hjmG3hjJmG:B  p.+ьj,Эj-Щjj(ШX@ @ p p-CFt FFpIF@F"F)F@Fб)F@F08`0CQB eg@ 9hRb0hC@`#o+ t(FAF(AF(F08`0CQB%g 9hRb0hC `-OPO F FTFFOhG(iG( к h) cF  O*Jh*GЪ*Cٺ8𣂺9:*@򸂺 ѹwtO O1RBPiعh)) ``QaH`  O2:)fdjj(G>>}}}}}}}}d)"""""))"")Z:xxRRRO3h O2C( ѹ@\+X0C+@t O [FS/b D# 0Zb0  h!F(FC(0b2F0KFx+iD[h+ [BГE0  Zb00b0#D*0B B "F3F)FPFB "F3F)FPF  ch+[h+ B# B=QF FF(s QFB= FF(h@!F(FC( 2FKFX(@h # @ Ot Op `#J00C Db0nB9 3F"F)F (@q3F"F)F )B 3F"F)F (@R3F"F)F (@D'B#F*F@ 7(@1B 3F"F)F BՁ 3F"F)FOpi  sh"C( 2FKF!F(FBh%O`JOZ0kiZFQF#FH3F"F)F EkiZFQF #Fw(kiZFQF #Fm(kiZFQF #Fc(sqcm+mh#*@ijZFQFkipD#FF(W3F"F)FOp(@ji!FXFTAvE? vE83F"F)FOp(O2B'#F*F@ g(@a#F*F@ ;O2B#F*F@ G(@A#F*F@ O2B#F*F@ )(@##F*F @B̀#F*F@  (@ 0C*@CJ+`h(FB(0 BY[a (3!FD# 2FKF(@Ԁ  3C۲c[ (3D#hC( vBrh0C*h C_[+G`O WsEUhO C(0CJȲrE(1a0D"0!F`(F0D"0 2FKF+(pє0 3C(3D#0j00hC(`vE "F)F3FO@`(G3&ЫhC+""3Z`tRY3D# 0Zb03+є0b0h C(F h#@/ t'p'`#;Q0C Db0 -GFiFFF0+ %Z?kZh9F0F8ki]h-@5- %Z?[Zh9F0F(kj]hp5-0 %Z?[Zh9F0F(kk]hX5- clKZh9F0Fcl]h-F УlKZh9F0Fl]h-7  lCZh9F0Fl]hM@ #mCZh9F0Ft#m]hݹ УmCZh9F0Ffm]hmcmñZh9F0FXcm]h} !F 0F  3iC)P -OFnFFFh9F@F/F1F@F1F@F0 CQB Rfb&0hC`#9F0F(>9F0F0 CQB Rfb&0hC` # !F 0HFC"`F3ZF h#. l&h&`#3Q0CDe0-AFF#FB=F(F FhBF)FC&6 8F _h#@, t$p$`#cQ0C Db0-AFFhFF @5xДA)-+C`hC&PД0a0 !F8FsД0Zb0h"#`hC& FF!F # -G" FFUF!@" FF~R#BF 9F0F $#O #@]0m#h#$eh$t`@ee@ $0FO3F FK` z `o r i +"zB`"r #hhh#`k!h !+:F!F0hR( Fj FF "Jb2%*f` B Jbj-"Fih8hX(-hp F8!FF.p"O1`B``a`aaAbbbcDcp F!б !#`a` C`cO30# fgfCg()F+()"))F ( )!B( ( ( (( pG pG pG pGO0pG pG( pG() ( )FF pG ))8(!S DG!%)-15 pG pG pG pG pG pGO0pG0 pGF F#3`+(Q#@BW0 3;`$+ 0`n\#OeRc`sFOeIdOuAX#Ou9+T#%2+D#%+H#%$L# %kP#@%k44#%#%4#F$4)F;`# `3`-OFF #F +h; +"f!! !!!!/ ;Uih ;)N h+K (D2@N`.:гjO R+ *@> BAF R+  F +⮹ X)9ЎB0Fsxosp  =F 3F$F2F ( ;+ K1F(#QFR(`,f`;:+R#0DG+SkS[SSSSSSSSSSSSSS  hPF@(?1 h   h #!Fh A ;  (?#}b#&a"&a h\F(?F@# 0#0P`h0O30 0o 0 "h,F(?ȮFF ǼǼ@# 0#0#PPF0haO3a 0o 0 h(?  *iPFTh `O3#a#}o#uh `O3#a#}o#u ##`h,?|`O3#a#}ho#ubO##`j?fT0T@X0`"T0`Y ##`X(3H#`Nhhmi`O3#a#}aho#uO3a 0o 0#c`b z`(?F̮̮̮2F `>(?`0Ob`"Z`O2a} aouO2a o h bbVFSF.4F l:m;hXBXApGFpGFpG@h 0 h+0 F#0 -OFK FFh{DF*F FF@Fy ,! F(wJ!FzDJ(.j.L F4(ZFQF40 F(;FRFAF F(ZFAF F(AF F("F4~(BF)F F(AF F+F|(6h [F*FAF F(H0;)FBF FF1F@F ()F F(?|kjO.j[kXhvshYnZk!h fh0D6h0Eݳq02FJ!8F%K{DL2F#KJ!8F{DAe`d0h !Rh8(вBFF!jn:jfh#9F K FX K{D+FB yF!FFF :h0FG#b"F(F``( FpF-!F@F 3hH G#b"!(F``( Fp-OFF,6B{D3$ie(b0"b"00b0 "40F"(")F FF(+iC` F( (F F("F1F (40hm`%zD\%zD2"!#QF(" F$F(O O'(3F F} F(is( JF FF("FQ(! FF(?{ C`XFCF:F!F(?l3F F<F(?Wi1(?NJF FF(?E"F (?>! F<F(?6C`XF:0 +x ]hky> *@kի'jy.iDˍ3F F ` }( 4t")F}lky"! FbEkq F S`F(?E`  :F F*F(?Ԯ "FiC`,(?ɮ ,F2i(? 8(@a00m.@[4p)F Fhm+< (?+iF&C` ! F,FC((?@F , FYhH(?aP 1F FF(?m/" FF(?c 1F FF(?U 1F F(?KKFBF@! FF(?@AFOT FF(?0 iC`CF FF(?#9F" F<F(? ihC` O :F! FFC)(?HF, Fyh(?#DaѸO2O"W< FQFF(?٭QFA"W< FQF(?ɭQF1"IF FF(?IF$SF"1F FF(?1F;h"IF FF(?IF7 !C(O̠"7 FQF;FF(?QFSF" FAFF(?yAFSF"1F FF(?l1F;F"QF FF(?_QFAF" FtF(?R"!(?H#BF0$!KF Fz#(?:IF! FF(?/ h!`h"Z`h#`h`E  P (?+iF!C` FF(? 7 b FYh(?O !p` FF(?HF , FYh(?ݬ#P aIF F s(?̬FCF" FF(?¬AF*. IF F[(?2 IF FP(?RF@! FW(?QFO T F,F(? iC`KF FF(?"9F FF(?y F!ihC` Fz0FC)(?i b F#(?]#ax`O 0"1F FkF(?I1F"9F F^(?<9F2F! F>F(?0 Jb F(?$x`9FCF" F;F(?"!x`(?#2F{a! FF(? 8, Fqh(?OAF FF(?1FS 0IF F 0Z`"F(?֫IF>! FF(?ʫ#,0-0 FYh(?AF FWF(?1F 0QF F 0Z`CF"F(?QF:F$! F3FF(?1F1"9F FF(?9F! FF(?u h`hZ` FF(?e+i"C`;F F(?[+iFC`(@S (`00m.[)F FF(?=+iC` FF(?3iC`JF! F50FC&(?$0F>#,"!(?6.1:F@! F0F(?9Fm2"1F FF(?1F` FF(?+iC`;F)F F~F(?+i C` FtF(?ת+iC`3F" FF(?̪+iC`"F (?ê! FF(? C`  h D!F FF(?"FC` m(? a(? $ˍ F5F(?F FF(?~h `jb"FB(?s(F9-OO O O$%&'h+ h"Rl"RhB"a hl"RhB"a hl"RhB"a hmRhBa hmRhBaJh*?O JhRi*RhB a  JhRlRhBaJhlRhBaJhl"RhB"aJhm"RhBJhm"RhBJhRm"RhBO h  Rh"RhBhRj"RhBh Rh"RhB  i#S 2#` 0pEZ -G" O OO $%&Oh+;Oh7l'hBhlhBahlhBahlhBah?mhBahm'hBhm'hBic{  0PE 7`#F F F#Ai@h+F!h`D`03H3[C`#`pFFF FZX #"F#iihhF  #!hxP03H3[C`#`p-OF FFDFO " hBhh9 Bۙ!Q! )yO )h+G !\))F;FBF0FFh0FZ3`D##:FSFE(4h;` 7)FBF0FEF(hZ3`D##0F:FSF"h;` BF)F0F$8hZ3`D# ;FBF)F0F<(-OF F`  & hhB$hhB$h, F20h kh+. +!+-ѮhO >*++@+ ++hho>+ O O +г hO > hO >hO >&F'FO8 + ݸ?I #FEFFB*K-RohB ?hhB9y)?h/ ! ]) #`)F#F O3Rh?g0BO' BeFEжvh  ~K Ս@#F)F(CF?K0+0B3 0")FS&00#F6` 0O1%*$"P"0{B[jFBF*,МB1#F2*F*+ 0D)$B"+ݠ"BQ"@@"@:"@+B"BQ"@@"@2 0%Ch&tROB TiDVa@n@BhtROB TiDVa@n@B[h-%-AFQhFFh)D)H )L@)P X)T 0 "h3!(F` ` `$hB X/1F8F(4(h1F !FEk hBd+iS!00+[Г FBbi@`\aaab\bbbc\cccd\d\lfdlf dlg@emXgte\et\fdebfR`B[h1-OF#& FF`F"`!1FF(Fr'40@ 8hB iS&00c FBbha[h6 H &,#h"!HF|"{"*t iF:yh)3+'hy+ !hF #ihBlahWhBiЂlWhBdlWhB_mWhBZЂmWhBUBm" WhBJWhBG J RE^/*WhB6WhB2S/8Fah(  EWFahK!F" @FfCj(F&#!FY(F(?;`(F'h AIF8F"FF(?iO 8F-O   04 (F&0B0S&p{hSh:Zh;nn;SBSA#`@,Ȁkh4+`h`k`(ـ~(Ҁ$w(ˀm"!PF`|3 `l(fjh*@ <**+   [j8>nݻ O O E [, Z,0 <ʃ!O2zor!`zZ`orZ`"`zor)F(MРl )F(Fl )F(? m )F(8Рm)F`m)F`m)F|0 n)Fv#`dh4`;iB hS$04n65 <*XB hhpG-AF@F'O,9mh>+#nh>+-!(Fx`03`cmӱh#*h%*"* њi* %*Zhh#`F0F$h j-AFhFFeD<- 3iAF8FY<= pFjFDch1F(FZk$h pFFFbhy+ѧhSyD;+!(F`chF`h[kG``0Fr$h F F ch+h%F ?hB-h-hh90FJ( *F0F$h -A#F$!FFF #)F(BF1F(F(8F(1FF(F(IyDFF F( F-GFFFO @0-F,03H33[B-FB#"F(-y3F F #F#&CmF!F #(X T`H33[`;` 0``etS/B(5#D%09F0Zb00b0 0iFh#hBh` 5-3F -OLM|DdYj%h! K5{D  +s [h[k # hBc iS"0@,Vck+Ph+@L 0C -eh _k0BCBV  *6O @+FX/VB  0CE%4лY@i%+&+'jmGm,G:KE((((@, ,0S@ +-h# !)F( F(݀,   BM[?[ h [kmGx`:%*&*3j0/p(7𰀸,  B Ik: m GX`( +F2F(5  O (FO |H08F @jH0H0kH0Z"d#F{6:F@F+Z#KFF(GFb!F(?E` !F(4E``&0FO90CBW/:#)F`Vb 6dh 3 h  5hB{rmh- 7$a-O D FFFOaFHFF(v4$ 0B0S$0 X0;h+BFqkPFl4#HFrkik^F(Bkk P JO F8FskzDSFF(0$8FPF(#F$ik8F(#O3  8 i:Fa@F ? F GCFBF`$0aiE+skhoK{DmK{DBFI!# )F8Frk(h F ` 4ag%HFrkik#`(0 B@rkhkQhJ!PKBF#{D(F IF8Fjk"(w#rkikF(l И 0ԘFAFPF ~BFXF (N!F(Hkkh0B)!(F44 8FZOaFP "FF2 2@FX`K"J!#{DOO@FӼ  R(FBpGi0T]kei;##i?ei,#h=, >,<,Cj2+3Cj2+33S`02#A"00-CFFF&0BD0S&0P-:kn+5kSkihjk hh{h@[D,4$,$"#18hL#"8hDCmh6 -OOFFhchE;iS(0P-"!0F{h"#"   !2h8+9+ Cj+3Cj+33$h8+9+ Cj+3Cj+334`h:+;+уjCj+3lO +mO IFPFl۱iP}J@iQ 0S@ #+m۱iP}J@iQ 0S@ #klO lO QFXF{FkliP} iQ 0  HF ## liP } iQ 0  HF{ # #km+3i jmh;+* )$)))))))))))))))))&## #### # # # # #j 3#mKi!mh(+#+'+ +*+ ++ ,+### # # #kmj[ 3##jn*h-; +  ###### # # #j# # ##"m"1F(n"1FO h/V ! h( !Zh h(ـ  ! h(̀! h(ĀO  ! h( ! h(  O  !( h|(, ! hs(   ! hd(! h\(|! hU(u! hN(n! hG(g! h@(`! h9(YO  !Zm h.(N  ! h"(B! h(;! h(4! h p! h@! h ! h!! h"! h#! hPmh|p hD8d %7D FFYkR8"ik F0 0FFFoF!%jkh *bjBZn*Yk8F/(-hcj$jmF YkhF"(ch+Zn$h,2FYk(F( BhKhllpGpF F,.Уh++&hchll DdhchQjl DSb"ih2hjRknGh%i 5chl3hH0[k[mGh`$h ppF Fh!F3p#D``F`(1p0 Cp0p-AF Fh!FF%D`F`Ca a0p0(F+Cp0a`"`B``Ca pG@hpG-O FFh@FS(, 8 hHFJ(#h8FB( x hPF9(hheihp0@F1(-hh]heihp0HF!(-hhimihp0ЋyPF(ဣhh 8F(؀-hqhp06h.8F(%h5ih y+KyD;+ s0+ЋyPF8F@FHF(-h.&ehciO6hh*FIkh(cihhIkh (rcihhKk%ihC!H"cih (F2K{DF@#*FhIk(Ih@+Kk$ihB!H"# !K{D!@#*FhIk0h@+kk$ihv"D!3H3# K{D F IhhyDh`!h(FM ah(FF0 'Ʋb.-AF8F F(X#++%kih ++0F Eh`-hi+ %cB'"F!F8F( F2h]hi'+hhShh+khh+F:!0hF()FhhOS% ++0F(hC5-CFFmFE!FhF(9iFx& 0B# 0S&pj!@FubiTah@FmCx[H``$h|i.A߀hh._h/3&+;&+Aˀ3F>FF 1FhPxhFhhB& 1Fh(:F ! hF(Ҁ)F1F FMF(ǀxheFhhaE*F9F F$+@&.zhh/! F(0 hIFF()F& 3NEGYF2F FF(x FF(q:F%! hi(f)F F FZ`(X 0C&B"9F h,(G9Fr FFF(;6AF_%.Akhi+@hh.(_h/$ hF()F%@shi+1F*F FlF( FFF{hi+9F*F FWF( FoF鿹F0i+AF*F FAF(ڇ FYԿ@FRFKF%! hF(ȇIFQF FC( 0C%5BYFܿ(+@,y.Eh𧇸0&+@Mh mGh mGF1FF h')FOE 7 hCD[h!lhhFRFGx.)F FpD.hh+Y"F!F hF(N)Fy1F FF(C#6!H.?hh.7O3F2FF! hF())FT"ihjx`(9F FF(CFF7! hF( 9F4AF FF("F.@hh.sh'WE71F:F FFF(߆ F^F(؆AF:F F6F(φ FNF(ȆIF" hF()FIF F:(C'7/پ" hF()F1F FF(// " hjF()F9F FF(z"1F hV$@.#hVh.lh+h1&)&) h*Z'>! h2khi+khi+)F Fq(F;F()F FfU. )F F^?8.hh.%2F ! hF()FGAF FF(2F?!𺽦S+)F Fy*01.)F Fy(4.)F Fy 5.)F Fy6.)F Fy;.)F Fy<.hh.Ӆ#2F:! hCF(ȅ)F9F FCF("A=.=hh)^h.3F" hF()F9F F"F(#">X! F$F("QF hF()F1F FF(:F ! h^F()FAF FF(2F%! h{+0.k+hh)q+F")kZh*g+F Fy-.3hh.[#2F+! hF(P)F{9F FF(E#2F,! hF(:)Fe1F FF(/"9F..Phh.%3F"1F hF()FF9F FF(! FF(;F" hF()F(9F FxF('6!;F hbF()FAF FbF(܂2FR/.@hh.т3F"1F hF(ǂ)F9F FBF(! F,F(;F" hF()F9F F$F('6!;F hF()FAF FF(3F0!12+Nkh hAFF(w+ &)FFE9/hS")g2F FF(_ F(YhC&63)+(, */&+@! hSF(>)Fi,jb9F[.+@#hhhFh.%F hF()FH)F hjF(j")Fb3Fb F3F(h`hh(@ˁ"ihjh`(O  E)F h F(FF4(فkxZ@ׁ#h9Fbh(F(@΁kx[@`h)F0F(`h)F0G!chhBہiS! 2h3h7xhB 8h;F`hXhB hF`1/+@Āh_h/8{h2;3+-JF3! hF(|&9F9F2F FF(o F(i 0C&6NEAF F([h)FX`%BF%+hh*jj&[y> +)F hF(7j!a3)Fb FCF((h`AF %+hh) h<F(F hdF( j")Fb3Fb FCF([9F" hF(h)F` h<(倳jjbjC3۲c2bC c )+QhhnkB@hhfF h&F(&)FFE4hS(p/xhM( 0 C&pO xh  =E9FZF FF( F(  B*VFIF1+4hh.wrhkhhh))@+@+i FL F(_*iR!a"2F+@2Fx!# hF(K)Fw1Fo,+kh F: iF(:)F5Fe-+hh]8F[(FY,+ h, hS"`.K)F0FIF/έrhi*ɭ=0F `j3K !{D2ik +9F hNF(FfFƾƾƞ,0C JDb ,0 0C)p  QF FV0F -A F8F F(;+++#,kah ++0F$2``$hhOS$ ++ 4kB(F F0F(hC)F0F (FF,F"F)F8F( F-OFKhFhh.Q_h/NYFhF(G%AF]E:shi+ 1F*F FF FF0F{hi+ 9F*F FF FF;F IF hIFZ FF` 0C%5QF FO  FFPhF*FF!0hF9F+40,D+"B/)F0F@u-AFhFh Y#(+ѣi:+P&"F3F8!(hPF(9FchAF(F0NF(3F:!(h:F(9FAF(F;F("F3F9!(h&F(9F!F(F'F(CF"(h~F(9F!F(FA F-O FIFjh)hBIFhF( &)FNE*QF2F FF( FF(#Fi hF(9F|YF F( 0C&6AF)_h/ЀʀYFhF(€&)FS^EC{hi+9F2F F}F( FFF0i+AF2F FhF( FFCF"iJF hj(IF FFi(} 0C&6QFohi/pkfFh/F(_&)FBQ{hi+ 9F2F FF(L F3FFF0i+ AF2F FF(8 FF2CF i* IF2F FF F HFRFi hQF FF` 0C&6YF FO -CFh Fh _h/Ћi+3F"+3F"9F*rhi*#+O;F2F Q!R!h OT OS F(1FX9F FF(CFIFX+*3F"9FhF()F>AF FF(1F;F" hF()F+1F F{F(">!BF+;F"1FhF()FAF FcF(3F"9F hF(?x)F1F FOF(?m"?!BF h9)M+;F" N+;F"Q+;F"R+ 1F;F"hF(?J)FP+;F"O+;F"1F hxF(?7)F1F FC Khi+ "+CCFpFh Fh! Fx3F" hCF@)F1F Fp@ٸ p-AF FFFrHh F FF1Fn0*1 F"hF 1F^AF FF(3Fz F(F)F" hF(1FB)F FA FF-O  FFFF!FHF(2IF 3 (#K{D hBhS"Pj+2j,/h*nYh2nB("-*hhhZ`h`#"+@̀i;+ǀh D( Kh hF(!FbF+h+uЛhXh6(Fl ` '@"!XFwf+h hjFK'(+hh+h"hYhq(~+hhk0 ! )(qТh`:FahX`(eF$hF(Z7D`WE+hQF h(I+h[$ hhC$ 4TE+h)!ha+hh+`-h3?' $hB#hS'@j!@FFbiUih@F>Cx[Hh`-hdiO FH3F\dFX 0FO hx*h * nn8(O O #"FAF8F(-GF@O,p0Fan:F :Fm0F|(:F!n0Fu(;Fbn!F0F(;Fm!F0F(;F"n!F0F}(}al*F0FU(*Fl0FN(*Fl0FG(*F!m0F@(*Fam0F9(*Fm0F2(+Fbl!F0FJ(+Fl!F0FB(+Fl!F0F:(+F"m!F0F2(+Fbm!F0F*(+Fm!F0F"(?|t  H55mY@E7 F$#*FIF0F (S:F0F(?K:F 0F(?BE:FY0F(6;FU/!F0F(?-;F*i!F0F(?$;F*j!F0F(?UE$h  0 FK{D#K{DF <(ЫhZC;* )iX Ih:; F0Bh(+ѐi XBXApG pG-AFiF-O(F(H.i.E1h)Bи hDR B6݈hB33BFhxhH3\khjhdt!SB11)!#F"8hy"bqCyb۲CCq3h`0`F-h FFF1F  K !:F{D0F?(+h(+h \`@,`!F0F}( F-GFFFF  fK !:F{D0F(kh%`c`kh `@knl`+h-: *#@@2@*@@@񖀫m eehCs`h#s`mSk;Sc0C2b00XC: b0 MiF/R;h+OhREJњh :` h2*F[CB9Ѳ 0H hO *Fph  OJ t!SB11)!SF"0h(?Zy"bqCyCCq;h`8`FHFTkncf#kfhCs`h#s`bnSk;Sc!F0F(?0 F!hhhhpG i[hhBрh` Kh`hFFi F@hh]K'FFF`;Fh@F y"1FbqCybCqi 0бi1F 0i+hBFhF"hhB hhB!h"F1F(hF(C{!FCCsi0i"F1F 00 #` `ih` -GFFF F  $tO T?KEгBDE2F0!F8F3H33[#y(FF$jF9Fh! Q?h9*BYj)1B v:F1F(F>0 h(  F)7Mj !h-,F MC2FBmn9FOj/7)Dhqp)pBȿBh* 8 F h9+<+ljh,!Fdhlb8-AFFFF +6h<*3(1h9*.Yj@j)1(0B!(h# `C``3h`0`h-h!Fh(1Fh8FV0  -OF$!hvF 9h:($FF`{hhEi  S+P-kn+rwkiJF1F8Fm0CF(ЫiJF1F8Fm0CFw(iJF1F8F#n0CFi(+jJF1F8F#n0CF[(kjJF1F8Fm0CFM(ЫjJF1F8Fm0CF?(jJF1F8F#n0CF1(?}+kJF1F8F#n0CF"(mh1+-;++FO SFTFmhFv  g0Fp FFF!h&F p1F!F(h( Fp-OFFFh<+m0<"Oah`e(hCc`m+n0<"OahK(f(hCc`/n/$!piF(zF aEarm a aP?h(\YF# # yzbBF h"(Gah0F/gF(=СhF0FKy#hAx"j #i0F:D#*FH33[#)+Fbhh0F}+Fbh!i0FvH+Fbhai0Fo0 -A FhFFhh#"Fh#@#FBF9F0FN0   F F@y-AFh FFFP(,CF2F!Fh0+[m:n*Rh<)  !#h+Sj2h+3  XO *m9n9O33`@4e" h<* hIjh)1h3`c@4eP$@ 0(ѯ -OFlO2FhF.:2h*96B6 h{h\hy+Ѵ0h3H33CSy Fkm"hi(h@$hBF!F(F( "F&+FBFIF F(@6#BFIF F(@2+F2FIF F(@*#2FIF F(@+F2FIF F(@h@#@% P#2FIF FwF(@+F2FIF Fw(@#BFIF FwF(@F2FIF Fw F(@ׁ:FIF FBF(@ЁF:FIF Fwj(9;cmi(BF hlF(ҁFJF Fi0 0+_0JF9F Fhh(0YF FgQ.F%@ 0-@O "O2CL-AFhhC `U#0+&]h0*F F# ;(q+FBF9F F(h+FBF1F F(_+FBF F{(VZF (L[hS39ii=k{(F-h.F ghhB ;iS&0Pű W@F@F9iOEm@F)n@Fmh6O O F hE9iQ+Pj+fj2hh+nn3B_#Q 0  .I   KFPa KF iX BB%vh.(0+,0C 0h`0n3B;i X`+F i hg(;+%F   F?h#0 0+?ޮ.?t#RIE3"F# 0Zb00b03+}>F%AF F5F(TJF9F9# hkF(D+A*F FH3[C#$0GF.F|7Fy7FxFFGFt7FFFr p$O z F=#%GF%&Z#h#g pGCh i@8pGpF`!FF p`(!h&`C` #a(F`a()F9()F82((Fe(#"` Fmaep0@BiR!h hpGpFF1FF(F S_ hB#F`#FS0B R`B p pFF0 FFF8` F" 0P?B2`2*s FQjFF)1ihaj+##*C"@ 2F(F/0 p$FFF%FO1O\$0ch9* Zh:YjC)14,хk"# +F:F0F0  -AFPF-Fе *F H mOh4Hd*njh<+CF1F8F}( h<+#F1F8F@CF1F8Fg(#F$1F8F(-h  F h9+<+ aj)1cjBhcbpFihBMhIF phaiufa%ah ! hs`7F(Сm hfF(ci*FC&P#`O3`8.`k` ((Fp-AF FFFF2FF)F 4G$P-OFghFhTMB}Dܠ`sQK h{DPK{DSF ("i h(9Fbhm hCKX#AK{D7(   O{hAF hh #ZCm 2F(#8 `iRF1FHF?CF#qhXFpSFE`*F1FHF(УhB5`6h#OH+ТhchB (&0B0S&0Pű W F F9iOEm F)n Fmh6 JaQepG)1@h8FIjF@h#XCihBX1PiD`88FIjF@h#XCiDhBYh1Y`iD`8𵇰F$+BMF *F"Fy8#hC`F` F-OF F$FF+O> ObObAFhF(;Dbb3h  5h<*YjxhHEO O! O 3hsD 3 3hsDh{jBF3hyihD 0h $#3`-CF hF FF(*Hh9+EQj@hCHEF>+h!![ha"aZk+h"[h9F h:#[F #$!i i61i(+h:Faih[hh `iYhVh 0#ih`h#+` -AFIj'FF@hGCiF:Di  2(F3F@*hai hF $*FiF:D(5'CF2F)F Ft(CF2F Fj(75/-GFIj&FF@hFCiF3Di+8FCF8zhai hFx:FCnCFCFai hF(kТi)F<2D(bУi hDQFF(WF hF(P! h(J"b&0)Fb0#F h(2##")F h{H Orb)FhCS`7# hjbKF*F\ Fp#*F`KF Fv  -O X F0FHF1 (ҁ x !FPF(Ɂ!DhYC9(%0B:0S%0@,0 W"1 h9+0F9i"1 h9+0F_Em"1 h<+0F!n"1 h<+0Fdh5\hh,Ncn+!FPFH%h1+0F(2!FPF{FF0FYF0Fq0 +"FCFF!FHFgH!FHFY"FF0Fn0$h?= 'k{ 00 K[+; j@JA*B C/????jr zp0j1/KzZr'zj&z*rjr pqe*"0, 0 0000 `azf*b&jf*" zj  **0040<0/z00zqjrj pz'z&jq*rZj00 0000 0$0 `a*bz7zwjf zz * j,0/zzZJjz'J jZz$zzzzJJZz'z$zzz zJ J Zz'z$zzz J JZzzgzEzFzF zzzZJ jz'J jZz$zzzzJJZz'z$zzz zJ J Zz'z$zz z J JZzzgzEzFzF zzzZJ jz'JjZz$zzzzJJZz'z$zzz zJ J Zz'z$zz z J JZzzgzEzFzFzzzZJ jz'JjZz$zzzzJJZz'z$zzz zJ J Zz'z$zz z J JZzzgzEzFzFz/@0@-@  Q@  "000000 0 0/O-00-dM @  00 @0 0`ӛ Pp0 0@H 0 j pp@S K  00K@Yp K pK0Sj     zYJjZZjJgjf'Z%ZeJz'j&jZ'z'Zjzz'z'zz'zgzq zY*J*::JfGE*Ge:A*g:GFJG***::BJJJC zY *  :` * :EGbZJ*eZCZB:gZGb:czFzG JDj :Jfj zdz DzG Z Zj z0 :Jz JZZJ:GjjzJ :J:ZJGZ JJZZGjZjZjjGzjz0P`@ p00Yj >jmp PP48 <0`p V瞯< zYzj J jjJ z Z Z **j: j:JGJZZGj JJJ ZjG Z j jjz z@JzTz:Zj:GJJZzjJ::JGZGZjJJZZZjjGjjzz zjJjzJJ ZzZ jjJ:z J zJGZJJ ZZZGjZZ jjjGzj zN`FpG@PEA B0CL@Y}dЍdЍZ0JJ:zezT@zp eZDJZ'J -j:J Z z  !j! *ze# $j%z@'*%jeJg'* :jIJH*2: *H3Jsjr:":e!*eZ':!z' :I%*IZ@:z= jB*H*:fJfjZ"#H"JHz"#Z"zhd*:g(&g"JfEZGz'zg&jfj&A:AJ@zAj@jJJ4ZuJq:pIFjgzfj * :Z :J z *ZJjzj/P @-@@xwPp@-/ @0 PQ1 :@0 a *dJbjn@Lp0000 0000 00000$004000 00$0(0(080,0 000040,080<0<0p 0$`P0@ 4 08 ,0`$P @04, 80p JpG$B@BOFB(pB(pAB(ApB(poB(`oB(`AoB(A`oB(`_B(P_B(PA_B(AP_B(POB(@OB(@AOB(A@OB(@?B(0?B(0A?B(A0?B(0/B( /B( A/B(A /B( B(B(AB(AB(B(B(AB(AB(FpG  pG pGO0~)-@@pG)> HIBJHCBB@B#OF@(s@(sA@(As@(so@(co@(cAo@(Aco@(c_@(S_@(SA_@(AS_@(SO@(CO@(CAO@(ACO@(C?@(3?@(3A?@(A3?@(3/@(#/@(#A/@(A#/@(#@(@(A@(A@(@(@(A@(A@(H@BpGH@BpG8 Op@pG#H@BpG(ȿo@O@&)-@@pGSJ)(O1O0  m #pGOs8CU33033D0 @pG-C FBFFFB< !jӱ)oе-g   GFCBB< ! O ) Ae+;O6 e$mA4E;нBB$mA; $ %%FFiAeF   $G Ga E 3 - FF s? /XxGF /9@-glActiveTextureglBindBufferglBindTextureglBlendFuncglBufferDataglBufferSubDataglClearglClearColorglClearDepthfglClearStencilglColorMaskglCompressedTexImage2DglCompressedTexSubImage2DglCopyTexImage2DglCopyTexSubImage2DglCullFaceglDeleteBuffersglDeleteTexturesglDepthFuncglDepthMaskglDepthRangefglDisableglDrawArraysglDrawElementsglEnableglFinishglFlushglFrontFaceglGenBuffersglGenTexturesglGetBooleanvglGetBufferParameterivglGetErrorglGetFloatvglGetIntegervglGetStringglGetTexParameterfvglGetTexParameterivglHintglIsBufferglIsEnabledglIsTextureglLineWidthglPixelStoreiglPolygonOffsetglReadPixelsglSampleCoverageglScissorglStencilFuncglStencilMaskglStencilOpglTexImage2DglTexParameterfglTexParameterfvglTexParameteriglTexParameterivglTexSubImage2DglViewportglEGLImageTargetTexture2DOESglMapBufferOESglUnmapBufferOESglGetBufferPointervOESglRenderbufferStorageMultisampleEXTglFramebufferTexture2DMultisampleEXTglEGLImageTargetRenderbufferStorageOESglBindVertexArrayOESglDeleteVertexArraysOESglGenVertexArraysOESglIsVertexArrayOESglDebugMessageControlKHRglDebugMessageInsertKHRglDebugMessageCallbackKHRglGetDebugMessageLogKHRglPushDebugGroupKHRglPopDebugGroupKHRglObjectLabelKHRglGetObjectLabelKHRglObjectPtrLabelKHRglGetObjectPtrLabelKHRglGetPointervKHRglGetPointervglDiscardFramebufferEXTglGetGraphicsResetStatusEXTglReadnPixelsEXT GL_LUMINANCEGL_ALPHAInvalid value of 'internalformat''format' does not match 'internalformat'Format %s can only be used with type(s): %s.GL_UNSIGNED_BYTE or GL_UNSIGNED_SHORT_5_6_5GL_BGRA_EXTGL_UNSIGNED_BYTEGL_RGBAGL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, GL_UNSIGNED_SHORT_5_5_5_1 or GL_UNSIGNED_SHORT_4_4_4_4GL_LUMINANCE_ALPHAGL_UNSIGNED_BYTE or GL_UNSIGNED_SHORTGL_DEPTH_COMPONENTGL_UNSIGNED_SHORT or GL_UNSIGNED_INTGL_DEPTH_STENCIL_OESGL_UNSIGNED_INT_24_8_OESMipmap level %i does not existIllegal value for width=%i or height=%iGL_TEXTURE_EXTERNAL_OES cannot with used with this function.'level' must be >= 0 and < %i. Was %i'xoffset' must be positive, was %i'yoffset' must be positive, was %i'width' must be positive. Was %i.'height' must be positive. Was %i.Attempting to modify miplevel %i on texture <%s>, but this miplevel was not uploaded to the texture object.With 'level'=%i, 'xoffset'+'width' must be <= %i, was %i+%i=%i.With 'level'=%i, 'yoffset'+'height' must be <= %i, was %i+%i=%i.'border' must be zero. Was %i.With 'level'=%i, 'width' must be <= %i, was %i.With 'level'=%i, 'height' must be <= %i, was %i.ETC textures with dimension %d*%d need %d bytes to hold the compressed data. However, 'imageSize' was %d.internalformatPaletted textures with %u texels per byte, %d * %d texels, and a palette size of %d bytes need a datasize of %u. However, 'imageSize' was %d.'level' must be 0 or negative. Was %i'level' must be < %i, was %iCannot modify mipmap because it does not exist.'level' must be >= 0 and <= %i, was %i'xoffset + width' must be less than texture width. Was %i.'yoffset + height' must be less than texture height. Was %i.'width' must be either a multiple of four or 'width + xoffset' equal to texture width. Was %i.'height' must be either a mutiple of four or 'height + yoffset' equal to texture height. Was %i.'xoffset' must be a multiple of four. Was %i.'yoffset' must be a mutiple of four. Was %i.'image' is not a valid EGL image.The EGL does not contain any data.GL_TEXTURE_2D cannot be used with an external image.'image's format is not supported.The texture with name %u (<%s>) was bound earlier with a different 'target'.height'width' and 'height' must be equal, was %i,%i.'%s' must be positive. Was %i.'level' must be >= 0 and < %i. Was %i.'x' must be positive, was %i.'y' must be positive, was %i.frame buffer is in protected mode, couldn't be copied out.The current framebuffer object (<%s>) is incomplete.Must be GL_RGBA, GL_LUMINANCE_ALPHA, GL_ALPHA, GL_LUMINANCE or GL_RGBCannot create color texture from framebuffer (<%s>) with no color channel.Cannot create texture with alpha channel from framebuffer (<%s>) with no alpha channel.16 bit frambuffer (<%s>) is not a legal reading target.Cannot write to non-existent surface.With 'level'=%i, 'width' must be >= 0 and <= %i, was %i.With 'level'=%i, 'height' must be >= 0 and <= %i, was %i.16 bit texture is not a legal writing target.frame buffer or texture surface is in protected mode, couldn't be copied out.'n' must be positive, was %d.It must be GL_ARRAY_BUFFER or GL_ELEMENT_ARRAY_BUFFER.It must be GL_STATIC_DRAW or GL_DYNAMIC_DRAW.It must be GL_STATIC_DRAW, GL_DYNAMIC_DRAW or GL_STREAM_DRAW.'size' cannot be negative. Was %d.It must be GL_ARRAY_BUFFER or GL_ELEMENT_ARRAY_BUFFERusageThe buffer bound to 'target' is 0. It is illegal to modify this object.Can't modify a buffer which is currently being mapped.'offset' cannot be negative. Was %d.'offset' + 'size' cannot be greater than the size of the data in the object. offset: %d, size: %d, size of data: %d, object name: %s.It must be GL_WRITE_ONLY_OES.It is illegal to map zero sized buffer object.The buffer bound to 'target' is already mapped. It is illegal to map it again.Unpaired map and unmap operation.params can't be NULL.Unsupported pname value.Mali-400 MPMali-300Mali-450 MPMali-%d@ADEPQTUCBGFSRWV  LMHI\]XY ONKJ_^[Z0145 !$%pqtu`ade3276#"'&srwvcbgf<=89,-()|}xylmhi?>;:/.+*~{zonkj  c34Cannot read from framebuffer object with no color attachmentThe combination of 'format' and 'type' is not supported.'width' must be positive, was %d.'height' must be positive, was %d.'data' cannot be NULL.frame buffer is in protected mode, couldn't be read out.'bufsize' too small to read pixels, was %i, required %iglReadNPixels is only available in contexts allocated with robustnessA bit other than the defined masks (GL_COLOR_BUFFER_BIT, GL_DEPTH_BUFFER_BIT, and GL_STENCIL_BUFFER_BIT) was set as bitmask.'n' must be positive, was %i'buffers' must not be NULL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Cannot generate mipmaps, no miplevel 0 foundCannot generate mipmaps from protected surface.Automatic mipmap generation is not allowed on depth textures.Mipmap generation for external images is not supported.The texture object <%s> is not complete.Must be GL_POINTS, GL_LINES, GL_LINE_LOOP, GL_LINE_STRIP, GL_TRIANGLES, GL_TRIANGLE_STRIP or GL_TRIANGLE_FAN.mode'count' must be positive, was %i.Must be GL_UNSIGNED_BYTE or GL_UNSIGNED_SHORT.'first' must be positive, was %i.dOpenGL ES-CM 1.1GL_OES_byte_coordinates GL_OES_fixed_point GL_OES_single_precision GL_OES_matrix_get GL_OES_read_format GL_OES_compressed_paletted_texture GL_OES_point_size_array GL_OES_point_sprite GL_OES_texture_npot GL_OES_vertex_array_object GL_OES_query_matrix GL_OES_matrix_palette GL_OES_extended_matrix_palette GL_OES_compressed_ETC1_RGB8_texture GL_EXT_compressed_ETC1_RGB8_sub_texture GL_OES_EGL_image GL_OES_draw_texture GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_format_BGRA8888 GL_OES_framebuffer_object GL_OES_stencil8 GL_OES_depth24 GL_ARM_rgba8 GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_rgb8_rgba8 GL_EXT_multisampled_render_to_texture GL_OES_texture_cube_map GL_EXT_discard_framebuffer GL_EXT_robustness GL_OES_depth_texture_cube_map GL_OES_vertex_half_float GL_KHR_debug GL_OES_mapbuffer GL_KHR_no_errorOpenGL ES 2.0GL_OES_texture_npot GL_OES_vertex_array_object GL_OES_compressed_ETC1_RGB8_texture GL_EXT_compressed_ETC1_RGB8_sub_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_depth24 GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_format_BGRA8888 GL_OES_vertex_half_float GL_EXT_blend_minmax GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_rgb8_rgba8 GL_EXT_multisampled_render_to_texture GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_ARM_mali_program_binary GL_EXT_shader_texture_lod GL_EXT_robustness GL_OES_depth_texture_cube_map GL_KHR_debug GL_ARM_shader_framebuffer_fetch GL_ARM_shader_framebuffer_fetch_depth_stencil GL_OES_mapbuffer GL_KHR_no_errorOpenGL ES GLSL ES 1.00ARMMust be GL_TEXTURE_ENV or GL_POINT_SPRITE_OES.When 'target' is GL_POINT_SPRITE_OES, 'pname' must be GL_COORD_REPLACE_OES.pnameMust be GL_CLIP_PLANEi where 0 <= i < GL_MAX_CLIP_PLANES.plane'pointer' must not be NULLMust be GL_FRONT or GL_BACK.Must be GL_LIGHTi where 0 <= i < GL_MAX_LIGHTS.lightMust be GL_LOW_FLOAT, GL_MEDIUM_FLOAT, GL_HIGH_FLOAT, GL_LOW_INT, GL_MEDIUM_INT or GL_HIGH_INT.precisionTypeMust be GL_VERTEX_SHADER or GL_FRAGMENT_SHADER.shaderType'index' must be < GL_MAX_VERTEX_ATTRIBS (%u), was %u.Must be GL_VERTEX_ATTRIB_ARRAY_POINTER.'params' cannot be null.capMust be GL_ARRAY_BUFFER or GL_ELEMENT_ARRAY_BUFFER.The reserved buffer object name 0 is bound to target.Must be GL_BUFFER_SIZE or GL_BUFFER_USAGE.GL_TEXTURE_CROP_RECT_OES must be set with glTexParameterfv or glTexParameteriv.! !p!tu!tuvwx/)/)p&&''''&&Must be GL_MODULATE, GL_BLEND, GL_DECAL, GL_REPLACE, GL_ADD or GL_COMBINE.paramMust be GL_DOT3_RGBA, GL_DOT3_RGB, GL_REPLACE, GL_MODULATE, GL_ADD, GL_ADD_SIGNED, GL_INTERPOLATE or GL_SUBTRACT.Must be GL_REPLACE, GL_MODULATE, GL_ADD, GL_ADD_SIGNED, GL_INTERPOLATE or GL_SUBTRACT.Must be GL_TEXTURE, GL_CONSTANT, GL_PRIMARY_COLOR or GL_PREVIOUS.Must be GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA or GL_ONE_MINUS_SRC_ALPHA.Must be GL_SRC_ALPHA or GL_ONE_MINUS_SRC_ALPHA.When 'target' is GL_POINT_SPRITE_OES, 'param' must be GL_TRUE or GL_FALSE.GL_TEXTURE_ENV_COLOR must be set with glTexEnv{f,i,x}v.With 'pname' = GL_TEXTURE_MIN_FILTER, 'param' must be GL_NEAREST, GL_LINEAR, GL_NEAREST_MIPMAP_NEAREST, GL_LINEAR_MIPMAP_NEAREST, GL_LINEAR_MIPMAP_LINEAR or GL_NEAREST_MIPMAP_LINEAR.External images only accept GL_NEAREST and GL_LINEAR as min filter.With 'pname' = GL_TEXTURE_MAG_FILTER, 'param' must be GL_NEAREST or GL_LINEAR.External images only accept GL_CLAMP_TO_EDGE.GL_GENERATE_MIPMAP is not a valid 'pname' under OpenGL ES 2.With 'pname' = GL_GENERATE_MIPMAP, 'param' must be GL_TRUE or GL_FALSE.Mipmap generation is not supported for external images.GL_TEXTURE_CROP_RECT_OES is not a valid 'pname' under OpenGL ES 2.Must be GL_TEXTUREi where 0 <= i < GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS.textureMust be GL_TEXTUREi where 0 <= i < GL_MAX_TEXTURE_UNITS.'size' must be 2,3 or 4, was %i.'stride' must be >= 0, was %i.'size' must be 4, was %i.'size' must be 2, 3 or 4, was %i.'size' must be > 0 and <= GL_MAX_VERTEX_UNITS_OES (%i), was %i.Must be GL_UNSIGNED_BYTE.It is not allowed for a VAO to encapsulate client vertex arrays'param' must be 1, 2, 4 or 8, was %i.Must be GL_PACK_ALIGNMENT or GL_UNPACK_ALIGNMENT.        funcopcodemodeAlphaMust be GL_NEVER, GL_LESS, GL_EQUAL, GL_LEQUAL, GL_GREATER, GL_NOTEQUAL, GL_GEQUAL or GL_ALWAYS.Must be GL_FRONT, GL_BACK or GL_FRONT_AND_BACK.sfaildpfaildppasssfactordfactorsrcAlphadstAlpha'size' must be >= 0, was %f.When 'pname' is GL_POINT_SIZE_MIN, 'param' must be >= 0, was %f.When 'pname' is GL_POINT_SIZE_MAX, 'param' must be >= 0, was %f.When 'pname' is GL_POINT_FADE_THRESHOLD_SIZE, 'param' must be >= 0, was %f.GL_POINT_DISTANCE_ATTENUATION must be set with glPointParameterfv or glPointParameterxv.'width' must be > 0, was %f. 'width' must be >= 0, was %i.'height' must be >= 0, was %i.bVWHXQbVWXQ'n' must be positive, was %i.Cannot alter framebuffer 0Must be GL_RENDERBUFFER'samples' must be <= %i, was %iMust be GL_RENDERBUFFER.Cannot get parameters when the reservered renderbuffer object 0 is boundThe EGL image has no data source, and is thus not legal to useThe format of the input EGL image is not writeable.The surface's format is not supported.image width must be <= %i, was %iimage height must be <= %i, was %iCannot alter renderbuffer 0.bVWXQH Must be GL_FRAMEBUFFERWhen 'renderbuffer' is non-zero, 'renderbuffertarget' must be GL_RENDERBUFFER.renderbuffertargetCannot modify framebuffer 0No framebuffer with name %u was found.textargetOnly mipmap level 0 is supported, was %iNo texture with name %u was found.The 'target' parameter is GL_TEXTURE_TARGET_2D, but parameter 'texture' refers to a texture (<%s>) of dimensionality GL_TEXTURE_CUBE.The 'target' parameter is GL_TEXTURE_TARGET_CUBE, but parameter 'texture' refers to a texture (<%s>) of dimensionality GL_TEXTURE_2D.Must be GL_FRAMEBUFFER.Cannot query framebuffer 0Not supported when the attached object's type is not GL_TEXTURE or GL_RENDERBUFFER.Not supported when the attached object's type is not GL_TEXTURE.The framebuffer <%s> is not complete.'numAttachments' must be positive, was %i.Invalid attachments pointer for framebuffer object <%s>.Invalid attachments for framebuffer object <%s>. %s:%s:%s:%sErrorWarningPerformanceInformationInvalid typeInvalid 'bufsize' and 'messageLog' combination. bufSize must be > 0 if messageLog is not NULL, was 'bufsize'=%i and messageLog!=NULL.'%s' argument was not a valid GLenum for this function. %sDriver ran out of memory.Must be an GL_DEBUG_SOURCE_* GLenum or GL_DONT_CARE.sourceMust be an GL_DEBUG_TYPE_* GLenum GL_DONT_CARE.Must be an GL_DEBUG_SEVERITY_* GLenum or GL_DONT_CARE.severity'count' must be >= 0, was %i.With 'count' > 0, 'ids' cannot be NULL.When IDs are specified, 'source' must be GL_DONT_CARE.When IDs are specified, 'type' must be GL_DONT_CARE.When IDs are specified, 'severity' cannot be GL_DONT_CARE.Must be an GL_DEBUG_TYPE_* GLenum.'buf' cannot be NULLThe length of the string must be < %i, was %i.Must be GL_DEBUG_SOURCE_APPLICATION_KHR or GL_DEBUG_SOURCE_THIRD_PARTY_KHR.Must be an GL_DEBUG_SEVERITY_* GLenum.Max stack depth (%i) has been reached, cannot push another group.'message' cannot be NULL.Illegal attempt to pop default group.The length of the labels must be > 0 and < %i, was %iGL_SHADER_KHR is not supported in OpenGL ES 1.1.GL_PROGRAM_KHR is not supported in OpenGL ES 1.1.GL_TEXTURENo %s with name %u was found.GL_BUFFERGL_SHADER_KHRidentifierGL_PROGRAM_KHRunnamedError:::Driver ran out of memory trying to output a debug message. Subsequent messages might be lost.glAlphaFuncglAlphaFuncxglClearColorxglClearDepthxglClientActiveTextureglClipPlanefglClipPlanexglColor4fglColor4ubglColor4xglColorPointerglDepthRangexglDisableClientStateglDrawTexfOESglDrawTexfvOESglDrawTexiOESglDrawTexivOESglDrawTexsOESglDrawTexsvOESglDrawTexxOESglDrawTexxvOESglEnableClientStateglFogfglFogfvglFogxglFogxvglFrustumfglFrustumxglGetClipPlanefglGetClipPlanexglGetFixedvglGetLightfvglGetLightxvglGetMaterialfvglGetMaterialxvglGetTexEnvfvglGetTexEnvivglGetTexEnvxvglGetTexParameterxvglLightfglLightfvglLightModelfglLightModelfvglLightModelxglLightModelxvglLightxglLightxvglLineWidthxglLoadIdentityglLoadMatrixfglLoadMatrixxglLogicOpglMaterialfglMaterialfvglMaterialxglMaterialxvglMatrixModeglMultiTexCoord4bglMultiTexCoord4fglMultiTexCoord4xglMultMatrixfglMultMatrixxglNormal3fglNormal3xglNormalPointerglOrthofglOrthoxglPointParameterfglPointParameterfvglPointParameterxglPointParameterxvglPointSizeglPointSizexglPolygonOffsetxglPopMatrixglPushMatrixglRotatefglRotatexglSampleCoveragexglScalefglScalexglShadeModelglTexCoordPointerglTexEnvfglTexEnvfvglTexEnviglTexEnvivglTexEnvxglTexEnvxvglTexParameterxglTexParameterxvglTranslatefglTranslatexglVertexPointerglCurrentPaletteMatrixOESglLoadPaletteFromModelViewMatrixOESglMatrixIndexPointerOESglWeightPointerOESglPointSizePointerOESglQueryMatrixxOESglGenFramebuffersOESglIsRenderbufferOESglBindRenderbufferOESglDeleteRenderbuffersOESglGenRenderbuffersOESglRenderbufferStorageOESglGetRenderbufferParameterivOESglIsFramebufferOESglBindFramebufferOESglDeleteFramebuffersOESglCheckFramebufferStatusOESglFramebufferTexture2DOESglFramebufferRenderbufferOESglGetFramebufferAttachmentParameterivOESglGenerateMipmapOESglTexGenfOESglTexGenfvOESglTexGeniOESglTexGenivOESglTexGenxOESglTexGenxvOESglGetTexGenfvOESglGetTexGenivOESglGetTexGenxvOESglBindVertexArrayOESglDeleteVertexArraysOESglGenVertexArraysOESglIsVertexArrayOESglQueryMatrixxOESglCurrentPaletteMatrixOESglWeightPointerOESglMatrixIndexPointerOESglLoadPaletteFromModelViewMatrixOESglIsRenderbufferOESglBindRenderbufferOESglDeleteRenderbuffersOESglGenRenderbuffersOESglRenderbufferStorageOESglGetRenderbufferParameterivOESglIsFramebufferOESglBindFramebufferOESglDeleteFramebuffersOESglGenFramebuffersOESglCheckFramebufferStatusOESglFramebufferTexture2DOESglFramebufferRenderbufferOESglGetFramebufferAttachmentParameterivOESglGenerateMipmapOESglDiscardFramebufferEXTglDrawTexfOESglDrawTexfvOESglDrawTexiOESglDrawTexivOESglDrawTexsOESglDrawTexsvOESglDrawTexxOESglDrawTexxvOESglMapBufferOESglUnmapBufferOESglGetBufferPointervOESglFramebufferTexture2DMultisampleEXTglRenderbufferStorageMultisampleEXTglTexGenfOESglTexGenfvOESglTexGeniOESglTexGenivOESglTexGenxOESglTexGenxvOESglGetTexGenfvOESglGetTexGenivOESglGetTexGenxvOESglGetGraphicsResetStatusEXTglReadnPixelsEXTglDebugMessageControlKHRglDebugMessageInsertKHRglDebugMessageCallbackKHRglGetDebugMessageLogKHRglPushDebugGroupKHRglPopDebugGroupKHRglObjectLabelKHRglGetObjectLabelKHRglObjectPtrLabelKHRglGetObjectPtrLabelKHRglAlphaFuncxOESglClearColorxOESglClearDepthxOESglClipPlanexOESglColor4xOESglDepthRangexOESglFogxOESglFogxvOESglFrustumxOESglGetClipPlanexOESglGetFixedvOESglGetLightxvOESglGetMaterialxvOESglGetTexEnvxvOESglGetTexParameterxvOESglLightModelxOESglLightModelxvOESglLightxOESglLightxvOESglLineWidthxOESglLoadMatrixxOESglMaterialxOESglMaterialxvOESglMultMatrixxOESglMultiTexCoord4xOESglNormal3xOESglOrthoxOESglPointParameterxOESglPointParameterxvOESglPointSizexOESglPolygonOffsetxOESglRotatexOESglSampleCoveragexOESglScalexOESglTexEnvxOESglTexEnvxvOESglTexParameterxOESglTexParameterxvOESglTranslatexOESglDepthRangefOESglFrustumfOESglOrthofOESglClipPlanefOESglGetClipPlanefOESglClearDepthfOESglGetPointervKHRglMultiTexCoord4bThe stack for GL_MATRIX_PALETTE_OES is maximum 1 element deep, ergo push and pop do nothing.Cannot pop the last matrix'nearVal' must be positive, was %f.'farVal' must be positive, was %f.'left' is equal to 'right''bottom' is equal to 'top''nearVal' is equal to 'farVal'Generating mipmaps with format %s is not supported with type GL_UNSIGNED_SHORTMust be GL_TEXTURE_2D or GL_TEXTURE_EXTERNAL_OES.With 'pname' = GL_FOG_MODE, 'param' must be GL_LINEAR, GL_EXP or GL_EXP2.With 'pname' = GL_FOG_DENSITY, 'param' must be >= 0, was %f.GL_FOG_COLOR must be set with glFogv.Must be GL_FLAT or GL_SMOOTH.Must be GL_FRONT_AND_BACK.params is NULLWhen 'pname' is GL_SHININESS, 'param' must be >= 0 and <= 128, was %f.Must be GL_SHININESS.When 'pname' is GL_CONSTANT_ATTENUATION, 'param' must be >= 0, was %f.When 'pname' is GL_LINEAR_ATTENUATION, 'param' must be >= 0, was %f.When 'pname' is GL_QUADRATIC_ATTENUATION, 'param' must be >= 0, was %f.When 'pname' is GL_SPOT_EXPONENT, 'param' must be >= 0 and <= 128.When 'pname' is GL_SPOT_CUTOFF, 'param' must be in the range (0, 90) or equal to 180.Must be GL_LIGHT_MODEL_TWO_SIDE or GL_LIGHT_MODEL_AMBIENT.Must be GL_LIGHT_MODEL_TWO_SIDE.Must be GL_CLIP_PLANEi where 0 <= i < GL_MAX_CLIP_PLANE.'index' must be < GL_MAX_PALETTE_MATRICES_OES (%i), was %i.gles: BUILD=RELEASE ARCH=arch_011_udd PLATFORM=default_7a TRACE=0 THREAD= GEOM=mali_gp_geometry_common CORES=MALI400 USING_MALI400=1 TARGET_CORE_REVISION=0x0101 TOPLEVEL_REPO_URL=b379d9d REVISION=b379d9d CHANGED_REVISION=b379d9d REPO_URL=remotes/origin/build_linux_mali_so_on_r7p0-1-gb379d9d BUILD_DATE=Fri Jun 17 10:59:17 CST 2022 CHANGE_DATE=2022-06-16 16:12:00 +0800 TARGET_TOOLCHAIN=arm-linux-gcc-hf HOST_TOOLCHAIN=gcc TARGET_TOOLCHAIN_VERSION=gcc version 4.9.4 (Linaro GCC 4.9-2017.01) HOST_TOOLCHAIN_VERSION=gcc version 4.9.3 (Ubuntu 4.9.3-13ubuntu2) TARGET_SYSTEM=gcc-arm-linux HOST_SYSTEM=gcc-x86_64-linux CPPFLAGS= CUSTOMER=internal VARIANT=mali400-gles11-gles20-neon-linux-wayland-drm-dma_buf HOSTLIB=direct INSTRUMENTED=FALSE USING_MRI=FALSE MALI_TEST_API= UDD_OS=linux glAttachShaderglBindAttribLocationglBlendColorglBlendEquationglBlendEquationSeparateglBlendFuncSeparateglCompileShaderglCreateProgramglCreateShaderglDeleteProgramglDeleteShaderglDetachShaderglDisableVertexAttribArrayglEnableVertexAttribArrayglGetActiveAttribglGetActiveUniformglGetAttachedShadersglGetAttribLocationglGetProgramInfoLogglGetProgramivglGetShaderInfoLogglGetShaderivglGetShaderPrecisionFormatglGetShaderSourceglGetUniformfvglGetUniformivglGetUniformLocationglGetVertexAttribfvglGetVertexAttribivglGetVertexAttribPointervglIsProgramglIsShaderglLinkProgramglGetProgramBinaryOESglProgramBinaryOESglReleaseShaderCompilerglShaderBinaryglShaderSourceglStencilFuncSeparateglStencilMaskSeparateglStencilOpSeparateglUniform1fglUniform1fvglUniform1iglUniform1ivglUniform2fglUniform2fvglUniform2iglUniform2ivglUniform3fglUniform3fvglUniform3iglUniform3ivglUniform4fglUniform4fvglUniform4iglUniform4ivglUniformMatrix2fvglUniformMatrix3fvglUniformMatrix4fvglUseProgramglValidateProgramglVertexAttrib1fglVertexAttrib1fvglVertexAttrib2fglVertexAttrib2fvglVertexAttrib3fglVertexAttrib3fvglVertexAttrib4fglVertexAttrib4fvglVertexAttribPointerglIsRenderbufferglBindRenderbufferglDeleteRenderbuffersglGenRenderbuffersglRenderbufferStorageglGetRenderbufferParameterivglIsFramebufferglBindFramebufferglDeleteFramebuffersglGenFramebuffersglCheckFramebufferStatusglFramebufferTexture2DglFramebufferRenderbufferglGetFramebufferAttachmentParameterivglGenerateMipmapglGetnUniformfvEXTglGetnUniformivEXTglGetProgramBinaryOESglProgramBinaryOESglGetnUniformfvEXTglGetnUniformivEXTThe 'program' name must be generated by OpenGL.The 'program' name must be the name of a program object.The 'shader' name must be generated by OpenGL.The 'shader' name must be the name of shader object.The 'program' name must refer to an existing program.Program must be linked before this operation can be done.The shader is already attached to the program.Two shaders of the same type cannot be attached to one program.Cannot detach a shader which is not attached.A program cannot be linked unless there are any shaders attached to itL0100A program needs a fragment shader and a vertex shader to be linked, this program object (<%s>) had neither.GLSL allows exactly two attached shaders (one of each type) per programA program needs a fragment shader and a vertex shader to be linked, this program object (<%s>) had 1 shader.All attached shaders must be compiled prior to linkingL0101Both shaders need to be compiled for a program to be linkedProgram is not successfully linkedValidate: 'bufsize' must be >= 0, was %i.Cannot get parameter from program object with reserved name 0.'maxCount' must be >= 0, was %i.You cannot query Program object #0The buffer was too small, was %i, needed %i.Only supported format is GL_MALI_PROGRAM_BINARY_ARM.binaryFormatInput data to glProgramBinary is emptyAn error occured while trying to load program. See program error log (glGetProgramInfoLog) for more information.Input data to glProgramBinary is not recognizedInput to glProgramBinary is corrupted - no MBS1 block foundInput to glProgramBinary is corrupted - invalid BATT block foundInput to glProgramBinary is corrupted - incorrect BATT block foundgl_PQRSTUVWXYZ[\'location' must be >= 0 and < %u, was %u.'bufSize' must be at least %d bytes for this uniform locationfvf[v]floatintivec(i|f)[v]boolbvecInvalid type. %s variable must be set with glUniform1%s.Invalid type. %s%u variable must be set with glUniform%s%u%s.The value set to a sampler must be < GL_MAX_TEXTURE_UNITS (%i), was %i.gl_mali_ViewportTransformgl_mali_PointSizeParametersgl_mali_ViewportMatrixgl_DepthRange.neargl_DepthRange.fargl_DepthRange.diffgl_mali_rotateThe program must be successfully linked for this operation to be legal.Invalid 'index' parameter, must be < %u, was %uYou cannot set uniforms on Program object #0.Invalid uniform location specified by 'location', was %i.Count must be 1 when the uniform to be modified is not an array, was %i.Only glUniform1i and glUniform1iv can be used to set variables defined as sampler types.glGetNUniform*EXT is only available in contexts enabled with robust access.'name' starts with the reserved prefix "gl_".The 'program' parameter must be a name generated by OpenGL.The 'program' parameter must be the name of a program object.This function is only valid on successfully linked programs.Parameter 'index' must be a value in the range 0 <= index < %u for the given program object.The 'program' parameter must be the name of an existing program.Not enough attribute locations availableL0004The 'shader' name must refer to an existing shader.The 'shader' name must be the name of a shader object.Cannot get source from shader with reserved name 0.'bufSize' must be >= 0, was %i.Jun 17 2022-10:59:21Cannot get parameter from shader object with reserved name 0.Must be GL_SHADER_TYPE, GL_DELETE_STATUS, GL_COMPILE_STATUS, GL_INFO_LOG_LENGTH or GL_SHADER_SOURCE_LENGTH.shaders is NULLshader count is negativeshader length is negativebinaryformat must be GL_MALI_SHADER_BINARY_ARM, was 0x%08XIt must be <= 1 vertex shader in the binary, was %iIt must be <= 1 fragment shader in the binary, was %iNo shader with name %u (element %i in 'shaders' argument) exist.The object with name %u (element %i in 'shaders' argument) is not a shader object.Corrupt binary shader format.gles20: BUILD=RELEASE ARCH=arch_011_udd PLATFORM=default_7a TRACE=0 THREAD= GEOM=mali_gp_geometry_common CORES=MALI400 USING_MALI400=1 TARGET_CORE_REVISION=0x0101 TOPLEVEL_REPO_URL=b379d9d REVISION=b379d9d CHANGED_REVISION=b379d9d REPO_URL=remotes/origin/build_linux_mali_so_on_r7p0-1-gb379d9d BUILD_DATE=Fri Jun 17 10:59:17 CST 2022 CHANGE_DATE=2022-06-16 16:12:00 +0800 TARGET_TOOLCHAIN=arm-linux-gcc-hf HOST_TOOLCHAIN=gcc TARGET_TOOLCHAIN_VERSION=gcc version 4.9.4 (Linaro GCC 4.9-2017.01) HOST_TOOLCHAIN_VERSION=gcc version 4.9.3 (Ubuntu 4.9.3-13ubuntu2) TARGET_SYSTEM=gcc-arm-linux HOST_SYSTEM=gcc-x86_64-linux CPPFLAGS= CUSTOMER=internal VARIANT=mali400-gles11-gles20-neon-linux-wayland-drm-dma_buf HOSTLIB=direct INSTRUMENTED=FALSE USING_MRI=FALSE MALI_TEST_API= UDD_OS=linux   C    c43 A@B,d  CC MBS1pCFRAhFSTAFDISFBUUSUNISVARDBIN%              @  ??&????????,The fragment shader is damaged, corrupt VERS block detected.L0001Shader is corruptedM0001The shader contains unknown blocks. Shader version mismatch?The shader is rejectec because the driver does not supports all the features in the shader.The vertex shader is too new for the driver.Binary shader is emptyNot a Mali binary ShaderCorrupt binary shader streamThe fragment shader is damaged, corrupt CFRA block detected.The fragment shader is compiled for an unknown core.The fragment shader is damaged, corrupt CVER block detectedThe fragment shader is damaged, corrupt FSTA block detected.The fragment shader is damaged, corrupt FDIS block detected.The fragment shader is damaged, corrupt FBUU block detected.Fragment shader binary block not large enough to contain first instructionFragment shader binary block of zero sizeFragment shader damaged. Duplicate blocks detected.The fragment shader is damaged, no FSTA block detected.The fragment shader is damaged, no DBIN block detected.The vertex shader is damaged, corrupt CVER block detectedThe vertex shader is compiled for an unknown coreThe vertex shader is damaged, corrupt FTRA block detected.Vertex shader binary block too smallVertex shader binary block is not alignedThe vertex shader is damaged, corrupt FINS block detected.Vertex shader damaged. Duplicate blocks detected.The vertex shader is damaged, illegal values found in the FINS block.The vertex shader is damaged, no DBIN block detected.The binary provided did not contain any shaders of the required type. Unknown data block detected in shaderVertex shader uniform data are corrupt.Too many uniforms used in vertex shader. Used %i uniform registers, but HW limit is %iFragment shader uniform data are corrupt.Fragment shader corrupt. Uniform table is sized %i, must be no larger than %i.Fragment shader is invalid; corrupt SUNI datastream detectedFragment shader corrupt; mistmatch between declared and detected uniformsFragment shader corrupt. Shader uniform '%s' uses register %i, but there are only %i registers declared in the shader.Fragment shader corrupt, unannounced version mismatch between compiler and linker?Fragment shader corrupt, mismatch between expected and found uniformsVertex shader is invalid; corrupt SUNI datastream detectedVertex shader corrupt; mismatch between declared and detected uniformsVertex shader corrupt. Shader uniform '%s' uses register %i, but there are only %i registers declared in the shader.Vertex shader corrupt, unannounced version mismatch between compiler and linker?Vertex shader corrupt, mismatch between expected and found uniformsCorrupt uniform construct detected in vertex shader.Invalid uniform structure dependencies detected in vertex shaderCorrupt uniform construct detected in fragment shader.Invalid uniform structure dependencies detected in fragment shaderCorrupt fragment shader; Invalid uniform valuesCorrupt vertex shader; Invalid uniform valuesUniform %sL0010gl_mali_YUVCoefficientsgl_mali_textureGRADEXT_sizesCurrent Mali driver support no more than 1024 samplersVertex shader attribute symbols are corruptVertex shader is invalid; corrupt SATT datastream detectedVertex shader corrupt; mismatch between declared and found attributesVertex shader attribute locations are corruptVertex attribute symbols are corruptVertex shader attribute symbols are outside legal valuesVertex shader varying symbols are corruptFragment shader varying symbols are corruptVertex shader is invalid; corrupt SVAR datastream detectedVertex shader invalid; mismatch between announced and found varyingsVertex shader is invalid; illegal VVAR block detectedVertex shader varying symbol location exceeds hardware limitgl_PointSizeVertex shader is invalid; corrupt SVAR block detectedVertex shader invalid; contains less varyings than announcedFragment shader is invalid; corrupt SVAR datastream detectedFragment shader corrupt; mismatch between declared and found varyingsFragment shader is invalid; illegal VVAR block detectedFragment shader varying symbol location exceeds hardware limitFragment shader corrupt; damaged SVAR block detectedInconsistent varying set detected, Fragment shader corrupt?L0006Vertex shader corrupt; invalid varying values foundF0001 Out of memory while setting error log Sampler '%s' bound to texture unit %i, but max is %iSampler '%s' and '%s' are of different types, but share texture unit %i.Attribute '%s' bound outside of the valid range; using slot %i but max is %iVarying '%s' not found in vertex shaderL0007Varying %sL0008?__gl_mali'%s' differ on type'%s' differ on array size'%s' struct member count mismatch'%s' differ on type size'%s' differ on invariance'%s' differ on precisionThe fragment shader is damaged, corrupt DPRO block detected.The fragment shader is damaged, corrupt DPRO block detected (invalid uniform offset).Vertex shader not compiled prior to linkingVertex shader too largeFragment shader not compiled prior to linkingRelocation of Varyings in Vertex shader failed.%  <9N1 <9N 0 <9N @ @ @00  eUDeUD  !!"##$%&&'())*+,--./01233456789:;<=>?@ABCDEFGHIJLMNOPQRTUVWXZ[\]_`acdeghiklmoprstvwyz|} !&*.158:=@BDGIKMOQSUVXZ[]_`bcefgijlmnpqrstvwxyz{}~@ADEPQTUCBGFSRWV  LMHI\]XY ONKJ_^[Z0145 !$%pqtu`ade3276#"'&srwvcbgf<=89,-()|}xylmhi?>;:/.+*~{zonkjՀփٌڏ就泲鼽꿾FramebufferGPU1800000MALI_NEVERBLITTRUEMALI_FLIP_PIXMAPEGL_EXT_client_extensions EGL_EXT_platform_base EGL_KHR_platform_gbm EGL_KHR_platform_wayland EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_EXT_image_dma_buf_import EGL_KHR_surfaceless_context EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_reusable_sync EGL_KHR_fence_sync EGL_KHR_swap_buffers_with_damage EGL_EXT_swap_buffers_with_damage EGL_KHR_lock_surface EGL_KHR_lock_surface2 EGL_EXT_create_context_robustness EGL_ANDROID_blob_cache EGL_KHR_create_context EGL_WL_bind_wayland_display EGL_KHR_partial_update EGL_KHR_create_context_no_error OpenGL_ESARM1.4 Linux-r7p0-00rel0EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_EXT_image_dma_buf_import EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_reusable_sync EGL_KHR_fence_sync EGL_KHR_swap_buffers_with_damage EGL_EXT_swap_buffers_with_damage EGL_KHR_lock_surface EGL_KHR_lock_surface2 EGL_EXT_create_context_robustness EGL_ANDROID_blob_cache EGL_KHR_create_context EGL_WL_bind_wayland_display EGL_KHR_partial_update EGL_KHR_create_context_no_error EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_EXT_image_dma_buf_import EGL_KHR_gl_texture_2D_image EGL_KHR_surfaceless_context EGL_KHR_reusable_sync EGL_KHR_fence_sync EGL_KHR_swap_buffers_with_damage EGL_EXT_swap_buffers_with_damage EGL_KHR_lock_surface EGL_KHR_lock_surface2 EGL_EXT_create_context_robustness EGL_KHR_create_context EGL_WL_bind_wayland_display EGL_KHR_partial_update EGL_KHR_create_context_no_error %d.%dPost Color Buffer Sucess Post Color Buffer Success eglCreateImageKHReglDestroyImageKHRglEGLImageTargetTexture2DOESglEGLImageTargetRenderbufferStorageOESeglLockSurfaceKHReglUnlockSurfaceKHReglQuerySurface64KHReglSwapBuffersWithDamageKHReglSwapBuffersWithDamageEXTeglCreateSyncKHReglDestroySyncKHReglClientWaitSyncKHReglGetSyncAttribKHReglSignalSyncKHReglSetBlobCacheFuncsANDROIDeglBindWaylandDisplayWLeglUnbindWaylandDisplayWLeglQueryWaylandBufferWLeglSetDamageRegionKHReglGetPlatformDisplayEXTeglCreatePlatformWindowSurfaceEXTeglCreatePlatformPixmapSurfaceEXTegl: BUILD=RELEASE ARCH=arch_011_udd PLATFORM=default_7a TRACE=0 THREAD= GEOM= CORES=MALI400 USING_MALI400=1 TARGET_CORE_REVISION=0x0101 TOPLEVEL_REPO_URL=c24b2f1 REVISION=c24b2f1 CHANGED_REVISION=c24b2f1 REPO_URL=remotes/origin/build_linux_mali_so_on_r7p0 BUILD_DATE=Fri Jun 17 14:30:34 CST 2022 CHANGE_DATE=2022-06-17 14:29:24 +0800 TARGET_TOOLCHAIN=arm-linux-gcc-hf HOST_TOOLCHAIN=gcc TARGET_TOOLCHAIN_VERSION=gcc version 4.9.4 (Linaro GCC 4.9-2017.01) HOST_TOOLCHAIN_VERSION=gcc version 4.9.3 (Ubuntu 4.9.3-13ubuntu2) TARGET_SYSTEM=gcc-arm-linux HOST_SYSTEM=gcc-x86_64-linux CPPFLAGS= CUSTOMER=internal VARIANT=mali400-gles11-gles20-neon-linux-wayland-drm-dma_buf HOSTLIB=direct INSTRUMENTED=FALSE USING_MRI=FALSE MALI_TEST_API= UDD_OS=linux DEVNAME=XR24RG16XR24    /sys/dev/char/%d:%d/uevent/dev//dev/dri/card0mali_buffer_sharingdevice_namecreate_buffernuuuuuulibMali.solibGLESv1_CM.solibGLESv2.soMaliWorker/tmp/enable_mali_userspace_cinstrMaliCinstrSerANNOTATE 3 streamline-annotatemali-utgard-startupmali-utgard-setupMaliCinstrKbsrbase: BUILD=RELEASE ARCH=arch_011_udd PLATFORM=default_7a TRACE=0 THREAD= GEOM= CORES=MALI400 USING_MALI400=1 TARGET_CORE_REVISION=0x0101 TOPLEVEL_REPO_URL=c24b2f1 REVISION=c24b2f1 CHANGED_REVISION=c24b2f1 REPO_URL=remotes/origin/build_linux_mali_so_on_r7p0 BUILD_DATE=Fri Jun 17 14:30:34 CST 2022 CHANGE_DATE=2022-06-17 14:29:24 +0800 TARGET_TOOLCHAIN=arm-linux-gcc-hf HOST_TOOLCHAIN=gcc TARGET_TOOLCHAIN_VERSION=gcc version 4.9.4 (Linaro GCC 4.9-2017.01) HOST_TOOLCHAIN_VERSION=gcc version 4.9.3 (Ubuntu 4.9.3-13ubuntu2) TARGET_SYSTEM=gcc-arm-linux HOST_SYSTEM=gcc-x86_64-linux CPPFLAGS= CUSTOMER=internal VARIANT=mali400-gles11-gles20-neon-linux-wayland-drm-dma_buf HOSTLIB=direct INSTRUMENTED=FALSE USING_MRI=FALSE MALI_TEST_API= UDD_OS=linux   !!"##$%&&'())*+,--./01233456789:;<=>?@ABCDEFGHIJLMNOPQRTUVWXZ[\]_`acdeghiklmoprstvwyz|} !&*.158:=@BDGIKMOQSUVXZ[]_`bcefgijlmnpqrstvwxyz{}~   /dev/maliERROR in Mali driver: * Mali device driver failed the API version check * The solution is probably to rebuild the libraries and the Mali device driver. arm_release_ver of this libMali is r7p0-00rel0, rk_so_ver is '3', built at '14:30:34', on 'Jun 17 2022'. ERROR in Mali driver: * Device driver API mismatch * Device driver API version: %d * User space API version: %d ERROR in Mali driver: * Mali device driver does not seem to be valid MaliNotifywb/dev/gator/annotate__egl_platform_initialize__egl_platform_terminate__egl_platform_default_display__egl_platform_display_valid__egl_platform_get_display_orientation__egl_platform_init_display__egl_platform_filter_configs__egl_platform_flush_display__egl_platform_deinit_display__egl_platform_display_get_format__egl_platform_wait_native__egl_platform_create_surface__egl_platform_destroy_surface__egl_platform_resize_surface__egl_platform_get_pixmap_size__egl_platform_get_pixmap_colorspace__egl_platform_get_pixmap_alphaformat__egl_platform_get_pixmap_format__egl_platform_pixmap_valid__egl_platform_pixmap_support_gpu_access__egl_platform_pixmap_config_compatible__egl_platform_pixmap_surface_compatible__egl_platform_pixmap_copybuffers_compatible__egl_platform_pixmap_egl_image_compatible__egl_platform_map_pixmap__egl_platform_unmap_pixmap__egl_platform_swap_buffers__egl_platform_unmap_image_buffer__egl_platform_pixmap_get_mali_memory__egl_platform_surface_buffer_invalid__egl_platform_copy_buffers__egl_platform_get_window_size__egl_platform_window_valid__egl_platform_window_compatible__egl_platform_begin_new_frame__egl_platform_create_dummy_window__egl_platform_destroy_dummy_window__egl_platform_supports_vsync__egl_platform_lock_surface_map_buffer__egl_platform_lock_surface_unmap_buffer__egl_platform_get_buffer__egl_platform_update_image__egl_platform_setup_soft_job_callback__egl_platform_soft_job_callback__egl_platform_surface_post_processing_needed__egl_platform_swap_interval__egl_platform_start_rendering__egl_platform_stop_rendering__egl_platform_wait_swap_complete__egl_platform_query_buffer_age__egl_platform_get_native_window__egl_platform_get_native_pixmap_android_x11_fbdev_dummy_wayland_drmRG16AR15AR12AR24Mismatched mali_buffer_sharing version %d, expected %d $(, ????????????StageSamplerNormalStageSamplerExternalInternal compiler error. ????P0001P0002P0003P0004P0005P0007L0002L0003S0001S0002S0003S0004S0005S0006S0007S0008S0009S0010S0011S0012S0013S0014S0015S0016S0017S0018S0019S0020S0021S0022S0023S0024S0025S0026S0027S0028S0029S0030S0031S0032S0033S0034S0035S0037S0038S0039S0040S0041S0042S0043S0044S0045S0046S0047S0049S0050S0051S0052L0005L0009F0001F0002F0003F0004S0053S0054S0055S0056S0057S0058S0059M0002M0003 Please contact malidevelopers@arm.com with the shader causing the problem, along with this error message. Mali online shader compiler r7p0-00rel0 [Revision 96995]. 0:1: %s: Out of memory. %d:%d: %s: MaliMaliGP2Mali200Mali-400 GPMali-400 PPMissing main() function for shader main() has been overloaded Signature mismatch for main() gl_FragColor and gl_FragData both used in the same fragment shader Vertex shader where gl_Position isn't written Shader contains static recursion gl_FragDatagl_FragColormainLanguage version '%s' unknown, this compiler only supports up to version 101 disablewarnenableSet extension '%s': "%s" Extension 'debug_preprocessing_directives' used. __groupARM__persistentARMsamplerExternalOESdisable_vertex_shader_output_rewritesallow_gl_namesARM_issue_3558_error(on)ARM_issue_3558_error(off)Set pragma '%s' noneGL_EXT_shadow_samplersGL_OES_texture_3DGL_OES_standard_derivativesGL_ARM_grouped_uniformsGL_ARM_persistent_globalsGL_OES_EGL_image_externalGL_EXT_shader_texture_lodGL_ARM_shader_framebuffer_fetchGL_ARM_shader_framebuffer_fetch_depth_stencildebug_preprocessing_directives?inlined_global_var_%d_%sexpand_builtinspilot_shaderrewrite_image_sampler_accessesoptimise_constant_foldoptimise_basic_blocksfind_best_blockunrollconditional_selectstore_load_forwardingoptimise_vector_opscontrol_dependencehbbr_patterns__gl_mali_pilot_shader_%d?__gl_mali_pilot_uniform_%d?__gl_mali_pilot_gp_res_%d__gl_mali_vscpu_attr_gl_Positionmali200 Maximum number of compiler supported instructions (%d) exceeded. %s register allocation failed for fragment shader. spill Mali470 doesn't support dynamic indexing of varying array %s To turn this error into a warning and risk a hardware hang, use "#pragma ARM_issue_3558_error(off)" Emitted unsafe store instructions. Due to Mali200 hardware issue 3558, store instructions may hang the core in Mali200 hardware revisions r0p1 and r0p2. See the GX525 errata for more details. The compiler emits store instructions whenever arrays are used or when compiling complex shaders. The instrunction bits are removed on Mali470 gl_mali_PointCoordScaleBiasgl_mali_FragCoordScalegl_mali_DerivativeScale?dummy_NegativeYUVSamplerStartgl_mali_CubeGradEncConst__startOut of varying space. %s provides space for %d varying vec4s, this shader uses %d varying vec4s. ?external_last_row_fixup_%smaligp2P? ? ? C ? CC@?CCCCC@C?@ C!"C#$C%&'C(@)C*@+C,C-.C/0C123C4@5C6@7C8?9:?;?<=C>C??@ACBC@DCE?FCG?HCI?JCK?LCM?NCO?PCQ?RCS?TCUCV@WCXCYCZC[C\C]C^C_C`Cab@cCdCeCfCgChCiCjCkCMBS1 OCVEROSUNIVUNIdSTRIgl_mali_PointSizeParametersVIDX$ITDRIYUVIGRDVUNIdSTRIgl_mali_ViewportTransformVIDX$ITDRIYUVIGRDSATTVATT(STRIattr_PositionVATT,STRIattr_PrimaryColorVATT0STRIattr_SkinningIndicesVATT0STRIattr_SkinningWeights VATT(STRIattr_TexCoord0VATT(STRIattr_TexCoord1VATT(STRIattr_TexCoord2VATT(STRIattr_TexCoord3VATT(STRIattr_TexCoord4 VATT(STRIattr_TexCoord5$VATT(STRIattr_TexCoord6(VATT(STRIattr_TexCoord7,VATT$STRI attr_Normal0VATT(STRIattr_PointSize4SVARVVAR(STRI gl_PositionVVAR,STRIgl_PointSize0VVAR,STRIvar_TexCoord0VVAR,STRIvar_TexCoord1VVAR,STRIvar_TexCoord2VVAR,STRIvar_TexCoord3VVAR,STRIvar_TexCoord4 VVAR,STRIvar_TexCoord5$VVAR,STRIvar_TexCoord6(VVAR,STRIvar_TexCoord7,VVAR0STRIvar_PrimaryColor VVAR8STRIvar_PrimaryColorTwosidedVVAR(STRI var_FogDist2VVAR4STRIvar_ClipPlaneSignedDist1DBINPHGDAJbG YG HB S Jp J? G J?p J? Gp 1F :GS Jq 1J0 VL J ZJ"G0 VH J MkM NGL Jq 1J0 VL J Mw J7 J,? FGp Jw7 J,? FGp J"G 2KΪ!J"G 2KΪ!JG 2KΪ!JG 2KΪ!JϢG 2KΪ!J͢G 2KΪ!JbG 2KΪ!JbG 2KΪ!J̪ EٺSU bKq  F* Έ*G [oLv" > y*@J̪ EٺSU bKq  F* Έ*G [oLv" 6 y*@J̪ EٺSU bKq  F* Έ*G [oLv" > y@J̪ EٺSU bKq  F* Έ*G [oLv" 6 y@J̪ EٺSU bKq  F* Έ*G [oLv" > y@J̪ EٺSU bKq  F* Έ*G [oLv" 6 y@J̪ EٺSU bKq  F* Έ*G [oLv" > yj@J̪ EٺSU bKq  F* Έ*G [oLv" 6 yj@JG J J Gb FGB J" J"G fK*;G J*'  B@DMʶ*G A 1'UΌCS #aдC Ѓ[KGSG2 yBU 8yU2 y B y@JJ 2KΪ!F 2Kj!Fj 2K*!F 2K!Fb 2KΪ!F 2Kj!FZ 2K*!F 2K!FR êo êk êg êc j_ j[ jW jS K*o!F K*k!Fj K*g!F K*c!Fb K*_!F K*[!FZ K*W!F K*S!FR JG" ֊j;G" G@F JF J 6K*GG D$F :ˑ|ƃJ"G JG J J J ʳ* FG0 VH"G EGG VK* G lHv*Uƈn" S _U C q  1K"0 VL"G ȶ*G VGG (*G Iw• B1 kU 1BH1 VL"G H * R :G0 VZ 0q1: .Ñ0V dx] 1nH"0 VLG XC*_ ȳ* SH FMG S 0 V˳q  10EVڌ8 =_ ,Jpʀ_Gr 1pi0VL M 1 VKg  &GɁB , Ȁ@ JA?@!ʓLJAoAmFt“G ȑvG ʈ%nF FKl`JU˵J J/ Jĵ2K* 2Kj JbG n jW Jb ʶjG fKjG`FB ʵjGF JƒG ֊̪;@ J J"G G 6Ǫ1J"A JG J J J ʳ* FG0 VH"G EGG VK* G lHv* Hn" ƈnS Hq  1B̵*0 VL" 9c *G 9GM"C 8H[ I6QO 1ng0 VLG LɁUZȳS G 0i VZ q1pȑ0 VL] 1C2 VڌG X* rȳ* SH EMG ͶS 0 V qʑG 1 1 V G9 q,p€GR 1GPG0 VL?  0 VKg Fp\G ,+€@q JA?@ HAL?AG mp“ HpG ʈ%nF FKl`J"G JU̵J J/ JŵJb 2K* 6j JbG n jW Jb jKjGo f jg@B_ j:@ JG jGG !nʉGF FKl‰`JG J J J ʳ* FG0 VH"G EGG VK* G nq* Hn" S  f q  1b*0 VL"G ȶ*G VGG (*G Iʕ 01U 1BH"0 V̵G 9;H0 Z)G0i VZ)q * ^ *G 1: 0V dy 1nH" 0 V̵G @* O bȳ* SH" MMG :ͶS0 V˳q  1 0E V Y  ,JpʀG 1ǹP?h0EVڌʍ  0 VKgi 'GJɁ ,J€G@ JA@i&ӈ* LG myʓG vƒG Hn FKl`J JA/ Jȵ G JBW JBG ʵjGF  JG 2KΪ!J JG J J J ʳ* FG0 VH"G EGG VK* G nHv* Hn" S  Jq  1֊*0 V * 9c *G GM"G 8H[ IvQ 1n1 VL B`ɁGaZ*  [ G0 VZ q 1R 0 VL3A 16Cۢ0 VLG ,BĪƃG Zȳ* SHG MM :ͶS0 VKq G 1ꏀ0E Vڌ 7 . =pBr 1GPG0 VL? H/1VK Ɂ ,3€o@ JA@ G5 LG, mp“ HpƒGin FKl`JA/ J˵Jb G JbW JBG Jj:@ S JG :K̪`J J JG J J J ʳ* FG0 VH"G EGG VK* G nq* Hn" S  BHq  1j*0 V̶*  G VCq G 1ZH0 V̶*G -2Hۢ ZHڢG0 VH[ 6 qˏSkM IZG Jq  1:H‘G0 V G FnˍG ꈕpƒGin FKl`JA/ JߵJb G JbW JBG Jj:@ S JG jGG !nʉGF FKl‰`J J JG J J J ʳ* FG0 VH"G EGG VK* G nq* Hn" S  Jq  1֊*0 VL" J"G ZM"G 9H {KI ƈS  Jq  1J"0 VL" J" M"G 9H" m3IG MS Jq 1 0 VLbK*G IŢƃV . S JQ G 6KÍ3 VK,ƒ$LɁG J*G . q@ H 'H G V˓G 9nzU֊ FK `J JA/ Jе G JBW JBG ʵjGF  JG 2KΪ!J J JG J J J ʳ* FG0 VH"G EGG VK* G nHv* Hn" S  Jq  1֊*0 VL" J"G ZM"G 9H {KɶɁ ƈS  bKq  1J"0 V̶* J" b *G 9H" m3IآG MS Jq  1J"0 VLG J*G LV L Brƃ 6˶qʑ0QVKn uG ,J-/@ nJ HN G V“UnJp J FK `JA/ JҵJb G JbW JBG Jj:@ S J" FG0 VHG YGG VKM" Hl* Hn" S  BHq  1j*0 V̶*  G VCq G 1ZH0 VL" 1B ZLjS G0 VZHq  1J"0 Vڌ* J" F *G $ڈj?F m3Iآ ׺ S LqʏGG 1B1E VLۢG M, BqƃV 1GRG0 Vڌqˁ 2K0QVK,oiLʑGGm 6ʵnʍG@ 3L‘ $HMʍG 4Nǵv˓ z“ǁGm(z“Gqވx‰G RxBJpBʵjGF J" FG0 VHG YGG VKM" Hl* Hn" S  BHq  1j*0 V̶*  G VCq G 1ZH0 V̶* 1BɁ ZLjS G0 VZHq G] 1֊*0 Vڌ* * F *G 2* m3ت غMS ضLqʏ 1B*0 Vڌ۪G 6 ,ʏ ;HqV 1G"G0 V̶:G J" *G :˳0 VK??UnˑF 3J$Ño@ :K1 HUG̈[Gi oqGHpGaŖvBGJHvBGʵvJ j:@ J" FG0 VHG YGG VKM" Hl* Hn" S  Jq  1֊*0 VL" J"G ZM"G 9HO {KI HS Jq  1J0 VL" J *G ZH m3I MS Jq 1J0 VLF JjG 0٪G: GSG :Q NK0QVK,oiź 9vÑ@ 6JrʑG@ K‰?U"HFʉGU!NW“GU q“GGmZʕpBJpBʵjGF J" FG0 VHG YGG VKM" Hl* Hn" S  Jq  1֊*0 VL" J"G ZM"G 9H {KɶɁ ƈS  bKq  1J"0 V̶* J" b *G 9H" m3Iآ MS Jq  1J"0 VL" fKΪ#F LG2 vG :±r 6qʑ 0 VKÑy ȍG 3J'/@UCrbvG]NG“G]nqBG pB֊pJ j:@ J" FG0 VHG YGG VKM" Hl* Hn" S  Jq  1֊*0 VL" J"G ZM"G 9Hb m3I MS 6qʍ 6KC ںȶˑ ٶ̆q‘G Lp‘G ̆n‰GG HvBGJzBʵjGF J" FG0 VHG YGG VKM" Hl* Hn" S  Jq  1֊*0 VL" J"G ZM"G 9Hb m3I MS 6qʍ 6K ۺˑG5 ̖qBGbpBʵpJ j:@  jG nʉGG LvBGJxBʵjGF 2KΪ Jb JbG JbW Jj:@ JBGJBGWJbGJjG:@ SJO$JKJK$֊Oʷ*O$JG KJG J"$JG J  FG JG J J J 2 JG ̱ؒ*F QB۪ 9˳**@M *G :KHb2K C fK*G !B@Ƿ*G Ed tBJ GbG EfBB g@GĪ UEeG Bg…@J? J/ J"G JGJG @CG *COG A  j- *) HC DAbg 8* 9DC"s *$ %6ABÀ_ ;jG1 AC_ ﻏG*@s\CYf˱*G vf@ sGeZ *G q=v_C K*U GK 9F_ . 60)G 2JY/HF. - E进gU/H-@e*U R˵* m Hƒb6˳ƒC fK* &@*GM Eg m gJ" GbG EgBGB tB@1GĢ  EwGB }@J? J/ J"G JG㵶@CG NCkG H"B . G 0FjD 1* UB_ 8Gjs 8O"s_C 9Xε*s 7AbC_ ;Oh‡Geƀk_Ce D* mA!ǀC| O‡B ވ!x#OU bK* qC J" /(kU-̠B֊*G о5¿*F *G ȿ[C  ÿ G >JpB)ȵ  HSB 3L(qB 1>0 V̵q  1:6G1EVLpGa K&U f˵*G XGg F VˀG= F bnCJ JbO$J*KJbK$֊jOʷͪO$JG jKJG J΢$JG J  FGB JG J J J :K 2KC n *G $[G qG̳*pMfj@F 2K1DCQʶ* >Ç* G F eE BˑdB@ JϢ K  AeBB b@1J" G#/UQ} UB gB@ *Ȁ?G JGJG 2*9@ J¿G JG -X@CG ?NG ȶ*G ̶ M*sH >ȵq :JqB J˵* 97HHG0eVZHۃGZ˱* f˵*?G z;ͶG Öp FJp ˵  BlCJ @C N"kG 6>@†C 7NG 6>AbC 7jG 6êCGe .%C1 65CG6 &B1 >.‡CGi6 6G1 @=-jsF 7@s ;*G O8jCGY 3O@Ci 3OG9PC? Hp1B0G2E V' 1G5 $qGg 1B(w0E V q FJG ZlBJ E J ).@BsG ;@s_ 3NG N4AsC ֿ@"C *kG  6>CC ̺ G5 6L7€G= Ѿ@>Ø@N*{GM>C 6!G1 ?A6CCCm6-B/G >5@ÁU7O9DC`B yn*G vCC˱* Ky1>ڀG0V 1TG] x ?U *G] CtGcJ{@=˵  BlCJ @C N"OG 6>@†C 7NG 6@"C *G 6>C_Ge .%A1 6?-@Cg@m6%BG >-@À?U7GCCyZK*G] wA,VC : >qC1 vG0EVڌTG]ZK*GaM0AVD] XwGc fJf@=˵  BlCJ /@C NO 8CG ?JC qC[G 6HqB F˴* s2HG0VMU ̺@>G NpW FJp ˵  BlCJ Z[\StageSamplerNormal0StageSamplerNormal1StageSamplerNormal2StageSamplerNormal3StageSamplerNormal4StageSamplerNormal5StageSamplerNormal6StageSamplerNormal7StageSamplerExternal0StageSamplerExternal1StageSamplerExternal2StageSamplerExternal3StageSamplerExternal4StageSamplerExternal5StageSamplerExternal6StageSamplerExternal7ConstantColorFogColorClipPlaneTieStageConstant0StageConstant1StageConstant2StageConstant3StageConstant4StageConstant5StageConstant6StageConstant7AddConstToResvar_TexCoord0var_TexCoord1var_TexCoord2var_TexCoord3var_TexCoord4var_TexCoord5var_TexCoord6var_TexCoord7var_PrimaryColorvar_PrimaryColorTwosidedvar_SpecularColorvar_SpecularColorTwosidedvar_ClipPlaneSignedDistvar_FogDist%s%03dattributebreakbvec2bvec3bvec4constcontinuediscarddoelsefalseforhighpinoutinvariantivec2ivec3ivec4lowpmat2mat3mat4mediumpreturnsampler2Dsampler3DsamplerCubetrueuniformvaryingvoidwhileasmclassunionenumtypedeftemplatethispackedgotoswitchdefaultnoinlinevolatilepublicstaticexterninterfaceflatlongshortdoublehalffixedunsignedsuperpinputoutputhvec2hvec3hvec4dvec2dvec3dvec4fvec2fvec3fvec4sampler1Dsampler1DShadowsampler2DShadowsampler2DRectsampler3DRectsampler2DRectShadowsizeofcastnamespaceusingUnterminated comment Unknown character '%c'(%d) unknownend of filenewline;{},:[!~*\#+=-=*=/=%=&=^=|===!=floating point constantinteger constantundefined constant>>=<<=>><<++--&&||^^centroidsampler1dsampler1dshadowsampler2dshadowsampler2drectsampler3drectsampler2drectshadowgl_FragCoordgl_FrontFacinggl_PointCoordgl_DepthRangeParametersgl_DepthRangeError while parsing floating point literal '%s' Expected token '%s', found '%s' Expression exceeds maximum number of allowed operands (%d) No matching function for call to '%s' '%s' is not a function Undeclared variable '%s' Type '%s' referred to as a variable Symbol '%s' can't be referenced as a variable Global variable initializer must be a constant expression Error while parsing integer literal '%s' Expected literal or '(', got '%s' Attribute variable declared inside a function Varying variable declared inside a function Uniform variable declared inside a function Extension 'GL_ARM_grouped_uniforms' used, group '%s' declared for uniform variable Extension 'GL_ARM_persistent_globals' used High precision not supported, instead compiling high precision as medium precision Boolean variable can't have a precision qualifier Embedded structure definition is not allowed Illegal identifier name '%s' Duplicate struct member '%s' Struct '%s' has no members Symbol '%s' redeclared Typename expected, found '%s' Expected precision qualifier, got '%s' Expected type for precision qualifier, got '%s' All uses of invariant must be at global scope Non-variable '%s' declared invariant Variables of this kind cannot be declared invariant 'gl_FrontFacing' cannot be declared invariant invariant qualifier must be specified before any use of variable '%s' Expected identifier, found '%s' Only output values can be declared invariant Function '%s' declared or defined inside function %uSymbol '%s' redeclared as a function gl_LastFragStencilARMgl_LastFragDepthARMgl_LastFragColorARMSymbol '%s' is readonly Symbol '%s' redeclared with diffrent type Unexpected iteration token continue used outside of loop body break used outside of loop body Unexpected flow control token Name '%s' used more than once as a parameter gl_MaxVertexAttribsgl_MaxVertexUniformVectorsgl_MaxVaryingVectorsgl_MaxVertexTextureImageUnitsgl_MaxCombinedTextureImageUnitsgl_MaxTextureImageUnitsgl_MaxFragmentUniformVectorsgl_MaxDrawBuffersradiansdegreesasinacosatanpowexplogexp2log2inversesqrtabssignfloorceilmodminmaxclampmixsmoothsteplengthdistancedotcrossnormalizefaceforwardreflectrefractmatrixCompMultlessThanlessThanEqualgreaterThangreaterThanEqualequalnotEqualanynottexture2Dtexture2DProjtexture2DLodtexture2DProjLodtextureCubetextureCubeLodtexture2DLodEXTtexture2DProjLodEXTtextureCubeLodEXTtexture2DGradEXTtexture2DProjGradEXTtextureCubeGradEXTtexture3Dtexture3DProjtexture3DLodtexture3DProjLodshadow2DEXTshadow2DProjEXTdFdxdFdyfwidthL-value swizzle contains duplicate components L-value is constant Cannot modify a uniform variable Cannot modify a varying variable inside a fragment shader Cannot modify an attribute variable Operand is not an lvalue uvec[%d]struct %sFunction declared void but return statement has an argument Function declared with a return value but return statement has no argument. Type mismatch, cannot convert from '%s' to '%s' discard can only be used in fragment shaders. if() condition must be of boolean type while() condition must be of boolean type for() condition must be of boolean type Cannot declare a variable of type void Extension 'GL_EXT_shadow_samplers' used, variable '%s' declared with type 'sampler2DShadow' Extension 'GL_OES_texture_3D' used, variable '%s' declared with type 'sampler3D' const variable does not have an initializer Initializer for const value must be a constant expression Attribute variable with initializer Illegal type for attribute variable Attribute qualifier only allowed in vertex shaders Varying variable with initializer Illegal type for varying variable Uniform variable with initializer Sampler declared without uniform qualifier Cannot assign to arrays or structs with arrays Function returns an array Attribute qualifier used on return type Uniform qualifier used on return type Varying qualifier used on return type Const qualifier used on return type Samplers cannot have out or inout parameter qualifier Attribute qualifier used on function parameter Varying qualifier used on function parameter Uniform qualifier used on function parameter Extension 'GL_EXT_shadow_samplers' used, parameter '%s' has type 'sampler2DShadow' Extension 'GL_EXT_shadow_samplers' used, unnamed parameter has type 'sampler2DShadow' Extension 'GL_OES_texture_3D' used, parameter '%s' has type 'sampler3D' Extension 'GL_OES_texture_3D' used, unnamed parameter has type 'sampler3D' Function '%s' redeclared with different parameter qualifier(s) Function '%s' redeclared with different return type Function '%s' redefined Function '%s' redeclared. Extension 'GL_EXT_shadow_samplers' used, default precision set Extension 'GL_OES_texture_3D' used, default precision set Request for member "%s" of an array Struct "%s" has no member named "%s" Vector swizzle "%s" is bigger than 4 Swizzle field selector '%c' unknown Swizzle field selector out of range Vector swizzle "%s" mixes components from different sets Member reference or swizzle attempted on non-structure and non-vector Operand to ! must have boolean type Arithmetic unary operations only work with integer and floating-point values Cannot modify sampler variable Arithmetic operations not allowed on this type Type mismatch in arithmetic operation between '%s' and '%s' Cannot compare '%s' with '%s' Cannot compare arrays Cannot compare samplers Cannot compare non-scalar types Cannot compare vectors or matrices Operands to &&, || and ^^ must have boolean type Only integer expression allowed as array subscripts Negative array subscript Array subscript too big Negative matrix subscript Matrix subscript too big Negative vector subscript Vector subscript too big Only arrays, vectors and matrices can be indexed ?: parameter must be of boolean type 2nd and 3rd parameters of ?: must have the same type Sampler can't be an l-value Extension 'GL_EXT_shadow_samplers' used, variable '%s' with type 'sampler2DShadow' referred Extension 'GL_OES_texture_3D' used, variable '%s' with type 'sampler3D' referred Extension 'GL_ARM_shader_framebuffer_fetch' used, variable '%s' referred Extension 'GL_ARM_shader_framebuffer_fetch_depth_stencil' used, variable '%s' referred In function '%s' parameter %d has both 'const' and '%s' qualifier Extension 'GL_EXT_shadow_samplers' used, function call to '%s' Extension 'GL_OES_texture_3D' used, function call to '%s' Extension 'GL_OES_texture_external' used, function call to '%s' Extension 'GL_EXT_shader_texture_lod' used, function call to '%s' Extension 'GL_OES_standard_derivatives' used, function call to '%s' No matching overload for function '%s' found Expected prototype is ' or (, %s)'Cannot construct a matrix from more than one matrix Too few arguments for constructor Argument unused in constructor Type mismatch, cannot convert argument #%u from '%s' to '%s' Too few arguments for struct constructor Cannot use arguments of type '%s' for built-in constructors Too many arguments for struct constructor Array size must be a constant integral expression Array size must be greater than zero Function '%s' not defined Right operand of shift has negative value Illegal use of 'defined' operator Identifier required after 'defined' operator __LINE____FILE____VERSION__GL_ES__ARM_MALI____ARM_MALI_HW_REV_MAJOR____ARM_MALI_HW_REV_MINOR__GL_FRAGMENT_PRECISION_HIGHMissing argument before ',' in '%s' macro invocation Too many arguments for '%s' macro invocation Unexpected end of file found Unterminated argument list definedUnexpected end of macro invocation Error parsing constant expression, unknown identifier '%s' Error parsing constant expression Expected end of line #endif directive found outside if-section #else directive found outside if-section Illegal use of else #elif directive found outside if-section Illegal use of elif Invalid identifier '%s' Unexpected token '%s' in argument list Token '%s' repeated in argument list Unexpected end of argument list %empty%Macro name '%s' reserved Macro '%s' redefined Cannot undefine a predefined macro '%s' Unexpected text found after #undef directive Unexpected text found after #%s directive #%s directive found outside if-section Illegal use of %s #error:%s Extension directive must occur before any non-preprocessor tokens Expected extension name after #extension directive, found '%s' Expected ':' in #extension directive, found '%s' requireRequired extensions need to be listed explicitly, '%s' is not allowed Extension '%s' not supported Enabled extensions need to be listed explicitly, '%s' is not allowed Unknown extension behavior '%s', expected one of: require, enable, warn, disable Unexpected text found after #extension directive #version must be the first directive/statement in a program Missing version after #version directive Unexpected text found after #version directive Unexpected text found after #line directive Unknown preprocessing directive '%s' Unterminated #if/#ifdef/#ifndef defineundefifdefifndefelifendiferrorpragmaextensionversionmemberno default precision defined for %s no default precision defined for expression variablereturn valueparameterargument%u%matrix_spill_temp%ternary_tmp%and_or_tmp%retval%store_reload_temp%tempSTRIDBINDPROVPROVERSFSTAFINSREGUSVARVVARVUNIVIDXITDRIYUVIGRDVINISUNIVACTEXPROPNDMBS1CVERSATTVATTVSOPCFRAFDISFBUU## !21201 0!! ##0!01 122wildcardFunction '%s' not supported on target  @Shader too long. This shader is %d instruction words long, but %s only supports up to %d instruction words. Shader too long. This shader is %d instruction words long, but MaliGP2 hardware revision r0p1 only supports up to %d instruction words. Note that hardware revisions r0p2 and newer support up to 512 instruction words. ?__maligp2_constant_%03u%s register allocation failed with convergence for vertex shader. %s register allocation failed for vertex shader. Insufficient MaliGP2 work register space for vertex shader. %d registers needed, but only %d registers are available. Note that MaliGP2 hardware revisions r0p3 and newer do not have this limitation. Unable to allocate %s fixed-point ranges. Out of space for uniforms, globals and temporary variables. %s provides space for %d vec4s, this shader uses %d vec4s. Out of attribute space. %s provides space for %d attribute vec4s, this shader uses %d attribute vec4s. !B!!B!!B!(null)%.5e-1.#INF-infNANNaNivec%ubvec%umat%umat%ux%ustruct unnamed struct%s[%u]I@NRp*#@^0\Tmk=5LTH>E~?spill $0>Oat􀌡󀍺/Ps뀔ꀕ:f耗瀘&倚Z“ဝ6q(ހh݀0ۀtڀـK؀ր,րyhҀb e΀΀r̀*ʀFʀɀɀkȀǀ3ǀƀf8ĀÀ ÀxS0j޼Sɻ?/" “› æ-ô;ĮM֭awƐǫ:ɩX騀z ɝ/æVꥀ˪Aأo̟8ҡlΡ=ٟuϯMЊ*ɜj ѫMё4ؙ{ Ęiӵ[өPԡI՜F՛F֝JףQ׬[ ׹hȎy*ۍٌ>٣V ڽq%يڎCۯe҈ۉ@ܰh!چܓLz5ުf"݃ޚVЂߍK ǁ߅D€A$Hl 7Vs"%(+.158&;3>>AGDMGPJPMMPGS>V1Y"\_adgjtmIpsuxp{.~K9ӐhgҤ6;Ȳ:hǿzMH-F<k K  Ss;:pNNp:;sS  K k<F-HMzǿh:Ȳ;6ҤghӐ9K.~p{xusIptmjgda_"\1Y>VGSMPPMPJMGGD>A3>&;851.+(%s"V7 l H$qN+ pV<%¾©Ϧޣ $CeSҁd|y wftq-ol jgdb `].[XlVTQ{O8MJHFqDRB9@(><:"8/6E4a20.,%+k)'&l$"B!;VA}N(   " F u9TAU<|O--O|<UAT9uF "   (N}AV;B!"l$&'k)%+,.0a2E4/6"8:<(>9@RBqDFHJ8M{OQTlVX.[] `bdg jl-oqft wyd|ҁSeC$ ޣϦ©¾%@ E \ n       >  dd`\XTPL<,$\ H& & x F' EL' & Cl' B( & س 9) :) ;l) <L) =,) > ) ?( @( @ 1L- 2, 3L, 4+ 5L+ 6* 7L* 8) 0- (/ )/ */ +|/ ,l/ -\/ .L/ /= D +A X ;|D l 8,H -K /|N *lQ * T ж V \~ >\~ ?`~ ?`~ @d~ @d~ Aj~ Aj~ Bt~ Bt~ Cn~ Cn~ Dy~ E~ F~ G~ H~ I~ J~ K~ L~ M~ M~ N~ N~ O~ O~ P~ P~ Q~ Q~ Q~ R R R S  T U Z Z j [ [ \ \ k l ]+ ^8 _8 dI dI eU md nt ot p q r s t ` ` a a b c f g u% v* w/ :} N} i} ~} } } } } 4|  |  |  ę ߙ ʙ Й י ]r ܙ     As  s : Ma!=I)OO)PP/Puq-YeX-<;AAcQcc  ~ ~aB!{aBiE7QiN%%N>>$><>,>4>>>D><>L>T>\>d>l>aBkAaByA3ie%M aB9(9mR =MmKq^IccyVyVyVq?C? D?AD??URURSKSK]]c__^^!\!\!\ ~`\a'aa'a`\i}GG3H[Y[YeWWWGoHWW LLuuFEMIMIKKU%JJu%ff)HR1R5RGRKR]RaReRiR;;;;;< <<<$<,<4<<<D<L<T<\<d<l<t<|<<<<<<<<<<>t><<<<<<<= ===$=,=4=<=D=L=T=\=d=l=t=|=================> > ť Hݥ   , *1 ,D +\ H+ - T. .æ /٦ @0 0 1% 1: 2R D-g 3 3 p4 5 5   , : I (W f Pt ` @  | ߨ  L6 6 l7+ 79 |8F 9T 9e :v :   Tͩ  l  |+ > PO c \w  (; ,; 0; 4;Ъ 8;ݪ <; @; D; H; L;$ P;3 T;C X;V \;g `;~ d; h; l; p; t;ʫ x;۫ |; ; ; ; ;. ;: ;O ;e ;u ; ; ; ; ;Ĭ ;Ҭ ; ; ; ; ;( ;4 ;D ;W ;h Hy Ma!=Iy=/uq-YeX-<;AAcQcc  ~ ~aB!{aBiE7QiQ%%aBkAaByA3ie%M,НȝL؝ aB9(9= =MmKqqcl (8X@XHXPXX`hpxțЛ؛ (0ܞ8@HPXhpx0LȜМܟ (08@HP0`X؜h`hpx-]uuaE%a )-Y!uaaacqmQiw11111111I5 ť Hݥ   @  | ߨ  ( y Q d 8  Tͩ  l  |+ > PO c \w h H  ! e  ;!- q!A !V /r o  # U  ϔ ! k= =9 =Q "g Y" " "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX !$  ,-!Yr% 1uG} l   1 Y3 {K c<cG E|H 5yYT 8 !)P[ 2I} ?CP a{iDD Qd q"` NGEB< W4 sG ?  GU Y( +h @ K0 Dp /"!X A !} _!ߨuD]};L SG eGUGy + oS zA 2zl  }  (  oD9 i U ,1!v k UI! \ C2B , t    0??? ??? ??? ??0??? ??? ??? ??0??? ??? ??? ??0??? ??? ??? ??0??? ?????????0??? ?????????0????????????0??@??@??@??? O@22*x-2R8@^X*: )@ 8@EV '82C>T p" E> O@22*x-2R8@^X*: 8@EV '82C>T p" E>   080 808080080 8080800Q0 808080080 808080080 8080800Q0 808080080 808080080 8080800Q0 808080 080  8080800Q0& 8080800Q0) 8080800Q0* 808080 080  808080 0Q0 8080800Q0 8080800Q0808080080 80080080# 80080 080" 80080 080 80080RA24RX24RG16BA24RA15RA12YV120NV210NV120YU120YUYV0ddll?      o+ >??????????    U     h T p ȳ ȳ г 8                                                  ܶ ȶ <  x (  (  (  (  d P <  d P (  (  (  (  (  | h T T , @ T T , @  r  r   ̚   u u u 4|  |  | s W    GCC: (Linaro GCC 4.9-2017.01) 4.9.4A4aeabi*7-A A   ".shstrtab.note.gnu.build-id.hash.dynsym.dynstr.gnu.version.gnu.version_r.rel.dyn.rel.plt.init.text.fini.rodata.ARM.exidx.eh_frame.init_array.fini_array.jcr.data.rel.ro.dynamic.got.data.bss.comment.ARM.attributes$ 4P4P4o^G^GAo^^P __2Y PPPb ]hpn\ \ t\ \ V|p      ( 4 h$`` x0` $p 5  4[4K$`P8,8a8QA;||OXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXGNUӏhR.yc@~k<Ѓ4;H:X:d:{:*;:::::  \   |8a4P A;  PP_2o^oo^GoI__gmon_start___fini_ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalize_Jv_RegisterClasses_mali_osu_atomic_inc_and_return_mali_osu_atomic_dec_and_return_mali_osu_atomic_read_mali_osu_atomic_write_mali_osu_atomic_initglActiveTexture_gles_get_context_gles_debug_state_set_last_callglBindBuffer_mali_sys_spinlock_lock_mali_sys_spinlock_unlockglBindTextureglBlendFuncglBufferDataglBufferSubDataglClearglClearColorglClearDepthfglClearStencilglColorMaskglCompressedTexImage2DglCompressedTexSubImage2DglCopyTexImage2DglCopyTexSubImage2DglCullFaceglDeleteBuffersglDeleteTexturesglDepthFuncglDepthMaskglDepthRangefglDisableglDrawArraysglDrawElementsglEnableglFinishglFlushglFrontFaceglGenBuffersglGenTexturesglGetBooleanvglGetBufferParameterivglGetFloatvglGetIntegervglGetStringglGetTexParameterfvglGetTexParameterivglHintglIsBufferglIsEnabledglIsTextureglLineWidthglPixelStoreiglPolygonOffsetglReadPixelsglSampleCoverageglScissorglStencilFuncglStencilMaskglStencilOpglTexImage2DglTexParameterfglTexParameterfvglTexParameteriglTexParameterivglTexSubImage2DglViewportglEGLImageTargetTexture2DOESglMapBufferOESglUnmapBufferOESglGetBufferPointervOESglRenderbufferStorageMultisampleEXTglFramebufferTexture2DMultisampleEXTglEGLImageTargetRenderbufferStorageOESglBindVertexArrayOESglDeleteVertexArraysOESglGenVertexArraysOESglIsVertexArrayOESglDebugMessageControlKHRglDebugMessageInsertKHRglDebugMessageCallbackKHRglGetDebugMessageLogKHRglPushDebugGroupKHRglPopDebugGroupKHRglObjectLabelKHRglGetObjectLabelKHRglObjectPtrLabelKHRglGetObjectPtrLabelKHRglGetPointervKHRglGetPointervglDiscardFramebufferEXTglGetGraphicsResetStatusEXTglReadnPixelsEXT_gles_m200_td_dimensions_mali_base_common_mem_addr_get_full_gles_texture_miplevel_assign_gles_texture_object_get_mipmap_level_assure_gles_fb_texture_object_copy_gles_fb_texture_object_deref_gles_fb_texture_object_assign_gles_fbo_bindings_surface_changed_gles_texture_reset_gles_texture_miplevel_allocate_gles_fb_texture_object_get_mali_surface_gles_m200_get_storage_surface_format__m200_texel_format_flag_support_mali_texel_layout_to_pixel_layout_mali_surface_specifier_bpp_gles_fb_surface_alloc_gles_texture_miplevel_grab_instance_gles_fb_texture_object_get_renderable_mali_incremental_render_mali_frame_builder_wait_mali_surface_grab_instance_mali_surface_release_instancememory_type_is_os_arch_allocation_mali_surface_cow_surface_instance_mali_surface_alloc_surface_instance_mali_surface_free_gles_texture_miplevel_release_instance_gles_debug_report_api_error_gles_debug_report_api_invalid_enum_gles_unpack_alignment_to_pitch_gles_m200_get_input_bytes_per_texel_gles_mipchain_is_complete_gles_texture_object_get_internal_component_flags_gles_texture_object_init_gles_debug_label_init_gles_texture_object_init_internal_object_gles_texture_object_new_gles_fb_texture_object_alloc_gles_texture_object_delete_gles_fbo_bindings_free_gles_debug_label_deinit_gles_texture_object_deref_gles_texture_object_list_entry_delete_gles_wrapper_free_gles_texture_object_get_mipchain_index_gles_texture_object_get_mipmap_chain_gles_texture_object_get_mipmap_level_gles_get_texobj__mali_named_list_get_non_flat_gles_wrapper_alloc__mali_named_list_insert_gles_texture_miplevel_set_renderable_gles_fb_texture_object_set_renderable_gles_tex_image_2d_internal_gles_fb_tex_image_2d_gles_debug_report_api_out_of_memory_gles_tex_sub_image_2d_internal_mali_frame_builder_flush_gles_check_for_rendering_errors_gles_fb_tex_sub_image_2d_gles_tex_sub_image_2d_gles_debug_get_printable_label_gles_m200_get_gles_input_flags_gles_compressed_texture_image_2d_gles_fb_compressed_texture_image_2d_etc_gles_fb_compressed_texture_image_2d_paletted_gles_compressed_texture_sub_image_2d_gles_fb_compressed_texture_sub_image_2d_gles_texture_object_is_cube_complete_gles_texture_object_check_completeness_gles_fb_texture_object_get_mali_surface_at_plane_gles_bind_tex_image_internal_gles_fb_egl_image_texel_format_valid_gles_m200_get_gles_type_and_format_gles_generate_mipmap_chain_gles_egl_image_target_texture_2d_gles_setup_egl_image_from_texture_gles_fb_texture_setup_egl_image_gles_texture_is_mipmap_generation_necessary_gles_bind_texture_gles_get_dimensionality_cubemap_detail_gles_tex_image_2d_gles_get_active_bound_texture_object_gles_convert_mali_err_do_gles_fbo_internal_draw_setup_mali_frame_builder_get_output_gles_convert_region_gles_region_intersect_with_damage_regions_mali_frame_builder_flush_with_region_gles_enable_flush_region_gles_copy_texture_image_2d_by_partial_flush_gles_copy_surface_region_to_textureis_gpu_conversion_allowed_gles_copy_texture_image_2d_mali_frame_builder_is_protected_gles_framebuffer_internal_complete_mali_frame_builder_acquire_output_gles_fbo_get_bits_mali_frame_builder_set_output_mali_frame_builder_write_lock_mali_frame_builder_write_unlock_mali_frame_builder_swap_gles_read_pixels_internal_gles_copy_texture_sub_image_2d_mali_frame_builder_readback_mali_frame_builder_add_surface_read_dependency_mali_mem_pool_alloc_mali_prerotate_rect_mali_frame_builder_readback_util_alloc_rsw_on_pool_mali200_draw_quad_gles_get_flush_region_outputs_gles_restore_flush_region_outputs_gles_flush_region_mali_surface_alloc_gles_buffer_object_init_gles_buffer_object_new_gles_buffer_object_deref_gles_gb_free_buffer_data_gles_delete_buffers_gles_vertex_array_remove_binding_by_ptr__mali_named_list_remove_gles_buffer_object_list_entry_delete_gles_get_buffer_object_gles_bind_buffer_gles_vertex_array_get_binding_gles_vertex_array_set_binding_gles_buffer_data_gles_gb_buffer_data_mali_base_arch_mem_unmap_gles_buffer_sub_data_gles_gb_buffer_sub_data_gles_map_buffer_mali_base_common_mem_size_get_mali_base_common_mem_alloc_mali_base_common_mem_freegles_gb_cache_invalidate_mali_base_arch_mem_map_gles_unmap_buffer_gles_get_buffer_pointerv__vsnprintf_chk_gles_internal_unbind_buffer_objects_mali_frame_builder_get_framebuilder_completion_status__mali_named_list_iterate_begin__mali_named_list_iterate_next_gles_begin_frame_gles_reset_frame_mali_frame_builder_reset_gles_clean_frame_mali_frame_builder_clean_gles_drawcall_begin_internal_mali_frame_builder_get_primary_color_index_gles_drawcall_begin_gles_get_fetch_per_sample_mali_frame_builder_incremental_rendering_requested_gles_drawcall_end_mali_sys_thread_key_get_data_mali_sys_thread_key_set_data_mali_sys_mutex_lock_mali_sys_mutex_unlock_gles_set_blob_cache_funcs_mali_sys_mutex_create_mali_sys_mutex_destroy_gles_set_read_frame_builder_gles_set_draw_frame_builder_gles_fb_blend_equation_gles_create_renderer_string_mali_arch_pp_get_core_version_gles_get_graphics_reset_status_ext_gles_delete_context_gles_texture_env_deref_textures_gles_internal_bind_framebuffer_gles_internal_bind_renderbuffer_gles2_use_program_gles_share_lists_deref_gles_state_deinit_gles_framebuffer_object_deref_gles_sg_free_mali_frame_builder_free_gles_gb_free_gles_fb_free_gles1_get_vtable_gles2_get_vtable_gles_fb_init_apply_ditherfloorfceilf_gles_framebuffer_object_new_gles_sg_alloc_gles_sg_state_init_gles_state_init_gles_share_lists_addref_gles_share_lists_alloc_gles_gb_init_gles_fb_alloc_mali_frame_builder_alloc_gles1_create_context_gles2_create_context__mali_named_list_free_mali_sys_spinlock_destroy_gles_framebuffer_object_list_entry_delete_gles_renderbuffer_object_list_entry_delete__mali_named_list_allocate_mali_sys_spinlock_create_gles_share_lists_clear_v2_contentstrlenstrncmp_gles_calculate_conversion_rect_mali_rotate_surface_ccw_linear__m200_texel_format_get_bpp_mali_rotate_surface_ccw_blockmali_convert_block_interleave_lut_gles_read_pixels_pre_processing_gles_read_pixels_post_processing__mali_pixel_format_get_bpp_mali_convert_request_initialize_mali_convert_texture_gles_read_pixels_gles_m200_get_input_surface_format_gles_read_n_pixels_ext_gles_verify_enum_gles_verify_bool_gles_get_type_sizefixed_to_float_mali_clz_lut_gles_convert_element_to_ftype_gles_flush_gles_finish_mali_base_common_context_fence_lock_mali_arch_pp_get_latest_fence_mali_base_common_context_fence_unlock_mali_arch_fence_wait_mali_frame_builder_get_clear_value_mali_frame_builder_set_clear_value_gles_clear_gles_scissor_zero_size_check_gles_draw_clearquad_gles_gen_objects__mali_named_list_get_unused_name_gles_is_object_downsample_2x2_rgba16161616_downsample_2x2_rgb565_downsample_2x2_rgba4444_downsample_2x2_rgba1555_downsample_2x2_rgba5551_downsample_2x2_rgba8888_mali_osu_downsample8888_downsample_2x2_rgba88_mali_osu_downsample88_downsample_2x2_rgba8_mali_osu_downsample8_downsample_2x2_rgba_fp16_gles_generate_mipmap_chain_sw_16x16blocked_gles_generate_mipmap_chain_sw_gles_downsample_rgba8888_gles_generate_mipmap_chain_hw_gles_generate_mipmap_block_iterator_mali_convert_16bit_to_rgba8888_mali_convert_8bit_to_rgba8888_mali_convert_rgba8888_to_16bit_mali_convert_rgba8888_to_8bit_gles_downsample_span_rgba8888_gles_odd_npot_to_even_and_downsample_rgba8888_mali_convert_pixel_format_get_convert_method_mali_convert_pixel_format_get_size__stack_chk_fail__stack_chk_guard_gles_sg_init_draw_call_gles_fb_init_draw_call_mali_arch_profiling_get_enable_state_mali_arch_profiling_add_event_mali_sys_lock_lock_mali_sys_lock_unlock_gles_draw_elements_error_checking_gles_draw_arrays_error_checking_gles_round_down_vertex_count_gles_init_draw_elements_gles_gb_buffer_object_data_range_cache_get_gles_scan_indices_gles_scan_indices_range_gles_init_draw_arrays_gles_draw_elements_gles_gb_draw_indexed_range_gles_draw_arrays_gles_gb_draw_nonindexed_gles1_get_tex_env_gles1_get_clip_plane_gles1_get_pointer_gles1_get_material_gles1_get_light_gles2_get_shader_precision_format_gles2_get_vertex_attrib_gles2_get_vertex_attrib_pointer_gles2_get_pointer_gles_getv_gles_m200_mali_to_gles_stencil_operation_gles_m200_mali_to_gles_conditional_gles_m200_mali_to_gles_blend_func_gles_m200_mali_to_gles_logicop_gles_m200_mali_to_gles_blend_equation_gles_is_enabled_gles_get_tex_param_gles_get_buffer_parameter_gles_get_string_gles_hint_init_gles_hint_gles1_tex_envv_gles1_tex_env_gles_texture_env_init_gles_tex_parameter_v_gles_tex_parameter_gles_active_texture_gles1_active_texture_gles_texture_env_remove_binding_by_ptr_gles_gb_modify_attribute_stream_gles1_client_active_texture_gles2_disable_vertex_attrib_array_gles2_enable_vertex_attrib_array_gles2_vertex_attrib_gles_push_vertex_attrib_type_gles_set_vertex_attrib_pointer_gles1_vertex_pointer_gles1_normal_pointer_gles1_color_pointer_gles1_point_size_pointer_gles1_tex_coord_pointer_gles1_weight_pointer_oes_gles1_matrix_index_pointer_oes_gles2_vertex_attrib_pointer_gles_pixel_init_gles_pixel_storei_gles1_alpha_func_gles_m200_gles_to_mali_conditional_gles1_logic_op_gles_m200_gles_to_mali_logicop_gles2_blend_color_gles2_blend_equation_gles_m200_gles_to_mali_blend_equation_gles_stencil_func_gles_depth_func_gles_pixel_operations_init_scissor_gles_scissor_gles_stencil_op_gles_m200_gles_to_mali_stencil_operation_gles_m200_gles_to_mali_blend_func_gles1_point_size_gles1_point_parameterv_gles1_point_parameter_gles_rasterization_init_gles_front_face_gles_cull_face_gles_line_width_gles_polygon_offset__isnanf_gles_clear_color_gles_clear_depth_gles_clear_stencil_gles_color_mask_gles_framebuffer_control_init_gles_depth_mask_gles_stencil_mask_gles_fetch_per_sample_gles_framebuffer_state_init_gles_program_rendering_state_alloc__mali_program_binary_state_init_gles_program_rendering_state_deref__mali_program_binary_state_reset_gles_fb_free_program_rendering_state_gles_gb_free_program_rendering_state_gles_sample_coverage_gles_depth_range_gles_update_viewport_state_for_egl_gles_viewport_gles_viewport_init_gles_viewport_for_egl_gles_vertex_arrays_state_init_gles_vertex_array_object_init_gles_vertex_arrays_state_deinit_gles_vertex_array_object_deinit_gles_vertex_array_object_wrapper_free_gles_vertex_array_object_new_gles_bind_vertex_array_gles_vertex_array_object_free_gles_delete_vertex_arrays_gles_gen_vertex_arrays_gles_set_error_gles_get_error_gles1_client_state_gles_enable_gles_fb_apply_dither_gles1_push_twosided_lighting_state_gles_debug_state_init_gles1_current_init_gles1_transform_init_gles1_coloring_init_gles1_lighting_init_gles2_vertex_shader_init_gles2_program_env_init_gles_renderbuffer_state_init_gles_debug_state_deinit_gles_renderbuffer_object_deref_gles_delete_renderbuffers_gles_internal_purge_renderbuffer_from_framebuffer_gles_renderbuffer_storage_multisample_gles_renderbuffer_storage_gles_bind_renderbuffer_gles_fbo_bindings_alloc_gles_get_renderbuffer_parameter_gles_egl_image_target_renderbuffer_storage_gles_setup_egl_image_from_renderbuffermali_image_create_from_surface__mali_linked_list_alloc__mali_linked_list_free_gles_fbo_bindings_flag_completeness_dirty__mali_linked_list_get_first_entry__mali_linked_list_get_next_entry_gles_get_attachment_surface_gles_fbo_bindings_add_binding__mali_linked_list_insert_data_gles_fbo_bindings_remove_binding__mali_linked_list_remove_entry__m200_texel_format_get_bpc_gles_internal_purge_texture_from_framebuffer_mali_frame_builder_set_flushmode_gles_delete_framebuffers_gles_check_framebuffer_status_gles_bind_framebuffer_gles_framebuffer_renderbuffer_gles_framebuffer_texture2d_multisample_gles_framebuffer_texture2d_gles_get_framebuffer_attachment_parameter_gles_framebuffer_restore_discarded_attachments_gles_discard_framebuffergetpid_gles_debug_type_to_output_type_gles_debug_message_callback_gles_debug_message_init_gles_debug_state_reinitstrnlenstrdupstrncpy_gles_debug_message_deinit_gles_debug_group_init_gles_debug_group_deinit_gles_debug_report_gles_egl_debug_vreport_gles_get_debug_message_log_gles_debug_message_control_gles_debug_message_insert_gles_push_debug_group_gles_pop_debug_group_gles_object_label_gles_get_object_label_gles_object_ptr_label_gles_get_object_ptr_label_gles2_program_object_list_entry_deleteglAlphaFuncglAlphaFuncxglClearColorxglClearDepthxglClientActiveTextureglClipPlanefglClipPlanexglColor4fglColor4ubglColor4xglColorPointerglDepthRangexglDisableClientStateglDrawTexfOESglDrawTexfvOESglDrawTexiOESglDrawTexivOESglDrawTexsOESglDrawTexsvOESglDrawTexxOESglDrawTexxvOESglEnableClientStateglFogfglFogfvglFogxglFogxvglFrustumfglFrustumxglGetClipPlanefglGetClipPlanexglGetFixedvglGetLightfvglGetLightxvglGetMaterialfvglGetMaterialxvglGetTexEnvfvglGetTexEnvivglGetTexEnvxvglGetTexParameterxvglLightfglLightfvglLightModelfglLightModelfvglLightModelxglLightModelxvglLightxglLightxvglLineWidthxglLoadIdentityglLoadMatrixfglLoadMatrixxglLogicOpglMaterialfglMaterialfvglMaterialxglMaterialxvglMatrixModeglMultiTexCoord4bglMultiTexCoord4fglMultiTexCoord4xglMultMatrixfglMultMatrixxglNormal3fglNormal3xglNormalPointerglOrthofglOrthoxglPointParameterfglPointParameterfvglPointParameterxglPointParameterxvglPointSizeglPointSizexglPolygonOffsetxglPopMatrixglPushMatrixglRotatefglRotatexglSampleCoveragexglScalefglScalexglShadeModelglTexCoordPointerglTexEnvfglTexEnvfvglTexEnviglTexEnvivglTexEnvxglTexEnvxvglTexParameterxglTexParameterxvglTranslatefglTranslatexglVertexPointerglCurrentPaletteMatrixOESglLoadPaletteFromModelViewMatrixOESglMatrixIndexPointerOESglWeightPointerOESglPointSizePointerOESglQueryMatrixxOESglGenFramebuffersOESglIsRenderbufferOESglBindRenderbufferOESglDeleteRenderbuffersOESglGenRenderbuffersOESglRenderbufferStorageOESglGetRenderbufferParameterivOESglIsFramebufferOESglBindFramebufferOESglDeleteFramebuffersOESglCheckFramebufferStatusOESglFramebufferTexture2DOESglFramebufferRenderbufferOESglGetFramebufferAttachmentParameterivOESglGenerateMipmapOESglTexGenfOESglTexGenfvOESglTexGeniOESglTexGenivOESglTexGenxOESglTexGenxvOESglGetTexGenfvOESglGetTexGenivOESglGetTexGenxvOESglAlphaFuncxOESglClearColorxOESglClearDepthxOESglClipPlanexOESglColor4xOESglDepthRangexOESglFogxOESglFogxvOESglFrustumxOESglGetClipPlanexOESglGetFixedvOESglGetLightxvOESglGetMaterialxvOESglGetTexEnvxvOESglGetTexParameterxvOESglLightModelxOESglLightModelxvOESglLightxOESglLightxvOESglLineWidthxOESglLoadMatrixxOESglMaterialxOESglMaterialxvOESglMultMatrixxOESglMultiTexCoord4xOESglNormal3xOESglOrthoxOESglPointParameterxOESglPointParameterxvOESglPointSizexOESglPolygonOffsetxOESglRotatexOESglSampleCoveragexOESglScalexOESglTexEnvxOESglTexEnvxvOESglTexParameterxOESglTexParameterxvOESglTranslatexOESglDepthRangefOESglFrustumfOESglOrthofOESglClipPlanefOESglGetClipPlanefOESglClearDepthfOES_gles2_attach_shader_stub_gles2_bind_attrib_location_stub_gles2_blend_color_stub_gles2_blend_equation_stub_gles2_blend_equation_separate_stub_gles2_blend_func_separate_stub_gles2_compile_shader_stub_gles2_create_program_stub_gles2_create_shader_stub_gles2_delete_program_stub_gles2_delete_shader_stub_gles2_detach_shader_stub_gles2_disable_vertex_attrib_array_stub_gles2_enable_vertex_attrib_array_stub_gles2_get_active_attrib_stub_gles2_get_active_uniform_stub_gles2_get_attached_shaders_stub_gles2_get_attrib_location_stub_gles2_get_program_info_log_stub_gles2_get_programiv_stub_gles2_get_shader_info_log_stub_gles2_get_shaderiv_stub_gles2_get_shader_precision_format_stub_gles2_get_shader_source_stub_gles2_get_uniformfv_stub_gles2_get_uniformiv_stub_gles2_get_uniform_location_stub_gles2_get_vertex_attribfv_stub_gles2_get_vertex_attribiv_stub_gles2_get_vertex_attrib_pointerv_stub_gles2_link_program_stub_gles2_release_shader_compiler_stub_gles2_shader_binary_stub_gles2_shader_source_stub_gles2_stencil_func_separate_stub_gles2_stencil_mask_separate_stub_gles2_stencil_op_separate_stub_gles2_uniform1f_stub_gles2_uniform1fv_stub_gles2_uniform1i_stub_gles2_uniform1iv_stub_gles2_uniform2f_stub_gles2_uniform2fv_stub_gles2_uniform2i_stub_gles2_uniform2iv_stub_gles2_uniform3f_stub_gles2_uniform3fv_stub_gles2_uniform3i_stub_gles2_uniform3iv_stub_gles2_uniform4f_stub_gles2_uniform4fv_stub_gles2_uniform4i_stub_gles2_uniform4iv_stub_gles2_uniform_matrix2fv_stub_gles2_uniform_matrix3fv_stub_gles2_uniform_matrix4fv_stub_gles2_use_program_stub_gles2_validate_program_stub_gles2_vertex_attrib1f_stub_gles2_vertex_attrib1fv_stub_gles2_vertex_attrib2f_stub_gles2_vertex_attrib2fv_stub_gles2_vertex_attrib3f_stub_gles2_vertex_attrib3fv_stub_gles2_vertex_attrib4f_stub_gles2_vertex_attrib4fv_stub_gles2_vertex_attrib_pointer_stub_gles2_get_program_binary_stub_gles2_program_binary_stub_gles2_get_n_uniformfv_ext_stub_gles2_get_n_uniformiv_ext_stub_gles2_bind_framebuffer_oes_stub_gles2_bind_renderbuffer_oes_stub_gles2_delete_renderbuffers_oes_stub_gles2_renderbuffer_storage_oes_stub_gles2_get_renderbuffer_parameter_oes_stub_gles2_gen_framebuffers_oes_stub_gles2_delete_framebuffers_oes_stub_gles2_check_framebuffer_status_oes_stub_gles2_framebuffer_texture2d_oes_stub_gles2_framebuffer_renderbuffer_oes_stub_gles2_get_framebuffer_attachment_parameter_oes_stub_gles2_generate_mipmap_oes_stub_gles2_is_shader_stub_gles2_is_renderbuffer_oes_stub_gles2_is_framebuffer_oes_stub_gles2_is_program_stub_gles2_gen_renderbuffers_oes_stub_gles1_compressed_texture_image_2d_gles1_compressed_texture_sub_image_2d_gles1_copy_texture_image_2d_gles1_copy_texture_sub_image_2d_gles1_delete_textures_gles1_tex_image_2d_gles1_tex_sub_image_2d_gles1_egl_image_target_texture_2d_gles1_clip_plane_gles1_color4_gles1_draw_tex_oes_gles1_draw_tex_fv_oes_gles1_draw_tex_iv_oes_gles1_draw_tex_sv_oes_gles1_fog_gles1_fogv_gles1_frustum_gles1_light_gles1_lightv_gles1_light_model_gles1_light_modelv_gles1_load_identity_gles1_load_matrixf_gles1_load_matrixx_gles1_material_gles1_materialv_gles1_matrix_mode_gles1_multi_tex_coord4_gles1_mult_matrixf_gles1_mult_matrixx_gles1_normal3_gles1_ortho_gles1_pop_matrix_gles1_push_matrix_gles1_rotate_gles1_scale_gles1_shade_model_gles1_translate_gles1_set_current_palette_matrix_oes_gles1_load_palette_from_model_view_matrix_oes_gles1_query_matrixx_gles1_tex_genf_oes_gles1_tex_genfv_oes_gles1_tex_geni_oes_gles1_tex_geniv_oes_gles1_tex_genx_oes_gles1_tex_genxv_oes_gles1_get_tex_genfv_oes_gles1_get_tex_geniv_oes_gles1_get_tex_genxv_oes_gles1_get_proc_address_gles_gb_extract_scissor_parameters_mali_frame_builder_viewport_mali_frame_builder_scissor_gles_m200_is_texture_usable__mali_float_matrix4x4_copy__mali_float_matrix4x4_make_identity_mali_osu_matrix4x4_multiplysqrtfcosfsinf_mali_osu_matrix4x4_translate_mali_osu_matrix4x4_scale__mali_float_matrix4x4_make_frustum__mali_float_matrix4x4_make_ortho_gles_texture_gen_gles_get_texture_gen__mali_float_matrix4x4_invert_mali_osu_matrix4x4_transpose__gles_build_infoglAttachShaderglBindAttribLocationglBlendColorglBlendEquationglBlendEquationSeparateglBlendFuncSeparateglCompileShaderglCreateProgramglCreateShaderglDeleteProgramglDeleteShaderglDetachShaderglDisableVertexAttribArrayglEnableVertexAttribArrayglGetActiveAttribglGetActiveUniformglGetAttachedShadersglGetAttribLocationglGetProgramInfoLogglGetProgramivglGetShaderInfoLogglGetShaderivglGetShaderPrecisionFormatglGetShaderSourceglGetUniformfvglGetUniformivglGetUniformLocationglGetVertexAttribfvglGetVertexAttribivglGetVertexAttribPointervglIsProgramglIsShaderglLinkProgramglGetProgramBinaryOESglProgramBinaryOESglReleaseShaderCompilerglShaderBinaryglShaderSourceglStencilFuncSeparateglStencilMaskSeparateglStencilOpSeparateglUniform1fglUniform1fvglUniform1iglUniform1ivglUniform2fglUniform2fvglUniform2iglUniform2ivglUniform3fglUniform3fvglUniform3iglUniform3ivglUniform4fglUniform4fvglUniform4iglUniform4ivglUniformMatrix2fvglUniformMatrix3fvglUniformMatrix4fvglUseProgramglValidateProgramglVertexAttrib1fglVertexAttrib1fvglVertexAttrib2fglVertexAttrib2fvglVertexAttrib3fglVertexAttrib3fvglVertexAttrib4fglVertexAttrib4fvglVertexAttribPointerglIsRenderbufferglBindRenderbufferglDeleteRenderbuffersglGenRenderbuffersglRenderbufferStorageglGetRenderbufferParameterivglIsFramebufferglBindFramebufferglDeleteFramebuffersglGenFramebuffersglCheckFramebufferStatusglFramebufferTexture2DglFramebufferRenderbufferglGetFramebufferAttachmentParameterivglGenerateMipmapglGetnUniformfvEXTglGetnUniformivEXT_gles1_alpha_func_stub_gles1_alpha_funcx_stub_gles1_client_active_texture_stub_gles1_clip_planef_stub_gles1_clip_planex_stub_gles1_color4f_stub_gles1_color4ub_stub_gles1_color4x_stub_gles1_color_pointer_stub_gles1_current_palette_matrix_oes_stub_gles1_disable_client_state_stub_gles1_draw_tex_fv_oes_stub_gles1_draw_tex_iv_oes_stub_gles1_draw_tex_sv_oes_stub_gles1_draw_tex_oes_stub_gles1_enable_client_state_stub_gles1_fogf_stub_gles1_fogfv_stub_gles1_fogx_stub_gles1_fogxv_stub_gles1_frustumf_stub_gles1_frustumx_stub_gles1_get_clip_planef_stub_gles1_get_clip_planex_stub_gles1_get_fixedv_stub_gles1_get_lightfv_stub_gles1_get_lightxv_stub_gles1_get_materialfv_stub_gles1_get_materialxv_stub_gles1_get_tex_envfv_stub_gles1_get_tex_enviv_stub_gles1_get_tex_envxv_stub_gles1_get_tex_parameterxv_stub_gles1_lightf_stub_gles1_lightfv_stub_gles1_light_modelf_stub_gles1_light_modelfv_stub_gles1_light_modelx_stub_gles1_light_modelxv_stub_gles1_lightx_stub_gles1_lightxv_stub_gles1_line_widthx_stub_gles1_logic_op_stub_gles1_materialf_stub_gles1_materialfv_stub_gles1_materialx_stub_gles1_materialxv_stub_gles1_matrix_index_pointer_oes_stub_gles1_matrix_mode_stub_gles1_multi_tex_coord4b_stub_gles1_multi_tex_coord4f_stub_gles1_multi_tex_coord4x_stub_gles1_normal3f_stub_gles1_normal3x_stub_gles1_normal_pointer_stub_gles1_orthof_stub_gles1_orthox_stub_gles1_point_parameterf_stub_gles1_point_parameterfv_stub_gles1_point_parameterx_stub_gles1_point_parameterxv_stub_gles1_point_size_stub_gles1_point_size_pointer_oes_stub_gles1_point_sizex_stub_gles1_polygon_offsetx_stub_gles1_pop_matrix_stub_gles1_push_matrix_stub_gles1_shade_model_stub_gles1_tex_coord_pointer_stub_gles1_tex_envf_stub_gles1_tex_envfv_stub_gles1_tex_envi_stub_gles1_tex_enviv_stub_gles1_tex_envx_stub_gles1_tex_envxv_stub_gles1_tex_parameterx_stub_gles1_tex_parameterxv_stub_gles1_vertex_pointer_stub_gles1_weight_pointer_oes_stub_gles1_tex_genf_oes_stub_gles1_tex_genfv_oes_stub_gles1_tex_geni_oes_stub_gles1_tex_geniv_oes_stub_gles1_tex_genx_oes_stub_gles1_tex_genxv_oes_stub_gles1_get_tex_genfv_oes_stub_gles1_get_tex_geniv_oes_stub_gles1_get_tex_genxv_oes_stub_gles1_bind_framebuffer_oes_stub_gles1_bind_renderbuffer_oes_stub_gles1_delete_renderbuffers_oes_stub_gles1_renderbuffer_storage_oes_stub_gles1_get_renderbuffer_parameter_oes_stub_gles1_gen_renderbuffers_oes_stub_gles1_gen_framebuffers_oes_stub_gles1_delete_framebuffers_oes_stub_gles1_check_framebuffer_status_oes_stub_gles1_framebuffer_texture2d_oes_stub_gles1_framebuffer_renderbuffer_oes_stub_gles1_get_framebuffer_attachment_parameter_oes_stub_gles1_generate_mipmap_oes_stub_gles1_translatex_stub_gles1_is_renderbuffer_oes_stub_gles1_is_framebuffer_oes_stub_gles1_clear_colorx_stub_gles1_clear_depthx_stub_gles1_depth_rangex_stub_gles1_load_identity_stub_gles1_load_matrixf_stub_gles1_load_matrixx_stub_gles1_load_palette_from_model_view_matrix_oes_stub_gles1_mult_matrixf_stub_gles1_mult_matrixx_stub_gles1_query_matrixx_oes_stub_gles1_rotatef_stub_gles1_rotatex_stub_gles1_sample_coveragex_stub_gles1_scalef_stub_gles1_scalex_stub_gles1_translatef_stub_gles2_compressed_texture_image_2d_gles2_compressed_texture_sub_image_2d_gles2_copy_texture_image_2d_gles2_copy_texture_sub_image_2d_gles2_delete_textures_gles2_tex_image_2d_gles2_tex_sub_image_2d_gles2_egl_image_target_texture_2d_gles2_attach_shader_gles2_bind_attrib_location_gles2_compile_shader_gles2_create_program_gles2_create_shader_gles2_delete_program_gles2_delete_shader_gles2_detach_shader_gles2_get_active_attrib_gles2_get_active_uniform_gles2_get_attached_shaders_gles2_get_attrib_location_gles2_get_program_info_log_gles2_get_programiv_gles2_get_shader_info_log_gles2_get_shader_gles2_get_shader_source_gles2_get_uniform_gles2_get_uniform_location_gles2_is_program_gles2_is_shader_gles2_link_program_gles2_release_shader_compiler_gles2_shader_binary_gles2_shader_source_gles2_uniform_gles2_uniform1i_gles2_validate_program_gles2_get_program_binary_gles2_program_binary_gles2_get_n_uniform_ext_gles2_get_proc_address_gles2_program_internal_alloc__mali_linked_list_init__mali_linked_list_deinit_gles2_program_internal_free_gles2_clear_attrib_bindings_gles2_program_internal_get_type_gles2_program_internal_unattach_gles2_shader_object_deref_gles2_shader_internal_free_gles2_link_attributes_gles2_setup_magic_uniforms_gles2_create_gl_uniform_location_table_gles_fb_alloc_program_rendering_state_gles_gb_alloc_program_rendering_state_gles2_create_fp16_fs_uniform_cache_gles2_fill_fp16_fs_uniform_cachebs_set_errorbs_is_error_log_set_to_out_of_memory__mali_merge_binary_shaders__mali_link_binary_shadersbs_set_program_validate_error_sampler_out_of_rangebs_set_program_validate_error_sampler_of_different_types_share_unitbs_get_logbs_get_log_lengthbs_symbol_longest_location_name_lengthbs_symbol_count_actives_gles_active_filters__mali_shader_binary_state_initbs_set_error_out_of_memory__mali_binary_shader_load__mali_shader_binary_state_resetbs_read_or_skip_headerbs_read_and_allocate_stringbs_symbol_count_locationsbs_symbol_fill_location_tablebs_symbol_lookup_gles2_convert_datatype_to_gltypebs_symbol_get_nth_activebs_lookup_uniform_location__mali_linked_list_emptybs_set_program_link_error_attribute_bound_outsize_of_legal_range_mali_gp2_link_attribs_gles2_shader_internal_alloc_gles2_shader_object_get_hash_mali_hash_sha1_init_mali_hash_sha1_update_mali_hash_sha1_final__mali_compile_essl_shader__gles20_build_info_mali_pixel_to_texel_format_mali_pixel_layout_to_texel_layout_gles_m200_get_input_texels_per_byte_gles_fb_texture_memory_init_gles_fb_texture_object_free_gles_fb_texture_memory_reset_gles_m200_get_texel_pitch_gles_fb_texture_memory_assign_gles_fb_texture_memory_allocate_gles_texture_object_resolve_constraints_gles_fb_texture_memory_resolve_internal_gles_m200_td_update_gles_get_texobj_from_sampler_gles_add_disabled_texobj_to_remap_table_gles_texture_used_in_drawcall_gles_fb_texture_memory_draw_internal_renderable_gles_add_texobj_to_remap_table_mali_callback_list_resize_gles_m200_update_texture_descriptorsinit_pilot_job_rsw_gles_m200_setup_fragment_pilot_job_mali_pilot_jobs_add_pp_drawcall_gles_m200_update_fragment_uniforms_mali_frame_builder_fragment_stack_alloc_gles_setup_prerotate_uniforms_gles_write_prerotate_uniforms_gles_m200_update_shader_gles_m200_set_rsw_parameters_gles_fb_context_deinit_mali_frame_builder_update_fragment_stack_gles_fb_setup_rsw_const_gles_fb_setup_rsw_shader_gles_gb_alloc_position_mali_surface_specifier_datasize_mali_surface_alloc_memlogf_mali_mem_wait_writer_fence_mali_surface_replace_instance__mali_named_list_set__mali_named_list_lock__mali_named_list_unlock__mali_named_list_size__mali_linked_list_lock__mali_linked_list_unlock_mali_pixel_format_get_bpc_mali_texel_to_pixel_format_mali_surface_alloc_empty_mali_surface_specifier_calculate_minimum_pitch_mali_base_common_mem_cow_memory_mali_fence_create_mali_mem_get_writer_fence_mali_fence_destroymali_image_get_yuv_infomali_image_supported_yuv_formatmali_image_set_plane_formatmali_image_get_buffer_sizepowmali_image_allocate_buffermali_image_allocate_buffersmali_image_surface_is_mappedmali_image_releasemali_image_deref_surfacesmali_image_derefmali_image_createmali_image_create_from_cpu_memorymali_image_create_from_ump_or_mali_memory_mali_base_common_mem_wrap_dma_bufmali_image_create_from_external_memorymali_image_get_buffermali_image_set_datamali_image_lockmali_image_unlockmali_image_unlock_all_sessions_mali_image_create_sync_handle_mali_image_lock_sync_handle_mali_image_unlock_sync_handle_mali_mem_pool_init_mali_mem_pool_destroy_mem_pool_set_new_block_mali_mem_pool_alloc_with_handle_and_offsetbs_peek_header_namebs_create_subblock_streambs_read_VPRO_blockbs_read_and_allocate_binary_block_contentsbs_copy_binary_block__mali_shader_binary_store_binary_blockqsortbs_symbol_allocbs_update_symbol_block_sizebs_symbol_free__mali_binary_shader_load_uniform_tablebs_symbol_table_allocbs_symbol_table_freebs_symbol_precision_comparebs_symbol_merge_shadertype_specificsbs_symbol_type_comparebs_symbol_count_samplersbs_symbol_get_nth_samplerbs_setup_attribute_streams__mali_binary_shader_load_attribute_table__mali_binary_shader_load_varying_tablebs_set_program_link_error_type_mismatch_varyingbs_set_program_link_error_missing_vertex_shader_varyingbs_clear_errorbs_symbol_get_nth_location__mali_gp2_rewrite_vertex_shader_varying_locations_essl_new_compiler_essl_run_compiler_essl_get_error_log_size_essl_get_error_log_essl_destroy_compiler_essl_get_binary_shader_size_essl_get_binary_shader_m200_wb_reg_write_m200_td_getm200_texture_descriptor_set_defaults_mali_base_arch_pp_get_num_enabled_cores_mali_tilelist_setup_flush_mali_tilelist_dispatcher_alloc_mali_tilelist_dispatcher_free_mali_tilelist_dispatcher_assign_mali_gp_cmdlist_extend_mali_frame_builder_depth_range_mali_frame_builder_heaps_current_plbuheap_size_mali_frame_builder_alloc_internal_frame_mali_base_common_frame_id_get_new_mali_gp_job_new_mali_frame_builder_setup_automatic_readbacks_mali_frame_builder_damage_region_reset_mali_frame_builder_rotate_internal_frame_mali_frame_builder_job_limiter_free_mali_frame_builder_heaps_free_mali_base_common_frame_builder_id_get_new_mali_frame_builder_heaps_alloc_mali_base_arch_request_high_priority_mali_frame_builder_job_limiter_alloc_mali_frame_builder_free_internal_frame_mali_frame_builder_discard_virtual_attachments_mali_frame_builder_discard_surface_write_back_mali_frame_builder_damage_region_set_mali_viewport_orientation_get_frame_register_value_mali_frame_builder_full_swap_mali_frame_builder_output_yuv420sp_mali_frame_builder_set_yuv_output__m200_texel_format_get_bytes_per_copy_element__m200_texel_format_has_alpha__m200_texel_format_is_alpha__m200_texel_format_has_luminance__m200_texel_format_is_luminance__m200_texel_format_is_intensity_mali_surfacetracking_alloc_mali_surfacetracking_addref_mali_surfacetracking_sort_mali_surfacetracking_reset_mali_surfacetracking_deref_mali_surfacetracking_add_mali_surfacetracking_clone_mali_surfacetracking_start_track_mali_surfacetracking_stop_track_mali_surfacetracking_remove_readcounter_from_read_deps_mali_surfacetracking_remove_surface_read_counter_on_dirty_bit_mali_surfacetracking_add_fence_to_read_deps_mali_mem_add_writer_fence_mali_surfacetracking_attach_mem_to_job_mali_pp_job_new_mali_pp_job_free_mali_pilot_jobs_add_gp_drawcall_mali_pilot_jobs_pp_flush_mali_pp_job_add_fence_mali_pp_job_start_mali_pilot_jobs_reset_mali_base_common_mem_heap_alloc_mali_frame_builder_heaps_get_next_plbu_heap_mali_base_common_mem_heap_get_end_address_of_first_block_mali_base_common_mem_heap_get_start_address_mali_frame_builder_heaps_register_plbu_heap_usage_mali_base_common_mem_heap_used_bytes_get_mali_frame_builder_heaps_reset_plbu_heap_mali_base_common_mem_heap_reset_mali_frame_builder_job_flow_cleanup_mali_base_arch_get_setting_mali_sw_counters_dump_mali_frame_builder_job_flow_gp_callback_mali_frame_builder_job_limiter_gp_stop_event_mali_frame_builder_free_internal_flush_mali_frame_builder_job_flow_pp_callback_mali_frame_builder_job_limiter_pp_stop_event_mali_frame_builder_gp_job_setup_mali_frame_builder_alloc_internal_flush_gp_mali_gp_job_set_callback_mali_frame_builder_pp_job_create_setup_mali_frame_builder_alloc_internal_flush_pp_mali_callback_list_execute_mali_callback_list_execute_and_reset_mali_frame_builder_set_acquire_output_callback_mali_arch_pp_job_disable_wb_mali_gp_job_free_mali_frame_prepare_for_flush_mali_gp_job_allocate_deferred_bind_info_mali_gp_job_free_deferred_bind_info_mali_frame_builder_job_limiter_gp_start_event_mali_frame_builder_job_limiter_pp_start_event_mali_gp_job_add_fence_mali_gp_job_add_deferred_bind_info_mali_base_common_submit_limiter_add_submit_event_mali_gp_job_piggyback_mali_fence_merge_mali_base_common_context_get_global_pp_fence_mali_fence_reset_mali_frame_builder_finalize_gp_job_switch_out_mali_frame_builder_create_switch_in_job_mali_base_arch_pp_get_num_total_cores_mali_frame_builder_reset_fragment_stack_mali_fbdump_setup_callbacks_mali_sys_lock_destroy_mali_sys_lock_create_mali_frame_builder_job_limiter_frame_start_event_mali_frame_builder_job_limiter_frame_stop_event_mali_sw_counters_free_mali_base_mem_free_mem_list_mali_sw_counters_alloc_mali_osu_tex8_l_to_tex8_b_full_block_8x8_block_mali_osu_intrinsics_tex32_l_to_tex32_b_8x8_block_mali_osu_intrinsics_tex16_l_to_tex16_b_8x8_block_mali_osu_intrinsics_tex24_l_to_tex24_b_8x8_block_mali_convert_intrinsics_8x8_tilemali_convert_nonlinear_to_linear_lutmali_convert_linear_to_nonlinear_lut_mali_convert_tex8_24_l_to_tex24_8_b_mali_convert_tex32_l_to_tex16_b_mali_convert_tex8_l_to_tex8_b_mali_convert_tex16_l_to_tex16_b_mali_convert_tex24_l_to_tex24_b_mali_convert_tex16_l_to_tex24_x8_b_mali_convert_tex32_l_to_tex24_x8_b_mali_convert_tex32_l_to_tex32_b__memcpy_chk_mali_convert_setup_conversion_rules_mali_convert_can_do_fastpath_mali_convert_ETC_swizzle_partial_mali_convert_ETC_swizzle_mali_noconvert_memcpy_mali_convert_neon_full_block_mali_osu_tex8_l_to_tex8_b_full_block_mali_osu_tex32_l_to_tex32_b_full_block_mali_osu_tex16_l_to_tex16_b_full_block_mali_osu_tex24_l_to_tex24_b_full_block_mali_convert_texture_common_mali_convert_texture_vg_mali_convert_get_16bit_shifts_mali_convert_get_16bit_component_size_mali_convert_get_from_8bit_to_rgba8888_byte_indices_mali_convert_get_from_rgba8888_to_8bit_byte_indices_mali_arch_profiling_report_sw_counters_mali_sw_counters_reset_mali_fbdump_dump_callback_mali_base_common_cinstr_if_enable_mali_arch_profiling_annotate_setup_mali_base_common_cinstr_qmanager_dequeue_bufferclock_gettime_mali_base_common_cinstr_qmanager_queue_buffer_mali_arch_profiling_annotate_lock_mali_arch_profiling_annotate_write_mali_arch_profiling_annotate_flush_mali_arch_profiling_annotate_unlock_mali_fbdump_is_requested_gles_vertex_shadergen_generate_shader_gles_piecegen_get_uniform_initializers_gles_fragment_shadergen_generate_shader_gles_fragment_shadergen_states_equivalentegl_compare_func__egl_get_config_ptr__egl_initialize_configs__egl_get_display_ptr__egl_add_config_handle__egl_lock_surface_initialize_configs__egl_platform_filter_configs_egl_config_support_pixmap__egl_platform_pixmap_config_compatible_egl_get_configs__egl_get_check_display__egl_check_display_initialized__egl_check_null_value__egl_check_display_not_terminating__egl_get_config_handles_egl_choose_config__egl_set_error__egl_get_config_handle_by_id__egl_platform_pixmap_valid_egl_get_config_attrib__egl_get_check_config__egl_platform_window_valid__egl_get_display_handle_egl_destroy_surface_internal_egl_bind_api__egl_gles_make_current_egl_query_api__egl_allocate_context__egl_context_unbind_bound_surface__egl_release_context__egl_gles_release_context_egl_create_context__egl_get_context_ptr__egl_gles_create_context__egl_add_context_handle_egl_destroy_context_internal__egl_remove_context_handle_egl_destroy_context__egl_get_check_context_egl_query_context_egl_make_current__egl_get_check_surface__egl_get_current_thread_state_api__egl_mali_post_to_pbuffer_surface__egl_gles_remove_framebuilder_from_client_ctx__egl_release_display__egl_thread_state_assure_worker_thread_exists__egl_platform_supports_vsync_egl_get_current_context__egl_get_context_handle__egl_get_main_context__egl_main_close_mali__egl_get_platform_typewl_display_interfacegbm_create_device_egl_get_current_display_egl_initialize__egl_main_open_mali__egl_create_handles__egl_destroy_handles__egl_platform_default_display__egl_platform_display_valid__egl_platform_init_display__egl_platform_display_get_format__egl_platform_deinit_display__egl_remove_display_handle_egl_get_display__egl_set_platform_implementations__egl_get_native_display_handle__egl_add_display_handle__egl_free_all_displays__egl_main_initialized__egl_get_first_display_handle__egl_release_surface_handles__egl_release_context_handles_egl_terminate__egl_release_image_handles__egl_release_sync_handles_egl_release_threadeglGetConfigs__egl_get_current_thread_state__egl_release_current_thread_stateeglChooseConfigeglGetConfigAttribeglGetError_egl_get_erroreglQueryString_egl_query_stringeglWaitClient_egl_wait_clienteglWaitGL_egl_wait_GLeglWaitNative_egl_wait_nativeeglSwapBuffers_egl_swap_bufferseglCopyBuffers_egl_copy_bufferseglSwapInterval_egl_swap_intervaleglBindTexImage_egl_bind_tex_imageeglReleaseTexImage_egl_release_tex_imageeglBindAPIeglQueryAPIeglCreateContexteglDestroyContexteglQueryContexteglMakeCurrent__egl_lock_surface__egl_unlock_surfaceeglGetCurrentContexteglGetDisplay__egl_image_mutex_lock__egl_image_mutex_unlockeglGetCurrentDisplayeglInitializeeglTerminateeglCreateWindowSurface_egl_create_window_surfaceeglCreatePbufferSurface_egl_create_pbuffer_surfaceeglCreatePbufferFromClientBuffer_egl_create_pbuffer_from_client_buffereglCreatePixmapSurface_egl_create_pixmap_surfaceeglDestroySurface_egl_destroy_surfaceeglQuerySurface_egl_query_surfaceeglSurfaceAttrib_egl_surface_attribeglGetCurrentSurface_egl_get_current_surfaceeglReleaseThread__egl_all_mutexes_lock__egl_destroy_main_context_if_threads_released__egl_all_mutexes_unlockeglGetProcAddress_egl_get_proc_addresseglCreateImageKHR_egl_create_image_KHReglDestroyImageKHR_egl_destroy_image_KHReglLockSurfaceKHR_egl_lock_surface_KHReglUnlockSurfaceKHR_egl_unlock_surface_KHReglQuerySurface64KHR_egl_query_surface64_KHReglSetBlobCacheFuncsANDROID_egl_set_blob_cache_funcs_ANDROIDeglSetDamageRegionKHR_egl_set_damage_region_KHReglGetPlatformDisplayEXTeglCreatePlatformWindowSurfaceEXTeglCreatePlatformPixmapSurfaceEXT_mali_base_common_context_destroy__egl_platform_terminate__egl_destroy_main_context_mali_sys_lock_try_lock_mali_sys_mutex_try_lock__egl_gles_shutdownegl_linker_deinit_mali_base_worker_destroy_mali_sys_mutex_auto_initgetenvegl_linker_init__egl_gles_initialize_mali_base_worker_createegl_funcptrs__egl_get_image_ptr_implicit__egl_threadlist_mutex_lock__egl_threadlist_mutex_unlock__egl_main_mutex_lock__egl_main_mutex_unlock__egl_sync_mutex_lock__egl_sync_mutex_unlock__egl_main_mutex_action_mali_base_common_context_create__egl_platform_initializemali_egl_cleanup_internal__LINUXeglDestructor__egl_gles_get_proc_address_egl_get_proc_address_internal__egl_mali_render_surface_to_pixmap__egl_platform_begin_new_frame__egl_gles_set_framebuilder__egl_platform_wait_native__egl_lock_surface_is_locked__egl_mali_post_to_window_surface__egl_platform_start_rendering__egl_platform_pixmap_copybuffers_compatible__egl_platform_swap_interval__egl_gles_bind_tex_image__egl_gles_unbind_tex_image_egl_fence_flush__egl_gles_fence_flushunamesscanf__egl_mali_resize_surface_egl_surface_release_all_dependencies__egl_gles_context_resize_finish__egl_platform_resize_surface__egl_mali_create_frame_builder__egl_mali_destroy_frame_builder__egl_mali_begin_new_frame__egl_run_postprocessing_and_swap_egl_surface_job_decref__egl_platform_soft_job_callback__egl_platform_swap_buffers__egl_mali_readback_surface__fprintf_chk__egl_mali_surface_post_processing_needed_egl_surface_job_incref__egl_mali_internal_buffer_release__egl_mali_create_soft_job__egl_mali_setup_soft_job_callback__egl_mali_start_soft_job_mali_soft_job_free__egl_platform_surface_buffer_invalidstderr__egl_platform_get_buffer__egl_platform_stop_rendering__egl_platform_pixmap_support_gpu_access__egl_platform_map_pixmap__egl_platform_copy_buffers__egl_platform_unmap_pixmap__egl_mali_render_pixmap_to_surface__egl_extensions__egl_gles_image_target_texture_2d__egl_gles_image_target_renderbuffer_storageeglSwapBuffersWithDamageKHReglSwapBuffersWithDamageEXTeglCreateSyncKHReglDestroySyncKHReglClientWaitSyncKHReglGetSyncAttribKHReglSignalSyncKHReglBindWaylandDisplayWLeglUnbindWaylandDisplayWLeglQueryWaylandBufferWL_egl_surface_wait_for_jobs__egl_platform_wait_swap_complete__egl_release_surface__egl_lock_surface_release__egl_platform_destroy_surface__egl_release_surface_content__egl_is_lockable_window_surface__egl_surface_allocate__egl_platform_create_surface__egl_platform_flush_display__egl_remove_surface_handle__egl_get_surface_ptr__egl_lock_surface_attrib__egl_mali_internal_buffer_allocate__egl_mali_attach_internal_and_window_buffers_to_fbuilder__egl_get_surface_handle__egl_lock_surface_map_buffer__egl_platform_query_buffer_age_egl_surface_access_done_callback_common_egl_surface_cpu_access_callback_egl_surface_cpu_access_done_callback_egl_surface_gpu_write_callback_egl_surface_gpu_write_done_callback_egl_surface_gpu_read_callback_egl_surface_gpu_read_done_callback_egl_surface_destroy_callback_egl_surface_update_texture_callback__egl_platform_update_image__egl_surface_update_display_orientation__egl_create_surface__egl_lock_surface_initialize__egl_native_window_handle_exists__egl_platform_create_dummy_window__egl_platform_pixmap_surface_compatible__egl_platform_get_window_size__egl_platform_get_pixmap_size__egl_add_surface_handle__egl_platform_get_native_window__egl_platform_window_compatible__egl_native_pixmap_handle_exists__egl_platform_get_native_pixmap__egl_surface_find_spare_wb_unit__egl_surface_set_window_buffer_to_fbuilderusleepsched_yield__egl_thread_state_create_mali_sys_thread_get_current__egl_get_handle_ptr__egl_get_image_ptr__egl_get_sync_ptr__egl_get_handle__egl_get_config_handle__egl_get_image_handle__egl_get_sync_handle__egl_add_handle__egl_add_image_handle__egl_add_sync_handle__egl_remove_handle__egl_remove_image_handle__egl_remove_sync_handle__egl_client_buffer_handle_exists_egl_destroy_image_egl_destroy_sync__egl_get_check_image__egl_get_check_sync_egl_image_set_default_properties__egl_lock_image__egl_unlock_image_egl_release_image_egl_image_unmap_dma_buf_egl_create_image_egl_image_is_sibling_egl_create_image_KHR_pixmap_egl_create_image_KHR_gles_egl_create_image_dma_buf_egl_create_image_wayland_buffer_egl_create_image_internal__egl_platform_pixmap_egl_image_compatible__egl_platform_get_pixmap_colorspace__egl_gles_setup_egl_imagemali_egl_image_set_errormali_egl_image_initmali_egl_image_get_errormali_egl_image_verify_imagemali_egl_image_parse_attribute_listmali_egl_image_create_parse_attribute_listmali_egl_image_lock_ptrmali_egl_image_unlock_ptrmali_egl_image_set_datamali_egl_image_get_widthmali_egl_image_get_heightmali_egl_image_get_formatmali_egl_image_get_miplevelsmali_egl_image_map_buffermali_egl_image_unmap_buffermali_egl_image_get_buffer_widthmali_egl_image_get_buffer_heightmali_egl_image_get_buffer_secure_idmali_egl_image_get_buffer_layoutmali_egl_image_create_syncmali_egl_image_set_syncmali_egl_image_unset_syncmali_egl_image_wait_syncmali_egl_image_createmali_egl_image_destroy__egl_platform_lock_surface_map_buffer__egl_lock_surface_unmap_buffer__egl_platform_lock_surface_unmap_buffer__egl_build_info_egl_memory_import_buffer_from_nameioctl_egl_memory_import_buffer_from_fd_egl_memory_create_mali_memory_from_handle_egl_memory_get_handle_from_mali_memory_mali_base_common_mem_get_dma_buf_descriptor_egl_memory_get_name_from_handle_egl_memory_release_reference_egl_memory_destroy_buffer_egl_memory_export_buffer_name_from_native_handle_egl_memory_export_buffer_fd_from_native_handle_egl_memory_create_buffer_egl_memory_map_buffer_egl_memory_unmap_buffer__egl_platform_surface_post_processing_needed_mali_soft_job_new_mali_soft_job_add_fence_mali_soft_job_set_activated_callback__egl_platform_setup_soft_job_callback__egl_soft_job_callback_mali_arch_soft_job_start__egl_mali_release_soft_job_mali_arch_soft_job_signal_mali_base_worker_task_addgnu_dev_majorgnu_dev_minor__snprintf_chkfopenfgetsstrncatfclose__egl_platform_initialize_drm__egl_platform_terminate_drm__egl_platform_default_display_drm__egl_platform_display_valid_drm__egl_platform_get_display_orientation_drm__egl_platform_init_display_drmdrm_fd__egl_platform_filter_configs_drm__egl_platform_flush_display_drm__egl_platform_deinit_display_drm__egl_platform_display_get_format_drm__egl_platform_wait_native_drm__egl_platform_get_buffer_drmgbm_bo_destroygbm_bo_create__egl_platform_begin_new_frame_drm__egl_platform_create_surface_drmgbm_surface_ref__egl_platform_destroy_surface_drmgbm_surface_unref__egl_platform_resize_surface_drm__egl_platform_get_pixmap_size_drm__egl_platform_get_pixmap_colorspace_drm__egl_platform_get_pixmap_alphaformat_drm__egl_platform_get_pixmap_format_drm__egl_platform_get_pixmap_alphaformat__egl_platform_pixmap_valid_drm__egl_platform_pixmap_support_gpu_access_drm__egl_platform_pixmap_config_compatible_drm__egl_platform_pixmap_surface_compatible_drm__egl_platform_pixmap_copybuffers_compatible_drm__egl_platform_pixmap_egl_image_compatible_drm__egl_platform_map_pixmap_drm__egl_platform_get_pixmap_format__egl_platform_unmap_pixmap_drm__egl_platform_unmap_image_buffer_drm__egl_platform_swap_buffers_drmgbm_finish_rendering__egl_platform_pixmap_get_mali_memory_drm__egl_platform_surface_buffer_invalid_drm__egl_platform_copy_buffers_drm__egl_platform_get_window_size_drm__egl_platform_window_valid_drm__egl_platform_window_compatible_drmgbm_get_bpp_from_gbm_format__egl_platform_supports_vsync_drm__egl_platform_lock_surface_map_buffer_drm__egl_platform_lock_surface_unmap_buffer_drm__egl_platform_register_lock_item_drm__egl_platform_unregister_lock_item_drm__egl_platform_process_lock_item_drm__egl_platform_release_lock_item_drm__egl_platform_update_image_drm__egl_platform_setup_soft_job_callback_drm__egl_platform_soft_job_callback_drm__egl_platform_surface_post_processing_needed_drm__egl_platform_swap_interval_drm__egl_platform_start_rendering_drmgbm_start_rendering__egl_platform_stop_rendering_drm__egl_platform_query_buffer_age_drmmali_buffer_sharing_interfacewl_buffer_interface_egl_image_map_dma_buf_yuv_egl_image_map_dma_buf_rgb_egl_image_map_dma_buf_egl_image_dma_buf_parse_attribute_list__egl_gles_resize_surface__egl_gles_set_egl_image_caps__egl_gles_make_not_currentegl_linker_init_vgegl_linker_init_glesegl_linker_init_sharedegl_linker_verify_monolithic_glesegl_linker_verify_monolithicdlopendlerrordlclose_egl_create_sync_KHR_egl_destroy_sync_KHR_egl_get_sync_attrib_KHR_egl_signal_sync_KHR_egl_client_wait_sync_KHR_mali_sys_lock_timed_lock_egl_swap_buffers_with_damage_mali_sys_load_config_strings_mali_base_arch_sys_load_config_strings_mali_base_arch_sys_spinlock_create_mali_base_arch_sys_spinlock_lock_mali_sys_spinlock_try_lock_mali_base_arch_sys_spinlock_try_lock_mali_base_arch_sys_spinlock_unlock_mali_base_arch_sys_spinlock_destroy_mali_base_arch_sys_mutex_auto_init_mali_sys_mutex_static_mali_base_arch_sys_mutex_static_mali_base_arch_sys_mutex_create_mali_base_arch_sys_mutex_destroy_mali_base_arch_sys_mutex_lock_mali_base_arch_sys_mutex_try_lock_mali_base_arch_sys_mutex_unlock_mali_base_arch_sys_lock_create_mali_sys_lock_auto_init_mali_base_arch_sys_lock_auto_init_mali_base_arch_sys_lock_destroy_mali_base_arch_sys_lock_lock_mali_base_arch_sys_lock_timed_lock_mali_base_arch_sys_lock_try_lock_mali_base_arch_sys_lock_unlock_mali_base_arch_sys_thread_key_set_data_mali_base_arch_sys_thread_key_get_data_mali_base_arch_sys_thread_get_current_mali_sys_abort_mali_base_arch_sys_abort_mali_sys_break_mali_base_arch_sys_break_mali_base_common_sync_handle_core_new_mali_base_common_sync_handle_new_mali_base_common_sync_handle_cb_function_set_mali_base_common_sync_handle_add_mem_to_free_list_mali_base_common_mem_list_insert_after_mali_base_common_sync_handle_get_wait_handle_mali_base_arch_sys_wait_handle_create_mali_base_common_sync_handle_register_reference_mali_base_common_sync_handle_release_reference_mali_base_arch_sys_wait_handle_trigger_mali_base_common_mem_list_free_mali_base_common_sync_handle_flush_mali_base_common_sync_handle_add_to_sync_handle_mali_base_arch_mem_free_descriptor_mali_base_arch_descriptor_clear_mali_base_arch_mem_release_memory_mali_base_arch_mem_allocate_descriptor_mali_base_common_mem_open_mali_base_arch_mem_open_mali_base_arch_mem_get_capability_sets_mali_base_arch_mem_init_bank_mali_base_arch_mem_close_mali_base_arch_mem_get_memory_mali_fence_init_mali_base_common_resize_mem_alloc_mali_base_arch_mem_cow_memory_mali_base_common_mem_modify_cow_memory_mali_base_arch_mem_modify_cow_memory_mali_base_common_mem_resize_mali_base_arch_mem_resize_mali_base_common_mem_get_total_allocated_size_mali_base_common_mem_free_unused_mem_mali_base_common_mem_alignment_get_mali_base_common_mem_usage_get_mali_base_common_mem_list_insert_before_mali_base_common_mem_list_get_next_mali_base_common_mem_list_get_previous_mali_base_common_mem_list_remove_item_mali_base_common_mem_close_mali_fence_term_mali_base_arch_mem_dma_buf_unbind_mali_base_arch_release_phys_mem_mali_base_common_mem_list_size_getmemory_type_is_swappablememory_type_is_secure_mali_base_common_mem_heap_get_blocksize_mali_base_common_mem_heap_get_max_size_mali_base_common_mem_is_heap_mali_base_common_heap_read64_mali_base_common_heap_write64_mali_base_common_mem_order_get_mali_base_common_heap_intern_set_last_heap_addr_mali_base_common_mem_heap_get_end_address_mali_base_common_mem_heap_out_of_memory_mali_base_common_mem_add_phys_mem_mali_base_arch_mem_add_phys_mem_mali_base_arch_mem_dma_buf_get_sizefcntl_mali_base_arch_mem_dma_buf_bind_mali_fence_init_from_mali_base_mem_add_to_mem_list_mali_base_mem_del_from_mem_list_mali_base_common_submit_limiter_job_done_event_mali_pp_open_mali_arch_pp_open_mali_base_common_context_reference_add_mali_pp_job_dup_mali_arch_pp_job_dup_mali_gp_job_run_postprocessing_mali_arch_pp_job_reset_mali_base_common_context_reference_remove_mali_pp_job_add_mem_to_free_list_mali_pp_job_get_render_attachment_address_mali_pp_job_get_wait_handle_mali_pp_job_add_to_sync_handle_mali_pp_job_run_postprocessing_mali_arch_pp_start_mali_osu_mutex_reentrant_create_mali_base_common_submit_job_limiter_init_mali_base_common_submit_job_limiter_deinit_mali_osu_mutex_reentrant_destroy_mali_base_arch_sys_wait_handle_wait_mali_base_common_cinstr_init_mali_base_common_cinstr_term_mali_osu_mutex_reentrant_lock_mali_osu_mutex_reentrant_unlock_mali_base_common_context_fence_is_locked_mali_osu_mutex_reentrant_is_locked_mali_base_common_context_add_global_pp_fence_mali_gp_job_reset_mali_gp_job_add_mem_to_free_list_mali_gp_job_get_wait_handle_mali_gp_job_set_auto_free_setting_mali_gp_job_get_auto_free_setting_mali_gp_job_add_to_sync_handle_mali_gp_job_free_cmdlists_mali_gp_job_run_postprocessing_job_mali_gp_job_start_mali_arch_gp_start_mali_gp_job_suspended_event_mali_arch_gp_mem_request_response_new_heap_mali_arch_gp_mem_request_response_abort_mali_arch_pp_job_add_piggyback_mali_osu_thread_set_idle_scheduling_policy_mali_osu_wait_for_thread_mali_osu_create_thread_mali_base_worker_quit_mali_fence_merge_point_mali_arch_profiling_control_set_mali_base_common_cinstr_qmanager_get_default_buffer_sizemem_cinstr_counters_mali_osu_timer_init_mali_base_common_cinstr_qmanager_init_mali_base_common_cinstr_kbsr_init_mali_base_common_cinstr_qmanager_destory_mali_osu_timer_termmem_cinstr_timer_mali_base_common_cinstr_kbsr_destory_mali_base_common_cinstr_set_mem_counter_mali_base_common_cinstr_timer_start_mali_osu_timer_reset_mali_base_common_cinstr_timer_stop_mali_osu_timer_stop_mali_base_common_cinstr_endpoint_connect_mali_base_common_cinstr_endpoint_send_mali_base_common_cinstr_endpoint_receivepoll_mali_base_common_cinstr_endpoint_initpipe_mali_base_common_cinstr_streamline_notify_startup_mali_base_common_cinstr_endpoint_destory_mali_base_common_cinstr_endpoint_disconnect__errno_locationacceptsocketsyscallrecvlisten_mali_arch_profiling_stream_fd_getmali_arch_submit_job_limiter_initmali_arch_submit_job_limiter_deinitmali_arch_submit_limiter_add_submit_eventmali_arch_submit_limiter_job_done_event_mali_base_common_submit_limiter_get_pending_big_gp_job_nummali_arch_submit_limiter_get_pending_big_gp_job_num__base_build_info_mali_arch_uk_fence_copy_fence_mali_uku_timeline_waitmali_uk_ctx_mali_uku_gp_start_job_mali_arch_gp_get_render_id_mali_arch_gp_event_handler_mali_uku_gp_suspend_response_mali_uku_pp_and_gp_start_job_mali_uku_pp_start_job_mali_uku_get_pp_number_of_cores_mali_uku_get_pp_core_version_mali_uku_timeline_get_latest_point_mali_arch_pp_event_handler_mali_arch_pp_get_render_id_mali_uku_pp_job_disable_wb_mali_uku_soft_job_start_mali_uku_soft_job_signal_mali_arch_soft_job_event_handler_mali_uku_profiling_add_event_mali_uku_profiling_stream_fd_get_mali_uku_profiling_control_set_mali_arch_profiling_memory_usage_get_mali_uku_profiling_memory_usage_get_mali_uku_profiling_report_sw_counters_mali_osu_annotate_setup_mali_osu_annotate_write_mali_osu_annotate_flush_mali_osu_annotate_lock_mali_osu_annotate_unlockmali_fb_limiterpthread_mutex_initpthread_cond_initpthread_mutex_destroypthread_cond_destroy_mali_uku_pending_submitpthread_mutex_lockpthread_cond_waitpthread_mutex_unlockpthread_cond_signalmali_sub_limiter_max_mali_convert_intrinsics_nonlinear_to_linear_lut_mali_convert_intrinsics_linear_to_nonlinear_lut_mali_convert_intrinsics_load_l8_mali_convert_intrinsics_store_l8_mali_convert_intrinsics_load_a8_mali_convert_intrinsics_load_i8_mali_convert_intrinsics_store_a8_i8_mali_convert_intrinsics_load_rgb565_mali_convert_intrinsics_store_rgb565_mali_convert_intrinsics_load_argb1555_mali_convert_intrinsics_store_argb1555_mali_convert_intrinsics_load_argb4444_mali_convert_intrinsics_store_argb4444_mali_convert_intrinsics_load_al88_mali_convert_intrinsics_store_al88_mali_convert_intrinsics_load_rgb888_mali_convert_intrinsics_store_rgb888_mali_convert_intrinsics_load_argb8888_mali_convert_intrinsics_store_argb8888_mali_convert_intrinsics_load_8x4_mali_convert_intrinsics_store_8x4_mali_convert_intrinsics_16x1_rgba_to_yuvtbl_mali_neon_transform_and_produce_clip_bits_mali_osu_matrix4x4_copy_mali_osu_lock_initpthread_mutexattr_initpthread_mutexattr_settypepthread_mutexattr_destroy_mali_osu_lock_auto_init_mali_osu_lock_timed_waitgettimeofdaypthread_cond_timedwait_mali_osu_lock_wait_mali_osu_lock_trywaitpthread_mutex_trylock_mali_osu_lock_signal_mali_osu_lock_term_mali_osu_lock_static_mali_osu_calloc_mali_osu_malloc_mali_osu_realloc_mali_osu_free_mali_osu_memcpy_mali_osu_memset_mali_osu_memcmp_mali_osu_load_config_strings_mali_osu_breakkill_mali_osu_abort_mali_osu_thread_key_set_datapthread_key_createpthread_setspecific_mali_osu_thread_key_get_datapthread_getspecific_mali_osu_thread_get_currentpthread_selfpthread_createpthread_joinsched_setschedulertimer_createtimer_delete_mali_osu_timer_starttimer_settime_mali_uku_open_mali_uku_close_mali_uku_wait_for_notification_mali_uku_post_notification_mali_uku_get_api_version_mali_uku_get_user_setting_mali_uku_get_user_settings_mali_uku_timeline_create_sync_fence_mali_uku_mem_allocate_mali_uku_mem_free_mali_uku_mem_bind_mali_uku_mem_unbind_mali_uku_mem_cow_mali_uku_mem_cow_modify_range_mali_uku_mem_resize_mali_uku_mem_mmap_mali_uku_mem_munmap_mali_uku_mem_write_safe_mali_uku_query_mmu_page_table_dump_size_mali_uku_dump_mmu_page_table_mali_uku_dma_buf_get_size_mali_uku_vsync_event_report_mali_uku_request_high_priorityarch_init_timerarch_cleanup_timer_mali_virtual_mem_area_create_mali_virtual_mem_area_destroy_mali_mmu_virtual_address_range_allocate_mali_mmu_virtual_address_range_free_mali_mmu_virtual_address_range_get_size_mali_virtual_mem_area_get__vprintf_chkfflushstdout_mali_base_arch_closearch_l2_counters_needs_resetarch_init_settings_mali_base_arch_open_mali_base_arch_mem_get_num_capability_sets_mali_base_arch_mem_dma_buf_map_mali_base_arch_mem_dma_buf_unmap_mali_base_arch_mem_write_safe_mali_base_arch_mem_write_safe_ptr_mali_base_arch_mmu_dump_size_get_mali_base_arch_mmu_dump_get_mali_base_arch_sys_wait_handle_timed_wait_mali_base_arch_sys_wait_handle_abandonfwritefeofferror__strcat_chk__strncat_chkdlsym__egl_platform_get_display_orientation__egl_platform_unmap_image_buffer__egl_platform_pixmap_get_mali_memory__egl_platform_destroy_dummy_windowwl_resource_get_user_data_Z35gbm_get_gbm_format_from_mali_format17mali_pixel_formatgbm_device_refgbm_device_unrefgbm_bo_refgbm_bo_unrefgbm_device_get_fdgbm_device_get_backend_namegbm_device_is_format_supportedgbm_device_destroygbm_bo_importgbm_bo_get_widthgbm_bo_get_heightgbm_bo_get_stridegbm_bo_get_formatgbm_bo_get_devicegbm_bo_get_handlegbm_bo_get_fdgbm_bo_writegbm_bo_set_user_datagbm_bo_get_user_datagbm_surface_creategbm_surface_needs_lock_front_buffergbm_surface_lock_front_buffergbm_surface_release_buffergbm_surface_has_free_buffersgbm_surface_destroywl_proxy_destroywl_proxy_marshal_constructorwl_proxy_set_queuewl_proxy_add_listenerwl_display_dispatch_queuewl_callback_interfacewl_proxy_marshal__egl_platform_wait_swap_complete_internal__egl_platform_initialize_wayland__egl_platform_terminate_waylandwl_display_disconnect__egl_platform_default_display_waylandwl_display_connect__egl_platform_display_valid_wayland__egl_platform_get_display_orientation_wayland__egl_platform_init_display_waylandwl_display_create_queuewl_event_queue_destroywl_registry_interface__egl_platform_filter_configs_wayland__egl_platform_flush_display_wayland__egl_platform_deinit_display_wayland__egl_platform_display_get_format_wayland__egl_platform_wait_native_wayland__egl_platform_begin_new_frame_wayland__egl_platform_create_surface_waylandwl_egl_window_insert_surface__egl_platform_destroy_surface_waylandwl_egl_window_remove_surface__egl_platform_resize_surface_wayland__egl_platform_get_pixmap_size_wayland__egl_platform_get_pixmap_colorspace_wayland__egl_platform_get_pixmap_alphaformat_wayland__egl_platform_get_pixmap_format_wayland__egl_platform_pixmap_valid_wayland__egl_platform_pixmap_support_gpu_access_wayland__egl_platform_pixmap_config_compatible_wayland__egl_platform_pixmap_surface_compatible_wayland__egl_platform_pixmap_copybuffers_compatible_wayland__egl_platform_pixmap_egl_image_compatible_wayland__egl_platform_map_pixmap_wayland__egl_platform_unmap_pixmap_wayland__egl_platform_unmap_image_buffer_wayland__egl_platform_swap_buffers_waylandwl_display_prepare_read_queuewl_display_dispatch_queue_pendingwl_display_get_fdwl_display_read_eventswl_display_cancel_readwl_display_flush__egl_platform_pixmap_get_mali_memory_wayland__egl_platform_surface_buffer_invalid_wayland__egl_platform_copy_buffers_wayland__egl_platform_get_window_size_wayland__egl_platform_window_valid_wayland__egl_platform_window_compatible_wayland__egl_platform_supports_vsync_wayland__egl_platform_lock_surface_map_buffer_wayland__egl_platform_lock_surface_unmap_buffer_wayland__egl_platform_get_buffer_wayland__egl_platform_register_lock_item_wayland__egl_platform_unregister_lock_item_wayland__egl_platform_process_lock_item_wayland__egl_platform_release_lock_item_wayland__egl_platform_update_image_wayland__egl_platform_setup_soft_job_callback_wayland__egl_platform_soft_job_callback_wayland__egl_platform_surface_post_processing_needed_wayland__egl_platform_swap_interval_wayland__egl_platform_wait_swap_complete_wayland__egl_platform_start_rendering_wayland__egl_platform_stop_rendering_wayland__egl_platform_query_buffer_age_waylandwl_egl_window_resizewl_egl_window_createwl_egl_window_refwl_egl_window_unrefwl_egl_window_destroywl_egl_window_get_attached_size_egl_bind_wayland_display_egl_unbind_wayland_display_egl_query_wayland_buffer_wlwl_resource_destroywl_resource_createwl_resource_set_implementationwl_resource_set_user_datamali_buffer_implementationwl_resource_post_errorwl_resource_post_eventwl_global_createwl_global_destroy_gles_gb_vs_range_resize_gles_gb_plbu_arrays_semaphore_begin_gles_gb_plbu_arrays_semaphore_end_gles_gb_extract_viewport_dimensions_gles_gb_setup_plbu_scissor_gles_gb_plbu_setup_points_lines_gles_gb_plbu_setup_draw_gles_gb_plbu_setup_gles_gb_setup_input_streamsgles_gb_cache_allocgles_gb_cache_enable_oom_invalidationgles_gb_cache_free_gles_gb_release_range_cache_entry_gles_gb_allocate_range_cache_entry_gles_gb_range_invalidate_gles_gb_bb_cache_invalidate_rangesgles_gb_cache_get_gles_gb_scan_ranges_and_update_cache_entry_gles_scan_indices_range_with_cpu_spreadgles_gb_cache_insert_gles_gb_range_compare_gles_gb_calculate_vs_viewport_transform_gles_gb_try_reject_drawcall_gles_gb_vs_setup_gles_gb_draw_nonindexed_split_gles_gb_vs_arrays_semaphore_begin_gles_gb_vs_arrays_semaphore_endgles_gb_cache_invalidate_by_compare_gles_gb_insert_ranges_main_gles_bb_prepare_inversegles_bb_frustum_produce_clip_bits_gles_clip_bounding_box_gles_gb_merge_active_bb_nodes_gles_traverse_for_bounding_boxparse_cpupretrans_patternsgles_create_bounding_box_from_indices_gles_scan_minmax_and_produce_dirty_bits_gles_gb_create_bounding_box_from_children_gles_gb_sort_and_merge_sparse_bb_nodes_gles_gb_construct_bounding_box_gles_gb_bb_cache_get_gles_gb_bb_compare_gles_gb_release_bb_tree_gles_fast_scan_shorts_no_distance_gles_fast_scan_shorts_gles_scan_ranges_from_dirty_bits_gles_gb_range_is_invalid_gles_gb_bb_cache_is_invalid_gles_gb_allocate_bb_cache_entry_gles_gb_release_bb_cache_entry_gles_gb_setup_vs_constant_registers__memset_chk_gles_gb_setup_output_streams_gles_sg_extract_fragment_state_gles_sg_get_vertex_uniform_array_size_gles_sg_get_fragment_uniform_array_size_gles_sg_make_attribute_remap_table_gles_sg_extract_vertex_uniforms_gles_sg_update_current_attribute_values_gles_sg_extract_fragment_uniforms_gles_sg_adjust_matrix_for_prerotate_essl_mempool_tracker_init_essl_mempool_init_essl_new_compiler_options_essl_output_buffer_init_essl_mempool_destroy_essl_error_get_n_errors_essl_error_out_of_memory_essl_error_essl_set_compiler_options_for_hw_rev_essl_new_target_descriptor_essl_new_frontend_essl_new_compiler_for_target_essl_set_compiler_option_essl_set_compiler_option_value_essl_run_frontend_essl_ast_to_lir_essl_middle_transform_essl_set_source_string_report_offset_essl_error_set_source_string_report_offset_essl_error_get_log_size_essl_error_get_log_essl_get_n_errors_essl_get_n_warnings_essl_error_get_n_warnings_essl_output_buffer_get_size_essl_output_buffer_get_raw_pointer_essl_mempool_allocsnprintf_essl_error_init_essl_error_get_position_essl_error_set_position_essl_list_new_essl_list_insert_back_essl_warning_essl_note_essl_error_node_essl_warning_node_essl_note_node_essl_mali_core_name_essl_list_insert_front_essl_list_remove_essl_list_length_essl_list_reverse_essl_list_find_essl_list_sort_essl_mempool_clear_essl_mempool_fail_alloc_handler_essl_mempool_get_tracker_essl_validate_hw_rev_essl_mali200_new_target_descriptor_essl_maligp2_new_target_descriptor_essl_output_buffer_replace_bits_essl_output_buffer_retrieve_bits_essl_output_buffer_append_bits_essl_output_buffer_append_int8_essl_output_buffer_append_int16_essl_output_buffer_append_int32_essl_output_buffer_get_word_position_essl_output_buffer_get_bit_position_essl_output_buffer_get_byte_position_essl_buffer_native_to_le_byteswap_essl_output_buffer_native_to_le_byteswap_essl_ptrdict_insert_essl_ptrdict_lookup_essl_insert_global_variable_initializers_essl_new_variable_reference_expression_essl_ensure_compatible_node_essl_new_assign_expression_essl_node_append_child_essl_parse_translation_unit_essl_typecheck_essl_symbol_table_iter_init_essl_symbol_table_next_essl_get_symbol_declaration_id_in_scope_essl_symbol_table_lookup_essl_make_callgraph_essl_ptrdict_init_essl_ptrset_init_essl_is_type_control_dependent_essl_ptrset_insert_essl_inline_global_variables_essl_create_language_descriptor_essl_typestorage_init_essl_scanner_init_essl_preprocessor_init_essl_parser_init_essl_typecheck_init_essl_dict_init_essl_set_language_version_essl_cstring_to_string_nocopy_essl_string_cmp_essl_string_to_cstring_essl_get_language_version_essl_load_extension_macros_essl_preprocessor_extension_macro_add_essl_get_extension_behavior_essl_set_extension_essl_dict_insert_essl_dict_remove_essl_set_pragma_essl_make_basic_blocks_init_essl_optimise_loop_entry_essl_eliminate_complex_returns_essl_optimise_inline_functions_init_essl_eliminate_complex_ops_essl_make_basic_blocks_essl_compute_dominance_information_essl_ssa_transform_essl_optimise_inline_functions_essl_ptrset_iter_init_essl_ptrset_next_essl_ptrset_has_essl_init_qualifier_set_essl_cstring_to_string_essl_new_variable_symbol_essl_symbol_scope_insert_essl_new_single_declarator_essl_new_variable_declaration_essl_node_prepend_childmemmove_essl_node_set_n_children_essl_common_dominator_essl_basic_block_setup_postorder_sequence_essl_reverse_postorder_visit_essl_postorder_visit_essl_compute_dominance_frontier_essl_run_lir_function_pass_essl_run_lir_tu_pass_essl_expand_builtin_functions_essl_optimise_constant_input_calculations_essl_rewrite_sampler_accesses_essl_optimise_constant_fold_nodes_and_blocks_essl_optimise_basic_block_sequences_essl_find_blocks_for_operations_essl_loop_unroll_essl_optimise_conditional_selects_essl_optimise_basic_block_joins_essl_forward_stores_to_loads_and_elide_stores_essl_optimise_vector_ops_essl_control_dependencies_calc_essl_identify_hbbr_patterns_essl_get_type_size_essl_new_variable_symbol_with_default_qualifiers_essl_ptrset_clear_essl_ptrset_remove_essl_ptrdict_remove_essl_rewrite_node_to_transfer_essl_ptrdict_clear_essl_ptrdict_iter_init_essl_ptrdict_next_essl_symbol_for_node_essl_correct_output_sequence_list_essl_calc_op_weight_essl_ptrdict_has_key_essl_constant_fold_single_node_essl_constant_fold_init_essl_optimise_constant_fold_nodes_essl_node_is_texture_operation_essl_new_unary_expression_essl_create_scalar_swizzle_essl_type_is_or_has_sampler_essl_get_type_with_given_vec_size_essl_new_constant_expression_essl_get_type_with_size_essl_new_binary_expression_essl_get_scalar_size_for_type_essl_new_builtin_function_call_expression_essl_new_ternary_expression_essl_clone_type_essl_new_type_convert_expression_essl_create_undef_swizzle_essl_clone_node_essl_combine_swizzles_essl_new_vector_combine_expression_essl_create_identity_swizzle_essl_type_scalar_part_equal_essl_swizzle_patch_dontcares_essl_is_node_all_value_essl_remove_control_dependent_op_node_essl_clone_control_dependent_op_essl_add_succs_to_list_essl_ptrset_size_essl_maligp2_get_type_size_essl_collect_node_successors_essl_new_function_symbol_essl_new_basic_block_essl_new_load_expression_essl_new_store_expression_essl_loop_build_tree_essl_is_identity_swizzle_sized_essl_new_builtin_constructor_expression_essl_backend_constant_fold_essl_backend_constant_fold_sized_essl_backend_float_to_scalar_essl_backend_int_to_scalar_essl_backend_bool_to_scalar_essl_backend_scalar_to_float_essl_backend_scalar_to_int_essl_backend_scalar_to_bool_essl_backend_convert_scalar_essl_mali200_driver_essl_mali200_get_type_alignment_essl_mali200_get_type_size_essl_mali200_get_type_member_offset_essl_mali200_get_address_multiplier_essl_mali200_get_array_stride_essl_mali200_insert_entry_point_essl_mali200_op_weight_essl_mali200_emit_translation_unit_essl_mali200_init_driver_context_essl_unique_name_init_essl_mali200_relocations_init_essl_mali200_preschedule_essl_rewrite_sampler_external_accesses_essl_remove_dead_code_essl_find_blocks_for_operations_func_essl_calculate_extra_info_essl_mali200_schedule_function_essl_mali200_allocate_registers_essl_mali200_relocations_resolve_essl_mali200_remove_empty_instructions_essl_mali200_insert_pad_instruction_essl_serialize_translation_unit_essl_mali200_emit_function_essl_create_extra_info_essl_new_type_essl_scheduler_schedule_extra_operation_essl_new_mali200_instruction_word_essl_mali200_find_free_slots_essl_mali200_allocate_slots_essl_scheduler_postpone_operation_essl_mali200_write_instructions_essl_new_depend_expression_essl_create_swizzle_from_combiner_essl_scheduler_forget_unscheduled_use_essl_mali200_output_modifier_is_identity_essl_mali200_can_handle_redirection_essl_mali200_has_output_modifier_slot_essl_mali200_has_output_modifier_and_truncsat_slot_essl_mali200_has_output_modifier_and_swizzle_slot_essl_scheduler_is_only_use_of_source_essl_mali200_is_coalescing_candidate_essl_is_node_comparison_essl_scheduler_schedule_operation_essl_scheduler_init_essl_scheduler_set_data_dependency_delay_callback_essl_scheduler_more_blocks_essl_scheduler_begin_block_essl_scheduler_block_complete_essl_scheduler_more_operations_essl_scheduler_finish_block_essl_new_mali200_instruction_essl_mali200_opcode_is_symmetric_essl_mali200_opcode_has_side_effects_essl_mali200_create_slot_instruction_essl_mali200_fit_constants_essl_mali200_output_modifiers_can_be_coalesced_essl_is_identity_swizzle_essl_mali200_add_address_offset_relocation_essl_create_identity_swizzle_from_swizzle_essl_address_symbol_lists_equal_essl_mali200_fit_float_constants_essl_scheduler_get_earliest_use_essl_scheduler_get_latest_use_essl_create_reservation_context_essl_liveness_mark_fixed_ranges_essl_mali200_allocate_reg_essl_reservation_allocate_reg_essl_reservation_find_available_reg_essl_mali200_calculate_live_ranges_essl_eliminate_phi_nodes_essl_sort_live_ranges_by_graph_coloring_essl_mali200_find_word_for_spill_essl_mali200_split_word_essl_mali200_create_spill_ranges_essl_mali200_insert_spills_essl_mali200_integrate_allocations_essl_mali200_phielim_insert_move_essl_mali200_spill_cost_essl_graph_coloring_default_is_definitely_colorable_essl_create_identity_swizzle_from_mask_essl_instruction_word_at_cycle_essl_liveness_new_delimiter_essl_liveness_new_live_range_essl_liveness_correct_live_range_essl_mali200_insert_word_before_essl_mali200_insert_word_after_essl_liveness_insert_cycle_essl_get_specified_samplers_num_essl_new_function_call_expression_essl_get_unqualified_type_essl_new_flow_control_statement_essl_new_compound_statement_essl_symbol_table_begin_scope_essl_new_function_declaration_essl_new_array_of_type_essl_is_optimized_sampler_symbol_essl_allocate_addresses_for_optimized_samplers_essl_allocate_addresses_for_set_essl_clz32_essl_mali200_add_symbol_address_relocation_essl_mali200_same_address_essl_get_type_with_default_size_for_target_essl_split_basic_block_essl_new_phi_expression_essl_maligp2_get_type_alignment_essl_maligp2_get_address_multiplier_essl_maligp2_get_array_stride_essl_maligp2_get_type_member_offset_essl_maligp2_driver_essl_maligp2_insert_entry_point_essl_maligp2_op_weight_scheduler_essl_maligp2_op_weight_realistic_vertex_shadergen_select_pieces_vertex_shadergen_glue_pieces_piecegen_get_piece_piecegen_get_indexed_piece_piecegen_get_serialized_data_essl_shadergen_mali200_new_target_descriptor_fragment_shadergen_internal_generate_shader_essl_shadergen_mali200_driver_essl_dict_lookup_essl_dict_has_key_essl_dict_clear_essl_dict_size_essl_dict_iter_init_essl_dict_next_essl_string_cstring_count_cmp_essl_ptrdict_size_essl_ptrdict_set_value_essl_ptrdict_get_value_essl_ptrdict_get_key_essl_ptrdict_next_entry_essl_ptrdict_reverse_iter_init_essl_ptrdict_reverse_next_essl_ptrset_reverse_iter_init_essl_ptrset_reverse_next_essl_ptrset_union_essl_ptrset_difference_essl_ptrset_is_subset_essl_ptrset_equal_essl_symbol_scope_init_essl_symbol_table_lookup_current_scope_essl_symbol_table_end_scope_essl_new_symbol_essl_new_builtin_function_symbol_essl_new_builtin_function_name_symbol_essl_new_type_symbol_essl_new_basic_block_with_n_successors_essl_new_node_essl_node_get_n_children_essl_node_get_child_essl_node_get_child_address_essl_node_set_child_essl_new_translation_unit_essl_new_struct_constructor_expression_essl_new_dont_care_expression_essl_new_if_statement_essl_new_while_statement_essl_new_do_statement_essl_new_for_statement_essl_new_precision_declaration_essl_set_node_position_essl_new_transfer_expression_essl_is_sampler_type_essl_node_is_constant_essl_create_undef_combiner_essl_create_on_combiner_essl_mask_from_swizzle_output_essl_mask_from_swizzle_input_essl_create_vector_combine_for_nodes_essl_invert_swizzle_essl_new_basic_type_essl_get_type_with_size_and_signedness_essl_get_type_essl_get_type_vec_size_essl_type_has_vec_size_essl_get_matrix_n_columns_essl_get_matrix_n_rows_essl_get_type_member_offset_essl_type_equal_essl_type_with_scalar_size_equal_essl_get_type_with_given_size_essl_get_single_matrix_column_type_essl_new_matrix_of_type_essl_new_unresolved_array_of_type_essl_get_nonderived_basic_type_essl_size_of_scalar_essl_unique_name_get_essl_unique_name_set_essl_unique_name_get_or_create_essl_scanner_get_source_offset_essl_scanner_get_token_essl_token_to_str_essl_preprocessor_get_token_essl_string_to_float_essl_convert_string_to_double_essl_preprocessor_get_source_offset_essl_string_to_integer_essl_parse_expression_essl_string_buffer_put_formatted_essl_typecheck_single_node_essl_get_type_name_essl_new_string_buffer_essl_string_buffer_put_string_essl_string_buffer_reset_essl_string_buffer_to_string_essl_calculate_precision_essl_precision_init_context_essl_preprocessor_extension_macro_remove_essl_precision_enter_scope_essl_precision_leave_scope_essl_precision_visit_single_node_essl_middle_split_lvalue_essl_is_var_ref_control_dependent_essl_is_var_ref_load_essl_general_dict_insert_essl_general_dict_lookup_essl_general_dict_inittransfer_liveness_for_expressiontanasinacosexpatan2_essl_scheduler_is_operation_partially_scheduled_estimate_essl_scheduler_next_operation_essl_scheduler_add_scheduled_use_essl_scheduler_set_control_dependency_delay_callback_essl_scheduler_set_phi_source_dependency_delay_callback_essl_interference_graph_has_edge_essl_allocate_addresses_essl_liveness_mark_use_essl_liveness_mark_def_essl_liveness_find_preceding_liveness_essl_liveness_create_context_essl_liveness_insert_range_essl_liveness_remove_range_essl_liveness_calculate_live_ranges_essl_liveness_merge_live_ranges_essl_liveness_sort_live_ranges_essl_liveness_fix_dead_definitions_essl_priqueue_init_essl_priqueue_insert_essl_priqueue_n_elements_essl_priqueue_remove_first_essl_interference_graph_iter_init_essl_interference_graph_next_essl_interference_graph_get_edges_essl_interference_graph_init_essl_interference_graph_register_edge_essl_interference_graph_register_wildcard_edge_essl_new_maligp2_instruction_word_essl_maligp2_allocate_slots_essl_maligp2_write_instructions_essl_maligp2_schedule_function_essl_maligp2_allocate_move_essl_maligp2_reserve_move_essl_maligp2_demote_misc_move_reservation_essl_maligp2_add_address_offset_relocation_essl_new_maligp2_instruction_essl_maligp2_get_mul_slot_opcode_essl_maligp2_get_add_slot_opcode_essl_maligp2_add_slot_move_needs_two_inputs_essl_maligp2_create_slot_instruction_essl_maligp2_inseparable_essl_maligp2_inseparable_from_successor_essl_maligp2_inseparable_from_predecessor_essl_maligp2_emit_translation_unit_essl_maligp2_relocations_init_essl_maligp2_simplify_index_op_essl_maligp2_preschedule_essl_maligp2_allocate_registers_essl_maligp2_fixup_constants_essl_maligp2_calc_constant_register_interference_essl_maligp2_relocations_resolve_essl_maligp2_integrate_bypass_allocations_essl_maligp2_emit_function_essl_maligp2_is_fixedpoint_range_essl_maligp2_rollback_bypass_network_essl_maligp2_allocate_bypass_networkextract_store_list_for_blockextract_store_list_for_functionextract_store_listextract_load_listbuild_interference_graph_essl_maligp2_get_normal_relocations_essl_maligp2_insert_word_after_essl_maligp2_insert_word_before_essl_maligp2_add_constant_relocation_essl_maligp2_calculate_live_ranges_essl_maligp2_virtual_reg_init_essl_maligp2_create_loadstore_context_essl_maligp2_allocate_work_registers_essl_maligp2_constant_register_spilling_essl_maligp2_produce_conflict_graph_essl_maligp2_allocate_register_loadstores_shadergen_maligp2_merge_instructions_shadergen_maligp2_correct_flow_address_essl_general_dict_has_key_essl_general_dict_remove_essl_general_dict_clear_essl_general_dict_size_essl_priqueue_remove_essl_priqueue_peek_first_essl_priqueue_has_element_essl_priqueue_get_priority_essl_string_buffer_put_str_essl_string_buffer_put_int_essl_string_buffer_put_unsigned_int_essl_string_buffer_put_floatstrstr_essl_string_buffers_to_string_essl_maligp2_virtual_reg_get_allocation_essl_maligp2_virtual_reg_coalesce_essl_maligp2_virtual_reg_get_essl_maligp2_virtual_reg_allocate_essl_maligp2_virtual_reg_assign_essl_maligp2_virtual_reg_allocated_essl_maligp2_virtual_reg_set_conflict_graph_mali_rcp_table_mali_sin_table__mali_float_matrix4x4_multiply__mali_float_matrix4x4_swap_rows__mali_float_matrix4x4_invert_gaussfabsf__mali_float_matrix4x4_invert_partitioning__mali_float_matrix4x4_transposelibpthread.so.0libdrm.so.2libwayland-client.so.0libwayland-server.so.0libffi.so.6libm.so.6libdl.so.2librt.so.1raiselibc.so.6__fxstatld-linux-armhf.so.3_edata__bss_start__bss_start____bss_end____end__GLIBC_2.4libffi.solibmali.so.1  $   z% t"o z E 4# [ ]V Z " / R70 5 33 x+ U E(  V 9R]  ZC^H 5G  2 F4  j K a kpU I sbX!0q  6 * p s f  ( <  p v =Tyao?V \  S   C>L i \   p  W| B  * / [0 242 . Q  D g_  >k V b ` Y j k rT 6 e#u ~  l mT  !6  fc sY 0    9  m l $ c R  z m H V k5 2 g  a  : V LB uPq ".jE _   / gR)mcI?  O 05 x */d&  DN  U   1 8 ! E  o  t - @ R  | k ,, p k > F ^     ' a} H hQ y  D|!{{  + s wh  ; t(g60X xe A  KP#  R0 @   <# o 4  } j >  j Ir ~k  p ) G%+  d I _:!d  f<  &1Ou   Yr }S& Y1 a7C   l  y z1 NS G2    c h?iA 2 ?fK= d G -hx Q  5N  j  = $ f % Tw =Wc q 2 @ P ! -? &H QH ) ])r  `- Y= / P$ d D  9o /q H  ) RB  ]e y CC   Lw ;  v!D ZR  A Q >j )  P  2h I  d [4 b }B } ;E  bB  o 'D R .I  5  C% 8G X  J? E  *3"  ?.3x p_] *:f: P =Z nPn@ % 1  L  i +hZ 2G  ? ~ Z n `e TT./aD ^  qKu  hv  P 7 Y) @ i $ c J O  3 .y Ax xv 9 Q UF  (4   b r   3 M ~:|P7T ' D .     ] g t 7 e } A @ Xs Rg v> ;8 { ,  ^ 4  AK     Q Wt  )l(  t b!   q1 m  |M: $U C y L U4 =  n z 6; I n | ^ . p;rl6 OB th X   ?f1" u S H  <   `  O { ~ ` kO  [ : Y} eaM v <J * |54 n  0 yy < 6 *,  p  W 8] l Ix[ q7 % t _ {_b  \  ^ F a   \  } # r"  &  V $2{ r J # m   -N 1=[#$@'?VD:c%b<sfAh;ElsPre07o_ 8H=r&KEZQ~jv\%5U- nqq^8!TgK} M4X/z1 \@-x;iQn1f8~!"`PJ @R7S0ZF:WW\*BFNW nLu)'" [aG9f&F&T.] JYvrL7SNlE3<\+V}J}g;DB  |_&M0ZsS 6.$~d)xQq^*-C{9=awHCem^[ lKe PF9IU{jOw`|*u ;ci'dM[ Uy+H<'ox R(.,Yw\>]b N @M\x7i$_9d"2Jp=XLd[r2UXW Bu&N%<YzbDc Ntkz E{@ m^ K6 \9~G+-O33CO5(hIME>w}GZ7wWAp9>ngd>[ef>C?0A"#]\1u|kjLwhk`75o$siZsb%3?X/t~*lV&Yj',;)',_z`u:y#:a8$Hv^oS+u>5Ggilw*  6oG;<ld  OM "W<B(iW ]^MT! {H 5vSX h F Jav#L'/ O]pm LQmNK+{c 1 3~X qti!  g  gUz |G 9  4 @qN ,z `J Ss  Y ,  FW  %K 8 _ /inL(EN # j Uk(X &  I8:ZJ m , # ' - 3  I {C(O_ B|S B K , ,  A %beF + FvAS tn)w M[  6 `+  9 u( 6y D/  f s4Q V c AJ  z.- +m`   y8 ~ 8w -  V   "  ' =MoceT T