java-11-openjdk-javadoc-11.0.13.0-lp152.2.21.2<>,+Ta0/=„0ni- a,@v۸^#6YKt-_ sL R゘"f[.1JPm LVacЮ{; Par,AY%fBvs|#'óϾ>d HBS(z\Ol, Kõw^ G]ta F3:}~0罐{q2GI~0͒zH>k(t)@>BB?Bd$ 1 Npt|S lL** <* Y* ,*  7*  bX* * @**bXb b cv (c8cV9dV:mV>[@cBkFG*H8*IY*XYZ[\*]/*^b[cdeflu*v6\EzBwBBBBCjava-11-openjdk-javadoc11.0.13.0lp152.2.21.2OpenJDK 11 API DocumentationThe OpenJDK 11 API documentation.a0sheep83v;openSUSE Leap 15.2openSUSEApache-1.1 AND Apache-2.0 AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-only WITH Classpath-exception-2.0 AND LGPL-2.0-only AND MPL-1.0 AND MPL-1.1 AND SUSE-Public-Domain AND W3Chttp://bugs.opensuse.orgDevelopment/Languages/Javahttps://openjdk.java.net/linuxnoarch# in some settings, the /usr/share/javadoc/java-11-openjdk/api does not exist # and the update-alternatives call ends up in error. So, filter this # cases out. if [ -d /usr/share/javadoc/java-11-openjdk/api ] then update-alternatives \ --install /usr/share/javadoc/java javadocdir /usr/share/javadoc/java-11-openjdk/api \ 2105 fiif [ $1 -eq 0 ] then # in some settings, the /usr/share/javadoc/java-11-openjdk/api does not exist # and the update-alternatives call ends up in error. So, filter this # cases out. if [ -d /usr/share/javadoc/java-11-openjdk/api ] then update-alternatives --remove javadocdir /usr/share/javadoc/java-11-openjdk/api fi fi N.GF!3* { ,*5EMPr O5{1g5 ?) Mk}bVV4{_|7p3fIwj5|;G)G6uPq+`]R30R`=lE3Rw<g~4 4JJ6BC_usf(hFWio<=VF+6`5[k0zY\g([IViXw+cI_SB4!a`mx[16?3JW($$hY(I5 :/LP Bh,GD,m|sfH3k IR!o%x7 XB YF j;-!!vS%p;S##%"$s"_p$Q&S$ `t]_4 A38t3T!s<ۄVA.#+{3{23KPB5)5F6/BXq[?QzKC<$T4 2Gku%sx'@'^2IZ` h9Y-^sy/db8R070lO=U293644D2=@)U]=B!\C*"('D-\{R)$L)X8$rB.#)yWM!3/S'fB^*13+ rDt97SR^2Gt[U[U5Ӳ&TFA]VwvL=Nu4YIS#_:R?4>{5=:KSf$;b;p!8>b-Yp6Q8`(3L5.3%'XҲe`2<) )@>$ w!O)P 1MWATyfp0o5Rn0[~;I5DJ<)C)?!Q%',<(-Q;6<Od<tq+O2($2Y;: p&Q%V0.1r ]&U<Y@C26%!v"@'+&$7z ]M5<88E5;JB@Nm-0549I5c7@-G:B*SDUL=4)i@\~~V%&E[-VG2l/t bJT0$?JP8rRo1`B["}_x@4584H~+U:M5TE@@(')F%NPXw5mD4Oi5s7J43&@R5TETN :+$5b(h-:e6An}N~ZRHn1,*3487H $ : s1*#!)3#5 #,g$F Lxh\.;= 1,&k.t4O# Qz\%">L "w0%+@%':CxIoL70X<0=0J:zK0fPG12Q112"c{AY2J)?1=t392102[%9 Xv1H2 221=9_]f2V211112G;GTBo1:G_` `zK2q/12>9Y1mf''\AL'O6o3<&f\ 1=tMp9\) @8%p{:g*a$P0@_{ %{_J%>MI 7T4x8@?fUvoUcrV:]eaLj98!!4E#&!/2Ύ3.eq<:=8=:* 66m_HOMPA7=:4:t!P=)<]5\4<2G.WC"]:^, )8C`PC^Q[JglhE[,ONv[J60,&>",i%%e@9QBFe)F< 24-/92(-#pJB!nDu#"IOL'c!.H7;!Yf3OJ(ft4mm*4Vm+9+Xt59(\Cbt<J'3!pfft'.""X9% 0.#'n|Lc='> @(raYOAhXAZBY Q8s=hWHd[P@%db 9PR<30WuJ;8YCAL5M,ARtC99CFK@}A$u5*.)]R[ dHJ2k@_dVA4Xk _N9H5J5v+H/6`dl@.2p<M ojm^@{@X] H355mwsb3A4\4@3o(_!, P1(!^$k=@Y/7we D0B6+KP t$+_E0cC 2L6{CD6*t7'CZK6N~g,KphSlO2J}fFIqpMmX]wyH9$5,'f]'$(!-A9'H$-P5*"5T5*}:" r&S"'-"#&''.>{m-T! [",m/9!7  'CJtD#1aM7qJK#e$'!U* ')6?.R!*o*!!/ j902\g53% >>0&&m%9c6;C-2!3OUE, m:hg.+r?9A\*I'C .I]-q"(+)< .74|(5l3G/QN)Ha7!2) 4M0"+@wp""pi&N#p"Vwp1<&xq3.BC@,AA(u\C_3oB\H9:vWHBc7,"QL?GO^fKcq?5aREDPF::;;_JQJ, X.1JC$"@~)4gM+%* t7f#JXQJI95P:g]ve<*WiIdLW}`3sYC!mD+Gu^J9K/C{7RO#&_*BRM2E 2IN2T k?)!2UdB F3kRm8aQ9''L($?5#<@%${>&oF@A`*7ZuIU?)u=]fCSN6 >Gq,FGJWf4D5?'kZ+#k0b=}!{ZJ>'pCARTo68d9{S(,.JĀQ4gCng݉Z.(F^*FyPJ|8J9.<(8< z'k#$i`d@sfrP3VnOBO/VwPIdL$y<[!i;0b?8P?v>~5{A>X1\f*=@61;: 9qB6,^88G1odYAZDlR8dnF<<8?6#f,~}~%JsJI?z [ih]b&k}B62n֛7YLLEL.K&fffb2"S\ibymc;Al6߰i~`;;f3974^ s5M BC%*CQ=@% 7V;#1x@,$$.DrT-(d1_c#(M01'#N29252,!xw@X 8)n-W'Fw, +"b1x  #r818*!))#d ydR6|68,9"!4&vqh{HyGOG.}cNU9 |*AV=|,o6'9ch+b9 4.h5]A3MBUKUOklGR]*` v/U,PAQ7e\m%38-N"-3_@1\Nn7{(9\pGcAQ0/3h?(-i+87F8f6br4bRp[ HuZw`~Z`_# "#?m+ %f O3#%{{4m!:;,T_{{UKa!!TtmJ5C.&I'>}jT'b=u!<1!2]!.mmm&{QC?d1/.7 ?e'mX\ 2D(< <~a},y8mq{q@67F8)@3k+N3*>r)%**?oC*3*=(* )>+3S*>"(*)?+++O*,+-,*,*,=Q[xLD.%6C(d!"d1A?_%$:V@Yz|F{yc`0)@LH5CCC58!C!) "RHz\8q8pyO8v=D(4H)"""(#0j''kGFGQfG>n3_a2nF14ǭ_!5<-Z#1<'f ','NCQl% -7 H W= /655xht5a5k1FET5y8sM4K9I5M9+6 (9 <&$ w&' u%(,[`& E(6-39!rib?"'>2c?8PK,9hE>4>C;TbTQB=9O Y)`*f.Q C<C< C )QCC.5-H$_)s('p!+9l_"k+*/ E@ mYAbO .q  SKb:A43ݎ5D48GvA|0aL=d-I `BI~U6@5!#3D50Q&!f,*0G CY/H,P/:rJ D:C "Nw#0~).3m.0' !GQ_ /REXM57ujZ5-WjG(=wU 9HEJZGAM!w!}*N.)nFC/V6&!Jt8988?KN;[8z:9'88K#3c,3;a"c }/'7'$Z^]^,(5OkJ Ri :;:;A: & 3#K#{-%(.\o+K48{6D6GIba.)X((0uf {b!/5l'#<sd2,)2dk};`JK)70G42pn2[5]1Lg00/1#+%dJ?RMh0/e;/H5HF@k j7E$Hu5<\&s"++i+++L[|t,Q"#_9b^L?{$ 6-+K%36-? 0-g1,Ia?c@8@g<=M`pLO?A Q`pTcYkL[OXJJK5{%V`IWX6WYLK[_6ab6/G$" @K$"7(#!&$">%#!,`.&$z"i/#!.#!&$C".`>VnKS5*+:I}O!XhM}=Aq;<LA*A*m9CR37%#) gx 2 A%Vv(y!2"a @9PR#--3,l7: 5Qn8=5N3(ȯ!'GO XX1".(C<p;jTD.' >" '(!#-2NA3QXo*neUbb& hOV~N^220SUVjAS61,1@xFIY nJPh vR#{&h3ntOwJDA &]EX8FEG\9KF}IJN 79R/4gORHA;U.vkXubSasz[G]:uDFNEGFIQD4hWk|14'kd&7HnFSh3Vv:n/HM\I$m2;mG:XWAk;vG oGH0?*K9x>/4lS62556n'33q.u98"k !*"'=0#/11I!0g>)21=3S'P`:B&$4!2,Y&"F@u@2~F'M%%& M$"] 2"WE'S$*&4(Kc|4`V <7' J'!,3(.5.^4Z-3)G4 A(z<(4(7(z3.s+D4-"w4.JGC/ W 0#7w"[ i!% r ! ! !*(K"i1"i("i=1n9u/H?.LO\ fkWVRB -=Q_Pn2l~@CH8HHC>OK'8@;@&A,*]M-")'64$+/7]DfP:5T>1  G?~!" 0 3 a`- ;Uc|85&8  1  4.|?S)\Jwj?=>oh57>W8};>,2 -Y3/l0C;7W:-?P}AH58`U,lS4I-9QN)0_='`n.1_w"A NX>Cg7}_]hTG>87)GG۝G$#?PQQ?<"+x"-5Caa I*B1eb;s[W'>hsB4q&6C0dWLSBf L=LdTM,7,D1vnS)4C(NZ!0-NC0T-E/.'.6a'*k3cZa"$d)Z3~*<=*8HT=l")A 9D4P#!;N T(&3U"3*7(rhn*G$(7J2%&8T%Vu~ +h>'; VYb9cNϿj=[V=tXS_V=6d.ĺeH#Nn\/Cs8,G2 |u\# 7ɓvM__NqPD8SP,CxJ>KvL3L`T7C2D[+DMswk$'TuKi7By_'E@q*ntEvJ`hjP)F',!Z-4u&F;zkYZo[O_RQQ[QNaHiWsOX"Z>UPPJ[bSOTDPPSQQ$QBNMX}݁ OSz7Os2\J ^=}JK=]XlOXRkK:OLi?]NxYMN7QMNNfY\ϿKJmQdsst"#&##/B  #04h#&)s,*6(H$1[$$&-&rP/8#i*$ZFI&H"J"%"hFa2$ %$g   (<TB)`YVB.B*@$x<!E$9(P!$<*: *V+H/@F8+[`"Sws ++:{[d8>(4%ZP+J[Op]FN6$N$.gn,#! {30Rbw%h1."030/K,6e"|!9J $V d ,* _G.H@kAYH"/dVuYsDy37Ps-?C8?ey6N]&PGmU6R1+7S iI(iT`O]<8*` 1g^&kJ.)C"!=J10<#%$.9N5O?. s"D/<')%'%&(AJ78;HqmcH|E" \s#+&hhrfYUL3@kzhzc* aY\Mi:2NQ5`maesѶC>Pg_mXMxOMHRgWz0A5UZQ=aq.0<?+zq$\*/1Tq@|PSq~J@6h9=zhzp7qM!pC;a|PjHA^9A*9;g'|4q{Ndwȵ-eq5OTz2R|9BK=s LqRF.&;X@Eg"5  `KBT_t)@yu/H9# {2)uaovpK[:8'D8m:|`8 @R?2p+*SII3C@8w7CۜL9kEtkJq0ku}/,-F R;-l-y->Gzn?y+ 8B.:K?@Ph5TA4}FMdXa.sze`d%lr)& 9 )C.:r+J!Er.,\."S? >9!E~(3g/;<<D&!U' & H$26' 4><2;\02?#"g2j1f2+ atqR\*+ #jW\e27V&x.]%M\E/ j$CD$R$$dN6Wx@F \\2`@HmNG@7Oq$#R7@VN; 7H2 3"@!g$3$)H$ 2 iC6/LCGgVYGY[^ *0# 8&,+! B)!8#3$9-2zy' v ' )1_ I`g RY$ * GNj-%4"-]K'9& # 27sa=z2u$9"'  a @ U_54<+.0343K8?9e9Br(`vlLuU15L,'53//8E/311CS)OGH;|-*B/u=<{,0<;)!%i2k(CR(uEC1kM_VdR-'f_<>=UNCpe72H#07r:2d[%8(&&'xGB`9>lC@QrN:!\4'3uKWJgɋ;MǪPN^5M6<#l8R8/L;>'GT>GYb T070DLA3J03038 W/PQ3w/5^0U/IDI/0=/?030L00"0/0:PB03/<//k;0o-9GE25<<:<_'NV&Mh.i<K/2o/T/G/01G0B0L.y0401/Y0(BmD<<<<=@o.6=J=>&? =6=G.<GnSToM ====/t==˲1e4D:450y7/%(5u3}283 ._4>yPi|5T8|SS_@bR.pCVPf&b4.Z.<:V5.$;X..".SĨT`A.A0r./C./W><C0C0C26>xD ͑AvB:9 $3 !89-!, (J!"1"3&|4BlB4;!B4& !! 'BWPB&4!wIW^BWBWe'`-;PP&+ +&.*B&I!  &'&& %B%%&--I-I&)b "%%&d -%"l3&geW-4lB7  I;!&4!( 1r@*!%!!-&&|- &L-kA%UQ<Z4Э9:T94MQ0?.J<:\8)3q9:@4c3b4999:>'9 39943QM95z8y3*93}3188328638Z3359Yf=S0>A?8?/F>C:Dڐ7;;0B3C1OlV#ZAW]+f4_.c)B/b6pWq/9T/QhN "!v  !&#e^#r""B!m!! #  -&);-4~[? -gVYoxsVhfEVxxvb_?nCnHAj>]+C"C!b,u/$OQPvxZ*TfEIyD[e7il^6|bdajpRt6v~deb1rZTZtdtkJ8emsunkR^MXDyq5$Uh= ! "' /%A""dTlw=6SF691p747a&}R8x6  tJ5H5RBQNhX5$0V7:ITdH\D/^SH*H  Fly=5~eF@mIDGhGGKH8HXHGb*GixoUXqtP^cFIUUxNHMg~^,+Nxph86WN:B=rN;OPS'07-i+oA$GbH%HGbf͆ toODK(NMP%KLksKf)Xn13k=}fX[50J5/I&7vAK!'! 0  $! !EE15%L!3' .+W%sm !c7s Y'(v,X:w d <'2Cc"/1"D*!(:Y%%%'$,5 ( '!:/VH 'c%m(+<11^=&)(')!  ?6 [a< 0 eWEE+A4 }M_]X/.8.g.M/]//<aCkY@ iLEG7W]$hpm7UMMw;4 %; 2rF&*iPM#dB-4B!2!D!-D4!=%Zwpwiw !!9@<\06x\j{[~<EtIt>r3Z(|]/  3z)T&$zm~~P&d9~ tSv<8@?V*#4&3$UC,~;'+C_(<< +_f@J7Kc=OʙJ({47Vj4q4qpf4_i*,a00, )lQ )#m.P{:[]+9 8b9!((ri#] !EtK {)IdCGCLd;fKPeP5# 'O,5:"<N!<J.<."'B'5=ZKn$u<]8<7l6q*T.~Y1. 1:?99PnFem8Rh I^LJMl5{h)p!_!M)Z)S_t ,"*"$;pYY>77%}NvB+jO+Nm8:e5B;5GHcGJJ6L6<!qZC2'' &'+%gF0$Y:e&4N(ZQCSQܕ?fFm%LalQ`#ze% DN+56k`S+<X@_b bmPj8#w`qO.I0MeQZE&de,eh1 9""3!Q/#3)A==Qz|6npC*;j % h20(,l$2K1 :_8B(dD_|8|Yf X #+?_ J)!L^`Fa:8)8N87SLqa77[mޙr,o##n=wXZ0y0!0y;C!)z[:?@h8Z78B879![O<7r|89589[[77EN#[U+$E0/"!B&$/j~2t!"w)t!M&^ JE3*>HO;@Q..RT?R5,/Lcw,1iQ`5SP@K8t]DHAA(<-'sQPf!"u%9Q6+,(qCXm"*BE VZh,@U{pBbAvBCABtFeFFDr ?+QG`MBC?A@?S+i@@p=t@c9$%:@$a!!ZO),"GT:#j@:F"+$$AoY^c_bBBxBAAFA[@F]ma8X_Nr y*E>L.D#4+o-j<#O>LIV*C\WXj3D3>&=L$5%I/ HQ$; ffX;A X<C%C!![P7 );^>XF8Kl/1A:H2me;8D-T(M<"" E%p!$ 1T"%+`vH#B5K6To(5Zvu8e?H-\j5K_rA>8)3u!t(KtmBBff{+"^AV G("uFtBr/1-.e08(B9?.@E,&P-)O!"#!B$"Jx[)#o* ~?K7=8=?:M^\h;7>?=,Z9>,=?;>=@`F>1TIQhE&GL,7/A;<=.5sy!*/CAm`(y") 6=8//)(&[J|(*] =6Ep%Q&!O>-* Fgc`L5c55T"T@KGUg=Ȇi2,*1biQ'Y%QrKGR8bC4<AB](9 8 )% '!b$_N&*k;B'5OQ#ttf W !C7eU(R|]ff5(Ke3IL{Et3X{b![!h"!\:vI26M98$:-!kZ^e\^KbK!D-p*'XɈ  ?cU!!- @O M6f8h ,CNa99Q`C7K!`AX<f*f!aFI)3!a5{(# Ga\=,>'WQ{K:^W3y^<;#!}!?2'1'i! m m*21(%rq7hkkF=9~Fh_@/0  ; ;*$#J.(E.c 4"*qK ӵ NA=VmSv ~N,1!?^=t911 -*++|)Z)'u:N6feHB?_3V-A'v6FHI% CJkEkp <qqphohL8lmNlJoomO.v-$1B>k(?oX_C&GbD- t. !$#R v@E"Q)Ύ.7P$##+ &&IjN@*&;++$N,S7>8'*+63ruII)dPyC2ajZC3A54S/d.^Kc6<0>C6d+"##41*F*"^+o*$'##$*c,:)172(9. c$r/\;Mc[)H\]/E 0-j32H+1")53-t152<)QR@*#~"OR`=W>;B`m\HI]-8f\.n39%L/#/d4mQ%O+ /~&!-d'+D.qV ^C-GnDEC6@A1":"i(&"m#/#3X@2~?"!I8u"z$^?CJ(:V{:)#" )4E>0]%L.&,{1(Q0IL8!*VG2.u'$,z?)[3?!=o32C+8E9<:7nCWOs?H.~!!S 0,"`6A!")8Kt)# 72,'/CCX8N++' #V?e-=382l6RvmT,)O'Pv7 .+CS5+$1-,5[~~*zs\$,ZN]os 9|E~~!n'O4(%^Hh !xin$YCa&&B7\^=)m!j !59 @%֝<=Xs0Qo=j=+Q=T/4, f'&*A'! U()!E!U'#'^(8*6ex@Dk37Hi,Wz`W,560Lo9PyQATI6;f81,`?CaaAS@!/NHh # 6' *> (!/ wV'(1 *^w?!'0)/^>?,BaY;a3 $+z ,'!%OBy1hLAV6;9.9e% $: s$*$$,D -)lͫA&?1; u?igF>eg0{"c";!#(('(Q6 %%]UqEm6=FC=evY9:uE6p5eHX_H-V`X.H/2!ll9(QTQwStZ_i6O p!{p!0 [,',%t,]եJU7D ?/ ~~~(A&&Z&qRPG6U2q.@.2o"Ch# 0%|0%4$$DAH89d7hDg2`,,k-D,v1.'$2)_m2k! H6.2d,/&I&6C?A6,:,w,/.,n2Q&T/2T.N5K2-1/./,5/d/4/,Z3J/7/K2...i1/3/0W/$Ay*6/0E/1/=0:/*s320r0XU//G01//10 :322J0/M0D!6qk72P10,P0v01>0-X10ZBH15?-~%0%54t-620--!:V-;5]0|0P,0E75B-E%;y1A6M2eC :@>`200--613-7?,D10,>Jx:J0$7:--,RosF/zO5PtT,VA^h!="C *%e$H/"r&S q&0,/F>S?/_7sWwFJh@4@wNDP+Xs~:@i'!$ I#8H#2R0*'-&"G20m;=>>+W,l.,`i!QAIk)",4%?~?J7v4\x-l!'!+u't5>C8u#>QFUr2 +23>I 8pCJZdU*{T?9 _R(X*!$"),+i&0Z'!+'F'02iJ"?!>R,."BsiO'9W5: ]t-9!419:CcA2L4~I%OwPK>:]c9L?J-iU PEI9_?s:6!o"[*&$o$f$;&X&+(&.t1V+%!!5! !c.7L!W&<![c4P|M$iD@fCCw[ 50LD%!$&#!<'p"#4 GIi&% eJZ!4=zmO$9!4#<#;BD55#<.Th#;5a6#<q?}787549C/Zt/s#;4Uq<75a5+H{'Fjw#;~-4Nw܊FqJ755y5uM~rV#r2XY(.    #*H>X &P W: K{ ' X_C_AA.>#>Q L&W$!h<Qq ~*L*sqa -!)v@ !QfJ.CL  p9-Dl9eBp2-=E|HY;fR)?>"]]6,x)^7QQ_2QQPQb6-6-.QT&&Y&%H !~&%%'-&',%&1&%%%"e8.)8w>fx#1!aw0,'-TPIth!px2= '"O' /~KR'JR"cU-F/d91ZP~nq1t+)+R/^! 3/2#c"1?,q(# t19> 9KBDI6D6Uy$B $ [( ""u'-&#bCr2"Q"\0HX2>7V?1$ -%9'2bhrCwKUO/C*z9@ +}J*k,7s4+ h V<'%q(Y V&n*'$nM'%""" &"o * $${HB^\UCA>zAZF XEe-" <$Y{".n%" R/Y389=y5465u5A05?;!6=3.E/.BY/;Jb&,5/X7'6|;>949ge02 ZZ} V&%~%&R!+ B%He4eL[P76RTk#x*!F)(o**"j%E-@#Y8>%J?OpOZ|#&|"!&9@%#qa -}cM5pRh T!'W)k6@10(++612M6w72V36:@@E7*;43-'WW-@9''v>10@B<7DOI3Ih;966=1136uB22~1uGB6 11"063=1]U<+25K@}9]6 6""""`-O"L&&*p*S:#:#s&""'/!5"""4d#M""p)"#M*'#>V"."#!"s-U"-")""!3""_")By"a*S"O&yx("("M""";)!K@]A:Oy=Cr998,/S0@<3#SJD5lB'}#7;),('#20$-hQ&""C'70-dRS>CTHGGFQ-Ka[Q_O0;7%^Uxg+^H-[Ew )   '#.+*5#^;99-Zb's%&@ "~-B7.>5?7JS,]d7z@ &cC3.2/2%(/00zsl+31"6,s%H's 5l A P5)%|SxY_[so3JR:/RSsnQ_B|YdSSSW>W]]BV[RWeFY\rX^rSf,QSu$^%So=thS"X5!{1m$(R@d"m*X(@AG,o y'*8!1#A&dOA{3*NV5*!*z&p!cOL PWO3D}  JvSEu-{=g'3mnV a N 7G/}AAA큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAAA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAAA큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAAA큤A큤AAAA큤A큤AAAAAA큤A큤AAA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAAA큤A큤AAAA큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤AAA큤A큤A큤AAAAA큤A큤AAA큤A큤AAAA큤A큤AAA큤A큤AAAAA큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤AAAA큤A큤AAAAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AAAAAA큤A큤AAAAA큤A큤A큤A큤A큤AAAAA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAAAA큤A큤A큤A큤AAAA큤A큤AAA큤A큤AAAA큤A큤AA큤A큤AAA큤A큤A큤AAAAA큤A큤A큤AAAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤AAAA큤A큤AAA큤A큤A큤AAAAAA큤A큤A큤AAA큤A큤A큤A큤A큤A큤AAAAA큤A큤A큤A큤AAAAA큤A큤AAAAA큤A큤A큤A큤A큤A큤A큤A큤AAAAA큤A큤A큤AAAA큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤AAA큤A큤A큤A큤A큤AA큤aa8aҫaҫaҫaҫaқaҫaҚaҫaҪaҨaҩaҩaҩaҩaҩaҩaҩaҩaҪaҪaҨaҪaҪaҪaҪaҪaҪaҪaҪaҨaҨaҨaҨaҩaҩaҩaҫaқa҃aҥaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҚaҚaҥaҥaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҥaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҚaҚaҥaҠaҟaҟaҟaҟaҟaҞaҠaҠaҟaҟaҟaҠaҠaҠaҠaҟaҟaҠaҟaҞaҟaҟaҟaҟaҟaҟaҟaҞaҟaҟaҠaҟaҞaҞaҟaҟaҠaҟaҟaҟaҟaҟaҟaҟaҞaҞaҟaҟaҟaҟaҟaҟaҟaҟaҟaҟaҟaҟaҞaҠaҟaҞaҟaҟaҟaҟaҟaҠaҟaҟaҟaҠaҠaҠaҠaҟaҟaҞaҟaҟaҟaҟaҟaҟaҟaҟaҟaҞaҟaҟaҟaҟaҟaҟaҟaҟaҟaҞaҟaҟaҟaҟaҟaҟaҟaҟaҟaҟaҞaҟaҠaҟaҟaҟaҟaҞaҟaҟaҚaҚaҚaҥaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҎaҏaҏaҏaҏaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҚaҚaҥaҥaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҚaҚaҥaҚaҚaҥaҥaҏaҏaҏaҏaҏaҏaҏaҠaҠaҠaҠaҠaҠaҠaҠaҚaҚaҥaҥaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҚaҚaҥaҥaҏaҏaҏaҏaҠaҠaҠaҠaҠaҚaҚaҥaҥaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҚaҚaҚaҚaҥaҥaҏaҠaҠaҚaҚaҥaҥaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҥaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҚaҚaҥaҥaҏaҏaҏaҏaҏaҏaҠaҠaҠaҠaҠaҠaҠaҚaҚaҥaҥaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҚaҚaҥaҥaҏaҠaҠaҚaҚaҥaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҥaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҥaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҚaҚaҥaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҚaҚaҥaҥaҐaҐaҠaҠaҠaҚaҚaҥaҚaҚaҥaҥaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҥaҐaҐaҐaҐaҐaҐaҐaҐaҠaҠaҠaҠaҠaҠaҠaҠaҠaҚaҚaҥaҥaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҚaҚaҥaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҥaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҚaҚaҥaҚaҚaҥaҥaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҚaҚaҥaҥaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҚaҚaҥaҥaґaґaґaґaґaґaҠaҠaҠaҠaҠaҠaҠaҚaҚaҥaҥaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaҥaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҚaҚaҥaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҥaґaґaґaґaґaґaґaґaҠaҠaҠaҠaҠaҠaҠaҠaҠaҚaҚaҥaҚaҚaҥaҥaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҠaҚaҚaҥaҥaґaґaґaґaґaґaҠaҠaҠaҠaҠaҠaҠaҚaҚaҥaҥaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaґaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҡaҡaҡaҠaҠaҠaҡaҠaҠaҠaҡaҠaҡaҡaҡaҠaҡaҡaҠaҠaҠaҠaҡaҠaҠaҡaҠaҠaҡaҡaҡaҠaҡaҡaҡaҠaҠaҠaҠaҠaҠaҡaҡaҠaҠaҡaҠaҠaҡaҠaҡaҡaҡaҡaҡaҡaҡaҠaҠaҡaҡaҠaҠaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҠaҡaҡaҡaҡaҡaҡaҠaҡaҡaҡaҡaҠaҠaҠaҠaҡaҠaҠaҠaҡaҠaҠaҡaҡaҡaҡaҠaҠaҡaҡaҠaҡaҡaҡaҡaҡaҡaҠaҠaҠaҠaҠaҡaҡaҡaҡaҠaҡaҡaҡaҠaҠaҡaҡaҡaҡaҠaҥaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҥaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaқaқaҥaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҥaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaқaқaҥaҚaқaҥaҚaҚaҚaҚaҚaҥaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaқaқaҥaҥaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҒaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaқaқaҥaҚaҚaҥaҥaғaғaғaғaҡaҡaҡaҡaҡaқaқaҥaҥaғaғaғaғaғaғaғaғaғaғaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaқaқaҥaҥaғaғaғaғaғaғaғaғaғaғaғaғaғaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaқaқaҥaҥaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaқaқaҥaҁaҥaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҥaғaғaғaғaҡaҡaҡaҡaҡaқaқaҥaқaқaҥaҥaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaқaқaҥaҥaҔaҔaҡaҡaҡaқaқaҥaҥaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaқaқaҥaraҥaҕaҕaҕaҕaҕaҕaҕaҕaҥaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaқaқaҥaҡaҡaҡaҡaҡaҡaҡaҡaҡaҥaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaқaқaҥaқaқaҥaҥaҕaҡaҡaқaқaҥaҥaҕaҕaҡaҡaҡaқaқaҥaҥaҕaҕaҕaҕaҕaҕaҕaҡaҡaҡaҡaҡaҡaҡaҡaқaқaҥaқaқa҈aҁaҥaғaғaғaғaғaғaғaғaғaғaғaғaғaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaқaқaҥavaҥaғaғaғaҝaҝaҝaҝaҥaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaқaқaҥaқaқaҥaҥaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaқaқaҥaҥaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaҞaҝaҞaҝaҞaҞaҞaҝaҞaҞaҝaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҝaҞaҞaҝaҞaҞaҞaҞaҞaҞaҞaҞaҞaқaқaҥaҦaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaқaқaҦaқaқauauaҥaҌaҌaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҚaҚaҥaқaқapaҥaҌaҌaҌaҌaҌaҡaҡaҡaҡaҡaҡaҚaҚaҥaҥaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҌaҢaҡaҢaҢaҢaҢaҡaҢaҢaҢaҢaҡaҢaҢaҢaҢaҢaҢaҢaҡaҡaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҡaҢaҡaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҡaҡaҡaҡaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҡaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҡaҡaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҡaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҡaҢaҢaҢaҢaҢaҡaҡaҡaҢaҢaҢaҢaҡaҡaҢaҢaҢaҢaҢaҢaҢaҢaҥaҌaҌaҌaҌaҌaҌaҌaҢaҢaҢaҢaҢaҢaҢaҢaҚaҚaҥaҥaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҚaҚaҥaҥaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҚaҚaҥaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҥaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҚaҚaҥaҥaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҚaҚaҥaҥaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҚaҚaҥaҥaҍaҍaҍaҍaҢaҢaҢaҢaҢaҚaҚaҥaҥaҍaҍaҍaҢaҢaҢaҢaҚaҚaҥaҥaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҚaҚaҥaҥaҍaҍaҍaҍaҍaҍaҍaҢaҢaҢaҢaҢaҢaҢaҢaҚaҚaҥaҚaҚaҥaҥaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҚaҚaҥaҥaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҥaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҍaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҚaҚaҥaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҚaҚaҥaҀaҥaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaқaқaҥaҥaғaғaғaғaғaғaғaғaғaғaғaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҥaғaғaғaғaғaҢaҢaҢaҢaҢaҢaқaқaҥaҥaғaғaғaғaғaғaҢaҢaҢaҢaҢaҢaҢaқaқaқaқaқaқaқaқaқaқaҥaқaқaҥa҈aҥaғaҢaҢaқaқaҥaҥaғaғaғaғaҢaҢaҢaҢaҢaқaқaҥaҥaғaғaғaғaғaғaғaғaғaғaғaғaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaқaқaҥaҥaғaғaғaғaғaғaғaғaғaғaғaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaқaқaҥaҥaғaғaғaғaғaғaғaғaғaғaғaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaқaқaҥaҥaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҥaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaқaқaҥaҥaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaқaқaҥaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҥaҕaҕaҕaҕaҕaҕaҕaҕaҢaҢaҢaҢaҢaҢaҢaҢaҢaқaқaҥaқaқaҥa҂aҥaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaқaқaҥaҥaҕaҕaҕaҕaҢaҢaҢaҢaҢaқaқaҥaҥaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaҢaқaқaҥaҥaҕaҕaҕaҕaҢaҢaҢaҢaҢaқaқaҥaҥaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҖaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҥaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaңaңaңaңaңaңaңaңaңaңaңaңaқaқaҥaңaңaҢaҢaҢaңaңaҢaңaңaңaҢaңaңaңaңaңaңaңaңaҢaҢaҢaҢaңaңaңaҢaңaңaңaҢaҢaҢaҢaҢaңaҢaҢaңaңaңaңaңaңaңaңaңaңaңaҢaҢaңaҢaҢaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaҢaҢaҢaҢaңaңaңaңaңaңaңaҢaҢaҢaҢaҢaңaңaңaңaҢaҢaңaңaңaңaңaңaңaңaңaңaңaңaҢaҢaҢaҢaңaңaңaңaҢaҢaҢaңaңaңaңaңaңaңaңaңaҢaҢaҢaҢaҢaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaҢaҢaҢaҢaҢaҢaңaңaңaңaҢaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaҢaңaңaңaңaҢaңaңaҢaңaңaҢaҢaҢaңaңaңaңaҢaҢaңaңaңaҢaҢaҢaҢaңaңaңaңaңaңaңaңaңaҢaҢaҢaҢaҢaңaңaңaңaңaңaңaңaңaңaңaңaңaңaҢaҢaҢaңaңaҥaҗaҗaҗaҗaңaңaңaңaңaқaқaҥaқaқaқaқaқaқaқaқaқaқaқaқaқaқaҦaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaқaқaҦaҦaҗaҗaҗaҗaңaңaңaңaңaқaқaҦaқaқaҥaҦaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҦaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaқaқaҦaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaҦaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҗaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaқaқaҦaҦaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaқaқaқaқaҦaҦaҘaҘaҘaҘaҘaҘaңaңaңaңaңaңaңaқaқaқaқaҦaқaқaҦaҦaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaқaқaқaқaқaқaҦaҦaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaқaқaҦaҦaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaқaқaқaқaқaқaқaқaқaқaқaҦaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaҘaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaқaқaҦaҦaҘaҘaҘaҘaҘaҙaҙaҙaҙaҙaңaңaңaңaңaңaңaңaңaңaңaқaқaҦaқaқaҦaҦaҙaңaңaқaқaҦaҦaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaқaқaҦaҦaҙaҙaҙaҙaҙaҙaҙaҙaҙaңaңaңaңaңaңaңaңaңaңaқaқaқaқaқaқaқaҦaқaқazazaҥaҎaҎaҎaҎaҎaҎaҝaҝaҝaҝaҝaҝaҝaҚaҚaҥaқaқa~a~aҥaҒaҒaҒaҒaҒaҒaҒaғaғaғaғaғaғaғaғaғaғaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaқaқaҥaқaқaқa҂a҂a҂aҥaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaқaқaҥaқa~a~aҥaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҚaҚaҥa~aҥaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaғaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaғaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҥaҔaҔaҔaҔaҔaҔaҔaҡaҡaҡaҡaҡaҡaҡaҡaқaқaҥaҥaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaқaқaҥaҥaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaқaқaҥaҥaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaқaқaҥaқaқaҥaҥaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaқaқaҥaҥaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaҡaқaқaҥaҥaҔaҔaҔaҡaҡaҡaҡaқaқaҥaқaқauaҥaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҥaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaқaқaҥaҥaҔaҔaҔaҔaҔaҔaҔaҞaҞaҞaҞaҞaҞaҞaҞaқaқaҥaҥaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaқaқaҥaқaқaҥaҥaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҔaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaқaқaҥaқaқayayaҥaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaҏaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaҚaҚaҥaқaқaҁaҁaҥaғaғaғaғaғaғaғaғaғaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaқaқaҥaқaқaiaҥaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҥaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҚaҚaҥaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҥaҐaҐaҐaҞaҞaҞaҞaҚaҚaҥaҚaҚaҥaҥaҐaҐaҐaҞaҞaҞaҞaҚaҚaҥaҥaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҚaҚaҥa҄a҄aҥaҕaҕaҞaҞaҞaқaқaҥaқaқa҂aҥaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaқaқaҥaқaқaқaқa|a|a|aҥaҕaҕaҕaҕaҕaҕaҕaҕaңaңaңaңaңaңaңaңaңaқaқaҥaқa|a|aҦaҚaҚaҚaҚaҚaҚaҚaҚaңaңaңaңaңaңaңaңaңaқaқaҦaқa҂a҂aҥaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaқaқaҥaқaқa҃aҥaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaңaңaңaңaңaңaңaңaңaңaңaңaңaңaқaқaҥaқaқaқa҂a҂aҥaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaқaқaҥaҥaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaқaқaҥaҥaҕaҕaҕaҕaҕaҕaҕaҕaҝaҝaҝaҝaҝaҝaҝaҝaҝaқaқaҥaқa҄aҥaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaҐaґaґaґaґaґaґaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaҚaҚaҥa҄aҥaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaҕaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaқaқaҥaқaқaҊaҊaҦaҙaҙaҙaҞaҞaҞaҞaқaқaҦaқaқaқauauaҦaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҦaҙaҙaҙaҞaҞaҞaҞaқaқaҦaҦaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҦaҙaҙaҞaҞaҞaқaқaҦaҦaҙaҙaҙaҙaҙaҙaҙaҙaҞaҞaҞaҞaҞaҞaҞaҞaҞaқaқaҦaқaқaҦaҦaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaҞaқaқaҦaқaқaҦaқaqaҦaҙaҦaҙaҙaҙaҙaҙaҙaҙaҝaҝaҝaҝaҝaҝaҝaҝaқaқaҦaҝaҝaҦaҙaҙaҙaҙaҙaҙaҝaҝaҝaҝaҝaҝaҝaқaқaҦaҦaҙaҙaҝaҝaҝaқaқaҦaқaқaҦaҦaҙaҙaҙaҙaҙaҙaҝaҝaҝaҝaҝaҝaҝaқaқaҦaҦaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҦaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaқaқaҦaқaқaҦaҦaҙaҙaҙaҙaҝaҝaҝaҝaҝaқaқaҦaҦaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҦaҙaҙaҙaҝaҝaҝaҝaқaқaҦaқaқaҦaҦaҙaҙaҙaҙaҙaҝaҝaҝaҝaҝaҝaқaқaҦaҦaҙaҙaҝaҝaҝaқaқaҦaҦaҙaҙaҝaҝaҝaқaқaҦaҦaҙaҙaҙaҙaҙaҙaҙaҝaҝaҝaҝaҝaҝaҝaҝaқaқaҦaҦaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaқaқaҦaқaxaqaҦaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҦaҚaҝaҝaқaқaҦaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҦaҚaҚaҚaҚaҚaҚaҚaҚaҝaҝaҝaҝaҝaҝaҝaҝaҝaқaқaҦaҦaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaқaқaҦaқaқaҦaҦaҚaҚaҚaҝaҝaҝaҝaқaқaҦaҦaҚaҚaҚaҚaҝaҝaҝaҝaҝaқaқaҦaҦaҚaҚaҝaҝaҝaқaқaҦaxaҦaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҦaҚaҚaҚaҚaҚaҚaҚaҚaҝaҝaҝaҝaҝaҝaҝaҝaҝaқaқaҦaҦaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaҝaқaқaҦaқaқaҦaқa҉a҉a҉a҉aҥaҋaҋaҋaҋaҋaҋaҋaҋaҋaңaңaңaңaңaңaңaңaңaңaҚaҚaҥaқaқaiaiaiaҥaҋaҋaҋaҋaҋaҋaҋaңaңaңaңaңaңaңaңaҚaҚaҥaҥaҋaңaңaҚaҚaҥaқaқaқaқava{a҉aҥaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaңaҚaҚaҥaҥaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҤaңaҤaҤaҤaҤaңaҤaҤaҤaҤaҤaҤaңaңaҤaҤaҤaңaҤaҤaҤaҤaңaҤaҤaҤaҤaҤaҤaңaҤaҤaҤaҤaңaңaңaңaҤaҤaҤaҤaҤaңaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaңaңaңaңaҤaҤaҤaҤaҤaҤaҤaҤaҤaңaҚaҚaҥaҥaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҚaҚaҥa{aҥaҋaҤaҤaҚaҚaҥaқaқaқaқaқaқaqaҦaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҦaҙaҙaҙaҤaҤaҤaҤaқaқaҦaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҦaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaқaқaҦaҦaҙaҙaҙaҙaҙaҙaҙaҤaҤaҤaҤaҤaҤaҤaҤaқaқaҦaқaқaҦaҦaҙaҙaҙaҤaҤaҤaҤaқaқaҦaқaқaқaқaқaқayayayaҥaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҚaҚaҥaҥaҋaҤaҤaҚaҚaҥaқaқa{a{aҥaҋaҋaҤaҤaҤaҚaҚaҥa{a{aҦaҚaҚaҚaҤaҤaҤaҤaқaқaҦaқaқa{a{aҥaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҚaҚaҥa{aҥaҋaҤaҤaҚaҚaҥavavaҦaҙaҙaҙaҙaҙaҙaҙaҙaҙaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaқaқaҦaқaқaқaқa{a{a{aҥaҋaҋaҋaҤaҤaҤaҤaҚaҚaҥaқaқaқaқatataҥaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҥaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҚaҚaҥaҥaҋaҋaҋaҋaҋaҤaҤaҤaҤaҤaҤaҚaҚaҥaҚaҚaҥaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҚaҚaҥaҚaҚaҥaҥaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҚaҚaҥaқaқaқaқataҦaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҦaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaқaқaҦaқaқaҦaқaқaқaқaxaҦaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҦaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaқaқaҦaқaқaҦaҦaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaқaқaҦaҦaҙaҤaҤaқaқaҦaқaқaқa{aҦaҚaҚaҤaҤaҤaқaқaҦaқaқaқaқaқaқaқaқa|a|aҦaҙaҙaҙaҙaҙaҤaҤaҤaҤaҤaҤaқaқaҦaқa~a~aҥaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҚaҚaҥaқaқaқaқa҃a҃a҃a҃aҥaҋaҋaҤaҤaҤaҚaҚaҥaқaқaқaқaҁaҦaҚaҚaҚaҚaҚaҤaҤaҤaҤaҤaҤaқaқaҦaҦaҚaҚaҤaҤaҤaқaқaҦaқaқaқaқaқaқa҂a҂a҉aҦaҙaҙaҙaҙaҙaҙaҙaҙaҙaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaқaқaҦaҦaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҙaҚaҙaҚaҚaҚaҚaҚaҚaҚaҚaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaқaқaҦaқaқa҂a҂a҂aҥaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҚaҚaҥaқaқajajajaҥaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҋaҥaҋaҤaҤaҚaҚaҥaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҥaҋaҤaҤaҚaҚaҥaҥaҋaҋaҋaҋaҋaҋaҋaҋaҤaҤaҤaҤaҤaҤaҤaҤaҤaҚaҚaҥaҚaҚaҥaқaқa|a|a|aҥaҋaҋaҋaҋaҋaҋaҤaҤaҤaҤaҤaҤaҤaҚaҚaҥaқaқaқauauaҊaҦaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaҤaқaқaҦaҦaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҚaҥaҥaҤaҤaҥaҥaҤaҥaҤaҤaҥaҤaҤaҥaҥaҤaҤaҥaҥaҤaҥaҤaҥaҤaҤaҤaҤaҥaҥaҤaҥaҥaҥaҥaҥaҤaҥaҤaҥaҥaҥaҥaҥaҤaҥaҤaҥaҤaҤaҥaҥaҥaҥaҥaҥaҤaҤaқaқaҦaҦaҚaҚaҚaҚaҚaҥaҥaҥaҥaҥaҥaқaқaҦaҦaҚaҚaҚaҚaҚaҚaҥaҥaҥaҥaҥaҥaҥaқaқaҦaқaқaaҫaҫaҫaҫaҫaҫaҫaҫaҫaҫaҫaҫaҫaҫaҫaaҫaҫaҫaҫaҫaҫaҫaҫaҫaҫaҫaҫaҫaҫaҫaҫaҫaҫaҪaҪaҫaҧaҪaҪaҫaҫaҫaҫaҫaҜaҫaҫaҫaҪaҪa6a6a6a6a6a6a6a6a8a8a8a8372b993d65c5a0ea055bbf1502728d0401e1997fef6fe5f244b633ff3bbeaf5569b3d1c9ff3bc507b9335d43dcb0fcc9481663063f7e0da7917837bab03c00f7328351e6ab85d683ac0beca78b9a6dfd86a48115817e3cc0bae2d318d60db3e67116f9679c57df90f1f91c9f17a4253453a6ee81c7a499d3da445b872cabf18cbefa2bf24c2010381adf6f5ba2f7d4f19213c8f245669f232e92376cc4fbc4a05a17a7690a7dd2157ad3723a418d4177507b9cb1a887dad790faa7806508f7495168a2b5945682ca5bef4135393d3b2e690c8c6369d1e8372ba64c98e7e265a32989e8d17f6214d503f0100537b4d7d59e17d41161ed1d7ed425ff80d99bf065d61fac1145ea9bb6f0a5d2696298a92abbde45d0deb5669908e17a597b64f18a0bf73731efb6a7b949e384731ebaa9f6c23ff6f6e3e14790e9c0bacc82e637f7443ac09f0fd142b71577e8bc9e203c91d69282fe917ab9fd06a2e2c26373b075ff5cdfe785c41ba1b4d8e0c3d60d73f3dc8de452c9a2c8ca0f57d019b27c96e0cd229c6cfc174c3624c5a2e908ce9a11a9dc6066a62577ac5bdb90be981ce986f007eaf02dc3b3a106c2e49b5dab0383dda7b2d46dfec9e2788a97296ef322d7010ae63151e1a1cf4351414a323f6b44b62026d64a6f03bf9270f08bdc257043cc792b9b61a64b076e3f72fd0c787ba099ed25b1c471aeda191f5a47a3c99a66e1160b95c23990b65dd3842dd18d1d841b70caf5fd90cfa5e37436a20e448962d45d9043c3354fc142967299f487f9a203a0d7fb7d34b297cca91a154ffd12199077792aa9f716fc09c40b1c163ab93e6f3b25762f5aa029c561998c9c0e998a2d12077e05581312ac0408fd3970abc02da45445f08fb774fd7c25de9f05ceaaa98c27ada6d2c0226fb726b4f06760277787e7d78c0b78c0fdf6deb651bd90bf4e2ea6eb2b436133367e2b9fc56c2f5cd16d09c93fdf41dd6bc85f30f3ce6c9da35b33a88fa217de4fdc5be85d735e6757a49e80991bbc6f926265e84c4330cc83e1b43494fa8fc98e4618ffa5b5f1c6ad3a735a490080ab0efa656f4669207c6920aa18158865674c45dd852d3dfd3fcabc6cd7a510badac0be085f6f3f31bafdc640e64b190592d5aff626080b0927725aa62792d6315b8f0988b939e46594cbd1fcbdf2d76f57523a1c7ff53bcf9ef69bf0aea48788bfc5541386b441581852562c745838f28e39bbb5c43a7ffdad4c7cd171f4928f9ab6b859ff81ecc6b610084b276a1646764b55e8c8996f618433d102b0d251e6b50818d7976dc122fa223b941c27c4221f1111c7d5cdfa9d2e2cca0f525ff3007cb4ec4e72b71853648d491fa960066aea04332380450de88c9c9cb73d6cb39ca2462b1ca037b7121f1dd28e481b13f1f4be96e73858d3177f128af164511bf020b8a6b6b4f9f95c0872f783487196be668f562d9c1a2a5d0c5b1c7da135f29690e34930d0cbcd6a0cfc34bce8fa39aace4c8efa0d64b10f853b7c6c1c90699d9ebbe09b46860cfe3fb7590bc9ca41d0f369d19a4a8ac35ce800ca7ccb42c2cc791652e3600ea062d04a15db89286ad7cce547f883fd9486071df3e053ed8931b8d1c8bea8112b42fac45cb69acc01e7ca28cf265b6122b269b3b32768faa72338b71b7d3af041d20c724429f6792dd970b20e3daab42cce7dad7f53dbfbf00bb8d8aee92e1168aef684ea895ad0ac746fdc36acf33be28f4ca2cfbfb47ae8011334618f896a86548a39ea865213188669d95e410fc85677686d72dae68f2561537fac5a00b91475e8719ade41954071fc3cd0bde63acba8f5a49a8ffbfc3ca23af0d595aa2bd7aa60e040a4b671890eee601848005286d891f173595e746d6cbfed7da9781772e0e0789927847093741416cc994a30c06ed0737cbeb531ab7647926e3f3e6bc847c454bf43aaf0524895ef0d546c34178671677a4b5be3af44c8eb2da8aef7d7405b5a4fc2d6c01cce1b61f311c30cd01b4211c5f83169b367423368cf970b8dbadbd3dab42c849e108f2f45afce9a9ad964686ff76d915ad61ae96aae0226700f489b65c0aef629678653e227e34f7463bbf194d7a41d8efa3edcfea5ed357fa7c1eba78ac5454d5ff752849ae13d29926b021961b4fcc7b654bdb3d6c6bc80ea1b31626daef9c162a9b0cce88d62f396f97e917aef9d00b043576ef5a803578f1971176729e193ea4ead1fdfa662384b91bcbf482a7f1a5e03d984d67117643cb6020b714977f966d6b3104dba329360fc5e2dc762067083203876df4e15f3c267eb72ce02fab4e740435de08685f99a765ae99bbc4a18849d2901f91c3c5efa5c9c418b8cacb68a9f63f0add3601c71c93d33dc3a3049464b959a1f3fd6fd91c8b00cf02bb38d8dae75c788805be44d5c0b3813e844eb78498b1177e18d52b6530b22188789145686d83d02593454a0ac2a945698da3ffb4a507eec6648ba2df3f38fd2728a96e8cf98acdb822d9a5d62c1570b896d2431fbf9579a6014470e189500d854bf0e1c9aae116755f925273b0edc766fa2efb2d004767df7262f55e16c90175a7ca6cace37ce9b503b12c0de9afb8c8967049d330e963873b4b91cf1f1a00bdf003f7117be1d34f300c6a0caf43efdffe3ed55e7a73d03e880a0d01d878183d5062a39921cdd7945aed4540b4f79f1a234d2acc96e94f80f6e19d2f40eb4c293fd8211fef7ae38b56aff236b792301cde7be31dc3f6a25b883a478dda0b38954af3b0885df086bff0da83687e5c0105d19e3f657ddcb1758110cbf6bdf11145ab71093e854061d14f213552647ff0d8af74f1403f164cf85aefce830794410955fb27a8b8603f110fe9a401efeebfbf4afa6cb4c4ad0c6747c3a602100629b66390cb73d586c01533a01f7b9ac758224c4e35c4d75d0540b296d8124ce3076cd79a763d6ed9306016ad6a9648b3bb9468e9d5c2da9fd92782bc1cae15bf3f1354ec79ade182facdb98ef59af6c064cc66d37b9897c952a91399e4ec7c66424781d4a046093ff1b560b21481312c2008ab07cb675ef998c67ad44d771e49fff143f1930f68c4c33cb0f491ca1559a4a35358804ac4b18e2e457c3343c3816e3fb487fa04a575eb78b58078ac5af12b5ff76cbdc8b49986bb24e37124181a29d2e5df322790c5ef6415d26ea00538587dd29fc5483af96d6049e254d7ce9f1e9f4e470c369fd8f293f6e74d00e347848914dc20afff3b4c13c698253af8622876fbbdadc1417515b9e3b3d74673d07f74244b72af77f591b0cdc62f63b53630a97690aa88e8ca4d28cd29b9517d322eaa49c4390fd87d102ba966f97353489ac27d19dc3fa5df56c95d48ea9a07c1453564e02bc639fc52ec3fb33db9d593630c307fa918b35543968b7bf2d38d30abafaa316802dbf51a286efa8aa48ea474c6241c21ef99e9c836287ddca5f450e4e8fffb2ff81e254223076f246adfdbe46145495e71cec726a03bb1faadebce3786f6a0268d9155a0d0ff5f4d577fe66611e6f99553e313da0f1152465a4f9d37990b18c0b9b35ed3320050d4eeb17baa3b3fb3f0cda784f8c14fb69b87a64fba0e8441c16236010275038efbd3a42a74ee454d78720731ca23f52e48ad7f79cc727c2d2dbed30ec55bac6c13ad2666ae8ea15c20db33e876f710456ae0e7bb7b3b1ee524b349a7d9934de00b3c665c8010a07f78fe8a5c1653c9f9d3585bd1b60d0e61618077a9c62a0ca7c063581ca3a32817811d9feb71a9f6d0632f177460d49d3f046a50b0430505779bdf4591ec664614ab699f171fd25c94d796452b86a5d7d49f6f907850577552de6d1faefa973358a2e01a8cc8aa201ba737003e95d021050efbd3a72f9fd529fcdee8f59a0da4aeea22618de3557621627e272bf5e61dac0f5cd355e5f74e1837cb1f30b23694e724212cfcfbdf920ced0a82ff03393b44ae05962965710ad004a355c516bcc54a00eb7f84a0e4ed5983943ef97fef6c256fbde5fec98f0d517a0cecfd366c898772bbac7f604ba85a795de99ec202933b2af8020bf4aebdfc7fa28c4d3282df5b2fad7cd6d9618be43609981bca4eb324631fafd254a62407159c8e0fe325924066342951cbcff060893a6820f9b254269358a11a66ae08bbf6d32e88805bfe7ee3419eb3b2faef1127f874a9f132c6a701ad814b3f0f6ac04bc0dad9da806317f587ccce153feb0aeb0bdc91b2c73ec7e1c07d4bb092f9498050a2ff499736cb77467791bde2eae7c0094abe81769ce6056ab167845c6c871da21aea92e2d631f8d1d409ad5b19e7176ea9bb95af50acdd779087f93077bc3892d1e5d0504682c85e41205560bee7d32f955fc41d0dd5fb7c5db056cf4d4486bec0c09ac348da4ae5abe4149ace512737483fa4344f363dff5338c38a17d99cea9593d3d878f6ec69160abe93373a2aa5051c77ac599596c2ed8968cad798733cf56028bf244f0fedee01cbb8cd925ff7ab81b4a64d64b345c3a34c4a5505c19d023410462988e0d88d19f9f7278f59aced3ec8ba20addc3063a22a178571d09619b899ca16b4f3c6a722a1b4db161a7d44189eaf4718e143df676b0cdec2da1211f57cb56fbda7ecbd95ad3b62316420254d3f13d346b8697f93177c5c804900c6016e5fc6160bb5ade23d3f4f512cb5db823e6cb2e5431371c29c81b60c4882e833055eae68063948912b9d43d01a3541dcbea2ebfcac471914aba1c88b690d14b14aa23d4d6685edda3924b15264ac9572a12c7fb2cb3e7044b56945ee9f669839cb79d775a920adfc361fc7a873cccc3ccd228298da27dc2de5c5b19280ceb1853cf76bd53c17c9a3ad218d46853b9f51531a960c00fd142c4dcbb4ed3a1e4b925bd62484e9716dcb6d74a0f1fb7dee9c32050d5b7b2d6b5a6f643b450801af885aeb1c257e1dc8583d500debf1c0db77d2d1dbcd2a36c58b31c3d23d0e2f7412f376a97a9205a8c32ea6fd4b607177f0f642ec920cb78f9f4c2423b4b3e6904952c01dc15a8006715124381f0d45eee9e4f47dba35c85b9342da55e193194e67d21ef2ea97312613f6801ddd57b121d6e267fe4350a60344d2f55e839f772bcfe2926ffe283d761ffbf9a00a966aa23256bb9d960bae01f388cac33728e22533335edf474c87a9f956fa88e558ebd268e19af8d21064d96d5737fe6ad970a7728925bffe053f250a3285c75dd5857c3ef1e1a6812bb7c9377d0ce2452a922d9657c4a4e5170460d6c00d5f1018b31782c291b6e328d67890f59552a0a283ea912a5c5f83f415e617592f2dbfcc27df25391090b37520544ee053c9c7c3e7994f6b547664465a982221e58086ad8055fb85c6f4a8fa092f2fe3aaa313bf68f525d6f9488b746d1ca7b9e88f0e737b3a82cc011d6967d06a1e62e3556dab7028c49c348d1ddd26c2cf2594bbcfcde9cc58f1ec497688ac25ba3d09f7205bb638b46b7a4c726c4539f397c32484348cf433d80e547fc7570a7a075367e51ca88a33431b0b34afcd4e86d45e7c897d14731393869ef35aefe973219ff20e8a2ab1f00ba69479b201b5f8ec012a07218b2148e0c3d7d8834091d9f08fbcac5912713dc7a0f8914c760aa16ab0d1f745ee76c295d192dcd4f261d26f93f674fc127dc089867b47327ef923bf0bc24aaa4feeed4015bd47d98736770465a82769a3b862a627d324c2bfa5eb5c7ff8547dad95a05c81049637aec34a221876d099714e7635dee72dbd2f860a48aa5b2a035f2cbcbc8a0c56b088e366deb5596d4a95ac32f0e360be2531317ac1eb26a7684417c7fb3dedee9003e36aca0fe435c29c16f99da4bb48aef8e0437793a5c2b62626c86410c45c1119d1b45b8f8aa748a5cce8fc42ca1d44bc6612c1ce32187998c7678b85f8f3df68390d0abfa43220cf29b73ac3524a1bf9acfdd6aee30bfc7da7659981a30b4c50df630b77b2d19e5bad5058b2fada894a957a06882830bd2fbfd73efc082d10b7d42aaa03f5b64db03676b97b41a279c48b4cd579b52d7a353f6e8d112db6d46c0a3fc1e473265794070abd909944a317de2906d8efaef8dd47e73fe9247bf32d9016972ec665269ed024bb2554056bd5e47ff47a57baecf6f8d90beff3a81c3c4ae99e0043f8b31a449a54545efcace312407073c34389c245668e5e21a0c76d0458273c4f02a3be07a2e7334c4deb67a7d777ddb7bfbe8aa44f872ff37c0a90f606424a5e954ac765335dbae7aa7ac074a9c6df8bf5c9ea89047a90933591aaedeb269c0312825d76d45e82fab2af6f70e3db86aada2898c22ff7e327b88685e23e015eef67ca7d3adcc1783c5995a95119a9ff17c18dda4f7d877e11611a42eb235fba3367c0e2b569c0574ebbeaa0a3933c4a31f17e6a7dedc62e12f0d477179835f337ce23192d0fe02e853ab9ba997a3a50231e1602cf3aa4ccd7e4b4efab231e3970a51f361da7a1405e5be6bcfc90f63d4af58a0e36d310ecc873dd1b33b2b2acc5427e5719967871a4fc4e27d406287f9f9565066e2b8b0f5b3b8e0ecbbe7ec1b88e796f6e6de9cdd1ab06fe324ded4015af7e92a744c0f959d8b747e8eb13e422ebde054d53b9e8d9773555e057c0b9a82c36ec2229a8d7718c5a12a5e39e6ad55e906abec18efb773f2e57bbc3c89f77ca767dc97f1d8e13c89957ad2ef7ef23c2a9c42615c8455568b48c3e54821853498d57c73e4071f1785293031db8b2e4e6ef09a1d578294b71917c1ffd794d03d1fa6efef12ea8e280d2d354d4d0beb34150dbfdd3d013d89c29dcf31e96c1dc6991a76a54429269991591ea9884cd1b2af43e02123954ec4a16148e91fec9acace6c98f36f10e3646fc947b5daa68ccb20b3e649b8831c27ad494e57150724a80bd9f7b5dcdc88d517eb7a703f1c7c0565fb05168b9734f8bb80d787d227bfdee9a1b41f48eee459590ac684fab8e072b8dc837d90f25c2b0b299aa873c7f77a1479491146c0d781b2d2df25faef696381d8d5126ebb8d69e22f638625d3f241e40742d228cee773a736413eebea445b543f999d3320fcf43fa6fef7a5795adf4c1348adcde50c4128e1818952689a53eacfa9611b3c81fdfc6b53b7be9990d2ce96803619b85d0d9b9751efffe3dea6a8590c939cb6c9b613ed7d8e3dcf32943b4d883255c42de48dbcd00bf78190d032f2998de11c3ac1897f96ed01a7cca4ba17f273536f474b4c7509e4ea4c4bc0b6eec487de240484ae69405e4ba2ff828e6391b8cf8184fe83a936983294b9e1165b9a18fcdb05247a05f7491bd44a4e3fe504f2615b7c55f47e258f4ee8db0f04ca6f95c7208e9e767db4a2d9d12cc718e5feca5b947358513ccc0b474027aaf56c3c2643b76bc76e0d818991cb1577c07b4fa4f3a071b780f4c3d546284c919be28cf2b11c97b723174783703acd4ba62d0d00f78c2cc220e51d4a2c4573417c15f1e491bf679bcb9d0bd8f90a5400c0af4ff39a2df7dd99485c9d874a2cdcfbdb50156bd5d1b65a664fade55fce61561f5982778ff2f05197a446dcab6835267564da0f691c32004be4563d657b6656d6f5f336d9ae11c964548e1e5571e636301ca0ff1513a09d5decd265f691c78a9971325c5026b428802a41a2407f6c8ae73921875ac16ff51dee60350a4ead153508693fc5fd36064afae0a00807ed95ae1c03b994217ac9ea35a0f201ae0a3a758b42b169e6b073334361131ccd5621ecd531e8f3a9dab232c96025d2e13ee10f512d4a2daea7e0e1b8fc3a6d8390908e409282cbd20e3858cfece3b73eff2e0f00e5f1424e0886f085f0630205aaea2c394c8b39e5956d42570f465fcb971512548b50653c801569bdf97c27c9834069291048c1907f44377f85ed7571252541c5258f183e53bc94f71f27fe6097d03cbd72b8eca5a02dfc912f244ad9f611900be91610e534ade7360e6182d5ad952c1ab37e442123e6cbb15bab9540c897434f45b70d139165eb264d7a2034478a922171b8ff827bf07ca27d373f974c7b0e8fd28dd11e292bf57ef444d07cecb8afd2eca5d1aa6f15894c6dd2e9a84441a8dd556673464ab4ebd43c6634dbf55aff808e43c894f798d139bbd46ef12a2e186dacd84f144e73d37990dfee087164ada5eb84e39711acb1ae63cbd19882a4fff56b8d35c5f67432f162dcec9d966ec72d0f522b58fcc9f7cfeb66c1c3d3bc31aa98ac49a52a3bcfaa3e7a2db8768dd9e1245eeda24eb87c680e1727d3d133c86c5dc295f8976b34860b7d8934c908b2b01e7403f35bd76815ab9ce56d7cf9857d5a631c71846132417b0ff7a97d3d6e17715908d91815ec0d16a6883ec78f162851ec11c23596d3bbb41223530211a467a2b47e805a3ea5de88f5149badd94462a242200689042b05cbacd8e2539d4ccfb9621014282fa6f810266850ef1d04bde41a95f48630b7f0d1d6f186e322d4d456890d337dae2b71a47fad9c6dda0d38bddc4bcc6e0f491247e3c2bb64a04e4f1228d5ae7ceb0ebddc0177c98959fa0fd7d3f6cfaf071d3a3a6eda1d7598b16bbf1c8c3a3e91c1a21a2734569ab0443d3a798c1c842c1c3d80d0af20eed303d07b0d2ced50b66c6c3d1c433e5b7d66fdc698a5678e731ae552a2fa4cecb17af1827c5421e71ab57ebdc887c42e7c98cc4287bbd42bed38d589f2a8ab9411ab72132067ada1985281626eb5772f593462270b67e539176c10bb029b73d7f06d57d816035cc680437c62aff9aaa348d4cc23e70dea9ef3bf382068275efa41a104388e2282e0b40af87825cc794d1b9fba9d5e744ebddda28b1a50363cca57b22cbd3ac962d4ef536391c31365ad2eee726631d91d9ebf8d3168dca3b61ff20b4fa29959326f3da8907f2f781afd60cb9c9bf18b116a117bd42a64bd51898f1220e8ddc7379201d525ee515741d8fdc9359955ed6a2860a8a75d9c4b96181917a38f982c33e2227bddab2016f5eff3523f83bf52f524cf7b8f0dae7b77e0d42a7ba758a7d81d76543b62b50eea3551aef81a392d1c53e094aeae1bc8d6713dcc993541868ec2814b3afcaff3a1d61281100ca11e623277a85c478196b19c508197275cfc881730ee95f26789e41d7664eb6306ac66a32691bea7af916bccecb03df3260e77405c710222058d6dd1ba99fd49f921ef092b4d27ae264e478c8a947fe23ff05dd2083b86872d6ec94632f84426797fd0a917377385cf797f640657369e0831b3bfd3a23aab25d8d443d8eca4274ed24fe1edeec36cbb4634f9a8f18d50c78a0eef80170024cc4967be675dc56021dcdf4c8660a50e6ac4a9053b4ff85b49eafdf28f3ed78b9a9a9f055ceb10195bc2fde62335eea71154b4f707ec96f14c4f845bb7488c827269faabf4e1a0e98bec52ca785ed2b954906e79d21a4bc1e09a58483e920efe0059ee483c98ed82822247a12831461d8bfc0e2558419c596f06b11d473cd0d5bfb168d15449317c8be6f72a7b42f0fb2e407d2ce4d0ecd2ad47eb7337aceaf2dac17b60ea4e57d8814bc52de9f58b003b3b70d6bfa4142e30c41616457064fe6a7428f347b766fcf75ca9ce4bc6d02b506667aa71333a444ba05f5cbe16597195fb03b4df01a0621822577126edca019e56c03fec6262b41d3029a918d80723b187bf17774cd4d22a104016c585ba14d43b48eecaaacc3f8acf69e520ab04a69d8468e1b5af9ec13a5334f8760b00b94a266f3c438eea17af4649dc688aa53886433ce7cdee5e404034f0db919c81195a1f9d4ec152f394f6a276daa4014b7ba6d8d3073e5980af794903ac105ccd517cbfa55463c79698d7a020aa610fd5c1607910e13015762bb1725b8ab1550f4f10c0478436d476cbfe59b5eb20b71e11b4a2800be2d865bf6a516af3066dcb48d88f14243839f20e59bf3751eb6e47d0bf979446f4faf81e90c3d186e9244b160f032131ee770c4fe0d61fade470eecd6c340db8b515aa56d409ef28d35223f2cb57f276ef5d7159f5cc72ea57d721423b75010e5b7ede26d5428fd73b5ec234f26134480d563b035dad7b33224d9ae262c4ed1b330ad50520df09dcb56a18a2ac8503995a48e26e8d8d66a8a4e7f2b0f7de43a37a2b1da261bb52f9c93c23544658bbeb275e9364a6e10a54cc0f3e94d6de62a605532470f93a399f0924a01ed7a2a666abcf4b26abb528a1ed6df0c3fd446d063dc08b324de6f60596802273aa61fade97a668730adcf0eab4886870b978636d510452c3ff53d4d2008ff6e80aca04904469f9d3579823c61049deb68023cc88ea066092a32c10edafac110b90f16f88beec2581b5480175dc9ff7760c1fd3a03b53dafeb02d862dad6c4f9a64b050e03f9138a153be5f7471b6d91b045663032b3427bb6c8191b63545b00cb2ed0fda4660c16b019a4aca8e5b3e73a62e3af5eebd47cb155b36d94e85c5f83bc85d5dd0618f2e2aa3806152d486113d9df73f7dc9a76754e25ef804a52abe16891b563e6ea1e2e292bc36b830db8b950a46511a64921b6c56e979b6b3fb26d074378779ece957cc357818a1ff6bdf7aec6e23eeab51fddef7ced035d5fbfde07435febb5dd94e509350515abe4ca4cfa9940611f5ad15f5116bd5ca3ecb926686c6fa8b6c93603c9aee836f2d35e2d987ddafb600d87805c9bf8b8828ee939307b0f3bfd8c8efe11cc95df16dc5399365c4c24a93a152cd22c44767093621fb2c6614c273fa69d98b2256cfac4713c443d54ecaaa3217201aad8080576b55a17409dbcc5b8e463662335c7d8d1b5f266617965a3cd123d626498ed81a5f0447e902e8c5d32a009f3389bc872c036e2f094604315f843f875d551697a174f5797e32eaeaed25a1ec109c70b478deceb270e21ea0a1f10060b2a05ca34246c9b1d0384663426cb36631742b2d78efe3d1cfa21d63215ac388fcc368b8f9c7bf8f2b4f9e894d01b55cfa93865964244efb4029244b921cf84be0ae970505a56a3ae95a6394eb3495241eb3565e1027a0772917cacad46a875e102d7df6e4ab8e0a0c0c004555ce6de141319d8ec613f56a075fe0787de5b4988f88b50dbd9f602dc9bb5062353b83bc3e8bb4245608c43c7635d75e557126c2b6266b2627e808f9b274eb39a5639c84180268724bb487db76cedc890278a97bfe73b1693bcbffd26df7ef09f4c46f0cde4fe0ca23b794a52f0250ccc7c036b366ae0d21fce68c946439f4792f6ddfb2dcd93518d494e70eaf441f61529fa56d6c6b89dee2dd14eaa89d0dbbdd1f3d887c4a9a577d893554e508708fb349907562d4626822dc91c86a6c19b6efedfdddab011ad5c92dd9ee4bb08a4cf518dd80beb4e36f296df0664d0d6ed99025331339800065b7c0779402b2b593e59830ccd925754f1fd0e06c0b94eb0c378a2cc90b0487520bc16e396cf9c8768397bb1a397cdfcc99a97e3a1dff2d76ae7d6e3c4165ea371afdf8b0466b82f6dfaceefae7fdadf66aa21806f7bfbdb2b83eec466074c9eb61fe8016b22fc2a653fd65da78b0f2f36447af8f80e490a26a55535ac191520efad69184f2b70fee8bcb2eb73f1035b9736465201877171c31e8da21553eae7989fb7c56d45dd7db85725c7778c2bd3c6d6c3622b50e403867e5fd921b0cd763c6ba28c5803bc45dfc57ee5626897245361e3003fcb3fd3eabf614437f5109cfb382793c78f76a8e16981da493b0887eaa81404a73622ad44979ffa46afb5f07f17f97ca07c8821715a950d5fe4e75ecaef6126c80c7b4691d56b01e8d619bacdeb74e00ce5ac8fd190548b8c56e96199148364716715867b6f131ac7f78dacb283aa1fc85591abaad61a752876c88d1b4bf4113e1903633f752c4add2720434181d1d59ca7578a926fd22ab0e8b9611fa77db8a736683fe32cce1adc632a23ba267e71071fb0f2a5e30cf58e7bade14d1e36fa199340c0fd28129cdaddab726a5b885560e00437fdf88f848c8b7ffb3a79b89439fb918bc791c85d87399c30a81c0564db09e30ef56e189de31f53b5edd0608cc77faca59d846b23b31884e4758d8ec2415661b84e8be8815a212a90b1206b85d9fcf6a4e6cfa35f2e0a4ee5f11b66a8089a45e7d39155b2a0a0bdb4e9bed46a0ca4237038c8c91282db39295251e881c09d6a0f35b94c7d8cedb1dc0c656d3d4726e08785e46fac4d7719a939be8fdbb4d75ac3ba3432103c01335aebf5da2477d7f230d9fe05382fc4090763ca4f74243633e1eee7fe686e3f6f051f364c4da53393f5d1296051ea5ee32be6c43231ad12a52a552f71399270ff73600bd3c43a4b63e29cf4cab4845e178d0b23659643505d512ff4cc3960bb81f7af0657fe259f5c01d4e51e054da077ea838f8cb5085992771b423c12ebb62ec6949cd53bb7a973dd919f6aa69853a82cbaf17e21489b317d09e9b3b6a178586a125116fcf016be2c9e1f03b791c1356b59ad689aa5fb339fb8e5f88cb6a9090b2ebf997b2ab34cb8a5aa887cd5d91817c979081fd86a829ae4f49230029a04473cfe140e89d6071f64cb577d77a4c6ef2379ce3a1a223d236fb54eb242b2adedf2008e0fd39b1cad3d47352b1fb202311049dac8439b5e02b4fec3acee4883de6ba1fc00988ecf2a6b78c5b989300426c54b550d318b77e31fa6421d0e3e9861cc35fb5f1801c34d48c162f0a7f33c119ff7b634421df38fd4715ffc55f4f0bca2e4f6a02516cd4a47eb1aa9c8a6f4236a0eb709c270498c8ce7bf6a6f6f52260b72dbb70b47fc33cb45179cb29715f3ea51458163dc6dba0c3fadab422c5ba5c49bcb3605b905a8523b88a436494c50dd4aed84650921dab8ab0414f94c6342512e5e16aa591e7b29c821e035d1f37e87aafa3c5ba51e33a8e0686a39f800945092447f5eefa663af35b633dff4df0d14acc4c6e8b265b1cb8cd3907fdfa652dea3b75ea1bb6302ea143165c272fbae54bb09bc15482a0a71e765f66bcd8d42b3c2ac1de64059b146d70adbba989547cc2581a9f72ed2ff38cedd74b324a672215f7eacb04adba7b0a38897c4bf3ea52d1cdcd4ad3204049def256a464bbb8d94fd8910751f35e125b7d5773cae51ebbc02ae656e8389c4bdc6cb155006558f2308bb6e4636edcf2bd76c76c63e97279a64e57807afcfef4586f651826aa05718bb5d7b2fc20166cec176bcf006faf396ed4d5e42795f5ade95bb68ab6c2e8af189625969973cced59e9657ab721e77ee317a127e3eb7e7b3a471a67c9d4d8ac09edd1d4c277310dae89440f9bc277ad86c752177c43a85932bed8cd957fd849b85ac207692d6745e0f47f125bf357a8d1c469c1a1ec5fc07a8785fa3c2947e1b181d184e0acf87e363940d180f424430e3616a2b9684fe27fee1723818e2c0dc4122be30c436332bef4e9750c4e79b47057e83ca387b7bf3f53ecdbd8632edae516d58fb34426808296a1afda416b47a3869349a7e8a6b5243e77fe122044e46878a60fcb8806a36b2b1452d18ca5336eec19f00770a87bdf5459eee2332ee91f877d56b7d9842c225195d7f6d8817b5d53797fd8c728d6fb501eb117d72c4661731af6a04dd6148d1374f4f3e1a0db86917719b9dd115ec0947b4f6a9660016d16d549c1164be12915a45644dadb4e7620063a80845401ef21207df2fc79257933e7331bb0456e33a053bc96341b2cd1ef71dfb39144783f146ff5ea66243cd32ed67063c4c3b9c32df5322631e394bc220f83695e8bf20233de6794b7641d7b6405e6cf982dc9dac1dd41d9beff0e982f026725e8e17679869ac8d11133a93947d2b6fcd612d4cacf72ed4ae794305e0b6bb9940f4b6d50e24ee3f2d8fcae520308fa5804d720b38e2c062da42b3392858cc1de35c3f21e848256446f00b48fbf0e033ad3b337f506f6248b2c930675659cf458c3005d5f7f66e0f9fe7e6b412ba9cee14fb5687da834ba811fa3b4ee936c52a524dae68b211fbfff5322c576dfca86fbe77253ba60c9d94dfeb779f4b5317bfdce8514d22a1e6b8f94022fbd154b5124bda3e18fb21ddf5e47925f87de86e0d8ce6390f6c63c1984d026ec83a5bb35f26a09cd13c34117a4375acedf2ca4af7d67b9987cd874b714f4e3d66e182f5e67d171091aadc8dcc321c9636c09a1d9b3cccb722f39cfd179c8e2b84201358a4fb33810d7040a37e273aedfb89f2c5dca690a7eb3fdb6c89d37f3dfa6ef87798a1c2b73c110fb9f66cc8c0f380fd55091f17098288e8345bff433bbfd1052602fef85c19af9617d46cc6e4acd9313210d9533c3d8ae1285672a42e5ba6dfb7e39988e8a97a63e1883263941cfa29f92c982d88125564b94ef9907c0d9299410f45aabad57a1fd42da5dd374685d9202b16f9162636a59e489678f1e4c18a0fe881c5a94949992980d1004d26c3e2063050847e3743872049bc01bb007850dbcd90d3d4696cd270105813d7585dda83e0bd9836a4563725f442f4ca55ff56e023ad426b58d9c350ed7676affa3aceb6798263da6dfeef89ee4b4433714a78466aabb4ee7ce67f7667de47fa7ee9e8a4e72f5a1fc7758e27faacc5af988cbe4ae579adaec38a9841df0a59b362d264b8ea96bff4195d1841f762e780410189dbb247c632a85ed348b8fcf440e7d42105b122c98d7a1f775533f6633fbf9c66be2ce5056e0ea53d10a097537ea689922a94ff894874972f2145dd49bfd294c79cb30434a6347227abaf4bd284adc160ffaf2cfe072cb87b03011e2dc4814fec96e279514bf99e43c16c4e1a54c976dbc37066ee148edbd98caf959f5304a6578251555344808522f9ee33b9a190000e8e520f7e531cf48a524ee83efb2a32a5fb24468903e845d1521a79451c887b878f9bac5ff46cf49f95deef2bb7c21afda2dd5ea89ee8535bf9c5837359a11b5b33d21e277c575b04f4b14d8274f8fedb50fe6a2360be264bbce0472307604acc6e943c8e8b6867c1aab82d5fc46cb9c7ef689ee4ba7627f102aaa33243dddaa7c0aeb78e8dde4d80d7ecea63c36136060cc553fc08883bddab0c7bbcedf2abedc9b6a7f1ec08ec2f0e58aef4c32dd34d81986be0d848373d6652ab318397694d6d75d12e3ee39f8257866ca4e26bc2492d4a85a86ec8fe5755ea3b3213f5ab5a091b0594103036c5d7d3839bd451d7eaf9468083121d0d32cd875f8c2865a44f88fa615a0cfa7edbf654c0d46f6e9fab5d9570423168b938f4b9f1a4adeed25efbc788255261c3b86735ce65498a58bf288a88a850b909ba3b635cadfe3ffff7202b293bf65c2da17e5811a9889c1e6cd7fb5e596d1c89865c054c238f00608c229a4b7cdfdc7f841c419ce8b665383e3a43de96cca6b46bdd230698571cbc092f2208181ee8355974ec0fc1a88e6aa7f4c32cfdae2320d3b24a99d407bdc3193ed1f262b801071e376ebe7678fe6baf60047b79513c760e52cdd789d0a41f9abbf57bb71f0334b279b3b5e8814e7a4d27ea1d0318860a9dd2d95d39e508c3abf8c6321f15207a6639de206d5b74b83a87a6f8169445d1807ee09d253e8ee91d3cfd734b5afc4032eceb276252fd17a545239fa8b2cc0c27b8c5303321b5a9c729af79930c7037af2c08f77b951eb590920f6fa177f59e12ab33dbacd4f056af996582a85454d74726ca150456c94c6686216c508e6bd3aae37dcdf021c43d8271bc3ba67d8e47e3b760b059ca7cfafd0866ddb0ce0b53e14d1a9334469801901241f3bda9ed769fac1cf8f939e189804bd080b64693ffe2cebca1808e70859e46eb8c64fc5d42ad1bc9494f612df6fbe7e5e900b82dd182a0a48f0cb78a5aa9c7204762aad0123f61a1fb5cc045e489a6182faffdb9683511e25ce19bc58feae02bbf7c108e19853c639a9de969dda72e91244fdd8ea1ecac51d499456890bec168da91210a712c9c8d3c1b84effcf7c1dd03edb35054e8d3c4af1a1680dec2fe8a6834db9c1afd02fa181ff2d0200c8ed2f670da9f2ac3029706fbbffd56a2b684254b8375a7881bafd0b7c76434a1f6e15492650187d1fd8828229d1b129b7c0e13db58652ebb1c898240729253bdf55bff32faf346302777e37a942c337eac7bc0c4c6104f1b62b29b9e5b86a30579e1d5da2b01df219019f91d4ee699ddde06553ccd4dd90495d83776c3335fd533c0e57e92816aa35ff94b91737e71a72d5578b90c9b56a96e2a1e80e585352b782ec6daaceb1dc850d04906ecb6fc4a10ebddba390dded0e8d9d243a7fbc40f5b18bdc62781f07faebbf9902ecc846515d982a2f31f788ba49ca76973dee9268be7a03f5c09437f84308d19953651723976a230e2a40b50082a47d7484715473094f1ea743127617204faee28c06b676a7cc9f4b1648da8279ed77858daa21453b0d7b5085460fd76375ea04f933bd6c61d21d2a8d04075bb09eb2d4cd9a6f8402f01ae6cc4bfb919cbab59d8d89649dc14401d661b78051bde8dcf6cd92df4b9f565f1b572b4549392449a523094c372fbdfeb4574376dabbc34f78e45043ba210b7c80226da26effd7223958466bd2321c6973eff432476f718071af30e8ac5d7fabc784204e1492d86a9eaeb8f1fff0e155863a7f89bc659cb98cf4495cd370bc9e9ff1546ade9510efb55001e7737f6d62fb9baca7f91ca3d2bcb3082955c9dfcbfa7c0ea189c2dbf8d838dee7a763d12b361ffb4aa1f0dc61524acdd9a8e13f21ef478a2e2d2069f518e59cd408c9e3779d188cde884a77e77444d00913833b821c71ea0b68d61cdca6bcc017bfafc71d9bf074fc9b9ad1fd2596302afaf4770d861e41e5bdf1a39f2a8a6a24acb3c2036fa7a2f6bba273b48fe7ffd53d5b05e3e31f7b407a1a9a39fe55980eed526965a7d13a93869a3ca3eda8d091a498a5c196b28de5440e79df0ed794c3ea959846a28aa5017df6db60a2f42664aa206a10b577f35bd48e97c0573ab766d51f7105d26a57bebe1f68339e7dda4a7904a09512643f894ee953964bbe52dc97d5d932217702e508f49dc1fd8c5010418d44345d64a9a7e1ad885ad569c35922518075e2e1757c2d7eaf04bb08affc85d84710cce19845bb0eda8505f51b91892f5e2828af1cafc12d9bc40af1e42f193b2f5ca9f9f754eb375047b0a2f1edee99d8c7452a8322eb7c9822a85046214e39b610ef120133f8630d631297387f80d00f6a78e161e5ad5a03ee9101cd2ed817825184b01434f31a32b99b00fa28620f124ae5922b034efe6eb533506f3fe1356cc4e99b0aea814c6a896c6efaeb258d3b2711b1155ecac903fc247a0a2160114dc5a1b790dc99a2c9afde88c78766a05d6be692c8b82a1ae2b373a86b373995f37593c23df98105afc40a13abc7913a79180f7c67392f510e9e147651d994257d98efc9832b92d60c481b3f2b2e995c86b165d55f42594ed14237153007676327198b910a6d312b067b2b0b0584eeeaf3f19c26d50a1162ef8b6fab9af52183e7f46cc6bc92c83bac1f425bdc8d61ed45c86642d57bf5b94e4c2983bfdbf2f6968922aa318339185f823653fe98c7a0cbc4af9aa5e085920092c2039c3def0c1ff2026a99d301a62696922432a2c4ca92c8dfd0698cdac2608b42098a3ddebf87432080c3886e58dff227e4eb7b83c6038f6e7ce7f55d840d06414668b0e3c7dedac1bbd520aade354c1bd0e725078cad8868e940a5a5a300a0b6ed4af34e3fb1627b326707c190bccbb8d75bf82a57582de81a18cfc5d3081057883eff9247e013239fadfb1e8a83064253320562d83bc80ffd81153e19e95e0d47b4b7c060f16cbecedbed1797f0a4392cb9be8598a779250e61466cab09d18a74e37273b9cb929ec6fbe6b450c6675fe13e9a69a2ed95b0e29a4bfbd5a850019807a7dcbce5f8b113576cdb6a5f146c547ff44ad7b3444ac46a763fb97080304d0004c72c0776243f301ac3185fa85f2875c936433e2f69ca72f227111634f368819295d2c389c39269cde97ed99fa0b907a3f5c7871ce0eaa750b4dfdbc5b42b849894c79d7dcd33377cdb90da96f2814214afe61787370b6b699b9484d209593a7fea855025133617ad8feb1d9f6e9f0ce8b15d95e4f9730883cdc1703bf5b26924c2da14edfa32705dcfcbb0eecb5d9e3314fd5b53c02f49bb69df53292ce72dfb2a7ca7b1bdcd6719457c15ecde57da6f1516eebd7722b668586bbcec7889810e43071432b1b4a15de8d95e5c710b344c1c3343697a8295c07f0cd38227ae115be034d2a13f909612014d1fc1bf5f6dc04ed938aa79dfff6967d9e7d1e15a764f4f9e7b70365da8cb08d6e86ba3d7d73989adfb4b8b1e69b7f580778a41bfddc9d1b1c7347f84542ea7b64662c72a04ba5ab52c34176a2e1164561814bf8b6c663f2433454321afd15d70dc015dded0aa755048226ce748bb14b4bdf66d21c59340af272cd2a5ba5b0806434ed4c497c2b250e044d4f3e4ea92c846e140b7bf442f5dd00849cbc2f5ec7647fc731cde29c2edb0837b670e626df3f6a4ec84536dd545cfad8c03b5a74fbb33f6781620e6bbd5c16da661c655ce1bc028ca61843410d5475c63a37664909bf15c1b4c3cf5a82151fe33039f34f7e7580ca3e0ac92159d501b9fec80e0ddd71be23cacf07230050843c2dff05aba9a8193537425e17a8064ba9783cb40002bf0298c53288bbb35e772c477231876f20ad968e356c847b2cf9e8a6f150af2b31d86141e494d6120c2f8d4799838405a50764ff32e369177c1f90a7f6a53d551f1fca059ba0bcab91fbb40902d1c7efa6aaf44cd5fc354ae57828e53d6dc5d4240de4d1a96d6abc30176ce0806c112d2126abeb64941b79563311f1aad4d1538dd4ed9751cf394e0d41398f83f298d15efa527d4552463f03e7169f3a563c790a4a466937859c7e87fad53c45178de8872fd751fa3514f600b1ee94d6794ed7e8bace622f8a94b6b4f6047cf53c45d569ffb5052e18d286468dab5a412e98825ad30263d2d80973937b91c441a2ffb927f1c2f6249496a6646cea0f12e41b8bd343a9412e2dcfb820efab236af6589f705db5fcdc5230cf831f0785ec6c1b28c4688b447b5b06dd5749d43bd620698a567063a26dbbbdc0652de80808e71385a9236127378da08740a4d7b684cb3b4ea47ca6a9b03a85db7c720780ee7d1da34026aac3b4b7bc4db8694f7b4727096c12581c95c1e846a5516c441d687594c4ae1ad162db1d0f933fef52086b9332901c58d2da32b901b7e838871be50820e98165efd631f9a29089887a912f1b948be5eda68d73b723161b19624f9d37729db6ba43589aa4d928b1dca5c0c6276665a056cdbde3cc5ca8038ed0e0ca1c35b227602c478cfb7f54b8af8d026b1d1dc6649a51cad019243e63d365ea2c4d8639793cba498864f913f90065be4cdd46eaa58c927dac277e740f3cb817fcbd2dc628b976fb5e606215fa62b55121ec8d817ef9235751b68c43e084299c4764aca2c128cb4eebc4e0983290d0669d0095117540fb51979496f957736bc1785e2ad28081a031e9b433d106f29e4900f1d618b88fec9e9e601a32d44a9fc5d656174b4bdaa1116c3d7484bdae8f85d81a8b9511ec2edada855bb3b7b1c2f5fc48d5cf059efc503010786b01f741051f86512eb2ce0d768f150dea21cd558170b3fefb2f4080d1a77ce316def38150905c4d3ba018f131eeae8edc0ba1480137b0d65e0ae1f5b38755105dca35333763f449861f7c8cab48974f8830560b8d2cd10646cf1e63783dfb305e7dc6a625fd7b675093599661320a8f2baf9dbc5f9e45d15bbc085e7923ae5f3a039c7c596ec157c1f02542bdc05a7c140b7848cd87ce6cd59030d98ad24dedecbaac7c9fb6dd653bc9c1a09a6e8bc4482d7d32cdeb0fe49fc2c111603f98cf5ea67f1ebd656f729b665e66a8a33c9b9da18aef5349e225805e644536b55be1ebb3d2477039338d044752b5a810fcb6ac62c48e6e8ce86131d790c7199a698ba92f3c2d1e54ab9c259e95f1a973b5b6882e8a704c4d986d3ba578a8d22132ffa2ef372c17c09092e0df8476159b2eaf5637e12db554a943397744f3de7ad85db11185367f37c0f98d31c3989eea351f6f4746b996c394febbbb3923fb924f01ed72078e3568838918eb8750b3d2832459ed8e5f1372e0b1d716309dfe5f03d05551b16ff214ed13f2de41465396c3721d032652c298792fd8ad24776e682f058d81a31f43354ead28577aed0bd561fee765b13b71b0a69b8535f06139f4b97b8a265f31f80e0744a2f459a58011bd59f4d886900f592f10880c94a01d6fb735f4b1f97370178565de4b37a676429d772a1c7755fc55821dd6fd7277265c25c0372c2719d37f1c103308f831509c448edc4ca7e3f2391d25bc377180090abc7c6a20e388803fec833fbeb5127e0201821a3313c371bd7044c2b4fbdcb229641de31c4445e445e35a1dc7c6cb900028a2f8c3bd7fe5b5082737ea8582a04680554329860061a0afc3e20eef7f444097a47bdc9347fd34e945d82ad68b4fed45386895d44c586d4020e9d9b7f796527bf65e2b7be05eaf435f59190b72c4db650037ec832d27ab8cc484c97c33b79e352130dbda68d737fe830127344b8d2860e81fd531e961689adfb5fad02fddbcff7dc063eaebcdf01dd815469b477d27f58c526ecbc7892b2509cb3fe81c9ddb367ee28f6547c45f29382efe18b244eba7a6ff96f8227db6aa4929e7457edd290a8a6dbb40f3b22bf1a9d3eaabadfe7e4a07c864cf2bbe804170dc4845526b712fd85d2424a949d2e7aa8438adb610b24c5f484adc090a55d2e3a6c9249063728bec06843c2ada275a60d12b980e6670d0d7dec2014d6a1f11ad36a78428d7ecae6ee2254a3d2b617b5cfe11426927b5bbb39d9c244d6023b14c1752914a8b0fda59302864bf6d463e5dfef92ba7c7cdefef1f8a0130b9defa29c272cfbc9a2c7c47222972d1c396696503f355b5f3dbf455656d199e34116ddf1de847954b773c6a4fd4ac654d6bf97ec3f7bb39c09e1ff5bb2b5be128081fe18e5775ef8ac0cc02ce65404758deb2f53e84eaadbbffa44a7ce3b85f508bb3c883d5950b58fea85ab71e80008ead6cecbca38a490956956287da1a20b4aa582851f23dc0ff2a9b4d3a809396dbf01b8062ccf7ad761334b9c00e87ca66c41a961da7a53d7f02833a8903a8bdf061b30b8c4b3a87099cd698f4729370980f8fce25fffbae325cd45c75fdfd8c5ed58b1801707e5c18cc808d5a0b139933e732bc98517350cf43e70736383448132d9533bc2e7a2d34e7341962f5413a62416939d557067517291730c7a4aad19c884c1c8671033c2c20d30bbd084b909cfb9a9c4b042de9160e9bc88f6d199054fe3a2b1f2f622dbf092e7546c1864b70e7da56adbc649ab936b847202baf191b725ad474d3aeba4ca0b5abbcfd96aa2f94747d212b26dffb941e40d7b1ba589aed6dd3759689ef9e5d83328b52bed4a3d39e110e39d70877e8990d6a8826b6f31c8d2d41246fd1c05d1c373f279458bd937ac32f1bd73ce63b6a37e219b540d26b4eaa40cd9172e59ca92d6de8b7794a54ba0786180e3220105218c46bae36538eaadfa1f2275f08a9a642533f2661d18e976fd8322cb0f08eee982b4906d3846f9dff77dbf87f9ecc034c45302c0194456886360447ebe5201910595d336ce09e5de2e16c707ab0209b2c2929007b1893e8537e27e8e99d662345813dfe46df6c76dc11b17a143057429bc507fb5b80cf5ba057677a6e561d3bb478271cbaaaede41d394f171937df8f2bb83c35795fe336021d13564ca1b4b392ccc7593584e03b1bc650ebb2dd07d5990fedda28f2a7f622286238594997cd0a0cd576652469cebeb201dcaccacb41b5b887e06dbcda9e9f0503cdf69cd9266b09785f87e739e4c26ed8fe1897633802ca5f65d946163f43ebfd151f83459a99e5501a375772ce7ef5514b28e837ee90ae32bf34a930c6f9aba7134798028e709734125668b51bc475ed48e13558af50735457b6a7f54be66749ad3b1cc2199e1527df456ce891d8cb1ff42ebc80a680d3d8adcbbc478472332d3ba06761e2bac3e9731d21d88226505521c9dff68a85a1ee8eeac423dce9dbae5c9a583592762f121291df55ea7fb26089c001f6aabeac4e53963f84924e2e63c77b846d6f226492d2fd8c7d0dd55b45770e0a5a9d191b98c86a2e37d2946fab1f53672448d8b3d4dd37d7cd4b7fc1b67b1e411a2642ef7a09df24204b4f0c4b27469391e226bc40403311977a15804eabd66050afa0c562c215db71196dc816c8f84a238f37260fc85abcca8f432ac8c1bdb0a2ac7eee1f091c5d3e7f10e53bfd77687963116c734f64c1ab79cc5f793648479f4a5bd50957a61093c4c0b464dc53c8132884e92265b401bfa98b7138fc441353364a6e831bef677bd4d8ff20c1c883d5a1eae9a1921545822c98eaedcff3292f5cd8e01bbd7ab5f5155c85fb3465e07a1e55da402ed87245341bbcb42e26e625c591dfc8519e235ec0c5365b78334e6660f11f7c37e159659f1449cd5c9a4e709cf6d370e0bd76af486c79a89179ffaab9fc48d4c83b9b6008d7aafdc9e3e3ae314d3024eb42b68105ce5b0bba532320caf9c362fbeb383e599ad260edcc36faf1fbd276e60e3285f383c3fae316fdc7fd42d1219b46912341b4297cbd5e1270ed65d5a3bff619ac34a5d26848595e5a5545685caaa49942c43b0993ca0fbc2dd87e4ca779d12cf8058660de785c50dd6d48d3c2e5d22fb44f010789e087c845e93727872f602185cc71b967dab5850fe60f2d98a52f5d3a1080f14a1ff11542608a044115629ec73e763c2bbfef3fb2d69dbdb8e8aca9b97e989628617dc4e63e252c6ca93c875c706b7576e7ce49b65632cb454ec28fe6ea0b9cfc7ed5425162244c97f2f071339bbcdfb852d4c2bcda7b16aef1410711038376f67d15506980a3c000653e855fb79666635a34c6a84c0d46e8f15f8d75a05c1f165e29671e2d130e89684d483b5c79091e0936c8af3ba04a24245f3d14afaea459aa610c8ba74379675f262e93d8329a6122ab4b313c3473696015b871018c97fd5733bc2f29cb98f944f677ecdd824f340a88532587e066c599ce2a677bdcf16e59c02fb082e9e4a63a46420ca28636929ef3d7382b07728e69a273c34584c133809433dec39c14967f6466c290d3b8eefb9af61d76ca6d266eb55c9b09767d22004bff7dd67aeecde05129a2253d60a8102ca72d2c6c767453cd1a44fbeb933728e6bca602ec7e89349ee42cb43991e2c1d9db299e9941f50bf7c0b6fcf3ac05e1ab834317ef77d220639f295ad235d9319941c85a0fbc9be6a1926ff99a37f0700e32bf6c46ed900e3ca18ff3feb66deb330754db947da5ccd328bb46c47039e6925dac492bf4ba0f60f5cfa1385e00c3b3056148ef3ce130d09cda820f8d5fa849752d41a858dd642e089af848d6c0ff04b6cd457991005be15dfa2bd35b1f15690c075de464da7e2f9698973249f07a6786b9ff7278aae639a71fe27ca9814430136abd6c2d9658d9faabe45f556911f26f2af9de6b8736d3de08bb2daa263180d83f5762f5f087bbfbed0f03036695a331c8b935664fc1136d5b8b648620ccf1a51f29128f8381543e842a2ff89148316d1584204ac8f0432793b0b9d06aa65d50031dee21c9c0952c7103edd019c49dda7992e442e11a12256fb3b7b04e0a5b8b70615eb6c19905a80d03a45515dc74ba4e3a43d6efb73d2d64ee12473ee1f25f3ea699b73df8adea395e03d42ac7427b4101d5cefcbc0279d063c23379acb8c18c3f51850e61403c742887c01d5841e2a497d527136806ebca0cddd4fe02c5ce645377257f3758aaa38dcf477049a492fb9aa470c53e31e6179c1b131ec7ab3dc3f95496d8fb4261a98cc5aa8f802a58360faddcc1b153e1722dc54af1c20e43b135c4b2f2a43bc99be0b7b5428024acdd4c3d08f8c81b19e1d29ef9e330073601b6a13f9745c14b3d7d109112fb2dfbe95217308e08f0a45eb84bffce405cecb9c621494e3a5514131e04bf29a7f35114dc673df4d725d56f54269733e850f6a4105e9ea7ec304f3500658c7efdfdb84d2adab75bfb87e1e578b0b137b510ed20cc9b5bcb4cc003a91d6a9d6e811a36267627aa4b0aa2a238d6aa45f863e72263c1697326bf35b41f9ba2a605a208ba049272a8c2279ab804aebe2a997d28f782bca75c9881cfec32c0dcd29b3887d7f6a233bfa85077ca23c4c176709e101cf2e63a8358f72c733827eb9056840f52870828d664cb3a6c04c0ca011c35c3a6ca6fb9a5c79b6d55a60da7652299f14aaf5f02e80c28ca486e70901d6ed70fdf72d25a6d3197b677ce12ddd6747a105ebd2f34deb36afcb769257b83ed4a209dc5e369014f8846aea0c00b3f65ba5583ef7670e28587dfc95517ed374c7eb6e20724ec6650eb38bbddb25de1a95da354ecbc096dca6ab44861dbb545ef28ab7b252b3523f1eefb72284a151777fdf95e6572829b30d4ea499ff801329321ca3f51edc0110d3a52fce69f09b0dfdccf23d89cfd1646312de55454c59b28c99a72bf4ef5b30e282a0861638cbdaabfad2685206ffa672e1749a45e49f32b1ffabd51732f02672d6ee8d39f7c231e5f406a1651c023e72ae9d7f0f127421b32fb246fb1b7864cc6992f98a03f6534bd2eb5105ce82e5a08d38e1b5aac320f69c5b579fd089241035dbdceec248f34c6fe7eb3f504b2f2c7965ab05d3b09567d65b772f44adfd1dd51fd2d20edcce3f2a05e6846d2d22ae75ecf24dfb1eaecbed123ea9bdde64ddafb5dce983389db2a86c5d47f58a70feed87e83723a5a79478a9e89a6594125dee4ed72c2f655bf3258d2a99354519ae6e6388b7798aaa62b591db18e9d86b9e2dde4b73195fb83ddff6c7525b45e8eae6d28542f452470900456aaa59ec973be2203250b6f0aeb13e3f89e1fd76546d89464792bc8221a6812b87870b7f89fa86a99134f3a5a2421bf7f081f360874971400ef16bf1930aee06a4c0da01ec5bcf564b2e05bf6530b20d12d4795e0fe3fc6c68b657bdec640ba60bed8dd6de51e8fd51e38303c30ff55e70fead68562017bf7af27c47ae2509826f14c38b369f258b7988c3379ccf075cf1b1989321c2092a82b517ddd5b5d219b4dcd5d9c11778166782d601b921d4329efdaa9c097a0dbc98af8d852769657833ed31a9d4e1cec8e793db6a623840bfe8104ef6b5538f567dea340fb0892e60fb924af6b7a412ad97ccad53bc1d85201789af19b4534d2ffdc8dba27f6fd5e61d4350845ec1fe3cf4f7b65f1b8fc76291e4f4ddaa8d13f6af013289e0eb6bfc94ff5fa670e527e24fc0983d5f6ee15428faaaf79f84b97689ceeb1c76e84939dae5e6b0769f1450b011fecc74628ec7a108b57c397609e74c7dfdf46e88e656e5945a005d23f0193abf930aee3707f02fca7980a97d64d092c60d3f4cc71e7078a6adba55e308741fa2bd88de1d792e47d4d0df958b9197aab2c18b7e5d0c2c23d51af6e58f97d522c4a2892ee4d22b79f2f4fe9088fa6111bb05e87cb969549e52f1925382115c0baf11a55706cc165a6cad769438aef32981ef01b47eac892704657683fb077a5f2da0dc214d7fdf3ff0525cba88ffad2781c0b61dac237cceeba67a5a190c809529f45d6af30df5e0cef9347558a712c1fdc9ca71b8f6de1132b39bb003274c1593d13b3f97dac0fef7de9f28eec56534b91b41a7d1f6938f29628ffa23b7a7b319c59cdc28b730f715b01a077abd19b778f6c61449dcad73e138d31b1353f53846ce5848176ac073a4121f39ba6bb1dc568f0ecaf10899e3bf4f8d588313922e443339665bfe7c2401034deaa2036b1b10aa28aef01b4525f65bc3ec8fb1cf32ad721452297fa4209b9c38e71ace9785479b8a7d9cd5e73f72d6afadc07b8faab78dade95dd22604f597cbb4abddc7f108a8c4f5b83b7efada147c3ad3224eb10ba0a132aeb030c7e8452bf6b9aeaa031fe46d15fa75f8e280e746b8bab8c1451bb32eaf3735a9c89107a1bd148a52a7ca62ad8be6d262ec819e8eb7c22362aad79d85663be60ca9ba83a91c706ec81b12351bcaa1dc5947e97fc2c7b0529d13b9bfedc841ef7213f1a7d44a79bfa7bb4d90aea0e27576ea70072536b95cc5a0d7094720f9af2bf18d95ed6b16cba11b8278332675e3af19e4b3c345da8564fd07733e882c19aedb9ad823c5b65e996b7865a7bda03f03907ee5f35bfb114bbe40a2eb7de561b29a1dfd49cf6fcb019709af7859c48f0687cd557df5ce2f2adb7806b51592052ea1328de1ff3a93f23572975e4242d9f727f76cba02274b13df0b1b0fadab33e2cb1c32e14623e4da2a2ccf341b2f9d8ea9e0355083f841f20ecfa443db95e11d7827405f0fb73e5d7c4bffbae90f764632c7ec746f61ea9eddd736c8a590ea27afba7fa2a7d5a5b4f1b588300bf3ed91e5db22248daa250c89e3eeddde23d583def75f745cf81d71753125495104c660914b4349e171a42ad767ceef04c94600c2227114dc13ab227e0a4117417e17034f59c37323b527f5dd36f69d4ec51a3c07238b4b0136e677c696c77990d5b3ad56737fb8ac4fdbe6524d5e3b3c9c8f07780d8a9641f077c37abc4e6b25dd03872bef5e6dee23bcb7f2a7fd2e0d0729840903c802406842c0a5144677a62a5858227bf2b0ad81ff58cf97c2a02c9cd09daa0f2d0d6538d07870f429b7ee43ebe16ef3ddadc527a718740dfe234e7a5ad7a1d26ea361c27f93ddd0f583797c63078888e3ca1d2e805ba995a7c309d796e7dc6a255f06e45f24ce7528a9105ddd36f4aac4d668cfc6985138c535f2db2b7d0d8e9390355daaeed391e098231ff04604e4c7dc278cf473012bf352b093519f68ce0ddb410635200f6a1a2a5440e3f5c7b614711fb6ba8d8f160283fd3053b72d67f3f017c6bff6cc4d4df3066b469cfedbb02937ef9f0de971f5f1586d6a48c82c2800cba62b547097914f0158f0992e9b73374a93478d944493c13ea53917788b0bffc9feeb8697d17fbfffb9b365239a50573dc68e812b45acd2b679fd28bebe4240aec8754c71f7e57f8f431e44b371a1ade654a12f59484b5799e564f72e63cbb60acf9241771b37835b626e48292d2c10c793ed05813f55a9ef78b5f781fff7fd71e0b1543c4435e2668675ebea9cd2ade08eae1c7ca5bc768d03271dafc48e60c955f895b6faff3ddda8d80c42317be84e331bc6ecfd913ac507706be7984bbb3ed6a55d6250a3c0d40af6c4cae37280b5e993b25239dc68aaf5c5e59b8ce0f476239c2a684561d4f8a9ab5788258f648f3740673254c10cace5e5e793f0249c3a66d00091c2c27a69fdfab7d10592cb86714a0563555f779203fcc453c7645246d1a374af060572bbc68e17413a30ec19113ed89a05e6adc6f6af65766b4575d683e8c9df21da5ad67c2fa22c818a6817f1762972aa1224b925fd0487b08d35e26006b636cb6fde76b519e384e99b320715dbd9337bb86f9674313057ab895d38d7c59f1de815fe65379d88a990e25c60ed69b3c55064de04f0c39d63c325018d3989f841badfd3746778e7ec8fc54c27c68c266147ac80a4ac6ff8efa0c3a007c8e3c6cd846de8896189455afb2f09a4d43039c9b7b1a3eb9fd72b894aa6bd97e655f199c00f333943f998bb3c6372730409f557c5617957c81a003b8c333b7a7900b991ccb69a4deca2868113b8ca1923cfa4add091802f028660647f6962aa7629e5b906a70f55f449cf0f220383333738c855c5b574387bb20c9180fb844b8dffeb96989b3856abaa5b1e313ded37de5f77ed14d3c14db3ee59b356cb7e97632ba2d2df5aed5fb01517cc4a41d536055b06a54feb375a63f9c496d9335072e88744f29bbdc7b2f1acf42b99a7ac06369f8c0d2587e9164aa9d1aa27cc88fb32c1aa11644109da93208a73ccce48f7aaf1a4055ee6bf2f821cceb19321836b00d14ce0c920af5c019fa41c7b8356b5988ae91b2f60007eb8aa0ac447aa935d05f2cd5f4ad21f3692da44067c1445477fb3f90ba4b12d2a6089dc8c592e2ebb0504126c524607b25379c87d6d77a0ee9820fec36dbba449923b0679e9a8488c97b76dd8ffa25eff58a99d925ddf54dee3c534d79e630bde0a7c8b096e97d5de5abc696f4ef366a907ef9237197fa1d9e3a19b7c7aaebe47c0add6da3f81cba470b3ba7567c0da161195df152b083728ffff661269447dfbff51ea4c1c5416c025e839880b3204a8941fc411cd4985f084a001b2f0426d7938c117ea94b628bfbab126511f8f9b7b060420ee01066051c7f4bb0afdf30ee8ba6c696892521825dd1cea738422f9c63026902f8de313f66d6864ef8c37ef99af0f899c177435318af5397df620842c4d7d1fc92c1fc8c5f122695b13e7140e6e4bb1b795f484ca0fba92cd4c6a3a48286e525ac6c67e896630fe2adc0c6524c3d67b3192f4b7baa04cb156a39301348c7763151bea1fb1cf2ff873844728bcc54a801d851a897f3772d226aafbe33569b62f9f97ac814ecbbe0b98bda2c8d1c1a4cfefc9992345139531d3235eccaa60420d3feb89cf65a6ea7a76521737b7cfa098a8008b02c9d3515564289f71860e6974d761eaa28e99fa0e2bd21f86eb06ca5ec2e02d26a7e6fdd27120400320270e66568f4af5686fd5246ff6bfafdbe087e08a388d3f3b0a470d54813b5a57f3e2cc24925efd7cf2c54f8eea8496221b267b237c8ed61a44153506c52bc6825bb1e27a1fb8baad5ec02ddde569e940ce1a7876ea745f5e1c93dd583cee9ff38aec5cee621a613a4613ecd508991c47009227c0ea56a7d0854a3db9eb184733c1b8560a3e7d4b5bee2d54ad4297910fb39373a71ba7016ac4f86fcaaabbef5fe61c63598cd829da418e032219c7f832c9efdebf0db4a4358afbcba36209bd9f58f63e097e309e03f4d30a72a33e783dcc0db545bdb9bdccfe5373460066df85c2fd8f0579e699cdb0ac58a3ac7222849c015afc10dafcfefb201956057f3f186fba06da48baf1da029f7c3632253c5a0c207d693e20bc3e20c0a4c4a5499afda681c74ebba714e16505b83df09d927f7375bb766f59fb61525b71df36ccad4cd20c7ac2bc514e722310b15b248c745dadd7e144d5982c4c3f6afa4576e59486eb18e82db1728f907c5ff1fea4c37e3dad2b2898cf49393398705c04fb620a9f023cf44d9faf38f636899419b80505a760cc1c02d9b0c417989cc23c1a2d2cc327966bc840942e272f4cab869b7e16f05c0ecdf0b3241a5e1312628ac495770ab03dee3f1d0f2eeaf03235ae3e5798134f02c01e2032398982951c690e38f3b76cda5e47411e6c66d7249404e4f81f3ce85391c95bda99399ae4449c68f6e8dfd40c56a2aedf696f05dd0c67b84792b21f4b1419fafb29921b93ecf3eb85d74e01b7fe9f284dfb5d197a2c28ac0dbda96b0de235895cf757915f4251e1aac5b6ef2fcdf87307e4ae88e1ed7aae665637804049bee05b7217b50d028d7a19420878e883a49560a3263d070fef697a3a64401d470427bc06b8d69e7e7c92d8889216945b3c5086dc73331992d85d3dc87448899b2a53ad06c656a984dc119d33f5387b4a7dd16efd1bf991a7d053af3c024dc314b3e2cf6e13ec890ce2886b86be02eece861b857445342f513cca5ac196afd5d64040700ab61c4dd2598a3972a8d6b244db3176b74d23d8f0f131caafec392b4a760b69a3d47c2da37c610e36c6c763706957e6d4765554f53bd11ff8177de834f0edc1322816d8a5dee57decbf41da39c834adbc9436d95a958e564bcb2824d06fb1356408fd95b1b89fc06ef014a75a508ccf4205a12578fd6679ae2e59cde902c098756428f93e4b8eadbcc9c4ff02c91c18b0841141189c17c7e2efbaddad08ab87b0ab07a2de8af4daf3017da6812cb09b2c13144df0cf305ff339b76c16dae8c1d7d6f8701ce83b2d20ca0861940c882e7dd37a0b600577e34a840af0f8b58ea19f9aa0e1271ff9e51004ec5bd1abfc60a9f9069c3b50104340b8cba1a39113d850fe0c175da307bdc36a8bef2acd1137aa37b641d44dcf125e09e344b0e1244ad5233f6c764386a2232b0445389977feb1b584c6bda38d9ee7569eec217278ca0559b5c5991f45ee596c54e873db9e0399b5e10ac5ef6ff5ca34658f415c0198dcc891e837892dca7b5dabc2a252d8950da1b6d0b987974b78ab5543098e2336107b5cfe23ebd08df11888c9fca5395f6f6295d4f84f44638e812de6aec17ebb33304a0c77e19ea1856b1ef58491b13b16e7d6b65769aa893cd92070c93af17e760f42f4d384fe7158701ae001cc0782a616ffc034b7edebdd7cfa71db9557a47ea9b88ae0b17a32d0affe5653a5c9041cbe6d86a4dc775d81f9ddfb8e882e7b97c81a13e59abd5e82c9f1bc767f443038d92f3fc1c561108516bbe91714ef4918fb6537906077433bf11217eee2912c865e4a4154d2c104ffd00f9a187fbe667647096e9b706114f41d75ce081dc02b8632f210ee1b0a533d96fa8d13243896e6af7cf9fdffaec97723f30e7df8a496b4774f06485d2c0a50e5174bfb7c850da9e3c491aaa5d12053d3414f6bae39eded77577dac1568c757b84e502842c9edd353cf2714b89233bcf9fa2e12adfd20edafd43ef3f73514339cad5ac7045e656530ce209ea275c4edf3d2d7c477f0e5c751354381a35d624ced17d7e7989902c0c0a5a4eee47c02bc5e62d6bc594501066112f1c5d07b732e4cdd784b69962ecfba76da5d56cd8381ad155556641c85dc61779ea33052fb3a1b260a97243a7f93db64d25df477cb312cadd6f60625c4e04c9614ee727935ca66a09ad158b894f1d83c01ab993dcb78d94fcaebf273c7a3839862b191dc25ec5aca44733720dc1f09311dc1e2365886fc4e14a647e5cf572e354a4b6a397ee365b9efecaf0dff03550c46a82999a833e437eef3d81339ddd80e4a8bee29f8db90e7a9a5e4ec83203faacd96672c7320c00db021bf43beb7de50a7f20d4db520c8588bc125b1becce9ddd2306876df3e788ae81b0a74d8cfef71d866394f0a96363d498134b580f10b5eb78ca0d7d5d45e7b17744abff8a49c8c0df8a8d9373ec799fbd35c387dfb48d716aa1df6fcf6a275acd9e838dfafe7df254eb3be98be6c1a4a70a1889a6bf0caedef47e417900347f51b78623a8ac5bfb7e177a63d5741647f6fc188fd7ed6ac79dc3080b0f2c3841e9afe70c17d496923e294ae633f1ec0ae6e3c5a3b0479ce8e8b5b611728c8e9239fecb53c5f669d56439718ff29f6c29e59c840a838392f9e62a51103ffef35a4485a6a3d9dd4ec866596303016caf268c8860cbd51c5357320c76e4878b315ac2282826835a1cf03a7fd147a77f856feb8440494dcd6e439f7ef3dac1d7d6753fa3b29c6d4d76dd1e1a263f75149c47c2d6080f8f60fee7858eccb1f899b8ba47d88b026d22a34a11bc247af4a5bed19e308c16e0d8dc148a32482b04cc565a27c5a4c8d1584fa3dd9f9fbda77e9eee10a5ff790d821c2ebfdd3dda97f04fc3f59806a327c5cf0ba6c006622a26afe625738a2cbda94212e6e9cd3531117928efbfe42556e8080887db25b06049f2ac593ba8f85cd6c9739e2833cc6b7089312b7838bdb8e9dbf622a8025f0e642f5b1c5c3feabea0d27249e75833ee9f53b3b39e3c66a06eb56cbe839dc99af5513d51d36c2866a34401c1167f80a3aeb83d001a1c3f5a76c99887874052cd7f2c49ed2b10a1adbbb69ca6ec5f89afde4f73fcafc3dfb4c8235d6ff9131a5b4ca71a7331d49df272de491824209cd07575091568200874171dbc0fb845d5ab58828957cdd3dc485df61b0265d4fd2164a519c6900ecd880949d8e263cea7ee18559f43a088304f38a984f40dfeefdeae9020f7de52a33ba8f825d31227ba06f81d8e6d281c8cff4809d7d344d4d4d1c11e62847e534e3a66207d17e1b50f1420add82cf0ddec633be3e55cfbed8cca7c1563aadd2d9dc8457d8faa4873d5238c5f8f4d325d6830a7d0d91c7e2f91eb2e6f4139f5bbf547f87ff308ef283092630ff10a2023cedab5422d1366cde67d861175cea599cb31880c1590171097234c2d0779b0bce4f038b38b27660d5cf74a6cc0bc736ae4e86b4609ee05351be909253b5b0ffdc7cbddf6f37a3900688c730d08af6f9fb9b1374bb361cb85aa8db734d98066d306a4b334641b8f76f746591baa723395a40a677d88e17d08d54377dfcb04c20ce8bbc57bee1c0490db550c692586954788ea27c2829df587d97111831604b35d99585f0adb7dbad9d1d4d199892e801e57705372b82833d0de779f8ff0f8c4fcbafef66f972a5ee0c9fd5e575d9e645e0c5f781af4b73a9a7e44b1037c4586a216f7c595f2d2d635cac6a9b1a5b6a0962c1636dd4969dd863f8ac9f827e28d7734ac0a0470f91b62a56a6c22fca327aa130956e2659a597c6c6339ea09742a940fe0c3ee7bb4e55ee7f38d16aed893be4871780b2eb94a76b43b607c57e2958cee58d22b3ba8aff04b50cfd831d36cc597336023e21e31a9d7e50e444beedb908af17cdf96d38e323b2bdb54953e93ea11e1b1397f7b600cfa268b469678b1d512df7873a27d06d80e8202e4f3c4e9dfc8041ec779fa2bc7ae19bf9741dda80ac37fd8f5e5c280fe05b3b64768c5da75b3bab41c611bfa052fa98b9f8aa5577c69a454defe6283d54b906048a0f07066342d0c9ac044a1852037023b87b18d160fad63b5635dcc5325bb70c17c555d79b87cd562f5490ca52ec9c946633c9ab466410716d9c8649b274dd98099e3114a4536487732f7d5806afdce736863a5d3c39cf0d066bae3216a5a9efe16a0934430c03d81e1696af0f777803cef04ef3597778d706aa0bace1af8edd9a4b6f1e09afd8be16398a1d3b0a1de390a14cf120e6626312ffad31746f05bb460707f121ac8828fd6fe28432c2ed0cb3d286992176f4ba77f35025b7a7d51e9b628668b88dfb5a7f72710329828ad4fa6ebf8a735c1f153963681fece778e8f7026c45d78ce9bf712b6f1a3188fcefc7d7287b172119e4f5b22882f8da36f80b0319aa9d82ead0c7e2895b24e700fc51b1693a26be2e721a2d0cdb2de53a189ca3ffb3fb9bc200c65c77678c3aae57e48f0601a3f4b945f17304b85599ac0253c349ca08d78a1dc30f0a7d642ed05a486ef8263a54af2e920efcab47680eb025b8f8c11ba7b26e8823b76146ac3e671d9b0262ded5cd56843309c6c4b97dfeb2a3ba43174067dcc4ee723a8ee4debec92084b792528fd511566e3206c54c4c5bea306300b3c734554fb689a7aff70b97ebb53ba66da0b238593276c8a2207a34ca30f768d6925b0fad703c5ae8bdf0f12e128e99cf1ab90cc56630de24db0ddc25e865487907cfb19529c444e8ac39916aee057171df0ea69d17ea387ae522a0f64c7c233f6f8f908bc12e7329710c7dadaeb6bff770cfb3c6abfa90c6f34402c1a92d65cf6e9717dbc448e73a55de46b6feee9896696376fc242c18d9621cd82202a9c72a6f60bc9d74827a793f47bca844285db0db3bf07481516a2cdc67eeec959901516a3a6353fb99c0624b805ee84609b9c18abc492d75f6a2901e78d0230102ea798f3bf9757277450dce76fc2f0f4d1b0924e9869ccf2d70f6c141c1816d2bd5071f1cb50d8768560b206019261aedfb291af8da69a3a8f7cf9f590b002427d7ec3070c80bc4979debd00916090a82a0712f058e24829ac1e5d1496ff25eb7fa32c8672b9c7801c82f65895075682b8a4faf7dd188bb1f447bf3016ebcdeaa24e30db1c27aa43cfe0395c9282497be37c605b0b6f17cf9a0637f3970d4d3e779867fdec46251d539dc0ac96c59ad22fa8e985a4176357c597840edade55153581e951c6f574c7a26ec12b229b288ec8f311c49cef3a47d55569d2d0452ef5b92de43e15741c26413a05e8904da7982a0a7e0a994db83daa04e17971e4b1cabe4d247a01895c9ba03a85b100e0f0b40e9bbfd87daee0e4b8120ab99267c38cd9eb6e16a4a32df12c38a45b233a4eecf42b4bc152bc773598c434526ae2fac6e0277e5f96cf73559cdc68b8e96a4a003b04d5e31ead35c10658e413913cdf4fef18e6e73c20a08005cd61f1da655e67f91b7456cc020d39392cda9ffcea8daae296aeccca02a7846964f3d3d813c88ccd7be2c077014ac73f49fa539bf5a6c789c2ab21503d8278d6932b179995e3f06e49202cc6f8331a1eb58303c9e5919e918739f5dd90e352bc668cb3f154d334cdc3beb84d36e2aa8ec953150c6d88f98d1c91af941c1a531bc903e4981eba59fda88e54fbbe57c80f91ac2e0f0e96083ce9470f2e4f65201709ade2c8868fe97db10bf2e7046fdcac684c9ddb2a606cf783d0ec77c4441e122d9ac0be1e62c9a18812917877e2e3b04c13638e12e1e9f1021dd42267b6d0da8260340ce3c6e76f34218c6b7d1fe3a4c2bdbbe632128d00d8614fd3d29d6c890712ffa795b89b3d45b50e5c1c66bb8dd5027931c4dc5fbf01148a5d261a9aa9651c9267922e9a64b6f46fcca8b5dae723fc6926fa73799407fec97392848f284a429ccf29fe88a568744eb454b4f8279aa7186077ca7d332cb101431860a900d3152f7a4b77c67fc2f64b7fd7b91674a0bef48ec639eec53b26b2c20d72ab84978bc19121e74563c0124809188be0823fc3c17b5233e4f9f906e763e18ea12c9759df4f5bdccabeef9e87932288299f471da9bbb22dddbcbb16e40d912eda16e4b6b8837262d560fde17ea894f20615c670854a99b535665bd52f2b4cc73c38ffce80c9b95226eecb1d804c4774bc79cdfd7c618833994fccf3f05650796f8a00edcd6dbc11685c7c5a063114ea7f4e9632373ff37727e72ccb56c1a046aec8eece724f273c0cd1274ef0ae921f8545385f0e659c402612efff879d988f9ddbe5fb9a8cb2427ec6eaaeec7a0d4491333abb82c013336233c0aef1d932083ab9c8ea900a9ca8adf5708ae6cea22e3fa769dbc76a0dc4f3942dc4d1ad83229c86dc08964a92bf197ad030a69fb19d68b07e9cbdc44b9497fa98140a46e3c465ae1e7739faf2243eb37ee191d236007ee86bdb23b987765842d45c74cb5f9f269ec6b023ef698f695b3a65a117cba4e43543f671284db1af9410a18957e86f7dd76fae89dc8ba79407566055516eca152cf756a438db8a2d72b7f3b6c4e831ff5f15bd7dc82b320197dbffdb1bd69a1806269c4eb99f5c3827eda40f709546b2bdd61a4bce273c660fbb5a284693b2b27614b1874542be5404fcb004b97b65061918ed09eea666994b198bbcdf960584cc3ab6df05db09d025a3553cda6d877994ba3f174e4c104803a9564a9b965dc1044ad172e4316f90400cbef5adbf398494d1c70e23b3cd8e74dcdfcb023818cce677169774cd245807318dfc78c2093522286de1ccc0a343ff828d9d7f9e2f76a612467627857fc59480d3761f097bb38209bda2fa8fe0ff878325c058c75a4e46dd12adf9e30b5e13c89da19c41da78b6e6c962e2e9eeaefc0697aa776d3fb5d368d5936d5ee80ec10bf7718ebe1db0e86f3c80e43bd2933eb186fd26054458d5cf6a88a20ba4a7e48e94b05b31fa7af0424af4266ba38af345c9fc6b18b5bbb26e7ad110a476678aa27e8dadd2bb823f6109dcd868aaeacf269b9d9e46a2347b1249dda25706f8bdea23b23c327f5928665aa5e348f7a8fb90554560685d1904dc6f777125dfb7a478a3b7d1b9545cbda7de285cb3eb8b626772c76e562d43a810a151392111a81d10dfb73b275fdd53eb8bbb9ca7bd510dd03b8eaa4d19cccfb9918f875c349cf03228f292440e1d0e438c7ff1b93d331f63955de8eaf756bac688de48e6c761a7306492bd88297a9a5e6c9437e2ebc4c830bbce024829f79e7e03b22e6db049039a5970f8fd29efa0de66bc44b957f1f12470f6c2e491e73a751e12cd6ce1276e0e52071d70d70acc2e1a6ec5f857df42408b783a43b72cb1939b395e51ed5cc60948fe80ef96f7aca0b6ef4428fd0bef27ec597f8aadaec015bea24574f294a92b4698ddd3c0cf81668933f6a33675b00c19979a9b1a60925544347fbb03a456cea11e7ad45a99ff257ef8146df81cdf6bc70a825202fadf88acf7a5518937a25f51befb6393e7c03eb7705ec1ad4cda5616a55c7d304b49544a90785437a59e07af7aba4a508892517649b6e7bf7224eac4ddba0aae6058ab89ac028f3ab3a7f215c098be9ff1e2d3aa47fe38918d373033c971d919feba168665ee63752dca6b0450f746101b658cca56a979c690b9575b351e165ac633af79edcd95c73b48f45de2690a2412f30405d8d5a5186e8b43299474c5b7a2b96415efca40ddb1564832f22075382ef416e223856a760e22a25894e355248a2ea369270a6f7193fee38cafe6f19d0c26a10bc1d610d71d1f5f002613d141e79dd779abe86d2f0cbe117a8a4e5c4eb7b28e86702149496910418bc1c20487d647f0df59d8516c1285195378f6e4b76b071e0677416ba260514d0b064019b78abd8fa8c08b438f5ddc8d757be2e2769306af301103ea486804888c6792ddf3495fe52a33324b3eaf905cef0c92da746d8436eb37132124eef187753bdef56f3e1d0559615c5e3b85fa8f6ae532903ba020e38a50a0ba286719d85b568207ffc43c28f4c59a6a59641517696e88a884408de2cb744fec87309d1e9954767297d5008b44758c37ab59250b9caa70bc66f4d20481de5fdd060adbc76c9c733301376668f618245da86c15713b85c6e544a8e5584c2ef72ec307a8514a1d57c5b1ce4d2e1f914c1fd9d8af460fc66500d2701c0478f700ffba2c49a24f42f35145b0f4548238ddc41a04e7ffa5a09c4d1dfe7fb5f21a1da95b5976539ba5f8bb49bafbe9a5b940ced3c37034e1a9c60f3fb4a672aee315827830e305bfe45bc48bcc488de7402771c08c1c0962296b6462cb681699ebabd09fd6cc85d69a859d399fa83e133fea719b88b2d783a518e7ca54fdb44682c73f1e7c46690e5b187f389491b0537d5141074f7b88988017b9dd2bc6245916f70a9f42abaf728ae445cfde92cc234e6b94bd44c1c2dc4dec97112edb87e17c1e57ed8eb432dcb3a940a2786d6ad2453da23e12ee218a7c11836f313d9c8da576a8050c59dab11d128821a9cc841a3a32cd8486e44376ef0073e7de540f84a98f378a2155821604a54fc99c3037173f224db8bbea1e9899c2e768a77a90c95387fcd11724de48574505ec04ba4ee7f4c9dd569a1315548904787e4dc36763bf3ea93b804e3ddaea6fd4596e625bd5e6c0daeb4e30e5dff513f3246047cd0f99e56831755503b5784fed6f1a5e56153e1b40f6bcd5c312f4d1a21d76e9370d1765afa965d67c29cfca0c45a9c637b3cece2320f932290ce29456d42e6fecea4e734a8c675434ba2445394ae74c6750019b83f644a4238be43c1366d778561f28e0ca320957ca98a562ef187f10fcc1ef71cef0ab817c515d594e44fdf258fa4b8dfe204dc54bf125518a0bd0679cc169247fb5bd193ddb5d4ad84cae4bc06910cfc345d1746a00c8dd6063f642c9fc21828d4d36d6512e23b43764f3d2bda61ad715388f307f77575f801aee286bafc8c56446e517edd5efbd7015d96323eb21c7dac051d2bb4e426387c70ef1075b6c5d08ddfb77fdb0b2608024cabe8a0693c6ee4dd03caf0e6f98220f3a48d8c27085ec1ed98f6e43fae743f778e3ee9099ecc82128de8a87e4eb58bc002c0d0e66f0802a339ca062163b808caf756283dcaee9d9f111bc02c11f1f481265277564a636fd8082290b18cca490fb44da7232f35ef47c9148cc17dd3e8ec8ab45df68a2a3ae2351a8d8284ea735a51541983998938c9a849995a1b14e6982519f6a5f99cd8e8b219104374e80e85ed4e1da57fa3dd011e323c108bf7c7d5bd6954d461e972bdf34647ecb47ec83b9f0ecb3319ffadf998981a907ce2b55892a623c7729941d581ba5df306ed940602f07433b60784ef4f50ff3e46177e563f3d84b503eab6300dbc510374d31bf34621da399ef342b3a1ca2d0bc5e0dd0869839b634c1be0c19f5772920737e73418662640af4ed616c6143dc0c417eb6bc0d59b6a2054b15f3d27122f6d943490aa41bf31008b8fbb0c16a7895cfb349b8b39cfcbd59a5d2c9fea822bafb29ea009bdc42171ba4355a100a821f6c8bfdcd375897796f9f0011f268c38ebb0668b3dc0227d118e0a46f1ab04d62a50d8e96d6db253b90035febf2cada09f1558dec5767f5671ad66a5431685834d638e5175c74891f8143723df6483f16546d2c0100d97865261725f6af39d315288505d8e41eda3bf9104fc72d9ed9405f8fd428fe9198f94d034f3e4b69a464ca5f2a32a8a96aa66369e03372793afd807e6f9c5baf4e1a930466b69bc3ebdc0b5d9b3ae86092fee3754f784dd157911c3534135b6abe48ef37e6313153b882c7b531259ee41f511b48a86706f9c08f8244bee1438202c08fa03afec01e07f31bc1998c7070da8f4ac05f6c4adfd899a5fef79598f38ba328723ce426f60191cb8a5bf56bb2450b863761a669a15db9a6ea417fd12ddab9d50723531c76f9644c452f4b0342f06b32b8fc82b43134b86b76f80210361f63ced129fdd3dc91fbd915f7c33258ebad464295d75b5b7eda06d88e862f3377cf8cf8139499e42d5110c03826b59b80bcfda95ec1938dbb5b150758ce31fc866976490e1f8a7183776e3e6341132271131789144a848b7758b41e6ba6fe38ad493afa0c445d091824c60598e274ebf628ce59e40cf2c77052e2a6507fb6ca8385f81e688a49b72aa5cdbaf584e7e6334ef17725fc35638abd4fade801336352a7fae853ae1e820e65070fda788fa97bedf355c20a736727191a92d733f7fda1aaf10122290ae91f5211d2f998b7e170bb424a165087c17a38c91ba9188ac49ef20a3f0947c188932f86b82bafa68ac34b85e2dd770ffd65be8fcc8a7d4d8936ef39acf7fb89cb97aeb4126d9d9b0160d22244b6288938fd6327f70b3357bac6eb961dd050a8290bf4bf2e225cc29fb791f5dbc68934050c4c0dcf9ca4699b290fdd5d5c9bd780c63ef0b1c7709665a59712eda4b25efc4d0ec56fe8a8743eb407a2130c742fe1e7b058e026cbe5bb54f9853c183c2a149d4d2e89b1023cc93531f261a6bb8ed2478ccb9c5973e1f247d7e60c3870d8fc8dd27ab1a2ea17627b522bc267cef9683d9f3fe4e2886afc5da937e2fdf8564fe2925aacfa0d74874e928aaefc5089acc1b6a1dfed49672f84d61b037d9c2110e5f723a5d7afe770d96f13067068702c1fb74f9ad3b1cbfd3d46436e8ab949cc47e514304efdcff4a9c696fac6b4b3a353c247ee4bad02985dc6f77b0938b0ba27a5fcbbd8fa2e1df725cf9952abdf88d80d43dc0137b215d50c1091849def8e9c31fcd0cef172b2dc36273ff6ea13fb16e7fe27533241173bd01f512e82428fbd505d8c3f848f66c69a1fd7a1b8e7a42b75d8cbf293279af23c04da10ca2743ba6644b6e0f2f93d9c4eaa1d11d9a54fe01aaea33a61fec26e345d34614f606b67eeca65f4a14a405677138c3290ba5651a360d7a21605b3fa3701e04d7d65856828d0fa1662721139ca3052c7b8cbcfc3e8f3791e3e4d7f52ad8e7c95cb13c9d094d7641f12b6ffd6b63f0cca90adbcf0d68e9ae25c630273142103bfa025784ddfcdcd8f3357798c07d7f3d51dbc74ce2949f9a4c9dfb09f5222b253378b4ffe1e2fac8c2c1b63e3ccf01a7f7bc83dce72f925a9e1a1722d72fb8db8e4bb44f0a06c854986942e31e1ec0e5a3df90f83bb7b191724b14069583f1205cc6005d9896de855b13a63dced2a0492465b5a439852d157853eba0fbdd4057d01c9e1b1b348bff00cd39e05832592e1c7bfa44dd22ca08fbec50895f176f9586905dadfcf09f451e0d155e2517438c89ad644c58ebc16348e4497cf8cd0b909e3eda7dd98e95bdcf27965a175c6464e65a92ccdeed540c251fb6c2aa28fcf1a7d0402b6162c87f642499a3953fd22c31c9d807a8742871b3cea6b756ba7ca59890d0138d88ca1a164ac5d14085872f21bfb5aaf11864911cbf7440d6e71c5f26a22d6a044600336c54b27ccb530349fa8f1a6f78833ad26cdbe1d2416c784cc79120642ea2ea38938c5599f400f09f05555a94d13e28686f7705be589cda6d62684f8fdf9b5d811bc319360c2021178b164a87b07513c0ccf6e29a60150cd2713a3d04ea5c4e48af84b67c3f744aab1c52622181ea20c6d027e76c97dc1256b6bce7cdff8b409c31a4eefc60977d9ec55c62104cc6c04d1798aa781f611062907959f5ed6edaf2741b18c8cb366fd3ac51ead7ff3339c14ba9abc06a76c3bfafe41a799ee7b5a023cd48be91db74b2dcd9632f32a266cc5d3b678866f77239204e1d56745f8ecbdc9afe7113ce7f6c76abfe7bd6714f11bb6acf233fed539fe9b4cd3fd90f1b181716eac91b58db4bb45a8cf30de6c0c1835f4e4bf48905bed29a9f87ff84756536ab13fcb5dffcbe26a95047aa69c3ee8d927dd8671e635450a7614384734716ec1cbfadcc2c6ac78cdcbb6500b39eb5328e3a560fdd768d347458a98d6b8d2e65fa374ef2370691a4da5bb71cc1093c5fd21aafa9294523cc00c45e94ba71bddbf9f8b1061e6ea32dceec372fae7b1e81053e3c6697332a110f4f66b30b4005727d3c2b3c1245753f2a13d521853cf2ac20c3a3ffb05c2df18a06ec2f0913d14083e240ed6fb9cea496c433daf97e1b64c56192db65efcbff211fe1c9917b94bcb48c77e8be9ce68c25ae4cf3850e8b272522c2cb7d6a9e13444ff7c8dbf24434f178e2c2a8827450697dcccdd48b0534af6ad8063da0e945b5d33fb6068e1f4891f9a9c222fc722d2abe8e7461448e680bfb5c460a00714b382c4467706da4dc6977038c3d4fc902c90b457835b1bd2b21e5aa0a6de010229fedac9f4f32411862817600c36af02d0e94ff410b330d5b5e321d9e426b7f89ac31b1b013f092f6e9f11a03a9339e01cb5b9234709e496644a14acd05cf05031b7d909cef307ed260f36118868a2d55263e532f617c004f60603bc5b9eab1e0e6b2356ae13655d93d51cccd0d10348a107265c8f06f94c2935fe10bde69ee6cec3a759d27ae6cdf79b4c10e7b6e8fba909378da01e80ed5eb212c3e812977018adb7f1af3648ee0c0dcc0366783b450c0ce15097850f430a10c724c6461147b2cfc04181e5e50d159a8409603803538b296496b2377e02035d2d8df50e214d67dd6e80f701d97fdffaa8879b9da611499a82306e9a358c5726ee0547b0f76c7c4c4b7bac456866979686a7e105a473a5c6ad3d6bae8bbab468cfcb1adee31c61aa0745a744e7e30b3bcef0611898d15146c65d86c2087bfad0f35f6d3ed89b3ab2cd0eca43a8cf78f6f9c3451fe06961dc6b0a9e3f9977a1d3ccdb6e98ba08f9bf6a44dc113598f914b04c976b50225972ca4ed1de507af3a747d27c2f4f3d94a66ccdbef95f9cffb17dd4d39ea2a97545b2e32a6168f5516e6fe84beec5f48bf35283ee54292c8e3dff02f4f53cae822c2ec5d8309f8b180ea086f742ad5897e3cccfd328815001591d20ee686c3d99cf7cd2a017aa3e2efd84259ff586c780ec692443fbeeece1a89244e1427ade812cd4a333e7dbd43a929a54250707122e663ffe317d87d5c71f727b03cd711dcf8afb6f2501ae0307be2ceb01c738faa5b8a43bb2279ce512cd49592145add74fb026b616a69da636b8d51161131b178ce71a35c132a73f48538a97d427d99ad9f0865c4756262dc0385291a990bc973af11725f7cf795f8c890f177f0b548aaf90c90134002e688298a38ed1c623ed5333f120ebad323e01a1a8c042c436c2b322a5a1f282a00f5d4044a7a315cec8b549854d7171307ceba522d1b2fee63767ee249efdd25e5b9e641ad8ae5ef25c2c1976318e9ca9773e63320e136d09c4476c6768a8d4b7d6a4805e863417a0bc0ee742b1fa526077e089c364bd02981893cd0513224b9725e0932096a5df057a4b4d21e2260deae0b79d353db4864ad95d025a92ac862c3677b490de945fd202a3e1358079c743da1284a66460a515585237ea62fe492ecb97e61afd1a710e48eaa8e0277fdab91abceb0917f775870a419007fbd21258c3efca98166e9868c29de1abd63c922c76693f9f085f6b3e6be15219c994b1104ca06e89aa0f4bafbe74b0322b2fc57735257d260a3a36762c587639ca2e84510e6d61b01ba612d921b6d844c0aedc437c293de034208cd824b0cca02f62062fcef66cf57e953857c12af41b80ff840d8efd8417b2fbaa5f3d18e662be0fdc6beb0ebb0af62674721aa6f5b588fbfec21240a416252b8bb1439050a78d664c23ccd5e812137cb205f2f7e184096e0b61f228a80458356101c954d2d0374854c1ef2cb45ba1f94b62b0a5e9ef1d2bced5afd1ed321e3001eeb36b9ee05f01ae1956f343687a15b0e66bc5afa7374cf5394933a5ac3f65e556ae57b4e3c060fc6c7817504d19ed87622ac9f9fa41584ec0e44b4027788b5282f2b907cfa36ce4a2b1c34183dc880164d5bf2d04c2200bc5a0610d3395373073d58c777841be554bd272baf3296ce5392c0eba9d4ff1e5b6de171491b87a3681be427466c5c5b2c47f53357f7edb4966aacb0272d56b72980cecd590f46a30e2e67ce0630bcfbd525c683654dfd8ff36ad5256c018293f99056037bfe6dadb462c68679f4a32c726d68a5f9efd47a6c5a54b20641e636035422f71cb5a19230692d7e10eab57974b09c36366503bea170e28bef482fd83cf116c5eefdf057d22d1136935f7bc5799b1cff64a70ba147a69eaf2a195ab731ffc2afe7eb210dbad0e65082c4c377af6e039bcc42594e773113548f9356e54434aa29e7a3908ada689e95c8a3acb1095c272ff5136bca16fb04e01042588e59e1d632acf176ca5b5d61d1066b86cf63fbfc4b91aa99ef802b2d5af44dfe31850658d8a5cb3610e3ca3c69e947526abf8b8fb426ece362aac28afc6d46db17336c06c629b66ff180312bfc274dadfe7a1f536a0ab8ec54d8e269f21c05795370caeb5ca0f1474d6f488c187767c960621ea4396529a0b38f981190a3dc49b413f6efd7aff374616a0dfa93605856a9f90183e405e17588b83c7b7ef2ba04f0852307f4801e2908a8619ae5c05bd56d74897a3f42267e1f3a57422f36a4c6de3e24633cf44058abc5d919964dcd97ad1b63cfbc6717e63a10a5f1d3158380285dc7660fbbd5b428e73e1b74a4c92d0231b24c04ff4912d6b4bca9847885618b7f061437b357009dea18b45660b5ec2a29f42cdf72687eb388d954622f8992318881ada0eda96bd6ab2af45b9601af289ab216a38e3499b5cd672594e716e5fddec274603bc0d40b0a17c4e01eb1c6f14fe8ca7ae8cf744c2d8d424f7b385bf840d6a3a77d0086b5c76d9b48f3d627755ac578534df5bca7a11e38d74c2c35b98c92aed02a7c41341645964b50acf499155830475c17108b568758f205893af58303d34c6856c61b626fa29d2de0c4fce37a4840faf66743ca65c4194fbb7c2017abf79b8cbe3cf6a2d2ccb6fcbc423ccc4a702fa6a9f177d484c972679ad9aa60d3e97f9c3cfae29c5a58554488bab69b3cf33afc87dde711704e3080af75fe395f20898bae870da304fcacf70df85b60ab9358062aeb1c7e3ce8a2fe7c8782e506021ff912fed026e63bad088a9916e095f29b32f05069e93a48a5ed61b2a92d72427281ea712d11dff0901e77dfc9d3511d3bbad45be0bf46078f1df130d24801561a65e29d7f2e5f86ae2caab9d9c87a3070f5ce2a64536e18211f7e7752b71989a9edd0c92c4dbd30cad3fd88766ae35ee9c7317a010298005e615b67820077fdafd75ae44dcec5d64e70a56477f0bb2d8d1efc0bf7d0e59a34368e1408c8a4af305d818cd98b7869a11ca6cba0e49abe07a8117bf2a8b05ffaafe6c93846b74b1a3ae64e347f2d4a4622d063516281656e223b2857225c475f5229d23d651feddff2809a77b6c6ebc930c6a1606d7b87818c4b295074b25acf30270ad0158b1da1780ade162d86868827e3109267cbc6b28810c0e65a3baddb21e6927ed90cabf1436869ff11db4a3546f1944307e19dcafb8fa5241d2bcadd75544b466147fc416789f35dc2a367a1c44d09af7721daf276bb5324fcc4aa4cc19e58d7fe5889598b44a57384807151de75c67bb1d01232c283cb6c86e16b835bab50e5d362bedb25abe127492256b1c891f39da39f3db35924854f37a76e6b7a3c6e92f16d28b32ecdade2aa70c6009ea1c82bd775819affe4d0f65a928b8d28a4e1dd5f2e9d93bc1e8b0144afdeeb0a90ddc1ec1dc23a6d54c85ee524df480e5c6a1fd7c7ce87931fbcd2b9b3ee2b8e3b2388df9337356ea4fbd1ade9130abb564d95a3cb53c08641aa45cb3d425f5b0f9a1447613a7f282d9a2522b7eed3a2f1c0acfea4e675a05a6137f3db3c378db41b6770154d37a3b8623b637ff974016c0b1f38b75e08e42c7ce23e54abe8f5bf7e82c846f8755ff3abfd553d560e5df573b17c4d7a96850be4080a595e9bfb5e45e2d9f6b8fbe9a4653807d795ee3b7c04fe7a057cc810256b5ef805e7ce6295c7ac1f47d698518d871d9ef6ecd64687dba71a2079592ec9704ba5b93dd95a096417f8fa97a5a94efe46dd9a1fe70d1a59e5fe161d9aca22524770a35ada58dd9701a03405c8ad8390b4ef87fb70c41c32fa6895b0197996f35665afec3c1585c5a4ffc93a56a45e0be1208ac98dd21156f73cc11b630a9df63f50a9719295b24f81c37507876614d439421d46f63853796ce476438b3cb2a433a466837906c8d75eccf4c31f2b304affe2d6fc931e999cedd1007ec5945aca7eef0e9dfccb61ee3225286ab0a9d855bb4cb6a8e8cfe7dab71ff8348e3f98093401877bee1197315146f5fd155fe9ddfa2df33d7d692cad75212c803281ad43d9a0cdcd29ea0be2dbfbf661009ca592908a9d26feb029925c21424a2bec8d0f44da3477acc0bd1ec6297cd8fcd43e329cdaaf4b114e6a399b56df4f556c88b1ff6635a0fdb86f222cdcf24334b60d209e6bc8cd7ed496e30fbe7f0e173c50721d3834956fcfe9f2965f5996868093bafed8d9a0eda3a0d2d640e7502bf5ec445b0cde1f06a866222ef165ea63972c6a61c54da5ab1ccb2b4fb4b7ef8867b46d20442055747ef63b684766fa72fd8c81e1340a18cbeeeaaab56b337780569a4b4a9ec8695f59168a8fd50915ba51536cb9d6d4b24fda7ebf81baaea9332dd0a17777a2f639c72c685e72fd9eeea76434bbdf0e91cb4a6c5e031e9f603dc9c2c70898a4ac1252cb22353f12bcb10c7cbe38828dcd797c2e5edea91ba6f518eca5d93cd10c6e14dad67142a1eb52d277da5aa8fa27e550c5d889ba345d9e51478ddaa8bb96e4d676ab5ef0ae62f6e1358c531d9827c5bc85cdc840f7208cb4047c030249a4d6197f686a918bd1b85b85bead1b8e069a28153645c6c5bfa26b1999efc4ac6a5c8d33264d1c79a92256f7efff5cbdbcfdc709d857bdea78cdfc939e58ba4b68aa9357bad3f8905f156013e05c6275984159c0681357243680fda4ecd241957e3b39808a8fce4df01aa4c5f8b297fed984db81f49873e4857c913bbb1a605c34667f4ddb49494ab13c5f0676e2ad61458ecbb69fccf2d89d75addecca7c9263ea39052da39ca296dd9a1314af2053b844ce9d2d1b076647f39971f2bd1bab62dcd2554f686e87abf1ee77cd100dcf230166a7ba128952ffae2f3a6c5d23b605e60774d81038e72b96efb12affe6338e4aae3f163a20d3ae06b0f880b9577a68cd062380f4f156bfdaa593af7da4188abf3895df646cbadde77070d78525fc8801432ca51fa548fb271803177fcc7e26481fa3d34d29b68084d5e8e2cb30b400f7908c3f280db1e08d0a0ad89a2eca4d9544c6fc43e2c85661d6536ee08980dbd060cfa3dc7d9b3c09e667f1873acbe453f84138e8859959ababb53b06c7174c59cb498bba24f81dd57bab3facfc36f897c314ee20231adab5e97a6c6093443c8de0cc79556631be7687ebc9417ff06827bee80c2518c1acd61a20be9aa33f2f6853ed4f626e8170c1efee91eb33f7bb11e830605c4c4c88a625e62b2a2716e1d78c9fc1549d6bdea06f02d0f3092e9b2ac267a7fddc680a332323dc124f1b68e43d5c0899424c1c619ff807def2c062d3a78e78f743cc27615e74f111585e851cda9846cb88c9e4c3962d42754794b4471c4b33180ab01a0b4c8f3d63667a1ae02a5b8e1e5108d334be8f5f537c237693484a9a569816b42e994a71992150f8d223d4fbd70103a75edf86697fb574b6e4ba438db3aebf125ba8576e12472d2e6a62ab044261bc6b968ad6f848bf86ac1ad49f2646190634f8013e8306f840a12f40e8ebe5e0a29443aee1714e1062afb606a4daf3509904a3d2ea3de0e84784b55beceaba8c19eaa4bd06d8a279e868b4b2728b9ce379774848095683f9b64ae52f40c2ee6930e1d2822a74a476f688329c516ea9a69b94dffaf459b959c2167757fe4094e5739bb2aaf2ea88e7f55c5ea4072489e6019a84a52ede1d9e27e8c2c2c850e0306d7722ea5f39a8f035aa22efe1e43537bfd4c3d54c11d468febc841bc47e21c5aa33510b38ad73e729a8d595db0b1cc8a787a9a7583ce0616d60b5f4a42eaf2d725ef18586a59185659cd8f14f641ceefb99127553fb163959fa0e4e5664a7aca782a647662fba1f321aec4428def88b14632b2ec611bad5e54f6107f19cef11b5015795321878ec72be8f348c734d6fb278d39884b507d4a26b389c568ea22b9d4e64cb69bb3f911c075c236c84faa1c22937c8589799cc934132fc4aeaff5fd500a0b6ebe17cc7d2772c46ad31c8e7f2e01c3a68367dd2ff6fb9677b909dd0f2aa47241358d62499446665ea0dfa2e5b96d7a039fbeef742be3f26c15e85137c17477a30f255035dce68bb73986abd519ea1ce79e7cd868aa47c024240f278bb40bfa711db39ffe3b36674119b01ac9a163f9ecd7c6fd6313c6001135231a3582b6ebc524f0c45360016076ec9006764f90ceed6b29c19e824cebbdb9cffb701d5db0b80862aa1c58de22250c6acd88e5d2c62ae289e7317d568a28526966c888082ded89003324b64119089bbc49cb44649ff9d699af9842c6dc3c0551a2105e665a3bcc512f5a19dc1b8bd438b5887b3fa630e85a3f47182d5e14f3a72d73c027ac48045f97b0b4a64a0117789523dc1e65a8944af4c2abeaceeadc204c8dba4d01e0a923ade26bb914263e658ea464c95ebdefa7d9a98c1e25e23a541ad6e5ac0597accfabf392d0ee82ef06437e2c6e084272368b499b9db2d1b3c6adfeb56602377de842e1c8a7339a0318c075acdd245fecc5974cf5ba3824a1a42afff315dee71796f34498c25d1a60f295b76d288a3e18860261b52fe1edd149cd0ee45e26dda9ca9f9af4ed0e061c1b1045eb3061dd01a95b1f6c3bbb6ea4aa89b0b1736a63a14fc066f0250f560b89c79ed0548e4903e5c3b71a7527e09e275f2154457045debb6ae322a1e74142f62c9d8cf52c5ecbd3cabfb8e19debf52a3043ea211789e39911da8eb928f0dc2a5897d8bc806219f02cc0f864149bb895a8e0d30b17f54a687323381fc245a3902a06cbdda7b6bdd0f4b76338afa3165c7cb386d3a8bc68dccb620510c352a70c918e9b7060acb31d8bbc35188d228d11dd7dc266da4b29eb188103928b7bf7da58b4b3a557c930f363893c5e7c787a21c346557c9a5e262307f105b7c3d806882fd23a71b993be2df35c11b94ae36667620c8e5c7b2b3ef7a4e4e4fbf3eca496c4fb12c0f1c6229a47d1c48c1ac66d4aae5c4e2f1ed8b857cf42ac8f7033369df235ace82ad82493e098fd0a85657252959b4e8cd404cbcc7012164312459aaf7d99366a8221ab287dddb3f03275a311428a8ae86814e4442b19a8f49d68cdef2f29792edd36cf57a30d36510786291838c7abcc7ea4fc87a7e48403b774c113b4aa50a08997e62ac23b89c93ab473570d6fb2b9aea6ce519ea381fed056c98b621297d1d1de39d42f3119aadbf3e00b11e40be2a548995725739bf99d81d57ce151b2f6ea62c286c9a9781bcfe05af72855fcf4cf4507767747a99df3a39e863f79f8811f695e76ab20e1d7fe1379c043b88ab3a355a5ac2f27028c251330ca170867bab7859d1ce00049150e69c9d3de710fed10654fafb26a2c740e1ca5888061fb812f5d4f434a586215c67b1d20a77f5d0dc8a2cc4d7c2be8801d2020560ab7c474d4940e72b8aee99b52e4fe85a8ca026fed410cebb88d7ab9232eb1e7c83b6d7edcc46249ed1b0240faf63d5be8a684497538cb4a1deb08b79ffddb2cca5764996547d6531d9bc0bdd3293d1a2582f45e751edf6257f6f2fd34f4f61d8bfa98032902b9a2431bf3e1f6261eec00ae2b4c4ede8c8a4b5cbe19426798c43035b5f052ee0c8a32c58f95a9152a2812c7df62b0ccc916718acf7e4b8a2ec9b54042598c0122bb8b03369969ec42537eaeb19c3553952004c3b2cdee0cc78f435aac4464111c8c1224856da03c68c0db9122babc1be092de7b2fe88e989d68ac7343c86c0bbd81da4ec8f32e74a800bb31c39711956aa4b272df6ac31a4aac23a48d27b1c9a2fbe795ba68b2d04b84757984759e9a95ae9794d456ef1b84d0ba20a1a1d11f4e0c971c54cfa83c9a5d2234c5c87327f7a652578b419389b57bcf0a13ac406fb576b9b83d063285c4a81a9b4dcd3ed9976cc0a72f0548398b5afab6f82dc658192dfb64b713e11dcf52b120b9fc3fa65d37e1a467581812f55db32b267b32aec0f76d1c5cdbcb490196edb641f43df5577fa0e7a689a8fdf7a0d2736321f7440af40d40948658c5a618fa120078e407d389f0419c71519604f0dfa63a8446601fe690d571af445e0c2f9c6816a6744cca7b7292d4a7f2f2c25633e82ca15289dbb9b749b70de20fa332410afa52f6cb290adb3f83c619821ea9574c53194a3f1a494b5ec471ff27822039fda9dde8ac9132db3ef9e69482d91ddb0d744dc998b8150f0df1067630d2bb6e616133f21836a88f115758b7d64475b12b79e5a4da8597265923fd65e222ed4232fdfde3a9980384735bfd0d7c80b0851e19436039d6844e1c0f83e78db4fc4ead65a9bdd16546b6d72b7cdb5edd68848c7245cdf23a231afefe53b1861849118129f7f157e0dc58b06cf2a3ecdc5c3baf20017fcdc4f0d701032c63f476884831f0c2d712031f4457de4a04ad70d1feac55bc6a7c560b4e828fafebc790b452b71710dca4331c5b321cfcff2a92fb6a66ea15dc388421661452512356b31dd8325d8479908c638dbd275f907ccdefde9896094048b4312c838c0d643c67e232789249f5a7d2171cd78102a8874d58cd0cd343fe89ac2b1d52c7b260c47b11aad66d032f1ebb02b01d6c1cfac4097cdbc4915e9fcf0ad0fb9c4063c06a8adee3f0878781d42f0d5689eecabbb031265b85026c1f9b1c8d367300dece0995d848b7dd203b73f7401e10f1ac1994f510e00f0c6765315b0a4c4b9201578b1f0c7dd3bfe6816b48b509ad69a82234f84f3bd607a4965636418458647fa2d93043e716ff65ef80d66b430eafc02cfa5182729cc66987bbb379f08efb3f830b5ef353eb16eeb636193df36321ef9e1d6f9b3d8186d5a30d386d18e360f76bbe1b15e71bef8ef8e6081d56312f0c980673cfdb931d1dc228dae47060736af0104a1779fef71e8fcb8e6baf5d74383fa76c2a97cfd1f2425395b204c7368761eb7a4ae0283c2599e7514037a0707185cc90a382e9d50bf2ca068a3d25970a6057e321d56acd3df4453279770dd7b9913ddc2102de3280b599b84c7d8f9dcf8e7795c97c47e77c2978dba7d64203fb1a9cdc5395e8fc6c8bc5cd73e7f327720e906ff4ab312e1289b734e1d754d18d0e3278b0a15646f67253f7379dd3173481fab50459f936ba59896dcd3ba13195c2f0989563335544d89cf75734d78a338c095db0cb1a52e75400afe20eab65e558e88ba044ee9c072f3b1ac0ff6340125f1bd3b0f165c898934b4948acfa4f038997ae569f42e87bd005353efeab51d692861357581b33ca88f567b65d4e5b5fe005e730b7baa86631251bb715a4893b2fc1e88670e006b59ad08cea528ab1920d48a00660f30c6de36ea5859122c5879944327102f2dec1c0524de2f0cc024134996536b92dbd72653a7dc5fce9d7d335fd440f1670e83f965590f3f3cd640013d77bd56afdc87417f8cac96d094f2f3a761d414eae9e6b272e2b9c703382ff442c904ac41e453d1fa86d50c13b2dbb4e4c00a6aefdbc61390cf702f2c404a40330ac47bd8f9b6b488053d8bac746898715fa55e5706b0f62c9b34eb4b9f3be7930cca18546811ff60ce76ba3ab3e4b84333ab26eea8c0ba471a400a6ee6bebc024df641872a29d8663edd56775e91fb751d81576722760435377b35233811cb80ac0de22fe11391fc60b7399aff7cda567fb2e6f08eb738095f3373bc813c13423a910e63a221f10d8e9271604765461c7845496e19ea063cf7e1d19e008e7d107dc13848ee7da1582d205fdb9324eb2ba95560489aa2c644302d59a8e7e8643ea27dcdd362e30812ffcee65ad8d87c99ee58f9884f2c33c1d393e1974fd02869799850838f463f30e8b2f840da292683bacb3f61ee06d24bf59feb93aef6f10225a35294659d6257c346b32fe2e379fa9f63659fb4f280e61dd772eb895c7467ad29e98ab16841f684f2bd5befc7294ea63db9666ee3db1136cc8270e8c1bdc14892b017cde9b8cb6175b0eb9ba1dddcba950f4f40be072db67cc4a14525b99263746b04e5301e81b0dc18af7f8c36766ff9493c7545ced93cc2a8ae6aa9c947c24cecd6b085cc12c777ec15b0efda686c3366d50628fa63b9957a472467738317ec50238c1851f4891c0826c605bd5b30c9c26ce6464e78460de349642455b27965f63b615452d159624e71747c020b305ff1a945543e5c02225e1703a21abb5108a18e557d3494b46bb10a74c6c83ffabb63facdb9c2d716a9c5b449e0ea59c6150f7be3f22317841a618b8509a15db79324ddf69ec8b67564f3aeb5bc862ec4196d1a31c44ea93c1764c164cc1e1997ece6371a6d1334223df4b0a0b561dc350a7ce083ed4753298cbe3dac6de60e46e2d267174746a8089d56b865d47db997c013a1b5c7dfed28e07c97df4b4c1ddca74b0a8aa7f5c27ecafb0a27d2c8efe84d3f9da126d8ea5e08f651a8e2e285ab88c2c921370bfe483ab0e1b856d9d0da6aa8d389a6bc75c44bc0839f510f68c9709416bf5b235753c4e92eb75b72aac988a3de837baee94855c8ac96a42608c42e1ed70fc58d1b90faa308750c074c0938516461b4d551ff375943d2929fa15d1821378b0b37e1513906a3c6b099d764ee9554ecc10f4ab97592db29d344fc48850554b9fe8f00ca65f009f2b51eee396e19a518b0d3c00b1d075e99590e33ec97c0e1a24d56bbfb679e39b70d4a3c5d0934e9cfb2c72bd43a066c746ec5b0bfa8b74344320722598972f24d1ba6bfdea668bf48f19b0333eeac9acdfaf51a8ca1331106dec4e1d32526716411a4f2bc9e9569e3c8a81a90c3cc7216884fd2824d8062c0e9ab7f6f7f81d6e77606ad6eb2554f351ae7620d4e6ef590d1d03483b9f243761d9441ef9837256cd6e6f371afde3988d70bd6ce9a33ca929d3b35bdafc3186e1f1d17cb0cc996b13eddcd9d7b21191ec6a409704f53e6a8fcc901154f784351f205f146b86b1ffe71272ed9a742313d03e011f78167916b575b8789b2820f98a987fce5ac01957f89b21e5d8702dd66bfbfb6e1865cf2e1f01b189af51c570047b6c36f68f5567d7441d84334b4801cd11237f5911f6633c67eb57f1b62bd753ca0f12530e3960c4a2dd7f9f3a3aa0cc945ca370e8c73298f9470201e07e00ac055c98cc7b80e0ea68738031938ca8991bf7b1c9cced891a2b1f7cf59385d47f4cedb1e96e9b8ecdc953c0c635b0a8628a3bac473a399b5e72fea3b6e7f16ce6a85cbae92287a198fd740c77de6f9755eb6e82a7abfa9fe2c2da649804cba38eee7f039ea118148cbb49563dc4cf2cff5a1426109b527554e02422cf193824444afdd0010ca79bba50d9258faa8990b120bec9c04442f2dbd4a2f7252b721ce83534c54e2451121cdb05d0888af3a866ff30e791ccc671b53ec739f3d0f0aa7e675e9842f3e23beefa8b09a0a732b9c8a8ebc022038a57dfc2d24cc9834bfde69fd6ed7e8314910ccf2e05c0cf5b5069b56b0c525e4250b2ef7d97de65544cca912c71e0c687167cc8de36d5a002bee5be62605cc80dea4b603bbeb0abd9a2afb30ff0edd466ee773b24d892ec09ce3f1acc8555ed453948a4f20afd8cd55a1c9b2d1a0a01252a11e5c9bd3e20981fafc4237fa3f914e429807e022acee1dda3a075d941598172229114e70842d22fbd6ded62a3d9be2c14178c3464595fa4f3663d63c48c89943c821f333a23201797c566f5e3384d43f0d6f5b8969cbaf2dfb0cb9fd2d76df1526645d5fae212412d70df391e058258da61772cc88adc5ece1ead3949ce4ebdb64d2c274d33d5e450b6e5d67c78799a077807c3417dc285ca6987545f510a62ba7be6f0d3afe51e4ca68899523fdd7a1e58cd2eae20108cfa8199e6199ba0323198a5296bc25c1da4d060395b1c19de24c28ac46b4d2fa54a34a82352414964b1c7220587786379c6033ce8cc66210aea320af77a0c02e0fd794cbb27f3a9235a78af63047ab4b1231999ed53b48c0b19629007bce6b000a89bacec73e31779fd867bab82c707aa30ada9a8542356cb1f66896b8040a2d0d24bda54ac4369c7eb192994ee51c76715b154ed9521eac0d2ee56cc18d944c405747504b08063fcc833ef5003e98a7ac5fc6abb55e1dba676f173400ab3c79740a0712bdeae18dc5912f3c77119f9613c8f29920caf4712414be07f07e3ca111e36a94291c97386b4bdb0fdf1b5d5a96b5d90ffa0241959d4749f5d51087128a2cd9ff4d26d2874aa0c775a0cf2feb97190c59a5f0dfcbd3905b0f73c832972fe7bbcbc42e2c64a5172871771ef27c1ff2026d6f7df3b5b1c332088ef48590a8de5ff51e55a398e31f646a66effe0c03b13e4735df151e29547416cbf05091152ed254f61292478d187f77669c820badbb985dd1d1ea9149291e1ad1d618b4ebec4a3dc5c61c659d2d4fe1f011033c072063d215502551076ff852c9edd1ac26d10b99bf09c7f50ca3749ea57b02ab22568e2378053be8fd8103ff333bf13144afdb9d09b8b36df689a0b73e8eff80b6f0d647a59bb0060c0eda45fd9e73946e228cf47d358d9bdb51c67f34e568f2e3b0033618bd364722792c1b08d9312ab762226e91797eb1cbb0aa335784a5e523bf995046ae4863a98b9351994748daf1500dbd91e53c2b2b7d4729526b4d0aba3cb895427b700797a1260c13827b2b0a76e6971aa7d6ea783710472c2ccd19c893564ceb88ae79f7c2ff8d460e6678866a0d7aab7627e7064840fbd9ff7c96e967ad3d97890a74ab5c13408ba9cc1e580eec3d189897223532ab0e4f0311b47da3a420bf1af4c6aa64009e0dbe1657d75e5b329de78e7dc75a43876423e7a34f2dba0ce0126f96d0dfdae1a78621dbc6c5250c3504ce47923d66667b130bb7149b86801e02ddc8c58cbfc204c5003a16c9c0c085d9e13eaf970141dd9918884fa7ca107c6aa7506d02134abfdf484a9a00dde7503b96cdd26001fa2d5007e4857cfab003494c23803bb36dc2e2c55ca67ff3c66d8eea5f79750b560eefd7592f57f2d3095a6eebc372d83249e7d3c7bb2fd4a61a051a0fa01a8ff3ee7d63d7df70e6636f1616ef6e23eafaa5e3a46f1850b2eff2cf9e7c1dc6ccaeddf4b1badcf23e04bdc8ad5769daa406861f8c332e8b78977c613c3b5dfd7bde2f4a965f66ecf486cd3d267ff10e2cb531cdf47e2fa746b0a6cf2b34c883088717b61d2156bc07584ea92c77a5253d9c150a8cb51fc68cddaa3e0e497b643c6e192ac6e04d785d57791af9ef035342fc3dd5e0ff482a9b80c0016c1bc3aa864fe36cbd83e159584d45bc6cecf117760b34fdccab0a3445e093b6bb366a9e6c10228b338c5c70f7eb236a7105bef8a420bb405892c76a36f16d42788e27f3c0bafb70d47e109773c255f3998338b7b8faca3f704e5c1e13dd0e3c9e5ade62d69bcf3c6b3ca3f5e7aea852928f1c667bb1deb420c4acaab18905423b61e72040034d60d5c6ee555019c5d0248365a3718319ed8b35923b25629d07e50ef6e7438efe9708840ee6931957e4a07e2b14e1bcb0c6f66fbe08f818778ac2008c478375c80b8b6ec7d11bbe73397d65b983ecf8ee53517c30fd5c3ab15d6a47fd0fc182b7c26bc60a85f7be608efc9b2ded129d897d543d05c2d54ab22be431eefd5f37b799b18141f3c9dcb3f7c2e4bce8e35fb19fa6e2d500135bf2303e19b6ced22ebbe65ed881c9601040452e9523ce4d4614bc3f9b0e162f9ad446395b70431be406f3cc0370e1f44f2e448e8513d19886787f94a013ee760d9cf62d42e65cd0fed3c7c1470f1df695ee0b2cc8dc9604c33fc8a9fb2a8341cad8799efa5ae2d70f8784c675395795bf0950a6226a5070c2926d972007ec632b695f0fb09dd240be048837de0bd55608d417db1e9aa8d40c58dee08805226f54299932e2a14bab8a28dc870e3140f17f170e663aa9d79e7ca83273f062199618a5f6fa0b8df09eb9154cebff8e6ab01ad27a1690d186e822a783c4163455a9fdceb7dbf909f23afe08375324c7aa0597f5e71f6c2e0581f3d30810be10876d489e8f418e86d56efcb8a691338463330adfe87a62add013de2a05fc7f41a186c1ee80ded5dabfefd85e87f9cfa83dec03bc4516f23d04f6a2922d2a72212cc5094ef91fd9b789d1391c9052c8667951e18bb1d64406f3e330d736c71acc0503ced1144cf9bacf21b0fc802162cf88530c9d27e9cdb8e83db9577b4e06ba5431d45975dfe2c68f294528f958e1660e3d2fbb34056e5583361bcb99e0ff4e1b85a3db866e3c6f5ca7256e6ecf8b457c1db83a57db02759fad5412978d845248d412edad81e2e4c12dfaf090d53ad7fff3acfa5c034a0175f9b2df93599c05c206b49cb3898663380102daba8ba595fa9d2531e2274c998db1f4ac650e6b12e80969901a8fa5816f2fea9fd1f03f73b56028ecbdfbf3073d34209821a1d43668931cc74d3382dcb947fafd903b50cbcfeffa1fe746d7864b01f4403778cf790e057db519975e681c1d3e940fa1e805ea0dd0624123df7a70faddbf91faa80bbbf6dc1c41c614ca5a87fcd4cec3ddda1858edc77ab72361b11663fc91494184a8c8563f80903897efe5030937ed1a7a670740b109b1651024547d98315a4346f9d6b1d767552d8a1b85930d5aec6ddd9231f115cd027b491daa1205bcf57c4ee20bc5155761ba7ca1d661446756b7f04c0eef1d3350e11ce6f4e034db8177e16a9ee22e9d2fca66d69d4234bfb9001f06351d72a187184bc6496e90f38665a14d684b13c797eb227b7d088b4fb34dcd940f06bdc70a718a77e95bafbbde35758be9b396400ed6bdeb974f5870d56f821eefabf4e0cf459dd19427ac24288400801fc6b4ee234b4bbd71d748af31009fc9b04c302746442d8744a3d5c0594091ab0bb10c7d9a14abb721442fec2fb6922535197bc7f1156776e6c0613950fce69c2b2edaef2dad9a6b2c380b8470cf79348ca2fe4be3cbe05885fbd9302e8c827d12fa0b7df3794e8f73624b3e242ff1a7a322c372e1eeb6320879f0653c6005e4f55ab84177bf3074ade70fddb7f20bcd44d7c32edda18215b79c7db53fe2a71fcbe1facfc9d6ae3ed96f082598edbb9a9d37fcc5f47223068ed2a6d92c4063e1261e8fc9155013b67cf4081e2155e76a2c5e363ad6fa366e5b92f0388276711bc87404c856f95ef6947f2ce28ad78baa518a0c9449cfa1d88b664607c65e624c8217d49bdf069709be246e7efc363f0933e1a7a91f67948f848c5034dec5b0745fe6f47c26ed7446c260dcc9107a6adbaa111658944c7af967bdbd82d28601ee0e32f8c934955496382042807e3691a9e1c575ea1761a5418ffb48bd220e60f702a00618bc50acc78e2bb0ea09499dde7e45ea7922bb97c22f6d4c9542c909ef14529318897e81581a9438a31fb14a98cce0dec7e513e21d3797684cd1b8e20a2630ac15fd81deff2dc668eb01db2ef802540f7e2f55ec62dc90224f9e235dd780e1616beafe8a5f8a71b235b4b104b133f65901353106932422d43712b92c7f509332204c6d3fa6435adfde5537b3a60da248a697a4af11e03878a52d862efee896b1dab366d1f5376ba1f526129860658b02802312139cea7813c44118b5a2129dc99d9e7bc3dfcb8a2fb4a64e3bee339ba6e728815ea2225601874c0764c1960b694926df7d7a59b9b87f47816a33ab9e9cd41123045434a887f26a5c12811b71b6896786c655722ff627953e7fd6a2da62e1fe53d51353a0e9ffc6ded7c47d896d8a1016bc8c8908153687c92f062020556393621d9fa5cda4ce02eb3f24f92c3d6cdc07e8daf8e5a45ebf8534cf96cb45bb2f6afa32db92032d7690ae8c57d04280b2a2180e7d0e289419dcb268b65e8c81fe125b9030a3b14aa574b6d7858b8039d67ff429980dc2bbeb99cee1a76c494ee60b64d15fe9c13e074d1fa5d4d36e927a78438ff7e74939f6c95c95e5500479f5a93451080479867e4588b612cdaabeb8c12dfb7732de20b2a9c605766b815b01bea5580eb6e39055e4277ef18dcc62fd80c8b4c263079a76dcfd4c7cb668e2bb338d81ac77c5a8a2112519f17d37c1a50eb814e96acbac8296089691bb203f14619f780d6f05fa8f53ff1d01637ec0dee1aba209250ed29ef6caa60a4de3a3d34a788cfff2ef074d73b494ac568cd78cb7aae019a5d136a8312cf1e4c266e25a5113848ce2319b039772b9a81c22dfd5e7b612d85a545ac6d0fe42262705499a243622a87b3304b836eb63947133ca49e4dce189f31da16dfa0a77f1b6e06cdb4dc90c631745593d1eeff76972971c85748c59f39710940efaa3ebfec9020e1e4feaa72051acd469637279b05877e69d3863a32642b1df9af670cfa124a12d2bcd9b5e7b8bb14456589adaf57a648d814b0c2ccdc09f830508c92ea8727a0539cc3c5dd5968616fc3cdf07343a140a0f49b45f7976c3abbe48dac6196e5214b54c5159acdacb56140920c091058dca7ba70870743e979b34392aaecb04410b5c775e56f5333cc148ee23282073505a80575659b3cc45e04bfad9af6010e5c44c47f2454cab3bca8e356febeaa69b96bcf3f9b4c762eb559237695810671aec3f94c2a58b0c2e42f5f8880d624e6dbb83b67e4ad9ec54768e62c8be8fc058753cdc4c675b7d37e6d90a0cf667fca681c6d89c304b6d3fe2cd6a947a0853c8bb1c9e60de12fec22f4b9bbf8835dfafc74198c5c5cb79e28a88f5a21d613f7eeb5733583162f6339477e2d46bf78ca187549cfca8840b8a31de206b3e322864d1b150e0e6a62a8ee9de0b135a02d79f6bd4a8c859532e8ae6979d3c39adee51ec4e3a308d321def1cef1241eb2e42c4abf0a5e61059e8f62823df1c8ed986acd1ec34ce92991238ce6055aafe62d2fc1de136c375c459857f6b630db6cbeef19d1922a05ed937b5c73f0468c2dc3ff9be407460859836760fefd3fa98a4ebda15b7107dbb4895b93ad3110f8651211b65d43eaf638ac7d4c76b65e482db585d9d62f44a237ccccc849530f1f04b7221e9d9bff4404e240607d19ddfa7b178d1ca052717acf3aebaa7446f0f8f9b1a368bb5ff8cf29346b3aee3ba51e05442636a3355008560c1615acce300ed2f01997124086ef1e958dbcfdf56f4ed67702b62db976c7fde4edabaaa12cae99f98327894e9121c1101eff7bc192153c9fb9f6dc765a4bf1d830a66a7b4b1c48963cb7160bbe27a88c0ade1a942e6078969abfd55d931bf70000b2042ab3ce5751c03c85bc64bf371442a4c0dec423a963f5f89cad620fd9816eabb9807f37723d34bcce80814f46a836145c56b1cbcab2bfca3172bc0466168e43a166a6d3718ea8cea873b51c7c806fbac30c46d6e610b989fc0ecedafa9c317030595207d10eea2ce54b870f10f16b39bcec0e9782d617116a3a08da753500373bf7bcda7adaee2745efb8d6cf2689deb771e1792ea4a1d6346d19f27849fd8d324809dc27e202dd016be33aa661dfd9f2e17935b01fb9157dde18e585e3f7cad0b3e87829e24829186264a23102bffa9f6e887d20a1871671faf941d1cd988a4d1ad9608721e0c2d7ab8598fdea309f0839dcb1652de112f703c57a15671d924a503c791f353db95f331ea669b3705fad4c7d4a99dd8bb23f68d311a33a287f587993704dc256c2b7453e930db5f1a82c08e7179e0b5f83e6e98f832a842ec4e535c6e9e6208433286e1fea10a6adb2c8ea621fb9f5753aeb2c2de63a678ba6ee61cd194e7f6482812969cdca40d6f3b8578e22c42e68ceed4239bce17397d90731f633c90f0a065fd61ae7f90b38d007f70f58fcb727697ce9770805096b797f5d398b861f37e60131cb83172361b1fc2e7173bdf536da3e2963fc8b1a5ed4c31294dbfd690b72fece980e602e7c8898b10eebe37f8d76d4994278c1ecabc8601dcf9e9502ccc3ade855975089328cb2f4be7bcdea03ef6bb598c090e79285067a1ad7b8153a58f99b4eae9aded7bc687dfa70d5539e35fbaab37ade3b0d0a3c9af546dce3f0ec92a1e085a02cb47456b7f377836e7963f763272f785621e55b07f9f1d9cdf02298ee7fcf052e352de392bbd3d60eb6c5871248208eef25e65c729311f794e45b30a99dce12174d7dab2b572eaafaa999c462401a15fec7f26c22f1889668fd2ca61c294450aadc0bc534df0466e4728f4905f182f0c525dcdc19165fb3d7f5ac5a48ae36b9be56c987fa4458b7308458bca64e3cd493e94bc935fda6c8766a803875c69eed54d9981473b09634add00743130ce7bb885c9d5b11bd44ffded672fff306057b399986aa57ec0b4b0d75bd647918ba46ca39939b65a8efcef7c0b29ebaf1e4a0643e439cec89ce660bcac357c279365db0e522ccdddf17ea0bfbd132222a4bcb29c5ac19765a0fe74d03d5642ab8b4e8e8628550b17e095cd056a4ff5769021d984086c5f2b1f14c2f10269746322e7c9f2b144866d28846579d7e5ef1ef70d285eff4108e323add396ce334eadb3a87757490b1b99b44f96b13eeacdc5cca02db360e19818faa76e10c10e127192ece0838c326117a63eb788bef9852fb2346595eadb5d0f0b1400c31bb96b474cafa1df5fad93eb5545c33c33684b9a099af5974d4f02306be9afaa1cdd731e4bcbcd04dbff651178895669cc8124b3071f974eed96965bba48818f14cd0c4a62872b478c0315bcadcc1aaddebd33338bb6e073079711ad4897892d0c8030ab5e703690feae349f06841beb3ac4d4b7cf334eb4bc6d99533c70e67c2d01584c7715e01cfaaf95b0f01d98951251dd310d99c538f1cd838d8ae92f83a6410287a604ac943acd1dbeb8c10531c6a9e0958dabbea9d1d6594ad2042dc4e45ae95d5bc00ba8527e43a22819b4a3a88028bc97784ab791d64babdd3fbec24caeb89f654611f98be0059bf004c61d1c5f1e236894457c55a499c3ee220f6abe65cb1b2063074cf684f8a7f2edc8120752dd1f2de4fd8a431c5ee7fec774f35485a92fc668a73141955f60fb411cf5547f333c4fe67398b38a5883fa450aa30991915bccbc1b2086cb90df94103a2a47753eb2b7e646b4de21fc8edf44548f123201375006e602f371bb6e2ad6bf56d6b3deabbbf5765cd817394bd7a20814710dee992746b90398797229b7952697e5dedd1165d2081b320aacd0d1830180d68ed77df702b2a997fa8b9f2955998cfd938783a44ed146da87c9fba4584637229932fa665518d5a89430f53a37ebc70e96fa9a4c8c54470d333bb55b41339bf525f71330da63c30262bf2d17f3af3463b20137f3cd00d6c7742cbc975b900f87440a9fb50443d7c643cd5b31416dc9fa9bd42e2126631cec0d48f52de837ca28c8419155aa3e3f9f0f435e41f4779f5d01a9643f4380d72229f64794878810ed1d8ac0caa46564215e97f55ee62f7ebec7b9e8a4fef992aa35ad085a803851b10d6939e171fa15d87632355107918517d083ff2453af3738f45260c5675043a48bc09d509659ca9167881b00d37dcb11ca458688c2beb937e3f3ca5b6a75980a188b5bf052bb4a919b4d1b42fbd2c22a60018704af1971dd3c78ceb783a4f85f8a933ebb5cafd517c79c61ffc126fbb67631482c77a644c0e0615048b0b9b74cb68ce6b8745d3fb94a39fc021fa7056f0077e34531e5cfa1195db9d3e7815c9c2d2c8a2e8a9a7f2167454ad696eb7d194e9141d061fccf6de43bd0e203376081dd2b216b25b27e50e8666ef573894e5833aff22801d23130f537ab800ef4cbf712b9a58a1c91582e802f773d99f63066ca418ef30209e549f320d60c969fa8139d2634397bb05580610e4ef242acad57ebe8ae45ac372500f79406abb710c469dd0ba7768b448fa7b55ef0c35ff5f2dcb8a726efc992de597cc2ff67903fb39c978e3ddbd37a68e33de08e0503c72154910bc00540ba028f5aa72d4f1735008f13eb17b9726261fa85d6d3a182e770422ff9d19ea8680d427012f0680c1a19ff95dd3dd5e1d5c4240155eb189e3ccd42b281505768a06ea0c761c3f4c819547ab7cfe7a66067e867b33f0f69c7aee57403290643d0945ae873aca09ca699e647208e4a92a30024a0216d6a768fc83597d8ebc39f0419e5fa7989b2e09d74420db2150d9c2ed3613e318b267aa100d920445dce0fcefacc640657f862591372933130e5e0329bc34b73c65e651f90c0778e08e430f3680c3503f137c59f57053ce3cd9a7fc42dbd0d3f5a22159375d459854c4bb99bd36fc65fc9b7bf28b479ef0f152ffd0b1c483531ee2d62e17d346e509823f30da7c7406250104e2e8857cce77ef421725c326ce2bb7b34cbc877ac949e2c62279fe8f9e6812e413e878bd7a9aa176addc4dfa1bc80ea5c492e3c33cdbc4b6f0845595b3d9453b4e1f68e0309dffe423bfb0dbc8212c0ddbaed329cc579f9ac530c3f3896ef2a2f69f808d08be374cc4836c8a324aef749012ad8d38c302efa4764d7f8c888e5460abf8a5b3e238713eab758a0d21369a86b6c11a4e1482ab315c91234ba0a2b539ac0b950807d1ede3aa8e6b7cf4162aae5e9ffc9937a901df4aa6ee56a1890d1462705f072ce96c82ffd2febe72506900e731cc96023b1f1bdd5b5c2e979d54534c4c26c439cbc6c6d462d18fa5668131fc7009fe637bc458f81b28a3ead511db5b204ee65d9fdd0dddb703c5c8fd7a5b5f32859cfbcbbc1827fd632652df4281991bbb0c5634683c86fd4b466ea6c3f9c26e7b0eddf4091cb6743e97e0223e07920762dc9175118d2615ae3e2d2ec69b71f7d48054e57bed389aa0426cee19f53624e83278a3bb1f6ab231ec84f0073eede307219ed480f275ed4cc2c69809d3a7acf2c8247e1d45906d4bac7dd4b4fcad64c1d947d8c60b45130b3f7d521a6f4e82b108979531676f018caeff5cdda73d5cb6f1444c08dce2c819b61ce27b2389c277885a6412b1b60622164a148993611d83a5a982d826ab25fa7c2b3def4fbe26008c0bf959fae1763eff11a977d223f02cfae52bfe5e19da94fab6b669e6209746a2de105369b453b281c0ee087c67ddbc7c8c66f7404dde69fc71ce5aff21f4de23fd16de81f08a0cee6876bb32102ee0d15530235a319f7d52e84b77bb9189b0f784a6f891d4fa78a0135ca556a5a2a821bea963b212efc242cf4e6537ad56f39cfc3eb606eaaecfa0ab1a2583e76d50fa4671a2160997d905d5d30ec678750c21b450ebd7123e09c84154d2422dd6976893ea068af882e4a02df894041ea58b18239b7e910a53916e08c20e1b587b4cf434eb35544948777aa53cf99c21aab4bb5584aacd0ca402c37fa5945900f94e2358e4d80ccff68e46b8013abc376693fe7674ee4596af5bb54706d021ef7072bf443c87ebe4eade939919a181ab9872074eeb96acc6a7252449cd51f305afeb60c9e666e3170709acd777d2e4a10340cdfa280c3626acebe084e0c6975e44893662d3cb989d49688599588bca223e71781b277da8c304a36c62d49238cb8d2ca8a415a20f9eecb4b58ba7f35cfff999f13d7b37a10eb4cc5a705fd08b93ca05f710aee09c90a8530f3e3564ef55b731ddb76f2b0506880c86d496a00f571c2bbd401cb2a89b7a45fa98861f30ddd4fffa648886363ecb7bd5f29071a142084cb70b5a49c76cd80cef724ff86d96794431e4be1ab6586e127028c93d2ad9442d6afbcff301e4d10819339788bc4b9723e9e146e175b54ca3397135ff36a7d44dd79ac782b7faca6f86def882bc3cece6363a7ce37e15cd9cb4377e5427b49102e27bbc4167228d546ccaa3e74c86ffe378b835264527680809631d5025452e52ee1d7fa35fbde8c5bb839fd140df4b7227e41df30af8031bbbe05fc4463c93236d54305da4237ba0547bf277dcdfd102d9a3915b2ed491e03a10652673019b748842566401d74d643fa3ad7c342393b045b942339e937930bc997eb57515cb6cb5590a9d05b5eef20876efbfc22111f524eef311b2315535384e4a5a885ac687e4618e24d2dc8c69497238f5e301f956514da76ca85405e6ddc987e88192483bf555a51403e5579643ba380a4d7645746ae979de7e0a38c60491428ccfce81a43eac78abcff19b51322fb743bc223caccc5f33e35b0aa289564ebc36d6008fcf816bebc0c3df672577c1b05e164f4906ba849666796f6b98c4268a6db8ccd8dcda66333257e9dc626fb2f250b72dd5ce9d83c177e709774637b08a6c4faff5b7bb45e0156d223ca2625dd4358e72ee05d5ab4f51b73a2bdd038b134fc62d1e2c5d1ff50989a1839b18f60d573ef976a10923c6ea7a39fac5f146a0623f107b10e2630ba8fce3ea50874f9734f307df9a8535aaf8457b7f2e9a6a8e410bdd971fe21986d4335e8cc315da01f1c4238c7bbacf667e4226ce77e5bce110d620c3d6b275c00e46cd040eafffad947f2dfabfe7a5094f9e26b0f8f64e96fd6fbf4f5dc49b7ab9650d024fb23c758617a8c465086b4898a4d662b8ac92a509d8db0b99bbae30b46c4704244c605e810ecc371b68bc56743fe939e34a41b07959af6cdac9211cd668d08bd789eefe6ee35989f1b7c6b302243ca619484ad0eeac0eb5e13c24f5aa882e860b1b90d2d25fb9e68e20617cef42316c3cc50f059d367275374f1b016955c65d7919df988685fd5303e51d1de3aac7cd674fafb89a2906de9ee8015852ddd04fd374ccdc97f0f02251252e3f6ca427b53aa6dad43c176f766e436b9de1ca86de42dd80aafc2b5d4fdc60cf5a53d8c7a57e580a2ead2d22ca45583b97105910a6cb2514bc903d9b591481733eeb4675c69c5e6576c4e7b20b4edc9a3196502c8e1835a7ad6cb25156192dc8c6550bdf266e981193a7df4bbd5922679202d3a300ad57aed8cea2ed17ab43888a47f9633c022638cc35f67f4e5142884f1b045b114b15525cfadad1bb6824fd37c3cd186b37cf47233c0d4350bbddc2199ea88f681a438b8b9e6de81e20d48847fc66d02a291b42607a3e15edd8854a5d6966c98ad0068c61e594c05bee459e77313a834d034d8823a9c4c7c2b8b391768fa39e2dba499becadd87fad23f4fb45c44c07ae1aa281daf96e1edd4c2a051df7dd6570884c870df355c2642dba13f0fd1cd9e9e9aaf088b4e61dfb87bb5956571008a01ed5d2defa8c1d87b2f02a05aea2a60f55a8547800cbf2613a869c6fe22a492da7e7de08f0e7dafccfea5f7665c86e07432cf8754a978eb2b8032417184286402b14a3c721ab615b12a3f6641ce8fd5ba202e8cff2a516a4c934976365d14198f6422e39e52496b7485c70b11884dcffea2bb9de0baf0b643f5ef06c692037a9665b0bb04f5bbcb7ef9761471555dd13a4f8caae4b12785b620ca83ad4df068da662dbe82ce0efe2ace703d28ca1499ee516ce9bad99435b4907278fb169f206d604fa4e9699db0bcc55936554709ceda35f4d40b1deaf8273fc8fc987a2b569354c818b7d25f162b19b698f0b6a438a1f4d30307b1ba40a3ee8d2571ee3cfb21fd7f4dc98eba4caad74490ef0c1a85bfdac71bbd548bfad155b21e9e3ba29ba9f77b4dfc39ced46f6342bafcef08d9a07b769c18db67c76efaea7037e368a71943ea7f05aac6ad52532c13379ab2b08bd0efa30110ddb18ee3d7763eb4734291f74008b7f9228ce73853b3c43a46425f7ed94d6310aed461d9f2da37fb66327f20dd0a30e9016565929ded904e53a74134702dd3b9bdb5c7c64f168ead88c7ced633124bf9a42a3a673851707b1ba0f36e963faf44c0ded79f1269b1fa1dfb6d7cb67341153f9be520ecde7e09be53e7821ac48987ad06310682ca84012e1fb2723472410378d7ed70fa98d075e971a8efec872d5979276d96d1ddaabcc99d8d144c44d24822c070d8aed74b53eb7d2d4f6b14217842b09554e0d144dc2d527f2d8cd1e2755ef000fe6e1f2e0974e7804a575e249c4583a5a33e00798f0fc02912cc1d6c4a43e34c5ab55a813f95677aeef6f9dc554b3abcc03b7a514775a1a9314133e736040109a3ded2d9be898053af4928e52948e7ad13d9e8a16fd08ddd975f3bd7ce0e2ac289f5f8703f8b44f49ea066af0b795c1a7d77d0f872fb0c801ef866a70d8fc765504de62af364dd211191c645b2a04478046abd856cb1e16f5a10ff31a9e416c06616d6a3b0220519d16c9ed9880d2eeb4bebda0d0cc7d7e59d13882940ce840c20cc7dcbe7ee92020d292f837ce4f4271af4f31f1d0ed66ce7575db709facbe2226bd36945d1a20fc909eb30b33dd4755ab5f6d51dc56dd3bf69bc29af17a5cd75ca0b0465bcf6f1d4846d7c6630b449128e36793635df63a9b82583214f680ab69fa200ec2c50acc5b9ddbbe0f9247f0b4c7b4c04b575edff44cf56fe501eaa8bfd9df834164069ce89db2ecee7de32415ccb68a091468386aa796f683a87b00563dac3149e6209f5dd511728342c7248666c471ea3ac7b73602b4cf142cf0c0ca91bbb4146b3778746df2c4ddf5db673e34e85bc07b3f073ec8017522a365fda81cb3859ec694ae2dcffef80a3b94aa0f292a79e94c050f2c2f553519104075712cd0af8467615c91883e8e9c969e3c662bab72d78957e28c9674a45a367266c56284e54ec6489d7d29b55c4f6eb55772d461d5c98da8da091bd11378730451359b13790890e89c80c2a1b9109337a9643c224079cf0c30d74ea965a4bc8a44d1ac49b3b8d7ec175b0aa8fb221b26caa60ab7feef1f477c7f5a88e9ce1922109a6196367673b29f4d8d40f2354e91b006de732f9add9ae341ce53511cb1dae4d85fa121c12722beab4d358f70bd1343715d1a9dadb232a1160d966c1757bd5715ab3c0cd88894baa2aadd52a3f76b78de079f481e5bbf298efae54a04d5acfe6114ebee2d46b0b59b0197586af430b117976839778edf3da53c805b7162dfee072d672ca0fec2b4a3611449f11aba95053c7d3624ff64620ecbaf736f2a63dc5aa5db6745a6c30d2db76bd30a058fa7f5793a4aa314a0c9b62072e03c9be4eb816dd7f982b8ce891762fad6e8c6aee6e7ee2170411a9a098fd05bb977e4e4024fbd38414dbb0c641f11021c7309e06586667601a09fb059f10443ab90a672886cccaa5122d929806dba2943a44afde9885dc85e793145fadbd00a0a67dab8ca868b1544c194fcb1d633a5c1638f97b8e7980c0c65d06cdf36ebeeba927b384cc07aa07b9cfa058c0afd78ee60a9a53b951c34206dec1fe31e703a950650e2d279bbfbd9464efb086c86a1014deecd629bf487a7c03dc2b0e5e6563f7648cac1582f754a0aa81f45f8d28aa800666cfba0ce8c419de9dfd3f8826443fbd226d439ca0e5b7890dd5882d88117ccd853410d2597975466fb68fb913c8a5059ca320319313af622fe3f382390b721376c56bdfd05f4d3cbba942c02db2acf3194bc798254917f83f600b9e49912358e0e16f9aba1a24acd337f4317650bf0ff5635ca43b9baf7410699921168f7b5e308471a38c0f577b2ad97b89fa34d1171582b832ddad77e4b2935cef629d78cbc7c3206825e3c5221469511ea5f886b27930b83fa477364fda3f06a702bd2f5e5479ead64f9412207b9f800ff22face94796c23e4ad21397f8cd601bed2862d19cf9df331cdd20de15a61081de0d7e4f6324f171f9cd802703a51dfce57c56724e4b73cb763111e3ed3acbe743902fc9f49c79bf7ec538061a79974c46fbc703e96511eafe74edc5371285f41fc4c8b6017c13f7817d1f67e651a01a6abf814d958433dc19f6aa0d50451d8ce466635978172a83ecf8055e6342e860348c9de19d0e51536ce66db158dd315dc32d36610aa6928a56393d397af60f1109093cbf438ddd2542b0020846f5f823b04ec9897dc2698027884832d7d4f402a9f89884ca579bd61490b7b2d927698c452ec62a9841240ab0a57fd8fefb46dd4f27e7d207175f3b5e90c0927f4d168678be13b68e4c8be5d5941dab1f8b4929c57cc1802e919b773be18a9299ffc66d9565fdab954484a011f249d47d615e6202c773e0fc4e44d9170e9eaf6451f23ef9a3da887b17ef804bfb4805dcdcecca24a41cd5bf805857a23e43ca67b5653d21cc46955768a31150e9976d4f6437c922363b295492d7d590656e8434b1b0856a0028eedcf81eace3142be8c3c2ba7a2903221b47cd23ef29f0babbfd849f62d31412bc2854e3001e1048b2ebfb73929bce9f92752b3c1c57786959fd87c30d38dcb1c16fbfc976e9416252b406b60e670660cec55dd14b7ad73829b4260ae3d9423cd63f80b4e0e03f0e32327a5fea631ccf8707d82d04a423877fae85420b4a3379bce0e931c0f0ba14998189189bce821183389979878ee14b6a626e75783c6bb7b0377d40d5687b890ba612b814d94b4215e87a791e424ef0dd49953c5e31131a550572a06cfea2b3100b3cb26aed5261d96d3e677db723b92aeb2203bc9dce344aee9af93ef80c2df339d3e085df3221924b71e717a17db6b05c64786e2d6a58b7ad5112cacef176a7d0b28548daa8e36a932e4f474910a3a5eb76bee9f035d1dc8b73a2034dcde16e3d78a844cf9a23b96b75c0e443cc4d7562fad7c5feb88ddcbe197d0fc02abf5803471d87f29ae89bdcf8b2caea604e8e29e78ed77b77bff51acaa026996662c2773a134ab18334da899fa5741a53ee36f469ffe15dc96a4696445fabd8cd18ae55c71b1bbc69ea67a5ab79f84e8e394e6b16f25373d73cf051c8bb431e63c2816b3b15c2e9e1fbaa478a5d20f5910ae89b4b06574180077d05cce9c3d1fcc651a53f19ab1ee97b580a81bc4db52b2c7900bc8a55936c85a368f0f26989e54754ef9e8d5ad68053dc428487c57f86731948cd852c2c4938f241fc32b6b4bb0ad0377f38f3804d8e521d339dd0832f3dbe10a146ceb162552ab788119034ba75431edd9d730a3a8f0569f45c43b3b5fa77f77578a4e337a541e80237e9cb1bf0b99b8b0bf981459d9e8badf530c2c17658bf4bcc1491b50d53d3f16333a1c8f97e532c267172dcc953c9c084607ec90f96a0be2a0efd767f77f9e19dbb79cc4e7c5e0ced95148980b2b7c88467ea187edcb4751e76f457e275fcb946978b546fb737b0e36ff0b00b5d511b5450960c77c4df4002905fd568a85d0e1fd3650deb4224fe5baf7ced20435a6b50e08f1bdcc4868bf7718ba9d0d86da5591bb6e06d8633c9eecaa0e4e28c9006379b360e3255a96c2648344df0c29fe2a36f3e01ca8d7641c93927bd9490a22dc0aff893084832a3bbd8db53bcfd8a9e220e9efc784a32dbe71237bf98c722f0e9dbfc88eee1b7e32fe745db9ae7379bd2383a5b2323a5b88aad63833edb456ce9596cafdd220f18361b85b6b948c844315f2658e034b3cea8cca73da0a28a03629dcfdc4654c411517c1285c3a9cd5baf229aa19f8dd0e98c43c5a12f23e438ff6676ed4fa4feb2dc4465515022cd3bd5f19c0b91f6d2c2fb772cd5ee4deea865ce30b15025a7c057fdf430fee78e7cabde52e6f2f7e8f73285bcfede560f70fb5b9b9ff3254d60d4a5c755d2973c9c28bc038be509e64113eefaaa7b512f25850c5220efca9ea0322023cd3599e551a6c332d1f51055fa3858a19a8483dc81c22a18badaf5de769d9dcc6aedb451d388c985721090b7606040d3d00d2d748eeb7795ce6143ee30eb675452dea49c5b1beef16c577d00c0fdbeedcdf12cc06257e51e0d6002c0e61600b0ef67149c6e356847eec86d90fbad1c0a605456e8188d96273a77143d230bf272fe816e06cde7cf32db827b9952abe770f952937da9031c45c7005834aff8ff7f4f5a512dcce3f3740f1f6420d0f7d6255be57c03e74e3e766fa7cd7068be7174a97bf301a47b0e00035fd3f4d45c5cf59f5a746186efd0d83aadf8e0da3d8a465aca9b57da02186f04919752de8ce9044e9682bcb39b32db64cfdb77ba7291075572cd992f52b64a834e92f34aec9442a54b2b395ebae768fac02513bceca2788821f83c0ed9166f085290c2cfedb95c0d506cf9b870e3655c45067198c4283714bac67d08d2b7c837657db48c49154d831780dd2c33332dc2ad15012cdeaebba8c783a3f8f2d02b6ec90ffe63bd77cd943a8ce69608d7dfae59fa45f8d4b2c8cef278b30c651aed95a6d990f43ff79abdd56b7aac93c92f2485ccdf7092824c6ece7ce8bf4a64c988052ae58c408dae5dff359710e5a7cf16444e740961cb48ff3d73467012774b01adc43b91b87cea836ac9c964d506d4eb0977dd8c8d079df018ee544c96afef62ddd69e54c150938756e3f10a71ffa0d191c1590770a5f4d607bcfa6dda3b5da8e60820628002c26c891b6faf5685b25ba984d25561337ba8e97ccd7376336d668edaae5234d8d8bcfc16d9019e8c891bc3278bece42783380387bba8e66cc8a3f208c5b9ea8fec6d7d7a7ea2b1b1596e7c0debd03c6881bdba5728abccee875a9b5d9069cc3717c7627c0e9daf50da5a4b4c5acd937fac6ee3899aef9ae32c82a6dacf2f8c2a878ac1dca7270111fb53a262c3efa2881992b5e01a411160bd9e1ee44f7ee6bc46b9b01ef2653e1c7a22282c5d2991500bff5ec03ca4d9948419bab7213d9874dadc57ad1cf6737b9fca51aed32bdb91215d398da80fea3870ab5abd3e46fe21c934920f0d40b76b53215d198f23d6f9022f067a0bceceb179a672402d402d4879c3024eb5e0a79868d437abc79ca8fae310e9a5700f5704fec328f0bcfc12eeb145a9b75c1078ebb745115f51178d48a64df1b07c1adf712c0f73402ce0775ba82d75ee2c748d8a798a8e2ae829167487bb4347b4959a44bc7a8b863788995f8ae746804b2f7901c5200cae77bb89e7a1f6c0ee2b79676520c7b3a0bd1e19bb6e1b0b26029d34db12540245f723414c2d11c9db65797b3780e9405a2ce253fcee9a2a70bab8b6d010c47362515fc7fef781654dfb2c6fd3035b52d60d003e5e798ab7fe8394fc6aca15d265d9f8a8371dc19262b26d78ef8cde9c4f9f7ec3fbc5c9f674212648968617f753aad2a217678357cd773352e19e4b9b9542f35112c393026cb62853570e48f996b159a59b8c9ff3da5727f879563637bba11e9e79d3168e8a78fca4d03ac38cc831faf8071092e5911c9b1cfe3c7402bc9d7cab531a96d28a98d9acda42c310fd96844778fe1fb80e42380dae8b2c193e0741d422feb95b3ba7293c9a0d104833f44e20f78ded9ae889fb95bd30efb4ed9e75e177a8327b78beb9b3143b06f01a2377920dbf8a0f23892601fd5760e5e0b386b11e8f93bad58667c19d4a530227543e585a3930a6ad9a22e24ad31fb15cf0061bdb805e71cb5dc8e7c936751db338ec499c0f01be0186e7146a96138604c2f4a1ec5949df31a88c6071a54b082d99e2eb777d8be7221fe3d9c72a734ca3f304bb1c085cd9c00054c660265fb9af71d3e402de7661eb84db337fc153363d97070558e88208eeb402f76c7429cdbaac2cdf35ed16431398eb7efc6a40dc9d7fbcd74f5a9fe5d73f5a10c7638570bbfe6ec8b3c9a6fea00fbff8dddf00dacae6302bbbaaf97818e1e20ab461143bcbd3448771088df77e7fa37f96082a2eb9652c721c1ffcf99fddcf5f8e4cd928b1e5855789f493c6950fa9ed7a9f9efc0c0f5f7ea81ebc19943c890fccab12f1eeea2422b290ff02c38fd82305f0e5339278bf4bc7b39fcf42a70d10dd71bc5ddbb6a10f0064fa41ab797c9610594d1e10115d6d0af331dc885eaebd3c840d8999f0efd3cbaa1c6d26062a8c8ac61db1e0b41bc455bd457bff02525000eefac9a21b675f0e9fd6f40a8882d02507525fb1991cc8a5edb302e0d674dd0bf0579fb8b1e0b42366a1600bba10ec974f5b07f4d24a2298c5eb37b4e712e4d5935d3473b7d9d72f45af61e1cc0fe093b721b281ad4ecb4f3f3e42fee51982ff35ac1f358f338b2b68af72cd1b088b9b54081c4174ccdabb7474a6dad13958903bd6b3085352c77749fe448076d128fcffae177655eb18e2bf0cb1da0a5f18257a1182127b1e364e0561765f212d27c5b921b8c2c42ca00045fee8720451ca5f339fa7de09169770110d461aa537340429877c08c1e45c0cafd6e4eb7c2e7fa0ce5fc2521939eaa629473dd83febd84e640b6a7ae9396897bd182f56b19963efe5c8e1ead785a6df5c2e073822242eb81a74e2551561c5afe1e82e1bfe8d00f9f756a8ff33fa3e24a394c780a861d8eaa53dfe07f9977100d3b42f92c744b91772500c01a2347c5c1f5f409c4f2d332a574bff833e7bb4ebdebc8d72049265286451c438e826804869b3b5562f63d385d44f80d43e3b2bf73eaff5793f0f9270fee9f72859b11e86d7109893fe15b3a010ce2ac0b68637e11f752931d0c92b3563d5fa667c29342e17c3e873b2698350120c057a7c9e26e72454fca419988658f37ec508a6db8b49fcf946b9e48d7699afe9623badbda9e96f80352740ba7cae98a41067ed83729aee76583b281b9b0792df50cdaa650a3fe58b35c5408d3bb108a4ee79f85e2db62372e2ba9893f65c7326d491538fc57ecaa8befcff7c3b9e391adf8f5c8d8afa31ec29de82034b8dbbefd7fa83b85c9957010434ca2a89cdddd5d3a3bbdac367afb34f7f2a898003838f53ddcf3f5c5e617ce7bec562c6662f4244ad5ee99b9b1a51bf7c9d38f207dedbc560e147252b3ed49ba8b9e3ec8fc2654078f53413c0676b8faceef5ed14dd53ad2f0699ebae5ff2913c0e0e042ae6b619063d4aa808da4e4f4d0c6520bf87223d31756e935bc3835dd4fdadcc69da5f3784f8a573de1111c43a258e68893c7f27cb738fd2f414281340e1bb92f5d787a3c0212320acc616fbec907f72c369c7072626c2b555e9e4aa686c052965662d1cd8cfb43d658a62a78db16f781bcdbf02ac3b52e8778e7626564e4b94c960c1ac8423ba0850df2226e712ca207f4514a0e3e31e78b2602bea76f45a15f530230bdc75a85dd97475ffce7769eebe73b8073839986b083600439c57e56f100b065c7a202469d8358c7513cd0dfdc76c8c3e675f19b99590d0951256734d49a9ca72b23468e567c6af51b27e9cca210f00c03b7322680f795eb766124d7096edf0e517fa6570cfcb49925b3f9076e89564c743a13fb810be136dacc4caeda860403c23c73ecc6fc1d8daf80eb9b06d18146ca2cff141a652b94b76b8b7b4cbc20bcd18545a85aa6885758ce8831becc9da1b41bf7dad514ec99678b4389423ddf92f08b960479e2ae23cf5fff27c2d0a5891633803a91ab25544f682a288c8e7d3d71548343cba1e52ad191780afb8e6bf765ce7e62a731bf102436c1c1d3ea12f2b41b6c4fcb3aeda3060bbd1e1d20d4aadc960af594d392a35d460c82145ae88b809b82bd4e5aa07e6f2d1e02294468ca79bb7c67cd949cce3438e9a1a6afba1f838bbb608b71744245a0cee2cc40f269d7533edd3ac91d0379e49e94f0131da81f39616dceea652f8dc757ca7d07dcc2e652b2bb65db880aeb70f8febf51fe4d97a99d89f57525c1f3f933856bc18865f9cf88765ea7245bc2a820106c472feb694f5bd41c34b5be9e95fc1d6cf82ef6d6b5b6d3cf33f6fc69d0a55101c2e67064357dc73afb5282f20bd64e2583e1bf963b4c6ad75073f8dfc3a6dff29d097d79171e2ea99402f14d365f0adef25641f8f667416f2055e0babb299762d03f736a44cf3d0c55d3e4b8d649e4f3276b00a6da8a4283fe4f72720305dcb3b5ac71b7993e4340995a2613be8357bbe27f182f89e5e2eec448b22d998128d4666bab48de6803e2be46fc759f5550fdfc4daba620b765340ba708076edef995ba64d3a9d7a9ed5b06ddb2b67258f45205827860251be1358dc3222470f118b00b078b34e7792e58b135c39ecbcdc3fa39cd8c559c4550fe994bcd39a643e3bd3b84fe5da5463b6bfda8613ec6da9fda7047459a53532ecbb9dbbe7cb3fdfbdd0067fdbc8612c4f0c6887c3a8a08d832d2187b5a6eb99b15530c2d571b6cd848a31dc04c1f260febe35173a6121e4ef01820d2e440843c4d14a6cc6ef5313ca9b6b179eb24a4b8679b12a1d43016fc2707f2f2e953bc234755996f6020eefff729ae7db820499be44ec1550b5dcc3b47508cbe41bf3bad643a412fb10da5297cb2df0801fc5d87f37e1409fdf354a17a44a57a49183fc8f845052481c43d7e37d28812a04df9fe36d6fb0365db74d97418c8317c637f9e9987b472abc991b11b873a831f5476874c03dfe299bf2d2810dd94b00cb52e62a403237bd9502772f39b5c585ecc4ebfc9e31b33573405d0f6e1b687ab15da2d3398afe0226db7de6ae867344f0d7d4ee74f1e556c1864e41178dd8e012e8a960022310b5498574baf809877cbe404dc1e24633b5e99f606fb954bd5499c09660036cb77655cf0805a4949390f245602b2a2fb08aa2cae3f3fbc4b8051790b3d542774e2e5618fdd92fe1980902c4e1785e291fac8ca5dc1d7f8a2a1bb0bec9332dd25d703b095b0bfadf7838aaa7b287f4add5b65a727a6df84f80cb3fd68855d916748e5a23f0f9e717644d921f32f0fedbfe7002596da166ef327e948db5b8fd2d0132165457a12aca4acba982a923b54615bf2ffbf590c478d9053b851682535085d0bca26ac6546bf5af64110be560bad4598ee4610512f6372248d16dd162a82205507cca0dbdf4dc266f99a1f0ca830777a241b7fafd9d63e01834f835f7440879d90b2075a49b0f9ac9e39ea1407598dc5c7d7eae653a1d67339c40dc1047b78abd05836b0c2795bdc544c1d0ae49874c87ec70808d6841181c83b4af3d2a6fd749c17ac0b0c8d5d1463c05b217e6a9da23754e3b69a89e6911d45530b0432125cb297294677f76b1f26bdbbd0d5a04a36c87e29ed74a163d196a12414ca106932da844e35e33be5e8ee6ba0aa15ee473ac5f39876ce02563c25ec3199322dbae7a952a737890f1e3352605c7e69c7917a5decb29f06ff5c0ff826f7f0e0f5b3c51d402faa2ea3e51f7cd69f96d6848e75de4e7f084e7e61f94c7c03710e5725d47403ed21f87f2c9c5c7ba76a476df186f91dce2ff3151dfa6fb47562c406eefdab7658af5063e2f110735a02fa604a52664e2b2685322cc0626c3b79fea29b55e83b069ef97ee5e585469afcf3627ccfeae696b61be00895ebdbcf678ac26afed2dda7a9c8d33765d88fe34aa5452ab5e4ad8b9509c96cbaf66b45403079004b79fe5da785dbbcfe1df1d8f5ab1af2941948ff12bd78ae8688049ee4580b8e8f0de03f75998fde77cd9332f7d1fc7ccec56f9ecfc2836751283ec1748ab402b1c3b2a15770478cf0d409c6d247015646faaef4869e661fa65d184000094a10ae8a567af018d8904f589192ed38f06e169fb5e0c577dc133b45ed5e0afbc6dcc6eab4c5f85200ac1a609725d5d41655a7c7ce347c7a60dba924034c7876468c56b6c2fcf0a81d1dde09c7592d3977cf1903489636ae84d9f2db8c86dc6d2c694fc2922e814a3945564b6f80356422206aa4a8cd42285eae9920c3028796d81eb3084829f755f3a52850eef5f7a4b7496571ce83749b7aabba9b0026974bd6637b652df9bbb8da91dd81a6288719f1219fb8e07ec54e271c603227e3e31123a48266d971b52dfd3672de0f0baaf201e0cc5aeb51c8e352cfa92f978c341283e5447c61715be4e92a8295860f2f64155b97c9e24bdf07f82455210a947d41718afb1fc4293a9070344251b00f982223c073d49cac81b6e0745ed1af29ac47f62f80bd236afc8efd1c5db82e7269c5c930d03ab24fd09d869c5b0eceaf3185fe0a5d084b23d323cb4150bd2c503839328290ad0ddb8e7e164325efc3d9c8e535a90e17537525d2f18164378ea330b435391aa09d6eee41fb4fa9318218bafca2b416770226f2ea907b29367c25d5e9460c527e9aaf01c1c04c84624615d15d245018e308559cad32e0cef2c50dc39d9656c93bd76e85a93ac438ec6c70a35ee48d9fb744bfec2926f5657f2d49fc68f6115991cbef90eb829df28f365bf969658936a2baa50daf13681f5473146533b0ecf6800603ad00155e19977fc2fc5449928d4e34086c4b6167ee232960f0dc358d2e3449cf20c9e228926c2ada8f865383ecb1aa7505af77955155cfc3ec8dbb95320a6ec3c5561c058b1de21768de53ecba5d96b813b320310ab9ae8e8084f67389d0746bb8113f1e66e59107a382c7c23b3812656a61a9bca954f3b61b2b30840db9733dd3bc4c6ecc2a4821205723e2b019169cf48358966c86b4422a9d4fb2561b5a08ace10a0ad90912f12dcf5bcd017b8cdc1cf5078ecd000181a2fd121aea93397487b217278ad061ef116fc754d88b6621034ab6b5c835ce2baf9e9fa703850d24b03c7baa9daf3a1e3c4e1966e60e42f800ed464f429676f577542fd2b4ca0f0ca0f1b3e40107c50fc52a55f7638a334f0694a2280188f40427dc3ac72f608028b467a93cab0a54b703d22e378085f3fdacfb58bf9f8a1d38a0152fd2516db7cba864e1cacd3eb0d7d363bede0b5de3e6a983dacd199fb495107e4d11822d9ebff43eb5e895ad9d28ea7f324a5e40cc4ac37a1fca8333172d2f6486ccb3086a8773580717c0d78fa433b332acaeb57cc9602026f8d66229379c1d6b3fd6e30b364de58e7f788ae3fbd70dea7382a12ba33ed49b280d34eda0fc99acffe7b98da07cdc6c68247b14f185698fe8ab62aac7d3e0d6dd49d24e05f3d0621807647325555fab67f5125db91d9b23b3606e912f3a3daee7549ce7304bc55d2c76507cb9b988be07bffbfae8479c07ec37d1a1be31dedc7ad62a79038d145072b04c699133cfaf9b361d2d197f675134259c16853928140a6b2408df391f09827b7afcf6494666dfe6b330570c4fee16dbed2568329e9fcfecf521e17651891bc237f36017dd8928c2b9d97574f103b42b67a265f89dbebc2cc450a811b8cdf576002a01910331b438da6168318f0f285ea4d6d08457fe18ae53f8b5e66e7682437c28264842fbff4315e2becbecb8d3348256fd4bdd66fbb184069c3a82c59367eccda53c1011f0f3f6f3ea51b19ffaaa4775e77ad003557eab46d85794aed22c15f0e275249335fdc1a48880adb81c375a5cafcee1ed7609d1b3c329629289f98bc29fe12f0f9a8647ac0b2ec3696dd1dc8b6264b423e645af7e2582f46253f6f6297b0d042caec21cb197b4ad8327b256361fca8fdc60f61b57ae16d14f7ccac423398c853b8049c8c8d60575fdf9130b5ed64a225c2d07eb593a5b931c6088c270b7659b5f081da6ce3068e4d9c29fd32bf1a7dfeb3f7b4359af269cb3959532cedc9fdc0fe223c09d593a235161478ab1dd09f66ef8e325163d0f41c3426f8265fd6c71dcdec70d6e7ed48d7234249606258eb988ba5cdb3d02a1dbe1f1513e8ba619cb4d0ae50adbaa7ee425f5f2ee9a209d48a7408bc9f1b179e9a203dd469cdfbeb46975b5810c464881b8d1a6b073319baff7cd147211023f80b616af0e518f028c655391abbbb30b9be92122bed72f059ff58de61443f35915efac2d9c03dfd5afbbdabcb5df17af5bc824d44dccef407408260156acc40bb75879b530bea52eed54115db6732a808ba79d0e0b2c92679cae92affc0041a3a021a96972fc26132618e69174157b8cf3f6f1305437fcd0dd5252ff3e5e7ba891397321576a5e184f01b1554f492bd1738baeeac142145a97b208ad0bd3bf2e868186aedabc72629c8aba8c0b85faaf57b8bedb136f89a489784b330b57f54a0823ee60c022c1b79a12c8fd5d8326f1351fd8126f063cdc9b0aee0ca88817fe05b7dced37a272596c9c804310bd452197cdd1ba15ebb2a55e0ced0161f1519a77a575c5325f6f1a112b132abdcbd6e373e8c0d54bc9a7249f54dfd23d8d241b4a4b5f5c3b059cbf52cbcde5f40d0bec12668dc2ca79c66da2de378730754c5e2fcfd12081ead20e31b0ace79c0b25951411fe8e37a818ade216390b66f4e498071b1d3a6cc261ea9765535c7de91ec958a8d16bd58238761812528d05e3f577fabf4d32e75be7bf25122441e0588ac81adc4b4aaea4984d0c75944a90c32d119271aae32282ff23e8073fb54a1b0c5e3a198071e51c300347a4ad4e241adf44c9d35692e5bedc1eccd2ca164cc0f60ac94fa98a1f409966db5b159cd8f8840c1fb63081c56016802c766eb79210733c0ffafa21ea0b80d079ac2a69055ffd28cddd289b765d730781be796954a3e7900f6ce16717736a59477c480edf4756fbe6ab4cb8eec1ae675f4d99380d25b18a778342affc0c5f45d04f2b27790e8f65e0f21e8b9b1f6d6f95e5df22e84c79710c2feed8ce45a28dda7a01c72e45d1588e30d9b3f66fba1e42aeff1306dbdd75f9aab4382a9dc6690e9a13d647247482c305531cb43e1883234c6ad7ae6e1b04aaed0c366dbd6286820d63ceecf42f38490052fcf38fab8ab3297aa6de931fdd03419aec5f455c913d67743252ed1f8e0f5f1d6d2b5758424756bec4fe107876b4fb2f49c60c3493dd0b3f9d70ec66c86819a52a14531d67a463e43b9e5afc7dd2775be383a5b6bd2c3d074ff30ba5ae500a09072332176d6d227a64f999360d03101b3c91804205288b5c0f3dddebbde0e7f69e937e2b192db7b5d06188665ca491e05ee873288d77636f1af5e6f6cc9bdb82157de497022e297524cdfca3f737082b206e5e8b4c8d9ffd1a6d0e0cd9e900fb77e6bb6cddbf70ea4848a55a010e60c0bb9e0330c8fb54ebb7ce0371d7340a7891913a9e7256e858030bd818060a053e0b28d95c696b7ba10e1bb7cc92dc35e10d792d9f6e104b66ef2452e41166aee9da15878d6e7f10ef821fef524a97212abbc89363080f858847a070731e3ef57b7e7984d8044e1f2652d81d20a657107cded2e9a09522472aa17e1c5fb587cd5909d65894cc87ebcad4d661cf735ca93598aba79cef7d1a17e2456c767748b670dba91c6a6a4fd31d0104ad5056c93bbb82402880152d15a0dbbb60c97a18acd094ff9a03a1290df5362c0ef315397865d6dd957c9c7f2f54312b778353c590ed368046a03e29090aae9009c4c4ef36c185dfc87084021712c4c8c123fa2cc27a61c3cd1dab366104a58a306ea25363d9f0744ba3dc6587872244dd6f8406dd93665bf4537be8b9d8bd86b32be1b9d312191633b482689b9c5a8a44e42decbbd9a9a79719f8e42e3703d0b2bea73b9088a74098f9c6ec33a2fac192dc30d3a8146fb1a2af1a5c1d415f96d31791f737d8e7c15331f2ebe22c5ef76efc144f15591c34a32b943300ecbdd8e5f814ea4d3852eb55a11dbf0cc9f3dc6b72e1521aa27fd6b7008200e351f783dc0a94909aeae0b4297523e52521e6ebc47fe2cf15a3b22b409b92987c149c0e0713978c5ff83e44b30d4cde2e3ade9a97596898d710ac7fc4127515dfd6914c332e460c19272ef59fe7fd79ab3ee24668c940de518ddd80b130bb6a9d76d76782f52811e8ccbf848dd46cef8f6af89796ce9e933b7aeb6ed88d5fb113521fa616ae3e0733003afe389765e6e0acb9acd1675f7559fc1316dcb2492d93cb66552e763cba71872bd61bf39e65e04bdbe1a03c894187976dcab9e5043dd3b45e640ced44c0c13500f3c5b531d9bef172cc90c225209b570b32c6aea929434dae18b62cc50b9bc3d2f05ce6be9611a33378286b1b09de5c24fa89c4065763fc2fe8d4da2b8d05cc794e671fbe8ebd81aa8c87cd2a28821d9d42eff004b86ed491357e5dec714b552f905eacdcf3f3ca63843b8bd0b0b49dc238969f6bf70c7378adba63c9b6bf9da5499bc88c8aa3667ca14e68fd87c857b466f219a5edca9e480d90f087969a8384b082c8ca9c0098221ff0ce01346d47b603f34de427f7b10ed51219d87cf608c83bd1be17448ba3ebbdd14ff68e2f0586a44caa6013946b548d724d9ce3ce10feccb5bd42f3ae824df4c8e4109251cdfd9ee110d2fe9cfc0d8565b5e305b9cd0ed17a46de2459e7bfa9e629d69c4794599b9bdfa12d8ac301f8080cb0315c548e2fee27bdd9104c77dc7055da9354c8ff54c96bc46d2f3fbeae3638430f0302ec0e93f62193f752479e2c3fa768f95eebd339270d8bbcae8baf059ce5a7f0ce1565632ba68807fb924b0359526a4b50f0e5751773922418b609fa86aafa25c5fc6743844297fba3c01359a22555373a289ff9b8610478f5ed5a63904fbc6342d805a0acd317efab5985764799aedf84643454c9f20bcf2b7a0ec9d8ff65c97873adad3667dee64d2584a272e1485f7c4b87ea8a37fd6d183e6f5f4cde7bcae2bbf48023557dc73dc33612c638dc43c3cd56953a69f3c5cf1161e31a3f944c8480dcf5a46250f58b5d80965eb4cd9320a3e3050e1d0f49ab338e4fa1ec9e5f1eac9db02819fe4809805d4cacf7514858281efeaf33eed3e9acf2d7409eb29f29467e22ac8517095e5fbcfd865746d1feb82b4c547baf449f584abf151abc19202bfd5de7bc4f2149e086f23b4d2bc06563007060374a222c04741a687bd4d707e57bd36fba9b4271b4e31ba44656255efd1106757c2cf3e25940972b0d2e87276538d5417740f37d24ee1286056754fccf2198e73d4f4f1049b0e7c7beefb5242c772c5294844d7f8be2fd5318c16ce652db9eb11d81c1f8f9c241257b25f8502d08a4895f64ed729ec61a01a988726aa296d3d4df818caa8ffbb0c15043f6adaf56a8f584868b7229b2f2bddd57e8d47898b54560ab95faf88972301f3258dbbdec02405048afb487d10f07b6a8ad02a92629b92771bd9d0fcaf30984051a5ce4d2c1eeeb020fed7733d0f765cf2cc122975bfbdc885ca493432e207d3a5a801ebf7e02a7756a82dc1a30d45ed22f57827c6348bfac70844640878e5becffee759fa4d59f90dc20677308716f339fb50e163eb3a84f6925480ea282d47f37346eff192220c9487bbc95bd89b9222f582cc87823894c2f07a39b09218db0afb026783d9018b2e46c0399ef04d1d9524ea8773188bae086c9162195a2ae031819c13862078831b4d3d0a8e0e5dbeb0c1c7a3978f1e3ad50ed7ab698e74b46c1147c966a78962321b45819a45156727f71de0d1bfa36f9bc4be9729ae3a54a1feb0e6c4db789eb66d5d12d621af45dd4ebc3b92ecdd409cdffacbaffc98ada9e642a12167cc9c3510bce41170f6b4e002297dc80edcdc4736a3993ae45c58d6850cf7dfc1f16bd0a2f6c128d312c330f94ea1261dbccd359f15a1e3a49523965733e7b8c2bedd7535cb80b2ee335e6c2e66dd32287dfb44ea3b1d1ce8ae98ab3c2a5dc06ae8e844ef9b9f1bd9a96c8df1bac17bb2ea9d761ccd3ae80fce271f939320016b07722eca73e2e26f9c9529bf270e4e4522312e546f0243d5ba5e2af86d6f697d99651c0a592f9f429b81fcbdfa2dea7142ed2c95b685e63ca0ae4c6d7437a7a2d4dcfa616d1a3c8acddfa11a72fe2b44a5acaa176babb45cd6cdd7054364d67fff46d1e3681d3cc756ca4a80e6cd8cbaa7f08132095fb76acf9cd8cd9d0f7c33de39c37edccfa4ca382d28086719bdd2b4839c399e2d5fd357cfed8d8475bc4ffedfc3b12176a8288d6e02a93f93ecab26fa8c6fdfaab6ab32f7d908a84ec94929c722921696cc2b39e5603f30058e5e48a68b2e53fbcafcca9a9304610c00f70f19bf5a53dc7a33af0ec9e1c80b32a024bb661db9054c30d184c2d2f58229a2782b64db3e2a9bfd00dbcc17065763cea22cb463177c108696ae983654416d024fe1f1774db0b424c5f4315fa7060c7f8550e59644199ff17e473c14c0bedb416eb1357e8fc033665aebf6cdabc54e930bf41104ea3ba2a355fbf0e28409cebc3a69775dedb3e6ebcebf95c990bb522933ba3ee19c25a09e8f37548c3349d460a5b95591099a38af15a58986d840a5fb72a2ed89064fb7b8406a7c5338d1b5f0619c5826d4ac3cc3d7cdce0634ffe74872329dc083b7b6dd46cab912c9d72d5f91fc6cd7a098b884980b90822d27aefd2b6ad19081e8f411f944b3e9a60779f1bb878e4ea41dbb4728a94726980ded4543f634e8fed9b27c549bd5d7ce6ea1dc67feeb03b43d371e61e2aeaa5069b90861cce3ecb206da97600d56f6054fd1c5f511269fcd962a4400e629d6b95d4c3ee4cc4e93412c279871e7d4e3c0eed043a0e8e04e5f971e61a4e3f03078c84740f419dce70c507b377c97ef606b28a54850f92e678c1d4006733405b5ae88a4a2fd32293f349527ce3ce404983b3471d9f213d9ace52392660396baed47fd15d7555f1ecfa3004360139543c9ae4e4e332d7f36cf73fcfb829a931c8c7aa6d12051b9538dc54875f13daa90988197c51e0a00900a202602d20dcbf61e24c7df29fb5850bb86d66755990a7f81debc140c4e8f345b0c0656f124a71b4bcc728392eabd217dfa1e69d3fa3f9e00a29036333a2014e652e49a95d08fba8276f266d08326233aacef963b80efbdaf1d413eac77f27bad9e9cfcb0a7120e904ca40e403da74630557fa257154c378afa7e0343c474f6cdc918ab958b593d51aa217e96c276d4753a66d4100f3c4b5c9f6e5e63163985e7829873695aab925231d677844098a8041f55f20dc088a204164b8f79f1cd2491b1bbeaa79fd31026759f820bf5d25d2b0ca3e70254f5a21af6d6e555e95d4d77c83222812b0f6c9429757fb875d63be71791c7cf51d9b8e7701125c798d4faef048ee1e10b8a6e0f01cde1c27cb06caf516c286226c9c5f809c8c469ed9204f61a80606b8c20eca0116b9d83ab6ecc5c04e5deece69d743e0fabf127013663de430350e14ebdee64b5864fe399867326b8f9260dea4f655d0a62755849fd02acd898440ca91b395b1807389069b8a88916d93a60e6f5d7be6c46c703e93ff7cd78bd6fdbde5842a2ca1e62e7add27ccc0ee07f44953e97d1d9d25d8f67104a74834f58e2bfc786ee317e84d67f8b33d2769745342580fb0b1b074f1da90ae6c2917d5725a8f1c5eb700a6e91b2de07efd3746adbd9c5defe35332037c501d3862268c68664cdf1dcf82cf8515b3c79fc055144835d868bb58c5731b7154fef855b467b4e8c2ef9653ecc3f8e472388f164dbfc6bea2faceb028440d4fd4bb0f3c0cb3989d1523e9e652fd6619ced03bf2acb996aee970f087ce72fa7e5b0c886d04a07d96ace44ffcfc40a754ae767b825602f3757299c3dc735246d9773ecadbb6a70f6e6f7c141822bdf0711bdfd9cbf3fbe7e6a3bc1101688b6d0e2c72655b98ed637637dd2a4f160a63f407e388a776adf0d6018cb152f3bdb8ef2ff570c6e72c49992fd02d9e15012c5a921f7f3209ade72a9cb4787462d9ca5aed5a261b05bdb19ae50a56563dcc41d7f8aa53d6255d21b36addb0acc7fcd044588facd09563ea5318916b958190489364a23831dbd7be72498452f1ebc47b12069140d351a2a2d23f09527ad1af192aaac9307ca7db8d735c6136ec2f0ecb9172667b85728ba24b471e75897c12fb996134feeb65f07c4fd17877ff604c6f767e8c4ea3f69520996db5fc8520df050ea2845c522c14d0a04d01f427236ceb9781b0de81fb082fccbdc442edc7fdfdbc6decd428e9d85c400903e480b8da901ed2610d00810c553430bab54c1a88d02e91a5d3336c463ffb48b2512a23697aedc24a0cc37e6fadf2de3337144371b1a4a90ad982062e2ba0a187df163e072b8e62158c287628c3ca3d71ecb0d1ec220ee28653b65345846b2c06123b1a016dcabad3a44a5f852ebc9bc6b9b32e49c7879619a4ac1f28ab7d92d632b06c0de0e9ba1e42a55ec1a66a43f93b7a62e8e800fb0ac98c58845590166f5dcb81506dcb2877b26abe31e57698b4d0bf0e0d3c62d9941af22632c75b8eadb3b7c45dc67e6e5f2c15ab01f7ee8a7ec928c503d1171a64a94126c21c291a2b94a2dbe803eb0ac93d0096e43c90466c69a2913d79a8fb8a4b8305106403327ad141a0988f0afc4671c5005619fd2af5fceffb1d9c44ea637329bee0541c5c53b702b1eff9793853453239abe2440d2df4c55e4cc449b601f4911c49185fe4ea8f9c953114d850a4a033021b9cbb12799091d91f6491953de7071ab2ae83979ca48524ee1d0219720b5da4842283e9fc4947b13a0e780ed97fce6ef1350d4c4f3e850a4160047757f3609a4c4f51f9b1de1143fd087a2e252f330e44458bb656c37008ebdc2b2a14cf21d24ab096ee5c23631bfeb520962706203367c6f7035e5e894ec752d7bdbc6dc6488f0955311b3f4ec2ef2a9762b6a2b2644df966165ba37e4b0bd8000449260944da0039127489c0d75614e13c39641039d9506436f8d55945c8bf38a7f92976642e7fd9c45238a6756b10601a61bf184215d3a8058ff4fb4b3db6f222da5b1af9f110d47a2a558ea5984b92363791afb8c772ced747c8d3576ea7e11771d5531e520cd863611acc3d56833510fccdac78d29ff893dced7e9c8f3697dde1cf410a486310f514a448b7de2f516559218a78f8420ed49936d2b241b19ae756df520d329e9e6b8b737039da10c1329b049f84cee8751945b49460afd6a44b89b478a59dbe6f6a39be5502b48e367ce2ba7def276448072174d546b9ad61797ea89a0ee202396140ffba81e018f2ee06b95550df1d6aeea0d0e1d53c33cda271f9ac8d7be241a5dc2746eea2a7c8c895ffaf79cabb6858376ff1adddb47b23a2bd9902b70a28d0fc7f5c4baa1e23ca09368448660b28d3e4fbf038661cbff5838270c3e10a1bc8adfa61398a4acb3a27d4b1eaa9cb7ea8716485d49007ceaddaa69f83ff34e005f2fd3ac1d338bdf96bc0d2dc162a67c80d2400adafb2a152d2e8e1190914f8a8b18e04cfc14156599e4968be1e331975c3fde48b7f5f80617da655d40ff9e45866814cbb8a076f6946f7734904442eef8cdff34177b8b13ed62c96bff03aa2bd96068e527715b9b793316efc28c31c11a56e54fe2da0a11c84d01daed97b9dffd34b194586c28c26d6179a7f29d9e4a0e723624899472f47d8c4817ced9b9efca078b7dea8eaa7111b74b363761932bf6a991f7ae911e2fd7f2e64c368d3a369a2a16cfe4aedfbc8a85bb4c41ec6c1c72c5922393d0f090bfd8f1da688b17e1ad2b3c4ecd4eaa84911b2b31a6a186e0d97360d6f67eb31a84279ba366ccda9847930adb6df0095849da52256b3b1b77ecb6909dc13ab94ff40c83cc41960f665dc3615088d3b7824a91570a8164c681eaf90472a8de0bbce28b9eab5a5b1b6ca76627904c44ddd9c954a6ab0f6c39e69c2b509c1740178833cb10adcd32b320cb234b7dee7481e005233f6d07a473f0eafb06bb654ebdc1909cb857f18226af2d2d8a87874e241a77c5f3006d62b6c1565a7f3a2e824903bb9d41fea3f4f1f09e335d0fdec1c5da476ec493bb36f88fcdb8bf4f656796ad5fc9ef145fb44671a262c92ab698ecb84286f2e2ca6bef871a0fc40a852b6b6b2b960286deb432ce52b2cf0d5cfc26d02d537afc5c1535f45dfc4b0865bd844940bb6910f41611b974ab3a856fc3b9a8e61eda4a173e019b7f5bc401e84884d5e7be5b4c494cc714be92fb22902fa71ee3096e31208bee1e1237e58d410324e23ff2d5ba50141adf4d3a6cf015a05b713fa00f59014bdd63dd3849f0dd565d060fe53d06a67afc8283505f0c7258c4c56c19fc5288f185c045065aea336efc510a396ae5ecca809c321427900d7ea374d4dfafb11e00b61716d7ea6b1e49dda560db2e41ef6834ab6bac2673b47bdc8af4ab44567c99046e4bb4ac65fd2db5de80e3ba37e9e07f793bba862282f29abc03c51303c236b7699f4590c74d05c95c59d6acea7584fc0b5a8a04c78dc4f1a4555e37bf247195ab4ceb25376be774eeea7973e41760d4e6d772504c8e5ef44b7a0024057c0a4ca58a70cb62158b303df6d681ad84f955a86729a0ad68c659c6d4014ab42cc1df69498bbe13f97db59e8d1626354969dbd2aadf89ce04c68eb5680c56b3a142bad9df54c0f0f596660d43e64c826b2b17c263d6ae50506c38f90941e912af09f8ad00368b464acf25f014c53a5d2a13f93c61f6779f1c6673b3f1a71a68452c56ec8abab2cdf79e04f1d617d19bccbd66c932bf8c487787ba547281c748a8ea5156b0c17e4b1c2c7216a34610ed982af4cebc7276dba704c0899b19bc45ef489c1de110b179247aceeae033a9559aedf310d8c2f2f54cec8b8967456a0aa8aa1a8fd8d70880da1c42402b1ef6c9b2c3ffb217fa99980a3bf4e94cb3568e79c6d4be7af815c72bf69ab70d971b54ed5d72f3a40be27f8cda0f6fa8b503ef744a031a8a98538d64aac5b68cfa33a753777d1167e91493ee082de93c99dcb2b425c50dd66976414587fcdd1485c5d6459225fed3226386579635c8bf8278eeb5e11fb9db1ceaf4ac4f4e4f71cfb8c4b6dc6c4c08b05640017792ef637767f81ed017d3d2599ec68297147af10d5245f1289dfad38f8fcd48495483a37e3111dab8ae39242388e738fe5eb82b215fa9b902fc3858a1111ed8f11b5056c5ce4df5d53315f76026d8eb540e24bc4b111fdb54fbac0fd83cb1243b13ffc0f1dbf762ab12970b8a681a26faac55e4832f53dd656671f052c0fb1f13498d0e6d2d2d55511b8b8e2e4d487da22377dfb9069f8024d974d692590df7f30ebab77bde1be30bad4135661597c7cb9beff0c6123e7650220677bc24f2e25d265905e298deee2e491dd68b4ead8fb3403fd8f62e3fc2f06d0bac366884ee4d56ee3260536907cf3395bc6d27c748a5b05ee762a13b11bf5dc618eff2dcafbb4f6f9922f7d312063f70add0c9b5d6043e372c111fccfbe5c92b03d50ca0f2e56a2eaa8284ca741ef5f844129029ae54656569dfd1666bae22f2b679e123f7f88fb865dc245c982f34cacf6afb2ab3c3942bd4a7086600b15d47d5079612f42dc72f5dfd70b26952994525ac20f99b087c544b8226c780dec525386e54b7a867cd2ff10d5891c017f2c77a2d83c5d73e9e29ba61116c89bbd645d936edadfc4c149adad62c6e9814a83d6aeece083864bf3815a4039eb9c928a71f9575f7e6eae2637f097b93fc536cf30d49be3b6fdd4ad73c76d01fffe403950fcb8fcc42a61ccc33fc540ea26e35d32c89352e07ee71ecbd394e5bf9bf5491a69f17c11ffa873e7d0431393c78410d8cd0bd7de8d1085890773c0b73df008732515c295abc8d3e8809595ead9c32a9587c42faf5b9c67e3d62158c6bc4aaf94bbb235310a80aaf01b643433354e3b3cc036e04fd3ff35a0a4e29f19e7d7c39dbe203b0b922ab5d1bfc87a063702dc42865bb80ab190afce494935e3069bc8b062261f6b83020c7c5c0894f7d02aa4719a89ed0e39d363366c4ee9c06fafd647ec958f42e7eff54eb8543260d5e15ea6710cbeb2ec2d51244726f5a5f7ce470c81757ff44d66e392bbb8b9ed34c5dcabdbc593f4339e44ec3040928ebefc7134432eb5bd1c5fca778de7b82600f4205c1d1e6bb1fa7afa8c26696b7dc86b69d5e96e2be91078e73c37ef415ca585643372041192e4ef3e8f70c97f0585fe9b5d3ffd674bbf461bc80bad688a071026d9ef348df87a8c6612e25d5e10188ee296d673d60f6a433b5c86e627ef4b533ba290145d69a5e1dfa9009ad3990f5548e16148bb144cb82133f5914c3a0964a80d2e76ac0123de958cc9a865374e6d6145d03fa58cee880616890b019c1a94a50d9a37cbda3a6697f73bd1c90f0049e1ce2caae1561c1d99db52a222c0bd38bab3a71b99129f3809e847ed782924a2fcca21b4427ba4845e74c5984a7f9836cfe0503ef3e9dd86160c8cb9c7a833b1cca9ad06cd24de12344957ce8c0f658546e1022f06630a3d6d2355c0676dc36e492a98d09d0c898f8a0d728740ea2ca495fb5048e44a79a6351660c9868f2f97b6208986503e3f35478f78ced4e5ac6fa6d325639e1d874c623e565edfeb4dd8aa381b15c68e979cfc60ea8eaed4fe3508c00034d2d926eea8be1ca1ea931379592246ace49a36342218d5cb44e2d29d8e31c7c9fd6f1621d3fa2bd11c43039d185b4bd141f5e0089ccee356ec5b1bb87427b91444a0831c7156cbc2c8538dbbe305f82f76458848d3e24de217b2e0a94d943e0df84a6da8437c2c5462e4738538b6d37c5304d6a7b5b0cc0ee49cf644f78959849234e40b1333433d9e7e3248a329baa5819d19402560ab37ddb9e84e1637574ec92c0c6c7d555b90a9098988f37e1da1edc6589bb6c82802b4d61dc8fd6cb6e57dbf4108c942d4c8aa2a9caa0671df2d8f58d8cfbffdea53929eb645c901760a9d1ffa30fc73462b42b2e5414b21a9e51ac64b795ffe9099b4efa13bb6c88c71c62b6a31140d16dfed1b70355adcf809e5dd82e0c9b6379483574da11b6a00cd5fc090d71fe45de53949631a9dbd1433881da2fede60dc78c614a1dd1da2db4eaca9b85e3eceb46e71c4e182eea8b0df280848204dada000dfdd82acb9a25a8209456483799e7fcd56d7e9520f6b6e2a18b295442c7c9ba8a64f47b9b1a230f8bcefccf78e139076643e6c890615e4812397ec1742580d374222c72e02bdb54c4cab485d39661d7a18d3d008d5c13e8d6b100c671faf03c3eddf6cc6fbef57fd9c122fe82e90cb7a815e7f8c2dfbce782d836fb706ee6103b6a32c39ba5e2a51c7cffbbd1df10c47fe2a9b8c1265b09646bafd29849ce68689463c23092c51c098929bbf42573fa5cff18ff2a650e29ecefdec2c3eaadeba39f9a7b1e881ff3a395616fe9b5ed94387af73e94130085d2b722883f25f8df275d14f54d477adb1c3aa1cdcd2555a116b777a447e311c3518cfcc90701b3f5e8c3300ffa6968e19344aada12de2b8ab577e5a960d6ef1ede6e4c61ef6c7540d44b2e878149854c88c59cc63a39464ccdb343d50b88046827464075d727cf7026ef3b213d1f6c0e89d34ccc8165780d79807b57b89b259d167548c888ab266329f6243bec8c6a92e2fa590d10e187c778b798b18278ede8ac115b0072ee15234d6a012c16217f07acd1a235c75202472788915ff6055a4eb23507ac41e1d0af45e00a12ce61fd9910b3427bc96f06ebeca0f7ff5db1805bf94b08b7fe0a98eee3f38089a8a6aea0207b8a7525eac13679edf07bf5dfabc08a5923a3eac894ee7ebf2e3039c564061ec5dc4f654e48dad55b4fc65128315e0ffff5de683eea2eb8fee675dcdc2beb507ba3195bf7cee70e9503f918341b1e10411e5307d831dc15ab962a773e1e9ccf2cb48286fb945551e143b3e4c2cbe9c1cf8870b315ea1026f83df7c843ecdf76171d42864cf481f116c81d524898aa4802d03018b672fe68e51b469c912beb176f7199f2ff65e1b2bcdb531229f35b9d823e86e284fc1e7c41712b4291b91bee880bb7892817c2d7e41cd52f23b7d5feeaaf58069a710ccd2e99d7b4172daa0ae7656dc5f258a9828c417370cbbdf8aafcf1783270da57f592eeebd8aaca1e488d43e1085a1e7ffcd3d0fc9ea90fc28b5db014ee702309090a4e156111fb2e4485f52cbd2026bd106d46b0a529f13919d87de32934b0c559641e785989b9742bef921ff896bf129649a678bae04cc4051f32476ed58aedde59e508b44e174e901fd74297df8b2fb4cdcb1e594ab5de756b90bce4ede4008218c471934f46daa26fdb94d724b96ed40c438765119a383a64eb3b0e0ff35020693444f389bc044c4affa899afa7fd92276ff3906cdba92b7b14640953af468100b8de580baacc0dd918779bae26e087e4a14d9fff6fb5aa60697cc1638ffd380e060f1fde920d73dbc3603093fa09982ad10ef477d0c8da718f5d5e6e3855d78e333e894e43e8fe5ebc43ce112d588beaa393ebe515195d2108bc3fdc45f92d72c693806fbceedde142acf2de4fb8ff017bddc3fbbbe859f3379340c6505f2cac73065639c5dc478924223232f796960374e9200e79b4336d238bb7b0d387d3c12eb09cbb8c1fe23f604b551ed2f79d12fd9bb65fae5f22efd8b5f6ddae487b695db0784600e1e9438d342282ce8af67528ac2bba50905f9206f959fa8b45f3af5d6daf08b114fd20997ba5782018f8eeb882680590437e3b027da6091cf5fda7c480b46aec0e8173306fef78794d16230631e042d8783b4214315217a9c938133609173a634bfe58b8b98468141ec12031410472611ff52e22f813c4ada82c9de63ccf55e5a7ff56ce05e7ee981ee43d257c44e72abf70003672f609c487dbe0112de9672c7a0d87da53235c78318a4687f9810d86d28617fd3e3103708d18905c4c2cdf3b60480fd4dd69c59fdfba6b6c667b1bd5fee5589ba9d331592d03f05781560fa9511a7679e62f7f589f0b933ad7bae7ffabc215ed42e964bb19747d90c024b37ec674fb2490190e1441c98dc1e889c0156265a9a38813af9fd41600162f0aeb5eca237288aa0625fda104e7bf7270327856b3de1e36bef7c4e7957d1e038a822d892e53370a3eba67092c252a03a97d4c54d1e44a0ffe35d7d6009d6be441e8b15b8039f6ef79a78c8f1631b7b0ad6a58054dd20790d973705392232a4ff75cf574a9c68e00d575f93f70b9af1f4e7e23b24b7b86b23c1cfd77c5e85bffa5c6e935ac10a1a644e08f6c78af16b794680032efa0e8eb2f73f88d00c595fcea62b94460977cb5559d6cee162ad86957b6f56b082b38649e395ce4287a7e43e78a937839340437de36d1c38021e4d65267871ae28df60882422e4d1fe8fb4856f58733747d6cd951966c071ec1cbbd6350f60944479595712d5b19b1cd2446eda6908f1dc7e5b438f5ce2f345794491638683d86f10a7f15b30e0871bdf283b1b1c96e021ecefe6fdd82f7d43e07633f1229d6b90bd04a2c1ec8464b81d2a16d8b3d1576c6177a93d9aeeed9f5b2b298d9e9a89b0705e8c2a48671aef68069bc02a0cd5a1be04ca781427ce3c08b7782a59914f28ae5cc338e9454a9fc8975bde3e23ac39be0faa5f4cf4b3f2b1f1f7d5504f8c7772c59e19c7c6c52ef98da8027b590e67b970fd668d1ee26b162c49d1bb5d50c3437231a55309df3f4ef3e85b6ea7933f1c4d7d43cd7a35fbdd2f5dd4c17063bd161123a2dc745842fc0e0898aba054a395e64802caaab62ca832b93196eb9f25c5d115aac929ff1f96499322a2a09ba8b99fb5479f8746e0dcc3ce3f2f9e0171a260aa7fb934f8eceeb746b541b4713f6cd939c78270a3758f5239912c01f683edea23c875daeb03790b5d30a9d080cead86ae5d84b97563548b1bf01d6161f05832e0cc433d65a79119e3f0b6889674e9b031a90401310d015f60399696b8c59a4d7dd6514894984fa12062b58fdd302b833c70e832d29abd407e8d18ec3c01f7214a39367dcf0b2474fcb246db7dfaaf490f59fc153c34a294c338e7201d5dde952ea211ad729ac76b736c4ff23996f821db9fa5b190d3dda651f995416382c446784a61d3390265ba124fa243b0b963d6c1f712d09e37ea949078c0a1cd877c0117ca8b7b9bb9c1b78d08429b6d96d4d5295843e58e393e113cd4723f70fefb6c9633bda85d33d9810ab01ac1f3c6642b32d8cd9b2144a6cfc4df394a65986ffd26e453a6d6e1f41da46674cb20b027635423dbf95faf7cff04ca1cfea1d825cce876731d66a74a4d0d9771b62cbfb5f9d1b360cf70b478e837a140c26adde24b7a0292d6daaee6f2a21826b14d77da69f03a04ee1b31b1648f48af156b089e9ac2e9ecdd9110428fa66f08bbd42b176b05328b2da90b34edcf53cc76f7e6f0ab5505718ded116d639bc9dd772ebb5cd7439bce8cc3398ae862c71ebd735f9f9a2ebbddc2e59b35ecca8c1e88afff7e09e8fd618719247a66480db65433d5b7d27890a43b53b9cf99fb11df61dccd82b6441a3b57915edb80a8157cad8fe3f62af693db44a7ec0bfca335a44511a6e6004600e76e2430982c073b7427b1ed4e45b824c22edd9ad560a82725e6a5274aee398bed029ea9ce417dd3e0ce0a25e67bd16c3f26dfd2688b1b45a11185994144a05857b27d45b14532493393f6f7cbf87840c8bfdfe6648e638bfacf024f3fd89c67c5ffaa7a1c6972c672b6d77727ef610b3b1604e3af7f71686c8683d3d19954fc70d1071602ef45d2d4ab2dd9fd4caa6f9c3aa87a0c085bc5f84891a4aa9f494db0d9957dcdf595685221d6f5adbb3116040b7684ccb79acb723ade21d8002659e1c68c1424d53f4d840dd9bcd093960355b1da7132bb5090ab5bdc2b482d7f13aadff429c05c21d79308834247656976fbfd22a94b17c40eff60ab37c80927d064d4f5d05aa9c9bf7776e52814789da90f3a74279da0a0bd1c2e4dc7d61cef8c40caa769365c3977ef3a23c9424f674baee918e41d7ce2af567c303d06ea3f7fe1b4c96b0dd83991ecb155374c26074a8c2fdd61ff4af9620ec9d184e6eef9ee5ce84754d219b48c3397e0d5267569cf90136d79b897a54363a0f697fa445abc9076abea7a9f5a3f53c47992a3e5b211b928117c431bcc9cc4012e84ed39296441e9cae8769411b8fd75803add5b6acc1a5b9203576af045094b7fcbbcc785fbbf35d353ce2f4bc6a0a4aa62efef3ec8b54b6d9e5eb5a1049a01fc8e0a9f5bb6147c3f0ab7c19c59588781b3fdfb569961975c47b82bea7e7cd40257df5d5ed2d7379ce02769e09032a6c12402e3b2b5fdebdd106e087172c32761f2aebc9051692d3b92aed0a2e2b6fe1d725d2a797ab7941c79bc13a66ce6404e9eb628603db856f10562c52cdb39b0b3aebd4bfc0cfd9ee93ee7f74f6ec622db1e68ffedbad7ae8d5d3f5e62ceddac6e8526d38b9f44fc6f85208eb7e5a3080adba3037f5557c135ecb91a99dde884a8cb6fe15e8cd25414d7d3fca8718dbe84989d6b48979825fbb9a111898c4adddf010f5350797d734f671ac8cddd61e5f424dc2705e1baf71d6cd046e318277a2b8b97bad08b6ba4183606a2ad29a398d6404956c8585208c53557e3a4c143ec78699873f2c25413aa1dc79d622e61e7ad4cd58df4f8ba291c30111e9973c9fd9a3c47c47dbbc63411f609dfc63cb413a49ad091615922eb9cbb9214bda0e817899c477aefc01ab9683b8e8adc63b126c497ab0ee05a73def985a51a8cc3c3124ebf8ccc6483096769d6f1fd03b2373f200618d126e696bcd15005a22196acfc8b60a0166e717b1e6d3c018afa9d256c194b0e9cf00b9eadd6c5ea9ea1650aeace239e270be9a7b23bf347f34f045f6a50e71560290c7ce5fe07131f1e6899403c78a9f431bc2aba9781e909af9c0aebcf45d087d67bfc1a7ec96aeb5397921948e8b8eb4ca5496ec9c756e75f562cf24e3d1e9b5f82f0d8e580d8d08381294395544d698f675db3774f1e8bc08adfd72dc57a53d188ba70b29aec435a6956f51fd54341d9384b5d4cf561927f2b5d7ec2111a1e5b31360872e385a5590fe024db33e98962659c43994edd6add60c146ce97147d4e091d8787cdb838b95de6b89436c7cc270f0ab77b59380c7909571f1d686e058b06aa217f9e9f31a5c4265bbfdf07b7f502cf65d0e8f333aceca2d188cf29660b9a87b4f63eb2a844c024c11196a245b26878616d4ef4032277a3221f89ac2021087f848b820fc98db5a4416ddecb793221a29e2a81795d309f33565d2220285dc8d802ed887ba9bca0d908451bf2a647c0eb122e2bba9f71ae1c8a0c6d7275064942825496ab97b69cdc23005b88d526d362814659782cf288a1397c44e26c1a64543d9eec66c2c56e07cff64ec90cae1ed931a29778a3f4e3898c5e0fdf93b0c42cc9c02cb9dec251cb4e4944a5865e7485e9f4e0481f769da057bc78ce2634ead8f9bc4f4139725df70ba96b07d79ee3d8a80d13e6ed268da3b50ab06897b4ecd0e096544285ba2fd1d4978ebfc2260630b3536f4c31e2c460615faa927e23610cda2af2a2066d8cdb99e5a49ff3e43542576812969bcbf2632b8c989582ffd191ffeadb712cb8bfcb823eb7d4ca8192144db0d82007bf0fdb93d08fc8e5cad4b1aff4e82cb36759144d4222b093088811ef31ee7ad03eb267ee64d626c99ed38932e40d192f0c938c78b8543a2c16a81636338ac1cf1ed575d22752178c1487265debbca0dca1da78aa69e0ad6c309e32e37601a1e3c391967f663e6d51e7ec75fe1bbd8629ca9a95cd88f39b7b9a395b16d13979f056aa97d7bb156e3c258981fec9ac95dbb88342eb1c4eff8fc091bce38c05b7dffa3b3ea143e8b0d12ed98fb487e52c1f5b095877459e58f4ebfb63a16c2581173277478cdbdd906b92f5679405077c4405e552703632ad9405cc6294c1439ea5140c91264d2334b846c3fa319c340f44c592a54c6a74b9dbadce7da09bc822547a4efde75dbf1ba3aeba7563ab8d488acaefb8d42292a9c1969b0798b32b2716d912d5c3889a83a539854edcba94f657fed27f0f29cb264c14a8aaa70d27b0f9a7abe6e37b3cd42029dd7a8eb73ba0d6f07c4e5ce953d7c00ab88cfb39aff117ac728e0dc6e0e1a1353364301963256f82da9a6df101e9b156f3663cf61eca645cc4633a4e58457f7b186023b67e5a4a7c969f53527be9f606711d33bd171c8938a18904748944ac4ca59bcd16851967df467b6f5205ae54d253fdab4f2d977692347bb712038fd5748d55b71abeb2d1301191b14f606759da4bdf037ae057af5ddbf382a1e7341f35df2fb9baf8677aa4cac4f8878bc7a62345659770a7da4ba2fa2dee711fc478cccb2fc4b02b12cde4f1d4ab7534f9b5622d7aa6be9e5018a8c0edecbda78964810d594c8f1104893d8b340eb8be25e7687da01de86c28777f34501ede059837a5b3247272ea423d96928f35625005edd9ac54c4fba2efa3e5ae086e8354b35aeb01490b822903385534acf1bba34ef19a61b0ba05d8ce5ef6ac8ef896ed981b91869db05c36ecf049430fb71e273487e4ae077ed748f4236b2c1144ea2b7b6791a242f961ae71750bc4ab629a35518954242431b9a3b337063d6cfceae18c1cbac1367d629826a4c98b85b1d558935487e02f58d6d3e486b50b7258af1c4fb0505ca612ff53b30976714b126199ad7a9ccedee702dea1e728acbc8dee4b2e317208755b77d5dc130e2fdc32babf7ae516504915061f34a360794fc021ea1808f9cce293291e89a9d43fabba0601898c57d3414cfbffeab858943f3f4d121d4c34c90a5e86a787cd79938ee0006b96e3c90b0b92369563957762b26884a7114fd261c4b56ec18ab3bf2e4d9dfa90291705a74c62638171be38ea8f344be2c2ad0cbe69fc06ea5902eff5c1433fb1e175d8b95a0ed45842fd1629e61e16d863708e27b60bfec88ae224235cb94b352c7ef6d1556dadde319885e15a57c339b0550a1954613eede03f2140adf9cf31a08eb5fab2bbf83ec0908c89818bd911b1c343f36133c76eddb411a5593acdee2388f3238a462279ae7c5d58f20ae782b42dbbf75dbdf93e3dbb5cd3702ed953dc4dc9f1fb29de73badf552b2e3ec45c140edccbbb77bcb570f9087e9989e7ae97a6180f17f048b6fc84dd11ec40201b42c2d4dde7a5d989288ae3c24ea09aa8b0e356c865eaf123291af767811eddfa84abfbec69558c5d9140d1e193553a062b564ec8d505724228e1a8aa583f51ef7489d82be15bd6778005797826c9cfee9a8f9ebbadfaa0e3e586df91db5d0def75b5630a745a203c9bd2e0a4637d0b89f4e17d4b90adf70f28a2a1744bc8792f6dce48d2c385f33069bf2b91c583401c96c110b010a418f50f491ca5ca0ce760944893a3bdb22cc6c9ce40d711f992874bac4510ddcfac7095d6d971ce4f2f09fad8f8795b687f414554d2752b76874806fd6112db99b9eaedfd9dfcd497734fdd37f58c0b63ffafb993c8a0ccbd738859e44d0dfcdac8eb91037a0e17ff8888290b01994f44b276bf5753ba7550bb92c0bc309cd348c3c3501692cb08999041b04b2416bb0f7d1f426b1b8f19947186fcf21f4753c93f6800861f190ece86ae85792daac22d28e05517497a0e06aba90d695ea0f097d5ceebd5dc1ec70761e90b76e6eb455b090f138d6afe1f4f3b36daa5ad45d70f42d7925c746ad08c3d9e493e2d08369fe36efe6693b833a1db89c79e7473695f74363ecbb5f425823905936892d68131fb923ddbf79d2ce85814e2b8be78963c7675ed0333900633ec6f620c7bff7dc6d4e7cdd0d8fe36d13e78de988cb591d5d441bda32fc8befa6e1cd5e3b59f8fa270dc398be17feb7bc66fbb6e5097c3bb43caebeaee50fe8c0e85894fecd93661f0b23e55290d78bb7d1f8cda61c8480ed787d1304758368c88d4e4ee1cdbd02c2abfc46f8d63ace25c19eb5c7368a2f0a6b6a4220bdb8c27a48482b5be483bb622b0667fd2e315eddb9774a45e6c142aec891bee88625d6e2f959b0b69e5cf6e31975296959fe9f612879524ac65db435655c038fb26dbd145ef167f19e40509fde6949231c0f1bbab3ed8a4d4d679d9b71c014b046ac08542ddd7ee426796ceaa913361881c07eb79f441021db44f4bc60161df7c54af98e86cfa0af2b078eb3fa6f97c09cde25c07a61ca2efd8929e3c62c230eb794d6e1e2aab7b6c510ffec432ff21c0d68e619933bf7b023a4fea7cf65a84069389fa3ff9f4c5120a9d1c886885a65e26023ff9cc73e4e0cbb570e5ab767aa1772c251567445ff1e1947a9b5f560e6c352da8764a953c490dff4394f2741ed345b38e8a2ce9beb7067d901dc5b7723386003a9e546d1a4d4f40d35789451a2c510c82d7f04a550abb4402c316d62a8a4908831a0ddf8dc921a2e6132d9a15ecb8f5a45f3aac416ab8eba5071a5db8c252d20ef33444ba7f2381086f109e80798ca3bc1fbcd57b1f603cf5824e69b30df31463b9c88988f60bc83d08a42b01dc4182c8412065b0ebaba74b25cbe30d08cf1ac51f4748276f7ed890b44a6ac4f37419ff34736a7f6927c32560a95262b17c6a75af381a4a0bc3e2d47d459adbd51036443139bb4b2115c466fcafadde44d19d4abec6b5b133c059e91847065c5c377e3f7b4565a3c7f1f574de767f257be72c47c1d633e5dc888c119d64ea8119322dbf98693e1848984f5bc9cdebf9e78fcc168e4c4536f8b5c9b9cb4635078d5ca0c2b09c2de55cad41d541e948f0c4870be9c4774b7984647654ac616fb08028d39fed090cc169d9bb2cb5dd0474a211a2d9d9ab545018271841d8f0abc302803227d937e171422cf99a4c1776f0f70b3f0266c40dfc4c746cfc4e23a01c0767720bad9405bf02f257c4fb6b6d863760d717a52404eff6f5a60e23108e3c459fc6a4d9e7bb14916083e13211652ac8c57af5058383269b0774a06938da5b3fc0934947d3e43f5fc80eb39d04b3d686e6c35e78dcfa87e7a6e367e3e44350b919e74a4e7d7d3f084852e892fe3147eb956208aab7357984b46f9529225d5fb94d4cdc0a5f3cedc02b292e7568c3b6a338c318ab79a017cbed176b24edf738a7cbff14cb6bede7ecf0ba2bbfda222dd14035dbe4cb42a44d499faa5968e7eb98ff579903e5ed7fbc31078f57f387a1ff3b74efac91c752fe60ee43479a9eb22a49c0c003e0d2c50d4f46d5b094c6a5b57914d0872762aae51bddb7972980c2909d1b02e145fa0afbe8a07a5da3cbefa448a45f8f852cb1d1756af950d16e1f83c93b796c7c253917a97d9b2b87f59b7a1f0fe2b8c560567ba569ea7f1f0106de93455a93d2836eb07cf40a65eeae61767be826e25282e6aea7e7ed6151302ce44d2fd669128a3fd85bb7251951681d838e4862a47cb3fe33585062db0d0f740cbfde9b4374a789f83a1e10e7d505260565fea83dd7794e0f91c7a447f222185f351f3f2e44563f43b25d75625954b9284308c7c9c4ecbc0692a752fd1502643b26c0240f2a22c4bcaa152572b9bf8b6933df004a33361fbefa586a15814584486e5377ed0221d59fa9b6aa825064dbe12fc46fca4189ddce59eaebe37aed6fd36402abdc678b4fb4076d7762d92e2fe8b17a9dadce9509a5cab59f442118671e6f1e5aa69b73e89a14cacaa3418b3fcda5046867e783f9cd2c85b306a5ecb7de4a1b035ba66b865283c40e3fa0b6dc4707ac9e956df6c959192d8bdfadbf3e48b8e13e231fd6f03669b1bc352c541c4a0aa0d9196641b48bc1f59af50f5bc99880cb3f5b2726b11193776d734f921e6c90df223f695f8a0f52f1bfe3900e54a43e4e4744e56a5cd1bc7362ebf4be2f088267a7249713e304b82f19a784551e2f4f54ad779f1c20b068a57c202cdae45d0e8f74294a37e8b0b68a02888bf06c0b77282deeec69f3cc113a0d45eeaabb1a9f9c01675bf50f1338bbc8ab0bdab3d87ac3918b1463e0fdcc2a3f9d30dc6f16603075d13dbfc6d3d390c17f15e3b8c7e330372ffafb6d4e9fb7c6121a65906da40860737e170b214d8a264402d08459d71625e8bf6f7b2f8533bad204fee4fffe395d3d8f95f8ad5d85fef5ac908e694d58a71175970f3120cd9d54ab170559caf16932e6917c294a3a6311fbea57ad39579a53877870c9a39c25627e889eceeefe6c7604ab1ed19ae96e32454269dd42df6a5aa7f5b76fb07952bcc3672066ab119a248b0b355358d03ee6bb8abd17bb72707ca1fcfd59d4d86ac2e27ad68241f3ca6cde39c346e09c6bf31d41cf4b8b2ec31ec508672339f0bb3d36d1116191614da5e31db2f41995a21280012f2455a7c4841d06f291c607380697fce4c876ddf628fdf0864f3ad0330f20d4e128fc8d3d3b25f0d1663a2e37ba3ae00491615a75da33c8e23386d8f9950fbc74419520cc61fdc315aae4f6985a90a0056f0ce25cf0678b12465978b0a0389da0053d0e6f1baee4e9cbd58b1284a83af538babe4a55c450a0cccad4d9c5aa8b051d448d85e80dceb051dc0b7ae066f523ff671ae74358b11c831de90af0c8e3834aaa54f39e99313509ecd568b26bbdfc84a850772a439c0b83fbf4007725336c9fff287041fb69dfc03b883be9af1cadf71752692b913444a3e313e8fe17fefa54838b508c21b7b358b7345657c9acb0bd2c2a99bc86e77959d8af7df2d4d926ab2d8b85d94771a18f6a4084f89906c07e9b32c79e1b556d1f06b1a79b4a31da263612013cab640f9250c976e713d33e074bd8d95511f6c0e9c973b6b6edf3c477eb0698d6a3a4cf9fee90d0467cae2a91fc0105a4536467b668a97e9a79cb6bfee15050c854e978f98f7bb1b7be27e9445f8b914d58f2de71108819411fcd387b2223f2946f702ffd5f76929061c42083166f3f56c8c7bc12aac058369da63ca983052e2427b69de07894f2d53227cac492b08682937f546f3dde770424d44f039f464ab9e2d37ce443db9ce0b8175e15631161f4dd5864a610f2a13c63995129b0cb6d12bf381f1e040f949fd1ca4773b4b15a183c6a2d9a1c4b5aac95f1fb3c1dcc5c6b7d9eacbf7f8e5591491d78482c2b787ae07ec9d4083861e3b02f843f8ffc8f17648bb40f6d528ecde2feda1fd218042f98012120e86e427859da5ecf95cbbb007bd493b20ba7054a11077e3e88cc974d43c65f960b5749ed6a0666a5bb5977cd6800ee82ed4e1bf531ebb517c4c991b3a5fc6e33add3e9f7e094cdc7da8fe29dcbf86fe898ee5ed964f3be65487400067c995a18160a8b8196e2145f1578a1fcf4a17ea2cadc8a30466b2814f5e690a04e12bfa3b98fe001c39707fde24d0e44280e244787977934fd87abc7e984d5e630770e2f8fc9f1d63a3af107f994ffcaafd5b0f85a1679baf17320ab0ecfa2a23052862f6a7cf8c00628d7cc8e4b73fed0eca9c6f15b12636b4f89f58b5a08394e3ed856ab3a3981fd1b564b0ac317eea9409e898fb27b66ce8095a69b6f24b9c9b9fc59dd88032dbc2a765103500eb39706cf7a9b5dcb21c6ef7458779438815ae9178ca3f007c882a37f9816858b88b62c98fe87c50ab1f758444f7c5ef4b9419ceed6b90ea5585975faf35257fe8c0b6f05914e4d0492c8aa03aaf1a9045a63b2c7063c4a2f4afc91e395a57df2a4d657a3a782c259472da2135de9e87ac9813d97b847beadb74a83864dfd061b945b2180c8c35ceaa444fff2c1193c79da35de41dc24b43af2e3fa47b76621c12d5b451bfb3dc90ff559c6c5c3a8c4ba8217bdb4994e64e43fb592ccf6cc9fa0f4c6dcb3f423a8af676a74ec2223745fdafc68733e190a1edb74111dac16a9d4489f6703d27bb6f9266f0d6252e52d6eab41b3bed50c6f57e224e5cd333aca39ad6cd9a35c54baac406f6c6f14ce9eba275ce1569bda8256e14ef50c542158a8a45322cc7b837904a1dd1340a89a719f7ecde3b238e4e5c03bc8d3466423c7d4c1f4f1c2ea9627580ad4378242df1c09f54aa1da10a64f4302567aadd8dd962a09867c3fb645aad88187622f8c81cceca466397983c6ac9f9a8a202585dfc4251945bba383f33ee5af782bade33be7670a896bca4a472d1661c7c9a86263e1257321054e2cdff83b24072045d6f67ab3e2c275dd6772cffc264a3d1169526669f3c5c05e3328d48b0b7f770435ebb8eea8c7a7ddd78a26c5dad64364556182202b2fe6b84192e5f775c1f5003d4cb2b57e45d539f88c3b9aece63f33c81f4f22b9aac1f0170e865a5aa9b80308abb16343d60f88fb81cbb459c01fbe01947eb3cbe9027cec135c0b34be7d3a462b973ae77cdba670215139120baeee1bd234219efd7d74acc30da99310a1f63e222b13344892220867eaf92fca3d6cea70e678ead97ae865deebcbbffcda2bea4ea94d6cf1f45c53ff2e08fb655b9360398627d3c5ae1adcd9b3b4c6f4ef385a85f83a229e3948c56b06443f02ea6ddea2540141c6b0bd354ea624ecbec99e36004e0b9bda0263f5349c06c4fa002ba3b60f8636a4b06c64bd081cdf534a3cfbbcc562927882e9315b291966b2f2a3c53333374be94c6719fabeeb2518be5ccf05e2f2f8af76d878f11dfe2127120cd8b260ab1a08501b99da8146c059af28ac6195de38655286d8e440703d36e3111e9dac8a74172930124ef3fedb76edb4d89372f81caf30ceaba6f04bd4925796baee5e19cf9fa4cf59460311f72109fa216ad3d3138aa1bee3116f4aecf88ac693351d2f4ff22db65367d9afcb7810529ae90fbab22391f0043cfa0420408273ca5e899132b0283bbda9f2b7684776a4f7b37ed9634b9964ca6e92e25aaa93c4fea53f19ac1f2cec362bcee74273a7a8772c773c9357bc574181351083e005fab712b754cfacd4c30594d4cb4550fc595e4e1d94c348288cf886f772f3bc4339b188b134e0a32f3281d50c665f01cd98123e02ad44b6282bec0a9671504228aa5824630d6d37e49949ff1bc91c2bdacdf8305604d9564c3a5714ace46c68af8b5fec504e44216c8ae78ccc575fe9955f17202c7910f136470245ad2850e592945191959d98cc717affa347faece4d0e01fbf44c6ac4d1089621e823c65a90263880641b7addd448c5aa4563ef99315afe4d6490d5d91865fb627a4712adce4ff56dfc53ee522e3d90d8a8568c5cea2b5ebcf63ac98f2d09498308d613f0f0b46bab8f81768c485eb24a0c2c4fb303fa396e548d6bffcc6ae1e40f048fc0237f73045d21c80a42609dd1291ba3ac55f0d538866a8d941d26d29aea854435ae0149a1fe4c488d92cc5c968033170e0bc0957b0c94b5081864a5502a1fe0552e8931f5cd77e6094224e67ed48e656ecccb058b890161f09d38da0f7928206ed5a303b9e98b3d792cabe1fb8e7fdf0d97f796a243a79063ec9e24b63c392c85d14f61b396cc55bcef1c7068168c72f9f38b8f2a56373ea59222963a3b8cf032a9bb7cf5cea116dfb85b00c89162757d69122c882f7311406355a74196ed138c49776209429fa2e41d06171fe0707a7be0361055412b125bd87c14584819ae8403468690397eeefa34f187b71cff673c6e80af319c3e8bae4ae2bf819ddb6a41ed85ef8fa8d88c730e5443b85f7bb261dbca372c36299304982556639d54a3e7aeaf4e3834e295df236b6d5aab3c5f5b0c028da8b6970dca4436c0f63c4753f48013f2d668fca219f8c104710bcf9e3d06f0ef13f3ccbd85eed4b691da4bca489f932e6930253e760a9a05188f5ac41eaa41fe1c78efdb2f38896d3f9414dc4b6702800902280c18ac1b9b596719817de2d31a5024a74b54c0e90c056dc91cd070ea2d4e51cccb1f7baaa9ff24aad6aed647a3bda60d992d04dd73ea5ed3fc757b7b02792283b7bc7eb03f8ec7209cc08ca82a4daadf75d744873868429eb355d3571c624afc405e003ea2bd040cc1fe495f18732891dfe29d6b720514d8eefb716f9b82e403ca61f469bd8c0bb6fa49c9aac2313f676abb78cdfdd846e1916799bd92649a7304ed0de34caa295386d99e81233857f8d383c0c671ab26b91a909266ab6008888b753a0353e92fbfdbb5217c613ad74c8429f11444487e4c6ace01797ecd1bac84c7ab267ff4b33266c1643699d13c3b6e80aa61b4fbd627267980894a8edf45618dd5cc0b9909eab06fe2d38b424c1e85c8b1674cb6a0527b5a2bd45c3ad545664ace23b4013e416a839662c59d8468445cb9e42a04a1891a4ae1f86f3e99cecfa959b2fd7a33b33c3fa40a13a2b04ebca8e132ede4236c0152ae341fcef504150fe2fb917bbb83cf4e219a20c51db5960e58970a3bce3df4a54e2dee3254aadc639a77dfdd6ed638b0bf2827a1bdcd5e3efd5d3e8cd2ad56b337a36f038f83a80f606589e80e122a0915ce76e01e59443a016588102f30454101b07e8801a38e672b0dfbdb71df07339c14bd91c41bd6e139a30f884b4b906edcd375d87fd6f43fda631346f9a55d81efd6ca7b47f656cfbbdb4d94bef998b25950b9e0ee617f0d314f6ae2e3b538ab46048c6b21294968ac35c9f149af42565663a2a8092d5326f6724a18a5e8ca970315480a6d92c2ca6860f79b84c5e7b5210d640d5400d585d894ed77a83af9eb61d22aab8be0d5b5ba51cba684922fee94ca3b30bb61ec0fa0cf0384cef92f9c4955a9bfb3704a8098f17be688f45a458c5825defec72b163de4e14496fae2c304a40b3e510022c826e0b767390bbf29981b30ed824c42578c6501785399127dbe0ffd8ed6286b6e0996438c741fc774403e530a22645e3c5d6838760244ae43296165a6b0263153add5fa591f89e7647f996073291dab6a622ebe2336501a92bef7a7f716d782198aa4481636fc7fc98c5db8f136857ea3af86231e995bdf445f78214f61f3a22e43a2c163ca758d17ba0d07f020e6a6287ae9c4b778cf299ad4e2842814865b8e54f1ad68be74ec632e3b1ea718b67908892966bbd8c65225565e7fc2df8b09434c8964985ec75756f1c4235c8ec02711a14f91f03bea3d03008e31bba94f8866380dac5c3f54be1cc943f3d39589ff600137a05c2989abdd96045a1f45b36e753a97ba904087d20f2cfd40db070a56f80d60c38355295b425a7cfd8e18bb88b82f818adde69e93df71b4d7a10ca6368e7a3bc3e70045daea9389d331c35bc0d11b7fc87efeb75e2aa4b62011d40a6dcdd4cfedc227d6279e5efe4db7e4d87de7580963f9333a994a0c3eae5ec6d4e1b304932c505a977beace12f2994db8099a9991bea6a0bd5f06f4b80b6bca756a66488b0ae53a60b1006b28483bea54f3e5d6fb7f710c9e5002eda20f6ee11cbadaebacd7f7ee413a78320439973b2286010ac9bbe6c3feb79912590f1486a74ecea879f3695406600f0eec749703e53b84a43e62eadd2df955fdf5e21233181237a1f4e107200e07bab487a2fccf0c15dd2da4e22f65a4aac6e803ac2f9c084764b06833a0c9d23d5dd7a8c6d35717c1bed07de20c5fbb76e5d5e4d22834fcd14d96b9f55032e6748a86bb276dafc8fd9164389656598eb854e186c0854535cbbd42710dcc38ca7f085e34e73849233a746f3f2ecaef450f001c971825bec5f04ef2756469f5e128292ba8f24a09fbb5bc17a171ad40cb1fc9d4e47e191b60e5825e4212743ca808dfe7399ac14157bf3dfdab9981341524ae6a15091ece67bb8ef78d9f4765682bdb7e8f149ad0749bed24f61fb38ed310f3f81151363d3f093506ef1c635a541c77a04fe3e6a9c04c74c6d497eef0891c9c2a5b06b50c4e1cdbcd986a2f89045a8a0342a9822f0cd1659bfc45dd032fa6ea19c08cedacab4edd194fedd47ae7da21a53b63df6e4ca6c88ddbcf08f6760cd8ca29a308408dd1b67ab3d2a520de68c712e63ed65016d83c3ce3ceb0a9aeb76e19459b85641af24fa622f9d0301fd9b28c16a345a19712ad99bf991d5b2b05cd0af0a81e9cf78dbc4433feb35c2aa7019fcd9acbf7d03c7ef94ce165227f0f6888f8b30736253a963719efb54814b6403de72b71e898c04ef95f55b0501f0408a1e35694bcddf835955c77c3beb60dffd6bc27f8f02c8e109695bf9c388c5049f9ac4936736ce25b130f6c42ed6fd1f99b2c2d76d515141ef4fd31dab90455c9f6eacef17a847d8c95fd5b2015436d28585b42ebf77e50717fe648b090f4e4e9fa9bbe87f040847d23dec68433f630ec22fa9d94a9fd66f67e953fbf312703d3684f1c58294251942d7e4cd0799a049ab531b3ee8ed77a8a5150e6b075b22f28ba9dbe73ca71b24f6a3b45b82171bc36d768df681ef736b06b4d2fd715160ee941944a6de6007144811d2b9cdd5a71603a259a2e92af398dc37dfff3b7aa74965945954bc87767b679fe1922123126fea3bcf0b789a0047cb95addd68c2f09c48f85fd821f82efd044568b755898e30b82cf24f952f821b37590a270e7e8243edcacec0ea41c1fedcec139d52e111ae5d0693055603b6123e0289884c83674803f35a2ec54147132880b29bc1f44edd05be0a8e77945b26ce3f13bf5f05744afedfed475e7df54d6d9f61828507949d0998e615c17a2b27cf67c743450a66699bacd6cc1991a927c41632bcdb4cde900cc36b521e2db6909ad87d12b4ab1a8fcee488bedbd9e4a1826ad88834575a8abeef7e83749cc4e9552db5c05ed3a71df374dcb29b863a6df38b6c46794a2e7e819aaf00a5d47a7f944bce1a981667480131dda12b2fc4be6086d164d43530a3d39d651d5923b792f79dd741eb564c6e4b4b5ebad2128ef8e9538ea54a9351c3415ded76e10a4f8a29b6c82677403df607ed7f24bb63e0d13ada54c5a372d46173aa193be28d97d5b07ed1ee4b2a1af4250ba2fb08662d24afbd2e9ffd52b85e44d87aef9ca49bc1ca25b44a8554355060215d434596976a108e24ae307d413102fa61c7b1211d293b0b3d3d7c33d1546719a3acac58e58f9f52233fa7eeb07b648025fc27f1c2c4efb5532e12459f984e9ed6513392c35db030122bdd8bb7008ee3a6df67f21f9fd3bd6c35825049e2c9745f0346f014d92ee3faa50b61d912a875070dd878f5f413cc4a5bdc4e5e34a085d324cf288f08bb7848505a5aee5c79c046688630e15e352079ef12a1ff6c4bd6c0d40a1276ebcac420cbc1a1ba6197220a92687ddd9414c62002123e6b12f99f2194d03175fea69df009f3239e45e47f0989ad75299206dd3709a242cc5f8bb5800b45a09f02b6b7dadf1657ac0c9e3e0dc0c416c597a3a1a9d76c9dfd66fe05caff0aa95fbc645803e7d152d1b7eec3cd6951ffe0f46931102022338b5cf8a70bc570eadefa497b7ac84bdcab095889776360803a445596936a3d357ccea7b8706513c4539bb14f8877df81198810ea0f75dc6f3c4b7ed3844d7493a6592a0d2dd84eab25a6ffa884baeb35cc1ce1e53705fd8db90bc0b9e74f798a0ed507927be9afafe52882dad2285035a7485752aa0df05c49a3ccba0344c3edd6b2d5f02736c182e9d8ac331188730cc8fd7e594a6ecc20e3f435d0c945743c3ced84c7e2845d608477ea461161469dab17831b595cd4585f61518d47164be2da6db7473a5983ea427cc83e291ff7b5e88b71d2e37c278bc0769fce902fc0948e4714ec250d7f34c4b1b38e5a32e1483745799846de5f4bb76faf36a3a98a9523f4e38b9244c90740670e9dc61ecc21ba94c1fa92bcbba884d55d7b0e213b9e25f4ccf757145d9ad1b7de3a74b34bc379a06c5430280c449d4765288aadf162302060cb30b13fbda2576bbec33739fe8f33c358524498a3338bd1750c6353a81325d2a2f1ed8fa6e47fc755fa29c688dbd9b3eb94ea797b356a8b8e5b3c151b2616bca467b33acfe62cb79059709f9c07c8050180c2fc3f915c050654c9a1ff6561b593af91f2c8ac1d70bc5f40b94d19e0a9ffd6915a52233b5bcb0626bb609a3df34661d36aff8ae0d0e5e7f14631a2fe5023f55a6cbffba5d72dc27a6558ae23c29f84a04645ad3dac115a034fb7e04c0e00f300740c843e062d5c2011b9356c05c8eb46fcdc7ad0567ff8eb7e82eb2900370014ae2c0968088fa3d8f3267198b48e344e61c9873e1258c850458acd000b7cb0db626960b2e89488c02ce9c1cca2028d8e29419c32c2b09c8f14c319ff18ee4bdeb0e97a832ef35268c8575f7c0ff93ada8546844457fa72b55dd912c7371858f325b081ef0f536ef4e0780470d5d9d0d4ab1bd50531cb9bc610651a96d0d71a80f20f6ea2b7a57d2deede1c0d9d81bd9fc4a5e1bbdc60d7dd03354b55349ca4b55d9ec034e6e96433ae9949f5d03008a6b2976495cacae10a79c566a6e8e6e3bb6f0e83dc993cf061ccf4a85701c15f9548ea9c34992004b557c5fc4bcd6a4ce4f9ac4645cc225a87d722417c9e65770f2f4acc5ed8f8e23c9438839c90a199a7aa86e4e6ee29944931e3c785133fe2eb3908257c67e9ad884d99775e22a9dac45448674be8be8561dffc951346195437e9a2981c942d3bcd792c27dc4d3e1f2b02f3f9eb8b5413cac6ae55259614e8312f539bcf3d21aa3672e6e651435162d6d136067684eabb93a0e1655f3d1aae19c229a997389e8a4bb43294bb2fc7ac056977966cc810ddc44c9e776a06e521477acb8802b841fc1dbb313abe562cf6496f5714504602ca86df6421eef4748bfe467a22ad1801fdd54fcb23aa95bad343f4fb2a2caca83dd8d979fe3f4908e916a761d08e051aa684d3652c694e413d67ccdf4e8f6586d91cc6e83ece19f0d647612945e24ead66c5d9c336193c630ee1228dba28b1fef10cc78fe93f61fff8bc2f19195dbf083d8c1824d9840ca0307bc384ea8b8cdddcd2b414b57f0086fe2c950f186548df6787c6c1eafb6c78541d6df942500c8abc7b10ad81cfcddbe1111f943ae60b8697bfbcd4867e1ec69155515ddbc10ad3cceed9e5ebf1a6caecc2c089442e7ac93b0287c192a749d298ca841ab9b389fc954d0d418f9e3603039f10448511ffb2216f89b162e8c4775fd5eb0d2b6efb435e5e6413d9f396a65906577d7e8d49b02632d625c3af51f809540826a83b327aa905c92d83911b549a7ee986376713005959339a2786b4c93757529594329e049a45571c0553dd5ea58a689af3981dab71dfd2117c371f0dbf8866d29f94d4945673a0066a6f662506e1ace333eabc8b85b56a85d13129fd262307eff0468b1c50a26fd2b10700aabc9486f8dafb308f120a1bb43422c4af7e56fb0247721734e0fbfd9a2f5982c60632a2575593089696baab3a55ddaad0922404bb0b61d23d4ccfe50e85ef9622ad0c3a610d37350575dc43c3d6bf85c725be6e019d0754046852829917c1b3f8bd730b7e1ebda806a255cff4808bf45fb9e082668f6c49cb4ce7c691c4b32fea61d1e7e916b66e7018b918e0948ff6ba05a41504417b2d487575d352b2757d9631ac8e5b4336b453bcf62043494100cfbe1d5468ef9ce81f351b094be4025c939e162cbf83b38f42a86546ee3e3d5829f9e944e712cf0c0e4581cb8606b4adbce98561c8fa741963d08cc5ee50e3c39b923b2f20f942a7fa25548fc9a881538009ba2d2a93654b1443fab65ff4f8a8d93ff9e93b35a59b47e10b29f24847d426deffc9b48d8a2de87b5704afe9255874326982de77c673fff0c368c3ddbf87610d9f8c9d0e1845efcb0ed4d73909fe2f6bfd2a2963c7d051288e666913e0988c2685161194e5b9f8e880a6c9e3d1957d2ef1e8da691635c770e05f45b1c887adb53cd2260f7099906ef3fbc53370e21336e3aaa9bc29c482da91bc3cc66608b6fb2d53dcd2bc6a844269ecaeedd6003d9a54ec22cd99da8de3986396fa065474125fcecbfabc6faa60e33313d86e14e6d74c26b9bdd0a8d667743d12b8e718ccf678bed9329d1e34a708c34a0a2b9936e7721bc2940e0e32db12f014a2212ff08a5c2ea45f345a99284c645aa607ccb6dccedfc9f0cd616786e210a81b273430ecdb278d89f0e979114011ae9b8ee813b9c8b7ef17a180a03fa3d840243b6be01e70acf0f6c15bbfe883832300c5ecfc99bf307106446c90e47b64f94aeec62cea618246fd4659050ba674420677adc04944e03cbee4d51d4e841bee661210f154a8e3f7606c143e5ade1d38b8bdb68d82815da4c26a348298879448bb968757fb1a9fab49318215a04ef217b76c6c8ab6fed8f6974e3a1052bd2c15c90638857089f1c3b4a266bfee9866fac796239c9981cae24a99a284fd061ddce2557f07b0f943baf24bad57141f50da2b012b8578f6f606e0c17a1a55ab57fc5639abd41a41161884993935427ce41efbf60eb67e0810474412d20ac38c2786804518816967e8bfd7fcfdadf145d32238670cf17df5b54a8fc2f8cd5fec38d85d74277ed16d829dc1839cf7a8444990fbc07f5a54172fe9d7c29012019be485ea6bf9e42e3a2532ef54c22c2d545e0e774a04f91441a1f24a5276b98eef033908dedabf6390be6465b4c2c73f6e0cb883fc177f5dd590b9cda7acb5b56a9ff10da9a7db84caa5dca2d99f78aacea1caef8f395551012e32c08c56538edd85cb565cd85275b32ebad1a9b26673e56f3b160f73d69b1e63d8b67e1f2e99bfd305f76b427a62ae001bc907e846740cffa3d3c6c5237e4f2e65e61f49edc837328b0eb9557b3c85f8f4d7f48dbb623bc26f95fa1140e2eff6b7bc6db27211debb8f772b37bacf5c524686b34ec9879d35856da7033730ebf037de2d1652b0b596f90629efa12da290529dd01eef398cba3d1fbdef48b170e6d66bc4ffa49a0b3d4755745fc54eeaa0fca36a74b22612cbda01a25484a1d73f38ef121afe354aad1bae57d079eeb9ee44838db3a5c3e71bd69fa9c4216e41882880792bcbbac156901b6846dbf8f6ba423ef1bc39f28ac62905f69e1e6b5c74ce83329684d045e309c5c4480f227328a0924e4a39eb76136df9b324743ce871d3111d61abd595b263cf8e14f39a87b63a807eaa16f2b4cf2027231c857d8c8a79420ce757a811e630a666ece3897106c9c8cb7df89daf295cf37f60bedc4fd2a4a5cb3faf09a5612d84a852d3e957a2b94c1e5dd940083cb00c4abc04b2dddc62b022585b3496ec47e2cecd9d32931fedcd80fc2b65d02b52d7f918ac9d8e063d134431e6c798c95f5c88fb9b37221a7c7006f72446d150f48b80c3fdff70dcb93b37385f3b134cc0ecc000d0885af1efffeaaf3fbd3bdf4df604efae9373e863b8bcf8582b6e15178a75be6e3eae17c8d4e041d35e095f9fe7512c7c9c77c8f43a8c6f3a3d656eb219dbeaf7bdc2dfb4a2fc630a0d9741f2f98bf8fe3f65c89128bcd1a69b2ede354423df6cb850e92ef87e91e2366ea3b3c515f7b235500b920065349295ea3d8f14621acce012d5e088a0a222058c4e8a7aa2a35fd0d43010d9cd118fabfdccf337af4786ddc8afef9023e9ee4f907a2bd8d5317455d350d2b7981c5602fbf07fc365fc2e24ac0821c2a1320fc7ec03422c7e4c32ca4d28d4b069e2d0cf9f1336364cb92d08570f858cc79fb49be47fb9f45fd27725c69108d32eee4fd55c36ddc8bdaf174618253e279dd348ca44cb5702f7a8cdd4c2f7ed5ebbb3d757b36210e2d2d4e4fac0f8808bd54055960a420c547da18ae3efd1f36c62148875005cec5ef4f5f67d4889bb38fa850cd6f8dd7f4a8ba279ed689f8199cc91e2cd717adba13b7fa07bc81f14479fb204ba651e467e9c69552852595620d1d7d40b412558ac6525fed6f36753a222de75449065053e485da103d4ac4eb883235c9b98a6fa87ae716c3202bf5d6f237fa91d657ce2bcc2847dcf646519dbd2add46d38276a55b5bfd4bd831dc63d0e17b7b60cf2ac2277af9a8cb64dc8df3b4510a33cc1e2a65d629b9343b10bdf86a4c1233075c5230a7a5eafbbaf968a9a6a06c91efb01ed3c8476368f6fe473bc61d53c993c0ca06ccee6cb22efce59921bd6e8cdf32ef226d8aacd7767e76e0a83bc97e438c5342bedb1966f021674617ce09af82d300577a08d3d71f66a3f21eadb92cde61dbf3177c70bf7301ecf831e97533a4e1302b82d2cf92d5f9dfb466f70337180b7ddadaf66b4d08059782ee5fc2e1b9fe3ed310a1747a96d3296bc6db80de03edc7227b41e2e62a507efae37d1e316673b50e5470a8076c19657553a235a87e64db970c14722f3707d3e155bd5a2330e3b822320a14a449c56a2a69b124bfb02cd06e23ae85ebb86811bd19e5b79d5225c1c37a4eb542a0807cf5b50ca09d7ec9305dfd8f9084a0c585652f514abeb684124735b894956606cf7e80f2fb86a87b6b502bf41f9ec178001d724cf99952dd5b4d30a1f3874ac070dafcb57c8d23c113adeefb4acac2c6fe5a413cc291063d12058b4b5400a56e3a7908423f14c3983c54ee5141b81b1c6ca88d0d73cae4cdee3e6382ca74dce2fa6f2b925297a9e789a2b72041fa635a2059cb531ca7e40dce94db0f57cb6a5d283a6dc9b6700531f5ae3157dd98fee45dbbb21b46ffa31d3272c13291b73d299bdeae7adc4254e113701362c5b650044074128b86e43d207a48feda0960408eae2ceac245d0334ba51db3e1a69773cc50547edce3138de9575810678989a36ddf985b12c92883d34036629d2d975d0f6980d89051e04a62112a9e79fa4c6211bb9e6c55b4e9d97d459f4072804a682dd386850dcda9a275de096313aa33d4d0d2e9601d04b684220b7d20b91941fee6e2dc47be643c465d0a0c267390db7bff76abf6d786a1f0aa6a400097f771429aef1c16ec5b9ac296d6486416f1da33935d28e22c004e5fd8572528ff66282bfd1ec756c1986f8415adbf478bbc0c24d52562853b0286caba2e24c87508a2a34ae196120cf2dfd5e310dfbc1f3a976f67ba7f223b93307989766f57d43829ad40ed7c40ece5f026a749e2235e71f3eb1ef4a0b199292cc613d4eabf78499f0c549268070feba9119d8717883e0a87fe18d1562d476801ecfee610de5c88a714b1d29389ad74a18ae422abd5fd5e6a6d72e43714780d5d6b8307038a905c8827ceb61bef81f432d2e24664206c97dc4388a73669181dbec4fe352a50b7ea6ab7a0012f7cbda5ef12b8c349bf64f0c39efe2bcbf397905760044a56f1c0134fae133b1b41797fb612572abe04525ff455da20f62effb556b5230efe10087cd2d3e26da80f5d808ee6459ec62f574b21a7c3dfa994e2fd43e49853c73bdc0379c112d56b7cc3addb4d66e23d67d13c40a5218187d424089a15e864e4b3fc5c9011ac8571fe2cebd2157a4ef15a7874694c55eb0536b7f8da16034fb39a1820a322a3f0b39e1133e617de9bda5a584e9d6286cfa347a1eb18c1ca1d7806c08b4a40b91887fad9d4852cf4f905a9491cef06aa63adc00ac7ebc3251e0f765ea7bbd1155986366a782aae4451694778add870826e29599d11eae86ba48b5ca35eef95a1223d25211f91ab5697d051065af18966e01504c7bdd3e075eacbc3d195eaf80db76bf8ca0322bd7de63423f0785d1791e448565a419815075f0f8e4548d0b805d6dbea9eea31622cc47b8eabb6cf9a1c91cef7ae82738a97a7f4f49ce355bfbf9edabe4d0a0075114085503f3f42de219e47eedd14a3fc3b86a6ee5775e97db834a3a6b709ef1cf4fa19dc0d96b87c005fcffd7a67a518fee627e5ca9062c9027eca7d00d49092228dd2eb4f054e38b76cd8e1a075d02113ece0c00776e12f089d0884b918d4da7f0f24f3a92e0c267907641358132b2553ceac6b1a147bab03a54c1118a44ce11552a2b6e1b239dd4570f74f5fe625125af03306c3e1bc390411c789421dbeb778101abe0d1740219ae2025156ad8079c3dbd0589069a70027dd6e7088a6d3c8243b4cde62b10a8201afde8db809cf386c615571c3e1672705ff20ab60e89e33d45368eb2e74854cd2d9f1bf64d3a613c6a094195c4eb32613505e63acdb448a9d4b9342a30a565f8d1a7e627eba58cbc5482a1af938edb0aa646acea9b2e76f8833953e53eb1c65c34c1e1f85539ed810cdc3af7095dbef766f68017500df16130a5f13cf88f97bc07f1593c61b3c607faff25904516fb8767588c33f297a17b50c75b6bc967ea546bd70651390effa218eee833c8bce6839e6dea354760f6038ed7ce1b4a9fd5f905ae9411bef74c49b0c9d2678cdc0e31704fabe5f877ec979387aa0d1aa8f420e16c724183245e141cf846295aa3c5906f6652cda969bce1afec6c1070f4d711a1b4d448361dd889e9b81a7c434f3479e535344cda346aaa7e501256f7d28f607773f832a8d867e5a002fd7599c5f638b17a1e1332591cb8681979d04e667df05e4923f707ff50e29cfd32d85fb8007d7f864374f72968a9e1f427019397e3b877ce625a1d566c3ab59ee03a688b3e8d4144d96da8e04c485b03b12f838a43befd1ca4f667f20f056bd7b1754804e9b5b19ed6e98e5fcf73ceab4e9c119df92849ba440e6fc7f8695bcf4e1a9619e484b137edc078112bbbe6ae41ccbb06386629c44b3e4a5e26aa7eac52a56755c2aa441df9ee7a7635af7dee7f29d7ae824a4276ac0e6925288671e796d7d0ca8a38203ad6b9c69fbf5618e76d3f92904e07868f274d672340d2c2b0df9732bd438162ca0486a7d666d51c71d0a20e5488e1a8f212068b72f7a63e98f5c21402d3e24d69ff5c7ce12934513b4383a39e2951ed3c1677cb4f5b1cca2e810f67d8a81f098b3a4b3f8cf9d2ad5f4ac40b63f61c8f796f7e2690491f2ea7dc742faba7d76afe0b45c91080a1472dda636f6035ee73e04d793747c3a4369c8cd7e3a0002fd1f2b1ba25c672134bf7bb8a184d4ead3883f8feb974a1140c53c7813a11ca0d970a02d65fa81b070c897d902ffebf2e1c78c5f9f5e45a03704cd493ee72e9b1967b8191ff7bc0ad1ffbd8315c9943647207661da65cf71f92100e90b2ae961532df9f4d02f90b78e2340412e7039dd46c35e2e30d854f354a6f6757b559bfb22b301f0867cd6593da84b2e0ae888dffa94d3961d9779e5557433d5790354b720d78b995bb340dd06af122ded6a38eba3a787d9039b2266e950ac53e933b8910a193cfe2aa5b613484fd805e7d0b377b689a11c2a8e15f439c384f4ff222d7440a721d36f8fd30f6d99c2ae0b8df12614004c78319a7b399089debc1af4e51c2bd10e7c7468d28f6c4b3a2db019cea679b89a5c5e3293874078bd77ffe298772bfbcd5d19b70ef7c617c36f935769b7bc5452a8a2edeaaf707ba3800bdaec4f53eb0e5afbf2f74b81e78d156dde08656654db72ef602585c30df97131a58a3dc6f481300afcfff1d72f51397431e59658e18803453b7678103bbf92314b0fef8f530ec3cb334b0983120f5196d85b53554a634ecba6a6e892d0704c601ed7c48b0e7b84614020d955f0f424272bd90628abd80aed366fc18a7ad41f7e17e1a8f2bd4f2a7b5841a8876c847997eaaf99b6fd8b202cfcb2e94c330fa3bc90aa2d84d05e3966aefaa350e44265e5df7feb98cc9adb5e2ac9355c5a15d6ebe489f86c619e95ac2c88425b12c0f35fb874e27df250e4fd582b214e1bc9c11b1ca1ff7cecbadee5627ad2c84ac0587eb8f0609780b9ca5b72350dffa91b78b1091d9629380efaf7c2786290dfa5114e27b486c60cde4d843faaf0ec964abb68e89e65bdb3abe3132b4079b2cc328715abe6f8ac0e261451b3740a138c1efcaed0191ee75b0a82a4818b20c771099ef65c0849339dc10eee1a0b78bab2b49732a73eafc97d6db06f71924acc5f3615ce05c517f637d3590a2feb5eec8f057367712cd21e0c59a16b34e2beb871c0246ce19863c9af141b65439c6f44a7e10fa7d9f6655c4cfccbddb1875664f3a3bf9594a7253fb9ce80a04eb05c2e81d7164066ebbdd70bcfd0492dbdb61ebc9cf8a9fc7701032ab234977c3605163def3b9fa5ef8d16a595ea9d1b844a6643b8c51906a739b679a512531eb9181d6fa3bf593ae8cd86a57fa8eae5eb94f3dd372d1b3bb55ca988fe58b46c94cd475c925cf23148b0eb2f7145e411d213f1d90ef66a04256f88ac29b8db5d1a690fbf3c19ecbcbc4e0e221badcfdc74a9aaef43477f3c901e62956bbcedc282af3b1bbf19ca91a405a2c7335fd7d5a64c6cfdf9d6e34b03bec855d2ca12b5f9bf9622e34449450a8ac71bf86c73450aadc8f18988bafa315520d703f8fe140ac9a7d9dce44815bb01dfc1fb96422199cd80c7056748a3fa389d2b637ee92717af85fadc59036b3ee04fc5950f54bc1bb5d9e757b7428afc5fd6d4a111c62189ce0ef0db689659a91e6f867d85c376e9c35df3472eaa3645ba72222af02692c29e268ba59bbb69d4a3a06acf99b54b79d7eb5d1b4891a70f31d5460c5c33a7d1f74c4f18b31f014e3400070946e1e3a1f3b80327d95348b8941a29c40f82b63254f007da60886e0727076e6fcc95def60b2db750d91f41b1cdc723910cf630a8aca1a3e4da0cf085591de10bbd6cefe66e3da07e20bf9246e91cf7d567b265e8d89980478b938d738756cd2decc3c349bff7fac0435bf0ddebf17aa57e1ef9570c04740685e717b62598c627202768196fbbc46ae9d00c0ee3862e77a2992bc4f1244648420b2b47dfc5151c550b301d0401c32cc4eecddc788313afe28dd4fde91bfdf1b664a320b1d4bfdaeaec8fd155510c6e5ef74c72b8bb45fd3de3618baa6622c8dd0e6b9b1d468c20fd29b31a7ff94aed5034e9753cb1a28c80db945153ae431bfcd9a083b368f9859d50c85e835bddb3ec5b5f5dc43e1381d17f2eafc5e9668c4959b62f00fcd484de05ba53fab939e3d18f9307838c9a5ba32ac39d26d7fd7f3d5e6d0c2c1c193c7813f9605f72389a7309f0dc27d22e4c7510d6846856097ef4ca98be254b49d08c425dfca73aa8e0685f6c12596b3eb14e6ecc199af1158e1647bff9786f439ef7878c4ec7d05029461a7b573c7a16dcf880c3be951bd9761c6625d0159de7abfeaf01c4e712c1891aed6c128b5f3891edd9592727975d52ef22a398e3150f98cb0ebaf7a1445afe1c8bf13161854a648e6a193dfeba2ecf5a6524c065f38ca5fa12d5e10904b3be79dbeb87ade3c83712686a342678487680679b709b7156412cedf03b0604a64caec1caa9fdea304ab4984c5553cb6be3a2c6a7ed7ca7f0ef55660afa9211a780bd2c1e2427e4741bfeb27df8fdc56e412a4b922bf2c0979f89d587edba0e7673451b36df760d74bb128711e931b1b5827641223818f9e33d8326a78a07560b3b6980d17bcd6a3b450041cabab06d85dae9fbd50ea8da8ca9a7d4831e1c45f5516da83f36e5e9e345b21f3095d5577a276e962da92a47eb56d070a3df45c1c1ac02941cce78eaadd590236f7855823d801faf91569ce030519423e1bdd132b8e2f10b56aa18145c1de8edc4e243b6d980467f809dabef2373b9e60bf2439ecf7ce4bfc8025a4a08d209fd59d7f7759a52bd97746d2287411ed70aeb3d28ea292cf8f30da7276b5bb4f229f3e416fff463ee75fc24bb472a985e8d2e97431408a8e0b443e909fe9c7077401520bad6e8747329d9e02b5624b97d9029f04bca59e386a10ae5dabe55250f319f7106e7fd712a05bd7956165e0402c571d1a864cead8abc224bfa70aff2de933c89bd5ead64feb94fb3ec068d76e97d92ad458b44988f812b0c6aa3faaeb61f8c56999d8bc8b2a94fffb0e70942bf0eea9dee877f8739ebef771b3ffb51605dffb30d35a4442995e09fc59a8effdefad221894e941fc1bbadae78ae3d14c2a1d0a551e93c3b053bbff1648e9f3967e20ac19931a57aaaf9c867887f9da463f7dbe9920aa445d1fb2e70c0a5cf51e6d359fe8121ce3278026cc89d6c7e00c7d7b53e0344b8af3db6b9372ca62ee9a187fdd29e609ac839fdd42fc23d912568a8674bf9927d2448f6558431f68ca4ffd245754381ef7d7dc64212a45605f2edaf7a5c9b1b3853518853389e8173d63487820131efb310df0a6d7ac075575f22836c6c8e1d22397cd43ffe6317bd43c849a9dfce75deaa00a623be213264974fb678bc5eb6531b56d01385c1f0c2d53bdf39fa909f7cb4a50b85cedddbe1ccd61ff6d338a8bc67f6f41a4582e68e6f3eff40cea3b506de8b7b60bd24f95ee8ae66c3f3df529afa18719a803fe39ee87b7e9d137dcbe13309a2f21b3f852bf7916c6098f351770cd687f86cf01aa4db82b2c6f91888bac3117d3f48e310f6f3974b4135366d038f752346b056013ef0228e474617e5ce3b54ea8c5de6a329904dd658cc315dcc6ec9884fef9819ace46a166c7d62039b243aab15a50a4195670967bdad9b15f90e42561776f75aa0ffe2824173b97df4d3b76bd02b49b02be27451b39b18f93b5bd7b235da768e005d4af832c218cf075c1c9e83a2d602f8ea57b243a445fe70ba6a6c7da3c812c8c86d47f0b53189e79ef087ed85600263578ffef79b4df90a5d8a8da8ac486c244bac0f467a45b6974927d23061ea9ae902cf728d7cfe4163dce5b961714eb8a142a3f69718a3913b86a56205ca93116a0fe63839ce0da196306cafdae8a28a94a6ac829fce3266109101acf42be7c4ee7ad56123f406d675f3e965fad1e64f690b556fc511598ae5361746985b97ff4e57b913cbb845ce163ed0794638547b41f3ff9a6eabe24d4edcfbc79d766458820b01696e71f147cd1f47b27f9b7ef33da41f5819586003a8ff24d3efb03eb4cd7484d81304e3cdb199037dd4fa381eb1a5a3bea21082e6d2208626f6a75b4a416afa0da9cd88e2adb9f5f66975f954055b1ee2fb057f79991ee41c06d180d87906d4fed7af7cdf146dff3c6079cc721ff97dd0cd53018834e964b032689282fe41d413ac77e4654f3108054017588ae021ce57497008253e4601a154dd41c2be881cbd92601eba5e1fc9bc6f79b6405d8eba55e489243f6a9ed21088f8e0f14a992b36fcefc61ee09b7f95f600921c3b89921996ed0a2a67d05b5f65cf1c81376ddfb83a31ac63fbe804ff36a908dd0ce632fd594337455e8f87defb77ba36a93544ff188f2f98c51fa2c892171b0c19b12f8be04ec1f24e1e228b3af7608e7a0fa6fbdcfa83213df7a7b7aad140f0fd723ef2f6f9d53272897eb15d76c9171e2c76634778d264d575ff4e685d72ab6426b3f4f74431c1250050c90ff870dbab10d1d1bc22167f118b1dca738d8724d060bae67b99d01bbd59a64ab7e57e7c55481d175205d587f9fed7058bb3dddb1f0b0ab2584409a8d05cf5830cead9c5342c8c037d9a7737599f0d5814d362e7ab98bb48314faa0c3b9d7914b9a359aa20e2e4d64cd569294d081cb7f7677320ab1a11ba1fe553d72c27b10314a1f953c509184459243bb9d4f4d3d137541b223b56b0b06ec03718544d5fa2b92784ee6b005d63414e6e1681e8c8da4c88c2c52713513e723a2e454b9c48e2a949a0cdf7ea39823c24d63ae3600a0d5fc2713f29bc038d3944d3d7c479e426b6b8aa547d817eb63de12673455d53b837b02ab93b278dfd1e87677c1552a2bede57b553b05defc5c414327510db5b8a5710fe72e78bc497a96c0c4e2235557cc1511a1295dd1702853d1d32a53c17ac494a79d0f3f3ef0b87425acc33c2f9c03b01d64c17ecc76ecbfc2c77aef0504cd33a71fae7599bc47f8e23f9a845dd78b6001d618a6996759b0a7006b179b4eaf04dfe6ab63fb909ae76cec3adcd5bfaeb58116d5bb446d5ef5bd537b00575cfe6d8de66bfe3b906d3fbf8a39f1b19e2f2af8e907394df3ce56a77a05cdb7f8f4fb799e36a225f5ae310bfcaf6bc3164d15ef9c6d67dba52ecf461ca1cd029299acf23c9b0fce9de2f535b55ea10bfc042d3ca9f6b2d87c1b808d25ef0c45b1c1b12d0e083120f12292d1b7ec3affe0556269906dd8c0fcb64c03cbc3a18c0d1eb782e8b2cbc62ac905e9beccf0b79bceda2af4b6e3ae5eb921918cf2398b6030abf4fdafd2e67243fc177259263c2b08826f0d1a4c6da1c9bc3378efd38036afcb6ef8c83c03435b810b3d34cff6ce8b49bf3fe0e8362750f4cd3510dcd0f4993c96da1da73cf1553df96a53c560edb793edf80c3516caa84804cf123be8767e97f2551edf5bd43b7d2f7de09ba43a31459546da0480d308d646bfed067087833a3ffdddfbdb09aac06540b424322eac92d9748f477d0f048c74afbfecac4f09deb3617696eef66d87d32fa4ea510be122ff011f0537960260f983e1927c15d9613c409f9a2bac96324e5d9a072ff5105c434373e27587f1e6c367fc49b85cf1e00100090b0df2492c36d0a263da83350950fd50d40378718a0bbda67188434e0c3f557961999270a6c8f95391784a9f412d008bb577dfd821f167200f6317a54af27803bc0877f315514fe055137f4a543c5cbe5bdb107f0aacfc374a5f65cf3e71116974442e4132aa64f749a0d677afa2a73059193e59f585333a632429cb1c7efb36cc8e69058d5939b8d20bc4d378ae3e2127d3872fbac6792e092649187e3df6b542203ec1f76087dd61688e9567e87e98c9002c255fc010902269dcf32423e657ab6336ee93f7189130a51ab14ea1e553f3c7404cd4b733d35def0b75cc7b8db0bb1eaab0ca179d67a0815ac62e4d8ca11e6c727e43bfffb9aae440bfe0d5992204616d877d291b7edc886642cf9d2dab724c04b4e678c70791ee8f5fbe687b05c586508b6d75deb19d42b13e5a00635e46b1b0224c8d8f7787781d98ebd2b5284cbbf022cb8e0516e71d361bd465d35f8797b181e7578a9a3b4df33c673e987cd5da78558d8abaccf5f1bd5d7fc9999044980362c710fbd65d89d1419801294b2ce12f31f0776f7564c12c8e0aa1bef9676c3b81461da24c09999fe2bcdf0998e2de6fa8c45ccb4f430db0e51b2d87810ce93bb16bfb1f9c06edd1e5fbd7c3f4539dc7c2dbd343870f0191d869db0fa3fbfbaaf72dd32cac6f9ae3e236fc049154baf57e6883c0a488e7ad9aba8984573a4346824883b7ef1c744ddf56243822194f9af31850060be47b6ab40f9b121555508a9998e23ddaae900611df9ae4d5fb955a87f6dcc2dd379304c1b8cb53bcd3c4bfc07f8f4a4cfd2e8b2c74b56780e668075647f712ba2002930f0c2236ca8cf65cc97a078c344f91e6c40ce8028ead5e018a4dfe2eb553942b01c4005044dda643d82a4edcf31c06b56927927c91749ff7821c8ade07d9d3adc3ea1e840a9a6a16bacae6fc668d4202503fb9e696588c6673dcbe9d1db405fa7a63b244d0e13ed5af3c4cab691d193e78edae28c03fb44e2ebee0803d46f7329bebbf4af8d4af5d83858dee173e6f44eda2ecbcf7207de00d82366d43ac85baf249553d4e4be79f42446e1de0cb57fb8e8c2786d6d1201b5f25782b881da38ae4a3abba7b89462c4f3016db6dc6b190bc8a2b3a02d4296a718fbee01011b7bdfb031617e1b5cdc1b5f6cdf6098278470dd996eb14f184a80c6ff6c342f7dcb6602d7b1a825cf567e75bfb87613661722d6606a1643cfe3e31b1b90e9576a0b24b9a7971949a581bf57a569ba6588c0d3822cd437772e5899a59cb0f9b7abb10b6de2850c65950f8cd75a7bf2136d65f3b23bbccb45945516923bf65a120b1839525ab95129ddf9a8e1e1edf85bae6dd091691644a8ce4d6d4ca042e81ce68d306ac953cda4ab1a71b76e832bfcf1a956f82dfa2cab5dab811179681e456d655d4f638d8f61e265b5833a409a29a66e66455a6e18942c1d3e0318c41b5ec603e5ab36d699f09e297b7cbf75c3a474e2f644900afdba36eef6affad310387df5d6faf495a06e5cf437f02765893b15754bb58655d34b921e1b43eb5758714a899751f637d2ae0a66193d1b25c287589b88d83b4e7b4766430051cd21b54490a2203648f55f77182ff14857684d09bc39d3f33c2f0e7ed09a47cb1ab378f4964074d94ca01e01b97b15d75f8181b988b8742e01a4673fa25ce0d0f29e0fcba232d685e3b53967f6cffad1d4eb253b0041d465bfffaf4f03fb6fb2a779e980827ffac091f4c4d59a0932cd46c165c942d82c47609be9fb806020a07203c8331f99cf08ed8acd37d1954f1fb1d01e600da134b5181c2395421e0839ecff86c679e27fb7ebe9e088678caccf9a2b25ffa31b2f5eaa1af5ccdf969c5bf9648906326da1a915f18342a0b22c09e0391e032beb5776046dc2be52f101a34e3bf0435c096d0549a6ff1a8b2431502840241b74c3de89372f41f63a2ed73c64964057de8dfa48e1954deffd116f008a4f71bdf84254c93bb4e2247898149c3b11739d3bf99deba6c9944519f522b10c5e21dd504eda636036461f8778648d079e2422ae35573c75d5a80258cf3ac8ba339201f1a396d9fce6fb07692905a7f7eede284714a527e89d7bc467ddfdc3e75509c822e79102e1c7acb92a42a9309b5843eae5d4282b199ac840d5e95d961a2b8f75fdd892f6808a207713ef35285701ee94aa30543d5309b190bec2e3c2cf75c3402bc022709ac830fe820627a9f392b51c5fd2124bceae52bec16ac2acd010a7c16ff9ea032b8cb04d6537f3bb14f6f5dbb013b419052bdf64cd70c69bb9e17d319892ff10c2a775c3c7262f649c6dc73a5bfec603066c58263ee711d8c5fa344a3968f1ce590e53b61f2e2fa39df37cbc9684f408a3522456b4013bc60e008c25ff21fac36de1fb633831ba3a764df271e6356e07e6c2bd1f71ea9d6fb18971423ff248d2ca9383d953520f1a50f6c2f45faaebad268a57554273478a145c131fb70e34a2b22cf29047cf8864ea716e6194558f02948300bc775c6972cebd729e37ded4a75c87b71e52593d609cb7d6436ce83dba4be544a71e5008b7cf4521c83045c8bda352a9d7e4ad574e1a06f9af9be7463545afc7720d72ac49bcc8fbb1b4595ee17423a18e8c137cfad25ebbd0d8f52f3c40d177194a78fa62c33520af5816d42853f7d1d3f15d3e904d8cfd490190a59a1ad7a225f0470aaa7a931aa186a10a30cf30932d890e8c870d81bc8113f2f4cdd2943b90cd6c98c8feeb4f118f123f3c4828afa98b2a5927cac45c9bc66f02208e8f66cb150991932b79675d1e054699b693369ea0d9e0bfb19cf6dac902bb96c58e0983f757a57ebfb7ec2f73ef6ddfb93ba3363bce7af4f38e8c24ebe9d88bb6bd5cebcc2133f29319e5399bbe604aa9a5fb62a8e4014a6522d2190b425516f3e9b4822ff90fc9a2dc9821a18e4cb5f4d07f8e9f1e4f84c08338375b931272fe2a000dec51c109f6af9d5ba7b79c85e1aa48f582ec2aac710fa648c5f0e02f1c9d73f395d3750e8e270af7cc644aa7d5ce93ca2069e8436aff736fba6b0aa6f26bd2cff3c2df36cdea97195148ae8783b942773b8ec4eb3155a40c0e475d4904dba968cbd47b935c54bdd482bceb109be21427cd5bfaac2a5a71fab65d8b273af1672e929bc47dfc354304548c576c28e3cda5ee7f635d0ac2654bcb8823b1f91d77402c02fde433abc522215bd8b6acfcc21077cf1ec0163b0d5db3c1496f659b612dd3737d8db0fe53fd2b3179120f9ffe7dfa8b6de2627c4f3a78da11a4bba771242fe689a9c80886a079279da7a270117cb18e640060d43ead96d817dfd1bc9dda92c807b895b5b23d9568516700e5f67179e9a56c027712fe93c41b7b2570649e7830c35edbefb02d60f3c162421b29495f80f68ec7c2890c998a21ba1c6ef2d8b2f33a319463fd460735c2f924347988613abb7f138b4f1ccea8b3037ba7de5129c4768bc62efad5bf08aaa32059df96a3863d8bc12b0001d253da9073597a811c5f41bf989f60d3973aaff7486630fbd655da1495c37e6656461ab8dfc696171814d57fb2224c2d9b09cd8fd20d71899015f2e3a01b5a055762c1d3510327bd604e0c15e378ee483929406705b24738d2ebeae6e81181e421440435e1d047c8f39065f0803434066d0ae62c1310c2c00b309e6123f6e6c98566bf8e641e1736aa859d74fc5b229256e5fa89892e07ec29e1aa95ab6a568b9472da47bc544ad107b1197e21aa950b444c464840892c480e86144494995cf6bc3d7e0b24ed865c9c712a6c7ea1775595a3379d59fd2ea161c27d023f6ddc32fe339590d1a6b038063db3681e93173e5ac811703e3fee47b9720883a470827e5cae245d5b421116c813d62cdaca49d6ee9c2b380a11b2978c1c3381dbec95a2bae2eb52766d08725f5be957e2fe286261320d7977db4dc68a4ef4c1e4924f65c3e0f25b437a17ff383515cc2feeb11ca68f1636685a8b504c5c241ec860664a915dec5709f02ed35561a8b0916d1949e669a1513f42e9e6590e270d4bd193ee7ed0c5d7f9d971a89e0bd19eab823c804e122532ceafcce892c1192635c089e1e27c6278a5890bc11a5e34d1fba8e1f4ffe3b1ac4cf778af47b3cd7e16bd36a25361b306094b9cadc91b884cf78308da79c2fdc363d3013b2be31a1fd9947d685f67ecff86a14b77f1a453000bdfb6c54485e0b45c3043c80565b3963077f0f8dc824a17870d695b8edd9f6943f9b33cb0c5517e4098476fec19b0a64bf35256083dc0e85f096e1dfd138215e5ef1a348c482ee8dfde7597b8beb6f3c3b150680d7c3ecbc6cefc6ce1006a364748501090c9cc30769a63c056c08bba6f64a23c66a866b497592308bf5c4d7c989e654257f4fdd5feb9e63022e887ce5c37b12de5fe71f17f06c901a269c123650b1aa45306509c0b359b7394a491507a064ccd3fc4274b42cd904a47bfa0018b954968930bd8ebf29c1737fe93952c948939922d60d3e7d868775895508c32fc79194f6ff27339e66e5efc6fc796c7bfa69a3865e1db89acf0bd5e1ad113974c29e464101635587202555b1a1698078fcf0fe40357481f518d811bcb0f9049032d6e8996c78355fc224c83bf9173f8606cf85c1648479a1269c897344dda6e08e05e6cd89530862f41e5f583d13ac9488927f2e77510d62e05c8969644c523971a41489e5ff37ed93b478b0b7d77456c677a722f493727c8949d0e7a1e3a69df1dbbd795708945e7929d98becca053271e6428dc13543ba66b2edee5744f099770e53f826b0c56a18c70d9c0066b882804ce37330e39e9e194dba8a6d8063ad83ffdacc025526200c40449568b8dbdc5eb4e15b12419ff3db7f4f68c3653c19db363ab31f1dbdce829b4eda3c51cf7678824a98b4d0c7656310316857c5febe93253526db312b45dee6b3219e8a74963c0709c7be23f81310946dbf45d5ad297b45bfcc15b5977bc82ab54e27fbd974fb8219a1209c72d6b69970210edebe45d6b67bddc8daa02f76b2f697c3cfd9df8d09f8aa41ed108a06fbf121e1750d4428a4d7bb6f03f920917242cc32ec86aa23d25285cf5d829dafd56da1e48a7c7329a3189bfb01a6110a499eb620b898922f2ad678714ac4729c47b89a704edabc44a0e67be29b1c4f1cd137af11028bed5d52ccf16c886889cb41b14ac872bc34f68bd4de7372c9fc7dcbab28d3d561ee7317641db4e4237e625cffac34cfa3fd458e1c4965ee9c488e11ac866b827db186109a520d3b20ae36a0669ee3d5b9fa684c14efe79073a76f61b118ac09b141ac0f73f1d6caa42fac4c1343d579e50666270c3b0d030321cc2d4e89aae01afaf26dd7a5f6da18049e8270bdcfdd38ef6ccaf23457584203c889d48c2422b80dbb8d54eebf0899b351f102501f95ddf996a1baa0f0e3cc335ba7501473562b13b10691b6c2dc5f1dd405f206aa1eb3e2b57bfa5cc0bbcc63b40330d603f960b216fcb9b085d34826af04a85e1ac9008d41d920220e7d866804e88eeba78c7d1722a7ca3569dd8495d5ea37af5a28db604261201005ee05179ddf8ba5cb77ac6a0ac82a0257910a3708a219503a16f19646c6be79dabd9d3a1dd39a9be684c8e9116f34d54c241f2656813f3c699d67469380e0d49fbc6bfa36d92a1451b673ac708253205f86557147780df87ecae6159895ce107cdfe2113aa8925f2f1638e3128091a97eb9be05241ce504743f54a8c58fb48413d821d2a0cef8667c19a54131e9320ea6da455d94d19cf28c5482887e175f9097d784ba0e55e3d3da318e31438b865da7eb5d18f768568e6d7dd3f5159215e8e48f4f8fd31fb372ac3d6cb64ad6173dcf2edfd03b5002e91bc000f46ba782115a2eadc65fd7bea565e51a2a0c413972f064ff26d7383ecf11dd3f8084543bc8ee8edcafdcbee2f6f49ff0c612921b120e94a5d66969137fb45ad8e0aa61ae2ed1f063937d857e6b460735a5feeaccce0949271c843edde3f8c88848ec0a37ceff2961ffb7242a06cf48b49143d534730744dd8c764c8294da82f73bc3d555fb84b81a7751ae7e3866f6a5103c42a46056a0f494b21b72ae65c83eb00fa3776480565de5f03b24abd6dec86262d296d2986cbfebd1626e5371f44ad47053ca58890eed5fec095c2fde9b3132509f90f5698dd36901869237e124d1022524f3f2263d9a74eca1a370f8b26ca164b19ec9679bc3ddd4db31a5d9a4c8e70b69ccd5b6fe878b760dfb89aee98dd9ffa1075c89a4e9d1aa2949afffa4bde843f6454690b480c8dfc4e38e2de7bea22032d18411e2f4a7a28ebbe98bdac9f0dff4f03dfd1381f967de0ad1bb21fad285468f9eed480678b7bf04831eef22d488beb7a3df91f06a78bb52dbc21f1ca70a21da8b69be1a8c58193f2eb97e4945287d7a987f7c1a7092fda8d068235726e313e1871a9594d0582205c38a5cfe95cb829ecb07cdaf2aa10f7308e27e51c0e721026187866a41b7f13830fe5b1c9f8d9b71d07da2378b607f4681224fa0e0be8067f8feb75aa53569bb9af07b77bdd1b3c391a02648eaf4e952777259c3817686d4112919d8d19c3ea7e96477bd031d5b69ad1027dbb3acf503f11c0315a3b8c90b8913f9f96b7da4610e270287e2f364e4f4fd2dcfb13a5a6848d83e1a150e4cc9fe476131827e0c4e08c07506ff59773090b6560e0218484b830995301402ab739d4836bd9868a9afb38017a0ba178770fcd3f6b807084b2f6d5bf0a56866f4746b771e96c8cd1d164d64c8982ae9137147982813ce74b6de1451e5a44383cdfc81d18e22adcaddc4c8c3079682c7dcf331894bc22599954ad26a356bb31d6eb5bd2f552b7de3e0ff1494c10d9b339f138a6d74ec666a96cf8ed88c11e4f5b851fe3ffe47fc4e9886baab593f6545420b23a1387cc7abfecb77b2ecce7914bf034951b69c0a78f290f30991a2f952896d788929ab1e73d3cac1083261494d6a7c0b9df6ecec8aa06a46f665dc73e93aab4d59e6d17e9768b242d4562e6a262ae6c46e85c93e51c77201370f629704e6c370bcce1b70688413abd0872c4034598b312ffe2c8303f0d22dab8a1de36086edf8b0b1be90e6fe7361bbf54e45c48f2bf730533b0e4c3a113da4f9fc68b8f6204880c015cf85fb3cdd2240c1be45fce314bd0a900ebf508f243ec22ab7a18de857179b13fbdb8a49ed59edd7394e3065067f2bebad22ed8472d3aa20a79ea269985fece9c4491f20ea0fcc980642f3773ea78458ae3d604a51f68a5ad5b8b7f97d16dc4e5104fb0858f500be5d5ce5b184bdbef5cd2e045c6c85c04033a3691c77f54472951ee074ac6e195b0c6bfe67833cad67bcda8f18a26c0a07982008fae2cf92d0c4962191d374916c336dbcbb32207f01e48a6122cce95023b81a8662d0cc090bdaaca53781d9b0e645c7a12b3280a0dab3f2617f03e357df430043be5b7ad41c449fcf2f9773d421cacfc31007420628a3b7af5ea7a50de6bbce8584ea4dec04a40b6bdd765aa4f729af233228790eee034a51af973e43f1f3a157cef48f4d86253510b3d1c786d941af9978619e0f97bdff9e915724660ebf53283c479bd823a242042941a971484f9a0241acc1b22ee67b9f5672481c91d996ae37207a4d8d507669e913cf0ec3528b10b92ed077719e6d8107c0f8b9a89881998d202d9fb5ab430a4f4a23b3eaa3013b447f948d4def598836b90c2b987b54e7220e4850aace1d142491d9d8861220947e202a4991bf9738181756daa596813b201f1c81d57398357034542eb741aada5e76f2f96e64b62a15e2544c05cab6c631258cea5f4c4ad11f013c281d48188f95eb8c62c5488f3193945935691ad671be56265067a64546ce0287f2a47175bd5f62adcdb6f12499353f0db37da90cc7c0c61c7a11da904dbf107d9b79c414bd05aae1f6634122312db443905a9716fe1b3a998106c8cdbb5d7c20cb1ab946ea004e5dfeb1bada0a27f2663ff46809c1fec920ae9cc70a6131e2c50e26c18cf6063bfb62a756b4e877285c0f43df7faee44f33ba697cf1676f4faba3de2f84b2ecf797635bb7429a984c097594303e62cf737a95e13a03216ae20da10e7f1d84c9d6b44bf9014fe609bdb9969e3e3f117a72f49e176e59b3c65b4b81312f84acee0f297b208a6297c89c5ea8c5f43775084f6248ffb16790a0245c6f2fb6874bec13f5a2ebe0434e561200521d046ca1d7473f1d2fc39d0cba4abb25c4853b8cbda902700b65c82f6a5d6ce69aa9448828db43e1eb73aedd3293615db31aebe63cf8c2177637d0960bb53aa2504844e169b2fecae18cd7370db9d6008edc2b068d1ae68e45c414c8ee721f86c7c163ea360ff6cf419dcf79d58cd9e832c12c71421613013c8ce43ecffd1ec6fc4fffab9c3c4f9636c7802b5683fadef2317603ab53bc4de7324b857c91391ca91b047f1be2ec91d1aa5fe8a0bc428efc347149c21a089f839295956061e4437568592bcce0cfa644129d240e302ffe38d12f9970f3b3a88a356d28752e13a586672eadaf97bc5ee81159436484c49f6a1f5ffd5b7efb36034b7f1a19bc7bd826bf10a343b571360d5a27a656985e92963c941f8cb0d21ec151b5739bd1cb318c89591af960a85bdb08c9f4efb02b621be17f20b679dcf75b802bffaa89720973ecdd65b02dfb205e51c11c348c014d008d44af4584a8804e7386d7f9cbb934b01cf815484179d54684da7dfea25a438c5621276a0fecbd122eba08cbc9f50cc8d3257c37c0c573841908d1ab9bd53a235053e7f0b6833fda3660c693bf2d2f23be17604a6ced9eea91f7b931fe5d5d5c761e029168ca10b4b44fed0caa84471ba1fda044bfd5e6e986b03158f767f6ccb9078e1c740ff3e9a2ec01361127ce94437e7648460c1a28a828cd8c7f9b399ddee58e5113f311c7863061f9781251e0b40078a2ead1e20eea575fa7e63bff0884f22783f892f046b836b18f335358e03442d8da559342c90d619bca6aaf0ac13355a31cc4e67c97a9512bea9ef4fa658159ffc7b2e0c1d6e944217912e4afc0fb6fb899e8de61048feb83b9ac4c8cceb609b7d4a79cc7d01fe7ba84801a7a21581c5994ef1f487e735ef6c5023e0c8e2abbe28a25c0d1a255f2ee4ffc2d95594d1a7a140e3a7f02c84c323ff17a15dc8f41c202a213863141cd2010d1c14626afd3d861617602acd60b335820886dbbb7617a66889facb54de042b826b5225d2d30832c8ddf3d6e2eb714267c63fc34687782fa61be85b4ea839a03125c46ba8cc963a53ed6155f032423bc020b04cfcbff775b1d68dee1e2035a85b51872bfddcdc73cde4eeb8e5fbcaecd3048fc92d75f6227d214697e74d42ef6e9ef628a143a2d74f7caa3f2563b27578c11d448e87d9c556758d1fb8585b30c2824d90b6ec60c37c73e2ef5d320a65f62c30aea52f9d95b886822bb36f3b973a9793d9bf28f48df1baa3c0eea62802ef1f843aa1fb0816305e88edf55f3da46ab85dfbc27eabe87d5088a0bb88f588ff363da4d4523c62a0d9cd9e50debd32ad52189292374a60b19bae01238394159ab9e722cae782719c6e7f1a7f4f6bc837b19e0d19b16dcca24ed71c40642c3a1b6a51433750a2d0dc484cf9fc435c741171b9e29b6adfd46abe4c566af923590f25d8e30118b10de59e0fc779bf530b75c60b723e6f23b2fc573b1b22c17d13c1287f8f14c71db3a6697285e31d00643a1f0c8071a886c4d19e26b04c49d6a09db3c9a2d95761bfaee0e59fe64df5a98354a773752597435ab2a896d57ea2f96428056da0103a263b77562cf81468eabe4d4f9cda64e410bc5e5f7532be30c569fe96e1a23d03232abb7a58e0d8350298a9c34729c11616d10be2943f59260e1af181dfe27fec47a7cfebd813341779d31653f4e8947c6291b26bd93115211b6ec9a15ea9ab2509e3df38c0d60c4d0802851632547dde5d40fcce8061b45b3bae383ef5161549c0e64a7378a0169c8be7348c8a6a01047c0303979b1b13ef60dbbfa4583a3d8ba44d13b91646090616bd68f56ab84fe69af70b14a0e1c6fbf39da4a742316e03c24c7b17ce11f132b43aca28fb35a14fc8e92aeb266c4023d9ae65859f2646e4597a452cbe1f751990e500161042d1e75de3b564a304e129c965e1b0fe562cbfdf141c07445b3d0691a2c1c03fe0cbe768174a236455bcd20023b3d14bc5c3867c8fe244e38a4b11f5a2217fa73abdd28a5820a485f6f3b496eba79bab1bcddcb8cc57246bb7b29651555bb7a96029612be3191ef8f437f5f711d64caf3ce2494b9f09ee385362f3314f57c3b44f191bbfb8b72be1a741e142bf60d6af7e148c33485c7ac8730fd25254a64f821208f45c6a47e30fcb62277c063e5fe810a553cea4d1b5d974ccba413b50f9c86858b541e739dc26335490fe864307003aebb7305767666fa60f33eedfce8a87f3143bf2baa78aaef8083dadaad658a2810e21d10c9dc6484621456d027cf2ab3a847386d94372af5e849c94fb66a6701ff57a6e4134324145dc36aa20bea7caa6b8db802e74f5fa763ecb7f12e19eb49c3c4a2fef4f9a021b1367889d5869438a031979e5e3149500ab3c4ad94b25ab3eecf1b9d35f21654a688ae87f72e0ca54ddc6b3be76f748768b8916bd77e16859581d7d843043376aac638b568501d75bda64e054c3f29ce4e5291497be4b53b1470c68dc383b6a304ca4b345c18487fd48f49ff19e2c1062ea7062db3f6a3ce9bfbfda3fbf52d32fde5fe6528ec1b080e449c6e47e8b387492486d97b50ff64c7931dda38c52841daea55333ad3229fc3277ee6d8dc4eeb79bc96e8b04677973e5a2f3948fcf4d904215a0eac651abe40e89e5b46264c339096a2f25c0a09b327274f4d3520fbd8711ac9f44c03dec994983059fa3437f794ff819d01359c08b9ba33d6a06e62dbb152d88bca4b9b8b08ad5e32e2c8932ec0135bc9963a9005bf7165301063c44d819d941942873d20107dba080ea84d381235e98fd0ddd8b8dad7e8182d3b2e040ab4d0249fd48aa200a29955d4cf73e5295cdfe161b6aeb5bd820093e15bfdb9fb544e5b6f52adbe49bb8a0f213f3fc72099b9bf2f67e009b9c67f758adddf24d109d207aad8ebaa7ff786f6d1d9425036ee5f19c63d292c616fe66511ac7ccd27d12a026292d591c4491eb589aed02e948cd78649c6081463dbfc7d14eabda1280ec85854b2befb32c0deb966e1a5b2d3169edf641ee293b3d5a94cb917c83b30f90aa661b88e26bfc685c8feebca29792e3e0afe559df357b4dac7d08f8e947b4c9753fe09a12505736a17fdbabc3cfe35357268f68066e99c83f553bbcb1ba7c56feacb00bd135c2a661ad31dbb6f95eaf26b7eeb7d25958d8cadc9b6b7526146a12a66c30d8b5675e8eb144e38897e39ef3a1bedc7cdec7a42abb6b85ebd07012f78ea76d70457b12a96b87da561be56f8615eb8001d936613c7b2e860d60dea0859fa9016feb74119220a0f13b548b4dee72057147e6d045889aec5c12e5071e2c5d59a815adf50a0657867966af0ed1ed2c206593a423af6f7c80084caa9f6cbe442eae7d05d2595593f41b7787144d7db057dc24c76c22810e4c45daffac682196bd08374c05a6d7ede9c4ab0a846eb09f2fcb5b7d1036dcb902bad8f4a0756a9d1d9451e2e1890182e844ce240f6ba067bbcda6d1bff615cfdfa271c3981f67d5b855ef7dc38ae2264870f43f3e57cf8f9b855b278a6aac5efebc3f05e2ddccc3832dfec480515df94fbe096dc14876a32c81bcb336e1b2dba3f4213ae77d4b852b75f92dee66ea17652cffd41f5d40496202a155117a48196661ef4440f11712df0536590a3c24a3817f9ef5cd47ab2d5246190dd3ae510af5ea2edb506db8297022283b66b43d851e5bee45e3215453fb52cab24d7ffefca23b3f030e8a7e442f7b93b9f1e0447044533369eaa8a6cc6bc17f1bf7fde6f7483cc9dd05c1f853c57e50958cf532f8e9e3e42e76ad710040a729726b371acb9473fc53aad999780d2e9a798326378cadb52df8730a4125e7812fa12441fed6a5c945c1d62fd7f9adfe372b4c479bc4cd10e22ec82c7227417ebb3a6d5f1eed084bcfce857664f747a07a34efe8f8106402a7b11e1aee08c00ab68be68995916a73ca1779d88e65229ef1d50137581e8f65522e81a7a5bc0b6ab090afd5c9a28f3c129dc4d7d55d0c3a847294a3dff7b4e91378e39511e6090239ef269bc87298a185c151cbbb97d7c1f348a6dbb4912a3dacdaa762cbadb0934bf4c9db705a4234e3eeb7a4a89a0580f96e15782afa1b5daa831826eaa1e7434200a009213fcfaa5679580515f1c6c2f694d48802bcf1a34425b50d1ba408df75bd4bcb1c1207275beef9e030e278d2b0f99cdf95d16a0566d4dae58ab6793864a83cb0d94fa4c18b5c51efb0d65002356aee099986f8b273472d2e03620af29cfdcfd2067a105e2a4b1c96afa2062ee67e2ff10e75b205c94256f3b65870073bca2d6055090ebfbcfbd4843aa7fc37a80d49a8a97fefbd8f64a55767e505ab0deb31e3350ecd7adbd6c0409ca2e3c3199ee49b708819834840fc4afa3895ceaa913e38e232dfa22bd411ca46332eba5ccc046c8a7f1d53fd5631a7ff0bd98dff75e9855635ddfe880ccc8734d4eb838b57b67b7b9fc176cabc2ed80a18e52b74dd1730edc74a9ca8e6208b1833c9424bec14a9a8e2d377bea4a446e04fca5486f315dc7749d0b6e51d23fd8deec92324acf65bf04a771ee3ad2a4dbd60d0783ad9030e6299fc688e9dee5155e11380316e466a1253d7b5f3f4a94794b9c68a611837fc47ebb76bb0de06211125d35aa5c19e45db33f9bac2638c3f00c07763ceea48b992ac137ccc67349bc0b1f626b81aabaab0b0b6f67ef470b87913c375efe150a83314410ea361f5313f8d1d0425281b8d7976f205d3399395c3c476a4293e1bf40700251ec3a0ff992a072fbccfe151e099c19ad2bb2c06e4364400686156caf10e8cc366389190f0e86d95c2830d3b50852b26c3faced2558a7344d0e890e301519601f1eb8b55d8803a19bd204168eb0ed35f87425b1897fe09fafb04ae94bae2678ad4b96be8cbac5bebb5a037bd2d2f2cf77a79183473ef50fc0788853cb6870d05349f6eadbbb04bba06d17450dc79eecd86a1654a7e67141614b85970d61470c2028c1c3306df137bf90536cfe52b76589dc9456808355cf957cad588eec0d6bce679f64e60495cc4143abe8414c811212cce3799f675b7069f78db29130f3244b830973ba1af61cfaf9abff40f997d2c4339bb30e69967a370a1fbd4866d7b90d5441ca2ae19a4eaf4d4622b0b085ad33cd6d459cbe65226187a2fc881cd42bdfd0bd3773b0736e6feb2cc0b10421fdc2e4718a5e7c500c89d4d2d9f72126e0cce6a58af9a17ec3daea5232b1b314c1aeaeec7105aa99fd5d5fe2ae00213d39a0c52b0b220daf18a8e56e485ea79b9633c421a8eadf2c6acb3dacf50844902f3f6baf210771d7cc1d9e900db9734c04ce787b905a93fdb7c817f88c1278421beef8013017ef94b4b982221806662cd4947b624f0442207530ae6714057d35d0688c4dad028f08a1627a3bba01338d3f2175ea77a4a1ddc6eb68211d2d53a574634fb231124a1d55d5107a8bbcd8e27c3d90de88ec10c69682474dcd94236cfe08004242e2e25aa21fd9d893c8ff2329ead84a28a622b639ff466d38eeccb3d83dbe2a89871c27771724cde5e565cd05eb26c0d0359e141ad9468df002ecbbb42f398860ceee9e8cfae52891721baa30970d6f4e658995a9a92f315b9edc21a0f4d776a65621fc90871638617f8ba882a68d2896fe9c531d2cb2e96b312b890269c790ba355207f29561ed8150f9578c7df7a3423098c520f85096a17e2071f748eeeedbf4111ad8a845ffeddd3ed148a93e3949a020dc1bfba5519b0dbf5092c7e8b77df513bc135a340825510809e4d961759939a39b41ebf33771186f1e651c6ee914bfd9ef7cd161097474449ef032715dbc482fc96b473bd1ff35d0c5982969f000541edc50828ed73b6efad43822a0b602394bc48a5ac8aac8eed2422aa15d9c94c97118b156a4fdacf882b83c69f84186502cc770958b1a8c3e821889c33bc1cbe9d43ba01326f5c2af1c54500866f7d0c89fa9260e0d2ee40476e669e9bd2acbf2c782b894664b81a52a4ec3a89b1ec71bcefe5fd991864ad777055e469f620b9e55fa19b6184c1e3994cbb899608aca42a2f2dc149d5ad76c9c98227afe647a2421b255c3e0ea1992d0cfd0253d2a8c0e87ae4fef8ccfdf02e360427f6f378c28c0337a4047e0dd98572722f39d98c1ef33072beef8b5bbe7f0766fb9d73eceaf420a17169c977329003c2de12d41949057a5dfbcb509493dc6c39a4b4d2e199816fafa9e7f7516ae466a229469c811b7e930c9421a94e661f503521d162d995c605f8a2b086467addf2069ace77b3e76e63647ebd814057c6ac03e1105667d0ee9cacfa09e22639dc451ea916a7d7e6bd14ea2ea4a58e95a245f397c953d8ccf084b313665f6f1107ece11bc6c22216ffd9a6154549a512d4e33cd5004f32bd65b773922c6eaefba11a6301a528c81c828bde18c06d0902c40844d244a4a6224ea00f66503a0bb9c3213f64384e64bbf0426d87708789b9a9e37628b446740d82d8ad63aa23cc2003005eeaef75c766366b389ad07ed5a1812906e41f3aa9b7e56ae1e6352432f9f875a5b5df2e964c0032eca36a3733129d3172f10338df0a454155067ebb2aa73cc2b3f7b8a98bbbd3136926c29f5e7e6eb7ba28dfcac38d73477002bd2c17c32a15eaa9f36dc5621015688ff59b1f9a2bf766d6908854e7148291edd721eecfadc760c9fcd71d0e45ebf8f4d8b971d4a5036f2c70473fcb20764fc431767e9665013be3b52f1d366541db32daa1949b8428bd1c86fa0fb03a4813dd98e78217f239b01f6d5bd5cbf666fc1712dbe196eb94c14f17623a3db82fa94defce8cdb4aac26a1d720dc1178758bd6bddc784f880ddee4fa150a21f24209e4412c1705af229e6cb815563c9b4b7baf1317571c7ba86b5fee46673745b74b1836678501977921ba3f841c572865ad7f77cec5c748b38fc726213581f8036e1e05fca554c606868b607109e8b070336a9c1d00cf6d7c8486ac7bd90090613d8aab9df1d2aa9f6d709cabbb063c086219f3a89070578be04f3f2b8b86ed4bd33acbbec4d32c6d493f17a99da8cbdc6aad8f22dd8f0f0d652c2e679480ff1eb11e31e911991d583831d2e69256e2a72fd870fe70b4ea92296502ec9b111ed1306d381fb1e2d3305450c07d54eff64a85addb614ac78143c240c8c2c10b5038c954827cee169f38f1f3759e2c45349bd020478981a7e503c017879f71661b9de15b430ea1c350d889c0c88482671e2f1a5cf512813e7dd787e02461f38f433346f98d2eff93a516fbb19b25d15ec7e9e02d1362dcb5164c8fa3c1021cc5e1d96e1e32a6351b6f4980f981ca1dda8d873f4b4ac7b2cfdd7f8c8f147ba06e602f4d3c30adeacb4e639f44b992691f6e03303850d0bf36cb5fe2552012ea0a487007949766c0b45440d4c523c066f8f01cd6f96d67b0a9693b4469ecb8c1fb8c20987c4c9e0df0411ea3d12acc6e2b98fa39213a276c6448c744f559432fed22b61c3b53567fa673ae2c0234b1fa8c92cd256305f63c5d1f5d93f8f43ec09702fc16a54a20ff5b871d198eaecf762b2f1dbf23b1a52a0cd85de9a53c7b0efa4b6cdb577d4f77c1ab9dc45b3e04f2da85284029b7e12f452eeb54c90ceabe8148f46015071ad02ceaeeef7b9208dadf12662517efde65b90fc3038373051fb93cb1b8f930d6e0e29f746a3e52b35c24b5111199e0f9bae8756bcd484cf9dbbfa1d49d3ceb220d2e29f0865ba09accab241774ddaa1d7d5c06e564911e53a65004b52cc120a063fb56d19bd2f79b9fd149f443ebe16022797abf1f3df1ba9429e811148bddd53188229b6b473fe76446e55fa9da25ce6a014c480c8d13e5ebe8cde1df5a4bd5c8c0aad344de07eb587d70d72e29646f25e05e69e47d2be9794c1fba494c8dc402093a2d3989a35c85bc3f8e89033ec382ad01a85ce7c66b51b78823a8ae75e7134224558ad96b1cd75b3632f2ba1dbc0ed8eb213d08dff9b37dac9862b8bf99d209f99ed2f53e67a3343bbec4a8e74afc18a3fc18d12ad0806db45cb6c95af92e81be6d50134ab5a29b609ddf39376f81f7ec3f711d06c21e21dc3cdea3d4f693d009d18263018e085a7b1ff2ef0b94dc444d2bd6fb58cf7f66082a215e93bc5ff113e70c88bd263249dec32adef4f691f63af1a263988cf3e5510584bc7a0309c25c2c2a7140e41350fed3e198ebd5c7ff0eb980922917bb7310b2e7a8716df172bbe4fe89e951c571be62b5c860b7246f8846acaeac28ab8dcf906e13d772b549dd36b5577587bdda25f759041b9588172c0594e03d4d003dbae70d4a8f298427a309a7ff88c9c03223c417ebb44111f0c8e17c8dd2dad895b2bd26ba0daabf25683b8b558b29b74dc8a9e43e74d669d26c2231e8f9f74a407c6343668d6a02f4112557f4edb2122f7ebf7869607b348cb546753d52a0203a40f29d5922db0e761ba9a38f4f78ec5298807d1c7aadf42864991de472ae2587bc544ca2ce82b720b7243b6de8e28ced88e06c3a937f4fa2367cfc541ab0174182d8b377a8847ecb32aaecef0ec69e2d9fc167aa841b4d8758965becb066bcd9d278e8d8725f84de247e0eef993bb614bb7f046ea864cb520b1a638872547db2562a9d5ca2d2691b49a92e8c746370b2baa69732f3e29f28dc32a7292751f323f305f4c008181640aa407dd9e68a0e8b62689f412c191534add8b880fa5d6b6482ff549e548f5fd80ac435734c1ec1b09c5e1488a64e6ef294668e1856a125ef0b4c3f2dc51337dc88714bc352b2f889cfad03e813d71a3bae5e5c24d74967077a9975539af159f24d3c1f2eda9f1a5d82c491ad771f711c7cd4b9bd15689ac0dad2cf00b04dab1962e8fca20e58c77e776ef9de042af482ef408e2d1e26609b4b2c129fb3a5ed7733ecc5a70781b58f92667080cf67164f3ab661437e84fbc93bf09655ddc7e1c42c5868c59bcd115771f229dba861c1ddc37d894ecd869d72fee7b6e356d88a04e08c2fc2ed4f250949de2b0c433eb55620260cd9a2938cef273ee9ed515f1822c553d2e18a3796d5ed454e0584825282961ea47b7be2c1a2765e9bb2b8bfcc6236757f6937b7204e81d4316bd236a314ac911a9422063d04baa25cbd60624a3dc8fe2b3a1fbfa0341c620d5235f58cc89233d71a2f4647ff280ed2f1c0e77c6ae46cb43ad0cee91bd337ee6015822161e6213a315baadbe9b8adb0e14c468056de3bdfb62cb49d50b479873ba8c60bafc76304b8b9fc5a37f4bed5206eb5d5ffb6079e3840c0f72f5f6a87c6a3235b49ba6e14a3ee34f3274974189eba8138990d81e9a8f7c3ca886ebea59d83b78c4a0b1c97488ff3d0d387ac484c09407efffba5b0486c65696dcecf65dbb5a043f77d33c6f68912f2f3a8423e7a9c6c0b76afe30c7e0b7156ef3a10cb27b4502b5a9ac7ae49bb327d007349bf3b9514b738f579fe379acd981f4666b37030e062296a71b49b27e65d3044ad04512c061319d56d2c8f818a5280f52bc45ac7443ffd26d333da9832bc1b4d02b7c53548fc29b0c3343be50efcc2c35c5017dcd1d806ec00d581e0edd834fa33119e6bd86805bbacee967172cb39d6b7430f8ef1e9fc44d14c0cb69e5c83e22e5e861d4d1495f48567a5a46f35f448f2a067f4085fc4ca41059f1aec0d7b4b41d689f33bfa6e98db90eaf0c633f3886221ee2196fc740f298b4cd20f60626a1e42f9c23d14382e10f96f0071c60537787f557f1e9fe2ffbe3e823fe7eb7246a1bf539b76e6bceb76d87dd9b8f724a0cad2ac614a2801eeb0cd9646fdba456f0db7f6828a388c92791c7e08b04d13ffc3439b7adb9a1a007d4bf5644829deaddeecaadeba3e3949718dfa975cb9fc0c0621a3120ad1d843995b075d8ec22327326625a7c3e00aa4a709833c05f400f300f7bad08ed665cae9c3313a2742e78e65411ebd337a0f964df9a65a5a3f2cd2491fa01233a95b9b7c409c88e7fd26f7e960fa9e296e4104358273df9493bea633b4025b7d59a69955a20cd45b7042bff7b1895ee6eb04fc31499a08f9284045bb5836684edfdbb09b82dbf24c161255c6d87161ede9cf0c89fa2e72f7d6dcaac58df794217c8a8e86e268f38a79629ddccb9cecc2d1450fa69eb11946476a9093d279cbe6f849cd31cec023adff4f7c3476b1e6c6ba5c324dee5f22ecfad074271522be0f4cb1a17315fd267a25b1fb4278cfc0d75643c45ecd7889109c1bdef0d7627f81984f940cf2e28105f5b1df5b2675874baa17c2959a5dd94c72a34ce93264741e0e0e4afea42043a5290027d04fc67514d5c44ac2bce3008365ba5acf982d1d17fe7f9dbc725f576214d383525bc067df7858caea43b5e9c7c121fab69cb46f9d8b658392e7d6833e63e7d432f280204f90fbd1883f0a82d97d83bbeecda18c9d73694434211769e7a8ee522edee2a2fdfe748cc3e719b5123abefc67ef2847c9c54c953cadee032ffd5fd3280029dc60374f4beeb20123d1de52ee1c0cb7214c12ad4f50474280031790caa4c239452317aed4d896603b081b09741ca6fef1ec22a28d5284b0865a3f20ffbb2872094c0d24493a14198650b53b98996b80d3c0d1b5936ebf840ad31a74a8157e5a86c1e690ffc0eedecf748700fcdb05c75d596c929407080ad919a89bc3ea26afeacdbb9c51635b8d87f44a28c02eb5a31c19d7c613e3308c77825a6b9cef1d212599394b20efeb939b8e15d6a8b5692e3e2fd8c7473e1935bf4d63c9e6c2635ffa37931f61df7533d6b284f9b15b40e398735e1d168d29d80d77215464636f846b11fdb58fdd7b2ebc313542fa75c457ac70de4aa24876ebe9fa34d3c0d6482bae08dfa3062fd851bd40a5b607254f73bb2602b69cf459386176e574f864ff2ccfdc49eae9ba8af3814e33693f30f33bbbc01c930d790c15c288a745b524ff4179e155deaa90a0501c864dbc63f62a0ebcdfddefa9b84c8afd3ddbbdcc53ca1e14c187a408765c653612ea0c1e29fe49900fdaf536f9d377ebed1625e94de2261597d0aca8198002fa95afc3d0ff20d59123dd0c3040a5f9bae50de789d9d1f11c2a0f77b3b18519cfb6a2d32485dbf176451cbfbb32130eded94bb9d009384245ed54c6002166c0894057a4a5f9e3fedbbcd7a7f207d4c5cce0676f18d8e5c4e161ba27b2bb7916d9df45ef2d7804651fa34f4cad980fed1707d99ef3cba0c74dbb904b690a74ce81ae7acc85f9ff9b49a41493aa25789ff4d8c92b040528c32f82847c94c12d0d54406dc8e14460d3294acd1c5716e03ea0b41461a21b3e446cf2b24d186bf97d983b51b91a9292ceafc214bfa8db9e0878933b99c4a6ae51d5a4455462d619f99ff39e5445e9fc4cc6467334d83ea196e562fc14e240e7da3f30d9c9d1e3a574d3e90d0054d165b9d09b9b5f342643b367173a248b23f653fce344032b5450feb31d91f8719c60f737cff5a42ea3cf28b41375b43fba4211b658fb748bd05b5e719c4a8c0d365af55d51a518dd568163f06056c9cb016b2857dca738edbeeedad1b7ee5fa64c738a7bbc596c135689c0af67851e6de5b893b85afb023dcfaed79cdc021a949b6305968e0ca20e9891281d170ecedab0486f521376b453847d11af0af22468227a490a78389d4b0a044eac045fadafdc6478ea5433beeb4268081fc12b061e352dcb519734b17c90aa1006d16a20ccde9efda64df1de6b091e8ac2afe5d9b12accefaf62fbcc5e3a08678da694ad748903142ce041b821b1b7cffad5b76f3a2310ca2fd49c011085ce48fa6f61667d760fb33dc2eeb4c615927ec685e30744118aa25d725fe03c9aa7542c17b2a3f25725ea49c601c9c06682752174207d1b8ff8aa1ea7f7a244b3b45027c917fb9d85bf0a3ffe0f8287ebac290afd140faca5e1131db15c1d45aaff020e382611f15522a88db5539d6bfd86ae995ae700025a2d9f1f3ffb1d5285bbdca229d6db7e7c552d6c3b1696f8c654a7c708ce6dfd1abbff35c56e622eef0838c0c89e7ca9523a4e3490ea5d755f033b2937e8b82565a2f3edca44d66175d505f247d7f5a07b071e6ff4fbb5b90714cb11198dd27ea60a1b7a022097923c1832b22a9fcc079ba018ba19e0403fc94c6495a29eb9d1e6b0bcb8546e75a7d933e3c0f3fdf8231167022196a6a15a675b42970b437b435178b3c8a44c1f8433c65a7873e10bfd98ae351b87c78c731782d31cf6bc8d8e4b5741741b9c7843c055a346b6e0e7c32e6d2d96a27f19e0c1a27e3779d8166fe288356889fe3cc0f28085d5a005e9d9d99b110f7ae33bb98f00a8849cf9ce1d8e94144a46f3bad2e2ce9fdfc2e24778664af4884e84f383a95319fda4da6198793e8327cca7e50f4b5eb480fa406f71343f41be8d771d9c60b77c72442abd4dcc5a26a9e46685de1ced7d7d96b6fc02c58c2281afb983da1b11e540943e63113cbd693a75d4d8bd6082855ee19b2db5aad20f663bd41178d0a3139f707bd0423edc48b8f7469e89285b21dc872f742bb096d13ad1f2cb0613c0c53bb0eea01ffc9dc2d7bc782eadbd22f876c8b377f7f59df642951d24b7d8f43ee173fd6e2a8f290b210b0b8458c9f1d53c0060008983a7864524fc240fe406a5b28a193d530b37a21c816bc2ba8926b1b81ab0c177ac8998983727cb4f610f23bd6cc09b73654effb72e920b0d23974d71602db390298f4c816c3b3aacaecf3e0c8c6ab4bdbc64ac6db8fec63c1485eb29d6e3bd04f77a5a16d9f21a0e49a5424e1f5b7f54f1b22012145d297b967b244cad31d09717ada509d7abdaa6624538ae7ef0e06b6f6ded4de120707610c195cd19e0391196c7e5acf31a902366494b17c43d4c448354d486f7f88b25fb7c97680df582727edf06c51d79c79dee94a38e79d62acc268d63adc8bd333b7fae10a1a7378bddfb7b36331fa3d64d8512d7c3be9bf2a7b3daa520f04aebe7ebfb88d629820f936cc5ebb2b066dad6347ba894c059c21916108acc351539673d7375f470cb329647fc5564b5e7d225c08e65bd735892030a991a3476010e8ba9d7907089206f465991d5eb11f185711633d9a05473e0052a8a363bc035457490faee300ae844910265f8507fcfb17c5dcadf1f5b8e17b5630757ad11f99a31308b51cd886db9a433f3094e7192c3fc6823e2318c1ce1794ddd53ec40600c2b466d39fbd95beef6cbdcf75275402b0e6fac8e6376bf0430cb526e6c4ca8fbe06d290e808750e74e4de9f022643127e2f03e68d039fa9cf93e74a36ff19cd738cec84e981d6816ab47a2e034f2beb71962f45dd0b07b684004f6dbc27909b22b902e203cb2b4f597cbddf54bd617cedf0298690bdbdd0ccc7010ef7a8e9e9523847748733b84df207b22030acbf7269be8689fe7b2c652bab4c4805d1d208c2581a79eae594ef888a2c9b1ce84fce60a68d9a8fac3715ff39759e974c3f45d9b455cbf2a222ec3f04e91d9b749eddef3920bc487c07414ca868098203972c7fd3598df31468ce771d2e18087371975f689693843a4a4325047c20bef3e7667f5ceb7fd9f7312a460af1260cfc3cc64dae66b23186f68a6199f68bfa85a6607db3e4affaffbfbe4d87a1a5d7855029e809a3496a0cdfacacb8b31dcaca9af99814241eed7b6baed96c799b69dd49914628b7dd506d0eda381ff339966c54ee5d50cce9653235cf1ad719276fc074efb2e58850e0c79cf432a11ef31884625e77a7bfe99e6724990270674b77a274e0f80a96f6221681d78ea45f9007c56db63647f7d5ae76a1e8038bbd5b5366774046ba9b9bea91ff5f3cfe83eaebc53cb769fd2e85414d2d0756eeb2e4b12193744d97f0bce3a6857c9fa4ecd4a5212db9e12c57cfe120dd1262204c372d4df11e1d71244ce6cf91ab6cd58439ceedeee758a0c2a85452af8c035531174b68f9f6378afb53f64b92e0d49f92c8d795c5ce7daeaf7315aaad92f9687d5b4719645cbcf41e884206b90e2ecd7c7ce49df4e88a1f1c4c4829826aff1358c81389b29001845050305430c23b56cf7e79613bf3f9771a6dbda58c28ea87f300eab9b2ae5685b42982e5bd7276609434855c4ee5905d84f0929eb8485bfcf4a1836c142dabaafa29e6a9410e5e3b95fdfdae7bb2112b007f6476f1a6819d201f0567912f42ebd281704a8b06519a583356dfdb1550d0f7191d76623c9ecf0f8bf51359d879dd82409f069851b242fe561b806662d759f6190a299c7fcd020127f8643cec07467a36a1cbae113dc11ea80c7fc901012ac25189b5693fc133a8afcdbc70bfc08bca84d44c80c4ef4699072f11430dfff934462eaad2396aaf0776562301ddea6c399efda47750c21f1a52d42baa47fe6fc3dbbc8977b959a0f360770ae2f537e0dbcce26b7c84f02aa6a9279289e3b5111895c226ccd16b742e9c349317a62ea72cd67f33ae042a52d8ae9d005a84e020eefe009be3f9dae20f2244987456121e859ebc811767ec4fb91b1683a0a8279bd1c8adcb75e38a16264b6d4bdaefbc27a8a4f060fcff4a9515223b106d85718e7c69f65796c10d710c3889a47b73604967d229d861cef2302bfdd24a4f8d9371fe0d513390f0a3e1a5ea50e0bcd751bcc69f27ae6ae7d7cc541562ee3d644a5605e93da8d7e4ce56558201b01d470c71d28edfd642635b2b416228343adf9ffefd9e628b35298437564106d554c649e123ed5e76e8cd1f153a43b40c68a387fceeb1de0e06fec309ba35d44f2763f08f37470f9ef2683e16fcd71081daea0cc8ba2c2ce3f19917303ff924e56579e4df221a88a512b511e3635aa380e3cbb951c78b2756b536e32c5d485bab1f906707f66977af8ef7a7ef6290edb4b1cca3b78862d808f8b06b4055670e50c7c558d0657ec0fb397be0a68ef38124a2e058a274d4b527e082e687c9348ee45650a29d080b7648e9231ee71be683e8720ab769a203ed0d68dcad269cf2d1d1f79ad0b6fddb3cabaa1051f1cf48cb25c41fb6ed7c346e12af305dc728cc5808930904f3611cdb04125bc2b6f176aca1dd6bfcff632a7ce50c6e66b031b8f724f58e68b8b52e2e898b6b14f430f57ffb4850d4f6a0b3f5e6fb6966d9aa193490301b2d8c5ac9c2b1b258cdecb57b13fe3f3f4a617161b6eb5ee9dcf3c04d62817182f3dbfe7413f73b3bac17d5561548d6d5fb240c6d27eef1a0dc47488f3c4bada9c50acd681daf31168350bba12f5c85b6811f4cb9b0d8a1c8bae85aec526d7141e3cefb3470dcae079816618d53b02cd9bbee4cf7dde30c0ff91836147451fd3b8ea52ec42cdd4c2cb1f37bacda9d074a877f1bd769c4d9f7d8be1db1d3bea434dc5a13f08a7b8bcdeed035d29860e1a59fc2fca7faaef406db39726de83e9659f0f0a8de08a53eccf618052391c7febfa43b94da8db0a534e9c89e3800e3409596e8d64f529730c88e4c44430f0ae2b5d8a2b3039ad44dc5bd9a6006a487bff0d4500db78a7aa041c64cfc561aff135612381d33cf8e8599ea9fd153c9d30200374ef37c60bb011a4feaf246988f7490c99a087f98a5b12644cb16240c302d117af8e926476be1082ded9eb42c5c068d0ba17bbd872bca94a2b74a4c227f01c8fbac4ccbabfe7a59262386eb8dc2cf93559f766ae15ae00aee1f1e411a09a4c09f30c3c0b976b1d15f6ffb426a0f1b1c6bf460f65458f854cd6e4f23a61dbcb19c6891341d910e1e774dae9bdeeede2bc7bbaef975ec12a4ce70a66d1cc03f8e0e70f9772abf2c492900bff94f3fe965a1d6d68d0ed72ffc89e2b2fbf28d4908a881c97ad6e03e8d47ac627948de7e1020e631e675768280e915dbd0ba7173bbafcf4e6451a9d3b1a474c82f09a8389300bea6f79027401646c2302ad1ac5dace29cda33539b5fadc43947ce90f388df7df6e6973bf5940b36532075c0409e3e9c95429ceea741c2e0278eb531503925f100273db3f8b266ac02545a5b51cb188fe29511f9561b2d98df2178d6924f58355183ce5828e4c294fe9414598f36db3f4d157ec984f63571be7ba136ab5060109500d22bf9ac9b5596d06ef80d3aa0b07325be72f784f95745521d0355d363723a506291719b89cc468e7c9c5f12d47c4cd60e127a46fd8f69b059061ed1d3123089328249394876322fef2c60de7a789895c5ab426e4c10299a6bf5abeb27dcd24dfc224fe4b0a1090d3b732fdad8a72988a7f26139b706c45b4469996863aa8d8609770cda76dab048f4715b2f800cca7bb9ba76e5eca46d7fe12b1c23d13a32e95124dadb61023ec2e3e127b93cf9be1bca80b80f3d399d4529854d59a08f69c71ec95eed54b0d228450781110c2da425fb47481d0c958ceeed1d6e5acb8441e0bce3cc5d9531d2dc6e3eb63ce75aed20ed0696f16b55801e30a9363e51419f2578aff20ef6877d21f99daaa79318b5208966dd7da7f53f019925fcad01b6b1815bdbf2918a18097d1e9323e6989c8175e7719cc3c907b3afd1780c0fbc48b397a3181b0478e8e7a4ee2a29832966b04d0dfa7057dab32e33d4bb95f7d5b80da8c994f181531a5f6b8b83a8bd336ed2dc2e1723beec080127c2f87dd57efb674f1d7f14cfaf49678ca770fab58208f9c28611e27b61982af0372d273bc9106a81ecc0d03cf826f44fb747a5b0b57659debee3a9247d145c9ab3573ac32e1720bc1ca97d0ccf9755b9835a7bf3ac2d0fc7583864ec1a806431a0391dde6f72f628ebc370ad809345d2acad321b78cdfe317348cd822670c473bbe2b835d6a9c0d7c718e683e1c75fb718148e504b644b3c9e7cd8b33fd134b66c9f75a805530565476500bb1280470892d576f45241f9f04513237303da85d702fc4efad8214ac72a18e91d36b67e212e9781eb6d652ce442b2f1bd8529749dba402d04c9c38afe0629ca839f4ee84ce6cfebe3ef7a697343eb9dd07fcbe7f464569601e24de19c938a8debf0f42923a5f90a4db793dfc60d629fed20c2482d9174729391889f46a2e76d4b3e244cb44deada3689ce4955960a3d35fc02d564fa2fbd804690240e95c48ea61da0f7c06864dca6db00272d35bb0953480a04807564f6a2bc882e3c05e8483fff85c889f3206a5bbb6afc040a31f9e17e5585065bac7ccf05b91ca5b5feeed9cdf480ed3b6e36bfe892ccaa55280a9b2175bbdb20aa75b66d5c38d9649492a64e3e16b762559b218e9ffef1f53c6d928fcd07e755eb0a74c61e4cefa0cc80408a000b067f85105e5e6bba75dbddf3e328d23cd99d2e86ea2672504ada16f27bf8f2bb6494daf628d3a43d6ec70281853d772f7465bae2f513773a5a717cfd89a51ab4abeb2bad807556d220acab00075cd4b33b385e6baca03e45b5e8ef452d92e1102e648a96eaf38eef688d2d19752bbe16c0dc0e72fe63fe77d922e6340c863a31b57680a1261e4f7e014bcbc79999078150dff59c8254416c806b58931ca4df5b7662fa93dafafb66e055071639c20c9028505735efd3d6c64ed30d1b7a4513c808620a1743b1b03daaa520e9130a228f641305aa12e79aa681713d1a8cf6b8dc69445d59b165a0766ff27e4b799f8b15e63bdd2156f4acc337398ae190da99638d23b0a8e2f091f8fc1b2abcd44c6f1821d89df34ba4a8197c2b8f4f60bb961e946e545532382dbd8800008626bb7c55dcce8d6f985d4a5ac6e7f0f180c9a330fe98c972eea3dbd34f950e3373960394c16e2513c755a882f2ceb6e43bb9e7191cbfc150e5bade43e94bcf3ac89b12faa987603d63610bfd8bf1f823754671ca169f6e02fd0e4ad1301a60a34d275838e1906ce6ace81489f91fecb8e46c4b46ca697bb334400619d0e97cc4872610cc161162b561f99c6e988d313f2510c2f547d8e44bf35cebef30eb8a37bfbb65d1b2873b42cf6f4c067f593634d60f78b5b97efc242bc5d8009e2def631b17ceaa53ad94db61a50b3c79445f2f3a63b5f0a332b68e21d2d76792343e7b0b5d39ede93c771d7a4f79b7fb0cafeebef1bb94fad6a209ac70534ffbabb003d5e8abab28c35747211a6f30b4d52094f751461f5250d292c5323cb536364c4faaef90a75bc6e156fc86713e084c48737eea3fbf4477e27543b7c680904c4a765ad0748b57b808a4e31d4009fb0b7989bdeab2d769fa6566afffa37a4ff74f088f7da6ec14c4bcb9af730a1d8f8cf524543bbc9a033d8e6abfa138a52b7780c59be7b0b85c971cac84fec0dd7e5a400a5be49ff10c67d70ca99ce96b193590503828f4054bb23b18cd02b1a885d0b12e89935349c5cc8dd71ad687027377aaf306aaef27d1a802b0a746210cbf7e779bcf6c877e43a241de0d6ef414b44a0ff81656278a8c358ad1da2031635ac58ae777f2bddfb8350b1fa34e71b722beff469683fe880bc22ace18ffd4437bb55da05eb2a341a4d94e610fb3f25aaf99b1f898f4601bfd5ce4c107f41beb53060e095c981d2ebfd785c0a813e021eed28888d18a606207d211e0a8afcade18e5c46ba2c609ee48049cd82ea0e55065c837a18a3af3c02a7f01191bb73569351b7d5720d62322bbc15c97a4cd34c0f424c0025d70e1cf18e66b24ec12d1fb6057ac7ab42a8e6e980661b0f794d8fa4cbf422e874adc85032e6a43721f08f926e5c77e9fbbd391c00cf1344feb5ec79875161c3dd9ed4433c209379201984fcf634a7de280fdcfe590f2764a627d3d602cff367813cc5d61d527f4d6a7a73db127430fc421f570d553fdcd5f3c8ec5deb8535e3d4aad204da0612c59e0c022850d498f1f952cc607ca8266ebba3f86622b85385750975f6ed190856bc68c42324f12b1d1edb144648fae780a642680dcb2d86153500c02535a85524cd73f5dfb86e08eb7b71a126b1a4b9e00ecbdab5d0a4743db6e3cd482368ad8837913ea30e16ba83a1ea14a7e471e30c107bcb0cdf3fb03e829ef2a69bd69188601c3db00b4c4fc14ffe7c230a793fa426afab5322ec1f8c63f848ef15fc15d404c022d1f414f013eec178e65ef66b09716e061a953cb680cc8cd6ca361b70808c90fca9e9dab357a0c01c5b24bf7eeb61c4054fcbb8c4288b4aa817d750bbbca48a735c8b929c320387cda9fb04d5768a808931aeb078abbbdde07c649059c580efe203612639249a578f3062c143415ebb87623cab745b24267db26ac4b3514362b5e8e70f13b8a762bd1bf52d7b27368d77ca266f5ba349da0d7467aa4a3eca09a31d0eaba17855ff5031404952706a071fef55c5d6363968b419ba3f97462704799ebbf1669295b0914d7dae75fdd84d1d04a08cd4e1f1a5ead8a48c1c9e8ef051fc467cc1bb94ebf278a529271ba1a400774c5382046a5ac28c9bd5afca08cfa23f6de114153e114a469db17345a6e42ad577122971bcc56927a90e1bc5a9d0a6a3293b794d5514756021792cb6176acfc11b6b5caf7e9ee511d07f660c67bad6eec69579d4d0a90516f9b09654e4af507b3acecaa8bfbc98211e49691b28252290a3d8bdc66ca5cfb2eed7111ec7d1b65d011350c35dd479fabc11bfab725632d7a1504d9e223e3df2bbd690f4723b754c36b99cd388e1605427305345f69caa0c9e3ff1939e107ce46e5789aafc3ce29698b85e6d454a0a4ca9e35bb0a5f994102fcbbbb5ad4826ae08587d3133d6a96a3a48a9cb27b37cb2ef8e414a01cea4b4b687697b5b34d13da3522370a274179027d25f3f4850dd365e81a2f47200f6b29cb21ce396f908df326fb689b00993f435f4d3aba7c5fd1604831911e067e3f72adb64828db5fc4b6366bd18e0f119eed82f8dcae4e08c51fdd27a56b2dfcc6301f891918ebaa998ae61a97e5cecd8f3c4ba77ea4999735a8f510d3f99b1dc4b139d2f864fe060d5f4de1b49da51f2b40d9c5b91675b7849ff90fec46935fd4904e1a755a4fc5cc9ef12e482cc73b3dda3db49e8aa6ae7bf68b3bc5c54315d3e9e02f04727c328d3a8143403e50d246cd96a8c14aaacc7d21a992fb5c191039227c7fade639e28763be6f68df384b040bb3467089f7b496bbaed83ec1760590dc007d5e716076a9a460ab4824ac66ef0c89a2775fa27ca75050155280744ca5ecc0bd06607e492e13a196000dc5da75709eac6514754ef7b013298b08c99b7cd83022c8958dd2d93329a9e925eed8fd5b2a0c8be64aba320156c08044bae33d0b79e59da8f108b502052977dbeeab215c0971d0c7c97b4633705a5327275e6c6286263e5164dcf4f598ac29b5b4e171f256ee531c01d02d27e168641d0e17e2eba56c6f6bca0523b40c2d3a886d9f8253f2751961b75857a9fc48332754089ae65b22c1704f080c52ff0dddb46e44d3a447fe16814bf3563dc1d4e14aa480aadc145e12828cc319ddf095149a8297dc4c0bd69a27d69a7c0fb6f568ee5ac25b3237f7f33f24675bab05c4c76772e4e7a6f0ec52266645dc83014b4a8a9a2f46986ccfc2ea4dd644f63ee9827fbb27d3f99b424ec769da368c21e3d559b0e89b34d7aa3476c7fa75ce9f2d1ac9db79fb7b6719ba8debefdcfeed092e82a897d09616a380e6cf98183bb2d92b8afdd41df501d4219a131eed99f5b3f20d9c7b6fbc2cdc1f8ab614421bff7c2c5890db9ed657cc73138c0086e7d8437aca5d650c97c276de51088ef158b1d3479903ca52833eed99a04ab4624aa81db32225efaaab644ccb42bb48697fe38abcb732bd929b27a16a6381f15aa69b1052f1d421289f26dcc0bb061078825209bccbc14abb62b3369f5869c0ba2eef91c663df7a12d47bb697683d8bf24b4780887b3f8f37a4757e2d020da85c29ddab531a8869baf117d7641296e117e0ac679b829c38d7bb82ac0cc10456cf78309ee674e0111fe730a402fa2ba593142ba9e6f8e55bd296aea631cf654f22e71fd5f48f5e5e040b9cf7099e4c5e3ebe00d1a4da6556dfa523dc192e6dd7447f02632fd7db8cc9b2d64a3321e8d694ba6e1ad844d4a48076f5db016912a53d8c33cdb96734c3170d2083179d6aa6c9044a33f741736d39b3783135653963a43314e1ba05cb72c96625c286a01a4bb0c4c814c3e03b2528a90c62c576672e5718e03b251fe8b7f346b00219f2667b0a6d8068b78398df7182edbf3f37f8e5981ae74095f45879116969b2d2d7c06d9985ee7deca1f18307503d574a2975ee97b97714cf4ad099915e3fddc4cb05ca268b9721efbdfa6a9e7453e7438144b54a530556db75cd8d163c076bb9ac2b2682c7fb2f8c84fc0664c2429a22be814c24ab4047b9833a917066dee4e4d40cee42f39f5fddd735cfa9cd7fe686548a5ee9bf2db0698edcb0c9e1f9e78cb9b1e98e285ca61880f73864e013c6f3c389d6cabf0be19169e0f666144502a9fea9354bb2f12aa7d54bcf394f4100fdea8ae66ac6d09fa74a0f11cbfd1ccbb2620859bcb689584c4d07457d480130430e002e72f6c46948bcb15c51f23e690405d3c2da99e267c4b4f96ac462a9b0a33c596507d656310857c4a09d1ad21b08f41a753e4cf8d137c5b4e0b70b764e9d2afab7c2bcde43253eb42afea407582e32af425eb25f27b67be5354a95d7f99815837175eae588baa69356610be280419b5089962eb51df28516ee573b7dffdd62b24ddd2d2874e9b32e2b62b6248c1bd9da531a18650dd4c85f4e05a9c4d33cf07a7c6471a5a1d90743e4afe9b9347be72c573550da2338b0aaf5dda2661531cf20ae7f24516d0f6907e90faf917970d5994fa623e889f8d0c3dd4dd7ea9ac658470882ddf36620511fc37c67326c9704c285e35093cc4416148125905e5c68aa694bc68e3f8853428c73de2f188985f84addd2ab5a1a6075f2c1feeaa6812a1cfda9de76d18abb58de7736d6cbc0f0f8d14a458e4b257a77511bbda2e3a70bfe7bb4323537bacc795e777dce4c0915e5a8462c608f0174d218dcfbc1aff73510e8e2c837aef24619f8c6493e2daa1dd67f4f044bbf62d93c01ba629871bfb2692e03c3224be5cf2f9603132ba6ff12509dcb7744fc99b423b6c7f8b6e8de64cb7c69aaceee17db484bb1f397d3b40d220cfe501a63a7bfd0d3569c17a7e85c8afa58870c564c2a80b7bb6e710e9c1c26547d33314f53ccdca645d0c93af9a67e1518da4e6f568fca5da21bf760b083233ad12ebb17a9ec263f5e508e217345cef8e623f114048bacf7b39d106eab13af202ffa64530b372986ff62338b56ebb16c35dcf6327017b825403495ed64cd29c8082084b11edc7f63bf124e97e3266e1b5572599036336061c12aed48dcad06515286508bf5842201692298d1a62a6c2ba14e0b90cd9107b28b27225a5968e8bff879f15ed176f11182981da5318350b380bd7d5223395b14cbb59dc25854d5ce30f3a61341f9d7d3abe487aa3b58f4537bcfeaba803ce4a101c98bb3809b0e72b43b7032cf9cf8a43cc1c8b5308947777b95b56f3bd8a6c3df4f04bc5993bdc748b7f86b52af7a0ca3c566d42b6e2cb04c5496827fd8d5f2deeb5f4fe717356c774c300926c89b37b01d04526c0cb0262b93e3643d3af4790824c9f452c986eb9da09a2dbf49c560764edc7f0a59bb5c2a4252879c0c953f7bf6ed89116cf84d6462a15fb51447e0470ec365511a622859bc1bae796f8f8cf0965e54545f0d89544745a75a5de836ba4f449bc3600dddc8dad9c4b990d43559c636a312112d15b7e4e6eae90d9c0dd3a5e683e4e5172562c5f6a6f7aa3434e45e491cf75f7ff00be01c6e3dcf29827a8451f534b324cbdb956644262f213bf6b6af38d8cf961170ff8f95b9c3e7cc72515db81f7d27297beb565356af995b8d107cc568c5c2ab9b588b03a0ba5a131d6285c0d8d61e8874a16fb907928ec3bf3c563e46f790bb21036f17250072f3170c03a051a71dbabcc84bb90353d44ed03dfd5e619b1dc6e28e1022cb4147bebe42466add9c181a331696afe48705565c7f44c2752292bb31bdb18f2265d7371a47579cd0a7bccc3561248230b176893cab9d7333b10333d905ee7fefe9d3a63834245ba76c51a1bb18dee870a173d789dfa0d0aad240e18a7bb0f85643b007f083369a918e4d3b89597e273057d530e6110900346cc5fa1b8b6d16fc8f13ce66584704c3eabf19f5f6db98ae5bbb9b504614eb9d524d89cc55651fa36a6c9c2cd558e0482f6754075d6c760038fa892052da6b389ac359d909a2ba292c566b75a8ad055c97994c6bfed92b9884cce7f1688f84fcdb2c9841b2e2917fd0a4792eb62611c559ce14fbbe8b176c00c8c602eafae27400fa799753d4125477fde80229fdf2375a11f47ce11efc10d02e8b7f19e6819370dcf53c7906de9c3055612cbbd01a1194a3146c74d66a571b3bd96e9a580395408fe0bc04da098b660e832be5d030074f57f28df466306a4cb93f4620b75d8df4592f5a343711efbea0efe0c5efc3df8a1c1cb436b1537d48cbb58336f35ea7a7085094b1e5968238a4c15dfca96424ed94ba55e4961a7911ca7438575d3003e6ceb51083ac90f636971063a640441e318b5bc636ad91c2ed3aaa6a80f89b6f69bcc4056ebcf2f09ea4cf464560f135cfc37cb53b94881e502e66e5ed1228f9f349bbd7027a9c8c3de4393c20843748b68a3a3b6c5bec4ab2e4011e9fc6b6ca89c45566ee361c6291002f1443da14e8e42a25c73964749461239ce79068d0e65e6e351392453d5c617597f98dde6f8f7f2e9a6c6bf67bbf8b80f6d42a3606184a361bebc0705a50217f8600bebaa99d81f24838c4bc5488dea9d7bc8c562009f98eb1bd1ef79afeeee516ad341a44d0943a45a88da812525cd01ca4f9e400888d56e008a7683dd080a33e005d429b7b4242871ef6b1f16d2cb32a5b0e324011ad971db3d4f989c02dfbffe9b83ae5ac6a13f8ad172f5906131b43005e4bc360279d0bab1b4124bd5b2808607e0fb53492278a4a845e6ceb5d9e9baf55f0acf2ea8008cb22baf0885682579979c682f87edebbbed7120960024b7a173b046967e230b881438a0a526fd0e140e9aa520978d7384a0291705f73d3767f40d496f1f6d9ffd068699185a9ca5dba9412fc6fda342049d6b2cc82d05b6b233c4c7a38c1f116b05957905e2f79c1b83967dbd154ea5305887bced8eb73116e91ff3e3170c2287ad99b1c00e69a36d0fb2c3bd191c013ff830ed142166667f469cdb70d0a2a2b02f2c46ff184bebcf0a2a386ac4643ac5f4fab99339e92f92d190d13892dc6c4cc73540f2a75ab8c288c6b63fddb27af5774bfefc110a847223f21525e14b7b4dd6ac0b746d42a433dd54fa02279b0468aac2b835ccfcf95db8d26a757fb990b109027b1a7280e9ea628f15c775519b5ef868af6c5857d3c18348eb81ec87d26b4525d57f39839fc410dea72f3a72fdb7b9bddb621d68065d37a33c5234f38c6bcf7f2780e08f539ec1b67bc6d64fe3242ffa578f457472b6e108c122e4a4bb051a0189d0c302a9aa2b33eb44afbe1aedce1ecd1c85bc90551be8d80afb08d8c0d5fbe77774cc85344a79c2604a670b6b09056ad9048e8d437c5278c80c2730453398439a7dfbb8b061ec296fff9ae4ae1a9a385a75e2175f7be56663857c53f12b3c48455a21751ab6ecaed5ef7f9b9ca3f99fc8eaa21586471d4962cc9c97154041f843bf56dc08127cbfe7df12e156a6c77c202d635dad35603fbb7974240141d957c997fad5d1d41e20aae8ecb3adff9198d16f98d112dd71fb64063f32ca2c56d583aab10ecf43932f9bf5e1ca44eb0819a3ae2e2ad8ddd6ce4bb898b83ce020b597ad1cc862aed8f491ab72c9c15b5be81ab19284cbc6b465f73c48059105e1d9c663a024438c28b0411a4b837c7c22a7154a7caa65908a6c8c4787cf9992b48fd99ee930398e01d1f40430495dfc0b11d98ebd0d32cdde368da14c0cca7ff63ef52eae30be7d3c0102753bb7b430a9b49bde15e911f66d16aa916474ec7a315426f513b64ef726ede5a29a065d70d82c27e7b6178f11b5a871ca2694b42b9ce8b2656a42330261398b5eaa64b2f9155b54a785cff9a044a340863b2f80afa8a21c5781db8dd5f39f9f36fafde4db0e15798e16474dbf13b46328808c59f9616fbce0da991359e3453ab19c924ab1b95902301d036e51316895005323b36c9b67f204fb240d0fbef2459a389ae7ff1ece291243972c58fbd383e06bead77f6786d863be543992ba4875e3617f68729c94ed198dfa5c499e62d7484412c393ce05e378858b5e9f3cc0f4234b8ba1a055531f9633f3f9f518ba353f6d483a3df8fd98089684c0ada495f1076e5761b449cc4e510692ac9d8e8f0e61bdfcf8b8bc412e96d2c593f66d4e4f70977533b5c873dc99ccc176234069d5bafa4ba0b730d5c84cb810344ec731cb245bc8398480f9326e5fb247cadbcf937bef6ef0fe46851e60ed775afe13ec3000db063a291e807a4765d237898d8904fa03b9d96570a6b258f9242de64ad698325ba2ed73cc9b37c33b3d8771aac48ba812b2f9cd60ad1b27448865adfd9ae55e9d079495441bd663d798ae17e1c990fad5b1aeb1daeb2664427ca074039c479c876e631530f1a84740d7de4a01c0bcba44327449bda018e2287572490f73353fa1e724e6c77edf9b1aa8832a2431c9ccbf4c8004774e138ef5b0aec37c65660c3bbabe6c4c785f7c995bb0f0170fb4b83f0fba208c8c2415595c666d04270987ab2fa20a6511f7f65686a8bfcf4629f91a054b712fc9ece320b031668359b66606bb5d24390aa297e8127b688a7f01a8ce9f5664a63301a73525ddbcaaa98f78223261d0cd98fe2c430929c6410ee312c8ec04e602aeac92ca288c6afbf017261ef36bfdd89af8b5a8e06341d78520cdc7154590cf7786a95ac1a1f7bfdb657448d163b6ff7d2129a15352cebe9707edd558de5d40914eda8d5a9668ab0dcb1461a5580bdb3a1f68f072b445a85ebafda4a718775bd536d76cf3dc8ae123092d5f691d57505044cdcb816bd82f889a6764f341322469224ef6cfffdfebbee4e6c8d8a3ec15866add724e40d01d543e7a404fca9d3f770dd510f09ab902ad0e738376e8832ab53fb2be41bfd45c96a60b382190b680328f76eeb0da0a74d3644bffc0cd97cfe73d621ce468094218381f3dea4ff2bb8e12a78bedcb8d01c9b27c35313bea13fb5157230afc08c4549b5d12dca4df36c9118df8946d89d045a37c9117c7a0bfd923e06f70d03cf0bd2789c7e5b5c772daa3c33f306a13afe673519693c051d77724870c1b85a9d543e7f1c6ff51667e6deefe2d227bc1fb13d5062f0e43a0ce3d28a9cfb69df3497dcfdcce85b1a5a200307236f078ef80059b0ba01ce99f446540b29e9e83acf30a822da7c0931c301bd1049feb33a1d9eceee25037cfe03eab4ec218fe8c713a442c7274dcda9050a135daec98a51b7b292385c9a3563be115128ddd1a795259ca98fdcf88c8e02ed8bc765f26070a8bd679186a625340acb552fe2e20e447395620f5f0c5233395b6e7c5bc915a57857b51bbf806a4ee8408ecd1d946827c642f8dcdd689b851cb9654c9c12baf13aa98640fb82011d47fe66c702063dbea987726d517785c40f20990c1b71d181ae298e355a295c95ac059f4c90ef8d46df44ed9cd52010290a61738d554b29ce8d3dfde72981a7444bd7bfd2c03c013a27ff55caff215dff807947c00930dad4c01fb5bf5ef2b22e13e6c0bb84aed614b0cf631c934071373f78bec4980d7b73c0a42596a633a4dddcc1ef09a16850aaa69743c264cdec36370a07228381ad2feb1485b60853d736b2563d66096a900b77837135158ecd3afa106441b8fa0ad91799e49fa381451f9f948dbfa1745b3e8b20da94c1c77322a3f88700a0f96928e6f014a0e980d7b4e1771e5d3fa11a77da4b265ae916387d15d11723a8627703e3baf97c2a884fb0985d000a881d2217b9be201361ff409ed415b46e4643ec4ed53df5657e77d021f02936a6f214fe79fdfc5985650ccc8099a14609cb99b5f31362531d87fc8b56715e70513f02bae9fa74bcbace9151c44588b92118c7c99cd0355b2664dfe32b9ba7b7d1564234f664fc4d0303f7d10b01464f8eccdb216d8623f0f6500b030b288761ee9b77588e16c382fc6dec7f59b07e9ec2aa0fbdb7b84736596432ad270c433435b760adb52c1f41447d4920bbb2f7b7f1dc539d54abb2fceab386c48c4e816364e3399615d056a87956c7ed06271a14217726acbd5de350c6eb09ca1b1b688f52cb4b8e6f9179e1da1aae3ce9711bdf6ebfa59006a189c67cabbf35a5ce03a3bcd4a3c822916df0b1fff2e4698b4dafcb142a063f1cf1d117d613125f13677003b4b182c4be38965069c64a7734f3f56a8c3ebb8de7b9da7550dc8aa751bec813077c7df921fa77c4836a04cd564f8ed2963e9eaa5044915b58e8e5fd04b8265dc0c28b390f6a3671fcdbc53cdc216e9115b51c8468a51f7d6bf7e972967717a9013529dda6eb9d619560965ce285f7dada3cb041cd9d23a77121eeda202aa84e8cfbb2fccf774b83edadc1a748dafdd572f03b3c4572d37db92e78ddf8e1c65f98d314db1a248f47433ff07599052d7d58a8e9d1b29e444d716f9d7c8c5510f75d0f71ed7a69ee845a0828ec4af3266b824f8970f433dd52d0275fc071ea8f10cb05f10b4c272f7b1fa32776a8f60c9eb7da686b8496ffc0f0d5edb52db7638405e40778065d4cf12fc997cc6cb48948bcb7486b5197363c125d6b6191dcc8e1dde5f6036f2b3f97c0acc29781e1330f3b8313976722cd550d43d2b3ff9688db91022173efe1d003965a90a0f4cbb5ae8f5ea6c4dd92d572e6f10942240454065a71aa94ea59490abf3237546f6af885c060b3165e578149fb487c10f956c50da60df146b19d00a6d44b26946c80f9b894f510e89d6a20b4127da89d64929e56e71ecfb514b6705220a92859731056091d51902b98d5a8973ddea7bb7232e6de9c7cfb9b60ea4fa18466fd9a41ae47b8ef518413ffd50447f311ca4047630408f324960805ca184f4c3bafd8cda8a53d37c0c75baad362d4463b61bed16192b179d1dc36276b50f2a169b35d393b718812dfec15cac9b3f21c08dfdc71b1ef696c4a4981cca73ecdb5c5e7a69bcad64336b480ddd6e0932dcff4f774efd1793b874c1ea3f61ac574e87a5407359b24e14c6960b29325064e1db9a029725def68f69d8653c35f688a989a592b487be7f911fb578d079df130d914f890fd8f10544ac0fbcc7bb24b7036758714836cee38f478cf9319c31aa35894739d925db4f5e5d08abe359df29332449018ee6661feb12d215d2011579defc46d44aaa11bd21018cf353c693947c8cf03d891c17efa815b10eb6b31bcdc1d1195251100b9082fe5bb19807577ca3ffc8c24da52e8d1050057d8ea12253c3b88533ebec9359e7616dc484b7dff647faf5bf08920f44a76e95fcad90ce7644e9478e03263a03d3de969ae12047d1232e67b4cbf7c8d23d44b2003cf99297442b0b70947c7b4a411af7a50b6885821cee0da50b4993584681a47c8b4e132e1a73575a6cd2e7784d37cbde7d798381d8aac143295c5193f455036b25305fa7340071e8d073cc75c440d6ebcb5c3bb98a3a63b07ff00a45608496d217bef30d9d867155a053e82eefe1679b4bf9d8a9b55b5be9bea3ca308eb7e4e843d9dc44295382cc0836d09c0511f34480a187f3289f2d60a98288d210b4d886b0c5ccdc3a6834a433a4d3e8615e3bb398b560b4d22c27fd953488987ea07218d5311f82d21c0c8d01041293b28a6f088c2f756160f6e8c2e9447c93b2c4d2b4bfe988d43bcba76ac0087d1b2f9d9556f7652517a82adbef949560c6e8f22471538968f81a919c93c6bba7bd5811d6ed3760c4dda401670b07a9f652154520cab5ca4d929adfe35ffebc0a659426e69ffd04b0b53be5151e5344b54ab6cd8b436bbe5afe82569adcd6dfb395c388168c149447c796043d4ab01d88dc24b657e76eb00b6641a473b6df5f02b33d2f6b657ec4e97a2336697d58a35d8dc1909e18c0f1b3f885637d8d2602adc2d7cf3cab343c324d9243990d1edfc0fdb8f36fb4e017f9722fc1e83215ff2b8efcf36c86dfadf86bc4a8ef60599e3b562f3b346c306a19be490de45e43f983635ec4eb3a6eceac7e3b4d175cde15ee642f7fff0fd92a179f8d2436797d278895ccb35d19586d280b687a42c7ab5f7d56eb593a71c461a42fe1ab35d498ede3db5b98deb0e787450f4de4a4b7bb508a6b8cece0f38e336b8bc3f5fa43ca0acd906f65e4d1b60dcbae460ec8bba04bc5ddc255f426e44b5465438e58a9e44e0539636d485539969f3ca70372663e8f6bb84f9f32499d450ef8a0a793095af2ba319e262f187a01f34437a7bce77ffc184a51c06eea343d377ee9066aa6db5d541f6534b636bc595e0b188cd3a327e4c0528f6443760777b583801fe3ae6d544d26a9f37825a9767b713d19f2cd852524459329ba2e42ce944a6a27c97f0feb18d3855e530d7149a5135ca01f2afb7c4e1a8aae497029a239048fbb28699e5ade6b753fc0580df6a8cfe77d303929119c0e214e314f4c8341f8959aa23face0dda9356ad1fdcadb63c6cc68674a18d8c256574e4686e727f1e06ca437b83926a7800ed7c42726a00242242afa8d0aa0347a30994ca2f09c1cf6ace3800f9b8e161c92430d33b50b24d9bacf459b3e84b3681d0e08fbaa22e32250a39fdff779ae1e6b1d2973d229ecd5b18aef511c9d2ecf2293c93cfccd147d09618fb83a3f91fcba4462cf5ed0d1ab781da06ad3a3d04a2d266341de84e16b4b02112f9734fdc7d726885470e3ab0c62c660c562d05c01e026f0e572d2833b59648cecbde0e4fbeee82a41255556e6368aedef293d4f80632bf218937026b74c9d1700ea140804360c072618bd3060150001f80960201ccf5125b61c4416c314b58a1d61c309539fa03ea30777aca19b5df66448c4a1559aa1d4346852d90aad2955f7addff462dd334fd9b2a98520f5bca7d71de5f879159cf88fef3707b545b32af39718b1610cd1b83337cb6b71b6f131930afc0151a6608af0d6401b35fac576e9584dc30865e69a8825c63b08f3521c1dc193847025cd8fdc4172ae20706b352719a61c08590d87e1fdc46e6da0a62ef2d1a591ee4da1832086795aa780433ab23cdc2896c35b6ed744a5c9dc7379ec05761b4daf6fa1a7ace94d4a8a23b9007b1a8f7bdc914a489056578e050cb59c7f1bf7501eb2adb4f608be3a4e6b3ebed96ec31038b7fa7894c84c6e894776bb1c6fd4a3e891c1d56a61261c7d26d123a6e017f198c51fe50081f35848e6dc5a1274535e3f5f5f6036f0e799f46c230c2462cd614af9514abe42b0d0cdaf51eaeeefa6e4fe9df152517021655bf85845505b706f79252b6fa7bd54aaabe9b764fb623164c1876ae53c7360f4f95d435ea05ebd0685cc7e55e29d8d2fac190f18410aab991bdeec5eae027240c4288ed96df65cd03f44b7e95f9980f0e243d24f994c1e79124f313dcc386dcdcd04e18051d14b5bff75f7fb56d8752487b99ee1a0eccfcdd9da38ed86b289335e1146e3649e3065a137772e60cfa55fc481c8d8e430ce2df0ac32d41262b580197a8b1c337ec5f6431dcb1a10aeb7b9aea9fe717f0ffa4c04608447d76897f586051a50f5486d3f6f544416bbada85d45125ff0c32df05da421c6795366f526a90e0511c109731d76fc6604e14ebe8dc365f79684a3961d580d543124da4e7366608b7510842403a16fdb19c9b68af2fe94f3d2af412ff1aca979240837858dfb12222353029ec46efc86b6cdde6f488844f025a6536a4cf1b302f8be86d445e104a73c5c4e1a3f75e8340147e33129bb539108d07039571b15a3a7370d499b1f6215bd480711454f33e05692e928d94c828668985a0a45f66fcf99c58a466ba5062731d4c322864337c339f168b6a77a06c247646d0e971e4b994596195e9083939b20c1d623ee9b534475c6d153287449055206a40e07a45d91ca0585ac72b9160f4b042caf3577daed861a118bc621cca328b0b99301017c153609f089c771cbe50ebfa8b7b7b5c59c524ae19e7217ad188c00e29a2ecbdcf872208802f9e53c81f345d82564402d70e303bfc2c74709248c5f5375fd511f1158c362f1bd83eb18c68e004303cabae1fa485bcfa8b9c0e4f7fb71f704020ce40c16186db1b08098ad27897a7ab1ddba7c9b72199be1705575a5fe3593ea4d6865503569d86b9ceba725e7620f8b2fd4672808496e21e5f6dc6223f6286c25078401ff20f5a8dd8eb1114057f474aa60ffdc28e3cf492bd411844abd57dbb2c47da86b9b1c67cd8cb504f5684aa3a740985a9c2aa37f39d6a359da85e18852ce9dd300a5b9fee6daad53cf57bb150cf48b5f92361f01e505ea97d37325516c3fa0b045fd6e8f813a3852ecaaa4bbd5c34081a25487d811f2bcefcd5cedfa40585f391f261bcb1ad0668c797af566f5201f29f72a3072f56214312e780b14b186571b9d25cebcb09b0b2fd733984337d831e3a77c06c7a27b9c790eedb611f815fbab8ab721ac268214fff2a3ba9dda57192d1f97d9506fcc95067f1acf82b432476421c3d99dee47ad4cad8ee6dcfbdbb61d1cc0eca9e078695b1abbc67aef9470a9ed441905c8091d5dcd7fd7d9f728b503bb08df2f6624ec27dc41ebc85ca3edd8466abcd06cbf509894e37a8ae245936dadf7ba69891a215239e1bffcaec2a1be00453e5771371d3fa7c0142f1eeaf1372605a79fb100cdebd06a147fabea84fdf3fe3ef66111a595bde010659bfe85f78c78e3f1f1e7c12f319a8abb150304697284569d27a65518986fd3867e1b8204550f52e86e4cddc410dd7bf908f92f54f83d4ca54fa09b50681e897d2ae5196f18e5222ac6daa439efba00d0861c6bce3343d91df684bfd453d0ef5526d7e6a1346d3d5726a9d409c355b696f12fea3815222cacc28d7f0cebf57c4c22288b21cd35eb9ae9b20c5c7aadbf1212381ee7a6dd261a17880a2fda55b1477f1e4163591c6b10f3d105f6af479fd54553ac512e51152e3962a4a1697b57fa4c2a078a7584d614876ac7adda0009fd1aba34339f0d74124856941476df43acf8a959cb875dcf2fef234e3bc927befd7f62a162e8259f0864ef714b288bb789c0257c1e1861ff3660fe685e12a2044d6f818516b38c17903ff5e799a58ac2ccc55658cdb12bc632b35e890d4b0fd9cbea65a41f606dab32a67c879f1aecac7b6eaec1a8c58b6eb4cd3e5497d85207bd6553957a6d20edc100c0fbd5347b9ffb671834526b3e40998a4665fd5ec6bcdf87a585ff3e54bbf12e393ef94bf8207d1ec4e97cb57c0a54aa600b40815babb65497d3df78b21b4f93ac627e008693c86f3108014da4711f25851d135eef02699120f4f8497071a503dd11976127991d5c4c280274f7c66e5f3e4d4b9063a7a773465b79eeed380bcf118b2c9c2982bb21297375520a1a3e62c43df7a1cf5ecd5175dbda6f7780151818ce42595fba311edf0513c681f9eb768a5d76aef1c1d8e12290de70055628c3eb4f843ed13607959d0e22c989346d5b68bfef2dec99706d51c5e6dc9ed60ba0ae7617bee44da6f3d86a1db1750155b26dcd5fca4cc8010efd7c85f8324721accc5288f240c56a9cce7e8738c0fae3e602458b23dd9e00b95291ea3c38e4e27b690e3afb18983d64195e37fb3fb4d3c551cd458133d0a2904eadf28d95c18c7cf46e10c7f4c4f2ba778f34fb823ddd0ca35fb2756e392baa4b1164f2c20c018fdfec3794d71e43395c98ca80a614ef9b9b11b94f07c06df2baed020230449a548df7f7732fd11d7a87f76d46a75e0fb0cd167e7e04f062ddbc7ee0b2d2ee444fa92dd7a2183861a14b9f0cfbb0445637643a940af2923489e1551ae71e0f229761216dbb039cf5743662b8db2dcb46e5c9dfe1a579578bd2cf1a192091d3127af2ca1a1b77e6be7bc241bb77a61d6e5e55e93754aaaabf9115c90f822afa87f99136be7d1615730b36e7637cbbbd2292c6db2d6572d6952f6c3ede031e6bf4c39fc5353a0a0c66afd8c7a6744143351dc958e0f6d61e49bc79d05040f811c65ae3e8b69d101885cbcda4c88ca7c296110883087155513ed8a8925011ca2b036880f7eb743668a39c67b45945a1e83672b824ff875208f1159463ced4842a3f38f340fac25b0f3e3c841f5942bcda160a818a9d0d1f04465d42e31ce2ab2c51e320ca6aa151e749c685f38c8bdacc15052f2ab7315fb245e2a862266db956cbba1fec08d3e3d28cb339c6ec3ad7b988a6be7094c8e857c64e97d46596a0a4d71198cad560a8619de040c40df8b02c518900b5c09e63a531d7990aaf1202ae06f71d54571f4a33054dd87c5e8b6d44ae024166089e48e0f2e4053abdd80970e2940f14a30c8f51b90ec943ce37d0556a2ef9c8c73d6edb2b7d772079ef084e3d23c7f30838bd1bff64b7242b40580f55d03d7a32942bd074ce12474d4a2fa1517dc41ef5bf81af02ea0dc7a5b49928bef9095e1e283206cc10e02bf7c82a15e80bf90d696d815c3916c498fb3ccf2e55c179ef7be0a628fbf1a4504f6bf3d69ba59c8e561aee3a899c685cbc5255a84be063e8e96f78ebce2b5ea03e19c4369143303471b820656274aaa8ad47e908fdadcd346124e475cd18160fa2b1df1d14386eb65569a0efc0a2ef0115580fda6e4e2aca2a78a71d689d2238d695d3123e8a520e8e411a8643824cd15f40f65e272c1b566bdb7fc3127afba2964fef9f6e2d0f5e282ad85f4a365c00ef1742f935855468ad164723a3ef12fd14938bc2550c417c14cf55605b71368e5eb1fb79c09b4fd0d55f01e4911c92db659ab6b45074c5e0d320a43f25294778818f30ee3d574cc719d580837c9284ccc169cb6302eef33c1b564d38df4aac336cee2c6df3e9bc32c00233c7a9933604f19eb6466530416692f62905244c0a7207af4c913d69564527f9d9b90ddfdabb911a892649823c31247478bbdd1b89986c61f3af5fd0f804ea75789f82313bb0ac8bfaa9f3c1b6141d90846c6395bf4498c5b79c895bee53bf0de77117b277265b838bac3e54bd04fbafb6d10f54b5d9ddf164cce406a91d6ce96cd0b4262f7fb941fe25b0df7617280d5839be970a34e9841d30640e678e1836b279371d7847eafe459eb45939a9d233f50dea92534a4a254457693cd7d02c387c2b076316f8f060a72087280f3a9fd54084cde7d43726eba522dcc9e797e4bde638b116d2a166ffbed859ad8dcbec7c378355c1f8958729357ce95411d0290150558a74d8dd4afd951b1ccc878804da6dae83a646cbf9acb072b57256cb23427077abecbf53ad5a71ce7bf30822c8a153288851488ad1f2eb3dd1c569bba6ee4c84ce3f95efd18b52da0c86f1b4eeedc7b91f4992bb79a1e41a1448706bc845f20b4afa4e09aee943fff6e2129bc47be14939f95d5277b00b3c6afd7bcae5d97b6676597dab4ef097a1b1c98a2fd3d81df7ef70173768fde7d324ff42e484ea114d7107b219970fbe2a73235f1f97ffed9c42c4aade36669fce99da5afb0b0058f011cefa41855fdd74b3830240227f0699daedc79f3e52af9dcc2242c1241c21f7a385d497061b0f850c50899158613c1861a366b45690fcd5bcae2afc82731d42047d84936960ae57a691f03cdb7d69599ee330c26a7d6ed33f23bc440a8cc81207e63dbe063af8afc5a4f29113a9352bbd42e13a509de0a997d257f632df0e6f3bf4d4c9111565328b0651eb3e0352fd3f8a511ad1cdafef2ea997e4edcc3fcf9b94d15fe32b6be7e37942f67620941cea4dc72789a8e781c1bead2ff5f844ca8ca8d6668a6159a559a670fa805213189b9ceb0b1ea96788071b485f1212c61a57a8c15303b1053214594e2cfe38eae8ab691237b92a9e4ba4a04944700bffde5fe7837110df175b6e867e17b9d91fab9d37a3abf8f2534f2905a495ed90ff01458c25c9d0aedd32f126e2236eb3f0ef6733061767033675f276ca4fa33ad364471217b02e6d16b776f541e9c6fcab85b78017972c27e6a816cf61bff86566e7b4d25ded7a696ca0eb545aef99df844ad267fd55b36bd9c7524d3d8b9981876fd3ff5f3469866da5b7ea49fb7540af55d97859eae249fb4218f95aa76c92f5cf757ee04b7bf81d495327526e27d58683293ed707fad5fb432dc1f235ff706bead4dc1bca4ccb9dea4c155cddb4b8219ab400b34ebb9d8ec01ee82d78c533ec42de7db71ad2457f07d32df4bef1c0b307820827c891a80867e00a4c4c6bd0e38ed6e914b606d5eed7f12489141ccc8a69ca53ce1b723b3b590b39c01cf2653807a92219b2bffe1edd5179088d0f7d7f8d9ce3a63c9473b8d2cafa8257f8a8dd6025e66f81b08e97233cfefbc1c63bee79e745b6343ed14823cffab3cbbaa3bcfa4a1241d7268345b60329dac09c3da8cfe27ecf6d91ffd0f63954d203e06f6137997fc44f45ba05b4b711869725e62f98e047a392b802edad844b9a3b0c87398f3e88841e254e1554307f305335d08b0da014bc9b514eb30c74e847cb6d457797d04dd8167f8295e73a695c3b7d551a8563ba703a813d498d1851c82204008df1eee71c65b96f068562dfdef63847479e89b0d6bd18284f479fa077a16f406340c278ac3797dbee00579e5732ef871374e8c39a1d00e746324d99fe8b1d4f9dc620c45300c07a652b711eb9ed42801a9ebc222f464783dc1ad56c310a1f4e14dd296550c8c7430c0e27cc7489dd2c75c8319c43a0443d8247a4143e35c596eeb7ebc68f6f266ab80888253ef75ea81870897b74ff6370832cfe383402372ada6f0e30a936d9d34f30cec534cf12a9d3fc720324427adac9fbf8016a3eb7724ffbcbec3695899d001ff348975445ea58d02309c2b7a1210a16a24fa56d81e1021538e713893f00e561b809f6f333271f8001ec54a0c309e8655914afe15c4ee4a7203378d25b3270c975ade62ae843307857b965531701d2d89e700532e10edc746f686974bfd6b5b3833669c3817c024d1768b39826de5020c9253f13f18c591e89f1b81c31ae28f862ea52fc8d2ca3bba7f8d8e38c87c6adff6585bbb10837d048c41813c9c51580a85318aeb63c2a8277393e55b8a60e09a9faa68ba39b4a7151bc745e60839cbc565e47b2a8f3e4a498026c45047c570ab15c875f193c68d07b19c57efccaa804507ab17fbb01769ba774e02ef1e3eeb883b0086bacc670604862473477bf4144367be33ab44d6f2cc23fc2e68f7492eb805c4be0cddb5417eb3fc4d1948e1ab7b63fd408a9ee7c8629150fdb03a350c8b6855cda2ce8bb267391db692bd265fbac512447f6088a0919abb7e8417a2278f4472526370887c79bfda9e030b68a43778ad2158f157d9c0baee75ff057e33b129c39a4e5e9ee7e24ca9ae38d60aedeeb4c31020a2f92b397a204b3f1c41a0d6e42ca3f4a4e4c1fcc183a3f08b09702372d068b2b506e90c3a95049f14dbc60e049c89d4025ce418d94622da8af0ac1e5974f3dfdbb867e93d5e55df64ab8ca0b60c6bf2d2f18aae21528b9c6c4249338fc7174904971efcb2f964e4f462708e55bdab46f54b1466bf0cd2344288ceaf26b648bdcb480341a0fa0956cf711a810d080df6f3224470f508aa9ba87de743c7ece04a6040bf90b6bd23db5be3b9e87daee29b217d08ec9264b4988cc982ddb86ed6c644ab876a243e6d4fbb5dd02b68a0377a9d1a52767425206467576a1018702071b7c885998f9112e26c6e8a072248d25a9250e115f1a1dfe7a82f0e878cf408701edf2e34ef973fb51078dbdb3603848aa8d2ba6800326cb9caa271934d7ba44983dd929fae72ddfe4883126eed17dfb388f373b869d055e3e619d3f2b814b40310fd29984e68eb284755504b3940d81790b189532f250a896c34d69f127418d36a06544032b4b9b52e085235d5b6b2b7adb6b4b5af495f70477161942172205ab74746395add8b4af7f322e7a4d81e9ea9014426c9b810cd368360547715615a456790e87e16e789befa8375689ab42c0833215aaf64534d1f726707cdc0d4bee9484f720cbe094237cb4a56fb10aafc87bc85e537011391a3990ca5b2afb08207f954b031e0d8ae434a351a917a05b2edf04f9c18cc8867203dc6882861940a476a9f51526a332701e4706ff048f3b5571d8f59014fb783f77d3c874bdd7d4884cba1462a78a2b91689b4d8d702dfbe302ed00aaf25f8aeba00a6f788d67b971677a631fe8b9850869ca118bdada94cea9415c561e086a85fc44ae58adedde07844003eabae918dc450c83e84e29b495a18543be6d9db0ad4f3297e6ff17e65877210327da8402acc4ffcd8f82e625bf4b426f11e21344987bd2404572ac44a15efd805164eb39ec03fb5f977c47f475d9a491fe65f8baad052fbde4f646c18ab105eec4c2647fadea0d04b7e2a7d6904410b44ecb4579316d6025ceafc1342c6d2dd968e2a17f762ef6637ce91e0a9633792611e885ed422571ba064581e9f7cffc4950c11ebdfc6d128f527b13347cc26fe2071cf25a579e92d8df214f45fdb2fdc4e851151293988b9295dc0a54c2e5d4c6a838e9aa3904391d62dade5fcb8c2f9c6633946feebc8fadc575c737363b2edd28ee0a37eac1745e01565ceb10184b29f7d92886e9eb0b3ee17edb7bfa5290e949b0402479456dbd8c8abcfe47e328bda99262fb0cced3586e84c2f8872f7942c188e2fe6cd2c6ed09b6b8094d07c89def72ca42730f000bafd37203ff3e91dd8c8fadd0c567e4aa3783bba43f1b5cecc3db5f20ecd23f48485ee0706628e1e0a1095b45385de1aed0f019a636522583ce389a29ce53f61b9a856889a7175cc3ce19b9507e5f8b5e24d3ceacc633d13c7f4a3e4e7c9f89c0ec40252725b9e1c663d677d35fb83ab91aeb0c5014a3128c00a3fd7bb9cc249d17aa030e1abda3eb64b950b6e35b98d792383c5ea918add37794df8a47c8ed36976716b639c58e0ab60f66b492410ed26993cef927684e1b4c5fef67bfe8445dc9cbd880538624c1bc4202108bcb7e043b2d26a57a944180229a178d10bf0a1cf9a90008bf8448f53386c84bee1e2df4a15e23a31e784e3c87c3272d1307367694f8926ed0ec67ffd95f1b86c8e2a38b1f5cf6cec566c20cf93b648e5f19268a97986c1f30fc69c89b73a9dd6e05bdebca7487c4506712ed3d1b13af60d5472a353fc654f3338e7c2bd1bb33247a803d44ae72b0e28b2b16b71a625add711f19bb68eda194f92da8add3aab5c78e913fd126c568115bb30935d9d594fdd2e6530eb339e1754e6e0ca603ad095f826bb4d737976a9a24c8311265583daa433f6398345807497f4d71cccdad06490f9cae89afb7b15ab535ee1f02ab8e237ca86320dc621d5426295716f7803b89ebec9587f2ce94dc3050174cac8a1cde9d7fede947f5d2321b015f5e03e26afe5a6d02d8748f2c831b8d4f0c66378e763772e1a54a58bb080279a2628fa0b3f4bdc0df7bb7ef40382b8c83b92ab125f0f4e87c011994021b165cda5466517fce9460543209305b4dce636d1fd6ff561c20cafc6ccbf43217a682edb82c7820a709f074166d15c719dda6f647d9579d22c0a787996a3af00a9e8a819ae5fd000e96d3d30ad33071c332afa222fb48088252784321a624c961579ed44b2ea38e0dbdcadb76c2c44f166fe8ad37313a471fcec343e540d0325704ea96a16923e4da652026e643e458149b585b20ad276e3aebfdf78464b5432952a77564410f16a88491a6c38bd7aaf2b57e1b62ad57a32cce55e820105797807ca670c234aaf70c430f4d0779c037ff23593eaa9ca6465cd777807edeaa7c9fbb5a28df229bccc566515d4c74c449dd2af56a3fa9729eff558ae1a90301f7ef7ac0e3b8dcfd7a0d56035c86507b06088c17ca26e6623d7964b98c2dbd8cfd143909b1c796e13c8f04415cba237687b7611620c86d516b5574c4673abaec24fca72702e2e30ac66a5afc12ae6af805a7dc2b37c8e0a65bde427e16cfa21761b2f9dde8dae4c494930cda3162c55286e933e56af7e5cd9af6a11ad93b70c9cb9063c1f8fac972df35c64ecbdf2d7940488f3cb790d79ad79fd321d9f602c28082238adb1b793954660d7ee8c340a54fec57d69ac5abc06c38910be1f68eeed1b17b2cd809931bfbd71992ba7381ae1041d330a3e9a7c47a396b135b540d2e330394b9910a450e6b21339febb8824291bd0081f4afccbb9b8cc629ed90bc675c99a46409280c2151da3b9641369b6702c07b830048d13b535225a0e8b5e115ce829697234c089235eea27ca2422e130963fce2d35f9c2003f194dcca53d6fdc08764993e796a200a671060e7f11fa79cbfdf3dd213e14417dac294266d13207e555373e2364594b935975cc5eeae78661f3fe558a9e5a3e55c935b9b9a0cc62eb201015f752663142ff049778098d621c22590b7f9614cf95b436ac8cf2d2b7172553860bd7d0b59714d1cda1522bfdc8eb37127f7b2ce3e51dede6933fce7cba6129ac40f9ccc3d2d0989388519ac89048d4acf24b33a3751cc86ca6d1825f2a780bac2391c815e1307a982bba038a7a1b34d5d664f96f6f22e8b7808efe96f2f4087204876cc59a6f925ced5d1c18cd1e7badbfb462a3618105771f5ac7952355884a94a38b2b626149bfcad3f4e6e9d7b1c37ad9694111a9cd473d1c58fc0a14a48f461b0a30a01539e79e523c6e5c9383821dfdb713d7ac6a167be557ef56929dbffd7d6d3d2d0dfd652b7c471e39090ea3b3619e561709301c89e1ababfe9d12e04e9fab3da4458f8aefce312222c8d904f41bba2dff91335735e1966d1c76192cd2df42947b3ee317c63a4f2cfc9fdd59e36d683d9d7d2acca0e2dd0e15f6ba78fc227e3b3b91763818435031f6bf0605aa5707db819a780acf5bf4edef6e5d98bbe945a3d720cbb1769db282a4e79e2e6fc936d80ada827d1e3bf250c79085c6b7bb3a51293e6bb148c2b26fd98ab020ccae9365e839bd70d22879dfe623189db022b51626f6d7137f4bdcd97177ef8588ce6a36c66ed274f3aac7e9cb046aa0bcb2b8998ab0eff9c5dc9edfdaa853cb9698eaf3a085a9ee1f9a9b0a9e1d5ca459b02b2285ce73d44bf40da7c6782253f6da78b844137f1a4f974b1cef7823ee673542dd3897f9ceffc2dc2eecad0ff446c50a6b7b90e1460adf79cfa2781988ead7534f5aafacb82483ecb5ddd95cd1b1f410192f016b8683d6dbbe3f88f88e04cb6ed3e8abf39341c41645ab20252b555a3c9dfede214433837d3fc2c6a55a804ab179920a6abac58c4c70002c030f8cb5c82c5483953792e34cf5f0a0c480d2b6cc3c63b572f42f63acb7173b44753c47c694d633d9c1e8718b98b303d6a93da7527922dc833613a381c1f2ad672c6ad6167b76715079681c7bf453c6fa8336b1d5eba5f63cb39ed3cd38661948558490323b351557afb947c8f2c717147488d1dcfc966e851631c5352eb7a40fd2d6efb993cd0252deac0861325240e284a49bd2185f618841c317ad2c79e5ccc857cd9a9c79db6b591f705262479b535525ebecc4cc7745f0bfa6316d9898fd63dc4c09830aedec9ff6706dface8e5fc719852c6aaa583ffe66c54158739874f26e3372da58ea8ef0ddbbe8d44d5fde749e077df7dca7ede2684d2941dd9bbefacbc5db77c7f42a99d8663e48ba4e5f29fbf6e4430dbcb95cd3a1fdc26a21f1e2f738a704b90b142a72bee2da12868d3743618abd61d5b44c3cfe4dec033140b49391383d57269a0243826fd476c06d5bcf260096dc219a43fd70741f071f623b5ff30f1e6a74710f841eb833049988f417bf4b6415c0f70beaf8deea98ba3baf31f0d8d13f8597b62ecae0b9647a95b134173ed33b6bd730b51d802b3908369215e01554515633be3e2962f538e60d541efc9af796120792b7857b36c4f6d8e40ce056d17de3418bdf173d446fc07fcc03e1ea575ac39341c351fe6cc47b8c3110c66fd070c3b347ee46a18d093447c96e886d4e4e47d65688e3b55f9c38591d55dbe62b74b03caaff9b054d147c7570e5eab42a65ddccee9d8879bb1f3d12afb120a5f3e114bbdb0b8c03f2656cb7a145874d26d7bffaefa70a94e18f3564922484e5df71ae1d96f180eb4da81c31c5dcc30b13b4a09e7504feb1c64949ed0f66e7655cf01d8bd9dc9f8895bee1824cbd0986232d9e70c697722a4abbcbaad9b314fb0009b28453f172705bf95abf45f93c2a6bcd6f605487e655837fdddf7226a8ffbd8ffb4e8960b772c936179eb03f681ba39d99f9194096182f3b8ca0776e282fc2d9d596768b726fd063211369285ec00a41ca7ef9cafcee809d7a5eb4cab6dfac958f7d8c504c74d7b581932bf99777f8cabdaec008300235351cba2d36744903be4a21271ab6b911ea48ed108a86b3c5835cab93456c84babc3875c9531958ef22906380a86488260cecc978ffb25bd389fbc2836a6e33ccf94b582a88cae0e87fea632444a6c9433db933ee5aad2f03e423ee7ceab83541f8f3dcbf4480f393961534d7d900515c54767b11d1379d27a9cc6aa93f4f32f9a91572f20bad74b2fac74fe1d861782d8c0e49df97f329c284df1ec7092818b14e1db114c9953c9e89ce45c71e58957d3d9db0191548d1b06155c2613be688856cc651e3bfd68abd1cf44619d11a68f98bfa6e5c94efa22c7cd3e2852d0db83a22be452aeae8154bf12d086e423a35aeeaba39c3703441670ccaf3964ef793d5965cfeae4114e30f2c7f906c553fa95828c28518b98469ac132b4302f8518ed9bf05c2295415ae240dee19ac70c6e0569144e126e2836eb612ed74083b6292743262466ede808b1aedebdc23a9844080f01f7f6e8a59b707f089b6ec383c92ef77d3920f259929ed5b17fa5bd8386b2c9805ba21d99b341c0fa410d59a19336a2e5d8db4b3decdfe4cb0606c713b24ec9132f1a40c88ee7665b5d9ee505863d9808f18a46aeacd948278e55f67d7f1d3e1971f4f337147051ab9810c7f6e01d57ff638c28bcb778be6edd57ef24e3ee9d334e858c7abf140920c175036eab7788c41ff3551cc811a18e2c09b472a3e6b3bc2cd75d2eabe1f0488522d0c021931ebd0c2786412e4d1fab01f123b585fa86fb8b11a74e84caa84141d26a9f06705c4b3d0fc72d025fb5be27a9ea797d0da3357fcffc37623eb89b5a23d1f41203cd3e404c9d7c759c3495e54384a763cc1ad7a5632d61ec9510d7d099f205ca485a9c3407e6c747b69a77d6d7f83496af963ea43350325bbc303b577be9175297f215d16e57781ab854010f16865db82b50fb72d6dd44352c2940bd9a7b340eea0445e71fdf90d37442e992bb0f8b1615cd7a9dd3427928570e0e1ce7534f5df83f1878e12319fcf467af7a7f1e5085dd1179baa3a868df428879213f70a05ea3b3e2f96252a362ca43bccbf00a09b93e1ba79effc24f7cb0c44d08915b17be3162dd54679b16fb191d562c7a991516d23e7b07ac5d8604e5c4fbad15fe9f8dbac1acb6e9e148b520a3bc105aa9d5ec135545fe2d00a185ce94e4b66742588dd325da8bbe1b099aa0dcc9b5aba791268474c8211abcb03dcc46ae1bf899ac21fe77aa85a7b1f7eb684d003b524cbd79eaece2896e3f27532fe34df1eb49b98273f4771586036319b703a3897e4ebf89bd3fbe30e538569b9f44b5aa30ecd8cc65d0c70488854fd8b2b80f33df84aa569afdbaeea0f5553e2927ec27d380a62c426bd4b5d1d6dd44c1842390d53e3b51f2f6af21605630969f264a3510168ead4aa627b505b8d52803aefac6868f64a1c787502226dcb0ef66ba736f10c7e6bc76e46659af796ab61beddee8f7ec55f6875e864489241a86cfb57e02829789adb181171fdf4be4fd3d97e61f26b16c12b721f139d474a8e1a9c0f9414a6fed22d27e4706ad666f05733273fd0ba5776a58a1c2e3371976744f0f565636040bb86414e6a288ae37303d50b85ca60a2c70610f92863fa4b8c2d439d550239b54ca26a5fe2af5132c14ad383c11f2ee178cc29623780d5005db3f37510e8462b2df40a701ba54aa7ef2633c7050f9fa4cdde26e4bd4b8df90cd17edbce904de2f56eff2998710e1777b0a942c947544e2e17fdcd8865a50ded903db6734599120ffd95ddaf3208d7848b1e2aeb6b6be619d445f8835951cb2bdba78f9b5da0f743d70765a185678908da95e2f49e86b07446aff9dfc940ca6c2f2209873bda3de0a25b66412ff7efa8788f7a7a5fb67a3689506f6d11758aef477a69213caa4904c46fd01f6693aeaa2e020cb17e2ccf6ea1ebcdb28e800171024acdec003aa420111b7f11557bd9e53f52cdba00f5cf565427ccc30c1ea47cea9b1a166460bab4a8efd50e5ec9fcb8ba605b5cafff8fb1e89c4aaf5b4796706012d0d7b986614b627449f71ff8e6141305cf833529068024ea8284a04d9e5a715701b0e848f0c0c0b4a23839bae6d3d0ee06bd750ea1d59b4817595de55fabea1675620bd98812856aaf2cc04ae92fa4b867ed073c92f37ff21ec840a82ae203d90d92c641582f245117063c6cdcf166c924ea845e1941ad5c3d5e0907404bbaed8d1b44cebbe24d292784f04735cb8981c3ad11d88140b97622c40614359187a09c12d143a9daa8ba1d00c43efe4feb0a3ea31236d42e3614814578363602a52d690a5330c0002391c549d902042fd3ed669f21db47e6406d07ee80cda9a8d3da12f6eda6792b0d4c8b48aa2eae50be841b83a36499910725100475e7487635860b374f9df56cbc5991fc75c633eef4f1bfc363959b01f5b62af922451e039bd00fdbb6e1aef7f9b57daed71c26cf17f67728fc132adcc4d7e390a93391f7237e707b6401c558c8e668b7e92d9e18f91bdfb683a80d8462ac1e08bd3c0dba5e39008896dd7021c3e8603733c7263731e46c4888bda1a2ea25c963167b64b9d926f0b124822427c2538f4b040298f0559d4c2c5b3a6373c80eb65dc1f1fe0e116a561331d949c3894c11b121dee992ba5abb07f31f3d95874130aa18d1fedb3da8523df45f7eb66365df5f4012e9c75384508fbe799d7a84dfa6438880e093c7bc20eb5624d75278054ad8e421abdf8d8fb256d627b672c28b76f75bbb830cbb8c65f104bbcd4fe49bdd87da9b56ef2a7cf570a1a2645ef02774b18a8797727db582c2b6f47f2108abd5cdef14c79676c754d656a0570b9d87ca7d9c9f845ee179266c356bdddd30ec660f47c7d49d3b9fd2eef1d1bd5ec4c90885b1b5efbdb356f790bc75836a007170adab2e3239957ed8b6bbc4a99d3c1de1e221789db9cca5a8cbd2534e8648d26c4c618a4cf42c32002dcd1cd627b14b8d9bfad2617a9dc1bbec71f84ad1ac89b88d70b1d9b0695c45f36045b1eb16913f7f9cf619bd4b4b544eecd9d5dd8c21c662886be0e5e4f4b87aa029185b2fa388e7ede34611c128144056ddaa3a220fa00b11313b095ba9811a7732ae50d74195d9d9e2025f1909db5335ce3587517fa00d2c9c337ce69e0b2594c8b2ca4b4559f2210cf247f687375d2896e8389dc63786bb80e5c2b2ebe6dee3f386cd6ce57c4d9a3149b2c72015d67cfd933205591fea9a3a8bde690a3d54da1b43038991f560c6574432164b42f5b48a4ad00b9c6572409a366a32ca17670285ae83a51d3dfd3330bc8cc25c2f898503cd4491643f84d556a6cf76b9ba8290c7aa0cd22ec1442f71339d2b969101569f1494d176e0cf510ccbfb8bd81993e2d7ac23a04f867f56d0e8fd8bcf23f103d36e98af861febac6e87bd7cb9979a39e45596c69d3f229715418f4ca1dd0cdd6cb9459b820fd04e991917e4918bd6fa49c1a01ba2e8a6bedd886e2fab9a0bd1153b80da955cd38782ce614691dcaa0c0f0d46271d605d6743c87dd03268d47cfd699e8be1c093038dc53bba5a93384b39d19525497d0b08ef5199d6eab7d59a78593b69f7af32c159824013df3c03b297037c555d55438a266995afdad5fe9db85ad831af78f502a4f6e7cc4469af212aa928dec149c40117f5902368f57b17f7206599ab0fcd0583b7718029f8b4a6644e80c5970d38a6bbe1adacc5b7209a599e96c9ac77ba741eabbc8d8078b823734fa64fcd2fac145c3846b8c4d9e5abc1e87e408253f11dc01d683b7912eae04ddf2d06460da41f6cb1b12d4e783dd540f5cb9ab15ee73aec4fc2341226d00abc8c51d26a9d8d0bc2249e66b01b562ced9aade3cccd2a49d433f35c60e0c5ea7d8734c430d84a4ffc1d4c76d94ab39069e90e1f216fbba8e2514885098be81ca3bfe96af878f4299c950af75c2fd5d552a358818c028fc6c6babfa7a58061ad9c56464189d00d156955db7d67fd3ed5509e072b8919f094d053ac87d26f105a1db69b8c4989ebc0c7ba07dbc8fa868a780f5b8761c08e19c638ddea194f2f108484d7360018c1f572e75af274c5fe9054b856b2a7f3c1883fed3cbe56a15d4b9d155eeebe1c58d9ba2afee3ac3be101e2ee20f27bc3060d3d56a0087898acf1897765cdffe0efc39b73601767566e22821c42ff6bcbff8dd9aa4f442d794ea727040cd21e934a14dc576cc38ac9b1ce8486648354c0bacb0c8eb8f0bffeea72a4fa0acd3a9126da8d739b3b5a460bc219dae0e8c0f3eb106f6c3112728dc09fd5928ecae477eed3ed8f434098e281ce1c33d0d198c5648acf1ebaf84af0192616568909e39d590c3b8fd67f3ad303a4a716ca5abab2579107e4e562721c5642a025c1a6e950db45ba6f21c39d3a33d3aa98051dba49734d03a98ce1bb601d2630d137637fb4ef6b6772ec1269a09adad998d34e64116c1557482d023a1812fcf7995b7d30465970cf98520e51e8b6f5ba2b5e5c4fbc0dceeaaa72bb0bc2cd3b3c55677f34744b322061da11f34c4c9ef194767fe9b906e68a1babebea07f47524e1c0ad91c10002712cafaababafdb623b5b3e0c8a97f4e7503dd95c2d5b846100bb8f3a7bf983d1d02fcd628a525ac73090f14ed783ce16959b595a62b53ba1c520617b74f7a7689cab1d210fe8d32f7c3222fbd57488ef726c2c89dd7d0ac7c1870766032b0c2aa23f2be7c21138ed1643a9df25c1be398bcfe3857d9d6f4cfe7e197ee427bef279282feec9cda6e339c69ecd3a82c0727edc314109266a43037404906cd7c68b0f16e292ab171e3a8aca649d84d2cdc3b4fa929640daaa322966961474cb3de5aa2588d424ac890181e2d7e00662462dd3fe4ca4641261581da0aa7a369c7b6214eb5da6611ea3f6759b435a0199aec0f8a86a969e8f3d4c53aa4ce6d948b93b06f442d0cf91624e75f17646c84d4b00cbdffd01b377f55afa90c9cf75ab5268404730f63db914f5c2954c510a824c8406edcb7c5bd74b2cd5cfa42c5f0ac5ee1231f47d8a406d2e6238706d3e778f394ea62f7f31c091658ee95d1a4fb0e31b8ddcf5e720168ba2ae092dbe91fb289c2948ac7be8410b41648985777bf7e3b0bf9a092dd5655ef12464e5fdf0556e9bb515060194688d43cf22a81ccd3f95ba7311ca4d4bcc81671b74c4f7ddb54a4ca33ef265b69c1f9eb17f51376c0beb9f98bdcd55a320eec23ae0e1e4b90bf36016a66173bef8f9af7f3f1bbeca0531c63c3448e7f875201e9276b1e372a38e5058b45c00a64ac8de8fa6a9b3477e4d03abd5d310b3ff1a6b20f1948dc25cad11b04ae48ee7a6c8c10a88ebd00f83b5e77bd98ec14e5732f84a2d0ce8a5df6866b85fb301e2f97b53e24c52a6686eea8afe164f7f7da1a81fe9c3f391c9d677fc07e940820c50ef665c2d72fa300bf15c88e34f8b018cc2dde8f818f6211c34e3909148bf287c9619ce907af0d89eeeee693ae67aaf675fb86dbc231c02a1f1ab1af4c75a6b5eae5ed72af1fa04da6515dc1fecc8e8ac2b27e744d1fb5f67c3c63cbe60d228a24e827ec86381c2c20b452fcda44028d7ea4f238ac6540584048eec4e09f48658a5948ce5de6eef06c0f6f48ef19df7aecbe528902e0c43e88aa4ed2c404fffc983505052e9da012e7dc8ac528123a59b16c94842b34708d5052ff4f9568be1b4785b6a33d2b5c7b905c08b6ee9b96ad53e77864b9e3c2306e61670081a4b3b3bafc10314d36e6a1cdcc58a725684311070926b8e36a0b1fc4a39cab81aaf8f91e9ffc9947e5eeb23419441de5bb207a45565b1e7001a3676d4bd075e453243cfcd0e65195f61508d575f273837ad1dbd2188b9c964a21c2cdec06f3ecf8a223a399728e43885ac5a3430e37e5e34cb15be552413fc35f5b902e93e293366a7a0a6c54ca33e08584c8530ad2e231141c86af71dd3b98fdb506bf18fd75f8a6e865d912f3d0369d6f6541a03d3957859326228e5b33e2c96d269e370d45c507f95651e8ab36ece7da670bfc574dfc5117bffe4c0d8ee971bbba2cfaf8d7d18455194f2516ce437265f36ecff773e028377a69a4ae2041911495f8aef587f786c960640192d092f2d2e9e5a5b18745cae7e89f147eef794d3a0a3ca3d6606e1f94b96adf97d47de68683315dbba668d5ccd6f6ac861834421559ffe3a07f5c30512889839af157c4b8c580ada2ec025063baf379469b2165d7972b8094b94305e931b6bc42f8e92ec31a683ed0eda0fdf04b2df848a9903010bf74c1f433ae281f96560c2825b5644de9867a434b1bcb9d7ab8f6aa209babab086c7d9e1c289c20fde546126d3f7d66efdb56bddc7a4b9f1b389bd83c77fa4a38314b939399b1d903939460a49f9bb1b3042adeffeb6cd5a16f953e85b373ed6d3d85638a40819444ed3d9286e0280c5e421d9a9dc7810b22f8eff86608ccb32075b7526f2821de62f08be3fbd1f3ae225b199d3bbb11d3abeb377762c1373bf393ccaf3022a3facb2b745c15639a70e235d29a3d6641776354f6fbb2ebdf8271b5b2e6ff44df078c369bafa87db2f44e8e45e0d496005f3ce0aaf6df179b30ae4f0aae630be9957bf85dcc5f7d7d97544985f2c086d35c8b3a361a86324557c780610721ab80fe460148e275ac2154b3fdea99072dcbdd360c40829e7a01fcad5e4a87b7a7d01cbed2fb4687bf97f4c056922881593e2449a598b4cc43366892f93eaf116f7a7beeaad7e94253d4870c479c9b0f45cf1529542fb3e6d1de6b4536c3b920df03613c91ad82a8fc28ab13ea21ddb7b60ccfed33b7d956c3059bb44103bd6ad47a20b61b6caf132583e5fccfd5010c9b2b6b7571412ccc739b0d1f512257452421e54814ef025755bb5b10ee5fec284e87630b7a671df490938b647e4d581a7079c38293ab3ffd1c4de5faf4101537bdcf8454e2280db2d56c2b3c373ca370e78a8680e73330ec7b27a6a6fa9eacb40f10f0bcaffb88e2c04fe53db088bdc6949ca9dc0fab5924d6326a1c65894f7c8780d7a38f6b8d09f589efa17585b04f70224590540256038bdce928b762585466e5e4f2b837eac12ac5c9b25b166b6b6f2637a519c6f6ba29f03fd5830a98e7190e04fa122bc9745adc6c101f6ede4cc82a7b231fe5168ee416b0636028911b5b4fae010dd7a7d9a0a32c9fcd7f7d870e09a0cd32777dbb60a207e588eec3b2fd564b9175ec4fa5a07c57fdf82be143e56321223ebd38e7c9be9f0d766772966cec7e4d26e339e9d616af68c0064b0dab9877a12ba2e5a7f194781c740eb195b5d42e02656bdfccc0e1c723e4991fb0930b20fba85f7c56f5d8ab76a7074a58b17bf9d56066277506f8c0c773677f4184c5e6d8eb8ab369877d9639a8196a59d2a4d244cfaeb996d0c92377fda97672f5695c1368705ba4e4f7fadd02aea55f92104a2f8039c4325e0dc1765db89a717eea37266eb3ea1435f4b3216d7b38b2476b91243f4f6498092d4d1d815899ec6181d162712cef851b6240eaac42a5922e0d2a77a8bcbeb5e450a9da9f12191f6b2ffa9e35107ce3a9cf9cf0f9f49f0204348af5745aa91b20c86f2bc4610b29b428544cd51c9a3367f0dac4b8a6731da8ff4741a0206c261292a723e5a8cf395ae4869f3f48d653fac870736ad8ef66ee9fabec9dcf1dde3f925bf607ce5dc986b252276a2b3738cd320ff4d33e6e9564b13f024ca34c89e1a5cfe23116618b4b27df10aef480c2bfb512729d55d15f5d2577a47240afc7506db01b3ee031323938da7c47274f777b490811a8c8269c1cc09d9884c35aaa6e9a452fcdec81825d546ecde5cc422ae1a4ee77d61bdf16aaedd9449b6fc50c4e89d1122180a531fcd47a3a8706525a83484eb328895c996f29ac9cfdf8633a62ba804d2380567a16fe82b521be7a8f7d3d0d3257f11febe0b7eabe133affaba70dded32bd061b071a82608820a5ccf8a00888f02551dfbd2928947d4845407bca264844f23eb3fbef6ab96a63ad94ada223507a7dc42c7b6ba9e0f490bc3a54e637be9eeced1d257527757bebe013d00be3de32a7233b39fce63acb97c114a54c610b6cf5319b1d536240e739badfac750fe13821a6eb9d21ec3a6f352a7e10e7d5a0827190a0a52c7681082d5be16c43ca0e058966f569bf0531a8c28934db0e37dc3462ed0c494d00aaea5101d90091d07796b295556842afc33a34b4f0cdb8ae1ad40959b9cdf15d710670117597828a656517d2150d49e445db3de68f499295cf130f24a1e3142202fd95636a983f4b9a48a511118df4d0621146754b5e4740f22265278b0fb07637a72a95453867e055a0b09603c6f55c05c1b6d9d0c688fe072e87d0edd9bb38f6ce48a5ef187a463b522eb80c2c7aedaaf71a53994b607b6585c5a027528029ebb19068d255a7ce0b759c1a9c2c0755c4584e48dcdd62793b2d5c551f92c5d9c07a3a90d5f6457705e4b6e7c77b7d4dfcc88348fe2a7c11535798c4e3437e1cf2855119d1ba184e9c568ceb4c2c95ea683464f34b0ae557ca5e76f3c4c4004c2924d2c6914f7d303546445daf4c2a84efa4ab61e0460824ce9c7a91594092d78ad9abd19ead64f08a3004794f92bbbe29ad2f5f8bf8161e441cfe20085c65c733f863288896464758caf366d2e0b030ec3136c268f15950ac4468e176c111c6d3abaaf3f7e7b40be811371ae15af03e35e4b190f0a07a5411c7c1b4664b0c7b890f724a3b1989a0d9d8a1a55412136d8d810a9f27c1e8f851b567a6d25a6a0885109a91655d7b4198af87f8b06bfc86e8474c50b269749ae2a4cea0c05465e93998b5ac525c2fc577b93ad13a2c53adcfe112a63912f7ac2cf02547b3a58aea99d1cd5ce985746dd6866ab4c4c821537604dbdd10276e73cd0811ce7f63dd52b8e425d2306afdea350c23a3bf3d6ab8fb0836a23056604cc7d27b93dd49ca7240e9b1bfb52d38e92a99a744b980b910d9f2b12767cdda621b5ebe67248c9f2468312a9b8a490c9d8a485b20682cffb0e37cf8f4eb08f2b22c8b7af69bd8564a5382778df3db17b509732ea2bbeaa3aab6b0d6afc7dd6bcb2496e8303f9328d5b7276bd67598365b2718cfb76032c107ba9c1e76d3b65d9d54c46186056ba839cc99f776ae3221365d51ac8335c699fd03a47588572389da8edacff91c9c1f028dd7a0dafe6817cfad78b114a15148ced9b22ba91e67fc4309e9022645b920896b3236a807c23a76428cc6a998a8898e0334d3e0d78367b28f57aeeba8be87d667fc68a1da82a0363be530de1d89438d6abb36cdc7ea4b0be63d1107580e4876c7e70f492a12bec4f822a4a0ac37a1db045497edc11bb8de6bb0640b22b0a22131d7cd80275dac996eb2e16d5a74a54b2c76a1f9c2d8aafb87831e3b808b8d40cc983b644b15cc9985448237f031203fa7360c85a65a87879ef1096249e72c8e3cc5125e7c020c063dc797b351ce3b8fd7287d69a0a31024556fc0f26e973f0e38607abb9d3e8aa89f41ac28c816967d91ddc89e9a644033764e8aae8cdf8a61dbb45922a82840b42741d492bcdadb269ae1b3d0c3fb87153c7760d2831fd6a81129ebe2c3c62d617856b951652c81496151a7d40f5a2ded14e522c21f1e93e04430afe2833430fe9287da177bcc1a63bf5068f6d7d26e02b266854daf7de1a87d2cbc5df3765a860b8c98f8691649d788a18f7b6fee33f65eaeb0f4a2d94e93f57a19eb489e8fe8067fe8c1afc7f08dec99a9af109618f4ad7301d8937b3b8d7a25ec84b37f7ab9e3c058852d0fac24fb63c8e2a86a3e8f401dfa5d0c01afe21daf619cde1e43792846508c2064573ce8662948b4818c6f0d9f175c917f95682a427e11a4dfd78a066eef33c52c527ff48551874d726537f4561f7c54da134ab451531f6a1811b9a080540026346c5c5b3c874c7abc71de110975b380a1b783cfd28bfc42899b58ef141aea39bdb1061545da1e36ca293382390b0df4893dee76cd10ecdc3cd895f756bedb8686bace47d48f5f374ef8d12efd5e3c0d47f535bd4c0cbc7603dd453e3fe903f5708d8e0604cbd5ee5537c026e745bee9dd3b84947df39e7d3ec8c095f332cc7deb5ed9ee3aff1d794ea4afef93f2d6cfc9c118bf76b4fd61f9822d5cdd40c3658b93b198c815cc8e54462983f7a8624329b034ff5ec9390abfa2ac3157d3d5bb3dc322a71d122ffb49075823cc99d0c428f3dbcb588e951eb655e370340b7ec320a53459cdb3e78c380090da18bcafb584406b1e7e76e8000b2090f5fc21e0a9278bd8c6cda9146bd1afcca583aa471cec8aae01485b937927e32d40c783434494f69b8ec6170f6b00d81f9f088f27c3f099be0a43ea456c989ae8746cd5b4b547c777fc10b6fb61301d6256a5c4fdb0d629756963b370f611058667aeeaba3be1b7024856bf56273aba7af0fa2ae52dd50c6cd1500463de29e89c40c4068202bd4c258871532a4a2f5fe7cd13a0b87ab7f196fdcba8b640e247f387fdc3853249109c74c84b6b65ab0ad74ea1eed47fd485275896f7f3054662abdc04ffbcc924676e7fdfd5a3b56b3442fa3bcb34ef9011f5c208d5ccec986d5e2d78235e4cb03a4f265bab905993012a01adc52b38399775f9ed95e5e78ca6b83b35f4a49f6bc77f628d6f33cde220b68623f623c600aabca405df47686f56ebdddc01887fac4d39b4c8e4f08111e9b359004ff7df72a650ceb3ddfb00243c071d5d89c82147ffd010a5ca1daa5f20391816e2e60a3b3576be1d40171d9e0b96194a1e8811e057addb7e44d11b0b545729228277da20b10f950a6799d320c7c9674c50478ca5d9ee4a96ba22f1e06e86cbe80c36c610547e5577a42969d0287d14864e163aeb8e6057e7685286b9a4d5fc6a1a82b5ebf3604a80d2ff48bbd87e907b87dc69232601edd9111a7a23cf78f60c8849f17b2218dc75d1d16b3a331a18d06ceb4dc2a65d69d4ef226f62aab6c46bea6d3cefd79f6d0e5386e1f593f2c85ec0b017c473df4a931a0478284be96463ff996532e6a3aaec1ef1cd1b357678dac586c2fbfb471fab1aeff61f3a717e35cb3f047175f22a39dce76414e690df59d6c6090ef1dd2201c63a9746da0c40aa9911d6ec2643631989e5eee07ba91715c3233979c06ad303859e5193e54f4200f76dff03b663c105fd155068c50f56d77e9cd88f8b0f0f50a1ac6820fc1d5163b6a7106ffe4fdbc98a21f8cff992bb81a5c24c87bf3af14e0e43ca1eea354e0e59a470dba60360be355f92c6d395c4614df9e2cc87a623d955d36c4116764391ef0cdc9cfe0ec54da83dc1e1b0b71d2b9fab0bf7383a46c3b21e20582aae6b7ae31f55a3d202ace43d4763aacee59f46740d91a3268a477920d8b186f9802ad4b08edbd8980482e0d582c90e90c9dbe45d7a895be800ba6d35791b0586fe3f1888cc7c6638d50ac62a668915e84cf6d0d37ff355e729a912440b66484747be587169dd5ac26b9dd317faf56573bfe5cb3981994689ce09bedbb2dc5823bf487825817a7f3ea04c0d289aa222b76c8a77e7c3606df9b5e94f8f9f2fc3b8df066f00934921bf78ffd5380c680ded81229dd56d0f55380d099852c177cf39a7fa3fec1527172bcef5a753b1934de545caba5bf9a7934bb7b9b7db04baa0a4692e50a409c26702239fa49ce42cf4930b5e9bf0cd87ae29edaa5ab528716e9de019c0aa1758f63319e00b4a3c491c34ea584f45a652893eb2c1729ddbef63300937532c75a095a805b23f50b079886a58a32d63e63680045c562e0619a428256d5a09d2f6f934f2fc3296dee63963ea8c28969272aca6bbae459c2625e7ce1ce286313ee1e3993ba528de537136feba2918482d09f8cdb3e622c9614ba16afbd39068de571c98d0b1f9cd3502a55cc28664b6845d43fbe74d6b84870abbbbd853d59fdf9cdf646aa135a9b6dbf1f16618401099555cb7a888f83f6110b3431f32f6d751d4bacf72d874fe32c151a603ef406bc4608e723f7d4234b32752e10627c0eb40ac30f2fbe216c88365b19ccf31858f2d2f76659b8a7cc1e607b7bc9c1a3f5b6e148ab5fc83294ee0da036841abe23e5d00d715d3aa98a0b5c5eec8fc2c5663712cd64fb471ada6fd937a5709807011ae0bf7c21daa78bbefa6ef702b039e2ff6ebbf142dd45dd35da49ad99fb4c6bf6b0a4c3a72540dfae2347ee70d501e42919a7151989577af7fe5a0aaf845f7a52b914e7af296521563e9106b22d1e575d9b8f7f8df856982104d477dc33d5076b42f3678b3f666c2ae557b5127c6e6da858801154f802f3fc077b26b48d796e578d26887636a9e802064f7e1c448c1c915202979c3888625b6f013eea392368027d3ea7ba4a546e91235de14f3c1147d7f095b85290937153b40d60c8d7b1a57749a92bcb96be571ca66123a34b2831c88a670f419f1e468a2d228ebcdce393508c15f7a4c6dc7f59c3125fef7b99e8e4e3b15997f77c85c8d02e274ed9a0aa561bee17a8ba8066dde1923da4d82b74a34608d1811cd2b8fa38e374cc547f3458cd27f9c47696e69f138a5e7e473132def259807bf40ed9506c5b5b4d5fe307524949856574ff23d4393c5808f32f9ee00ed9956627e1fc600b166908d3ca66419a7160d005849dfc009244de331b6750ad0fa86b254a9f00bc889973e109a6fb1751bf7a404c865eabc3cf24918a8215c3887cfba587774e3c318d10cdeb65d7ff35d8d1747308cef5ebcd49cc252d1051e1ec4022c35750d58309a10f640b851072c64b86a2753e4b0b5a6da0843f4a1e6b264083779e9c5c84036e2725a34989b6fc468bee3538480256887b84bd447b6af6d42b20f373c505952fa67a70882018eefea06eb98e4ab73e4aafd1f01abaa75f31b5f37296833d420e4b82eb8cf92543efbbba14a2a8c3c1aa84c3cac3da024d0560d2e827bf58f9b1bf77d05981c98b3b9b564c0e524922816e3799e48379b36848f0d40632c860f73da62d7896c98e59fc70fe8450e175850a9a5a8b62e23f98c0edc2e117a6aed996c3ffe00579e31a1f24b8f54aaaf3c31d5bc7f3f3e2293b392c73e340cdf0bc38916a53f5a44c9298189829f68ad097c8c9376a70cf5a82bb93264c8951ba7e8e5aff0c8b0108476cdfd59e9c3104d313609be5a7a364539afadc0ec8b9ce11b85607b8b9d6a852db92e0d58a95ee8cb08d6abc58baca099e5dcb97a6190d3d07e4428bb40ceb2960dd046edf5c5f12486b2a33ac681f3054bb6e253dad5a51d82119f129155f6393125af9625af73ae6fed1fb2b08ca852b9dfdde050ed32ddc3e75250f999dcb040256a192f1ed66d6664cd7dcdf503afbcebe42a8d4cd07fb406b4ee77e6e308ceeb8ba99adcae066283bc6543f4762d739d9312ffe558b7ccb3343b4ca3a3a86a0db3ebd5179d666ca83f754f04fdfced630fedd4be477ca397e97c3cc85c1f18b617df604b77f49c2c2aa2c5db4242ff004731084e4b609dc5cff526693c9f372c2824a9550bfa92d808aea39f0206f615bf2752ad23121eb6da16e5eee1bcf0d2e9a994dc07b6e0ae2d5ab9a279591164fbe7ad20fa2a68e7e6d459deb71024d0a75009641b0ad8c494e45751acf6b2335fce5c61f0c9443d2ac44d05e143a3a04c0196430d16d4a12a1a0e42fd70c6272bb9ad7d914191ed2c670a2fbd18d6c176e922df3c92ddcbd7e78c462925e43ef7fa7926e672aef83c9c9ac2a2a787e817b1a53a99061c4d27e7ff50b22ae32d531f0e66f3baa1da85f9397dac9e48676545920c076372c0a4ae9a3381bb55a6dbe983d6da20d798c32e59e5fb37c267746e9254a28adb6fb5699f6c2810562252dacb5107541c81556ea14c3e4e8365fd6d1b6bf481af03b0fe2fc047c25504ef134dee539a2de6ac93ddb0fb511320d8cd2502af910d4274282ed7df35ef4e9b219dafdf2f93862530996b5861010a0cd74cdf19dc406ada00e52bf0a0822ab9caf5c8df8ec94e7863800d1caf8077e7edc876e075cdf0589ce21d3aecb13b60343d8e848f7d6176dfb385a6103145a1970f759b80837ae0755ae7c206481b617664f4dae3a64c1851723d1dc0d12881310f5859cb053773c38015f6fb4300d98e378e4ff1c741a496fbd19abef83b689ef08288c9b84186c9c480dc703da7d8cbb2b4074de865787305679f9b15f49a36da22aa48410ff35f4dcae2d0e953824ee1f65b7121af51f52d9561e35da29cd78dbde0061b0a498a92c2de4b6b61b3c8370214409ac1cc7f84aebb437804c465202f8c6757f30348488512adfcd0a09046adc39868e3d6d6baafb43e10e4d80c82bc74856a0521b936fcc2b519324071d78d20d018ea7f231a55b2948fa2bdcab1162b30201de3bf615ca29d63d80566f7ad3143dfaf7ff022c8e42cca05ef128780c68e707bd17d51ce4e8084c125e0ce592f6285c176dc92ce86f15af4bd9a2e3322f7a4a2e541ac24adacf0bc8056093c80c84be72d131b73fc315b04fea90c6e7da59c71dff123271a915fa2645c4276212584152246d0616768da8794f480fa7fe1288b714c42262c26344be5b121babb1753e6cd7887083b58d03bf5e05af5c6e4560cd39964ffc69e09439319c19496c8a4848654549d606ac433d72f61269edcbd96178631abb0c8a0bdb8920cbce6e0b113ad962f3207989d172c7297919c095baa6b868fb3279b077e5e7aa41c9608d875a52a661718f3b585e482a68c8c22882003dcd7218eb32b397f7696d05f64f5ea748b26a9add830f93e952133abef3a1ced11fb6a8ae1012bd5c2067caa7a6adc1c3143e072172048f9a840351e203566057e4598d9b080061036c3b36ed2fc73fd0f9294b60d64b894a599a2a2f971815f4c669ab1b94aba745e5d6d3365e9d56ff8353f5334986df83572e4caeb37837cca93a3de48bb4af2a089ed37e268f58b20bbb09978e024377e5e9545e89a3de2823942b51c65698a88a767441dea80766a8cd7f2bb27768f98797d6c135faa8baaa529d0a16f12ac555dccd7add7d07e0dc67588c579fbbd9ce11791989c661a5758758b4b05116412052b7b8860a4fa486a9bfb133d5f48734fd96e858b229b8b90ddc6c80859936b69ea9dea893c0ea51f4d470022fe434cd9d2b723c0d8af5111ee160b1f027a56430f8860af31c0d2a32ec02960a65f4fff4a94079045c344c7964bbc8d53dd975aa54a1eb63672b6fd21ae3299be181d943d85afab615296bfe908edad14db083c80216ef48e23099a6faf216c5a43eb68e415288ad60113108970548e0a65f2dae90a69770f2bd40cca2f6e3ca1fd25c7380157cdd0ddab763bd1b36f4994093b8a015371ea47b3d364672d8ff26e2e47f7e45ee126a5ad0254bd95c39333c7248495abb7f7060f024579ebd7956581441839ea7890f1723dd783b3cdadb2364288cca7b7da5004651e4a54fc9611dc74e196dc83941fd88c5a7b1270dec34a11d5badbe9c76d8ee13198bdcbb6f8758d99b3556bea4a0587287e90662d209d7e42c14f5cba6c7608b62ce09df2cd70d9d0d7d7028dfc8f96a70669687fb0b2e56ab4216755dd1c8d0eb163b564298cb1309398dc46168e377b74d59f4ab9cba9bb4bc59de52505414ec411a6c4e97ccf98744d15d1717cb3ec6ee01985d530038a534d2ee158be8763955564de1cba60221841d0942ef687b790bceb7179a69ccb653efe047dbf3cbe24f6cd7af815e068bfee02f84d90534dd60ee0d549007a2077fdbc871dc4bb276acea8b0ec4baa916534914c6de5abc69ab088dad648bd0e529112b7bbc037966f18b0242c3e90b47e9571fa93c00f3cbc508b25a8486f5c80ba2134b15eab76584af0f9b2a8e63bb663501548a7ebff82fa3485bb91f3653a435f14625ab3e642ae21b2a9a0cf07364007046b9bb04cd157665d0e7a0ac8f776df8e902668a3ce6fb882dc4f4a56e7e7b2063ceb205f3654b4c4b4a6e09c8d1519b000b5bbff0915a6c3e17834f7f2449a2ffa63486d66d04b8135dd41f27b4898c43bc05fd3ec4e4fa457915d4c1760f7d216491cad9ed100a0f113899665f2b7206a31a72f69c3f897bf1d34eb9025e3be4f094c914c574e27b8422132b94d93fe9b70ecb799e3f7b0d4d60dd98349d3d981697510fe10e28c22ca7bee43d219c54147f9a98b907d2227e9a303d2d485711504b4970f92a5c2363c4ef2548d28d3f12531fa0e2fd67ad097fd5134094e7271af4987e4b79d4eaeff211eb6284db5b2621ab26abe0c5653b825b8eb166a90cd81fa9d82fe9f44c6d899dc059bd3f7bc376c1953f72c6f63b9c3785e25d6e894a2ad7affa06fa58d064e1f2a9ffb9feae3a096caf6994aeefc3e95ac802a02bfa5c816dd28e28652548e6d1242fd891c0ab46fd791ae54ada7d47e2ba9238d67b509700e3c001323a6e3b55d8f4fd33e14624b28e9e8d7acc6f1b5c52b77eba4fc7eeefdcf37c3f8316b10c87e0cd1a8607badecca3635f5da4f8051c49fe2854548ae07bc9e6cca0efcb0daab5dc19efd4399ac0c5d3d355109d8bef0ae8b3178bf0b9713d485c395b47c837e46847573541bf21f8a33c6122e6c9a6d13e2335ab18fef47427dfba50e399422fb105126e27b803ace11dc8f74a156c979230bf4281452499da5b12dd5c06034804209ba3eebb1fbe58ca7cbd0bd2342adae15fd9229ae5bc01d04eb8a15aa030bd51bb3fd36cd888ca3b5b7dbe5a959fa46cf6b8acbaa51d8e1a8690ed11d6d55a7605a76b6c6c2691b92857affbc0b854f75bb87677d6eaeeffbf485c6f66741957b22a601b35f15c58973ed1f744a0d35001dee9dda870abd1c5f136a12b8bc62d03d2dbf18d0597cbc7fbcc47cbde501e8f3ed6fca7a574ed0685facfac6001163188893e9047d8cbf5191d0a177b3ff29226ae0940113516a8197692cafa6114da2c0263a078887de44543ce1eb990891b5454f6ac593d0a851f3af8192673556b4a3dcb3224a6bdae056e81efcbcc33c15af2132842d59e6cf000dd586d2e227ba70cc1277e2f637a7c8078cc468c323712f4b9b74aaa4a3d2f3d7d8d792d5b2f2c9a77e25735f9a9ba484f2894e9bbe03b9a29dd3340330e6f1d20b60aab13fcb6f23d0b77e16d644b7629672118b1944b581c885774969a58dae053cfbc0155bdf79a9160db5c77f4aa633405def08fd2c54c275d73f50ab38e857af6afe1cb52c475317d82e351fc2e007985a1c49d44980e67a4e238262c3ea2c652045db1774118a9ea21c0285c707a4afeb89411246b3b3c3c5d7e763d610f521a4a7ead90174538e5d07fd40c28c3b5ccb3cf7350b763c91a28e70718687deab47d99ca934586925a4c8a27a9ae676e156f07275af33ec6dff4fe5ed14dd321e05a33bc442ec2bd503080f4f0eeba882359a301c153e4635a410e9b55c0229a9748ae31a8e109c9b4a281967778ec8cecce347d34f4510977964e43d847c62294f447a0ac5cabad9f6b2ebce75629c37765b0f99fe06d54ca324b41da91ba389285f1238b29bafbdd638cdfd93968d8fca27bb225c37cb94a53ab70f04152b7e2858683945f081aabde0fd7f329db8fa123eedfdbae1b92a4b7d5eb60d2f28ff7972966582d2df2ed63872e7e76eb6d4221c83f95f197c6897bbbba7cdf8ea84b901fc740cffa80761e40f6594b36216182c152fe6382ae01d275b48e76898e0736a9304879a620b219272c023a9afb102788975b6b15149f204b552f9a749b47cb088af40f895962b0f8d1335f72ae4e319c8f15692693fa591bdc25b050adccfa30fb0e9a5410e71d258898c05a5f1ee45ba443b7b8e09e3e661a07654c73ec8d215e9f6cbb5a8e8647ecbf077e91278641e4820e2fd3ee096f9b5cb9d8b9f675a934fccf28bc2c59f3433c3523c83f57897dd2b8419bf3635a4c84ac27a0469e7a83a96a9261a3cacae7f19b5c57c4392e375f019408ace2afc3cb554dfa0846d331acb4668277de7ca047ad4f9e14f69c08629262c0ea11c4a3253bd9b35a45fa2caea4578bc53b21ae18aa3240493e500af28727addf26ec9d6d5652970207f9f7c80309dbd58a9bc27a0b28e2544e3039e34106b74fbb01c418657fb1ff49175117e550a6127a644c3d073a8c0c095f7506b54e5dcaa56a3b0d1aa5af999be8d0510dfc143b44f0f3dfa438e57fe843c84b6e169876e4eb6c8d8264dfcaeaef7d7747b8cf968ead2496236e571873b254557d8437c55b6828561c775da22cd901b831f5e311fd45607777bbd8e2abbf6a80f0723e02f810a4f6691e28d9ac210d3da2085dc40403fbdfe2beb82357e6c5cbefa4585f8c73b73f10fac9e7bca09454acdc8de4beaaf49b776ff8b58878e68e7fa2d02ba74d042f8ad71bcbed8265714a5447cf8e01209f2132ab6d8039dcf5a6ad56c0cc07546ac30315e935d3c03f42233eb7dd9448d10b2e2437384993fb334593e35587f1d002041df4fe116db5fbcd5bcb9829a3156c49ec3abc01f224c8ac08ee09cc9148ad76d67cc215368f6f2fc2aea9fa339687011823ca534a10f88f3340cfeba787cbcbf41bb6e738847137f645b8921c6eee4d21d286595963d0fa6d1817c0ec13f019cad2edf85b5f9a91f07c2f02bc8ee37c988f7a98e96dd3674361361b88ebe73496f8d3d0d3b05be3caf5baf0b29eb20693acaa3bb94e83db3d5c3b2586227c80530f1528a43d22a4df1f011dd43a7de0b288d3d144a941962cee689cff2cd51a7a802851f9fc31a906b3a729052590ed3cce9cbb206dee5e841410d336181f59f90cfefd08f5d77a91e08b1f5f5c28c9064d3c5a5ba9f515a0b2490a4f2d7144b719102659bf3a49a7abb498f60f4bf3192ae08f3da8dc17464a958b0434e38f524dee09b9d01f460bfed03082c95084b8c0079c32eed8f8ee662f9bbc9d0ded704cf57febbd61a08610ff0a87accdba8624dc874403ec0885e49d8e6e6862bdff39bfaa50b2515d510cc8b75c23da75f25f506e17569f6e6eb3ba9e8de8cd44edb78757b81b8962d404ce3ad9ad750daedf9a4293b56cabba5f2941627479dde6bb5a737a2f3e84950b5bcbba1a0b8087939c216a0aebc449276e0488cbce861cc3accb53cd9679576d5467a966dcc6c87c04a8aebc43eadbc3af3f382881e0ca14400a69a61776379c170956b203f2a1cc7d99030d94209d23337c7c2743770b841f7536aa276bd5002f7e4ffbeb703f302acec02611e54cead152291bb2cdc003c95e864705762ef79a0591746404db51a9aed527f7207960cc3b41dddd6c014de7b844ab2fc293767f74760121e928269c33fede861f8e5432a06cac77eabe5e98341364ac9e21e0b3bc4a6d1f065c1fde483a440f4fbd8d1167bdb61d74132b59a8db7230cd4dc4709505bc137ada279c4a2d9061c1c4084c667e6205c54d4ff2d3bce01a23f24a2996c05950e7a8ceb528842065ff4fe9d801ccbee9bed64b5bb0a25e61fc23e1405321a313648969db63008cfa779d5feced2870c8262f6688ebc5e18c4608210309f2bc0cb0f143d8d33fb37e7ea86428e12503475a89506f7c2bb8ff169d7615682dcfe68a47fd98719feedaefa0f58d525d95f67bc4e230085f5c919de7d49eecb8247613051ca3e2dde82210e3b6a417c274fd769745a04c4cc9f87240e19d162f2f557c27e833bede018fd7fee7a3c3426a83005cb523f6c3c0497403641bdbe8853e0dc8e690aaa4e25491eb405dd15bb95311d139706cea6e0901f9086ca7770385481b40537c3835afe06fe27def5b1ffa156df6cfbd6d9ad0423a555c6aac990bb1bee6e282ae78b4139679c2691002704ac8ae2b46765cbc1bd31d8da9591bd427110163551212fe01e5e6f95775ffa7576c8fe300b45735372b5c42b5f8b4cf9c1718e80ff68372dd12e02643181227147f70479c4d298d2fbfacf27b4cc2cfd6168f976d8ba05da1cee4f1ff005b3bc9f373048b9d930540508ef4d3eb644cc130ca197f8fbdc51cab3924dd5617f0b4bd261f5f8f1c78944bf2b91a1b9cc43db593e45a385dc552b4e056f22a00c1ecc69e006303ebf7fd4db926652e42fd5bd51582f7e499c3fb3a9affa85dfc0d0d07702fe0cd9f5002e38a5a547a39b7b5bf1cfa90b35d490d0ccd4003fa0188a14d1afe529b42b208be1b4a96336fa10ced0fce93a3547413fbdaa7160a049c179e2c5027bd4fbcb4c238bf8af31f6d51dc6c7b6009c26c985edec55565b2e58842eb153891f9940901373684e7053e67d2937ccb66b24af66ee286fb72f64f466eb607405006ee0f03aec64670fe174d0f0eb4d4b5b2d9dcf42957b30316321731b61cafe1f7910e94611e3b1a0a6e8a730b1cc29f5ee2e4644ba0fcac552f5003c12801ccdf71899c5fee372941bb9187cb714f4065beddd0c24c39cfabb43955324fa555c5d99d1aaba02eb39f90f8785c76d730ea258f2e44c25100ee0cfcccac4a0409079f6e636b398661c5e53e54878fdab5988e49c5fb0324268af53103cbc61b8141abab320a08be81bbc3f101df3bfd05f0b7d42974ccb525f73dc2b0bdef53b6b61ceb2ccb0e9de97d25ea66328a7fea3b23262184558db2c25fcd5cf2aa497d71b28e4cdb0e624cdd8770dda149544bb83840989cc6e69f503a8f506da5372077df273b16dfa70126aa0e957f4e91df802fe00831d85227efa6b008f34785065134e19c929c44af23f640f2acfdb1608e58c771437034964d2c320b60280c3c1fc0e3ea3d0444e20fabb1a5ba4f80880caf8c0e70fcc3ca07940829bc3aab920ef6752f6334211def3093dd87e1640a28214486206f7bfa20cd3e3155689d130c0d876f233020abdec8871291c641180e4394c9c249dd8920139fd7cdc2fcf29f23627f3520c374338505883981eae41791f8eea4a45645b0b03e5e10475538a975da88250641c4f4ebd5f712c214e1d43d336b503c8a8303de6d8cba55f6fb15b571296012595f747f90f3088ff727dd7999eec4f13e449dafac22d4b85fae419e91f04e11463e5407752e1665de52e8d6f3c699c5b4bc0d04a3f75b8a97896b8757978c148cf70f288e9466725702c0ab0b72e795147bc663f3ccc954d1cb07528d42038c4b32e2b87932a58f1809033d5c2a20d1eb0075c6a588c279ca55c0e9bb42ee85b41e4d500800576d04816f4fdb45db0e5a9919abd707ecd1604e6a0bd74f1b7804f0b907e1e73499d223ae3121fa2df8140d57970c597f4ea7a03d138e9bbf59ad3450f4ea6532d8fa9ede99c2ef3a8861ce89eb7e91045c2b92072169d4430da5a77f02d889979cc3422ab71a76d47b82ee0964078850a7a6d8fb0468d97bb4d0156d1e08d3487d83b78170eb8a81a3cf6181e66307c33fd9b3c80f230b7953dc47d3ad93908b91f7b9e89d8068f2019dd6f60990e409faa6a4d5f32b11a49571e2441ce33576f416da28ba325b223446583f75425a6067819e5e8a91090b55920c8aec491d083e58e60ea59c87bd5536de502e21288f6fd097fc016b3ff2ef8b6b0545da6c7b1f44b50c278683c2bd555d922545219473391c5317912190c6c80a512637a459c4b5060f8dbc2665033be95293bc2de3e58d55e36f173a91dcc63279e655048dbd1df8f7fabdca14abbf1c1a93b30d626a47eabaf1d3ca8a1f314b7e0cb14744708ca73d8b85c6c8f8cca0dd7c95268fb43aa9ebd348b7ed6a99c2cb56e102752614255453fc50da37144ba7b67dd9efac13be9309b2604026c78ade872c8bf48316440c82c5facc2479836c6be6488585a925e4d6c0427684754c944592fabb6389380804ac73d145273b190f9956d6fb05aa350592791519f0c53192c5e774b5087ebb9d9f5041396d91c249ce323963708b979ebfd9e99129fc9fa919567dc878e2a386e56c2be3edf93cc719ac607e4cb47ad0d90488559e80a85b02e72ad83d8ce8f7c3e1fbfe7e8fd77e4d25cec588bc4038e25271c08c4c64e4ac1dc27399916306d14e941dd88af0a502f430a847d467561b9b22f866346c21893e657a0463099463d4c2fb742154042e12bd6ca97bb92c57d3ace9050f824376b3d2c1633ef25df2c3f74aa187bf63020a13b3b1036f4ba7c7886f99c9f9b51f6e041a045b7c8742d483c1604dc88c96d6d5d183b473f59df070a05d00bf03dd4356e5cf21914bd3b1da2c43269a90235718363e5c284a86942d18decc497ecb81545177859871b0afe39971c78c52cb3c0a4f825baa7e7e221ccd67356eb94b9909f9c60603d8f3d9966c3335c588f8316c1788d50f87a49f1e813f03f5a7757f0b7d2297ba103c26699cfac5c73af3ca05529a5a4b545c51eb700c00345d459564083ad61430dfa59559e3365d46b282e21a370d70d54bbd98d9ef9a78a33d673be44f995d3cdc4e85e5dde42032163f459671e6cd3b0ca86d5b4d6de07054164c1b7d73f579dfe60e564275208df4ef95546e939d63a82f2b7898fc7da89d59aac5718157302e7946369d260e3671fb0645c6a95a301d2f265f40fd0328865a6d9c40f26a6a118ea59ce633d6e8bf0660a0dbd4ed13c8fe20b3d6c4ec98039c2548ced6acb4b08f2a02df5812d020e7a172ada378143b95ed64434434ee95e590d0325b3de804c93765fdad25c0b1d06d0ab37b5ba6bdd0b95c004c12826a8c6fecca36ffd9e98e740b63b0bbe937502f43f3547ff5c2af69dc99af5871f9631635b3c2d128706093dbf43acbab1a4e49d6b1c9391abb665bb0bb72ad1c37aba5021d51f1a4324c6cf9ee796356c0e3c800cfebe9849403c748e0322ec5035d6ed425948b478e2b6b1f19ef286575e6d98a1314c7e7033c4f598d1f976455a9bf789c6a5ad4354cfce1083a50f8e55fcd4378b98db2c6d9693b03fd11ae6b0f5b5cdd0c901bac46137e170a350dfeac0c91e86839f74d5e84b9a303ec2fe2416a07b8d13b03c39c0116ebca4454423a44caf0bb2ed35310388e413063da6b005fe8b10f4599e397ab956a81f3d48765c8bf79e32369949b02aacb84c55a4e49142b1f7059a3de0ba2b4b0be473dce18a0f1c8540cdd3ca8f3ba7f2e312c84dff36c9b49ecb4b20f6b70bf7ff44c70273dbcd21507e345610128604813f560116175678e120b2c8ccdd06c532f2e73f8f170c770136469813ced1220fe802ad06a2ea6f73af2a6bf5c76c92c8926600dd7caa03559f36eeccc45759ca8667e5f33627961eef45410c8a51feacf00bfd75db05955fb2a92ff896a2c881fc78c4074a139b77290faf3e0a6de599697e033100c7fc56879afb7e7a3fbdd17bfb8eea569f48463b85f94dc421ec23f4d43a67f317355ef6d5d9becb0d6a920f3cbbef7de4d8a3c73c9a36470ea8e3a70736c22b2a78ef62b58a02dea7f15ac5fe9b056743934f6fe5a12a7127f8e4112d3bc3b57de631c34fbbe855c2a34b0eb4988b6ea49289c4885f7dfb70d9b77aa653d46a795bc27d2e45481f4ff2a90964a1c67045369e1b25be36c97379a76486f1bc37c45dbbd573bef7cf43882929f2cb4306f503ab6a56a42126247336d6c77e03493697469f3b0184e7819f6290016553dfd240d6f098bf198cfaf32497b1f164bd51f343698cc4ac17c1a50c0f7a9e132c084c8b7a95a4526da3e8898891963cbd9ce51cb36c121ccf71f29b6d550ee24250f76cf9a370c1c19996e6873be21f47e988b3aec07399d2ed5901b35c6691ab1f5784800766642d1e2f5cbdbc8c9d4d4cd56f0066b63945d703d1918cd7e3f211d551c0541825eefd107a8e792eb3d066f436f2867c8ee72bcc6d291e4c64cd55e52baacfe7293d753cc15da2358bd01488dcf11c348da95de6187dee90bdd1d36cfdb0f2b44f20cf6d6d34398b06a671ccb57771566bf36ec0ef66e3bf7629d628be032bb4f3d929376acae8d8d2cede2364701fae6a63d0cb68205444668c6613adf843dff235489ec71f60e46f8d17dfed4f015bbb18b60c5dbc8e5206bd796b5481bdc0f9246202e57149f74fbae14594f26aa1988f30a1d17d45bdaf4fa81f125a3d989579af7b0f8735fcafc45f4123b4a540a734d2374919eb876b86ebf226e3bef641e108d1ba300be6872d82c139ee9b43a394e7e71e6ef196b8d5309d6f6a08e3f33be61c0a88b1ebbfec6d33c87b5cb72f72a5d5ce8ecb29457aacfd5a17d2b204fedf83271f0698dace7bbcd6ad5c03908ff5743f1aefd3ee969f5bcf1834ee777f6949c5cd32692588fd2798a7e9bcc898013bfa5efe962a92b164dfeb86f974c92ed59633cf55e11078f8b435aba77865bd737fb90888d031176cdc5bd095486408c1a707b0eddb426b1c5ed6da4e324ee87000b7782123d7a1a814b2dfe99cc00e6a78f78994025acdbfc7d6a1d69943755be3e480d5789f9cd4a287d6bd403e10024f5f6fd69886a819ae049a2d4041f1868f1cc09572731d100cf70049892ea335b4b3b544d78dd5dc8072d48a7cc7ba73e82fb296182ff3d2adce494ca4a551e2aa5e04b6d7763b1241869abb9b3be0dbf8d366b64c916cef0f5cc31f84adaa59b11c5b1305e19b078194e86ce001117a7571c67b53d732bf5f8f320e3bde9c8db77398ba8040450b509637397385704aa345686577cabc04b7c05f12ca233c380860cbe9743406fbbe1404fb74122a6a2bca86598c7b2a1d16b233a3700fb886e6d25e44119fde0dbad79ccf5efa63536b56ba18ac21e3540fa72911f97baa10385eb9f5d92fbb995a046f438a9f714ee0471c85876dd6539fb50e9331257385baa5b02e50ccd65f2f4e66f6e568eebf5e5d0405c53f6d5862befe17241b9b9db9d26904fd193c421a28cc335fb1cc47be324398e2619690d7ae32458e0e7d3584855e7fcd6711375e28fdacabbccd4a633fc11710558da856ab6a6382aa8c4887e25da1e5014ed4c8229f3308ab5d16df6bf2e659ece4c03a8e6129d1ab11c490f2d9588cfdfa87498de9db3513838cb24fd5934e9d307bcaecac477ca06e07d91c202a8d5b17250b44933909577e3c11f468d6143d31d74a56ee2b72457c2bbe7482d0687342fda23b2aee51b286d6594b621c139923687adf542210bc90f9c380be7a12f87d6033aca98651dfb63b3f55a0d40e7fb7679440cf2eb459a23931ca116037ec7067839441a77b7b868998a115c861dfc71efc6a37bf77e90548df250b7bff5265dbc510947302392a8995b5171668be70dbfcfdd429eaae6e63fcf7e4ae2fac36f4dc3b3193e82b1a9694eabac481ef8ca98cc2c007deea0526c21a4b7ba8d541299bf6ef5ae6c966c5d5e578ee604e9017a76f9fa40266efe364031012723bdf99b73ee6e77e3f3bb48003cbccad75cf2a9c0308aa404b7e2527256f970f9a6fb52468376951c72608cd6fc774dbb6db4009247d087de955ed84b9c653666c5a543d659a87db07ac33e8b363b75dc13d7c43083f1b9f48674a2c733228ba153b197f90b2dbf171d74134565762031474338188cc0704953abcd980740a9bf078181165b027242aed52c733c0fa16c69727540e94f11e631804d898b33fc34d5736313268cc96eedd4263c59b1f57acb38866cbd8379acfcd03f13d3683675845b6c0341327ac6fb84c86cebd1670eb638164460e0803bc055708e7ca1efa4e3bc95bee6589d84bdd34459956be0b45372975f2df38374d74e5f790048498cb8114bd4a0d3fac13147edfa44f947dd209c08e39eadd9d67cd2c6c44d337fa04ad47e669effa3776ccbb727049969de458c8f01ef9bcd882ecec4034a23b7e2a42d817409b3aa0577434804afd42d2a3d7f0cc0664b6337fad0f29a92bd4c95f3265c120925c79229274cf1dc8b98dd3a7c74a85b5fbb989ff9e75f0081a34a77e25fdc0c183183d74dd8a4d29889b352a675f2083594959198d84401460fc4f25222dadac43f62775786e65c315c2e92729f9bb5bf44974eb8d731a4d8ee1105696ff5abc470fbc408019f55f2f2a8c5b15badf354022ec384ac03da17514c9a5a072b433bf8935749bb866d5175dfc8581d8c27156ea65f946c0e351592f95577b5271c21bd8065eb0d6af848bda01cfc4eb21724d74b65da27eb09b1425fdf8e6f434d7011b5b2129ea4a86220e5fc9412c6433794dd69061946182e9e71ba745d185c67797c46c7c86a00a4122de10d333c3d04724a9dd90a6844e1c82f02dcbfebe7081bcdeb73dc593a4bc03feb4febfc85b14e4e8d2687f23a5bcdb0127e8032ab2e4eb91ceec8b9fadbf7deaca0a98df39219911ba52097d388ecfc1efbd566ab8dfca6f70b35f1dd80b21c4e1e4ae1b2691ae42024555e6b8bef19b43ca973ddc9873781438cb32dfd1f4dcead7cd2bf6aac3799b52f4807680e49ddf9963417d46310a34f675f2048e79906f398ba31e8bada23418109f9f6830d95529b1267db8ec520b17cae0cf76d8db1f7a75e5c49b60bc5b0934ba0d6fc6032f61ddf9fd37954a7a3fa3b1e2eb6913fff084dd867209ec431889dce6d786c1b0156a080d704b608c9282cad80cb8e65dad48c3316e4fe6337542f17e2ba79bca0cd6fee6dd437fca23c2428cddbe27331391f0c9862534e0d14d1ff8559c8772dc243f01dd6c6c9ef8d11e1972eae3255e2c27f1675ca2e17ac0cbd4e5ffc1e5ed08cd685c569233489d756c62a4c4838e3dd48dce3ee726866d8321d91482c94829fa5f1f6fbe378b92ff0b38175f35754574039693d573ae5301b59625e41b71b35476b13872fd048b5e1f81068d242cdf05ee79d0977d55e0cee62cb2dd2862448645e817dbf985eed43f24dad7c9a6b83346172d05536c36eb2efee35d8e0596c5980d93c0aaa09bbf2076441d4b174d7c1236bf10a8cd75ae5dddc7e5608b8127c4bb3ce7046b35c9756753383e629f11573119cdad52ad948ffc7da43ceb16e7d733320bc99090298e145c042ae74d808eb1db49edc52da593dfbbd3eaec1ef6afd4dafefb7b4d64887b5362cd4e78c2138a9620252aa8efea880235ee10d025b2404fff6a33d8f7ff72357137cd9d9076038e1537d5fa9fda460014caeb94a74c6255f12b7d7e1864a0338a6f6fc8e09afaf76cd10f8ffb2d67435219a9b346f1b95cec1e7a5f82563658e724029e8dfdb1612d388bda8a981fbffd08003c2577c7299de2aef77938919a75c2503dadbb613949fb51aefeb4ee501a8aca4c7d354905294a7b3c1aee9ca6fccc218c19b61718b5b37666fe09f6047418ce036a2cccba7f562e563afe41816458dad49790c5a8d5f7727b2c1703c89c86a4f85f7a94982b0373c3d3b64135f4c7c503895dcb1b910c0065fc61c7c0689eb847c8f5ef24953c0c4ed557f2ab1796263a77f661a79f1a9f59612a4224b58f6dafe9521585c40747dcf94974cba996f9d7f3b0bf6b77707a71654d718cb8ce7dbd624f44daab1812e2f1632f137608fd40190adc00489711cf3c2239669435c9c59923c4026eca73e2729f56f179d2afebaac292bf4f876a25a63c6a5c391abed6777ee598c985079683894b6baf9d925907f9b72c5f8a6bf32d6e18f053047f87ad9705044c3ae8ffc30b90c06c4d7e98cfccb1f797444fea68916db00a5b9d7832205b986c4f5ab0e8b303a262ef899b78a5eff55a42eb8980d00e42560f6be8d709eaae577be8a9ea8a478fad5897c08eef588370719b64b555ada4abda45ca2a2dae663a4a057ea9a32a4625c9af6987271389ef6e702b79eafffa96ab5925aa6ef40139b9efd3cadaeeb8ba72d64a35ca246b245a41793be4a808e9f99df2a847ae6dfedcf730b9d8bb3a2044ecfdc2bc4bde61190f159c691520bd38d595654bd0d67dfbde1dfe15d2fc142444fa3ca75fbc688f08e53aefebd3755b3e5b6960f064149d9b4ee0a1de90d8537e63895a0ea934e5c0691576dfa043ed83ded17366d5f806751b7f44fb378d830f6d6a9fe6c87785121bfd6f1f48d024274b8afe2f03e427ea12adef284c0aaea83aace2b93ff248d56f707a60d51d5ca3802f319d89b896d72435d6e9b8fbf270ff2bc0cb4863e6eddd3f8bc705b96dc1a6e5087218d6615e146dbb31e3e2e38c3b937497398feefefb1f08070a91997c6146c08f42413ee57342e2ca3038189fd7f8c1151cc286bc0ca4110d7582d58c299604a62050b7861caba3d8b51832a528fcea24ede9b3e8656f18600e0f1429d41726dac3476941ef578dfdbb9bd5a3f4fe5e8e8ccdabad2d36f8a671d9d7d1f2b78424e56493a6921b0d5cfbaafcea8918eba730a51a1ee714cafff62e1fe0cc50bd251dd60025085725a642e8edf8911a119cc8f01f97a04df55af3636fae937aa4de10208edb067b9a05415808c09da931657f09d1206c7ff2ac6c1349446849fa1c367e3272ee6e9b48250b6f6ae7beb0c7c127d257e641e6194a75723b80d2733432a2c160e75b0d413fe93ad172cea57153b17481e32b8fb71acdfe8bc9d821ed9b74eb67916107deabe026a3b625c7313b669652af93eabfce669c8521e84da133c7d5e9ff8cd8c13d6b854327bac47184633a82884a4ad1d18b8e866c015bd171878d7ba7e6c0ed1573484df2c4f3caf84d4cab5b627a7b955fdd57ccd01d0fa5c573a3914e62c4b83dea36049a4a328468a2966eec606ee0273e6759a982ec1bf706eae31787ad4811fbfdab59a812a889eb9b65ae8a4f60db694580f97da76b00debcb003667f00fa02c791d4c82d5298a81e0c21a1fd683b4a608f19e9365cad8155f906dcae70b8530c3df91a92fc00386c1a0108ef3c68f5810929f4b016a1b8189d3754a3f3e3ef97b5317ed7bbeea7cb16ff1cedef9be2592e8ed72dbea73da509b8158304c097793253e76f211ce054b783c01d89f63f970bcfd13db7743059e1e6531be87a5abc4c48d1dce8b9f9992c2cc4d177bed0187a236c57bc22fdb5eb4716b98133c411e42db1c8f6d8955612322f269820a116856f516ddfc07d461b40c71bb02bfcd4a1693944f2cd8745e6f8345e5b543b3fc7eb7981c45ed41e135d7075e8d2dac3bfe878d14c72833027d340f8c44c71d3980b9d1652408b1957f18380e6ac24d0853443323122b1d17db3b5ac4f34de4a918d9c8b48bc38798e01ea36c468d6d13a13bc6859626e01a88f26e7a178251ab8d153ece07737ba25250c592d2c2027d4a518b585aa5ec18f53dd0c342b62762e74c17ba970f938edd6c7f512eee87b1c67bf2820b063140e6e9259e8915a6de95e8c61c4822ac3d7cc4784ccac02c7c155592065e3d0f9f6b5a382c36cacb95f48689bc1322f52824ebd074a2a522d303aad997ed7505a7cc59716add7898c8582df86f3c423da21117e2c503f0c100454fe1a5f2105499c8c5896731df6e067ce76f59e2d8993cc19168f0521f78790eb900c89e7c6b8bbd194859d50329b14c3dee295d54b8d86226c5e0d4cb121a6030124ff1e76985f33538ebd55fb9305db9d7081415e17de6092dabbc0c153b3ac0237374c27a3e43ec3b7258a0d6512e1b2a7ef745020d2a4d0401dc3994ec31cf048d9d29397c94792017d8d7c35dd2f57bf639adbc05633fe24a0271842a8c125b2c161782122ba6527a7792dd46f3519910cc5013d5258c63f0b097044e8ce9b695bac30c2c0229606d3e02e24ca53593b4d8e08773d4fed458a9acc989651c203dea6b56f5a990bbdcfea0371108a00b2b6dd40a6b979f678cb9ddcbbb02e4b488562988eea33cd1ce4ed23f7b8185e2b792c4daadeed56c81e2d5380513a6019268a6fa7056982b86a4476fd130bee0bcdf5c5a446af9cbf12af046736e6e8baf1729948868da018905233d689c8ba8be56c19a0e13e559d13ce49ae2b21b65745bf4d0da8044938bf554f2baea95804b4b0baa69be1af105f78fd963220c3284cf3caf1dacb2c53119bc0ce473fba831cc22e1f3ab88c6832f7a6156dab04a870dbbc3d84cfb15e0f765454db4f2a8b87d1cc93e5146033f8c27cf049ce9e6f7ed423fc27854e36d1e8c0d3d5df3e5cc58aa0266b606339cc1ca67933d4263404f466750d13b9c9aa3df27f4f14dd4513ec487d9498f28f012aa7d8a033e5c06531f90d1b709f5dffb74ead53da9d96a4e0ebc5aa0b8a35fba721348f718393ab93f92345917d662363ca6b0fed8655571dd3745da3ff8d993a8b19e52edf540696b11a8baabe6b8e4f68c154e99f7fd18393c34c2db673d91d38fc9d90691a8a1f9a0c3a7051eaa5b5d90be39a078945f8823154e62444a08097df898bcd55ab61a3bb71374133e53cd8dbb5200b698e89e4944fe10fa808747087dc3a6c97d8976972358d764ab1b0960731336135b4f5628fb747da1ca188fce837d8be0fdda0b167a47e9b37758613a26e860fc736b1bb2f9a9302282d6c6062ea78582482bc1d3422684bbfb1b5bca16d0e1afe355c57a204934065c529879ec4a2cd5a3f45439d22b7d49566045fd17586547a264efd8aae18631c224062372be68c5e304ecb4a83157e132c0c9c486248a0ef059efe88d0e29b0ad2e06e9e66faa6064eaa539b04a630e749e51c9306cf213fae39d95f96dec282c6af8d802e81cbf49ed9818e9e9fda06a2daee2dab4459c518911fb8c68290dfd72ccb8e3be0c16f4f551c4e25133e8bfb7708b3931325fc06706edd7b25a23170a0b5e80b31790469763dae986e82e84faf8624df078358273e221ec838705226d493f9d7fb7c993375cff30125a2b5f001108a8455c08a0a53f475ed9e3f21b6aaefa301d69b071cb89df327d9e122fa2622d893d8e349626e4c4ed3ffc08803ef322b432ef730cca420e1f109751dc8be1254f7772142cb3876467e831b4a78fa07d546b26dd62fa4d4b93a0ef037560fed9cf6032abc1e96d4f93fa293ca6cbe0e41db23ab3a2e6027f9109bcc51ae2adf6a4472c6cd4fa506976f0b85fb2a834021ac005f502f2a6e6cbe1773f1a8413df58b3a8a3bd8897e2cf551bc4048e223420e2e427933d45abf9189ee33c530b325cbb859e7a67af17043207946eba6da7eee41449e003fe2117ed7f5723a53be704c08b889ad2326e8b7ecf8a4879ff30231dbe8a5310a8daf05ebf854a421275799a40bf2311fb1abc94c282baab23d3d54b1ca1b1462dde04704f2643779345542f39be53cacb17dc93a17f35b5fac8df93e9f1a407e587c76f34a258d1f3b69c2211c3590435271ff2f57eee2bdb15069fa2908d7e46601a07896839ef75284a208cc3e7a37f40b77bd11efbef09e1c4f0d098b4a174004425d8c5cc084003ecbeab9827c4e00203ba9f470f0fd96ff879bfb9a90e3054f721eed6dc487cdfeea2c44c3ed2fb2188dd30dd6d1aa5c799db96a76278387d55b8b1205291aec69dfcd8e126f7dbb69cdd70488d23a65b392fa17a89d47c84a33aad279f52594fdf20d02e76a5035ba5b73a696905a464479c9708a99acf8982d8552f4a33f6e86e961096ea8c6e09f0cf164e2ff537068d0e1ed1055570ce844b4d607d2e4a26151dcf3d8bf58a973ad4ac559b0f355bdb22f3cff34d659eed88ef31f1e11e6854d8b3ff8f666fcfd76647b8a25c7983e6dfbbd91f71c544c1c07ee07acd2fc3feca664bb273b17711d9a4d975d6dfaa101018e9970d5a62e572abb9a93c8342595398b3c172a2ac488e9e50f819d4c2eea6bff06fb2cfe91cc709e1c40874718d08f23f2034d2a0b661bd7319a804e76292c478e1b4163e90038ceabc49a84b461a1c54cde1c6c5a3205999face73ab56937cc201b939b1418fafc01715dd330632eef31454e2927b6543fe4b0bb1c1df80cea238b26c3057b4b0960fa6c41583ffc81dac96a0f3a936999efea6389a3f3998856f2f72c75244f79d710232ae1bac63fca7cc5f1ae8d753c1f9c3c92dfbfe8bdb25ee37fe29d7cf0e282b01c64dfe6b1cc85a0e374f08f2b9c700fc3c53a4fd36ddd6f33b15685706607c1410adb3bbc61a6db7dd3dab58fa95b8200113998b79a44fd4de0886c14474992dd4eedca202e9ddc3e1e6790d74a8b9f5a0407b69168074a3bf5f15be668057d52f1aa74c83230299240cf2c8a5db75592475730117ccfdb1a52f413861a15475607aee19f7dd65ad8291396da1e65ba3f3cdf14f6b42be5fc259f0d1a897b93378e2b03ed9476be70b887799aaaae64e4ab1f1626ed770c0642ff75975a342f3da56850e7fe6875cc2e68c126709f26e0e5d34354d6478aa4e7d213d568519e1854a382eb9c00566519b863e567ab8d26018a1fd92309bedcf914e89333b4534f35a75830cb76a4fc86a8ae3db13a432aa3415139a6c9a7dd3414efd16f41a1eb13151d044032026902437920a229a1568a010409016494c4dddf732416172071e787e6126238375be809c891c64e3586d93a30bbd9c0a4d083c60e86c452813d8d1698d827bb2ca22b092ce78af04e6913fc4dee1b1dd69480c1c3fa8430dedd448b01ded3db6dc4a33ef9fa65857cda86a70ab436c475fa539802e4c2e1b1040e00c399c04f491c713b649b38a9a8f6be03901242e63a0c5648e1a6e72399cbf6f52df300dd77a63fb7a514d714cdc54eed8a2b4332eb851a9ad4be1bc2a743182473ef8ccccb49b450f0d3aa37a5203b22865a4528b818ab25eb89b60102ecfdd1ea0795fb5dfbe607cee7a1afc1a63fb16952d819f6c8fd4c78790f003be9dfc96d26244fd2956b839a97f1c7dfb6e4442553584281358ba96da3fe1146262348d3b70be7447dcf83e252e1845c87b359ae892ed0f59858b14efe8e9e95f2cd65e06c9919fdac5cef67e720bc48a1bc315c43d807ac1c2236617f6a256b17c96f823d00d0f5c7be8978dc0b0dc80b17680c5b0eb5d9b7fc665fc9f17e496eaad1ab7170a775bcd930d7104136c576c462f5dbe67430d31c7e87999f5e4edd163808f29ac82b7eb902cb5ed6a1643b1bb2796f1084c1b327d536e3c1b40386d152788cb8fb0719872bb273e7ce5bbd8ff2a916a237a8e15d9083a70b71af0db78d4f46cf550960ef601d8d6291490c316bacab2a0ebf3b3e9a966b6111f78ef235c8fe23c96f0e31b70c3d25c57381e41a0b647b5b70ee798a75b6be190f390355bdab70b3bb5ae74ef9f758a9a7737b925a7ee17b6ae4f3246ea71086c42c2c5e387e6d1a76a7ff5a97eb7754c138925ead3f48abf03e882ef895640da8926f5a8664eb5cf319d2c97b4c662cad765428aaae1bd4d1aa8f5d2acf91b25f2b3c19f1b8f139cd0ccee67fcde7282b929221301573c0340e7a8a13648ff364e636394721c862be0f187f928b2a47a7a050be8ac91bc754322ec4fe8f115bb8be890195cd4123b304c7f076df0513ec898ae55ca964ff2bd97723ba17911a151cbef17e0a50ce2332481d73669d0e9957cbdf7f0d14a462a7a715b235f5b42074097700ef0b7ca13b6d6e1d9de30cabf2e7703a34a0219de68cc1e7bff57dbd9159a609a072b0a22514e3bd53a2faa8237aa9ec2fc9d6c5b45d9a7cd8a69127f279ec617d291dfafc6c15271e68c52369f2d7916589feceba30a450eee4ff03b007145abfcefa63289a3fa68b8e428a3aa5398ff2619b6f40684e18000d72ff4d86de8da6779d0ec4613968afd38b3ef370c2583df010e2acb06afc5978c28b7f906a708d3d2383fecec66d023af08474ff7fb8a0bed42475ec1921d16ef7f8118135f90d6c34409b048c656136e8a67fbdeebd77ba8448001d51c6ab4b461de557acef74abf24d648a0f2bae745ad986ef21e11586c776a53279ff27dd674fafed684cfb0b9bc2dd2d749b48dcd05689a151505629e13a9abab0445bc0a1c11eefc48180e94179f6e6a8f75d0c14a35387c1e1ac0349a5e4f64278d013a1fe448322810fa676c7005ce2fa6acd2e30ad803896f14abe7abf7c54fc323649a0a70dcc8d9116d6c8c76fe0b0d0b082f2d534cbc20e600f3106411e7f08160244ffb73b37edf985a346977ced68039f162b55aff892fbb8280682c39e0ddfa87b0dbb70b5e737c1a0ac6f880a20acb725fc9a578c464d73d7d9b8a484a8ba9def7d12d424214ebd55cd2c00d12d24363b08da04ceb22ee8de636492ca5b43e8b106c8b110504f49074341e63de27683d747bdf99ccc712847534be49cc71668bef26f39d6e6338ade56e526225a6f8217e6659aa9cf6c00dd4eb343d92ce2dafff3c6ff7008ca393036edce65819f3fdf8b2ba145cbd5b10860137ce34db300be40d8d8479134cca2c06ff1f52139dfc25bfb777f260bd7481f1cca663812d99352b819b9867bd59cf9c773f5ebc72e94e97a49db3239479287e2bab8461839f531c01bb20093598140691e4e3d26b977cc60196083cbbde409d616a29d554d2385f32020bbe21d147dd84a56dc71cbcdc702ef71775a14c6e6cc6785e87d2fe4daa025ff1b54ce7e309cd7fc3279ded821311026feca903dae23d96e3d3a951e26adeb7ac2c2e1357c933d6b4ea079d0e1e9976562e53791c67b94788b53043231feffa34752ed3fa02995b02b4fbd1693e86ffa91e3ee5967d7b4f1bf018678f126a8e6d015864962f3ec350f15fb050ca7979a5e2419460a8207fc3cd17c176972f1f029663e809c1de32a16c2439cd5061c4e7828727646f73000febb609775a28517f8f2669bdc83cc0baca4dae51be72559ed8d06606b9c9fc00766b17565be10b8aeedf31fe883a4085280947f130b4eafa6fceb3c44f2edb22c40abd1251a6352fd92feeb479a6e9b735db9071967e01576bbd5fb355c1737b6f5eda6c0f90792362a63eea81be2654722c4bddd9936d7abee659a3d8f8567fb9ab7112886f68b86a7120fd539a7362008e8defcdbe317e220cfe5c199e3809dcc9cfff089f334aa4d3bf79500629ef9da0f582e8d13a75274a2118294268a6d041dc6bacc6945aa2d1a0d6e758448ae234ee0306b658f4feba6f18d5656723355cfd70b94ad8f0ebe7e93c153e09afdb60f3a8a75673e7f535383a492399329c371736f5d6e410b2ed1ef7208bee2c925440819e68d3e4d9b6e5c498a40a3d957d9c0ef8e229d95042f86043b2f56e99dd596d581eb60085274e24912d966c1bf982b4d482ddcf1895dea0e3dca5ea04fcdc8c6ee3e5aeef1c459affec609c6252f76fc6da4bf6a012a5457e1ae7e2ffd0de0518c811dfd1ee748fd78d1c3098c8bf038541444c9bf3a9435d7c50b55e3b456642593b4b22340ea92507d09adcc6b9e05cf86b3f2d14eeeb0d43ad47f52a64c384eb5b1d10d6c2dc7307d3ac83c7760a2aa7e0fd22caf2d4e3e6490f4bec4eafc50eebed15babb77667773228b3b8eacc1d2ebf6e267a417d18a8051ec53e1749fac2c87a4ed334707eeee031dfe34202c83adbd8094998d9fe9016322729ebb1864926609a23b723a064dc6decc26126631e5534ae08ffa4fd430c7dc572fcc96ec767eb9798f3b933d7e7f5fe422fece0a8bdd2e3beee5b8cb52a0383f0cc9c40f306ab2661abb54ac70a71aa0eb2ddba183500e9ba8d8f0ad989614a922ccc6d2049cf87addb757c187a60d863ad834b49fef6ed50f374d0f6b742302433f3f763364d2d7605cd66c54615eed8140c047cd1eb45654cd8cc2a4c6d4ee51fea797c21d5b1d1812e8bd9576920f23fe0d40915686924775142392a0ee768d7f8447bd0d44dacec54acb465412cdd3e11ab650e855bf3772765629db3ed9e279f7f0e3ac33620b0c1132c3677a4076ed275e66d827f0fc9fecf662624adce315efd6ca2f121adb8cab295c0672993c7652fa6cc6988fdbe4a992ee7971c2c1a73d998b6a34dc78a9afe69f7b1705aa1cb49301385736d57f81a63c60c93742278f76db0144db924e5405fb3349eeac4cc12a1f162e34acb07f58f7ffbe5a870e8537f25089f031b9bbabd03023d2600bc725e7e6bb7e3acb20932a4ab2701e11fb6629e7d988c24bc216ae8598343641cd527e1bfbe6b2595a99c1709685f5eb1f97ca1700521d33a7bf80d43c61f271001e4b81d904f102894132d8a157c2c4597440316fe7a61efcf11dad94cd9f4d49e8e4363a658211048830a40af7313e3ecd8558b20e392e977084029b324dacf9f22d36381cb8ea083360facb6813b086d90c0dbd58dcdc7d7b73476295263a0e87996dffb2d80c5eec26f6ac32fcbf1b72a8d7fd2e88ca3a982085c49a4fa03e8a43776ab1d1e1fd5e686987bd4bcfacbdbf629b07456f864a3a315f656758a248cda08a890aec2904307763946965023c159281fb0dee32c5ceb7bf94b8a50335b64a07f462132563f8df2ebaefce2dc274b13ce6b0275a32eff7bd7ee73fe8af7d64447d206c1d525bc5fe7994355258802cfcfbd479439a60b9d3ba26729e328dcd0763948c0286540f376bca52da44c99a506309e950af84749765a126fccc24694da3719f4a5e64d0a0048c3e4952efa8316727e17cfd8b16f03f5b40f11854e1d75c9d35b51844263da0e0384fcc35026a9044db2b9228d4a479730cc088e567eb900d60a588de4a03a9c3ca509f514c582eb48b7b78fad90b516de37fcb9dc7e1e6a9a881dccdfc791397819602c29b63cf52cfd244cd08f60b14eb712503b66f1ab728cd3ccb434a9325459c89cdd3eda9bc0543133ba490198a34b9506fb5c4cf824077c1ccc46e8cac28986a5e2af8d458fa2b5d053b62fc27e0272211001184f9269690752c0902f2491a939ec4cc8b39dfef2a3400d90d0e1cd28a62131cfc674b06cff28757fb176445ce202a8e3715cd4287f4083234878933fa6cf838bd3436f472ccbda7e9904a027fc3ffd1abc1bec8792fdc3b7c93642bd78197d6fd666af32d49cea69b1751507490ce8247d3628f7b9f8fe96836129afcd64d8ca456ec77742fbea6d0e06b618ed4011af4281e49d5674e1007db3dff1dfbaed0b4d4a2107066987c4743c3e7765f86e95a1c1992bc2a09ef3af94d83b75dba934443a08ff85789fb35bd8dd1635544953884ba7231531949d26c2ff5c8e18ea63d9952bfcbbe940eb07204749368dddcbe8d383a749529325aed33ba367e05b2bc98bb392a10a603e3d6d1e0f556d0464e7865599e2f87407e7ff86fd1a0ae977b4b5553c1875b2eaec260a07d3a5fb185003047d1c596b10052a28250466f7d743518f61146779db21ecbd1e7db37c4f0b9c3cf906148f843bc474113f29a948c20dede5d8d05f07faf61e8a9ce0414622463e9a7526fe42ba3a2029f1bc3ec32b1bb6a08d3d50565e98a5b09196cd69c6c4aec38aa2aa4556376f479afd3ca3511787cddb9a01354aac261d08e15acbcd1c8fc134cc97cd00291940595670d359ce96a5105e420b1634964d72943a4d947386c515bca6b32c2fd41fc90dfa40c2af4750866358f6259733b05b35b8cf278f0f7f82d4242c14e343c6940d2c8c3c9f43a8c1d273e8478bee288896fa68b76b3c7185185dee3086324fb9312322ca414ffaccd6449b0bc50954cdee371f448a21746c22dbb2358404c288aadda528cc2a2d64adc1bb7263f70f525a0038897f53a13ac0ef464198681cae57f4679d7738c145c5d8ef722917d69dea37c3e387ad1d0531e9624f165aec85ce4845661e4cab4b599225dab6fccc875326e06ed44e944a891cab7e1c42cf74cd67b05ff76f0529c637a64e5f23276c1c681065c99d4b206ebb5c2009086eae23dcc89430e82a29405f9ff51ace4e9536bdda8b00f0323a038d2a9188ae847faa7a81fedec78437ceb757e307ba8d69042fd255b215762b1d3f65fc0035db1df4cb8bd92f7ebcd867d4954a4bf320a5e590f119bc8c4d65af163402de65345eb314ad795e8a1124545401b92a241a6d5ffc3ab0ed31737202c8587eaaa73f8fae06306ce01469fee16c1adf04b6b88ca5b26bcd18bece96ad5a4fb21dbfd4e785d97cf954ceb9ed2ccbf48455cc9dcccdcc57b84d5374374138ef4313a56055ad770b8d5029511e816722074033608a7f52a4e3fa1f4ed4abc80ecefdff0e94dbea5865fdf8a3fba48ccafe8379fbbc0fcce12d9b383cfae83aec2b101bc53bd461de16e5a588d79b8e96448c9ed7156fdbdff1d2337f43052db65cc957a997f72724fad02221a4107fc574a3bf9fdcecd0876df2a50f79d24b5b4b89497f710001220a4643dbe27acb2fafb58c4ca83b9fc8f3c2391913c8450dec5b0fdfd4f6d20e43bf5de102b48516f678d48fde73d89af43fa255e032c74b70bb0f2d859460b10c315f8c135527eb7b880d22b2a23b723d1e834b53534a8be1b51ed3d0f4bb61ac25872c1771a4a9c9b2cd6c0ba6cba2502a43bd60d47cc6b461564c0ef9e49ffebaf73e5d8887a8ab1145528664160f2b29c7883cb78e790d7990c9f3cb66e436234715314426838fb362bc1db3b2eeae27e765fb561ef2c778b0aa5219b3a1e51f02f96b30282061c30a86be6cef53be00ad8a878e5051f4acfcccaa94770b9fe35923c6872e5329c2c716a72d7b130fd04ecd40e02268666c785a63500368fbdcd7dc70917b4be0013408e3a04b4222dea22f04010735b3e7e54d9487814c3b45ee372c037450e897cdbe2f7d6b2178af06be05c45583fd080fb9b3e9d98ec8671204d7bece9a8e57d3ddb8089f3d4d3ae0259739503b519a01850cdc5c647026cd21128e8a61def578db308f791ed120960107868a4bc9ca7833fdba90dbde04386891d70041ac104b682def2f383606bbc5844dc212b82e4392a2fe9b2623bd4fedd13c2c22917b3549f04a7ae5683fa04fabecf4b49eb0409ae2b12990e5fdbe0647e44433ae9080afda873b01d23f7edf4bfb033bc630653993a2de037b9f8fbf815741f608721c290d3afdd5b611640756a9cccf70184bf39328d1aac858712f07184f0cd976b93ac5020873f3a89dc1054e4396b92d073bae1a664e912c8326109c70f75e1c8773a00e79e322091073546eef9a794e688642feb1c8d68a424cc8b611dab0c85c1f10762c9827c5d0f9fbe1fd0eed624866efa3a14da08b26bb7699c6afa5db0aefeef2c1f3ea7ab4236e81ae8055ea38a99a57bf217c420a510bafd0d505d3ff26076409c89ff59080f82523ca28bbe5a5e4237760383a6b75272243ed00262fee82ffc90266ac5740d65c412a66f80211d9ceb3d70a8012a5d1cfc412a0abac832c9dad239eff3256d6e841636f7aa8f167f1382d0bf530510e27053d4817f6254121eefa9eee6bb1af2b5957aa631509293af2c1e33ca1d77d9d71b49ea82f9328e28b0ada34ec7cbcd7f323853b9e8b484cc9c620cec869f0ff4aed6352f5db6b5c628e70b6ebbd8f25b8b59e667cf35a8f632f3f454cccd4bf78d4af28846311745867c3f4d2e77b36714e5ab03ba5bef7e2893987280aab0ea842a122218643ed1c9a3a8859d5c7492b8e521a533e06e05150bb47853c6eb0c717aaa6fa5e38e8328ebe030356658f0742703794dd412930e058785e1003666bd03af2599077b17d4494df275328fd13ba7d9dbc6a588dd0e2c11dd52458ee80f36987265b3922ed12bd2dfd7952e910c3bcc19e11c4f98b0330536293724f0d9df7938a7b33dfe02550f98159ab8d83934b55f9f43eae899b549be2e05e58396032bf579f8e0f80a55442e2f6cb3f5914f68c4a0c4517ffb8694ee566529013b84025f0bb6e8c5b74c6d3e1a957a7512924ad0f2391f3b6f56c733b7def8c66b46aec8f28bc7fb130c6545868339cd4f27c14836caffb9d7080fa7d085f26d05f5516a690bde4b19453898d5d3523457d3e6fb6163b0e0f1feb40224e96cdac39ba95fae2dd4dac5c453cc26d209a87859636e375a840cb1d54f55ce880095a1d63400f9e41fd0eb27dfe701a1559481c35c53acc6924578873b70fcb264e0b76dd19f4f83b7c6676df8d585aebbcaf7624092f6ee00f1616ebb53e3bebcf654aebb61285aa18cf2ea5c69a279a37ec3383400daa2fbb0672da9e6f169d69b3ca32da04ee411c956c09251b7e65e7532bb6983a8006743b19c7692e6c251f4b8f4835da5240676b0337f730f55899db0793833a55756ebce7db1865a6e5325fca16c8ff5f3aa5ff2555c90290e26e2769e04e030255eacafd17cfa6f820e3f7359bbb141fa913117811e492ab79b219f19e4cad73f5ee88d34c1c0a62f481b9914ba857ee17249e09d5d3d13f8261af53c051037d38fd78893a2d5eb3001ec8fe120339ed7495c3d0ff4831240775f1420c09d79fad5311d372faf40918afb4ec766f405b9cc4c876cda1ea6bf3ce971f3b3b1fdaa0471f75e1511f97beedcee811bc472b7fe62a41530b374925e02f9716ee166d00202c1fd73ead095082f499f2b62df76793b981ff8b4659c3ed91bd8b8608a441fff6b1741405d591372912bf3052d93f7a595044e2b9f715f000cda435df668d204366bd753592ebfbe87e4bcd8cb81650d7eb2dae71a477d0419967a271a943e554f90c06cdfba87583030517dff14049a1ad023eac0338a50ad85c49fb04174643bcde78b031ac6fac8d35e1921df2d23bd7017f7a4f7537d512ae904c6127623fe01ac847a5e86775c800c3a1fa17a29422da476a6f6b0864efd0cd1428ac8fae63be5368fe265ff243b25386bfe789166e606ebcbcfe40ee79581d2f1fbed213eab83222475e7533ed3839551667f36281145d88c197c2d9affaf263e559273f89f894f48bd33468296be42a9407f75a055f3305297283eff90124ee47f3d489d1537ad5fc0835d5698f21645003454c238d83062dd15dc7f78d893dcc3a21011d0e31d3507d4792ff451fa99735cd9e486949cc71da31099fcb2c609963f386ea6ce670b705d1519be83b7f4c7a6abad7235ac20a15f87962aad74df0df671b5a3474df5e03ce64a60eb5ae8e7b6d17433a8809f92d414bf5585fef07f6f35f55e6f70cf68df2849b958a601acc0acb02825df174468f930c1175e4eb25bb6fdbcd176bc7b474c65686eb1a051a1a9a4819dd8a2751f8c6385d83cab8338b06deb4c8cfa77a10ce8833384a03c74f9a8107fe6ffe57b92fb96a682d8ee2f1e9aa540432e4783a1d8734355d561fd41e98f475cac74b892e05bb961286e79a57264264582bf09786157f1b1fa1c3fead088cc443cbf35b9f17761d2e07652d50f3bc1ef56c1ad0476090670354b40dc547901de1092512f98bf125301319e79220ed498930c302bc743e3983d146961039bc32e56ce119eb62502b36ae49b63bfd23b1c0f5fc8acc277ec62a66e8a8fd6113fd50ac906f517f6961c724b94b0e8b5c303e7683623b76fdec3d43eb9e2df8ec7d97cd64b0df2b75f44004c7894c8a73d2be6694e7eab48c71289a4d940c3e63cb630bb6092fad61aaa6aa206c609720080dd9191aaa7a36bf3e306884ca5411e4fb08cbca46f34c1fc793dd54a8aedbdf4575b7502dd9a70a63128f417bd0b3eae56aa9dc884130c27f1eab9c1e3d2d285ab9d3dd7f6fb410a88e521fc4ae24c6117cedadaabc2e02ca62d9b3d131038a69e6eabcc0952b4c267dd496e73921cc7817e9f9ec16a71a3ca946c3297e1a5111ce4066643a8abe311e0477637b832cfb1ddcda2569bbc5ba6c47627f157953b77ee357f0777ac52be0359ba72c2eaed507216ca7edff68475fb5eef79f0efc473cb7ad9f30c717bddcd72e526136b7eaef39ee7d77262964a65a6dc76f518fbb7abec361bf6c276c6246647cbac7d3678a6525f802ef908cff12cf7f3dfd8bb5b4aade07b744550ec3b1ce8cf5b1415bd5207865d7b945bb058f073d3bac3ffe4bc10354cce34cc71943e98ca6f76131329eac41dbd10061dec594a6cf562188ccc0a175a6361bd4c275eeaca2ead0623a166cef955523e4bc5e3c51e11ee04b81974696b7d11434e95318db1e6c2cb46e461f8466793d80d5e8c131c219ac0144845313ec9e291e06143504c2c87f258aa2c31eb1c69cc3525c2f2ee58089f38593f8a5460ec71b8cc34d8bdc068cc3f851327c9e244453b7b60784def764dc669e60c139d964356f99f7b4c380f3190595debfb35bdb542960e81880629603ade66af5534c0d43b8775107765977c3491f7bdf656c55d26d034c84205025c490ddc22aea9090a7560c658402bbeedbc0bea9285bb35125dcafcd5a04e2fb712f2cbf0c06badbc433d1fecd1dc123fc433a7fe118b23595a7ec210603065690fa99af7cbeb86f09a96ebe4d318ec6d63aa077a4091e9a3e256c77b4403e6726ed84ed2509900bad295b2975764f660732a17246b97d15d559a5cb9c7c6276379d67cfde2b8030c67398b12134ff827115f6752627f4ec13d6491f249c9c3b601d9a1201d4fa3a87c634e3609a1cb95fc9dea4f2d5fa8ffc448043bf2025577e272c804ff2b4c6b01c6d34c798032c1baba71b98209332d4a7c161e0edf311760b9063e1c482a1551b54881d40581a9f0464fa2787d7a9c219bfbf8610a1b53d24f401cb6715eaee9c9548bf76550e6fbc83bc4872659423a9faacf97e96b4d5798bf327e064fe9c9a64b22b5d063732795037047242707f4d4f99b8aaa66220e5c6c0641f4f197c89d1063d0a2f9d53caecd5ff0f1388f3e21636a6aceb4d7aa556556e91d79fbc8f09cbf545dfc0c71f9b33bcef4608176d5628db449cfa78c2d5f9a888cbea6f7fc529cb54a2e0dfb0b816b9f1639f18f6f389849078c0d30a9c464dc37fb31a607d10f2c18c0ec121ea436378d726dc7b1320c7bde00b5d717cdafc41c5b4149cb69260f1ea30919f3a3896fc62078b2645f31fdcb967cbccb10d993efb477a3c7b8a5601a5501021d7466827226d23dea34b47b781562fbdc3129c566b03a528a166f8be350ccd08e239f791c948e50f60fd656f4b8483b733b79e1cd6690b7469c1aa97c81828c5a50ca351d4cf98921f0ef78c751526a89c683b1686a29efcb05594865a71327ba135d3624b7f162a8bb71f5be79fda498fe7c33418922e87da9403cad3a9d158ba39996deaf0ac371946e2d9a926acd6a29d3d0b8bcb60491894d3d4d298c2db35c11c443c50e9cd4095462916c152f931a05b0c87741ae83272f27f4bf902cf80ed2fba7c1c82134246a783797bb3eb350dfdec8fb3485c5911fe5210480e53da607159219f89f7f9703609076bc0fe5aebbcaf0dba81797f5d85c08a9ea083218c069a7bfcbf0fe633fefec37078eaba2fc944d6b6869c89f7eea5d9bf734cb59cd2a530d6a21b058c6c9084bb6c7f92e9e54d607beeb2029faa3508778f1cee30a7028cd10e5a160c590c7b915157878fa1afc69395493bd0c47a62d35874f665fe046d3a8941bf9d502c75a95a602ab549e5720007fe0b3a478c37d271da6e5d5466cfbac4a916bd6e09b42b12edfd6a0387ee034b4b92e90b56dbae4159fa764f5c90e0e5dc22f692e5aeadc4c22cdeb1b32a771f8871044a5d18692e7b059af11767c824e4c0383db28df10ab95b3552a09ce45c882eff38b849f93e7e5d3a037a5e0f2aa72b30366f233b195c44db90709fa6046f1fa59fb0090eee058b968a46f8bbd1c74916b810d8144908d6c411a898309b135609a78f687fdef2b5a5e3d9f77ac8fa1a7304bcd5a708abe0e1643d8251f9e80ce4486dfa7329f5d7643ac797028e3611642e7795a5aa72c1805716773c9bc940f61b715d269741d21ffaa37131d9079810334186ac4a7d2db23c17cfa6ed95ec6b8c884a2beb65009e4f866b60a0d13568f8872c75b1789378cd4e8c12fc018f3dd4c203480cf755098c19c1a104534639cf6930624750a3a30219ce4c166c945e1c627bc456636d8d02fa4ceff39417f968b49788a5055f5cc427487e0879dd0625244d1e6ec6acf87e6687cf897cb170a66e66be33518c2908048d3ac86e8baedc1f9bb6dcbacb7fd17ba322d8e6fb7fc2c7aa72e8b696f913ef557b0ea3772d3df19da1ac2dc257dcd5698bf39314dba45f68d632ff291d9c2f833c71252dc3ef1705f40f704d9d29ee0da413f72bdda9df112998e2a6a6f6715666dc7aea1e615870f18172c69bc22176e610bc51b2740b0d98a22bebb945ee3da5fb76665b63b0be1ea258f6cccd29946c85310cfbfc7f924b8dfa024a509e237f779f08bb12fcf43ce3e5e1b245ef57bf5456011eccc1bdf33296dfe14c18425b9b68ebb559065cf157ee966f061700cdab90eecd31d0be63d8dc8b0700696ce4b9bcbb1f7048617983101d13ae459285df3877e63b7f2be6e9f3ff77e340f238f9e2930988dfa8ffd4f9bacad2ade71ef7de4f692635879dec013310ebd5734f4dde972f078768f7efbd8bde889881de462b6aaccde8d036b53d269f3669540dba6438aed41e86fbfa874efb1feb3e877f857fe45e4e9dbbdac25fad0032167eeaac59fd454007aaadad4452ad1ea5ab71b25d74baaa9bc76445eb9dc779cfd35375373fc68fbcaeb55269ede58cd222f63476abc6d85b55cae0129cbfed504e505a928c1df617339d0550f5b20516ce36435c72e3fe4fd5cd70b00387f923c0c088dd2978fd51f5749669a4e48c019f0ab97749feec66850329f72b1bee56388468dcda384037b9b70e904942d2d21808250d9b99912e3c27dd19b771721ed54d53efe041e92fe2b903ed5e7705e2e5b2951a8c3e1fc7c940ecc2cd63cbf2f79e07beea1ab6ed59f2f903000f916f804cd918f755aee412d0cba68b729cf5a8537a04ab84a033c74594d3c22d7cad9311f117c1781e05987355525b664fe6451d076699fb4927c65246f78658b81276c821b7b9e2af93dd404b335646dcd5cb7d53114d66999d8a7651604196750e5f5de42af052cb02250aadafc6aed8aca48ff3cba9463171d66ecdbff9d6b9fc8d8da9440a8e3c9d098bd57b4c2fd8c0500815a401f61440315be02407a999258ed6a724079457775679cab3893ab9804346fb39f00cb14559591ce07ccdaab8ca3c487f624b490ca536bbed5522666363cf4d32c1d54e950944cfae9324f85f06a5ad5d358f3c4f629c191fae402c5bffe35f81ff8591ab27e8efda30beffe3694a828e2f9cc43c53120862d70de815fafb320c088d5385bc758c61398d9dc01c398b41cd2e831b83fae0b3672df718bb0fb5ac20ddbe390e89b0959601f274c8cca59da17195d00c182f01f1b7d071329193dac9d13ad0354c216d8a207e47333c250d9f1be5adaebc27e45bdd938e440cfbe645a1c7a4ed0c4d913095a61274ad366823a749ef4ab5982aa6fca3e43e26a62eea235fa96b420725d35e996c41bfe0d158a33aa23d61b0b7d2ed9be388c2ad7718334cf7c8c4033c7804f9fb7d80e0caa18919a23affec199c0478a625a04d92288e09182b0dc0afa0c383a6ea7ec73a365ea77aa2767e943891f356bef5dd0961f9cf0664c6b22660d0f0ea217297f580d7fd9a0eea22f11d386dc81c5bd2d3d263a5dd038a44afb0739fc061497f4984312e0bc1af151ad31cf71f75396365a11436fe18dd69d967fa990f108a894ff61ad26ac8af60fc6d56a7e80c43410207ad248664c09cce5fb3de1964d0080e8a2e0e1364d80507320065934da4a9cdf60bdff846c6105067d5186bf88a6db57d88e6ffa4242f691c7b2ee4d6c9fa15838e1da7e205f65e4715a384252fffd9b41176ed7e59c4b42355dc6a59fd34db24b29f43ad6d6d225186f74199abbe30ce80633cc8b5317e272b272e65d8d1ad20089322141824ddb0a4aedad3feb739e063938e83cbc7ef76ef7d0fd3a8fd8eebb6bf0c820a2e7a3301f36298ceed229b6b0340665e385e99aa440a94ee1843337cc54174327c251de5054b55d3c89cef2e2b6aeddb5828cbbc9e53fd1ef09d97541d5f506ba86aae03f5d9445375430c5e52fc1195a6475ecd60a40feee97f052c999ddddf2b0000e1764edab0e2d92d51dbf65f14a190a3aecd8f9914a5ac9d900fa1ddd2dad77eae2ef52908e78c547a2deaf4451346bb2e969964dda1b93ced96d60969cd19ffd8fb8b68e79e14c1dadfbdd8f0d511af31398540060fb1c9254b1c5b470243ef64b08a6136d816618fe95b7fa801db0ce8c637a1d5b6f25365de3477c73fa06789d000c3544efa4a66f77b51b710804a349c0b597915a7ad81a7ef62a17e29153d0cb951db608f1caa8ac9c6cf2a0fe1fa1d1e66d3b050f2bf2f7cb26b45c715ce13d5a7db7eeea988642b837796d9a2824b01e3ca7accc060af6547f564ce68bfaaaf5f0c82522cdf259d4018b2b997da7b58ec6bb61e14a4b8cbed6f03963b74a7902a6f5c68d6b341a0a06e630550b61a099963af19a22dde7fc2c38d590cccd5bd2307ddfe6111eac85cbcbd3ccc82770df55b84872d1cba91b90baf0549e8a7f91ae6ef07968f389285365c8198cc24ecb90cf675623babf3a66ed10485c9301494351c6ed5fa3b409c18ba99044165958e0a1337f8d4d1e9c22a5d17001cb64a216a9556b1613e06799de3fd209e3611d5b05cc4b8a8341864918159ec64e24a34eaff5b9296675db97b53857b45a19efa20be8aa765918cb9b0235469184092fdb060f93e53baca94473b8fd63b6da025f09f2e7c7cb4a016204337428dd915112de9f1076c5dcef7196e0574c25d6ceb1a0676cb198dbbeb39b48e6fccb06fb8215fca8f63b563c3c0a163f659c051d8750125b0d3fea7ee7419cd2eb102f5717563328c5dd4e04345ca894d96010d8120e0474120b534560811f32db439b5aeb4f38615284d9070b454e6192fca05cdecf44133c7eee4dd2138aae282c426d36760287578554393327ab93b230e5c2c1a9a6335e45327a1d876afd3f34e175a600c1c7d124f81a8c7e87551d268787897ffa087def5ffc6a6778d7043b18ed5b7a3007e1229b18ea27fe60134811b28c87a5b674b8e1ecb9d28b634074a7b2b79ad8a0863dcab5b2ae6babd195d75df9972e38fa2b074009fa007da52cc8144a34bc3e6b6cc20b390c6cf756f9eba18c137c0d711a825a06e13b80f68ff0cb51a3909b13315cd80a72f774dfd17b6d4e79088e17c12e7226c1394f656fb400b023a9655ffa913ba689ea153ede7f6b390396a8f205869e67ffd683f28762bb6ae526a2f846ef2839cd7663b916d731954e9e5515c0330a675d9d51df4b2e17319c90c83f206c1c9cf299168dbdb447d37e46c7c235b47ec65702fd6689cdcc93bf420cdaa6ae488db98335a4939f3a62cd9c38c01c5846a543626fb7cab976e293306b7e1d8403afa28f04f12658ccfd40bbf39a7571d55848a494d3e8295405a3ef87839d287ac62fc9340ddbbd9d8d515abcf933817205766d36dc9749b6397dc6437a21c46c76ed9d5f46fd7ab46defd9585bda6953c892a17e3a2f960847883894a4a265b4db174ee257a7eea32c15e8367c0fd0161fc6018dcfe2100d0b61d3624b21e684d11b271f625c9ed20ae2a6bfdc12d681222bf791d6286c9cf53024fd789630cd8485525b12e9ed605b31255fcea5f9a5bb223be4cf04dfafbe775401a5da320d073fce30fd33978202a42961e5b2f116812d982c41106c5252696500a424139328c4de6dad8e493f785bf5bd3164c44e88ab1363919fcc3c0913a285a7d17b402fabfde01b6aa3ca9d5bb3a6da87a60bad3a79ac19b58be803ddd67d493f34913874afc9333ac5315369e51b7fb8803d164425d9c08f0ce4a9b770699a888559f8f553a00f38cf51d021aa3d1a59636ceef9b0be53f182d35ec7be6fd13ec701d5bf931f715ab97ae150c9d4ee1ea2a02fd2f17c60a1b4ce109c4d5138899a362c1322268068995bc14fa7ed049afcf8ebf76bfba9f8c5f3689dac59b034f3bf3d771cf1b40e66cf1fabe95c966159bc9a87f3f588383ea2c5512c4303310f8394fa4eb6abcda47b6592041b182674b2432b05d65ef963ed618b2d97e4c89591e76eb0dd0731f27eb9e7ad52eef3a9ae1973d2a596e65e65c5140787abcd8135dea7d2b38275e616943972bcd6bd3ed4d2a215748b6e32fb8fc46cbccb0f3340a0dbecf13d85337c7e12bc596162d6f41baa98d1fa4cb8ccad688088511e4668151af1fd26408d87c97cbcf420d31b71a4833170fb8682ac09f7c38ef072a0e4ca7727674e69184e6190201ba2f68d92e3e593d6616f931a4f93706d7f4e7de37ff414c3e2550bf90eaca5c3d68df5b4e9ab01ae5e2b3c99d7aeb46e269723bfacb8e1f9cd6675bd6693edf0d466241ea8dd603c0de0e19e1e60564af2da3cfa33e8891532c46ff17c106d57eaa8a160e9642624115c0ea38d57dbe62291e7027c8e88e6ce8595adb358ebe31128266c8b1604b8ac4b254de064cd4c076e04f0fa82452a5ee2d5dfe1addaebba2299d70560b419c776ad5161f71f3d207f947a0339cc281fcadbf5e4d4498184e6657d4c5ed72554d2336c43a7832d62798961b203bb4f421c65a5812af5078e059322a38610612695f0df979c15c1f56e37643dd73baa28db69bff53f54689d40ab95e4f17c0749c050113a401b8e29803fba39b5d7d90035089265ecd6a99c041aefaf19dfaa25199be6c60da663a9edc39f1966b83e2cc65d691e2952ca5cc9c74328917086ae475882206da534585d0ad417e0bc795b04d00a72f08133f0d54eaf8a311c9d95bc53982fa36607bd079340867a42c58d8b9e4cb65663beac02c779fe7e9838a0332172b1d82a9153f66a513c0ed2667a979a5664b04dc8830011c462e4c9cdc5e7f8063a431378a561612591e8761a50b46810782979f270e1a256424bce7b383a7f296ef9686442f2e2b602a2c9c891aec5322e525f5f4d49a239183401726cec2b843c49eca28274a87360b77ceeec21c0caf9a74237503203eefa3d7a6f892ff7c6597fde15a3135ecae4543abf59396e056f022dd2b0a41a65bb5b968c0217627aa80a276b481eaf9f301204cd2057504c540a13c1f5e8e746719139d5d7ca7e29824a654eaaad8b2e17b24be2cb4eb6e4f679a25b6a9581688bfbf745600c197f4019f718f4bf9232d691d447e1547352171b524870ef347ea0ac4027bff9a6934e10e6084be73ce288ae2d1c9586c48d9ce15f2752fa9829f1cc254981712e7290c1744da2e8a58615e3eec8e5923c530dab704a70b39ce0eefa0c4ec6cc35513e5ed9d6a461ecd751b08225e8a56e901831b4c05a65aaae63d594eeee816094e5dc553aadc3823197c111363866b80a19e56b734de12a833e6e1612c13428b0c76bc486987d17d247edddfec8f17c7b2a6cac15481b43b24d8f472d144bf73f16a7f85c31acda3a49a493e55a7fcb873fcc9fda93d34a32546c52d52b8a14fb1f323a3a5fcdeecc9299a1acf152d2648983ae4050177e2c1e3cabb1e1e702a0cfdb842cec890f16e56a4ffc321e91c7efb2970d8cd74e78781a87cf367acfd325300fa96e68cf42924bf3e815c5c52ced0c93cfd3dd94efd25f62ca25bb3e9a62bb291d0c1c8e0891ab9d3b7ee18bcddbacf9452bf5725365962167bbb10a57df8d3ed1b3ccaca6600764113957d444f94a6fa798d7f01d1d5bda5b5b8f658c95bdf04e00366816881052fe261e0fcbed3bd9610dec97d7f61bf91f51c115996d70a9ff1ba8ff4b2d18923c6e52f144e12dd442b733e331c059afad0d2fdcdd3ad68e04f8d8da7cbd0bb10a06ef96d6061fd287f6793c67a95cc32058791d462c3c99a9cddede79d6752cd92ec215095142d2cf934b4a4f966bdcac79c5d73b197252c74c1218e89151b30a158207a8f8343e8bb9b27e34a192efe722a52595f7af2329ad7c0c2e8d7db5b7d108bf833e87b5de4d342f85847d23f1d22751260f04b25956602a0e366310eb2aa15e61e5651054ccd02dfd80938313597f5c2e67e6e5771c08d461e2b19d2839b08cd99c7ddfdfda48ba50d68eb4a2c2ba2ec055f2c74087ac639589c9b9750f60274ce6330fd9b5cb9e663c5cb264b488f66304c326bae7c8c07a8e5ae0c9eb9ad4c4a5ec04fa5c17673af02076f4950d327022ec9f2c0ea0d9244503665fd81b24824cdc17548035bbe629ea0432245d1dc8c646ec42d25be18064a1b5e36613a9ef524609a5cdf7b34e24008defc3b600ebfb6e61903ea9dc115c12d323150aea0bafee1504a6ff9d4ed8dac42f6181194b6dc183505267732632e50b114fd8b9cfa04ec36dfb1843543edeb63b2f2076d0ca9e998c928dd3f03332db260b06c8b05aa721659711d8d0f55b6c79baee244e7cf8e5b209fef7c119d06bfc0bcf7de4044d7de6fb1c82966dee6b3b1adcb38eb1093c6b90dedb13ccdd78a44b7ffdbad563e9a0a133f47dc550c064667858ab241860bb1076fad4641d0b75f5c85ccd94b822874cb4598dfce7ac3a78fc84c03c2a6e0c0cc6b7746df71c26aec2c455438376f15c4e41aeba6fab1962b4e369d731b0889d3353ebdf6410aa22051eadaf4b44859e1983685b54a03e29a89f72db083823455c3f9804c7b9d0088ddd0eb1189b65d5c6f35ab1d2458dc8d3b322025f23518e5ab6a8ecc8e14089cce678b4d58eaf39d00ab38ab738c6bad011d6d80f4b908bd6fe7c60c3e7001f0de1c4ce5309ab0ee6d0e55562f3ecaecb94f1ba9e996a7fb4d8f5728d34593a055e3924fab078fb18923075b234a2c35ea16188cac2bc93f10710e75bf5ad29d36c187a11bb1c80ff14e0962e18c8975eee3ba6deabb119bc05eacfffac8bf585d115b4d2d1c1a8e3d0cc8bfb6c06a8a66c5794f9625e64b978cfa58e62cd74d9e0da3e1938298eb47c9fdcdf5ceb435bafa485bf7889397b0a8b69de6ca5d019fa788743a08a21b8ef9242045790683f64b526d9f086d152d11e0104df37e80ecbad84226fad863a66f8f9680f9a5a7c686bebd355d8a833b1a04e12d16d4cf04ce360d8d14fb7741a27619710d33f4ffd102455358aa79763648eb27d8ccaac7746d3cf7abe16cc854daac545e2e507b270da214f44cac3cd2daac21567c2a6b8041245aabd0c35a49dc8aa274f320a55dad9c60014c24907d4e38e9bfaf0925ed6cd49cf87cdd32cd27e2f940c1e3a5863f0b6e0f44ad67fa3f78218a887901bb549062cf2aab8cb6900bd183e7fb02d7233a1b1e91737e0a405e8fa908fc4aefefbf439d243ae180cd4908183a0ad6c1333edee08c15c90aaab6f20c16987d9bca9a90c71762e555f9c2e1ea52b6b9d3074770494632b8b4339f4662d8ef0677269167085c37a1ac7dca9a92e6fe67eef49c7826ceacb7ff92c6fef80ac0757da69822e8bea4ce831c231b4e84bf1426cb6b5aa79a9bdbd2683d68313e79d732298825d0f41e50f16d98f107054b7cfddb9c75ed4c17e250b6311115ff25d21aa7f4ccf200cd51c22a6cee4dfe1b55fabd80ee58997ec27eac31e1cf0d0a8ea8dd05d7e059aab0e79b46d3718ee58693a61a623ec96bb500f858848debfd6f859ae77dc046f44c25864e293994e8ac9f98da0665967d2fc520e8344cc739e3eaf880f380951a809838398372d6e3ae9db0fed3177ef67296fb36604e658f7d3a9269dc10d581d8238923a4527d0bd04aacf2a0599bd5eaab335d7b11c35d7a1bae8ec9be88817d6473aa52dfebac29314e1fbbf0e7a33a6f7482e93f678ca80640affddda3af66894ba2a08e34ee211664b675bba28abf14412a0a19711a7e435216f491efccff7b26e863683a68b02b4df102b63c37f51a40c08b0e4c9461dfed5b30ee7cd43f46bfb69ce997c9bf3f24ca0639f8606293c4b4291783c71446550276afa79c70f44339546d4924e95c2e8aee86fa83160d470456dffaeb7ad55b60b9296638b41891ef8712e40d7975abab0558d03a9c7ae0670194551cc4e53537f5447ea94e83065dba78fbd5317720d4df73c6c5abb4efb8e95a88c48a4dd825d4d450cb95cdaa58295c090e5d1698c212db5e068aeac24aa21eabbcb6b996c1331f983e7be6db77cf1c422d845d22370e0ee3f5529a29a5242792d10685e08a84bbed0a1ac9c346c00fea1347269a3f7769f1637462dccbdf3dd2f632ef5bfa865f655e3261bf22d40062499f036875efbd761c8f2b986529d2605db11cabb6d1927a9519642ddadd08d21fdfb06d2d8ee877ad7792cc7f1c258353cd1ebd3ea08b0e43d375e16abff39527c5afaa97fc6c9284b39d77252002efdbe0a5c829bee03a7f867f28a21f3b53f197ad22229e5e1035230dd5984f799e4a20381832cd28c5a2b39d9cf68455513b9dc2697badc66c51cb5b62017b888aa1822659ef55885f66869481054a0f3d7123f9198bc5036435622ba127afae5db439cd5e3ec672a650a5549aae03d9b8715958413149b56b3ad50da3f6624db520717887e9dc1c81abf14b47f3e0f5ea5a1bd2cad4ee52f565db617bfba792d381a0f425da256d50e0c1932449d47339c03fbef39c45927d28ee0849b119135abd56abec885f118e867deba16ddc4c10fc5e0fd6d68739a43a386dec6dcd012c341a7bfd21870d1f0b417b9af90d666071a3a8e4a01d4b6f04d27d0ef65c3e100a9cfb4c0bd5cc248cf536101fb643274aefbefa6b4a532daeadedd680d7016a1e0d83901ca2801eed3807e6528b629979e19e9411d2d18766f1179918b52717b2cc040e0f9168d91cced98e1a9738c1e2a09d23006e6dbdef4d79138899da0cac286bd30ae1680b5267d2360eee35e05722d4ddccd75602b5a9805f9572c16d9d955ed9aeebfe683eae8222014715fd0be095af1a3546d3519dc19324af502325fe07e7aa0d46abf06fc9681197536312b8ba586006e88b121874b13252e6acf188d8b451e2c3f65db0bfa7da078f147dcdc64c655288c00de3f259ca6014ae72cbc855e55ddab021aaeb27a6be0c94ba19641a639564059c57287fc3beb47ef1451e5b807122d9de5cd604f7d6143e256b2bacad226192a312ce5b36fefa9976a47ce2bda8a4aeab7529fd993e6a9fa9ab2bc10477618e20828ab350c4e9902bec84bc8a5baf73ea924d11a1c0a1273959dee254c24b9624f33c49ae0d943093b45beaf05a789520a7282cf8db48274000f4acd9b64d78e99e250d62410c61cf337a75020dd1c00e86ae3a9565f87c4adc0e3187cdfa3979adfd888660cb3e5a2252a74f64006c9b5440e5ac7989ad6dda04c801a1586410229cb687b204b817256bb2519a6c020b92c609fa4787ada0652ea81ef101f218f1adeba0dabdba907943e18d148d8daa46efc044f37acb8ea5d87852235624d3d9a5e56edb86e81cabe5a079e4e11894302c9e3a15cf4a9a46e60a813c467eac94155accc5797741771f3de487a182a3f6292d51a1a2723a81fa73f6b5343155569594f2a96c7e13168519cb7aa1c276c368137b80bcfa0077f5dfed0142621a66b500456d8ef4146f934d1deaf731d87a5414a4538986c9fab41e9507a055339107f93edcc7355918e897b2204d366503752a420c26b05109f5e2dd1b2458a2d26c0e31cfef68e81d56479f2c5a0051f31250006b34bcd75d4288dc135be260cdf74bac97a01550a1fed4087ca754067678f28420c1e74e70c7dcf582e4227414358f74e94f97f9aa24892d6fd919f551bb7459b4d4d736b81611c681510fc12db9717589cac106bf1917ebe695fc3a8b80e9088ec4bde4e6ee7117d502cca21ec00a5771351b826e574537b7fab876791a09c0922961059f7906c7a2a575bdfd2a69a32d01efe7f849cbfe2f0e0109fe495c3a2409adfd2e8e07213a71e24ef1b77b16526ead19ef133b6d1f5df0bea424b3766d5e046dd11736bfdb4cc2b816f648e10a17d754289a8b0c101c38957509af10df5504b3981f08f88aacfd062ee5f57556c7814b4e0d32be162bd278626f2fc6e6512705667f72b94b5284da8e7e0cb283292af388b39702a909d5afe17107f35db8284df9cdc99df2a605b38c1573016982cd17027f2a87d35f4b82e0bf0274ead724d82938e443bc2926fd097e7ee44eda0fea4dba41cd4fe9c14cc3b39ef0d449e2415cee3ae89af76672879498bf02275592d328a49aacf1b390f132a6001500f4e91b59c80cd6b99b02b7f7e4b494f191754144d9714efcf59ef21b927a6479cf6abeb5c4b44ca439deff30c715a71c56cdee4a588509f588903a48e6d888c8b53b9ef4a55f2b03d3e32f2eff78c5ff2b8064095a706c1609e5f0d0598a8c6f0f01561f40f0ca2f1b9ebff44c3ec13723b8dbe24302cd7ad8ae3f6f5c3440eea33b4760274258429a185341c3820de9ef102af40b82301bd584937dc6c63a81f9b19bd4d0390acbde488aeba7ec85c1c2492275cd44355810a1119d5942374dfdc69978b76882127a1509f54eb6cba65d93a8f5751d46cc01e3cc8856778f7e56f6acbee79fd6bf8178f2dad93421d1e3f1186339250b7c91793df0b18a9ef9bb5d9813e8ab092c3862cd867cc0e86f5a3e710cfe87771d7e3c3c0e7e794c711b1a7816c7ad0ac4b1aa008772b437b2bf2f13592c250e9898175ea2e7e5fe3a6493773bbecc1a6d5e1fbb6ccdc9128bf9d8dacec8d7d578b629fbb6068f31b3cefb972a4a52f83664b1aa93e800993b472b2be3c2ff53ffe35f80c7bd09251e95f08cd22cfcb69dba99714b6e2d25fdaf17419d6e6ccbbd44d19bd105fe32a63b7058cec3d47a7d9f849a14dd8b08d8daa703b5f56b3f846a4708b70b6275e8d6ee1b2d102dc92124a9ac1308bc546ceeeb204024e0611deefec7c0b7949b68ce6b0704ffa42a42f8c8a518d6b8eb9ed5bd4a9eccf65fba47e9dbddb95bfbf7c6a06d761f21e92223e0cb4ac04fd7d873a70bf2943ec8a49fda6f812203d18653cdab6f4c539a8f232b74f99e8bc2df6dcd704bf9fdad248a56e66c347c4b2b6bb546754a0bad5f0ccf196165cc7dc7654f1ac84b4878c14e7ada5106c3a76979fad08a27973120e04eadffc72e240b1aba477b5d50333a3246ea47a53fcb813ec36d78e63c5e1a77589ba8acce58614cfaf4fa2a107fec2abec90670d0d2d41e011626206893024d6e10b203561e139f83119d6b6f86a129fd776b6c0d1e087b6a76c996ad8f2d1019172d05fbcd62f705160ab45ee8ee529dd7e46c00bc72a9ab27a5c773142c6b49f2f49918051c4740fb915349a69cfd9aca7dd2d15695586979b83859bca1a9f0dc353d9f64468073d2de4fd0faa6cf174d4a814ea76883c0b44191224089decdc9d4c4084dc6ffcbce0e732ce82b788eba4ac16da7c6cfc0e52b93ae48d5116fa8ee79a1eda5c15ef318b00e1823102fc5ba2e869d4558e3b5e33ca3bcbe549e4c7aec389e54e2fe02ab566cdc417d36e87a32c30a1946b3b443d13dce03dd1bf54e33e0bd0f5e6306c761bb9990f8687f62ae556665add2f587c54725341c282ba900c06343f77382e48d15f13326a1908d4fbf67b29dac62ba6493e8f6d6a5976d2328e394887482c9be3c2961748a84acbfcc89599a55f26fdd181a887acefe461e97fbda2ff78a11d81dd059216f3c63d1a13c5b0210c2d876a792eceb86aa0ac648cca330f6d292a30e32b5c1590a797840c8af8aaa2e91807c01a719bfeb693942a7e6684310478cc9a5a8c267ee39356c5c54a00b2f326e254ed66402bb3813059f415ba15e0f1c0ea8ec2d45deee2d2171983913707e1786d09caf4a247c6c6ea931ba1362cec5bee513b40e36bc825170ed76dd1d0dc46698d2b09bf5c8526a12a3ec267f676fe85e6ed285d740b009240839681e4387c1b9c2eb4aafce459f842e6f5365eaf83265cd7bb7d99e1c29d9447a054712dc98fc10c96c49d96312872a6566ead91c702b9b1bd7dd81a9e5804957d22738653c348ae59b819f74b16f6164d8fa2d29b384a9fed2f55a66d2815970241ab1dd6225372f8ddaafc2f5be06cd9722aca3670606864388431e1d80bdfa04c788abec84af2fac90e254b661f8b15ddedb4ed6bd28705207150c257a4c33a7fd9222aa37a02c11a0bedd33f4388dd903fe0026c707fb24540089e1ec6d43d1cc195645d17edeae7a8649986e2b4b9ea35703dcb82d6e21aa6ac1026d584caa92cfda16a3a9522c667f2e7f09ffc2b8ce1c37abf1c3139aa9fca085d9791bed619d52fad1bbe0d7076454df6865f7bd7af3fda86a5556ced8adbc5fed3c74aac04f5d0430b8840c13fdd693a774f5fd1499dbc5256eecaa6c05cf57e73e27d670d6959cfb38843840212e781fd8e772ed08206e4509f9c310c8b3f835bfc818eac61e79e6e8f415033980c8a489debe3a7afe21469603b485226b9a529d18dcda91cc0d62e35f9abb51926fda9df53ecf323de167167cfad4b5e4d087dc96eeebd73316fd4e93166bb30648bbcef013c6f5bbd0561397e9bb444c7177b8b5ce47efaddb85b36c4d47efbdaecc1f095417eb3f130d19a7ecd420ef3e035049cd84b04ce0943c95743b0d1d19d119e2561e99670fa9264b55eefb98a64ae4afd982fa522423bf1901e415b18545babc62068a18110914b37159d5b43db3b2511ed28d77047890cdf4ced815cbec39efa6018c64a9e45071bc051297632801655d39782b511a6971f066b02dc42d16a649307fd560cc058e6c851b499efd9d1b36cc629f6f4e3d6fde3f9fe1442de184fc00d531f7b2191d5a6e375b9f8d0b128304b163d403b4b8bd64467ee9444ae4cadd99aa6d15e2b4b765cf3e2c5976903acb66f1c67d07b8d025db21e3a15bc0cd7cef30819a5cf15a44ca7a1a863634d707d5b5a6bd25346213826f4947b8dc2c309e56c47e780c3c35a1e75d214b221b2ebdf6b3ee0dea7f5b9cc248648a84f6d3f1b1c84952f23549aac7a2067b6d5882d4c74a5585a6bc632a104305f7def29c17b6e413677c2d5fc20e3d1989b29c592ed486bb881678a213b17cc6830af638551caaf81447877fa66e2f9f20e9f5afada480b015deabc67ddbc0a53b6a2c21493be703238a2e3236f34857b0ee010b7f84afc4d3166ed4771d99268c37d650c5c43af238e035913b15816e773a7753d480ca49f559cede300da8cb6b0055560e29858b42f91bdd787b0981ca614265c1c0537f43369767bacd74b4cdf4072ee350e06d8d85b86decc150534ea0c63db180931d8a454ea2636f64978c0b7a44239e7f921315c2d2c317b7c13d766fa835e9a4d3a5afc7395a91e8d83e21ed2c4de6d428aa92c7716380149174d5934afa19936594ffd962ce7498494a2137ff9b8a35e0f6970e7e0af36894f3473d4f964655119ea3cfa705b975cf66b212277600f8719b3d4c2b3b997a27fd36d170fa466f312655f3410ce1de22f6ca7b10c90821468a09fa5ef62d7d9836a0f56c07598b5e5f3767afee0f9489af615e9ab178283eb723b2ded6f4fa7628c53e389d5d21e5dacd8ddc0dc291fbebd05fb767d494a760a7d1fffa18cb08bbacceb4d2819b0c46bdc44c499d0485a8b6156024f04d52c436da04644cd007c48c836bacee509fb93493cc54ee21535122c0ba1a09398ef2fe48cc7d3a5e077b7a308de5cbcba61ee32f2d7b5b38ff26024321b3d7b61099b2bb77e258232eeec8d2b3c9d946a15dde27d52099840c4d643570d0c31c2aea9a99177661a231ae55e0182abd20fbcfeaf826dce645d32b500017d5ab7327f6add7939df54a43827d6da564f084ed803705c099ac47ab98f85a7d9f9a98e3b52a56a992ca7ad8be28e81f97dbf35731b6277ec9a160d347ca076cdc7b05d521d9553f28550f2fd841f02f3ea90aa6bfb2f7764836869b85b8a06ce6ec2e614a1f91cb252803905c51d4600cd92ec8c69798113851f86ca26583cb8167106d311905b4304f49dcfac39041415ab09d94a5940a045b3a7278f74bf0bd0169dcd03bb75850985aa1cbcc8a59804f98f4f233ff5a53684020d99336d6565dd111c397d86875c3c9d5e77c09f0d8599f5a244205d07d1ab7c37852ee75f67dda0b5ed4dc27896e39c119d93615e068802d40c565b9e92c9199054b9c45d82dadb53aa6b497d0057bc11e8355b815197826e473e52da6fbafdab296380a37c481483fae1295688881c34663e6a10698e582263dee42d1b661d130bc8ba48f6d4e641a782ff6bc262d79ee10367a18798344e2fd784abe9112b37b808c491407f914bb2c31bdf7dd343adb075710129f87e9b50c20320786c8db4a9ebd86c2517b2afd786829aaeebb657bc57891d460637e90d192f373beb7575ca5ce80e74565cd4908a4d30a2e658f90ac87f7fd33122004884f35b8bc05e80455a81264f804edf91ba3ac3275aa00feaabdad994fc07f7c8099f4ac3bba78e96a0a5775e8584a13e13277bfe73e1d618efb1ca49631e11ff1734bf2d1156b969606163611cffc95b17002cd3342f1d2fed13a68cfb23385d153907d318fd74f3e83912345fc85bd3cd1160f44867c651f6a5f7b2690a2cba42a34864ac26e11e842df6b7ebe63f0760c240b218aa46330aa297cdd35d30a34098470dd3d0ac3658585a9391100b8b38a4ed468696bb42e5218d750ed935139d78dae179b16827daa36f3f2578c6391d424c9949307b321df9201df3f57139d09bf60f166a4fb738a66606bc771497e3458d9fe66ca80924580ea006f89a926fe4e7ebe19253a21dc8b6f30e7ef869ca10a426349164a4b7ce27f02109ffd404ea937d4973434819678d457e120f9dfb51494d49ff69ff40a3af848c08c9f89db6e75427db5aea75f717e1f46e07baa70541fb419ed7090bbad495de12d186a71306818b1e85577792fad1b730e4f52985c2326af1cfe95d89cba013ad6dcb631a30483a58ee99f6f81a7fd5688de5698673aa8c8272023819556f4867554237d4cde1727c34b1611212a651727ffa622bb3cd41ca0a8ab28edc22363674a8f7e7f190fc2b1c50aecba5af8f1588c4a638b21293211d937180d5ec6d7964db16c9c3fc59f80d6cbcd5609c2eed8004fe24eccd505d0b7491df99b9798115938c1bf27e6f7e4038dcd9d0a7a1e2ab9558667d345887160599b51f3032d77ca5038be7fb25285d9aefbc1815d6c13d4a248162d4b6a54335557ba9e1b952cfc9815f9ba7c0657ac6de4b4c6dc76f59b46122ac0567666ce61b5d83005d12d9aa5b02654c979f281e1c74c5372374edc54a9591d19c9f4ca05f917fa73f5c9d709162182ad0e8534f5d167bebc1b17214b906e2ae022c95f8cfa23636f30cdfbe333b5d0216989b93be5f52f83e1493336efdde4cb73079031fb11992c70c81e093f0ebe0869ade94fa417453358d8fb282e47ddb0330c8ac1da9f492ce50db98f8150d2c96dd54c8fb07c6aa6dad0b1c83ed190226847df6c242ffa90b8d4e64df05b17c96491cc53d3f515181ff9018c6c05678b716253f39c13d34c014ea1885ca336cb0636ab1037462da120e27bd26a93f27f1e3ade89b1445f4ddd02c2a52d725aa6efcf7f4b428cf3ff7a4245570ad0ac308766ac3eb9c1d2b380b28354aa6b25b21a13468657df6ed11453271da4fdaaf8f19ba5735bbd67b18b6a5fa9088f4860cb1b65b1709abff1c8091e1675d761aaedc76a828f7ece9dd7b1a6aeef1608f09f9ad6a85795f89dd5cacaaf1538cf3135781fa20bf7d00175af822cc7048049cae5d7386bb07fa7ee733389f32011fe7b776c452696b3a5e98002eb0c9ae42981a0a0d8f766b5880b47d49764d080ec76669ae31857b6bf047b62a5b11d4c7161524360e803402a56edf37a2345d6fd93b9d14d823372b44a728ae5d711fd1454a207ed2de1fffa23cd679cc890a9ca84e71fe6a93028a4d289db0674feef60c3c085d723bd9827885aab9b6fa66f880fd27727708b1c37aef597c65990f653ba1e37105b20e093c18a135123c6339fa0be2c9db47b9f71d977f49a1ec702c33ea6d9b5afa6036e206806324e16062bba2949eecd12feb85a29710fa8adaa4d32213e13184c28b171256f1c5bb5c3ca826a4e538531462e123d09f8cc23d634574f43e206944ba49baa38edac135ad2056c3118b8a1a6a54ad03627e56d76039ba0a3cd645f1cdf3d01effab458cdd173f88c6f306bde23d1afee8acb3ac3c4691d45b58302eb83f40b4b8b63a8df049caedd2534931c45ed78354fbe83550fb1eb1f7edf6ec35bd0a15fa470ba1f93d8528722ccebd527740fc3bfa3bcb07546fb28b1e009410b107e39ccbc43647bb21502322c5718557be34d19d33327dce7b8498b3c08cf211988d67a050339fbf242d649cb37ae16dbace18a1abb7301910374ff1bed321299571c8517d4653e7a45d343ce34270022e6cbe043433e204358377643cc4697c6417ac55166721d864e2509e3ebc9b7c76840fd20d9968c62cc933b641f977d8769704daffb184bf34562042f4ebebcad9815213d82b4c68260e78c032f791da25604594ad6aecce534bfea86cab09fa429c92a639959a223e0aa90f81873515d7fc1c846b8597f16321e8bfe6d1a59fe616b237cf21470e2f11464c13001ca3ee291ddeb18e5dac3ed9060915f7ae7aad2b2de6348a20cf59db0a7dba8bc0a00be558073422710f278495d31eafa5f777948c776e486260994a89e7916f1a3636d82ac5662614eb6af088407f7521439edf1cc0db17e87bfa547cc54a2d49cfd3d074c0ddd64a78c409181163cb0ecaeada0aa05ea3eb44420a30c9bbb6cf9507186e75707c2ba0368e11f290825d8bab98a32837a5ed95a494848a6adf44c57bfcc79b75322fe0aa9d794d556baae50cc64371f259f245d6b418090d1e06f905a25824252be69df2901ed65b49adda1e3147d5b9fe8e7c5a5054afab522e1d706c9b510678c6bc86573df30fab5223fa0610f23ed2c4d4149b4f88855e0e39c1cb3612165d7aab175b0bbc9cb1ded9babafdb88c8fa37acb655b3b6991f2514aac407de691cea21e877ce9ca26132db5eb92c4a360b2a035deaf33df25a28600777e54055df18f642448c22e2619e9ec4286a753ed60a9e5a2b0d89b583f259d058380477a92553d3d8f817ebaed6d1d0479d0c6c8f9325620e3c2daa087bde9369a1eb4d03acfdfcd7eca0df20382f84759f2c18c0131797cfc16c7e5af04ee81c57e300d8b3940d85739439dedabb1928c581e664acd01876dc87ebb6b2492ca6f781206503640ac1518371f55a1576e774feac9e9fde7c9f2655e7155870bdfae561f877a0daf73e0b208d2188521e6c164bb1c2374dfd467ebba621ad6dcf19eff138603a8631fe0d43d69707b18a08b54b494204d15703c99a6351f1c3e6a64e4b5336bd2d1d3a10150332521beca0e914d8e8b929384ad710befeff2fda03eab2fe2bbfa3b37915a90a671fc961c9129829d0475f2153e41535cdc252ac06743595dcf8c9bd77c544b2b3693badf1ffa91fe6d772142f02478693dc3532225c88947957faf6825480641ce3a3ef07abf457e4313bf7fc36223995b1d619c1754cbbf918e0b5871efad29b93c037ada732dcdbdf79075fda45f02b6e9ff13f115e061d1c74e6d6ab1c257ad2319940c14d6a3a87372bd332c6fe1852884f4bb760a19e533282d3fd65e5a0f1f6c388ef507842367ad2c7b56ca7711a919c2bd98d10a5ad8d765bf4eeb4197db017d5057159762d12ffe9c2f8fed4e2aa30762a4e651fa33ffebc9fe83c0d1078048cf0f4ecd2d40b778fa583fa00417f54173ab048796c122b42ebae4ac55341e598298145b8498811d8ed6d3259b3f26ba4b007f3069967def22cebafdac205ce8da49c902ff1e0bb64dedeb9e9ff3fdd75b9b4851f65c00187b452bc088f1a109837de0dd053748ffea68cf2804aaa887aef09689bc0eb892db3e732a424db55acb5de27d303fe13350ee313f7c7b1851e4e99bc029b971378449b2ab77dc78d4ebc95c7ca24d40ad6eb4e456bde17d7911ded53a09782d1a0d18fd1a4711fc2ac768c3e45a1ba08b93097c35b1b3a8c13d0069515d43b46d3801e6f7350dc7eeea44bbd21f7ec2018052ba1caa04ea409d6cb4d45a8743876f84c825fb30a6fb5754f98dbd200f59c9eef726cf8a565cbf7dd05dbab3b40731d53f81a850fe2c2ca56d3cff4954947586c0b57ded785cd7db6b2930d9a8f874039b46af9ce1b21559ba450a5fbbdcc9da3cbd5ae3027586d8733ddcb203ddc33d376cbe42dc8703fbb10def548ecbb9381c097def738a88d3a9c88215ccad55b0165b1c78dd4a9d4ff396b9a09fe39f954b83d3bd916efb243a8e650b29abbfb21cfcdab9898d40400db73c1065676eb644b97f9a1c3b53ada58078a783f60c0a3a39c4cf4ddf55d8708dbf8bd9750b4ad3936336d6a28713e64507fb3576485e638ccf1726301c57d59954c833b1119101f11c4e45421bc184966c1e5c4b0056f25abd224e0473cb583763792f5ac45c7f45039dad76c32c0af9f10bf14122c17207e30cbc5befd4d836993138f14193553397be1968a39a0dc236d79bf145439bbbe2608cb32ef4fc5c624d0d76954d3316ea1cf767b502be24086b8f6596cdd4fdeb6eeec3bebc69820afc106a945f7fcb44734e8816d12159772c9ad95e89fc5c2fbe9a7cfd5c2b7db08e4d93a695849c93fb5143d2576a9a15a6f7ab1005a94bcd10c2f103f972bd14c1af5cedc9434c53bf0de77c973c387cb3a1433e8d6bc1e65786a0a815128d75bc0e768bdb8f75765a52a45f18e7af3c10a144c69e1905cd37f60df370cd9dd46065c6d18e5d4034a28070bbc9a9ebb0d275d6264101fceeaac4fdab2592e033a91d1bb5dcb3c3d5bbf32c9624de7fe019713fe8c3ae16d8ace6b0009ac389ae4be4f62cb01397cfe45cfb8b981b1f0c7a9bcea9b9fd44eed086357b7cc3cfd62f704c046fd13603c0396cd18806048c3f6bb3e795a7cd80ed7d782f1dce3185c89810540cbcd2c6b4fcdada7d94062b0ab3250eb54ee68cbb765c0b7681e59d59f5e4574bb62534a24ef0aede9301541ff7f099d8616d886abf726ecf4b51aa26f287991e04c7dc0005182572dc61ececefe65dfba3c1102ebaf692ef261af22421c9235863362dc8fe8531d59fc6004803b85e506b6303c9d98d1a67f69ffd036dbcfc0945aee4949c14ac573309b1206af1f03f6860538e3402ce3b6f0510fe620b9d29bbb5eef84b02fee378853384e6d589021a9ed4e107fac67ab0c5c8a3cf0d32602616f7a4a8214d477de1733315eb1274c34882da76be27dc6f4a61bd0fdfcdfc7b787f7806095a5c4a134ae8b753b84ebfaebaea9f6e743c63abff68ff7a36bb66176f7943a0d50bef2f7ecef74c75ad879e8dddb12cc63c6b27a0d0f77a89ab254e2850c02a7da7ee41d1c8d7843ddadbeb2c837499710d494618f6b444d14f0fa4d836a6621e48d8701dedfd5126b61c11af06ad08f53ddbc46e05314a92530dffd3b7ad9f74c355a74251184e5de35c4ffe5d2af167b94a585a99865ad7e0748f3864e1634e1f158441a676478a6e89f9c356a64a1fa9b353c7e22dd30365bfaf46c59d826366d49a5b3b5a6e61666342b2690a347db8dcf46e387f283f553ec47bbfe6df3ff4c9c01bca9e4af3cbd0f3bc701bc4853952356bf5d7dbdbceec1d6c39b12f37c7dc683d83f2d0ec60482593cf7039520713925c165333e12f02f4cbfaec9efd4c719286c9a7b25ed5345021893278571fa543f234f575978b0e0ef6d31f2dcf5e4cd801a3927b6719664b07d80a1a99af26ddbf27d30c30c2d21ee43369af36a6d3be22e6d36da21690f5735ec69be113484f404882f7c1c997afa1987769b5d44f7f0fed427dab1f8bb323b805e64f266523e365aa05e6bf6615e0ff5a34f858de7378a61ca601754930d8190e2ede74f320289bb1b2b852b544ffb04f99eedc05e08a9ec3caeb422798a4cff345c37af834aa2fc572559cf2d5b897c297a19aa33e32ed767ad01d36f7fc2004f997589bbd90ace46614889c0d1d6acf5fa92df3e0f9528b311699837f2abfcd9e36957e854d5a6be129959986081f94071fc1c17cd5bd4ee940c54580ef84feaea2a7bce57b6ed4e4c17af1f89aaf53f0c07ad794281c03f9700b5a3229e4088fa77bc19a1e1216f0efb58052c3c363020cf7e1d421c09504d63c4beeca364f52c79149ec3bd3c5b27e8a3189382f8f9180863e2850ea7b5eb1a6c7c5b56d647313f4a58c6ccfd4bbf42c00c7922fc7e79f77c75d524a8b3e6b5099ff4c96ab4531621ba60f877d3203d6ce80540c7888c104edcb3a86f8d94db43314f5ab63c22c92d40c521cf28cff24bb19cb384d8fee64d32d1263677474dc27416ac7ecba5f2b6a980b11225c742e3bd2efce41178bfa7288d80c503df35251546560f88a64cabe2f5d682a2630a5aeed7bfd1e83710cc78242c789f75c44b3e6e3fce51787bb7aceb2f169f9c3a01e9dbe23a7137d11f45f218896badf4394ff9ed845d13145a46b7452a4fcf0a82bf8f7045691fba9ad099aa6b7170fec2795c391ef4161cd57b0278a63f669cdb276af70a1a33f27eba3c74b8f6bdd26d28a5638e708e6d53eecf084774a866995de847919600ffb2b0e453d47536e770fa3a8a907c69d3a9bd535e78c2cdf3478fc80c46433b7db23b1bf115ac9a28a3db4e346cb3ff16a0de5c17dbaa4abfb9e40aaae737810f685c1b68d7290ae744e49bee0d6d6190d53f29fcf24a16fd28c5405b4cd0e9ccdf54d8ef8e0b4ce82e348f50ed638585efd81bb0c38911794d5be8f51143d7bc8083aff893acd0a7a5cae3bc01187ac57228b3cf24e7fff5da734118181020794d30e4def8264b767686f10cb786697610838c493dc69993aad304d4d67f28207c507ce231d71e42108e7d915a758f4cf27f9b25212d3ed12e00eeef7dd1d81c6b65a210d34d9e291ff796516ed721d98da2c442dd3439262a22c6d116e67ba2e4115e401820f28bd8b0b1eb858db345d6f77e915d391f3b43ec040bcf19157be687cc2dd3e554c22eefbefa9ac39712e384c5bab4b1d5b2d8458d36b4dea4ea745cde1cd0fc56a7e93e4ee9d289ac9b3a6a41c273e8b2ba6ca46a8f581ba92cac8c0f294b8deb490f67d213482dbfebf3f944b83878da180942a6cb7e3aeca2960c74fd478e7dde135d440dececa7192a896c6d757e07b5a9005134eacfc3913441563e3da140a9980e742c621f4421ed64d8ea1f990ca3edc30d02a420999eb64391698f3e8bd3a53e793ef6600a1d81b9c5ae3cb4dca71e0ad974628adbf801bf978a7d8e95ff6e28f4c06f87676e6fff9c44bddb95e36f5d97b59e3417d1969c0e82816837969cdcd097fbbd29ca2f4ffde283fefadeadaca682d84b4c3dabef8499408d62a3987232e6a5735bf42323419c4019a656149667f185e3cff0efca7f4a500ad7fa696945c443201c5a81848b781bcd77014c8db4e76018f0ffde48d2b5fe76df7f43654994b7c781a330eaeb51ef1bb6c9ac7e542a9dffdd9b786c90be108ca36eb57d292cf00e512f895b2315da2eae5ad271af8ae51bd8b09c3a4c5a09f520b1f91b0540f78ac2727af21ac7f4da9a433fdef0425563d3c83ff4f5cb9222aa69f78ad9201f470773e50dbac433c0e55aebfdab67cf536f0a01eba1fa022a54dfcee0fbf963260adb2af35cb41df5f1bd4b98f33c6d06aef8a0920bf6fe2ae3eff1008b9e1d2895a4faa4a4e2d57366c24406309ebe23205c47e232e9743e3d5d805041f405971ebcecf0b753e6a288c2eafd82f95d27c81bdff353d01023896d90047becfb70c72cd62ea3c0473eba69b846b83866a875014985fab129be3c9333629c38009d0bd90b8ff313b16c22426f24b9a11f298196de4edd34db5d11879176372f26db8fd39f8c434019a50c63e5e3547ce6d9eb7329f0b0bfd4d1463692a49d032c09d071c4bbee0883b46d89d41ba0ac5262701c178620606b460a13133bc074c37e3383026084420efc2ea5d975f0c97f83f753b2879c2f9bf2fb2b9c2ff8496c3daae499c45ffd0c9ba10e29dd94f538958d3318eada99e05ca0a2ea0bd1fcfbabc4fdf37bf4a0eaf283109518607d98845fd558d2eb4db14c1fcf284117595f97c098f129e734d3d5ecf10e10193a7650300694864df5c54edcfb60520fc86551efe379faf991f2ea794a8b98327f40b3b3903f584fbb1fa1679c92206cb796fcf6e89a49c6d33e48ba9092e6b426d064f40d35b564f29d4cf7c9918574873d1d64df08a1864b1a076ef5e18f789b99f7848d9548a2f18fdb257dcdbc1d56050d87ccb6565b5371e5777c3d5ece31bd786a046e30667ad5c104e8e14ed78697509517b67329f5c85225aef1780e5cbfdd37bc9f8d6b51ba77eaacb0a12d0ad5fdf8a0f5ccf44b6620e775ea93a2b17d82c77821cdd6fc818d63daf66ab2d7c4b01bfa0fa7db33e9bee8921a09cf0acae0da44e15101c2a8fbe96c0d6a073e9d1abdf7dd39614ac736ae952dfbb7de393b8217acd363580407fbb954f1f63764072d3ce662bc03b8cf54aadb2d04d9472c6a6903a07a51f18e15f6d149998fb327c527fe6e7c96e61f36a6bfe20f1e349d02e3460bac2fd8e9f90fae2b8b194f22eac378e61defdccb86639ec778b98fae9349ebb4c0e1c65fa1018be1d77cb6870b12f02321f79c5f85410f89cb13d05d9a432a561f677de06844f1b4864adc29ca625776a7530e2e56c8a0dab073673c86a6076505457546af507d8efefdcb858500766bad4aba2786d9c70964bc8c5256f3dfe5468d147ab1ea7c4b5182f71eeb31449154591c74faa6fc8618e85dd5af07ce9c58ff4e6e48628de578af6802e5ffdc771bc073c5e15edd91ebd4d48742a237d8772701b2f2b99434898151a27ecf4f519ad025b1d85a464f718cc2e3ca5465931ac755b8bba8a71d35ad362bfe781f99607158c09d762408b42a463ba8a52ba7b4c434ff4fe0b7e062284c92b0db57c367e0eb4380382d4295dfc2f3dd06d907ead45ec21d94b2a7456e839f8f4b2fafa325875031eaa630337bdda02e3ca506e334cddb190fc91f543a30ec34b0161abaa0440e59a7d7b4d33bcbe785d239ec4858ab2d6e0d0e9b74436733ae4e5b40775deb18408a6d7e67b5eed995e2a9ab225e2c92cac057f210167f01c746b7c977efac9dda21ac53279c75ac251d25a25b3bc79b7ec339f3bf473b18cc9da6f637e7291bfb19b53c208ab89e49721dbfc9cc3b4c3391c816245b5da9a5f76633aa16f1b1a98aed372c38673e2946a0275bf94e8102a5d5c9d40fea40014b88dcce49a64298a298c445ac7a5036a56211bb649af507c7c617961132f9e21f8afe67b26607be1270c561ba4e5023d96fb531479a3b6685b24293f1d247a8517c629bec1ee594c3110637e13410f42ff88771ea611f54038b6f4f7516331c3b1f24cdeff512ad725327cd21a808230bdb2e76839637a23a3d74af84951cb1ea3515dfce352d083259f71707ef20000302af3f345f38f78dc25caec935ebbb9de8fc7bfc29e629863741fbaa3526d9bdb2d6c5831ee54696922841000434597889d405a47369d2f4ff7390856eb9653aa062ea8a0ac50fcc9104544dbdfb17c22ba06650c0e367dbb69ecef8ef86592904f2bec25d5dad893dd04de105d61237a49ae24e2ca753ddda2de1e475c5e2a30dfd3a40355214ef5780d139a6ed74e0ef8daa808c03fb82a3cd40867550587be2bb4442fce32721bc74ea7573c20685b974d35aa789525893fdbfbdad86e34bbd6db616fdf09b48efa1945f548e6756cabbe106a10260658a7c6a320751ff28dda8fb1bce9d623b02f068829f89b6ac118948c230eff722f3ba0fcfcd33806138b118ceb0e583d4a8094ec5c381052ae90766d1983193f67ca611b2ae20ffc556bf107d1f9585f01aa6e3b9aab59102926529ae007110b233a4c415a66cde2f7568ebac1d5b8541ffa4abe6e2ce160d533f36bd1ab6079a3fed3121257f6c7bc46684e14a775bd33859a0c6924d09c9b9fe95b1e6b83c48e770ae2b0d2183679ce319de414405f3cd0bf1eb7192d6df4339fefd373a297eb58296189aafd8cb4a330caffafe51ca758d8905d0e7c486373682705cb65c06e5b4251ff793bb97bdceb038845635ac9c616b742297718314cc8f95218c1a4218258b8df591c36d14d50804704862b887fcb6513a73cb82852272e372cc1764376c533cd37321f220bad35a2586b1590f6d020f69df62e9980e123aa8241bc2f4a55ec56a7d244b3443edc5727a7d7d182596d979ea32998666ec418c4446d8952fcc462e0fe98b2a8cd1ab3aa5f518c29959c412f8b22da8ab360858c51a5e189d82e205111174362b189603a07fdc931b55920aec8deb7e08c957e7dad82b210ba2364edda66e3e5748bc3c8769b09111e66c39997d31ff30fe60249a8d103253d0664e4faef0f92b0584dd052b0d47e18aa742d90a6176894d7e9975940794a70818f7020df77c416c34e61f471459ff4ce8d0b3287eaa6c853e9be8f902a0b88edbed4b0c1296a27ce16dd3821a3e82310e2cf6c53b943bd3bb466c1126855f2d607a6e73af9aab39ad82da1962474effc6b22263492727828cbe24f2c931ca8e1c8585a275156d615d634f3e8398d23d132ab53fd44ae0ace670da67f3c45fca8225a34a76389b0e1d06b1f206c098a52575ba8b7a2b1ad512263cdb828462ad6911fac698d3e6ad53f4fd087f2b6ee8c9e48da6b37c3d801df9d48310e6a6793a83b39a566f6ad4ec093fc374c795e38f0399432c3a331288a1f8f35a08041c532dc3d11c14943c8380b5d9002725121544c3b9030b02a2e45db22e35b19b3e8e24030b3ec440d566846121e55e497e473fae88db26c2c5fce67a93a243244d940471b0f58c775916d09eaa8ab1717fea13a7528ffe67ae23b12c79fa7cce2d2ce23a0e15596e058a2e23be1968602619d3434d21e11c357af33dc89964d3e159c7625154128222aade7b5dcc7316d1622451a51a1f018a69c2ff22a9e697de3baae7989b2261b55de03f61dc2612fd17271ffe006916a89157984049ff87bddf10599396cfb0a74918ad6221f2b53017e1c567129d01259dd61002260667b971f7a04a1a57a346f4277efba85195f8762ab816ba54afd5d1f520c0e36327464ca2c45199fb11ba1a963efaf01b3c9da2e42660409c082e9acd4da162ac3be4c1d3a81ace3b0ace6e71867bab265f838e862f03d3db0a30ce8302ec037b01491c0b57a23ad7ab8c02b33d9324e7775524ea01004f8013ada3ef281ba013870573ace7ef68f6c15d7efad29a20d8737f6f478f60f98e7bf4f682f5af8a23e16367520f15df2fa7ba002e45618b314100fabcef396068c85143bc4dde7576ce9428375ee3191dec7544609b0d46a5300443ab78eb21cbd09fbe64b575dd73b2525c6891c957e6337b295dd17ae6e902beaaa23adb6a64db5ee0b90c1b9b074f08ae4f9cb2f1ae48b7898e4f532ed620b8c99f6aad959bc66ec5bba479bfe302bcf8f03f11fb8969050893baa22887560d383e7cd7a6ffcac3697efbf14e9b22ec4a732b4ae0eccadcf239694a0d324783984a3fb495efe9465591a56590006d9f78d95879e5c9cc1ad368de4e54232948fb2bdc66f9cf4ac2c90313e8d9733c6e45b6b09164a20d988ee272c4ae70fc0f776f9742b7a5818d692a392ea8aa376e34b0b280c61877a4a4fa52d15d82666900853cee7573cec8287d10f67e4f840034d112d6412efe8a7490817c16ad9c5bdbcd3efdcc065b38df180727ebea488690626396aa50158fab7bbbd745fc8075472ec497893315ca23bb2489bff26f25d714f707ec6fdb1a910946a51967a6d328cc12fb84fcef27cd1d96b079970b4797bf7399efce3132198ea828bbc2b64e06dd0a93cba74caac3536e903dbc7037691148b8b1499191c039813748b39876771076b638468c598b834954b9be5a57bf67c88e32c0727a7979bed7a3ad00fa794e66e8ce6ecdb8af293c6e5179a6d332667e22401370f0fac39b1832f94e602f6f1da992e52ac79c7bc718425a3bb2251673c95d18521c4a59c285454f8a0bb774849278c69de7bda5d90ac04b8d53077f348175de5e3fed7b09d911e991e15c13fff881607435c1873d8806ec9894726c92968a7052be3f2e3eb48b0d047effe3aa78a30274ed46ed9ee8b4112a8666d4a2e02bdd860b3b29a43c7e38bace4d26f3349f21cf766eda621e5b849bd93ecd8cccd738bf4484f7ee1e6fe18d9ff979440c70fc408491c1093defae95f2db9d950eef134991616a6143e0ab4084f34bfcb2c29bb3b0ff13dc91b46254c9f234d9a5b6bf4647cadfd0ba52f60ba5c9ffaa3d17da968c894ff2fa38df4d3fed6b556eef57c22c5008a374d1096631dc07f7b7bb87fce0bffc9e3757f358e63e3559d34547da5b629d8528aa34356284236d643e566890a9fb7a564acf03a355edf30b7e902ecbb7d16df8fd1f7f0941cc3173442cf649092539985fe9fdf44a33fe6631bea40761c5f36bb9566c212aa14c4b7a7523d0629e278881c5e63e9fc5cef230ecee5f76e9fc1b31393ce7222b19b99891e27da8ac1f59fb34291b2038e862575d94c63b5a8c97a82ae0a877b1272096fff8888c553f50459cbbec2527aca0620ec6bd25be5f637fe8c6bbf4b11190956d7237eb656028ee37a8b2f602d4b99721bcd5215b85c79715219d4f603a1d15bbf7ab38e50141cebc3ea9bd0587747388a5d88e7d961a2c9a895e94324aa9c9c9555393d697f3d4598d37cb96b25895c05feb2ea73bb79518c845b69e843fd34740dfa254fc5fee0ddf610490647508fc7c02b1b54947cfc0499520e7a4b569438116baf2215d9694df2e5c282d50f4a96b25d13dd446794acc565524e04651129e6db9acd6400d8a88180a90bf21178ae71d964be667166a75af2aa16558d068f0812f05a4f87c481fb08dcf9fbdc96b3b6d2b15df298b6faf52d917638af1f9db0368faad3aaa2f424227d21d1cbb7732209a37c25a15656584955c65b5265d2dc383da20ba28e34118a350d7dd747ad4391618020c17fe498607fb2e53149d61052171442e8d1af15e065e34c87584fb8a1160b55da57875c9adbc76f5533cde101060857c24d3b2ccbe5bf49fb66a21033f952cd2f2a094f7187e7a8a20b6d7449e6edb916a2f274d0386d37bb48edd5181bbd6ee573c491f76b4add3ef6a243fb7842aa62ea0d05aef76afa9b8be4d693d0d144c562e9aaadf5ed947829ace397b26a053cd9edc7503308d0f3eac579dd73e0d819d74324c001faa1e4b35ac3e80aad3ceb6dfb69a06bd704676d701e484ab6b67adae0d4606c38cf565935803a7eb2351ac4fd61bb0b8854f016ee0047252c8be37a17ea362a2969ea9ad229a5c84b92897edeb28a31f17424a694e1218ba6deac3cf4130167a3b3ae699a0a57d1274b86a496027097bb4cbb19174339e3fd5a43f90ba7f7b4bc4c21d6409639809891be03adcbf609d88c672b1ca5c02826c1b4831801ac9b9597aa13db51634fa2f3c98c26aa75af48997310f95bc7778b3e74df528d78aa4ee98f1ad28d2501f0f497b8af8bd3102827f68e7b01196d59bd6b9def8a1dec0a261c80fbb3581e0554319b120af58ad1d0567ef298f14cb47a587327ca96f2815b38f1a53cd6718ac3af62485f08c6bc2a4c8a827ac2b9efddd342d16abaa9471d9fce5f799ab659d3bddf6c80f4901ff9567174732da6b568b3aa3163d42b1b29736e938115d85ed582acb3334764252984588d0ca3524124f90f8f5474cf98081203122bc34c39314ca35f04419df1be52b9ebde434511180975235652de0f1883080eba0dca3d71eb906a7cacbcdc92311f6bce4d231e2c3898edc3b425cdbf31d82cc76ede6a0d367afa721ab87c8b0c7b912fecea739996f28de47ccf1fb0ed569ec45d08bf2a9a2d5d31e5e4b94ca1a3b5b92d3876c1bf61cf74fe7e43a37b0200b824561793feb4a93a5b4f85e75695891bde14f14ebd31756f0bd95fbcea0da5938f0f022b33b3fba97a0372d4271061c4ef01068bc2a6d910b5edfe78329b4e2cd1624b2eb7b5579db2d552556ec91b4b45d80ceef101905cd811b4df26674642868c1b9e23b449761712d4c2f68844b9ea32b51d2ae55123d84f9d3507f0e8a0abb2699945b6017f1de6c0c5f3c4fafa2d28b4fb1f08662353fe09f34a1f3efdfd11dcdf26a09ba7df6437aa9f0d34b01c9964c238e305d2c19f9e946394fa7ca71d78e641308b232afd4a8176cdd3c975cb692c71870aeff21d2ca37dd952f2118a98f7b3e1cfb6a18f6cf068b8482065382ccb85a5179f2a028b1c37c91f509d42faeb46c867bc121e693443ae9a13e6d0efdad2cabc19ec0408d1cc5d43a5bf1f88bf2a0e6a818835f9d59a7bbe38656da87978cb18750fec2fe68b9f68a3b47d6574f3ae4cbe0dc288b04ca0322d2d1aea2436ee053e3b6b8fd47fc820846c8f02d67ffdf994ffda370045904ff1d623a00f3549c6854b39a2280240d970c2ca77c82b5bdfd469c07ed07474bdf98f86a7fb4af5671c1b6c3ba1ba5e3c5bb992a08cbc366086a82475f03726421ff2f21af7500337f8c302bacff57f08efe6e4714b01740941b9562b60e29f45547f4e710b94068208817292b0d594f52b706de69e7626aa57fca76717be5e75312b130332a1d3802fcc4659baaffcfbc84f864f9183b48c2c8433a0279898d3c322a4680cce075bf7c2321432503c239c9cf6ab327b0c6c68a8298042e6d76d4db134fd5c30b21fbfd80f58e62c0e2e06b886b99a4c733b85a4c6114fa5281af8f216e893f90d6b96a8ed96a3a0ebde87b5365bae5809e501f7326eeac0f117fdd6af31a1e4611e4595069287a4331e73c7584065d9f93d30a8fed0b92a8e611c1abe9531a744056cd6d576ed43f0634d92f3bc170f04b1afc3d9a21e1ca0f27a2d92552f0f6138cbad014bf5197784eeb548e00100b83ad2d4876324029b0fb92b8a2323f7bdd41161169bf913309703838b422af3e21a367a8f199d2177a7f674ab743029361e47d3aed9d32f0ec96526840a9e37e49c2a26babe1e7719cd057020828045c440de11d1872e906602c6d9ade2254155c202eb677dc783693cad49afecdc386d39d2a8d16dffbc5d3284a241ae58eb351266cdca6ada2022e111a67cba2ab57f47e2df289d8ec869f168841414057f0764215e12ea98361c772259430144f83742d23037220f3be12d107c51c946536d5373fd9d179ef0cb43b16521114cc91a9f22a988d0c77364810d433a0baa27335aa0075486838324aa66223934020a698a048c5d67d5fc4fb26ed05682a2484c3c4caa5da2c7618babba00921895268f49b4b3746b203808c437e8a6233e34ea65b0e274f89ef86fbf97cc38ec9d18f763abea62e62a43f952d28646a7c90ec71e9a61be78380051c7734132988e143c33de01be75ed11879a3eb30beb22a34b92caa2eba842a07ea91fc2f6eafb5faed42c5edfe7491ab49df60e9a32efd84d9efb518efcad7282e8ed9210ebe0c65a1b54ed3d463c09fe41d207cc14a2e74417ce67f73bad6eb118c4ed8f658be9ba04818b6bc55dd64bcfa08bfc0f0c1285824aaa6bde43f94ddef51f8943af1a725875c7026b41efd6a740483a4c29203f80c6cfdee43b9d1b18f02bcc6f8c4e1d96470bbc1a40a591c14f4eb3a9df046d10141a4844cd17ea611d669181fed32104e85998156f8a546e5fb3c6764e4dff57259495649effc3ab2043952f12604efcd186e67dcaf8aee75d6e65eb903205f2141d59b77ae4026f93525c6c730be8d095f4d1d0c399963b74cb9d378f4670274215340c3d28680ff1d1e5c610901843bf60eecf6525d2b38e533f565a6f7afc54d085e7d9c67f30b8a6c56b354fa32016b4a73ed5cb0ec560b3ae178368920a5d1905eeda2523bae8f612f43b8f1179f15769c97baaf0943fee873e3613244dd028d7d54336a49a546b50fdca545327ac701af3d046d74e57153d3f04469add8964c978e88edd8215a6735b385a935fcfb7ca8a2cea2378078d71f4f59a893079ee50ab6c5f0d2f4aa16c7af988b01c3764352db6ee99f6c81bfce75dcd3174100aaefe733e1c00259dfa0769c24f93eb1d55dd4cb02b1ecac761d17a7c89653ea17a27d23a1c370b6305ab1f706e05337049588a2063a0cf6c2d79e7d05bf6fdf8c9ef29a1247b2bd57b10540bfe482b30338cc20cf18e37eb650ff00ab48054dec8cc0974802538a751277701585e5ef27513b12483b7fae7019d70d3e59214c884c62bbdef4517c7eae24958fb8f7408a7988c7940bbbaa02f88b6b54063fbac1eea6cc1c6e24580648015e65907cea50445eb6d6374867665031918e7489247b76be64fd80cdc9e262f608c334328e67ce6ab3e4a74ca7a268df9b97c3e16d2a2f468b8605b4bf01c54ab44a6e5affa63c3d33fa8931e10508e2eca154ecbbdcfedb5eb43f91b8b39521e666892c317e2cbdba8ff58fd532ee8e57a2ab7768aa57a3cacfb89299d651e5cdf7e233cf919d601b518a40aee2e2fcfdd0e269004e38080c8ed41148a2144c188fcce5bc8d122474f06f9c171e42e91ed16d430419c3b3e5817ee91c67f4fa45c7179e34dba2868b46462746b22d7f52a1d388ed254650d0d7a0d79c0a50fb1bbdc652682ee4896c5a366b895f53d8d384cde9b9bdcdf9bde9c3cb13181e8fb7ccf18f39f70d1f9b7d848dbcb53a7dd3306c7a71ae76118d3380ea4a9109fd1fbc15e1f8ebdcc46e449550d0b96e7a85ae71ed1a3c0e39bd855e931d63019c18e043ec0bf1bec1597d787f883abd8cc8313d45843a1131d84605f8c7a4f993ba408923760fae3e5a9486f302059e29ed5f08742e545a383e623720d6505303919de4342e051113d22ebd878a99d4805a7b88bda98ed9ec734322e782dadf0fcae25558bd7b9b66eb8d06286ff2bda6cd72074923a9f9d9b8a680b6e461cd0ec033c658738995980515ebc99c92a0c90bb92fc415cf3041dc8b34441ee44b70e6688972015cc305fa3f2633988918d5cbae68fcf2dd8ee50b6ee01a6a1aec4ce9d898bcb860333a93a0d70d9207d0ee38867216147a8d9ee899312674f56e144dbd04c55b579c0269142c4bec5122f8deac3b406c14a5e7a09a0b77bb82748a5fbcc0ccf55ad4b347c389f1ae5e494748e928901345caac53f416cab689aa138463d5bfb84a6bc8ec68becb3a9efd6df3959ea74b1fcb5672a7c8cec6cbbd9d9f43886baac9ee754017dd4714e295ff6eb8090bbd0e19f1fc17e63285fd8f7c376a789901697dc01023e623b379f0d4c6de2cef7101c805426769888b01b147725e34864aaed1bda1116e86f723b909f71a6d3ee40b9038d8f22943c7ed6392767a04fc3c36b0f9076dd8218a46928ae69b08439caeabcfa0b155e3d28a7bb9a59ae289d1113d2406ea56c4dcaf62790c8f2e31762c42992adafec4ba27ef3178e13ef6dc31eddb56e6d6b3bd8aa2d9796112b3d06500338d4685537feff8766e7563f342f75e20ce6b15e5036654b67bf14ef588d3f6ba9a04722e68fba3c71fb96f10b54f07521650713e126c44e1f256ad0843885011897345cb9792212cab178bf33f2c1e003b6cf78af18af3d1400191b18172d88c20d0e2e5cbbea3064f216ecc8f631ab8c99241c1c2bf08999a0707b0be2b2a438aaff156ec92fa6f8ef1cad1891b751f7bc47a6596b54d6fc3ec47a13c32a43647a32d68dae89635422346ea6e8fac45ca76faf1f481cccc4f29e48e9a206784f731fdec996d625585821656e4aea814c95a48c326cfff6142dca46b7cab908665ceaaf378fe7d48d08b8d751404c829779bd8189235e41d82114ab6ccb20ed045ce4b268efb84c59277b0abcb7b2842a31b7fcedefd11e2ea5fb63d6a3b0e59983a389e9c93995d50faf943f9ddf1e5c37c692bec7196bcd0be18f934dfa867342730ecc7b63980943d92668048a147613873a67065086761fb3a2a94058ba19c3ebbc5349a1d58e2fdbbcc6aa50d4f425c6c87940da6907dcf543a6283883c6296d713e5c364385a67dc3780dc3eedd3ae67c6c4965ffbc35927e56108618e44f80fe98471d514449f0abe8dba1fc95071af632517e4fb69a7c365678df7c5b71e00378c33b5b13068b3982b16ad94284988169fe6ad27c4124adbe983b53d9d2f1ac26f0dda50165fcdd7b6836a0b636a038dae033309844285790a3febad3dd7cf6974b3f8237b3f2b243ec7294b842a2d3cf7a6b6a1ca131ac480d229fe7df7210f73a7da113ade70f64090061cbd5761530bbce599f9ad1a88a91b41bf9f9c1b9c85b76d4897e422d73be9e3686b643dcbb5fc99ee9b6e52edc517aa5048d539cdfe39f633165ccdd7b9f38d4bdace0114bf25b198a216d8c5f76856cb696436fc4abda132dbcb134ac404408b4baa094879eb988e67093f0b87921708b6a3a3bdc268b28dfeac89d237e47ebc3e4c07852e2c1938b8167d7bc9dc20e367e8e5ceb8e61d47470da6af4907386acd0f9ca25a0d81de871368f46c5c16d1e9160e940934caeffdc2bd63d16c6c01f9bd363313cbef15751fa5e3ba85cdcab4cedaaf78209e72db2f8d4ab84d7c029cfc9afb9a1e1c418b58a8e22f7228606bcd069fdb98cff182c7b06d5069c140c9071fc05cbf5654c1a02d30ba6601a26c0a196c49d714d925841a95e82307f52f868f279537f33a258a1335380e750d87559d0365c99fbfde307d446f08f396b2a03ee7bf04a07290a49d5351577077803a97bae5a5d66dc9fb61b22ce13fd328cd78292573aba5513eaa778a52c555750be269ba2dc7b498c6fea11c6c631f5e32748903f3ddce85e10586313c4c88be8f4028e172ac6a138e5f90cd8263eae40ad6d6d6c3b08771fcb968b43b5c571921667a7a57f905f45106455e3861eb079e78380e9ae7fc7ee52e9d6efce2d33fa2ea38e1bd4dc6dc4f421874d5327049d528b87975bce3b136c2ddfe9c38f85a05b0984ad92843b4868aeef7cff7c039a73a795360c24ca4f424cec998e13df04184e9d4237a5679a1b7642cc46de25c7823fef55c1bd271ea7c7fb56e4401a35381bdf2baf712d34ced303c64d638ac41af6d530de66b8bbaf4c4c2e53ee44b8ddd4c62cd9a2e62f87cf6672d8b08c5f18f905acad876b0195e0229abce7973b7bdf6d6bc5fca2c91f402b818ee2cfd39e8886314b99e84f8c71b714353fb2d4953fd363c982155efae314657537c17bde1523a53032f165d8f59bbcf7dcef574bd235f8f038030364d244886c54f4e184162bae4c2426d3df1d6769cac989116164a03ee334c588f25251dd17a0ee827296aa6c754492302035df26c7b78f2930db4202d1d741420480c0770dd11d7fd9d960e9242772c23903b172ed26c469ab6d81ee3de14eaab316754162a3df2484f32a752901c3bf878ae06807b56295b935641dd044eb505b873e9a1b8768caff80cd803a7bb1f77e3b4e68742c4d9539d4444e2c6c5a9301c75e7ce942c7593d9bb813e4d08d6398f7ca92311d787fcd4f1651cd84eb4a9e64c7e28a9d77b7d9f9122eb3be8ab22556a8a34b799fcd01553256a6aa2aa0458c029d634ade15da5a7328703a6d11c89fd4abe837ab57a142601b05d291e251a5a13afe614ee11ca0fa3da1ffd6c929fa8f661fd50c47d2731bd7ebd3be3a38e56eef5e72c2d3db25f5467d770163b09671f2b2c317c722ce0677ffd6bf21cf5af3267e4aad90210bf590e208a5c2817a77be33608665952321ff8b582f26ec5505d668c9cb04007a3c850eaa20c324e934bf0f3f8091c0d06480ec31352aa45cf32616f51e0aaff71a9714e840a51ae8632145d92dad893efd2a753c9ddeebd2d44f7d3895201e61b3bdb66af331c144776984330c50eadef66173be6ff792243ba0c1a976ebbafa519c734d321ae12397af8f540fb43af4ba7e80006aa3b54000cdd6eac56ccda1d86575c758e3a6460a43c7ae61e34a07bdb87e8ec3729875c0bf9a765ef980102091d954396c28dac832753f8da81599d764bfc48f14ed3bce816a1e73f76161dc1c91f62ae78d6492da96bdd6dbfb4a127ac94638399dedfb3c87415968146ef030cb2de7683cf7e22eca9649c6e52d00e72b6d816e9774d28cb9e5f766c7cc41095a5608edc976d8b0ee7bc3c186fa2623176595682395f1cd2ffa5a70361e5b4737db1709c989cecd0d3a5d33ba92c9289f360ffb9ff564eb48d19114a2b062d5364e574f33b61993ecff54b5587148dad6e4877e17f442e8866187ff0e0dd7c9b2edd86876038392d6086508349965192cc4b58812196e323518b314d76bc1a01eb154f5f4cefaff11d8b5300e63e8c593cadb387861da2ac045a29bd0f18dd0e6173aeee54dd5d897da38569a2f4d092cb9e2e31529d3fcd845ba0d4e8dd6801e078501481610c42bc6e91cff6ff781898b313a59bc7eafeef8bf238c33a9d135d372071837e3e6689d89c64daed7daba159b5911985199dc56deac7e99e39decd58845b831e55f6725cff13472194f4eea6a7832af1c6d1f8844995b3d28a607490f1f90340258f7ff1e611e94242421f2fca202680a1297792f9120fe66a14f0bad1916117e1725874550b5977342209e3209960f8fc132d759079b785afa2137300f090307953d74df5d5dc8f08a0b9aedc6f9836261916c9e15e3bfcaf29029ceb1383e1614e25c19d44a07d3ff7cc9b260823f9e44d0271ccdd5f1a83a04198a5c4ced7b7797fe592da2921562e2e72237801ffe86d502a5d77b116cdca9f32dbbb23656690bb662ae08fea0353ace7479eb87e4b93445b22e4a940c23a867f8e1c8a5416a67551ce78102a4c2965567469e2922667c6223290f819a3c748b79e5940dcf3da264edec3561eed5eafb56808f060c3e8164fe53ea5e4c1e9e91e153580fee8722fd9c5bb7f2b3fe405fbdbb0d1ddea27805f6f5e9d746210ad45ec24be877116c7487d5d2b63d7882844549903b7825ec926ba84f3b468f1426eeb929b3754b3228a0e44b772bb930f4829b3e6b133721174deb28aa9d7d6bea4e97b3b211c04e4b7880ed33267baac855c5383de3189c3d5f25701dbbc98fa5d3fe41249865ffff0d3e191def44c2d3ae1e879ea069cc9bcd4eb5ee6a4ffacd23cef8ba1bbb073c495077ea7e164c6b6013df0ad21cb202f763907db310b282532f6504d5e6197d3f7c354032358aa35e536b01ceef1a812a5988b5077dbd48aaf141f97e48ce9322ab6f6b33ed2bde01f3e3b86a244678f79a93fdffd6d778074ac2710b3b030b060767fac33894b674215ed47b63294780c7e878f1e4dcc1a2a6343d8ec631c18a1f627802045f0e95fd80d097edfb8178892bd60ea7f6c2a6a9952f29211b5bda9ae60de3c8e4c31e79a4e3034f9503827c2c6c1fa77c96aa6056c48c177b1ca15b166be4372c28416f7c8fd028c057566cabbd676500b163aea3e07d8da0cdcff866109d16aeb85938ef9525d897bd38bdeb302ea6da2674300bcb6986fb718fc967bb3de2b28f4223b88b02a41bf754ef3007580ff3a1fa8141ba9cf1081329dbb27dd73569dd0df4169884f7dcc98abf0869f5f8f70606562c89d73e028c98720f9d44adb9acaa8504a5c987bd730271f5dd867093ebcef2f1da499c38f01bfb38e9b2b883ef7f3efeb78285134f8309746e6b860e7166f79aa88d43b49d11d789698ec5b719fc836319660b194413747b9fe804f5c024d8d6515a732605f4b66a53b5ef133fbc35d40d279508b481705660ce82c8a59cff8cf7cec5f0a47167f3939bd88401d4d75b33c52c49dbb69be30e1acbe265bc574e5f6340be9eead5f577213ed344b51c068441ecca5588466eafc7c4ab23ae1b6e40904dc31b4760be2b8f8aaf2800e7fed06ebd96c589704bfd2cf4c1aa6dbe4c07db813dbde0ea3d13fcd2a34244d54a05d1a16a2330e5900aad6b2b76ac4198f988d88bfe64e1d2e7c992c3033dd6c9eeaa6067ff6753fb859c1f63153fdc0b42e8762389556b588fbb1385d84241d1de54ff652d2613ef1dfe7326d8a92ab8d117a256b738aca064035aadb2d89785e6b805730b7ad70d889a0b743287ab9d0142944260a2d85ff1fb6a17cbd8aece6b4d98414de21c898caa828959499a7fcde376a02f9d9b68671d234874462f9ffb95c8a34fdefb34eae5fb41e8f6b5f34c7dcf4f9d9adb66c93808ed1466c3af7db2510bac7589c482f7fd0c0c0baa666fef84de38730e3e8f0747c8003b1c36519118590bc70aeb6a63cdb8d938b47242b3019053b0635dae193c09f2e3dbb5284a66b3a2ffd404128bf697d2e73e7c25d783d85191213016d2733de7df49732c0931a838722c9fb59e9f95142670fbda398e74046692b81d25a71d2f0addf327ad66ef3f864b9124ca50587407b14e03d406b34003572ac502d0cdfc03f731c277e05df7a6f882adb4b4101174952255ae4094c8ce6a8a119e3ac42e07893f4abede72eccdb10f60cac8a30a1c77275e56f6ef56ada5ff18f2dece5351ca4b418f972ec484eefacacb2c0440f8843951693fb931bfbe39024b8440d0cfcf708cfe5199a490df036ce70b2277aaa5056d1e2ef99a795ce60cc578a2715d37340513f1412b50ab81535cc9bbe5ec2822422af132f723ca05c44921bc4a0fad1d9ee824fcae1820f34f4f3df3151674fede17c6b49e8cfd9b4a9eff52c99ddfeccf81cdbd7fb9651ec7c7f58b552c6caadb11300b7a9a61bf8766105b46dce00044fe43617f8b56b226fa13a3cde68e63ce7c0e274aac42243ef5b723cf0b66d8a43e6cdaa00d02f0533ed5c334e32f1dfd7dd9c02bd70e70765ba8a51befe23c75140d4c6e4856dc28f0e4c4157a2578a67a03e8a81c914349ec6c062f28d21d8ebe8d354272d0362c2c70e4f168a7cc08160664c22ceb433fa74c16c0649a81f6634311ff5070562d01cb1df18eff7beccb2e317a1c8ee112a54fdeba2e95a1954819fde797074351fe8859b0e35912890f4c383f039eff28c34d38d86b7312575b45f90428de102d447865caca9b61552e8eb73153583e1d4b471f2e9de879b46f70d090a2a38aff72aee0c829279b52c5817e3a06c767355237625f99a6e75e9f6124a7e1961f87fc24d1ee0a9a0996c0671a2d6fbfbcb6d4cb7410c23473e46d960fda3229912a3381d8092453725491bb9aac388c081605a9d9b7022101c85313e52f96d42d99d102ce2d8317b2d9d226ef957f402e5364bd02f3abf76332c9e7c0e1f495457e0e1658f5f33e90065ae009f0cc010ee2e59df5903cfedd69d64da869e942b19837ef2db7e5db16f4ea5bbf5cf7e3e16962148733708ae5b04c1d6f176a1fef8c6fd5fe12862da453daa5775981158f6502752a881c3eee3c9214488fde4195a9d6ff3666472034126e6ba8e9031d2b5fa1820686d8562e825f44279f725c3b387b57a75644acf7f3ca3eda19c985c169e42a4bd8f282153b0c68389a784a48ee703142a923a17939e9c26129908aaade6310dd3ae4af34718e199286f443260ead4fe800fed9928db65fe36bf360415834a9fad1dafb6054f2728dddd43d9b7fc86079c8b60b7051617867973d43ca398a8ccf80174c87ae9da5413da05c8b508a1200705f9031a944f6f29ea791eb3123cf4cb2896c0bd5eed7dda6f4fa985143b16f213d18466944c83e8f732c05caf81b2d67a5db26a88441d7349ad58fb0241c66b1f3262de5c8c1aab2704ff41103144b2b37a9d8f2bc72f76d90577a756e862392b7ed5bd230ebda557eea9963b1e124dddd5edc8992751fd8f4f84a339cbfaad300edbc6f7e76d7be598013bb276c527c7b38782e6625acf6e739068512d5a61f20ecf7cc7997d326fda4c8186b5bda565eeabc84e6419114ef39b9c86562dbe65e33b9d330019f6b12d36435861d31092819509aab2150efd52218413a2c40069151ecc7339a5cdf0ad3e7b17e5c705e12b9a5f9d8a170e3930cc057367c5ca6cff3716fed5f3f00a361762ff8673443ac8946a943012340c666bbb4936f7b7b5e057755f2c3e9d82f5efb54c258b359ec1fca3e93969f0a05c29f1c6f3199f4646c554ce4ab60f1032bb942f7a0f433611fff2e41c91dffe69922b917171a4c840b459e5a80d3cba7e8da3964d976ba6de1307e81cb61f2760eac48a3eb1cad854f2557162d52ac55246c93b5e1183664a93aab2602c594947d7fc1bb743b5322d7b045942d6807b660a7c7a20d3a9c402d12bce7c402c35ac9351062aaed1bae68cb10addef04fb71381d46e691e04446101eb4a4e2e2e6ac5a8829bdbd8d6148ca9918f33ee79f7f295906681eaf8fab314fa8181da485c0b3e80aaaa1f99522660880faa485570373cdc323484a51059f39e93f62207ecabb3c7ca2385ddf26692a2c641889b5e7ac0f7673973769611a288db6dfca843992e1eb1ade51947f8894a79f07457ea58ab34aea64fe9fc611ac758409c6ee0f9f8788884db838368901d51fc64437c619ef1f6aaa5ea5e40dc7ba07839f2db61d9b5a73eb40f978aa1bce02982ea33bfce2d6cca29f685a7b32ed57fc6fa8f0515778e954b3fc601e506154c908f82e3450052ed0f5f92c971065eb1505cd5fec6b8b6ccb334c716a404eddfc0a956fffb49dbd2082aa1123a4e4371169e316467df69c3107bdefe9be6cb497ca21fa0838d3a6db546cbe0e8f776588c710a77743604a3020dbdec82211bc0e2c3fc7792df97ce1f35b22f128ad24465711576189ba2d6bcb1d27d8ad526aab27f99e892a3a6f0846db439f9ba77812a6daa2ec67f1e541d04c29d267b5ae5a055ccb248fed66fb3265b2b5ce7be64a7366922206286c950fb8963127aaf933f1b47bb70f5370aaa9e083380fbf5a8d76f14e3464e9dc8a451190f03d130ca19e22055d520e5b02d763bad49eaf32335c717a1682602d95cd6ae210ec4bd89434759f7061eb9608380fff9585aa7f6150eba2a186ae5d39f8e2b550a3c48afde4b8532ee67d93c882393df9970ae4452e1d5be8b4a7118476864ab496c9e270f6e8f0d3967ef5cfadde5ec691a473692be3e95d693f5a3d2f2f0cf71c38d7d811191019a5ae4ff921a318abf8248ac9abf225130bd4d380e0aed80daffa6b8c731023109aeb674083b18037fcb7fa2aca707d05bf58f18f2e3aec4556bf1561c1c8a729d1b380540aecea58e50db5dd8951464a7d560366e9a8398ef660f09f47d96c849ed0522406ca176c2707867091ef319c552c488ddffd432e9a76be958f76669349116b6475f368486827041b449018e4827059d87b5f3941fb0cfbef4fef6b9775573ab31c67f5ea134d194c199fc9044b54a7ab51f68cb46ea706cf588f74405007626c4c64f5b1f07c7a4a12f6292d5d76fa1ec97c50848d04d2e571127a64c053605f3c14bc1112f110e5232f1c09a03fb119c5c2fd35d1f926ade3e27fa3f6471aa1470d7af7b0c43681eff21a8d7fe05110abe37a8ea652d3a37d17f3e8a2fec218453c3f03a5687af6720e92bd9e7393d7802e6b9c25c767c4be82e59c4a6e24c1bf57d4561c835a6ea9ceb1ee8da3fd43ba6d83c5753b7815b1d3474997aee086685c0eec880a39696f895abeaab5dcd1379e8d32ebcadb10bd0cb768a4c04706c3134fe87b472bb76d7093233615ed37efb8f1538f10d9251edad5d661b0c3ac1f0cbcf08ce0c54d46d7deb934a9f4538c46c2b048a1a88fac96f2010382762a2974897b7a6373ad60579c7964c62369a260751b774b3de15b729c92c18bc6725aa5c6de257dec32c426702a2b0ede011264448773c2487b0ae07fa62861533fcde0dd213402f47438b994532eb226052b97905183e224b1cef5904784b5ed22de83c902f1699af73f5cdf9df58af8a7bd8456cb5d1af85d3ecec500793d7de967803232c2df539220a590f6fa7336d65ae883fa8197ae8ef7224c748b4e5123e143c4fe07f5b7bd1851be77d7422500905b071be8939d811f9be07703f806610ccbb287befc05f13db64f47da7fac90aef9ed49d19a9973cdfeb2dc327648b48a7401dec1d8e9c1478db029d2d8c9ae1438683133e5b86b5e6d329b97a635e2258627244f010857e33a76d1dcdc5b73703ad0ebab96670bc35b3ba7d392c0e7284274ac3cbc413b0f4fbb05aad78521eb8466a72a5b4515e919a9e7ecc25c65256fcbe0cc9f7b663b899fec8c30f9d50005230d25c2c60c009d29d60c38ea03ed21df9ff6cf06f58103724fc86928f900c515f2f1df68792532f79ab200909ba865fbd48641517aab5099083d96f1a786a08bfd4c8632a293111d508fa4a0fcc37afde7a3d61ce18c71c77fb9653ce6f38585562dde07aa292152e0c514f5a6befc537deda5950d8ad0a3e069619f2a4b66ee2ab97fcee247364bbccd2020455a22ae14634ca5dcbb6c4b2c72f447b4a9c484ad768d01cc07dcafa8916533b13e7e666d3cf38cf89f6c7b5affdce02b38db675eff1e37b9940988cbe1de87f1b59eb9155100aa34f40df72fda9f983a5e584d4e5b8163cc101e827d1e403bb9e2a97041e807c10e2d0414ebd2518fb0f1d8b1f22bdd82228d3a98003185e2da2160a6a8154123d0f67fd95887a3f7a5e0a07b13dfa3a1dda1050960492295c31818bfb2f40082dcbef9ddc328ec5cacb380fc6c5faee315feb9eb6ef53cac4a51d9d58d123f08825de49b001a0ee905ee1e871e21aa247194447bbf32232d226f62ca636244302645b474c450e6371e847705cb268a20bf31b02027d3dec599f96c46ba9cbd6212eeaeae4669a26b678f89d5949b04c62d4c7683ad86ed2f365481ac127e4615c986e577284f546cddcffb0fefac73d0e2e9f536ad657fb097e94eadabef5c29d9345136c687cfe63a443a203aed991bae79e947591e4873c6fde2282496b9510a3eb3d274078ad2f0f77d66d6b0e20dcff38aa3af291b36ece2b43f803ad75e39262623a1c47169cf4835be22f3e8e492c205621f72758667aa73406fa38713af41eafcb118f79521223ba682d26e54549616f0abcf1b53b50ba9c4de1bdda9027f994c187f8d3969624d1d55c80ecabea0a951f75dc37586896094c82e9d5c95c8e8fa3028077e79f01605a28b3801fce85097b4b6a8f6396e696737690c8903a8ce07316bee44a920b3d10e1a9b110dfe2272277b4547bced3fff2bcabeb5d53f4e96738b9c445b2292ef71fb45636eaa02b61bdabf396ab35a6312f777d60b3a87a86911225d689b31068252c91752bc7c4275c442c8c60f279de9b8493e900ddd03f17864808876e7f689d01a62b3a2651616e07a775886dee0d30b306532de771809fd76b3231bab2fbc101b538953c11b3e38e8d30886bd4a093e1daf44a7d8ce73f4f06af56c714d67a5b3e7a4fad46019a9009a6f4a8251eb29629620a74b1705273a791f34391219dd90c2551723985881923ed6ae178d404d46d73cb97a65b1bf0826c6ec7d98769c5bbe4aaa37be3ac0f6a303a96519109acb755c234b07f37a21a6fa4f40b2586a35c800b0c60b54b007dd0a6a5c1ad0ad26a76b70e6c4c6a97359039301a2677740233a957d676b05b1f8d9e7601d795597f4ccc9cc9d45a34f973cf3a9dc144234c2ea33e468a312cb449844eb0b9b8cee25719a9a2a34faf1902148967696568cee9e6219bd814a1e15f7b6b22fcae4054f4aed1120d12e69152818426b3ed22e4ea11f67a023a75965cdaf486ae10063228320133034636e700e11492881a06d002cf4fd07f7ed627c5ed186f9c6f56cf2f91da5d44a6a3a0e48552363f15a4d1cddb445143fa5695a50b8e07ec18a9bf615f1bb95ab23bc4225c9cfef4b6bdb7f03d7298f9b58b75f99f188be61655224dc2deae356e857e7dcc29950fcf950139a7596da3ad1f3dccb1d7aa3db2f8696aff8c77a30e17936b26d2bdaea765280d17669739a7187564068a6128af9cb6669e944b2ba440d6184f1d69cb34aca9cdd2b45a6f262452dfd8c3a5e8077ffb1fde1258f4c9a298ab23085f69e861c7bce2763d5fdd53019e7b51114135b49a0ebb94fd058a55fb344fe7aafbedd44619891877922d4d5d91a6ce5dc6c4b173a164c8f86ef5f8e8f5a6504eb0b7162b73cb7dbd27a6680d509b104bfc82bff3f464ac0caa5620c94e457cff2fdb8f6b591badf6812d523fd1fbe144f0d3b4307f4da99437335cd2d116b3eea20103e303fd682fc1b84fa522d94249fdcf05a9103cf4bfb42eb44256d342d83ee63351a7ea5366d823fe1045e7f957ae29d44831af185a9fb114c1f7a2c70078b9508473d8d5823685287063e2bea347ef16b53b57c41b9a946c3acbd9a0cd79511f1604b783fd26db77eac978b4fe8b782dfff99d8dd324c81c38d4042478efdd9bebb7fcbc39a3411c8921c0cb2c6151d6b5ef8fb6525dba0d305ff00b69224dc13f2b13f84477feef37eaed1b1366f903ef5e9bf9ac05c8140040155a9dda20f078ab97143bef76475b51a43b6ca52b56d3279eff57eba83108b61df9a6e9d4d378fa014874823df3f20d4459b27b6c47b303e1c6ea02b681756ec8ad8f107e2c39b763d30493aafe8815d384c040c3a773a4652635913db4364d78b27320f1327983380c58f1b88b3f59b4e170d132cb9fea33c6a1d4fd6294e497bf4a2d940560ef505bd95aaf4c33795acbdd1cf3859f015baf652beb6b6736f6c60ae5d5aff5d8de830c7a05a246e9210939f07ef6d09261f0aa6efd02eebb5f95f5f9681fafee5031cb91d42bb21f2ae3b89ed9a99a216df123ef379793847699acf7d425b53eaac41d15961c606dbc515eb5aa3f1990acf9b1b2715373f2c49ba875395b04be46306659b1fceb4ab5f1587a842c63364c71a87a6c951cd7309656a68b7569fa51dd9789d5eda5b0f1044c1c30f9c3a10b5cbeb2272b02c4807fd47d181f26533e1ecb30590998093653473b9e2b6515c73695641dc3677be8ceed8e7019303d7a5805543622cae05f3111394eea1383ab753eabc66782dfe43a3266841341d9f6df34e0869040765301c5320d03745e10f802527966fabdb7c9793f26c9bd7ac566070f9385f398283b80fea8d45ec64c8a7543d3050553bf7b15190f22df7747c8ff8c1d6aa190ef1d122eeb7be6c58f45e274bc9cfd3fa345d911c85e68ef98c52f818238328f36fb7abce0dbf4071d4bc1997a8baa71df4e0980d9898d6fc6b70cdad7449888bd7a5949af885e23489873900dbee2071f5cfa46252e0dcf9fd22949d3504a5fef78dd33087913924875c4bff839cd8888d2bffa8bf3eea027ac90a40c90e74e13df357eba4918451deb3a5fcaa73780008d5d73a3640b89f31f71ddd1d42879777c470e2cb0bbb2cc7204326d5c8f14534ce0f3d71e3eea222d2ef0a308cecfe2ba75568a964ec4d46ceaf63c6a89dad20d83413535784e5e14984e95ef4b68f8d53fcdcd7f2a0d0ea51440b1dbadda51e0d2446a21359cefd58895df7867ac184cf3cb3fd70e675b07766cab81b607c8dc0d1e5cab2aac3dca4af10bdcb2f2af37b02f8b583475045349f455ee485f4d7fabd00aa52e160e46a62593bfd9c6ba8e0e25180fec8d3f34240eb5bb3043c299785861911cc55cac8faceafbac3c79debb399bf36faf0a2c2820c26ba00cb65cd7a0c5b1eadca0c34c6c49b4f4939b806881259e5f95dea120b2bf855021d13cd7a7e5336bb452c4ed687cf40698d5538cae58e4e603733ada425188c46dbb4466c9d7a8a1988dc682c21e6d250fb94c5fa269a1711850dbed324fb51fc80252ee1c8000720bdeeb43c9f00143adbad565a86266d5bd567a94eac94fa7aa891169e17533e0edc7ac38b45669d0f41c411876eee58053814526ea56906dbd2cf844de6ce8bbb3c0d20d4b8a115fad8760b6446abd9a76fb815a310e16dd0dbc286bd36654e2a37bc89cd49063302c682ac4a5aa6eef48a5452c4972787624cb0d897a16307e63c25d6fc19a4ab713a4cba653be0a0dafba36062ff619270c5a28a90d287d68bf417b3906a3db10f57af0a02cbd7fe1a64c6b0f26e9eb62f5047f31eeb7b804ee845d35e524995b85a33fb7de79b652e4cc92e508e3a07e7403ceb1c6ab2c1272e7c17daa314a0b40ff676c0365bb5898cc2e2ff6660bec538593e3fb0dcf0c40c1d9be13e726d6c216669ad741df7fcc0dd6a85f9e8e15398df866e412eda4a6e552bc241a2747b531d3a658a16841e42540c812d02c203bdc1639e39eb4c04e9db80c4c5d33bfe95bf2ed0e4d18592b5033cb7f58e9aab226ec8d1a873e10f73f324e757c4a431fd155d03ee8b129b28bbf9e4eaac0523d4afb7472c843a4ca2a792896db23e266f0e5f9439f72be9295bfdcb278be7cafb0c971cd71bb32823563fe882d690b9241e793b1efc418869264209e146744ba1f11449c0941019aef75fa2b692d5566c8d8e2ce3030aea4f80915fb2ed430199711ed836d3e21891a4c7add8c0dc9a8b530601f14c46ec3ccb43aaa62fe2b1c291384e108658d5f2deeba626f01bfd5cf08d5c6992a1d386eb30404d3fc2358cee15f86aa829f327cee103edc3c22f0047083b01ce405c58898e82db4e832272c5cc0ab6bb824397b3c343aa67564200ad861de288ec4f14ea9e482c93f7746b67f8f7406707de1aa30be6da4caa4e0e215dd139abf81cbeba7290be72336ab760cc868c8111e61c3d8c7d1266e0a56ced9f910819133b13a07b408f3f8ff24edc3b5b9ec54ead7d2bee9175a4e6bd4687ede2cdc508382cfe6ab4fdb35fb96eb317c1afcd6d5b9a64750f901661fa2ea80c974ad19fbde3719d0841f999ac9b11adc25fb6296b896a0cd858750354ad313ee3c852a84b2857493817e05bc70631abe424ce2d28b5fe552f56ab3317c83a829d49484ced0c405e6caa1a0a08dacd32c4b33ac29b448e05849ca1ce8b41aa5cc4e52bb0c881f5c5b1b653535a128987e797957e34ca14be97549ded0603f89634ad4955b7bb65be99061f044a5a53a62eab1f4fa2bc728289adda0d36bce3662368a45ec1832f94cfeac90b49715569cfeb12487791b6bec6ec8b1b6098d7f853953d94ddfa65ec910350a010c98f4e2c1095e3ebaeab44323eb2f96c57b74532cae274e88caec8c687e5abc94e92d6abdc7ff4011c399086ec4c5228a24c4971531079b38aa173be242934ffde1f4f982c9493334470b5066ae384e31aa1b0ce38ab6f8dcbc37c7edb15222cad770dbde361052fdc9ba43832605a28ba97235bc7ae2c39e0906fac3a0d35a55e8756f74f3818340ec1a48cc79f6014ad062e85bb8d44453a102b00288570cf896c90017419af44d33f9b981e0416cd57c93a8d9b68c93e7b6d9ad227a4fbade10eb839232995e725428ee3b2bef9e221b06fb3f3ab7b106ec9f52fde6a6e19a13286c145ce4e601f34e13323a2dbb043b6c31249e4ff216086a80b0467df6f2f423051b2dbc5a434ad5cc24c6b29d3166f1971966b654214983f4aa6ad230213e79d57d5c09a087e58834a75fe5469ec6bbaf8f034661a31c1297e91f9e7f74b63b1ef83f77cfe6fa6636f1361019771c7e11ab73b4b57f5ea17e8a3579f03c547b1f4cc32131b293a9759c105d41d6ce3006b8c1bb4fff824677af9825755bbfe9a52951d340a36f82122e78461879d15f88536b9538eeab79717ebcdc3e3da4af5e160ebcf2d1b7d305c2ddd221eced60ab4ca25b4c38a9761964b2a29aeac19f71e32236679fbf55ce533dd2e55f465944f02531e2e67ee7716f25068e97e7c0bd2380e9522e64739277b05b2cbe95424974f7b4764a9940a261a8dff227ce22966d3bed264a6fb8d8a3eff70657d95b3ddb04e8647572b7cacf40fbbef69f0cca206610b4e14652ddf6c327f3a119a9b8f01b722c623b9eea7ccf3db1e97a943a1054e89c07f1f87647d6accf301ebb0a2e374de6ea49f6b1bf3f541f1132c397f4f225c7bef5e10cf9d54ecf667d0d8f23c76021e8a0c138b1717e2339cd999ba1af37b555682aba059df790fdd35f0771985452778eafd22c3fd12de3446f84bbe5943fd50e8cde0c5869f983189a4ea9ad0f19b6292943acb6128b0888561089831c53983df655c85054e7bd4c5b8e7c43ef18c9224041789968570fed073257449aa4490ecb53c6ec064bbd291ab85852290e2e1a7399067cfc32c307894c578976cac9a5e97dbb954ece2f5aea78df8d4157e1de69c0fc7c5903f2275b92779717d155db9573793a5f5b17f4ad8bff007b04b08bd55dc45fe162b7130ea15f88d47adf1996b247d6cd100c8e854a5b8bc956a3526fa38bf2b615d4587f51ce8f1372e03e07df8cbbe9abc5ec9684e4ab9689826b26fb8090445aab31618f399a1571fb23cb31fe0ce9bef40d5168da6af9143b237c63f857303990c5cb25d593cc2976a41096862bcea108355e6223cf03bf5e67f050c05e776f4719b3a95b89349982e07caf82f300291e641fd7ea335f5e122d6a3592b1e8b784e250f0d9df2532197f282f3e5e2e403ce29570d7584ae9bd284495374ec014dfd28860f8937c4a28606857e416d0aa718545c4990e598077058c5a20ad64cb52f04aee28f46a6268ea86158524a3fc908a2385d1bf4290e1795edd014205eaf7994ae066ecb73a030524aa5cf11f4b8e362b144351d4ed318e6046b887d1df444b85824360440134033749d1342c0088266b7f2546edd2a29a49047beb812312396efef712773f030b83e1b76f5d91248f71e16bfc7a50b320b45dd7b53b9d48989ff6d66de3864efecb37dfb48e6b1c7dec12c6004a191bbe69dd6c0d0ac5d2f1488d2f9ff3b1545a0e010a58f774df5f317910df04fd627269002d2f9d51562a9e43971f5c435ddf54404cbb84494ce1980aa8a05761fcf94d025e933ca7b3dcec8a1e9ccb722231a1231aaf40d1da934402fafde3bf10927e57540d7bbe28df3725a8c8576a8263454a045020e2b5c47c86c498a5b962607632a209a17ebfe73060bd5c61402d68e2b39883129677d92c1fc8a19936773fb76ec016b8ebf9e5825b1e22ba004de26199b26c067672a291b0c1b3c1d690acbab54c1fe2cd9c7699e99d3ae5320c54e4445c006e6bc0a3d9cb649df0d3fa1b062b0471d4ac5ed654c893ebbb397cf4083e3e875423c972908979cb494285b76bd71098fff5f33f74a69645ffce484b5555fae14efd18479851e9348e1b4f12b1ca7dd387faf7f0160e46da48b6ca81e8a7872bbbc6f5965b5330d56a556cc8cf70198a07a0d128a38e3c9c86432ed02b3bc41e465985308516bc2c051a4c952daf8bf1218137e7dc320f1e95e35eae57dadfa115a886a56b36d7847f284896e9aa29f61f2213bf4fb51cb690d4c6c0651ae7028c30e61c1a1c36b73b502b1c0aad6ea2b030c1c952b5142659c3f664e4bbd05b67b4ddf9fa24677ec33094a2e84c86f47de533a1f7cfde971aa5d48703429b147500e418d380c345a5bd0aac43a482ed3c1cb8f557230edc6d9bdb8f3098144bdc97ad5d279e87e1ab2ce7f93f840b4b853d3ba0a6a8f2d425a184554c3e68d26748b4d2f9e9919a9287947eef40fbfff66d3da1057445259d56226394b47a9811a880d03a3d1f216a1a499ee222b37375ddd23e71cd4b2b3f98b6ee17b6103e00b04ada991349832eb19c4c6265a5a272b828a5ee12f5c4a6e792298296123be738106db4a43d2f682f9e484839894b4954aa4d24cdd4490bf377c62d5b1c5450d31e5d1990796457880556f8cc6f7c1b7207cf69e157294cda5114c3ead096b3f152bee17383997d73ae0ee53f2139fc10dad26251e64a4db453738e72551877e302adf1e0346e1bafbf23bc0ad97fd26cde1155aff7d83d88092acdff4ab67094d07bba108af860e81df5fbe513ecfc4da58ef77805521be36366541bacfc14a5ce54df7ba9708ca46e246e16efc687d181ff3021e174ed7a2c5d22fa173acfaedacf380798056f0312f093fe263071a19c51fa935acd846d1820593a907c0b658a4d515148b81636b9f46b52c75d41adb41903ae4a81e209bbb3784a9f3810c563558bedf40d9931e6815aff46237a5f574e76ac04d030e67fd516cf5e4e901651c2d10f18a5aec116f83c4b9ed3df122111d46ead97018c5b69a94fa07ddcba995a0804519dcc4172c790bbbde853ab2c4826c299fc5a42262ef6c5712131556394a1e913918ea136164ec973134bca53376942ffff9d5a29ce57944c3a97da0980e5e5fc23ae4e81395c9571e2b5d6c494831f15ad8041ddb9fc0ebfc6870f4cbdeaa3839e4cf4cdecc0cf37446a349fde4abe44b61218c6d0a36a196644eb4eb30276699acb3ab201684d8eacf49b5acc4cc8ccb3eed96f9505377222381d69eb97af9bf9fc8cf967ba0b8758b8344c0bccfbfd5777b5e0ca4fe2cd3d6ce3a153a7d6197d8020529f5540692efd896d8af3dd849bb8863292cd0605f724d99f1f576b9806451f60092c08f3a468ebb14d823a558de47e5d068f141d539507f742c7d3152a30527b99766528d56976e96a03029aa0f64efaa81c932f05c963c68881da7e82a87feda6c27d3ba26331f8299c1788b23d58f11d68b463eda8df773b63d36998b234a85438623e23e4b38fe745fa75a06eed5d93c0f224bccba8f136368f83f398877d3682b72ac3c382300ca2ef039d338e7ef9f9356bb0a82c0b8ce84e08f7c2926bf7abc581f70bb0ea235dbe6271aeacc04db911ad769f5e170e488ecb536435d3f0f4b38a1bbf965267148dd102fe82e93286c5a0094d52cf9f7061770a45ba974022b49cb26593658c08805c54325d53a50363077b6fa1102418220831fedf4a1cd71e3bf9991f26c7efb24d55054b0dece33c2c00481e1794f6abe5025e94539b89a8be2a658d51abf47ad3f1a3a40a63916164b03f67e24bd71d0f685c029a57371b06f2821af080e9a86fdab6911810ebbb29688ab36a876aa276192ef78f55fbdeca9dfd271ce719e463d24294ca76ef603bd972f2fa74f0f5ac4695b6bad73f7ead60b36ba8ce83fed1595e95e23ebf657b0a54c5fea4ad87513a2cb1ecf3af8db69b3d5729d1754b8055e2e9d97610ede65dd638aa50877aabed2ac26675289269be0c8209d4ad392b58f8a7bb3b820fc66bfdd9f4ebc0c3ca3de0db4adf417edaca72ed573f9c45b420cc03f52e8f16a32f6d85f077d998743aa3a825ab351ae96474d4b6e5ba348904dce5f9e2800e1d37a212a20f8091b045ca87dd7a5541a68e44c84edbaf46837864f145f985dc3edd7084e80b47847d18dfd34000e9069a52165cb277b8570b054f7e00c510275cdc1acc5b124669dbf4c53945038d383b07713cc1c240b1121846d07c3a441288c7044ad08d816f3d72eb716a7f3dcd54640e84d72457f6235c5adc427d9ab667535c6ea3f00b9bedbaef71815c38b75f312a75bb12f58d59863de03ab10d02f97986e969441affd58a1921ee0e5a028759331097cba6afef093b0e96cbbff32e3d2cf4f7b35f1762cc5c332d328da4b909c8b814d2d4dcc7863ab1f7d3d390760450ae39080487052bd3274788a8b5e555c17ef4c7857e76c1dfce51c2b857d4371e4e2a80e37f704cccafe0a8df954a973167612adef1498f5b3fe0901fe3c8c878794dfcfff0865da6a9e498cae1950e88b011549d2ea9d715401c710b743144c2909adaaa49ede69c45f689ba2ac3a0cc6a12d4d2c11aabe7d7c4009bf558fba6923a6cab7b4e6399f3c5beb2e4a5b1c03ab6166de9dca22c294413178954c67b2416f95e083405e059a772383b07ebcc27fabedb3347c941087120f0bd6865f8692024383a1eae4b14af0dc8ea293e9bfcb51fcb8b1aca7234ff5ee855de5ad4872bd7d3254c3d6c360843b131c3ea926db556421bf969b3b1b11f63e18fa687f624c216f521eb6d3e6e4a75eb6bc50fcff23c2f1e78b688178a14598f6107cd39fe652e2fbaff749d4682bcbb457d63fba6f500d71e345bb8ad043f05b84aa6d2972c9b62f02ff3b58a47660078e1c7c6a7103017879464ea36d157fe4b58ccd3e4fb573d962e590b2afa305f089b4592d3b4309371b45906e8f76203295c5abfafc6baaebb922c61d200c0be1d7d0778953114d92a2bfc681b81fefa5ac68fa4111fd03a38f9f5490f343323ca5422f2bc442045944dfadf7895fcf28e2ec0f0de95b9e44a5f76bdfed39bd6d6c60d0d05f3e82de398a5073a765da874131d6da2e7b20f98a531a7cb07fceee66dfcaf5728c1f0a7af16c875bf40c24f63d0cab9d6bd4f4685b100e9fa6da36e4912bc84caeca87ad27a3cd5a4368b9ad5f48684025dc600b2da8c80063e0153d30ceadff95f4c165f4e9bc6b495d886a885f85864418b905270c6e644c9b150a5d4433e87e28c38876d167339d2be37e78c959ba7fa6f2b126e726f745f9ac4151142e6f7931277ac4f7dcc36b2b3b4d283833f0f6a6f7be9a561e2131c3e5a682a56eae1015721ae20ac705e8f12416d957d52d0e67f78e510f6b0347a6a2f11cb0c5ee6f8cd38fb5cd332fda9e7f7df5fdd30a639fc51c4013ce9f1a9193841eba749e58cd0de2aad41ed2a83b84e79dc0a09c90e91dd66464b85ae92f1ee70269f9d7ab25e13ea94d48d5a2c6f04e54eb6b6dd0140e4f1c065031259391d74b9a9eb865c6703955302e93c199f9a4bc10564072f5c5d1b237a704b59a1ec2b67a33d1602619f37a026f472232414475a6ea47d2f663aad2c67225ad7a001bf043fd8290c0d72b928673e6907ff5b3d31d0ee62f27d7b44209364ca34fe9d4747b9192965b0e37f2a43ef2db1881b62ca0ac20a61def967a3dd47d3f2e404a7750450e2408bd04ee3d50b29c13c4ff68e44faeaf9ccf5bd52c4a1ce52a1b94eaf6780b095023c5a70c5b450aa5fed27dc738f57fbff10cb9d321c9dc36b6cc8001fc19bb6679fb18bf85fba72a6500aa574f5902fd32737cd2bcccea98aaa5d8ddab0a845cba75df5c718b856550c182bf39ff87e64f9c4d8ce2d9a4e13fff8b294c77931dcaec45593f29c9cbe027c3f6384f5f6556b10840aadabe7988d806e800cfb2707667c79490ec1c1c6cf49694d4f4d94bfca37b12bda74ec9e58e1a718ff069ac7b488e504d8754bdc3091c87605aa208dff7495bda54e350efc8192e5cf8be18da6511f3506762e0ecdba21b9cc4e9a7c54342b1eae439e1109127e6cef68b089c64e74b23ac8e02aa709e3e27a1b272862147ca9ccb564b7551f320192caf6a399f3b617b140d6d868ca16d732275417c5234ce9397149201273223b9cf14818f290c15e641da2c9ff6bf67599e7cf608e79639b35e886eab4e2d306c21ed6de59ab28fdc589fb2fe64cb907a6a70b5467564d5f827e2b01051812600c6d41c7002539d99bbb4c23717a46490ba25605d547562fca52f682cbb3e9b770b550d9b9e1d8fe6950d028b5b12a0655eb3efc4ab2557b7c706e6c89d0ef313644c534db2ed71fef90fed9c9f2f4ae9023609a5dd57972dee8f8429901cbef92d08fcb805be6aa3c5fe4a2f53f14afa99f31125a1a9840035096a2850a53b45b0bbf94895dc1dd936575c48f49944f8371498f7a0ae77c63e7baec06998ba480b20ce7f815ef30cd8206125a3db3b7e6f193f77ecf4e9e96d0adac68d4c07293ab3c1f272a9b13455ef88bf4c1c0c270338e3602a2824c32bd34e193702bb34411e6b5c40f06f6c6753c647d8a988a1f80eefa434e85a455cd379a129c9c6201d7df1889635f25f02dea0ee7172c8fc87cd52fd37af4c614f55681f36e83156f16341b0f42a94f592efb7796e95525ec961c776e9510cb1b7b2411b236e6bbc7cb134678305b938f3daa9819c9ee916fcfbcc6f7bfd7d97c5d03f733a1bba0e5e8fc4133880df956c40ad9661dbb33c78076b8502a6f5fe170b10beacd91ad6a8e1d86c10d0caff109cfe6b4c8c7ec3235c17b0c4a72820c1384e60bef4385ce0da969cc07ef4b9f9606be95e132c2dde22b2056b9a5d7e5c6f4d7d83c85d788103add5eeff95e2cb354e80d874551d582af130efb68e71e24d98b8d0f70d3115ee21bbf87c49a376171724699368e087c09bca5d3bb17f8563dbe2241d88070de2304c4c00dd0c3bda55263b3db8a92895d0277b630b331b86a76c286f66da2ccf218d7007e75bba0fcde319a8b0f76ba40102703a0b96f5ae5c02ca82a655d97339fc0714ca39a8bcd169528068c65a36d0815697eae51b0d49926bb6aefd807f43927a63554815ca8392ce242497d001a6183706c9a2944fb1fb7de4177bd4a06f9e4e3603faac9f7b00dd9a96da7d8ec83aaff0422da7fab9febde9de79887011cf2678695a98bb485fd8021e18d672fd7a5dfa173dcea9a1e4ac1c63a46e55cac9da528bdedb5c03ba6dc95be4d0196f15a2ac3250d202c838e4917c3c79bb40f86bd8d05a22deb2b58ffc216e0182b993fcf883c708e9c03d1e39f10fba53f62c3ebb2247d28a04ee37882676bb9dfcac8037b5f9acb6e7e7bc19133f859172cc148947708c0b3be91b8cb733977c92688dcf71ae0327fa92cf585b2f393f3d4f637c4d134f6cfd742c6d3d3361b7814aa961381e90b61861b3160e0dbca687fef539f7170e0abbad75ce66f954c5507f2297b1d8e7a5260cd2d2e48201036bca2f5436d0f1aec3e617fed161aab1800235f81e131cbb0d941ea8e4e2997722d7f23ae6abc2f6915d9900b64b56e3676c95465e271c3f12ed5b7eca39d17966a4e17414f6a7744b95611c5e66dcaff5df3a9fc356d15d77ab891de65f4dae311efcd9e80f24489671808d0014e3d321fcc01820f60184e44afc85bf7703c796c43fc6ed90119830a11c55ca800cdad05bbe2f1020e25d65a8b685b1b5a0226a27452f76360e5f8647bd0c9441774521b73f7bed9d4543104aa20032ffb090293c70813d0a3373e22182e3c194201f4d51b1dc3e2b000fe62551f149e69c947d016a597bc54dfedbf6ae3154fb302e7f9c18210ada1b60599295fb626b0f80ccde29d2d6f2bad51b526a4580c376ac611256af2eb1c83e6ff30daeba426675d0d343090eac6eca0d60c13e6868d4d1aa3c20994b45b1cebfd8a8f5e99002eafe71be177f576c24937ac087277672199440a1b602ca65162dc5da32b777e2955f364067bcc7f1722f489ee15a5f655946f1a3e19ad0f4350102421c5e7526760fda7f2e99e7e9e403a7e2977acf7a0858081a3299580e3676663c0087173ec8547592e47efc2af7a01186d5b617e0039730326ffdc9f2f6aa2211e51852bb1cae074febd860dc3de692880454d885460493c0a85d8a3e5dedd92cb00977ae3acb750fcf1dda2386a1c0a757093b2abf6b925e3453e6cc52f3cd9976a73bd47f20532f08c4d80eb5d0b857515e9c7b2dd736c1453388e4bb5f96709078aef0a742b8e7ff484d5ce1a9bbd4735ea4d2c8ff835a70902528d071fa3e62f007444bb564482dcf471360f0ec64d72daadf5260b3ba7a6f7d66d86e5f7fd2f9358b42535b974feb4c7d79c9354d5179e09da21f95236286c1c38cc6a72b66f7de8bcd95de6947deff71efff82ec67fedc23c375dd53425530004027ecc044785600a5c6f1b201eeabe54e2e20d807f5a164e1a83bf7cddd378b0f2d44209426a85e5256717269deddafc860c3607c3fb7834ed10304fde6edc2e9be89a926d505ca6cd0f77a776bc6b2852b2dc1832cc267a653a35cd357ee6fe648926bf5eae29920f6f6d6d7a3f0672e80b85fd83788d31712cd01c28f939227191a5f98155f5e2378f869321d4a04a84dec5fdb607d485195c3ed2d892a08742096d05b3623c07365170b55551ff4dbc8215e0e665b04074995c696a72bc7f1fd8ba45b2249b14fb726a0c68f4a9dbcdcee97e5020e045d66e82da24f21db8f7f9a5f3791d432f7a6ab89797f88ec93ec7a8c6091776ab1907f2170a627fa7f15ffd5bb73a80414abd640e55394e08152e9e6de4c0cfac547b8383541f6da563eca0c2a5bf9733349a92cab3d7e96a83b5491d6ef11dbde6acfd3ab0ec872994a03679370d22c8b9cc2c3d7174f1d4739547a39d01f51651eb7fdb23c60c21362b7dff3dc0ff95c2b4ac22a9de22cad704b9137f98e2f5fd0de3447aa6f68eb28b1b50494c293c9ab90470703c38248afaeab552a6b406cf337f280a6fae21a130d8d7ce80076ba4aac6c5bbfc4723f99bc4efef9f1c4ea897c91c937542be04d4c1ab48c97e91093b6716a6282baf1fdee759b8fd9a54262e3fc79307c0e52c6858384c19754f35a5814adcf172f1f600e6829ba0f462286511b406ed9634cd827dbbfb8aee14acbac38f865f20a4195f25c5188ad0ac02e9f423fc63e03663cc8dbd5bc653bf52637b0fc68fe856865b0fd9ad8ac68b74275f68738007188cf435b9027066806097dc8e9229d213813aa0f4283052352e0c1ad9626fe967d1a177446183aa4a0a4e4b86f8fe25b0729e460fd537bb852dfb6ae5212646482b3fafd924c4bc6da5474d2283fccddc1e2f59a02c98eaf62cbe861753b4272562995a681b49df8fe28b40c2e6f4f02c9e3bf043c39495a94e6760afe2644ba36b73cf074e0cbd00405bf90cd4fb97f07cd317b440485eedd2cba01312871f55d2f0722ff84b1a351a99c78ea4a5cab4b16f5a95c1030c325344daacbdb64d85636f5a3cfedb0145359f4171541c7ba4bd8277a7373a45c4e3cafd79b6c93a1d0ed9ccead1e4035c06b16c27840b017f13bf7b313570cede90e6c63f914eaf1cf7ca17b3cb35a49e71542326d8dbd7ecb2da941cfb9c6f7348d79f0a55fdfd8fdf7e6fe4999906e21e3f24bfa1a99a2bc896e99d960e499630b98039c811a3757a087cb2d9716327ea984301dbd4eb868075adcd4c34c64ff6a4076ff331ae413a706be34ed6e5f18ba3ca4f663df0d96c840bf2b64ff617c4d4498ba6422951efd54f58b409e44d92348d0c53ee901a2f6a37d68880f2ccc48f7f836ec081a134827721e9a46f74d47c64fb23937c9908261f6ac3b3f2fb95ca7a4840815a6e3a6b2046123982c0fc6fc9e844d931c1e0249360b9fae63c29eed27f5a4dc29eb30de70c7e84f28d176377fd8fd2de763b6c2f73e9d1f556302d3ab9a25053bcbf5cfdb3837ef7183a1fe490d02d10fbe6bc7682a824db95a1a3165edfe8e501850c4bb3d91830af479bbc0757d9bfa0eaab81e113c846c481cb5d432668bca9b65b186fc442f0a3d5e665ebb4c49de15cd7d86e46ae9df8056fd814388671d6d95eaef168863aab23cf02aa9e4484c7b454ff5b4d63eed071a200655b64f0e44fff0f26fd442bd54a5eaa9d22a378f8d8192f552bfad60672a4fdf0737eaf65b911b75089ab2dae5a7dc171d972f0873db826afdd64e4d10f3ff5e43b69c115e1c44e728bd5f1149f136abb937f664072d23d51ffe6f046480fa18bd8fdc574aeef390f382b6c36edd2456eefefca9d45448a11ead997b1913d5d553d055e375c88daea6f117ed188613bf9a3c8ed47a59bc0e3e12f6732892f8059020b4f5d3ebb0d05bf61710ac01d48ce274b9893f77cc3af4498d216d299b75519d4cceea9be51d36a0472e145fa357f746c3b4ecd5c227f730b85617a5692aff3c32d522cddf7d0cb6a92764ce896ebd65e5eba8d99ebfeafe056c3c19818c9dee9e17d2f3abd88373d27f59241d71e5283875b25c4c66d36206e820b5a74bff96298593347dd8fee829cec7f0da311aea7f72a6b95fd71f4e217f9e3345ae4887d3f41c83c83e2a5a7ffc9f598205540ccd3858432674d97fdc13fe51ec0d87a026725b41c264c1fc969d2947223319474e4c5d464dba23534b902457baabb0a58d60654980be5c508bfa8b91ad2fdd0d43cb4c8e58980618a0647feefbcfa06b56aa99e8cec4886f3f3d14462570b8ed8322db315e109e495e937e2a68d055202e4d78918014a009366a7db880113660a8722cbfec0d5ed2aed914f0ed845c28e6c80a27e47215f7538726c3c921431f9eff8a4ed3fb67292586ea5340309827defe28551510f82a3e39e81be6cd83150329dfa9ef79b8960d2bca6d004f4a977535625927e7402afc01c237474eb83e9dbc343aeb0870acd6391936a3c09a92af2461d148a407a64361892c5137b5e1dfd7524bca6818689e9f3dbd27836cb5ab21a5f517cc0f596d7dc65fa1b630da5a430097c25d20a6fb26f21d0ccf17b9df0099b42ca8906b35e5a0e0971eab374d62814f949700dc898db84aec2246b99a5d7541ecf79107581975fa700449f05ca77111fb756d129a8e1b6e79f1fe2313690883eb9438b8c120f47d0f020f96aee45bd8f6c3905ec77662e219548d12ee22830046477925f15456719ee33a1ff92b304659ad7fe482f63b4b8dae52400223e2a144da12b1a7eb3f36e346f5fcb52b98204de9d32c2d4aeb9a77cfabe7e04bd7d6c99359b0508551431909c2934af84005bfa556f34e6c3bc2832208af0e585ad495eec563f33fea05a90ec647774e3ee3d154e91bb337bba56254b478d436262eaa275e250a139a24df1d0801fe2e3650dd7ad389d80dee9505b62e850eeb3cbec340e4879298f186fb7e9807e1d4c6514f266883cdb3a6922fab9691a035eae499157f48fc56d4821eeb788e0e30c773d1abdfffc6bf4a947807932347b9d071ba54aef51cc6fb5a671d6e5bb50f638385ec3b071ceb32e8559805eec4884e40d2579c3a8133081c143432db859d805b180c9a6e87d192f72ee9d233d2c7cb54a37756cabe1b667be45c45e821871aacde1dbb2c170e1948f3e66c46516ab75a38e316afef038d600ec21f54c985c2d3cac9178fc6c1d5f84489cb82c3b51a976c3238f6c90dcc5bfb471af687db1470099239cc7092e49317ec656aa0d4d874010f02cac3d2844a746853e812c3e78706c4ecc9679454798a990d8864a006bc5361d50bca6d3c318d5c55a84a350e867a6b1172ec33e66f92183d9c8f0e97f51024362f32c1ffb29aadc578b767eb7bfdbae4d9114393c5e2a2401509dfcb3432fe61b7ca71c3cfebfb9da0beb7ea5bdb384a4edd33538e24102e105afeb56e2f5a0dbe9d8e50db36ee8c94eb4840c198b1485a7c54fbe932c9ee45ee5131b8c5e96820c7e12771485d0819a8b2d3e0c3c565ccd5e9a4626db17c56be1e574778ff35d0a3736efd04dcda91d0633454d8e4340f66a37e39e9767ef2b97ce7cd31fcd15ac9f478c6a4ccee16f0f5aaee456011e050207059dcb579b083c2c6dfc4343f81f9f6a797b4225a9ec8a842477110bd451b555af3aec2ac8cd21b40e87574328d1611c7871bc29ed5c6fd82d34303cfea630574dc1b82565440fb915860465572f4ffc8ff6ad40357653a1ada41f25df9627b05346aeb3e3fd5033112e13d6bdedd1c78b736876b2696179f1484c3c317a758c8ea380ad675044c8176a5f087a920277047fffc02f6c410c9baa6723c7ebc92438d2485de01747bb2c90b9800709decb1a77af90da45e165157cda7aad59e482252707dcf1ed07a5dd7945b522de7e5f2e280f2eb50776c1ef4f63ce2596d031a0c6539bad02d75192084d16879d76ec8322b8afe536b08f6a9d6c2ce04612105ea3e335fb3557ea9444c611dcc5a82a58cb459f3b69e954ba8a7396873d659f373f775134ba0561142d300ab6cf0f82cbb6000b00f0fbdf0814e1b5e2a47930b0b28d2c7312d99b4fb08c7cf59a9a00555c097e117c3f0b24a1ce67f4a56bac3209ed83679060838a7a2fe08608d3f05b1d0b553b79f3d17e6c1e53c5c8feb2ec08a91ce2a79b3be8bb89e73b2c734e77f020ef4ad217e98f3b44c2f3f587eb40003911163befa9efc5ccab5705ed2f42e759693809cf335a6f7984419ddb3bd369025a0080bf01160e19a7a9b6215dc513d50970a99203da100fbd9d5758afc20de8a296a1e9770d63a26764331095720c46c814297a4848636add6bbf5fb418f41184e3540bc899deea534b50be613cd0c0c5db9618c7256c875df23744e1590a45d5647b617660ada4a5485f45923d3da3b71fd5a93ab00d0282ff21e6099df821136e59e3b2f482072749dd6f7a25cf29dcdd6f16951dd2811a31c826759a0a5d6f869d3be15905319f25bc2728866b77d21a9a907aadc85843c59fd5f466209c4a44f4597820a08cf31d8851d06fce528ec715a90eff98ef1a3ae770ae4ebe6bd0a5d4db111169836b90245f679708776511a8d557ce0ea1b553e02749fdcfd65823984df8f700e31aa46051d2e1a4e69a6bd3408d47746ae89d24ee83f0b795bbea341a0a1fb41121f121f04e7e92935b29c35ea29cc18a2949a2accf99c15542ae81ccc349b2390ac6f586a90440e0d8a1e20c814be9c809aea3b8a3b86f697abf714e09897d6b1bedf43c13703f070277b8d6d794d066043354d253c77110ce277dc204d4b4d4096252badd15b440ea6f4949b430e9cb864fa044f3b1e7e88ddca3ede9ab2418ce281bdd3575424bda8da9af2779709f05b79e6e7c40581172f3791bdb41a289e492f0f2222eb9e2cd90cbac93320d8ebfe1c7f0edafd4d34ea8204d76c57c0541969e6aaf9edbd5290b15123f140f3d1f59cbc6257c6f88634713a3c8a86c49362e482f0c72fd86fa83927b837a76a6c4b543d01310df56debaedef5f72f0c846777fb939552e89870540aed6e53bf550482cb223e282f801cb5a40e92b129a9627fd74fd38b4d9bb571efd7c67dbd2babf58156fd84fb86efd6bbefbbb8b3940d8652a223334b992d8deb7959cedfec98ebeb15003f18b0326719b12195874f9df04a578a5d9e4172fea97cf20575d9d2d8d7de3db8a4b45e36ccb1610f42fcb878e2f12c7d15433ce17e6dda2ce00363a586e7b89afec559be872394222e229d4280a3aa28dec4d6a18f3707530d98970c3b32d6f3d0cd7d532d77bbbd977a0f4c792a506d3189cf6eec485166e522d0be5b52615abd9064127e5ed9f4d9d6eed0e838478590e7d0dcb5697a57e03a0a403ce12e31d555b8223dbe86f139c01838b8c6cab0127c032861f483d04bfa80533258fb5c3a3b6c8e671536fba984d56450d2cb8a4d711ac0301c677707d5d564a56ac60356ba1f14728635c01b20180456fc0f43ecbdb132699f0b7374c169a32cdcc62d0f5d71e803febc8841597354148c661a6331c4571658854b1562a9330a9cb031f620a0ccaa236b520d75e55ffb8cb9a58b145708824cea05d9980e3c05fff18abfc13e396a5607595fdd12e2e60e3c7a0fec0969b745b66cd1cd590752b02c1f92457239aeac724586b8d823114bc22564b7558fc6c34d03895e9b22ecebe1662e7e09a62db92e0a4866367843eb277003a211f9eb8157f204f9198feb710eeafbeaa163dd74ff53603f1cfbb72ae2b1a129288f385a8b9bf34a0f89fcdd48ec6f1a1b8be6b36d211e827cb6fab7a3774a46bfb289cb1966a02e52c3a37cf18fff44dd127f9ee5fc5494706c5087705c42985ace5462bdc6478ba3ebe47cddb2eb596da9cc5b90c6af1b6ae323a36171787bfd360044d6ebc1a164b4bb844d2d8cf37c4e219f3d6681518411ad03e512d1af9989918c9b897e8d2d627c99b927f5bbcf8711f5f17b37f8031f94438fec36de4582eac3336fcadf21e00bdf0d2408c36a2b2dce4cb39f07325e06b7675d9de7d2bbe6bc1bff64dfae576bbf29a8f41fbce94fc33a94124b403db44d0b6510ffc6eccc78529ac6ed39a7ab32d6a6300f2144c79101d1d41a7d39804787f11813d44fcf953fd18ed6dbc8747fff8e2f0ab184abe1427646f4f042af3b6a1398c7e824e1dc39f5b9be51d8407cbe2fd4f33f07dfcead3f38989a5fb72b9ea6a10a3001d207f078aa2cd7380235fbc3395d52fd7652cf8141cb8f8f50289aacc86c4a9987091fe64c15fcc4d350e28bd1764ab054247b71291cffed5a9c5d2deea36c65d3332c636e3e347ac6f54089061be2797c5745fc7c1a864f3fd67b5e1ca07171334329d6a3f59087b30c42a9381daed1f398b56c9bc07f28f8669c8bc3834055e9a3da4db62da54589cf34cfa4e6ae2f0992e6315d3b2957dfd1f4898335abca67bfef27e316837b8d4a895dc00a34248aa19921eb1e90b1971baec43229f5c2325f08e58f9303e1ef9a2f841bdc88ceef7cff52f7c7fbab26ea8dffaa91c98b01f586c3c99da4b1500075e458fd959a4d79af1433f3ed97b8660de9996dcf96d9311838e885fa4af3565a1094f9712e8e19baaad64e888f36f2cbec79d11c040a371786d3828a388a0928675951953d2cb1e9fea0eaa7e60d819b1579a2e20341493c8925c3ad23356456fba8eb6dbc5a570512894ab89906c51f08ce18dbd47f1b5ccf16bbbef2239223a15ea9bf31d1c74620edb3c68f9207f2f8b1649fd11912d16666c41d52978e690782ec8d2a22f6745b42454ed1d5e95a7b15ee3b5a5fd9bf88b45b3946e7800a1eca71e190d4d91a59ce663ee251870fa6d33910c5f8ea5b02035cb38829d36d93c433b635410836e3373b848a0164deeda97d3f4828569322fb1e09ceeeb46d3302c4688d133dc24990180fbd1049897d88e12ace806e477889ff445b28764a3683edaa212a6a7ab765acc06b7353df3283e0aafa47035e9a9badff4b73a9d5cacf687bfa51a05e48939a08a9283618a7dbb67d517c36a5175070d207e7435e028b16840794b841c6bb1ae5ca738709bf81b041e510bec77e1643f638f8f1038f4276b1b73d93f2c14b563bb845790a95a476f60b6854df54cb35b0309a9488d6617eea242acd9c6a2671409d0222249fa1a06d34b2bc75d1edf90902c11fc418c87d14754c8214bc04bfbbb5a4ede164536be206ad48340cddc8b8ce96166eb7337e62d65b036a5acf98a924ad05653368fcc709e0c884ff5c2096102c95c5b349b5d3fd660956953c45e3d7eba5848b9e04bb8d9102b1b788050ffcc17704483230ce5cccd5e591b17d1bee1837ffc6842b27c1b8502790c8a224f45c6e0b5cd6406ffc68d5b0c73a5e8f39ddbd097f2f6da7a2548bba048775bc5403321f95a9fd0479d20e31ab23078eef062c9684d2206d330f4861eb245a363e7a44a72ae50883a1d2637868b3602cbb750e9c3225597b5f8b8c0edc45ffb2e4fd2c9c038f664458db2ad34d2d5fd06634a496c6ff977922bbcf327c2df2a499a6f56ee93d3ee6633684e951c27dba00587b2dbb95f2733484528d5ae9b14c68b7b732a2566f8b6a457bb44d3051e430ec162814588f1a2a59689663d6ea5c9bf5024560c2f7f4d7c9cbac4fdac2391d9e849204df962aeb056b2e5aab3b2b39140a5c144c63f5186d865fe0e1303df5a4da6b6f0d059296bfe8e8740167768d6b4cc814ae9d18fe7e4ecf746800fbf45ec5c78510ab71b8fc6a2462778a1c5230c6317e5613ac8199717bf3d78385daee8fef26bf24528a9ffb625aa84c9914ef8538dd0eea273d0a35597252c51ed28c71b15d12c06777795c2597a4d8c1811bc7b7cea5175e93b8c65de2ea5c904db90af058af79dae3d1ea96e42d4f0f3b247f971fe12397647b70af320668e768b9766da315446c30105d25cc654f3464855f74f75bd342f960249542aac6059f2ec88b3fe4ae755774c313b7ab0f7818c16ff70850d2326e3153c0fd0653222d74a7ee5e3c33e22c881408d9d3bc8da42ffa931edadf7dd59c73de229a8379dba0fa106900779a50e01d49eec0757a024344b0a108a9ade11c01cabe790a46683eed569d6abf6bdecfd9081493a21ff18b7f51d2ce7018aaa46e6481b610a1ebafc7cfff99d73c262dae628fbfdf581a002270bcb85c3316cc53965673bcd982fe4096ff4b3d17067118b51d5a996ff3dc5bfe9ffd54d629539f8dc5ad23a01c2fcc72a16da30a2218003b3ecd7957f2daac0511c39180d11b2d7c53567b4b7de97340bad72612b74133a9ac98010b542a6dc0ce8818bf46fee19f64b2086ea5fad8d6054098e9f97bdeeece3f710aebc066ac726fa2b0a41f215bb4457b7812bb2a5860cd19b539c12f8fe4369bffd9ea72ea6060d5e86353550fb8556c816d0e66a731c05c892c38f84fdc32175fa48d35bcccd65d67d7373bb193aceabcad0bada1f2e415995814c13451c4bd9d05de57721115a22f08383ca07af78a93fa9161bde8774154a71cd63ce578a1ae102f6d224c4d608b35deeee093727b1a6bb376f0344fe99e1576c94e640c61a50808af83aa353a3b213969112283f557141a0ad071073d687c8efc64a21b5c098918f9cef45238756a00e45c3bdbdb4b71ec6b7770eb255be17de7f6a46fd8c44a63d10dab503abf3f8e6c99b2b1a01cf1681ad955edb4892167f012ebec9959c3427861d2344b0b7acda6d4101919a3b5a5324b189984b7af3576bc87d4132a6a2b05605f3efb65126d481e3ac1b6dc32429bc63b984e7783e616a2902e64069d124ec0d3afd9513da21a9f29d179ffe63ba09035765543a6b734a35155a4f20b00e695f94f218b2e2517e1d044e5fe215bf72247e9f60d9c7c264135c5c4f10db2b851fcfc181cba1aed9d502297e2811552fe0badd28d5252451761892001ef98bad76555ea79ded157a5721d8e11ba8476e29ceda6667027f7fb3d99cd5c73e804906b44e05711d27d188f6e99849397a6f6bda097b6c1a1ca2c9a705d12abb7981713cdd25b73dbb93a5351096c23b3df091e6f29315821802779eb73a448785ee40df409b0e56ed0d4c052f0e538e492cf70d43bb18a46d9b272b9719ce2ed44b6287957cd3c441845bbf90cd8e3d8feca8414aa943926478bd0906c39dcccd5f0318e5ca9f2de721ac951a6593a251959f5881708f1c27010882291088aca9b69ce79406f07331835b9f072541afc6c71d3c167a61fb9d60bef3b536591a289b8ed889de238775ed775757ddd69f200e752a2e6c564fc5ee46e063eb8dc46566efab8fc797686146bf83756c686b6cea8089c73daeebb216f22615c379106db321d961bab7c03a187dda35476014e63b5312e17ab185e3486a2f5ac5f1a15db79bf2ae1046567824b1a18ba4dfaba3a64e7129681c345f7ddd20d4966efea9abbcec94da551666d6c5d88b71605b436081e6d8b0e95ebc3c2d28cba93eb9fcb27e4ddfdcdcae37b18b3741f6c5e35f7b77cb5722a64dd2c6eb4cca4844e642269165715ff5211b24a82acc0cda5cb2c6d5e59586bf768218ecf783906c48b9559b3bb2c37ac0066f0b27fda3aa350c8bcafb9f172c6951a051423f66d89228759422a48a852a3c23e17e7cb4cff9c0057d68e4079c82d25ddc96a8402d7a45e23129ccf09d79e27d2f39749e037a008b3c9ecae002b8c1b73b059810f25afdc8c69af2f67c6e36fb946817e129125f8ab445f73649958ee9098a7cd658b44b5cfb559259f1ef6d4db4bd1e3fbd4e3ef92fce4c8f26c0e9cda5fe2ee2806cbb7f38cfa04502086370c493a2b9e1260f935ea6595e5de1b1db573db93fd86048967d9f4ecfa30843134d7a4b334ca6464012e7efd57c28a16c5851e1948b6d816f80995df2098f44830bbdf6f5074479c96c7c0c6c184dbecc28a1a879cd35b420ede1c75a084f63687554e3379f2f24cf725606e90f4139bc32e05d289fa341d3bf680ff24ea60038954251dec940996cf40dc11f40c74b882bb58024ca199a0a7170b7b239afed6a7c088e72ea268fb441f195e2e3b7f4c5215873c8455ce83437d5b44b05526d0c0fd7c4801e15217cd5fe6eace0a99b08a763470d6e8785fb9330bfb25f1dd49595a229e2fad79bbbf33324fe8a9a33c59b4e1cafb5355e355c9dd039614ab12cf9a87177c9969f77de6e37cc4a366218b8b4d0b1a83c586baa48f49dd2c7281af9f416a12b328c4613a4df04f1ff9d17eca991c9dc30337c48a28d4e01e49822b0a8401515003db08c83016827fa498d7b07e41b06ad6b22fb632e51019491880a6b42e0aea8888887632eb78ef8d9ea361eb0c1310bc4735be303ec88094ef7f869c3b6e5db5c52480ff2058108050609d214f08964f8a90570bc499c13b9479961919a33d2128f2b4df29abb74a6ec5a122b5c06440e872fe61573834d83bc999bf37709073c59d4f8d864ea02c31058f5af5e5fb0bb2578a5fb03d1386a19c4fe772870381357a9f230f92b4f6e5a4b488be6382aa7f33246d9a06ee065d8e8851050155deed732ff9614c4307f97b77690968db899c7ab0a067cff2d6170c924ab7da3e0e831b6e3f5450d628ae0d9cba30930cc00204b1329faa136ed1d8aeece0a38f47409cb0ff830bf1149b2cc202d45f46934e4639cee08f19156e320797aa67bbb384381a3d17720b5f6bfca6996fee306cc44e8b5f040a37e0d85c96c8d51caa4a1cebd3c19b6699d13a645e9eca836aa8ff014844fbe5403e15885a33e12f6dbfe5eb9a4746b9857f8021aad1db9effe795d2c7f8e907b5fe858cc2690a98da837021338d48f30d30637e9473eccffa00d58e3e8325489696fc27ae027fce41e9a5abc30db07f87596e8d7730e84f89997a4612b3633f880d0d9f02185af9730f54df12e41534b3a056f8a7f662ef88d077d2aff80723c4bdca98200402d4e5e3a9ea004b136240c81d2ceec57834343bfe7da9968702d2f58dcfc6303953c8ebb4e7ff15e9940433e43a4b51f79254463f64f2a06395ad227135d020728359cbf1e8ed4a9d8b15405f8b52d9072ebccc7e21113b65ae981c5ea3ef1399c5e5ced6e5f8fc180735d32a634a373cf0f709da3d7ebad3614c6c0cce634730670a9711514ecb30598bde7232e24ad8077253a44e395339a08067fb9b291eff13bed87c7aa6f028b588b7a34c4ef324773c74b88ebd44b5ccccd3cdadb2e3b8e5c7b89bf6d4b121e0084bfcd69ec2bf25a3bfc0901a9c0e3ee6be7c1eae0035a81fc5e9e3757661f7ac72a620fd25b11f1cdf850e9b4a50d1112770bf0e5c9353de825fe5b669e9a1bbec0b3b94e6406925322d1060083a3c34a624ea516950d3a29640da01c954cc2934963d1e6d4c07e57b14d6d24709db871f7903752f16ce7c84bd7989fdc6bbab52236cb0b5287b0648b8aef98c8c1dd43d6aadd9910bbc57bfb19a4ff8c225ea5638392c84b8a99ade03f4d84455b0cd71d0cd7b45df2d01299c7935201d2d57ebc21166dcb59f642209d5061ea2f433404ea22dcac9396407c8c088af462b71befe3b160e519b30f54ee9ea99f04fb3823efaf5a1c22a7737f070d8309ea514f7c6db5cdca855c4ec60b285be6f6a5c16a85f0db682dde9f625a3ec57017a53b2827200d6a6c5fe221d773fc36d55224f6d75bbee32e3a2ff0e313ae2260f15a5ace870a6f1ef1f5df36b11a7ec62fc2e79e21abc859a67783ac46cc9a8509d116e512a704bbd1db3b9b6f3624f7a7733fa18329d70939a1a14762e5be82abff515f16ff026cc09bb2f7dfdd0d5a2f63acda9170cb351daaf577cd70253c06b5530a8ebe34f549c28c74ab918f2755c6cac8ca3f2d701f35147fb1d37e824fddb1c1793c926e0931c18b7cda6a99c0b57f04fc308bc9357726dd4b11f4ee54995fcd4a44176f6b2005fecb3d6c076399623f6339467242851fa15f43fdccd43a4aad239ecb8083b3aed8a687609f865ca9f1313bae2e6aeae535e23a68ea5bb0e71008301405622e36e6a0e5ae987ddd0c36c164e47725f395f00417dcb4c3578e24cbed8489bd0447203cc2ef0f5a00286592923b222e819fbd739344924e9264bad381c9f155a27723c3f65927a391e45013457e618546a1d80a6be2b4bacf23a1a4e3077b55e5230d62a7c61a9f95f335550b68b873a979fe1363d81e972c23b4c0be59870a3ffaafa9e02953e8e71d8e0b9a3029f0ee417a1f7212e3739f0e2e71d3f28548841a093715d378de318c803982fdf11ba1baee5b53867c48e5ccfd1b0b9d48e35404dba0b45e653aab808a77ff4c73b81ec4152d7dabc192a1ca0238e14fa1b98828c3215cc09f1f3bb6c49d4f4e3f58e20ce1b557e5adf1b9aef277d2fa34a8f7431220426ff3178206a83a8be95d4578f171ff1901b5aafb5ba111ba0c41668c0dd1cb593e76eeb6ee48ec45ac63a69f4cdf030a08f042b257ca602391ddf0e700fc2ff3c1b6dfad363d8e2b5700415dfc57d7e536d7a5c5b573a7c3ea653af543f02cc29d5efadebac94e77c6aca965867ef7534badb1045fba8424f0dafa32835b39f979cbc50d0ab24751d4eb38797a5ed58b752c3f8cf809f8ac6a74d5e6378419ba8cf4aaffba22e0bca1971f44972ac7fa6bdefad7ef00d529d39fc5aa390223ff8d21c2b63239ec22859da12f55e1423d799f52d62a892e78d4c27f266a363e0eeb00fcb178409715ce46b85fa6d088040a3ae5923785407fb5218452f2e6e9cf7c8f00051cc0b79f0733feb0ce9c6c2176b3144dea289ae4fb9287a9da38e9d2eea077b5cde5bc8763c9c4371b10d21993f620e19d715e33d6858ac07416eb36e1224a6bdc80de80f5ebb09e57d6d8c3d0fd95fab266f8def97fa3743a923f908061e43e22adc5331cb8cf5f3c0eb34e855a104c173f074849343178760b83de6122981253a810a0a5aff06cf0af951f1112db5de47653786444cce2233cea79e04ac6e6de48bf7729bb865ad195aa7a69b798446c674d9393b2997696e3d8a410dd7886584583e0030eca18a909d8be77511bb9dd4e7d0d98fc002f66e951b1650d47ff367d404119fa16874f3379ad8a73a5996f5742c5a3431d6c7625dbc3a175d46341477d2c603240a6508c90ff3407bf6fe70831442c0ea195c8356f9c475f369c3aa39492637662dcd63d4674962364eb98b8e438b9ef771273ed17edb584e331475557f5d89101541be402eaa49972f22a125bc3a23969e58245a6b7a0a7344ab6cbaf81fd102e4d41c983db5fa6225534f81d77c685a637db031ebf4060f42cbfb2492dd52ba95c5f96ccaf3e2bf7569e318b4f1e65dec4e7bce27515b2d5f154998f63f3cba4e00407e89929f50100463601c5961ed1f7e36a84e006fb374fc77eb5b0afa2239c0aa4c1561793afdf59d9d9914ee244e686aa6778bbd89eb11029926bde439c7d6068fb821d2decb63471089e4e8e1bf96d56c40eaf3c307d652f68a0c6fb1e7a0903be7faec50ac1eb92df71eb95a445ec5f5b951263af68702e71b955853538a7442a23fe2f77b82fd8f652093c57ec6c431c0b5f96d064ee5de768d57333425ba575a869b9c553be256b36f2c605b92501e2022262c55929bcac00234e38fdc740a380ebd9623cc0bbeb5ab37580de3ecb8b0f78f3761b189987876b4f78412c825771158e6ff31bdd813e57b303d889e516ad5216046b0ed94761f5e464f59b85af488065b230347b428b68866a2ac55a98d318dce7b27f6da7cc968f405d9cf428db50fcf49e727728b8e9da5fcd76d51a56fb8d7df62126126f1b34e0418f673f5124d3df6b3900a59ba708b53db11c966001f1d6546615eca778979828ab5e4d486e507ed9df03b3fb10431f11fd3772ab328b6994850b57bd4a45465c2741a3226617e87f29c6e857614a3cc3b01485a993e517c4588c34277c77cc4190ea47b725e8841dca1ac3bdc1f4f119b9dc1324cc2533b503ef6c324bd52e38b990fdb92f35bb6081dc1317f56480066fa73e8404a92092a013f3aff61c7869c311efac71a3563c89e8432d140427834afd9aefc2ef436d8eb3977e2c77248add464692da4317d28730efebb302b008a351daf50e241c2decec2b798534708304521b4b2c42de330f1cf2507ced45bdd4f70df87c0974d1028e01aafb0bcef103a39ada4951505e82b42d1a1e9cb9066dc0faf16c7293a3cd564c4ba1acced04cb61720f3e3afd4bbbdde3387fe56154373346437135598cf4ff99c81e9b7635b29ce6322b8e66144c96ce3d555aa85a0fbb98ff4a7a5bad11d16d6b1526c6e75c1f81bf33b6c43ad385ba15a24a50841d5ea6da726f2e14d10fecfbbd1b93a5bac087944a015553291c03b6f766e057c612dc412ef1324df575c5596d0b30b1219a9d4034b95208b8b92f6e161a074ee4fb95ea3ba3b8827787cba2621a0bce49864648db5cbd2b26d32de9872a3889f9ec7f2edd4c7a68f597ca0d68f3b44f737442b177230bf186ef050bb236d70a40d143842cfa196ef2e212b56c8376ae0347032ba6f426b04465e93bcd6c522f123c2aa936cc3bd91d044104c9bbe4d59d81db570af343f28b8e91a08701a03ff626f5e1e1a0b0716a434152e050cba8f0281661234a516c30cc0e46bf481816e82969a70eb2ca67d9f9b08fcdbfcf2eb7b0de81f3bdbd4fd1b184213be02dca2c3cccab4f8d435512f8bf3f7d01c176d99cba098a9a6dd1243d971f494011a65f9b39a68b5136a8e7d050ec5c98a4f760d3b76217bdc9b803621355b90b78ad58d9a60487ab78f08ee872dc6393dad6cb04a0bd8b22ecf30ba63be99409b243010b63de7ca8f3f9900c12ba2429dee3834e20ca549404c4c4aa21fd638f029e736eb6e1f034c46e0c91a971235772f1146682933ec8218ec384d70e17a78193fc92e58e1e5174ce6b57785a2153f1184737f751343851dc367681af0ba65926e0f9125926d72290d55d6b2f3b2518f66d96781d8b578a0fdcc79971e8826548258b3b2a0b8fe5a4a44736a6a90a5747342d4d01e07c86e72e72a1cf4e6670c3c0b14d9f146ae1fcf02f0d34263d23002595b586573bac6b1e1d7b25f8e0ee8e7496645edcca1e5b0f6a63d577e79a6aa3d64751a778dfbfad7c5da10029cd769d7517c88885658829a42dfc353d575664f39e1af812e7ce982453895ab65f4c0705013143ddcab8d84873f7586e8a74e68737a44c71532217b167f85d6ed20c3cd50b2ea58fcddfb52a8acd004336a68f2709ceba55dd5291537ea73e67f14eb6ad12a60088f1ec51a9cebc8a0cf8fbb2411514115001269d0e9f6aa64da5026380de84aabc98f01744854f3d77e011b7d763c44355516fd97211e5661eb29513a69415b3faa85da54e3a5d72f036b69b96e05a07b5dba540045913b9760b0033ba5bf243be3c8cc74d5ce362302560d88afc6e0159cf2a356797ad03a6de1504e94803e8e1106291c2aa867fd6c156d1bca332d409801b104d761409b5f2ae613796b43ff98a7bc177d913525d574fab9879f02d8b73cce51f69999aea33fed33f9edf8c87b5bfe033e1ba8a5586c8d77bec0cefceee197da3a1f4af93df23f1733034094531d5fd5ef3edc7020d491b7c9ad298306fa3b9ff2b914340d775e21c89d41b3f4e05bb785e99ac40381f33b163eb9d0586f6255a7df00cbeee455de25f78595f4755dcdaf463acdc47b30ab67bbc23c983d07f8c1950890dc0b7fab115c0260ed8057d267471531bc9f76e7104ea9994408ce97238de546cee7cc65c37fbc4708ea7d47453f2d87480552ef1d1ae8e10d328094d026c008ad04d6f1cd10fd757b3b0a57e57ea5c4bf65f702744324512505b97db514f5b0489025516ab9d9eed138eeaa41fe4648bf5a43eea159971b1b0703a0bc4dfbfe5db8c9a186f8944db25f96398ef82c06605dd12b9232f5e964b4bc8e7a38b7a3bf5cbaf738a190865e4af55520a1c64780cd1a6394e8f91a9fc08056958832adb462fd911650cc7660f0c0b034fa011ecb2f784975ce657c33ebed074cdd54c193c973f65f412dc0b4df76501777371a80cf07329aad5a020ff05d2750d37c079110cbeda81d702071eaaa5296c75cf3c3d0abdb5037c5f6112c3b66fa33ff7cc0968c530147d5ade6306e1507a2ad86f7ebf197b6a905fb73f3e03f93098a2e19d621d3708c78fd95c5771add5b9408884a17368a8e80fae9b943b5a47a634c5dd98076fcff8ea1ab89d3650d0c0a8546939874718c62bff4b37994b9c02c97ebbf5f894800b45c8b0a2a310013f1da14bdcca742977ef841b824b7bd65129d16ec577bb624205643af5b4e52ccea0f254ba3df3acea632943afa2de0d67c3ab21bb9e77c5bfe917968fefa0b27b59d1f8e3e66ac95f4f9f24669846ca5d211ec57e91bcb1fe2c5505447becd024c820eb844b2d044972193d3f9ff67b192dfa8efd9b31e218eb7cad2dcc153cd03d2f0e7ab3617051b7c988816ee5f8c58652282507260176833d348f7e6065e37337c8f2163b5585814af99311a0bbd276e50070697a2144d9b4977f962f6b1ec013721276d633f771659b5d52c64e0c82f40a5c0084cf7f9ead00d1dfe9556e4f5202adabf734f3d8d144fe971bcc80669cf2e710d2daa64e1f75a068dbeaa337a7dba27ba46e0bd61e6a8fd3520ca8b4715ae06f2ed592d759e14ea0d4a9cda7a3fd09f5181444acff8f9674f90120be5f5a2563718456292d2843c8610ad431e54e07532dc511c274f2fd5a80f117a3ee59fe67503e55800a87ca94b1013f91234b800e8d8e7ace2863d99cad6b7f57d68f107ebc9ac7c03e4039261eabdc5fe321cec0a84b007b47bd8cbfd466107651f897d3287b42e1f67bd6c670f1b42d1d859b23e9fcb99ec1e81427710a291187af03b35f37a81f019e10004496dcb74d73ca57727d980e2510f96f94ab1837434f2397a7f22b0703b0056a3e90276830bbb147bacd07b12a44a1937c58cf9c4a6e6113b0537f975930a6f6051c6ac1d8d6dadfae40934d0216213da3916c00ea6592080ee5efffd5af1b7abeb1b7f4d0af7243aa3883fb8a738324587d74e2d42dab4b39e987614f3a905d34235478ad82a78d78548f938823ac48bbf0d99afde4d15a1307c8b268493f30f28172fde8540d2da2ea1f8dff6ad82ca6e2077eb33ab306dca9d76afa5d8d73db010ac0d6810e0a4c2c4ce04bb34162c84fbd7910ebbf7619c3300765a5b2f7926b2a0f5d0465a630c0dc40134320b00a75c0fdeff9532e4b1ef97ea4885aa20cd11fe6c22d6e4ec56c84c61d44df7e10780e9aeb567ab592c3cfccbf504a12819f828ff5e61925cd37f21fb86e6fb43c75986f0fd700307b49c317b24b112e51434efba467102b6da2174c09a25bf1336b661603dd75f4e2c5147851a1c9d5c7eef43ac6113bfb7faabae4ae437c703d1ed5d4491b02f6824ed5e6c45336a6f54b4d5e39ccdb7d4195cda00f6166a924b5706d6ded1647144cac7674892a8b957dfbd9e9190d32e7af144ea56601ae4d38f582cb68be727609f028575f3d56615c9b459204c7fc2289a8c62455335ead6e71f033778ef167fe3f6b48033e42cf1e5ca184d2a019e910446e56a7d0799ce208996131135492c11d1780ed4a9d494762e7b68b43dc43c6d6f4d57ca64aa25730faa39a6baff6e9bdb964f9a91921c6ca0f4dcaef82497c139968f0cb4376b195fa46091d78dc10f6308e875f07ed2332172e12cd9167f4cfda35a97c48dbc8bf8c653f30d7d97804cf5e826e9deef1fa1afcf9aa26c6e565ff9421cc55b3a6bf8b1d2220e695f0dced1de3886206a849d19ebec23067771a10a87d6fa9e39dbfcb68054131b95f48a0f32f187a0a2c9f939aea514259b6cc893f214a391795beb859ba582f6078bdad133a2a1eb97ea36214109d8446f180f1a3b538ca3cbbe795e158193bcfb1e648351912496132932be2d22dc0eb099630f4ec43b96684bba688cfe0a5d2f74f677e62de39e44e57d074b2e11a24e2c25e3b23c591c9e9c0e53aa384fb19c837db8ada3faeeb65743dbcc3e09523fa586d936888cca4d18db887eb28e81276f39fb458a6a795e45bd0bf7688b7dc95422f78b5d05dd3b9a79cee7a4b44a400d9a0ba6766f9a52259bf57de5e1dbdf9295410545a7c6290f8c0112c85bf1c4dfcf490286d487ca73e81d4bd88564917b026202817e9039750fa15b6b0aa51186e4b94bdf764c6c40ba58c7ed3410b6814bb6cf6526af8be3c692a0c1f58e7484013ec2b56143a9087bfca8d27e839639b1d88c2d85d84201d99496149c38cc174193f271882758d349bbfbdbe468fea50e619dddfb6278f04c70ac4e90f80f3d3544a69463a0c624cac4c6afb73ecb9219393adf75f144c7bfda4d396e72f65002bfa5069e20fcc5f72aa314d1f758d55bd0c2985db04d85c828d287df679ef1e65d9539c5d43f49f46d266a095b98d1500ce6597514ec9265c931911c86e1106b1076ae0f1aec9322685b9712d325293881ee20e35386cf2830e17e2c8853cd51aa13a7fc5a7ca6d459c3e4d9639447c775743aaf37720ec555bedb900e5f0aca39f8c3d72c32a342092a908dd899a81c737842f5b10301cd5dba07ef2f6410e7cfd970e013ae78b21f56c92ab9be3a457c9b39571818cbfdf5e189d05e6045e8ff1c50aa309a4d6a79f6ad56fffab4b8d19896818590df8c0ebf16873a236555eebee41b1594f44b5e6ec1a6429f138c8872a5108d0b6c431b8248c7908e90f5aa1b543e732adec951bf824b14de7359af87c21dd82801653e0c6404b9ac06203abb67ed0c3e02da1fad583c6f61f3c5b363850f703da8f78dd30290eeb155ebaa84ac491f1b63eee89f46f108de87895b37b55af5a7d7d4136c6e62e39fb7c3d83ade112817e9e857eb8e412bf394a4e1d94eb81c9edbefaea9c7b816dd8c9759fba70d7e6e041f4372baf993f55b892b2900dc9d8ad7a3f47a278811d253dbfc78d399cd2bb53f2d279cb1404bfb3345705fb4abf76122e4c92e42347f48ed23a236048e9916009f8f2faefeb151ce875ac51dfa23eb7da31a1580f8ed6ce75aead9256cecc952c9610f888b1a36e3b56653086070ff7053f8880f9f12ef216374fc53165c5fc6768998bec0ca7558d6807ad2bb69d434f7d49b5a47c4941f11021564d9ebfbf9cdaeba1bdeb5a85fb8b7cca792220ab949ef89387e6b87144bed2ae2fcfa5a51094c6da12f747471124a7863fb98f478f4d629769e708d213b69bdbefeabd97ce96ccde2ebafea8796b5ae9598e7ffbec83b46c2d6147b27e93c5d1ae129050ca487a9123e893c1695b6df8fce3ad86535f01a85498abd4c954d6ebf0f8b4aea0d8660d9521ed67a19e57e09ef0cc11c8e5e4b8ef4108f4bf2b176350ae0cfd508dbf31c1976b216290ae8f4a18a3182929e25d7918f31b2c523ddf0f9d411095886e5a03eb1050f27b44bd04cc4d6863825f7301020f9c40c1bfd441eebf9e76f460122321847ab6499efecfa9afe0fbdbcc83747f4af5a086230ff3fb3fce3b3b0821ce29deb2da695ae42b9cfb939a41cdc33f7f79c6497a7a9277a02c623c5c504aafaa07a414b714ddc4ccb170ef39fff1158dde180677923fe0a88f16895d9ded4e02f4490806e80fec703ae47216574dd3b4a7ea350732b7c525e39e83af544ee9a76db03c4f5b15bfb0b62854c4181beb94da5f58c8a4607c148995c0f55e00ebadabb62fb3aeb826d6f3e6ce833a00ac2ca8e2cb4ea6c73c79e7e504f2cad3dfe9a5d716ad6a976703cb9b24cbae93194b02b020649ef304cd4463fdb103ac766295d6a7a7b57641341e4355e86ccc1b8874bae693af5e404ab4b0407f85e78ac23e2c0d6eaed72184534234d4b85a3c07cd4fa2ad8697c9a2ac811e1b32bee584d36682998fa94400e2dee6f2ebc0c52dbca1c2c234e4b50bcde904d8881f8244ef1eaa385189cc2d55ded5e68dc043267b1cc842b0f887041e1247c218011d31e42bd6f0035814f70ab23cd7f3edd13630b0ce7ca92d321566321276bee0fcf934735c961c4bbdc7fe6934d0b8f06897e690dcfcb5fc8db201c90152660a4762228b62bb71be6b4437921021e4127173c5892889c058f3d6cf1089b8b6aac7ca7896b942ff3d664b3895fc4945fa1b942a6ee9fd95d515af9f13d13f24be09a32fb63f36dbc0cdffa1bd00c29838b1c7f61eddf4bbf05f74cfeecd2e0859b3072bf4676b10c3c0e439c3ae4e629ecd6702da395273e23b69cccbc985657cdd4994405202ce4e6be9071adf3548fa18f66b847323985a7b24f70beab25254e745ee4c35267d7abbd2a9af45d3a6028aa5cbaef4e9625d6652f32c0329ea9efd0823ae33b443fc0c6449978692c41845251b3dce072dea07e1bca7742e9ef24c843458bf66a66c7cd92a891cfacf9e130fda7d8a1006cbf45568f0b2f04602c6092eaaa9f53e9f0397b7438ff338501d3fa7a435d6022fbb2795112028170c3c3ba4451b43d2505024fb8aa24bf4a6e5de3ffc3518356accf9d3682382c3fe156b8f22451cba7b5a5467bbe5359e8d1c47a2ce7648a642a30fd92c90afe79240bd95fd3ab1d4b73aed3c0672a2e25d998cf2794e6ed70fffc8357c6293adb6395eae35608726ca02f6620f4550ecb96806ee39d83e7eb145692f8fb1d674c42ce2133d0f90ccaf25af4bb5e5be04d976c83cb0a6611c86ac517cc7888b4bff3acc58ecdcf03f6b08c0706f7cdeec4d4674fe4d4745d748a05295e6a710c5217661e45bdddecaca28f3a8c010c8a6d64b7b86d2068f7d7eda21f1d8660545838830a1057259d9d52d3a55e5c6a58885b359c50d5d71ca35e897c5c831b961eb752b0748a777e02b8326458b1cb60b126075ec0e1054d4612d29c90e5302e6ee20cc99e24d505235d4c27885acdfc6f9b10ec6ad73d24508f8ba3b984c1be1dbc06392ee5c79bb28b6f308051d4c9e5943624ddd4af9b05ff67768b3445cd29b0be62abbb291bc7e35aa4f98dbd62a2dade99b17cb54e2d99a9d01147b5d6982ae8955a5a7f1b7c91d56e668bbb696ed9b2dbf89ce91d97365ac4e33472bcd0f78f0a8fb2f37effb1ee2c4648e791e0d29a8a50b138260d5db8948187f56295cb44455440b7c9d676815d5ee2bd64fe8839f5beebe6364638d40acddb295317bf631fba0e79aeaa880c111405ea53a3373a23417050d5e85d8be6899367ec63a00854394eeb2a4cbb267ea8f254f98261d1bef81ee43e22e174c50a69f978e33f6bf2d8df978bd478eb9829c57a3181ff04f19755e86ef2fdd7c1976d71184e378d5a4f41ef1e959bc011f3e2757248a4cc10fda4c280e8044948df90ba2c4f0bfb3cf276166759472fb6db329a72a1d233d5bcae4986e09fef142e7c5b7b7529396172758fccbb9b15b9cf4b38c57168deff21a2af3369432d05ca060b3a71a64fce0abe9648952ca1e25f45ed585ad358e568c5105d0dc88dabbf9037f94c8156ec48d12090293df7cb4585dc965d419085c232448e5d959876434e897e36c3b5ed564afeb23940a7cbf59144c7737e91f9d83a346d4f42caa3669456c831f460bace9dcfd5c88b307e10844808ee9be66c9a451f9359826d67087adeda07cd027233dffd45429a0387e48addf46c7e78c4b1250450887b9ffd5ba9191e4129638303a2286fdc622c823aaa72a4f39b167fe860dafbe1eec98a7df05bfc637a858f0b5f809f47d2c9300b86b0ad8d85d1927bf3da9055aa4250bb2d61cbb89758224fcc7cf5668656bfd67a901af66bd7a06d38dec7394a5a98e3bc11a057c30bd827b47008fa15cda828e932269204563ed99f0a3daf0df1b2e285e1874e90eca26caa291dc3a7798540135543e1da321bdd8775122525cb3d45f05c86705733d86e9f6449395305c83bf4222d74d4cb18bfde8a646dc6d67541606dde7834c272738ffea02c2b2e4ebb8258029b5ea770cba6af6536204d54efb95da153bb38fadd0a69acb4abf1c9ce1db67828eade05d032d0eddda8affbea53297b41e401d8af2a16ecb89ad7a6a12cb7ead70391ab71b4de8babf37c29d200bfbc5023e7b8bf6f53ab949dc04a4f9a723674cfa8f2c559283510e6407163d1f897c819130cee64ac3deca29058e4a44307d2de54bac7a80aef32a1f9c0b283912bf71f678d6c45cca8139e6c57656634435bf05646a8c9620d4cad9381dcc6da4fd8c0116c4adcdba81398b46f8a5b75e67ba9e7f7200ac0bc26a3ebfb13d3f00c8b431de187f615e1aed6ff8be46cb313b4764fef3e28d7b0221e5fd58a5fab0cd6153584632978310d3e5616b5038c18383abcd64634838c1cdc8e8842f7ae1f840a9a2dc7ab5345fcd0ef53568db7eefa600c6171aec1672bf3f5517e08e6eb2c0a87335970dd23d565c0683b85280494757fb5bfc8a51751f2176030bc7c288ed9d2e041d1820bd8343b4c8f10e371fd2d385db96253f3e5e27e66b8b3789fc34f433fddc2c0ebd10dd652bbcbaeb8c9e5372f0dad312d1c962eb191ee48cec4393640d2096573580c4e57e62247d055c9c119bca12ef0a9594b2249d4b7e86fe5b4195c1ac139d08e1c2fd9f3037f094dee680777f817eefac14de848e5a67e468d71d3552cd9b68191ec249fd519ed37be205deb6b9831d372d24851be8bc2c82e8e9b3ee8867a1e4655ca96f8bc1ea3078274196b30c8830b99a0d3094391e9bbedd6f0a8b3193d7fea4616aca9424ccf7691f6c541c14af1e562635b1ec45b6dcba9ac5e8eb7c070baf81c40e84eac58faed2a9a22e38ea4e4d7bfbafe11d4e5e4ee962a482e3f461e440278960d2f2e0efb0938f2e6fbdcda01fe27e82170da1785c4e72b4a6e5b8d6ce3aa1ce0c3e73e8f9fd172f299e960a2477a88dc27cc54030ac07641de4a092a5290b27021e044a66e4eaa3504ddeec80aa9c3e97905aeddf67f1b744005bd4be44ffc58464c0ddac12d79ea20618bf663f258b716975403e0086f7c76415c3ab2d58a411139a34b19c31df2efb754272e948ebd093894f6adc0d74db690ad7c4d0bec68c0dd110b07ad339aa13bc5a5b6a2a17f9968a6b24beedcee9dd2f3f377b748db82e1ae6e86b5413932d573e861c730aebdd01f28e445c7d9ecc3b99c14a5fb0525a2f91e116057797270c36f0c962a4890f4fa525cc714b82fd9c4e99539e740ef28b027a2b12f3f52ea03103c69de725493d714a528430d77bf9104645b0173fae968b6b7ca4b5380f9a9767f8fb58285dbe1622dbecdc677694a76c7658acd606695e24fa7d92adbc1b69b04d9620e0f97bbec3dd77d70e6dc66bc259b37215fde63499dc28ca8bb6bc8c50528c38a6c806d9fecfb7f0be6beaa74c6d1ef4c8cb21fe45d355b8332407bcf836e3733eac01815457361795a2a84ee94f510a5e06f3e8369cce95c45c8df40f5d2ac1a57a87a293767ad175533525f8595e124c4e54e751e2dc3d94714f10a8b8200f441ebe7ac1e413cdad273a4bb3b7d04a00799a0805d6412007ed0999aeea5c412c9a35092c70d67fe4ec88799101e11181b8f88a82be74cd77ee2b2fc6d1717fe54fb091fac07f0276ec6cac56b25879a8ebaae6f59cb170ca29faa8ad0a3513a3afbfdc1297e1d2ff32413d0a86301a85147b32a59c0c083d9f3868ff2f668352fa510a5fe5ed4a88bdc32b76ea42dbe89ba66486b7bd685ad5a1ac5b1e82ea51709e321308071fa174872baa986f2363c86d735765cdd49d1dc3be42f964f9d6d5e7ba80733f17257c6c6802c57af3a832b671262445e3fef0186f63281db67c9033e25844f0f2f0c118f778634ce6d652b7380a9d9481f824f865c907a6ec1db90337bad4176747356b6917c479c9e03f1f71d567f65aab0d11ffe896abb8c5f07f7c35b3fe197e7a00f2179db6b29a52eb74ea59c0bfbde8c688461fcfee8849c01cf995515e3808336bd3b53453ce8cfaa153caf30a1006c566e6a5f94c6f85d3273fc3ef66c798e905bde4452cdf90f4f5e8e032bf1c51d2c4aa1fb0fe3d3e0ff03b132ad4b291e804ccfef78ea995bbf56dea58029aebc29f00a4bf75e7bcaec6a2ce9b911b9aac242222297562812ff5650fa29c5f945bd172afa79eae15707251174c4b82c8103332d95ffb0b0c0bfe1c9d22e5744b4700950e2ef06991c5ba49ead8c16a5fdafd9f5ab3a6fd65675efe538c31e6f47c3a30ffd57fb785fffdff407b1c9c4ac99034feac0587fb7b8d8d049028c971d586d0fa98f906604f6c54aa0713f79afb9627d09db7311af978c3442bb8c934098eeb97bd4fbfe963df01846b92d451e34f4b71c0ca9222a4a26746d10c976fa618f9d9bbc924200f64fcf9c464c99a350ec96aa6f76a27801cd48ee8247388b12be9d716140eea87d9982f64accb7fd02bd0e69ca8117e3a641b925d0d14fae35157a635219974dd9314d5582f8e0094de1d614bba4cd123e1a4dc03015966dd9003b85720d8fdd655a4e351aa78b0d2e6601d31d65f229aab4084b3fd225c48f057b847b4b8b2b0486047cafa5c10389105f5338c574cfd3184f275467cbaec0df022cf7cde132f49a311265bb5d69a44d409fd1fb956d527d36696cbe258b83ce398ecc7c644f05297f9e7a17b1da1d6aed8172db0fbc6227a05927eb6669dbed877e1234b2c0ea460a9926769220c7782979e063f2f8c274dde017e82495d2b7583aaa6fe8d11487e9eb5f657c6c53d5b4f848e935064976eafac4333307db28ce15e09da7103e02b9beb802ffb23dc8dbc78eb905eaf5d9754586f51aaec27caf1b5c44efba05b53878d6d57edd0997c3a02bf6400ed20dc3f993ebce0b6233b6af18164340c6bac69bdcff5bd45e80f6ff9c8877c1de94f520f21cbe78d0550704bb16dc7dd7225f34635d7115bdafec2a7c22db3411a78ba08fdb3634b9bcec2d62a2fa3cfd36a43a64fc73c182241927b6b46243f8cbb344552b97271f94a51302cc6ce21c8c2fb2ccaa69c0a8dea894df58072f6280c568438747f3e926cfc7880d8ec44b49f8a229b23c1faa63c52d1d9a260416ce36e83a38052846907c1d02c2f2f2c929abaaf948344be84dcd9426e4ef8be3c5cdbc126f54cd5f5afce7e8d1bdb2cce9a50c5e42baaa048d6b721ed59dd595c55cc090c7f7fd47cc0d7a6a4a12d6ba8d5500e2d4f7e7bfd47bf8bc98b1ca8190b7ce63271585587b4d4cf30bf5a41dfefc6ac0181f192c14f2c4a11a9dfcde0d173f2f4bed3bc8eec794a9503c3dff52d8101a1a1a041903e24768a135831308bdddf04cf2d3f2771436703006cc1489eeef176f1baf3ebaa18ae7b3bf9aaa710dc75f935ec9dbb81def9a33e2f46de618ab4ed396b0ba182d9ba56883e23e18c48a8bba1f92bef609514035fe7e9997b085b9201463f62129493f209760e1f1f581f575dca5059dbe7ea75d601c0660968f39f45ad82b511ff8b133bf4573387496ec9819555d19f80abc854dd619921ca44931f42e79fc48257a470b254bb7714806c038476d6d27e86aa7ca57bd354fb0cdd1e70c4baf9ca58b7089ca5fd8605b1de64a387ef52a6e0ef360282dd6dfa11ac7e79866cc084fd4d244b1652395ef4806240058b5428c3547073009c1c06f0b2568a3d3ccd6b30741dd46d480b5dd1a573bee1b208fa3643af1f0a92e3ad301305533d2d8e4abba327d230a67c16715c92e15fec43b757cc506d8b82f24c9d1a144ce5537edc995232b917adae148a264c14e033bb2e3fbac3683f728c6dbffb0e5ced5b92823222185ebec89f04bb237d3e9fbb11560e0b215af55a4fd33e998d351216142783d0db4eaf9d9c8b47a744e454449f713059aded34f9cb3b15fef811520e6da01b6bb7834ccb22f47adf1f914c11c0601afabf94a245be580ad59eb0f74485e219880c89dbe57248730d71d587069176b5d49f054480965075502f159465830e4689082c566b284f43862ba7aefba2a800d555232229b31ac477faefb407831dd3c6654439d2fddb3f0e34ad3a139f5f04f81b3f6ffae561a51ccb9b1d936a9337dd782da3120c4bd6123dcd953e38713078efa14b374fc18c17ff7f86b3455fbd0cf7b1b9bdac90eb71033be5143bba4b098df2770a365067134fb09eb8771599266fba6f688c9131dfdd8c84afe5cbe00e51833ab5d3ca3feb42fb1f311fa2c3df8b746b578bd3349c00be9669b26fa4ad820d683cc08a4810eea1b932f8ffda01948ad1c59ac5f40b27d87d13948b3d181054ee2d8c140acb069b3089be66b12a603fe1ae6d659b943f7c5765062f29f2f41cd3c9a65bd862a073e9ac529a8f2eea97ddbcdaf4173633a4b6c081e886662ee8c9835b2b5f612fd2c0da731f978bff46f1e089c72f476adfff44076fe4015bea00ee60ed6aa7adc2868b57f722814b2d6c5ba10973fe8cabe4d0f20c2e6df00c87983528a31f0b208c277afc91490f820332cc756290224dca6ce53a43000ed964505c554bfa306350721dbb4e40f36b17d22c51d97b0049d98f62bc06fcc85a489fd20657b9e27110affd2c7ae5ebe5e235ce7bee887f0ecb9d87a741b6cee006081be67453ff6d246783c0c611bda27bcdb8dc181581a917e4be4a63195af50d44f4f2a1ce0967a3e7badf145601d148615a21c52bb195b78e15d2be40e6de201091eb0660fec6cf02e59581054289358dccaaaa31c38e38cfc31b8f95fef2697558c8d067abebd2b5ac55572fd3310415c82a349263bc6b84def13b67d1b553ff5905c0ae4049e325adc3dac2a12319d4d4f2ce259394b5338d2bd4829424114b89cf5810a1ae5358815f716d970a1445861edeeef98fcaf82ec79f4034686145368f23d85dfa8ad8ec62926cb768467871518ab604cf2f8e50f36f8de4b234e385743f18421f3659cd922d91cfb355c75d085fb291908baa46aabd752624bb89a47134f421732c0d1cb4a1c807e0efd3a9ea466074a3c014d7603821028a31c624341e2f9ae5072d92e2c5c239a51f861e7375c583e4f348ab89878d9f118622181f210dc64cfa8b6dae352ab3293df1b90a7857f22a630b072658864304315499479d6450b12e266adac1cefeef0f2e1f5852af605323eb052ba73fe7645b79af13ef162596e4beab360ecf3ec8bbae085b395ee3b6d05650f1bdae066f2365953d8cfb4a93b1b6b0f5bc5a15093b8294fbee87b6e81c6949efae486c30e96d505b4914bf9c144639b1dd0c3aacf27ae2fcb9b3ba9f1a1331ee572667bae4a23ed8e1ff1be9c6a1f3f8f5e09cb726b386adf9238337ce2c972e985662d10bab35e69dbcb6835be85b8cc1beaf7699dcdf779e6c86585ae195be82f2d3eba1a553c6bb99310c125e981bcfdb08191cd5cb0445b4e9a7543db27ef55c404a0394a0ac28f125bc7cc9ce4eb703d6e057b7b0a6977ed81a7ab9d0a88b13736eb9a42c2d2c9d2ca599008d918717f7f4277d3b0824aef00c4714b1ae93af150ac47dd4070d36f29ee89f4da366a44578defe304eee2d53eb4eda403369393b06648384bc81b24394cb1d374883ffa81fcf7090e6ae2a6424e03ed612a3b91531c6f10179ec237d727b685f64534e1326b1711eb4e989afcd46066b8a31ab14adb5d9c8c3b2f2c12469117295f70b9603ce3da3c9b13aeb5dd0261ac313778d32aebcae8d9b751bc597cbcc920f2fbaa77929a6f75bb75f66d160bdb6168a768b2bfd54d30dba1a57ac3e6fabc6f6811e0075e643fd67c5736c38aa39c802f1eb3a8618661c1abdb4c2d37a4595daa7f241fb492610ff9dbd4e6ecbb2456be78982dd12a203b2db580ed8480c4703204278230257d0a753cd7a95bb5ff345ccd5da2c20644bf01f6d3b5c12d102a66d8c4ad44f3007eaa2d316b3df6d843d11fa7114c574ec692fc14bb385f6b1107064ee55d5b2fdd9c410e80d5a67687ee74bf2bfe33f1b03ff1cc689a45a01053a25ceeb2ecc7b2c024990b5943bf08e252c4ffeabe5bf95a6dba87f8dda053e47a46ef0c710f4de47367be655ce58ed5236b550091f030fba0a9f9e97e0ead300ef5c9aa123cb92880a18c11538f393c61b4b52ea58994980ffa40e4106b5060e573e854ba437c1df17f6d58fa0277780ea0032b0e34cf1d00ef4f3227ff59b7c3d1ca8b772aa51d0ccb52bbb9e675f0df4b000695e882b3a6087da44f0d56e8dd439f463d4809295851be75c86bb2020b1c962d3e29e5892b0195e8ef51b6ea44acd935a69fe71c42c1e0206ecb188096a2949acee09450c117aaca738e938e0bd34710da7cb3404473a9bd3fd812403584950e76968eaf5ed2865eb528ccc4049a1459218ea11fbcc4ce593490e30f931a354abc4d0406f76a563b1bfdddbafabad612e142106e95de4839aaf647d13efe274ef128acd570f4dcc749bff9bffb6fc5cbfda3741324e7ad3162a59e86fe39416db02c7608f0d0e0061d3cde064970a522cc35fb850bf1edb8f0e44c0fac2c3c2bf9210f83979b2e64b36512a19a56794385c1cec54641eae6c0afb5687e99401fda4d485e4ecb3044b0767b114d2dbaee7569637bebf1fea1289a1c65ee691a5e905f18d08251751a24ea3ed71a2c8cc01b37811f91691307ba03de6579458c4050ae54db1caac929091ae9f96a7e9c5d74d6bbb443173b81839f308957a8888155704f18426dcf9a3c0edd763f440ec3aeb814da50163196a1277d2d9f376714894c841496ca782847ffbe1fc51dfa8bb9cbf41c967da93ddc86dd505f96bb1487770aa8159b12f2500761752e41bcf18ea17f0712dd9dd632c0443e0e2bf6047af6ed62520f8e1c391f54eb405525b3e6e9ea000974943a2d56cbdc925db507b4e8d27da170f5a0368fd4c8722c114008910339892780fe47a9dcd5bf484aaa8e57a654603df56d39e68f49eab5ba2be6c462ae95328a8e15670296205d25e962d654a506811f9814fc8e9a20ee6e6241968795ab949e49c644c7cdef5dabbdf5f4072b6d4cf2e28bb464be0381f14906c2aaa319027d98c1b8ff74a82738fafa4a9f60eb7826db86fcb942602f00ec2dd288a503cb63c9cb08d2a2193baf520f31893b39f917d4f7f9d38fb5585589c471cff37e933cac723316efee9e1e843cedb55507d17d07bd4856f04aa6215ebee49145175a52a51565fd65befb438a72615982492cb4eedb2bef2aafbb9e04bd1950e170a9c47baaf433c5673d1e70cd14b0d14f686c52d03d953df5425d00887a626843fda26aed6b3fafc5a379f5b50cebc8985716fa81c1fd5ceaaf264897ffc29251e7e4e0c6ce6d4c7ff52c5359cab93e31db1eb7390cebdf5298738956f478c18052dcdf4f70e541d8061b71ca575a2c1ab55c676e1e6af531d0a312a2b4f4fea7bc30ccb864694f4162d47f255ada6a4481b95abca567fa01d3a69667703a9542495036fd16082f65d3476e370f47ec23c2b7c7e0cf6127b881c70965f701ab32f70ce08b151c1500a0dae02a6d29728dba4fd69fcab36d3508e088906850acc3aad172a45827277316d4797d9cfff83fd90d7dfc2b66d3ba8a799dd03c7e9c30bc539d3fc5ff5d622b402fda46c170dbfe03802a628a2e66ac7b52140acfbd0e927bc7ac8294c21018ab38fc91d7148d195c8cc1ad0091f10914b35379fc2071b73c1cae5a9dc8127a7eee80fbc7e0a9a7c6f95e8d0dc99b44f425e3393adab3077a22054a6eaf18c52028f1977f20e9714e4ed4dca35149744a74d3d6d77d553feddc368ecdd279c79ec850e8496b98c906134e3ca6ebee5858a8187220539376c25e63733fd823bff531b093e30788a890ad25320699e5f5141be9e522adb0b58239b707409725825749235badeb9d67a332c5a25966ad71c886d2f6a943308830c6b33bcf716d2b90aff747350a4dbf8b0d89ce6f82a2d36674b36f0aaa3f1525f68ebd147a4116b6975e29bce3f4e16616551b186f39a7808c006c6c421af2b9c293ebab4a1f019a6f17b87a0bbf22e981adc3fbe30b087ec0cf2328593c6ae26aebf34e05d7ff35079f6da4412874346f314fc61514c81b35f5256808fd400a89e64aa46152bfcc860ca04053aa09125f02f35ad67ebd3f55a8294298e5e756fdbee25f48395874e8c2a24dccb1c3af81e89b932a3a7f332956aac74aa729c028e10df6adcaf1869282eaa1fc63ca59cd516e5c369b70b51636d606891dd108e9ba3859a215635ef55b96111cb816a224aaf6c9f72a22d24b38895b6730eb6d54223cca43bab75a3469c88e43397451e445ad6d9b9fa1f8a1220002cc7f166a2cfa83a35e0fdd7dff5c5868696a64db0b6bb9ad1c3f8d931d50fdb0d66acd847116e3579949a5a671c119e7512a1b4a53b4166a51bf399323ba3ea42861567759ea5f77d04140e10249575e7b6900afcfc6ddd837df471f4169b29af76ae2f4db32351dce8376b630ba5e796f6049b7db6ad7f88fe1334cc361cf590a312013ee037566e2f5c34ab8464a49a149492dde44782cd1bb174d34916ea6ea0fd55a37d7334149655a38282cc4fc84802f6a995fb29a68fba2e67dc2da768f81395edbd908288a03074d44f58910e372f87c99ef3927398b33076c7c859ade63a5c6393bf270e964f857da4b4c544159a7ae02632f1dd0a1b1772ebb7b321b83b6e39373ab9c0537e9cc297bfd8fd5017eda2ff5db90a8f90652913ffd345bb807de26044d3a83e2e47715d12bf5b5e3058abf42b02bf92171f2113cbe768ba53e2e87a68d3f84c21c05347ca585eee1b063c044c3c2a082f9ac0e99d12fe11e20776cdaa6a0ca003e8f1d5b8ab40715066c5e6e9943fe62dba6d69f77e55ddf7cd36599ffb4621720c99954feddb16c6b6460737bc046f220cf2ede9e88ccb109f79412efdd4cdedd37937410fe9c822210f569ac83e3de011972d8cafe62deb5c95e807a46d460c110b201f31ecb84854f58c5d26d63b8424176c7b376822663382768bcde8bf1a510782425f177548f82578d469b6738c03fa4b8e353a2594dc096bc8098c57246bf22bb9489dadba87d0039be9ab92ac175a6b839df4dee77c1b9465dd9fb7a54a4ab7a5b667feb41877dd230ec8fcbd945d2997b707cef9c3e26d983d8f59b4276bf61a258e6204aa152f44a93c475fb8366930a0c7f9a772de0465a360978665df84c0ba5acc03d5b18e594003717f718b813463e10e16cefa152996efd9c64da715ef04aca4bcd01918e16b92177f7f08d3960a94ea8bf00253f8f2b31ce90d7c423d6fe8421b76b9d71276b8aee9a98f0f5b9b2ecd33c0318ee09cc1326bd09cc95a3755149a9d0b5f0ed72270246bf2f57164b826fa4fbeca1f9fb88693d027c5f443373f1a10d1a1ad5b9e148aab48a80ceedd3d410ebf11ba602616638598bcf6f98115210db26732888b8e2f09fe5d0bf53a409dcc0a42a7d93203c14149199984ea2b9bf2f1f4995294aeb09c23da434a312c0dc40b75148e7f76a94a2f8c2261239a3611509f0ed09713a64b027e3d8102b1b8247223a29a2a7282544d4e14f693722c208637bbbeab1cfbcd0525e2b890584e7f63446a4f71b3bae4543bffbf9af403af399d961eb42ac64d2cc69746239b57cccef95e67122a2ba2626822ecc1da4eafc031120be9c3e68b172b51f018e4f03c360da1a104e8e472df1bf046e28f41eb394ec5fa7749bcd996eb8d60bc003b5aee1a62578f51e1267c625962e40141a0b54a2df2108f34dd1065558c43c0bc776f36739a0b2fd9cd48b0b3015f9aabe040e394ee14d11aa0b13a375157208a5530ac4cf91689b6d446999b5a842aed6c998062ecc7acf7bb38bedeb0f21c55a1d042bba3af9f77870299408446602bd7526d3c512fe7dfa5dea4885caa217922844f54604397e0b1e67e271cad65da4eb8be19c7ca2b10e5d28bc3a5d11b69116cec8239846ae22a6ecabc18862cb06e6d9de633c1f27888d4a29d9f529a543ed3d9e5b58410a0a30a9171775bad46013bc5345ba4d58f92497a9db763588aa09e49ec1181b8cd70047e5dbe4c3a17e5e6f3068d8314ee6da8b6d9a36722174c60d57add2b72b2280ace8db36c8066796fcee6cff54b3213f556d1ed61c5c109984cfc82422764d8721765c9f5370489c897ce48a815503107f25912a40c1d83bb7bc2143872aee447b907b43bbd14621efb3d6b2c4f1d4fda1b842546ad946c9b875201b4dbe0305f18bcdd7ea6f97403bef201cf76666c7e47ddbcc59b5c53e46b297df5a9f8867e0d396bc7fdbcc52426f354b979b7486b4d0059006c6416f10b9859605ff9b969dfdb67e5dd8903b2f5b0c779e18f927d2c8da2d762c2e71e85317bd50071c1fce7f2c4473c6ef95c7b35ac04718a7d665ec5a4380cd8e2a91f8f7f34743dc067d40eff9577c7c4b108b038b992ec0161b610417c9432475b4d1db437da89a66ecc2734917545c8d897a4740c81cf20d14e9073164a3bc2e4de2aaa96f234d148b41c544a613010263615adb1dc8aa930580bdffb447be1315c01076ddddba751e6744ab9d0817b5710d87f0ecd6adddacd54f7ad2ddad6683851e309c8ddad7d83e7c00b9c2c705a401eb864c6f51cf8c1759f69af73c9474f91fd678fdecd550230c528979ae60fd32ba9d645a34f814df40bd9829ccd4be55e0bd0ddc0a507d974c8c1b283880d1304e198a5403feae93f91b18d1c0c80f72d268c48ea46497a903d658dcfb31f3ee9bf9819aac39b2282c09888dee4477142eadb58ab8848249f28436415465398a2e3e837214543bff9b1cbd7cc33ec43127512c1edf642add4289862187600ca8fc3043cbd3fa813f683b73a57aad409eb4da77744d360de9f9f72deeac647b15de54dbe46855c6194445cc25c9a73deddf938932690e8baa7a7aacee01368a2fa834f1dea53d660b2539c242e600db50aeb15375099dd39dcb32643de7f99eb91254f5d2c0fec94e6f95458542e8f93ceff1f9a3fb7e4fcbe1c8479e360ffc21700017ab76101225a4a23ab4801eab2e758d86d4009f4dcdd80cdc2ab28713103ec0ccce373f04040b52d124e1026b797cb9905137a3de13473f604448d607b00ab92aabb64c4b8bef519390bb5fbefe20bd363f22032c1445d9e8c2e719682f3df835770134fad9068467c129b240e050b36410e9f225b24f50738cd332e3839bd11f227299645c236114120ff2025b2195b645f095aade9d2a452dfe46e7d62ca66e1af00a119d59f8e6cd9ed86b0cecedee23c4010c3e6cece33712fa16b03c85b417b8a7dab39519a297ddb2520080dac087f13b57d0defc382acd660dfcef4eeba0957dbc5c257f73f586da74fda53dcdc9eb967eed458bdcf22b581fdfb388eb6fe908467b4d695664a384b0308367a9d7063569ac0ebe1e5867a0fc378b75f8a5b7ec0341f5a6ddfb772123e014958aac5916046250870ebb864df16a070877fb421a78f97417bd44376e69b3b2831b13f1ec9e90d699feb1e98a1fab70599b9bd70aa615d1e7467127e95eb6785c829790ebcda014388662719c1562113ea20208e5bd061429b3786a2bb2d1645fcf4e7f29e38b265b4ae912b67ff0c7566b876f6528eff2fd7ddad333b4fdefe525ec562274029edb0b069686781d30180a1b31997bd77530faf71a7641ad7898c41431e8ff5260aa1faea608e13d6e831c810e3930213bd0d98f934df0b4ff77b413421b75b2ca220bf2134238d0ea7450921c841819243bf941d01ecab91974e260373672a564fccd515a584c23eef711560d9fb840684c7f49587d9cfaee4fcde59e33c2b8a69ab9a0e7776d3bfba98bce6356ca75beaec49938951fc05618e01942281c4788a85e996e7f7eb68e0fb6b558b6e91ed7e2a9a6c9b126b619ba2553e24b0844fbb01ab100e75cdd57e132a4cbdd06dfab8e9901c9b118e5af75f304ade3fddd34abf35bfeb91cc76231744c352d8bc9c04b3c203fc023e38d2f73bc3c04909d1aaa053e2ff711725c0702f645dd15fb99d3556a688320e1e9cabbd8ffc0ed98f89994bc99cc6b4a47a310cec5e4b6922069746d2521923340b3a1494d25bac6e978075b2eb858b72291446bde555df3c5f32b13da23c23ae9d61219a622f56523ac4599638c84ec25c8ab1b49dd601240257ce3ea67f30885cf40ea273948e2cd88eb3bf26629beb2207401c3bde4cbe3a8b159508136143f95d51317b6d3260018c16f9b3e50908cefc207b4f44829dcdf18f2f0901e7a97ec39a2e6c075ba93e4fd93e8576ba0036f18b421a85af4fd67387a4cdec2d3e10362805dae6389061caba917cf53afdd02f6e49addbd2130796ecc8e54a40a78bf7f30ede17ba213b2709e4b6b073c694212a905b1abed2ad1f290f706fa1ec8e16a0d7aef6b5432acfd6fef765cb8d25caa95685c52464f4ef5f91ed30079b6011a1e0a72b01a37a6635525af2794031a4ed9dadad358b7db0e8d6e7bad8b210ab49db13b4b1dc0299256b76d10bca3d3d4a4eee3cd24a51ecd4ba6bf7318a52b3e736b630dd2adf727ff501a760187aec47d244d81702292acf74dce331b9365e44c701a8c10c9944d3a28dbfa006c199ab3846762c7e3ca53e47f724d90080dad843c45f8f1fc73bc29414880220bbd3c53d77f06904a91056b6a42a7b1b72a9fac48d257862b3d2f2fac58f890cbbd88853284a9254926dcb56843219f6f1ffccfa3fb79f67f1653629020762b62b336e19af618f92323f027dd7383003495e97c1e694d00319d90c8af810b8f2d7728c29efa04c98a3a2742392c4c88d35edc2fb333a9310f6344931c0b76960da32e26fa7675407ac8e5a5b0e3cecaaa5eb939dcf1e249929a7d2ac6f0ea827584ed05adaf0b1ba2ccd1983fa133ae1b9950bd2e02fdb99fc492229c19386280fdf00367d4b032a829245f19f211759a00a7dbe19dac25a094b2e79b6d2348ac89e9962c9febce06be810a5453a03200695dcd301f9b83b650cbe8d7446738ffc3aebd1c157ad3aa41c64fbd9fca995643f05203a6c210d216035f94ac6355dcf60171c839828c12e849be45f631ea49f9c9d163fe43f409976b8177b9341d100a6f004c561f25b0b1ff6a737b009b068edbfb9894ca1f51e6242532e1e273e3cef6a1cf0c771e143dda56e19ef7e255a684b596565f73049655e326f51a80134d9131f85c8a334e4e860f1e893f0d6445b7d50030cfef8e6bd54123f1b6762769d8dc2dfc0f24d2f1d84930e2405e50a04eb7bd5df1aa94aeaa1e90128e0ba155ca956650093013cc2a27832cc3601c1b8e8a29da9890ec85a22ff9920d0de3e1217492ccb09ad0e4bf1905d15efec7ed5e4762e711e909c438638177986c8616aa38c247cdeab4382644366af10da6d14a9898c6b01ce5a808f74fb95f0a453e085233b5a10cee419a89362eff67671a6e002607f0af92894dece40d96e8c8aeca1c365de04233ea0d380c0373bd6fb2ef30f2a1523f20a645626202573f84bbaa2ceba7d224dbfffc33612cdaf371103510a80a1af1285eccb4910c5a3d51e5921c84e5ee06c3f71ee41bfee902f39902e4e16a41ea9062a7185f83959de5f3bd2bbea675ce861b345fa3669af9baff8d957691df91417d6690d778c4c2d12e704834852abe276e50fddf6647dd9a60bcd62e0f82e01f01811bdff151ee44cd9d93e56d42bb07b2f7e1473bc9d0ed3ddb8f5d45d70c4960fa4d9e9d8727d80d71297ddc08010bc83ce6c7ee945c3e63e22e2a1ee66ab70c75b96fd472dc0a82eebcf7eb42af4c03cca7a6d2151f5aa6917ff767fd4ff0a3622f8e1c3311b3ac4ae9778a23780c95e32755b16063517edd196e62ec58017fd7aa438a2959c6a44c20aaf01ab7261af4a1bb29f13713db46cea764ff4dc24bf3332325dedba0679e7c40a74ad8fb9b5929b8d2796acaecaace5baede5a3c7eef64e10a932b2116e050f8f81c92fe1d9312d7c4ec1fa6f334e1d4c2b7ad2c121ae0929b1a9e2e53cdace375117738dd6e6661bbe5f6cfe3cf8da474c0079f6a287740d16d6497b6a5ea976b60d5d690ef66f0e562b356bcb0af17eb4b7827a23ee188fc93f96847c6290723c8b8db0ee7d660eb73cf44f333036adc6fecbf23fd90568aa43fbf160f681d530fa87c12dd1899f45bdd5c8e1492c71b67f366ea0dc4603b1f0a25528dc941c32ed141c7479f894642fc9d7766f401b8918c4d2abe8254b04f1df0ae1d938283d9f9c033b2348d16c57e75270bbc5ce78c85347f63faff9d0a839918d392de8471c71f1301f7db48df8ee67f07372d84c3f0409cd0cff145aae4bbd41bef40b0417fcd373edbe38b3e49d880c9d79b3a9f17d4d75f2519e5da81af69450a0db450eff3870be69d804626a2e239e751c095e6b873515a656a6f7a52778dde912d158e4edf6633aaa5553f06f6119d0e67d2cdf32b2519cc17ee737b4a6840a65a7a6917926c68a1850b0be7c47f8ff4888b33746911fd59143569a04f70e1ba6423de874641c562f2e1deb58d9abbc2ecc315e26575423d9562a6fd6219292042a22584e8ea8055dd5c04fbfa410e89dae75d097e07f52327342ba50880396bc4dec3608ca555c2660606d9746a9869b994d21b3c5c3505eac1846c427de3baa8978f8450d8e6289efc18b85e2812585b49503481eb375a9ec47b6f16a3745ddb36bdd822885a9640815210401645b102ec46b2cd5ae59abe73d927408458a4eb45c5a5f96ef0a5ce2a6c19e717fbb456b80693b63092436903c7fedd3112030bdd94592a70b75cde2b76ed230a2ab70528882d5f65a5ad1931d606c79ba3c6e2e4cc116e7a6da2ff0b2c955342af5e10a075f9bb097638d7dce782d6a0b0115df1f148271324d371514f02fd093bc4cf11301a9173be77062fc501e30bb0fec42f0714ad4d1b93aba48677cbfc478b21903b7fe61daccd81510ce8fa7f3580eb7142a5aa23e7965e12e50ab8d67765050648e49c412bd2e7f11ef7c0355f1b65a6de6d01ceac3b303ef410579f8f5e204c56f1dbd173e3453fb92c71b6317fbb4248548fe1ea941ecd217c3cde50775579c6e40daa792242bc49f2b2a8c742ec611deef19271127e8877a7dbdbc0a42a5229076cb3f54f36b5492c091b6bc896f780d8e0775ec9e35ea7a4e111bb73661c22e86bfcc95544279c6b2d3fac37b203418a6306b95c2144fd225af79138e57d158b94097523c8365a752eefce60ff23b3edfb78dabbf699b8b8cba4a0d06b7b80f0c6934cbdf1ebf1087e43efb4e8ab176402b277a9a305a63c9dd179febdd978e0b01ff94af0625c2543cf514c0dec6262bb1a00300a83b416ac345f6bb47905357c27664928482c3461e9cc7f8a54be57fa96236b919f132674fccf4a326886b790d0ffd8ff75b9e735a206efadba46894b16228749d61523ac5374d4b3552fdae477b7c75895fd80759deeb0449bc03c6682504956f350f3775ff263a41d9e0b6d15b505ddddcc9145ebe61600cf3ac2b4acd7dd09ec6cd125591942ad2fce20373ef3f1317de3c7a629088dbaad54d1c99f8ecc51ff9bb71945bed146be287ae768da8c37eecaad52eb08a522c0eb142f9021efcada7940a73023eb38faaed24d99b436ecd6664c39f45c8d222213eacfc42e638a35ac9d96363cdba16fdb2e4a5ba230b7820758781f74b7276b14389661a1de04c094aa770c9e83282788de4ad420953a9c05b7d18ccde5cc6351b12f198def2627673ac70a9b315dc065e0c646c42e1d0c56625b9507d156a07f44f518aa73f4e626e6bef7d285f2e5f923f2e1e3b3efc936ce8895c1bdde35a681a9aca3fd1f73ffc1dc153ef4b2398168472b6527ba8d815ab12160df84e79d09867c48d833238349db71a169eff551227217ec57450716b71eaad6d73584f0a661b6fbe9a3a1b26fa47211c66428b3c7151e8aedcb87ea145fbb3432dcaa79934c3d4b44c5e870885fd690f1fb0ed8f9891739e623794e80a45225449d7b57fea7af64925ec5e886ce9169fa240d12556967cd416ef9ee29d5290e46d80ff95f40fde7ce3b8f893e2a35004a0a7a46813de23a36162f52867386900e878c67e9d1301a9a9d1b2b80fee9d6a2da65b20086e4eeeb44ed0ff574644acc2b8c8421dcdfd13a227cb182e51f83682aab84d0d0cab157400923424370cf053bd419520184323fdf8137e57c1bde996dacf91171f8d3a72d7c9ac039e67e46442bf03dcc08062f82ea41955ad3f5fcc1336fe2e0512b90dd2b9e98a6c2945e61764bd856a8546d0a84dbadd48ffcf2b70c709c2334083a3883ea5df8867defe8af8d293cdc62c6d2c4de2258fec8d7ddade70946a5d4a4a9b5ea989a47d2afb01982e0f53695f69d0580e5a0136577eeab5e5b0b268a9ee6e8eebe5ab9681fe778ada2d6ff44701c209e305583468399bf9f366e9ade199dd0c9c5ecf8ab05a950530aadf309942a680092c6bf9ef0ad0e48bd618b9f1c55e0a20cb6c3e67cecce6d2143cdd7b29230afe87a183b06215a3e8c60abe5f105b9fc08c227b1998e1718e61619ddd61d45b851770678647b4b5d5d1c14a1e3d8549657776e552ef320540746c7027b6276fb519256dccc9e6b538abca5adcaba4b89831fc7b0b97ca2b56df09848319fdd4e06834b2a2f0b4ae3ccdf3cfcef8ff53fe01ecf68b8d0786a39d0afbec05babd22474002c77a6d20e127c471e1e6a46f4fbaabd99ca3c2d79c3be10b4c65ce197f28c96af171b2b0cb483d2dff38c26c3ae88720d3b025a5952910878b953221af30532bc1599eabfefddffb5cc4abc30cafe465b13bfc6756477b63d78dcaa767017bca2b8106e11048a300448a611b3ed5367049e381dc2a013e550c8f06f9cd3340e7bfbb3ca7b675641bfd8f0d9c232b1ae9ba2ced64fb564382708ea253c8f8c5d44f7008a0d7dc68f5b84854eeab0d61846fc601479ee8b887e5cf38a44928eb53c89fce7c141f6d871b3f703eff91412b1a8ad5b604f845f412f0d7452394508b06eefb8127d81115a51a2deeb8ea9505cea9a92c9c7af0801b1ffd53ad3c82990724034f7ba7239888b7edc682c130818f8a10f27111b6ebb57bcb053c880ff1dfd80e32da407e38ab3a42473f6bcbe249369432e4ac4d04bd1f7d177b9543b167669d42e8682000e38f7b716aff18786d009f374e5061709c0326b0b1a5e559d67a64753936febbda9b022f676a07736450b38e2cdb0bdf965104f1d9bacf83740fb311da972a43dc7e0a0e91b4782ce08aeaefa17bd4a8ca3f34416f9b27f2a49eb8e25da1a3851d1b56df3bac8953ae459c7166deb59487f745c4ddd95c6edf405215c20f7107a446a68c319b7a71fb74e1ab88005536b085126bf41498deadb8ec8286bafa641e88a9ab60f0a2201e5347bbc62ad28ef287783106b28a00ecf7f137f0baac19ec51a997c1f9a3ddf3158a30a1a12c11c6d62708fb05643e580ca68866ded3224748ef816567c2544ea93f64ad15251c68fc1d08beb2f509cabbf1ec74e6f6e26b7bd959904e763e01fd2b73a99b60c2c99b89b9fc3f95a76d85a7c90f3723bd56ccf27680e5f6cb3c31f86ecc7f3aee7f56a2b9aea9b21f5dcb37448dcc210467abb8085447799a000128a93a772387aaf163a4f772a9b94f4c92f6517004583a99ba6e93a3b654395dae7ab8161fb5214b74c66edac736ecdd7201cadb35837cc879850bfdd7729e879e0839d92fdf79007a4fcc9a60229129c6c396e3bf4aeb91f87ae441b3d81601c9142dc7ef038220b68c5499d865a8c1aab94822c590a8b209fb16a5b21498deb9285c0e19d0064a83757925ebdf5f64e38e6e557dfe5e7371aa83d94e8886979f33b06ddec0286d8af0cdf3c9643533f7ea87d64edc8be94e7943ec070c8844ab12acf2500a0af7a3e4f4ef184a2705dfadabb2c72e34748fe9173bcb208108cf3d9de25335a8d4b92eb0dd9f3914d1562b751ea9523cfe5eea1a1835ebf1e8da9e5d467ce7b1b515e147d8488091e16e846bedf196ad7ec0b9b115b8e6b5c259c0ee15c0d19f7a81a225e57b016f79bf4b9fb54a8e62e6077a2514624099fbfc78aecee183efca205065c2599f539e4e26e58e05bc1ae9692bdb6b5b5e49097f8d3d4da24655235d981cc384c9e058e2eac9b0ef2aa1d027f146777e8db84a1e4509e6b20f48197d19362835a7e26a7d3fec6171111a6f4116c90f05367803d8018a981deb4cbf548a0b1cc723c2c3298587d9874cc27938da06117a29aa71e7736595985e11aa217163b843894fe38d87017cb292753822145bcecfe4037ebd16da77dc4ccb1f1925e0ac03eee8448f8b16ffccb241bc8474232b8f7dd8e07b1e19ad128f283fdd90ee301900d0283d1bb23a0ce044b074a15aa3a074d391b30f6a4047f2972297675555677e93aa424d0207960060367478e1cded2792b601da3c77c0619655f6db5280eb8717731d2a54a33bc1a4ff6e8a3ea667922ab978ec6457cd9f0a575ba459676b38f7d3c5a884bec9116036a82587831c435c1175211e309b5f0c4fdac92e37d40482ce94f8a553883b3f4faf3fc456cd09d2c3347c0a9d663bc5964985e29134b27ec6c8a4e3a0e76681f3025b9c5fbbd0ecd0cf9fc3c903c3ab584ce1bb879e50b25514b9fbea0ad9e920bef311e1b9c31b3602eaf31e000cbe03e83201b5dd9bf19167924e5b07e33d7d8a5c92fdae6885dcf2cd0f4938ba878c2de08ddd9cbe9a75bf44a92a0cf5227461737ec9b85474cc91097040bcf3a2847cf7f6b43df2fa551b9db52810cc95200252c216a38f2fc7b4e7dbac1560c0c3e1e6d02bc99f3e55b543a1e596407861fb888291284909aefa53cb766e934cc98702b50e0e722088338823a313d1ab734c1b63a443e039eee4d025708c576b3cecedafaf72e7045b8cbeddd204ede44cdb1a6d76569699a9ff83b5c74ff3d1257746a11ceaa7b7e640e674f975fa302bde0ba5f4cd2bc3a8cf3f0c02818c5d5bca6befdfac49e3aa39456103dd695c86f0f8ed4392316d51a228b7bf04710684d23d53498cdfb1310cd4f909e4105ce03235821afaec540e167011a9fa02f3b376215c0a3772cad1393d512dbb9542362ed9161fd4aefa4c0ad6d2215ccb3abc0d7f08e74f6aed1e7c51dc06714719ca849298898be84da99c55fffb0720973f625fe97df0afedb27d6c1643a3cdf55f7649271c6e0e9c7e291516e448684c36e50bce7e37f4e56513a3ed39a2314db94fe4509aafc6b6f4e91dccaa3f8c80986edf62b9962ba39a9933e63819b155c83e7de27766bf3dae332ea139e37c0f2097d5318c5f0894fe9d00d1126924e5d960ea82a4b364b2eaf6baf6164e31f9e8565a104ea78b3ad2814db9450d47eff6f96170bb1bdc2504a096f3805025578fd942ba078ed20cf725365eef707c92e5a49562fedfe8345570205bbfff275ad7f3065e83a156940b07a93fbd514bc93f5e66317b3daa623fe3c71cc6d6503e8e65289c6790b4d34abc37d948e4a033da4ed1c5d3c641d753fc26a8f45a0f27bc7952a103466196ac1139cf2fb42e2305e91bb5e5493f5a1e5dc2520d1f5c5d28161d3a8a00ed7035e997a8d82dedf6c4eb977f86ad13cce45a5b17b4d3edc76036acf7f804f424a1163921aa674dd337fe086a0ea06eec01abe11c2a36e7527be2bc8d1df620874be2259ed1f2a0f6432b7944df34fd7b5478e7e874dd641127ca6206fa2800b2bd8875263e7628755227596a7b3a444c314d4ee09a2b01c78338b4fb25d62ddd447770689abcdecfc7bb0a1d76a47cb2813dbc1657c6ca153e01f45365f040d484f6fd1c810d46ab6aa599184a5796c8a47d05bafcf73770443b29ece023c93e41444e07b4730cce5d66f4e1e2b56f45c7f7b3d9bbcedeb4488a3bfd1f11040ec14a68504dc4ebcec3bc729fdeec4d2389ef90336a8356742193418d34f920fccc40a6a2c0125e92b5e96b7d9821bfeadb01c7a8b1fadb68be8b26011373655594fd41cf6e31eb52e229f848bdacb3adc1e3665a91457aac7f88d7e5f3c64a3515d31c4de01d696648bcba288285602149849f31435d8549b51195bdab0e5a3a0ad401baadfdf90561ce0c0a4a9d3f476374e15cb5a5ca67a0a3792d0788e0f1d849c187fa4b71cc348175a4c9228d98487302fd6b2fa27baa55f05ee11b5044653e1d4cf322e214f7a99180ef8d12d71155afcc9e8d7967bbdbd3b1553e4791a33fdbd5200179d6ecee8aa71669e79d62fb2e4add45d2e1e5e1578a72cd3b6ad2f8566f784ec6acda9ec512ea515c6c5767a4f3c814a6f5cc1e4bedf5ad177eb1acc91f499b163fd4f1650420dbb3e1bdaeeb44223d83ec44a8d04ca7b9a623c66791bbc547987c3ac1efc845c606aeed1c358f256ac95c01764e9c51926561500de46d0feb6931e5a375dd6e116a006b1617267525858d8a7328026d58edad06ae51c3eb29e4b6539e234ca7ebb64eeff422494a3890c97e0f63742ff8068985c079f5a8136e109200796833e3500e6694e482a945e8c27ef6745ef4cb74635603ed0eb1407e4ef3e404328b95de426cb201c96b45acb09c0c08e3752882354b52d881082cb61468f6ca8dc99931d6731dafd1f1c4e20aa37ea1ab89d7b2771e5772cf84c767ab9dc7b716c29621ac8ba83a80036481082922caec28a3a2fa608a995c02c7774b914bc86f4296be29a57f681c4278ca57e3a83eebd9ffc879558882d81e081d3ef03281328ae88275f84acec4372c0cef2b5ae4c564f5746c80556aba228c105686ebec28162e49d5d8b58699e3e5c7f491d722eb58f886be0214039928495ad9d35acce401316148ce5b0c25248d8a47c02bb71081c24e4ff606962ef71af75ba070014a22333b411c2a07d5a908fedd012ce7482e0724769a0e54d7e3da132ce88c443ddbc658d3a7e4ff503072bef1f9d883be8705fe4702f9f9e8d40cf52bd1132d836a92080918163e49f947bcc7f03fa0d9973ab851d2613be6c02b663a7ef1c9f9655df3ca5a9fb5a9a732937e4534af64bc850971e5159c319b7214449ce880db415f23ed680eaafbaad6a75a9f5667430a26d32b391ad545e489bd9ec6956d2c590f27bf547347ffb321ef189e58e11fdcd4919ec8aee2ce9d19910034f5ebeb450a4be22781b4c6262c923266bc9e2923423c0126b67b0e04eddfdfa8576d1588198ded424bb39eae4b1eab4ede04c8d781294e4cb6c2183a7dbee9d544deb1aec66a2d108f895c367715b4f2d4d1b38624e456f1926ada97fef82a2a165d4ab1d478be7fcfd5cff5319afcb1d32ee833d02c2bf32a898e4d97d63d12b75e1a69186ac8602857244d70ffe78873273ab71ee3dafa6b74b2849cb06e2c39830e839278adc0bee1f5b859eab6fecc79184e0e780db84f9dc0b44e196aa6e4937d6d1100e36186ebd5c4de69efde3bf3a55afa68ea4e0356332a3977f3b9030e04c1212247b7f9d368327869fc6fd7d4268b06f1a846ef7e2f6633179103b60a1a6385e778f0c884d3c1074592ad2610e66fd05731834e09e2aa204bb8ac2a6daf41d9e92f3e530bec1db8702fb0628ff33e0a086970159734c0ed6b85e53de876a336ff203622f7a0c37b3ada5feda32f55c37f5163e4c9b8f8b14dd5603234538f3576438b008b6007ae0ec6b8d98528495d9aec9bfbecc94e7d7a99c6a2c4b6202869550f3fcbbe78e0a4ce829a00d6a38eb512b7bfc249d465a0146f816c033003e867d41914a6bbee8d8897ed3e4f54077158562dac19ba675978a9c6b158c3ddec7cf478d0f5a6f5a54ee53c5f4f5993fc20fbe2483ba5ee447cee04838c69121da30a4ec1f969d6c209191a0bfa81cd59c8a6474bca6573b61c0c1408d192ab0b229ced84182299271d66c66fd66827cdad87cc7206d6d0c42c202394a81f1e52d0fbb42830c906f457561e09396acdac1fd17fadc918b5f6ce74795074f08b55436de09594bae840ff11e21132eaf633d64d5dc20596683e20d795d9b912d97751f5eb42d62fad38c99e80cd21a67bb7bcdc177fb7cbedaaadfe24df76108eae24690cae288ca531303758a2cfcf8b3dc4f0d1046e6a7674969c56ec88027970d9fd584c86986d8d8e2bb951c621310f18842642c610f817f90057d3d242adcd3f7a39922ffeb48f329d9c305da8a2bee738116c32dff0d2930a6673154795404cc40101add58609f5a21d8448293a96db042de482908a0f333a87dbb2fcc11442cdae7ea5c882de85356ca538fd986c7be6f90634e72ce158b8e14034914293a4502ab7015c6b987c486ff7bd08c58a0e61885b8a34d39b3476d19bc439b3151509df29b34cce5ab06356c4c050d7bf5f3ad42cf570dd8d149d6ab61b65924e04ddd93def32b917ce9933289aba8c6a35b4232bcef9013f9e8eb7c86152707445c4645ec819e42cb5853cf9ec6e569619c370d3aec989386692ab79672c40b96122ad827789230444786727dbd1232322ae241232b7195bcb4cacf00cc61337cf61c6fc847e5c9af6fd5501388ddfd0ef01073ceed6312f4cd116e208358f47a1c1b5e7351c2a6ef5d82560186effec8b9666e54b4bf4a3a37050a85b9f1f9dde59319a775b9f871420f85e9e970251b3b15a2be179d3c37c65cd01f5cb9347b1e3ccd039ce55e8e25697fa54c1c0d119c1347b9b875979c20bca027f5a9fbeaff8cc76d6697cd45fa9372c149420d02e7bd9891ec996c6e28afa1965def351e2fa7e297b35de02a45d83f06034771f1710d540b15b37c361737718ec8ecf6e3cfc369b38799f0ac7be72fcbe16c66b8c3bdd576865202056fa7e40570fd9cb88fc104555b19a1936534ef7654099236aabf03919b853161c6eee106afa329fad813b5acab053799f439ba60bff06efc5468b376dfda35046144b8c56c7e8145ec6b6ab3959819a54bd034d1fe44fd842eaabcec6246f669fdc3969cdb2a23992d83945394f6fbe07751c1f3d071c21ad6f70ccbafba34be4e4f67333da5259d442364f13d0349ba1a859b9453034093cfc242db3705c71f1be65a1cdd407b10d53e99972795470e36aabc9e98f46267247703e5f29121dc4618f2a6642dd8ae42a90f9f63de5d0f6c9e5afbcfa67af29b4c88a41c5a9b15fd6f2c1c6efcc8bb1deac3078ad73845c047389e5e3b74f0dad1709d4ae64b4d9dd520a0c9186e4573894b9a5b31e682fa4992d981d065153f8dd754a8668bde6872505abaa2352b92da325330c04e65bc91b59a6d1e59f167661118025f6e8174a264a99410abab3308e75b374fd58d8d05e95591e8b90dea894ea04c3b776be4d58471027227b456267a5e6e1914b0e1377a4d0e5daadcd0338f71a86f854c5952599f0851f7beb3b615739cca18294c6bf6a62f0e97fb492fc475f5556fc3a88291e0a23d2bd787e46e6d68cb91ac90d290b4862ece3de03d5a8892985ec88f076583be6b2005530cb48a2079dc83421d9fdbd6f642e99f0a68391baf2eecb8139bbd05a77489e067b9d597bf4e9b763ffca8b8780152c911944a78caf413ca4e93d5723515695dfdfed98a05d4fb05a7abc182b8cf7a2606e960d3de7e976adeb9cf20222d05eeb26787044565578b5492136af49f83ed5c5adda94c1756cd335e3478501000354db48aa8f56f3ddd1bb11d0d4e056ca0c2c86c3a7cf6b4e04a6359fa80d758294b8c79118c8c48771bf98f61e29eb326682b2b1fa8fe9c3626876ba089d061c531441d2f3bb1da7f4028dc71037dc45ccf881b3020177433042927fbafaa5fcb1352a13aabe888c3d015b84def21fc32f0b6717767108a59e30e694e3d73a0f9835efd526cc33d746d019efd45b7d25603f0cb331ee096a271962f41eda00989e958c0618cd331bc209b2a7e3eb16697e4a3d36b49dcace7d422964bfb7564af3aeba10ae444807a6e3d0e052dfd59a9034a0975fddbedbbccc27a9f9017f8c5b08b4f811ea73d8ec28a29441c4f67753a46ee706d2936f0ad51ae2aee9c1b9588e0140d2ae16a355b67ece7e763b81d3264aab391779acad76940adc4dca98d4fb5df0cbaf8a1de293f051f0046263046dc57fac00511b80439ba0df8a55d22e978ac4d88830a6e796a335d875fca50bbbcf5688987205cb937c55a62a8d77b2762f0e4f6aaaf95c7b4e6335eca5fdd86ebf759a325e9069ff2a9636e8a22342d2c8278c231af02784aa47c75101dcbd16915ca6aaf83875720f3c27b9ea6d627860c2e2055e421916ce29221f7f08af7489c329aa3e0a5199e7f5083050b0b9929dce93ada1b9104475fc512a148ef028d111770eedcd0d9bd87810ff2c672abb66cc039384c4bf3c1d7ae5838e6a45f9a1c1e13452df2be9bbb63db698c5d5862e5a23cdaa5b5a24b42f1da89d3d235c8949ebec189474487947283a00b3d01a69acb61a4934255bfa62c8e0d0f83a0fbd9883e6bd8fd820f134d71011fad1a4d2ab5a11d2791990db0c7cee76b787e34d2df751f60ea995d6bcc698804e09d23d057cccb0c0d8e37a02bcdf3391198b4be8be193645f87d48f2b50ba3849da6bb343afac46d1afcdbc6b7e324d08f8d1d351d74d555f5e4a3c7ca21d3332a9dd467ba269c6c9f7d836564a30a8b0a02eb4ff6f5da734d32053f816512d98b4bbd6509d1edf4163a1bbe5305769c1c04140613d8bf5021aef54e9b266a2a5c02170884755ecebb5bd0e288f23286979bb96dad063d1449e5f6596fba73809f043866781e9d32330b4e398f004b4120f96742bf6f03228bd42ba2863b88242634e63de0686f1c7a896ea3d69b8e0b9df68d05d6001a706ef8975aa28368958340001db2591b79e165b06b05307e2ac48a58364d11f20cc0758c788bf789e14ec0847a2144ee1e5f4ea765c0058ed439483914d26dd766b34bdbbed3ef2af7a7c96359be14dd462997dbf19941f2c8d71f5f559bbeb0140d21ae9cfa4f3d9ce6f8b7d7f837901e66a75aebb54de809b2ce343e359f43fc1709daad6a4f517bedbf735ac44d9ab01152caeed05239f91db15a9630e6abfb955dfc953e40280af043f075017cd42b51e2db5872e190279ccd7378820f0e16be2f6ac315dec33b2b4c732ef0933be3f3a7b293007efc2401b11e3e22ca2371fd04d9331ff59aaec89f596b6d31ec473575039b025be687db676cb0922ab0b7bdd8d94c080b440bb39690dee381898e6bbd317c79a33c1538ffc8b90d9e72157fe1173da3179b3c50b8e6be555d8c5686bee61b09bb891ae68cc8a8a2ba8866d7ff03870d00f4dde6ad05235877a04493d1e475646e87463f97ff7063211bac6ffaf6611c6b5bab4302c4f86423fecb66b3d6f277c979911591b763acc9cde4d43d6ceab09656ba41c1cc1c46f548f7a4ff7aed957a0b90797a62ae3551f78781c2c910b8b6242731089cacf18a050d80252ebfbb07413574b91cdc09fa21da27178ac26c2cbae058f0f41c0e7d646da2008aba0c88d4a9d154852cbad5b81a3e6cc4608c5ac9c56c0f1b740797664c02abdc1e8392f23f40129940a591e910151a57499cd4714b04bfd4cd3280b502cc9caab4ddc45dc1e754228f6a996a7010905e50b7edb7396c0cd50e7a362436b51dd4d18de770250f4e6ed8875ae7b0c07e7111b70b2d641dcd8a95c3474a2a139999d8199d011717a231c3bd553dcd3e4ec86d0c43dd4099dd1cf24c7bc03bbac28d39f727aa561958dc0cf86cf1a6efd2e9c945a7df58ef45ad60ed04ef945a153f3fd376171173de8b4ea59cfe5d18753c500877cfeeb0fecb178695aa1eea35dabce9971a312547dabb2ad50f90896266f7cb3f2edca8ec1910073e824344fdc002ba7ef3b1395383fb61c5eacba0f363bda1f0de23842e1e355d2a5649ae713683b8e77230d25a8ed0c4f7d3783794b1ada67580cbf7c5a8f38f7e0d0d9df26290b37b65fa2aca6db6c03747852d86ba5e747d0d28f7ebb70b9b5904d7e99256062346edd4fe34faec31b726661c61408cf64e08d7fac825fa776ad98d66ed141d8c2aa7ace902c46756886bdedc74ae5ab913d481b0ef6e2abe12ac51cf2ed9d1ca85de3566f38ebf380cda2408a5841393439dc24c0594c2082f81fcc83cffa9e199ac1c3d0efb910962babe19a5274ced35b10cae89e27fa4c0fbde05421ee067ae9d65760bc495af9bc595080f4d1902847e08cd73d0b6d94e89396e321b7bdc219f961ee2e3cd211303c280c13deb9978bf373b68b6ce1f203b46ad15c37357783e51639bbe7f754d6da1771630290284dfd09d9ba6cb5f6f11d778a2e91ebb1e1a9995de3354e7967a301f7ead894c4563f14f00c0a93ae8cc267e03186ef3b0eadf2aeb3e2425657f2cebd5dc2993a17709bd4f97e4ff57d79d269ce5c5a56f03d383838dfb82899cf0db0d2eaf1538b97620d0cd1bb61a723664576743d2e51de1ee473bc695bb4bcd520ac347de67e231df1972fa39803e15b53d0cf818059fc40d40ca6c05248779f86829b73b3b24eac01bbd542fff36c906ec1db8499f3ff6a8dac85049155d8fb193607a49c4de16b61961b9e2d140497eb673b01557afa93669937beea1a165ea8333e389d4b0a39aeedfd415997a7cbf7a14150cd1ca10c622b384c27b93792c5d1153698d7bafd11d7b4575a1376c03e7ba8a323ba85b468ba71b3a3960d4eb47f2971fbe8aa0c1b437aadc013dc7b251830739f1428a85d5b5396ed7389f332b7c5ef736482bda28bb07d2d7cd67c73fd38fc3f7c2a6d8a5fa1121de7594b030641586dea576dcc5644ca0b4c3cddc8858f64ca6de5331f41f1f61bb502fa41e8c1ba43eefb88aad40bb554f9dc66f2bdf688a24571edd3833f7963adbf75d8e810ba450f0e1d240e1e6ed01f4e40b25ada415dec9b610cb20d86f51d9f18d9c12f73cb75864a1f707860d7732f3ea7e9f13d10541cc36c11a0649759e157adb8e097ff1c7197871342f33c892d1e8e3d0601b8d2b0205ae74676a6a90f6279ec7451b9ebcd001b66443ed1a98e0d67a6883ce9e88286f43a362eac0190b7e702efcfe50e8158bfb403ddb4c2ad458cb8eeec5f2f050fb3e2d446356f6210cd4af1409351f925d9c00d3a5871608f7895d259e3294221bfb2fa7782eb9bab17b91de696c2af77f5d052a8571aae8a988202980b44011b7bff03bc0e7a78eb2f713f402210bfc626f6798fe8f360291c5a48937bb89a920c23c08c49e136d4caae18f0c8fa1292678e7e767547259929158bf1717c0adfb382e688ba05f2f1189eb347f14e6c89cdc6fc0ca7394eaabb5c0f9a309b331e155cc31ec8d48f2391274db6a9c6d1e37a01f228fa998455e209ccd25c3f699dc5f2bf42a3adb677113a3b90a7d7152ae395c5f2d8352f239c08f649451141d6d7c23db35517ea64b0143ac691b20e44bad09bc0ece99b0dfd8299831330620894bead93d1d1ba342b08038e9e77b5759a7be4f6ce51172ffcca55b96e95732ec9c7240e978a863d83a4808369ab0667f2a1c6d95f8de81da8a416569b98525aa315f3e48c5a1af58c8a1ce1c0e83242873e1c7f737a325a4727d4c6c3028fd915e0af3644bef465f92a6a69e6359285b2239b7853f1c94e1ad3d30c3c622a7b5b12dfe9451b341f72569687eb56eaf85e137bafe7d563f951a0755a26a775adac4ff464fe33247455823d1427137be01527e6f414ec92617d061b92308a7353cbff89e9118ecb7369fb8d958322e9517cceb5ee534a70f3702c999e9ec0dc3504451ff1e423c51dfff282349a8df3b1d22d8a4bc371bdacde3c0fd63dced2ea1e6952ea97121c4cf406280bb3014aa74865a9bf27a242bb2154ca587ba7732eae1d10594ace1b8aeaf01c4db68ac42ac31e5205d6b6f5dbc21ed5f279371553459d8cec997abdc4bb42a13cc252d759f48d7d973d24623b63394331f9cce7c9d1c74c85b55da18fbf887b62fbc9dc1283e5fa2e4e7f40fffff236714359e2c24b062c67a55dc231851036745c56f36f27151500622dd488b2c144e61d921ae5d060081f8a346597baeccd52b446b00220ba55f6ba72347c8a016f51ec9be843eb9c563848d061acacb0e4143016e7bd7f0e0fa06c4cd23964eb4b4444ca7983e1d29cff5a0a65ced1023f7f527f6c333cf03c0e47d906039439ca2a4139cc4b4c0f6eb3c93a4574487dd22edea9f8bbcf65a7102b3881b7b641278c7dc824c21df17b85a14e5914218c944ba3fe44c3086ef6f1a697202a5c154eb2c538b8cf0ddcaa374fa302279b455dc4da0718d9ad6e2be5cad39d0d5f182f4e26d798baf86b1c4be430ee6f9547e1f24c8257920bfff82dd402b7c00fad8b4c3c1047df37701426fd34a314a50a85e035d1127e4399da5e5197abfec05811f89ee1f60d422d32a7b035065025fafa9b657d632991a2a64c171acc7ff2b2e578e1350640435c891d56f930ab0e6c9b68b5051e1e4f68c32138afedec5c36780a58cc2c4c207ced6941094c65c27cf60882a94fdcbc372426f7bc7b5446c842a38f1c3f82317d652f5c91330d907dcef0e3d1fc1d4b0a621b4ef0e792724ed380a9fd09eb13408de2bc5a1d8deca191e8f506a486a7f1cd9e45e5bf220e593739e0b571764908774cedb353814f50315700e282c8be9bae818a551e0438175b7189253334ccd52633577e31f42606315330a7333906e507d6f7bcfb1e2782f5fbdbf46bdf3d4a4501bcafad31f0192e0475b6fd6b218a632892e2fb99d98f08ce7d03f540fb57d3688f0faaa35cad34151fc9baefe4f2f374177dc94ffe23d2d2d824a2f0e93ddd6089194de999f45f3d08a4adc1aff846060ea3f180a433965ea1c54c8dfd57734d4443217e20594b7b696fbb11aa5dbbe7380c187da6edfc8c7753534d043385ebe606afed50a28fc638fc62dd2d389e6c025253befed7933b2aa0c1c98a3e094c4e0fa0d147b319db4024a2ebd4843d9af3fa01838c6a684dda77c0f4490d9694b3a0c49ca4dba7c6f0338bace9ee25d60d14d28210f59c1188494ffbcbda90513b7f6e3a27315c05ea6beb7eae1d8a1e71b4d6c717b787853236010ed36d3de6c5ed00115b2e87439478449c27c8cb48de6d9e99af0f8f21e4b6c9a293c78b367285efee1274306aaef7d8b48b3be2665aaee969621c37ac24f946b55c2baf56f4eb8c1c78feae91eb1c7230591e66f64bc4ddb07ac9dc7bddc1c09be4dea315ab7f45f9149abf9812535578b70f55635b53f097cff3f80b72dad515cdd6d0d5659efe576561d3e935d042ae24cd19b19da3f0685f35e682456fcc44c93fb5fd1b5c1a8f711b46e6371ff2eb8c8a6afa2983836849840a1b0e505517d2f65e4a8e321af590c41cd61a2d73ccb9733f1613e695c4e2e6178b479d81571185e8845e7b084f35dfc21f64961e340de57f32a88bac20d294a041159054ce53a01eb1f56d1410c5b3bcfc2b61560d32d3cef8337ea7ba6bfcf437a911641a9d6e194c5c985d1072ad40440c47e1db2f657bca7318b893d2828724f14ce1e4aa4601261a090a46a39b21f39f2570b14fa99e9cce78956ac6ec24c687225d7cd2388901f957b6cf21a03250e0e6b716d85d8b7d508512ae9b6cd948c5ab48507f8e257d28da70378a3e174e5f082b2fe21a2f072cc6d38229cbf1c26890df0e5b7e2f2e7e79b122df2306a0be7ddf4345cb8b6e7b7232c0a89834cb88c5efadfc655d403f38d2ddf79daa2dd1de76c64be6206ce8ac56893e5a386346dce90179d4f52fbedce77b803e75a8b534bfea55962f2980b4b10e66a685e152c0853804b4e53f4d6d94084a0cc6eab2a41417db9e4269cd0cff195799df99e1c0316265de43812cdc856534a36e45d10d0c94d717cfb424484249fafb74f2f4ebc1d9418bb1e15ffe4f012bb72a553ac4c1cbc9e05468fc43f3fb0c95cf1ee2f311268c7cc280679b3129699195362f1471afe6e4f28d2a19c525cc2298a207d48313354d036e3f715ba649119aafe4e9832c012483d9d20605fc0e29a666e3fa1bdabf3ef2982dfb0843eb45cc646c4036fe59b8564d688f8f1260c63e990599abff5070db5b340e9d6ed6ddc37349364884a1d7cf9eb153ae91641b1cc3bb5efaca2daddc1a02f7db237095babf3ec1ba0bcc14f9da7d7c1643270a18a23805129be0147fadf9c0a02c3f2e4fa03cab1bee7c12bd933fd678e42a73758d7ac042c43691108e2bf198d0fa4a43d0c37931460b1f948c17400eda40d9cce5b826edf1cc399604d5467dfd40670ae94a88d2957cd205c34346047cc278fe3b7b815733fad5f0429b2517c3d04b540072fb892d866ca8ed669e0e8e4859ada97b1806f3f49a593640ee134de3296662b978070067d8c63ca3b2cc996f30798b514ac31c44f9d835a03620c33801b529c10c51bd979e6b7c3c4a583751e0defc23e4c3b8a72869754e5901285b88db739ff551f96524c75f23376eeba19857321692ac671b6ec8fcd1924e1734d49b6c0f984d551607e454edd9a7c181d787898f2ea600549d7bc23b4675b6a2a7fcf4228c13ce685a76a04a1c4e939749eaa7dbde9fc3c704e2c8f2fc9025bfdc708adcd086c8216d65402f33a83028f1e14f571bc95dfccbd552c45c83b3f2c853d5b51085b353caa2114c855fcc7ebc7842c0d5e7b5c98879fd6d81275313c93b1d6477ea678084e75ef994004696453a201240c061d1d3baccf978f2a59cf7cb4d53a5dcb27647bf557eb62f3bc2f41721df739aca3671b1bb2f88585ee3f131455e090caa48aa91f9632768700b3b96a797b38cfa5deeccebc4c1e59e2143fb94045bc47d7a2a2daa5a26203797f9de300126f0bcb38634f4a2d6beebf1517f1af9e9d118c737f30c813dd0c7e8160dc1e4b85881ccf2b4a880eb091d75a4e741127d43eb5afabffc1ec20abcbd7a91f47ac3f1d6ee36fad19b088b8e408353c617b1d49c69420ded3273ab98a99da20e7124a8ded8fd2be5ec411f54a05f4e2867989245e67d1cf081dac1083fb16c7b648a7ca4d2dc3d0811a8f546b9f2a6ee6477e97ce66ff75382e744b93da227137b66b25b647f4da7a8659162b5c5b4785cc4bd785a9adf41b4ed696a8cb65bd608554fe82700da727e13bc0d7f8d8f05289832a8a3d1b03f8a435266395363fe883a4dcb1bf47b4c86da6d7fd01c3349aa7fc0190a5046b4ee366b3068f14bed16276fc6f4bea21a71c094c5a09d0f43ead3928c253480585be9360c7572a3ce36e5469607158b2b839088a891fc1b05a45404f8d1ef9267a8bc83e5a9f9ecb9111a30dd4370d7d803fc0fd6bcee993e91c7c35dfc4f0328ebaacffc5e45914ddfc34a9f015c744ab3e2beb7dce72498db90f155157919ff90dec5cc505b68c36e5f12e8bc3af1c230fb5a79a3fc39213a1d6d4172328e33393f62d4691ef2e570bfa9594f9bb10bc89fabdc55336f7294a94f4e618f9963567b47fa348131dce4cea79a537af90c772b324b94996c6ab8f4065b4f4c3ad735278c648646ab824286c1297531f491b27af75b10599af329084fe95af53df22a33ffca18be9738e2373b0607beff81c222449afab040a0446ac9a9502d73aa341c684c03a97f60f19ec659cee74a2128b4b6248006cd72645f3870a79ff48c654075ca9066b28e96d0f612638aed3e035cca63c737b745e14c4e9c05bb712ef4117baf0b2131f7e9fc8ba763a472bfe7363910d29e420aa15d8dc220f4733c070d1518915bb902897a94c9912d2d7c49228601ed19500a1ed708545603e0844c8db12c001e6268a73869c1f5623c23d74a529f36e3c73c9841c9ac3a77abf7a1c24f5612a74ccd09e19f510a50c4512f89c8dd7ad300d714a8788ecbf0956b5813ead2e71a04abc5b5791a7321b1c4e9e2cea34a32cfdbe51788272532b290fe702b2a9e889dc36753258535281e92f008769e6f6adf37116d8ab31ff3720cda6a75dfe89130167b84c0ae7e955dd73e13f0fb9a462c7cc8b30e29f6d10f92a940cf811a351a59d5512faf946b805ace8b43b8435bb4e81b49ae5c646a9e26c050572b7450ebaead04f3a5a830910867814a69c25f02754485f78801a4b21dfbce642402d649433a57cdbf386fe92b7bc72bbb29a8b6c5f1ac581788fa83238bcf66e1c5968263c8aa9b299889c2f8f3201f7188f965bbcbcf15881026eb65ee20a86a344e99544adb6b7a501b7613e4027280e93e00ae2b0c7c1d5f9ad28462b256aac7851d193616a4633c432eb7820992a206ead742a5dcbf72a56b4dc162ab04640222faf8198d161d9bba921c7a81939fae53717f147808a9aedab058b768ebfa2431458c9b1c5c25f14266244891afe2f0b62f57a50e5890a2b5266a6640b98a658b4e496c84b40aa5345dd9a9f0c6fcc1ed0b3f1db69a7ee0143bd59ecbb8463a15f90af22a2aacd5bcd44edd4d9073eb6dc93c2425812b532dcd41bb346ff42bdb34e6106703e727d429d09d7b43839fd510e70113643d6a4a3887c7ef8f1cc9a046e95268f6194e617e09473775eb36d18a4cd43980300bc3339f89fefb4889b88886f24e549f8d59306a3b9a891f21aa99c2116d31d33a82f5025e22c11feb6df2f7058cda85a57012aef65014fd96d5584d9c55612c099961ac6c4a2ecc1fee2485b7034c179768246cec77a0604b0e0b1712ff8c9b4894a1a2338e2996d1361e1d53c7cfef181f7d5afecd95634cda4320f23b8c0e9ddc80a0e47d62a64c264945793b7d96b8077b3af9ee20d8d8c7e4cc9dc016cb7fb7ce9f6f1d21c3ef049e35b97ed26b9b017ef8d84288665a6b8780b6c0c9664ba6c56d00332265511ea1aa7b7be302414306bcd286f1346bd8e1e91c060391bfa32b41a5e82e8ddbfcc678e3517c4a251b84ff9d58cdff2f40909ef1a0cb17e0258a43b45e7a12455fe10383e6128861621e98211ce862d998eb4d5b64dbb4b4d94beb27b44acc0be424006f8983f3a0f74f0c0f2a44a33d1d12f35a2e3104116462858707ad8873cfeec45621bc9583bb0d3776cd312e9d54c8d813ee63fb8c1b6e9bcf60d6862a9da3573d1d05b4b76e7911e2b56fbe3c81bb73dbf497c275410d26fade7b6f472acfcfc27bc767a8b7f9f2e7b29caf3fddeceb1471369950de1abf77069952870021164bfb8a7e56678a64484e0784f834a51a38e9752b915b9df6121f103b79a27d6bf403791b11cc82e3626783d12fec2253767876a193442412c31a96a95cf8c22bda3bf7e467f54ba2fbd18db9a1bacd3f0f6fb9e020da59bb1cca060d29a01c9918ee7fe39d896f2372bd2a6bac0a4dc8b92fb888eb9c18795d9672096e96a7c8611fdb0c38dfcc781335bed911ee6bfb230a51fcc82f8206bb0d4837bd52c696225ad0e46ca037c5e1ee82609ef4f96c7a1aeb58fb908a983b24197a4a67098ba036df75d02f48fa1ee3e536f5c1245cce1b663e57fad67cf66fb07d72a6f217a530f0b4e4823bee6c9330a9670b2ee1636bcb2fa4e92e93964601529209ed95116a52e4567475d40dcd91dbe3bcfe76762de5961a60bec82a32fc581810e2cd7f89f1023187f519f035e8203046dc0e7d07534b25316fa9900faa3c35a445e3c98d2bdde9fad97d33d447c962c5cb2e18ef049cf2f7cae96bb214394efc82d64ce04e80ca71c6256fbfd1ee852aaefa10ba60338cb38a5df72a5b4d4ed127cc4d49ee183b00b4dfaf653f325fdbb46496d3851f40281cef68ae4636899b3209ab3831021df2276ad7fc74fc071b33ade9e02c9beaa9685bf3b0d6bbbfbe6ae29b69d7c5ec773c6d1b9edf56f63ea86896144e8efa8e60756ea5088b4ab8f2c8f8aa197977c20425fb6c0b5e2df88abc84c96b83c5a16c821be30f8d6c297c8cf77c02d3865488ef3267306d04d32e253475f307cadd019cd734b21e933a1c601b0916c0713c40e729b75c5c2209243fb8be2e57cdee20e549fd5c5bc9e0e99038603952e0119eced80b015be5141a698e224c72f0c23c9727f0cc2b831c9a44c367aae6dc4a59560d3d262e93491eb58db04e743880bb55c3d71b00073ea250f01ae224f60b07af083f3185bfeffe006cc51210d400b4afc84b25e131d8f51c34eac8180d4edc7409d6efa547a209dd1f31a1b4bca32f5a554d8ef77b8ada5337f70439a353f09418b8bfb46eac2f82e2527d42ac6796ae795b34efc9fa1a7e529e86885d8ce64c8d9614e383b42737624e47d3110902f5c245ade73b6c2a5e852734adcb4dfef9f75d5fce7af2f8e49733f40123a3377d156f26e017ef37a1ea8761ed288f525b00673acf55bf9f76250f6902e6e13898aee9c0c4845ac1e60fa982e59069d42a621389ade14c706744d2fc47c1dcab53d7a9322d617d95c8f7e6bfa9f9f7daffae5aaf6326c4a8cd25211b63c5ef7e77c9ecb9aaa6362d8b02888239c98725839aabe373d7384b6cb8c34c7833b80113f841af367cfbe4bd661aab6cbf6941b57da20a7294a36577812a7008326903487d8b1cbf0ee418e2906a0e6b547b3ef6a1aa436b34402ad6db5230b2abf22c9c8b3d5a6ccd0c4f95ca8b5d657aae8fac97b88b1485b5f95c56687814e93ff63daba3340e9a981491a7ee9b8e434e846e12a65192fce8260687b5bac8c36a967db535156c1c183faeb6941fee0a2ea7b376be92ab16e35ea0b50ed96e061a482ffb4139a4d409bc93df99d1b414cd35ab01c3964bc10a8fb83e17490d2e0b9eb13d6d826b872da8f91b30658b76a96bc6edda63c2c309e926cf69786bb60cbb2eca1ebb40804d4fd1876ff90325f5a1d2b1df8d4579056ab8306fb8184d62781ae11576cc8d45cd201e04384d9db785c5511d4b363074ef44ffa8329b22a6f391292ba476f67bdbc46694bd8631065595e88b47893467ab9a0a0aa98672ec4857a3eb3c2680069ef9aec21f8bc181f73058a10e3c8c403cac63578653499a61a41a3f662bb7641ad8d1bf190d80133f21969252b55eedb5443db484c610d373c83fbcee927061e8af22638383316a7762fb320c2902c2ae0aef85e828c19c185348236c6db541de570cb3547ae47e00a1c9ffaeff156dec288ca0154d2ab00e870b6bc22f60a938c64ad0aa325c28a92fb4636377871e21db53a7067b9cc37513105c89529fb6a7411b0b9d4e49b770d4a2c5b50bd0063dcf1715d59f1b3e68de6fb878002ae1ceef3d3081343ebb35ab08003dbc81ad31a82e7499ac031e80667122799269dacb93aae949dd4b348df8686d7a279e27fb1085d5f6dd8f6d8b34fa45a0cd67d2f5058884426a53d81e0e09b48c8e86565cac8a72eb9f78f9aedf1f54105b93d8fe8030e6ad7817a005101b69f9b963393314b8de4b46d04f1bb102f503093e8e71f94c6258f5298e820ac571a9b7115ba6ac763f4fb76521e328be86c29b6af8bf8d4453f3562829a5c8f0f0dad571c6087df3963e0ca335385e9e923430c272ce3827f7e5adcc9447c3d1c582bb9414319d38592ec5f039ff038f5248c140b0e64d872c0b5ed9ff8e7dc57030db7add92373a6c3b3b974c57c01c4f6090cc18c0f7744e1d8a48cab187d2b06c1de7a6d0560d71e5e34ae52cb0aefbed7ea07d92f23ad4467c34eacdd46fa838df37c74dd96e490197eb4d6a06a8b861a220b0f58f7635dc6ac65eb1bd2b43b769c790cf4cfabb57fe3e3a52c9338ec0c5828aa5defa5481084cacbe24c3c2ccddd0f23d22ecfcc26ecafb1b902f5273df88fb6f48b71a099f8db6a853a12ddcb1d67f2b2f22174f370854b766aab4dc4551997381e4f9f7782b4652b5ae5dc33ea850af3d5b8fb47f72d6d3968751faab24c2ee5569e72e9b9fb0be11b50fcd80ffb33fc5535e59cd9807541741fefac578547213e25794c17e32873163acce07c1b26d466e77f118aa97b15727a58a8589782a41378b0810c29bbb9aeab5a6900aaabe0892d39e794cbbdda2d60eea923b817d36a1bc2e8934252ec49efa7ea11788f48e59bc145c081a1848d89e8bf3c6afa52b29ad914402d6dc6910cc3b0e14091f83b8afe9cdf4289d9fa941b29886849701742cd11d1119c46bd573e81fa3152bf1003c6e59852773d93192803e29dd1c5a1b956ffe7e62849913cf0fb8ad8c4b7f60c5fe79cef5fe2d3edb9a84b9c4e8d720d0796f684b0c2f504cc64576678a649ed2d3d5b77689a859e8a53b13100c62c597a93b6a578d47abd666a742e6b2734bd3bf463f13db4c37907d168508c7599600f98a096e703cdd53367bd41c6926ce9202c1db67b196b4c2201cd39c5ccd5c93edd2dc15d61ad5da1e499a9c388cd560cd4c69ff6f80217cf27f1180740ad167712aff7199e3fb6b86ab39229556a48c7bbc6cd2c86ae74d9bdf0ae4c44850f33104c85447a93185f6e6954ff7ccb1e381737a5af3897d8b9ff200c435a05d1fce96987c51c72111228bcf774744c6711bb45ca0d5f21345116f8dc35c1da0ef011d16d5dd161f830ab93fe0b1ca0a7a5f57ea3fb51d67e7346622cb8d2ddf538302664665f553a8f80e5bb6b454676cbedad6244b3132e73116f31dd7bc73223e0e91134946df1f1ce8300fac52a43d4fe865fc49adfc25a9f9c8f45663a5423ae5f4caff65221ff9c3f790158371fc1e78607d6d75cee0d6121f97b40731b99e69b643df292305635c4f5d898ea1893786c084111194549dd8f802d3b6b4bd6196b81be4895c7257fa459e6397a72ce64258fbb5fd860436823d0fcca14e6b0f17c7bc9276278286e7d65e20e7b0fb367cf8a929fb013d21d9dfd0d91507b54df03a23f1ebf50a2ff8ef88c4bd74434dab10f4ee3b996d00176cb03cd702877ba977867987539ac4678de1e7f31d64736cce0fa68be6d901b53edb96520bf4df976ac8dbc714cdc42b601b1c513b0b46bc55a64072896880c3c41007d63f281ba09c6746a062236e95fee99008d6e01305762ab0d9d2808512d5f302539626aa12ef48b2672dc1742312b4d4bfa9c006687e573819e31b2fe6c69ebff035d434336e75af5c7eb01f02a45dd3844f7e05f5e14f004b88c0da429314a6a54cfdf3c90aacbab3582d3a883d9aeedba2fd2bf9cfc1d79a8d3fe9c8f174210c31bd0beb1643101d9351cf97fb9b21899fb97e3af8ba3eb30acab112e30a37d953ebc1661492ba6edfae7dd094a06c09c59da42fcdeb21fa8efae7c7c237d9f832a41ec517ed184c648afbbbb1bb4aee026bff84d6ac7c759b318401528f58d6dc954f03b0a6e309c33cb8d2628b650fde9c56d33bed2afd747be5a14ce0d329ca437d8b160ac5e4af521f6f6bec91af6e26883fce9ad5cdf004d87b993ceae5f7002bfbab64ed31bd2c8df3fb43e6176c1386f35e5c5e0f824be5bc1936bdfa59d10a6e41aff10e2947a6618f12e629eb2b266411163018dfa6b131a5c370ffdf0f42e1fdc765550ed9af6dcc37857cf2419aea88179e2f221f2e4b0ab5f48850ff3e0ab9e332a5e20de5b63d8165e14143cf9b6a63f0cf3db72b38ce6ee9718a8384ffc4cad1245e9c1e938183b5a5df1d6bef49d3cc8732ba1b1a6d1186d24bb6bdddb0b89b26f471cac7c86ece4e8fc48e1c00ba8ebdb5e9d0d2a50e5dcf6dae6a915396431e1853337343c3c9bfc3767f5fc3f4af7ed73869174da05587b8014beb083c3e7806664c80b7e10472b8d56391c01696a571345cbee1ed808836f0354cb1e894032f9cc10331429f0f0df4149d884428382343a5494801e24f1c71e3f815c15736bd93ac452fa7008f17c6ea477ad80af44f809d90b83a0de804f5d74e23f56a9f5696461d77d89be0da38bf2b2157ee54e2ddf9d46a96fb87e7baecdfbd499422046417c5f7cb04488946e78522df6441fb060c9ca627295915e8ee5757081958b12a093f2ccf4e8242fd4390d5255257a041e4e15988310cd5b4a10797dd6bfc7fedd490151e1f65c41220b082ff43df0b536b50b0ebdc7fc2b72198ce22402c8e0219a50515145c869640e1127418c155b007ab4f0a7d5f53abb625658f17475437ddb8e508ae133baf504bc3f047fde632105d730568213477ef4583537eb2a0732acdf0873ad0000198e5eb59f1cfd2e18bdbe8b8f9d08bd2f1ae7495658d5f270be1a560a63c75fa3db0bd4a3d52962452ab3852229807779d5b5d2e4ffc69c4939c2dfbd3d0918cbc47c0d72073ec689fc71c919343cfd723a6356d35a6bac61eb66755e4682da17790b26568f949b5f0f8c70428cc86e59223ef9a2397715a99b92c835b748bf6c5a433ccd21438efbcbf41a471c971ba5a9ae0934b942072560f3a3813bd63fd1dc3866dd1fa9c2e9f6ac15ee9fdef1060c04d5a24f3fb932b1b7c767914b2676c62183f4065ac764d4f513eda8ba25d94ecd1edfae91f81513a3e3aab2549186f1ff54d00411c7da78effe154e3faaefffa9add78bdb507c7c76868cc3295b4ce111388ac3936e6613b7aaa41c4f88200c675dee4214ec47cc86f4fa66b11a421016bb8c3cae31e9ea387437e26cd4bf7d847a395dfc474719ab955b1c72154c096441b8bf9248092473142e4d5f33571f785676756c29fa31faba8ca74f36b07d29f1d963ae51c9f773d491ef28448929205172cdb24111983fed7455853037488050f99bffd9f57e0396219f8154b130c605f9bfc2eff7cc449392d81da8da76632d173d0440e1a5f0763a1d6aa50ef17a29bf3785b17c3fdde580a18d64b49a20dd2808698147c1a1ec3939bed7952647d10fdaf0e548f5cc4d77bdf01dc7ba65a24a6155715a17e936cd7d5949690bdaae38bf4982b9cb60b21cebfcf21de740e38ffa564357d6e54ed9b565df2ef72c7f9cc742e7cd6ca509e199f8add5367364bc83b1602ab7a4c0dcfa50ef1a2d141a6ae0b1875363cae381e9862bc63efd1493e068135c5d7a2ca42338c23b53d997ec672053f579244f40340f31a6730aec6e5fed675a29b495d5d3883971eb03fcd1d274319371343a6aec5ea5795d0c73a03d503f9e2e74a15f9c7231b81cc570b46915cf2d0f317c2e668e82b47d5ae635914a5f87a29417923a2df11f5f3c62a0bedd9cfa04c13ba1e135b409d5c9c9559c15d63f04ae3701ebd094c748b33577ebf677b575fec3955f3ac68320ff414c17f2d6dfb5e35aefc6e1e8edd84594449aa1951e902cab4ac567a4d5a386d8337ecab10f9a31e3b77a1917a55422293951fbf22dc3e3b380744229cfe7f9dffe4801eaaf751faf9dd73e7be841803b73a062683a10ffaa5f2f0a05f421e96e5557f7cf42ec68e0f7b484cef47d5f31b49a9baeb68b71d548454bc22a6a52218f11f4e4994649ef1420721e0e15f7b3a2e7e4a779212cd350b946488567e9544b0ee853a0c4575df9278b98e049c02174fb24e97044f8afa652cfd80c14bdee9fcedf03ce6dcfebeceb05cfe23851b2bea805f53ef48c4dc6ce30b8756216be6b1fef99b111019f75e31487b5bc5dfd60490a4b91a6a4412cb3f1133afd988244985afe72db2dd4e027460d538ff55b8bbf5ec18a564261509d2c4a9e4020383d115128088e4f0756a00b8840978f3c21cd374f1c27693eceb9b1014a59f480ff0527bf499ea5646084fcd9842bf7b5b5100bfb19c99ca94f9e27b44e06113b2e5680e4e0a6e348b256c6776b40b1cdb4829f1b27c6d8d34210c960908399724c0b3f13dd55d769a2178fcfd547c19014d4604284daf390772dd98e24bbd3d8b9c770a71316dc15d5acbcae6fad81cbb81dc317f47ff4ca6c6b53edd57dbc1a2d97c0c05351b81d414f9438db404f1c76625e769a3777901a55b417775eab10dd9d17254f17f4069f93fb4d171a5a36e2e60c693f378e793e72b7248e2c999a0bf5e21be07ff16fd975f3f29b230eb88488b5db03530c6bcc8a36dafbed76d2e0054eb6d8eca97e0cdac35a2966c199dd0689b1b20e819a733848fe870eb4989dd6063a2d0b933095f1a87d793a6d916fcd8c85d7308d454fb6071b923993f6e497a4650dfa54e6cc0245beaf839a68f415b951131987cc08d45a1f61e0b8957f5f73accfe328e05a2187c145f9f932dd0bc9852993fadaeb847cd817ab2d73da59e749bf6a4ec570f9120303a2d8ff5b0d44c117409b43fc0f1251a705d17129aa54e4712d7a1eb12cfb7b00e38046667adc67f0b8510c0d12a7bffd2d1633494fdded7bcb82dda28a3bbc3302a8f4276d04709c03062ec3352546607983be4e44ed20933011a1f64701bc737267ae214951f1e6ee513ed2be158855f39f462da79b1a27908454e7aeb23b9c3fd316d586c95b9734e0a6b33e0ef39b216d29abfc60e93e4f896b93bc4b05bba4790c18bc6ac9a8efddc0d248f6ed7f4ab02375206ccf31cf0074507f89b37918d3348d72c3e4a43dd732273f30f7844a13ad8a156900fab9b76183ef0fda0cda250272fc80b568772190fdc4e73af4179e1c33ce8b9cfab9119f062044f72a0c0e261c3c0e56169cf4a7a1684f8db670231bd941015f1e0275991a84cc0204d170fd89cb5c0f26b747f970841fe085aa974c4e811e44d3cb9de8b6029a834136616d5c8f05533dc3c72940d071e1132d6f2b87aecb4d0ea0ab2cbc578da23a9d7863e7b1660d8cb7e7c38585f66f0ef285206b71e6a9b777ab99bdfd83353f8f93c089c7c11613548e4df1129bb14829d4a5f7027102a1a91c73c7219f7632fc1ee1fbcc8238b984e66cfcc331af4d9cae9c74269d7cdccf9ec2b3ff8a82d98c503724a07818517773eecb292982957c66a3830ade8a39726acc9d23a8378c20331191240a45c1796b37ffa0e0aa03025a545dc7ae67055d13c69c3804c9a74791da3a389ccec4e43ff6d84f76034159b039308f753602903fd65c0277b4052e880fe2fcee155ebe306bdcd2d7c0e8b8c7aa11c11764855322d2a0d6b18aceecaf90cc03049b6bc354220532ccdd5963c27caecc67ae77b9d6ae21c9c16276d891e149ecd0d044af84a85d396e74f77d5999f4e9d8f4d064b05b5b8bef48a64fb821d7d4fdd7e5fd3de1302db7815781c22aa1796a2059cdfc3b53eb396035019e2c6d2fe359d588e71cefaa447bb67163d67a53c28db512b943d14cbaac887bd8ce894d681298c1bcdfe87e7342b4c5b08929f0f48497aa8329c0d6d57bdab2a72c3c298d327fd2b9974907d38edab74d15361c20291fd462e6cb46c0e2aa5547d416dcdc25eb4680faf69a45cb25dc977295c5a5b3c4bd6ae89544d7c2ff3892d52af3785733868554cc3871011648972d98ff8f93a5f3d830d819507515831c6378e022dab65c45a14bf86d370babd055ce67f64cceb9f0cc2acd1bd172d082218492fdbd50f65e065cb9523b783256481935b281b87bd1a9354fd2aa8563ee539be7a02f2c9040c0f1d9f7ccdb1902a46e7a8ac5430ef6fbd398238d1bc83a38b00e87e1465b170cda734f9d2c190f2b0e98c73271509e51efe46f40668e9be1dd6de91e4bd57fe60018f721df04d9255744ee91b3096ea8bd9314e3cbaf072636df96e9d28f3accff48319acd894139f315455625605d094ff0f2ae3b68002cb3e4f1821edefba795f5224013cda2960978d9c70f7f92af95a0f182e44200ef069d8d9e857c4aa9ce9fe1711e12d7a6efc7c9efb7c0570aa844aaa1b12bb021ce97f963733d377e223c3fd07ef444bbdb31367ff8784cc90032eb536eff3b2813cb5fd4bdccb45490aa7d94dbc67e9ca2c1305e7ec09d0ddfa3598676836eff61b55058edbac8d161ecfb5cf061df858a93605d4e3c8e957b85c34899950d2af3b0c8c18dfc3df8779d94fefc79e33034a94f74640f310c040fda730483e2f173030dd8401b5fab598f21a6d119041100ab97661bbec823b4913a8b36c8c15019a423a4ffeea0098fba522208d5c59ea8b6e312a2a156aeaff7fb00faf3616d76c13a0aa8b024ebf0bab566fb58befffadb7bbc1cf6ed4ce763be4cf14c96bb85e0376889b7862b4a7cee248dcd17a1ba65de92553fad82864e8f75c837a8e4a2ceebea1001e856e3361b553ac67b8608d3d1b21f0545b2c44f39e77bdd27dd949b96c0742ded793434cf2bdacc5ef9fb664eb4a77fc631a06462aa66ca543f5ce1354e25842bdae8d129ba010508bfacfcba83b8f9426f0525e863c6080005375379ff336bb767405e2f3a146ee4e912d7e9d64a2df738f78b210b70451aa95c27bc2fda35f6b3ebf57ad4b453e2826b2b91574917a7a3cda11d5cea40c07a790b1512e8602a69005fd6f9295666045ebf80298ea95fb3938760320d907a48ba4dde9812415b8a9fb412a1cd8bdd15cba52846fa23d0395f18ae63fd05e51029ab2711753072d94b42dbd381288c4d4468d06407432bc917d588a51d4529c0e9108b6d938077465c145eda75b4b969d350aaef046462fcca9ccd5828627385dac36950377021f4de75f0bb4b69a3206ba1bd378d2445cc03221e7798cb40062d1e4a3edbd6a9507043dc54845ab638c23506afe4ee39d9340b75bfeb5d379df6bd7998ac78b198263bd992a4e0cd1b11e7db8fd301d535c95ac447e0302b7d358d0a9bc0c578895d0b752af15e2f42f83448329db0b8595732d01062990c0cfc484c43fc16157f8709e2d40e1a08f1b267037cde4993d9249e82b08cfbe1d18a6c4042e38637703d7c7030202d713fda981aeb9de8ce22e6bc3b63a4ed0be0459425e01b65d5c388a7226699eb66021bd9c87a555e30fdf77c1b815c2fc584e182a8d92c0f67659d2e4e289d5cbba62b3d0a1b4379af83c4bfb73630c94620c7b7fa35075ad6f01807e1038215afa357d6503e3631505c083deb7f30432c7337e496ccf4b2fa5d68d1c4db52690bce12431ce450d7821a1d493e0ac5c122ae73da2bf18320578dcdf135fa16c99a43e2addc07792e04da572b41e763442da92ad6a221713d515cdc56433aa5552f807a40d9e57c376113b87dffc81eb658bb036f3022d5d391092e37abca11beda07171e156ba3011786995d077b95bcc173dc342182e66050acec416f751340c7e82954a72225377cea7389b79a45e21324e584661bc656ad530334f0b33a0517621f14047c0a44dbe7856def9564b671573d7bf49de07a74db5dca7de88c62e394cce8a4cba69757f6d43a1b389d816b642dbb877480659ac7ba4d6f9c7b3b352c68784a288e7ff49ffaee4314c4c59b1849fc85cfdfec3da5aa84c9adb998f703b9ace8747952ed4ed4260b964e39fe73430159051d15914beb4e840e1da4fa5aa1d1f7c40afafb08c497325f79c0b68bac8e0e5aca783195bc230de82be14fae9cbb1d784060a1a598bdfc41fa70bd446afa3ab99656d128c3fceec857005011db0bd7950138e167c946f27724d03c903b7be5231eca2e9d5e14c52f11b5156a2b8f8ea140fdc19c7b5aca870614c85bfcecb92e0a7abccaeaebe55210b78ebcb90d251e98d29cb7d06df63a8f8ccf74667185fb5aadf26549490d32a2c3f0ae5952eda2f9f161ae4e0db19e7e748de1f24cf30edae9936867aeff7fff231d473c4c8821907134cf66fa7ee324393d958d2244b83241e26dea5a9d1b067bd53eeec3072306a181fea6a03dd9abc119439ed310d7ec40d6388b78ac37f514e8f3f5caf026b3e2c492fdca73033d34ff377b1c6711582e8dde0744ab9c4d397f114df71086828d807f905ddc9f9ccb3d2c26e0311cbd3d4240f0d7b16faddede1d2073ab32f71cc4ee2cbe1c7f9ef61d47de9d1d9433ec8d9f981170c644a8b61ef56d4d3670b21fb0b26638ba8b84d8f21e41af0733e43f8d4be06c195d3601d0d10ae3e3e2e4af6699f1dc1e976a8263aebcddb6c4994107b0a5e37e8714a5dd44b1292f97602d7b8375534ab36c1ca38b3c243298e1304cea6db159a16127f07a114b85adeac89bd41d2e3432a0db8543ac2feac38d9eba7279c9ae962468bde2ffd32ccf452873b0f9072bce3f7e69ba4d80aa69c4b9d3cebdbe881e955cee2073a1b6d7d1cc17232c92ebe9f9529e37d108943918e011b0e02f457af6b3ea2e36852b955bc044e4e95bbeb3508795115e35b0106b41c0936d379f7ffaa913edd01791056cdd50fbac01cad12f8bc2cef7e8f43d9b53657045b2ecf3407ac603b523456ce15462da2db05b34d7c9130863c9814c653be99444b4fcc6bcacadd0a45cc974a57b1f04beef98ae712693feefbee1329e1f07fd1175f8e805b04c6effe3889d38ed6f082a346410c0b57de212765aada0ada09b7219726f227d71ae91c19ddd6effbf9537c45ec7892d7c6e9c56cca1fc41626d08b95c9be2a2fef72739bce988d1aa9e748c8b640ec1e2a0c8cd84097979fb4552a078fc353f6423c319184c34318619ebfb6775a65383a663c51231b36683f35d2ee0841d0ca5f01391f1d2ddd03f2d8ef887f392a9ecb05968f24fe9ff0941fc1a0ead52bed87ae3fd9e465b6e361db7fa86eeddf9507c30e9fb4afc73d28b68f0dc889445399e913c4a82f707e08207761cc12955d7ae38d925270a15d785899264891e0c2050ba9e7bfee8fe1b704982e8c7f86a2d4b15d5823c2c42d8edde8b9709491019d27aaf27c6e073983bd2492ccb4d409e948484ea4e89ddf9f4fa03d7fde4cbc14581fbf813bd42ead2f821570af3f8f1923472556c115d707cf3d41374e85f7ff3c4c2e46041d24539de3bd5e50598938cbd2ce7b1ec4dcf0762a7390185d9e9259a7ef3a503bc00ce4666217b7bc9db8411422481f28a6c0ef2db4f4585fd1c0ac25ffa8fbfcc57eaefa2c81c7e66e9542072ad6b190b3c871267b944744bcbe54ee6c63d9b2adb9b2e9aedeae48a8ec45731836566010fc5ec35d09634f0b4e8db5cfa0a9181bd5097a558c2a8600a708e6fcdb3c4a8e2d2f85ddf6b20469e042b7b052cc2429a7077f0e60f5cf52d9110d71714bd3d5c230c59fc1a237f7087ca7721c7632e086ca402cd51e6bb83307ee9448a944b536bcb213d50afaa22ac3b47eb52577e5753035cd90d23de56dcc20430cc6f938409c176c48a4d23078473952a1cc6f01055830008424b2614fa1ae400aa5b7d470265668c6d0332783964b5178d0d6e6adc0b6257c9fe31d3274a46c28371188a48505212972521d2f7b6ebfd141ce9ec65a048dc5bd358ad3622f9579b3af02ec41afd4c8dc6ce0815f90c6a6ad2ea727d16239d973836121f0a9d4fe0bdae61823ba7aa218579e2176395f749dfd2a132db435e8817ec596c74140b1b6c1421cd85c8d665fa5d4d6381d83fad12ec6836a04b00668e8eb3c48b02d52eb2e05c233d56f1b51647c820d22b074a419730b88a255090c3f57d6bd6aae0abbbab0c20d6a9f00efe24cc054b85c66b1b2781df7fb2d08806178044a081933d1c04985def326819158287b98c773a57d4d9ff0060fe01d8c60559a7c17aa904b06b7ee8d5fc9b052d7491e096c56df7a44c8a9c9e2f6bff1d998fab34d235b9f6b6d03bc5a6a4da20a0fc5a09fcb2a705773ee342ea7658fbb56151d604bec51a3300801ca9be50db659f82b157c98cd060bce1c9d82634afd789804366ce90918a0a2b00d121699c61d79cfaa582cae701e932952e7a91a099edb37104746adcdf38ab346504acd8c03c60b5dd11d883cac18473f296dd72931989c11d15876ae90d15973892eb7277908ba7116b353d00c561ac3c9194a96224f1ae30a212312e7cd8dd8c1e78312d24cf7125c887135379f7e20f5357a1c145a901e6f51b58b0c6b309cef292814d71b5fe0b4b8c4bfe30bb239eb93c406625950b1f37ee228c89173121409497074d2df7c6bdac18978124e9d450a8d7ba5e2203a113181288b99294e74cec79a37d7f85cc4c6b2cd5389158a8d4ebcdbdc16613002936877fe838937a60efbc136793878d7847c7ec379a80b663d312085c824fc93feb52e4d22a9ff69ea7aa1378c0a3ff7b1e7430b52fb4edb7895cf22ca6010749722342340e9c9436be917575034102350489fe5b95220bcadd6e9ddfe298a25349091a8fb5678947ffce2fa142aa0d825e133ea118b62fef5bd46eaec2b26a5be2f8d14c3932b461a52241e3d3f38d9a98e6dfa6cc66e789aab09e33c908d78c8a54a5f205e63a67e58c57d3e1312aeae7f2d6ebffc64f40a975743f436f4185462b4e69308dfdda4728c223d8b95300b5dcc750f482b0b10973bc755ec66e0b1d72c4fb45ef8b8fb0f0f40f2660314107f3bb038fd469a7a0f68cc36c6d4b05c58b0a53dff0a6d4496a0f69bc692dfe747162b93acdb927e51f977a1a5f5059f45011c88a2508ba55b466082378c8f7099c88495e4d62108633e75f01de65392c177189e06f5e7727cdd950a60c42da3768429276de143d4094e57d1c76441bcb92b4c44070ca525cebb6612cfb3fa7154bd3889cb0ad6ac9a53f5507a26e40912569046b0a09db3f1ed1d43a3ec45811178028b8c297c5df2d40e5e7e67cc7cd776a5e766da84030448f4cb763e80e765752cbf05292ff99dee4a2808c3602a2f8d2f6f8e814478635d2b3375957c00bcab7a6e1c02f88e9afa6c6f13a7d349f61c1370841c4b2bc9b94b7080e360438063acb30217652b5c50b648a5dac981709dbd1e521821270d17aa69eaf80816da7d247aae850afe46464370e0b5a7424171619acea0863ced0a790afbc9f58eb68cdac432fbe16bcfc91898d38a647b8bf2981a6923706f0448784854aa79720966b8e443026fbe2393505a81e06d4f724b7fe40b442f330a10b4000cfb49db77f93b483b7192a5b25d43cb03673c2f04e8396b1885488a174a1cee1efb1601c99fb55fa221bfb7dd4edd721a21b8a14b0fc25a5d976eda9d9c8feef692564af1cce8da687d0e9bee702d4b38eae256bce0e4f6694681bad8428c6d4a05d66bbf4df473ae80363d2f5cb4ac832d9fe14567286ff79a76597ca79225d8b085f7fff5c94648a2afbe034bcb2dff24e15a3425e6bef3e0a5d37c8dfae81f1d127d63d1b4ea6382c1f0e41dad20b4edf4f79af0efdab33954ac5c8c05911b4ed4fe7a81eeb3d31c917165b1b6b37b7a911e8865134c68537d5e4ef09235416ad38798d7c0d3496589bacbd4a9c580d5f1496cc86ed378d9ac4ca8cdce7f245e268d410023dd4c41875aac486beeb072df1ca0bd85f5c578d0a6def3b24910f8c711a03e6067628d41509a4b832022869dc60287d7a082f96b6c6e69c2f62a81e3fb8a742199287885660a488f97c68a727cc743af2ab860135897aeb1a30236d83f437b8f259b33df4b288efda6a7eed10efb364aa793a2bede5fcda519c59aa73bbb8d701ecab9aca9278a9783e96a8e9499e042cf98be9c057163b8e81390d889b6d36564fbd11cdb9fb00c63c57c7d08ee5673e52e2c9eab321db1b4b730cc3c6b215c3df37b5d323d54a4b759e2394658bdb18c74c01aafc343abe106d01b6e6dbd5f454eef3106570579d93fc8de2a36529ef3736ea89c6fcdc8f91df06d420c353e4584179554ba529ab8f56d9c7d752ed27662e4b4ab05726bbd10b2a14db4545d28104c477b390e0e3a815e63f47fe0c76cb07db0744cb1d7eeb96477023ab4accc0e84e653b81dfeedddc34fd5ec4a284f32ff577fc4c11b0a3d3774d0e003099492f44ead40ecad9e24a0bba42401cb7633117c9110800ceb41da6a716ac81cccf6edf48711fc4a26d46d07aee73ca655e51b220d80694aa9d2acd984b1b569f52d9d84aea0700dfba30125311e6a8a0a5e0db55a6a5f981847642b9c3a121e2f89d81181ff42251254561f12f63629de90df2f37fc43968449b28098fae1dd209a48d76fab908ac78ec5aa85e32d679cfb230e9c65b6fca0eee677d04722eda0bc438ea5e1df3afc7dc15d3f6df59f5d4cd97b6fa4acdfc3c00862bbf36a182d7641b9a0c57354ed826ad52b653b83a875b617bce9586a30073a4c8a4dbf23f371558e37a493a2fba925c8d8af6a4555835b26b1f55b90b0a5d07ed291ad7f0130cf39f25fa84c028530a2f20f35eeb4ca46262f2f8f1cc0bb3ff0e6646a68ed9751b1534a9b3f9667975ef5e690235aa7d459780b58c448d868f548c0cb8b3018e4a095a3c78f747bf3f56b19d19619bf31b49d116cfc8a476f7ffaef1412f491d27f921556748661597aa8678027e66160f980a2c906d689851cac6d45f55f91a97dfbc8ab7299cea41a94bb6cd9f94a28adc581aad7ab5a9cf16f297bd0afaec28d3b8d399eaea87a0669d50524fc5ecbc20180dc1d0bf58b38ec563c1f408c3527c0f26befb51722912ddc385a0b7ccb12351227685e83f808dc669961cb94115b35d2d6bc4afb711efc2880651d3320e1613f9523a76dbfa8ecd8511f91e4441ae9ac509b175942aa31c029d0ab67a35ad1fb5ed82113fa91b353d1c33c265a38f5afe032afcbc0f50288ef54af3309e56a9b1b505ea186e6057c1a8ede4c8e9c51676a27461fa4e75566908c4f2cf0fbc8657dd428bf76df2f55911d8e152c23b1e2e460804a3e6072cb8d5663d58d31d37a19cbefcfbad871465bcc547eafa3a4d01a39424a44d3dfabf24dc99f3e80d16cd778044bbbca6e7034d3f5bb4c77a3252a768ac3a2bc570e00acc4d1987b3bb6f35391a3028828022e3f0c433975c9bd58b75c73da65c68aaf0feff8e75e31b7c809a0b53576e77c522220b6b6ac42f6e0bc723955f45be27c88219972ee43c764f239944505a87c6962095d1e2af69e5575fd2e3e44b4231c282475ff95fd5fd16faa4b1673a4f074bf94e1935f109ebbdb0ccd467ad022e188989cbdf4c3f8404d3588e9fdc14ac98f17f2a10b7da839cc05efe295880b1af729a912ab645e64a4f183b6aaf7429a3d9eed2b98dc7a944d832a7f0ed4dccd8dc3fa220e4cef66e350e011393ab93356d0e1aa54ed607335f622318fb00b6e71134384eddf1cbd6ece0d7d765ace88677c7bb873236c322cc695f0b0dac66e1ff778e4b3fc271e3f06b9cf0c0e29acefca35a8f6aa5f8652f0ad11e5d5a5c669fbfc84ee00123ed22cb5ed3dc6808a940943815072fdb60c1b1273d5f1017010bc9df1ca84a94b33af612e310e0148b3c58e0cfdbd6bdeb8b2471146ab6d93cffad93c6ab740f0345f0a3110c22252e769dc5a52b7c10749a2d351216de8a33ba962516f448783b9acf003b64f54bc403595697bbc8c3df1be950367a724bc494b50f22a03caa5ba80a825e1c0a798396b5eaf4124f5f12e049d7c2a4ec87b83b44a68089ea27b95c084d569b4715f420a3aff6f94d6a2035a9aceaf510e04e69775e234816fa8fdb756c711c370128b3bd556b86dc394aa18c48402d485b4168b14ef23a4b10d359eda014c6e95ed3ed24a54bd42d6de6c2bbf92833517f71cf6be0252b698080c7d7c7fba223f097d998fc8fd08e56b667197fa6e2d168ca5bf598b7452cb65f2cdf133ab6cb707a391714e9360c46e81549eb256bbc02be1df5fcd058b45c084df6f389bf5b4182f6e83d90fd100b9e56596cb5bafadb2d381356d519b1b86c4f3eeb4727aaf731bfaafc32bc58a8dd42c774bd2e24826d45d51ebcccd62e6c0dc6ed8904826cfa5b9ce6599f1e3855b7ae886dc55032277a366bd00491b1642ad71a6e5a42577bbe18eac295b3dc72b68c4f5f3e12d119dbbe2f042318910b98842654e5d56d052cc2a86dd79811d88d9221e19ea7481d45dc87afae38bb808b056228d79c3854ea97f974665cbce83c2531c6a8ed21ac812524a9127282fe530e15eb464e7690b35e72ed0e3172e41e5445cd80172475daf6272f1ce916298b4f96f8c28394c145599ef58ee9f23f9dcf05ca46110d3394613f10542fe6e60b643d3a39f33b4611972a6db340f77ff0a7f799bc9196ceaa27be8cf597b3cc07c85fb0a7e7f3e52471e2624616e64584f72e253c1cdd53a30367051d49718f4806f361e09ef1081fc5d0edeb16ef1ff01482fe5a9f13fe43a517fc55e427f7490d45637556b3e190d53fbafc58eafc237ea0e7434f6d64182ef03d4af9d14a947b4db5cb703b6d5f6f99f83fc50de49b62ed98d9056774277efacd8667dc4b632e7be58a953f5fb0aa9ad1db0ee372786b993a0a263a731a8614dee20d958c8be1f7045113ca175b471cbdfd7e6d6063b259377346ac98d12c1f2489d614f9ae7b793122f9e1ecfff26913d991e36597f69682ec13b14de0d382cbb5ef89ea2eb850ab97dd2395ef16a9b9dc175d3d2d421317e53bcf7c87baea960d057c27bb709cff551bc82fc15e74f7099104dfe56415b12882928e7c9a4d7520a4308e2f342b471b3f670e0cf33f067784daf3a0d03ca05b859b226bcfb9cab71087c24269185b5c0a88be155e1edb5dd342db354c4ad0e1cbcec0e8d37ccf0172cd70cdd736fc8617ce6d615054cc55d988d627a32795fdc66e3ad8a673bbba61bb47e6b5da999ff263d099cb39f1f06bf8b3353babb84cae7ecd14b146d938a5f8497dcae8add1f63f1ac8955350842db6634b1892f4b2efbb183ca6f33e74c92ba941189dea0cc6253524b18f5c2cad8ba9e866edfcc3a48116383033ba55b4bd57c4a262a07a711751d29671e504044555609e340e2150ed3a90195ae224b2a46e72ea2af985f52ebd1bb98b9842d1f20090e025717e3f85b526429ca883cc1c6e1a827cf9f24cdcdd9b2b3083785b3176ef8bd7ff3dec0a21b60733471f56ce7912259eb56200c253106118030314b51b2cf9c05d54b36ee3b2a932ea142882b878301d70c9093d08bad47add036496ee5efb9c53275ac4690692c2d5b002a31684d881d74ff6340b8a9116ca15b02c256ec217c6b56529af5b30245eab9f1723d73e710e17b38e8955b028a02428170d82fc6f5c5670ead3fc02fc038cbfcd37cdf8fcdd499d44a9ef5107cae1e15dfb519311dfc33126312e92caf8a8ef0167b9493ea88eebac32b64122f4b483402a51a13107608edf4422023b956d60b74c7951485997657cdeb6fe6384b41f3ff44918a1c16ed7a1c7ae3340125c803cc6bf930a8921b097f011814e241388f1f6cea28c5245c8606edc6eeb76a9103d5e7720730dd634596cfea5f781afdd70797de7d4676226f9c43e65667aa5f641c5be9b91d56fc59505de74913ba20b6fb23b9318a4055908dd8db6b015192abd1f44f260039c05cc9545d5470786cf7afc638fa4993b2ed60389b3c0e0de9f1ebde785b0e5cd7433f91520610e4ac6ffe86b107de95df6559b63cda12c6ef360e5319582bccea6b30e77e1514375b52585b1872d681ce5d66113c04b110d45d82e16e02000b5285610d14bbf721e3856f8b0e08e60540557d6c37d89267bf1d009598ed907645b6a0487bf854bd67603a3795f4a968fe400cb4a06cd3582d65f52a0aa57c5d77b542f7ac01262d467a5e1ce7330d9bde6f55aac1df1faacf9d28c0f0694c223715e9c0462d43c25c32c05012e571148ed41e5bbbb6c9357d1e601dd59ad5ff805e6d1523adfcb2500eec642d101b160a615a41527db790f54214d7a194f077ba143b4d80a5a7b15914772be8baf5278294fd08c619af8bfaab170e81af64b1091c323c8aa89d30928800e8903d111c78c260ac00fa16a9ffc83d6414ade20797ff8f94c7256681b5357221aab40db46e94f3297796f93434b74d9e1cbaa4b9c89dda6cad42e14eb125821a6aba84c6f9d62f85a0ad04b40edebd50927d428fd12ed849e263190056446e5e556cb717cb7e1aef18f607c450dd5c687cbaaad97a5999ba3ce4c60da9dbaf80646c65e4971bb90d3d600da19775b56ec6c5112250dd856bbf4dc830951087a24d8ffd8a1a95c5db2bdec734ce95f0852af180c3bd5772d28390f73c7d4ca66cf483c8b53180553f71afd5de6401fc6e238a2dddf3fc78d43bb7d92ded42121781fe02e60639de09a082ee132f78be55a87c61c77f391c4bd312e028ddec357393330c53aa282d3007e75a2a1286501d5c330d233e7098c98e143a7ceffda6813bec5e2b76e03f37f263fe5ce0a1835a8b7d63865c0b092731adf3c7db8229fa16025cfd5e83bb1b36f98ad54491087721ec811acc8a756cf7d84ec9cfdb56c21629288c13f6843a7d396a9bd92d5b8310ed2f88840f9ae2fbbccf98c28637fda48841774a3c6a527ca3cb33ecd189327231198edd77052fe4fc97f1bef78f9bb0316e3aefef127f90793043ec9d9d620fa07a84f76b0532d40cfd3ca0e645860643141d7e04d64f7cc138ae35c12faef328c26a0bb7e3085d8d6510bae5d8c2a91bef614dc3b8cd22d25c7bcc9d9016806ba20035aa409ddcf18364c8cd378a9b4e525c58702118a001f6b97b7a4b080e72a2cf8ddbc3171b8f946f4b1d183794097548af511a828358ad7a6221e2c3888cbf66a9cd2a383bf18ed665bc17933eecba621278e1e144f4e8f42984620b4182f83cb0de418b178fefd43e0500f74ad551cf857fafbe5ea07c4960b6dd232194b61b3eda548b68be086e5bf136a059390cc120c3d2b7adc2e791da362bc7ed122fd214db6530b74ec13dbdc3aa05b7fea2a958ad61565058e7f4c496f02c945903ebb070a7eb73410f698e688942c585dbc39685cd39964ca376ea6cd9665a783301bdffd51c4050d8d32912f5be0a112747999cf9b30c7c56f1724eaa41196ebbaa2d83225b1b9414c4f8e24c35b629217bc85712cd74e01c7f4ffdd64d5cf81acc79b5c72cb0800ee08c69a35081fe43763720e9829ff7ca99dd77d8cc5838d4611f73501352a8d3f6cdb1ad61f571419357aa1eec17a04378c09d78c4677e1fb126f34d5fa933972a86f7e2addac9b83215791852abc01c0e50de786e3776d244f1843be2ce5388fc3b83f1d305cb00fbde67d6bc38264adb04beb54008da00563aa7a014db75fb9f0d34bb3c9af4d8f4a35ed29f6628090ca55d95cf4ecb2db26ac360cdc620ff2d48f7344bd7afa3ccbc6758894e777b23193bf1fc8c260d73c48a4c1439ed28e198103ccfb229f44790f83a37ad23ca989a4be4d125a22d4ef5797b03fe8eaa04c22c27956fbb337b736514668ecda93a4fcce7babfbeda73f05ff91b2cfbb9db401c00709467b03d9c24277508bafff43416100fb4960b76ac1223458c0b367935cbb74ba41fc70a1377652e698e673f2ec41e4fec6feaad77968f7ccb19f84690d206e214ee6f39d3f3ee98009cb5313611501572d2b3cc6f9f2c4a5062f41cc99fd4f90ab910773a5deb364db587c30e759d292ba9306b246304b3481500dc5229ff03069a3a0d9f494e2475e54d026f9eb5f29c5022bef67b56dea5b76cf603d6eef590c31278b8de2a3e3d9835e29baa5b9c4f03a09370826dc3687002bcba46c49fe37e1aa05877d5707f4968038a0c12d0f9ea84eae2c1e742aad3853af354b98ca55c649f3f4ed4157db39ac857966fa76a19ddaa11787c5fab854ba8e32ac7612aaf2624ea82e851c3c45352bc1a1a7cc865cadf765f06ca7dcb22356335a61b26926f10f71d0db5cddb1ff9c27d51b6bc6a27588c60602cc2cfac194a27a7f28078a1d6275b11c00c2a018e69a810f0fbe0a0a1327e1fd5e43b2a80fcf8240148468d52e11db9672a6168e8cd976432add13f3df6ed13563161f0024b0be66cc65a16cac2202a81820ecc34a2bb5e633b59302cdc48618eec7466e823b56460365e49ba5066390b2a9f98d0a4620bd3591ae1cc0b1d400bf89f07436356320fc3547303bf5e49a1316d2412d34fdcc1fa65b94a26217c0ff58fc87b7859d97d596bbc11155fa67f8560d8be37169835d995d2074d2f4364a2121a29af217daf29ceb1182ddfbda2570bd33adc628533a946e1e0febdef777b1ab383928ae2dffcfabc3fec15fbacf791d8d886584c69e46c421743b7ea1bdb62509ebcee1fcc774bdb648083cc2da409a9d0ec88b7112b11a53ef4752216113a8a93c6146f0232911aff6d69c4a8765cd6800eb5389ed4070ed14e64748f945e6c0b8ea540cfe41de1c5d23a6967aef4a132b10c7405cf4b898ed43124c775568cfc3ce1e8d51f355e4ae9db1931d1b03ef270fa8d15342d62ec0252c219563d94a6312a40ef93efb503148a71f33dfe295d5b9dd66cde35a82408e34d5b3562b3567880b53b428aaf03297ad501da1e923710f17ae93d766b8254384cde1c9999fa2343562ac07a524ba9618fd12e9ede5731a4d3b6507aa0b07f77f3b74363d329b641f5d13cef0eb73774979f1226c96e5b2e9c904a2cecd9d0f6df8d5c8c1e5c8544433c85e2505e205fef83d4babb086e505da601d040410f22cdac9188871470cda28d27de8069b7cf0fcbc99f343d2912cfa81f6c1244b4c7a3bd074a103c7c20e0657ab396c388fcc9e46e1a3a1bc557dd5c184ffbd2baaa6882442de3559441211e74cad0e283ad566d5eba665d1c825efeae6d461bc564389ac003f50cffac74c7446b99351d080d588a396fc95a0b95ae8e72638cd910cedc2d9a3bf3a5081261af94d58eed810b6e1ca795773524f4eb0ba9148bf24c32bd6db9409a971ade34563ae9e3e3f89df8734be8371ad9516de9a73909f3ac52445f3586f922c1f465f6891aa53ee8ca7f9e65ffde9aa878ebb61fa86dfdcfa410a3d1fce8ce2eaf3f2f6774ecc52b26b6edf84c7d9500957c9041a9f6a71414d8a6f2965e9f64ce9754bb2c69ed1ea7a2d04bdf58a6c10bbe28b62b27349585522287e397da4b7e955fd2dc1fe4988665e1ca9573586c9a44df106e144e1a62f868427f8ea550bad7a521993b1a8b55988570ad97b7325ce411abd1e1d5239e0fc62462051eb2cf3ac5f16ba81cca79850ada2eec24af82a85b3b2407decfd2d35a51e53ef81d04caad0db9e9cb97839636d33e5172a7009bb8736277c0449563c8214878c3d64ab9ad9dcf9c89e13d02c57a53d3af18607a9059b71b2d623d6a2bc208686989f36fd7945f76a8f8780e3b57091ff192afde85fa11293579de61f6fbf647d574bf13c552781e56d3f3b0e408b210c2d6d787949529c4cfbd45e421b8e2108f0be302d6295973ea1cd25cbe2122fe3f228c4614038298f87aedb7d87148cf4f0ed44121b77f2f47faa3c5d666b90632f973b40fad76fbd3f9b4d98c34941747eccb2f541af73d1368ef599b85aaef2b77f502625854cdb6af68ae74dba2a3c8c286b745b178a283ca21f266cd1b7aabc335a3b2a42247060d7e6bae39eabb76012d7ca77530f61112d695eea481a5ea66e144e0f51416494b3b0c42b79cbbfe12f81b98ee50c9a428caf2443e1f7dae1aaca5a821274fce3db5dfcb0795310b01d0aa060c8fc1ea3cadc8cb51a4f08b1f4e3e315cbfe2ee72b4f3a71638cb56d6ff75cd74f33fef39ab14558b133151caf08f336bdc4940e51241f1350b43f3e6d7dcc0abb45f360292b7a052e6e9ca29326016ba0f9f4d5a876642c3c4e883e6c1ed6081b37b856603aa62b74aeacfe8be541afc6f41c754e563b174d720af0d16d5512689671720217f4404198299d660964e63c548d16df1d8b6d97f287f6e0fa0836fde7a4c0d96d260e65c5dc933c39e561e64afbe0274e5eaa6ac37424a07251007510ac433942ee5fde783c2dbcc762fcfcf7f30722ad52cd7eee7f325ee95d34fe4020a8aeb40c62487fbbf040192954f5483fbf9868e6e91002bfcfb14524e4fd42f6f03de6e071628f2d8b46eab495f9af571f4cbc206a74de9175250b79972277abddf2d4d8dbc879eb80ef5f442f8ed98ffe0c9cfcef6fd2459f97533dfc3d0d501423ea735324ed7da13842a30ccded64ecc9ecfffe6c1e357f71f3ec37d369e6e73051b6d066e86e945e39d0bfb19a021cbfc83ebbc685f922d755c7011b6958e181d15741f6eb38c593d053706bc095f26922d895d6407b6a294f487a7a456e4127c023dc650598972cbc5475540b291f148021a8a9ea61aa94ddf3662163a4d0e5e8c32b3dca40d35cfbb6819df5e8aead8784bb999f076470263e8bcc7e5404eaaf17bc109fa46020f1e2b70143941be3f1ced47450d6c35deca341ef863f73a31c9ad752b77d3b97a9a8017c1255559f79f600d046e9f548ac329d10913a4292e8bf8708c41fe36dff98dcbe4e744b45bd5329557ed093374a7947df1ddc3101736c6270b9814becf7c5d39e85dc33bffb31bf718acd9fc91f6e053c2dc2737e8b3f10989d6a7b192c9e0610cecc498dca1d0c5b0387c7a2126cd4f5bffe273a4d65bd538cc89e14d9fcf12704a892741f0c4c9b5d62b0e42bd71c7bec67249bf6799085af39c51e809e1ecdd6fb4f42edb6c487f2957b690a65bc3102949756db068e2191ea537c90e1292a1ef778fded4307312867def370dd452877096a8ac02eaa6468556a59df95810fe72fb49ebe5f8360eeeda785eef47b46dd7522fdbe3d4c5e86b61f7b896d8b3357b886b4dd661cf00ec8d588299a080d79a4de4199df63699a0dee1a51eb18482b7b8f2e8159e22517f335c45f0b4aaa0bd66331d9be190cc57f460dbc450591e2a4122c4fe9c3cf414bbf83c75b1d6335398e6798b045dd37ad74f189772172d12c38cf22d3c88b04feea14572d9af451d1908502d980e898b3167a9ca5ea40a87b75a9aa23798de0701cc76926566a40c685fa9c3e9ae5dcc208543b49743d72edd14d8c739dc330c6160a15e5dccceb6f0babe6afbd9534cba6921428e35e37961fe236332d0e16faace16cd3c288bb86ae21a6b0fc83ade716f3eae8b6db412f654bd31378c21375ad96e36c60b83f3e3343ce75a3a443e1d01951583ac8c8d08f12b8dfc0dafb96417a53b710dcfc004fa5d3f06afabe69ce386ca9671523a8463f4f1f51edeb65d61e4182afd41d00a4efce6185a661ad2cfc80d5443a1cd13e386276a30850223f8826e8b408c78f51ffad1f521ccda82d7585f92098beb8e00b507be0000050cb65883656ea79dfd5d12f00e6267059b90bf45829a5bc834f3e55bcc3b0ae69845a861cc912f2e74fc90e2b524eef060d5165f1b1b782e788f45a41a51d3247e3da3273701be65699e6e64c644d7b84e4b80a1a97db99b48eba267b320792ea972b0c3fe26f640fdf02a2d208234f16e80ee56c5c51347303ca96f30600d1641299cd407db551e111a6b2398804ba111ebeef60aee9debd3d497b0e65adb34df15df1f073c67bcd9bfe73936ee79a51801feaa6d20e022789be9f1d71f16111f047597885d17479070e1288c85b0c66012bd5f77f7821b0b7cf7950cf6bd488afb8955482f306a4dc8ef10edbbd252a08d64ad133aea2fc1937923a8f10f9d99728c8db7911986f628fd090923d0670242f7aa31ec2ad51145582e3db668cb35a006cbfdb062d661eeaa3c57dd2803791b9fb3b5f3ddebaca4758c03853a7555b8ed353acd519adc847aa44c6797f9a7505da74eb394c4d70ed50edf66e969bf9324612dac985316e43edfa6327d8768a5fcbaae7981fafb31dfd8cd8e325c440866cb2ee5fe7687fb2c394862aa79109044c7690918de11031bd0fc7c8a6392414ee0ba2514aeae6deec0212030efe50cd1a61ef564b2823867694f5c083b4d0962ef09c6ed11ce5ae6c07e7dff03ab1af87a77f18e230d8c4da3093e4868cb90861a3085e8a818cf7c607f9dca9821d7d2257005aa06ada679e232fc8131d8d43ef2255067f510aced8928b4dc0d0630a3ac755e7eb1c3a0dda1b76c112568e77b3e10ff62b27f588a15d4b62d1dd67b58a714aa7f6c964101d5c813640ff1c8bb6b03030be849849b23f7a7f8d99fab0156ebed5e6a4f4df1abb0c7472813af05d45918711133dae1290c0646c853ad8588ab1c51bbcfc803ebce8053430178b3f353df9526869ec3a35f4c34c25acb8cee6882980d0ca0a1da2cd2e100578bd56531cda1f7afc2ff81c5a1a7c8d4c8e26b38e04d3bfa44d87320e260c5760255d2418332dab206f88455beeb99afc3b48cff41c2c6ef64ae45e767c7aa77849fa9eee2c59d44a396d216429a5c3de302cdf63406623af802ec3e9d67ae57cccba01d16515e12b887561cc43d56b7c663e8ae4d48108d6cf941338154a87a50100cdb07ce862a75d8d3e5f5f6307706ba65f081480eb1adbc1767d348e14eb0c31dcea830421aa2f596f80c76fc520a5ab69249dbfd5216dfb274e6bdc5fa73f2ee6238b091ada519eae8ad5d893a9e2a28446c4b47977599ed7e40b520462b07c659887b138724c47735e747b0ea401cd2637724394e16f4b62f4598338194d9431c24ac251526999e16572bbed6e76cc6862a6e2161c327199ee9f72ff81abd08da3f8c0b1dfcf4e119f1677b6d47d35c269c1cfeedf4140ea1ad64ef4065df2b458b47697c34e5d60a6705264004bb909acae94c100dac152239feb458975e1394ed0f241c00a83ccc27579795fb38002185fb9d4194a670367c1434ce419c860d05304b684c5e42c49860dc1b90fcd40033d36873d2297079e3ad5a8499e4aec6e3ac4e166766012c7f2688bf66afe21504cf336c0c94b52cd6584a49a12c423c35b86c10059c3fac275015545ca97f5f5bdc31a9e8a02cbf979c844b06ff66bd36799e78bf0af0b1a979fa0163ddbc93f8f241f7dfe99c1deba9d9264b8cd36c9c5e6ba5f0b0c3628de9e9874d0432fd5c72f1a869cc6d76d0aa9cf0ad4aec4a40325bb9bd83d880921493340ad5d6867aa350f51f253c2b8a41f04bbf2cbe85ff3f815bf0022d190321f7a20e2cc67419882d4bca6e50e37ebca9c103b2a346f2241977e3b1e32b0f96483f41c6c3daafe75abbc9593d98d346d48fc9eed36fd14762fbfa8c3f3ee1beef1bcc06c2577eb67230c4345859f6fe972bf4e3472f6518dfcf6958b46dd9b17d68e03a138cbfb3da8228b8dbae7837942e4d6b1e1bd0fcb9269b58cef32f3cc4b7333ee6205910dccfa6f9cd613b1cb19da8da957077a99197b2efee97eeda1bb92153097a742e338e92ec649d1c170c429bf25edcadf339c19ec52e9b9bee61c3befaf58c9269d48eaaae16a71d2810923c5e3838966f3d6536ecca0c931fb3259225aa5b8d197bfc051036359bdd13b10178beae2130506768276c9003bc0b99c770e2bc54486bd5fee87d48a72ad077f852d14c21fb77087ff9f059f4177766b6ef1fc521d2b7a9c93711b65ba547ac4d7616a92183dbe8c88984898afc2e969cb86b48ed5830a00fa53638a0ba784295ae1f6b00dbfb2d52b150d6b6225bdd2940ec2aa46bfb2fd27e7de455354cd3ef5ffb5828f1b07b940a23627fbad328199ff8ea516ffba1de7d0d29659d94f03d935c70a43e9263950b0da403f66790daf463de27c6f17f70b370d1c18e3065bb30cd396808f5b33464d990259f7db1545657398ef4c7763f403defd67bd1d2476e5fd446eef7d31cf5526802dc83603d94f6ea9d8b5765000896c00cc0f45717a7da5ecbc7d0dbeec85205ecb44866988d176c9554bf5157d459aebc75d708e32284ef40b9a19043ea19b9cbf0b2130097edb5a8b92ba699a5ae8d147ec28f97c2ed93cc5def6ceebf22a5ce62ff6d47094873c5c3c737ada52733e88771aaa60cbc0ac88882e23078ec6501bbda85e7a3a20fe1c100fc32d9d52348ed8260c65af055d65b5cb8b5bad6779f29f7096ae9f168015b8270289b32c9a11ec32939b38ba6852a6b4bc8ba4f13a6df78fabf4d23627c43db2e1aa4db28fbe29804abebd2f6d9808bccc0fafb86f3791f42a63846849e42cdcf7df0ac73bc0dbf5e6aee14c444bab666993776db0c346ebf80897fbbcd1e9894708fd133688af9c8fd7fcd81563e8c50dec33d38b874942c20085b81b1997e1a42651c7e31a3999c2d04005765a3556899e6824f2bd8e918ff38b0d9b60d21ad7183752ffdf2b463c830ec005c07d25282ffabf48cc6ab3dee844424ed3441f539118261460bf2834c4e3a954b8dcf55d4b0ce62fd1720eeb69beedb6e28465d9f4111a76e7e9f1f6018716d939dab584e339be6f7dfe796ad865a35572fb26d8b5efed04a087accb55cf4884a7206ac7a068bb5d07ce6a23a6ed96190ab2390a8f6272839bb74f57726315acf3d69bb4b140bafd81b29410c2b629c48b1926b65998b322e39a5ccd68bcbf77638a2cfe97d675e3ac61e6233e7c42cc5e8b923bff8b140f229fecd8121a30917c39d35f42688414973864eda611d6e217767cd7b324d202f0b7ba43bef9688c407035f6f265bac7b57db0af72a96dae8cbb0377e1c99d657965a094ecebda160fd3658fd754ead7cc1dc5b4072498c3024f6d290830e4f3d35ac82bc677a91b53f7717e12797b06ac7aad71fae9b6a4843469b08633f3a3390dded2502656f1b531819da1a0186118d7a6b4322ea97f1ef90104a785581decce3eabf06864066a83fdaf927a92846648af49302ea61db5b26b0bf21dc8056cbdfd2574463cace16a3067949b120d7f0e99d7f366fb92d0f96f25f8a46152c5e991a1fec96f829f3b3ce79f7fb1efbf807b8055103310e57f7992923852c83183ecaad0372e38d38a7301c0ee24a12412551c61c17ad9d7c1a73c5b0879728b5c659de2491c88588dddca8e05a44d80dda9e2df3faa84ee60c1dfe45f56c94f6cdeeba31a59d2ffcad67114a1927a35e052ebfb34ece081ecddc1a0ed877af8ce10ec8a13fee85ac1e4229318174e26c9b6ea849cb6be41b4ac155c0805391b946e609aba1c9afb7f3e02edc3bf874e354142a409a1a2118a48c1edc79f94a907d0b31e08ab225c337dfb3e6b47fde4d1a695df4407c215c897323e5742016c71fbdd7b5c4fe572051059665e847cb2e8bccf259b4bc18d81d00ee75e812c3dd0120ab0e78ac4b23bec66af60376c0104ac2e6781379c392967b16054dd84504c566fbe2b0fbb5b81c478c0d06c36db8e956270e9ca45bc77440dad2a9a5f70acbcc3d6554d60991466c9fbfea5f13f3784ee397fffff7e06dde3de11bd8159e804114ee070555356760307568937955e1931081aad95a5a218b3476647456095018628ea3dda22727145385f6728883f19b303687b470c203cf1459e88fb2eae36aad599624e1d23173b04d357ef931255841e860206fa082df983dfa43d9c7c17f9ea626e75850c74798f22f4c193f65ac14b3bc75efec5323d3906f3fa6580c6f45c7bbf9022431b70f7d00055de476e0b897ce7c23a67c407b46d4f61c139d05f6222239ef54e52739699131f289c736e08f05dbde55e91f03955c2f42f65876513ad3583fbec146df2bcd3398e424eaa19754134adb216648941abd93830f6a2078ef70999af0767cb4a1f6b90b7b2317ad85fd2d7ebeb0d5a3be105db93f72ae416af77bbf0b4835304a45dfb2e6c4584ad1a32bd90ab33f0bc39567a28ece6b7490ec072bbae4c519cbc7c89881e858377bc67d656808813ce8211a79b456983dd4fd16fcfd26a43f2153e09ef76aaa8c3156b0cf78f50ab63a21c640ce5dfb77e7eb945ff74bfd5d0e43c680301fb7cb8cdbed4dcb53efef8630e6f5f1fff239c79e77b6ae104b0b26b69d027a8300e79794d52520238f9c65cc3e3dc089a888726d3353b8d3de0b5dd1387ca117569f49b14ee5415eeca92da4b00955b6bb5df30d15f525a9a2b870cddf3d31825b6a3c9eab2c03ad9f5ddb5b02e8f97198127e2ea2bfa45283c01e34fe21dc200ecec4bc8dbd40ab83eafe06504a9b21e809c2d94d7d8a677f191061fd4c29b0255c7436d1353d0bc2021c83bfcab17bf9e064a03c0d70cdfd052e155bda9951b2d075fa1a61c4601954ec2dafdc4424db17e5a2625349494c6a92a543af41feaa3d1e1d53f10893852ad088cc2d74f415555f55bac791b26450bc8886931c69929c8eaab7ef31c23cd1f91fa8dbe8635b3a13bcea6636a1609e56ba88ec77c33c3f73c0020e4984026e0f61cdb577894c73eeccc79d92b288b289dda3ef1dd1d3968fb1d8030ccb6825c8c10cf57b4b461bd68e34c2aecd55d42357d24d5cd937860df4adbf4d3752c939c1155b9eeea68aa429b103b33acd4f5f44fe9b657252f32e684fecaa1fca8c16e0b748fdf4f2d22b8836cc76b10db4f08ecb58dbcc12c47273739934a074d7281bdb5debb539bbd9bf3c6dd4122b7a94a8036e27a0a71426d852522fea483dfb44bc36be9965346e5f09eed8c55895a8d6e6933b5836819f46a2e59cc26e62b609a149fd95753a72a871e92fa8b98b0fd9f9df2cf0f6cfb056b68d21523e3c73e9e1eb3f96e0f14db3c4b15f0cd39a4507fec02007a42fce43c8424ebd3308f53c48f3bf3976aa5602b6cc2193bd770e426cb4844424e4e0b968445dbf0f44bc080533daf4d0b7c75b1d5f0a0b431fd78568b9a3c09e4f85acb063959c53dbd17e0a67ac8c336b9828bd3892d984c97216dc65d088c1565751dc92410a8b334c63403e435037bd1963b373d27c8922ec72710d3b16bf5888460ee327d5d1ec13636e3472994481f5c31916ad8d7e27ece4ecb5f659502acf8cb220b602e40d0f8eb95110efd9cbc5d9a6c2b4fafb43eab69efe7620a2232fba7db4fe3842239f9ffc767e95596ed8092825dde678241b6a53e1267ec9baff6007f3f85248f16431e26d5c395f2e5b9659eb2c001a5d0a81592533f89762bc07095d37309879fe00d2b07ffe488b3b84f0d3ca325453c879489e3fbc35c45403553f924b731e1eab9e69e68f66f58cdca2f729f840d93ca46d2476fb709f67e09f61d64e44ec870cf8d113cbf87f3c8f383a68ded87434eba53af55d8fc03871b1d1a4f38617353e97518fc9e49b08470c7751e03b9d98e033bfc4087f46d712b048929b33dd2011c9fd0689ce5348ad89612ced33e5c0fcfa1acf100a9b85bd72eb2e5de3ec604ac4bdfff8f80c95274b0275973f8f4273e02c7d9d160390dc65a98d4ebbace047b9bfbdea0b2aa9d6b074123d40ddc5d3f203bc30aef53da73bbbb22a846019fa883fa8f90d7f162a9f78c3db14da203ebeb0f163331ce7b75772e541253de9c0f9553f82754938ac70229be3dc1eeae8e559fafd0567137adf9294aa68eec02b6eb1aacb04d352c618829512e3ead8b21f729d6e43eac878cdeb70e1e0ebde71026373b2d5111d815e898f07ab666a1520794584453929b583f3f922ff5b15edaf75dffc4a29c4f7a38603d4e77b17f166740b0bc70e716e5c84e3e2e7bd7fc862b14aa9e79b87c40582de6d765d14943083ab890e03ad7ad096e3ab9cd807b2aea5a40a62b8c77bc9459c904e3d63031b1cf4fe376de4c6cf3ac19719ed07de4cc4e55dea1a11d067a51a54cd425c0fd7a223807cb76a8ed487e89f8d095cf288a7f300340520b596ef5b9821783bfea7e133b09b7c229b7e3cddb54a1ebbdb87dfbd9f985d6b7311337789f14c0272d15187423b5339a02434770e8aba0f9c102ba9250d5984c2d64b95faa91015bcb4c37fbfc9831cc7d8aa47b2a463419b3135d77d21aa772d96ac9418158139d8b52f3a3b3ee6bf9a5534051bda0291e1b5c0a27ded8cb5230b72463d31764372e466f1c3186254b2b502a15967ab16014a23715f0794fdaea9f319e451b49fd14cf2bc70726d04de98493816f88d14a0705a4ec4c11fd0c5c1d5ccfc90b709563fe3e2b116fb0caf906396facd91b61af87fe394536d78b586e0b0c6667ba7b0dad338f1396c8c6a681e84a4b7c7489a4c6c97dde4f7bdca26ffc4b3a21f15f091b44fe49660ef9b233770fb48fdbcbbacb527e80ac479f60a413d0fd2950607a4084f6197d0ff41c51d39f363d5990826584b2ee13c1b5c203f572f4b5d868128991bd1dbf10fb28fa917378b442dcb11aca033c8df9c604d5c86c1a5efbbb16e6b62702dd80ee65360e7cda0d7715036f66a4ce91aea10913f54c6fb987c0025be7823fb7c5ade00b2205edfc14a80f84d936bbe28fcf4e97ce60fc252ec302fd8294a470d19dab7b09142080e2c56533a09bc4db4c03fece8a1c0405b01ff15d030110acd1a8c3a5edec905f0c8840d517eeb9986a8afc973591d8b11fd8d2b2063db585a588211cecbc12b324f3d9b96c9f82ed30b77a14689c34d7876e6a4b6fdf7089613a0c05a5a8d12ea10e0cd6df98078b1e60b0c6cf94cce1f4f48d425c3de49521948adb3ba322a70836b4edf2aa9100b8bf08684e314f9bfd8f3c08690ea3779a02415b27408e752ab2d25b21c3ab40a6da22d42d00a961711378f9d09d56b3e0519583d3870b6ec5dada79ce2a1f61d955ab3625b80e2324fd06e96e6fe87dc2f7e2f10db95f4d44ab64ff100e4f6332238af565bd0d81743637601417b09407391ef92135a9eacfe9a3af4617477c8504d57dcd89659adabe3ce4bfffea5c14bee5b928b7c4f3d223b85a7844ae456fe6f08e587f852b0b302e326d8ab05555bcf69e73739cbc70e93f2d4176886d531cdcef9af5eec9423deb25d20a307855141e0d27318734fd3ae4e54cfb155ac8ff43c4f332d935c89a4564aa1037aadc821bcbb7613fd16bd3d170fb690d1ea2e0d9cffedb1b9e5688452f69d83d361b064ea06af11f97755837d51c62c5c94ca0f9d90b6b536b8b19761b7f8548d850b84b6a8563deac8f24aa8a8a2b843c899c1b492d8e8a59eaa68aed3d76d7deca69e1ba44b2836ef376df55d04093c1751f2020f6720a6ee2a96605e4094ea386eb13124a06cceb10449975244c394924e7a9247b8ba7058a25e97db61db7bb5ea3babe74100f7813fe7a3deee3da25cc8aa27525ac279b385375bf5affc494c031b1fc276d843c2b232b559cc63e05c9fdeffa3329f887c3db4faf554791478566209afbaf6fdd28a17b7981c42ddffcd0e2f832741660f01805cec8b1d6a82e73a47b38f3101508733bfc5994efdc012f2051a2a871848d02e77f637fb9d115a129c82b0e1ac1f841e61409ff91cd75ad4beeb9648dfd182dad02b9e4274e1dd6aa59306f7b12068c76a8a7a1fdbb652aa2c70628191f570dcb1adb32c076ba366d1c5fb14b26dbcff6587be6b4b79063a551cc1aa54bb4b2a47b0619faf40aac314526b41b89836d4a03f3d245ebbecaed9054ad42dcd92f2e8587da13f09012fe715165ec01fc144605ac77722002869a20737402fb6bee999028ca640babe40bcee7c606799817f570efc546911528fbe691b702066a72d5ae0047a68769177acff7f3234999db6d5ad84f8e7d43ee45d583df58ac242a87ef941f8d0969e269d989dd994fd38db3d4bdc9968b83bbaeae40c4d16dd80493fb5ac8f784067720f7cdbfcbb1529d1412f439330ff709b93ac4c5a9c9edc4b4ad3c8b486dcce6b69b273769f8f97ef90cde55622d9b4602b582c0c02b48b6b6f0a43ec9d5c095f0c41d3c80274e1c48a722d8e9442f32ed016d26ba3b56e221b119f478b231167f3511714fb9509123de580e0e56c4f32ee465c874c409474ad63ae50c91c626b65a141e24ded85c4fff85e7d297865290ec9d06e104fe4dbc31e4d35a492cc0fa8a615a294c1abb1b17b0b5e88451f66b6e731c35c1d9f1b4c02221c53b5802c0bf2acef782a7d2d2d80f3fe2eff52e7d190cfd64d62fc11698b9d97b94aea0e7c19f235d6dbf79f0de828f9462a629e8a0ac374eab9947f33ee82b4ecb8942848c443bde04540284a84ca46342ed3ae0689782e730b333ad585bc6825ff8073cdf26c98ea65270060c3833fe2208f9006ed5156a83de9dfcb7d35e5bd5878284f548f204f34e607a6ae97366be4685b1d583e35bca5924680e333199d907964fe0b4479e34c97ec1e69e975411ef99188b8a3cf3d2a6d923eae10aee82b9e43ac746aae6f4ffd4cd2c9365c61e1d4968a5ce2c84912f61544dd77e7fd2720d60f280cfee7b011099946b3e04c15ef5dc1d377a6d3b6ee5c5b9521237e485c6faf1cacfca439649e2a0f005aebe304c3b2b8278de591ee4d619e10f13260d760b516244e5bea53a6b20364ed6642d3df2bfde7ece2d6175663d4927f06dc3962e8a6f1af3e707568403a60779394ef861b2009a60c0d6bd800a5881da4b37c9538909c13925bdacb5c1e62876462135c366169f75b220f2dda74de7d14d1f25d227daf0543c1dcc8e7ea15172b5756261a43a348d4cd06da9bc653d2ef60ff86305f9b69e292c152acad5bf376c99aa7f4feb37f8f730082171b2d3f1050ff5475ee89008cece3735e0f7d2b5c44f7fbe854f378ff93d1d8bfe8f318c54345bba4cdd123034be81193beecff13b084c1de53342bbb156115a4a913c01dfbc617cbdb92745348f349c63907fcec7a3ceb9f082ff70c200692d9d4ec42e2e7ac3595f0a4bae299fe4cf36b62bd6d9d28683d260badc04a843da7571be0894d324f334c80d6f68c1d7b09448fdc87f154624e4df9b8d222cca8b0175b51671b885da2c3d08354f764ed2f5e1d9a2058895c239e70fb365420d18ac4cbec2e52dc647d019564f8f4f4cbd1d81763901215abaf4f5cddd853969e8f8acebe168d234e556e585b390a7432945562c1f1aeba2da2cb705a5ff94fdd9a3b7e852bf2196bc81be479e01ef87c36879cbb2581af314118f90929a1e0caeea7b035e8496050b0109d4256f6ba5fb124d84d838c631f20d01415f1f6a447b2dfb2dff39223a1fa5226eaade9bfc2cccc1f3c8546f708a6a3f21843a20cadeef7ab612ea0586e9bf8257cc4deff91db47ceab35fede464f3a2cb4c5dc7add87fd8b4e32f7c27599507d9923d7089229637efa5eaadec567c553779636aee9fddc90ee4ae4377999c92d0e542e915818c957259e5a111afc841c305c31aabd1e15a5c0e9cdef0e5e1ed323bc002f8d44816a5af85c299e5c766c82b916b886d5aa70585367797b5e7191961077be81f71ac1cabee17924763c13bc1e19ffe32da3a3e9a0157cf6bff9522376e44afc0c9886efee96a01062db0004822eb54fe2bc408671a378606891c2367899e0f54109841ae2376a74e6a88d490a8dc94fcfa034a08139d032e607e2c74adcd44b7842caafd6c402cc08051eaa494e318685ad535651f2cb37209e12b89a72c6853878c33e246c74023c0bb513c278fb893c0874fc8d823ae42a3eb9d857e83f4109b72e350f85b1fcd207ce5b6bf89cbf85373528e172bf9abc342163afb9fc10e2cbe61a9af93d38accf633f71191809d252356d748e4763179ec78f919e2af3adf5472cd7f5c403481d5e2371a927a5d504f6baad4b58f4fcecb2ad3a08d91df68315bda514cd8e4bd25f437a836d76cb0b0fbaf2be02f97b91647b9fd38626eaab7e1a45a854b85f79cb3aed809f5ac6b3d1fb019ba3881288a0cbc0d6aa5d128b57f52c30366eaf68dec79c8b92e4f92c62f7fa11f9bc5e87fe7d0cb47359bf3d25e038f85d078046031666464a016fdce34a5283830d70fc1d84a063d3949d1eccbe2907fd5d909790ca565bc53c671eb58c7bc41ab0e20b4c6e53741aec66a890ebcb6e01ef0ec46282e97d5b8603cdd2e25f8312c38a35988c4e850322c3740a3f94df5aaebe3741192871623ba3dd35eb712a96fcf00b0c19990bd84bec3a59144e6484ecd57311aec702d211fdbb3d4dbda40da9deaa6ecda26c4c0be34312141edcfe1f8ec51adec1384c31267bead7cba61e15a7205b8a089e3b3a63751bac09e04487298448ba4e692694317cd466a57b2bea32b09973c97a4f8c22ae1de7923ea7f1508fb38efe01acc0071d0bc7c55c447b8b552832c8588bbbad762afc945de0c4854a41ef2b100a79f060c7dccf537d8e7249fdbdbec3e521eb2367bd916111acbe4c804fe23186d6042e6f96f38f6a2c4651adedfc47fcf978e2f39040e4879a5388d6c20e2af7713a69579ce7b7b71a586fdfdead9c8cdc57b96304da632583a070ed9dd31c99cc298c16ebe144d0770c0fc5a318d5716930876886c15d10fe2aa5bc7725885a41c3111ace2153d0a521cb991f538e2b8abd06f3f025b5e08e0218a5e5ed4dfb76e1c12f016fb1aedd252853efc717ec7f263538be7afe1b01e2686bc6e7eb89b756b6e23bbf3669f05c5a652abbeb35451e877ba59556a5037606f501892dc6043a20d39bd27587e01585cada1035415666acb9d8c27455759b7973863fc8d01a5ca8f5287d0f8a2a675db5b072a0156d90eaea252752e93d16f700f6a5ffcb36d5db2e12b23273849cc668d292e81ddfd9cbacb183bb12858459ce59c328dc1a5cc26e06b3fb4d70a5d4818a48984568b56a2d16e598a9d9235e43e39c1872171997d00fdf2dfa71b7c2febaeb9e51ce76d70b84473af046f6e79825fb696132ca52d73d1a787e1d6110501378dd6a80ab62f1c90dbf708cf7f43689027e54efd4f23b625be74b1b487eb4e9b12de84aaa536e2e87a1651453ccf351f1c458e0ecd12abc2f9b3b9b879405e96dc5036e053d0c133e646304091768e82f874d68e78c91164fcc442acd677a9c899bbaeb2c3fdffe5be88b9be590d0bd4386edc0e6c843c236bd8da749aa1b1311688da0bc61ff489939de7dedc27e7effa19dd68b811030fb425ffe470e9f9b54640f533ee81a68fcf397fb4e7a463a41f48128ee468d2a89eb6cda3a8802bbbaef15f721bae551bf19395a460cc7caf218b30e0d0d9fe00190f1350fefc7d74c2a8cc82f6496f2be1450a75989f3993e76b647cdd27faf840cfb89437b4cac07af711ff1670a7a2164ae46062a7be7b0d2b2f1f92ecc422ed6aba116f1b5375801cd67edb06b5187c25ab15c8d544a94621dcfa7bdeb907f7daa4daa5c724546a20a0ad9fcc3bd7108ed7c0f21ffba3064def83202825918c6278c1181a8cf4aba84dd3535ac27579bae8573067f039f3d24fb47308cbc10caf95b9c5e80f9e9654907cfaf02f2778f1cf41a0a8ad60a7496b288375a0b1de4f3addf386cec0d54906006991ec99074b1423b12c409c706f97b3948c570834225ed9dac59df6bcc77797339dfa44cbc540c58d36c70ec9b7d3d2d177d0a55a09d2f466d4d574833c16471611a46baca547ec95f2a7eb017befffc162f60d6a3c0792d062e80bbc7af663d73afd93e0713efddb21f7bf624b1c1576e9177a047c78b3155f825d1c8c0aedcaabccf350e0ff1c1e71fbb241e0e0b3ae161464a3c566b55a15e6d2f37b8ad3e2df565271e0438ff5b0f160d981d11a0190721689f38372ea743ba682ada76e0bfc82f5a842ce01b552bcde272daea546038641f375a706ca73d18b6f4cf3b2ff59ae2529b2a8e9c85e7540abef09595ca4af0aecae884be9741f71065233881f040e325937ce02bbabf1d6f1c8838cb344f8946561b4a02dc87ba131155d17d9fce80890f62f6461f534ae98e2c76d0ec64f36885b10990adf43808742be6a8eb8f0611949a821f7276782c154245655125dbb5978913080836ba2f508a7467379acb1aac687e614172d00a410641b026f1ac8c8779ae7639a919019f6e784bf1acf55203ce6fb561f9378a71591f2aa9e38f0885517ddc54cadb907d25431ba0d991d71580a8471b207ee4fad9428e06c0811505d17f3f3c567fcc54766f01de5e0f0dd64260cd7fa2c1ded59d119c2eec288c40e371631c33a960252b426c2bbe8b488e65c88c73e7c2eb4575444aa608f0ede69aa9c0a45682160ba817e19ea1c6d138d527a86b5d83288e16c62a11d60955196753f164337bdcdc9949ee3209076b381c765c849c3e6246bb22648ee1fa8181d42bf9fef7ad4596e53958d2781b06b877a10e4c5d3df4da8cb270646bbdd0b7d8841cd28582f21e8d1dd34bbbd96d83f88b392fff52345ff6f4457d72247872557cdc61ba672a9f761018bf485c1cdfaaf44028aafc17bbdb27303746c959207577a67d9b276ecbafd7bfe6b0dcadd361eaf1c4f437b29821194c3a386cb3d4aba67b050117e590febacf26f5860948165c68edcc3dc7861d96f8ddab3425816dfd294c8bb4d8ed333f819a6ac8a466edf30b057167e7433f18466c439044560a41fca1b14ea12466b39de8ac17fa36f7466230be1052dad5cc28d3f60d21d26e9b2ee4fe9bef6b6c3c7b77c3da50798a9abc15e6b0edc7ac0e6837a2ef39e35516bde407ef3dc7435a7f55114ead9d045757760c60b060ef7fc61f0b4c1cbc9dbfbfb8afa647fe17c56f6a8663e2df857af8f71d9c8303e8e32b77197dcdbee5afaf581de68564a09e2af9b322e388d2adc5320b5399f6cc0d6ea38689790997476ccc802943d52c107b2c0f6cf1474df7ca515e3473acb8c3e15bdd06f5e1a94f873413fdca2b818cea80eb36dc4ffc6b9954ed8eff64563c65007084f8894635c53c74bbcd23e25ecc1f30747cdc08791e7ba38b935c9cf0c6805310a4677594983bdf5d5785e5f25eee498bef2cf3fb51ff167b32c82fb5c6d690f3c777a92c23f586bef6f79deaead04cc696007b23ee131b332e044bda29f5a96ab05c7906a3295e7fab65de2155083335e48b8b4f18f4329d88c3abe29657d276386e45ec8af15c545741ff5691262882b1b6e5d6a0408f7b99fde0b5d9f3e788f32dd83be462442bf435f081842ac729c8f2b35994af481b3f42bf7acd3510fa315d2caaa90503190b20c1f0988c26076c655a7653c2cdeff2296878f112b0e19162ec920ea4c96a6aba45785b6ee6299cbaea82bd077581c9b7ba826e0bbd4c11e2cbc25635493346f607e53c3c10fe1d7178c04f9c81b89a218fb6595b2a781e19a6b25810394972d03f6b162cd92f0db32acf96bf1456c9c93e713c63f3bf1cf45baa78d218110ff64fa7fb4db14cad86d98711dac82696fde60d74004070f176f02a4e5070b3888f8c692a71df845f9273c730c865812ba893460aa846e5a37ab69df6411d364b93afec2ed1f8cdbcd53c6477279d9a4d8ebc97c9d91af3470111abf23cf67b4007f12b0712403e48efe7866e903637c357686468b3e205e39819c53bd38a0396f33f38c52af4be45b58d6d71f8146ed38f8f9bda0aea35e7f098509f1fe823693886e6fdd2aa579869c1596ec6c0bab202e2084c9715dc0acce4609eb209bd2345fe85b3f82188389f647134f48b8f9163796aa4fc4f06fcb79fee7cf8fd471991910999f5c835fae46a798960d2acbaa724c098a0fb91bf26eb2b5d1d7f611123c561988a3168fd449bff69c18d891a5b9a5fb1522798dd5e8243b213d0ac8c0daf22b0f4be2bd53c80eeba88ed42c9cb0cc8fccc3252f80a4b14ee9ced6dfc4961f953bc95de18ea91c9684344b4cf24ac4ff2226c95083a7a511aeb6e03034c9cfc05098a42b488d39758bcd316224c10a61ca46c0aa1c2f0e486f19b9aeb2ff4b89702d7f59110648cb18cf23c5abdc6a199787d88c26fec4edf2ca0ee3325aaeb08a6a89e1be77780a9b3cdddf0a897926220d98c0a49372c30f2b313754bda6387b9aae937b1cd44b69250fd7927e1606df97f063c0be9635b38a23d88c8a4e5a019eb667260bb2f603477e24616b06b1e10854d6908dc02eb553885f8d31f622c7a3043e08ee49a14c1262dbfc230c01849f1de44490076745b62ba1b59601e864eb8982d2a1d0f9b2dc5d28df6b6b9012b286921b6431825d658b110dce15ed36d2cbbc9923f12e9cc3abccbc30047bc44c674f0105fac86d53868d307be6483f21f2a1ba6f3eae7a1334ae20a36a154e851feec364b20c1c9c20382df4adbbea8034d65e62754fe39f4ba8520d943834fcd96cd1a0b594c69ee92413702bc15ad7844b1d7d64b8ce6253adc0b65cbe4d9b4b8ec1118dad0368702d2c845704cd94883add2fb8e08d77a2b3aa5bbee280c22820a7fab8a161bfde029ecebcb70c36237d520b274dc1dd3acd70feac2388de7184986f76da019125f289cc0230a37a1c47d102246a7f1b1efc4f7886ab97f295c45c58afb82697af04a83951f0577524abdd40b608619f71a667d894c23b47c64c94a3e0de90a8de1af09e00708929708714b9dd199619af01184d2c91729e90bf6025d0d2f2db397b05ae8a2bfb488247a17324031c7a96e5ed65935173b592167cbc6fcbf3cc8bb7d9acfe2a29fdfc3393b8b2eb4614d8744dfe18a4247dd03812c2964dcb8047338eaada0fec3c75022ad37f24c4cc13940666a5be24602e1ccb4eec236969f67e5fffc7922373bf8dae058161334f408cf74018f43420d0f1b5bac5aea61c668b0f54c7133ba56e81ecfb9594b9e4ff39559bf215e931024dbd4cc0404fc20ff7696b4e0cda0805fc011239ad8cb3dc1c44967ce56d4032055fc49a75a62fefbc752310aecdf81b36eeece0b76f9f0cf5ab41ed0acb8dbf5e2d0cd8c35125f0d451fb277e0d367563d66d3cd68844e63d8d4769947091b6eaa6ec3422908a6af7c685a507f69be99c5ebd0788569f03a6f716d3bee7af8da6458ed4f200a009a014c96dc29ef3fc59363c67773588bd7a1703871df9c78728557169c2cc939dbf0254fe8082ca1072408508f6d8a2872452f61b4af814cff8b044e4e2ff3c67f53f33ed2bfbe34ce99fd1bf2ee4313e956216e155ec4e736863ad33e8559a3a753ba72e1cd6e6ec05fd96f755c57193faac9bc3bf8ab2293e6acc034a58de12000ceb1f2479e10576fb47294e9d94af423ff47627b8bc497f94e0003a8269573a24ef28c9812911cabc94ce45a638ee061a316facad67486f2839e9d8c9a012c739b08736bbdd6d7b2d69e97f30f739811b8a8960d5c74016785dcf9208fedbc1a96d97490d146ec2566860a99ea331e7040707e7d2bf0e169952c1a79bc26a27f753e92961338903ec1ef8ee08dce5871a06eb136e65feb1e107a46a1a84aea72bc95614a2219272fa1e4f375bdbcd2dd36b05ed74789850da17fa8bdc8e61413ec4788c6b6d8cba96f3199faf933cbf755b38a154d11ca2c103f9b73c35542dc0b3ffa3409eca4130b20771f9947c02ac9d1800753fe850a17dbfc808dabec76e06bad1455d558d29955ecbcd6cf63670a3724ff423548074acb58979c5e78264a8b4010588bc48ddef4d00ecf96ac03b712a4ad53f24b9da1d0409907f1c30e1710b309e619c8ab1ec612dfea69a4f3d7157aa3d1192f44d58c521a7ab97040d2475ec35574b5711d8a42edb1e898a3dab9e503650f7c4666772d983a2a5fd4434439adfb45a8927c11c83d49d1bb1f4388ab664d41867430eec870e5e8c17ff68d32c9dfbcaaa2ab23b2fc57b2b3642c19058dffbcc30400c934511cf13f55568a447e8909b51e9f2378dab103f95f7b6eb5ae4376a530bf874fe71441ddc989fe719eea786f1619e501c4ce47e1430a6b18e236f7270b647ebf4dd29d3ea7cebbaa191017e87e101bfbf4a46f8c6f3886ec094044ece4828b62e077d4fd597bf6f9e4d219ad18218387bc9f1558f0b9c99af46212152e2e5142e4897631f3a202319f652384e9da368ed16bda65051d46296c82438e7907268d528db7f6cf36611816cb9b28ab62879a9975e55498d444b7ef3967f4d1a238c81baff99d3875c4a0b2994e7dd402db3ea29fc0315d1dc6d3c5118003706b35a5b098373f6b0787d0a690146fd5f09335cedd61abaabfbe3a4ce204a650e61652d181ac2e295af66b8cfbca155d88bf89eb15f059094032e1d926d03aa11c321302db879f1b49dd0b6850db25baf9c679c6f74f73a3f33e2d94ed55a8a8b0aeaece1f9a740f1d8668d8fa1de357ce5f5306a92d8402fb4c113079c41b5499d0f3a11d284af5185b77ffafa582f1fade64c96d16fac57d92e683e19e61fc8165522875cb2e5d88e4a6f060a98845816e867e6ff8fee8eab9542ec7437b9d82e078f307416cb329831d0db49d6c630afda6109535b9b0985b630e97a445e62c45aa9516e9548b3e8bbffc66f3b65c7c1714589b6b08a8c9697c5097e1dddfa2e3014583600dab4afed7495970d45f3fad9b71476fbd4cc259be8f74e31e71acfcc8fe22aec15510130eff0eb00fdd956bbb0097be03c6a6beebe38d69ce569051db9bf1fe7dc76a233612d59b0411611ca8236c39f314e7e3c52318d6d643d2adc2eb8c92146d9cd897035317bffcaa1609c4d5784850b974fbf241d6074d3b1b07cc0ee530fd21638c6a97b404f7d965a2baf2b72752d54fbe6d9919bad799ab57973f103620261a8a6c8c0438dcbc4337f97479be26fd53556f30123f232ae65a8d815c05dd58158f8295b63a72d9486edda76e6967083add8d0926809dd1e1ab2d99a93cc977812fbdf21343475d7c5b1aed2f2e001064b4be1bf1e308a7a4dc066fc6623602867f43dc3645ca609ec103444407f62aac1e91e316a211e81fbdaea3ef0303d100befa52c7a15b9a7219b9e31d9bb6d48fe76ca21e7d046e3ddb6ad97e44b2159e1e410201699bf73e4e676dc78e7b9b36d1b794910140405f583f8e0ff29d8434eb8637d0cb6212a2ad127a87b00659f8b1cc5d235671febec645262b0fdfe5324eaa378fde6e03acad8e2cf11d6780cc360db1bf0f10568d911dfaab4017406cbc602eb52da5931428ece87c48bd56519b67556b600af3e102f8ae0624d239d158ba50ca0a156e6c5e58cb112dc4f8599cda5b92d0c156be14aaa443e692be29f3ca8c94e5fbb1b598c8c90deab7ee4fed1a9aa875a5eb26a45580e1d9cb3756592879ab721c6ab76d5f47957dfd6ea756fcac887f3777ecb6264cb7080e0492b8101c5f5ed0575893c4f8a16a92da59281e6ab96b72178749f81b8fefd4f2db3433388404fbf4e5da1deb2809927b0dce7a0e8cee4d97428db5b11ee8f1d9e43d45a26a1b0869ed27053d80db71ece00d9b0f087d5e2e52d0f05818c2f0d92968915714dcfbd0907932fa1a7a90d7abb1f5a5f780b912d18e93e6b8fb4f002cea91659af09c014bd26dcd247ee05030395160801230a540d0bae779948722bb1efd44a66f7b26299009d15c2743f3247d0df60657efc9a03639e3bc8203962df8df9ea99f1bf62e051935a5ed06346dd993fb0aca40758607fccf3143f437d1f136a52eec1d93e4d13c9fd2918107d428fe832066304f2eabd9b5a616c2ca82763b10e0857415e1a4706f8b6740bb4d6bf6309e721b7b6c0c8809d24e68aa71b987e91ec7a2db3894313a50fefeb5f4b97b3535d2df537b67207cf528023ad016f0aa4b0975b3fefe2688acc90b7fee83c0526beaeb9454f5f60b17ee759ee1dcd332407f585c00609a1e6d947e6f1cbcb80fe9a25187a69ba626759e92f721469470449d8e1f587308699365b2fd213f44ca60fdbc25bb64ad36f2950b8b49cbb2bcc94f2dafbf5881ae360a44d4b97904964d08b0aa977812a72bb1caa7e48831cc89a08885b0bb8bd8ba0a0a7c80060630ace25323a9c864f34d940e19319cf0acdf60632c523db85e7f6da042530fb6e2666a4663428ac122da722cbabec2ff9e3d42e599c12e5cd0c728539d7f87c0d2b1baf99779569389bd044207ae46122798b9391666a822cf95a829f9f12ddf3afe733e1e57ac362059af0a62a5a49a73f45a91add8b27c51bac9f857bdf4e9fa4ea6ecfcaaeb0b7c05df5e236d356f12e561c2d8cbc22016d177925bf521951572e7ae9af022d4ccf638cc7357bbae9f7658d3d750efaecce23bebbc8fbc26f91bfa0c02c6337614cbbf3cbdb9166e32a1d55cf1203c3f2dedf56337187af8850f0b95d0c47fe5af0f8d85493c0fa484c245cf875c9de6550732248297a20246b1c22e76fde39d4b60264587e630d62dcd305745ece52d0405357f77001fd9aca03f71c7b627cabf5e4ec909eddb15e50ba27dbcff3228d8d379350108582770dee7a80b42dc5635a66e0daebd744efebc89bcef48848fd43e0114ecdd15ec89e5e5255e533366c8ac9f953d4d4f50afa193c14c19849f79836f8c57ebbdb3afad4355ffe690653b227bc2c51c1949795e41ed2dd3eed0ba1b93aada9697b981b69056330d2651c100ae41942666d68419ee15f08ac3d189c8d676bfc05fccb456e1b183b179d620641c564e2bed30eeb516dc46e5c6ccfaec7629d0ca97c64251d93ef9eafd28e8c4d28337bcc19ff618117271dc58758a7b5fe80529f33fdae534b14f011ab84c413daae80df16ea56f69d04835a24eddb8e89041101851dbec222a24d9622dc7a6be927edb30303d36402899ee195a9e54a19cc2844ec731a0228168454b8a1de5e69d2c1f4ccf4bf0d460e489a5ed332e51f5d5513e314bad73d3971ee9a485a9e4e333f170935ab8814da56c278a50a18b37fa38a7be281ec355250ba9bed3eee103b059c249cb4f3a13fe6cb0843f1eda6ddbbd9ebf25cca80943ebd23ef5f21f9001cca500a826160a1ea3458d944d8d723a6fdb4508236866b21e2948c983fbe7a8f4d7264724a285f86e6b616f55999fe5e7f662d9c32b9c055ec9ee8ff1da1e0435e594a7eb3fc411fb08530d54f12dd3cb8b4ae281de131a3f256489519095ca1eb9a0c14cae5ae36b081acef268ef925d345d55b370046f517912dd04f4e7fa55deaa5202c53eab1bdff7160255adc74c0e530634c37185445a4dec5eb7aba936c623e121a9bcd99274d4be9c4cb455293d2b7a06ae828351f97956ae231526dde5d74a6ce1eff34649ac4cbdcd8abfebec355dc769d1b76b606b2edcea1b2840cda289aeb14f5e2cccbb661eea3c904f053c42588dd3620f1cff9512d7b43a3d31c6831557e865959201d39ac24b2ad3b3c74dfe8638cf2d7410832de88e2201cbcf94d677e7b5579fc603dbb6a99b55ebdf4ef3cad649ac9779f9fa760b4be3449d30d4c560e608bd2cd9f16cb158b585f5cf199b85d10ab96bb3155a10046cc70ad8effb406d06b818bf47b9456a0bec9e012c679184a3bab1c76e41545edb3f0b5bc43bc423a0a35b24f4cce1ac53e7c38c9b1631d06fa772cc54e513c2582a15c1083f4ef15a39d053e1fce433f993bc1fdb6a6fff2ec69e155e6eec5fd798ab0ed9d7292350b933a92e05704350747aa63bed56315277baef05a57d9d9d0c90655bcf2011dfb8e802c518180ef84bba3dff3cc177fda5693dcf2cd3708057903ccb68dca9fcb3416aa6d86f8b70b008e51c92b113481fd0a78dccfc44d318f61c0b29ea1d1c393c5a74dd0ab43072237906fd53ee5ddec325eb706584cf492d9dfabe260b4640132933f2a5d0b385f2622cbe8acbf5eef56483a2b6e52e19af4b4695917245dd77508c66e0b2434247bf7a8e2687c67a4ec1cad6ff11c95836c3c5a5b9f53477073f8ca590b9a934d8eb8f80433575d110929cae2f61b5866b9c287f81d62d84072d33562256df7cb76b83821a43436b0cbd6033ed84767565d8ca2fa390f35bf55ad63df37160bee5332e52f45aeaa2525c929827527c456ee7e4bda343f67b56dc255cd7c0ef23021820c2b41326ca7fa4003aab484ad8de137560ffc761dc29b4b811b68388b3500b613648d86cd65f96d3b897dac770131c69145607be33b56bbfca5aa45d215dc88d0f364c411a655580d7c54d5bb4748bb2ea2e467e3c8c5b1f02674fef46e92a6c2e9a043d07e73e97e99e9ce52415f2f316166b9bdc02251193b17d8bd26a4e258e307df12e3eb85ca42b1f7c8b78511253c39c5df3ef0bc347c0650ea16397e4a12f2a1ad7d92f1f0fd792db9721a1d10d540b5bc0c7bdec0a3a8cddcda73dcc30b7be9f5cf2404bf6af3de68abf1ed8bf81c2a461e55458d5b1493c611b62b5c9c4edf699d60dbb05a1654eb3f287c1a0b53f5ad45e7731bace04ca26e403131d9c7cf11141644d2aea48ed6cb64380becf7cdabfbae73679283ff90f8e983ab9e26d327586102544c802e9c5d2415a9e13564a4368e6538ba85c9c016faaba48e6703363a252c2cf35b19f1889369dbb47b60ec05323046f886d6cec9893a9bc546dd1adb928e41ec6a26623e9be590b773818df3436d4dbabb29b33a44c7583f4517807c95b0e45a13df30547891a5d87582effd43ed8deb143eb6c06d3dec374994390d99f905f79f885937c17aa6ad903830220973751573c13ccac904a118cf976eff5e9680bc3c5bddcd933c192bfcfb578e5a93b5bd29d7f384f7110564f366aca84821c1631e3032df74e47d74613c59cfb9bf9d3d30aa82f0acbfb34272c12c1afe1dbcb6b5151545fc2206ed6f1c4394c7376cf73b574dc3fe2b7786ed9999dfd14e98623976d57c595e91095bcca94dae7ff5da09ee4502d6da721a87215c6279985f59ef523962cc6e9b64f0e8ec3db7811309bb1dc7304f70f951748b4a97a432b7dbc9132fb431f4191c40ebc95fb1aaeb54f2102a9b7cec5761c4656ba52583743e95dc1d231c9c6c27522493df76542d218243777b76e8a2c2aeba77d0895546ccabe7305a60a609c654c97493e8e68bc2f1c008717fc612504b6577befd6f931dc8b2dbbedc2167b5137484a70bdfc8ff072f9ad6d96e102a50d3fcc00091c70723d1260cbd8ee684553e3c85ba1357f7e1accd5dead2259a9e30f654675592e2f7190b79b829c7f194f7f7389a0f20f2813870cae305b84e1b81fe746361ef3161dbc9530274219ae91354884ba4d6e322ca2b79eabe7fed9e6cbb7004318bdba3d2a64205066d189829991db67076d07d23909a7aace9402e62beda8a7e2896eead96b2e85684ff2d7417fc67896e82397fea128e189e9482051aa2147aef96bc25bd41fbc233570629ccd563a7667adcf6a651ea7f083b1d4816a1e97b9f27b824ee6d67e7144dcee72d2961a436c0ef2515656a52d42db9522f4ed1ecf4d5ddaefcd97edd8383e7c6940f11e839aa9f4c5b52c4e12283b18727876a887c2818679a4790879cd0e6aae9b9c89ebe1c2ac70e11c281a35ae97a465a07c824146120d6494f086d513222d334246bbddbbd3c52c82dab4c641abf2584088643a954507131b2a64842b19253366af7eeeb04836b14957252dad3a96dc244c69fd53c14acdb644ff95df6af07b9b32d73a9c08be5422587bae282fdf26730a6fff18f555c164ecef1dc091460f1109e66b4e72d3831429b23612ceb11800c8dbf03755bd4ac6354e16cdce5041b66fd80f60ed1f8e816d363ffb1eb514ae8e9ad4dec18d9c255f8522e32a661114fabddfe84b0fb963e7f77e738388a66c925f8de08363dfc9f2bd50e31a16f35d0ebc5023254c01c9010c7a658e3f3e2fe6b0b01d839b40f5c843ab8094a63f27c5a2d751c084a0dcd7902f74a7c7bb45158bb127311de76923c694bad7329e23fbcc7ffe2faca5f80c1bb4f742c5c2146573038c04b38fe56b72bf1268595e55bb8d2f9ba1d0d277025a514ccb8ef379b1b906fe7008f1c55b088dbc5ce8603b671bf6406e0b2bb7313bc98699ce7ee736d9b8d553e96138589238a2e1f5a1255304274abe5fa0b14830bbf7e20e8bc681bd72c605605d47dfe050a4520aa27aa2cf2e2855998ddc32761369ad5928a58ab2bf9863d0a8eb9480f95ff04bc6d9099d571d06070df21688e188d41e8a205c55e6ff034103f5258a0c49c32dfbbf7e5a7596f48951f5cc77a6440ec9b9e0144cdcfff6d0125175c42c4303a8a4706e05668f91b7bb26c81a9d6d1e5da60bc98aef769bfa1b0bec02f7a9499f342d433e3aba01a09250ed92d50ce7d0f8c75529930c42423db675dd6faadac7a74a68df35c96b023f5eac2736b9b24f989f9800e377cc751aee3bac8495bec7982010a0fc1743bfb9a5a3e06b66f8013cf3117e62dfb4ebf931b42b23dece774621435a4f006dfa583110d28ec01a61e5939b3046ba120c0cb389b434e26539d11def01c5039212f3f6c24c2d6186b1cfae34cba9eabc1526dcc37863183cd935fb863ff46bc2f3d033e1d282ed587c5e8ddb777ee455eb61222b0574a4e7197cd95e3ae6366619df2f5c3042bd648ce38eec001a48f7d9004a63db14d284dd3741d04f4363659fdcee8785449471e9433d90ced7b1223b4b2e6c6afdf17b884eb18a1882dc9a2cb38b00c2299f12cd470d98b7458af254fc454306e7ab2426e5c7b0c4b7c46d503529ecbd81559a8d9fadf027cb908528651860d814e28d21dde4da72a71e95d69b14015a45ccf0dcc90202cddf49051c808cdec5fc1ba43860e38a0e30795fcab1061ca7102b8fbfaab5b0d6ee767d7b403b8b336f21bad2e37dade2bfbb196b3d3234e72c0313ec8d373e8e1016bc4458b62fb22e04d247536253d8006a76f178078b6e326f169b935597a0e740ffc62e417f2f47f04adacb40142339a4e13c2006313e16e621e9da2dd66faea19091739759c30e0c5211280f7a65d4bbe6fae44e598d3b8fd56ea96ed8f7d2da515b1111c6ea73f029d76977a5623a83700400960a1e258aa640efeeed66115b2cd545af5f7a97def6491792b6f4acfcb467319a1d2274927b9baaba620aa11e3971113527088079757ccbdc6e1718c6c1cfb3b914c275fb56f11d2f795357b951628da117a57ba118c437674f3711f8f072e3b4ac6e76862d656712a01dfdcb74fef1318e1bfa1b95e891105c352fbf5756f92d240e72453f3bbfc2d1c6f9b005ec5418da4ad66999c95177c369877ce1540e9634539a91355b96d13a12d57d71f187c3374e51f9a5291097226b6486771d642e5c9be865c1786523f1e908de90aed2ffb644bc02cb1aa802df1efe502f7e2af8c9645db04ed6c517657f46d641e6465c196a1539ce9116eabfa0d24f8680f9b8703a265bece785d632ae6ceab2814f16521ed916a92ee2ff503cb2c66c6c068089815a2dd26ed199a83a80d7fd8b53b9d29ecd7084afde6422bfea8e6ed329cacb278861806ecd56c9fd7a9cc3d8e92b4be7550b6f156feacf676e0cce1761d12b73073bb701d9b33cc9a675617bcc871f92ef3cfe40f4544be0bbbe3f8a8cbc6ef8812fbbe7114d03a9db913ab6575412277a697cd075d4cc95e594102169714e4dc68bef9df51a0e06e59d294e299248645de4596752144135670f0bd2754fe4eb06c3e806d5113de31c820a3057a08736cfc89be03035f2f0290f1f5c851260d35eab4b73e4915517bf138fa7503f4686afb933e686c93ed0d7e02f54fed582892f17ac9dc0ac792e8df450c9feec610f45c73f44b169acd4d1ac3b591377d20ecec5b8d68d031ddbd4ed692cc896d5b6999445f7272d32be486823dffbc44d6a0d132ea1c46446c9d00a98670029652f2b50a99d12f1fc4a1830dbaf9583cdb83573fa5bc7c2c7d21d4cab811a47ee4dbb002cf80a8f431a52a0ea98e44eca95140c254293eb3c5ca341561e35f1db54c81adc31decad0cd61402545ec034c68e8d4ea6a7ddadcdc7c2ab41b087da3cd7a097bb11e57fd7cb59f0ee261c674d978a5be0c81e5fccbe508ada5ba87593bbd1d7cbee803b2bc1874f3ad9502221aeac2993fc02259c0542d7050112f4f5306fdc00fb7c6800580fe5ac08e6b07caa360f33c0b289b6cc5b64e69bf9a2cf4bebbddca44bd9fe78b73e7cd00fad937522f16d2d514663788944dae06b1197d8ea044c481ef93e9bc2c796e73e0950bdfa43155aa0b3d47d3f2e790efe2d2db3bfa1d634fbbfe5e8ff922148482235e42aa6a08c2d7a94b394f828d5ddce46e78816c2190ccc531edc88342db74f92616393e174bef813fce5c19820b852351a9d02bd899103c906af5b32573a81a8e2997a407791000782a0a9a2f7a99665bf019780208487990d12ecfb47373bfac6498672a532c9ad73a5d589b78295a795ab265f33a8233579d053eb772dce137da02ac875fe169b0c7c708643406f99f4a34f581b86964b3522519d8d129a94024975ae4ddc0a2cfee82c181331504e456302388fe5fe640cd3769ff09f8855e64475dfcfced26ec66a4f5624d313adae222fbb2dcfff05fdf87ae836ad26e6caa2d6b2cd1a429f4517ef0b3dda9ca3855a3a81cd25705df930d9a7d90fbc5f222c368fa85b9ec3d151e905c39b56a6b381ce962d3ab35b5ae3a24c5c454584a5ebef44b9176a7d14f5028e6464ebbf252cf673971669b92e0f57fb5fa48eb35142dc5672e01ae094aff2d5c73f13bdff7a88cd0111a84c523b635e11f288f658eae8ae43d55255d4d3fde1721506f6013ad60b3eb06cd2ff9f861ec914d30b247e8c34c441b53f30e5f7f39fd3ffde2c9207c04618a32dd9ea852d77a7f8902ff6ca8c168df963455e77eb450124b20069ae74b9541e5734d05962a1cea711e38fc0fb47054fbba639ae95b7bcfb0bf40e8ca05aeda2503dc611bbab161cfec95fbe0e35253f94f3341449253c3efecb6748fb78929591428b0e60d8a143e647b717f1687ac588a336bce8d8d6e979e004cccfdfddf0ea9ebd7356913ac2972b959222f9bd78757797463cec85c4377ff7aa85b7eaa625d9fb2ab8523c9636ec004e41a8220084b0c1de9d269f170258846d9f14be80aa84644f981e12a44d376fa75bc8bb1a950b771abb2e52dc82d17c596493577c937f63ecf3fa3cfafb7655a0a582ed712fb5a6b278664fbf32dab73af2f4a582987e1573ae433c174b91468d537b5c6ecef0fd363efdd674395925be42ff148bfbc109a348cb9fbcc815e287117c6fe0c5742960fa9c957a8ecb32565f43cf21112d031b46bc7b006d2ca0795b4b2e365bc5feac10bf4f1d4111f03b3ec923d2ec7fa2f63ff646767c773268488b9c03c6d7b9b87bf53b03d212e68701962e9f27fc408c13393dbc5f2184acff7ca05c2137fca1a0bfa76e0cc2b494072ac322427ca907b9ebef06f42df15c9a18a6b21ee2236bf99478cc7bc0809f6f0c0423244d55c8c732817410ddf7e1f5ba6215845ade65c01b93df9def37f3206ab3ea3f38aae4dc4da11a9e0983bcd8a2003508887630bef5d35411866dd4a8f0b322b205e169d424983e62d5a80eeb74b87e5f3ce66a03409934affd3043caf0b2d5762d523ae1ba2bf8b44c99c965626688dd78c88c35e706db40ca842737bd476d99f01773f0e37d60e2a99d767f09bea76085b765f68a94d0e7a003f2b18be4732c45d90da432c6dc4d93886f797fc8842668a1634b74cba19ae01334ed709f379510113c38f92ddf339414fbcf85124f498020143c85c0f7c100ca8de901f08903a48a289f2ccba8c11f06f3d83af93b283cae32d0a34e9ad556377b35e29a25df0b599ae4a3ee0f8b3a99690f862d65bd3a9d7d5764deda197c10d472a79ed55233c2b65b87cca7f71cd1e0ff2fd47274b5745ea0e06d2155d799a57048d4872d137deb9470087159c9c8fab5b4d3a4588d36de399c54e3c7479ed01fb92b70b138a9f54fd4012d35abff9ea4ce74fb64fe2e958efab2cd0a43fe4f933556a02d97fe5233164cde1dd57f01be0c79d4a9b8293e57606ca1df63cdbc4059cf1ecec5ad8112db8251630d8e62d9ebc899ba71993e1a8867d73e07e6e7d95da6ff8a4d5cf0f7eadad65b5430a717797c20ff57f86b81dc6f57c0877f05c3f171b9cea36fc66741e83df3b7e97071cbb758e4e92fab94714926bffe4d03d8258fff151658c96a08da5f169126d5b41332e7dc4615a6e42c58d267121b9b7f90fabf8031e5e2dd10a96e863bb7f83c3954d461780c52a5110c300c35fa1a8afd31ed9e3976fbf3ed1f399692b86e100d55e54309c31b4a8a60224c26a14580473584a041f8fc85a394984eccee1d64030ec985c0fad0883eb960a8ad30e7118815d30a15f5214867ab4c92b87c2ab93782561c3aae88022c06b6b0dfc8b16182267a8c321029fbc82bd955062583944bdfca084d6fd1ed9a2099e1cd68e7ec1f213b4109fd9b0aced01a75e9c81c6dc5b8c2d1bff31f9d77334e9cb65cdfbbc9e00c41d29b79ba5c925842a3ab80c084cb1f2dc57e0fc273b50c0f53e8c8309e61dba6473a538048bbf3440d0245c1568d9a15e8350be5bd01b5e4fee143afb68b90beafb5eb09005c550305123130a1ca6381f143dd173160db95d1b4971d57227c37d47ed64f18f7fffaf36c63e398ef0294a510f4e6591c4a09f6462a6fbf3f4b1382461718eeb93e6af817074b3b4daad09797469849d7559ce6cc22a5fc261c96a58f9a77acc6bca5820ddbed11147484784629b9f619668f4be1a7e4cf44ae17636c6e907ad6a312fc564036d6a1dc49b550dcea1102ff427e4d0f97464737f46522978ad19d4cb891cdea59e0abbd80a0b635c174bfe6bb10b8aa4f154459d84f8a83cf372520558492b5e662f11001d3e51be029536df3d5890a9736f2850693cebd1bbfe62793f5edcd8d9ab7685c753a6726b15263fd7e2d59fc8edba8749fd286d74a244bc554ece3ccb5a5b74cd2f71d7460010004e87aa63d89edb0ce41b8bc0e488f6929433634f721c0dbc2e742bb92cb9a7f93b584c7a64ef6f4e883d48b7619934f68f7a0e5534e4e178db7747984bdd5a6bfe8f299a991e25c10e33da3df50203fac3976c78e5ab9abffa5a014a25e9a80373606081711a0e055ce57091e036d4f34bc0abe40e924e8a04e0050348cb742898604951314765d9c6992ae4f74d7e7c277d9507551e1438358ad9df72e1b3a776b0ea0124a445746b67b28a50fc40e3b81bdb5a9d9849a128cac8aac356e6fd3e0b0dee106b12a15fb018f4f3845b3d5fa23ce56b22e23929449054b226e8e67102c646b2d26f433f8bce63d2e849985d266ce26a170839a82e49b109e4d388101a91cc5d6a82c5b40e102d25c92df26dde7ec77fdf00e434f1675a5c58c93bf88fbc2f877ee7d7c78d1d4d3e26e0ba21ff15be5c3dafc0b01995ea30821a4cd22633a2244757ea065db1612aabfe6e1168745cda100a4a2690f3dcbccf23a877137cac22d345d6393f6211c32ff85d8af610043ffbe18f8dd91d5a74a9f4ea767b81052a45fe3362a822041c4aa65d9d628d269b748efc3e110db83c8c3b1ccd2894ca5f52bd5cc66ed14bbb890b557629b782b23efce11d2c07912ca642df795208816414dbf49e8b53cbec1ad05c766fdd69e2d85102ab172f803af2579f3542d665d8a97df2f0403b482371ce6d15edd9da57a473f68c943e85e862808768837526299cf676fd64cf879528558ca6829f5c9443d5e18e74aa3d541bcb035a0de72b9d42a361566499bb6eab732d6399daf5c8b4625f6bf69885fa6c285661131048f5feed4d0fe93b8eae38664e330e172a44d16a6f3952fbea541742105e854456746084eed21e0b624c55314a1c2c590ec446503d5b29a2f9f677670eb08397a5198023d87ed9bffa67528d0a8e97b4a046e02693c3d7b80e798bccb2564d87fe359541357d974ddf0fb52fa80343b45f3fcfaf48c5ef8694e47dcd6fad7b208be76b9836b89ba8b2b64b12521743d5521e075991ad7e67e672400f9cbabf6a11b2a558040f087ef9880eb39a069d704bf1771b1bd015577ae61a9bd7d6e1880f485ebfa93c9944dc907fa9338fbc5b360f0f3a464e4286dc6d0fa4be64a4c3891bbc95596bfcc2bbb4c9b27a7b1ac94b4f577a4c0a81b99e3b602fb71f1918c3c9eae171c7006fff36e0f68332cbbae681464ac0545e181081609a617f3695506f5ad19866accf25fa5bdf95533635f917f60cd65bc527429f7b54f7166b975595c5d957ada0150606a19d53a2015c62f36ada51eb64bf3a4e0f7b1f2af6313e4fa2367e935630cebeb4d553cf4f3bfa7a3379d487baeab9d75fda6eeefe353b15e39f1d9666da8a811b0e80d4f9d1516f0dc5af3cb843f4879bc126d270f6fccd713cd46a37aae973919e382e39aaa6054b1b31fa952d8b97bef8a5633edb194220fc1757ca87e9d1ddbf60677a154fa123454a1abf73097553c4977a401b0b726709d5dba2a8d6400f8a6a9f5d03380f9e459328e6326adf0baa2f553d5637dd5b91096752f91318f6a33936f800d00c5bd390173ef941275db489f77a92a5c056ee712fa73c9a4fbe0104f52d909742f82cff084c45f7f54fc21e26286847a25d5ef5a2c83c419c33b15066c08b4ab767b9eb15dd27c8fd671ba659ef41912dc7a8453452298df03fbfedb754b371ec3f5f2c7e757cacb235aba95a8c0db2ec1681e0035d2bfe27cb25b662bceded76d0747c642bda8bf0449818cfca73b47be0d8f674ae31d4f9fef2dd8c2876047a749d00d977b50bea6f97b6815090fcd96b0e32d02ff3bf65a272011355663f7e93be4760e0cb0a7a3050d13bea74a1f4c9bd0645cbb503bc86d575ca22424d07dcf74e2a1420ae494c564db0c1c4604ed421d58b42b38dd4a729dc64ae0056b7f00d910a24253bcc80077acfa00f3edc47b65fcb50cac8a0b586ecf15c4cce6e10a3b36f6351e26c5410abb7efeced312a086c365dffc623ce789308d7f9dd04d1a4a4561c4e8ad22ba67f06096a83a383a7240dd4dde9352c3504ae24486bb0c1c545ffe7c05570c8817e2b67a5fa0079989b4ad9cc955b235013c0db0137405c88d134c2719484b1494d83c5f6b82e7f9eeac96783e79f3059a51c3e9c5edaded6bdeb1d5380e68947dfb8d51553e8b182ba9c0814c7632a036603dd4ae637811128a49acc199d0ecb781290f6ee1b68b3782449f7826401a542f3c03cdd08a1e123c590ca37c72ed0b0daddefd73e62b8e74f67a72496d50d884d29c4e3997110b6008afac8024cab53d6cc984bab6df75696f4d2b7ebb8241410a3c18cd23d0485badb9bddf436a4af5e183a3a732f780f60a3bc64a654c5e132881e8e0c6cc2c84fa7c606072f1d46a8fe6a16236c941add0fb86378ed24ec05515ae1c8b9c85303aa278416104a1f2e1c7ddcbd617a03bf444f21bc577c622416b649cfb17a1b0000afbfddfbe0a6f9f06add9cf5817361ef65656a8dbb1dab3cc042d40af5ae93dc0f952582bd92ddc08c65885676ec78b065df3e5bc62f5f5ef601861c08bd99f9761c57b85d7f240c7f200a7a9010f7916d88551d115840a27e78891912db94658838bd31c045e778f7b6f26b86737042800f74660ef42016569fed1b8aa31f0c768314286230542e79b9d13c49236fae61295a8206eaeba074810c63986c32f6948bea2bdb8fe94b02a8b98bcfec1caa27c720857e12e28d99afb6311efb67dca303383ffff00ecff9541b89af296b70eeeeedddb660741126a428e9532c8cdd4cacbd6594c9a3e65fd9f24c773697d8889572eec19d3d639880e11e37f7a64eaec5d13317b23ab722d59ccfb5df7f69382cac57089f4b8bda9d986620e24d2b2505602c86321c84b705437597e400fb585bbd00c416e5640be2e7114cb83dd40ab06e615c875a4f652cee5b9d19b180125f88f82afef83e58e0488880009e73790654c350bb4b056b10fe58a6068e28b70e274ef71165a7f3549e7651d52f9a6a616edb5d7643a8c549efe7b9e5c17fd2bf17e1a150fe8e2444eeb5a9e895989c3ecf3a719fb58267a82cc95a11733cdab41dee77fec50e067c2901b715167cf4b7f272f18e63a01baabbf673380326c82c328aecd45b94349eb0468f176f54c84f758e96e7b527ea095dba7906e1af1312cbddccbfc8d012abccadc7d1706ce0dfeb5132d41d51c25d284a86ffd4e9d18e838f7b23c5e92acfc27aff5b075fd4c73d713cdece257bd496fbd147290eaca20361f4d2bac94b647d2f21316e3754315f744da24192e252fcd8afe4369735ef225553cfac1038459f8e71d8aa46a10d108d85ac7d18bf4e692ee58c11300f4a3f35e934452d788a6beec7d0db78da84fda15375dd10ba17a58804aadc82a16ea985ba14dc0070e9673aa968b2602650c975720ba08ef3095ad7735ee87a8ac2216fc14a101f7a09fdb03e5d2b480b8e0aa2017423c340e58708589593cb114adff73865e972b150869e8be952d890d4007c8445471ee3aceb7212ba5b934a5b3161fd0ddef8e3ecd6939ef1f03803c490fba958440164730aaf42b3ffd34b03deda11b1be1b5743318f2658844c3bede32c8a9af28ddb28c6bb45b1fb9db34f6137d8b78c156a0c18c5687bac86cfa4a83cf2d9d24af930c303820b8891eba94e55813d1982648e097cf71ce604443a1cd3d35354577ab270f2d170e4aa4a982c9ccca281cdbb7ac390b22bee94e330eea172a69691fd2d6ffb8ab1ed5cfabd329304a0993cf5ad0532c571fd5349f4339647968896740e75c83188e7f5aaaad53626b099d521ab5245b5aa24013ef30d70645d29bda1af218bc593591d7419b8acd07547b6a5ff1dff8c7ee18806ae51315abe90ae43c593f5b9932b060564d9d4a77e408c7840d1b61e0d02ebf80ce31c743848227c335e79f0b5c793b3793f66d94ebf02175e07700d6dc06c383f077f1b81d321e4c9580868c9cc0da26470c76e1b61c80cf5974b2c495dafbc54a7aed37281ce902fd5d6b436607dffb58570accea69afa4685eb19e5dce781b0c3e3538fdbe3ab96e0a7216279fd7ee0079c6f29e7b4ba438e40f8dc17227c0cec1045d8721e411d4eff1b527b8467150849ab568b1c129a8610f329b6faa6e7231d6456e71eba0ab96cb7d9421fd3fd50ba6a92af020099a364a1c4411922e8e30834939037c548f2f2bfb0e3f613a92801d7754107a1cd9ae49a658995c12655617fbe4d0b865bec64759d3a04bcd811c0c2e389f25664f7fda872c33a8a43e372b309e34aca25683cdd658e0d4a05f2c5e89b7beaef24c8cc4fa5ab2a5dab3cc42527bdb835edaf9e223747294d5bd492ee4f978bd0c055cfd478976a3c6333e49c578d624d888463736cd5bc452ac5e655eb7d627a1daedc59b1fb09b8a76b7556c535b062957c229806d6da60368e9d87a313bbbd4d63d882eab13ea8fede9d2cf317bfa88e83fca5e8aeff4175dd736999ed41fdb282e21dcbca3bdb482e94b50ef5b79c70044b81cbbd0501451681cb6df753b9a7608f0e6ce8612865ba84a81d637d293fe46e641c14af154270fa9304181cb0e16c87744aff5522b0fe6fe20ca93922320e92763847a91bac2a59066304299de7c05c58179e93ee598a347232f159eef16a19f59256278e1854b82c29ea9647465f381e31cebf1538aa5cb58c86ccd295cb47ba5b66033e7f989feb8b03a6edd8600d6852c950a9b2ca9255eb67b9f1d426a24cce8ff9059eaeb8f60c428ce5990226e946d88179bb4125838cd600f70af44d51c65514aea029e46e5786bffe0f59e87f8b9c5b526f0441fdcd8b4d4a748ca757352d0108841ba3bc31d1d1c404fd05672cf99929c2c7db88656739b9b26b9b1a7209e836b0381feed4b7c0119dd56aadd64f7b6c9e9a21a49729d82e0e9e5a95495f89a4af5232e1e15240ce1276f69e48c6955309f464aeef1370bc79298d75f96d9abe3332f234fda5ea3028f75d4c2edeb562baa0684c698d930cee42e8367a4ede0c886e1f440c7f6a7b9c29e86daf74676946c29cb1f442f6a205169330386483cbb4b626d8f59cff5efafc12f93eb5ac49ad5a5a659094454e85fb1d53b99d831aa1a002fd3c57d80599bf8f606b601fe0ca8e2e1ad23efcf2c5b259d609bf692739e098b1aec4d46d5dc310567a566035dafbd129f21e825fefe34fde991f40a83b8e01ba1f89de19124713135176913b7bf91f581d98689e5ee0c42a68f4807b1933fc0f190367d5f6cbefc2754ec7fc57875ce7d11c3ed816855aa4a4cb9ba42b3d5992c3287c5a58e9159e8f7de2529f04e0d78725372b27c219c1f6d07acaa1cf21529f5461fecb5e84ec77ccbfb56127bbc1b17ab18337b6875f44d553386095097fc8bdb130643460ca11734ecb9f339f15b79a0685b5ab6465fd56376acb9ef2f59759d22c9fca6b1886375711b79148240e656bc81b05ead63d95d61ef20fd8fa15dc17bea549a5d4ff02aa7bb849e73720673c42fc777ea45a81732b26488598f60d22ed868d89a711a77e3126a880ab44e32200bfd6b5032c0b661f7b21af4988e3e8e60c2ae5ac94b2ddaff60aa711faff01c17aea47da9b87e8ef82526c996267ce390a2de7ec406990f964722d0ce7e31ed083f28cab4f3b652d5403cc5f2996493a782293c70de643537d7a2a966ce57d28a03df15d4eb7c70228602d4a4dc4e632e3b29a8dba015ed045cc058a42fad8591063a48d9c3947f56bb8f2c578198df917a49bd5d984a71cb7a4fe1b486f0fc36363705ab971f3bababc853e2e78cd91209225c30123f5768c858c9c8814a2b9f925eba6f3254c326f0c15056acf48b53c1b1a01bec0afd3541667a821481da6e39ec4a81d06e368325fb7376d9147f8aae9bfe71b881a299152b4c902f8b9856f063fa00c7192f1796be4a672851bf9d8d650e46ec02acdeb091f244d8b4eaddfac856e5882e0c07cc2eb9f7dc221d900b13df5c7896b36580cdbd1dd2c6186c06941a3cc98684886f4c8ef6d969e10775d58d6a8e38ddeb0b24d035c979a58ad64466e2447a5771f25a3fd8dea3fbcd5359f19094f592673d5849bffc4a13534c881e2b457234dfda57f09ad5cb27afcfb83072af2b919c658898f177553a963ade8f17aaac2b278d785a127408d20526bc5999fb25f0168e2b1a00140da5457150fac7590cfeb4f1e11973e9fa5067e7cfbb83c2c53d0f54e3c1a2ffa7028f0e1e1c84753a31d3ed57ba19256da787d7a73613e50afeff571c88aa9ea5321ba3f9fcd26114b727869afcfa2daf6625f37b492326845ed9dc8a404c19d128a5ac2c7c1cc38187cace675d33e0d4819654c360cc427c30cd03f171437266e8c4ae4534848c46afa50048e546828257adacf2b397836c487af111024641f65e7233de77e62beb3c38f3205d6c8a19b2bc9754a54dc7cedaf125ff6593e28fd129f6af464ad9b3239c3614178eacc1239a6190e5c591120b53ebffed53e43243dc17bfd2a3da24da8383fedab38bde27f9c754da69f952364012fdc0c2e721e05504bbd1541ae40a70d769722b52f3974ae2792caae795a4cbc036443530be53f74751b0ae853e04b422c74f2b609406c9bbd792625fa773518fcfeabfe88131b9cfe7b51e256aca242c392e655d5f145352262407fa408d6c60075a7e460a140f695f18fd56bcce64aeb158faf97b528eea1b14072306b20db5a552f75191e5b5bc48db2931ada27f2934597068a0ad32c8c48f86e24be1fda1401141bac59a5b52ecb47b09cd0190b0deb24815c35a06d2c334464c5f434317c9e3ef6fd5810a9cbde2acd9244319d094a9b0bbcab8f0ea29740519c5c40041e06100bd9576611887a519e96c23399dfd9d3e90541335413bdff320127a971442d520c632b36ffdad6f13b598b16cdbb7894300206f7a8ad80d6c00d7bd1f21052edb59f1fd7864e631a616e2481fc3e473e50f356e814ec1b93c81004d1c65dbd72f94b743b5efa1ac3c56670b4089ca0721573a7ea92cc5379e5039a83d8ceb0250d7c024fd7efd7bc0faed18dbedb57dabf0b9a33c4dfa0037ce860f2a50a9d2d54bd8cdf7319808052e58c774893707c57bd0716ca5076b05b8fbab46a2ab708e3d7bda7b0e5161d617ec0cae7f4597131f28b3fca70704b0c3543296920e4c17c3e4a1ac3311c5c45c9cc5430c1377a470f39f1b7bc31da6081faf1ac9229e5cc8a976f03c523a67718290f328266d1a66d92d6ac38efc3b455282ea2cbdbf78216ce9c85b79c4d961d5a65068455f5d39f861c1702946a559167892aa0a84200d3c8659e7efab4cb8e3a416973b6abf33e169e1842f85a10243d6da74e79fc9537c88a1e52cfa09589c76387174a65b33d9934859a02d2479a7770a2d2c569a27d8491f4fbe6fccf0842d3f2b90dade68b19b83b6600b9e6d177a4c959a28e34323ca69d52b291ba8c3b275b3dd6e940786f25838dc768ac1e7f12027f3b587dad4614706a0f6d572f6da807b8053346a3c7930aa24d7c70bbfbe7cb539aa9546a07b2e3167564974c8addb92b3e4f7d77bee50d96799b9ed9d99d1ea981ac43c759223e8bfdf0fe4e175e1052aaccbe89b394ae62d329bdfcf3233f97e7c11682c0ca167b1c67c78432fd657c82b41ed67331c706e040063266e4f4fb6f867075d738832aee742748bfd9329c0d54d15bbbb98403f8ca26c95a8a55f95bb02e10114d73c6eb48f751f2c32b612dfeeb4a1842f5fa627756d6ca4c9d0e879e32c8945c364b1164ff209a979cb9497511461e7c2f8d5efd076ba345e62d323813d724cbdafff4e9810880626f70ee186865d95de83def6d0923433842588ea4e2275a5d129bb55b64abdcd08d2aef56a513d3043b2125f8704da9d08b59d3d4b8f041b05442872d9b638c42af9be1c70a455dde08ad4267df072bb01e80f4a1fd39094291a8e6cb0433c8a64da2a30ff3ad8b908f83c914d1c38c6381bdef71dfda521905c4ef5c7c79722a9fe8881f6367de1e98a9cffeb3469a801011273e30e4d4383e5041cf6549ae31c9f4ceeab422a5272b5d01e4080ef39f16ffddc70ea00c96afea2a45e798e7dfc7eaba7a48eaeaa5b3c6b240f8607a90214615de9aeee79f92ba98ca4df87e4cbfd2e082a06b3d11df27b1bb3e7b89c758dd5443dede72587d4b0a2965fad72badb16b3990abb93d652d199f5243caf7c77dfceda32b6260b36902ca9c482286f87cc99962938315189f10486ceeb66409e7e9637a05a11787012ce6703102da5b895378c68017b83c35e644a33172d68c681acc84b62ab3ac844667ef2c29ed4c82b1319e01d96f32fef68e79f35b827bc9e7d62c74033c1edb69aad3fed300acef7536b223408d7030115b0a7e2a34b78b443c271172d2ba2b7219443822510965998755f05c6497df5e398956d491144c546f51c8d8e78f58b4fd0adafedf29aa89dea8c9ea07d2e72246fedd27f0d8ebd9bf82d0aea0cb77c381555736ae260bca3df665959e6a2c5b8dc9220b44afa9a17152ed703306b3a03579407607409ab2961cf4df8a8e619b2c49a71da76f491664c29c16e57207a30682f5b50f5f68e7ddc5e65238053aae2420e5449cd5f653d5ca8104b63f652876c5104cc2c637ceb7a9e63865c0e9b2500c6897b4ccd653548ac21bc967f7145ea56fff5871e370da27d08907466b02dbd4d2f79d224746565e0873c971b6abf4bde6b2df918240d3c4c898472e4670f30e0a12f4c597c05dca52d56f358a4d4896d5b1054ac981bb23fbe87e10c257dd840e1c9c6a8def13cfc53010f99ea9aeb81ea997c82f54bdf1c333306323f154145c8aa373deb8d4246fa0ecf0b601355bb0a3b5ddc8f78a5995232fca22299c2b484880b8abf4be0fd982fd481e6325b5cb24752cc838178870f310f68966746979d462706f883aff9651ca2b4813804db56af7b1151a355ce6ec72df28214d408d98f0c08851f9139b60798a11f5a686eb952c455c169f86f9de01d3665eb2472dd9ccd99294d544a92dbc73c8e4720a8cb29eb8567f28441f56a95b322a6de3e0eb608006467fed8c7ddcff41ca44ee18b280538b8c1ce85cdd5913229680d9eb83d5ef7c99e7698bd162e7ff1d268cf1ffcecfe8118f354ea5935ebe6bbf2b57325220ad885cfb0183e7a19295cf2709128b0d434206fef00f3886b5411cbf16725a0a8dc28fec8e121fbc17d76f20dcc0029498675b59d126eb96bba3d13ea2b44c41a98a902f30973a07de3b916bf3eab595efdcda86c963a6e582fe46fd3d075ffba4e4dce5aee4864c23fcb73f14c63a5128aa250355727b43e191327e1fbaf7811945ee7d7676ed6541080b76fbb49846a41510cde2f67a8cc5cfe50f003639de3e41f60f361e55ccb74970dc9b7927f8a14a2e23820d8bee5e4f06cbe8963f6a33fefb53c76d8fd74a64d433bc00f85fc9ab29da5a5c6e9927d205f8af4f72399c7de013fbe1cd948cd67a573ac014f581b53898abe31c55d7c1fd4da1bf26c38f4251522d79dbb6f7916e1c45fe3786a71db9adcda42eb712716e56024bd64908a9e770e5262d02c2bdc5887fcf8a8672d6cfd5367abcc553b7be5e4502da6faee9d83d8bd0c9e4f143a5e137c110b565ae803058e33c961f3c2d1c4d0999468b5f5bbfcbc500d4584b786cec898dd0f6493818fabdda882b09d5ec29cf1cef7832788de4332e97d7195b1f6f65762305e4f43305683f75ca94976880df70f0c0ad7fee3f89715e6c63cad06b4f92f21b9887a3811843d733def8325c9d060b4101a242898336f90178f1ce816c5fb173526d62e599d1f72b78eda274c04d24f2f159e1affc6ce1c68953164f3963a2cda9ecdaf728fd1b69975a88f726c0d5f06b277e03fbd5eb97fa057cf8bb88ded639943381beb075aaeacaa30a8fac5ca4716a21a04b7aedbc1327ab71c4192886032d7bb78aef032a8ec8c206548a3ae67c6dc465236e85c1222339f7ee3bf1c0fbf17c7ac8eff6f3d3901dc03c296221ef1b3aa02590e5b8569ef14ef15bcbc3c8906d18c64d15b99f88a192a1ab0498919ecfa13d92fb5d066720c6c7b2f7f7475e1c37acdf82933c43a24c29e01b51b926a40124416c840b6a69b07b563e0a8b6f40b16eae1d89eec341305ac9c5934a89bbb1ad82e5ec7e06fbf4e5805e0de8f6fb8e47b04edaad30fd3fef940020235014fb38ba1b295f30c764ec53a3c5e73b668f44678c19bf98a43e046822174281382164ae3b89bae253367999453b495411ae826dc395b9a759224066d059de09ba4cfc9fbbc3488bad3ba58f4f5664110e53d5dcb9323b673b3802899eb1e88a4bcbf9f194a982fecc9291dc9d7e5f6081bf428a941818cf3c4b8ddbc1c77428d7088397ae037d2d131111af1379744e1552802a11d22bc9fabe57937f431fc3a6cd15735ec0aa71bce72a3be91da9d899fc1b778021d34f7c903b67e17f7e48da096f45e723d24b3b611ee1c5f23b746fef612fa67bf9037ec7ccc6340e34d4f2fde5d92c2daa0008650f5183f4079280c257012059597cae51b85a6f53666d1af454ec94108d2e9eea60cd3d9906ff7904b68a687e822a5ab16556b1887d5859bb1478222fe1611b446982738583aae60fd8b21f4ff3940cb377092eb42aa3eef0963846763646b2b4b1ec33f99141c766a6419f23e037930bd8b026827f1c53c526d414c2712177e5b0bdfb176e4abf0c4d2a2929aaccba0730c81fc559bde369e7ec1e024d7210cd3062ae3005ee6780cb820afa89f891aa0da3c9f1cb878245f89a662a2baf8ca031ee01e08ccf22c4d4255a4825d1384b559a9781bb19be120be8a939c56b5d00083b05d140a04eaddaac9643703ccd70e0c613a0f3c78b8d6055df7e9d62ce0d84503846f1b0474502107a8e98e442175fd597c3f4c35b4ff05857028074888437200938f17ae77a495f6c7557a2d0d0a9b2efadaa7aa99d0a86deb3e4b0be56939595a041e29d0be0e04338bcd9d9b8ff531b4293a377e476dcdb4b933e134ae2a828d2b3b04c2c1c5314ee53537a27e0f7be6861ffb6c2ef1e683e3da33132b242cb5dbfd24f269c1ba2c7d48a1dc76cfdf7f32adcb8b37fb6ff5f15bf6c8ddf0d4496d35feefe22395403e0021989b2fc1f6a11f512fa11304ea4fc0d537c72f03f5553fc090fbe134b4e887b2e94323834b196fe3c4db701973bb9b88f8d3c587dc10c2a4250048a29886ece21c9540c3445f82beadb2671e0310b12b968ae28c0037cf14fa494f4832cb4afe8f701496cdda4428fdf506851549e989a500ee78395958b0e7adad962e870fdbc916bc0a05d490891b20fd3692bcf9a0fce870a21b0ad5120f023e7c0b3a173af01aac7c643a5981282f1f9f91455d73d232c2fb3d5e68ca35182c26c3fd6710464da6b45e1e558a1b8c92a67245ff98e99551b283d32ba554b3d2abf502252af6973e4fed248cc60a6c0e5df11c3fa7d30aaa2e407fac0252609a276e36da519ae8f5edf26d0c783d59996a2c3d6815bd5591747057f2bcc1ca7b9c44999c1d40a56130b77b6086aaac002f2cc643ab16499893b90336ff2f86d06f4c7af228f1a768d6e28c4b3dcfb7082bab5711d5ca955ca3b052e3b4020e5470221c268d764d4ae81a8a5cbe7120371b4320c2a05463436d00d5ce6ec613b5e0be96f7c36dfa60a803228ae1cd26680e47b049f27e8967f18ba10ea47e274b042cd0cc26d41faaa115e8f776846942eba3919699246be010faa43b2189cb9ffa1af3eda32bb5193d5d3a17196e24e5ffe7de695a3556609be7bf4761a8630b5065dca808298ed6ca390fab473399b8798efcc226d8a1eddcb3afd57c4eee33cb15677906f660c763d78ecc101bf718803f7af0e5fb004949400bed837a80594d92c8f42e74f69a2bec710f0af7732789882cd09d37d7d05a2cf7754b1eb87cf207955b8baa4cdb3345ff7efeaad7d66401329ad944b0c584af52b25ea76c26cc20c3c9497fd5efbd80e5bb7c109a97aaf7d5a32b6da31fb29b290513b8bcb93cc4734c4894434847cea4aba497303f3e4507252b9fdcec0f64002c726667f980e7a5483c6293dd4006bcedb25c84d8f8a40637d34646ff392247f6c34e3b3f851761d5003d04a9dd71fb8bef76f5b4b137b3704ee88db99e26108915cd1598cae9b9970b1578c8c24208caebed9ee3ca34f436dba330a95b54d5f653287e9851d307ada8005bb28327e44a0d060cce7603c27aa44f5a01d97306e6440e64c7891d406d3aad398b15ec9de7be80c0d1e63029df754a85858220176952014809cd28b56f2f755d0c7f88edf57c2b399821b33720d4abbbd33d6104c7e6715fc5aa85380a635ed94bfa465de71d02e002d003e7431b9ad6b1afdb8311137b25a2d299ea68ef97cc772c69e168f9dfeb23c4673534ed4580959aa86db8d583c6718df6b215636f5afca66b4f8111e5130fef5e23fc77bfc5fe1919e86a45ad79266fa39a618164a0a6fb534a845844bdd7acabca33cc11d30eacff2973c71654e390be5d76f0e063d7fa737bac5559ea4b6a2cb62b0ed86ab463fd9689d60fd2b59eb7ee2ba3f446cabb0beb6362111506c00e74f1104d3ab565a7b658b9304defbfd5594b51f3115c892a724cc45de470678dce95f6eba022563fb881007e2cbddaa6878f1771348d6d88b90b4d0d108f1a3444e1a606adb0e6a131165af2c1851d783d820e88c553cd89c431998fa9624ef8b446415e17db377bd7b211726bcd2e281d29d7745394ca6a281ba2eac4fb9d66bdaadf53c647f9951b4f90630f7430baf3929a559784a4881a288d5d9048b8ec5e96466e007db0faf0cd830c89ff9bff1c3f21f95a37f8d00a24f7cf32efbfcb336f50334f40f4fb5a6c0a046250e12ebe0c999436d9b0cb7490cd3397360664287172f3a37a245fcf2ebc50bdef6588ef7f0a9aaeb9c8bc7ba9eb7e8357c6b8bad7a29b07e2d296affdb83fe0948d838fe01ef78a2636f342981aa0df3d1a7bf70ccded81b9987a555401d1bcc7ea68d978b4a24e281f17fb7363c7c5ec350438523e59c707aceebeef0e4c20a6e07c57cdfb75358308b545c77b36f970158ccd6c22f7f2dab77920f21cd637b8885a1e9ab75538fb0203365d32b0019520af343cebe6de157c85c535a41dd07573d3bcbab8143edb3fc642a4409050770db35cfe3d2fad1b7383ef02e7496b1ed87ad12921f1874743b97f8531717e318e44dafff545a328f7c73bb94d1cb071a8f428a8c185b57bbd42d35224f3bc39c315d916b2b0be3f23d8c9c2139276a7259a34e12c8ac463e91a8ea5edb7758a5e87efd77b717280bae11e50545efc0804be661de9c9faaf66a94e6821dcd334ed3172838957b456685736624742005b9867f3eeac3c456787146f8571bf2c7464c4b1cd5312d4a64edc28d553c347103d7fa3667a428c727c29fb6dd314bce1d6ac8bc5a82b22d120cc203dbb1b2baf94a3e92efde4fa1db306d0046a1344f3845b14769615a54c7f93992285862e970d03d897526d4eda3a23295c8e93eace0c9a667d7e92ace2ce60b4f0ed37086ec000dafe7fb5a6ca46f8ec53ba4b84e2efcb0ae125992fcba843fb1d8391cdb6af82f92d66c4d9244305da629bf4cf7a2f9d4db7c50ff962b5fc1cc27e5819fbf11e6c6e8521815a6ecf3ec536a9f22174014e161cd614555a714877997b99b3f475f5d065fc5a5fb8add2691dae2f65235756f68c0fcd539af22bf7dcd20dd1c94bd4337e50a768afc18834035dd1f9b3bfbb7f873f25a11cbe025a7225bb542c07dd5883b0408e031d379a9c6fbc7025952564584dc43652f47ad80e915f9d8a325fecc14e8a3abadc93e8fe4439a30b19a2be5ea24516a0a9019cfebb22e0e1b1e167881d9acbafff12bb5204142af1becf0117e3aae6e2ba9d59d47b43756cd750b7eb7fd1d30ad04a8869c603ca182af41fec660fc505935017ea8ca0d6a0ef42f71210500972a1729e6a14d17047bdac2ca8d0df9ab6fd88bb4ca83afe81dbe71cce9e263f43ad9b01aaa35efbc151c5a20ab7191f35f06c45e9c241a6d326690d352be18d1f7241260e9e010db1e714dfb7ce1a6b054414572b05eab5e2d8e0994c27cf4a44b481077cc4155fa0db2894211cf6445e1a762035c246d564dd1be4d321d04bea4810d6fbec0c46f9d998d97a72639293f04e2d93398b436f29780a3293cc5cebccd93294e573a40924fab4882e0f3e263819358c46b17a956350598b4e3de83c1533f6d0f26d7df4a3dd87813b6bfc313f1caa59f971aef6c028c4303dc6ce2a744d51280ad2cc6aa05f74fe7e1b549ffdc42ee785950f30dfc1ef23e9d0294abdd2a691f8fbdf5c8e36140f3bb688b9ed8f611e6dc32fc980459902f6e6333615ad551c3369cda1374b7c9c94415ddc382cf381f93546eee5e409617c884dc83f5bb4b6736ae6b4423a0e76ce542d0723fd41d025e7de9bf85915b2a570b3876436451076640d3d3e4925a78f705d815773c289c916938b5db19262235a646e21ba3cc6be9e5b96d133fd979e3223093a964ac03c9be9edb7c92e3359777db18a9115391d395756a97aa9dfae6fac6af098020d20f57a3b8015e056d781f3eb43e793e9d888fdcded1b3d4a5acf110322e1bd2393bd1c010cdbcf60bea9d84196fa99a172b163786626faa283e52a410e43e06a623b416a55286035af3977f15735076ad56c6b000f9496516f895ee5d026bdd728664adbe01204bc9844642e0a53292325251ea523070fa174381aa7767d8519b23419263be679f24e13cb785dc0a12dde9783290335b22fed3de9075a785f9354a17ff760e9ae489c0942b73e1682faa595ae1a0faa0fbf21ad05e6a7d4978df4d0eb264177f85e3d9b622c69e6674bf3c9ac0ec115bed29e17539b3520864695d870613dfade1d5d038218e73ab42a47c7732a0535c4eaa3736f12c6c2aed556df22d1a4c658b2621f2689408863de1677c7ed410645ecd14c2fbbb06e1d559ea701990ec295c74f6d00a869cd2ef1e9bc75950dc8c3976894e4713d795a5ace10ecd5e3f2074ba115aa37e983b4b38e30394c5e8ce08861cc082bc931be002c0527d72c0262f876c26aeb1bbd7deaa337644d29b5c024dc07162faf21cd92513e225fcd0a38ff091e28cb7dbe45f927e23b6097fba08bd42408af2fa739819b9e854bc4fa8095acb3fd2f648e272122e988a6049710def755d18e6f893a685f2f12a2f0f208b8a97bb86b804de458f403e5369c58a9f310988293e345da36b854f500b1d7876c1e31d1fb9586b80c4b0ad58e833f37aee51cb7a5e484b68950cf7987d67384cd4cee79467ba07905a684f8037cc096d937dc6d62cc46286ddf3368a08157f49bf750270d2b0e1afc70ac0c21937298cdc8a1bec61964651f77f05ea7ec385556183c84bdcd5791c21655ed307140587716d9c6f73d62e3fd5e0021873f8d8527df22dff186413d4b73544be42d805387fdf233c09f605f2b0bb0be2e705b751cbf2f6097798c29b722683c676c60d04b53192a1e876de1192b161f18f6de385977bd021af9cb2dd55c30697a026dd8f4488ee883e8aeb8e124d9127410a03f073311504e8a9e95d0aa78cba814638c2128708bee7ccbd18ed2da07dbbad5e75cdc6ca7729af9ffedb8aaefda164ce990d7be8528635af3f8c8963e604d45ecc91551ef59ef0cde5641083f785dd2a56afb1bca587c60ef7676ea739399df13cbe8a2fdf5a4a8815150c99373258fd6ed6d11b8ea9144627c5f8c60b2967c94af321055c79e6ec24bd6767af646aa53a717c3419c1898b06c871ccce5d71ca3e96de4c62a93f9567a1e473fdf8c3d46da409210b4e20771c78b178d4c706390d960454937d574ff3b8f42cd0eba6ec7715c78d5b71d831b100f08bad433673f0898a316469738b5f6b3897984ddc6f82954e0939f5f756498fa2ec8b613af902c72853ff6852f8d42d3f7103ea243376feea35195690af46dbc1815ddc3a3c3d7924169808b3cbb201f75335c1b836c6351e838353ea6657a3295f5d456b6c4337d3863b9b7e51a89ad4f56bf19c1cd1a4a553c1d61bdf91c012a7f880e3060deb3ff71282cf90a759364e3b413b840b45a40817ce18ceda9d21bdcee773b33aa4986405c5cdebbeebe9ee44f9638bfec9330228fd03a2c71f9f4b2ca1dd6ae331f53e02064cd1a14f6cdf57b8c2ef6152dbeacd09bc63754060faf9b69699c1b5a39bd490a5fb91134ab99a058559ae1904195325328d58d1015a247bb4eeb226c73bddb4f7165ed4c7833bb7ead5009a838f61399d3177ac0cc66a58b71d968c9e02d3b471663445a3418ee8515e1955e5f555fe83b296dede5046ffb372c08d1b25c52b1d3e347353538bab49b85fc21133165f25cbb3f76a3c3623b3e020dda045742f5ba20a4e5f996b552104c34aacb2babaafc3de96f82ff13c90958af8dd6ad4bf4674a3029faf67e0dc5e9886e4b8ad544a291cb83a9187d61eeb78945b3c898b5eafc4c2e9036b101f7a210f93967bf3342970af4f73e77560c618f172a92abdfaabd9a8e622f1db849db33f1e1fa013e9ff4340d27df5eb8e9b547a5ac2870c4518520c09b80c0fcc516e606d6b68a1d40a95aea132940c63b2f4853b533fee0760362d2dc8754cd58c6995546484f63447e2e6cf250c947f12933969db27d35cc53a4cae633b59f32b2c79cd186cc84f43b8df1e5ffb0d1442b2cbbe242fe2983d25897bf44afdf5bb59628050853c4c3233252a375eb7784fa694ed43f587cfa5ec7ff01316f267fac4fd9307063d080a09cbe97e24cebbd4cf51e4c2aada66a363b00fcfa3b6daee5bada586acaa23964b05e51543115f7cfa12f2f69fd62af2c50bcc2295b84b01116def42d76014982bbe7876260b202b3157ec9815fff84f13e2228f6fe0ccb720743c3cdf35da0be3283a9feb60dd06d70cbe93fc023479d083fab3cc4234d3433f0116f5f51601cc65279b5cc529b93fc85bc5dbec94e738433ae5d9f710e67388dd7d0164e5afff8caed393833c2290501678ffeaf644c626383d36d8ab348c5564f43a8a474361a804c95fca81629079388e07483976e9fa161c2a3cd6d837d453d705f17816d060894de01c018e1ce94ef1da528a072c94ef438e14c48210580e34b1bed8e91bbe9148788d0a02029ec90965c1f5448a533f525c4bbb31bb53465640d795072af516f802233883b69377a3f0c8060765cf2c341410137bb2651944ca07647a5e3d4ede4ed72889866e645277119cce8de9fdda81a5d1eb6e068e977b926f8fee5a6b70618dd3be16a10ff8ee14f5e7ef5c2083f567a64af45783bb4dcdac1f988e9b2cc0b26c4752bd2e8c5905c01f5392b83f680a64d5b6f35956c0d8951c2464e0a1aae0b34dcbe31e5d539f6d2e036834053a0d3401f30b6d284fd4e01753d98dcccede214255c1f3ded0ea5ec752ce9f0b0e13a8ba89ef25dd5282496daf63b67df3336db77e60ffb6bd7b1cefd8bb74fab407b628234f59a49eee388be26b8cf92a870eee8f45b447f6ab7dd29ab31f64af749daac2449f0df319adaa5621e76a464e66a8fdf3403de7cf18034a02bf20c3fd7fc82baf6e6e39d89b452b026b6ef3dba7fd80480db02b23bf611b5956796c363a32c4a36c64e261ccb2c3d00e59628adef47ef43368e8c27cb19d0d3a120f9079462acb5712cd5b97a02a716ac49d7f2df599c40347c9a697016856a079af91c2853d84523fe288e577b1ebe560217d4bcf62c918d4de23f043283bf15cd7b9b944cbd3ba9a934eca9a17123d998df0735db27008539dfc66efe22b3d72f656429259f836714c6e13d2216440f9b61db23806b809c94f23b061a720a7743161bb59cf95862517e5204b112c15f153bdb509eab988e14fa6ae1092e1dd8d2f0660e44a3aefafb836f9097ec0290cd729fdc7f2545c2b4653603e70d6aebaa2962ea889557da007c1c54a1b59e9802656ca0fbf644db3aed37a3d4d89516e9055c9039a690b4d13e91f13bfbf2196e0eb4986e49c2fa303e25308f7966571cfb4e1831d50945713528f05210a8679072df4b26c113cc117cfae4a5f8ed5eaa3b7a1c0a60bda6b3217a901fdf40a13514968135686630300dddb1829791ba1e5db9ca4a59015661300a127d05f70cca8ed492b3b8bb5c511d508dac15e9d268a2b6cc6a70be61b496a078278904871fffb65f2eb7c8c644493595f25268749c7c5899616010812af679613493cc9f50f3871555e25dbf1887e04d5d90284f7d9081c712565cdee1c824d882a7b162acad9143d4b89bfc7c5d9f3eebc5d6823ae0bef449895a85a03c92e23fe3d2e047b52bb75005015172d945be071925a6244b2a0108407c8db5366dea31479234cfd165257be7fef12c1fe0b1c1038430d1ef95bbaac229c6d6df73b4471f8f1e18cb7f8c98c6657fe0f8f70f186ed942afb4359da71f8d68199a42b7f21f44ac5a8652e07531233a274118341694c97c9949c791de546a15a1a27fa777d34a96bc7dbc626018874e283accf81d18a89efe8b4ff03be18226e4136278bb7a85d31255e2cce8535a2cfa3e48efa2482efc9f155867958c057a47475da0489c86a33c9b7792fb0bdde00baf1f42c8c369e3f77cb93f1ac61a591249e6374455e014623c7c950427778c4375a1f70dd2b2b917d994fa133fe92233efe9e41e99245149141aad3b78770b4bc444fe27797e87ef063221a4de73d0da75cda44271d15be4a23cf89fae6ed4d519fe43899b397f5ce4360ad2c354281237fcea203e224be9749f13f8a21c06c9d0b5f8a9a873eaac3fe03eadb4d85a24dd1fec3b1ed3f2934f0acf0964c1b6eec496998bc3309da7b26cb9b6f8880698fe18b0ff6f1713e4292432849897f9fc4cf4cc146c42e208748e4317f1e233cd410444008eddf39484fa011ce2c84e7d04c18aaac7a38fbe034076271a0948b81d43b1d052f85218d8c3108748940f7b90f78340cfb8b5d40585dcffd1da7ef12a70c5bc6a091ba472bcc9cc3b54ed80933cb5450467768a5f7893de1ff2d6b4174836ba2f4657461bf7b90aa1f7d1fde835a2f34f993a2416955625051dec3ad2f75d98fc442b263776b47eaac8f3c3fca4510515b0277495aea729923d8b2db9e7645aadb4d8aae470b2314422169513fdc8e333fa4b252d317c406ed87de37230a7eb12aece86c367b1d2d223c45892bca0d9e47af375fa77032231c138a383ac2877966d93343156db003a48c7f41781c9193aa761cdd1b8bc257d28b23379c681d7a2047344e10c43f74fecfa76598f7656bd457fa8cebd4f859eeb98b035ae3a04f71c5eb858ab68dbd4e2df42934116e03deeb5383282110b6a7503982b660c4bf936dbdca061267d141c3963d4ec98a1e715ddeb138c3c4cedd14ef30e8e0bfebfc025803043745215b26a43ff4104e5759a7e2888dc6c511e0394cb061594680703df64445c5bcd24d20efb5e934aed0837bb083101fe8f448629c9bfc36cf5a5a8a66ed30e4e5ca7753814bc9e9ede49e0f61d8092588f8a09296d8aeb8c3092738e50b1b8c5f5b7ca7ec09cb62b61c8a59fc03cc341060f8d8770e9f0f8c06f5bd510f6f93321922f3736bb098b0db2c95eeacc085e1e1f8b4cceaf7a106727b6e5e7584cc3d41c4e8c25d676f82de92cbc15307507fbc885e8d579b5df0383837d74520a93804ea0efc46efd2fd689d1d156d4e235dc24a7c674d1b4dd88d57a247d3cf2f70644b0545533ff2abb46ec21aa603a989c1bda311a144f42b0cff21bcd5af2c3decfe8944b1840563668b50c2b83ce39889a2d62e4bbd6f97291875e45aad49421c58c8e78b2e9a8ec35d212c9c65d0224976d68245f730c216fc6761d2d49c9c22ebf513ed2fbeeee8919f7988bc46bcbde218cdde648ad9cf93cecfe6f452dbaab75d6ed9d2d95355eb40b1ea1e0178793e96e8821b478b376779d335cd7249314f6c2a96b2b08261c0ba214c38422263da2a7b5991b31e72245f8a1b5e96e14e55d60ec4e393c90f57afbe30b470dd92b58987efa4b871a0abdc12575709a6929f5d11472a4011655c52411980e4d0d93c854b2c7a2a8384487dc018215520179503795a18287239b291a779c1f13ffe20dd4b1b7496e6523b4ed47eb454585e5b584d513ff6fadcd0b8e1c432346f0e0819de336ee22b92eb491bb7b5adc64a5caa7aad1a13b8439afed4f8ea34cbbf7aea9a1acc646adab7b928ac112c0d32c656f8c8f813ad97d4046832cc4e3bc676a75136e23e8e47a2ef99fda5f4c8f81f16b92856cb868d3c55e1a44bf2db34fa7e548eea662cd9ca04fd3df086bd2db614f952a445afac1b7cfcfd6ee6d8304ed6e11032492bc349f2aa3eb80bcdce12c719eb9f1f3fae7cb8524e92ffcf95c5007835e0c765b22e19bce6fdeccc226bb188756b5161417702baec0cb0111d78b7027c7c4c4540fb7ac666676a0fd465f923b21ac8a3627da6481cc017e029fb56ae8a2b8c78c3f45ea0c5d0224be2a3a82d06c8f1b41c9d515ade690f02817fcffa48236c50f49fd6d740879d1f620733f4de4254d05f7cbd0baa383b707e0b5105171424e7f932a9f63226ed7112ab3d3a15304267bf99d53162f5c716625280b8ff49059fdc3b700cc58522740d4102a19299811a4a9cc800aee441bf5998d754e70ba06e52358396ee8d86e217b1a982d487deb87dee67725ef5d0f090b0da96c5955e859b08942b2c8e18507ce860404e7277153490f8dcbe1580fc42c438d96c493dd5181c7799144db498bdc439ece36f438fe0315b61d3237b90bc44272d0042180db7206bcebd2d616879008ac564c01d8187ce3c91eaf7ab2adcc1bbb555087561a3074873046c5d340a6e3b5fe15fa4e372e1ab7fc4ddf9c1f04a1b871dce6359304f5caa030a3aed22bf89413f8af92af435e5dad4be9f997cd5ba34a7256d0337685bffff186ef710ce74137b8da6434f1cb8282b8133c2b9e6a9ec0a65a2c7d849c7a29fe547c5fffddf376a6412088c62d462fed51efc70abfc0f706607c89a0392c8264fbbe38a7613652d7895af6a127505ae9b227ea0d3672898acb4b0f4018949e9dad4695aecbb79ae3295f3911dd4328aad23edc6d9842f871e883d4f3ff5f4754d572de90c5158b345fdad7ae782bce605ea6599f587f7639206ae2f7ce5c2813098986fbcf3c369a99f890b8fe22b982aceea24e1de602da3d770aec98f3b16407fdd4520edc8e807910b0eb093c4ee9e3e0a16fc8d75637fff0f04006949970244e57869485b5eddd1a29cfebfff4074f7515a587ba3983f12460b61630df928a57e1ecbe0890e6b3af59350839f7ae603cfd693a1142b358272cc3e26f2934d974ba33a8c87b6eace529e19f7f0d941671dadd6c4c3321d8b37c3b5e64bf31b455980266100fbf215b0f61bdf132e14e87d1221bbd7f23ac8550162d63830a0f789970fffb6c1a832d826b77898801f0446caa96a2e44ec040917f49693e43b27273e5c552283e166f8dd216c5a5ad764a3153b77f0988710a0f05c9da16759bd84a516a5851c254a62d1bb0d47bc4c900df27ed48b206e7f19df82aab585e4ba47c892c04c3092538352b2830b9a465d4e5c13a2e4164fd273af1320fea627278a18033acb23893a0df66aed30c745d736c09d282d1c7fae7dbaf9c294a7545abafae3009f124039227263e5ba488e8f1e2d52c6246d33e128027ff563ec62ba42a19d83b7e9725d1e46af61270c1d8f83ddff2a60b072dec2924af9bc39fcc47ba1ddb28c01718021df4afbcfe40ba5c53d810388c6495b2040a70e0537686b145c00523f871404ab7df475ca1e40bf95c13309c1511df7ca7818ac585963d5101756c08a6c7dbd5d25be4b1d46e1c7d8dc6cfeea85d896d35653279d0c6ecbb274837c8a1d1c60c51f7a003a44c43339892257277bdcc7389eba854d9fb1db3eaafdd2870c0a9ddda4ca0417784d9ed65121fd80a3d525752c3e1eb0dd46c6c002328971cb63e107ebb88208185fcca202b3b3a7797aba1fde33bfaf7970aa7d6d87ed418fa4aab4127a7ff69f2453928c886b1a19cbb797780a259f8a491fd52b9b7ba354329053aa58de94dcccb39bedbd079babf9d423c1c3765dda2b6eaed98935809bcd74192dc431c8ae0dad0276345dd5f70c95175209f11fd78ab9a3ee6a1d5853b92fc27ec049a614b8b0cd9b6d7627dd8d098e0e1a692fbc510eba77d928e02bf2143a2adff78919af015e2abac3b4b6bd5990f956f1cca6f6e515006af0b95065d871d1e246b40af443d858fc27d5819a0f620118638460627f098a3f2f4084e7cb160073912a646d2bb839235dc51d1634540f8ca70a7a6e2b10df7acce1b65cfb4d03460f33e16bff917c5fe56b92a382665a0e60d35126b09178f4ffcaa71f19bbe28cbd42e4a9f4bc3f7b6f29eac8da9053ae7b782d4558f13e4c2ef5d27ee2428a9a28b11ab13c39c78f371743af992142e98fa827eed1e018f0e27965bc349e72d25897e737bb3d93ce23e83ce31c9e1048bd0dc7e26eda62b99adb25183fef0cdb9edc8229628074b2ffdee16fea30d0830d1a7881ac41c461cc8c6914fa9d468d2f8ccdf3c3a989088973aafaeb3ec8509daa834d6698c92b063bd4cfc6368ed5e4d0bdc10de83cad50367a6a37dfa55896f8450f9bdd7a0dd1ebcb18bbd3dd50314d088fc0a4332e19ea4a44438331a27ea022d8b92fc6fd179fcb65a280430389c2236f2be32a6987bbc4393bedfde0db9f3b16c5ac698e8d3bf894c4c510ffadaa8efd90b8822097c40ca48e8f3b944e8614ff30b62d883ff0b94a6cfc93b2e3f78751743d40de806f514e0f8ed0e2c752d83da682b2864491a8e704287213c9d682f41b96a2617289f008ce83ca83028862a7147081c1162c47728b0bf0ed73bce0cb20f4591d046706ccc88d7b52d5ef8cbdbca25b620932a01613e984febb9c0f48ace55cc8dbc1f88219dc4cd0be38d345685d76f7542d924b2a7a0165ac823bb41a932646d8ab9fa633487f0616d36906fdf3e3cc1e77bbf0ec3f8d19f6030523a2fb90fb8cb56c45059d59b061fd97f1eaf17ba7bf611bd674e7f01bdb05bf000b242b40550ee85e7601ef29d0640f92983fa74ccc9d6cb0b54114b0d7e0e2a41251a3c7e5b3d65e5d2bc8d32a30091264391f6d46a2fc1dc76a1b0f38953ddeee3f066cd6e03d0debeee934dbbc5591c0a9b78cff4803061fa61315c1e8a86a29f0685d134aaf6fffcaec70e65bd9f80ea29e6a5130095b752a107aede0b2e1fbc9db7dcaeb813448be84f4b3ade05e87573868a175539fd087347f9fba3a3ce987e30b55333fb426f8024045ef7435de2e6c4045f3b9c83119d4628434234c0e0cdbed04b9e0b73d80092bad5b297a5ac6f34f1ff8f74fdc25c0b547ed917406638da85164f501e49b6e18d58f23c8e5478d012cfce2931e1e5dd209e676bb33cda0bde960aa39fb9c392068bf323ad8d80e902557e65a523f5a77f49c39eb7921fff18186cea65c7fa5c325e04ded9ed1587414dc4b131c0fcd85bf140974a43e70b43505b7f4151cb3d5c20b7c5d0ce69aab9c6991f894b124b34aa04b1f2d37882f50f51b53bd17f97f5740bc00566b4b3ff9c32991a336f3621c44daeb086f507f409d64188d2e7afcff28672cb38a603f3fb991bfbd458dccc2248659d937e1b481297f55ae69904a411c42c0aa10fdc6574250a4da27717b468b9e78f961e76b402d179729e94eacde3dc633e2a10d9d6db26a2f3794e6f9b4bab1ddea8cf44bc0facb4b90f57d54bbd82e0b6d7b4a2d6057cd638a9c84456e8592477e699a048e18b99a6db608f588e5b94984ddeefba02f6da576352887159572a6be6b84f50806b0e776767b48d0d840db45c2917fe01e32df5eb5986d499d9f5a14cc3af7f3fd99f07743d3155469c9ff114dfb26443b99862bdcfe2859790b3b9b7ad9b781be305bcbd200cd1b44c555614f237b55ed8573158032a0198828aea4c4567a46b34a9a1115a400390e44b5fb909467548a5680486304a8b93cbcbe92aaf0c1ecac122540c44abf4b9e6fdabc743ba54e861600888cabfd9114a0e45265663b74ae8a651e6a7f811294972b87ee7288db1f54604c689296605f78d7840b3bbd55f73affa76904b02abb3842f65272d4c3bfd60a08c520522eb24c76ef28ba7d2ef8fbdecf785e0cd2d33fd51f4cd10a9dc2a6c8239a91db6a3dc4c5c24d2c8724de8da28682ba871440dc26542e3189dd0d0cc39f601aa9ee60b4270c40def85d25f05a33d5e005669ebde04bac45275816f5ab899bdb10d016f97f74ed12a19d328f16dbd8c15d59f1f3b0012a2e7ac3b536fab8fc5b27b53f49c9841b6ec6f9b38edd927519f7d7c83ebfc8dcf10424e6a74e3d9a125dbceeb9ce19e86b9b47613a84149a944cb2f39aa67b887dc6b1434b93dfee1e7be47de955e0dccb64f8ebdbb1d8a066b809d5c7336e97b1db04adcb5102ae2a0fd42590a143f658e52a9374ce4f5457467d021bf820c1653bd5c5e670edb1de8459bdc5bbff45383aa0559d8ee7c7476c5c2982e555178aac947f3da417d0828296add7acbe71f59d4cce31b2a28b1bdc084c11c31bbd707372f5818ac13a62d4adb6f9670b2c792ef91d16182cd8ce7e43be594a611aa923dfe547e9aff5ca3ad98fa6889e5b85103b7e89cfe164b3caa329d86f133d572fbd4f747b845369ed2c4de6840b6889d66baba189a229eec107d0068a8a3bc9bec76116e0d786b9e7ffaf1aff81728a1a99db02e6dc1e6ea9ff03a657eafd8a5c065b96f182a84fd413551e628611cd39c3b223930a1ef3644882791b21e3e695ce320fa79e92b3ec43858aec716863fd7128c90f273afc63b4de388b68da2e980937b896767f26855ebbb7e7cd6858edacb36fed4f824b7f31c1d4696c565628b0738752c075e320b731de000c076695c777a97f4a54230c48f507908c54a0178d3eddd1c0447ca51be6a5462eac5eb109e413369ff264ce65e5920042b6857dc8cc2b3de1690d39ed4c9ec4bdd63b4dc2a1bd52068e37acacfc92de7f0fcc2362170e0847c15d9440a9f93a9510b88f322fb3ec3ccf6a3703a4ac1e31f0c21f1526fffa5194eb387f1f86af49d5a7bfd205e21b3f8220bc242fd5baa28eb817b553da8ae1e2ea450ec19884ad4b63f84c8a078af25c823e8d5bd7397f017d32de618cb31fd99bbbae65bca745e9544eda83a44bdc6495707e2abe24f352c0867548626388b5aa2e07cfbc6d06c931d34928558a0cc90816c1893750b13e2fa28183b35b0d2cf2a8a67fc0b6816ae9486ce8167afff8e85b2ff73682881493cda90431c4f9357d88ee9ae20fa156d9e5c2312e6d0b01d3b5a98b0ae76e9c5e2a7e450f9b8318d4106ed61765fd48774a9310e022542bd3ff278f799a032419ea45b522660523fc1740b209e48069934dc1deb74d1e5fa11ca527d88ee692ff3e0b6535a7946db4e743bf0e67647be25de6297e5bd1d926076106615dcf778db88852d315a03a6c87570b5624f370ff9bca5cb9da714cc3bd3291cdd91a6fad76c7945006bd2985fb56a8b7af6872838fb97ab5d5f762ed45a5854e9221d82d4af4224adcf0fa1c9f089a4ab6b1bf5cb9b2caed3798d96937762654d5d48ae1261e25440aedc2ca4e834501a112b048b7129b5446435be187967778f6c40c85752c94e285b241a31c9b13ce73f871e4ecb5bec5e0c35d6248d666ffe68a137eb94688d1c7eec06517bb78abda38301f008d7c479eae2d773dcf5b21ba969ab2bdee7cd780f64d954df7e99568e118169844677d3ba99351b504f729aa146f514d98fe626563681d33dc19229a741697901ac3971a32bc0756ca359336ed7a4b383f6162a7f30955063442b13f02ccbc1e9904c8016c37748b8b7acd9a7d5d170bf34954b13b19ce24144f78b4be889aefa8e9082a4a537f103a0a95fa4861f95789116c4d0bc19d4cc79d2e6afd3495dc4dacdc8962589127a993d9448fce852d78a81cdffec747d01e1438f4db04fc4f27a4775f90379551bb4492f7b938b16e006089d0a0bbd790e1969899d7b290b38b65127ff6544d0c0d0428ec82cc8f7d51c76f7c8d5c079fde873123a8b0e47faae9bf8cd74bc961b75ef1c4fd644cbb1208ea09539d8ac17df1bc7a821dfe8ae9b98c45225ac4f7e5c6fac7d9567cb8d4dbc8527d4d4804b2cbb1d5e626b1c3b9800b23cce68dfedb1f033c716dc5429bde31b9fc0aef2fc18383c7549c867aa92a07b55a3c61e66630ffdf1681c15488a37c6bc4267c823ce9c3a0099d69144ca618fcc53cd23dfb6ccb2b5033861282891d1b3baf812710f6b15d509a44bf252d74b451537c4d335b5b0993dbf2f044e8eb41c3cb82325fdefc351aea5d9c0aff83e47ad7e885a8f614ec07e23ebd5731794945a2c3ff481097f014cd89eddadf824a283615cfbe4669adc9d516d55ba0b671b8037f3b8a1d4a611f0c35e053b87b4f64394c251dc3ce93a7f175bee338735efdd672c30373708bad0ee0a0f52eee3704d63e856bcb687c3e22a85d0e7d813c0eea459fc89921749355264be3237fdebb87401b2a296a199cac6c82894580a388ecbdb91df0f6db74d368959d783989af66ec70dc34f2ae7640798f061d2cece65a4c5d0c55a43b548c7224d16e1dc27da87714b41e8eb94858cc5d143d758714cbf1ba58ffece091f8788439ff8e3fd600a2b3c0b95ba4327cd72245cec1199112b425ac8853059cadc752c82441cab06f2e35010ade957447a64f3f267c6b838d55b8eb84efc581d4a8ab71979b82aef98275ba96a19bee0172c386e21c2091d0e51aded5298bbf48cfa2395b3ae7749764fa4d076990cb72e2c3397b47b64a6db6ef4238c5c264e272494f0b516dffb0124e10bf6f4860ebcff630ede9122162e72dfac052c54386d72a2e81934d5eace26f3b9a9d79396c8653d75323b654f02064359d36f9776c49070fe695e5e79fe0e90681e718a1b43e76dd0d10a234d4902b384ef02e48bf41f422fb5ab4ff06faa025041c3456064895ed840b1bd6c55e319c7185262e7cea199a0150ba3b511200dc1a595662ad2750ddb3eb04f45ab7688663544ebc3cc1d1c688d272f51962fc26b7c146a11a41cc4702aefc162a06bf78efc757b3bfd50d77b17110c6b0e5153d9bbe0939f113565ca4be6cce3a28e2834d9b5604436cbbb62689098fbbf1ce0bc5351f8dc66a84d02c7943926c3f1a9fbd62244f2a859521b63cad285d17528e058aca7bd9657be1dad978a8b1cc5f36db2a8b8675b794d24624245ac8a0f1807d8aa6f42e0b6747572206215787f87e6533f213cb7ddbd9b1c8f100de2179cdd35be2571669b6311bd694b222ec2d727f068e7d6e1e9f03f101becd4a88871a5d37fac602669dae83e972ea8d345ed83a6aba8a320986485527b25f5c90fc38fddc5632dc248855bb1933242c277c4250cc93a64e5ab7f46b7382943a0c88103956640557762f7734e23aa3e260716e72cf8da7c44c61f8078e50476f7eaddb0ab40eafd9857dc9188ddb3448ac2b4ac4ffdd40bc2b12b493c1a464bbfcdc0d063d77f3e769e1350cfeb27245bacc9b75ccdbb4a024ddeb3a93f738224c11803f2ac62312d8da9d63f845a283abcece7dd912be21bd05ce839d87612531f7c95f6018a87e398d420fefecd2ae2c61db51f8f0ec624eeade442eebc52f02af464e44b63907149dab54ef73380f0721761d86aa219ad7b4bda51ca2280f376dbc89491a4d98ad9b06339d63e1d836e5b24bc2f6d40a92c476faa017df63349e92d5aca1a7c06202116921e4054e3ad1748204857c419570c24a2e9f23c0023ecfd4a24910c70373d65625744c8afbc9139397d40b279e6a387b3dbcb8c07f448dbaed338b56eb993c3bf0dc6c0f3c24de034c16be070adc517d00b79f2f0c06772fdefee9a8cb0f81f9ab04b6b95dc25a8fa7da081817490c24f0334d899d1a69c8da351844c54e2c3dbd20182698d011dec5b68986cbdafcd04625aee4807027fcab500639d3c6c970630660744fbed6847e6b66265817c0a0459e10676367236e4035012791e86949d277a69cf52276fac31e24946297e82fb9ecf3d0947aae42b92cb075fd1c02450b7d44465bc55288d8e1ee1b520a253bf65ed6c9b0a006beafaafd02e7645f442ce009e72c986af67f689ee6b9be6e051676a572739ccf2283edd8801b151848507de4d842f5c0fc283748cd6545d902a266f34d1d4787d75b4f2f65490d9b8cb914dede895ad1a1730cd9f909c4d1f2bfdbf9719d0f61d01fb8bf778f33b1227d0a8f1f5483f55acaee14dba3694ce6e4813c7ae85625c999a01d4751c6892779f8e889746d22faf3cfa5058ba553b3834fb73aa9527e3a3d777a8e03d32c09806fae4d091abe3b6f444459ef072ec9508df1e639590a724d6276d5c26cbbadfebe7e620c3f57c160b62ac856a7f4de6b04cffc5d03cb146f6cd544a67f33a3f0f9b31eb800e5a98a3390c4612f6bb493b82342299a8e1a0cf109ad56193a28f167b1be43f29e59e1941bd78209ad56ddeba5e93ca70770477b02e1ea1d9e8fa470ee14531690ec06ac2a07ca96ba7d318053d11feb1c3193bf5894fe9070088c56fd7c8a09ce20056211a2b5609519e6306bf766de8c8184ad64ba5ff714b92091864d695bd6cd5f6c34fecfc1caef4de0e0e609937b8a7067e1de40445357c85dd01e46381032afe7b4882091a3fb80feba51cd1b227de9775ca0b5124351581ff452132fae6d68f3e7086a0f493058ba343e55323aca32a11d5d5f45b5b5a85d856fb36930a69dd8ca532af47554631c099964ab1f65b66bf71614010228622eb1629a703abb017f05539f9a568f81e2739cc3223a5740bf9de8c0e4ec1cf6652130db400532df609e916d808f17c318b8a54ec8bd03e76736c644dc69454a9a2c245bd8785131b5dc37f482c2860afcdd3cb1936de5f2f0ff1b4d7cb82f6468b1deeb9b796b0bb2628c13b62a43d5eb12fdeabcc2a986ba11b75882d074185849798c904a00c51b0a1aaec25dae152905b133dfa80c707bea78a87743bfd32eb68c9ae74bdcd10a4d9437762a72487a05f6a7ee9e769d50010a344a7eca769cf4b9b401ff06b0e0b4d1073e77170dd8aaf7d479ffef0bbdc3540ed06934d6df15a435485339301aeeafadae32251dd71fd9a3c9a4a1a8aedb56932d5ac7c00056e3a94aa73254dfdf3a6819b4e880ac5a4a5a742c2b938c638c9fa9875c40d88e935ad225d8c724e7e2475339495eb04ffcb7349d7344656f6655bf639db7f2f2f0192fdba720b8b8045a2361886cea21d3c8c8f3290210e60ad0e4b72eeb5d2f85e4b40526926ca2695ee1fa5360987ca91a7d6b90785e555145efefea2afa52f3f5541df61b2b4229027bbb5b4d0fbce9ba94955a3dfac01e2f72bcedeb4c835d933fb8f62e6b6d88c56878cb3698f268f992a17c58c91b7f46ae009c05c818ec38693e3b6f40a4ce3cb95b212cec49bec7ea777ddb1a6aeed02af4ddbd6b1bfb6d1ec99423228e779874a9b93093ae28d6b2a499e1b46e18cb9cb006b37658a46f2992fcd02fe2925aa03fe867520550a4f3e1defc2cfbc51962f14c9aa0c4aee828378771b2def4814cece8c3c72eb057c9d4240ae96f9a4dce730aeccd73ab1cdd254e13f0887efc589ed9c0d3ab672c357e291ca7ed0279a24b449785c254b6c6631ccaaf1516911327e16e7af0a8388f6879a650abf38e1f2525de5cb34ca47021bde5fb083511b388716a8cbb457785c41005405294e08bab9a51bd87ef86efcef6dafaf9839e2f5bc6979004e5e4311599ee91c1c2c52bb33de44100f626701e7c81c40159ac862703558785a6b1e38cd353429dc6cc51d2d722ce1cf37aefee6b36aef97cea7cab7817c2fc37f810add9b51c47d164e77e21627ef2f160eb3dc037efb1420521473dccde3658937240b3bf72c5768c6f34f4d69972e9d93fe146cba00b55176743c265d2fe7ae8793598338bd928e5320c262fc9f6eaad296134a4a80ce3edefe9c3eb9b7ece6cf759b35c3303ad1847119dcffc95983f90179fa4349563a471eece5cfc35c868294a91650e5c4af65b1e4636c802cbb71b0c77c7511af2f897c3da0e3b3168b588c6d1b3e52dba82d654476e2e102f607857f22220ef8ffa2e836a98249570db869ba3b21a10e6b17837bd26ed2217bf0c9bb4b10cce6d57068a52b6d105ca70bcab40d1cb551509d94fdf92c3f2b4b9342f55c6df7f41ef103d51c59ef53f8a8c7de4abeff935d0d1526a63594deee6722e2f41d1bc4ca96c2c576e07f25814f2121680a19261f3f14bc2bf2bbdd1fadb11f62737bfa7995f8ce3f2f9779d7687e855c057c7a2c72fe99d2d9d16e5ebb5f1156fd7267391b7d96c0a6f8d30e6e1ff61a3df70d75d73d2edd1dbf2c8ad72e81d1b76333c490518d52f8763f95004ff2523a48a217e79fb337841018fab857784140b307ecda27cc33257e3ea368e80aacc5db8dc3ac3e8bdb1de7f27fe44e3c9a47321a724be5a749d732a649056e7af2eedb69ece20bd1d390d3f749a459ee0e1dd458a1575a4cbd3f3f482334db248e8cfd3c456ed6affb6e2ca14e044447eeb465d851f7c22c2bbaeb121a6d6bedcb36c78f5e167146637476eba56e2eef60b468e0464fd6e2eab0d8319c3059a85db0cc5d4b005473de339551f696c8154d6afedf0fc419bf54b3e06c80462789b75f27a2feb14a5bdbc2f0422862b77e4afbb2f3ac6445ca791b42ca15ec25d92c175534a39e504b3b755c5ee09b447949497550b6ad8d1fa310cf4c81f7aa0fa4675c27709c8447709a0120de73706f7b78fa61c8dd5088bff19b5bb293213e201a7f762c8498f3d5de14ffe7c98e2f225cf7793faeeee7127045220d67475be1402bad3e71eb920ce064072ac4a37b4dae254c7c86e5a2243d006cf41da2c50f956e3e6c3c158cb70c17a6b8668cb3344de5d2a6ccb586b1709cce17c23df0a2c2b1b732b7dae670f2115409962c41c7af72a248608ca3e4d596e3c3448d7d926e844e8812e1b79dc376a153a57093fde68166de2c6260e5dadde75d658e0bc0959bf79308c5bc5c999a2171da276ff0a0ddd00306703dbe59bec3744835713ce2a0ac585827e3ff02cc27a4561608c94a7244d86d1fe8987a67e2904f1180a35f1892448d1c03deb20aafff332bc3ac295fa7c573bbebf583ad32597207ca2bdb2c4f09418fbe91526e2bd98f88a887345043960aec36f591a7736e1a1249ed1b16b20625c9fd681aa3ca1301ee18c7ed90b58b9bf8dbd7f97365ab9a7bff45089c5335d81b4693cfd6db86d346b183c3606b3b3edb1f8088f0721750366c9fb4ba6b506e3b4eee84967b17249d126c32c0d9578809bbe6b47f554a49701175662d8f7ab5402e67f391fe984424cdd8b4e8d029d14c405526af66e311d8d8c4aa3fff5f68bae81cd803eaef9892c5c6494d4246aac7c06513007310be33c04208bd1592e2a3800a14b2b2fe43af81b3e1d0c3604f3521f2b3f6a15c30edf8d9df63cbd837c1f5c5c95cb13e8750bf1f6eb2b9f555869476c9a2a1cd393f3f8e4ba1e8a38e5aa806a7163e6c1e3212c6ce25ddfadaee87bee2987436041a932b0f777fa7a7ac20ce18e82774271955fa0114693fab86f1f1d2358fd463ff548d2a853a02c6e1d4f66b3e5527186635b5f7008641e1ad7b6410febe8678b323880f0ce28c5982a27997783f50f937a4afed999ab60c38b3ec51b1e5e2b66dccc8309738899fb7e69e1b143a1957f474d01bda5a6f2c0236e6ba407934cd65148e40883918dee5d16a8de180c63f579fcbcc67a696ecb84fd0b8b2b1d1381a687a36b082ac36d82799dadc2ba0d8c253a3e4ac6cbb9b107e88b73535054d0d315d684f9cdd975bbd626626b69d38e0a43e6bf37cdd11e80c9084a06e3fe1a30a98bdb573da4c93682a2119050fb6ac9198bba56247b0a5e8039018bb3c2c0cbac00e8c08d0f5b83079ad8b37ad323a844d2858f946687fac99dd34dbf148e6b2001062d9e33b057e721516663c20d12d70f7d337275789ef8da7876b07200bfde68dc10403e0c07cc37bb32c6953086d87049c1fc4c24f3fd21a3addaa4687c282772a50f6a1329a6876f1558fcb8aa27b1fd87cf9bc24aba29113dd42c80bc7be61e7964570ac5d263acceb1fca24804162370c798622d5a3236d0735ccc5b1aeef1c4848ac77f74af2f276158ceffab128b4c22efcf1ce4d04aad27a0f5adf2b485143f73c1eb9fee78af51e0699e6b68a62f5582a0a4e21753581c92eb9cb55d65b2d5a66db41c8787bbc85a038d65973dbe0ac471f9e7929970f07f6edd4a318b89f886b7d039e32594708a69278addbf2cbe40b2d581c37946664d33ce8ab38562684ed925723ce7453481febfdac747788e60e7d5fc8490556fa17ae76466320aec99158c14387f031efb3fbdfa0b7b0e228044f339a727a1b3b17c6edc6b966f057774eabbadef6592f252aa280490a96ee1406df674f2d5c6a5aea6084ce028467e281c1a4b191c4c63bd3398df3c7a90b787f72eb9876c6214a884fb6bbb4fb50f7080512b1b8c6c9f1b8749c85faaee0093dafc7ea1835ca18a2cbad2bc341172db43fdd55ed9ae84214e1d7b58034bc218ff29c14697d732f19dce632edd580b03b96718e73776979f97b947c9cd469fd170a2ca8888ce2a26160be7344d3f11606a04f6652633aaba8c1741bfaf072084b1825536301fd71d676aa77680b4e976048b8a9ff8bf5d44764ecb79d8488467d6d34347505416c670c061c367fa378aaff99abec9bbf7f7ee4997a5cb95b762772d703e5ac2a02d6a48dbacd09bf5d73d9b4f50dc4b03c9118fecd069aee6c477427dea7f3880d22e24d68042de775282d7cf7da26d5b1322456b7c8a2f86a485d85164193c4fcf27920344e13f22c5537806659d0a8dac50ac2fed9bf2a0175bef18c2981d49390ca5220e72a249c9e0bfe9837c8fc8b3604cc0ef8ef49b2bc310067e1437437debcf247c6e3878b6917a9c3d4b075afdfe7f655dcf88853f421ddd1b3dd6587c3ea648c9d91fc8ea5919fa7972bb5cc3eae780ba6f6b155cfad491eb85c885bfc75a43a7bd0db31572dedebab010caf8d06d6efe26bd2d080312927048e910352d976af1fbe0c826c45da4470de3386d42fcd0cb64d1c41cd5c8e8ec73be8149a02c8487526a18427d93bd6148d5f4c9fc4b046d7145fe9403fadc3d7594ff9efeb81a9323ae64bdbf82ece92b183ae5723ecaa332519a6710a10716535625957bb966ec1b7f1f0e1b21d2dee4d70bed00b48d109f2c33a73e6ebec4557183cc5473df4d0d99de71d7f26be51e448cc96bf3812a229a0eda95fc9dc29adcc64629926799c4952c284fefe09837fccd15374bbe18ef9a82761e9b1ae316b57d955820834bc1e35be902c6f5cc552d32200d18949902c88022ffc0f461076f6247acb4da495253c2d44c4fc17d1025c42e2afecfe9c767020fba62383d299ad39e59bf93ad309cf7f7355de63fb54444704ac802211d37af150ebbf4c4589d0e27939d80fbed61c544e85e13aaa3558c6f3a6b4d13016fe67f87d4b136b3c36226bb3c78646cc968b57ee3a0abed58437c25430e95de6475c3a482dd382e7bfdaefe1b1b8320c5abd9c8a4ffca386550a84f94576cb84e182d6c2f845c73d69fb558a1458ad1ffbf46236887ae6fad15d57f4804a7d73fd8f7b2b11c87bef1c4f1fdd92db05376b3a3cbbb72f23ea11cb4fb6cb74c1f90f92f993ef417fe78c55bb2f486d96a8e188d565061e9bd969a2edb31be0d0ea3b975fc701d3b65cdfecaf9924c6e01d9f565eff2ff31df0622323e03e20a40e360fcb4b384817f07c906382b69f141f66a4c1d74f6834cfd73803d558f2089a58c9abd942b142883f0db1a2b63730d4ce9d7531878940d7abb42734740de370ec22dca128584898208255fcbe1a65b43c079133f863a26aa817a1190e5d41a845d04f12093f872134f8fc352019e9b2a305891294e23a35898eb2151ce1d49c5565eef8460ecae650bb3655eb1491f81e953141e79af10c32067f8a0f32cc972795772bc9c7c42ed18492b553cad77f18201491f09d4b790c54e5c57752565fc3a8d57292eaee9be5302b306cd0b60b0ff9af5261a027bf93d3443537fa9158347b50ffa7cbfc42642b3314521d2b2524b7a4ff990d5cc067d88d8860188eb56bab0a570732dc2a87003ffa5dddc5a15dff027e1bd9b25aa73d191798ce6887adc56c2e51309d7f5d68dcd07e2292f891592a1ed2d3241af0724b4ba9e0995a94cc888c3b70ccc99d131f3346aa153dd5b9d7dd6204a5fd7e6cb86d34e419e1ecf5f894cf3bb63a1fc9305ab7b11a5c6f7ed9ea1049d3009f93196a8ccd8c8ee52706a8996ca983ccebda65e38cc5ec61ce2a9513e6274ae5b9acfa8e320680c194dc10342ebb3962c95b116bc7f41c3062eb7604326b8e66416ceec0a72902716dcd274b0802c0a3f883a6b4031c191b8eaad5dc67c1132b4b4db03f984846aa62bdd523d935041ecdb76d204919a573b8fafb3d2f77c0e8603f3093c458322f78cbedcf01c9fa15adcfbdf0551faf27428174a8f9f7bf6ef5c9387d9c4690d931e372e4d76ddcbae4eb790932137f317c921e464ac026ea9001d342034d9a375be75e8cb7acdfa1abcce5fc3c2bbbb169f6cbe8b0e3273bfc3881b83d339397f0c9cb7c1ba299957d825e8490ea0faa2940424da6f12ba27cee4e1593e0e5764b295bf8fd2cb53ced6922fb61daea60c6132d4bbf1d6caefe077e4fd4bea0d67ab472598cd63d2f8152fae7f4bb1787f0f94f11da8a99c02b795378a0af1f6bdbffde4592559da5d1c9ddf33a487f8321320e85090622b0b86c7daeea4a8f7967b1c958b25d9533a1bcf5ad243df269d981306c70fa84b6514fc8a15d172f13e45067d4bd65a106ed65130769c49474bdf3ed380b2d83ba965c6cc230695116c841adec4f8cdf5e28f88c19080a7764e6ab8cb5918d2686a4d0791540a4b2e7a1f7604b4c2467d998555f67d39ef2eafc6799301d78ad5cfce9086fd0dc9283fda1ca9aff9094a49b87da7ab288dcd828a7c693c23ac0d871bfc921cd6b9a091549e5b0cfc7c1b60749b8e593fbbb5140e18e73c594588e975de5d5cfbdf736bf5abcc6a145bcdca01c3d076e51d693a42de80629d1ef84b98f911bb9d3a55c592760df47eef5d1f9510996e4af0dcadfaa8032ae016448ec01fc8c2f7b629c8a85b0d63ebf211625538bf0103508847dd07f59dd80e7ef843007a87d949623d4058935fa671b706437c99c64f7fa0fa5f3ca1b13f3784f924f855f7a2a012596f63f630a1b754b20f54af21430ba6309e63f8e6aa983567a529abd1904384ae2f694bde72a4401ea12646f5ce4d09386a63e171c2214c7c59798e15d996b7bf2fff7a3422dd00e5cf5908c50a7411803bf983022164b3e8bc48b48720587e6111c5cb56d17c8672c1093b5cfcf16cc3b8ac94883ecc0988ab368c249bce077f2eee213c6b7ad558a63f5910b3e607e404c20bc318884bbe4ce9b33aec9e5b40194e7c69da26576db841c882d407b56f01bf20ce28e80adb0125beea249349f44a4859831afa665ea9c5909edb1f36916462a30449368a39d5d0d5a75575571070148fc7e6af383d91137446729f2e92e8a7363f0abe2258c3d793895c20e04a227bdceee05d2f29bf256058ee5c3887704dd724049b84c4b43fb4b87f7b51984aed83e6755a2d0691f0e16e274276ec0852273cfc916aa0e92e01efed5d23ac08adbaee7005fc6ccddef95d794f96e651b1d485f2d7e8e29ac3acfeab769b5de7c3b88237d1770809a933ed085411561ecafd6811cbd371cbb866ccf140d0edc203915fe853790118778525a4ce8662b00648f238bb45992e1670e24d081bd89da5c3472949e6212506c3ff2c9df3f89d7db7c795c327977f96bff8de216a161d86744628d55a6851ff162c2af3c56dbcf7de3c4886b0a2fd180a9354f760ddbb4957945ea9c4cce84c4ea83b6a2a24671aa4c7cc3bca44445ddba3d132c98fe53adecfd037ca3b8683a2d6357f5a7499d70cdfd535c1765413c5c2d8803f40b7db89cdc1fbc66b4bb098eb86e4d3d610547e788eb7652ee891196c9a9bbd06981bef88bf5ea0ea7c1338e804da3ba80220837ac8e783fe5538c44974d0e6d2555e9c2939d3d7c663b7ec9cfc0348a8e54a40a80a452ae91e76163472f1d0b4defe69ba922955f3bf31472eb6741edf2a1a346eaf1655a94810b60bc39f50fbe6ba99c1f0271fd94432ff688dc59a57f8678daa588e354e3e769973e47bb5728393a2767bb7d2168ab56111fe35f1d18a4c2206320a9a55feb2bbae07ae67af08c91c66d1dc041722544aaba0d814b613d3c50db8690110dee69eddd3b0754106187e267ee8cd07d9f9d7c6289d4198684e721774951214d2d9a1494893f6ba0947cb104de8c04196e395251808461a12c6ec6a2b0bdff106fc05faf9a89b001b1a36c9ce03dd450d3deb899086c75b2b9c24626ead3d8602cbce2e954c9ac390ddcc6c1a23ef6a3f6581bfb45a08df077837dd449a27e55addb18737e6cea0162c8215d3cf6232f65e0a6bab8994588d624f49d310b841d2c334f4ffb16af1bd9ecfe6b2d6c79ccbe27e19e908cf31ccee2d1cbd7fcf8344f5f657337f2461bb2555775d718909e4c572116ff3fc34680131b3162444ac12ce79ef72a0bc23f7aac207279bd41aab923416666cbb78bdd669505ae6f2ac36da75078b8f33aa00dddd68898ec2edb9ead478acedbe871a43e9dabbe6be7f1804cfd205f9b3e28dd8c1e8f05631420a039de1fde1e0aee106fc9d33c969b25a4c25aa364e0259499e801b4ee40d941a25648def4819643b7a2669ee7edeba0dc5c881a1368f604087fd787ce300e35b42e85b5df44baa814471f40cf57305f3363533a749c814e29d815fe8b102f883cbd3a8bf390741b8678178f2d34ea87dcf6dee2c2d6f23ffcd87136d34cc14a504409f223599263040eb8508bf95027edf135925869d609df798ee1ed2fb6cb6567051fe22dec8ab97ba98209c600dfd4def554d90e9f7e63ab02c52d22a11bd954e6adffb160efe7b36e9250cd630a32fa4d162a044cd6d7869ab2a9864eb1ac9788aaef0957807bfafa7ea905550af2d0f9c142a31551d8f3b1c18261eceffb290095b7ca2e5e9f3f56e5fea57dc97e13d50badaddcfd2f9214b5d29eb3878747495fc06f35cf7f23d89494d8aa2d6fb0cc500a8fda46cc031eeb58a894396e5c585ec4156adb304e51c3e8311bafb2286754e7a8c63fb83961661101918b4c3ee15e36d5f36f41b7adfd6bf3b210459171fda5a54df2d905821c640c4a3cb5c10a4469e17149111110baa1425bc1dac4b56f6e61dfcddd71d71cb970a0df545cf67274274db4c1f19c6f73a5be851ecb9d2b60ccf5c0e430166502627862af9b2245c66b46ae4dcbcc9d8f7971cededfee1614d3c0e03286b191cddf61fc3a9aad5b1c817d7ef95611a121fccf5a8c9db176bc5439922774d219d70a80e1176f30b74e48613396835e2ef479cad973dad4f7bd759773d865fbe5c2ca5e321bdfe93f3d06ed3e35e8f27f65cfbdda2759f37fefce33676d4f8204d8cb783a2eb1b9475bb79b0365d50fe9a56fe8d5253de83671a36aeb2a7fa2883a0e32ff2fa684f84ea327f93540937eacd4c9e610c8989695fe13669dd812f0657ccb46486379c6e5b363a4a7a1649e56a0434e775d4ccb17b8e812ef90863fabacc2aec7f6faff04e6959ee97073a4438e83412cdf18a8731bc81b6a6179b3a7a015bec6a59e2204fb4c5c54ae63cb3f2e3f1d0174fe91766e58388948ac3c8b958e71495b5d5a2620fa810b631e914f8d1207fcd3a558c6dfbd2c3168c97483f76efad286e530e7412869c64cc72451c146f11ef8fa1eb5fa43320b4e5ae4dd2472c1eba358ec4708bbb6430166c1d82a2f35a95f41ad1c1de44ca2246d2fca7e2eac76d76a0a4db22b3034ad62783cbd6a050131094a027cac82c0f6e5c852aad4ecb6973857b830846f5bc73b6b3e1ef07f145226931f42e2e165ae0a2c23b97ddde6dd918fe022cfa4d9bd74ecf70575e3478f0fde2d6af7ecce66080629842353fc47ea898371d3474cc52da65ad7acd772901e9b660057f89d4f1373834324bbf1d64b74c1a4091ac0f5eabf5c142b3505e357facd761791501febb8104415067199c3bdf69dfe4e2cb3de8ef5352cb3df92b27690bc14e55fcbe9246e50719b612b332bae01b0ee7c11f0be82075fb1bfaa9e93ca9968c2aa151f2f181641e19f7383b1ff29d716755e531fdaad8af84d3ea55a17cdcd4366ae26c3db335778318d0715b076810c3958bec285685113ab8bc118e9eb9334218566c207057d011fe6cca00de39697e2449be2756f0bb40b159d4076c0aa60a8b06a56f0e6e2c7ce6fa31fae66b14adf997f03c82098f60239fc2b9fc10425793305fe92018547acb2e37c94d1b59cfaa2eb157f52cfff5ac9e39eb3c58479f46b6324f6f68acad0554b9fe6544e7514c4a6c4645b9519d5c1a6a414d22e19106d28a72a0a93f27123fddc3cd5915f2306590a24b6bd9cc463a074e9755de226aa73a03de370e7afc0a374b8b31033071b5fa52f984cb044c8488a68fd7fd37b9c6aa75e7024ce848bec0e9793429deed240c340b27a055f55bae6454b62575be57bd458abd7c97db56b3d8d9d664ba8eaf302667464885a901ebe8d6da32c72b5634a03a5770ef24824e5045ab8a0e66fd7ef444bc6c45a4202ea582090f72c69166317e758b1ec7b5f62ad861d7c54ebe438dea2392aeef3b73b54d69c2913d4d3249e5ee2bad85a01c402a1e1a029096a42b03b0f42a3391802d7a622231e905b7cc3c38abe91e3e5c04587af51643e5eea49cbad721263bebbdac374afb3c0dd91fe5535d938216da2e85e6e39b4b089a8d1c5ce1930210427c47ec0ccbe70bc63425bd959281b7bbe4ef8d4244e9fe7fc860e5186ec919b950958e5a3ba26a284b766cca76f6b08186c556fec585742a7ddc89ac09994e08afd90d665a8c347d0987dc819909ebd97a04bccd48221b7befa330a976f3f814ef635caa252f12d70aa3baf10ab7e7475d092d04d9e9246f50700b25ab63b6fd204f7bf7aceae0cab883f1950751e2ef29550bfcd2cbd3d49ee59171433fb8ef1a32613dbe085a70d026747250e29a3d37b5d5213f348e257f4a26e4cc20eb39d0978707fc5c7fce58994da5c2488872a86cc2641a74417a382fb5cbeabb7a1d99fec208d7e863ec8bc5226613a6b700de53505b09b109742670a70194475e509458e93ec92a3e3ba4915b81066e0fcc243c785c3088660f6e254d9a4178842f87826903cf996121e971e94b844c9982fca4367e83963b72b3efc15f81fa7f0849bae0b57c36051be617ec78f018a395d0a16217a65c71774c378e872b881dc40f865257df8b8f0f81bfaff1efeccf11161fdf59d9c745ab2704420df2780b7b0aa0d8e556b62c88bd47c6374a6decb13ca8a3b69806f8a3f391bcf06f054d01e23601d6d628442d83e31d82f79b8c10b387e6022ff7ba3601c06a648ef04b34274b06689dcedc72ada75ac3aad38b28b5c99287fae42fe10f090244e822b07409c2f5533343e427907ae4f4d362c5b0eaefa06ff1cb9913d73dad79dd0e869d354227f3fde81eecc29b7a6dba3300fce713d448df1b4775ad9fb91e24d9659fc53cadbb330289e366f8b17febde38f6d65defd4cc2eba5dbef7c5f8d2d78cdb77f0bfd5a68679e234de84fbc3d548f5f0942501f751f4b2eb3b9f84bd72a46cf3719b7baad8f773f1c91afc0929ca1f6ad848ca7db030fbe7acfa3ae2a5463841f20ff7f254e3fac30732344a0394e8656c984623ff1813bada0a99cdd954c8b92a423858254933c3d8277277ffed70fc0fb3c5ced07313930a656fbf2c9ff2660ff7d8bea42ff74b0dfbc901baf8a5e9052af3f6373d21744161c74c1d92eca9eed9246daf79dbe02f70b67a175eff3fd586e58643754a75440b00b1a25abef3931fd2378e89375cef446a0ab90abfef3581eb95e2c6bde24293f5a71543a202729d8133aa49e602d4fa4c6cd75597251ce2f70982b7b407abec14e599b76eabe66343453a2d181b6be6cd227adf5354a5f09853629a724fda3a64b4d92ed6be407737f4cba5e91004d90f9a2c8cd423285e7a521441445591c15e94f7b0f797c6a0b10b2d40e06affaf9f71b749de01d6f977b476d05a13b22d8023debb7016ad4d88e562e376c0ccdbec575bfd9dd31c7e92e76fddb26aaa8213aecdad32b92bea0f67167c06387fec0f03da18d66579eb2ddf16f90d40da72d6169fa2d9d6c6682994fecd984fcf8d923a59a354f203f5e9eae4101430884acfe5461e1db26a579df47501fec70ec68747f088e4ebc1a123c6e1694d35e6d0db6fcc18255544fb4b16052c325f9cedb658a990eff058663b1a4fd4ad755162045990fc9a9f5e46ef43ff74ee575db1cbd43032183818dd26c40b484b4b1a239a7af1098723c111f37cb2113b003a19adec79dd9d4ade85d154a2610115cf94b615df767e82448de4fb97290f0ace858dcdbfbedf2b6e02834aefdcfb6054cb3587a55c83eababe71712356f2d4d7012118c4fcc4490003bfb32b61afe04f036b1c7328b18f26b62317ad6823a3b02083b5f0ecc3ef5dcb172ed59829070a4bbd64c211b6bd52919a1c3bca943a2335b183a51c75ed2ffbc12c96aeb8dcec8521c1de1032e165e91f77010e9682273edeb5851d07ce2d7d4b11e0d072b3599f0e95f7fc95746f821181154582c7186fb920af1cfcb8591df7493bb139701646dd4b0724acdd0ee21d16c0dea8e8ed1b7c67ebed9d3680aeb75a498220ec36aadfc6f0a842b7e5413f6859c896ceccd52a7076c94e1dfae5ecc731e0342926b43e17cb9ff24672ee9394dafeeaa8f0bfd304915f1925f44ee8bf50f7504b692d0832cbe65396d5118f3026482bc2f97085a7eadeba55409265d0279e2fdd09478e56e6a94dcb939df926c23bd51673794c2feed58cd30b06bac441208a06100715b0b134acd85463f5257f590d8543f81896b718708aa5dce896fbe352b5b175fae2663327f9d36a2cbec7bad5ddcbcd4044ac6fe4d376eff73477e48c70ac23703d5d69980daa508b9883337c8fd3d51fb35092c78498d8af1ab314b4f986576f260f54dd0bd5ac8dc0290b70bd299bdc9ec65896d9340be97a9376a53da4f9e37e55164a9bf3bfc018acb563890f0547362f7be080bfd601afbb13e75465c639be98cf7b75ea6ef9b7fab284e64e665f3e024922c2d24606993e033756294ee61b684a1cfc17cc793cd0aba9cdb7d57c1b62ef0520b2a446a61980baafd2178ba7fadb9d420eefc927701ac5b6e763db58d60b9b33180123e7c552aa5bdc537af4fc9cf8eacd8a4e1d7ef92306c64170a620b52ea34c4b23eed820b81f73a618b09fe919c881aa67e147e26accda98195563e61c5ed88e8f6ed4d43c5b91d5b06091643e15d1e93a40c33d6c1320dffd1ea381cdcb88aaf808925718ea8422427248179cb2cb7178b54f0ef5ac78752b1df17bfb17dd604dc38d6f5cd66587c9ccf3ad9391432683d901640c84424d8dd1bdf1391a3450f4031fe437e89c9d4a8364ecd3c2888e7894a1693bb8f4f45260bd76e1e035d5975a8080838b14a13a9b174ef9834c666c9fa9fe0081759deb9611f2a4c79fc9ce46d4b78da58c478a8eca5ac133103bbfb6a06a9dd69ac668a3f92f2d17661d4c6fe756364ee73bf6050aecf34e915fd14594b75debf2bee35d4f53a1f556af3f99b8dd116530e3cd8750779063eff22859176260f086938863222c901dca24581c69cd085db6ca16addda8d95a04db82fc5b09123b1fcc2c8c9ae87cf3766c4a213d28e4b54a8ea8ad5154dda9a9e3cbf3676c30441372711849186373be0159003de0006021cac93e0b3ba76f9365b4bcbe7a2282a629689ef31cefdeaeccd65405f9a2f23e4df5529799faf1ff46069a923f86c2b11b0b16fe3c8b5c48bd557545e4a063f6e5af08aea49cc15fe6cd130164e7b5d204e4fbb6514a5449cccde428789da4383b7cbfec5c3b5a67cade7b62c9ec07b129ad4d38c5ce0aff23e0f7c55525711bec987e016f757bfc04220de9b60a4f825415b49a5e8862bdf509771b01f56b9fa5f700437c06854ef921b7d46b23aabb12e021f66902a594e42f8cb1c5f920951f56bd42a29eb3ad36c03ecd7fb81bb479b68cc2cadab04fd1428ea014359a4479d2d5422850ecb76808e7cd41695525371a8ce1634555df526da7b13e67b3aba847cea2e681417f1cecb7ee69f015b00f83a8eeb388f3d0bf592e98dbb0bbeeac6e46e56d1b849ede2861a100befc7e41d5f4f5f8b70dc27d14a8bc1978d7322d03d740ef6f0ab1a026a79f72c79c8c1b7eda6035978f447eb205a64dc329323a74da8a5f8b06e47c86959a05c8209f1ac4a2021c614594842a559b6bd36d6e7a21f5b9a71478c017f8dc42c7b6799779c95cc45a968ed173c673c543154d351fcf29552ed464028a68b69320b4df2612e968d18cd27c121cce0d8b92dc802cbc77cf7fdd6b951977412207b8535d39143e7a4fa3a277b597b1b2112e4981d8cc91a7851fbfe263911c82667c0db9756efd5f2fee15c64f9ef0aa257f2adf19a4485757239223488092cd7933196ead4c2249641c46b0b2f7afef9da92965f91042148f9b7f88e855461fcb56c6e729e931c986d62957bd089d57009b3c71acda3a0b986435f17b956f0ce0cfb13bdda39e9530ed6460344d7c7baca12fe5995cdfa3ddf6620f244684c01dc72a168791318d2506e31e80eb9de4990e47640b74265577ffbfc00f77c6171e2715223d7a5aa23be0039bef50f0291960d4c41d5260b2a653ad5006d2f645edf7ecdfbdbffe8b696f2f35b34072cf21de43f1c6978fa719b6d2b0c03226e1243fbebda7ef0ec434a3ea200dc905068f7329a7fde5308463aee099a03ce9f3d7dcda161974e9d8459894f6e71e7c894cddffaf18c2db8c35d51ecf80e74b7a7f87c72d7cad60c2d010441be47d469e1fd43a6c328f0a834bbf0f9b5320a47e6a73a9cf32dd82b1876fafa0634214775f03c76aeff46d136bde3e79edc9016db30b6dcde598b83b9ae82b1e91748319315569ffd18bd889307dc365558b421725ccd1d01f51035305fcf00e910970890deb239526e39ff989b916f3b1d5ee4c23dfc72da70048ab0c3ce8cd4708b55e8c088de0847dda1afb482ee1d6a27900943f5514ae58f1d140e14667feb06aa2603310a093c8e17a2974b6beba751d00f23f2b206d38c61730baffcad5b46f9ba1d604eb4b07c38c43ae23c3f973bb1422b70dff517df5eccf005ccc4f58f1704cdebc342982a1871a8a20e7f531112046a50f26cb61b95742515608a39505fed7d0d5b3429c3a277da2538056849d18543b14e3b6d6dc3c2fa9b5ef72537eff7d8968b2a818ce780a1c3cafbf9012faef53a80ff7d0e911deaeb35beb6da2c6da70d3bc359c6b9a5d2fd340d5496693ec3e3aeeb36479e2ceaad224556c46545db83e97fbe7e0dca08d5ccde8368973ea9e810d920f871d408f5c071a3aa15be1f940607c407d80e381c754199cae207e377241aeb19e2c78b94c9b861af0ac5c50cec49f6a1eb26904d7172491e908e4a9cb7689e550c7b57b938f131fcca5336ff530e63c210ce99eb7358b885d1d99dace7ab203e751be2e033720a58f3cc115c67b0f4eafb0b959de8d83d521cbf9a61bd8d500af08b6cfeb62719d688106a256427d63abdc023c3a2dfad67739238ebc0462ec5b1a935f75dfd3eb2fe277d348a2bd65fc11abde1505866451b22044cbeae5a54d20ecf5c7695dd25930e25ae5b95a144f1b1ac2a1ff77fcfcce8cf4835d6a7132e7042116a31fceb49866fb4ddc7425b15ded9b210cb8e7eaa54669f556e29af24adf3c8c0af1e8edbfdf9d4671d595f7e9e5b2df429e6e3d50344d73ce1a9e513ea79977e23caff5aa81a216d170695d8d18ab3b636c543a4321de36edc9754c5c80a43013ba98aa6f428a3f8ca9d1f65eae1e89600dcb7bdb2b8ceddaca12a66b92bc2f506200d2b59bc59d515194e4db53913f108dc41e899e9c7c02e3470db1c4a32374e41ef4bbc0e9eee72cd3b755085b8222da12df729cc952e2c34aa19b17e2989f6e99cd85f2487144efb815e3482d7e1436cbbcd61ae6537c704aa28dec892ba6c1f5119ddb9b5779219f6b4aa7136b409216cb438a9aca1563f9e83d479b3ebe084a7db9aa03a04ea5f4a89ddb63e661105d3b0fac8bab34659a13da970dafe7dd4b86eaf54a7878d5d227fb299381123c52106ae93a178f8f0df5230a63a134a5c58da968d8ba43c57252dd39c1050659963b12435625434a60190456684af58ab95280df16c7a19a09d4a3eeb3b4d44cff7182e34ecbb1f5adcff2e674d3caa177717b7a9d0ab71b0bf434ee2da9d17211a9c0b33a657b331b7be6e0f93812680dfdd860430e3db32daea218512659c0ac0b1bb4b951a8161a2cb91c84195681e54a8a064736a49ba865eb9dd8d3366ec8aa9705c28a453340705c7db8b7df6bb9cf9fef2dabd88fed796e13280e4c2f582659a37434843b7448e0c9833fbd9bede4320cc4b512399034242028d9e3743384bb2ac60e69fde843f7909e19f792a8a77f6a5302478a9bcf1c8517d485c0417bf20634a05dc9669991f74f1938622832ebb63710c7c538607f9cde6a8bb9ea80fd497c95281e9d9be53c43d6ee8e09258301f7f67c9ce6e13fee913281d39174982239cecd4317366dbaf5f946498d4a439e83233b974d9d9ef8bb41d124c6b5fbadcc34ff89ad8a6b968acf16fa310bbe26baf61c2596999906a0fb5071c5b731431fb026ba2969e529ff07de70dd368914f58baa860c241b50efb5c066b470873890bb6dadb396f179c2c9561acca0f52e028b629759fccf0d4272319c613d1419c18837f741d2e589990a55a7018d7c453cfb0a9826b069af175da063c1558508ef553b6b7e6580303a59ca060c5b4f59f6d6e532227ec1000d06f7fcbc61f26cc59033d1878686e1f482b03e0a4b84a216edadb0b9bda283de9b5c63da53832366fabf7b9c693feb56b827e75d5f5cff5e45aa0669ed7a307d5b8d5fd6904f17c707f3cd88dd8c5cf4a299a5551c1af68c675407cdb137224ae482270d9e2c35a8d33f3f71af3c0f77f3940bd04f15f9cc8526ced1aa37ea001d5b9429ef2bf3e7095b01b1334ae2f56e799f2e26e427fcd17584d82ed4b64c21404e2ec66485265b8105df3ce23424d2c1eaed9003acb94cc83890f19471823e70033ebcc0d76293e84e72eaf764806f3e4b1340abcecd79829447ef035aeb98ec3643c01c7569a9c6b9664d8be4b836dc5cc65b0236114e121f487e837bb6a814b2b4d42356901d7fe3650bd2845a62c8d17ade7d9f2209d745bb33190aee41e2f67efa1456cdbb9ce109349b0d308a375d0790a87eb45643dfc4c39cf40134881a7a0f970cc45dbb4ac2b9c4482b86058ae10ea22ae770c255e33a4db7d0e1f9a75f89f5d6d41a7ed9001f7bed86f46a8f64d7b8026180926299b95c23fc4b965edd9e627c5d80bdb9edd21db23f71ce25eee5e96ce51c33ad55371b691cab6e4c7dfc3dad4269cdab70592d3f850df38c89cc04590ab7586736b7e005ba41784ed86fbe991f9b1c7a4400812934e6449f75e53b0e22dfb0d8a3b99ffc15bacace32ff5e66e0915d8b6510554e8dd5ad43c7d64451a46e17b2ac21edb734d5c61be3a059edfba0998a5b4cb7750793231f83205eccb53a48f50a5e8758847464aad25eb96f48590246a1f861952e62328a8a601df4930cac057702e6a53c587946630580658c9cc4a4f3dcb2dc5f88ecc1727172a57ae4fcf45547a60617436213d36504d0c1f576c9c11ba10abfbfda479e23305926d3149d8381925144e28ae124f5f26ae77ff86ee2d1d400eccb61f1e2e00728d49058a72629e7826d7a6a055b6b018af1b93f49ec4ba99b2bc9ed1bb6c8b45604d67bc7cc7f37bafad9912e36aea57b3abc3602d5e4de2938eb9ac4f1605d037a826c24329689bd22e7a9ca527c71919dd3465c56c3e5c68fa161b47f6f70d1e46049c979f7da863b4b391f77f50ac1ea29d51b2f3e7e03435f8f5ed23a43089b5b63e72d053c30a908ef2c1ce27b1a2b27888a08fc89a404e7edfbf1e54636ee668762696d1aaa24b07f19f0fbbb236ad0eb15286b5c66a1dfcef3799e76752a34a4056b18a803e2ee7b5013118d7ca80a227e416bdbec7cd3b1f75b30fc0c82bdb237f9ce6411c0d9475d766da13bd1ca5829d4d5ebbfc2ce144b4ec5a9199b659e39d7b4a533d32e80727b2f0715c00886367783f5fb8ab76c24299df080ef7ca2c23d938435be85beb44b8633bde31e7594f8efc256e0908aff324fcefe99490f8b7d27e82ef2e4d48b7c000a50702fe0c6e0a4b78eee875cf696e457439c18ff7eecd47879da6c10805250a2ecd9a3dc9cef1053d758b9960d288ee313ee038101d26c6386720d60995428f6a25a5aef21874e94505942f285ca0338aff1ad72d5f49e32ac207ea911fbdf869f0a566fd3b014b406f823a0ad051fc7edf08aab2c11f0b0398a45134356d4526e63ce89c7db05f4e56e5d379ce3d94781f9ce9515fc62a669680302857ca07dc1bc3e605b7730c47ca675459dec379ad0336c7d1a390410db35926affcafde8bf3d53ffc3742ab8691446131b95bb135ea87e8bc0cf4f583699b284736b5f1dd3c3e5d9fe5480ff939cfb7659ea0dbe8b19df726655b602f024adcd991cef51701565a948f988949cc059aa16655d014fdd2099471afba28361c3dc8933228f732cf5f22971cfbe3b116144a34d59c9a3c4c6bb2f145688193b18b28ad4ffe24f8c49bc4e9d6136c07900df8b9a7a897b605fd7dc01f936101b1fb18a13a6e704a7e502b0b22c8695276e6dde1c70aef1c49357ddf1f2bb25b3b9ba144de18cf306c3ad78ee50f77701b710aaa5f99c07869c12fc9bdd23843e0294e5d6d04313bd6571cc6954e70ab0e8117cb65e2309e92817f5ff500341164b4ca41a14c254c7888439384839c790b13cda246852b556e7669064017b51138991aaba6e802275d16d4e108e3384c81c57e1f32706acc75a12e82237549dd22990ab26e168bb8ad64e0cab03fa6017927ce7ba9382fee6afc2dc79fb345700a94959a24cb5b9b5bc52d7423194d517188ffa8a758e07209c96f5b0ffb0348992094a66e84339c15c74033c0b74e66870a42b44d7d4c0f252564afec4acb0753eef1029fc496d26f3f023b020f6eab16d79c9df8bf4d927457335b6a64e1e54ce471f8d68ce21e8222d1e5634dce97df1c4177b80692fc751e3bb4850f514b1b71929cd8a34d9278347139720025fc73f7455553713b6f48d9dff0551b02dadeabb25db4de2785be5968bcfceb3729796799d6b72d78d8b711e81ae9474fe75f8c1816f539169499144e28745f3b096a22a849b4191960406c8406cf479f97859d91da66d7089d8756f082a27190a80ff444f08bbf52ea309f22aaf43d79e84d9f996a54adcc76e183ec8d1531234f61466f517dff9d030dd668405b7c109314739a64f07c0d3fcdeeda23bf6e0483721907f6fbabb8595338bd127ee94a4e5769c2402c613687f6ee48879e87893b4b3ba7c61e5cc4580c984c14d61b65693bbdc13cd366c39b3071a8bfcf90310d7e32f8aebd94de996a5775367d01e0311c4df6f00387a8a69c03acf729ae7298517eed87cfb2d76da1e448323177862a7cc4b928881760e4f99629494375b53353b3d458bfdf86113331a298fdedbceb06a298dc57f0b4e6b5ccdd298961e61e92385a5c9ba75a4ba6b56d8252b99c5bac8624e32a18606b424f2b221de23756857ea0d9c0ea1b37ca63c69f5635f5cd69405796be0490ccc3e01960b92c0a3515481ffa6add8e762895ffb82a0ac980ce59b76e83e1ee7d2e58a6949a6ee49dc8e4043c9818c991cb71ed9f6d314d55f1a9a5029dd2de434ab54823f7d83deed517b8ed9f16177df39dc780e9e7cec58653b21a7bd56f881794eecbd33e76342e1c3076072d537358cb802635a932e207c6c1ad5a2fdb28f5e277fef6feff5fe00ce6f3e03e66123abf9fb71c9b87d49a02f7b1de1a78a53c6d13621547d513f0fc001d30d524fba528d01ff23c752ba9278694dc38040c00e451db025e737ace5c0db7f33f12584188e8d9c370b2e3da879d1b054128616ab0edc7d531ffaee935be3a360a0c05c021638faba3cf70211de57b055d2290ba513a0aff517fadf8fa84a4d1120c50f8bb29e055025cf17d08e076313125578a0fe910e6736d72201b6d853c81ca614ff5246ba85f4219ae2481d15e97a371a68d0a0dae0214b3bf0cdca7ea56dac485d68253ed4473874e6161a88f27acb80a7b608782ef6aa8bb1ea0fc11cfe74efde40eb09a705abad54574dd9c26ac6d8b466e9b6e426862a7824e9f21a50752cd7884b3a9ad099bb873084839cc90005efc1ae3c7025d31f352ce07787aa838da0ecd55ed76aeb1d9bf0f65c9a9875a36a9d5fd28fb4f63a6dddc265b057022a64eeb59dd45fc34baeb3febb9c04bae59d7ce8fbacf50f704680f6c5ab24d5e43c3fa64845950ca42b6881d51d78674b845f71a823e9a397933b26e7a5529b8eef10fdd5769c67d1a14cf2d95016b80c01d1d6eba803995b42542d233be078e8915702d6253cbb020a9fd549b90c11fab8dbac6025242b8fc78e9c93f6e01ce0fc3e1f2ed9e184e84cbf3a7c83e6b37a43d4e66210f5d40fc4f3718b04dea5ebd54cc9a635bb4ed2a86e19d5d4b5303749cf80c9c19db76547b244ed2421d4566cbceea62cf8cfc1993e6efcdbd6654a02013f21bd3526a80093070ca77cd15568147cb6e400715111edfa287e3d8f3003321c5a059570632e0b5737a8b1de830705bd3179b52efeddc4b4724338b29a73d4760c51a5139a99644b8683f98b57814bdc02b96399c950a0afb82cff8ba9fbb14c8ffc53c6a34f92304f37e8178ac3c348e2a2462c24baa841f0791cf3ae606b70fff42e3f10cb4bd828e53c1e33ac94bee0f95a11b1d63efe31e8e3138937e5f1bc351afb83f08ec20c78c2d868a50329d369c06953d0fd536bfbc3a64006c431e47a36cc3af40a83219c73c482730864e51e5cf47af35f5ce5d758e8812025fe695e3b3e03703959c88d620e4520b16b068618f8cbe3432be34084fb78a8e2804376249c1273ba4fc7867a09b4707c4585c45497e4e362c499a4ada2a0033d60ecbc1bbabe054c474b227da322428c3b36967ce89d123434dd77f78b045451e973627da229f2e32657c4d48093c2873cc9844a191fdbad9301150371c33aeb3278c2bbda872232bb1ad5c633b7d75305af53015fdf9316db31614dca7bd66a262c06450521898e1b1c7b0413ca6638de747b6575ebda96c5c716d3ea286ec13913c9d067a29e10d2572e8b4105fdf5850ecdf7be738aeed2c9dc46beda38d1fa1b00b03439c17e88d5ae527a460ad520d1881255e286f06b513bec1dd0da4e1a9a76c04af451889a677edb6967197946ee8ba6a8377c140bd198f60cbe77e482444de4bf8b65016acfbafa3b1d0d31c8c43eec27d65a4ae730c6bcea1e39ea064c68b41e4ae0174728f023c2330c17f563ad415401e7a4c957c68f9888bdaa8ff654296922ebf5f5a0b3194257ce76aad94f7c7623d8a57a67b407d1c700783d1ae32b98da3df8a1e6d7956b5f008d7c189a515edb11e2fa25157eef8667cd2321b0d6e9c8b88af8213e26660a8584a7edd5eedbbc1c09710d17bc4584bfb0bfc1fe2833cf9f8b45859f6fe53a525517244ea3e03858124cdbc4c4d3d9d924bfa7c208ff98830e1cdecec769872496f4353ae544e6d4e4b90bc4a4854866fd8f28024151b5be8bc799a319982b8e1498fa45cfeb836568c7040df4edbd976007b2528bb1d04f2e653bc8ab13d8b734b7c41eaa45ed546e5e5ee3adde22095bf1ae828c329bcab2d58b9bd974ba36d05cf7574edcc4e7dfdd54ab80d07a68898295f7381ebfd226d1f240c4357743d3c9815bfe0a516173386503bed0cee158834a152321d255d88263f4519a0672e1741f68947296efd1fda1affe6414e2e61c9139441e2288f8a22ec54d3e614bef28cde60eac4a23b61c03e72f23366230d8c670268dafe0282dbc8fb58cf98f4474f5ade072597d462150e4e57f2903b97c73b65ed6bbd2ec537ab8fdcffd3e9ae62f4ebe4ebd0796ef88005d19564141320d5525d7af3faf060d2996894949afa998ecf9ca03ad79f9687c04344bcc4a56f0f081b6c7aa9a338a9a245679146fe7984bcb0db2ce461d765657926210ed5b004214c0cc3251722456b4e2d3bf2f4a7b4e60198797a4f1a0badf7d3fbcd2ba518bb43511803594c37069ae940601e0310195d8c45019b896c50da554c8d7d3d75400985c26f627af98eabf7ebdc65fac68269f552bebb54048083cddfaff62ebbe4cf6e00b5bcc6df9a57200038e250fb6ef54758825e92d3a64d3e100251c32f9869d6ec819dda325ee73ea676d737667363376cc26f09b09ebab724a1dae869d4f73e181c4d3f8a36169c6ec97deecf6470c67904339aaf11f6bed37ba306c820159f7a32ae617d997d30608c3293a8294fcabc5688225781693e56ad44c45911e5f49b00fc82996f308a04f0e7386c87ca4816999516cc21c9e4d87f2beb012f441492f69cadfd42e8c7684e8e1075ac507709036847d9a9ab5b5a8fe38571cfe7a1f6961a1d15c4950df9734deacbd900eef4f4a31e935ff86ea1bda5ea6dd784ed51cecb242b6778f02abb5165ae125c0266c830d46bab8248294f826604d4a01a08418bd4af45c39ada9dd08bc1dd66961932e9b60e5411b4a596bc5fa8c3f5edb482f75bb504f19917fc95d40cfb2646994788ea238989426682a5334daf7e037a6e2e5ff4524b7cbb2d789b22b0fdd6591e1ea93b09aa0c30613183ad1afee7386fa2da17e34854e222004132cf63cc0843181a990bf062170f2e070e025058162cab627dcbe58607462f7c187930c44a62c2fb738b20d28f9bafe27b817adfb18848f72a77ee8b26baa1b057fd09e436639101d824ec0a04e640f65fee477081ec8273eaaac571cec48137b4fe6174231b1e7bcd90478906b01235a015fc969d3397058ce49875c272fbc7f76e6cb4d7d48c1c4f8dadfd5d37bef67eb495d2e521b2ec0b12ac608a6ff3d4d5044d2489e470142e9a2c90a59d24d38963c75ad6d8b58807ebd7963bead6d790d2d23f99366fc105bb54435fb82df29208f60945437c5aeadb7bd11dd28a63887e0654f4456e64624d3bdb97df97c5a21b3e2a1a5de639741aa63860da45876fa3df3176ca46ea7e64419a614ce416cc4d48860d0440ab5b34faee48adb0474ca13732480af55ee6e88895eff1358a0ffffbfcb6014f6e90bc87edac62b95bec4c4ccf68189b554d290e0a8674409a7d2df0b8f891cd6eb168358decc7b0fc222cd333e8fa1ddda17e859a8d1d26e13dbca24f9eb40294132f888eb36b5108451b7703eba261ff82ba8d6d780365fed995d90f3dc270ea4b342b05e476fc05ac2a337b32132c8566941464181ccac337796e0b5416235d34ad50cc7cc5f8eae8ee2ca3f00388ee9823b94de49c468ddf49777d2de8dc32efdb9d8279bdbe81b588849c51d8b11fcac536ad07791d473c788d70cd0a8533be10aff955b9525c8125957b05b179e11ddf312816b007ba40a68a6d09b3a89e1d2412db0533a2cc5a67a8ef72ae9fd8536c10b81a0dade748cb7ff849e37208411630a189108f9fd57e30b6c45337f7f89b8334c2d9baf67b5da62fed80f98b725c20c40a40414eb41f3ce2c882032c8f7a9a1942c65592846ddc1ed280ba32ab44970cf142c6fb4c74c6ee28dc8f222e383f9b5470673a1b015b866be0e0f71b8c4f332c2f2278346508afd715ce0ccb5f6a98c758e50e18d1edf9a8d84b94cf8d6cbc373e93f8c2f46308277da4665b5e520455cfb5b65c057c87ca2b9debb3a0da5a5b997eef05f754285a1902dca8942aaa90141255278477bbf17bec1336867f8f379e27d7e47ded08eb2c5efb43362b40cb2b64af54731c8b817f65e6294ab5027197e73a64f89d61f9b5f1830eff8371a6bbd33292cfa14a3c4313180a7356b31611d6a1b1432d446319bc23da4fefe538ef7df6373b4aa9fa842e12a37555b7ba1f01e00eb93eff9be12ca14e8bbc69dbd12e1c6dd5235c2fe8d15eaf4506c19abd7dab61f402f2083686eea03aaaef6342366e001bb0bceb26d1555ceb3003c07d1d67dc7d28815383a30c96e56b6e83845ffde1dae7ab1e06775279b57aa9766f197c605a8a6ba1780044d9d5e551bbd4b22023b762ee1710e2dc330a34addd81e7bd7a760460a736b656321b5da8d3f328c865aef720a22d7b23c54ac4623b12677b074af7820817ed159402327dc7528d91800c5c461ee49b20051451f3d49628db4e21f501cd9c85fe50df1d21914a7453c4ff95ce4560925a645cc6fbcff514f08c6af9e3c82239f5535306f83a2af38f316437cecce1a32da8ef7a984b91ffeddf8930873660f56fb6d0bf0bcff3eb96201e66692c47d7c2b7788a1cb4ad32a21d498692867168cbf4490f273f84a077aef0d89c4bc4a2fb608a1afe0c29f3228578eb9230f76205f94adaab831ba304646481bcb506a5d4593d828f10d4d4662eac390b9b24b91ce422c1c150964813559204bf73c6e61d700f6906a8d944d50fa016ca1b835401c624c8acbd04121874645ba6bade0f1d964074359caa81cc2722c636cdb01852e7c488ef4f48fb3d674f9bfe2cd471273bb9a9b9b05a0cb4e5da3e8ebd01f3bc37cf86039418e563f31837213f6b87bffc2ad623ef5df22c5b4eaa77ebf462553eb6fe13502caec5e396c5a2d2ff0cee2da07f03fed2f0ef9a05e55f65cdcc9d6c6d828fe159ee558f9ec3866b7b5857d07d261cb551e52b2261c1a45cea3520d10eb02c6c87811e9b5909a32b22f0e2e8de3b98cf9a3fd8445e71b9788f14ba41c45e09488ee31ff92ca30f75c66f2099b107d648131fdd48ead53fded957c518dd782717ef950f55a5115dfd96202ca754c505f44199f845ed1011dc900d0a5dd85008d00f6beed2b2419e9f4142f7dcc9f397f24db72751b00988ae229d84ec32e4a31132ec9a88c71f585fcd05af76a56d52dd1aaf1a5e4d77f13d5a02a20d7d53f6599c8c6ddf1691ed22938feced7f93389565d6688d9f7cbdbc5193b810726caf918bf8782b9f9aa979e4181cf3efb655a3b3ba183958d74e4e6a5cdedd5d1349ed249ce2012f36b1878c24fb5eabc2a0178f655321d7d512845818766853454f201df495bdcd6056f6469153a6a093c6800256cf620bde168f74c1dddc980c540d56b72d9712024bceefc910ad90730c1d3db2a8deff62ce8b7fe15e8df7eb20d20dc52d97433e43990949b2f4244ddf15c7693428f87b86ab5e633f7b01ccc8cd9df9ae82bb8729c9cb33e451012ebe01234f96422b6977afe46237abb1e6f0947d39ad872309779b9f4a769c0d9898ac3d31ee5134182873bcaa9fb42728598bbf31ba0b483193cb465c72b65ed75177f277073a6077b89de96bf95a4338bbaabd61e4a795d2aed6ba62c9670fff52713dc5bc8486c35a865ea395d4251c8b9135ce864f45cd56637e9601a3429a0030e3b6412ced9ab9bcbf56114dc5baf89282031354fcfac31aab2b8019fa251cf67832d8ab2f54fce3a765775aafdbb53ba8bc9f6be2400ccb4b2bb9bd172d863b729b973b714ba2a1e429dd2c8b38f23a7af8aba03f3b525c9d3911959a3d6f28a84d911846d711febb94cca61e5671f8ceb6279bd4b627775ea5b394dd890e6d32036f0083b705e1d8a09dededf1b76fc1977aa0c97ae4efa766c540261ba5174baa59cc0254011d7619b51988a3dfd6fed0bb0bc57f342995cec3181366768370c2f3f0efa73cc136ac252835a90531fab79f9a80d55afc4449d55a62c7a128fa9cc6545e1dd3227a16e35c0368bd6f0131a51e0ea217fe80b8b4da32a647493d04156459a79c921207608fd79aa70fc1fe023854234591c698710ae4889f8c7f44e3c643da5864079ed7dee9c151bd4f32261b110d794d228be2e08d651434f9e4b3eaf583b2f0593b2e530e912193d1dd31adb4bae89e8facc3ea25857308babf785cb8aebf8fd7e904d1eada7a28cf9e353c0001a1286d9c6e4d1a794487cdc10718091186e37f3fecf90f4a44455e004021a97113be8f9f17d1abe5702e8bbbef1e70fcaf5a2e14ea5375cf95cb457dc51976fcca9dc258e85b7a426b55e8ef7c86ac46df0d824848c715082f944cb672c152fc1e7d63f855cee1b2d31d88cdcdd27a6462a1061f9c8596fec67051a9527cf63c2ee1360901423f204d0cc317560089bece5db3a66a6c138dd3e48f9c6320ed69e5b0b8a7df3def81d8eef70469e787902cfac18a17f56187adf6607498fe77000098858b644c546429dbffbbf034d0808796249531ece73684b3777fcaf711267661179bfd755189a146d70d2b16f0ecd9664d3a681f7ea146b7e4e73bcfd368ee60124e77643c4494593ae33afedb8115bd71d10848a7d2cb0ff7217ed315d5c99ffcbbc3c1e6b96d9634bc464ca33e34d7dbd5a2f8f42b3f9fe9b465faf3b944f55c17a8926dc6621e900773db9253ab2482a58ce71d7a23a9e391a9c87d3b7e6fd539baf1c82a583451fe5614c0faa93bac1e163e2a2a1f990dd8f976a55d899551e11626fd8c91133758c9fb8424c7e4463145fa29bbad40dd3fe31faf6f6c48159893daf5a15eb84a0ed89ebdfdd382e4a431f281086e790b4b9b3504522442ba00a9c59c7a7edcddbb43a5871242bf8ca0d94bde07e69563f2364c8f3f6d46f95049886026ec5e8c8413a6239d34bd6c73f976b190679c73120830e4428b3b5fb85d0e13a5db28e0d51ae492d24498e6986d415c855319d0544b22ffd1ef5d9007e5c59b09aeb5e84d87fda5e84629d9e776a480c9848ab96a9ba706fea3f08a492796637a154a49125465cad3068547c5e421eef15dca766c2a3b342789b202028e088c5a473a1b8824104bf8700eb2b41dacf71b826a9210caa3d14286ca52decff1ada7b64ba98b970ab8b43d67f1355c3f105fc4b1ca02ab12913e4a8cf574c375ca2b5d68fb0f80a7351c858e7d029a18829956d532ad5fcd60f14621acf8628dc21a8e1f87b39fe0baa035c14940ed70a3f1b3fada5804f32412551a7f8bd53bd31d882d08355be0e460f6515b94ff6de880f244c3949e363dc7f122f811af0a62433066abf5e1ab9f9bf5f07fec00fef11d5e6e9179986cf59383983dfacb89a974ff01c35c47c3da47e7eea7572bbc25045490fac6bdb6d104227b4cdfa8477bbd27a9693d7238a6294410ed8567134b47563f46b9e73624d71aa799d708e7464c469577481a5e7c23fb1ed8ca325d2b297305489de66fb5fa7e6ba337435dd26d5c79464855e57e0869156c057a781d8ed298c78dafdb96bb2c60055d4fd36e4f357b6cd2051db2de598f56b720b41a9dcf799fc29aaf137d82c0500d81cffbc9347b16501c2ba98240ddc73dd56b24ab96200391d42027386c369ca456336563b02e370f0ff5fd8e9110dabdc3c6297ee1c0641a03b1c14caae3901267a17994a9fdd638ed9c9b02059297278e31491bec40f21684e976c5e6ce322d540941c03acf030a68c185d485f79c3ed77f7e6abd81facebf6d280d3395eea279a7bb5724333016ab99f15ff04f9c2dfc61d0061d72c8cd2196998cd52893e5e3a3f3b484de45743a1c5463b3755ac18cf2ec163cd86fd2512fc9ca90a7d7eb3fa1fb50a645480c041d447e8979eccb5138c6c23b6b78b7db3148723c9e75214445d908e3f0a6d0b12542378f234bdcaf1041a69a86b5ec6f51cd5e5cdf55eefbedfa04e6a35e2cd860095b4efe5ddc9f5212b574d24ee4f14869fcc271d25ef9bbd3c3f1dff6af96a5c6070f77d6723762aff07e8dd21efdfda5f9812de048ceb3c6f9cf9a2b2bf0f88dd7628f941ede342d029640bee6a58f75a4e6c494b4c8fdd662bc9f87580cad0fd25d7dbb2c659806bd0b4cfe3470f5ed4ec21fe3657e9cf1be320508e1fc2bfc3faf740026a0e10d00654bb110bcb6330735a71b339f6de49718a813c7668709b0e3dbccbe07c6789b08a6b1557d89e515004d67b80527bd2aeaa5ec57dc4470c441cf469ccd5e5d23b6137f3b3b7a23eeca92b658db8ac79c403d7368c299bd76e418150af11c78cf23e715cb4dc2c35ea3125300f15bf5c189d78668321ff7b280c2f8d4acf1e4ee7096b6248adc0ccaafadb190e5667acbdcd95f3deb544f0b1f1ce3171c6022090709c51497733ac878138403ace7c52d697a4e5a8746cf62341644495cfe124ba2a75aa1e2a60ec87139f2f297fa9fc32ffc438f73f872eff918d7da41f058bfecc6351f1b9eb627ae81ba4c9d174bbdb20412270bc6455d9eb9803c8d7467b01b57d40c5102ea85bc701b318920b45c2115751d5fa876321d8dfb8fc1a4640398fe7a7616332182936ddc68f6d9ee4fbfaf667ae00879fed211f382c9713c80c6c80ceb8731d90795cd0591ed8db1942bc295b88423b582a944967ad0e2d2eb43a18038b1bfd3abdd0f903b2aa27f484cafad4f37974449e41be0dfcc5e7bcddda94900cb7b0bfae0688575ed5ae9b10446dc032b9aca7d36b590d3022fedb41e0204e319042f834ed22906a5f3cf83353d76efdd1678603c442d65933e5c60d2306454d5addb91024edfe5f94ea37f0221a27dcba423d3d49424265de12a4760b077a381dbb933cc6d9f8c7dfe5e27904130d906e3126c346b32f5b18927b20b7b87531f1e392a81d96e31d5ccfbba437fc2fe23681905f926f88e131e46795f55512c49a47a592202d25831b390abe7fa19c3df2da5fe893d126714df5f58952ed9e27d50dcc87ee252ac6ca1dfb3e2d18300d96dbb8ec4b1d5e190db9dd6d8e2c0e5ad607e519a6b12679891bf6a1c4a8cc70408a59b17fce5df2a3ca920692652be2ba192da4c0fffe41a3806e0350dc572fd1793637ed3c4ccb42240297b6351f7288c659257a7bb2c6763e05b8c65900d1de09d4910b31aead060d1da3c0d7241e107ee7f8932caf3019e7212af500a8bb7ca80b973ec6255865d6b2fb197a19174970b413c2a9a599cc268d5abcf348db149735addff04670263db0b579b477722bce0c8b9ab3456ce54e9f46197e755ccbe8137a2b606dc607b92586972c80da4ec16649c94d834d2442ab4fac8d5108f0f70bbc2e358195679421205b7bcc393da1605303e535f8b0145378346756a27680ea2695f3ecefd7285fd24d55721a01ab655d6fa21a7b36b46460485c7f52a1bcf2194f4a5369cddb6aa3a44514ca00155b442f89827397d33ffe9cc866757f7a6fb3f2341f0bb209b08ce44cbe9c44cf9246bb7cce3876b05e7a0bff10ff11402f565e552f3e06066a5790f0cd8e336900aec6f97169e45198ecf22b7a22d771974edf505b6da571f608bafee84fba4528b66b73b91f3d5efa501ce178a041d9767710afbfe33485322d455425e1edd8da157ce133cafc00d475a5ae63a7498b31fdd9a0651c968b29b10b48888f0d8c7e01cbbc3b6974a73939313fe7923368512b378c9a61e637ad9c54edd26d4b03738af8cef71cb547b334d8a70105be5086517297f4921f84eebae586dfff8cd9605bd5f599f56cc80d14a0c7bd70b0fc99c2973400e740ed2080076b7898d4644ce3f3ded9f3b7319ceac460b46d6715679f5ab17383b685968359c811926348dea7e3a385f0da73b2e5c76ac8b16345df2c916348c05f53b2f1db87355e1be267381c59da9fed05f0bb9b49206abfaef05ece9aedfc06c599d39383733a95a0892e924f68a94421732906300f30eaad68054c1f6f9cf413fe937534ad656f2971d4f6b5f227130ea7fb3514bb0a0f0266f5018585ecef7ad4150b6a657b5f30fccc75bef5443c1fea80837053f0997102ca6c3fef897fde6af309eaf90f45cdbf240f236c677273698d2e06892f831c647ec37b0bba1981a52357890d837b5a61ae54d7041e12b9456ada695818783e5568e2410bcb2fc016c6e6700c2868b809812ff265058d72bb80cd2076ce91406e8db0a5aa82ac4300c56866e726ad1f6638fc85af658bd8cd007546c108775055ff969e12268e45e63dd51e813444591877a6f75abb0476392dcc19d6b00f42959092bfa18c8d2ba3d6d64d67ca9e2bcecd7df6e4f32ceeaa872e3cf8d0ab2b23707b1da4d775c67cb6cfc731a5cd72808401a2cad1e3c4e6c985a6bd91a44ce474cbfea715b0ade57045a43f053088d0014503561f0c92b5464e80a0d94440d48459c59367154a6fc1bdbae4c99623445a65b517e85ade93b4e2b15788aa99b9696305fae24183d002c43c2f2aa7cd3d9045c66a8bdb72d04f8460232f0c41c78b9f9080f0df5bc6cb46a5ab1107c504197fa8c17c9e23a6cf5167d2e638f6d79d2e8d9cff2de77a1677682404d8c10996cbe0491295cea17fa30093dcc21d524bd166fae66a4ae211c610856523856aeeea699c9c90f2b66ae8df2bc20f68d5b4aee3b071a66c51d653e2474dcae95b9223b28ff48cef32747190d8543d7b638530ce32f38ee3567da0e5cb02126d6cd7f766534219b2686208249fd40360403b025c65b0bfba969fb199fe9408bd098412daaa4e58943082f0cdeb84812d0fdfd0e292650a652157f0c7c41bd7dc93229ef5c1acd998cd8b65933a33cd6276754bf9d12b564626e807586a5383853d2b21097452f1abb88b6a134e8a7b70372b0ff8d5d7125cb20213693bf04ab56716e3e64db57a0d7637a0fecc53ae066ff93eb52f1faf5ad371927a227d84e92e52852f155bff187695f651e1fdb1bb7e186ceebf14de36f9c05f86db118778a2778c55d3f156cb13ed90b9fb2d5650f147acf0c43678a1ee95504d60835abbc8ce277303ad6c9d370f1e97440f95526a2e4e5b4f971bc2b3ffb5747d287bd91989bca4aa5a42fc23e04d078696981351be5c638b8d39a5d99031cec92f2de792c882bf8dfe3d94cc5a5bc1efde0022084a600539b2bc56192fd52240fbbc834a4524e64decb80b6ec81aabd0e7207817ba3a13d10698b154218962c38953382987fd0dc22c26ab5a6f34ba3a99e6c5986665ed61ab4ef6a97a24de593bf83efa85f078b81e6dc22115ff3531fd2f6bf3847b520e67a673035cceea5945b6d3db9882074f2817494f2e08d53f5b5bbb4df40ec302873e2bcd485278e8eff7308fc8e10d40ffda2fe518f230fd881b29241401d50c8b4c207f0abff0b10b2527b4ec134d74013fccedb16baf307e59fe5ad895ce8acbaef8babed8ce726a0d9771028ae9638d733be75baaf233437b5405af3d841b99d29484b1fe1be4fe1b9b965d6a0d17f9780932b7762198a69758048c30926d56a8a365dcb1a1215ac25446318fed9c14d206f91a658f388045f22d40c48d1f69533557fa56f72e8f704561b918dc8635b6179c531174bbf9f37678de0ac82884a0f201f417483d9d5456088db3123f7d7a2a86156b637b590e6b0d82502b03ad20f57d8322b4d6987ede6add93b10b790ed6f1de2597c08d8a449c1f17b567eaba4b68ff135f4fe54ed3e1cc63beaaa21491bba732abb795f7be599b0ec6805db41ada882a495248ec389c5e0366b22f2bb0fa8a481ceeb4fa50541bb3031049b8e87ef1affea9b74b2b5346c8a77410d453aa603c2f2a9adf797c4d4b0ea64935196f414ee81a7255bede35079630de032a9281d3ca616e82846711ad401c5b4b31d9b19f0bf775e5496573076aeb12280a2f3a34f9276621d8d66f6594639d69a73ea0db097a4a997e7bc12e3195e49343de5187ab38bb3b645a5b02e9d57151a4d0afd0da2c3c521411147e14dce8b3dc8083cad1231958964faa9948ee7f67c3470f262d2612ecf6bbe7336caf9e7ea9fd387667d320ab5c6791bdb34900854d9d61df2823c6517f4b7c8cd2e266f174b5ef866bc3f5f94a1d25e2c668d93f0b7efd38ce20ee7ccc2010589adb7b7a17f1237b2c312d4ae6b13ea5f9a18594a38fc1f4ebcfddd4f90be1d04269bb945e1986130285079ca3fa92b3cef73d702bfb12a846dd33e165d7a16d4c7cb921bcece5e00393d8baa2eb25148ef0632c2afa19c817b1a46ef85d1b6a7760a5c89de0bdad6e875128627f2237aef79f9b1114651a79237ffadf237962d05ea31b18c1396cede54efe5d7294bcaaf56500257a60858ed3bb0ec11a817f61e6231d9046459b030ec52b151961dbb4307660ca763e0602a340045576c2d66c1fe8af71a9da57be3c4a898d5ed8ce9a134c4cff7e2b8fcdb93fb9aef482fa164247afe96a4c10d16a11c5bc2b11d652a81d204a623edec5e73d38eb6d54e1a451235099dd2beb2743270335fb8159b7b7c46336d1f7cdacff74326977cfb6a48d4e57d0994c8910206e1ef4322c47a106ad1dd4c580e57fad446731ab90f93f3479a6d240bbd61c361c961f81aa7e66adf4f4b3a100dfba101957ec147c9ee5ab68012a5dec3564013076c1f0271fc6320935dc884245a794ca0027816987fd06d5a22ecc625665f501c8757cac6784fda343c0ee1567b27ef031f9cd3474b8dbdc6935535577e6523c232358261c073ab7f5db84aecd383b2c54df18c1692dffc53cfe38e585d1ae523c1da7d44787d12f37180078e4d77c5af9c9187d099c2b73668522b0b203ffb32c0edaa8a6ff27e4bc9b44fbe2ff23fb337fc5302d1f2deaa929cfd289505d87fe68a42040683c74ac11524f852cf41d433edec430f8a8b41d66c6903458bee3a51fce39d857075026c750f46296825757f4b2be559f8a50dbb3cb6f6c9bce164e1090e81a306f494a3b78b728e36e2eff023b1060c9ebd9dbb2de03fefad7ff401484cd2a038cbe9ac177bce8a729f15e23be125752fc1b80f584f54c24e6c345ad1ca5cfc3e1b2aa8daeec7f270a4f4dfa8860d8ee31edea6e9056c42c1d1ca2da83b2c7d84b86d23e208d5390888397a0c0d0ea4ce24ce017e2fb092f436af8c55ac17f8be26b3099b4cc1204be6530c712e7b434fac7c93873236104054b2f4c01db158593b1bcc85c1836b8a776170f5168c948f8253d1d20dc9e9d4e0ead4188a8941f75c7b1f9e799f05f73554ddc6cd86487ae4dfade2488a307a17a7481a6aefe4385564e0b38d5e12c2a75e5269c797e7f312575e3ae95c780ed844c387f856d78b9c2586095c957a6b613abe99891527b53c033131acd2d21bffc324b01b31b58806c3acd29bf36ae312f1023b414a64262daf6ff19473c1cf377754b7b3cc797ac5e5263f57b953e4fc5e72e6e936908ac235e2a9d6cbed1a6ca7b5f04848de083984634df1e7bfb52efe513cfa6842d0eb36bf9a29abbcdeeb896146ce918c022471b406000f8fc41fd30272e18ae1765a9e98e17f8685999a0bcb19aedc2b82f3d98ff571dda02f7001198c7a23dd01ce50a1e1d757dbab5359b298eef895c922496dea1f50cc2ddc36ad503da29c875af255e23c00ff389e91776d853a5d826cdb37bd26e708d530232f9f8e5dcb19e884caf492bb033bb1fa720073a1ed5d4b7f1e34e2eedb0e2b25198dd7b3c3d5fec811edad095f7196b189b90cbd899ee7710de26d03d7141ebc68dc31b32d1cb0fe5bb8db65f5b13fe3c505f4e17acd66141ca92aae9202cd7d6da32ebf4bfe77174feb86d9fbf05e2b7ef29e846d265b3e2ecb93ff1dcc0862978961b6a219df39aae4dc72de1fd0a69f21fff2114c8353000c2a33e7772e3a9ec0aa5d8fbf1a48163537292bbcbeb1467a522b6475f14d74c2fae265b4625c34bdbf91d5bd0fe92d158b92fd9ff7b81289614ddaf58cd1f08a3f8a0923abc8a487f417f120446192f8e67861ff7d5af2b5a0697259d4d63ce0d1bb8ef7ff04c475156514b215617afd6308c75e682a5dfb86b3c85dceb2fe3aae981703376dc1ca48fc6111944bb79d46f1e72f7d13d825f0490cead22f45369af4bc06a18c3846731d8793f6106588c3a5497e2b996ad0b3b1a32d799e062c1fa4ddb03f69e2b2922c90e3ba181e7b70fccbeaa0f61719f9ce23ba62c86387999d52e3ac7a4c299ab63cc21b2731fb2460c3921f1e92f656890f1050b7243753eaa3fd940babb234ac11b415810b030430e0341419a17d83ef7efd6fdeba4a4dd38ad87a97f8e22a20628ab021ff3fc1ebf9db4413f97114274df08b2ff90c09d39cceeb5dd7f2706ba18f82223da14a8850d107b125891fdcc726d49e4f2f499da5aff09dc36166765df1e896c9a97cfda120059c770fe918caa2867b8b7cb9e689ac0d485225689fcdfa201010a34725c1ab684157ce8e7edf7d8b13ec6ec65d9f1d55a499228e2f9729e2311907c32bcfc2917c84aa6654093096c0eeb7e6511a67130adc42d313b088504ebdfdc486854cda238a59c31da7c9b087139050aec3f4ce0565f0e3683bf8556983c568741fb5c9e153a3116f5dfd53f549db1ed8c8b670671d88c56f807c0677d82b07d0df3176df8111e3158b75c43fa4689353d1b32bc59d89522af2f9c746a3ef34bc252d3d463ae8198f76eb68c4d65a9e08f224439b52c51b02abde237406f801dcfa0236675ac1d111831b2c167cb600ea4c6ce5d2845ad2f17a880e3ed37f6dd920ca7b6ea96fd8d7922e2cdb32d9b4a4c43ade6d790d34c6edb61c019d559f9fd66284f801b7c33b1c4fcdf4e330b066a8c75446ccbfee20960a18dfc5412d164af58a183ab8e200ac321c0684d2fef572c45d8280c09b3d5bc0bf17b240cec2ad278cff32b0a121633457d84a293ef8653725d42546443f2b41a0dd66e8beafef42f2ef696e960040f6ef5515d333c57ada593a2725e3cdd48351fd4275bc280b4613461cf3bbaa190ade61bc883fd5272fd7499148117be9a58b5cb75c5761c9528e27fd65bb99f3fcedd82d3ca3501da26314e90547fc744e2bbb7ec06f97786d610709b4a562dcf9971141e32b57ca5e755155adbcb1571c22c21047fc1968ad9172b6ae4b0395f9c8f7b008052eb3a84cd791492ae8bfd165dccfbf9a032ede25689111d6161c138c8507b7fd86b2e7042a04810d06bdeb7725b01d1a6254d36f7a30969c103869d34552ed6e7a519ed6350754cd013b1f0ff1a6db2ab5c6d66c7fa55188ee15014d6db97a494871a4b0d68c503c10a58a00c750bd44fc0a06f18a5c069324802c88e5c332c4082dfdbeccf8bd7bacd8ffabe26b9cd548cd130ab349c5a496e94d9d2add8b129da74ec4d5094f4eb7c841b223d72a0e7b696268795ba38f376bdfe310aa7a558bdb1ce4a65cfef5637e1a052cbca8a330d9307e9de87d2ed066dac6be72451010529b91d4f83126b739065bf36993c66dd589a055ee6fd1f303c7ea10bde1b96021d52d8996b53f881c5bf8d917b10c6e7ca363b3f4330e929656a14f903ca062c7b5366a2df47f0e49434761afd5f11274baf00ad472fa06d3061ac38f9d4dceb2e89fdbcd4ea624649be5ab0c779888b2e337b0ae642a1570a6ec3cf91e3e061ac8ad5fed9af599cd913d8f57b2206761e01b73c1f0e78fe07265c5b07a2989ebd6c5ef0b7ab1ecacf18f8a23af5d8e73539d41911e2495627e4fbd29de85bea381356acad53e0c633fa43cbb95137c4df31dd841db5a2cbae8644d5edb6a375f3a20fdfb84de76ae6f30ad131d331d1dd3f8b5245e4f0ff00acad0d65ad09a0ac97de2bd74daa0d955f4a0e87a12cc042454b0acd8a4231b745528b7419ea0782d636d8e12b8ff83f34bdc0657e75367da6144c6df75980e421ca41338dc6b96572ca1381ce6f1919d62e106d692829be42753664c7dbe63e4e1a8e26f428aaab0b2453d5ad04b9287cc8359e3198b84781a303e09992368e3e3945d985f96cf73a78c50922c5ff17c19d15ae1c339ec2ce7a643801609de7e1d2fbd9b2f3ba83af020daaf0dae58539222cd2b7781ec2c0cb7a855e5a1151d24d53d1523417c2b971ed7896129cb7972c7ad9a82477459375c4186b4c4c66a9bfd08fd6ce5e9812dca9a77a9bbec50adb0dd94b0e88ae89479d0cfc5b453823325e4921103591cde667e3ea4e7deb4b71b88f7b27d222509b3d73886537e3dfb840771ba724297b8fab9ff5e118fe803d28314356b6bdc403adb871b53804923afaf211073fc0b908fa1c6c2059390731a1d6afe9ce6eb3239f78bf91ab531e51725c1b5c63861b17a9d0334a8e49240abfe16c0ddb7e9b7218756be01060509360219c1e20915f531525a851ad6c3b08247843aaa569a57852a5254f5a22ec34f27c06508ecc09d2f7f3c259097a32361fa6cb06173aaf29c12fd2336f72df7fc2b0650ed6113f1d413178e1a5e6b74f5d1cef1686116f57191d9fbc62ab969a23a1d2d54746988b1ef9105799c3f902b82d55b6b9cc8acb23244c968ac7addd9c7ec657b03be98c5839930e76d18c8d2f76c69c535c0fc73da2cbeef02dc3dafd3c5380d6b388382f9369534b019f21435f052d54c40e310a968aefe7334bf6d3176bbcbd1744b663701fb370cd804d59b7212295bfa2c00e56ba34d752a22ab0bd828d25e7edea1639678f6f4e2c57074cc1b90c9061bbba76b469095b5bf18bc2a07fb9d502515dbcc7fece895ae1f8406ef4ecb1fe7c3834121a2a1e7776642aba0d1c1f4a41de25ea1530cb9ff6b4a36e14dd7a95162a28df98a059cf3e33da5e5f2ff3afb224ea2def072f441f132e3a06ae0610eb2582111e1c4e00e9c2fc6075711a3fc112d94e53f3de3de31613230fab97018766db882a68fe3b0dadd65d4466e091577fc2181e66abe23799b9792b978657a2cc1f59ec6006cde1bdb0aea6bc14ed80b41f1e1ed9bcb4136b4b5a1d89b9ab9883a038b95068db7351c2c81f3e1072cc0234c027e68e8e7e3f403b5c6f0d51ab5b4e15e10a660fdbaf927bb8293e7243ff21cd35908eb1a05907324f0ead67ae1920e0177119ec82c076408d829a0fdb25531883f9d9ed582ec569a7f1a8833ae1c2a906baa7462bcf4eb5a2fc5d819f8ec3a4005d25d63642262e84bcb1b92d813cb7f36fcfafe20ca2af6fbbadb11660eca46566d300fe3ae1d20489d86802e13ab4bcd4e24246dac36b01b1f05e1a25b2b38a47097941b46976848f4560926488f8dd705ac8f0a688a8034c37a2903f7500f03a536c980efa9b331757b8f75deb08304638b085945555a1f046160ad728261cea658ec9fa1490d9096a1ffd70ae14e2964761614d37f3e8b457a566c78d64008929fc252e014c06e3ea0826fa866ca84ff15cd1d3c7b3a55e1f5294bfe118429db5d9831297d7b71b6ab9ad1d5e9d517bbd6a37159516def5a02df9dba12536c781c507ffb7fb25a9b8eaa1b3545c049bcb7f1d2e992eb766e9805c0a4c47945c3ead067dbe4217e38c424973af25f3a2f42c788bacb3ebb6fb09324c312d16f02061a08b6628fc822173f74d40264a793761430b97097e2ca7145e31bdf2006379566b72c042d4ba10be9b2f51da172be5bb15e214251ceb59bc751b51c1f09c42388623af2131780239ee8d0f8fe7b1a31b3abb49eaa198db384bbe63dac980a046b74d1bb87979a7ac1e519a18a1ec1dd33db795e311e48f4975a812d76d4f7feadf2063bfd2dcef4c55a6861e139269dd7506cf2eb5bc525903a9bea32f220c2bbffbdb44ee29b8c0fa73bf1c1b3ff69a2aaa0cd5d8582c96efffb9355fe08b9dccc2f70b8f44e9b6640a2fb0b861ec30bcc8564e91798daca752674bd8f6201cea44dd34aabfff410f2c66b70b756334c983f89aabee6399b02a66fd41e4665a1e6903e96a41a3e893651c1d7159f6a5d898a667db2d155b30b2dc38b7e6c07ccda40de07d4f285634c36a7b4ecaa96f658394ba7e89bfe31bf156ba7aae3a7ef3e5f9e266781a6b6b378a0f99c486950189ea6cf713f80eab5e41fdedbed1ec370ba70185baaa038a239e1c14ff611179e41178ee639fba72c19b3a90443af78923c277f3e1af3506dc30911638aa9aad4ae0e63e8087c294474779d6a2ef5b8ecd7364cdf59d18bc00ae231155840ea69eacac81554f177f1960ac17b47a6a37e1d3180db525ba45ff259f96e95e36af678065d0a04e411ee5adc4a946ad23c4689dd1b90b7484df9b880cb93605d631dd2fd918050cd36ca573eb8ee1c0190a00b2743356174c13e23056e5ae62c3369080c44a8c4ddcc4fc0be535bc7904bd7d0786692bfa09a9cf5209285141a5c5ac4e339d36f2ce1b3c5bfcd5d1e701f0a944f701d68082397383b758fbac36c06a1c9889b2d3b408047daa3628467e656ff2772c6f11706b1c9ede44abce047aa817438abc388074bc21fd9147f8ebf196c66662eb79c639a2cab935e8cae472b3175f39e03499404f4c92e27ffdacd51b53586f7559aba5005aa7e634f1d1d1694ffca3a5ef1dcee95412114c77ad84326f0b6ad243128f7cdd31305c0e77828c88c2880606a3c13a73794adcae2aee699eb30ca174d9335745e9e0988cb9b17b03887d13f99c2086165c3b656726e3835e9b97cd029f092daf14e7eed1fb91755cdbb13ce73befb2c77eef460bc24c996c8bf3b3df9f6f723f89fd872f9d397a2edfae148644acdf0d3904e02acf03376ef9de8ff281c1e68937ad3049200453d280f6649177b8a9721335fd2fa80d10fae09d0bcbb1676ce5f554360e869a7877891bbfd1775e02a96975a78b9da0e831dea10d6a62c4b02ca1570198dc34fe0becf21aa426be4c9d32494aa03ab69b85257c9a77438e67bb2aba08227fa20e386fca112f2560ad152e2a03e5602ab428f8abf0c501fd013aaaafa0685467236457eb216d559ae50cbc13316c9cec171da5b5964838c0f4489ea405ba09c64ea11c13802ff3dfb280bf09965c70b0d9c0b716bb48c2eeda64bff9b385fbf6d446cd6eb4454306be4bb3dd9f0b2bf0899fef9358cddd874b65047ec6e30586e038de20bd28eb091561505e49a14d02e68fdfe5dbf1ab8a683632a072bdc4238a73f5ce33fcaf1db5da95a5b0d0089df9f0ec86aa5ff78b1da094285b742376d8cdc4385d3357f4a809c85ab01c50e7e1537340adfe0bddbeb212184596d3e55af06ac23e8cbad2c93c1719d80fe3ce4b13161dbe1397387dd431405d16149f9906197652478e8aa7e03c994284e8aaae523a7e069665df68a40c146ee8882b063d9dd528a4d25f505073de87f4b9f6819be369c616930c66b31bdd6d3fd5e148ff95b59c7be21c27769e94d79c595a5688dd98df64ea6e536ad08c9e905035ca1acc25c5e541aec3f22c86cfed6d7cb2c1ebcad08add442f07890beb7fd752fab57d02513bb667e8a904572f65a206a904a1bb4393576cfdd00d4852c06660812431e9561c8d69215fb7c3d2e89a51252b13983c62a92878c95d61c9163bc77d0c9fa0c6094207d76112cdf7fa88e6444f64ccf746e038d1b342fd3ea4e63ede154f534140bf5da8d9b28e989881bbb978d7c67785a00333ecc02d049ea01a4365de4c8be04d01d932da1ef47ea2c0679cff56d016ac9742b49820249628564bdef7598d56c5d8186a5d7a61b6050ac1f890ca23e05545a89c225993654d23164d12b3d75c42d13b8f4a3c49c79803c6bdc07c7e8b4a3206a9b29704216b32957b8e9c675e568a2caeaf7ec62d1104118adb714875f5bd527327bd2bdc379dd69da84ae20c12115c9c084143c465e8b1e18ca6c8b318fbcc7289ce2642a896b19c45eb3c818a928984b57fbb15d5ab1ff4ae444fae75a72d390976e1453a7738547b833ab03c7f3a11c95ecef1200daf1a6b0c431b9c5e629a0de7a27c3cc678f84493985a48254d12f4133ad3f23babbdb23154e0b7e30f5bb10d6b3124db1a478978ad971c123ca30389d7864c3009b1608defc3f350668477f4ca7b10b26ad11e421e0096bc52ad4beaa1d114d02b03bb278c58a61bb594bd01a1fcc8b969a4616e3a11ef27bb8d845f19e3b5dca4ae773d3bfcfdbc68cd5911b20c86b373fc8ee440f735879d811073915085d356d5bdc218a673d0de4ea7e4f94bc605abbd315005a8fd26fb7aae138379cd3e88f41e2ac119255aa7e97c0e279d77162773db84973cdcf580f73fb61c3f26a2bb18f75b2b49b46a43d6849281252ae9a86a772cd62b42858ddc131de9f7433c50c71b0665c155c54ccb6fc5b7297ef2c90e8b6e5621a5d859e53d9e9f89df655285794ce684766067a687ea7527f4ec814f8dc7210f5186b18caf05d2feb2f6481dd10bf6cd60f219a50a0be7c1b96697222a0a6c65ac970189d2e3fc4fbd5967bceef211571b3a67782020396c46932ce8c5378327bf9108e547d02307655259f5261f6aa50935ec353ca3b0cd145981f8285bdb9e2909e6143a758077304c992fabf05b1730d586b476db487d72eccf78847b650ea652dae317e888fa7e61c2670f266ba962bfb9e16307bc280e7ef0c74cdef33273d757486b6f90f9f554bba18e8eb31400a2fce2758a29487a24eec52a61b17c65e5de49db872d95e16793133c3e86ab58435eb9e68aa4c1ddcf1b7010c9eb45758bf6a4ce419ffe42801d3b82e26c41515d9a2c6af3bec45602d6f8768c82b1b49b4a297916163d08cb0bceb09d979308512e15c8951cc49c443c6f274735df552e5eed753e0dde4d30860a351c461adce483ec9775ba63639063e3b71222b3e362dc495abf43042aad53858898762b1c891963be2063589cea6f936d07a2362771595e103da105a96ec0eb3eb4c031b5de8c109cd96b111fe80dd4c573689b4ea2dde60055e5ec8e272be8c63e6f657b2b9ecfc0fd38712c5ce432135cabec14d62c3ab93f66d1f81466d72b6cbc71393f53cc3ed98d083d6b144f355113e11f9a3de8f4e3b53ebdeb3376929152f0394ddb4f2ffb85436b3e84c60f19e57af1b38410996083b46838dbd7c62861a94bfca8c298396003566a1f927e1e974183ce4c00ccd4f6666374393f21b04d5cd0282573322d47a0d81c9a976c2a0f8e5605607d32527b521ed60557a5b7b39e996cf14a29a87a8658a427030340902c816d2d9dd8070f88157e8b01b858b9c3abe64ea795e9959938c08894e673df914996e69157f24db3bb35f16e30c3a6388a9f585dfded0319581c4cacdd672b621c8f0207489670f845a81f51ce5e55d626b22a782ada78942dd7f9265ab86093ff510d6d15f1a7623896fc6611520aa19523336a5266253c4c572e8438c70a3a172686e4f155e3d03951f5ffb5861006b77b7a3c6d853b5b27574c435194d436b487d8900bd90d4dbfef028c75a880b34b65fe88483579112b11ffea8b9685486a0fe988faa7cc2a21b214a0de21560fdb0403a68f8ea12a9289d8aefdbc885f07c364c009efd789353c0a957b1a7a3d4b38162091c05c136516ab5e50d1f0dfefc58fdf7375e45aa29e184f9ea71e8e2736c72b26da8424a17f1c2912867ced1909c6968d859d5b9afb02acf3b02f7518358a83e46e9f20f0c0894af165bf18b1471ac7c90563ca5067b9bcc7f1c501c48f97068c41af2c50de2c80a5397fca0712ffb35f87320bdacc635813cde17da673948be1e16c3a560260eab39c42205e51ba9c94503ae956bbec15986fa890c7e39dc94772a048c6183571ba0a7d3041e25eb1709a6c1fc2aa13f662f36c3b6c2235a9b9442b7bdc27f5ccb173bcd4a749d6510c887ef864dc8b9f86086a351f4844b7713afed6543f284d49efac8d1c5b53bb56fca7a97ed97cb77c75f1c19c7166f1322140087343bce0e11198b23e961df9b78d89d5980c1295ad5c1beff607399a5a06025b7aa055f2d0a4f23a17e89c5810151e97eb0ca171d23b8016badf68015d0461c7aae4139395a2865be2b36c70b5fe5fb402518bfb7ecb87b5ca18f5c0afcfca5337eeecdc4381407ba0865f3f1b039ecde894a49bce9aecdc7e519c7bd3a7dcd39d86725e3b5f8d4522901e67af18c8703db06010141692278da0939f310b5dafb5da713634b75d33e5a0bfda16149ab64690f566c8402259f30393fdc197da834937a52407d500626018be6fea672736d99ef945f032a238f5f0880cd8dbe20f29c31906716ab969f50ee1115adfbd4d1e03bc0a3c88bddfb9ce5ddbf7efca48ff4d6465339eef4bc709a6bf66720caef3d0c8a78a26bee2aa579fd20ead2a731f4108bb7e69078be32709e5fb32befefe5dd79a6496654b0c465ee32e2738442f84b30753451dc2c7366110b3ba110d12d570057625ba26e51828b8706c617cd8f2711d600a22cc8d0ecc93776f62d528f7810c041a5b11b65527aaa6015a81f8202ecc1c1e63c21aa3c53b59abac4e6e341f8499207790f01c67110c32dc41eadb3a1a3b1c6075b2aefcc3dfeb32c96b317b65218d17dfb9696d2bdca8696ad2402027c86f5ec41d0b44a96b699b5e98d6fccc3d42b42cd2d0acf0d95f48fa1372119c412c0979ba7f831b0ae612bf9629962732cbf4e3a9e153ee74bba99d7cab37429e72c71af21ae21b045e0fd7ec2326603a95788121980c77145e910a0221ff017b827eeb8f18e1c7eba3b0063b280edf14cdafbceeadb218f51a3388fc0646b4857919ba64cd9a041af911a3c4d0942d0cd5e04b53417f589865bff9a647462bb03d42fd527b27b4e451f8f4bedde211fed5c773a88010f8c6049c3ebf3abdc39895a556092075b2106c80cd91f2315600d2304c59be6890b7e42171795da1338fb20a60dde43bd25837d9eda5d730ee89ce70d712ab0fb6cad9cf6b479e4091a37475e081d054e3bef63ce3c21a68e4fc5c331328386713df43c67f45ca95659298153bacdd4484df37afc04e6adf45d2f522388145dca87d591d9e408f6887fa6aa35bcac02c1ae5839485e2ab3815df2581663bb5f79f807934f47e34057d520405b12968959b4fd571d949e5b30643f320f593fc6e34d5c2fe17e4dc3249c9faf376cef24456d2e82b7f4e4a20885ba6af7fc051f721e781127c31d10590b7ab7067d93ecff708dba65dda1ab342a2a22e80b8f03638ccda50618de0f1c90d1bbf5aaf78992cb7dbdf4e3af5f88a7537ae7007f11af5a31673f5553e737e607fad40662bc682a9d336cfd7c4fb7653db045a8f705ffd45dd4c26b2bd9558fb480906bd986447fec74455746f37f9e9c7b9c86c30c490bebf5279e694c6abd3f288ab8109d57bd1824215c4c88a5e2693da3b563ddbfe071708a6fb4882bd5cf18a171afe78c0d7c64783edbeca9b3973c1a1dcd22e243a37af7f1f6b98669a4b1e36f5da3fa75bc8c2b5c7c9344db56fd67a47d8db1da17ea7e85bf225c3c445e4a96327a330894ed106878f9e9d3ad2959a5e142d06cd8f1096dd5a3e07bcb1c5e9f0456784763432fdc8f55ae71ce8ce9288fb2b0dd96a1a28e60bf5a572c14b942dac251a7472c96b7abae03a1953501165205e8c1edec206b295cf0d01b79f5a3675c816ecfb5f0623df7fd998d37ca0c0f4f378840a8dd1212413cf40908edb601ed08203fa2c74beb0c8127f67e0566ac3f8fa9c48819306fcf4fa662cceb5fc574fb9423c8d50ca5fc634af91795e21dbe40a96b779457e10c7d29ec30b17a9af3b48e38fea7651f9ba0b032cfc72f2ab7e1dbaf9d6697414b117e68e1fe5a91b646ebac459e0a4832d1b075f9e2c99a6fa0768b9dac1319642b2fde3b4fb0607182eb0eb2925e022e222e3f7acbbd99bb77bc57fb0e564feb3fde384f422072c2053bdaec95e418b8ee466ba19ce0125fa597142f2c687020cf99d5303c31043fce73c7a609b103f170e6c46aaabfa7ce1a248a7601972bbfafaac1cdd1d43d33c414a1ca326c4d3a65da0059087465f50368465f3f9bc82b0b8e69b0fa060be5af259ecf3e790e38032a12092d92caa439f5b7509eb135e350524bad7081e1ea560cb378f7e4ef883931897d2726d950572c77f493cb8a95fd0e3e84b00401d0d757bb577c458e0ad9ecf8147ad76f951375c56fc5955b5e66cc7ea7812de33b2ef4d8d03446cc7b7cae533cc08da70f7523ab2f4f5159ccf8a26748fbe06d3ffa1ed79743a8eeb6a75fcea5bff611b5a06d0040603aa24fbed65b56bf8355ea501dd6f7b033d870eff9b5ef197b1844713affeb902cbf1c5cc3f77f7bbd80e826ddaa29ed62c277c67a3d4b354a744f4fd3ef791da189366ce71c1ffac57e7d84d3102644edde1f6919be14eaa8807a26ef77ff7d361cc4b2f3ae30e64704ffed5eaf0005402fb7df7e04de4bb19b17cdf5072294d708ea686339defa2be1d226a777cf3e8e93041df5db55886d3b4f12e800e62838de2e7ed40bea7ec016262b232d656928012256570ba0db54906d28d34eb61006aaabb34105280df19b6f86d93d0f6fadbd7ccfcf018a2375cd0d4b0fd57bd483183143b74b13d67259719c43b6ad4cfe26986a53810ec991577fa026345a839027b6a99bffe2c52ed570036426d31898ab144769869edeec7faaa2ddc235d76f5c6ad211dc923e0789416a56b1e7b683966badf53c4419492aab52df77484cb4aabb75638dc8997de8ad35ebd08cab39f12ba789eb082fb495630ffc73da4c950180116115d6b44074a605ba7e5730a53e721de7183247a3fc5ebb622d86b2dbb046ffd380d605605ec1e1341b24a542e65a753f673575dca3306120d4ffbf25bf72f34777df080d6afa3b52e6854edafdaa86dde9d9c187f6d3a97fb9298e959692e26b136be41362e8c9e73b5d55317911ed7b2c77f20889a234535fed864797069e754188e4c79308d05240126ab1bfecc550db138eca43d31cab3d8c463cdcdaea5eff68b2c12729aeb0fec6b6dcf422841860e6a92ce6d019e850f24753e4f9ba156cdc2d0278d1b8bdeac3dd76e733277b668be928c4580d6ce5229eccc0a92220c0bb565338dd4a82c77833a8753cdc601f9ed8d296792ef180e2e865d8810808bcde78edfd9aee9dd829a5a45d92253bdcc34ba06ab069fe10971421668b4a320adfce523415cba3d4c01baea891d74cc25d5f54894d90d18d8a88adae0b72794013ed4bf223425c5df8d4cbf74fe88f08b7235574bf357d75980f07b487a6d192fae034b01966bad6db8c2643b7fdcbbae9926f03ac21d4fc34cee08a29866679ba44ebade0b3fcd8de20e4c80a07a711ea9039dc119a5ab5250cd9061f5c339c5b4df667341ab179bda3b08fc9176665bdbb3ea2e0861d171b747e9d049516175054b94c1cfa9a53798e5ef4398f09d8311b866d3bfffd2fa1676cf673c00df9ec798339595030e9927ce71d763a000b2eda1baf98e6a7ce53f689e11d5e5594da8a9d44c779e4b75b7f0f95800a080b2e923d3afa7672f6637e2aa1e81aad3c2407a33fefee816baeb8607f85210d98f924688012c9ced9c12bc505e42d06959c151905b1b03144cf7470aecbee41f83f3f26716429c9dce3a3e5c5aad360bf48022a1774af00b3bf781a0a650ddac0ec863f7e26e4fe440a4de3294f2bc86045a0f3f7c0b69b39c98ccde6e751b10b48858632befb0b76d8890d57ff39210e7d521a205b601da91d163ade92ae86a1107715c3efae45572c8c1bd6f3556c68f167d513846fea16f0b6a13af2778b3a5d986aff93b01c941c68c55df2c8aa9bcd9b2a22f21fb06e121f9b9178d5ac7a6f3323d31be0315373bbec7e8bf00e4b1c963969ee41ff7783c49c1799867a8b9b4c6a3a25688dd1e9f0f229e94b8359073903777430f7c5ae0f7042de9bc5adaaace132287d80ec5fc95170393a75ee88b2be082671a05d9d3b814ca7cb7860d8f68a89aadafa3a38202ae95e989aa89b71b4bfcaa79c81f3010b4dacbbcdbc90eac3a95aa0eef0e439326845da0d241b066013275ecb8c1127d66f82d5b06c1a0d5579a8886959e4583ff3cd8d685dcfcd008848ef738c0ccdeeb687bd658c7b8f0688ea51cc14da3170228639fc22f25c8c065de3342b79652ac263bf7d097bdf55b1cc770177cacbc67f725804ef5db72f1a1a554a14a3a877ff4bd5eede4bcb130dae8f06e04bbf44d64db6f6c97c93f7d39754334fb85cf1831f87b8d6c1fac0c14e78b221a41c6fe82843ea38c6e149913e5cfbd4a43825d768590c7752111931d33a3e06189d69302bd92d0005645e0cf35fb4ea02b9542477c46c3f53e526a6bcf61a9e96aa1abde7aef5a64498a53d6ec1db97f4fc87b66daf1befd4d417b128291e8d0a03a83477ccd00977cf9ad3b180c2eb1e0fd3e64ce777ce7ac5a2bef16205f3ef78bc0a4974dced2ef926a2af9ad4a509643bed5263a1698ee267a65a35e3a04652ac50babf0b86e982c8e19ddf578f8e0c692d616e8a7f0350e51f72e30b97d6ebdcbc9726fdf4ab6cfa1ebf26b9045e68bb1b2195b996ead90f15ca8f87c7181f42c1a425f149cf4fcaa076faf0c273970c50b1e9fb4be0342927026520ce1f9e372d6058a46a52120f71601314358dac3f7e6e75254d96b8ff35696bd8bc50b91dc5cc06c0f658eb3a4d1d2d959610780efb51cd13dd97c438fee35fdee9fbfebae349b041bd67db79a6c0c4debe7d8165e255f7cf04f07e4f5be9f9bbbb949db1e1245143c2c1a0fb8b3c85b9b264ee00e5fde232faad648c39bf4900d7eecb3cbc72984803833a4d931f0eab0d1385135f8c57685347ac266adc3810e3e7ab40e6f56779c889d70d27bb6154b5c9c8aae834482011974e2fb1c329040aaa2e7d29299f5e7020deed1dbfe220a54826819acf31c1ca3efd8f10962fc2829f49ea32e768f6f7c7d43b22bea98172f61b77beda9855ff0bcb0f74e56d3a545132418ae011b134daa11d43c81d10c29c4fb98cd1c6b49762fecaeb69906c5dd1e3f9aad2ce63b55e99f0c97b25e681a84cae624a3234c612862f3a3c560aace6ca386e0e94b49679f6a0f474fd43a7e1b76a5b79b6c7a9df086eca62b37c8089b4d80317bf11247a992781de7a80854564afd42f46783dde3f7a40887a5ffd74e1400920a3cd5a017a0411e517fe2f4fbb3190725da45859f72ff1c8086abeebca5d13f35c76df61a55e051558077dc2e18dfeed1cdc0cb9ba5537df9fa81e6a80aa0e34c58e868f3c2df00094e18f8c1e80fc0946989b58f47e75bb459c04c4b14b1f32816b8284b840312c013f39c88d4bd45e7e16dbfdeb3843ca9a9d19274fbb4aa1fd4427815b4ad2260ea61d201f99da6ff50d9ada7c3b66ed388f69c5f07209960f69470df86fc62187a17224aff7fc11ba49763fa51b4123bef9eb77defc052c4b430572fe7d63ce55e740412a74f8e70048a9bb123b7bee53a1edd4ae63675addc4befee0fe07d942b8217d2db16bdce1e3db570e4fd24d055902905ac2d9b163c289acdd834d401db57f8bbaffd24b94fd43deeda85efa809724de27d3b841d9c53064a33333fd1c883518da258868f6afc063ee9bcedd465e761b8b87de4749fbb1e0431c2cc2870e112a058adbcac673f310885f750adce4eef5f78ddcf238047367bd148da91ac93bc71e8f4f87b5067587a7c077613d27b98024c032c8e1879a315bf5fd33108ba1354c2cf2cd3434435b9e0509a3b4db6cadf48fef44dd858a89f1f5abeae7acd8f006dc61732e3111c46666e14331bbcc9857ae319c91950c551bc7dafb7980c213e635f9b920ed56e43a8ea78bb992f3a7d5d9960ddd691937c1ffa141ea3f8558b9b3ad8d31e8f65d672f9b4c1f50c393167669db051767c49c8892d3d05c8a99cbc4ccafed86c57084c548cddaf0e4cddf54e1bb46305defb62f84cacfb4b44440a855eb9232996b4da8a3bc89c9c8290f4cdbf66092ed836da0a9040146196bad5bd1725dc98ceb9490733837a3db6cea293fadf3993f8cdce4ca46997b8f06c6a7541aab3d92f58d102fc34e730e754414ec504ed484f617ce8596148ecc575296e823e8dc588a957025fad0b726ed1029a183222457a14bcc043e5c8e9169242612be16c8cc46c708c601de491046c1579daaf73326be3ddce6c6045512436d9267ecf4f591a1f439b6d1287efb97d167d081ea65f225c1c3886ea2de9676e5b3ad78e7effc6899dd8b228b231f285a0ffb1261b15be582af44ad1a8a12f604f50f717aa515fc0cd39c6c5a542298fa4918d04b41e74b1c6090def900ad582e5854719bf56c439c26a21d16af62ed12978b45b99d8288c699057b9d12a461b9473d11ed8328cfdf98eba77b870537fbb833e8c31b82187b9b2a12eddf86acc0f4aedcecc08229718c8e3550ef07b76aa4485ea44358ec51080e87c00da1efe45e8d87ca015d308301093cd1ab9d7c481c9c96a494da791b136c57348f073990b31cb1ebd1f0429aa5d987dedf19db91944974e864c394f190be508f616f16f7fb5ee9526f3bb0dcff0b9ecd7676aa5aca900501c8982b6a896d90bdcd5c98264af7ba970cc50a99440e7d2edcc5f70efc5d9acffbbf238a40f59eda335dce90868626326550b9464def5ff67a5044f49400355ba89b9e0e11a5837e4a752bb43bef7867e107425cc92524b7e19ef41e200c943b29a2457d41f9eb15a16fab65dd351bab7475828f0a71c7350290aec0ec7d526824872d7f8dfa2c32a0970663b3a5afc6a8ead7e02b875d3174f9505e01338d419c733e5160d31b792958d108ff54e65d69b10e609d928b9b7f70175d3884360ab92ebfeaaf07d32c0615e99925315fa53b5abc29d259c0449f8b0935de767ad7eaa4538514d3c798ba38b3298b52b0a7729660257dd2ebcb49a965e78e133aefcdd93b4dc68066402cf43af34d7d619d95e12c0e4d48584f16da19a8e20e08839faa4465793f484115d98685844f181ae63491c6a646f683d7a7d435b50858d21f52a7ca715435fd983b2c0be3c7f6e293744b17f3597b778be90473324904c66dbbd623a967d9a1841acacda2a15c624aedaa1a808923ed55574bb91c17daa1a42d14a1a98db470330a758bbed9c1fbef10e84290d9ae2fae63a963435ee18854d97be57a4524d33e80fca95c5d0e2eec5f76ee5a9a54e8f06bdceb86c8832d5bf074e4f8890ee952e6ed01480cec84049db794ee18020f7dbb7c1d1206165618e0d6c47b1a9620bce7dcc0b54c5b5d040be5ae0bd99fe9abae71067d67ad3d110d9f790f2526c2ea5b8950f7425d788e7662d196d845db2638b7260102029af64788f8468dec27f6ad5bd3c6c737f1686e55e88a2d979e582d09800a223b182c904eb1301a3f85502bce1c722432d2018f752c704792bd977bd77e1b40a326fa509068ce33f0a9f8f77e2eeb0c36664edea31e7517d646651a7317dd691e489c17a09acec3c0d186e6c1b382551259dd2bae2e6bb3118152a5287ca1ac0846fa5321f400b8e13d98e0cd8d3a8ef99182bf7e25b6cce9dc7e25c85792dac1bbb768e6f31a055b453087399aff4586addccb393497268c272658891c0c5aba08db4f01314c8a7b024ccd5eaa89d99c8045d8af94afdf889e1a6a3c08dc2dfc49175db6836d029c0fa87cd5e88470d8a466a368da9f9bcfe879fcb232669d954a5d3ee1190be79b0ce3b452f2e567c384a9d690c756f690582454ae75ff8de1a5cb102a09f0a0edce10518cab45e8b328d76440165b3e2f7201e981e69886fdb11c4285aeedbd1c671f8292230c85518ff98a8cb07f80c28fecacab52dbd611f02e582d24deebfe95a10bf109bbad0c89c9de481fe70342bccd696014ac3f24135413814e9bcf14e854ece60189d7fe4be2053833170e870d37e1bdcd3b06f5e41c60ef6ba1aa351ee0d113056183884fffea38db708583a93820688f7b241c945d6bac1bb1ec8527d0afb6cdb7dde631c87a5c3bdceff95df4a0c4e290548ce090f9eb199617b0e562e37835434193d9b025434f377ba56ea3c59f477ad091649b8127ea7100475bfd26379364ff249e03ef421111a3f2c52110efde6746b356da69980f6b1f361bd5c908910d9ac26c13f06cc9768b38e650a07bc398b7df8f08e5a31f8c30aea5d456a14ac55b5f9244b6424a83df3ce329075980101b78b87f1d44f9e7e36b4bd133b2311b0049cf7ee09fd2a43d12462904d7003b417b10151328299168478baf5a6b427e6a17ddc2edb2ee2aca79fdaf14f84473198aa7544b0b8caa5f341cf294188a0b9a6eb45565c8bcc30b629f42af47cca7411cf9295129e49472c2951f1220ae14ee95477fd03682806ed8ed41306af2526f714800807686013420e5260f6046226a154040e2faef06975d48f5de7690bf43b4c663355c8ca0f95b6ac357a18e006b41e8d7eef137bc4e28461320132bdd5ea296c13b1443a7d5d77e832599a643a3e185dda56adc62b77c279142e6ee6abde55a44b855256d770648d7b615b11526e83386690e9af67a62c40937d4cfd74bd7e55093e800415a0fa08740825ddb3ef627cf073a00058999fcc181f64ae29ea5043df2c1c52a3e248f39209dbe942018a173c9e0b606efd4a59e4a6e41d9cad83402636d091f17beb5e895d857506dd973981b160be3eea9e9f184586eb1588823d9487307c421573864a671fb4fbf5f5bca3d00e4d323f525bb35b684fef56c011371c3b0b7335fc21bc1df551dbcfb260e09a8d116b0c3045aeff4bc3a1c038fd06924e69c6d1e28c9c852eac96816fbf4415e34fd9acdb0760ffa572b8a9bc76759b8a66bdc596499e3ffaf6f4f439497d5ab6a41ef020f2d1f2a4f6562dbf5d826fa0297208d81b4744e8588ad2a5bcfe01ba75a1b02f6eb25c57fcf1a9decd7693eb8d6fb0523202bf51d199c21fdc6320aa27fd9809bfe6c40694b7307c8c4a70315ff3f2c27e218c580245d92b629e9dfa3bd5931dc2d2c6a3cce7179e048399085534a5084418e42c6826491a12cdba2180767a416fc2eefd672915a5170510b9dc46f8e1f0aa47307fb2918ba6b5dc470778e3495ff6da259aee7ba17700bc219d528ae961899d821adc676b19ded9241179fa8bdf7dd0406d8da3815d16f153dc87fec8ed9a5711343a6051ae4eb070b907c3dd4ab4a71104679cfa473d9981a1de9450608eb74d4e414ddbb5934f33745f585dbaa7407576f4a8bbd2a257303f4cc0669e28a45a3164840f243d1d45ce7d53efd9d3d4834f09a90d4acf9fbc92115558c6d4cc1b648b578bfb9a460c68b84ffb3c01102b0ea4ad2af61e9fe34833a376c61aa93208db9ca234ca96a8083b71aec4b9575a81b862df9edf94cecd407a30fa9a4fd0f81a506ba2b6cb2519c7c509364e87e1c87a980f1212f19ca9620afe8da76ca304cfa4dfc8a7565142443438ffd5731dff6b3d18dc3b2c04ee62dced9b8b0de80038144b39e7dd40d527e71d98cccc7668ae87cfa7fa116c6558f61a4e57124737f779b675ad66bb7661ce7c0e4ee04733517c27ecfb77365f741ca0e7a4af231ae9b8096fb1b5aa1d1c203b2d1be80e4e2cd175f4c73734efaa9751ddb7b987193ee4760f09ddde3ff318f04dc552ebcb022f8dd9f971935bb867e902dd3bc653c9264062fc20dbf1faeb3534e2561cb968bf3cb4e287d0a71c6c26f82b5996633f0e754fa50c29e7da69152a55c9274f2e35b9aebae5cb8ae9f5bba84a970ccb7a962dc5ce31df4966825411abd3fe5c006e25db0970719819ce34d36f637efa330633c0b7297311c65a655c0f907d9f08e7aa5d6962adfcadbbeae01ba209d08e0d403112b2933a8ec5646206178ffa9978ff03f4ae3d17f3ff11a78cae07b6ce3f258878a2080d04e8c01e071a226a95fea3d4450a1f2fbba1cc0fdb9d363146257bc3ff35cf9c5258c8cf0fd4790985be6db4f1f4616859029d260b5d4f9def1328dca2eabfc2fd5372d9d83cd1b7ac528c2564c6c66529d33c46f3a32a64f86b367cb650253f0bad7c7ea98b11f9a327718a63c7b4c56ad8c74922ea0c2866a1db2c0917e945f2403d35f66efd6cd851da02fd008038c032b1b38522e889b750ef0b5411b2e2207a5f501935850a4c430d3dd3929eab23e87e4e5fa4dc760c8978539a3ef3a00b42b007b5203659922959dd8498469e04b815b9e75ac3f7f05765cc2344532d215f9f20ac6066d83e30265b00c9357a016d265c017fd7cae084baa98628b75be235c2abb5baab6b52bb5150693644596f4af4618cac037034b1fd1b53086c96a2c2daace22ab57138129dd426889b721ddfb702a3d2b5a257f007beb2f10dc1838dc5b13dd1287c239e8ea6f9989af88391151ab712cbf145467fbecc3c8851513f9f556451288e930aeccb759929d6c42fcf6b87be705d61e937abb7f1ab0f79dc2f4ad99715e52d1c344a87b52ef528084df622a071698afa4257c80d1c0f548737fd707a22b173a2cb8487016c2521d410f2d94ccea02cd2aae951d5e7f6cdd368055df222eb67daaeed77069142575d1df76b41b7c2cdbacb8380420138c44e73f3f8ef9aeefe7899009a9238c424b5c0e19f686967d1d7b95555d5c222769c844a90bd2334907602ced4b4696a1c1bc5308774e8249e30cd8e641abf1c9976de88be4045d49100bf677abc7d034a8f6396eb8ffd113851a485b42d6e068401ba3d6468144e20777415aee7fc3327f9a60a221e4325ec37f196c7e71e0addadc600ddfec5d5353d96204416f8ac98da42f2ff3a7cbe1fe2f83e53de7f4fdf659df93c8340320a784b1de5301ddb2fec994ea2d63aadbc2737da2681bf52b0434edc188a2c7c803bf1ec77ae984030fcf921ef5d60d3e4d15d735d025f8cc90fb39e861188f9e91bc68bc13272419014e360985123c71ad8ad6b38aaa55018898c5314e320c5ddfcf748317fc3ed5cef8e3df9cbddb7d322f157d2c25eb30d8be823f7abd3621c2735ffb7caab5d8fb0e1b414faca049a903567a5f069490884f899727fcc5d20752e38dbb4ff491b43fdb595cc4e4ef67f155f246aef630b2ad12a2063235b988e63b03e21146b6f6b785b73c86f4342e212acff724cb15c0de1eade5711a308ae31c34c1de9eadb3caa615087d30092b0913169ac027a0b3dc5a95f6243031b1e4d76d883f79f49340efa2920fbc4645776f7b1f02eea743c1f92277c5478c3336a6bf85e4838f7d3a2e2abd17ed2c953d480cf57f911aa7f53a7cd1be68e2f3b21f85b5f3811739e2fe76f89773da175cb3b6a8f46a8b041602a76129c9dc85be026686ece95e8fc59457a16fc2707b59e0805c1c73955dba86c50e2f2b481d0648de14031480dad31ccce82a2a7c0d10fbca766fcd8c5ae262178029d210607e2e6fe6329ba321c3ef03586d2aab5a359bbd08f2afdd6b2c3d059a8459eb6fa763de53517a78752e1ccf0e16ac3fadf797d5d46779b06905467f67a73a3d745c1564dd6f3cd0185ef20eff36cde5e382d1104d4448b7d4b059ec8a2e7b8f7aa9a9252d9b0cbe8aec18ad31833182e491bd0db7c94f4cd5466223e233c7f42fadcf2c489eb72a36ac58669c10c8ec5f07d5c046ca74b2e123bbdbdc3568ee6083ca4fac88fbeeb1fae2ede73842a5a1e01ac34e421d7dddcbdcfcda55b18466d9f928e8cc251f66f1db541756b7575ace28dc0834e6d91e987d99b4714a86e7e004afd54c90352306eb58ae733faa99b145700a3d93a37cf530e62ce2e8f9af40648d517ae405a073d1be1044b3d7be338f0bb5c508174da2ae9b9d46bdf617c8eb61f3bf6eb00e4dd9bd3c3883c55d3ed1ad39b9e7193f882503ee110c7ed1b0669460e37ec4c886026a1eb760ba7991a4eacb90a6e66dcec53499cdd78e9742c9471cd66a7936478693b98a86cea9fb5e5556e2127e80bb2b707e117377f2dbc3d39a9f62a998cdc652cfcab2d5b1b190fbd7771cfb6be5d089e8cc621a83e433efc1666e8656a3ee69ae08f42f15be37b333c3917114ecb6da0006ae218bd147d329dee95fa9e26105160fd901a59eba5228db6c2a65752acf48a685df130999636f28609783022defe5dc871866ae56b1c5a2666b339afb37bed61c6fe277fcbdce356a0fc766d32ece4a07807b0b959c2148a9af71f1caaecbea05913ca068c7375cec7e6ea9801265c05a056333ccb2f4aaf1c9b9bc29bc8e02ebf4e9099ec02d0b650f97be3797874e070d44967942abd5b7823aeb07d22e7ff96f5157d0e425a9368429fb69e0ec8d30429ec615ec06b8b643abafc6557a425319047063b5274d5fa2ed0ee6a1166c85a2aaf9e0b165b2837a286742b560b00946d3129ebab322d163a8077b2fab02b2096ab149017c12cbbb38ae9c033a0eba043809b17f17f604298ac447d9e50c1622190cc89891f962e58c7b3aa24f26c586f742372aadc6efef260aca05db349217e7c5836e70dd66cd84ba124c01eb3eb3e3c45dc1c9e296544aef752ecd04c9067810807836d9b57643304affbf059de2465952c81e8cf4b20150940ff87a446c308c0bc4304058dd290385b3b763d22e669925664ddb92de75513406619d818148ade434b981fb2cc506f36840a0940a307727904c2b5d27e2f785650904bf255eb5822fe96f9484f24efb6c6d084aa4d4026b750642cd72145ffaa4d1cf0053c963ed09dab94438465ee1b2b159c805508634c4ef04750e16eff85f8869157500a09ad29f5f395e7f3bc41a484b76785b956572bd44fea8596e7d94faf98917757293430021348b6f00acc0558bdba724b120558b6350a91185f5255b5fc23522e940681685dcc8445e29a7cfb2cdd14b97eb6418183a23f85156a718118b7430ec80996fd0d1a3de865c6ba426a9e48ec212a132dd0e5c99e571e8ab9b971de7757d32650685dc82b527b03b09383fe2553b4ca3f738cd2b11af3594573690a42cc9a0977e3cd0160dabe1f99a037d7969634e9aeb33581290d4c87f4ecd8db9116c1fa3b978fd5e74f1748b52922be710f32d968830a819f3fde287ebdb8ed7cfe3f6aa1b9dcf50869fbaa1fe66b65b8aabb7e037897616dc205537e10be314897e0108449c83e62234c07b221215e32bce11db6bf1a313602972ed5ed6ba32a583d9625fe5af98174906809286f3e056380b108ff7328f1fdfe241b170fdcc758bc7e35505706a0d15437584e88e58f02f704aaa3c870e05066c6ac23076227db2566660bddc0f8316f1685173f67e531993fe16da9523d03d123c778cb73d0440b811e89d955eddd312bf3c28e29731bee002c6df4a8e4dc51c03fc8606178fb8a4a8a73e604af5bfb07e872a72ab74e0e61c22168237e234447d04ad231635d2e4225f39bbefd1be8a3a142d308e6c7dab9f81ecf8b956f4355efb485a98be5fcbf36cf523893ba7131844187b6a2ce7fe0a77500357d50c06a1aa5e96a1749be1d3e9d49006a41f213ac048b01f485de5d3aa4059846c151aea5b2da5030d9dae585f7c38fbb99453ed9021a7ff6a4e23991cbf8967cfc92094b6a6062473ecae87b173d3f683d07e14ebfdb4b4d4693d3d834d313244a3bece8de0ece28975b781d7b538952ef4b1acbe47e3d014abc787d9117ce5800cc6d591c384ca90c34673ce0133534cfe2ede07fe54f7c505c3bf896267f681b2499b54f304a31c9cf5552d6b9f452cdccba0fe3f188b5c98e3a68377f5071040ac40514a408e17ebc8da6e59ff7720404086da797cb2ca3aeb4143f5739fb61d94c15986ff91218beca5dfcdd33374e167087000e32148450ed1bc57a0b840d91b5ecc1567ed78c762c91359c22c465696463e439ae3ff4ed89b242b373b91d09952d73fe0d9dbfe40f3d269fc901bfd72c76f59136b42edac0eaa2cf8f3ebf749890e10fd5107c2fc89403537a0e694444814c73f074810cf15ddb9b03bd87ddb9e3dc94e874884220516618301b66c1053fbbb4f31a3e0b845c3494189c04d618210b8ac3e245cda726fd794064dfeb5d24ee8d907bd2d3056b3cd2f49287a808cc87a5ff9ebc1d2c6da93b77eedfd88d9e53192890fdbba982665109093fd812dfaa63789e4dfd18713405f7062d40d78f11161bebbdc88552d845523a8f1d1580cf67a73fce45f4847d41983742ee2115b492dbd432adca19c29a8d3ecb989cb1a350b78fe727e222b2ce054de0aa5be256efc2f036ea1afdacfa7dbaabd4682b0a852df12c9f5c497dab046cead2437560cad1b3e3781a3f4296e54949fd2273b578b80b619001cb79059c6e64d964deb1e069f0549596cad3f8bc2faa0a4c0dbe6b93599762c77a17e65cdafff31263ed942ec5024c9f2bd63682101b3411af088e02a52b7502e5160e9d6828bf2016f4daa2c9749f7250f05676b8c1c236ee5a151a7ad0ef54c08f686705f7ed419bdd01199f802ef6bd9be6bd58c08748043e48f94269e1d6fc09eb701efcded05f9695d15af82807754ada0b8646d87e77bf156290ac9b27ccd3ac11acd31ee1cee30c288e0cccaafece410b02e81e5c83fc69e4bcab3d86c2646386b6a7bbd66ac16260c5ad21042b8d105f7ecbf60ca0f907f1d4f470f198b3c8dff2e85bd3641acef16d76764f4a66eddf84cd0e1106cf37c7a15ec1ca002926a57afd92c5cacbc0a01f60a8ab7a80a78d2936330da50e02faa8d73757f22d96ff5bcbeeb79c1bf8f6a70d53969febbe4c10b73b1cff514607bf35912ca325b84aa75ce7bcd7f52270c85aa23ea821f6f2230160ae497e3de56a15f47b5c8c5250843da027d2c1b167df0b2f0205850a211964da11e5c67dc34a0f2f60a491603f90759c2016c732fc56538c2d3f75fb527b479f1df6626f43e7b72e3802f31efb0efd51a77e3e54a7b3b02dcfc1fbad3720471778d838d29482ce64332b8f81d65199863c9fee8356bb942d8ee6b47e1c89d4df9eeee9ed694c949d625bd344c9656edde18e4427f0c7cf6930352df7038e3ce3075af570cee821456e82daa42c61b70e6c6862594f60e893a26c11598ace98c4d2c15b6e80db16293447274f881e7fc658a0cac5009425a651561140044998957dc5950693f5f7aa340fd7df9f8bf51d99fac9eb5da7780fb360d0f2835059c562eb3f4f824d9685c510098065d50ebf2b07ac0a5d4f4b33b1b6c33dd2f6e724212741ce35ad0b606e3f199efd62c3cdcdf5f271adb231a9c0d08557b82fcce541b669c63638ac4bc399333011b9d913324b325e8a652c6d9cd5e374b5fff3f892a06646b00a766072f50ae804a894fa9ed331d488b9694ff307fb4ce1715e31f9f1d909db5a6d371a7f43d89c58d1c882842db4151d302ae78f40e2abd05ca2e0bcf545b7ac4dd34fb293068f94b49787582e2e07ae85215ef22a359f23411b0e3e4cb0af32f1d8f0cec3d4765e723204cd6abe2193129e477538306bba3a1521169a8b061a91b7ba413921bc951232a6c1b3a9a34695f0074a022e541a38848bce304bed847ea7d443c8a3e482f9d65bf1b40f8ee925a1847a79a65f45c5b82094fe1ae871e57bec2fd860561a19ad25b83c47f5cbc6bbd9e2eea1d292dcdd3925e03e92f527dea810a6a8b10a645272cf063c869955b101e400087706de3c99c3859136aea5ac76dca3d2fda89ba6d5baf13ebb5bb53ddc6e993d61e2c8740173208b10779529157b8bb9099d585c6a0511acedca077375bac8f6df9ce6c85557f61648c81ea6bf9e4295fed728fc34ad9b6e515177bd0826938c9c405980f0972c43460950edb3f630550ef095494fb51488cbbccfd16cfea3ebaf94fde9c4b15e243d1cd90c2a62b0ea4a94a721b0eefa18ca71b0ccd87f758479db3bd1958e5f0bd5fb8b2cb5984513087707e83e3456689b9103e0a8c8a54ec5c8c3afe1cd757fd6b4915945b0627b966003568811efb8ce3c3a528713494044fe8babb9fb6070cf396207123e631b11e1f461447ffef88e59dda269244f8d6b9e00a212efcc7a1018c553c8e2cde8e5d618a15683393fd351f53e2c403798daa1bd488b7bc4a33207c65f7f17dd28d50ae1793ce22d101b9ef1eef5cec08c4feaed4c1d8e8a7f73f8a1dc146839d5b5799a77df3c7c405aede1fdde26c1275f9029d554acef231efdea05f1356f116e9557865fa4243ce6badd05360ec66cb910f5b0b5f9abc107ac43d1ec3df00ab8c9beb3f86f2dfb43c90312375a25bbf1830a9977979a9da023186bd1568beb20942bd9aa8946d6a889e5201ed406a17369720f9fdc4ba9ed6ae5c91bc47565f530eea82e4091bdb27e4b15c86844b46e4bba6d4013e925e3f20fa0a771274f15ba62e6bd0564b63faca9bf09d5b4a8fe693783c1624a5d16e1171d319fc4e0ef8d1ee8a059485735a537a7bb297104cd3aa4169a613f61cb747454455a8245427aba1edb724725012823e7e8f7f6c44205364a9bdb1210f7a7085acd7721bac361ae970422bcd78fc24293c79de51d97b20ab4c1fce97e75c3bbe69497ce1c50edaaafc337b12c88c3399c1bbb6388bc41e6f7962a1feb9171ffd0f599cc122ed34570db14e81635cc63bd672b06af999dc56cd232e2b5f78f009dce9dd04d1d4a09cefe0d435c13b454d6d78dbc92125b27eac595f3742ea4a3cf26e59cffd385d6a2c1bd9cdb72e2d929dbee60b5a1cdb9e70ccb0465318e192a18fc9320879a490326d1fa3b6214628afc36e029d2a64c83214b9ffbe1ff6b108d22e8905cd183288a3c341075962053df37e05f7ab754631a6d0b43494ed3b059ba6329cc0805c19945718314d40ba6f130c33478f074fff1c182d348189ba1c1f76e28d5039be3915ef5616739b4952e8e887e6974adc18e1d0492539c45d1fbeaea439b23418be31641722ea9ce76dd2a9b4b6cc8232ee3358b1de0b9188f80e8e826b6e05abccb82b5820a984210c8aa24fdc4f4b12fba1f2829ad260b2aa699efbe21dc49d062296259fbaf4f37ad96b6dcf64a62ad1664f1b8fdaf1e5f0938abbed9d44076aa27f85c137398e9900b78a6fb201af8145df1a0590c0372d3e62c03cd9819c7ab421e110888c1e2071b4c186ce15887cb8e69aed2acc04de3085608f2185e445a38e9302b8ce408c3868ce6b5ee1295e4aaf66616cf9f94dc576890bf2a399a4f9054468b52b208c48caecca2775878800062f8ff89fc040c9beafeae4aaefca9f92c791c0ec797e1a651716d246e7e01abda06fc879131c66e0a753df28ac9d8b70765041f5bcc68199d2a6bc5d5c90b2c22346af567dd290518072c64f2d32d93aad1f2a4a5e4b711083b2860d360cc8660874dc1a8040223c24101848f3887f5f06b7b286e3534aa2a7f45f9c634b6b13c1bd9e2f8577d9f2418b72a5ff5a1eaaf125c163b3bbd315e43501eea481310e3b26d4b4fb255f805edc7279be07d0a675a3b6a4097b165607e93dce71c873af73e31cc6005abfb856e1210d641005310f2e4c6a68838198b3a1f10bb6a62e7e29fbf96c70f731f570b4d8aa132ea6309522311777d709b1b3c36c258d89e6f76db783a3b03d9133616a0ce6ed8c6d0ae164baa8260a27626a01db12656219d840c24e2db0278046ebf4cb0bfc4b33a9020283f98cbcbd0fb49813ec58eba327538f9341d1dd58975fae65e61d226412eccb67c63ee8d2ed2654108fd144accb698e8c8c7886fda326124cb73383fad05e5370ea9df21dafc637f47da66dfbf9e9ffcdb006accbab4def237b60c7717e9a007e01e92611f30bb84dfba3a8ff64473c6ecdafc6b736572515cc4c97dcea77a56a30e1ab5cef59f6b016f814b98b5a4ece82d649aac026ea1cc2e8ffee8b8783e0c9dbb9e43f8a056be090bdf9d36f1ec3c94bac3e6bb0bc84af808b7aa01b11442b93651009ae799027ba64ca6155414ece017466d6d1194f751968cd676b7b002c156cd654b6e3eee012403d194df2fa2f0a298a6b49bebc5a9c3993a735eabb9478358d5dde2d5be9ff1d21f06b7d2cb83a5d6ec2f7c26545d421288966acf935b4e2b892a7e4dffb2e1ec93c8a5af8fc91ddd7ca1f76ac91e9c67e13e29fa2bd3d74d5f6bd9b373deecc5ebc35f053b8db5e2d326bb3218eceda979adf52e3809407c73233276519a20cb49af23334293717cbb46e3cba19c2fc27a49961d842b705a7783eb9a35998ada6d982e8f11e6be37136247858f15d7051a1147b85bded34cbbf5f90cf0df10b88e7a51a4a84a7dfa1db67f4d66d5f0e10772a7a9edb1603c0e832bb157653920ab5ad280cb47c4467ed7bfdb45fc050a48a7c92be77c2b5cc0958633d2a3b8413d84c14ee42fa929f551e3df4aa4e39d8eeb536f3a3fe317f318008c6b654a03ad547d89103ddbdf9703603823f782dfedbc81a96fba940b851524980b7f9c152b2ab48e6cb2ed1d66955b1f089222a05501ed2879f59aa2299f435e56f0135e193ce71415ceb6409f91bb601c97c692d97ba7abe1e6d349c644a73c74c1bd6d93d1c3306e8622f87af33c879317b01d0c0e6955e70554d6153386b1a5605e151be1cba821b0ec3ad36f9fcfa8dc7a1db854514ade4093a1ff80faabea2ddcb80710d04f3e4de291f206ea01591c3d356b9f5093638479f8f67bc90356597e569dd35f2d5cd78b059938905a50b7b99cf6c8e9bcdb1fa47cd7ec6fed521f98c94612cf6d88b5288e10a0bc864e2e8ab32139d8c47cce2ebeba2745cf5fe36cf97444680bc40721dfceeeeb0c7e114dd5dc5ffb30def9eb7009fc5c085baf99977ae243c72256acab28b9ec9b0f5c6db4e61f2d968bfb094ee102a881c1659151e56a41bab6a62c601d73663bdf7acaadd4572a701dcea36ad05e14362b559b0059cd5b9cbce614ff205dc98f566763912d16d976687d0a6b46ea012a2a7d82dcdd52fbfc33104de6bd21b8d44e2a3be9dbca3d6f0430eb48e145d0ee2439919ca08c807f74add84dd4d7aa67c8bd670a2dec880892403718e792e99982d233c712d11d08da675baa593569936c4ad5cf2e98f598f3ec252022634aa76d8c22e9ffe849ef10a7b1e4e83ded095534bb707ff749a0a56d5eefab7864db89280d4b982bcb165784df77b72cf9ae099d5a24481cba56ca283faf01c710624c49fb401a111e6fdbd0367ad326f7a59094e320de0306abdf3fb0e681d38658eaa614ca4ad0cfb17572e43cf68d09fbdd4dd5381efc8b78b69b774d889c13c196d5d2300c781f322ebe7281d74f3d49070665106985af94831b7e5f7ae990fda560976811b476aad339dce578b23602564899893be6c29da2587c88ad439667428eb8073607d6faa0e555b820a6dc6386a60ca752fee22b2a1ada28ab23655b6caf74c31ccd340fdd428b56baa624a4937923658c99aca9e539f4338d5c9625c949585cd212d04ac209cf53f6705876064b36b9d69e4e628cca5a4373c3aef2c37673454c96f11e5750554cc543987a02fea3a7c2214e8367eb9c99e7ba308cd26b26ad317e60fd59a2b33244b1f47b5d486f12f6f9c92625eda563978bdaf54484cd6d9f56f048bc6c154d696b35001140131162e4d1ade9fb68f34f80687f2b1845a422ecf9cab4476253fcd4f4c0b8e843883b8d61b78c962891b772baa9887000cedf1ce42a0803d871e9cc784de5418af2980a255234087e9f5fa9a0e79fef4367091f1b80b4af8b20d128844ee56ec1152eb06c707ceabcb524ea54e6cb6d11d6992154912d670e33bfc2f7609ddd547fc99f3af83f6c9359c7f9406fa792a81ad14c25e1c5287a60e868bfbc1fae818f50a6ad0f00ac4beb9acfae024d9a2665cd335305ca4cbad042a6769a93b0ecb4f18eb7849451762776d2724594e10fc4a885a526b76559771337ec46ef13e13e7e998662908dc97bbc4f7871a18242d326beaf62ba7ce663a4b2ef9ee3d67b3baaa2dd5dcbabe45a907a44b1429b6a254cd24aaf679239e65285bda68699afc95d00ebb3df61ead812ec9c6050a98c55e8ae632bef1e94fb60919ee7f0ed773567ebb42e09dac51fd6ddaa17c479750d0fe499683853e1821f55cd2aec6a0f0ed5aa19152dd1218b94adb21157bf7d563e6283f531def888440f77d4a4bc0f166fe657b340e15873582c22c0bcc229cf81504cafbf14c2aee87efff7d283a1bfffde6d4172197f645b3f14e812b58926b0f45442b4a992879fd0e6f436db832f54be2bfe6c69cfab55c33fcf6d6949c1e5d3870f792d5a1f7ae7bac59a7de999815c36dcd4ab049ddac175495149dcf04c874f325c6da36c13c3c12fd460027f1330288740dfc3aca5752775e69584f85a42dcab8d89f76929ed81545451314dd1ccbeffa2f53f736a281d7898f59091a600e3722fe25771791b9b91286bafc6263e45fbe01b4d0544da1127c729fa9bbf49c72ddb33a5cf097c19a58960a28072385ae95d9a04f99f31648294f2926e1304340aac15b1deb787d81558f87fdffa375baa0cc14c4afbf40cf37646a1348c421e525c2b669e87e063cfa86cfffcbd132eccf6e4961b092986d69dda5cee9ccb42c18733164115fed4ef31c0ada38ec056addda0461d81bf6eb795726fcd37105fbd2a5ce6e88b8c73d8023b6b3f1c96148e2aec1e5a01565fb3f4b17f404d73f261f12e69ee395259b1e4156109916d7a8f5a06b83b6d698c9206e7fd2ec1faba71550b945b566bf78ee6421e1f3e0bdb1cfb91d3c5616b54d423cbb7bd0bb2e877edabc796625583fd5713fdeede14a6124fd0c6c3043459d280dbe023ef031ea079025f070030859df8fc9e6ebfa2b3b55f7f5575cafe30f2ab0195fb1f187281037b5e6b879681c017589d0cd98e6f194446a1acb2f1d63b3ffc511b12291dfa29e9f02381db6029698fa0a9ebdfa1632510b7d6298b2e87cd477d32565affa615dcf713662ed5ea58c6277abf1bdf1cd153ebfd63cb76d973b2b7106520e3170b826ffc05dbd60edf03a580964cf1e461641d4d53623bcc601a590517f6deb22ad90769f0bee9be609da504c62dc35014fa9c5d118c71f0330fc9ecc13f5787fd5620d35ed40fc39e1ba0945c644c61728cc7fdbc308bacef4fb0350ad3b292e3edabdb6804ba88de8d523952013e4055042a195a911570f09c6147ac090696179257800d8bfaec16482f9ca6f632b121f482e2b901b5e414034f88eb1fe7140a031f9174d7c5e39555fe87e3383d11c5d55a74997f45e7d2918df896dfe45908a8b574fb3933cc200996f8754367afe2d0018657f8968a6dffc080206b4f6b748becb8be9ce322221cc9f4afef6d5023b24981d1b5e3735e5f110fcd4507e2ae7e75f95d5a792d6d23d4ab2c7e8ef9aab63545960c8c4d53627288d0b5d4bbc914607b2feb4ba02f896d728ba6f3075db3883474ee46c86f8bcf406dbd661e8f22f5128ff0f23f191f51b54f9cc7a879d40c924b54414dd16edb5bd3111c56ecc737ce1ff299671d876a88e3dd4b1f4ac10f9474c71939a5e39edf1e6f336847dd19795dcb60cc68789fee988933294e7d509f5110ae08597b3c041d7c1641c59e1edd6a9a78f939c760195fe969b24a3667fb4e572e8d81c4c81ce67e3f335a71d42134edd35f83ee2fd85d7b7f5aaecd1f2710f965c7a19777b887477c8d1238b3df9c95cbc5f0794e32bd08510f15f32c581c0c32d40e2add08ce22087b1aca831b52b0e1b45f42aa761b982644c60cc253d2dfaf23fd12ee159adbc535e790a8de27afe347d8af1a381875935517f747416a3b2c3bf16d64f6b5b6d0f7b079df2267614dd6847fc2f3271b4409233c37b480019c5b91882b9d94de645ae8bbf29a94eed587b3f7e1d242e8f2af059b1244c5853c7d196a573cc1e379e080a14bc62a653f1603da4afe4ef33113088fdf1584fe18ca834a3e2ce37db2df3543a523784739861f7f92cff2fd29fbb3cbc30dddf232c52eabe46610d9fb1044e642ccbee42a5710acc3c26d34ee9279a02f474cbf2c59ff8e86f14a12e514267952f0604ba967521ce38b7a0bc6489d5e941f3b78d9f0dfee1eff0cb5b270ef4de9dceb7225b48dd97f893c926f839d3660b11196b3bfae704a390877531ec546e74a4990afcbeddd4ef50ee96557885a6ea445424f6cde5ebab42ee5289febd09c056101a9ba59c6b28c3679d72d5dcf9b51cb315b31a0bab4499960201fe72285733ed932547ab3a4634e70db83b7d8d5cf53b6de6d60741baed03c398ecd6ea5097698682ba9e09bf6b1c2780c14cabc47833ca2cc030da7d6a376731b97cd60dad29b2c6f448169c00cd0ffb91fd118cfb095119a05e9e870b21ef295abe3b27a47c114d3736479ad118219e4c3cafc712e2e2efe1717a1e10aee0e02163e1deadf88760ade58b5cdfe333ea6de524761054a5976ec5c66ac56cc169bbfda92aa7b76425ac54a49bf70d5e4d0e4722176e849220d7fe7778affeaaf0806e48bbb69a5ec5b8c8b8f5f3cd89439a6dedc8aa7c3fdb30c5b7178f9f0839446f1539b0b627fd518950247d40e2f93e963f32942c441bebd2e176605bc716b1ce4684d6abd7b3f8857bd789bc563bdc760c40ce844c4c202c352e3210a61fc0910039a70708453b0db6f29d4da9496f2711e794491b22860b2a9267b6327e19cb45cb999d290f167f7c87204ffc2ff87e457c06f765f3bed456436a8819b4d41fba66e537d88c90c4f46eb95d604c94086e3c38706b6ead21f5636ea9b79297a7976c59f8c1ff9242bf675aee5dce392ce986c18a4b2cee69dd705e8a9ac911e2284f4a5c68c86031b86e067ffaf3a253938832e56e7fad75a5b965c546f31614531586871fa417bb4dfe125b658c7e3b381f66aad3b3cb3feeb3ed74a96e07e0cd6e853418c66fdb7a52a0dadd4b56c55439966029a38f4badd81f6d9115cc7de0812a401ffc114f250e11807088eb810ca8085e076bb41833490d7b41f88da1560c26c8d0dd3c74b4f905bf113ef43ecb2f53a58c6149bd18281aae205410be977d57200fb89415bea3cd2a03abbab3e54f350064bd31747a4128f56784e5cffe17921f482256d9a42009e6ae63e56bdf2fc569a9be566fa3627db8becb1a647ec6814aa4ff5dcf216ba50c3cf5137cb86a9bdd54ba5c4901138e7cb540847526bfd8c645552a9b862ddbc01c9c3da00e67d42e13275be9fa3ce98ac754d5f42d9f4ba19a5bc33419eafcb18f564faaf7a60d5f059f11c5f61f77f612a2c82d2a89eb6f25b19d68c51ae3e1d44ead7c1ca027f0ed28329634be645932e1ab7c321bf27b8cfaf9aed30f2cbf5ee4478952b2074e4b64cfac3a17618a69de47892e81023b97caf77e33c4db9048dfac1a09bb2f9760a7aa9b092c3c79efa7f058afb851cc447d1283d57421df909b54f2fb936a982890309e6e44d530386609d7f6241e72244ee94e3b45a40540ae19f0a72846984ade7e51cee87b5e07963a5ec5200db31c632fe86a4819f56814830e7d9c6802c318847de696304df575c876cff6b0f3f33a6354e14e412ab0a319e96212bed69d20fb5cfeafb2ca86d9879b78095562bfb395dc4677ebd62437443144159f0591fcc586156fc98676979998facd6dc835087c7ea5f3bc6181ce8880eee0a35bad6a327753410077e44a443725a3bac6bafc6fef56301b4659a7bd90d1375648d8e6b00a269f847018a1d892967f74371e95fa13dd209d9a65a01c6f4ff88e58f28d4ad56f80dfd4ea2db5f128dac4ca0db004e2c667204d05282c751666fb24573179fb5a39be09e6526bbd5f6741bb82c6280421aeefd5d3f803b30f109788fdf7ecc56580aab814e84f429b85b454e75007bd8cfef40ec1013e1d3d14070e372bb038bf35c1ce84823cefbbac83af730357946dc8fedbbd2b7a6e55cc19b3a9caa0c35231688f1b15ae520bd65847e73cf73e95d2b4080c3d852abda6b6f528ee5e81056d1408dc84c6be817ee5f5f81685a934696af1e61d246d053a95a9670b548ccb11ed63c046c4860cb17a1574bc0b992e14185ffcd07ae74b9external/jquery/jquery.jsrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootjava-11-openjdk-11.0.13.0-lp152.2.21.2.src.rpmjava-10-openjdk-javadocjava-11-javadocjava-11-openjdk-javadocjava-javadoc    /bin/sh/bin/shjpackage-utilsrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)update-alternativesupdate-alternatives3.0.4-14.6.0-14.0-15.2-14.14.1aqV@aC1a?=@a'@a @` @`O@```x*`T@` l_i___A@^@^@^{G^E:@^6^]@]@]/ ];];\]@\@\@\@\?\73\73[Ѱ@[ @[$@[@[#@[@[\[~[{[z@[Y[Q[I[GB[GB[>@[:[,[+@["X[@[{@[{@[[[@ZnZz@ZZ4@Z@Z?Z?Z?ZZ@Z؄ZЛZZa@ZZlZ@ZZ@ZFridrich Strba Fridrich Strba Fridrich Strba Andreas Schwab Fridrich Strba Fridrich Strba Fridrich Strba Fridrich Strba Michael Pujos Fridrich Strba Fridrich Strba Fridrich Strba Fridrich Strba Fridrich Strba Fridrich Strba Fridrich Strba Fridrich Strba Martin Liška Andreas Schwab Fridrich Strba Fridrich Strba Guillaume GARDET Fridrich Strba Fridrich Strba Fridrich Strba Fridrich Strba Fridrich Strba Fridrich Strba Fridrich Strba Fridrich Strba Fridrich Strba Fridrich Strba Fridrich Strba Antoine Belvire Fridrich Strba Fridrich Strba Guillaume GARDET Fridrich Strba Fridrich Strba Mark Hammons fstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comguillaume.gardet@opensuse.orgfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comguillaume.gardet@opensuse.orgfstrba@suse.comguillaume.gardet@opensuse.orgfstrba@suse.comfstrba@suse.comguillaume.gardet@opensuse.orgfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.com- Update to upstream tag jdk-11.0.13+8 (October 2021 CPU) * Security fixes + JDK-8163326, CVE-2021-35550, bsc#1191901: Update the default enabled cipher suites preference + JDK-8254967, CVE-2021-35565, bsc#1191909: com.sun.net.HttpsServer spins on TLS session close + JDK-8263314: Enhance XML Dsig modes + JDK-8265167, CVE-2021-35556, bsc#1191910: Richer Text Editors + JDK-8265574: Improve handling of sheets + JDK-8265580, CVE-2021-35559, bsc#1191911: Enhanced style for RTF kit + JDK-8265776: Improve Stream handling for SSL + JDK-8266097, CVE-2021-35561, bsc#1191912: Better hashing support + JDK-8266103: Better specified spec values + JDK-8266109: More Resilient Classloading + JDK-8266115: More Manifest Jar Loading + JDK-8266137, CVE-2021-35564, bsc#1191913: Improve Keystore integrity + JDK-8266689, CVE-2021-35567, bsc#1191903: More Constrained Delegation + JDK-8267086: ArrayIndexOutOfBoundsException in java.security.KeyFactory.generatePublic + JDK-8267712: Better LDAP reference processing + JDK-8267729, CVE-2021-35578, bsc#1191904: Improve TLS client handshaking + JDK-8267735, CVE-2021-35586, bsc#1191914: Better BMP support + JDK-8268193: Improve requests of certificates + JDK-8268199: Correct certificate requests + JDK-8268205: Enhance DTLS client handshake + JDK-8268506: More Manifest Digests + JDK-8269618, CVE-2021-35603, bsc#1191906: Better session identification + JDK-8269624: Enhance method selection support + JDK-8270398: Enhance canonicalization + JDK-8270404: Better canonicalization * Other changes + JDK-8024368: private methods are allocated vtable indices + JDK-8042902: Test java/net/Inet6Address/serialize/ /Inet6AddressSerializationTest.java fails intermittently + JDK-8140466: ChaCha20 and Poly1305 TLS Cipher Suites + JDK-8157404: Unable to read certain PKCS12 keystores from SequenceInputStream + JDK-8158066: SourceDebugExtensionTest fails to rename file + JDK-8168304: Make all of DependencyContext_test available in product mode + JDK-8169246: java/net/DatagramSocket/ReportSocketClosed.java fails intermittently with BindException + JDK-8181313: SA: Remove libthread_db dependency on Linux + JDK-8193214: Incorrect annotations.without.processors warnings with JDK 9 + JDK-8194230: jdk/internal/jrtfs/remote/ /RemoteRuntimeImageTest.java fails with java.lang.NullPointerException + JDK-8196092: javax/swing/JComboBox/8032878/bug8032878.java fails + JDK-8199931: java/net/MulticastSocket/ /UnreferencedMulticastSockets.java fails with "incorrect data received" + JDK-8206083: Make tools/javac/api/T6265137.java robust to JDK version changes + JDK-8206350: java/util/Locale/bcp47u/SystemPropertyTests.java failed on Mac 10.13 with zh_CN and zh_TW locales. + JDK-8207316: java/nio/channels/spi/SelectorProvider/ /inheritedChannel/InheritedChannelTest.java failed + JDK-8208227: tools/jdeps/DotFileTest.java fails on Win-X64 + JDK-8208363: test/jdk/java/lang/Package/ /PackageFromManifest.java missing module dependencies declaration + JDK-8209380: ARM: cleanup maybe-uninitialized and reorder compiler warnings + JDK-8209768: Refactor java/util/prefs/CheckUserPrefsStorage.sh to plain java test + JDK-8209772: Refactor shell test java/util/ServiceLoader/ /basic/basic.sh to java + JDK-8209773: Refactor shell test javax/naming/module/basic.sh to java + JDK-8209832: Refactor jdk/internal/reflect/Reflection/ /GetCallerClassTest.sh to plain java test + JDK-8209930: Refactor java/util/zip/ZipFile/deletetempjar.sh to plain java test + JDK-8210406: Refactor java.util.PluggableLocale:i18n shell tests to plain java tests + JDK-8210407: Refactor java.util.Calendar:i18n shell tests to plain java tests + JDK-8210495: compiler crashes because of illegal signature in otherwise legal code + JDK-8210669: Some launcher tests assume a pre-JDK 9 run-time image layout + JDK-8210802: temp files left by tests in jdk/java/net/httpclient + JDK-8210819: Update the host name in CNameTest.java + JDK-8210908: Refactor java/util/prefs/PrefsSpi.sh to plain java test + JDK-8210934: Move sun/net/www/protocol/http/ /GetErrorStream.java to OpenJDK + JDK-8210959: JShell fails and exits when statement throws an exception whose message contains a '%'. + JDK-8211055: Provide print to a file (PDF) feature even when printer was not connected + JDK-8211092: test/jdk/sun/net/www/http/HttpClient/ /MultiThreadTest.java fails intermittently when cleaning up + JDK-8211296: Remove HotSpot deprecation warning suppression for Mac/clang + JDK-8211325: test/jdk/java/net/Socket/LingerTest.java fails with cleaning up + JDK-8212040: Compilation error due to wrong usage of NSPrintJobDispositionValue in mac10.12 + JDK-8212695: Add explicit timeout to several HTTP Client tests + JDK-8212718: Refactor some annotation processor tests to better use collections + JDK-8213007: Update the link in test/jdk/sun/security/ /provider/SecureRandom/DrbgCavp.java + JDK-8213137: Remove static initialization of monitor/mutex instances + JDK-8213235: java/nio/channels/SocketChannel/ /AsyncCloseChannel.java fails with threads that didn't exit + JDK-8213409: Refactor sun.text.IntHashtable:i18n shell tests to plain java tests + JDK-8213576: Make test AsyncCloseChannel.java run in othervm + JDK-8213694: Test Timeout.java should run in othervm mode + JDK-8213718: [TEST] Wrong classname in vmTestbase/nsk/stress/ /except/except002 and except003 + JDK-8213922: fix ctw stand-alone build + JDK-8214195: Align stdout messages in test/jdk/java/math/BigInteger/PrimitiveConversionTests.java + JDK-8214520: [TEST_BUG] sun/security/mscapi/nonUniqueAliases/ /NonUniqueAliases.java failed with incorrect jtreg tags order + JDK-8214937: sun/security/tools/jarsigner/warnings/ /NoTimestampTest.java failed due to unexpected expiration date + JDK-8216532: tools/launcher/Test7029048.java fails (Solaris) + JDK-8217825: Verify @AfterTest is used correctly in WebSocket tests + JDK-8218145: block_if_requested is not proper inlined due to size + JDK-8219417: bump jtreg requiredVersion to b14 + JDK-8219552: bump jtreg requiredVersion to b14 in test/jdk/sanity/client/ + JDK-8219804: java/net/MulticastSocket/Promiscuous.java fails intermittently due to NumberFormatException + JDK-8220445: Support for side by side MSVC Toolset versions + JDK-8221988: add possibility to build with Visual Studio 2019 + JDK-8222751: closed/test/jdk/sun/security/util/ /DerIndefLenConverter/IndefBerPkcs12.java fail + JDK-8223050: JVMCI: findUniqueConcreteMethod() should not use Dependencies::find_unique_concrete_method() for non-virtual methods + JDK-8224853: CDS address sanitizer errors + JDK-8225082: Remove IdenTrust certificate that is expiring in September 2021 + JDK-8225583: Examine the HttpResponse.BodySubscribers for null handling and multiple subscriptions + JDK-8225690: Multiple AttachListener threads can be created + JDK-8225790: Two NestedDialogs tests fail on Ubuntu + JDK-8226319: Add forgotten test/jdk/java/net/httpclient/ /BodySubscribersTest.java + JDK-8226533: JVMCI: findUniqueConcreteMethod should handle statically bindable methods directly + JDK-8226602: Test convenience reactive primitives from java.net.http with RS TCK + JDK-8226683: Remove review suggestion from fix to 8219804 + JDK-8227738: jvmti/DataDumpRequest/datadumpreq001 failed due to "exit code is 134" + JDK-8227766: CheckUnhandledOops is broken in MemAllocator + JDK-8227815: Minimal VM: set_state is not a member of AttachListener + JDK-8230674: Heap dumps should exclude dormant CDS archived objects of unloaded classes + JDK-8230808: Remove Access::equals() + JDK-8230841: Remove oopDesc::equals() + JDK-8231717: Improve performance of charset decoding when charset is always compactable + JDK-8232243: Wrong caret position in JTextPane on Windows with a screen resolution > 100% + JDK-8232782: Shenandoah: streamline post-LRB CAS barrier (aarch64) + JDK-8233790: Forward output from heap dumper to jcmd/jmap + JDK-8233989: Create an IPv4 version of java/net/MulticastSocket/SetLoopbackMode.java + JDK-8234510: Remove file seeking requirement for writing a heap dump + JDK-8235211: serviceability/attach/ /RemovingUnixDomainSocketTest.java fails with AttachNotSupportedException: Unable to open socket file + JDK-8235216: typo in test filename + JDK-8235866: bump jtreg requiredVersion to 4.2b16 + JDK-8236111: narrow allowSmartActionArgs disabling + JDK-8236413: AbstractConnectTimeout should tolerate both NoRouteToHostException and UnresolvedAddressException + JDK-8236671: NullPointerException in JKS keystore + JDK-8238930: problem list compiler/c2/Test8004741.java + JDK-8238943: switch to jtreg 5.0 + JDK-8240555: Using env of JAVA_TOOL_OPTIONS and _JAVA_OPTIONS breaks QuietOption.java test + JDK-8240983: Incorrect copyright header in Apache Santuario 2.1.3 files + JDK-8241336: Some java.net tests failed with NoRouteToHostException on MacOS with special network configuration + JDK-8241353: NPE in ToolProvider.getSystemJavaCompiler + JDK-8241768: git needs .gitattributes + JDK-8242882: opening jar file with large manifest might throw NegativeArraySizeException + JDK-8244973: serviceability/attach/ /RemovingUnixDomainSocketTest.java fails "stderr was not empty" + JDK-8245134: test/lib/jdk/test/lib/security/ /KeyStoreUtils.java should allow to specify aliases + JDK-8246261: TCKLocalTime.java failed due to "AssertionError: expected [18:14:22] but found [18:14:23]" + JDK-8246387: switch to jtreg 5.1 + JDK-8247421: [TESTBUG] ReturnBlobToWrongHeapTest.java failed allocating blob + JDK-8247469: getSystemCpuLoad() returns -1 on linux when some offline cpus are present and cpusets.effective_cpus is not available + JDK-8248352: [TEST_BUG] Test test/jdk/java/awt/font/ /TextLayout/ArabicDiacriticTest.java can leave frame open + JDK-8248403: AArch64: Remove uses of kernel integer types + JDK-8248414: AArch64: Remove uses of long and unsigned long ints + JDK-8248657: Windows: strengthening in ThreadCritical regarding memory model + JDK-8248666: AArch64: Use THREAD_LOCAL instead of __thread + JDK-8248668: AArch64: Avoid MIN/MAX macros when using MSVC + JDK-8248671: AArch64: Remove unused variables + JDK-8248682: AArch64: Use ATTRIBUTE_ALIGNED helper + JDK-8248816: C1: Fix signature conflict in LIRGenerator::strength_reduce_multiply + JDK-8249095: tools/javac/launcher/SourceLauncherTest.java fails on Windows + JDK-8249548: backward focus traversal gets stuck in button group + JDK-8249773: Upgrade ReceiveISA.java test to be resilient to failure due to stray packets and interference + JDK-8249897: jdk/javadoc/tool/LangVers.java uses @ignore w/o bug-id + JDK-8249898: jdk/javadoc/tool/6176978/T6176978.java uses @ignore w/o bug-id + JDK-8249899: jdk/javadoc/tool/InlineTagsWithBraces.java uses @ignore w/o bug-id + JDK-8250588: Shenandoah: LRB needs to save/restore fp registers for runtime call + JDK-8250824: AArch64: follow up for JDK-8248414 + JDK-8251166: Add automated testcases for changes done in JDK-8214112 + JDK-8251252: Add automated testcase for fix done in JDK-8214253 + JDK-8251254: Add automated test for fix done in JDK-8218472 + JDK-8251361: Potential race between Logger configuration and GCs in HttpURLConWithProxy test + JDK-8251549: Update docs on building for Git + JDK-8251945: SIGSEGV in PackageEntry::purge_qualified_exports() + JDK-8252194: Add automated test for fix done in JDK-8218469 + JDK-8252648: Shenandoah: name gang tasks consistently + JDK-8252825: Add automated test for fix done in JDK-8218479 + JDK-8252853: AArch64: gc/shenandoah/TestVerifyJCStress.java fails intermittently with C1 + JDK-8252857: AArch64: Shenandoah C1 CAS is not sequentially consistent + JDK-8253048: AArch64: When CallLeaf, no need to preserve callee-saved registers in caller + JDK-8253424: Add support for running pre-submit testing using GitHub Actions + JDK-8253631: Remove unimplemented CompileBroker methods after JEP-165 + JDK-8253865: Pre-submit testing using GitHub Actions does not detect failures reliably + JDK-8253899: Make IsClassUnloadingEnabled signature match specification + JDK-8254024: Enhance native libs for AWT and Swing to work with GraalVM Native Image + JDK-8254054: Pre-submit testing using GitHub Actions should not use the deprecated set-env command + JDK-8254173: Add Zero, Minimal hotspot targets to submit workflow + JDK-8254175: Build no-pch configuration in debug mode for submit checks + JDK-8254244: Some code emitted by TemplateTable::branch is unused when running TieredCompilation + JDK-8254270: linux 32 bit build doesn't compile libjdwp/log_messages.c + JDK-8254282: Add Linux x86_32 builds to submit workflow + JDK-8254850: Update terminology in java.awt.GridBagLayout source code comments + JDK-8255255: Update Apache Santuario (XML Signature) to version 2.2.1 + JDK-8255305: Add Linux x86_32 tier1 to submit workflow + JDK-8255352: Archive important test outputs in submit workflow + JDK-8255373: Submit workflow artifact name is always "test-results_.zip" + JDK-8255452: Doing GC during JVMTI MethodExit event posting breaks return oop + JDK-8255718: Zero: VM should know it runs in interpreter-only mode + JDK-8255790: GTKL&F: Java 16 crashes on initialising GTKL&F on Manjaro Linux + JDK-8255810: Zero: build fails without JVMTI + JDK-8255895: Submit workflow artifacts miss hs_errs/replays due to ZIP include mismatch + JDK-8256127: Add cross-compiled foreign architectures builds to submit workflow + JDK-8256215: Shenandoah: re-organize saving/restoring machine state in assembler code + JDK-8256267: Relax compiler/floatingpoint/NaNTest.java for x86_32 and lower -XX:+UseSSE + JDK-8256277: Github Action build on macOS should define OS and Xcode versions + JDK-8256354: Github Action build on Windows should define OS and MSVC versions + JDK-8256393: Github Actions build on Linux should define OS and GCC versions + JDK-8256414: add optimized build to submit workflow + JDK-8256747: GitHub Actions: decouple the hotspot build-only jobs from Linux x64 testing + JDK-8257056: Submit workflow should apt-get update to avoid package installation errors + JDK-8257148: Remove obsolete code in AWTView.m + JDK-8257497: Update keytool to create AKID from the SKID of the issuing certificate as specified by RFC 5280 + JDK-8257620: Do not use objc_msgSend_stret to get macOS version + JDK-8257913: Add more known library locations to simplify Linux cross-compilation + JDK-8258703: Incorrect 512-bit vector registers restore on x86_32 + JDK-8259338: Add expiry exception for identrustdstx3 alias to VerifyCACerts.java test + JDK-8259535: ECDSA SignatureValue do not always have the specified length + JDK-8259679: GitHub actions should use MSVC 14.28 + JDK-8259924: GitHub actions fail on Linux x86_32 with "Could not configure libc6:i386" + JDK-8260460: GitHub actions still fail on Linux x86_32 with "Could not configure libc6:i386" + JDK-8260589: Crash in JfrTraceIdLoadBarrier::load(_jclass*) + JDK-8260923: Add more tests for SSLSocket input/output shutdown + JDK-8261072: AArch64: Fix MacroAssembler::get_thread convention + JDK-8261147: C2: Node is wrongly marked as reduction resulting in a wrong execution due to wrong vector instructions + JDK-8261238: NMT should not limit baselining by size threshold + JDK-8261496: Shenandoah: reconsider pacing updates memory ordering + JDK-8261652: Remove some dead comments from os_bsd_x86 + JDK-8261846: [JVMCI] c2v_iterateFrames can get out of sync with the StackFrameStream + JDK-8262000: jdk/jfr/event/gc/detailed/ /TestPromotionFailedEventWithParallelScavenge.java failed with "OutOfMemoryError: Java heap space" + JDK-8262017: C2: assert(n != __null) failed: Bad immediate dominator info. + JDK-8262392: Update Mesa 3-D Headers to version 21.0.3 + JDK-8262409: sun/security/ssl/SSLSocketImpl/ /SSLSocketImplThrowsWrongExceptions. SSL test failures caused by java failed with "Server reported the wrong exception" + JDK-8262470: Printed GlyphVector outline with low DPI has bad quality on Windows + JDK-8262862: Harden tests sun/security/x509/URICertStore/ /ExtensionsWithLDAP.java and krb5/canonicalize/Test.java + JDK-8263136: C4530 was reported from VS 2019 at access bridge + JDK-8263227: C2: inconsistent spilling due to dead nodes in exception block + JDK-8263382: java/util/logging/ParentLoggersTest.java failed with "checkLoggers: getLoggerNames() returned unexpected loggers" + JDK-8263407: SPARC64 detection fails on Athena (SPARC64-X) + JDK-8263432: javac may report an invalid package/class clash on case insensitive filesystems + JDK-8263490: [macos] Crash occurs on JPasswordField with activated InputMethod + JDK-8263531: Remove unused buffer int + JDK-8263667: Avoid running GitHub actions on branches named pr/* + JDK-8263776: [JVMCI] add helper to perform Java upcalls + JDK-8264016: [JVMCI] add some thread local fields for use by JVMCI + JDK-8264752: SIGFPE crash with option FlightRecorderOptions:threadbuffersize=30M + JDK-8265132: C2 compilation fails with assert "missing precedence edge" + JDK-8265231: (fc) ReadDirect and WriteDirect tests fail after fix for JDK-8264821 + JDK-8265335: Epsilon: Minor typo in EpsilonElasticTLABDecay description + JDK-8265756: AArch64: initialize memory allocated for locals according to Windows AArch64 stack page growth requirement in template interpreter + JDK-8265761: Font with missed font family name is not properly printed on Windows + JDK-8265773: incorrect jdeps message "jdk8internals" to describe a removed JDK internal API + JDK-8265836: OperatingSystemImpl.getCpuLoad() returns incorrect CPU load inside a container + JDK-8266018: Shenandoah: fix an incorrect assert + JDK-8266206: Build failure after JDK-8264752 with older GCCs + JDK-8266248: Compilation failure in PLATFORM_API_MacOSX_MidiUtils.c with Xcode 12.5 + JDK-8266288: assert root method not found in witnessed_reabstraction_in_supers is too strong + JDK-8266404: Fatal error report generated with - XX:+CrashOnOutOfMemoryError should not contain suggestion to submit a bug report + JDK-8266480: Implicit null check optimization does not update control of hoisted memory operation + JDK-8266615: C2 incorrectly folds subtype checks involving an interface array + JDK-8266642: Improve ResolvedMethodTable hash function + JDK-8266749: AArch64: Backtracing broken on PAC enabled systems + JDK-8266761: AssertionError in sun.net.httpserver.ServerImpl.responseCompleted + JDK-8266813: Shenandoah: Use shorter instruction sequence for checking if marking in progress + JDK-8267042: bug in monitor locking/unlocking on ARM32 C1 due to uninitialized BasicObjectLock::_displaced_header + JDK-8267348: Rewrite gc/epsilon/TestClasses.java to use Metaspace with less classes + JDK-8267396: Avoid recording "pc" in unhandled oops detector for better performance + JDK-8267399: C2: java/text/Normalizer/ConformanceTest.java test failed with assertion + JDK-8267424: CTW: C1 fails with "State must not be null" + JDK-8267459: Pasting Unicode characters into JShell does not work. + JDK-8267625: AARCH64: typo in LIR_Assembler::emit_profile_type + JDK-8267666: Add option to jcmd GC.heap_dump to use existing file + JDK-8267695: Bump update version for OpenJDK: jdk-11.0.13 + JDK-8267751: (test) jtreg.SkippedException has no serial VersionUID + JDK-8267773: PhaseStringOpts::int_stringSize doesn't handle min_jint correctly + JDK-8268103: JNI functions incorrectly return a double after JDK-8265836 + JDK-8268127: Shenandoah: Heap size may be too small for region to align to large page size + JDK-8268261: C2: assert(n != __null) failed: Bad immediate dominator info. + JDK-8268347: C2: nested locks optimization may create unbalanced monitor enter/exit code + JDK-8268360: Missing check for infinite loop during node placement + JDK-8268362: [REDO] C2 crash when compile negative Arrays.copyOf length after loop + JDK-8268366: Incorrect calculation of has_fpu_registers in C1 linear scan + JDK-8268369: SIGSEGV in PhaseCFG::implicit_null_check due to missing null check + JDK-8268417: Add test from JDK-8268360 + JDK-8268427: Improve AlgorithmConstraints:checkAlgorithm performance + JDK-8268617: [11u REDO] - WebSocket over authenticating proxy fails with NPE + JDK-8268620: InfiniteLoopException test may fail on x86 platforms + JDK-8268635: Corrupt oop in ClassLoaderData + JDK-8268699: Shenandoah: Add test for JDK-8268127 + JDK-8268771: javadoc -notimestamp option does not work on index.html + JDK-8268775: Password is being converted to String in AccessibleJPasswordField + JDK-8268776: Test `ADatagramSocket.java` missing /othervm from @run tag + JDK-8268965: TCP Connection Reset when connecting simple socket to SSL server + JDK-8269304: Regression ~5% in 2005 in b27 + JDK-8269415: [11u] Remove ea from DEFAULT_PROMOTED_VERSION_PRE in OpenJDK 11u + JDK-8269478: Shenandoah: gc/shenandoah/mxbeans tests should be more resilient + JDK-8269529: javax/swing/reliability/ /HangDuringStaticInitialization.java fails in Windows debug build + JDK-8269594: assert(_handle_mark_nesting > 1) failed: memory leak: allocating handle outside HandleMark + JDK-8269614: [s390] Interpreter checks wrong bit for slow path instance allocation + JDK-8269650: Optimize gc-locker in [Get|Release]StringCritical for latin string + JDK-8269661: JNI_GetStringCritical does not lock char array + JDK-8269668: [aarch64] java.library.path not including /usr/lib64 + JDK-8269763: The JEditorPane is blank after JDK-8265167 + JDK-8269795: C2: Out of bounds array load floats above its range check in loop peeling resulting in SEGV + JDK-8269847: JDK-8269594 backport breaks 11u builds + JDK-8269850: Most JDK releases report macOS version 12 as 10.16 instead of 12.0 + JDK-8269851: OperatingSystemMXBean getProcessCpuLoad reports incorrect process cpu usage in containers + JDK-8269882: stack-use-after-scope in NewObjectA + JDK-8269934: RunThese24H.java failed with EXCEPTION_ACCESS_VIOLATION in java_lang_Thread::get_thread_status + JDK-8270096: Shenandoah: Optimize gc/shenandoah/ /TestRefprocSanity.java for interpreter mode + JDK-8270137: Kerberos Credential Retrieval from Cache not Working in Cross-Realm Setup + JDK-8270184: [TESTBUG] Add coverage for jvmci ResolvedJavaType.toJavaName() for lambdas + JDK-8270196: [11u] [JVMCI] JavaType.toJavaName() returns incorrect type name for lambdas + JDK-8270556: Exclude security/infra/java/security/cert/ /CertPathValidator/certification/LetsEncryptCA + JDK-8270893: IndexOutOfBoundsException while reading large TIFF file + JDK-8272078: Wrong Checksums in Temurin BootJDK dependencies + JDK-8272124: Cgroup v1 initialization causes NullPointerException when cgroup path contains colon + JDK-8272131: PhaseMacroExpand::generate_slow_arraycopy crash when clone null CallProjections.fallthrough_ioproj + JDK-8272197: Update 11u GHA workflow with Shenandoah configurations + JDK-8272332: --with-harfbuzz=system doesn't add -lharfbuzz after JDK-8255790 + JDK-8272472: StackGuardPages test doesn't build with glibc 2.34 + JDK-8272602: [macos] not all KEY_PRESSED events sent when control modifier is used + JDK-8272628: Problemlist gc/stress/gcbasher/ /TestGCBasherWithCMS.java for x86_32 + JDK-8272700: [macos] Build failure with Xcode 13.0 after JDK-8264848 + JDK-8272772: Shenandoah: compiler/c2/aarch64/ /TestVolatilesShenandoah.java fails in 11u + JDK-8273939: Backport of 8248414 to JDK11 breaks MacroAssembler::adrp - Remove the unneeded icedtea-sound provider - Removed patches: * icedtea-sound-1.0.1-jdk9.patch * icedtea-sound-soundproperties.patch + not needed since the icedtea-sound provider is removed * jdk11-glibc234.patch + integrated upstream- Added patch: * fips.patch + implement FIPS support in OpenJDK- Modified patch: * nss-security-provider.patch + revert recent changes making NSS provider the default one + fixes bsc#1190252- Added patch: * jdk11-glibc234.patch + fix build with glibc-2.34 (bsc#1189201)- riscv64-zero.patch: Add support for riscv64 (zero VM)- Update to upstream tag jdk-11.0.12+7 (July 2021, CPU) * Security fixes + JDK-8256157: Improve bytecode assembly + JDK-8256491: Better HTTP transport + JDK-8258432, CVE-2021-2341, bsc#1188564: Improve file transfers + JDK-8260453: Improve Font Bounding + JDK-8260960: Signs of jarsigner signing + JDK-8260967, CVE-2021-2369, bsc#1188565: Better jar file validation + JDK-8262380: Enhance XML processing passes + JDK-8262403: Enhanced data transfer + JDK-8262410: Enhanced rules for zones + JDK-8262477: Enhance String Conclusions + JDK-8262967: Improve Zip file support + JDK-8264066, CVE-2021-2388, bsc#1188566: Enhance compiler validation + JDK-8264079: Improve abstractions + JDK-8264460: Improve NTLM support * Other changes + JDK-6847157: java.lang.NullPointerException: HDC for component at sun.java2d.loops.Blit.Blit + JDK-7106851: Test should not use System.exit + JDK-8073446: TimeZone getOffset API does not return a dst offset between years 2038-2137 + JDK-8076190: Customizing the generation of a PKCS12 keystore + JDK-8153005: Upgrade the default PKCS12 encryption/MAC algorithms + JDK-8171303: sun/java2d/pipe/InterpolationQualityTest.java fails on Windows & Linux + JDK-8177068: incomplete classpath causes NPE in Flow + JDK-8185734: [Windows] Structured Exception Catcher missing around gtest execution + JDK-8187450: JNI local refs exceeds capacity warning in NetworkInterface::getAll + JDK-8190763: Class cast exception on (CompoundEdit) UndoableEditEvent.getEdit() + JDK-8195841: PNGImageReader.readNullTerminatedString() doesnt check for non-null terminated strings with length equal to maxLen + JDK-8196100: javax/swing/text/JTextComponent/5074573/ /bug5074573.java fails + JDK-8199646: JShell tests: jdk/jshell/ /FailOverDirectExecutionControlTest.java failed with java.lang.UnsupportedOperationException + JDK-8206925: Support the certificate_authorities extension + JDK-8207160: ClassReader::adjustMethodParams can potentially return null if the args list is empty + JDK-8207247: AARCH64: Enable Minimal and Client VM builds + JDK-8207404: MulticastSocket tests failing on AIX + JDK-8207779: Method::is_valid_method() compares 'this' with NULL + JDK-8208061: runtime/LoadClass/TestResize.java fails with "Load factor too high" when running in CDS mode. + JDK-8209459: TestSHA512MultiBlockIntrinsics failed on AArch64 + JDK-8210443: Migrate Locale matching tests to JDK Repo. + JDK-8213231: ThreadSnapshot::_threadObj can become stale + JDK-8213483: ARM32: runtime/ErrorHandling/ /ShowRegistersOnAssertTest.java jtreg test fail + JDK-8213725: JShell NullPointerException due to class file with unexpected package + JDK-8213794: ARM32: disable TypeProfiling, CriticalJNINatives, Serviceablity tests for ARM32 + JDK-8213845: ARM32: Interpreter doesn't call result handler after native calls + JDK-8214128: ARM32: wrong stack alignment on Deoptimization::unpack_frames + JDK-8214512: ARM32: Jtreg test compiler/c2/Test8062950.java fails on ARM + JDK-8214854: JDWP: Unforseen output truncation in logging + JDK-8214922: Add vectorization support for fmin/fmax + JDK-8215009: GCC 8 compilation error in libjli + JDK-8216184: CDS/appCDS tests failed on Windows due to long path to a classlist file + JDK-8216259: AArch64: Vectorize Adler32 intrinsics + JDK-8216314: SIGILL in CodeHeapState::print_names() + JDK-8217348: assert(thread->is_Java_thread()) failed: just checking + JDK-8217465: [REDO] - Optimize CodeHeap Analytics + JDK-8217561: X86: Add floating-point Math.min/max intrinsics + JDK-8217918: C2: -XX:+AggressiveUnboxing is broken + JDK-8218458: [TESTBUG] runtime/NMT/ /CheckForProperDetailStackTrace.java fails with Expected stack trace missing from output + JDK-8219142: Remove unused JIMAGE_ResourcePath + JDK-8219586: CodeHeap State Analytics processes dead nmethods + JDK-8220074: Clean up GCC 8.3 errors in LittleCMS + JDK-8220407: compiler/intrinsics/math/ /TestFpMinMaxIntrinsics.java timedout + JDK-8222302: [TESTBUG] test/hotspot/jtreg/compiler/intrinsics/ /sha/cli/TestUseSHAOptionOnUnsupportedCPU.java fails on any other CPU + JDK-8222412: AARCH64: multiple instructions encoding issues + JDK-8223020: aarch64: expand minI_rReg and maxI_rReg patterns into separate instructions + JDK-8223444: Improve CodeHeap Free Space Management + JDK-8223504: Improve performance of forall loops by better inlining of "iterator()" methods + JDK-8223667: ASAN build broken + JDK-8225081: Remove Telia Company CA certificate expiring in April 2021 + JDK-8225116: Test OwnedWindowsLeak.java intermittently fails + JDK-8225438: javax/net/ssl/TLSCommon/ /TestSessionLocalPrincipal.java failed with Read timed out + JDK-8225756: [testbug] compiler/loopstripmining/ /CheckLoopStripMining.java sets too short a SafepointTimeoutDelay + JDK-8226374: Restrict TLS signature schemes and named groups + JDK-8226627: assert(t->singleton()) failed: must be a constant + JDK-8226721: Missing intrinsics for Math.ceil, floor, rint + JDK-8227080: (fs) Files.newInputStream(...).skip(n) is slow + JDK-8227222: vmTestbase/jit/FloatingPoint/gen_math/Loops04/ /Loops04.java failed XMM register should be 0-15 + JDK-8227609: (fs) Files.newInputStream(...).skip(n) should allow skipping beyond file size + JDK-8230428: Cleanup dead CastIP node code in formssel.cpp + JDK-8231460: Performance issue (CodeHeap) with large free blocks + JDK-8231713: x86_32 build failures after JDK-8226721 (Missing intrinsics for Math.ceil, floor, rint) + JDK-8231841: AArch64: debug.cpp help() is missing an AArch64 line for pns + JDK-8232084: HotSpot build failed with GCC 9.2.1 + JDK-8232591: AArch64: Add missing match rules for smaddl, smsubl and smnegl + JDK-8233185: HttpServer.stop() blocks indefinitely when called on dispatch thread + JDK-8233787: Break cycle in vm_version* includes + JDK-8233948: AArch64: Incorrect mapping between OptoReg and VMReg for high 64 bits of Vector Register + JDK-8234355: Buffer overflow in jcmd GC.class_stats due to too many classes + JDK-8235368: Update BCEL to Version 6.4.1 + JDK-8236859: WebSocket over authenticating proxy fails with NPE + JDK-8236992: AArch64: remove redundant load_klass in itable stub + JDK-8237743: test/langtools/jdk/jshell/ /FailOverExecutionControlTest.java fails No ExecutionControlProvider with name 'nonExistent' and parameter keys: [] + JDK-8237804: sun/security/mscapi tests fail with "Key pair not generated, alias already exists" + JDK-8238175: CTW: Class.getDeclaredMethods fails with assert(k->is_subclass_of(SystemDictionary::Throwable_klass())) failed: invalid exception class + JDK-8238567: SoftMainMixer.processAudioBuffers(): Wrong handling of stoppedMixers + JDK-8238812: assert(false) failed: bad AD file + JDK-8239312: [macos] javax/swing/JFrame/NSTexturedJFrame/ /NSTexturedJFrame.java + JDK-8239386: handle ContendedPaddingWidth in vm_version_aarch64 + JDK-8239536: Can't use 'java.util.List' object after importing 'java.awt.List' + JDK-8240487: Cleanup whitespace in .cc, .hh, .m, and .mm files + JDK-8240848: ArrayIndexOutOfBoundsException buf for TextCallbackHandler + JDK-8241082: Upgrade IANA Language Subtag Registry data to 03-16-2020 version + JDK-8241087: Build failure with VS 2019 (16.5.0) due to C2039 and C2873 + JDK-8241101: [s390] jtreg test failure after JDK-8238696: not conformant features string + JDK-8241248: NullPointerException in sun.security.ssl.HKDF.extract(HKDF.java:93) + JDK-8241372: Several test failures due to javax.net.ssl.SSLException: Connection reset + JDK-8241475: AArch64: Add missing support for PopCountVI node + JDK-8241829: Cleanup the code for PrinterJob on windows + JDK-8241960: The SHA3 message digests impl of SUN provider are not thread safe after cloned + JDK-8242010: Upgrade IANA Language Subtag Registry to Version 2020-04-01 + JDK-8242429: Better implementation for sign extract + JDK-8242557: Add length limit for strings in PNGImageWriter + JDK-8242919: Paste locks up jshell + JDK-8243155: AArch64: Add support for SqrtVF + JDK-8243240: AArch64: Add support for MulVB + JDK-8243452: JFR: Could not create chunk in repository with over 200 recordings + JDK-8243559: Remove root certificates with 1024-bit keys + JDK-8243597: AArch64: Add support for integer vector abs + JDK-8244031: HttpClient should have more tests for HEAD requests + JDK-8244205: HTTP/2 tunnel connections through proxy may be reused regardless of which proxy is selected + JDK-8244847: Linux/PPC: runtime/CompressedOops/ /CompressedClassPointers: smallHeapTest fails + JDK-8245511: G1 adaptive IHOP does not account for reclamation of humongous objects by young GC + JDK-8246274: G1 old gen allocation tracking is not in a separate class + JDK-8247354: [aarch64] PopFrame causes assert(oopDesc::is_oop(obj)) failed: not an oop + JDK-8247408: IdealGraph bit check expression canonicalization + JDK-8247432: Update IANA Language Subtag Registry to Version 2020-09-29 + JDK-8247438: JShell: When FailOverExecutionControlProvider fails the proximal cause is not shown + JDK-8247753: UIManager.getSytemLookAndFeelClassName() returns wrong value on Fedora 32 + JDK-8248043: Need to eliminate excessive i2l conversions + JDK-8248411: [aarch64] Insufficient error handling when CodeBuffer is exhausted + JDK-8248568: compiler/c2/TestBit.java failed: test missing from stdout/stderr + JDK-8248870: AARCH64: I2L/L2I conversions can be skipped for masked positive values + JDK-8249142: java/awt/FontClass/CreateFont/DeleteFont.sh is unstable + JDK-8249189: AARCH64: more L2I conversions can be skipped + JDK-8249719: MethodHandle performance suffers from bad ResolvedMethodTable hash function + JDK-8249875: GCC 10 warnings -Wtype-limits with JFR code + JDK-8250635: MethodArityHistogram should use Compile_lock in favour of fancy checks + JDK-8250876: Fix issues with cross-compile on macos + JDK-8251031: Some vmTestbase/nsk/monitoring/RuntimeMXBean tests fail with hostnames starting from digits + JDK-8251525: AARCH64: Faster Math.signum(fp) + JDK-8252259: AArch64: Adjust default value of FLOATPRESSURE + JDK-8252311: AArch64: save two words in itable lookup stub + JDK-8252779: compiler/graalunit/HotspotTest.java failed after 8251525 + JDK-8252883: AccessDeniedException caused by delayed file deletion on Windows + JDK-8253167: ARM32 builds fail after JDK-8247910 + JDK-8253572: [windows] CDS archive may fail to open with long file names + JDK-8253923: C2 doesn't always run loop opts for compilations that include loops + JDK-8253948: Memory leak in ImageFileReader + JDK-8254631: Better support ALPN byte wire values in SunJSSE + JDK-8254717: isAssignableFrom checks in KeyFactorySpi.engineGetKeySpec appear to be backwards + JDK-8255086: Update the root locale display names + JDK-8255625: AArch64: Implement Base64.encodeBlock accelerator/intrinsic + JDK-8255763: C2: OSR miscompilation caused by invalid memory instruction placement + JDK-8255992: JFR EventWriter does not use first string from StringPool with id 0 + JDK-8256037: [TESTBUG] com/sun/jndi/dns/ConfigTests/ /PortUnreachable.java fails due to the hard coded threshold is small + JDK-8256244: java/lang/ProcessHandle/PermissionTest.java fails with TestNG 7.1 + JDK-8256287: [windows] add loop fuse to map_or_reserve_memory_aligned + JDK-8256523: Streamline Java SHA2 implementation + JDK-8257414: Drag n Drop target area is wrong on high DPI systems + JDK-8257569: Failure observed with JfrVirtualMemory::initialize + JDK-8257574: C2: "failed: parsing found no loops but there are some" assert failure + JDK-8257580: Bump update version for OpenJDK: jdk-11.0.12 + JDK-8257604: JNI_ArgumentPusherVaArg leaks valist + JDK-8257621: JFR StringPool misses cached items across consecutive recordings + JDK-8257796: [TESTBUG] TestUseSHA512IntrinsicsOptionOnSupportedCPU.java fails on x86_32 + JDK-8257822: C2 crashes with SIGFPE due to a division that floats above its zero check + JDK-8257828: SafeFetch may crash if invoked in non-JavaThreads + JDK-8257853: Remove dependencies on JNF's JNI utility functions in AWT and 2D code + JDK-8257858: [macOS]: Remove JNF dependency from libosxsecurity/KeystoreImpl.m + JDK-8257860: [macOS]: Remove JNF dependency from libosxkrb5/SCDynamicStoreConfig.m + JDK-8257988: Remove JNF dependency from libsaproc/MacosxDebuggerLocal.m + JDK-8258414: OldObjectSample events too expensive + JDK-8258505: [TESTBUG] TestDivZeroWithSplitIf.java fails due to missing UnlockDiagnosticVMOptions + JDK-8258753: StartTlsResponse.close() hangs due to synchronization issues + JDK-8259061: C2: assert(found) failed: memory-writing node is not placed in its original loop or an ancestor of it + JDK-8259227: C2 crashes with SIGFPE due to a division that floats above its zero check + JDK-8259232: Bad JNI lookup during printing + JDK-8259276: C2: Empty expression stack when reexecuting tableswitch/lookupswitch instructions after deoptimization + JDK-8259343: [macOS] Update JNI error handling in Cocoa code. + JDK-8259585: Accessible actions do not work on mac os x + JDK-8259651: [macOS] Replace JNF_COCOA_ENTER/EXIT macros + JDK-8259662: Don't wrap SocketExceptions into SSLExceptions in SSLSocketImpl + JDK-8259710: Inlining trace leaks memory + JDK-8259729: Missed JNFInstanceOf -> IsInstanceOf conversion + JDK-8259777: Incorrect predication condition generated by ADLC + JDK-8259786: initialize last parameter of getpwuid_r + JDK-8259843: initialize dli_fname array before calling dll_address_to_library_name + JDK-8259869: [macOS] Remove desktop module dependencies on JNF Reference APIs + JDK-8259886: Improve SSL session cache performance and scalability + JDK-8259983: do not use uninitialized expand_ms value in G1CollectedHeap::expand_heap_after_young_collection + JDK-8260030: Improve stringStream buffer handling + JDK-8260236: better init AnnotationCollector _contended_group + JDK-8260255: C1: LoopInvariantCodeMotion constructor can leave some fields uninitialized + JDK-8260284: C2: assert(_base == Int) failed: Not an Int + JDK-8260380: Upgrade to LittleCMS 2.12 + JDK-8260420: C2 compilation fails with assert(found_sfpt) failed: no node in loop that's not input to safepoint + JDK-8260426: awt debug_mem.c DMem_AllocateBlock might leak memory + JDK-8260432: allocateSpaceForGP in freetypeScaler.c might leak memory + JDK-8260616: Removing remaining JNF dependencies in the java.desktop module + JDK-8260653: Unreachable nodes keep speculative types alive + JDK-8260707: java/lang/instrument/PremainClass/ /InheritAgent0100.java times out + JDK-8260925: HttpsURLConnection does not work with other JSSE provider. + JDK-8260926: Trace resource exhausted events unconditionally + JDK-8261020: Wrong format parameter in create_emergency_chunk_path + JDK-8261027: AArch64: Support for LSE atomics C++ HotSpot code + JDK-8261167: print_process_memory_info add a close call after fopen + JDK-8261170: Upgrade to freetype 2.10.4 + JDK-8261198: [macOS] Incorrect JNI parameters in number conversion in A11Y code + JDK-8261235: C1 compilation fails with assert(res->vreg_number() == index) failed: conversion check + JDK-8261261: The version extra fields needs to be overridable in jib-profiles.js + JDK-8261262: Kitchensink24HStress.java crashed with EXCEPTION_ACCESS_VIOLATION + JDK-8261354: SIGSEGV at MethodIteratorHost + JDK-8261355: No data buffering in SunPKCS11 Cipher encryption when the underlying mechanism has no padding + JDK-8261397: try catch Method failing to work when dividing an integer by 0 + JDK-8261422: Adjust problematic String.format calls in jdk/internal/util/Preconditions.java outOfBoundsMessage + JDK-8261447: MethodInvocationCounters frequently run into overflow + JDK-8261481: Cannot read Kerberos settings in dynamic store on macOS Big Sur + JDK-8261505: Test test/hotspot/jtreg/gc/parallel/ /TestDynShrinkHeap.java killed by Linux OOM Killer + JDK-8261601: free memory in early return in Java_sun_nio_ch_sctp_SctpChannelImpl_receive0 + JDK-8261649: AArch64: Optimize LSE atomics in C++ code + JDK-8261730: C2 compilation fails with assert(store->find_edge(load) != -1) failed: missing precedence edge + JDK-8261752: Multiple GC test are missing memory requirements + JDK-8261791: (sctp) handleSendFailed in SctpChannelImpl.c potential leaks + JDK-8261812: C2 compilation fails with assert(!had_error) failed: bad dominance + JDK-8261914: IfNode::fold_compares_helper faces non-canonicalized bool when running JRuby JSON workload + JDK-8262093: java/util/concurrent/tck/JSR166TestCase.java failed "assert(false) failed: unexpected node" + JDK-8262110: DST starts from incorrect time in 2038 + JDK-8262121: [11u] Redo 8244287: JFR: Methods samples have line number 0 + JDK-8262163: Extend settings printout in jcmd VM.metaspace + JDK-8262295: C2: Out-of-Bounds Array Load from Clone Source + JDK-8262298: G1BarrierSetC2::step_over_gc_barrier fails with assert "bad barrier shape" + JDK-8262446: DragAndDrop hangs on Windows + JDK-8262461: handle wcstombsdmp return value correctly in unix awt_InputMethod.c + JDK-8262465: Very long compilation times and high memory consumption in C2 debug builds + JDK-8262726: AArch64: C1 StubAssembler::call_RT can corrupt stack + JDK-8262739: String inflation C2 intrinsic prevents insertion of anti-dependencies + JDK-8262829: Native crash in Win32PrintServiceLookup.getAllPrinterNames() + JDK-8262837: handle split_USE correctly + JDK-8262900: ToolBasicTest fails to access HTTP server it starts + JDK-8263260: [s390] Support latest hardware (z14 and z15) + JDK-8263311: Watch registry changes for remote printers update instead of polling + JDK-8263361: Incorrect arraycopy stub selected by C2 for SATB collectors + JDK-8263404: RsaPrivateKeySpec is always recognized as RSAPrivateCrtKeySpec in RSAKeyFactory.engineGetKeySpec + JDK-8263425: AArch64: two potential bugs in C1 LIRGenerator::generate_address() + JDK-8263448: CTW: fatal error: meet not symmetric + JDK-8263504: Some OutputMachOpcodes fields are uninitialized + JDK-8263557: Possible NULL dereference in Arena::destruct_contents() + JDK-8263558: Possible NULL dereference in fast path arena free if ZapResourceArea is true + JDK-8263676: AArch64: one potential bug in C1 LIRGenerator::generate_address() + JDK-8263729: [test] divert spurious output away from stream under test in ProcessBuilder Basic test + JDK-8263846: Bad JNI lookup getFocusOwner in accessibility code on Mac OS X + JDK-8264047: Duplicate global variable 'jvm' in libjavajpeg and libawt + JDK-8264096: slowdebug jvm crashes when StrInflatedCopy match rule is not supported + JDK-8264151: ciMethod::ensure_method_data() should return false is loading resulted in empty state + JDK-8264173: [s390] Improve Hardware Feature Detection And Reporting + JDK-8264190: Harden TLS interop tests + JDK-8264223: CodeHeap::verify fails extra_hops assertion in fastdebug test + JDK-8264328: Broken license in javax/swing/JComboBox/8072767/bug8072767.java + JDK-8264360: Loop strip mining verification fails with "should be on the backedge" + JDK-8264626: C1 should be able to inline excluded methods + JDK-8264640: CMS ParScanClosure misses a barrier + JDK-8264786: [macos] All Swing/AWT apps cause Allow Notifications prompt to appear when app is launched + JDK-8264821: DirectIOTest fails on a system with large block size + JDK-8264848: [macos] libjvm.dylib linker warning due to macOS version mismatch + JDK-8264923: PNGImageWriter.write_zTXt throws Exception with a typo + JDK-8264958: C2 compilation fails with assert "n is later than its clone" + JDK-8265099: Revert backport to 11u of 8236859: WebSocket over authenticating proxy fails with NPE + JDK-8265154: vinserti128 operand mix up for KNL platforms + JDK-8265239: Shenandoah: Shenandoah heap region count could be off by 1 + JDK-8265417: Backport of JDK-8249672 breaks Solaris x86 build + JDK-8265421: java/lang/String/StringRepeat.java test is missing a memory requirement + JDK-8265462: Handle multiple slots in the NSS Internal Module from SunPKCS11's Secmod + JDK-8265537: x86 version string truncated after JDK-8249672 11u backport + JDK-8265666: Enable AIX build platform to make external debug symbols + JDK-8265677: CMS: CardTableBarrierSet::write_ref_array_work() lacks storestore barrier + JDK-8265690: Use the latest Ubuntu base image version in Docker testing + JDK-8265718: Build failure after JDK-8258414 11u backport + JDK-8265750: Fatal error in safepoint.cpp after backport of 8258414 + JDK-8265784: [C2] Hoisting of DecodeN leaves MachTemp inputs behind + JDK-8265938: C2's conditional move optimization does not handle top Phi + JDK-8266220: keytool still prompt for store password on a password-less pkcs12 file if -storetype pkcs12 is specified + JDK-8266293: Key protection using PBEWithMD5AndDES fails with "java.security.InvalidAlgorithmParameterException: Salt must be 8 bytes long" + JDK-8266713: [AIX] Build failure after 11u backport of JDK-8247753 + JDK-8266802: Shenandoah: Round up region size to page size unconditionally + JDK-8266892: avoid maybe-uninitialized gcc warnings on linux s390x + JDK-8266929: Unable to use algorithms from 3p providers + JDK-8267235: [macos_aarch64] InterpreterRuntime::throw_pending_exception messing up LR results in crash + JDK-8267561: Shenandoah: Reference processing not properly setup for outside of cycle degenerated GC + JDK-8267599: Revert the change to the default PKCS12 macAlgorithm and macIterationCount props for 11u/8u/7u + JDK-8267641: [11u] 8227609 backport typo + JDK-8267721: Enable sun/security/pkcs11 tests for Amazon Linux 2 AArch64 + JDK-8268678: LetsEncryptCA.java test fails as Let's Encrypt Authority X3 is retired- Modified patch: * nss-security-provider.patch + make the NSS provider first in the list- Remove all Jpackage provides for SLE12 in order to avoid installing this package as default Java on SLE12-SP5 (bsc#1185476)- Update to upstream tag jdk-11.0.11+9 (April 2021, CPU) * Security fixes + JDK-8244473: Contextualize registration for JNDI + JDK-8244543: Enhanced handling of abstract classes + JDK-8249906, CVE-2021-2163, bsc#1185055: Enhance opening JARs + JDK-8250568, CVE-2021-2161, bsc#1185056: Less ambiguous processing + JDK-8253799: Make lists of normal filenames + JDK-8257001: Improve Http Client Support * Other changes + JDK-7107012: sun.jvm.hotspot.code.CompressedReadStream readDouble() conversion to long mishandled + JDK-7146776: deadlock between URLStreamHandler.getHostAddress and file.Handler.openconnection + JDK-8086003: Test fails on OSX with java.lang.RuntimeException 'Narrow klass base: 0x0000000000000000, Narrow klass shift: 3' missing + JDK-8168869: jdeps: localized messages don't use proper line breaks + JDK-8180837: SunPKCS11-NSS tests failing with CKR_ATTRIBUTE_READ_ONLY and CKR_MECHANISM_PARAM_INVALID + JDK-8202343: Disable TLS 1.0 and 1.1 + JDK-8205992: jhsdb cannot attach to Java processes running in Docker containers + JDK-8209193: Fix aarch64-linux compilation after -Wreorder changes + JDK-8210413: AArch64: Optimize div/rem by constant in C1 + JDK-8210578: AArch64: Invalid encoding for fmlsvs instruction + JDK-8211051: jdeps usage of --dot-output doesn't provide valid output for modular jar + JDK-8211057: Gensrc step CompileProperties generates unstable CompilerProperties output + JDK-8211150: G1 Full GC not purging code root memory and hence causing memory leak + JDK-8211825: ModuleLayer.defineModulesWithXXX does not setup delegation when module reads automatic module + JDK-8212043: Add floating-point Math.min/max intrinsics + JDK-8212218: [TESTBUG] runtime/ErrorHandling/ /TestHeapDumpOnOutOfMemoryErrorInMetaspace.java timed out + JDK-8213116: javax/swing/JComboBox/WindowsComboBoxSize/ /WindowsComboBoxSizeTest.java fails in Windows + JDK-8213909: jdeps --print-module-deps should report missing dependences + JDK-8214180: Need better granularity for sleeping + JDK-8214223: tools/jdeps/listdeps/ListModuleDeps.java failed due to missing Lib2 file + JDK-8214230: Classes generated by SystemModulesPlugin.java are not reproducable + JDK-8214741: docs/index.html has no title or copyright + JDK-8215687: [Graal] unit test CheckGraalIntrinsics failed after 8212043 + JDK-8217848: [Graal] vmTestbase/nsk/jvmti/ResourceExhausted/ /resexhausted003/TestDescription.java fails + JDK-8218482: sun/security/krb5/auto/ReplayCachePrecise.java failed - no KrbException thrown + JDK-8218550: Add test omitted from JDK-8212043 + JDK-8221584: SIGSEGV in os::PlatformEvent::unpark() in JvmtiRawMonitor::raw_exit while posting method exit event + JDK-8221995: AARCH64: problems with CAS instructions encoding + JDK-8222518: Remove unnecessary caching of Parker object in java.lang.Thread + JDK-8222785: aarch64: add necessary masking for immediate shift counts + JDK-8223186: HotSpot compile warnings from GCC 9 + JDK-8225773: jdeps --check produces NPE if there are missing module dependences + JDK-8225805: Java Access Bridge does not close the logger + JDK-8226810: Failed to launch JVM because of NullPointerException occured on System.props + JDK-8229396: jdeps ignores multi-release when generate-module-info used on command line + JDK-8229474: Shenandoah: Cleanup CM::update_roots() + JDK-8232225: Rework the fix for JDK-8071483 + JDK-8232905: JFR fails with assertion: assert(t->unflushed_size() == 0) failed: invariant + JDK-8233164: C2 fails with assert(phase->C->get_alias_index(t) == phase->C->get_alias_index(t_adr)) failed: correct memory chain + JDK-8233910: java/awt/ColorClass/AlphaColorTest.java is failing intermittently in nightly lnux-x64 system + JDK-8233912: aarch64: minor improvements of atomic operations + JDK-8234508: VM_HeapWalkOperation::iterate_over_object reads non-strong fields with an on-strong load barrier + JDK-8234742: Improve handshake logging + JDK-8234796: Refactor Handshake::execute to take a more complex type than ThreadClosure + JDK-8235324: Dying objects are published from users of CollectedHeap::object_iterate + JDK-8235351: Lookup::unreflect should bind with the original caller independent of Method's accessible flag + JDK-8237369: Shenandoah: failed vmTestbase/nsk/jvmti/ /AttachOnDemand/attach021/TestDescription.java test + JDK-8237392: Shenandoah: Remove unreliable assertion + JDK-8237483: AArch64 C1 OopMap inserted twice fatal error + JDK-8237495: Java MIDI fails with a dereferenced memory error when asked to send a raw 0xF7 + JDK-8239355: (dc) Initial value of SO_SNDBUF should allow sending large datagrams (macOS) + JDK-8240353: AArch64: missing support for - XX:+ExtendedDTraceProbes in C1 + JDK-8240704: CheckHandles.java failed "AssertionError: Handle use increased by more than 10 percent." + JDK-8240751: Shenandoah: fold ShenandoahTracer definition + JDK-8240795: [REDO] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found" + JDK-8241598: Upgrade JLine to 3.14.0 + JDK-8241649: Optimize Character.toString + JDK-8241770: Module xxxAnnotation() methods throw NCDFE if module-info.class found as resource in unnamed module + JDK-8241911: AArch64: Fix a potential register clash issue in reduce_add2I + JDK-8242030: Wrong package declarations in jline classes after JDK-8241598 + JDK-8242565: Policy initialization issues when the denyAfter constraint is enabled + JDK-8243618: compiler/rtm/cli tests can be run w/o WhiteBox + JDK-8243670: Unexpected test result caused by C2 MergeMemNode::Ideal + JDK-8244088: [Regression] Switch of Gnome theme ends up in deadlocked UI + JDK-8244154: Update SunPKCS11 provider with PKCS11 v3.0 header files + JDK-8244340: Handshake processing thread lacks yielding + JDK-8244573: java.lang.ArrayIndexOutOfBoundsException thrown for malformed class file + JDK-8244683: A TSA server used by tests + JDK-8245005: javax/net/ssl/compatibility/BasicConnectTest.java failed with No enum constant + JDK-8245026: PsAdaptiveSizePolicy::_old_gen_policy_is_ready is unused + JDK-8245283: JFR: Can't handle constant dynamic used by Jacoco agent + JDK-8245512: CRC32 optimization using AVX512 instructions + JDK-8245527: LDAP Channel Binding support for Java GSS/Kerberos + JDK-8246707: (sc) SocketChannel.read/write throws AsynchronousCloseException on closed channel + JDK-8246709: sun/security/tools/jarsigner/ /TsacertOptionTest.java compilation failed after JDK-8244683 + JDK-8247200: assert((unsigned)fpargs < 32) + JDK-8247766: [aarch64] guarantee(val < (1U << nbits)) failed: Field too big for insn. + JDK-8248336: AArch64: C2: offset overflow in BoxLockNode::emit + JDK-8248865: Document JNDI/LDAP timeout properties + JDK-8248901: Signed immediate support in .../share/assembler.hpp is broken. + JDK-8249543: Force DirectBufferAllocTest to run with - ExplicitGCInvokesConcurrent + JDK-8249588: libwindowsaccessbridge issues on 64bit Windows + JDK-8249749: modify a primitive array through a stream and a for cycle causes jre crash + JDK-8249787: Make TestGCLocker more resilient with concurrent GCs + JDK-8249867: xml declaration is not followed by a newline + JDK-8250911: [windows] os::pd_map_memory() error detection broken + JDK-8251255: [linux] Add process-memory information to hs-err and VM.info + JDK-8251359: Shenandoah: filter null oops before calling enqueue/SATB barrier + JDK-8251925: C2: RenaissanceStressTest fails with assert(!had_error): bad dominance + JDK-8251944: Add Shenandoah test config to compiler/gcbarriers/UnsafeIntrinsicsTest.java + JDK-8251992: VM crashed running TestComplexAddrExpr.java test with -XX:UseAVX=X + JDK-8253220: Epsilon: clean up unused code/declarations + JDK-8253274: The CycleDMImagetest brokes the system + JDK-8253353: Crash in C2: guarantee(n != NULL) failed: No Node + JDK-8253368: TLS connection always receives close_notify exception + JDK-8253404: C2: assert(C->live_nodes() <= C->max_node_limit()) failed: Live Node limit exceeded limit + JDK-8253409: Double-rounding possibility in float fma + JDK-8253476: TestUseContainerSupport.java fails on some Linux kernels w/o swap limit capabilities + JDK-8253524: C2: Refactor code that clones predicates during loop unswitching + JDK-8253644: C2: assert(skeleton_predicate_has_opaque(iff)) failed: unexpected + JDK-8253681: closed java/awt/dnd/MouseEventAfterStartDragTest/ /MouseEventAfterStartDragTest.html test failed + JDK-8253702: BigSur version number reported as 10.16, should be 11.nn + JDK-8253756: C2 CompilerThread0 crash in Node::add_req(Node*) + JDK-8254104: MethodCounters must exist before nmethod is installed + JDK-8254734: "dead loop detected" assert failure with patch from 8223051 + JDK-8254748: Bad Copyright header format after JDK-8212218 + JDK-8254799: runtime/ErrorHandling/ /TestHeapDumpOnOutOfMemoryError.java fails with release VMs + JDK-8255058: C1: assert(is_virtual()) failed: type check + JDK-8255351: Add detection for Graviton 2 CPUs + JDK-8255368: Math.exp() gives wrong result for large values on x86 32-bit platforms + JDK-8255387: Japanese characters were printed upside down on AIX + JDK-8255401: Shenandoah: Allow oldval and newval registers to overlap in cmpxchg_oop() + JDK-8255479: [aarch64] assert(src->section_index_of(target) == CodeBuffer::SECT_NONE) failed: sanity + JDK-8255544: Create a checked cast + JDK-8255559: Leak File Descriptors Because of ResolverLocalFilesystem#engineResolveURI() + JDK-8255681: print callstack in error case in runAWTLoopWithApp + JDK-8255734: VM should ignore SIGXFSZ on ppc64, s390 too + JDK-8255742: PrintInlining as compiler directive doesn't print virtual calls + JDK-8255845: Memory leak in imageFile.cpp + JDK-8255880: UI of Swing components is not redrawn after their internal state changed + JDK-8255908: ExceptionInInitializerError due to UncheckedIOException while initializing cgroupv1 subsystem + JDK-8256025: AArch64: MachCallRuntimeNode::ret_addr_offset() is incorrect for stub calls + JDK-8256056: Deoptimization stub doesn't save vector registers on x86 + JDK-8256061: RegisterSaver::save_live_registers() omits upper halves of ZMM0-15 registers + JDK-8256187: [TEST_BUG] Automate bug4275046.java test + JDK-8256220: C1: x86_32 fails with -XX:UseSSE=1 after JDK-8210764 due to mishandled lir_neg + JDK-8256258: some missing NULL checks or asserts after CodeCache::find_blob_unsafe + JDK-8256264: Printed GlyphVector outline with low DPI has bad quality on Windows + JDK-8256290: javac/lambda/T8031967.java fails with StackOverflowError on x86_32 + JDK-8256359: AArch64: runtime/ReservedStack/ /ReservedStackTestCompiler.java fails + JDK-8256387: Unexpected result if patching an entire instruction on AArch64 + JDK-8256421: Add 2 HARICA roots to cacerts truststore + JDK-8256488: [aarch64] Use ldpq/stpq instead of ld4/st4 for small copies in StubGenerator::copy_memory + JDK-8256489: Make gtest for long path names on Windows more resilient in the presence of virus scanners + JDK-8256501: libTestMainKeyWindow fails to build with Xcode 12.2 + JDK-8256633: Fix product build on Windows+Arm64 + JDK-8256682: JDK-8202343 is incomplete + JDK-8256751: Incremental rebuild with precompiled header fails when touching a header file + JDK-8256757: Incorrect MachCallRuntimeNode::ret_addr_offset() for CallLeafNoFP on x86_32 + JDK-8256806: Shenandoah: optimize shenandoah/jni/ /TestPinnedGarbage.java test + JDK-8256807: C2: Not marking stores correctly as mismatched in string opts + JDK-8256810: Incremental rebuild broken on Macosx + JDK-8256818: SSLSocket that is never bound or connected leaks socket resources + JDK-8256888: Client manual test problem list update + JDK-8257083: Security infra test failures caused by JDK-8202343 + JDK-8257408: Bump update version for OpenJDK: jdk-11.0.11 + JDK-8257423: [PPC64] Support -XX:-UseInlineCaches + JDK-8257436: [aarch64] Regressions in ArrayCopyUnalignedDst .testByte/testChar for 65-78 bytes when UseSIMDForMemoryOps is on + JDK-8257513: C2: assert((constant_addr - _masm.code()->consts()->start()) == con.offset()) + JDK-8257547: Handle multiple prereqs on the same line in deps files + JDK-8257561: Some code is not vectorized after 8251925 and 8250607 + JDK-8257565: epsilonBarrierSet.hpp should not include barrierSetAssembler + JDK-8257575: C2: "failed: only phis" assert failure in loop strip mining verification + JDK-8257594: C2 compiled checkcast of non-null object triggers endless deoptimization/recompilation cycle + JDK-8257633: Missing -mmacosx-version-min=X flag when linking libjvm + JDK-8257670: sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java reports leaks + JDK-8257707: Fix incorrect format string in Http1HeaderParser + JDK-8257746: Regression introduced with JDK-8250984 - memory might be null in some machines + JDK-8257798: [PPC64] undefined reference to Klass::vtable_start_offset() + JDK-8257884: Re-enable sun/security/ssl/SSLSocketImpl/ /SSLSocketLeak.java as automatic test + JDK-8257910: [JVMCI] Set exception_seen accordingly in the runtime. + JDK-8257997: sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java again reports leaks after JDK-8257884 + JDK-8257999: Parallel GC crash in gc/parallel/ /TestDynShrinkHeap.java: new region is not in covered_region + JDK-8258077: Using -Xcheck:jni can lead to a double-free after JDK-8193234 + JDK-8258247: Couple of issues in fix for JDK-8249906 + JDK-8258373: Update the text handling in the JPasswordField + JDK-8258396: SIGILL in jdk.jfr.internal.PlatformRecorder .rotateDisk() + JDK-8258419: RSA cipher buffer cleanup + JDK-8258471: "search codecache" clhsdb command does not work + JDK-8258534: Epsilon: clean up unused includes + JDK-8258805: Japanese characters not entered by mouse click on Windows 10 + JDK-8258833: Cancel multi-part cipher operations in SunPKCS11 after failures + JDK-8258836: JNI local refs exceed capacity getDiagnosticCommandInfo + JDK-8258884: [TEST_BUG] Convert applet-based test open/test/jdk/javax/swing/JMenuItem/8031573/bug8031573.java to a regular java test + JDK-8259007: This test printed a blank page + JDK-8259048: (tz) Upgrade time-zone data to tzdata2020f + JDK-8259049: Uninitialized variable after JDK-8257513 + JDK-8259231: Epsilon: improve performance under contention during virtual space expansion + JDK-8259271: gc/parallel/TestDynShrinkHeap.java still fails "assert(covered_region.contains(new_memregion)) failed: new region is not in covered_region" + JDK-8259312: VerifyCACerts.java fails as soneraclass2ca cert will expire in 90 days + JDK-8259319: Illegal package access when SunPKCS11 requires SunJCE's classes + JDK-8259339: AllocateUninitializedArray C2 intrinsic fails with void.class input + JDK-8259428: AlgorithmId.getEncodedParams() should return copy + JDK-8259446: runtime/jni/checked/ /TestCheckedReleaseArrayElements.java fails with stderr not empty + JDK-8259451: Zero: skip serviceability/sa tests, set vm.hasSA to false + JDK-8259580: Shenandoah: uninitialized label in VerifyThreadGCState + JDK-8259619: C1: 3-arg StubAssembler::call_RT stack-use condition is incorrect + JDK-8259633: compiler/graalunit/CoreTest.java fails with NPE after JDK-8244543 + JDK-8259706: C2 compilation fails with assert(vtable_index == Method::invalid_vtable_index) failed: correct sentinel value + JDK-8259707: LDAP channel binding does not work with StartTLS extension + JDK-8259773: Incorrect encoding of AVX-512 kmovq instruction + JDK-8259849: Shenandoah: Rename store-val to IU-barrier + JDK-8259949: x86 32-bit build fails when -fcf-protection is passed in the compiler flags + JDK-8259954: gc/shenandoah/mxbeans tests fail with -Xcomp + JDK-8260029: aarch64: fix typo in verify_oop_array + JDK-8260308: Update LogCompilation junit to 4.13.1 + JDK-8260338: Some fields in HaltNode is not cloned + JDK-8260349: Cannot programmatically retrieve Metaspace max set via JAVA_TOOL_OPTIONS + JDK-8260356: (tz) Upgrade time-zone data to tzdata2021a + JDK-8260378: [TESTBUG] DcmdMBeanTestCheckJni.java reports false positive + JDK-8260497: Shenandoah: Improve SATB flushing + JDK-8260502: [s390] NativeMovRegMem::verify() fails because it's too strict + JDK-8260632: Build failures after JDK-8253353 + JDK-8260704: ParallelGC: oldgen expansion needs release-store for _end + JDK-8261022: Fix incorrect result of Math.abs() with char type + JDK-8261089: [TESTBUG] native library of test TestCheckedReleaseCriticalArray.java fails to compile with gcc 4.x + JDK-8261183: Follow on to Make lists of normal filenames + JDK-8261209: isStandalone property: remove dependency on pretty-print + JDK-8261231: Windows IME was disabled after DnD operation + JDK-8261251: Shenandoah: Use object size for full GC humongous compaction + JDK-8261310: PPC64 Zero build fails with 'VMError::controlled_crash(int)::FunctionDescriptor functionDescriptor' has incomplete type and cannot be defined + JDK-8261334: NMT: tuning statistic shows incorrect hash distribution + JDK-8261413: Shenandoah: Disable class-unloading in I-U mode + JDK-8261522: [PPC64] AES intrinsics write beyond the destination array + JDK-8261534: Test sun/security/pkcs11/KeyAgreement/ /IllegalPackageAccess.java fails on platforms where no nsslib artifacts are defined + JDK-8261585: Restore HandleArea used in Deoptimization::uncommon_trap + JDK-8261753: Test java/lang/System/OsVersionTest.java still failing on BigSur patch versions after JDK-8253702 + JDK-8261829: Exclude tools/jlink/JLinkReproducibleTest.java in 11u + JDK-8261912: Code IfNode::fold_compares_helper more defensively + JDK-8261920: [AIX] jshell command throws java.io.IOError on non English locales + JDK-8262018: Wrong format in SAP copyright header of OsVersionTest + JDK-8263069: Exclude some failing tests from security/infra/java/security/cert/CertPathValidator- moved mozilla-nss dependency to java-11-openjdk-headless package This is necessary to be able to do crypto with just java-11-openjdk-headless installed. Fixes boo#1184606- Added patches: * system-crypto-policy.patch + Let OpenJDK use system crypto policies unless explicitely told not to * nss-security-provider.patch + Add the NSS security provider with configuration in generated nss.cfg file * keytool-default-rsa.patch + Make keytool generate RSA keys by default, since only the LEGACY system crypto policy allows DSA- Update to upstream tag jdk-11.0.10+9 (January 2021 CPU, bsc#1181239) * Security fixes + JDK-8247619: Improve Direct Buffering of Characters * Other changes + JDK-6722928: Support SSPI as a native GSS-API provider + JDK-7185258: [macosx] Deadlock in SunToolKit.realSync() + JDK-8152332: [macosx] JFileChooser cannot be serialized on Mac OS X + JDK-8161684: [testconf] Add VerifyOops' testing into compiler tiers + JDK-8171279: Support X25519 and X448 in TLS + JDK-8173361: various crashes in JvmtiExport::post_compiled_method_load + JDK-8173658: JvmtiExport::post_class_unload() is broken for non-JavaThread initiators + JDK-8191006: hsdis disassembler plugin does not compile with binutils 2.29+ + JDK-8197981: Missing return statement in __sync_val_compare_and_swap_8 + JDK-8198334: java/awt/FileDialog/8003399/bug8003399.java fails in headless mode + JDK-8200151: Add 8 JNDI tests to com/sun/jndi/dns/ConfigTests/ + JDK-8208279: Add 8 JNDI tests to com/sun/jndi/dns/EnvTests/ + JDK-8208483: Add 5 JNDI tests to com/sun/jndi/dns/FactoryTests/ + JDK-8208542: Add 4 JNDI tests to com/sun/jndi/dns/ListTests/ + JDK-8208665: Amend cross-compilation docs with qemu-debootstrap recipe + JDK-8210088: ProblemList gc/epsilon/TestMemoryMXBeans.java + JDK-8210339: Add 10 JNDI tests to com/sun/jndi/dns/FedTests/ + JDK-8211450: UndetVar::dup is not copying the kind field to the duplicated instance + JDK-8212160: JVMTI agent crashes with "assert(_value != 0LL) failed: resolving NULL _value" + JDK-8212226: SurfaceManager throws "Invalid Image variant" for MultiResolutionImage (Windows) + JDK-8213400: Support choosing group name in keytool keypair generation + JDK-8213535: Windows HiDPI html lightweight tooltips are truncated + JDK-8213698: Improve devkit creation and add support for linux/ppc64/ppc64le/s390x + JDK-8214025: assert(t->singleton()) failed: must be a constant when ScavengeRootsInCode < 2 + JDK-8214242: compiler/arguments/TestScavengeRootsInCode.java fails because of missing UnlockDiagnosticVMOptions + JDK-8214787: Zero builds fail with "undefined JavaThread::thread_state()" + JDK-8215583: Exclude runtime/handshake/HandshakeWalkSuspendExitTest.java + JDK-8216012: Infinite loop in RSA KeyPairGenerator + JDK-8216324: GetClassMethods is confused by the presence of default methods in super interfaces + JDK-8217429: WebSocket over authenticating proxy fails to send Upgrade headers + JDK-8217976: test/jdk/java/net/httpclient/websocket/ /WebSocketProxyTest.java fails intermittently + JDK-8218021: Have jarsigner preserve posix permission attributes + JDK-8218287: jshell tool: input behavior unstable after 12-ea+24 on Windows + JDK-8218851: JVM crash in custom classloader stress test, JDK 12 & 13 + JDK-8220420: Cleanup c1_LinearScan + JDK-8222072: JVMTI GenerateEvents() sends CompiledMethodLoad events to wrong jvmtiEnv + JDK-8222286: Fix for JDK-8213419 is broken on s390 + JDK-8222527: HttpClient doesn't send HOST header when tunelling HTTP/1.1 through http proxy + JDK-8222533: jtreg test jdk/internal/platform/cgroup/ /TestCgroupMetrics.java fails on SLES12.3 linux ppc64le machine + JDK-8224506: [TESTBUG] TestDockerMemoryMetrics.java fails with exitValue = 137 + JDK-8224555: vmTestbase/nsk/jvmti/scenarios/contention/TC02/ /tc02t001/TestDescription.java failed + JDK-8224650: Add tests to support X25519 and X448 in TLS + JDK-8225072: Add LuxTrust certificate that is expiring in March 2021 to list of allowed but expired certs + JDK-8225329: -XX:+PrintBiasedLockingStatistics causes crash during initialization on Windows platforms + JDK-8225687: Newly added sspi.cpp in JDK-6722928 still contains some small errors + JDK-8227006: [linux] Runtime.availableProcessors execution time increased by factor of 100 + JDK-8227275: Within native OOM error handling, assertions may hang the process + JDK-8227647: [Graal] Test8009761.java fails due to "RuntimeException: static java.lang.Object compiler.uncommontrap.Test8009761.m3(boolean,boolean) not compiled" + JDK-8229495: SIGILL in C2 generated OSR compilation + JDK-8230910: libsspi_bridge does not build on Windows 32bit + JDK-8232114: JVM crashed at imjpapi.dll in native code + JDK-8234147: Avoid looking up standard charsets in core libraries + JDK-8234393: [macos] printing ignores printer tray + JDK-8234863: Increase default value of MaxInlineLevel + JDK-8235218: Minimal VM is broken after JDK-8173361 + JDK-8235456: Minimal VM is broken after JDK-8212160 + JDK-8235829: graal crashes with Zombie.java test + JDK-8236124: Minimal VM slowdebug build failed after JDK-8212160 + JDK-8236512: PKCS11 Connection closed after Cipher.doFinal and NoPadding + JDK-8236944: The legVecZ operand should be limited to zmm0-zmm15 registers + JDK-8237186: Fix typo in copyright header of java/io/Reader/TransferTo.java + JDK-8237499: JFR: Include stack trace in the ThreadStart event + JDK-8237512: AArch64: aarch64TestHook leaks a BufferBlob + JDK-8237524: AArch64: String.compareTo() may return incorrect result + JDK-8237950: C2 compilation fails with "Live Node limit exceeded limit" during ConvI2L::Ideal optimization + JDK-8238579: HttpsURLConnection drops the timeout and hangs forever in read + JDK-8239105: Add exception for expiring Digicert root certificates to VerifyCACerts test + JDK-8239477: jdk/jfr/jcmd/TestJcmdStartStopDefault.java fails - XX:+VerifyOops with "verify_oop: rsi: broken oop" + JDK-8239497: SEGV in EdgeUtils::field_name_symbol(Edge const&) + JDK-8239886: Minimal VM build fails after JDK-8237499 + JDK-8240633: Memory leaks in the implementations of FileChooserUI + JDK-8240690: Race condition between EDT and BasicDirectoryModel.FilesLoader.run0() + JDK-8241234: Unify monitor enter/exit runtime entries. + JDK-8241311: Move some charset mapping tests from closed to open + JDK-8241797: Add some tests to the problem list + JDK-8242029: AArch64: skip G1 array copy pre-barrier if marking not active + JDK-8242335: Additional Tests for RSASSA-PSS + JDK-8242480: Negative value may be returned by getFreeSwapSpaceSize() in the docker + JDK-8242614: cleanup duplicated test ldap server in some com/sun/jndi/ldap/ tests + JDK-8242846: Bring back test/jdk/tools/jlink/plugins/ /OrderResourcesPluginTest.java + JDK-8243114: Implement montgomery{Multiply,Square}intrinsics on Windows + JDK-8243290: Improve diagnostic messages for class verification and redefinition failures + JDK-8243488: Add tests for set/get SendBufferSize and getReceiveBufferSize in DatagramSocket + JDK-8243549: sun/security/ssl/CipherSuite/ /NamedGroupsWithCipherSuite.java failed with Unsupported signature algorithm: DSA + JDK-8243617: compiler/onSpinWait/TestOnSpinWaitC1.java test uses wrong class + JDK-8243619: compiler/codecache/CheckSegmentedCodeCache.java test misses -version + JDK-8244142: some hotspot/runtime tests don't check exit code of forked JVM + JDK-8244278: Excessive code cache flushes and sweeps + JDK-8244282: test/hotspot/jtreg/compiler/intrinsics/ /Test8237524.java fails with --illegal-access=deny + JDK-8244621: [macos10.15] Garbled FX printing plus CoreText warnings on Catalina when building with Xcode 11 + JDK-8244819: hsdis does not compile with binutils 2.34+ + JDK-8245051: c1 is broken if it is compiled by gcc without - fno-lifetime-dse + JDK-8245168: jlink should not be treated as a "small" tool + JDK-8245400: Upgrade to LittleCMS 2.11 + JDK-8246381: VM crashes with "Current BasicObjectLock* below than low_mark" + JDK-8246434: Threads::print_on_error assumes that the heap has been set up + JDK-8246648: issue with OperatingSystemImpl getFreeSwapSpaceSize in docker after 8242480 + JDK-8247201: Print potential pointer value of readable stack memory in hs_err file + JDK-8247763: assert(outer->outcnt() == 2) failed: 'only phis' failure in LoopNode::verify_strip_mined() + JDK-8247867: Upgrade to freetype 2.10.2 + JDK-8248190: Enable Power10 system and implement new byte-reverse instructions + JDK-8248226: TestCloneAccessStressGCM fails with - XX:-ReduceBulkZeroing + JDK-8248347: windows build broken by JDK-8243114 + JDK-8248532: Every time I change keyboard language at my MacBook, Java crashes + JDK-8248552: C2 crashes with SIGFPE due to division by zero + JDK-8248596: [TESTBUG] compiler/loopopts/ /PartialPeelingUnswitch.java times out with Graal enabled + JDK-8248745: Add jarsigner and keytool tests for restricted algorithms + JDK-8248791: sun/util/resources/cldr/TimeZoneNamesTest.java fails with -XX:-ReduceInitialCardMarks -XX:-ReduceBulkZeroing + JDK-8248845: AArch64: stack corruption after spilling vector register + JDK-8249176: Update GlobalSignR6CA test certificates + JDK-8249183: JVM crash in "AwtFrame::WmSize" method + JDK-8249192: MonitorInfo stores raw oops across safepoints + JDK-8249602: C2: assert(cnt == _outcnt) failed: no insertions allowed + JDK-8249603: C1: assert(has_error == false) failed: register allocation invalid + JDK-8249605: C2: assert(no_dead_loop) failed: dead loop detected + JDK-8249607: C2: assert(!had_error) failed: bad dominance + JDK-8249608: Vector register used by C2 compiled method corrupted at safepoint + JDK-8249672: Include microcode revision in features_string on x86 + JDK-8249748: gtest silently ignores bad jvm arguments + JDK-8249821: Separate libharfbuzz from libfontmanager + JDK-8250598: Hyper-V is detected in spite of running on host OS + JDK-8250605: Linux x86_32 builds fail after JDK-8249821 + JDK-8250636: iso8601_time returns incorrect offset part on MacOS + JDK-8250665: Wrong translation for the month name of May in ar_JO,LB,SY + JDK-8250772: Test com/sun/jndi/ldap/ /NamingExceptionMessageTest.java fails intermittently with javax.naming.ServiceUnavailableException + JDK-8250825: C2 crashes with assert(field != __null) failed: missing field + JDK-8250894: Provide a configure option to build and run against the platform libharfbuzz + JDK-8250928: JFR: Improve hash algorithm for stack traces + JDK-8250968: Symlinks attributes not preserved when using jarsigner on zip files + JDK-8250984: Memory Docker tests fail on some Linux kernels w/o cgroupv1 swap limit capabilities + JDK-8251118: BiasedLocking::preserve_marks should not have a HandleMark + JDK-8251189: com/sun/jndi/ldap/LdapDnsProviderTest.java failed due to timeout + JDK-8251257: NMT: jcmd VM.native_memory scale=1 crashes target VM + JDK-8251365: Build failure on AIX after 8250636 + JDK-8251397: NPE on ClassValue.ClassValueMap.cacheArray + JDK-8251456: [TESTBUG] compiler/vectorization/ /TestVectorsNotSavedAtSafepoint.java failed OutOfMemoryError + JDK-8251458: Parse::do_lookupswitch fails with "assert(_cnt >= 0) failed" + JDK-8251535: Partial peeling at unsigned test adds incorrect loop exit check + JDK-8251949: ZGC: Set explicit heap size for compiler/gcbarriers tests + JDK-8252090: JFR: StreamWriterHost::write_unbuffered() stucks in an infinite loop OpenJDK (build 13.0.1+9) + JDK-8252415: Bump update version for OpenJDK: jdk-11.0.10 + JDK-8252470: java/awt/dnd/DisposeFrameOnDragCrash/ /DisposeFrameOnDragTest.java fails on Windows + JDK-8252497: Incorrect numeric currency code for ROL + JDK-8252660: Shenandoah: support manageable SoftMaxHeapSize option + JDK-8252679: Two windows specific FileDIalog tests may fail on some Windows_Server_2016_Standard + JDK-8252696: Loop unswitching may cause out of bound array load to be executed + JDK-8252754: Hash code calculation of JfrStackTrace is inconsistent + JDK-8253219: Epsilon: clean up unnecessary includes + JDK-8253224: Shenandoah: ShenandoahStrDedupQueue destructor calls virtual num_queues() + JDK-8253226: Shenandoah: remove unimplemented ShenandoahStrDedupQueue::verify + JDK-8253269: The CheckCommonColors test should provide more info on failure + JDK-8253284: Zero OrderAccess barrier mappings are incorrect + JDK-8253375: OSX build fails with Xcode 12.0 (12A7209) + JDK-8253778: ShenandoahSafepoint::is_at_shenandoah_safepoint should not access VMThread state from other threads + JDK-8253791: Issue with useAppleColor check in CSystemColors.m + JDK-8254016: Test8237524 fails with -XX:-CompactStrings option + JDK-8254081: java/security/cert/PolicyNode/ /GetPolicyQualifiers.java fails due to an expired certificate + JDK-8254144: Non-x86 Zero builds fail with return-type warning in os_linux_zero.cpp + JDK-8254166: Zero: return-type warning in zeroInterpreter_zero.cpp + JDK-8254177: (tz) Upgrade time-zone data to tzdata2020b + JDK-8254185: Fix Code cache sweeper heuristics for JDK 11 + JDK-8254190: [s390] interpreter misses exception check after calling monitorenter + JDK-8254790: SIGSEGV in string_indexof_char and stringL_indexof_char intrinsics + JDK-8254854: [cgroups v1] Metric limits not properly detected on some join controller combinations + JDK-8254982: (tz) Upgrade time-zone data to tzdata2020c + JDK-8255050: Add pkcs11/KeyStore/ClientAuth.sh to Problem list + JDK-8255065: Zero: accessor_entry misses the IRIW case + JDK-8255226: (tz) Upgrade time-zone data to tzdata2020d + JDK-8255269: Unsigned overflow in g1Policy.cpp + JDK-8255365: Problem list failing client manual tests + JDK-8255457: Shenandoah: cleanup ShenandoahMarkTask + JDK-8255466: C2 crashes at ciObject::get_oop() const+0x0 + JDK-8255550: x86: Assembler::cmpq(Address dst, Register src) encoding is incorrect + JDK-8255603: Memory/Performance regression after JDK-8210985 + JDK-8255760: Shenandoah: match constants style in ShenandoahMarkTask fallback + JDK-8255781: Bump patch update version for OpenJDK: jdk-11.0.9.1 + JDK-8255937: Better cleanup for test/jdk/javax/imageio/stream/StreamFlush.java + JDK-8256427: Test com/sun/jndi/dns/ConfigTests/ /PortUnreachable.java does not work on AIX + JDK-8256452: Integrate missing part of JDK-8232370 to 11u + JDK-8256483: [TESTBUG] serviceability/jvmti/GetClassMethods/ /libOverpassMethods.c fails to compile on gcc 4.4.x + JDK-8256557: libharfbuzz fails to link on gcc 4.4.x due to - Wl,-z,defs + JDK-8256618: Zero: Linux x86_32 build still fails + JDK-8256736: Zero: GTest tests fail with "unsuppported vm variant" + JDK-8256809: Annotation processing causes NPE during flow analysis + JDK-8257181: s390x builds are very noisy with gc-sections messages + JDK-8257242: [macOS] Java app crashes while switching input methods + JDK-8257545: SunJSSE FIPS regression in key exchange after JDK-8171279 11u backport + JDK-8257641: Shenandoah: Query is_at_shenandoah_safepoint() from control thread should return false + JDK-8257701: Shenandoah: objArrayKlass metadata is not marked with chunked arrays + JDK-8258630: Add expiry exception for QuoVadis root certificate - New upstream dependency on libharfbuzz - Regenerated patches: missing-return.patch system-pcsclite.patch- Update to upstream tag jdk-11.0.9.1-1 * Fix: + JDK-8250861: Crash in MinINode::Ideal(PhaseGVN*, bool) - Removed patch: * JDK-8250861.patch + Integrated upstream- Enable Sheandoah GC for x86_64 (jsc#ECO-3171)- Update to upstream tag jdk-11.0.9-11 (October 2020 CPU, bsc#1177943) * New features + JDK-8250784: Shenandoah: A Low-Pause-Time Garbage Collector * Security fixes + JDK-8233624: Enhance JNI linkage + JDK-8236196: Improve string pooling + JDK-8236862, CVE-2020-14779: Enhance support of Proxy class + JDK-8237990, CVE-2020-14781: Enhanced LDAP contexts + JDK-8237995, CVE-2020-14782: Enhance certificate processing + JDK-8240124: Better VM Interning + JDK-8241114, CVE-2020-14792: Better range handling + JDK-8242680, CVE-2020-14796: Improved URI Support + JDK-8242685, CVE-2020-14797: Better Path Validation + JDK-8242695, CVE-2020-14798: Enhanced buffer support + JDK-8243302: Advanced class supports + JDK-8244136, CVE-2020-14803: Improved Buffer supports + JDK-8244479: Further constrain certificates + JDK-8244955: Additional Fix for JDK-8240124 + JDK-8245407: Enhance zoning of times + JDK-8245412: Better class definitions + JDK-8245417: Improve certificate chain handling + JDK-8248574: Improve jpeg processing + JDK-8249927: Specify limits of jdk.serialProxyInterfaceLimit + JDK-8253019: Enhanced JPEG decoding * Other changes + JDK-6532025: GIF reader throws misleading exception with truncated images + JDK-6949753: [TEST BUG]: java/awt/print/PageFormat/ /PDialogTest.java needs update by removing an infinite loop + JDK-8022535: [TEST BUG] javax/swing/text/html/parser/ /Test8017492.java fails + JDK-8062947: Fix exception message to correctly represent LDAP connection failure + JDK-8067354: com/sun/jdi/GetLocalVariables4Test.sh failed + JDK-8134599: TEST_BUG: java/rmi/transport/closeServerSocket/ /CloseServerSocket.java fails intermittently with Address already in use + JDK-8151678: com/sun/jndi/ldap/LdapTimeoutTest.java failed due to timeout on DeadServerNoTimeoutTest is incorrect + JDK-8160768: Add capability to custom resolve host/domain names within the default JNDI LDAP provider + JDK-8172404: Tools should warn if weak algorithms are used before restricting them + JDK-8193367: Annotated type variable bounds crash javac + JDK-8202117: com/sun/jndi/ldap/RemoveNamingListenerTest.java fails intermittently: Connection reset + JDK-8203026: java.rmi.NoSuchObjectException: no such object in table + JDK-8203281: [Windows] JComboBox change in ui when editor.setBorder() is called + JDK-8203382: Rename SystemDictionary::initialize_wk_klass to resolve_wk_klass + JDK-8203393: com/sun/jdi/JdbMethodExitTest.sh and JdbExprTest.sh fail due to timeout + JDK-8203928: [Test] Convert non-JDB scaffolding serviceability shell script tests to java + JDK-8204963: javax.swing.border.TitledBorder has a memory leak + JDK-8204994: SA might fail to attach to process with "Windbg Error: WaitForEvent failed" + JDK-8205534: Remove SymbolTable dependency from serviceability agent + JDK-8206309: Tier1 SA tests fail + JDK-8208281: java/nio/channels/ /AsynchronousSocketChannel/Basic.java timed out + JDK-8209109: [TEST] rewrite com/sun/jdi shell tests to java version - step1 + JDK-8209332: [TEST] test/jdk/com/sun/jdi/CatchPatternTest.sh is incorrect + JDK-8209342: Problemlist SA tests on Solaris due to Error attaching to process: Can't create thread_db agent! + JDK-8209343: Test javax/swing/border/TestTitledBorderLeak.java should be marked as headful + JDK-8209517: com/sun/jdi/BreakpointWithFullGC.java fails with timeout + JDK-8209604: [TEST] rewrite com/sun/jdi shell tests to java version - step2 + JDK-8209605: com/sun/jdi/BreakpointWithFullGC.java fails with ZGC + JDK-8209608: Problem list com/sun/jdi/BreakpointWithFullGC.java + JDK-8210131: vmTestbase/nsk/jvmti/scenarios/allocation/AP10/ /ap10t001/TestDescription.java failed with ObjectFree: GetCurrentThreadCpuTimerInfo returned unexpected error code + JDK-8210243: [TEST] rewrite com/sun/jdi shell tests to java version - step3 + JDK-8210527: JShell: NullPointerException in jdk.jshell.Eval.translateExceptionStack + JDK-8210560: [TEST] convert com/sun/jdi redefineClass-related tests + JDK-8210725: com/sun/jdi/RedefineClearBreakpoint.java fails with waitForPrompt timed out after 60 seconds + JDK-8210748: [TESTBUG] lib.jdb.Jdb.waitForPrompt() should clarify which output is the pending reply after a timeout + JDK-8210760: [TEST] rewrite com/sun/jdi shell tests to java version - step4 + JDK-8210977: jdk/jfr/event/oldobject/TestThreadLocalLeak.java fails to find ThreadLocalObject + JDK-8211292: [TEST] convert com/sun/jdi/DeferredStepTest.sh test + JDK-8211694: JShell: Redeclared variable should be reset + JDK-8212200: assert when shared java.lang.Object is redefined by JVMTI agent + JDK-8212629: [TEST] wrong breakpoint in test/jdk/com/sun/jdi/DeferredStepTest + JDK-8212665: com/sun/jdi/DeferredStepTest.java: jj1 (line 57) - unexpected. lastLine=52, minLine=52, maxLine=55 + JDK-8212807: tools/jar/multiRelease/Basic.java times out + JDK-8213182: Minimal VM build failure after JDK-8212200 (assert when shared java.lang.Object is redefined by JVMTI agent) + JDK-8213214: Set -Djava.io.tmpdir= when running tests + JDK-8213275: ReplaceCriticalClasses.java fails with jdk.internal.vm.PostVMInitHook not found + JDK-8213574: Deadlock in string table expansion when dumping lots of CDS classes + JDK-8213703: LambdaConversionException: Invalid receiver type not a subtype of implementation type interface + JDK-8214074: Ghash optimization using AVX instructions + JDK-8214491: Upgrade to JLine 3.9.0 + JDK-8214797: TestJmapCoreMetaspace.java timed out + JDK-8215243: JShell tests failing intermitently with "Problem cleaning up the following threads:" + JDK-8215244: jdk/jshell/ToolBasicTest.java testHistoryReference failed + JDK-8215354: x86_32 build failures after JDK-8214074 (Ghash optimization using AVX instructions) + JDK-8215438: jshell tool: Ctrl-D causes EOF + JDK-8216021: RunTest.gmk might set concurrency level to 1 on Windows + JDK-8216974: HttpConnection not returned to the pool after 204 response + JDK-8218948: SimpleDateFormat :: format - Zone Names are not reflected correctly during run time + JDK-8219712: code_size2 (defined in stub_routines_x86.hpp) is too small on new Skylake CPUs + JDK-8220150: macos10.14 Mojave returns anti-aliased glyphs instead of aliased B&W glyphs + JDK-8221658: aarch64: add necessary predicate for ubfx patterns + JDK-8221759: Crash when completing "java.io.File.path" + JDK-8221918: runtime/SharedArchiveFile/serviceability/ /ReplaceCriticalClasses.java fails: Shared archive not found + JDK-8222074: Enhance auto vectorization for x86 + JDK-8222079: Don't use memset to initialize fields decode_env constructor in disassembler.cpp + JDK-8222769: [TESTBUG] TestJFRNetworkEvents should not rely on hostname command + JDK-8223688: JShell: crash on the instantiation of raw anonymous class + JDK-8223777: In posix_spawn mode, failing to exec() jspawnhelper does not result in an error + JDK-8223940: Private key not supported by chosen signature algorithm + JDK-8224184: jshell got IOException at exiting with AIX + JDK-8224234: compiler/codegen/TestCharVect2.java fails in test_mulc + JDK-8225037: java.net.JarURLConnection::getJarEntry() throws NullPointerException + JDK-8225625: AES Electronic Codebook (ECB) encryption and decryption optimization using AVX512 + VAES instructions + JDK-8226536: Catch OOM from deopt that fails rematerializing objects + JDK-8226575: OperatingSystemMXBean should be made container aware + JDK-8226697: Several tests which need the @key headful keyword are missing it. + JDK-8226809: Circular reference in printed stack trace is not correctly indented & ambiguous + JDK-8227059: sun/security/tools/keytool/ /DefaultSignatureAlgorithm.java timed out + JDK-8227269: Slow class loading when running with JDWP + JDK-8227595: keytool/fakegen/DefaultSignatureAlgorithm.java fails due to "exitValue = 6" + JDK-8228448: Jconsole can't connect to itself + JDK-8228967: Trust/Key store and SSL context utilities for tests + JDK-8229378: jdwp library loader in linker_md.c quietly truncates on buffer overflow + JDK-8229815: Upgrade Jline to 3.12.1 + JDK-8230000: some httpclients testng tests run zero test + JDK-8230002: javax/xml/jaxp/unittest/transform/ /SecureProcessingTest.java runs zero test + JDK-8230010: Remove jdk8037819/BasicTest1.java + JDK-8230094: CCE in createXMLEventWriter(Result) over an arbitrary XMLStreamWriter + JDK-8230402: Allocation of compile task fails with assert: "Leaking compilation tasks?" + JDK-8230767: FlightRecorderListener returns null recording + JDK-8230870: (zipfs) Add a ZIP FS test that is similar to test/jdk/java/util/zip/EntryCount64k.java + JDK-8231209: [REDO] ThreadMXBean::getThreadAllocatedBytes() can be quicker for self thread + JDK-8231586: enlarge encoding space for OopMapValue offsets + JDK-8231953: Wrong assumption in assertion in oop::register_oop + JDK-8231968: getCurrentThreadAllocatedBytes default implementation s/b getThreadAllocatedBytes + JDK-8232083: Minimal VM is broken after JDK-8231586 + JDK-8232161: Align some one-way conversion in MS950 charset with Windows + JDK-8232855: jshell missing word in /help help + JDK-8233027: OopMapSet::all_do does oms.next() twice during iteration + JDK-8233228: Disable weak named curves by default in TLS, CertPath, and Signed JAR + JDK-8233386: Initialize NULL fields for unused decorations + JDK-8233452: java.math.BigDecimal.sqrt() with RoundingMode.FLOOR results in incorrect result + JDK-8233686: XML transformer uses excessive amount of memory + JDK-8233741: AES Countermode (AES-CTR) optimization using AVX512 + VAES instructions + JDK-8233829: javac cannot find non-ASCII module name under non-UTF8 environment + JDK-8233958: Memory retention due to HttpsURLConnection finalizer that serves no purpose + JDK-8234011: (zipfs) Memory leak in ZipFileSystem.releaseDeflater() + JDK-8234058: runtime/CompressedOops/ /CompressedClassPointers.java fails with 'Narrow klass base: 0x0000000000000000' missing from stdout/stderr + JDK-8234149: Several regression tests do not dispose Frame at end + JDK-8234347: "Turkey" meta time zone does not generate composed localized names + JDK-8234385: [TESTBUG] java/awt/EventQueue/6980209/ /bug6980209.java fails in linux nightly + JDK-8234535: Cross compilation fails due to missing CFLAGS for the BUILD_CC + JDK-8234541: C1 emits an empty message when it inlines successfully + JDK-8234687: change javap reporting on unknown attributes + JDK-8236464: SO_LINGER option is ignored by SSLSocket in JDK 11 + JDK-8236548: Localized time zone name inconsistency between English and other locales + JDK-8236617: jtreg test containers/docker/ /TestMemoryAwareness.java fails after 8226575 + JDK-8237182: Update copyright header for shenandoah and epsilon files + JDK-8237888: security/infra/java/security/cert/ /CertPathValidator/certification/LuxTrustCA.java fails when checking validity interval + JDK-8237977: Further update javax/net/ssl/compatibility/Compatibility.java + JDK-8238270: java.net HTTP/2 client does not decrease stream count when receives 204 response + JDK-8238284: [macos] Zero VM build fails due to an obvious typo + JDK-8238380: java.base/unix/native/libjava/childproc.c "multiple definition" link errors with GCC10 + JDK-8238386: (sctp) jdk.sctp/unix/native/libsctp/SctpNet.c "multiple definition" link errors with GCC10 + JDK-8238388: libj2gss/NativeFunc.o "multiple definition" link errors with GCC10 + JDK-8238448: RSASSA-PSS signature verification fail when using certain odd key sizes + JDK-8238710: LingeredApp doesn't log stdout/stderr if exits with non-zero code + JDK-8239083: C1 assert(known_holder == NULL || (known_holder->is_instance_klass() && (!known_holder->is_interface() || ((ciInstanceKlass*)known_holder)->has_nonstatic_concrete_methods())), "should be non-static concrete method"); + JDK-8239385: KerberosTicket client name refers wrongly to sAMAccountName in AD + JDK-8240169: javadoc fails to link to non-modular api docs + JDK-8240295: hs_err elapsed time in seconds is not accurate enough + JDK-8240360: NativeLibraryEvent has wrong library name on Linux + JDK-8240676: Meet not symmetric failure when running lucene on jdk8 + JDK-8241007: Shenandoah: remove ShenandoahCriticalControlThreadPriority support + JDK-8241065: Shenandoah: remove leftover code after JDK-8231086 + JDK-8241086: Test runtime/NMT/HugeArenaTracking.java is failing on 32bit Windows + JDK-8241130: com.sun.jndi.ldap.EventSupport.removeDeadNotifier: java.lang.NullPointerException + JDK-8241138: http.nonProxyHosts=* causes StringIndexOutOfBoundsException in DefaultProxySelector + JDK-8241319: WB_GetCodeBlob doesn't have ResourceMark + JDK-8241478: vmTestbase/gc/gctests/Steal/steal001/steal001.java fails with OOME + JDK-8241574: Shenandoah: remove ShenandoahAssertToSpaceClosure + JDK-8241750: x86_32 build failure after JDK-8227269 + JDK-8242184: CRL generation error with RSASSA-PSS + JDK-8242283: Can't start JVM when java home path includes non-ASCII character + JDK-8242556: Cannot load RSASSA-PSS public key with non-null params from byte array + JDK-8243029: Rewrite javax/net/ssl/compatibility/ /Compatibility.java with a flexible interop test framework + JDK-8243138: Enhance BaseLdapServer to support starttls extended request + JDK-8243320: Add SSL root certificates to Oracle Root CA program + JDK-8243321: Add Entrust root CA - G4 to Oracle Root CA program + JDK-8243389: enhance os::pd_print_cpu_info on linux + JDK-8243453: java --describe-module failed with non-ASCII module name under non-UTF8 environment + JDK-8243470: [macos] bring back O2 opt level for unsafe.cpp + JDK-8243489: Thread CPU Load event may contain wrong data for CPU time under certain conditions + JDK-8243925: Toolkit#getScreenInsets() returns wrong value on HiDPI screens (Windows) + JDK-8244087: 2020-04-24 public suffix list update + JDK-8244151: Update MUSCLE PC/SC-Lite headers to the latest release 1.8.26 + JDK-8244164: AArch64: jaotc generates incorrect code for compressed OOPs with non-zero heap base + JDK-8244196: adjust output in os_linux + JDK-8244225: stringop-overflow warning on strncpy call from compile_the_world_in + JDK-8244287: JFR: Methods samples have line number 0 + JDK-8244703: "platform encoding not initialized" exceptions with debugger, JNI + JDK-8244719: CTW: C2 compilation fails with "assert(!VerifyHashTableKeys || _hash_lock == 0) failed: remove node from hash table before modifying it" + JDK-8244729: Shenandoah: remove resolve paths from SBSA::generate_shenandoah_lrb + JDK-8244763: Update --release 8 symbol information after JSR 337 MR3 + JDK-8244818: Java2D Queue Flusher crash while moving application window to external monitor + JDK-8245151: jarsigner should not raise duplicate warnings on verification + JDK-8245616: Bump update version for OpenJDK: jdk-11.0.9 + JDK-8245714: "Bad graph detected in build_loop_late" when loads are pinned on loop limit check uncommon branch + JDK-8245801: StressRecompilation triggers assert "redundunt OSR recompilation detected. memory leak in CodeCache!" + JDK-8245832: JDK build make-static-libs should build all JDK libraries + JDK-8245880: Shenandoah: check class unloading flag early in concurrent code root scan + JDK-8245981: Upgrade to jQuery 3.5.1 + JDK-8246027: Minimal fastdebug build broken after JDK-8245801 + JDK-8246094: [macos] Sound Recording and playback is not working + JDK-8246153: TestEliminateArrayCopy fails with - XX:+StressReflectiveCode + JDK-8246193: Possible NPE in ENC-PA-REP search in AS-REQ + JDK-8246196: javax/management/MBeanServer/OldMBeanServerTest fails with AssertionError + JDK-8246203: Segmentation fault in verification due to stack overflow with -XX:+VerifyIterativeGVN + JDK-8246330: Add TLS Tests for Legacy ECDSA curves + JDK-8246453: TestClone crashes with "all collected exceptions must come from the same place" + JDK-8247246: Add explicit ResolvedJavaType.link and expose presence of default methods + JDK-8247350: [aarch64] assert(false) failed: wrong size of mach node + JDK-8247502: PhaseStringOpts crashes while optimising effectively dead code + JDK-8247615: Initialize the bytes left for the heap sampler + JDK-8247824: CTW: C2 (Shenandoah) compilation fails with SEGV in SBC2Support::pin_and_expand + JDK-8247874: Replacement in VersionProps.java.template not working when --with-vendor-bug-url contains '&' + JDK-8247979: aarch64: missing side effect of killing flags for clearArray_reg_reg + JDK-8248214: Add paddings for TaskQueueSuper to reduce false-sharing cache contention + JDK-8248219: aarch64: missing memory barrier in fast_storefield and fast_accessfield + JDK-8248348: Regression caused by the update to BCEL 6.0 + JDK-8248385: [testbug][11u] Adapt TestInitiExceptions to jtreg 5.1 + JDK-8248495: [macos] zerovm is broken due to libffi headers location + JDK-8248851: CMS: Missing memory fences between free chunk check and klass read + JDK-8248987: AOT's Linker.java seems to eagerly fail-fast on Windows + JDK-8249159: Downport test rework for SSLSocketTemplate from 8224650 + JDK-8249215: JFrame::setVisible crashed with - Dfile.encoding=UTF-8 on Japanese Windows. + JDK-8249251: [dark_mode ubuntu 20.04] The selected menu is not highlighted in GTKLookAndFeel + JDK-8249255: Build fails if source code in cygwin home dir + JDK-8249277: TestVerifyIterativeGVN.java is failing with timeout in OpenJDK 11 + JDK-8249278: Revert JDK-8226253 which breaks the spec of AccessibleState.SHOWING for JList + JDK-8249560: Shenandoah: Fix racy GC request handling + JDK-8249801: Shenandoah: Clear soft-refs on requested GC cycle + JDK-8249953: Shenandoah: gc/shenandoah/mxbeans tests should account for corner cases + JDK-8250582: Revert Principal Name type to NT-UNKNOWN when requesting TGS Kerberos tickets + JDK-8250609: C2 crash in IfNode::fold_compares + JDK-8250627: Use -XX:+/-UseContainerSupport for enabling/disabling Java container metrics + JDK-8250755: Better cleanup for jdk/test/javax/imageio/plugins/shared/CanWriteSequence.java + JDK-8250787: Provider.put no longer registering aliases in FIPS env + JDK-8250826: jhsdb does not work with coredump which comes from Substrate VM + JDK-8250827: Shenandoah: needs to reset/finish StringTable's dead count before/after parallel walk + JDK-8250844: Make sure {type,obj}ArrayOopDesc accessors check the bounds + JDK-8251117: Cannot check P11Key size in P11Cipher and P11AEADCipher + JDK-8251354: Shenandoah: Fix jdk/jfr/tool/TestPrintJSON.java test failure + JDK-8251451: Shenandoah: Remark ObjectSynchronizer roots with I-U + JDK-8251469: Better cleanup for test/jdk/javax/imageio/SetOutput.java + JDK-8251487: Shenandoah: missing detail timing tracking for final mark cleaning phase + JDK-8252120: compiler/oracle/TestCompileCommand.java misspells "occured" + JDK-8252157: JDK-8231209 11u backport breaks jmm binary compatibility + JDK-8252258: [11u] JDK-8242154 changes the default vendor + JDK-8252804: [test] Fix 'ReleaseDeflater.java' test after downport of 8234011 + JDK-8253134: JMM_VERSION should remain at 0x20020000 (JDK 10) in JDK 11 + JDK-8253283: [11u] Test build/translations/ /VerifyTranslations.java failing after JDK-8252258 + JDK-8253813: Backout JDK-8244287 from 11u: it causes several crashes - Removed patch: * gcc-fno-common-fix.patch + not needed any more with this version - Added patch: * JDK-8250861.patch + Fix regression "8250861: Crash in MinINode::Ideal(PhaseGVN*, bool)" introduced in jdk 11.0.9- Update to upstream tag jdk-11.0.8+10 (July 2020 CPU, bsc#1174157) * Security fixes: + JDK-8230613: Better ASCII conversions + JDK-8231800: Better listing of arrays + JDK-8232014: Expand DTD support + JDK-8233234: Better Zip Naming + JDK-8233239, CVE-2020-14562: Enhance TIFF support + JDK-8233255: Better Swing Buttons + JDK-8234032: Improve basic calendar services + JDK-8234042: Better factory production of certificates + JDK-8234418: Better parsing with CertificateFactory + JDK-8234836: Improve serialization handling + JDK-8236191: Enhance OID processing + JDK-8236867, CVE-2020-14573: Enhance Graal interface handling + JDK-8237117, CVE-2020-14556: Better ForkJoinPool behavior + JDK-8237592, CVE-2020-14577: Enhance certificate verification + JDK-8238002, CVE-2020-14581: Better matrix operations + JDK-8238013: Enhance String writing + JDK-8238804: Enhance key handling process + JDK-8238842: AIOOBE in GIFImageReader.initializeStringTable + JDK-8238843: Enhanced font handing + JDK-8238920, CVE-2020-14583: Better Buffer support + JDK-8238925: Enhance WAV file playback + JDK-8240119, CVE-2020-14593: Less Affine Transformations + JDK-8240482: Improved WAV file playback + JDK-8241379: Update JCEKS support + JDK-8241522: Manifest improved jar headers redux + JDK-8242136, CVE-2020-14621: Better XML namespace handling * Other changes: + JDK-6933331: (d3d/ogl) java.lang.IllegalStateException: Buffers have not been created + JDK-7124307: JSpinner and changing value by mouse + JDK-8022574: remove HaltNode code after uncommon trap calls + JDK-8039082: [TEST_BUG] Test java/awt/dnd/BadSerializationTest/BadSerializationTest.java fails + JDK-8040630: Popup menus and tooltips flicker with previous popup contents when first shown + JDK-8044365: (dc) MulticastSendReceiveTests.java failing with ENOMEM when joining group (OS X 10.9) + JDK-8048215: [TESTBUG] java/lang/management/ManagementFactory/ThreadMXBeanProxy.java Expected non-null LockInfo + JDK-8051349: nsk/jvmti/scenarios/sampling/SP06/sp06t003 fails in nightly + JDK-8080353: JShell: Better error message on attempting to add default method + JDK-8139876: Exclude hanging nsk/stress/stack from execution with deoptimization enabled + JDK-8146090: java/lang/ref/ReachabilityFenceTest.java fails with -XX:+DeoptimizeALot + JDK-8153430: jdk regression test MletParserLocaleTest, ParserInfiniteLoopTest reduce default timeout + JDK-8156207: Resource allocated BitMaps are often cleared unnecessarily + JDK-8159740: JShell: corralled declarations do not have correct source to wrapper mapping + JDK-8175984: ICC_Profile has un-needed, not-empty finalize method + JDK-8176359: Frame#setMaximizedbounds not working properly in multi screen environments + JDK-8183369: RFC unconformity of HttpURLConnection with proxy + JDK-8187078: -XX:+VerifyOops finds numerous problems when running JPRT + JDK-8189861: Refactor CacheFind + JDK-8191169: java/net/Authenticator/B4769350.java failed intermittently + JDK-8191930: [Graal] emits unparseable XML into compile log + JDK-8193879: Java debugger hangs on method invocation + JDK-8196019: java/awt/Window/Grab/GrabTest.java fails on Windows + JDK-8196181: sun/java2d/GdiRendering/InsetClipping.java fails + JDK-8198000: java/awt/List/EmptyListEventTest/EmptyListEventTest.java debug assert on Windows + JDK-8198001: java/awt/Menu/WrongParentAfterRemoveMenu/ /WrongParentAfterRemoveMenu.java debug assert on Windows + JDK-8198339: Test javax/swing/border/Test6981576.java is unstable + JDK-8200701: jdk/jshell/ExceptionsTest.java fails on Windows, after JDK-8198801 + JDK-8203264: JNI exception pending in PlainDatagramSocketImpl.c:740 + JDK-8203672: JNI exception pending in PlainSocketImpl.c + JDK-8203673: JNI exception pending in DualStackPlainDatagramSocketImpl.c:398 + JDK-8204834: Fix confusing "allocate" naming in OopStorage + JDK-8205399: Set node color on pinned HashMap.TreeNode deletion + JDK-8205653: test/jdk/sun/management/jmxremote/bootstrap/ /RmiRegistrySslTest.java and RmiSslBootstrapTest.sh fail with handshake_failure + JDK-8206179: com/sun/management/OperatingSystemMXBean/ /GetCommittedVirtualMemorySize.java fails with Committed virtual memory size illegal value + JDK-8207334: VM times out in VM_HandshakeAllThreads::doit() with RunThese30M + JDK-8208277: Code cache heap (-XX:ReservedCodeCacheSize) doesn't work with 1GB LargePages + JDK-8209113: Use WeakReference for lastFontStrike for created Fonts + JDK-8209333: Socket reset issue for TLS 1.3 socket close + JDK-8209439: C2 library_call can potentially ignore Math.pow intrinsic or use null pointer + JDK-8209534: [TESTBUG]runtime/appcds/cacheObject/ /ArchivedModuleCompareTest.java fails with EnableJVMCI. + JDK-8210147: adjust some WSAGetLastError usages in windows network coding + JDK-8210284: "assert((av & 0x00000001) == 0) failed: unsupported V8" on Solaris 11.4 + JDK-8210303: VM_HandshakeAllThreads fails assert with "failed: blocked and not walkable" + JDK-8210459: Add support for generating compile_commands.json + JDK-8210515: [TESTBUG]CheckArchivedModuleApp.java needs to check if EnableJVMCI is set. + JDK-8210788: Javadoc for Thread.join(long, int) should specify that it waits forever when both arguments are zero + JDK-8211301: [macos] support full window content options + JDK-8211332: Space for stub routines (code_size2) is too small on new Skylake CPUs + JDK-8211339: NPE during SSL handshake caused by HostnameChecker + JDK-8211392: compiler/profiling/ /spectrapredefineclass_classloaders/Launcher.java times out in JDK12 CI + JDK-8211743: [AOT] crash in ScopeDesc::decode_body() when JVMTI walks AOT frames + JDK-8212154: [TESTBUG] CheckArchivedModuleApp fails with NPE when JVMCI is absent + JDK-8212167: JShell : Stack trace of exception has wrong line number + JDK-8212933: Thread-SMR: requesting a VM operation whilst holding a ThreadsListHandle can cause deadlocks + JDK-8212986: Make Visual Studio compiler check less strict + JDK-8213250: CDS archive creation aborts due to metaspace object allocation failure + JDK-8213516: jck test api/javax_accessibility/AccessibleState/ /fields.html fails intermittent + JDK-8213947: ARM32: failed check_simd should set UsePopCountInstruction to false + JDK-8214418: half-closed SSLEngine status may cause application dead loop + JDK-8214440: ldap over a TLS connection negotiate failed with "javax.net.ssl.SSLPeerUnverifiedException: hostname of the server does not match the hostname in the server's certificate" + JDK-8214444: Wrong strncat limits in dfa.cpp + JDK-8214481: freetype path does not disable TrueType hinting with AA+FM hints + JDK-8214571: -Xdoclint of array serialField gives "error: array type not allowed here" + JDK-8214856: Errors with JSZip in web console after upgrade to 3.1.5 + JDK-8214862: assert(proj != __null) at compile.cpp:3251 + JDK-8215369: Jcstress pollute /var/tmp with temporary files. + JDK-8215551: Missing case label in nmethod::reloc_string_for() + JDK-8215555: TieredCompilation C2 threads can excessively block handshakes + JDK-8215711: Missing key_share extension for (EC)DHE key exchange should alert missing_extension + JDK-8216151: [Graal] Module jdk.internal.vm.compiler.management has not been granted accessClassInPackage.org.graalvm.compiler.debug + JDK-8216154: C4819 warnings at HotSpot sources on Windows + JDK-8216541: CompiledICHolders of VM locked unloaded nmethods are released too late + JDK-8217230: assert(t == t_no_spec) failure in NodeHash::check_no_speculative_types() + JDK-8217404: --with-jvm-features doesn't work when multiple features are explicitly disabled + JDK-8217447: Develop flag TraceICs is broken + JDK-8217606: LdapContext#reconnect always opens a new connection + JDK-8218807: Compilation database (compile_commands.json) may contain obsolete items + JDK-8219214: Infinite Loop in CodeSection::dump() + JDK-8219904: ClassCastException when calling FlightRecorderMXBean#getRecordings() + JDK-8219991: New fix of the deadlock in sun.security.ssl.SSLSocketImpl + JDK-8221121: applications/microbenchmarks are encountering crashes in tier5 + JDK-8221445: FastSysexMessage constructor crashes MIDI receiption thread + JDK-8221482: Initialize VMRegImpl::regName[] earlier to prevent assert during PrintStubCode + JDK-8221741: ClassCastException can happen when fontconfig.properties is used + JDK-8221823: Requested JDialog width is ignored + JDK-8223108: Test java/awt/EventQueue/ /NonComponentSourcePost.java is unstable + JDK-8223678: Add Visual Studio Code workspace generation support (for native code) + JDK-8223935: PIT: java/awt/font/WindowsIndicFonts.java fails on windows10 + JDK-8224109: Text spaced incorrectly by drawString under rotation with fractional metric + JDK-8224632: testbug: java/awt/dnd/RemoveDropTargetCrashTest/ /RemoveDropTargetCrashTest.java fails on MacOS + JDK-8224793: os::die() does not honor CreateCoredumpOnCrash option + JDK-8224847: gc/stress/TestReclaimStringsLeaksMemory.java fails with reserved greater than expected + JDK-8224931: disable JAOTC invokedynamic support until 8223533 is fixed + JDK-8224997: ChaCha20-Poly1305 TLS cipher suite decryption throws ShortBufferException + JDK-8225068: Remove DocuSign root certificate that is expiring in May 2020 + JDK-8225069: Remove Comodo root certificate that is expiring in May 2020 + JDK-8225126: Test SetBoundsPaintTest.html faild on Windows when desktop is scaled + JDK-8225325: Add tests for redefining a class' private method during resolution of the bootstrap specifier + JDK-8225622: [AOT] runtime/SharedArchiveFile/ /TestInterpreterMethodEntries.java crashed with AOTed java.base + JDK-8225653: Provide more information when hitting SIGILL from HaltNode + JDK-8225783: Incorrect use of binary operators on booleans in type.cpp + JDK-8225789: Empty method parameter type should generate ClassFormatError + JDK-8226198: use of & instead of && in LibraryCallKit::arraycopy_restore_alloc_state + JDK-8226253: JAWS reports wrong number of radio buttons when buttons are hidden. + JDK-8226653: [accessibility] Can edit text cell correctly, but Accessibility Tool reads nothing about editor + JDK-8226806: [macOS 10.14] Methods of Java Robot should be called from appropriate thread + JDK-8226879: Memory leak in Type::hashcons + JDK-8227632: Incorrect PrintCompilation message: made not compilable on levels 0 1 2 3 4 + JDK-8228407: JVM crashes with shared archive file mismatch + JDK-8228482: fix xlc16/xlclang comparison of distinct pointer types and string literal conversion warnings + JDK-8228757: Fail fast if the handshake type is unknown + JDK-8229158: make UseSwitchProfiling non-experimental or false by-default + JDK-8229421: The logic of java/net/ipv6tests/TcpTest.java is flawed + JDK-8229855: C2 fails with assert(false) failed: bad AD file + JDK-8230591: AArch64: Missing intrinsics for Math.ceil, floor, rint + JDK-8231118: ARM32: Math tests failures + JDK-8231213: Migrate SimpleDateFormatConstTest to JDK Repo + JDK-8231243: [TESTBUG] CustomFont.java cannot find font file + JDK-8231438: [macOS] Dark mode for the desktop is not supported + JDK-8231550: C2: ShouldNotReachHere() in verify_strip_mined_scheduling + JDK-8231564: setMaximizedBounds is broken with large display scale and multiple monitors + JDK-8231572: Use -lobjc instead of -fobjc-link-runtime in libosxsecurity + JDK-8231631: sun/net/ftp/FtpURLConnectionLeak.java fails intermittently with NPE + JDK-8231671: Fix copyright headers in hotspot (missing comma after year) + JDK-8231720: Some perf regressions after 8225653 + JDK-8231779: crash HeapWord*ParallelScavengeHeap::failed_mem_allocate + JDK-8231863: Crash if classpath is read from @argument file and the main gets option argument + JDK-8232080: jlink plugins for vendor information and run-time options + JDK-8232106: [x86] C2: SIGILL due to usage of SSSE3 instructions on processors which don't support it + JDK-8232134: Change to Visual Studio 2017 15.9.16 for building on Windows at Oracle + JDK-8232226: [macos 10.15] test/jdk/java/awt/color/ /EqualityTest/EqualityTest.java may fail + JDK-8232357: Compare version info of Santuario to legal notice + JDK-8232572: Add hooks for custom output dir in Bundles.gmk + JDK-8232634: Problem List ICMColorDataTest.java + JDK-8232748: Build static versions of certain JDK libraries + JDK-8232846: ProcessHandle.Info command with non-English shows question marks + JDK-8232880: Update test documentation with additional settings for client UI tooltip tests + JDK-8233033: C2 produces wrong result while unswitching a loop due to lost control dependencies + JDK-8233137: runtime/ErrorHandling/VeryEarlyAssertTest.java fails after 8232080 + JDK-8233197: Invert JvmtiExport::post_vm_initialized() and Jfr:on_vm_start() start-up order for correct option parsing + JDK-8233291: [TESTBUG] tools/jlink/plugins/ /VendorInfoPluginsTest.java fails with debug or non-server VMs + JDK-8233364: Fix undefined behavior in Canonicalizer::do_ShiftOp + JDK-8233494: Avoid calling MallocTracker::record_malloc and record_free when NMT is off + JDK-8233573: Toolkit.getScreenInsets(GraphicsConfiguration) may throw ClassCastException + JDK-8233608: Minimal build broken after JDK-8233494 + JDK-8233621: Mismatch in jsse.enableMFLNExtension property name + JDK-8233696: [TESTBUG]Some jtreg tests fail when CAPS_LOCK is ON + JDK-8233707: systemScale.cpp could not compile with VS2019 + JDK-8233801: GCMEmptyIv.java test fails on Solaris 11.4 + JDK-8233880: Support compilers with multi-digit major version numbers + JDK-8233920: MethodHandles::tryFinally generates illegal bytecode for long/double return type + JDK-8234137: The "AutoTestOnTop.java" test may run external applications + JDK-8234146: compiler/jsr292/ /ContinuousCallSiteTargetChange.java times out on SPARC + JDK-8234184: [TESTBUG] java/awt/Mouse/EnterExitEvents/ /ModalDialogEnterExitEventsTest.java fails in Windows + JDK-8234270: [REDO] JDK-8204128 NMT might report incorrect numbers for Compiler area + JDK-8234332: [TESTBUG] java/awt/Focus/DisposedWindow/ /DisposeDialogNotActivateOwnerTest/ /DisposeDialogNotActivateOwnerTest.java fails on linux-x64 nightly + JDK-8234398: Replace ID2D1Factory::GetDesktopDpi with GetDeviceCaps + JDK-8234522: [macos] Crash with use of native file dialog + JDK-8234691: Potential double-free in ParallelSPCleanupTask constructor + JDK-8234696: tools/jlink/plugins/VendorInfoPluginsTest.java times out + JDK-8234727: sun/security/ssl/X509TrustManagerImpl tests support TLSv1.3 + JDK-8234728: Some security tests should support TLSv1.3 + JDK-8234779: Provide idiom for declaring classes noncopyable + JDK-8234824: java/nio/channels/SocketChannel/AdaptSocket.java fails on Windows 10 + JDK-8234968: check calloc rv in libinstrument InvocationAdapter + JDK-8235153: [TESTBUG] [macos 10.15] java/awt/Graphics/ /DrawImageBG/SystemBgColorTest.java fails + JDK-8235183: Remove the "HACK CODE" in comment + JDK-8235263: Revert TLS 1.3 change that wrapped IOExceptions + JDK-8235311: Tag mismatch may alert bad_record_mac + JDK-8235332: TestInstanceCloneAsLoadsStores.java fails with - XX:+StressGCM + JDK-8235452: Strip mined loop verification fails with assert(is_OuterStripMinedLoop()) failed: invalid node class + JDK-8235584: UseProfiledLoopPredicate fails with assert(_phase->get_loop(c) == loop) failed: have to be in the same loop + JDK-8235620: Broken merge between JDK-8006406 and JDK-8003559 + JDK-8235638: NPE in LWWindowPeer.getOnscreenGraphics() + JDK-8235686: Add more custom hooks in Bundles.gmk + JDK-8235739: Rare NPE at WComponentPeer.getGraphics() + JDK-8235762: JVM crash in SWPointer during C2 compilation + JDK-8235834: IBM-943 charset encoder needs updating + JDK-8235874: The ordering of Cipher Suites is not maintained provided through jdk.tls.client.cipherSuites and jdk.tls.server.cipherSuites system property. + JDK-8235908: omit ThreadPriorityPolicy warning when value is set from image + JDK-8235984: C2: assert(out->in(PhiNode::Region) == head || out->in(PhiNode::Region) == slow_head) failed: phi must be either part of the slow or the fast loop + JDK-8236211: [Graal] compiler/graalunit/GraphTest.java is skipped in all testing + JDK-8236470: Deal with ECDSA using ecdsa-with-SHA2 plus hash algorithm as AlgorithmId + JDK-8236545: Compilation error in mach5 java/awt/FileDialog/MacOSGoToFolderCrash.java + JDK-8236700: Upgrading JSZip from v3.1.5 to v3.2.2 + JDK-8236759: ShouldNotReachHere in PhaseIdealLoop::verify_strip_mined_scheduling + JDK-8236897: Fix the copyright header for pkcs11gcm2.h + JDK-8236921: Add build target to produce a JDK image suitable for a Graal/SVM build + JDK-8236953: [macos] JavaFX SwingNode is not rendered on macOS + JDK-8236996: Incorrect Roboto font rendering on Windows with subpixel antialiasing + JDK-8237045: JVM uses excessive memory with -XX:+EnableJVMCI - XX:JVMCICounterSize=2147483648 + JDK-8237055: [TESTBUG] compiler/c2/TestJumpTable.java fails with release VMs + JDK-8237086: assert(is_MachReturn()) running CTW with fix for JDK-8231291 + JDK-8237192: Generate stripped/public pdbs on Windows for jdk images + JDK-8237396: JvmtiTagMap::weak_oops_do() should not trigger barriers + JDK-8237474: Default SSLEngine should create in server role + JDK-8237859: C2: Crash when loads float above range check + JDK-8237879: make 4.3 breaks build + JDK-8237951: CTW: C2 compilation fails with "malformed control flow" + JDK-8237962: give better error output for invalid OCSP response intervals in CertPathValidator checks + JDK-8238190: [JVMCI] Fix single implementor speculation for diamond shapes. + JDK-8238356: CodeHeap::blob_count() overestimates the number of blobs + JDK-8238452: Keytool generates wrong expiration date if validity is set to 2050/01/01 + JDK-8238555: Allow Initialization of SunPKCS11 with NSS when there are external FIPS modules in the NSSDB + JDK-8238575: DragSourceEvent.getLocation() returns wrong value on HiDPI screens (Windows) + JDK-8238676: jni crashes on accessing it from process exit hook + JDK-8238721: Add failing client jtreg tests to the Problem List + JDK-8238738: AudioSystem.getMixerInfo() takes about 30 sec to report a gone audio device + JDK-8238756: C2: assert(((n) == __null || !VerifyIterativeGVN || !((n)->is_dead()))) failed: can not use dead node + JDK-8238765: PhaseCFG::schedule_pinned_nodes cannot handle precedence edges from unmatched CFG nodes correctly + JDK-8238898: Missing hash characters for header on license file + JDK-8238942: Rendering artifacts with LCD text and fractional metrics + JDK-8238985: [TESTBUG] The arrow image is blue instead of green + JDK-8239000: handle ContendedPaddingWidth in vm_version_ppc + JDK-8239055: Wrong implementation of VMState.hasListener + JDK-8239091: Reversed arguments in call to strstr in freetype "debug" code. + JDK-8239142: C2's UseUniqueSubclasses optimization is broken for array accesses + JDK-8239224: libproc_impl.c previous_thr may be used uninitialized warning + JDK-8239351: Give more meaningful InternalError messages in Deflater.c + JDK-8239365: ProcessBuilder test modifications for AIX execution + JDK-8239456: vtable stub generation: assert failure (code size estimate) + JDK-8239457: call ReleaseStringUTFChars before early returns in Java_sun_security_pkcs11_wrapper_PKCS11_connect + JDK-8239462: jdk.hotspot.agent misses some ReleaseStringUTFChars calls in case of early returns + JDK-8239557: [TESTBUG] VeryEarlyAssertTest.java validating "END." marker at lastline is not always true + JDK-8239787: AArch64: String.indexOf may incorrectly handle empty strings + JDK-8239792: Bump update version for OpenJDK: jdk-11.0.8 + JDK-8239798: SSLSocket closes socket both socket endpoints on a SocketTimeoutException + JDK-8239819: XToolkit: Misread of screen information memory + JDK-8239852: java/util/concurrent tests fail with - XX:+VerifyGraphEdges: assert(!VerifyGraphEdges) failed: verification should have failed + JDK-8239893: Windows handle Leak when starting processes using ProcessBuilder + JDK-8239915: Zero VM crashes when handling dynamic constant + JDK-8239931: [win][x86] vtable stub generation: assert failure (code size estimate) follow-up + JDK-8239965: XMLEncoder/Test4625418.java fails due to "Error: Cp943 - can't read properly" + JDK-8239976: Put JDK-8239965 on the ProblemList.txt + JDK-8240073: Fix 'test-make' build target in 11u + JDK-8240197: Cannot start JVM when $JAVA_HOME includes CJK characters + JDK-8240202: A few client tests leave mouse buttons pressed + JDK-8240220: IdealLoopTree::dump_head predicate printing is broken + JDK-8240223: Use consistent predicate order in and with PhaseIdealLoop::find_predicate + JDK-8240227: Loop predicates should be copied to unswitched loops + JDK-8240286: [TESTBUG] Test command error in hotspot/jtreg/ /compiler/loopopts/superword/SumRedAbsNeg_Float.java + JDK-8240518: Incorrect JNU_ReleaseStringPlatformChars in Windows Print + JDK-8240529: CheckUnhandledOops breaks NULL check in Modules::define_module + JDK-8240576: JVM crashes after transformation in C2 IdealLoopTree::merge_many_backedges + JDK-8240603: Windows 32bit compile error after 8238676 + JDK-8240629: argfiles parsing broken for argfiles with comment cross 4096 bytes chunk + JDK-8240711: TestJstatdPort.java failed due to "ExportException: Port already in use:" + JDK-8240786: [TESTBUG] The test java/awt/Window/ /GetScreenLocation/GetScreenLocationTest.java fails on HiDPI screen + JDK-8240824: enhance print_full_memory_info on Linux by THP related information + JDK-8240827: Downport SSLSocketImpl.java from "8221882: Use fiber-friendly java.util.concurrent.locks in JSSE" + JDK-8240905: assert(mem == (Node*)1 || mem == mem2) failed: multiple Memories being matched at once? + JDK-8240972: macOS codesign fail on macOS 10.13.5 or older + JDK-8241445: Fix copyright in test/jdk/tools/launcher/ArgFileSyntax.java + JDK-8241458: [JVMCI] add mark value to expose CodeOffsets::Frame_Complete + JDK-8241464: [11u] Backport: make rehashing be a needed guaranteed safepoint cleanup action + JDK-8241556: Memory leak if -XX:CompileCommand is set + JDK-8241568: (fs) UserPrincipalLookupService.lookupXXX failure with IOE "Operation not permitted" + JDK-8241586: compiler/cpuflags/ /TestAESIntrinsicsOnUnsupportedConfig.java fails on aarch64 + JDK-8241638: launcher time metrics always report 1 on Linux when _JAVA_LAUNCHER_DEBUG set + JDK-8241660: Add virtualization information output to hs_err file on macOS + JDK-8241808: [TESTBUG] The JDK-8039467 bug appeared on macOS + JDK-8241888: Mirror jdk.security.allowNonCaAnchor system property with a security one + JDK-8241900: Loop unswitching may cause dependence on null check to be lost + JDK-8241948: enhance list of environment variables printed in hs_err file + JDK-8241996: on linux set full relro in the linker flags + JDK-8242108: Performance regression after fix for JDK-8229496 + JDK-8242141: New System Properties to configure the TLS signature schemes + JDK-8242154: Backport parts of JDK-4947890 to OpenJDK 11u + JDK-8242174: [macos] The NestedModelessDialogTest test make the macOS unstable + JDK-8242239: [Graal] javax/management/generified/ /GenericTest.java fails: FAILED: queryMBeans sets same + JDK-8242294: JSSE Client does not throw SSLException when an alert occurs during handshaking + JDK-8242379: [TESTBUG] compiler/loopopts/ /TestLoopUnswitchingLostCastDependency.java fails with release VMs + JDK-8242470: Update Xerces to Version 2.12.1 + JDK-8242498: Invalid "sun.awt.TimedWindowEvent" object leads to JVM crash + JDK-8242541: Small charset issues (ISO8859-16, x-eucJP-Open, x-IBM834 and x-IBM949C) + JDK-8242626: enhance posix print_rlimit_info + JDK-8243059: Build fails when --with-vendor-name contains a comma + JDK-8243539: Copyright info (Year) should be updated for fix of 8241638 + JDK-8243541: (tz) Upgrade time-zone data to tzdata2020a + JDK-8244407: JVM crashes after transformation in C2 IdealLoopTree::split_fall_in + JDK-8244520: problemlist java/awt/font/Rotate/RotatedFontTest.java on linux + JDK-8244777: ClassLoaderStats VM Op uses constant hash value + JDK-8244853: The static build of libextnet is missing the JNI_OnLoad_extnet function + JDK-8244951: Missing entitlements for hardened runtime + JDK-8245047: [PPC64] C2: ReverseBytes + Load always match to unordered Load (acquire semantics missing) + JDK-8245649: Revert 8245397 backport of 8230591 + JDK-8246031: SSLSocket.getSession() doesn't close connection for timeout/ interrupts + JDK-8246613: Choose the default SecureRandom algo based on registration ordering + JDK-8248505: Unexpected NoSuchAlgorithmException when using secure random impl from BCFIPS provider - Removed patch: * JDK-8228407.patch + integrated upstream- Update to upstream tag jdk-11.0.7+10 (April 2020 CPU, bsc#1169511) * Security fixes: + S8223898, CVE-2020-2754: Forward references to Nashorn + S8223904, CVE-2020-2755: Improve Nashorn matching + S8224541, CVE-2020-2756: Better mapping of serial ENUMs + S8224549, CVE-2020-2757: Less Blocking Array Queues + S8225603: Enhancement for big integers + S8226346: Build better binary builders + S8227467: Better class method invocations + S8227542: Manifest improved jar headers + S8229733: TLS message handling improvements + S8231415, CVE-2020-2773: Better signatures in XML + S8231785: Improved socket permissions + S8232424, CVE-2020-2778: More constrained algorithms + S8232581, CVE-2020-2767: Improve TLS verification + S8233250: Better X11 rendering + S8233410: Better Build Scripting + S8234027: Better JCEKS key support + S8234408, CVE-2020-2781: Improve TLS session handling + S8234825, CVE-2020-2800: Better Headings for HTTP Servers + S8234841, CVE-2020-2803: Enhance buffering of byte buffers + S8235274, CVE-2020-2805: Enhance typing of methods + S8235691, CVE-2020-2816: Enhance TLS connectivity + S8236201, CVE-2020-2830: Better Scanner conversions + S8238960: linux-i586 builds are inconsistent as the newly built jdk is not able to reserve enough space for object heap * Other changes: + S4919790: Errors in alert ssl message does not reflect the actual certificate status + S4949105: Access Bridge lacks html tags parsing + S7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck + S7143743: Potential memory leak with zip provider + S8005819: Support cross-realm MSSFU + S8042383: [TEST_BUG] Test javax/swing/plaf/basic/BasicMenuUI/ /4983388/bug4983388.java fails with shortcuts on menus do not work + S8068184: Fix for JDK-8032832 caused a deadlock + S8145845: [AOT] NullPointerException in compiler/whitebox/GetCodeHeapEntriesTest.java + S8152988: [AOT] Update test batch definitions to include aot-ed java.base module mode into hs-comp testing + S8160926: FLAGS_COMPILER_CHECK_ARGUMENTS doesn't handle cross-compilation + S8163083: SocketListeningConnector does not allow invocations with port 0 + S8163251: Hard coded loop limit prevents reading of smart card data greater than 8k + S8167276: jvmci/compilerToVM/MaterializeVirtualObjectTest.java fails with -XX:-EliminateAllocations + S8169718: nsk/jdb/locals/locals002: ERROR: Cannot find boolVar with expected value: false + S8176556: java/awt/dnd/ImageTransferTest/ImageTransferTest.java fails for JFIF + S8178798: Two compiler/aot/verification/vmflags tests fail by timeout with UseAVX=3 + S8183107: PKCS11 regression regarding checkKeySize + S8185005: Improve performance of ThreadMXBean.getThreadInfo(long ids[], int maxDepth) + S8189633: Missing -Xcheck:jni checking for DeleteWeakGlobalRef + S8189861: Refactor CacheFind + S8193042: NativeLookup::lookup_critical_entry() should only load shared library once + S8193596: java/net/DatagramPacket/ReuseBuf.java failed due to timeout + S8194944: Regression automated test 'open/test/jdk/javax/ /swing/JInternalFrame/8145896/TestJInternalFrameMaximize.java' fails + S8196467: javax/swing/JInternalFrame/Test6325652.java fails + S8196969: JTreg Failure: serviceability/sa/ClhsdbJstack.java causes NPE + S8198321: javax/swing/JEditorPane/5076514/bug5076514.java fails + S8198398: Test javax/swing/JColorChooser/Test6199676.java fails in mach5 + S8199072: Test javax/swing/GroupLayout/6613904/ /bug6613904.java is unstable + S8200432: javadoc fails with ClassCastException on {@link byte[]} + S8201349: build broken when configured with - -with-zlib=bundled on gcc 7.3 + S8201355: Avoid native memory allocation in sun.security.mscapi.PRNG.generateSeed + S8201513: nsk/jvmti/IterateThroughHeap/filter-* are broken + S8203364: Some serviceability/sa/ tests intermittently fail with java.io.IOException: LingeredApp terminated with non-zero exit code 3 + S8203687: javax/net/ssl/compatibility/Compatibility.java supports TLS 1.3 + S8203904: javax/swing/JSplitPane/4816114/bug4816114.java: The divider location is wrong + S8203911: Test runtime/modules/getModuleJNI/GetModule fails with -Xcheck:jni + S8204525: [TESTBUG] runtime/NMT/MallocStressTest.java ran out of java heap + S8204529: gc/TestAllocateHeapAtMultiple.java fail with Agent 7 timed out + S8204551: Event descriptions are truncated in logs + S8206963: [AOT] bug with multiple class loaders + S8207367: 10 vmTestbase/nsk/jdi tests timed out when running with jtreg + S8207832: serviceability/sa/ClhsdbCDSCore.java failed with "Couldn't find core file location" + S8207938: At step6,Click Add button,case failed automatically. + S8208157: requires.VMProps throws NPE for missing properties in "release" file + S8208379: compiler/jvmci/events/ /JvmciNotifyInstallEventTest.java failed with "Got unexpected event count after 2nd install attempt: expected 9 to equal 2" + S8208658: Make CDS archived heap regions usable even if compressed oop encoding has changed + S8208715: Conversion of milliseconds to nanoseconds in UNIXProcess contains bug + S8209361: [AOT] Unexpected number of references for JVMTI_HEAP_REFERENCE_CONSTANT_POOL [111-->111]: 0 (expected at least 1) + S8209385: CDS runtime classpath checking is too strict when only classes from the system modules are archived + S8209389: SIGSEGV in WalkOopAndArchiveClosure::do_oop_work. + S8209418: Synchronize test/jdk/sanity/client/lib/jemmy with code-tools/jemmy/v2 + S8209494: Create a test for SwingSet InternalFrameDemo + S8209499: Create test for SwingSet EditorPaneDemo + S8209574: [AOT] breakpoint events are generated in different threads does not meet expected count + S8209686: cleanup arguments to PhaseIdealLoop() constructor + S8209789: Synchronize test/jdk/sanity/client/lib/jemmy with code-tools/jemmy/v2 + S8209802: Garbage collectors should register JFR types themselves to avoid build errors. + S8209807: improve handling exception in requires.VMProps + S8209817: stack is executable when building with Clang on Linux + S8209824: Improve the code coverage for ThreadLocal + S8209826: Undefined reference to os::write after JDK-8209657 (filemap.hpp cleanup) + S8209850: Allow NamedThreads to use GlobalCounter critical sections + S8209976: Improve iteration over non-JavaThreads + S8209993: Create a test for SwingSet3 ToolTipDemo + S8210024: JFR calls virtual is_Java_thread from ~Thread() + S8210052: Enable testing for all the available look and feels in SwingSet3 demo tests + S8210055: Enable different look and feel tests in SwingSet3 demo tests + S8210057: Enable different look and feels in SwingSet3 demo test InternalFrameDemoTest + S8210058: Algorithmic Italic font leans opposite angle in Printing + S8210220: [AOT] jdwp test cases are failing with error # ERROR: TEST FAILED: Cought IOException while receiving event packet + S8210289: ArchivedKlassSubGraphInfoRecord is incomplete + S8210459: Add support for generating compile_commands.json + S8210476: sun/security/mscapi/PrngSlow.java fails with Still too slow + S8210512: [Testbug] vmTestbase/nsk/jdi/ObjectReference/ /referringObjects/referringObjects002/referringObjects002.java fails with unexpected size of ClassLoaderReference.referringObjects + S8210523: runtime/appcds/cacheObject/DifferentHeapSizes.java crash + S8210632: Add key exchange algorithm to javax/net/ssl/TLSCommon/CipherSuite.java + S8210699: Problem list tests which times out in Xcomp mode + S8210793: [JVMCI] AllocateCompileIdTest.java failed to find DiagnosticCommand.class + S8210910: Create test for FileChooserDemo + S8210994: Create test for SwingSet3 FrameDemo + S8211139: Increase timeout value in all tests under jdk/sanity/client/SwingSet/src + S8211160: Handle different look and feels in JInternalFrameOperator + S8211211: vmTestbase/metaspace/stressDictionary/ /StressDictionary.java timeout + S8211322: Reduce the timeout of tooltip in SwingSet2DemoTest + S8211443: Enable different look and feels in SwingSet3 demo test SplitPaneDemoTest + S8211703: JInternalFrame : java.lang.AssertionError: cannot find the internal frame + S8211781: re-building fails after changing Graal sources + S8212897: Some improvements in the EditorPaneDemotest + S8212903: [TestBug] Tests test/jdk/javax/swing/LookAndFeel/ /8145547/DemandGTK2.sh and DemandGTK3.sh fail on Ubuntu 18.04 LTS + S8213009: Refactoring existing SunMSCAPI classes + S8213010: Supporting keys created with certmgr.exe + S8213168: Enable different look and feel tests in SwingSet3 demo test FileChooserDemoTest + S8213348: jdk.internal.vm.compiler.management service providers missing in module descriptor + S8213906: Update arm devkits with libXrandr headers + S8213908: AssertionError in DeferredAttr at setOverloadKind + S8214124: [TESTBUG] Bugs in runtime/NMT/MallocStressTest.java + S8214344: C2: assert(con.basic_type() != T_ILLEGAL) failed: elembt=byte; loadbt=void; unsigned=0 + S8214345: infinite recursion while checking super class + S8214471: Enable different look and feel tests in SwingSet3 demo test ToolTipDemoTest + S8214534: Setting of THIS_FILE in the build is broken + S8214557: Filter out VM flags which don't affect AOT code generation + S8214578: [macos] Problem with backslashes on macOS/JIS keyboard: Java ignores system settings + S8214840: runtime/NMT/MallocStressTest.java timed out + S8214850: Rename vm_operations.?pp files to vmOperations.?pp files + S8214904: Test8004741.java failed due to "Too few ThreadDeath hits; expected at least 6 but saw only 5" + S8215322: add @file support to jaotc + S8215355: Object monitor deadlock with no threads holding the monitor (using jemalloc 5.1) + S8215396: JTabbedPane preferred size calculation is wrong for SCROLL_TAB_LAYOUT + S8216180: [AOT] compiler/intrinsics/bigInteger/TestMulAdd.java crashed with AOT enabled + S8216353: Use utility APIs introduced in org/netbeans/jemmy/ /util/LookAndFeel class in client sanity test cases + S8216354: Syntax error in toolchain_windows.m4 + S8216472: (se) Stack overflow during selection operation leads to crash (win) + S8216535: tools/jimage/JImageExtractTest.java timed out + S8217235: Create automated test for SwingSet ColorChooserDemoTest + S8217297: Add support for multiple look and feel for SwingSet SliderDemoTest + S8217338: [Containers] Improve systemd slice memory limit support + S8217613: [AOT] TEST_OPTS_AOT_MODULES doesn't work on mac + S8217634: RunTest documentation and usability update + S8217717: ZGC: Broken oop map in C1 load barrier stub + S8217728: Speed up incremental rerun of "make hotspot" + S8218268: Javac treats Manifest Class-Path entries as Paths instead of URLs + S8218662: Allow 204 responses with Content-Length:0 + S8218882: NET_Writev is declared, NET_WriteV is defined + S8218889: Improperly use of the Optional API + S8219205: JFR file without license header + S8219597: (bf) Heap buffer state changes could provoke unexpected exceptions + S8219723: javax/net/ssl/compatibility/Compatibility.java failed on some SNI cases + S8220348: [ntintel] asserts about copying unaligned array + S8220451: jdi/EventQueue/remove/remove004 failed due to "ERROR: thread2 is not alive" + S8220456: jdi/EventQueue/remove_l/remove_l004 failed due to "TIMEOUT while waiting for event" + S8220479: java/nio/channels/Selector/SelectWithConsumer.java failed at testTwoChannels() + S8220613: java/util/Arrays/TimSortStackSize2.java times out with fastdebug build + S8220688: [TESTBUG] runtime/NMT/MallocStressTest.java timed out + S8220786: Create new switch to redirect error reporting output to stdout or stderr + S8221270: Duplicated synchronized keywords in SSLSocketImpl + S8221312: test/jdk/sanity/client/SwingSet/src/ /ColorChooserDemoTest.java failed + S8221851: Use of THIS_FILE in hotspot invalidates precompiled header on Linux/GCC + S8221885: Add intermittent test in the JavaSound to the ProblemList + S8222264: Windows incremental build is broken with JDK-8217728 + S8222391: javax/net/ssl/compatibility/Compatibility.java should be more flexible + S8222448: java/lang/reflect/PublicMethods/ /PublicMethodsTest.java times out + S8222519: ButtonDemoScreenshotTest fails randomly with "still state to be reached" + S8222741: jdi/EventQueue/remove/remove004 fails due to VMDisconnectedException + S8223003: SunMSCAPI keys are not cleaned up + S8223063: Support CNG RSA keys + S8223158: Docked MacBook cannot start any Java Swing applications + S8223260: NamingManager should cache InitialContextFactory + S8223464: Improve version string for Oracle CI builds + S8223558: Java does not render Myanmar script correctly + S8223627: jdk-13+20 bundle name contains null instead of ea + S8223638: Replace wildcard address with loopback or local host in tests - part 6 + S8223678: Add Visual Studio Code workspace generation support (for native code) + S8223727: com/sun/jndi/ldap/privconn/RunTest.java failed due to hang in LdapRequest.getReplyBer + S8223769: Assert triggers with -XX:+StressReflectiveCode + S8224187: Refactor arraycopy_prologue to allow ZGC read barriers on arraycopy + S8224475: JTextPane does not show images in HTML rendering + S8224673: Adjust permission for delayed starting of debugging + S8224705: Tests that need to be problem-listed or have printer resources + S8224778: test/jdk/demo/jfc/J2Ddemo/J2DdemoTest.java cannot find J2Ddemo.jar + S8224821: java/awt/Focus/NoAutotransferToDisabledCompTest/ /NoAutotransferToDisabledCompTest.java fails linux-x64 + S8224830: test/jdk/java/awt/Focus/ /ModalExcludedWindowClickTest/ /ModalExcludedWindowClickTest.java fails on linux-x64 + S8224851: AArch64: fix warnings and errors with Clang and GCC 8.3 + S8224905: java/lang/ProcessBuilder/Basic.java#id1 failed with stream closed + S8225007: java/awt/print/PrinterJob/ /LandscapeStackOverflow.java may hang + S8225105: java/awt/Focus/ShowFrameCheckForegroundTest/ /ShowFrameCheckForegroundTest.java fails in Windows 10 + S8225117: java/math/BigInteger/SymmetricRangeTests.java fails with ParseException + S8225128: Add exception for expiring DocuSign root to VerifyCACerts test + S8225130: Add exception for expiring Comodo roots to VerifyCACerts test + S8225144: [macos] In Aqua L&F backspace key does not delete when Shift is pressed + S8225180: SignedObject with invalid Key not throwing the InvalidKeyException in Windows + S8225182: JNI exception pending in DestroyXIMCallback of awt_InputMethod.c:1327 + S8225199: [Graal] compiler/jvmci/compilerToVM/ /IsMatureVsReprofileTest.java fails with - XX:CompileThresholdScaling=0.1 + S8225305: ProblemList java/lang/invoke/VarHandles tests + S8225350: compiler/jvmci/compilerToVM/IsCompilableTest.java timed out + S8225430: Replace wildcard address with loopback or local host in tests - part 14 + S8225435: Upgrade IANA Language Subtag Registry to the latest for JDK14 + S8225487: giflib legal file is missing attribution for openbsd-reallocarray.c + S8225567: Wrong file headers with 8202414 fix changeset + S8225684: [AOT] vmTestbase/vm/oom/production/ /AlwaysOOMProduction tests fail with AOTed java.base + S8225766: Curve in certificate should not affect signature scheme when using TLSv1.3 + S8225797: OldObjectSample event creates unexpected amount of checkpoint data + S8226381: ProblemList java/lang/reflect/PublicMethods/ /PublicMethodsTest.java + S8226406: JVM fails to detect mismatched or corrupt CDS archive + S8226608: Hide the onjcmd option from the help output + S8226892: ActionListeners on JRadioButtons don't get notified when selection is changed with arrow keys + S8227112: exclude compiler/intrinsics/sha/sanity tests from AOT runs + S8227324: Upgrade to freetype 2.10.1 + S8227528: TestAbortVMOnSafepointTimeout.java failed due to "RuntimeException: 'Safepoint sync time longer than' missing from stdout/stderr" + S8227645: Some tests in serviceability/sa run with fixed -Xmx values and risk running out of memory + S8227646: [TESTBUG] appcds/SharedArchiveConsistency timed out + S8227662: freetype seeks to index at the end of the font data + S8228479: Correct the format of ColorChooserDemoTest + S8228613: java.security.Provider#getServices order is no longer deterministic + S8228969: 2019-09-28 public suffix list update + S8229236: CriticalJNINatives: dll handling should be done in native thread state + S8229345: Memory leak due to vtable stubs not being shared on SPARC + S8229888: (zipfs) Updating an existing zip file does not preserve original permissions + S8229994: assert(false) failed: Bad graph detected in get_early_ctrl_for_expensive + S8230004: jdk/internal/jimage/JImageOpenTest.java runs no test + S8230235: Rendering HTML with empty img attribute and documentBaseKey cause Exception + S8230390: Problemlist SA tests with AOT + S8230400: Missing constant pool entry for a method in stacktrace + S8230459: Test failed to resume JVMCI CompilerThread + S8230480: check malloc/calloc results in java.desktop + S8230597: Update GIFlib library to the 5.2.1 + S8230611: infinite loop in LogOutputList::wait_until_no_readers() + S8230624: [TESTBUG] Problemlist JFR compiler/TestCodeSweeper.java + S8230677: Should disable Escape Analysis if JVMTI capability can_get_owned_monitor_info was taken + S8230926: [macosx] Two apostrophes are entered instead of one with "U.S. International - PC" layout + S8231025: Incorrect method tag offset for big endian platform + S8231081: TestMetadataRetention fails due to missing symbol id + S8231387: java.security.Provider.getService returns random result due to race condition with mutating methods in the same class + S8231430: C2: Memory stomp in max_array_length() for T_ILLEGAL type + S8231445: check ZALLOC return values in awt coding + S8231507: Update Apache Santuario (XML Signature) to version 2.1.4 + S8231584: Deadlock with ClassLoader.findLibrary and System.loadLibrary call + S8231753: use more Posix functionality in aix os::print_os_info + S8231810: javax/net/ssl/templates/ /SSLSocketSSLEngineTemplate.java fails intermittently with "java.lang.Exception: Unexpected EOF" + S8232003: (fs) Files.write can leak file descriptor in the exception case + S8232056: GetOwnedMonitorInfoWithEATest.java fails with ZGC: Heap too small + S8232060: add some initializations using sigemptyset in os_aix.cpp + S8232154: Update Mesa 3-D Headers to version 19.2.1 + S8232167: Visual Studio install found through - -with-tools-dir value is discarded + S8232170: FSInfo#getJarClassPath throws an exception not declared in its throws clause + S8232200: [macos 10.15] Windows in fullscreen tests jumps around the screen + S8232207: Linux os::available_memory re-reads cgroup configuration on every invocation + S8232224: [TESTBUG] problemlist JFR TestLargeRootSet.java + S8232370: Refactor some com.sun.jdi tests to enable IDE integration + S8232433: [macos 10.15] java/awt/Window/ /LocationAtScreenCorner/LocationAtScreenCorner.java may fail + S8232571: Add missing SIGINFO signal + S8232692: [TESTBUG] compiler/aot/fingerprint/ /SelfChangedCDS.java fails when cds is disabled + S8232713: Update BCEL version to 6.3.1 in license file + S8232806: Introduce a system property to disable eager lambda initialization + S8232834: RunTest sometimes fails to produce valid exitcode.txt + S8232880: Update test documentation with additional settings for client UI tooltip tests + S8232950: SUNPKCS11 Provider incorrectly check key length for PSS Signatures. + S8233018: Add a new test to verify that DatagramSocket is not interruptible + S8233019: java.lang.Class.isPrimitive() (C1) returns wrong result if Klass* is aligned to 32bit + S8233032: assert(in_bb(n)) failed: must be + S8233078: fix minimal VM build on Linux ppc64(le) + S8233328: fix minimal VM build on Linux s390x + S8233383: Various minor fixes + S8233466: aarch64: remove unnecessary load of mdo when profiling return and parameters type + S8233491: Crash in AdapterHandlerLibrary::get_adapter with CDS due to code cache exhaustion + S8233529: loopTransform.cpp:2984: Error: assert(p_f->Opcode() == Op_IfFalse) failed + S8233548: Update CUP to v0.11b + S8233649: Update ProblemList.txt to exclude failing headful tests on macos + S8233656: assert(d->is_CFG() && n->is_CFG()) failed: must have CFG nodes + S8233657: Intermittent NPE in Component.validate() + S8234288: Turkey Time Zone returns incorrect time zone name + S8234323: NULL-check return value of SurfaceData_InitOps on macosx + S8234339: replace JLI_StrTok in java_md_solinux.c + S8234340: Bump update version for OpenJDK: jdk-11.0.7 + S8234350: assert(mode == ControlAroundStripMined && (use == sfpt || !use->is_reachable_from_root())) failed: missed a node + S8234386: [macos] NPE was thrown at expanding Choice from maximized frame + S8234397: add OS uptime information to os::print_os_info output + S8234423: Modifying ArrayList.subList().subList() resets modCount of subList + S8234466: Class loading deadlock involving X509Factory#commitEvent() + S8234501: remove obsolete NET_ReadV + S8234525: enable link-time section-gc for linux s390x to remove unused code + S8234610: MaxVectorSize set wrongly when UseAVX=3 is specified after JDK-8221092 + S8234617: C1: Incorrect result of field load due to missing narrowing conversion + S8234723: javax/net/ssl/TLS tests support TLSv1.3 + S8234724: javax/net/ssl/templates/ /SSLSocketSSLEngineTemplate.java supports TLSv1.3 + S8234741: enhance os::get_core_path on macOS + S8234769: Duplicate attribution in freetype.md + S8234786: Fix for JDK-8214578 breaks OS X 10.12 compatibility + S8234809: set relro in linker flags when building with gcc + S8234824: java/nio/channels/SocketChannel/AdaptSocket.java fails on Windows 10 + S8235243: handle VS2017 15.9 and VS2019 in abstract_vm_version + S8235288: AVX 512 instructions inadvertently used on Xeon for small vector width operations + S8235325: build failure on Linux after 8235243 + S8235383: C1 compilation fails with - XX:+PrintIRDuringConstruction -XX:+Verbose + S8235489: handle return values of sscanf calls in hotspot + S8235509: Backport for JDK-8209657 Refactor filemap.hpp to simplify integration with Serviceability Agent. + S8235510: java.util.zip.CRC32 performance drop after 8200067 + S8235563: [TESTBUG] appcds/CommandLineFlagComboNegative.java does not handle archive mapping failure + S8235637: jhsdb jmap from OpenJDK 11.0.5 doesn't work if prelink is enabled + S8235671: enhance print_rlimit_info in os_posix + S8235744: PIT: test/jdk/javax/swing/text/html/ /TestJLabelWithHTMLText.java times out in linux-x64 + S8235904: Infinite loop when rendering huge lines + S8235998: [c2] Memory leaks during tracing after '8224193: stringStream should not use Resource Area'. + S8236039: JSSE Client does not accept status_request extension in CertificateRequest messages for TLS 1.3 + S8236140: assert(!VerifyHashTableKeys || _hash_lock == 0) failed: remove node from hash table before modifying it + S8236179: C1 register allocation error with T_ADDRESS + S8236488: Support for configure option - -with-native-debug-symbols=internal is impossible on Windows + S8236500: Windows ucrt.dll should be looked up in versioned WINSDK subdirectory + S8236709: struct SwitchRange in HS violates C++ One Definition Rule + S8236848: [JDK 11u] make run-test-tier1 fails after backport of JDK-8232834 + S8236873: Worker has a deadlock bug + S8237217: Incorrect G1StringDedupEntry type used in StringDedupTable destructor + S8237368: Problem with NullPointerException in RMI TCPEndpoint.read + S8237375: SimpleThresholdPolicy misses CounterDecay timestamp initialization + S8237508: Simplify JarFile.isInitializing + S8237540: Missing files in backport of JDK-8210910 + S8237541: Missing files in backport of JDK-8236528 + S8237600: Test SunJSSEFIPSInit fails on Ubuntu + S8237819: s390x - remove unused pd_zero_to_words_large + S8237869: exclude jtreg test security/infra/java/security/ /cert/CertPathValidator/certification/LuxTrustCA.java because of instabilities + S8237879: make 4.3 breaks build + S8237945: CTW: C2 compilation fails with assert(just_allocated_object(alloc_ctl) == ptr) failed: most recent allo... + S8238225: Issues reported after replacing symlink at Contents/MacOS/libjli.dylib with binary + S8238247: CTW runner should sweep nmethods more aggressively + S8238366: CTW runner closes standard output on exit + S8238438: SuperWord::co_locate_pack picks memory state of first instead of last load + S8238502: sunmscapi.dll causing EXCEPTION_ACCESS_VIOLATION + S8238534: Deep sign macOS bundles before bundle archive is being created + S8238591: CTW: Split applications/ctw/modules/jdk_localedata.java + S8238596: AVX enabled by default for Skylake even when unsupported + S8238811: C2: assert(i >= req() || i == 0 || is_Region() || is_Phi()) with -XX:+VerifyGraphEdges + S8239005: [TESTBUG] test/hotspot/jtreg/runtime/ /StackGuardPages/TestStackGuardPages.java: exeinvoke.c: must initialize static state before calling do_overflow() + S8239466: Loss of precision in counter decay calculation in 11u backport of JDK-8237375 + S8239856: [ntintel] asserts about copying unaligned array element + S8240724: [test] jdk11 downport of 8224475 misses binary file test/jdk/javax/swing/JTextPane/arrow.png + S8241296: Segfault in JNIHandleBlock::oops_do() - Removed patch: * DependOnVariableHelper.patch + fixed upstream - Added patch: * JDK-8228407.patch + fix crashes due to shared archive file mismatch- The pack200 and unpack200 alternatives should be slaves of java and not of javac, since they are part of JRE.- Add gcc-fno-common-fix.patch in order to fix boo#1167462.- DependOnVariableHelper.patch: Fix DependOnVariableHelper for make 4.3- Install java icons not only versioned, but also postfixed by the "openjdk", in order to prevent install conflicts with other jdk 11 flavours.- Update to upstream tag jdk-11.0.6+10 (January 2020 CPU, bsc#1160968) * Security fixes + S8224909, CVE-2020-2583: Unlink Set of LinkedHashSets + S8225261: Better method resolutions + S8225279: Better XRender interpolation + S8226352, CVE-2020-2590: Improve Kerberos interop capabilities + S8227758: More valid PKIX processing + S8227816: More Colorful ICC profiles + S8228548, CVE-2020-2593: Normalize normalization for all + S8229728: Implement negotiation parameters + S8229951, CVE-2020-2601: Better Ticket Granting Services + S8230279: Improve Pack200 file reading + S8230318: Better trust store usage + S8230967: Improve Registry support of clients + S8231139: Improved keystore support + S8231422, CVE-2020-2604: Better serial filter handling + S8231780, CVE-2020-2655: Better TLS messaging support + S8231790: Provide better FileSystemProviders + S8232419: Improve Registry registration + S8234037, CVE-2020-2654: Improve Object Identifier Processing * Other changes + S8016914: CoreDocumentImpl.setXmlVersion NPE + S8048556: Unnecessary GCLocker-initiated young GCs + S8080462: Update SunPKCS11 provider with PKCS11 v2.40 support + S8134672: [TEST_BUG] Some tests should check isDisplayChangeSupported + S8144125: [macOS] java/awt/event/ComponentEvent/ /MovedResizedTwiceTest/MovedResizedTwiceTest.java failed automatically + S8146238: [macosx] Java2D Queue Flusher crash on OSX after switching between user accounts + S8176837: SunPKCS11 provider needs to check more details on PKCS11 Mechanism + S8185898: setRequestProperty(key, null) results in HTTP header without colon in request + S8190737: use unicode version of the canonicalize() function to handle long path on windows + S8191521: handle long relative path specified in - Xbootclasspath/a on windows + S8193255: Root Certificates should be stored in text format and assembled at build time + S8193325: StackFrameInfo::getByteCodeIndex returns wrong value if bci > 32767 + S8198882: Add 10 JNDI tests to com/sun/jndi/dns/AttributeTests + S8200381: Typos in javadoc - missing verb "be" and alike + S8202359: [GRAAL] compiler/uncommontrap/TestDeoptOOM.java failed with OutOfMemoryError + S8205516: JFR tool + S8206115: Use shared macros for JavaClasses::compute_offsets and MetaspaceShared::serialize_well_known_classes + S8207263: Store the Configuration for system modules into CDS archive. + S8207922: ctw of jdk.security.auth failed with "Unexpected zero exit codebefore finishing all compilations" + S8208179: Devanagari not shown with logical fonts on Windows after removal of Lucida Sans from JDK + S8208236: [TESTBUG] vmTestbase/nsk/stress/stack tests fail by timeout + S8208364: java/lang/reflect/callerCache/ /ReflectionCallerCacheTest.java missing module dependencies declaration + S8208582: Introduce native oop barriers in C1 for OopHandle + S8208601: Introduce native oop barriers in C2 for OopHandle + S8209003: Consolidate use of empty collections in java.lang.module + S8209120: Archive the Integer.IntegerCache + S8209178: Proxied HttpsURLConnection doesn't send BODY when retrying POST request + S8209545: Simplify HeapShared::archive_module_graph_objects + S8209647: constantPoolHandle::constantPoolHandle(ConstantPool*) when precompiled header is disabled + S8209691: Allow MemBar on single memory slice + S8209771: jdk.test.lib.Utils::runAndCheckException error + S8209790: SA tools not providing option to connect to debug server + S8209833: C2 compilation fails with "assert(ex_map->jvms()->same_calls_as(_exceptions->jvms())) failed: all collected exceptions must come from the same place" + S8209835: Aarch64: elide barriers on all volatile operations + S8209972: [GRAAL] Don't run RTM tests with Graal + S8210158: Accessorize JFR getEventWriter() intrinsics + S8210384: SunLayoutEngine.isAAT() font is expensive on MacOS + S8210387: C2 compilation fails with "assert(node->_last_del == _last) failed: must have deleted the edge just produced" + S8210403: Refactor java.util.Locale:i18n shell tests to plain java tests + S8210559: ClassLoaderData Symbols can leak + S8210776: Upgrade X Window System 6.8.2 to the latest XWD 1.0.7 + S8210789: langtools/tools/javac/T8152616.java missing @modules + S8211037: Load jib jars dynamically from JibArtifactManager + S8211147: Incorrect comparator com.sun.beans.introspect.MethodInfo.MethodOrder + S8211385: (zipfs) ZipDirectoryStream yields a stream of absolute paths when directory is relative + S8211740: [AOT] -XX:AOTLibrary doesn't accept windows path + S8211866: TLS 1.3 CertificateRequest message sometimes offers disallowed signature algorithms + S8211919: ZipDirectoryStream should provide a stream of paths that are relative to the directory + S8211992: GraphicsConfiguration.getDevice().getDisplayMode() causes JVM crash on Mac + S8212028: Use run-test makefile framework for testing in Oracle's Mach5 + S8212071: Need to set the FreeType LCD Filter to reduce fringing. + S8212627: [TESTBUG] runtime/CreateMirror/ /ArraysNewInstanceBug.java timed out + S8212673: jtreg/applications/runthese/RunThese30M.java fails in C2 with "assert(!had_error) failed: bad dominance" + S8212738: Incorrectly named signature scheme ecdsa_secp512r1_sha512 + S8212752: Typo in SSL log message related to inactive/disabled signature scheme + S8213005: Missing symbols in hs_err files on Windows after JDK-8212028 + S8213008: Cipher with UNWRAP_MODE should support the generation of an AES key type + S8213014: Crash in CompileBroker::make_thread due to OOM + S8213119: [macos] java/awt/GraphicsDevice/ /CheckDisplayModes.java fails + S8213381: Hook to allow GC to inject Node::Ideal() calls + S8213448: [TESTBUG] enhance jfr/jvm/TestDumpOnCrash + S8213568: Typo in java/awt/GraphicsEnvironment/LoadLock/ /GE_init5.java + S8213604: Fix missing includes after JDK-8212673 + S8214046: [macosx] Undecorated Frame does not Iconify when set to + S8214052: [testbug] vmTestbase/vm/compiler/ /CodeCacheInfoOnCompilation - wrong shell used + S8214098: sun.security.ssl.HandshakeHash.T12HandshakeHash constructor check backwards. + S8214311: dtrace gensrc has missing dependencies + S8214315: G1: fatal error: acquiring lock SATB_Q_FL_lock/1 out of order with lock tty_lock/0 + S8214321: Misleading code in SSLCipher + S8214542: JFR: Old Object Sample event slow on a deep heap in debug builds + S8214750: Unnecessary

tags in jfr classes + S8214773: Replace use of thread unsafe strtok + S8214896: JFR Tool left files behind + S8214925: JFR tool fails to execute + S8214975: No hs-err file if fatal error is raised during dynamic initialization + S8215032: Support Kerberos cross-realm referrals (RFC 6806) + S8215105: java/awt/Robot/HiDPIScreenCapture/ /ScreenCaptureTest.java: Wrong Pixel Color + S8215200: IllegalArgumentException in sun.lwawt.macosx.CPlatformWindow + S8215411: some GetByteArrayElements calls miss corresponding Release + S8215449: Several tests failing when jtreg run with - vmoption:--illegal-access=deny + S8215524: Finished message validation failure should be decrypt_error alert + S8215699: -Xlog::file cannot be used with named pipe + S8215708: ZGC: Add missing LoadBarrierNode::size_of() + S8215755: ZGC: split_barrier_thru_phi: check number of inputs of phi + S8215771: The jfr tool should pretty print reference chains + S8215913: [Test_bug]java/util/Locale/LocaleProvidersRun.java failed on de_DE and ja_JP locale. + S8216064: -XX:StartFlightRecording:settings= doesn't work properly + S8216135: C2 assert(!had_error) failed: bad dominance + S8216283: Allow shorter method sampling interval than 10 ms + S8216363: NullPointerException in java.util.logging.Handler#isLoggable + S8216426: Usage of array placement new may lead to memory corruption + S8216561: HttpClient: The logic of retry on connect exception is inverted + S8216977: ShowHiddenFrames use in java_lang_StackTraceElement::fill_in appears broken + S8217362: Emergency dump does not work when disk=false is set + S8217610: TLSv1.3 fail with ClassException when EC keys are stored in PKCS11 + S8217731: Font rendering and glyph spacing changed from jdk-8 to jdk-11 + S8218468: Load barrier slow path node should be MachTypeNode + S8218580: endpoint identification algorithm should be case-insensitive + S8218935: Make jfr strncpy uses GCC 8.x friendly + S8219504: Test for JDK-8211435 can be run on all platforms + S8219914: Change the environment variable for Java Access Bridge logging to have a directory. + S8220175: serviceability/dcmd/framework/VMVersionTest.java fails with a timeout + S8220231: Cache HarfBuzz face object for same font's text layout calls + S8220352: Crash with assert(external_guard || result != __null) failed: Invalid JNI handle + S8220394: bufferedStream does not honor size limit + S8220474: Incorrect GPL header in src/java.instrument/share/ /classes/java/lang/instrument/package-info.java + S8220476: Incorrect GPL header in src/jdk.internal.jvmstat/ /share/classes/sun/jvmstat/perfdata/monitor/protocol/local/ /PerfDataFile.java + S8220528: [AIX] Fix basic Xinerama and Xrender functionality + S8220555: JFR tool shows potentially misleading message when it cannot access a file + S8220598: Malformed copyright year range in a few files in java.base + S8221092: UseAVX=3 has performance degredation on Skylake (X7) processors + S8221172: SunEC specific test is not limited to SunEC + S8221246: NullPointerException within Win32ShellFolder2 + S8221395: HttpClient leaving connections in CLOSE_WAIT state until Java process ends + S8221406: Windows 32bit build error in NetworkInterface_winXP.c + S8221456: nmethod::make_unloaded() clears _method member too early + S8221532: Incorrect copyright header in FileSystemSupport_md.c + S8221539: [metaspace] Improve MetaspaceObj::is_metaspace_obj() and friends + S8221569: JFR tool produces incorrect output when both - -categories and --events are specified + S8221711: [TESTBUG] create more tests for JFR in container environment + S8221913: Add GC.selected() jtreg-ext function + S8222015: Small VM.metaspace improvements + S8222440: (zipfs) JarFileSystem does not correctly handle versioned entries if no root entry is present + S8222529: sun.jdwp.listenerAddress agent property uses wrong encoding + S8222807: Address iteration with invalid ZIP header entries + S8222888: [TESTBUG] docker/TestJFREvents.java fails due to "RuntimeException: JAVA_MAIN_CLASS_ is not defined" + S8223438: add VirtualizationInformation JFR event + S8223490: Optimize search algorithm for determining default time zone + S8223697: jfr tool can't format duration values greater than minute + S8223869: Problem list java/awt/FontMetrics/ /MaxAdvanceIsMax.java on more platforms + S8224152: [macOS] ProblemList tests that leave rubbish on the screen + S8224157: BCEL: update to version 6.3.1 + S8224172: assert(jfr_is_event_enabled(id)) failed: invariant + S8224193: stringStream should not use Resouce Area + S8224217: RecordingInfo should use textual representation of path + S8224502: [TESTBUG] JDK docker test TestSystemMetrics.java fails with access issues and OOM + S8224505: TestQuotedLogOutput failure after ProcessBuilder changes + S8224538: LoadBarrierNode::common_barrier must check address + S8224958: add os::dll_load calls to event log + S8225101: Crash at sun.awt.X11.XlibWrapper.XkbGetUpdatedMap when change keybord map + S8225225: stringStream internal buffer should always be zero terminated + S8225392: Comparison builds are failing due to cacerts file + S8225505: ctrl-F1 does not show the tooltip of a menu item (JMenuItems) + S8225694: Destination option missing in FlightRecorderMXBeanImpl + S8225695: 32-bitbuild failures after JDK-8080462 (Update SunPKCS11 provider with PKCS11 v2.40 support) + S8225745: NoSuchAlgorithmException exception for SHA256withECDSA with RSASSA-PSS support + S8226513: JEditorPane is shown with incorrect size + S8226651: Setting the mgfHash in CK_RSA_PKCS_PSS_PARAMS has no effect + S8226719: Kerberos login to Windows 2000 failed with "Inappropriate type of checksum in message" + S8226779: [TESTBUG] Test JFR API from Java agent + S8226869: Testjava/util/Locale/LocaleProvidersRun.java should enable assertions + S8226899: Problemlist compiler/rtm tests + S8227031: Print NMT statistics on fatal errors + S8227032: MetaspaceUtils::print_report crashes when called before initialization + S8227035: JVM::printFlags fails in native OOM situations + S8227061: KDC.java test behaves incorrectly when AS-REQ contains a PAData not PA-ENC-TS-ENC + S8227086: Use AS_NO_KEEPALIVE loads in HeapDumper + S8227127: Era designator not displayed correctly using the COMPAT provider + S8227338: templateInterpreter.cpp: copy_table() needs to be safer + S8227368: EnumSet.class serialization broken in JDK 9+ + S8227381: GSS login fails with PREAUTH_FAILED + S8227391: Update double-conversion to version 3.1.5 + S8227397: Add --with-extra-asflags configure option + S8227411: TestTimeMultiple.java failed "assert(!lease()) failed: invariant" + S8227435: Perf::attach() should not throw a java.lang.Exception + S8227437: S4U2proxy cannot continue because server's TGT cannot be found + S8227439: Turn off AOT by default + S8227605: Kitchensink fails "assert((((klass)->trace_id() & (JfrTraceIdEpoch::leakp_in_use_this_epoch_bit())) != 0)) failed: invariant" + S8227642: [TESTBUG] Make docker tests podman compatible + S8228368: avoid incompatible pointer to integer conversion initializing gint in gtk2_interface + S8228434: jdk/net/Sockets/Test.java fails after JDK-8227642 + S8228465: HOST locale provider holds wrong era name for GregorianCalendar in US locale + S8228625: [TESTBUG] sun/tools/jhsdb/JShellHeapDumpTest.java fails with RuntimeException 'JShellToolProvider' missing from stdout/stderr + S8228645: Don't run sun/security/pkcs11/Cipher/ /TestKATForGCM.java on buggy NSS solaris versions + S8228687: [TESTBUG] exclude Container tests from hotspot_misc group + S8228772: C2 compilation fails due to unschedulable graph if DominatorSearchLimit is reached + S8228834: Regression caused by JDK-8214542 not installing complete checkpoint data to candidates + S8228835: Memory leak in PKCS11 provider when using AES GCM + S8228888: C2 compilation fails with assert "m has strange control" + S8228902: add os::dll_load to the unified logging os category + S8229016: C2 scalarization crashes with assert(node->Opcode() == Op_CastP2X) failed: ConvP2XNode required + S8229020: Failure on CPUs allowing loads reordering: assert(_tasks[t] == 1) failed: What else? + S8229022: BufferedReader performance can be improved by using StringBuilder + S8229156: ProblemList gc/stress/gclocker/ /TestExcessGCLockerCollections.java + S8229169: False failure of GenericTaskQueue::pop_local on architectures with weak memory model + S8229182: runtime/containers/docker/TestMemoryAwareness.java test fails on SLES12 + S8229243: SunPKCS11-Solaris provider tests failing on Solaris 11.4 + S8229284: jdk/internal/platform/cgroup/TestCgroupMetrics.java fails for - memory:getMemoryUsage + S8229408: Bump update version for OpenJDK: jdk-11.0.6 + S8229420: [Redo] jstat reports incorrect values for OU for CMS GC + S8229437: assert(is_aligned(ref, HeapWordSize)) failed: invariant + S8229450: C2 compilation fails with assert(found_sfpt) failed + S8229483: Sinking load out of loop may trigger: assert(found_sfpt) failed: no node in loop that's not input to safepoint + S8229496: SIGFPE (division by zero) in C2 OSR compiled method + S8229515: [macos] access to window property of NSView on wrong thread + S8229701: aarch64: C2 OSR compilation fails with "shouldn't process one node several times" in final graph reshaping + S8229800: WindowsServerCore 1809 does not provide d2d1.dll library required by awt.dll + S8229810: [macos] NullPointerException getting bounds of GraphicsConfiguration + S8229872: (fs) Increase buffer size used with getmntent + S8229899: Make java.io.File.isInvalid() less racy + S8230061: # assert(mode == ControlAroundStripMined && use == sfpt) failed: missed a node + S8230062: assert(i == p->size()-1) failed: must be last element of the pack + S8230110: TestLinkageErrorInGenerateOopMap times out + S8230115: Problemlist JFR TestNetworkUtilization test + S8230238: Add another regression test for JDK-8134739 + S8230303: JDB hangs when running monitor command + S8230363:C2: Let ConnectionGraph::not_global_escape(Node* n) return false if n is not in the CG + S8230376: [TESTBUG] runtime/StackTrace/HiddenFrameTest.java fails with release VM + S8230388: Problemlist additional compiler/rtm tests + S8230466: check malloc/calloc results in jdk.hotspot.agent + S8230646: Epsilon does not extend TLABs to max size + S8230669: [s390] C1: assert(is_bound() || is_unused()) failed: Label was never bound to a location, but it was used as a jmp target + S8230671: x86_32 build failures after JDK-8229496 + S8230711: ConnectionGraph::unique_java_object(Node* N) return NULL if n is not in the CG + S8230728: Thin stroked shapes are not rendered if affine transform has flip bit + S8230769: BufImg_SetupICM add ReleasePrimitiveArrayCritical call in early return + S8230782: Robot.createScreenCapture() fails if "awt.robot.gtk" is set to false + S8230813: Add JDK-8010500 to compiler/loopopts/superword/ /TestFuzzPreLoop.java bug list + S8230856: Java_java_net_NetworkInterface_getByName0 on unix misses ReleaseStringUTFChars in early return + S8230861: missing ReleaseStringUTFChars in Java_sun_security_pkcs11_wrapper_PKCS11_connect + S8230873: [AIX] GUI app does not work with UTF-8 locale on minimum software requirements + S8230881: serviceability/sa/TestJmapCore tests fail with java.lang.RuntimeException: Could not find dump file + S8230900: missing ReleaseStringUTFChars in java.desktop native code + S8230901: missing ReleaseStringUTFChars in serviceability native code + S8230923: SunJSSE is not properly initialized in FIPS mode from a configuration file + S8230943: False deadlock detection with - XX:+CIPrintCompileQueue after JDK-8163511 + S8231055: C2: arraycopy with same non escaping src and dest but different positions causes wrong execution + S8231084: Large performance regression in SwingMark TextArea in 14-b13 + S8231085: C2/GC: Better GC-interface for expanding clone + S8231098: (tz) Upgrade time-zone data to tzdata2019c + S8231124: Missing closedir call with JDK-8223490 + S8231201: hs_err should print coalesced safepoint operations in Events section + S8231222: fix pkcs11 P11_DEBUG guarded native traces + S8231223: C2's conditional move optimization fails with assert(bol->Opcode() == Op_Bool) failed + S8231247: (zipfs) Test failure in jdk/nio/zipfs/ /InvalidZipHeaderTests.java after backport of JDK-8222807 + S8231254: (fs) Add test for macOS Catalina changes to protect system software + S8231294: ZGC: vmTestbase/nsk/jvmti/ResourceExhausted/ /resexhausted002 fails + S8231296: ZGC: vmTestbase/nsk/jvmti/Allocate/alloc001/ fails + S8231318: Several compiler/aot tests fail for JDK11 on Windows when only MSVC 2017 is installed + S8231336: Corrupted option dialog in JTHarness with JDK14b13 + S8231403: [ppc]: Align ReservedCodeCacheSize default value with other platforms + S8231457: Asserts on AIX because os::elapsed_counter() is not monotonic + S8231503: [TESTBUG] compiler/{jvmci,aot} tests should not run with GCs that do not support JVMCI/AOT + S8231620: assert(bol->is_Bool()) crash during split if due to FastLockNode + S8231665: 8231055 broke escapeAnalysis/TestSelfArrayCopy.java + S8231693: Backout "8230728: Thin stroked shapes are not rendered if affine transform has flip bit" from jdk11u + S8231751: on aix handle Power 9 in os::get_summary_cpu_info + S8231770: Test java/util/zip/FlaterTest.java fails with - Xcheck:jni + S8231885: Fix/remove malformed assert in os_windows.cpp + S8231887: ComodoCA.java fails because certificate was revoked + S8231930: Windows build fails after JDK-8191521 + S8231949: [PPC64, s390]: Make async profiling more reliable + S8231988: Unexpected test result caused by C2 IdealLoopTree::do_remove_empty_loop + S8231991: Mouse wheel change focus on awt/swing windows + S8232005: [s390, PPC64] More exception checks missing in interpreter + S8232019: Add LuxTrust certificate updates to the existing root program + S8232051: Epsilon should warn about Xms/Xmx/AlwaysPreTouch configuration + S8232052: use string literal for format string when handling PauseAtStartupFile + S8232178: MacVolumesTest failed after upgrade to MacOS Catalina + S8232381: add result NULL-checking to freetypeScaler.c + S8232539: SIGSEGV in C2 Node::unique_ctrl_out + S8232592: is shown in jstack mixed mode + S8232874: Add missing test for 8230062 + S8232879: Writing out data with the Zip File System leads to a CRC failure + S8232984: Upgrading Joni License version to 2.1.16 + S8233075: JFR - nmetods - misspelled in several places + S8233081: C1: PatchingStub for field access copies too much + S8233097: Fontmetrics for large Fonts has zero width + S8233202: exclude javax/swing/plaf/basic/BasicGraphicsUtils/ /8132119/bug8132119.java + S8233203: fix non-product build on AIX when compiling with xlc16/legacy-xlc + S8233223: Add Amazon Root CA certificates + S8233404: System property to set the number of PBE iterations in JCEKS keystores + S8233820: Test crashed with assert(phi->operand_count() != 1 || phi->subst() != phi) failed: missed trivial simplification + S8233839: aarch64: missing memory barrier in NewObjectArrayStub and NewTypeArrayStub + S8233886: TEST_BUG jdk/java/net/CookieHandler/B6791927.java hit hardcoded expiration date + S8233944: Make KerberosPrincipal.KRB_NT_ENTERPRISE field package private + S8233954: UnsatisfiedLinkError or NoSuchAlgorithmException after removing sunec.dll + S8234080: jdk/nio/zipfs/CRCWriteTest.java fails + S8234107: Several AWT modal dialog tests failing on Linux after JDK-8231991 + S8234245: sun/security/lib/cacerts/VerifyCACerts.java fails due to wrong checksum + S8234321: Call cache flush after generating trampoline. + S8234591: [11u] Build with old C compiler broken by 8223490 + S8234625: hs test serviceability/sa/ClhsdbCDSCore.java fails on macOS 10.15 + S8234645: ARM32: C1: PatchingStub for field access: not enough bytes + S8234906: [TESTBUG] TestDivZeroCheckControl fails for client VMs due to Unrecognized VM option LoopUnrollLimit + S8235142: JDK-8193255 backport broke bootstrap with JDK 10 + S8235403: Further cleanup to test serviceability/sa/ClhsdbCDSCore.java + S8235585: Enable macOS codesigning for all libraries and executables + S8235687: Contents/MacOS/libjli.dylib cannot be a symlink- Switch back armv6 from zero platform to client JVM- Update to upstream tag jdk-11.0.5-10 (October 2019 CPU, bsc#1154212) * Security fixes: + S8209901: Canonical file handling + S8213429, CVE-2019-2933: Windows file handling redux + S8218573, CVE-2019-2945: Better socket support + S8218877: Help transform transformers + S8219914: Change the environment variable for Java Access Bridge logging to have a directory. + S8220186: Improve use of font temporary files + S8220302, CVE-2019-2949: Better Kerberos ccache handling + S8221497: Optional Panes in Swing + S8221858, CVE-2019-2958: Build Better Processes + S8222684, CVE-2019-2964: Better support for patterns + S8222690, CVE-2019-2962: Better Glyph Images + S8223163: Better pattern recognition + S8223505, CVE-2019-2973: Better pattern compilation + S8223518, CVE-2019-2975: Unexpected exception in jjs + S8223886: Add in font table referene + S8223892, CVE-2019-2978: Improved handling of jar files + S8224025: Fix for JDK-8220302 is not complete + S8224062, CVE-2019-2977: Improve String index handling + S8224532, CVE-2019-2981: Better Path supports + S8224915, CVE-2019-2983: Better serial attributes + S8225286, CVE-2019-2987: Better rendering of native glyphs + S8225292, CVE-2019-2988: Better Graphics2D drawing + S8225298, CVE-2019-2989: Improve TLS connection support + S8225597, CVE-2019-2992: Enhance font glyph mapping + S8226765, CVE-2019-2999: Commentary on Javadoc comments + S8227601: Better collection of references + S8228825, CVE-2019-2894, bsc#1152856: Enhance ECDSA operations * Other fixes: + S6996807: FieldReflectorKey hash code computation can be improved + S8076988: reevaluate trivial method policy + S8087128: C2: Disallow definition split on MachCopySpill nodes + S8133489: Better messaging for PKIX path validation matching + S8139965: Hang seen when using com.sun.jndi.ldap.search.replyQueueSize + S8147502: Digest is incorrectly truncated for ECDSA signatures when the bit length of n is less than the field size + S8148188: Enhance the security libraries to record events of interest + S8163363: AArch64: Stack size in tools/launcher/Settings.java needs to be adjusted + S8163511: Allocation of compile task fails with assert: "Leaking compilation tasks?" + S8170639: [Linux] jsig is limited to a maximum of 64 signals + S8177899: Tests fail due to code cache exhaustion on machines with many cores + S8180901: Transformer.reset() resets the state only once + S8193234: When using -Xcheck:jni an internally allocated buffer can leak + S8194231: java/net/DatagramSocket/ReuseAddressTest.java failed with java.net.BindException: Address already in use: Cannot bind + S8196681: Java Access Bridge logging and debug flags dynamically controlled + S8198411: [TEST_BUG] Two java2d tests are unstable in mach5 + S8200365: TestOptionsWithRanges.java of '-XX:TLABWasteTargetPercent=100' fails intermittently + S8200400: Restrict Sasl mechanisms + S8202035: Archive the set of ModuleDescriptor and ModuleReference objects for observable system modules with unnamed initial module. + S8202252: (aio) Closed AsynchronousSocketChannel keeps completion handler alive + S8202952: C2: Unexpected dead nodes after matching + S8203629: Produce events in the JDK without a dependency on jdk.jfr + S8204203: Many pkcs11 tests failed in Provider initialization, after compiler on Windows changed + S8204521: compiler/jsr292/ /RedefineMethodUsedByMultipleMethodHandles.java fails trying to delete temp file + S8205421: AARCH64: StubCodeMark should be placed after alignment + S8205654: serviceability/dcmd/framework/HelpTest.java timed out + S8206074: nsk/jdi/EventRequestManager/createStepRequest/ /crstepreq001/TestDescription.java is timing out + S8206879: Currency decimal marker incorrect for Peru + S8207965: C2-only debug build fails + S8208269: Javadoc does not support module-info in a multi-release jar + S8208499: NMT: Missing memory tag for Safepoint polling page + S8208655: use JTreg skipped status in hotspot tests + S8208701: Fix for JDK-8208655 causes test failures in CI tier1 + S8208706: compiler/tiered/ConstantGettersTransitionsTest.java fails to compile + S8208780: (se) test SelectWithConsumer.testReadableAndWriteable(): failure + S8209186: Rename SimpleThresholdPolicy to TieredThresholdPolicy + S8209413: AArch64: NPE in clhsdb jstack command + S8209420: Track membars for volatile accesses so they can be properly optimized + S8209684: Intrinsics that assume some input non null should use GraphKit::must_be_not_null() + S8209939: [testbug][ppc] Test SafepointPollingPages fails after 8208499 with UseSIGTRAP on. + S8210063: ZGC: Enable load barriers for IN_NATIVE runtime barriers + S8210130: java/net/httpclient/UnknownBodyLengthTest.java failed + S8210314: [aix] NMT does not show "Safepoint" memory type + S8210389: C2: assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc + S8210390: C2 still crashes with "assert(mode == ControlAroundStripMined && use == sfpt) failed: missed a node" + S8210408: Refactor java.util.ResourceBundle:i18n shell tests to plain java tests + S8210729: Clean up macosx static library handling + S8210919: Remove statically linked libjli on Windows + S8210926: vmTestbase/nsk/jvmti/scenarios/allocation/AP11/ /ap11t001/TestDescription.java failed with JVMTI_ERROR_INVALID_CLASS in CDS mode + S8210985: Update the default SSL session cache size to 20480 + S8211097: aix: fix build after JDK-8210919 + S8211232: GraphKit::make_runtime_call() sometimes attaches wrong memory state to call + S8211233: MemBarNode::trailing_membar() and MemBarNode::leading_membar() need to handle dying subgraphs better + S8211727: Adjust default concurrency settings for running tests on Sparc + S8212528: Wrong cgroup subsystem being used for some CPU Container Metrics + S8212970: TZ database in "vanguard" format support + S8212992: Change mirror accessor in Klass::verify_on() to use AS_NO_KEEPALIVE + S8213017: jspawnhelper: need to handle pipe write failure when sending return code + S8213117: adoptNode corrupts attribute values + S8213134: AArch64: vector shift failed with MaxVectorSize=8 + S8213172: CDS and JFR tests fail with assert(JdkJfrEvent::is(klass)) failed: invariant + S8213325: (props) Properties.loadFromXML does not fully comply with the spec + S8213406: (fs) More than one instance of built-in FileSystem observed in heap + S8213561: ZipFile/MultiThreadedReadTest.java timed out in tier1 + S8213734: SAXParser.parse(File, ..) does not close resources when Exception occurs. + S8214003: Limit default test jobs based on memory size + S8214096: sun.security.util.SignatureUtil passes null parameter, so JCE validation fails + S8214161: java.lang.IllegalAccessError: class jdk.internal.event.X509CertificateEvent (in module java.base) cannot access class jdk.jfr.internal.handlers.EventHandler (in module jdk.jfr) because module java.base does not read module jdk.jfr + S8214287: SpecJbb2005StressModule got uncaught exception + S8214579: JFrame does not paint content in XVFB / X11vnc environment + S8214687: Optimize Collections.nCopies().hashCode() and equals() + S8214702: Wrong text position for whitespaced string in printing Swing text + S8214770: java/time/test/java/time/format/ /TestNonIsoFormatter.java failed in non-english locales. + S8214777: Avoid some GCC 8.X strncpy() errors in HotSpot + S8214857: "bad trailing membar" assert failure at memnode.cpp:3220 + S8215044: C2 crash in loopTransform.cpp with assert(cl->trip_count() > 0) failed: peeling a fully unrolled loop + S8215130: Fix errors in LittleCMS 2.9 reported by GCC 8 + S8215265: C2: range check elimination may allow illegal out of bound access + S8215281: Use String.isEmpty() when applicable in java.base + S8215380: Backout accidental change to String::length + S8215451: JNI IsSameObject should not keep objects alive + S8215483: Off heap memory accesses should be vectorized + S8215505: Cleanup jvm.cpp obsolete code after JDK-8210094: Better loading of classloader classes + S8215534: [testbug] some jfr test don't check @requires vm.hasJFR + S8215694: keytool cannot generate RSASSA-PSS certificates + S8215756: Memory leaks in the AWT on macOS + S8215792: AArch64: String.indexOf generates incorrect result + S8215879: AArch64: ReservedStackAccess may leave stack guard in inconsistent state + S8215901: [TESTBUG] TestCheckedEnsureLocalCapacity.java fails intermittently + S8215961: jdk/jfr/event/os/TestCPUInformation.java fails on AArch64 + S8215982: (tz) Upgrade time-zone data to tzdata2018i + S8216039: TLS with BC and RSASSA-PSS breaks ECDHServerKeyExchange + S8216046: test/jdk/java/beans/PropertyEditor/Test6397609.java failing + S8216155: C4819 warning at libfreetype sources on Windows + S8216199: Local variable arg defined but never used in BCEscapeAnalyzer::compute_escape_for_intrinsic() + S8216205: Java API documentation formatting error in System.getEnv + S8216261: Javap ignores default modifier on interfaces + S8216326: SSLSocket stream close() does not close the associated socket + S8216375: Revert JDK-8145579 after JDK-8076988 is resolved + S8216401: Allow "file:" URLs in Class-Path of local JARs + S8216427: ciMethodData::load_extra_data() does not always unpack the last entry + S8216528: test/jdk/java/rmi/transport/ /runtimeThreadInheritanceLeak/ /RuntimeThreadInheritanceLeak.java failing with Xcomp + S8216549: Mismatched unsafe access to non escaping object fails + S8216562: UnknownBodyLength sometimes fails due to "Connection reset by peer" + S8216987: ciMethodData::load_data() unpacks MDOs with non-atomic copy + S8216989: CardTableBarrierSetAssembler::gen_write_ref_array_post_barrier() does not check for zero length on AARCH64 + S8217093: Support extended-length paths in parse_manifest.c on windows + S8217344: Make comparison overflow-aware in ECDHKeyAgreement.engineGenerateSecret() + S8217359: C2 compiler triggers SIGSEGV after transformation in ConvI2LNode::Ideal + S8217364: Custom URLStreamHandler for jrt or file protocol can override default handler + S8217366: ZoneStrings are not populated for all the Locales + S8217368: AArch64: C2 recursive stack locking optimisation not triggered + S8217371: Incorrect LP64 guard in x86.ad after JDK-8210764 (Update avx512 implementation) + S8217576: C1 atomic access handlers use incorrect decorators + S8217676: Upgrade libpng to 1.6.37 + S8217760: C2: Missing symbolic info on a call from intrinsics when invoked through MethodHandle + S8217766: Container Support doesn't work for some Join Controllers combinations + S8217785: Padding ParallelTaskTerminator::_offered_termination variable + S8217896: Make better use of LCPUs when building on AIX + S8217990: C2 UseOptoBiasInlining: load of markword optimized to 0 if running with -XX:-EliminateLocks + S8218163: C2: Continuous deoptimization w/ Reason_speculate_class_check and Action_none + S8218185: aarch64: missing LoadStore barrier in TemplateTable::putfield_or_static + S8218201: Failures when vmIntrinsics::_getClass is not inlined + S8218280: LineNumberReader throws "Mark invalid" exception if CRLF straddles buffer. + S8218553: Enhance keystore load debug output + S8218558: NMT stack traces in output should show mt component for virtual memory allocations + S8218566: NMT: missing memory tag for assert poison page + S8218581: Incorrect exception message generation + S8218682: [TEST_BUG] DashOffset fails in mach5 + S8218705: Test sun/tools/jcmd/TestJcmdDefaults.java fails on Linux + S8218715: [TESTBUG] TestUseOptoBiasInliningWithoutEliminateLocks needs to unlock WhiteBoxAPI + S8218721: C1's CEE optimization produces safepoint poll with invalid debug information + S8218723: Use SunJCE Mac in SecretKeyFactory PBKDF2 implementation + S8218780: Update MUSCLE PCSC-Lite header files + S8218879: Keep track of memory accesses originated from Unsafe + S8218966: AArch64: String.compareTo() can read memory after string + S8219013: Update Apache Santuario (XML Signature) to version 2.1.3 + S8219241: Provide basic virtualization related info in the hs_error file on linux/windows x86_64 + S8219244: NMT: Change ThreadSafepointState's allocation type from mtInternal to mtThread + S8219370: NMT: Move synchronization primitives from mtInternal to mtSynchronizer + S8219513: compiler/codegen/aes/ /TestCipherBlockChainingEncrypt.java timeout on Solaris-sparc + S8219517: assert(false) failed: infinite loop in PhaseIterGVN::optimize + S8219562: Line of code in osContainer_linux.cpp L102 appears unreachable + S8219583: Windows build failure after JDK-8214777 (Avoid some GCC 8.X strncpy() errors in HotSpot) + S8219635: aarch64: missing LoadStore barrier in TemplateTable::fast_storefield + S8219807: C2 crash in IfNode::up_one_dom(Node*, bool) + S8219919: RuntimeStub name lost with PrintFrameConverterAssembly + S8219993: AArch64: Compiled CI stubs are unsafely modified + S8219997: [TESTBUG] Create test for JFR events in Docker container: CPU, Memory and Process Info + S8220037: Inconsistencies of generated timezone files between Windows and Linux + S8220072: GCC 8.3 reports errors in java.base + S8220173: assert(_handle_mark_nesting > 1) failed: memory leak: allocating handle outside HandleMark + S8220227: Host Locale Provider getDisplayCountry returns error message under non-English Win10 + S8220313: [TESTBUG] Update base image for Docker testing to OL 7.6 + S8220341: Class redefinition fails with assert(!is_unloaded()) failed: unloaded method on the stack + S8220355: Improve assertion texts and exception messages in eventHandlerVMInit + S8220570: Additonal trace when native thread creation fails + S8220579: [Containers] SubSystem.java out of sync with osContainer_linux.cpp + S8220657: JFR.dump does not work when filename is set + S8220672: [TESTBUG] TestCPUSets should check that cpuset does not exceed available cores + S8220674: [TESTBUG] MetricsMemoryTester failcount test in docker container only works with debug JVMs + S8220682: Heap dumping and inspection fails with JDK-8214712 + S8220690: ATTRIBUTE_ALIGNED requires GNU extensions enabled + S8221120: CopyOnWriteArrayList.set should always have volatile write semantics + S8221220: AArch64: Add StoreStore membar explicitly for Volatile Writes in TemplateTable + S8221253: TLSv1.3 may generate TLSInnerPlainText longer than 2^14+1 bytes + S8221325: Add information about swap space to print_memory_info() on MacOS + S8221340: [TESTBUG] TestCgroupMetrics.java fails after fix for JDK-8219562 + S8221342: [TESTBUG] Generate Dockerfile for docker testing + S8221407: Windows 32bit build error in libsunmscapi/security.cpp + S8221408: Windows 32bit build build errors/warnings in hotspot + S8221411: NullPointerException in RasterPrinterJob without PrinterResolution + S8221434: Fix typo in lib-x11 autoconf error message about missing headers + S8221480: jcmd VM.metaspace shall print limits in basic mode + S8221497: Optional Panes in Swing + S8221527: [TESTBUG] DockerBasicTest.java contains hard-coded reference to JDK 10 + S8221529: [TESTBUG] Docker tests use old/deprecated image on AArch64 + S8221710: [TESTBUG] more configurable parameters for docker testing + S8221725: AArch64 build failures after JDK-8221408 (Windows 32bit build build errors/warnings in hotspot) + S8221730: jcmd process name matching broken + S8221801: Update src/java.base/share/legal/public_suffix.md + S8221892: ThreadPoolExecutor: Thread.isAlive() is not equivalent to not being startable + S8221894: Add comments for docker tests in the test doc + S8222108: Reduce minRefreshTime for updating remote printer list on Windows + S8222154: upgrade gtest to 1.8.1 + S8222280: Provide virtualization related info in the hs_error file on AIX + S8222299: [TESTBUG] move hotspot container tests to hotspot/containers + S8222362: Upgrade to Freetype 2.10.0 + S8222387: Out-of-bounds access to CPU _family_id_xxx array + S8222415: Xerces 2.12.0: Parsing Configuration + S8222670: pathological case of JIT recompilation and code cache bloat + S8222720: Provide extended VMWare/vSphere virtualization related info in the hs_error file on linux/windows x86_64 + S8222743: Xerces 2.12.0: DOM Implementation + S8222914: Partial backport of JDK-8218266 + S8222968: ByteArrayPublisher is not thread-safe resulting in broken re-use of HttpRequests + S8222980: Upgrade IANA Language Subtag Registry to Version 2019-04-03 + S8222987: sun/security/tools/keytool/PSS.java times out on Solaris-SPARC + S8222991: Xerces 2.12.0: Validation + S8223177: Data race on JvmtiEnvBase::_tag_map in double-checked locking + S8223227: Rename acquire_tag_map() to tag_map_acquire() in jvmtiEnvBase + S8223244: Fix usage of ARRAYCOPY_DISJOINT decorator + S8223336: Assert in VirtualMemoryTracker::remove_released_region when running the SharedArchiveConsistency.java test with - XX:NativeMemoryTracking=detail + S8223482: Unsupported ciphersuites may be offered by a TLS client + S8223518: Unexpected exception in jjs + S8223537: testlibrary_tests/ctw/ClassesListTest.java fails with Agent timeout frequently + S8223553: Fix code constructs that do not compile with the Eclipse Java Compiler + S8223572: ~ThreadInVMForHandshake() should call handle_special_runtime_exit_condition() + S8223574: add more thread-related system settings info to hs_error file on AIX + S8223660: jtreg: Decouple Unsafe from RTM tests + S8223814: SA: jhsdb common help needs to be more detailed + S8223886: Add in font table referene + S8224033: os::snprintf should be used in virtualizationSupport.cpp + S8224034: [TESTBUG] runtime/ErrorHandlerTest/ErrorHandler fails intermittently for case 13 on Windows + S8224090: [PPC64] Fix SLP patterns for filling an array with double float literals + S8224165: [TESTBUG] Docker tests produce excessive output + S8224181: On child process spawn, child may write to random file descriptor instead of the fail pipe + S8224202: Speed up Properties.load + S8224221: add memprotect calls to event log + S8224230: [PPC64, s390] Support AsyncGetCallTrace + S8224252: [TESTBUG] hotspot/test/serviceability/sa/sadebugd/SADebugDTest.java is timing out again after fix for JDK-8163805 + S8224487: outputStream should not be copyable + S8224531: SEGV while collecting Klass statistics + S8224558: Fix replicateB encoding + S8224560: (tz) Upgrade time-zone data to tzdata2019a + S8224580: Matcher can cause oop field/array element to be reloaded + S8224589: Improve startup behavior of SecurityProperties + S8224658: Unsafe access C2 compile fails with assert(flat != TypePtr::BOTTOM) failed: cannot alias-analyze an untyped ptr: adr_type = NULL + S8224698: ConcurrentSkipListMap.java does not compile with the Eclipse Java Compiler + S8224825: java/awt/Color/AlphaColorTest.java fails in linux-x64 system + S8224838: Bump update version for OpenJDK: jdk-11.0.5 + S8224991: Problemlist javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java + S8225005: Xerces 2.12.0: License file + S8225141: Better handling of classes in error state in fast class initialization checks + S8225178: [Solaris] os::signal() should call sigaction() with SA_SIGINFO + S8225189: Multiple JNI calls within critical region in ZIP Library + S8225257: sun/security/tools/keytool/PSS.java timed out + S8225286: Better rendering of native glyphs + S8225298: Improve TLS connection support + S8225347: [s390] Unexpected exit from stack overflow test + S8225386: test for JDK-8216261 fails in Windows + S8225388: Running jcmd Compiler.CodeHeap_Analytics all 0 cause crash. + S8225390: ProblemList sun/security/pkcs11/sslecc/ /ClientJSSEServerJSSE.java due to JDK-8161536 + S8225423: GTK L&F: JSplitPane: There is no divider shown + S8225425: java.lang.UnsatisfiedLinkError: net.dll: Can't find dependent libraries + S8225543: Jcmd fails to attach to the Java process on Linux using the main class name if whitespace options were used to launch the process + S8225580: tzdata2018i integration causes test failures on jdk-13 + S8225636: SA can't handle prelinked libraries + S8225644: C1 dumps incorrect class name in ClassCastException message + S8225663: [testbug] Missing JNIEXPORT in XAbortProvoker native function + S8225715: jhsdb jmap fails to write binary heap dump of a jshell process + S8226409: Enable argument profiling for sun.misc.Unsafe.put*/get* + S8226468: [aix] loadquery failed error message displayed + S8226530: ZipFile reads wrong entry size from ZIP64 entries + S8226543: Reduce GC pressure during message digest calculations in password-based encryption + S8226607: Inconsistent info between pcsclite.md and MUSCLE headers + S8226798: JVM crash in klassItable::initialize_itable_for_interface(int, InstanceKlass*, bool, Thread*) + S8226964: [Yaru] GTK L&F: There is no difference between menu selected and de-selected + S8227011: Starting a JFR recording in response to JVMTI VMInit and / or Java agent premain corrupts memory + S8227041: runtime/memory/RunUnitTestsConcurrently.java has a memory leak + S8227117: normal interpreter table is not restored after single stepping with TLH + S8227247: tools/sjavac/IdleShutdown.java fails with AssertionError: Error too big on windows + S8227277: HeapInspection::find_instances_at_safepoint walks dead objects + S8227392: Colors with alpha are painted incorrectly on Linux, after JDK-8214579 + S8227594: sadebugd/DebugdConnectTest.java fails due to "java.rmi.NotBoundException: SARemoteDebugger" + S8227630: adjust format specifiers in loadlib_aix.cpp + S8227834: build.log output from failing commands : include the hs_error file path in case of crashes in build + S8227869: fix wrong format specifiers in os_aix.cpp + S8227919: 8213232 causes crashes on solaris sparc64 + S8228337: problemList failing/ignored manual tests in security-libs + S8228400: Remove built-in AArch64 simulator + S8228469: (tz) Upgrade time-zone data to tzdata2019b + S8228485: JVM crashes when bootstrap method for condy triggers loading of class whose static initializer throws ve thread creation fails + S8220579: [Containers] SubSystem.ja exception + S8228501: java_props_macosx.c - provide missing CFRelease for CFLocaleCopyCurrent + S8228578: fix CFData object leak in macosx KeystoreImpl.m + S8228585: jdk/internal/platform/cgroup/TestCgroupMetrics.java - NumberFormatException because of large long values (memory limit_in_bytes) + S8228596: Class redefinition fails when condy instructions are removed + S8228601: AArch64: Fix interpreter code at JVMCI deoptimization entry + S8228618: s390: c1/c2 fail to add a metadata relocation in the static call stub. + S8228649: [PPC64] SA reads wrong slots from interpreter frames + S8228658: test GetTotalSafepointTime.java fails on fast Linux machines with Total safepoint time 0 ms + S8228711: Path rendered incorrectly when it goes outside the clipping region + S8228725: AArch64: Purge method call format support + S8228764: New library dependencies due to JDK-8222720 + S8229118: [TESTBUG] serviceability/sa/ClhsdbFindPC fails on AArch64 + S8229352: Use of an uninitialized register in 32-bit ARM template interpreter + S8229406: ZGC: Fix incorrect statistics + S8229767: Typo in java.security: Sasl.createClient and Sasl.createServer + S8229773: Resolve permissions for code source URLs lazily + S8229887: (zipfs) zip file corruption when replacing an existing STORED entry + S8229925: [s390, PPC64] Exception check missing in interpreter + S8230085: (fs) FileStore::isReadOnly is always true on macOS Catalina + S8230099: Prepare for backport of JDK-8217368 + S8230728: Thin stroked shapes are not rendered if affine transform has flip bit + S8230850: Test sun/tools/jcmd/TestProcessHelper.java fails intermittently + S8231693: Backout "8230728: Thin stroked shapes are not rendered if affine transform has flip bit" from jdk11u - Modified patch: * system-pcsclite.patch + adapt to changed context- Update to upstream tag jdk-11.0.4+11 (July 2019 CPU) * Security fixes + S8208698, CVE-2019-2745, bsc#1141784: Improved ECC Implementation + S8212328, CVE-2019-2762, bsc#1141782: Exceptional throw cases + S8213431, CVE-2019-2766, bsc#1141789: Improve file protocol handling + S8213432, CVE-2019-2769, bsc#1141783: Better copies of CopiesList + S8216381, CVE-2019-2786, bsc#1141787: More limited privilege usage + S8217563: Improve realm maintenance + S8218863: Better endpoint checks + S8218873: Improve JSSE endpoint checking + S8218876, CVE-2019-7317, bsc#1141780: Improve PNG support options + S8219775: Certificate validation improvements + S8220517: Enhanced GIF support + S8221345, CVE-2019-2818, bsc#1141788: Better Poly1305 support + S8221518, CVE-2019-2816, bsc#1141785: Normalize normalization + S8222678, CVE-2019-2821, bsc#1141781: Improve TLS negotiation * Other fixes + S6913047: Long term memory leak when using PKCS11 and JCE exceeds 32 bit process address space + S8139178: Wrong fontMetrics when printing in Landscape (OpenJDK) + S8163805: hotspot/test/serviceability/sa/sadebugd/ /SADebugDTest.java failed with timed out + S8170494: JNI exception pending in PlainDatagramSocketImpl.c + S8174691: [TESTBUG] A number of native hotspot unit tests fail when executed in stand-alone mode + S8179098: Crypto AES/ECB encryption/decryption performance regression (introduced in jdk9b73) + S8181143: Introduce diagnostic flag to abort VM on too long VM operations + S8188133: C2: Static field accesses in clinit can trigger deoptimizations + S8190361: Incorrect version info in jaccessinspector.exe and jaccesswalker.exe + S8195793: Remove GTE CyberTrust Global Root + S8200286: (testbug) MOptionTest test fails with java.lang.AssertionError: Classfiles too old! + S8200613: SA: jstack throws UnmappedAddressException with a CDS core file + S8201317: X25519/X448 code improvements + S8201633: Problems with AES-GCM native acceleration + S8202353: os::readdir should use readdir instead of readdir_r + S8202414: Unsafe write after primitive array creation may result in array length change + S8202651: Test ComodoCA.java fails + S8202794: Native Unix code should use readdir rather than readdir_r + S8202884: SA: Attach/detach might fail on Linux if debugee application create/destroy threads during attaching + S8203627: Swing applications with JRadioButton and JCheckbox fail to render correctly when using GTK3 and the GTK L&F + S8204308: SA: serviceability/sa/TestInstanceKlassSize*.java fails when running in CDS mode + S8205574: Loop predication "assert(f <= 1 && f >= 0) failed Incorrect frequency" + S8205611: Improve the wording of LinkageErrors to include module and class loader information + S8206955: MethodHandleProxies.asInterfaceInstance does not support default methods + S8207340: (fs) UnixNativeDispatcher close and readdir usages should be fixed + S8207748: Fix for 8202794 breaks tier1 builds + S8207760: SAXException: Invalid UTF-16 surrogate detected: d83c ? + S8208634: Add x-IBM-1129 charset + S8208648: ECC Field Arithmetic Enhancements + S8208702: javax/swing/reliability/ /HangDuringStaticInitialization.java may hang on macos + S8208996: X11 icon window color handing bug + S8209055: c.s.t.javac.code.DeferredCompletionFailureHandler seems to use WeakHashMap incorrectly + S8209414: AArch64: method handle invocation does not respect JVMTI interp_only mode + S8209415: Fix JVMTI test failure HS202 + S8209573: [TESTBUG] gc/epsilon/TestMemoryMXBeans should retry on failure + S8209914: javadoc search sometimes generates bad URIs + S8209951: Problematic sparc intrinsic: com.sun.crypto.provider.CipherBlockChaining + S8210008: custom extension for make/SourceRevision.gmk + S8210197: javac can't tell during speculative attribution if a diamond expression is creating an anonymous inner class or not + S8210283: Support git as an SCM alternative in the build + S8210320: PPC64: Fix uninitialized variable in C1 LIR assembler code + S8210457: JVM crash in ResolvedMethodTable::add_method(Handle) + S8210483: AssertionError in DeferredAttr at setOverloadKind caused by JDK-8203679 + S8210519: build/releaseFile/CheckSource.java failed additional sources found + S8210739: Calling JSpinner's setFont with null throws NullPointerException + S8210782: Upgrade HarfBuzz to the latest 2.3.1 + S8210803: Compilation failure in codeBlob.cpp for Windows 32-bit + S8210837: Add libXrandr-devel to the Linux devkits + S8210863: Remove Xrandr include files from JDK sources + S8210880: Remove HPKeysym.h from JDK sources + S8210886: Remove references in xwindows.md to non-existent files. + S8210899: (zipfs) ZipFileSystem.EntryOutputStreamCRC32 mistakenly set the crc32 value into size field + S8211266: [TESTBUG] ZipFSTester.java failed intermittently in ZipFSTester.checkRead(): bound must be positive + S8211350: Remove jprt support + S8211393: Memory leak issue on awt_InputMethod.c + S8211435: Exception in thread "AWT-EventQueue-1" java.lang.IllegalArgumentException: null source + S8211698: Crash in C2 compiled code during execution of double array heavy processing code + S8211810: X11 Time stamp data should be unsigned + S8211826: StringIndexOutOfBoundsException happens via GetStringUTFRegion() + S8211841: [testbug] sun/nio/cs/OLD/TestIBMDB.java does not compile (aix) + S8211969: test/jdk/lib/security/CheckBlacklistedCerts.java searching for wrong paths + S8211971: Move security/cacerts/VerifyCACerts.java and security/CheckBlacklistedCerts.java + S8212202: [Windows] Exception if no printers are installed. + S8212205: VM asserts after CDS archive has been unmapped + S8212562: To remove lib/security from test/jdk/TEST.groups + S8212676: AWT SystemColor setting on CDE + S8212677: X11 default visual support for IM status window on VNC + S8212678: Windows IME related patch + S8212794: IBM-964 is required for AIX default charset + S8212828: (process) Provide a way for Runtime.exec to use posix_spawn on linux + S8213015: Inconsistent settings between JFR.configure and - XX:FlightRecorderOptions + S8213213: Remove src/java.desktop/unix/classes/sun/awt/ /X11/keysym2ucs.h + S8213232: Unix/X11 setCompositionEnableNative issue + S8213292: Input freezes after MacOS key-selector (press&hold) usage on macOS Mojave + S8213294: Upgrade IANA LSR data + S8213515: Improve freetype detection on linux/ppc64/ppc64le/ /s390x + S8213614: DnD operation change feature does not work with 64bit big endian CPU + S8213617: JFR should record the PID of the recorded process + S8213618: IBM970 charset has missing entry and remove unexpected entries + S8213825: assert(false) failed: Non-balanced monitor enter/exit! Likely JNI locking + S8213944: Fix AIX build after the removal of Xrandr.h and add a configure check for it + S8214002: Cannot use italic font style if the font has embedded bitmap + S8214109: XToolkit is not correctly displayed color on 16-bit high color setting + S8214111: There is no icon in all JOptionPane target image + S8214112: The whole text in target JPasswordField image are not selected + S8214252: Expanded & Collapsed nodes of a JTree look the same on GTK3 + S8214253: Tooltip is transparent rather than having a black background + S8214468: jQuery UI upgrade from 1.11.4 to 1.12.1 + S8214533: IBM-29626C is required for AIX default charset + S8214765: All TrayIcon MessageType icons does not show up with gtk3 option set + S8214935: Upgrade IANA LSR data + S8215026: Incorrect amount of memory unmapped with ImageFileReader::close() + S8215123: Crash in runtime image built with jlink --compress=2 + S8215284: Reduce noise induced by periodic task getFileSize() + S8215296: do not disable c99 on Solaris + S8215342: [Zero] Build fails after JDK-8200613 + S8215364: JavaFX crashes on Ubuntu 18.04 with Wayland while using Swing-FX interop + S8215374: 32-bit build failures after JDK-8181143 (Introduce diagnostic flag to abort VM on too long VM operations) + S8215398: -Xlog option usage => Invalid decorator '\temp\app_cds.log'. + S8215443: The use of TransportContext.fatal() leads to bad coding style + S8215472: (zipfs) Cleanups in implementation classes of jdk.zipfs and tests + S8215707: [macosx] fix pthread_getschedparam and pthread_setschedparam calls + S8215757: C2: PhaseIdealLoop::create_new_if_for_predicate() computes wrong IDOM + S8215790: Delegated task created by SSLEngine throws java.nio.BufferUnderflowException + S8216045: The size of key_exchange may be wrong on FFDHE + S8216355: missing NULL checks in libnet in interface iteration and potential resource leak in getMacAddress + S8216556: Unnecessary liveness computation with JVMTI + S8216577: Add GlobalSign's R6 Root certificate + S8216597: SIGBUS in Java_sun_security_pkcs11_wrapper_PKCS11_getNativeKeyInfo after JDK-6913047 + S8216970: condy causes JVM crash + S8217088: Disable JDK-6913047 fix (SunPKCS11 memory leak) after JDK-8216597 (SIGBUS error in getNativeKeyInfo) + S8217094: HttpClient SSL race if a socket IOException is raised before ALPN is available + S8217263: Automate DashOffset test + S8217311: Improve Exception thrown when MulticastSocket.setInterface fails on AIX(Unix) + S8217564: idempotent protection missing in crc32c.h + S8217647: JFR: recordings on 32-bit systems unreadable + S8217690: Update public suffix version + S8217707: JNICALL declaration breaks Splash screen functions + S8217765: Internal Error (javaCalls.cpp:61) guarantee(thread->can_call_java()) failed + S8217786: Provide virtualization related info in the hs_error file on linux s390x + S8217878: ENVELOPING XML signature no longer works in JDK 11 + S8217879: hs_err should print more instructions in hex dump + S8217880: AIX build issue after JDK-8214533 + S8218020: Fix version number in mesa.md 3rd party legal file + S8218060: JDK-8217786 breaks build due to remaining unused function + S8218063: JDK-8218060 breaks build for S390 + S8218152: [javac] fails and exits with no error if a bad annotation processor provided + S8218469: JSlider display issue with slider for GTKLookAndFeel + S8218470: JScrollBar display issue with GTKLookAndFeel + S8218472: JProgressBar display issue with GTKLookAndFeel + S8218473: JOptionPane display issue with GTKLookAndFeel + S8218479: JTextPane display issue with GTKLookAndFeel + S8218618: Program fails when using JDK addressed by UNC path and using Security Manager + S8218629: XML Digital Signature throws NAMESPACE_ERR exception on OpenJDK 11, works 8/9/10 + S8218674: HTML Tooltip with "img=src" on component doesn't show + S8218733: SA: CollectedHeap provides broken implementation for used() and capacity() + S8218781: Localized names for Japanese era Reiwa in COMPAT provider + S8218811: replace open by os::open in hotspot coding + S8218854: FontMetrics.getMaxAdvance may be less than the maximum FontMetrics.charWidth + S8218960: CONFIG level logging statements printed in CLDRCalendarDataProviderImpl.java even when default log Level is INFO + S8218991: s390: Add intrinsic for GHASH algorithm + S8219006: AArch64: Register corruption in slow subtype check + S8219011: Implement MacroAssembler::warn method on AArch64 + S8219112: name_and_sig_as_C_string usages in frame_s390 miss ResourceMark + S8219335: "failed: unexpected type" assert failure in ConnectionGraph::split_unique_types() with unsafe accesses + S8219389: Delegated task created by SSLEngine throws BufferUnderflowException + S8219414: SA: jhsdb jsnap throws UnmappedAddressException with core generated by gcore + S8219448: split-if update_uses accesses stale idom data + S8219460: ppc: adjust NativeGeneralJump::insert_unconditional to stack allocated MacroAssembler + S8219566: JFR did not collect call stacks when MaxJavaStackTraceDepth is set to zero + S8219574: Minimal VM build failure after JDK-8219414 + S8219582: PPC: Crash after C1 checkcast patched and GC + S8219584: Try to dump error file by thread which causes safepoint timeout + S8219698: aarch64: SIGILL triggered when specifying unsupported hardware features + S8219710: Bump update version for OpenJDK: jdk11.0.4 + S8219746: Provide virtualization related info in the hs_error file on linux ppc64 / ppc64le + S8219915: [TESTBUG] Fix test langtools/tools/javac/processing/ /model/completionfailure/SymbolsDontCumulate.java in Standalone mode + S8219918: ProblemList hotspot tests failing in SAP testing. + S8220165: Encryption using GCM results in RuntimeException- input length out of bound + S8220166: Performance regression in deserialization (4-6% in SPECjbb) + S8220198: Lots of com/sun/crypto/provider/Cipher tests fail on x86_32 due to missing SHA512 stubs + S8220281: IBM-858 alias name is missing on IBM00858 charset + S8220293: Deadlock in JFR string pool + S8220349: The fix done for JDK-8214253 have caused issues in JTree behaviour + S8220353: [TESTBUG] TestRegisterRestoring uses SafepointALot without UnlockDiagnosticVMOptions + S8220374: C2: LoopStripMining doesn't strip as expected + S8220441: [PPC64] Clobber memory effect missing for memory barriers in atomics + S8220495: Update GIFlib library to the 5.1.8 + S8220513: Wrapper Key may get deleted when closing sessions in SunPKCS11 crypto provider + S8220625: tools/javac/classreader/8171132/ /BadConstantValue.java failed with "did not see expected error" + S8220707: [TESTBUG] serviceability/sa/ /TestHeapDumpForLargeArray.java fails with jtreg - vmoption:-Xmx < 8g + S8220714: C2 Compilation failure when accessing off-heap memory using Unsafe + S8220718: Missing ResourceMark in nmethod::metadata_do + S8220781: linux-s390 : os::get_summary_cpu_info gives bad output + S8220794: PPC64: Fix signal handler for SIGSEGV on branch to illegal address + S8221083: [ppc64] Wrong oop compare in C1-generated code + S8221175: Fix bad function case for controlled JVM crash on PPC64 big-endian + S8221244: Unexpected behavior of PropertyDescription.getReadMethod for boolean properties + S8221263: [TEST_BUG] RemotePrinterStatusRefresh test is hard to use + S8221304: Problem list java/awt/FontMetrics/ /MaxAdvanceIsMax.java + S8221400: java/lang/String/StringRepeat.java test requests too much heap + S8221401: java/math/BigInteger/LargeValueExceptions.java test should be disabled on 32-bit platforms + S8221412: lookupPrintServices() does not always update the list of Windows remote printers + S8221437: assert(java_lang_invoke_ResolvedMethodName::vmtarget(resolved_method()) == m()) failed: Should not change after link resolution + S8221470: Print methods in exception messages in java-like Syntax. + S8221479: Fix JFR profiling on s390 + S8221483: TestOopCmp.java fails due to "Multiple garbage collectors selected" + S8221535: add steal tick related information to hs_error file [linux] + S8221610: Resurrect (legacy) JRE bundle target + S8221639: [i386] expand_exec_shield_cs_limit workaround is undefined code after JDK-8199717 + S8221833: Readability check in Symbol::is_valid not performed for some addresses + S8221870: use driver to run CtwRunner in applications/ctw tests + S8221880: Better customization for Windows RC properties FileDescription and ProductName + S8221915: cleanup ticks related coding in os_perf_aix.cpp [aix] + S8221917: serviceability/sa/TestPrintMdo.java fails on 32-bit platforms + S8221924: get(null) on single-entry unmodifiable Map returns null instead of throwing NPE + S8222027: java/util/logging/LogManager/TestLoggerNames.java generates intermittent ClassCastException + S8222032: x86_32 fails with "wrong size of mach node" on AVX-512 machine + S8222089: [TESTBUG] sun/security/lib/cacerts/ /VerifyCACerts.java fails due to cert within 90-day expiry window + S8222133: Add temporary exceptions for root certs that are due to expire soon + S8222136: Remove two Comodo root CA certificates that are expiring + S8222137: Remove T-Systems root CA certificate + S8222397: x86_32 tests with UseSHA1Intrinsics SEGV due to garbled registers + S8222410: java/nio/file/attribute/BasicFileAttributeView/ /UnixSocketFile hangs when "nc" does not accept "-U" + S8222522: Add configure options for Mac Bundle creation + S8222532: (zipfs) Performance regression when writing ZipFileSystem entries in parallel + S8222913: Add Jib support for VERSION_EXTRA* + S8222930: ConcurrentSkipListMap.clone() shares size variable between original and clone + S8223266: PPC64: Check for branch to illegal address before checking for mem serialization + S8223395: PPC64: Improve comments in the JVM signal handler to match ISA text + S8223499: Remove two DocuSign root certificates that are expiring + S8223555: Cleanups in cacerts tests + S8223597: jdk/nio/zipfs/ZipFSTester.java RuntimeException: CHECK_FAILED! (getAttribute.crc failed 6af4413c vs 0 ...) + S8223665: SA: debugd options should follow jhsdb style + S8224474: harfbuzz 2.3.1 code fails to compile with gcc 4.4.7 + S8224671: AArch64: mauve System.arraycopy test failure + S8224727: Problem list test security/infra/java/security/cert/ /CertPathValidator/certification/ActalisCA.java + S8224828: aarch64: rflags is not correct after safepoint poll + S8224880: AArch64: java/javac error with AllocatePrefetchDistance + S8225402: events logging in deoptimization.cpp should go to deopt-log + S8225716: G1 GC: Undefined behaviour in G1BlockOffsetTablePart::block_at_or_preceding + S8226876: Assertion in sun/util/locale/provider/ /CalendarDataUtility on Windows after JDK-8218960 + S8226880: Backport of JDK-8208698 (Improved ECC Implementation) should not bring parts of JDK-8205476 (KeyAgreement#generateSecret is not reset for ECDH based algorithm)- Do not fail installation when the manpages are not present (bsc#1115375)- Added patch: * JDK-8208602.patch + Backport upstream fix for JDK-8208602: Cannot read PEM X.509 cert if there is whitespace after the header or footer (bsc#1140461)- Provide and Obsolete the corresponding java-10-openjdk- packages to assure smooth upgrade (fate#326347, bsc#1137264)- Set alternative priority in SLE12 to 0 in order to be able to push to SLE12-SP5 (fate#326790, jsc#SLE-5715)- Require update-ca-certificates by the headless subpackage (bsc#1131378) - Removed patch: * java11-improved-fonts.patch + broken with the recent changes in font rendering- Update to upstream tag jdk-11.0.3+7 (April 2019 CPU) * Security fixes + S8211936, CVE-2019-2602, bsc#1132728: Better String parsing + S8214809: CDS storage improvements + S8218453, CVE-2019-2684, bsc#1132732: More dynamic RMI interactions * Other changes + S8034802: (zipfs) newFileSystem throws UOE when the zip file is located in a custom file system + S8165675: Trace event for thread park has incorrect unit for timeout + S8172695: (scanner) java/util/Scanner/ScanTest.java fails + S8187364: Unable to enter zero width non-joiner (ZWNJ) symbol in Swing text component + S8197398: (zipfs) Files.walkFileTree walk indefinitelly while processing JAR file with "/" as a directory inside. + S8200109: NMT: diff_malloc_site assert(early->flags() == current->flags(), "Must be the same memory type") + S8201818: [macosx] Printing attributes break page size set via "java.awt.print.Book" object + S8204142: AWT hang occurs when sequenced events arrive out of sequence in multiple AppContexts + S8205432: Replace the placeholder Japanese era name + S8206120: Add test cases for lenient Japanese era parsing + S8207070: Webstart app popup on wrong screen in a one-screen setup changing to multi-monitor + S8207258: Distrust TLS server certificates anchored by Symantec Root CAs + S8207760: SAXException: Invalid UTF-16 surrogate detected: d83c ? + S8207829: FlightRecorderMXBeanImpl is leaking the first classloader which calls it + S8207849: Allow the addition of more number to the Java version string + S8208275: C2 crash in Node::add_req(Node*) + S8208656: Move java/util/Calendar/CalendarTestScripts tests into OpenJDK + S8209615: ParseError in XMLEventReader on a valid input + S8209758: 2 classes with same name G1PrintCollectionSetClosure cause crash when logging is enabled + S8209960: -Xlog:jfr* doesn't work with the JFR + S8210192: Hsperf counter ParNew::CMS should be ParNew:CMS + S8210394: (zipfs) jdk/nio/zipfs/ZFSTests.java rootdir.zip: The process cannot access the file because it is being used by another process + S8210633: Cannot parse JapaneseDate string with DateTimeFormatterBuilder Mapped-values + S8210874: Test for JDK-8209615 + S8210974: No extensions debug log for ClientHello + S8210989: RSASSA-PSS certificate cannot be selected for client auth on TLSv1.2 + S8211049: Second parameter of "initialize" method is not used + S8211064: [AArch64] Interpreter and c1 don't correctly handle jboolean results in native calls + S8211100: hotspot C1 issue with comparing long numbers on x86 32-bit + S8211163: UNIX version of Java_java_io_Console_echo does not return a clean boolean + S8211267: StackOverflowError happened by TextField.setFont(...) + S8211295: DriverManager.getConnection fails when called from com.sun.rowset.JdbcRowSetImpl + S8211320: Aarch64: unsafe.compareAndSetByte() and unsafe.compareAndSetShort() c2 intrinsics broken with negative expected value + S8211382: ISO2022JP and GB18030 NIO converter issues + S8211398: Square character support for the Japanese new era + S8211698: Crash in C2 compiled code during execution of double array heavy processing code + S8211765: JarFile constructor throws undocumented exception + S8211787: javax/net/ssl/TLSCommon/TLSTest.java throws java.net.SocketTimeoutException: Read timed out + S8211821: PrintStringTableStatistics crashes JVM + S8212173: Thread._stack_base/_stack_size initialized too late for new threads + S8212232: Wrong metadata for the configuration of the cutoff for old object sample events + S8212233: javadoc fails on jdk12 with "The code being documented uses modules but the packages defined in $URL are in the unnamed module." + S8212885: TLS 1.3 resumed session does not retain peer certificate chain + S8212941: Support new Japanese era in java.time.chrono.JapaneseEra + S8213183: InputMethod cannot be used after its restarting + S8213202: Possible race condition in TLS 1.3 session resumption + S8213419: C2 may hang in MulLNode::Ideal()/MulINode::Ideal() with gcc 8.2.1 + S8213421: Line number information for execution samples always 0 + S8213583: Error while opening the JFileChooser when desktop contains shortcuts pointing to deleted files + S8213754: PPC64: Add Intrinsics for isDigit/isLowerCase/isUpperCase/isWhitespace + S8213782: NullPointerException in sun.security.ssl.OutputRecord.changeWriteCiphers + S8213829: Remove circular dependency between g1CollectedHeap and g1ConcurrentMark + S8213952: Relax DNSName restriction as per RFC 1123 + S8213966: The ZGC JFR events should be marked as experimental + S8213983: [macosx] Keyboard shortcut ?cmd +`? stops working properly if popup window is displayed + S8214063: OpenJDK will not build on AIX while using the xlc 13.1 compiler + S8214100: use of keystore probing results in unnecessary exception thrown + S8214118: HeapRegions marked as archive even if CDS mapping fails + S8214122: JDWP is broken on 32 bit Windows: transport library missing onLoad entry + S8214129: SSL session resumption/SNI with TLS1.2 causes StackOverflowError + S8214189: test/hotspot/jtreg/compiler/intrinsics/mathexact/ /MulExactLConstantTest.java fails on Windows x64 when run with - XX:-TieredCompilation + S8214206: Fix for JDK-8213419 is broken on 32-bit + S8214339: SSLSocketImpl erroneously wraps SocketException + S8214352: C1: Unnecessary "compilation bailout: block join failed" with JVMTI + S8214451: PPC64/s390: Clean up unused CRC32 prototype and function + S8214513: A PKCS12 keystore from Java 8 using custom PBE parameters cannot be read in Java 11 + S8214688: TLS 1.3 session resumption with hello retry request failed with "illegal_parameter" + S8214827: Incorrect call ClassLoaders.toFileURL("jrt:/java.compiler") + S8215100: AArch64: fix compareTo intrinsic with four-character Latin/Unicode + S8215175: Inconsistencies in JFR event metadata + S8215202: AArch64: jtreg test test/jdk/sun/nio/cs/FindEncoderBugs.java fails + S8215317: [GRAAL] unit test CheckGraalIntrinsics failed after 8213754 + S8215330: javax.xml.catalog.CatalogResolverImpl: GroupEntry.matchURI fails to match + S8215362: JFR GTest JfrTestNetworkUtilization fails + S8215397: jsig.c missing classpath exception + S8215727: Restore JFR thread sampler loop to old / previous behavior + S8215947: JVM crash with -XX:+DumpSharedSpaces + S8215951: AArch64: jtreg test vmTestbase/nsk/jvmti/PopFrame/popframe005 segfaults + S8215962: Support ThreadPriorityPolicy mode 1 for non-root users on linux/bsd + S8216049: stringTable::intern creates redundant String when looking up existing one + S8216060: [PPC64] Vector CRC implementation should be used by interpreter and be faster for short arrays + S8216280: Allow later Symantec Policy distrust date for two Apple SubCAs + S8216302: StackTraceElement::fill_in can use cached Class.name + S8216308: StackTraceElement::fill_in can use injected Class source-file + S8216350: AArch64: monitor unlock fast path not called + S8216546: Support new Japanese era in java.lang.Character for Java SE 11 + S8216578: Remove unused/obsolete method in JFR code + S8216965: crash in freetypeScaler.c CopyBW2Grey8 + S8217014: Epsilon should not ignore Metadata GC causes + S8217315: Proper units should print more significant digits + S8217321: [TESTBUG] utilities/test_globalDefinitions.cpp should use _LP64, not LP64 + S8217342: Build failed with excluding JFR + S8217378: UseCriticalCMSThreadPriority is broken + S8217427: (dc) nio/channels/DatagramChannel/UseDGWithIPv6.java fails without IPv6 + S8217432: MetaspaceGC::_capacity_until_GC exceeds MaxMetaspaceSize + S8217459: [PPC64] Cleanup non-vector version of CRC32 + S8217471: [TESTBUG] gc/epsilon/TestClasses.java fails on some platforms - OOME Metaspace + S8217520: Remove vm.opt.MaxGCPauseMillis == "null" from TestOldGenCollectionUsage.java + S8217579: TLS_EMPTY_RENEGOTIATION_INFO_SCSV is disabled after 8211883 + S8217597: [TESTBUG] old version docker does not support --cpus + S8217609: New era placeholder not recognized by java.text.SimpleDateFormat + S8217628: Verbose ArrayIndexOutOfBoundsException message also in JNI calls. + S8217657: Move the test for default value of jdk.includeInExceptions into own test + S8217994: os::print_hex_dump should be more resilient against unreadable memory + S8218156: "jcmd VM.metaspace basic" misreports free chunk space + S8218192: Remove copy constructor for MemRegion + S8218915: Change isJavaIdentifierStart and isJavaIdentifierPart to handle new code points + S8219251: Langtools tests default memory size needs to be 768m + S8219260: Default number of test jobs needs to be consistently calculated + S8219461: Bump update version for OpenJDK jdk11.0.3 + S8219650: [Testbug] Fix potential crashes in new test hotspot gtest "test_print_hex_dump" + S8219651: compiler/ciReplay/TestServerVM.java is failing on windows + S8219714: [testbug] com/sun/jdi/RedefineNestmateAttr/ /TestNestmateAttr.java must pass classpath to subprocess + S8219789: [TESTBUG] TestOptionsWithRanges.java produces hs_err_pidXXXXX.log file for VMThreadStackSize=9007199254740991 + S8219890: Calendar.getDisplayName() returns empty string for new Japanese Era on some locales + S8220283: ZGC fails to build on GCC 4.4.7: ATTRIBUTE_ALIGNED compatibility issue + S8220294: ZGC fails to build on GCC 4.4.7: Type parameter issue + S8221769: Revert JDK-8221767 mistakenly pushed to jdk11u 11.0.3 - Modified patch: * java11-improved-fonts.patch + Adapted to changed context- Update to upstream tag jdk-11.0.2+7 (Oracle January 2019 CPU) * Security fixes: + S8206290, CVE-2019-2422, bsc#1122293: Better FileChannel transfer performance + S8209094, CVE-2019-2426: Improve web server connections + S8210866, CVE-2018-11212, bsc#1122299: Improve JPEG processing * Security-In-Depth fixes: + S8199156: Better route routing + S8199161: Better interface enumeration + S8199166: Better interface lists + S8199552: Update to build scripts + S8200659: Improve BigDecimal support + S8203955: Improve robot support + S8204895: Better icon support + S8205356: Choose printer defaults + S8205709: Proper allocation handling + S8205714: Initial class initialization + S8206295: More reliable p11 transactions + S8206301: Improve NIO stability + S8210094: Better loading of classloader classes + S8210598: Strengthen Windows Access Bridge Support + S8210606: Improved data set handling + S8210610: Improved LSA authentication + S8210870: Libsunmscapi improved interactions * Fixes + S8021335: Missing synchronization when reading counters for live threads and peak thread count + S8027434: "-XX:OnOutOfMemoryError" uses fork instead of vfork + S8029661: Support TLS v1.2 algorithm in SunPKCS11 provider + S8170937: Swing apps are slow if displaying from a remote source to many local displays + S8196902: Better HTTP Redirection + S8203688: [testbug] Nashorn test test/nashorn/script/nosecurity/treeapi/diagnostic.js fails + S8203850: java.net.http HTTP client should allow specifying Origin and Referer headers + S8205330: InitialDirContext ctor sometimes throws NPE if the server has sent a disconnection + S8205507: jdk/javax/xml/crypto/dsig/GenerationTests.java timed out + S8205633: TestOptionsWithRanges.java of '-XX:TLABSize=2147483648' fails intermittently + S8206075: On x86, assert on unbound assembler Labels used as branch targets + S8206107: [x86_32] jck tests for ldc2_w bytecode fail + S8207059: Update test certificates in QuoVadisCA.java test + S8207150: Clip.isRunning() may return true after Clip.stop() was called + S8207343: Automate vtable/itable stub size calculation + S8207395: jar has issues with UNC-path arguments for the jar - C parameter [windows] + S8207810: Remove jdk-11.0.1+2 tag from source repository + S8207924: serviceability/sa/TestUniverse.java#id0 intermittently fails with assert(get_instanceKlass()->is_loaded()) failed: must be at least loaded + S8208209: Improve TLS connection stability again + S8208350: Disable all DES cipher suites + S8208480: Test failure: assert(is_bound() || is_unused()) after JDK-8206075 in C1 + S8208638: Instead of circle rendered in appl window, but ellipse is produced JEditor Pane + S8208647: switch jtreg to 4.2b13 + S8208661: JDK 11.0.1 l10n resource file update + S8208754: The fix for JDK-8194534 needs updates + S8209357: [PPC64] Fix build which was broken by 8208672 (Enable -Wreorder) + S8209433: [s390] Fix build, broken by 8208672 (Enable - Wreorder) + S8209511: C2 asserts with UseSSE < 4 and AVX enabled: "Label was never bound to a location, but it was used as a jmp target' + S8209544: AES encrypt performance regression in jdk11b11 + S8209576: java.nio.file.Files.writeString writes garbled UTF-16 instead of UTF-8 + S8209588: SIGSEGV in MethodArityHistogram() with - XX:+CountCompiledCalls + S8209916: NPE in SupportedGroupsExtension + S8209950: SIGBUS in CodeHeapState::print_names() + S8209965: The "supported_groups" extension in ServerHellos + S8210040: TestOptionsWithRanges.java is very slow + S8210043: Invalid assert(HeapBaseMinAddress > 0) in ReservedHeapSpace::initialize_compressed_heap + S8210319: [s390]: Use of shift operators not covered by cpp standard + S8210334: TLS 1.3 server fails if ClientHello doesn't have pre_shared_key and psk_key_exchange_modes + S8210345: The Japanese message of FileNotFoundException garbled + S8210355: Minimal and Zero non-PCH builds fail after JDK-8207343 (Automate vtable/itable stub size calculation) + S8210357: Zero builds fail after JDK-8207343 (Automate vtable/itable stub size calculation) + S8210416: [linux] Poor StrictMath performance due to non-optimized compilation + S8210425: [x86] sharedRuntimeTrig/sharedRuntimeTrans compiled without optimization + S8210432: Add additional TeliaSonera root certificate + S8210490: TimeZone.getDisplayName given Locale.US doesn't always honor the Locale. + S8210695: Create test to cover JDK-8205330 InitialDirContext ctor sometimes throws NPE if the server has sent a disconnection + S8210754: print_location is not reliable enough (printing register info) + S8210764: Update avx512 implementation + S8210846: TLSv.1.3 interop problems with OpenSSL 1.1.1 when used on the client side with mutual auth + S8210912: Build error in src/jdk.crypto.cryptoki/share/native/ /libj2pkcs11/p11_convert.c after JDK-8029661 + S8210918: Add test to exercise server-side client hello processing + S8210964: add more ld preloading related info to hs_error file on Linux + S8211061: Tests fail with assert(VM_Version::supports_sse4_1()) on ThreadRipper CPU + S8211106: [windows] Update OS detection code to recognize Windows Server 2019 + S8211107: LDAPS communication failure with jdk 1.8.0_181 + S8211124: HotSpot update for vm_version.cpp to recognise updated VS2017 + S8211231: BarrierSetC1::generate_referent_check() confuses register allocator + S8211251: Default mask register for avx512 instructions + S8211268: Disable unsupported GCs for Zero + S8211272: x86_32 build failures after JDK-8210764 (Update avx512 implementation) + S8211375: Minimal VM build failures after JDK-8211251 (Default mask register for avx512 instructions) + S8211420: com.sun.net.httpserver.HttpServer returns Content-length header for 204 response code + S8211437: 8211437 java.net.http.HttpClient hangs on 204 reply without Content-length 0 + S8211451: ~2.5% regression on compression benchmark starting with 12-b11 + S8211714: Need to update vm_version.cpp to recognise VS2017 minor versions + S8211731: Reconsider default option for ClassPathURLCheck change done in JDK-8195874 + S8211806: TLS 1.3 handshake server name indication is missing on a session resume + S8211844: [aix] ProcessBuilder: Piping between created processes does not work. + S8211852: inspect stack during error reporting + S8211883: Disable anon and NULL cipher suites + S8211909: JDWP Transport Listener: dt_socket thread crash + S8211926: Catastrophic size_t underflow in BitMap::*_large methods + S8211931: [ppc][testbug] runtime/jni/terminatedThread/ /TestTerminatedThread.java fails as threads don't terminate immediately + S8212005: Epsilon elastic TLAB sizing may cause misalignment + S8212070: Introduce diagnostic flag to abort VM on failed JIT compilation + S8212100: AppCDS crashes for some uses with JRuby + S8212116: IIOException "tEXt chunk length is not proper" on opening png file + S8212177: Epsilon alignment adjustments can overflow max TLAB size + S8212178: Soft reference reclamation race in com.sun.xml.internal.stream.util.ThreadLocalBufferAllocator + S8212197: OpenDataException thrown when constructing CompositeData for StackTraceElement + S8212481: PPC64: Enable POWER9 CPU detection + S8212613: Bump update version for jdk11.0.2 cpu forest + S8212645: Need change jdk 11.0.2 milestone to ea + S8212754: Build failure: undefined JvmtiSampledObjectAllocEventCollector::object_alloc_is_safe_to_sample + S8212795: ThreadInfoCompositeData.toCompositeData fails to map ThreadInfo to CompositeData + S8212926: HttpClient does not retrieve files with large sizes over HTTP/1.1 + S8212937: Parent class loader may not have a referred ClassLoaderData instance when obtained in Klass::class_in_module_of_loader + S8213085: (tz) Upgrade time-zone data to tzdata2018g + S8213086: Compiler thread creation should be bounded by available space in memory and Code Cache + S8213151: [AIX] Some class library files are missing the Classpath exception + S8213154: Update copyright headers of files in src tree that are missing Classpath exception + S8213367: JDK 11.0.2 l10n resource file update + S8213410: UseCompressedOops requirement check fails fails on 32-bit system + S8213527: [testbug] Fix PrintMetaspaceDcmd test using UseCompressedOops for 32-bit. + S8213763: Need change jdk 11.0.2 milestone to fcs + S8213834: JVMTI ResourceExhausted should not be posted in CompilerThread + S8213942: URLStreamHandler initialization race + S8213992: Rename and make DieOnSafepointTimeout the diagnostic option + S8214059: Undefined behaviour in ADLC + S8214061: Buffer written into itself + S8214105: [TESTBUG] Bit test is always false in serviceability/jvmti/StartPhase/AllowedFunctions + S8214108: [TESTBUG] Incorrect Function parameter lists in vmTestbase/nsk/jvmti/scenarios/extension/EX03/ex03t001 + S8214295: Populate handlers while holding streamHandlerLock + S8214476: ZGC: Build ZGC by default + S8214892: Delayed starting of debugging via jcmd + S8215128: Test library OSInfo.getSolarisVersion cannot determine Solaris version + S8215637: client VM variant build error: zgc (enabled) depends on opto (disabled) + S8215975: [testbug] Adapt nsk tests to the PPC, S390 and AIX platforms. + S8216290: Register to register spill may use AVX 512 move instruction on unsupported platform.- Added patch: * loadAssistiveTechnologies.patch + Do not crash the whole JVM if assistive technologies crash- Do not resolve by default the added JavaEE modules (fixes bsc#1120431)- Remove hardcoded Java version in jconsole desktop file.- Merge into the JDK following modules from github.com/javaee: * com.sum.xml.fastinfoset * org.jvnet.staxex * com.sun.istack.runtime * com.sun.xml.txw2 * com.sun.xml.bind + This provides a default implementation of JAXB-API that existed in JDK before Java 11 and that some applications depend on.- Update to upstream tag jdk-11.0.1+13 (Oracle October 2018 CPU) * Security fixes: + S8202936, CVE-2018-3183, bsc#1112148: Improve script engine support + S8199226, CVE-2018-3169, bsc#1112146: Improve field accesses + S8199177, CVE-2018-3149, bsc#1112144: Enhance JNDI lookups + S8202613, CVE-2018-3180, bsc#1112147: Improve TLS connections stability + S8208209, CVE-2018-3180, bsc#1112147: Improve TLS connection stability again + S8199172, CVE-2018-3150, bsc#1112145: Improve jar attribute checks + S8200648, CVE-2018-3157, bsc#1112149: Make midi code more sound + S8194534, CVE-2018-3136, bsc#1112142: Manifest better support + S8208754, CVE-2018-3136, bsc#1112142: The fix for JDK-8194534 needs updates + S8196902, CVE-2018-3139, bsc#1112143: Better HTTP Redirection * Security-In-Depth fixes: + S8194546: Choosier FileManagers + S8195874: Improve jar specification adherence + S8196897: Improve PRNG support + S8197881: Better StringBuilder support + S8201756: Improve cipher inputs + S8203654: Improve cypher state updates + S8204497: Better formatting of decimals + S8200666: Improve LDAP support + S8199110: Address Internet Addresses * Fixes + S7017058: Malayalam glyph substitution is failing for Malayalam with Windows Kartika font. + S8130655: OS X: keyboard input in textfield is not possible if the window contained textfield is owned by EmbeddedFrame + S8160104: CORBA communication improvements + S8163237: Restrict the use of EXPORT cipher suites + S8172525: Improve key keying case + S8174756: Extra validation for public keys + S8174962: Better interface invocations + S8175075: Add 3DES to the default disabled algorithm security property + S8175932: Improve host instance supports + S8176450: Revise default document styling + S8178449: Improve LDAP logins + S8178458: Better use of certificates in LDAP + S8178466: Better RSA parameters + S8179533: Cleaner print job handling + S8179990: Cleaner palette entry handling + S8180011: Cleaner native graphics device handling + S8180015: Cleaner AWT robot handling + S8180020: Improve SymbolHashMap entry handling + S8180869: Cleaner image file reading handling + S8180877: More deeply colored ICC spaces + S8181664: Improve JVM UTF String handling + S8181670: Improve implementation of keystores + S8182125: Improve reliability of DNS lookups + S8182362: Update CipherOutputStream Usage + S8182387: Improve PKCS usage + S8182601: Improve usage messages + S8183032: Upgrade to LittleCMS 2.9 + S8185292: Stricter key generation + S8185325: Improve GTK initialization + S8186032: Disable XML Signatures signed with EC keys less than 224 bits + S8186080: Transform XML interfaces + S8186212: Improve GSS handling + S8186600: Improve property negotiations + S8186606: Improve LDAP lookup robustness + S8186998: Improve JMX supportive features + S8187496: Possible memory leak in java.apple.security.KeychainStore.addItemToKeychain + S8189123: More consistent classloading + S8189284: More refactoring for deserialization cases + S8189969: Manifest better manifest entries + S8189977: Improve permission portability + S8189981: Improve queuing portability + S8189985: Improve tabular data portability + S8189989: Improve container portability + S8189993: Improve document portability + S8189997: Enhance keystore mechanisms + S8190227: Forward port 8188880 to JDK10CPU + S8190289: More refactoring for client deserialization cases + S8190478: Improved interface method selection + S8190789: sun/security/provider/certpath/LDAPCertStore/ /TestURICertStoreParameters.java fails after JDK-8186606 + S8190877: Better handling of abstract classes + S8191130: Sinhala text rendering problem with C+VIRAMA+ZWJ+RA/YA+V + S8191142: More refactoring for naming deserialization cases + S8191178: [macos] Problem with input of yen symbol + S8191239: Improve desktop file usage + S8191358: Restore TSA certificate expiration check + S8191696: Better mouse positioning + S8191907: PPC64 and s390 parts of JDK-8174962: Better interface invocations + S8192025: Less referential references + S8192030: Better MTSchema support + S8192757: Improve stub classes implementation + S8192789: Avoid using AtomicReference in sun.security.provider.PolicyFile + S8193409: Improve AES supporting classes + S8193414: Improvements in MethodType lookups + S8193419: Better Internet address support + S8194233: Improve support for array handles + S8194238: Trying exceptions in MethodHandles + S8194259: keytool error: java.io.IOException: Invalid secret key format + S8195662: Add T6587786.java to problem list before JDK-8195589 is resolved + S8195836: opentype:Bengali: "Khanda Ta" shaping issue with U+09A4 TA, U+09CD virama, U+200D ZWJ + S8196224: Even better Internet address support + S8196289: Update src/java.desktop/share/legal/lcms.md for LCMS 2.9 + S8197443: ArrayIndexOutOfBoundsException in UcryptoException.getError + S8197925: Better stack walking + S8199547: Exception to Pattern Syntax + S8200332: Improve GCM counting + S8204667: Resources not freed on exception + S8205479: OS X: requestFocus() does not work properly for embedded frame + S8205491: adjust reflective access checks + S8206389: JarEntry.setCreation/LastAccessTime without setLastModifiedTime causes Invalid CEN header + S8206392: [macosx] Cycling through windows (JFrames) does not work with keyboard shortcut + S8206473: Revert changes of JDK-8202613 in jdk-cpu and jdk11u-cpu + S8206884: Bump update version for jdk11.0.1 cpu forest + S8207057: No debug info for assembler files + S8207153: Some intrinsic tests take long time to run + S8207745: serviceability/sa/TestJmapCore.java times out parsing a 4GB hprof file + S8207775: Better management of CipherCore buffers + S8207941: javax/swing/plaf/basic/BasicGraphicsUtils/8132119/ /bug8132119.java fails on machines without Arial font [testbug] + S8207948: JDK 11 L10n resource file update msg drop 10 + S8208091: SA: jhsdb jstack --mixed throws UnmappedAddressException on i686 + S8208268: 11.0.1 b03 java.net bundles - Release Date is wrong + S8208350: Disable all DES cipher suites + S8208583: Better management of internal KeyStore buffers + S8208595: [parfait] Better X11 font support + S8208654: Please change jdk 11.0.1 milestone to FCS + S8208661: JDK 11.0.1 l10n resource file update + S8208746: ISO 4217 Amendment #168 update + S8209129: Further improvements to cipher buffer management + S8209639: assert failure in coalesce.cpp: attempted to spill a non-spillable item + S8209775: ISO 4217 Amendment #169 update + S8209786: JDK12 fails to build on s390x with gcc 7.3 + S8209862: CipherCore performance improvement + S8209889: RedefineStress tests crash + S8209916: NPE in SupportedGroupsExtension + S8209942: [epsilon] range function for EpsilonTLABElasticity causes compiler warning + S8209996: [PPC64] Fix JFR profiling + S8210153: localized currency symbol of VES + S8210259: [testbug] IncompatibleOptions.java fails if VM configured without ZGC + S8210335: Clipping problems with complex affine transforms: negative scaling factors or small scaling factors + S8210345: The Japanese message of FileNotFoundException garbled + S8210432: Add additional TeliaSonera root certificate + S8210497: [PPC64] Vector registers not saved across safepoint + S8210502: jdeps does not handle properly on analyzing a mixture of MR JARs and non-MR JARs + S8210647: libsaproc is being compiled without optimization. + S8210703: vmStructs.cpp compiled with -O0 + S8210736: jdk/javax/xml/crypto/dsig/GenerationTests.java slow on linux + S8210761: libjsig is being compiled without optimization + S8210775: JVM TI Spec missing copyright + S8210810: Escaped character at specific position in argument file is not handled properly + S8210836: Build fails with warn_unused_result in openjdk/src/jdk.hotspot.agent/linux/native/libsaproc/ps_core.c + S8210846: TLSv.1.3 interop problems with OpenSSL 1.1.1 when used on the client side with mutual auth + S8211065: Private method check in linkResolver is incorrect + S8211105: AArch64: Disable cos/sin and log intrinsics in jdk11u pending fix + S8211107: LDAPS communication failure with jdk 1.8.0_181 + S8211165: License header is absent in a few J2Ddemo source code files + S8211208: make AllocateHeapAt an unsupported option on AIX + S8211387: [Zero] atomic_copy64: Use ldrexd for atomic reads on ARMv7 + S8211731: Reconsider default option for ClassPathURLCheck change done in JDK-8195874 + S8211768: [s390] Implement JFR profiling + S8211856: [ppc, s390] ProblemList some failing tests. + S8211916: Javadoc -link makes broken links if module name matches package name + S8212110: Build of saproc.dll broken on Windows 32 bit after JDK-8210647 + S8212204: [TESTBUG] test/hotspot/jtreg/compiler/intrinsics/ /base64/TestBase64.java fails - Removed patches: * RHBZ-1628612-JDK-8210461-workaround-disable-aarch64-intrinsic.patch * RHBZ-1630996-JDK-8210858-workaround-disable-aarch64-intrinsic-log.patch + Integrated upstream- Add patches to workaround aarch64 critical bugs: * RHBZ-1628612-JDK-8210461-workaround-disable-aarch64-intrinsic.patch * RHBZ-1630996-JDK-8210858-workaround-disable-aarch64-intrinsic-log.patch- Official OpenJDK 11 release (fate#324453, fate#323970, bsc#1111162) * Pull the sources from the jdk-updates/jdk11u repository from now on. * Remove the buildver from the rpm version string- Update jax-ws-spec and jaxb-spec tarball to the latest versions - Modified patch: * annotation-module.patch + module name change from java.xml.ws.annotation to java.annotation- Update configuration flags to enable ZGC on x86_64 platforms- Update to upstream tag jdk-11+28 (OpenJDK 11 rc1) * Fixes: + S8207317: SSLEngine negotiation fail exception behavior changed from fail-fast to fail-lazy + S8207838: AArch64: Float registers incorrectly restored in JNI call + S8209637: [s390x] Interpreter doesn't call result handler after native calls + S8209670: CompilerThread releasing code buffer in destructor is unsafe + S8209735: Disable avx512 by default + S8209806: API docs should be updated to refer to javase11 - Report version without the "-internal" postfix- Added patch: * jaw-nogtk.patch + Don't build against gdk making the accessibility depend on a particular version of gtk.- Update to upstream tag jdk-11+27 * Fixes: + S8031761: [TESTBUG] Add a regression test for JDK-8026328 + S8151259: [TESTBUG] nsk/jvmti/RedefineClasses/redefclass030 fails with "unexpected values of outer fields of the class" when running with -Xcomp + S8164639: Configure PKCS11 tests to use user-supplied NSS libraries + S8189667: Desktop#moveToTrash expects incorrect "<>" FilePermission + S8194949: [Graal] gc/TestNUMAPageSize.java fail with OOM in - Xcomp + S8195156: [Graal] serviceability/jvmti/GetModulesInfo/ /JvmtiGetAllModulesTest.java fails with Graal in Xcomp mode + S8199081: [Testbug] compiler/linkage/LinkageErrors.java fails if run twice + S8201394: Update java.se module summary to reflect removal of java.se.ee module + S8204931: Colors with alpha are painted incorrectly on Linux + S8204966: [TESTBUG] hotspot/test/compiler/whitebox/ /IsMethodCompilableTest.java test fails with - XX:CompileThreshold=1 + S8205608: Fix 'frames()' in ThreadReferenceImpl.c to prevent quadratic runtime behavior + S8205687: TimeoutHandler generates huge core files + S8206176: Remove the temporary tls13VN field + S8206258: [Test Error] sun/security/pkcs11 tests fail if NSS libs not found + S8206965: java/util/TimeZone/Bug8149452.java failed on de_DE and ja_JP locale. + S8207009: TLS 1.3 half-close and synchronization issues + S8207046: arm32 vm crash: C1 arm32 platform functions parameters type mismatch + S8207139: NMT is not enabled on Windows 2016/10 + S8207237: SSLSocket#setEnabledCipherSuites is accepting empty string + S8207355: C1 compilation hangs in ComputeLinearScanOrder::compute_dominator + S8207746: C2: Lucene crashes on AVX512 instruction + S8207765: HeapMonitorTest.java intermittent failure + S8207944: java.lang.ClassFormatError: Extra bytes at the end of class file test" possibly violation of JVMS 4.7.1 + S8207948: JDK 11 L10n resource file update msg drop 10 + S8207966: HttpClient response without content-length does not return body + S8208125: Cannot input text into JOptionPane Text Input Dialog + S8208164: (str) improve specification of String::lines + S8208166: Still unable to use custom SSLEngine with default TrustManagerFactory after JDK-8207029 + S8208189: ProblemList compiler/graalunit/JttThreadsTest.java + S8208205: ProblemList tests that fail due to 'Error attaching to process: Can't create thread_db agent!' + S8208226: ProblemList com/sun/jdi/BasicJDWPConnectionTest.java + S8208251: serviceability/jvmti/HeapMonitor/MyPackage/ /HeapMonitorGCCMSTest.java fails intermittently on Linux-X64 + S8208305: ProblemList compiler/jvmci/compilerToVM/GetFlagValueTest.java + S8208347: ProblemList compiler/cpuflags/TestAESIntrinsicsOnSupportedConfig.java + S8208353: Upgrade JDK 11 to libpng 1.6.35 + S8208358: update bug ids mentioned in tests + S8208370: fix typo in ReservedStack tests' @requires + S8208391: Differentiate response and connect timeouts in HTTP Client API + S8208466: Fix potential memory leak in harfbuzz shaping. + S8208496: New Test to verify concurrent behavior of TLS. + S8208521: ProblemList more tests that fail due to 'Error attaching to process: Can't create thread_db agent!' + S8208640: [a11y] [macos] Unable to navigate between Radiobuttons in Radio group using keyboard. + S8208663: JDK 11 L10n resource file update msg drop 20 + S8208676: Missing NULL check and resource leak in NetworkPerformanceInterface::NetworkPerformance::network_utilization + S8208691: Tighten up jdk.includeInExceptions security property + S8209011: [TESTBUG] AArch64: sun/security/pkcs11/Secmod/ /TestNssDbSqlite.java fails in aarch64 platforms + S8209029: ProblemList tests that fail due to 'Error attaching to process: Can't create thread_db agent!' in jdk-11+25 testing + S8209149: [TESTBUG] runtime/RedefineTests/ /RedefineRunningMethods.java needs a longer timeout + S8209451: Please change jdk 11 milestone to FCS + S8209452: VerifyCACerts.java failed with "At least one cacert test failed" + S8209506: Add Google Trust Services GlobalSign root certificates + S8209537: Two security tests failed after JDK-8164639 due to dependency was missed- Update to upstream tag jdk-11+24 (Oracle July 2018 CPU) * Security fixes: + S8197925: Better stack walking (CVE-2018-2940, bsc#1101645) + S8199547: Exception to Pattern Syntax (CVE-2018-2952, bsc#1101651) + S8200332: Improve GCM counting (CVE-2018-2972, bsc#1101655) + S8200666: Improve LDAP support (CVE-2018-2973, bsc#1101656) * Security-In-Depth fixes: + S8191239: Improve desktop file usage + S8193419: Better Internet address support * Fixes: + S8189922: UseNUMA memory interleaving vs membind + S8196224: Even better Internet address support + S8202837: PBES2 AlgorithmId encoding error in PKCS12 KeyStore + S8203230: update VerifyCACerts test + S8203504: [Graal] org.graalvm.compiler.debug.test.DebugContextTest fails with java.util.ServiceConfigurationError + S8203820: [TESTBUG] vmTestbase/metaspace/staticReferences/StaticReferences.java timed out + S8204196: integer cleanup + S8205390: jtreg: Fix failing TestRTMSpinLoopCount on PPC64 + S8205491: adjust reflective access checks + S8205578: jtreg: Fix failing TestRTMAbortRatio on PPC64 + S8205580: PPC64: RTM: Don't retry lock on abort if abort was intentional + S8205581: PPC64: RTM: Fix abort on native calls + S8205582: PPC64: RTM: Fix counter for aborts on nested transactions + S8206171: Signature#getParameters for RSASSA-PSS throws ProviderException when not initialized + S8206241: compiler/graalunit/PhasesCommonTest.java fails with java.lang.Error: TESTBUG: no tests found for prefix org.graalvm.compiler.phases.common.test + S8206445: JImageListTest.java failed in Windows + S8206456: [TESTBUG] docker jtreg tests fail on systems without cpuset.effective_cpus / cpuset.effective_mem + S8206865: RMI activation tests fail with InvalidClassException + S8206886: Java does not set the default format locale correctly on mac10.13 + S8206931: Misleading "COMPILE SKIPPED: invalid non-klass dependency" compile log + S8207056: Epsilon GC to support object pinning + S8207069: [AOT] we should check that VM uses the same GC as one used for AOT library generation. + S8207223: SSL Handshake failures are reported with more generic SSLException + S8207243: Fix translation filtering to also support zh_HK and zh_TW + S8207244: java/nio/channels/Selector/SelectWithConsumer.java testInterruptDuringSelect() fails intermittently + S8207250: setUseClientMode post handshake with the same value as before does not throw IAE + S8207252: C1 still does eden allocations when TLAB is enabled + S8207365: Make man pages optional + S8207380: compiler/graalunit/JttLangMTest.java timeout + S8207383: [Graal] SelfChangedCDS.java fails with "guarantee(disp == (intptr_t)(jint)disp) failed: must be 32-bit offset" + S8207392: [PPC64] Implement JFR profiling. + S8207584: ARM32: ShouldNotReachHere assertion on Test8168712 jtreg test + S8207761: Split compiler/graalunit/JttReflectFTest.java + S8207765: HeapMonitorStatIntervalTest.java fails with ZGC + S8207766: [testbug] Adapt tests for Aix. + S8207818: Problem list several rmi tests + S8207819: Problem list serviceability/jvmti/HeapMonitor/ /MyPackage/HeapMonitorStatRateTest.java + S8207830: [aix] disable jfr in build and tests + S8207833: java/nio/channels/Selector/SelectWithConsumer.java testCancel() fails intermittently + S8207846: Generalize the jdk.net.includeInExceptions security property + S8207915: [AOT] jaotc w/ '--ignore-errors' should ignore illegal class files + S8207952: Problem-list 3 sctp tests + S8207959: The initial value of SETTINGS_MAX_CONCURRENT_STREAMS should have no limit + S8207960: Non-negative WINDOW_UPDATE increments may leave the stream window size negative + S8208075: Quarantine vmTestbase/nsk/jvmti/RedefineClasses/ /StressRedefineWithoutBytecodeCorruption/TestDescription.java + S8208092: ProblemList serviceability/sa/ClhsdbCDSCore.java + S8208096: Update build documentation to reflect compiler upgrades at Oracle + S8208111: Problem list java/nio/channels/Selector/RacyDeregister.java- Update to upstream tag jdk-11+23 * Fixes + S8181855: [Graal] runtime/ReservedStack/ReservedStackTest.java triggers: assert(thread->deopt_mark() == __null) failed: no stack overflow from deopt blob/uncommon trap + S8189747: JDK9 javax.lang.model.util.Elements#getTypeElement regressed 1000x in performance. + S8191948: db error: InvalidTypeException: Can't assign double[][][] to double[][][] + S8199779: Add T-Systems, GlobalSign and Starfield services root certificates + S8200282: Serializing non-zero byte as zero to ByteBuffer + S8202481: RegisterDuringSelect.java fails with java.util.concurrent.ExecutionException: java.nio.channels.ClosedSelectorException + S8204860: The frame could be resized by dragging a corner of the frame with the mouse + S8205541: serviceability/jvmti/HeapMonitor/MyPackage/ /HeapMonitorStatArrayCorrectnessTest.java fails with Should not have any events stored yet. + S8205576: forkjoin/FJExceptionTableLeak.java fails "AssertionError: failed to satisfy condition" + S8205643: HeapMonitorGCCMSTest fails with Graal + S8205652: serviceability/jvmti/HeapMonitor/MyPackage/ /HeapMonitorStatRateTest.java fails + S8205725: Update the JVMTI Spec for Heap Sampling + S8205967: Remove sun/security/krb5/auto/UnboundSSL.java from ProblemList.txt + S8206189: sun/security/pkcs12/EmptyPassword.java fails with Sequence tag error + S8206238: Aspect ratio is not maintained when Image is scaled in JEditorPane + S8206265: aarch64 jtreg: assert in TestOptionsWithRanges.jtr + S8206271: CodeHeap State Analytics must digest new method state + S8206448: (fs) Extended attributes assumed to be enabled on ext3 (lnx) + S8206471: Race with ConcurrentHashTable deleting items on insert with cleanup thread + S8206873: 2 Null pointer dereference defect groups in LIRGenerator + S8206903: Unable to build Client VM with JVMCI + S8206915: XDH TCK issues + S8206929: Check session context for TLS 1.3 session resumption + S8206953: compiler/profiling/TestTypeProfiling.java fails when JVMCI build disabled + S8206960: HeapMonitor tests fail with Graal + S8206975: AArch64: Fix CompareAndSwapOp when useLSE is enabled in Graal + S8206977: Minor improvements of runtime code. + S8206980: ZonedDateTime could not parse timezone name with zh_CN locale correctly. + S8206998: [test] runtime/ElfDecoder/TestElfDirectRead.java requires longer timeout on ppc64 + S8207001: *.obj.log files get truncated causing unreliable incremental builds on Windows + S8207006: serviceability/sa/TestUniverse.java#id0 crashes with EpsilonGC and AOT + S8207023: Add trace info to java/nio/channels/Selector/RegisterDuringSelect.java + S8207027: Lookup.accessClass fails for an array type in the same package when assertions are enabled + S8207029: Unable to use custom SSLEngine with default TrustManagerFactory after updating to JDK 11 b21 + S8207032: Compilation succeeds without checking readability when --add-exports used + S8207044: minimal vm build fail: missing #include + S8207047: Multiple VM variants build fail + S8207049: Minor improvements of compiler code. + S8207065: Cleanup compiler tests for Client VM + S8207067: [test] prevent timeouts in serviceability/tmtools/jstat/{GcTest02,GcCauseTest02}.java + S8207068: Add Entrust root certificates + S8207152: Placeholder for Japanese new era should be two characters + S8207190: JDK 11 javadoc generates bad code example + S8207210: Problem list javax/sound/sampled/Clip/AutoCloseTimeCheck.java + S8207213: The help-doc.html generated by the doclet is incomplete + S8207217: Problem list java/lang/management/ThreadMXBean/AllThreadIds.java + S8207233: Minor improvements of jdk C-coding + S8207235: ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class) throws NPE + S8207240: AARCH64: C2-only VM does not build + S8207261: [Graal] JDI and JDWP tests that consume all memory should be filtered out to not run with Graal + S8207265: Bad HTML in {@link} in HttpResponse.BodySubscribers.ofPublisher + S8207318: KeyStore#getInstance(File, LoadStoreParameter) does not load the keystore + S8207342: error occurred during error reporting (printing register info) + S8207345: AArch64: Trampoline generation code reads from unitialized memory + S8207763: serviceability/jvmti/HeapMonitor/MyPackage/ /HeapMonitorStatRateTest.java failed with Error. Parse Exception: Can't find source file: HeapMonitorStatIntervalTest.java- Merge standalone modules java.activation, java.xml.bind, java.xml.soap, java.xml.ws.annotation and java.xml.ws into the OpenJDK - Added patches: * activation-module.patch + add module-info.java file for java.activation module * annotation-module.patch + add module-info.java file for java.xml.ws.annotation- Update to upstream tag jdk-11+22 * Fixes + S8185740: The help-doc.html generated by the doclet is outdated + S8187069: The case auto failed with the java.lang.ClassNotFoundException: IPv6NameserverPlatformParsingTest exception + S8189604: possible hang in sun.awt.shell.Win32ShellFolder2$KnownFolderDefinition:: + S8193126: Incorrect setting of MetaspaceSize and NewSizeThreadIncrease when using JVMCI compiler + S8194740: UseSubwordForMaxVector causes performance regression + S8198346: assert(!_cld->claimed()) failed in TestObjectDescription.java + S8198352: java.util.MissingResourceException: sun.security.util.AuthResources when trying to use com.sun.security.auth.module.UnixLoginModule + S8198405: JImageExtractTest.java & JImageListTest.java failed in Windows. + S8198819: tools/jimage/JImageExtractTest.java, fails intermittently at testExtract (macos) + S8199645: javax/net/ssl/SSLSession/TestEnabledProtocols.java failed with Connection reset + S8201611: Broken links in java.desktop javadoc + S8202123: C2 Crash in Node::in(unsigned int) const+0x14 + S8202264: Race condition in AudioClip.loop() + S8202329: [AIX] Fix codepage mappings for IBM-943 and Big5 + S8202561: clean up TEST.groups file + S8202769: jck test fails with C2: vm/jvmti/FollowReferences/fref001/fref00113/fref00113.html + S8203007: Address missing block coverage for ChaCha20 and Poly1305 algorithms + S8203943: eventThreadGroup was null in TestJavaBlockedEvent.java + S8204603: Short week days, NaN value and timezone name are inconsistent between CLDR and Java in zh_CN, zh_TW locales. + S8204630: Generating an anonymous class with Filer#createClassFile causes an NPE in JavacProcessingEnvironment + S8204691: HeapRegion.apply_to_marked_objects_other_vm_test fails with assert(!hr->is_free() || hr->is_empty()) failed: Free region 0 is not empty for set Free list # + S8205426: Humongous continues remembered set does not match humongous start region one after Remark + S8205454: & is displayed in some Swing docs + S8205472: Deadlock in Kitchensink when trying to print compile queues causing timeout + S8205588: Deprecate for removal com.sun.awt.SecurityWarning + S8205646: Broken link in jdk.jsobject + S8205878: pthread_getcpuclockid is expected to return 0 code + S8205924: ZGC: Premature OOME due to failure to expand backing file + S8205928: [TESTBUG] jdk/internal/platform/docker/TestDockerMemoryMetrics + S8205966: [testbug] New Nestmates JDI test times out with Xcomp on sparc + S8205973: Client jtreg ProblemList cleanup + S8205999: C2 compilation fails with "assert(store->find_edge(load) != -1) failed: missing precedence edge" + S8206001: Enable TLS1.3 by default in Http Client + S8206106: [solaris sparc] jck tests api/javax_print/PrintService failing + S8206135: Building jvm with AOT but without JVMCI should fail at configure time + S8206145: dbgsysSocketClose - do not restart close if errno is EINTR [linux] + S8206163: AArch64: incorrect code generation for StoreCM + S8206173: MallocSiteTable::initialize() doesn't take function descriptors into account + S8206184: docs-reference build fails due to extlink.spec.version property not set + S8206243: java -XshowSettings fails if memory.limit_in_bytes overflows LONG.max + S8206254: Unable to complete emergency dump during safepoint + S8206255: fix compiler/intrinsics/sha/cli/ /TestUseSHAOptionOnSupportedCPU.java jtreg test on linux s390x + S8206287: fix legal notice in hotspot tests + S8206316: ZGC: Preferred tmpfs mount point not found on Debian + S8206322: ZGC: Incorrect license header in gtests + S8206323: Missing some legal notices in docs bundle + S8206324: compiler/whitebox/DeoptimizeFramesTest.java to ProblemList-graal.txt + S8206355: SSLSessionImpl.getLocalPrincipal() throws NPE + S8206375: ProblemList update of bug ID for SwingFontMetricsTest + S8206378: Backout JDK-8202561 + S8206394: missing ResourceMark in AOTCompiledMethod::metadata_do, AOTCompiledMethod::clear_inline_caches, CompiledMethod::clear_ic_stubs, CompiledMethod::cleanup_inline_caches_impl + S8206408: Add missing CPU/system info to vm_version_ext on PPC64 + S8206428: Upgrade JDK11 to harfbuzz 1.8.2 + S8206429: [REDO] 8202561 clean up TEST.groups + S8206433: Several jib profiles missing autoconf dependency + S8206436: sun/nio/cs/TestIBMBugs.java no longer compiles + S8206450: Add JImageListTest.java to ProblemList.txt + S8206459: [s390] Prevent restoring incorrect bcp and locals in interpreter and avoid incorrect size of partialSubtypeCheckNode in C2 + S8206476: Wrong assert in phase_enum_2_phase_string() in referenceProcessorPhaseTimes.cpp + S8206919: s390: add missing info to vm_version_ext_s390 + S8206951: [Graal] org.graalvm.compiler.hotspot.test.GraalOSRTest to ProblemList-graal.txt + S8206952: java/lang/Class/GetPackageBootLoaderChildLayer.java fails with Graal + S8206954: Test runtime/Thread/ThreadPriorities.java crashes with SEGV in pthread_getcpuclockid + S8207007: Add missing license header to zHash.inline.hpp- Switch armv6 to zero JVM variant (without JIT) since client and server JVM do not build for armv6 ATM- Update to upstream tag jdk-11+21 * Fixes: + S8201552: Ellipsis in "Classical" label in SwingSet2 demo with Windows L&F at Hidpi + S8203848: Missing remembered set entry in j.l.ref.references after JDK-8203028 + S8204355: [Graal] org.graalvm.compiler.debug.test.CSVUtilTest fails on Windows due to improper line separator used + S8204517: [Graal] org.graalvm.compiler.debug.test.VersionsTest fails with InvalidPathException on windows + S8205515: assert(opcode == Op_RangeCheck) failed: no other if variant here + S8205563: modules/AnnotationProcessing.java failed testGenerateSingleModule + S8205720: KeyFactory#getKeySpec and translateKey throws NullPointerException with Invalid key + S8205965: SIGSEGV on write to NativeCallStack::EMPTY_STACK + S8205984: javax/net/ssl/compatibility/Compatibility.java failed to access port log file + S8206003: SafepointSynchronize with TLH: StoreStore barriers should be moved out of the loop + S8206093: compiler/graalunit/HotspotTest.java fails in CheckGraalIntrinsics + S8206117: failed to get JDK properties for JVM w/o JVMCI- Update to upstream tag jdk-11+20 (rampdown phase 1) * Fixes: + S4475138: getBestCursorSize and XFree86 4.1.0 + S7007966: Add Brainpool ECC support (RFC 5639) + S8003209: JFR events for network utilization + S8010319: Implementation of JEP 181: Nest-Based Access Control + S8060192: Add default method A[] Collection.toArray(IntFunction generator) + S8066709: Make some JDK system properties read only + S8137164: Include PID in the JFR jcmd hint + S8144992: Remove OopIterateClosure::idempotent + S8149729: [jittester] Replace all 'path1 +"/" + path2' with Paths::get + S8153732: Windows remote printer changes do not reflect in lookupPrintServices() + S8155192: [TESTBUG] SHA tests assumes that x86 does not have SHA intrinsics + S8160673: Jittester: investigate bytecode generation hangs during bytecode tests generation + S8169559: Add class loader names to relevant VM messages + S8172854: [TESTBUG] Exclude runtime/ReservedStack/ReservedStackTest.java from being run with DeoptimizeALot option + S8185927: create regression test for 8062950 + S8187100: Support Unicode Variation Selectors + S8187218: GSSCredential.getRemainingLifetime() returns negative value for TTL > 24 days. + S8187288: bad (no) wrapping for modifier and type column + S8189103: AARCH64: optimize String indexOf intrinsic + S8189105: AARCH64: create intrinsic for sin and cos + S8189112: AARCH64: optimize StringUTF16 compress intrinsic + S8189113: AARCH64: StringLatin1 inflate intrinsic doesn't use prefetch instruction + S8189429: SA: MacOSX: Replace the deprecated PT_ATTACH with PT_ATTACHEXC + S8190876: javadoc search on "java.se" shows "java.se" the last one among other modules + S8192953: sun/management/jmxremote/bootstrap/*.sh tests fail with error : revokeall.exe: Permission denied + S8194152: sun/security/tools/jarsigner/AltProvider.java failed on de-DE locale + S8194873: right ALT key hotkeys no longer work in Swing components + S8194937: Inconsistent behavior of --validate-modules when combined with -m and other options + S8195077: [Testbug] tools/javac/processing/model/ /completionfailure/NoAbortForBadClassFile.java - AccessDeniedException + S8195607: sun/security/pkcs11/Secmod/TestNssDbSqlite.java failed with "NSS initialization failed" on NSS 3.34.1 + S8195630: [Graal] vmTestbase/nsk/jvmti/AttachOnDemand/ /attach024/TestDescription.java fails with Graal + S8195650: Method references to VarHandle accessors + S8195986: Incorrect javac -h output with annotation processing and missing classes + S8196213: sun/security/tools/jarsigner/warnings/ /NoTimestampTest.java test fails on ar_SA locale. + S8196402: AARCH64: create intrinsic for Math.log + S8196425: tools/javac/modules/AnnotationProcessing.java failed + S8196584: TLS 1.3 Implementation + S8197425: Liveset information for Old Object sample event + S8197532: Re-examine policy for the default set of modules when compiling or running code on the class path + S8198372: API to create a SelectableChannel to a FileDescriptor + S8198909: [Graal] compiler/codecache/stress/ /UnexpectedDeoptimizationTest.java crashed with SIGSEGV + S8199124: (fs) Reduce allocation for file system methods that are invoked with no open options + S8199265: java/util/Arrays/TimSortStackSize2.java fails with OOM + S8199580: [TESTBUG] Un-quarantine vm/mlvm/indy/func/jdi/ /breakpointOtherStratum and breakpoint + S8199940: Print more information about class loaders in IllegalAccessErrors. + S8200243: System error message is decoded as invalid encoding in Windows. + S8200720: Print additional information in thread dump (times, allocated bytes etc.) + S8201610: Broken link on the page api/java.rmi/java/rmi/server/UnicastRemoteObject.html + S8201815: Use Mozilla Public Suffix List + S8202292: java/io/FileOutputStream/UnreferencedFOSClosesFd.java fails with "raw fd count wrong" + S8202299: Java Keystore fails to load PKCS12/PFX certificates created in WindowsServer2016 + S8202326: AARCH64: optimize string compare intrinsic + S8202331: Obsolete support for commercial features + S8202422: value of 'sizeCtl' in ConcurrentHashMap varies with the constructor called + S8202554: Remove hotspot tests for javafx.* modules + S8202608: CommonSeeder test needs a white-box testing mechanism to replace the default entropy source + S8202615: Remove NativeMonitorSpinLimit, NativeMonitorFlags and NativeMonitorTimeout experimental flags + S8202696: Remove exclusion range for phonetic chars in windows fontconfig.properties + S8202698: Update Graal for JEP 181 - Nest-based access control + S8202788: Explicitly reclaim cached thread-local direct buffers at thread exit + S8202922: Method reference identity is broken by serialization + S8203003: Several FileDialog Modality Tests fail on Linux due to X errors + S8203184: List.copyOf() fails to copy sublists + S8203188: Add JEP-181 support to the Zero interpreter + S8203228: Branch-free output conversion for X25519 and X448 + S8203299: StringPoolBuffer access covered by exclusive access invariant, remove (problematic) cas operations + S8203481: Incorrect constraint for unextended_sp in frame:safe_for_sender + S8203664: JFR start failure after AppCDS archive created with JFR StartFlightRecording + S8203670: unmodifiable List iterator() implementations should not be ListIterators + S8203681: Miscellaneous changes imported from jsr166 CVS 2018-06 + S8203814: javac --release=8 "cannot find symbol" for NashornException.getEcmaError() + S8203864: Execution error in Java's Timsort + S8203929: Limit amount of data for JFR.dump + S8204082: Make names of Young GCs more uniform in logs + S8204157: Compiler.sunflow hangs after JDK-8192992 + S8204209: [Graal] Compilation fails during nmethod printing with "assert(bci == 0 || 0 <= bci && bci < code_size()) failed: illegal bci" + S8204233: Add configurable option for enhanced socket IOException messages + S8204289: AARCH64: enable math intrinsics usage in interpreter and C1 + S8204331: AArch64: fix CAS not embedded in normal graph error + S8204492: Add deprecation annotation to Nashorn APIs and warning to nashorn, jjs + S8204524: Unnecessary memory barriers in G1ParScanThreadState::copy_to_survivor_space + S8204540: Automatic oop closure devirtualization + S8204661: Show error 'Port already in use' in HashedPasswordFileTest.java + S8204930: Reader:nullReader() spec does not match the behavior + S8204946: Clean-up problem list for JDK-8202933 and JDK-8202934 + S8204967: Resolve disabled warnings for libunpack + S8205004: AArch64: fix failures in jtreg ArraysEqCmpTest + S8205053: Decouple type registration from framework lifecycle + S8205058: (fs) Files read/writeString should throw CharacterCodingException instead of IOException with an IllegalArgumentException as cause + S8205107: assert(c->Opcode() == Op_SafePoint) failed: broken outer loop + S8205111: Develop new Test to verify different key types for supported TLS protocols. + S8205113: Update JVMTI doc references to object allocation tracking + S8205119: SwingApplet demo should be removed + S8205136: Move StylePad demo to the open repository + S8205144: JSpinner may change the font after became visible + S8205153: Delete "standard instructions" machinery in the open automated tests + S8205158: Update the .md files for 3rd party software Unicode 10.0, ICU 60.2, and CLDR v33. + S8205160: jQuery UI, jQuery-migrate, and jQuery license file to be updated to the revision present. + S8205175: Deprecate UnlinkSymbolsALot debugging option. + S8205184: Delegating Iterator implementations that don't delegate forEachRemaining() + S8205194: Improve the Array Comparison when there is mismatch at first element. + S8205195: NestedThreadsListHandleInErrorHandlingTest fails because hs_err doesn't contain _nested_thread_list_max + S8205197: Never default to using libc++ on Linux + S8205199: more Linux clang compile failures + S8205207: Port Graal unit tests under jtreg + S8205324: Part of java.awt.Desktop.browse(URI) spec is outdated after support of applets was removed + S8205342: windows : potential memleaks in getAdapter(s) in NetworkInterface_winXP.c + S8205397: InetAddress has wrong declaration for readObjectNoData + S8205398: AES-CBC decryption algorithm using AVX512 instructions + S8205400: [Graal] compiler/jvmci/compilerToVM/DisassembleCodeBlobTest.java fails with can't be enqueued for compilation on level 4 + S8205405: ZGC: Decouple JFR type registration + S8205416: windows: fix checking of CloseHandle return code in Java_java_io_FileCleanable_cleanupClose0 + S8205419: [testbug] TestJmapCore failing without SA: introduce @requires vm.hasSAandCanAttach + S8205422: assert(false) failed: Bad verification_type_info + S8205424: Change to Xcode 9.4 for building on Macosx at Oracle + S8205438: Re-enable shebang tests in test/jdk/tools/launchers/SourceMode.java + S8205441: Upgrade to harfbuzz 1.8.1 + S8205442: Avoid hard-coding --source value in SourceLauncherTest.java + S8205445: Add RSASSA-PSS Signature support to SunMSCAPI + S8205455: jdeprscan issues annotation processor warning regarding RELEASE_10 + S8205456: Unification of iterations over arrays + S8205459: Rename Access API flag decorators + S8205474: AARCH64: wrong zr encoding for ccmp instruction + S8205475: AARCH64: optimize FPU loads and stores in C1_Runtime1_aarch64.cpp + S8205490: update ProblemList-graal + S8205494: Convert or remove all AWT applet demos + S8205498: Typo in fix for 8205119 breaks Solaris demo build + S8205499: C1 temporary code buffers are not removed with - XX:+UseDynamicNumberOfCompilerThreads + S8205508: hotspot/jtreg/vmTestbase/nsk/jdb/exclude/exclude001/ /exclude001.java fails with Prompt is not received during 300200 milliseconds. + S8205509: assert(_name_and_id != 0LL) failed: encountered a class loader null name and id + S8205528: Base64 encoding algorithm using AVX512 instructions + S8205531: jcmd VM.classloaders should fold similar loaders + S8205533: Class.getPackage() fails with InternalError if class is defined to the bootstrap class loader but module is not in the boot layer + S8205540: test/hotspot/jtreg/vmTestbase/nsk/jdb/trace/ /trace001/trace001.java fails with Debuggee did not exit after 15 commands + S8205547: FileChannel/CleanerTest.java fails due to expected FD count + S8205559: Remove IN_CONCURRENT_ROOT Access decorator + S8205570: fix a number of typos in the JVMTI spec + S8205577: parallel/TestPrintGCDetailsVerbose.java fails assertion + S8205583: Crash in ConcurrentHashTable do_bulk_delete_locked_for + S8205605: [testbug][aix] Various test adaption to aix pecularities. + S8205607: Use oop_iterate instead of oop_iterate_no_header + S8205609: [PPC64] Fix PPC64 part of 8010319 and TLH without UseSIGTRAP on AIX + S8205612: (fc) Files.readAllBytes fails with ClosedByInterruptException when interrupt status set + S8205614: NestMates tests failing in CI jdk11-jdk.931 + S8205616: Build fails with system headers after 8204572 + S8205623: Replace use of Class::getPackage with Class::getPackageName + S8205625: linux-aarch64-cmp-baseline fails builds-tier5 + S8205627: Replace hardcoded spec version value in build.tools.ExtLink taglet + S8205632: Include stack.inline.hpp in markSweep.inline.hpp + S8205641: Make java/nio/channels/Selector/RacyDeregister.java noisier and flush after prints + S8205648: fix for 8205195 breaks secondary error handling + S8205649: Make clang stack flags independent of OS + S8205663: ZGC: Log metaspace used/capacity/committed/reserved + S8205664: Move detailed metaspace logging from debug to trace + S8205671: Remove HTTP Client tests erroneously problem listed by the TLS 1.3 integration + S8205673: Problem list RmiRegistrySslTest.java and RmiSslBootstrapTest.sh + S8205676: ZGC: Remove TLAB allocations in relocation path + S8205678: ZGC: Remove unused ZAllocationFlags::java_thread() + S8205679: Remove unused ThreadLocalAllocBuffer::undo_allocate() + S8205681: [TEST_BUG] vmTestbase/nsk/jvmti/Allocate/alloc001/ /TestDescription.java fails with exit code 98 + S8205683: Refactor heap allocation to separate concerns + S8205694: AArch64: Add test to validate volatile load, store and CAS code generation + S8205696: Undo licence.md + S8205699: assert(_owner_offset != 0) failed in javaClasses.cpp + S8205701: Problem list serviceability/jvmti/HeapMonitor/ /MyPackage/HeapMonitorGCCMSTest.java + S8205702: assert(UseCompressedClassPointers) failed in universe.hpp + S8205703: [JVMCI] Expose all GC selection flags + S8205719: Windows Java_sun_tools_attach_VirtualMachineImpl_enqueue() method should include exitCode in exception message + S8205721: Problem list serviceability/jvmti/HeapMonitor/ /MyPackage/HeapMonitorStatArrayCorrectnessTest.java + S8205723: Problem list serviceability/jvmti/HeapMonitor/ /MyPackage/HeapMonitorStatRateTest.java + S8205824: Update Graal + S8205906: jdk.jfr.jcmd.TestJcmdDumpLimited fails due to erronous processing of -XX:FlightRecorderOptions + S8205913: Inconsistent source code model + S8205916: [test] Fix jdk/tools/launcher/RunpathTest to handle both, RPATH and RUNPATH + S8205923: ZGC: Verification applies load barrier before verification + S8205923: ZGC: Verification applies load barriers before verification + S8205925: Print correct and more information about secondary errors + S8205926: Support invokeSpecialIFC in GenerateJLIClassesPlugin + S8205927: Update src/java.base/share/legal/public_suffix.md to match the actual file version + S8205940: LoadNode::find_previous_arraycopy fails with "broken allocation" assert + S8205942: Build failure on macosx after JDK-8189429 + S8205945: Revert unintended changes to make/gensrc/Gensrc-jdk.hotspot.agent.gmk + S8205954: clean up hotspot ProblemList + S8205956: Fix usage of "OpenJDK" in build and test instructions + S8205959: Do not restart close if errno is EINTR + S8205985: Remove tools/javac/options/release/ /ReleaseOptionUnsupported.java from problem list + S8205993: ZGC: Fix typos and incorrect indentations + S8205996: JDK-8205906 broke the build on Mac + S8206004: [BACKOUT] errant changeset for JDK-8137164 + S8206006: Build failed on Windows + S8206088: 8205207 broke builds - Removed patch: * generated-headers.patch + Integrated upstream - Modified patch: * alternative-tzdb_dat.patch + Modify to upstream changes in the context- Added patch: * missing-return.patch + fix no-return-in-nonvoid-function- Update to upstream tag jdk-11+19 * Fixes: + S6545967: sp05t003 failed ResumeThread() due to THREAD_NOT_SUSPENDED + S6608234: SwingWorker.get throws CancellationException + S7183985: (ann) Class.getAnnotation() throws an ArrayStoreException when the annotation class not present + S8029250: [macosx] There is no tray icon shown in the system tray area when case starts + S8042131: DateTimeFormatterBuilder Mapped-values do not work for JapaneseDate + S8043575: Dynamically parallelize reference processing work + S8149565: -locale option issues + S8153107: enabling ObjectSynchronizer::quick_enter() on ARM64 causes hangs + S8170159: Improve the performance of BitSet traversal + S8177334: Update xmldsig implementation to Apache Santuario 2.1.1 + S8178150: Regression in logic for handling inference stuck constraints + S8184349: There should be some verification that EnableJVMCI is disabled if a GC not supporting JVMCI is selected + S8191512: T2K font rasterizer code removal + S8193302: Javac AssertionError: typeSig ERROR on usage of @Generated + S8194308: jdeprscan will need updates to deal with the removal of the Java EE modules + S8195115: G1 Old Gen MemoryPool CollectionUsage.used values don't reflect mixed GC results + S8195293: Issue more comprehensive warnings for use of \"var\" in earlier source versions + S8196618: Create API to list supported values for javac - -release option + S8196988: Resolve disabled warnings for libjimage + S8198669: Refactor annotation array value parsing to reduce duplication + S8198719: MethodHandleHelper.linkToStatic should drop MH arg + S8199433: (se) select(Consumer action) as alternative to selected-key set + S8199435: Unsafe publication of java.util.Properties.map + S8199441: Wrong caret position in multiline text components on Windows with a screen resolution higher than 100% + S8199871: Deprecate pack200 and unpack200 tools + S8200115: System property java.vm.vendor value includes quotation marks + S8200121: Remove unused qualified exports in java.base + S8200353: Shift or Capslock not working in Textfield after accented keystrokes + S8200605: Create test for GridBagLayoutDemo + S8200867: Remove references to "jdk 9" in build system + S8201276: (fs) Add methods to Files for reading/writing a string from/to a file + S8202199: Provide public, unsupported JDK API for JavaFX/Swing interop + S8202216: Add Buffer mismatch methods + S8202537: CLDR33 + S8202559: Tests which start VM using JNI start failing after compile upgrade to VC 2017 + S8202605: Standardize on ClassLoaderData::loader_name() throughout the VM to obtain a class loader's name + S8202624: javadoc generates references to enum constructors, which are not documented + S8202740: runtime/8176717/TestInheritFD.java fails with java.lang.RuntimeException: could not match: VM RESULT => RETAINS FD + S8202768: [macos] Appkit thread slows when any Window Manager active + S8202845: Refactor reference processing for improved parallelism + S8202948: C2: assert(init_offset >= 0) failed: positive offset from object start + S8203030: Zero s390 31 bit size_t type conflicts in shared code + S8203157: Object equals abstraction for BarrierSetAssembler + S8203197: C2: consider all paths in loop body for loop predication + S8203301: Linux-sparc fails to build after JDK-8199712 (Flight Recorder) + S8203338: Unboxing in return from lambda miscompiled to throw ClassCastException + S8203343: VM.{metaspace|classloaders|classhierarchy...} jcmd should show invocation targets for Generated{Method|Constructor}AccessorImpl classes + S8203344: Make C1 leal patchable on SPARC + S8203357: Container Metrics + S8203394: Implementation of JEP 331: Low-Overhead Heap Profiling + S8203479: JFR enabled ARM32 build assertion failure + S8203491: [TESTBUG] Port heapdump tests into java + S8203641: Refactor String Deduplication into shared + S8203667: Platform specific include files in jdk image in wrong sub directory + S8203680: os::stat() on Posix platform does not need to copy input path + S8203691: Test /runtime/containers/cgroup/PlainRead.java fails + S8203809: [Graal] JDI tests fail with: JDITestRuntimeException : ** event IS NOT a breakpoint ** + S8203813: javac accepts an illegal name as a receiver parameter name + S8203838: javac performance regression in 11+11 + S8203915: Induction variable of over-unrolled loop conflicts with range checks + S8204152: SignedObject throws NullPointerException for null keys with an initialized Signature object + S8204166: TLH: Semaphore may not be destroy until signal have returned. + S8204169: Humongous continues region remembered set states do not match the one from the corresponding humongous start region + S8204172: Predicate::not should explicitly mention "NullPointerException - if target is null" + S8204231: Update Graal + S8204236: JFR unit test of thread CPU load should be enabled + S8204240: Extend MDO to allow more reasons to be recorded per bci + S8204268: Improve some IncompatibleClassChangeError messages. + S8204330: Javadoc IllegalArgumentException: HTML special chars in constant value + S8204342: methods in java.time s TCKZoneRules OpenJDK test miss Test annotation + S8204353: AARCH64: optimize FPU load and stores in macroAssembler + S8204454: Remove of sun.applet.AppletAudioClip + S8204473: AARCH64: register post-index addressing mode is not supported directly + S8204509: Fix compilation error in harfbuzz 1.7.6 for Solaris Developer Studio 12.6 + S8204531: Remove unused chars following '\0' + S8204538: Split ScanClosure and ScanClosureWithParBarrier + S8204571: Add support for launching multiple startup recordings + S8204613: StringTable: Calculates wrong number of uncleaned items. + S8204620: ModuleEntry::is_non_jdk_module() determination for what is a jdk module is incorrect + S8204654: [testbug] Fix pattern matching in jstat tests. + S8204663: clean up remaining native parts after JDK-8187631 + S8204664: PrepareFailureLogs should be done after sequential make targets + S8204666: javadoc should be updated to use jQuery 3.3.1 + S8204668: Cleanup management of the java.vm.info System property + S8204679: HTTP Client refresh + S8204685: Abstraction for TLAB dummy object + S8204701: [TESTBUG] runtime/SharedArchiveFile/ /BootAppendTests.java should handle mapping failure + S8204857: ConcurrentHashTable: Fix parallel processing + S8204859: [macosx] Remove javax/swing/plaf/nimbus/8057791/ /bug8057791.java from the ProblemList.txt + S8204915: (fs) Add some print diagnostics to java/nio/file/Files/CopyAndMove.java + S8204922: Create bootcycle jib profiles + S8204923: Restore Symantec root verisignclass2g2ca + S8204927: ZGC: assert(phase->idom(head) == head->in(LoopNode::EntryControl)) failed + S8204929: Fonts with embedded bitmaps are not always rotated + S8204935: [aix] TOC overflow in libjvm.so (release build) + S8204939: Change Access nomenclature: root to native + S8204941: Refactor TemplateTable::_new to use MacroAssembler helpers for tlab and eden + S8204943: Improve message of ArrayStoreException. + S8204944: Remove java/util/Map/InPlaceOpsCollisions.java from ProblemList + S8204957: Remove TestBiasedLockRevocationEvents from ProblemList.txt + S8204958: Minor cleanups for the diagnostic framework + S8204961: JVMTI jtreg tests build warnings on 32-bit platforms + S8204965: Fix '--disable-cds' and disable CDS on AIX by default + S8204973: Add build support for filtering translations + S8204978: [Graal] Disable Epsilon GC tests from running with Graal + S8205003: Replace selected link tags with linkplain in java.lang.Class + S8205006: Assertion failure when rehashing stringtable + S8205020: ZGC: Apply workaround for buggy sem_post() in glibc < 2.21 + S8205022: ZGC: SoftReferences not always cleared before throwing OOME + S8205024: ZGC: Worker threads boost mode not always enabled when is should be + S8205025: [AOT] make jdk.aot module upgradeable + S8205028: ZGC: Remove incorrect comment in ZHeap::object_iterate() + S8205033: [REDO] Induction variable of over-unrolled loop conflicts with range checks + S8205034: [BACKOUT] Induction variable of over-unrolled loop conflicts with range checks + S8205043: Make parallel reference processing default for G1 + S8205050: ZGC: Incorrect use of RootAccess in ZHeapIterator + S8205052: No compilation error thrown when no valid parameterization exists for functional interface type + S8205054: Could not find "lsof" on test machine + S8205055: Fix compilation optimization errors with new Solaris toolchain + S8205062: (fs) Improve some print diagnostics in java/nio/file/Files/CopyAndMove.java + S8205064: Fail immediately if an unavailable GC is selected + S8205074: [Graal] Add rest of compiler/stable tests into ProblemList-graal.txt + S8205091: AIX: build errors in hotspot after 8203641: Refactor String Deduplication into shared + S8205096: Add missing files for 8203394 + S8205108: [testbug] Fix pattern matching in jstatd tests. + S8205110: Fix xchip warnings with new Solaris toolchain + S8205112: Remove non-existent modules from test/jdk/jdk/modules/etc/UpgradeableModules.java + S8205116: jdeps --system $java.home fails with IAE + S8205141: runtime/exceptionMsgs/ArrayStoreException/ /ArrayStoreExceptionTest.java failed with "assert(k->is_objArray_klass()) failed: cast to ObjArrayKlass + S8205148: Turn off logging in jQuery-migrate + S8205149: hs201t002 should be put on the problem list + S8205163: ZGC: Keeps finalizable marked PhantomReference referents strongly alive + S8205172: 32 bit build broken + S8205181: ProblemList applications/ctw/modules/java_desktop_2.java + S8205183: Warning about using VS2017 should be removed + S8205338: ZGC: LeakProfiler not yet supported + S8205339: ZGC: VerifyBeforeIteration not yet supported + S8205341: AARCH64: Clean up duplicate uzp1 & uzp2 instruction definition + S8205344: TraceMemoryManagerStats changes in JDK-8195115 broke ZGC + S8205407: [windows, vs<2017] C4800 after 8203197 - Modified patches: * generated-headers.patch + Better version resulting from discussion with upstream * java11-improved-fonts.patch + Rediff to changed context- Update to upstream tag jdk-11+18 * Fixes: + S6350055: (se) SelectionKey.interestOps variants to atomically update interest ops + S8174734: Safepoint sync time did not increase + S8178374: Problematic ByteBuffer handling in CipherSpi.bufferCrypt method + S8190326: Robot.mouseMove uses scaling factor of main display on unscaled second display + S8194073: Invalid SunNativeProvider.INSTANCE initialization + S8195097: Make it possible to process StringTable outside safepoint + S8196030: AWT Robot mouseMove fails on Windows 10 1709 with HiDPI + S8196141: Add GoDaddy root certificates + S8196990: Resolve disabled warnings for libjli + S8196993: Resolve disabled warnings for libunpack + S8197930: JNI exception pending in initializeEncoding of jni_util.c + S8200132: Remove jre images and bundles + S8200387: [Graal] fromTonga/nsk/jdi tests hang with Graal as JIT + S8201193: Use XMM/YMM for objects initialization + S8201274: Launch Single-File Source-Code Programs + S8201407: Files.move throws DirectoryNonEmptyException when moving directory across file system + S8201528: Add new test to check for package versioning information in OpenJDK + S8201608: fix broken links in javax/sql/rowset/package.html and javax/sql/rowset/spi/package.html + S8202049: G1: ReferenceProcessor doesn't handle mark stack overflow + S8202088: Japanese new era implementation + S8202611: [GRAAL] Exclude CMS GC testing from runs with Graal + S8202705: ARM32 build crashes on long JavaThread offsets + S8202747: C2: assert(mode == ControlAroundStripMined && use == sfpt) failed: missed a node + S8202772: NMT thread stack tracking causes crashes on AIX + S8202864: [TESTBUG] Need to replace the image used in two Swing tests + S8203033: [Testbug] vmTestbase/nsk/jdi/TypeComponent/ /isSynthetic/issynthetic002/TestDescription.java fails with nestmates + S8203172: Primitive heap access for interpreter BarrierSetAssembler/aarch64 + S8203224: java.awt.desktop.*Event classes could not be instantiated if Desktop feature is not supported + S8203308: Remove the appletviewer classes + S8203329: JDWP/JDI VM information string is incorrect + S8203353: Fixup inferred decorators in the interpreter + S8203367: Upgrade to freetype 2.9.1 + S8203425: assert(is_Loop()) failed: invalid node class + S8203480: IncompatibleClassChangeError thrown at sites linked to default interface methods + S8203499: Uninitialised memory in WinAccessBridge.cpp + S8203679: AssertionError in DeferredAttr with parenthesized method reference + S8203682: Add jcmd "VM.classloaders" command to print out class loader hierarchy, details + S8203796: Define API to support specifying ownership of print dialogs + S8203822: AIX version of jsig.c was not removed in JDK-8200298 + S8203839: API clarification: versioned jar entry verification in multi-release jar file + S8204081: Mismatch in rebuild policy and collection set chooser causes remembered sets to be kept errorneously + S8204084: Remove the G1RSBarrierRegionFilter develop flag + S8204097: Simplify OopStorage::AllocateList block entry access + S8204110: serviceability/sa/ClhsdbSymbol.java and ClhsdbInspect.java failed when running in CDS mode + S8204113: Upgrade linker used in AOT tests to be same version as build toolchain + S8204118: [macos] Nonsensical self == [super init] in CFileDialog.m + S8204126: MonospacedGlyphWidthTest.java failed again + S8204127: Change bundle format on Windows to zip + S8204180: Implementation: JEP 318: Epsilon, A No-Op Garbage Collector + S8204187: Remove proprietary JPEG code from javax.imageio + S8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental) + S8204211: windows : handle potential C++ exception in GDIRenderer + S8204229: Formatter and String.format ignore the width with the percent modifier (%5%) + S8204243: remove Thread.destroy() and Thread.stop(Throwable) + S8204287: Phase timings not updated correctly after JDK-6672778 + S8204288: Matching the end of a string followed by an empty greedy regex and a word boundary fails + S8204290: Add check to limit number of capture groups + S8204303: Add redirect for overview-summary.html + S8204335: [ppc] Assembler::add_const_optimized incorrect for some inputs + S8204375: Add TimeUnit#convert(Duration) + S8204377: Rename Object#wait parameter name from "timeout" to "timeoutMillis" + S8204444: java.time cleanup + S8204474: Have instanceRefKlass use HeapAccess when loading the referent + S8204476: Add additional statistics to CodeCache::print_summary + S8204477: Count linkage errors and print in Exceptions::print_exception_counts_on_error + S8204479: Bitwise AND on byte value sometimes produces wrong result + S8204494: Fix for 8200530 triggered regression, closed/test/jdk/security/infra/java/security/KeyStore/ /BouncyCastleInterop.java failed + S8204496: backout fix for 8203796 which was pushed under another ID + S8204504: Fix for 8198285 breaks slowdebug builds + S8204539: improve error messages in matchJavaTZ [windows] + S8204549: [aix][testbug] signal tests fail because vm can not start in primordial thread. + S8204554: JFR TLAB tracing broken after 8202776 + S8204557: NMT: Linux os::committed_in_range() does not break out outer loop when contiguous region is found + S8204561: JVM_GetClassSigners: wrap signers oop in an objArrayHandle for subsequent safepoint + S8204563: UseAppCDS obsolete message confusing + S8204565: (spec) Document java.{vm.}?specification.version system properties' relation to $FEATURE + S8204572: SetupJdkLibrary should setup SRC and -I flags automatically + S8204576: (fs) java/nio/file/Files/CopyAndMove.java does not set isUnix = true on macOS + S8204577: jittester generator doesn't kill processes on timeout + S8204584: jdeps generates illegal dot file containing ranksep=0,600000 + S8204585: Remove IN_ARCHIVE_ROOT from Access API + S8204588: Test failures after "Launch Single-File Source-Code Programs" + S8204589: ProblemList failing launcher tests + S8204598: add more thread-related system settings info to hs_error file on Linux + S8204602: Add devkit for linux-arm32 + S8204606: [Aarch64] SIGSEGVs caused by C1 because of improper register usage + S8204610: Compiler confused by parenthesized "this" in final fields assignments + S8204617: ParallelGC parallel reference processing does not set MT degree in reference processor + S8204618: The parallel GC reference processing task executor enqueues a wrong number of tasks into the queue + S8204628: [AArch64] Assertion failure in BarrierSetAssembler::load_at + S8204648: test/jdk/tools/launchers/SourceMode.java fails with long shebang line + S8204652: [aix] fix thread stack allocation, too big stack sizes not recognized + S8204674: Inconsistent lambda parameter span + S8204680: Disassembly does not display code strings in stubs + S8204682: Parsing for LOG=report=none is broken when combined with other keywords + S8204684: [AIX] Build of libjli_static broken after change 8204572 (SetupJdkLibrary) + S8204694: Add failed compiler/stable tests into ProblemList-graal.txt + S8204850: BarrierSet::make_* should be static + S8204861: fix for 8196993 has broken the build on linux - Modified patch: * system-pcsclite.patch + rediff to changed context - Added patch: * generated-headers.patch + fix a regression after JDK-8204572- Update tu upstream tag jdk-11+17 * Fixes: + S5109146: PNGMetadata Background color initialization from standard metadata is incomplete + S8050818: Predicate::not - provide an easier way to negate a predicate + S8072996: Deprecate stream-based GSSContext methods + S8150156: Update bugs.sun.com references to bugs.java.com + S8153029: ChaCha20 Cipher Implementation + S8154736: enhancement of cmpxchg and copy_to_survivor for ppc64 + S8177276: MethodHandles.insertArguments doesn't specify IllegalArgumentException on index mismatch + S8187289: NotifyFramePop request is not cleared if JVMTI_EVENT_FRAME_POP is disabled + S8189335: javac exception when referencing private inner class with same name as normal class with dollar_1 + S8189949: Remove Baltimore Cybertrust Code Signing CA + S8190417: javadoc updates to java.util.regex.Matcher + S8190875: modules not listed in overview/index page + S8191031: Remove several Symantec Root CAs + S8191522: Remove Bigelow&Holmes Lucida fonts from JDK sources + S8193552: ISO 4217 amendment 165 + S8194327: [macos] AWT windows have incorrect main/key window behaviors + S8195624: Desktop API cannot be used without permission to read "os.version" + S8196373: Introspector does not see overridden generic setter method + S8197387: jcmd started by "root" must be allowed to access all VM processes + S8197989: java/util/zip/ZipFile/TestCleaner.java failed with "cleaner failed to clean zipfile + S8198285: More consistent Access API for arraycopy + S8198378: javac crash when checking imports and a broken class is present + S8199150: Accessibility issues in java.desktop + S8199268: docs/api/jdk.javadoc/com/sun/javadoc/package-summary.html contain low contrast text + S8199371: [TESTBUG] Open source vm testbase JDWP tests + S8199380: [TESTBUG] Open source VM testbase AOD tests + S8199388: Test development for ChaCha20 and Poly1305 algorithms + S8199530: Upgrade to harfbuzz 1.7.6 + S8199723: Test java/awt/TextComponent/ /DeselectionDuringDoSelectionNonVisibleTest/ /DeselectionDuringDoSelectionNonVisibleTest.java fails + S8199882: compiler/uncommontrap/TestDeoptOOM.java failed w/ fatal error: ExceptionMark constructor expects no pending exceptions + S8199893: the javadoc tool generates pages with a low constrast + S8200052: libjavajpeg: Fix compile warning in jchuff.c + S8200166: Repeating annotations refering to to-be-generated classes don't work. + S8200288: [SPARC] "assert(!(is_cti(prev) && is_cti(insn))) failed: CTI-CTI not allowed" + S8200530: '\r' is not supported as "newline" in java.util.jar.Manifest + S8200623: Primitive heap access for interpreter BarrierSetAssembler/x86 + S8201279: javax.sound tests should not set java.home system property + S8201364: [macosx] Component.getLocation() gives inconsistent coordinate for a component at (0,0) + S8201429: Support AIX Input Method Editor (IME) for AWT Input Method Framework (IMF) + S8202026: ISO 4217 amendment 166 + S8202051: Address compilation warnings in libawt with VS2017 + S8202094: jdk/jfr/api/recording/event/TestEventTime.java intermittently times out + S8202095: JFR TestBiasedLockRevocationEvents should cope with multiple events during a single safepoint + S8202360: [TESTBUG] runtime/LoadClass/TestResize.java needs to print output when it fails + S8202547: Move G1 runtime calls used by generated code to G1BarrierSetRuntime + S8202627: javadoc generates broken links to deprecated items when -nodeprecated is used + S8202670: Update Graal + S8202758: SIGSEGV calling Class.forName(String,Boolean,ClassLoader) with mocked loader + S8202776: Modularize GC allocations in runtime + S8202812: [TESTBUG] Open source VM testbase compiler tests + S8202913: loader constraint message for fields specifies incorrect referring class + S8203027: Open source tests for "java.awt.geom" + S8203031: segfaults from jvmti_AddToBootstrapClassLoaderSearch + S8203182: Release session if initialization of SunPKCS11 Signature fails + S8203219: VM.metaspace jcmd should optionally show loaded classes for loaders + S8203237: JFR TestBiasedLockRevocationEvents should ignore events unrelated to the test + S8203319: JDK-8201487 disabled too much queue balancing + S8203321: assert(current_query_index < process_query_set->size) failed: invariant + S8203324: Use out of scope in getMacOSXLocale of java_props_macosx.c:120 + S8203380: Missing platform and bug information for MouseModifiersInKeyEvent test + S8203435: Circular nested dynamic constant test needed to confirm JVMS resolution behavior + S8203445: [TESTBUG] Remove appcds/jigsaw/limitmods/LimitModsTests.java + S8203474: Update description of "Cyrillic Supplementary" block name in Character.UnicodeBlock class. + S8203485: [freetype] text rotated on 180 degrees is too narrow + S8203498: The specification for java.applet package should be updated + S8203669: PPC64: Fix jtreg RTM tests after "8203305: Improve TM detection for enabling RTM on Linux / POWER9" + S8203765: java/nio/channels/Selector/SelectAndClose: add some prints and @intermittent tag + S8203780: javadoc should be updated to use jquery 1.12.4, jquery-ui 1.12.1 and jszip v3.1.5 + S8203787: Hotspot build broken on linux-sparc after 8202377 + S8203802: Jvmti test fails to build with VS2017 + S8203827: Upgrade JLine to 2.14.6 + S8203837: Split nmethod unloading from inline cache cleaning + S8203872: Upgrading JDK with latest available LSR data from IANA. + S8203891: Upgrade JOpt Simple to 5.0.4 + S8203919: Remove "-add-modules" hint from error message + S8203921: JFR thread sampling is missing fixes from JDK-8194552 + S8203923: Add @requires feature to check flag values for the running JVM + S8203924: Zero: bootcycle-images build fails on x86_64 + S8203937: Not possible to read data from socket after write detects connection reset + S8203939: JVMFlag::printError missing ATTRIBUTE_PRINTF + S8203945: Cleanup nashorn build + S8203946: Move UnpackSecurity.gmk to closed + S8203948: Expand JVMTI callback notion of "internal threads" + S8203960: [TESTBUG] runtime/logging/DefaultMethodsTest.java failed when running in CDS mode + S8204055: SIGSEGV in java -XX: + S8204085: avoid printing uninitialized pointer in java.desktop/windows/native/libawt/java2d/windows/ /GDIWindowSurfaceData.cpp + S8204087: C++ Interpreter code left over in MethodData + S8204091: Configure broken on MIPS when uname returns mipsel or mips64el + S8204094: assert(worker_i < _length) failed: Worker 15 is greater than max: 11 at ReferenceProcessorPhaseTimes + S8204095: [TESTBUG] TestPrintReferences.java fails if multiple concurrent mark happens + S8204103: Mark test serviceability/dcmd/compiler/CompilerQueueTest.java as intermittent and exclude it from tier1 + S8204109: JDK-8203945 broke nashorn + S8204122: Update harfbuzz.md + S8204134: jtreg: Fix RTM abort provoker for various tests after "8149159: Clean up Unsafe" + S8204136: jtreg: Fix failing RTM test RTMSpinLoopCount + S8204160: BiasedLockingTest needs -XX:+UseBiasedLocking + S8204162: TestG1HeapRegion needs @requires vm.gc.G1 + S8204163: Also detect concurrent GCs in MetaspaceBaseGC.java + S8204164: OOM-only logging in Metaspace + S8204165: Filter out tests requiring class unloading when ClassUnloading is disabled + S8204167: Filter out tests requiring compressed oops when CompressedOops is disabled + S8204168: Increase small heap sizes in tests to accommodate ZGC + S8204173: Lower the minimum number of heap memory pools in MemoryTest.java + S8204179: [BACKOUT] OopStorage should use GlobalCounter + S8204194: Lazily create MethodHandleImpl$AsVarargsCollector.asCollectorCache + S8204195: Clean up macroAssembler.inline.hpp and other inline.hpp files included in .hpp files + S8204199: Test fails after 8202670 Graal update + S8204237: Clean up incorrectly included .inline.hpp files from jvmciJavaClasses.hpp + S8204250: Problem list pkcs11 tests on windows + S8204269: ISO 4217 amendment 167 + S8204277: [testbug] fix DisassembleCodeBlobTest. + S8204292: PPC64: Fix missing includes after 8204195 + S8204295: [BACKOUT] - JVMFlag::printError missing ATTRIBUTE_PRINTF + S8204301: Make OrderAccess functions available to hpp rather than inline.hpp files + S8204321: javadoc tests fail after JDK-8203780 + S8204322: "+=" applied to String operands can provoke side effects + S8204341: AArch64: AOT runtime does not need a workaround for far calls + S8204345: [s390]: no precompiled headers build broken + S8204348: AArch64: Remove C2 address reshaping code- Change the alternatives priority from 0 to 2105, since OpenJDK 11 should now be in a shape to be able to be used.- Change build requirement to Java 10 or 11, since Java 9 cannot build OpenJDK 11 any more.- Update to upstream tag jdk-11+16 * Fixes: + S8133564: Runtime - 2nd followup to Validate JVM Command-Line Flag Arguments + S8184030: TestUseRTMLockingOptionOnUnsupportedVM - RTM locking optimization not supported is missing + S8188248: NullPointerException on generic methods + S8189766: whitebox failure with -Xcheck:jni + S8191844: Remove SECOM root (secomevrootca1) + S8193717: Import resolution performance regression in JDK 9 + S8194298: Add support for per Socket configuration of TCP keepalive + S8194630: Uninitialized initiator_address in native GSS + S8196202: Javadoc should not generate frames by default + S8196913: javadoc does not (over)write stylesheet.css + S8198323: testing.md not updated for repository layout change + S8199255: [TESTBUG] Open source VM testbase default methods tests + S8199307: NPE in jdk.javadoc.internal.doclets.toolkit.util.Utils.getLineNumber + S8199383: [TESTBUG] Open source VM testbase JVMTI tests + S8200172: String.split non-positive term incorrect use + S8200266: [Graal] Update ProblemList-graal.txt files + S8201518: add test for randomized iteration order of unmodifiable Set and Map + S8202178: type.getKind() for var is None instead of Error + S8202290: AtomicAppend tests fail on macOS 10.13 ("High Sierra") + S8202813: Move vm_weak processing from SystemDictionary to WeakProcessor + S8202832: cycle detection depends on ordering of requires directives + S8202842: G1 footprint regressions in jdk11+10 + S8202945: OopStorage should use GlobalCounter + S8202947: Fix minor issues with taglets + S8202949: C2: assert(false) failed: Bad graph detected in build_loop_late + S8202950: C2: assert(found_sfpt) failed: no node in loop that's not input to safepoint + S8203014: jcmd should output command list if no command is given + S8203028: Simplify reference processing in light of JDK-8175797 + S8203041: AArch64: fix overflow in immediate cmp/cmn instruction + S8203183: vmTestbase/vm/mlvm/anonloader/stress/oome/heap/Test.java times out + S8203221: Makefile fixes after Flight Recorder + S8203225: Fix of redefining a method that removes 1 or more lambda expressions failed to commit test cases + S8203233: (tz) Upgrade time-zone data to tzdata2018e + S8203262: Incorrect cmpxchg usage in MetaspaceGC::inc_capacity_until_GC + S8203297: java/net/URL/OpenStream.java fails intermittently + S8203327: Small cleanups in java.lang.ref + S8203328: Rename EFS in java.util.zip internals to something meaningful + S8203354: assert in ClassLoader::update_module_path_entry_list() could have incorrect message + S8203366: Tag added wrongly in Docs.gmk + S8203368: ObjectInputStream filterCheck method throws NullPointerException + S8203369: Check for both EAGAIN and EWOULDBLOCK error codes + S8203370: [JVMCI] UseJVMCICompiler should imply EnableJVMCI + S8203455: jcmd: VM.metaspace: print loader name for anonymous CLDs + S8203488: Remove error generation from TransTypes + S8203497: Bump Jib format version to 1.2 + S8203628: Optimize (masked) byte memory comparisons on x86 + S8203686: Add JDK 11 major version to javax/net/ssl/compatibility/JdkRelease.java + S8203689: Add failure code to threaddb exception messages` + S8203699: java/lang/invoke/SpecialInterfaceCall fails with SIGILL on aarch64 + S8203766: Add some instrumentation to jdk/java/nio/channels/Selector/RacyDeregister.java + S8203769: ProblemList test/jdk/java/util/Map/InPlaceOpsCollisions.java + S8203774: jdk/jfr/api/recorder/TestStartStopRecording.java failed due to compilation failed + S8203793: cacerts/VerifyCACerts.java fails with java.lang.Exception: At least one cacert test failed + S8203795: Change default compiler on Windows to VS2017 + S8203815: add tests failed because of 8203809 to the ProblemList-graal + S8203816: add tests failed because of 8203174 to the ProblemList-graal + S8203817: Monitor::try_lock() should not call check_prelock_state() + S8203843: BasicParState::default_estimated_thread_count(false) can return 0 in gtest + S8203865: Metaspace cleanup: Remove unused MemRegion in VirtualSpaceNode + S8203881: Print erroneous size in NegativeArraySizeException + S8203885: ConcurrentLocksDump::dump_at_safepoint() should not allocate array in resource area + S8203886: Invoke LambdaMetafactory::altMetafactory exactly from the BootstrapMethodInvoker + S8203892: Target interface added as marker interface in calls to altMetafactory + S8203926: Problem list test/langtools/tools/javac/importscope/T8193717.java + S8203932: Windows devkit has wrong dlls in 32 bit tools dir + S8203938: Fix build failures from JDK-8133564- Update to upstream tag jdk-11+15 * Fixes: + S8027760: JFC schema condition should not have defaults + S8134537: Much nearly duplicated code for sun.misc.Signal support + S8146293: Add support for RSASSA-PSS Signature algorithm + S8148354: Errors targeting functional interface intersection types + S8176808: Split up metaspace.cpp + S8185803: JdbExprTest.sh fails in JDK10-hs nightly due to "Name unknown: java.lang.Long.MAX_VALUE " + S8192992: Test8007294.java failed: attempted to spill a non-spillable item + S8193332: MetaspaceShared::check_shared_class_loader_type is not used during archive creation + S8195098: Low latency hashtable for read-mostly scenarios + S8195817: JFR.stop should require name of recording + S8195818: JFR.start should increase autogenerated name by one + S8195819: Remove recording=x from jcmd JFR.check output + S8196048: thrown type variables should be roots in the minimum inference graph + S8196201: Generate pages to list all classes and all packages in javadoc output + S8196619: [TESTBUG] restore current version check in runtime/appcds/MultiReleaseJars.java + S8196987: Resolve disabled warnings for libzip + S8198315: Incomplete classpath causes NPE in TransTypes + S8198337: -XX:StartFlightRecording=dumponexit=true,disk=false doesn't work + S8198548: Initialization race in com.sun.org.apache.xerces.internal.impl.xpath.regex.Token.getRange() on Token.categories + S8199064: Test applications/jcstress/other/Test.java#id1108 fails on Sparc + S8199257: [TESTBUG] Open source VM testbase metaspace tests + S8199271: [TESTBUG] open source VM testbase stress tests + S8199370: [TESTBUG] Open source vm testbase GC tests + S8199379: [TESTBUG] Open source vm testbase JDB tests + S8199384: [TESTBUG] Open source VM testbase MLVM tests + S8199807: AppCDS performs overly restrictive path matching check. + S8200380: String::lines + S8200436: String::isBlank + S8201331: Better test cleanup for jdk/jfr/api/consumer/TestRecordingFile.java + S8201386: Miscellaneous changes imported from jsr166 CVS 2018-05 + S8201627: Kerberos sequence number issues + S8201867: Kerberos keytabs with holes in certain places are parsed incorrectly + S8202014: Possible to receive signal before signal semaphore created + S8202076: test/jdk/java/io/File/WinSpecialFiles.java on windows with VS2017 + S8202305: [Graal] org.graalvm.compiler.core.test.GraphResetDebugTest fails with java.util.ServiceConfigurationError + S8202377: Modularize C2 GC barriers + S8202427: Enhance os::print_memory_info on Windows + S8202466: Test serviceability/tmtools/jstat/GcTest01.java fails: Number of concurrent GC events is 1, but CGCT is 0 + S8202479: Add missing try_resolve_jobject_in_native calls + S8202669: Intermittent crash in ClassLoadingService::compute_class_size() + S8202685: Optimize ArrayList subList replaceAll + S8202710: AARCH64: sporadic jtreg test fail + S8202713: Create a MacroAssembler::access_load/store_at wrapper for S390 and PPC + S8202771: Migrate Unicode character tests to JDK Repo + S8202848: -XX:+ExecuteInternalVMTests asserts with "assert(cd.valid() == true) failed: failed on a valid DirectivesParser string" + S8202853: NotifyCount is not initialized + S8202863: Rename OopStorage inner collection classes + S8202978: Incorrect tmp register passed to MacroAssembler::load_mirror() + S8202989: Add missing decorators in calls to to arraycopy_prologue/epilogue + S8203196: C1 emits incorrect code due to integer overflow in _tableswitch keys + S8203215: IdealLoopTree::split_outer_loop leaves phi-nodes with only one input + S8203227: Introduce os::processor_id() for Linux and Solaris + S8203279: Faster rounding up to nearest power of two + S8203287: Zero fails to build after JDK-8199712 (Flight Recorder) + S8203288: PPC64 and s390 fail to build after JDK-8199712 (Flight Recorder) + S8203292: Print complete set of flags in the hs_err file + S8203305: PPC64: Improve TM detection for enabling RTM on Linux / POWER9 + S8203318: compiler/stable/TestStableShort.java is broken + S8203339: Add oopDesc::field_offset() + S8203341: Add a safepoint-aware Semaphore + S8203346: JFR: Inconsistent signature of jfr_add_string_constant + S8203352: Improve java implementation of Integer/Long.numberOfLeadingZeros + S8203355: MITSHM define guarding missing + S8203377: Cleanup the usage of os::file_name_strcmp() in SharedPathsMiscInfo::check(). + S8203381: Replace InstanceKlass::allocate_instance_handle with JavaCalls::construct_new_instance + S8203391: Update com/sun/jdi/JdbMethodExitTest.sh to pass valid URL[] + S8203398: Test test/langtools/tools/javac/options/release/ /ReleaseOptionCurrent.java writes into the source directory + S8203400: Fix issue with "8199852: Print more information about class loaders in LinkageErrors." + S8203410: Zero: Disable jfr feature by default + S8203431: TestFloatsOnStackDeopt.java throws java.lang.LinkageError: loader attempted duplicate class definition for java.lang.invoke.BoundMethodHandle$Species_LLL + S8203436: javac should fail early when emitting illegal signature attributes + S8203437: 8199370 broke build on linux-ppc64le (w/ GCC 4.8.5.) + S8203454: Minimal, Zero builds fail after JDK-8202377 (Modularize C2 barriers) + S8203457: Add back missing full buffer notification + S8203486: skip type inference for non functional interface components of intersection types + S8203487: Typo in ICUBinary.java: s/Magin/Magic/ + S8203490: StringTable::dump lacks a load barrier + S8203500: Fix broken links to Specification in "specs" directory + S8203626: ProblemList compiler/runtime/TestFloatsOnStackDeopt.java + S8203635: JFR sampler thread does not record stack info + S8203694: Add a safepoint-aware Semaphore - part 2 - Removed patch: * fix-s390x-and-ppc64-builds.patch + integrated upstream- Added patch: * fix-s390x-and-ppc64-builds.patch + upstream fix for broken s390x and ppc64/ppc64le builds- Update to upstream tag jdk-11+14 * Fixes: + S8132287: obsolete the "InlineNotify" flag option + S8174995: SA: clhsdb 'where -a' throws Assertion Failure with illegal code 236 when CDS is used + S8176510: java/awt/font/GlyphVector/TestLayoutFlags.java fails with OpenJDK + S8183910: gc/arguments/TestAggressiveHeap.java fails intermittently + S8185505: AArch64: Port AOT to AArch64 + S8189140: SystemDictionaryShared::initialize() should be renamed to be more meaningful + S8189271: Metaspace::_capacity_until_GC should be size_t + S8191533: jar --describe-module prints service provider class names in lower case + S8193935: Illegal countedLoops transformation + S8194998: broken error message for subclass of interface with private method + S8195613: [SA] HotSpotTypeDataBase.readVMLongConstants truncates values to int + S8196340: (coll) Examine overriding inherited methods in ArrayList and ArrayList.SubList + S8196360: java/awt/Dialog/SiblingChildOrder/ /SiblingChildOrderTest.java fails + S8196616: java/awt/GraphicsDevice/DisplayModes/ /CompareToXrandrTest.java fails + S8197948: Create test for SwingSet2 main window + S8198412: MonospacedGlyphWidthTest.java may fail on Solaris + S8198991: Move Java2D demo to the open repository + S8199252: [TESTBUG] Open source VM testbase system dictionary tests + S8199712: Flight Recorder + S8200377: String::strip, String::stripLeading, String::stripTrailing + S8201447: C1 does backedge profiling incorrectly + S8201491: G1 support for java.lang.ref.Reference precleaning + S8201532: Update idom to get correct dom depth calculation + S8201593: Print array length in ArrayIndexOutOfBoundsException. + S8201604: ARM64 - Build failure after JDK-8193260 + S8202016: Use obj+offset in interpreter array access + S8202064: Jemmy JInternalFrameOperator: Add wait for close(), activate(), resize() and move() operations + S8202113: Reflection API is causing caller classes to leak + S8202289: Non-empty directory in module path is not handled properly at CDS/AppCDS dump time + S8202322: AIX: symbol visibility flags not support on xlc 12.1 + S8202392: [TESTBUG] open source vm testbase heapdump tests + S8202395: AARCH64: wrong encoding for SIMD instructions zip, trn, uzp + S8202426: NPE thrown by Transformer when XMLStreamReader reports no xml attribute type + S8202476: ImageLib is broken in 32 bit Windows + S8202519: Crash during large AppCDS dump + S8202544: Hide unused exports in libzip + S8202553: Update FXLauncherTest as part of removing JavaFX from JDK + S8202557: OpenJDK fails to start in Windows 7 and 8.1 after upgrading compiler to VC 2017 + S8202580: Dashed BasicStroke randomly painted incorrectly, may freeze application + S8202614: Add ability to validate links in JavadocTester + S8202679: Updates on windows failures in the problem list + S8202683: Minimal VM should build cleanly on 64-bit platforms + S8202708: Add a check of opening stream for not-existing UNC url + S8202714: Create a MacroAssembler::access_load/store_at wrapper for AArch64 + S8202718: Jemmy JInternalFrameOperator: Dependency with orders of Minimize, Maximize and Close buttons + S8202738: vm_version Abstract_VM_Version::internal_vm_info_string() returns same string for different incremental builds + S8202745: Remove hyphens from "out-of-bounds". + S8202748: jtreg :hotspot_misc group shouldn't include vmTestbase tests + S8202756: move FilterUSRTest.java to openJDK + S8202763: failure_handler: list open files for macOS + S8202764: api/java_text/SimpleDateFormat/index.html#Format testcases started to fail with JDK11 b12 + S8202767: java/awt/font/GlyphVector/TestLayoutFlags.java is missing null check + S8202773: Unhandled oop in JavaThread::collect_counters + S8202811: Problem List some tests that leave windows open on the desktop + S8202822: Add .git to .hgignore + S8202824: Cleanup discrepancies in ProblemList for java_awt jtreg tests + S8202829: Implement CollectedHeap::get_safepoint_workers() for G1 + S8202843: langtools ant build fails + S8202878: com/apple/laf/ScreenMenu/ScreenMenuMemoryLeakTest.java fails + S8202889: Remove trailing LF from perf log + S8202914: Let custom makefile override jmod intput dir locations + S8202915: [JAXP] Performance enhancements and cleanups in com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator + S8202919: JDK-8202683 broke macosx build + S8202920: jvm.cfg generation incorrect + S8202974: Backout JDK-8202683 + S8202976: Add C1 lea patching support for x86 + S8202993: Add support for x86 testptr/testq with register and address + S8202994: Add support for undoing last TLAB allocation + S8202997: Split test/jdk/:tier1 to enable better parallel execution + S8203032: PrintMetaspaceDcmd fails: Non-Class: missing from stdout/stderr + S8203059: (so) Closing a socket channel registered with Selector and with SO_LINGER set to 0 does not reset connection + S8203176: javadoc handles non-ASCII characters incorrectly. + S8203220: Introduce ATTRIBUTE_ALIGNED macro + S8203223: Signed integer overflow in ImageStrings::hash_code (libjimage.so) + S8203250: runtime/LoadClass/test-classes/Hello.java has wrong legal notice + S8203251: Non-PCH build failed after JDK-8199712 (Flight Recorder) + S8203274: 32-bit build failures after JDK-8199712 (Flight Recorder) + S8203278: AArch64/PPC64 build failures after JDK-8199712 (Flight Recorder) + S8203285: Minimal VM fails to build after JDK-8199712 (Flight Recorder)- s390x: avoid packaging files that are not present on this architecture- Update to ustream tag jdk-11+13 * Fixes: + S4842658: DefaultListModel and DefaultComboBoxModel should support addAll (Collection c) + S6574555: PNGImageWriter incorrectly sets bKGD chunk + S6788458: PNGImageReader ignores tRNS chunk while reading non-indexed RGB/Gray images + S8153532: Add @throws NPE javadoc to UIManager.setLookAndFeel(String) method description + S8154463: New failure of closed/java/awt/font/Outline/OutlineInvarianceTest.java + S8171277: Elliptic Curves for Security in Crypto + S8176717: GC log file handle leaked to child processes + S8181594: Efficient and constant-time modular arithmetic + S8181910: [macos] Support dark title bars on macOS + S8185034: Cleanup and consolidate Metaspace coding + S8187123: (reflect) Class#getCanonicalName and Class#getSimpleName is a part of performance issue + S8187392: Deprecated methods in the peers can be removed + S8189687: Swing: Invalid position of candidate pop-up of InputMethod in Hi-DPI on Windows + S8189916: Dynamic Constant support for Sparc + S8191410: Unicode 10 + S8194968: problem list actions for tools/javac/jvm/VerboseOutTest + S8195002: Fix test/hotspot/jtreg/gtest/GTestWrapper.java on Alpine/Musl + S8195717: test java/lang/invoke/MethodHandlesTest timed out running testAsCollector1 + S8196113: Remove the Compact Profile builds + S8196572: Tests ColConvCCMTest.java and MTColConvTest.java fail + S8197388: Added not existing bug id in jdk/ProblemList.txt + S8197447: LogCompilation throws "couldn't find bytecode" + S8197954: Remove unnecessary intermediary APIs from AppCDS implementation + S8198342: Test FileSystemViewListenerLeak.java is unstable + S8199067: [REDO] NMT: Enhance thread stack tracking + S8199196: Add javadoc support for preview features + S8199382: [TESTBUG] Open source VM testbase JDI tests + S8199748: Touch keyboard is not shown, if text component gets focus from other text component + S8199852: Print more information about class loaders in LinkageErrors. + S8199912: jshell tool: /open from URI + S8199932: Missing copyright header in AWT source code + S8200083: Bump bootjdk requirement for JDK 11 to JDK 10 + S8200094: Turkish locale reports NPE No enum constant com.sun.source.doctree.DocTree.Kind.SİNCE + S8200146: Remove the appletviewer launcher + S8200313: java/awt/Gtk/GtkVersionTest/GtkVersionTest.java fails + S8200372: String::trim JavaDoc should clarify meaning of space + S8200557: OopStorage parallel iteration scales poorly + S8200716: Object propertyIsEnumerable buggy behavior on short integer-string key + S8200729: Conditional compilation of GCs + S8201138: Defect in XMLEventReader.getElementText() may cause data to be skipped, duplicated or otherwise result in a ClassCastException + S8201433: Fix potential crash in BufImg_SetupICM + S8201492: Properly implement non-contiguous generations for Reference discovery + S8201524: [AIX] Don't link libfontmanager against libawt_headless + S8201572: Improve Metaspace Statistics + S8201598: Fix for 8181910: Support dark title bars on macOS broke the MacOS build + S8201602: ARM32 - Minimal Dynamic Constant support + S8201626: Typo in MakeWindowAlwaysOnTop test + S8201640: Use _ref_processor_* member variables directly in G1CollectedHeap + S8201793: (ref) Reference object should not support cloning + S8202017: Merge Reference Enqueuing phase with phase 3 of Reference processing + S8202018: Move card table clear before enqueuing pending references + S8202021: Improve variable naming in ReferenceProcesso + S8202050: Add javax/sound/midi/Sequencer/Recording.java to the problemList + S8202080: Introduce ordering semantics for Atomic::add and other RMW atomics + S8202083: Remove explicit CMS checks in CardTableBarrierSet + S8202143: Parts of 8193435 added in merge change set. + S8202181: Correctly specify size of hostname buffer in Unix Inet*AddressImpl_getLocalHostName implementations + S8202291: java/rmi/Naming/LookupIPv6.java failed with Connection refused + S8202301: Add tests related to JDK-8196572 to the ProblemList + S8202303: LogStream should autoflush on destruction + S8202319: Fix compilation warnings in Solaris debug builds for DevStudio 12.6 + S8202387: javac --release 11 not supported + S8202424: Metaspace: on chunk retirement, use correct lower limit on chunksize when adding blocks to free blocks list + S8202435: [aix] print program break as part of memory info into hs-err file + S8202447: Fix unloading_occurred to mean unloading_occurred + S8202465: [C1] casts should not be eliminated for interface types + S8202548: Use reservation Object when creating SpeciesData + S8202552: [AOT][JVMCI] Incorrect usage of INCLUDE_JVMCI and INCLUDE_AOT + S8202563: BigInteger/BigDecimal not immune to overflow, contrary to spec + S8202564: java/lang/management/ThreadMXBean/ThreadCounts.java fails + S8202565: C1 compilation crashes with "assert(is_double_stack() && !is_virtual()) failed: type check" + S8202575: Remove java/lang/String/nativeEncoding/ /StringPlatformChars.java from ProblemList + S8202581: failure_handler: gather more environment information on macOS + S8202582: DateTimeFormatterBuilder.parseOffsetBased unnecessarily calls toString() + S8202583: Remove experimental ClassForNamePlugin + S8202584: de-problem list tools/javac/jvm/VerboseOutTest + S8202591: Remove usage of CMSEdenChunksRecordAlways in defNewGeneration.cpp + S8202592: Remove unused EvacuateFollowersClosure + S8202597: javac is not inducing a notional interface if Object appears in an intersection type + S8202599: Mark intermittently failing jshell tests + S8202606: Deprecate AllowNonVirtualCalls option + S8202631: JVM_Clone to throw CloneNotSupportException for Reference object + S8202634: Metaspace: simplify SpaceManager lists + S8202639: Use concrete Generation classes in SerialHeap and CMSHeap + S8202640: Small C1 cleanups for BarrierSetC1 + S8202641: Replace OOP_SINCE_SAVE_MARKS with templates + S8202642: Replace PAR_OOP_ITERATE with templates + S8202647: Add deduplicate_string function to CollectedHeap + S8202649: Move the Parallel GC specific task creation functions out of Threads + S8202650: Enforce group for attach listener file + S8202662: JFR tests fails: Could not find leak with class + S8202672: Build failed in metaspace.cpp with VS2017 + S8202676: AArch64: Missing enter/leave around barrier leads to infinite loop + S8202684: Minimal VM build is broken after JDK-8199067, JDK-8202638 + S8202686: Missing test case for 8200167 - final Object methods + S8202690: jdk/jshell/ToolBasicTest.java failed in testOpenFileOverHttp() and testOpenLocalFileUrl() + S8202709: Move oopDesc::is_archive_object to MetaspaceShared::is_archive_object + S8202711: Merge tiered compilation policies + S8202719: Use Collections.emptyEnumeration where possible + S8202722: Move marksweep_init into GC code + S8202744: Expired flag removal for JDK 11 + S8202780: Remove EnqueueTask related code from ReferenceProcessor after JDK-8202017 + S8202781: Fix typo in DiscoveredListIterator::complete_enqeue + S8202810: Remove class-for-name test + S8202816: Update JarSigning.keystore - Removed patch: * aarch64-infinite-loop.patch - Integrated upstream - Modified patch: * java11-improved-fonts.patch - Rediff to changed context- Fix s390x build, since INCLUDE_SA is false by default on this architecture- Added patch: * aarch64-infinite-loop.patch + Fix inifinite loop in aarch64 build- Update fix_armv6_build.patch- Update to upstream tag jdk-11+12 * Fixes: + S6672778: G1 should trim task queues more aggressively during evacuation pauses + S8154204: [TESTBUG] Update DefaultUseWithClient test to handle client-less builds + S8174994: SA: clhsdb printmdo throws WrongTypeException when attached to a process with CDS + S8179071: Month value is inconsistent between CLDR and Java in some locales + S8179887: Build failure with glibc >= 2.24: error: 'int readdir_r(DIR*, dirent*, dirent**)' is deprecated + S8181157: CLDR Timezone name fallback implementation + S8182731: Odd handling of -XX:-UseAppCDS and - XX:SharedArchiveFile. + S8191471: Elastic TLABs for G1 + S8191798: redo nested ThreadsListHandle to drop Threads_lock + S8193213: Make the UseAppCDS option obsolete. + S8197959: [TESTBUG] Some (App)CDS tests require modification due to the removal of the Java EE and CORBA modules + S8197960: [TESTBUG] remove/modify runtime tests which use java ee or corba modules + S8199375: [TESTBUG] Open source vm testbase monitoring tests + S8199643: [TESTBUG] Open source common VM testbase code + S8200167: Validate more special case invocations + S8200235: Generalize jniFastGetField jobject/jweak resolve + S8200466: Revisit the setting of _transitive_interfaces in InstanceKlass + S8200478: For boxing conversion javac uses Long.valueOf which does not guarantee caching according to its javadoc + S8201367: assert(current != first_mem) failed: corrupted memory graph in superword code + S8201509: Zero: S390 31bit atomic_copy64 inline assembler is wrong + S8201542: Remove unused _gc_timer field in GCMemoryManager + S8201543: Modularize C1 GC barriers + S8201545: InetAddress.getByName/getAllByName should clarify empty String behavior + S8201622: Reduce unnecessary Package.complete() calls in javadoc + S8201634: Random seedUniquifier uses incorrect LCG + S8201650: Move iteration order randomization of unmodifiable Set and Map to iterators + S8201786: Modularize interpreter GC barriers: leftovers for ARM32 + S8201817: Taglet.init should be called with the "primary" doclet + S8202082: Remove explicit CMS checks in CardTableBarrierSetAssembler + S8202105: Console echo is disabled when exiting jshell + S8202130: [TESTBUG] Some appcds regression test cases fail with "Error: VM option 'PrintSystemDictionaryAtExit' is notproduct and is available only in debug version of VM" + S8202140: TLAB logging is not correct for G1 + S8202150: [REDO] Split globals.hpp to factor out the Flag class + S8202179: Compilation fails with assert(n->is_expensive()) failed: expensive nodes with non-null control here only + S8202186: AArch64: Debug build VM crashes with PrintC1Statistics option + S8202200: set INCLUDE_SA to false on s390x by default + S8202204: Rename hotspot runtime jtreg constantPool ConstantPool directories + S8202230: Provide accessors for JNIHandles storage objects + S8202261: (fc) FileChannel.map and RandomAccessFile.setLength should not preallocate space + S8202273: [AOT] Graal does not support the CMS collector + S8202284: FileChannel and FileOutpuStream variants of AtomicAppend should fail silently on macOS >= 10.13 + S8202324: Avoid loading FileInput-/OutputStream$AltFinalizer + S8202325: [aix] disable warnings-as-errors by default + S8202330: Add Unreferenced{FOS,FIS,RAF}ClosesFd to problem list + S8202334: Update javax.lang.model.util visitors for 11 + S8202364: Add GCConfig::hs_err_name() to avoid GC-specific code in error reporting + S8202366: Add macro for common loop in GCConfig + S8202367: AIX build broken after JDK-8201543 + S8202372: Diagnostic with incorrect line info generated when compiling lambda expression + S8202373: Forcing eager initialization of CHM$ReservationNode avoids deoptimization + S8202379: ARM32 is broken after JDK-8201543 (Modularize C1 GC barriers) + S8202381: (Solaris) SIGBUS in # V [libjvm.so+0xcee494] jni_GetIntField+0x224 + S8202382: Filter docs modules + S8202383: Custom extensions for jvmti doc + S8202397: Typo in X-Buffer javadoc + S8202398: Optimize Arrays.deepHashCode + S8202399: [C1] LIRGenerator::do_CheckCast needs to exclude is_invokespecial_receiver_check() when using PatchAlot + S8202417: [TESTBUG] Broken hard-coded dependency in serviceability/sa/ClhsdbJhisto.java + S8202418: Remove explicit CMS checks in CardTableBarrierSetAssembler: ARM32 leftovers + S8202419: Avoid creating Permission constants early + S8202423: Small HTTP Client refresh + S8202425: [s390] C2: Wrong unsigned comparison with 0 + S8202452: Delete test files missed from commit for 8193213 & 8182731. + S8202484: Unused field in TimeZone + S8202505: ctw2 tasks are timing out in hs-tier3 + S8202507: Remove IO and NIO AtomicAppend tests from problem list + S8202520: JShell tests: move intermittently failing tests to tier2- Remove armv6 and armv7 overwrite conditions in _constraints to avoid OOM errors- Update to upstream tag jdk-11+11 * Fixes: + S6341887: java.util.zip: Add ByteBuffer methods to Inflater/Deflater + S6805750: Improve handling of Attributes.Name + S8025091: VisibleMemberMap.java possible performance improvements + S8081519: Split globals.hpp to factor out the Flag class + S8144806: sun/security/tools/keytool/standard.sh fails intermittently at deleting x.jks + S8154528: Reclaim regions emptied by marking in Remark pause + S8157543: java/nio/channels/Selector/SelectAndCancel.java fails intermittently + S8161991: java/nio/channels/AsynchronousSocketChannel/Basic.java failed due to RuntimeException: WritePendingException expected + S8171404: java/nio/channels/AsynchronousSocketChannel/Basic.java failed with "AsynchronousCloseException expected" + S8178105: Switch mark bitmaps during Remark + S8178825: unused variable threadObj in jvmci_counters_include + S8184693: add Pattern.isEmpty + S8187490: HotSpotGraalMBean should be moved to Graal management module + S8187496: Possible memory leak in java.apple.security.KeychainStore.addItemToKeychain + S8188105: Make -Xshare:auto the default for server VM + S8190227: Forward port 8188880 to JDK10CPU + S8192789: Avoid using AtomicReference in sun.security.provider.PolicyFile + S8193524: Redefining a method that removes use of 1 or more lambda expressions causes the JVM to hang + S8196071: Change G1 Full GC heap and thread sizing ergonomics + S8196325: GarbageCollectionNotificationInfo has same information for before and after + S8196433: use the new error diagnostic approach at javac.Main + S8196540: [Testbug] java/security/AccessController/ /DoPrivAccompliceTest.java doesn't handle unrelated warnings + S8198756: Lazy allocation of compiler threads + S8198793: Add launcher support for preview features + S8198816: AbstractScriptEngine.getScriptContext creation of SimpleScriptContext is inefficient + S8198890: The standard doclet incorrectly produces wrong method signatures in certain cases. + S8199193: jshell tool: Add support for preview features + S8199519: Several GC tests fails with: java.lang.NumberFormatException: Unparseable number: "-" + S8199755: Update Graal + S8200101: sun/security/krb5/auto/Renewal.java fails intermittently + S8200196: [Graal] implement Object.notify/notifyAll intrinsics + S8200303: C2 should leverage profiling for lookupswitch/tableswitch + S8200426: Make G1 code use _g1h members + S8200450: Root cause analysis for JDK-8200366 + S8200477: Integer dot product no longer autovectorised + S8200555: OopHandle should use Access API + S8200556: AArch64: assertion failure in slowdebug builds + S8200723: Suppress rs_length and predicted_cards sampling during mixed gcs + S8200730: Fix debug=gc+phases time tracking in Remark and Cleanup + S8201172: Parallelize Remset Tracking Update Before Rebuild phase + S8201226: missing JNIEXPORT / JNICALL at some places in function declarations/implementations + S8201259: Fix warning with VS2017 in jdk.pack + S8201281: Truncated error message with Incompatible : null + S8201315: (se) Allow SelectableChannel.register to be invoked while selection operation is in progress + S8201368: IfNode::fold_compares() may lead to incorrect execution + S8201369: Inet4AddressImpl_getLocalHostName reverse lookup on Solaris only + S8201466: Nashorn: defineProperty setters/getters on prototype object ignored with numeric property names + S8201487: Do not rebalance reference processing queues if not doing parallel reference processing + S8201490: Improve concurrent mark keep alive closure performance + S8201505: Use WeakHandle for ProtectionDomainCacheTable and ResolvedMethodTable + S8201510: Merge TwoStacksPlainSocketImpl into DualStackPlainSocketImpl [win] + S8201520: AsynchronousSocketChannel/Basic.java timeout intermitently + S8201527: Bump default value of G1RefProcDrainInterval + S8201536: configure fails compiler check due to bad -m32 flag + S8201537: Remove is_alive closure from Klass::is_loader_alive() + S8201540: [AIX] Extend the set of supported charsets in java.base + S8201556: Disallow reading oops in ClassLoaderData if unloading + S8201596: java.lang.ref.Reference processing total time logging broken + S8201597: AArch64: Update relocs for CompiledDirectStaticCall + S8201616: Hotspot crashes on linux-sparc after 8189941 + S8201646: Introduce ReferenceDiscoverer interface + S8201647: Make initial clearing of CHeapBitMap optional + S8201649: Remove dubious call_jio_print in ostream.cpp + S8201766: Mark TimSortStackSize2.java as intermittently failing + S8201785: Make ModRefBarrierSetAssembler abstract on all platforms + S8201788: Number of make jobs wrong for bootcycle-images target + S8201794: [Graal] fix regressions from JDK-8187490 + S8201799: Build failures after JDK-8195099 (Concurrent safe-memory-reclamation mechanism) + S8201800: Add support for adjusting heap addresses in a TLAB + S8201826: G1: Don't invoke WeakProcessor if mark stack has overflowed + S8201850: [AOT] vm crash when run test compiler/aot/fingerprint/SelfChangedCDS.java + S8202000: AIX build broken after JDK-8195099 + S8202037: Split slow ctw_1 tests + S8202052: Disable warnings when building libawt with VS2017 + S8202060: Add javax/net/ssl/DTLS/CipherSuite.java to ProblemList + S8202062: Put FileChannel and FileOutpuStream variants of AtomicAppend on problem list + S8202070: Cleanup code after JDK-8200450, JDK-8200366 + S8202073: MetaspaceAllocationTest gtest shall lock during space creation + S8202074: Metaspace: If humongous chunk is added to SpaceManager, previous current chunk may not get retired correctly. + S8202075: Crash when running compiler/codecache/OverflowCodeCacheTest.java + S8202079: [s390]: Build failure w/o precompiled headers + S8202081: Introduce CollectedHeap::is_oop() + S8202091: Rename DualStackPlainSocketImpl to PlainSocketImpl [win] + S8202134: Non-PCH build for arm32 fails + S8202141: Unique symbols for .class + S8202151: [BACKOUT] Split globals.hpp to factor out the Flag class + S8202152: test/hotspot/jtreg/runtime/whitebox/WBStackSize.java fails + S8202154: Remove unused code in java.base/windows/native/libnet + S8202155: quarantine test com/sun/jdi/JdbExprTest.sh on all platforms + S8202157: remove the use of string keys at InapplicableMethodException + S8202164: Remove some unneeded BoolObjectClosure* is_alive parameters + S8202169: Reduce ctw_2 duration by parallelizing CtwRunner invocations + S8202184: Reduce time blocking the ClassSpecializer cache creating SpeciesData + S8202210: jlink uses little-endian for big-endian cross-compilation targets + S8202276: Update test/hotspot/jtreg/ProblemList-graal.txt - Removed patch: * bootcycle_jobs.patch + Integrated upsteam- Update to upstream tag jdk-11+10 (April 2018 CPU) * Security fixes: + S8194238: Trying exceptions in MethodHandles (CVE-2018-2826, bsc#1090197) + S8194233: Improve support for array handles (CVE-2018-2825, bsc#1090196) + S8192025: Less referential references (CVE-2018-2814, bsc#1090032) + S8189997: Enhance keystore mechanisms (CVE-2018-2794, bsc#1090024) + S8189977: Improve permission portability (CVE-2018-2795, bsc#1090025) + S8189993: Improve document portability (CVE-2018-2799, bsc#1090029) + S8189989: Improve container portability (CVE-2018-2798, bsc#1090028) + S8189985: Improve tabular data portability (CVE-2018-2797, bsc#1090027) + S8189981: Improve queuing portability (CVE-2018-2796, bsc#1090026) + S8189969: Manifest better manifest entries (CVE-2018-2790, bsc#1090023) * Security-In-Depth fixes: + S8182362: Update CipherOutputStream Usage + S8183032: Upgrade to LittleCMS 2.9 + S8189123: More consistent classloading + S8190478: Improved interface method selection + S8190877: Better handling of abstract classes + S8191696: Better mouse positioning + S8192030: Better MTSchema support + S8193409: Improve AES supporting classes + S8193414: Improvements in MethodType lookups * Fixes: + S8009632: (fs) FileStore.supportsFileAttributeView does not detect user_xattr enabled on ext4 + S8049695: nsk/jdb/options/connect/connect003 fails with "Launched jdb could not attach to debuggee during 300000 milliseconds" + S8057732: sun/jvmstat/monitor/MonitoredVm/ /MonitorVmStartTerminate.java: Invalid PerfMemory size + S8078221: java/rmi/Naming/DefaultRegistryPort.java fails intermittently + S8151171: Bring g1ConcurrentMark files up to current coding conventions + S8152821: Merge jdk.internal.misc.JavaSecurityAccess and jdk.internal.misc.JavaSecurityProtectionDomainAccess shared secrets + S8175075: Add 3DES to the default disabled algorithm security property + S8180415: Rebuild remembered sets during the concurrent cycle + S8183238: Obsolete CheckEndorsedAndExtDirs and remove checks for lib/endorsed and lib/ext + S8184692: add Pattern.asMatchPredicate + S8186032: Disable XML Signatures signed with EC keys less than 224 bits + S8187472: AARCH64: array_equals intrinsic doesn't use prefetch for large arrays + S8189101: AARCH32 - 'minimal' build fails because CMS bits are referred unconditionally + S8189765: Improve error reporting for compiling against package not visible due to modules + S8191101: Show register content in hs-err file on assert + S8191358: Restore TSA certificate expiration check + S8193067: gc/g1/TestVerifyGCType.java still unstable + S8194259: keytool error: java.io.IOException: Invalid secret key format + S8194260: Point-to-point interface should be excluded from java/net/ipv6tests/* + S8194734: Handle to jimage file inherited into child processes (win) + S8194750: Console.readPassword does not save/restore tty settings + S8194812: Extend class-data sharing to support the module path + S8195099: Concurrent safe-memory-reclamation mechanism + S8195662: Add T6587786.java to problem list before JDK-8195589 is resolved + S8195972: Refactor oops in JNI to use the Access API + S8196289: Update src/java.desktop/share/legal/lcms.md for LCMS 2.9 + S8196485: FromCardCache default card index can cause crashes + S8196516: libfontmanager must be built with LDFLAGS allowing unresolved symbols + S8196865: G1 log for active workers is wrong + S8197441: Signature#initSign/initVerify for an invalid private/public key fails with ClassCastException for SunPKCS11 provider + S8197443: ArrayIndexOutOfBoundsException in UcryptoException.getError + S8197564: HTTP Client implementation + S8197569: Refactor eager reclaim for concurrent remembered set rebuilding + S8197570: Make rules for choosing collection set candidates more explicit + S8197573: Remove concurrent cleanup and secondary free list handling + S8197850: Calculate liveness in regions during marking + S8197928: Only enqueue deferred cards with references into regions that have a tracked remembered set during GC + S8197931: Null pointer dereference in Unique_Node_List::push of node.hpp:1510 + S8197932: Better split work in rebuild remembered sets phase + S8197972: Always verify non-system classes during CDS dump time + S8198240: Allow cacerts test to pass when GTECyberTrust root expires + S8198313: Wrap holder object for ClassLoaderData in a WeakHandle + S8198335: java/awt/FullScreen/UninitializedDisplayModeChangeTest/ /UninitializedDisplayModeChangeTest.java fails in headless mode + S8198393: Instrumentation.retransformClasses() throws NullPointerException when handling a zero-length array + S8198655: test/lib/jdk/test/lib/apps/LingeredApp shouldn't inherit cout/cerr + S8198691: CodeHeap State Analytics + S8198760: Move global lock SpaceManager::_expand_lock to MutexLocker.cpp + S8198908: Add JVM support for preview features + S8198915: [Graal] 3rd testcase of compiler/types/ /TestMeetIncompatibleInterfaceArrays.java takes more than 10 mins + S8198950: AArch64: org.openjdk.jcstress.tests.varhandles.DekkerTest fails + S8199007: ClassLoaderDataGraph::unload_list_contains() is wrong + S8199194: Add javac support for preview features + S8199326: Remove G1 gc time stamp logic + S8199360: Rework the support for the 'ignored' module options in CDS + S8199406: Performance drop with Java JDK 1.8.0_162-b32 + S8199417: Modularize interpreter GC barriers + S8199619: Building HotSpot on Windows should define NOMINMAX + S8199627: Use "Per-Monitor V2" High DPI awareness for Windows 10 v1703 + S8199717: Avoid calculating primordial thread stack bounds on VM startup + S8199735: Mark word updates need to use Access API + S8199736: Define WIN32_LEAN_AND_MEAN before including windows.h + S8199742: Clean up state flags in G1CollectorState + S8199780: SetMemory0 and CopyMemory0 in unsafe.cpp need to resolve their operands + S8199781: Don't use naked == for comparing oops + S8199782: Fix compilation warnings detected by Solaris Developer Studio 12.6 + S8199793: [Graal] runtime/CommandLine/ /PrintTouchedMethods.java crashes with assertion "reference count underflow for symbol" + S8199813: SIGSEGV in ThreadsList::includes() + S8199850: Move parsing of VerifyGCType to G1 + S8199918: Shorten names of CollectedHeap::Name members + S8199925: Break out GC selection logic from GCArguments to GCConfig + S8199927: Make WhiteBox more GC agnostic + S8199946: Move load/store and encode/decode out of oopDesc + S8200067: Add support for vpclmulqdq for crc32 + S8200074: Remove G1ConcurrentMark::_concurrent_marking_in_progress + S8200078: [Graal] runtime/appcds/GraalWithLimitedMetaspace.java crashes in visit_all_interfaces + S8200091: [TESTBUG] Update jittester for jdk11 + S8200105: Remove cyclic dependency between oop.inline.hpp and collectedHeap.inline.hpp + S8200106: Move NoSafepointVerifier out from gcLocker.hpp + S8200111: MallocArrayAllocator::free should not take a length parameter + S8200113: Make Access load proxys smarter + S8200126: [TESTBUG] Open source VM runtime signal tests + S8200149: The "com.sun.awt.AWTUtilities" class can be dropped + S8200168: Remove DONT_USE_REGISTER_DEFINES on Sparc + S8200169: Flatten G1Allocator class hierarchy + S8200187: Exclude 3 long-running tests from tier1 + S8200195: serviceability/jvmti/FieldAccessWatch/ /FieldAccessWatch.java crashes with "assert(thread->thread_state() == _thread_in_native) failed: coming from wrong thread state" + S8200197: Zero fails to build after 8200105 + S8200202: Remove unused _boot_modules_array and _platform_modules_array from classLoader.*. + S8200203: Missing platform definitions for ia64 + S8200227: [Graal] Test times out with Graal due to low compile threshold + S8200228: Change default value of HeapSizePerGCThread + S8200230: [Graal] Compilations should not be enqueued before Graal is initialized + S8200232: Build failures after JDK-8200106 (Move NoSafepointVerifier out from gcLocker.hpp) + S8200233: Simple G1 evacuation path performance enhancements + S8200234: Cleanup Remark and Cleanup pause code + S8200238: Reduce number of exceptions created when calling MemberName$Factory::resolveOrNull + S8200245: Zero fails to build on linux-ia64 due to ia64-specific cruft + S8200246: AIX build fails after adjustments of src/hotspot/share/trace/traceEventClasses.xsl + S8200251: AArch64::CPUFeature out of sync with VM_Version::Feature_Flag + S8200255: Remove G1CMTask::_concurrent + S8200261: Regression with JVM anonymous class + S8200276: Cleanup allocation.hpp includes + S8200290: Scratch buffer creation fails with "assert(!current_thread_in_native()) failed: must not be in native" on SPARC + S8200292: Move PushAndMarkVerifyClosure::do_oop_work to concurrentMarkSweepGeneration.cpp + S8200297: Build failures after JDK-8198691 (CodeHeap State Analytics) + S8200299: Non-PCH build for aarch64 fails + S8200302: ppc, s390 (non-pch) build errors + S8200305: Update gc,liveness output with remset state after rebuild remset concurrently changes + S8200343: Minor JViewport documentation typo + S8200360: MeetIncompatibleInterfaceArrays fails with "MeetIncompatibleInterfaceArrays0ASM.run() must be compiled at tier 0 !" + S8200362: G1Mux2Closure should disable implicit oop verification + S8200366: SIGSEGV in CodeHeapState::print_names() + S8200371: In g1, rename ConcurrentMarkThread to G1ConcurrentMarkThread + S8200374: Add ThreadsSMRSupport::verify_hazard_pointer_scanned() to verify threads_do(). + S8200383: Can't build on SPARC Hotspot with code which use math functions + S8200384: jcmd help output should be sorted + S8200385: Eagerly reclaimed humongous objects leave mark in prev bitmap + S8200391: clean up test/hotspot/jtreg/ProblemList.txt (compiler related) + S8200423: Non-PCH build for x86_32 fails + S8200424: Windows build fails due to implicit jboolean to bool conversion + S8200429: Adjust object pinning interface on CollectedHeap + S8200438: Non-PCH x86_32 build failure: err_msg is not defined + S8200461: MeetIncompatibleInterfaceArrays test fails with - Xcomp + S8200468: Port the native GSS-API bridge to Windows + S8200524: AArch64: CPUFeature and Flag enums are not passed through JVMCI + S8200525: test java/awt/event/SequencedEvent/SequencedEventTest.java fails to compile + S8200526: Test sun/java2d/marlin/ClipShapeTest.java times out + S8200550: Xcode 9.3 produce warning -Wexpansion-to-defined + S8200607: Add missing include dependency in bitMap.hpp + S8200608: Build failures after JDK-8191101 (Show register content in hs-err file on assert) + S8200626: Restore history for g1ConcurrentMarkThread.* + S8200627: aarch32 - Broken build after JDK-8198949 + S8200628: aarch32 - Broken build after JDK-8199809 + S8200630: Globally suppress Visual Studio warning C4351 + S8200697: Add utility for spin wait with fallback to yield/sleep + S8200719: Cannot connect to IPv6 host when exists any active network interface without IPv6 address + S8200735: Move CMS specific code from binaryTreeDictionary and freeList to CMS files + S8200736: Move CMSGCStats to the cms directory + S8200737: Move GC code out of Arguments::check_vm_args_consistency into GCArguments + S8200759: Move GC entries in vmStructs.cpp to GC specific files + S8201136: Move GC flags from globals.hpp to GC specific files + S8201167: Remove MacroAssembler::cmp_heap_oop on x86 + S8201168: Move GC command line constraint functions to GC specific files + S8201171: Cleanup in g1CollectedHeap, change CamelCase to snake_case + S8201175: Move FilteringClosure::do_oop to genOopClosures + S8201185: AARCH64: bfm instruction encoding hits assert on zero register + S8201209: Separate out CMS specific functions into CMSCardTable + S8201212: Remove INCLUDE_ALL_GCS from OopStorage files + S8201213: Remove INCLUDE_ALL_GCS from memset_with_concurrent_readers + S8201217: Split specialized_oop_closures.hpp into GC specific files + S8201218: PPC64: Avoid use of yield instruction on spinlock + S8201227: Add ALL_GCS_ONLY + S8201240: Improve releasing native resources of BufImgSurfaceData.ICMColorData + S8201242: Include source file/line number when reporting native call stack on supported platforms + S8201244: Clean out unnecessary includes of heap headers + S8201247: Various cleanups in the attach framework + S8201265: Native memory leak in ClassLoader::add_to_exploded_build_list + S8201316: Move G1-related static members from JavaThread to G1BarrierSet + S8201318: Introduce GCThreadLocalData to abstract GC-specific data belonging to a thread + S8201321: NMT: Unnecessary re-recording thread stack and size when attaching listener to JavaThread + S8201330: Add java/lang/management/ThreadMXBean/ /ThreadMXBeanStateTest.java to the ProblemList + S8201334: Move runtime/NMT/MallocStressTest.java to hotspot_tier3_runtime + S8201359: Incorrect header guards after JDK-8198949 (Modularize arraycopy stub routine GC barriers) + S8201362: Remove CollectedHeap::barrier_set() + S8201365: Remove G1Policy::should_process_references() + S8201370: GC specific data is referred from common precompiled headers and defNewGeneration.cpp + S8201427: Fix Minimal VM builds on Linux x64 + S8201430: [TESTBUG] Remove script from runtime/6626217 + S8201442: objArrayOopDesc::atomic_compare_exchange_oop() must use obj+offset in HeapAccess call + S8201443: NoSuchMethodException JarFile.open when jar file is used in classpath + S8201450: Provide access to LogHandle tagset + S8201474: (so) Socket adaptor connect(InetAddress, timeout) succeeds when connection fails + S8201475: 8199417 breaks AIX and non-pch on s390 (and presumably aarch64) + S8201480: ISA/CPU feature detection code crashes on linux-sparc + S8201483: Make it possible to disable JVM features + S8201494: Avoid early initialization of java.nio.Bits + S8201495: [Zero] Reduce limits of max heap size for boot JDK on s390 + S8201498: test/langtools/tools/javac/diags/CheckExamples.java 6 errors occurred + S8201507: Generate alias entries in j.t.f.ZoneName from tzdb at build time + S8201508: Macosx builds fail in GenerateLinkOptData.gmk + S8201554: Disable failing tier1 test for JDK-8201498 + S8201584: Fix configure on SLES 11 after 8201483 + S8201591: JVM features with "-" in name is not correctly handled + S8201609: Split test/jdk/:tier2 to enable better parallel execution - Removed patch * fix-arm-build.patch + Integrated upstream - Modified patch: * memory-limits.patch + Rediff with changes in the right files- Fix armv6 build with fix_armv6_build.patch- Update to upstream tag jdk-11+9 * Fixes + S8071367: JMX: Remove SNMP support + S8164781: Pattern.asPredicate specification is incomplete + S8178867: tools/jlink/multireleasejar/ /JLinkMultiReleaseJarTest.java failed to clean up files + S8180570: Refactor sun/security/mscapi shell tests to plain java tests + S8188897: java/rmi/registry/reexport/Reexport.java failed with Port already in use + S8189784: Parsing with Java 9 AKST timezone returns the SystemV variant of the timezone + S8190333: sun/security/ssl/X509KeyManager/PreferredKey.java failed with "Failed to get the preferable key aliases" + S8196200: Implement a navigation builder in javadoc + S8196724: Change macosx deployment target to 10.9 + S8196750: [Testbug] tools/launcher tests need to tolerate unrelated warnings + S8196775: java/net/Socket/asyncClose/Race.java failed intermittently on Windows with ConnectException: Connection refused + S8197418: Move java/util/RandomAccess/ tests into OpenJDK + S8197531: Miscellaneous changes imported from jsr166 CVS 2018-04 + S8199539: Provide a standard way for the build to filter un-needed legal .md files + S8199608: Clean up LDFLAGS for libfontmanager + S8199744: Incorrect compiler message for ReceiverParameter in inner class constructor + S8199875: Require first parameter type of a condy bootstrap to be Lookup + S8200125: Fix some classloader/module typos + S8200127: Replace collection.stream().forEach() with collection.forEach() + S8200128: Fix some "annoations" typos + S8200131: Improve lazy init of InetAddress.canonicalHostName and NativeObject.pageSize + S8200134: Improve ModuleHashesBuilder + S8200152: KerberosString should use UTF-8 by default + S8200258: Improve CopyOnWriteArrayList subList code + S8200298: Unify all unix versions of libjsig/jsig.c + S8200358: Remove mapfiles for JDK executables + S8200359: (tz) Upgrade time-zone data to tzdata2018d + S8200458: (se) Readiness information previously recorded in the ready set not preserved + S8200520: forkjoin tasks interrupted after shutdown + S8200583: (se) Selector clean-up, part 4 + S8200664: fix broken links in java.base docs + S8200706: Better cleanup for open/test/jdk/java/lang/ /ProcessBuilder/DestroyTest.java + S8200727: linux-aarch64 profile should use bundled freetype + S8200728: Docs (Comparison of Stack and Deque methods) for Deque is not correct + S8200788: Optimal initial capacity of java.lang.VarHandle.AccessMode.methodNameToAccessMode + S8200792: PKCS12Attribute#hashCode is always constant -1 + S8200888: typo in name of exception in @throws + S8201178: Remove sun.nio.cs.FastCharsetProvider + S8201179: Regression due loading java.nio.charset.StandardCharsets during bootstrap + S8201194: Handle local variable declarations in lambda deduplication + S8201221: JDK-8199608 introduced a build race on macosx + S8201222: JDK-8199539 broke the OpenJDK build + S8201236: Straighten out dtrace build logic + S8201246: Export native function to set platform encoding + S8201251: The tests for JDK-8187247 should be under test/langtools + S8201263: Trailing backslash in VS120COMNTOOLS leads to ugly error message when running tests + S8201267: Disable warnings for VS2017 to enable building + S8201320: Allow PrintFailureReports to be turned off + S8201327: Make Sensor deeply immutably thread safe + S8201328: SynthParser should use Boolean.parseBoolean + S8201348: ProblemList update for bugid associated with SSLSocketParametersTest.sh + S8201357: ALSA_CFLAGS is needed; was dropped in JDK-8071469 + S8201396: fix broken links generated by javadoc doclet + S8201439: Enable linux-arm-vfp-hflt profile to be configured with jib again + S8201440: javac should create unique DynamicMethodSymbols at LambdaToMethod - Modified patches: * java11-improved-fonts.patch + Rediff to changed context * fix-arm-build.patch + Use upstream fixes- Modified patch: * fix-arm-build.patch + fix more duplicate commas in headers- Update to upstream tag jdk-11+8 * Fixes + S4954348: JPGWriter.getNumThumbnailsSupported does not return - 1 when passing null values + S8074286: Add getSelectedIndices() to ListSelectionModel + S8178370: [TEST_BUG] java/security/Signature/SignatureLength.java fails + S8191957: JFileChooser shows empty name for external drives shown under Desktop + S8193032: Remove terminally deprecated SecurityManager APIs + S8195649: reorganize tests for java.util.Optional + S8198314: javac hidden options violate standard syntax for options + S8198801: JShell: user exception chained cause not retained + S8198885: upgrade Marlin (java2d) to 0.9.1 + S8198990: Move SwingSet2 from closed to OpenJDK + S8199176: Accessibility issues in java.base docs + S8199800: Optimize Boolean.parseBoolean(String) + S8199947: Rename HTML element id in ClassLoader javadoc to avoid name conflict with private elements + S8200200: test java/awt/image/ColorModel/Non_sRGBCMTest.java fails with open profiles + S8200257: (se) More Selector cleanup + S8200267: a.out created at top dir by Solaris build + S8200364: Remove unnecessary boxing via primitive wrapper valueOf(String) methods + S8200375: Change to GCC 7.3.0 for building Linux at Oracle + S8200469: Update link to license in Docs.gmk + S8200538: cl : Command line warning D9014 : invalid value '2220' for '/wd' + S8200586: Update JDK11 release date to 2018-09-25 + S8200658: Fix incremental builds of hotspot on solaris + S8200696: Optimal initial capacity of java.lang.Class.enumConstantDirectory + S8200703: Problem list jdk/jshell/ExceptionsTest.java fails on windows- Added patch: * fix-arm-build.patch + fix a duplicate comma in a header- Update to upstream tag jdk-11+7 * Fixes: + S4912693: Behavior of null arguments not specified in Java Sound + S6686236: GIF native IIOMetadata assumes characterCellWidth/Height as 2bytes + S7031957: DIB header of type BITMAPV2INFOHEADER & BITMAPV3INFOHEADER is not supported in BMPImageReader + S7108280: JList.getSelectedValuesList fails if JList.setSelectionInterval larger than list + S7158623: Should an unfocusable maximized Frame be resizable + S8071282: remove misc dead code + S8071469: Cleanup include and exclude of sound native libraries + S8140359: get_locked_message_ext() should return Flag::MsgType + S8144300: http.nonProxyHosts value having wildcard * both at end and start are not honored + S8146201: [AOT] Class static initializers that are not pure should not be executed during static compilation + S8152974: AWT hang occurrs when sequenced events arrive out of sequence + S8153333: [REDO] STW phases at Concurrent GC should count in PerfCounte + S8159850: Remove unneeded parsing of optional-size when parsing array types + S8166642: serviceability/dcmd/framework/* timeout + S8170541: serviceability/jdwp/AllModulesCommandTest.java fails intermittently on Windows and Solaris + S8173070: Remove ValueObj class for allocation subclassing for runtime code + S8173100: AArch64: -XX:-UseOnStackReplacement does not work together with -XX:+TieredCompilation + S8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC + S8180410: ByteArrayOutputStream should not throw IOExceptions + S8180451: ByteArrayInputStream should override readAllBytes, readNBytes, and transferTo + S8191102: Incorrect include file use in classLoader.hpp + S8191418: List.of().indexOf(null) doesn't throw NullPointerException + S8191585: VM anonymous classes created during CDS dump time cause crash + S8191924: Adjust DelegatingClassLoader's metadata space sizing algorithm + S8191954: AArch64: disable UseCISCSpill in C2 + S8193128: Reduce number of implementation classes returned by List/Set/Map.of() + S8193130: Bad graph when unrolled loop bounds conflicts with range checks + S8193266: AArch64: TestOptionsWithRanges.java SIGSEGV + S8193369: post_field_access does not work for some functions, possibly related to fast_getfield + S8193429: "assert(false) failed: GetModuleFileName failed (126)" in symbolengine.cpp + S8193434: [GRAAL] Graal classes are not loaded with - Xshare:dump + S8194054: [TESTBUG] Test runtime/CommandLine/ /OptionsValidation/TestOptionsWithRanges.java failed with - 1073740940 (FFFFFFFFC0000374) + S8194490: [JVMCI] Move `iterateFrames` to C++ + S8194746: (fs) Add equivalents of Paths.get to Path interface + S8194759: Support caching class mirror objects. + S8194978: Javac produces dead code for try-with-resource + S8195095: Images are not scaled correctly in JEditorPane + S8195109: ServiceUtil::visible_oop is not needed anymore + S8195148: Collapse G1SATBCardTableModRefBS and G1SATBCardTableLoggingModRefBS into a single G1BarrierSet + S8196028: JMX: Not enough JDP packets received before timeout + S8196121: runtime/appcds/ClassLoaderTest.java fails silently + S8196294: LoopStripMiningIterShortLoop is set to zero by default + S8196337: Add commit methods that take all event properties as argument + S8196399: Formatting a decimal using locale-specific grouping separators causes ArithmeticException (division by zero). + S8196519: Incomplete classpath causes infinite recursion in Resolve.isAccessible + S8196590: Enable docker container related tests for linux AARCH64 + S8196626: [Graal] runtime/appcds/UseAppCDS.java crashes with "VM thread using lock Heap_lock (not allowed to block on)" + S8196668: revisit test SunPackageAccess and GrantedSunPackageAccess + S8196876: OopStorage::assert_at_safepoint clashes with assert_at_safepoint macros in g1CollectedHeap.hpp + S8197235: src/hotspot/share/jvmci/jvmciCompilerToVM.cpp takes 4 minutes to compile on windows + S8197405: Improve messages of AbstractMethodErrors and IncompatibleClassChangeErrors. + S8197429: Increased stack guard causes segfaults on x86-32 + S8197554: Create test for SwingSet TableDemo + S8197595: Serialization javadoc should link to security best practices + S8197842: Remove unused macros VM_STRUCTS_EXT and VM_TYPES_EXT + S8197843: Remove unused method G1EvacuationRootClosures::create_root_closures_ext + S8197844: JVMTI GetLoadedClasses should use the Access API + S8197845: Remove unnecessary method G1CollectedHeap::create_g1_policy + S8197847: Remove unused file g1ParScanThreadState_ext.cpp + S8197852: Move G1DefaultPolicy into G1Policy + S8197944: Condy tests fails on Windows + S8198243: Add build time check for global operator new/delete in object files + S8198358: Align organization of TwoStacksPlainSocketImp with DualStackPlainSocketImpl [win] + S8198423: Improve metaspace chunk allocation + S8198424: Remove G1AllocationContext + S8198430: Remove G1Allocator extension point + S8198431: Remove G1FullCollector extension point + S8198432: Remove Thread extension point + S8198433: Remove WhiteBox extension point + S8198445: Access API for primitive/native arraycopy + S8198447: Remove ClassLoaderExt::check(). + S8198510: Enable UseDynamicNumberOfGCThreads by default + S8198546: [Redo] JDK-8196883 G1RemSet::refine_card_concurrently doesn't need to check for cards in collection set + S8198552: Multiple javac plugins do not work at the same time. + S8198571: [JVMCI] must not install wide vector code unless runtime supports it + S8198591: compiler/aot/fingerprint tests should be moved to open + S8198608: Improvements to command-line flags printing + S8198649: Switch AWT/Swing's default GTK version to 3 + S8198652: Stop linking with -base:0x8000000 on Windows + S8198753: (dc) DatagramChannel throws unspecified exceptions + S8198789: [TESTBUG] CTW of java.base and java.desktop takes long time + S8198794: Hotspot crash on Cassandra 3.11.1 startup with libnuma 2.0.3 + S8198796: Create test case for CDS + condy + S8198826: -XX:+VerifyStack fails with fatal error: ExceptionMark constructor expects no pending exceptions + S8198833: TestMemoryAwareness Docker container fails with too small maximum heap + S8198845: Missing resource mark results disassembling generated code failure in hs error report + S8198894: [PPC64] More generic vector CRC implementation + S8198895: Compilation errors in java.desktop with VS 2017 + S8198896: Remove dead code: cardTableModRefBSForCTRS.hpp + S8198897: Compilation errors in jdk.accessibility with VS 2017 + S8198906: JDK-8196882 breaks VS2013 Win32 builds + S8198924: [Graal] java/lang/StackWalker/LocalsAndOperands.java timeouts with Graal + S8198926: Move ClassLoaderData::_dependencies to ClassLoaderData::_handles + S8198948: Remove unused parameter evacuation_info from G1CollectedHeap::evacuate_collection_set + S8198949: Modularize arraycopy stub routine GC barriers + S8198950: AArch64: org.openjdk.jcstress.tests.varhandles.DekkerTest fails + S8198957: Remove unused function ArgumentsExt::set_gc_specific_flags + S8198969: Update Graal + S8198987: [Graal] compiler/intrinsics/sha/sanity tests fail on macos with Graal as JIT + S8198997: Cache normalized/resolved user.dir property + S8199010: attachListener.hpp: Fix potential null termination issue found by coverity scans + S8199012: SEGV in jni_DetachCurrentThread during VM shutdown + S8199024: Remove unneccessary protected and virtual modifiers from G1CollectedHeap + S8199027: Make protected members private in G1Policy + S8199050: reenable concurrent execution of compiler tests + S8199066: [JVMCI] EagerJVMCI option should also initialize the JVMCI compiler + S8199133: [BACKOUT] NMT: Enhance thread stack tracking + S8199137: StringInternSync test crashes in exit verification + S8199212: [TESTBUG] don't run compiler/aot tests with -Xcomp + S8199219: Build failures after JDK-8195148 (Collapse G1SATBCardTableModRefBS and G1SATBCardTableLoggingModRefBS into a single G1BarrierSet) + S8199220: Zero build broken after 8195103, 8191102 and 8189871 + S8199243: aarch32: ARM 32 build broken after 8165929 + S8199263: Split interfaceSupport.hpp to not require including .inline.hpp files + S8199264: Remove universe.inline.hpp to simplify include dependencies + S8199272: Broken assertion in ClassLoaderData::remove_handle + S8199275: Fix inclusions of allocation.inline.hpp + S8199278: Javadoc search results does not link to anchors on a page + S8199282: Remove ValueObj class for allocation subclassing for gc code + S8199283: Remove ValueObj class for allocation subclassing for compiler code + S8199319: Remove handles.inline.hpp include from reflectionUtils.hpp + S8199323: hsdis could not be loaded which are located on long path + S8199328: Fix unsafe field accesses in heap dumper + S8199342: The constant pool forgets it has a Dynamic entry if there are overpass methods + S8199356: Fix hotspot to allow stdlib to use libc++ and to allow changing the deployment target to 10.9 + S8199421: Add support for vector popcount + S8199422: Hotspot build is broken after push of 8197235 + S8199425: JTReg failure: runtime/stringtable/StringTableVerifyTest.java + S8199430: Rename MetaspaceAux to something more meaningful + S8199431: Split up class Metaspace into a static and a non-static part + S8199432: metaspace: fix wrong comment and condition in SpaceManager::verify() + S8199465: {@docRoot} references need to be updated to reflect new module/package structure + S8199467: Compilation Errors in libinstrument Reentrancy.c with VS2017 + S8199472: Fix non-PCH build after JDK-8199319 + S8199489: [TESTBUG] don't run CTW tests with -Xcomp + S8199511: Do not generate g1_{pre|post}_barrier_slow_id without CardTable-enabled barrier set + S8199516: Remove dead code overlooked during Full GC work + S8199518: test/hotspot/jtreg/runtime/SelectionResolution tests take a lot longer to run with fastdebug after JDK-8198423 + S8199532: [TESTBUG] AbstractMethodErrorTest.java test failed with -Xcomp + S8199533: ProblemList tests failing after JDK-8153333 + S8199557: Assert in fromTonga/vm/runtime/defmeth/scenarios/ /Stress_noredefine/TestDescription.java + S8199559: objArrayKlass::oop_iterate() and friends must use base_raw() instead of base() + S8199561: Fix two typos in the JVMTI documentation + S8199603: Build failures after JDK-8199421 "Add support for vector popcount" + S8199604: Rename CardTableModRefBS to CardTableBarrierSet + S8199620: Support for JNI object pinning + S8199624: [Graal] Blocking jvmci compilations time out + S8199656: Make slow metaspace verifications switchable in debug builds + S8199667: Unify metaspace list index handling and reinstantiate ChunkManager listindex gtest + S8199672: ClassCastException is thrown by java.util.Formatter when an NumberFormatProvider SPI is used. + S8199674: Improve G1 Full GC array marking + S8199685: Access arraycopy build failure with GCC 7.3.1 + S8199696: Remove Runtime1::arraycopy + S8199698: Change 8199275 breaks template instantiation for xlC (and potentially other compliers) + S8199705: Docs.gmk needs to be updated to remove the -html5 option + S8199716: Unused AdjustKlassClosure in psParallelCompact.hpp + S8199728: Remove oopDesc::is_scavengable + S8199739: Use HeapAccess when loading oops from static fields in javaClasses.cpp + S8199741: NMT: Tag safepoint polling pages + S8199752: NMT: Memory allocated by Unsafe.allocateMemory should be tagged as mtOther + S8199756: Simplify language, country, script, and variant property initialization + S8199762: JShell API: Failed to detect override when snippet to be overridden has been changed before + S8199773: (bf) XXXBuffer:compareTo method is not working as expected + S8199777: Deprecate -XX:+AggressiveOpts + S8199784: PhaseIdealLoop::place_near_use() might return wrong control with loop strip mining + S8199789: Emit a warning message when t2k is selected via system property + S8199791: (se) More Selector cleanup + S8199809: Don't include frame.inline.hpp and other.inline.hpp from .hpp files + S8199843: Optimize Integer/Long.highestOneBit() + S8199870: colorimaging.md needs to remove mention of KCMS + S8199880: runtime/appcds/condy/CondyHelloTest.java missing at requires vm.cds + S8199886: gc/cslocker/TestCSLocker.java crashes + S8199896: [Graal] build Graal on all x86 platforms + S8199902: {@docRoot} references need to be updated to reflect new module/package structure + S8199910: Compiler crashes with -g option and variables of intersection type inferred by `var` + S8199924: Solaris: Correctly enqueue null arguments of attach operations + S8200071: Fix test/hotspot/jtreg/ProblemList-graal.txt + S8200072: Remove un-needed qualified export from java.base to java.desktop + S8200116: ConstructInflaterOutput, ConstructDeflaterInput still spamming test logs + S8200118: [TESTBUG] String concat tests should test toString() application order + S8200122: Remove unused field Thread.threadQ + S8200123: Replace Thread.init with telescoping constructor + S8200124: Various cleanups in jar/zip + S8200129: Remove D3D Performance Counter. + S8200135: test/hotspot/jtreg/compiler/jvmci/compilerToVM/ /GetExceptionTableTest.java is failing after JDK-8194978 + S8200136: Problem list test/hotspot/jtreg/compiler/jvmci/ /compilerToVM/GetExceptionTableTest.java + S8200174: compare.sh improvements + S8200178: Remove mapfiles for JDK native libraries + S8200179: (se) More Selector cleanup + S8200180: fix a typo in run-test framework documentation + S8200181: Remove superflous non-IPv4 code from Java_java_net_TwoStacksPlainSocketImpl_socketListen + S8200198: javah man pages were not removed by JDK-8191054 + S8200199: javac suggests to use var even when var is used + S8200213: Configure broken on MIPS + S8200215: 17th loop of "let foo = ''"; throws ReferenceError + S8200229: Simplify building of libjsig + S8200241: [TESTBUG] java/lang/String/concat/ tests should not force source/target = 9 anymore + S8200256: java/nio/channels/AsynchronousChannelGroup/Basic.java fails intermittently + S8200289: Reduce number of exceptions created when calling Lookup::canBeCached + S8200301: deduplicate lambda methods + S8200304: TwoStacksPlainDatagramSocketImpl and socket cleaner + S8200310: Avoid charset lookup machinery in java.nio.charset.StandardCharsets + S8200355: local variable inference regression test generates classfile in test folder + S8200357: Inline SoundLibraries.gmk into Lib-java.desktop.gmk + S8200409: jdk11 nightly solaris sparc build failure + S8200449: ReadAllReadNTransferTo fails occasionally - Modified patch: * system-pcsclite.patch + Rediff to changed context- Update to upstream tag jdk-11+6 * Fixes: + S8186228: sun/security/krb5/auto/KdcPolicy.java fails with "java.lang.Exception: Does not match. Output is c30000c30000c30000" + S8193033: remove terminally deprecated sun.misc.Unsafe.defineClass + S8196298: Add null Reader and Writer + S8199437: Improve diagnostic system assertion message in com.sun.net.httpserver impl + S8199682: Clean up building the saproc library + S8199749: Debug symbols are not copied to exploded image on Mac + S8199768: jdk/test/lib/compiler/CompilerUtils.java needs to provide more control over compilation + S8199792: Wrong license header in XMLLimitAnalyzer.java + S8199858: solaris-x86_64 : unpack200 fails linking with SS12u4 + S8199862: Examine ProxyBuilder::referencedTypes startup cost + S8199865: Avoid initializing ShortCache in ProxyGenerator + S8199869: Missing copyright headers in nashorn source code + S8199884: JDK-8199749 broke build with make 3.81- Update to upstream tag jdk-11+5 * Fixes: + S8160767: [TEST_BUG] java/awt/Frame/MaximizedToIconified/MaximizedToIconified.java + S8182684: Further clarify InputStream#available() + S8183554: Add constructors with Charset parameter for FileReader and FileWriter + S8187635: On Windows Swing changes keyboard layout on a window activation + S8188240: Reflection Proxy should skip static methods + S8189230: JDK method: java.lang.Integer.numberOfLeadingZeros(int) can be optimized + S8190347: [TESTBUG] Test javax/swing/JWindow/ /ShapedAndTranslucentWindows/TranslucentJComboBox.java fails + S8190767: if JFrame is maximized on OS X, all new JFrames will be maximized by default + S8193017: Import freetype sources into OpenJDK source tree + S8193584: (testbug) TestSocketFactory fails intermittently with ConcurrentModificationException + S8194767: Regression automated Test 'javax/swing/JEditorPane/6917744/bug6917744.java' fails + S8194943: Regression automated test 'open/test/jdk/javax/ /swing/JInternalFrame/8020708/bug8020708.java' fails + S8195738: scroll poistion in ScrollPane is reset after calling validate() + S8196435: Regression automated Test 'java/awt/Mouse/ /GetMousePositionTest/GetMousePositionWithOverlay.java' fails + S8196748: tools/jar tests need to tolerate unrelated warnings + S8197785: javax.accessibility.AccessibleBundle will reload the ResourceBundle for every call to toDisplayString + S8198406: Test TestAATMorxFont is unstable + S8198605: Touch keyboard is shown for a non-focusable text component + S8198606: Touch keyboard does not hide, when a text component looses focus + S8198613: Test cases result in failure or timeout when run with OpenGL backend + S8198777: JList.getPreferredScrollableViewportSize(): fix mistake in doc for height calc + S8198889: Clarify the throwing of exceptions from ConstantBootstraps.invoke + S8198922: Provide instrumentation for sanity/client/SwingSet/src/ButtonDemoScreenshotTest.java + S8198989: Provide more diagnostic IAE messages + S8199009: test/jdk/java/util/Locale/SoftKeys.java fails with OutOfMemoryError + S8199022: New failures should be added to ProblemList + S8199215: Re-examine getFreePort method in test infrastructure library + S8199258: BigInteger.bitLength() should explicitly specify behavior when the value is zero + S8199329: Remove code that attempts to read bytes after connection reset reported + S8199420: Update javadoc tags in java.lang.System and related + S8199423: Create builds-infra Mach5 job + S8199428: install-file macro fails on filenames with space on Solaris + S8199443: Nashorn multithread bottleneck with "use strict" + S8199451: Create linux-aarch64 cross-compilation devkit, and fix cross-compilation + S8199453: Enable link-time generation of constructor forms + S8199462: Use Reference.reachabilityFence in direct ByteBuffer methods + S8199464: Remove remaining vestiges of Java_sun_reflect_Reflection_getCallerClass + S8199469: Disable generate-jli-classes when building interim-image + S8199470: Remove unused property file.encoding.pkg + S8199471: Enable generation of callSiteForms at link time + S8199473: Support Visual Studio BuildTools with VS2017 + S8199483: Clean up some non-standard LDFLAGS usage + S8199606: Set -lc as global LIBS on solstudio + S8199611: (se) Minor selector implementation clean-up + S8199616: Fix @module declarations in tier1 tests + S8199636: Unify naming for jaas_unix and jaas_nt + S8199639: Introduce SetupJdkLibrary and SetupJdkExecutable + S8199640: Split up BUILD_LIBKRB5 into the two, unrelated compilations it consists of + S8199647: java/util/Locale/SoftKeys.java fails with OutOfMemoryError again + S8199668: make/lib cleanup + S8199681: Remove boilerplate code from creating native jtreg tests + S8199745: JDK-8199668 introduced a build race on macosx - Modified patches: * system-pcsclite.patch * java10-improved-fonts.patch -> java11-improved-fonts.patch + Rediff to changed context- Update to upstream tag jdk-11+4 * Fixes: + S4993841: (str) java.lang.Character should have a toString(int) method + S5076761: JList.setSelectedValue(null, ...) doesn't do anything + S6372077: JarFile.getManifest() should handle manifest attribute name 70 bytes + S8041626: Shutdown tracing event + S8129569: [TEST_BUG] Test java/awt/Frame/ /MaximizedToUnmaximized/MaximizedToUnmaximized.java fails + S8137326: Methods for comparing CharSequence, StringBuilder, and StringBuffer + S8148871: Possible wrong expression stack depth at deopt point + S8153945: Track if log configuration has changed during runtime + S8168722: Unified Logging configuration output needs simplifying + S8169358: httpserver does not close connections when RejectedExecutionException occurs + S8170976: [TESTBUG] LogTestFixture does not restore previous logging state + S8171000: Robot.createScreenCapture() crashes in wayland mode + S8182765: HTML5 must be the default javadoc codegen mode in the near future + S8186513: [TESTBUG] javax/swing/JInternalFrame/8160248/ /JInternalFrameDraggingTest.java + S8187066: -Xlog:help "=debug" example is not quite accurate + S8187653: Lock in CoderResult.Cache becomes performance bottleneck + S8187950: javax.lang.model APIs throws CompletionFailure or a subtype of CompletionFailure. + S8190346: improve unified JVM logging help message and warnings + S8190679: java/util/Arrays/TimSortStackSize2.java fails with "Initial heap size set to a larger value than the maximum heap size" + S8191139: Remove deprecated javax.security.auth.Policy API + S8191369: NMT: Enhance thread stack tracking + S8191421: Deprecate PrintSafepointStatistics, PrintSafepointStatisticsTimeout and PrintSafepointStatisticsCount options + S8193262: JNI array not released in libsunmscapi convertToLittleEndian + S8193660: Check SOURCE line in "release" file for closedjdk + S8194085: Obsolete the deprecated SafepointSynchronize flags and remove related code + S8194296: Check copyright of files in make/langtools/tools + S8194870: Some regression tests throw NPE exception on a specific Solaris 11.2 sun4v sparc machine + S8195065: runtime/appcds/ProhibitedPackage.java intermittent failure + S8195131: Dead code removal for changes present in JDK-8176795 + S8195142: Refactor out card table from CardTableModRefBS to flatten the BarrierSet hierarchy + S8195632: [Graal] Introduce EagerJVMCI flag to force eager JVMCI initialization + S8196064: AArch64: Merging ld/st into ldp/stp in macro-assembler + S8196133: JShell crashes when attempting to use bad source file in class path + S8196196: Headful tests should not be run in headless mode + S8196322: [macosx] When the screen menu bar is used, clearing the default menu bar should permit AWT shutdown + S8196338: [TEST_BUG] sanity/client/SwingSet/src/ /TextFieldDemoTest.java Failed with timeout + S8196868: AARCH64: ld/st instructions hit guarantee assert while using sp + S8196882: VS2017 Hotspot Defined vsnprintf Function Causes C2084 Already Defined Compilation Error + S8197408: Bad pointer comparison and small cleanup in os_linux.cpp + S8197453: Add support of extra problem list + S8197482: Make Jemmy ComponentChooser lambda friendly + S8197499: RepaintManager does not increase double buffer after attaching a device with higher resolution + S8197533: Move javax.transaction.xa to its own module + S8197538: Remove mention of hotjava paths in MimeTable.java + S8197546: Fix for 8171000 breaks Solaris + Linux builds + S8197549: Implement a new method similar to waitState() on Operator which run the check on event queue + S8197594: String#repeat + S8197808: Test java/awt/Dialog/MakeWindowAlwaysOnTop/ /MakeWindowAlwaysOnTop.java fails on Windows + S8197841: Remove unused function Universe::create_heap_ext + S8197864: VS2017 (C4334) Result of 32-bit Shift Implicitly Converted to 64 bits + S8197926: java/awt/dnd/ImageTransferTest/ImageTransferTest.java doesnt close the windows in HiDPI setting + S8198004: javax/swing/JFileChooser/6868611/bug6868611.java throws error + S8198005: javax/swing/JFileChooser/7199708/bug7199708.java throws error + S8198252: Null pointer dereference in fold_compares_helper + S8198253: ThreadInfo.from(CompositeData) incorrectly accepts CompositeData with missing JDK 6 attributes + S8198293: AARCH64 - Add CPU detection code for Cavium Thunder X2 + S8198302: VS2017 (C4477) java.base/windows/native/libnet/ /NetworkInterface_winXP.c incorrect printf format strings + S8198304: VS2017 (C4838, C4312) Various conversion issues with gtest tests + S8198312: VS2017: Upgrade HOTSPOT_BUILD_COMPILER in vm_version.cpp + S8198333: ProblemList should be updated for headless mode + S8198474: Move JNIHandles::resolve into jniHandles.inline.hpp + S8198554: Add fuzzy matching for log levels and tags when parsing -Xlog + S8198628: further simplifications to lambda classification at JavacParser + S8198640: VS2017 (LNK4281) Link Warning Against Missed ASLR Optimization + S8198693: Update ProblemsList for mac + S8198697: Simplify initialization of platform encoding + S8198703: Missing #include "gc/shared/cardTableModRefBS.hpp" in graphKit.hpp + S8198724: Refactor FLAGS handling in configure + S8198750: [s390+x86_32+aarch64] Fix build after jdk-8195142 + S8198810: URLClassLoader does not specify behavior when URL array contains null + S8198821: fix test methods access for test java/text/Normalizer/NormalizerAPITest.java + S8198825: Resolve missing review feedback for JDK-8170976 + S8198833: TestMemoryAwareness Docker container fails with too small maximum heap + S8198834: (ch) Enable java/nio/channels/spi/SelectorProvider/ /inheritedChannel/InheritedChannelTest.java on linux-x64 + S8198841: Thread.interrupt should set interrupt status while holding blockerLock + S8198844: Clean up GensrcX11Wrappers + S8198859: Use elfedit to silence linker warnings on solaris + S8198862: Stop doing funky compilation stuff for dtrace + S8198887: JDK-8168722 broke the build on macosx + S8198888: Reduce string allocation churn in InvokerBytecodeGenerator + S8198898: Compilation errors in jdk.crypto.mscapi with VS 2017 + S8198899: Compilation errors in java.prefs with VS 2017 + S8198928: (so) SocketChannel connect may deadlock if closed at around same time that connect fails + S8198931: remove java.xml.bind module dependency for com/sun/jndi tests + S8198933: Update JDI tests to pass valid URL[] + S8198955: String#repeat loop optimization + S8198966: To make CoderResult.Cache.cache final and allocate it eagerly + S8198970: jnu_util.c compilation error on Solaris + S8199015: (se) SocketChannelImpl.translateXXXOps access channel state without synchronization + S8199018: Test crypto provider not registering + S8199052: Configure broken on aarch64 + S8199103: Can't use COMPARE_BUILD with PATCH from custom root + S8199118: Filtering of filename for microsoft CL broken on newer Cygwin + S8199120: (so) SocketChannelImpl read/write don't need stateLock when channel is configured non-blocking + S8199125: --disable-warnings-as-errors does not work for native jtreg test code + S8199152: Configure broken on arm32 + S8199154: Accessibility issues in jdk.security.auth + S8199197: Set _NT_SYMBOL_PATH when running tests on windows + S8199198: Remove unused functions in jdk.crypto.mscapi native code + S8199224: Refactor add_native_source in SetupNativeCompilation + S8199236: Nashorn uses deprecated HTML tags in Javadoc + S8199266: Update boot and build jdk requirements in configure + S8199327: nuke var type name after a lambda has been accepted + S8199331: Don't limit debug information for fastdebug JDK native libraries + S8199338: Use -g0 on solstudio also for compiling C programs + S8199339: JDK-8198859 broke solaris x64 + S8199347: Always use -Z7 for debug symbols when compiling on Windows + S8199352: The Jib artifact resolver in test lib needs to print better error messages + S8199403: Require binutils 2.18 or newer + S8199405: Bump lowest supported gcc to 4.8 + S8199416: Remove debug output left over since JDK-8198844 - Removed patches: * sorted-diff.patch + context changed completely * jdk10-gcc6.patch + not needed * boot_jdk_version.patch + correct boot versions handled upsteam - Changed patch: * java10-improved-fonts.patch + rediffed to changed context- Update to upstream tag jdk-11+3 * Fixes: + S4916621: Update those still using JDIScaffold to use TestScaffold instead. + S7127700: G1: Replace G1PLAB with PLAB + S8038043: Xerces Update: XInclude update + S8060094: java/util/Formatter/Basic.java failed in tr locale + S8068593: Remove or repurpose unused PerfCounters from objectMonitor + S8165929: Constify arguments of Copy methods + S8166232: jshell tool: cannot access previous history + S8175384: SA: clhsdb 'printall' throws ClassCastException while printing out the bytecodes + S8176298: Log tags in -Xlog:help not sorted + S8179249: Improve process output analysis in CDS tests + S8182847: Copy class should use assert macros + S8184289: Obsolete -XX:+UnsyncloadClass and - XX:+MustCallLoadClassInternal options + S8186211: Negative tests for CONSTANT_Dynamic + S8186688: javax.lang.model.util.Elements.hides does not work correctly with interfaces + S8189330: Cleanup FileDescriptor implementation + S8190428: Minimal Dynamic Constant support for AArch64 + S8191375: Add high-level jtreg VMProps to filter out CDS tests + S8193056: Title from build failure with Xcode 9.1 + S8193150: Create a jtreg version of the test from JDK-8187143. + S8193373: Cleanup ElfFile and family + S8193846: Obsolete the VM option UseUTCFileTimestamp + S8193892: Impact of noncloneable MessageDigest implementation + S8193909: Obsolete(remove) Co-operative Memory Management (CMM) + S8194084: Obsolete FastTLABRefill and remove the related code + S8194691: Cleanup unnecessary casts in Atomic/OrderAccess uses + S8194994: Remove redundant string streams used for logging + S8195103: Refactor out card table from CardTableModRefBS to flatten the BarrierSet hierarchy + S8195112: x86 (32 bit): implementation for Thread-local handshakes + S8196308: Update tests AllLineLocations and ClassesByName to use TestScaffold instead of JDIScaffold. + S8196324: Update tests FilterMatch and FilterNoMatch to use TestScaffold. + S8196405: [REDO] NMT: add_committed_regions doesn't merge succeeding regions + S8196602: Change HeapRegionClosure to comply to naming conventions + S8196759: Move two java/text/Normalizer tests into OpenJDK + S8196783: Refactor LogTagLevelExpression into separate classes + S8196786: [PPC64+s390] ConstantDynamic support + S8196830: publicLookup().findVirtual should not return method handle to AccessibleObject.setAccessible + S8196880: VS2017 Addition of Global Delete Operator with Size Parameter Conflicts with Arena's Chunk Provided One + S8196884: VS2017 Multiple Type Cast Conversion Compilation Errors + S8196889: VS2017 Unable to Instantiate OrderAccess::release_store with an Incomplete Class Within an Inlined Method + S8196909: gcc 7.2.1 compiler warning in libdt_socket + S8196920: VerifierTest_1A.java and VerifierTest_1B.java fail: assert(receiver_klass->is_subtype_of(static_receiver_klass)) failed: actual receiver must be subclass of static receiver klass + S8196930: [Testbug] serviceability/sa/ClhsdbFindPC.java fails to find expected output + S8196992: Resolve disabled warnings for libdt_socket + S8196997: VS2017 The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be removed + S8197412: Enable docker container related tests for linux s390x + S8197454: Need Access decorator for storing oop into uninitialized location + S8197518: Kerberos krb5 authentication: AuthList's put method leads to performance issue + S8197563: assert(is_Loop()) crash in PhaseIdealLoop::try_move_store_before_loop() + S8197572: s390 build broken after 8165929 + S8197589: Update CPU count algorithm when both cpu shares and quotas are used + S8197608: MacroAssembler::unimplemented calls global operator new[] + S8197772: metaspace uses global operator new/delete for gtest testing + S8197780: Null pointer dereference in Klass::is_instance_klass of klass.hpp:532 + S8197789: os::SuspendedThreadTask causes references to global operator delete + S8197827: [windows] Small cleanups after JDK-8185712 + S8197828: Null pointer dereference in MultiNode::proj_out_or_null + S8197857: fieldDescriptor prints incorrect 32-bit representation of compressed oops + S8197859: VS2017 Complains about UINTPTR_MAX definition in globalDefinitions_VisCPP.hpp + S8197868: VS2017 (C2065) 'timezone': Undeclared Identifier in share/runtime/os.cpp + S8197901: Crash during GC when logging level is debug + S8197906: Enable CDS mode execution of jtreg tests via make + S8197945: Qurarantine failing condy tests + S8197956: VS2017 (C4838) Narrowing conversion required from __int64 to julong + S8197968: [Backout] JDK-8196883 G1RemSet::refine_card_concurrently doesn't need to check for cards in collection set + S8197992: Move the OopStorage::ParState type out of inline.hpp + S8197993: Remove last use of JavaThread::flush_barrier_queues() + S8197994: Move JavaThread::initialize_queues() logic to G1SATBCardTableLoggingModRefBS + S8197999: Accessors in typeArrayOopDesc should use new Access API + S8198225: os::attempt_reserve_memory_at records memory as committed + S8198249: Remove deprecated Runtime::runFinalizersOnExit and System::runFinalizersOnExit + S8198251: [Graal] compiler/intrinsics/bmi/verifycode tests fail with Graal on macos + S8198265: Make CollectorPolicy::satisfy_failed_metadata_allocation() virtual + S8198267: Allow GCId::current_raw() calls from non-NamedThreads + S8198268: Add time argument to ConcurrentGCTimer::register_gc_pause_start/_end + S8198269: Allow GCCauseSetter to be used outside of safepoints + S8198270: Remove dangerous assert in HandleArea::oops_do() + S8198271: Make CollectedHeap::create_heap_space_summary() virtual + S8198275: AIX build broken after latest whitebox.cpp changes + S8198286: Direct memory accessors in typeArrayOop.hpp should use Access API + S8198287: Cleanup ElfFile usage in whitebox.cpp + S8198311: Avoid uses of global malloc and free + S8198341: Build failures after 8194084 (Obsolete FastTLABRefill and remove the related code) + S8198369: Clean up GCId and GCIdMark + S8198373: Remove CollectorPolicy::is/as functions + S8198375: Passing 'null' value to lookup param of ConstantBootstraps.invoke does not throw NullPointerException + S8198420: Remove unused extension point AllocationContextStats + S8198439: Fix aarch64 code for handling generate_code_for after FastTLABFill obsolete code + S8198480: Improve ClassLoaders static init block + S8198481: Coding style cleanups for src/java.base/share/classes/jdk/internal/loader + S8198482: The URLClassPath field "urls" should be renamed to "unopenedUrls" + S8198484: URLClassPath should use an ArrayDeque instead of a Stack + S8198485: Simplify a URLClassPath constructor + S8198490: java/util/logging/TestLogConfigurationDeadLock.java timed out. + S8198492: Bootstrapping java.lang.invoke can cause deadlock after JDK-8198418 + S8198507: Remove CollectorPolicy::create_rem_set + S8198509: Move satisfy_failed_metadata_allocation out from CollectorPolicy + S8198511: Move allocation functions from GenCollectorPolicy to GenCollectedHeap + S8198515: Extract SoftReferencePolicy code out of CollectorPolicy + S8198522: Javadoc search broken after output files organization for modules + S8198525: Move _size_policy out of GenCollectorPolicy into GenCollectedHeap + S8198528: Move GenerationSpecs from GenCollectorPolicy to GenCollectedHeap + S8198530: Move _gc_policy_counters from GenCollectorPolicy to GenCollectedHeap + S8198533: Remove obsolete JDIScaffold class from repo. + S8198539: Cleanup of unused imports in java/util/jar/Attributes.java (java.base) and JdpController.java (jdk.management.agent) + S8198551: Rename hotspot_tier1 test group to tier1 + S8198553: jcmd: separate Metaspace statistics from NMT + S8198558: Windows does not build without precompiled headers + S8198560: Remove implicit casts from oop to JavaThread* and jlong* + S8198562: (ch) Separate blocking and non-blocking code paths (part 1) + S8198564: Multiple crashes on SPARC + S8198568: clean up test/hotspot/jtreg/ProblemList.txt + S8198569: SetupTextFileProcessing should use sed with 'g' + S8198573: JShell: class replace loses instances + S8198585: add asserts to verify that ServiceUtil::visible_oop is not needed + S8198627: JDK-8198318 broke readlink testing + S8198635: Remove unused safepoint message functions and ShowSafepointMsgs + S8198645: Use System.lineSeparator() instead of getProperty("line.separator") + S8198653: ClassLoader::getSystemClassLoader throws InternalError when called after shutdown + S8198656: Update copyright to 2018 + S8198658: Docs still point to JDK 9 docs + S8198670: [testbug] Test jdk/internal/jline/extra/HistoryTest.java is broken after 8166232 + S8198726: Quarantine SADebugDTest.java again + S8198751: Refactor SetupNativeCompilation to take NAME and TYPE + S8198754: (ch) Separate blocking and non-blocking code paths (part 2) + S8198755: Reduce cost of InvokerBytecodeGenerator::isStaticallyInvocable/-Nameable + S8198808: jdi tests failing after JDK-8198484 + S8198820: Problem list tools/jimage/JImageExtractTest.java + S8198831: Lazy initialization of ValueConversions MethodHandles - Modified patch: * system-pcsclite.patch + Fix merge error in the patch- Update to upstream tag jdk-11+2 * Fixes: + S8058965: Remove IPv6 support from TwoStacksPlainSocketImpl [win] + S8153294: Solaris devkit uses linker from system instead of in devkit + S8170120: jimage throws IOException when the given file is not a jimage file + S8176474: test/jdk/jshell/JdiBogusHostListenExecutionControlTest.java fails with java.net.BindException + S8190904: Incorrect currency instance returned by java.util.Currency.getInstance() + S8194154: System property user.dir should not be changed + S8194892: add compiler support for local-variable syntax for lambda parameters + S8194922: jlink --exclude-resources should never exclude module-info.class + S8196959: NullPointerException in discovery003.java + S8197439: Crash with -XDfind=lambda for anonymous class in anonymous class. + S8197812: (ref) Data race in Finalizer + S8198227: Fix COMPARE_BUILD after forest consolidation + S8198228: Spec clarification: j.u.Locale.getDisplayName() + S8198301: jdk11+1 was built as 'fcs' instead of 'ea' + S8198303: jdk11+1 was build with incorrect GA date as 2018-03-20 + S8198306: Add post custom extension hooks to two launchers + S8198318: Make build comparisons clean again + S8198328: Create devkit for Solaris with developer studio 12.6 and Solaris11.3 + S8198379: tools/jimage/JImageListTest.java failing + S8198380: tools/jimage/JImageExtractTest.java failing + S8198385: Remove property sun.locale.formatasdefault + S8198417: Exclude tools/jimage/JImageExtractTest.java and tools/jimage/JImageListTest.java on Windows + S8198418: Invoke LambdaMetafactory::metafactory exactly from the BootstrapMethodInvoker + S8198425: make/Main.gmk Add extra extension/override points to the make file + S8198441: Replace native Runtime::runFinalization0 method with shared secrets + S8198450: Make jdk.internal.vm.compiler/module-info.java.extra reproducable + S8198479: JDK build is broken by 8194892 + S8198502: Exception at runtime due to lambda analyzer reattributes live AST + S8198512: compiler support for local-variable syntax for lambda parameters + S8198523: Refactor BootstrapMethodInvoker to further avoid runtime type checks + S8198563: Test langtools/tools/javac/analyzer/AnonymousInAnonymous.java failing after JDK-8198502- Update to upstream tag jdk-11+1 - Removed patches: * JDK-8194739-zero.patch * aarch64-form_address.patch + Integrated upstream - Modified patch: * system-pcsclite.patch + Rediff to changed context- Added patch: * aarch64-form_address.patch - Fix crash due to mistake in committed patch for JDK-8195859- Upgrade to the tip of jdk repository of January 26th, 2018 - Modified patches: * disable-doclint-by-default.patch * jdk10-gcc6.patch + Rediffed to a changed context - Removed patches: * java-10-openjdk-linuxfilestore.patch * remove_javah_for_real.patch + Integrated upstream - Added patch: * JDK-8194739-zero.patch + S8194739: Zero port of 8174962: Better interface invocations- Recommend tzdata-java8 instead of depending on it. This fixes build cycles.- Initial package of jdk-11+0 * java-11-openjdk technology preview/bin/sh/bin/shjava-10-openjdk-javadocsheep83 1637078832  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  !!!!!!!!!! ! ! ! ! !!!!!!!!!!!!!!!!!!! !!!"!#!$!%!&!'!(!)!*!+!,!-!.!/!0!1!2!3!4!5!6!7!8!9!:!;!<!=!>!?!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"""""""""" " " " " """"""""""""""""""" "!"""#"$"%"&"'"(")"*"+","-"."/"0"1"2"3"4"5"6"7"8"9":";"<"=">"?"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""########## # # # # ################### #!#"###$#%#&#'#(#)#*#+#,#-#.#/#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~#################################################################################################################################$$$$$$$$$$ $ $ $ $ $$$$$$$$$$$$$$$$$$$ $!$"$#$$$%$&$'$($)$*$+$,$-$.$/$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$t$u$v$w$x$y$z${$|$}$~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%% % % % % %%%%%%%%%%%%%%%%%%% %!%"%#%$%%%&%'%(%)%*%+%,%-%.%/%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v%w%x%y%z%{%|%}%~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&& & & & & &&&&&&&&&&&&&&&&&&& &!&"&#&$&%&&&'&(&)&*&+&,&-&.&/&0&1&2&3&4&5&6&7&8&9&:&;&<&=&>&?&@&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&[&\&]&^&_&`&a&b&c&d&e&f&g&h&i&j&k&l&m&n&o&p&q&r&s&t&u&v&w&x&y&z&{&|&}&~&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''''''''' ' ' ' ' ''''''''''''''''''' '!'"'#'$'%'&'''(')'*'+','-'.'/'0'1'2'3'4'5'6'7'8'9':';'<'='>'?'@'A'B'C'D'E'F'G'H'I'J'K'L'M'N'O'P'Q'R'S'T'U'V'W'X'Y'Z'['\']'^'_'`'a'b'c'd'e'f'g'h'i'j'k'l'm'n'o'p'q'r's't'u'v'w'x'y'z'{'|'}'~'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((( ( ( ( ( ((((((((((((((((((( (!("(#($(%(&('((()(*(+(,(-(.(/(0(1(2(3(4(5(6(7(8(9(:(;(<(=(>(?(@(A(B(C(D(E(F(G(H(I(J(K(L(M(N(O(P(Q(R(S(T(U(V(W(X(Y(Z([(\(](^(_(`(a(b(c(d(e(f(g(h(i(j(k(l(m(n(o(p(q(r(s(t(u(v(w(x(y(z({(|(}(~((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()))))))))) ) ) ) ) ))))))))))))))))))) )!)")#)$)%)&)')()))*)+),)-).)/)0)1)2)3)4)5)6)7)8)9):);)<)=)>)?)@)A)B)C)D)E)F)G)H)I)J)K)L)M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)[)\)])^)_)`)a)b)c)d)e)f)g)h)i)j)k)l)m)n)o)p)q)r)s)t)u)v)w)x)y)z){)|)})~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))********** * * * * ******************* *!*"*#*$*%*&*'*(*)***+*,*-*.*/*0*1*2*3*4*5*6*7*8*9*:*;*<*=*>*?*@*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*\*]*^*_*`*a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*{*|*}*~******************************************11.0.13.0-lp152.2.21.211.0.13.0-lp152.2.21.211.0.13.0-lp152.2.21.211.0.13.0-lp152.2.21.211.0.13.0-lp152.2.21.2     !!!!!! """""""""""""############""""$$%$$$&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((()))))))))))))))))))))))))((('***********************************************''''+++,,+++----------------------------------------------------------------------------------------------.........////////...-0000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111000-222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222-333333333333333334444444444444444333----555555555555555555555555555555556666666666666666666666666666666555777777777777777777777777777777788888888888888888888888888888877779999999::::::999;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<=====================<<<;>>>>>>>>>>>>>>>>>>;?????????@@@@@@@@???;;;;AAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBAAA;CCCCCCCDDDDDDCCCEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIHHHGJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJGKKKKKKKKKKKKKKKLLLLLLLLLLLLLLKKKGGGEMMMMENNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNEPPPPPPPPPPPPQQQQQQQQQQQPPPEEEERRRRRSSSSRRRETTTTTTTTTTTUUUUUUUUUUTTTEVVVVVVVVVVVVVVWWWWWWWWWWWWWVVVEXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYXXXZ[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\[]]]]]^^^^]]][[[[__________________`````````````````___ZaaabbaaaaccccccccccccccccccccccccccccccccccccccccccccdddddddddddddddddddddddddddddddddddddddddddcccZefffffffffggggggggggghhhhhhhhhhgggfiiiiiiiifjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkjjjffffllmlllfnnnoonnneppppppppqqqqqqqppprstuuuuuuuuuuuuuuvvvvvvvvvvvvvuuuswxxxxyyyxzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzxxxx|||||||||||||||||||}}}}}}}}}}}}}}}}}}|||x~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sr                                                                                         !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! """""""""""""""""""##################""" $$$$$$$$%%%%%%%$$$ &&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''&&&    ((((((((((((())))))))))))(((*+,-----------------------......................---*/012222222222333333333222/456666666666666666666667777777777777777788888888888888887776999999999999999999996::::;;;:::6666<<<<===<<<6>>>>>>>>>>>>>>>>>>>>>>>>>>>>???????????????????????????>>>4@ABBBCCBBB4DEFFFFFFFFFFFFFGGGGGGGGGGGGFFFDHIJKLMMMMMMMMMNNNNNNNNMMMIIOPQQQQQQQQQRRRRRRRRQQQSTUVVVVVVVVVVVWWWWWWWWWWVVVSXYZZZZZZZZZZZZZZ[[[[[[[[[[[[[ZZZX\]^_____________````````````____aaaaaaaaaaabbbbbbbbbbaaa_cccccccccddddddddccc\efgggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgggeijjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkjjjelmnoooopppooolqrsttttttttttttttttuuuuuuuuuuuuuuutvvvvwwwvvvtxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyxzzz{{zzzx|||||||||}}}}}}}}|||xxxx~~~~~~~~~~~~~~~tttq                                                                                                                                                   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""!#############$$$$$$$$$$$$###!!!!%%%%%%%%%%%%%%%&&&&&&&&&&&&&&%%%!''('''))*+++,,+++-./0123333334444433305678888888888899999999998885:;<=>?@@@AA@@@;BCDEEEEEEFFFFFEEEDGGGHHGGGCIJKLMNOOOOOOOOOOPPPPPPPPPOOONQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQQKSTUVWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXWWWSYZ[\]]]]]]]]]]]]]]]^^_^^^]``````````````]aabaaa]cccccccccddddddddccc]]]Yefghiiiiiiijjjjjjiiiekklmnoooooooooooooooooooooooppppppppppppppppppppppooonqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqqnsssssstttttsssnuuuuuuuvvvvvvuuuwxyzx{{{{{{{{{{{xxxxxxxxx|}}}}~javadocjava-11-openjdkapiallclasses-index.htmlallclasses.htmlallpackages-index.htmlconstant-values.htmldeprecated-list.htmlelement-listhelp-doc.htmlindex-filesindex-1.htmlindex-10.htmlindex-11.htmlindex-12.htmlindex-13.htmlindex-14.htmlindex-15.htmlindex-16.htmlindex-17.htmlindex-18.htmlindex-19.htmlindex-2.htmlindex-20.htmlindex-21.htmlindex-22.htmlindex-23.htmlindex-24.htmlindex-25.htmlindex-26.htmlindex-27.htmlindex-3.htmlindex-4.htmlindex-5.htmlindex-6.htmlindex-7.htmlindex-8.htmlindex-9.htmlindex.htmljava.basejavaioBufferedInputStream.htmlBufferedOutputStream.htmlBufferedReader.htmlBufferedWriter.htmlByteArrayInputStream.htmlByteArrayOutputStream.htmlCharArrayReader.htmlCharArrayWriter.htmlCharConversionException.htmlCloseable.htmlConsole.htmlDataInput.htmlDataInputStream.htmlDataOutput.htmlDataOutputStream.htmlEOFException.htmlExternalizable.htmlFile.htmlFileDescriptor.htmlFileFilter.htmlFileInputStream.htmlFileNotFoundException.htmlFileOutputStream.htmlFilePermission.htmlFileReader.htmlFileWriter.htmlFilenameFilter.htmlFilterInputStream.htmlFilterOutputStream.htmlFilterReader.htmlFilterWriter.htmlFlushable.htmlIOError.htmlIOException.htmlInputStream.htmlInputStreamReader.htmlInterruptedIOException.htmlInvalidClassException.htmlInvalidObjectException.htmlLineNumberInputStream.htmlLineNumberReader.htmlNotActiveException.htmlNotSerializableException.htmlObjectInput.htmlObjectInputFilter.Config.htmlObjectInputFilter.FilterInfo.htmlObjectInputFilter.Status.htmlObjectInputFilter.htmlObjectInputStream.GetField.htmlObjectInputStream.htmlObjectInputValidation.htmlObjectOutput.htmlObjectOutputStream.PutField.htmlObjectOutputStream.htmlObjectStreamClass.htmlObjectStreamConstants.htmlObjectStreamException.htmlObjectStreamField.htmlOptionalDataException.htmlOutputStream.htmlOutputStreamWriter.htmlPipedInputStream.htmlPipedOutputStream.htmlPipedReader.htmlPipedWriter.htmlPrintStream.htmlPrintWriter.htmlPushbackInputStream.htmlPushbackReader.htmlRandomAccessFile.htmlReader.htmlSequenceInputStream.htmlSerializable.htmlSerializablePermission.htmlStreamCorruptedException.htmlStreamTokenizer.htmlStringBufferInputStream.htmlStringReader.htmlStringWriter.htmlSyncFailedException.htmlUTFDataFormatException.htmlUncheckedIOException.htmlUnsupportedEncodingException.htmlWriteAbortedException.htmlWriter.htmlclass-useBufferedInputStream.htmlBufferedOutputStream.htmlBufferedReader.htmlBufferedWriter.htmlByteArrayInputStream.htmlByteArrayOutputStream.htmlCharArrayReader.htmlCharArrayWriter.htmlCharConversionException.htmlCloseable.htmlConsole.htmlDataInput.htmlDataInputStream.htmlDataOutput.htmlDataOutputStream.htmlEOFException.htmlExternalizable.htmlFile.htmlFileDescriptor.htmlFileFilter.htmlFileInputStream.htmlFileNotFoundException.htmlFileOutputStream.htmlFilePermission.htmlFileReader.htmlFileWriter.htmlFilenameFilter.htmlFilterInputStream.htmlFilterOutputStream.htmlFilterReader.htmlFilterWriter.htmlFlushable.htmlIOError.htmlIOException.htmlInputStream.htmlInputStreamReader.htmlInterruptedIOException.htmlInvalidClassException.htmlInvalidObjectException.htmlLineNumberInputStream.htmlLineNumberReader.htmlNotActiveException.htmlNotSerializableException.htmlObjectInput.htmlObjectInputFilter.Config.htmlObjectInputFilter.FilterInfo.htmlObjectInputFilter.Status.htmlObjectInputFilter.htmlObjectInputStream.GetField.htmlObjectInputStream.htmlObjectInputValidation.htmlObjectOutput.htmlObjectOutputStream.PutField.htmlObjectOutputStream.htmlObjectStreamClass.htmlObjectStreamConstants.htmlObjectStreamException.htmlObjectStreamField.htmlOptionalDataException.htmlOutputStream.htmlOutputStreamWriter.htmlPipedInputStream.htmlPipedOutputStream.htmlPipedReader.htmlPipedWriter.htmlPrintStream.htmlPrintWriter.htmlPushbackInputStream.htmlPushbackReader.htmlRandomAccessFile.htmlReader.htmlSequenceInputStream.htmlSerializable.htmlSerializablePermission.htmlStreamCorruptedException.htmlStreamTokenizer.htmlStringBufferInputStream.htmlStringReader.htmlStringWriter.htmlSyncFailedException.htmlUTFDataFormatException.htmlUncheckedIOException.htmlUnsupportedEncodingException.htmlWriteAbortedException.htmlWriter.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmllangAbstractMethodError.htmlAppendable.htmlArithmeticException.htmlArrayIndexOutOfBoundsException.htmlArrayStoreException.htmlAssertionError.htmlAutoCloseable.htmlBoolean.htmlBootstrapMethodError.htmlByte.htmlCharSequence.htmlCharacter.Subset.htmlCharacter.UnicodeBlock.htmlCharacter.UnicodeScript.htmlCharacter.htmlClass.htmlClassCastException.htmlClassCircularityError.htmlClassFormatError.htmlClassLoader.htmlClassNotFoundException.htmlClassValue.htmlCloneNotSupportedException.htmlCloneable.htmlComparable.htmlCompiler.htmlDeprecated.htmlDouble.htmlEnum.htmlEnumConstantNotPresentException.htmlError.htmlException.htmlExceptionInInitializerError.htmlFloat.htmlFunctionalInterface.htmlIllegalAccessError.htmlIllegalAccessException.htmlIllegalArgumentException.htmlIllegalCallerException.htmlIllegalMonitorStateException.htmlIllegalStateException.htmlIllegalThreadStateException.htmlIncompatibleClassChangeError.htmlIndexOutOfBoundsException.htmlInheritableThreadLocal.htmlInstantiationError.htmlInstantiationException.htmlInteger.htmlInternalError.htmlInterruptedException.htmlIterable.htmlLayerInstantiationException.htmlLinkageError.htmlLong.htmlMath.htmlModule.htmlModuleLayer.Controller.htmlModuleLayer.htmlNegativeArraySizeException.htmlNoClassDefFoundError.htmlNoSuchFieldError.htmlNoSuchFieldException.htmlNoSuchMethodError.htmlNoSuchMethodException.htmlNullPointerException.htmlNumber.htmlNumberFormatException.htmlObject.htmlOutOfMemoryError.htmlOverride.htmlPackage.htmlProcess.htmlProcessBuilder.Redirect.Type.htmlProcessBuilder.Redirect.htmlProcessBuilder.htmlProcessHandle.Info.htmlProcessHandle.htmlReadable.htmlReflectiveOperationException.htmlRunnable.htmlRuntime.Version.htmlRuntime.htmlRuntimeException.htmlRuntimePermission.htmlSafeVarargs.htmlSecurityException.htmlSecurityManager.htmlShort.htmlStackOverflowError.htmlStackTraceElement.htmlStackWalker.Option.htmlStackWalker.StackFrame.htmlStackWalker.htmlStrictMath.htmlString.htmlStringBuffer.htmlStringBuilder.htmlStringIndexOutOfBoundsException.htmlSuppressWarnings.htmlSystem.Logger.Level.htmlSystem.Logger.htmlSystem.LoggerFinder.htmlSystem.htmlThread.State.htmlThread.UncaughtExceptionHandler.htmlThread.htmlThreadDeath.htmlThreadGroup.htmlThreadLocal.htmlThrowable.htmlTypeNotPresentException.htmlUnknownError.htmlUnsatisfiedLinkError.htmlUnsupportedClassVersionError.htmlUnsupportedOperationException.htmlVerifyError.htmlVirtualMachineError.htmlVoid.htmlannotationAnnotation.htmlAnnotationFormatError.htmlAnnotationTypeMismatchException.htmlDocumented.htmlElementType.htmlIncompleteAnnotationException.htmlInherited.htmlNative.htmlRepeatable.htmlRetention.htmlRetentionPolicy.htmlTarget.htmlclass-useAnnotation.htmlAnnotationFormatError.htmlAnnotationTypeMismatchException.htmlDocumented.htmlElementType.htmlIncompleteAnnotationException.htmlInherited.htmlNative.htmlRepeatable.htmlRetention.htmlRetentionPolicy.htmlTarget.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAbstractMethodError.htmlAppendable.htmlArithmeticException.htmlArrayIndexOutOfBoundsException.htmlArrayStoreException.htmlAssertionError.htmlAutoCloseable.htmlBoolean.htmlBootstrapMethodError.htmlByte.htmlCharSequence.htmlCharacter.Subset.htmlCharacter.UnicodeBlock.htmlCharacter.UnicodeScript.htmlCharacter.htmlClass.htmlClassCastException.htmlClassCircularityError.htmlClassFormatError.htmlClassLoader.htmlClassNotFoundException.htmlClassValue.htmlCloneNotSupportedException.htmlCloneable.htmlComparable.htmlCompiler.htmlDeprecated.htmlDouble.htmlEnum.htmlEnumConstantNotPresentException.htmlError.htmlException.htmlExceptionInInitializerError.htmlFloat.htmlFunctionalInterface.htmlIllegalAccessError.htmlIllegalAccessException.htmlIllegalArgumentException.htmlIllegalCallerException.htmlIllegalMonitorStateException.htmlIllegalStateException.htmlIllegalThreadStateException.htmlIncompatibleClassChangeError.htmlIndexOutOfBoundsException.htmlInheritableThreadLocal.htmlInstantiationError.htmlInstantiationException.htmlInteger.htmlInternalError.htmlInterruptedException.htmlIterable.htmlLayerInstantiationException.htmlLinkageError.htmlLong.htmlMath.htmlModule.htmlModuleLayer.Controller.htmlModuleLayer.htmlNegativeArraySizeException.htmlNoClassDefFoundError.htmlNoSuchFieldError.htmlNoSuchFieldException.htmlNoSuchMethodError.htmlNoSuchMethodException.htmlNullPointerException.htmlNumber.htmlNumberFormatException.htmlObject.htmlOutOfMemoryError.htmlOverride.htmlPackage.htmlProcess.htmlProcessBuilder.Redirect.Type.htmlProcessBuilder.Redirect.htmlProcessBuilder.htmlProcessHandle.Info.htmlProcessHandle.htmlReadable.htmlReflectiveOperationException.htmlRunnable.htmlRuntime.Version.htmlRuntime.htmlRuntimeException.htmlRuntimePermission.htmlSafeVarargs.htmlSecurityException.htmlSecurityManager.htmlShort.htmlStackOverflowError.htmlStackTraceElement.htmlStackWalker.Option.htmlStackWalker.StackFrame.htmlStackWalker.htmlStrictMath.htmlString.htmlStringBuffer.htmlStringBuilder.htmlStringIndexOutOfBoundsException.htmlSuppressWarnings.htmlSystem.Logger.Level.htmlSystem.Logger.htmlSystem.LoggerFinder.htmlSystem.htmlThread.State.htmlThread.UncaughtExceptionHandler.htmlThread.htmlThreadDeath.htmlThreadGroup.htmlThreadLocal.htmlThrowable.htmlTypeNotPresentException.htmlUnknownError.htmlUnsatisfiedLinkError.htmlUnsupportedClassVersionError.htmlUnsupportedOperationException.htmlVerifyError.htmlVirtualMachineError.htmlVoid.htmldoc-filesValueBased.htmlthreadPrimitiveDeprecation.htmlinvokeCallSite.htmlConstantBootstraps.htmlConstantCallSite.htmlLambdaConversionException.htmlLambdaMetafactory.htmlMethodHandle.htmlMethodHandleInfo.htmlMethodHandleProxies.htmlMethodHandles.Lookup.htmlMethodHandles.htmlMethodType.htmlMutableCallSite.htmlSerializedLambda.htmlStringConcatException.htmlStringConcatFactory.htmlSwitchPoint.htmlVarHandle.AccessMode.htmlVarHandle.htmlVolatileCallSite.htmlWrongMethodTypeException.htmlclass-useCallSite.htmlConstantBootstraps.htmlConstantCallSite.htmlLambdaConversionException.htmlLambdaMetafactory.htmlMethodHandle.htmlMethodHandleInfo.htmlMethodHandleProxies.htmlMethodHandles.Lookup.htmlMethodHandles.htmlMethodType.htmlMutableCallSite.htmlSerializedLambda.htmlStringConcatException.htmlStringConcatFactory.htmlSwitchPoint.htmlVarHandle.AccessMode.htmlVarHandle.htmlVolatileCallSite.htmlWrongMethodTypeException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmoduleConfiguration.htmlFindException.htmlInvalidModuleDescriptorException.htmlModuleDescriptor.Builder.htmlModuleDescriptor.Exports.Modifier.htmlModuleDescriptor.Exports.htmlModuleDescriptor.Modifier.htmlModuleDescriptor.Opens.Modifier.htmlModuleDescriptor.Opens.htmlModuleDescriptor.Provides.htmlModuleDescriptor.Requires.Modifier.htmlModuleDescriptor.Requires.htmlModuleDescriptor.Version.htmlModuleDescriptor.htmlModuleFinder.htmlModuleReader.htmlModuleReference.htmlResolutionException.htmlResolvedModule.htmlclass-useConfiguration.htmlFindException.htmlInvalidModuleDescriptorException.htmlModuleDescriptor.Builder.htmlModuleDescriptor.Exports.Modifier.htmlModuleDescriptor.Exports.htmlModuleDescriptor.Modifier.htmlModuleDescriptor.Opens.Modifier.htmlModuleDescriptor.Opens.htmlModuleDescriptor.Provides.htmlModuleDescriptor.Requires.Modifier.htmlModuleDescriptor.Requires.htmlModuleDescriptor.Version.htmlModuleDescriptor.htmlModuleFinder.htmlModuleReader.htmlModuleReference.htmlResolutionException.htmlResolvedModule.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlrefCleaner.Cleanable.htmlCleaner.htmlPhantomReference.htmlReference.htmlReferenceQueue.htmlSoftReference.htmlWeakReference.htmlclass-useCleaner.Cleanable.htmlCleaner.htmlPhantomReference.htmlReference.htmlReferenceQueue.htmlSoftReference.htmlWeakReference.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlreflectAccessibleObject.htmlAnnotatedArrayType.htmlAnnotatedElement.htmlAnnotatedParameterizedType.htmlAnnotatedType.htmlAnnotatedTypeVariable.htmlAnnotatedWildcardType.htmlArray.htmlConstructor.htmlExecutable.htmlField.htmlGenericArrayType.htmlGenericDeclaration.htmlGenericSignatureFormatError.htmlInaccessibleObjectException.htmlInvocationHandler.htmlInvocationTargetException.htmlMalformedParameterizedTypeException.htmlMalformedParametersException.htmlMember.htmlMethod.htmlModifier.htmlParameter.htmlParameterizedType.htmlProxy.htmlReflectPermission.htmlType.htmlTypeVariable.htmlUndeclaredThrowableException.htmlWildcardType.htmlclass-useAccessibleObject.htmlAnnotatedArrayType.htmlAnnotatedElement.htmlAnnotatedParameterizedType.htmlAnnotatedType.htmlAnnotatedTypeVariable.htmlAnnotatedWildcardType.htmlArray.htmlConstructor.htmlExecutable.htmlField.htmlGenericArrayType.htmlGenericDeclaration.htmlGenericSignatureFormatError.htmlInaccessibleObjectException.htmlInvocationHandler.htmlInvocationTargetException.htmlMalformedParameterizedTypeException.htmlMalformedParametersException.htmlMember.htmlMethod.htmlModifier.htmlParameter.htmlParameterizedType.htmlProxy.htmlReflectPermission.htmlType.htmlTypeVariable.htmlUndeclaredThrowableException.htmlWildcardType.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmathBigDecimal.htmlBigInteger.htmlMathContext.htmlRoundingMode.htmlclass-useBigDecimal.htmlBigInteger.htmlMathContext.htmlRoundingMode.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlnetAuthenticator.RequestorType.htmlAuthenticator.htmlBindException.htmlCacheRequest.htmlCacheResponse.htmlConnectException.htmlContentHandler.htmlContentHandlerFactory.htmlCookieHandler.htmlCookieManager.htmlCookiePolicy.htmlCookieStore.htmlDatagramPacket.htmlDatagramSocket.htmlDatagramSocketImpl.htmlDatagramSocketImplFactory.htmlFileNameMap.htmlHttpCookie.htmlHttpRetryException.htmlHttpURLConnection.htmlIDN.htmlInet4Address.htmlInet6Address.htmlInetAddress.htmlInetSocketAddress.htmlInterfaceAddress.htmlJarURLConnection.htmlMalformedURLException.htmlMulticastSocket.htmlNetPermission.htmlNetworkInterface.htmlNoRouteToHostException.htmlPasswordAuthentication.htmlPortUnreachableException.htmlProtocolException.htmlProtocolFamily.htmlProxy.Type.htmlProxy.htmlProxySelector.htmlResponseCache.htmlSecureCacheResponse.htmlServerSocket.htmlSocket.htmlSocketAddress.htmlSocketException.htmlSocketImpl.htmlSocketImplFactory.htmlSocketOption.htmlSocketOptions.htmlSocketPermission.htmlSocketTimeoutException.htmlStandardProtocolFamily.htmlStandardSocketOptions.htmlURI.htmlURISyntaxException.htmlURL.htmlURLClassLoader.htmlURLConnection.htmlURLDecoder.htmlURLEncoder.htmlURLPermission.htmlURLStreamHandler.htmlURLStreamHandlerFactory.htmlUnknownHostException.htmlUnknownServiceException.htmlclass-useAuthenticator.RequestorType.htmlAuthenticator.htmlBindException.htmlCacheRequest.htmlCacheResponse.htmlConnectException.htmlContentHandler.htmlContentHandlerFactory.htmlCookieHandler.htmlCookieManager.htmlCookiePolicy.htmlCookieStore.htmlDatagramPacket.htmlDatagramSocket.htmlDatagramSocketImpl.htmlDatagramSocketImplFactory.htmlFileNameMap.htmlHttpCookie.htmlHttpRetryException.htmlHttpURLConnection.htmlIDN.htmlInet4Address.htmlInet6Address.htmlInetAddress.htmlInetSocketAddress.htmlInterfaceAddress.htmlJarURLConnection.htmlMalformedURLException.htmlMulticastSocket.htmlNetPermission.htmlNetworkInterface.htmlNoRouteToHostException.htmlPasswordAuthentication.htmlPortUnreachableException.htmlProtocolException.htmlProtocolFamily.htmlProxy.Type.htmlProxy.htmlProxySelector.htmlResponseCache.htmlSecureCacheResponse.htmlServerSocket.htmlSocket.htmlSocketAddress.htmlSocketException.htmlSocketImpl.htmlSocketImplFactory.htmlSocketOption.htmlSocketOptions.htmlSocketPermission.htmlSocketTimeoutException.htmlStandardProtocolFamily.htmlStandardSocketOptions.htmlURI.htmlURISyntaxException.htmlURL.htmlURLClassLoader.htmlURLConnection.htmlURLDecoder.htmlURLEncoder.htmlURLPermission.htmlURLStreamHandler.htmlURLStreamHandlerFactory.htmlUnknownHostException.htmlUnknownServiceException.htmldoc-filesnet-properties.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiURLStreamHandlerProvider.htmlclass-useURLStreamHandlerProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlnioBuffer.htmlBufferOverflowException.htmlBufferUnderflowException.htmlByteBuffer.htmlByteOrder.htmlCharBuffer.htmlDoubleBuffer.htmlFloatBuffer.htmlIntBuffer.htmlInvalidMarkException.htmlLongBuffer.htmlMappedByteBuffer.htmlReadOnlyBufferException.htmlShortBuffer.htmlchannelsAcceptPendingException.htmlAlreadyBoundException.htmlAlreadyConnectedException.htmlAsynchronousByteChannel.htmlAsynchronousChannel.htmlAsynchronousChannelGroup.htmlAsynchronousCloseException.htmlAsynchronousFileChannel.htmlAsynchronousServerSocketChannel.htmlAsynchronousSocketChannel.htmlByteChannel.htmlCancelledKeyException.htmlChannel.htmlChannels.htmlClosedByInterruptException.htmlClosedChannelException.htmlClosedSelectorException.htmlCompletionHandler.htmlConnectionPendingException.htmlDatagramChannel.htmlFileChannel.MapMode.htmlFileChannel.htmlFileLock.htmlFileLockInterruptionException.htmlGatheringByteChannel.htmlIllegalBlockingModeException.htmlIllegalChannelGroupException.htmlIllegalSelectorException.htmlInterruptedByTimeoutException.htmlInterruptibleChannel.htmlMembershipKey.htmlMulticastChannel.htmlNetworkChannel.htmlNoConnectionPendingException.htmlNonReadableChannelException.htmlNonWritableChannelException.htmlNotYetBoundException.htmlNotYetConnectedException.htmlOverlappingFileLockException.htmlPipe.SinkChannel.htmlPipe.SourceChannel.htmlPipe.htmlReadPendingException.htmlReadableByteChannel.htmlScatteringByteChannel.htmlSeekableByteChannel.htmlSelectableChannel.htmlSelectionKey.htmlSelector.htmlServerSocketChannel.htmlShutdownChannelGroupException.htmlSocketChannel.htmlUnresolvedAddressException.htmlUnsupportedAddressTypeException.htmlWritableByteChannel.htmlWritePendingException.htmlclass-useAcceptPendingException.htmlAlreadyBoundException.htmlAlreadyConnectedException.htmlAsynchronousByteChannel.htmlAsynchronousChannel.htmlAsynchronousChannelGroup.htmlAsynchronousCloseException.htmlAsynchronousFileChannel.htmlAsynchronousServerSocketChannel.htmlAsynchronousSocketChannel.htmlByteChannel.htmlCancelledKeyException.htmlChannel.htmlChannels.htmlClosedByInterruptException.htmlClosedChannelException.htmlClosedSelectorException.htmlCompletionHandler.htmlConnectionPendingException.htmlDatagramChannel.htmlFileChannel.MapMode.htmlFileChannel.htmlFileLock.htmlFileLockInterruptionException.htmlGatheringByteChannel.htmlIllegalBlockingModeException.htmlIllegalChannelGroupException.htmlIllegalSelectorException.htmlInterruptedByTimeoutException.htmlInterruptibleChannel.htmlMembershipKey.htmlMulticastChannel.htmlNetworkChannel.htmlNoConnectionPendingException.htmlNonReadableChannelException.htmlNonWritableChannelException.htmlNotYetBoundException.htmlNotYetConnectedException.htmlOverlappingFileLockException.htmlPipe.SinkChannel.htmlPipe.SourceChannel.htmlPipe.htmlReadPendingException.htmlReadableByteChannel.htmlScatteringByteChannel.htmlSeekableByteChannel.htmlSelectableChannel.htmlSelectionKey.htmlSelector.htmlServerSocketChannel.htmlShutdownChannelGroupException.htmlSocketChannel.htmlUnresolvedAddressException.htmlUnsupportedAddressTypeException.htmlWritableByteChannel.htmlWritePendingException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiAbstractInterruptibleChannel.htmlAbstractSelectableChannel.htmlAbstractSelectionKey.htmlAbstractSelector.htmlAsynchronousChannelProvider.htmlSelectorProvider.htmlclass-useAbstractInterruptibleChannel.htmlAbstractSelectableChannel.htmlAbstractSelectionKey.htmlAbstractSelector.htmlAsynchronousChannelProvider.htmlSelectorProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlcharsetCharacterCodingException.htmlCharset.htmlCharsetDecoder.htmlCharsetEncoder.htmlCoderMalfunctionError.htmlCoderResult.htmlCodingErrorAction.htmlIllegalCharsetNameException.htmlMalformedInputException.htmlStandardCharsets.htmlUnmappableCharacterException.htmlUnsupportedCharsetException.htmlclass-useCharacterCodingException.htmlCharset.htmlCharsetDecoder.htmlCharsetEncoder.htmlCoderMalfunctionError.htmlCoderResult.htmlCodingErrorAction.htmlIllegalCharsetNameException.htmlMalformedInputException.htmlStandardCharsets.htmlUnmappableCharacterException.htmlUnsupportedCharsetException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiCharsetProvider.htmlclass-useCharsetProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useBuffer.htmlBufferOverflowException.htmlBufferUnderflowException.htmlByteBuffer.htmlByteOrder.htmlCharBuffer.htmlDoubleBuffer.htmlFloatBuffer.htmlIntBuffer.htmlInvalidMarkException.htmlLongBuffer.htmlMappedByteBuffer.htmlReadOnlyBufferException.htmlShortBuffer.htmlfileAccessDeniedException.htmlAccessMode.htmlAtomicMoveNotSupportedException.htmlClosedDirectoryStreamException.htmlClosedFileSystemException.htmlClosedWatchServiceException.htmlCopyOption.htmlDirectoryIteratorException.htmlDirectoryNotEmptyException.htmlDirectoryStream.Filter.htmlDirectoryStream.htmlFileAlreadyExistsException.htmlFileStore.htmlFileSystem.htmlFileSystemAlreadyExistsException.htmlFileSystemException.htmlFileSystemLoopException.htmlFileSystemNotFoundException.htmlFileSystems.htmlFileVisitOption.htmlFileVisitResult.htmlFileVisitor.htmlFiles.htmlInvalidPathException.htmlLinkOption.htmlLinkPermission.htmlNoSuchFileException.htmlNotDirectoryException.htmlNotLinkException.htmlOpenOption.htmlPath.htmlPathMatcher.htmlPaths.htmlProviderMismatchException.htmlProviderNotFoundException.htmlReadOnlyFileSystemException.htmlSecureDirectoryStream.htmlSimpleFileVisitor.htmlStandardCopyOption.htmlStandardOpenOption.htmlStandardWatchEventKinds.htmlWatchEvent.Kind.htmlWatchEvent.Modifier.htmlWatchEvent.htmlWatchKey.htmlWatchService.htmlWatchable.htmlattributeAclEntry.Builder.htmlAclEntry.htmlAclEntryFlag.htmlAclEntryPermission.htmlAclEntryType.htmlAclFileAttributeView.htmlAttributeView.htmlBasicFileAttributeView.htmlBasicFileAttributes.htmlDosFileAttributeView.htmlDosFileAttributes.htmlFileAttribute.htmlFileAttributeView.htmlFileOwnerAttributeView.htmlFileStoreAttributeView.htmlFileTime.htmlGroupPrincipal.htmlPosixFileAttributeView.htmlPosixFileAttributes.htmlPosixFilePermission.htmlPosixFilePermissions.htmlUserDefinedFileAttributeView.htmlUserPrincipal.htmlUserPrincipalLookupService.htmlUserPrincipalNotFoundException.htmlclass-useAclEntry.Builder.htmlAclEntry.htmlAclEntryFlag.htmlAclEntryPermission.htmlAclEntryType.htmlAclFileAttributeView.htmlAttributeView.htmlBasicFileAttributeView.htmlBasicFileAttributes.htmlDosFileAttributeView.htmlDosFileAttributes.htmlFileAttribute.htmlFileAttributeView.htmlFileOwnerAttributeView.htmlFileStoreAttributeView.htmlFileTime.htmlGroupPrincipal.htmlPosixFileAttributeView.htmlPosixFileAttributes.htmlPosixFilePermission.htmlPosixFilePermissions.htmlUserDefinedFileAttributeView.htmlUserPrincipal.htmlUserPrincipalLookupService.htmlUserPrincipalNotFoundException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAccessDeniedException.htmlAccessMode.htmlAtomicMoveNotSupportedException.htmlClosedDirectoryStreamException.htmlClosedFileSystemException.htmlClosedWatchServiceException.htmlCopyOption.htmlDirectoryIteratorException.htmlDirectoryNotEmptyException.htmlDirectoryStream.Filter.htmlDirectoryStream.htmlFileAlreadyExistsException.htmlFileStore.htmlFileSystem.htmlFileSystemAlreadyExistsException.htmlFileSystemException.htmlFileSystemLoopException.htmlFileSystemNotFoundException.htmlFileSystems.htmlFileVisitOption.htmlFileVisitResult.htmlFileVisitor.htmlFiles.htmlInvalidPathException.htmlLinkOption.htmlLinkPermission.htmlNoSuchFileException.htmlNotDirectoryException.htmlNotLinkException.htmlOpenOption.htmlPath.htmlPathMatcher.htmlPaths.htmlProviderMismatchException.htmlProviderNotFoundException.htmlReadOnlyFileSystemException.htmlSecureDirectoryStream.htmlSimpleFileVisitor.htmlStandardCopyOption.htmlStandardOpenOption.htmlStandardWatchEventKinds.htmlWatchEvent.Kind.htmlWatchEvent.Modifier.htmlWatchEvent.htmlWatchKey.htmlWatchService.htmlWatchable.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiFileSystemProvider.htmlFileTypeDetector.htmlclass-useFileSystemProvider.htmlFileTypeDetector.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsecurityAccessControlContext.htmlAccessControlException.htmlAccessController.htmlAlgorithmConstraints.htmlAlgorithmParameterGenerator.htmlAlgorithmParameterGeneratorSpi.htmlAlgorithmParameters.htmlAlgorithmParametersSpi.htmlAllPermission.htmlAuthProvider.htmlBasicPermission.htmlCertificate.htmlCodeSigner.htmlCodeSource.htmlCryptoPrimitive.htmlDigestException.htmlDigestInputStream.htmlDigestOutputStream.htmlDomainCombiner.htmlDomainLoadStoreParameter.htmlDrbgParameters.Capability.htmlDrbgParameters.Instantiation.htmlDrbgParameters.NextBytes.htmlDrbgParameters.Reseed.htmlDrbgParameters.htmlGeneralSecurityException.htmlGuard.htmlGuardedObject.htmlIdentity.htmlIdentityScope.htmlInvalidAlgorithmParameterException.htmlInvalidKeyException.htmlInvalidParameterException.htmlKey.htmlKeyException.htmlKeyFactory.htmlKeyFactorySpi.htmlKeyManagementException.htmlKeyPair.htmlKeyPairGenerator.htmlKeyPairGeneratorSpi.htmlKeyRep.Type.htmlKeyRep.htmlKeyStore.Builder.htmlKeyStore.CallbackHandlerProtection.htmlKeyStore.Entry.Attribute.htmlKeyStore.Entry.htmlKeyStore.LoadStoreParameter.htmlKeyStore.PasswordProtection.htmlKeyStore.PrivateKeyEntry.htmlKeyStore.ProtectionParameter.htmlKeyStore.SecretKeyEntry.htmlKeyStore.TrustedCertificateEntry.htmlKeyStore.htmlKeyStoreException.htmlKeyStoreSpi.htmlMessageDigest.htmlMessageDigestSpi.htmlNoSuchAlgorithmException.htmlNoSuchProviderException.htmlPKCS12Attribute.htmlPermission.htmlPermissionCollection.htmlPermissions.htmlPolicy.Parameters.htmlPolicy.htmlPolicySpi.htmlPrincipal.htmlPrivateKey.htmlPrivilegedAction.htmlPrivilegedActionException.htmlPrivilegedExceptionAction.htmlProtectionDomain.htmlProvider.Service.htmlProvider.htmlProviderException.htmlPublicKey.htmlSecureClassLoader.htmlSecureRandom.htmlSecureRandomParameters.htmlSecureRandomSpi.htmlSecurity.htmlSecurityPermission.htmlSignature.htmlSignatureException.htmlSignatureSpi.htmlSignedObject.htmlSigner.htmlTimestamp.htmlURIParameter.htmlUnrecoverableEntryException.htmlUnrecoverableKeyException.htmlUnresolvedPermission.htmlaclAcl.htmlAclEntry.htmlAclNotFoundException.htmlGroup.htmlLastOwnerException.htmlNotOwnerException.htmlOwner.htmlPermission.htmlclass-useAcl.htmlAclEntry.htmlAclNotFoundException.htmlGroup.htmlLastOwnerException.htmlNotOwnerException.htmlOwner.htmlPermission.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlcertCRL.htmlCRLException.htmlCRLReason.htmlCRLSelector.htmlCertPath.CertPathRep.htmlCertPath.htmlCertPathBuilder.htmlCertPathBuilderException.htmlCertPathBuilderResult.htmlCertPathBuilderSpi.htmlCertPathChecker.htmlCertPathParameters.htmlCertPathValidator.htmlCertPathValidatorException.BasicReason.htmlCertPathValidatorException.Reason.htmlCertPathValidatorException.htmlCertPathValidatorResult.htmlCertPathValidatorSpi.htmlCertSelector.htmlCertStore.htmlCertStoreException.htmlCertStoreParameters.htmlCertStoreSpi.htmlCertificate.CertificateRep.htmlCertificate.htmlCertificateEncodingException.htmlCertificateException.htmlCertificateExpiredException.htmlCertificateFactory.htmlCertificateFactorySpi.htmlCertificateNotYetValidException.htmlCertificateParsingException.htmlCertificateRevokedException.htmlCollectionCertStoreParameters.htmlExtension.htmlLDAPCertStoreParameters.htmlPKIXBuilderParameters.htmlPKIXCertPathBuilderResult.htmlPKIXCertPathChecker.htmlPKIXCertPathValidatorResult.htmlPKIXParameters.htmlPKIXReason.htmlPKIXRevocationChecker.Option.htmlPKIXRevocationChecker.htmlPolicyNode.htmlPolicyQualifierInfo.htmlTrustAnchor.htmlURICertStoreParameters.htmlX509CRL.htmlX509CRLEntry.htmlX509CRLSelector.htmlX509CertSelector.htmlX509Certificate.htmlX509Extension.htmlclass-useCRL.htmlCRLException.htmlCRLReason.htmlCRLSelector.htmlCertPath.CertPathRep.htmlCertPath.htmlCertPathBuilder.htmlCertPathBuilderException.htmlCertPathBuilderResult.htmlCertPathBuilderSpi.htmlCertPathChecker.htmlCertPathParameters.htmlCertPathValidator.htmlCertPathValidatorException.BasicReason.htmlCertPathValidatorException.Reason.htmlCertPathValidatorException.htmlCertPathValidatorResult.htmlCertPathValidatorSpi.htmlCertSelector.htmlCertStore.htmlCertStoreException.htmlCertStoreParameters.htmlCertStoreSpi.htmlCertificate.CertificateRep.htmlCertificate.htmlCertificateEncodingException.htmlCertificateException.htmlCertificateExpiredException.htmlCertificateFactory.htmlCertificateFactorySpi.htmlCertificateNotYetValidException.htmlCertificateParsingException.htmlCertificateRevokedException.htmlCollectionCertStoreParameters.htmlExtension.htmlLDAPCertStoreParameters.htmlPKIXBuilderParameters.htmlPKIXCertPathBuilderResult.htmlPKIXCertPathChecker.htmlPKIXCertPathValidatorResult.htmlPKIXParameters.htmlPKIXReason.htmlPKIXRevocationChecker.Option.htmlPKIXRevocationChecker.htmlPolicyNode.htmlPolicyQualifierInfo.htmlTrustAnchor.htmlURICertStoreParameters.htmlX509CRL.htmlX509CRLEntry.htmlX509CRLSelector.htmlX509CertSelector.htmlX509Certificate.htmlX509Extension.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAccessControlContext.htmlAccessControlException.htmlAccessController.htmlAlgorithmConstraints.htmlAlgorithmParameterGenerator.htmlAlgorithmParameterGeneratorSpi.htmlAlgorithmParameters.htmlAlgorithmParametersSpi.htmlAllPermission.htmlAuthProvider.htmlBasicPermission.htmlCertificate.htmlCodeSigner.htmlCodeSource.htmlCryptoPrimitive.htmlDigestException.htmlDigestInputStream.htmlDigestOutputStream.htmlDomainCombiner.htmlDomainLoadStoreParameter.htmlDrbgParameters.Capability.htmlDrbgParameters.Instantiation.htmlDrbgParameters.NextBytes.htmlDrbgParameters.Reseed.htmlDrbgParameters.htmlGeneralSecurityException.htmlGuard.htmlGuardedObject.htmlIdentity.htmlIdentityScope.htmlInvalidAlgorithmParameterException.htmlInvalidKeyException.htmlInvalidParameterException.htmlKey.htmlKeyException.htmlKeyFactory.htmlKeyFactorySpi.htmlKeyManagementException.htmlKeyPair.htmlKeyPairGenerator.htmlKeyPairGeneratorSpi.htmlKeyRep.Type.htmlKeyRep.htmlKeyStore.Builder.htmlKeyStore.CallbackHandlerProtection.htmlKeyStore.Entry.Attribute.htmlKeyStore.Entry.htmlKeyStore.LoadStoreParameter.htmlKeyStore.PasswordProtection.htmlKeyStore.PrivateKeyEntry.htmlKeyStore.ProtectionParameter.htmlKeyStore.SecretKeyEntry.htmlKeyStore.TrustedCertificateEntry.htmlKeyStore.htmlKeyStoreException.htmlKeyStoreSpi.htmlMessageDigest.htmlMessageDigestSpi.htmlNoSuchAlgorithmException.htmlNoSuchProviderException.htmlPKCS12Attribute.htmlPermission.htmlPermissionCollection.htmlPermissions.htmlPolicy.Parameters.htmlPolicy.htmlPolicySpi.htmlPrincipal.htmlPrivateKey.htmlPrivilegedAction.htmlPrivilegedActionException.htmlPrivilegedExceptionAction.htmlProtectionDomain.htmlProvider.Service.htmlProvider.htmlProviderException.htmlPublicKey.htmlSecureClassLoader.htmlSecureRandom.htmlSecureRandomParameters.htmlSecureRandomSpi.htmlSecurity.htmlSecurityPermission.htmlSignature.htmlSignatureException.htmlSignatureSpi.htmlSignedObject.htmlSigner.htmlTimestamp.htmlURIParameter.htmlUnrecoverableEntryException.htmlUnrecoverableKeyException.htmlUnresolvedPermission.htmlinterfacesDSAKey.htmlDSAKeyPairGenerator.htmlDSAParams.htmlDSAPrivateKey.htmlDSAPublicKey.htmlECKey.htmlECPrivateKey.htmlECPublicKey.htmlRSAKey.htmlRSAMultiPrimePrivateCrtKey.htmlRSAPrivateCrtKey.htmlRSAPrivateKey.htmlRSAPublicKey.htmlXECKey.htmlXECPrivateKey.htmlXECPublicKey.htmlclass-useDSAKey.htmlDSAKeyPairGenerator.htmlDSAParams.htmlDSAPrivateKey.htmlDSAPublicKey.htmlECKey.htmlECPrivateKey.htmlECPublicKey.htmlRSAKey.htmlRSAMultiPrimePrivateCrtKey.htmlRSAPrivateCrtKey.htmlRSAPrivateKey.htmlRSAPublicKey.htmlXECKey.htmlXECPrivateKey.htmlXECPublicKey.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspecAlgorithmParameterSpec.htmlDSAGenParameterSpec.htmlDSAParameterSpec.htmlDSAPrivateKeySpec.htmlDSAPublicKeySpec.htmlECField.htmlECFieldF2m.htmlECFieldFp.htmlECGenParameterSpec.htmlECParameterSpec.htmlECPoint.htmlECPrivateKeySpec.htmlECPublicKeySpec.htmlEllipticCurve.htmlEncodedKeySpec.htmlInvalidKeySpecException.htmlInvalidParameterSpecException.htmlKeySpec.htmlMGF1ParameterSpec.htmlNamedParameterSpec.htmlPKCS8EncodedKeySpec.htmlPSSParameterSpec.htmlRSAKeyGenParameterSpec.htmlRSAMultiPrimePrivateCrtKeySpec.htmlRSAOtherPrimeInfo.htmlRSAPrivateCrtKeySpec.htmlRSAPrivateKeySpec.htmlRSAPublicKeySpec.htmlX509EncodedKeySpec.htmlXECPrivateKeySpec.htmlXECPublicKeySpec.htmlclass-useAlgorithmParameterSpec.htmlDSAGenParameterSpec.htmlDSAParameterSpec.htmlDSAPrivateKeySpec.htmlDSAPublicKeySpec.htmlECField.htmlECFieldF2m.htmlECFieldFp.htmlECGenParameterSpec.htmlECParameterSpec.htmlECPoint.htmlECPrivateKeySpec.htmlECPublicKeySpec.htmlEllipticCurve.htmlEncodedKeySpec.htmlInvalidKeySpecException.htmlInvalidParameterSpecException.htmlKeySpec.htmlMGF1ParameterSpec.htmlNamedParameterSpec.htmlPKCS8EncodedKeySpec.htmlPSSParameterSpec.htmlRSAKeyGenParameterSpec.htmlRSAMultiPrimePrivateCrtKeySpec.htmlRSAOtherPrimeInfo.htmlRSAPrivateCrtKeySpec.htmlRSAPrivateKeySpec.htmlRSAPublicKeySpec.htmlX509EncodedKeySpec.htmlXECPrivateKeySpec.htmlXECPublicKeySpec.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltextAnnotation.htmlAttributedCharacterIterator.Attribute.htmlAttributedCharacterIterator.htmlAttributedString.htmlBidi.htmlBreakIterator.htmlCharacterIterator.htmlChoiceFormat.htmlCollationElementIterator.htmlCollationKey.htmlCollator.htmlDateFormat.Field.htmlDateFormat.htmlDateFormatSymbols.htmlDecimalFormat.htmlDecimalFormatSymbols.htmlFieldPosition.htmlFormat.Field.htmlFormat.htmlMessageFormat.Field.htmlMessageFormat.htmlNormalizer.Form.htmlNormalizer.htmlNumberFormat.Field.htmlNumberFormat.htmlParseException.htmlParsePosition.htmlRuleBasedCollator.htmlSimpleDateFormat.htmlStringCharacterIterator.htmlclass-useAnnotation.htmlAttributedCharacterIterator.Attribute.htmlAttributedCharacterIterator.htmlAttributedString.htmlBidi.htmlBreakIterator.htmlCharacterIterator.htmlChoiceFormat.htmlCollationElementIterator.htmlCollationKey.htmlCollator.htmlDateFormat.Field.htmlDateFormat.htmlDateFormatSymbols.htmlDecimalFormat.htmlDecimalFormatSymbols.htmlFieldPosition.htmlFormat.Field.htmlFormat.htmlMessageFormat.Field.htmlMessageFormat.htmlNormalizer.Form.htmlNormalizer.htmlNumberFormat.Field.htmlNumberFormat.htmlParseException.htmlParsePosition.htmlRuleBasedCollator.htmlSimpleDateFormat.htmlStringCharacterIterator.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiBreakIteratorProvider.htmlCollatorProvider.htmlDateFormatProvider.htmlDateFormatSymbolsProvider.htmlDecimalFormatSymbolsProvider.htmlNumberFormatProvider.htmlclass-useBreakIteratorProvider.htmlCollatorProvider.htmlDateFormatProvider.htmlDateFormatSymbolsProvider.htmlDecimalFormatSymbolsProvider.htmlNumberFormatProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltimeClock.htmlDateTimeException.htmlDayOfWeek.htmlDuration.htmlInstant.htmlLocalDate.htmlLocalDateTime.htmlLocalTime.htmlMonth.htmlMonthDay.htmlOffsetDateTime.htmlOffsetTime.htmlPeriod.htmlYear.htmlYearMonth.htmlZoneId.htmlZoneOffset.htmlZonedDateTime.htmlchronoAbstractChronology.htmlChronoLocalDate.htmlChronoLocalDateTime.htmlChronoPeriod.htmlChronoZonedDateTime.htmlChronology.htmlEra.htmlHijrahChronology.htmlHijrahDate.htmlHijrahEra.htmlIsoChronology.htmlIsoEra.htmlJapaneseChronology.htmlJapaneseDate.htmlJapaneseEra.htmlMinguoChronology.htmlMinguoDate.htmlMinguoEra.htmlThaiBuddhistChronology.htmlThaiBuddhistDate.htmlThaiBuddhistEra.htmlclass-useAbstractChronology.htmlChronoLocalDate.htmlChronoLocalDateTime.htmlChronoPeriod.htmlChronoZonedDateTime.htmlChronology.htmlEra.htmlHijrahChronology.htmlHijrahDate.htmlHijrahEra.htmlIsoChronology.htmlIsoEra.htmlJapaneseChronology.htmlJapaneseDate.htmlJapaneseEra.htmlMinguoChronology.htmlMinguoDate.htmlMinguoEra.htmlThaiBuddhistChronology.htmlThaiBuddhistDate.htmlThaiBuddhistEra.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useClock.htmlDateTimeException.htmlDayOfWeek.htmlDuration.htmlInstant.htmlLocalDate.htmlLocalDateTime.htmlLocalTime.htmlMonth.htmlMonthDay.htmlOffsetDateTime.htmlOffsetTime.htmlPeriod.htmlYear.htmlYearMonth.htmlZoneId.htmlZoneOffset.htmlZonedDateTime.htmlformatDateTimeFormatter.htmlDateTimeFormatterBuilder.htmlDateTimeParseException.htmlDecimalStyle.htmlFormatStyle.htmlResolverStyle.htmlSignStyle.htmlTextStyle.htmlclass-useDateTimeFormatter.htmlDateTimeFormatterBuilder.htmlDateTimeParseException.htmlDecimalStyle.htmlFormatStyle.htmlResolverStyle.htmlSignStyle.htmlTextStyle.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltemporalChronoField.htmlChronoUnit.htmlIsoFields.htmlJulianFields.htmlTemporal.htmlTemporalAccessor.htmlTemporalAdjuster.htmlTemporalAdjusters.htmlTemporalAmount.htmlTemporalField.htmlTemporalQueries.htmlTemporalQuery.htmlTemporalUnit.htmlUnsupportedTemporalTypeException.htmlValueRange.htmlWeekFields.htmlclass-useChronoField.htmlChronoUnit.htmlIsoFields.htmlJulianFields.htmlTemporal.htmlTemporalAccessor.htmlTemporalAdjuster.htmlTemporalAdjusters.htmlTemporalAmount.htmlTemporalField.htmlTemporalQueries.htmlTemporalQuery.htmlTemporalUnit.htmlUnsupportedTemporalTypeException.htmlValueRange.htmlWeekFields.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlzoneZoneOffsetTransition.htmlZoneOffsetTransitionRule.TimeDefinition.htmlZoneOffsetTransitionRule.htmlZoneRules.htmlZoneRulesException.htmlZoneRulesProvider.htmlclass-useZoneOffsetTransition.htmlZoneOffsetTransitionRule.TimeDefinition.htmlZoneOffsetTransitionRule.htmlZoneRules.htmlZoneRulesException.htmlZoneRulesProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlutilAbstractCollection.htmlAbstractList.htmlAbstractMap.SimpleEntry.htmlAbstractMap.SimpleImmutableEntry.htmlAbstractMap.htmlAbstractQueue.htmlAbstractSequentialList.htmlAbstractSet.htmlArrayDeque.htmlArrayList.htmlArrays.htmlBase64.Decoder.htmlBase64.Encoder.htmlBase64.htmlBitSet.htmlCalendar.Builder.htmlCalendar.htmlCollection.htmlCollections.htmlComparator.htmlConcurrentModificationException.htmlCurrency.htmlDate.htmlDeque.htmlDictionary.htmlDoubleSummaryStatistics.htmlDuplicateFormatFlagsException.htmlEmptyStackException.htmlEnumMap.htmlEnumSet.htmlEnumeration.htmlEventListener.htmlEventListenerProxy.htmlEventObject.htmlFormatFlagsConversionMismatchException.htmlFormattable.htmlFormattableFlags.htmlFormatter.BigDecimalLayoutForm.htmlFormatter.htmlFormatterClosedException.htmlGregorianCalendar.htmlHashMap.htmlHashSet.htmlHashtable.htmlIdentityHashMap.htmlIllegalFormatCodePointException.htmlIllegalFormatConversionException.htmlIllegalFormatException.htmlIllegalFormatFlagsException.htmlIllegalFormatPrecisionException.htmlIllegalFormatWidthException.htmlIllformedLocaleException.htmlInputMismatchException.htmlIntSummaryStatistics.htmlInvalidPropertiesFormatException.htmlIterator.htmlLinkedHashMap.htmlLinkedHashSet.htmlLinkedList.htmlList.htmlListIterator.htmlListResourceBundle.htmlLocale.Builder.htmlLocale.Category.htmlLocale.FilteringMode.htmlLocale.IsoCountryCode.htmlLocale.LanguageRange.htmlLocale.htmlLongSummaryStatistics.htmlMap.Entry.htmlMap.htmlMissingFormatArgumentException.htmlMissingFormatWidthException.htmlMissingResourceException.htmlNavigableMap.htmlNavigableSet.htmlNoSuchElementException.htmlObjects.htmlObservable.htmlObserver.htmlOptional.htmlOptionalDouble.htmlOptionalInt.htmlOptionalLong.htmlPrimitiveIterator.OfDouble.htmlPrimitiveIterator.OfInt.htmlPrimitiveIterator.OfLong.htmlPrimitiveIterator.htmlPriorityQueue.htmlProperties.htmlPropertyPermission.htmlPropertyResourceBundle.htmlQueue.htmlRandom.htmlRandomAccess.htmlResourceBundle.Control.htmlResourceBundle.htmlScanner.htmlServiceConfigurationError.htmlServiceLoader.Provider.htmlServiceLoader.htmlSet.htmlSimpleTimeZone.htmlSortedMap.htmlSortedSet.htmlSpliterator.OfDouble.htmlSpliterator.OfInt.htmlSpliterator.OfLong.htmlSpliterator.OfPrimitive.htmlSpliterator.htmlSpliterators.AbstractDoubleSpliterator.htmlSpliterators.AbstractIntSpliterator.htmlSpliterators.AbstractLongSpliterator.htmlSpliterators.AbstractSpliterator.htmlSpliterators.htmlSplittableRandom.htmlStack.htmlStringJoiner.htmlStringTokenizer.htmlTimeZone.htmlTimer.htmlTimerTask.htmlTooManyListenersException.htmlTreeMap.htmlTreeSet.htmlUUID.htmlUnknownFormatConversionException.htmlUnknownFormatFlagsException.htmlVector.htmlWeakHashMap.htmlclass-useAbstractCollection.htmlAbstractList.htmlAbstractMap.SimpleEntry.htmlAbstractMap.SimpleImmutableEntry.htmlAbstractMap.htmlAbstractQueue.htmlAbstractSequentialList.htmlAbstractSet.htmlArrayDeque.htmlArrayList.htmlArrays.htmlBase64.Decoder.htmlBase64.Encoder.htmlBase64.htmlBitSet.htmlCalendar.Builder.htmlCalendar.htmlCollection.htmlCollections.htmlComparator.htmlConcurrentModificationException.htmlCurrency.htmlDate.htmlDeque.htmlDictionary.htmlDoubleSummaryStatistics.htmlDuplicateFormatFlagsException.htmlEmptyStackException.htmlEnumMap.htmlEnumSet.htmlEnumeration.htmlEventListener.htmlEventListenerProxy.htmlEventObject.htmlFormatFlagsConversionMismatchException.htmlFormattable.htmlFormattableFlags.htmlFormatter.BigDecimalLayoutForm.htmlFormatter.htmlFormatterClosedException.htmlGregorianCalendar.htmlHashMap.htmlHashSet.htmlHashtable.htmlIdentityHashMap.htmlIllegalFormatCodePointException.htmlIllegalFormatConversionException.htmlIllegalFormatException.htmlIllegalFormatFlagsException.htmlIllegalFormatPrecisionException.htmlIllegalFormatWidthException.htmlIllformedLocaleException.htmlInputMismatchException.htmlIntSummaryStatistics.htmlInvalidPropertiesFormatException.htmlIterator.htmlLinkedHashMap.htmlLinkedHashSet.htmlLinkedList.htmlList.htmlListIterator.htmlListResourceBundle.htmlLocale.Builder.htmlLocale.Category.htmlLocale.FilteringMode.htmlLocale.IsoCountryCode.htmlLocale.LanguageRange.htmlLocale.htmlLongSummaryStatistics.htmlMap.Entry.htmlMap.htmlMissingFormatArgumentException.htmlMissingFormatWidthException.htmlMissingResourceException.htmlNavigableMap.htmlNavigableSet.htmlNoSuchElementException.htmlObjects.htmlObservable.htmlObserver.htmlOptional.htmlOptionalDouble.htmlOptionalInt.htmlOptionalLong.htmlPrimitiveIterator.OfDouble.htmlPrimitiveIterator.OfInt.htmlPrimitiveIterator.OfLong.htmlPrimitiveIterator.htmlPriorityQueue.htmlProperties.htmlPropertyPermission.htmlPropertyResourceBundle.htmlQueue.htmlRandom.htmlRandomAccess.htmlResourceBundle.Control.htmlResourceBundle.htmlScanner.htmlServiceConfigurationError.htmlServiceLoader.Provider.htmlServiceLoader.htmlSet.htmlSimpleTimeZone.htmlSortedMap.htmlSortedSet.htmlSpliterator.OfDouble.htmlSpliterator.OfInt.htmlSpliterator.OfLong.htmlSpliterator.OfPrimitive.htmlSpliterator.htmlSpliterators.AbstractDoubleSpliterator.htmlSpliterators.AbstractIntSpliterator.htmlSpliterators.AbstractLongSpliterator.htmlSpliterators.AbstractSpliterator.htmlSpliterators.htmlSplittableRandom.htmlStack.htmlStringJoiner.htmlStringTokenizer.htmlTimeZone.htmlTimer.htmlTimerTask.htmlTooManyListenersException.htmlTreeMap.htmlTreeSet.htmlUUID.htmlUnknownFormatConversionException.htmlUnknownFormatFlagsException.htmlVector.htmlWeakHashMap.htmlconcurrentAbstractExecutorService.htmlArrayBlockingQueue.htmlBlockingDeque.htmlBlockingQueue.htmlBrokenBarrierException.htmlCallable.htmlCancellationException.htmlCompletableFuture.AsynchronousCompletionTask.htmlCompletableFuture.htmlCompletionException.htmlCompletionService.htmlCompletionStage.htmlConcurrentHashMap.KeySetView.htmlConcurrentHashMap.htmlConcurrentLinkedDeque.htmlConcurrentLinkedQueue.htmlConcurrentMap.htmlConcurrentNavigableMap.htmlConcurrentSkipListMap.htmlConcurrentSkipListSet.htmlCopyOnWriteArrayList.htmlCopyOnWriteArraySet.htmlCountDownLatch.htmlCountedCompleter.htmlCyclicBarrier.htmlDelayQueue.htmlDelayed.htmlExchanger.htmlExecutionException.htmlExecutor.htmlExecutorCompletionService.htmlExecutorService.htmlExecutors.htmlFlow.Processor.htmlFlow.Publisher.htmlFlow.Subscriber.htmlFlow.Subscription.htmlFlow.htmlForkJoinPool.ForkJoinWorkerThreadFactory.htmlForkJoinPool.ManagedBlocker.htmlForkJoinPool.htmlForkJoinTask.htmlForkJoinWorkerThread.htmlFuture.htmlFutureTask.htmlLinkedBlockingDeque.htmlLinkedBlockingQueue.htmlLinkedTransferQueue.htmlPhaser.htmlPriorityBlockingQueue.htmlRecursiveAction.htmlRecursiveTask.htmlRejectedExecutionException.htmlRejectedExecutionHandler.htmlRunnableFuture.htmlRunnableScheduledFuture.htmlScheduledExecutorService.htmlScheduledFuture.htmlScheduledThreadPoolExecutor.htmlSemaphore.htmlSubmissionPublisher.htmlSynchronousQueue.htmlThreadFactory.htmlThreadLocalRandom.htmlThreadPoolExecutor.AbortPolicy.htmlThreadPoolExecutor.CallerRunsPolicy.htmlThreadPoolExecutor.DiscardOldestPolicy.htmlThreadPoolExecutor.DiscardPolicy.htmlThreadPoolExecutor.htmlTimeUnit.htmlTimeoutException.htmlTransferQueue.htmlatomicAtomicBoolean.htmlAtomicInteger.htmlAtomicIntegerArray.htmlAtomicIntegerFieldUpdater.htmlAtomicLong.htmlAtomicLongArray.htmlAtomicLongFieldUpdater.htmlAtomicMarkableReference.htmlAtomicReference.htmlAtomicReferenceArray.htmlAtomicReferenceFieldUpdater.htmlAtomicStampedReference.htmlDoubleAccumulator.htmlDoubleAdder.htmlLongAccumulator.htmlLongAdder.htmlclass-useAtomicBoolean.htmlAtomicInteger.htmlAtomicIntegerArray.htmlAtomicIntegerFieldUpdater.htmlAtomicLong.htmlAtomicLongArray.htmlAtomicLongFieldUpdater.htmlAtomicMarkableReference.htmlAtomicReference.htmlAtomicReferenceArray.htmlAtomicReferenceFieldUpdater.htmlAtomicStampedReference.htmlDoubleAccumulator.htmlDoubleAdder.htmlLongAccumulator.htmlLongAdder.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAbstractExecutorService.htmlArrayBlockingQueue.htmlBlockingDeque.htmlBlockingQueue.htmlBrokenBarrierException.htmlCallable.htmlCancellationException.htmlCompletableFuture.AsynchronousCompletionTask.htmlCompletableFuture.htmlCompletionException.htmlCompletionService.htmlCompletionStage.htmlConcurrentHashMap.KeySetView.htmlConcurrentHashMap.htmlConcurrentLinkedDeque.htmlConcurrentLinkedQueue.htmlConcurrentMap.htmlConcurrentNavigableMap.htmlConcurrentSkipListMap.htmlConcurrentSkipListSet.htmlCopyOnWriteArrayList.htmlCopyOnWriteArraySet.htmlCountDownLatch.htmlCountedCompleter.htmlCyclicBarrier.htmlDelayQueue.htmlDelayed.htmlExchanger.htmlExecutionException.htmlExecutor.htmlExecutorCompletionService.htmlExecutorService.htmlExecutors.htmlFlow.Processor.htmlFlow.Publisher.htmlFlow.Subscriber.htmlFlow.Subscription.htmlFlow.htmlForkJoinPool.ForkJoinWorkerThreadFactory.htmlForkJoinPool.ManagedBlocker.htmlForkJoinPool.htmlForkJoinTask.htmlForkJoinWorkerThread.htmlFuture.htmlFutureTask.htmlLinkedBlockingDeque.htmlLinkedBlockingQueue.htmlLinkedTransferQueue.htmlPhaser.htmlPriorityBlockingQueue.htmlRecursiveAction.htmlRecursiveTask.htmlRejectedExecutionException.htmlRejectedExecutionHandler.htmlRunnableFuture.htmlRunnableScheduledFuture.htmlScheduledExecutorService.htmlScheduledFuture.htmlScheduledThreadPoolExecutor.htmlSemaphore.htmlSubmissionPublisher.htmlSynchronousQueue.htmlThreadFactory.htmlThreadLocalRandom.htmlThreadPoolExecutor.AbortPolicy.htmlThreadPoolExecutor.CallerRunsPolicy.htmlThreadPoolExecutor.DiscardOldestPolicy.htmlThreadPoolExecutor.DiscardPolicy.htmlThreadPoolExecutor.htmlTimeUnit.htmlTimeoutException.htmlTransferQueue.htmllocksAbstractOwnableSynchronizer.htmlAbstractQueuedLongSynchronizer.ConditionObject.htmlAbstractQueuedLongSynchronizer.htmlAbstractQueuedSynchronizer.ConditionObject.htmlAbstractQueuedSynchronizer.htmlCondition.htmlLock.htmlLockSupport.htmlReadWriteLock.htmlReentrantLock.htmlReentrantReadWriteLock.ReadLock.htmlReentrantReadWriteLock.WriteLock.htmlReentrantReadWriteLock.htmlStampedLock.htmlclass-useAbstractOwnableSynchronizer.htmlAbstractQueuedLongSynchronizer.ConditionObject.htmlAbstractQueuedLongSynchronizer.htmlAbstractQueuedSynchronizer.ConditionObject.htmlAbstractQueuedSynchronizer.htmlCondition.htmlLock.htmlLockSupport.htmlReadWriteLock.htmlReentrantLock.htmlReentrantReadWriteLock.ReadLock.htmlReentrantReadWriteLock.WriteLock.htmlReentrantReadWriteLock.htmlStampedLock.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmldoc-filescoll-designfaq.htmlcoll-index.htmlcoll-overview.htmlcoll-reference.htmlfunctionBiConsumer.htmlBiFunction.htmlBiPredicate.htmlBinaryOperator.htmlBooleanSupplier.htmlConsumer.htmlDoubleBinaryOperator.htmlDoubleConsumer.htmlDoubleFunction.htmlDoublePredicate.htmlDoubleSupplier.htmlDoubleToIntFunction.htmlDoubleToLongFunction.htmlDoubleUnaryOperator.htmlFunction.htmlIntBinaryOperator.htmlIntConsumer.htmlIntFunction.htmlIntPredicate.htmlIntSupplier.htmlIntToDoubleFunction.htmlIntToLongFunction.htmlIntUnaryOperator.htmlLongBinaryOperator.htmlLongConsumer.htmlLongFunction.htmlLongPredicate.htmlLongSupplier.htmlLongToDoubleFunction.htmlLongToIntFunction.htmlLongUnaryOperator.htmlObjDoubleConsumer.htmlObjIntConsumer.htmlObjLongConsumer.htmlPredicate.htmlSupplier.htmlToDoubleBiFunction.htmlToDoubleFunction.htmlToIntBiFunction.htmlToIntFunction.htmlToLongBiFunction.htmlToLongFunction.htmlUnaryOperator.htmlclass-useBiConsumer.htmlBiFunction.htmlBiPredicate.htmlBinaryOperator.htmlBooleanSupplier.htmlConsumer.htmlDoubleBinaryOperator.htmlDoubleConsumer.htmlDoubleFunction.htmlDoublePredicate.htmlDoubleSupplier.htmlDoubleToIntFunction.htmlDoubleToLongFunction.htmlDoubleUnaryOperator.htmlFunction.htmlIntBinaryOperator.htmlIntConsumer.htmlIntFunction.htmlIntPredicate.htmlIntSupplier.htmlIntToDoubleFunction.htmlIntToLongFunction.htmlIntUnaryOperator.htmlLongBinaryOperator.htmlLongConsumer.htmlLongFunction.htmlLongPredicate.htmlLongSupplier.htmlLongToDoubleFunction.htmlLongToIntFunction.htmlLongUnaryOperator.htmlObjDoubleConsumer.htmlObjIntConsumer.htmlObjLongConsumer.htmlPredicate.htmlSupplier.htmlToDoubleBiFunction.htmlToDoubleFunction.htmlToIntBiFunction.htmlToIntFunction.htmlToLongBiFunction.htmlToLongFunction.htmlUnaryOperator.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljarAttributes.Name.htmlAttributes.htmlJarEntry.htmlJarException.htmlJarFile.htmlJarInputStream.htmlJarOutputStream.htmlManifest.htmlPack200.Packer.htmlPack200.Unpacker.htmlPack200.htmlclass-useAttributes.Name.htmlAttributes.htmlJarEntry.htmlJarException.htmlJarFile.htmlJarInputStream.htmlJarOutputStream.htmlManifest.htmlPack200.Packer.htmlPack200.Unpacker.htmlPack200.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlregexMatchResult.htmlMatcher.htmlPattern.htmlPatternSyntaxException.htmlclass-useMatchResult.htmlMatcher.htmlPattern.htmlPatternSyntaxException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiAbstractResourceBundleProvider.htmlCalendarDataProvider.htmlCalendarNameProvider.htmlCurrencyNameProvider.htmlLocaleNameProvider.htmlLocaleServiceProvider.htmlResourceBundleControlProvider.htmlResourceBundleProvider.htmlTimeZoneNameProvider.htmlToolProvider.htmlclass-useAbstractResourceBundleProvider.htmlCalendarDataProvider.htmlCalendarNameProvider.htmlCurrencyNameProvider.htmlLocaleNameProvider.htmlLocaleServiceProvider.htmlResourceBundleControlProvider.htmlResourceBundleProvider.htmlTimeZoneNameProvider.htmlToolProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlstreamBaseStream.htmlCollector.Characteristics.htmlCollector.htmlCollectors.htmlDoubleStream.Builder.htmlDoubleStream.htmlIntStream.Builder.htmlIntStream.htmlLongStream.Builder.htmlLongStream.htmlStream.Builder.htmlStream.htmlStreamSupport.htmlclass-useBaseStream.htmlCollector.Characteristics.htmlCollector.htmlCollectors.htmlDoubleStream.Builder.htmlDoubleStream.htmlIntStream.Builder.htmlIntStream.htmlLongStream.Builder.htmlLongStream.htmlStream.Builder.htmlStream.htmlStreamSupport.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlzipAdler32.htmlCRC32.htmlCRC32C.htmlCheckedInputStream.htmlCheckedOutputStream.htmlChecksum.htmlDataFormatException.htmlDeflater.htmlDeflaterInputStream.htmlDeflaterOutputStream.htmlGZIPInputStream.htmlGZIPOutputStream.htmlInflater.htmlInflaterInputStream.htmlInflaterOutputStream.htmlZipEntry.htmlZipError.htmlZipException.htmlZipFile.htmlZipInputStream.htmlZipOutputStream.htmlclass-useAdler32.htmlCRC32.htmlCRC32C.htmlCheckedInputStream.htmlCheckedOutputStream.htmlChecksum.htmlDataFormatException.htmlDeflater.htmlDeflaterInputStream.htmlDeflaterOutputStream.htmlGZIPInputStream.htmlGZIPOutputStream.htmlInflater.htmlInflaterInputStream.htmlInflaterOutputStream.htmlZipEntry.htmlZipError.htmlZipException.htmlZipFile.htmlZipInputStream.htmlZipOutputStream.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljavaxcryptoAEADBadTagException.htmlBadPaddingException.htmlCipher.htmlCipherInputStream.htmlCipherOutputStream.htmlCipherSpi.htmlEncryptedPrivateKeyInfo.htmlExemptionMechanism.htmlExemptionMechanismException.htmlExemptionMechanismSpi.htmlIllegalBlockSizeException.htmlKeyAgreement.htmlKeyAgreementSpi.htmlKeyGenerator.htmlKeyGeneratorSpi.htmlMac.htmlMacSpi.htmlNoSuchPaddingException.htmlNullCipher.htmlSealedObject.htmlSecretKey.htmlSecretKeyFactory.htmlSecretKeyFactorySpi.htmlShortBufferException.htmlclass-useAEADBadTagException.htmlBadPaddingException.htmlCipher.htmlCipherInputStream.htmlCipherOutputStream.htmlCipherSpi.htmlEncryptedPrivateKeyInfo.htmlExemptionMechanism.htmlExemptionMechanismException.htmlExemptionMechanismSpi.htmlIllegalBlockSizeException.htmlKeyAgreement.htmlKeyAgreementSpi.htmlKeyGenerator.htmlKeyGeneratorSpi.htmlMac.htmlMacSpi.htmlNoSuchPaddingException.htmlNullCipher.htmlSealedObject.htmlSecretKey.htmlSecretKeyFactory.htmlSecretKeyFactorySpi.htmlShortBufferException.htmlinterfacesDHKey.htmlDHPrivateKey.htmlDHPublicKey.htmlPBEKey.htmlclass-useDHKey.htmlDHPrivateKey.htmlDHPublicKey.htmlPBEKey.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspecChaCha20ParameterSpec.htmlDESKeySpec.htmlDESedeKeySpec.htmlDHGenParameterSpec.htmlDHParameterSpec.htmlDHPrivateKeySpec.htmlDHPublicKeySpec.htmlGCMParameterSpec.htmlIvParameterSpec.htmlOAEPParameterSpec.htmlPBEKeySpec.htmlPBEParameterSpec.htmlPSource.PSpecified.htmlPSource.htmlRC2ParameterSpec.htmlRC5ParameterSpec.htmlSecretKeySpec.htmlclass-useChaCha20ParameterSpec.htmlDESKeySpec.htmlDESedeKeySpec.htmlDHGenParameterSpec.htmlDHParameterSpec.htmlDHPrivateKeySpec.htmlDHPublicKeySpec.htmlGCMParameterSpec.htmlIvParameterSpec.htmlOAEPParameterSpec.htmlPBEKeySpec.htmlPBEParameterSpec.htmlPSource.PSpecified.htmlPSource.htmlRC2ParameterSpec.htmlRC5ParameterSpec.htmlSecretKeySpec.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlnetServerSocketFactory.htmlSocketFactory.htmlclass-useServerSocketFactory.htmlSocketFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsslCertPathTrustManagerParameters.htmlExtendedSSLSession.htmlHandshakeCompletedEvent.htmlHandshakeCompletedListener.htmlHostnameVerifier.htmlHttpsURLConnection.htmlKeyManager.htmlKeyManagerFactory.htmlKeyManagerFactorySpi.htmlKeyStoreBuilderParameters.htmlManagerFactoryParameters.htmlSNIHostName.htmlSNIMatcher.htmlSNIServerName.htmlSSLContext.htmlSSLContextSpi.htmlSSLEngine.htmlSSLEngineResult.HandshakeStatus.htmlSSLEngineResult.Status.htmlSSLEngineResult.htmlSSLException.htmlSSLHandshakeException.htmlSSLKeyException.htmlSSLParameters.htmlSSLPeerUnverifiedException.htmlSSLPermission.htmlSSLProtocolException.htmlSSLServerSocket.htmlSSLServerSocketFactory.htmlSSLSession.htmlSSLSessionBindingEvent.htmlSSLSessionBindingListener.htmlSSLSessionContext.htmlSSLSocket.htmlSSLSocketFactory.htmlStandardConstants.htmlTrustManager.htmlTrustManagerFactory.htmlTrustManagerFactorySpi.htmlX509ExtendedKeyManager.htmlX509ExtendedTrustManager.htmlX509KeyManager.htmlX509TrustManager.htmlclass-useCertPathTrustManagerParameters.htmlExtendedSSLSession.htmlHandshakeCompletedEvent.htmlHandshakeCompletedListener.htmlHostnameVerifier.htmlHttpsURLConnection.htmlKeyManager.htmlKeyManagerFactory.htmlKeyManagerFactorySpi.htmlKeyStoreBuilderParameters.htmlManagerFactoryParameters.htmlSNIHostName.htmlSNIMatcher.htmlSNIServerName.htmlSSLContext.htmlSSLContextSpi.htmlSSLEngine.htmlSSLEngineResult.HandshakeStatus.htmlSSLEngineResult.Status.htmlSSLEngineResult.htmlSSLException.htmlSSLHandshakeException.htmlSSLKeyException.htmlSSLParameters.htmlSSLPeerUnverifiedException.htmlSSLPermission.htmlSSLProtocolException.htmlSSLServerSocket.htmlSSLServerSocketFactory.htmlSSLSession.htmlSSLSessionBindingEvent.htmlSSLSessionBindingListener.htmlSSLSessionContext.htmlSSLSocket.htmlSSLSocketFactory.htmlStandardConstants.htmlTrustManager.htmlTrustManagerFactory.htmlTrustManagerFactorySpi.htmlX509ExtendedKeyManager.htmlX509ExtendedTrustManager.htmlX509KeyManager.htmlX509TrustManager.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsecurityauthAuthPermission.htmlDestroyFailedException.htmlDestroyable.htmlPrivateCredentialPermission.htmlRefreshFailedException.htmlRefreshable.htmlSubject.htmlSubjectDomainCombiner.htmlcallbackCallback.htmlCallbackHandler.htmlChoiceCallback.htmlConfirmationCallback.htmlLanguageCallback.htmlNameCallback.htmlPasswordCallback.htmlTextInputCallback.htmlTextOutputCallback.htmlUnsupportedCallbackException.htmlclass-useCallback.htmlCallbackHandler.htmlChoiceCallback.htmlConfirmationCallback.htmlLanguageCallback.htmlNameCallback.htmlPasswordCallback.htmlTextInputCallback.htmlTextOutputCallback.htmlUnsupportedCallbackException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAuthPermission.htmlDestroyFailedException.htmlDestroyable.htmlPrivateCredentialPermission.htmlRefreshFailedException.htmlRefreshable.htmlSubject.htmlSubjectDomainCombiner.htmlloginAccountException.htmlAccountExpiredException.htmlAccountLockedException.htmlAccountNotFoundException.htmlAppConfigurationEntry.LoginModuleControlFlag.htmlAppConfigurationEntry.htmlConfiguration.Parameters.htmlConfiguration.htmlConfigurationSpi.htmlCredentialException.htmlCredentialExpiredException.htmlCredentialNotFoundException.htmlFailedLoginException.htmlLoginContext.htmlLoginException.htmlclass-useAccountException.htmlAccountExpiredException.htmlAccountLockedException.htmlAccountNotFoundException.htmlAppConfigurationEntry.LoginModuleControlFlag.htmlAppConfigurationEntry.htmlConfiguration.Parameters.htmlConfiguration.htmlConfigurationSpi.htmlCredentialException.htmlCredentialExpiredException.htmlCredentialNotFoundException.htmlFailedLoginException.htmlLoginContext.htmlLoginException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiLoginModule.htmlclass-useLoginModule.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlx500X500Principal.htmlX500PrivateCredential.htmlclass-useX500Principal.htmlX500PrivateCredential.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlcertCertificate.htmlCertificateEncodingException.htmlCertificateException.htmlCertificateExpiredException.htmlCertificateNotYetValidException.htmlCertificateParsingException.htmlX509Certificate.htmlclass-useCertificate.htmlCertificateEncodingException.htmlCertificateException.htmlCertificateExpiredException.htmlCertificateNotYetValidException.htmlCertificateParsingException.htmlX509Certificate.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.compilerjavaxannotationprocessingAbstractProcessor.htmlCompletion.htmlCompletions.htmlFiler.htmlFilerException.htmlGenerated.htmlMessager.htmlProcessingEnvironment.htmlProcessor.htmlRoundEnvironment.htmlSupportedAnnotationTypes.htmlSupportedOptions.htmlSupportedSourceVersion.htmlclass-useAbstractProcessor.htmlCompletion.htmlCompletions.htmlFiler.htmlFilerException.htmlGenerated.htmlMessager.htmlProcessingEnvironment.htmlProcessor.htmlRoundEnvironment.htmlSupportedAnnotationTypes.htmlSupportedOptions.htmlSupportedSourceVersion.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmllangmodelAnnotatedConstruct.htmlSourceVersion.htmlUnknownEntityException.htmlclass-useAnnotatedConstruct.htmlSourceVersion.htmlUnknownEntityException.htmlelementAnnotationMirror.htmlAnnotationValue.htmlAnnotationValueVisitor.htmlElement.htmlElementKind.htmlElementVisitor.htmlExecutableElement.htmlModifier.htmlModuleElement.Directive.htmlModuleElement.DirectiveKind.htmlModuleElement.DirectiveVisitor.htmlModuleElement.ExportsDirective.htmlModuleElement.OpensDirective.htmlModuleElement.ProvidesDirective.htmlModuleElement.RequiresDirective.htmlModuleElement.UsesDirective.htmlModuleElement.htmlName.htmlNestingKind.htmlPackageElement.htmlParameterizable.htmlQualifiedNameable.htmlTypeElement.htmlTypeParameterElement.htmlUnknownAnnotationValueException.htmlUnknownDirectiveException.htmlUnknownElementException.htmlVariableElement.htmlclass-useAnnotationMirror.htmlAnnotationValue.htmlAnnotationValueVisitor.htmlElement.htmlElementKind.htmlElementVisitor.htmlExecutableElement.htmlModifier.htmlModuleElement.Directive.htmlModuleElement.DirectiveKind.htmlModuleElement.DirectiveVisitor.htmlModuleElement.ExportsDirective.htmlModuleElement.OpensDirective.htmlModuleElement.ProvidesDirective.htmlModuleElement.RequiresDirective.htmlModuleElement.UsesDirective.htmlModuleElement.htmlName.htmlNestingKind.htmlPackageElement.htmlParameterizable.htmlQualifiedNameable.htmlTypeElement.htmlTypeParameterElement.htmlUnknownAnnotationValueException.htmlUnknownDirectiveException.htmlUnknownElementException.htmlVariableElement.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltypeArrayType.htmlDeclaredType.htmlErrorType.htmlExecutableType.htmlIntersectionType.htmlMirroredTypeException.htmlMirroredTypesException.htmlNoType.htmlNullType.htmlPrimitiveType.htmlReferenceType.htmlTypeKind.htmlTypeMirror.htmlTypeVariable.htmlTypeVisitor.htmlUnionType.htmlUnknownTypeException.htmlWildcardType.htmlclass-useArrayType.htmlDeclaredType.htmlErrorType.htmlExecutableType.htmlIntersectionType.htmlMirroredTypeException.htmlMirroredTypesException.htmlNoType.htmlNullType.htmlPrimitiveType.htmlReferenceType.htmlTypeKind.htmlTypeMirror.htmlTypeVariable.htmlTypeVisitor.htmlUnionType.htmlUnknownTypeException.htmlWildcardType.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlutilAbstractAnnotationValueVisitor6.htmlAbstractAnnotationValueVisitor7.htmlAbstractAnnotationValueVisitor8.htmlAbstractAnnotationValueVisitor9.htmlAbstractElementVisitor6.htmlAbstractElementVisitor7.htmlAbstractElementVisitor8.htmlAbstractElementVisitor9.htmlAbstractTypeVisitor6.htmlAbstractTypeVisitor7.htmlAbstractTypeVisitor8.htmlAbstractTypeVisitor9.htmlElementFilter.htmlElementKindVisitor6.htmlElementKindVisitor7.htmlElementKindVisitor8.htmlElementKindVisitor9.htmlElementScanner6.htmlElementScanner7.htmlElementScanner8.htmlElementScanner9.htmlElements.Origin.htmlElements.htmlSimpleAnnotationValueVisitor6.htmlSimpleAnnotationValueVisitor7.htmlSimpleAnnotationValueVisitor8.htmlSimpleAnnotationValueVisitor9.htmlSimpleElementVisitor6.htmlSimpleElementVisitor7.htmlSimpleElementVisitor8.htmlSimpleElementVisitor9.htmlSimpleTypeVisitor6.htmlSimpleTypeVisitor7.htmlSimpleTypeVisitor8.htmlSimpleTypeVisitor9.htmlTypeKindVisitor6.htmlTypeKindVisitor7.htmlTypeKindVisitor8.htmlTypeKindVisitor9.htmlTypes.htmlclass-useAbstractAnnotationValueVisitor6.htmlAbstractAnnotationValueVisitor7.htmlAbstractAnnotationValueVisitor8.htmlAbstractAnnotationValueVisitor9.htmlAbstractElementVisitor6.htmlAbstractElementVisitor7.htmlAbstractElementVisitor8.htmlAbstractElementVisitor9.htmlAbstractTypeVisitor6.htmlAbstractTypeVisitor7.htmlAbstractTypeVisitor8.htmlAbstractTypeVisitor9.htmlElementFilter.htmlElementKindVisitor6.htmlElementKindVisitor7.htmlElementKindVisitor8.htmlElementKindVisitor9.htmlElementScanner6.htmlElementScanner7.htmlElementScanner8.htmlElementScanner9.htmlElements.Origin.htmlElements.htmlSimpleAnnotationValueVisitor6.htmlSimpleAnnotationValueVisitor7.htmlSimpleAnnotationValueVisitor8.htmlSimpleAnnotationValueVisitor9.htmlSimpleElementVisitor6.htmlSimpleElementVisitor7.htmlSimpleElementVisitor8.htmlSimpleElementVisitor9.htmlSimpleTypeVisitor6.htmlSimpleTypeVisitor7.htmlSimpleTypeVisitor8.htmlSimpleTypeVisitor9.htmlTypeKindVisitor6.htmlTypeKindVisitor7.htmlTypeKindVisitor8.htmlTypeKindVisitor9.htmlTypes.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltoolsDiagnostic.Kind.htmlDiagnostic.htmlDiagnosticCollector.htmlDiagnosticListener.htmlDocumentationTool.DocumentationTask.htmlDocumentationTool.Location.htmlDocumentationTool.htmlFileObject.htmlForwardingFileObject.htmlForwardingJavaFileManager.htmlForwardingJavaFileObject.htmlJavaCompiler.CompilationTask.htmlJavaCompiler.htmlJavaFileManager.Location.htmlJavaFileManager.htmlJavaFileObject.Kind.htmlJavaFileObject.htmlOptionChecker.htmlSimpleJavaFileObject.htmlStandardJavaFileManager.PathFactory.htmlStandardJavaFileManager.htmlStandardLocation.htmlTool.htmlToolProvider.htmlclass-useDiagnostic.Kind.htmlDiagnostic.htmlDiagnosticCollector.htmlDiagnosticListener.htmlDocumentationTool.DocumentationTask.htmlDocumentationTool.Location.htmlDocumentationTool.htmlFileObject.htmlForwardingFileObject.htmlForwardingJavaFileManager.htmlForwardingJavaFileObject.htmlJavaCompiler.CompilationTask.htmlJavaCompiler.htmlJavaFileManager.Location.htmlJavaFileManager.htmlJavaFileObject.Kind.htmlJavaFileObject.htmlOptionChecker.htmlSimpleJavaFileObject.htmlStandardJavaFileManager.PathFactory.htmlStandardJavaFileManager.htmlStandardLocation.htmlTool.htmlToolProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.datatransferjavaawtdatatransferClipboard.htmlClipboardOwner.htmlDataFlavor.htmlFlavorEvent.htmlFlavorListener.htmlFlavorMap.htmlFlavorTable.htmlMimeTypeParseException.htmlStringSelection.htmlSystemFlavorMap.htmlTransferable.htmlUnsupportedFlavorException.htmlclass-useClipboard.htmlClipboardOwner.htmlDataFlavor.htmlFlavorEvent.htmlFlavorListener.htmlFlavorMap.htmlFlavorTable.htmlMimeTypeParseException.htmlStringSelection.htmlSystemFlavorMap.htmlTransferable.htmlUnsupportedFlavorException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.desktopjavaappletApplet.AccessibleApplet.htmlApplet.htmlAppletContext.htmlAppletStub.htmlAudioClip.htmlclass-useApplet.AccessibleApplet.htmlApplet.htmlAppletContext.htmlAppletStub.htmlAudioClip.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlawtAWTError.htmlAWTEvent.htmlAWTEventMulticaster.htmlAWTException.htmlAWTKeyStroke.htmlAWTPermission.htmlActiveEvent.htmlAdjustable.htmlAlphaComposite.htmlBasicStroke.htmlBorderLayout.htmlBufferCapabilities.FlipContents.htmlBufferCapabilities.htmlButton.AccessibleAWTButton.htmlButton.htmlCanvas.AccessibleAWTCanvas.htmlCanvas.htmlCardLayout.htmlCheckbox.AccessibleAWTCheckbox.htmlCheckbox.htmlCheckboxGroup.htmlCheckboxMenuItem.AccessibleAWTCheckboxMenuItem.htmlCheckboxMenuItem.htmlChoice.AccessibleAWTChoice.htmlChoice.htmlColor.htmlComponent.AccessibleAWTComponent.AccessibleAWTComponentHandler.htmlComponent.AccessibleAWTComponent.AccessibleAWTFocusHandler.htmlComponent.AccessibleAWTComponent.htmlComponent.BaselineResizeBehavior.htmlComponent.BltBufferStrategy.htmlComponent.FlipBufferStrategy.htmlComponent.htmlComponentOrientation.htmlComposite.htmlCompositeContext.htmlContainer.AccessibleAWTContainer.AccessibleContainerHandler.htmlContainer.AccessibleAWTContainer.htmlContainer.htmlContainerOrderFocusTraversalPolicy.htmlCursor.htmlDefaultFocusTraversalPolicy.htmlDefaultKeyboardFocusManager.htmlDesktop.Action.htmlDesktop.htmlDialog.AccessibleAWTDialog.htmlDialog.ModalExclusionType.htmlDialog.ModalityType.htmlDialog.htmlDimension.htmlDisplayMode.htmlEvent.htmlEventQueue.htmlFileDialog.htmlFlowLayout.htmlFocusTraversalPolicy.htmlFont.htmlFontFormatException.htmlFontMetrics.htmlFrame.AccessibleAWTFrame.htmlFrame.htmlGradientPaint.htmlGraphics.htmlGraphics2D.htmlGraphicsConfigTemplate.htmlGraphicsConfiguration.htmlGraphicsDevice.WindowTranslucency.htmlGraphicsDevice.htmlGraphicsEnvironment.htmlGridBagConstraints.htmlGridBagLayout.htmlGridBagLayoutInfo.htmlGridLayout.htmlHeadlessException.htmlIllegalComponentStateException.htmlImage.htmlImageCapabilities.htmlInsets.htmlItemSelectable.htmlJobAttributes.DefaultSelectionType.htmlJobAttributes.DestinationType.htmlJobAttributes.DialogType.htmlJobAttributes.MultipleDocumentHandlingType.htmlJobAttributes.SidesType.htmlJobAttributes.htmlKeyEventDispatcher.htmlKeyEventPostProcessor.htmlKeyboardFocusManager.htmlLabel.AccessibleAWTLabel.htmlLabel.htmlLayoutManager.htmlLayoutManager2.htmlLinearGradientPaint.htmlList.AccessibleAWTList.AccessibleAWTListChild.htmlList.AccessibleAWTList.htmlList.htmlMediaTracker.htmlMenu.AccessibleAWTMenu.htmlMenu.htmlMenuBar.AccessibleAWTMenuBar.htmlMenuBar.htmlMenuComponent.AccessibleAWTMenuComponent.htmlMenuComponent.htmlMenuContainer.htmlMenuItem.AccessibleAWTMenuItem.htmlMenuItem.htmlMenuShortcut.htmlMouseInfo.htmlMultipleGradientPaint.ColorSpaceType.htmlMultipleGradientPaint.CycleMethod.htmlMultipleGradientPaint.htmlPageAttributes.ColorType.htmlPageAttributes.MediaType.htmlPageAttributes.OrientationRequestedType.htmlPageAttributes.OriginType.htmlPageAttributes.PrintQualityType.htmlPageAttributes.htmlPaint.htmlPaintContext.htmlPanel.AccessibleAWTPanel.htmlPanel.htmlPoint.htmlPointerInfo.htmlPolygon.htmlPopupMenu.AccessibleAWTPopupMenu.htmlPopupMenu.htmlPrintGraphics.htmlPrintJob.htmlRadialGradientPaint.htmlRectangle.htmlRenderingHints.Key.htmlRenderingHints.htmlRobot.htmlScrollPane.AccessibleAWTScrollPane.htmlScrollPane.htmlScrollPaneAdjustable.htmlScrollbar.AccessibleAWTScrollBar.htmlScrollbar.htmlSecondaryLoop.htmlShape.htmlSplashScreen.htmlStroke.htmlSystemColor.htmlSystemTray.htmlTaskbar.Feature.htmlTaskbar.State.htmlTaskbar.htmlTextArea.AccessibleAWTTextArea.htmlTextArea.htmlTextComponent.AccessibleAWTTextComponent.htmlTextComponent.htmlTextField.AccessibleAWTTextField.htmlTextField.htmlTexturePaint.htmlToolkit.htmlTransparency.htmlTrayIcon.MessageType.htmlTrayIcon.htmlWindow.AccessibleAWTWindow.htmlWindow.Type.htmlWindow.htmlclass-useAWTError.htmlAWTEvent.htmlAWTEventMulticaster.htmlAWTException.htmlAWTKeyStroke.htmlAWTPermission.htmlActiveEvent.htmlAdjustable.htmlAlphaComposite.htmlBasicStroke.htmlBorderLayout.htmlBufferCapabilities.FlipContents.htmlBufferCapabilities.htmlButton.AccessibleAWTButton.htmlButton.htmlCanvas.AccessibleAWTCanvas.htmlCanvas.htmlCardLayout.htmlCheckbox.AccessibleAWTCheckbox.htmlCheckbox.htmlCheckboxGroup.htmlCheckboxMenuItem.AccessibleAWTCheckboxMenuItem.htmlCheckboxMenuItem.htmlChoice.AccessibleAWTChoice.htmlChoice.htmlColor.htmlComponent.AccessibleAWTComponent.AccessibleAWTComponentHandler.htmlComponent.AccessibleAWTComponent.AccessibleAWTFocusHandler.htmlComponent.AccessibleAWTComponent.htmlComponent.BaselineResizeBehavior.htmlComponent.BltBufferStrategy.htmlComponent.FlipBufferStrategy.htmlComponent.htmlComponentOrientation.htmlComposite.htmlCompositeContext.htmlContainer.AccessibleAWTContainer.AccessibleContainerHandler.htmlContainer.AccessibleAWTContainer.htmlContainer.htmlContainerOrderFocusTraversalPolicy.htmlCursor.htmlDefaultFocusTraversalPolicy.htmlDefaultKeyboardFocusManager.htmlDesktop.Action.htmlDesktop.htmlDialog.AccessibleAWTDialog.htmlDialog.ModalExclusionType.htmlDialog.ModalityType.htmlDialog.htmlDimension.htmlDisplayMode.htmlEvent.htmlEventQueue.htmlFileDialog.htmlFlowLayout.htmlFocusTraversalPolicy.htmlFont.htmlFontFormatException.htmlFontMetrics.htmlFrame.AccessibleAWTFrame.htmlFrame.htmlGradientPaint.htmlGraphics.htmlGraphics2D.htmlGraphicsConfigTemplate.htmlGraphicsConfiguration.htmlGraphicsDevice.WindowTranslucency.htmlGraphicsDevice.htmlGraphicsEnvironment.htmlGridBagConstraints.htmlGridBagLayout.htmlGridBagLayoutInfo.htmlGridLayout.htmlHeadlessException.htmlIllegalComponentStateException.htmlImage.htmlImageCapabilities.htmlInsets.htmlItemSelectable.htmlJobAttributes.DefaultSelectionType.htmlJobAttributes.DestinationType.htmlJobAttributes.DialogType.htmlJobAttributes.MultipleDocumentHandlingType.htmlJobAttributes.SidesType.htmlJobAttributes.htmlKeyEventDispatcher.htmlKeyEventPostProcessor.htmlKeyboardFocusManager.htmlLabel.AccessibleAWTLabel.htmlLabel.htmlLayoutManager.htmlLayoutManager2.htmlLinearGradientPaint.htmlList.AccessibleAWTList.AccessibleAWTListChild.htmlList.AccessibleAWTList.htmlList.htmlMediaTracker.htmlMenu.AccessibleAWTMenu.htmlMenu.htmlMenuBar.AccessibleAWTMenuBar.htmlMenuBar.htmlMenuComponent.AccessibleAWTMenuComponent.htmlMenuComponent.htmlMenuContainer.htmlMenuItem.AccessibleAWTMenuItem.htmlMenuItem.htmlMenuShortcut.htmlMouseInfo.htmlMultipleGradientPaint.ColorSpaceType.htmlMultipleGradientPaint.CycleMethod.htmlMultipleGradientPaint.htmlPageAttributes.ColorType.htmlPageAttributes.MediaType.htmlPageAttributes.OrientationRequestedType.htmlPageAttributes.OriginType.htmlPageAttributes.PrintQualityType.htmlPageAttributes.htmlPaint.htmlPaintContext.htmlPanel.AccessibleAWTPanel.htmlPanel.htmlPoint.htmlPointerInfo.htmlPolygon.htmlPopupMenu.AccessibleAWTPopupMenu.htmlPopupMenu.htmlPrintGraphics.htmlPrintJob.htmlRadialGradientPaint.htmlRectangle.htmlRenderingHints.Key.htmlRenderingHints.htmlRobot.htmlScrollPane.AccessibleAWTScrollPane.htmlScrollPane.htmlScrollPaneAdjustable.htmlScrollbar.AccessibleAWTScrollBar.htmlScrollbar.htmlSecondaryLoop.htmlShape.htmlSplashScreen.htmlStroke.htmlSystemColor.htmlSystemTray.htmlTaskbar.Feature.htmlTaskbar.State.htmlTaskbar.htmlTextArea.AccessibleAWTTextArea.htmlTextArea.htmlTextComponent.AccessibleAWTTextComponent.htmlTextComponent.htmlTextField.AccessibleAWTTextField.htmlTextField.htmlTexturePaint.htmlToolkit.htmlTransparency.htmlTrayIcon.MessageType.htmlTrayIcon.htmlWindow.AccessibleAWTWindow.htmlWindow.Type.htmlWindow.htmlcolorCMMException.htmlColorSpace.htmlICC_ColorSpace.htmlICC_Profile.htmlICC_ProfileGray.htmlICC_ProfileRGB.htmlProfileDataException.htmlclass-useCMMException.htmlColorSpace.htmlICC_ColorSpace.htmlICC_Profile.htmlICC_ProfileGray.htmlICC_ProfileRGB.htmlProfileDataException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmldesktopAboutEvent.htmlAboutHandler.htmlAppEvent.htmlAppForegroundEvent.htmlAppForegroundListener.htmlAppHiddenEvent.htmlAppHiddenListener.htmlAppReopenedEvent.htmlAppReopenedListener.htmlFilesEvent.htmlOpenFilesEvent.htmlOpenFilesHandler.htmlOpenURIEvent.htmlOpenURIHandler.htmlPreferencesEvent.htmlPreferencesHandler.htmlPrintFilesEvent.htmlPrintFilesHandler.htmlQuitEvent.htmlQuitHandler.htmlQuitResponse.htmlQuitStrategy.htmlScreenSleepEvent.htmlScreenSleepListener.htmlSystemEventListener.htmlSystemSleepEvent.htmlSystemSleepListener.htmlUserSessionEvent.Reason.htmlUserSessionEvent.htmlUserSessionListener.htmlclass-useAboutEvent.htmlAboutHandler.htmlAppEvent.htmlAppForegroundEvent.htmlAppForegroundListener.htmlAppHiddenEvent.htmlAppHiddenListener.htmlAppReopenedEvent.htmlAppReopenedListener.htmlFilesEvent.htmlOpenFilesEvent.htmlOpenFilesHandler.htmlOpenURIEvent.htmlOpenURIHandler.htmlPreferencesEvent.htmlPreferencesHandler.htmlPrintFilesEvent.htmlPrintFilesHandler.htmlQuitEvent.htmlQuitHandler.htmlQuitResponse.htmlQuitStrategy.htmlScreenSleepEvent.htmlScreenSleepListener.htmlSystemEventListener.htmlSystemSleepEvent.htmlSystemSleepListener.htmlUserSessionEvent.Reason.htmlUserSessionEvent.htmlUserSessionListener.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmldndAutoscroll.htmlDnDConstants.htmlDragGestureEvent.htmlDragGestureListener.htmlDragGestureRecognizer.htmlDragSource.htmlDragSourceAdapter.htmlDragSourceContext.htmlDragSourceDragEvent.htmlDragSourceDropEvent.htmlDragSourceEvent.htmlDragSourceListener.htmlDragSourceMotionListener.htmlDropTarget.DropTargetAutoScroller.htmlDropTarget.htmlDropTargetAdapter.htmlDropTargetContext.TransferableProxy.htmlDropTargetContext.htmlDropTargetDragEvent.htmlDropTargetDropEvent.htmlDropTargetEvent.htmlDropTargetListener.htmlInvalidDnDOperationException.htmlMouseDragGestureRecognizer.htmlclass-useAutoscroll.htmlDnDConstants.htmlDragGestureEvent.htmlDragGestureListener.htmlDragGestureRecognizer.htmlDragSource.htmlDragSourceAdapter.htmlDragSourceContext.htmlDragSourceDragEvent.htmlDragSourceDropEvent.htmlDragSourceEvent.htmlDragSourceListener.htmlDragSourceMotionListener.htmlDropTarget.DropTargetAutoScroller.htmlDropTarget.htmlDropTargetAdapter.htmlDropTargetContext.TransferableProxy.htmlDropTargetContext.htmlDropTargetDragEvent.htmlDropTargetDropEvent.htmlDropTargetEvent.htmlDropTargetListener.htmlInvalidDnDOperationException.htmlMouseDragGestureRecognizer.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmldoc-filesAWTThreadIssues.htmlBorderLayout-1.gifButton-1.gifCheckbox-1.gifCheckboxGroup-1.gifChoice-1.gifDesktopProperties.htmlFlowLayout-1.gifFocusCycle.gifFocusSpec.htmlFontMetrics-1.gifGridBagLayout-1.gifGridBagLayout-2.gifGridBagLayout-baseline.pngGridLayout-1.gifGridLayout-2.gifImplicitFocusTransfer.gifLabel-1.gifLinearGradientPaint.pngList-1.gifMenuBar-1.gifModality.htmlMultiScreen.gifRadialGradientPaint-1.pngRadialGradientPaint-2.pngRadialGradientPaint-3.pngRadialGradientPaint-4.pngScrollbar-1.gifScrollbar-2.gifTextArea-1.gifTextField-1.gifmodal-example1.gifmodal-example2.gifmodal-example3.gifmodal-example4.gifeventAWTEventListener.htmlAWTEventListenerProxy.htmlActionEvent.htmlActionListener.htmlAdjustmentEvent.htmlAdjustmentListener.htmlComponentAdapter.htmlComponentEvent.htmlComponentListener.htmlContainerAdapter.htmlContainerEvent.htmlContainerListener.htmlFocusAdapter.htmlFocusEvent.Cause.htmlFocusEvent.htmlFocusListener.htmlHierarchyBoundsAdapter.htmlHierarchyBoundsListener.htmlHierarchyEvent.htmlHierarchyListener.htmlInputEvent.htmlInputMethodEvent.htmlInputMethodListener.htmlInvocationEvent.htmlItemEvent.htmlItemListener.htmlKeyAdapter.htmlKeyEvent.htmlKeyListener.htmlMouseAdapter.htmlMouseEvent.htmlMouseListener.htmlMouseMotionAdapter.htmlMouseMotionListener.htmlMouseWheelEvent.htmlMouseWheelListener.htmlPaintEvent.htmlTextEvent.htmlTextListener.htmlWindowAdapter.htmlWindowEvent.htmlWindowFocusListener.htmlWindowListener.htmlWindowStateListener.htmlclass-useAWTEventListener.htmlAWTEventListenerProxy.htmlActionEvent.htmlActionListener.htmlAdjustmentEvent.htmlAdjustmentListener.htmlComponentAdapter.htmlComponentEvent.htmlComponentListener.htmlContainerAdapter.htmlContainerEvent.htmlContainerListener.htmlFocusAdapter.htmlFocusEvent.Cause.htmlFocusEvent.htmlFocusListener.htmlHierarchyBoundsAdapter.htmlHierarchyBoundsListener.htmlHierarchyEvent.htmlHierarchyListener.htmlInputEvent.htmlInputMethodEvent.htmlInputMethodListener.htmlInvocationEvent.htmlItemEvent.htmlItemListener.htmlKeyAdapter.htmlKeyEvent.htmlKeyListener.htmlMouseAdapter.htmlMouseEvent.htmlMouseListener.htmlMouseMotionAdapter.htmlMouseMotionListener.htmlMouseWheelEvent.htmlMouseWheelListener.htmlPaintEvent.htmlTextEvent.htmlTextListener.htmlWindowAdapter.htmlWindowEvent.htmlWindowFocusListener.htmlWindowListener.htmlWindowStateListener.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlfontFontRenderContext.htmlGlyphJustificationInfo.htmlGlyphMetrics.htmlGlyphVector.htmlGraphicAttribute.htmlImageGraphicAttribute.htmlLayoutPath.htmlLineBreakMeasurer.htmlLineMetrics.htmlMultipleMaster.htmlNumericShaper.Range.htmlNumericShaper.htmlOpenType.htmlShapeGraphicAttribute.htmlTextAttribute.htmlTextHitInfo.htmlTextLayout.CaretPolicy.htmlTextLayout.htmlTextMeasurer.htmlTransformAttribute.htmlclass-useFontRenderContext.htmlGlyphJustificationInfo.htmlGlyphMetrics.htmlGlyphVector.htmlGraphicAttribute.htmlImageGraphicAttribute.htmlLayoutPath.htmlLineBreakMeasurer.htmlLineMetrics.htmlMultipleMaster.htmlNumericShaper.Range.htmlNumericShaper.htmlOpenType.htmlShapeGraphicAttribute.htmlTextAttribute.htmlTextHitInfo.htmlTextLayout.CaretPolicy.htmlTextLayout.htmlTextMeasurer.htmlTransformAttribute.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlgeomAffineTransform.htmlArc2D.Double.htmlArc2D.Float.htmlArc2D.htmlArea.htmlCubicCurve2D.Double.htmlCubicCurve2D.Float.htmlCubicCurve2D.htmlDimension2D.htmlEllipse2D.Double.htmlEllipse2D.Float.htmlEllipse2D.htmlFlatteningPathIterator.htmlGeneralPath.htmlIllegalPathStateException.htmlLine2D.Double.htmlLine2D.Float.htmlLine2D.htmlNoninvertibleTransformException.htmlPath2D.Double.htmlPath2D.Float.htmlPath2D.htmlPathIterator.htmlPoint2D.Double.htmlPoint2D.Float.htmlPoint2D.htmlQuadCurve2D.Double.htmlQuadCurve2D.Float.htmlQuadCurve2D.htmlRectangle2D.Double.htmlRectangle2D.Float.htmlRectangle2D.htmlRectangularShape.htmlRoundRectangle2D.Double.htmlRoundRectangle2D.Float.htmlRoundRectangle2D.htmlclass-useAffineTransform.htmlArc2D.Double.htmlArc2D.Float.htmlArc2D.htmlArea.htmlCubicCurve2D.Double.htmlCubicCurve2D.Float.htmlCubicCurve2D.htmlDimension2D.htmlEllipse2D.Double.htmlEllipse2D.Float.htmlEllipse2D.htmlFlatteningPathIterator.htmlGeneralPath.htmlIllegalPathStateException.htmlLine2D.Double.htmlLine2D.Float.htmlLine2D.htmlNoninvertibleTransformException.htmlPath2D.Double.htmlPath2D.Float.htmlPath2D.htmlPathIterator.htmlPoint2D.Double.htmlPoint2D.Float.htmlPoint2D.htmlQuadCurve2D.Double.htmlQuadCurve2D.Float.htmlQuadCurve2D.htmlRectangle2D.Double.htmlRectangle2D.Float.htmlRectangle2D.htmlRectangularShape.htmlRoundRectangle2D.Double.htmlRoundRectangle2D.Float.htmlRoundRectangle2D.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlimInputContext.htmlInputMethodHighlight.htmlInputMethodRequests.htmlInputSubset.htmlclass-useInputContext.htmlInputMethodHighlight.htmlInputMethodRequests.htmlInputSubset.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiInputMethod.htmlInputMethodContext.htmlInputMethodDescriptor.htmlclass-useInputMethod.htmlInputMethodContext.htmlInputMethodDescriptor.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlimageAbstractMultiResolutionImage.htmlAffineTransformOp.htmlAreaAveragingScaleFilter.htmlBandCombineOp.htmlBandedSampleModel.htmlBaseMultiResolutionImage.htmlBufferStrategy.htmlBufferedImage.htmlBufferedImageFilter.htmlBufferedImageOp.htmlByteLookupTable.htmlColorConvertOp.htmlColorModel.htmlComponentColorModel.htmlComponentSampleModel.htmlConvolveOp.htmlCropImageFilter.htmlDataBuffer.htmlDataBufferByte.htmlDataBufferDouble.htmlDataBufferFloat.htmlDataBufferInt.htmlDataBufferShort.htmlDataBufferUShort.htmlDirectColorModel.htmlFilteredImageSource.htmlImageConsumer.htmlImageFilter.htmlImageObserver.htmlImageProducer.htmlImagingOpException.htmlIndexColorModel.htmlKernel.htmlLookupOp.htmlLookupTable.htmlMemoryImageSource.htmlMultiPixelPackedSampleModel.htmlMultiResolutionImage.htmlPackedColorModel.htmlPixelGrabber.htmlPixelInterleavedSampleModel.htmlRGBImageFilter.htmlRaster.htmlRasterFormatException.htmlRasterOp.htmlRenderedImage.htmlReplicateScaleFilter.htmlRescaleOp.htmlSampleModel.htmlShortLookupTable.htmlSinglePixelPackedSampleModel.htmlTileObserver.htmlVolatileImage.htmlWritableRaster.htmlWritableRenderedImage.htmlclass-useAbstractMultiResolutionImage.htmlAffineTransformOp.htmlAreaAveragingScaleFilter.htmlBandCombineOp.htmlBandedSampleModel.htmlBaseMultiResolutionImage.htmlBufferStrategy.htmlBufferedImage.htmlBufferedImageFilter.htmlBufferedImageOp.htmlByteLookupTable.htmlColorConvertOp.htmlColorModel.htmlComponentColorModel.htmlComponentSampleModel.htmlConvolveOp.htmlCropImageFilter.htmlDataBuffer.htmlDataBufferByte.htmlDataBufferDouble.htmlDataBufferFloat.htmlDataBufferInt.htmlDataBufferShort.htmlDataBufferUShort.htmlDirectColorModel.htmlFilteredImageSource.htmlImageConsumer.htmlImageFilter.htmlImageObserver.htmlImageProducer.htmlImagingOpException.htmlIndexColorModel.htmlKernel.htmlLookupOp.htmlLookupTable.htmlMemoryImageSource.htmlMultiPixelPackedSampleModel.htmlMultiResolutionImage.htmlPackedColorModel.htmlPixelGrabber.htmlPixelInterleavedSampleModel.htmlRGBImageFilter.htmlRaster.htmlRasterFormatException.htmlRasterOp.htmlRenderedImage.htmlReplicateScaleFilter.htmlRescaleOp.htmlSampleModel.htmlShortLookupTable.htmlSinglePixelPackedSampleModel.htmlTileObserver.htmlVolatileImage.htmlWritableRaster.htmlWritableRenderedImage.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlrenderableContextualRenderedImageFactory.htmlParameterBlock.htmlRenderContext.htmlRenderableImage.htmlRenderableImageOp.htmlRenderableImageProducer.htmlRenderedImageFactory.htmlclass-useContextualRenderedImageFactory.htmlParameterBlock.htmlRenderContext.htmlRenderableImage.htmlRenderableImageOp.htmlRenderableImageProducer.htmlRenderedImageFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlprintBook.htmlPageFormat.htmlPageable.htmlPaper.htmlPrintable.htmlPrinterAbortException.htmlPrinterException.htmlPrinterGraphics.htmlPrinterIOException.htmlPrinterJob.htmlclass-useBook.htmlPageFormat.htmlPageable.htmlPaper.htmlPrintable.htmlPrinterAbortException.htmlPrinterException.htmlPrinterGraphics.htmlPrinterIOException.htmlPrinterJob.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlbeansAppletInitializer.htmlBeanDescriptor.htmlBeanInfo.htmlBeanProperty.htmlBeans.htmlConstructorProperties.htmlCustomizer.htmlDefaultPersistenceDelegate.htmlDesignMode.htmlEncoder.htmlEventHandler.htmlEventSetDescriptor.htmlExceptionListener.htmlExpression.htmlFeatureDescriptor.htmlIndexedPropertyChangeEvent.htmlIndexedPropertyDescriptor.htmlIntrospectionException.htmlIntrospector.htmlJavaBean.htmlMethodDescriptor.htmlParameterDescriptor.htmlPersistenceDelegate.htmlPropertyChangeEvent.htmlPropertyChangeListener.htmlPropertyChangeListenerProxy.htmlPropertyChangeSupport.htmlPropertyDescriptor.htmlPropertyEditor.htmlPropertyEditorManager.htmlPropertyEditorSupport.htmlPropertyVetoException.htmlSimpleBeanInfo.htmlStatement.htmlTransient.htmlVetoableChangeListener.htmlVetoableChangeListenerProxy.htmlVetoableChangeSupport.htmlVisibility.htmlXMLDecoder.htmlXMLEncoder.htmlbeancontextBeanContext.htmlBeanContextChild.htmlBeanContextChildComponentProxy.htmlBeanContextChildSupport.htmlBeanContextContainerProxy.htmlBeanContextEvent.htmlBeanContextMembershipEvent.htmlBeanContextMembershipListener.htmlBeanContextProxy.htmlBeanContextServiceAvailableEvent.htmlBeanContextServiceProvider.htmlBeanContextServiceProviderBeanInfo.htmlBeanContextServiceRevokedEvent.htmlBeanContextServiceRevokedListener.htmlBeanContextServices.htmlBeanContextServicesListener.htmlBeanContextServicesSupport.BCSSChild.htmlBeanContextServicesSupport.BCSSProxyServiceProvider.htmlBeanContextServicesSupport.BCSSServiceProvider.htmlBeanContextServicesSupport.htmlBeanContextSupport.BCSChild.htmlBeanContextSupport.BCSIterator.htmlBeanContextSupport.htmlclass-useBeanContext.htmlBeanContextChild.htmlBeanContextChildComponentProxy.htmlBeanContextChildSupport.htmlBeanContextContainerProxy.htmlBeanContextEvent.htmlBeanContextMembershipEvent.htmlBeanContextMembershipListener.htmlBeanContextProxy.htmlBeanContextServiceAvailableEvent.htmlBeanContextServiceProvider.htmlBeanContextServiceProviderBeanInfo.htmlBeanContextServiceRevokedEvent.htmlBeanContextServiceRevokedListener.htmlBeanContextServices.htmlBeanContextServicesListener.htmlBeanContextServicesSupport.BCSSChild.htmlBeanContextServicesSupport.BCSSProxyServiceProvider.htmlBeanContextServicesSupport.BCSSServiceProvider.htmlBeanContextServicesSupport.htmlBeanContextSupport.BCSChild.htmlBeanContextSupport.BCSIterator.htmlBeanContextSupport.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAppletInitializer.htmlBeanDescriptor.htmlBeanInfo.htmlBeanProperty.htmlBeans.htmlConstructorProperties.htmlCustomizer.htmlDefaultPersistenceDelegate.htmlDesignMode.htmlEncoder.htmlEventHandler.htmlEventSetDescriptor.htmlExceptionListener.htmlExpression.htmlFeatureDescriptor.htmlIndexedPropertyChangeEvent.htmlIndexedPropertyDescriptor.htmlIntrospectionException.htmlIntrospector.htmlJavaBean.htmlMethodDescriptor.htmlParameterDescriptor.htmlPersistenceDelegate.htmlPropertyChangeEvent.htmlPropertyChangeListener.htmlPropertyChangeListenerProxy.htmlPropertyChangeSupport.htmlPropertyDescriptor.htmlPropertyEditor.htmlPropertyEditorManager.htmlPropertyEditorSupport.htmlPropertyVetoException.htmlSimpleBeanInfo.htmlStatement.htmlTransient.htmlVetoableChangeListener.htmlVetoableChangeListenerProxy.htmlVetoableChangeSupport.htmlVisibility.htmlXMLDecoder.htmlXMLEncoder.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljavaxaccessibilityAccessibilityProvider.htmlAccessible.htmlAccessibleAction.htmlAccessibleAttributeSequence.htmlAccessibleBundle.htmlAccessibleComponent.htmlAccessibleContext.htmlAccessibleEditableText.htmlAccessibleExtendedComponent.htmlAccessibleExtendedTable.htmlAccessibleExtendedText.htmlAccessibleHyperlink.htmlAccessibleHypertext.htmlAccessibleIcon.htmlAccessibleKeyBinding.htmlAccessibleRelation.htmlAccessibleRelationSet.htmlAccessibleResourceBundle.htmlAccessibleRole.htmlAccessibleSelection.htmlAccessibleState.htmlAccessibleStateSet.htmlAccessibleStreamable.htmlAccessibleTable.htmlAccessibleTableModelChange.htmlAccessibleText.htmlAccessibleTextSequence.htmlAccessibleValue.htmlclass-useAccessibilityProvider.htmlAccessible.htmlAccessibleAction.htmlAccessibleAttributeSequence.htmlAccessibleBundle.htmlAccessibleComponent.htmlAccessibleContext.htmlAccessibleEditableText.htmlAccessibleExtendedComponent.htmlAccessibleExtendedTable.htmlAccessibleExtendedText.htmlAccessibleHyperlink.htmlAccessibleHypertext.htmlAccessibleIcon.htmlAccessibleKeyBinding.htmlAccessibleRelation.htmlAccessibleRelationSet.htmlAccessibleResourceBundle.htmlAccessibleRole.htmlAccessibleSelection.htmlAccessibleState.htmlAccessibleStateSet.htmlAccessibleStreamable.htmlAccessibleTable.htmlAccessibleTableModelChange.htmlAccessibleText.htmlAccessibleTextSequence.htmlAccessibleValue.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlimageioIIOException.htmlIIOImage.htmlIIOParam.htmlIIOParamController.htmlImageIO.htmlImageReadParam.htmlImageReader.htmlImageTranscoder.htmlImageTypeSpecifier.htmlImageWriteParam.htmlImageWriter.htmlclass-useIIOException.htmlIIOImage.htmlIIOParam.htmlIIOParamController.htmlImageIO.htmlImageReadParam.htmlImageReader.htmlImageTranscoder.htmlImageTypeSpecifier.htmlImageWriteParam.htmlImageWriter.htmleventIIOReadProgressListener.htmlIIOReadUpdateListener.htmlIIOReadWarningListener.htmlIIOWriteProgressListener.htmlIIOWriteWarningListener.htmlclass-useIIOReadProgressListener.htmlIIOReadUpdateListener.htmlIIOReadWarningListener.htmlIIOWriteProgressListener.htmlIIOWriteWarningListener.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmetadataIIOInvalidTreeException.htmlIIOMetadata.htmlIIOMetadataController.htmlIIOMetadataFormat.htmlIIOMetadataFormatImpl.htmlIIOMetadataNode.htmlclass-useIIOInvalidTreeException.htmlIIOMetadata.htmlIIOMetadataController.htmlIIOMetadataFormat.htmlIIOMetadataFormatImpl.htmlIIOMetadataNode.htmldoc-filesbmp_metadata.htmlgif_metadata.htmljpeg_metadata.htmlpng_metadata.htmlstandard_metadata.htmltiff_metadata.htmlwbmp_metadata.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpluginsbmpBMPImageWriteParam.htmlclass-useBMPImageWriteParam.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljpegJPEGHuffmanTable.htmlJPEGImageReadParam.htmlJPEGImageWriteParam.htmlJPEGQTable.htmlclass-useJPEGHuffmanTable.htmlJPEGImageReadParam.htmlJPEGImageWriteParam.htmlJPEGQTable.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltiffBaselineTIFFTagSet.htmlExifGPSTagSet.htmlExifInteroperabilityTagSet.htmlExifParentTIFFTagSet.htmlExifTIFFTagSet.htmlFaxTIFFTagSet.htmlGeoTIFFTagSet.htmlTIFFDirectory.htmlTIFFField.htmlTIFFImageReadParam.htmlTIFFTag.htmlTIFFTagSet.htmlclass-useBaselineTIFFTagSet.htmlExifGPSTagSet.htmlExifInteroperabilityTagSet.htmlExifParentTIFFTagSet.htmlExifTIFFTagSet.htmlFaxTIFFTagSet.htmlGeoTIFFTagSet.htmlTIFFDirectory.htmlTIFFField.htmlTIFFImageReadParam.htmlTIFFTag.htmlTIFFTagSet.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiIIORegistry.htmlIIOServiceProvider.htmlImageInputStreamSpi.htmlImageOutputStreamSpi.htmlImageReaderSpi.htmlImageReaderWriterSpi.htmlImageTranscoderSpi.htmlImageWriterSpi.htmlRegisterableService.htmlServiceRegistry.Filter.htmlServiceRegistry.htmlclass-useIIORegistry.htmlIIOServiceProvider.htmlImageInputStreamSpi.htmlImageOutputStreamSpi.htmlImageReaderSpi.htmlImageReaderWriterSpi.htmlImageTranscoderSpi.htmlImageWriterSpi.htmlRegisterableService.htmlServiceRegistry.Filter.htmlServiceRegistry.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlstreamFileCacheImageInputStream.htmlFileCacheImageOutputStream.htmlFileImageInputStream.htmlFileImageOutputStream.htmlIIOByteBuffer.htmlImageInputStream.htmlImageInputStreamImpl.htmlImageOutputStream.htmlImageOutputStreamImpl.htmlMemoryCacheImageInputStream.htmlMemoryCacheImageOutputStream.htmlclass-useFileCacheImageInputStream.htmlFileCacheImageOutputStream.htmlFileImageInputStream.htmlFileImageOutputStream.htmlIIOByteBuffer.htmlImageInputStream.htmlImageInputStreamImpl.htmlImageOutputStream.htmlImageOutputStreamImpl.htmlMemoryCacheImageInputStream.htmlMemoryCacheImageOutputStream.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlprintAttributeException.htmlCancelablePrintJob.htmlDoc.htmlDocFlavor.BYTE_ARRAY.htmlDocFlavor.CHAR_ARRAY.htmlDocFlavor.INPUT_STREAM.htmlDocFlavor.READER.htmlDocFlavor.SERVICE_FORMATTED.htmlDocFlavor.STRING.htmlDocFlavor.URL.htmlDocFlavor.htmlDocPrintJob.htmlFlavorException.htmlMultiDoc.htmlMultiDocPrintJob.htmlMultiDocPrintService.htmlPrintException.htmlPrintService.htmlPrintServiceLookup.htmlServiceUI.htmlServiceUIFactory.htmlSimpleDoc.htmlStreamPrintService.htmlStreamPrintServiceFactory.htmlURIException.htmlattributeAttribute.htmlAttributeSet.htmlAttributeSetUtilities.htmlDateTimeSyntax.htmlDocAttribute.htmlDocAttributeSet.htmlEnumSyntax.htmlHashAttributeSet.htmlHashDocAttributeSet.htmlHashPrintJobAttributeSet.htmlHashPrintRequestAttributeSet.htmlHashPrintServiceAttributeSet.htmlIntegerSyntax.htmlPrintJobAttribute.htmlPrintJobAttributeSet.htmlPrintRequestAttribute.htmlPrintRequestAttributeSet.htmlPrintServiceAttribute.htmlPrintServiceAttributeSet.htmlResolutionSyntax.htmlSetOfIntegerSyntax.htmlSize2DSyntax.htmlSupportedValuesAttribute.htmlTextSyntax.htmlURISyntax.htmlUnmodifiableSetException.htmlclass-useAttribute.htmlAttributeSet.htmlAttributeSetUtilities.htmlDateTimeSyntax.htmlDocAttribute.htmlDocAttributeSet.htmlEnumSyntax.htmlHashAttributeSet.htmlHashDocAttributeSet.htmlHashPrintJobAttributeSet.htmlHashPrintRequestAttributeSet.htmlHashPrintServiceAttributeSet.htmlIntegerSyntax.htmlPrintJobAttribute.htmlPrintJobAttributeSet.htmlPrintRequestAttribute.htmlPrintRequestAttributeSet.htmlPrintServiceAttribute.htmlPrintServiceAttributeSet.htmlResolutionSyntax.htmlSetOfIntegerSyntax.htmlSize2DSyntax.htmlSupportedValuesAttribute.htmlTextSyntax.htmlURISyntax.htmlUnmodifiableSetException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlstandardChromaticity.htmlColorSupported.htmlCompression.htmlCopies.htmlCopiesSupported.htmlDateTimeAtCompleted.htmlDateTimeAtCreation.htmlDateTimeAtProcessing.htmlDestination.htmlDialogOwner.htmlDialogTypeSelection.htmlDocumentName.htmlFidelity.htmlFinishings.htmlJobHoldUntil.htmlJobImpressions.htmlJobImpressionsCompleted.htmlJobImpressionsSupported.htmlJobKOctets.htmlJobKOctetsProcessed.htmlJobKOctetsSupported.htmlJobMediaSheets.htmlJobMediaSheetsCompleted.htmlJobMediaSheetsSupported.htmlJobMessageFromOperator.htmlJobName.htmlJobOriginatingUserName.htmlJobPriority.htmlJobPrioritySupported.htmlJobSheets.htmlJobState.htmlJobStateReason.htmlJobStateReasons.htmlMedia.htmlMediaName.htmlMediaPrintableArea.htmlMediaSize.Engineering.htmlMediaSize.ISO.htmlMediaSize.JIS.htmlMediaSize.NA.htmlMediaSize.Other.htmlMediaSize.htmlMediaSizeName.htmlMediaTray.htmlMultipleDocumentHandling.htmlNumberOfDocuments.htmlNumberOfInterveningJobs.htmlNumberUp.htmlNumberUpSupported.htmlOrientationRequested.htmlOutputDeviceAssigned.htmlPDLOverrideSupported.htmlPageRanges.htmlPagesPerMinute.htmlPagesPerMinuteColor.htmlPresentationDirection.htmlPrintQuality.htmlPrinterInfo.htmlPrinterIsAcceptingJobs.htmlPrinterLocation.htmlPrinterMakeAndModel.htmlPrinterMessageFromOperator.htmlPrinterMoreInfo.htmlPrinterMoreInfoManufacturer.htmlPrinterName.htmlPrinterResolution.htmlPrinterState.htmlPrinterStateReason.htmlPrinterStateReasons.htmlPrinterURI.htmlQueuedJobCount.htmlReferenceUriSchemesSupported.htmlRequestingUserName.htmlSeverity.htmlSheetCollate.htmlSides.htmlclass-useChromaticity.htmlColorSupported.htmlCompression.htmlCopies.htmlCopiesSupported.htmlDateTimeAtCompleted.htmlDateTimeAtCreation.htmlDateTimeAtProcessing.htmlDestination.htmlDialogOwner.htmlDialogTypeSelection.htmlDocumentName.htmlFidelity.htmlFinishings.htmlJobHoldUntil.htmlJobImpressions.htmlJobImpressionsCompleted.htmlJobImpressionsSupported.htmlJobKOctets.htmlJobKOctetsProcessed.htmlJobKOctetsSupported.htmlJobMediaSheets.htmlJobMediaSheetsCompleted.htmlJobMediaSheetsSupported.htmlJobMessageFromOperator.htmlJobName.htmlJobOriginatingUserName.htmlJobPriority.htmlJobPrioritySupported.htmlJobSheets.htmlJobState.htmlJobStateReason.htmlJobStateReasons.htmlMedia.htmlMediaName.htmlMediaPrintableArea.htmlMediaSize.Engineering.htmlMediaSize.ISO.htmlMediaSize.JIS.htmlMediaSize.NA.htmlMediaSize.Other.htmlMediaSize.htmlMediaSizeName.htmlMediaTray.htmlMultipleDocumentHandling.htmlNumberOfDocuments.htmlNumberOfInterveningJobs.htmlNumberUp.htmlNumberUpSupported.htmlOrientationRequested.htmlOutputDeviceAssigned.htmlPDLOverrideSupported.htmlPageRanges.htmlPagesPerMinute.htmlPagesPerMinuteColor.htmlPresentationDirection.htmlPrintQuality.htmlPrinterInfo.htmlPrinterIsAcceptingJobs.htmlPrinterLocation.htmlPrinterMakeAndModel.htmlPrinterMessageFromOperator.htmlPrinterMoreInfo.htmlPrinterMoreInfoManufacturer.htmlPrinterName.htmlPrinterResolution.htmlPrinterState.htmlPrinterStateReason.htmlPrinterStateReasons.htmlPrinterURI.htmlQueuedJobCount.htmlReferenceUriSchemesSupported.htmlRequestingUserName.htmlSeverity.htmlSheetCollate.htmlSides.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAttributeException.htmlCancelablePrintJob.htmlDoc.htmlDocFlavor.BYTE_ARRAY.htmlDocFlavor.CHAR_ARRAY.htmlDocFlavor.INPUT_STREAM.htmlDocFlavor.READER.htmlDocFlavor.SERVICE_FORMATTED.htmlDocFlavor.STRING.htmlDocFlavor.URL.htmlDocFlavor.htmlDocPrintJob.htmlFlavorException.htmlMultiDoc.htmlMultiDocPrintJob.htmlMultiDocPrintService.htmlPrintException.htmlPrintService.htmlPrintServiceLookup.htmlServiceUI.htmlServiceUIFactory.htmlSimpleDoc.htmlStreamPrintService.htmlStreamPrintServiceFactory.htmlURIException.htmleventPrintEvent.htmlPrintJobAdapter.htmlPrintJobAttributeEvent.htmlPrintJobAttributeListener.htmlPrintJobEvent.htmlPrintJobListener.htmlPrintServiceAttributeEvent.htmlPrintServiceAttributeListener.htmlclass-usePrintEvent.htmlPrintJobAdapter.htmlPrintJobAttributeEvent.htmlPrintJobAttributeListener.htmlPrintJobEvent.htmlPrintJobListener.htmlPrintServiceAttributeEvent.htmlPrintServiceAttributeListener.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsoundmidiControllerEventListener.htmlInstrument.htmlInvalidMidiDataException.htmlMetaEventListener.htmlMetaMessage.htmlMidiChannel.htmlMidiDevice.Info.htmlMidiDevice.htmlMidiDeviceReceiver.htmlMidiDeviceTransmitter.htmlMidiEvent.htmlMidiFileFormat.htmlMidiMessage.htmlMidiSystem.htmlMidiUnavailableException.htmlPatch.htmlReceiver.htmlSequence.htmlSequencer.SyncMode.htmlSequencer.htmlShortMessage.htmlSoundbank.htmlSoundbankResource.htmlSynthesizer.htmlSysexMessage.htmlTrack.htmlTransmitter.htmlVoiceStatus.htmlclass-useControllerEventListener.htmlInstrument.htmlInvalidMidiDataException.htmlMetaEventListener.htmlMetaMessage.htmlMidiChannel.htmlMidiDevice.Info.htmlMidiDevice.htmlMidiDeviceReceiver.htmlMidiDeviceTransmitter.htmlMidiEvent.htmlMidiFileFormat.htmlMidiMessage.htmlMidiSystem.htmlMidiUnavailableException.htmlPatch.htmlReceiver.htmlSequence.htmlSequencer.SyncMode.htmlSequencer.htmlShortMessage.htmlSoundbank.htmlSoundbankResource.htmlSynthesizer.htmlSysexMessage.htmlTrack.htmlTransmitter.htmlVoiceStatus.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiMidiDeviceProvider.htmlMidiFileReader.htmlMidiFileWriter.htmlSoundbankReader.htmlclass-useMidiDeviceProvider.htmlMidiFileReader.htmlMidiFileWriter.htmlSoundbankReader.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsampledAudioFileFormat.Type.htmlAudioFileFormat.htmlAudioFormat.Encoding.htmlAudioFormat.htmlAudioInputStream.htmlAudioPermission.htmlAudioSystem.htmlBooleanControl.Type.htmlBooleanControl.htmlClip.htmlCompoundControl.Type.htmlCompoundControl.htmlControl.Type.htmlControl.htmlDataLine.Info.htmlDataLine.htmlEnumControl.Type.htmlEnumControl.htmlFloatControl.Type.htmlFloatControl.htmlLine.Info.htmlLine.htmlLineEvent.Type.htmlLineEvent.htmlLineListener.htmlLineUnavailableException.htmlMixer.Info.htmlMixer.htmlPort.Info.htmlPort.htmlReverbType.htmlSourceDataLine.htmlTargetDataLine.htmlUnsupportedAudioFileException.htmlclass-useAudioFileFormat.Type.htmlAudioFileFormat.htmlAudioFormat.Encoding.htmlAudioFormat.htmlAudioInputStream.htmlAudioPermission.htmlAudioSystem.htmlBooleanControl.Type.htmlBooleanControl.htmlClip.htmlCompoundControl.Type.htmlCompoundControl.htmlControl.Type.htmlControl.htmlDataLine.Info.htmlDataLine.htmlEnumControl.Type.htmlEnumControl.htmlFloatControl.Type.htmlFloatControl.htmlLine.Info.htmlLine.htmlLineEvent.Type.htmlLineEvent.htmlLineListener.htmlLineUnavailableException.htmlMixer.Info.htmlMixer.htmlPort.Info.htmlPort.htmlReverbType.htmlSourceDataLine.htmlTargetDataLine.htmlUnsupportedAudioFileException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiAudioFileReader.htmlAudioFileWriter.htmlFormatConversionProvider.htmlMixerProvider.htmlclass-useAudioFileReader.htmlAudioFileWriter.htmlFormatConversionProvider.htmlMixerProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlswingAbstractAction.htmlAbstractButton.AccessibleAbstractButton.htmlAbstractButton.ButtonChangeListener.htmlAbstractButton.htmlAbstractCellEditor.htmlAbstractListModel.htmlAbstractSpinnerModel.htmlAction.htmlActionMap.htmlBorderFactory.htmlBoundedRangeModel.htmlBox.AccessibleBox.htmlBox.Filler.AccessibleBoxFiller.htmlBox.Filler.htmlBox.htmlBoxLayout.htmlButtonGroup.htmlButtonModel.htmlCellEditor.htmlCellRendererPane.AccessibleCellRendererPane.htmlCellRendererPane.htmlComboBoxEditor.htmlComboBoxModel.htmlComponentInputMap.htmlDebugGraphics.htmlDefaultBoundedRangeModel.htmlDefaultButtonModel.htmlDefaultCellEditor.EditorDelegate.htmlDefaultCellEditor.htmlDefaultComboBoxModel.htmlDefaultDesktopManager.htmlDefaultFocusManager.htmlDefaultListCellRenderer.UIResource.htmlDefaultListCellRenderer.htmlDefaultListModel.htmlDefaultListSelectionModel.htmlDefaultRowSorter.ModelWrapper.htmlDefaultRowSorter.htmlDefaultSingleSelectionModel.htmlDesktopManager.htmlDropMode.htmlFocusManager.htmlGrayFilter.htmlGroupLayout.Alignment.htmlGroupLayout.Group.htmlGroupLayout.ParallelGroup.htmlGroupLayout.SequentialGroup.htmlGroupLayout.htmlIcon.htmlImageIcon.AccessibleImageIcon.htmlImageIcon.htmlInputMap.htmlInputVerifier.htmlInternalFrameFocusTraversalPolicy.htmlJApplet.AccessibleJApplet.htmlJApplet.htmlJButton.AccessibleJButton.htmlJButton.htmlJCheckBox.AccessibleJCheckBox.htmlJCheckBox.htmlJCheckBoxMenuItem.AccessibleJCheckBoxMenuItem.htmlJCheckBoxMenuItem.htmlJColorChooser.AccessibleJColorChooser.htmlJColorChooser.htmlJComboBox.AccessibleJComboBox.htmlJComboBox.KeySelectionManager.htmlJComboBox.htmlJComponent.AccessibleJComponent.AccessibleContainerHandler.htmlJComponent.AccessibleJComponent.AccessibleFocusHandler.htmlJComponent.AccessibleJComponent.htmlJComponent.htmlJDesktopPane.AccessibleJDesktopPane.htmlJDesktopPane.htmlJDialog.AccessibleJDialog.htmlJDialog.htmlJEditorPane.AccessibleJEditorPane.htmlJEditorPane.AccessibleJEditorPaneHTML.htmlJEditorPane.JEditorPaneAccessibleHypertextSupport.HTMLLink.htmlJEditorPane.JEditorPaneAccessibleHypertextSupport.htmlJEditorPane.htmlJFileChooser.AccessibleJFileChooser.htmlJFileChooser.htmlJFormattedTextField.AbstractFormatter.htmlJFormattedTextField.AbstractFormatterFactory.htmlJFormattedTextField.htmlJFrame.AccessibleJFrame.htmlJFrame.htmlJInternalFrame.AccessibleJInternalFrame.htmlJInternalFrame.JDesktopIcon.AccessibleJDesktopIcon.htmlJInternalFrame.JDesktopIcon.htmlJInternalFrame.htmlJLabel.AccessibleJLabel.htmlJLabel.htmlJLayer.htmlJLayeredPane.AccessibleJLayeredPane.htmlJLayeredPane.htmlJList.AccessibleJList.AccessibleJListChild.htmlJList.AccessibleJList.htmlJList.DropLocation.htmlJList.htmlJMenu.AccessibleJMenu.htmlJMenu.WinListener.htmlJMenu.htmlJMenuBar.AccessibleJMenuBar.htmlJMenuBar.htmlJMenuItem.AccessibleJMenuItem.htmlJMenuItem.htmlJOptionPane.AccessibleJOptionPane.htmlJOptionPane.htmlJPanel.AccessibleJPanel.htmlJPanel.htmlJPasswordField.AccessibleJPasswordField.htmlJPasswordField.htmlJPopupMenu.AccessibleJPopupMenu.htmlJPopupMenu.Separator.htmlJPopupMenu.htmlJProgressBar.AccessibleJProgressBar.htmlJProgressBar.htmlJRadioButton.AccessibleJRadioButton.htmlJRadioButton.htmlJRadioButtonMenuItem.AccessibleJRadioButtonMenuItem.htmlJRadioButtonMenuItem.htmlJRootPane.AccessibleJRootPane.htmlJRootPane.RootLayout.htmlJRootPane.htmlJScrollBar.AccessibleJScrollBar.htmlJScrollBar.htmlJScrollPane.AccessibleJScrollPane.htmlJScrollPane.ScrollBar.htmlJScrollPane.htmlJSeparator.AccessibleJSeparator.htmlJSeparator.htmlJSlider.AccessibleJSlider.htmlJSlider.htmlJSpinner.AccessibleJSpinner.htmlJSpinner.DateEditor.htmlJSpinner.DefaultEditor.htmlJSpinner.ListEditor.htmlJSpinner.NumberEditor.htmlJSpinner.htmlJSplitPane.AccessibleJSplitPane.htmlJSplitPane.htmlJTabbedPane.AccessibleJTabbedPane.htmlJTabbedPane.ModelListener.htmlJTabbedPane.htmlJTable.AccessibleJTable.AccessibleJTableCell.htmlJTable.AccessibleJTable.AccessibleJTableModelChange.htmlJTable.AccessibleJTable.htmlJTable.DropLocation.htmlJTable.PrintMode.htmlJTable.htmlJTextArea.AccessibleJTextArea.htmlJTextArea.htmlJTextField.AccessibleJTextField.htmlJTextField.htmlJTextPane.htmlJToggleButton.AccessibleJToggleButton.htmlJToggleButton.ToggleButtonModel.htmlJToggleButton.htmlJToolBar.AccessibleJToolBar.htmlJToolBar.Separator.htmlJToolBar.htmlJToolTip.AccessibleJToolTip.htmlJToolTip.htmlJTree.AccessibleJTree.AccessibleJTreeNode.htmlJTree.AccessibleJTree.htmlJTree.DropLocation.htmlJTree.DynamicUtilTreeNode.htmlJTree.EmptySelectionModel.htmlJTree.TreeModelHandler.htmlJTree.TreeSelectionRedirector.htmlJTree.htmlJViewport.AccessibleJViewport.htmlJViewport.ViewListener.htmlJViewport.htmlJWindow.AccessibleJWindow.htmlJWindow.htmlKeyStroke.htmlLayoutFocusTraversalPolicy.htmlLayoutStyle.ComponentPlacement.htmlLayoutStyle.htmlListCellRenderer.htmlListModel.htmlListSelectionModel.htmlLookAndFeel.htmlMenuElement.htmlMenuSelectionManager.htmlMutableComboBoxModel.htmlOverlayLayout.htmlPainter.htmlPopup.htmlPopupFactory.htmlProgressMonitor.AccessibleProgressMonitor.htmlProgressMonitor.htmlProgressMonitorInputStream.htmlRenderer.htmlRepaintManager.htmlRootPaneContainer.htmlRowFilter.ComparisonType.htmlRowFilter.Entry.htmlRowFilter.htmlRowSorter.SortKey.htmlRowSorter.htmlScrollPaneConstants.htmlScrollPaneLayout.UIResource.htmlScrollPaneLayout.htmlScrollable.htmlSingleSelectionModel.htmlSizeRequirements.htmlSizeSequence.htmlSortOrder.htmlSortingFocusTraversalPolicy.htmlSpinnerDateModel.htmlSpinnerListModel.htmlSpinnerModel.htmlSpinnerNumberModel.htmlSpring.htmlSpringLayout.Constraints.htmlSpringLayout.htmlSwingConstants.htmlSwingContainer.htmlSwingUtilities.htmlSwingWorker.StateValue.htmlSwingWorker.htmlTimer.htmlToolTipManager.htmlToolTipManager.insideTimerAction.htmlToolTipManager.outsideTimerAction.htmlToolTipManager.stillInsideTimerAction.htmlTransferHandler.DropLocation.htmlTransferHandler.TransferSupport.htmlTransferHandler.htmlUIClientPropertyKey.htmlUIDefaults.ActiveValue.htmlUIDefaults.LazyInputMap.htmlUIDefaults.LazyValue.htmlUIDefaults.ProxyLazyValue.htmlUIDefaults.htmlUIManager.LookAndFeelInfo.htmlUIManager.htmlUnsupportedLookAndFeelException.htmlViewportLayout.htmlWindowConstants.htmlborderAbstractBorder.htmlBevelBorder.htmlBorder.htmlCompoundBorder.htmlEmptyBorder.htmlEtchedBorder.htmlLineBorder.htmlMatteBorder.htmlSoftBevelBorder.htmlStrokeBorder.htmlTitledBorder.htmlclass-useAbstractBorder.htmlBevelBorder.htmlBorder.htmlCompoundBorder.htmlEmptyBorder.htmlEtchedBorder.htmlLineBorder.htmlMatteBorder.htmlSoftBevelBorder.htmlStrokeBorder.htmlTitledBorder.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAbstractAction.htmlAbstractButton.AccessibleAbstractButton.htmlAbstractButton.ButtonChangeListener.htmlAbstractButton.htmlAbstractCellEditor.htmlAbstractListModel.htmlAbstractSpinnerModel.htmlAction.htmlActionMap.htmlBorderFactory.htmlBoundedRangeModel.htmlBox.AccessibleBox.htmlBox.Filler.AccessibleBoxFiller.htmlBox.Filler.htmlBox.htmlBoxLayout.htmlButtonGroup.htmlButtonModel.htmlCellEditor.htmlCellRendererPane.AccessibleCellRendererPane.htmlCellRendererPane.htmlComboBoxEditor.htmlComboBoxModel.htmlComponentInputMap.htmlDebugGraphics.htmlDefaultBoundedRangeModel.htmlDefaultButtonModel.htmlDefaultCellEditor.EditorDelegate.htmlDefaultCellEditor.htmlDefaultComboBoxModel.htmlDefaultDesktopManager.htmlDefaultFocusManager.htmlDefaultListCellRenderer.UIResource.htmlDefaultListCellRenderer.htmlDefaultListModel.htmlDefaultListSelectionModel.htmlDefaultRowSorter.ModelWrapper.htmlDefaultRowSorter.htmlDefaultSingleSelectionModel.htmlDesktopManager.htmlDropMode.htmlFocusManager.htmlGrayFilter.htmlGroupLayout.Alignment.htmlGroupLayout.Group.htmlGroupLayout.ParallelGroup.htmlGroupLayout.SequentialGroup.htmlGroupLayout.htmlIcon.htmlImageIcon.AccessibleImageIcon.htmlImageIcon.htmlInputMap.htmlInputVerifier.htmlInternalFrameFocusTraversalPolicy.htmlJApplet.AccessibleJApplet.htmlJApplet.htmlJButton.AccessibleJButton.htmlJButton.htmlJCheckBox.AccessibleJCheckBox.htmlJCheckBox.htmlJCheckBoxMenuItem.AccessibleJCheckBoxMenuItem.htmlJCheckBoxMenuItem.htmlJColorChooser.AccessibleJColorChooser.htmlJColorChooser.htmlJComboBox.AccessibleJComboBox.htmlJComboBox.KeySelectionManager.htmlJComboBox.htmlJComponent.AccessibleJComponent.AccessibleContainerHandler.htmlJComponent.AccessibleJComponent.AccessibleFocusHandler.htmlJComponent.AccessibleJComponent.htmlJComponent.htmlJDesktopPane.AccessibleJDesktopPane.htmlJDesktopPane.htmlJDialog.AccessibleJDialog.htmlJDialog.htmlJEditorPane.AccessibleJEditorPane.htmlJEditorPane.AccessibleJEditorPaneHTML.htmlJEditorPane.JEditorPaneAccessibleHypertextSupport.HTMLLink.htmlJEditorPane.JEditorPaneAccessibleHypertextSupport.htmlJEditorPane.htmlJFileChooser.AccessibleJFileChooser.htmlJFileChooser.htmlJFormattedTextField.AbstractFormatter.htmlJFormattedTextField.AbstractFormatterFactory.htmlJFormattedTextField.htmlJFrame.AccessibleJFrame.htmlJFrame.htmlJInternalFrame.AccessibleJInternalFrame.htmlJInternalFrame.JDesktopIcon.AccessibleJDesktopIcon.htmlJInternalFrame.JDesktopIcon.htmlJInternalFrame.htmlJLabel.AccessibleJLabel.htmlJLabel.htmlJLayer.htmlJLayeredPane.AccessibleJLayeredPane.htmlJLayeredPane.htmlJList.AccessibleJList.AccessibleJListChild.htmlJList.AccessibleJList.htmlJList.DropLocation.htmlJList.htmlJMenu.AccessibleJMenu.htmlJMenu.WinListener.htmlJMenu.htmlJMenuBar.AccessibleJMenuBar.htmlJMenuBar.htmlJMenuItem.AccessibleJMenuItem.htmlJMenuItem.htmlJOptionPane.AccessibleJOptionPane.htmlJOptionPane.htmlJPanel.AccessibleJPanel.htmlJPanel.htmlJPasswordField.AccessibleJPasswordField.htmlJPasswordField.htmlJPopupMenu.AccessibleJPopupMenu.htmlJPopupMenu.Separator.htmlJPopupMenu.htmlJProgressBar.AccessibleJProgressBar.htmlJProgressBar.htmlJRadioButton.AccessibleJRadioButton.htmlJRadioButton.htmlJRadioButtonMenuItem.AccessibleJRadioButtonMenuItem.htmlJRadioButtonMenuItem.htmlJRootPane.AccessibleJRootPane.htmlJRootPane.RootLayout.htmlJRootPane.htmlJScrollBar.AccessibleJScrollBar.htmlJScrollBar.htmlJScrollPane.AccessibleJScrollPane.htmlJScrollPane.ScrollBar.htmlJScrollPane.htmlJSeparator.AccessibleJSeparator.htmlJSeparator.htmlJSlider.AccessibleJSlider.htmlJSlider.htmlJSpinner.AccessibleJSpinner.htmlJSpinner.DateEditor.htmlJSpinner.DefaultEditor.htmlJSpinner.ListEditor.htmlJSpinner.NumberEditor.htmlJSpinner.htmlJSplitPane.AccessibleJSplitPane.htmlJSplitPane.htmlJTabbedPane.AccessibleJTabbedPane.htmlJTabbedPane.ModelListener.htmlJTabbedPane.htmlJTable.AccessibleJTable.AccessibleJTableCell.htmlJTable.AccessibleJTable.AccessibleJTableModelChange.htmlJTable.AccessibleJTable.htmlJTable.DropLocation.htmlJTable.PrintMode.htmlJTable.htmlJTextArea.AccessibleJTextArea.htmlJTextArea.htmlJTextField.AccessibleJTextField.htmlJTextField.htmlJTextPane.htmlJToggleButton.AccessibleJToggleButton.htmlJToggleButton.ToggleButtonModel.htmlJToggleButton.htmlJToolBar.AccessibleJToolBar.htmlJToolBar.Separator.htmlJToolBar.htmlJToolTip.AccessibleJToolTip.htmlJToolTip.htmlJTree.AccessibleJTree.AccessibleJTreeNode.htmlJTree.AccessibleJTree.htmlJTree.DropLocation.htmlJTree.DynamicUtilTreeNode.htmlJTree.EmptySelectionModel.htmlJTree.TreeModelHandler.htmlJTree.TreeSelectionRedirector.htmlJTree.htmlJViewport.AccessibleJViewport.htmlJViewport.ViewListener.htmlJViewport.htmlJWindow.AccessibleJWindow.htmlJWindow.htmlKeyStroke.htmlLayoutFocusTraversalPolicy.htmlLayoutStyle.ComponentPlacement.htmlLayoutStyle.htmlListCellRenderer.htmlListModel.htmlListSelectionModel.htmlLookAndFeel.htmlMenuElement.htmlMenuSelectionManager.htmlMutableComboBoxModel.htmlOverlayLayout.htmlPainter.htmlPopup.htmlPopupFactory.htmlProgressMonitor.AccessibleProgressMonitor.htmlProgressMonitor.htmlProgressMonitorInputStream.htmlRenderer.htmlRepaintManager.htmlRootPaneContainer.htmlRowFilter.ComparisonType.htmlRowFilter.Entry.htmlRowFilter.htmlRowSorter.SortKey.htmlRowSorter.htmlScrollPaneConstants.htmlScrollPaneLayout.UIResource.htmlScrollPaneLayout.htmlScrollable.htmlSingleSelectionModel.htmlSizeRequirements.htmlSizeSequence.htmlSortOrder.htmlSortingFocusTraversalPolicy.htmlSpinnerDateModel.htmlSpinnerListModel.htmlSpinnerModel.htmlSpinnerNumberModel.htmlSpring.htmlSpringLayout.Constraints.htmlSpringLayout.htmlSwingConstants.htmlSwingContainer.htmlSwingUtilities.htmlSwingWorker.StateValue.htmlSwingWorker.htmlTimer.htmlToolTipManager.htmlToolTipManager.insideTimerAction.htmlToolTipManager.outsideTimerAction.htmlToolTipManager.stillInsideTimerAction.htmlTransferHandler.DropLocation.htmlTransferHandler.TransferSupport.htmlTransferHandler.htmlUIClientPropertyKey.htmlUIDefaults.ActiveValue.htmlUIDefaults.LazyInputMap.htmlUIDefaults.LazyValue.htmlUIDefaults.ProxyLazyValue.htmlUIDefaults.htmlUIManager.LookAndFeelInfo.htmlUIManager.htmlUnsupportedLookAndFeelException.htmlViewportLayout.htmlWindowConstants.htmlcolorchooserAbstractColorChooserPanel.htmlColorChooserComponentFactory.htmlColorSelectionModel.htmlDefaultColorSelectionModel.htmlclass-useAbstractColorChooserPanel.htmlColorChooserComponentFactory.htmlColorSelectionModel.htmlDefaultColorSelectionModel.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmldoc-filesBoxLayout-1.gifJLayeredPane-1.gifJRootPane-1.gifJRootPane-2.gifJScrollPane-1.gifSizeSequence-1.gifgroupLayout.1.gifgroupLayout.2.gifgroupLayout.3.gifgroupLayout.example.pnggroupLayout.sequential.gifgroupLayout.sequential.horizontal.gifgroupLayout.sequential.vertical.gifeventAncestorEvent.htmlAncestorListener.htmlCaretEvent.htmlCaretListener.htmlCellEditorListener.htmlChangeEvent.htmlChangeListener.htmlDocumentEvent.ElementChange.htmlDocumentEvent.EventType.htmlDocumentEvent.htmlDocumentListener.htmlEventListenerList.htmlHyperlinkEvent.EventType.htmlHyperlinkEvent.htmlHyperlinkListener.htmlInternalFrameAdapter.htmlInternalFrameEvent.htmlInternalFrameListener.htmlListDataEvent.htmlListDataListener.htmlListSelectionEvent.htmlListSelectionListener.htmlMenuDragMouseEvent.htmlMenuDragMouseListener.htmlMenuEvent.htmlMenuKeyEvent.htmlMenuKeyListener.htmlMenuListener.htmlMouseInputAdapter.htmlMouseInputListener.htmlPopupMenuEvent.htmlPopupMenuListener.htmlRowSorterEvent.Type.htmlRowSorterEvent.htmlRowSorterListener.htmlSwingPropertyChangeSupport.htmlTableColumnModelEvent.htmlTableColumnModelListener.htmlTableModelEvent.htmlTableModelListener.htmlTreeExpansionEvent.htmlTreeExpansionListener.htmlTreeModelEvent.htmlTreeModelListener.htmlTreeSelectionEvent.htmlTreeSelectionListener.htmlTreeWillExpandListener.htmlUndoableEditEvent.htmlUndoableEditListener.htmlclass-useAncestorEvent.htmlAncestorListener.htmlCaretEvent.htmlCaretListener.htmlCellEditorListener.htmlChangeEvent.htmlChangeListener.htmlDocumentEvent.ElementChange.htmlDocumentEvent.EventType.htmlDocumentEvent.htmlDocumentListener.htmlEventListenerList.htmlHyperlinkEvent.EventType.htmlHyperlinkEvent.htmlHyperlinkListener.htmlInternalFrameAdapter.htmlInternalFrameEvent.htmlInternalFrameListener.htmlListDataEvent.htmlListDataListener.htmlListSelectionEvent.htmlListSelectionListener.htmlMenuDragMouseEvent.htmlMenuDragMouseListener.htmlMenuEvent.htmlMenuKeyEvent.htmlMenuKeyListener.htmlMenuListener.htmlMouseInputAdapter.htmlMouseInputListener.htmlPopupMenuEvent.htmlPopupMenuListener.htmlRowSorterEvent.Type.htmlRowSorterEvent.htmlRowSorterListener.htmlSwingPropertyChangeSupport.htmlTableColumnModelEvent.htmlTableColumnModelListener.htmlTableModelEvent.htmlTableModelListener.htmlTreeExpansionEvent.htmlTreeExpansionListener.htmlTreeModelEvent.htmlTreeModelListener.htmlTreeSelectionEvent.htmlTreeSelectionListener.htmlTreeWillExpandListener.htmlUndoableEditEvent.htmlUndoableEditListener.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlfilechooserFileFilter.htmlFileNameExtensionFilter.htmlFileSystemView.htmlFileView.htmlclass-useFileFilter.htmlFileNameExtensionFilter.htmlFileSystemView.htmlFileView.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlplafActionMapUIResource.htmlBorderUIResource.BevelBorderUIResource.htmlBorderUIResource.CompoundBorderUIResource.htmlBorderUIResource.EmptyBorderUIResource.htmlBorderUIResource.EtchedBorderUIResource.htmlBorderUIResource.LineBorderUIResource.htmlBorderUIResource.MatteBorderUIResource.htmlBorderUIResource.TitledBorderUIResource.htmlBorderUIResource.htmlButtonUI.htmlColorChooserUI.htmlColorUIResource.htmlComboBoxUI.htmlComponentInputMapUIResource.htmlComponentUI.htmlDesktopIconUI.htmlDesktopPaneUI.htmlDimensionUIResource.htmlFileChooserUI.htmlFontUIResource.htmlIconUIResource.htmlInputMapUIResource.htmlInsetsUIResource.htmlInternalFrameUI.htmlLabelUI.htmlLayerUI.htmlListUI.htmlMenuBarUI.htmlMenuItemUI.htmlOptionPaneUI.htmlPanelUI.htmlPopupMenuUI.htmlProgressBarUI.htmlRootPaneUI.htmlScrollBarUI.htmlScrollPaneUI.htmlSeparatorUI.htmlSliderUI.htmlSpinnerUI.htmlSplitPaneUI.htmlTabbedPaneUI.htmlTableHeaderUI.htmlTableUI.htmlTextUI.htmlToolBarUI.htmlToolTipUI.htmlTreeUI.htmlUIResource.htmlViewportUI.htmlbasicBasicArrowButton.htmlBasicBorders.ButtonBorder.htmlBasicBorders.FieldBorder.htmlBasicBorders.MarginBorder.htmlBasicBorders.MenuBarBorder.htmlBasicBorders.RadioButtonBorder.htmlBasicBorders.RolloverButtonBorder.htmlBasicBorders.SplitPaneBorder.htmlBasicBorders.ToggleButtonBorder.htmlBasicBorders.htmlBasicButtonListener.htmlBasicButtonUI.htmlBasicCheckBoxMenuItemUI.htmlBasicCheckBoxUI.htmlBasicColorChooserUI.PropertyHandler.htmlBasicColorChooserUI.htmlBasicComboBoxEditor.UIResource.htmlBasicComboBoxEditor.htmlBasicComboBoxRenderer.UIResource.htmlBasicComboBoxRenderer.htmlBasicComboBoxUI.ComboBoxLayoutManager.htmlBasicComboBoxUI.FocusHandler.htmlBasicComboBoxUI.ItemHandler.htmlBasicComboBoxUI.KeyHandler.htmlBasicComboBoxUI.ListDataHandler.htmlBasicComboBoxUI.PropertyChangeHandler.htmlBasicComboBoxUI.htmlBasicComboPopup.InvocationKeyHandler.htmlBasicComboPopup.InvocationMouseHandler.htmlBasicComboPopup.InvocationMouseMotionHandler.htmlBasicComboPopup.ItemHandler.htmlBasicComboPopup.ListDataHandler.htmlBasicComboPopup.ListMouseHandler.htmlBasicComboPopup.ListMouseMotionHandler.htmlBasicComboPopup.ListSelectionHandler.htmlBasicComboPopup.PropertyChangeHandler.htmlBasicComboPopup.htmlBasicDesktopIconUI.MouseInputHandler.htmlBasicDesktopIconUI.htmlBasicDesktopPaneUI.CloseAction.htmlBasicDesktopPaneUI.MaximizeAction.htmlBasicDesktopPaneUI.MinimizeAction.htmlBasicDesktopPaneUI.NavigateAction.htmlBasicDesktopPaneUI.OpenAction.htmlBasicDesktopPaneUI.htmlBasicDirectoryModel.htmlBasicEditorPaneUI.htmlBasicFileChooserUI.AcceptAllFileFilter.htmlBasicFileChooserUI.ApproveSelectionAction.htmlBasicFileChooserUI.BasicFileView.htmlBasicFileChooserUI.CancelSelectionAction.htmlBasicFileChooserUI.ChangeToParentDirectoryAction.htmlBasicFileChooserUI.DoubleClickListener.htmlBasicFileChooserUI.GoHomeAction.htmlBasicFileChooserUI.NewFolderAction.htmlBasicFileChooserUI.SelectionListener.htmlBasicFileChooserUI.UpdateAction.htmlBasicFileChooserUI.htmlBasicFormattedTextFieldUI.htmlBasicGraphicsUtils.htmlBasicHTML.htmlBasicIconFactory.htmlBasicInternalFrameTitlePane.CloseAction.htmlBasicInternalFrameTitlePane.IconifyAction.htmlBasicInternalFrameTitlePane.MaximizeAction.htmlBasicInternalFrameTitlePane.MoveAction.htmlBasicInternalFrameTitlePane.PropertyChangeHandler.htmlBasicInternalFrameTitlePane.RestoreAction.htmlBasicInternalFrameTitlePane.SizeAction.htmlBasicInternalFrameTitlePane.SystemMenuBar.htmlBasicInternalFrameTitlePane.TitlePaneLayout.htmlBasicInternalFrameTitlePane.htmlBasicInternalFrameUI.BasicInternalFrameListener.htmlBasicInternalFrameUI.BorderListener.htmlBasicInternalFrameUI.ComponentHandler.htmlBasicInternalFrameUI.GlassPaneDispatcher.htmlBasicInternalFrameUI.InternalFrameLayout.htmlBasicInternalFrameUI.InternalFramePropertyChangeListener.htmlBasicInternalFrameUI.htmlBasicLabelUI.htmlBasicListUI.FocusHandler.htmlBasicListUI.ListDataHandler.htmlBasicListUI.ListSelectionHandler.htmlBasicListUI.MouseInputHandler.htmlBasicListUI.PropertyChangeHandler.htmlBasicListUI.htmlBasicLookAndFeel.htmlBasicMenuBarUI.htmlBasicMenuItemUI.MouseInputHandler.htmlBasicMenuItemUI.htmlBasicMenuUI.ChangeHandler.htmlBasicMenuUI.MouseInputHandler.htmlBasicMenuUI.htmlBasicOptionPaneUI.ButtonActionListener.htmlBasicOptionPaneUI.ButtonAreaLayout.htmlBasicOptionPaneUI.PropertyChangeHandler.htmlBasicOptionPaneUI.htmlBasicPanelUI.htmlBasicPasswordFieldUI.htmlBasicPopupMenuSeparatorUI.htmlBasicPopupMenuUI.htmlBasicProgressBarUI.ChangeHandler.htmlBasicProgressBarUI.htmlBasicRadioButtonMenuItemUI.htmlBasicRadioButtonUI.htmlBasicRootPaneUI.htmlBasicScrollBarUI.ArrowButtonListener.htmlBasicScrollBarUI.ModelListener.htmlBasicScrollBarUI.PropertyChangeHandler.htmlBasicScrollBarUI.ScrollListener.htmlBasicScrollBarUI.TrackListener.htmlBasicScrollBarUI.htmlBasicScrollPaneUI.HSBChangeListener.htmlBasicScrollPaneUI.MouseWheelHandler.htmlBasicScrollPaneUI.PropertyChangeHandler.htmlBasicScrollPaneUI.VSBChangeListener.htmlBasicScrollPaneUI.ViewportChangeHandler.htmlBasicScrollPaneUI.htmlBasicSeparatorUI.htmlBasicSliderUI.ActionScroller.htmlBasicSliderUI.ChangeHandler.htmlBasicSliderUI.ComponentHandler.htmlBasicSliderUI.FocusHandler.htmlBasicSliderUI.PropertyChangeHandler.htmlBasicSliderUI.ScrollListener.htmlBasicSliderUI.TrackListener.htmlBasicSliderUI.htmlBasicSpinnerUI.htmlBasicSplitPaneDivider.DividerLayout.htmlBasicSplitPaneDivider.DragController.htmlBasicSplitPaneDivider.MouseHandler.htmlBasicSplitPaneDivider.VerticalDragController.htmlBasicSplitPaneDivider.htmlBasicSplitPaneUI.BasicHorizontalLayoutManager.htmlBasicSplitPaneUI.BasicVerticalLayoutManager.htmlBasicSplitPaneUI.FocusHandler.htmlBasicSplitPaneUI.KeyboardDownRightHandler.htmlBasicSplitPaneUI.KeyboardEndHandler.htmlBasicSplitPaneUI.KeyboardHomeHandler.htmlBasicSplitPaneUI.KeyboardResizeToggleHandler.htmlBasicSplitPaneUI.KeyboardUpLeftHandler.htmlBasicSplitPaneUI.PropertyHandler.htmlBasicSplitPaneUI.htmlBasicTabbedPaneUI.FocusHandler.htmlBasicTabbedPaneUI.MouseHandler.htmlBasicTabbedPaneUI.PropertyChangeHandler.htmlBasicTabbedPaneUI.TabSelectionHandler.htmlBasicTabbedPaneUI.TabbedPaneLayout.htmlBasicTabbedPaneUI.htmlBasicTableHeaderUI.MouseInputHandler.htmlBasicTableHeaderUI.htmlBasicTableUI.FocusHandler.htmlBasicTableUI.KeyHandler.htmlBasicTableUI.MouseInputHandler.htmlBasicTableUI.htmlBasicTextAreaUI.htmlBasicTextFieldUI.htmlBasicTextPaneUI.htmlBasicTextUI.BasicCaret.htmlBasicTextUI.BasicHighlighter.htmlBasicTextUI.htmlBasicToggleButtonUI.htmlBasicToolBarSeparatorUI.htmlBasicToolBarUI.DockingListener.htmlBasicToolBarUI.DragWindow.htmlBasicToolBarUI.FrameListener.htmlBasicToolBarUI.PropertyListener.htmlBasicToolBarUI.ToolBarContListener.htmlBasicToolBarUI.ToolBarFocusListener.htmlBasicToolBarUI.htmlBasicToolTipUI.htmlBasicTreeUI.CellEditorHandler.htmlBasicTreeUI.ComponentHandler.htmlBasicTreeUI.FocusHandler.htmlBasicTreeUI.KeyHandler.htmlBasicTreeUI.MouseHandler.htmlBasicTreeUI.MouseInputHandler.htmlBasicTreeUI.NodeDimensionsHandler.htmlBasicTreeUI.PropertyChangeHandler.htmlBasicTreeUI.SelectionModelPropertyChangeHandler.htmlBasicTreeUI.TreeCancelEditingAction.htmlBasicTreeUI.TreeExpansionHandler.htmlBasicTreeUI.TreeHomeAction.htmlBasicTreeUI.TreeIncrementAction.htmlBasicTreeUI.TreeModelHandler.htmlBasicTreeUI.TreePageAction.htmlBasicTreeUI.TreeSelectionHandler.htmlBasicTreeUI.TreeToggleAction.htmlBasicTreeUI.TreeTraverseAction.htmlBasicTreeUI.htmlBasicViewportUI.htmlComboPopup.htmlDefaultMenuLayout.htmlclass-useBasicArrowButton.htmlBasicBorders.ButtonBorder.htmlBasicBorders.FieldBorder.htmlBasicBorders.MarginBorder.htmlBasicBorders.MenuBarBorder.htmlBasicBorders.RadioButtonBorder.htmlBasicBorders.RolloverButtonBorder.htmlBasicBorders.SplitPaneBorder.htmlBasicBorders.ToggleButtonBorder.htmlBasicBorders.htmlBasicButtonListener.htmlBasicButtonUI.htmlBasicCheckBoxMenuItemUI.htmlBasicCheckBoxUI.htmlBasicColorChooserUI.PropertyHandler.htmlBasicColorChooserUI.htmlBasicComboBoxEditor.UIResource.htmlBasicComboBoxEditor.htmlBasicComboBoxRenderer.UIResource.htmlBasicComboBoxRenderer.htmlBasicComboBoxUI.ComboBoxLayoutManager.htmlBasicComboBoxUI.FocusHandler.htmlBasicComboBoxUI.ItemHandler.htmlBasicComboBoxUI.KeyHandler.htmlBasicComboBoxUI.ListDataHandler.htmlBasicComboBoxUI.PropertyChangeHandler.htmlBasicComboBoxUI.htmlBasicComboPopup.InvocationKeyHandler.htmlBasicComboPopup.InvocationMouseHandler.htmlBasicComboPopup.InvocationMouseMotionHandler.htmlBasicComboPopup.ItemHandler.htmlBasicComboPopup.ListDataHandler.htmlBasicComboPopup.ListMouseHandler.htmlBasicComboPopup.ListMouseMotionHandler.htmlBasicComboPopup.ListSelectionHandler.htmlBasicComboPopup.PropertyChangeHandler.htmlBasicComboPopup.htmlBasicDesktopIconUI.MouseInputHandler.htmlBasicDesktopIconUI.htmlBasicDesktopPaneUI.CloseAction.htmlBasicDesktopPaneUI.MaximizeAction.htmlBasicDesktopPaneUI.MinimizeAction.htmlBasicDesktopPaneUI.NavigateAction.htmlBasicDesktopPaneUI.OpenAction.htmlBasicDesktopPaneUI.htmlBasicDirectoryModel.htmlBasicEditorPaneUI.htmlBasicFileChooserUI.AcceptAllFileFilter.htmlBasicFileChooserUI.ApproveSelectionAction.htmlBasicFileChooserUI.BasicFileView.htmlBasicFileChooserUI.CancelSelectionAction.htmlBasicFileChooserUI.ChangeToParentDirectoryAction.htmlBasicFileChooserUI.DoubleClickListener.htmlBasicFileChooserUI.GoHomeAction.htmlBasicFileChooserUI.NewFolderAction.htmlBasicFileChooserUI.SelectionListener.htmlBasicFileChooserUI.UpdateAction.htmlBasicFileChooserUI.htmlBasicFormattedTextFieldUI.htmlBasicGraphicsUtils.htmlBasicHTML.htmlBasicIconFactory.htmlBasicInternalFrameTitlePane.CloseAction.htmlBasicInternalFrameTitlePane.IconifyAction.htmlBasicInternalFrameTitlePane.MaximizeAction.htmlBasicInternalFrameTitlePane.MoveAction.htmlBasicInternalFrameTitlePane.PropertyChangeHandler.htmlBasicInternalFrameTitlePane.RestoreAction.htmlBasicInternalFrameTitlePane.SizeAction.htmlBasicInternalFrameTitlePane.SystemMenuBar.htmlBasicInternalFrameTitlePane.TitlePaneLayout.htmlBasicInternalFrameTitlePane.htmlBasicInternalFrameUI.BasicInternalFrameListener.htmlBasicInternalFrameUI.BorderListener.htmlBasicInternalFrameUI.ComponentHandler.htmlBasicInternalFrameUI.GlassPaneDispatcher.htmlBasicInternalFrameUI.InternalFrameLayout.htmlBasicInternalFrameUI.InternalFramePropertyChangeListener.htmlBasicInternalFrameUI.htmlBasicLabelUI.htmlBasicListUI.FocusHandler.htmlBasicListUI.ListDataHandler.htmlBasicListUI.ListSelectionHandler.htmlBasicListUI.MouseInputHandler.htmlBasicListUI.PropertyChangeHandler.htmlBasicListUI.htmlBasicLookAndFeel.htmlBasicMenuBarUI.htmlBasicMenuItemUI.MouseInputHandler.htmlBasicMenuItemUI.htmlBasicMenuUI.ChangeHandler.htmlBasicMenuUI.MouseInputHandler.htmlBasicMenuUI.htmlBasicOptionPaneUI.ButtonActionListener.htmlBasicOptionPaneUI.ButtonAreaLayout.htmlBasicOptionPaneUI.PropertyChangeHandler.htmlBasicOptionPaneUI.htmlBasicPanelUI.htmlBasicPasswordFieldUI.htmlBasicPopupMenuSeparatorUI.htmlBasicPopupMenuUI.htmlBasicProgressBarUI.ChangeHandler.htmlBasicProgressBarUI.htmlBasicRadioButtonMenuItemUI.htmlBasicRadioButtonUI.htmlBasicRootPaneUI.htmlBasicScrollBarUI.ArrowButtonListener.htmlBasicScrollBarUI.ModelListener.htmlBasicScrollBarUI.PropertyChangeHandler.htmlBasicScrollBarUI.ScrollListener.htmlBasicScrollBarUI.TrackListener.htmlBasicScrollBarUI.htmlBasicScrollPaneUI.HSBChangeListener.htmlBasicScrollPaneUI.MouseWheelHandler.htmlBasicScrollPaneUI.PropertyChangeHandler.htmlBasicScrollPaneUI.VSBChangeListener.htmlBasicScrollPaneUI.ViewportChangeHandler.htmlBasicScrollPaneUI.htmlBasicSeparatorUI.htmlBasicSliderUI.ActionScroller.htmlBasicSliderUI.ChangeHandler.htmlBasicSliderUI.ComponentHandler.htmlBasicSliderUI.FocusHandler.htmlBasicSliderUI.PropertyChangeHandler.htmlBasicSliderUI.ScrollListener.htmlBasicSliderUI.TrackListener.htmlBasicSliderUI.htmlBasicSpinnerUI.htmlBasicSplitPaneDivider.DividerLayout.htmlBasicSplitPaneDivider.DragController.htmlBasicSplitPaneDivider.MouseHandler.htmlBasicSplitPaneDivider.VerticalDragController.htmlBasicSplitPaneDivider.htmlBasicSplitPaneUI.BasicHorizontalLayoutManager.htmlBasicSplitPaneUI.BasicVerticalLayoutManager.htmlBasicSplitPaneUI.FocusHandler.htmlBasicSplitPaneUI.KeyboardDownRightHandler.htmlBasicSplitPaneUI.KeyboardEndHandler.htmlBasicSplitPaneUI.KeyboardHomeHandler.htmlBasicSplitPaneUI.KeyboardResizeToggleHandler.htmlBasicSplitPaneUI.KeyboardUpLeftHandler.htmlBasicSplitPaneUI.PropertyHandler.htmlBasicSplitPaneUI.htmlBasicTabbedPaneUI.FocusHandler.htmlBasicTabbedPaneUI.MouseHandler.htmlBasicTabbedPaneUI.PropertyChangeHandler.htmlBasicTabbedPaneUI.TabSelectionHandler.htmlBasicTabbedPaneUI.TabbedPaneLayout.htmlBasicTabbedPaneUI.htmlBasicTableHeaderUI.MouseInputHandler.htmlBasicTableHeaderUI.htmlBasicTableUI.FocusHandler.htmlBasicTableUI.KeyHandler.htmlBasicTableUI.MouseInputHandler.htmlBasicTableUI.htmlBasicTextAreaUI.htmlBasicTextFieldUI.htmlBasicTextPaneUI.htmlBasicTextUI.BasicCaret.htmlBasicTextUI.BasicHighlighter.htmlBasicTextUI.htmlBasicToggleButtonUI.htmlBasicToolBarSeparatorUI.htmlBasicToolBarUI.DockingListener.htmlBasicToolBarUI.DragWindow.htmlBasicToolBarUI.FrameListener.htmlBasicToolBarUI.PropertyListener.htmlBasicToolBarUI.ToolBarContListener.htmlBasicToolBarUI.ToolBarFocusListener.htmlBasicToolBarUI.htmlBasicToolTipUI.htmlBasicTreeUI.CellEditorHandler.htmlBasicTreeUI.ComponentHandler.htmlBasicTreeUI.FocusHandler.htmlBasicTreeUI.KeyHandler.htmlBasicTreeUI.MouseHandler.htmlBasicTreeUI.MouseInputHandler.htmlBasicTreeUI.NodeDimensionsHandler.htmlBasicTreeUI.PropertyChangeHandler.htmlBasicTreeUI.SelectionModelPropertyChangeHandler.htmlBasicTreeUI.TreeCancelEditingAction.htmlBasicTreeUI.TreeExpansionHandler.htmlBasicTreeUI.TreeHomeAction.htmlBasicTreeUI.TreeIncrementAction.htmlBasicTreeUI.TreeModelHandler.htmlBasicTreeUI.TreePageAction.htmlBasicTreeUI.TreeSelectionHandler.htmlBasicTreeUI.TreeToggleAction.htmlBasicTreeUI.TreeTraverseAction.htmlBasicTreeUI.htmlBasicViewportUI.htmlComboPopup.htmlDefaultMenuLayout.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useActionMapUIResource.htmlBorderUIResource.BevelBorderUIResource.htmlBorderUIResource.CompoundBorderUIResource.htmlBorderUIResource.EmptyBorderUIResource.htmlBorderUIResource.EtchedBorderUIResource.htmlBorderUIResource.LineBorderUIResource.htmlBorderUIResource.MatteBorderUIResource.htmlBorderUIResource.TitledBorderUIResource.htmlBorderUIResource.htmlButtonUI.htmlColorChooserUI.htmlColorUIResource.htmlComboBoxUI.htmlComponentInputMapUIResource.htmlComponentUI.htmlDesktopIconUI.htmlDesktopPaneUI.htmlDimensionUIResource.htmlFileChooserUI.htmlFontUIResource.htmlIconUIResource.htmlInputMapUIResource.htmlInsetsUIResource.htmlInternalFrameUI.htmlLabelUI.htmlLayerUI.htmlListUI.htmlMenuBarUI.htmlMenuItemUI.htmlOptionPaneUI.htmlPanelUI.htmlPopupMenuUI.htmlProgressBarUI.htmlRootPaneUI.htmlScrollBarUI.htmlScrollPaneUI.htmlSeparatorUI.htmlSliderUI.htmlSpinnerUI.htmlSplitPaneUI.htmlTabbedPaneUI.htmlTableHeaderUI.htmlTableUI.htmlTextUI.htmlToolBarUI.htmlToolTipUI.htmlTreeUI.htmlUIResource.htmlViewportUI.htmlmetalDefaultMetalTheme.htmlMetalBorders.ButtonBorder.htmlMetalBorders.Flush3DBorder.htmlMetalBorders.InternalFrameBorder.htmlMetalBorders.MenuBarBorder.htmlMetalBorders.MenuItemBorder.htmlMetalBorders.OptionDialogBorder.htmlMetalBorders.PaletteBorder.htmlMetalBorders.PopupMenuBorder.htmlMetalBorders.RolloverButtonBorder.htmlMetalBorders.ScrollPaneBorder.htmlMetalBorders.TableHeaderBorder.htmlMetalBorders.TextFieldBorder.htmlMetalBorders.ToggleButtonBorder.htmlMetalBorders.ToolBarBorder.htmlMetalBorders.htmlMetalButtonUI.htmlMetalCheckBoxIcon.htmlMetalCheckBoxUI.htmlMetalComboBoxButton.htmlMetalComboBoxEditor.UIResource.htmlMetalComboBoxEditor.htmlMetalComboBoxIcon.htmlMetalComboBoxUI.MetalComboBoxLayoutManager.htmlMetalComboBoxUI.MetalComboPopup.htmlMetalComboBoxUI.MetalPropertyChangeListener.htmlMetalComboBoxUI.htmlMetalDesktopIconUI.htmlMetalFileChooserUI.DirectoryComboBoxAction.htmlMetalFileChooserUI.DirectoryComboBoxModel.htmlMetalFileChooserUI.FileRenderer.htmlMetalFileChooserUI.FilterComboBoxModel.htmlMetalFileChooserUI.FilterComboBoxRenderer.htmlMetalFileChooserUI.SingleClickListener.htmlMetalFileChooserUI.htmlMetalIconFactory.FileIcon16.htmlMetalIconFactory.FolderIcon16.htmlMetalIconFactory.PaletteCloseIcon.htmlMetalIconFactory.TreeControlIcon.htmlMetalIconFactory.TreeFolderIcon.htmlMetalIconFactory.TreeLeafIcon.htmlMetalIconFactory.htmlMetalInternalFrameTitlePane.htmlMetalInternalFrameUI.htmlMetalLabelUI.htmlMetalLookAndFeel.htmlMetalMenuBarUI.htmlMetalPopupMenuSeparatorUI.htmlMetalProgressBarUI.htmlMetalRadioButtonUI.htmlMetalRootPaneUI.htmlMetalScrollBarUI.htmlMetalScrollButton.htmlMetalScrollPaneUI.htmlMetalSeparatorUI.htmlMetalSliderUI.MetalPropertyListener.htmlMetalSliderUI.htmlMetalSplitPaneUI.htmlMetalTabbedPaneUI.TabbedPaneLayout.htmlMetalTabbedPaneUI.htmlMetalTextFieldUI.htmlMetalTheme.htmlMetalToggleButtonUI.htmlMetalToolBarUI.MetalContainerListener.htmlMetalToolBarUI.MetalDockingListener.htmlMetalToolBarUI.MetalRolloverListener.htmlMetalToolBarUI.htmlMetalToolTipUI.htmlMetalTreeUI.htmlOceanTheme.htmlclass-useDefaultMetalTheme.htmlMetalBorders.ButtonBorder.htmlMetalBorders.Flush3DBorder.htmlMetalBorders.InternalFrameBorder.htmlMetalBorders.MenuBarBorder.htmlMetalBorders.MenuItemBorder.htmlMetalBorders.OptionDialogBorder.htmlMetalBorders.PaletteBorder.htmlMetalBorders.PopupMenuBorder.htmlMetalBorders.RolloverButtonBorder.htmlMetalBorders.ScrollPaneBorder.htmlMetalBorders.TableHeaderBorder.htmlMetalBorders.TextFieldBorder.htmlMetalBorders.ToggleButtonBorder.htmlMetalBorders.ToolBarBorder.htmlMetalBorders.htmlMetalButtonUI.htmlMetalCheckBoxIcon.htmlMetalCheckBoxUI.htmlMetalComboBoxButton.htmlMetalComboBoxEditor.UIResource.htmlMetalComboBoxEditor.htmlMetalComboBoxIcon.htmlMetalComboBoxUI.MetalComboBoxLayoutManager.htmlMetalComboBoxUI.MetalComboPopup.htmlMetalComboBoxUI.MetalPropertyChangeListener.htmlMetalComboBoxUI.htmlMetalDesktopIconUI.htmlMetalFileChooserUI.DirectoryComboBoxAction.htmlMetalFileChooserUI.DirectoryComboBoxModel.htmlMetalFileChooserUI.FileRenderer.htmlMetalFileChooserUI.FilterComboBoxModel.htmlMetalFileChooserUI.FilterComboBoxRenderer.htmlMetalFileChooserUI.SingleClickListener.htmlMetalFileChooserUI.htmlMetalIconFactory.FileIcon16.htmlMetalIconFactory.FolderIcon16.htmlMetalIconFactory.PaletteCloseIcon.htmlMetalIconFactory.TreeControlIcon.htmlMetalIconFactory.TreeFolderIcon.htmlMetalIconFactory.TreeLeafIcon.htmlMetalIconFactory.htmlMetalInternalFrameTitlePane.htmlMetalInternalFrameUI.htmlMetalLabelUI.htmlMetalLookAndFeel.htmlMetalMenuBarUI.htmlMetalPopupMenuSeparatorUI.htmlMetalProgressBarUI.htmlMetalRadioButtonUI.htmlMetalRootPaneUI.htmlMetalScrollBarUI.htmlMetalScrollButton.htmlMetalScrollPaneUI.htmlMetalSeparatorUI.htmlMetalSliderUI.MetalPropertyListener.htmlMetalSliderUI.htmlMetalSplitPaneUI.htmlMetalTabbedPaneUI.TabbedPaneLayout.htmlMetalTabbedPaneUI.htmlMetalTextFieldUI.htmlMetalTheme.htmlMetalToggleButtonUI.htmlMetalToolBarUI.MetalContainerListener.htmlMetalToolBarUI.MetalDockingListener.htmlMetalToolBarUI.MetalRolloverListener.htmlMetalToolBarUI.htmlMetalToolTipUI.htmlMetalTreeUI.htmlOceanTheme.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmultiMultiButtonUI.htmlMultiColorChooserUI.htmlMultiComboBoxUI.htmlMultiDesktopIconUI.htmlMultiDesktopPaneUI.htmlMultiFileChooserUI.htmlMultiInternalFrameUI.htmlMultiLabelUI.htmlMultiListUI.htmlMultiLookAndFeel.htmlMultiMenuBarUI.htmlMultiMenuItemUI.htmlMultiOptionPaneUI.htmlMultiPanelUI.htmlMultiPopupMenuUI.htmlMultiProgressBarUI.htmlMultiRootPaneUI.htmlMultiScrollBarUI.htmlMultiScrollPaneUI.htmlMultiSeparatorUI.htmlMultiSliderUI.htmlMultiSpinnerUI.htmlMultiSplitPaneUI.htmlMultiTabbedPaneUI.htmlMultiTableHeaderUI.htmlMultiTableUI.htmlMultiTextUI.htmlMultiToolBarUI.htmlMultiToolTipUI.htmlMultiTreeUI.htmlMultiViewportUI.htmlclass-useMultiButtonUI.htmlMultiColorChooserUI.htmlMultiComboBoxUI.htmlMultiDesktopIconUI.htmlMultiDesktopPaneUI.htmlMultiFileChooserUI.htmlMultiInternalFrameUI.htmlMultiLabelUI.htmlMultiListUI.htmlMultiLookAndFeel.htmlMultiMenuBarUI.htmlMultiMenuItemUI.htmlMultiOptionPaneUI.htmlMultiPanelUI.htmlMultiPopupMenuUI.htmlMultiProgressBarUI.htmlMultiRootPaneUI.htmlMultiScrollBarUI.htmlMultiScrollPaneUI.htmlMultiSeparatorUI.htmlMultiSliderUI.htmlMultiSpinnerUI.htmlMultiSplitPaneUI.htmlMultiTabbedPaneUI.htmlMultiTableHeaderUI.htmlMultiTableUI.htmlMultiTextUI.htmlMultiToolBarUI.htmlMultiToolTipUI.htmlMultiTreeUI.htmlMultiViewportUI.htmldoc-filesmulti_tsc.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlnimbusAbstractRegionPainter.PaintContext.CacheMode.htmlAbstractRegionPainter.PaintContext.htmlAbstractRegionPainter.htmlNimbusLookAndFeel.htmlNimbusStyle.htmlState.htmlclass-useAbstractRegionPainter.PaintContext.CacheMode.htmlAbstractRegionPainter.PaintContext.htmlAbstractRegionPainter.htmlNimbusLookAndFeel.htmlNimbusStyle.htmlState.htmldoc-filesproperties.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsynthColorType.htmlRegion.htmlSynthButtonUI.htmlSynthCheckBoxMenuItemUI.htmlSynthCheckBoxUI.htmlSynthColorChooserUI.htmlSynthComboBoxUI.htmlSynthConstants.htmlSynthContext.htmlSynthDesktopIconUI.htmlSynthDesktopPaneUI.htmlSynthEditorPaneUI.htmlSynthFormattedTextFieldUI.htmlSynthGraphicsUtils.htmlSynthIcon.htmlSynthInternalFrameUI.htmlSynthLabelUI.htmlSynthListUI.htmlSynthLookAndFeel.htmlSynthMenuBarUI.htmlSynthMenuItemUI.htmlSynthMenuUI.htmlSynthOptionPaneUI.htmlSynthPainter.htmlSynthPanelUI.htmlSynthPasswordFieldUI.htmlSynthPopupMenuUI.htmlSynthProgressBarUI.htmlSynthRadioButtonMenuItemUI.htmlSynthRadioButtonUI.htmlSynthRootPaneUI.htmlSynthScrollBarUI.htmlSynthScrollPaneUI.htmlSynthSeparatorUI.htmlSynthSliderUI.htmlSynthSpinnerUI.htmlSynthSplitPaneUI.htmlSynthStyle.htmlSynthStyleFactory.htmlSynthTabbedPaneUI.htmlSynthTableHeaderUI.htmlSynthTableUI.htmlSynthTextAreaUI.htmlSynthTextFieldUI.htmlSynthTextPaneUI.htmlSynthToggleButtonUI.htmlSynthToolBarUI.htmlSynthToolTipUI.htmlSynthTreeUI.htmlSynthUI.htmlSynthViewportUI.htmlclass-useColorType.htmlRegion.htmlSynthButtonUI.htmlSynthCheckBoxMenuItemUI.htmlSynthCheckBoxUI.htmlSynthColorChooserUI.htmlSynthComboBoxUI.htmlSynthConstants.htmlSynthContext.htmlSynthDesktopIconUI.htmlSynthDesktopPaneUI.htmlSynthEditorPaneUI.htmlSynthFormattedTextFieldUI.htmlSynthGraphicsUtils.htmlSynthIcon.htmlSynthInternalFrameUI.htmlSynthLabelUI.htmlSynthListUI.htmlSynthLookAndFeel.htmlSynthMenuBarUI.htmlSynthMenuItemUI.htmlSynthMenuUI.htmlSynthOptionPaneUI.htmlSynthPainter.htmlSynthPanelUI.htmlSynthPasswordFieldUI.htmlSynthPopupMenuUI.htmlSynthProgressBarUI.htmlSynthRadioButtonMenuItemUI.htmlSynthRadioButtonUI.htmlSynthRootPaneUI.htmlSynthScrollBarUI.htmlSynthScrollPaneUI.htmlSynthSeparatorUI.htmlSynthSliderUI.htmlSynthSpinnerUI.htmlSynthSplitPaneUI.htmlSynthStyle.htmlSynthStyleFactory.htmlSynthTabbedPaneUI.htmlSynthTableHeaderUI.htmlSynthTableUI.htmlSynthTextAreaUI.htmlSynthTextFieldUI.htmlSynthTextPaneUI.htmlSynthToggleButtonUI.htmlSynthToolBarUI.htmlSynthToolTipUI.htmlSynthTreeUI.htmlSynthUI.htmlSynthViewportUI.htmldoc-filescomponentProperties.htmlsynth.dtdsynthFileFormat.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltableAbstractTableModel.htmlDefaultTableCellRenderer.UIResource.htmlDefaultTableCellRenderer.htmlDefaultTableColumnModel.htmlDefaultTableModel.htmlJTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.htmlJTableHeader.AccessibleJTableHeader.htmlJTableHeader.htmlTableCellEditor.htmlTableCellRenderer.htmlTableColumn.htmlTableColumnModel.htmlTableModel.htmlTableRowSorter.htmlTableStringConverter.htmlclass-useAbstractTableModel.htmlDefaultTableCellRenderer.UIResource.htmlDefaultTableCellRenderer.htmlDefaultTableColumnModel.htmlDefaultTableModel.htmlJTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.htmlJTableHeader.AccessibleJTableHeader.htmlJTableHeader.htmlTableCellEditor.htmlTableCellRenderer.htmlTableColumn.htmlTableColumnModel.htmlTableModel.htmlTableRowSorter.htmlTableStringConverter.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltextAbstractDocument.AbstractElement.htmlAbstractDocument.AttributeContext.htmlAbstractDocument.BranchElement.htmlAbstractDocument.Content.htmlAbstractDocument.DefaultDocumentEvent.htmlAbstractDocument.ElementEdit.htmlAbstractDocument.LeafElement.htmlAbstractDocument.htmlAbstractWriter.htmlAsyncBoxView.ChildLocator.htmlAsyncBoxView.ChildState.htmlAsyncBoxView.htmlAttributeSet.CharacterAttribute.htmlAttributeSet.ColorAttribute.htmlAttributeSet.FontAttribute.htmlAttributeSet.ParagraphAttribute.htmlAttributeSet.htmlBadLocationException.htmlBoxView.htmlCaret.htmlChangedCharSetException.htmlComponentView.htmlCompositeView.htmlDateFormatter.htmlDefaultCaret.htmlDefaultEditorKit.BeepAction.htmlDefaultEditorKit.CopyAction.htmlDefaultEditorKit.CutAction.htmlDefaultEditorKit.DefaultKeyTypedAction.htmlDefaultEditorKit.InsertBreakAction.htmlDefaultEditorKit.InsertContentAction.htmlDefaultEditorKit.InsertTabAction.htmlDefaultEditorKit.PasteAction.htmlDefaultEditorKit.htmlDefaultFormatter.htmlDefaultFormatterFactory.htmlDefaultHighlighter.DefaultHighlightPainter.htmlDefaultHighlighter.htmlDefaultStyledDocument.AttributeUndoableEdit.htmlDefaultStyledDocument.ElementBuffer.htmlDefaultStyledDocument.ElementSpec.htmlDefaultStyledDocument.SectionElement.htmlDefaultStyledDocument.htmlDefaultTextUI.htmlDocument.htmlDocumentFilter.FilterBypass.htmlDocumentFilter.htmlEditorKit.htmlElement.htmlElementIterator.htmlFieldView.htmlFlowView.FlowStrategy.htmlFlowView.htmlGapContent.htmlGlyphView.GlyphPainter.htmlGlyphView.htmlHighlighter.Highlight.htmlHighlighter.HighlightPainter.htmlHighlighter.htmlIconView.htmlInternationalFormatter.htmlJTextComponent.AccessibleJTextComponent.htmlJTextComponent.DropLocation.htmlJTextComponent.KeyBinding.htmlJTextComponent.htmlKeymap.htmlLabelView.htmlLayeredHighlighter.LayerPainter.htmlLayeredHighlighter.htmlLayoutQueue.htmlMaskFormatter.htmlMutableAttributeSet.htmlNavigationFilter.FilterBypass.htmlNavigationFilter.htmlNumberFormatter.htmlParagraphView.htmlPasswordView.htmlPlainDocument.htmlPlainView.htmlPosition.Bias.htmlPosition.htmlSegment.htmlSimpleAttributeSet.htmlStringContent.htmlStyle.htmlStyleConstants.CharacterConstants.htmlStyleConstants.ColorConstants.htmlStyleConstants.FontConstants.htmlStyleConstants.ParagraphConstants.htmlStyleConstants.htmlStyleContext.NamedStyle.htmlStyleContext.SmallAttributeSet.htmlStyleContext.htmlStyledDocument.htmlStyledEditorKit.AlignmentAction.htmlStyledEditorKit.BoldAction.htmlStyledEditorKit.FontFamilyAction.htmlStyledEditorKit.FontSizeAction.htmlStyledEditorKit.ForegroundAction.htmlStyledEditorKit.ItalicAction.htmlStyledEditorKit.StyledTextAction.htmlStyledEditorKit.UnderlineAction.htmlStyledEditorKit.htmlTabExpander.htmlTabSet.htmlTabStop.htmlTabableView.htmlTableView.TableCell.htmlTableView.TableRow.htmlTableView.htmlTextAction.htmlUtilities.htmlView.htmlViewFactory.htmlWrappedPlainView.htmlZoneView.htmlclass-useAbstractDocument.AbstractElement.htmlAbstractDocument.AttributeContext.htmlAbstractDocument.BranchElement.htmlAbstractDocument.Content.htmlAbstractDocument.DefaultDocumentEvent.htmlAbstractDocument.ElementEdit.htmlAbstractDocument.LeafElement.htmlAbstractDocument.htmlAbstractWriter.htmlAsyncBoxView.ChildLocator.htmlAsyncBoxView.ChildState.htmlAsyncBoxView.htmlAttributeSet.CharacterAttribute.htmlAttributeSet.ColorAttribute.htmlAttributeSet.FontAttribute.htmlAttributeSet.ParagraphAttribute.htmlAttributeSet.htmlBadLocationException.htmlBoxView.htmlCaret.htmlChangedCharSetException.htmlComponentView.htmlCompositeView.htmlDateFormatter.htmlDefaultCaret.htmlDefaultEditorKit.BeepAction.htmlDefaultEditorKit.CopyAction.htmlDefaultEditorKit.CutAction.htmlDefaultEditorKit.DefaultKeyTypedAction.htmlDefaultEditorKit.InsertBreakAction.htmlDefaultEditorKit.InsertContentAction.htmlDefaultEditorKit.InsertTabAction.htmlDefaultEditorKit.PasteAction.htmlDefaultEditorKit.htmlDefaultFormatter.htmlDefaultFormatterFactory.htmlDefaultHighlighter.DefaultHighlightPainter.htmlDefaultHighlighter.htmlDefaultStyledDocument.AttributeUndoableEdit.htmlDefaultStyledDocument.ElementBuffer.htmlDefaultStyledDocument.ElementSpec.htmlDefaultStyledDocument.SectionElement.htmlDefaultStyledDocument.htmlDefaultTextUI.htmlDocument.htmlDocumentFilter.FilterBypass.htmlDocumentFilter.htmlEditorKit.htmlElement.htmlElementIterator.htmlFieldView.htmlFlowView.FlowStrategy.htmlFlowView.htmlGapContent.htmlGlyphView.GlyphPainter.htmlGlyphView.htmlHighlighter.Highlight.htmlHighlighter.HighlightPainter.htmlHighlighter.htmlIconView.htmlInternationalFormatter.htmlJTextComponent.AccessibleJTextComponent.htmlJTextComponent.DropLocation.htmlJTextComponent.KeyBinding.htmlJTextComponent.htmlKeymap.htmlLabelView.htmlLayeredHighlighter.LayerPainter.htmlLayeredHighlighter.htmlLayoutQueue.htmlMaskFormatter.htmlMutableAttributeSet.htmlNavigationFilter.FilterBypass.htmlNavigationFilter.htmlNumberFormatter.htmlParagraphView.htmlPasswordView.htmlPlainDocument.htmlPlainView.htmlPosition.Bias.htmlPosition.htmlSegment.htmlSimpleAttributeSet.htmlStringContent.htmlStyle.htmlStyleConstants.CharacterConstants.htmlStyleConstants.ColorConstants.htmlStyleConstants.FontConstants.htmlStyleConstants.ParagraphConstants.htmlStyleConstants.htmlStyleContext.NamedStyle.htmlStyleContext.SmallAttributeSet.htmlStyleContext.htmlStyledDocument.htmlStyledEditorKit.AlignmentAction.htmlStyledEditorKit.BoldAction.htmlStyledEditorKit.FontFamilyAction.htmlStyledEditorKit.FontSizeAction.htmlStyledEditorKit.ForegroundAction.htmlStyledEditorKit.ItalicAction.htmlStyledEditorKit.StyledTextAction.htmlStyledEditorKit.UnderlineAction.htmlStyledEditorKit.htmlTabExpander.htmlTabSet.htmlTabStop.htmlTabableView.htmlTableView.TableCell.htmlTableView.TableRow.htmlTableView.htmlTextAction.htmlUtilities.htmlView.htmlViewFactory.htmlWrappedPlainView.htmlZoneView.htmldoc-filesDocument-coord.gifDocument-insert.gifDocument-notification.gifDocument-remove.gifDocument-structure.gifOpenBookIcon.gifView-flexibility.jpgView-layout.jpgeditor.gifparagraph.gifhtmlBlockView.htmlCSS.Attribute.htmlCSS.htmlFormSubmitEvent.MethodType.htmlFormSubmitEvent.htmlFormView.MouseEventListener.htmlFormView.htmlHTML.Attribute.htmlHTML.Tag.htmlHTML.UnknownTag.htmlHTML.htmlHTMLDocument.BlockElement.htmlHTMLDocument.HTMLReader.BlockAction.htmlHTMLDocument.HTMLReader.CharacterAction.htmlHTMLDocument.HTMLReader.FormAction.htmlHTMLDocument.HTMLReader.HiddenAction.htmlHTMLDocument.HTMLReader.IsindexAction.htmlHTMLDocument.HTMLReader.ParagraphAction.htmlHTMLDocument.HTMLReader.PreAction.htmlHTMLDocument.HTMLReader.SpecialAction.htmlHTMLDocument.HTMLReader.TagAction.htmlHTMLDocument.HTMLReader.htmlHTMLDocument.Iterator.htmlHTMLDocument.RunElement.htmlHTMLDocument.htmlHTMLEditorKit.HTMLFactory.htmlHTMLEditorKit.HTMLTextAction.htmlHTMLEditorKit.InsertHTMLTextAction.htmlHTMLEditorKit.LinkController.htmlHTMLEditorKit.Parser.htmlHTMLEditorKit.ParserCallback.htmlHTMLEditorKit.htmlHTMLFrameHyperlinkEvent.htmlHTMLWriter.htmlImageView.htmlInlineView.htmlListView.htmlMinimalHTMLWriter.htmlObjectView.htmlOption.htmlParagraphView.htmlStyleSheet.BoxPainter.htmlStyleSheet.ListPainter.htmlStyleSheet.htmlclass-useBlockView.htmlCSS.Attribute.htmlCSS.htmlFormSubmitEvent.MethodType.htmlFormSubmitEvent.htmlFormView.MouseEventListener.htmlFormView.htmlHTML.Attribute.htmlHTML.Tag.htmlHTML.UnknownTag.htmlHTML.htmlHTMLDocument.BlockElement.htmlHTMLDocument.HTMLReader.BlockAction.htmlHTMLDocument.HTMLReader.CharacterAction.htmlHTMLDocument.HTMLReader.FormAction.htmlHTMLDocument.HTMLReader.HiddenAction.htmlHTMLDocument.HTMLReader.IsindexAction.htmlHTMLDocument.HTMLReader.ParagraphAction.htmlHTMLDocument.HTMLReader.PreAction.htmlHTMLDocument.HTMLReader.SpecialAction.htmlHTMLDocument.HTMLReader.TagAction.htmlHTMLDocument.HTMLReader.htmlHTMLDocument.Iterator.htmlHTMLDocument.RunElement.htmlHTMLDocument.htmlHTMLEditorKit.HTMLFactory.htmlHTMLEditorKit.HTMLTextAction.htmlHTMLEditorKit.InsertHTMLTextAction.htmlHTMLEditorKit.LinkController.htmlHTMLEditorKit.Parser.htmlHTMLEditorKit.ParserCallback.htmlHTMLEditorKit.htmlHTMLFrameHyperlinkEvent.htmlHTMLWriter.htmlImageView.htmlInlineView.htmlListView.htmlMinimalHTMLWriter.htmlObjectView.htmlOption.htmlParagraphView.htmlStyleSheet.BoxPainter.htmlStyleSheet.ListPainter.htmlStyleSheet.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlparserAttributeList.htmlContentModel.htmlDTD.htmlDTDConstants.htmlDocumentParser.htmlElement.htmlEntity.htmlParser.htmlParserDelegator.htmlTagElement.htmlclass-useAttributeList.htmlContentModel.htmlDTD.htmlDTDConstants.htmlDocumentParser.htmlElement.htmlEntity.htmlParser.htmlParserDelegator.htmlTagElement.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlrtfRTFEditorKit.htmlclass-useRTFEditorKit.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltreeAbstractLayoutCache.NodeDimensions.htmlAbstractLayoutCache.htmlDefaultMutableTreeNode.htmlDefaultTreeCellEditor.DefaultTextField.htmlDefaultTreeCellEditor.EditorContainer.htmlDefaultTreeCellEditor.htmlDefaultTreeCellRenderer.htmlDefaultTreeModel.htmlDefaultTreeSelectionModel.htmlExpandVetoException.htmlFixedHeightLayoutCache.htmlMutableTreeNode.htmlRowMapper.htmlTreeCellEditor.htmlTreeCellRenderer.htmlTreeModel.htmlTreeNode.htmlTreePath.htmlTreeSelectionModel.htmlVariableHeightLayoutCache.htmlclass-useAbstractLayoutCache.NodeDimensions.htmlAbstractLayoutCache.htmlDefaultMutableTreeNode.htmlDefaultTreeCellEditor.DefaultTextField.htmlDefaultTreeCellEditor.EditorContainer.htmlDefaultTreeCellEditor.htmlDefaultTreeCellRenderer.htmlDefaultTreeModel.htmlDefaultTreeSelectionModel.htmlExpandVetoException.htmlFixedHeightLayoutCache.htmlMutableTreeNode.htmlRowMapper.htmlTreeCellEditor.htmlTreeCellRenderer.htmlTreeModel.htmlTreeNode.htmlTreePath.htmlTreeSelectionModel.htmlVariableHeightLayoutCache.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlundoAbstractUndoableEdit.htmlCannotRedoException.htmlCannotUndoException.htmlCompoundEdit.htmlStateEdit.htmlStateEditable.htmlUndoManager.htmlUndoableEdit.htmlUndoableEditSupport.htmlclass-useAbstractUndoableEdit.htmlCannotRedoException.htmlCannotUndoException.htmlCompoundEdit.htmlStateEdit.htmlStateEditable.htmlUndoManager.htmlUndoableEdit.htmlUndoableEditSupport.htmldoc-filesUndoManager-1.gifUndoManager-2.gifUndoManager-3.gifUndoManager-4.gifpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.instrumentjavalanginstrumentClassDefinition.htmlClassFileTransformer.htmlIllegalClassFormatException.htmlInstrumentation.htmlUnmodifiableClassException.htmlUnmodifiableModuleException.htmlclass-useClassDefinition.htmlClassFileTransformer.htmlIllegalClassFormatException.htmlInstrumentation.htmlUnmodifiableClassException.htmlUnmodifiableModuleException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.loggingjavautilloggingConsoleHandler.htmlErrorManager.htmlFileHandler.htmlFilter.htmlFormatter.htmlHandler.htmlLevel.htmlLogManager.htmlLogRecord.htmlLogger.htmlLoggingMXBean.htmlLoggingPermission.htmlMemoryHandler.htmlSimpleFormatter.htmlSocketHandler.htmlStreamHandler.htmlXMLFormatter.htmlclass-useConsoleHandler.htmlErrorManager.htmlFileHandler.htmlFilter.htmlFormatter.htmlHandler.htmlLevel.htmlLogManager.htmlLogRecord.htmlLogger.htmlLoggingMXBean.htmlLoggingPermission.htmlMemoryHandler.htmlSimpleFormatter.htmlSocketHandler.htmlStreamHandler.htmlXMLFormatter.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.managementjava.management.rmijavaxmanagementremotermiRMIConnection.htmlRMIConnectionImpl.htmlRMIConnectionImpl_Stub.htmlRMIConnector.htmlRMIConnectorServer.htmlRMIIIOPServerImpl.htmlRMIJRMPServerImpl.htmlRMIServer.htmlRMIServerImpl.htmlRMIServerImpl_Stub.htmlclass-useRMIConnection.htmlRMIConnectionImpl.htmlRMIConnectionImpl_Stub.htmlRMIConnector.htmlRMIConnectorServer.htmlRMIIIOPServerImpl.htmlRMIJRMPServerImpl.htmlRMIServer.htmlRMIServerImpl.htmlRMIServerImpl_Stub.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljavalangmanagementBufferPoolMXBean.htmlClassLoadingMXBean.htmlCompilationMXBean.htmlGarbageCollectorMXBean.htmlLockInfo.htmlManagementFactory.htmlManagementPermission.htmlMemoryMXBean.htmlMemoryManagerMXBean.htmlMemoryNotificationInfo.htmlMemoryPoolMXBean.htmlMemoryType.htmlMemoryUsage.htmlMonitorInfo.htmlOperatingSystemMXBean.htmlPlatformLoggingMXBean.htmlPlatformManagedObject.htmlRuntimeMXBean.htmlThreadInfo.htmlThreadMXBean.htmlclass-useBufferPoolMXBean.htmlClassLoadingMXBean.htmlCompilationMXBean.htmlGarbageCollectorMXBean.htmlLockInfo.htmlManagementFactory.htmlManagementPermission.htmlMemoryMXBean.htmlMemoryManagerMXBean.htmlMemoryNotificationInfo.htmlMemoryPoolMXBean.htmlMemoryType.htmlMemoryUsage.htmlMonitorInfo.htmlOperatingSystemMXBean.htmlPlatformLoggingMXBean.htmlPlatformManagedObject.htmlRuntimeMXBean.htmlThreadInfo.htmlThreadMXBean.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljavaxmanagementAttribute.htmlAttributeChangeNotification.htmlAttributeChangeNotificationFilter.htmlAttributeList.htmlAttributeNotFoundException.htmlAttributeValueExp.htmlBadAttributeValueExpException.htmlBadBinaryOpValueExpException.htmlBadStringOperationException.htmlConstructorParameters.htmlDefaultLoaderRepository.htmlDescriptor.htmlDescriptorAccess.htmlDescriptorKey.htmlDescriptorRead.htmlDynamicMBean.htmlImmutableDescriptor.htmlInstanceAlreadyExistsException.htmlInstanceNotFoundException.htmlIntrospectionException.htmlInvalidApplicationException.htmlInvalidAttributeValueException.htmlJMException.htmlJMRuntimeException.htmlJMX.htmlListenerNotFoundException.htmlMBeanAttributeInfo.htmlMBeanConstructorInfo.htmlMBeanException.htmlMBeanFeatureInfo.htmlMBeanInfo.htmlMBeanNotificationInfo.htmlMBeanOperationInfo.htmlMBeanParameterInfo.htmlMBeanPermission.htmlMBeanRegistration.htmlMBeanRegistrationException.htmlMBeanServer.htmlMBeanServerBuilder.htmlMBeanServerConnection.htmlMBeanServerDelegate.htmlMBeanServerDelegateMBean.htmlMBeanServerFactory.htmlMBeanServerInvocationHandler.htmlMBeanServerNotification.htmlMBeanServerPermission.htmlMBeanTrustPermission.htmlMXBean.htmlMalformedObjectNameException.htmlNotCompliantMBeanException.htmlNotification.htmlNotificationBroadcaster.htmlNotificationBroadcasterSupport.htmlNotificationEmitter.htmlNotificationFilter.htmlNotificationFilterSupport.htmlNotificationListener.htmlObjectInstance.htmlObjectName.htmlOperationsException.htmlPersistentMBean.htmlQuery.htmlQueryEval.htmlQueryExp.htmlReflectionException.htmlRuntimeErrorException.htmlRuntimeMBeanException.htmlRuntimeOperationsException.htmlServiceNotFoundException.htmlStandardEmitterMBean.htmlStandardMBean.htmlStringValueExp.htmlValueExp.htmlclass-useAttribute.htmlAttributeChangeNotification.htmlAttributeChangeNotificationFilter.htmlAttributeList.htmlAttributeNotFoundException.htmlAttributeValueExp.htmlBadAttributeValueExpException.htmlBadBinaryOpValueExpException.htmlBadStringOperationException.htmlConstructorParameters.htmlDefaultLoaderRepository.htmlDescriptor.htmlDescriptorAccess.htmlDescriptorKey.htmlDescriptorRead.htmlDynamicMBean.htmlImmutableDescriptor.htmlInstanceAlreadyExistsException.htmlInstanceNotFoundException.htmlIntrospectionException.htmlInvalidApplicationException.htmlInvalidAttributeValueException.htmlJMException.htmlJMRuntimeException.htmlJMX.htmlListenerNotFoundException.htmlMBeanAttributeInfo.htmlMBeanConstructorInfo.htmlMBeanException.htmlMBeanFeatureInfo.htmlMBeanInfo.htmlMBeanNotificationInfo.htmlMBeanOperationInfo.htmlMBeanParameterInfo.htmlMBeanPermission.htmlMBeanRegistration.htmlMBeanRegistrationException.htmlMBeanServer.htmlMBeanServerBuilder.htmlMBeanServerConnection.htmlMBeanServerDelegate.htmlMBeanServerDelegateMBean.htmlMBeanServerFactory.htmlMBeanServerInvocationHandler.htmlMBeanServerNotification.htmlMBeanServerPermission.htmlMBeanTrustPermission.htmlMXBean.htmlMalformedObjectNameException.htmlNotCompliantMBeanException.htmlNotification.htmlNotificationBroadcaster.htmlNotificationBroadcasterSupport.htmlNotificationEmitter.htmlNotificationFilter.htmlNotificationFilterSupport.htmlNotificationListener.htmlObjectInstance.htmlObjectName.htmlOperationsException.htmlPersistentMBean.htmlQuery.htmlQueryEval.htmlQueryExp.htmlReflectionException.htmlRuntimeErrorException.htmlRuntimeMBeanException.htmlRuntimeOperationsException.htmlServiceNotFoundException.htmlStandardEmitterMBean.htmlStandardMBean.htmlStringValueExp.htmlValueExp.htmlloadingClassLoaderRepository.htmlDefaultLoaderRepository.htmlMLet.htmlMLetContent.htmlMLetMBean.htmlPrivateClassLoader.htmlPrivateMLet.htmlclass-useClassLoaderRepository.htmlDefaultLoaderRepository.htmlMLet.htmlMLetContent.htmlMLetMBean.htmlPrivateClassLoader.htmlPrivateMLet.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodelmbeanDescriptorSupport.htmlInvalidTargetObjectTypeException.htmlModelMBean.htmlModelMBeanAttributeInfo.htmlModelMBeanConstructorInfo.htmlModelMBeanInfo.htmlModelMBeanInfoSupport.htmlModelMBeanNotificationBroadcaster.htmlModelMBeanNotificationInfo.htmlModelMBeanOperationInfo.htmlRequiredModelMBean.htmlXMLParseException.htmlclass-useDescriptorSupport.htmlInvalidTargetObjectTypeException.htmlModelMBean.htmlModelMBeanAttributeInfo.htmlModelMBeanConstructorInfo.htmlModelMBeanInfo.htmlModelMBeanInfoSupport.htmlModelMBeanNotificationBroadcaster.htmlModelMBeanNotificationInfo.htmlModelMBeanOperationInfo.htmlRequiredModelMBean.htmlXMLParseException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmonitorCounterMonitor.htmlCounterMonitorMBean.htmlGaugeMonitor.htmlGaugeMonitorMBean.htmlMonitor.htmlMonitorMBean.htmlMonitorNotification.htmlMonitorSettingException.htmlStringMonitor.htmlStringMonitorMBean.htmlclass-useCounterMonitor.htmlCounterMonitorMBean.htmlGaugeMonitor.htmlGaugeMonitorMBean.htmlMonitor.htmlMonitorMBean.htmlMonitorNotification.htmlMonitorSettingException.htmlStringMonitor.htmlStringMonitorMBean.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlopenmbeanArrayType.htmlCompositeData.htmlCompositeDataInvocationHandler.htmlCompositeDataSupport.htmlCompositeDataView.htmlCompositeType.htmlInvalidKeyException.htmlInvalidOpenTypeException.htmlKeyAlreadyExistsException.htmlOpenDataException.htmlOpenMBeanAttributeInfo.htmlOpenMBeanAttributeInfoSupport.htmlOpenMBeanConstructorInfo.htmlOpenMBeanConstructorInfoSupport.htmlOpenMBeanInfo.htmlOpenMBeanInfoSupport.htmlOpenMBeanOperationInfo.htmlOpenMBeanOperationInfoSupport.htmlOpenMBeanParameterInfo.htmlOpenMBeanParameterInfoSupport.htmlOpenType.htmlSimpleType.htmlTabularData.htmlTabularDataSupport.htmlTabularType.htmlclass-useArrayType.htmlCompositeData.htmlCompositeDataInvocationHandler.htmlCompositeDataSupport.htmlCompositeDataView.htmlCompositeType.htmlInvalidKeyException.htmlInvalidOpenTypeException.htmlKeyAlreadyExistsException.htmlOpenDataException.htmlOpenMBeanAttributeInfo.htmlOpenMBeanAttributeInfoSupport.htmlOpenMBeanConstructorInfo.htmlOpenMBeanConstructorInfoSupport.htmlOpenMBeanInfo.htmlOpenMBeanInfoSupport.htmlOpenMBeanOperationInfo.htmlOpenMBeanOperationInfoSupport.htmlOpenMBeanParameterInfo.htmlOpenMBeanParameterInfoSupport.htmlOpenType.htmlSimpleType.htmlTabularData.htmlTabularDataSupport.htmlTabularType.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlrelationInvalidRelationIdException.htmlInvalidRelationServiceException.htmlInvalidRelationTypeException.htmlInvalidRoleInfoException.htmlInvalidRoleValueException.htmlMBeanServerNotificationFilter.htmlRelation.htmlRelationException.htmlRelationNotFoundException.htmlRelationNotification.htmlRelationService.htmlRelationServiceMBean.htmlRelationServiceNotRegisteredException.htmlRelationSupport.htmlRelationSupportMBean.htmlRelationType.htmlRelationTypeNotFoundException.htmlRelationTypeSupport.htmlRole.htmlRoleInfo.htmlRoleInfoNotFoundException.htmlRoleList.htmlRoleNotFoundException.htmlRoleResult.htmlRoleStatus.htmlRoleUnresolved.htmlRoleUnresolvedList.htmlclass-useInvalidRelationIdException.htmlInvalidRelationServiceException.htmlInvalidRelationTypeException.htmlInvalidRoleInfoException.htmlInvalidRoleValueException.htmlMBeanServerNotificationFilter.htmlRelation.htmlRelationException.htmlRelationNotFoundException.htmlRelationNotification.htmlRelationService.htmlRelationServiceMBean.htmlRelationServiceNotRegisteredException.htmlRelationSupport.htmlRelationSupportMBean.htmlRelationType.htmlRelationTypeNotFoundException.htmlRelationTypeSupport.htmlRole.htmlRoleInfo.htmlRoleInfoNotFoundException.htmlRoleList.htmlRoleNotFoundException.htmlRoleResult.htmlRoleStatus.htmlRoleUnresolved.htmlRoleUnresolvedList.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlremoteJMXAddressable.htmlJMXAuthenticator.htmlJMXConnectionNotification.htmlJMXConnector.htmlJMXConnectorFactory.htmlJMXConnectorProvider.htmlJMXConnectorServer.htmlJMXConnectorServerFactory.htmlJMXConnectorServerMBean.htmlJMXConnectorServerProvider.htmlJMXPrincipal.htmlJMXProviderException.htmlJMXServerErrorException.htmlJMXServiceURL.htmlMBeanServerForwarder.htmlNotificationResult.htmlSubjectDelegationPermission.htmlTargetedNotification.htmlclass-useJMXAddressable.htmlJMXAuthenticator.htmlJMXConnectionNotification.htmlJMXConnector.htmlJMXConnectorFactory.htmlJMXConnectorProvider.htmlJMXConnectorServer.htmlJMXConnectorServerFactory.htmlJMXConnectorServerMBean.htmlJMXConnectorServerProvider.htmlJMXPrincipal.htmlJMXProviderException.htmlJMXServerErrorException.htmlJMXServiceURL.htmlMBeanServerForwarder.htmlNotificationResult.htmlSubjectDelegationPermission.htmlTargetedNotification.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltimerTimer.htmlTimerMBean.htmlTimerNotification.htmlclass-useTimer.htmlTimerMBean.htmlTimerNotification.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.namingjavaxnamingAuthenticationException.htmlAuthenticationNotSupportedException.htmlBinaryRefAddr.htmlBinding.htmlCannotProceedException.htmlCommunicationException.htmlCompositeName.htmlCompoundName.htmlConfigurationException.htmlContext.htmlContextNotEmptyException.htmlInitialContext.htmlInsufficientResourcesException.htmlInterruptedNamingException.htmlInvalidNameException.htmlLimitExceededException.htmlLinkException.htmlLinkLoopException.htmlLinkRef.htmlMalformedLinkException.htmlName.htmlNameAlreadyBoundException.htmlNameClassPair.htmlNameNotFoundException.htmlNameParser.htmlNamingEnumeration.htmlNamingException.htmlNamingSecurityException.htmlNoInitialContextException.htmlNoPermissionException.htmlNotContextException.htmlOperationNotSupportedException.htmlPartialResultException.htmlRefAddr.htmlReference.htmlReferenceable.htmlReferralException.htmlServiceUnavailableException.htmlSizeLimitExceededException.htmlStringRefAddr.htmlTimeLimitExceededException.htmlclass-useAuthenticationException.htmlAuthenticationNotSupportedException.htmlBinaryRefAddr.htmlBinding.htmlCannotProceedException.htmlCommunicationException.htmlCompositeName.htmlCompoundName.htmlConfigurationException.htmlContext.htmlContextNotEmptyException.htmlInitialContext.htmlInsufficientResourcesException.htmlInterruptedNamingException.htmlInvalidNameException.htmlLimitExceededException.htmlLinkException.htmlLinkLoopException.htmlLinkRef.htmlMalformedLinkException.htmlName.htmlNameAlreadyBoundException.htmlNameClassPair.htmlNameNotFoundException.htmlNameParser.htmlNamingEnumeration.htmlNamingException.htmlNamingSecurityException.htmlNoInitialContextException.htmlNoPermissionException.htmlNotContextException.htmlOperationNotSupportedException.htmlPartialResultException.htmlRefAddr.htmlReference.htmlReferenceable.htmlReferralException.htmlServiceUnavailableException.htmlSizeLimitExceededException.htmlStringRefAddr.htmlTimeLimitExceededException.htmldirectoryAttribute.htmlAttributeInUseException.htmlAttributeModificationException.htmlAttributes.htmlBasicAttribute.htmlBasicAttributes.htmlDirContext.htmlInitialDirContext.htmlInvalidAttributeIdentifierException.htmlInvalidAttributeValueException.htmlInvalidAttributesException.htmlInvalidSearchControlsException.htmlInvalidSearchFilterException.htmlModificationItem.htmlNoSuchAttributeException.htmlSchemaViolationException.htmlSearchControls.htmlSearchResult.htmlclass-useAttribute.htmlAttributeInUseException.htmlAttributeModificationException.htmlAttributes.htmlBasicAttribute.htmlBasicAttributes.htmlDirContext.htmlInitialDirContext.htmlInvalidAttributeIdentifierException.htmlInvalidAttributeValueException.htmlInvalidAttributesException.htmlInvalidSearchControlsException.htmlInvalidSearchFilterException.htmlModificationItem.htmlNoSuchAttributeException.htmlSchemaViolationException.htmlSearchControls.htmlSearchResult.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmleventEventContext.htmlEventDirContext.htmlNamespaceChangeListener.htmlNamingEvent.htmlNamingExceptionEvent.htmlNamingListener.htmlObjectChangeListener.htmlclass-useEventContext.htmlEventDirContext.htmlNamespaceChangeListener.htmlNamingEvent.htmlNamingExceptionEvent.htmlNamingListener.htmlObjectChangeListener.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlldapBasicControl.htmlControl.htmlControlFactory.htmlExtendedRequest.htmlExtendedResponse.htmlHasControls.htmlInitialLdapContext.htmlLdapContext.htmlLdapName.htmlLdapReferralException.htmlManageReferralControl.htmlPagedResultsControl.htmlPagedResultsResponseControl.htmlRdn.htmlSortControl.htmlSortKey.htmlSortResponseControl.htmlStartTlsRequest.htmlStartTlsResponse.htmlUnsolicitedNotification.htmlUnsolicitedNotificationEvent.htmlUnsolicitedNotificationListener.htmlclass-useBasicControl.htmlControl.htmlControlFactory.htmlExtendedRequest.htmlExtendedResponse.htmlHasControls.htmlInitialLdapContext.htmlLdapContext.htmlLdapName.htmlLdapReferralException.htmlManageReferralControl.htmlPagedResultsControl.htmlPagedResultsResponseControl.htmlRdn.htmlSortControl.htmlSortKey.htmlSortResponseControl.htmlStartTlsRequest.htmlStartTlsResponse.htmlUnsolicitedNotification.htmlUnsolicitedNotificationEvent.htmlUnsolicitedNotificationListener.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiDirObjectFactory.htmlDirStateFactory.Result.htmlDirStateFactory.htmlDirectoryManager.htmlInitialContextFactory.htmlInitialContextFactoryBuilder.htmlNamingManager.htmlObjectFactory.htmlObjectFactoryBuilder.htmlResolveResult.htmlResolver.htmlStateFactory.htmlclass-useDirObjectFactory.htmlDirStateFactory.Result.htmlDirStateFactory.htmlDirectoryManager.htmlInitialContextFactory.htmlInitialContextFactoryBuilder.htmlNamingManager.htmlObjectFactory.htmlObjectFactoryBuilder.htmlResolveResult.htmlResolver.htmlStateFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.net.httpjavanethttpHttpClient.Builder.htmlHttpClient.Redirect.htmlHttpClient.Version.htmlHttpClient.htmlHttpConnectTimeoutException.htmlHttpHeaders.htmlHttpRequest.BodyPublisher.htmlHttpRequest.BodyPublishers.htmlHttpRequest.Builder.htmlHttpRequest.htmlHttpResponse.BodyHandler.htmlHttpResponse.BodyHandlers.htmlHttpResponse.BodySubscriber.htmlHttpResponse.BodySubscribers.htmlHttpResponse.PushPromiseHandler.htmlHttpResponse.ResponseInfo.htmlHttpResponse.htmlHttpTimeoutException.htmlWebSocket.Builder.htmlWebSocket.Listener.htmlWebSocket.htmlWebSocketHandshakeException.htmlclass-useHttpClient.Builder.htmlHttpClient.Redirect.htmlHttpClient.Version.htmlHttpClient.htmlHttpConnectTimeoutException.htmlHttpHeaders.htmlHttpRequest.BodyPublisher.htmlHttpRequest.BodyPublishers.htmlHttpRequest.Builder.htmlHttpRequest.htmlHttpResponse.BodyHandler.htmlHttpResponse.BodyHandlers.htmlHttpResponse.BodySubscriber.htmlHttpResponse.BodySubscribers.htmlHttpResponse.PushPromiseHandler.htmlHttpResponse.ResponseInfo.htmlHttpResponse.htmlHttpTimeoutException.htmlWebSocket.Builder.htmlWebSocket.Listener.htmlWebSocket.htmlWebSocketHandshakeException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.prefsjavautilprefsAbstractPreferences.htmlBackingStoreException.htmlInvalidPreferencesFormatException.htmlNodeChangeEvent.htmlNodeChangeListener.htmlPreferenceChangeEvent.htmlPreferenceChangeListener.htmlPreferences.htmlPreferencesFactory.htmlclass-useAbstractPreferences.htmlBackingStoreException.htmlInvalidPreferencesFormatException.htmlNodeChangeEvent.htmlNodeChangeListener.htmlPreferenceChangeEvent.htmlPreferenceChangeListener.htmlPreferences.htmlPreferencesFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.rmijavarmiAccessException.htmlAlreadyBoundException.htmlConnectException.htmlConnectIOException.htmlMarshalException.htmlMarshalledObject.htmlNaming.htmlNoSuchObjectException.htmlNotBoundException.htmlRMISecurityException.htmlRMISecurityManager.htmlRemote.htmlRemoteException.htmlServerError.htmlServerException.htmlServerRuntimeException.htmlStubNotFoundException.htmlUnexpectedException.htmlUnknownHostException.htmlUnmarshalException.htmlactivationActivatable.htmlActivateFailedException.htmlActivationDesc.htmlActivationException.htmlActivationGroup.htmlActivationGroupDesc.CommandEnvironment.htmlActivationGroupDesc.htmlActivationGroupID.htmlActivationGroup_Stub.htmlActivationID.htmlActivationInstantiator.htmlActivationMonitor.htmlActivationSystem.htmlActivator.htmlUnknownGroupException.htmlUnknownObjectException.htmlclass-useActivatable.htmlActivateFailedException.htmlActivationDesc.htmlActivationException.htmlActivationGroup.htmlActivationGroupDesc.CommandEnvironment.htmlActivationGroupDesc.htmlActivationGroupID.htmlActivationGroup_Stub.htmlActivationID.htmlActivationInstantiator.htmlActivationMonitor.htmlActivationSystem.htmlActivator.htmlUnknownGroupException.htmlUnknownObjectException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAccessException.htmlAlreadyBoundException.htmlConnectException.htmlConnectIOException.htmlMarshalException.htmlMarshalledObject.htmlNaming.htmlNoSuchObjectException.htmlNotBoundException.htmlRMISecurityException.htmlRMISecurityManager.htmlRemote.htmlRemoteException.htmlServerError.htmlServerException.htmlServerRuntimeException.htmlStubNotFoundException.htmlUnexpectedException.htmlUnknownHostException.htmlUnmarshalException.htmldgcDGC.htmlLease.htmlVMID.htmlclass-useDGC.htmlLease.htmlVMID.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlregistryLocateRegistry.htmlRegistry.htmlRegistryHandler.htmlclass-useLocateRegistry.htmlRegistry.htmlRegistryHandler.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlserverExportException.htmlLoaderHandler.htmlLogStream.htmlObjID.htmlOperation.htmlRMIClassLoader.htmlRMIClassLoaderSpi.htmlRMIClientSocketFactory.htmlRMIFailureHandler.htmlRMIServerSocketFactory.htmlRMISocketFactory.htmlRemoteCall.htmlRemoteObject.htmlRemoteObjectInvocationHandler.htmlRemoteRef.htmlRemoteServer.htmlRemoteStub.htmlServerCloneException.htmlServerNotActiveException.htmlServerRef.htmlSkeleton.htmlSkeletonMismatchException.htmlSkeletonNotFoundException.htmlSocketSecurityException.htmlUID.htmlUnicastRemoteObject.htmlUnreferenced.htmlclass-useExportException.htmlLoaderHandler.htmlLogStream.htmlObjID.htmlOperation.htmlRMIClassLoader.htmlRMIClassLoaderSpi.htmlRMIClientSocketFactory.htmlRMIFailureHandler.htmlRMIServerSocketFactory.htmlRMISocketFactory.htmlRemoteCall.htmlRemoteObject.htmlRemoteObjectInvocationHandler.htmlRemoteRef.htmlRemoteServer.htmlRemoteStub.htmlServerCloneException.htmlServerNotActiveException.htmlServerRef.htmlSkeleton.htmlSkeletonMismatchException.htmlSkeletonNotFoundException.htmlSocketSecurityException.htmlUID.htmlUnicastRemoteObject.htmlUnreferenced.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljavaxrmisslSslRMIClientSocketFactory.htmlSslRMIServerSocketFactory.htmlclass-useSslRMIClientSocketFactory.htmlSslRMIServerSocketFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.scriptingjavaxscriptAbstractScriptEngine.htmlBindings.htmlCompilable.htmlCompiledScript.htmlInvocable.htmlScriptContext.htmlScriptEngine.htmlScriptEngineFactory.htmlScriptEngineManager.htmlScriptException.htmlSimpleBindings.htmlSimpleScriptContext.htmlclass-useAbstractScriptEngine.htmlBindings.htmlCompilable.htmlCompiledScript.htmlInvocable.htmlScriptContext.htmlScriptEngine.htmlScriptEngineFactory.htmlScriptEngineManager.htmlScriptException.htmlSimpleBindings.htmlSimpleScriptContext.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.semodule-summary.htmljava.security.jgssjavaxsecurityauthkerberosDelegationPermission.htmlEncryptionKey.htmlKerberosCredMessage.htmlKerberosKey.htmlKerberosPrincipal.htmlKerberosTicket.htmlKeyTab.htmlServicePermission.htmlclass-useDelegationPermission.htmlEncryptionKey.htmlKerberosCredMessage.htmlKerberosKey.htmlKerberosPrincipal.htmlKerberosTicket.htmlKeyTab.htmlServicePermission.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmlorgietfjgssChannelBinding.htmlGSSContext.htmlGSSCredential.htmlGSSException.htmlGSSManager.htmlGSSName.htmlMessageProp.htmlOid.htmlclass-useChannelBinding.htmlGSSContext.htmlGSSCredential.htmlGSSException.htmlGSSManager.htmlGSSName.htmlMessageProp.htmlOid.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljava.security.sasljavaxsecuritysaslAuthenticationException.htmlAuthorizeCallback.htmlRealmCallback.htmlRealmChoiceCallback.htmlSasl.htmlSaslClient.htmlSaslClientFactory.htmlSaslException.htmlSaslServer.htmlSaslServerFactory.htmlclass-useAuthenticationException.htmlAuthorizeCallback.htmlRealmCallback.htmlRealmChoiceCallback.htmlSasl.htmlSaslClient.htmlSaslClientFactory.htmlSaslException.htmlSaslServer.htmlSaslServerFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.smartcardiojavaxsmartcardioATR.htmlCard.htmlCardChannel.htmlCardException.htmlCardNotPresentException.htmlCardPermission.htmlCardTerminal.htmlCardTerminals.State.htmlCardTerminals.htmlCommandAPDU.htmlResponseAPDU.htmlTerminalFactory.htmlTerminalFactorySpi.htmlclass-useATR.htmlCard.htmlCardChannel.htmlCardException.htmlCardNotPresentException.htmlCardPermission.htmlCardTerminal.htmlCardTerminals.State.htmlCardTerminals.htmlCommandAPDU.htmlResponseAPDU.htmlTerminalFactory.htmlTerminalFactorySpi.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.sqljava.sql.rowsetjavaxsqlrowsetBaseRowSet.htmlCachedRowSet.htmlFilteredRowSet.htmlJdbcRowSet.htmlJoinRowSet.htmlJoinable.htmlPredicate.htmlRowSetFactory.htmlRowSetMetaDataImpl.htmlRowSetProvider.htmlRowSetWarning.htmlWebRowSet.htmlclass-useBaseRowSet.htmlCachedRowSet.htmlFilteredRowSet.htmlJdbcRowSet.htmlJoinRowSet.htmlJoinable.htmlPredicate.htmlRowSetFactory.htmlRowSetMetaDataImpl.htmlRowSetProvider.htmlRowSetWarning.htmlWebRowSet.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlserialSQLInputImpl.htmlSQLOutputImpl.htmlSerialArray.htmlSerialBlob.htmlSerialClob.htmlSerialDatalink.htmlSerialException.htmlSerialJavaObject.htmlSerialRef.htmlSerialStruct.htmlclass-useSQLInputImpl.htmlSQLOutputImpl.htmlSerialArray.htmlSerialBlob.htmlSerialClob.htmlSerialDatalink.htmlSerialException.htmlSerialJavaObject.htmlSerialRef.htmlSerialStruct.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiSyncFactory.htmlSyncFactoryException.htmlSyncProvider.htmlSyncProviderException.htmlSyncResolver.htmlTransactionalWriter.htmlXmlReader.htmlXmlWriter.htmlclass-useSyncFactory.htmlSyncFactoryException.htmlSyncProvider.htmlSyncProviderException.htmlSyncResolver.htmlTransactionalWriter.htmlXmlReader.htmlXmlWriter.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljavasqlArray.htmlBatchUpdateException.htmlBlob.htmlCallableStatement.htmlClientInfoStatus.htmlClob.htmlConnection.htmlConnectionBuilder.htmlDataTruncation.htmlDatabaseMetaData.htmlDate.htmlDriver.htmlDriverAction.htmlDriverManager.htmlDriverPropertyInfo.htmlJDBCType.htmlNClob.htmlParameterMetaData.htmlPreparedStatement.htmlPseudoColumnUsage.htmlRef.htmlResultSet.htmlResultSetMetaData.htmlRowId.htmlRowIdLifetime.htmlSQLClientInfoException.htmlSQLData.htmlSQLDataException.htmlSQLException.htmlSQLFeatureNotSupportedException.htmlSQLInput.htmlSQLIntegrityConstraintViolationException.htmlSQLInvalidAuthorizationSpecException.htmlSQLNonTransientConnectionException.htmlSQLNonTransientException.htmlSQLOutput.htmlSQLPermission.htmlSQLRecoverableException.htmlSQLSyntaxErrorException.htmlSQLTimeoutException.htmlSQLTransactionRollbackException.htmlSQLTransientConnectionException.htmlSQLTransientException.htmlSQLType.htmlSQLWarning.htmlSQLXML.htmlSavepoint.htmlShardingKey.htmlShardingKeyBuilder.htmlStatement.htmlStruct.htmlTime.htmlTimestamp.htmlTypes.htmlWrapper.htmlclass-useArray.htmlBatchUpdateException.htmlBlob.htmlCallableStatement.htmlClientInfoStatus.htmlClob.htmlConnection.htmlConnectionBuilder.htmlDataTruncation.htmlDatabaseMetaData.htmlDate.htmlDriver.htmlDriverAction.htmlDriverManager.htmlDriverPropertyInfo.htmlJDBCType.htmlNClob.htmlParameterMetaData.htmlPreparedStatement.htmlPseudoColumnUsage.htmlRef.htmlResultSet.htmlResultSetMetaData.htmlRowId.htmlRowIdLifetime.htmlSQLClientInfoException.htmlSQLData.htmlSQLDataException.htmlSQLException.htmlSQLFeatureNotSupportedException.htmlSQLInput.htmlSQLIntegrityConstraintViolationException.htmlSQLInvalidAuthorizationSpecException.htmlSQLNonTransientConnectionException.htmlSQLNonTransientException.htmlSQLOutput.htmlSQLPermission.htmlSQLRecoverableException.htmlSQLSyntaxErrorException.htmlSQLTimeoutException.htmlSQLTransactionRollbackException.htmlSQLTransientConnectionException.htmlSQLTransientException.htmlSQLType.htmlSQLWarning.htmlSQLXML.htmlSavepoint.htmlShardingKey.htmlShardingKeyBuilder.htmlStatement.htmlStruct.htmlTime.htmlTimestamp.htmlTypes.htmlWrapper.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljavaxsqlCommonDataSource.htmlConnectionEvent.htmlConnectionEventListener.htmlConnectionPoolDataSource.htmlDataSource.htmlPooledConnection.htmlPooledConnectionBuilder.htmlRowSet.htmlRowSetEvent.htmlRowSetInternal.htmlRowSetListener.htmlRowSetMetaData.htmlRowSetReader.htmlRowSetWriter.htmlStatementEvent.htmlStatementEventListener.htmlXAConnection.htmlXAConnectionBuilder.htmlXADataSource.htmlclass-useCommonDataSource.htmlConnectionEvent.htmlConnectionEventListener.htmlConnectionPoolDataSource.htmlDataSource.htmlPooledConnection.htmlPooledConnectionBuilder.htmlRowSet.htmlRowSetEvent.htmlRowSetInternal.htmlRowSetListener.htmlRowSetMetaData.htmlRowSetReader.htmlRowSetWriter.htmlStatementEvent.htmlStatementEventListener.htmlXAConnection.htmlXAConnectionBuilder.htmlXADataSource.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.transaction.xajavaxtransactionxaXAException.htmlXAResource.htmlXid.htmlclass-useXAException.htmlXAResource.htmlXid.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.xmljava.xml.cryptojavaxxmlcryptoAlgorithmMethod.htmlData.htmlKeySelector.Purpose.htmlKeySelector.htmlKeySelectorException.htmlKeySelectorResult.htmlMarshalException.htmlNoSuchMechanismException.htmlNodeSetData.htmlOctetStreamData.htmlURIDereferencer.htmlURIReference.htmlURIReferenceException.htmlXMLCryptoContext.htmlXMLStructure.htmlclass-useAlgorithmMethod.htmlData.htmlKeySelector.Purpose.htmlKeySelector.htmlKeySelectorException.htmlKeySelectorResult.htmlMarshalException.htmlNoSuchMechanismException.htmlNodeSetData.htmlOctetStreamData.htmlURIDereferencer.htmlURIReference.htmlURIReferenceException.htmlXMLCryptoContext.htmlXMLStructure.htmldomDOMCryptoContext.htmlDOMStructure.htmlDOMURIReference.htmlclass-useDOMCryptoContext.htmlDOMStructure.htmlDOMURIReference.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmldsigCanonicalizationMethod.htmlDigestMethod.htmlManifest.htmlReference.htmlSignatureMethod.htmlSignatureProperties.htmlSignatureProperty.htmlSignedInfo.htmlTransform.htmlTransformException.htmlTransformService.htmlXMLObject.htmlXMLSignContext.htmlXMLSignature.SignatureValue.htmlXMLSignature.htmlXMLSignatureException.htmlXMLSignatureFactory.htmlXMLValidateContext.htmlclass-useCanonicalizationMethod.htmlDigestMethod.htmlManifest.htmlReference.htmlSignatureMethod.htmlSignatureProperties.htmlSignatureProperty.htmlSignedInfo.htmlTransform.htmlTransformException.htmlTransformService.htmlXMLObject.htmlXMLSignContext.htmlXMLSignature.SignatureValue.htmlXMLSignature.htmlXMLSignatureException.htmlXMLSignatureFactory.htmlXMLValidateContext.htmldomDOMSignContext.htmlDOMValidateContext.htmlclass-useDOMSignContext.htmlDOMValidateContext.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlkeyinfoKeyInfo.htmlKeyInfoFactory.htmlKeyName.htmlKeyValue.htmlPGPData.htmlRetrievalMethod.htmlX509Data.htmlX509IssuerSerial.htmlclass-useKeyInfo.htmlKeyInfoFactory.htmlKeyName.htmlKeyValue.htmlPGPData.htmlRetrievalMethod.htmlX509Data.htmlX509IssuerSerial.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspecC14NMethodParameterSpec.htmlDigestMethodParameterSpec.htmlExcC14NParameterSpec.htmlHMACParameterSpec.htmlSignatureMethodParameterSpec.htmlTransformParameterSpec.htmlXPathFilter2ParameterSpec.htmlXPathFilterParameterSpec.htmlXPathType.Filter.htmlXPathType.htmlXSLTTransformParameterSpec.htmlclass-useC14NMethodParameterSpec.htmlDigestMethodParameterSpec.htmlExcC14NParameterSpec.htmlHMACParameterSpec.htmlSignatureMethodParameterSpec.htmlTransformParameterSpec.htmlXPathFilter2ParameterSpec.htmlXPathFilterParameterSpec.htmlXPathType.Filter.htmlXPathType.htmlXSLTTransformParameterSpec.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljavaxxmlXMLConstants.htmlcatalogCatalog.htmlCatalogException.htmlCatalogFeatures.Builder.htmlCatalogFeatures.Feature.htmlCatalogFeatures.htmlCatalogManager.htmlCatalogResolver.htmlclass-useCatalog.htmlCatalogException.htmlCatalogFeatures.Builder.htmlCatalogFeatures.Feature.htmlCatalogFeatures.htmlCatalogManager.htmlCatalogResolver.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useXMLConstants.htmldatatypeDatatypeConfigurationException.htmlDatatypeConstants.Field.htmlDatatypeConstants.htmlDatatypeFactory.htmlDuration.htmlXMLGregorianCalendar.htmlclass-useDatatypeConfigurationException.htmlDatatypeConstants.Field.htmlDatatypeConstants.htmlDatatypeFactory.htmlDuration.htmlXMLGregorianCalendar.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlnamespaceNamespaceContext.htmlQName.htmlclass-useNamespaceContext.htmlQName.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlparsersDocumentBuilder.htmlDocumentBuilderFactory.htmlFactoryConfigurationError.htmlParserConfigurationException.htmlSAXParser.htmlSAXParserFactory.htmlclass-useDocumentBuilder.htmlDocumentBuilderFactory.htmlFactoryConfigurationError.htmlParserConfigurationException.htmlSAXParser.htmlSAXParserFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlstreamEventFilter.htmlFactoryConfigurationError.htmlLocation.htmlStreamFilter.htmlXMLEventFactory.htmlXMLEventReader.htmlXMLEventWriter.htmlXMLInputFactory.htmlXMLOutputFactory.htmlXMLReporter.htmlXMLResolver.htmlXMLStreamConstants.htmlXMLStreamException.htmlXMLStreamReader.htmlXMLStreamWriter.htmlclass-useEventFilter.htmlFactoryConfigurationError.htmlLocation.htmlStreamFilter.htmlXMLEventFactory.htmlXMLEventReader.htmlXMLEventWriter.htmlXMLInputFactory.htmlXMLOutputFactory.htmlXMLReporter.htmlXMLResolver.htmlXMLStreamConstants.htmlXMLStreamException.htmlXMLStreamReader.htmlXMLStreamWriter.htmleventsAttribute.htmlCharacters.htmlComment.htmlDTD.htmlEndDocument.htmlEndElement.htmlEntityDeclaration.htmlEntityReference.htmlNamespace.htmlNotationDeclaration.htmlProcessingInstruction.htmlStartDocument.htmlStartElement.htmlXMLEvent.htmlclass-useAttribute.htmlCharacters.htmlComment.htmlDTD.htmlEndDocument.htmlEndElement.htmlEntityDeclaration.htmlEntityReference.htmlNamespace.htmlNotationDeclaration.htmlProcessingInstruction.htmlStartDocument.htmlStartElement.htmlXMLEvent.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlutilEventReaderDelegate.htmlStreamReaderDelegate.htmlXMLEventAllocator.htmlXMLEventConsumer.htmlclass-useEventReaderDelegate.htmlStreamReaderDelegate.htmlXMLEventAllocator.htmlXMLEventConsumer.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltransformErrorListener.htmlOutputKeys.htmlResult.htmlSource.htmlSourceLocator.htmlTemplates.htmlTransformer.htmlTransformerConfigurationException.htmlTransformerException.htmlTransformerFactory.htmlTransformerFactoryConfigurationError.htmlURIResolver.htmlclass-useErrorListener.htmlOutputKeys.htmlResult.htmlSource.htmlSourceLocator.htmlTemplates.htmlTransformer.htmlTransformerConfigurationException.htmlTransformerException.htmlTransformerFactory.htmlTransformerFactoryConfigurationError.htmlURIResolver.htmldomDOMLocator.htmlDOMResult.htmlDOMSource.htmlclass-useDOMLocator.htmlDOMResult.htmlDOMSource.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsaxSAXResult.htmlSAXSource.htmlSAXTransformerFactory.htmlTemplatesHandler.htmlTransformerHandler.htmlclass-useSAXResult.htmlSAXSource.htmlSAXTransformerFactory.htmlTemplatesHandler.htmlTransformerHandler.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlstaxStAXResult.htmlStAXSource.htmlclass-useStAXResult.htmlStAXSource.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlstreamStreamResult.htmlStreamSource.htmlclass-useStreamResult.htmlStreamSource.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlvalidationSchema.htmlSchemaFactory.htmlSchemaFactoryConfigurationError.htmlSchemaFactoryLoader.htmlTypeInfoProvider.htmlValidator.htmlValidatorHandler.htmlclass-useSchema.htmlSchemaFactory.htmlSchemaFactoryConfigurationError.htmlSchemaFactoryLoader.htmlTypeInfoProvider.htmlValidator.htmlValidatorHandler.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlxpathXPath.htmlXPathConstants.htmlXPathEvaluationResult.XPathResultType.htmlXPathEvaluationResult.htmlXPathException.htmlXPathExpression.htmlXPathExpressionException.htmlXPathFactory.htmlXPathFactoryConfigurationException.htmlXPathFunction.htmlXPathFunctionException.htmlXPathFunctionResolver.htmlXPathNodes.htmlXPathVariableResolver.htmlclass-useXPath.htmlXPathConstants.htmlXPathEvaluationResult.XPathResultType.htmlXPathEvaluationResult.htmlXPathException.htmlXPathExpression.htmlXPathExpressionException.htmlXPathFactory.htmlXPathFactoryConfigurationException.htmlXPathFunction.htmlXPathFunctionException.htmlXPathFunctionResolver.htmlXPathNodes.htmlXPathVariableResolver.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmlorgw3cdomAttr.htmlCDATASection.htmlCharacterData.htmlComment.htmlDOMConfiguration.htmlDOMError.htmlDOMErrorHandler.htmlDOMException.htmlDOMImplementation.htmlDOMImplementationList.htmlDOMImplementationSource.htmlDOMLocator.htmlDOMStringList.htmlDocument.htmlDocumentFragment.htmlDocumentType.htmlElement.htmlElementTraversal.htmlEntity.htmlEntityReference.htmlNameList.htmlNamedNodeMap.htmlNode.htmlNodeList.htmlNotation.htmlProcessingInstruction.htmlText.htmlTypeInfo.htmlUserDataHandler.htmlbootstrapDOMImplementationRegistry.htmlclass-useDOMImplementationRegistry.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAttr.htmlCDATASection.htmlCharacterData.htmlComment.htmlDOMConfiguration.htmlDOMError.htmlDOMErrorHandler.htmlDOMException.htmlDOMImplementation.htmlDOMImplementationList.htmlDOMImplementationSource.htmlDOMLocator.htmlDOMStringList.htmlDocument.htmlDocumentFragment.htmlDocumentType.htmlElement.htmlElementTraversal.htmlEntity.htmlEntityReference.htmlNameList.htmlNamedNodeMap.htmlNode.htmlNodeList.htmlNotation.htmlProcessingInstruction.htmlText.htmlTypeInfo.htmlUserDataHandler.htmleventsDocumentEvent.htmlEvent.htmlEventException.htmlEventListener.htmlEventTarget.htmlMouseEvent.htmlMutationEvent.htmlUIEvent.htmlclass-useDocumentEvent.htmlEvent.htmlEventException.htmlEventListener.htmlEventTarget.htmlMouseEvent.htmlMutationEvent.htmlUIEvent.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmllsDOMImplementationLS.htmlLSException.htmlLSInput.htmlLSLoadEvent.htmlLSOutput.htmlLSParser.htmlLSParserFilter.htmlLSProgressEvent.htmlLSResourceResolver.htmlLSSerializer.htmlLSSerializerFilter.htmlclass-useDOMImplementationLS.htmlLSException.htmlLSInput.htmlLSLoadEvent.htmlLSOutput.htmlLSParser.htmlLSParserFilter.htmlLSProgressEvent.htmlLSResourceResolver.htmlLSSerializer.htmlLSSerializerFilter.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlrangesDocumentRange.htmlRange.htmlRangeException.htmlclass-useDocumentRange.htmlRange.htmlRangeException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltraversalDocumentTraversal.htmlNodeFilter.htmlNodeIterator.htmlTreeWalker.htmlclass-useDocumentTraversal.htmlNodeFilter.htmlNodeIterator.htmlTreeWalker.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlviewsAbstractView.htmlDocumentView.htmlclass-useAbstractView.htmlDocumentView.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlxmlsaxAttributeList.htmlAttributes.htmlContentHandler.htmlDTDHandler.htmlDocumentHandler.htmlEntityResolver.htmlErrorHandler.htmlHandlerBase.htmlInputSource.htmlLocator.htmlParser.htmlSAXException.htmlSAXNotRecognizedException.htmlSAXNotSupportedException.htmlSAXParseException.htmlXMLFilter.htmlXMLReader.htmlclass-useAttributeList.htmlAttributes.htmlContentHandler.htmlDTDHandler.htmlDocumentHandler.htmlEntityResolver.htmlErrorHandler.htmlHandlerBase.htmlInputSource.htmlLocator.htmlParser.htmlSAXException.htmlSAXNotRecognizedException.htmlSAXNotSupportedException.htmlSAXParseException.htmlXMLFilter.htmlXMLReader.htmlextAttributes2.htmlAttributes2Impl.htmlDeclHandler.htmlDefaultHandler2.htmlEntityResolver2.htmlLexicalHandler.htmlLocator2.htmlLocator2Impl.htmlclass-useAttributes2.htmlAttributes2Impl.htmlDeclHandler.htmlDefaultHandler2.htmlEntityResolver2.htmlLexicalHandler.htmlLocator2.htmlLocator2Impl.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlhelpersAttributeListImpl.htmlAttributesImpl.htmlDefaultHandler.htmlLocatorImpl.htmlNamespaceSupport.htmlParserAdapter.htmlParserFactory.htmlXMLFilterImpl.htmlXMLReaderAdapter.htmlXMLReaderFactory.htmlclass-useAttributeListImpl.htmlAttributesImpl.htmlDefaultHandler.htmlLocatorImpl.htmlNamespaceSupport.htmlParserAdapter.htmlParserFactory.htmlXMLFilterImpl.htmlXMLReaderAdapter.htmlXMLReaderFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljdk.accessibilitycomsunjavaaccessibilityutilAWTEventMonitor.htmlAccessibilityEventMonitor.htmlAccessibilityListenerList.htmlEventID.htmlEventQueueMonitor.htmlGUIInitializedListener.htmlSwingEventMonitor.htmlTopLevelWindowListener.htmlTranslator.htmlclass-useAWTEventMonitor.htmlAccessibilityEventMonitor.htmlAccessibilityListenerList.htmlEventID.htmlEventQueueMonitor.htmlGUIInitializedListener.htmlSwingEventMonitor.htmlTopLevelWindowListener.htmlTranslator.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.attachcomsuntoolsattachAgentInitializationException.htmlAgentLoadException.htmlAttachNotSupportedException.htmlAttachOperationFailedException.htmlAttachPermission.htmlVirtualMachine.htmlVirtualMachineDescriptor.htmlclass-useAgentInitializationException.htmlAgentLoadException.htmlAttachNotSupportedException.htmlAttachOperationFailedException.htmlAttachPermission.htmlVirtualMachine.htmlVirtualMachineDescriptor.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiAttachProvider.htmlclass-useAttachProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.charsetsmodule-summary.htmljdk.compilercomsunsourcedoctreeAttributeTree.ValueKind.htmlAttributeTree.htmlAuthorTree.htmlBlockTagTree.htmlCommentTree.htmlDeprecatedTree.htmlDocCommentTree.htmlDocRootTree.htmlDocTree.Kind.htmlDocTree.htmlDocTreeVisitor.htmlDocTypeTree.htmlEndElementTree.htmlEntityTree.htmlErroneousTree.htmlHiddenTree.htmlIdentifierTree.htmlIndexTree.htmlInheritDocTree.htmlInlineTagTree.htmlLinkTree.htmlLiteralTree.htmlParamTree.htmlProvidesTree.htmlReferenceTree.htmlReturnTree.htmlSeeTree.htmlSerialDataTree.htmlSerialFieldTree.htmlSerialTree.htmlSinceTree.htmlStartElementTree.htmlSummaryTree.htmlTextTree.htmlThrowsTree.htmlUnknownBlockTagTree.htmlUnknownInlineTagTree.htmlUsesTree.htmlValueTree.htmlVersionTree.htmlclass-useAttributeTree.ValueKind.htmlAttributeTree.htmlAuthorTree.htmlBlockTagTree.htmlCommentTree.htmlDeprecatedTree.htmlDocCommentTree.htmlDocRootTree.htmlDocTree.Kind.htmlDocTree.htmlDocTreeVisitor.htmlDocTypeTree.htmlEndElementTree.htmlEntityTree.htmlErroneousTree.htmlHiddenTree.htmlIdentifierTree.htmlIndexTree.htmlInheritDocTree.htmlInlineTagTree.htmlLinkTree.htmlLiteralTree.htmlParamTree.htmlProvidesTree.htmlReferenceTree.htmlReturnTree.htmlSeeTree.htmlSerialDataTree.htmlSerialFieldTree.htmlSerialTree.htmlSinceTree.htmlStartElementTree.htmlSummaryTree.htmlTextTree.htmlThrowsTree.htmlUnknownBlockTagTree.htmlUnknownInlineTagTree.htmlUsesTree.htmlValueTree.htmlVersionTree.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltreeAnnotatedTypeTree.htmlAnnotationTree.htmlArrayAccessTree.htmlArrayTypeTree.htmlAssertTree.htmlAssignmentTree.htmlBinaryTree.htmlBlockTree.htmlBreakTree.htmlCaseTree.htmlCatchTree.htmlClassTree.htmlCompilationUnitTree.htmlCompoundAssignmentTree.htmlConditionalExpressionTree.htmlContinueTree.htmlDirectiveTree.htmlDoWhileLoopTree.htmlEmptyStatementTree.htmlEnhancedForLoopTree.htmlErroneousTree.htmlExportsTree.htmlExpressionStatementTree.htmlExpressionTree.htmlForLoopTree.htmlIdentifierTree.htmlIfTree.htmlImportTree.htmlInstanceOfTree.htmlIntersectionTypeTree.htmlLabeledStatementTree.htmlLambdaExpressionTree.BodyKind.htmlLambdaExpressionTree.htmlLineMap.htmlLiteralTree.htmlMemberReferenceTree.ReferenceMode.htmlMemberReferenceTree.htmlMemberSelectTree.htmlMethodInvocationTree.htmlMethodTree.htmlModifiersTree.htmlModuleTree.ModuleKind.htmlModuleTree.htmlNewArrayTree.htmlNewClassTree.htmlOpensTree.htmlPackageTree.htmlParameterizedTypeTree.htmlParenthesizedTree.htmlPrimitiveTypeTree.htmlProvidesTree.htmlRequiresTree.htmlReturnTree.htmlScope.htmlStatementTree.htmlSwitchTree.htmlSynchronizedTree.htmlThrowTree.htmlTree.Kind.htmlTree.htmlTreeVisitor.htmlTryTree.htmlTypeCastTree.htmlTypeParameterTree.htmlUnaryTree.htmlUnionTypeTree.htmlUsesTree.htmlVariableTree.htmlWhileLoopTree.htmlWildcardTree.htmlclass-useAnnotatedTypeTree.htmlAnnotationTree.htmlArrayAccessTree.htmlArrayTypeTree.htmlAssertTree.htmlAssignmentTree.htmlBinaryTree.htmlBlockTree.htmlBreakTree.htmlCaseTree.htmlCatchTree.htmlClassTree.htmlCompilationUnitTree.htmlCompoundAssignmentTree.htmlConditionalExpressionTree.htmlContinueTree.htmlDirectiveTree.htmlDoWhileLoopTree.htmlEmptyStatementTree.htmlEnhancedForLoopTree.htmlErroneousTree.htmlExportsTree.htmlExpressionStatementTree.htmlExpressionTree.htmlForLoopTree.htmlIdentifierTree.htmlIfTree.htmlImportTree.htmlInstanceOfTree.htmlIntersectionTypeTree.htmlLabeledStatementTree.htmlLambdaExpressionTree.BodyKind.htmlLambdaExpressionTree.htmlLineMap.htmlLiteralTree.htmlMemberReferenceTree.ReferenceMode.htmlMemberReferenceTree.htmlMemberSelectTree.htmlMethodInvocationTree.htmlMethodTree.htmlModifiersTree.htmlModuleTree.ModuleKind.htmlModuleTree.htmlNewArrayTree.htmlNewClassTree.htmlOpensTree.htmlPackageTree.htmlParameterizedTypeTree.htmlParenthesizedTree.htmlPrimitiveTypeTree.htmlProvidesTree.htmlRequiresTree.htmlReturnTree.htmlScope.htmlStatementTree.htmlSwitchTree.htmlSynchronizedTree.htmlThrowTree.htmlTree.Kind.htmlTree.htmlTreeVisitor.htmlTryTree.htmlTypeCastTree.htmlTypeParameterTree.htmlUnaryTree.htmlUnionTypeTree.htmlUsesTree.htmlVariableTree.htmlWhileLoopTree.htmlWildcardTree.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlutilDocSourcePositions.htmlDocTreeFactory.htmlDocTreePath.htmlDocTreePathScanner.htmlDocTreeScanner.htmlDocTrees.htmlJavacTask.htmlPlugin.htmlSimpleDocTreeVisitor.htmlSimpleTreeVisitor.htmlSourcePositions.htmlTaskEvent.Kind.htmlTaskEvent.htmlTaskListener.htmlTreePath.htmlTreePathScanner.htmlTreeScanner.htmlTrees.htmlclass-useDocSourcePositions.htmlDocTreeFactory.htmlDocTreePath.htmlDocTreePathScanner.htmlDocTreeScanner.htmlDocTrees.htmlJavacTask.htmlPlugin.htmlSimpleDocTreeVisitor.htmlSimpleTreeVisitor.htmlSourcePositions.htmlTaskEvent.Kind.htmlTaskEvent.htmlTaskListener.htmlTreePath.htmlTreePathScanner.htmlTreeScanner.htmlTrees.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltoolsjavacMain.htmlclass-useMain.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.crypto.cryptokimodule-summary.htmljdk.crypto.ecmodule-summary.htmljdk.dynalinkjdkdynalinkCallSiteDescriptor.htmlDynamicLinker.htmlDynamicLinkerFactory.htmlNamedOperation.htmlNamespace.htmlNamespaceOperation.htmlNoSuchDynamicMethodException.htmlOperation.htmlRelinkableCallSite.htmlSecureLookupSupplier.htmlStandardNamespace.htmlStandardOperation.htmlbeansBeansLinker.htmlMissingMemberHandlerFactory.htmlStaticClass.htmlclass-useBeansLinker.htmlMissingMemberHandlerFactory.htmlStaticClass.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useCallSiteDescriptor.htmlDynamicLinker.htmlDynamicLinkerFactory.htmlNamedOperation.htmlNamespace.htmlNamespaceOperation.htmlNoSuchDynamicMethodException.htmlOperation.htmlRelinkableCallSite.htmlSecureLookupSupplier.htmlStandardNamespace.htmlStandardOperation.htmllinkerConversionComparator.Comparison.htmlConversionComparator.htmlGuardedInvocation.htmlGuardedInvocationTransformer.htmlGuardingDynamicLinker.htmlGuardingDynamicLinkerExporter.htmlGuardingTypeConverterFactory.htmlLinkRequest.htmlLinkerServices.htmlMethodHandleTransformer.htmlMethodTypeConversionStrategy.htmlTypeBasedGuardingDynamicLinker.htmlclass-useConversionComparator.Comparison.htmlConversionComparator.htmlGuardedInvocation.htmlGuardedInvocationTransformer.htmlGuardingDynamicLinker.htmlGuardingDynamicLinkerExporter.htmlGuardingTypeConverterFactory.htmlLinkRequest.htmlLinkerServices.htmlMethodHandleTransformer.htmlMethodTypeConversionStrategy.htmlTypeBasedGuardingDynamicLinker.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsupportCompositeGuardingDynamicLinker.htmlCompositeTypeBasedGuardingDynamicLinker.htmlDefaultInternalObjectFilter.htmlGuards.htmlLookup.htmlSimpleLinkRequest.htmlTypeUtilities.htmlclass-useCompositeGuardingDynamicLinker.htmlCompositeTypeBasedGuardingDynamicLinker.htmlDefaultInternalObjectFilter.htmlGuards.htmlLookup.htmlSimpleLinkRequest.htmlTypeUtilities.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsupportAbstractRelinkableCallSite.htmlChainedCallSite.htmlSimpleRelinkableCallSite.htmlclass-useAbstractRelinkableCallSite.htmlChainedCallSite.htmlSimpleRelinkableCallSite.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.editpadmodule-summary.htmljdk.hotspot.agentmodule-summary.htmljdk.httpservercomsunnethttpserverAuthenticator.Failure.htmlAuthenticator.Result.htmlAuthenticator.Retry.htmlAuthenticator.Success.htmlAuthenticator.htmlBasicAuthenticator.htmlFilter.Chain.htmlFilter.htmlHeaders.htmlHttpContext.htmlHttpExchange.htmlHttpHandler.htmlHttpPrincipal.htmlHttpServer.htmlHttpsConfigurator.htmlHttpsExchange.htmlHttpsParameters.htmlHttpsServer.htmlclass-useAuthenticator.Failure.htmlAuthenticator.Result.htmlAuthenticator.Retry.htmlAuthenticator.Success.htmlAuthenticator.htmlBasicAuthenticator.htmlFilter.Chain.htmlFilter.htmlHeaders.htmlHttpContext.htmlHttpExchange.htmlHttpHandler.htmlHttpPrincipal.htmlHttpServer.htmlHttpsConfigurator.htmlHttpsExchange.htmlHttpsParameters.htmlHttpsServer.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiHttpServerProvider.htmlclass-useHttpServerProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.jartoolcomsunjarsignerContentSigner.htmlContentSignerParameters.htmlclass-useContentSigner.htmlContentSignerParameters.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljdksecurityjarsignerJarSigner.Builder.htmlJarSigner.htmlJarSignerException.htmlclass-useJarSigner.Builder.htmlJarSigner.htmlJarSignerException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.javadoccomsunjavadocAnnotatedType.htmlAnnotationDesc.ElementValuePair.htmlAnnotationDesc.htmlAnnotationTypeDoc.htmlAnnotationTypeElementDoc.htmlAnnotationValue.htmlClassDoc.htmlConstructorDoc.htmlDoc.htmlDocErrorReporter.htmlDoclet.htmlExecutableMemberDoc.htmlFieldDoc.htmlLanguageVersion.htmlMemberDoc.htmlMethodDoc.htmlPackageDoc.htmlParamTag.htmlParameter.htmlParameterizedType.htmlProgramElementDoc.htmlRootDoc.htmlSeeTag.htmlSerialFieldTag.htmlSourcePosition.htmlTag.htmlThrowsTag.htmlType.htmlTypeVariable.htmlWildcardType.htmlclass-useAnnotatedType.htmlAnnotationDesc.ElementValuePair.htmlAnnotationDesc.htmlAnnotationTypeDoc.htmlAnnotationTypeElementDoc.htmlAnnotationValue.htmlClassDoc.htmlConstructorDoc.htmlDoc.htmlDocErrorReporter.htmlDoclet.htmlExecutableMemberDoc.htmlFieldDoc.htmlLanguageVersion.htmlMemberDoc.htmlMethodDoc.htmlPackageDoc.htmlParamTag.htmlParameter.htmlParameterizedType.htmlProgramElementDoc.htmlRootDoc.htmlSeeTag.htmlSerialFieldTag.htmlSourcePosition.htmlTag.htmlThrowsTag.htmlType.htmlTypeVariable.htmlWildcardType.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltoolsjavadocMain.htmlclass-useMain.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljdkjavadocdocletDoclet.Option.Kind.htmlDoclet.Option.htmlDoclet.htmlDocletEnvironment.ModuleMode.htmlDocletEnvironment.htmlReporter.htmlStandardDoclet.htmlTaglet.Location.htmlTaglet.htmlclass-useDoclet.Option.Kind.htmlDoclet.Option.htmlDoclet.htmlDocletEnvironment.ModuleMode.htmlDocletEnvironment.htmlReporter.htmlStandardDoclet.htmlTaglet.Location.htmlTaglet.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.jcmdmodule-summary.htmljdk.jconsolecomsuntoolsjconsoleJConsoleContext.ConnectionState.htmlJConsoleContext.htmlJConsolePlugin.htmlclass-useJConsoleContext.ConnectionState.htmlJConsoleContext.htmlJConsolePlugin.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.jdepsmodule-summary.htmljdk.jdicomsunjdiAbsentInformationException.htmlAccessible.htmlArrayReference.htmlArrayType.htmlBooleanType.htmlBooleanValue.htmlBootstrap.htmlByteType.htmlByteValue.htmlCharType.htmlCharValue.htmlClassLoaderReference.htmlClassNotLoadedException.htmlClassNotPreparedException.htmlClassObjectReference.htmlClassType.htmlDoubleType.htmlDoubleValue.htmlField.htmlFloatType.htmlFloatValue.htmlIncompatibleThreadStateException.htmlInconsistentDebugInfoException.htmlIntegerType.htmlIntegerValue.htmlInterfaceType.htmlInternalException.htmlInvalidCodeIndexException.htmlInvalidLineNumberException.htmlInvalidModuleException.htmlInvalidStackFrameException.htmlInvalidTypeException.htmlInvocationException.htmlJDIPermission.htmlLocalVariable.htmlLocatable.htmlLocation.htmlLongType.htmlLongValue.htmlMethod.htmlMirror.htmlModuleReference.htmlMonitorInfo.htmlNativeMethodException.htmlObjectCollectedException.htmlObjectReference.htmlPathSearchingVirtualMachine.htmlPrimitiveType.htmlPrimitiveValue.htmlReferenceType.htmlShortType.htmlShortValue.htmlStackFrame.htmlStringReference.htmlThreadGroupReference.htmlThreadReference.htmlType.htmlTypeComponent.htmlVMCannotBeModifiedException.htmlVMDisconnectedException.htmlVMMismatchException.htmlVMOutOfMemoryException.htmlValue.htmlVirtualMachine.htmlVirtualMachineManager.htmlVoidType.htmlVoidValue.htmlclass-useAbsentInformationException.htmlAccessible.htmlArrayReference.htmlArrayType.htmlBooleanType.htmlBooleanValue.htmlBootstrap.htmlByteType.htmlByteValue.htmlCharType.htmlCharValue.htmlClassLoaderReference.htmlClassNotLoadedException.htmlClassNotPreparedException.htmlClassObjectReference.htmlClassType.htmlDoubleType.htmlDoubleValue.htmlField.htmlFloatType.htmlFloatValue.htmlIncompatibleThreadStateException.htmlInconsistentDebugInfoException.htmlIntegerType.htmlIntegerValue.htmlInterfaceType.htmlInternalException.htmlInvalidCodeIndexException.htmlInvalidLineNumberException.htmlInvalidModuleException.htmlInvalidStackFrameException.htmlInvalidTypeException.htmlInvocationException.htmlJDIPermission.htmlLocalVariable.htmlLocatable.htmlLocation.htmlLongType.htmlLongValue.htmlMethod.htmlMirror.htmlModuleReference.htmlMonitorInfo.htmlNativeMethodException.htmlObjectCollectedException.htmlObjectReference.htmlPathSearchingVirtualMachine.htmlPrimitiveType.htmlPrimitiveValue.htmlReferenceType.htmlShortType.htmlShortValue.htmlStackFrame.htmlStringReference.htmlThreadGroupReference.htmlThreadReference.htmlType.htmlTypeComponent.htmlVMCannotBeModifiedException.htmlVMDisconnectedException.htmlVMMismatchException.htmlVMOutOfMemoryException.htmlValue.htmlVirtualMachine.htmlVirtualMachineManager.htmlVoidType.htmlVoidValue.htmlconnectAttachingConnector.htmlConnector.Argument.htmlConnector.BooleanArgument.htmlConnector.IntegerArgument.htmlConnector.SelectedArgument.htmlConnector.StringArgument.htmlConnector.htmlIllegalConnectorArgumentsException.htmlLaunchingConnector.htmlListeningConnector.htmlTransport.htmlTransportTimeoutException.htmlVMStartException.htmlclass-useAttachingConnector.htmlConnector.Argument.htmlConnector.BooleanArgument.htmlConnector.IntegerArgument.htmlConnector.SelectedArgument.htmlConnector.StringArgument.htmlConnector.htmlIllegalConnectorArgumentsException.htmlLaunchingConnector.htmlListeningConnector.htmlTransport.htmlTransportTimeoutException.htmlVMStartException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiClosedConnectionException.htmlConnection.htmlTransportService.Capabilities.htmlTransportService.ListenKey.htmlTransportService.htmlclass-useClosedConnectionException.htmlConnection.htmlTransportService.Capabilities.htmlTransportService.ListenKey.htmlTransportService.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmldoc-filessignature.htmleventAccessWatchpointEvent.htmlBreakpointEvent.htmlClassPrepareEvent.htmlClassUnloadEvent.htmlEvent.htmlEventIterator.htmlEventQueue.htmlEventSet.htmlExceptionEvent.htmlLocatableEvent.htmlMethodEntryEvent.htmlMethodExitEvent.htmlModificationWatchpointEvent.htmlMonitorContendedEnterEvent.htmlMonitorContendedEnteredEvent.htmlMonitorWaitEvent.htmlMonitorWaitedEvent.htmlStepEvent.htmlThreadDeathEvent.htmlThreadStartEvent.htmlVMDeathEvent.htmlVMDisconnectEvent.htmlVMStartEvent.htmlWatchpointEvent.htmlclass-useAccessWatchpointEvent.htmlBreakpointEvent.htmlClassPrepareEvent.htmlClassUnloadEvent.htmlEvent.htmlEventIterator.htmlEventQueue.htmlEventSet.htmlExceptionEvent.htmlLocatableEvent.htmlMethodEntryEvent.htmlMethodExitEvent.htmlModificationWatchpointEvent.htmlMonitorContendedEnterEvent.htmlMonitorContendedEnteredEvent.htmlMonitorWaitEvent.htmlMonitorWaitedEvent.htmlStepEvent.htmlThreadDeathEvent.htmlThreadStartEvent.htmlVMDeathEvent.htmlVMDisconnectEvent.htmlVMStartEvent.htmlWatchpointEvent.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlrequestAccessWatchpointRequest.htmlBreakpointRequest.htmlClassPrepareRequest.htmlClassUnloadRequest.htmlDuplicateRequestException.htmlEventRequest.htmlEventRequestManager.htmlExceptionRequest.htmlInvalidRequestStateException.htmlMethodEntryRequest.htmlMethodExitRequest.htmlModificationWatchpointRequest.htmlMonitorContendedEnterRequest.htmlMonitorContendedEnteredRequest.htmlMonitorWaitRequest.htmlMonitorWaitedRequest.htmlStepRequest.htmlThreadDeathRequest.htmlThreadStartRequest.htmlVMDeathRequest.htmlWatchpointRequest.htmlclass-useAccessWatchpointRequest.htmlBreakpointRequest.htmlClassPrepareRequest.htmlClassUnloadRequest.htmlDuplicateRequestException.htmlEventRequest.htmlEventRequestManager.htmlExceptionRequest.htmlInvalidRequestStateException.htmlMethodEntryRequest.htmlMethodExitRequest.htmlModificationWatchpointRequest.htmlMonitorContendedEnterRequest.htmlMonitorContendedEnteredRequest.htmlMonitorWaitRequest.htmlMonitorWaitedRequest.htmlStepRequest.htmlThreadDeathRequest.htmlThreadStartRequest.htmlVMDeathRequest.htmlWatchpointRequest.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.jdwp.agentmodule-summary.htmljdk.jfrjdkjfrAnnotationElement.htmlBooleanFlag.htmlCategory.htmlConfiguration.htmlContentType.htmlDataAmount.htmlDescription.htmlEnabled.htmlEvent.htmlEventFactory.htmlEventSettings.htmlEventType.htmlExperimental.htmlFlightRecorder.htmlFlightRecorderListener.htmlFlightRecorderPermission.htmlFrequency.htmlLabel.htmlMemoryAddress.htmlMetadataDefinition.htmlName.htmlPercentage.htmlPeriod.htmlRecording.htmlRecordingState.htmlRegistered.htmlRelational.htmlSettingControl.htmlSettingDefinition.htmlSettingDescriptor.htmlStackTrace.htmlThreshold.htmlTimespan.htmlTimestamp.htmlTransitionFrom.htmlTransitionTo.htmlUnsigned.htmlValueDescriptor.htmlclass-useAnnotationElement.htmlBooleanFlag.htmlCategory.htmlConfiguration.htmlContentType.htmlDataAmount.htmlDescription.htmlEnabled.htmlEvent.htmlEventFactory.htmlEventSettings.htmlEventType.htmlExperimental.htmlFlightRecorder.htmlFlightRecorderListener.htmlFlightRecorderPermission.htmlFrequency.htmlLabel.htmlMemoryAddress.htmlMetadataDefinition.htmlName.htmlPercentage.htmlPeriod.htmlRecording.htmlRecordingState.htmlRegistered.htmlRelational.htmlSettingControl.htmlSettingDefinition.htmlSettingDescriptor.htmlStackTrace.htmlThreshold.htmlTimespan.htmlTimestamp.htmlTransitionFrom.htmlTransitionTo.htmlUnsigned.htmlValueDescriptor.htmlconsumerRecordedClass.htmlRecordedClassLoader.htmlRecordedEvent.htmlRecordedFrame.htmlRecordedMethod.htmlRecordedObject.htmlRecordedStackTrace.htmlRecordedThread.htmlRecordedThreadGroup.htmlRecordingFile.htmlclass-useRecordedClass.htmlRecordedClassLoader.htmlRecordedEvent.htmlRecordedFrame.htmlRecordedMethod.htmlRecordedObject.htmlRecordedStackTrace.htmlRecordedThread.htmlRecordedThreadGroup.htmlRecordingFile.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.jlinkmodule-summary.htmljdk.jshelljdkjshellDeclarationSnippet.htmlDiag.htmlErroneousSnippet.htmlEvalException.htmlExpressionSnippet.htmlImportSnippet.htmlJShell.Builder.htmlJShell.Subscription.htmlJShell.htmlJShellException.htmlMethodSnippet.htmlPersistentSnippet.htmlSnippet.Kind.htmlSnippet.Status.htmlSnippet.SubKind.htmlSnippet.htmlSnippetEvent.htmlSourceCodeAnalysis.Completeness.htmlSourceCodeAnalysis.CompletionInfo.htmlSourceCodeAnalysis.Documentation.htmlSourceCodeAnalysis.QualifiedNames.htmlSourceCodeAnalysis.SnippetWrapper.htmlSourceCodeAnalysis.Suggestion.htmlSourceCodeAnalysis.htmlStatementSnippet.htmlTypeDeclSnippet.htmlUnresolvedReferenceException.htmlVarSnippet.htmlclass-useDeclarationSnippet.htmlDiag.htmlErroneousSnippet.htmlEvalException.htmlExpressionSnippet.htmlImportSnippet.htmlJShell.Builder.htmlJShell.Subscription.htmlJShell.htmlJShellException.htmlMethodSnippet.htmlPersistentSnippet.htmlSnippet.Kind.htmlSnippet.Status.htmlSnippet.SubKind.htmlSnippet.htmlSnippetEvent.htmlSourceCodeAnalysis.Completeness.htmlSourceCodeAnalysis.CompletionInfo.htmlSourceCodeAnalysis.Documentation.htmlSourceCodeAnalysis.QualifiedNames.htmlSourceCodeAnalysis.SnippetWrapper.htmlSourceCodeAnalysis.Suggestion.htmlSourceCodeAnalysis.htmlStatementSnippet.htmlTypeDeclSnippet.htmlUnresolvedReferenceException.htmlVarSnippet.htmlexecutionDirectExecutionControl.htmlFailOverExecutionControlProvider.htmlJdiDefaultExecutionControl.htmlJdiExecutionControl.htmlJdiExecutionControlProvider.htmlJdiInitiator.htmlLoaderDelegate.htmlLocalExecutionControl.htmlLocalExecutionControlProvider.htmlRemoteExecutionControl.htmlStreamingExecutionControl.htmlUtil.htmlclass-useDirectExecutionControl.htmlFailOverExecutionControlProvider.htmlJdiDefaultExecutionControl.htmlJdiExecutionControl.htmlJdiExecutionControlProvider.htmlJdiInitiator.htmlLoaderDelegate.htmlLocalExecutionControl.htmlLocalExecutionControlProvider.htmlRemoteExecutionControl.htmlStreamingExecutionControl.htmlUtil.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiExecutionControl.ClassBytecodes.htmlExecutionControl.ClassInstallException.htmlExecutionControl.EngineTerminationException.htmlExecutionControl.ExecutionControlException.htmlExecutionControl.InternalException.htmlExecutionControl.NotImplementedException.htmlExecutionControl.ResolutionException.htmlExecutionControl.RunException.htmlExecutionControl.StoppedException.htmlExecutionControl.UserException.htmlExecutionControl.htmlExecutionControlProvider.htmlExecutionEnv.htmlSPIResolutionException.htmlclass-useExecutionControl.ClassBytecodes.htmlExecutionControl.ClassInstallException.htmlExecutionControl.EngineTerminationException.htmlExecutionControl.ExecutionControlException.htmlExecutionControl.InternalException.htmlExecutionControl.NotImplementedException.htmlExecutionControl.ResolutionException.htmlExecutionControl.RunException.htmlExecutionControl.StoppedException.htmlExecutionControl.UserException.htmlExecutionControl.htmlExecutionControlProvider.htmlExecutionEnv.htmlSPIResolutionException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltoolJavaShellToolBuilder.htmlclass-useJavaShellToolBuilder.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.jsobjectmodule-summary.htmlnetscapejavascriptJSException.htmlJSObject.htmlclass-useJSException.htmlJSObject.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljdk.jstatdmodule-summary.htmljdk.localedatamodule-summary.htmljdk.managementjdk.management.agentmodule-summary.htmljdk.management.jfrjdkmanagementjfrConfigurationInfo.htmlEventTypeInfo.htmlFlightRecorderMXBean.htmlRecordingInfo.htmlSettingDescriptorInfo.htmlclass-useConfigurationInfo.htmlEventTypeInfo.htmlFlightRecorderMXBean.htmlRecordingInfo.htmlSettingDescriptorInfo.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmlcomsunmanagementDiagnosticCommandMBean.htmlGarbageCollectionNotificationInfo.htmlGarbageCollectorMXBean.htmlGcInfo.htmlHotSpotDiagnosticMXBean.htmlOperatingSystemMXBean.htmlThreadMXBean.htmlUnixOperatingSystemMXBean.htmlVMOption.Origin.htmlVMOption.htmlclass-useDiagnosticCommandMBean.htmlGarbageCollectionNotificationInfo.htmlGarbageCollectorMXBean.htmlGcInfo.htmlHotSpotDiagnosticMXBean.htmlOperatingSystemMXBean.htmlThreadMXBean.htmlUnixOperatingSystemMXBean.htmlVMOption.Origin.htmlVMOption.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.naming.dnsmodule-summary.htmljdk.naming.ldapcomsunjndildapspiLdapDnsProvider.htmlLdapDnsProviderResult.htmlclass-useLdapDnsProvider.htmlLdapDnsProviderResult.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.naming.rmimodule-summary.htmljdk.netjdknetExtendedSocketOptions.htmlNetworkPermission.htmlSocketFlow.Status.htmlSocketFlow.htmlSockets.htmlclass-useExtendedSocketOptions.htmlNetworkPermission.htmlSocketFlow.Status.htmlSocketFlow.htmlSockets.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlnioChannels.SelectableChannelCloser.htmlChannels.htmlclass-useChannels.SelectableChannelCloser.htmlChannels.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.packmodule-summary.htmljdk.rmicmodule-summary.htmljdk.scripting.nashornjdknashornapiscriptingAbstractJSObject.htmlClassFilter.htmlJSObject.htmlNashornException.htmlNashornScriptEngine.htmlNashornScriptEngineFactory.htmlScriptObjectMirror.htmlScriptUtils.htmlURLReader.htmlclass-useAbstractJSObject.htmlClassFilter.htmlJSObject.htmlNashornException.htmlNashornScriptEngine.htmlNashornScriptEngineFactory.htmlScriptObjectMirror.htmlScriptUtils.htmlURLReader.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltreeArrayAccessTree.htmlArrayLiteralTree.htmlAssignmentTree.htmlBinaryTree.htmlBlockTree.htmlBreakTree.htmlCaseTree.htmlCatchTree.htmlClassDeclarationTree.htmlClassExpressionTree.htmlCompilationUnitTree.htmlCompoundAssignmentTree.htmlConditionalExpressionTree.htmlConditionalLoopTree.htmlContinueTree.htmlDebuggerTree.htmlDiagnostic.Kind.htmlDiagnostic.htmlDiagnosticListener.htmlDoWhileLoopTree.htmlEmptyStatementTree.htmlErroneousTree.htmlExportEntryTree.htmlExpressionStatementTree.htmlExpressionTree.htmlForInLoopTree.htmlForLoopTree.htmlForOfLoopTree.htmlFunctionCallTree.htmlFunctionDeclarationTree.htmlFunctionExpressionTree.htmlGotoTree.htmlIdentifierTree.htmlIfTree.htmlImportEntryTree.htmlInstanceOfTree.htmlLabeledStatementTree.htmlLineMap.htmlLiteralTree.htmlLoopTree.htmlMemberSelectTree.htmlModuleTree.htmlNewTree.htmlObjectLiteralTree.htmlParenthesizedTree.htmlParser.htmlPropertyTree.htmlRegExpLiteralTree.htmlReturnTree.htmlSimpleTreeVisitorES5_1.htmlSimpleTreeVisitorES6.htmlSpreadTree.htmlStatementTree.htmlSwitchTree.htmlTemplateLiteralTree.htmlThrowTree.htmlTree.Kind.htmlTree.htmlTreeVisitor.htmlTryTree.htmlUnaryTree.htmlUnknownTreeException.htmlVariableTree.htmlWhileLoopTree.htmlWithTree.htmlYieldTree.htmlclass-useArrayAccessTree.htmlArrayLiteralTree.htmlAssignmentTree.htmlBinaryTree.htmlBlockTree.htmlBreakTree.htmlCaseTree.htmlCatchTree.htmlClassDeclarationTree.htmlClassExpressionTree.htmlCompilationUnitTree.htmlCompoundAssignmentTree.htmlConditionalExpressionTree.htmlConditionalLoopTree.htmlContinueTree.htmlDebuggerTree.htmlDiagnostic.Kind.htmlDiagnostic.htmlDiagnosticListener.htmlDoWhileLoopTree.htmlEmptyStatementTree.htmlErroneousTree.htmlExportEntryTree.htmlExpressionStatementTree.htmlExpressionTree.htmlForInLoopTree.htmlForLoopTree.htmlForOfLoopTree.htmlFunctionCallTree.htmlFunctionDeclarationTree.htmlFunctionExpressionTree.htmlGotoTree.htmlIdentifierTree.htmlIfTree.htmlImportEntryTree.htmlInstanceOfTree.htmlLabeledStatementTree.htmlLineMap.htmlLiteralTree.htmlLoopTree.htmlMemberSelectTree.htmlModuleTree.htmlNewTree.htmlObjectLiteralTree.htmlParenthesizedTree.htmlParser.htmlPropertyTree.htmlRegExpLiteralTree.htmlReturnTree.htmlSimpleTreeVisitorES5_1.htmlSimpleTreeVisitorES6.htmlSpreadTree.htmlStatementTree.htmlSwitchTree.htmlTemplateLiteralTree.htmlThrowTree.htmlTree.Kind.htmlTree.htmlTreeVisitor.htmlTryTree.htmlUnaryTree.htmlUnknownTreeException.htmlVariableTree.htmlWhileLoopTree.htmlWithTree.htmlYieldTree.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.sctpcomsunniosctpAbstractNotificationHandler.htmlAssociation.htmlAssociationChangeNotification.AssocChangeEvent.htmlAssociationChangeNotification.htmlHandlerResult.htmlIllegalReceiveException.htmlIllegalUnbindException.htmlInvalidStreamException.htmlMessageInfo.htmlNotification.htmlNotificationHandler.htmlPeerAddressChangeNotification.AddressChangeEvent.htmlPeerAddressChangeNotification.htmlSctpChannel.htmlSctpMultiChannel.htmlSctpServerChannel.htmlSctpSocketOption.htmlSctpStandardSocketOptions.InitMaxStreams.htmlSctpStandardSocketOptions.htmlSendFailedNotification.htmlShutdownNotification.htmlclass-useAbstractNotificationHandler.htmlAssociation.htmlAssociationChangeNotification.AssocChangeEvent.htmlAssociationChangeNotification.htmlHandlerResult.htmlIllegalReceiveException.htmlIllegalUnbindException.htmlInvalidStreamException.htmlMessageInfo.htmlNotification.htmlNotificationHandler.htmlPeerAddressChangeNotification.AddressChangeEvent.htmlPeerAddressChangeNotification.htmlSctpChannel.htmlSctpMultiChannel.htmlSctpServerChannel.htmlSctpSocketOption.htmlSctpStandardSocketOptions.InitMaxStreams.htmlSctpStandardSocketOptions.htmlSendFailedNotification.htmlShutdownNotification.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.security.authcomsunsecurityauthLdapPrincipal.htmlNTDomainPrincipal.htmlNTNumericCredential.htmlNTSid.htmlNTSidDomainPrincipal.htmlNTSidGroupPrincipal.htmlNTSidPrimaryGroupPrincipal.htmlNTSidUserPrincipal.htmlNTUserPrincipal.htmlPrincipalComparator.htmlUnixNumericGroupPrincipal.htmlUnixNumericUserPrincipal.htmlUnixPrincipal.htmlUserPrincipal.htmlcallbackTextCallbackHandler.htmlclass-useTextCallbackHandler.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useLdapPrincipal.htmlNTDomainPrincipal.htmlNTNumericCredential.htmlNTSid.htmlNTSidDomainPrincipal.htmlNTSidGroupPrincipal.htmlNTSidPrimaryGroupPrincipal.htmlNTSidUserPrincipal.htmlNTUserPrincipal.htmlPrincipalComparator.htmlUnixNumericGroupPrincipal.htmlUnixNumericUserPrincipal.htmlUnixPrincipal.htmlUserPrincipal.htmlloginConfigFile.htmlclass-useConfigFile.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmoduleJndiLoginModule.htmlKeyStoreLoginModule.htmlKrb5LoginModule.htmlLdapLoginModule.htmlNTLoginModule.htmlNTSystem.htmlUnixLoginModule.htmlUnixSystem.htmlclass-useJndiLoginModule.htmlKeyStoreLoginModule.htmlKrb5LoginModule.htmlLdapLoginModule.htmlNTLoginModule.htmlNTSystem.htmlUnixLoginModule.htmlUnixSystem.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.security.jgsscomsunsecurityjgssAuthorizationDataEntry.htmlExtendedGSSContext.htmlExtendedGSSCredential.htmlGSSUtil.htmlInquireSecContextPermission.htmlInquireType.htmlclass-useAuthorizationDataEntry.htmlExtendedGSSContext.htmlExtendedGSSCredential.htmlGSSUtil.htmlInquireSecContextPermission.htmlInquireType.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.xml.dommodule-summary.htmlorgw3cdomcssCSS2Properties.htmlCSSCharsetRule.htmlCSSFontFaceRule.htmlCSSImportRule.htmlCSSMediaRule.htmlCSSPageRule.htmlCSSPrimitiveValue.htmlCSSRule.htmlCSSRuleList.htmlCSSStyleDeclaration.htmlCSSStyleRule.htmlCSSStyleSheet.htmlCSSUnknownRule.htmlCSSValue.htmlCSSValueList.htmlCounter.htmlDOMImplementationCSS.htmlDocumentCSS.htmlElementCSSInlineStyle.htmlRGBColor.htmlRect.htmlViewCSS.htmlclass-useCSS2Properties.htmlCSSCharsetRule.htmlCSSFontFaceRule.htmlCSSImportRule.htmlCSSMediaRule.htmlCSSPageRule.htmlCSSPrimitiveValue.htmlCSSRule.htmlCSSRuleList.htmlCSSStyleDeclaration.htmlCSSStyleRule.htmlCSSStyleSheet.htmlCSSUnknownRule.htmlCSSValue.htmlCSSValueList.htmlCounter.htmlDOMImplementationCSS.htmlDocumentCSS.htmlElementCSSInlineStyle.htmlRGBColor.htmlRect.htmlViewCSS.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlhtmlHTMLAnchorElement.htmlHTMLAppletElement.htmlHTMLAreaElement.htmlHTMLBRElement.htmlHTMLBaseElement.htmlHTMLBaseFontElement.htmlHTMLBodyElement.htmlHTMLButtonElement.htmlHTMLCollection.htmlHTMLDListElement.htmlHTMLDOMImplementation.htmlHTMLDirectoryElement.htmlHTMLDivElement.htmlHTMLDocument.htmlHTMLElement.htmlHTMLFieldSetElement.htmlHTMLFontElement.htmlHTMLFormElement.htmlHTMLFrameElement.htmlHTMLFrameSetElement.htmlHTMLHRElement.htmlHTMLHeadElement.htmlHTMLHeadingElement.htmlHTMLHtmlElement.htmlHTMLIFrameElement.htmlHTMLImageElement.htmlHTMLInputElement.htmlHTMLIsIndexElement.htmlHTMLLIElement.htmlHTMLLabelElement.htmlHTMLLegendElement.htmlHTMLLinkElement.htmlHTMLMapElement.htmlHTMLMenuElement.htmlHTMLMetaElement.htmlHTMLModElement.htmlHTMLOListElement.htmlHTMLObjectElement.htmlHTMLOptGroupElement.htmlHTMLOptionElement.htmlHTMLParagraphElement.htmlHTMLParamElement.htmlHTMLPreElement.htmlHTMLQuoteElement.htmlHTMLScriptElement.htmlHTMLSelectElement.htmlHTMLStyleElement.htmlHTMLTableCaptionElement.htmlHTMLTableCellElement.htmlHTMLTableColElement.htmlHTMLTableElement.htmlHTMLTableRowElement.htmlHTMLTableSectionElement.htmlHTMLTextAreaElement.htmlHTMLTitleElement.htmlHTMLUListElement.htmlclass-useHTMLAnchorElement.htmlHTMLAppletElement.htmlHTMLAreaElement.htmlHTMLBRElement.htmlHTMLBaseElement.htmlHTMLBaseFontElement.htmlHTMLBodyElement.htmlHTMLButtonElement.htmlHTMLCollection.htmlHTMLDListElement.htmlHTMLDOMImplementation.htmlHTMLDirectoryElement.htmlHTMLDivElement.htmlHTMLDocument.htmlHTMLElement.htmlHTMLFieldSetElement.htmlHTMLFontElement.htmlHTMLFormElement.htmlHTMLFrameElement.htmlHTMLFrameSetElement.htmlHTMLHRElement.htmlHTMLHeadElement.htmlHTMLHeadingElement.htmlHTMLHtmlElement.htmlHTMLIFrameElement.htmlHTMLImageElement.htmlHTMLInputElement.htmlHTMLIsIndexElement.htmlHTMLLIElement.htmlHTMLLabelElement.htmlHTMLLegendElement.htmlHTMLLinkElement.htmlHTMLMapElement.htmlHTMLMenuElement.htmlHTMLMetaElement.htmlHTMLModElement.htmlHTMLOListElement.htmlHTMLObjectElement.htmlHTMLOptGroupElement.htmlHTMLOptionElement.htmlHTMLParagraphElement.htmlHTMLParamElement.htmlHTMLPreElement.htmlHTMLQuoteElement.htmlHTMLScriptElement.htmlHTMLSelectElement.htmlHTMLStyleElement.htmlHTMLTableCaptionElement.htmlHTMLTableCellElement.htmlHTMLTableColElement.htmlHTMLTableElement.htmlHTMLTableRowElement.htmlHTMLTableSectionElement.htmlHTMLTextAreaElement.htmlHTMLTitleElement.htmlHTMLUListElement.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlstylesheetsDocumentStyle.htmlLinkStyle.htmlMediaList.htmlStyleSheet.htmlStyleSheetList.htmlclass-useDocumentStyle.htmlLinkStyle.htmlMediaList.htmlStyleSheet.htmlStyleSheetList.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlxpathXPathEvaluator.htmlXPathException.htmlXPathExpression.htmlXPathNSResolver.htmlXPathNamespace.htmlXPathResult.htmlclass-useXPathEvaluator.htmlXPathException.htmlXPathExpression.htmlXPathNSResolver.htmlXPathNamespace.htmlXPathResult.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljdk.zipfsmodule-summary.htmljqueryexternaljqueryjquery.jsimagesui-bg_glass_55_fbf9ee_1x400.pngui-bg_glass_65_dadada_1x400.pngui-bg_glass_75_dadada_1x400.pngui-bg_glass_75_e6e6e6_1x400.pngui-bg_glass_95_fef1ec_1x400.pngui-bg_highlight-soft_75_cccccc_1x100.pngui-icons_222222_256x240.pngui-icons_2e83ff_256x240.pngui-icons_454545_256x240.pngui-icons_888888_256x240.pngui-icons_cd0a0a_256x240.pngjquery-3.5.1.jsjquery-ui.cssjquery-ui.jsjquery-ui.min.cssjquery-ui.min.jsjquery-ui.structure.cssjquery-ui.structure.min.cssjszipjszip-utilsdistjszip-utils-ie.jsjszip-utils-ie.min.jsjszip-utils.jsjszip-utils.min.jsdistjszip.jsjszip.min.jsmember-search-index.jsmember-search-index.zipmodule-search-index.jsmodule-search-index.zipoverview-summary.htmloverview-tree.htmlpackage-search-index.jspackage-search-index.zipresourcesglass.pngx.pngscript.jssearch.jsserialized-form.htmlstylesheet.csstag-search-index.jstag-search-index.ziptype-search-index.jstype-search-index.zipindex.htmllegaljquery.mdjqueryUI.mdjszip.mdpako.mdresourcesjdk-default.cssspecsjdwpjdwp-protocol.htmljvmti.html/usr/share//usr/share/javadoc//usr/share/javadoc/java-11-openjdk//usr/share/javadoc/java-11-openjdk/api//usr/share/javadoc/java-11-openjdk/api/index-files//usr/share/javadoc/java-11-openjdk/api/java.base//usr/share/javadoc/java-11-openjdk/api/java.base/java//usr/share/javadoc/java-11-openjdk/api/java.base/java/io//usr/share/javadoc/java-11-openjdk/api/java.base/java/io/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/lang//usr/share/javadoc/java-11-openjdk/api/java.base/java/lang/annotation//usr/share/javadoc/java-11-openjdk/api/java.base/java/lang/annotation/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/lang/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/lang/doc-files//usr/share/javadoc/java-11-openjdk/api/java.base/java/lang/invoke//usr/share/javadoc/java-11-openjdk/api/java.base/java/lang/invoke/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/lang/module//usr/share/javadoc/java-11-openjdk/api/java.base/java/lang/module/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/lang/ref//usr/share/javadoc/java-11-openjdk/api/java.base/java/lang/ref/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/lang/reflect//usr/share/javadoc/java-11-openjdk/api/java.base/java/lang/reflect/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/math//usr/share/javadoc/java-11-openjdk/api/java.base/java/math/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/net//usr/share/javadoc/java-11-openjdk/api/java.base/java/net/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/net/doc-files//usr/share/javadoc/java-11-openjdk/api/java.base/java/net/spi//usr/share/javadoc/java-11-openjdk/api/java.base/java/net/spi/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/channels//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/channels/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/channels/spi//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/channels/spi/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/charset//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/charset/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/charset/spi//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/charset/spi/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/file//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/file/attribute//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/file/attribute/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/file/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/file/spi//usr/share/javadoc/java-11-openjdk/api/java.base/java/nio/file/spi/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/security//usr/share/javadoc/java-11-openjdk/api/java.base/java/security/acl//usr/share/javadoc/java-11-openjdk/api/java.base/java/security/acl/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/security/cert//usr/share/javadoc/java-11-openjdk/api/java.base/java/security/cert/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/security/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/security/interfaces//usr/share/javadoc/java-11-openjdk/api/java.base/java/security/interfaces/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/security/spec//usr/share/javadoc/java-11-openjdk/api/java.base/java/security/spec/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/text//usr/share/javadoc/java-11-openjdk/api/java.base/java/text/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/text/spi//usr/share/javadoc/java-11-openjdk/api/java.base/java/text/spi/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/time//usr/share/javadoc/java-11-openjdk/api/java.base/java/time/chrono//usr/share/javadoc/java-11-openjdk/api/java.base/java/time/chrono/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/time/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/time/format//usr/share/javadoc/java-11-openjdk/api/java.base/java/time/format/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/time/temporal//usr/share/javadoc/java-11-openjdk/api/java.base/java/time/temporal/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/time/zone//usr/share/javadoc/java-11-openjdk/api/java.base/java/time/zone/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/util//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/concurrent//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/concurrent/atomic//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/concurrent/atomic/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/concurrent/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/concurrent/locks//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/concurrent/locks/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/doc-files//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/function//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/function/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/jar//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/jar/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/regex//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/regex/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/spi//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/spi/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/stream//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/stream/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/zip//usr/share/javadoc/java-11-openjdk/api/java.base/java/util/zip/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/javax//usr/share/javadoc/java-11-openjdk/api/java.base/javax/crypto//usr/share/javadoc/java-11-openjdk/api/java.base/javax/crypto/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/javax/crypto/interfaces//usr/share/javadoc/java-11-openjdk/api/java.base/javax/crypto/interfaces/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/javax/crypto/spec//usr/share/javadoc/java-11-openjdk/api/java.base/javax/crypto/spec/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/javax/net//usr/share/javadoc/java-11-openjdk/api/java.base/javax/net/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/javax/net/ssl//usr/share/javadoc/java-11-openjdk/api/java.base/javax/net/ssl/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/javax/security//usr/share/javadoc/java-11-openjdk/api/java.base/javax/security/auth//usr/share/javadoc/java-11-openjdk/api/java.base/javax/security/auth/callback//usr/share/javadoc/java-11-openjdk/api/java.base/javax/security/auth/callback/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/javax/security/auth/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/javax/security/auth/login//usr/share/javadoc/java-11-openjdk/api/java.base/javax/security/auth/login/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/javax/security/auth/spi//usr/share/javadoc/java-11-openjdk/api/java.base/javax/security/auth/spi/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/javax/security/auth/x500//usr/share/javadoc/java-11-openjdk/api/java.base/javax/security/auth/x500/class-use//usr/share/javadoc/java-11-openjdk/api/java.base/javax/security/cert//usr/share/javadoc/java-11-openjdk/api/java.base/javax/security/cert/class-use//usr/share/javadoc/java-11-openjdk/api/java.compiler//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/annotation//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/annotation/processing//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/annotation/processing/class-use//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/lang//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/lang/model//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/lang/model/class-use//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/lang/model/element//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/lang/model/element/class-use//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/lang/model/type//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/lang/model/type/class-use//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/lang/model/util//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/lang/model/util/class-use//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/tools//usr/share/javadoc/java-11-openjdk/api/java.compiler/javax/tools/class-use//usr/share/javadoc/java-11-openjdk/api/java.datatransfer//usr/share/javadoc/java-11-openjdk/api/java.datatransfer/java//usr/share/javadoc/java-11-openjdk/api/java.datatransfer/java/awt//usr/share/javadoc/java-11-openjdk/api/java.datatransfer/java/awt/datatransfer//usr/share/javadoc/java-11-openjdk/api/java.datatransfer/java/awt/datatransfer/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop//usr/share/javadoc/java-11-openjdk/api/java.desktop/java//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/applet//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/applet/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/color//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/color/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/desktop//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/desktop/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/dnd//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/dnd/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/doc-files//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/event//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/event/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/font//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/font/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/geom//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/geom/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/im//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/im/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/im/spi//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/im/spi/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/image//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/image/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/image/renderable//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/image/renderable/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/print//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/awt/print/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/beans//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/beans/beancontext//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/beans/beancontext/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/java/beans/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/accessibility//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/accessibility/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/event//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/event/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/metadata//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/metadata/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/metadata/doc-files//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/plugins//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/plugins/bmp//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/plugins/bmp/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/plugins/jpeg//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/plugins/jpeg/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/plugins/tiff//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/plugins/tiff/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/spi//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/spi/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/stream//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/imageio/stream/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/print//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/print/attribute//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/print/attribute/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/print/attribute/standard//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/print/attribute/standard/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/print/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/print/event//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/print/event/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/sound//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/sound/midi//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/sound/midi/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/sound/midi/spi//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/sound/midi/spi/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/sound/sampled//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/sound/sampled/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/sound/sampled/spi//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/sound/sampled/spi/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/border//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/border/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/colorchooser//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/colorchooser/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/doc-files//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/event//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/event/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/filechooser//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/filechooser/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/basic//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/basic/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/metal//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/metal/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/multi//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/multi/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/multi/doc-files//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/nimbus//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/nimbus/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/nimbus/doc-files//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/synth//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/synth/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/plaf/synth/doc-files//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/table//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/table/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/text//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/text/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/text/doc-files//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/text/html//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/text/html/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/text/html/parser//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/text/html/parser/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/text/rtf//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/text/rtf/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/tree//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/tree/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/undo//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/undo/class-use//usr/share/javadoc/java-11-openjdk/api/java.desktop/javax/swing/undo/doc-files//usr/share/javadoc/java-11-openjdk/api/java.instrument//usr/share/javadoc/java-11-openjdk/api/java.instrument/java//usr/share/javadoc/java-11-openjdk/api/java.instrument/java/lang//usr/share/javadoc/java-11-openjdk/api/java.instrument/java/lang/instrument//usr/share/javadoc/java-11-openjdk/api/java.instrument/java/lang/instrument/class-use//usr/share/javadoc/java-11-openjdk/api/java.logging//usr/share/javadoc/java-11-openjdk/api/java.logging/java//usr/share/javadoc/java-11-openjdk/api/java.logging/java/util//usr/share/javadoc/java-11-openjdk/api/java.logging/java/util/logging//usr/share/javadoc/java-11-openjdk/api/java.logging/java/util/logging/class-use//usr/share/javadoc/java-11-openjdk/api/java.management.rmi//usr/share/javadoc/java-11-openjdk/api/java.management.rmi/javax//usr/share/javadoc/java-11-openjdk/api/java.management.rmi/javax/management//usr/share/javadoc/java-11-openjdk/api/java.management.rmi/javax/management/remote//usr/share/javadoc/java-11-openjdk/api/java.management.rmi/javax/management/remote/rmi//usr/share/javadoc/java-11-openjdk/api/java.management.rmi/javax/management/remote/rmi/class-use//usr/share/javadoc/java-11-openjdk/api/java.management//usr/share/javadoc/java-11-openjdk/api/java.management/java//usr/share/javadoc/java-11-openjdk/api/java.management/java/lang//usr/share/javadoc/java-11-openjdk/api/java.management/java/lang/management//usr/share/javadoc/java-11-openjdk/api/java.management/java/lang/management/class-use//usr/share/javadoc/java-11-openjdk/api/java.management/javax//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/class-use//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/loading//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/loading/class-use//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/modelmbean//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/modelmbean/class-use//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/monitor//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/monitor/class-use//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/openmbean//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/openmbean/class-use//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/relation//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/relation/class-use//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/remote//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/remote/class-use//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/timer//usr/share/javadoc/java-11-openjdk/api/java.management/javax/management/timer/class-use//usr/share/javadoc/java-11-openjdk/api/java.naming//usr/share/javadoc/java-11-openjdk/api/java.naming/javax//usr/share/javadoc/java-11-openjdk/api/java.naming/javax/naming//usr/share/javadoc/java-11-openjdk/api/java.naming/javax/naming/class-use//usr/share/javadoc/java-11-openjdk/api/java.naming/javax/naming/directory//usr/share/javadoc/java-11-openjdk/api/java.naming/javax/naming/directory/class-use//usr/share/javadoc/java-11-openjdk/api/java.naming/javax/naming/event//usr/share/javadoc/java-11-openjdk/api/java.naming/javax/naming/event/class-use//usr/share/javadoc/java-11-openjdk/api/java.naming/javax/naming/ldap//usr/share/javadoc/java-11-openjdk/api/java.naming/javax/naming/ldap/class-use//usr/share/javadoc/java-11-openjdk/api/java.naming/javax/naming/spi//usr/share/javadoc/java-11-openjdk/api/java.naming/javax/naming/spi/class-use//usr/share/javadoc/java-11-openjdk/api/java.net.http//usr/share/javadoc/java-11-openjdk/api/java.net.http/java//usr/share/javadoc/java-11-openjdk/api/java.net.http/java/net//usr/share/javadoc/java-11-openjdk/api/java.net.http/java/net/http//usr/share/javadoc/java-11-openjdk/api/java.net.http/java/net/http/class-use//usr/share/javadoc/java-11-openjdk/api/java.prefs//usr/share/javadoc/java-11-openjdk/api/java.prefs/java//usr/share/javadoc/java-11-openjdk/api/java.prefs/java/util//usr/share/javadoc/java-11-openjdk/api/java.prefs/java/util/prefs//usr/share/javadoc/java-11-openjdk/api/java.prefs/java/util/prefs/class-use//usr/share/javadoc/java-11-openjdk/api/java.rmi//usr/share/javadoc/java-11-openjdk/api/java.rmi/java//usr/share/javadoc/java-11-openjdk/api/java.rmi/java/rmi//usr/share/javadoc/java-11-openjdk/api/java.rmi/java/rmi/activation//usr/share/javadoc/java-11-openjdk/api/java.rmi/java/rmi/activation/class-use//usr/share/javadoc/java-11-openjdk/api/java.rmi/java/rmi/class-use//usr/share/javadoc/java-11-openjdk/api/java.rmi/java/rmi/dgc//usr/share/javadoc/java-11-openjdk/api/java.rmi/java/rmi/dgc/class-use//usr/share/javadoc/java-11-openjdk/api/java.rmi/java/rmi/registry//usr/share/javadoc/java-11-openjdk/api/java.rmi/java/rmi/registry/class-use//usr/share/javadoc/java-11-openjdk/api/java.rmi/java/rmi/server//usr/share/javadoc/java-11-openjdk/api/java.rmi/java/rmi/server/class-use//usr/share/javadoc/java-11-openjdk/api/java.rmi/javax//usr/share/javadoc/java-11-openjdk/api/java.rmi/javax/rmi//usr/share/javadoc/java-11-openjdk/api/java.rmi/javax/rmi/ssl//usr/share/javadoc/java-11-openjdk/api/java.rmi/javax/rmi/ssl/class-use//usr/share/javadoc/java-11-openjdk/api/java.scripting//usr/share/javadoc/java-11-openjdk/api/java.scripting/javax//usr/share/javadoc/java-11-openjdk/api/java.scripting/javax/script//usr/share/javadoc/java-11-openjdk/api/java.scripting/javax/script/class-use//usr/share/javadoc/java-11-openjdk/api/java.se//usr/share/javadoc/java-11-openjdk/api/java.security.jgss//usr/share/javadoc/java-11-openjdk/api/java.security.jgss/javax//usr/share/javadoc/java-11-openjdk/api/java.security.jgss/javax/security//usr/share/javadoc/java-11-openjdk/api/java.security.jgss/javax/security/auth//usr/share/javadoc/java-11-openjdk/api/java.security.jgss/javax/security/auth/kerberos//usr/share/javadoc/java-11-openjdk/api/java.security.jgss/javax/security/auth/kerberos/class-use//usr/share/javadoc/java-11-openjdk/api/java.security.jgss/org//usr/share/javadoc/java-11-openjdk/api/java.security.jgss/org/ietf//usr/share/javadoc/java-11-openjdk/api/java.security.jgss/org/ietf/jgss//usr/share/javadoc/java-11-openjdk/api/java.security.jgss/org/ietf/jgss/class-use//usr/share/javadoc/java-11-openjdk/api/java.security.sasl//usr/share/javadoc/java-11-openjdk/api/java.security.sasl/javax//usr/share/javadoc/java-11-openjdk/api/java.security.sasl/javax/security//usr/share/javadoc/java-11-openjdk/api/java.security.sasl/javax/security/sasl//usr/share/javadoc/java-11-openjdk/api/java.security.sasl/javax/security/sasl/class-use//usr/share/javadoc/java-11-openjdk/api/java.smartcardio//usr/share/javadoc/java-11-openjdk/api/java.smartcardio/javax//usr/share/javadoc/java-11-openjdk/api/java.smartcardio/javax/smartcardio//usr/share/javadoc/java-11-openjdk/api/java.smartcardio/javax/smartcardio/class-use//usr/share/javadoc/java-11-openjdk/api/java.sql.rowset//usr/share/javadoc/java-11-openjdk/api/java.sql.rowset/javax//usr/share/javadoc/java-11-openjdk/api/java.sql.rowset/javax/sql//usr/share/javadoc/java-11-openjdk/api/java.sql.rowset/javax/sql/rowset//usr/share/javadoc/java-11-openjdk/api/java.sql.rowset/javax/sql/rowset/class-use//usr/share/javadoc/java-11-openjdk/api/java.sql.rowset/javax/sql/rowset/serial//usr/share/javadoc/java-11-openjdk/api/java.sql.rowset/javax/sql/rowset/serial/class-use//usr/share/javadoc/java-11-openjdk/api/java.sql.rowset/javax/sql/rowset/spi//usr/share/javadoc/java-11-openjdk/api/java.sql.rowset/javax/sql/rowset/spi/class-use//usr/share/javadoc/java-11-openjdk/api/java.sql//usr/share/javadoc/java-11-openjdk/api/java.sql/java//usr/share/javadoc/java-11-openjdk/api/java.sql/java/sql//usr/share/javadoc/java-11-openjdk/api/java.sql/java/sql/class-use//usr/share/javadoc/java-11-openjdk/api/java.sql/javax//usr/share/javadoc/java-11-openjdk/api/java.sql/javax/sql//usr/share/javadoc/java-11-openjdk/api/java.sql/javax/sql/class-use//usr/share/javadoc/java-11-openjdk/api/java.transaction.xa//usr/share/javadoc/java-11-openjdk/api/java.transaction.xa/javax//usr/share/javadoc/java-11-openjdk/api/java.transaction.xa/javax/transaction//usr/share/javadoc/java-11-openjdk/api/java.transaction.xa/javax/transaction/xa//usr/share/javadoc/java-11-openjdk/api/java.transaction.xa/javax/transaction/xa/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax/xml//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax/xml/crypto//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax/xml/crypto/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax/xml/crypto/dom//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax/xml/crypto/dom/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax/xml/crypto/dsig//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax/xml/crypto/dsig/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax/xml/crypto/dsig/dom//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax/xml/crypto/dsig/dom/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax/xml/crypto/dsig/keyinfo//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax/xml/crypto/dsig/keyinfo/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax/xml/crypto/dsig/spec//usr/share/javadoc/java-11-openjdk/api/java.xml.crypto/javax/xml/crypto/dsig/spec/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml//usr/share/javadoc/java-11-openjdk/api/java.xml/javax//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/catalog//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/catalog/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/datatype//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/datatype/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/namespace//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/namespace/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/parsers//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/parsers/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/stream//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/stream/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/stream/events//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/stream/events/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/stream/util//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/stream/util/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/transform//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/transform/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/transform/dom//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/transform/dom/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/transform/sax//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/transform/sax/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/transform/stax//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/transform/stax/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/transform/stream//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/transform/stream/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/validation//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/validation/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/xpath//usr/share/javadoc/java-11-openjdk/api/java.xml/javax/xml/xpath/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/org//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom/bootstrap//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom/bootstrap/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom/events//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom/events/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom/ls//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom/ls/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom/ranges//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom/ranges/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom/traversal//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom/traversal/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom/views//usr/share/javadoc/java-11-openjdk/api/java.xml/org/w3c/dom/views/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/org/xml//usr/share/javadoc/java-11-openjdk/api/java.xml/org/xml/sax//usr/share/javadoc/java-11-openjdk/api/java.xml/org/xml/sax/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/org/xml/sax/ext//usr/share/javadoc/java-11-openjdk/api/java.xml/org/xml/sax/ext/class-use//usr/share/javadoc/java-11-openjdk/api/java.xml/org/xml/sax/helpers//usr/share/javadoc/java-11-openjdk/api/java.xml/org/xml/sax/helpers/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.accessibility//usr/share/javadoc/java-11-openjdk/api/jdk.accessibility/com//usr/share/javadoc/java-11-openjdk/api/jdk.accessibility/com/sun//usr/share/javadoc/java-11-openjdk/api/jdk.accessibility/com/sun/java//usr/share/javadoc/java-11-openjdk/api/jdk.accessibility/com/sun/java/accessibility//usr/share/javadoc/java-11-openjdk/api/jdk.accessibility/com/sun/java/accessibility/util//usr/share/javadoc/java-11-openjdk/api/jdk.accessibility/com/sun/java/accessibility/util/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.attach//usr/share/javadoc/java-11-openjdk/api/jdk.attach/com//usr/share/javadoc/java-11-openjdk/api/jdk.attach/com/sun//usr/share/javadoc/java-11-openjdk/api/jdk.attach/com/sun/tools//usr/share/javadoc/java-11-openjdk/api/jdk.attach/com/sun/tools/attach//usr/share/javadoc/java-11-openjdk/api/jdk.attach/com/sun/tools/attach/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.attach/com/sun/tools/attach/spi//usr/share/javadoc/java-11-openjdk/api/jdk.attach/com/sun/tools/attach/spi/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.charsets//usr/share/javadoc/java-11-openjdk/api/jdk.compiler//usr/share/javadoc/java-11-openjdk/api/jdk.compiler/com//usr/share/javadoc/java-11-openjdk/api/jdk.compiler/com/sun//usr/share/javadoc/java-11-openjdk/api/jdk.compiler/com/sun/source//usr/share/javadoc/java-11-openjdk/api/jdk.compiler/com/sun/source/doctree//usr/share/javadoc/java-11-openjdk/api/jdk.compiler/com/sun/source/doctree/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.compiler/com/sun/source/tree//usr/share/javadoc/java-11-openjdk/api/jdk.compiler/com/sun/source/tree/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.compiler/com/sun/source/util//usr/share/javadoc/java-11-openjdk/api/jdk.compiler/com/sun/source/util/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.compiler/com/sun/tools//usr/share/javadoc/java-11-openjdk/api/jdk.compiler/com/sun/tools/javac//usr/share/javadoc/java-11-openjdk/api/jdk.compiler/com/sun/tools/javac/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.crypto.cryptoki//usr/share/javadoc/java-11-openjdk/api/jdk.crypto.ec//usr/share/javadoc/java-11-openjdk/api/jdk.dynalink//usr/share/javadoc/java-11-openjdk/api/jdk.dynalink/jdk//usr/share/javadoc/java-11-openjdk/api/jdk.dynalink/jdk/dynalink//usr/share/javadoc/java-11-openjdk/api/jdk.dynalink/jdk/dynalink/beans//usr/share/javadoc/java-11-openjdk/api/jdk.dynalink/jdk/dynalink/beans/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.dynalink/jdk/dynalink/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.dynalink/jdk/dynalink/linker//usr/share/javadoc/java-11-openjdk/api/jdk.dynalink/jdk/dynalink/linker/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.dynalink/jdk/dynalink/linker/support//usr/share/javadoc/java-11-openjdk/api/jdk.dynalink/jdk/dynalink/linker/support/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.dynalink/jdk/dynalink/support//usr/share/javadoc/java-11-openjdk/api/jdk.dynalink/jdk/dynalink/support/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.editpad//usr/share/javadoc/java-11-openjdk/api/jdk.hotspot.agent//usr/share/javadoc/java-11-openjdk/api/jdk.httpserver//usr/share/javadoc/java-11-openjdk/api/jdk.httpserver/com//usr/share/javadoc/java-11-openjdk/api/jdk.httpserver/com/sun//usr/share/javadoc/java-11-openjdk/api/jdk.httpserver/com/sun/net//usr/share/javadoc/java-11-openjdk/api/jdk.httpserver/com/sun/net/httpserver//usr/share/javadoc/java-11-openjdk/api/jdk.httpserver/com/sun/net/httpserver/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.httpserver/com/sun/net/httpserver/spi//usr/share/javadoc/java-11-openjdk/api/jdk.httpserver/com/sun/net/httpserver/spi/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jartool//usr/share/javadoc/java-11-openjdk/api/jdk.jartool/com//usr/share/javadoc/java-11-openjdk/api/jdk.jartool/com/sun//usr/share/javadoc/java-11-openjdk/api/jdk.jartool/com/sun/jarsigner//usr/share/javadoc/java-11-openjdk/api/jdk.jartool/com/sun/jarsigner/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jartool/jdk//usr/share/javadoc/java-11-openjdk/api/jdk.jartool/jdk/security//usr/share/javadoc/java-11-openjdk/api/jdk.jartool/jdk/security/jarsigner//usr/share/javadoc/java-11-openjdk/api/jdk.jartool/jdk/security/jarsigner/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.javadoc//usr/share/javadoc/java-11-openjdk/api/jdk.javadoc/com//usr/share/javadoc/java-11-openjdk/api/jdk.javadoc/com/sun//usr/share/javadoc/java-11-openjdk/api/jdk.javadoc/com/sun/javadoc//usr/share/javadoc/java-11-openjdk/api/jdk.javadoc/com/sun/javadoc/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.javadoc/com/sun/tools//usr/share/javadoc/java-11-openjdk/api/jdk.javadoc/com/sun/tools/javadoc//usr/share/javadoc/java-11-openjdk/api/jdk.javadoc/com/sun/tools/javadoc/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.javadoc/jdk//usr/share/javadoc/java-11-openjdk/api/jdk.javadoc/jdk/javadoc//usr/share/javadoc/java-11-openjdk/api/jdk.javadoc/jdk/javadoc/doclet//usr/share/javadoc/java-11-openjdk/api/jdk.javadoc/jdk/javadoc/doclet/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jcmd//usr/share/javadoc/java-11-openjdk/api/jdk.jconsole//usr/share/javadoc/java-11-openjdk/api/jdk.jconsole/com//usr/share/javadoc/java-11-openjdk/api/jdk.jconsole/com/sun//usr/share/javadoc/java-11-openjdk/api/jdk.jconsole/com/sun/tools//usr/share/javadoc/java-11-openjdk/api/jdk.jconsole/com/sun/tools/jconsole//usr/share/javadoc/java-11-openjdk/api/jdk.jconsole/com/sun/tools/jconsole/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jdeps//usr/share/javadoc/java-11-openjdk/api/jdk.jdi//usr/share/javadoc/java-11-openjdk/api/jdk.jdi/com//usr/share/javadoc/java-11-openjdk/api/jdk.jdi/com/sun//usr/share/javadoc/java-11-openjdk/api/jdk.jdi/com/sun/jdi//usr/share/javadoc/java-11-openjdk/api/jdk.jdi/com/sun/jdi/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jdi/com/sun/jdi/connect//usr/share/javadoc/java-11-openjdk/api/jdk.jdi/com/sun/jdi/connect/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jdi/com/sun/jdi/connect/spi//usr/share/javadoc/java-11-openjdk/api/jdk.jdi/com/sun/jdi/connect/spi/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jdi/com/sun/jdi/doc-files//usr/share/javadoc/java-11-openjdk/api/jdk.jdi/com/sun/jdi/event//usr/share/javadoc/java-11-openjdk/api/jdk.jdi/com/sun/jdi/event/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jdi/com/sun/jdi/request//usr/share/javadoc/java-11-openjdk/api/jdk.jdi/com/sun/jdi/request/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jdwp.agent//usr/share/javadoc/java-11-openjdk/api/jdk.jfr//usr/share/javadoc/java-11-openjdk/api/jdk.jfr/jdk//usr/share/javadoc/java-11-openjdk/api/jdk.jfr/jdk/jfr//usr/share/javadoc/java-11-openjdk/api/jdk.jfr/jdk/jfr/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jfr/jdk/jfr/consumer//usr/share/javadoc/java-11-openjdk/api/jdk.jfr/jdk/jfr/consumer/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jlink//usr/share/javadoc/java-11-openjdk/api/jdk.jshell//usr/share/javadoc/java-11-openjdk/api/jdk.jshell/jdk//usr/share/javadoc/java-11-openjdk/api/jdk.jshell/jdk/jshell//usr/share/javadoc/java-11-openjdk/api/jdk.jshell/jdk/jshell/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jshell/jdk/jshell/execution//usr/share/javadoc/java-11-openjdk/api/jdk.jshell/jdk/jshell/execution/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jshell/jdk/jshell/spi//usr/share/javadoc/java-11-openjdk/api/jdk.jshell/jdk/jshell/spi/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jshell/jdk/jshell/tool//usr/share/javadoc/java-11-openjdk/api/jdk.jshell/jdk/jshell/tool/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jsobject//usr/share/javadoc/java-11-openjdk/api/jdk.jsobject/netscape//usr/share/javadoc/java-11-openjdk/api/jdk.jsobject/netscape/javascript//usr/share/javadoc/java-11-openjdk/api/jdk.jsobject/netscape/javascript/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.jstatd//usr/share/javadoc/java-11-openjdk/api/jdk.localedata//usr/share/javadoc/java-11-openjdk/api/jdk.management.agent//usr/share/javadoc/java-11-openjdk/api/jdk.management.jfr//usr/share/javadoc/java-11-openjdk/api/jdk.management.jfr/jdk//usr/share/javadoc/java-11-openjdk/api/jdk.management.jfr/jdk/management//usr/share/javadoc/java-11-openjdk/api/jdk.management.jfr/jdk/management/jfr//usr/share/javadoc/java-11-openjdk/api/jdk.management.jfr/jdk/management/jfr/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.management//usr/share/javadoc/java-11-openjdk/api/jdk.management/com//usr/share/javadoc/java-11-openjdk/api/jdk.management/com/sun//usr/share/javadoc/java-11-openjdk/api/jdk.management/com/sun/management//usr/share/javadoc/java-11-openjdk/api/jdk.management/com/sun/management/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.naming.dns//usr/share/javadoc/java-11-openjdk/api/jdk.naming.ldap//usr/share/javadoc/java-11-openjdk/api/jdk.naming.ldap/com//usr/share/javadoc/java-11-openjdk/api/jdk.naming.ldap/com/sun//usr/share/javadoc/java-11-openjdk/api/jdk.naming.ldap/com/sun/jndi//usr/share/javadoc/java-11-openjdk/api/jdk.naming.ldap/com/sun/jndi/ldap//usr/share/javadoc/java-11-openjdk/api/jdk.naming.ldap/com/sun/jndi/ldap/spi//usr/share/javadoc/java-11-openjdk/api/jdk.naming.ldap/com/sun/jndi/ldap/spi/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.naming.rmi//usr/share/javadoc/java-11-openjdk/api/jdk.net//usr/share/javadoc/java-11-openjdk/api/jdk.net/jdk//usr/share/javadoc/java-11-openjdk/api/jdk.net/jdk/net//usr/share/javadoc/java-11-openjdk/api/jdk.net/jdk/net/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.net/jdk/nio//usr/share/javadoc/java-11-openjdk/api/jdk.net/jdk/nio/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.pack//usr/share/javadoc/java-11-openjdk/api/jdk.rmic//usr/share/javadoc/java-11-openjdk/api/jdk.scripting.nashorn//usr/share/javadoc/java-11-openjdk/api/jdk.scripting.nashorn/jdk//usr/share/javadoc/java-11-openjdk/api/jdk.scripting.nashorn/jdk/nashorn//usr/share/javadoc/java-11-openjdk/api/jdk.scripting.nashorn/jdk/nashorn/api//usr/share/javadoc/java-11-openjdk/api/jdk.scripting.nashorn/jdk/nashorn/api/scripting//usr/share/javadoc/java-11-openjdk/api/jdk.scripting.nashorn/jdk/nashorn/api/scripting/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.scripting.nashorn/jdk/nashorn/api/tree//usr/share/javadoc/java-11-openjdk/api/jdk.scripting.nashorn/jdk/nashorn/api/tree/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.sctp//usr/share/javadoc/java-11-openjdk/api/jdk.sctp/com//usr/share/javadoc/java-11-openjdk/api/jdk.sctp/com/sun//usr/share/javadoc/java-11-openjdk/api/jdk.sctp/com/sun/nio//usr/share/javadoc/java-11-openjdk/api/jdk.sctp/com/sun/nio/sctp//usr/share/javadoc/java-11-openjdk/api/jdk.sctp/com/sun/nio/sctp/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.security.auth//usr/share/javadoc/java-11-openjdk/api/jdk.security.auth/com//usr/share/javadoc/java-11-openjdk/api/jdk.security.auth/com/sun//usr/share/javadoc/java-11-openjdk/api/jdk.security.auth/com/sun/security//usr/share/javadoc/java-11-openjdk/api/jdk.security.auth/com/sun/security/auth//usr/share/javadoc/java-11-openjdk/api/jdk.security.auth/com/sun/security/auth/callback//usr/share/javadoc/java-11-openjdk/api/jdk.security.auth/com/sun/security/auth/callback/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.security.auth/com/sun/security/auth/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.security.auth/com/sun/security/auth/login//usr/share/javadoc/java-11-openjdk/api/jdk.security.auth/com/sun/security/auth/login/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.security.auth/com/sun/security/auth/module//usr/share/javadoc/java-11-openjdk/api/jdk.security.auth/com/sun/security/auth/module/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.security.jgss//usr/share/javadoc/java-11-openjdk/api/jdk.security.jgss/com//usr/share/javadoc/java-11-openjdk/api/jdk.security.jgss/com/sun//usr/share/javadoc/java-11-openjdk/api/jdk.security.jgss/com/sun/security//usr/share/javadoc/java-11-openjdk/api/jdk.security.jgss/com/sun/security/jgss//usr/share/javadoc/java-11-openjdk/api/jdk.security.jgss/com/sun/security/jgss/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.xml.dom//usr/share/javadoc/java-11-openjdk/api/jdk.xml.dom/org//usr/share/javadoc/java-11-openjdk/api/jdk.xml.dom/org/w3c//usr/share/javadoc/java-11-openjdk/api/jdk.xml.dom/org/w3c/dom//usr/share/javadoc/java-11-openjdk/api/jdk.xml.dom/org/w3c/dom/css//usr/share/javadoc/java-11-openjdk/api/jdk.xml.dom/org/w3c/dom/css/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.xml.dom/org/w3c/dom/html//usr/share/javadoc/java-11-openjdk/api/jdk.xml.dom/org/w3c/dom/html/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.xml.dom/org/w3c/dom/stylesheets//usr/share/javadoc/java-11-openjdk/api/jdk.xml.dom/org/w3c/dom/stylesheets/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.xml.dom/org/w3c/dom/xpath//usr/share/javadoc/java-11-openjdk/api/jdk.xml.dom/org/w3c/dom/xpath/class-use//usr/share/javadoc/java-11-openjdk/api/jdk.zipfs//usr/share/javadoc/java-11-openjdk/api/jquery//usr/share/javadoc/java-11-openjdk/api/jquery/external//usr/share/javadoc/java-11-openjdk/api/jquery/external/jquery//usr/share/javadoc/java-11-openjdk/api/jquery/images//usr/share/javadoc/java-11-openjdk/api/jquery/jszip-utils//usr/share/javadoc/java-11-openjdk/api/jquery/jszip-utils/dist//usr/share/javadoc/java-11-openjdk/api/jquery/jszip//usr/share/javadoc/java-11-openjdk/api/jquery/jszip/dist//usr/share/javadoc/java-11-openjdk/api/resources//usr/share/javadoc/java-11-openjdk/legal//usr/share/javadoc/java-11-openjdk/resources//usr/share/javadoc/java-11-openjdk/specs//usr/share/javadoc/java-11-openjdk/specs/jdwp/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:17169/openSUSE_Leap_15.2_Update/34e0b07663ca3563fe059fa6232a6630-java-11-openjdk.openSUSE_Leap_15.2_Updatedrpmxz5x86_64-suse-linux    !"#$%&'()*+,-./0123456788889:::9;<=<<=>??????@>ABABABCCABABDdirectoryHTML document, ASCII text, with very long linesHTML document, ASCII textASCII textHTML document, UTF-8 Unicode text, with very long linesC++ source, ASCII text, with very long linesGIF image data, version 89a, 362 x 302GIF image data, version 89a, 432 x 87GIF image data, version 89a, 77 x 81GIF image data, version 89a, 104 x 120GIF image data, version 89a, 118 x 61GIF image data, version 89a, 439 x 238GIF image data, version 87a, 513 x 362GIF image data, version 89a, 44 x 59GIF image data, version 89a, 289 x 122PNG image data, 181 x 52, 8-bit/color RGBA, non-interlacedGIF image data, version 89a, 151 x 150GIF image data, version 89a, 440 x 519GIF image data, version 89a, 295 x 67PNG image data, 370 x 130, 8-bit/color RGB, non-interlacedGIF image data, version 89a, 168 x 108GIF image data, version 89a, 285 x 235GIF image data, version 87a, 404 x 280PNG image data, 132 x 125, 8-bit/color RGB, non-interlacedPNG image data, 129 x 123, 8-bit/color RGB, non-interlacedGIF image data, version 89a, 125 x 93GIF image data, version 87a, 417 x 112GIF image data, version 89a, 429 x 206GIF image data, version 89a, 450 x 183GIF image data, version 89a, 140 x 120GIF image data, version 89a, 110 x 180GIF image data, version 89a, 150 x 180GIF image data, version 89a, 191 x 201GIF image data, version 89a, 269 x 264GIF image data, version 89a, 629 x 484GIF image data, version 89a, 349 x 386GIF image data, version 89a, 256 x 248GIF image data, version 87a, 384 x 100GIF image data, version 89a, 434 x 122GIF image data, version 89a, 194 x 266GIF image data, version 89a, 427 x 266PNG image data, 177 x 102, 8-bit/color RGB, non-interlacedGIF image data, version 89a, 332 x 198GIF image data, version 89a, 342 x 85GIF image data, version 89a, 175 x 198Algol 68 source, ASCII textGIF image data, version 89a, 450 x 114GIF image data, version 89a, 438 x 168GIF image data, version 89a, 306 x 181GIF image data, version 89a, 438 x 171GIF image data, version 87a, 467 x 168GIF image data, version 89a, 48 x 30JPEG image data, JFIF standard 1.01, resolution (DPI), density 100x100, segment length 16, baseline, precision 8, 270x220, frames 3JPEG image data, JFIF standard 1.01, resolution (DPI), density 100x100, segment length 16, baseline, precision 8, 345x530, frames 3GIF image data, version 87a, 587 x 358GIF image data, version 89a, 322 x 144GIF image data, version 89a, 346 x 162PNG image data, 1 x 400, 16-bit/color RGB, non-interlacedPNG image data, 1 x 400, 16-bit grayscale, non-interlacedPNG image data, 1 x 100, 16-bit grayscale, non-interlacedPNG image data, 256 x 240, 8-bit gray+alpha, non-interlacedPNG image data, 256 x 240, 8-bit colormap, non-interlacedASCII text, with very long linesUTF-8 Unicode text, with very long linesASCII text, with very long lines, with no line terminatorsASCII text, with very long lines, with no line terminators (Zip archive data, at least v2.0 to extract Zip archive data, at least v2.0 to extract)PNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedUTF-8 Unicode textvv+Lutf-88b835ebe4bcfe39c67a9be60f79e6555554705006de1b799e158b9bb14d4db03?7zXZ !t/]"k%ˬiǠHd1Ry3cF>MűqfQiq cC+oKj SYV}IтӅr/m1=kIBǕRX"h+x#%dLr끮8a^EI~#%ϐ& 0  4oqJs?X ؂rs,4… ?7UFtS G '}. #p8T 4./Q/=}O\!f%S@z|*X'G7u<ְ,Jmg)%O,FhQzF,/@/y;al [/XQ/vX? AӴ'UM "RH6 }$ S7byiDaStPwZ0'{Vd*ϸoe^6 g:7Y>ƙ}1ޙUќ~}7qUھЩsvRvypJi.-6 >:#tk6KEzmąILBRk7/-Gvl Z?%Af|2ē1w7C,KV8Y, j)c@ktu +C=&|/; 6Ahsu(c=h[ ˢK$C`Fm\Ջ*7[T8UգLf\_ec"iT"C PVNzh_IbWkc q6]榫غEd/ T)HJW.{3;Uq]SOqʘ&ݏU$&;+=Ec3tl/>6iFV(% \kbx[y3W3.MLa;EF!6px0) v a(?WJ+ å>21@odQ]:vk=M z*YswE ]x&mnpNpFH`8yQBEQzW\TJ~Q K-U[+v{}GYZ͘L2L Xɾ}ѥ$~R(ۍl v@U\gf_S>(mo #={v?dxk;lO_q;8V/˹w 񭚇 |ȣtů3Ɔ K~de- Eg$VtΛI-cO*2j+A}neNAed~kt]K΍&a'(`UhK5^R%4R4f|9ʀ*)d|q. v6KpV`/ Rwp, f7كh$-h$%^"e|m>;Q,ff#zu*B  Z•3Sgp@at`E9a1̷C'jbm(J Z38,诗r-G eh U<}yFoŨv! `nwMJJ/xF*rR_Usp!:'PYSjTpNh~IyTr6* E,dyxzj{J|L~i(B| 8WWzް;Fh8 ZIȰ_;Iv Nk~gvj̲ITTp϶ךU-9_lX!/9R[ȳ2 L[AG9n\ ,zj8_0&?;CHBx^@Ǭy٧c#Y <:qQDouVV<'Kh3T ˶= o7%1=Cvؕ\,Qt]/eT{ [NAp[%?ͦ2E` N2vɱn9!;Eй* J)Q-sȤ8"$L85@C-`Pw'1Q8櫺"`2igk_d] {W㉾0+`ڜUbAdg[zKeF|)쒂\n]!Ra-h ^G;[-EL |?t.؆@us?xRsDlYʊ=MX<@liVz=O:,`;N۪%,ؙ1R y8𘈃/5]ʽtC9ȗnA3Q)7ԗ7. _>g>nNUe-<4\ոӰv"i~TG("Z/=DGc;XREY-N{Ad`QhÏ/DKYlku`2I'v.Y#\]{ ޙ#r&\І2~,~ŧv1i#P Q01V[[#ā@|[R+` oU/{-*: vhu/'!vFBI\OClS,2Z)eFEv4c%B)I@٬a29V0Qul\'L_g}ĉ/1 ~IK84%ܹ4(4j0]M!X܂4 J}GyK ܫ*+2ԿlХӠ TDģv5+'kǮ&I ACr=Z@P 1 n4?V/ sAzNueщ!sY$䤺K6SaUbsHhǍ()Z$郆=?ӥY*svfz,%_@I“krhW#H’I3uJ 8F"M޶cnW*Z/L ߸OtoCjIowMda 문5dhVy JSinR7NWBN6"pG2M+¶|)v0sx#e΃{*hr?`eY*_{ Yl;0fZe=/v"Hmr˗Kӛ^Ƴg2{m F(DS7 NbS.TvQhm;f [MK@>|; Z=#tjw&-K+vQV[}8S~C>15" sȾ*@0vU$0`_J, AF& eD l xJdrζe2îYXg,Զ )(d\H"1'>WKf?po7[ ہn4{1*& &XtI!l2rN\hEZa_R~q2kq=TkW`ea*u(s|g<%!qKߙ/U$44_%s#Scr$htPZ$eٯ6VcX-Eِx+ʕ4%q~K̓Q`ȑ!'`<6,:(ᨂ)S݇RaLmF@63xu=/DS*'JFz8"p6gBә&UXбu~1iUL`n۳!dZYa6Ȃ!5+wյ[TD'qd,a3\ ( \ ёlmIVm|-?֌&3$&ftŒb|`gӯ"P`?pv|߈+hg++G,$=5E]Cqo#k2ȏ39#4ʘ/6f9y,VI,*{Pιj ev2ʵM)] JpaƋY:߾ |ʓNBjRi|~;.STy;>a:V7/ s )?e>XE`M}9G;ni8kzo{klbN W6Rr쇜dJBGP7 >gg/#=E>Xx~5i&Dv HH Tz9\stY4Fn%V> \_mAcspJN7NZCnJ/&)MCMDA4}1ɺ: d &d OVH&4'$]SW@Du`|zQ aFBȧ)k|;"2cc01p!ڵWGoPNph~pXuٱ^RhdR3c<*XrZL: i1#[mۑ< Xf%6ej>,e@CX~ڟ`)9u `DErO$;0+!8֒ZIA> "-JatdW wR [8MmAK"=dݚgX)|P=-+ʶ[5JuWr/&xfԔ.Akr04?$D"y~R3=V(;NKݪEf@Gv.{v(,5q=:VqJy_vH,YOD/ krg"~#j8fmbUIt.}Caʞ/o?m-$z9IQF踽Z`Gc] b vꓛh"CAx'IM=c=G1 7ivz>UQeJ 4~UBSvN~vGv8,h,3v]XM(Xh}NJ^ yr> z% '!_Q٥:0dbGlx iDZP(/'ܓ:>h|mIx0 sN`pL{R ĤMUOmm3O@ͼ?g~AYwN bnPЮ,ǫӦ^:3jߌU с}n:Ğk1㻘JXrlqJb~t>K} n XzvV泫춵GƾVoU۝SSr. 1HvnE5 4$=` oVZnς7I)íUTNu VkND:%Ӂ0LD-xg8LOGICCOtw G0uS1ZErh+=;e 84z̟8 S7ZElCRWH.!@(߯wսy1R2KoȊ8Nlf~ A-}VٴN@t˞d>;29_k.XJV+0?5HoyOV#=:DV<[R T֝, 6s -@.χ@c@]62PVXV)p 3;}Ai%&&-m(냇^ `kCн/JrRf,Ӷ'o F󌜖D-Cq~Iu3.y^7t|f#uA|;z{u\>AE#?8bITQ҉I >t!Th|dS떰x&^{\I=7lb\LߜLN({X\`g['(.vcP"v2_]Ze&*l"{Os4[0 `Yi;͕ܹ%ь/zQp2o#*.|'JB?Xmz9< qYOSH-}E_^̉y{@$4tn&0~˜n@w:]q2(-Z̐qY1AeB٤ML3 \EVVC1ЬfiT[f%w$E3p X&<P+_ 8I8;o߱m'wGzکໆ/[)khb+E:4s :z|Yp~4@P0BLgo1wZ0]aӋ,U)]EZwΑ̌4U!}Ӑ#im|j~(xv%W HPmw$83k>}ܦ5k0j@VEh'e` :`r ba OF$?%s}YgSO2L̢FzI:Bh%ӸXvs˓=)P^8*aVmG 3\Qݓ8>p3p/FJ76k,K6>Ps-(]gr6<3G,BUjX?2R^F '`8r{憾M Y$|4؏1ڌgg(_g,u4:7luVfv2lPr/f%G6ǵ͕7 A` 5A)e/]ұeiy_\sUs BD'K-rHwC4.SD叧mkA&88{}Hv r]d NvOɔ[0LHR+ Dq8:Bҍ1j; : WFx wBF/)hdgGNu 8 hp& =^.ʵ,\5i:o.kd< A5ف7Ն>}mFnӕ-z fٟN3:yUUU N1q|q׈LB8blI)w,Q,&;bnx G>-l54Lo&@29突xR1T}#r&VA,rM> *)LwIs 9[/zP-b}2F! xP䶯^z6Ul+U z6[~ eƶe%c SckV{I٪EJ ]:csAfC{*Ϋyt-Lp/ŢlaN+*۪ɔ(V2m.?cQCgYLkhxZ D{dC%^"!yz rj&=\;0z|srr |{5\ jt.-PAn]qef?6SUMe? L>Mo_,2)MY/Ͷ1g B֊:-c܌B"ONå!we[nk=/-7()#ؙ6r "X D~TePL0DJ'v74Ր8U岪d- HP"-dy͔r#raϩѭȵU`,7u9!lnUJeq5|<(LZ~YKhRvBʢmWIesSX&q!O-UlwdAB`|-,jלʹ1/8Xj1NuxiBug=xh"mT[JE*뿋#-/ǥ7LSdpFwm拐*B~*eҵ3yGuaX:lb CRg2R̪֚&׿xNTbkCE*|g\tdޒ.[Q!*5]ԇ)4ɳ'G,\#m821TEs2?=w;׆DE Yw`~I<˕60{U1zbp*A% ?/^fxMC{wؼ9Ivx4`_K%v&άKlSWa":pz̄liS܄gy7H&  V`-eU!ϻlw9޿nM>&VJJ&0- :aOb5sK1,{HҍQw2%cVՌٺz'\Jivlboփh0 ,8涄v.ej$qCd`TXL\oH2umjݖz;hv&L"ͪ3pw,}9h"/S]R D7LDP|-*ɶN뙉.;cSFJx p) qJ q4ߡH#P ,&WLzgPGr&K=Z]L6ܯuH_;h80bqaL!Jmo99[9/)aꨛ[L25ayXN1)3 I\UW |YQTʐr·Ct ӣ l!,]`1( j*T/ G⨀C't$׋2@7cABىۿi`r.E:{ެP*-$U`Z5WPPU/)X`W$QLxK84gCfReY-VN`vRQ0ܳEX4.\1ʂ'{~yC;OpYYU*&[g ,f&dRƯADluNhZ}u$!bd1deG-IW!T&L*)iesBLj\8=xa܄W T᥽ilȞu6wkRy52ܹ5<[v{p;lE+L1`5(MrJ]u _W\&?4m- e9/Qߺ}եX6x_Fvl-H9[%UmSnߴ{*P8ǝHO>@j(=]* 1S낎D{`*U⧂k_\#(Uw%H4&#t<،&'dg[ፌ0z0\ŴKR""W˂ '3oYMth~XʷjaHEPŽڤx s<ӆj~zm8-0(I <{c.)jIΐ|iBfL x9BQO?"o]S1"g֥"ak&@t&`v*CPjF9_OLK-*L 7UYN.&kcSG YQs~ V$5\ $A0uɁ+f\Xįl`$HrO5$-0ޙzO= %GF SM6fplA=XxTr sW r~vfqe *XNULUWz=}cCUYҘu;&&4J<~=򰊏c6#n_~ؘʮ `olgvhۡ~Y48~7M9=U\[EQ65GdeS,+G5V>VÃh"Sk|5Zi$m.ۇΥOk;M1梜ZƘ1Eɽ?_o9: <|~m3XeSlv@0 >8>} \[\ f$ϱzlGuX[^ }H*)J`5X ^׭Ga>..ͽi rڶmb؎S2XqE '+SLJ" ڔ{fׅuB%PAx4<,v=#CZUkKC=/|izvQ@!U@ʽ=+VTjm@8],%5Bvr (e(u~]<+yIM]-ld&% i3IMI`b@1u@O8rjI#AٖyT/,#ݸæ֐-D+9q[*&5K^2%(תCj7%$Zq0 ȸv76!bDjN@YMe>_6/4s3_).'8񆋚g՟^VQT|Ltb# xߙ 0_U;kgtGw:g [P C$'uIm'/3Wkm7f@K Nz=ɈIr0:u|`p j|QvcdЪ6m ]ODL}<2wUdiX@MYb'lpC~HV(}EӞ~_.3vYp7i丒/ sIJ"N8ɶyAָչIn!9W|WF/g.@3`WzW[j9]N`@py$as!Ϗ墜EEr靈BI퀱bQZͶp_(wKIHCLE%B־P]GT=_>cMQvz{N\`F:1'{ye{53N]\ p))CDlR9Wl M9؎0=9B\的&VDc*񋤘لCvf%އgc.7 Zg2d 4}_홧AZeK{ukְU,ПQ:{ـ{&Y$J[1H?x|<r rAvZ4`O=mW%"o`-d' >Y-p,'OiVo_4+#7}O-"rmdJPk_7԰/Ns30Rr"cW5تIm*].}?M. mJ?׃_ <ӾmHƊ ;K&+B9uzبrjK[X%/?^_P#W} +d}9M`o{ )dj9]7#ym CQĨپOϸKQL 6*`ׄ4('(Z 1/NumUS$I-\}㦈Da.&sn:U&?VWH9&Š]{!|/8$׋1p|Gbqڑusd©L+Un0.c0\L85 HQbᛂj$w2~>@ޤ+zm7ثzArc5q{,r6︒b_[Pr"4 [ vHPʸ8;&74}?q}~IIFH(EX,h"ѭjs\Եx6M14 +fKq1Yw!M|5 RJCQt3XH2Xmt'~RFYlcgRoxyvo#oBJ;^0d i`攦{+-Y1?CV"pؚ$@*? w[`=¯F3Bm1𵑖g|˛>KJET$g fU?=f=a} =WɃߤaiXAf\2sdnaI#\ V4f4qbv8$*&⻁[)ڱ_7?Dz,a,*tuLbv`b2JpmSݢvvmv4c|*n~  8SIOެ5<']Yt_>>&Ί#D/j]mٍN-&oVw\? A"sH 8\:" bE7*ڴ|뾢̫FV~){o R'LTs]YDķ&TI0+)6 jNcM.H"mn^`OH v5D -nB1gXG0/L0zVhqINPӄ* H%, ū7Ltf1aA/{ǵsў3V@f1dN=F$`wA la;Z)у0{-s<\DGA ,Fܯt;ڰRIom*X [&Fmqca:ؖa2 @WAd9eE u4|oUUߢ'[f[! AWw;7uUjP \m#Vz?~#IV^~K5d'阫[!;ݠV+;Gv賧 Lw`FtNӀ&-TyY.C`yMtQ7%zj&`0l ޲_>Aq|9ӅSxwcI=)ruUÒ?IwGD!̊WgLivRhuZ%@R9$&A91* e8v[A3_&?a܋ >hu?fJZ X Ч} g4S$\H{X7Y0!wRfUqƹVΈN֞ ('hq,y'jQ{ɕt ά: m\vcYSZBh8+:͢z(˥ΆfxtP^,ܓa .wљ"*8j#_.̅Ĥ7ʄ-*5΋Cq C'хe̕`JD]"4?/MOL"l:aCkY ,9K0QL,eo jnT3k6c`\`]Y]P}Xًs@rl3 /p5WˮP I(SjP\O+'rzT:eEiHx4]#qB>4|VԒ[>JYv 8ׄlhn5s-أW(|y:#Q%CӐtL~¡k~XNHa$}yM棐t]3ms\Pޡ: \/A|Ÿ/|P~Ke՗ΰcp#2$Չ2.BJsԢ:&eV?n ʞ oZPw}b{E-!wռa9 A oO{FY/"[ɖp$lR]Bj,I2)}T$!Z<G:}_|86 pc%Ó_ ZsJ %2 Oށ3v+I#"Rl@cܺ*`F./0rڷƁnoWRXO҉X8/k &B3E(_eߴIEBiI 1ɤXTSd~ԣ5a2O+": %JeyAHuq6o6mLgaw`ϡ[{RnVtCl%I֥(+V% (Z_ dPA\=3~刿JQX%6&< h)~ ehJ\ΩWXFm(шPZ y+[~s|/JV,v.s}`ȭdl m/#7Xuf5. C44Copi25ފp̌ XMgOݜo{A8![f $Wū)L4Xz#䮦;*<,ep=xlZ.l2eJ C'Lʍ9cY^LO{V;͍}ɶ+4#t*b_Q]Lh2c܉!XXWmClkI?$88)~J߫nև갾c!dʓÓآFWǵ^9zqF#@"@ ^ 1k8b̩QS sؘ:PFO9W6aT!mQb*2-~+D<;Ue,Pڦ} ƹ~Mz|&W*!2QfZ9&oG.VzL"!ŘNBZU "k C_t aߕn%R6ou f@D) iPhk&Njxi)LWB8RN7E -ĹqSx=5J{3<\%1Uc3KulS`el]< ((ao`8N0aiCw`k=ØGH6G'w AxCc:OaLb *aLiP88s5i7 $45}%B$he-jxjԐQ%9GLU>P=BbU`N^gL\RW҄MO"+$˻UN 铈JhJK):^F0=#RS뾢{$v^=;SV~@dEyʥ*2+zWUMk~1/9(R33mb[Bly`I}@:M5 qEzW`dp妄Hv7OGjV6}oP:ڲf{5hv?vVKEC;sp VC^/-BqGYo["&+4lʙOz|cnz9C4̭1Q;4VSm&D_O  OF c6xl ;%~Q^WkeH>+UgPb  : qLFydh>\U:Cy+4Fe)л#:KUopܪ)Ct V]Ŏ>`NOB 4?cHΔ>M4͏9ؐ?n{g&|*\1CH=$'$DEs(U|5$EX)Oo#.<34*ӝcMr|%JPOTa^po!+YIwLڜGloS[- Pwū߽,)9J 8,#8+#[p?Dߧ޺m'pqX%U.pQۙ8;̴l9g} /,Qn2d>=b\iK# ^@­E|aBbI (M{bc8 m`-6d$9 `nГ[LKP֑3<`h׹H &#DsXA'r8CQfZ JSSLiV @ZxةuSCWrBܖK!$vm)S]]`e;@yќ֬4N#]O՛IM8noZt=2I=B$W2|Nf jjGw0nsM; 7d oɿRZ/t+![,Hff?.fS]ݦo"Wp?37]HV % &wǛ}a {Azd(ޮ|+TȒ%7iLf񋖞9L$H!cZБǴ;e',Y렕U61tKzJ:,%0jfn]JgV3 2274" 5@tn%O(“!y|2}Kb (0$`oTPFuu$|l1Io=IZbך'hI$sr6]\NIh@c(Pҫ2zK@M3W8 w/uaFc#D`_dFݩFUÖM&ϵ;Zшls,p.F~ r&aԈΣїiRTzwS,^"LA:WcA(l :q{T)v-^t%9{jH]Z r2NC9EUy_GCcsNg8rt+yC t0:͵зY?K: BzSDsz>JH~~oZJ˛%ͻc 79u3FO$To릑o.@t@7qdg5{dJeAȮ˖:̽|c9 ٫3F 9j\#Ɋ8劢h. yahz6~՜ipS&ĶͺVI$6& y #OpEb2r3V]!V[0(|.NkI:UMmMOէܵ'!y[»%x2|5]lwsI eoj|̄3@hn%pt9i)(MAa$K03B-w(Y  T<ֺN;8roZ1Y,Z ^ no+_*@$}]Yq,pci3uN7|v 1%dyNq.lȸ,FQpBmfِ٬3{F8c-$CfۀXÏD?9Rޘ8lc N՝ū[6)5H4.طUhp9IUkR D APTQ-#bs3'1.R,0xtJWӛ3V_pItM&OkƟ/X|pSK:ފheR ՛M{?ǷG ?ASWH"{uEc]WGP9Gj0@nĚIE 8/Cj4u"VF`{1\ٜ P [p(p 5}-|s4NNR -E#_NOAꖚmzb;cpn40ewr/bR& xqS/$0WHO%w{RGp:p:'\v^ 5UQL'TCM:6dswROV/ggZq1%љĈ DŽ/ݛK!6 iتR6/G02רZ&g<[0h~Lh9tu”c49(FNcˍT$-)fUkfzG 1J96Z%N )h8*5M_>xxDlC/6* +FUhٮ*^~z0o3g w^cݘsPjzಖK]c:Bċ;{+OSSǢи?6x(g$ ý:]I`<Ĥ'Ԝ2=RNgk\y)sퟭvvة6dk\aüCM!s"6^ aDW~VYg}tO_R^-!9*4WP>o4bR!Be)hE*F%.]L`\\=I3mp`)+_"VMHZM«>|6Qp8:;%=JT ) {C:enTt6X@Ou"η Zl)T72m6|"ₗ4*.@o}( J} 3e02:KU>[1ϓ^g`]v~7bcy=폜4- $g/~]BT=zy7Γv'zET?EH1azF tTRCt؀RNg-#LOd_h[?tV7KEQV<1eA (䯔0ŧMx$mdvh0QcT "|T1IBjSDC֒|ЉBAj3c.gD&o2&Ѿýr|mhbp1& ۇoggD /Kb50q~ET@^mfz%k2GV W"$հ7d,FaԱ} O{E6\#\EH><~b{>co'0{O$k~V0ZB* 4);0&\Ǎx^4 %2·G55@QvڋˑP:3[89p\,c_"K1d$T=cy2ؙNGՌ|O {I'^hU[s鬏3/KTE@ . 6/Mi6s)|Ffp'R)utEJYm\ ~Adm'9]"iҨSdYgi8qSyq!P<@!Aڕt>iq0%0꩒˔lE8G'*#۞iAr OѴaη#g;Pie^)e\{^ BP0b0V0!oOS1a86WYpQq$4-U#&T [{aDjeǍ) 㩥@9ؿDYJO)`=X.F%^j@e :*:r'ߓ@B$|q2 "$ou=l1^eB]HhnpʧɁGcLk<)7[ 3)ٍ8fqvc ɘqͥ wzJ6D_.>QY[Aիd:#&W #3gs&sP&qD_GMXUt(Ao@OS%g!/uˀ @_*7q[i$/\ϕA-(p+\qJDMy=a:)qmSSl(:x Ww_ebN@P,JQ'u*z;kKv-""4'AK_Jݝbҧ,Aˀn(Jb=)?Ędº3N8$ YOtB h sƗL00WpJ]]v7_y(&{4[~|Xٿlʅd)-X&G+4ubNB[xٟǛdMNdQxLmSéū(QVSqa2d*eq KG(̐,I2m"c)˲T~~1{xc1K9h~oUdmYj㉊Z}P͌8VpdK9ss)^fU )T,E<+9#A(j/n&m7*5ǨP!Gy9aExh՜K;#ܘG:,n+W} @Ot[ 'qS? oY(yvW38S]OThxȿ3 $^ɬl@J'zc!Jh=d;`Y GUaWL- K6o^fXs/&F=^NyI1gR-NPxCR#E7eiu+(ܜbNs4{ L:A8})0a>Yt>sZJzvfc ,6 GO4B +"j)䓷O8}Z22 I&T˪(vRJ"M [a22rS`vZ^R,)gOp:~-\\DHe@j>db\#9>uW7 5\ -ºIo1Ȩ4ߵhĕ('v?÷n]k.ce20+ث̑1vOq*sX۲:oѾX+ۃhh!7xh l`gI rMc{'I`A* bb*n AILWӌJ)Mv˪nj@S0nO\7 T(uL\@fpQeA#fJ$Wʲb ^r [ T*R@@In]*&)s9+xDm eո W>,OϏ5tV"Ay:% K6t7֗". foAP,Z\${M;z+j,P:to%d!@ 6i èYx !T2Q,Њq XA|@ƨxvV!ea]pUKPJf@{d   fSԁIrXε8uXOܼ7V2?sF_Zr A ɤ *f:"̉_5:\ޛ7 out-|3ePwHBIU ̤gM:7T{Y#-6wjJ"'qC3 p7-L^4EBnUL]! DiG[m;Ñvy"(^}.0"wb3cq~Y 랚b{Bh +W8'^%W(ŗ6Om2y Y*~*Toͽފ6gQ<{ Pb( M%^avxNvm#CJBϮ,qWVED`QI;,S{|ƙHّ@2*:e߃K'2 \MYtʷfjB8l~yyn#7ſ[?m[ЫGkLeP@aT?tXe2H#y(׽5]a75Fe"3ñϪ6Xr$1i{0=db+Dfۯm5MY0 *?m3!"Hu~N>p Yf\(6Q* q BhXXYkFn~{Yy݉<^01G u! f:RNNx:h=~H&<* ^3҇PUWn@{X/;zp -O5 %S߾7xܪ=Nvxh>A C1^ #D!lFjy#0DT6={b!>.N4M48 H. J&);ETP 6*]OB7uiaMvɽr.}[SQ9b̶3 bVK8=O?ZNl>DjM)chHr}>,!ʳiN # Ѻ&G  S2f{[:S"lp2maxW}$Ҷzk >.j.~b)PWΟhYE RòqQi= s!cOTcby F>֓Gcჭ UGKS@"F6tGu}VN;}M^Ri, %e!%*ğv@ԶMq{#u@M{I׆_$շ1sc^82Z* w/1Gxnz-4?fÓsC'ۄ靲c+.FGˣ& 7Jw&ȫ"]7_Bw@ihtñԍ̶H*moIӜs&75uI2~eP{xf)(w7vQ>1>UUGvi<d|Eۖw}Mc |Sjq ]I{u.'du_Z֥+o'>uB- n?*r)}ٍK94G\V?,J|d3Dh% ^{9#(mj9olM׈bnNP\N{(JEψǓFG}Q~=EcȈF25kU8/0T"}0_rioPҤ_9CҀÛbh*o&zxaI9$JLSRiteⵖ?>$a>8ombaТTuAiMFMb @49s ƃ\َ-ǽtS`mD3o'!VMBZ*41%bo cYNLj7>[٣Auw['r_hϓMԬh3ZC-J^%?e ύ49 DL;na:E3Y;#KYW+u7Q]lqc TՍz-MΫsJ= XZׄZG%>Yeȿ~ڱ3LDwJ7ABs$)s*)H#LVxR3k Jh=y&+yc ä EfƬ?Q<:Iw^o6|!# !#Yr䲑[P"(s]?kHo"K?(ϑ['>6NC3gogD銸߯dZ|(>u)IBpqSֈRqjU_*]ԏԉMZo'[0bx&.DӢS~7#bx촍]Uqm.V ӌ̓+bǍ+Vj_)# |OIsJ$8׫\VԂ1VIIɩV 6Zpg;ahhBvs m~%V2A.xG&|JuAb~ .a3ṓx+߈fm@bn.럷nO;eͿ@2?<N>\ǓE"TlpbJE>lNX-/\?n[A$ߖS͏.n*gYH|֦#a{,¼Aī">LGn2$o[#NV#hi6*RF!Y=7%8nzU-.á8̳O [N9FHF7cꩤSQIyz@K$}X`1. ^B4QS|n\ĶHlI $̕}|έg؝pG^ĝ:&x #Lhl{պqLD$ yŊ\'43:ok!h>aSCֈ aQ mCy8\s |]-Gu4 WtIΨԆmv7=\i/$%ܘ5b0w&K? cy 9CIlh6}ִRq$NT?>UiCD%KА_V 4EWDXa!g\GbڄK̏MzcGeM*$hCSJtp'=cīxǰ5!Obqō\\U{<G%1_ѧ%Rs y -.d }鹘+yOJg~̚*Nwr/mxY1Q1=L d zf4@",G;eQ}X7 lh*L#^ۄBqK4Ujå`[fSF2ŒlieR*VV]kQ*/7h6@ G.dX q> mV-) % 0`#d嫜ky 4YXh`C0iCcze_n1XgLiկJmm;^ "pw=PJC/m 6-UJ M8osX/a_@S}Z ̼ /@L=M\yYlɮjS(h>1H9abݘRPK3zS}kU2f_;Q_4ˢ4PEjӨe5k#G &ν˓i lYKnHܱFZNi:;k\y`O&1Їo /IFi{ޕwvZ5ӻ 0AUZQZ헒`jry䖳5MuEFbi ;LNF-5C^PS('M~sG<`uq|;0yY rW F_  8/Ja0qf9FBYAUscȀ TZRKa]ȵ;ɥXr7g-?[yPbB zj2[rOݷㆡ- hpiyA> 1df>.,1q%Й$ ?"Ԓ?y ڬ@\‭;f22Õ +3\˛PZF*iQXM$JgID˶lTDoqc"n!樆7?I jX,֡):#X`1r)iK]*Gmaag2s Ȭ7!Ӧ3 O} &?i7ð cc v6hݷ&D֔0K)>cd6zR0w368(Zw#Iۗ+k(&RcFd#!{X_8peDYhi?NHfL'PE8AԚ}%mzԚogN׀)ʛIvpԍVAr(Pz,[oGr#<ԒKaKR ʜlAY?ߊ=.+Ҁ5zȍH qG⋖Ѥ$鄶EEQv)H4LF&+YYc'n=l,Ԓpg9YK[WqVp6ⶆV)A4si"A/KSTTQBTJ[Vm*H|#vDwnjN7Bͦ<`iVՐDkg)#3߮$܉I_]]ezm#;\btֲKMvEAK~eaa.ܡمXp]q5=#bWD:=ѵc8O%vEP؈WȚE@H「5&-&La2p/mK p_9]i˨QF0#j}-Bq5Ls Cg7;M!dxrXw z$[Q|rܿtysS5K4^TDb>8(/ ي U`XLELAa/h.Q$ pРd'rrM`"Ǎ*>Ҫ 07x:Y$eW: @: \ F;m{LpOp-%3=Ry!1H-E%xP .*RcȲw[v1eѯ9x.OP {m 6;o`'R'KÀJxc^CH`-A\=;/W=BccZmTO ˣ#qy]:X\#^b57SsesY`.*]qq#^:d !J@~Ư-g!n $uTh g`AJyo{3{aU+<@FH4WْIN ?YNջ;oJݱE[Zo1csG%DK$phKNg ĮW؞ ("i_^!!(-=~ þ1_%. ޔ 4DN<-vܦ9ȋ?בQ_bù7l"hLwV_rgZp2έ)|fWŲ8vozԧ)Ht)FgᠪGc=hxԷ;#H.4.u _,gu(AYRAY=x2r&$A'/&BJ*%߼ڇ`#r5$C8}jC7/QٌF)ͺNYr3n55[ԴH+/y4 Ef9/,,i^Vm3Py&Dj0t]FtâɢX^#9gnOn26ALj[g8ʜ^!=Qդ}$ּrWNTn=e1 np{2siH홣ɨ`4;1 7ԽSE| b)ضʩ4KsL=:~ٌ*[phri^^L^&h8 ^EL(NѲ\!kmyV9 T[j:s[o uZhq~ &<3[&+O<͓9ܶPP r @^dQ;.'tܗ贖]PNLMvU &RA6{dz=cV]7mh1ؓ64h&i@t@V8D35ќ0T6l0ClS8¥k/ `T"|w:-qIk fNjj0J 岔j5PJ/dv&f-ć5mGkZInG;4%X} w`2>1-iV/L;8VtVKIf-ˆ=.Zʽ-N<(m'GLk߃r5(_jV0*`j+lNit*r7/5<2>cb ?hKBfN#^0X}?5e'"=fNbU웽F~4GO ygڵȃݢ1lKDChQCRZwmͿ4?3RXS꤇!ѐ[|omf6Ѭ3T|,L>)>r7{55Q=Fx8-,t?0UTBg*Ĝg[h M/"̤gC&\iϑh?o*iWFIEh.1^ ˺!T7?$51ڊ l%V[ .,c9a VQAPȡuLNsKzlyf_c*aP]%]B{\qpyhmA~PfW>q4SR M~}.j28J 3g3tEl8>* .mۗk+D+%$YNi[g4W۱ =loF93{knيo_ Vrj{Ȣ)_v 0asau],jT)dd<-tw,=7QB]ylbz{2zs+˵=YB$ٳD7^u?Ik91h@*.˪pm˾5XJ{ dc rϔ0'_-dTA|Nb_Q1~x*@MYʃEG@)aN<_"jdO!yMFq?SSXGUnD3v6LQ v2*VlVԑZčK0{5=.,if񫆄&>4EL+u򲶦1pbxګuw9g>|wZQ8lRO̬f y2HKwe\+>ha{R `-+OCP=Np7 PfkGx0-ɚA`?[Y;q "w 9g"$g;;ò$_j dtM!<|=+Н^Q/jbZAY+}J]+W:P}I^;'hP.p:^Q0CrZ6OSs0X**0?OS94[gל-i ]gܧn+ʦ<_KSh$BNU=26$] ͿY;$|һ8GHMBp _xSL<)Q<4=Nv:ċWSjVMV/6Y8iy Տ4:zw\ Xr瓗wf7u ;4[x3!gu#W(KKu!KZ0>r/; B=LaBwj2If!igw#@47PcNInr c~*Ug>Q.|ŖT )(6؉_[и [JukEVjHOڄIiG"Kb6YW?GWC ux-GB6PoV\0 V۱L6T zJc!k3c28B04!>n,;Z}o(m`r ]}IǢGCWD]6ĥIў=:t6H=16Rtxo|He ZdfHr`?r\Ew?SDaaO^GocL-K?c ] YJr51S,9^z=5:bP!eg30۷Q"Y,r\`S oz43~h1Y+~QSk`+TxRC4H*fL|'5р:[ؿ&:I?Z[}yH>w*&5ˊHTK-rY"4/T]My$'-h\f-ZFЙ;0{?B۫Rɱ%J2ƪB']nu[$f(aT̔)l!`S16&=,8zKz:> xUb^[ptc}N;%TY5uzXy"2i}9]x̾_uv23;: #!ץlSIZMV^h{~BlS,zh|ɻ~xk Eh04;)?1y?&4Slz+&tcQͨOߪ] w1庲dEvFګ"j{r@ہ+Jm )zѰX% Y^Z 꽅*ڔr\X8z6X.ۡ8BYnFѪV}@ȥkJaJh]"_A{c DllgG'~v=yq$uZo.;7!aR`ZMmC&-bwaͤM"aSFBm:?PsTUd5-1(z$6M]4Hx@bi|KX-]tuѩī2^7$Zg3"y::5o `70l ]'rۨ0ҿĸS`ݢt|n 5 d޹6p- T?ʮ{Q>0( DsUJn]{ "! I O xvj+VWThh-V3O2t?QWEwn4D.por;BzK$m2g:Wjw2{_q?CMSquy}@YNw^D]zR2 ( Uƕj"ol7{JmA9AK^ o%ƛ72CϹ VsSiȴg^w >C=g{㏱hQ!3TmNj|&닆d6Б̉= >g3#ժ6n}ah NJB8~*}vb&َ`lYwl@Dj`1tdzX1JIt*gҋt͒:6 оڦw&}C_0jFv@iJj^xWQ&b =3IVഛ<0gB`\-MP`{M/Th ]-`N etd]~*ҵqPg唷`ŎȌLRS ;ݫ g) v(:'ծOo+3c-U8He]̊ f̵-}gM< '{Du;qj"gx ,,2x_63 jKwį.vj3xfGۣWJs_l96삪jA)2/s_r|z9c:fTi5=B7teݪ@ %vY2⭟]ksW0>+:ǠFOB6^ Aڬkkc"(j$iާcXeȻUdYⳈT^wNi2bł#̞v> )dn ޟ)Ï- +aG (ϊZ{=Zs#-A84;DψJ9apNf+| XÏ^]!hH- {v&8]Ei6o$:v<;݀~/C*oIwyۜ z0[p7gؠF݄Ee.#GX*C? `ɋ֪ <ל# v$3=}-F?55X|VEVH!VFocy)$vdq0^D͸ Ucd!y%ed<LB)<7917EF뀖^c1ݚrt/m3qI`Dc};VV|cEPPO65ƁD(. [/dY_@Fq믇n vGD Ta =9rښ&Gt˖43E|dw΁N|zPН3l1IYj< BlY4SE*ī-._$3._#gmk?ذ<އ}`ffaꋜ,gוBF54!ﮉ4Y{$sL#RpL3 =EPTQK M3SPpu[N6Sꨳp`Qf4}g" uUl;>g\Ȇ#^3 y;DM/ f(` RrLq%_Mj7$\ ˨Ň}p^>??vOl]hD=.q?'g8sxҭ *A 9aYݛL,rUnELI)=Eԡ :δ:5 k@!-.k#T|W;X 3ҎJ{~NXCYFy\>r[E\si ɤ>D}5 mHAл 0Z%`ꒇ|PQYAK9jg W^lGHfAycJـ<$Cj8hD=Ʋ6k ]s5IX]Ė Yxƚ=wQ>:gzF Xwkv[E}(r j- # 7&GU]Jٸ( n0?5+r+{ώ[WZ&5C29XmsfPMԅ1`Hw@py&bJn$dFaySwkÃ"Dj1Spn /d3ScP@uaߡy(3\ TF=q>6(P!^~='_8ݲ$g d;{C$6ǓN(wX*(ӣVV 3R qrCUGpz))+d@4VNE`p/|ɻJ's# Dm-! "6ozJ4ܶDB|k,25d8o5N*֩6B%ZhH1l g]M&=4V1PN ڦ*Ȅn -syAtN';БgNafMnY"_Ml + vAE SKE.a*} 8+,qQ[o#ǾhAp@h4wܓw)F!ʾzK]d٫* j /+Ahdg6A l1E@3є_ wZ~A-rh@uLJ1 ꄪ=kLDYO%6_և   ӖowI6Q6,A<JVgbBrx (3L63KrőU5TW s䒁_ۉap8n,OKzUȱf3|U[X&.#/<ʙ~Cvm)IA:ov*ax`}pPa5'a,4 vQA*[Xe5kլ7O4a6$7EBɮ %#,nUU5Lh!= qu`,.ivaS2~<-y_%P]`ҏ .vc6:z-cdcn*e'V_߭MT@!;%%zbOʾo⎑F_wRLW2l\wzS8U]&*\ϓ>Aeu nճpmHx"y/N+p(M?8[3!|}Ŷ1Cyj D(s/s>P\qf~jA4dd}7[G.!i`KCz6I/E^|gv|-eBRފlne |pM3x)mV$C~֡l [ϊ th-d>#`S>׌]h`)K ,1!U~ܒ$ e0x]>]q:f,k X# -òw M}o迖P+ij`շo7<؋JV}՜[`gPƸtF@~f?iNjy:[(Pto|(.ߞ p3ƶ7vƂ*K6U'dO@Rtk,\W<3&jQ e]E8q׈НP鈵3bu Xq֏0p86\6fWt"%1OX9Is Wq*e*_ rߝ`|M`6<|KOߟxZjc&!CP#D#>L%yI^Oje(˲ܰ =$OHrbbB$d0z2xHyanN֣Vk\0j5p?zk8(,@EV_2=j .z{Đ4,R94_|sm'^^qD7մ&vcq>-䩏ŦBJ[B:(|!A(moGv'.=85*,rTl2o+rN꣊L#D.<-lVØp9fTߵ*28w~D9kS뛡v"'xe@ Ce~VU0 '`ݡf6,UyUs<6q'Z%!y-a$ۑ?K0O^;rMJwpt|/2[^BԓJ"_4ʷ A.HY9;H&ካb!m[!ꉻ: Ubǡ)QYaV8p 9 u93mG QVKE^S` M;7Ox7Ld($d; eko@%3yD_j*/>-йf)JJ8&48!?|uװʑ@t>_򲛇{N%83 ^H@) ̏% Ѳ<Y{0#kr$fkY9ky5$ֻ?`|]5 Q,f9xH'$E_ߐGټe7eo$jm):R Ne1sX1i@!sEF,gKZ[V^}Ͳ(Te 26flc|qV-.GwLu]|h2|'P<ccw{CWLdOT4ErHx_zF"A=vO+ |hG;)(>׫O׷`7幋"(^ ݩ=rr9lWrc Ed])qx, z/9cȽ( fQv, ˵ٺj@BIUH; @Y&E}1e#hWI89-%JJiR[5nP'ar N]Im[;sU^ fTT:`&>:X 0 d`a,M";fCY`cj/ lb0B6Śqutx@q%$lxR#s}2&d:2,p!"LZcLFEFzsv2, K:ɢW#Z6LY2邏O>[+[M5z"a+ |K6F԰x]7hF.NE G<89 jUev6]|qͮ4s] 4%~Ҥꎞc~YN*9CfDۗ˺,^ DKщ/k㐇C4}ݔȑ}U;߭uݢ:M]f5V'tx?32o k7}m=Z(/)cba }¥ YZ