qemu-ovmf-x86_64-debug-202308-150600.5.14.1<>,(ĉg p9|CV@ӧ 4\LDk#xQW6'zJ1@T:M9x1n ڀfoMҟ{.BLK$OQ$%7sFadqz+i%F7=uu+jƙZ btDm̴n ,]T¿ܐ^ QїE圵δ~ۀ`PHXMF:&H[Rg$;Uˎ:jXܵ%ޜ$PO0+͸_,) ǡay6zG,*43߃uz>(>;d?Td  . e$(48Qr $ZH$Z $Z $$Z $Z $Z ;$ZH$Z $Z 8 8$Z X ʐ ʨ ,( Q8 X9 : ׉FaGx$ZHH$ZIH$ZXY\$Z]@$Z^ bcDdeflu$ZvHzPCqemu-ovmf-x86_64-debug202308150600.5.14.1Open Virtual Machine Firmware - debug symbols (x86_64)The Open Virtual Machine Firmware (OVMF) project aims to support firmware for Virtual Machines using the edk2 code base. This package contains the debug symbols for UEFI rom images (x86_64)g h03-ch2a OSUSE Linux Enterprise 15SUSE LLC BSD-2-Clause-Patenthttps://www.suse.com/Development/Sourceshttps://github.com/tianocore/edk2linuxx86_6488ph kHP&8w7x @ 0Ġ @HU8!}@ _` @x(ҸHx@ Nx<HP hx ΰh`H`HFOxnX(X }0 Š@ 0 *xm48`Հ рȱ@ynxP0UӨ 8 YǀpfXx00;h+@Z  P"Hxy0V [HJP 0| 988ph kHP&8w7x @ 0Ġ @HU8!}@ _` @x(ҸHx@ Nx'<HP hx ΰh`H`HFOx&hX i(X }0 Š@ 0 *xm48`Հ рȱ@ynxP0UӨ m8 YǀpfXx00;h+@Z  P"Hxy0V [HJP 0| 988ph kHP&8w7x @ 0Ġ @HU8!}@ _` @x(ҸHx@ Nx<HP hx ΰh`H`HFOxnX(X }0 Š@ 0 *xm48`Հ рȱ@ynxP0UӨ 8 YǀpfXx00;h+@Z  P"Hxy0V [HJP 0| 988ph kHP&8w7x @ 0Ġ @HU8!}@ _` @x(ҸHx@ Nx<HP hx ΰh`H`HFOxlX(X }0 Š@ 0 *xm48`Հ р@ynxP0UӨ 8 XǀpfXx00;h+@Z ( x"HӨxh 0| 9,,,, ZD( q7,'3,!C4j*03g+---* D+.*)1'k'. |.A\P53 z0 Y-%_ +c/K'b: + W(.8('P '?%E`QvA<  >Ub8 "  {@^fbAZ)k:_ZW#8 t LXI0=1Lxιt6+-hM!#& !3& -5s)\ LJ2^P4P$$.}V>L0$;6;j\-B=x Ew '{U:+h?{{r<1 RE!0 3i ps/1(czeA{1I!7ZSRB2}3~4*<h Ag(^A24Q.  B&)0#EKA R)8)Y\+5pv B-3 + x : < /O%;t  &\Q|ty7w h.0Y`v-0" gi 1ZY>i_,+AIHl/9%#). Jb cl% j6 e 1Jou ^diC0J kE.=%10 &KUW, uL:d9^a jUG4!*|T.'Y]+ #zHz% # "'@/#q-?OA/># mF]F.5,rK /*4#ES5:9N (a 6_2!& vk*Ama >;*"#o=  P < B;$V *a /4y6O  UM 5$!5f6"9:M2;@} E T6 ?$M +mM bw 9 mn+{P7?`08 'r%s'xʮ k(5C,% _oTn>aYUT1 *H  2bJ = # > 6 fh $u' F>0)?2%7#;'vcJ}2|gv0R &7t m! )Gd P  86 sǎ(1^A>%OIpK`n<+J@G"HJIj u )[Z!#A<B{S { 0C d7[ %@ 7i !h   T3 z%\o0  8  LF.] 'צAd )c.;#& K$ Oo) 7 "!#7r/-Q-@] c'x $#6#8HuZ 3 ""bK = # FN]`AO?/90!8VN S('`$D2]-'/&!hn  Q# 'e mLgntL! kBu 2]u4g-3 :G04 v^;v7epIlG\.z b<<^._-7;! &!=H$S. }7A \ :VU6 (k/ F !eI Wi"~2!wn  1 4~[ WBU.Yy1h !C@<- `) fc, z U K'U@( Ad d:"!}$#'G3&=W~??r"Q A& Ohu]M DvO/ "( a#`INCw^3Ij``T ="]0s!M]a-lF j $D~e KWuNt~Ry{  X  Bh~~O~A&>6~2 /G B{3P.2 # %. pQVG;R3 [J \zRH-qVfk: !M: 0]"ciJ x] '~*"}<2 d J-    N -m1|29Oi} ;J, (%L &o= Lz#)lA@ TcHqs]8^P-_ )+Ec0$UL B CeoPv_MnP,-*#> j e &O"F d/<!80 A}T ,Pnr"s2&VDLy xbV2CM 'W%9:< =/x4}ug$!>$r %<@Vg 7 -oH7A e#0Y6-2Z#"<"#IO6#S(muTS )H fC~{+Lv]L8>(| ! hHl^%I}K;w *KDq^s a3t| !" {'C* L0MgF 13|5zud k{Gf.qpo/Fy#9Xq7oD:yΛO6)8vF1(3QC?6D 1 | nRV""IzE7HU. ^u>A1YC;? Y,. }Hk"G|qN_1I:=6 Jy 7o64!)J)Zu6. h% /? mf tff{ K Gets"] 8 0(A-,l Vt-+<Qbi/[Aw NZ!! gY$E 4-S7z#nDl6s s &= f O$|1Z%Hj9 x3C] % zhB@L O< f]<7).??O"G F;+=\<kPH"= 4 c?/% z=D 3NGdP">$/n & AL"Q! ,x$0KD$Kj:fp"0k9'DI  d\ uB#kb }\)O Mz,B .Jro nFM->$Q<GQU;w(s`i< OD3cwD00r4,i9 r=h=iֳ61RM*B-;$1@+<Y#Q&DF cH}("aE{fVM vKE%ApXL0uO"qA0q=[&Ki$Ar?;TKH{BG"XQA4""9=%Rx>B&I4='$.~I? &2b -Io/# n$OY$=~X=HQ0Rp@!\ K1(42%n | QMR1y/>v!^w/>-$&S )rz^!WLP5 !u`N"R z@Nypg_4aD;$"& N$#ZoaL(/@F<N1|7xN"$ rpS(?7?(%<d4gxX ]IR'G-*$ (v}Sn([թ"!:,E@d_lq96I] d4w~L%AM!0r#c$t\ !w5*NH<KF0}8=9%%{oD$gCmB)Kn >?x>@ B`oS=L0%!Lr1 ?)QI =BK]6X".c]aWQivW;;iY+"| - ~ !yiC=xQ*{?! W17;|~ Km f7H,oѳ7}1OC4uǼ }4$~hM;eb;)R9-&#FD .TM&6 EOv GZ 'skSf%{F V BU 86  $9 lc+ 9j Y(!yiI H E >GE72 9.;7G&V !T ("  7 uQ^2r_ $*` Mq@   G Jr MDEm pS1oP=^3z&q Wn(oKw% 4 U[7 B?, bBk<& (3 ] F7Yl ;+eO " c " m)~;;is&e\3sM =S ]W !># ]!ge^ N Pum`!-Q\N 2V GKKm&\RJ> L7# / ;߿ 0OSs9l79drf]? HhYwH T%G?52'PDBc *h#H+D wvaD;'6o&x 7~;B~UT=\X)dN^#]k_y;| #+uN3>b4) dO:#d0)JZ_?8m Ym\nkgd$+ Qae ~) 5F 4 }y2 WM )![Gb%)U%o$cEGPqRBcDI5^IpoNm#W KX dGJ-W fe%q/-=#C/ (p >7#6xp(*%~ykKH,5!4 7I!7"B"Y!j"!"\"=!"."!!~#!Eql !`pr04x6)z<.0 #o,.}_k pӥjU)_\=,) (6)0"GxBf Xea[9""cQ%8/B'CuB^-YEn6| NU%6Fd**NHn ) 8cP=&mMNi ts8 l%0 p V) R?v, ON@pY+ELI'c D{ o6/ L )S$Y Hw5(_` *% |zm7r g_ t.i l f:% tM &< C02,Oz=(F)K   ?!bM`R dB;[&IgI.y~E ;n^p FMR@ pW1_Pz[& \ zYk|%"K 8 j%'r *WK p}EE+36zrEP'}#_2 z y+M IW "1 _7 p 'F # R "  [$8i%0$=[E X6`&-UPJvp +1,ekT u$2L VG, sQST)w%)UH 1J: |9G {'o)7\(Dx%$tLO*P61!n-| B-GO4$i Ot _"eI!7>q+p=)$r: <E - L  cOL& 7Mm  BXO.3Q4qo K /!g;?UKE] 7vwEO' N5H#*8CbI+R (  EZZm)],Z9x;l2c+ ] zOq"lmVKvg *E- E!q.: e:&3"d/$ FI*$L^jC3fk#k&`@26ez@sB3xEc !(e-bb)vwO+̿UO/2y\Vf?wNJ$-Z|kBP &&[ ij 9{!<!"lI+EO#  H;$F=t6{$N/?:d x -gK%R0(C] i P% ==! e(PlXKJs^&&&U771cj""""""""H]vNNN}bbbbbbe&wlbKJ7f%9Z4jjYqlRZwuq N%<V%e  *_[ })P|&&L### @&&&!$!&^##"&&&! $!&d### &&&!$!&_###"&"&!$!&L###"&&&!$!&Y###"VVV!s:y4;s=/#=L):+ p  5RlG\(AB>I" ^PKi&"/1V1A VG!yF0H@I6PN.4S]L+YL03@l=c<[kaF"2BSrx@gXCX8j.y2 .,;^?&RǷj[ҩ#fb|n_MAt=z*cScVuLu.[Pε, 1Gz! )\/a/tO%A>j m-X!@I~S5T3zVu&(6(EPq- B 3&v{CR+ />K=5u!K4+=7EIG?K>'!>+xK) Z4Ǜ-e]oGa&8}Dn#r kkS'kV~/6Q>$oVDBRuv3\Ev$6CSj]+k(@[*D #l!| !Dke=$ L,Q M^v5 kp"ep'B \Lk5}. h+`JO2/*C6^^BB(Fh4DixBkSn!ٻco;-Dp /*'!^_%U@!!QVAY , V)¥ b<1\B;XO Wj@\+px 1 J3m"e ~u gIB~sfA/u 'Y" H6K$!  J"T kE91=wl' AQM j)BW2! 2Vf% {f S7RTfe  .L | (^  %. 1XW ,n7YH 5 @od38V f2 E] O O]=rm 1T  f   y 6~T \o : qtT, =S-/^v /f C0p8'=a> ``-p."h".Hei;`@%Nn)ڵLK :*m  ShxqF#&)29mG X^"m{- ,Ks H[\ M xP#F^\'Nj% P9A,$hCu-m5 n 5+'y1{(9 -3o!Gn45A#*0skA !R&e {R?2*[m r17 $3k / 5Y%= r#Ub s*4 LYWRHq ~90L=5c|^26b fh>Q< NVz"G'UC V_PS@=-/awE !)J/Y8 ?#i0P=4(O %(. T=3Z|Tg` qB,y Nd, 2),=i@4 W0O`?z. c gB3@gc, %s*U  <93; %9xfzV(}5&,;$$#r7 } 92#S75Svoi*!xAg9^[EqRQRw_" ~3  [ @ z !6S$MZx M<E }f On2z SX@,/j_-B?TGGdH5'e =JTw= '5( 6 U7> kA9!pD 6pAy EhJu *)/EP N c5@ #a "!#BY-?'4H$  x.>  "^:1aR\`?&R_y Q%@Jv ^RR <$  A.%N"jEb ,UBA~@ " Q8 ^ nGOtJm.{4N:p  P\h)'o$| j;VY$yv{+:^4 #-IWF} |4`(D"6"5ME <ZoM ad& } {,7'(n!s%p)Y1/4~-%z)$u l AR h#H)(2 :Ln  ͮ [D#h.JH-1# T_U(4-"l$6\*NgU=B!t,8"q!z H / LN0D<d?5= Q6 F/$[-?='c/) 9H }M  p ~ 1& D2 % JP&;9 0.l9Q9e#Xl0 V'+=CK F2'b|;pu%Sg](z S +$(7[E/ y 3 $5552v͏8KG "kx% #M6BZ%SR9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA큤AAAA큤AA큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAAA큤A큤AAAA큤A큤AAA큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤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큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AAAA큤AA큤AAA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤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큤AA큤AA큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤AA큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AAA큤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큤AA큤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큤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큤AAAAA큤AAA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤AAAA큤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큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤AAA큤AAAA큤A큤AAA큤A큤AAA큤A큤A큤AA큤AA큤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큤AAAAA큤AAA큤AA큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤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큤AA큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤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큤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큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAAA큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤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큤AA큤AAA큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAAAA큤AA큤A큤AAA큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤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큤AAA큤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큤AAA큤AAA큤g gggܘgܘgg gggܗgܗgg ggܗgܗgܗgg ggܘgܘgܘgg ggܘgg gܯgܘgܘgg gܵgܘgܘgg ggܘgg ggܗgg ggܗgg ggܘgg gܭgܘgg gܩgܘgg gܰgܘgg gܯgܗgܗgg ggܗgg gܹgܘgܘgg gܷgܘgg gܻgܘgg ggܗgܗgg gܲgܗgg gܨgܗgg gܩgܗgg gܺgܗgg ggܘgܘgܘgg gܵgܘgg gܲgܘgg ggܘgg gܩgܗgg ggܗgg ggܗgܗgg gܶgܗgg gܶgܗgg ggܗgg ggܗgg ggܗgܗgg gܳgܗgg gܾgܗgg gܴgܗgg ggܗgܗgg gܯgܘgg gܬgܗgg gܬgܗgg gܺgܘgg ggܘgg ggܘgܘgg gܩgܗgg gܮgܗgg ggܗgܗgg gܱgܗgg gܨgܗgܗgg gܦgܗgg ggܗgg gܼgܗgg ggܘgg ggܘgg gܼgܗgܗgg gܦgܗgg gܫgܘgܘgg ggܗgg gggܘgg gܰgܘgg gܴgܘgg ggܘgg gܻgܘgg gܬgܘgg ggܘgg gܹgܘgg gܫgܘgg ggܘgg gܹgܘgg gܴgܘgg ggܘgg gܪgܘgg ggܘgg ggܘgg gggg gggg ggܘgg ggܘgg ggܘgg ggܘgg gܸggܘgg ggܘgg gܻgܘgg ggܘgg ggܗgg ggܘgg gܲggg ggܗgg gܴgܗgg gܭgܘgg gܫgܗgg ggܘgg ggܗgg gܿgܘgg gܵgܘgg ggܗgg ggܘgg ggܘgg ggܗgܗgg gܦgܗgg gܧgܘgg gܪgܗgg ggܗgg ggܗgg gܽgܘgg ggܘgg ggܗgg gܾgܗgg gܽgܗgg ggܗgg gܬgܗgܗgg gܻgܘgܘgܘgg gܶgܘgg ggܗgg ggܘgg ggܗgg gܥgܘgg ggܗgg ggܘgܘgg gggggg ggggg gggg ggܗgܗgg ggg gܾgܗgg gܷgܗgg gܧgg gܦgܗgܗgܗgg gܧggܘgܘg݄g gggܗgܗg݅g ggܗgܗgܗg݄g ggܘgܘgܘg݄g ggܘg݄g gܯgܘgܘg݄g gܵgܘgܘg݅g ggܘg݄g ggܗg݅g ggܗg݄g ggܘg݄g gܭgܘg݄g gܩgܘg݃g gܰgܘg݄g gܯgܗgܗg݄g ggܗg݅g gܹgܘgܘg݄g gܷgܘg݃g gܻgܘg݄g ggܗgܗg݅g gܲgܗg݃g gܨgܗg݅g gܩgܗg݅g gܺgܗg݄g ggܘgܘgܘg݅g gܵgܘg݄g gܲgܘg݄g ggܘg݅g gܩgܗg݄g݌g݌gܗg݄g ggܗgܗg݅g gܶgܗg݃g gܶgܗg݄g ggܗg݃g ggܗg݅g ggܗgܗg݃g gܳgܗg݅g gܾgܗg݄g gܴgܗg݄g ggܗgܗg݄g gܯgܘg݄g gܬgܗg݄g gܬgܗg݃g gܺgܘg݅g ggܘg݄g ggܘgܘg݅g gܩgܗg݄g gܮgܗg݄g ggܗgܗg݂g gܱgܗg݂g gܨgܗgܗg݃g gܦgܗg݄g ggܗg݄g gܼgܗg݄g݋g݋gܘg݄g ggܘg݄g gܼgܗgܗg݄g gܦgܗg݅g gܫgܘgܘg݄g݊g݊gܗg݃g gggܘg݄g gܰgܘg݄g gܴgܘg݄g ggܘg݄g gܻgܘg݅g gܬgܘg݃g ggܘg݃g gܹgܘg݄g gܫgܘg݄g ggܘg݄g gܹgܘg݄g gܴgܘg݄g ggܘg݄g gܪgܘg݄g ggܘg݄g ggܘg݄g ggg݅g ggg݄g ggܘg݅g ggܘg݄g ggܘg݄g ggܘg݃g gܸggܘg݄g ggܘg݄g gܻgܘg݄g ggܘgg ggܗg݄g ggܘg݄g gܲgg݄g ggܗg݄g gܴgܗg݃g gܭgܘg݅g gܫgܗg݄g݉g݉gܘg݄g ggܗg݄g gܿgܘg݄g gܵgܘg݅g ggܗg݄g ggܘg݄g ggܘg݄g ggܗgܗg݄g gܦgܗg݄g gܧgܘg݅g gܪgܗg݄g ggܗg݄g ggܗg݄g gܽgܘg݃g ggܘg݅g ggܗg݄g gܾgܗg݄g gܽgܗg݅g ggܗg݅g gܬgܗgܗg݅g gܻgܘgܘgܘg݄g gܶgܘg݄g ggܗg݄g ggܘg݄g ggܗg݃g gܥgܘg݄g ggܗg݄g ggܘgܘgg ggggg݃g gggg݄g ggg݅g ggܗgܗg݄g gg݄g gܾgܗg݄g gܷgܗg݄g gܧg݄g gܦgܗgܗgܗg݃g gܧggܘgܘgg gggܗgܗgg ggܗgܗgܗgg ggܘgܘgܘgg ggܘgg gܯgܘgܘgg gܵgܘgܘgg ggܘgg ggܗgg ggܗgg ggܘgg gܭgܘgg gܩgܘgg gܰgܘgg gܯgܗgܗgg ggܗgg gܹgܘgܘgg gܷgܘgg gܻgܘgg ggܗgܗgg gܲgܗgg gܨgܗgg gܩgܗgg gܺgܗgg ggܘgܘgܘgg gܵgܘgg gܲgܘgg ggܘgg gܩgܗgg ggܗgg ggܗgܗgg gܶgܗgg gܶgܗgg ggܗgg ggܗgg ggܗgܗgg gܳgܗgg gܾgܗgg gܴgܗgg ggܗgܗgg gܯgܘgg gܬgܗgg gܬgܗgg gܺgܘggggܘgg ggܘgܘgg gܩgܗgg gܮgܗgg ggܗgܗgg gܱgܗgg gܨgܗgܗgg gܦgܗgg ggܗgg gܼgܗggggܘgg ggܘgg gܼgܗgܗgg gܦgܗgg gܫgܘgܘggggܗgg gggܘgg gܰgܘgg gܴgܘgg ggܘgg gܻgܘgg gܬgܘgg ggܘgg gܹgܘgg gܫgܘggggܘgg gܹgܘgg gܴgܘgg ggܘgg gܪgܘgg ggܘgg ggܘgg ggggggggggܘgg ggܘgg ggܘgg ggܘgg gܸggܘgg ggܘgg gܻgܘggggܘgg ggܗgg ggܘgg gܲgggggܗgg gܴgܗgg gܭgܘgg gܫgܗggggܘggggܗgg gܿgܘgg gܵgܘgg ggܗggggܘgg ggܘgg ggܗgܗgg gܦgܗgg gܧgܘgg gܪgܗgg ggܗgg ggܗgg gܽgܘgg ggܘgg ggܗgg gܾgܗgg gܽgܗgg ggܗgg gܬgܗgܗgg gܻgܘgܘgܘgg gܶgܘggggܗgg ggܘgg ggܗgg gܥgܘggggܗggggܘgܘgggggggggggggggggggܗgܗgg ggg gܾgܗgg gܷgܗgg gܧgg gܦgܗgܗgܗgg gܧgܘgܘgܛggggܗgܗgܛgggܗgܗgܗgܛgggܘgܘgܘgܛgggܘgܚgܯgܯgܘgܘgܛgܵgܵgܘgܘgܛgggܘgܛgggܗgܛgggܗgܛgggܘgܛgܭgܭgܘgܛgܩgܩgܘgܚgܰgܰgܘgܛgܯgܯgܗgܗgܛgggܗgܛgܹgܹgܘgܘgܚgܷgܷgܘgܚgܻgܻgܘgܛgggܗgܗgܛgܲgܲgܗgܚgܨgܨgܗgܛgܩgܩgܗgܛgܺgܺgܗgܚgggܘgܘgܘgܛgܵgܵgܘgܛgܲgܲgܘgܛgggܘgܛgܩgܩgܗgܛgggܗgܛgggܗgܗgܛgܶgܶgܗgܚgܶgܶgܗgܛgggܗgܚgggܗgܛgggܗgܗgܚgܳgܳgܗgܛgܾgܾgܗgܚgܴgܴgܗgܛgggܗgܗgܛgܯgܯgܘgܛgܬgܬgܗgܛgܬgܬgܗgܚgܺgܺgܘgܛgggܘgܛgggܘgܘgܛgܩgܩgܗgܚgܮgܮgܗgܛgggܗgܗgܙgܱgܱgܗgܙgܨgܨgܗgܗgܚgܦgܦgܗgܚgggܗgܛgܼgܼgܗgܚgggܘgܛgggܘgܛgܼgܼgܗgܗgܛgܦgܦgܗgܛgܫgܫgܘgܘgܛgggܗgܚgggܘgܘgܛgܰgܰgܘgܛgܴgܴgܘgܛgggܘgܛgܻgܻgܘgܛgܬgܬgܘgܚgggܘgܚgܹgܹgܘgܚgܫgܫgܘgܚgggܘgܛgܹgܹgܘgܛgܴgܴgܘgܛgggܘgܚgܪgܪgܘgܛgggܘgܛgggܘgܛgggܘgܛgggܘgܛgggܘgܛgggܘgܚgܸgܸgܙgܘgܛgggܘgܚgܻgܻgܘgܛgܽgܽgܘgܚgggܗgܛgggܘgܚgܲgܲgܗgܛgܴgܴgܗgܚgܭgܭgܘgܛgܫgܫgܗgܛgܦgܦgܘgܚgܪgܪgܗgܛgܿgܿgܘgܚgܵgܵgܘgܛgggܗgܚgggܘgܛgggܘgܛgggܗgܗgܛgܦgܦgܗgܛgܧgܧgܘgܛgܪgܪgܗgܛgggܗgܛgggܗgܛgܽgܽgܘgܚgggܘgܛgggܗgܚgܾgܾgܗgܛgܽgܽgܗgܛgggܗgܛgܬgܬgܗgܗgܛgܻgܻgܘgܘgܘgܚgܶgܶgܘgܛgggܗgܚgggܘgܚgggܗgܚgܥgܥgܘgܛgggܗgܛgggܘgܘgܚgggܗgܗgܛgggܛgܾgܾgܗgܚgܷgܷgܗgܚgܧgܧgܛgܦgܦgܗgܗgܗgܚgܧgܧg g g g g g gݗd gݎd d d d d gݎd d d d d d d g d g g d g d g g d d d d d g d d g d g d g d d g d g d g d g d g d g g d g g d g d g d g d g d d d g d d d g d g d d g d d d g d g d g d d g d g d gݎd d d d d d d d d gݎd d gݎd d d d d d d d d d d d d gݏd d d d d d d d d d d d d d d d gݏd d d d d d g d g g g g g g g g g g g g g g g g g g g g d d g g d g g d gݏd gݏd d d d d d d d d d d gݏd d gݏd d d d d d d d d d d d d d d d d d d d d d d d d d d d d gݏd d d d d d gݏd d d d d d gݏd d d d d d d d d d d d d g:gݏdudududududududududududududududududududugݏdududududududududududududududududugݏdududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududugݏdudududududududududududududugݏdudududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududugݏgݏdudududududududududugݏdududududududugݏdudududududududududududududududududududududududududududugݏdududududududududududududududududududududududududududududududududududududududududududugݏdudugݏdudududududududugݏdududududududugݏdudududugݏdududududududududududududugݏdudududududududududududududududududugݏdudududugݏdudududududududududududududududugݏdudududududugݏdudududududududududududududugݏdudududududududududududududududududududududugݏdududududududududududududududududugݏdudududududududududududududududugݏdududududududududugݏdugݏgݏdududugݏdududududududududududududududududududududududududududududududududududududududududududududududududududududududugݏdududududududududugݏdududududududududududududududududududududududugݏdudududududugݏdududugݐdudududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududugݐdudududududududugݐdudugݐdududugݐdududududududududududugݐdududugݐdudugݐdududugݐdudududugݐdudududududugݐdudududududududududududududududugݐdududududududududugݐdudududududududududududududududududugݐdudududududududududududugݐdududududududududududududududududugݐdududududududududugݐdududududugݐdudududududududududududududugݐdududududududududugݐdudududududugݐdududugݐdudududududugݐdudududugݐdudududududududududududududududududududududududududududududugݐdududududududugݐdudududududududududugݐdudududugݐdududududududugݐdudududugݐdududududududududududududugݐdudududududududududududududugݐdudududududududugݐdududugݐdudududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududugݐdududududududugݐdudududugݐdududududududududugݐdudududugݐdudugݐdududududugݐdududududugݐdudugݐdudududududugݐdududududugݐdudududududugݐdudududududududududududududududududugݐdududududududududududududududududugݐdudududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududugݐdududududududududududududududududududududududududududududududududududududug dududududududududududududududududududududududududududududududududududududududududug dudududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududugݑdududududugݑdugݑdudugݑdududududududududududugݑdudududududududududududududugݑdudududududugݑdudugݑdudududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududugݑdudududududududududududududududugݑdudududududududududududugݑdududududugݑdudududududududududududugݑdududududududududududududududugݑdududududududugݑdududududududududugݑdududududududugݑdududududududugݑdudududududugݑdudududududugݑdududududududugݑdududududududududududududududududududududududududududududududugݑdududududududududududududududududugݑdududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududugݑdududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududududugݑdudududududududududududududududududududududududududududududududududududududududududugݑdudugݑd d d d d d gݑd d d d d gݑd d d d gݑd d d d d gݑd d d d d d d d d d d d d d d d d d d d d d d g9g9g9d d d d d d d d d d d d d d d gݑd d gݑd d d d d d gݑd d d d d d d d d d d d d d d d gݒgݑd d d d d d d d gݒd d d d d d d d d d d d d d d d d gݒd d d d d d d d d d d d d d d d d d d d d d d d d d d d gݒd d d d d d d d d d d d d d d d d d d d d d d d d d d gݒd d d d d d d d d d d d d d d d d d d d d d gݒd d d d d d d d gݒd d d d d d d d d d d d d d d d d d d d gݒd d d d d d d d d d g9d gݒd d gݒd d d d d d d d d d d d d gݒd d d d d d d d d d d d d gݒd d d d d d d d d d d d gݒd d d d d d d gݒd d d d d gݒd d d d d gݒd d d d gݒd d d d d gݒd d d d d d gݒd d d d d d d d d d d d d d gݒd d d d d d d d d d gݒd d d d gݒd d d d gݒd d d d d d d d d d gݒd d d d d d d d d d d d d gݒd d d d d d d d d d d d d d d d d d d d d d d d d d d d gݒd d d d d gݒd d d d gݒd d d gݒd d d d d d d gݒd d gݒd d d gݒd d gݒd d d d d d d d d d d d d d gݒd d d gݒd d d d d d d d d d gݒd d d d d d d d d gݒd d d gݒd d d d gݒd d d d d d d gݒd d d d d d d gݒd d d d d d d gݒd d d d d d d d g d d d d d d g gݒd d d d d d d gݒd d d d d d d d gݒd d d d d d d d d d d gݒd d d d d d d gݒd d d d d gݒd d d d d d d d d d d d gݒd d d d gݒd d d d d gݒd d d d gݒd d d d gݒd d d d gݒd d d d d d gݒd d gݒd d d gݒd d d d gݒd d d d d d gݒd d gݒd d gݒd d d d d gݒd d d d gݒd d d d d d d gݒd d d d d d d d d d d d d d gݒd d d d d d d d gݒd d d d gݒd d d d d d d d d d d d d d d d d d d d d gݒd d d d d d d d d d d d d d d d d d gݒd d d d gݒd d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d gݒd d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d gݒd d gݒd d d d d d d d d d d d d d d d d d d d d d d d d d d d gݓd d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d gݓd d d d d d d d d d d d d gݓd d d d d d d d d d d d d d d d d d d d d d gݓd d d d d d d d d d d d d gݓd d g d d d d d g g g d d d gݓd d d d d d gݓd d d d d d gݓd d d d d d d d d d gݓd d d d d gݓd d d d d d d d d d d d d d d d d d gݓd d d d gݓd d d d d d d d d gݓd d d d d gݓd d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d gݓd d d d gݓd d d d d d d d d d d gݓd d d d d d d d d gݓd d d d d d gݓd d d d d d gݓd d d d gݓd d d d gݓd d d d d d gݓd d d d d d d gݓd d d d d d d d d gݓd d d d d d gݓd d d d d d gݓd d d d d d d d d gݓd d gݓd d d d d d d d gݓd d d d d d d d d d d d d d d gݓd d d d d d d d d d d d d d d d d d d d d d d gݓd d d d gݓd d d gݓd d gݓd d d d d d d d d d d d gݓd d d d d d d d d d d d d d d d d gݓd d d gݓd d d d gݓd d d d gݓd d d gݓd d d d d d d gݓd d d gݓd d d d gݓd d d d gݓd d d d d gݓd d gݓd d d gݓd d d d d d d gݓd d d d d d d gݓd d d d d d d gݓd d gݓd d d d d gݓd d d gݓd d d d d d gݓd d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d gݓd d d gݓd d gݓd d d d d d d d d d d d d d d gݓd d d d gݓd d d d d d d d d d d gݓd d d d d d d d gݓd d gݓd d gݓd d d d d gݓd d d gݓd d d d d gݓd d d d d d g d d d d g g:gݓ^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}^R}g g g g d d gݓd d gݓd d gݓd d d d gݓd d gݓd d d d d d gݓd d d d d gݓd d d d d d gݓd d d d d d d gݓd d d d gݓd d d d gݓd d d d d d d d d gݓd d gݓd d gݓd d d d d d d d d d d d d d d d d d d d d d d d d d gݓd d d d d d d d d d d d gݔd d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d gݔd d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d gݔd d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d gݔd d d d d d d d d d d d d d d d d gݔd d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d gݔd d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d gݔd d d d d gݔd d d d gݔd d d d d d d d d d d d d d d d d d d d d d d d d d gݔd d d d gݔd d d d d d d d d d d d d gݔd d d d d d d gݔd d gݔd d d d d d d d d d d d d d g d d d g g g g g d gݔd d d d d d d d d d d d d d gݕd gݔd d d d d d d d d d d d gݔd d d d d d d d d g d g d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d gݕd d d d d d d d d d d d d d d d gݕd d d d d d d d d d d d d d d d d d d d d d d d d g d d d g d d d g g g d d g g g g g g g g g g d g d g g g g g g g g gݕd d g g g g d g g g d g g g g g g g g g g d g g g g g g g g g g g g g g d g g g g g g g g g g g g g g d g g g g d d d g g d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d gݕd d d d d d d d gݕd d d d d d d d d d d d d d d d d d d d d d gݕd d d d d d gݕd d d d d d gݕd d d d d d gݕd d d d d d d d d d d d gݕd d d d d d gݕd d d d d d d d d d d d d gݕd d d gݕd d d d d d d d d d d d d d d d d d d gݕd d d d d d d d d d g:dڿgݕdڿdڿdڿdڿdڿdڿgݕdڿdڿdڿdڿdڿdڿdڿdڿdڿdڿdڿdڿdڿdڿdڿdڿdڿdڿdڿdڿdڿdڿdڿdڿgݕdڿdڿdڿdڿdڿdڿdڿdڿdڿdڿgݕdڿdڿdڿdڿdڿdڿd d d d gݕd d d d d d d d d d d d gݕd d d d d g g g g d d g d g g g g g g g d g d d d d d d d d d d d d d d gݕd d d d d d d d d d d d d d d gݕd d d d d d d d d d d d d d d d d d d d d d gݕd d d d d d d d d d g d g gݕd d gݕd d gݕd d d d d d d d d d d d d d gݕd d d d d d d d d gݕd d d d d d d d d d d d d d d d d d gݕd d d d d d d d gݕd d d d d d d gݕd d d d d d d d d d d gݕd d d d g:d d d gݕd d d d d d gݕd d d d d d d d d g:d d d d g:g:g:g:g:g:g:gݕd d d d d d d d gݕd d gݕd d d d d d d d d d d d d d d d d gݕd d d d d d d d d d d d gݕd d d gݕd d d d d d d d d d d d d d d d d d d d d d d d d gݕd d d d d d d d d d gݕd d d d d d d gݕd d d gݕd d d d d d d d d d d d d d d d d d d d d d d d d d gݖd g:g:d d d d d d d d d d d d d d d d d d d g:d g:g:d d d d d d d d d gݖd d d d gݖd d d d d d gݖd d d d d d d d d d gݖd d d d d d d d d d d gݖd d d d d d d d d d d gݖd d d d d d d d d d d d d d d d d d gݖd d d d d d d d d d d d d d d d d d d gݖd d d d gݖd d d d d d gݖd d d d d d gݖd d d d d d gݖd g:g:d d d d g:g:d d d d d d d d gݖd d d d d gݖd d d d d d d d d d d d d d d d d g9gݖd d gݖd d gݖd d d d d d d d d d d d d d gݖd d d d d d gݖd d d d d d g d g d d d d d d d gݖd d d d d gݖd d d d d d d d d d d gݖd d d d gݖd d d d d d d d d gݖd d d d d d d d gݖd d gݖd d d d d d d gݖd d d d d d d d d d gݖd d d gݖd d gݖd d gݖd g9d d d d d d d d d d gݖgݖd d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d gݖd d gݖd d d d d d d gݖd d gݖd d d d d d d d d gݖd d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d gݖd d d d d d d d d d d d d d d d d gݖd d d d gݖd d d d d d gݖd d d d gݖd d d d d d d d d d d d d d d gݖd d d d d d d d d d gݖd d d gݖd d gݖd d d d d d gݖd d d d d d d d d gݖd d d d d d d d gݖd d d d d d gݖd d d gݖd d d d d d gݖd d d gݖd d d d d gݖd d d d d d d d d d gݖd d d d gݖd d d d gݖd d d gݖd d d d d d d d d d gݖd d d g9d d d d d gݖd d d gݖd d d d d d d gݖd d d d d d d gݖd d d d d d gݖd d d d d d d d d d d d gݖd d d d d d gݖd d d d gݖd d d d d d d gݖd d d d d d d d d d d gݖd d gݖd d d d d d d gݖd d d d d d gݖd d d d d d d d d gݖd d gݖd d d d d d d d d d d d d gݖd d d d d d d d d gݖd d d d d d d gݖd d d d gݖd d d d d gݖd d d gݖd d d d d gݖd d d d g9d d d d gݖd d d d gݖd d d d gݖd d d d d d gݖd d d gݖd d d d gݖd d gݖd d gݗd d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d gݗd d d d gݗd d d d d d d d d d d d d d d d gݗd d d gݗd d gݗd d gݗd d d d gݗd d d gݗd d d d d d d d d d d d d d d d d d d gݗd d d d d d d d g9d gݗd d d d d d d d d d d d gݗd d d d d d d d d d gݗd d d gݗd d d d d d d d d d d d d gݗd d d g:d d gݗd d gݗd d d gݗd d d d d d gݗgݗd d d d d d d d d d d d d gݗd d d d d d d d d d d d d d d d d d gݗd d d d d d d d gݗd d d d d gݗd d d d d d d d d g:g:g:g:g:g:g:g:g:g:g:g:d d d d d d d d d d d d d d d d gݗd d d d d d d d d d d d d d d d d d d d d d d d d d gݗd d d d d d gݗd d d d d d d d d d gݗd d gݗd d d gݗd d d d d d d d d d d gݗd d d d d d d d d d d d d d gݗd d d d d d d gݗd d d d gݗd d d d d d d gݗd d d d d d gݗd d d d d d d gݗd d gݗd d d d gݗd d d d d d d d d d d d d d gݗd d d d d d d gݗd d d d d d d d gݗd d d d d gݗd d d d d d d d gݗd d gݗd d g9d d d d d d gݗd d d d d d d d d d d d d gݗd d d d d d d d d d d d d d d d d d d d d d d d gݗd d d d d d d d d gݗd d d d gݗd d d d d gݗd d d d d d gݗd d d d d d gݗd d d gݗd d gݗd d d d d d d d gݗd d d d d d d d d d d d d d d d d d d d d d d d d gݗd d d d gݗd d gݗd d d d d d d d d d d d d d d d d d d gݗd d d gݗd d d d d d gݗd d d d d d d d d d d d d d d d d d d gݗd d d d d d d d d d d d d d d d d d d d d d d d d d gݗd d d d d d d d d d d d gݗd d d d d d d d d d d d d d d gݗd d d d d d d d gݗd d d d d d d d d d d d d d d d gݗd d d d d d d d d d d gݗd d gݗd d d d gݗd d d d d d d d d d d d d d d d d d d d d gݗd d gݗd d gݗd d gݗd d d d gݗd d gݗd d d d d d d gݗd d d d d gݗd d d d d gݗd d d d d d d d d d d d d gݗd d d gݗd d d gݗd d d d d d d d gݗd d d d d d d d g9g9d d gݗd d d d gݘd d d d d d d d d d d d d d d d d d d gݘd d d d d d d d d d d d d d d gݘd d d d d d gݘd d d d d d gݘd d d d gݘd d d d d d d gݘd d d d d d d gݘd d d d d d gݘd d d d d d gݘd d d d d d d d d d d d d d d d d d d d d d d d d d d d gݘd d d d d d d gݘd d d d d d d d d d d d d d d d d d gݘd d d d d gݘd d d d gݘd d d d gݘd d d d d d d d d f5ec6a46c9fe67f9ac27aef75f38021fbb0955f44cd7b3b008d0dc53d66d1512c62d6a3e8230fc75f73f9893ff994b89a1935ede0dd02f7b99196db38cb0954ee9c9b32a2ed96ea4d88a65b586b372884f9b86ad22f370222f5e1ff69ad8952545381a8bc56f6a4fac0ab7de3d23c9ee743995413db0949627dd983529f150aacfc487cb24712896f3b55d7f9da9fd50630494fce9ebce0ecf5c2edc237edef287cbd8f8e675b40beafd42622cdba85cd12dff61167a4a3ffaf27a5a4ab9797f60b79216568918b56a4c90af6a57e627f87c25062234b6018e1aa23be1a5b969e5715966363121acf0791b5559b8b7371b15d8745e7a6c8ed8caa5f21be45e0c5c452c1c77f7d318f0fa84987e750866eece2a885a22349198549354d811fdaf270b4c1e96ed45648b7736e628e3913cd41c3be450abaa7e775e306e685db4ed07f9c8656c797c9ee56e08d8a1ffbd5ceb90d61efb7ea946b3241fe85c8e96c46942b7debfd93b55da6996e33082361774072810dd74042ed99c62847b87cbb5b50accd1ce35c5c1877aae9da26cecf48bc70b46204a12800acdd676384925a88d4f322ff39f910d7ee3dee745dd40c0e0631a98c6f46ddf2fee25d651f4c7dfae3bc39b5802b71b6cc06e4765a0a7dfc78c8842503df2b9193b149ad379bd430e81eeecea2f9bc566ed0d84c1e8da10a1a43df765ac8bb781cdfc5538b2df79613347687f537d9840edee299c476d569f1b2ef86edcd6544aa80ea66f37e1fa33435f8a74cacca73342f8eb5db641ed87a3f0903914ce1d188800060f3bd55ec082c69fee21c1ac8ef94b71628b971ff347b7bb411b049dbb80057ba68635ef11f1ea3448cb671a4bc9b1fd5fec3408ad6a9d406cd76730eff2378494fed4a176c4840f902c22a70148a28e9d1440f3cec5d9126fe13153f08b6937713fa8e7ffc1097453feaad94c9aab2700f3c5e11b145b9260b0b44a9e22d88cbab07c12e4757a8c606e24756c44d8f570de78b62b0f1c64ba1a2160d69337b6caf049d0be0fc0c158955a86d93aac6a00c24d72f7d283e82b5df9693b9b9eb879b7dc2809013cb06236eb89b097a7ba5998e653b3aaddbdaebc603d4595ee53af1d1bde6609169eb58844e38f5479cd08bda81ee281d3de50c1eeed5a5d9ff6c60f699f694445bac98e4e448f780e940c1c7e2894fa3e2cdf7b086a3b15ea86cb270e6efd79b1504c8d98fd946fc7337befb6222a21e7a7f58a37c89a94685fffc04394f9ec77eb2cf099a7220cdf486d25632443f27fc9cbe60155514d7332b83b7bceff1fa54337ab3e01a99d50a5e0758543c6fd294078129ce2608825179d85eca305b16e0f318231b32d8e02f7a50662901a4d63fb396b1d95a67688d6abe64aafea36e668ad1b9d94524e71f593d01e5e767a881bc7e1c84c7ca6081c04fdc9eb3d133347cf5a395fa1eae5bdbe51451e69105f400ba35289bfbe577941449ad7c924b5c348114715a0dde605c46363b3e86d63218c6bf8721fd85bc6c31fcc903385319bf4acf81cfa013d5a2b0d9d42a2400edbaa78a45f0544bc8780783ca5629f620c1e19d4ddff61d9b3627157cc8afedf1be141515f7ae624febd2f41944c30a15b84f98b9b729ae22a9ffbde37328bf889b8b46497842eb2ca223f4f5205cf49f68a778c53fff66e7d8babe41208819141564087d3e32cc55635228650db348de864296a8e8cf22887dd48177eaa7f21f8e274fd18cb781324ca54cb777c93a2c29402d144fccb43a21fce38a876e2ed6af54595f4dd398ebf026b8c3cd8d8012545c296b50ca9779c1afe91ee9e976f4473ca0b37f5b4af9d8d1e5964fd3133b3ea5ee9625b8d9ded81eb1f9180b80cba106f5ccf8ce510961cc51cc0ac7c357026d8ff2a52c7f6a9eb3de72ab8bc8b7f5d4c05e1ba7b6ca8176e61007f9b6fcf83a00faf62adb8fc9fee18d687a5d6b18bc0e64d4c9ac239dc9b5491e279554192f37a91fab88e220e45dbe1d1662afa9f1557a9a7f818ed3f722edb330ac2469cdfcc3c6b61dfc6c163d4a05341d1f37835073d37a5f71dd2e14f7cdd548ee1be8eceb4016c5526dfd261faf5c950e508dc120d4cc92878cce629c05f0867dad39ab50acdcc61aa2243bde3c5e1520aaeb563e196f0b69d914318d00cda9a3a462c2c21c31017d3d700c5c8758ea6ad734287ab57fbe7c0432128e2dca3ba589bacaa16cc201bb434dcbdb0fe5e3fb503e191f03774a76cc76adebf9d6ac56de91b63dc2dedca67ae5f3b03b4c43c967caf479c35c216b0c15cf592a7fd25b38c95b7600391914193e419b17c466b62c96ca6055c6768446809988d5074e46c86fc847f3ba8a42b218631acc8df4e7a94c4f0a4f290d54ef8bc9ea3a779fad6c1d2a61e5f0a6a6d5ccd4de6b1da2bb22f6807b452d391dc4c6b9bb6bf9e23c58bbc071e95444d42a1e37c85e885e7edfd682b8900a381a7cbad4f612884f22ea386bd268efd57076746fc51d8a6a370cb97a61c0d2353b79a5f82ae24ee24e3ca77b1620d55e348e4aa89834a432509413a968fd5bbcaea7b87f6d3e7ab30e32047f14257c9ee561002b867186640fa8c4d431b3eead471a8c228ab5b2866d1b44459a5a85625db35896f0dcbd75a27f4c7f471ffe837b549db35fdcbca577ccbea2d3f9443df102cc1c54147d77377d123af0e8e4c447d9fc6fe782935e54988bff28288a893c3a7b3821f598ba9b63ccfd7754e2c3861aecdd631699a7e870e5df9f6d1346ed2e8a43b7561038657d6eeb523abbb75f8709bbd0ab7e504ed09d6472282e13f0298ebd3a78e5ae4eae95f806955e1f606f5d694cb0207b8380e4c2fa2b9ed3a97a830738beae311290fc25c4dd28a910c141cd454cbb2fbdc3e3ed85d79ea683000d30de48eab126fe4f1ee27824a9e3b06c1a9a9ea57b71ae7339bcbbf8103831652d4d19002d6b200a6b1c06f52d891ad02cd7e92647b3cf01a9365035f96a9e4f20431134e01dd08e58af16f1d76576d84c14ec3152bce54deb912fc8ffdcc05e0b1b8acd3d3a1b79fbb52adf2004a8080b50c11539e3a43598a094abf7d6f5c7ddc7eebb2ab86a3e134320af8a7a4fd90be56491705a40fd5ca7b8683d9af346ccdae40f2a4112033b03debd4c5786552198ea5b382944e6863dee9ee1d0df28a298bf52882b9aa22d3e2ce865dafaa8e9e0e93f18f7a62670e58f494740e6097fe2d8df9f2051b3dc992e97234dca3e4c8351624feed45eeac2c5db12dd69f6e03fa5eb1a6df7a4e2795142baa5a317ac13cf19218ad71ae0519f4d0520c20f76d8491422689f3ecd447f5d72d73799f39d842e0f3436a3a5a5c7d7994ee1a7b05974e2dabb3148d288ef3ed115677f4027d0be2fcc0ba67485480f61b0f848435024f259ce96e4727f03af3a458a81ec143ccdfa2f7664b6631ce8692a7774f17487345e0c149fc0cdb08fddd98090073b36904983d951be1517113b1f06f3c98f266adadf9d7630898459edbf278fe92486fcb5cd2d0f3d8e776dca5cb44e56092f619688ad4c4943d3d774889b76a4281b835a849d3e964cfd8bdb1b859658fdc9bc3b941816746e1e75fa13795cfb150ae91ee3b1fff0724bcea4e08dc46836144065c3bd6bb87d5ca034ced91b6511a0d7ca218e0288d0114958f4165dcf6d07ae5418839914f5f46cc1ae4df8c4cb9652e8f230ee176f4a8b48f1271f9e560b59a34c1e05c4292926ddfabd843bec494d8804cbd8b6ee7a5b17a37c6202e349ec24d595318aa82d12c0402578f04686681edbe969010e325f616d53f2d352d5c393ed4a5f4a6677e45e3da8ee779745de24a1412beeafbf85c8307f8eb43add5e3c703182910882f7a94f62b2c9510ca4d56e75419bbc7842984ed7eb82499946d572252635d025b901b901c77ebb47065bceb8c9d67a394f92257f77da650d5d0f0762b9348bc9ee0240f79b85189ccc2751606837270a54e8979ffb0a5d87dd9eecc89e13a0764a02624d7d980dd8cb36bc12dea381350a182b47794e0f28bc52a38cae7f8b08901182732734eeda4f72a38469028a4dbab246148f97f7430df723c7aa727c6b356a96bab5c9b611addbc8e8311818133b4f53bdc12d369b1be6fb1c74815815a08ecf6170471de1bce224a30049020ac403a18cba908fdee7c9acc5eb7f242efe437ffa60fb0e32765b9e0266016dd0deea71ee1a612a42228460dd3945d5d04653447923117bc9001d6a1c405e8734bcc5b642a9df6b81220631b7ca84c2d03beb013051b65b42b96480fc1648f4f28a1f21ccf69ece7f1b6a30e153ef131e9172c7ca45aa598a6c28a502ae987852b7734da7cc76aee0f51fcbcb80a2f8f42da12d0713737f403c3b247221006e785ba8129bd3e509064823674dab8a131422295aa44337f28ea7766d0e9b8cdf58eb30c5f717e76c0251fcf4d2440f23ca664a35b6f0500f7bc8f119c118ddf14470d497f523675921b9793f2e9772f51768b53aa70bb8283ab946e2bbd09f4466faac06196a470e8bbf6cb653bc60f3ae910fa5d5b2f43d26fee110e557d21b8b77212eb064181670d1fcb573d4fa56445f61b1898ecfe74ad8caaf15901889a002c110bfa35ae5efa354658d2d3a20e25219d825e6d535c44500310a46023bf96090752f1a876bdb530009b77d9401c5bce2c6026a02a1c65462e9984be9ad9228d17b95cf633aaae9c9ea49d18aa9496d6d4002afb9a5ed58883238441a4a23958437d1b5aad5a38bee1632ffab1652b6b5658a16a90146a87162d9f76bc9dd704d1255f6c09b51c43e0bc671772423a11305dc442500d9266aaeacc4927aee9f6a04d886c210e93d3256e314201af9979e65a19c5dd4a1aab74b2c7220b25366db895d0f20388de4b32209847e025b5c40e84b2c977471fe02bdb4f3840053ba7cf0b0ae2c9f416799928974b3ecb62f0e6268f73b66ef961a2f2f395b425cf35ca009e01d4fcca03f4c3c46480e47ba57381701e3699959ec783c49a0c91f16a01473448a0cb80b027eb8b86c86e9e58de538ecfcad778702dc19284bdac23770ee8e8ddf837a0273b41affaaf95084e2753d101e18602faa308790e65d83c500a919d1a40c83340084758a28ffaaa5db5d5dab7d2361318b0d816f0776ebb4d81ae62a6bcb26128ae63091b957eafb7e7577ad59866b7996fedb45d6a5e60f57c540562b33486a0dbd699926db49743e776bc502b391d53f30cf9a4e173df4efea219f42f7095d7d622142391c77831f4cd6e272ef6fd297189d125583a8e66306d14f0474b480c9aea92abd4ac31313268550762622add5d6c163b3d330b38cb555097526b1570819a96247918ace36aeecc668896628bb4e86a392e74f88273b53f66c10d30459ae398691f7ab5af4aa54abf811c7dd02f91cf8ef2b7907a1e56b37db39e631fe0dfceebfef6e4cbbf2f85055b6e1a2694ec0aca075bbd2a2542297c44b0bf85a7e07fb84b7ba87b44f80a9f79351d24d6592b2717cb5fdbb7c9ccb554d265ea81c228a2a9ef574332f30ec5db63c11747ef0469639c014cd1c5e9bf6bf3afefa96df03a2fbbb32454d733f512c57705f28ded040a560ec8386405f0d41fa041000042f78d463342be6676dea0c7a1aa8eaecfaee13dc568ebb10e180c99bcb3ba63de50a7467ef338d3cace797614096fe1725ed3e15ef46c7ac79ae6c5f7c83904caf92a0ee9d340a311cc42a982f9e423698dfe267c52efcec91fd08503dcb7140fdf2afe7d564a6c391b50a03ec9c49d5fe79088b1304331f86416db9ca0edf7867e1eb3596e4a909079e935c0faba716b4ab336bb891635a5f771c10bb4935c735289eba06095b2a37934673b2d06bfc2d6f039cf78c1c4b667441e899d8c4a0ab0d75c42fd360a195a1ee2f5ec6a46c9fe67f9ac27aef75f38021fbb0955f44cd7b3b008d0dc53d66d1512c62d6a3e8230fc75f73f9893ff994b89a1935ede0dd02f7b99196db38cb0954ee9c9b32a2ed96ea4d88a65b586b372884f9b86ad22f370222f5e1ff69ad8952545381a8bc56f6a4fac0ab7de3d23c9ee743995413db0949627dd983529f150aacfc487cb24712896f3b55d7f9da9fd50630494fce9ebce0ecf5c2edc237edef287cbd8f8e675b40beafd42622cdba85cd12dff61167a4a3ffaf27a5a4ab9797f60b79216568918b56a4c90af6a57e627f87c25062234b6018e1aa23be1a5b969e5715966363121acf0791b5559b8b7371b15d8745e7a6c8ed8caa5f21be45e0c5c452c1c77f7d318f0fa84987e750866eece2a885a22349198549354d811fdaf270b4c1e96ed45648b7736e628e3913cd41c3be450abaa7e775e306e685db4ed07f9c8656c797c9ee56e08d8a1ffbd5ceb90d61efb7ea946b3241fe85c8e96c46942b7debfd93b55da6996e33082361774072810dd74042ed99c62847b87cbb5b50accd1ce35c5c1877aae9da26cecf48bc70b46204a12800acdd676384925a88d4f322ff39f910d7ee3dee745dd40c0e0631a98c6f46ddf2fee25d651f4c7dfae3bc39b5802b71b6cc06e4765a0a7dfc78c8842503df2b9193b149ad379bd430e81eeecea2f9bc566ed0d84c1e8da10a1a43df765ac8bb781cdfc5538b2df79613347687f537d9840edee299c476d569f1b2ef86edcd6544aa80ea66f37e1fa33435f8a74cacca73342f8eb5db641ed87a3f0903914ce1d188800060f3bd55ec082c69fee21c1ac8ef94b71628b971ff347b7bb411b049dbb80057ba68635ef11f1ea3448cb671a4bc9b1fd5fec3408ad6a9d406cd76730eff2378494fed4a176c4840f902c22a70148a28e9d1440f3cec5d9126fe13153f08b6937713fa8e7ffc1097453feaad94c9aab2700f3c5e11b145b9260b0b44a9e22d88cbab07c12e4757a8c606e24756c44d8f570de78b62b0f1c64ba1a2160d69337b6caf049d0be0fc0c158955a86d93aac6a00c24d72f7d283e82b5df9693b9b9eb879b7dc2809013cb06236eb89b097a7ba5998e653b3aaddbdaebc603d4595ee53af1d1bde6609169eb58844e38f5479cd08bda81ee281d3de50c1eeed5a5d9ff6c60f699f694445bac98e4e448f780e940c1c7e2894fa3e2cdf7b086a3b15ea86cb270e6efd79b1504c8d98fd946fc7337befb6222a21e7a7f58a37c89a94685fffc04394f9ec77eb2cf099a7220cdf486d25632443f27fc9cbe60155514d7332b83b7bcef97a11eaec260086959c63b0639b987a9c2f8dd7ff031be9efa991724b25b5ff05b16e0f318231b32d8e02f7a50662901a4d63fb396b1d95a67688d6abe64aafea36e668ad1b9d94524e71f593d01e5e767a881bc7e1c84c7ca6081c04fdc9eb3d133347cf5a395fa1eae5bdbe51451e69105f400ba35289bfbe577941449ad7c924b5c348114715a0dde605c46363b3e86d63218c6bf8721fd85bc6c31fcc903385319bf4acf81cfa013d5a2b0d9d42a2400edbaa78a45f0544bc8780783ca5629f620c1e19d4ddff61d9b3627157cc8afedf1be141515f7ae624febd2f41944c30a15b84f98b9b729ae22a9ffbde37328bf889b8b46497842eb2ca223f4f5205cf49f68a778c53fff66e7d8babe41208819141564087d3e32cc55635228650db348de864296a8e8cf22887dd48177eaa7f21f8e274fd18cb781324ca54cb777c93a2c29402d144fccb43a21fce38a876e2ed6af54595f4dd398ebf026b8c3cd8d8012545c296b50ca9779c1afe91ee9e976f4473ca0b37f5b4af9d8d1e5964fd3133b3ea5ee9625b8d9ded81eb1f9180b80cba106f5ccf8ce510961cc51cc0ac7c357026d8ff2a52c7f6a9eb3de72ab8bc8b7f5d4c05e1ba7b6ca8176e61007f9b6fcf83a00faf62adb8fc9fee18d687a5d6b18bc0e64d4c9ac239dc9b5491e279554192f37a91fab88e220e45dbe1d1662afa9f1557a9a7f818ed3f722edb330ac2469cdfcc3c6b61dfc6c163d4a05341d1f37835073d37a5f71dd2e14f7cdd548ee1be8eceb4016c5526dfd261faf5c950e508dc120d4cc92878cce629c05f0867dad39ab50acdcc61aa2243bde3c5e1520aaeb563e196f0b69d914318d00cda9a3a462c2c21c31017d3d700c5c8758ea6ad734287ab57fbe7c0432128e2dca3ba589bacaa16cc201bb434dcbdb0fe5e3fb503e191f03774a76cc76adebf9d6ac56de91b63dc2dedca67ae5f3b03b4c43c967caf479c35c216b0c15cf592a7fd25b38c95b7600391914193e419b17c466b62c96ca6055c6768446809988d5074e46c86fc847f3ba8a42b218631acc8df4e7a94c4f0a4f290d54ef8bc9ea3a779fad6c1d2a61e5f0a6a6d5ccd4de6b1da2bb22f6807b452d391dc4c6b9bb686e966c8297315a92bdc8f394d22b4a986ecf87a61053a67bf0b6ea99a03b1022884f22ea386bd268efd57076746fc51d8a6a370cb97a61c0d2353b79a5f82ae24ee24e3ca77b1620d55e348e4aa89834a432509413a968fd5bbcaea7b87f6d3e7ab30e32047f14257c9ee561002b867186640fa8c4d431b3eead471a8c228ab5b2866d1b44459a5a85625db35896f0dcbd75a27f4c7f471ffe837b549db35fdfca554cfca4b6826e0ece777c9d669d8588e0ad8a8e4929c002910151128d5ba2935e54988bff28288a893c3a7b3821f598ba9b63ccfd7754e2c3861aecdd631699a7e870e5df9f6d1346ed2e8a43b7561038657d6eeb523abbb75f8709bbd0ab7e504ed09d6472282e13f0298ebd3a78e5ae4eae95f806955e1f606f5d694cb0207b8380e4c2fa2b9ed3a97a830738beae311290fc25c4dd28a910c141cd454cbb2fbdc3e3ed85d79ea683000d30de48eab126fe4f1ee27824a9e3b06c1a9a9ea57b71ae7339bcbbf8103831652d4d19002d6b200a6b1c06f52d891ad02cd7e92647b3cf01a9365035f96a9e4f20431134e01dd08e58af16f1d76576d84c14ec3152bce54deb912fc8ffdcc05e0b1b8acd3d3a1b79fbb52adf2004a8080b50c11539e3a43598a094abf7d6f5c7ddc7eebb2ab86a3e134320af8a7a4fd90be56491705a40fd5ca7b8683d9af346ccdae40f2a4112033b03debd4c5786552198ea5b382944e6863dee9ee1d0df28a298bf52882b9aa22d3e2ce865dafaa8e9e0e93f18f7a62670e58f494740e6097fe2d8df9f2051b3dc992e97234dca3e4c8351624feed45eeac2c5db12dd69f6e03fa5eb1a6df7a4e2795142baa5a317ac13cf19218ad71ae0519f4d0520c20f76d8491422689f3ecd447f5d72d73799f39d842e0f3436a3a5a5c7d7994ee1a7b05974e2dabb3148d288ef3ed115677f4027d0be2fcc0ba67485480f61b0f848435024f259ce96e4727f03af3a458a81ec143ccdfa2f7664b6631ce8692a7774f17487345e0c149fc0cdb08fddd98090073b36904983d951be1517113b1f06f3c98f266adadf9d7630898459edbf278fe92486fcb5cd2d0f3d8e776dca5cb44e56092f619688ad4c4943d3d774889b76a4281b835a849d3e964cfd8bdb1b859658fdc9bc3b941816746e1e75fa13795cfb150ae91ee3b1fff0724bcea4e08dc46836144065c3bd6bb87d5ca034ced91b6511a0d7ca218e0288d0114958f4165dcf6d07ae5418839914f5f46cc1ae4df8c4cb9652e8f230ee176f4a8b48f1271f9e560b59a34c1e05c4292926ddfabd843bec494d8804cbd8b6ee7a5b17a37c6202e349ec24d595318aa82d12c0402578f04686681edbe969010e325f616d53f2d352d5c393ed4a5f4a6677e45e3da8ee779745de24a1412beeafbf85c8307f8eb43add5e3c703182910882f7a94f62b2c9510ca4d56e75419bbc7842984ed7eb82499946d572252635d025b901b901c77ebb47065bceb8c9d67a394f92257f77da650d5d0f0762b9348bc9ee0240f79b85189ccc2751606837270a54e8979ffb0a5d87dd9eecc89e13a0764a02624d7d980dd8cb36bc12dea381350a182b47794e0f28bc52a38cae7f8b08901182732734eeda4f72a38469028a4dbab246148f97f7430df723c7aa727c6b356a96bab5c9b611addbc8e8311818133b4f53bdc12d369b1be6fb1c74815815a08ecf6170471de1bce224a30049020ac403a18cba908fdee7c9acc5eb7f242efe437ffa60fb0e3d2d2414e5da6c3573464be2bd62c3da09115bdd2126aeec01fc2b2574b535d4a9001d6a1c405e8734bcc5b642a9df6b81220631b7ca84c2d03beb013051b65b42b96480fc1648f4f28a1f21ccf69ece7f1b6a30e153ef131e9172c7ca45aa598a6c28a502ae987852b7734da7cc76aee0f51fcbcb80a2f8f42da12d0713737f403c3b247221006e785ba8129bd3e509064823674dab8a131422295aa44337f28ea7766d0e9b8cdf58eb30c5f717e76c0251fcf4d2440f23ca664a35b6f0500f7bc8f119c118ddf14470d497f523675921b9793f2e9772f51768b53aa70bb8283ab946e2bbd09f4466faac06196a470e8bbf6cb653bc60f3ae910fa5d5b2f43d26fee110e557d21b8b77212eb064181670d1fcb573d4fa56445f61b1898ecfe74ad8caaf15901889a002c110bfa35ae5efa354658d2d3a20e25219d825e6d535c44500310a46023bf96090752f1a876bdb530009b77d9401c5bce2c6026a02a1c65462e9984be9ad9228d17b95cf633aaae9c9ea49d18aa9496d6d4002afb9a5ed58883238441a4a23958437d1b5aad5a38bee1632ffab1652b6b5658a16a90146a87162d9f76bc9dd704d1255f6c09b51c43e0bc671772423a11305dc442500d9266aaeacc4927aee9f6a04d886c210e93d3256e314201af9979e65a19c5dd4a1aab74b2c7220b25366db895d0f20388de4b32209847e025b5c40e84b2c977471fe02bdb4f3840053ba7cf0b0ae2c9f416799928974b3ecb62f0e6268f73b66ef961a2f2f395b425cf35ca009e01d4fcca03f4c3c46480e47ba57381701e3699959ec783c49a0c91f16a01473448a0cb80b027eb8b86c86e9e58de538ecfcad778702dc19284bdac23770ee8e8ddf837a0273b41affaaf95084e2753d101e18602faa308790e65d83c500a919d1a40c83340084758a28ffaaa5db5d5dab7d2361318b0d816f0776ebb4d81ae62a6bcb26128ae63091b957eafb7e7577ad59866b7996fedb45d6a5e60f57c540562b33486a0dbd699926db49743e776bc502b391d53f30cf9a4e173df4efea219f42f7095d7d622142391c77831f4cd6e272ef6fd297189d125583a8e66306d14f0474b480c9aea92abd4ac31313268550762622add5d6c163b3d330b38cb555097526b1570819a96247918ace36aeecc668896628bb4e86a392e74f88273b53f66c10d30459ae398691f7ab5af4aa54abf811c7dd02f91cf8ef2b7907a1e56b37db39e631fe0dfceebfef6e4cbbf2f85055b6e1a2694ec0aca075bbd2a2542297c44b0bf85a7e07fb84b7ba87b44f80a9f79351d24d6592b2717cb5fdbb7c9ccb554d265ea81c228a2a9ef574332f30ec5db63c11747ef0469639c014cd1c5e9bf6bf3afefa96df03a2fbbb32454d733f512c57705f28ded040a560ec8386405f0d41fa041000042f78d463342be6676dea0c7a1aa8eaecfaee13dc568ebb10e180c99bcb3ba63de50a7467ef338d3cace797614096fe1725ed3e15ef46c7ac79ae6c5f7c83904caf92a0ee9d340a311cc42a982f9e423698dfe267c52efcec91fd08503dcb7140fdf2afe7d564a6c391b50a03ec9c49d5fe79088b1304331f86416db9ca0edf7867e1eb3596e4a909079e935c0faba716b4ab336bb891635a5f771c10bb4935c735289eba06095b2a37934673b2d06bfc2d6f039cf78c1c4b667441e899d8c4a0ab0d75c42fd360a195a1ee2f5ec6a46c9fe67f9ac27aef75f38021fbb0955f44cd7b3b008d0dc53d66d1512c62d6a3e8230fc75f73f9893ff994b89a1935ede0dd02f7b99196db38cb0954ee9c9b32a2ed96ea4d88a65b586b372884f9b86ad22f370222f5e1ff69ad8952545381a8bc56f6a4fac0ab7de3d23c9ee743995413db0949627dd983529f150aacfc487cb24712896f3b55d7f9da9fd50630494fce9ebce0ecf5c2edc237edef287cbd8f8e675b40beafd42622cdba85cd12dff61167a4a3ffaf27a5a4ab9797f60b79216568918b56a4c90af6a57e627f87c25062234b6018e1aa23be1a5b969e5715966363121acf0791b5559b8b7371b15d8745e7a6c8ed8caa5f21be45e0c5c452c1c77f7d318f0fa84987e750866eece2a885a22349198549354d811fdaf270b4c1e96ed45648b7736e628e3913cd41c3be450abaa7e775e306e685db4ed07f9c8656c797c9ee56e08d8a1ffbd5ceb90d61efb7ea946b3241fe85c8e96c46942b7debfd93b55da6996e33082361774072810dd74042ed99c62847b87cbb5b50accd1ce35c5c1877aae9da26cecf48bc70b46204a12800acdd676384925a88d4f322ff39f910d7ee3dee745dd40c0e0631a98c6f46ddf2fee25d651f4c7dfae3bc39b5802b71b6cc06e4765a0a7dfc78c8842503df2b9193b149ad379bd430e81eeecea2f9bc566ed0d84c1e8da10a1a43df765ac8bb781cdfc5538b2df79613347687f537d9840edee299c476d569f1b2ef86edcd6544aa80ea66f37e1fa33435f8a74cacca73342f8eb5db641ed87a3f0903914ce1d188800060f3bd55ec082c69fee21c1ac8ef94b71628b971ff347b7bb411b049dbb80057ba68635ef11f1ea3448cb671a4bc9b1fd5fec3408ad6a9d406cd76730eff2378494fed4a176c4840f902c22a70148a28e9d1440f3cec5d9126fe13153f08b6937713fa8e7ffc1097453feaad94c9aab2700f3c5e11b145b9260b0b44a9e22d88cbab07c12e4757a8c606e24756c44d8f570de78b62b0f1c64ba1a2160d69337b6caf049d0be0fc0c158955a86d93aac6a00c24d72f7d283e82b5df9693b9b9eb879b7dc2809013cb06236eb89b097a7ba5998e653b3aaddbdaebc603d4595ee53af1d1bde6609169eb58844e38f5479cd08bda81ee281d3de50c1eeed5a5d9ff6c60f699f694445bac98e4e448f780e940c1c7e2894fa3e2cdf7b086a3b15ea86cb270e6efd79b1504c8d98fd946fc7337befb6222a21e7a7f58a37c89a94685fffc04394f9ec77eb2cf099a7220cdf486d25632443f27fc9cbe60155514d7332b83b7bceff1fa54337ab3e01a99d50a5e0758543c6fd294078129ce2608825179d85eca305b16e0f318231b32d8e02f7a50662901a4d63fb396b1d95a67688d6abe64aafea36e668ad1b9d94524e71f593d01e5e767a881bc7e1c84c7ca6081c04fdc9eb3d133347cf5a395fa1eae5bdbe51451e69105f400ba35289bfbe577941449ad7c924b5c348114715a0dde605c46363b3e86d63218c6bf8721fd85bc6c31fcc903385319bf4acf81cfa013d5a2b0d9d42a2400edbaa78a45f0544bc8780783ca5629f620c1e19d4ddff61d9b3627157cc8afedf1be141515f7ae624febd2f41944c30a15b84f98b9b729ae22a9ffbde37328bf889b8b46497842eb2ca223f4f5205cf49f68a778c53fff66e7d8babe41208819141564087d3e32cc55635228650db348de864296a8e8cf22887dd48177eaa7f21f8e274fd18cb781324ca54cb777c93a2c29402d144fccb43a21fce38a876e2ed6af54595f4dd398ebf026b8c3cd8d8012545c296b50ca9779c1afe91ee9e976f4473ca0b37f5b4af9d8d1e5964fd3133b3ea5ee9625b8d9ded81eb1f9180b80cba106f5ccf8ce510961cc51cc0ac7c357026d8ff2a52c7f6a9eb3de72ab8bc8b7f5d4c05e1ba7b6ca8176e61007f9b6fcf83a00faf62adb8fc9fee18d687a5d6b18bc0e64d4c9ac239dc9b5491e279554192f37a91fab88e220e45dbe1d1662afa9f1557a9a7f818ed3f722edb330ac2469cdfcc3c6b61dfc6c163d4a05341d1f37835073d37a5f71dd2e14f7cdd548ee1be8eceb4016c5526dfd261faf5c950e508dc120d4cc92878cce629c05f0867dad39ab50acdcc61aa2243bde3c5e1520aaeb563e196f0b69d914318d00cda9a3a462c2c21c31017d3d700c5c8758ea6ad734287ab57fbe7c0432128e2dca3ba589bacaa16cc201bb434dcbdb0fe5e3fb503e191f03774a76cc76adebf9d6ac56de91b63dc2dedca67ae5f3b03b4c43c967caf479c35c216b0c15cf592a7fd25b38c95b7600391914193e419b17c466b62c96ca6055c6768446809988d5074e46c86fc847f3ba8a42b218631acc8df4e7a94c4f0a4f290d54ef8bc9ea3a779fad6c1d2a61e5f0a6a6d5ccd4de6b1da2bb22f6807b452d391dc4c6b9bb6bf9e23c58bbc071e95444d42a1e37c85e885e7edfd682b8900a381a7cbad4f612884f22ea386bd268efd57076746fc51d8a6a370cb97a61c0d2353b79a5f82ae24ee24e3ca77b1620d55e348e4aa89834a432509413a968fd5bbcaea7b87f6d3e7ab30e32047f14257c9ee561002b867186640fa8c4d431b3eead471a8c228ab5b2866d1b44459a5a85625db35896f0dcbd75a27f4c7f471ffe837b549db35fdcbca577ccbea2d3f9443df102cc1c54147d77377d123af0e8e4c447d9fc6fe782935e54988bff28288a893c3a7b3821f598ba9b63ccfd7754e2c3861aecdd631699a7e870e5df9f6d1346ed2e8a43b7561038657d6eeb523abbb75f8709bbd0ab7e504ed09d6472282e13f0298ebd3a78e5ae4eae95f806955e1f606f5d694cb0207b8380e4c2fa2b9ed3a97a830738beae311290fc25c4dd28a910c141cd454cbb2fbdc3e3ed85d79ea683000d30de48eab126fe4f1ee27824a9e3b06c1a9a9ea57b71ae7339bcbbf8103831652d4d19002d6b200a6b1c06f52d891ad02cd7e92647b3cf01a9365035f96a9e4f20431134e01dd08e58af16f1d76576d84c14ec3152bce54deb912fc8ffdcc05e0b1b8acd3d3a1b79fbb52adf2004a8080b50c11539e3a43598a094abf7d6f5c7ddc7eebb2ab86a3e134320af8a7a4fd90be56491705a40fd5ca7b8683d9af346ccdae40f2a4112033b03debd4c5786552198ea5b382944e6863dee9ee1d0df28a298bf52882b9aa22d3e2ce865dafaa8e9e0e93f18f7a62670e58f494740e6097fe2d8df9f2051b3dc992e97234dca3e4c8351624feed45eeac2c5db12dd69f6e03fa5eb1a6df7a4e2795142baa5a317ac13cf19218ad71ae0519f4d0520c20f76d8491422689f3ecd447f5d72d73799f39d842e0f3436a3a5a5c7d7994ee1a7b05974e2dabb3148d288ef3ed115677f4027d0be2fcc0ba67485480f61b0f848435024f259ce96e4727f03af3a458a81ec143ccdfa2f7664b6631ce8692a7774f17487345e0c149fc0cdb08fddd98090073b36904983d951be1517113b1f06f3c98f266adadf9d7630898459edbf278fe92486fcb5cd2d0f3d8e776dca5cb44e56092f619688ad4c4943d3d774889b76a4281b835a849d3e964cfd8bdb1b859658fdc9bc3b941816746e1e75fa13795cfb150ae91ee3b1fff0724bcea4e08dc46836144065c3bd6bb87d5ca034ced91b6511a0d7ca218e0288d0114958f4165dcf6d07ae5418839914f5f46cc1ae4df8c4cb9652e8f230ee176f4a8b48f1271f9e560b59a34c1e05c4292926ddfabd843bec494d8804cbd8b6ee7a5b17a37c6202e349ec24d595318aa82d12c0402578f04686681edbe969010e325f616d53f2d352d5c393ed4a5f4a6677e45e3da8ee779745de24a1412beeafbf85c8307f8eb43add5e3c703182910882f7a94f62b2c9510ca4d56e75419bbc7842984ed7eb82499946d572252635d025b901b901c77ebb47065bceb8c9d67a394f92257f77da650d5d0f0762b9348bc9ee0240f79b85189ccc2751606837270a54e8979ffb0a5d87dd9eecc89e13a0764a02624d7d980dd8cb36bc12dea381350a182b47794e0f28bc52a38cae7f8b08901182732734eeda4f72a38469028a4dbab246148f97f7430df723c7aa727c6b356a96bab5c9b611addbc8e8311818133b4f53bdc12d369b1be6fb1c74815815a08ecf6170471de1bce224a30049020ac403a18cba908fdee7c9acc5eb7f242efe437ffa60fb0e32765b9e0266016dd0deea71ee1a612a42228460dd3945d5d04653447923117bc9001d6a1c405e8734bcc5b642a9df6b81220631b7ca84c2d03beb013051b65b42b96480fc1648f4f28a1f21ccf69ece7f1b6a30e153ef131e9172c7ca45aa598a6c28a502ae987852b7734da7cc76aee0f51fcbcb80a2f8f42da12d0713737f403c3b247221006e785ba8129bd3e509064823674dab8a131422295aa44337f28ea7766d0e9b8cdf58eb30c5f717e76c0251fcf4d2440f23ca664a35b6f0500f7bc8f119c118ddf14470d497f523675921b9793f2e9772f51768b53aa70bb8283ab946e2bbd09f4466faac06196a470e8bbf6cb653bc60f3ae910fa5d5b2f43d26fee110e557d21b8b77212eb064181670d1fcb573d4fa56445f61b1898ecfe74ad8caaf15901889a002c110bfa35ae5efa354658d2d3a20e25219d825e6d535c44500310a46023bf96090752f1a876bdb530009b77d9401c5bce2c6026a02a1c65462e9984be9ad9228d17b95cf633aaae9c9ea49d18aa9496d6d4002afb9a5ed58883238441a4a23958437d1b5aad5a38bee1632ffab1652b6b5658a16a90146a87162d9f76bc9dd704d1255f6c09b51c43e0bc671772423a11305dc442500d9266aaeacc4927aee9f6a04d886c210e93d3256e314201af9979e65a19c5dd4a1aab74b2c7220b25366db895d0f20388de4b32209847e025b5c40e84b2c977471fe02bdb4f3840053ba7cf0b0ae2c9f416799928974b3ecb62f0e6268f73b66ef961a2f2f395b425cf35ca009e01d4fcca03f4c3c46480e47ba57381701e3699959ec783c49a0c91f16a01473448a0cb80b027eb8b86c86e9e58de538ecfcad778702dc19284bdac23770ee8e8ddf837a0273b41affaaf95084e2753d101e18602faa308790e65d83c500a919d1a40c83340084758a28ffaaa5db5d5dab7d2361318b0d816f0776ebb4d81ae62a6bcb26128ae63091b957eafb7e7577ad59866b7996fedb45d6a5e60f57c540562b33486a0dbd699926db49743e776bc502b391d53f30cf9a4e173df4efea219f42f7095d7d622142391c77831f4cd6e272ef6fd297189d125583a8e66306d14f0474b480c9aea92abd4ac31313268550762622add5d6c163b3d330b38cb555097526b1570819a96247918ace36aeecc668896628bb4e86a392e74f88273b53f66c10d30459ae398691f7ab5af4aa54abf811c7dd02f91cf8ef2b7907a1e56b37db39e631fe0dfceebfef6e4cbbf2f85055b6e1a2694ec0aca075bbd2a2542297c44b0bf85a7e07fb84b7ba87b44f80a9f79351d24d6592b2717cb5fdbb7c9ccb554d265ea81c228a2a9ef574332f30ec5db63c11747ef0469639c014cd1c5e9bf6bf3afefa96df03a2fbbb32454d733f512c57705f28ded040a560ec8386405f0d41fa041000042f78d463342be6676dea0c7a1aa8eaecfaee13dc568ebb10e180c99bcb3ba63de50a7467ef338d3cace797614096fe1725ed3e15ef46c7ac79ae6c5f7c83904caf92a0ee9d340a311cc42a982f9e423698dfe267c52efcec91fd08503dcb7140fdf2afe7d564a6c391b50a03ec9c49d5fe79088b1304331f86416db9ca0edf7867e1eb3596e4a909079e935c0faba716b4ab336bb891635a5f771c10bb4935c735289eba06095b2a37934673b2d06bfc2d6f039cf78c1c4b667441e899d8c4a0ab0d75c42fd360a195a1ee2f5ec6a46c9fe67f9ac27aef75f38021fbb0955f44cd7b3b008d0dc53d66d1512c62d6a3e8230fc75f73f9893ff994b89a1935ede0dd02f7b99196db38cb0954ee9c9b32a2ed96ea4d88a65b586b372884f9b86ad22f370222f5e1ff69ad8952545381a8bc56f6a4fac0ab7de3d23c9ee743995413db0949627dd983529f150aacfc487cb24712896f3b55d7f9da9fd50630494fce9ebce0ecf5c2edc237edef287cbd8f8e675b40beafd42622cdba85cd12dff61167a4a3ffaf27a5a4ab9797f60b79216568918b56a4c90af6a57e627f87c25062234b6018e1aa23be1a5b969e5715966363121acf0791b5559b8b7371b15d8745e7a6c8ed8caa5f21be45e0c5c452c1c77f7d318f0fa84987e750866eece2a885a22349198549354d811fdaf270b4c1e96ed45648b7736e628e3913cd41c3be450abaa7e775e306e685db4ed07f9c8656c797c9ee56e08d8a1ffbd5ceb90d61efb7ea946b3241fe85c8e96c46942b7debfd93b55da6996e33082361774072810dd74042ed99c62847b87cbb5b50accd1ce35c5c1877aae9da26cecf48bc70b46204a12800acdd676384925a88d4f322ff39f910d7ee3dee745dd40c0e0631a98c6f46ddf2fee25d651f4c7dfae3bc39b5802b71b6cc06e4765a0a7dfc78c8842503df2b9193b149ad379bd430e81eeecea2f9bc566ed0d84c1e8da10a1a43df765ac8bb781cdfc5538b2df79613347687f537d9840edee299c476d569f1b2ef86edcd6544aa80ea66f37e1fa33435f8a74cacca73342f8eb5db641ed87a3f0903914ce1d188800060f3bd55ec082c69fee21c1ac8ef94b71628b971ff347b7bb411b049dbb80057ba68635ef11f1ea3448cb671a4bc9b1fd5fec3408ad6a9d406cd76730eff2378494fed4a176c4840f902c22a70148a28e9d1440f3cec5d9126fe13153f08b6937713fa8e7ffc1097453feaad94c9aab2700f3c5e11b145b9260b0b44a9e22d88cbab07c12e4757a8c606e24756c44d8f570de78b62b0f1c64ba1a2160d69337b6caf049d0be0fc0c158955a86d93aac6a00c24d72f7d283e82b5df9693b9b9eb879b7dc2809013cb06236eb89b097a7ba5998e653b3aaddbdaebc603d4595ee53af1d1bde6609169eb58844e38f5479cd08bda81ee281d3de50c1eeed5a5d9ff6c60f699f694445bac98e4e448f780e940c1c7e2894fa3e2cdf7b086a3b15ea86cb270e6efd79b1504c8d98fd946fc7337befb6222a21e7a7f58a37c89a94685fffc04394f9ec77eb2cf099a7220cdf486d25632443f27fc9cbe60155514d7332b83b7bceff1fa54337ab3e01a99d50a5e0758543c6fd294078129ce2608825179d85eca305b16e0f318231b32d8e02f7a50662901a4d63fb396b1d95a67688d6abe64aafea36e668ad1b9d94524e71f593d01e5e767a881bc7e1c84c7ca6081c04fdc9eb3d133347cf5a395fa1eae5bdbe51451e69105f400ba35289bfbe577941449ad7c924b5c348114715a0dde605c46363b3e86d63218c6bf8721fd85bc6c31fcc903385319bf4acf81cfa013d5a2b0d9d42a2400edbaa78a45f0544bc8780783ca5629f620c1e19d4ddff61d9b3627157cc8afedf1be141515f7ae624febd2f41944c30a15b84f98b9b729ae22a9ffbde37328bf889b8b46497842eb2ca223f4f5205cf49f68a778c53fff66e7d8babe41208819141564087d3e32cc55635228650db348de864296a8e8cf22887dd48177eaa7f21f8e274fd18cb781324ca54cb777c93a2c29402d144fccb43a21fce38a876e2ed6af54595f4dd398ebf026b8c3cd8d8012545c296b50ca9779c1afe91ee9e976f4473ca0b37f5b4af9d8d1e5964fd3133b3ea5ee9625b8d9ded81eb1f9180b80cba106f5ccf8ce510961cc51cc0ac7c357026d8ff2a52c7f6a9eb3de72ab8bc8b7f5d4c05e1ba7b6ca8176e61007f9b6fcf83a00faf62adb8fc9fee18d687a5d6b18bc0e64d4c9ac239dc9b5491de6172170eab9d0832676cb99c4114573532bca2f9bb83cf010b7c537d29e83d330ac2469cdfcc3c6b61dfc6c163d4a05341d1f37835073d37a5f71dd2e14f7cdd548ee1be8eceb4016c5526dfd261faf5c950e508dc120d4cc92878cce629c05f0867dad39ab50acdcc61aa2243bde3c5e1520aaeb563e196f0b69d914318d00cda9a3a462c2c21c31017d3d700c5c8758ea6ad734287ab57fbe7c0432128e2dca3ba589bacaa16cc201bb434dcbdb0fe5e3fb503e191f03774a76cc76adebf9d6ac56de91b63dc2dedca67ae5f3b03b4c43c967caf479c35c216b0c15cf592a7fd25b38c95b7600391914193e419b17c466b62c96ca6055c6768446809988d5074e46c86fc847f3ba8a42b218631acc8df4e7a94c4f0a4f290d54ef8bc9ea3a779fad6c1d2a61e5f0a6a6d5ccd4de6b1da2bb22f6807b452d391dc4c6b9bb6957c57af037e4cb95ff63a269b91513d5aeb364b49c4acc32f762ecd1450e2a82884f22ea386bd268efd57076746fc51d8a6a370cb97a61c0d2353b79a5f82ae24ee24e3ca77b1620d55e348e4aa89834a432509413a968fd5bbcaea7b87f6d3e7ab30e32047f14257c9ee561002b867186640fa8c4d431b3eead471a8c228ab5b2866d1b44459a5a85625db35896f0dcbd75a27f4c7f471ffe837b549db35fd6d92882a2174d9c7faecb746d9aa7711ef4d318d1f493aa87982556d398452e92935e54988bff28288a893c3a7b3821f598ba9b63ccfd7754e2c3861aecdd631699a7e870e5df9f6d1346ed2e8a43b7561038657d6eeb523abbb75f8709bbd0ab7e504ed09d6472282e13f0298ebd3a78e5ae4eae95f806955e1f606f5d694cb0207b8380e4c2fa2b9ed3a97a830738beae311290fc25c4dd28a910c141cd454cbb2fbdc3e3ed85d79ea683000d30de48eab126fe4f1ee27824a9e3b06c1a9a9ea57b71ae7339bcbbf8103831652d4d19002d6b200a6b1c06f52d891ad02cd7e92647b3cf01a9365035f96a9e4f20431134e01dd08e58af16f1d76576d84c14ec3152bce54deb912fc8ffdcc05e0b1b8acd3d3a1b79fbb52adf2004a8080b50c11539e3a43598a094abf7d6f5c7ddc7eebb2ab86a3e134320af8a7a4fd90be56e79600fef8e998428bcfa888437aaa82e1c6cee0889b21e60e85ed2f1628abada5b382944e6863dee9ee1d0df28a298bf52882b9aa22d3e2ce865dafaa8e9e0e93f18f7a62670e58f494740e6097fe2d8df9f2051b3dc992e97234dca3e4c8351624feed45eeac2c5db12dd69f6e03fa5eb1a6df7a4e2795142baa5a317ac13cf19218ad71ae0519f4d0520c20f76d8491422689f3ecd447f5d72d73799f39d842e0f3436a3a5a5c7d7994ee1a7b05974e2dabb3148d288ef3ed115677f4027d0be2fcc0ba67485480f61b0f848435024f259ce96e4727f03af3a458a81ec143ccdfa2f7664b6631ce8692a7774f17487345e0c149fc0cdb08fddd98090073b3b835a849d3e964cfd8bdb1b859658fdc9bc3b941816746e1e75fa13795cfb150ae91ee3b1fff0724bcea4e08dc46836144065c3bd6bb87d5ca034ced91b6511a0d7ca218e0288d0114958f4165dcf6d07ae5418839914f5f46cc1ae4df8c4cb9652e8f230ee176f4a8b48f1271f9e560b59a34c1e05c4292926ddfabd843bec494d8804cbd8b6ee7a5b17a37c6202e349ec24d595318aa82d12c0402578f04686681edbe969010e325f616d53f2d352d5c393ed4a5f4a6677e45e3da8ee7797417aadb56ae4b6f463a78ee7c875b781d8336257841d1c9ec9190516be904151cca4d56e75419bbc7842984ed7eb82499946d572252635d025b901b901c77ebb47065bceb8c9d67a394f92257f77da650d5d0f0762b9348bc9ee0240f79b85189ccc2751606837270a54e8979ffb0a5d87dd9eecc89e13a0764a02624d7d980dda4f72a38469028a4dbab246148f97f7430df723c7aa727c6b356a96bab5c9b611addbc8e8311818133b4f53bdc12d369b1be6fb1c74815815a08ecf6170471de1bce224a30049020ac403a18cba908fdee7c9acc5eb7f242efe437ffa60fb0e3b7d6dc1773c2b9ec1dc77cbd35e52cb923b9b7d5419be4bebbd04ed54e3b8c8845ecdfedce515e046ea3746e3d24c4b1dbfc5498571361761c1f6fa6098fa33d2b96480fc1648f4f28a1f21ccf69ece7f1b6a30e153ef131e9172c7ca45aa598a6c28a502ae987852b7734da7cc76aee0f51fcbcb80a2f8f42da12d0713737f403c3b247221006e785ba8129bd3e509064823674dab8a131422295aa44337f28a684eddff14b18a3e488c78bedb1b476d780cfa0d1f3651c03fd42e4ada60769bc8f119c118ddf14470d497f523675921b9793f2e9772f51768b53aa70bb8283ab946e2bbd09f4466faac06196a470e8bbf6cb653bc60f3ae910fa5d5b2f43d26fee110e557d21b8b77212eb064181670d1fcb573d4fa56445f61b1898ecfe74ad8caaf15901889a002c110bfa35ae5efa354658d2d3a20e25219d825e6d535c44500310a46023bf96090752f1a876bdb530009b77d9401c5bce2c6026a02a1c65462e9984be9ad9228d17b95cf633aaae9c9ea49d18aa9496d6d4002afb9a5ed58883238441a4a23958437d1b5aad5a38bee1632ffab1652b6b5658a16a90146a87162d9f76bc9dd704d1255f6c09b51c43e0bc671772423a11305dc442500d9266aaeacc4927aee9f6a04d886c210e93d3256e314201af9979e65a19c5dd4a1aab74b2c7220b25366db895d0f20388de4b32209847e025b5c40e84b2c977471fe02bdb4f3840053ba7cf0b0ae2c9f416799928974b3ecb62f0e6268f73b66ef961a2f2f395b425cf35ca009e01d4fcca03f4c3c46480e47ba57381701e3699959ec783c49a0c91f16a01473448a0cb80b027eb8b86c86e9e58de538ecfcad778702dc19284bdac23770ee8e8ddf837a0273b41affaaf95084e2753d101e18602faa308790e65d83c500a919d1a40c83340084758a28ffaaa5db5d5dab7d2361318b0d816f0776ebb4d81ae62a6bcb26128ae63091b957eafb7e7577ad598668e717702a6a935d2f914c67ccc654d67f3deff75d305d54953d86125fa1bece8391257cb17474c3403bfa44e213d51fd9e1b9eb2f9498750d3dd95d8814999c0fd297189d125583a8e66306d14f0474b480c9aea92abd4ac31313268550762622add5d6c163b3d330b38cb555097526b1570819a96247918ace36aeecc668896a65274969d8461eb7a7a3b405f8514e1ac016d4b2730af6026d24cd04031fd9efeb591b0589d9185a69712af14d81c13c3f26cc3c21d25420232d32171e75d9c2afc546ac2aca11cababe36673c30022136c21220aa187a31616f5a181a58694a1aa8eaecfaee13dc568ebb10e180c99bcb3ba63de50a7467ef338d3cace797614096fe1725ed3e15ef46c7ac79ae6c5f7c83904caf92a0ee9d340a311cc42a982f9e423698dfe267c52efcec91fd08503dcb7140fdf2afe7d564a6c391b50a03ec9c49d5fe79088b1304331f86416db9ca0edf7867e1eb3596e4a909079e935c0faba716b4ab336bb891635a5f771c10bb4935c735289eba06095b2a37934673b2d06bfc2d6f039cf78c1c4b667441e899d8c4a0ab0d75c42fd360a195a1ee207786fda78de8fb009d454b85408d299a42594be0edff7ae4bc1370341836578df04db547833e94f3cd09e0818018e27dd6da29c49db88753a08ea0d21a2bebc7ea7430c2aa026620d6a00bcf9f84082df859b4b2dd68afba42a5c2f54b85bb09ce46a51d533924d534b1f4482d7b1d7e7b84fdf6dc69f5d7e84adf36a4e0de12623f9aa21ea6234a040895c968a73799e27c24a551bc39f39ebd07f415496a686fcab311c18b261f10325b51192a1afab7cdbca27a159e28e0c3faac52a3dbfdc9884e31149020dc41b99c9354a1831e68112b363c26103a6ced44d6b4ad29a0704eeede985fb5af4d87e38c67becfc6b9fa92033ce5bcba05c3e98b45b677ce5e13763f5694e724eacea320554b21cc07745d922ef149b6caf4fe53864a14a6cfcd389f65b5955ffecf3b50a010f35a5b217174a5db96bb17dd604940e0e3ca67de7e617ccac4a1b8b5f3c5c11dcffc69a843eb75dd0e84b37f361613d767fa20f64832d1f780413dfaa35bc79754660af7aa3298fff6e8794f2de951860e6dc6df15343d9381a33782b33972536ee2645ebdd5537dafd6b6d7897b241fe8d521441d9eaa6891561453bcd2024caed3c067b406ab368f4246694b24d9af6fd8081b331b6673370fd995603b338acf5e8b8c32f36aecdcab34cc76a96603b8b1e8aec97ea316551cb224ba275d0465d24393bee6b453183f055f2c699d026af7bbadc3912567d709917a01cb113b7fc36f9e1881f31019231d3fbb175da2d2299aee40960f97429da0344ae03f52a7e9d0bf000897eead84235af7a9066ff997eb15db891c116e8c5d18a6562ee1e279b31d28460039195fca09e6dad25879126afa6a15054b4001e9974a4a36f921960e28f619a7df5dc52a867416268eaacff6f6f0f857f8326eed013c8ab8476796585965296138b1c6abd5e55c5c78b18d5e5a41168b6ecc043650dbada82f2472c92c736891d28a97e5557a3f95c0e1282c5bd276707f37f8b79835a7602a4395b3971c6ae77608a6de546f8a6aa930eb73084a505ac63511baa370abb49617418b09523a70d991acd8aebbd6e102fd843310318fb127ad79f43be799e07b603f32e30677d56b8cbdad5ee873f540701ed05d10b992fc2a9d44d3c30cbe179ee1f5e44db39038193cd8e804dbff552f016025009ddba4f1bb51cc1255a63dd433830d92c9e5f2951f17d6f9b7c26f537a5c129c3fc5610d59c3bc9bf3ee9ce6de0ad8da976854db7e6305cc83d6361642c80907c09e3fe862135a0f74f68b6a1b5c0c907c83edac9b517117155e584ef17d229a505ce6e0244b665e29a76cf6c0bf8041fd1775bc2231be4058ffbf5572614d1697ee49977064990b3a74f3a6a48bf29fd89b11a8210c9a3e66a68f1870a20c2e457f43a6ccfabf72e548fb8f77c5a3ea4ea6f5b56d966b4c60ab5982cfcf527830658db6598870ec197e9224905e6569ac15b129e0afee1fb840806108ef5291e927b22aa43fd078e545089e92fe42164f2697a21aca060db7b54bbb808e1d746273939b24d3b0ff30aeb24f8b7ebf2b3921a0cc69c0eeeb1a7df4891e77a9ec46d82c4287a97895390d8b7f4c615a8e1fe01ea97b0a79231618779e6c027ffec3d95ee070f76431e95e655daea7b01294b41ce1b1639f6510be3edddcf2fc5bc7143a814e3c3b320824f02f3cfe37a27da060332855e787b40f9118199726014cf21cd14fb5160329f4b6106030b71e60519102c8c0fed5e51ce8e45c627f01a13466cd8a77ee75295f34085ca68d5f2a7fb69d4d70b9060f6512e88789cfd1929e03490e2eacd424684f9b91e61b587ee93960d30873e73d74d04808bf00685500be57fd2efff7c80ef036f019fa236a492dbd0f55b89469b3c90a2564de9a7761944278ea1df03e67c2b15b46f5229c8a8bdc04ff5f3a3f0724dc57c880b9442d5d38559187e0c76a6ea835dd9054c8818e774550c1356594338ee1218fd9d2ca1df8a1ce720c05c9a6bfec4335e9a59db5754ca53d281e11878988078adb140bc8094efcdec2b267a42a5c7d30572aa4bc43bc9382f9d9e23ea3a5c0ce330ab4006a211b71ece8a31604a38f60a9cf89a4bc35c172b796d72a8110de9de20f5c0391670666a6e8320468307fcfe20a4f180078b8fc29416f7a2356e5dc8841cff6a8392486547e98eb8201cdb762a94d8e977664874d1b2e124a3ece05ad4d1251369b9857ef95b411f115559eae7b8d11e74c4d12ae629d141dc2bb62ace8ccab7857245ed87ec1cf912e4331608be00c3ad4567b59bb514c5ea269e4269f7b328916b926c51e5d3623d8fa2f01b9b95cadcc19787e38e07cd1940e9e81110bb0806fdffff29b3606720ab4b3f7955b17a4b9572e63e8dca9fb937fc24d5f55c9c91b584083c568708dff264d1d7f8df673cee72bb87628aa4e1b5f099b76548cb301cc3fb725c2fca9ed5f4f9f254ae5fe3cc4e25dde1be5f111a29fb0fc30091158c88d6b3f5f1af3788c23ff877f80ace6af2cf0d3757a883c7d0248c58fee57349f8ac51ac120412d6ffd86781ad1d2eb03c2038afc97c3e5df4133ff8de926590cc57d1df79065cbe7c04feb375f4266ba5950abd962b18ff65d991f751e0d78a02eb87130eded76bf04092025de0738f82d2c4af54ba83e17aa088c3273d5330aeb8ddaaa3ae81c4bb4460f2282e03a5c1543d0649ee965a3a0f72b3c94f7b36ab3fe132a43c1404c9f8525be9de242c9a61a320a1e183eb2583a7b84e0da37c1e39378d4f7bf3af50729098e7040c22969a060b31716a323e71c83b8627fcc2dd38953c978a1a6c0b85331c153b081be0c36f8ebf299c6937f677cd1a36dc5a7f599515e496a07cc5866bf0f874806bb91bb6269e7ce40f9dc3dc7238428ae08af29ee463d20bddac14369785b320693f4f14da54a46171c65214f0415dcf86a7d4eab6fd4b085ebc7375b0eb749381def93c406fa5a77d4b8abacd2ffa733f579c99a587af4fc48d9ff5a421aae850c764db84104f863ac03894af45b11d80d4bf4c69cf92ebb936644405b1ba7b3a1dac09d52b3922b0e4292566be221a5891926893eb7d9af0e657adffeb5e3c332dc4a44a842db1d561c493cc7802721adad2e5ce81b704fe25440a1c1fe33ee327cff6655a3a70eb72499387f2b0aa0967d467225c9595b77bb1cc1253ac2d354cd326872e610eaf4d6b68c2c176aaca0cf189f23e7e77888becbea3bf78c48e29415db81d4e56c2f8573bf77f6d6c20a2bba8e49e84c0017a1c62c27c93ebabc15a0063e7aaeab047644497f2c59cb800dedb4347ba4d3ddb8914a9f28eef60c3ce980e84697a0df76b6265693cd6736acdad1e32b8c14cbe9cb488e15af27983486a9e6bd6e8f64a29c6532f1f3e8ceccccea5b9ee70f19b9766835bf9ac78a9844a1fffa5c30aec7b4573167565df33b4fcb366cfc4aaac137ff61374e759c52b4d2a6ca61ce41bf3ad78e8681d2d87f030c888d514c39540aa8e376b7adb8c0f8e8ca3e05e99c35e29dd830e1a9eb35cf9823677ecef3c417ca7ba40d221066a2740fcbd8f496e3d367c1cbcde2f19bc9b478627ea3eaea9a300028887b506de41a55e67b9fe1742c6d1bfc0bbbf08d6950978f44f6a94724aab09537fbe9027015c8c56d0a0cd5f20cb907ce526c63707a93dbfc9e1620e8f3cc12445835c05f551a3cedd8ca744a503b2b8f71f33d39d183eb77e9bf17f5da3f1994b16ec0808472e8168023a151ccbbb35d8b87ebb76af9347f7a4c0fb9ce06804e63bf514e4b35d4065e5578d7bb10a627a79fb0dd4d27cb0aafdde2f2c1a5cba0929082ef1e877d3f073dfbd8bfe36d96da25204b9d250a39c78c2c7e21243830364f563d8737e37940fe2e0b3974458cf514a26ad1f186e087d90e6f477dc39c08772d1f39553a4366b4e0195a4441834811e52332761dc8b2d2d423cc64cf4cc1b0eeec8464ac07bff4a5b29c88d73b45cb495f0ebb453da8ca4151dde5c5d3df02f521650f342435529113b439c295394837578ef06d785dd9719a223f95da4a40ab971c9c9285943ace8a0d4e25ec832757c38f672e8911f627af500268408282dc443f2d7c6783095837cd52cebd7e157cad498cc41c99cae3e2563485efe2603fd1cea66b36a38739ae60ca5c68d481f1f3044e36b80d1cd1cef9f127d7bdd9012130e01177a9a1d76b1714f91cb71ac560cd4186f560f39bb31717943eca042920c06c39c5b7e1df9e6d918898b92b9e916c365c5d8ca4e228eb27604337494873270b1d3d34440c416a195b4fed8e8d5f07322f4f6feb61e779c36236acb49354560f16437eb96ee01fc269c12c5d559d277cc63613c8332c0c8b9514d5408f680e1c23392ca0e90bac535cab7e3573573e721ed30807b031bbdc7fffb7f5bfc077b0ac4b176b47b834f7d843e5195460274853df27c4e1ae139d512bb5225e567f6bfa804c0b30c778f3db8467b3978b2500adf07ed91a45ca7acc6d86152b327552fdf39b50c7ec87dc987bb6f88feb7228b65016e3116e1f7c0a501120e7abc0052a5b1414fe218be6aaa485d943eaa72428b9a30613d86f8b1aaa2fdc83df1f944ce526fb1e6a7251f87069728f4e494c41f7f8dbc1d694148591a4de6f3c77ce0e0918504f72dbbdbc6422d875152850307ca523dc6813022665812b2eb71c8155c7cb30ed9ea94ae2c67a4631db10b181d7b2421f2bf364665b50da385feedfdca50d744ae36b5deba365509e463499b8d7c168f5ed8a251619a7f429cc5e9730b49216d32552ca56d2fb6db08657889fb4518a5e4423a50e2020fdf58d819ec2965e1be81fd468b211d08ca27c46d86b9eb401b85cec0ef513a680e9e76317675d4557b49be0072604dfe5f4ad5a932d8b5bcc5c03d93064fc765bde0b930940e100e4b7a88bf30fae09a7481110884459c3ef9dac578f5cc91070f6718d859ae6958152a93632bfb9a50aa8155b49ad1e86d291b6b7342bcd5fd89f3a43e0d1f558b0306d745922feb6d73287a068a816ad43d9aef37ff57956fccff20cea515b81d5d304bf2eb29dc96821afba1e30cbce163dce7ef3160cb9ce730fa2670e8b683e2b0c61b7d773311db43f9f09cbfe168a930db6359f33986b544f834759fdf72746cdd2c19385092b3b517a4605f29a449d172ab1484b45883fd51527451c000f6f1fef856266e8127144b1e301f54ffc893bb9d84c80486e6ebb5dd0b78fef6918c1fa269ca20c21e543c7b94172bd8f15364915d3f264b397a5bcc22ec7a94cc61a17eb2585c63d030a1957e4cb857bd8a66a70258ecd7b2a4f7794c715445670c143122a50df1765d25201ea1da5aeaffe35e35212562c872c6a4f933f86280ab7318f372d877d5cb96812ebdf3ef5b4fb861d9a51627357ee8a5bc3e35ec9bdc238cfebfcf32b1ed0e5675d56947bf70ae13ed97c9b33357e689e7df0767f9f3f83f70524dee7166010dbb59bf7bf1bed385b625b0993e67bf440a7084d2e82ee37aeddc2b27df4cbb5b12fa17c61d4954caea4105f3f0284514048fe70361cab99dbfd5c7e852a8e0eae9c22ec886d3f736840971322b3775c2fe7623324cd5a7b872adaca791a58cb0f58177397667360326c215f2aba17650806a32fdd3cf4bc44a365b97a38aff7170af59a3b2b0be44eae9f4b0b1ec4cf1c2f0c1df02c62a39cbcb53926e30db8ce924198ddb280b24c8529bd8960011738817f0b881ad7fff98a7ef5d2952f2ea1ba2792c77d70efebbb2150f78ff165ac3b1b00b40c52780d4a220551f89b6f6a97db1f2beb9008429542475d5f3cc8461e37e5c3887492d27a0d6b30e11fc738b78afc8a057bcca69c5e1cdb7f1f1e84e42b8bcbafb6cc9f37197a98c3c78f541191c828ba529b212e66675cb39dee71a3ca9435d72645510ec2a2d0c600139dd45744f77b63e30dafbfdaa0f577dea257eee2e927c9f0e0f001dd5424b9f38644bf81a0b52fd14c0cdc48b70dd738228d1cba2e7efed3cb9572ef535b9bafb7dc3cf1c7e53bcf1ad9444e633eecf0c98bc0c6de0d963e095fa7567a02589cbb08edb5bdf259cd11ddcd20830edd316b6651db284fe69c3386e493fb18c2651fc4d43f94de522cf7ca67fa50a72686f7211c3e9f13b4e834c6baa00b9ff629d4d71fceb65ba6cb274e9a8e1c89c428fd8b3c0b5d7346f46e8c81176624a624ee40a9b554b98ff1ca998242d97ba7899500c9244e982f22d7830ac152753f9812850f4a121388936c660db7cacbb1c98bc94dfa136d5a9c2c4af8502a824ba22869b48d677783e823d2e19e86962c618c9eb3ce77038a52d8ed5433d124feb046132a9501d34cfb2d2df0f2f8c57365b29c0ddb8ae937f31444d237f8ba53d0abb81813634ffac96e12584b01e4e832f746a200ca2aad199ae28f1081daeafc61017f2a16e1c9b03393eb23203147e7061898e04c1929b2f87ac28455c8abaad4f6d0610154acd02aee0547d56f02654f3680acf803c5e03473ecb1fc006dfba5bc20c091e4235fd7413b58d9f8f97f559cef46e6f9b46f02ad0f455aa43f5a4f1132934416b9ae1eb0daa6536077b497b06241001ec7fb475bebcdca779975bae17b58d26f5b025953a0930ae37b70fdd83f39788548db9935d4f6565db66d1d384e8e01cffab32974a577564a7d451c86f11c239a053c5c3cb185a8bf8179b285501fb75bea8132fc4e39ff5a93d8c8b64600be207506f73d8dcda1cf0d98e01320c46ebb120eeb71b55b4d7ce0e1c4201789c0db3e52d294d6e8fbbbced82e057475f53123ff569732e40cbf090f2dccc59e2695f12f20291ceaf0d28d687cee988581b05d39f2a46814a12597ef772c2a6dc0eb4a072d8b3f662a9eb4d016939c392ae1b8a7cdccb695b80a0e3035b478839c2f2c67752764eef7a87848a19cb35d00da802ea045e288cdfb1bded646035561fcdc12164cf4b447474ab29ec6a8cd0d10f86669876b82e9ed02881684a14b31231a768f53ebacb8e8726789b984508a844489104819290d41a6515f58e45823993be1594c710c275ed4b375a99e3c687c279075c62a21d092fae9ec93e8d639f9179666d8e6eef2b2526831fa095e94ea0d1dd563892f7f13ba76a34d16850f03b3f0390b9a86981eb562f13a235d698d770fb917ddadede517954fda7d1be98e27ac7e5e79f03e8e98549ff3bfee16e0d1385ca5afdd5182321ba6794aaf715b5143e129d3b147609d1e4e3fa38db2fdd0c90002a4114f2a50767d942a8b7a708772d7f0ce12ccb310cb11ad24be249f50d7d5c4937f1381dd99cc207081d99f8782134ebd6fff35871440565df35ffb1939946b3d76f664a3a0686f7a0b58aff0a451d317e5c1b39bb290dfb8e882e70b8aa670e63ed390482722d899c3e190ccdf83997a38ffeac02b5ccb21d5823fb2525888a39e2f33b7ebe3d0b643420db572885856e3a7951c2977cc4f8378c0fc5376d0cb8dc128b419f33cf73260364077cf6c918408c4c47257079abac4767d7084039865fe1110242cb789ef3f06cd1525c89f625e6338fbd5c7fc0d743cae2ceacd9372f821b3e3f2b121c9e1fd68c1a196a746d33513639ca953f005ee576ee1d04b082ab57e9d3f750dca68f5c9d36988aee1a0547b5e12c22e7ae423332d3125277d3cfccc210d4257649efb90383c6705e8704b7cfa046aa03c54396c1dde944477c3255d09792995c63f828cb1b326c15900f754186e6e935fd6ddfe3e9c993e80a9ef9801834e352dfc0ed89cbaf41e8f566c3c1a67ab578c91776f44634e604fedde501edf4ab61a58b0fdb40ef3c09e5070a631ca1502613fb949dcc5c649ba8e4e3872a24ece2952107b8e433087e73bd5bcfd3a0b052625953c1d01bfb4ca47505330370ab2871ccf3b69c7aef68acab77000775a65c8e5ba25e6f9ec04c51d1c812ff0e357b90aa3e26e0913a38d1af22f3f29836bb2aea759f6287fa7cb572b3443f41b489cdb0a29788168d1bf09a86d0abe2656c6caed6572854759b7ada7f6be49506f274d66b1273c37fc49203651cb4b8387f9eedbe8d9766337fef4ec564fde8577814649da69ae7c64e32fbbf7896b867f155477d558a5a8e7bf3e0128a1427e253978bd33ab00666572e709099e596379ef5b9d8b3ec2f5784e8ae643cae8bb7188efca76ae0d1d0ef6b12f3d0711ec490c6cbb59e2879b2936c32cd549c1d7a80d2922a33c80bc5ae5683981440f64c4d9947e69d1fe846f94986711ed9334265f87a3e150f836cb54d9110363cc15be1ccbea766b065b0652e572b47760085ce9811ccb3d96f9f9c3057705712478d93bf7036d842f84950c978b28167b579422e08b4cac5ace6121437a973c5413ceaa183306a10b5d8f71ba5a84d79e782fb228b5f3389978961a34a2b575ed5eaa7c1d427817dcd53ec34292c918fb4b373656706dc32c84aeb60acfe50f393c7c007a6701084d85e459b0782bd2079722134b63fbda032ee10fbd9ec4032f340e01654d6a3110eeb7c14fc4b3ff0449f5b2907b3e27d835a6889240db37b8483b36c50ca536d0899670ad6f985714970f57ecea070a8db0cb63307a8e7d9c82cf949db94c3901333d6623e5766baff02ecac14122a51ab939d51e7710df73650c1d7be83bad311678c33189a48b4b6fa28b903b3bc5390e6dd775f1d1ebcb2c4722b4e366bdce67555550093733b034ccc9e66058a78a5dfe11b3f8648f821ac8867aa51c9fac77605dd6a8e5791f3624f80e9194ac4419f1d3a97c0177f288a9badcefe6815c9eb6d24c0a2c776237104af915aa26fab671f01fc463ed40308af0eb5a3cabaa31dee62ce22e5101572d98d86bf5816513ab3a1f6bb7192adaa221dd8e772890456d1611ae84828f895f056a0383034ed84c98e16eeb0d157ad25f7788a148eae1ab6a2a868a0866f0552d9c9853cc8f1a341022c0d379793929f2a9eb400065e344fa93dc0f6a62fbde76e8723bf5b02e9ef325cb5eefe7040681505f24c87f8c740dd757eec8a08f2497924ca8df9dcaa9c01cf7cc797dd80c028ac440fae6b8825c328ab98563e1a8df9eff1d02d1d1ef1f42cfca9a2a5ab13cd88ae56de82159f0791737dc3ab2ce8e3d7778cceeb913c254f0c39f5a473a65e99281d1238111deddfb337b68785488da5fd1b6546d237ea745713261f494ebf91dfb734dcedc25652da0390c6ee6ae85c0a718d831611991a6155cfca779bb30a54fb485f2d14b24a811919e33e995fb5ae6dc266dba066361088c48232b77abac46ab039e0709edbd5629b93f9ba4074ab06d7f8cdfe59234c7317290615b9abb0c7bf8d843f70ce0a8fa524c19b00d49013af8d9dd5aef2bb260baafff0144f4f5346f1963bf9a8fb1b29308da54b995545e84442af3162b3ace20571cf4824e04a78f9feee7033f9d7b5be646ebac4f22b92edcc4471d4a52a1c0a07ab7975d21d8294d5d9caf5eff14bd14346d059e8c4ada83f936035d416c1d3ee642d55ee13e2b8d424e352efbe7e92b5d915ca619dbca1cfed21c50ec762febe411106fa813e4d18c3bdfe899139c9e6306f6ac2a3e98ae76c7179d4b9dc65af96fa0fbd3d1be0103a3eec24b09784f02e600a4b26ef03986083a815381fee838c68d48d6dd3ef955d1dd80402fa09f2c98249af47ef36de71d9d943f628b2cf6023ac3bb1dce2dbbb6edca5a835239d731fad342e2fd18ca90ae95d551df0a45d889c712b52d8674f2705ef2576d2a780bbf9702dc79d85bb881b07f9175acda264858c15d23868130fb25ba7797122942df555800808c8736df446f3c463640e98c8f8d6ebdb6ac22574769014c78a697a8d7f8024eabdb591c38205d6fd376c040979f753972a1c2fd782aaab29a2c051cf5a36b65838a3ce3438fc75a9ca92aa217952e6980189aa45c4101adfa0774097b435c6b57336f5c6f7af7739bb15349519b8f46a5d68401aec55f40d041b70f4475a406f23277375d1dd45564eab54df74f824dbfbbd475c287368340bc298402283536e996e0cfe57699706117d12b947ae75822201f62df1412ea6ca4b27e645d13e1d55d3f7da13423c0b341b3f2ce6fd1f0cc40142bb0be6ab0a500004f7f45112ce5578d1e7e59168ab225aaa148deee18d6a8a12bbf824d44340c78dc6eb269e0d8985ca581ea6b2fee4a97c151fb4c1fd7775a367a574497982b8cc1f4896e6f6cbf5bdeab1da934a0adfbd694828281606c99f5019a03b28e37784c07339a54e877fdd35bb54e0476e2b0389b11742715f20cf5edbaf6961bea24bb2ccff9ead5ac8700864c6094177680a1753dd18631324b3094a93fb9c6d95673887126446cae0f9f856397da0abdf81ceb1d56951a28b1faaf215e4e369f6e6d71e6a5f1d3ca7525d5c2a1b6a071b14d22d2b2820cb79a1a44522039e6a4ea15fa6452272d33c4ce632cc1aed499ca896cceb2709e17ecfd87ad27ad11b9ab74a49f93c3c6eae617140ff6a7cc7e2893c7e9d2a07e7bdf6e3f236611b4376d1b5cc13eafc12dd25ed1b8b9bb548881c2a35076dc43a3bed479b6f1e2cf3f2895ac48d6a31f497cfef3064bb0f0810e0885c18f74029ad6909471144dd1b47bb6a8cbbb3040fb227e52590561e1296ffb5ba18a78b330afe60e033f2143bbf05ca059872384a4cd4f70af72883a0f40db5ce18a66fb07022806a280bcef696e725e255af4ecc65909a93b6dc257ff9d2f73debb78b08ec7ea69585020bbfa2198baf33c4d5beac505e15989917a833d6236e924f512a41cd3983033a40e608bf4be5e40ce10eedf73670d2f46d2a688caf0d6574396993bccf9771e0c768f3358788ff4c0f81e6b67b695f9d2c035afd2c2c8c9abf6f90ea48e891a22c105e3e3a367a1a0c204ae8964399ce213145d231e2bf3f218206aa554d62c8841d65e333715beb155fa7a9f574c00ec95f538d97a6ae0fc19fbb18071ab52d1d81acf819822d09163a51998bd52ab064aa92e8022e658aa5b486bce6339230a45ff4b233aed83deb9ed95cfe9374f5c0b33ddb453f1172626a0da7d023130eeb6b3c647ac81aabe622f86601de509e97968e29ede7e8c645d059a0106de8b29b68bfff0294ee96affad9b9b08902d140146e285ab763c33ef195b23779c021ef49a30edb925dc4d8afc396cf6940cd79aea79a66d33e15efc5d9503afdd7d8e30f6153fdd9b4339c3ffca994012fe191947a523f0bc842a7810e3d4bee41269d83bb24db317a56ba201d78c0e0905663faf1c368896ad9402d0049aac92b869ee8e985a334ba4e86c00bc1620d53a6fa49985eca21deaea4de8219e45b1f737bfcc827f98c2801901f05bb281948740fbf72e618f3e3c29cb76f1ef5e83b5ed2b32062363f619c00ad4243a39e46280712d82ea2b5c96b7691bab279efff74e830e3e720e0add98c697bca79885ade847dfd43b70359da9fa5c770a4604ea4fde17a4411f14c1584b890402aee7486bffd7ff4c5a7d8afdf4e24fc4fee916f7aecff48202c1e5a39a7ce90b29536a478c2868897f0d76fb3d83fbb3b881b01e4cc7a6f5aa903e45cde1e9dacb6e3798ce708dc263b728eff14715847525015078e2bfd878a5b569cd41d63ba673420a4d95adfac9ad3048ea0fb4854504ba55572d8bd3fa04d05d769cb024f038d6ea648fee82a083716a3b3d61a21634c8ec1d647448cf0ae744945e9ce15933941afe4517b17eb5e2f2c0f227cada9990a3c0866d4015f2fc3f53e644b3d770063c3755572f91e8a36b937819eb439e06a8ce0db49e4350bdb59b22b813e90faec63437e3fa62c89e8ef0b4da63aba934351a3e8899de4a7c678f8ff8aae175b96cb52651ebdacd0113013b6c7076fc45e136a1f2948a49cfc7c59c3e3d73a6dae1af10119f86b4f89848d19dcf037c449417ab4ef42201409a2d2e8b198909657261f94490eaa3e2dbd7d5f15c6a1a957a2d798ba89e0bd30bf0b2b98b438c71de037daa7eb1624572f84252cf6b99d38258ec9769746d66ed96783bf83fa07001fbae9659e666502e03073cb31c7c413b2de23b93c4f8eb5f6733efc9ef66d27bb07d6bfb21d868258af5fbcd3ac2e05062845ceb69d6e35cb892d9dfbcf517cc51d0059e2de73f11fa868ef3f368918e4aea22d202069101d29d5b4ee2e448233541c733b092875762c6dd3aeb019ece60c0b043e2435f0294d820f66d28e82af03673d704acbf21bb957e9574e62dac892c64c80ee00e9ff7d7f196b9a95d6cc0ef9eada6627052d22a60405b19e03c8a1e86d399e8bfe668e550b5d8c570aa2af674fcc564da2bad1b551f26cc3be43cea6b14570f14e2beddf67cb4bc78ded169502dc30706f8e7c9b5c051808078adaaf09acca353f740ed8ceb7a8c4b333c7f9fca252f44f7c47d27cb73aa5c38e8c473dec40b5b17e07232a770437a0314f2862862b56926fa5bf3ab699b97ab6e69e97cd88e68ff4feb0127037a8c1d83ea76426f92a2819b2e81faa3706614a28a6d225d03c0ae7765d06e14b9c0010d35008614ac6aee2c2f55b0fb762cf9d49c586819684871cd2786cbd432a1f81590aa1eb418940ff26ca9f3ca25f13e79bb70e96ad84d85b737aa761736f50e62c49c1701f36f04cfb5f5f8f1856af6bcf32d48b2e0a7009b15c75cdb3467a2db27b88bc7e446e1d16f1611b5a16cabb591161da55b8f0058b794485d32f268ce4ee1134c6063e9adcf803e1268ce69b1cfcb0c9a4436d686967e9753945a644eae86b3fe77b3dffa0c1a3a2f5e7008965a031071a6dc7b66e556ba0b90e494413c4d337a8a3af49b1f3c005da1c2ae050a9134db617b8bb4b8ea9327efe710609bcc36d9aef70f9b965935a46b1d9f10cfe6c600d1328bbc19e78fc5e7d4e7c38aa17c8e4bdfd83a45e2944687a42328aa5a9031ef25facd580c71a2949bb954e67ff825876c72543ef4b2b719cb1921b48ac4ac86ee07ef1da26db6a9d128457cd50582f3e006d6267d1ffc4fab097154c09d7eaf152cf0680b50109dc50226f7fcf420c447356e4cb27619a6ce72dd01e16d1b1b0da26f6f12d4fd8c64d302343e7ddea3bd086954e3cb06622b149c1693561b894dc730db9cb3aaf9c83dcfc83b5ee8b33df00f9b5b6f6dd2723898f9fb0f158b00889d586fa429481b8c85a76715610d2b4e7eb25104c7f349c0b97beaa368711f87cc026ba543aa0b6a05c012fe103001095d2662d6bdb9acca6bb22362df7e3d522d2d931aff6815a90185306432bddc40a98e71e0f7065a6b46e04a84eeff8e43fc448ed79af30e4522f9e8576e0571be71cf9af46b8ff2ec9cc035a790e496f73028838a44a0784e14ba81e4e877565ea04bacdd0ca8e071a9d202269ec5a45e42ead0ba99af11c5b92c2544dd1c337d920e31c1cfacef8e505c0e307e8e4cca19e7f3b29f6f33c30e8bcce4a02d65e60672c392db0cda7743dadc08d7c4fc1ffa8d260af4525687869155de5f1c9f1cb8440a18167bddadc405301a97863a4a33d84a4fbf61d73f4cc5012faa45632f7341783b2283d246b486309198ba4c1664c6bbe273834e29be8486d741316ac5c40f0f835cf161b93e958b32e712a155f8d129a43a5bba06d4063b0e3329f940f7d6435e8054133141ca74a5e7155ba45a0c68a86b3534312aaf49c899ef3ced74791f821739063b9d653813f91ce32aa35957d8d0873dfd8c80ad654eae83e63a73d90214de5cce9cdf650543fea2cfb18641553c5740e78d0f621abe2adc010627df0854795157f5ab2a6cd58f195a687d1555e2023bda45d292b187abf0d9e5788fac3a4b358110dfc94d277dd5d5b89d72b28288a0e3aaeea768aa3bbd0451567a35e25a1a239cf79750797c9fcdd29f4f4a757772ffeff4171a68f1fb6422afca30afa80cb15a544b7bc4247f6b60ee6835652382829daf80617c0fac9f0ee1feda17add28fcdda704f433f1f93f0056d1d18c28969eda4020387c94c7b154d6ef035c73cbfc1a2ef9662de60fe41a2d8ffdc559d0fd30e733a144ee4af701e63094c89e8077f3cac7cde69825c38c40180f8dce5c9a88318d7e337fc386b88a9b38689ebb9b9711e62f2f75846359ffcd80bc64e28d9ce1290b6bbd3e1ec22eb96c93ff118628d940e36221167bb838e2aed4a9b7caff37ee0d9c5e38aac391fecf83574bfeafca520e9e2b1f9431df96b233047b9a31d94c83a656c20e7d2b707f6dbf43ccc119fd0417dd76fe5e7caa6d84c2f6b1e5d9231bcc75a82d8c7a12e85f71184efa836837b0d27840251af94eef299fc0719b70db1fdc0cf6ef49110fc36a31be3b32ecabb6deccfb6661c20cd2d5e4402f1b5ca05fb3847baeed6db8a26b0d9c5473846e4df840e197fdb322b8db0adad34ffb268478134074b3bc8e82bcc83949c827d146b8deb80edd339deee944dcb3c514700ca9c872068f3a4f4843772c33d4302ce2128e300f671d395474b9866da1fc93ebde2c6ac4bffd5702b470139ceeeb1077a71ad10aba568b0e8e813dc6bf71bb992f63be214a116690ed706f57c10bf8471203cad2f626a7977771a701e604d59968aca17c6ee938800b7aa1ae2f71b4476d981f8a06735cff9a77e32aee0e0cb34fcca5cbf02382ca3725277f131787a38889dd71c84918d9abd481a0a0ad5e2a3824c9b773824dfbd20f4caa1c47c45823db05491f8db82e2b7ad342bdef6fef155de62a987ab8ae95d719712a669572d177c5407f5f8823e9ac6c84629c93177e8d57033c4b912598daa96ffb7a23009c9c8d08a12e1d52bd5762e85fc24130d3d04b1e83060f5a1bbb68fceca4a84ec8abd8249dedcc001b430249d28fb30c15fffea95c7130b74d42856086ad86304065320ea7613c8ff0e1c120bbe8fda9f6ae82f6944a50b3ba73d1f0bf378da54d59c35bedcc4b0cd20cff014b4a64a9e4659ef515e6e387f70f22d859bdf096fe2e801ee38f36d94302dba2f66f679dca553c5b2459eb91f4f325c22c14467c44ad0f3ffb87fff0684a862690db6b4137af191d52536ea51e3a283ae8370c8cac01313be8e4e6a1fe0ff3192ac80a269a3310115da46ec47fa78ba9b64f26344456744abcc25ecaf5d0e8f6a45db579e28debb3cf24da24567135cf68f87110fad4f5bf6ffa50b5a58c61726b366cb2db12711c557b811891bacf3c4c9e5048c7705797954c90010aa2c5ade73d2dd31eaab278d10af5097da0354b8443c553ae49ea976d23d375e753e6aebd7a5437ac3466fc905ac263f80730e95cdad8113003b8f683c52bc9aac04957e31532e0a58cf70acd5644f266258918e5458b6773ddc940e9f71e45f7dbdca115bf3f4ca067a959aee8cb8cee1e71c7380c7a353b9b213cb1f4ee4ad004faf2c4ee6511ca78daaecc6bf088e51f67b0b6e5a42b31b6d27204ba10ebb89e0d45a3a52c052e0ede3b795c21a3fd3bc304abef3562a10d982401d010c43e4d147a067923fd987c2aa8bfeb19379ec54b0038ad0208eb4fd3ff3329975f676d08cc144fd96dc4ef6bee88ac6e5a9de7a4af7efde5fe9facf322d0fe6615037daf6c459b44d0f184eb4c6723656d493d6ba337cdf05d725a238da6eb1f571f115976043c44cfd118126296c260413428f09b4b80556bab1dc34e343a6adee8a0769cf3c44054d04258a370da7acfeb864d8d741f921e8b366e0db82847d3eaadc97b268b5f9765825dea667c3da8000c36c97d6c769869b79f70511a7cb4b371fdbb468713b2422105b7e7e45b9fcbb6b5b7bd2af78f8437963489317c00cd173253f8e219e04250f2865161e2efdc0bf4887436054ad92fef43c81869ec1ba9d873436008490036cdef93b6eba448a9f017835545bbc59798c8a28ed7b2d226c6f72bd05449f9d4c66e01788a43db8eab8deb836d5dce72b9dce4f242b1f4bfa251fc07ae5fd0b3bf55be77879f16a16ba5810efa879e17fc84200d023afad9526c7f0b09ce7c080e0a8131c9db57d623772ce011ef3e2a1898432b980575a0bd097fa07d1ff40b4dddbb56573d949710e2c96690d2aeea358ef1f2e5ffc9ac57844d0a4fd74d4e201f540d33252fcdfd711fb6d04359010907df0db25628427754c9616aabd474c93688e0c5e730de8a16ea7030a0b6d1abdbe996ef7f42163463f4e03fe805d2f3920afb78c5de9bcfd5d8cb810508d75e3663580f802fc50f0b7bacd0d1820e184939fb3ae342f75a509472cd0ae23920f8a8bdb156fbbad67b2f5ffb5fee6d5c45282f5a53633449c28fda2738d777b5efc7eeb78e7df20d2c1876d8ecb52ad66538d725fb9b1b1d251cdd3daeba8cc6e49a609b112fa8f10b51c6a92b7426aa5cb40eb6c5aa394418ceed5919984a7a505ddf849d6f74c66387355f33fd6518d4119c471cec68cb1207ab47b9155747cb40f13af2e87dd8b61c5c509376c8fca1e357a6f8ccad7fbfe1e6a8cb2c46a6b44925878b780402d5a977fb1b427468876a76c7a6a85288337b0a7e38eed4c42b24bc087859f1978a86008503f51325e810b642c9861b5238993d0857605db81f39cd0b0f9b3810c7b2690374660c0745023f900307e06d16b0ba3f77afa5ca17e62bb1ce6853fd1491ff094512f0372a880bf73372478c56fdb46cda653562493cad8996b237d0c032ad7d3551196910bd4754fddf2bd26778aa58cd4ea4671a84b52e33ba06898f4536162a06ba8b699bfb34b6f61256c2a462cba15028f722e09305095b5037e47ed0dad0a9c13f78120363352b62aa7be9a16d1758e54ea69f713e97eea9c6fa4d09154949c6e9fed9e32f5d83d4836c34551b99ee6bda230aaeece0c40695884e6b829188bcad646204d8b111fe50b290042f68e97c17fea3a60cbc5e581eadcb07a713f0e76a0eea6261fe26ce9af3260b8fea9e46fd1b0d9d307704010e2cd3922647826f3e95b9ddb7d64156ebaca40aa8c7ade375858782565c81f133de53ff30d6fcc7534f0c00209e51a1c3c34d846021f87a80007164c81e7da73024eccca72af3b1f586342e44fbb3e90ae04ec1b18b205057dc0be154352bac208d03d33deb5d2022575ed748975a2e475391495abd24cc7225bdab340535e68f65c6006944dbc49b860f8bc774347b4fd91afd8ae4e8d6413659a9b0b43cf68f0569520fcb6b3ca6c0f408baa393659b8290db16cb788ef758290f08eb7c69f9b0f5c35fcee2953ab83264f10a03694837246abca8cdcd50247ce8467a7a0d3d30be61ce949083d1418a86bcd560956646582f13c4f6bb11620c851bbbd2460dd61f978f766f5279052f8ab7e07c4ec2a9d11e8bfc72a061f48386930638b6efb4ed6f580f79b2490ff102172c870ead6788074782dcc505a5233f14edcb494d579ce864f4c47b90fea1928cd7ccc37e82e65fba4e29158a03e56a19b18c6668591899e5a5c4eaad5745e443d414995aa179be520738277d3657850e2788062af5b119ec9f6c6889e83fa0a5bbe34d98cf45d61add246e4a13bd81d5e837761f67dd97d533ea841c253ffef795224765551ddec13cae28fc1040bdc15cdc99ea64d6607c2cc83296f935a8bb2e644e4aa4489847a18d5014ec82aa661fd9a700cc5da56fbab52629cfdf6f23e06c308fd417f3b4fee91c87ef569894b243a1ff373914655564e33f638a523b64a365c06f33007168083763023fbb2365b31cac30d01c317c7065f593093f7e473430a650be8529622170e8fade48a92d2a0416949c1cf427880db8bf6d15760a2d5ddb858e8936092867f94ad47ca48b3bb329b5bdef7828599c5fe99062e6818377c47c1d3546b7937d2a4fe12a4cfe670b0569711aaa171f5bc8e3422371216f406bef63ba342b9afb5faf784827b4c908940703fa84a663a213c41cc64845c064cc17e8768d7bfb6d965c0e143bb99d410d9a7273fabc56ecb43646c2d22f464eec026eab5e1ffdef9e82d1c03832622ea96d1a6f7de3c3ca8bea3f08f0bfbd3f9c997f6f456743f8e3ca9f21a3f8b02cd285b9bdf4b67361be691be8170b23cefd2db1fa5e9cd4516c7e4c9c70927cb0e1c1473c4bb4b0270d119788150276c190a74b172f4f94501752a312c735ac8faaf210ce6bdb994fac4d5318ad2eebd6254b47145d2f88ae6d24c3edccb42b5457f1c979417e54b3f84fb087fd18f6c71fffe4315cff70c97fdbe43837abd4b4545302b17c4c7a610401c8198cd55ae836d3286633fddcf33bc61784dc3f9cf0dfcbd0bca5b8db2a4e5f43b192165f333beac09d0451cfe4e8b17195721b2f9b47697de7d92d5f769e09d72deabcc33718045ea75aaf3dc8fc01e7e5ec3c14a9f4c169e8ddedb560a4445f4329ce86a44f1e76312a9969fd617757e2a0310495ff4550c34b31265126502de5e9a1f26ed917db92a5c6656ba7666a1f52a80dbb37dffc684a89eecf8ae7dec6f1bc19de9e62615f13a2699bb01e0be8f7ca06493a498428477513250ddb57f58d58115ed87fc40f7d08b70ca5151ec59ce7f8d9a8a42539a1b1d6433b93ccf8640e82b58e386c0728cebcf120161fa136e62c06609308fe795ea9e590492272647f199879d64b23f74497dce9707b2ce3e8ff805e379fa5b00b4bc2aa23e0f21a0614e3ff2dfc931ec406e0bb3a5abd0dd542d4e1691b8373ebb09cf6f4336f98a2a7880b18177e928cfb018856280731f64a908f591615d9a715fcd86f7853e10e1d09fba3f0e8d3ff0d7ca419cccb251c5ad4e40ab83f2ec4c4457e407d612ab7d2e75829a4a777284ca0b93db315bf6ec138edff3abbe90841b73ae02652c5f4da1acd880b760a554998fb1825a899b661d69c817f85cda54a8a8ed578a1b56ccce27039f32d8c2873261efac0bb77b520d033da1c68891a8eccc3f308ff9aad47f1f035567d1e5f88d5d15f3bedb81297fecad6cad2a080adbcad9d4be6f8de5f259662cf5b2441caf84a4f9090ca1e71cc345cb72958c050fd0dc1e4a15348d470f83ccf0db5c857379d9fe18ea75c168f5f169da0045895978b472281835ab31a30144adde9793297b6e19da140ce3ea33ca052411c6a3cd65cf52be26841e4cb9d4aa0caf41d03962881fe112ecb5b7970f8d13d310c9d0bd94876a977bff37a1ee70bc2e7faa281b95c4a05be32abced956bb43f19eae1204411b7df2dbb173f2f54273c841aeafdc757f3342eff6ede07b8131e8f48beb63daee019800a9c30048a010be780e12788ce917bc13be170c957fcab571c246a35e2b8df9219ecaace9c9a01edff195759da3ed67b55e60fad94569bb0162d964a0697087b5d26e2bd41ea4b033036f0dda855ca8e61bd134a65718e5838efe15e7266af98f3d0576aec4b96c17ef3224ff4f63f3370b3887d5e0940bf3d64618b5325d8e71c3d42ac629e5e9433760a8e6af1c553c28877287d18a758f885cfcfe3eca30e90eb4e4cf67f24d35eeac86fd0f212efb45c8d1ba0cbff9c09c69a900b2d487d62cb3978c7ca0ff25e9ed6c3ddf2b07dda06af96fdc7a71b54532bc856b1f2da93fa1513164caba255d1c92813f5a96e854dbb80fc7070341ff8215c3af5f9830f70bbb294a1c88ecef0dcda4ca110520b161e218dfc9dbffc1e6a67062d025de013c2f6cd808bb795847a011a6b41cc1040868594ae518994b2acb161a15fe057f3108fb87e4bc81423962e337304ee38b7ae377c8ff2e308eddb1c04f5c057e7596e98565de6d9f1aaf5a90d97ff2e2e054c756d6875c12a222faf288c74126d93a0d8b56f9478aa56928c4a448b1ab81e22753fec0c1e5c8e76c38ef36ae4fdd786b19e94a7c29f6ce9dbc140dea2dff2634fd8e92dcac6f54313501ce5b3f6030a48515d66a25dfb1860a89ab571689b201c6722ab360725dce18ca55574fed23ea2862d60d29f950a52ddd833a1dea2a342032daf4d101fd008fdd8f3ea96a0a639bcce2562cc42e0448c333e56095696aa0b4fb7d1538fbebd063cae14905ceeb9604aba588b05af3b044ad461ac9add98bbce7182cc17aa6920473a9a01c7f07af2278740a8fb5efa78f6e849549f4022b8eb7ac6d51df5ba422608c437f1834f0b05951e6ef6b6ea2bf8f1a0839d364471da3efe383ccd899691258654e3b6a245ccefc69de0afe09c5be336bf19232bae065b6c5969540c5a38d582a113bb9c090f4e7c604e59c4b56470e1301c6931c35890ed3c9c168a197c52bf3adc3205e38852ce14cff9984c2c0cdecb082340c17dd6eb4700d33335a2980def8e6a19178cce58dd6ed1b62cd2814be7b6df8044e145e19a3a33314ae22342d0ea5d97f386ef95cb58b94d88937a66518f9da505778dbdcd54821231a8cd3d1c16d261e77135bd9dc3e75c1c7ebc378937bd29be5ce5f45e57f62994fa913098b5c9ee88e41cea47fa0f418b4d7d5463ce60db2cc9e8ca84d02cc36c6dec7aec3800fd4f5295b6c1b090efce849702fb7994c459132bd2ba2148ae4c1ffa074a162b5e134302e073b602538c1af4d0bdce6adb58cb66696a0759b1463354cde1d56198089f9c8ada13baf5bd038ecf918f172a4cc52bca6d2aa9301149b81aa1ba8225e19228ad153a7a8abad8e5ac1cb6e67fa4966b87b3edafb815d26b5bbcf95601e38f84631a2dcae31ced49dc8fca34120892c2e3415221362b0782e320d9d643ee97c58702b7a1c7bb897527674fa50997b9aa264cac76a01e8a984ebfaf735501cc8ce150874ec303ad0f3d421f2b9328532a139afa6f799ea8691cf557463dae72f6c7ee6d7b81725d619f615b641d96337c44a88723ad239d97fd18b14a3895a209ccdf19eedfd57808373bbea6510e3669dd2ff7c793b736b018ac0227da2345f2342fb9e3a0dd63d6aee5e3b1b89f21bd8aaa3c17da1ea670b92a1ac0c2a2b43372ecd4520f55db4a235841f6a6b9ec2abd307dbf2a5467b56c42c4c94c7f242cadb4211f3368ef028a9ebca4ccfb43e0f104c1fdb02bc4fe8f022f3a4d4a4527268223e9871db5032e99e8384cc92a93da275b8a89ad4c92ce5a3baf4732f16ff7b81df2898aff5314ffddf11c2c9d2ea85e88228dca4494e3b4fa4dd54cec838b152ecb1bf865cf0d9a4a6b7d9551de8a8e7d4263a4fecc8f0e1ef0e55d03e0f2a23b3014455d65489f15f64fed54c921b1fc79ce39c89dd64603c6fc02cdb75e7ad9e4f0acdb58bf21f6ce35979995badd31ae11d3768faa8f78b5a64701088c665684b16c468700dc888e0e9c2e30208a23f33c48f93429c64d4053ee874552a2ffe7f7ea29e0dbba795fc65bd3ccb704bc943928b217392ff5f7e78dadfedfef8ca82df79c45dec4c20fbf504d2b4689b25f0b7f4f6914f38decf2655007502cda7490cc2bc996234fcb85d292f521ccbd61ad34d939268b88b9b7b799a0debad417f31d6c98cbc6e9a13aa439ab158a524b6f11740cd12853f1154ea767fe4e1d9112018a1c5f9bb72dbc68d8b6f4b6003c0934de0dd37af6b3ca42138ba2a65c38e727d380e02b700ae613ab8e6c326ae07d9a8e51940f92af49949fb7e79828390695398b2b4a1521fabac1083a29b8ea72b5b26b26010df1ce2810acc7eb9f4f588d3bd8f149ea82b26236f10ea1521827690257aa1cc5fbd8e2e800578838caf06d2159605bbb206319b9dde084031084716a694bf57f6968c8d2f6f9963082e525163b732f756c38b1b1d8d8b1e476dcab4ae01aa74c2a7c5de2b54f55e111a102dd0e2f8d74cd28d3198c9fb262524ad16b13d9f1f0c282d38a3627666c32a13eabb7552878e3e7d42200e4f1af6740c81c8675084bae5e5e6cf4e3c986a50d848a66d47f8e75007d8ba0cfbb85d2c9fc303a67fb677b3aef8ec2e3ea0c9da9d6b449ee97567a64606031896a9f687ef74133448c82a06468c3911010091821f764d4ce3655f5172567ab26e6a7b306297579eed40d6ab50fa6e1813682e58050ddebddbba9934e0ff2b24fdbb5de67e32c2c1d18be4faed93f026785fe21d9b8e4d9bf14e78d297d6f416561146913c8db39835de2bf4d8e62f9a4c9363ec8a2fc9806df78726d10e1d896fe08d3d826c567e29b846d803f3df938c58132f9e0b167de8a5843560078047ac46963a3d916ab8f41777eb50b17c7db420f542a17296258343a0faa960154584730e04e9c2c6be8516b0347f2137cc6967f3f2f612513026521d7d8b93c3a1197dc950733e70e9f43ee99e2fb8760821e2677aff77002a9e089f0536a4a6cd4f00810bf25fc5e623b87d48f9f983e87268e558d21299cdc73df704ce1d2d2b0b078ff490e125ff6177e65309f15f4b070fb5f64615a4e8f59d88a4ac518f319a9abf50e0ef6f617c910731f5fd48c12fffbca37d67d8837931bed2d0f29942528720abb9e131de73a1d060a478f2adbcbafeec99310c1e6b9b6e2297205c93cddf614cdff8f800d578d6515d7eb66e48e57ebdb7de22b6df497d3f8bd50eacfcfc3456b1355e46c723308579579dae9955e8d207f605840063e30a503231fd5ccae83dc2178233b1815db5edf8a02b1e1e9a07f9b024111cd16c1da023c67830dacccc293a0630f8f5ba75adae146bb51188d92489351fa3c7450c15f6e802da6af0677f9575d2a7381ec9ecc8eff74af846fff8b25aa0b58fbbb0ac54bcbee7a85251b0cdf65549c3d8ab9d45209c2508b02f86d3d7ce748651a2996c29f3af305159ca39cae131325584a906d3ef211a3e09aa7c108f9d13ec701e8bcabe6b84ecca47f3ab92d013aedc485f89bf0d7f186decb38191d99bf67c173f7abccd1587d7abd3d588227a9808d57b8ecdb414ec70c49bd7261be5b6af3150d41efa6f23d267581419bb09d2076c731cb6e8bff17b85b03df3a0e5904736e33ce9aa8378f6ed0a315ed6c0524ed49d16174fb7f3f35f3f13102b5493b4a3e26abcda7300310a14b97c1d44b9dd6354ebc5fedce42a8edb01a4ba8f679046a293d94e4072b8b81fc366964aa6eba881e086e1cb8ed9a4fd95ca60439d834087f850f85039dc6cb68d20d5b06246eb7f61c4dee58604a46fd9c2feea948d8e2a5e05e3ca59be846dadfc70f20d7f7427648f1c0520d5f959795d5f782dc71ec61ec67070ae13fa8702e515566d4b2f4ad27e89e36000937e9a2484d5e101c9253f5a0d1e77583eca75fe0386527026ed6127197f80a4e7d720b6e068f5188bb8b9de1786d22e50f2c64e2cbd04955e74e65a2135d30565706af37be576683f5c9411160e0d33b189179cbf51017c8226ab81821b53cf37f54e6239e7a7244662a99478f4c07f2a29963517121629656bf25dfef9989f017a50b52925338bd6707592a03f3abb5bfff559fc3ae42c49566cbc135d50801962ef6a35f0867c5c838b20b639d9e0b1347a9dddf4748e13ef3b6ede5acc95ec9c705417f4bbfbe0cc90bfc4cb06a78e7db224d776bd646f79cbde91f377f77ca17f8f49935d82efa4793e5fdbf1bd2b0e5bf0a114a758f05724c87475a46ca5899bc501ce8a6818e368671ed74862dc3c41d42cb47ff9165eed0ce00018e598c92c7b5ce9bf8d06a974c7ca7e5676d7ddfa77faa88c80498e08d14a92958c8114d6479dba3c6bb0787faa58576e534742223085c8cecf9b97cf3d446ea48150ee82c08b4a6ca08c83361888dbc60cdee5c315acb9cc083089bc1ee23b41c62f8f3e48f7f7da5b073b953937204a61b6e7d1139e1e5e90aab8c011c50fd19fbcd2d9258a6fe5e78834151871fea58a7756eeed43e865c1bee3eb708ce28a962886705b61f5dd165715cf43669c05d4c18934de0029ecedb7b3017f86b2c7f98cc9b8b8173b474b385934beba2c06a7c1e25629c31872e3583e6ac2d6806c63d6e962b2fe3c98a9b071e9704008855eb49dfc2c70ca6c7474603926bd567113723a6a7bb1e72614187bcb9aea181b3be16a7ccd6e6c1ad6f719306dc16cdff654391af1690fe45c736203d1f353a372473a521117a70f41901dfd1c0563e0263cd1edbd25ced8b3741b4490c1ea59a25b837690d8b0e7087702796dcbfd8daf73f41e36e6edc70eddafaa7d0e410f0280214a022bef05e2563a81ea516af1f5a5675fa36a192ff4e50009e6c841226890abf9e2a02207e4dae1a61d0e0030c2359e1a867ab3423c2a2031b1627341112ce601171e260f1a5a194193015cc56f2c650979aa0af9ddc410ac38c43062bbe443785a64c058ee0f75e9a62329ee628e2fede9385aa9752d59ea83110fefb11deb2bbb19f25ea6dad22be9d62dda10d6b0d5dcb7ca76f73643083c471cc057c7be81cf35867bf8d6c73c92f47271847927fc785c7ec84803817fdbd5c472584ebfe023636546085093d1bb78282289661459b9f2d3fd9f79137c5a04827c0057da00ea5546dea7a0a48ffaaa4f32e992fc13b9ef32e9a620f7f69ccaca2ba82440c53c30c7a8bf19421a4d843d8dcac4f3e6be2efd6e746be0a2b5ee02335e23c6df0c43383f40baac24cb6aa16b916f4c547c47675179278b8d0d84dc786e523a5042e5d33fc47f10f0ae800be26646a5fa278326945609d75cad4f262c65967b8cc5e215681f6d51c006e5e4be92026d2067d56631a63c07cf09920a4183590209ff8dad68f94567cf2570ea7cfb9625fed480a30b0962dcc0d9a8d0d832ba2cbcf3fea06a4eeeaa78d427c00e3caf3b115a293a37ae9c806289f80ecf03189aba9b9b5ea05a2876ee750a2a3e0856e25880f1b71eeb9b979225df3fa68ed0ece7b7b911c2e23b6bb2caa614105e1a0148bb11072f802d0dcc1e4bdbaf6d5e4bfc7ac2642673f28abe3bf657c18b30267484e8664357683757714eba2f559d6ccda7c0720d9709eb7676f3954db04909369111ee82faf956aff006318c99be6eaedc78d30bda0c13b58f236e0dea1f8ebbbf3612128e206d7ddf8816096186e89770ca4740102cdc2684f39924a28e8e1b9f20ce7f7bf81cb05de9ae51046424854712847ce9bc5d5502da44de965788db26e5df45ad89be962b7c00dadc970647b12d5c18b0fe2fb7e88a009fdd2c19a01d076caf2154f50c62a5f8e6112e250677556912f944c212a17840e614e203263d9c3e8e20539afbea24291c235b7c898ce1d81a9e8d3bc3067d20fe85f46fd1294630902e4a6015b746ca67f7b4231f8da0136e8ba0a1397497b7d91fde4f49e1f2f86bef91d7d1f73ca4630c8ef692189ee1f1f2572fde3fa858fcb63f351e77786de97d91cdf489449a829323b72e83cd2406ca3651d6b6de2e473f3ced4b26cac4860e10adc36bbb78b9301f31221ce89b30d89b46873aec1fd118e17057c17241a6262a931f379f0d0828d9331ea26b06bfcec15fca267233f9fb3f4c7c4105369e18dc5583986997ca8d0944ca073a241dde8d146fadcd15245b7ed38d8a831cc54e6d93dedcbae97b3f7efadcaa0d36e810a27aeedc3643693d311733ca65cd58e10a9e8975dc764e78282b149a3e6996940a567bc0fd9f1344ac28e4e218c3c34ac0cbc2a936075e9cbe88b9a48acb89111f75d96885f256f6fa37db9f2bc06fc923a5a8cb1382e61ecdea620f3c4aab6de20e050758ed0414c3ac57720c90b461c2a4c3d5487cca215d3879e73f41be7c520ad25170368fd24b86bfea979646f7c73f7f99d4964c09f8e0a7b3a48af1d146a551445c323213b11b7a3e2bf442631c3f44f3f2a7d024a8d777be89dcba76fa438fc24c0bd94a1bba89a087d9e7b0bcd1a7f960a040c0a137c835b2cc4e93aa29871c5d1737a2e88e372943ad631c228f810b69962ad7039eb74e6b828db59b06ebce0326071ffaa4628ac819e3929d0f38ff5fd512025b675bc2e8afd592c2a4f994ef25648f7f53ad8225fee1c31c8b8758435312abe19949825e78d82c89be8894cc53289d4d32a0e7d557230151f1ccb0a1b766c07d2beea2861ec80f7070f02a455d1b7fcd9001c65411ca98879232d17484529d034f68f8586d5985fb48c1341ead9c19dae363604793f6c0842e227ab38549effce05b20b3adec0a2c44bc2a7e4bec0c4a4191c859d1b290e2d287d6c93ffc62ca6c90ee51b735098af8b5254614c2279ee9b1b438cb8b992114966fad626b23f392895eaf7aedf5ff6661c7b1182f0e0df21425e3f6d37842d04d4785ad996b85ec70d3ae2b4602c84a4da1bce1867023b384d64722a003efade098cf69a073a3d3fe8f2aef8e4161f809919621ec4b269f90c0f7bc3e5ab7087a31e2ed0053c6f4300679828ad5308d4b07b45e1f282513aae6fa33fd8e76ce1ce7983bb9f70ed71f61d8f150b31f7a0f61a63f799581d34f68a224b455ded9b92c2f067104716aa636510b9e5c739d2abdbf0c29d6ebd29c9b1cb7b14d283500b64d7293d3606b56c720be63ab00617ba44853657ba2c48a2b173bd89a0506ca6d20585a9280cb4c8e4ff5cd8d0e1c262dee289f94c1575b6d52f9090ade22adeb9bb4ab657d7d2db616f856d6cdeda6d65422ad41e957c45184cb0bdab2009bd33eaafaa00cf1c93ac6adaafbd702e7d340ff63cdbff30b72c26682d4977759f03be9998fd753953db516971e55b0a3db5fc8e4ec25fcda2bb0ed367b3e59bb81058c208961fbcf3a7a0a817c94f24b1bcfd29f515ac77df47d9b2121e7f9c9044976ff8ad330b4e9a4e285eabdac6fbf7e6f804964a3c7c81013a377a6fdf4933fcff92043c25e8e8f59651796169e6f224fd0a6391dfa5329fabd66c0c902062525ee1803ed5fa427a26afc37f00b5352eacde2b25f5eefceb1d8cb9476e035081946241e9567745dcb9e7ef44e5128b0dc0cffb4e9e9b4dfeadfa7d1576f880732de37f44a23a24e792bb709ab99b9c25a54ef08f7e5c90af3415b11800e0188a053f0fb2f4a25ee285605881c01ec157cb3acaa701d4441655de59d160c3d4b9b3b6ea24aa402b8030cd068c454cd87951f42cd61d81e17e94aa09689075b47038908cc9aaf913010d423c2a07f320322b83328c630a5b0976f02c829f19b52a77d4953e7645b03da7defa5a4700bcf216bba4980bd8acb7cc59994e85f74838ab56378b3d11b34a70ee531135b8672fe11896cf628601d6f9a0586a1a5aa44ec56be3d4b54318250cc9f79b5f46c665c0d1539e174db85398984a8aa869d0ff546dc8524af82a590bef62a3791e7d668b9bf456a352c5b621549a78524c792ee958395d823bff94fdbcaecc331bdca482ff58e46c8366ef0129acb132af53ddee650f067ac5337d3af2f6437af9819378259e2178a54a8978b6d99348aa890f3740f257e55d1c97eca1462c81fa96393239a924dce2693edfb1ed83a1000ae9913da1965157bf47ddbf47b9e30c506c772b6527d53e160160e787419bcb4ecb0e759ebfb49beb5058f5e452b96f961c26b6f567ff32898b444408376a66e3f44f4866caf06a4c36158d17935bfabf8eddf421d1e757880f27c71ecb35583b84d3fc706b5d3b1f5b673b77d304220c6c7a508cf023e94612fc5622d41e5f931c7572e49001e8f2b07a0f69c20681fd7dd9de6f9668494c80219cd2d7daf34847fd38c2bd107e7f64cc72978a7ca1baa39ea5e12693c8c8ec9267017d45f73a210a362c44d828c55f412f7b4ce98f90f5c62c762d287ac8f997914cb1240b7794295ebdba349eaa9076b40141caa0b1729860a093bc72844247ae187a41e2a3d0689bd6affce24cac633cd24a5ae4feb15489dd83bdf55d9255dd123de70ee71e7ad02b1388543d0a4064aed1f206753fade850ac3f2da33a8ee195b04b275e337b4ce435505e8d15d887935cfd470f544fd8c067bc0c98bc3ccb9c42de40423bf2577d6aef0763130922dfb2c3aeb053010896bfa07cfe37804fa9a382c4555d0073bc8563b22b868517399bd610e752b24cc8ad5a151971557707dbb4d033416d6174cfbf77d14e113a078bad394c532899210c596726a92662e63aea1b8ffaf55ad194397131f17a83598e98e13d756ef1ba65054b1c4ba20aa77c78f22ee9280b55d111e187393381be491a3c9ad88aa041bd1b76c05ba096e092e53e926d2d5c530aff1cd61a394263a922c21d99365257c60911599bb30ca6c91c726e7dfde57d738f854d8e51f1654cbcbf54af5747a18604ec5aaf766b49f34368c8e84a3399d87aab38df1fad9964453efd2cd935c2a39da1e98d4dd19bff3b20b403550f8a77adcd22a63f5d0accccff52626a40614a7cf40a929ed5116914becfc75667142b334802b0782721d9ba4075dc4521d282bc54602ac4c377288a83f1de787e90d95bdeb17c760e6a6f23b744de5d84bd7cca3a5a400a83472eed6471ec10a7f18c5c569b7416aa798fc164205228a8308a4c7826b8b099be6cb760acfdeb58bc85f53df60ff5895aa04227fdec93da55d16cd841a22fe1583c334df25782df32aa55d95df0ebeab51ec2838266423dd2e22f5c0b7a8ff07d9b4bc404c51da9cb2617fb44581a6bf7ea820b86500855787bd7751da0d80beb4ff4c494c4fa97a9d2fdb3919491ddb8e5de64494efbad928e1fa85e72df6de50eb784106acbb39c926830751b74481e5fa4047622fdc8911f87bbb6cd6bd4059f5780568b70e6d8585e7e41a8ac31aeb56f63257de55a91e95880ae7a20eb1874869a5889d0fc5f9dcf670c4abaaec4493c27032767db683187c4a8d5260cff6945b671bb48a43d01bed6560aac5e5fa2793326286309ca01d9aaa2230ac374c5758c1d23f79db394f734ce26d2b5b2b4d1b42c72d2b120ee01909f8c7425cb5a46b87db6170cba2449ecc6102e2a60bb8d8b74928c19a7e50284330458c50a7b4084de5788b1c1ddd64aebf53509d881941585f94c4a7f80da1fa274f6d58ad64d3f23b2ee06cab1a0f0ff6b50a09b9c5ade5a1a3fb2fc4198f386cee77998c8fcf37c10d0bd0cc5edfa1359ec49fd0ff760de0646b5c691c4b7ef89731b14567fdf50b3926a448353c44e721df51f571e68a9e83de86b0e843bbf32931d0ecd2fb9ae414b486a5dba799608b14d335dceab805991e7c4156e595ea633d13981822ddd415b55f3375511e69196819428779f347e004d26c056c80b652321ed0b1c196622e9ada628c737b1d96767d4934bbe97fb86c06bb1c9c0505d7b589d26ab7bc310eddb6af69fbb6c1eef2461b1780ad35b5f81fec5611f9e0518105511984dd7d07ed645d727659823cafffc1d3ebebb42fbc8ca6219e22c672a4cfd14c14d641f14e6d37cfe30b07a33e630916a2fefa0e8ed863cafb39364e99ec3380b04b75d84766f24e1336d7c778ba2c7173585d74c41dfa122d9125775729a149f546fd1db2922a37a93aaf3772e426279a1388b91f19f70c9d532de4848490961f30b39366fd389bcf7342e896ebd16c6233bcf8b432fafc6d1be09b0b44fc4611b13a99468e342a7d6aea4b1f020fc559a3dc2c9a86c4f63b021f1febfd2af647bc03e76c26d76dc2c5430aff39de5633fd383e66deb561fb9dab1c2ca547c558b9bd98bd11d36f175da0cdcfe53c040122cc4e354fbf329a93c1be6a861acdd5a37a34d9c52c3a5f57375a878e0b8ca9719461f6330a46f5a6acee2f2a47ad82ebc4fd29f75ec2d44dbf369787723cee4e425167d607b021661087e1afa62f81ef3c65a33a594b9fb94a1309b2c1e44fae880b7237bf3d3d995377942c488a0ab16239084ee59a408120998b058cc9f8910ce57c91e998312baf126c61556486e814b99da5393100b8b7cfcbc0ad95ad26d60a357d88d9c727f756bfff2a3b073486becabfd9c6ab125391b49f022198179e58b556dc9c1c4fb064cc9afabefa46733ef6047378bc07f96a6146de756925c394f23974a4947664da2cd6d164ee77b347a75723643360ac90d85e6ed3b0385b85ef82939c203d791f0cbd67be596048203a635f948ff35dd4d992e744c924023b264dff816af240431e9a0a1220b838d47474c69a0362ac0f4cc275f107c43b629f7e4e7207c1bd08a73f6b5385683f8e4573d485cdd2c0acbc150294e0450a310d19fc1632c85f39b45e119e962834ec67701383fa154b7aeec6e416fc1037967dc6fb4481533a2df1c69452a43cebb3fc24595002958a27d18dcb14eb594f1d8caf2e4a686e13ca65d861668557253b19fe70ab1c312786b81669c15861f5a6ae0d8ae7e35138efbf7beb10f072bc0b502686f3fe8cfe567ca83add2070db88618fe75d3b64c5c9ed5d75e6402ddf5d5e0db233486a0ae5661238851d4bd94b16eb75914ec345098b0097130e5a8049fce5290f066c99d9e6393a5dfa3f2d93111a3a8d8be95cbac0b968bb4913f9080cb7c7a027ca7352ddb017667c183a947fce7e094c44b1d697a1fa517a156db66092775ca29842ecb4e156ddbb286b4a57dd43063d22236e089125bfd4d20378e97da287c8301850bfb7f41e24e18340b01edd36b07094c6f9d123f448ebac789f775656a333f6a406ee4972678c840a7e36a761896d38bef7903a214962dc7c189ba7616d3052f17291d7a8c8804a5e699b97a83e99066495d79105546bb4e7ae9538955c8d68e6e1b92c0d2428c06a6f5d0bc0343aed2e422c14496c46206f222b12e7019f2abcf674d3c907259b29b47a0c52ff49da5b39ce18c22cd59c95e2d46bd399def370dbbbba9bf2955d36cb590376c226c57fa428dc1e70439c99ecc62aa6d27127867696ea15a8ecba7685c7b0c6b3464c9af7f64564bafa472bd61dd4838c05907ecfbc5311f03ef84a0b811966dc24cd5689b419b1c9c20462daaa16ec9283bdfeb6d07f657d679852ee5e7dbf4dcfc60d307bdb265d740e6ce95ec36fc5067e289029358a0ea8a4eea7dc67378c38b07880373cd37c22d4871479879ce100deae87f44e0667f7d86cdcc9558c0e80c1fab35f1eef883d78947540d382569e1d8011bc37d773e9b707a3d70df50f061e2d2d1f163d5da28e79bd1c3796d18cc14eeeb82fee4c44e4b6fe607cd156b5543a21b207d8f14a789b8eed020ba03a82caaf46e620f270804e5fbdc89afe99d5d91d419b397ffe24b5d6928eced9f6ba119f740b108a640652f6ae433f2b58fe4bdfb3d2662f9a2eeb79cb0518e74ba59f78ed06daed6f912b9aa7ce44e0f04ee735cdd7b73ed9b829c6b13d1b08076784fbc5664a410cc685ffec49b4afc0f5a02e9efcf61b46ee44855a9894a6d5aec8ff9c4578f1e816acecd46fce06a8855ff8362eed0e5fa422b8350a765eeaf0fb8067bb9e25d602e31d4cf4f2783c64a51c7c7d4707ffd96fa610ab66e7434e78a2463c9c192f8f90a1b49f1935d3b3d698aaa3d480fb4b00caf918a84bdf79b3253479b5008d564aec399f9be23667a1b5cb687b71ca2ee2f93a83a1557d6fca22a1b62eaf42c6a5a41e18a18b0c4177924f6c1b8ef0b25403a4c40eda07547e818831069e5ee68678b384eaa1f3ec5dc3e72f458810ab093ee1d83e3ff34f62f8cb466db88cdd92e4b402700ad01d4071e5034f9838b23fa02142b64629b31f70927fc7ca114ef5ca1e128761eaf40f38a6813900030dbe8aa4db3d83e2b4db94caa6200bc9de3443e587510dc9c5d01028d577d9de046e122da30b904231a9d1477e661c8930ffe346c7424e50af3c2369054ec078ed13e71926b6eb543cff3c76b71d1aa6f9ffb34815cfef3ff3e6cd712c96bd4271c80d8f718d7bb51f904735309538154dbc5dadf46187a588d9e8e2e1b40a70f4c647a995930e2a226aa7acf287ab79197d2b606982a83218414f40c10d3355c46fb6bf661f4236ce2f09b52ddfa286da79af13087698ec44ee20b256abb4b2a634b38da0ed7221af7095f8ebed2f7367276bddaac53d3b79c846221981ba453ab45fa23776cbe4e192db663e288617194f827c30c7420ed97db725e3888ae96d252bd24e7ce56faaff01fd1809038aae0177e6d4a5b956c1136d1e32c379eab7b0d3a0953cec63458b83f6903765085c9183c3788fd1b4e6f741fd246a3bb1ca5e783d0b596dcbb208cf8ad7c62cbad67a0ade869e6951d6b037975347dfa5deb6affd33480fd9a32eff8ede9904aa751776b5a1bce302ffa32dc1d4e5a6f9fa1798b719ed2d4f811e4e60eb65cc6b50cff282bac6a104b661ccd7834d0f4be19a2089279d42a2d3c3b59184bf38b9d4f3470778826a39a0fa6d6d295b91be3f27085a8f9cf4dc8cf4dca4db2a7f405c1daa2977b1cd8d1e90b8f7cb44d6ad63c6a29298b07e97957c8467bbccd4fd3fe7fab8c9f789046d88d119b1eb8fc147b903acf1c62e03508c5bb309a31c1b8e609de5b86305e70e6ac51419b933cdc96d5079ef43e5b37532f9e555700a700f3204209cc03a886608db0316c2888060b22b389233482c135328d69393fd7b456a0e10d8e89f172b93b375fa4e64c099a86ecf252f24fe342501900ffca55bc5b9302c383d1195f1b494464b699f094ce9c30a0bd5760ee938f9b2bc3ea02d33c2a012fff1f356440685af5ca80071c39f5af83575a2a812e01c3a62337936bd925f9fbf0eb63268612e2b3b6894f783197d20512bee1ebb1bf0ae47de55f198bba032de3a1158f36398ed1d21d9a691c1ddccceeec4d3ce8d2a4fc155bd9a84f16d48dda244baaf463981165103993d36f8239fa5d4d558c8cf9ba254557d61a5921c970a0ea0afd509901cb910e073919436615f33d99dc5a8071e8e8925451c2c8753b9bedbde5d4d488ba3bcc6a0386b7a782d77dff93d37541c79d8f141369b80c0784e8d04461ad9b4b052804f0c26b1ad06660a3917925157e851175afc0584a3d53ed9268544001bfbdd21a5f8abdcf27c8f30284a41dc0d8509cbbc35fda5fc0bf81a26bb3cd0c218e60644e4ede7b4fa108efb956ca846e783575b7e50d08d2f5e1179ca85e4b7ce582345cf9db989fa648b8cf6cf17f2c7304ed154f2c0d2a0e84fe90b4043684013bcd61368cccb9d069df6384469a08a2d54ebb8476898daf4451ad1fed0d8c47b76194dc23bc47aac8074347113922dfae3b125b4c88d417c01204de7bae79d1c727bc845a024c0331a4f8210c025507087145c26a2afe6fda41635478f8554c518e48a3e2b95f74236f08e5e056314fca58427ccd4561ced8991abee2fe633c5f55259b7a1206f31d50f960ecaad9fd62fecfbf45e386ecfc875a35af04cf7cbd92fcd9d9ce78c1e64a01a6b7052f4d9dd389fe55a4ea2ea3c86397c6fb52dea0c3f92c22d292b394550eecebf381ec1d81feb20667c4ce816683cdadcdf86e8d4c9c3e769fd31dedb2dfa273aaff7c72553480eb8929afb9501940d6ed4867cd01f62466d3857693db7b1f3ef5c4082cfee8afb5e2b43963075b962100ca0d3b043b9e188c69d73c1320084c527612a2af4144c00a9c24041b6b3233e00d467c225946bebfb3dfd88af00da3ba35ada6ab4882b62f9a9fec3fdee2de9a1b2fc894479c166c3955dcf0c55ee4c7d5dd986b97d8dc62e4a421deec8ead5242706ec12a8fb0e2a87cea248855b7de936d017db293c739585857fdc4eee8fab8f79d4fd2f64e7b6f2e1d9fd832c4c2f084732c23291e6d4e743f3ce729a21eff4bfd73487ce01c4ad780e3ac2a338fdc80b7321461cedadd071e65355268bd0eb794115699f301c278ee75b5ae3b8899b3eb55c7773f5856d9d398c51da66b7a603e83328956b159787fa547d2d3aa8291ec0ca64d705783fe2908f0ad7e5ee272300380bf8cbbb138586dac5fac789a6b90492316d1acad37ca94d29d17147786a4b5c0a47aea9a647476f5f608ba4de30fc1be09441c296f45a9c4433e723125e38ab96a251e6d42e353d2e260ced68339d88397e67433dfece7a9293d814e4162df80ccaae1c63eaff56735b2886cb8f5ce49bdd6fdc21de09a652b58890efbdd6ab13900fd6d7718dc572548628744fcd3d8928fbf0b03baea51e87d168c52b5199faf4853ad5010e83d094a245e6769e8791182a2cd1ff95502d0abb280fe9651cdf56769a200f5acbe35355fe149ad598de32b642163e09869337523b1a94b3428ac606e711c6dbe401a1d84b06f61e5430a55d8d7ef46f123f077708b94cd4213f0fc862117b16460fecacc2f0c41ac9df714fff87cf91327e712d871ddf442371a4d06823019018dea59bbe126e3cba6bac6576ba4ee9501eadf028bbd1c0ff446445f4d26757637f82c951aa609d5d651c2ba53b999cd64a7d4b900c3b128cc241a5feb13dda905ecf595711ed3e65f4ff9e70539ef62e0e44a294d6f00b093ee4acdf0b7fbd2b73ebdfe08b2c97e123708836893156afee1a2eb915d169e85136386a062add590198e1c050ec61be28068efe409762cdd270d5a0c7af738e0c786396ff624cae1f25c6e83711be3b4bbc817fae5d04a4e14bf7cfb4e06b82292f558ce10faf67620220987a631284a3974c799c1a8a46b0f1e1da2062320824e6f7551e8e1c457e38103d686c34c7346d5fa6353459043b89b71928d69db7abacb3f04d8de4cdce61b842a6ff31032639ced31aa2b0f76731e4a260e31ea7cb919b97046dd73bae0d8662ab135c0c46eaf43816bf6bdaffd047ce19feb0dcb0b7d7d48bdc17142a1f731483a6ad5a34705a8366b2ced36088a8e130c192c9e570d0aff913f3d129944adba69b4e78d625aec918b5d48ede685afa54a5ce5af50183c88bfc785011d5f0cf578c8c02bc4a9b401299398b594650ba70c04f04a70337bb2640aa1826370c9bd85ce063984f7d5b53dce425aaa452b9137f09225f77c467a0ccd1c586432fdf041ce76a6e738b427cbd1552970367acf88bd661054a70413f7f79ec3d9d6974f6f92357745e0a78be975f32a56236928a08b351ced8d09dff00428a685154d2bd7e5b89e2ab3fdb77c00e1c05d7e2d870c3be630bda1e320ac8b68774379d192ba86d3024ef01b893564ef1f8880b5d74470d67ce75a6406abbde7ce4569fafb18402c2ba5b80e17aeb4990f4b896da8aa6a1bd09d14d57ee38039dc6a8ef9fbe9aca94e8c204f72ad31a3b570298035f202727c048a6eb0d647d27cc95739cdecd015d33b179dbc60a8ff62a327f76b9005b1708f302650f7090246188f6f6b6f022a22f4b215ebfcaea9a87acd9af4fb2a5d06c5c28eb2d030b73a4987e1beb5ca96ab842782aa5753d05702fdd0650932732b9d69018aa9dab57306bf441df2d4bc1944a5258ba1958d875b83ca5c2b365af01cfce7907ba2ce7353ed28051050c2a368f6cc05aae16267b65f7ed5ecc15a4e8abb522b84a256cac74b4b6ecebf67993e944d3e2631a139bd49d2049dceae9d95939ce6b69ab3455aa75691987e8ae57cfa875f178b11c42a9717b0b99b14914c696ba5bd5ed170b20a6396f10764570354467e0d71d464568d6bf403fbe2fe73143d2cb295a75c8013577c8bf060d382c7bc3e12fcec0b22158f06b1884b65340aba12d5462c70a4b851b50d63f74bed0734bc069625dc484db6920fc2c309b77cd5bd7150740722f5454ceefdcc9730b71bda24643ce5c1d47ec84dd893f29ff75b9378ebda42c6da6d568d411c6bf6b30668bf7c3629dd31e2e8cca3e97bb250c771fa658f81055f57e19ab1c339d6a3771806d8e315a08f696cbdcd49da318a3afd522d99195964feb4d44dd83a9e1aa44d40673b98eefc2575e275fd1d8e3965b12bf7365c78442d89673dad5cefff32c37543a217b1770f25e087f074f57cf697a5aac06ca944215c70b905df04cd1a25771d8f66a848f3bbf624193845ddedb662da4b56213fc2607077b33f3d7de034e278dbbfca582ffca07ebcf6898bd7ceb88c69a74db39dd06da10e6fae67fe8de50f3927109ccf4377caa80944635ba1ac03142bde276ab6ed22fdb750b1c64c7f2d1fdd25c0884ffb57f70013e0e265c9e022461e948685e35f87b5399f51e29c9dc782ca76e81abf636beca5f74e80ffc53af682d4a1add24a11d2dd3ab0cdd84e21102342ad570dd321709f9f1c3600aabcd760551978e53fc153c006f5ee8c9fa506db55206d0e81d91a2d76961d570cf890b1e39c7da6becb8af8baf063ace67657f6fca61ea94959642ef2674bd22ed4f7cd7b36632a5de27d4e164a1f4c8b4952b22b0ed587a2935c44c53874cb901e036ed241a03a94a5807c61ad1fad16930602c31b9d83f7c1de89b0f32be147794935cff136b3e0617afd8034c88623751876beff49f9edbf6d245fb78614e0fd40bc4c622f46f79251e3a923a77d1ecc941c109bbb2174cae989535c4d42c0bb532d1969cee2e43f860da2359ea0e926a3e6311b6cbc49d576889b286cb865157ed1f8f5d9ed300f2ebd97570ce1cd67cf94fdfa3a50ba0fd1c814440bc15cdfad59e0be5c2ae89b8accf6e709edf1152de58179519b87d30bf8f64e8ef1e2dcf84d66355d5d539e543417bf1d3b1da9f4d46591abd9d76ff59f5bbc47b53216c3574783cfaf60d961326c61f989dff6010094ca7accfcc4baa12b8b90284a5ee6aab4df63251cc5263a409d0e7b285b3d372c678cbe698918b516ca83df6203eaac212ae30b5cf2e2eb1580ab5888bc3a169ec9ea86dcb443efa824c45ce058182f277fb2b0f35d55589ef692df2355c0781535e5b3913dd8f29bbd5858cc75b8fab828c6bcaddc0039a13fe71275fb2cc8fc3d778f95f43b9defe2a7aaa410b2bd2faa9909bc05d2a9a2cd67d46f8857f2e6faa2b55b50f3d3bb489a9f326819bfd69eeba9e7bbdc06c73e5a9bcb40f90cc9d5c99256d85a6bd60fb3e1d8edaf2764e43b8064819cf016d7d19ff48694065e7a3c8aac80d0704d33f06414b2d31712f0f694dab5ba08d88a9e176f6430e6886ccaf7fba331c582c8b10d5f41fcd33118c10d8e8fe676356ffa9b3883a66b7c4cd0187890d7f9c17a1fa42f06bb7e275aaaafd4e9f4890ce817bc3ec41845c6ebf4f2c340fd91052f1d750986a3edfb6e8819e4f5cbce9c89d0027c5d6bf88c7b84bb816822fd326e5738c8c52dd09675ee61b1c5f70beb18859b789743361cf6ef2326aa34c98559f5ce37351d7258c0c23670a474f11252e60147c1330a5706a009f6fb7f14726cf3eccbc87bdaf0eb65606b363ef9548694deb8c3adb794580d2a1f527a032984f6a64819d33cb12647dace14a846eb7896232c63db06cbc5926177533d5766fdb0d6921119c28d2233ee4132413133314031d3c070c1f61bc7302a45a1243d8be627a6a6817d192cc59d0f119ff8c773f38a69172c05aa228430f2c26fa95bd6a6327e87118584cba08e2f646cf208a11d73bdcb5ff16971467186927d0ddb8ff42ab368bec5380d1f7f20e6b8e0a97c02877bff1228fc96b7b139036ed220e5575e70fde4fe28fb86cef0f0812c78406be74070f1009e0d45b738bad988addc4244f516c2d77e5fde14ca7f8f455dc00ff649242c1f9f59e36d6537cc69d9d6b426178c16d4572b862b6104fe77a45082caf1a1317e6d7150df205cfa2600db7079f996f95691ba7091b4019efbf5eea5bb55b26924b379dd91e55b94bd516938bed6ec1dcffa752cf916ac8e0ab8c223501ef25561025b6d11f8120109d7987006c9aa3191fd0af672e84398686c7d7352a14e03d78c2ed83e334c6a0ce4c93194fdcace4ad8ebe27a8f2e3341bd437542311afb86b05135a68574e68e241ce25cc47c7f4b59eb87bafe9ab5435cad57768312259f873798c7066f290d638985d5bb6e3b8abbe4d167608df4f83348a0e13d2c8ace4023faf88036dbc94b158accb2c6f89fa49a85d3d01fe1866a212cec02e4062aa20f968f6c878c338f9bb40dc063e96c4201515a102e74e16b298b819d5e7a3c7f64b78b2b619171b941082ba186c982dc633a318715978b3f00680308a9b214a35826b839c7a1dcc50cecf6d9cc5bcad227281a33065519e319b98fb1efea1659549e243f0bc4fb7bfa8112f113c0db0d7583c83489e84a980c98a488fa0796b80de259542bbe595dcf984d487f0c5976a4537840077968beae1066324ca6beee753eda88b253db7b03e72f5ce11b97b5c77f039759a7254f0dab9d0ada50c2c6a2f3c17c32f158cafcb7d11b57e9e1d2da154936940c75da7ea8b08a0686856f10788980adb6f645e42ca0ff204726d1842b6cd35a162ce753b77f23dc914ac25dff918f56c68ef4affd6c5711fa7e732ccd0a1d719f621677742abc55bbfbec78667f4cd0865af4c68f437b9a56f2b90edeb461c9046e04e4c95ed6a3a5c113589b65e5e657befb01ca810b93a8bcaed7fb8fa87d6f7c4da45196bc72d99ac4a4d4fa2ebf3e837d3bd884c91f68a8887dc786f71ae241fd4e3fd2076707ffe5f3bbd42ed67d3113a09aeb95667d0275516848ad0744162c8f2ff55b84488a5bfb89ae0ddbbe7c88f0ad9e9be98e7b96ba65cb7afa759066f4e0e58b44377e98a30fc14b1e479bf03f1e88592300fd2bb688ceb6544896bfa054c0efd30cf5555009d623a29f5d12439d4c433efb6f3c77be1bee32ccdae3e103f125cbc30da6b7b02adb83d98211013a39c4dfd0da6942aa7e554d997393fecf3b7ed34f04ee25e980f7efab5a1e656f411ebd97060eda3c64af6ca23891100eb55f44b205feb2ea4c7139baee18368cc3d5591bb220c7a4bbc11125ff7f93dda0227a5e52fc1cd5064cfa2033f54abf0a3f399dbac7108b0bb478a7b449418703e3ff643e5b60ad07fc653c1d8ecdb2830c46ea094fe8478e85a87897c35b7e6ce4e33340ad2e9db4e7d8da362620853548d47867ff9de85229794bb4c35d8a09874776a014dd8fb7f0ff076c71161b7cd6c7fe2501b36891314b19f488680c1ec7c0ebabd6941847989da6a8fd7288a2bbaaf1f1c3699e4091ced43cef499d4459b66a87f8e7e119c6781ecd0dde202ca5345e3294a4cdf9c507e06fc2d564efb6ea690e253b93d05cfed83b56cf3497fdcbc399f9ccb14f620b8d5149aa8d2dad8c628a2f0220d216b3ba5519eeb75d32b0387104d70efb334096bdc371be23162105e2876c4644309c07b1b63e05a13b50f5575acb57d0850171c8143e25586639c25f2ab60274ecacdc573fde0ddffe06bc2c17675928ac6896065190d17b83d69b2a850c05f3785564e05eab122f09ef3739bcf32b4a81909210f6e040155fec1ffe121196f095e8b7a736653697ba33256ef1461767094adddbb949c45d61b17cc80e2e07b157808ee6720e9d6ecd7b55416822b45cc82717e8039d7475ff7b5ec360d2430a4b7ec66decca1f48cb5e1807ab5ef2c28dd40476c03dc8deadc0c6a3a94484a4de4285d44dade5ec7331230795e2e128071ae2c813c1bb643455bfb36b232f1704050dcbaa9e4fb9a2dd5641ad7850d83af672085f4cbc7964a2ee40dc2064ad0a6be03c09e73a7863063282c0f3cb10798bee06a25938bb1396d8b3902725dd7e0f0ae5ca1b496387848c2936187ad8258f1057a3125337c3474dcec1a58f1b6ae7277178fc6f6f5437be04fd34a33b53612fb086170c237bfeb4e1b1ae5c5a16fa354c672dde0928af2426103155875d66e951b61bf7d1257372b0168b5d85e4c6fee5e3ad8efb33d66cfed8ebc246651c0cd862625b4d20597cdb217cb0418eb6fe5dfed0764a539a1b3c1c19bbbe990c6c5ca1c1a6c223f8e0b5e7ee0f42627942a5e51d0f4ec5f621040c601942176597a3760f2738518321b900fe5d75d6c7c5d13d820cf6d978b1ea6f4af04f2c6d6869d4e072c9e779647654857c2caa2cf1e7089cf72bf433cb2188620612926d41e2059609158c8d073dc370699be4066ed652d88f6d689bd476ca97cbe38b23d2b87e3407a691310b6ac64a8a1c0359c1665424ef772f7888f0d2b86670d4f18826b6bf578205518a245e28d68bf3d770a2359a9951688d420e495690d13a36ed7e2165ce9c22b116ee039740a8e46d8079de678443b25afa1b00364f87123d41fe90455f43252c561d4eb587e558b3dfc23b0e8b2cf93c80bd44b2c8b88af5650bc9dfbf197ef5c1d330270dace5ac10079d3b92e4b0dc0bb92bcfb7401b59a876d20535e1aa1b21d0286cb88f87b5bc2d4c06060ac30074325b2e6786e0e82f8068c371ce6ac6a750071b363c7366f14fa18c865f1d7f076b71c9413b90105b58c34e01cd3c68844eb931a9b369712ae29eaa6b3cb29a9ceb090fb3a1a59eb3cfd15d7cee08b23ee3cbb0abc63d2cc42a167e924d888398ba5ccad4f36d52c43ea20bf4f189a61ab6622173f80cb3436971ba8a87c07c2ff1b968d49db35464ea428e006b83b055f386c1b0c5fcfd08694e68fe49befef3924de81986b490aba702b5816dd33d52383ab7b279cc7efd4147b225915c7d4ac532bb7cfc0ede83c56b08b4b79cdef3acaade129fb72b901fe849fa030f46de2053adf263e49ce1a87211336ae04ed3329069a5af2a3bcaf6fdf6435a20b3b9475a5b078de1b60e31f4a9eb51cf43cecb169d9721a018f719f8cf006464aa76cbcd95f0ac2c75e12411a4463dcb27d64afd22675597d50a01a5785454147945885dafc7a123651234b24ac4a3a984c243079b71a797a50ec1cb22824925419942c403e8131527c4f8a9f7b52fb24c71629bc43323a1618616e200d48a3b87dde39ea544aa1bf1cf5ecaaff3eb27aeec1486b75746f68aba434d6f2221c1162962c9d9ac7f2e06203b106ea4b97c36be6d0c608ea7d43cf7332cd3610217ff12d87fbc6fc48cfb80f8b3e85573291afe9846c9badbc0a9b5c5802e1a83558317e3ff05973dc066ca2d50fcff227baae998ea775a85ed6623356632e703dc1921bb22f177c7f19ba6471a6d0898af4bbb69d6961621c0015678f78758fe1c57a728da49d8a68f74e75bdcb22b897aae4a6b6fb55f9f3b891393b0bd61a2e32ad7d14c6232a61ef9e25cdf72acd086f5de6f1255f072ccb50f3373ce79a9604c0c5756f8e2a6e7732ad3ec99ea490d94c7961eb6e8df75cb069d47d5785b6502d93f5450d4d0f7c7793d0dd3d63c753dd976c4c36a8b6719a246f42490e25dead7725b27d17f2da5d6fdc754abfe0525d4978183fa98943786185b573c33fd0b694e8d4233ea873bb08826139017a1c3ef09a507f06b20efe1ae83913931a3c1471da32b8e841e7f496dfbd3178aa7db31d2076f05420d3a10311fb471ec8094997caaa3242b7c4812a5f6f67e4e8ccfd9f5cfc4a95353810a9364931a94499562b05211d03ca48525607e74c95c62253b4f96120f2c3f7ec484465ada34ab980d201490d46fe6dfe4e99a011146fd5e596a19587275664b4f2c5991275bae52d1dc139e078d77e74d85797b0580ddb154b41bc74baff6b0e8c4f57d5e18f4b362de9a0051d0a8279816967b989708fecaceaf30e80d47ded5b5ccc14147e427e09f4310891ed443794542d304d7e19053428261da7c8070afd12f53871515ad26515b59cbdf2281341e7f8fc7511089a821bf6373c990bf8819fc6b3a88c2683aed0e1b20d1103ed8dc7fd0115df98cfbb1738722058ebb56ff5305248f22f8ace868c9b60b4e6659a4fc00cb00632a5b0a1c331480a9c7dec557f35ee91d46968bd5571d2b6368603afa64b413b0cd638a72c20dddd6fbb9890684cdf80dd9d8518438d6d3beb18741448469936db604210aab60dfa88a089edd65a0d98edf7a5adb53a96e9216ca06fc6ad2e3403f26d18abafd780cd3ea7367674738c70b09e582a56c3f52cf9bbd3747b8ef125c30d7acf2daaf8970b84896d0cb8b7863c465869694d835f36225a884629b360beeeb72adc02f7665b926bf5fbe44a66f8456cf5b40a7bcaf0ce57bdf28e95d6c5fcba16adaf4afd28233d53811f9e654a6dbf7dfd11bbb978643b43bb496f76f509d1e8b726b366c1a03a5ffbb1ba864375637215a29f26a5f515dc6c584d42a2b99bbb1de9b11e71a2a9e7ae00ded55f5987c8abc3bb8e3f63e17688f1229711c9c589b5257e8c148bde8f990979c8fc78203adb840af34b5bcad0d9d67e3a097420f860443e484c8fc0a9a755dea18ce6530a641a6dd08585de8bbd05135299b2d3d0d417907121a50202838a18b4d9eb57a0a6adb329aaa186d9ed36158055dbbfe752cb517b60c32fc6d4d5fa92cb29948b2b98cbe487a96ed47a72e6bd6ec36f869c5b470e061c29232c61c21202ad114ac5d313f0947a8a992b1707b51c72a83400ba8f8b62256db3b274fca4e17d4a9ea3f67c5300a7511f4a5922f7c86b424b67d6ed1cd3a7fb790f0038d4776231898ab3525dc2340ce259cadcea791b4fd1d66d1b86c353f678bced016e744d0eeeb9d2a0922fed4d6973d5cfb241be0bd729e9edc7c77652189d375dcbaf56e763d8b6540a46922100b926c3bfe74b87bfc78dafe875722034700cfafc56655c8c43cceedb04dd7bcfb3c7f42894269718cf64ccf08b72c69694d1dfe201a813f219baafb364d333936f290724f523fe5ada32a992bdc25e3af445aaef6cfd2af919613d5b3d0e5573cf66c9716c581b8c1196d36f0aa5242787dad01a74eef60fcf43ae9abe28a7ac3870f56a5b2a7db1b5950fcbbf48bf52953ace6d883c91b6bdd4b489d52b36146a3cbd8fde8c3468025b164d0db441f8f5d37e4254d150949900d65f5470aa3ac216ffcab06192d20ec02f1091adf8495b297c6459586a17a270ddbc9babe35377dfe036792189f4a54e2851d4568cee6e1785ee440b11a5ef565660b79d179a5568271ce477049135aabb9efc1ee4e84e656bd7ac8831ca5b198ee028d6daecb295d4edd4c745551c8c1f9dbf6b969edb4d5b58c1ea0f5012f2c82fd5c4c9cf7694a1ea65a768b5efd03ecf774f7ca24b40aee22043005dab530f3e02b4480af03b35edde19ecd9a5ac208d0dfae2670219af8a013fdf9bf338fd99900254c4901647b244786b6e4a0349d3d640519068fab6d0508d2fe8af958099b21aa4233f9eeaf6f31556a6255714d20106958f89c55f179f40cdebf51f9033118d0042f30d5d5d800668393cd480b12d668fd6e47b0010f4c20b5c09125e009a6a346d80574f4e4039455f6c8a68a2132ec1fa80c9b34768d0faf15d67417825efdcddf29e33573ede90290d6fe221b9271b129ea86a0330b9eb36d11ab23a00514bdff9dd26f7e5f759f21ca2b8245f78941e542abcbf0aea21b4c6b8fb85e22faffb86fc60650dc67f7e4f9ab3f9b1d25ca1bd7c2b4ab6cccf2f2f136a9b3921f6e83b269640ad170386088f4558a115356e8c07617260e51a8852aa86ad4622f8a266181a06b2ba937255877e307585c9e0dcd7a3c9e25eda44615815845e7fea3feae904ecd973421a046b4c0978c77831727aa45edc753b81561d77b5d92fa2ad513eb22515064ae10f8a454a239854e72afd4b5fbb0c598942850fd404b652a0f7c6347ec415afa8ca19e0586884d282a304c5100d43a89cbccaf04e25c82aa1669ba8e25f90345681e65c5c38942bc3f8ed01872300e0832daced788d793e0fd92c9bb936b5ef1a7b0945fdfa1a192afcaf3eea1e17fac3b7bc27017d5c2cfeb08e744fd9d19d60603fc8a99804b77b1331d3ff1de2357c7bfa97b18640f55daa316ee5c1e658aca1b51aa3d0a301f53031b9ec78aff14d3865058bb32004829c9c9f69f055f242ca8e592f14123b8f5a02acc4428461478a0d1778eca301740db422f54626c00c1f7e6f55144a80cdf64796892986c2682b1f524e622665ec4ef7cac10626c2914a068cf07ed14f1b985719bf33504d9c15c52b0909c6e8f3f1c348f447b759e1ea500f555db5de63a3d5a8c28ffcd232d5b8c70e4a648b5d88a7a0745d23fb88d0ebccb0d8ce96edabfe5eef96a13c706a549bf3927346fbd30fce0776c7a6111e86361b82a6d1d2f2363b7fddefce1f8bf10598ae140dfc9a38d1712900c223f8a3a51975954b286d6450a1adfa64fa3e61a7f0d1699042ca94e64221d43abfb70b94abd1d992b9a1e101af0a7a2b3ecdbea96eedeb5c5c927de6d894b181acb17dc80cad2871a19af57a78537bc1607532caad96636cdec8f412923414d46dea5a240c547ba38c10f1fdfb76ddaf040beecdcaf8a14766e0c982c0a31e7c5cb92019deb3c3c30b97a194221a5570ae5857f74a6087b4448364d226a15bb2156db9bcf4d6da790c09a6d23ad89616d2e02aab4d75a7e9dd3d95939c65c303de8af3a3fd3c84d9a40c37c630d92ac6c7a90fc4fcbb5fcdba2ad651ebf5151bd0f67c1b2bf13e1ac828ed7f614da167d5af20bfb8741bbbdb68ddde875d35f65c5bc8d0228394cede9c9d2e231948501ced881b080790aa46b4cda316a0176da81c89cb1d9981a07ed8d3b33f80f2981e3f43f410e9427a340225ad725600473cc3f33147b03b0e8b8dc718579e7feb08fe44dcf9a71345e59ea110f45f4af84d357eeafd4091433f0c289daa25e9bd9506073af839b3b0cc82c0c62f2c87608316b78bfc6f09cc24e58c5b96abf5d19afdd1592730650e43a4d827e157429a13bfaadeec4838862b744c1f285ba0a693f468540645943ebc47aca5d09f0745ce71eb116423a02a1280fdb54c0026895e22ddd99099b40bc8c3547d12c0b66004aedd408f9f94a46a19fe98b8150bc2c626930a5bca3e81416e31dc07b194098922d18a4db7dcd5e99dd12f257fd6a1bb894ad824930a623435f478e17d59e60b5014fb97e79b8e6684aabd6167d2f1ec1eb7585b8cf9ab056ff551f211098a44a13acd46b355a3a0372c9c278b142fab864f9ef43b86bee0fa72e95d8d5a409895ff35a88c3bfb01d26c93297a624e7f8f3960a7f9fb7fee5ac38ebfb75c798db2b5643387486a67187f0a38046f2d8919f0d0a963dbebe5dc54943e978ede0afe031762287f55fb5146fa6f9f62f67793b1a75fe675815222485ad092b4da11d01a8f3f951d7fc972db6b6321a4e3933c43a186f8443b802de24131a24e20daefbb9d5fc7e232b2240eb02c7dc6425fccb72b3d6258d4fd4d4128f6d5d748b7b319c2b873bd2ec19d3f7cdafa1dcb9836d5f757ffa5a262977b2ff28eb2966f53ac103c45b4f63bd77b6e9f0f4c1c5a9ac06fecc0f6c31a6cba74bf092fc04acddf93df1804f436b41b562670555ea06c40f9a80b0c97ce15ef21c395110a1b55e6caa46ed42a84d9103e1ba062ff3b5e00ad637fffa452218a5d817c6fd70657feccac07af1466c0e164f5f09ae9db1edd2a98880c7a43d7bca76e0d19576af093f208032942156ddcdb8068a38e7f0ff08abf69205ade1bcd55acbc1a09c77a0d7ef5c597c806ee30e3f452d2844d8429525e98c40e80f7c1452f8344e852cea7d6fd0eb26b2706c6f3624f8d65a2f8df1115c11883fa234bfeebf292fda1217a0b32a51f45e0f5bbcefecd51773352bcc158581ef753417df8cd3a18adee8538b63219927c298fe7b514b6ebc4468339c5bbb190f53acd4122a290b154164b6fcd74a9353036cdab6b45ca2a54025e189ad0d763493769846c8040f931c4a2b4782df53c40490ba6e1df7fec8f8dd07c967c346eb07f197fd3b7f5f80f0d241f4e838149e8ba02407fcbdd9c0f579c3e5205426fec03c0c9e18fefa66aad6a84ac47af72574b75decf5298f95da0ef285898bfecc306c55aefe91f3df5a711800e5a3d9371b7fd15c58e5c73ac6b1fa46c437828538507460bc6a6f0edcad9103e7c7c1668caed94d81206f66d38a8f82414c5257be32afa0021b9157759cc97096404cc5e2b0b2bb159152de8151bf9333dfee03c03e5ba0ab3d6e305017c96810e4a9c81c5ed2a6f97844afa7d2ed985ffe73cec0288bb8ac07f9385adf147787a990b16619e9197053660e952cccf52f375fdae2864d5a0236ace609494d6fbdc7566379f0f713ab8206ddb87a70ce419838abbb6a5a9e2a9cf300681ee1d7e86705502882e5b7b98aacc22f726e7722c4d793ec70ca9320f26a67892eb768e95dff0cec20e80e4cef28882c33969b8d76e891b74feee74f69f14ca749798f34a039c59770a4ff5082ca9d26d12abd68fdba041f0e771d0bbed0a109d24a9925857a024a41dc7fe40f62dcb2c6d4cf5476049a7b85737751eeca40036e97475785dba7b39259597e06f1cd533ac90ab13091d8ada8c697dcbe9ee3a634179658fcca6f97d753d811972fcec8da56eb72e7b2ac061d1d697e98b0f3d6867911ee6a4d23dd515cb0cd9bf34187313374b65c109609d3dc3266dedf22043fd14b5d07d6a64c7c5dd6b49dca17004dc18f183aba9fbc044b72caf9bf77124be02db17283a7c04c259d032bbcb28b0252491d622db60eb2e2500b00d453e3ca5ed4d30aeb22db147b4c145453c57dc4c0b6a76b39dc690aba76d4e7a3acee1b9e55589ce677f1821ed03c72caeb0e933af7250098226366c9a68c3cfec6ab17a21ddfe433d6c4b3568dbdaa9b3f9e43620d71d7a9a822e958e046c84da5f8993e57647d0dc49e2aa6d275caf9491dab9a41e6a50e58894c597e5e2da7563ba3c953af2c715d014bca300b572219731f6f9dcfe064a84fa189fd737e757dd254941bb2ee7e7b2fcdf948d0bb5d47c1c46a632d49ac229b8519dc8d39ce0739823860e0a79537a6631ef4d026c8f4fddfe0bf351b7d4769126a6623e0c944d43d618f723aa3e486be9f8984d5114c61be8c57605a50ea0988bdd25d74cad1cdde63623c80f57ab48738fdf88e22b43585f3822e0d3f6c339e754c1074018d39e7ea1bcd05233933ba1e46b26a395aab09c9cba6a8e6a251a74b2d92aafc2d53022edba0dfab4aa4b3759cc8efb73d33a2fe4f85d9e1b34f34e1e22aa08ae10594ce7c9f1c9c4cf54ce1d460021d12b39acc9c5974ce71ea76e6e710b94846c0bb831ed5ddf85c7d34c4947350d5c7ec42f40bfe4e3e497e17ad5a2085a11fdc4a7089501598a2ffaa74f56e071caca6574ddd088b58c31ed66bfca9f5766b622ce1b3d5cbda57a3c8a12aa3e4efb2e245357313458a41481fca32b4654c0ba501091628ff123e68a1974699382fd99653303badcf4c53e8f4547784171fc18fc8b480fe6b0c4ebd16e06d1922461bd4ded4ce37b02d7e05816c5c6eac93a08b917c89584e5f637b62b51434406e36f62a1c493d753c310271dd928a6a8e1d0b62f63484365fa0beb5109f6aaea2f27ed04c7d8e30ff733b9c3b2ed6afa586043a278e72f70642f427360126d42b1ff7e6da71fb256461a19280d446bb9ce86b5f7bf4e7a5313cebf91b638b6f12a62405602ccf00e6292143c311f89de7526c0166366bdce2b35dfc9f53a943a223f560a0ca7cc934c1e079fb1c60eef57e3baf35df8904ad7bc84183058e1e4caa91ce00f28e4d59860d09bf9e09bc188a10859de9b207a04f56dded3809cd7c261a394df2ca491d325887481fff0dcfb314a61cd9d3465a4c829a2a7a1389fd4271278afa7e03b8c6fe6e3dfcb93cde9a5175935cf015caa4b5839b0c492abaa431ca84d809647e1c87b59a887ec91c991c2a0dd68eacc20b41b5f625887b42b592aeef8780611737f050ec9af46677638e5349968702a980d32f253e07989d0c91c40b57f1a6bdf6d490764c361f1929e9676ef5a1aaca26ec1f7c042b4e907b86ba6f3c15fbc4e0dd3118854f759a0f6bec040951486094a25b14bbc8ffe94a5bb79f581eeadb577ade059cb413de1141f6339e3ce7722923a76b7a9238518515d0c0c65f81caa7f584dda9d6ce1657d051aa2bdc01cc2e32be831ab7b10df58ed03b86e15395438e90701c1042b5f8ccbb00d91e6530d6d20e8d797eef8e41f3aed2b4cc1b10873cae8cef181b964735f404aee01cc60c07a17bfea2883d5aae10c682bcfbc38452a869ed03a0113f668dd739dce453427f4762c70be7e5815786386dbd650d58e94d1ad198f6bcaf74451e867acac462f7dd932939a73c3e57ae0246814d7dab21ab0b012cf460985a17216456cf0e184272cf6f81c96d0575400850b1b4e9d5508b94927cdba3ba6e66fb0c1ac1e8c908600a6ee60f90e0562d6b2268a00d54ad00121f03d84ed31bc147b1662134d105f1b0ac890b6bdee4132d951898a5cffd7b74f84bfeeeb85e3005d337801d3c08ecf2d9c195ad4c9037f248514b47cb32c8d0518b0e871a7c59e6ea32082448a1a89201906a527c0377b5700cf1fa22fc2cb27bf38fefc1c985c5f2e0b556039d1fee38389ebc0183523a7039f8face7872da0a4228cee21b1d1908c03afa6f49b617e16ac234789c9d61d6d74d7628313b738abc451de0fa26a618a3a129db3785daa88e5f5037bffbe4c77ea1b7eadf5d5086f1dde84ec1b73160ca2ad16bf0717fafacb3c103d42403841a635d594bbeacfce811f5ee4e71fe40a550e922a42aed6c4e5de44cd9e608d6c8e9089039961a8db687bda1e64ef8bfbf7843ef521915ecb384bd51f73331d67362f83c465fb36f170dbce536dc5a22ad336b79ae1cb4f7f1a61a86b3e5e95a1d7384d94b64b3992f05d3e2f87ef7ca9f0b6e493759c6ea05faf0ee549433015095f0227e1c3b1b79680b4376cd5cd1719368ed3af5c4f04605d1ce2f15297f042a2134cb96f2bd42e2a15a3baac712b717e17e6c1918e807c30704f39cc4154434da3a63fb5fb8c03b6f5646a1c3688d7442f8e495ffe0e8a60cdf0d78c6549f5ccb3109ba29dfb467f1a57b4f0b1c8d7e12045965e55922ed2598366dbc48f1a95a71e98d0d3586e2355b736b5a31db23b0c9195cacbcae2e1bb09dd6957f264bd414bebe32643e9e1de0d0ce8d845d00b5015a4840ea6d8d98cd2ce96b909f5749a225ad7586c3d12d8bf670da95fc42689621c304bf10b3f042a55ffa0255d7c47a4170c147ad6eaac4e978ee65aec6b396bb1d27c9840eacd17edcfbf775725f411e84e175c708f5613e3d750859f4dfdc52ce27c99a259caacb8e150eaf60a381424cd142df88e7e1cb349552f5703faf72196e2317bf3bc96f7314b2e2ce517631f19ca0fd6d48e7f7f1a4189761322d575de91cb622513ac5b833153fde5acd155be50db3acc6043c22af652f2a8beceac597e41398474f2cd36f13ab24ee20dd7a6d5a25c5519be66a2bad7023943c7149fd3d2b0f2b879baaba78781f56ec339085008658d8e52ed7d74693c08db78ecea1d4f737821760a5851c1dbd63a61ebb8b665eaf0fca5fce69a7386ba340d62d7acca8e91150332903fab284721c10a5f706ea8dbe4c658c4a659eb6221adf788c0bbe8e2e88372c8ca49834e00e918bec453423a457f4dddefb008953154a0a9cec99ac29b72026a3bd00b8eda159e0c5e4ed44658eb2fc98864c3d9e0dc2bb52b15b9d1dc61e88e331c8f12f6e1087966bf6ffb4d09d7423d3b12b67c89048fa1067c60a820d71bec95db27c967fe535526fa977f92c8b1e436d33bcf604441eb1ae1bd4985f24807f7dffaec70d18603cd682b002bdc8b47c9be2dd17354bd19ea2b7a8016ea98b68b79a0332547412c0a9e87e303309d5882e7fe5851a9670c4202f07e9673a6dc30bceb4f570263c7faa241974a938105b173e2789a5cd973cb1b80d23336f55ae39bbeeb2c847f04ed180f6ad5be63f276108c7eb047bd0647f83242175e02e94363af5de62e91f08666f4b74dc39126b8888606b0464798a0a98cd4f4365d96ab9176db3bbc7135aba0a4711b4b45618d59686d138e378fb3ecf0806eee9ddc366177b2fb80ecd957c7d14df46eaa56abb8e86cd5c2ae87c4cc3d7e12aab981dd5ad71983fecd9a743889ecb02ad2c177aaf8177aecf139219360c0da79451265b8821040e16afedf7232b175308d072bf217decfff69afaf139d1a78a1a7b9b09b81fd4df49a0091108be20e998fcfba859c89ca60ed5436ab35cca2693d875809ce84bb851bf2f8e4df53196edff6708169398b53672053711e3599f7d9cb3789e19d2247ada9b063090bd2d96ff182e8c886d74df194762873bf78dc6c81b1411e6d8f52fb8397052193ec753db4d5837caa28c3f8144a86067ffcbaeec47585e7d3b8f7080607c4090934d1ff30646beec82ed1feeff58e0f0fddd70263d25077dd4bdeaa9f04a9040b19776c0d3b69eb080f3b1706a95a8b673da6450e56c84822325d4afa6a9395ab02b8e60f895317d001f2e8c3cb7e648a0e03ce102311067956488acb3f2059f823d7815d430972a7513c744a449f8368779b3f4f610f34ed8dfb4be5109db5e0e9823aac03b0d59f4f20dfacd1e65797a2793db2d25b30a4d8a51566269d8b2db13ec9e10bca457628f33814e1ce4a6d5dec73f0e92dc56424d33c3bda3238c183c677b7b9f6dc45793b9b58460d629ebf83c5920737a743e705771cd0c33cfa8d4a5b688b95a487a369951fb7e395059aacea99bb5096c05b9188fea63bcac4d3cbd4b6c2e3961c02a368805b81219b71707ae69094a94ca61234cd901e0b70cac1bab65afc618b1bf77c091df0c347fd1fed7e694ada64721704779a77152a9cbe313b302968ff6455d4529c8a75e12884a94cc40a293e06a70ef82068bfc8ce863621e2b81d9396dc1875fdbe0ff2b0a90735357d91e3709d3148dc3dd3f6bcd7198eb9267e45c559180ba801e87f1fab5c70f73ce1d18232b3ca3f4294e79526ba13548396e2e9e54257567bf51b6db8a222b37ec3925469ab53ba56e4dc7994f52b0785d9da26713e9d386a259e5d2dbf72bb1fb65c2f2e81e53ec04b3a5bd937b43f4c9b542a4822d679adf1f8d677cb8fad679e26ccf68cb5607e71518c65de793e957cac6003172f4ba0672fdd66a4595057b1f2f172d703a5de16002b2ea07fc9c2180a218370916f0daaf0f1ae72f80f09c05588eefbae7df3129d1f0d5501188fd3289c283b2110da963c0f689291baf5765dafd372ed14cbff785d8acb095037df249acdffed168b1b3d962281ffc2a447b83d290374a6b0abd85cfd241822939151cec3b3eb7fd67450681a15d0c06f437103c2351d247ccc375634df5d12dcc2985f172a0b2862b41b4b942255c483cd809005ce966227de59b87d89b6860a9981896bd920e462428542dcb1c3663623c4a829c9169a2a04b0a9f4784f7c8e335a011bfa05fd3fd89c51fa5160bc25b53342785b02f404d09f31cddb4afc9ed5a88f968173386ed412c3d5dff3bff4d4f6dc98ab6a94eb7866644894388a3894f96ec0fe8ad974d9313d6f8370bcc93322927e9310a6736cac2096e25082d47c79ddcaf2ac424883b6a971974c92d75853ff635f592a38f9902903de338991bd437e76e9e50080ed4170639fd96bf46133e7dce1da1d40a1aaba5371b494ff3fdcf6a1aaa982f4fd4c9f84a488a3d5174c751d5408e89f4610cf264a5f10358ebdf5f707a4d59663b12b7c781a2c7448b79dd6356e5d40f29d22040dc39dec71cb5164dc21cd477bc5cc92fd134f7328a44b83aa583e1d48416d107ac8da99864bf8717030841a13ea2ef46c1bdaacacc6f691f68e4b65ae4e168e40da5fee3c30c65916e3cc0cea24e0c534b1c25e868ac71753643dd38bc36c114a7d156384716c418a7be53ad2385e1348db9095f16181441b03dec8a9f7ffb21b475bf38a238aaae3e7f75a80562b1489c6ce88bef848176a3f41997fb297084629c213907a9018c7900936a821ad76c01dcc7941416f5d6437c8f1f2f3f403aee6ce8cad9186890186243abf80480f01e184e4cc2d084e6f866e45abf02dc1654da0738ed666762fdd257b57c0f0f1f1e3d9e6e2e703999733e16eff0fd5ef916daeecea39c8c7cb4eba7037c77c467d4448597d1f7232485519376b2fd75c25f6b869f81f45aa66bf34f7dd4b55510d2be7d257c413214cee7ac04bc220b00790abebc9e21ead1682ee1a6a6f301bb19cc1934e2b89d998a4999d883670c1fa2c83a8c20ed6a8c819360ff2f8657f5f03b48e0123b4e228409d668c27299414a7ace8f74195eeab4ea7ff9f1d94eab9913d0e13d48e2489db645f30ca8e573f13304f2be9b0c974769d8c524a8dc4a0927e3703d140811920968a39ffe3385d8099f6d022cdeae15e50b18690b9137f7089a86664ecc83f1ef93f0eece51d1e2a5f92fa48660b7256ddbaef90c56b090b799b7caf21cfa559e46439600d0b9fe449e55e6515aafa2c9db979c770ee5c9552b6bd6d871a7f790fa245642295687cf9b91651170d58e259c21f5fd6bb6023f8e96c10f7ba143cb17b1ed0da21920c7a21c77bdfb570526c306b8eec608487adaa830e50579b0d8bafdda9bc66115357dcd9a020b438191f5e2b80bb3a84d693b97b3c79579e628cf1a58bb70cb1de0536dc33936486c1e1ec5c4e8b67c1f6213f11c56b104f58cd1323c82e0572e15ac18646802bc2ac67ef1f08692469bdad1697b8ee33b00d139dbc930f458246c6c41f513b67769310d08b80b2e1ee9892d2fe75af1fdf3cbc556e75dcf54336937c7d2ac33e6b58746bdd9bd2eafedf98bbeff108cfd28b855a93a958927b09be762f81aecd6d4d5ef308036dbdc718a1a1e115a4f34e7fb1208a2c9a15a7cc7632da0ac1096bc7b54c9e38b72560e3be9e3cae89efd126a22d5feda0c9cde8603c67276b7105aac5d29e31c29995d14dabb9c8787c3ce209565888a12fd2c9a9c85b924bec94b3f760f4113a20ef1d8e78d3800621f6ebeede463ea6ddb96822a5a9a08980909752e79a78b35fc3579610d786bff8467fd6787945dffb2c6fe90f3ebcc0b083ea772bc7bcdd4c7dcd9eb07c0212abd698fa13fce930f03edc3bd093d06278c43335e117a885ad88e5973200d4a0098a7b36aa78202cb572a22b80337f9c1982398ab50f520d26d42a004a7406b27e812b3fccf556934a5fd4be0090e5ddb1062e170010f916006e374021b1e40c5981b24371717cb19448ee1b5e0ebded585993cdefd01db0faa38b4cbab954751afcaca1e7ab250367f8d786e564f5404a2577a042d10dad5bcdcd09aea33dd64eeb2bf6dde504e99e2d1a38a55dff7418cc9bbbfed78d63be2479d5a9f703c140e310e72134e382b3d19fc883ac94082ee8b00469675eab9be9968ec5b78b66574baba1232e4e1e0be4bbba40d912d73ba355952e870ec26559363714e2620af922cbe745868ec2873e09f593a52b6372753c41d8aead71bbf94108792ea1ebef2f0d8271e181cba1425b83f9ed462a5e945f1633d142686e6954dea344ebb06355c4440027e4bd6306e96ec23767b480f01cc1cc0cf211f354684e34cc3680252103be8eda2e3bd58b93a81e02a518477a6e50b6e884f43f41d312a7a308004e45daceb033f910b8c7e0db8767a0f8f662174a55842357756829b135ebe66beaf63cbe265a94420569ac090e38bf28089c8da21d9e369aec7dc4865146e60f888e60cc2ba47447e5b7fd965bc61a3993673a42a8d5e2ffdefddc3568d4045601a0ad7b182b0eab4f9d93a5cb0112728cf5b4439f3427709164e8c0a0d8ab8db594bfdd1780df7f365b250b03940386f06211904ba46973363cb09b6ed05ea5d749d287f038fcc52e559b7d22c83a1b83247b1ce00f6fb0a5e358571866f97e8c228d826b56ca057bba8211e981c9879efebbc86fb7ffb2d97231dddec6732d6af15e14d6fb13ea1e1a24cb76288d0fd285e840ad911c05862b237a96a8e26816231385aac5f35d560a727d4d801861209b1d6c0c261eec04ec6e2771ecf64e67d95b356faf049c8420bf28743a4dd1fafafad72689ae1b0e068e1299d6cf562cd675997dd7c86e970d77c0c82a938267e4bfad2861564d941b342e15a7cab506f3056cd09b1d5a0302839c01fe2b00d066f9ffc15bdb43130622ac71ef023adedf752a5163438dcdf6751aa61c0fd6cf69720efff67351cda4117730f27ff3ffb7b99ddcad9c3b52b57214dc61882f2b03736e789271cbc2232ace68316c01462e5af0a0c6b84816305bf2dd6199b3f0e92663333724b5452a6d2538d00f598e497b9eb18f9856442e3e758b3cb4a7c72915ee31fa5123197590ab98b988f167ab510b76bbefa68a71afeb57b483011b9bf78cccd51f4368fec790b93cc307814c1f51538289d8e163da55a831d3a77e455dd99ac368cf1fe56eb9184135a192c128373da6b3ef709b3d792a1afa8e6faf00c3f2b3fb642bf1b34b29e296656cf48cf9b631d123fc0bdaaceff9f53fa322f387a7ae435f9525e1a153188669a5c5559e3ed03e61d84a2af5cbcbd6be48de14935789937a4d8485b2afc296e2ea5fa4a5e7ccac34234cf0d071716956d022162ce0ba7157c7305c65423f4774e7e8194b525fbcb6e57b6626898a5b8d23979a77cb1a2bf28dfee702d4f6fc1b019925c72a29686a74dc53f6c8c2ef9a27d81399fb23e9cbd3f224f0d0e8255b122b8820651d95409bb6d3735296354a80963cb4d4a638699db97f242b03c36cc4eda3055f32907b0c1a8dbdc15b2eb3a3eecb7258968899c57abf2d92134f026fffd219d4e945e94af11d15f0324d504b56965abde4a2c75546f0f7315805934ff8488aeb5b713c148a386e3fc39d7de899567b8f3acc208fa124dd092b064bb9d678091960714305f8a7913bc71611d72a0ab1232b14f6136515f3bc3b9452e066eff187f8dc261a8b77e83e9e9406ce4cb981069c568bdd0668c17bf143f4aade6b154e65dd952888c004539cdaf62505c4cbfe35e6545f9b771f38e3b8cd0b229d177772a1b7ba401a4d9790ddeecef964b14ed619984d83b2432b5389da5254e046e9f1173b1aa64de12eb413254f2195282fe5bb78afcd9349f8603451c97ef2e57e994dc779e7bd169e984cba09311ff66b63999b449ae3c53356c96ab214a0be02a94938de58e6580efe87f8bea3455a32c6a2c1eb75a1aff461e9794ac4a2dbc008088e238073aa6b4e385e08965e08029844e914120a642e04070bbc7602b6ce0250c9b1fa444b3e8743c9bd5f99a5f626d81e8a2b2c9d2218c8ecdc82791cee98ac5f60664a4d37770ec8182813b7edcc4399cbcad3593fc5d7035795d6209448ba4be056379c8409b924d5bea08100a229f8fcb7aa2e1592ada3bf93c0c4b337b8d3b00c6f251df739a251846c1ebdbc79effebb50c859281a7806f953c7579a2e4692df2ad26f4c806dccfeb1de682456de7650ac90dd6a374d734ef185b00306891f325a8384b859573d5d8b4b52c13256bcf2ba4993e569561bdf7886ec05e9ebfb3feccb9fc47d39f6f69f203e090a2cd1318a3eb6c6310399eeecd3c1f37d26992793f4026d0caeee5881e291d7378bb5619e70fe12985bab8350e70bf7752094069eb4d87cf0a91b3366a3ea07678df2e7116ee382d741306991d162c7c449a8322f8ed0143feed5bb04b75f3618846f1ebf6971c9730a6774cba7855da93c21494327090e1f014262759e8b0ef72e6699e7a920929ee7f2d12b4a2e5e800ab045f548903912e61f87cfd3eda6b788dcd4d432142ae10b86fcd933e3d414e63a1a71b4f755ac07eba11ce7bbe454c4d620c4d94ae81c529db0c3487c7c0c054479909367daef9a5516914e58c30417e908836e13d28a217685de2f25332f3c53cba7212da1e830478715329eac6b6db2d6caf8746d7bf2e5d9b4d7bd3d82d12f328955fc7de8221a80308e0ea4bfce52a51939cdfb34dc07a953dd083de4738663c41b696eeed84347275b472a2e9294dfd1e0bb1980f0981f23d02b45d895b851aff079d76201362ef1bef86f503fad9c1ecea53898b0784157b958a335896e95f223c8b9f0a04627035aa5ef30ce820038569c6471142afa365cd727d1213637bc7de8484c147f290efdd963e331684912f0b39b22b0511e13647887a89244efe55531346b61029084699563d13b2f9dfed8eea6929a92a4985d9af4822d40e22276cc42d68fc9b14ebeca9a3bb81ddfad24fd15e642f43adcbebcd8f95221385880a285df93675cf98621d39bacdf4b6233eefe6a3e10bfe263d748f11f82195be58cd0cf192a857cc49da16754b035651ea750e4e09c8c8566b0559af4da30e21c8ef10519eb6ae4d1502b9553a71c4c2b4f8a962dc16ff8e744431c290e8751b7375fc70b6fdc13e24f0e51b0701d39336c05aa7e6a277fff6aec53454cfa13d5e9f48abecc09124fc81ec696270752936a54cd676e721f184763193760e8d416e6df520ecbbb3ef2ad19e4646feef37637b561bb67b84c06c7275156f45784a2cd4ae30245d8ea78c0655726f37d3d004a6fd9c629cb9983c4d0981da6ee7b25aa4c81ce1e30c43eadfb833056b21541f52c879512d7e54f3ee3a1e12fd4106a45329175ed5e5c521ccc6b00d0e38dc99add78c0bd9dd60c02dc281f2de3192e63eb542b318504ce2d454848451482d23592968cd374907932d9f544779a1202f09d2334f075aed00222dbb5c5b02a7d64c248ed88e19b56b4cd0e706f70e5116d9b230729a275d0393b46c73e3a83f8fb6981bc87e511067e21cd55ae184d2f7a6b384315bb91a3415a01addaa0eb885e972a12df5d7aa2522d737a0bea3c8e6b02fa419276f9ffdce0f3d4d07f1d970030d57386e85935e6073ba19e896cb4b8cf986d38228243347cddc7811f72488f8f00f8d2c49c3fa659b1ddf3aa5a3ba2847af161ce57f45bfc1c070ec64907965d4ddfb07cf4dbb257f7532b509761cebb6eb0c2c3578da9789a1613006047950dfd3f0f50dd6feb57525ede75d9c78b6da722d2519b461e4cb826ba81f517ad1872237b01f3fe36ef0201c5da66689f18d3f716eafc184dfceb42b39b0255d93e78d451e7ec4d6ded4b28ca0b6daa242c77618b65b326070bb5ddb84c58dc8463d54130c4b71d219ba5358a28efc8893d531a85dea6ec968c8d8d4c546f114fa54132d752b77acb20d8d598611f8d377d9cbc308a4c3eaaa377034df3c14b27e03d6a58a30096315e2d2e670c77cc5889f4556b332bc4e150fbbcaceee73365a51dc24546d094d64fb4825ff84ade88fa6724005a6d4c15f1c2144a07ad0acd12315acf2fc22d2c47a60a872424e051835b930cd48385f7b629078da46ebf2b77f5ba6d299c06e3c12c1cb1602dcb5bc89123ff8b92a0f645e2c2a994a2d2263a649c59303dbcc1538434d3269a7b0afbeadb6609956481ad26a887b2b923f1aabb06ae780f6d8ae979c829ee9e5ed246efa03984a18ade45fe9fba09aab0f733dde2d5ae1dc919a05ed1df110c570f04bc57dc670fc7bb305b334a80d9272ddc9dc9b2582f485581c2d64ae15173c0782d83cb7f9c50594ca0519d6fce80781d9a02e1c8b45e4e74740c4117f208f3ea724b2d12fccc25dae1f66f4e620a46dbe5bd1376413711da63a13360cd1b0863ff9e970929a5ed406fcb167b863cdbe90af3a8eb658481f251a6931e230fb6f10db0dc0f37029df353bd77dd9d0dba5d8d0fa41af7b47cb2f14fbaf7e84f43a79cc82a99dfa73f8d9424a961bc235c3b1ae5e5cb7f56378231db5061fca382b30760649c139f1891fd9b6181c8c6b2e2499ea384e82f909495555fa301ec7a7ba9d88e1181db7e0620c79daf8d215f265ec069e01f163bb7434434b3295a0d98eef5b6a86b979cb7c7c9c06b96e079f17feebfb87863c9cb639b03c5f9f4d0edfd09b748da9eb476aefa53bf080f09fa0ad1a905a72fc168f5cdd16736b4d319c38cb1648d8085c797869bd21b57bd256f27dd17ec37c64107c93bf5400aaaab6e04ad5d8a338e2da875ef3a7b865a5d30db566b4cfafdbaa31700e6ebfc304be1daf93d5084e80df7d2bf70f44406b7c6a06d35fd636b46dc85bc5dc6174f1656b836f196c6d0bed684aa33458dfa41f48b0445367e084583e6d242479f7d4a269b48e4e08efafe159776df6f57167fcfe038c2bce06da95c9c5d2a585512f2289feb4fafb05bd3a68658f28b2f2b317a2860c0fa32bf3e8cc0e848291b807634a05b0f49a370dec5cb47ad0f5707d6bad54c0ecb24fabbcacf1790a9d0547eb281339bea7f03c197cbd3433cc175951d3e6672f1e32f4862d9697f7906fd5e0f97d10ced2339023b71b0f478d0d010b650ced2af91ab668704f9b5ee47e89671dd03e98573efd4a56006df72f635b50566a963be16b9806cf1269efeef1ee6a28266911eec35981f808c5b40d2b8777bb0672ba3d0aaff66da5d5fd6eeb1791fd67ca1c42d9824195990f434cc787cc42a3e7fce48b7277c89ca646666508aed1db888023bc0b0b67ad271872159118a569fe9e3695ffda07c197d30d3e328f9a1247d78598ad9e3844c7834587e114a3939286b885a28fdfc73157c265971fccc034abb692d23fef15f0695305d53cf55f819a214fec286af930801db4b5037107d52cada9b53888846f6a38410118fc71efee4103d09780e2d094d3e186fd6a4bceba3144781f58509a3ffe9c7d8b6d9ac66d607de9c37a83b0bfcd6feed5cbb4a4cdaeb11428fb6912bd263f4b280d02679a8aced36ff62014fe12276182c8d04ca96bef5e116ff29dbab34bf259b1b3fd2bd0d646af8f2183297231e9a7342bbd10d18fb91e8516b5b6a58420e851034f6f64ff39587f7315bc0029877e0a183219f039d2bd5203ca00726243c701aa2076cb6802b9bdc3e8eb17d100b0fe5d012b36a9286dd0b23da7677f1290254a3add13acf334cfbe399076a5040bff1190b0920351530abea2971953c2ffa409266e94f53634f076bfa3067791d1848827c0dce7af831dd7a79459958c8b28aea8e229ccb27962c4499b181270158ecb2db57a8e2ea282584ebf0f48f721e67c755a323aa89d23a005c356252268bbb6b2c49868166ad72abc767a9918d75d7d55d94b32671425055e508162cddab4896287458b05b03208caab2592122b522115293c03be1a52c20a3967f4121a309226b09cd9cf1a9aba05a98fb5ea35cc1fa6d1d95f0c01e2aa7dc37251df1a56cf386b491c8752d3534d88b642900f518f0ef1e9e555d76e3cc2dfc431a60571bd1adef9e93821f5904fe46b05e8330b676dd35ec7180be06919c686efcaadc24ccdc151800acad9c8cea6d63215e312118e305964c43ab94c982eaf0faf558636d081eac3f9c7f386dd86502a09bbd4179bfb09bd35257b5e1d9a26ba7b1505af2144a8ffa827b93d9f17d26eccbbe2ec2d53afffddc1da187310ee7b2b8db127efa9715237f4d9a3ef13670004337f963f53c2b2c0da32969e3252bb9ec10ed4a790eb1251c6ea11c4878560bf7137004205fb5573f86d4c18bb237dcb72374e409ee2536663b572063a3f22b584ddc4ff4358023ef59d3efc7ce1caaca710101e7a542a442d03ac954e6f0dbfdccf875cbec03372bb7cdcb28b1934e138f0c2f9efd3e966928a7ecfb16fed80558e8885e768e5b605568510422ad6a3feb86ed8486e3bfdbf3f2f3ac46ca9b7c61c090a68fcc9783ad084e6cfb77b0a8cfaa1b2c564c5d2a176a083e9315c1d52ea263be737519c26ddd35ff0b447fda894a0de85c299252d5811351515f19cc063cb564ed0c68c3584a1aaefe362a0036e8baf5fa076988c18d6e2504246dea87ffc3192c70bbc820634528e704c990fc6af410b3cdc80933efb99dfac27d9fcff15d18a1889810be44b7eb08951e8d1c6c8d2d362dd48a08381671eae82ab80e7d078f7f085e7648e89e824ef9c71194670db771a1bcde67ed375115a98b22f394d2cb01059a43f76f8762bf18b9df8fa1b19110f5f3dd0c619b6e5927aaa89367b022b12b66cf52c3c2d68f6761965ac36f3f1153202fa44692ad0e5a0d1d59316bc398bc63af0f1dcf377fb66c3e3132d4c45400c9dbc2003e24b575c4b045fef75587c0df5c658b7466b74ad42755368a56cf6ff43581aa5768c649369e1569d424f56f016865a34d59b676984e7f67f459e6514241afcd818252154f003cfbf49040a04d9aac459cf5009a5a1d76298b222d66ba5b5a4e3721af348571893bca9600b9f790af5c6a02b40bffd83a718450a54a8022c70fef1a14fb4b19b7730d1cc7ff2b9da1435a506ad0ef50263bd168c5ff24214a065802828141d04fc871e83308921c290fea380ce92db4a1e2647c985d2f9dcc2bedb08df0dfac26985a7ae40174e90173df9f95b15bba4d3768290746d7258ff1b0ae64c87b52702746e224e6242f4a2a2070b007502ea92063b41df2c4f6bec11c37ca73f33a7b4406477a0eaf9d0ec42f43b2594167b1d6b84175f378cf5b0de07c12d1cee6e44668fba0e46c38db7394aa094c6cd2a25b97dbcfcc6f0ff4414f8ebf654ac650ae74ca5e9a87ab46c1205157a7489097d005fdccc4c52912cfcefa55b26f8ddb9f60eef2601a84a5455c11060e028d8ce700cae682c4a02ffe2f2ca27a982bac5840812b486176102b1fe8b48dda8cce0fe94f2d35aff5057a99004ea15841cd934edf4f79c2f6bde6b08aad01046179774e765295c57efebdb665279db6b3e5e7d1a82c7bffbde27a91f5ace1ddf8c11f5f5a55b90b3df9a67f4ab644ad0613758e8cf84d9ec4f40cf50cbb735b16e659f7e9fd30c2155585d94199656851389d8f21bc80b566248d7849c6b4ecbd5b178592b8e099c6457b37d87ca66bcc69464235679980efc4a687a4fe036388da91173809ca45c0a3cfe47a5b4b724e0a69104b630c334787994273c619f4dc0b509a0b03271de5a7e2539fcbe8f6697076d2464eaecfe2cdae8d2045388c53da2372fd52df5f6cfdc4d633752981b182ac8930f17b136665b61f1c34c0cfdb4e122f19bd75d7ff552ff5e736c736175338055b9ba8811d16db30aa5d3e5f9e2f09000706348a5ba06df44c302b1676b5ed4d0e418ee4f143f40d5349cccfa5c46e08d34298f2881182da25a07a7172d30597e3a3e06c4e67a049d1335aa6f7d5b49641abba8fd4d5a1c07563c08a40103c0c6d0d7d9ad0e2781db1f19829d29193d115d38b4d0271d13fecf94e7759de28d9f389122c9f5adc93fc20eef7b6619594b1c96c7904b421450d4b870042252331e89723d31079469104cafd676f0fedcbe0d99f56f3e8862fff8d562bfe4ac984ebfef4fb91bdbe0a649d157f5057ab61ffee3a844d23f7c72c0a8419fd9e4e333fd477238bbad4ff875d5657b02cc39635c3a5c15f3a5bc7f0f2a785fb95930e8b4a18054f77b7d5143d44673f4ca57682899bc2bf3464cafccfbb13c7c5e13f3402d674fa88994b92ed72d6cdc1116707765d28bd7e0de31285eeb45b27c842b115a92e908637e267471e811631b3e710f178cfa3455c3e7c80930731f5b68298def56df6fb0a3cdeb5534cd22543bef9a446fc73d680e4ce5a28e92a797490e0fd3ba888803fec0104c242149bf922b1b447325efbde0c12d869c2ecff5f62898461bc521ea918abd2a673206dd5e8d43288ad25d2c012f1631d1f404032a9eb31408c1f10bdff554d5740fb345b64b86fb74da8df95fbd901a5c404e815f8ea17c46ed1b78118f32c2e31fd3ce42f761af2bf8fb5a586455075a668c25c97853d5ba37ebce060a15152573242e3729d42830eba1daa642404b863eb4d76d0ac3a6465e859de128549e169eec280f029a22404321a6ebb1b805b99fdd1dfea38640ed8a506fb9b66db381cc26a1254448a81cc6b161e41850fce4fec7ee41de25a20abb7a9f00fe93305793a7bd2023d434b9aa6f64f91058a907d2f061c2972447d3f0c1cfc149c78791b1e4bdc131ad5a3eed1d084c76b4163504766e9fcf36fe1527d95fe21460574896da187c60707bfa68254a35693b711530c79754e3d241cb277d6bc9c9a3f6eb382db53513877b40488908e2435568616a93b1b1bd8d1221844834817c28b7da78be1649a5b1780d9ea65fba8807ce791193e891b0784670d5410539aeea9d2a8591de71495b4add6e7dbf9dc22cd5fe8b8ffa59140110355ebb507e03dc3292f800bf6a62da17574365b181f05bf7fab5bade4441300fa7ffe721ca2eb361835998db7d386f8f1be7db5b7596c3f2d9f27ed8c44edc185101da548f533d0dbee1435fd8cdb7ad8f02690d31cd20be49fbe0086f8fbefa5648eef70bc84e8090a9226a1e3c6e856499373004aed0a70777f3993fce1e96dd54a1c8f839da604753f9c92cdafcaa5f268ce608bb0cdb50562e98d92c08e47e2b1b0bcf5652820b2a774652968a1188f9f2d87f2fe87239122df15e738d7552dd76850c55a9ffe0136f33506c23d9058215a1255af6641756fe038443d1d270458d53d6e42ea78d12d980728b6a9284fa259958ea00a3d9f27fffdb49e0ece9d5a62adbb9cc42c56262b00cc8ce7f956b2cb05a2a22de480df214285bb3225da7549c0468590f7156ca399591167ee41360936264c464add77ed047736979dc442a49d42921cce21e654a2dceef058d0191aa2d3c9410472e597d139b44dd7d78d9093a5d8109417d18e9955fc940f1ea3e2e892ab44308c901ec1a28f9b0098717f689ca63e104ce805050802d38b8f122d85ab2c7842b844c9ae9e00e7c0b0e28858b8b3db7b8abf7e514e5e63f43456371ed3384b4a8b3b1dafc15798a3b2bef0e3885275746e7fae73a0d96e55da55261554ba52c1d31f32a3dbc9dea1db10f322b4b46a24c3d4411fe54630df59fa46fc2b583a5fc6f3f0dd5e46fd409cb51ae1b331fec799fb6ef4b5efdc8ffbe264e5e83997e17a8d7f62a1ef257fd90e604d4293bf02d5f81ae8198efe1e197c5b27baeb8c178329cfc042d3f1eb6e179206d844de41ba05ee4ac0ed9e3e6c861fb49d68ea890184233890bacd52fd420fef07befad411b9a318b97efbf36f46673d3e784176cb203ef3bcd305f4171e1d33f3f3319dee6354c2433493e5e9068aa79672fd3bf39b1037256466f1a89868621b2b62f1d05e63064159e60727041b170d55e310d8e0157e339ee01f3b9c60c4b5bc60e6d4edce1084f0c9589ff75bf3a9f6939ae49f961842fa3e2e76ea796e48b2a984e2a66dc0c266a52d01ac7bab5bd9f1a34a1607983b5f32be8ca49e75c3b41f1c9413b4eb777af144958283ecbd3922843df90b1b434eed626bb6b8bccd5f6ed530e592d706584f56a725d254d8a5d2b692b1a2c7fc06002dee07a868f0ec394e9b7f20b5e151f78e0941e143c2d2d49fe7a51f3de13b1fd03b319c64b8bd287164eb6ce7d3481994141c0be51396d51f5c121c02d31f695bff708396e0512286fa04dee67f12ab895c0c558ba33f20adf058748c58f5e0e3446a1af743ea70e4387a95ddc0d08d9ceddf79a87ac517b9e5b46a26f7e7ec383fe540404092e4d76ae54b5822744e4ba0750ef8d2cac085bda3b0a72aedb08cb8b75bb49366e4f8e07599f9dae5df8d688ce57073033f80260d41625b9ed9f727e8553a65a111645b3c013df8cc8fa6a718d32b643c8808c6865d169a300e8bc818bd810f80ffb8a21d69e97dad88e400b586d0f3e965ea45836c253246c1d6f1b16b360dbb59322e26e28bfc54881d698e7cd5057666968c96ead08204edb8148981094700cbc3338ed0613c4469da5ab4675fa1ce292e28edeb6613516db89e28c9d962301f4fe7b38366ebdd1d35933f3491d57b9d55aa4b44d21ebb0d7cbc54273f0cf6032c449f5055cfae6793c5b68a682d6692a745e6b2835af7bb933e78870a270d51ab33778fe10a5cd377422d4b9587dcf00d6d206f240f7bd6fa28cd4ec66b2b878f199af3ce6eda172af9fe31ebb715865a77b263ac9a41190c15fc0c6932b0d573d9034d55b401ccdc52858b5ee9c5fc06500535b9b3d9742e745558dc02e52d0df6d75b038457d4f6c374ed68d39eafd2b97e90531bf9cdb086d9943a518bc474aebaa0aef02f1d41e8113fe944c9d992e3330e2867bf17d3b305ba0f6fe6b073ad4bdb9db519e4224bbd993f1e9cb75ce26c99d8a0fffe062a4293f01f6d55619b4e1b8f75bf0065fb3faa2ac512e9588d9574a9522a3c855782161f5031b14de49a891f732630ddc5e316941bf46298401ca29f46694fff11304801d995015a7e4a81afe0db0a9a79a0bdde9e03d869f94382a15a3c4cfd1dda32108db5234727b36ed0e25f1fb12e0993c7b5ac95cfd4ee1777782d642da53a045d253ede58f0f0463647e6d4f352953b26e2e058370277e107a1b979ff5e0bd28f5adb92e066d41831ac37ce7108d2a1b84376f668b54776fa15943f3f018be6c7dc7a8847c9f512fb5eeec4f093804197dc2dfa2b993bb35fed2b892f4128c63acb707ebe8b689b9327dd2d87eb7ed59e834b02ece8835757afceedac1ab80b4081db1a5b9758bd1eab887c00834dd91d4d5339eca8f795f977a1f52bd84c8c01d2e90686887fc151a9309efdeb95f42d1cd3270d851cb9db84c48bb8a9871a988950fd0b62ecc854b11641e3e9a07fa191a6f61a6a6b331ef3cc6c632f782e8da2fa81aaeeac56e4d0b2fb3016f936805be2574986b31300621b35ddd0e2220fd9943eabc264003d73364282869fbb5c1d4a846f46dc9509b4d10802aaa1ad3c84763a2843312fdc8dd8add5c7b24e7f0c877fbb8f9f6ad1960e87f78363793130a0c1bee89b64a12eb32e939791fb0ca610162c4d4a6f0c94bfc1fc3208f45c50463240719a25de72716d7d033845a84d991e25ce00779ee00002830ede3e302a8b4bf03dbc505243d2b87a86a62c31a52d6f64f2bbf22447c293a26c309459ac6ed5a77912c2d8133cccf5cbe5dc75360ce88711a3b2fbede336b7dfa12939ec4655dc47d026eadf1c062233806585eb57469609c358a970c5ecca1a18273d347e2a15141a37eb6329bda96051b1d9a56bd02587f09cf9976e282b9a0747e875be8b39832aa0fa9e3e327986e998bc02e78b025cb9df43f82ae60f13210e6754407376bb9173c1fb54aff4a39388f85ed74347290aa1aebdbbe9df794b748b974a8e8d2bbcd8e8eaf624fa4ee87768fed8fdedcb1992c829ac4b384ccece6cb8571fb0e5ed2c6a43a5c6b675719468debd131c213379933bf5e5478f79aa71dc8ad837fd83cba4de90e99cf9290a3ab230b1c829ed78a6a3c1d5d4cf5dde2e9ff2bc6f4aae8ff3cabb64fe11d1b66ddb31fbc7f65e81fe68250fe4a57d234a51d603cf23aacb4b7416f6bc97b0c3db382a44aac12a43bfd7224577687a7a6e1dd31c69c2508b02dbb07ff003ee4f7c4ea7d1ce2c18b93a495e3b7082f7723c299c9dea0df05a992eca50b301279526133abeb10ad8c71020a0a12107317bc7da300db7a4d12ce92937c29e1e297c80059dac3c8b15d5ab94720b19cfb784c68dfe1b0a53b1d417b3979008bea703a1febde5ed7ee10ba7388c4f08bec91b370fe1d7caabf9d4b2e457231971864d371f478fbd42e9b1f4e094b0d7a4185226715c063983cf73e5bfa2c5ebdb17492cc3df9be3e4fb347a7d92383ff370a26e70c8f84ca7217cdb3201c5bb39f0563b6d8ed04a0dc59e286a4df1d2d7986a3af015d8c7b8b6a0533c9d035c9f4aafdc082b2f1f72d4a44cebcd8d038b74ab8ab27a3acfe0f63c78326648264504959d80d8daf27445e8043eabb48fc3212b2c922ad68a35f16886f9a6089b99a463834dac1f908b7f569dc4d3a30cd37f6392a672827087cf7f49a2e2dd4c2d84acbde6f1e26c92fbc19cf1241dfc3ad892c7db16805249cfb069050fe0c2c8a59fdeb45c4ab3d8d6cdb4ed01ab44c2bde35fef8593b550a98dd05793261ffddfacf1a1c2e3682e25f0dd9b07d0baa9e61c57ec073665a52eedf11032dcb8c880f99af08a3fcd1e71b8afd2790bf33475b7596072413a16557885d9fad17b50b9e7cc6f86ac62942e8d0b60edcae69ae95aeb0e28bb29d4b7e605c30fb6c75d0688593b9d425e52f27a34fdd8bf57d85d7a8a87ee17c7b64cb26accedbf25d891f59887b8abd87a451233db8b08c3780b4e90c9b7addcac58579320c459ada1b4f5d88e462ddeda3867c1f59c7eea3810f68db0441025b9e7a038eb2e987715996fbcdb7e1ca4dd74f12ad6e08af1b4321e653be784e4a8385eea2079202d988dc179da1847c836579a0ed1feade407da78852bab1eb0f4730d5c34ab84afcfdb23ff9005692a67418c608a81d12418b630865b7949caf6f1ca0c859559e2acf312bab6ea5f6e5586e5dff1cab8a963c65c42b97a24a80e4696786e93b65a72345fb18a23f91d0976c7802a079ebeff6838d14b75b54ff1af9d56550de8de05df2655d55ac7708495cac802bb0096176074356cd3071af3c709718c3e26742e0a0b226b1ecd54eff197e3bd6441ac6205ed4f532b55d4d851c7923c46c9a106769bc65f03092dc66a078ae4121054c71a53f3a8db2e2792c5f1df7d3471e2c4f24bb1b1335275d305fa9e76bbbbb5700a0ea7e42f34e5016c274a76a3fbe962e52609180afbed26e99328f70a8e66b9e7418d0ff7a66305c36b965f1062f29239f7b93cda9f1db653f69e00679d0cbdf5a717aa0ec428380881e45c9794e88f9eeb448e5c0532eba5672dfe62c22d6275abb8eedbcb083e60741dc5d2c032f6111de69d7b3b130366aba969de971fa34460d7e46d72636ad7e5eb059082e36cdb187bceaea2ee6f2eb4b912a2040f0375e57ab55e4eca2af7f0649f8ad939c05f9f6833b9b4403f5a628289fea12313e2997d764282ec9d0a2ae8d83b3d4609f0635398b8d0cf2ed43866bfdfb908a9caaed7331139f4081e96c69a40fdcb77e835a1046a623fee53888f13a5ecb0db5df1ee446ad00accfb434642be0bcbb3da39d63fc6829dcd4c9bc45b7b43d1b52d80d6e60c81ecf029ae2b4bdf1e63dd0a045072202975147b02159be29537fba7b17c805dba006c2c56edfbea182abf5c7cc9358e1b5120384b1d92b8ad5855b05048a58c8e3dd85777025215af4d6995b9e31be77e51e5793327fff0a672a5b6afa2838eef358673d66b720cc1bfeb124d5ade6db6efea16256dbec76c059b54bbca635819ed0138dc3323108a6aea51ef640f644e0480dff3439fab0ab0c25071d90469c347c913beea53cfd7f3d9982499fc6da6dbbc23c7016bf5bb38163030e78ee22697ca094c9174ab384e7641189ade8f6e591be13fc2a51ad719782433346695fee2cd69798b3aa97826b8f294fee31516c82a33d4e4d5ac21d1ad4d08a1f7ea35fa70d202a257b341e77a40c3f60e11a307b7fd8c4e07baeef7b1d9d5f5faf2bac295e9168a9c6ae3a7d353ae689d05aa6c9d466c693737f3c77f5bfb03b0822fbe5e2dac01e274b06625ad0ec60fe9cb8d80ad164e401b87beae627251d58ac5ac036dcb861df6b87699425801816c5f68aab0a70eb4d4d19cd5d3a219a5f47491dfcead8de706b3a6b1f46907855c6feb49fe65ab19cef7570f23b41d2b44fc64a7723590f08ff1b0c3e9bd553eb7e7ba04d496f040487fe66580c750b3970012dbd028c3ece93dc68e197745f44cfb2ddc7c1eb398b662442e0492b0c02248938fe008dab071cb2c8c7098078d92a952c387e4eed273c000d7a576aeb7eefc6d9a90b843b003264cfa69242eb6988674c8b26038f97a340f79df913c316c709b3c0eee368d12a57fce15ddb35b96420ebd47672dcb357ad3401413c46b921bb7ae5281dabba0ff1f3e87524984156dcab4902e7a5ced211d791c86241700ecbd0929e9b641c492fc609f29e3eeb47ec7679424d40d41e43a75645d6f1aefbf6b69b7a91c6c514af04baef185cb462284517914a9e60870c185cc76dc464d65b0029d739972a52d1e3366626d076bdc05be67cfe5df0f942e1e5155c5dbe39d564213d6ecfe6df5d0a3dd67a32686628077b1d67706dd0c01453249034f67ad99c200e77d4df080d32a13cf42f639d2c0f6d7c8ed5cc51c287b19b2fe5d6afc958f4d4f5bf6bba8d055844b9ab94308cadcb5bf0d978113d1ce4d01ce7599b2a23584d5ffc53c233ecae21798981941ea52cf8484e5f11e27a9533bd5d00bca31d1005abcef84d81e0c46cf62a96195295d0cca56b4d2da9dcb08638a34196e4fd74761b4b5e45e23b4e08399b49e0e52f7caf3ab4a3a155fc6bb6e058e243421fa541420bee72d352735a46832b85672b5db80c06e7f4a1cb82264cd7719acdbcc82bcd6d454194f94c204aa2481ee24c39ab1a8145cb38b9a1cefb5da48350e59ff9e712d15a9b1f47bbb9d3c9abe0d315bf2e87b92c70155e5130268b1f9f1b3a6f7aa88a752e7dd202d91e866bf8ff94fe109ab138c1d05f876e17c179e1340d16b788299d77ef2410bc880ba8db6132c33cfebae12df2f252a374d191cf3eef2874021abcf5f56b6a0fab17f6f10cfdd8e3a7f903694ec56585ce6ecca1da49e5e013a16edcdbe6967988659a83a9e63966e093878c882d40e354c34453f9a27068754da07ec2f6d8d7e114789b06b838c5956c75b1cc3020c220af244f0dfa68559156f3a2da04862df7cc7a26fe62393ee0056695151a70eb512b3b078a1f5d342d438d8d6d4483ca91cfe374fb64a8464b7e9180116cb8d9e019f2ba0d781f232c19772620ad5c67ffee736af664254f28add9f81722967edc26a525e3437f2940b9d0a8d60c72e9d915c750129dcfaac8cf8e274318dbce4109da868b6a61e2c5b339d2a49034b22bab97e14efab67ce489dcf1684a8de07bea014bd078659cb7bff1c1db0e62e60deec1f6656bdb3eef9034476838543b113dd65de4216bd3281d8415499e50fc7e64da6003fc48b460bd32bf4a1c47dc87e4d21cd8d84d3de198635e521b9dbcf5fb589397f639c273b7fd42209be4837b72d2de32cd0df97e9d73592f9730420cb7f6143eb9c9a86655bc810ee9959814290f4842a685834ea6fb4211e0f04148e98179d1cceac5e66a0a34a43f5ae3f11eedafbca2f76d57bbe4e6bd6872356e70cea68ecba02f0fc96d3e754d54a5a4aaed38bbd9a7dbfd198c77c150fb19ab417625255731d1598a4fb2e8a0b87a9275a390ddf3021bec626de6d501ed3f5c55cd46704f80cac047eaf5cd11619a5d4d9a4ef5ffc3b83ce7f9d9eb0b29b4cb9e3feb013b91b7bb097dbace8490ba3aa3ec6a0d9bc93d7165b6d34cefb84f8b6933f479beb0930879b527b713d40286bc78fa377190f579c25a6f907d0b39493440888528e3cbab67e8f5745b12b273eb96fef2b67c13b0dab6044d41069402cd8b36f3d8fba462f89334c6d77041abf98d1efc3e4e528652cef73563f99b0e8e822b0588918e43d7accdfd3ea82bc5583d50be3c0d5992070f0381f1fa5467b1cd5b5ec3fd3ea198807ecf6347aea1f6672296aae3b46163dcfe6752838bd9df4ad7da3e6135eebc3aa76e018ee352d1dcc348ab11049058747b0c747d74959f92b890a91a365a190804be3c8e9a1c23806ee5996fa676edcfd4f03eae5fb9aac4f51e0a20c59f84391862f9ef4a7929794ad46158208d5a24fe2d43a91f6e83cfb52f0f9532e89d26731af9fcf7232bd86d91934e1b819d377e813ff002a97ad9a67fa599dc269f4e3687dc4873ad62dc920cb48220c49e38ec5220311bf21703f407f6a26011eae3a7767173c49dbcf1e9bf9c4c1645ff8486b5cdb76536efbff4b2fe95e055c0ce00a99c2aa94a3d96bbeabc20b0b68386dc67d30b2b1831e6a461132e3822261a070cbdeb33ed9355a9b7e79e20a0caae32c187e2fc2c93601522578a4a557d21735e6396ccc1d2a681191addd307821ca5a63185947f84cc6b07843d309fb8769bdc44333319062da8ef49e005f638774220a2dddaa49414d4d5febd407e0d7c9cb574665497402b1643607ffa212ee589582f9a6392b9510528bb5c4440330464414c057fd949a8c3040f9b29d77fade64b5f54dcbfb220d0a2a1da7ed5eda39eca39eda0c7fe12d76165341a29feac191fcb9eea5b35f109a208126f2563eecbd52bfefac48bcf1ab2595915df58cfbdadcd3e094af17c4e7768cf120e22ad48e3cb6e7b7019ea078b64a88b034b04238b430e085b9dcd6f6a69334c4e8bd7df765915cd329a2bb965328307d8822a41e4b8ddb4ee82c44bdc88d6688b6a6a977527d4a3428595a015f994195ddb45262e316c46d47058672dc9f1e034ef5e5228fe8f6e5068d1a81e5d0df9b9710ee71e00ccf936ffd5d996f2b72baf31e1be0584473d7be27d384e882ced4d0d11ec9c9e71cdc160b7010a2253920ebc7514cb304285125b55c86aff0f38ba514f8e1e7e59bca09379f8ba79abd5c7d7b15923cbc03ee6003421ee03b7626cdff84582f2b49c4ea569371eddec0a8aa8ed7b4cf5ae899c0732ddab825b449fada519ef53b03179c47de92cca44e91cd386330c2009c9369c12a64d3bf3a2d3b8b8d3a0e18b4803842800e43c70d86513e0e457b31ec711ab8a672812c9899d5e3af6ab4798049c212a4a6081d463a04ffb724c06dc803f2b31012c596761ce28dacf062bc3a2388b909e6d9241dcc480010518780f88386d6b809001562df276881d8261a24ce26d12581e1759394c529ef9eeac9c2159bffb6ad9cbe98d4e2c4d57874c7244e2930ee6068a831640d603c8fc05fb0832d9a4cb9142e97c99b06f1c85f7759a75ef1130170b621e4021d241b14c160e37a9f513cae62f8cb375cc7871320ec3c5ee17135d049b1fe753a62a6d0c27966f502529a071818fab291876bd78d3f8306377f72f4114d099dfcbe886a0218c87a067cd47e43e1c74d0d0d3ecab8b5d6356508bc2a7101ecb6471c5d035b9ff2763917457be814a19d983b4c023169a1fae95aaa24985a19670f6d5624da1a2109d32fdf17794b0f0c684c886146bf8871f2ba5403c7e7b99dded9be13d8b876589abbc9032fb1e2ac117f91b00dd293fca2cc2c6964afb48c5924ce849adce8f3e22c84830ffa9c43c8243899fb10089be97e287d6f6d9d21204e41ea00907433f890d3f6f1ea9e2ca508284dbcc1cd0fdd967c42a01fee30c04a1c346587defdca55a168c0af159340dcb89629a3b4720f2d9eb9a5e23ce18f3d94405d9c601d131d5578560e12cd3981f8b14f2ad50562f091ec025996ef881e938a38e5fbff39ad6bf68944dc9302be2ec8023347fb340226fd44856f0b9365eb2a6be973d2087a2e7eec413b94f6131df854aa63b605817229f23f09f423d4657b71674ac4f52e9fb7d06d32baf1f48e5116f2fb5e1f27d2b0920af04b8f6b1593c1d6bf3eae54a7499dc3f9fd3b478630b391521d7f427581b02ca4c64a7ed188fd54584e2f71d62c46031ec3d89b8ff964fcb38efa112eff5b831a2a5730c40021f0387d3d747be10e70320f055c96690cae3b7a3889662de8580e3f4e78145cc2ed9276a7c1aad584e60021aa964f48f519b927d79714fbfaa8c715f26606869b18eded74e79701fe3e6bc4ff5873e94e4a59750cd01481edbaf3606cd9ccf3396d48c23095ab7f779c9bf0dbad9106290b30712e97a7bdd81cfe7cf7f0cb2210f57d3679bdc5d26a5382f71396819def067ec93ec37b9dd4f193e6005c2acb1c052c9232cf45794be7ef0dcf10008e8932510727141d82d13b20a2c37c5f919bf4c93c21d82b5e4bb42604e72403afa252f58a047e75554931c66b58599510c545fb8491a15578fe39a45baf1baaf3893927f8993c0f119089957d904ce4bb245fc4c9e93eb01853794c1d5dedb68291b208d951794a2f0d118c7f419255391d49df85bdd1f1c74ca1d7bf45ad197b8e286f310b84b6fedaf97343ac8da8a2a464723a3bf964ea9932d173134908f3454fbf39c611d28b5b758cdcfa18d5f3302d0be4e36c0cd5d8d520df0cf02959d696ea4e513ecbba913885014c54f48c61580cf0a62ed1b046a78d2113fbfba09ea62c8ea6abafe9bb769e39a734f12f1de1d1dcaf14c5da686e9c3356ba749b017968d2bbec6c90b13bf36f693d0855afed6ff3b2219b77a7980267879c9597e926bc6169a7ab3054088ce6458d0395d1921d5ab3d7116aeda1b6cb151d9c2dc317f9c68adeb1fcdcad0df1e3e9ec2a09079b77879fb20ee3239de349480ab7d5b3019acdc077990902a68ae7e78f17e0e203c2db98b5322d3a2ababa5ac97282e312be9808a4fece07c6206caf2f9f79df0fd1dc124e7b27530fde47fd73cd5b487fadc8d859641fb9126cd100f32ae89a6dee4a427e1e73af27e92f60893e34e2de5ce011be5a940b44f338c05ff6c594c40e98c14707aadc2b665a890f7cd5633a2c4d44dad5d738eb1fb77e46cccd7abc7fa1ed79569f65cb2e680a62c1278136b1e3835a9279e5bddc87321cddb143470f782024a5b008c6fce04e2b2eb4b69c1b5d2feb4546136fa4799015a952ead1d5c7e5e91aeb5ec6086940dae2420e747e946dee23366845537a0bc497e33827d35499a6c3c1b1fa04f60bb44672b9ddd9d2aecbb096442b4586e6ca058046f5ef496714f7730a8d1e428bdc3666f62d67f53550807b959951a27e65c4be8986b3fc5b0b07e2828c7f16c27febc87a02f30824abac8f8a46e9004d22772f6290756ca98030d48530f9829360163e4205d7e7458ce2ab1ce15287ac9d80083e7b3ad4c1536a6aea80f2cac33b8afd87fc5760e97d265dc443cf1128cd1b9a023f506d970efae6a9c1b7686a94776dfe29c3180af6ce3a4c87451da71e420ecec950a3df9b4ad1d19107207bc506e01dab7d5cba06bbf13bf673a5f9d709aab7ed428791593fbfdb37b218801cb5b22ab5a19e6720f39e83b5c60d3301429ef33b655de6c4693434c687323dcf93554bbf4c9f66d57731a7af0a246d70775e78a715e07bdf47942d5525ed01368583b2e10a7a643c7c3173bb67d22fe44f4197b9d1f0d7ef290a47a5fae73fa1d2a1ef76a70ab2b89f9cf7c11f8bef13c2404b6cf70a60bc9622691bf299adff4db59ab381c5415f4c2f25eafd3f26eca733b0f414c8d30e664f5d72b959d632d5395af135f2941f4c9e6a3f82b6d7b29e030575023612d27c9fabb3a47d54abbe2ba5cdff987711b433ee0be6e448e476fa3cd87224eec252e89f513127010da9fc3ed8f1ec4ec35b86a20c944fc40700a1d99dbc37e0d9d6e3c10d29efbf372bbdd9d8c5d234b661a5109e3c749c32f382d7573758e1ded9622bcfae0d3f652fa7b6413133271f25bad9b452759e5e02ebe661c6388413bd11cc422a06754a5ade65c14a4ea0520e420244ef1fc28afe2d9daadd529618ee04f2f4c414ea864bc5ecfa81ae581f5a058c2ac7b618d669d195806901b5f93831980fd74a7479e55acf7eb53aca2cc267d104f098a85c271678b3e3d6fb652f3ee2fc92d246069de4b693c23525bffb86e0b8c9410efbf06f590612be9c8780753fbce6360560da6850077a058f1dbc2974c3f842fc13671d46fb544ca5c060ace96cb2ff6728ad4d8890fc2dae78a9669f4c9badca1e003e0e96481cbe078ff56ac60ebcfd5fa8253e638f06ae2d60e55972e76c471682588fdfac9876688f1b3ee278c04116a054500d21d29b6dc3bcf529a350e0423befb3deef8aef78d912c4f1dc3e6e52bf61f681e4090417a3a00fc9008d8000a4ac10f27cb2ec065fcfbaeaf8ea4d7d6acb4f6df540e80ac768b07e9567877c443e1a8e01e0ee91fa6e1ae53675550fe0724f9ac38387589bc9e1ecfd425fdae7aff96de5b2ba225355574d5f5effe0c8c4d8e4984b1e608778b6d2212a16e053b65313f85f6ab871e817316fe007b292636fdcd1ce403f9cdf327974d115a996b40e95f510ff000603a3393243871d95052f281d25a816915c9ec6085ea66c0900f608d486f00b233f1248dd186cdee67a2f94195a11b2a2fc6d5a31e0cfa936318d42a520d2a043f1c33e1027f70aa631671c960acf5cf428d9a0d0a88fdc1de2534ccf17114e4b8fddd408716f74d26c4b00547602a3560c3b190a4505ef6defbdacd0b9550baaf54436c0a3d3eccc9b1419d9337c299828719ced1008f6067a19246502c841d5a84aeddecf29137ac1296f9c35ccf59ac4a7d086e7edcebc8b2785fe417c825b27ee23db034359f6252c83504abe21507a38d63003ea55944c236dd68f0aeb0496037de443c77f342d2bce73f2c43c4fc8bda6921876dd1eb673a67edb8a5a96d9ceaf64efc6212aa243d5e7884df3f4888ef29091c922f3682e10ffdcaa4770012743939f7990269e9a4995fe6f9cf8a6df0ba67dc7b9ddd6fe7683fd46d11ee93d438735dd119aa32a6e160152561a7e4a7b8384518c66eb959e6a5c40a5c10638e7c00a583a15bc3d3456731cecfb05cb58db6e542ea8821f261f8d59eca7fa3273ecdac4053ed6ae2db6a681c964a735f6e70a882ac4d2308f14c6a8f005ef9a76fb862f648109de094833521ddbdd1f90912724b7b67f2f8303f46a17d8eaf6a52937ad00ed3f1655f7c677a2db78015bd93da6e35819ea299ba328294b95f7fbb6e24ce159e166b87e6d8e94ef0e3354f6f803de055d783ff5664c6aed072f3c0b842772243852631edb41868c9052a8d462e3e4cca257cfdd6b6481ee9842a8718372642a61ca6c45e7d9f599ead0743d84aa9531fc53584d61e6b24179c409fd17c06b5fd0fb13a1e93a1d8053c69eca8222662f26c2048e806beaa3e4c5f8afab080a94a4e923d796b8e7287a4e88608d672baa58959769d58579a27ce072b6d7b21337c091bf12465dd8bbecf1e28cbb2c266235c6c6f380b5e751f4d14baac14a5a89e7a926f1d00a288158c11149e1a0a09d14b205beda5905047a5269591dd27c84838ab6fe22cc0973d8832aebcd0b003569d4ce46758662c916eb1cab312f4bf114811ccfe8ebae0b50f8381919a7e4808d84f04c80cb8da1a143a0d9f9cd6a119f68e525a3635a4d833836f57bdfb9eeaec7b684e30b8ce58f53368bf7fad589b41d7460eaf86e4ae30c4c802b0b442624830b27bbc7410153591f77768265fcb741188966f23a9aea89f0cc6d83bcf72adafa4d4414da6896e44a633ffc21823c976bc89b8f000c4df19bdf2508064bc2fc799f9f6af7091d5baf8385035713b408a6816d3fadaececa49ae227f4dc1be14f9c45c1117953b14404e29d0744b96283a3921892f3dcdd4e65107f9f20e24fd606036750d419741835b363391655dd93fad324f71c706d79992e4c6870a8a20bde32301dfc085520169344a8b2654fdf99495ed127a892f3303a58a842f96473e15eea446c34a0b2e82657c058160eff295e05c94fdf0acd680bd6159f9826294a6b0f6087f0705b01cf6a6b3934fa1c604aa7c5cd0682c62f7116068805f4dc06eacb7115f2589c4d02fe779cc9e9de5e6e88affb242264f5168f17c9ba1c2078b9561e83c7f2c7e0a7fe66912817a14efa2329c9b4a9fcfcdd6f1deafba76ea67e5bfa7b9ca30e5353efe003dc38f37ac48ba0456673ac3ff0636fbd285e354468fd097750b453e2dd44bf2ea51c5d7b9147a6d1acbb1a22740f157b1af0a560f1c3490a56bdb670e51564f7d2c3df8364bd7f913cd130bddfa9a381d16896e3c682aee4f668452d70afdf77811b908b7cafb60e3a0b6bac3328e956cce0fdc73c7b843e8a8be913a6a676a858c0836cd68d05cf8fbe77f90dce2451a438a035cfee89e9c0b8a629e2cdc63268ac70903d5ac2322b73148eb3903227974c449bd1cc53382fbb2a094d8526add4a12d1768ef951d768236c84d1ea2b7992cc04369477b57e0a9733e8d739dea84c128ce3bd2390a64a9adadd87e355badefce96331dbed710aef75e60177dcb16647f097c7277c4f0accc54b4ba400d128bc680a7ff483a07f5c9986a9278cf2d59a591365df4f3d2bc6d307d50f0ae1409433947e5cbe2777ad638b0413b1fdff97b2e211dfd0ac208a37c59ca21983cd2de6132ffe13b442c1b53e953c0501a5d27b75aa449558580c4e8fb85690fcb2d853bf5640240405b88a56e971df73f12c22a70da8f65dfa7895042e515728087cd592c76878eff75ffa87f5ecdba8ab50e4096ad87ee813ccc38e412c9e01dd2a580322d79f68f817c4b74fef765ecd674059987351c947a2c382cff387e39d2627b087872d320ae7c174a4c71a3db4fa3745f7f957617e58189b0e2632beb3921310ece16a00bdd1fc5e6d6e7651510b4932cdb244d77b0d8b2e8319e9a17a77168f80316eedaaf5388caa1864ac426debcd6531f344d0a14e83d6e6a97b8302e37b454a5e8cb27b52af0ecce89b0b626bc357ec43afe6d51e5b9e7a540c40887a19fec1d15bf4327f5daea01391f709921f7cc2cd27304541d3422fa93561ac8e39898eb4e6ba0ab4a45de6298d57c1c0d7a5bbf1e14f8721b324ff6509af9df77db01a5aa935ba4ebc33b63d6cd8fd8d823748f93add748fbd710f635e1de6d7d67769369e6f2cf6759c278034fd60b02df75dd1c0f0fff7d2870f41f1f1bd39c5add50f3c49296a2db615462c5339036354c5ff0f7609ebb4d8db7f448decf1d0f946714e553f5d2c5c32246b96605de7667e23f609df86431662c2c9036bdd89a03da456e1d31e23a85cd25342e7cf82c3274d9e8f32438db2a33444b8cf9593fc6230b8708533ac3f8b59323ea6f93df34e98298be5f09b90f3af346330ec31dbdcf51611f749dd444b3db7dbd9593e7d91841af6271e659fd04b962688d62941ea886c3945a8f9169e163c0fa0ff2f7dd89f24525be0ada3833f15b7710a467543b3e996369915bd48501236d9be7cb94af2d7c7e99b5e5355a1de0f27bcef895c32a5ed2c8f1f43f3f435ff869f885b0cc134e34a469fb2b223ce4c6b60e8e5344e935ad0613a78ec0d2e694a5893575e94859fc23aaeaf8631270f4304f1eca44647e5c1bbd7d8a7844c7dcc335016191c4fecdec308f659cbe5c2036b56c509ebe3bfd2608199c1614128e75ac1d66e84c44eddeac1729f220df3491d1b7c4c47ec62c15db7c1fd75b69590ac4ec2fda5b35c45cfaa352c46ce5c26eee36f3753bc6ea61accdf7d5f79eb390694a5dcd2ff5830ec33f6b75e7dda31346c99386c14cd38829401197aad02c234f4486abe58e376195fba37e91f7958568a3d18bbb7b88c7152e8c41bb69db5c645125d875d759b5ac9ae165ae6784bc0c729c305883baa0041aaba430c88f44aa6403485aadc26bc8188af800d9dcc7f494019fd86d9fe3788fd5c392c53f3baa5d4d960c68c2a47df122db7c8242f6eb51a02dfe3f28dfe1c0bf03c6eb08249a6d4a2caea5d0213e79c90b2370d4317d8fa5ca21577fffdcacb50588281bac15e557880581af281e70798c2b964945c4f5d0f02a46207607348dc1f15fdef2c0acbbc5d4946edb2cb2b847690d1efe55c73ceb4b9b15f09f714a71c268bbe57acf7f0930c55a53aba825766f3b4639cd2650194dbfb86d80cb972d3a384a3d126a3c6f21406c1dec7f0d9aae2347f711ab685269aae50b836bdfafe9be40e1a95f4af21394d24353d561ba1696898779c105f3514bb7e8618197c50a7d498645c435fe70464bcdfa282fec2ff54dd67a1849bb4d6227e80c6fa8e46b9d8a1d5c764abbaf328a285f5314584561579df2b7b9f2f3c7dc8986fdfa88388708e52b099ead2d844cbe1d43e4bf07eddf628ee959f76294fcaf0fad953e123e417e9526f524a9576e58bca890674fe057a4c015a88376e1bebb85ab08a599ef4728d09ca83acf9c9524148c34e8cea407a715d2c5614ff3d23f868c7b450218bf7d7d01956528d2abc5e167decfbda3b9beef12afd94408d10512f7b1afbf12bdddd3e80a425fe1db339da5f2421b25ea9c341c943846bbbf81ed6a0687e72e32623ef77e768768c193f8945c30e7a6180949043d12d35b7b5ebe99776b6a36540f5e508e056e219963f76aa42977bbe49aa82bc9ffea436754f942432c207e4e4b858187f7134ab10cdbef6598841e88cfd1d91021c485dc67bd0c3fc8f7298ea8fbf9295637067f1a5071e1d91bef5dddf113328ce8f39ed8db15ea91eae32075c3b25aa1e9abd2093f794e2177119dcca34717a10ea7c5b3a11d1059dd23ce7f47c83b68cf481832579e441330d3fd5fa86e680442552966e5a032ce8bdaff8c03c3a8258dd3f220e7d6820e88d51f18e4886d233d5aecb080510cff8de5308205af3a1acac968152f7b1591914f666bf35f9878df8db5f3d0fdcbcfe6e6bc536ccd785ab919ae50ba6edf326ec660f8cf906c9464a59f77ecefe8f2a9e5bd36557b57b09f7f6c982b12860fad9ef018d465c1cba1dc4e9c0af3c961f777043fed45bc5172bfbe9855a12d0f5c362fe58f017b609ba4693cc6ddb256c2260c04ddc444960a0cdce7595eeb098e65cb974bc8c850a7d70999c9d9a2b993c4881801dd3b52c18dfc6302a17908c6621e7cb78422ce5b2ad2a87139fe9fbba01d1be4f98c1d3cc38eb98fe49e74b0e4559e608abb0eb97f060dc230267047c92a0f76048fde996e0fc7a08a8c0220de83047b2b2b706b09d4f93d7eea5c3460567ab06ad4043fe3fa2ccec7e14a2551dc38373bfadd032f847aa6f35cb7ab050c7daa8b3ea1e8c082cc9cae8c502110918a2503fe274bb4a7678198e6a7393e8c35cb604f7687bf5c1694aa5ebec7f9be7156e9f53f2535e1c384b95a730479d51833b1d461864470e6319972533a771d00ebf752637eb1aba8c546f2b64807f6c7231ba91cafd8ccfce2102a7d62955b8df812fa794f82b178862194e18e43c0af264e6cf5eaee8a26d7eb26df6481476551ec405695ab33772824a6c603bbecf3dbf02b91232a346b4a2ed057ae828b997ef2ef6013a80849d7764d85c6a2e627ec9ee9937c93d7d199903faa7209d141f2582a67a9c8788db5e56a19bba2226a1af120aea892bbbda4bcbfed68877db49b4b5a898f23e1165299469b98004a200dab703b0c50f87b04d666961478449606cfed3706e1cbe6ab0909fbc311ac3c18872e364b1ffa46fc0e9c966b76bac0fd703df0649f93d1f700fb5933717b92f98b3bf28d45cfd23876d173f1eb74b0f6878c772309aae74b5302f48bb9a530832e8344b9146121dddf73146c1f3ec4e4804bea4db6f139e0244c0c52e81b3562b2a2f033b27249b697149e9e5114c6202ae7e5d6e957fe298da8a5f19f0ca2cd91b84702ab6641646b1d87596ce1685e6919cd6add6358f415e036f6bc5170a24be42a2994440dc39c4ec7ed947881d528c5679e44a1030bc7c1de958a9de61575a560def4181b74389b1dd50470afb8aab6dc50ecfc04b406c6944958e89c42d7b0b0e4a43a646fb907244758e9fd0a0f873aa496d879c24f9efdeb13df49943fc2d8f07a77670e48033bc3ff958b15819c9125dc39f8fbc23a20ff0828152a8bafd98332f9b4eb124f34a5f2b1a72aa20bbc742a5c0a924c3628dcf150245f414046b75bff68e193f84c9b674d61dccd440108d340fbaa105497c92d2d50de538571b5222e2469e23379f062fe07cf3279f659470308cc30a7c7111d488837b5e0f7fc09e24ceb6fccba347c7579f09991799cd6dcd282b3331741c1e39ad857cee8c10a55837154a9216e3d9af438ddeb9eaabc0f9e26d523f2ef6721af718fb556556a0ac4c109548a9778d2cf25d90aeb1d5d6b2d86433fc23eb7124a7c6876e34e0efe34dda032a04f648fc3a4e39962da0e429ecf54f792c4755bec3d4171762ec09c3eb5710335afb0b551e3503f453b0d37645e509af6100a991fb82f703addc506df8307b7511fe1864914bd4ca884101347f61e4562c00bf482639bb3eb6dd49458f97d794677f106d40986776672ceacbbca80713b932079d96840917888a335fb3b6bd179b014057d4f879e98076e5ccc66c1cea05f0a21d65751a07ebddda4a5d97e5baf9b57136d62ded25dc82c966eb7ad3ad4cab1f90da9a07c82a73f0a6f2715261dfc84fb474acc02ae8d63cd15113d214d33b9c22b5186923eb3a5fea3e46114a2216da8428410fc6eea584644bfd0a02ce432089afc5e8265057e99dd501d4e6559b615898bd85bd601793fc34543e4f9d461dff5470086ab01ff475c08ecae8cf9c5c51ca32586f29553432a1d40bc33c0448b6a3260c6827b9570003131467675ae7663e02661702f1974665d8ec0a234f75b296a3e41827f116cf5cc768143cf83ba89faf2b7adc63b9464cdac66dcf3a2a1924a6603a4ad9089a911fa17f0c377c025e93e595dab9230fafa649f6913ce984704150447b6113d3091c21658fe46348bfc5f8291286a7649ef1fc99975e50c20fa8ee9e6cddba945ec01a2a831ce72f437e4d1a37f547602843c94948e3e3c51c042ab87c71f89a82577a87f67cfd3ba284dfadbbed53dc265a3e7e43c75a3a2cd1e4115c0c74d6ed4e285c3bca55b3b4a5b61ea0d8eed4b4be68f72f1f9961b5939ebd9603618ea1538643e241c89f0408e234ab4b0e1e3be755f5d6393799e1dbb4aa363bc82de9e94ecb7a84277e077f6f2efcbc832651229b873a3f467789bb38da88fe9c62402e73fee9a261dc686053984462d53862de7eeb0eefa45228ff1380531a8db147a7d9eeb724ff12d8a33463798317aa2676403460dea60095296d87ea142a2bcab9ef1e8a38edbd123cc9265e90f0e94f61b496dada07a71b862c331412aafeeb701420cc156003d2b5f690cddea9644643aaadfc18855b53f9a6e128d3c7afb197a6ca0c0a145ddf4b7ae7858ee703e40968c7b9dc2743757aedf851013d9c5699ce38337ac87410a82d3fbee8de73aa3d7d3b582b423331e2cdb0338c8bb2b991cd9b886861c5d6cf574bdd75029ebf20311348a80b36f78c9a1e04c83d9b163042f2d338f152cfe96bd2b1dd15a85f685bc6148562d8f5e13c111194341cdf1ea7c901f73975b162603d93415a9c54327253c0ccf73e401a1abfb1562e2c5afe06f7a3912fdb648c981b4cf2acf1f9a2b9ab7d979f768fe99f09542fdcd7be11acbdcf1a484f8061cf9a1c5486cf23bda7cef45c0e0afc612341a5ca7d039de302dd180c87461fb1a73a61aa800bb4cd9f9645b13b9d84bb4b6d26d8a7dc03f81466830989df518322445b7f1b4e7691cb8982e7b8d95d2ef88c5b767a739b2e35126b1852023dcd3f3778e167175471e92dbb2ae613f0ae9f1ca6355b0e8753fb16465ff3936ac15ce4d2c271c94a20b6c21c52cda87dcdd4ee5baea28b362eb1eb5d07d9dd4aae0a6d061dee4b04141e51d7144be940edab4439a4a1e98d943c69a3b4d6180856d2b40a53bf05bb88a3e19e01d1a1916a626faf3d3debdbf7bc725b48a22145773094bf74a1c9ed04581f93d0dbaeefe551c63c055e442d55544f331cc2a670c2b3e3f7dfd0c0e5355ccb2441a1dfb7bfdfe256e9967ec7084a694af28c9f019f16c1cd9724167056458704fae6c067259fde5bc93908e9e3018aedc95597c5d18c2389efdeaa13823369324038fc62988feb3f164aa1603cf6c08a17d2c0b46aa7851b73317cc43962ffe946021c7543f2a15182a98187e78dea72adc874b206e92318cf8adff17d650758dc3f0af6719e378296a6048a4271e874ea60da45b213459fa7071311fdadf55819516bfab67d2ddd3e47e214fb2e136041a4ae4b7554062914f6ccefdb1736e3c81a8508265bb135038999f2d9ca0610d89256921296f1bec69a274a5da1b2e7b6d98cee327daa82c3582270aa443a750ea34dba00a472df96805436951d0ff3020310b1b314b4eb2bfce01262d26696e80fb78421928556a588b82f69cf78be2517b251eadcd39e1a088492000b72aaa49db1728de62aeff8d5f17441c614c4ec8d23c3c20d48ddfaa237f0a4fbe8aecb05b32c1978c0f75f58f18a87e64076ae756b23d450e9117d3d6534c065e2d68563fcdac0bb21b0c959fd136ef207616fff7cd3d27c83905f00a4732876d3953bbd0b9683aa776f471c01d657f69874074c93e54e1be2f3c19fec4db8e1ea3c659878677e38633f57953e7b714624abb70ff755b2f85df46181e7bee653564d00632e11f924fda941be2666928098f5ee78dbacd80ddd3fbc868134e4c73b0acb7df3dfe2148f514aaeb3bf9a9e78b7d33449cdd0403cbc914fcaa59d31f9bb2ed5d069fcf64a84dce412e4eb39bf79ae33a2bd8e99bead6cdb161f5217150b331bca14aba85b2c5cc8bd6534be2fd087aa04803bfaeda447e24b0e2c142cb1d93142d1f83b85eef1ceceb5badf2535e79174361b8ecb0d71a26b7485d278dead51fd7b6941c2da6a6fffaf931a918c83ae055d49a11d0e56095b12925f7b416cae6341234309cdf50d6b3ec70381593d1089020e8624079bf954e50aed022e05e66fd704a1cf2f136284106641115926699900608367ce45417d23fc5644b2f8a79fa13df984a3835e9c00e1cfaeb877847778984f50b4b8a80b095a0be4f829f69dcb0bd97cf82a0f92fd8a1f1069eadc24b5fee6dcc312dea6aab93643a431b656c1ddbf37d61a3b4de2610c0fdd07aa3ac65d83594e6347f641dc70cd4310ccabe35ddd82de4db488f8bd6ec5185ee3a4791a6a9706a8123305d14ecdfc5a17c14bc87d364a561bc6fceb4828ee8f20d6a080386550d19d09b3987d72f9b32fb3d2a78df269273eeb8bd2bd772b9fbc6e2e64a7fa88c90f9c056dc23998f269f3ef1d983c6ae5023dda53e07ccd99e38626a7972f7e6cfbec25cf1962056899d1b3af80d33796cdb4f783aac5f2fadbf0b48c692500ea32a7046f3149aeaf05e8b46c3f13059e115d4a03ae02fe46716c75a773c5db2985ab4d0e26ba1d59a339e932a3c616ed741af554e7c543f8ba61a2994598a26dbff9271fc7e8906c130d9575ab411c4c402f6953fa8453f845cd304e963148f6aa0efaa70beca974fe64ebba52944c06ed1d5bcb194db69c6f69cbe56c41d0f84431271473e48574b4f83cbda02040a4f41db971f061108a4e0633ba50308c72196227f331a9468908229309ed8fad40d3ee8ded4a9adf17fdc89c2198565d3525870bd5f76432740777018641ea01311f05bf12f8e8840d6e7518b33baa2a8247f757ba419bc0b67b850769088dd66dc89d9ce063c08d300da0383e484d434b576ceb6c1710cf50487d7ce6c065c87aced0fcc92db306fb50ee027ac011f6df15360917a5fdca766adc715af897f78163b7d34a199bbcba9a30614b57ca89b036622a5738e5622b6213f12cb527d3b207eba4e5e0730ffc325cfe81b08496a74a2b63404a6fb035ea54d9c1016145130a09bc7ebb4c26cce6a1b60065055f229d931f4ca67ffe4fd298e83bb1e7232c54f53be60f8890b841b192d3a9e2c91cb189a65ed215c14eaa3b3385fe62424e436e9dda621e82a34a1ae51fc3b535a125fc62f4a25c10ffb735872c65078253eac89c00944e44c54eca766942472f647f7a23b87c05daaf0f3ea497eaa8c9add7c56a6dc7568e869a3b1703d1402b3f1a4bfc1cd5293dfab090f8042c744030d52672992b87615eed23abdd65dbf9cf7bd5972160800505168d88cb7a055d7030515c11dedef9b89589f620bcfa721526930d445fe5480d600b72c8e86623a83bb222cb15b176f1d0fa9a1ff225d38f5870394c5c91714081a8e8788073ba976a49385fa3e1e994851d24c56b80cf5f2f3d93b2e0b909bf7d4d027c5da1ed0d5dd4a7c2dc8943cb2d9f922273a794c926576665a50f7e1648be78b99451c3d59d2edcb4183c3a2e64b535cca8f54b7daa5f6faf554893df86fe982f9db74821433498de2bc537916b7f199ccdfaafecd5154dbd6089e6d7cff5dda8055f85577692e36b21f16c20d74b1973404d3a6bbadd9a9362b781a9e1a8ae5ed468241ebdb616cbc2893583ccad345e869713f4e7e42d8255f1f4b139fbba1ad776b6d1bbc88f7b87e343bef0fcaeb2f876463fb5f484e67b472695e85b1fdb94ee52565a3e3af3e6a81f4adf601c82f747d4a55664b38266cad84ff09f4ab807bab2c129e7d7fd9642180e2a4af8799d5e3f1718f5312fa68efed9f25b7680ce8f500ee26ae84144e80d975093968b3bb593b8969b7bd591c7779bcff887859854ff6f5c2c2b372e87db5c3f83e1cb1f95ad1db920024f0b8f57621468b79f959ddb48e90cb8fadd1b82e88eac8974b0d3b7672913eb22b0bdcc0582d5fb820e210022e687417e8100f1fc5885905170deb7df120930292cca4a45154d2c479d1e0a98ac1f3975c75909e16e418a300e85868fb3febb3a59534f446208362c24322758d8433bfeb893467d801737b1084f4e019f7058d7b48906762784593e4555f3596539e34e9c68e83d9f5e333cd79c77df83deeb2d91f66121e6fcf242ca61ffa7ef4a1773cac04926f1e66dd4684b0e97b75b7ba0d10e26979bfe4477f06609aa914058a7010412b761ded3baa46dd69d1de3a63f4cd719a686f817a92b91b62f4b94a4a4149964dee48381cc5a9a9f0d1586407f07549fe96b7b341c57b45f22786eb1fc293382c44455079156294d5cf794b4edf864d6741f34866f755654fc094e023102e5836e8de65652d5f12f7d4f02607ec25fc91f87aa272ab7fdf70ef889465b3d8198545def731cc19b68567d941bccfab6234dcc11e99d1b7ba5c52811ce8972a16fbfaaf79e3b81b232f6b6af5ba43df4380bbb4062d717221dc53e7d2978d5c8a90ff19f53492c5c30eae65f8403d8815c70cbd72ba35bdd946d768a8d30bb00c65a6c81f5efeacb380a36aa6858766da8cb4a627a229edf41b19eea49c8d757b88b97032287be4b2de4a7532a070e0b48cd075964b79f46ebbd6b8d4418dc9b331c317af56bf2d0cd75dbcafc017aa0aabdc7f0645a99ed9aeb2ff76858a7ab87416913f4152bc5507c0846d599bc44adb00fb4c3eefc05697e23a711daf8a74ae219a6b8cd268b64e4a386b4ad92f06fe2c48d8a42b8066f5b1a0854fa8e2fe33d782b8bd9ad52c6d3733110ceb1749dba855553ea1237a5d04b2a521b68735480a5c5f4ba20b08f2b161127d21cfb7822854b889e94d3f8b04b2cb630f481132e233cea84dfc5c987ec381e217010b884f0fcd6287434d579e39188fcfb746d0a11cf38fe2d282befb14c24d56d668b3429d009cf1dcafdcbb2c6f5e92e85fabd86993ade1cd00839dd9d6fe0aca629b3e9b2a830f4f87fc69e1e13ff198df0c21115d26eda3e941e47f89ac6181c3fc615028ea0018d7882941f056336f1f04a00ee9d83cbe55c75c99bd2ac1617ff075376eeb0b17575d9c9ae2127ab73ef58e7f27cfe399f9ec86ce874b7ba1fe5b605467d3da91a40a820dfcc4c34c7fc2e54efddc7ce116533a2a624c1371a21b13f017fa40d62f82eeab88950e93a5e431fcd4cd9b5e05052e019212ab7dd481222183774d372cb79eeb486c16017f4572d195bf3f8fd9c10e43b3809f7b6aba5c8e135f2994cb050c5032872f4ae32727e813a0666b22482838f63a5b61c0a860b9d9fb9b35f71abd905d982ef340f4cbbc3d9767aa2d2a0d3fe11674572423b56577f4a2d1bfdf2ebf6444c1cb721c931deba6acabab8d7c26399615e4c8ab16cdd9ac7cc39fd0198084ac3e8f24873de7fadf6cfbdfbdd0b79482f8bbc1a83ba21f282ab78b54e3acadccc47b7e091abbe3c42d85cd2e2b8abc7f4867759aa87c97e25b5df7b84cbda5de50539ce990f492d4f5a23762d26b85d02df66aeebc0a1d7ef944668289b02ef2bcd7933461ebe126dc2719a3500eb512b14651f70903b4577965da6fc6688f9bbfb0e85752357875e6e3745f46b86f2c7ffd3bde6519ce38511b6b35ae493257443476fc56eede947a19d4189c89758e354851ca7bf3715b7a4ae4e9b56779277b7e15a36c12711cb32cf2137ec8ff54cb9b4428c734fd93ed9c6612ce0a7b0e5e0612ddee8ea8f401e6d6e4a5428a9f518c643032ee285c7ac8927b90a78cb40f81e17fbcbebea45c66dba6ba8cd35cdc37127a98641e5f40d6adf0416f5c1aecb2f6e1a260443ebd15bd85b658260992c2917820f40bac34522d6f828603dc502bf76c25a6b65b1be97cb7856116872ad4cd6b0b00a48fe82c055e7df139e7ad6d8f2673c0d060c20e9e36f5441086317682478abe77950fc69f32c535269073768319abf3c564a838405ddbffe1fb9c3df5ddb6b6b7e93632724ab1b7c7cea9e9955bfa87586a5e8babb1373c50aa71e2c3e4aab26054e3967d6ed02a68548204a5bde264562ab810f741e056822a27192bf1484e3e0f603c237f538e6f09954d4bc8bac761bc4d870a8c6e837c16d2e29e64ad49de336e672e8b666659b33700fc88c4874fa5e5332bbdea04985f25a40f12d34de282fd2a8026c18065f8a3ee238b80891cf223107166c2cc13007a3703bbb5e1d8768ed1a30fd842625528ebc327e22338fee893920d5526ec3b5d44bc6ef731c392e44b04ca64c1d23bc67ff87d14690ebb434041961a39cfbb9e4d30361e01eac8abeebb992748905ab887f457df4f030fd37854b7d51bf4d09d429fd2ff113ef7e43bf06a44a0a14012f116060e6c300057f14be148c13ca260c39a9fec0023d4cecb26f4807f4fae0ac01142553408bc80f196352fdb0c6be11a3754e7087b1e385527bcb8b0e8396b297a0b15683113f4a3d963c5bd600c35fa76e4541c788c2ac1a05a174bce709e69fe8bdcb120b1d4f42c66622eb75ac161c3672da996641e1a9cccae222e497cb98c40da07d33f72ef1be4681692dfefb13a253774c1025edeb649da74b352b9575d5b8f50bbb48bbdcb754c44fac20435aad1a1ff7c5ded57cc747c242e623b3c744783ca409c01a1933bb9c296ef27ce54b3d52729e4098abc3a9b3e12a4a2b20b3878e3be64e703f94d4f722994ec9f8024aa36dcc185ab889f97a99d53bb0b5b942b5d03c05e095b43f4290be38de596f3501e8bcc56a08a805b3c1d414b65be7411d64bd0db06bc5f8fac1e4b1e8e42bc50dc632f17debb74551f83e3889d6387ad15946ca6c23daf2ddf3d256de5acff3ccf0ef4423e89af3012f5c33d7b275acafb727ab6793c2914b0f79719f03bd3d297475d6e8106b870d54be8edfcd9e38b09ca320cd99e0384f5e109427128b391cd4777d0e2df350b8b0bb07cabd82815c9ef1773307c6794879e17844056c5737ec4058f5179459a4bdeaa0ebf2fa5855993ba9fca28c51308cfdd818517edecc5019f297ad32b57a75a12a71c4b7cd3498984df1386b8e596f3b44108aa908a603f3876c35f7eb4f2c6286e1c925058180deeab3105d52fc35b1e315c89da11550b859fe98a4738af159d6d9d69ef3b3c4a05ece3c52912928eb575f463cb163783a29fa50bca9b8348be69fefd3f0384235e4c581a7c0a4ee564e7df4a2c4704691922041fb2f0df0cfa9d57bdc228370cc24a68c2eb5bbcc0040ba7b29909a0d11b550f0d56eda695af51e355569c151bf97c735b10cf51bce7d9418d8183c5a37447d940b0dd50390461a243346e2ce0e1b761350a36ab494d385b00f24dd4ab71dffaf6bcff441f690bef3d073f0565d99742189c2d59b453fa7bbd3e4b4645474cdf244568fa00cc40d3381480766e6f23d13b09637b5629b9aebcb522ad44ce3bcc98c951946a95a4613ae147342b2f312988973b9f4432cc9730140b60b6c4706d5d888be58e5f898bcb905685cd17494e7b888e83897e3c60227a6d85cde1390cfc5e421630cd72f7481709bb8077ad2b8eb548dd936f77f96f5096ceabeffe37fc4e621baa66728532978272e1cf3dd8ca83e7dc9a2e9878960e5bbf51fcf21fbf6f0b9e40973ac7dc8690d3b461cca9e683ca62c0460330e40f1454f8823239cdba84dd22588a6471a24603325caf4964ebc923d6f8fc11e3ecddbf7c3b7262e68c8b67b135eeab07da0118fcce3f9ed9e38b633f1c9a66dc0b7bc49965c9302d5686551af1cbfa8284218ce171604aca1005d6cc9d4f91adc6f8a98c1e834b20095344aa57d81a2de8b40c80edf720eba07874699c0747dd46c617cbee3ab52a131556ea243b301369d809560893dea3a59c8f0c777926c060dd2a78f728daf020f4dd495f25d3e60731c59c836f03a4fd0d55b2f7c4754553d782d993f2636c18a7f962a3a30a82a0f33886860265fe348790b73570eacf9308525abb609f6a351983631ceb65953c528f810cb2a5e3b056d88fb25d8b842e3b1e8f5e19013b4c35b71617827a2cdd3de5065092c9e0af0e2e012a5c5cc6597864a58a32c4e3ef79eb2674edaafd9415fa9be56891ad3cbb88d35c1f4c2767504c12bb81263e6d737cb353ec7b96711f5f069206828e2c96b36e86ccf66a5960b23d0b0decd2c85b3c57f1a1d9c8d12329f719bb17cb65478535c9c6c05402042d2e0a0203856676042bbd3f6c851a188c18fab664fd8130952258952e95e12185ef319934089a6f05134ccb34e0313fd927f955a5e78a873da1ed730966d82a5b09077fb8fa2300366ad6a618fd692f4ae6a68dadac6e9bd01663233aa88837cc915430d5a7deb572b4ac1ee901aad60fba13af8404c9b4ba0fbae9f5907c5012a57c3cc3b4293d18fd5b282f4d2347925413de64558b77cb1b3527ac97c170be9cc3d38aa486004c803c0e6b116e9c321789ab5fcc35148c451fa5893494863191979170b5a33a63cc88559da9bef51cfc287b3cc1459d68067eb850f26b1999965d5cb083d4c0e490f938de19b61196c7d2e924b3804ec76496efbdbc286c16ad9d020ca49052407af6bc79a3b8e044f7611e058b8887ff2e994382298aa449d0dc03304ec58fdb6fa587a225b30887816a8c06c5f261ce6b96be746a55e4e1b4ebcfebb8bafbff654d6bc2835976aaafd8cb8cc514dba2de99e7f30812c0576647ba117ffce27294ad0d441b0f99a747ec25659bd49d6e3f1a8c6b9f4690330f4f1dff97016f7989d06cec583c555ba8ae9979b243300802c38cd1006d6f9ffc31857035527f46c3620a7d91bdfd2c851a69eb666f1e7fe9561af2f1a03e2a41bada1ad4e200e8dec2b27ba3adc271c274f068b308963d52de656f87dd7d3cbabeed1b72b473a804c89138fd6546e8a25f241dc19c2f2f6df61615a2a401f430ff4c5de6679721b192548e9ff366a94b60d96f0a1444c4ed8e9bcd59fbc86e71049ff032277c7fd7ec9608977bde2bbb36d64a02c728a606188c8664507ef0e51799afe5fce34ae25c1309794910ae1070df893687a4e3b5e483eec782b4f55882adaae228a28b2b680376ea33e50caa3d7974a4b8b3f86d498fccd47a868d445b0fed0af0cf21c817e37219afa038ea6b97f6bd0608582cafdd59b58b6081bae09bd41c46f0061e252ea0452231edc15d571c74a707e751fd381b1abe463b5dcfae0d7d7efc950acbbf0224cdd49a1c2142fd0eaf8354e83abd211e204960e119c03e4e93ec7f26d325824f41a07c6efc0ecd2b495bc628e7828089aa7ad280e73d0dd962dcce82f0490a00473a0c270b3e1a2b22a6b308101198e396b4c18a5d16b5f380d29cfb3252dafa5dc0fe9d7df0a5ee6776901d43f23db8a13f5be762a3a74483e568ce4e3f8549acf5d799b354cb143826f3980a3a0a165edfa8ed394691b90ff2e1547e3cf8551bec4f2bedb8d3b35b61b674831728656ae02b8ff7875e321bed2cf05d3103322e01a30e4c6e187620e48acb71b9c79dd7c29ac99d15a25f6f0f297580328a08912d777944f1184299632a1cb53494a766498041b22efcc744b40477a17e62e72daf59725b83ed8759114e90d087eeb79b5f10e008a891d0be30fe71da6c8f9f9ab46d0f285e663ba81433da575cc589d0891ebc44922a99b5fae2d44c6db068fba100244e86878e4e8e329d088db5242bcf9c5c4860a9bb027bd05b55c9af4bf3e464a25cd87c617e67e830a61ac389e7f98482e6e6775612b85588643b88da4b93180e01d2f73a66f7d018c3e9d0166bf1db2c6e8008db58ecadfb9ef6417ef7241aac10198604159b2469c418ca64fc35af40168f3231adedd602d5b0f9ac64c2376a40b1407c00b36561dd842639951166c0497bdba229c649ad02add19c91b24fb7b231ec82c0ff709f0ab8d1617db2f0425e4e0a0ce6998f1a0833d10bb7cd71d012e67a43a563c18eb65e59a8a49f56575a02d69246bc93769af341a1fd474309c693f61c01cfa1180c08fa004cee8d10ba4de17f87068a042d4954d40acb35485c63de644ac2c1f62d4cb6772d9942ddd478873cf90dee765257901a917ffff86f893ef3bb60de12d9ee6656644d03fe53f39e7c6525f58c392c553f6322d84ba20b15d04addb95819d32ee01768be7d45d45c3f5c4dfbaa1856ccb5fa50503754807d9517e53fe6d84eed11a29ab3440c3a7d578ff7fc3ecc98c43079201b27bb424fcdff1a344bbc87c6949fa39967c56b254cdc94973ff0693bf237e4565e1a2c449669bd9a223d2bb2090c6fc427184c0b5926278f7ffc215ecceca5310b2faa0fc1fded7d0e6c78e1fabaaf13fdd8ab5ed66728038793fed5124a358954d38d3db8fb6bad0886c41b3f28ba1bedf4ec3552005f3d6680e1e2b488e1e5e7967ee962c3b6f774d0b453e28c023e1bd95ff9d9d853ded9c1bdd1604bae529e83cb46a863d33e038e70172a63fd584a32253774b5886479f7cce0bd9b955ea4afb38de7da439babaac13243ee216464da9452cc2eeab4e76ee572d605c1ee7a00111af9a2ff79927f7ac7f35f38cebe18aab93eeac0f5677be206302781fd3374f3e936fa196160f1e7efc7e4559625babc38859bd2e2498720ca7f32c21dcca1f6a29aecf9b2bfd69d763d9ef3a3bbe46a9461264b5e7629cb11d70f6ffa07d83e68e8e2184616dc272206995ffb5208b8ffcc05d960c2d240c9e18672987e34b5fa942e921f742fffb758e3d73fe41d2e663636177fc19c5c98d66a9edaad9e1cb0882b612d3b6ebe1a347382fe1eb96b425cfcd8a5d9d19f8f8da0d58c5422fa640b9a931dffc1863d821886e977e79b4f47418364fc6695b7a24fe0becda298163a2b5b2b7bd2f3fa3798a7c6f32ecbba80f4ebd848cc2d57499dff7417275884f0c3a89ef72d463a2013622dbd91846e7acb5a2c4c7884e08919450cfbe986dc41401f28b2d8b2680e12e823235ec17dd71ac3db38e4704e9cd42005dd1ce4e7d4c72bfc9dffdbc6befeaa7476db68f991a8c714271db8499635b95c678bd4556208bb3c3c8989acb20bd3e2fe0ed3c666e2729bc659ec129a98a9b91d9274e618625a408be0de3d5e5673b95d672ba10bdf61723eaa37935fde0f0c734c05c82e8729468f94302bf09a62270e7a3c94a85ed42b70bfef0e04be1ee60862557207ad6ab87dd47aef25e3a531ab7abf5caf87b77dbc7bf0a3759e1ed6536e7f800400620ae85f9318ec8725db603a5736f6a6099446313317eb70ce98a3f79527118af92c0a1caa5ec230aafc8371921aa455e56b14d18cb9c7943a20755b58526e14fa1c0ae8ef7e8ee1096ea5accf612d073037eab9e0df9e7e690f38897392fc8e03b00b08be7fd8a37c348d29ec8f74ff5e4da9661306b08cbc4d7d203e140b859f78e646c7263add435416647e4df2c5021542722bdde7e731612e823f4df79ff8e50698ae5af1fd5ad10fce74a994020aed5043a8dcb43c8017dbadbb9e973d2d012d859e76e586f67d6b08b2d3784cd7f7e4a1df8bd89d1dfd4eee9e60dcdbae41a1344d6dc07e3a36a5aba0c9bb828a661266e36a057261c73f9da7e6004dbd38e77d2655a26dab33e160b14a738b944067ed4035e654043901d4f75efcfb9a17f0c0f81d584c7afb7eac926603209034505139710d44489ce465b65829b41cb89f54e0f9834c4e6b9b10a4659197f7d9f7c19fce49b5394e75b593b2703504a18248eed31aaac90b7962b3fc503966b9ded3b3838efb5e2528568acb02c5595f0c7711293826152c817dd011c335c105f70acedb68d8736ef16f59f44ab0b856c32739395fd54ee6e425619e1ed265f099ea8e7dc8014cb3701965eaa94de4751c6b087998d459d57afcddf9418939be770c9cb333fe898fb3d0a72013212d16b396f2260cd48f26fbf2d6083f982ae50676ec5078493d9aeca831f675107cbbc7d3cd1e66349de89f2d5bddc5854b8f227b32fad02e54092da9adb42978add4d2a3c6dd77e6a4a332f3f27ec9a96b1c4bda9be5b282186cf3e258d9fc42f269a3bf6d181d30593d6c0939c3a7a3730d4963c6bb7d9ce000220d990c87d8382ebb6fe2d0fa294cca55fe31bf0f0030fc6eb743a9a16c381b492c2929dfeea3de15adeadd19b83779f5f5cba35a23434a85933737a85146f3c91e3eb82d3cc71cf89ca31d730fc2a1227bd64d851a05431ada6b88df826687005e25d5d95073d5604c9049b923de157f209642c0a4bf9fdf28144ad9c4ad5f331392e8b6302e6748f24c10bf582a9c644e73836be76faa336481d231ce24d2c0825963b8f27d9dd64bad1ca0f0c64661cf499efe5cc4b43334f9774605a06cd082646a533cb34236b0beed492555b4a356331a87aeb476f65eddc460307ec42fcc43714de15d6632b46e24b815c60e309a3fa4bfb849261c93759ac170c2babba0a604ace167a9a7db9a1063915dee1a60817c984936c55b4468952ef5c342ae4dea8e529749eaac75ee50adb4f53b76a17c9fdbc8e8b89e27378ba5a31d52f214267d174a85163e04932751edd2f139d1cd9a68c3df3391c007187cff1a1bba34ae0179956eae4fdcdac26ecefedd25c697c335d4149ba4c2cce6391967a358669e43a574eb66551b2272c60dc4c10689941f3bd435481fcf71b1777b8a158f0771b6bf5ba640166c497f73695079b0f363cbd1dc85bd848af831f7e95a3c297664a02833f33f8bc580db25e67837aa9cf9c340d3815f60660f8d9025857ecb7e9e4e3ad12d7edcacf63db2609c91a109b30740edd4b07bf1d389267b949456b22628720910eaedb4c50d8ff7244572aa71e672677d4dad4c487ef3e78dc5b5365e17ba876fc966c65fabf455db3f8991722e196c8b2c81502631a424b737fd1aa8bb0678ad0366821a09d6985429700c198fbd26ec2f3ab62e810a196e142c653dc8675210dba1edaad4eb1a8be96b1ec49c93fa8d66f86a1e8a8d6a392566d78be440754f6a2d75685fbdda9ad9cec526e6006b161a84d3faba3b33d442d67fcc845befd270554c9e7ded3f201398a0b39f557917fc279d4661c78704f5df88159bc1e63bf135a4181b8eaf26fad1eef874c42ea63dcd78871d435202548c1ca6413cf3da4fee4ef3db2f190177bc9641b76236df5922e4d80525bd3201229878ad5a0caf03a4eb4fd7ce70407ff4f1338c98ba7de95ecd8499a8e3b04bb4cfd1150f55d04bc7c26d9c3bff3f052ac898ca96550ff0b8aacb1e4aa0ac27876fd2c0740beacfcc1d8ff87451ce22d1bf9c389757e6d4a8b9afb0c12923ae387261db7285b4fd40f01826dca5cbf31caf9eafe78e2898a9597ea6f4d0080897ab3e489f77981162991e4b0c3ab42376b772c9d2c08b25e1ea33735e8a75e0bcd3f01b5b8238e943d867b4edd5d1e757c9adf65903dce5efbc177ae93704e2eea41873d320b651a649f0853d2b2c439c2908a7b59b5f19bc636525ed60668595a1147adad66475a52972cc455f697610076528a5dbc7285af00d1f19d287ba792103e886a6e8d672fab728379b9d4215223f7fc44b3a591b8d6b9d8030db276e743e9cbbaecace07be6eeee8236fb2d49dcb83f2204dd4480589a1da222b899105a708605c86ab2871f9d6b2603b35f9eee1db0ccf588d4fed20b8b4bbd9f4d011713bd341743860e85db331a9f04c172bd65908ba8e45f63b05b09be13814beedbaf7b11997fe57360e8959a0d2548e53df4237aa95c943130bd19cceace66a1cee0257d01a876d4bc4721dc5958864ebd918b266cd08195dbb05820050d58d7483d9e4da4110be09f5d85b1bd696774de6ff3f2f064a37c74d4122497078bb00b37ce96cfacef77696d728c518c8fec55005f5ce8c808cf4dd38b10c8b6194f98eb29b4941d6137a3712b9046ff248c63d6f5cddd3ec7355af043abbb1359e2206aac81201428b63f61c4af22139f84be6bafcfc8f813376c304de46258c809804a45a9f88ef256547a42cb0d8630931d8837b58fdadaaab56c1451cb4de7074f57336e08b630e956b5e7ca91cb080241100d9c74c24ab32301bb8401dea3906a8a6f83c3d9b016f37e5ad1adce91423ec70128175a1fc6eeec88ad6e2f024f84104b9341955070d871a05dfd17a5f9f09d1e6453164285fe130c65110bd9f2d4beebd3064e8cbf726b65a3e67b7d11e5234f002aa487e4c240e47ebf98f226cbb3aa16e8de85fd0419706102fefa6a337a4cecb199f98e7e54661423123ef365c19abd9c11bc2603b01699109296b179421659457be9df632e3dc41656c6e4f553fe3bef4de51d05585d136243714cbd9feaf52e67d0387e604340c6d4b15204eafdd19891a032097d9a6468d73d429312488744d4cd04f34aea012c4e57cb5642b36bb1dc4c53c7155b98bfd19c99246675805df3a7f7a55fce9e983e84ccee1ffe21d056be8dd44b6215e3f1551101fd64693244199c821604290bddf40388ef0bc8d7cbfb7f27823a606575769fe403aad84160be1134766887fb8c2f3a19dd0cc643ac42f9d27b26d19ae23b20ee500bc1202a567970587822dfff6f39e8b9d99670169e7dee799a68a68495f5443c1f733a70ada8ccd61f6c537cc07106eac20fbc9f1984259744b6ae0e97808895787828ca335349642971162e8e8d7c5ceab804c806a7f29b24f3aef0be83dee08830518ba371d6575f8628e1b022a767feb170c608c7e98189c23a4c427e4e2c67ecea1cbfa1b3eea99779d388c509e1bfcc438faddb45587cf477e4922dc808b384fa4a5fd56d90dcb9d00866af0a205c55722f502200fce38eb36320c9f27730ce71a4dbbcf39181c2ff647a9069e29658bc7177bbb5e8e5242ec2db349c8434698f65a5288558c8614862da2609adf684ccecd9650094342392c499d0b4cb57c33aeead821603d8d155435a8898dfde76d7e67568bcb5b40e772ec8cf287f45ae4a5e9d61812433ef759cf7d0b7b9dec6f5df967db1326f50976c1f2591300246d2247468dab29b4308dd8e8b6861bf9a597a20f573d3e4c9bb27f1cd84bde3054420ae3342cfeaa305e368041f1b18122dd845d6616bf8a9b9005cc8c7d4e988d2bea3dc86ed8b494def357e7ef5c5ca6a25ac5ec4a4e18b62f6f0d078d884876d3de8401015226ff2bef8258a60e268da53d97ff843d0e4a6526d98ae9b108e48688c8a629e51e0488fc5936701b7140d5f192f41f9f7e482d28ddf26be36662013d359147c1fde833cc1aaa83a4106d6ef23d760762dbecc809aa803a1097b426982bb266645a25c9e11dace5b7b4832f38df24619d4e38ef8880df6ed04564a0853fe586af5f9f9987ffc7354b4c1f8730f044633d1063269aa23d70bfad42f936c123d7b1dcd2b5294eb65a4c3c93f9339fe3473f6901ec8c2d2b8161633ae47d4cd08932d8954412fa220f306cecd7a69f822c99742fc2ac6833b0371f0d3271de4a181045612662ab7af284e8ae8d17e7d47e46dee63cf61d8afcbf6cb56ee7077fd50fb4d1ec004cd4211a161c80b567e872e2688a03716ea83a41eec2246f0cd53c82cb88e88e0e510db0e6c677802ab5bc74c14f92baee88598e345ab62263b6e63ec7576ff910397d40b3b365f412f278914b0f842b99fc7c8ce53deddc673d677fb3feed3a12ee65df291796d50975e14ddb95020ed24ea20d0a67d3ab6225593a9a41aab029027f754eac2c56c1c34de0b57237e4d6d1a90a7fcc824553fea2c2d09db94a97b0ae4365af9c7a092e964229e01dd004e72326657db7a039963c68dabaae6af592fb4b1e8397b2b755e68a2eee34c3018f6b225325e2838eaccb85b9c27dff2d8248f99cc46fd949845dedc1ac3f0a5c0c5200ddf4b772e10d2275b7a65e337609deebe42a8a5a0dcd7790c5c28c45e46157c2142b6800893faf27262dd2f3911ff77131c7708bedc24cf4771c5247688a3a844aaf8aaa5ab35913ed8c0b4acc8b5a3b4c91af0124deb773f3ecf9582418caafa1fcb597148f891933d9d7810dd29a8ded7d35dab5df05ffc083f5f922ac590d69f96232aee6ce5b9294de46bf04ebf931e85d1a398d587287e0e4a165496f58c9cdd44c7bfb26950b0283d386840f3bff6f7e10f2950f7029669e986c986dbf7888e9787a5dd792e545425ecefe42009f89e6751a4b3b60ad35ca9e6f844b79d2cb5832b4453565ae6cfd7c9caa1fd4d839f79921958e9290a097648bd686a4ba625455faa464d916481ebca62e6d21d65cc4b534c0ba3f6e6b6992054e86acb808d54b8c4f22d6244a84e66f2434f872f847c87a939443303c844fc5775b4bfa7f7f04e1b000517bea7f18fa6389703cc0ece41a294ceddef5ccb44125c34f107db5830858e00dec5a26b72390806c8f74f3fc5b31f69a920d6efd7cbc84cd17e096cfdd4dd51296ed3900bd7cb980b1da44610b1d82a1ed948c92f3e1e6de63e299d18a44e821504b7e8e3477a9bd8d05d15c2ce18082827798c5be939821c5de471c8e21be7ad71ee6b163d84754d6d6aa54f863c013160225bf1b53e11161d9eec5693798a1d18ffb81fd7f15d448c041c0a4b34bffc7a1f9f67cc0c8ea0d1be86d1e3b0ed7611e6f52131c221fe623b4c7c4ee5d57c014ffb3f062590f044bb8966ca82e45f6e13a2961ec53f126c210f15a8dbba001fce5d27414b61b4f9350265bd0a1ca11b6c0c6a0109853a1bb2a68ca6e092ac58518e15a3ee896db268943369a85d0492b117dc0d02cb834bdbfe0c31e13bd2b6294a9fb0fb3b5611c21fd31af87535951520691d9899ef572bd7fc36d293868d03b8c190ad913baa3d51e92ac248779da7c5aa4b8fdc526e364a4687ad45345b4dd97858052d8ed5884152d9d2d3d032b9f7afa0ce75499b1da3388a1a5209e80d274acc356e162427d0736666d40b7df0ae22c3bc6144db72793b4360348db5fc11ba5f6a5c7c386e848d74dfd686d4d02c468bb6cb24e8265d541006c9d432ad3d45eb77b467590c379d034e46a00864be5fa40e7b0b06ecaca595f43199182548520003afb5c631761447a645b354f7345adc00b71d82f558607bc824eddaa38c54b647434f2f299eaf1b0278b7e237253350c53990dfe4b25c386c7c46cd9bdb3e356167b78dece32ca395a3a13f26eb2eea80e17fdcec6c05a399073962c4d261e4c63220adefa3c1edafbacf3c0d004e6a415e934a33863cc2c994ab219ad0d9ef4d7f9939e467549480b292171b98031115b3d52c8ed80090441af3a8b2a1f35e77a0e9acd1ea2051b1d175fa8f6cc499bbc5e8fe7b8e1cce5de7089647b2dc8c5c25ec45720680bedad0ee8724e52d5e43517889deef4e1e04c6aa83cc14dac74004e94add220b01907de67ae86be1f471cc5ad654a2c7acc3b1ff89b4c5a99240f98f2753f9f8b81543992168e957347896c672cb73e45a0eb5621603644439d610a5ddbebc102f6e379ca35e6d26d2128ef1ff39a62cd02a2e600ed0b33a3628bd724eff8abb93c1054b971c0ba133ccb6b74e7638ba6facd7983477e006f63dbfd11fd78a3fb5ef26a25806e2f597c17874f226d8c2426558e394a39eebddde7b12ce182fc3f18225f80c96115516518d406e09ad2682d1b611629114a4b96e2dd4e34b3fc478f0e1c96a509b3483422b69be941c660e51a1c6b921a6018f3b4d97a2f1ae8eff4bd37580fddf540541af98623f48dcd75b76414979852ad9591e02ca7b8f486aecbd65ccfa2d43401c49a19c43fc7fadc0734e474dec9b0c2e1ddcaa60f9941a99bf4b529943872a05d8b08dd0006f93ced7639f96e1cedbaea5371dc3ff8445084195b0dc27b2dd3e5737b86cfcdef9750366f102e8eec0707a7961724ecde21a18ca3fb6fa2e921ca36d3d9a7a2dc89e685e44168e57137a127e120921310a0da9f10537ec037431e89a03cdf5cefd40913b91fbe8ae981026c3be27ee1eae226936a537076ca65d78bea15d95e67c52134dd9f9d5e223cc35af7cc48feb9bf5afae96bad590ead8227b6406a43d8ae3a80499b27eacaacd36bd256946ff4e048a42a0a26503dad4930db1bec43624cabc5a884a871ac2b9f343edd2aef141b94a79614946554f737cc539cac3f2b5bba9358a0f391ccbb49c8d28df7ae25b0e94109ac56ca862db0393c00216e0d45282705255b427eba67eefc16f291ea464c0d7c99d6faada3ecd1068a459131d24d493373ab5351a04c589b680f075414dd648f456a590ef2bbf39f3057b4bd67ed2141f8ead70199bcb881b86bc8dbe928a29d8d49caa1c76cd5789ba2b4da78c7c4284b4f6cf5dff9d8af2466d573d8bac55d2a9f98001430b9b749cf32e044ca2d2a8004c5ce6ebf09fb97c1762c47ed6ac57b303403a469f60e52be5f69e7c2ad052b6b60632dec35233ed345376f72707b18cfce1d1cf72da3f31d8d0d985cbba30e7493e3f860d2ca0581bad4d480561c0551a80bf46c81a71443fafb11a0965e1ad17d48474b62280ccdde03560910d3f938915540ed338d2b39888f2eb70610785d97609e076eef94ecf7fa06057534f3aa745a6e9e0c8134f55d298d74ee9b824e6b6d2470b9887b04906d49e74f199f3597542bc4d3c32d8f8827d906fd02469f0f01cb44bf7951dc77e79657e62d7fdd355c68b5d2590e290a3a2827f0625a12fcc60b57dba1831086e5122eff81d3b7e1506bb243fe9b2c41c3b22c1a4898ffb37f72995fa4116fc198713dfe319dacc668a9d3dcfcbbefd4a9a8453b33800030ad44ed1545c9e49d976e263c77472b334f7df2471dd25e149c16a8209f23c1da5deb38fb5273351ce74a5ecf9114c60d4c9adc8384f74e1b4499293e02c3cc2c5dda530ab01841722504d6832227d914e1014fa9c43d9065d8b1920a17677791ffee6312999fc44ca57e85af643dd9c7aab1a382d503a58f10202af5bb5054a7711f81ee90d36e4778968c9c6d56f8470d54351e8dc6ab32b9ccd7d1474adc354b63503588451a924deec434f00e3f64ec2e99e64ad0728c0cfa2985ee2768c2e120f18a425be6cdb96330eed0264038f59a2368350e2b838c3f7c8fcb70d623f15cec600d7a51af1eec08141268d01316185020df8d750609fd2120b9e7cd5894648cb97ef972b8b4e2e055667dc0beb55c929aa6c4023f91e622c9a21c19b73f9a0edae0e6bb79214d78c6371698ca503aef10309ee12989725ea443feef2ff58d842622d40dc796ee620b4aa890f55a13400152b4337ec342b3c53cdd41df5f22052657cf43e6492d1e624a79a2a20c8a237108becdde4c6eba24c047de13ce96559a361af1f42c336f90cabf6e98d3baf9425a9c4186720404cae4a7899b7a5de409caad82a9e05f278ce25ee5f2aced2ea7b5961b11d6fa921e24f321d2ca9561386537075c23ce3494231e16471b4b9164735369508136ad4723e754f3ebd33b973db725bb27b402cceebc218f9e035a5df247ceb2590255362b7b90538e66f56268c35d4290fab5a1e92c63bcfc882f6f7c6daed808758f9c107ada553a0fba22c6755267bfaec97e38810a0ce82f9a345dbf5b106a4fdb0f5855a294e86ea03ed0f678677ef65fc6f8d3f4cd450b2230799ccbc407020a6b4979c8ee43a4c4e2099b66156956bcc87f68145f531cfb5bdb1e9352cfc66b9b5d60723e296831f7cc7cec337ad15fdbcf2718bc866da27fda35799a4a59da97b785ea54ada80895d35fc1087d4b7b791d908626de2d667f98e790e98860ade9d6e8a7ffee6edd4796b59b99cf6804ecfa6ba688befe8149c901c612cc54685340172e6e5a3ab4c0c9c7ec30b55bd71c4a980d698b92da0260d0cbeb2bd85be8c8db5978d303feb925e58713af89e3e3138e6aee89cca99f95d611465aab7ad7b0eb48d72592bc561bc94dc5c3c2883926cb45d2b373f29c6c2514eac302c6b17a82c9f468dcf56cd64e93045f735cdbd5f8301bf6a0f9e9dc6b8ab9d848505d7ddb320f941cf44252a208f572bb4101a43459bed7746f520fddaa6bd25d89475bf04c0964fca7be60359f4cd3b25d87f5ad35e8d76a5ca6118498d2014e345f9cff1a1ea33d9a4c1dc5d27707f6b3275376959d660a10b3de52e4888a71de061d0ff5678e0a9119a229e0948c192e092d944b0eb67d9170e0abd345ddb2c2bf9ab49abf7b73ebe205c7d55dc0117f795934800d557fb2cda0a47abd4f8533bfcc3ae8da67a2c35f1bf540cf3d97cb17e97bb1cfec1a74dfc162589ff7346324c99dfdcbc0d4a3e30277c6d9671d999f53ecf4e936f920b766db4f8e79bf694d57e944572c13b16fc9aab297cb0a2b109dd27d8600e908978b1c541a652a8106d463cb7963823a0581a58c3c8166da4288daf1e0b93a23b8fcd37efc401ae0ad14349d0d98847dd3ec2bb7ee37bcc8ed762be980af4b538f565349272fc0443bd5dcc9fdb25c21d11ce20caeae13b67002e16ed3de98a5f830c9b77a0dd11d0f57e91b4aab65fade59fac93c32e7f17019ab7dae82c1612d97bb64798e2e96c04b5030f6cc904270df951e0c15ec8bc3a8bb82d4a61c4ce5ed59d00001f699d06565f671015c9586ee56dd09465bdb14b14509d9d2506b54820e803a38b7312c2e15e0e3f5e49a26927cd124da3e985c6d4b29b9f3d3c98c3df8576812df95780c1f40538209fcd42886233fb9862d2f5bf082b5f0f0f0af869c079c6df05bd7c1427549e9e765630aab02e0e649493a1841bc186a101ed87a1109af571925aa3668a6221d673b9b727c4f608bc0a874fbdf0e03c2e44a65f99b928043f3d22b44e715cdd519ca438fa55a24ef5198a9324291ad97aee282c65cd3ebb27177fa29144096abbd1b0be0c3ecfc020a88034a4db81d8db7618d970fd74f7734a4500634f737d362b2c1c8606f4ed1ece0e562627a60e73d90026f7ad252b3bc5d173424267a95de20b22ca417fafc4e77612a7118c7f5e653f3867ceda04acd27fb0772d220c2f6a719ef38bdf7d8692d4bda4b835860db22dde8f108e1a3e539964c896f463402ca89f462bfdd270adb3fbb94abed1789399b953eb9de3196954ba481fbecc07e5790c23adefb567cb20acb9fe9c078534715e36eb62dabbaa370387b9418dbf725aa7b837f8699063b10b312bef0d91b4c4a3e374e4020d9738065bffc68c305053c36494b5783b5147f18debd3b5bba7b477d5cecc16dd5bd3c19b013b7f9a19d47762c7617eb0898794018b22844e96f69fac7d8384a4fea3f8b2a11b46048d7e7ad2a77e6a6cc90f9a9f7b860a7cf1c28de77976ef21f87f04e9cbc02efbef026afa004c2d5dabc6f2405a4d43e3f49a6fb2672a22dd626d61544d5e77eed9d0982c340981cb625f0f440a9689c29e2cfd0fb663b04d84d90b582ce91e2f7d1a34f527adf8ca768dfc6edcf302eb4795dcce1ce0938da4891db8f048f77024eee63a7635c34b3d4f754e8ef1c9a904635feed61977dc8848067cc1de3d27961dfdb576225958e84ae21c8a4566e2b70e0aa853881822c4007c4225ef1c040a51f8eb94d4aad3429e70eb3ef613716df58cd1d8f0134e4c158e54b66514bc277ab43d65d2dc2cb3dbe1b1dd8fda76c9703c876ef597a8d19feacb8696625e66084179d5c678bc2474fa3ac5f8b2daf13b468a30d387065935bdda382eb9dc52a72a98a88fac35a998602384f6fbbf8cbb87371d94d728fc3f4a5b20974d2614156fa2ffafcd21d818b123f174ca893e7bfd9ac65ae93e7827f2cf33f3cfd522f060d691c7130fb3dc9cd1931db7c254485d07619ae7728f0b7ba15324a88743261491807d181869485945229409e3ebc5ea96bb26147c60cb032aea280658ff6298cc30dbe828922e52c1211d8bcc8e2dff9801cbec8cb31ebd209e63531aa4a3ec707ff84bba0b483019d55ee06976eb66c5dc2a54fd9667621184642e86ecf3b9570ab0078f2c4eb277bc83d1539e0c3d265f8225556d2f7591a13b2690a0dbdec42502015d0e94b84e4a07728f39d96cd1bb474ef77c16d7f81020a4dc7e73a81acacc3091f4d881d9ade1bca030ac6ad3d385bd65809ce5aa4f56bfc98e73e5adca05860ba7db88371fdb50e1abd5b7e002cd035022aa16f9661013cdc25c374bfa6f24e6b4a6535d54f3e4410b1cf4c800c56baccc5cff746cc2c8e11411214b3b64b43957c0a542d42aa388606dd4695cf73ae54c24f7d665feb62d1dcadbebd87768914c09a4d2ae2c40a472626bae07176e79bf7884faa5b370da7e9cf7d2017b430eaff322eb80346518886044357a335ccef1790c6cefffc35c6055a52dd6fd8f43aef45975a5a7fce40167b321d3f785f84ce13b0a17e548b524dc55221ab5af53e23de159340c31cc04029d0a3018fde482d29327c0991c7515f47180d3ab62cd09a396ddff1ae9367757db61e8aa98ea05c4b95987eea79f7457387844a17f30eac5c878f739b2bc76f6ac4ad3a0923c55af185d87a2660c06cddac2d946ceea674f198acbc70fd61db7ad2bcda6ff995c335a1180d8cf4d90d5a2cfa27d8c8a208930b876df7215a206d975f4256dbbc093bf0340ef033b33f34e82ce7771558c796e71e98009e9f652018b0188153a0d14ba057fb1483ff4aab4e26655dae7224426f4bac7c6826d3d20748d9773a815bf827d2002c1a9dfa5de619c7bf374d067168f5b8643c268c905dffa1c449a781d9f8c2f7bcf4b332b7246635ddcb251705303e6abb1935b9f5ef23c33de910ed3a1dfbea10965fcf6c93afb34928a0b1c530ebc78a82f08ef6564276d37b9bbbf889bfde17d5c08f0f0cfd2af96b6dd35fb523c24bee3ddb7938728d4eb580ec2e51ad663281a061ae7e815be2f8e30b6501a63ba3bc0dfaa7d74ddc96b8822c04f53831351734c8df006a3ad5b760110f8db6d89a8528d7110e760dca2e36af2376df1d0bc6f3e74afc9ee69978ce35f4df2a36e5681ae50e5bff466cff58c6484d278bfe717766efae89394e9a2e979aac88239e672a816650d6a81d50f139b8b11e4ee9bab7a29891e79994b216684bb8e86872caafb1f8a3b9784372a2dd4a9f63a4417e6e7c984cc2599395aa8b4b43cf07900b1db44fd2a487997afb07725249cbf4198baead99013926ebcc224d1864823e9c94cbaa2c70cdcc6f65fd556f38df698e630ff875feeace1b73daa83170bf575a8ab2b1f7ca54b8670ce3761b701cc9c6847afdf394f7f484fc506bb0ef0ab26d140c2c625e1681c9620bf9ef45ffab959a4b63f3bb9d43bbf84af6474802169facc659046590baf437b45a9b790645803af14d0be47d7992fb06c1cbd8538505c66d996934c3a0a93124b0ec53dd812b4e851cc21d0fa4b5846a783eec626dabbabec44c2e2258e7853b4c083190bc5b9d8461235bcee80f54ffd6aaa8db29a051be046825be081dd2cff32a8f1b613212a59bc1daf31cec29854b1368b233b966f071b8ba7da1e77bd3ec0d79d645471dd39e378e8550784c1627f690bc87bb099a92df09c1934a22b11ca8761503a8b7607ef47aedbfe97ef800f4a4fc898bdb438df06c5ecce5dae1cd6e18317404fe25c03cd22a6031f55fe21c2b3d7af7efec9f46d37d573cc29d90d4052883bab1e7a4c6fc3a7c80fd80915ca3b05c94957fd0bdde789ed918e8c9cb19769dd29f0ad30578c3ada7bfec19766e848f3bd910cc27e01227665953eff496409c4a7d7cac0a3c3768164df07993a8a0539f2c4e683e73bc306012b6aa99ef3f5c9f34d1a2fcc7489c7ad7255d01a4fe607448757b9de2df2aaf15558c44fe086d731fc5723cd81ba475e451ec659cb36ca4619bef7d2bdd17b1a88e211b7449b1f118b9e5cdaca987b2de48ddec9fe25c331becb9194af528ce0e520d1755e675ed6ecbb1fe096292b8ac0558b619477acbfcafc56d66ef5bb11a940926bc7aad36290f5d914fd583cc6c8474a56e35022af76c65f91a3dce8c43535f2479ce894dc43fa49d89ef981790ac048b01a913a9c8f8b8f6da9d920ea5ffb3e47fed5632dcc4da1264fd679e89db323db4125a8940e0897287a7345443a8fa6f2050c4e1ec121da58d7af5d501df913b1162c9cf6d22c75860fa56129326d5fdbfa393c404ad2a288df962f030db588f58d6d0ccae860fb87b7a12aadb7910f067a464190e13db7b215f30e6f3f30126b6ae7f438ff6e024403475c36416482707f7f41596e83abba69ce98f4f0c8436e9aa56144819fe87d9bd69ebb36e209cfee2f8c3098b05c3fc6c33092bdda012452bf85085a7196491cff8ec8b850d58ae00451107c7aa3dba4a64af10e6d78438a8b59983ba5bf775a90537f2dba0e7d52599261fb51ea3391dd3fa5e3749865ebbd59435e0731b2bc386b7ed469405031cd243d19a2f860cc36054ed4fa9bd15754b62646e850539081e97eeac0ce403e9678dbb094f58e110865adcddd1366f041e3fe40de7304f4017e881eaff8d65aabfff6618e48aede44738493a9d8ca0cc4a70054131f04a270a679afe1cbc54a1b998d0608f7ddf252e3157e4f0356d938cee469188828a6d57b92cbb267f18822c00d30b578da37762a18fd7aff4100629aab10fd385250f5a92671f17315c52ec081173abc63333152414da5f581bc4a7c5c3eddd2cff5a6041b9f605c578201563b7c5f7f1465821043a6f247c5ecc14b0af5dc77cc841ecbe4829112a1fe003aeb1cdd6ad6f314c4f408e9b226d5681b16fbf65cd84fd0222de2898be71b322400d92d72a1d4f0e43a8f725ea71fd03053e73dc52bf7860f61fa40dbc7198f422843ea2d7a17190f821d1e626fa7c51af4bb537e73ce3ca9ce95745375699b7b40986e2fef764dcc7e01d50fe6bb69985372ccc0f680b0771db15dde130e8e2ddd2d382ce49e01596dc03494f7053d35573373c6e6bb6f0c51cb0f2a8487357ef3435b40f9710e108d91b4d8c2c210cff403a73553fa93c1dec9356032bdaa48bd7ec80b980a6f3d65c32f6843ce859d76d64f894dad31a06e14eb4fb9759138a91c26deda5f98bf06d7e2f39f88b87504f9d2adf0b060ea86fcc54ff53290ddfd3dc0e4b645bcc4e1c04376039eb0a5b92ce7ce122a358f75be465351e28c3dec11c0bde3eea0dd390aed6d4fee2431ef90d4e5d13dc86a62f491027f34c425c55a49409aaff65b13fb6da6c90d772cc77b826cfe5b691c319664b5550b99d5f4d2dd587cbb9ae9db501c546e8ea9414d931276b4fcfa9bcab9ab6d315b000e9a997e448f9737d04b4f0dfd1081908bb51c42f4a463b9acaa52933ba55fa92cd5e9fde3e134d4721c073ed0b262a18e020ae4432bcb5719a35f4165d54df1f30a39a0b5d626b4d2d01f24cfa84b7dd5476bdb0da56485b26306184b6cd3eb67f787e446ace5f96c1a6ca4180e80f2e1a487decb95716beb6d5e080ca4fc42f7c2e98858edb9ca455fde88013bbd4265200578d2f15e11365536a21a37763c1140b2188fffcd95fd1614a15649f6b5b22d365d7c4a4bceb434ab3c99329d76b41bf2072202923f7a87682ef264462bf16fbfc5fbd485a789ed8180cadf287a12fd0fa18bc1a5759ed5b7cf153d07c130181ae0a5ba6e91416545a3346b629580a38157a2fdfb3a6b3b96032d1050493128c0e81657b9a91ca285706e4b5c62cba1296d90676929ac282b823b8448b858293c5e6d7df1d1a7f3fb064dbd1222b22a65a0791e5f46c26067f84ce0bef418bc17b113eede9204686d253c1f9b8f8e90755ae56fb61c3e0cbb67960bfa91126384005c6b577a2189a73dbceadfc63512cd0a102160f775d521a731f7a65262891bc041e3a91649b996155ab5df5946f88aa68a6d8d417ae350075464a63a4f30994d6361272df6a196d5e37de8c1ffe3fc63853ff954cc617282ccbd54a7f69289fb05d6bcea7228e2e826f4a13defd15226f08639cf46ff8cf42b048420032b629b0aca097bfc5b75cb92956473e32c34ad260a738641b835036815b39f232ded5cc3ced146ce51a44d5048de8fee1bd232cab555a65694cbbb7ff230fd941584e8ef8792c9a44420215fb77a6bc20145128b72616f4eff4ecc1db20d175632d7af5e6bd5392565ef799b5b6d8ee5b1e18021018eb0befd40a29dbcdddb77140fb66abe6fb256cabd6243c49733fefc92f097a3e0fa489ee8ff18549fa3c929fcbcf0bf3231a7cb2860ca936926127594a20662160652b2dd720a4eba8a2101fadde7bd63d7006dbcab7fe87d9ebb2943213e922af401cbfd990fd6304620580433fb63d8c3108e2f5838faf362e0a0b6f54417e4e34542fea3abcdc8ebb0c493b390bcec30d998e05055e90970fa34e9f7d56e42438b50d886cc57f30c9140a1ce6555505f483314f72b9ff7c59e6f2381c56c1b923d30b2b310b27353f91c9da3ea21667bd97316405921522a24d0ff93835cfa071772fb15a0fcc65a4043361801d5c19d5fd72dd976ccdb2d2baa11b946b0fd10c6eeb2aba3db124ecb5fd92781ef6df3bc5c6c92587bfe80d28874cfe6f73dc9e281fb4af67bc69a9c930bd65656494c4bf646bf27515ba9e0c41efedde096121ca42658f0014d871881598351a2dfb2d1a7812b810a9305c55508456e89c640d88f90ccc3cedf0ac30988e1d605418193e8913772f57ef043972e536f58338da4837721271bd7c1698c79e34effcc2ea3bf6510c4e99a2e748b3bc73d2af19f4e9c72886c31d11589235108eabf80d720a4d843c7699f4fb927c0ef526ae946c6891320e20376476e2f293a75171b347e4d1e94f4e8112308c11ad97c383933d89394fcf6b2b3b748861482c7fb3690c7cc616cd5920f86e3007c7bd4f8c5847d0b1426b120d0a5f98d50f49208099f51eb00bf75be12f0fcc5c0fbbe531175709b208d93c9b04332cf17afc948a27957d3d0dfb610699f73d080c7b6c4c67864c991fd996fb7b07abd36e57f4438d9ad139123de44fd83f1ffd4fe6ec2a68fd28e7b3ce4e92b1b461d303db1baed66b829f334f381c2372a86be7e13cf41b20fb85214844c8fed7217669a0c0303fdc8579d7e174ac2fd236de43fc9a89c5aeb0e3d4a4677e0905bdb101bcbde691b9a8e937378a57e3e4041555e00c2f2af00a9784542644236bd17d3c8d2dfbfccfaffc857b103dec851fa7494c903c54fa372e9ce6b393ca774387b6dfac5afcbcba6347745faa896191b44bd1c75827eee44a3ec3a79de2145470583442b8f302cd3e0f3c35e70be69012f48553875def681adc44ebc66a9dbee9a4fbc788121512480d0d3a765d8e1c289b3ce7295564a79356ac99a00299073c1d44751dbee2c07a4f477ff21324d78d3c50760d5c4b96eaa9829276b46b5acabf89ceb9bc832f21d4b2cacfb9457c8efeb43277e98eaaa5a675ad12727e39a4405f9d6d0979ca37e17bdd26ff652bf2e8e4d6e0b86a48c325c7e83a876ef9447b095d331a2dfb4b95bfeec119d7f3efc5116662e6c89f5338676d5069a91807d91b6b6993a906596446fada9c9eab551ce25f34b56dff092e379a85743a29d83d8f84f3f389f6800696af5d10dfbc9a463418a4e17e0f3a7d3f8590eb151e43b44aae8a15a7d98217087ece7c442435856debd65bacb213a3af627df626aa13ff9f23210970abbc00b36a59f8c7c355de42c3e477b96e96fdad0a3025f232019559bfac83fe8039a38b16de7386b280506da06d425af63e96f7a4f598ca34113de831be0d75e1b25baf3f980ac5e52c2566f78ff02c0b7410935a6abbf3c3823e7ebd6db064cc03b153e62323bc79c8d1a78c095afc6e28186507ec14c78adafb5a408c6ffcddd2afdea02810a6edb29538ea7beeab0442be19735fd46a8ff35626a589afde095a01c934948e132a5cbaab9f617485625c6208f6cd03aea8e5f6a6cd16400d899cdc94be9db0d70e15c6fc165b2801edaffe7494b902172b46a541dada3b986d0152a3b2a31a61f77713c4214e8eca7f85c32f1a563559be89b3f60763733cb969f72a1cd7100f19c2413c7767db03dc1f125012c11bed49ca9fb1842eb19e368d07a0baeafb77680159dcef92c85fd6871cc342c9be949eb46e0607de870fbf5e5e88bc71c93c5a29e17cd2225914930202718cd10c056188c033127814bbd157fd2fcb5b34aebfc69cf362a5eabfdf90ca0823857315156fd090e1b52e4f9d8e04d5d6a372ac43f4e671c035f4625b3b8029849458bbeef122b59c56ac9d5de329fa193cf2c2d29127519043e167d060428311a33756d91cf13fd193846ea925fd5eaab2912537f642d094c1b5e1e3409168b10e388fcf49dff46850886f3b5dd7949eb5ff976b00dd064bc5594526122e2b342ce2fdbb3bc8bfc701f3f43f155ea9d8e1c756c04cc348ae62eb23788c15a04f2fdc62ae985ced9a23ebea70532bb7acb139650d4d384226cfc1ef26d54a875ddd94d54dcee14471c9a7b96022e8490af5f7397dcf789bf5b07b695cd72f71dcb0d669bfc4f2ce528a056d436c8184118f4ca68d23c896e83fd57e1c86e72da23f790b10ba1b7c34bdb42522510d0306a3a686e1a9bcf0a275a91989d6f648b4d5df4ef2175b36c7cc47c03336771d9bd62b39724ebbe785418dd33da960b6e3b4c5cd400a92570e733de3b2a4343f2f9243cf766058aeb5e02ca409c4c29825035e0cc875a6a0d4a25be91d061a1b139952afdc77cb4da2e05e8d408498a59a30e9c09d42b8313ced438d4872f00617665487f21ebdef5d645fe03b9c9f74006ef28cc31c1beb4fdb9ea96f2be9f4f1b8c136564360a620d54e5816dfab5aea52d82de159c22ebdf7b81fefe4323efa9a4c035c3f617d47dec8bf5349d05f04026b529e5c13e3cc602af0bd828e8aa43bce5f5ccb25b429d45dc0ac3128f4a4dce0d2d3725369d974942e79d45cae03c4aeb8699db77e34df5d978bc60ffda6f45b78808a9e20ff1cd283646c8a9449545c1c632c426dde06ccbf1791b437166ccf243c7c5c08898a43f9e141bf094de4bacab842c98e4a249e3dac6ffe24ab5bd53c65faf36358d2188245c77f1e9dd317cf271937a29bdc3ecec99e6eea10c14d7c9e6438f7d512551e8ea01897847657308d9e23820ff26c9ca987544688fb34b7082e9c64826252b534b06c54547cd07a11d289fa434c42e2c61cfeb72fbc2a0590ffcc4c32c81019e21e482ffeda8801100d9c2a23f88a7ec83f8493fadcfb5c9773d35f1dff83d31faa292f3e00e523faac817fa40d561de1d6f1bf187f2224d43337eb755b372c35e29d6b467597966d514830bd11a030902fb9c78b81c6927b8b406cfe36d6c04a31ff2c21e08c38f57f1842ad5a78d42f2010e5087ccaee878cd267c05e0ad9c622069fab8133d31d8f256088fb164f2748c4b68390e4247d54e0ba56e8d1d1a41883ef74dd4c22fef9dfb0e3932d0e8bfe470524d38c160f9c5b794c377c203000a3ca64b306c1597bc0c2f57df6fa6057bb69d25d8e6be51dd539c33709399c1552e94fb6549f3250617fedc725ea3798470dacef016d3c0cadb3bf8b5878519b2b7d6daf7d634ab8e9058310f9a17c7534dbe86817cbec2766194a09524670eb4c054ea3269b49187d232c6a7904cbdc0772b068ba6774ca881eef143f2deb0d57ad8b8d02c5daa8546747453e7287f1009f25884eacf9da0a8eb52bfdb3a13025d7837ed4dee44f2ed1cc7bd2a749de1f6f09d75bf32c466218d8d7b60705d5bb18c3ca31107b11e7691061b7cf5edee3ca88429bb03faeb1ef26f1e65382971b169640034b6fe69ebc7a4bebe00f021434f84ab6f9d23d9ded439bee3067d09ea137f33ad512b53fe84ef1b00955b6e64c72b885fc7abb5644370b962bb1f82da4c6f825d13cf2bedb9bf639f85beae5d18db6e6b4f7e59c3e70ec50b354f0f4350287f123e828079d546ed47b6a4e34f1de1304caa8792092712a8a1a67ff32a495ca777db7b19f4290a9017ee698cf5d2b584c1d4b55ca6c912c52631b4dffe9263b70f24a271fc231ee012ac302d305fa3c246e2b4d3e361e190a67856524d54edc6dadd354bf439f6eb7091f9b9429fd2982259688d02b129390173cd0c8270fa11740c5cd40d9abec66fabd8a1aba3204c73df4a570b4ee8ea138a360925f0961b1c467971140524400cb7c3db68ef97ce2ce28e6802e01dcea1e903922a644d9db602a4232d03006d86af9b186ea646ff14ab81e01c64fb59821659685e625044dcd4871c78c16cf4aebd951b146d7367d2c66d171e8a721c04294aba6551e407cbf2ec1176ecbec17a23a242583eb506d5a77d3260877e8de1835e354e2fd2ff30067e32671e4369f51fdb4521cc15d3aaf521d9c65a596d2e178a6decd98d81e508fb04bbe531ad2559ce49a6233acd559ffd240a25cbad5c4165e9329774d63304f2c516570c33ccbd5ea8bf3bbb8c97d834f1835c56123bddcf205d14d82fffe10b37d0f5d98ab60a1bdb1d159ef4b00e31ac786988c02ea9fe360ccefb16ba9d24c6a54dfa7018a361e8b97cffb5c48415da56fa122e0a2fe4e7979abe097b56c41064883ddc61ea62aa26796e6c50162a5b5e33e6254476d7eebd0e2be33d761c481992522a965ce6401df6f7c01dda232732504ec26050e201fc06d97368dd5c69d52c0a21cff09153d77ac0466828a9b42ff97f5a87e587c96b8eee9066f185de79aaa2dbd87e9a112589a7f53c34e95f31f1880b80e327d2d995dcb6897fed355466e8aebba31a95286c4c4ff1e461e516753db26302165f4ef9db2567da3ff3632897cce3578d0e49c9446435c0c7e31f11f569900b027fc8e8ec12f216d20ee9e2fb3ca30e8fa4acc49680d263503a1ecea5d6afbc871fb96685dcd58f306358be36dba2f973c25a301040f39e18b02b06a77de14706f5fcc228664cb2621730618055c0124b75ddfb68316e2fbda090ef7ef27dd25b043567219770a03986fc7086df4a79ea8dc03920a2808d139e522ceee93839ae4e214326f916cba3a432085853f285f3078d1a6ff854cb3b2b390dfcf32c560b54329d7ce49489c801f6fa94ba787671f3b21ad0716f18e777de84956fce713cfc003c799a298f56590d8971dac3c2378c78ae784b2b08baa13c53a3a01d47bddd868ab63c967a43f05db57c52876574587203ee3ef14198b2a4eb3239f9a6fec2de9cfdf4cb726541c6980a489641862ecb77d98b574ccc9680fd73f37d138639183bc08bddee7bc84ea2c42993e69de2f9fc5f48ff7bba3bffd78fe19a417e549342a20c081e4569b30ff3d0363bb3235bbd02f2eeec98e734ca06530fb08ec47db878d16ea148605f683b48e948d0f764f8d51724056bc81baea5cb292713c516d2f5bedcfbb5b69dac2f663cce49b9140295adc6e3d35a5f1871d0532234d575779cb173e4975bab21e9fcc808395872870d1120dbd10089d7d15ef1614e4995bd6e5f1120f54eda12959b3d74e0e65ade49972823c6ab6e9c376437234abeacd1384afa5966e39360bf7e148c5cdeffe97953366f88d15e306d126d5a9da43c275f5eca388e4ea1ee0d73f802bd6357bc02c2ed089b5bd1b0a7f91570b44189b1f082a06931a40984693ec8d8f47694761c1e9ac143d75745b224258dc1bb6d0752a578a4e9310a3e371db1296e705041a5ed3f89d7466b20c655d7cabfbf562271055776adbe0a066a900b1216344422b0996ea86d79170c435734fa28abd5b7b3680931c7b00b87e43918d40eb367d7277fa7d7e1b5bd09e6133aba012e117e645fb582815675501f1270d9ed1282353bbd9cf57ae5c764a0925255c95bea47469bbf380fffda984c56e85ef29b78aa87aad9c641ee2af71862f4aadccae25c3d5e13982029e2864011ac8a0f5f0073bb1686a94e962fafffd1d1a19b988de83a95ebf8ecc7b3c9071de8d1d018bff04a3eca6771e3784d586a9fe1cf2960863dbfdd7d87df55cd7d933433e856b884341767777ef09366f331e0aa39249aeab56f665977179a02cc23ce1bd90bdb47d59b057e4e7da21fbc7815dab8de2839c6d09c689318c60db5c18daf46e2efb0e00b5e5128ce0ad4c87f10c76cc3ec2ebe603110690fad1f7c67b852fdab35bcc62860f9befbb20328375204a53465b3e2996713278b309c31a6f056a24050073da8e4a66dac8ec01fae6a5b4f8b9ed144c5ba939b50fd3bc5f813376e6f3d054c9241b124672e83466731f50473dda289bf0eb82e3b3caa07a826d9a53f3851ad6cc48a2854d5d48da4e453abf4b26560b6711ae43580883899d49d8c5d8efe5fd07205a74f42689fe93602505c79e39ec5d2235d3c63d1d8ab626ae97ce77a92fb4ba9cd46165cecc8c072f44aa5d9e6ac531e1f6edde922380c722720c9f7cc5deba88a9f5cc6e0640968ee20b6a4939d231329dcb62cdd14a632bb8f210bceb4fa189169bead363af19e93309b0d32032e0561d36ef9cdcf51b7d38721d7ba9113b08c4632b7b4a79e56e5610a1e2d19a5310e5ac4e31887e3481cc5084aa2cabb20781d43d2dfe9469fbc928d5756e6fe75cde10746880871c1ea71a82dedce08815b9c9ccd4a4ce2e6040314200d34b7bad4352034ec4c3780908af7f8763cbaaf5231f3dfd22293a92f0de9c8af490eac21875302c94f98adc27a6052a9897f98a09d01a521ef8aec1d84b5c2b2e3530da195437b00fe3540da6423c07ca6c768abc2f86d154e67a63f37ffa6ddd37e90db31f43a5f45a5058d25aef968a9ee8df97f88b8c28573e48edbf66b3309012486ed173fbfae6ce5a8f795f95685766a6927e67d93b3413aed4571c2ab624f2b68c499b3959f09d205fe3abaf6b3403f9d00a6ce345f8b3a949c583401ba09314bf5e20c97eb40b03ef311354e11818dd749b1245c0a6083dd63e676b7e08ae8cee765cd9a33c4dd37b7f848384fd97d14c52f03512ddc9d0b01bd8dd287c1afb193de199b005d53041815e9a263e9e53bf6e364dea88965abd764c18bdc6cb43172496148f248a0e1efe83d28510ea5847ff375f611586465683be46bd0c0c702608795ab745d7feafd57df92496e36034014edf56f063b88f4b6e6c12c46ed30d4a2867701aac21bffa902e251d267e7bd08b063c73c36a9993c6bdd00524ba3f844af29eb6949c0dc46677ff2acaa8f0a63059e3e570bfadfd73f79c8d3e7eb4e189644344680fdb73e5a72603043a5375e6657cdff0b3be7b146b30ec1c3c230b256dd60dc9f884ecf0f7f3b16aceb31a7b6db58951dd3e5f64abe8bf6fd96b315f35b645e0cb516a0c7306d3e3a2029303d79ec5a4b85ee796896c7bfd00b8ce1cd9c023de2288880af214e0abca0a6e8fe215ec8dfce9050fa60945b600b7a7f0f369bddfec5e7788edea2ff03dbde982df37733221f540e3e4ec0cfd60ec729d0803924f5f4d9624146b309a0b1e8f01d082724733ed51f5d9d2118b1fcfa46d4a01b6a84b67656edf46000444d7157f141f547bb7e887ad0a15c492ca37b33e47e8a716ce2b66cbbe103798494cbfdc9b04b19fbf6c68c149bdf450a98649b85091f228aa8c422ed650ea2699adb35e2d2c63560df807c655f611e47bdbffd389df0b7cb7860b2d9186fd3dda5998e5e944b065a658bcdaa989b1a0d2f52bd43eed15d7fe5cfe7f9c9815253388f28f55f9ded9aafcd2bdc16a33df107ee436910a17ee7575393ed9b89d35c76928311b5c4475e2ec0a69c393db1d25be19bceba7c129daa6134ea66764df20038fc0803b7ae45d7708d086f7dd282dd5e58a94c44f7188a507d69aab7ddd953a2ee9443e34a8594c2b9841b021caff48f294290cd56d9b2bb90e0a3a8524fcdbb852395414225a2ecdbca85a9158ae3731da744874801d5024a32953e3d229eb03e0d041181dc9566b87156cb83325787ec2b53de22b1dbf814e3731cca6a199d7fb3030e331d6f0e0142078b23363e2e70b7d092fd7e26e2994db4f100decda97527ddbfbb8a29804a25ba1ec3a1fa682a131981fe231325599b732045d93e63b12af6cbcb4feadeb2f9fb4666021965c56d40088872c30e3ad89a06c8ae84133d0dc7eb1a4973e57311f33dae45d781737968142c55591c11463a259929e166bdf8bdac6e759a6b577e2784a5ce29d9c23e4462a9a3a571638d231e213ec8794662325ff12161b68fe58a8f528df9990c38a500c728349170a5abb861495973623446b87fa66ea251fd2b1dca9a20f433e924882b4abc0531f4e07290251a78d03fc10dbc0c23feadb3d3f9a1e4446bca6e5fc20e619f99eb8ff6cd3f73a3fe053022bc7f9d177e725bc14b13b72c5a913064126b498cae8f176cc4de40b5169f29d90bb0ea128b874975f4d0e3cbf7728f105b23a4121394f5fa43cc9a4243850523886e2257fc2683678723aa06cdc8af9097affeb60b0bf655c4d26578c18c426171c226fa2ce72baa65ab4d2fe7835741e4eee16d7722947c10f94a439cd7546c5c3b3c10df2fb4c0b8fd6bf809e72c3fe6307d3e4ed6162e70493b1cc761e0b4b0b100e414aae501db5faef3722c9072786663a161d3c2746d6e7dece3aff10d415cb6b224bc09087a0e5e7e269efbf1f361bbba4278db972a4c25d77a0795086cd3e06f5a74866111145b3af2a1c19fe03a3f5df40c50ddf4d7d27a008f3fca0033c918a284faa4842094184184d0ae9c248e97ba39028e7774987f447378004419ceab555beffd2cb34837ddc483e9d55d406e118b9b80405d892a2e8a0784f4db2ee74869887b8f90700a14bfafbff54a8435579368737aaf69428940fbe79bf61dad93447df9899e50529a4bd9abf9628aaaee660af320bcd5a254b3adab6e385c0489f51d36f4f8cb37718262ef48eb2c110509f44128a5e9614633aa3898eb3d0325a5c103f9de7efe4e6235eae4c1b74c15d5f4b793850c3771673f51636b5bba4a84ed0ec7db9dc504a956d7529e72a5026787ee66f4c005648d547d70753c0cb92a1e43ca4a51516928c5a5caec04464db0179ba6d3de93c2c13c5044fb85b9326a6480f448a59f0103defd39dfa1a34d2691ce909569ae44dcd5c8fb237a711e407b571f54cf8f1db8725bbf26a023d5e07ad339b41fde156fffda8e2a118bf6814673193436c3bbf7627eeb62cce15a0501f13b362f69ae45718672113387cbdc2aaa417f20555148a317324df5ee3367938fcdd5c2a77097e008b20b435ebf89d4d133b184fc7a342e934d46bcf662c533380a78619f32d78ec17bbb15dfe08a81ff29f7ad26d6d77cfc3b3fe0b41eaaefffd52f8acf0ef7034918c7de397c514278914e503cf0e3904e85f6b08765c1370bccb29e03471d5e87ed699f6f6a498894d5d95ae3f41792ce3b751aa156e6d1d10490323ccff65f291a3aa7f3e3da0b1ad14b5837678f3dfa8e595d54b85c7d139a3270eb5e936511a6cef74500e79d2e48addb911f83afece40a79dd066766a3667b19fc8b153643fbac16fa9d10274eb2e0dd3c1ed88ee30e04492c1beae5d32731a24de61ec2522cdfa8c7000e82fe3c30ba76b43f1612f4c9f5502be54fb917e17462aa1443b8e6e88cece8383b26a916ae0bc147de49c7f9ccda13ae85a3eb5802e5997726609f2e9fbe94709928f237a83d7d73d3351b5ec1c15066c66705fba9c28da9c5bf0539b6c285500a10900ea629d5f981ec8abf0bb433a88c0ff6f0f0a807e8c224eb1bc4aa0c8fe21ae2d3fca18c7bd5fcbadca2615984329f27d1a4c7c14e643da767bf053eb1eb1b42134c6e9bf78e9163d11c5cfaedf1c26aca7a821faf621b7dfe5feba9fa03bbf23cc2cc8dbf0484c944038dcec18c9843088cee1c5f56d5f9cda1f8c2bf74cedafab32e27e9f30cc7d9a210e18c552cc42c7da7a47709c047aae0e3c55e7b6d20b50eed0abb84831ba19532b7f664481c620ef0add576b17494c12f1cee84ffa8dd4981ea25a20bb38bf34d3cad511c45670961a11eb9af1d1ad1037f291332b97f5b20fdc47e36d3a6b83d9a23b5114e079edc978a7d99974c95884003b21e78e66807b05254ad6237e75643f53dcbd022b5738328f6d6972327cf5e219d1ca230a0886b45cc55a3f0f128454a29accfaaa584c47fb6cf758e5acc8b3ee0edbca54b521c1d67db4453706e4a4e1a48834bf562be1d0b4f881e254c313dd70d2a7c4c207c6a860a5609b18bbfa36682cc46b9dc15ecd0f94442b83ce42de34ccd889cd9b2c430c72a9234b0179b5d568dd36dd476c7222033743e258f89fb81e59d3842e8ddd8932e2f5fa85bd50b9f4fcde069b1a659520cbc2303fd130611839b3cd1e5187bbf5e05214a0a6c68e5be5318b2434865bf2d4cdc471465da237828d31a4ba24444ee6a8e95af46d4d9837bff22b9da90055067acc5f12767de18b0e97f062198615daa48c88788cee8729e63afdf0a103e9fbc5576c32c3738ae0acb7f36379f361d0a205feccad2b123ca8bd870318329901ae1ff667e5c9ecfe16a431f7954c30d6fa0b32a428f8552bd30833972c960a21e743d711faa3c753313b3b3080972bf7e51cd4dc4ccafa28072911a951d06ec4484127a183ce45944b96f70ac4778c98c1586de2f3d357f5884b421caf3092b354a15a04739fb0880663f8ffd7bf70050c4fac7695652d9c55d75a7a76a8c99c67eb89dd9909304bd9961b46d6d4885280fcbc8af4ed39326a87d5031a05f67157d734cd2220ff58508bb7c7abea031fc0ff97d5aaf87916ba0da25a7983d7dcb50ab99f90cb248bb1546d87adb4fa3a762438810ad4110b873bc4e01d86463cb9e35d2a23bc1c61cb21dd3bffc910a425507c32d43a0f8ddd38cfccf47e303bea9ed9ce1a3d36675390f78b1fc2f3b64d3b5454f07a71d56ca24ef645cb60134a21900fdda27be4fdde25f88a7c81bb854b564a2672210de8cffdceb84b4aedaaf12045019d12b5791051f0bae7b76607e67e5373f1851a4c239158ecc6c0b8defb40f8e34b29d1cc752ad7c5991e38ce8b802794ed20bbc0fc8859a3dc29747d3cfec0e548f7b4eea90880a9ef79f39d089e7b33d2b454f32c9af3c403e316c2bbcdd97983341793428fbced3448c38f07ee5c23a85f21a5b06f7246ef7966b9233497a9b9f839e1be1feee658364170bab5bf3e3a4b37f412f46dc8519839fe4c820b4b1beb40450bf0288997af53927ebcd1dc5ff5c285346cfb78959b7e7d8ed5ae97c5f4c2481a8e29713ab5f5bdc6722e4c691446c88b6f916b1efe1412e4766ebbc6f4978253d58ee21ffc4f771631e98c96b7aadc5cf94b1904b82cf57e1fe19935fd9b5fda463d512b7ae30972ff0d0931decd38f11601e8ebeaf0b6b6ba5766c7a5672e9342cf4007cfceeeeeaf2e85509fcb50325693b117ea80278ce916cfcbe0adbf389d490268dcb88a0cfa87c81e1c429d8115b61cf5a059a39eaeb331cbdb3a520b84a6788fa050bc8fbaa477254f385cf587d2aa09c3ea63280677165089ce43983a0d012781dfdaeba5d6e8f1b21a843bdfddd20288478f7d7b0616c8b23b31af5b792b52e2729a7bb01254bd1471cd0dbf5c7f1e1a80a020749b0506bdecd76e20186ffc7532de98b44b54ccc03c900717a2c055cf564c4936ee2e85ce5bc308a9e550d6cf4b40a10bef2eb5772881525fcc8f9dd7a9767cc0e826cd41ef5bea75b62addab64fd724886415660de50eb9ab9472142e8ac6ffa422ad81632b859155bdd6feb285cb349ab53ac6a51639fa62723280f5438800cd72b1ed3f2e368a3927ef3a0192b54e1f43e904690485d67a52689e49da137c3ea8726e65fb05b4006c5c3dc987c3e80e9bb628d810960d09377148e9986847d6f0f91b9901a1d37baff0997a117495713c4b6fa179f54ef72ad4eaed460d8a77f3148cf59cdaa364a86ccc5bd51bda858db8fbfbe5d9f05845fa7d5f59ac41a40307fee54da8a2ede5341bb0bed280297424ce8e07db1159f422a97c2623090f9a5b14f4344d5e53778fed09da9309e260ac6ccd86a1bf233c49470aa165cdf94a5924a68833a3d94707875984b0934530113367fe9e0cda3cc22112e0bbdbf6e97d5e0d7ab453945b67d4c41ed64507f12b4fe10d210432d6d43249419cd81e39820ec11bea0f01182f52df4ded0d3ecf22f1cecb4407c3b2c0bdc669c951a47280b72049a7be4463ba84d847e5ca8382fea5c47589df4c8b57c9302d4671f71c635705509164c62bf043cca95b7116ce051f729eab4f142cdfce239fbcf0467b5185ae08515527784d42d4adf715a0992797a47728530440ef852e179b5565b3717f5e776264495f3a7b08fdac20a660987f2d5c2f4006bfa46cb572a1f3aa5fba873457ef5e923537347a8a854e0cd461b82bc6cc71f05d8ca4e93ad6b2e4a8b7d4893ccc5ba52b0d615de94dada1622e5c965ff4396743fb1c6721247218cee2000e2ac7df84329038880feb41d08577f394bbc889d01513ab9326e9596dc92bb9a1a20d18b66f935f33a5fde8b8f6f70fc2d3be332b514b15aa8108b1abc60241cf7f00979558d65a289dda2e56c03272e704dd2b9c4a9916255fc6a9dbe7c69b834bf9d891625e177787060941203dc1115d1d88525a744471edae0c843d36f623ab3bb33f7140274a7311f8c7a812a7dd41a07b7ade2095bd3f5d427638e3966000efb32e7fabfbda49444e389af57dd516864f7d32b02f6ac16de032e0b9f1276a76c4144c33c6afa6d2abc449694342d9ffdaa7fdc103b5db376cde3bd8eb29ed7c1fc13eb8541414c68dab74612f91775d5d794bcd063cb1033c6eeb5d6a7974a628e761d2e8d8ff3f736e341ee8ae05a4a5241a7c95acf532e12a45023f1d163afbacb10a16b7bbed6d7263027cbb56000d9e1db881491514438c1e6e673e124f192cb48b83fb83265f4b06f9d9a36711d74e46d3a605f589787642046759df185554107835476bde97ad62a0dfe98fdce638b7c8bc9849578b3a3e06fd570f020f0f13681863cd7a199ed101a40bef177a3e889d55da394e2c24d6bfdb9469658fd611b3c3c4bd9a3798f13ce08eac35ce471a5e85d6148aca920d3abd7c9c9d4dd8bb4e17d9826959e263ac96221755709d7aaa5b02dbcc13b021195a1ddf7727111b4fd59eb9805d27df662326c73f5138a8160ee9506323520e089ffc362d21b0b5af7174d04a44e120f8bface73c85c5b447837e1085f416ead81f3a7d5eb4d14fc5ee7c4ae0895b5ba5ee03c1ca9bd5c3fb3357e37c070fd78ab9fa559ce208abb9526a83602e11dbaf19a77f0e155287813f2988297be767dc9eda3157269f0b34dfd77160e17a24c3ab13e93f33e4e20730a4c4369443de69b256371d11d060fb627a75282d2c74614814ffaa81fae6592e4d11df37a3dfe0633cfc304c1dd846917577f873eb70c73a668764bd479e76953915da6231b6278bf4c72a776aa7f4f640106567a80ea2f57e66ee096e9c805cc54b4c7acd7f2b6679396b688bfc685d8f8f397895c5d192f0adf296d71ab4b778469c6ccf51632eca8ef7fd4dda751337323ac9b7d8e0371e4b4e46f4aab93920d4be434d19a45df1e0ecc8801fbdf76e948f2446fda1522c49746c55c033bab436a0ae34c4273a8b31100b90b8d192a52c40501dda7cc36949a53f4bc68cc060bbef239937fac03d332b48dba0d0bcaf077fa412eab5b91de38eb01306a35be56c1932cd51a757e6cd02be6367132f8bef771928df61741f29329252920dafd56c19827848b724f108ff09a9fb99b8324b8f15f246eca68d9753f7b5ce2d661eecda2e5f3cea2fb0e3b5faa1f839a71819231fff72dfce08a60b33944c023703c2c7386ab567227d352657a8a94de09b6139450df9da1cbf545958fb8beabfc9b5a361f9c7ac007c1907ef994b3d9b89521be4524fdf85e9b975898e52cdb28998d3184de9d7775a013b0dbb5f390b225ba64de4e3c908f8bfffbfce78455cb1a6daa10460794eeada5ecea87e6bf0265952db205da186a04df79395871009371f3aba2fc527589d4f07a584fa1ea80a39bcab25a40730e0be7832dc52e30d2596d621b1499b34c80ba57c0fa9987ed73dc3083787286348605509651914b0582c6732192cb42f52b44d5b1176fa9ac174183efeaa681f1d201b53e9f209206c36362bb4a018a1e1bd67b9c0195d4b4a1af6feac1ba6e7744d7a5f7a95f24a9b31eb971e2d13c05d3721dafcc9367f07442cbee1e8c82af3c1a3394aad01d4227a7ad2dd8faa35a4a014fae03410bfd9851a140a402fac652a3fb143bfc996792ef6bff3b7f25de4dcc3e44f793852605a4730fa19738d3ef52d1defae0b0db946b1de895ad5adcdfe896690e915320ac536b10f842da22de01bcd177d5db2a9ff771518fab1344a0479b854f24f4314edb50319b6dba8d92905f66dd126bf99dcc22b3cfc0cf277a56b4f300a4b61f513078f4222af881beda23a2f9dc90974445ee7f3051ceb25eaa0bdd6aa4e95ff9594ba4d447b16c5df5a36677ecbd6f8335c8dcd119045f5fe42263942e0704af2d80262ea81d8f571e29ed64cf38373794705dd087346a1a4dbe4e85a39a0958fcb1c9c8d12c7bb0b933a2982d7a84c6f4b76e6562744b3141caa0d479675480fc27075df9a02af3081ac971d6a824417b3a93840e6dd8f85d554f5c6856abeb28a8dbe545fbc3d994df4f89619e400abda49b1d469f2524936972580255dc089b1209179dc626dad1f9f9eeabc9c841b2b514ed345d9ea4bc01359f5a2737f61832eb75f1768bbfa749eb3b4424da6934ac714be3cfb09b9df2b7fa2b2cfe66d2ef571e86dd1fd42f51d0f0cc6405b5deec6cf60412f617247ccecc5b46d13e8bc27376096772d8af2b7f1c71691378362b674cb660f738e6173c9218e60c4e13d7de010420938d24b02716a1d4ff49fe604adb2febb24524a44878d1fd54f6a7881454927e9a347ee284d982ab97c5ab22e5aa6090e63b56fe7ec1fc6baa7922914936f19eacf2e068010ed7087e7db661c8d5b33572ad78cfe60ca22876a8fe8ca95297e555cf819b5c09097c10266e731d64c00f68ff205bade76f449e96d61c272c0a497cd43fdae02e56bd6c15a9426413ad89e4f805736de8a9bdee1fcf5f9840809b632a122a8a7232f920d702977f8edc64c898a7da947360dab0acf9841d17bf90eb89a45798cbae0cf8d32603756e0003646f4240fa57ad8074f973c310e4c0490f1f61f63315a07db37bddd562350048d96e13ce5713377c3ec36a240c494de52a92850d921205ae369f4b65a0a8db596d031bbceaefa62e6447564c824b776e48075ec2b73b50d590b086f45d2f92641a4190786994f42cc26af584d0b8493970b24b80e58f82f6f057d9b768bd4bdf42b937da34e28f222c773923cfe3b64bfb2bd126b80263ad16f317b7afb25a32c2b8d51f97df481c67646fed7739776ebbf38ade97957db4f2753cbd9f6363c9409e32fe006da9b9c3ff0ee209237458562d46b312140b8fb66c866afea95a0beec96e4eafbd44990ece0d378367d7f5ce78b52c0ce612eef57601052999959fc16d90ac5a00dac8b1ccd15733ce03d919b92b4650d3ad8d9a70481eda1619d254ef06bc0bb111ce0a8b517b2e34dc2a884d7ad0c9ebf1333165a1aa8f71b8fef1291755e18f9af5d3b7991a5dc5fcff26ffb7f3da8f714ce6b11907eda906f9c80c715c63e497832b394353bc2780c1d6e0d56c02cf859228a8ca6bc7ff0e87da76e8e08caee40689dde1a8ad1294f5a4b62001779ab81fc699551dac2119951e64064f880f7435b2d7ff40911fd1f2a0f507a3ebc6e0cd80a34a71d25d8e649a7626687e6ffa953497021fa2bb9b4707b7ecda640ffc80cc832526b7051e765cdcfb542e0fa94c93df17e363ae077ef331b928fd45df49553d06bf5a7156d14148fcb5926b77b6a1630a715e65edcff10c44dbc70aef9bedd02d0c2d54f624462a66fe16ca2adf23eb65f71ac72d9ddc4b119446dca18f08230e936cdbff467db08aceaa7e13ac36a8bd2e42750aa62e891eaa7ce3207fa290df5a3a8ac732dacf41486f6bbd44ccbdd20c5fc01a48111f67849977ac9e7ab6592620515633ebdcd5b609ec854e5ae431548f33a9d93b75613fa899afb089b641d38ac7ad3ee019970d28ec64148565336f731aa0be05cd070fdb920621b32aeb8efb06c1d10dc6d4a42a57479475ea911d846cc41211ba63946ace5aae5c55f5468f8fe3b99e125ee58aa05821bf2b0881818a0b16c1b18df34869e729b5c64bb31b9e59b2b4f5d6082a8c214ab2dec8ee2313eaf738ce2b47695c09ccef333360699815308ad5e3fd0a44bbe984c126fae21b7f18c7daeb9bb5ae57983794f15e17017928ba3905de1b94986fb872056fe8ae3082b0ff0fbdacb7b2a288c9146b541558e8488d95ab052b963bf229732e3d18f3270f7989c475d4ff2277e77d8551f27536fb1b75b2ed4cee9e1d58b2d7405317311f167a5c3f63254e7d01e5443284ca11d9b9058e93563ef4fc6112ed7f4f5e6b0ac5180b17491ea1df7b8df7b3d30663df2f219912f51b3c7b0456045fd4f3b418bc35ceca254e02eec15cb4e16fe434d3db7ce3d3f405e6aca08a13ec47caf0bbe0664a588a7d7b2ca5742e907f545a95b3bcc67b86eff05629ce6736e25b9244bd777f81141b51683ee72285598046de376e356790374ef626e1cb314646f51a3a2149cfaa96083030dc612208939a2602c28d1b38f7908ad3016a8eeb6f1845e53fced0004c2ade9fece1231b0f6ab4204402f1cfa18d4dacea4cf62207dca27e3b57323e915208b2b30c2655185aa7c9ba9ce5a8a2ef07a3c2dc534ede56fd6ce36d45b62464c762cc520e9f0d1e43bfd1ff053162f53889f7ff12f6a13e11688e9114a9f2cf896f8dec9a18c9f7b394235eba4088fe6bd763a6f6f1cb110b534570229583e07e3daccfbcfb436e45a6bb96aeec1f6111ec32401bc5e1b139bc35b5698323d0d024769c4ec7c4d752f268315867449437ed2e9d7609f50e573346f5e01f61ff649124df8aacfafc4dc0c1546581d76669f7ed0066a44c83ceecbf1a5250efc5330c1713323e6ff5f58ad4f5eeec196258c45998fc090ebb834cbdf0cf786cfe8918d96f98ef72178b7fa0ceb48f3cd89ce568577a108b6acc05fc853cbf50ab265d3067b3a577eaa0db2b62b20f8af38de2a3d087ae26caaa7cc0b67e60be918e64936ad878ce578d4f4abfab6b7c8699abe8ad6608107c9acc41911e8db4069b099f0b84d82622e28714c5ed3b28129a37fc64292d38c81f51a69686bd96a63799fea5e30e995ecf06f49aff383115ff3d2afdce2cb45bdcdf98b99d7b9d0894d0c456db946a6ba680b813f5315bc6ccf7a05b9c5fd402d1bb6f8320b32bc99c8e666b95ef1b40cdd4b9b2641450255f834d3962dbc3aa97ec8b6b192b1083e54616d3759c51b4e8d629f14e3b768417491a4cde73c1fd2df181a866080733c99d965ec971e90f665d0b3018a2dd61cca775cbe32e67776c1edd8d298b91ad494c16d123bfb14373615846be6836249d2a68e7999b1698828385cf79f3d629b245599c829e72c3c9eb506d1e9d46e019a5eb428ad494a6e0eae1aae1ac1e19e91d7e3ee6d02b237c6f2fd7cd8055e025772c0d62761fee4abb267943bdbed43ff846cda68c7f283640a7dbb4e8842cbdf83686e42b88b9910279e6ca528c83f319a7625baf90db84f552df7c00e9bc731c63587484c5eeab85f46cef95a32d3deecc987d5d7114de705380f6f08ed566dd3975f5f6ac8975487bba0f15364d30a3a6a5b91fe91c0bf9530aa8902a3bc1b2796ffa062c18031f6d4039dfd55d990c3b0a954b2e8ceb21247150c3ddbc0f769355adb3598cc3392384baa88c47fe4aeffa8e9d4079d5031867527895a8b1957f18414167ac7e26ba96faaeb131d7dc4223d5ff347e544bea8d3c1427ac84db52853255cba301e471d4f876fcc766754bde3f37fac3cfa6f1d1c4e225291ec98c7ed5ae8adca7d04362f62f1784074c46ac286f538406718b9521477812908ca2e78fbcdde0368b9be8f5f4e2c7ad18b2406e2868ba2a6c48a69803ffde5831553ff239ec433d7faae92b09df505adeee35f9b1932942f87df8a4c30ade46d9d0d7ef29e19e6e346090efdbb7ab90ab453f427239f2799d816958b8dba1c03c4f6797f234c6072150b03813d3d7261263806baddf44f95fc2dc7d938cdf90908ffe5882a80ffbf82a964dd4577bcfb75f387f51e7f19de185d506d3e0599eb213b2ad2522ba0a6a6050d19d87b5ba4ad0be72db61b4c9cd0ff353e374a43e8aff6bf21178ca0d26c5a44b69db3f834e1d6aa0fd38a706c0af5a6da48abc5ecbe271ac7599dfcdd43153d6747e34cf62dfd683c7f61c7a3995bf50ffa6e61640e79470ef432537f543da6438b8c283b7665c1a580ee3066afb98976b196efb8d750e04943a7c375cdbcd81b5dbcd0ebcbc71bc697cd7d648f63cc246fdfaf7ecd73bca8e5063ee7101400b777ba1af064837126a4ea089c7144bb55b0009a43943641cff9653a041f6027a3a806bdfe9b2942d5982a5057a64182556280cf4f9ca86b8e601defa515cc8e665a5a006e7e5fd2cf64be8fb84a1b108a36402e0c02e65c586e4bd653e215b561ee92565a6242a87ac950c0fbff1eae07c89d8709c6623ef0553ef8a5b22cd8c1b750c2d6de7561584edae9b8f9fc0bedd31c7c84e9707e07d59b9e0ef3803e54a3c384ac11d2669cf71fc0a1ad3e26260f1f0a9fd1945ee09392dbfe1e38e7d3e0826e0f0fd9e6afb46816013d1ef12994ebad6b28834197d283676e6dfbbd9e9979899e254e4f7bf6cbb667a0938e806868a0babd8943d36de36254cffffa9889e8fafc9a0d612b5a5accfd5ed6a29650bd7f9935d2bf10caf6e83a1220b906b9306d4359d1c82c3e6890742185380bf1e992d755cbb159824e92774f67348fad4fc4b30b57b0009eda9816d0da84ad56581f848fb446400d51e8ed030ea93b7d20120f02c42f2c57cea9a911ac890fec5883b5cde3600011ba3948fb18dc75ef24c4036bda0ae36b94c2c07ab02e19641ce397cf2cf6064b507368ff14e81c5c9bb109156948b39356ed0e917ac494c0148ce25c2b75e8134d219b95d3bfaff96c464c4c1fd95f6b58f231a7691e26560ee536998e035d20f902acc38273e027ca3e0381cb6caf8154c073749dfa5e83b8d6371e414317200c0b4e9cb376f259938384b0bc09e599f66c1144c8ef9ecffd5fbb2ff4ec2ca9e31e0ec4bde907b2f1504b41b5e26b2bd08c8bf490710b455b2c2d9715d7c8201e9ad65e14384a87593c4ef872faa7e042bcd2199a225c28ae50afe6768363734210f73645e683fb538a01346c786efb63e033ead3f8e3e50cf205e8dadbbeab711431c52cd1261208312ca9cad2640ece3496c15cca4edb29c2f65616460b85e2c25244248f66f4ba313d76720e317eb6b1b561ba1e5cd67e31c2328cddd7b23b72c439b90f35b6aa9cf4aea32c964164520f1ec799025c3fa24e4b357606bee2048ed2106eb5f1feb37e95ad85f187e093513aeb127b0b30bae482727d465aa4b6f1fb4bd635a7d6d870f8ed17b18f75a6cc3f2a5ef44515d26e1490ef225966d41ee08569b514e64d8457a253ffbcdb922f9078d80820b23e39ff82bc6d54bd523972992ecdaeac4706e3562d49c9c5949b0574bfdd128139f5c795fb608f77f457cf9b81116f0578b20e8ed2d60f4aaecc0aa28bb5033a39d167063912e43fc1c1c25817142bc2fcc67dcc9369c815d8603422f1ce04cd9f640cbc5ab48825c0c1a51ec8881c2b1c16cd9a01b748afa7ebcbc758091a88b174823f437d4cc1b3d46ecfa01f5dd71af8d369fea69d26b6582c55fa955419adb81a3b44e8202b5aff343ae4b269df91059bd846e5bf024be79f73f3b5cc2c39b5c4222d2bae2ddf0bbbf0c444a584433671fff540bdef6fc5b17e80048278f0ead18a618b3305864785ba0c8c108237147fe4ebe6ab467610f423419da50733b61c2f878a7ff9ac352046e7c9e595b4f0cdd7b8ae5c59d950b6ad20435448eda8e76b9e6d2f6b594bb794c6c14ab23850ffe13cb2207dba1c037fe41a803303883aaeec1407052f6038c4e6722aceaedbbf20156eeec157f8e2a24aa5323bcd97ebbb7d50056b70ab585f64733b05e638a24c8109ce4cf08192fcdcb94fa91d7c7bea9fe6c5dcfd1ec5290c272da3095abeb567f98781bfbb580750739cf190a30dc4bdeef985184c790968fbccdc17484c92a3bb82eeba9c737ced8c887562a67b7035d79c93c4c5beb4fd2fae2590fd50b7e65a9f752881a42d77590860810802fdd21808c61545aa687f5b666c07c49800b2c13385feb7d6fdf103044eebff915f691d64880f1cdf7055efbec3ab993b4762c00959ee71727660a0803f35494f1c9ad1b3d989cbd9fbe93c2aa53b405aed8f5d04913fe27d094e105dea0207d144939c17934c0144e8c9077af4c75c2f658e2738fe2c40b4d8b8e1ad4f272e12e2cc30ae1f0af44fc0c9d1c061f1e62c0756b822701c354cdfa85fe2d9112fedcc0f44a3a36170c0eaeca3cd6b16670b760585ae77faa76401d0b5c6e86c0d00ab0db13f3ea525ab3e8559327a511150aa033c22568a38a6ca98ee40e25f60bb7aaebfcb5e6504129f92cea011dbc8bf1ab05e336de3e932901fa4a066623ed89800eb41d4ff2af7230a6c74c4012e14ad17bda208b9b29bcd11dc66324485d97971014ebdabd8cb60e48da2afed896c209b2904c7abba469bdfeeabfc6066a139cfb3791204d0fc4601edd686724b9647d9a01dc4bb2e746b2bbcea8d3ea43211e02ec30ebcf4a0c0e2d4fe5539783edf864a9ca4d38d2b41c488484e5f0cddf89b6c22c2cc7c08a2fe6a5610c1db2f05d5cdc1cf4bce02457a95f48266f6111fc14d057346f66d338c08139edc755dc4e9669d13b6667c9a45c5d499ea1d4a43dfa46befe6fc9d0d556d3d704cf64d4a50601b47ad911d96e085b7a7fc3b40f9d674c16a56462e829d007afdf608270044ca4c9cfc420542edbb810d4aae5e2dc80efa6d36ec1e042b981409fb8d5be072344e8626984d19f34d3ab08963fd79d633e92850a175d97c5af4a041cdfca568bdd0842b759d991bd6ffda374c1ad22b008e5beb7155288cf28a0ac52d80591d4aa0e061c39e32eb7a7eff62c451c63e6e772754051a9c238ce69c3bdf6ae7ef13e37f749395d2593a9e1ab6c0cffa72d43df2d5db0bd0d11c4b750bb5bc17bc848bbbcbf0ce4aefc0ece003f4c419662c987de080a91348a095e872da3d7ff3925c964b35486487af140607cd5eb8b9525d091d7499008307b6111de801e6cba095e38891c806ae833046eef01e290326f6bf3d032b753a3c0e139b56d80fe46b549e513195ec63c88c4308eeb07beb080a58ff1d3fea2ba674ee1a24ceae4239456673114898d6e601c7905ec01f1fb7f95a108374cd47b94216233b8c892b9b009a0b62d0d21ad7cbfb5151dfe6d2b12be83f4840b5fdd341827476545f5449cf98366283000bb510ad84c522d068ead95f96dd10046e9ffaace9aff235f082027e7866343676373b3914fd8a94b52606757414c9de860ea79366da1f9efb7179c216e56ec77618df8f9e4ccdb71e1890944789fa3e0f6b1cc154704ef8bdc7478362eb0a6065df6473737cb372594d17b66c757f49f0eb2e62b5532c7889268206894da81732852b6ee0ca47d3ac6cbeca6bb6a2ab0aa840938cc6a71dafc2539c96fff04c0a710b27babeed9b4a4adcd52713895938217906b68b6940a0795fe256f09d69182e4d1728361f009a3202183ebb65f5160c8c44104a79517bd644e4939459ce7d7f6e7049313ddcf07f85b88dd13600cca554777c615ab86795fc496f27b7e2bc788f08e60c31382555baa80c19396c06321deed61296c278fbbd4faefb309e0c550be34b9007a0b632b7d5ae69e2c2a56f21932e997a300fd9c6f0973281623e5f56592b403c02b4b3a99d53abb9658e71a5abe6b37ded46ab468d940f6b107ed61bb59d942100e3eff55afb3f80f2adcea8d9ec6d7fdf7dbc50f3a17007b478bb08b4bed4b87a0e77935f11b2578bd8fc2074af8afff9333a5e2129bbd8c9def57852771104596e44d9d6428b675abd582dceb093a517f32ea68303a558fcc07eaa8b40e975e7d2f37466b7699d8923867670763dd138844b5dfcec3c89ad93148850c63b021e284cfa42a1f6f8389b9935c4e5bfe346deed5e04eece3db1f17a0ba501484cc438b8617c27948d6925c8e1b14382ef2348390a393522b89a8d5088d50e1d71384f078ba3847602f29add7c34bbb8ccc3bd2d15bea002ef97d3abd47a0c3113f234debba516072d0d86bfe6b7c219d60e0f3ad58fe8b760b216ddeddd797bc7db3c8446c3d0c899828b9035face1289058cc97c0f5f7b0d48a0f5de8ab906899b782c257a59112c4dfb250613802e6e0a520c134cb5e5c5a78cdba59f773b8a1004fce33da43de403d0bfe72d8999b923a595e771cf9c291f1ce8b841ce6a99eda0924daaf1380b23014c843049d36c2a3dbdbabca7c9b609c73820ac6bc1b4acbed580acd6572e306cfdf185f79970e8a98987083dac25d2ed74b754e69dda28909acd447947083f3c201a47994d5c9e7d3bb6bf71f4e27ecaefab67cb92ae6401e52a9925af5c713b070c9d2cecc147b090d4c2abe47352e315c4f25f3564d9ea6d9784a0b148dac0b6a61b8001742c6adbff401a58a40dc3cd1204bae49127cc0a6d5dea55fa499748a368b92f805d51c3bacd4233102cae2df6f563ff02a52740a5c33118833e631342c0b0626f59dbd6bf83fa23f8f36f60fa7a0b56bda09af521aedc921a0da83e92e8da0080b4214ac447b2c388044c5ce8fd56b7e2cc7e29d64942a9a4b160176e6c5d3c62a55ae4f386f4fd334ea74ff91d98acd44b70a5103ef6e30d8eb8e064bb42483488ac1589ad11b2a102496336e29c7d51cade1eb3cf5519d9cf950dac0bea5cc558942627895d89775e980f20bf0551a4fa74f9d0b9c244fdf141efaad10ab9f995acc3717ae4ae0676fdbcf292e8ed7c436288294a2841b71ed37ac2b442905134d6f323f51ee11006d500f443ddf42fa147d83a5470ba67ccc4b8097674e3b29da8f83d82e214f532bc4c885dd6863990eef49b9022e000736014161e773dd92893c7e42dc8a6eea25275618deb244f66975f41d3830d5e82119c3dce2fa152cd614176fa6ecdbd63c394f7c7a3e8f72668e6a3c7541d555c056d0400f53a49f801d6f285c122a6fb51e93995dbfb78fbe9acecf7348311fd8e1e85c3c10dc9c754c84efcf37f821fee73bc507a99eda222bb79302cf495ff17c6bae20f9c9751613dea064529cefbc46ee16313c7d4d8f490f6f3ef527ead10bf48e5f3fa28baebc8bb2780f589fab32e638006472cc6713f8bfd093327aa57dd47ef4dc30f78c49f79a314d1461da6a88747337c804f86584504dd97123c482edc5dc289ce47d431a71dd4e4c9b6ee852c97bb1d42d3d3eb3dac2c7e37e8ef308f83d18bae985b719a8fc3a3c6c8a51f5cf0c1c256b3c2589ecaef2e71b0d33835601ea1c193f558f72ccec72c2ec9da2d9a7761c0607784489e72604091a235b7bdc57617165f4aace2f899b03c451f92beffcfae9bb9e2b0643b50d2d06aa707041c25d251b345aef436897717ca10be47090efe65eb033ff3e39a16a63b546240829734edd0c071c7a9029f16a0f92f44afa64b9c85bb57b1b9c7c7eca8bc0f1791a1f11e4425fcdbc8b451735496e75edc878db4f844fc7bf876d6333029d6541b62cb7892e3292b5fe31cd9249104e4f5c16020701a5d98eda6b6184872772777ffed4e8183691adbc43064a5ec02af3d524eb30bb51354287c7121265b412dd62c8dfac3dc4647072a28680e95168052197f3585cd185d4fda0acb674c9c9cfd77c8cd9126a1cfd698ae7f3acb84e6bac66cf2dd10890005d51ce47c0a3ab3a99832e427100fdf18c271a180ad651444d14725ad1ea5a598eba4bc3bffdb8c1a641ef4cbeb7b3d3c358717182f560733158b90d99b5a65a2200e82f8830a7ad912093666764c4f6349d1fe1d807bbd5c37afc36c0383564f9fe9f91bdd85daeb17132b327f64d9c35d0ed6f24ce1c7668482ff4ec4f93b3317b8135da29b3b2732a8af17b13627fae27b19f93197ba5e93773d7f9d449314ee47b1910dad6172dfc710c1a390dacd668c796d0eb0d36c93ad0116c3ef6f8639d8e70328bc6e29bca760ba10679822c262fda35c91e9bc6fe09bad8363170329be0723ffe565541ff2d93fa962edb581ad0f6b54c91b885757e64a39c13e1aa1453bba001d164faf721363cb56f0f26df8b376d8bf32663db7653e534bfe572bcb67c96e193b427d2ed37fe725cf2307c1e1b9a91664ed4756de6e1f45797f805a9c4604000fa953be69fbb1225bb3fc9353ec9e348eace92c08bde96e0027a94b5e786556012bb2ce5a7d01b79d1f81200294ea7298ecec39091ef4202775156bb7aa611146660f017b7540d97bdea4c2f92dd07619990eb01f37ca063d472676f2d7ce39a9ef80d0b500870bcd3f9cb68f49289db7cea6ebfa9df98f5bffb0715023128108280bdbbfe894ae0a6be2dff87136d8ad6c40a21a7fdce27d480f72cf389c362266721679652a54ab4ce40d15b1c8aa5b813c04d01816af851a2cd971b8d2f31fd9c9a812fa34ccff0c663c3ccd3d2cc4cd9d8f0cee9d188b14855dc58aff8ec34eecb8d81ee555b1eb08774ddefa540509958566f9a6f216054b3ed79c614955653b3ba33b358ed9042487fef496822adafb72c4b8aa95c406459281ddae84915c92ce12f048ebff48ffcedd6e57b55a3bee5d50d532dc2f295ce8b0f9e1e6f8f71d551128bd811d3731c3010ba1336e7a5f2438bee8580df6fd31f49f78cfbe03a0c30f94ea1a66ee73ece22fe7d58544e80c9f852ef737444fb43d79ec82dabd53a37e6686041e3583ea16ad9b9bc6fafc3979b49b63f4b6e6daa77c4e8d1028a2ba2cfb389cf14a4935b4a004f300f2f2d74b95578f887f54e71d43e3e0a462baa6d8cd376608e503cd51b5f3d261fe49c63e37eca595099376052792515bbd6951406e73651e25144494299e62cf72e9979cdb973526c7828a92aa390a94703e645081e9406ad3163cccc63cd2ceccc64d33fc37d1d4d2e46ccbd4c7259af33cbb773570ce2da63a7f89da0477001bf5c7cee5d76936de602bd9719f572b3d26926f77580fd0d7a0ec489791630eb3de5b37035d434f035f18e48127f529a7b11e252f5be83443a8aff925ba5fe83229529b98b7f41207e169aad6aa42aed9b7a2f499ad801c42d8f256c771814413d21b19bef47d5bf63574d1a4400e318bc613eff9e45782cf96a26a565467b2a98177b73952ce56a12854e3b65a15b821b182eecde90cc08ffc94cefb3953ea4a1c801376e0be5aeae8fb6edef605e2e6304b690cf9f461e491ca4ffb6254cd12661ae0b67a044a64a862baf2b9f8117db01cd809006a69eb3d0b3eaad98ced44d1482c091302a1cbef5b500dd49641372f933003f6959b343b5d0b0fd72618f08df0d566e9e6ba9e31619ff6fc2347b0b9e3aff11d98702b2023ce62d1e7ce90d328b18d98bf86f3d4ec7e9e05aebf15bc33d0d18afecc9671c0513175057ec2c71f2563989476a7e134cfaf1bc0108312551c126df107c41854faf3939515387165789f248e15e12d53f70c552a80e8d104d3977a58d3b41b91751bb276d6d18952a92867d30060dafdf8a90269cc3ee4163710a7c9a86afce092ef86fadbb20a84e35e7a4df0a43a3f04a40c99006110555ac8a6f590ae1b60a71ec903629d11c267e041f06b2c651b4fee7b764d3eee18e6838cbec1df5e218979fab2a0420171a2f62a829903a1e3d2e943805e6498efdf85a40a9e9a937d96616468096100d2ac1cd026eeb6ef22326d09af0bd1bba74fdcf282774dbd858fe4f4c4c41a297408d26d0e0a6dff22def0dfa32b002c711a203cd2558890ca44253923243543ca8605db926ac6624de2476b55677cd634ea4242f2e3b1ae9d2e30f2cce53d8b862e87fdfb9224a6faf2ec6e0bf9765ffabbedaf2c48b1f8f92bbe20f68e7fd14db5dc3afd11a644843a61d7da4dcdbaa113c756117930595a1bd1b886c39d7318b85cd1d9b61c364e7d146180343e3f9a8ed256c3359fdd30cab8b0ff99f307f7d6b2bba851893bf97bd5f9211ae73a012ad0d7335c88a10b1a64086721182ab817e9223bb475259c683d0836f7ca8aaa7720740f5c00d5c69a17feea4634fd8c74a01e0179199b3c01b7c1d3f73ed8d0f3ab9ed82dbeced7b7d23c3cb8e6564df46a6fd5850a2cf0278109328d04e008d130065577ccb72527cbbfcb70348604fb3a260d9724b1c955a27e2bcabdca425d8fb659c42077e54b304b55fef9785d6a5ecc38bd38677a9467f29d59411213b74bb0f31160c8925ed8f937b672c60eca01b475867c7dfbfa0f9d94ecb461d0038961794b82ed6132e755d7ac80f8cc52949eb49ae5d849902e4f684a121e01ae20d2ed1ffe3c34e0889c4d4c061e3d89e927a0c8a4eeb1283050bb4015457078c2647bfe5c506a810d667e5e13ec500c3234705ce6e188be993c91502a8d76b2ddb9723c7cef2822d24bc128394fa02e2418e07a4569487412818ced1a677f57e84e041d1c3b59e8d3c171f8d04f709f1998750344166a38396ffb44bf835922d54d8c474a345eb60a1f21f1863a1f45f81f31137fdc29dbee8ad8f6916aba9ed0efd4f70972d5e9400d075949a87aa333b1bbfbbcec2312fe6301001b4d7a278791c7483a9414191485212f40679c2bdea345bf188fad18f5f34f6f949bdf680ea89644bb4c08f16aead1941dbbaa6d02a2b6b1e0d55287a3671a899b06044399ef97df6ffbcda1ad68c4d71790278b6a0464215b88c027afdc8cddd2a9878d950aba0ab0c90fce6a2c79e67af902b0abe53e7b2b5ea95d13297cc0d6fe258ab2108fe4139e66f8a93f4641dfa461f73ab02111fb42055faa281ba22f608c1a1280545fd576e5da6d9e41cc5dedb22ef8e1abbf6496d16e8e951df16d3a4f5269d547444648e9881b7496209f60fd2a90c0e7d55f48dfaf00f463102a93235bda38792c96bb501e3dd0313cdee2f19696cb40254f1eb234ddf72d06bcf15a6ea4be76a80f9aeee6d75ca8c2ffe943021d8ae794a7dffd23fbbcb3d1ba2f14a6daef77b4617653892ea5a609052259de2af1360f13bb5f64c4fdaae4c9cb7902e1ab6b517167c6084a7e3835590ec9b9d8c29135ccea2a663497562389eb2c6943dc9c5f62b1e7bc6c53ed7a0c24d06b05d765d9d20403a2e094537d444b7891735274025561afe23cd9a8b837a7ca76bf55c787faff44cff55e28fd14b6d3d17568c406cd1b1329fe11d1a0c6667bb3b108f44267c29f28a51b2a1358c4c43822402c6a33497bcb486b0216fd6b8702e2ddf275c1a2b7fa0ce64b0bca1aa5c49a0fdc39227368971d29bc6cd17b695afb3697d49eff174d61e39d116ac1f536db4a9d0577da6b5ce0627261ba06bfdab3882e6b25acce416c0decfd355f0b1ca819203524f4a1b4b886851e9d6b3c993ca9920cab262b1f490178a40b649a86649527d5723b10fdfa7ff3643d5d56ab8902215e40de3ccd51e3bdf2afe3ccd1edc5940cedf5070da6926c111011556cfd364e45a640fe30388eddc9a944f3237e2e7babdb71b9d38cb068fa58e50f2fbbb8763d2028d623882a0990ee4f1d5ed88b00f514ee3ea7fb1cdca6542a853e88f738a80d76b32da22d4eed02e972cabe46047f99578b4f2d2801db0f0f8d8a30bfba7344165b8752370d12cdbc6339e96b02a8a0c7ebd34094b481f2b5f431175852e75287183070d8bae1e13461b03aa0504dbf4c733bc6d082e3d81803155ec476b1f422a22cf7b8157188a5027cdc3f152c5f6275eedaacc985aba59bc08b8247c4091e96d6151eb343cd8d4588382d0ff999540ceddeeca79af2974fd0805271f761081f3936152c1215ba0afb4120bb9912e1aae298ec8eb44d82dfa646c078ca26c40b0f6bb1b6edb247ed829dc65d1103e5b4a9a91630ebe7279ef0ecd0eaaeb311a0cafda7dc442566ca3b2c94aa4d4be4cbfbfd9d57aee1c2bb6efc60b497e14185f3b6c17e5ca4a4750fd39297eab1b820afe5dc4733469bc6af2071755a57e5b55b0467a9d401b6e83857dc6dc8ce40f022b609b808c6bc00358e540e98c8592a17201e9013876e42642f7e2032ad66002e833093d2ee498ae30c509c126ae90dcf90b71e66043324b8ea563fabfe3860c5cd9526c7561bf75c5c13bfb526279ec711eab69bfc9935be787a1aca0dac12f25ece21ba6b503df8e4fa36a138abe540920ba181f9a200d3279e38ffb0272aa31721aa7cb0d88b015b8163b45b637d7b09c17aa4e41f39e0755e08169aff79792394a40864ba6e0925a7ee1224e7be230acff8f5f2e61138a07f77f4f62a7b03a2c3c922883a0250cddeec67c0f03b7e627840d78825dbf6aa6d44e6b70a9fee912668531107e314cc2b3b49711428368fec29d015c7413f68309e77aaa5ca371c24ec2605e29c1b2ee934a97a9d8668647d3a67abb4248bb9d3b4dbdc4d543af7d0e60301b5e9124c128dc420a1e2f1ee42f085f99e360c9d12920f8216d874a5dfaef7d7aefdfd48b11ec2a5f072a84843a5964b85c8be0abcaf429c5d14936f08c2ed01b3a9b03cc2dbe54cd603e38bc2fa6930005cb45f8648cbaf55d7d985376af5a0f830ffaa55a97ce9b56dcadcb292dd40107ebe5bc12a44db7d8ff4fecd12819f8ca901fcfabdc4d5cabc319dbe48f2e6492d49b36be42b1c60469a1aaf34f92f3efc3d3050728a770124d28ce55b39c4e302ea4586b62fe7520a2ec9f6b29fc54f877e6ddb269b0db18c665b45ed45f2fc7e38eb6a138700d75484687ee458dd9e25cc012547d44ab7a5dff786e5c9b6d399eb182182ada4352fd3a3fa113fb5a9e86c8adee53d6ff8b3bd056c0095f3e23574d4061f7bd2eb836c0e23e307b03a296abeb629aaa880896888213d81cd3328a2c4d687d2fdc2cdd6a68418d07438cf8ca3a054d4ab474965cdd56c692248a12a2c8a990f86c459c870ed1f573fbdf5df1bc8045a5ef98f5651d5f2c93cd88ad5d92815614e88444f6917787e69899494cda44b85bc7fa9af45cdaf1c4beed88c9f9768907ac28f0bb4ceb26958bd089d67f242db715e66946c250c282ae14a7c2e8c290602ab438a6a10f2324d368358adcebbbc5bb19880d4a8a066345fb5aa1ab6103475970af52dd5235f92f093f805d00d01728326a057df19debf17eba88067fe9b52ee6e65ab54912ccdb69ced7b30337b8697ad25ff30ddba861ded5037d970f4b74dc64b7f618f4bf7ce5b1e7ae53de1bcd1300dfb345e5fa713102e1d17ff2b83d3e033ffdcfc94f72319cab06dcd62d100aa61ed8e76658a930705a534c5e2bc04d03a5b75454dfd5e7bc02a4c2b5506ec6382509c19d4837e1cae27541c5297b8a953faad7f78c7053b3f4e265608d4dc3d227cfb39cc372df89e140ee4a6973fd66d7b77670cf06222f11e8d3bfff810a7df2ae533760a04cfc3eba606007d222e9e30d263f2c8413272758a5d777c50348dd42891f08da95e67ee46b565431cbfa29f63eab674fc58e228ce4e557bef09407dd68fe2375b7571139629e45a277291c26cc77ce4e6ca3a13d68165068de24d32271c03f2d7044973ee96e67f3deb28bedb0a9ea37aa90ebd69d2e16e4e0ca91e46330747513cbf448b1a448119d44ee0263e2d016b2b544aa2e4a2d4d99fbf69c7d898a1fcd58433e55e82e27e25f238cfcbce871edfddd3d067b0912b9d502543dda6dc214a5dea9f8661d4ef501e3dfaa6271342f39f4b32faae58640e154d018369de95cb552b86bbbfcdd4164192a9eff415e9cb88eda0c1b013b32f053138090b20836594e35e8a02ccf2ae67294741ae5c8f6c3399e88110e4a1bc9bd36bc8856eee776a3b0ff1257b27c7f5e12a7117f14b404886f144df7f93c996b3f753768973f69b0bece9d5e6349c0506f2300f191908fe01d9116ce26b99e5265a61c9c54143d1ca692e44c1a52bc637b1895d78456da1bc6b3d738fdd6b729abb8e45e9669ca42cf8427d5e34c2067b94d720c31451da54c06a017ea8891cba39c866a32459fb48a66b1812c5130a9f42d142e691ec95fd434ec9af6758c1bd2ddfacdffab0ce1208ef7425d69750e4f34bc67e897789dd4489ffdc6e27db3a9d843b19d3524dc83da80aeb17a092e5dcd4da8fcd85dffc0e62b2ca4b525987ec1884df3ab79c1ca66b8e17906a0c0d74cf43036eabb500d2036fe4a94b24b75472cb58ab59c6db6997f83a940e1df5778b1c5547b887a38bb61128ed9eeadf6824c4813258a3628216b77f9a4067c4323813e96ab8a1f6cc57c2bad94435380b93db55a65a91f572d5c7de015b21a0187301bf7d7e4cc62af4b2e0135dff3b60095776603c0652080af1b5073ee22b7f0bd153927ce0951df283b571a60101e07d565aee0ac69294a424fd2f699cf889f8270feb7ad08b7add10b1a4513351989b2f953d89682b0b1d7e0f99697d97b76319e3c3370e3e627047a7f5b3cd8c857f5a0fd756cda1aabfa9e0fdb114f53dc0c3acf4442a90f7c05fb3730af4b51ddc336518965d67021347cbd527cd206306a6ce1028fcfc15a825175eac7915c614bff9752aa861c3b4382ce1b45ae29ca9db63dd79e8a8c95e4e1d7e728d8bd3cebfb4deada3753489a645f23c4a7c6e2cc57f3464056c9ce578760ca9ccb941d5874418f6e68bf16021f4cb44e18911b1f30edb400c76419dc3290c8a52e2b61b761dee8034e7bca5e8cb9051646f2fcb200fc9a2dff85ea44684e0fbb07042bfe60b47e372d3971ab29007718dc6132b1b02a284c55c5182f394b95d132df68f891e74f2bc951b6b9c64adfe8ffaeafce9b546413940ef4ac771e2174f20135101e5858d7284b8e16845a9db38e71f4d8d082d18f80221da4231e53e9b49dd8234d110a4ba620d33d4415827ef642a10c2637c95c09afcac41fb88a0dee8c3108a8506ce027ac1e32c8d80358fed9c6c8cf9dba5a2b53f46f43070eca48a98355bef72fe0f7d751a66a687810358ce35a5666172d1e7b75bc48ce6bbeacff65dddf7efe7055f782214e15d5dfbcafd98909ab2a925abbf5506319b1d02db707fe9807f1024612603a2c61e795c42621d71c7f1f3d6192a7692e8f1bd5b5a47ca85f9719c300a37cb20f515bdc398e202f85f7c1aefb79300ccabe374901dd63758144f74429a811aa07f28623144bb1c50138a10fd7e11cd947089ba6577e027c384b55a9eb6f5a63b0bf4c5bb1b497ff83ae4e22ef03f99f94337199965ec814eb67cbb0276b2a4a6d9003d8e548e0c8ae554ae8c99f4f91545daf2eb02b73661cdfae526061fb8dfa92f10877a04f5c938add89a694a17ab254fe94c0a07fd540dc61f0e1416e19d88dffa2f911487ab035f0c9d55844880e852dadebf511d4e95a851f0233399a74bfb03ff7762ca9f6a1ed9bf7f1bbb0eb4100d9d03f7f99115e4ed90bb09eb83063347693ac6b734ae6875bd700742bf0887870a9a46149e9bef71f2106b86100f0818afbea170436d767d1c59eb61cac27d10582ae809919a5823ebf7365104383a7e9e1e708227ff5ea25890f1e7781662b500c9dc6a0cf53e7327c58ad2c8b6f8af82539bf33bf36c38d7de10e89fa166d7fd223fae9c3bc1ffce0bfb76f5b0fbeb4b425014e6b4de29be2b91d77328818e18e2a047486fa3880918d1937d12fd8b4565f8a15b6a24ec81b5aa2a2721420301b0f62aa4cf438523d6bef3c83b89e2109a2494fb35cd3be66c59c14ebdc5f2413232f9d7596a7cc8997e5ef33fb2024d7f44f58d15cdbbb54fb34425eb01b723c357316eaf65d9bc4dd107a7b3c579441b340f223306027606db525f3c55d665f2e1d5c2fcfc7e6a8815f2fa29d28e263c984eeeb50bac448c8c5a0dc84993f3cf44ab7265ccd14404c39c1812dd6659b3513d92cc5918d51cde6de1ee0903ad63a62f40ced3a6e3bf275f697a7aab402208cc669f870bb75d194a7a2aa2f29acdefef68b5ea1940267714f864c49094a1305ba88c0f44d98109dec680fa92611bd2d873ee8a3802d1d5170f9c29a8e23c0fe72dac5a60a26b0e33b1660164b2da05129d1e4ac0ccfb457aa817bbb56cd825ec6e62591ff732c496eb4c378fa0237069dc2c798a7274141c0de25095a6eb7605814dca8f2ae31081a4f113f717e28089c80de9fdfb4a5859852815b1fdf537abd65245e639d8c8848b674ae81af6da3f5293e0a349bd5616d7cb6e8bdb0b9bf13e6fa11d48c7bf74f03484637aee097c4b18597072277216cb2b2ebbbf77053e42766fa94d32ddeb59dda5380e79fe444c301122e03958ef4be192f95a14de568c93a652a4a169d91490d50fc5aa366f63d06b2b15356033322fdc919f1c4d6abf29c73aa8e85e56b07413e5bd3ae690b86a016932721b9b586b7d444d4da97bbd6e735ecb6a043ba5745548a4773e73b0d783c551887ec6d98d8d9db3c98bef490b3d94e871641db8850719a0f8694acccc445e405705d9c779c8da54b15915cf5b6f7e2365e154d715844e9402530946ceeda67162e80d3fc242daf8b20a9067faa90200492a273efcd72357c229ded2e001f9aafb66abe52850edeed163f3a7722864ecd577ee6c3c7ab9a178321d6f63fadc43f7dbe1c1827e599a949b22c06bdf146419a7c74cce853aae17f7c0bd7415c19bc720263bb44912d62ae61a1b6c0bf13f4aa250d1e0706a2e3d30e2553b33273eaf00aebcf735b33baa28d70b2b6ed31531cd51cb7342aa0efbb772609383ca68619f7a03dfb466819bae41216fabce6bbb1b65a06e4b4ffb40864eed2f99311857800759e2418885d260be05c67a9e566148f62758145b9e005dc7c76e237b74d3c0b5699721140270b7111b60b8d604f6139a56a27b50f0363330bfe0d9f9c7bd94548d5e49ab7d04fac307f5eece6b94ecb2fedad07cddcb60fa4d48a156c99b426192736ddd48113bb3bdb588134208957eba173ca8a69f91b5bb484da2f81f98bca9cc8e12d3bd848f067610e09c9ae0b42a2d1cb5cd7bf37460cd668ee3f59fc40ad7e274b1fa33bba2293d64cc1b2cfcd40a50cfb6ab07299550b52dace54edeb85e057c08e929643210bb109338496271c1b2f10a021ce1a719528fe312bc4a7fad34016317106e57dc804bacca18ce05c4270b61b217863c7e9b14e82a35fe3ada502cf21f3832c05fb94622fc14fe94ce552360da28e72aef7ad893344217c2becde8ce479f93914784a1ec7074157d3e034598b9d55f6fa6912e521f70942ce0c67612ce1ac103866bf4cbee4666fde2020317c5c72c70cff67b4df9a7e09a4d37d11596d4a02bf439ecc89943fac5a95bace45546b88441a3d8612d7fa28c5440a7ab1badf72d38ed5b0e3aa52bc6cffef668bd39be7a62d3a0a7c6ec33bdf776d57e92f903a5c2797b4b90e9c8d08cd3b264a77d282dd3480ff8b9bf32418929caeabcb04c982fe0206785a4a218ce85d7f26061082d681c2e52a39a4820701b4055c68e4a2e2c7bbd21876c92bcf0cc5c48f86bd10776c10b0d0be4f695cce2b3f1d637538f9393353340d5eba93bdc0fa2e426fa051c4d409b17f7bab60268eee0a591467cda697549fa5706ecc35b5c1634d711d2aaa80b05402687ff0749c1fd245c99a36a48e194b17a0030aa31b74d33c43f8dff30db198035a4b0844a68bc697f801867d0c391a7b2a5cf393392c8b05ff9b46a20c965bfd129468a4ecca839f5c3da99b4a80e8382fee0695d0aa7e9a5fbe685df178ecf9f7b767a8b7ac352eb69964ab90c0a8a74652ee9784a40c1873fd5aed8cdd76c47078efc553242fbed21ad4a9934f6182b4ce8b9f81c9667dc636d3bb29d521076e533519cca3b7f1a95d0cb28cc680b1a0c9ed9ea32652253289b94e85a8c8935917b5bf4c69cbbcc71fb8e86fa35bdf9551d4c8f3ddb8b97b1a44ad1a30c397aed5ac0dbcf1f486ffb0f4bd8a8160de6936b58dd8064036ae9c76e4fb6a259f2d90120f6f3af862d41035055e2d858a664e8aa022297bfd5c7c1b92e12698b73a05fb926d2a67f31005c2f0041e3c54f08586fbdaf278cc340acecbedd7135215de8f110bce2564a95633a56ab643cc50042162fa2a6609f4c1f3e70de35887aafff69349f86b2426eedc1870ade97ac807ca30bf0f086ced104abb4aa7a3a2a53b6a748c6e0a012a6d11782e82aff9f003132f372a6570522153cb7bf202228b11e05aa814020163d9431670cc8afba2d19e7b5b9952b6f4bc99606b56cb93aad9404cf746c14fbce13636e6ebee99d7e42b25959f83f3877b7c908ae0e44911e97163073babfa470f52daae4cf888decf9572f97357952292913e0d41d5f08ca21e52f9245f10b4708223b77b1c9b5641d036e04b29062b076fa9cee81bdc79da0d4b621ebbb66fa738fc25756cda2e23bda0208a306738651264e7be695f6abff9fa9e01864fdaf4de3d2524249d4dfad3688b312b28362fb45937f2e53aec44416f9ec9c41a42ea86c13119c2ceb6e64c1ee787ab1f92fee1c9b2a15392a608f46b82861ad44ada290e74f7865eaa2aa221dddeec6b2f0847508aa609e1e156a2a08f6bcce1ca900cb7a1eddf4b93def673cffa9ba8c4dc1e4f921ae7589317291b0167a3c2cc9a47590a0a9be943cbb89a0cd715d0aecaacc37270f00cd7d79826c72ab89ce99e1865fcb63eca3f82b59aaa395e1f04fc751193c21da366f7f88ed8e500accf2a938c6e15d9c3b9d912970066967f29ad8cc59f3520fbf98c922fd2a36a50b95ce3e964103df8aa558002841cef8ee51286ce7813db05663fca9990ef21ac0e3636326b518d5065b9f32328a984f9948587a934934f6e84b214f2d39ba3f82a8b48e237aba77c300014fed0449cef69609647533a50af5bbac2173005ddf090e89c6d3020b5a5566974ec691713e205a27b65106e552992a9e78a5f95ce89313bbf134fcff2b7f702b95d40c9702e05ed2a514023221ecd35c84a10a31189deca49f037450dae0cdd1a9b0fbdf73ae41549b565247c866cd7bb2ceea7d4e98d4d791d7bb05fc36b12bb8e523e80fd3d2da253a2329540b64bcd7500a91adbf8e7230c6c215c463887165cc02464844f88ab904d04267b21a4775cf97bb5746c09f2bf8987df562f95be5785351db7427d94dbbc1390dd4ec755a50e9dad2ce277ef009e7c208f6b9a63d1feed42c700225a127aff89565bdfdc75094ad8dbe436bc071ea6fc29282b1a20a188b0a8a730df4ab454dbc9dffa3cb0924e8e6e9592f765b233b6586c693c6710b7013f60fd256ba37aeb8fd962ae2ee98e55b2547cf453157e4c7441373f14c90ce04990f9450460387f7d83ddaebc7c20a03ca1d3ac40a276dd227bbb9ff4f7f76098bfe0974ff5528960ddd1ee2db3b7fcd8b72d7b963d3a3f6a918b59f5b49530ea62ebc89f37f5b5f5961493bec99aacf1d828f1dd7d70830eed2aaff86247f4d4a4ce3fdb9bfc28287f7573a5ccad2ba45c7759aa2cbc11c57b05b86908809e1ac5f9a97667d2e3748eb230a8c1d80a903a37d8bb8933cbf39618a41f467c35061712dcb69a65202ddd7a58517a9421e7af7409c07dae11bc5db228d86fc2a93234ee80a78b3c4ca16a855aae505e441dcb4092badaefdaa04fa8f77d7b3c84ca7390f4a704bb11f5df0c448f28add9b931b57444585ccd8b8f987d822052ded96e2d545cdae5c61d3bac28bfdd1a923ab7c9fab3a7f541abe40d5e241befb32afd2b07f4ceabfd49c23680dccacc832f06e3024b9ebf86c6a2d3bb05cf576b70e7558456ee7d9e2504f4b04bb04275e237a1bda0568bde6035360b60eb28bbbdc0f0653683bb1c4d1b787856cce013cc01fa54b917997e96d4471b1c74915bf0b7c0018bad41679c188eaa4a0f436fab2bec726076f1e8a6225536fc08fe69d91dd5df3466a75c33769a918f0c46b822f5b01833fe9aa3fb17850e558afe63e2621380f17d068196ee42d42374c1898008bfca65f7668864de46379935e7c189ca6c568c7f976c50a8c20f3af179c03125c9051faa77b6434656b9de4494f3a223fe2ca1bd936ed78f8df7094923f73c2dd3ef989ac7a9519586e9b5d76c62476af4181240287e8f14fe98d5b03b7526dc2da9ac52334dc60601e7fd1ca36dfda8415e396d3b6324a97776ef5ad6c1a7a4e3b5360ab1f230d957aabe9ee26397a5d62bb70c4886681a3c17d312f3e23a17f75a613bb8dfc90bfcbb562a71809159a0df2a0cc84446e64d202bd9627f4c9924c4d338f0c2ed9fc642a9caefe2757301d7fdc0ac34c78d57f75ea131eedd2e856e28d65df88d7b300aafa574378f7fd59a4435b5693578749d15c237f5a66c5aff5dbe1bb295b0670f233007a8ec3c768b3ea1e206e09327d5cad9c9e70ffbab21a0fcfa8bcb42252aceaf6dbb5422be7cbd49608b027f67c115d5fc3ebc12e5ed0697efd332056d5b4c312c2a4e871ea9d2a2582a0773db3625e2c9f496095fc9fe984b8a5888cb6bb1de10e814bf15fe88fac0c634e25e5a1ed23e71ce6cfad6b67a96fa1ba11b894601b3d974ec2c2b5b3821d6caf109d78b3cc6de1b183d990cab66f9a86a1e42f344e902ae2a00540df458edd9d5de79d42567819ec3b0e15291af6accbbab6e3cc22be94d552ca18e8ea731c2168e5ab5386b4a2baf37cd3930bd9f91d67a2d73b6ff9c4339da62455d6207776b6b6ab084d9dcba9df761e69bcdb8d4f7508beec26a9d2b708f4a5e6e497f38ef272a3f7f6386c71e42913cd954bcbdd5caf3fb9e93030adb254feeed7ecefacb65cc22af920907722c8b528aa81ab1bf93a916bddb7a18b8af5b61342c4bf6249e8021f5e0301a2b83e16fa83962610b44b18ae1376e61f94000ff57c3f3f6df32f13890922d75a330d10a8e30fc97c16f3878c410efbbfe2e35ca4f7b43d2e4ca2fa81b3ac969df0271822a684f81bb0bbd273fd027a65ae6d3a107f63046229cdb467e8ac68729620c729a1a0274f39c71b46079b2e51de0e2fd0392d141e5f3ae62792c15d3cb84f8ede484d94e903ed01d13e6f9e84569293ab700fe1f5a9ddfd4c8280838f7320f2a7e43fbc35470b1ca56787b4ce87888927e4b2e64fd188592a95ecf56f2d6c7bb0bcb5721b6d2fd446c20c10a7ddf4a446eff752c65edfdb6fc6eefe3e92c4315b4d2417265d46e38c498f3eae6674599e067a9dc5210594c1a30d2b57dd7a89174a2e9c269523820973c3cf244d66ab2e74b0092527ef21c2612b148ec131d3b791555aaca29c9a15a034ca2589f9ba9f17274dca5f1001f5f3be2e3ac4bb0bc9ddec53d583ec276923739a36978507d97222fed73dd356c42e944ef83b613bd57828a32a3a45e2eed0613d4f82387059970923016cb0e26b59bb67e9b4c030bcc529a269f70d79b6e1ac11173548afa9c604c1429c352c38e9b885ba5a5d835abbe98eb05661493d196596c1c35c7e3c9c9656f03d738a70d07d4d994515ea3d9ae8c94a59f17e2f7b333553bbdcadd4270deea89b39bd5c5c6949313ee5d05e73f307782f7382292ac34eb396031dde0d77ed02a89f4cfab1b42c0131ddcc17b2989a8a9d7148582e80064c8e973ee3bfeca415b7d4af342d6fa11e83f3641f63e6576c6cca49757ca191d92b9b5a7532c21272373c751bcdc1c8b0ee81eb9e31bb9fd5ff463bba22ac201b97864944fed326a3ef14757e4489bbecff60327be3a17b1f35082a9096f074d931dcb317cfc0648b5c957a8aa9d8356ede4be78a3d48cb6156bf549f2af8d35a8cff69b867a31ba92239c09a4830c6aa78bb0e416f5580ccc0190886516b94d55a5f067735d230789578564258d457752ef6c3e1b0ccdacfbb85cd180b23c99e7aba024f2feb06f269643f536c2384915d2e3311d4b25a325317d5ed61cc2c6f5fd8a559902aef2179aa5da2e913574b1522e66b21fb267cf95b8f6f4650af028640f0256ad8fcadf20540ff7e02323f525285ba282a1a582bdb5eefd41f475c2448d3d8ebc4eef4166908dc8d04abd7bd81cf76ea56ba3349442a857da924311b5c078af60d43c05e774bc4fcd856f88c7035cded5c1ddf511a71f4a365846b9572cb229b9b49ef413bc26904c98b883fbada183857cf76aee1e913b41c00d0186b9f32c4d65d630b7a90ba10fbc94454c0a0fe5346d8a9bdbaab14738466c0dbede6866cac4a029a3f99a164aceb5c69e0ef0a066834cd6050dffdeda445a6eff38ce22f7e717c3b0e0fb61c7c832e1fe8525d8c9b5772157147e999f56c80207a0e544f6d797cf49becb0841cd8ad7c3dff1fbc3ac9ddb75bb7a0f4af419a494608d06eec47507d0433f02c9b90453ef2dd3eabad892ef91cabadc8378e7be51b2b721aba5bb77321235beb32433a8870c37fe2a167a71365a2ba22d1f4085ba1a18d3d89be857283dda5834621cc8833c51a89602e2c18956c45d81f190c27fba8adf55d3d9969317904bc53e5f83ff723c969c5ccda424c6fea576de75a5d15aa71078c709d10d54ffbd1cc9fb0045105af8686192caaefbd12968bc277f2904689c194c26a3cdf7bfca789f0de11e1b1dd72b87993d3be2bf144fc5a6b1fd4a192536384507a91293356d2c34cd63e4e3e8c8cb5ef7f93a5da01ab4962a9771d80788171a0f2fc4707db11974c9c5f2adfab90e2ecfc09007de86b14fe3dfdb81bee7abb7b451cf71a262c2dd01b725556874a76c58c3ed280f710c42115452b7e35f8299afed9d8ca2e558a51ee5b37b0f27fc875bc9927fefbf8abee46465e66f612b9cff4a339ae68b24c8c7ceffdde9e2bbc36a409f1fbd525b4b88b9834b2e45b678661f558bb0d42ec2a7fc8c2989f99cc3ea6a1e1a6d2a583370012b21a73a5f99e4611f0566de9ac1cfb9c8d9c7dd9dea8969117cc33832d12cf5018e2f1f5c70d67a62985bccfdc2eaa5c87b8e23c0973f0fc66cced5a6f247fd54bbe4d827d939c5fc7b328263510cd268d6e1d7b54afa1730f161b7d19f05c863b51c2f4e894a3d0b0867ddc9c0387b4c6cb0c90e5ad36bac9ee3615f9c71370a29a5f1d7ae169ccd14582466a03183db73e9da0b66d2a14deee7ddfb8fa37ad1a6c48c722fa17ceb47d174fce11167b05fedf966d605cecd06b1379dbd2cc8c8c6573ff83192f6d67174865b1ece87e8b71205ae9371948592667f9e0c6a0bec0767702a7f5e50425690b9e31ef5e8f3b53b5884ef6831f590473e458dc29cd8e5d8f7afae97fbf5978c07106e97b93fa48282d66bd8ff74995fbbdbb5f0d30fa0c01fe4e304f4c6ac83bcd2e75cef91ef8d160d23af969282bb02f535bfd98abf88910166e416a3ee342d3b62e3ee8dcc3ead53d55de796dc7fa1a2cfb057bec11ad050c433e164d4e4bf23b3dc78eb3369f1e5287e9453078ee065bd7203961bbb1792860efe1a12e9def0c1dee282e3da08eda2fd813fb9b201be8cb09b12c020799b64f230446aaa2d88876cd1a996665c9ba5f7ad3fc1bad865574ce1f522578b121778249846ab88780cf11f5e60ef8ed189aebd1c77a1f2917e1878b0a9494d971c546f3d0e2923b2cbd363aed8ed724e45932be50b0703b7f86feef09eaaaf3e004b28fe6baacb9af77729e1a9ec11a501dbf291c0bc308f6e204f23b5a633dc1ee8cb2ffa3a450a7ad2fcafd13dccac682f12efea01198a70db20d5899671204dad793ec120bb498754f914030a3382263782bed749bbda52a31f43e1c458e4cc59da85a2b17c7d98f6c6e94822b4e8a8baedd2a362894325e63a4204294a9bffbdcd95a5657939cb693938bce3a30642a43e0a8a569f2f9c5793f71b4a6a18beef9e313392e66fdd3cbeceb03244231e9cc8ac7b551c088b132c015f2b04f31054578e0ec2bc61c6b5ce632d6b71a2e08367ccea50b6f3125bc5fab7675c452463a67aafb3adfa9507c52216957892a1a6f36f4cb1463718ad255b1419733a1b0a1af268474e6f83fbb812070748db1988071221c037bfd5a44f6ea75a94e120beccf4cbc3083f6438a9aa6be1c2fda4cf16eabcc011ea2a91f56d000f0932a95d1370b9db8da6692dad2793b5e437e25c367a461c9790cb123e4bbf5a0e8efe245909511b57b19b55a848a7c0675bc08f03c7ac8601c2cd3721f416db453c3d46d811047e92b4403ba7d40171ca312d145a5d4df1a0a876de01ba1443298def7e6d301ce95a273206c776d57dda3c14b764264ee102d42721bac70e907a4da4cfc230f0d3b9446a3f38dc9b49a60f89dedc90b82d6c87f7ac556d49f68a7b605464a67d773ea8d89dc6f352390588ab80cab9015d4776ccd50a09125a76c408f769b32b206310ae2ea1413cd9377ae7209c661daf2d8f65a472251203d502ac2150534ab4947b591f3414b3763479a2709aa9d304c684759a2eb72b730ad5ceffc995754134c5afff885b1b8c6da61c86e53e1f2e9d3c9d00bf616de79d1c2482246e8a1e34464289431f362af2323396a55f4cce3cb5578a182b855b4ad329dd9a886c67014cbd32211d67949f28dad710127d581bbaa0157b1be9fc82225f20cf7f2a0f8344ecf4729e878ad32fb4f9142ab7dc99c2412c1f5226ad056e3d00afc678745bbb95413a280b591282a053dacb9f13ae207d0c8a232ac82ca5e11c6adfa471ba08f81c0fb5a1be215ac61808eafe74f93715c0c86b59d1bef15c61373cc8b39a8d602b433d51e7b46935484fa893702eebff49bfb2fc9057350157817881316eb879da660ae9e0b36106f4c1cf0205bc7de4c96d4dfbbe75e335eab9835c055ca475cb86c2bea22bd3939d60b923462e719f5dbd3d8f001914004e525a530e66debc0803da9115656f62157b30a00d6fe0d6a05468657fd63d3282774ba11df80034abab3dd29648fa93c54562b20011047a115dd3cad7984694cbf37f9fd149734997589afb5e57f4502c11291a76c265bda1f875ed72aaa10fc720afaa4e099298070a86b72fb458e008ce913cb3702327098f38b4963f19989945bd339a8e2d7cb641297350aa619c4761d3b26a12014bf9822a73a9487fd26dc396f591b87fef0971d0219fb87878a396f787c8d68a2cad80525d973a1a767e5af0525ed96a277351d9ea3377a3bcb744639dc1633b9c86e78766278c02a6fb311ce1f7494efe61f431ac7717c02ce67ff0229709065b3e87d6df2912a44120d8d803536f1e248df15c597a07443c9d91090b975c2f8f9c3dd9c2c8a7ebb68315c0104ab0d9e694758a77ab77d98f8f9a218ce0cdcb8cb239ec5c8126672999cf7e10fb40f07460f2c2d12f0d6ff81f166a6efc460a0b9ed201978db7aec10bcb20408a00f044192550443bc2ded8964c22ac727c03a3453a7b6b731a8c10361fcfe2ddd4facbd7fbbd2ecbf0b8a39f4d0ebd7f5fd7f9d3c41e304bee04e75f129e7a59dac9ff29780eb42d74449da65581a76cef70a2bd677cb9d03d76c81dcbb513d2bf1e513e6b2be26015d5b74bd5f511948fc4b09caa4f3696ecf36fef6548b81e6ae2dc5b84073a0eb9d5a975fbd555c02056784f34f54db736a9474f38bf6e5de93da0c77b9cb628d27a3f92f7e7f5d043ff6fc09debc8374a2808fe4b11955265d28ed14160f4396c2fd72b6665aef584ee302c69b837e01558ab0e00342c2c8d9c6a94b95bdbc402654ddd09372ae0cd1a32fba5702b42fb1723b796fcbd41f29471ec4ae2babb34d22511d6d4c6c666f28b43aa0193ddd68b259adc2c45d3ecaf5ac864ee504cc0332bb001a1345f7cf1c7fc55b4bde5f78c5cca5b4290d6f0fd1d2a8eeaf73c647f30f4f2de13bb1ee1515625221e753035b2e1a25780b63619feafa4a399ae88565c2d017db7d6c9bbdda80434ae789e958181de2e13db298cc90fb83ae64c818041f6e3e40ee77dcb5215985fd1fd9a5e7c1b586a5a5da684b3a9c07eef3aecacc030b7a7a4ab7562baa39ffd5b078a3ef8e2df68e9ca84e755043c9c78d1d339a525cbc630028695bc682748c76fc59c50f21a7658853acd5b2d4ce890c42fda95dc761c3cf7a429a61aa3673673cda6ef26b65ebac2c6ba07d814620df8c9a61c0c7370c0ef8eb22d35a7f17284705235be76f72b75e0c325f8bc56c04390b64793385534d50d73b86f1a122a2d38afe7e7950b217e5aaafd69cf3aa6e47dfd5eecf83860e6ce38324295ccd679305c3c25f85010eb9507a72b1f03e213b53eb3171ef4a0bcf94758920ac464d4e1b0cd6d2748ee1e8f4eb758c199a7c0ac65db4cd426a43f7fd7d2e91a424e83bcdbe7ac4a93b2f992ec760c2d13f4e105346bd0a97ad862e36f28df886fb9e0170832e379560435aa60df5b82e2a7b04dd23a2ffd86b5d2222c1753b1e43cb29bab1276202f158b725f1f693239fbc1b17e5adb4a0e65002dfc7516aecc3ef5ec2db869f573295b058e6f1eeb551904bd8393d89e0b05e567a47de045be9b3b54e2f4cc56108c0b7405c1bc45572dddb674556299d25f02a2d3589899410fc8daefc64ffb0c24988763ca934848d10e9292988f03e4172cb96a641eecac8230c141fdd2cd0a54852774c7d9263ad7db27c0735e933a0c8c5615e0557770bbd18ac30f846cf707e3ae7015d980185caf2b166ca410d373c7cd4c3898ab37ec23c59b2643d476451655ca0d2f60e2fb56b78bc3b62a96f26c44e49ed498f366d630045e085249dd8c89c5bcc11c48f3a403d31b686fec44b955cb65b0ad71b08ce3e7064909f1695c19a29fc0f7d2cfba7d6afe52c5eef08c5532557c10e58a61a4553128868a2aa93c0b969fe97ffbb235626a71066329a2f67bc8aa211f11bc7c4c326d2deff55451d0663976729626e43a255c1131ba126d3b1c984873aadf59135c1d4713dd7f9dd30ba1f4eb0f3a6a7ef847113747f3320ae7f988eb9ca00d99b234c28ff2c58430c58e979aadb99f69f0c9ae745a9ed6f2eb193b328145a93159c7b4df155c702222e2b75ac4b4f01e8cd59350a1de6adf5c27d6e7ad0c09174be56013909362c2b9212476d40810fddd78efa881010f49d046f0a0541db4df949bbe1ea70c693e3939bfac5984caf0e1bcce6076788f848d03e9e1de312b71d1ff680a3602c5f37eaa459dbb7b0d4cc3f064cdd9f0441c6a29fee6478993589ae119ec6c2506c76b19a9a0b733c51cce333eada2d00d6496ebe3a94e58f9274d87481f66bcac8e1ff0b45642bd85b2acbdb720d998349ec9fc2113aa2d0979f89ceeab424abbc4cfaf2382f964788af4c0dd542b0f78511ca89c849c246183bf7b42f898bf183c88450e14984637d82788fc1820256b0e99bd72a3c8f094320625bb30a5680d879c0f3b353413d2fc4e93a0e0efcf6fd06e3144e90ff39766802e61e42c5b3513b9dc348d86649cbca4e2980c7cd5e659fa6b5c2c1e0f632be8de82018978eb521e6aff2564a9ec36c03cb546d3be071697cef0951fcea9499fb5cf338d9dd3d8bec8f6476eb74dfc6d35afb89646fd23a8c16e295e0690500d17f00408c47a5ee8eb649e0884231ed03bdc1baa1b654a93838f34bc0cb7094ca0568be05c9cf1382353dff772fe32130e9990eded6694b89e2fa002fadbb711fd156d8e0f5da737b3bfdf30afea6ef4343e9ee6c31807b4f055f727c456fbe5acfc635a4ed5600291c365ea782ae1dcb54a0493d6cc8176d1e87b423f1d1428d506c1cfb953ce5b85163899b9f0126623cfab7e84f43e0e0b7d1e6d16f32163b80d8579384243c9f43f5c3011b19ed4b90921f236574d0e224a5b89c31e909355df3d876da7f2f3f6c46948dd662973fb34864ff12718b2265ed4d9444867b63707fdb9732aad7d5e54823b3b121a23a88c81c74f13036c093b4a518a85068372b8f1684d88a055ca10181590b8568063c00c3112f3f42f74c8d7b1db2a23512388408a27d840d9bfa11e9a40ef750fb97a3cb4b0bd100bf10352bb025de18ff6dc700e6c0c48e90209c84d5cd5d4390356a7b93a8842c35a4099af29a6af6ad6db8717d96500c4bd33cda6184929ca44cfebd38fe02ae93ab95a2be0bad9fc4c8f928d5d5899ceb29a99551df0103304ff93e106d0c7386d7d4080aff373028e81c1c2df6df1373ed0aa6ba0acc854ed2d744b8eb5d310b4b3afa163fe9c3678e50d53e7b268a82be468c3bbcc17df861ac971b967284a8c931749a5cb8697359394332c5a2c3dd98972bd369d3f480cb8f55c2573a6d074a8df7a72803638ecac19b3ad2e153e100c824fca3a76064034afefcc256f8a851a4958f7a54515199b90d5f0af0246c6e41180ed752c66a7cfd35352c85fe66ab323c3ba73df276b302ec052812b9de7e7c458201c76cdf619e45a5fa3481b84756f3689504b4d947bf7d68af3f812405bc824c2f3e097b2409d2b2faf6fe639637f5af2e2414a245f8cf67bcb70e20ff9da59abee7c6658c2cde791291c561cc726eabb736e0e1b5df454658ea28a6947d95d37e78afd6c70df408dfcb93727f6698da1ebf25d22dfa0605a33751b6149b144db9851817eac278ca51f64266cd396ab511cc7f9ef3c652c890432a022c54a91cc5aa29c8ef7dd62d16b321f21d91edec1aadb9e57ede5daf84b58bc6a787c0fe8aaa4672a542b093a822cc7ecc123d8a1e0bff0f8bb2642a58eb1b9b0359e2a97880e23b00be1d98b4318e0cdf6b54c13ce2af5273e9a60c8075f723c7307914e53447d54e5867c8cf3288314e1198d65ea56d6c1ba1cdfeccfed9a8eb29d3778c21c6e95c0bdb778e513380eaf2ce9be5e912bd9b8901fbab6d0d79b5a47f8e0501a525f3bb2c746a63fdaa8bfe40c48348d2c385bfc9916f306003391457b72bce62e889a9cc2b377c078b06d28abd37f801b93cf657ddf385297a3264d6c6dd14c2ecc90512bce3d296317724d9ef8a160085e06b27e1ef2764479c1575a41fd8ffb11b99c0337fd092dbe32eed1e5e57821307f4fa2d408413257a20fe4ac0aeec3fb0eaee2d46d6705b0bc052fef7f49ac0ae4bd6f024a2ed6242d9df44e7864d32178157e7621cd7042f5e60877ef7520fc48b6a358dbc46a0250926e44ac784a162680eb16e13f9ddf2583a07f2884ae48f625948013476efabbf77bc04b94609f741e99aef0bdfc28186753d2b2c02850d234910a1137b76316d5644f963aab486b977d4583057521fee4eac2dd5acf413683386dc545c8e1ca7140f0498f83933bb009d189bd6180eb55f2659f1daeaa22d21d436328e8d2959b1a637eaebf49f8c8ae0ff6c1047209cd4a70d8f525378ba5d1f43c3be594e42661d5c655e85f5b65fd6da661a121d19de32db07288cfa5f9f705fb23719044e04c4f2243ec0f75d9b2e4eefd6a50cea69458627ac3b2a00fe4d4e352402b4328edfd3ee16a2a136f978674becb79290346199ce64b0a328b7fe2043c9c72d5539508d95f3adb12a8e413234bac37550650d2fb8f8d1bf0cef687c3a8a237ee80102fed3406b72de090b54bbc7f94b8077f84644694e6ef73fd2d72d6a4b0a56f45557993d33baee91f11670a5cc3c27fe08ec287f0cf185b12e324e6bdc3295cadfcd6b84f7a566e04dc8c8b8527b801f3174013c14ab359bc44a418f6b3dd8ef2b205206df1a95a2054f18e1fc161c41f5c4badb10a0571297d5c8807d2933a6109e9eab4e7a50ba0c97dd498791ae8d552cdc4ce6b64d1e4517bd0c157d0c120cb3931bee7faeebcc573fb26fffa7b6fdcde03cc356184d492b713c46ea2672fdb957fc112cc24991d9575671754b8f04d08adc98dc9945436ebd983888c8b3ac3e0b7d51edf4aa49e62baa5d273b890dac0950b67868c012c64e3b8db3f59efca8a89693058fa6f1c045ed5bf9803e0fdacbffe1abfe355a900e8e48679061c159c4b07580edd17a8d4974aa5c6ae0fe68f0c1efc78797504639facc0227997acabb3ab69153c273c2b6e444fa3c74cda27676a16720f8ab1f23339bbe917e5bd9c370d5c65c64ac0b61352d23879a4ed9fcc1ce1e400fc5c99efb600abed0d22c321914abf3ca8a293c072c49ff35e8567aa4698d577bed57677810bc511719abf51e662e80cf4ca2a60ed0e206b2d1bd5f75efcadcff7c46828399ab6b3aa4c9749bc5e4f2059086f09aab51c6765cf56c5089037d83a5b47f492dd8a7904fdf0b85e4bc4e7a9e93367ce72c142aa30fb66e90a9e4eb5b4de38f8902efd0c8de6359b64652e578ba967dcbffe9755ca42e05c4040bf5a01192b468335c7bcaa586544726d17cb36921f710159a1ea825639bf250ce9b783a074868a8b14ae40efa9870a2a70a27bc1241d379551de6c4b6f31d8b835204eedf3c377c4b9b3fb387aaa7668e8a4665081946b4eaa34d121468af27e645c84fd223aba6c90c5b4daaa11bd617591358bbd1baab087a350306053854f8f198126b10167e7303935e36c47640ba58610ea0eebaec1196fd9d9a9ea95d2c7704a70ccdfb21091dea7c8d50ddae8b75705a6ff48e142d938367d974e0d335056b0dcebdc372c4a4e81e68a56b3af491d4f666aeb950ebde137d3a5e708f2fe4601ec061db82c059fd7a8cd0b40e9d86f6892d049d78c7d38a6e5ea61833189831bf09034315f84e0a16f8a38562f7a509efef7b64367cfc4291a72fb4882099da5c9614f01178b5388a7ca076498b1ef948965a8dee3aa35686667f9079e76bd5eaa646e3da198748204dd48ac9ec7c5b33dff9776755f42654513abf46ca9efc91582244888cda681efd330a292081eb532e0582ad5e3a8c8a02a78b6740902ff134490c3990c34103d0c1214347a9257dc97070e9983b90d71b97bdfee677ac758b0d39f9ce4a9edb64b6200dd93879d4a9ebb353badfebc7e73955a0fcafa71d17139ef8a5a6373aafca3eb5f9b56b1c0dd99886926535aceb38961c39d220d912cd37af5b74997cb740813c657452301ba11a19c6887ab6acdb30b71008030c13839ee82361e3508dd0ecafb2107c2957280d84a5baeb3a4b07fe982015d893cb01787e365711a6582cdc53e8b44e7f8e911ca8309d5dfaed66c6b29876a02be176b01e775ad33ac6ec55a2303057e7b9f83a8ada64d7c82c61422bdfa2b6f2139edff81d8b90a540cbaab0bbabc76855ad7e07eda7bd720bbd75cc49bb03911d6d1d7de0638734720869d66a59a3c8addef18ae52f1a535ee42797d30dae18f70899ab255fef4e18a01ac43c604e5b6fdf24b508bc0be719d01a1b1ca9a664014980a71b1e1940a3cdee4f8ef73840389aa61e4534556ddcfa12621abe4e433a12233c7465cb103659e70f72814448c3cee0dce0b30ad05550d1d1e2016597d9d3f31bbf0730e7a0848f8bd47c78054e0e0b516f018d53a99d52d1fda8b4511d02ac876a1143f156e6fe615228f1a11b4b320efeab72a20f26c6db3a82b835d09182a43390e6c206c373f28a05ca56a6eefe7f9da56b5d93d2fd8c733a60e09e6631f2f5bbfc7dec2f49a85dbd1e59a59a52d816c363f55e9c87b9778199384d4512092c0f2e15c615ddd93dc49b31c05c9cd463973daaed26deaf35e2183155dc992f72bddc28278e785ee9ed43b6f58d920aca35e467920f3583b7a806983fa45c5d240bb475e79349a50cf6ac3b1016c6a0a7b15dbccdec3f6feb2a13dfcf489eb83f6656ff1697f58f0bceca852daaa3fa9306bc6a75618eef02cac71341a697d8c68dd38cd894d2078670ac30586f15919749e3817580afb58d7c54dceaff0fe97a7f5e94f4aa7137ca7f6de0c29e05d248a165f1c7777a53929ba0ac6876b0c8269133561d6d4832319d7a2958c9f4a4e4336f7b3c44a8abc8356d209d0daa330bab3de5c6e59a3bfb82bce709847f1b486a5ea0095527482c268572f3c26ff7f76fff653d24a50690af7e8baff6880923e768f1de2d4ac9b0c2f6d0ad5d937055466936cefa1a46e7d2215e31a66c42704c172ec5d0ee4499e43951ed96353e7760e16e77877c02392c77612f6ba796fe6a8e2c41e5cae0d2c4c1cda8b97ca1446bc1863cd4891a737a7748de3837d6b2516b87629e8e51e028f11d0113cee6dfc0a3dbf3ee291c572e37af844ff7934b707399eb01c5a1dbc7847d206aa7e2e2ab96bfd17d6c51fb0becbcd4ca7a11965e1cae5f13469422164f542c84e4e8f779e85bf2bc5ff562295217fb5618d24cc07c441571719a1f2849a7daf1e9da3779732701b196be4045df4b22123f86c5bc020638bf495b3547d1c6ac783213417f5c087ac6f17eacfbd65ddd636cdd0bafdbbfaf59ac90d335766a170d73d1077a82056e63f9ce7c14eb9ce632e40ce7528a9d66bda72ed8729d494897176fea4a525da0a172d4fe46231bcf397a82d80e5593e8132e580249715b93bfd7e3b94f470d25b0896c0fb2ef970d9b2ea4bda7b6927cb9e5021e638d08814df818207f6935ac0a165973e3dfd64faef65fe3323dfa12617c57d988cb80bbad5f40930f03c8ce171f59ae48d8d47d9e54f3610ea5b0a2d854f15d005bcec3e1026f0be564ed90322149aba37833b13cb36848a2e9bb158246d7964cd47178ef0e3881fa2f9f4bf6432fb9efe848d0a52bcecdf77f7ba2f7609738df62dadcc5d156ff21c2b990c1837818020e84a3472e27b16135ff4d20653b269674de348d2992b5508c1a28a6aca6c69fe9ea809dd0558bf4c34ea3d5803408c15504f1da83dab9e2db69dbcd28894d0c70b01cc26592d67c3d786043788ed48d5eade3d91841000e72397e1b47a456f7325e72f12571e5a517beb32ce58e1791e04853f5635bdbe13614231cd0995ce3e70db1ebfa0d01e0c3ceb94dba449dca41f6f7cc9b4afebd67a57b808bb46e3a660ba0ee50a8773fe77c8724b9c33f7d8b0b868219eea2624dcdc1422ba220c5f2bace8e387cfd39afc675b3fa4762f190f16baebe319bff82491fdddf8f5511b6fddaab3072c0f1ff2caa3cd4921c72bc2c62f109c73717544d670218af0b91e5e421380017be83d6308a7c764bd53e6c2df023bb94cbb03d28ea87a289e1a6103463798babed6ee1f95a5ebfd8c97347777eef3148d422168c6a8fdb46de89e9099af79cc1590a3fbe0702b16026acdc9ffa40e4ebea75443f059334c4d9d834bf9fd718e33af6c573cd2876d3121910a79928a02fd0b13ee1c885708a69d373e75bb0ef126aefb7a71894f9620ae07c4d53e03bdf817ab0748b2024cebc0cc9ff6b86aa1f39a4d29debcda6680481e04d57aa15307e329792b5fc77ea9276e2a443ea7df8eb95569a2966ad4c428bdb0b00e4ca6b176c3ba898d5cfb5673ab6fba6e999b86a4bbd2c3d2af9332f05bee5ec434b04f7434319fcd2311dfb309d0c1d4f980dc8d82f7d279330e549364318cc0cc957634a017bec643834541cf02ffdcc4527cfed0cb8b5eb7cb12686aedaf7fa9c132b36eb75074e538d95dae7da266c07fed299174026828540564f960cfe8feb1ed04e98f7f82cc2f47a01c3ddea24b992997ebe0260286e25d7cdac41202f7168fdc226e8122a8f6aeb835add767ba6ea7c4716b411b29773b68e4d2c0d7b748be939e1b4292dd3b7d8e6577e4b9fb05079d72f3205a5f9b22b9c0739332ebcd0cb541819bab92e060893093cf26e92961d935b649392c2999781f73477a65b2600ceba5a8c19161135465720c677744f16b275c3f913ff9c4b36570f917640bc69e04f70e84b07343b3093d525059ea31f9acce99c1f0ba4b1bb56d6b7a3baf8b6b0f5cf1ba9b0de1d3a3fab047042ca9e3b859934e1f34ea8a57aa4167c06d86b00380fc3458d62a46d4d7f443181a11f1b27735258b25dae55b412733c42fce4fdac01c78e21d3ff10346a14bf439273bb6ad0f0b7556ba06f6ea24c0bf058fa00423fb2974044f5343e7968816727801c175b0e038561c14257d801c880a5aebdd7dd9218269dc8cecb8f9ca433459417e87adbd396f79c053570111bbc689e4103b671b994b30633e8f41a85ce0bccff55e3ccd1c3e6981dd2af6186efa07aa763e99e572319e25d7e84771748b84559f67246cde258d45496e7d474c32c93a2275ae61435c44a848372048209ef5eff43b8156c88b2abec3d69f4dd06461325055025a72dd82e0aa7a18d58fcc820106928c4343be5ff44c678e9f5ef35138e7f9aaf7da93c6827124181fbf389acafd33390ffc9fe5064969dc0ab266a856cf826d933f15e19f473b688918d1306b6c0a78b1e1374fd2984bcb32e648fd991c50780474c16bae8f2d1b37a9f4cea5b54033f4620979de940fccfe0bd94f5fd5917751ffa4ce4b53b230a1f255e34f50bbc532c5f322972c1f563b03c69def78d21fe2b6a8a3d3c34076c8a1bfa74e9065667388d8b662067d1d2a3b370ad7128d2a4be901b71f769a2e64140c67b606d645a176eae41a6ca75ba23339c7dcf4a5ec3c64d50fa4247b5e65bd558637ef4ab818983cc4f622ce914cbe33081a6495e48d91707563e6a2a619f21b4cf240b4ae72c62ce8af4bfdd853ae7f5a062e8203b3559f94edc9a049f69a93349ec6fc00e445666b9552e7e1800482ea376fcbd3ef4802278c5be0d0a429a01f79db002e19ab153c625f2fc6413538cbdadea0945a076976208eebc283e5fb21e4f6b750ea84214a8e5a046ad6d6f8f83eff06ac2cbf3452462b42d751e5eb58c647d9fefcfc2f3b06c8d47c4a7f624a20ee55250a670f9c6eb97ab9a3e38caf1e41e02980feea1559255b19590eb6bd96f0d0087d8bcfcc85c4f3b5bb632cd7e7177201d57c1cfb4d1e8a0b99c8be24e10d09a77f818e225c444412dae5aa9dc326d7181e2dc130a3769ad170551d9d67f5486994d88af930c7d2978c283d8071ea5f14d3b412f58868832bf3745235f3018691b6a4abf200eaa98e13f0bf89e179c9cc0e1b2aa8b441230644d5d6c31f1316182787468c839d420cf3b03de0b071a2395c78180cd9cf4b5e38d931fd1198d32f5ea23d128664d3fc8c812e5a0f851b6795161c222e29387716fab0793ee5c678a45ac5d020d21f716ea0690fda7a15158cd4ccadf18345119232ca29c937dd272d9712a613d664557b6cd4a5261c6bcdc47bcec7a0d827bcaef312fc33e12a50486ad1daf0e6c2e41a01c1ec411cfd3147a490aa6ed5a6fa4a261099911cb5746ee5dba06bb0e4b2817780a2a1bd6169a401a505904cb26b4a86edce55b9c57803c1002eda17a68af4e4607f502c7a2282aed179546a49a97db8475ead4d8c4ec345af09c069f79ea8e5b1d0ceb4a0d64e021780078f4e75eef520f5167f882990807cf09d3ec4b3e796f20a2eaf8dd543b8ff4bdb3dd7c6e736b7148a4c54ad1731449cd5eed8a774a99d2aa6590637db5b434259cbaace1a19199d039a3d39810012ee299ac46b3a67a84ae70d698d11c2554db1a68a1f6392e4a212e9b4feb8dd509b151cca88df76eac071f533e7f2dcbf01bb638d7746802699c53dab805beb4614dafcb76034473b6b5db75c15c33ae6f3c6dfe1940d1579b37d3531c10140497a8d13875c5fa4270c7cc2f0d887ccb93ec1b7e093807ced3bafdb405b4f70d8dbd24f999c74eeda6838389fb861b8a5972d1503c1e22e68ccc1bf67d7ec56a8c9bef803e0af8684ad570cd07848860e5429fcf8a71ae6918fa0bbfee342a509eb3bee847b7c49e907274daa904f823707e50f1f7176acda9e7b61afb208738542f54acc168b5a5c98ef989f4dad2281bbb2706bcd25893c66edbb83892fb263753bdfa454ba9909eb536f07a13332ccca17b530b031cba3a213ff3130f920039411713bb3d5509150f44bb52e61b10f20151a7239a54eeef5680f4408d8256dccdbc373bbc6659ad590e95095288e351da8920307626f5caa3a30d04ec40ab419dc088a8f0e1f70bed6cead16d7165628fa9d6a2f3bdfc1f3c0ed13e4c3fb66604501ed704b54c2a636f3d689618ba924afda4f8eb91912a3de86d927cbe23e5147bf69091a0fcfb64da24835eda34999288f5541bf58a9347a6271a5cf38e453b17739875d86db07adf34d74d2c9379911a11f5b0e7fe5c975be67f844cdb37aacf1324b3c0f9dad0e751fc7ef675c18c735b63c9c420124142af5c2e569fcc81a39397a8cbbfad43da79644f34ac3039c271c2de54519210166299731d4fe964cda268e379f5855c346bd106f2c40cbfc8167a37f6066dbe44a0e76b1f4f97666420be047dd6532b67885433a50a71a8030bcb824b31c90d68bec347e295699c29688241f1a729a83ab4ee8990bdba2600d85bfbf3d8bcbd6b540c66ecc87997d5ffaf53aba6d2994a2b49e4783233e6173fdcf572fc00f0bba27aeb82f837ade335ffbeda275c54731b8026434d6ccb60e88096c644c3b60d5605dd2f24029e9740d7470f4aa1a17ccae1de7af1d0d8394c0d11adcfb70b36ef1d72b3611a59184803d4f6d8518b3eae9644ef3bde307051413a438775ce4e0eb16acb9849b95cbb7b2c51fc9eef0be17a9137377d82b8c7ef4beacecd52e15ed0aa35ad6de975cb690eb557f2046252a2859f0b2773bc2b874c9e045e39b2e44d37cbdce7f2d2ecd42ced5c08860f8950e44c3e980a3abe378496c0c2970a22418675d29871f96c12b248cbceb267b9e1115ddfc486fbc9f5f950d60d85107a88ecc858a7d867add8fa521c8c99f69d988725c4014dbea35f1448de97a06e5d4db72ac45536044a6ceaed0356aad51926e115385953539dc0b4e639ae5df37dc396edaa0a1f5a553f7c047bdc7f860f4911f7e091c29973f4697bc4ff3fb294d5d9beef081078bff7c93b7f64efb875352d9f4640051616acf47700bb71ac7c19107816a3cc06d148e29298a28fa8465cbc71852fbf38db8ee0007c9f79349531f400b47e249973a8c5dcfb0954b8389f0afd36c5fcd89878d414925db46fb3d85977e95453eae35805ded493b9943335a85abf8c5b08016859fc69144f2464c3077b2dbcf5b670a1108736af76e3648dd68452cabe9297585dd2ab834103eb52d1d5fc3a4b13f51832ad1d2589d8bd746c681360a997085344f39030aa9e62ee08b0f21f5673d3732a79b847d1ea3ee590e0d2cf8c06c29566e75c2fe64c554c7318cb82000471262edf2535ca6dd24bca78937662eb8cdd8bc1f3400437cf1c189bfa59e326da06ef164ccef546277bd82e87248dce36951c704960ef6ba47dba50af18c8fe2f4d86d53a4bb96c439b72245788fdd74a0b93d57dc0164648e8207e7dd158b63e3a395e523692709646e499e6f51af076ec7f6b0cffa3ce1185e945f53a047101c21c100f5e534012302e186748732e7b94da3219c03788e3240dfc6af5011beb4086c198ea5a3fd9b2a33685278e5e3de773d03cfab685345f70a491251286329a58e6991b554fe770828af4e649b5a56dba639c44a7e1763ca1a663ec63ebaf268a09eb815b4bdbbae05ef7d85dce1ac25cac0270f72c6c4974f4ed35585f7f5fbc21d3872397d0f4080f6d98cffc19acafddc4d29c92c54b8db01079db5fe9e0070f0bdd0aaeadedc31d360290e13f9faaa5017d27867b790af88db6f7a144d52cd9f0db7e06b267e2b7e70af2a0cb2eb9366dc3f310c536b869f3a120c6df1895f7520599862399820adff09261cae8be0e5008c256f9d93ecec29b7858875c267ff064c18d4e253740b90b97aef591170b02012691eab854cb4d3fe63d92fecea0f826e16feb0881bc1bdd528eee7aa0ca5d8c44a01ce63dc0f8f612b0b3cf159fd29eb39dff61ca5728bc2fdf060dbb7a1341f91a50ca96e6f22b93e15261201c19019912eb57e52d93523356a5e1ec3d5b0843485bb125986fe1bc8df8cb2dba2e2ef78b62cb2c34e259e8fa507bc0f0bbaf39801d55935e50441075a3166fe10fd42650eeae6711e7efabbbbf5e09607d0e7c586ded8e8e65d93bddebd242aa951d8e7e651d34e4b86c7796344c4dd50f2a98592d2e969bd11b44375175f8498cae62f2fe14c3a9631e1431a2f348aa4b97d1bc3aa448e390fe53960f5abc44c1ddb22d7a4006323a944ee819540d6ae1a765f10f8ff61a8cf6df1ab1347cb5f5609d1eff94a51f2f03852384357bc92c593a687e3fd492b0432119eb9bbe97f70b090d89fab54783a8f7dbc5ada8d9994c08e7faa0a88374868d83be5e89300ad711c9b27597863ad451c9c2241dd1cdd69ec5a92256bad5eb66a3bd0b9a3f43461b723dd44daab031e9798589e8a604307637431f67d1b9e19725f47d0cc31fb4febbf87c8ffc541df4e46ebd4f51e8546426fc8758f60143db3f7d049b266aa335eca3ac80f1b893d92a01d74eaa62d25919e651c82c044a192a7417e82679307d9a7b54839a77605c6db8246dc530b62fb82a30d72ad7a088c38a020fec9fbf4267378e498beb939ca49016e501f8dd28a571063a46e36999721230e80193c40126f4ef102a6c5a2ac9181ab1643a2e1b7387504d030ea29e53b73851873d96595ea29c03035cafb84c74d35bc5735d4af07ce35dd92b134debf4cd4a3fd6ced2b47fbacc5a8f8e1fa6492d638523721dea876e2b3aaf807d4c5d18aa1c5540b536af054542275cc4e26095507c0ba5f45c278ce39e794274d04daaa8351874c795a59c3c033b06371376ebd7b8cc7b8273848f58f5f625bdfe5f3690b83917729b56f2a548f5c54de9f1090c15ff7708897e5f9456e518eee46aab4131775a69a93687c9ca5c6b266302f9cc239b3431f23257f42ee3ad00f3bdf4f76743f341df58a0c1656827f2ebe338cd9d5e831e5efe015d8e5dff84f8571d9a43443ec681b9d259bfc475966b0e477ecc20904306069a69a113595fba6a72aa3501a9f2c2ee2a2754e8d1cb774344bd97c75e2f69aa092daa595055e98dca1d36045b7be65e82ebb3a0278fe6d7944fb4d227e6f512ea7724443ba715ffb008a3a551be38ae116eb3d85d374c8173a5e7d3ef180dae3d59b71609bb4d453ff955f26314ab63ec58f3187477b91402a49c8829e42c6ad80b6612d817b40423fe5ded9b6afca2f7c4bda8b24fcfadb3224c56bb60d829825eeffd227c7bb50c303700c7190f7409e1ee0c9ac69dfba071833bea26a6de89806bec625ccbb255549e5205d25f03ca5ec658ffc7a20b2866d1d1232e396ba1923cc1674fbb3a7df69142f0f8615fb05887286ac3943572e91eeac9815ea9d4ead7d364c81ce4e8db2780b714e3178abeda362d9df814dc4bfbed6927f034e0fb861eb47f8fe4b3a9cf43a71c5145f8a2e0c01e6abffc579a795ed4ad5a17bd59506018bb16659717f24667759cdbfab98629534548f7dca45e1226f33ad081f3adee92b9fc13bdf319e56a93e8707e782eef1d16f7132bffb7bb7d2728ae7b0e32f82eb12e51d58766ac7e8f6a3775cab59767abf98c873f645d842ecd96490afa1ec11724a16ef7d996da2285da722377c4f46d3a2bea4fd69cca20b7781bce225cda084df10d5f291d95afe4fc8dd2b62e57e230db69c17e1d7f6e2118182cfa6efb483e83bce107fc3e552dae408f6a2d311fa5bd72331c71c9c635d21d23553a6908ebde1ed8a43dceb3a60400180bd4ba4455ffa8537faf81591a4083f10b4bdbfd69d223aa9e329b6f95ba2548cd52fd015bbeb47496ecb386e9a26468d074eaacfecf4fa317bd083a7a6f32ca7c6028c6b3c8d398dc37e624da1c3b2b93668e09f836758f7f0b67e42d8eb579f7b592e9147603f2081bbaf4e0aedc4e8fb3654c71e6335eda3092ede51a590943db82ce493b9b099b77f6f3329fad0a9413cb5247a427bad19c04c5517762fce5cfcd377fbc28b9b1b493c971142718c97f7ac3a484633ebd20c2d42d42c76fbfc9468118b1f3484a1f2798aa01ea89857bdeacbaa38cef9c7083bae5819dddfebefcaa70eaa1dea3ded02261f4912656141cabc4fe3c65f7a0000195d4bc88ef5103cf9991af9e744da8a346c78b583b3457dc94ad8140de02a46cf369021052c3645d6aba58147a5ac35d36ef7fac1d0d42b841327085017d69f73e35cc822aae5cdf5fb9d08036faf72191f6092e04025ef91f4ccd4edfb48b29af1425a8a64b607593147657ae1bf74852bca293c6e0353c8ac546a825eeb91166545ff6a151ba3d630e9dd9e19ba2e37a962ff5ea60f542aae78f9d8a79d4ac13eb6a3c8235c8ccacaf0b57e97811be4e34430e6ff1c6efb0c1c488340c81ac8ae95451ce40e9dfa076b4dacaf996623ce88d5e5bad6e562d114228e41bdf67b12ae71166369fbb1de832caa44e7a44fcd52139427914e7e47d57d30e205c65552c00e2349394ec4d9c798a9dfa526969ae9943da15ae89106857429679ce49021009aa640122e7447523d01039e2a13ce5f66ea5697f8c28de4e7c2a647a758056348b5887ef9b8c425eb917b029594a0ad850ea6627c3bb80cc3167847286e898998299c1a3b9b25864e48746901744466f14a6b7f4608e3b8b671851219ac9eb1cd429b0e9a457abe696cc87b8cc4e177882b47a6ab03fdf982b01ebfd1665f38361dbb92eca8fffb2d10bc06f713c18c0d7b5020491677fab1be05809a34fe135d85899bd548de3b7c99abb3696ae0f1db7cfecabc93927462eff6b6e6627366e7dc31afefe7c3ebb700255eb73f87e1db97caa8849bc55049af9641b1f24e8b99391afb21e9e3fcdb944a9cce92c34c219e1b841491f3ca61b2b2fa86b096779a6196bcc16834a6697930537d63f36c7a46cb5972526913027d26ddfc6158933e36d79a6744ead12b26e6b431db407a764091b5f77dbd6b399f4bbf9a248712b072b0a71ce28928b8d01ffaf0bfb1b6867346681438accc73bf01db887f5d4c5314c2273908eb82a8f56cc0deedd735d5b37410aa95af0e326d9c52e660c0ff1acb6af4f72b2550e2ce9a1b712ee3d02015471e33e55b97374f426833fd9ceeb83ebd0776b460b2f05be6530c495806828952f6c8fb221770dc0198056eb6163cd424906dca5ca62e4ce93062744f89cd9d1e6e9b90efe2dd406f5d010ef7f35e3b708185c412b1569b4acf0a4a2db2d6eb2ae8313abde38575bac808bd9e9b20cdc99bbb59018ed73bc629c859c9dbd213bd6dc088b95941b8ecb47c78f81d8f7ccbdc4443df10fecd573a3ac76ef47db90b49609e86eb287a4b48f08ff6dfe51ae655912017595609451fd38f5cb04952d47d1b594a9254b1a0d755bb41479b1785ce317ce7a06bce1e918a957cb66377038cc64071a5749ecff86d810d9168a413abe1d9ea858b7debdf1252dca3f402a1767a97a2aade25eef6d7b8acefaf73f182e31db8221620632e45f67f74b2a1a2ba0d718ba4959834beddbdf306498f2aebc1fa12acba70f48961f2c33a4ba31965cd87a738bfe0cc44d5e72a1d1224a48c02c3fd8de36d0389375c88bcad0a40a1aabd47fe4b16a06f99542646700fccc441ff9737f8402125bbaddd4a74b043730ad8913b47a8254e04ce53075ebaa8b3fd55c092b8c2555a142072606ed24a029e087bc224dc284f42b4896678d749f4c72ee519464062035ed0503143aa476c99fad8bd052c5bad07cdbb611f02a9bc227d66e8d095943c400e387a7db910dc9cdef0e680f744e5dd87d4deb114af109c33f089d2e1a56658d682af40147ef39788531c0d14a61da8f6d361c40a6ff08d8f87cad5144b8b24444b27486c8892fb42f801e0192d65fa467cce256e4525f91fc2a5df5c18efa0c5cd34af950d0ebfb617065de716e707727cc975dd481a9f4f15ff9a75c67052e1d2c0d9d02962af82ac8fac142c4d6d741f4140e3770c25e0dda79ee910d77d358fdf6c524e01d28ab8c30376e086d47f76ee86371a10f62d23ce6697b7429d87ec5d700d51bf142e6147a20a2763d339c135dde63187537436e1b16b827795f1ea77ff3f104c86e9dbac7c22ca305afab3f0c66e0beded42cc1a82aecd92aa478a262fdab4afa6725fc712acffe46e0cddb4ece7b46f0a8c12855332390dcbaccae56304b87f7c506368a8a3b0556b391d8321dd771f46069fdb899519a0c61d136bf8553b9f2a013b59f780f811e988c19d5743e643f8f6581ca6f4910deecd43ed0987d2fcae21311bd71b07fef44ce48b45a44802abd9b20d4c3dc79d6e88681d93fbfd73c2ef508deae0ac38c5b5479a9d8ac5bb52454ad0845be2c3f67cc93ad7a2322867cfb151993d744835511e19a9b7e93728dec1e083ce5cfb72b1c9f12b475dbded0bb124a95c2a632fdd8428bb2effaf895816665e0475869e71d42f2ce9c2f38fb4045843d4c9b592b349b3894f83ca943779dffce3b86772cb17b60c67505137940ae4c0b5ba8dc4c9d64780c51914d1b1ca5a67b71382c384612e65f7b1b65cae4d580221b07fee3ada5dbd67e9cafc87e24ee57c4eaa00a23379480654b556fe0ecbc57f2c0de6bdbb2cb552860f93efd8affe4cac2d89094f89781659f1f6610fffb991a4d81f156529a990170e4f0478990d36997a07b637d75799294f52bbe11567fcb5f15f4dbc8ccabfe2085b1d539c9064fb1df3bda8248b254f1c58913364665c9cd3283edac7de4c8ff75a84557488771209e65ea7d2766b49112294b171e39e6df07cd16154a78d0a5bc2b7283eec9f05ac1cbcabfeca1afbaef60045e44e0e3e82c8fd45ae9cc79e50f3ce52bbb30c9e7a63a54d43d36ea01a146fe0011aaf8a583f4658a605324d58ba2f2e96a8591e17eabaf57ec68032ba5cc6c97c219ae0dad50c4a1f8ceb6890d7ea927d38d0761321ba639870ca5bd2733e65cd57072ae2bc0bd40ac41b5933519c4a2f6f18de40aecb04218a1b7638af9523cbeabd6cc5b7eb2aff7e83378a5ccf48e7c7cdaa3cc4627f3efdaa715aabb777b63d786cf6511d952542aa138f2d1fff16fa001dc8e27171e336abd0c4e389a7556c3ea64ad76e7a5abe7be03047978dc8d5f9ffbbf1620abaf5066477750fb5135b27fa02d8643e5d2c4e0dd677573d87e3fbf8cde911144454da5b445b9cc0ad572d97d180f08093b6f147f27879017d68c28f930452419ba2d83a3c2b23dd6f3d78b9be01a8481c79a5e973d6496a977fd20116df32def9beeff3a627d2c567db21ee99a3bab7e2e6d82dfa6bfc2b6362e0f805af489eeee6ce3476a31b9365f54c2ef50a326b9bee2debd630af6ecf607da95a1d2a8d2c77e10561acc5dda6276fdb80ce9bc2e1fdda593788e1b763cdd32ff26b1050b222235b75584870dc4d5a6bdee7f6449b51e4267036152a6f7ea8995dcae01918cefe36d2817c512b24202089773685e5c9a33076e9dfa37df691192164f8758c454240b278d24ce9b464bdc86a18c117231696b51c85f54ca4240eb3f79d14ca9d4c739f28261c2bbf2e54c86507ec65daa0c476abd6366287a6403e7f7e8d26d109aac1a9e3757e5c7d6def800915810f302cdc195f5f94f0a77beb0eef9dfc001c83ebef6863b6cf5df2b592ea0308c54c77586083892672aadf619608f105b16f51028eb95f81f0e6741b7df4dd5ab3aece75a2a567b18b7a055483807eabdffeafe4ccfdfbfda3f10f43932ec672fa9ce004e520b4874d9ff86a2f126a2bbae4a744d5946f11090e6a86c130405beabb5cb98a912799f16601ec3814a4ebe14edaa87069142d48505b7b128e373de949fad89c5611611a724cde3cfcf985ffeb3d08e6beff48ff95480a293bb3f0b82ed3066ace758803f50e759e78f3f5ffe38a21b2feae4be3f5dd1b11d5862932cd1ed895cd6358aa0635aa46bebb160b19eed830b902b8c0b8f478298e7b8f0a21334c02378f6935fee40c505510cb555f88e760ba5ed57e92041e7cd762fffa4bb0913de2a8820a596c5b005c254bac25c5d3cbcee8af1f4617f8a1f555dc780bbc37f209781e6151f720df89756265e1fc333ee70d9749614543247349aac7319f1ee00cc6fdfc201371422a7a0fbf2f98dde2b14410ce0f7646b32d69f221ea81132c91b05421c63a2e8c50c61c1820cbdadf4e7fa5eca02f8e4c10e0190e1ca4e423aa24c672b1d7c93cc97d6470f786af5b28579122285a24c6d49810980c0dfa1a41a781fca59f3bd45abec9ab43df6e11f439c04aeb919414102fb96ed361b08445239f5d3fd6c97d01714e09ade703a91cbf448170d1a9a3384cea7959494a397568c26e604081493ff338653b2b9b779f4546c64f189ebd4f21be94d76af3596b2ebc5055410cfa5e0de5b4204471956b13201d3b794e776bff672b48968f2b418143cc909deb327e79de93d372854f3fce068c8601dad5d151b89e0706019ce558382e1750830d39ee00e2222b24a7e4eeb7e4fcdcd94f1a18c3829b5d9969d6c08ca1a5afba8eb980ff92b0c0b88235fd62bc25415343ac10d1ba3b00f27ec8e928806d15f397aa967b298f54fb0b2cee7f45719ef98db85f48623bdec296926ff30f98ab1c82d847a441fd61c215a7068b1e0c89b079a2a81b99e142a6696bd66eff22cd966f4aa54204436f61f8f051c78b5599fd1e54cb7c37c7a2cf1656b92588b0eebc39df5b1beeb4beebde1c2e54dc2b88afdf862f81c35d0bace3fbc1fddadb4ec227ff72d0ba40961f75f41320d160f785bef41a1fad046bd84d354f12601e02b09d958c8e7af37e70ab33fa3c98690e3f6362626302256cac375b599bacfaa95cb152d50589138d6729486015afaf0b98458b75d410bdb20e889e4423790ea10d39191662a99b26c4d7a871357ed83db8eed40bee5b73e0babfe54d69cf672a472899cf373d1326dcc57f6ae5726fd4221d40236aef538c4fd73c6c8f12ac1d57fa28bf11ea3969fbc4fe37601f2aab61554e0712d10e8c062c21a2b360ece09476de28edbb26825602bd55c52ebd52aec904f68d1b480ce47c91303a3986e8594035da730a8d54f6b21c09cc760dff44c924ea0cb9923440d307e4d376c75498d50ebf3025086465b933cf732bef16e5dcce017153bb982047762e37bd2f37c7073859c4d672ffd4feb0fff0137e7612ada487d3c9968aa66520d21c7f8be91f40aad15325827eb8691b5953dfc4355fc7f915f0df331f143ab96a77164524aad62224c44cffbc9f60b8e68be20ef1f6e8fb961eca6ed0519deaaa89d14b87428fd940dfa4bbcf7345c7b6aa2df868d30bdb4627d86edb50ce2fbaaa0e4c362c0bdadbe4308e3893bc856fbc0778f9fff003a7e861a4117176332876f8bbad7eb773230767f3483c9c089b06d184be03a61f9190c4ae2e20e7e05c54a983a3a1671b081d87922569f9b6b4f67703ba7de00e1bdc6bc11b0fa94c3c35d40526692bb8db1b6168939042b85e732fc133b6b93ba730cad708d284ba4dafe66e32217c727f4bf2febf7cc0f1f915e379d1bd88c8331c9d02710dd1bba019a4e5d1c16e3c502786a22c007a785f4eb2dee63f7265cfa5dc8f33f37df83f5acd5fa8b05be150a0a3dcf8daecbff0710f83b643d6f4fe3dbf09ef00d121eef9df1d184763a8e4cb71243c1925b73c475e39190be0211a8fe2815df57f3b5b3842f536614f4e847aa8ec81bc6c4ff9912368692a7edc934efb9b22e1343d9d4cdd48b4b245139369c75fd0bf577e33ddf8ee19bcfe4c3429c9ff631246a6f0e1cbc0752a9cd9fa0dc26be1bad744f257f90de679da94a62d9277f0adc21c133b4231475a4ade946a05750c1ad5386c49c872c564bbc0da74717061adfd95cb1433daa8c8eeee5c39deea7425e0a6cbcb6dcc6a87dbd771628e781be996e712534398d4f379eb8a3a4e82bd74800beed931cc20dd67ecb40ce57378a975eaa9b6157d2bb256e0a554edd0b97508ef0af5972329ec5c471881262caa5430e75e4292bc2003efc577d13a5db910b8b63f304e021cbaf40511eacd2128d0403b61bb11d09ff106fb68f9b642f6487166d7981b15d60edc2fabc276f0c97c23adee652f8df433aac1ab0612ee07eb68bacdca3f6ceb0e600d3ae7d2da979567b12fe971a5adff0fade795ef57607c7e71f4e4c0830051c9e15853f937c9b1208890c90bc24a5ce0aebf2c28b7f371046f3292144404533068459fb6468178b5cd690f9e487ead2776ae76efbca923fca68e5f68503fb7b9f8153b54647c8e6507031351ce0903b2fa881cda0f42ccfde20cffc0e3b87bfeb3738ceaf28521d0fe0a03957dedb8c999a71168bada9d8e251fcf803eabeaf77e01d9dd6678ce79409535705a102ad199e3d9e2a8c384b11129c635d85ccbe13c8f504977e4844cef2f333954f82ebbce3e3d3234a97df45e92f60c788282de409bb6a25f56dba9896d94e6705a9fc76dfd2372c3de07dddddb2b16a161de3f8983aa63ed380e617372eb0c5fef1d4bc2345bbc5796315f702431b107f6de18c4f76756ff150eed00312dd2ca391baaeadd82af331316249beed2a16f58c7a94794a0d4a8388b8a06dae94a935eb66e70bc1d6b6e8d40a4654629990fd336888a43467dc58d19c2daec47fea98ca188e67654007c77c7c2425fa455d519363096e994e92e730189f94bf98e29c45c7c5f9d9ee770d3af2ccd92401d653d51aaff0d83728519d1124d53408ed5e8afcbdfa5e460bed7aae8e0af794882aa6f2919ec59181fb814f6f0aaba07fd1439d5c87bb4a99dc2517f6edf5b5dfd585df22ac7d1b77a09d1d2db8e4e632dda16009b372e38fa705002944d7449de06ee72cef5d4a689ae6d0f63fc4cdbe8e97682e55ccf640812959d1273981eac62c9a5319c733b9030eee79acf957a6fa3a084e16af56cb99831687b0391d7fd6deb51423afa84cf177bf065f24d197f03966bb141b984881ae53dc0bf78d79a55661a57b9fc5e7b8272fc347f6455d22125786baf6459a8d56e1837a18dd93891c9449d21331c2c30dd4ac53da12b189a0d7176e86780efc3aa466810f292b8d5a3f423aeb98dd1fc888db97043b2c071a39b1006cdfb6b0c4e5017110429a8c0ca63db2f22453017b9e4e28e1322f488bbf06e2b7e84def59a56eca4a4dab65c56f3d8030b959f237f3abad45a8a78ddaddb6fa8f93c9b558712afcaffbb9663031980c331aaceaf1f9d708e085ac43975b8d48f3cec2bce3a6d4172b0c84a73c38779cd6dce0644435bcd87a74f15ff715faf93f80a7e6d8f887a4f1e172ccc8cf64e061ca1d702f6b4e9b86d767b433cfc6e173b21d5bf71f748317960876ca6c3fe7d46a2c268e0a672f38d51fc2144b6a625bb95a5bbb628031cda09918d90b43213e22b0aec5847b1160d188716d408c81af0e82dd0c44b81fbd86543c151cef6bb191b630883f754fb4666e4bcbc213881b3beb0a4952b7c2d091a2544551b4e7cdeb0ed68d01cf64338446766e467601643070cd34dba125830de86a8017fc653e446b427dee3173ef1370a5389f829e2e56575d21be2cbed2fc824f8300d0af40806a7e9913b56a4859770218ad5058a208cc3fc0c1a3fbb2ab718e9bc876ebb14a70c35b299281beb27a561e74124efc1fc7933fa4e3d9275785cf68c7b6afb7e10e7e2a3dec1e756750b1c77cce9bcfa52f0616b273fb3fdd4d1bf5cde31ba809092bcb4500e9708f646f7a52074f6dcae2536651f210b28bfaaccacdc73855ae9dde934b53c25779b0bdbf3e7818e3d979bfd626da402b0aab86fe4340ba6df046be1ef8f9cf8c40b5d3b880c242b3358dc523fd0242bc65a4f82d3fcf4dc30aa8294192bab8a33ddeb7db97da860fd5fbce7207e9ef09460f86b2054d6f4144472c02a1f8c3aaabe63e97d48175e059284dac0fea1962c2e9da3e69b30a95b6e5a545347e43f2d6dfd57ef91547789c690382802ef4094924ddea3fcd50c9670782c36525c904a80a4b70440db05bbcb9c53786a6bf34f8e5a9b7cfbe94f15cea43848be68a6419829a5a9579be5a96ca199af02610976d2bec509274d3d2ed74d63a0adcfa73c49abd09353c4e634059851c422ac1f672e0cce4f5839f7276778496e339fca6f2e0bfa9f35aa535b525503210f71581777b6d08e57adc211c06a4bb1260f5ac98a98b11f0b283f28fd6a817a3a17c10bb5a9867443cc92ddc1a7403812a389602ac81f86f43502d587e90c5fc83aeb9c2beac9997f5324165c99b7708cea7c9bb636ed449d8e1c7459bad1d46374476e9ba92214fb4a184a531264b08dab425303bfc31e4b5d0d8e39e9d16a8a3d0402f92d6f7098814b3fa037ed4b9751374c27dbaf1f7755f34e8f183124ba3776bc12241f73fc4244dc8c9d489f56d3d5dcd44cd52275df3920aa8e21426a8139cf0566c647b7a5446e753131566a4f029c49f5fd4a98ffef9ac4e2c4b2c33d6046edc99982bf0e6040f4f827fad46a16de96b4417dc5faed33e68edf573f4fe6badc9674a6708d658979308d41fca99bdf49301d058ce4d8fd03a578dafc68cb5ee3c83a172ddd90af5f4d259f8b937b5a74754f881c62f774ae06e049cec7d337df5d48646c02a81c57f301cc917b2c4c74634bb4914e70581ae0f315ede2b6b8716970d655778c2442bd22746106c95d5c70d620b5574b963447489d0ea2cbf41e6f3960f9fd3302a48cbfe188f9d195a7a732fa1b599cf0c1f08722cfb154a60c26f6c62c8453241d6e61cddfb871763ca1333d7d7489cb91d18b81f50553cb5623572d1223cee96d975a89088495c5805ae9ca65ee61ac74c56b67418283f7341df1d6553cbbc0ec13c889770c2866cfbb54e3ad85cef1ab00ec596706245bb22e6d500575cf7bc75ac33b6ccb8469f12dc41b31b6f05a59482478749a02fec1d4b0c8e5c4d6f0996c36b62d9218cb0708791798c3964d399558fabf6d20a4ee25a8a010150250215144bdf4ebfbc22f40f10336b46aa32e5d483b3ac87a0f7cdb934f709c60a7878ef3b029db6b18f4cd54f3e893343a0ab8bc6cdf4c5356103aaf03b992531e8a5fc5c2336374d5a19e037ae9e73dfdb64a27efdaf82dccabea1a93552ec7b5c06ba334ec37038a0aa40f5ecd35cc72caa3ce25fbd41d5fe2f3962dd3a648406bd3c7b4e0396d729929c562d4029d87cb93840f45699ad02a462dd4887120765e8252a74c606856758e520d2cf0f7a6e3bf9b2f085f27373c04e24bd4c718cea513b97f6badb7c903b7ee2bb7f562df7d7fe7d1b59d3be5ee70876110216a60c9fc13804aa0e4c00b0d5f9cdebe5a26f72b484b42abcecce3157e9b633789c2f85280302b5a72a667fd907012036b4ee0667e83de39ce7138bda2777ccae5c191a4bcb5efce0063d2db7483d1cebbdbe599ccf393460f7a102b265e21bf09834f2c73138f1271b1e1876c9930fd75d2244e2c5bfa0163a77589b7303712407a55ec2e208748247549557c08cc3c564fcc23e1e36f95775b547cd58dda6fd5273c108347d4403de28a3139c2968be93f66358b33aca6420f417184c357f081243c87ae8da48244861eadbfcfc9b1470bf2e942f485b3d96b9b9a0f863e1f1430c438b2697d205a075158a3d652e5fa8ffe741ed8ba682a5ae799aa323facf243128cd4968365f54c7d4b78e35303de3ca58067d6fa4e3539c70bec240ebcfede2bd321d2fd9b0a91170f0d70fb5ab88de19667a472d27aec5fdccfd5914824e950db439aa3db1963dc0cb7de59f841e6f0a6a335e9a1e356a996ef427537291808189937519e0a9d2d2d68feb418c97dce15c67f8b71b746b5ee44e49ef3503877521997860b9ec74ab0f001ec7f4a1e623e47b193092cbcbd00a2f7ce3d7229ca8961bb5fa571692db8e9626e9ad9c033a8b44e19cfdaf4b23ca93a39308134c659b62a44e0e58a2ee365490f1f4f2db571c432c79428614667aee1c3211281d24dbcd02dcead6753c01d6a07536d26a8ef48275566edf6f494e8e655adc8aee1ccc54cce5dc084fe80f1b6aafca88e2b78b7ec64acca0d3b87ac548d95663ab35e0632458589b7cc9691611baf174454acce5c0770f786b94ff921fdfe1ed7fe3ac165017184746fd9e24de820e69c2c002858d14dd29b9c6f94d68133cf6494f2230eb36e030e73dba72e89082caad10eb43891a5463148a535742d2f89a77cce9b22e550f900138ec5bfb53b4d73515f735041f3428127b0f03e47dc965938e3577c6f762b891b4255ea47872f4d07d1f5075a0dc18411416d415dc7959cd18cfa0e1dcf273e0a3e3e6a21938c3064aff84c7f940ce70ff1b95a4d5462b630f6790a752d024b246f51cc7289ff6c29c8b4ed60e467ef793171ae63eedc4255d8db58c9cc0645976e5835165adf1bf6af4e6072af728abee902f7b40b30b8fc1992993f890e259ed5a49f99198d83bc7d8cf0d6cd1a099711fcb666913e878c4536a5317857aee08a98bcd3a0a0e32a1c024e1f85c2881df360f7ab6dfa714876cec76c3bae788a9b7a578a3ede67166b84b804b6db6b5c19a931aa34c972cb01e569d62c550521bd0680f98cf676d287e81b06f88eebbb4adcc52aced82536af2de88f4152e12736a6a51a1e9195ef6f59c75f0ac708bab99850f04375f7a3e96aef26f0356e30b4f7ef87a30d2798908767bfe36e34dffe582ac004d7af638d8e0dee037bfc7bbbf5228558cf30d58adfdfc31d251b3f27afce157c93db8b43620b08105aff12038429fbc62d7bf98a32f74115c5fe673167850ded4095193f4b8ede995aaea44684487b4ee238d115a2d0ba61965853b210a754b7772efcd709be84c337f307b64a3f13e656d9bd4fc08e691c983abfbe2b239b1fbfcde57b367daf3d01700b1818fcda1524721120d647576ba18463e4341373fb1750c005a1e090e3f882b53a33801900844255369d649f99f5eb966ac070e0e15e165c519162beabe673b0573fa8cc45002586ecdffdc2245c81382018d97944619cabb081d68f3de45fb5becded56e21340d6c9bec0c24c5e9dc6a1460f066bd35cfe034675f2d371ecbaaf9b71c9e561f4938a95c1f0656218a3b8401b8c23754e59f0d50baf4a7f536b4929ad8e217cc5b9a04262b3366cfa68d7c8cd6cb2378821560691e16a42b523305dd08000c40109fba4e6e1e6ef1b1cc360bc5ab6e13c150e7f81c7672ea2f79083d75019b1508324722bdd438159d0b781bf95227be86d3c0360db72947b2076dbb3409edff5e1e925748b24d4822bd701610e28f6819ed84259d357d9cf47a533b7225bf0d8a11a24a7184475c35d4743ff32f1c947f4f4fb435572a35767c11d74f1dafc3a20518b759f8b8b422d12e67a1e6da26827963176abc1fbb909a79c41a45b3b7a0612d084c54ef3056d77fa0f02a737ecb2b08d968b50aa3d3cd47a9e8e1ebc0fd1ff26865fe4183e0c53c40db1e95644b15aebd63b58b8dcdccfe2d474439f7c83b358fced82ea0ac7264886a0388eb67ae668795a2a0c37b85f916e9306b4c43a2e67b5eec5535c3925d9294d7fac72afe56921bd3d5e16a6b1b0ca2d049a90a33e7b1b7c468f5b38576872eb8d90b8f86fb6ccb2f12f4ff316adc389ced6f253930576d8d5f2f5123f0dbc33b83eba2c86acf155b997cdacb52fbcdcf12207474dc4050864f4ff360f9ab68eedfad35689d090b4b0dac0a4be2682f1fca359bea099de752517e7ba2d549a1e0c83175b566024d69caddec68b716f298d21fcbe4a582f4c4dc7306d9c59842713dd91fbde2d72b0712ed1cd42df31d8e1d7f40d7f8c78e094cb4ea842470fdaff0c248085e876569bc68cbb1215724282a1745cd43d395a52323d7f7bd381b43170c3b9b85378dfa65eaf57fee637f270bafe5dcbb846e2dafb075ad1f42531af145545e39c7fbfa0b97d6e282605bbbaeb99a2dcb16fbd0afc8a1dd229a22f14453b4fcb44691ec45f0e3ea7dc4d8ec2a71ad9bb66dbb13d0b4db7b6dbeacec0236e8756ec569b57f76a9916ee6b25b53603ad9f8b74eccf6149d0e76bb97555d33a3f44cee81050e57f3be1a2fdd62eceece774d1f09a99d91ec16d354ff07411cf05c24bb0eba821521e5e74b75d8db5c2ca98880d4dc4b556891f91c7efc64ce15e4ddfd6ab3ca39ddbeefbe7bd6a2b2a2fef6267f229bab4318a2849d9918f55970130e04567475bd7d7f5a6bf3715cc480178b883824893a846d78d35bbf6aea9684001a4dad1fe47d8979ab1639475b8a7dae716cd136630618c984d7124529d38f56ec5640e9728ee518482f1a00ffd510e73bcd2a06fd8dd64e5996aa7168e07ca00efe171068236b1be7e5c849c1408e344e29f8a6d5f31a3722da01edffbec145805e071723d2bef15007bab739841378e5524d92800892b12e7cda19d2c6eb50142bc9430100573036f049a52c37b6c9f8c6d09e8bd9548856c35d39b677adb4e72a6349bad5e1837b465f2ed6748d844821a9bad37f67242cda80522fffdf1761dc9bea6677601af7e10a6502939a84e4fc22eb246337c49333c72b751b03fcc44ebabee98237a06b1bf421a285ce73c1974414f957103931b79a42dce0b224cb6631e71507b817578e12239a4479473d60ca9776df2b94db0aab5b0340f86e56a4bf7ca7211e6316646a35ff6b7eb7d875c6139a7f8b713710bb10afe5443a92f4093c7478ff6f9ac701d07948b779de3457251b1f0688776a85e7794c5ea9bf8c31b68052ed197bc3cf594f198bde3e502dca17b66a28000ce8a1d1645d06bdf70b7c005f99679a13dda6afc44ca3aedf32801235289ef3b1d2943851f0b2bd046ba00cee95bce0574e9ca2764d2f64c44cbca20781051137592c3c9f0ca5dcb4e051c832ff015e827fac374f1047445b1a033c2f4c110350ef1d0c371b8ca366b39f511090d6336f5bacc7ca9d680bf5041e411d54b449682730223d0fc96dafec33d7981817b2c12e81e7d7b147c3510152d93bf14c1f470e6848a70c0be146eba8368e6d682121b9aed96a8e7f0a27c0123b102e96fab55a27078cd8ae257b250fc2d882b052399a7e42cfcc22f8fcac2c5f215f9545674dc2339963742a884f30406dc29796eea63844b46fe2aadd80050baaae8374f022a1cad19afcd6b1a2e539c005d4a752c28369d4a81a3924f63397924619443f53781d300fe260f0bfae8eb2fcce156fa7acd2666586b4607aebd85fa68654bbd4a73556fc936e341379214f4d486048384baf6109a63a50c4ddc07122d6096adadfc8eaaa84f8debdeec88e4478c8594659766937e59688dd77cd72c1366be5de5a93c1e64f63d07f66de4b759492552c596df120eaeb3b436d50de9a84b8fe7e55e546579bdcc1cfef578e06c9a98554e67c461119f74e0cb5436866a48f94dca70babaf5e65922d5428b1c1a5a9205b9dc5fbf1cf142920246f5bf908d54cbcb3bed111bab7f823d7dc7b44b36add338ad22660a6ced88dd493fbf862831a3f2e3d1a3cbd89ffdca10ce0733dc5132234e15199b7832f9383aef953fc08e80fbb7fdd4d57ce4bd2dec5f945a9e56174f73e9ab2329992e591379c4eb0c12c6d792caa96047d3111955eb4e9a4a7ebdb4058c1117788da732ab93828884a773286c66f3e3bc66b27dc30717caee5409a6f164c88475f83a21b01080820679d84d1198ae1ac04ba4fd1a5a8fd2744f28da54f13f938476feeaad4f75bdfeb7aa9bcb215a795435647282479982cce3c557bd44a6943de4354fa611b412df68b91f73d310dbeb33cc32d369bc974b77fef608fc4dfaf24b6fdfdf1e5dace50befa0a64a49d136be5f5c1a516b8e8374890d413cd1c054cf129cca2fa6e4bef44ea88488b7a07cdd4bcb067d2b6cd0c6c30948a4e0323391a21c34df435fe414feba52d2f0c60d6b3983001ba2376f8a8e8db43a5566440371a41d3de81b4ec60ae9b7dc197538e9e275b327d7563b51ab8dbf583951123df3cbea9fea9ba8193b98221113f54b5478483a054a732366d590a0c21bd28b5c32ec1b6a5eb37acef756ce73733fd793b277620d3ad9203773fd923fbed7c3b7130c6386b05ac9f60d67203a16c8a903912fba3a8d77937edef30a48c31a1ffc6eed48b4c9db6423bdd137d595aa6b425dc4b40f366a40a98a3a237ba03fb9b1479c5986bd0aed0b00cd3e4e4c13a4dfca6948d6973de4eb5af8a89a0df367df4a9b46c92b7742c096d6ea81822b7484d168e5f113d563f44f22df2c94b79ee893cbc1f1af330b27b916d76ec9bacdfa1b7b56fc5da9d0e136101b31d5e80aebe845ba4b33171cdb387654daf61c276bb102d1f414baa178baec4ca613890da805b4ecea0a46598a25ebd742845f66e3c2e087d5615515bd4754a75d36dd7e302789475e24b4b15e752149912cef3f9cc0d16fc7935c13ce4fbfcbd8c5d6ef29e2bc50fcd7444997a864505f65d9c1042df5ad63f73dfcc8d7426e4be25bc56f2b7ddf67a4c74226204c6ee5927428549101cdad1efd179955e750f69ff4ce1f18161c86b0abd5439e35fe1272eb204779e23fd7e29c49ef98a8b4de6cc50a3736ce80e1e6eb49aaa068a0a8f6b4d29aba2fcc8edbb7d39335f0ec6a87ff6b7ec936f024f2c77bd1f0ab3791f2162a6a81458e8d6c226bbf4e9de4938debd5e323871e9ccaec45bb136b5bb4019bd5684d7c0f10f79a86712b5d51a5f1d78d8d27de4454d87eeb73c570820fc0bb53345deb934037ad17fa78329ae5a63fedec7d21ab41344321d3643c29044d999b3059c0e45e37a152716218442dc447f785165ababe6d87e680e780ab2950826ac2c26b881143199968357acafa0be638956b413db23d32d65903ec41e1de0a08bca385a1ab9d5bcb03fd8913f147be2fc0d7e6b861d79527a8116b99f97a0edee97e812cfc79fbff2b4606fab88119e069f50ffb6ceb48241cfe13d408a8726a902b03243c6c66be7256b09b3b9ad242ccd271d7bddacdb5bebd3d4b1c41cb952499cb916fca414259d304c518e3c123e48744582d21b0a27cbacba3b2b5a85915d8c3b899970ffe733460252678cf9bca0f10368406f96f2538e620b68790a5e92d08ad35ab87fb9a0704295555ac97766326c844bfdabd5ac735fd2ed39dbaf2a61a7806c7ea6fc06584064d040db9c0699e700422d61149670b25945e162372aeb02986ebf73212b6b801befd7e5400f6da7343443c9daa81e614d4581f2d3cd27e56f4e889127d614523f69142c8393f61d4fdcda682100c281d2cf754c92a4e27c9c4ef4a7e517310ea78fd5cece0eb63f9c8462ead2c9f4d43627f3a0d46fb5a8de13bcd9d9f6f6baa13932b704b36ba3a23ccfe1f411a22bb9e85944727394df0cdc5405a660d41200c619b6b7e82e8b989e1b980d9b7c419e9bb583bbeb8be1ce1309fc76aacadb149c42eab4f7909cda294cc615308a21af56799160b9bd6ddad14660ec2f36f06406e203bdac168a0f0181063b6337a1d4a44359492c70db731382ef892a5d7f43e790088f3fe5078db7f0aa908d59cac9345fee0ec73e74cedbaf36494173993a12b221064ba7a518bc159d3b05902faa2adaab70e75500b2bcc879930d523fbe2ec7c44c973e0485ddd68389b32a90891abbc89c79a68a93d723cbba2ec427f059bb4bdcd56477d4367ad30e9aa8bf19e804594a766e763984a26fc1be9f6a4293012671e0de6dc93253e2988a7c0c70118245a9a651acf03073d2373be5132af8e12751b1291a2b706d24d1d76d3985184dc953672b08c9702432156d1a081e89834be80a808380836d45ecbba71a1baa8f80814f9a096590981771bff1bbf9b589e36863392fa10860a26b5624a6da9ed2d71980cf4285cea5f53b8141a362ff13de9c686d63c86e6746043e827f0ba6420c6850592a3351de32ad095915d876388e90bbc3daba23250fc6bd7f99946097b6237e148f4535fd7864b9d5872809ab78840b0914d83c4d8967b53037b7ed5addf31cde6272b4a86460d16fd2c61d66878a43218f92c318dec26d33b3167d00ed9dfc1da1fceca29fbb2f6f86e077f3732aa11d106fd2b715b6d378379c2a3a53516cbaad756c7260fc8f1c24e15026324208fbb50dca3b4fae11c690c51e203aa945b88b8176f98e0831db13c184495eabc84bffef7756c9d8135bff3bc9a8b43e5b6a8882fe94ae4627452f38ad34efee39f4c9d2be0446f1556372500c80d314a432985cf49a90bee76d42a87d370f3a06824e33061bfe6619794c0edd256ae534702e08ddb4eb53de6b1454606706bf02f7468b8363800d7c6bf0d24fc5b844f3fa1eb3101bdf555a3c014e236b755361ab2dd9d2ee24d91b6cff4e70899543c6a70b88746dbda094d1e1589652e42366681079e98748d29ce1b4996da234c05b7146ec5b419db4743f2e956cc690627b95afd2964680f125acad98ef253dffb038d809fe4910acdb81b573159ea7be814aa62e8590b116149e87bb8ab937ba243cb4af94618377c4b9979423dfdcfe9d5beb0a7357d0a6f63fbb30fac4474766b08d22879c48ac06fbb2597136433d9c73601ef18d88df0897c8b0721bca1322119da68bca9f0c4f91eb26cc1875a0b0bc2be4a6718c78ca7b31ecd7548b0d4e7790f54dc7131e071a13f52f02cd70e1aa9ca40eb7e1e58281e8df9e06622eee7b99bfb6355b020d3d2954de633698fb5cc57a29aa0ebd36cf6411f6a6e83bae53dbc548bb019c02251852f68dec36cae8dfb706a9e2ad1f44033d2f1aa175d3fb35b385778928499a1e878f3fb43386ce984d3f154d26e3d7775f0a0a9a2c41d72e81ef2f6fc350d1884893743debdc8c2ad04526647c9d5c69319379d7d80bd373426ffc0c21a07f7e8cf8f83de550118e3556e485b895b39903533247737ff818d50fd502509f974193d99ec1d8b9d803b3ea41699c957efb63df3621708019f30ed74014f7dbf36ad970a666b7623fd56d5fbc6961048d7220dd2e1bea19d124084ec0aa73a090c77933c8cae36c785e34f64818c8390576588c9c87cd1d360871f567ea8cd3e7c4f21d20b99aea9d585779a281ba91e4d7b78707ff3edf0814aea3ade624fc0818d98f48dbf4d1bbb2a12315dd6cd3617ce77a08b7a031efd63369153026c16ab05c7506df7408643fd9bb2db43380b7b42e16b618be34a28497b36abaa18a023680925235edd643f3e39f338d69970520e153d4c89ad6c6af50fddd5f22d37ac048af177902f75335116f502ed9f6b31305cae5038f90acd1e64c28e8434f4c8a98507f66e04206c41bf3453b2c036fc18d42f9801b4dc0f4013a827891e2f14b097a65ef60a2b566ddc4ec5af7e4dc919e2cd673e5608d79864c914600e9d8ab336573cffcd228a30ccaff00dc64ace0cbbe429995a610e9c697beb2d6856c5db31c92aee82700da9e4811cdb1d2aff6d26a3ffff602a89b6e50443ea1bef1739988ef5eefc6d4a2c9b372507b9de3c8fda82d93b398611b6049660f4b59ca439996e1b9fe06131aeab377da5fdd54056b5a86a964fb939887609ffc07fae697ed7529612bdb7fe67b9bad9d388b667823cf4f4c60fe74530cdb6b712cf46679c208259191e7ee3ec5a1f5fb29fa9a324827ec3562a1ab2519dc3024d6e81ce05ba929bc4d8714ccf4790789f1366fd857739575bd4cbb576983a1ee4eb28ac043267a54eb56f1100842f826fd84be86b492c4dfcd5d039c3eb7136bf61af091897fbed2ff2744988d391b9fe8f299674142487cdea41bd2f0496171eb48b660f2112b46b35e4f75991fe00459246820c0f5cc9c1707a50ad18b07541d53a68be672783f0d6bc412dcaa8c37224e58b5fb780c15f1f1c304fc50acdbaf4aae602eac2a151d0b7ee3e13ec5d3849a7319023164b8ec31752a8993b133c05c79cd06b94d982cdd79d86213fc3cfc4b034f3f713eddd010156b19e27d14848597c75576cf3fd3014c64d3b2d142e1c34cfcc8daa0ed27e199f735cc76efa6b59976ab2ef64d314d036492729658a0cb65dd4b2ab313b06a7afdf1092d83e4b0c42e66e27c09bb19a603eadbdaa5405c400e8d345d82282a744dd3ffefefd42cd2053cae36729173ae4048d4b262f36eafdcb5613b6292bd67f7091ddb1c26fe7e24beaf351ab75dcd65f18eea743c5a475a72e7f041efcdf7c8ed91ebf9682126492b6f72af23fc77d237a34e1d9ee25587ca14bc5349a311c2795f6249b257af3f6fd3f03e414639fb7dc6fae702fed6cb0ed60294718b4f4db8b13092c50d2d457a202e36c236118c5aa9c4e3e2d08cad58d8bd7c789cdee5c967b0347bc278baf58d57e3ad3f0b34696da4a0775fc7535c15c1716033a3dfff3782b908bb0a749476f1ae2c8c1a0a76d90464d17ed383bb0fdc76ca35ae863dd2712add99ce5a34122326c4158d62e6de06d00fe4d880e5f7965fed795e8d0b798aead08ee281a454619b705a9e0bec0337171227ab0ea099f9609cd34acbe22547b2ff57a4516c506bdcc472824f58b6647e33e4344074fd1bc54e09a0be16461993ed7ded143f8e5be6a5cc17be176e40dd63dd8732e5b9069d05b73795d2612485218cc765826694e03481692b132930b1a84cd39ccdaed3a642fb7785f66e881b52a259f318c9ac7e454ca6754bd0f494d138bf40f292b536a49e49f79e4157190deb80e93827f627a37b25159e3a0c2b504fbe14a6843ed8abcb6b2bf5dbb932c436366e4470edd842c1a8684a440d0217866892ff8ede5f77c4e96045211b0d22c963c638e2b52a0938d92bd0295f549b33261e75875079ca7836a8e64fe5e92959a74dff4dd0b72d2f9ed2ecd6988d6dd2f29f33c91810465d6c6235e2c5d7c289062ab3e2c7700a30b8351634f639c79e8aa3898e089903e4669438aac989b581f5fd04fc5015067967fe166bb8b6718f85c9b1686106e39fd0df7d62afab1eec0918afc4144cae8483b229120a9d521ba77ca59043c64acaf9300e8dacc7a7b0fe0cad9eb8ba8944775d0242ca3fde1b4a6d9ab3a6ede061a72068e069d157957e94e207d0cc229d9c67dbb223b7ceea4d80ee3b018a4d4b12c8248dc91e33fab1bafd87d959cc8df2a7e24dbd7c7a4bdc73316cda2caad2326fc37c1e49c94572c570d6adc403ca405aa35aab71d33aa6f49387174abbc1f63d3e4ab8f83e227034842d07e7e682d844f2501b78ebc1e400e8573f05aecfa3a4a5775a61dabeb07cf1c41d1a9660a16b095d0974c30fa4c9635a3728844bad45ef92e9e4315de35cb4d8004b58f3b3df606c6308242d970787c6a1f69aea9b9ab2251566ab9feff0a9b1f6bf96beaf099461ee3e2489351a94a4ede3d15fbe30e4880bbf7e2132fe2d088bc101676b3a580f3fbf013950d0d7c342242010df7d78db5b28deccb38840219356d4f916b3892f6b93b96f6f03cde8c3c39ddc2bd657122b7551a64aeb2857a2fcd21752694f1b65a5d36a0365c9d5baec18d2cd41d8def50ae6b8fb0253873a00c54681826bd62401cde1aac700ff773e806c45d66734739d63f8324f2d6e76bc321c532372e3d4b7635923508f8d2dc3a5132031ff4646ce96fa2496cc2f08e641f633a9859f45cb819c099996279d4dad03d439dafb552d9de4ab7774addb2634f12e55aa0430c27fe38d3a230548ca372b04cd4619b3761c2d11d5c6d75c056851895ee8b826687146c354df4daef910cf5ef5357d0e4bfadba6448780c706ddc0079a4a5b41f9e4354409e1f349f521d85cbbb567809036ba6f9947a0feae853b54e0b1e4a4e46f6651b0d25839222cafbdddc286fb7797fc5a84eaa7df31e9b6cc1aa1657ed6c08c94329c19ae8646d26db5096eaeac5a4d74b4c7805f5ea5a1da5cf86bdeffb3f478344fdccbc5ca0a460a7f4e8f65e7224c09c99f49cb30e0b11163d3d4aa80282d6f679437f1d335b8e982982c5adfb0f12208ba4b8d1f2f6fc33e8de19eeee7e6f9135af4c47af68a9315af3f9f71fbfbd96fb775601ee57942457d4c06ac9af06d467d550cddbffcafab58012987ab074cc1ad599da112b94cf8bf0b1119e06e3a04342acda5ea09f3c350833dfc48043b71ce2afeb1c7c03686ac2e4e18de53304861a36e8b1fbe99f96d58e6d362682023bcb894bc6309ba70cadb1c845d5cf07f22873cd9eaf091a635729318514bb8a84d5412b020ff7f7a60c9ca2eba49d3e8b6692ca90adf6ff3d66ae96487f51d62d626e1696d5c53a82b28ccbdf903d53c69cfa185d1544ca377be0cc2d7e578fb25e3ee13a19137ddcde2f8a8b2b102046b23cc79437bf5b1b864cb4153d77121153711958000e7c0933415f48636bec4ae5e65cb5a02bdc6ad5f9993711ef618f97e2833f2ef002be240a2eddfa055b6f7bd93c2aeccec50cbb427ba6ed83b37883e667f8bc43f0055d5c651edcba75df0faec0fa04ffb87a728df1b27968700b7592c5fb19a0df8d0601a63f37ab79780480967197b12a152c3fd80cf63a9cada99baa56a8cb5688ca7c9caf79b588ec5c7a288b835686ac29f973e04362aa2632eff5d5fe4134e6c11a22b69586fc00858bdf7b9094b8402b74d673bca2e1f7e66002e5010cb814ad22599207ab56649c651a04e0d74e6caaeff8d43df28b8d4dff6a65e19d2cb31bbb91e4c87b3c408ea21e89eda5b88696cde8fb042614473210915afd9d1cbcc79efeb7f1b54a1fa0db258dcd828faaa2edf102e4c455d4be2536935e2a9d3e6411e17580139518e51d88f3c6c9c35441b3b4ebb77daa478f9749b9eb602224366fb0f24013a28179959142b6a0f27e7a63bc43ed2afa4e5619e03b1d5614fd4bd0b7907d66ccf57c662c732c743963f061c2bdef0e985180ecf7cb46dae143c5b9d2c877024ee545ee79c032a0c698143b85dc2f330c6a5a7ef3234de856de1ddec01e75a994c8204e2e57a0a6ac991daf4e810a7d5eb898e8c9c85f9c332831af5d876345ae1decbc3e238867013b4ccc38fe55b5e366688dae89446db01bd8606cc965f7219b6b4c6f17f476519546d44973153ac0e14ea083602a5f15f1b5ffbae06e69398fd2abd03bd2fadbd258088880b815530eb81ce16fe3f6832c3aa115838c6dc925415da3217cf6035774076a599dc4c14de77617311879b08e2bfdbeb8d45dc3a70b18bf186c85d95306a6984bb8ff887d1c9c312d46e0b817f489d86eaa657b4d0c0be5b87fcd482c2c074df7121ac43000f47ac70c51fc6e3fcac3e06d3b923f5067ba7889103f702366b4383154ea713950363e1d99273419886fcdcab1d326a97faa0f61368caf4cab2012377c6acb7d0a3a7676be604b00f9bb281a4ab521dbe53016c31a9dc7e205263aa3bc5b89f1b65e947522b0ef53e4cfea3d1b3b564ac530a4fd9e59b81a049861d74a593658551d7bf3c4ad069692de9e7c73c54e91e51c163036629ff2ba7ca38aa0067563e0446a4351ecb4fe0a5fb29344ac87a55e2192bc4c16d202f895568ba6460904be30558d531a5d5333a3aa3e59172640cf66dc07af254ee4997bb2d99befdda8a3edecf4ae3fe98f7a416bdd75cc123708c163f6dcd00ac94d6133bc1e5f4711bb291f6bc6d432de1e33dc3af69963b69de12c15a9ceec5b060c7ee3a65c8a47943c9df23078819a0370093299889351a9397a67de7ce77a9a92cffb5aa894db25b0429bf77c124fe7daf313459692123751cc21166ab853ab6ad16c66ecc6bb50bec8933f199355b70eb611f8b74f7093cdab312e287272a8ea73e2e61d95419dde88dc0540b4e503e158c732f477fd6436baadb67f245354009b81a11a756a1e5886dcb085590338eb5188511907a01eae055876950d70c998bd29d2f5fa3de8a3286c712323373839130a9613e106928ccc5e0b09b46ea60f181ff653dc2e5efedb40109cfb2aebd86b69c98970290ef409f991ff1d74bee89bf6e5a04d6bf3ff3799db2f32f5841ec6fb739b58830924bef10bc229e4cc50f170ebb82f6fbdb91f73e5d25f6fea70e701900e98b5172d383703445d618940bbb5916797b19bb88a88f28c5f89a643fd7f061732ac2cda4b1fb429920b09991ba892dc7e6718ec426315adba5df40fe1d3b6099554b04794c48063fcb93e594cc42491ebdfc7de5bed498dd7f6da6ec619e1231802bc1536512fd813eb0384313b510456fe4544d1c7cb4136e4c89c66e28b48a628f4218514b4b005dd3dfd2658be3a4427162adf4194b65b7811fc03f33d90401b7b152079d1ace01b1b462d608515c3832349cceb3baee44f4c1ed5bb66a12a89fbd2074fe890137c8800335b0619878e625ac75475cc1b2edda5ce5548c459faebd7dfe050b6f9fb69e9eb355b116d50c57e95c9156eb27e54645d5846f7aee2aff8cccc4bbf0ea000306a381adeb3f399fd106ed3a5d73c0d91f5f0e15d20b822e25bede028ea984ada11cfb38bed3a6a28a6a1deb0ba11dc24c88b20d77cbe3db0f1b41413dc4776080af557345d5ee7827dfb379139706ed64e6fe57e1d13a7db7588cb13f3dcf532b6f5130e376aad4451cfca5abb3b8b10c0832ea02e3a6647c90a443bdd509ec6a36725cac857710ca333e223ce7441100bbf4f097b043a280de58a96105bd27bd410e8674b099fbb63373cf1ef25272feb8eaaa5c922abc370744e6ad2ce2601cd5a50fc9c3a6237f1d248080e413bbb98fc0c5996d2d6be6ce49a80a08814e5219cf53bf89d79fc9f678796a82a7424b4ad4073a182b4ffac151db9ff2461acdf3af168e00f474fff130d3ab45705d6297998dfead0b57d9ecd3962b000e3f3cf29b87d3f1b99de7d35d2cca586d71164c364885e342b34b571cafb55cc67704047f2cc8910c8c336b45e7429e3954a23be424a1ce70474e0152cd622543eaf4e55faedd8cb3f98cbc74fce920465cb881d00320e199bfe50da78ae8de4d1d8b0e9b19d07990b6a0196d0faeb6b65281eac9ceb4cd8ea9b47b9967df42728d318f07eff1521d3488550541818bae53cafd6bce4228d1114e5d1de89701440d7f829cf0632c0399e1489105f92eb253481870568658292d8af4235c1d4055915a1037c59b2bd8e735a38136dd142e0f36f1789a8600d99213feaaa635be92c5c38dc8b25185ea048fe0dbe53143e1762b3f43ad0f3ffae55ae6c98ee302bcb6a69b10ae1b755a0e0a36640caa76863ba162d1c15cba60503e0f217d1e9cd75d6ef9675f3727a112e9186abe958059d8274ada87a1de9de6b25c730e29c399e1c37d7ff0e61c98ede3d696f78770693bf5d36a91ca7cf2c54509eb8d95aa9e9abc78001ac3de7e69d5951da481e22475cfc0a8cc16080d9e1f77f175187202c0539e39d4adfddbe3d443dbc69e556b737da2ea066289e379443443fd7d4246f2d9adf531a1f8338dc1f53cff061c1d062f197ddf1ba1b7548bf854ae827517205597f2007230c26208b404bb3e51f5094a98b01171c03889692c2a869f691c13041c743970b6a7964ccd5428047ebafc09831f2464efe10e4d483b78dfe4a14fba6853fac7a519564255f5653562ccd741aa60e7477a90a0cf1e955e2e0ed1cc999a41489a07d9b9e04bfc2fbb96913c1adfb07070c094755c78f4b7ea467f537b6045656f730443a1bec5eff89a849b94e2a8cec1805124a0f813a21fa6c1605f92fdc3f2c473e1c1bcdaffeaaeb2e8dfef40ee089ee8ad45b2630c6f52124f70d0374361f44b6e713f4b9da54ecdf333c70faab8fd0d2dcecf3f9b351faa7667266d2d37d77b4657062495680a96143a15a7623c260b8ec2f986eae65d1807a038c6ced3b9095f35657b8abb324256203dfe3dddd7c323def24c1ba482b49c11db50ff7e586dd0cf66f57a615469a9cb50ffd702c216e4898a72334942e63f2401b2f1f0ebf26774b7b262aa2c4395c7f87ed9b6813c33b63b56ef5fce39563ee16491af4a2b024ca3941b8ad588e04843bdeb1d64abda9de39444b6bffbd082e409158d307905aa017f18d11dc6be506d9c139c73a3809ada4e32cdd4aa9ad2e08ada6c80b9711d94b789ffc85ce74ad40978252dc93ec66df57ee9307856a128b32ed4b7175918ce46eb4f72887d7152de6a48a209f32edb53c8629873211dce411b2491802e00db985ddb61078dc6c8ce4ff0c229f6b137c1325d302288bf0133c7af297ee079c1f3f3380d812494a29c7beb000cfb1e81163089988c407c7e31aaf97efef21f8a3d672546adb3bc4b2b68af10bab9a534603ff893cd76ca0e0d1cc9e492a0c3b38ce2f8c3d466cb8f1ca6b850a0fb01dad509de49a715cae5b294610fb2cba88f2b8609191a2592369387624e7e6ba082bc789f42eda62030b3074fe19cd5bedaf5f099f4c0e622ce31584fe4a94ab3368c23828088b2a369298a4804a1f9a225520dca177655dd50533aa78e6cb9f97ee6ba0a20ea5d2ad42d34599589105ea005ae77a00241557df0dd90a5dd93fe86cecb54e5a6ff95a4f3d28af71b5f5c4bba45cb2e692b544c00a4e9325650a40b459e79378bda926b08419d438f608d43356eb26c0abb8ac27a11f30d7933d87bd44f93f8f9813f3b52aa559a5d5e21d861209ad25e07e5bdcd7f94d17db6f5834f0e032c6a0c6f677fb0457db6a29a2a8d65bb7b3b905db2a50ab7540f4914b5edc292c06e3aa1ad09003541ce46a7ec2281efc541aceeb9aec3fc836c947b0d52cdb269eb7a5345aeaf468e0431aa9d231323138ccb5620433a2c8d58e9112756ce622614685d684e70ec5370c04c7bddcaaef45220b4a37ac0781f812a065c2093f973c6f61072854cd84f24580d3969629dae96f9d9b154bee08a94dfacae0df8872078e8346ff30f7558157dbe330580b8f2785259816f67fb1ca468e16932cb8d510f7b7c359d33dc69d0a4ec1807ad6d755aaddca55369ac135811755127245280f62ada822af3e3361ca0fff9e7b26b4913d424a8b910fec7754132876986af0f28baf1f93d2c8dda502b97bd2876a343bcc5ad60ab8457a766053f872bee82244ada80d7cb8295c662dc34c22c106101b7297d6b7ec98e3e2f4bf5a0bc45e70efe46026e259c1ff0fcc024662797a48c33579eb180499a2f5eda3cb413ca99d22e88fd8beb0b3fd40834b12112cedc7744f477cc7b7cd335feb3d0f4021c6f4c7a9acb775ca632a2fd2858bcbf64e7e6682109acea6b451cdf7cc726c76e8679faa6a2582decb685512a014d988b057a08ee0ae223098026addf79c3760db74d98355d384aff98f54454b2b9f492e5779f6004685a02d4ec78d42bcc7711981524c6c794cd56fd4c3300042ecddb724ebe62f445c066212eece1633111a34b193830f86dc20f6b4aa41d09b9405e3bea519022e10e2bd2aca41d20646e4e09c3c8c9b30b510e6fe4d7c3bb21a200ceb20954f88dff340750d417cad090d4163f993af45f4091426031f320e383ace93cda9f8c51e613785cc73cc6baa3d6e1ff1c67b087b735e954d8d725670f8f5a6248583cba3fbcbe06c54a4df2bba47f39954b7fd3c9c550e71c5af9819efc456e7053430e7bd7029aba901566c68d261e10074b1befaef03e4990ca45b6225bd794d0298843d49a84abb4a5300c4cc2f715e519e9ab08802b03f3f758bcba514ecb3a4090acec25440487e6a8c4bce2597f836ba11672758b8b436059b18ca01cc3f03d38d0a20d0db25a61648d0c643c301d7ffbbfeabea0a1e8ba7eb0f6664a0fec8dcbcccd82539511bd4aa022b1e1c80d2c888ed5c449d6b6e44feda333120fc9522d25a35056b74526170d4876c10fb6cc43b6f9bd71a1fdabd1f41e5e4ae1470fcc2593739f18e415a941047192713dd0a7a265c2739d9364a769da68f9d254a13cb126957d222cc8f53251c84d47ad3176a8fc851678725c0bec3343ca4622d420d055df6c0bcd3f5e43d22ff4e8f5edbd05575c2cf97e29f0a16e7f7386c3d2e2536c752df07dd9825b8a659dbe7a8204f21a2aff2f3b2528dd6807e562bd75159313a3371d09edd9603935f9d354ff977927745d881e6c479c34c2f016c6ce924cdb6608cd607d4fd16b541651cede275a5b6a807de9db3d73b63932ea15370500b907c93d1446890a5cf436323f2fb6cad77bec9fe02b689c0fd99b2ce1ade4981b12b0fda49937bbcd2845fdfe94821c7a24805e005c6124d31b448a127a63c9e7402af072ece4b4411e119634a239d366af15436865f85a5726a2453984d57cc798f1ca8ad46b04baf3f098cffba33aa14e47932bc7efe54b354be37a1e8ba6cc0f6cb568606f280465039b62e92ad1ce4a8da215761513e525136d29d5d1cf64ed6024d656ab2620b64e94984ab45f278dc6e96e4f9c09fb0197855bbc8c8018baba3c6c75605419bea8b38a1876acee490a2fe9ca8ed875c2627efc3f23279646972923268f3291cbcf08945df900eba2adb59f6ab2309e768480751aa2d1c610d88ff2a8ce7bf27a940a8e773b6afd5c216028dce788f35c7203e1813ffbb03c018e03503cd3ccc60604e5665bd949ba21fdb66a97ac7a0fb525af38d96498fdddc54248bfe0bae0e33af917b7cf0ce55638b3c5831e0a3070c00b36abe34d02015cf50dd3437a635b12832e3810fc34e7e62e4592e36beb73a9b3af4be76e429bc26832702ea32894323f7a4fcdee60285c3f53058093386e6dac813fd380b4f9de972d96ea404eae67e1e9860b61912957d84b4a01ccd12fc9c009a67b952538a51c43400a7e1951a3c8a8924e1d518f62314d7fbac86ae47c314e240a2ee7d5b045e3a96144dad497eea52c49a09ba2b2482f009fcf5bbff6964f837c33647be20fa25ea4b4616bd625a4f9fb14dd023a9523617c571dce86018d511ac83e914582061ff3d523967ab2970ea2cdea200d4d195e133a44aa9492369562b59825fb76c142b9e4173f8ff3e8d38f353813d91154ed19a71c33b40229c684c3d30c2eb8b0b119bbddc6557f3c580bb58406aecf1357880d49f5ab1c9db8dd5df452b0ba3a88a55c25e240b6acdf5339d82ff8af192f809315a4beb8c0827c7db21c90dde3140b7204cabc9a98e8db845bbb23a4b00913b712f5cfad93c7e5d45497a4695bf63f02d10b260bc49139e90f5c1117e1e314903f7ac29015ddca601a534b9615b5326158fbe111fa5d74a193d4c79e9dcc6228e30b46d1fd9323920b6c6e1960282ba290673bf082e2d91353fa55d1db475f473e429d58fb910e7658abb91c34d5a76d3e9b744369c6504f20bcd4b83246b5ea6144b64469f1171db9cc94128cd08efee601ceab7da8b75212e5db69a421fc427493112bf7757051584d7245a578b7a90d810846e137c42abfb5d8155465d51ad478ec4b90f274efd9d3dff061f911b638f88d39feb1e3c8240005c05bd8c71aff866e508a1d8aa9576e0b07c2b192dbb42caa4a594b28a7aed4858f8855bba159db7016fc6e8240fc6ab255627570d073a5b83805b80ef453d84e2bbde198ee601d14aebb0a9ea733ddefbdee9cd81b55e7a5ec5d75af1d5ce1d5ebaacd271b8d86db8457740444094164cc4f361746cbc8e8f30eafcbf1a3d388d7fa0a12716b40fffcd3ea7de4297913e70a9d71bfd21d20d1ef0b5222a556b4e739fc94449604c14a8f77cf00056dae8dd1e2773a772d7a9515ac2f9a63001c7d31940d6282b56b3e35c249f948e37b63597506ee952a4ff03f8b2d362623a7c2502cb7980e2795f8cd701105896c7cf10a00a0808c52a86055fc92c76602dbbd52ea0fd53e605b2432631cdf919a6fc34e45a39329f7f0f1b346af5580111d8f02a3ff393fcd3e85c4984b5662e3d645c292eafa8e0d5687cb6dfacd381634eb5953befebe2c46a5fe4915701db685ecee998d0bdec1bdac7c3ca1e5e8317bfddaea9ba2bca66ae4189223040aaf0630e4bc6350532d41fbaeddbc39a569057312293308c488e28ffb4536f63fe8ab1f7e1a5db49aa25191d171f4ab4c6fce9a780ac45a39c0a9e7a7ec06ad1f9f6bc88d98a6f24414d0aecdc494e82390aaf320f503226059bfee11f2b64fa0b4116dc2e259ad95d74a3e50d6fb4e88fe8a9da93264b7a880b672426b96f0bca736f8f926f0f966e55356e81ec3ec7d39c59e0e6880302d4a70c2ca5393495f93992f12b6bfc758c83c4ba25cc7f048b470be87d1d47c0028e5f09ccb80f9c9f57019b77cad9bc91e3ac75f17da494ad11305a9fcd57e353a061df07775f033ff9bbedcdbf4c15cafafd4c69daf403d9cac5f79345af38a4f239f1e9a3d43970c3f6dd431f7652a2db2c3cc1472d5a63eeff661af8c9594707c9fb3ed7d7a13054180f6a8c8241925dd49cd1577a997064a7402daf6c22fba81e734cdb35f3883974602a153d068a3dbfaa43bcf768b85c934e6136770f72bcb0a42f3e290d762c097959317d2bc16c062671a0cb0689a07e1668cdf47b609af0a44bf529cfc63c3575c084ee46c999041c3de49a62a387430a80df4006192e98acc4cc29584c107a53bc88e7c20626466a3f1fad1f40f90b7dae94f1d67b77e350b1f60ab219b5eb19e70f355f5e5075c1cc666e5f4cc1dfdba3673c19c628e6664c9174d4731256794832b062c5f5e97dcfcb5aa2a8c910bb63713eb8eb0fbd850aff5bd6b5857020d04e56255ea20b4ea6781efe7530f2669b5e83cd6ddd64f5f475b675c7ecf8e6737705873a77cee90078a6243807f17a1b4e4c21e43284fffe14a7b64863fd3f27d55ac720d20c82f36403280a5dc384788be78fda8f071990eb2e70b053fdc94bed52ff974b7bfdd35cd1681926c19b70d85ed59cee4e4fd1c83400e23ae3353ac6a1cdf969f3a0a774cf4a326329421ab214210d17a80f671af7394cfb059348007c9d5fd6ba66dcbb7d247f7b66a5d2ea250cd2976bf033169d07495c820badfbac8deb9dea7fc3569f114aa440336f8fa9c1d5cc2619b1f72cd513c230ace17724c0549864c9030069e8863301086250fc235725f44a4cbb019ca8e54803e3a08e8fa15fece2a24a21dbefc30181c6dc220d3eff189506d44a1e3d09e44641980f1afc845c42d97118df8c1183d33024d4c72443f28d8edece1ebf32be5a9f941391ff92ad4b868a969b69f068914970b43074a2149a4b8a92761df368e5a6a3d86bc0794ac1b5bd33567e6d3e9b303d18e4e144271d1b8f67cf66410a79dc6f42e184c0d45a244bc8bdc9a1a744497474dc59cee9fb6a5bf814b712bbbc273677549fb670e3a58b36931ac0a232aaec98de516497ccfaecd8a7b3fc59ab0763774e3b0a526589eb1653a45a3b4aae4fc2273c5ef8bc83f78e12f3c76707f69467f4d4e99c5c0587777971e32b628afc945fd21f9f5ec51604c476c8775ae7c04b23979eab7241a6c2cd7a3b3ca091223d151fa1551cc1881731bd705b87b3b3c39163463e2b838635e5e299356adf1c7ce7f2766b035ecb98fcdc5069d3c7a5178a4f8ab665a095839f05b9b7cbbd78579bdcbdb2334873af7c11f047c7fc8c03e57d5b7f2d10eab38af000346ee2c420638c8f3fba3aec071fabc66272caceb07739efd8b97f75f3bbe8c7e7fd16709ec87e6d30a0aa8653b6d782608bf97efe698946fcf0894a7e837af8a40a6d49256e3a2a3ed9325e64498dd6f56f89e859ec8d43ca5395bda430061458b0a243050bc1c515a890874ffe662145a60808b71179d093e87b3633597a141203e0a6ffe5ac74164306e15412b97985e75d250dec30c7d6348583c85892ba08c8c364944ef673da6e80ebb30b9d60979510eb7c1d32b3ec3c4f0e2cc83ac6a0762bdad31f242012169389ce742d40283ac7eeef50a8d0c30d6df0105c9958a3593840a2c011af5a79ad15475d45124ba09860c0c84168bd194d78da4a50821c34ec65cc88f02aca50076275c861b494cdf02b872ce85022239664f44a04d10b04d1fe05757c855af812514cbbd3d4268e6923b9051931ccc9b8cdac113892b4440c4743eb399bf3ca0ef6b7a510a5926d196ca6f3a2f394fe04dc5683c668818d62ca2015dac1d6508ff2d5faa540837cab1736cf438f3ed53a3265f6abeb3123fe2997e90b6b3ea29e06e210156453f83c6adcf0b1a31a022e19fb916a93db61a6264093e0b29d141e83fd72f66a7dce028c419764eab145d5d322c2a2a6ff10b44f5a63b903a5ca6750afd2249c0288d67a3be1b40427e64617314912287a8ab575e4234895b5346d87a856d7f96d1f6148a19721bd58258970eceae48c7c4ced766d50e35e717d281a44197d2a38e4fc9b422171eb6a43e8e4edbd779ebad5c3907f937d969de7c97d1e3a60226eba591ec78c2883a3f607bb84034fbe55d92d2b69b4fd03d39b062f363ee7f62750d0878087da60ef72ed15dc5bcc30675993bc9d7895ae59a431a8a8c685ad9f1f6005fe4d1258413b8cf589d88147ba7ff5afbf503380cd76d97c994c78518a51cbacae2de1b148f26fdaffff56623765f22d332625b2ad5e588a0cde90295f53e653b9e2ce93223ab2efbad5cc6e5f6c2728ba7acd43432d4fe79408cc31e09b658b0bd527a38b78ed4ae072635352d5e5259510c1b00b81e956b5639e5819f61f0e48befad36093ca284363ea426b91096fee6d0683eadfbff4ec434f6420c34e223db72504358a9ef62f3251cf4786bd40cdc309b8b5a82d2f13f156a27583065daa2ea9aedeecf7464ae6c8f2e41931ade34bc4063ee015c474dd728402aa779b11f84498bf7694ae80686e0361addd5a1fbe6d4dbd01b68bf5dbc8b7228b8f0aa1128b6923caff16976c586598e7dbd52f0d34ea0a7f424369871011b1556d7b64df501f32200a500750db89b94ebcfba0e272630e4ab7c016ad7039d5f9fc8b83123d4992b7ec97ef69b485cb8ce5f42685aad6b5aebc9a32cd07abd28f361b961f024053ab16fd8fc18afbf0eacf1837c71a8a9c0fa7da4a27ebd46685a4c58ab0cd37cd9da3a296761e54ae9917848cd503597b6b8dabcc0c7a43b5ae54eddcd7e0009135df0a6411865b693c4cf1a1603850dfe6411fa91f96e184a0319c45940e11aeea16a519e4a142225fcabebe7b22b1d2b031e01a93054638e0ca7406d8a6b4aa881342c59e10ef2af633afb4fbf990359fcd3c915f8493671a185d6f6e34cf861a0b43abc5c9ba82aca8c53da04abe2698c5699f1d15881f9bbc9a2c80f410c4f4a21b38b5b5072b35b41b0f4d439423f545b8b3bf5e4de84e5c0e45c8357402896d411a94852484d2e30518f185fe2f2c1a61afe14bdf303ed4ae7693af550eecd4afd6dc948db8c7aa8d6440d0ba99aed800e99720271a1e4479a7bcf966b6a2c5f0480f5efd6f0edc9ef5da8ace81fd4275ba31745db4184bd9079aae966b356ce3a68c0babb9ae52bb7adf00c9ad0543dcaf172021b8ba860e979ac8c194a9d7f73f8a1b81af623fedee52343b5a1a53caa7cb2d36b1287a05aca5ee8c660ef3c4a1add7f635ea58b90651bf338053ceb7fe57bc292a3712c9a7685e3e1eb038750a0645278aa93afa2431d96d6da07cc8bb6e7c6f946d3d9bb97dee68b8b6ac895117c816f1ed61956563384ba3c2dc0bfd4850db7b246c5ec40936ad23c611d16193d4ca1fc583afdd287338d1580e22864029c6829c57466822c33792c67878d8a8797883561c1917918f4557338d7f956f9468ab8d22e40d5656075811a11fcd78f0c2e8b17dc512f988e0bb7e9f19b82c6a15d0b962322d52f9661626d54f3c305afd0c2d0a6a31c0b143fecedcea60dea4e286153da8369681059f276dcb73fa53bda625f078897393a0f102a3a60213960ea38f5b01efa93f6569854fa65c027f538038162c54ec111b53cb9f7d9a2116aec80d2a5a95ce344d4d20baaa167b7237ab22ed676c1c2230aa4faec53fbba3863bb303597574a490dd07eb4626cacb447b68234baa3c6db7f82ea8f56a64f61c0f976f09d7bfb2d9b4d3eedd98d4c1a55ee63af9f35450e334c5d99f013f6d563f1ee104bb5a9a305efe7d2358b612b28c1cb5baea55d91df396e22fe3dfea5603d29610b08ffbc05e63e56eacfadc051afb22e2fc7d9931597faff36a8a97403813f80ed9160b98ff1d8775e0ad00601f1291ea396be596d40614137202b9d5928208ca058969630b07a7204b90e2f0550335f43373d9a6f4cb05bbb41f3c2f41d9c794b503b289095b474a3586cfea9aced2206578df2da885f92b75c15255d57e23802c77f210b72121037472d6d71ff7f49b8aef095df567ccb66152698992d6cab713bf46bfd148bbab0d36f49c3e70b14e66cb666ce3271b159d20a521137a34ba331deb35eafa9c83340330f1bee4cec698a5def4ae34bd55034706b8648d3bfa4e87d3699a3552e06cbd5dcb7a4983edc5e909c6ad60481f033a9741f4adb9eb9ce96ed512aed66596c8e251331ddad8d40ac12e97ccd12fb57a39d1cf546acca3adb4c952b8127e25dd6ec5f89c7288d7380cb1ef74fddc293e119993a6bc604811cf7ae371a9ed1035da85ad2523307246b11c40026231d6a28c089c14ff2f7f9952e9270ea4ad52451370fa36460b6b0836e1c8eb76508ec4e04e0b5bbb2d3a27786c05e3c0b7fcfc2e0bdce53567fda6f3febccf9dbff5d8fe4ba71aa0ddfdd5dfa967ad4635dac8d61341b64d40b1d3248c6609cee935cc03ec97fe6ccd656d3c90246b0c935c5fd6fe7a586467ad6d1cb12db0482cd9f6ed644773cce3bf269f79e1f16526263f5beda8e3e8bf2998b4bd3763e1eb2f898078b354fdafcdbd5227fe2caa9b19438ac30984752848d0612bea010505dda678a1791142793b2e41612797071157abd0e69e2d619bcc6dce7cdd3d97bcfa8b4a1c1c22b940d53c1e4a1bb2dc4517be1c5dfb31de73d9a350c747347e52e69c88f32b495c632952a4936b7248e5bcb2085fa7db45ec855caa57cf26279d9515fba2d9f53e784463640040e88b03325506dc40059d5713c22b20d86a331e6d81e9ed7f36db1421b13a55bfcb8fdff3a0b74d20114e7f7d60dc6e2d89fdb0a38d09e39001a337f5aa279d002cb23b4d8ef14f498014b222ab325cfb90b9bc345087974fe9fcee394ac667af806c9437c9d6485191abfa1c8345d578284ba6226f89d1d24707fa74d7205464a0f3bb252b243e50e7799723e19719772b45e72fe096bb5f996b33ed2d1fa76840a7de74dc97783dc36ae7e94a296052dcb42cce097d6db8f13c1f8ca33e72ae45db09fff9a5b88116c8350eadf655370c46cdc7d6a49b89c0c45367d2735697bc2f3e0ed6f68af715271c0f336c40f3bbbfbb0f0f17ab6a359215cec9f2544b6524b90ec9a60d10c4695b31e4571968301c514e03457f6460f78a3be7d34aabd3cf3a431f2518cef18eb05d9a01a031548b31f6ee4c873cbb201e967eda46f3292bb92db05ab34476852588a582628b54c1b5f67ba9716f2887972fff4912e0c2fd302ceefaaba97c3412edd561eb58c450c715c80dc95e96d6c76f86e0c07a98d6e7600960e724c20acdc6d5ba5d3c8600946209380342cf90e38c81147d5c9cb1e5b2b5f94c84e633dc87a46c1ce0f2de5f325495a9bf25f9101f8f0c7bb8f4999608afc72fbc3a05a417df07af528238a60d6c45eaeb85974c4b9976fca03d14563cd937004efe11be5ec19bd01166b133a0fdce3678896717bb9c87350718fef8d7fa31ae7b09bb3df0d752a95dd4b69dceef1bec506af06d5e83086032a5e4b6a705b9f7c085fbaeaa26f2f0fd2dc2b95416cd49e03041cb7a5eb96cde74d7a2a46f64b5ae2c9e05a5dd48bcbd25156fe4937f076887d7819178d7bce5a8ae49834ec62ecfd19ecdad210abf6126418fec29f8228afdc9b96792ad2d75bbef5ba3ad82d6935995ae96fe7097b3ac063f4cbf1be57b1d631a3032bfc6181823faf27817264b060af7dd126d210de040772d2837b36a33cde37632d43c31fa1eac9c63cbcc53155798fc7a610008892f329906c2baa4bc737c9ea24b7c833a5f30fdabe8192381913b6a6a0d916eb3cbfd7fd145b68bb71f5576d5243c8f9ca6a34caf51d4c0dcbfcd012f4286894c098231ef5209876319c6aa97398a9f76e29db2ee39650cd007497e812f56aa2f2050c105b4bb7ff170fe476e61b954e879fe09321b94c8fb9994b24147678ea57d58656bc878d4bf4bd6863df356c78af4933c72ef4b1c390a3f2ece500aea57021e6c880e032387c99c7fd8f8af8c36d5f0437dfc54652cac1a5d7c1b34c638bcce88b08806d9fdfd6123956c48aeffe3bcbbcd8c7e7447e2e4f55d5a3f7d8bff4a396d847defe60b70c3ef0743a36cd91927534286335cf12bdde8698d85c27d17767a3f727a397bbb5034163bdef1eca0228d280006f97408590d12a4b3ae4c1e9c5a827c083b0adbd1f3ca66801c7ddfe39f67cac90a2e5dc286579ec9e1528013a10bdffde7cde41f862d60c66157d83df4cd23930f72221252afe33a4f6d61ba6da9dfd06bfc1a15cc564f32193dd452fc31c8647899a173abc809222f653d91d06c7fd2a86ea9ce2f85efd4258fd0fc0bb758761d2bac5957d5dd0102032929f3b3e793cd945f4013cfa3faa5ac20b679c2408f2d6e89c46fdf185a5ff018f31d1904caad71f34d1918df3b38a0b6df296d758d6ee9e9b2a75d70501d06aa3f31d7587b749de71968517177fcb4565c2b3ab955d60ab9136dfc577d87a7ea2f4c578aa0e3e050311b0123215dabe4eaafe06b703748aaecbbd73d39bc4132f0e22d0c894820fc36e0f883138a9e26c6a19ae6d325b7715de19b9ec4abe72b20037f457398952793d5652852e2fea1b4ff5e2bf50be13515b230792b61e77344110994cca8d2dab0f761d21d320db8e0ec755c8607d0759b2603c6ad4d976927cafb575e539c0fd4034708e79a8d9a308e1c102acbfc70f466bd31045baa2fcc8cfe3542e88ee21996c9ddb7eaced232856f3e93e9c87cf70ea7165ef2979ec9eff224344e06696b3315edf92a5851498cd5d8ead234eecbb3e7f1653afa0cde305064ab65d5afcf7ccc0bd5feb693c05829266fcb9df58bf1d32bf260b1af9a628e42367e31400b2106a794c7ca70676fbf60e158f0e00d35d3db052130c3f37de027b313ba79da2c33d16754a780c64a8ae23d39bb1d733be230ca72b8a5d1c88a71d414d404b2c6d3f59aa0e6908c8de4581d3fd7c84e0a3f2c288c9ff74398ba9ec92a345205ac8408c8320a71fe9f0a0549cc746d6a9bc1a7f30dd97af62dadf1546eb7e31ae66562d4c3f42c49451762fa5907786306de71aadd8648d72bcc71653affbfd7a3987e00f4a20fbc8fa91d99bbd07e9cd28e77755395c901ca84b55917486d2e016f694c6123f0c4376247d6b9fca2a429731843952ab88180f396765e074af8555d8386bc9dd822c8428caffae331fb2dbba92a516290f173ecd6d6ad61f7960d66ffda51d0c7c336bf9179ccbbb34ba2353e24f72be61366a1d9a0be3982be9b3154953d041d4d2c89bdeb53e82d4985bd425c6a259d01202bd7ad13fcd3945e79712f36c6f7560b5d894828f8fd93ec89e06b422e451403d3193e6384b69b1c84f3f1ba16343aeabcc2823e27315d02f88c305ba45132eb6dc659ab080dd6f22ca08bf9f0b304999e470b3e778038b39bd804753aef6b63c26b5db39264869137b760c2816fa65a3576658daa07e4e58bece678f9acfc233d2068fb2f93e730d38c222ff0dc963b0d58bd9d1def1c77e33afd8edd8bbac1a319133423344133b333d9e635f569323fc83f3a4fd74d60c824d74471625618a08f2778289ae1423ce1580d82669662c4aa9c86689aaf3fc80c2a0731e334d3a82f23183a0df1cbd8ba6803d8716681c41494e65aab219ae197ba6fb512e423e61fa30d0799e0f628e49a6d6cfa24d6946d1b142e4cfd17df355b30c8d33a0f6c429eb0a3ce25525f30c6c38f3a1b65a9767f6ece48637e7afb7dcf5a3373a5dd63cf4038739767a40fcb57e9e5c23f07f56bc762c93ae3b0ba02b684d66cdba44408b051aab672a634a7007a7f16e4f42e3bf53e461638e568ba24573f67a31f6a1644b4e012a239a7eb253c2618ad53c79c5cb9560216a05ed4d5c010aff239c39b47a9ee9efdc5ff3978afbc679a79587e72a1f60dd59b0f4dfe4b06be09ddb8e14a3afb4a3b8faaf4e0c879352c8b22329b4f6eba325ba20d233ab84a397a2358f51f4639ac608c5e24e2eddf10eaf71e27c0085b04f897c059fb752783d899deabab447a69758d1127de9977ee1624367708a62e2c3cc6ec1c3b22206d737f9b86555d5e03cae4cda55abe71c2fd51221991173ceaccd5a56c93dc3af2992171b6df934ee731ae413f55cfcc022d9fa5f86af27da4c75c65b347abe2b96b9328a81f2efc42904902ad4928c8d3a0ae575c6f992bea50302f2051303e577b76737998957883145429c6bf97bf699e6fdec04d975868a2c0b79916b7203dcaef81a6a34e4725f9128c623d49c4a564ef292a1b077dbc75131e6a62301960dbb656764d835163106cd83a2028aca8ed72b5fd537f035619c0e4524c636183faa58cc5110a3cdbb987f6610721a1168d594bdf7a4badb7c3d8bd5665f08961ccf8fa65f4d6c3a1b869911c2b62c8cb00b67bf30a0378173b9aaf826e4e7b997ad720fde5b4e77a952588d48398525dfadd79a5614f07fb71545f6f7d3e76379482ae1422ca543048cff0d04e02f3263530e359b10bae996886d86ca0d68331c5bb338e2a97e07cfcdba03c1ffe31b3fe9d2d963d72ef20d866973f9e50027c5b4c8b434d3496153bf8691f8b267b0f12df1aa2e8ae7995ec6bf68f212f81090f5e162a2839a41bfc710407b766e29409abd388a8bc7f89b7644b1909223c19b908f877021c10ca71f263d0b40cd73ff9d2e28fdb12cc712dcaafaf7b9b27fb2e485f1272fddc0e70d549a311049fe4e5dc4101fa22caed654a3d275505ed6ec5fa65a7cf6aa753a4fa7ddf05cfb85ba76c017e4e8965aa492e40d9204287e9872b2fd9761a520568721697d1a9b905354c95b4968330dc2f96828527a4f5fcb0e439fb858718abab3667f5d1df3d7bbffb15e7b0696a589705d236b5901bfd5a29a5c28441010d52af668dde0f3a20ae41a64e3f4373923ea746ba96f546c136b56552afefa4d80c1302f6e7e3538f551a957a7da7527e053db53cc07cdaa09f397c95d1719395eb8c66c24dccee4899c229e9b097f12ef305105465e0742fbed5f1d2f5e1ecd71329d5d229be4988cd53719eff6f3be24a7e792b03a4ca217e71d540e107d3f016971b7e2c5eda69e5aaaab5deff2ef2b6e4f7abf8e18c644e672586cbae7ab823514e0f41d34ee580f3dae36735cd9201dab47e7f58b7cfb5111cc5bed8cb3d206d163c07d5fef1ef69e44a675270cf9c01080ef587f6caef404b5f5b0ceaa04d303a09634ddaf4c2ebf178aa2476f43c4c7c996b867a641097a12a67fb7a566b083cad548e1ac9904e8c3a8f8158717da0fcff50ffd3637af5f8935fdf8cb6cc02eb4a0771a50d50f39c4f34a4089779d7b5cd8a1c2f4b818f4ffc0e73dbe649168a0074179c761072cbfbdcf82742fd208e0f0f23be6c600682afde7d260b1e4e8b194d85aa09a694bd742e63b94d2afbf10737f93ebf000aee459cc62751afed2cde610ae51ed76b117e134cd7d7193706246fd7675c0f2872d9d7b0d77d06edf4b41f1a356f547a6911f1ca5a97c5d69fbbd53b78ff86d2609dfe95db29f96e8092e3f33de26b1470c5b93a386de97230ff5c546f4d0820cfb06074ca1739ced31b1882181d9c4c8661142ce4dd60a9a40b94ec7284789e16b444ad4cc5fea7b46d31b2a5e94d2b8efe7f3c3f4f07538618908272e6e0e8d6a04e2e77d95ce5d0b9d6b9e6764dc5ae5854e6b28f45ff66eaf2ea1489b54451cb18d49235be4863b90c62abd9f27465a0c3c855eef8e4a80cabd43a4d590a7b0499b5f5ca3ef0021fd9bde6254288e8dd9b842a9e17856b338a436b856c98e0c71915b6718266b625a96e85b5a99f62a57db4813d93e26f83a86c50c65301e9fc686f7b93c75dc4b7f62e06cfa6db5792dd31626068d801c26ffcd64c357be08f0bd5a2aa51e96299f00f127322eaca1bfc5ede659c2035ee7d6fce9eb5d8965751fa1a23f03f3caf2d9c703085656119a8423e4974a583858d5c4b6de7ae5b76b86611d3b9f97b13c6f206ea6664409b7efaead8ae0bf6735b1ff838c86ab1efcc030fb649809229fa6304010902f576ddbef9c4736e3b350405db3fb4d8618726285cb27f00910b7fc83e7943adbfe7417c89d5d5fcf4b80ffe02736ac3316b7f8affb552f2bb17d464e646ea346b1cc1c79943d893c6b78cd31ad068cb64bb666f8afbd95fc4e3b31edb9a37891d397fd88b39daa10ffb6686af46262fe64df7729e2a2b930cba2d38c8360ca85f9f11d2a7683249b456bffafa955f917bc8567bd07608a980af1d1414fffc71b59167fb860d879d2129e73e40a7750ed848ef82408eebe11c4cf2e308276c8c56bdd19e9a072e5f98d340ab53c47482a882dab7b0c0732eaeb1a0d74f05c7fdf044ea0b2a020f666ce3d1c0b92c2052bb1dd57a8ff8b169ff734ffb726adcd6966800672dab4f6ced58c7bf3369b5a4f1bfd16f35ead7624e350bc484886f944e510bbe360eb51a5c82946ead1dcd8c699b831446d771dbd25fea55da0bd73e41560a0e02618e757d400537ab66cba8fbca22cf60b298ef95b03fe5fd567789e2e0c7e8254e940668267ec2d51d77a738ff8e37babb9f51adbb95a21db3b3ba0c65a48df9f071a4fb2fad3cfe5d682417d5eaa2d32a966b4e889538b96a13c8af41a46aec2205a276611826e9244aac1aff1a8a080a66c817ef231b4780733ef9411ec6847903ceee067ee1c4a381e94710c4fb0a8df42bd2daeed0c49cf0297e431455429089690c42d126edf99f0376d494df2b1689b69efc21a719dc0651860c81e89f9e702192f48c45562344819bcf13a1c507f7e503e986ff8482e44c0ad2d9c2b1d734b1017a18acd7791ce3ea6a9ad23cad0da98613ed02f043d9f276faef3482c40204dd61155dd24287accc07422ca89d6321940a8ca7d1b67c1ed5723e8fb262dfceca33f4f90098ed637c318ea8d72aa70133ece205acbc52de3bcd73ea57e5e45cd0686120685f4d1c4725c672abddd43c704438196fcf46c5b2cc39c80beaa2e37735b82680314bcef10bf23d79db535be53f2595a87d43dab5f834ba01544cdb87c8e02138be87f6273aab19794d02cf90571cf8d7145e78c3a2754fb426f02f63144397080932848f9a4d23e2ff22ca3ed6f951e293b275c207648077835ad8f9387919ebf89f7a19e0d2d7f40711e7f6e31f97d32a7a4b48dd45cd2065f356d613328b980645839cd0cabc7f55003e66bba18e267393f8382b8905c7ab44d92a48b60ff28079262773133dd4994504bf0d16ad386f73401180f8155318a9a61b3f74ff702b2a8103923a988a1f5b1e75fa7ca6243bf342f2a0910fad0f30471a0c081b4fe93c59f0363ca9cdd0e62a77875ea2b1d0b8e720994278f20b47439937692d638504dfd05250f507c57c6fd2f1e8e6239d2d69898224acd1199a9f1e4ab4339adba80c7b8a0bb762e5ca06d7a745f7a01de34a20b71827428e402b4a610d376cee6c8214888cc4749ab14e19de1671322005f569a0a2a9c9f078b94c430e4f0b7d86a3e1f344def32e0e38610c667cbc5b0633ce8dbe9e8c9f3dad6dc90421a9fcf1a178b0ccd049d3f2cd683e57b54c43013530fb02c3c15547ce43afb236199c1f36b79da77c022753df7c9ae3cbf868a19c915b51d72b47315f067c0b919005fbbfbdfb6fdef25c65d7690d3764efdbedf228f53ac7691f0cb64add0b2274e17a349d4e62d56f669af2267579e05d867515db8a5c7eab261b853034487424320b8f90d6ee1a8202a4fae64adcafac588e0719eb562081ddcba628176de7ff7a4c3d98518b3b4d30006ed6e830db9ff198630d1df2fd25e9909bf798fe2072157acd9816c3f85acf7f0d7d5b4d918aa8ad675a4b2f7f83ce75460ee9a4b3d84a74e4d4b796c5a358609137e7d3de79223f1e4728f8d4bb494fcc745462fd19a9b04821a54116c062c3a272312faaae83c8a7072deff1f71bded1ce81d348fbea1588cfc7044341ff0a8d4575f59577195d9685cf9c6e834cb7146646cc84094fa3dd6c311087d6477eefd610c8e963113b8bf3119edabd80bfe56dc0cc481b872ae3e6a0238a38eeeed3c995523501231632ae1e4e36d4adce4ccc8c5191cc75c332f11b41b3853eb639d8cbd41ba07629f3b103ecb8010bcc53ac1e18513c0eb5b1d356d8b7028b0ec9abbf8d952c2537493a7471d491d544c013952e664a54f3ef4b1f42d09cd2efcdc8a61807205659a15728c94aaefaa9ec112662fab1563d274175ad6bee7730c7f900a33b8a65371109c49b305edf6ca32ba0144fdfdd9a2e4eff7e97491668d3bfbcecbe84eda8c87dc07a7d664bfaa2b0ec86f9d1aa947cc81ca3c8a47747113940600dade8d4e0b5c66eb0660350aa51ba8a72fbe577799d29884db958b3fc401e2c48717d71109953617ee558ac0b8d2c2224187cd4c54642ef451f9b1a44d8f1fb410766153c139630e3bb99f05f272c063461211653b47f9ac94c640e9d8f63d8ab2fdf95fbbd0c4bc3d88d811e375ec5ca550dd3d4f20da371f56c8e566c0d901ac5d31dd0dfe36a015035f1bc07143ff82929a8423703412340c365f7eca3443c17f0e9b57c557a850f8d4f458301a8dec9e129568f6b6cef9d6d059a781c593af789e0cb6e4979f9a266c5673849059b918d3948e841697d8634d5a6a9413933df6c647a631b91fd0d5528bf6ccfd3f19a8f4459c31315abfb3e19a37be3e89f3fc9fbab3d7307db700f8b45e8721f967029950795749eb02fe0338456d5aa55b1db051c0a6bd3f7f70e870a1e1cb6497630d6951c5f97c0265ce3e78958193de801530052d11688efd6e15a2b277641fd549f6b41125d7c5db4f9d8daabff677601f5d99c77ef4a2f54ac23c1b716baf5546b8800063f83eea3525f535a2b1a36c4d5cf5f3f9dbc686ea2edad91e762e59a6e5c8a35420a577b440541c1afc7fcf222b486ebc7bff97c97f4b622282d1a33ce3fa5a4d1a0c4a3393b25584fed1baaa1f91b88d5101e79b71f3c6df2e559551c98e89936f04d6a84e12e35d4491a8a4f6bac598dae9eebd089ac0d693d2e032e9c5336ae272fcc095469eb46a39902af4bc071de47e047f68a1f6299c0d4cd50c10e0528204b965b7b2a3f5094e791b6a05c8580cc64a9cdfe61319abda2580dbd0682be7c30f87783130e648b6029fbd25109098c916a561ca38b27e67af159cad0fa20b5d6bb5c0ad00efe2c388796a4154015fe84e9b5eb4bd83341d42326630337d981abbcf0645767946e81ef5a41f341f02acece1e4eb101f8a69caa6dce049dbb235a7514a80b4ae68062162fa3f23d30d9d096904c8979d45e9f842a2b6d955f6ccc391f030d3296d2edf79c89f1b43f8387cf37f38f2b897343b857389edae66c56e179f639b60cda2cb19a2c3b02f03878ef556558c6b7b104512ff73474684fadbc5754fd0fdd65c5d239f572fdcbeea78a1b11ef4fbbf33db1f310914a1db2fdfbdef82625153b8c9ffd207fc64da70fb6624d75bee9e37255bdba7ca144da6b7f435d1f0f8e04db1660329b53e1037a13ebe7899d2354d5ea269eee6b3565ca9c76abeb87dd8f0e664976e6cb141907ae4a592f65dac1c301414db979b8dfdea81c2f850dfce85a4dd2afac54b8e0528c84bb219e08342b2ff914e41a217674c8bd970409971b3a2dcb4485be1f07ffe49ef5676b01ba879b1422503ddc54f00e4cca7001361b4dc879f0f2b3d662eff22ec42fce67130567ab8f62069765b587a2d388fd1e1602a0ce1dc5b878c169342da38e507e8cf66cd992f9a65264bc763722fe07f0c4da966379670893e1d82db1770972e4aba9e31b9fb97643da7bf8d309a233fdddf7aa93e7002413034ac1c29ef243688f68eafce141323f3c1d333f00e9c8633d0f253e13b2d716c63fcd1f295cdbd47a52153a003986e5a52c275737e7591a8307cf437191d87aeda4eec8b76c2d1d8160cc4df9d4b6547ed32f23ce833033a0fb9e02fd4ac7bffe50d28951d6838d7f3ec2ad1df43dc933e443d3f3b6d732d3a9f36d2dbf451fef506084a14de11f611d06418b888086d27a967594d2fc1422e4c0d086b2afdaffde49b53c80c1f34bb25ac3c71b59f409be3cbd13fc3ed64e51408e7a78216d181d068258cfd2452f845719b28e46ed5ad1a211353ed700bd9c57e3c98c7469883b7021d6e8d33e6c402d24ab443a98863a00f4c62316d79513b9fe5616d08b3035dc18c463d4b58718b4c2fbd498c129971192f70387748bb5e7be046df48b9fc310863004a0189abbeab5b65cab85bd4e5b0932c4981b85ae35982ce9b815b822dcead5376350e4e5e976826bf29a05c1038320ebd9a9ff3edeaa45bad73ed32deef94e0a4faa9b4ec1bacb7232f9873b14143afcb34b580aa09431ab4b41c9e762303745c9e397600ef9fc7d2b497b97d44043c6de57426f8ae954fe715a04223653bb5068fd56342cbc6eda3e9cda6d7b29760970d44b5406a6482ad05608520f39388c22d01c81565e214b1aa3f6e031a9a112b725479f0eac9937629975dc6659ebeeb32b3d6bd22db2d9352c430f65c4c8133246500a861cd0add2eb067af1546c0ea15c97b1c5106f6bdb818400d3f85c43977fba1ef46e724acb3f12ffd6a5c9de45035b9f38b3da100d2e681aae9ff7058911b4481a4345a7c5268fc8b00aee7f1081aa97958e8cc0d9fc3a78f96ea3dc1920be4bb05148ecdb6534ff2590642e07d03be967123e02e6cf4795451886c42f88ff414d5b9ddd0692bf4f0e2cf2ff7dafca4992b5cdd809464e2b6bab08adfbbcdc5799a71bdfecf0444b14b4faca1c346d177c1689ac402f1f10094d90c2e9b92a973e0d5e12d2140fb59553145a0d9d2d78eb74c25c18d0f9730191406425d8fed35e384610e319f2ce90b3f2fb83c3167e662b60baf415b49c87453d322092c86d2f5595a292e8ecea4e6cd0dc2167f41565cfc4b877436591c448c2605a350d05eeda9871e6d1ec277be6b5178355b11c55fbd24f01a70d714a79baa0e6edcd42db823e48c574f040347255fccb6c48a567437f22a9b928e45cf3f72ca81349a5a721623882ea3519aa901ecc77e9a0facd1405b800392f329c8f1f7a989e57dcf4936db0f0c104b42c39d4867d15550d382f41e0c5af45e7873ab523c4899c262f4b698b21e22c4bfc6da17019a02b1fe327232d3ad0e589f419e94c386555891db25c770e4520da3e0ae5d1c3f0a7d800bc8123206a2ecaeccabb8246c35d5cc60292d0bfb49d89f651732973237de8e8d4dd0b3a49e902fcf446d52beb52afb8ac905a11cff2dfbec858601407465b7feea1c3dcf9c1ecc9c66b71cbc91ac7039e065a559f802b2d01605638128e9a0bd2f84c960100eca6e95433b7028b3a3d135627521b0101f66d66a5fa0e8f15c987a89bf26987e53d359b52b9dbe508a34fcc0210e0dfc0d6d9a0fc470f0a06498af6bc6fe87e4db521f026a5f5a88971511b9ecd556a8f132fc2378f2f5a083fe6de405fb489519016d2e0f5c0806c2f4ac0062ce34bf4f87313f9dbf75e59cdc75f79a1e178154174e939277921c6c28a6577dc0afb952037335f3e4e9dfa33b45f13bc4ed6825ffb9b412347e955b695674c54bd65db8ba0761f54f67b473786d61f8f9c291129bd146ff0acce2119470794237a60fabba3f3e158c0d55a46f56abc3c1065fcb8e3779780d2011a655f2adc10314c6855c9b916539f74b3bd673c6aca414922bc3522b100b941bd95117adf9be02ca969ed089753311ac5568670a40ef07de11b4ae0fc463624b9a48da4cc5eeb6957d067b5663e37dea2f399be1dc3e865c939332189417c3b10482e2985f1da5602b703e633b7c71bb9c34c8e523819aab80f266d9c9085ba4d52d21cc3e4f6d5d6532913d7037399ef2671a0310852a8247ce11845bf6d42c02ec08dcf4989a3671f01ddba46afb31928f5e9a0c8f6cd8b462acf7efcac28441a729a2a21cf776694c47a816cf3142c99f8a2c0a3285f02840dedef130c4fec8c54ec1307b3a7c57072bd24a635fa31f483fccc14ad04d12193553c7dc99f8cb18d6335864a2a927987d3183c7e4ffede8e4d5b19b57b987400f587c2e70edce031b5255f99a4a21a9f72bbb51827110381140d787feca17c247b5982170188d8448a325d506aadad855704a5a6df8ee7580adc435cec6c87f695d2843eb548b4f20dcbef86e391c6d740f4ae81232ab295ce6049c1a4da972bd45917d20ed0569f821c4f7aebdf085be4f342f7c58fdec7482c72629c4104e1c6a098de423b7cb1507b656ae39e996c5a99f5860a619b6ea8a9943afe43fabc70325f538abb47b64fb6eb50adb41fe05af62e87ecf24daa46b1bcb121919d8e8e3e60df53ca4befd6bf0e274c58c971b1b65aa827a43c6bdc2c86af510e0d8affe7d2a8218b74d56b3dfb72ed5b76e79f96a6f7cecbf68607c5f2430f15e8b28cc2687935955f109ab4d94398e08d2d901e9388dd69d1153cc3e06ba16de135495d33d3afce7ac25c6109bac2be03ef1d7b98fb7be1bc6d6086374855ccddb04438e6fce741667a4b4639921a45702f594f8870ee2fc73f4a8b6883796c899290671d98a7ab448c5b1395a2068f0d7bb095632f7ae01f14494d7ae05e3098ac3ea46fcc564ddfcee82a407239f9c66bd34d9ea657b205add2a62b2d44985bd0cde1ce548030b83d9bea3dd0a388d2e4850810bbf7465085e3729c3d71c5e52002ffa4b0394271cb070713e4909e194c88b994e545ec984533c38fc6477f864279152622f86ad5cb5f2eefc153c388f46c4ff2f5857c5cb4c953cfea583446e5bd0768a69d9119eb688694ae172fc8e7f6265fc79189ab842b8a8670517b1ba948a5f71754865af03be64cc525dc927322edabaaecb6ec00f556b07edd2f4e7c70654f81bfa87a945963da45db4c8176bba7739185078360c25a820f979bd3030347a5c29b5f113870bcf11271af453162cd7574a7676ebfe3c4234b5cd400ee8f720c92e7b8e6565a10979928e48546959a3b34e76f35ce916997aaf94b9b513d918f36bca654db73a311c6f346237d03a62035cccabb36324ad048bd9ab912d16f266f97cb90fb72eadda39cf8b3e5bd49af9b4a28f4f0f31fcea17ee6b936d0b698931d0d5bb6ff7ca1f0e65885a209af166656c440e0669c8e90a2ce9c5b82ed8a5ff6df7f77de69abf299a4ffa640fad45bd3f6e78482c72c8ac34750e28cf0264d1fa79dc88d69dfde3fd3685eeaba539a1d95b6c61356f7a54b0524ff59cf39b2e689a15ba832f7be11358aa7d911a5f9fac7f103a8141c21b533f6648cd1a57e5d2d3383e86d521f240cc2bb973e0cbf8452bd346ea014bacbb440e3525ac2e6ebe5310f0cc199f125624d0a427f8e0de40f2c61a090e2cc99ef17b31e56018f0311aa89256eed2b38c402162b7c3f27296baac696b3dc7412af5afad8e7c9075e6a329be73f98e7e39ffd69b82c1f850a802892a7ba12515c086d8e4cd8a2db51ebff4de10cb81bb0108068dc2e2afb55682da83a3293915f3e4de873c5f89b4b582e8b3d3178ac2b9317888a07447ef3d61d710e9e79992aafda37efbb47e311f8eefe424ff97edf11d179d55d567871b98a0e7b336bbd4aea25e4ba9b2d41532484ac56ebcf1b052d3c4a99245c2cbf648288023f7ff6ee6f37bd9131f1937a4f69533ac34af2f85db05473c78f53dd87f2a34c504b2636c0b9e6910e9b23e4685200395f1a4985e60262587866bbf6aa4ea75b068b86412037a5bbed43f82710c906a463f9f73927a1dbaa788128ca85358a341a2cd0e2f56b3165aa64dcab98f3c84e6777331c52df9bb242d6f91609a9e617ca4c78752f2e8d13408829c8888879cbe8efb069eae6231cb39f684ee22afeb5e9bee2c22a6c637d59470952137d0a561c3111e8b6c68e36b154a9b6019f0d83277b5ef5b0b55e4b0cbcd1404c9ae2e30bda47181310ddafb29db54e8260cd563e2dfd06049e3b6f7e27208f632fae11e91eb41233d581acf808003c7079b43c87dff0ca404d1359720ece7357859339c9d92997d5794ffbb663d62007f80cf07375cf44014d1c5b052421936a7bf9b4624aa830843ced5617b021fa89cef72b6f4f12129b565503b48a744afe46a6bb8a83c7f4881073810bbff1855a8a1a6353b8a500338f64ce1d8a6a2bea4a2019ac52adb45ca689c5cf2299f2fc8cb8e8ed62df1f1e4642316f229a94fd673140d2d9b7bfa6c9e22f93282205035cea02d81b0f3e40a7383a07728d7002619da270d62f85b482c73e201697510b30a85db763a8b1172d34b4e70787ce8964139c34e050928aea1963948184408d30b201bc85de60d3225835ade1b063d7f1ace49f2d2a69b1a3d6691ea52b989242da85262b4cd82c956ec06432cc1875fa2702c62968a2a4a683046a70190915235c1870146582e7b8a67d4d7f6f97e69a885dfde5c4a934195e5d83a062de8d32990a28ecd20174cceaf7230cf4aa4b2c8bce1b51419bb1d131238dc57ddfe16830b96afe41bd5c5fe5d19fb26bd4ccecbec4246181a288a9811b0ffec55c7929fb8e2a855cba2cc429bd376a405b7e672d7e6d720c5d2c11d6116f9d4bc95e3481fb3cc4a452c968688b95c72295dc3adb0f6c4a3d0addea71759b8fdc4d12455dcb5d40d62a2cf472b949c47c9f42c4bdc9558b28fc8a8eeb090c25d13cdb50e39567676276a0534e8b45081ca2537932f55bbb67635cdb7e7b06faa8f4f747a70cc751c33cbfc79632c1fdb4c8c4b112879c96d8eac8b8e0312600f9b9c7fca0fc9a74b00bd02d501225b73259a66bd105ae15083a25bc4bbf610b9109bffa92e600db6d885fbe5c8b937f53dbc41e99cc1fc2e45b62d03a709695e2a2c5619980462f00eb322da7599d60e7a026370098018e9545446d97c7dccf8b2631fd25c5e16a76acc1cd2735502768a5e9559c95db28b4364749af696cd44a51f7213e9c1c2a2864a53cdb88466e6c46879db8ee75b5515a2d9cc8863ec056377e03c50941c4c260e1e2968a63a38e814dc3b2c305545b1e4373a6b444bec72999cc759059403fd8d542c70e7c5a21799e1474b2389eeb8a8df2b75989ebb89295632d82bc462947fd353620446787f3df4db860645ca6829d58ac27eab0d4f3d729fa33df69bbcd7f5e4297ecd81d7cc0260c146b8185378a6b589a9c7919cb1fb88468774a9207c4ff2573b1abeb05977d7210541589daeb1e0b84a537b097e77421ea5bc96807020559e5d6148c2f7b09bd995b20159c14a75c30e29b42bfbe2aa7d4d166d528795c8cb50e1ba42eaa7ed3b2f0d2f84a7ef1bdbbd29be6b4d143bc467e1121002b254289366dc94800a6ffaf91c3662ac48f90b50fd5ddbd978c23452e1b17785a267056eb545516804be7c955f644569428626de5dc79b86e322119f04b34e6f02a33358e0b72dfb2f4ee202b9c23b4bb3e6b43adc9e96ebf5081aa33f4bda6746ac87746f59c3639e41be2e98b34fd4cc679b5c55d8a89841fbf2bff51b4d4351006f912e668ca4089190f9ef6e9fe4c3a8be1af8ed7d3fc8aa9b36485729a0662ee273c6a6883117888c84b2aa063d92557e54e4a31658285bdc0200537e6a6a0527cfae30424f107b973efa348876ea90f3df72b32ede705ac75310e3aef8f1bbf708af1e931a3b32bd270f8af4e8b614cc7a0f493654f563a98eb4dc32cc62269f722f35e1c529973d6bc7631fda627d532f317d3dc6b9b317bd655447f7c5267fa52624cab91a5754f6a654ad7486399855248c89d554534b95544ab97bef25f4a3b331aed72ecf0a567fe346b1948ef484914afba7ed24b64cce2bd79ffbcb4b1eb633b43d8213a3927271dd2b2a04ced32fb4caa2a6c578c63de20af24ec3c29a13a37824b4bb5693e94b0926d9049fbca6b01a97cfdbcd42f4ddca8979eebf1a657e9923c3bf30e268339bcbae49ab05f788d06810ca49ae89422b8f8d775690adba16f498ca27699aed5dbea5b60c746d71fe2a681dba9f89ae620a2956cb6d049ed416dce04f252d2906c8e5a392086efdd7f047f855f042ffe0ddfed7f7176823dc80e718e5de19167724c8f9f938db2c589965f9b94dab8e59b7caa17dacb455c73d804b2dddedd0c4e72fde14e1cd587747e05fd5444df04e6e7d3a5867a8eec97b56b62a1c8bdf2f247352419f0a2e102e9adf124d739d22ebe45e1a708f9e63a366ce79d0d66dacce373e3ab7a5ebf7bdf119532f591c31bc566130dd9189430d5ab1237ef9649780c94700729207e81c81157679f3a1244824776f843b2e406759a8db8b242758c9ecb3ce479053a0b438d86d9a18f16a4926b60efe1dfee0249193387e73aa47044511e9e6ae9c7a9e3598a2cafa9da73d253ae17a2977893acbb633bd4b8f125890992edfe5dcd6b99d643397e3bbcdcea97d9eaeb852f3a6fa190f08126657f48088955fd3c8e39c2220b4fef286a08c757a26075ab6f82cfd5dd1fd84da3bf16794f1f755b2fea9f25bc7300656475def88670c9f49a5a2f79f595db997e46e2d14d587bd7051e237ba85d44c2a48f8e50d6c372344fc1b961e6c01e1ecff53acc51ba89586f532ab574f83edc97bd9d2f2b349032488899b79efaa142f9f72a96d36a6ab82c6d44c245cb4cf3437bcee68ef5933db2187032e87ba9f99750dfb1b04ebc7dd161e8fe0521cfd38b2d583b432ce93046b9acab41bec9a0e7cbfb15de6201a614c201aa1bef4d9c7b615a7a28d231c4826cd69afa0de49844d37f99e304b55ad285d743fe2839f070c1ba41e45de8cb343d3fa991e94faa4938c2d2e9920f2c977ffd21149d5b6bb58c6df22eae3a2022b8a8e29fe42d75b2a8e6586b4c229e3cdd58157ff89c44bc83930b8b224eaa2965dd6cee21804b0d908900335cd16f5c40cb39683d1ad9834c90619c0c1c47b1c57a752cdbb25e0f8d53be141dcdb740c9cae3df7f6e4c93e499e94289c0277c5ffabc8e6828cfdfc7cc761f5f53447ba1dcc9d3f550bb76d4c46580b6a6838297f39144b85a10ffa975ad66c00a8478d5e6fdc69894144863f39ecbc5bb372dfada3fe5349220ce5f5320c195bfb5972732881fa3ebed2be5d59ef9c1c0d106519fb17de854c5c2579c36fea57d7f9cc07d07b1765d570c1b963dface6ad4fe6d925e63215a0a49aaf0dffb6d5e406e75ac2db243dd6229712f678ee3927bdd2c79f85a8ff6877c27a11ddd57f6182463d1bec4d81e4bf429eb8bcf0c596bce90a95122468840ed6b5917b7438ff82da99ef2c0813204287c87bd3c327f587c39c46f1701831f2cf2b315f396b27f8635bd392d7b3375492592e1c20639bc6555436cff58909ea5a247b0e7a3b6053a22cfb7cced8e8f1882a2ba402fbfec22f4e0fb2d2257567ef7c721364e77ba26ff8c492e9d18299928a391ef919054f3b51a47df11a764f48081fd0de1c355be81e899ed07f3b4212945be5ca3f8aa5db9079f129c61b8de2d0c12aaec4584bab1c7d48f920dd8efc23bb241e89dd004c3c5e90b2719b57f1b0c3bba669a18e80c8ca71d4362850964ca9f29e9603635db9abdc28600508e710510bedfcc48426fb189224ff6fab0412f0ef3c2a66cf00f0aa959f00294e187279e5754cd8a1c296a0d75e4ddd7b2b94ae959e8018eb25e66dbe77f6172747f5850dc66c8ddcf5933bfd6a627e91e9e62c18edadf21f107332936dda5cc5e4d3b85f7621669ef6685f789151fab127bec91478aed66ef1777f408053358ba3e16e70b4adccc2f82a43e4bd6c0119248214c6b33c1c22295659f9d419c3156ffdcdd91feb9461c364fe53f2b221cda789448b4db5c87cd5d29daf62042300191607f3917723c572fcfb6792c1620f078483c47ddc245f0068af40fe7d774fe7f4adbbbe21583999d78b17da285b6c00b93bc7d8dc2e78a2b08a94563e856ebed41531d6df70a5b6553905cdc1e3e88c3315b3709e96b1cac4f88bc376841551eafacb2e3863b6b51034f6c31a000fa2a0d1410cd7b8022bd56ee58252ba7fc33daf6e543d08515b5ad082a6ef0f6195722be7423542b820215a95b9202238a5361eaa212a86f1ba1acdcaeb4ae4ce5069ad92581afdfbc1f441352545af2ba39b0ed998ee889ca459b3370978bbcde8fd70432ec8c0604c799890458d1c506a77a8c5ab2db0e23cbb5a2ecbc11fe699c1059051b61f4f2e851ed0cc9687eb6fe39c68c6957f14c0551eec713f6822cfe132838ed0d8366456b19ccb97df18cea54e211e78d13a3f606b19fa8e03f1620f2a9a948c1f36f82114d8f85376d057bb7869fe420b69f0a1797007425377c13142dc3aa224714f8f03734d16997a35f640d267f58cdaf5030150825d1b9ff05eb2724ad735dc4a02d173d25f9cc9e691460aa453e9c9d17d9d7854e2883f59f613119fe2e2fd07204fd419b0667a2189e7f4e24ca3f97efff1c935f577833ec5033f68f7c4bf1595f4e7108ec745922abf2d8d650a458ded0205678dbc265ffdfc61edfd8b6d1fb1ef9929e0c8b2678a54b9c3c9395ff61c57523e1b50faff81b7e3dc4a120dd328495f4c60580e84a70cd4df55c71d6ebb91a1f41d18ba8ec53c7e97bc1230448b8b7369d4d7dc02e8e056ae42bee049bed5206a8a16b1e94778ad3d9c126fcb66688fc9311d0d6705c5c14d9747ff1a9c09c67bcd3ee8d7f6d609201aed9d9eee9d5354be768e696e8f38b319dd3922544419c5c05e1edfe5907e5902155cb62a9b8b536ebc8ae15c9d8ac6e15c3ab2ededfff845c94ab5002be3af1a79c0e6d2fafb4430120f7187a47967d1357663ee65b91a67654f6edba2e95f98747e70c0a6efffa3b2571dcf3500ac2d39b5ad758deb75b3554ec7c250806824c06b427ca647a99e018ee2e1611194dc371495ddad6ee98098c701851bba294456fc8c4d60c4a929e863057a8cd992470396f580c019018cafb462d5c98c452f8fc4339bf6fadc7c40b22f96a0e2d8b646f2d0dd31cab0ae7866bc15777c4e641aa9cac9d2512effe0df341b86634aa525f81c564780abe031cd00774dd0da0285270a84b44dba22d7fd578cc68a819a2583835a7f1736dc29f795cd3f78654e90a61faa9ddc2cab9f41f4292b1cb4b4334eb920386ed55bb5f3d0f28fbb177f056319f3dcb2b03eae1a824bbf6c45c2888f671bf9fe0aa4320dd17f0e4da69e3aa2e1444de0322541ebb9623415ac30ce105daa68da93d3f4fdc074bef86c5d9fe5b104a00138a2c60263e9a57000b5a5e8216b20939283378cdfb11ce92cfd55cc96cfc0f8a2119c2440cf85d6653e7f86bddc00f5d15fec87755af274a4cb7aaf47aafeb553e81cda5f95b8e9a1268a394078069e6c229606b997c031bd447a6ce0d478cf7268b61246c022ee6806cf9774996e45e1d3a2d79b9858348a37bd5b79632abb2dc8fc0caf74cb81241a015f0a4fa6380d700f902f96ccb619c9d5f608784cf306ce978f0639e894d77e5ac500be95f6a417abffa72ff1410eeda7d27a4783be80559b634377d059be7e08b384361ca7357a2d952259eca9b85007dc4d359e94bf2164dacc17b7b6c75f4775d0dfdc1138bea8ce2856ce1e3304dac711e9b7d5c17dfe80ae36587b1b2d4b30840724840da4c01adff440fd345c754b398c07bdcb356ed944a0d3c08377c07f54fef88c50949b331efef6faf84ddbf7869293184f040f4e0479bbcf0bb07523db2dfc190e0e13b8d7ec28499d618b7258b97e852a916bbbe517073268ca36a8aa266c99b43f249498dc4ad2686a66aba79bd3ebd236dabf8524fc014de077f9d0db8ffbc7ac6fe339766d730df8454c7eaa14234b5524c938d5e317f1f0e8ce36cf12c7b5226c24e139f473c87d1a19e258a39cc534d47979cd5fc1d90cd92adfb061e01c5b81c7128ba6777bac6a15c5614be2dad74ec2d071c259163f4a8ef8d025ece01f311f052fd2cb0bcb5d9a0324e5235ef90c99634d47848cb3a2fd1651166893d5bed62b493b641aa295a74643e7dc0a5d64f238931837e2087039a5fbf0be9b87bb3fa0c820ae0becd070f6a9af3b6ae0dd2040f2f23703a5e79e1235096eb505bc9a0163fbee513dd4d0572a10eba8c3179b3cd6502b56f2a6f9774448aaa3ef3393dd50cbcd49d1765c8021358cb684b265ad638df6a97cb605092ef9d2b6a2d46204a848ee7f6acd6521689c4165b8de2816a6278b2e97fb298d63b47544e5889e4034b9c2fb6924d8e86a172ea43785668929620bea3bbe1596b0293d439eb8c006610046bbade1c77dcb9f5363a85984db133485a1e90dc983de61b01f13d655a82d48324211045ab92dbbdba72b74d9ab3e08dd1cf038f9077c52daa324440f74d60d5e86f6970e11694684dc694bc2bb6bf61922909d06573a823b87ebb5d2138e2fa28a1aa93511109247862859b787a7423835ecdd8bf79c73b516c470c648297d7862a637d6abece5b6dd1bfe8affc92fcd2b25ce04c411efad7823dc222a1d8d83089c577967814ef7cb362cfe29e49995e4db3327f46396935a2cb6a7be31fe98146a993b98b970d35279c97d4cab54170fd2ad547c5ee5b2c54e214782882fe827038444bd31845cf046f5270dc6919b7e53f50bbbd1ac94d054e82e3da2dbb38c1ce0e1a0cfbb69e219f0453bc3ca958ae5911f3c9dd6dec075ed3eb36fc3f39bdf68f59d169277f0bb365dcd2d21c449c069b3517f51f84f9c3ea3d78a710dc6867ad134c1c773d9e44adbfbee5f354fafca9f1ea964b2adedcbb40b463658e6a8abf878395b22be2bd61d7502193a74e744f80e638fd15776634ddca553b5880fc048c15856a28e0280b043c32673db546089875d1ea09d8dcaad4ed386638b528e4e4768d13b39bcdfeb18af6ab4d006d780ca96e5b27e57e18b5edf37a030294d9acd4fb9d2419eb5134b83248cd193ad3deaf2ee50700cc62cae46ceaaccc72a8b120f46c7fc4f64ff01414c26b8b076e94315ec87fe2857e6fa41057eb1514e5c3aba22e68becacc5320515f13fcde9c31ab1088c2f8499cc1beec619815da0be1adfe7b895279fb44b6204bd083c87a19e0f0fb144d1e20bcacd430ef26f767d04628796b0ce1079300330805b1ecb5cd83122ad661b1e4ce67935f710a6e2dc66f9968054b10c06a904b03c59fc87972bd5f856f517f6508c2711bf55795c32699ee6268c3a27f0f3031a0c1b01560362e83745b2a7873b0cf8b8f06101445d408b81e4e7636d532e94e7d1b8b2312d0a73ce2e9d1b38cfea4526b1833c1081404d3caf2cf8cf0b7dae1c4037d5e82b69849b9ab2d335bff296e315d1a96b30238ef5cbec24170d31c82f3bb54fbc33d09460753150bd8a72670a225fda7a36bc2b637c1bef9ca59766df41ba9aacd855a015cebb48ba3affa554d9f65e6e3d6d7290f6c85519871b3085954f2edef96e4c06d258e2ca9d7d8a7ed786aacf89fdbf557347d7d2505d62b8ee3c18ebc0288832d0051c382267ddbb82bad4b7b0a65779844691c1283bb10de420f1169b752e1687acc05de12f5dc8975de80b69022979223a50b12a7b45d6a70639c01c825578e4c3c0edc12013f704c54b59d89ecc7c479d6fd58d6926c1973622e0fd996be11c9369635a2bcedcb2a3e2f2272d2c15d49f0cd58de226a97a9c49c501fdbf7206143ef73e0a22b37548473a3633fd845853eca118d19e3e6dde928bdff05d7cb6dc050c7501305501445e1daf85d579824847410b278f2f96cd1ba926a3336cb1ba1ac6734d212272be7c4c359981499d4e858263bb1d725b5764f03fea98541c90401ecebd4cece4b3d46639359e9ee57c9feadcc2fda95cfdc8211b68f0ae799a6c0a532e5a23792591d8dc2698f8687562ffec043a53d700f2a84fc8faaa93a26de7df6bba850fae787aa9080f08d253b2f3814e4cb184490922c3880fd35f8fefc0c069a438a58fb38695481a0dc03181d4331318394d066dee226465c5f9f5b8f80eaa2b49544dca16618e972ea2e7fbff5caca3f1c383e9cb178023785aeb720e80d1b776dc1281c4444c0c2852d1472584e2f3a59cf6f7cb16a6bd9b8ed664668df26d4f54d8e17c10147dc9c0c0c6f843fe09b36a961febe5b875a41e74e4fec7bd87ee70559a6ebaf3269b92225448f465ef8deb94a7a587b8cc01c26f1a6dc6c9c872c6e76cc11dd90f6df35be46e821703946b6b384af0512137ef3fb34e0ea26d94f9175c94d4fb19ad428f2883110ef839083c0e721b3cb717e6c727a14fa5f2bc61cdd933f6a7e545adc1a1b81f53c19148a1c11723105d9a321b7d4830231d3462fb87834ef74342d0c23d9331e8e0a16ea0e82dbac67d9a9baad6f399f8abe0dbcafc9d05c6374bb7c5b8f52408eba3d9e5bdfc8055fdc009d059269b95b3d9004ec77c8d74ed7daceec26405f3dc159e3299a8bc28da694649349a544961ce24885bbbc65fc9bdfad38829385235105fe5162b7dffd860781c1fffd3d1d52f8afd8ecb140e81ec8a08ec788d42ae1bdc7cb26259af9c377dd32512fa4d8fa1e619de38bc691349ba71b1fdc9bacb30dcb6cf2eb0eef946b26ed6b3822002df4bd321dcc6bf0b7ee4b2b101dd50dd693789933c4f56478bafafe37330779cb9236539e24d75a0bc9f7d08c7807e64f0c6167ddca96a6521098498d037c7734cbd16a172514853a6adef28d9351d28fd76ee7d12f1f1a95ea8ebeb30b62636e75f6281f2cb34c21bda2e57e375048b3c70f22b452838a5e8f2b53b7cd42244fc23abd3e41a42459dce3aecc7e20d79383a4d5476ecfd47860038caf4e388fea408cab96b35d2d36e7116d05ca2cbbbd10c0083b7331e105ba0168000dad1e1c10a9cdbbbe49cc9f7b26660af4441e2304048d67da2a0f83fbf59ae1923e8e566e5f4e9cfc263ce118556b4bc0f9d45fd172809baf4a50952e3a6cc5416ce1d5b4890660c93d8539546ac31d74e5f9d99be87ed281c45f2af364242e0c0eb71bca94acfa21dad9c70a1e64a045a5eb54d61a5007b0babad0d0f147ca95f2148c2262a4cfc84f75c556a1126b18ab6fb6df4a40854bc166b38ab59ca5f4294290a089533e8c49e0f6118912f25bfb52f3bcce96bf4865049cfff2305438ef0215df9b398acb7c201a9b4ed02b58c51a750cb9a764367c97bfabddc65ebad70846290a2f25477daa2bc6055bdf026babda16400353bee8e57379338259c7bdd60dbf4f1061be1c7b45041dd78365881df8de8e4f76ee7c9680d03bb7b4c0d6206636abff295d43e8a0658b3946a2871f2685df64adc3920b6413b593267d6117f56a2def2b47d392731217a64cbb2561152807333b9c55b3e808ff7fcfa7abd36680aee131625d087665afc07c7bd1a4cab0e2de7494edd14a2627ecae3fb24ed805710dc16d526c31fa2ef0bcb562f2040cf687214616e49acbc348a5a113be33b8922cd0cccfce36c3d29bfa6771425e786ea235c2c4ee6f43ba22148c3c2e89495e853da63c5f72906373c754934eb5ce340b9c3cb977e3a0032070779e820b7f9650b7b6b20bb4a69dd96f28d0664156b57721ca7d44802f5ace6554d7c15440e48aae310d50924cfc87d5c52399abbf1781cb6420a3cae268bc3bdb701675c88322c014a51ab5c3b45beb33e9734ac310dbaed80cacdb900056bb1f9060724fef91ceb3f2db0ac85cd3bbedfd9ed7932c2aa6b3efa91c11914ef9091f51098d3bbee4a85df18a5d1c4fb93d4c1455a1040d62f9b3dd676d1f41769671be0ede85653e699be24361473a694cc291d43a05521c80ce91c22c206d93d5b511857f3563509a40949edf99645bbf17b95c4fcd4e2332ae72561142abdf1fd692bfab5b7b31735b0549f52a841bbe2a86599d98d239180943df4b6de6a0a4eebbfa8359d5b966764084276ecae711f41db4693fb495f7ab3b04f07eb22864da0c915b884df9462c5a35f72df429f0d3cda16d5192147baf929f478b1b7e54e5107c093fdacb29af1b137f1adb5b5b7d22deb19b5784c352a6ac4315d851609c23f79642e7b09d868536ecc1a13bc65630b9c61954a91cdcc5e6dd882053f31cbe90808f3343eb9903f5046a3cde19dc8666928fdc2c1f079a263751d6b559d90262b74bab91e2ada7aa55d58d99ade41da4b4527035e95a2352e9214eb94654ac1daf35c00fb93a01e7a65893aa10ec7d85baf4ec57f683c5da600e352da1667adccb112c41ed36469b3049aec69e2cbdcf0113a39683f9e2e84e699872b75ac27a325606120ed41809d6afb7401800836236a774188ef110e2adf2179ce79331ac3320bbaa89bb82b69808817e06645afe894280ce378c2061b4b1f0195352c56483940412b9f556856b5ca0d8b661ef72f626b7e5e1cfdb31ed112ad0855426aee9777dbb78447260d79377c4816acf5828ec3aaed1e095ea62128091f6685ee9eea54bd084641ffb770632bce247dc75938d6415aa5a6b45c2f37f0eb5d576a80e320f79d5a91d8eb2feacd98291bf120e85d10a244d43d29cf350abf667bbff3f938af2dc3a2c137f9024eafad5edb095f7c46349f6e69a204a08d6f80ff5e1a88596b6902cae58d913a4d9f51f53d942d8a0986270e614cc35ef12143579b6b83c4f6bdd5a664532d5709037e1a9d27d8cbb900be3f08bb13f1d542c7daed3bc6aa13a9065468d4df2711682c7a8550acae566582bebede093e93ab6090f9ce9460ef576ebb29cdf4b5a4cd5cf9b1b77ba50c94865c2cdeb65c1af817e885a767ed1bb5e6453b32d90ced0dbc93af36435d2368c02fd36c1eb8383c0cc0054b9a69ddb9326de0493f61692c2f34422b1b2a0dd347de44f893443ccb33f38ef8aa3257fbaede763215d46e6b5515b25f5a2efe382ad8792f5ad905bf5338ddb38e62d3644e4e8b8f365aa6b6a537c227ef0f5318ea630f562a819ea3d1b7b8e8331d2ec424cef033ad0f1986b57aed0deeee64098a728cddec95527b18656376880efc77d22bd8268cbf985bf95933f233d964db41e378d3b11f9fe0b3767027e4b8adb334da113c9342bf97be2667067c0ba775ac614e67c9ce368a24b0e56df761783b2e91cf8bb38ba2d3fcf92c4a0ea4e26036a007368b79b4e5b152e601f3544ca50e96e0bac876db0c84bc5f46a363191ff9ae79b6a2faf743f33198c0fc9a1376d2068ba08164cf25c79d9b057ee7f1ef814191ca43b9f5efd472bfb96f03c0212952d4d2987a8166f2063b924630e9876a5a9828bc8b634339d240a957e9617cf6d15cf245c3320ff218c7c8b81a9ee7e22f3116181a3d19d2280edca4b65f7fe45a84890248b86d844f8dcc962f1d9ce701d1a7d5dcaaa337bc9ad1cf63f306dd57cb63c03a6456a30b08c1863c4de0307f85e006cc72420057c08bac41a5b399415187a297c766c3b8c0005adb31969043c9d06448c70266311dcf3cd047e992b6ea5bfbcdce4bd6ac4350a52c538ff0888bf7953e5d7d03672e25ce35a35804dac82f40819ec60b505df8332aee047b317ebc8d80fcc5ce739d0b269d8240ce0534d459332aee07dfbaecf68116a8721b38c1de2829d02ee76f95f805819b63767fdf74298d04ce00ff84cd3d41cdb808689811ebfd2cd45e1126809a3109d4f6c2b9124de4f1f752c677470435996e7a9eabc92a1ca2679e806e14bc10174ec58c4a617e54f83ddcecdcb85c4b99969e495bcdcbd73dd10b0ed4c952a6f3569c6d76918c6d4c43bcb14e20abde300c07e4563fae4c6823e7cb824a82ddb347fd84b8130233e450acafc8a90c9ffa7063b8ce3e40e4ead1dddc054b70fb4801ed1a555400fb0fffbf3bfe0c3364fb8f0c9858ed34a65b03711f080184cb07d371376db9c32fe37fa1d7d9a68e3748f591a371c5f050d4a7bce6c60fe38d9c8c721b9e53ad49e847bfe94ab14a8acfab413856130e9809b1d6d0e07830c6c5318787fc8e683cd647086a4d1a206338f95af96cc8880662cd7be367bb99fec280608e2e1806d7f6da038815221065efb53937adc47bcdfdab98d865391b375bc32c3de5a78c3e948fa6759d59c29d16f2bde0853899963f2ed1c9b9f0536bd6eed1806bffcef5d253d748425defa0fda12ab00a8bbef156d523a87b76a173d7454f573798cf37945470761de1ece86d22ab60e2d38a8f468c5d43eb64c6ccf86b63defe7d3ced894d449433b37aad4b8536e42f2e1f9200c75fbe269fbe66b0dbcc6dd6d151d6ee391480f65fa500dfa2fdb1054e71720445104baa345000444b43e00eb79ce8923194ea5c8434da0b98c4a21fe3896a1c2fdaa215acd7a6240f8a2e96eaecd10bb3a0a051e60c9d9f7783f7d805b6b0df1d969caa37405e2fbf7bcaff75e6cde2dff093dd388a4bfa3862a75736b7b678f25f7fdb18bb0832ea0d02e395e710db748f47c5a9c5aeab658b9dec364572d4f923fcd5b58d344b128528e16b78846165155e13f8ebcb22f5d44a81cda3e0ec78486cb0a040e77243718f916dfb3bada529151690ca0e3065ff6556c770474644ac20a52f2fa6e9ae49350a73f159d6501ed00245dc86c77f8d4641fee3f39d53289cf84b96d073bc1674fe4a5c3565d6b7cb95242df3606f909ac7b01d0ce7edd0bcdb7dfbf516540fb16ca52d7b312c4d3f625065a8b26aa99676a3508f5d4c7cfe3c5359d3a76b842bbf899b66bd7b1b95ffea71c3be3f599b344f73006c7a51bd052ab6b392adf02b8037ac6830bc53c121f593c926555553763a67f156806fa8c3d55d3d161ba4550c58e52754b91daa23435af042b921ebb5f71adf7b0790a077c87c4d916111e668af413f2ad997b26a27a0c2f3d3d488c4e02fd4f0d5c098d8650356f5ff35e1393d79d08c54fd8bc686191ebd407a3a2114e379c1ecfa2ee6eb5de0e100b92b96bcb96d9d6951f97458bcbfef3b6f77944fd6b467074c8ef9425fe2eb638e8a28f1c11da9cf501400e330066c3acadbf6486aa828cc1e1a4d99e36f9ad3f49c18edf018210e5cba5fcc8f7ff31d07da059a49722bbef17ee8aac66459ea48c652417fa62ccc8eb04598ae7a30e7c4793d87e0e07da89479a24b1cb7bca7fe78efb0b0838b057be663d16fcc1db5555a41508edd75c462023467ccd48a71933fea92e897b0561c2bb6cce9376e45a59deff4de24b156e705b815a47a4786d0d2de8138d64fa64c63f1a52b93e71f29de89f4d88a8e57f6f0151a0e089c8864701100f978c38225638a34e5483f9c377420aa52184c74e92ad8955efe5ab62fb5d7a72f265f378b5c55fc16bbd0d60e984c2d3b6a5a1c6f6c084a75bd6041d1d9e2680fe5d595bfe6d41431b11b7a12b43f6748aba398cffbc8762a53b6980f3b643a10f98cbe2f0ed34bcb5799922ac54c63cdc911d9178142e8be7490d3d900dac84f33190a8320e8b43420c7a01415be706d981f8318ee88ec3911b1b0bdfb8848153750f94237ecd8a5576e96f9bc9a95344ba27d389d3e8380f139bfb20fe8968fec696cf293107165343138e12572a2622f9cfd91d57a771fab28182fa91771257d85825ce70e2214c26f9e42134aabbd738f37038395ec72fbcfcf29d6a5aee6914eeccdd7131e2ee8ac70aa9c2f2d59df085eada2064cb7a99f9163be0cec52087e0dd3aa3112922b17463c9eb06bb7ed38978579cb6bed5a746d9012ffc7958eeadd2bfa4aba07e3b8f0c5abe8fe565726b12bec31106b6327dc9381762183a76de5309f9708a7a954c7da1bfa626c7056e4f2ad875aa0c56d9cde794f7020108c9f261e6ef339368f595f8ad14e16415f8494702f169c60ec0dd264c00e3717cf8ffdfac8b8a3821327d43be5f19f47c048b9e6e44fecc608da4e2e29453a1e8ccfce8caf58a83091ae65e01bd38f2c0932e6a2fec197a7f07c58799ba0d91e52ef4bce8a24b5ce60e1e95e5d8c2d394e381a7964c4b71af8d517125c048d66cfa1a1f49bce6c7e95d8c881df67e2b5bb586968674ddcf5529619919c4c41ddf5aa84da26ed1e627f71ee5fbade71f2fbff76bd47880f554e97616f8dc7c17cd4205d40f575ed68e5823f4fb6eba6e3235c23b08445faf8aa8add929b4324250783049ce167fc35f3cf24fc5210fe1988d8404434863cacf1855fd34fc5b9d1bb4c1515f48ac8adecb19842a654e88540ecddbca7740d4f030fd2d840d5aa57a54710ea811c4677718a45860fc319a7c91507680c6e9ab6e1cf31ca4ebfb873c4445686a6ed08988a3fb0cda383dbda6214093c7d641ce604869a2155b57d921597db6e5598aaa9c4217d5baf77aa6187ba70e0cf3a2a514a5b5da6695f2a759f378b5effb0f2f179b8c5b812920a3343ec464350e572ab0fe1b37a9558717f88552bffcedb73a5aee04b9eee7c33c57ca3189ba27b21c12d3d2778a9b5c83057ebc54659808679d334f963f74699c23c7d0d3b86f5c7940e86764c0e26b68d9b2f811d3ec93566659753ea20307937d9d3cc1a1579379a37e985d55f2f4f37a53e029dd46ab044d28bbf78c507645fb27091dbdd781d03317fbe3220b321a71c3ac96f77c87a405bd242f620bb1a7ae0ee936f96ec3334db50d5b9ef7c167983741d9430d88fe011765eb9d9172cb204052f78d3263355c4ca219fc44e237e6fe6e4a4956143e8de7fb5fb57bbd83295e361202ad554d32af2317457114a291aedacc8198a612880cd53a24d5ede536fd7366ae0f94b56189d1444fd56d25786e3e4fb0a06cf0eaca9c94ac22c42314a1e9cecd7c5a25ec23bc62460690ee3e38ee9a2c545f58e92d4e0c975694bacd4ac040f932fb8c4fbf813a9bca556f75da936e545f5045a288ecc1f48e776f33784f82613dfdf5166920aa6bd80b96c731bd65dfed1568dd308bc02d206638a52733155cc0fe0df4e5b9cbcda96a55592019bf82cc11fee8d495b3c69b6e5c6cf01fce2f1128252d57df564f2da1d993158c5e56d3967401db57c6eced8b2b9d86726c1a3e2d7ea44dfe26b259fec9311392e73f537ba3a7531b9e8de7b22b3d5b140e9267a99869df697eda8dc28f5b55599c89d31ac74680360f494a903968050f8be93dddccb717dc53e81dcfa5a2b9f48406036c404064678a2e19681c8a3fc66c843b7947738ad9016ef80af3167f6ae172b9964d6e76e5be20a5b3e611f149a091160b7e72fb66e27f2835ec624eee944c59c2041db1b12176577064567b4acd3475d0619b964a6e786071ed58147081e9b2b7cab45b5bce4265340a23380c8b0616869678d2200d50fb35e23920410989c06b229a7c56661785c00790197b2fbc9cdf6f4bf9b04d9ccaf82f91e6a91df7134f85157aabaf88e3238bf4b450b2a1ac96f3419ea4f93e383a970bb36463eaeeec083ac323d354b54e5e899d8a7375e154248d4419986a699f12e37bf10fcc6d9d2062b4f9725cb15d04c6779749c66a54cb73db1e75a40b49743a5e31ea03fc3386d0cfe4bece4e3ad61ef577f9cd6dbc12697f34826fe33a05b61125a85865e150228df286f4e23843649a404b5a67d1f4d70708f9e96795b0e55e4dfa783f7dfe56fd30ecca8c6d8b583177f020d25c773cf000b8a56e5bdfdc2de30210fe4fa18364d802a92e16bb7c32961dfd71fcc07e2d7e4ac6bcf7fedf18c7f9b00e54613837b687fa422561ee58999e7a3247e8d4a119ccb3fc24b7bf95d7e0a68169aad5064a3429b50aef2e428ed622e59bf5f73eec2daff501e871673564a04ab9bfc34513a728cda812908e9e6bf4456357bf4068fab747253ab155eadd2d2ff2b94bc3d63037a02917b470a4d8cf2274abb072dcda0d08e7c5792004963fdc652c6d7ded6ecc3501974634038a45b328407917d265fa1009c60730217ed4fe4bc28e51298e93fcc9ed8729713a0607ae93dd99e7a3919c4ee8a8ea0e13d96c24f1f876e2dfb5fdfe6ec59aafa08516c21dea06a46ddd80cf3c004b874a603deea4300a07a78beeb979f89ebe46de466eac3203646646f7087b651e59b3382766f0c091e10e9088e587f5bb3c78b6881a5b6da95405f4ef5fe6a6cc56d0522a9e5bdd67a4d653fa305750e8c2a5e7aa919da81a2ce3f471e9a6efab77d3918dc232f2facbc5b52e88c6b1324366a3c0ecadb82c43ea630cd947c39a87ddef915182c9703b2b4a7fb23e5320aff3a407e33a370be68831e91c17e1fa8e81115fa17f3e8ae275ebfd0518967ea91bd3b4c3a9531c347566d27836c1365187adcdc83e801ada02312f36c487460de564745960821130b45fae44d79b29755baab3639aa7fe98c1ecf3c5f11d28e0a91c7a86705c5e63b7be988d42d1c80c7d27894bae482bcd3bfd8857be7c4ea764740ab5d496335af71fd78c8123357e3df8f2aff210acd563f8c6130e9c504fd735ef4e71953b9e225191934bffcb81f985347c24d1bc815860d00a7b1ba98e12b18d3b22b727e34f9e290280e36208c4dd4add7fb59c21f173933b656b4f7a79a3c2ce719fd42cec1e77eb95ebc9b48e21f70403c9dce9e5b743061fb41f32e497254d03fd38c109ef39c0d764bb43fb7c7db96e9edf88fb1f597f0063b22c77f3dcb63459aac7518dfbacac864f6d1d6dea0c88e6cce36bc9e214b29d8c18579b05baa13f54976f3d018b732e6a12c01e76195292af3c59b5015ad1ee768af39695e88ece367705ef4c0726367e6afac3b6a6ad32be3ce4577ab029d8a8566a03f93206b9b6889dc2a73d7faf3820b9d8050cc12301a1a50ba7a324813175d589f75a7a8b8401296e9e54d746a5e81c1475afc08b13b9abd95001fd788b7fb52020c99a5564ec3eeeb741d1e110e65eae2fb8b4bd5240eea5c678129aaa4c02b91c3f8f46981197c9ecc7055d1e2d3ceb1f678beaa1a4d7c0c9e1372bdd7b46ebffc205b62d26ba83410f65cfb81ef6a665e649db392ff43a298521418905a6d2a5d9b8ef774bbea10fdfe2af85ea10d31ac00fa9e1085fcb90409a6209ec54a18f21c98a1f80863d7e6a2fd13d0b53f54ec72c2e43c0fdbd092d0946394c0f1731b8d67f2e38211a3d3f536e8e16fb8ba61b3cbf1b2d557842587f538c4c039c6543ae2a77b1c1ff6469a37bb90f4f9daf2c5e4647ec2f7a0f88f831827145f1110253873716aff6b871065f1f27ccad27946d63113dd13046985a5f295082ab966c3afd8f944ceec3f290bf22867a13b71bfc5d6623b3fea1347625d744100f935d03890572d489d12b594786b3d7b42c1cd6e98ba9a7271d38e1d786102a4603e01a3975cced9765e9062c345c5963ab93777717cc5328d082de019a09c9ef143d495aaf20d58ef7fa6cdea72413170206ef3c18bef07d52fcbad15df1f4989fef191af6c63c98bb650a149f4b5cb09d695dd342df611d8501f66c7b1e953cf3771f21af1bc52229a7ca5b3c0f27c1fd6d26c8504e314d923dff283dd59ad6b01b5f09c305baf1c0ac7d93cf39b68edb7e42104f8bd560a64ed6107ff5c9a11f3d624dcf24d33c378a4cc13d1f318d0ca9b1a0d4500a2d40a5af6394d7a227e2af43defee72d451504d0a4f6da7b8df75bd50cdbd578f3a26753e7a70a731caab001705d34b880b6561c2ee2394b66b4f518b4e05bf02087bba97ff7acdda8f0769968cda636f957abe201982fc42445e5a6a9a15a8d961d8f5c077705f35fab90e01792601139a6ab74e8cc4dfab2c7bfbcb194c00922c03d0344cfe3adb34af85c79dc0ca583ef3a6265b951c6e114cd1b7084ab80cffddc165db5e58100396a2927a7f026390403cfb4ffdbe0424d5a47027446cd433479f8ec4a0b77e0b55d748c979f73a62c8edc8103e08ae10bf57467be813fab0ca7ac0f45b0386bd9b72774558cbdcf9623b172101bfe266a9c8bb2143959bf1c6136ff5634fd2cf2c66aa3c4bff0089b9239ebb781b75ef0377cb328e39e44472386d12a7045ab2195627b795092797683b37a00ef5c2908ae0dd0069c4f028d3044fca3b9891b89b7b74e95d624dafe68528ea362b78b3755a41f66042d4cac6056a5edf100aa44d81ba5d2ec9b26a7ac1358af2c7dbfba9bd93ea05896d6e02f32d45651868994f589c5bc951dc15885658f26dc22a9eef6495af52435f607c77608ba88e41cf6447a01fdea5a7f7c064f908d80bee45e59cfb5ac7195419efb91b1abac89dfafef321d380bb201acfa8d11faea1cefd64f51cc36a53cd55ec55a02d85e54e263196537080d4243ad7887bb9e753d3411b4e29fb49f250c7b24d18c264649326d283c8e802fff303dcde1504f49aed9c918e9e938283aa46fa1e56955263fe79c8e799250eccf0877db68b7fb26fddd38e42ead6eb2cc5e7a18faac3163c31e00a2416b4e092249f67346bd93d2488cbfab401c30569d1c6b935220f6a6c472156ca83152eca5a9c5e4d33b8a12393582a3799819285fb0fbfb99188134bae9ada9f05d52d9bcaf3e189c647404b26c903dd9b319ee14cdb70493353a6f56dda0d81d5ecac69cb7575fc2ace21d96c0cf5bbb953956bd5f4f65cd93f4812157124b53aa3da51dcc4d03985e9da9cbf177dba31e3ce16bf1cfab00a41ad2df1424d31f8d0cbb7822953141152f3066e854938fd36e60274c11b2e6b82ef41ab5f185ba166018efe148085083442bf57f430fa50fe84ae866e845b2a067f8ca72037fdebccdfbc24d1370add068227a1266ef76374ffd2b74d0a97e497b20e045424bbc001f64fa62090931be51b79ddb21845a11d84a2268d5629757e90e229a1d92099e66e9c39cfc20faaa810454f2570a4a146c2a7c1c31e5ea57501e374a00b539d086bc702275369fe49cd5b282a64e7c853393c7be803c79e6c8fa4c42509f90ba19f4e320cacf647998b4978e68351a37e042438f8e103a880fb6af9e766e2f026f2bda2c5c3fdf5e97095224c131b2be2612a4a76815f592ff3486e668fa9a8447805978fe06e1dba2d3e8d70cc50e88d41cb7530675ff6e5c3378e0b7e647c92883627520bb9e84fa1e4e5e516ac979beb2c40133b40a250e3f19f5c165025af5e43c0cd10b025db55a0e17ee50cfbeaf60778c797a976ccd3596abeabf80354fac512d17a01fd1017b8791b8a8cabe35cb501a58e987c0f9a01e27b071770a527eaa7a036c090b9a8936ff3061b0197622707f5d5b1ac7bdbb2dc6e191df039a1f9b79447252fef798b5d6f06bd4db381764d883242e18f6b5ddf3d586aaeaffe791ee039d294ae111c7abc69dd605791792c40ba93eedad4f4c4ddcdc278546677814eedeaadbba41a8fe8b7f4525fd10842ed51c13abaa2f73f7a61fca8713769c4de8b66c2dfe3a63eed555d955425db93f8a6406dfece3043e6d8a076c231a983202557d88f0f355e83a64946bee1fdac97f3e07ea34121fed1608a612c06a433c67b3dabab8c9a05de67ce2ba345dfded826f13d035ae7a7b6c0e271963b6b3c1eda63b8e136b4b612a5716a759f2df89d0947f1b8fde7dd250fe9c5144e8848c46b73ef6a8832a1aebcf09a21dec2d9e5bd953bd44f23f73735a3659c0c15a2a63643e798b9b45aeca9651222cde1a1f13dc1bf2a87eda8cef0add1cc77afe24e15940fed3fe9ff95275608b09b0aa38abaf6f567ba1ea597a9c89317a90f71d4abfae7fa6a4a3233cf6c62c41d59afcd540c22d90aeabc8b5542b2736ad33b21dcac1fb6d6fb277db2e48f97c5e91dff3284ba1b6cdbb02593e6c613a2a2c12b5a3443732e92f9524b8d6b5aa3c581be133d5a71a56e8888068abca610d0a2229bba6f1b76afa48f949381266adcf329b83a3935f5f475cdaafd7b8cad2dc8cae8a0083df173d64e2e058529d67b058b77eddc67df913de40c7f6918e45733c1861c3a3a10c0cc51247bb83f61dbb3f40a1f42e7f94a57c66c95d1f1c0abfad1f7c9e1dad7574c32d0851fb6bdbd341501b0d20e2f3c48283e3fb89fe1c67e7556f408f2ae617ceacaf7817e084a9ef6338dae1c78cacc3e98a39ad33541117f4f82a9a161ba91e78f024d73bf9158088b23a120ea7d90cfc55c986c3ada56dd3fdc416f618046cf7cc4f4966dd369703103019315d42d2c0a1e48e7cd9cba25bb68ce55667be92391588adbfa172ce0f4defda3b2f633db0d01110c72b34edcb319c662194b4016b02fde4b121864694e480b0da9c9ead867a8f43009a231080f8be4ed6d0407066b929b08c2d38e949dcdab74b48a88ba4a88f175a3cc3caaeb1fcfcc6650333758ed2c2375e49c62cdfaf49795c9fd21f610e17023ffc26847688e188e1d8583db1cedf521130596528e927f415d7660adda06847dd876d22353d6f37a0e0f7326c35abee9e87494d2654fea42218c847e217af2aba892af74a359c4b370e357ea4307ec89be8ebbf52c9f20b85bf9afb9cfe8109f1acb3fa9ca45c116534989b093ba616cb108276b2d6f8a59e4f22c0f8d9f31e987ba7d1528f96fbeea9eaaa9c87fc042bccd11a92cab0261da90eb9fb8e293e3abc4bf8c34901d6bb7e57cbb42568cd52408502d1e84b1d786a9e38e231c3dfd1044e48eb6c548a63eff2d7ad4cc904b06ab7b9484b4a018674646b65449c77b177186c0b237581c415e61cc90ada6ef9ee5b2c35b6d31ea640b152fda12ff146979312ab710fa5e1c7b435f6aff5d374b8b53c613a6af273b98ede57af70ebbb9d035fd1dda8f7e0f51ee5c87479c28679d796664ab507572608797a5d5151c66f990baf265e817b5a8328a6e6f0056070dff5d9c7db299ebabe47c6fca25a56e43ee16c48af398e3b9a428641718668c69467ba513ca39d7d0ab98e09ca26cbe22a178e95252fd2d7994f08d1ef791d9628127e630956c54766eeb1bf8ca3df0332d987fff9d9f4e56c697830227e6e46db1222040afd827dae09c60c2da08de948d4c790b888943b43133571ebebc440a18a45cea3cd8e5a9fe2795670a15eae4fa2e8826de07ecf5eed862b6b102892935e172541fa401cc9e6e15bb761c4a688f6bf27e0955c78e6b2c4c292f7141d53d91dc3aedac065187d2a37f6b6c27198c688c61731ca2b2a451e27b9888d7dfa5f6727b1027feff9dbc7726c008aa0499c0d79f4204fae27740fcf504f4bb5c2012056d31d5f2ca71f403f2e7a462dba1ec9268f71f710a2ec35ebcd061b6b387ceabe3a98528038e051b85dfe7d1359c7632b850223c91d01c140b80f5d696484998b1d8c029ad4291bafe39d7055de5417a4c96ec0f8167d9053cf94fab680b7e77759915e405eafb8e1fc95595db605a0a21ee777e179eefcfbca388299650c10fc0692fc2b322a848f9361fda3e390ccd89b8813c6692997c4475516bbb43901570d3e53ddda31ae3714632b6d8f71105c179913441e6a5b1d1650477620be005c65999257952fc547b0404c911bb5b2818a290da788089b3db0f4d0824ac72a3a3cc94196e43ce5d6154820912ff510bf4f62b2dfef016f7385ad8f11005ad5bac133bf82ff2fecd83ef72b1648ec094b90b1470910ab984879d463dfdd4a64318200fdb066ae9adbc5c68e6eccba950e93ca3cad568b8126acc1a290b89a74625d77ceb19a1e35abd81b1da1fddb352937891951713d590f00db12ba08e1c04b11cd1ddae1161426879ead76ceab3ddef052be347dc10f90cc58716057f2b95adeb80fe6618b178aeef7eeab13612d397a0524c7aa962b86f7a9c8158b1ef4ac8d813de8348fb040d5965c6a502b42fc379a991b0d5a41daa456f5e011fa7b3275db06b8dedd3a77c9d07ad9d394d91ef07bca74c1731f53f816d49f1fcdc444d372a2b34dea82423339482fe0f3b3f6f1fe03bec2059a184596b3224072284981bf393947f4ada5e21077eb49a66c3ccc43a199b60122e8d7ba428846e495c172c4e14131191d60a791f8aaf8f0c45805d36873f3adcb66c435886d2d3b61acd799f48e1aa03109a24f916ea6944080f9c7142b73d38a8ac9127ef66aa3ee57b4f5d52ae97839741b2f75dfba55ba28460e7e357e1e278da7356a090a1ae7c9ea55836504d5d25a48782502b0f33c8e1d9994598b5efeedb98faf3117b4889f73db082f0ca187434c45ad52447fedc9c187db04aacf9be5e86ed95f5fc9a5152355c9b0556eddf4da38f2981af66d89bc67e76efe5f7cee771e630c194e15c8c3ece0575a9dd0e6fa9c2fb57d03fa0b109470060f1e840d912b31532680924b4569970fd2ffc2d1c42206f343faf921c31e83233275efcb4ca1b5c0eb6728552b3d9ab461cd300de3b8f59b9450017d9ced7bf0cdf1e3cb0c9bb535c4944f5532edbf50118da2cea43eac8ec0077641c1f3a26fcd79598a9b33966b8e3006b7bb9b91ecd8c11d1fe46b1dbecc47a1a17de9c9746bd1230328221901f78917b314feba8c096962c5355794936402031a0f287d525f94272b9f4413f6190e9b1da687206d3562af4667f0a32ee9b1b8d93552ad67ad357f4115c4125786eb7661a8f33c19448af0b3a376bb79216bcb9e2ed06c2df02f0b9668eeacff3f264c0de6d353d5634b201946e5d7b41b0cb5d5d19a0ffc338700a28db43ff589846e56a370885a9ef4a070209d10953220497725df7bbe9f96a606e92d156e56037b5038f04da1079b09d4e4a59a33d21867521bc4c764d88d9fe259253c2c05369caa6929c214e8563451c47f8d4b4bda8d3d92146fccdf5855d7ca23afe1ed16ebc507f53209cf82366d0e6f790b8b1e4c4a80a896394c208c84d52093edcba939efaff31d351330d9599a8e7a7aff316d1f3273b2caf38d470d4d7da9992e0c4709400b7ce92f067659457cb5eed47e6a242b85b7752d35db223058b7fafe7ab86c993793d52ae5bedc683c58cae04a4016f073bed75d7da2f3837308edd116b93126b845522d7bb5d33c4b1be8eb9356e6dbf80ccef563d5ac405f582d3c5bcd04792d9e5255feda29c82d500aa8e9c4ba9685de7902c61fa071277e663888e6728914a12471d36320a45d8faedcf64121c1128cad0af819d17290d24ee574405831de1a4879050b23c8c6ab383f6ad61ce7f4feb235891e787af204f181d81c7d20e496161053e3b0ca10aa8c9c57c29390733e9d186226ea97569b374d4e80d9d5b78285b87b735f8f7177ac55fea0f2ad819650463c6463eb5f95bbb2c6a9e568c6c1668d09593af61a38441b711526ab646e8214d18f39ddead5cc5080c5f98936499b4999105abb7ae5964978107409d0b4c33c792b25cf8c8b880c95ae61b752b20a864f58f52c665604625a8a6d1996424965e2c7223baca0cce7b59e97d1fea0a91b0047aaec084d6bd57599cfd49a09c3da2e659bc0b8bd38eb9b92867f60360fbf05ea1580f428ef6423585fd535c9ab2abc531f3e67eec479b5b5578a46d3f733e0f60b778cac9df1ed899bcc5a2c6a066dfdc91641e3c2f4038c262908620a5694019218c15c9d6642e40c39ca1c90aa1249632e541fae7743f6933c427c72a04ff6e89066bdabedc5bcecfb5f7e2d729c63c75fcb99ba39ab4919b0cb977924514b349ef6c806e72535d87dae07baec3ed51c01d39d36a4b7f119d51046c4d9e7ee4da97543d5a4fe8cf067154e93b1636a3bd16842fcdb07dca6b9f48eb642f5f5506a99fbb61bffda05ad517f8652576c89b1d55ad82338d19f11781abd0f7961e135a9072b780bd53da667433084123d991059af8f35d8a644b6754954b9f9dff3ea2bda9e51d39cedb9d9383b80b175d26cf72b5fcb4ef1f58390e7862b2143de740defef3d4f838e0f622c4b23d238dbd918b1cd914a4e099dd39ee0ff428750ebf130dda34080d2c52123dc75f2311cd832082ddedd40b622948daba45008d09143864fa37dda4c30de6a4dd71f2317b7b89019f7e5d3236e28761bddcba92d3e023d0eff8c5136dc27e01f28f7699d1011bb66bb272098f57668d1a81fdbab96c68a0f9d8199a4ea548b63ae048949887f8c2d62c0668c2bdd396e71c5e37a3fce2d16a329d49dbc37354fad3a02996deed0ff79a26e7446662acfac60a74bf91f3f2718ec7be99c6272faf1fd2bdeb9bccc353fe627a26ce36da4e33c24c47b051a9c67c7b3774154c628a825187d8247ce4c31f6bdc8881f10b42a32440a5af88cd57692457b962ea1319607f41c6863158a7cd74fff8874e856512e33b6547c05fa16043dec5bdccfa30da92abc7e299f1516b402e5d7957ba00364ddcd6f3de00c8ebb28abf9346bcf2e9969652d1c9656311f7bebc912f450bc2baef90ec783cc9b1e0d7470177b37a969e447e12de63cda661df9c4a4a827f8c9ac34bbb75ec207854e9597b5b35fc7e3826778161b42a7cbea88685d9e4b4e913be1bd3a5035aebd9ee23719ba8cafd5015ca40f82a870b549430dbeeeef0c18b982e30f0dd567dac18d9ade1af3248544d248d497f90493a55ece93084c7dfec1e0e0b0b3c090e29ff04633001caa1253f8493902529e789261cbf4c079ca35a64bb7bb9d0da0f0181eba5a1db73915bdda96843c385da16c1171710526c6c8454d31bc98de9235be4060f47d2c305b74c7b4ef04ac63978992491ae66c95471a0e4aa0979e26e714c4b539126ec7840616adf924d749939af15900724b707a601d05e8499301caf5a3d5de73fcd693d0cb4bb9a716ca156958fb3bfd947e74daf34ea12fff523a3de337f9cec6562347f5e8c8a5b5435f0e4b84d6d66b96c1424d1d788db1c46769c6c582b20eae355092962a54ed5cd016bd66ae269445cb84b7bda12444bd26be2f3d0af93877e62699bbf379ef149b584b87a78a3740a41b23d25f4a7c5cdff06a7b239c462cb98b47ead2de0e0bc32a6b0962c4f69a45f698ab03cf32a798e195ec7c0ccb68b039bb7c6c7f4e60e122ae0d564097a1397a5c62110cb4ed58aaaa4094a8a25923775cf9090f1be7654b151bcea3c73c2d41053fe86cfe70c2d21731c8f4f4eec55750bbfb7d5f1925fc9f4696e574c923a38966559521691ec54fcd23d5160ad5a848c656d1b0f5571d09dba04756c4d6ab1a4695ed6fc8d8b8f3cadba527ed5d48cbdd38605af61f3a535e8c2053033fb9f1933c91f75ab2ad027795716d936a475a0b4d558c211f6fdefe60856822a30fdea3112dce19dae884e37f82983679d554ab62c1fe3616d817a582fd02d33977cc8f6ca7272e07998915167ae579945dae4cfc7eb34633120fc8e7fbb1dafb5b1d1417c7a7a202067d181d83c25fecc2fe51b4b9df3bc42482a5eded3bd64443cd631cde80581fe2ef150db5e726c4bfbd15b0588609ddbb08809ae27ff9a0ab637fff48ef7a34d20b9074ee9960a4e5f3ef603c07f4d6d16bec00b10aae0af625faebb9b6a7f7eae179302a200c41366376f9dd3a76425916f2129789a760ac1de8f261307e0d3cc67549d70bde94dd58d8df1ac05c2fac06c27bc11b65d89f9e6eae2132ec9f2649975ee4d0622944b7d2f1f7ed17e6e455923286e663b9f4b600ee9f6e5cb1db957b9d0fd89d4075f05bbdd6e3a4f0746f577307a0b363d083b66893349400ded357b995d1f1daba614114b3ba64054eec2bc8c50df5e6207d1f4d13d87a0a3f734686987dc81a48b3567db1acf7c38a04bb569e72a2d91feeb711cddbf02f3097d17455d3b763c4161bbd34452ab480120db154a9daefaa093c11696061d2b451dd777a64bf29479c44972a71f910423356de63268c59c6d50a9ccbf9e0a02292bf770842077db83167ae84ecba12e3aae639cb196aa8d13ce65852a87147ffe4b60e130606ac822861eb8216c54bdd026d4154153794c8bb1f275e3ffdd7a9a00e939d9f2e34f4dd49fd361c2143b269ec58a818acb9dc94024295f7787639052e177ad0879094dccbe78699345c55213a6e2d15512069efd32d488ebc1107b761c9f12e67d069e42c180e20880ea933e480f65b7ba052aa897e87cafbf6b2c4d019a6563ef6e46f99196ca1115883cb34987d557d65edf755a93df14aaf6d8a07ad9d62baa1fdc5ec9d691813b7012bf2a74613db5b88a82ae32bbd8537ec511fc2e664438898fb2cf40fb6bc64e43b623cc62b072971af326c7d05b4fbe2661bf8a0205aec06e61c324d5b9861ff074aefb1d4466884306b0e905c980cdcef47292338828f451695650b6da36abade22e655693e7f254ef11e1a7ebdff7da45ea497b1a63e31d904e5cdd5f19e303b85ec53cdf4be995c6907397c206a66844095e4d7a00d8eb9b7b0759cdcf7f2b45f6f917744898d6ac1d9af36e29d49e136d36eb36d8bf2df9995a643e0af4942904b36824ad44e74c775a0b24614a94126d1f54e0bf3e2d916b13550a77b6c280cf0d48695e32bbfd2c0f293b18fb6af939f3fd8cf26f40279c6833f7640c8f3905a54dca270eb10e496b893658928531ffffdb94a6daed808aeddfe40b49266c586082fd4fece8be3fa6469fbb0392977ddf942ae99586258ada8eef7dcf216f0363793ccd9477e503e6cb9787636cbb8cec1c791d1fe90b850522d6900288244fc1d6316763f20f555854e4f6eea1dbb478284e890695386e62d8128cfc538de3ee74629b844a43e9f5560cdaad264616b81d74fc0f654449c9792d560dfddcb6d12283df10a0580ac50f892933d0aeaed6a9bbe9a4e4006943b1732316528f1c577aa652b507ee31660b3529e0ae31a3d92d279eb5317d5ce8715b56edb0a3bf873794b27437266d8224346bc9f37c6aef6702303dc4ebe362809448722869bc09eae9cb1712fca42dd3ed92356f77b83ca43e50fa06b5abeeca8b783f5ccd5792ccd27f0f76569d27a578d048222f35cae1b14d11fd7331c80516411c4aefe8303113c853c8ce008e2ba8425852aa072984e35dc1d2853b1bdf97e9525a8c157bd417d2f203fba66ec9046516bd8e3b31635ad6052a38c8a9d282080fd65dea006b2b433c2663c54ada4b1ace07899ba916bb7e3c4e5be3163000ca0b0fd7f2f67397e9a731859eff3bd198c89894c49f3eb98b91fdaed37a0313445d114f41df43fb4f985442342f244975b9b44f6f6486018fb64319954119cb0a2cbeecacdb5c8b15a7ca0dcdc143be076fc6878f55bd971140fa1e824e96074f65e2ce4092bc95e3940e7874ed817f7fa6954d50d59b39d6977d348749dda053449981167730faef78cc24f1f7b912d39f73488d597ff091fa16d23bcb5501a397381d2c5edd9f839c25a36c16477000ff77745dd6440edc27691f2df92934d9e1a18fc8f4df1198a7c073d51b35b231cd851df7421eb3001975dc8e6616f53b31c5fa7760dd2fb80eb45b1b84746ece985fd622d228b2e45cff3ee3ab9fa2facef1c7c1860490c925281c8518dd8e1c9d7fdcf20ae419f993a0c3df078f9356720e7f02385d66a9cb8948c01e5bfab88ecb8da46f44d685ff667ec1e4da16d34150130621ee4752dec3242fc07b1022ae4cccb4120c8502e5d6de8c2190344de2275fc685807c84c755d776ec0814ea9a9b98dec1ba3e7fddadba00afb914555a15e62b80dfcdaeb6f401d98f9ffd0a52db9daae17cf922fa34de87f31c9a6774e0342bc94ce67f7d7d6622a08abf04fa49d050f4d2c856bb0fd67a03ca6bd208ea6fa8d03ab7741dab32cf614dcba162f3d150b5ae8fb49fef4bdf271694a5b5e9359f6aef85a9244ae1e9e3716f850b24417db54a9234b67a94c2d33146062d351a93c8cfa1e6267f7cb224ade45930a5677a71e4384c4b8f36e66ee0c3660681659b175c044fd38a26eef6eb78a29928457e1e3043b00e26a71409d823393ae175ebb301a25bf10f73bc3b94d50a3af9092767cf1959e1077688d22f976fa4fee50dd1b25af539e91ed140fcf6a6f0a3dca88ec7d6e83eba9860fdea06ff7a5bbf7ae1f9611d0960b67138e2e312044ecdb278714a71c544dba107a92dd84b7dbe5f3d1d3c320d78870f098f952ca5587c1ae0022039f3198218afa8a71d61ebd70b6ae1f31e564c1421a968abb9ac9ad4470256b84c7c9dbacb0bf636724e3ac041423efb4a18506157132f8f20f6701a80a2aeadb8d169d116b9099a64f9afed5109099c4cfb3d5fdad25c930fd6c02a183670ffdb27cafd95efaadcba4598bc5df4a18092c68347d2491bdc8cdbbc383ab0eb31dc5dd776c2ffef6d37018c5b891204d479561a81f0206301f83b354585101866f82270fb80d0913677ac9cc258f5bd7177473d2dccd866c10dd03514453be5319f54624ab69cafef0e98ca98fee2954f29699318bc5777fb5e337ee16b05fead34acf8c95166dc1c740aac9b53c66b1a955686922d66aeb89b78ed8df4759ba4621dd5cca2dd58e5ab287ba33939abafe2d255e919f458f29d63f96acf52868e4ad78ae7cf6555a7cc40ee8ffba338c0c5b415a21be812013e10aafe8c6b8177b89afa44d3fcb67efb9abd988c37774dd00019a76721b446da10aa35ef3652fed566051913c525da77958ec3582339782cb77e81255249990b1ce1ad5ca1a401959ca941ac0481e98f2af78c29a2e6f14285f9a61d72913ce761fe27e1420f89de302602d83ca0f8d56dc741318d8dcca111df6a8c961faa16f892d532296cab802917e6e0588bf15b006f2c4c7ba7ef8f3faebac89e167b252f875bd63696b87ba90238994e2906c289d4c1496ba0897dc23b8594d7df90e82e267cd12061bf76aaf1c7caa1dfd6b23fe357f48f0d8b19c58990b72a73150faeec24a3830dd9dfa422bdc6d636bfbe3e5f16713dddf589ba4514d5310bf7f86feec57bbe543cccd6937d747676393e683bf8913aabb7cf124c6e2f92fc83fd56951b33ea93564ce55214c24be247eb18859ca502d6f84be6b4a7bcccaa2ed11869b694059053530f9124446bcd3659c2ac59d5d7cc87ebf9982fa8099086eff9ed7f8ac5b7a6f47494bdf0c5185c6288f6d1745603a2238197d5574bcad986a43b622d1864a964b4a4345908914ecd92c8023e441af058904cf3f163d983f37bb815627177253bb67547665fdc2e86d87e72c28503b40cb3dcbad0ed454cc1e97e1fdbf41ad4d6776e9097694697a544e6a27cb85b487e6adca46a0ffef3c076d678af2ba4a408b2faede38f60413b4f2cdb379af35ae2ecbb042777f9e435aa1d128955b7dcb190aa2d850175a612f9cee2c9e050e1144c6b20e0e31e71ee04fb214dd12daba5bacb88b69ba42cc0e15f982461f4ee1de79cb7884bc63aef6f4020f1f1a6818aab5355c2851108b66b111ec5391c00ef8efae13a91b8892ce9ef7e7d7a810323d21650cceb1fc1893089421a676d6e9405cefbdd8758c81151c0f9771f6cd374d7de8cef04b94e6d5e83ebe80e0ef8a48dac1a5a0dd2c5aba4cb21816f5beeedd07b5655f30e23c99f2cfc1037a64360c25f408490e76b7f72d8cae8c9de405a11fb74a8b65d10fdaa45b7b128d3ac94143db43deef5adbffd60bc536c74d5dc3ff0ef465dab4089c712dbca0b586f36127cafe375865a4109d3d0f47a0a5cfe82759bfa36e6590858ad877095dfbdf3219cca2900b4f1112bb04f4b8e039b02ecfe76af0f19c5ad5ece8a7a998f2d44bfec70cc7a807badee0addadb83d3f38e3b125fd34b79ed0f4b6da0aff16b7e71f44ac9c95966ca8a435b6137a0a5337d7c1ae164ca1d4a27a68820a6662ed24feb16c8f7ffaa9705ca4c13d3a7c0a8d168ebc8fcedc9a65cfc09478d3b6edb5ae72dcb93da1d0e8df57598ad984a227237213263da3e4033f7ea63b0a2acb3254cd6a7fa37febdf031f08cb61df2033f36f07c67e15b4ad9466a6c20b5d1fcdd563179d211f4f6b029607c253793570b489dfdeacc84b26629de4f5d42f72a2202dc74637290dc1c43a78570b32d44ea08883b57cb8fbbd169ab7088a2fbcdcd71576abe6b82952084e53991b909414840af722f2bb7ce56aa4a5d892a8eecd9548db7cf38257df96368125ecf746f13ff767034ce63f025907f420bc328f0727eca598150bc437551408836dec88d47b2128ece179192b62d4ecd8ca53e2a2cd0723fbd342966a338eeaec1135f3a88ae830806428cc589c6361a981c7a1be02c0a5beb219daf9d07960a5539d60a8038a092af7389e19b67356ba079c4ffdf45846d74e3b52acddca712491535ec904cf02aa9c3bd66e88b360dc5818a3c8c585a48ab48992b2d6677bd597bb95abe13a2d68eccb723ae149679dfc1f5850c3b1e6ba5796051b30b1a26ad9e59c344e11d1626a687e5e91e81b736d60c1c1d537109046bf53fa1c5d7bdd36f6cf12252ba365552bdb46315219ef7aec0d028d0b2f86a1c67fa38ee959cb0e8d508dfa8028a55db442fa69a72ffc3cbddefb55e6c38e16689bbe1570dbcd65b4f17466b98842b7633169028293b428d00b3b226b1d4952c1e3a68c9280398345c4fb6006d7182bfe0c241b97bc331a9271bb16d313267277bf3ae770deaca24ab5bc807f0afa631e6064f6d5aa60d89cdec9eae17f32e72b3eba8d8b36a5bb2c72973ecd8e0aa708c6086a3bfa439fa67baa6081be249ca41c5ca7242ea56c4803126d3b3b1940cfb1e03a85d9ceff6e7ad5d4211e34f26a11771ce35971bc9943b07327c5012b1fcb17fec718a39800ccc39434cc597fde6e7961c1bd0473ed5b1fb577f413a494fdabf4011b0a658c8efa42e435b154d82ac9a180e3b945bdcdba2e8d6974698b6df38b849dc4c8ac4d836def2752314cbd69a9a2bcf8473651eea028b44e1c01ae481fec96ab9afe1fb828fe625f44f4aac35f98b9d46fadc36b9e9f2da48b527cbb3d74c5c9e82dee8fd07306b0e8cdd9812d9af6442ef048741d931cd8b4ebf0ffe14fc6a4d958a4de011b81a4870f41918f79ff0b74565cfba934c9aa6f4d849a06226d27673843db46f0e35edca249c945a1c3518680c9d6602c0ae9852ebfc66c81129723bf572509c7250cfda5a002cec02de0ef173b94f6ed6b07995cb7445c0a0e995820585c1a499cfa0802fb0c66754353068da71b58c9ba6d6bcedf768aefb84978b5005c9dab07148e5a31cdbd5fdbdad0e46139c1602a15600df54c40325be2d4494343a2c6b90f0cb2a1c3730bc61156be02a62cc3410d23bb0ee32edf27c5be4da82c0d7189722b494416ad7b8c62c9caef1a91521d99707b43b4c348e1a8a64954763a29faa2144b53e962f7a877ef0715612dfbe31ce5df5a583732652c4afe5ef9c48e05c1e9b5eea8e9995045b54c90aecf0b3a7317a078bea2f229bb904a1cbdc3dbe8869fb2adfb9ddb5eb06258fac63466efb09b6d2424ed5367082ac61b025508d1cd4e08caebc04cb8fd242735716bd5f9a29050f5f2be7503f18355a19b8d18d9f0c22b0b12b51d16b59ec1662d113677a0549bee2c3a6d90d0ddfe8373a54b8e06b1b9142c970d413ec91453c4d6e2bb4e9f2c0f1b48935a43fb54d1e5c090e539d764bc77d08255d75ac022920bf9aa79e1c374a2c5d37622f5149b725cc561bb7dbd2006ec55a27cb5eab28cdc2cdedf62b4ae843d235f9363f96db8080e039fdcf6c74c619d42cf206867b4c5efdc25458218aa86735413cdc279581015c565b78d0a5bdf8b36ff83d740492bdf39ad8d33c09dec42e29f74d80b761483c1bddbbb5e58bc9a6f41db0b4b2d7cde9fdf07148f8bdf0c0bdafd380ad3fc8f2504a08af094625e0f99082096e5af7666ba4e9ebbeee4d8dab5e4b2297feb3aa5a9290703b91d0dabaec4e532690b11148f0fdfd576343f6768c3881388dee49283a227842a614cb75a5fa3f8ddf706895ac9bede391c18f45cd158d47b218af35851480d46c31e4de59e8464fb213cd241a91523edbc9a5d7832f3be440725b2ead3f8e05af68dfb382c6e62cb44b21c3e1582fadd6a8285db9b0c12db704e49d6ce461cec423356d24d29f59c8bdbfd18a1bf193ca683817a7b4573ca1585289dd6b8c364154bd90780c18541f4bf1a4738aa63dfe15567cd920cc43d1f43e9f92a4da7f96a93aaee43e6b5c39f724d5bae29e7679864cf926b14cfcde175450caa41c062b8098fb51f1670714f9d2d0b124ec9030adc74f867bad7664c85dedcd44bf1a1af260023ea7c5c81263c42245b75740e138e5ac7dbff2290c485d7ce6d7167d047c8538c09b8499bf2e98dc19e1f21ef0e6cac1bd264743711ccc1beb1f374eb83ca0b9753d8f23ad166cad18aa19ef289019ad93b84c106b32c0c10cd8dcfbfec46aaf314d18d3890239710315efc1790468aebd5fd3e9921a4c77900ad21d140e13ca5aed258fa6590a719f42fcd41f42699b0d34638dfabbdf40eb23759bd67fe9535f3694afb5147774d07759443ba94c1b4d0004842b9a1525b6ca50c3895f79b449982cf89d22f7956af1cc1b6300729b5edd6ef756983d71acbbfba4600389e2f75b53cece481d189bc916ecfdb3cf3560727826692dc4fcf5c9cad37ae322cac0ccafaeb78a7a5f80e61f7ce1cd4b48a021fc112309a7721c7a0d6c729ffcaabb13e881f4911fad9c76989cde24f8c469d33de528a0fa5b37ed97e73bc801c1412c6319d029be571422252f8b75d3cef9291271a4795209c64197616cd36fdcc2a5201e78800784471f2bd158360fd203af9b607bad12aa1ef74028e2fc649c2dca0ccfa6e2792b893d0332bc94733215b1f743eec05014f70715a11d8566075472bd743358081d144fa3bb7d3d507bb561e9d9a14d1e82148e0650d4c3bf76b3446f0be56c31ba4ba8cf44c1845110111d9e3d8274a1c159f24c2bb54cdbbd44c8c176aaec6ee73dff407b5bd19b06e9402cc7d29e936e668b1b3480621610962655e65464627700218d9c9869c6e5dcd1d373e9f91fd90e9950ce8add53a7d71b7224f8ca8054b4b1456da5b387ea4766df8e6c8c17e50b796e46dae7644629158cc5ce94877bbb2a830b6b77efd1234f1d999a84f2c12561a15aa8b0dd857a2465a1533569375a2874156cc0a68a9dcca2cbd6e991a5f8bde0123561d1f2e5cfdfe51eea418502c6fc05c41e3b87ce39e81a2c353d8322f6294a7b9e1099b0521f97b0fa30800e8ffa13ee0b7a01fd3b8a9d7e41f43477db689496ef19cdfb320e2c8fadb7082ab655de05c6c41e637e95ee9845d0b1be025c7eaf5ed98160bfa6c1ce7d3cecf1d6b05959dd8c60830fcaf7d7d6460327e72057c8d93c247df1154a7db24bf4ded3d925600bb2de287144ec578e3f24d1015177dbc1b99aed9c55b9f0fbab1aa1a2eaabb68b55ed3236cd864440969de99b00102dbc9a68d77359a49bbfab30a73fbfdd3d3ed3bbc03b529100c1d590ed7fce004d8e865f863ac348e6eeb1981546cad6ece7e5159651b288fb8d03c1de94c16342be511291d49c18ceb6581142b1ed5ccd246329688491d6e8546a13494b4c31a880033040c7552fb05a7c4ed3f0d2501210ed7187f8e7a9da372c859b0f9e9500b787614fc7f68bd3da2a124492a5a0cb08fa2fde5a6ce0d7d858a7332b80da7479df00f0c239337e2ddf71f6ec6899e62c4aa4e6a1d8d476ad813eb79db5004255f2eb733cfb7d9038b50ed93318b68d66e9129c3084fb6e7e8a24cd6eb02fab833c7fa33d24621f5ed7ce1d3cb6b9f3774707d6b950d677059dfed9eb636f572b6efd841112a268a3ac335952a37784cc43bca19415e32032ed2082412d3056baafe40f3b53a31bca1e2fa0c174d0159b2888e26ef13f75439205d1d0b7248f69e7aae726bcc4f44135efe7538a34274c620b8ccb570b2da38430596f7563b1267e653e41a0a921c3de0937a62e5a25618d20e94ae31bf0625510debc60c77d9f64a39b5c586b30638ec1aa306a594f3b49e07727f4da1516f1b608f7a0d9a0897030e38501564cc7039b671f9489ab0bc2674d5629552543ac860f0d951956222e08bd2ba90d7f709e4e88b8624d4345f3786d8e0903e20159cab455a3662fd75d222613f19ff6d438ab1f891ddcb8115d5ebfe7bb857e7d8d7e21036ea0c11c1fff2d266d6b59f59657b9bdb5794b4495785fac2fea4b334b72fbf6751dff85e3b55664e009a037e6d06f544cd18ed87d25e5ac9ef3ce39c1dc63e91bea8293c71bc0d1aa73e057a2331999a6a9cc6f37bddad271e83c1736371a3b03d6fb0d6ff12a9f48f417c167048de244484314028ccacecc69f24bcb8f8543a8387906bc22180d1e1505dfce1bfa17240091f35f6ddee563721b1cf00d880c6fe7b8211b6bc8c05251fcb303416530257f46bb1a582a6fe0f422848612afb69cbb98d0d65b9833ee58abcfea4c2cd0d8bf30c99429e2dbe0c3a52006192aedeaed1a612eeb42fc03043a435fba7f48e123fab4127ed3c72ecde0110d9b5c07bfd75b3de82cd2ac1978d8916f568ba247d845bd5da33807f924c780eaa3551661821b88c06ea5fdf16575f549ba5939e0a1c3972ffc28d84295dbe0aaf29a6f7f8c058ec6c9a7938996864ba0b5347ddee919824b998ed8badf7bb33c745fb5961517d6f37013e5b9a8f7430aada1210269daa9698672e44a1ba464a9e38a92a9f46bbb1dd798288f913b0f306d4b60b94e9ec9100e863d4f973d065aa3989a40e7cad00107ff0a3a52ff8370d8c09a6cd04914f50bfe606ec9f43f4d31a63ab1a5d7ab1a187e225262208d6dc1bfeef4249f18933a591776c75fb0a85b80254a0e5ee42f3b80c99d719fe4dc17b477fed52125bcdf9adb5b5d61f22bcf80228c2611f244c21085e826e517d317c8be2ca3ca97c465c5e851081079c0ebbc13cf3c9b97fd9dcff6c1aff8762cffa539d44fdbdf758f46718fb27d3a0d517b31f85d3a4d72a7f9fcd17e0a74f97e6098418589e93539bfdca9ddef61ae839cd2ff415574a2e847f0f8bb2697714ff39fb09f1ec002aa712ffd3fb398aa61450a65e946fce6517a3b75c7d14dd04898b885d2e0ccd5ef1bf74ff9ef6ba836323b9d355ec82736ac15a75bf7a98c88ba2fb8b566998f9f0e8ae392e298aa5326fe5f5330b8ee46fbc489caf9ef0493dc08da77c095c64502acd0a9ff886b17ff79879b1ab75ca9bf428b8ffab1f82127e0e857235c62460206c3105783c56eb5212d5676e3cddd6659f5753edc39bbf76386f120257dce7bb9db0f2ef43a16d117ecc7bc3c1e408532ab70f148fafb240e1f33332d0ec6dd0a2014c3323ec076ef2cb2fc5bc4352f99551bf7e2cff9fe362e99b6b253e741ee8a3602c51bc3d9edf10aff2364bc5ff5dc0d5a046d27893ae75424c167732907f5cf71834bbdebb411296a21297c3f100cbdfe59ef3979efd2bf80a6b43fec3b010295d1ec90182910df497d278b5105ef2ffbba03de3589a97e95108f7a0ce8277abae7491de1b5da400b7a7c2e126002731ed233aa136ffd3b3bd6b7c34e8973fd5abfc04a778aedbe71fb0efbb4b5686444c476eb11bcb7730f1fe0d41b924b2f7dfcb9073e8fa408ff2d503521a14ccbb84676cc7865c3ad6f600c0b14e1d772969b8311f945232968ef29fb3d1453d232ebcfb393f5d6e6a8f0436994e66f960d93d65ec8c9de68c8bb91cc85a891a8e1e6ba380e06a7f599998fbfae4acd028a94e504ac37e1945a072b3dfc9d097fdd9d1e796b582362f161b6ce38ad57b3008f5f6e33bbc9eb1cf220fae5c93c12e7feb6e0b7a739e33772e9c1cb0fb40db99a4c1a88601d8ac878322685e2d2b202337870085cba9ba5274ac92364abc86f08382f191eda1ade91f657bbf6b3e6f1e05587e42c176d3e2f04ae69cbd258600cbc7f4d99f7bbce088f0bd5f9806a2101823f08525d859e1dea9310d61659af32d05b17c6541e4a096a3b47d4cb5836f5b6603467e1be23ae100a502e4e8d8017eda796937eb159883d6f2efa17196f20e6f46bce01183e0c1a6218f0978b878aeb920144557229f763583dc57dd8e4c24df46e0f1a8b834db3002b596756572f33ef472a4a3d6e0800edfa73a89741bf972b2e98cf1758937495984cac82da5f1db232b5bc32eff0778e192e4d79e1041f7f16233b89cf27ea1fa054f7b6aa0361f86735390e89d5e3513453baa8f8d824613b6be8e958055c2766d50f1690f58ce7a45da46508dcec13f7079add68eb1b692e0ff6edf91d5673689c1383cfca971a1cfa3e6e8e33a7a2c852da917d15be0a963add589feb3a19fd390b356744fa19227fea4337dfc4db9a59f5824a4adb8543cda196046e886b9d7c94f6171b7b68e79b011f72114992c04e7e1c6b57a08e7bc76dff3956bcdddcaae30d6f0ee7ee95bd809d5829c7227bc97ef03a5f5beb5189ecf3d39e5a1b2fa59d74a7d3bc2a9331e6ee71bb101d504c80efd7ae540dcbda5b21265a8d3b411b3ffbd208921f09612102942562e431f75c3bb15e9fdddd775cadee6467199f7b2dd5d3812683d35827fc60372ee0ce54d5c2b81a1599423f4dc54aa80a6e902b45553714f0b4feaef3a935cf3fb20bdafa94ca6e13c2ee90c7af0eec2ce47a83cd12f932bd3fa83880134502864f008c78c41b6e44ee6d2eac94d6ee42c12e9456d29e85c9966057ccc019fb3edbc12f2b3123e1552ea00eb61dc1219f892ed20c158f5dc2a608477dc6b598c12f8ab229c7c6fd7df30a478d326955537974453595a5d77a9cef6b8000b4aa39567130ab23747be4e9b5244b2457255bc6babb594dbddf443d5d0f2ceb217ac2d1764e16975e08751b94d9f169ffbd0c5308a9c3c683f1365e2059702b9c3a0daa2181b2996dd08d6e4ab197b9fce0711ee423e62a21d9bc5411b57ae62056757a2da6c7f947229f336def4d128460c93925754cdaa0edf5ed6579b32080d1439e0d0b4a3c018680bd4456cf487cceb1c70858498dab3483f5dc7da152cd36bee17a1def8ad03a1376291da7ca3660cfea53075c76597052b3c39b751e0113702c2dc846d2efc2f785f80de00b5e776a63f8a90ebf902f691a1f9f592eafd4e34f64ce4bd57a8b5b7ee955016ad94bf34e75dc2904c39cb1097ac694b6e5e6035bdd70552ce4a88ddd0488cb2d12640e8f1619f2607641d49a116579b506222fd865530b9bd0d9329783955e4a5cbbede87e3820dd9ad9792e9cbf22090cd9e9f461e3d278f95efbdbe3fc00ea45a683fce18d71efbbdc7f4e250c239b5facc73969e3b186b631e3c8e74170584b44d55d6470cc08aadea17b39ebc5e4736334fa4bf5898ed5ece342cc29eef80e70e9fd3a920956c7e6eb8e105e6a0835a9922caa66233bdd026c009a246a45daa7cc8c615362410a888e8da46de9594767853ef10be322deed2994fc50c3fe1cc9c2a6c4c6ac6a30a81cc0c22ad0bbb8b2f26dc5739b696b29444a39ed88e009f0b3cc40ba36e10423503d881ed95dca71f23ba5c68cafb4375802539043f545061ac65fb844e604a636b2a91eebc314731603db4790b80b46bbafc3ce1aac2aa263f38a87c13de89177174cde05950e23b5b5e3f1b4498ac02435b48a999143a0313eefbf2f99fb7081780075989d1db0b06b54635ab653733551449b48827426c96b66da079ddf560ba1bf53462ef0d34a87529576cdb1c44b35253fc6b3fc53696a69e8dad18d6d4f53bada3b14c102737a445ca997ba327ecd32a4d6fef92d9f478716503df58ca4bb7468ae14e7494acf974d640f1ae6a7ae0213713bf5c5adf6c4c6cdc09bcd9a4029f66b76b468b74805f028be5c023eb7874ad6cc8692fc494d8b4c42cb26ad326ff6e9b6102bdf2c92a9a1bdce404907f0686abea8bcd6449c82ef4660c59c448305fa2d2af0318724442dc290d1343a390921373e84d18ccdade198b38ac77a1614413b23f906446996b6eab99764583d9ed2d3b2663fcd250e54aa94fae3616f05dd14e61ac37d6bc2fafcff8dd0b15d92da50bae683307ad2fdab6a30874b3f0470f7e849b846fdb5d887afc47f09178095f64b04eb2025482f4f430ade5e9a4dee57c040c27e44125eb7a662702054d96bd3167c04c2d6683625be187cb675e2e2c078dbfa59f97d948edf8985f6e9feeef5d5a222a5eab19a2d3c806548fe8421c7f940decffc6a4f2645ee11be3f6a59ef3c8881b97644c8f3259a46dc609377c519b75cfb1fa51c3748fc9fb511e041fd4e3470c2a8de63d1321c08250e365b1879f388bb35307fe94a4bc7ffd07283587c23f607bb31a2ee38276c826f0d5b041f6871fce6c650449d2792c4225a779e55c58bfdf1a2f5925c13a5359968a6592ba06bd93c88ae845da70e6e2f06d4fbea1a89baf264cf84bef6d457cc8c1937df07cfb6a19df7cd5f111dc8165aade822c113b3bbca0ea807a9922a03fb6a149b3c8901399fcd22f74d83f0d4ec2dab5cea43138959260fa80327b0e44fa1a71cd2d92882b5301ada9f004854c675637c221cbd2cfdf45b28bf7a0905b994cb358ce1cb9f9d82292b2d985d46900f5227d3d69a5a94d5eca1d25febc89b63bc3debc6f3493d4b876da03824616b3b65a91b93a1a4059d2f6e13e73b8fe92b603e824607d2a87b907d9ce5ab6b77fd93854bc6f80743174be7b525c9c91dd474406154c1ebd03852d3a854d8cc7f444aefbef3eaa96259cb4cb24d14a7fd3e8fdbe1e202883babb128fe93fb49f70b718c178513e1f4f8d40232bc9f21ea7410bec26c5e6a890358feba179bead04db0621d0751ea902d74aeb61a36b8a02345416ed0e23a5731bf6c7fc05023be2f78acc2bb65d3e4706b5bc9796e4ab92f113834b9ba961299c5348b99befd4840aca7a21c87776ff1ebdc9013100db25b0e3910ae61f06aa8966ba918dc4d1f127c0cd534ae49bc6521dcc453d5cdbc1f3f83b40ad59187b6bd679c58b4f75e697457c0709762a729c09ec68b9440b6cbcdf5563de5f3b07159a5ddbd55e166c1ca788731fbd53bfe2e03f2ea59a7754edc470faa2dbe57bd9e225be2888858026e98cd43ef17118c6504623258317152965e57dfb846a88fe0521e3b1d51b7440c2b2e1a0233ad2840cb2d9843362a4d13e2eb4f6d37f7b0e475fd51780933de588130b86278c809e56221dae14e2d7017c693e43695355d5610b117a47fe6c910254efb27f8e2116a487ee7c4afb16fa987c3275c06c2444810859e2a5b6699c6ffd5193581b5d7616bfc9e8aa4fbc021270282a2ca7b217cae0d31258dc2c59a6ae4fac1c1ea8a3f90cd89e19354000511d768ac0dcf622afcde9762aa0e09a739da3081ce1cff0b4da7a39f5c7e1053549f5d287d8607da7647afbde827aeacd2a6d3dba396a4d2ee1991ce47d337744efe7139bf477dc13498ce12248a0dcc4049568d7d142e1763bcbf60a45900e458df655d38ec1c7990dfa1ea9b476c3f025077edcbe4b3919638ee2ce100194d63ccb9c6a84eff6b83fed86017a5ece30571a00b2545486c2a259abfc9e5e8cbe81794e221e898641d29b5fbcafd3ab55b648648579ab30b7f3f1b40113fff8d013be9e0b015f13869a3ac233be702aed416783c2bfa8287f2a8106f269649e4a31783b23884605cf718d277e70bcc08b563491dc2318a3f80d4fd0a4724cab2ef3eb68d543385372bea6eed834859db15b061d105fc5bfa93491adbab8f13c2a1cd28940f24a252d0bfa060e6d40f8e0b0c70b47901685be231163fdd4b7220ae568a4d6a296f7904c93ef70df7e2eec3c24d2648a958e2727be781c9727635ee327eeb0a8848398a5b95a2b53b77faf76a005ea0e78b754e30918347dadd6844776832841b3bb9a8e5bd5334e8dad1a18058794d70a56ae80c72ba77bfdf039079fd885001684edb2eaf1d8084b90cb31cf87a0402b2e4d7190f5d07f0bf5f9d3060e1ed3f51d85e6f913279be4e71cdc6d4c452307d3d46892c7aefbab60d026bc8cc0e864fa3940223069c5cd4ba7bc41a03061cd8ae93241dbd3a9bcd394a52e5b0a8614b8de2a133819340075c245c2359f57cf096e62be9d2bf26a753a07e9da96f3bb5d84dee81eb60221945a780436b4c0b0b9b303a877f2ad087480c8b9a201345966acd68f005291541e3d75a43d3b879efb42f1f6e069056cf6430fdc87a19007de3aed8f8aede1863984a9f4f1041235ed158e1d05f6276196cdd82e943c27cb5b904e28cda898a63c7eaac31c4341f129d82091f61565e93544367393983254ec9005e818646de7dc3901b4fae100adf03b5e0527855e2bcb2707fce0c18f8c5c944ff9416d2e2d2d88e2678973fbb92b8af67872119ca68449d88354d2db05b2107754d19751e90033d5eb0dcbc29584ff4341736b6c8c85d6eaa459fdec267a7b7d982dc011e529c3266e2e9ad51152233cf9cd11bc28922d7163ace2c5055233dbbf0f21563c991db8878d6500bb1929174394f252532a7488927d7d3bec6d0df80901794607460bbcfadf6f100727760c40aa44503710a4ade436fbdf6c8a59d8a18295779209ae76829e1980b4ea630e4a50a0c919442e0ddbe505639cec9ffde9383f76d9a9d96f59d7d926e2ca5b9d3a85f9a289ec4066245918885fbd067371c87b210cbcdefb595677bf3e17652ad366592d2d10250a3bf42a7de4b13c57ce49847a4894c921d91cbbc08f9f3a6634f393d24f691e908c56c82f321211b3ba98479bf5e462b66f7e86c67eacd78c6c9553744071ebbcd5fabd485db83f173a17fbb4dd4b87e111e33a8beb7690bb0d6482f9cdabb9b80f81edba9c59a1902892671c2d91c0138f7e1c771d57789709c2ddd68bed44edda42666cc022a7d9de195e369b3a225f737d19a05a9ecd8b3d1ce2c38565adc45d84557c35e881c176df086f69b50b3b5cfecaf764da17c13243d77306f29bea11a5dffa003bba83a42c5bde3814af958d3664c09da5f1896143fb8f63cd11fe06fc6707413185ef2b601aab4c7132e9a7c7c2b603f7d2a0a027dcba0b7486f373168ea37fc218c043f6afd9e94f5e71360fbaf7f77f03cf5872dee6858e8c0fdad893d828aed1fbf279fbeb2af830ab78a6c1eae69e742899ee712db843b835b68a691b722296ec98e12f0e2ea13c9a240836c7c3e4d5a8c566baa0a1541e44239c7e9eef3ab902099f3243af921c774af7d2835e76ea93c6d0607785aa4aca3842bb769d155c88d15ea5995f5d6725d608e65e1a8555d91b0e30edc26655766671f3a697d4b81e833dad744fc260dc569c3cebcb4d2e26d66c07a5f900501a0d92e1c375d75848a26172c84c63955af274fad997b650d1ba7543f51f58b6774eff0d8f7b7e95c0cdd6e92678bc469a9f7649f7ebed8b7925c24ff829744c92565f948e1903aed35f46bacd3608d911293a2ce969ca74b5c2ed6f1f12b7e4cf0450cf200c7c94fea1cc5253ef62def425b681dd4b438e0b16d557e88037b5e256dc54c19085d8fd561a1258d34c4677af4d334cc7dbba8d81175018869a6d28e69fca1e6673e3138db85fa1b2407178ee9bcd7c09271eb746674b12a597e23cf0515962a4864021738fe6d45f750bd4e39d3a392c1a82f68808f567ca9eb378072cf07983952ab389a983fab1a5cbe41dd3e6d891cfb7abd06dda84f76274e728f49f7cbb20c4020efdc5deaa1a52afe485504e5b317867670c78512e25bb2bf55228efd32c3786e35c90c31ac851ee5b94a237440c948d07e6ccf84d62dda7fa4f4b5b1f8a675b3468502ae376b4e695d8a754e5b216cdc974f113b347966f46d690c51cc5193daacbc532b6a19b7ecb04c972a119a90a4494fc893960cdbf089c9370c9d392217fca3f99bd0d8993ba44ab4bf188e15b23aabcd28406527468698092dfb561b0c7a49cc868a20ae414f16ce86f3d4076ecfa5104c470d8e52660cdcd69fc6c40059de0af32e4e452cef983fe9d1c68ec5734c929eb62e6d3182bc7256bb7f6330a43c42e4d8f09869259958d28f8e5c99f8a586542e56e8304ff0861e483c439f95df64bb8e18d4b40c3fbeb293a8c1bc0c306c7700d46dd6052775c0b265ab46d9bca5b0a8b58e4d29100a8dc868bc78efacb97ff89e1357125c1660e7fc901abc6151efd548d88fd7a38c1553fa87ac0254f4f546deed306266a4b8e93e7f1592b6a335f9cb3bb52b032cc8c15a9da43b7ffe9684ebae6e51e2f5fd662d89e680bb75ebf488e8ce347db163896bee28eea7d4e781b51ea6694c24b18d36c6b554e41dc5b01406070fb46a9a141bfa8a59a1c8b2b992708bc94c5e796b5b22a05dcf6dc536d28ea6f711d449bf365f55c08991b1a07cff148bbf9b9cfe0a4d01a224a3124fcde3b54a70f52129cec4fc0c514eb99518ccddb587926993e56a1b8866b046795a519be4f2fdd83fcb356c832c4013fc0787433443617f8a9aff4eae83e39f307f1915ac6c114817911e85ce51a8092a2a147fd617bd735211ae91cee9520d369c56ee34073698c3c179a3d2534d2314482be031a373e3cf92c26cd9e261184ccaef72d914eabc9580df754296740ca9dd6ac880a0afa2bdb0a34746432ab9a96cae59b1c77d378e6d6990c39bfb2c3921c65ec5a6cd2c9e06774be13d245c45eb9182e2edbae2a72bc95506fb821dc95f5102df489f8e2581178b9021ed335f417cac145a5fb6409f8ea77c18fa2f41d60a4a0be78e964f7f99afbe51bd7822a180b143dd32990c00f2fef7811fded2ba728cf35d636adc0dff7dcdb887b9e27de2d38ff66787ad124012d33a9cfe2932f31fd0992a43f3645679472295899d6a42d010c0a7761920a49dcd2c563f5588ab5aec43bf43629cb5d673c5e15cf97cc0d2fec26b054cc58e81ee68c5dd88a93f9da45da8b2982a8b84a690d8f98cf8baebffb4227b0f2ccfc99e6f58e829b869848c54c7e6b4a539b0d59eb8c705725195d4d2375dd2aaddb6841697d1b8c380d9ec34fab4525093baa45706316835c4b9159fcc4627d105e724f409e1118961f40e433fa0e1c170943164ca849a522bcf0deee9568e5d32d279fcdd2696b0409a26e24320442ddd659fa6359de27afec1502cf1967f448b972714238b9ba9a88cfa012405bac18580b63239c50feeb21c212a71543aec21f08e195d584d454340f0295a43328d50eb1eb51e2982956b0c4a152a8167d714cf6ec54fa870fd6826ef0803e56c80f835886c02340a145dd5c642b7e8e8ed87a8f751f38ec64f5ef6d762a4909f0e7daec393d970453e2d89bdbdf8e0dc993381c7cf18b931ded888a3b491b43cb6ec534f1ff163af16434555aa389ec304e58b0200076cfd591790644c394ce2457f375c5aa3c65e9304dbc059e475bf75796fd5db8940440ab11ca2d83cfbb49d03ab6f4e70018f3a1216c1fbf615f0695ef0ab9f53434c7594d562bad7617887f8497de84bebfd05ecad879a481ed0c68658a07686f9fe0e622d80366bdcde523b8daae39e2dd911ca27535638236ffc6f5018a3ce12830cd2219c79b3e387208e06c47ce4163491b427b4ca9ce7f48f69067810d3115efa448115418cb9fc419543d2aa623f64f381fe64d10de3dbc9461845a8f61d1b9bee07371fac697299e84f5f09a138014c56a4a8e81e4d447b50aa232b5be348ac86794d60d8b5a8c19abe9838cf42618ec12e554618d8a1020445958a9edf5666d3761d59c882e6a959898fd4971c3a13b7b7e9f4b90297601eb7c70181807a8f69464657aa9cb2525d410f9951b952512f6b0b82ad61a358c2c1ae6f71bd5bc733922d69d6522d4aeea6019e053de5a07409be738d1d34a993d53e5b87a76d4a68bc7cd88a8498080c00716a1efb8dd8b852909260539e82b9d33eb9d1d28c11297266ca6522dcf6d993574d70c8c114df00af17600911a00715f72d793e242f7ed5adae0a9a0417af2b013c51bc112d68107e39b08b6b894f75783f80ce28a60fd61e83630a0b1d5159b5449b9936a6e7352361aa058f420e1c21381336f77e999fe958f1c0b7743cf9253b64edbed19bf81bc56292943a566e2fc16eb3030a8c095ee9a284b18891e5aa25f6fc5b75da17880d299a951cefbe815e39abad2fb522671d96c9e073e5cfd4a5ca8313121cdcc97d64600e539fb02a34414996d3feba7c3c429c3e4b241194e978d80a4a39e025a3a24cc7ce0fce6c6797377c2dac9068a05c3fe505ef360821044a6fc655c8fdf63cf434a09ba603bf89152c393e591d1120ad5f37bde6080be472b63f918dc2e398d5a72ae6743f577b8aa1d8bd583e47e346a371d1d80d3924b3ee530b92622c876df382bd96be0473c66d3730d9d1ccc81b95e04d83b91917e060f1588404381e770bb59c14416e7a9b48e18cac35ec3fbaccebd778b1aac965109d7118439ea0c1bea42876042c3fa921a714bd9b726c95584cc2b66fa7f618e1de2d4b928737534e687baf6e3b0a4d6092a0bcd142b2b1cc374ca6e1e60dd9bef82d131565d4d4bfc9e9e9a5a27e94df27535fe7fba152a9ff41a7a37bba571d9bb2e2918d14f7d0903db3a36d2bff14078af1a52deca04478aa953019cb53619fe06b991211c4049e98ed3323a85a51a71a2d22dc97ad4b17847ace57ce069eb95ae577e0abf16630d001f85d5a039dc2e551c068eaee5edaf2446e85de87e9620e92f1a3befe3e8ac5f3d68f5ff1a94bf8c5f2af07e267276af70c4436398a76acc95aeb95a7220f342ed1ecb934d5ca2487842663711e47e4eabab354419da8f7fd41c3e5b41853bffe17b7f3a72c7a024dd47ebf66a7f465a44e9be39322f505344b4ed612ace81f07bbcf34f44cf324067a71ed9cdcadaeef956e859ccee44de15b6d90faf2045ed7e9f94c3118a61d930a965de5e5311adeff681a3bd678d57ea555772386fb5651feb37e5a6d72936d34fe4e0d4b6220c8d7e7ad252ab93e4db788423c7bf0b88882ef1994f23e22a72871143e75cfb587efb2bb2a9a71cf77f0f14c6ef521619257c50420c4fb859575145b64684c4cad0561c78818e676165f484158de7e2f55c11918a3c147e3613dfa988655e0def6ec2202f4f3fed38debcd3eb4c168771c48bd3969b9207f420ae6188005150f2d115861771086447a51e5ea7be533ec34bb25b633cfbe0bf9c1f7554ed2e45c53a54bcc12c1d993d50a27395d32c9fd06ca8e87eaa92616a2ad860a03c14c0e10bfec0b8c88e249699fa07432b0a30163866b1056e2bea8a2bca26b44025eb4b189579b7a970a6515afb3456e1669b49731e33ed476ef0c0c78b03edaa462284deba8407568623dae1ad861c4f3c6dd8a9ba3cdd51c3fa34857f30a6c51e0daa2cc685e04037b0cff77fb2e9d9197a2b18a3bcf457ce0b98253ba1ea5f011cc848e508a443fc54a92b9e89aee57a8a968c096f68cefa70012f73e0f96f1b0ee6f5cf917f5948163a448afc9db2a0dd72267b3c4ff6d3c48a69bc7cf0303b591503dd6c6af7b263e230aef8a6447b98cb438f183b5b8a3cacaaa28b80a9694311826f07d488528abdcfcb6f077b5b693abc706ef6ad828d82a13b1fa4aa8f558ff8fcedeaa5226862e94de07c53110de22542b33675179a0c61a837e1dc8dbdb88b1131656a285642e2552afeb1b0ca5419132c71c1a2a377ca7230a55880c9da6d9937efa5ac43fd8af0806032c109bf8266fb5b14e7668d6efc645cd9aa371328aa9568a838c18e7b8bb31f109f2fc234b4b6fe8cdeaed4914ee906c398300032271e7e5dbc7550b3a377d24e06a14fe83f0eb4b70b29743dd824204cd5b4a3abb2fb405b7d1da483361aca18c342d2bdb324c94d8fbfdc3d3fbb18afbf65406d0011b621128a0f4676e56df44b44a482721f4f4fdaeea17ad8367ddcaa37cb222620fdf43540e844cb2d0051eb9e1c1ea3b5d9886fd28ad3b41dcb6053a4601f263a367290501e6f20935d20712c59af33204736c0750fbdbd4c22b790181800139f713f94f9fe23856b6f24be5ebfd678dc39d71fa5555b9e0d7dc879aa95c93c9878c3dd6725c7e118b1f55d63cc97bd9493ff6c08d38bfdcf185bc05b56c7ae1ccd75512feb682fcde316c462040322e45147076c14178f4ba55d1e389c9313a2cd737ba83d2a56f96258aca914288c3081a4d9eea58b8d07ae259fbeb95cc9f8159d20d9187dce79956925190ddabacb9bc8f444d3369290078ee2f43a3c4150af715cea9a6a27fe5e43d6ca3fcf454fc49ec2a613081fd53cee9267c749ba622a554525b7b3cca6692716ba2a30daae884ab190f31b5285bbbc18ee375b12682f436a4e2e21658afea76fe94bbdf60a7eba3e954dc4df5ad645ab6095ab1d8c7c49983c3760445388ea7a283ebf8067a7bfcbfd9a9bb254bc4ce2838930363791b3a73a0d8dbd8160effac2beef8d5a84f2d2a25d9468de85b46467412519ada7830337e00f6de92e6111c10e6a6ea3cd6a32ab4c838a910b5fc1c6ef73ce7a1698d2377873e435fdbe364b277f507d8650b91e333461c07d1604a3b5a47a4de195faf8174967ca284c47267ff5bb323d4f7e80597648350c5552124fe58e62cd6d14cb9b8cd45eb2b6075394fb420267ebcab83522965f56dd6225471a8aca47cb105212c1264c04b1c1030fffe38a5a36acf0011ed9966a4668c63bca7c62f2ec5751f7b055783f02b78000dc9164a2756b3b4f20152fac9a0da186c1d5bb5d861046a618d0331e9e7ff851ca03b13e411cec27eb60b5d46fea7bb18d2cb9846708edb02a5494442e2aad8144b3eb110a41ec1c1b1cd581f388457077b5cee2008b671d02c11e5b072c5ca2fcaed5e8c968814e1e5f05b593665677356aaf28713efed6309f8cd15fbe6a22d879871c492c268d7601e8c30e4e0a09841766fe80c85b1c663a7e9a88ffb99cf51420167e8a389fa51b061501c8573fa451e18d4f2263e5d34157c7c2b3fcea0159cc47320d0adac0dbdc439545f6be9063b6f2db714a754577fd846cb6c72a4b9bf1635338f4fe10911ad25439c3a3c4df5f2506894434085a48dc0657ae8f97de86ec9228f703c28912836e3a2675606bc54540aabfedccd13311e2be392f8dfdddd228e0a7fb45ecffc250c4e96e9bca5e4cfef28ac081b9636555bb83b920a48acdd7a194f3fe6e3fb92fe6615ae5b0248ef8e38d2e0ba15147b339f0204f832f9a9ab2e4e111513887e2c9757317c1b671246a47742cbe335310a0e44bbe2a6551d31f6a7c12dfe15546280892c47af1313d12531373df66891b2154c6e3ef8887e93d44934edc78adb604dfd201425c74a67fa8bbdad1e92f5ebdebd04e4e0768f2f1b7f8d4d3a89a9d68d38cbb3c40458d2e40f607d82a56501d71ebbf0c4c06b29daeaa3d9c70ec8caa694411829357f4992a61bdc80578f291cc04aa4fa4dc7ee5c5f374c33d2c392ab64c511d8658eae6b7b196f2d7247a803ba8bc38fb6002fba1501c026b775f9eda27c28fba3070d22dcdb27ef40324a001c27d645e0e5558da277100c624edde4bd4fb6f896a04e2ba9d79dc5069f088e20fb55029a2004c3e1737a2f91abf71dda30a54225f6cf91d10940cf90ee28032a3b7a4acee1539dbc4255378b8d4cd3f2819594ff95d20635e861c75c07111957d877045fe44e368f2356a5e82c0b57ee4b2d193b598fef42f14ea5e367671524d648461318c63f98c1f0557f05bac20cfff1f58630c62c483525878696224a4c3f2da53659e6fbff7d5f2d46f1854c67857dac7c14842aded251cd2be50b1e2228900f8e65b2c0bc0c38f43d6cd83a6bd57b55f8ddead694dc2eda8076640d1650c8f8f9fd2d1ae2487c0490814ed0e38ac19fa64a3108e91ec394c67111a79a2d4edb5963cb7a14092b4cebfc3cf0b1c7159e22c0332349c79bd31eb0cb578306a37dc628f58f2aa3c2f569a6b84002ab9be483b81d97f4ce38de32c3beb712a8717bd48ccfee37b281859ea0619875b8af0beb0c58cdd2fd32bdb090e1bf90a30314f08950f55162c48926c07e6ea8f148a00d018acd0cbeadc533196b6f5abf719182e60b7bbe287569590432f500bd9a4c3e184a39dd580b5bf188108bf6f467210ee5ce9433580be2239044e7a809d17bc70ab294ed9a6e6a9b430d25a05379cac34c74bb0dc2ce15e71189474537ae45489d4aeee660bbc4b18ee86c19b97b261996249e2c3428dade1e7650439dc9575b5e5359b0d24005c7593cbdf6899728b53918a3f3e9fc7886d2d6e685a82fad54b3b8a1c6c1c6021838d24f949f9697280a658f3c102112fbc91c5309db7cc0ab6a55ebb8b8f687e08101cd4dfa90a59814ab156646d9d64555b28f02d6177130fac5c5d171de71fc221a0bad64726a92bf88d9b64bd73f087a4b6693864a2fa0c3895bf53078861329c99e32d5ee0899044077c3806f1d96099420a671edb12637fda89a8accb7a6b1efb337ade49c0206de04c36e5cd9e07c6daf5cba68286078a37d8166c3280eaa8ddc41820ff1fa96b915b3499484b9a8575e49c54d11791a948a557ddabdc8d6f48d3f8ec9f919e966fe42f6fd64a90ece67cd082f837031c0931b7c78e22ee2e3a88ecb8d9721be78e433503b3c321cb850fa9d8d0d9ada9baf4f9f5ebbf2665d41678345bbd0a3f8b899a0a823affbc99bdf1f8fcc85bd402041d410f48ae8ec263e6ed81157bb540a2f784857d1efb0252faf4d2e9245c6799431d6cd3f618d0276e9165359ce73ebf66bca54dd769286fe4bb8b0b74f0f943cddaecc1daecc7d886d5a635e8983cfb58ec0d841785617103b98a0159a79104bbecbc3961832cbc42af9b9afa443e058f072727ac589521d7f1b0468f9f3ebfc94f440b58ba9b07d998e42edc7f7e35c1f10a0f1f1cd2615d07a1e0a03ed86e64f705a87c9253667ac7badfbdd8d26c06fdc5ecf9d88a28a54dca4cf274e49c6130d870a76c01000d00ffe9bd78f15c245cc3d86d5cfbaa6cf7625002bdceb7964d9ed9d902f1660a9171ea4bff08f6d2ab85990e9066706847f986345d72f2f2edf5621a6ba7e42ab9ec3dd2dc757e0afb2b515a8c468f42fd01e9d855aa9deb2d33cfb50218eda34460f3136bae3efbb8a35dab366187b940f5e93a0cf0c0ed91855932f0c1fceb80d375907107a37d974700bf4edff77bd33ea691523277405144784d39011a5a8c1cc83872fda263e856c22a00b021a75f6d665f822d96e20035e7b3de87b4981e6ed0730196504b0e6c4db49a32ea99a7e8a6d7ddcb145fa6dbff7485b40697604a8b3dd593c7f3054fd26a1a71c0963fb5bad46822ff4fc00e724bf92404ae72ac6b08c6b38de423dbbe1194c276d91857f9e1550e744725e1d40b9a66222f9777d876f9b3e2206bb8c5c5879ae434b3104cfcf6a669fb2229d386143f3982d61b48c406a35d6edee21913e88eb1b54bf34a2ca5b2e98db222e992aa5abc1cf9e49d4f221dd7107b87d9ac76ea2b0c070f4743edb33eec474b5fc47fe4afbd829a60b22052aaf7c1514d61dd06876732943c354597631e0ba3ffd0c9935707d0202245b0f7a5b36cdb279390b1e4345bfdc911588b6b56df2a1bb56dd929402572c72ebfbf44edd4cb7f8226c358d6fa86e97ffe033260adb843aa726e2d9b01addf82db6159b3d591242373a06346b0d83bdcc1b4b7f273de1d92be8f727d7541dc74d90ee4dada6111f063decb18b5807ba5334d446e4470ef49f1e68e81f8d0f10f7a0f4c9226b917cfa0ff75182b87f11533427f728ff50a5548a56d10a59e44f85d8f3d12d75afe08588fa465f10461d144d27c68add5279dedbec3b02bf76220b8c5ecb4c04a8846445787779027b6f3d341d6cf7f28f23ea91575018262d7507e547332270e0a8dedc15b1644be9d88c556a77579c673e0408d0e40defd6d87c6802d9b90172d2a035f0fb7d99fb0fa8c3eadc06d46e74f79b41181475cfbe3b85221f3ad033063a7f6f6bfba7c7b160c141cc23b86f516c5537b058c8a3615624d9254d379184537179a0531bcbc06124060d8b37239ebb7a666d4472887787373e2ce82b11e8c66a5f01a177c745ac2b543632cc173ac3e1a2130d234a702d02eef0b717ed76938b4b6b70a55e6f632409f8ffb36e56219b88dce20f03e8ff365417a8389c4f0f03d2989e0190862d7b18499df468017579289746cae0a6257fb8d4b3840cf8f97923c7f61d6d4321aa919dd8760c01c28a39c19f1068d1f933017fe0e9d1ba9e2cec8909cc6a90b9f8f84f6076e48f26ed93e821da90f0f6e14c5c4b47aebdb80a833be81263e02ac74b0f24d0dcf8dddf2a03894b3f6f11245fe03eb4c85bcd144a97cbef6ee86f4b21fd32b591b4081d7e82644d933a873e528672582692eae032238964a642655efeee643089e5daee3806f3596f1418573c77f71f91615827dea1cda41d5e367d9dca2625836424bf5df0350af15105b9d8574adab068d2fef5da89400c5ccd36efb3e088eeee5718a5353774a9bd2cebd8e0b20d0dc78392812c4f17e333a2dd113bb1f75f33ef0aaf0e3ffe1be6f2454082b24e52e01609100ce41600113ba4062acc212aa29129e71d6bf2e0fdcc5b4316629253fe80e267cf39a5dc768258ed0a4cfdd999571ca05be541359e03694754c479bd259a2f261fcd4441140b5a81ca08dcb156ff85b8550f996563f336171a8f70288195fa4843ff60de394dd9c762fa966138a9a23ae3ddc716af5ac0d85a70aa252a8e7e48a41d1202f227624ddf044567a309f3005918aa7723c1836a7f58bd4058adbb6427a241a44778e59473642667a934fa2218c4a727ac98124eacc6deb374573257e632dae31d496b04a344c64309683051407c7ee2f62092ced3c9707080565cde63db621ae123f85f82ac802f21ef9d30ac3e00f23d6ce2b1c33dbcd879083f42b31c13087a4ef07975bb3e3c25be8ab4bb6862541952bcbdaae96f37b9bf1d8e9d6d5624670e39cc1bd90175b6db348c3319b1661a3e53a28d595e6d9cf0cc8657bad8306ca9380392c0b9507ee6fefe21b54929e75cc355fd81f9427d2a31f4ff48a5cd65fcef3b687411e464fe0a5fd7e8aafb5d6188aa99d1d3eba1673391788fbb7baa003cc457182d304ff161775512ba8ba7db000c0bdf571e8145ca1902f59a59c590091bb8e43f5ba50d6668b97eb800a090fd714870a13d5c8f04e2c18dcb08b94ab5dd6b52d75ff66d8a0fe3d5c7221a2eeab1875324d6dba0e9e38571502036be21a2ab5272ced02893f707b0147b9ee0f637f7198079541e8bc07ba5d76e0adaf62003565deebf56137507b7c786968de48c5010e3235ff5f203ed3235876e4ac844a868af75218fed86409653dd6491ed140cfd200a7f66f1ab8d13007c9b0d30a68220639d4bb86fc682931f3fd782954e18cd8d3f9608f3680def6a85f619f35772993c55c8c0dd6cba3a1e79a13cc32cedc7a4743994b7f96ea0a9600143f5e98ee5fba95fed0ed5638a87902a856b47d097281969473f4f268eb343d241f27d48b4279f0da6c47baae7893b320a3ab2167c4ecc0a57c468494f184685b6e039a89634e053eb00304cdf76e99036395706cb4ae96e65fb12b15f9002db8aaf4ec8f0d493bd41afbbd900dbb84c8c99be4074f1ba942846354e60fe1f9bfb8b43dc410313e8cf858f6062cea50673f683ae56c422d6b3a175406117d50004684e537280a74e40a318e830f4e2d70abd982d2db9c91ffd791c3af0b668c1b3a46153e88f29b5721929c56461174b36b2bfaae7ffe233c986e8a75fb65cd7af7334785bcf2e808b1ab432e12a3fd652669a38e6635192cb2c51b74adeef1356b1d7313f069c3a05adc6225edc5f30673039b4f9c4b21c2aca2e4edf64d49a1280dd39a715bc29b08e1ea7f0dfbd54c3a61e1c3d9d9024265148eafb90e0a8989c0ccdae8554643fed440a34a4e685da174bdd8594b1304dcbc320dd55368b38a4c2ffd73a1cb5e5a7d2b6c08dd0a7d06968741f2ab7ede198e17d2a23426f0246fede0b1de65b14f39d03d17ae00d1cfe518a18d3614b862df9a440e9e8b002590e6273ea4f7dd47df707e4aac4a181aa730a3b40a17507e48a013556f142feea8fcccb532a27c0503aea1ea39636aea4c2dfc9de99747204e3ea8b7525657a79a69f13c4c8f0dd13ba5f2e9efe842d27e832c2945974cdcb93c3f840dc4ed62256d5294a7479d54a8e0ffbf97da7a3aacfe2d785ba11dbb7eb47950dad5d24af647adcac9185ed6e8dbdc199583db14121b9938fb89b62cafea4c5f71dafaf29b49b456c5391d9601938a9417337de32534d76164f384065703e5745e95a891c2fccca35d6a051fd4717dc2e9dfcdb9ea00c18b893e134529f83a8a32d3cb4ec10470c9d1678e8d94a2dc4cac4cb6bc478bff92a9e1630910d78b9e05e0ef33ca872c8e551ffe6626d5eae2b9609f31edc134facf667a1081481b05eb5b2a89e208715d9c7438f45a1f516830b4abed811bb7278f70f99c6b39c8fa68f6ef114851ced478a6d00a8a91d2d4b1feb5d50d4613f952670ccb5f30428cd38fa6762addb06b9404a583eb2d269ea53e0d0ec0885c60066af13e43945de49451d6db2dfbd1e595aea390db06c4bcdebae23f2098bb3dc633e4dc057b5b5e78b9e79203e720775d0407bb59b4a6d007bf674a87c46eb1ea82bc506a848d9bb1bc24779cc253e0b3e308ea6aff1da7e3034a6d5ddfd33e30af32f72789d1513edc49527070549ac41872e6a82dad2da66f8fe877fb56e31bc3bfd5512bb2b203963b79d31923eb7ac714918f953b711cb447ac6ae53ad1e584d3f52668f1ba5d9cfc68271260b86364ed7086c0f8190d98aef55c140cf8eb66bb001cc7265ed649c9a7194496fa28fd038d308b4ef3694b3b698391db4a00b4859c521dd82d5b5244f76a56c03d38cde577e5bd92863b315d83fede49e3b06bba8f034dcd889e4ee3ce1e9669b40c6c21248b354deb58bdb23c2635edb8192842a7426f67bf1cf2adace9967e2b8c43e6311c1eb35b9c6dc755251520c0a67a886fc09987d948ea4f3c138cdaa901b364077ff871cf112ebbb2d1a2908901d614273d7901d3b94c9ffb70e8dc9cd6025c3a9e27963d34882f79e47df90864be9c5af426b5d0a0252c94ebc867d4299a785b93880e9b711ab072f79ebac15022e34185851909841f2672dcb6345e261d612c56c15ce7df65efed66f96d0dfd90b9301bd7182f2e57898b8a74b586b6ab1ec4d490e5db71a3256ca3639eeadac537fe3ca501574abd44b376b766b385baaeed3ed86acda3c99106613048d49b55c9a353fff50e73b62f4ec79c922f76ac1993c5fc6627d0da2138741785bf06e672061798ebe134eb658657ad1c79269810075e12404aced65d6c5961dc5c401a870540e2d5782f9665ba3bf0e24dd5637d4403b78ef57d69aaa56a2f5c0c70e48b3c08204b255d5d59a1eac10bb7f3dc14e2510658c5a79048339942ca6ee2394e70a8e119be2ab27353a655cce8a7afbb6dc9a56b62414aa36e09db24ac4ffae87e197d41dde769ef259b057b6942e616282581217d8b5a710bb0181ea4facc694fc916b9231b83245d88fa5d126de804edd0433e8be29c9967f574e37bb65c77492095cb3df5475f919202d2174c19f25317807c57583d8f2c5ca091de70e6091e3575e178ce8fe8ba475b594beb1a0e5c43113862291d3411ca76f7d813530a3e44b1905807e76316f98edd7aeb11de98e08b7b4270fe1053865410b0d5156a871d1122230d48f2c4b7b7d88fef79039a5001081825d95a1f873a68a99d22a509ff5a492024811e00c259994ed4a2f9a1bdbfeac50d9d6493f1aa4ddbefd5b5d1d723db74737f3752f3f3aefb971e1d1568bc756e2c94582b413207f86e7d9115a688b326f46d74ca43ca0d4e65df6b7361df87bc17e875a9ad8d3af7e6d6a52913e0fa36b528b6ec17631f89339308e844ed66d4aa7fee04643e0e43eb727cd1728bfd22654e1f758de7d83218f6603249731f9fef8d11a8180eb315321290b99fc90f9728a11f336862411c21b855ca8cf69e5dc6dc8e30d35860a3b05359467f3749195b441edfc6d64f59e4f5d741dd7cfe5b239ab4c398a414ced3be8b46d836267e05f7f793bb2cd554d37d9f2049e71235393feccc4ac153404430e9f57ee0c231232ff28f05aa6147ffc888e152a4f70116b5ab87ecbd0aaf2d4b42370179e261d55b66f1e50cc7e56510cdf48b7d322359bb621c7727351118c8ea73b0cd0ff0de0155fe36979ef475ac3d77a17dd168e8586b05c2bf0218612aefc9fc9a4ed30501db07f6945ca7daa38ec0e3c2f7ca1cbf7f378c87f026057b43c6cc5af95cb3d1bd1bc2d868389597a436b0ec6af98a6f1947f6e96a9cdf647d514411bb96e2c3e4d62df16bcd497c03e42658215a6ac6c7535c7861ed7a9bdc6f79e5d0f0f0359ca57573cd0df68297902ba951bdab9ca31ac8de558883178f874e0dab2872c9a807e12c167f9d75a7b6304f81100546e428f6f1ce865a5400959168d4b0bd265b6c2959fb2ecf9644d7a9d64b0aeb82f249a5b002d335193d884030ec7a4d7fe43d2d2fdb702fcb03ac22074c20097dda51cc416440637d9e228523dec4b2e66adb51ee37ce80f86d4eaf9b259acc328e9d3aa74f5e6f9fd770a4f7928f8df044b94972b516d2f18c653968ccecc22c0eba01ac3a20a2ca682be1cb2a6c1e9ce72b../../BaseCryptLibNull/Bn/CryptBnNull.c../../BaseCryptLibNull/Cipher/CryptAeadAesGcmNull.c../../BaseCryptLibNull/Cipher/CryptAesNull.c../../BaseCryptLibNull/Hash/CryptMd5Null.c../../BaseCryptLibNull/Hash/CryptParallelHashNull.c../../BaseCryptLibNull/Hash/CryptSha1Null.c../../BaseCryptLibNull/Hash/CryptSha256Null.c../../BaseCryptLibNull/Hash/CryptSha512Null.c../../BaseCryptLibNull/Hash/CryptSm3Null.c../../BaseCryptLibNull/Hmac/CryptHmacNull.c../../BaseCryptLibNull/Kdf/CryptHkdfNull.c../../BaseCryptLibNull/Pem/CryptPemNull.c../../BaseCryptLibNull/Pk/CryptAuthenticodeNull.c../../BaseCryptLibNull/Pk/CryptDhNull.c../../BaseCryptLibNull/Pk/CryptEcNull.c../../BaseCryptLibNull/Pk/CryptPkcs1OaepNull.c../../BaseCryptLibNull/Pk/CryptPkcs7SignNull.c../../BaseCryptLibNull/Pk/CryptPkcs7VerifyEkuNull.c../../BaseCryptLibNull/Pk/CryptPkcs7VerifyNull.c../../BaseCryptLibNull/Pk/CryptRsaBasicNull.c../../BaseCryptLibNull/Pk/CryptRsaPssNull.c../../BaseCryptLibNull/Pk/CryptRsaPssSignNull.c../../BaseCryptLibNull/Pk/CryptTsNull.c../../BaseCryptLibNull/Rand/CryptRandNull.c../sys/socket.h../sys/socket.hunistd.hunistd.hunistd.hunistd.hunistd.hunistd.h../sys/socket.hunistd.hunistd.hunistd.hunistd.hunistd.hunistd.hsocket.hutsname.h../unistd.h../unistd.hunistd.hunistd.hecdsa.h../UfsPassThruDxe/UfsPassThruHci.hstring.hstring.hstring.hstring.hstring.hstring.hstring.hstring.hstring.hstring.hstring.hstring.hstring.h../X64/CpuBreakpoint.c../UefiMemoryLib/IsZeroBufferWrapper.c../UefiMemoryLib/ScanMem16Wrapper.c../UefiMemoryLib/ScanMem32Wrapper.c../UefiMemoryLib/ScanMem64Wrapper.c../BaseMemoryLibSse2/SetMem16Wrapper.c../BaseMemoryLibSse2/SetMem32Wrapper.c../BaseMemoryLibSse2/SetMem64Wrapper.c../PeiMemoryLib/SetMemWrapper.c../UefiMemoryLib/ZeroMemWrapper.c../UefiMemoryLib/CompareMemWrapper.c../UefiMemoryLib/CopyMemWrapper.c../UefiMemoryLib/IsZeroBufferWrapper.c../UefiMemoryLib/MemLibGuid.c../UefiMemoryLib/ScanMem16Wrapper.c../UefiMemoryLib/ScanMem64Wrapper.c../UefiMemoryLib/ScanMem8Wrapper.c../BaseMemoryLibSse2/SetMem16Wrapper.c../BaseMemoryLibSse2/SetMem32Wrapper.c../BaseMemoryLibSse2/SetMem64Wrapper.c../PeiMemoryLib/SetMemWrapper.c../UefiMemoryLib/ZeroMemWrapper.c../UefiMemoryLib/CompareMemWrapper.c../UefiMemoryLib/CopyMemWrapper.c../UefiMemoryLib/IsZeroBufferWrapper.c../UefiMemoryLib/MemLibGuid.c../UefiMemoryLib/ScanMem16Wrapper.c../UefiMemoryLib/ScanMem32Wrapper.c../UefiMemoryLib/ScanMem64Wrapper.c../BaseMemoryLibSse2/SetMem16Wrapper.c../BaseMemoryLibSse2/SetMem32Wrapper.c../BaseMemoryLibSse2/SetMem64Wrapper.c../PeiMemoryLib/SetMemWrapper.c../UefiMemoryLib/ZeroMemWrapper.c../UefiMemoryLib/CompareMemWrapper.c../UefiMemoryLib/CopyMemWrapper.c../UefiMemoryLib/IsZeroBufferWrapper.c../UefiMemoryLib/MemLibGuid.c../UefiMemoryLib/ScanMem16Wrapper.c../UefiMemoryLib/ScanMem32Wrapper.c../UefiMemoryLib/ScanMem64Wrapper.c../UefiMemoryLib/ScanMem8Wrapper.c../BaseMemoryLibSse2/SetMem16Wrapper.c../UefiMemoryLib/SetMem32Wrapper.c../BaseMemoryLibSse2/SetMem64Wrapper.c../PeiMemoryLib/SetMemWrapper.c../UefiMemoryLib/ZeroMemWrapper.c../UefiMemoryLib/CompareMemWrapper.c../UefiMemoryLib/CopyMemWrapper.c../UefiMemoryLib/IsZeroBufferWrapper.c../UefiMemoryLib/MemLibGuid.c../UefiMemoryLib/ScanMem16Wrapper.c../UefiMemoryLib/ScanMem32Wrapper.c../UefiMemoryLib/ScanMem64Wrapper.c../UefiMemoryLib/ScanMem8Wrapper.c../BaseMemoryLibSse2/SetMem16Wrapper.c../BaseMemoryLibSse2/SetMem32Wrapper.c../BaseMemoryLibSse2/SetMem64Wrapper.c../PeiMemoryLib/SetMemWrapper.c../UefiMemoryLib/ZeroMemWrapper.c../UefiMemoryLib/CompareMemWrapper.c../UefiMemoryLib/CopyMemWrapper.c../UefiMemoryLib/IsZeroBufferWrapper.c../UefiMemoryLib/MemLibGuid.c../UefiMemoryLib/ScanMem16Wrapper.c../UefiMemoryLib/ScanMem32Wrapper.c../UefiMemoryLib/ScanMem64Wrapper.c../UefiMemoryLib/ScanMem8Wrapper.c../PeiMemoryLib/SetMemWrapper.c../UefiMemoryLib/ZeroMemWrapper.c../UefiMemoryLib/CompareMemWrapper.c../UefiMemoryLib/CopyMemWrapper.c../UefiMemoryLib/IsZeroBufferWrapper.c../UefiMemoryLib/MemLibGuid.c../UefiMemoryLib/ScanMem16Wrapper.c../UefiMemoryLib/ScanMem32Wrapper.c../UefiMemoryLib/ScanMem64Wrapper.c../UefiMemoryLib/ScanMem8Wrapper.c../UefiMemoryLib/SetMem16Wrapper.c../UefiMemoryLib/SetMem32Wrapper.c../UefiMemoryLib/SetMem64Wrapper.c../UefiMemoryLib/ZeroMemWrapper.c../UefiDebugLibStdErr/DebugLibConstructor.c../../PlatformPei/ClearCache.crootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootovmf-202308-150600.5.14.1.src.rpmqemu-ovmf-x86_64-debugqemu-ovmf-x86_64-debug(x86-64)     qemurpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3ggv@g@g3C@f@f;i@e@ee}@e\eTeTe@d!d!d@d~ddJdd@c@c0ccc@ccocGc(Yc@c6@c@bbbob?@b0b)@b8a@adaa@a@aa@awarah`:@``@`@``7@``}p`lM@`]`J@`@_=_@__@_@_@_V _*@^y^3^m@^^^b;@^S^K^8 @]]N@]X]µ]]W]nU];]\!\+@\@\n\j@\$\[_[@[R@[z@[H@[d@Z@ZnZ4@Z`@Zhu@ZY@Yo@YY@Y5GY Xh@X@X@X@XAX=mWw@W;WW@W_WUeWQq@WDB@W>@W3WWW@VbV@VJVV>@V_VVqR@Va@VXEVLh@VD@V(VZV @U6@UȒ@U@U(U@UUUn@UT@UKSUKSU8U4@U@TTԬT@Tk4Ta@TG@jlee@suse.comjlee@suse.comjlee@suse.comjlee@suse.comjlee@suse.comjlee@suse.comjlee@suse.comjlee@suse.comdimstar@opensuse.orgjlee@suse.comjlee@suse.comjlee@suse.comjlee@suse.comjlee@suse.comjlee@suse.comschwab@suse.dejlee@suse.comgmbr3@opensuse.orgjlee@suse.comjlee@suse.comjlee@suse.comjlee@suse.cominfo@paolostivanin.comjlee@suse.comjlee@suse.comjlee@suse.comjlee@suse.comjlee@suse.comjlee@suse.comjlee@suse.comjlee@suse.comjlee@suse.comjlee@suse.comjlee@suse.comjslaby@suse.czjlee@suse.commliska@suse.czfvogt@suse.comjlee@suse.combwiedemann@suse.comjlee@suse.comjlee@suse.comjlee@suse.comjlee@suse.comguillaume.gardet@opensuse.orgjlee@suse.comguillaume.gardet@opensuse.orgjlee@suse.comjlee@suse.comjlee@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comkai.liu@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comdmueller@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comguillaume.gardet@opensuse.orgguillaume.gardet@opensuse.orgglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.commeissner@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comdmueller@suse.comglin@suse.comglin@suse.comglin@suse.comjengelh@inai.deglin@suse.comglin@suse.comglin@suse.comglin@suse.comagraf@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comlnussel@suse.deglin@suse.comglin@suse.comglin@suse.comglin@suse.com- Removed ovmf-NetworkPkg-TcpDxe-SECURITY-PATCH-CVE-2023-45236.patch because we need fix regression bsc#1237084 first.- Revoke the following patches because backported '4c4ceb2ceb80 NetworkPkg: SECURITY PATCH CVE-2023-45237' patch causes regression issue bsc#1237084 : - ovmf-MdePkg-Rng-Add-GUID-to-describe-Arm-Rndr-Rng-algorit.patch cf07238e5fa4 MdePkg/Rng: Add GUID to describe Arm Rndr Rng algorithms - ovmf-NetworkPkg-SECURITY-PATCH-CVE-2023-45237.patch 4c4ceb2ceb80 NetworkPkg: SECURITY PATCH CVE-2023-45237 - ovmf-OvmfPkg-Xen-Fix-use-of-networking.patch a84876ba2831 OvmfPkg/Xen: Fix use of networking - ovmf-OvmfPkg-Rerun-dispatcher-after-initializing-virtio-r.patch 9c4542a0645a OvmfPkg: Rerun dispatcher after initializing virtio-rng (bsc#1218887, CVE-2023-45237) - ovmf-NetworkPkg-TcpDxe-SECURITY-PATCH-CVE-2023-45236.patch 1904a64bcc18 NetworkPkg TcpDxe: SECURITY PATCH CVE-2023-45236 (bsc#1218886, CVE-2023-45236)- Add the following patches from edk2-stable202402 for CVE-2023-45230: - ovmf-NetworkPkg-Dhcp6Dxe-SECURITY-PATCH-CVE-2023-45230-Pa.patch f31453e8d654 NetworkPkg: Dhcp6Dxe: SECURITY PATCH CVE-2023-45230 Patch - ovmf-NetworkPkg-Add-Unit-tests-to-CI-and-create-Host-Test.patch 8014ac2d7bbb NetworkPkg: : Add Unit tests to CI and create Host Test DSC - ovmf-NetworkPkg-Dhcp6Dxe-SECURITY-PATCH-CVE-2023-45230-Un.patch 5f3658197bf2 NetworkPkg: Dhcp6Dxe: SECURITY PATCH CVE-2023-45230 Unit Tests (bsc#1218880, CVE-2023-45230) - Add the following patches from edk2-stable202402 for CVE-2023-45229: - ovmf-NetworkPkg-Dhcp6Dxe-SECURITY-PATCH-CVE-2023-45229-Pa.patch 1dbb10cc52dc NetworkPkg: Dhcp6Dxe: SECURITY PATCH CVE-2023-45229 Patch - ovmf-NetworkPkg-Dhcp6Dxe-SECURITY-PATCH-CVE-2023-45229-Un.patch 07362769ab7a NetworkPkg: Dhcp6Dxe: SECURITY PATCH CVE-2023-45229 Unit Tests - ovmf-NetworkPkg-Adds-a-SecurityFix.yaml-file.patch 1d0b95f6457d NetworkPkg: : Adds a SecurityFix.yaml file - ovmf-NetworkPkg-Dhcp6Dxe-SECURITY-PATCH-CVE-2023-45229-Re.patch 1c440a5eceed NetworkPkg: Dhcp6Dxe: SECURITY PATCH CVE-2023-45229 Related Patch - ovmf-NetworkPkg-Updating-SecurityFixes.yaml.patch 5fd3078a2e08 NetworkPkg: Updating SecurityFixes.yaml (bsc#1218879, CVE-2023-45229) - Add the following patches from edk2-stable202402 for CVE-2023-45231: - ovmf-NetworkPkg-Ip6Dxe-SECURITY-PATCH-CVE-2023-45231-Patc.patch bbfee34f4188 NetworkPkg: Ip6Dxe: SECURITY PATCH CVE-2023-45231 Patch - ovmf-NetworkPkg-Ip6Dxe-SECURITY-PATCH-CVE-2023-45231-Unit.patch 6f77463d7280 NetworkPkg: Ip6Dxe: SECURITY PATCH CVE-2023-45231 Unit Tests (bsc#1218881, CVE-2023-45231) - Add the following patches from edk2-stable202402 for CVE-2023-45232 and CVE-2023-45233: - ovmf-NetworkPkg-Ip6Dxe-SECURITY-PATCH-CVE-2023-45232-Patc.patch 4df0229ef992 NetworkPkg: Ip6Dxe: SECURITY PATCH CVE-2023-45232 Patch - ovmf-NetworkPkg-Ip6Dxe-SECURITY-PATCH-CVE-2023-45232-Unit.patch c9c87f08dd6a NetworkPkg: Ip6Dxe: SECURITY PATCH CVE-2023-45232 Unit Tests (bsc#1218882, CVE-2023-45232)(bsc#1218883, CVE-2023-45233) - Add the following patches from edk2-stable202402 for CVE-2023-45234: - ovmf-NetworkPkg-UefiPxeBcDxe-SECURITY-PATCH-CVE-2023-45234-Patch.patch 1b53515d53d3 NetworkPkg: UefiPxeBcDxe: SECURITY PATCH CVE-2023-45234 Patch - ovmf-NetworkPkg-UefiPxeBcDxe-SECURITY-PATCH-CVE-2023-45234-Unit-Tests.patch 458c582685fc NetworkPkg: UefiPxeBcDxe: SECURITY PATCH CVE-2023-45234 Unit Tests (bsc#1218884, CVE-2023-45234) - Add the following patches from edk2-stable202402 for CVE-2023-45235: - ovmf-NetworkPkg-UefiPxeBcDxe-SECURITY-PATCH-CVE-2023-45235-Patch.patch fac297724e6c NetworkPkg: UefiPxeBcDxe: SECURITY PATCH CVE-2023-45235 Patch - ovmf-NetworkPkg-UefiPxeBcDxe-SECURITY-PATCH-CVE-2023-45235-Unit-Tests.patch ff2986358f75 NetworkPkg: UefiPxeBcDxe: SECURITY PATCH CVE-2023-45235 Unit Tests (bsc#1218885, CVE-2023-45235) - Add the following patches from edk2-stable202405 for CVE-2023-45237: - ovmf-MdePkg-Rng-Add-GUID-to-describe-Arm-Rndr-Rng-algorit.patch cf07238e5fa4 MdePkg/Rng: Add GUID to describe Arm Rndr Rng algorithms - ovmf-NetworkPkg-SECURITY-PATCH-CVE-2023-45237.patch 4c4ceb2ceb80 NetworkPkg: SECURITY PATCH CVE-2023-45237 - ovmf-OvmfPkg-Xen-Fix-use-of-networking.patch a84876ba2831 OvmfPkg/Xen: Fix use of networking - ovmf-OvmfPkg-Rerun-dispatcher-after-initializing-virtio-r.patch 9c4542a0645a OvmfPkg: Rerun dispatcher after initializing virtio-rng (bsc#1218887, CVE-2023-45237) - Add the following patches from edk2-stable202405 for CVE-2023-45236: - ovmf-NetworkPkg-TcpDxe-SECURITY-PATCH-CVE-2023-45236.patch 1904a64bcc18 NetworkPkg TcpDxe: SECURITY PATCH CVE-2023-45236 (bsc#1218886, CVE-2023-45236)- Add ovmf-x86_64-sev flavor to X64 against AMD SEV. (bsc#1232762) - Moved "-D SECURE_BOOT_ENABLE" from OVMF_FLAGS to EXTRA_FLAGS_X64, BUILD_OPTIONS_AA64 and BUILD_OPTIONS_RV64 because SEV can NOT work with secure boot. - Add "-D SECURE_BOOT_ENABLE" to BUILD_OPTIONS_X86 because the building option be removed from OVMF_FLAGS. - The ovmf-x86_64-sev-code.bin, ovmf-x86_64-sev-vars.bin and a unified image ovmf-x86_64-sev.bin can be used. - Add 50-ovmf-x86_64-sev.json and 60-ovmf-x86_64-sev.json to descriptors.tar.xz for SEV flavor - Removed features tag: "acpi-s4", "acpi-s3", "requires-smm", "secure-boot", "enrolled-keys" - Add features tag: "amd-sev", "amd-sev-es", "amd-sev-snp" - The 50-ovmf-x86_64-sev.json is for ovmf-x86_64-sev.bin unified image which is stateless mode. - The 60-ovmf-x86_64-sev.json is for ovmf-x86_64-sev-code/vars.bin. Please note that the -vars storage is non-secure because SEV does NOT support SMM (requires-smm). - Removed "amd-sev" and "amd-sev-es" from descriptors/60-ovmf-x86_64.json and descriptors/60-ovmf-x86_64-2m.json.- Removed ovmf-Revert-OvmfPkg-PlatformPei-Update-ReserveEmuVariable.patch - We do not official support AMD SEV yet. - The original patch reverts "58eb8517ad OvmfPkg/PlatformPei: Update ReserveEmuVariableNvStore" which affects all ovmf flavor. - We do not official support AMD SEV yet. On the other hand, the secure boot will be disabled in SEV flavor, so we do not need revert 58eb8517ad anymore. (bsc#1209266) - Add backslash to the end of "-D BUILD_SHELL=FALSE" in BUILD_OPTIONS_X86.- Add the following patches from edk2-stable202402 for CVE-2022-36763: - ovmf-SecurityPkg-DxeTpm2MeasureBootLib-SECURITY-PATCH-4117.patch 1ddcb9fc6b41 SecurityPkg: : Adding CVE 2022-36763 to SecurityFixes.yaml - ovmf-SecurityPkg-DxeTpmMeasureBootLib-SECURITY-PATCH-4117.patch 4776a1b39ee0 SecurityPkg: DxeTpmMeasureBootLib: SECURITY PATCH 4117 - CVE 2022-36763 - ovmf-SecurityPkg-Adding-CVE-2022-36763-to-SecurityFixes.y.patch 224446543206 SecurityPkg: DxeTpm2MeasureBootLib: SECURITY PATCH 4117 - CVE 2022-36763 (bsc#1218678, CVE-2022-36763) - Add the following patches from edk2-stable202402 for CVE-2022-36764: - ovmf-SecurityPkg-DxeTpm2MeasureBootLib-SECURITY-PATCH-4118.patch 8f6d343ae639 SecurityPkg: : Adding CVE 2022-36764 to SecurityFixes.yaml - ovmf-SecurityPkg-DxeTpmMeasureBootLib-SECURITY-PATCH-4118.patch 0d341c01eeab SecurityPkg: DxeTpmMeasureBootLib: SECURITY PATCH 4118 - CVE 2022-36764 - ovmf-SecurityPkg-Adding-CVE-2022-36764-to-SecurityFixes.y.patch c7b279442181 SecurityPkg: DxeTpm2MeasureBootLib: SECURITY PATCH 4118 - CVE 2022-36764 (bsc#1218679, CVE-2022-36764) - All the above patches for CVE-2022-36763 and CVE-2022-36764 need the following patches. We also backported them: - ovmf-SecurityPkg-DxeTpm2MeasureBootLib-SECURITY-PATCH-4117-4118-symbol-rename.patch 264636d8e698 SecurityPkg: : Updating SecurityFixes.yaml after symbol rename - ovmf-SecurityPkg-DxeTpmMeasureBootLib-SECURITY-PATCH-4117-4118-symbol-rename.patch 326db0c90720 SecurityPkg: DxeTpmMeasureBootLib: SECURITY PATCH 4117/4118 symbol rename - ovmf-SecurityPkg-Updating-SecurityFixes.yaml-after-symbol.patch 40adbb7f628d SecurityPkg: DxeTpm2MeasureBootLib: SECURITY PATCH 4117/4118 symbol rename (bsc#1218678, CVE-2022-36763)(bsc#1218679, CVE-2022-36764)- Updated descriptors.tar.xz tarball, adding secure-boot feature tag to the following firmware descriptor of qemu. For libvirt, the enrolled-keys feature relies on secure-boot (bsc#1217422): /usr/share/qemu/firmware/60-ovmf-x86_64-2m-ms.json /usr/share/qemu/firmware/60-ovmf-x86_64-2m-opensuse.json /usr/share/qemu/firmware/60-ovmf-x86_64-2m-suse.json /usr/share/qemu/firmware/60-ovmf-x86_64-ms.json /usr/share/qemu/firmware/60-ovmf-x86_64-opensuse.json /usr/share/qemu/firmware/60-ovmf-x86_64-suse.json User should awares that the secure-boot feature of ovmf is NOT real secure without SMM. Adding secure-boot is just for enabling enrolled-keys. Otherwise preloaded keys ovmf can not be auto-selected by libvirt.- Add ovmf-OvmfPkg-SmbiosPlatformDxe-tweak-fallback-release-dat.patch tweak fallback release date again (bsc#1219024)- Use %autopatch macro. Allows to eliminate the usage of deprecated PatchN.- Sync change log to prepare for sending edk2-stable202308 ovmf to SLE15-SP6 (jsc#PED-6233, jsc#PED-5523) - Removed the following backported patches because they are merged to edk2 mainline: - ovmf-SecurityPkg-DxeImageVerificationLib-Check-result-of-.patch 494127613b SecurityPkg/DxeImageVerificationLib: Check result of GetEfiGlobalVariable2 (CVE-2019-14560, bsc#1174246)- Add ovmf-UefiCpuPkg-BaseXApicX2ApicLib-fix-CPUID_V2_EXTENDED_.patch fix CPUID_V2_EXTENDED_TOPOLOGY detection (bsc#1216472)- Sync change log to prepare for sending edk2-stable202308 ovmf to SLE15-SP6 (jsc#PED-6233, jsc#PED-5523) - Removed the following backported patches because they are merged to edk2 mainline: - ovmf-MdeModulePkg-PiSmmCore-SmmEntryPoint-underflow-CVE-2.patch cab1f02565 MdeModulePkg/PiSmmCore: SmmEntryPoint underflow (CVE-2021-38578) (bsc#1196741)- Update to edk2-stable202308 - Features (https://github.com/tianocore/edk2/releases): CryptoPkg: consume OpenSSL 3.0 Replace the OVMF-specific SataControllerDxe with the generic one in MdeModulePkg Remove the duplicated definitions from BaseTools Arm GIC Library and Driver improvements Use restricted memory mappings in PEI Add SmmCpuFeaturesLib implementation for AMD Processor family Add USB Network RNDIS Drivers Support Standalone MM based variable services in PEI on ARM systems Add RISC-V MMU support Add RISC-V support to CLANGDWARF toolchain - Patches (git log --oneline --date-order edk2-stable202305..edk2-stable202308): 819cfc6b42 OvmfPkg/RiscVVirt: Fix issues in VarStore Blockmap config 00b51e0d78 MdeModulePkg: HeapGuard: Don't Assume Pool Head Allocated In First Page 48089f3a7c OvmfPkg/Bhyve: build platform info HOB eaffa1d7ff UefiCpuPkg:Wake up APs after power-up or RESET through SIPI. 1d76560146 OvmfPkg: Disable PcdFirstTimeWakeUpAPsBySipi. 98e9d29e06 UefiCpuPkg: Add PcdFirstTimeWakeUpAPsBySipi 055c7bd1a7 UefiCpuPkg: Add SendStartupIpiAllExcludingSelf 991515a058 CryptoPkg: remove BN and EC accel for size optimization e91bfffd4f CryptoPkg/openssl: update CI config for openssl 3.0 46226fb5d3 CryptoPkg: remove strcmp to syscall c0aeb92663 CryptoPkg: run configure.py to update all generated files dfa6147a79 CryptoPkg: add more dummy implement of openssl for size optimization 2bead79cfc CryptoPkg: add implemention of _ftol2_sse() to avoid build error b2ff8e45db CryptoPkg: add define of maximum unsigned size_t 4b5faa5775 CryptoPkg: add missing gcc instructions 43e0ede26b CryptoPkg: Enable memcpy sys call in RISCV64 build f0d3e59754 CryptoPkg: Align with 4096 when build with OpensslFullAccel bdf3142eb7 CryptoPkg/TlsLib: use unsigned long for ErrorCode 20193b20b5 CryptoPkg: disable C4133 warning in openssl libraries bf1ff73c8c CryptoPkg: Add instrinsics to support building openssl3 on IA32 windows cea8e3b513 CryptoPkg: adapt 3.0 change in SslNull.c ea7a37d352 CryptoPkg: use UEFI provider as default 9b9b331e0f CryptoPkg: Move all UEFI implement of openssl to OpensslStub 5e1900f266 CryptoPkg/openssl: adapt EcSm2Null.c for openssl 3.0 174a306ccd CryptoPkg/openssl: store dummy update for openssl 3.0 3af00aec7f CryptoPkg/openssl: move compiler_flags to buildinf.c c638d1f672 CryptoPkg/openssl: adapt rand_pool.c to openssl 3.0 changes eac38f74c4 CryptoPkg/TlsLib: ERR_GET_FUNC is gone 2a6dc1211f CryptoPkg/BaseCryptLib: drop BIO_* dummy functions 63c8d160ae CryptoPkg/BaseCryptLib: adapt CryptSm3.c to openssl 3.0 changes. 84158d0ebe CryptoPkg/BaseCryptLib: no openssl deprecation warnings please ac492c3ead CryptoPkg/openssl: UefiAsm.conf update for openssl 3.0 81f5aa0700 CryptoPkg/openssl: add openssl3 configure scripts 7cede6d5f4 CryptoPkg/openssl: update Openssl*.inf files for openssl 3.0 49a113a7a4 CryptoPkg/openssl: cleanup all openssl1.1.1 generated files and code 9d6d237c3c CryptoPkg/openssl: update submodule to openssl-3.0.9 136931c4db MedPkg/Include: Add PCI_EXPRESS_EXTENDED_CAPABILITY_DVSEC_ID 3c274c0d83 MdePkg: Add new status codes to PrintLib 107ddf1de9 MdePkg: Add missing status codes 2d8c17a9b6 OvmfPkg/PlatformCI: Boot OVMF in SMP mode. bae848ee25 OvmfPkg/PlatformCI VS2019: Disable workaround for cpuhp bugfix 744c42bfd8 OvmfPkg/PlatformCI: Use recent Qemu on Windows 01ad4134c3 MdeModulePkg: Solve boot hang Xhci driver when use USB DVD with empty disk ef05145136 ArmPkg: DefaultExceptionHandlerLib: Do Not Allocate Memory 7672d1cca5 MdeModulePkg/SetupBrowser: Load storage via GetVariable for EfiVarStore fa789cc68a BaseTools: scan Edk2ToolsBuild.py make output 5cadb8ce21 BaseTools: BinToPcd: Resolve xdrlib deprecation d11968fcc5 MdeModulePkg/Bus/Ata/AtaAtapiPassThru: Fix UNUSED_VALUE Coverity issue c7c1170a45 MdeModulePkg/Bus/Ata/AtaAtapiPassThru: Fix SIGN_EXTENSION Coverity issue 677f2c6f15 OvmfPkg/RiscVVirt: Update README for CLANGDWARF support 3f49462558 BaseTools/tools_def: Add CLANGDWARF support for RISC-V 0f9fd06919 OvmfPkg/RiscVVirt: SecEntry: Remove unnecessary assembly directives 8543840cfd OvmfPkg/RiscVVirt: use 'auto' alignment and FIXED for XIP modules 70f3e62dc7 OvmfPkg/BhyvePkg: enable bus enumeration f284981506 Revert "OvmfPkg/Bhyve: remove IncompatiblePciDeviceSupport DXE driver" 1c923b9f25 Revert "OvmfPkg/Bhyve: consume PciHostBridgeLibScan" c7a7f09c1d UefiCpuPkg: Decouple the SEV-ES functionality. 25a6745fe8 RedfishPkg/RedfishDiscoverDxe: fix netmask check issue dcf05f958e MdePkg/Include/IndustryStandard: Remove VS20xx workaround 5309ddc83b EmulatorPkg/Win/Host: Fix RUNTIME_FUNCTION redefinition error 925c445fd3 OvmfPkg/RiscVVirt: Avoid printing hard coded timeout value 7427dd3fc0 OvmfPkg/RiscVVirt: Check "no-map" and mark EfiReservedMemoryType c6b512962e UnitTestFrameworkPkg: UnitTestPersistenceLib: Save Unit Test Cache Option b2de9ec5a7 CryptoPkg/OpensslLib: Upgrade OpenSSL to 1.1.1u 6510dcf6f7 NetworkPkg/HttpDxe: fix driver binding start issue. a52044a9e6 OvmfPkg/IoMmuDxe: add locking to IoMmuAllocateBounceBuffer 08aacbf056 OvmfPkg/CloudHv: update Maintainers.txt entry 4d1014093f UefiCpuPkg: Uses gMmst in MmSaveStateLib 39ded59c09 OvmfPkg/PeilessStartupLib: Updated with PcdSecureBootSupported 3399f64588 RedfishPkg/RedfishRestExDxe: reset session when TCP timeout happens dd49d448b0 MdeModulePkg/Bus/Pci/EhciDxe: Fix FORWARD_NULL Coverity issues f220dcbba8 UefiCpuPkg: RISC-V: Support MMU with SV39/48/57 mode cc13dcc576 OvmfPkg: RiscVVirt: Remove satp bare mode setting 33d0a3cc92 OvmfPkg/RiscVVirt: Add VirtNorFlashDxe to APRIORI list a8a72fc1ff OvmfPkg/RiscVVirt: SEC: Add IO memory resource hob for platform devices a9fc9bb466 OvmfPkg/RiscVVirt: VirtNorFlashPlatformLib: Fix wrong flash size fbec9aec00 MdePkg/Register: RISC-V: Add satp mode bits shift definition 7178047402 MdePkg/BaseLib: RISC-V: Support getting satp register value e674096acc OvmfPkg/ResetVector: Fix assembler bit test flag check ff3382a51c MdeModulePkg/Bus/Usb/UsbNetwork/UsbCdcNcm: Add USB Cdc NCM devices support 5e400d22a0 MdeModulePkg/Bus/Usb/UsbNetwork/UsbCdcEcm: Add USB Cdc ECM devices support fc0d5922f1 MdeModulePkg/Bus/Usb/UsbNetwork/UsbRndis: Add USB RNDIS devices support 8dab4eebe4 UefiPayloadPkg: Integrate UiApp and BootManagerMenuApp into MultiFv 964a4f032d UefiCpuPkg: Eliminate the second INIT-SIPI-SIPI sequence. 629c1dacc9 UefiCpuPkg: ApWakeupFunction directly use CpuMpData. 8bb018afaf UefiCpuPkg: Create MpHandOff. 243212b0d0 UefiCpuPkg: Refactor the logic for placing APs in Mwait/Runloop. 88f436883b UefiCpuPkg: Refactor the logic for placing APs in HltLoop. 63923a5642 MdeModulePkg/Variable: TcgMorLockSmm Key Mismatch changes lock state 96d691166f RedfishPkg/RedfishDebugLib: add new interfaces 60475162a6 RedfishPkg/JsonLib: add object clear interface b164b6d149 RedfishPkg/RedfishPlatformConfigDxe: hide debug message 98ab6e8718 RedfishPkg/RedfishRestExDxe: fix CPU exception in RedfishRestExDxe af8859bce2 OvmfPkg/PlatformCI: Skip GCC5_OVMF_IA32X64_FULL_NOOPT build 1fadd18d0c UefiCpuPkg: Get processor extended information for SmmCpuServiceProtocol 6c744465b6 ArmPkg: Add Function Headers to MMU Logic 3b74b0394d ArmPkg: Fix Unsafe ASSERTs in MMU Logic 1b25a7049c ArmPkg: Update GetMemoryRegion() to Handle No mapping cdbdd12460 ArmPkg: Apply Uncrustify to Non-Compliant Files f2188fe5d1 OvmfPkg: Uses MmSaveStateLib library fbb6f18e1c UefiCpuPkg: Removes SmmCpuFeaturesReadSaveStateRegister 065fa2dcc2 UefiCpuPkg: Implements MmSaveStateLib for Intel 867851dc30 UefiCpuPkg: Implements SmmCpuFeaturesLib for AMD Family 11dae72d3f UefiCpuPkg/SmmCpuFeaturesLib: Restructure arch-dependent code 775b337c78 UefiCpuPkg: Implements MmSaveStateLib library instance 4f3ddc6e15 UefiCpuPkg: Adds MmSaveStateLib library class 8d34c7afb3 MdePkg: Adds AMD SMRAM save state map ad7d3ace1a UefiCpuPkg: CpuTimerDxeRiscV64: Fix timer event not working correctly 5a13f5c2fa RedfishPkg: Fix SortLib library class name typo. f5c987fcac UefiCpuPkg/PiSmmCpuDxeSmm: Remove unnecessary function 4ceefd6dd1 UefiCpuPkg: Refinement to smm runtime InitPaging() code b4394cca2d UefiCpuPkg: Sort mProtectionMemRange when ReadyToLock 7132df94ac UefiCpuPkg: Sort mSmmCpuSmramRanges in FindSmramInfo b4dde1ae6a UefiCpuPkg: Use GenSmmPageTable() to create Smm S3 page table 701b5797b2 UefiCpuPkg: Add GenSmmPageTable() to create smm page table d706d9c64a UefiCpuPkg: Extern mSmmShadowStackSize in PiSmmCpuDxeSmm.h ef64ae06f8 UefiCpuPkg/PiSmmCpuDxeSmm: Clear CR0.WP before modify page table 7b6e7d0098 UefiCpuPkg/PiSmmCpuDxeSmm: Add 2 function to disable/enable CR0.WP f51967280b UefiCpuPkg/PiSmmCpuDxeSmm: Avoid setting non-present range to RO/NX 6585ced558 UefiCpuPkg: Add DEBUG_CODE for special case when clear RP 2d212083d0 UefiCpuPkg: Use CpuPageTableLib to convert SMM paging attribute. 8c99839776 MdeModulePkg: Remove other attribute protection in UnsetGuardPage a78938f274 OvmfPkg:Remove code that apply AddressEncMask to non-leaf entry 6607062e91 MdeModulePkg: Variable: Introduce MM based variable read service in PEI 01ac3d8b69 ArmPkg: MmCommunicationPei: Introduce MM communicate in PEI 4416bf3383 NetworkPkg: Correct the length of EAP Identity when in ASCII format 44a3d93af3 Maintainers.txt: Update NetworkPkg maintainers and reviewers 1a39bdf2c5 BaseTools/tools_def: Add "-fno-unwind-tables" to GCC5_RISCV64_CC_FLAGS ea7a3015a2 OvmfPkg/VirtioSerialDxe: Remove noisy debug print on supported() call 2f8b51d6af ArmPkg/OpteeLib: Map shared communication buffer non-executable 8a1f540596 ArmPkg: Drop individual memory permission helpers 7054f1a54e StandaloneMmPkg: Include correct MmuLib header 28eb51dd54 UefiCpuPkg/ResetVector: Remove pre-built binaries 8ef7e222ae UefiCpuPkg/ResetVector: Add guidance of FDF ffs rule ab85db3260 UefiCpuPkg: Include ResetVector in DSC 81cb0371f9 CI: Use latest image for Linux jobs (Qemu 8, gcc 12) 638dfb4135 OvmfPkg/PciHotPlugInitDxe: fix io window size 5542e528cd ArmPkg/CpuDxe: Simplify memory attributes protocol implementation a21a994f55 MdeModulePkg/DxeIpl ARM AARCH64: Switch to generic handoff code 4249829cf2 ArmPkg/CpuPei: Implement the memory attributes PPI 8f5ad634ad ArmPkg/ArmMmuLib: Extend API to manage memory permissions better 9df2c0a555 MdeModulePkg/DxeIpl: Use memory attribute PPI to remap the stack NX dfacaab57e MdeModulePkg/DxeIpl: Merge EBC, RISCV64 and LOONGARCH code 9eb8f2c99f MdeModulePkg: Define memory attribute PPI ac33eee8b8 IntelFsp2WrapperPkg: Get HobListPtr before calling the Multiphase FSPS 5779671137 OvmfPkg/Bhyve: include TPM driver c301291dc3 OvmfPkg/Bhyve: install Acpi tables provided by FwCfg 5a118a61d1 OvmfPkg: move QemuFwCfgAcpi into AcpiPlatformLib 0f612c1443 OvmfPkg: move BootScript into AcpiPlatformLib ea88df6b26 OvmfPkg: move PciEncoding into AcpiPlatformLib f5d851673d OvmfPkg: avoid including AcpiPlatformLib twice 8f63f4143d OvmfPkg/Library: fix definition of GetAcpiRsdpFromMemory 6ee981c858 SecurityPkg: SubClassTpm: Updated default value 7c703f0a8a MdePkg: PiStatusCode: Add TPM subclass definition to MdePkg e7667b7b9a MdePkg: PiStatusCode: Add new Host Software class Error Code to MdePkg 49f06b6640 OvmfPkg/RiscVVirt: Add a readme for build and test 37423fa344 OvmfPkg/RiscVVirt: Add support for separate code and variable store 420cd54993 OvmfPkg/RiscVVirt: Add VirtNorFlashDeviceTreeLib library f6c4b0a78e OvmfPkg/RiscVVirt: Fix couple of issues in VarStore fcd71642df MdePkg: Code optimization to SMM InternalAllocateAlignedPages 56f65e4bad MdeModulePkg/SmmCore: Perf-log PlatformHookBefore/AfterSmmDispatch a87f5fdb3d UefiCpuPkg/SmmCpu: Add PcdSmmApPerfLogEnable control AP perf-logging 2d3974a351 MdeModulePkg/SmmCorePerformanceLib: Disable perf-logging at runtime 92759eeb0c MdeModulePkg/SmmPerformanceLib: Disable perf-logging after ExitBS 0c136bbba0 MdeModulePkg/SmmCore: Add perf-logging for SmmDriverDispatchHandler e4ff852136 MdeModulePkg/SmmCore: Add perf-logging for time-consuming procedures ad6c8540cc UefiCpuPkg/CpuSmm: Add perf-logging for MP procedures 0da3df78ff UefiCpuPkg/CpuSmm: Add perf-logging for time-consuming BSP procedures 4a0642ad27 Maintainers.txt: update maintainer for CryptoPkg ea55bd8f66 UefiCpuPkg: RISC-V: TimerLib: Fix delay function to use 64-bit 4dba2a9d08 UefiCpuPkg: CpuTimerDxeRiscV64: Fix incorrect value sent to SbiSetTimer aad98d915a UefiPayloadPkg: Fix incorrect code on AddSectionHeader 51bb8eb76c UefiPayloadPkg: Add CAPSULE_SUPPORT in UPL and set it as FALSE in default 6250124de8 Maintainers.txt: Remove me from maintainers of UefiPayloadPkg,ShellPkg e5b515f832 Maintainers.txt: Remove UEFI Shell Binaries section 530f5b0912 UnitTestFrameworkPkg: Add UnitTestPeiServicesTablePointerLib 8314a85893 ShellPkg/SmbiosView: type 45 and type 46 support. 69abcf1e78 UefiPayloadPkg: Enhance build script for BuildEntryOnly 8d238f1433 Maintainers.txt: Update maintainers for StandaloneMmPkg aa3ea84407 Maintainers.txt: Remove reviewer for StandaloneMmPkg c082da89cf RedfishPkg: update Readme.md 67fc78d026 MdeModulePkg/Bus: Fix port multiplier port in AhciPei PEIM ded0b489af MdePkg/BaseLib: Add SpeculationBarrier implementation for RiscV64 d189de3b0a MdePkg ACPI65: Update MADT Revision pre ACPI Spec 6.5 cdd20638bc CharEncodingCheckPlugin: Remove Noisy Print 4bd0849d81 OvmfPkg/Bhyve: install ACPI tables from memory 1288c5415c OvmfPkg/Xen: export AcpiTable installation into AcpiPlatformLib f211292711 OvmfPkg/Xen: export search of RSDP into a library function c1dd400a13 OvmfPkg: Create additional PML1 entries for large SEV-SNP VMs 8fbf857a0b OvmfPkg/RiscVVirt: Remove unimplemented NxForStack configuration 4354c22f38 ArmPkg: add SMC defines for SiP service calls 0364ccfead ArmPkg: Enable AuditMode for Uncrustify CI checks a8acc12dfd ShellPkgDisconnect: zero-initialize handles 78262899d2 ShellPkg: Add a condition to print accurate type0 Bios Size in smbiosview. 41abf00bf9 OvmfPkg: Remove SataControllerDxe 77fee3a9d8 OvmfPkg/Xen: Replace the OVMF-specific SataControllerDxe 07c7e68360 OvmfPkg/AmdSev: Replace the OVMF-specific SataControllerDxe 069d403587 OvmfPkg/IntelTdx: Replace the OVMF-specific SataControllerDxe b26359c176 OvmfPkg/CloudHv: Replace the OVMF-specific SataControllerDxe d85b84e201 OvmfPkg/Bhyve: Replace the OVMF-specific SataControllerDxe bc59ede170 OvmfPkg/Microvm: Replace the OVMF-specific SataControllerDxe f5137e1a54 OvmfPkg: Replace the OVMF-specific SataControllerDxe 2bc46e67b6 MdeModulePkg/SataControllerDxe: Fix up ASSERTS (Private != NULL) 82b81c6464 MdeModulePkg/SataControllerDxe: Remove useless null check 897a2b447e MdeModulePkg/SataControllerDxe: Log expected errors at DEBUG_INFO level 5e8958472c MdeModulePkg/SataControllerDxe: Clean up error handling in Start() ded1d5414b ArmPkg: Fix ArmGicAcknowledgeInterrupt () for GICv3 8bcddbcce2 ArmPkg: Adjust variable type and cast for RegShift & RegOffset 8da2b97392 ArmPkg: Prevent SgiId from setting RES0 bits of GICD_SGIR cfb4a10d76 ArmPkg: Remove unused function declarations 08a08129ae ArmPkg: Typecast IntID to UINT32 in ArmGicV2EndOfInterrupt 7f198321ee ArmPkg: Make variables used for GicInterrupt UINTN 937fbe4878 ArmPkg: Fix return type for ArmGicGetInterfaceIdentification ed132ef8ae ArmPkg: Fix Non-Boolean comparison in ArmGicEnableDistributor ea522a12b3 ArmPkg: Fix ArmGicSendSgiTo() parameters a44fef7de3 ArmPkg: Fix data type used for GicInterruptInterfaceBase 4ec9a6f6cd ArmPkg: Fix data type used for GicDistributorBase b38068f9f6 ArmPkg: Fix GicV2 BaseAddress types 15f83fa364 ArmVirt/PlatformBootManagerLib: set up virtio serial as console aaf546879a ArmVirt/PlatformBootManagerLib: factor out IsVirtioPci() a196b04926 ArmVirt/PlatformBootManagerLib: factor out IsVirtio() 6925150feb ArmVirt: add VirtioSerialDxe to ArmVirtQemu builds 1df6658bcb BaseTools: remove duplicate includes: IndustryStandard/*.h 6101bd125a BaseTools: remove duplicate includes: IndustryStandard/PeImage.h c15941a643 BaseTools: switch from EFI_IMAGE_MACHINE_* to IMAGE_FILE_MACHINE_* fdc6288f81 BaseTools: drop IMAGE_FILE_MACHINE_ARM hacks ff52068d92 MdePkg/PeImage.h: add bits from BaseTools version 26d6ef38e7 BaseTools: remove duplicate includes: IndustryStandard/Acpi*.h 69ac88cabd BaseTools: remove duplicate includes: /ProcessorBind.h 6a07d9cacf BaseTools: remove WinNtInclude.h 140e4422b1 MdePkg: don't set visibility to hidden bd035a066f BaseTools: add -fdirect-access-external-data to clang pie builds 7ffc433c2e BaseTools: make sure the got is empty c1e8537690 OvmfPkg/PlatformInitLib: limit phys-bits to 46. 578a715cfc OvmfPkg/QemuFlashFvbServicesRuntimeDxe: refine flash detection 4e5a804222 OvmfPkg/VirtioSerialDxe: use TPL_NOTIFY 9f12d6b6ec UefiCpuPkg/PiSmmCpuDxeSmm:add Ap Rendezvous check in PerformRemainingTasks. 5bb7bfbe81 UefiCpuPkg/CpuService.c:check cpu sync mode in SmmCpuRendezvous() d15d2667d5 RedfishPkg: Use DEBUG_MANAGEABILITY d8e5d35ede UefiPayloadPkg: Add CpuPageTableLib required by SecCore & CpuMpPei 55bee4a9de OvmfPkg: Add CpuPageTableLib required by SecCore & CpuMpPei 0d382976c2 MdeModulePkg/DxeIpl: Align Page table Level setting with previous level. 56ad09ba75 UefiCpuPkg/CpuMpPei: Conditionally enable PAE paging in 32bit mode b4d3b77973 UefiCpuPkg/SecCore: Migrate page table to permanent memory 0f9283429d UefiCpuPkg/ResetVector: Support 5 level page table in ResetVector d064a6f790 UefiCpuPkg/ResetVector: Modify Page Table in ResetVector 0fba57da65 UefiCpuPkg/ResetVector: Combine PageTables1G.asm and PageTables2M.asm c19e3f578f UefiCpuPkg/ResetVector: Simplify page table creation in ResetVector cc62b85a4a UefiCpuPkg/ResetVector: Rename macros about page table. 48c53994e6 IntelFsp2Pkg/Library/BaseFspCommonLib: Fix OVERRUN Coverity issue 69e10f0211 IntelFsp2WrapperPkg: Fix ASSERT when FSP-S/M use FFS3. 9d9761af50 RedfishPkg/RedfishPlatformConfigDxe: fix value type issue. 1034d223f8 ArmPkg/CpuDxe: Perform preliminary NX remap of free memory 03663c4319 ArmVirtPkg/ArmVirtQemu: Use read-only memory region type for code flash 8e934ab956 ArmVirtPkg: Dispatch variable service if variable emulation is enabled 84d0b21d18 ArmVirtPkg: Fallback to variable emulation if no CFI is found 0e5aecfed1 ArmVirtPkg: Define variables for emulating runtime variables 86cc274941 ArmPkg: Configure PcdEmuVariableNvModeEnable as a dynamic PCD 0b4263a2c2 ArmVirtPkg/PrePi: Allocate separate stack for Dxe phase 647cd40cf6 ArmPkg/CpuDxe AARCH64: Report Memory Protection Attributes To GCD 04c5b3023e OvmfPkg/MicrovmX64: enable 1G pages b63e17d746 OvmfPkg/OvmfPkgIa32X64: enable 1G pages d4d24001f7 OvmfPkg/PlatformInitLib: check PcdUse1GPageTable 27727338b2 OvmfPkg/PciHotPlugInitDxe: Do not reserve IO ports by default. 9181782c30 OvmfPkg/Bhyve/PlatformPei: drop S3Verification() 098c557023 OvmfPkg/PlatformPei: drop S3Verification() c0bce66068 OvmfPkg/VirtIoSerialDxe: Update for VS2015x86 compatibility e1f5c6249a MdeModulePkg SdMmcPciHcDxe: SD/MMC capability debug print is incorrect 5258c4186f RedfishPkg/RedfishPlatformConfigDxe: Fix string assert issue ba2300f97b PcAtChipsetPkg: RTC Runtime unable to get correct IO port by PCD 0f8323b44b BaseTools: toolsetup.bat always execute PYTHON_HOME - Removed patches which are merged to edk2-stable202308: - ovmf-riscv64-missing-memcpy.patch CryptoPkg: Enable memcpy sys call in RISCV64 build - 43e0ede26b edk2-stable202308~15 - Upgrade OpenSSL to 3.0.9 - Add openssl-3.0.9.tar.gz openssl-3.0.9.tar.gz.asc openssl.keyring - Update openssl.keyring, openssl.keyring.README - Update ovmf.spec: Source1: https://www.openssl.org/source/old/3.0/openssl-%{openssl_version}.tar.gz Source111: https://www.openssl.org/source/old/3.0/openssl-%{openssl_version}.tar.gz.asc - Removed EFI shell from ia32 ovmf because the flash space is not enough. - Update ovmf.spec: Add IA32 BUILD_SHELL=FALSE to BUILD_OPTIONS_X86 - After 37423fa344 OvmfPkg/RiscVVirt: Add support for separate code and variable store be merged to edk2-stable202308. RISC-V supported (and only supported) separate code/vars stores. So changed ovmf.spec. Add: cp Build/RiscVVirtQemu/DEBUG_GCC*/FV/RISCV_VIRT_CODE.fd ovmf-riscv64-code.bin cp Build/RiscVVirtQemu/DEBUG_GCC*/FV/RISCV_VIRT_VARS.fd ovmf-riscv64-vars.bin Remove statements relates to: qemu-uefi-riscv64.bin- Removed the following patches because they are not necessary and they blocked for submit to openSUSE:Factory. (bsc#1205978) ovmf-Revert-OvmfPkg-PlatformInitLib-Add-PlatformAddHobCB.patch ovmf-Revert-OvmfPkg-PlatformInitLib-Add-PlatformGetLowMem.patch ovmf-Revert-OvmfPkg-PlatformInitLib-Add-PlatformReservati.patch ovmf-Revert-OvmfPkg-PlatformInitLib-Add-PlatformScanE820-.patch ovmf-Revert-OvmfPkg-PlatformInitLib-reorder-PlatformQemuU.patch- Add openssl.keyring.README to shim.spec as Source113 to avoid erroe when submit to openSUSE:Factory- Enable support for riscv64- Update to edk2-stable202305 (bsc#1205588) - Features (https://github.com/tianocore/edk2/releases): Expose IBT/BTI compatible runtime DXE drivers via memory attributes table Update toolchain support MdePkg: Support FDT library Add google mocks support to UnitTestFrameworkPkg GoogleTestLib Platform Redfish Host Interface library for USBNIC [OpenSSL] Update OpenSSL version to version 1.1.1t to include CVE fix Replace pre-standard FUNCTION with C99 func throughout edk2 Implement EFI memory attributes protocol for ARM platforms Add TraceHubLib Support - Patches (git log --oneline --date-order edk2-stable202302..edk2-stable202305): ba91d0292e MdeModulePkg/Core/Pei: set AprioriCount=0 before walking through next FV 5ce29ae84d ArmPkg/ArmMmuLib AARCH64: Add missing ISB after page table update c5cf7f69c9 pip-requirements.txt: Update edk2 pip modules 0abfb0be6c OvmfPkg: RiscVVirt: Add missing SerialPortInitialize to Sec 45da4e3135 MdePkg: add SBI-based SerialPortLib for RISC-V 2900e75511 MdePkg: BaseRiscVSbiLib: make more useful to consumers cafb4f3f36 UefiPayloadPkg: Fix boot shell issue for universal UEFI payload 80bc13db83 Maintainers.txt: Update reviewers and maintainers for FdtLib. d322557712 BaseTools/tools_def: Disable overzealous unused variable warning on Clang e2607d3a78 BaseTools/tools_def: Drop ref to undefined CLANGDWARF_ARM_PREFIX 0b37723186 ShellPkg/UefiShellDebug1CommandsLib: Replace hardcoded SMBIOS strings. 2d4c76f783 MdePkg/IndustryStandard: Add SMBIOS anchor string & length defines. c08a3a96fd MdePkg/IndustryStandard: Add IPMI Interface Capabilities definitions 083b029538 MdePkg: Add new PCDs for IPMI SSIF dea6c7dc2a MdePkg/IndustryStandard: Add definitions for IPMI SSIF 0a0e60caf2 Maintainers.txt: Update reviewers and maintainers for TraceHubDebugLib. 0f0422cedc MdeModulePkg: Add TraceHubDebugSysTLib library 3d50fdc5c6 MdePkg: Add NULL library of TraceHubDebugSysTLib c6bb7d54be MdePkg: Add MipiSysTLib library 782948c1a7 MdePkg: Add mipisyst submodule 6dd64168ed BaseTools/Plugin: Too many execute files cause "cmd too long" failure c6382ba0f2 SecurityPkg: Add missing break in Tpm2TestParms 77f75c7fb8 BaseTools: Update Tests/TestTools.py to allow it to work on Windows b9bbb4ae93 BaseTools: only print the environment once in toolsetup.bat dd246227d6 BaseTools: Update toolsetup.bat to not use BASETOOLS_PYTHON_SOURCE f47415e031 BaseTools: Revert Set the CLANGDWARF OBJCOPY path in tools_def.template 6fb2760dc8 OvmfPkg: drop PlatformBootManagerLibGrub 81dc0d8b4c OvmfPkg/AmdSev: stop using PlatformBootManagerLibGrub 63887e272d OvmfPkg/NvVarsFileLib: disable in case PcdBootRestrictToFirmware is set 41d7832db0 OvmfPkg/PlatformBootManagerLib: add PcdBootRestrictToFirmware e6447d2a08 Remove bashisms from edksetup.sh and BaseTools/BuildEnv 373a95532a BaseTools: Remove the CLANGCC build rule for Hii-Binary-Package.UEFI_HII ecbc394365 BaseTools: Set CLANGDWARF RC path to llvm-objcopy in tools_def.template 11f62f4cc0 BaseTools: Set the CLANGDWARF OBJCOPY path in tools_def.template c6f47e678f BaseTools: Remove BUILDRULEFAMILY from CLANGDWARF in tools_def.template 9165a7e95e CryptoPkg: Delete CLANG35 and CLANG38 build flags; add CLANGDWARF flags e97b9b4e5a MdePkg: Add more HobLib/PeiServicesLib gmock support 25c9d44315 MdeModulePkg: Add more PciHostBridgeLib gmock support bee67e0c14 OvmfPkg: Relax assertion that interrupts do not occur at TPL_HIGH_LEVEL ae0be176a8 OvmfPkg: Clarify invariants for NestedInterruptTplLib 5215cd5baf BaseTools: Update toolsetup.bat and Tests/PythonTest.py to check ver e6de6052a0 edksetup.bat: if toolsetup.bat fails, just exit 11ec5161fa BaseTools: use threading.current_thread in NmakeSubdirs.py db7e6291c0 BaseTools: Remove Python2/Python3 detection from toolset.bat 6eeb58ece3 RedfishPkg: Fix compile issue on Linux 665fca9ee7 RedfishPkg: Add missing newline character a1f6485a9b RedfishPkg: Create RestEx child on selected interface 05762bd2e0 RedfishPkg: Fix condition checking of error status c580e27efc RedfishPkg: Correct variable type to prevent memory corruption d89492456f Securitypkg/hddpassword: Update HddPasswordDxeInit to use Variable Policy 8dbf868e02 Add volatile keyword to NvmExpressPei's Passthru CQ 293b97d0c4 Add the volatile keyword to NvmExpressDxe's Passthru CQ 4dea9e4a0e BaseTools/Conf: Add quotes to ADDDEBUGFLAG in tools_def.txt 8e985ac3fd BaseTools/Conf: Align CLANGDWARF and CLANGPDB warning overrides 66494e5324 MdeModulePkg/CapsuleApp: Add EFIAPI to CompareFileNameInAlphabet() eabaeb0613 OvmfPkg: move OvmfTpmDxe.fdf.inc to Include/Fdf 8bca1bb977 OvmfPkg: move OvmfTpmPei.fdf.inc to Include/Fdf b65c0eed6b BaseSynchronizationLib: Fix LoongArch64 synchronization functions 757f502a3b BaseTools/Conf/tools_def.template: Bump VERSION to 3.00 050d6e9434 BaseTools: Delete CLANG38 from tools_def.template 128547b081 BaseTools: Remove CLANG35 toolchain from tools_def.template 4ef4b81c9b BaseTools: As with CLANGDWARF IA32 and X64, use lld for ARM and AARCH64 98edce75fa BaseTools: Add ARM and AARCH64 CLANGDWARF support in tools_def.template 0fc07b1c6a BaseTools/Conf/tools_def.template: Add section for deprecated toolchains 01225075db Add GCC and GCCNOLTO toolchains to tools_def.txt and update packages 66803cafcf BaseTools: Update VS toolchain descriptions in tools_def.txt.template d7c6030a47 BaseTools: Remove EBC (EFI Byte Code) compiler definitions 8b441847e3 BaseTools: Remove unused IPHONE_TOOLS and SOURCERY_CYGWIN_TOOLS defs ba634ce82b edksetup.bat: Remove VS2008-VS2013 remnants c844d86bee MdePkg: Remove VS2008-VS2013 remnants c3ac3301e9 BaseTools: Remove VS2008-VS2013 remnants 0363584ac9 BaseTools: Remove VS2008, 2010, 2012 and 2013 toolchain definitions 94c802e108 MdePkg/BasePeCoffLib: Deal with broken debug directories ff7cb2d7c9 .pytool: Support FDT library. 5d586606c7 MdePkg: Support FDT library. 10416bf46e Tianocore: Support FDT library. d992a05ade Maintainers.txt: Update for IntelFsp2Pkg and IntelFsp2WrapperPkg. 4b02045f86 OvmfPkg/PlatformBootManagerLib: setup virtio serial console c6c4362051 OvmfPkg/VirtioSerialDxe: wire up in OvmfPkg* 4d1452c599 OvmfPkg/VirtioSerialDxe: add driver 1694b00511 OvmfPkg: add IndustryStandard/VirtioSerial.h 92da8a154f OvmfPkg: replace SECURE_BOOT_FEATURE_ENABLED with PcdSecureBootSupported a818a873e5 ArmVirtPkg: allow setting Firmware Version from build command line 8d59bbf47e OvmfPkg: allow setting Firmware Version from build command line 5de2a54b2c ArmPkg/PlatformBootManagerLib: Add path to boot UEFI Shell over UiApp d6b42ed7ed SecurityPkg: add TIS sanity check (tpm12) 832fbc6e32 SecurityPkg: add TIS sanity check (tpm2) 23c71536ef UefiPayloadPkg: Fix issues when MULTIPLE_DEBUG_PORT_SUPPORT is true 56e9828380 RedfishPkg: Add Redfish Platform Config Protocol to RedfishPkg 83d77fa311 RedfishPkg: Helper library of EDKII_REDFISH_PLATFORM_CONFIG_PROTOCOL 01b31b585e RedfishPkg: Implementation of EDKII_REDFISH_PLATFORM_CONFIG_PROTOCOL 02990e2558 RedfishPkg: introduce HII utility helper library 78f088b5a7 RedfishPkg: introduce EDKII_REDFISH_PLATFORM_CONFIG_PROTOCOL ecbcff0f49 MdeModulePkg/RegularExpressionDxe: Fix Arm build error d226811a66 SecurityPkg/DxeImageVerificationLib: Add AUTH_SIG_NOT_FOUND Action 95ef765839 UefiPayloadPkg: Clang dependency removal e5e1cd1a83 .azurepipelines: Switch linux image default to Fedora-37 04f8371cdd .azurepipelines: Choose container that have installed lcov 9688e231d7 BaseTools/Plugin: Report error if code coverage failure edacc551e6 OvmfPkg/CcExitLib: Use documented XSave area base size for SEV-SNP ce781cf8bb OvmfPkg/CcExitLib: Fix SEV-SNP XSave area size calculation e5c7d0b017 OvmfPkg/AmdSevDxe: Update ConfidentialComputing blob struct definition f384303dc5 OvmfPkg/AmdSevDxe: Allocate SEV-SNP CC blob as EfiACPIReclaimMemory ede0bd1496 UefiCpuPkg: Update PT code to support enable collect performance 61e2c83424 UefiCpuPkg: Update code to support enable ProcTrace only on BSP 5a349b96b1 RedfishPkg: Remove the Discover Token global variables 18f463edba DynamicTablesPkg/SsdtCpuTopology: Allow multi-packages topologies 6127bf1f30 BaseTools: Add quotes around OBJCOPY cmd in build_rule.template 2c2cb23528 ArmPkg: add ArmCpuInfo EFI application a7c8969d03 ArmLib: add functions to read system registers ed2ff315db MdePkg: Add DEBUG_MANAGEABILITY print error level 3163f34a42 BaseTools/Plugin: Clarify code coverage failure message 697e594fad MdePkg/Include: Add DMTF PLDM SMBIOS definitions 9bf79303ae ArmPkg: older assemblers may lack ID_AA64ISAR2_EL1 67b5dba791 UefiPayloadPkg: Move Network modules from Dxe FV to Network FV in elf 45f5341f6d MdePkg/Include: Add DMTF PLDM Base definitions 8f4ec0cc43 ArmPkg/ArmMmuLib: Fix ArmReplaceLiveTranslationEntry() alignment f433fa59d2 ArmPkg/AsmMacroIoLibV8: Introduce ASM_FUNC_ALIGN() e3d2c08322 CryptoPkg: Enable DXE_CORE support in DxeCryptLib.inf b16284e2a0 IntelFsp2Pkg/Tools: Enhance PathFv.py to patch Fd file directly 6ded9f50c3 edk2: Add .git-blame-ignore-revs file 797f526ae2 BaseTools: Update SetupGit.py to add new 'fp' alias for patch formatting c9fb11f92f BaseTools: Update PatchCheck.py to check for __FUNCTION__ 55b67b6950 MdeModulePkg/RegularExpressionDxe: Fix GCC build error d795fb571b Maintainer.txt: add myself as reviewer for bhyve's OvmfPkg 42b0443599 ShellPkg: UefiShellDebug1CommandsLib: Uefi Config Tables in Dmem.c 5430f7f60d MdePkg: Add new JedecJep106Lib to fetch JEDEC JEP106 manufacturer f9278458b6 OvmfPkg/VirtioMmioDeviceLib: virtio 1.0: Fix SetQueueAlignment. 89520115b8 UefiPayloadPkg: Update default memory type information for S4 dc5f2905eb UefiPayloadPkg: Always build MemoryTypeInformation HOB for DXE GCD b991aec050 UefiCpuLib: Remove UefiCpuLib. 51734dfc48 ShellPkg: Update smbiosview type 0/4/17/41 with SMBIOS 3.5 fields 61652efd04 FmpDevicePkg: Update code to be more C11 compliant by using __func__ 33f30cfec2 UefiPayloadPkg: Update code to be more C11 compliant by using __func__ 66f6a64dd9 EmulatorPkg: Update code to be more C11 compliant by using __func__ 457b4e42f7 SourceLevelDebugPkg: Update code to be more C11 compliant by using __func__ 84f553cb63 NetworkPkg: Update code to be more C11 compliant by using __func__ 74ce342f18 CryptoPkg: Update code to be more C11 compliant by using __func__ f1d31a6ec7 StandaloneMmPkg: Update code to be more C11 compliant by using __func__ 9e7b042ecb PrmPkg: Update code to be more C11 compliant by using __func__ 1295e37d4b UnitTestFrameworkPkg: Update to be more C11 compliant by using __func__ f20e35982b ArmPlatformPkg: Update code to be more C11 compliant by using __func__ 997419d16f RedfishPkg: Update code to be more C11 compliant by using __func__ ccbbb4b1c5 EmbeddedPkg: Update code to be more C11 compliant by using __func__ dd0b33e3e5 SecurityPkg: Update code to be more C11 compliant by using __func__ 7b82da70ed MdeModulePkg: Update code to be more C11 compliant by using __func__ 8ba392687b OvmfPkg: Update code to be more C11 compliant by using __func__ 089013a697 UefiCpuPkg: Update code to be more C11 compliant by using __func__ 1639b6bf07 ArmVirtPkg: Update code to be more C11 compliant by using __func__ f2cc962cd2 ArmPkg: Update code to be more C11 compliant by using __func__ cf4af503fb PrmPkg/Library: HOST_APPLICATION IA32/X64 only b27b897369 MdeModulePkg: HOST_APPLICATION IA32/X64 only eb20c21fcc MdePkg/Library/BaseLib: HOST_APPLICATION IA32/X64 only 358e23c1be SecurityPkg/Library/SecureBootVariableLib: HOST_APPLICATION IA32/X64 only 0657e74116 SecurityPkg/Library/SecureBootVariableLib: Fix VS20xx 4122 errors c28c16e7c4 SecurityPkg: Add gmock example 1a24843ecb MdeModulePkg/Library/UefiSortLib: Add GoogleTestLib example 09458c2b0b MdePkg: Add gmock examples e4af282e9f UnitTestFrameworkPkg/ReadMe.md: Add gmock documentation d0252b8fc1 UnitTestFrameworkPkg: Add gmock support to GoogleTestLib caa389625f .pytool/CISettings.py: Add subhook submodule 0c6d851d25 UnitTestFrameworkPkg: Add subhook submodule required for gmock 6405cd0304 MdeModulePkg: Enable forward edge CFI in mem attributes table d6457b3090 MdePkg/PeCoffLib: Capture DLL characteristics fields in image context b62d7ac97b BaseTools/GenFw: Add DllCharacteristicsEx field to debug data 6c299acf48 BaseTools/GenFw: Parse IBT/BTI support status from ELF note cdf6ff1719 UefiPayloadPkg:Add new build commands for UniversalPayload 3e3be2cbc2 UefiCpuPkg/CpuExceptionHandlerLib: Drop special XCODE5 version 68c89b987f OvmfPkg: Drop special Xcode5 version of exception handler library e5fcaeb133 UefiCpuPkg/CpuExceptionHandlerLib: Make runtime fixups XCODE-only 4764aa50ef UefiCpuPkg/PeiCpuExceptionHandlerLib: Use SEC/PEI specific asm component 95f0330953 UefiCpuPkg/CpuExceptionHandlerLib: Use single SEC/PEI version a257988f59 BaseTools/tools_def CLANGDWARF: Permit text relocations 8d185dfb66 BaseTools: Update antlr makefile to use cc by default 2bb6938949 BaseTools/Conf/tools_def: Fix linking using CLANGDWARF_IA32 a56ee36c49 BaseTools: Build against C++14 when building with clang 728ff1da33 BaseTools: Allow users to build with clang using CC=clang CXX=clang++ 206168e83f BaseTools: Allow users to specify compiler to use with make CC= CXX= cdd79996c2 pip-requirements.txt: bump edk2-basetools to 0.1.43 7df447930c IntelFsp2Pkg: LoadMicrocodeDefault() causing unnecessary delay. af98f1fb03 IntelFsp2Pkg: TempRamInit API should preserve EBX/RBX register. fb89f62d27 .azurepilelines/templates: Split CryptoPkg builds 56e70968e9 .github.workflows: Split MdeModulePkg and CryptoPkg analysis 26997800c9 .github/codeql/edk2.qls: Enable CWE 120, 787, and 805 queries 0734975824 .github/codeql/edk2.qls: Enable CWE 457, 676, and 758 queries e03657dca8 UefiCpuPkg: Fix conditionally uninitialized variables 11dd44dfbe ShellPkg: Fix conditionally uninitialized variables 7dc182ed1e PcAtChipsetPkg: Fix conditionally uninitialized variables 3fab32d41d NetworkPkg: Fix conditionally uninitialized variables 321240b135 MdePkg: Fix conditionally uninitialized variables 07251f3c6a MdeModulePkg: Fix conditionally uninitialized variables 84d77d9bf5 CryptoPkg: Fix conditionally uninitialized variable dbe820d5fa BaseTools/VfrCompile: Fix potential buffer overwrites 4693b325e8 BaseTools/PatchCheck.py: Add PCCTS to tab exemption list 33f517445b MdeModulePkg/SmbiosDxe: Fix pointer and buffer overflow CodeQL alerts fc00ff286a .github/dependabot.yml: Disable automatic rebasing b4af23aaab .github/workflows/codeql-analysis.yml: Add PIP caching 4ca4d2b9df UefiCpuPkg/MtrrLib: use new IS_POW2() macro. 12d3d60f51 OvmfPkg: Consume new alignment-related macros 495809a614 MdeModulePkg: Consume new alignment-related macros 836042ffd8 MdePkg/Base.h: Introduce various alignment-related macros 24e6daa2bc OvmfPkg: Rename IS_ALIGNED macros to avoid name collisions 583f1aba8b MdeModulePkg: Rename IS_ALIGNED macros to avoid name collisions 67a6f414aa UefiCpuPkg/MpInitLib: Ensure SEV-SNP VMSA allocations are not 2MB aligned 3323359a81 UefiCpuPkg/MpInitLib: Reuse VMSA allocation to avoid unreserved allocation 54051768cd UefiCpuPkg/PiSmmCpuDxeSmm: fix format string 71210053fa UefiCpuPkg/MtrrTest: Add test cases for TME-MK enable case bb40c3836f UefiCpuPkg/CpuDxe: Substract TME-MK KEY_ID_BITS from CPU max PA f2f526e074 UefiCpuPkg/CpuDxe: Refactor to use CPUID definitions 263782f667 UefiCpuPkg/MtrrLib: Substract TME-MK KEY_ID_BITS from CPU max PA bb5c115fa6 UefiCpuPkg/MtrrTest: Only claim CPUID max leaf as 1 24f57f9648 MdePkg: Add TME-MK related CPUID and MSR definitions 2f499c36db UefiCpuPkg/Test: Disable random test cases 4dca07ff0f Maintainers.txt: BaseTools Bob Feng -> reviewer, Rebecca Cran -> maintainer eb6a748272 MdeModulePkg/Ahci: Skip retry for non-transient errors 66f4b1b0d2 OvmfPkg/CI: Revert SMP mode b08a19eae2 .azurepipelines/templates: Increase run to shell timeout e9e6167123 PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe: PcdRtcDefaultYear bounds 6f0c65cdb0 RedfishPkg/RedfishPlatformCredentialIpmiLib: IPMI implementation 53eb26b238 MdePkg: Update MemoryAttributesTable to v2.10 3b4d1b38ea ArmVirtPkg/ArmPlatformLibQemu: Make IdMap.S BTI compatible e701a4d51e ArmPlatformPkg/PrePeiCore: Make vector table object BTI compatible f484427d10 ArmPkg, BaseTools AARCH64: Add BTI ELF note to .hii objects 77ea6b547e ArmPkg/GccLto AARCH64: Add BTI note to LTO helper library 48d642a310 ArmPkg: Emit BTI opcodes when BTI codegen is enabled f8b1854b92 MdePkg/BaseRngLib AARCH64: Make asm files BTI compatible 35318c2eb9 MdePkg/BaseSynchronizationLib AARCH64: Make asm files BTI compatible 0ee255f50a MdePkg/BaseMemoryLibOptDxe AARCH64: Make asm files BTI compatible c4c7fb2174 MdePkg/BaseLib AARCH64: Make asm files BTI compatible e504b3917e MdePkg/BaseLib AARCH64: Make LongJump() BTI compatible ea1312a5b4 MdePkg/BaseIoLibIntrinsic AARCH64: Make asm files BTI compatible c5cd360277 MdePkg/BaseCpuLib AARCH64: Make asm files BTI compatible 6521e4d202 MdePkg/ProcessorBind AARCH64: Add asm macro to emit GNU BTI note e3e88d90e8 UefiPayloadPkg: Support more input parameter f92a9dce10 OvmfPkg/CI: Boot OVMF in SMP mode. 6f415f8af4 ArmVirtPkg: Fix depex in kvmtool guest Rtc library 47b1d61169 ArmVirtPkg: Fix parsing of serial port node cc6a0cff99 DynamicTablesPkg: Fix parsing of serial port node 31f0af7964 DynamicTablesPkg: Reduce log output from TableHelperLib b697a31a8d OvmfPkg: Use Xcode5 version of CpuExceptionHandlerLib for CLANGDWARF 8f8e4fa3f3 OvmfPkg: Replace static struct initialization with ZeroMem call e3aba976f6 RedfishPkg: fix config handler driver issues 0cd7542a69 RedfishPkg: Redfish discover driver improvement c2abf77116 RedfishPkg/JsonLib: address coverity issue 5eb3d1bcc1 ArmVirtPkg: can't find gUefiOvmfPkgTokenSpaceGuid 07e17188df ArmPkg/SmbiosMiscDxe: Adjust the priority of getting firmware version e4b3fd905a OvmfPkg/PlatformInitLib: simplify mtrr setup 82c1aa87f9 OvmfPkg/PlatformInitLib: move mmconfig to 0xe0000000 5eab38ad03 OvmfPkg/PlatformInitLib: update address space layout comment 71fd87e98a OvmfPkg/RiscVVirt: Support multiple reserved memory ranges 144028626e SecurityPkg/FvReportPei: Use FirmwareVolumeShadowPpi c8e631588b MdeModulePkg/Include/Ppi: Add FirmwareVolumeShadowPpi 2bc8545883 UefiCpuPkg/CpuPageTableLib: Reduce the number of random tests aea5930c40 UefiCpuPkg/CpuPageTableLib: Add RandomTest for PAE paging aad9a30144 UefiCpuPkg/CpuPageTableLib: Enable PAE paging 878cbd871d UefiCpuPkg: Combine branch for non-present and leaf ParentEntry f7686f2727 UefiCpuPkg/CpuPageTableLib: Add check for page table creation aa3153b872 UefiCpuPkg: Modify UnitTest code since tested API is changed 2e01a5c128 UefiCpuPkg: Fix IA32 build failure in CpuPageTableLib.inf 8727cc9a8e UefiCpuPkg/CpuPageTableLib: Modify RandomTest to check IsModified c8c6cf149d UefiCpuPkg/CpuPageTableLib: Add OUTPUT IsModified parameter. 3b2661d247 UefiCpuPkg/CpuPageTableLib: Enable non-1:1 mapping in random test cecf279c32 UefiCpuPkg/CpuPageTableLib:Modify RandomTest to check Mask/Attr ecfe6382c1 UefiCpuPkg/CpuPageTableLib: Add LastMapEntry pointer 661a669c81 UefiCpuPkg/CpuPageTableLib:Modify RandomBoolean() in RandomTest 14ef21e559 UefiCpuPkg/CpuPageTableLib: Add manual test to check Mask and Attr a926c6c49e UefiCpuPkg/CpuPageTableLib:Add check for Mask and Attr 96e8676577 UefiCpuPkg/MpInitLib: Add code to initialize MapMask c90cb726f8 UefiCpuPkg/CpuPageTableLib: Fix issue when splitting leaf entry b6b54367c3 UefiCpuPkg/CpuPageTableLib:Clear PageSize bit(Bit7) for non-leaf 4904a2b1ec UefiCpuPkg/CpuPageTableLib: Fix the non-1:1 mapping issue 563a2d2695 UefiCpuPkg/CpuPageTableLib:Initialize some LocalVariable at beginning c18fbd2c31 UefiCpuPkg/CpuPageTableLib: Add check for input Length da3dad181e UefiCpuPkg/CpuPageTableLib: Remove unneeded 'if' condition d55d73152e PcAtChipsetPkg: Add PCD for RTC default year b1db096575 UefiCpuPkg: Solve that stack top address is not mapped in pagetable 1bfc89414d UefiPayloadPkg: Add gUefiAcpiBoardInfoGuid support 69e59545b1 MdePkg/Include: Add IPMI KCS definitions 2c93253c95 MdePkg/Include: Add DMTF MCTP definitions 07fa6d1841 MdePkg/Include/Ppi: Remove Itanium leftover data structure f6bd3286ed IntelFsp2Pkg: Fix NASM X64 build warnings. 1f26a9e62e BaseTools: Replace duplicate __PcdSet prototype with __PcdGet b4e2cf092a BaseTools: Source/C/Common: Fix doc block locations and convert to Doxygen cf6a0a52b0 OvmfPkg/PlatformBootManagerLib: use utf8 for the serial console. 4f441d024b UefiCpuPkg/PiSmmCpuDxeSmm: fix error handling 2e71876081 UefiCpuPkg/PiSmmCpuDxeSmm: drop support for obsolete processors 494127613b SecurityPkg/DxeImageVerificationLib: Check result of GetEfiGlobalVariable2 b7a8264ae4 RedfishPkg: Update Readme.md f077bff840 RedfishPkg: Update Redfish DSC f8fb208a3e RedfishPkg/Library: Redfish BMC USBNIC Host Interface b17a3a133b MdePkg: Update code to be more C11 compliant by using __func__ d6107c593b MdePkg: Update Base.h to be compliant with C11 410ca0ff94 CryptoPkg/Library: add -Wno-unused-but-set-variable for openssl 0e57170097 MdeModulePkg/BmBoot: Skip removable media if it is not present 16e0969ef7 ArmVirtPkg/ArmVirtQemu: Use PEI flavor of ArmMmuLib for all PEIMs b05523a4e9 ArmPkg/ArmMmuLib: Introduce region types for RO/XP WB cached memory 852227a9d5 ArmPkg/Mmu: Remove handling of NONSECURE memory regions 1c4dfadb46 ArmPkg/CpuDxe: Implement EFI memory attributes protocol b977956a6c MdePkg: Add Memory Attribute Protocol definition f4a6f63999 ArmPkg/CpuDxe: Expose unified region-to-EFI attribute conversion ae2c904c3d ArmPkg/ArmMmuLib: Avoid splitting block entries if possible f07a9df9af ArmVirtPkg: Enable stack guard 6b821be140 ArmPkg/ArmMmuLib: Implement EFI_MEMORY_RP using access flag 041c7a31c2 ArmPkg/ArmMmuLib ARM: Clear individual permission bits 28dce5b130 ArmPkg/ArmMmuLib ARM: Isolate the access flag from AP mask 699372d388 ArmPkg/CpuDxe ARM: Fix page-to-section attribute conversion 3b76284883 ArmPkg/ArmMmuLib ARM: Split off XN page descriptor bit from type field 82ccaaf8e7 ArmPkg/ArmMmuLib ARM: Remove half baked large page support 997c6967b0 MdePkg/BaseCacheMaintenanceLib: RISC-V: Fix InvalidateInstructionCacheRange 7cfe9048e3 OvmfPkg/PlatformCI: Add CI coverage for RiscVVirtQemu 961792c9d6 UefiPayloadPkg: Correct MAX_LOGICAL_PROCESSORS value a1386bb252 UefiCpuPkg/PiSmmCpuDxeSmm: Fix S3 failure in SmmRestoreCpu e4c1d8d231 ShellPkg/Library: Fix 32-bit truncation of pointer values d2bfe28966 BaseTools: Extend fields for module_report.json 4ad7ea9c84 BaseTools: Generate compile information in build report 9b94ebb0c8 DynamicTablesPkg: Add SMBIOS String table helper library a4c9c2b0f0 UefiPayloadPkg: Remove UefiCpuLib from module INFs. c20408163f UefiCpuPkg: Remove UefiCpuLib from module INFs. 16bd7aa076 SourceLevelDebugPkg: Remove UefiCpuLib from module INFs. 866d3b9fd5 PcAtChipsetPkg: Remove UefiCpuLib from module INFs. cd81e8e030 OvmfPkg: Remove UefiCpuLib from module INFs. fa78edc57e IntelFsp2Pkg: Remove UefiCpuLib from module INFs. b294633c68 MdePkg: Move API and implementation from UefiCpuLib to CpuLib bf0c14a562 OvmfPkg: Add CpuLib to module INFs that depend on UefiCpuLib. fd1820b7ea UefiCpuPkg/MicrocodeMeasurementDxe: Fix exception 4ca4041b0d CryptoPkg/OpensslLib: Upgrade OpenSSL to 1.1.1t 8820767fb3 IntelFsp2Pkg: Fix GCC Compiler warning. a0f9628705 OvmfPkg/SmbiosPlatformDxe: tweak fallback release date 2fccd1f153 ArmPkg/SemihostFs: replace SetMem with ZeroMem 69da506c92 UefiCpuPkg: BaseRiscV64CpuExceptionHandlerLib: clean up 5ad2592ab3 UefiCpuPkg: CpuTimerDxeRiscV64: fix tick duration accounting db0a3087a5 MdeModulePkg: Dxe: add RISCV64 to mMachineTypeInfo 6ceaef4804 MdePkg: BaseCpuLib: Fix RISCV CpuSleep symbol name. 5bd2e5dfe6 MdePkg: BaseLib: don't log in RISCV InternalSwitchStack dc5880d02f MdePkg: BasePeCoffLib: Allow AArch64 and x64 images in ImageFormatSupported 7fa4692636 OvmfPkg: RiscVVirt: add SATA support 75fb0cfc82 SecurityPkg/RngDxe: Conditionally install EFI_RNG_PROTOCOL bfb574db11 SecurityPkg/RngDxe: Correctly update mAvailableAlgoArrayCount aa1cd447b3 UefiCpuPkg: Calculate DisplayFamily correctly f335d91a3b CryptoPkg/BaseCryptLib: avoid using SHA512() 5a6455e04c CryptoPkg/BaseCryptLib: avoid using SHA384() 7fc183df71 CryptoPkg/BaseCryptLib: avoid using SHA256() 437ed29f27 CryptoPkg/BaseCryptLib: avoid using SHA1() c7c2599759 UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm 0d1ad06c27 UefiCpuPkg: Rename AsmRelocateApLoopStart. facf52aeb8 UefiCpuPkg: Put APs in 64 bit mode before handoff to OS. 6bc74286e7 UefiPayloadPkg: Add CpuPageTableLib required by MpInitLib. c6e655743f OvmfPkg: Add CpuPageTableLib required by MpInitLib. e9782e6907 UefiCpuPkg: Allocate contiguous memory for stacks and APs loop. a6f799e7fd UefiCpuPkg: Split the path in RelocateApLoop into two. 0c3f8766b0 UefiCpuPkg: Check AP_SAFE_STACK_SIZE during build time. 46f51898ff MdeModulePkg: Improve formatting of DEBUG messages in UsbBusDxe a1d595fc9c OvmfPkg/SmmCpuFeaturesLib: Check SmBase relocation supported or not f6b86eec5a UefiCpuPkg/SmmCpuFeaturesLib: Skip SMBASE configuration ec07fd0e35 UefiCpuPkg/PiSmmCpuDxeSmm: Consume SMM Base Hob for SmBase info 7b8c5a8eb4 UefiCpuPkg/SmmBaseHob.h: Add SMM Base HOB Data 85c6c14c4c UefiCpuPkg/PiSmmCpuDxeSmm: Replace mIsBsp by mBspApicId check cb4820b6c1 UefiCpuPkg/PiSmmCpuDxeSmm: Fix invalid InitializeMpSyncData call 5a0932b7d4 RedfishPkg/RedfishDebugLib: provide Redfish debug fc14c809cb ShellPkg: Improve "ping" output by adding equals sign after time - Respin the following patches: ovmf-pie.patch ovmf-disable-brotli.patch ovmf-Revert-ArmVirtPkg-make-EFI_LOADER_DATA-non-executabl.patch ovmf-Revert-OvmfPkg-PlatformPei-Update-ReserveEmuVariable.patch - Add public-mipi-sys-t-1.1-edk2.tar.gz - public-mipi-sys-t: https://github.com/MIPI-Alliance/public-mipi-sys-ti - https://github.com/MIPI-Alliance/public-mipi-sys-t/releases/tag/v1.1%2Bedk2 - Unpackage to MdePkg/Library/MipiSysTLib/mipisyst in source code - Upgrade OpenSSL to 1.1.1t - Add openssl-1.1.1t.tar.gz, openssl-1.1.1t.tar.gz.asc - Update openssl.keyring - Add openssl.keyring.README - Update ovmf.spec: Source1: https://www.openssl.org/source/old/1.1.1/openssl-%{openssl_version}.tar.gz Source111: https://www.openssl.org/source/old/1.1.1/openssl-%{openssl_version}.tar.gz.asc - Removed the following workaround patches (bsc#1205978) - Removed ovmf-Revert-OvmfPkg-PlatformInitLib-reorder-PlatformQemuU.patch ovmf-Revert-OvmfPkg-PlatformInitLib-Add-PlatformReservati.patch ovmf-Revert-OvmfPkg-PlatformInitLib-Add-PlatformAddHobCB.patch ovmf-Revert-OvmfPkg-PlatformInitLib-Add-PlatformGetLowMem.patch ovmf-Revert-OvmfPkg-PlatformInitLib-Add-PlatformScanE820-.patch - Respin ovmf-Revert-OvmfPkg-PlatformInitLib-dynamic-mmio-window-s.patch to simplify workaround code. - Because edk2 upstream expert confirmed that the bsc#1205978 is a SUSE specific issue. So we removed some workaround revert patches. And we only keep one respined simple workaround patch until qemu issue be fixed.- Initial riscv64 support * Update descriptors.tar.xz * Enable on TW/16 (riscv64 toolchain not available on 15) - Add ovmf-riscv64-missing-memcpy.patch: fixes undefined memcpy- Add ovmf-Revert-OvmfPkg-PlatformPei-Update-ReserveEmuVariable.patch to revert 58eb8517ad7b56574f8f04b770a59a9cbed796c4 patch to prevent booting hangs when SEV + secure boot. (bsc#1209266)- Removed patches which are merged to edk2-stable202302 (bsc#1209266): - ovmf-tools_def-add-fno-omit-frame-pointer-to-GCC48_-IA32-.patch tools_def: add -fno-omit-frame-pointer to GCC48_{IA32,X64}_CC_FLAGS (bsc#1199597) - 129404f6e4 edk2-stable202302~200 - ovmf-OvmfPkg-PlatformInitLib-Fix-integrity-checking-faile.patch OvmfPkg/PlatformInitLib: Fix integrity checking failed of NvVarStore (bsc#1206078) - ceb52713b0 edk2-stable202302~226- Update to edk2-stable202302 (bsc#1209266) - Features (https://github.com/tianocore/edk2/releases): Add support for RISC-V qemu virt machine Add RPMB related commands and DCB definition for NVMe SecurityBoot - remove self-signed PK requirement in SetupMode SecurityBoot - support Authenticated SetVariable with ContentInfo TDVF Optimization - Enable Separate-Fv in OvmfPkg/IntelTdx TDVF Optimization - Pre-alloc shared memory for TDVF DMA TDVF Optimization - Enable Multi-core based lazy-accept TDVF - Fix Instruction Pointer Incrementation by TD #VE MMIO Handler TDVF - Incorrect implementation in the TDX RTMR implementation TDVF - Incorrect protocol and structure version in the TDX CC measurement TDVF - TdTcg2Dxe lives in the Ovmfpkg instead of the SecurityPkg TDVF - need measurement VMM input ACPI table before register TDVF - need integrate feature in config-B to config-A - Patches (git log --oneline --date-order edk2-stable202211..edk2-stable202302): f80f052277 OvmfPkg/RiscVVirt: Add Stack HOB 1eeca0750a UefiPayloadPkg: remove the change that get platform specific logic bc82574de4 OvmfPkg/RiscVVirt: Fix SCT memory allocation test case failure 2c5961cccf BaseTools/tools_def.template: Update -march parameter for RISC-V 02fcfdce1e BaseTools: Update WindowsVsToolChain plugin 5c551d6d91 Maintainers.txt: Add entry for OvmfPkg/RiscVVirt 92b27c2e6a OvmfPkg/RiscVVirt: Add build files for Qemu Virt platform e1aaef001f OvmfPkg/RiscVVirt: Add SEC module a43a62f9b0 OvmfPkg/RiscVVirt: Add PciCpuIo2Dxe module 6d5ae344cd OvmfPkg/RiscVVirt: Add VirtNorFlashPlatformLib library c126e3588d OvmfPkg/RiscVVirt: Add ResetSystemLib library 6720b8e46f OvmfPkg/RiscVVirt: Add PrePiHobListPointerLib library d78df93863 OvmfPkg/RiscVVirt: Add PlatformBootManagerLib library f13264b340 ArmVirtPkg: Fix up the location of PlatformHasAcpiDtDxe 09cd17b0de ArmVirtPkg/PlatformHasAcpiDtDxe: Move to OvmfPkg a7dec790dc UefiCpuPkg/UefiCpuPkg.ci.yaml: Ignore RISC-V file c27cdc941d UefiCpuPkg: Add CpuDxeRiscV64 module 98fa877efd UefiCpuPkg: Add CpuTimerDxeRiscV64 module 705c3469b5 UefiCpuPkg: Add BaseRiscV64CpuTimerLib library cbac2c74e8 UefiCpuPkg: Add BaseRiscV64CpuExceptionHandlerLib d6017bca19 UefiCpuPkg: Add RISCV_EFI_BOOT_PROTOCOL related definitions 76e956547e MdePkg: Add BaseRiscVSbiLib Library for RISC-V 550f196e82 MdePkg/BaseLib: RISC-V: Add few more helper functions 8aeb405466 MdePkg/Register: Add register definition header files for RISC-V 38da9606f7 MdePkg: Added Call for AfterReadyToBoot Event 419c0aafa6 MdePkg: Add After Ready To Boot Event Definition from UEFI 2.9 77d6772708 MdeModulePkg/Library: PcdAcpiS3Enable set FALSE cause Assert 68c1bedbf2 MdeModulePkg/Variable: Attribute combination should return EFI_UNSUPPORTED 090642db7a MdeModulePkg/EsrtFmpDxe: Support multiple devices with 0 HardwareInstance f9c6b5134e MdeModulePkg/Pci: Display more information of PCIe devices 1b5420e807 OvmfPkg/AmdSevDxe: Close mAcceptAllMemoryEvent f67ec87704 OvmfPkg: Fix SevMemoryAcceptance memory attributes 540522fec0 .devcontainer/devcontainer.json: Add devcontainer file b3f321f2d7 .mergify/config.yml: Remove rebase_fallback attribute (deprecated) 93a21b465b MdePkg: Add NVMe boot partition header definition 069703228c MdePkg: Add RPMB related commands and DCB definition for NVMe 39254d922e RedfishPkg/RedfishRestExDxe: Two PCDs for controlling the requests 289d93b79c StandaloneMmPkg/StandaloneMmMemLib: Change max address computation 173a7a7daa OvmfPkg: Update build.sh to allow building OVMF then running QEMU f6ce1a5cd8 EmulatorPkg/PeiTimerLib: Bug fix in NanoSecondDelay b59e6fdae2 .pytool/Plugin/EccCheck: Add PACKAGES_PATH support 5db84c85c3 MdePkg:IORT header update for IORT Rev E.e spec 96192ba5bd MdeModulePkg: EfiUnacceptedMemoryType is not allowed in AllocatePool 8a763b533b MdeModulePkg: Disambiguate the meaning of PcdDxeIplSwitchToLongMode aef0061ac2 BaseTools: remove useless dependency on libuuid aea8a9c954 RedfishPkg: fix multiple SMBIOS type 42 version issue b98e2113b5 ArmPkg/ArmScmiDxe: Fix the calculation of RequiredArraySize 9d669016d9 OvmfPkg/IntelTdx: Update README ff8485179c SecurityPkg/TdTcg2Dxe: td-guest shall halt when CcMeasurement install fail cc18c503e0 SecurityPkg: don't require PK to be self-signed by default f6e4824533 OvmfPkg: require self-signed PK when secure boot is enabled 566cdfc675 SecurityPkg: limit verification of enrolled PK in setup mode 7c138e4008 EmbeddedPkg/PrePiLib: Drop unused PCD PcdPrePiCpuIoSize 4d37059d8e OvmfPkg: Support Tdx measurement in OvmfPkgX64 1f9bd937b3 OvmfPkg/PlatformPei: Build GuidHob for Tdx measurement 6ea50514c1 OvmfPkg/OvmfPkgX64: Measure TdHob and Configuration FV in SecMain d92db8a086 OvmfPkg/IntelTdx: Add PeiTdxHelperLib 019621d078 OvmfPkg/IntelTdx: Measure TdHob and Configuration FV in SecMain c0984d1ff2 OvmfPkg: Refactor ProcessHobList 852ae4cd80 OvmfPkg: Refactor MeaureFvImage f41acc651f OvmfPkg: Refactor MeasureHobList d59279f8ce OvmfPkg/PeilessStartupLib: Update the define of FV_HANDOFF_TABLE_POINTERS2 d09c1d4b88 OvmfPkg/IntelTdx: Add SecTdxHelperLib d3109e5f18 OvmfPkg/IntelTdx: Add TdxHelperLibNull 6ba931bebf OvmfPkg: Add Tdx measurement data structure in WorkArea 935343cf16 OvmfPkg/AcpiPlatformDxe: Measure ACPI table from QEMU in TDVF 7623b4bf6a MdeModulePkg: ScsiDiskDxe: clean up comment in ScsiDisk.c 13b97736c8 UefiCpuPkg: Fix SMM code hangs when InitPaging 11f0014c0e MdePkg: Label CreateEvent NotifyFunction and NotifyContext optional ae6e470252 MdeModulePkg/Bus/Ata/AhciPei: Fix DEADCODE Coverity issue 558b37b49b ShellPkg/AcpiView: ERST Parser d375273c89 MdeModulePkg: ScsiBusDxe: Refactor DiscoverScsiDevice() bda715bf6d MdePkg: Fix UINT64 and INT64 word length for LoongArch64 2f2fd79fc4 UefiPayloadPkg: Set RTC dynamic PCD to PeiPCDdatabase 3509103132 MdePkg: Added serveral tables to MATD used by LoongArch64 c5ef1f01a1 MdePkg: Add ACPI 6.5 header 620cddb1e0 MdePkg: Add Acpi65.h to IgnoreFiles area c59230bce1 ArmVirtPkg: Remove RealView Debugger lines from ArmVirtPkg.dsc.inc 8c170ad491 ArmPkg: Remove RealView Debugger support 15f98047d2 BaseTools: Remove CYGWIN_NT-5.1-i686 ref from Scripts/PatchCheck.py cdcee3d17b BaseTools: Delete Bin/{CYGWIN_NT-5.1-i686,Darwin-i386} directories 4b384c21ad MdeModulePkg: Correct memory type in PrePiDxeCis.h bb13762548 tools_def: Remove duplicated -Os e7aac7fc13 ArmPkg: implement EFI_MP_SERVICES_PROTOCOL based on PSCI calls d1855afc6e ArmPkg: Add GET_MPIDR_AFFINITY_BITS and MPIDR_MT_BIT to ArmLib.h 0d129ef7c3 OvmfPkg/PlatformPei: SEV-SNP make >=4GB unaccepted 466d8f65e3 OvmfPkg: Implement AcceptAllUnacceptedMemory in AmdSevDxe 26847fb6be OvmfPkg: Introduce the OvmfSevMemoryAcceptance protocol a00e2e5513 OvmfPkg: Add memory acceptance event in AmdSevDxe ca573b8615 ArmVirtPkg/PlatformCI: Perform build test of ArmVirtKvmTool 0eda253317 ArmVirtPkg/PlatformCI: Add CI coverage for ArmVirtQemuKernel ed1806b2c0 ArmVirtPkg/PlatformCI: Enable optional features on Qemu AARCH64 builds 01a06884a1 ArmVirtPkg/PlatformCI: factor out reusable PlatformBuildLib.py 619f077252 ArmVirtPkg/ArmVirtQemu: enlarge initial flash mapping 6c8a08bd8a ArmVirtPkg/PrePi: Ensure timely execution of library constructors d0ff1cae3a CryptoPkg/Library: Reinstate ARM/AARCH64 sections in SmmCryptLib.inf f25ee54763 OvmfPkg: fix BuildResourceDescriptorHob call in PlatformAddHobCB() 37d3eb026a SecurityPkg/AuthVariableLib: Check SHA-256 OID with ContentInfo present 7afef31b2b MdeModulePkg: remove garbage pixels in LaffStd glyphs e96a5734f6 ShellPkg: Export default shell delay as PCD bf5678b580 OvmfPkg/PlatformInitLib: catch QEMU's CPU hotplug reg block regression c3e128a4cd OvmfPkg/PlatformInitLib: factor out PlatformCpuCountBugCheck() 3beb8c9654 OvmfPkg/PlatformCI VS2019: Enable temporary workaround for cpuhp bugfix 51411435d5 EmbeddedPkg: Add back FfsFindSectionData 0826808d4f EmbeddedPkg: Rename FfsFindSectionData as FfsFindSectionDataWithHook 18df11da8c MdeModulePkg: Add IpmiCommandLib ae55e9fca6 MdeModulePkg/IpmiCommandLib: Add NULL instance library bde407db51 MdeModulePkg/Include: Add IpmiCommandLib header file 426efcc374 RedfishPkg/Include: Redfish USB Interface V2 update 663e70851c RedfishPkg/Include: Add Redfish IPMI definitions cabcc6851b MdePkg/IndustryStandard: Update IPMI definitions 998ebe5ca0 OvmfPkg/CcExitLib: Initialize Status in IoExit 5c7a611353 OvmfPkg/BaseMemEncryptTdxLib: Refactor error handle of SetOrClearSharedBit e0dcfb31fb SecurityPkg/TdTcg2Dxe: Extend EFI boot variable to PCR[1] e05132aaa0 OvmfPkg/CcExitLib: Refactor TDX MmioExit c01622057c OvmfPkg/CcExitLib: Move common X86 instruction code to separate file 70d1481b55 OvmfPkg/PeilessStartupLib: Find NCCFV in non-td guest c3f4f5a949 OvmfPkg/IntelTdx: Enable separate-fv in IntelTdx/IntelTdxX64.fdf 066d3c8004 OvmfPkg: Add PCDs/GUID for NCCFV c673216f53 EmbeddedPkg/PrePiLib: Add FFS_CHECK_SECTION_HOOK when finding section 6c1988af76 ShellPkg: Display SMBIOS Type38 fields in smbiosview in formatted view ea382b3b21 CI: use ubuntu-22.04 image (Linux only) 7edf120150 OvmfPkg: CI: use ubuntu-22.04 vm_image (Linux only) 5f8b749c73 EmulatorPkg: CI: use ubuntu-22.04 vm_image (Linux only) 7e88204fe1 ArmVirtPkg: CI: use ubuntu-22.04 vm_image (Linux only) 84cb35232d BaseTools: remove ext_dep files for gcc 5d25638e1b .pytool: CISettings.py: don't add scopes for GCC 7fab007f33 OvmfPkg: CI: Use Fedora 35 container (Linux only) 32c76a8cd4 EmulatorPkg: CI: Use Fedora 35 container (Linux only) 7cddfae1e8 ArmVirtPkg: CI: Use Fedora 35 container (Linux only) ef09160098 CI: Use Fedora 35 container (Linux only) 36d7626a37 CI: Allow running in a container. becff4f473 CI: add ~/.local/bin to PATH (Linux only) 65cc189414 OvmfPkg: CI: use Python version from defaults template 7d62df623f EmulatorPkg: CI: use Python version from defaults template 89ed7e4795 ArmVirtPkg: CI: use Python version from defaults template 3579551734 CI: make Python version configurable 015a001b03 OvmfPkg/PlatformInitLib: reorder PlatformQemuUc32BaseInitialization c0a0b9bc35 OvmfPkg/PlatformInitLib: Add PlatformReservationConflictCB 328076cfdf OvmfPkg/PlatformInitLib: Add PlatformAddHobCB 124b765051 OvmfPkg/PlatformInitLib: Add PlatformGetLowMemoryCB e037530468 OvmfPkg/PlatformInitLib: Add PlatformScanE820 and GetFirstNonAddressCB a107ad0f62 BaseTools/tools_def CLANG38: Suppress unaligned access warning 021930d7c2 BaseTools/tools_def ARM: Make choice for soft float ABI explicit e974064303 BaseTools/tools_def ARM AARCH64: Get rid of ARCHCC and ARCHASM flags 096cd41ce7 BaseTools/tools_def RISCV: Make OpenSBI references RISCV-only d05739a3ff Fix cyclic dependency error on OptionROM build 987cc09c7c ArmVirt: don't use unaligned CopyMem () on NOR flash 47ab397011 MdeModulePkg/XhciPei: Unlinked XhciPei memory block be8d6ef385 MdeModulePkg/Usb: Read a large number of blocks 8147fe090f MdeModulePkg/Xhci: Initial XHCI DCI slot's Context value 7cd55f3009 OvmfPkg/AcpiPlatformDxe: Return error if installing NotifyProtocol failed 66f18fde49 OvmfPkg/AcpiPlatformDxe: Refactor QemuAcpiTableNotifyProtocol 2ef0ff39e5 OvmfPkg/AcpiPlatformDxe: Add log to show the installed tables 165f1e4936 OvmfPkg/AcpiPlatformDxe: Use local variable in QemuFwCfgAcpi.c f81273f7fb OvmfPkg/AcpiPlatformDxe: Use local variable in CloudHvAcpi.c 43b3ca6b7f OvmfPkg/AcpiPlatformDxe: Remove QEMU_ACPI_TABLE_NOTIFY_PROTOCOL ba08910df1 OvmfPkg: fix OvmfTpmSecurityStub.dsc.inc include 9d70d8f20d MdeModulePkg: Notify BeforeExitBootServices in CoreExitBootServices 82b0ee8354 MdePkg: Add EFI_EVENT_BEFORE_EXIT_BOOT_SERVICES_GUID 59aa48bb7d OvmfPkg: Realize EfiMemoryAcceptProtocol in AmdSevDxe e5ec3ba409 OvmfPkg/VirtNorFlashDxe: map flash memory as uncacheable 85fd05ab97 OvmfPkg/PlatformInitLib: fix comment about uncacheable MTRRs fe405f08a0 NetworkPkg: Add WiFi profile sync protocol support ec54ce1f1a ArmVirtPkg/ArmVirtQemu: Avoid early ID map on ThunderX 5ee17c5418 ArmVirtPkg/ArmPlatformLibQemu: Ensure that VFP is on before running C code 717f35a9f2 DynamicTablesPkg: FdtHwInfoParserLib: Fix compatible string 82dd766f25 BaseTools: Reduce the LoongArch64 compiler size 2cc6d4c8ed UefiPayloadPkg: Fix debug print error level hob not save correct 33a3408fbb Revert "UefiCpuPkg: Duplicated AsmRelocateApLoop as AsmRelocateApLoopAmd" ae80fe997d Revert "OvmfPkg: Add CpuPageTableLib required by MpInitLib." 5ef3990735 Revert "UefiPayloadPkg: Add CpuPageTableLib required by MpInitLib." cbcf0cd65e Revert "UefiCpuPkg: Has APs in 64 bit long-mode before booting to OS." d8d829b89d UefiPayloadPkg: Move RTC PCD to dynamic PCD 5386c9e6da Maintainers.txt: Update reviewers for OVMF/Confidential Computing 5654ce1d2c SecurityPkg: Move TdTcg2Dxe from OvmfPkg to SecurityPkg 0aca5901e3 Maintainers.txt: designate Gerd Hoffmann as UefiCpuPkg reviewer 8c2357809e .azurepipelines: Skip CodeCoverage if coverage.xml not found c32e733151 Maintainers.txt: Update NetworkPkg & MM modules Reviewer 9ce09870e7 OvmfPkg/SmmCpuFeaturesLib: drop obsolete API implementation ff379e1b48 UefiCpuPkg/SmmCpuFeaturesLib: drop obsolete API implementation d452feedf2 OvmfPkg: raise DXEFV size to 13 MB in the traditional platform FDFs 12e4043bd6 OvmfPkg/QemuVideoDxe/VbeShim.sh: remove end-of-options delimiter for nasm 992d5451d1 MdeModulePkg/Bus/Pci/XhciDxe: Reset port if status change returns an error 89c5d90003 .azurepipelines: Install code coverage tool 6bb00aa484 BaseTools/Plugin: Add coverage support for Unit Test 3701f105fa UnitTestFrameworkPkg: Add code coverage support for GCC b670700ddf UefiCpuPkg/PiSmmCpuDxeSmm:Fix PF issue caused by smm page table code bbd30066e1 BaseTools: Generate deps for Arm targets 3a872dac7b BaseTools: Use BUILD_CC when checking gcc version in DevicePath c5d68ef6e7 BaseTools: Fix IA32 UINT64 alignment for CLANG toolchains a086f4a63b OvmfPkg: Use NestedInterruptTplLib in nested interrupt handlers a24fbd6061 OvmfPkg: Add library to handle TPL from within nested interrupt handlers 9bf473da4c OvmfPkg: Send EOI before RestoreTPL() in timer interrupt handlers bf65d7ee88 OvmfPkg/PlatformInitLib: pass through reservations from qemu 16acacf24c OvmfPkg: fix PlatformConfig d8d4abdff9 UefiPayloadPkg: Fix boot issue for non-universal payload 538ac013d6 ArmVirtPkg: Remove CcProbeLib from ArmVirtQemu.dsc 8cb4b429a2 OvmfPkg/AcpiPlatformDxe: Check PcdConfidentialComputingGuestAttr ec87305f90 PcAtChipsetPkg: Move RTC PCD to dynamic PCD 129404f6e4 tools_def: add -fno-omit-frame-pointer to GCC48_{IA32,X64}_CC_FLAGS 3e8b7e1055 tools_def: remove GCC_IA32_CC_FLAGS/GCC_X64_CC_FLAGS 62031335bd CryptoPkg: Need to enable crypto functions 72a9386f67 UefiCpuPkg: Simplify the code to set smm page table as RO 0426115b67 UefiCpuPkg: Remove unused API in SmmCpuFeaturesLib.h b822be1a20 UefiCpuPkg/PiSmmCpuDxeSmm: Introduce page table pool mechanism 0b633b1494 OvmfPkg/OvmfXen: Build platform info HOB in XenPlatformPei 451521ccbc OvmfPkg/PlatformInitLib: Implement multi-core accept memory for TDVF c55cf3f795 OvmfPkg: Enable APs to accept memory for TDVF 0547ffbf6d OvmfPkg/Sec: Move TDX APs related nasm code to IntelTdxAPs.nasm 4d8651c2fb OvmfPkg: Add TdxMailboxLibNull in some platform dsc b21fe5a8a6 OvmfPkg/TdxMailboxLib: Add NULL instance of TdxMailboxLib a00b71b009 OvmfPkg/TdxMailboxLib: Delete global variables b2d76fdd42 SecurityPkg: deprecate RpmcLib and VariableKeyLib 3c16e6fb97 UefiPayloadPkg: Fixed that The UPL info section is not aligned at 4-byte a7e722941c MdePkg: Fix typos and spacing in Library/PerformanceLib.h 4bdc41cf17 MdePkg: Fix typo of EFI_INVALID_PARAMETER in Protocol/UsbIo.h ec25e904c7 MdeModulePkg/Bus/Pci/XhciDxe: Check port is compatible before getting PSIV 01c2fb0d22 MdeModulePkg/XhciDxe/Xhci: Don't check for invalid PSIV 3f378450df UefiPayloadPkg: Add CpuPageTableLib required by MpInitLib. 4a86424224 OvmfPkg: Add CpuPageTableLib required by MpInitLib. 73ccde8f6d UefiCpuPkg: Has APs in 64 bit long-mode before booting to OS. 7bda8c6481 UefiCpuPkg: Duplicated AsmRelocateApLoop as AsmRelocateApLoopAmd 6937fc8338 UefiPayloadPkg/SerialPortLib: Enhance multi port behaviour 259e1e0462 EmulatorPkg/RedfishHostInterface: Add NULL function 2846c19da9 RedfishPkg/RedfishHostInterface: Platform Redfish HI notification ceb52713b0 OvmfPkg/PlatformInitLib: Fix integrity checking failed of NvVarStore 560f9bb063 UefiPayloadPkg: Define default values for the DynamicEX PCDs 39ba0f8dfc CryptoPkg: Need to enable crypto functions 5fb3f5723a DynamicTablesPkg: Allow for specified CPU names 05da2d24b0 UefiPayloadPkg: Move bdsdxe.inf from DXEFV to BDSFV 8bd2028f9a MdeModulePkg: Supporting S3 in 64bit PEI 6acf72901a UefiCpuPkg: Supporting S3 in 64bit PEI 4dd7b86556 Maintainers: Update OvmfPkg/IoMmuDxe 47b9521513 OvmfPkg/IoMmuDxe: Add SEV support for reserved shared memory 09f01d4efb OvmfPkg/IoMmuDxe: Rename AmdSevIoMmu to CcIoMmu c4e76d2fba OvmfPkg/IoMmuDxe: Reserve shared memory region for DMA operation 316e6df435 OvmfPkg: Add reference to new build instructions 7a548f3ea9 EmulatorPkg: Add reference to new build instructions 30697b94fd BaseTools: Add reference to new build instructions f70f493d1b ArmVirtPkg: Add reference to new build instructions 0e3e62fc2b .pytool/Readme.md: Add reference to new build instructions e254c71e9e OvmfPkg/AcpiPlatformDxe: Differentiate TDX case for Cloud Hypervisor 57162cb62d OvmfPkg/PlatformInitLib: Transfer GUID Extension HOB e03b0d0672 OvmfPkg/PlatformInitLib: Differentiate TDX case for Cloud Hypervisor 0adc35fccd OvmfPkg/AmdSev/SecretDxe: Allocate secret location as EfiACPIReclaimMemory 3e3f5bb21c OvmfPkg/PlatformPei: Validate SEC's GHCB page 01c0d3c0d5 OvmfPkg/SecTpmMeasurementLib: Fix the mapping error of PCR and RTMR index fb91d6cbd0 OvmfPkg/TdTcg2Dxe: Fix the mapping error between PCR index and MR index 19f7c63ea9 OvmfPkg/TdTcg2Dxe: Fix incorrect protocol and structure version 44fc90eb0e UnitTestFrameworkPkg/UnitTestLib: Print expected Status on ASSERT fail cda98df162 OvmfPkg/QemuFwCfgLib: remove mQemuFwCfgSupported + mQemuFwCfgDmaSupported 81bbc1452c OvmfPkg/QemuFwCfgLib: rewrite fw_cfg probe e59747bd82 OvmfPkg/DebugLibIoPort: use Rom version for PEI f6a196c7eb OvmfPkg/PlatformPei: remove mFeatureControlValue 862614e254 OvmfPkg/PlatformPei: remove mPlatformInfoHob 4bc2c74851 OvmfPkg/PlatformPei: Verification: stop using mPlatformInfoHob 7dbb8a24d1 OvmfPkg/PlatformPei: NoExec: stop using mPlatformInfoHob cc6efda777 OvmfPkg/PlatformPei: MemTypeInfo: stop using mPlatformInfoHob 27874a382c OvmfPkg/PlatformPei: PeiMemory: stop using mPlatformInfoHob 00743d144b OvmfPkg/PlatformPei Q35 SMM helpers: stop using mPlatformInfoHob 9d9d15b42a OvmfPkg/PlatformPei: PeiFv: stop using mPlatformInfoHob 78c373f2a5 OvmfPkg/PlatformPei: AmdSev: stop using mPlatformInfoHob 916825b84f DynamicTablesPkg: SSDT _LPI revision is incorrect d103840cfb MdePkg/UnitTestHostBaseLib: Remove HOST_APPLICATION limitation 1cd902f1f4 UnitTestFrameworkPkg: Modify APIs in UnitTestPersistenceLib e986f4ce96 MdePkg/BaseCpuLib: Remove assembly for CpuFlushTlb 804e8c6566 Maintainers.txt: Change Anthony's github id 592bf33a29 ShellPkg/Shell: Do not set end device path if already end 1fd8d08970 ShellPkg/AcpiView: APMT Parser aa65bb4020 MdePkg/IndustryStandard: add definitions for ACPI APMT 11ce7a2de7 DynamicTablesPkg: Remove duplicated words 5890a18409 MdeModulePkg: SdMmcPciHcDxe: Fix issue that SD1.0 cards can't be recognized a654289439 MdeModulePkg/Ata: Fix command status reporting 4cb94f20b0 OvmfPkg/SmbiosPlatformDxe: use PcdFirmware* 1ef86f1201 mv OvmfPkg: move fdf include snippets to Include/Fdf 5eb973eb62 OvmfPkg: move dsc include snippet for Network support to Include/Dsc 5c25f6c67b OvmfPkg: move dsc and fdf include snippets for TPM support to subdirs 127e2c5315 OvmfPkg: Add INVD case in #VE handler 54d81d06fc MdeModulePkg/DxeCore: Use correct type for alignment mask 8a485e4bb8 EmulatorPkg: Record Argc, Argv and Envp in EmuThunk Ppi 2c284027b2 EmulatorPkg: Remove unnecessary dependency on EmbeddedPkg 22f73b6d2d EmulatorPkg: Add persistent memory in EmuThunkPpi 1c75bf3c21 UefiCpuPkg: Bug fix in 5LPage handling c14c4719f9 UefiCpuPkg: Check SMM Delayed/Blocked AP Count 4e17aba4b5 EmulatorPkg/Win: Unload DLLs before reset 2280af5ff8 UefiCpuPkg/Test: develop UEFI App and dynamic cmd for MP services UT cf3d4508b2 UefiCpuPkg/Test: Move EfiMpServiceProtocol UT in a separate function d9e7f6fe49 MdeModulePkg: Put USB DEBUGs that occur for bulk timeouts under VERBOSE ca33daafc6 RedfishPkg: Remove overlapping private include path in DEC file a639248bd0 UefiPayloadPkg: Support multiple firmware volume 7bee249891 EmulatorPkg/WinHost: Add Reset2 PPI a121165e35 EmulatorPkg/WinHost: XIP for SEC and PEI_CORE d2842bb6ec EmulatorPkg/WinHost: pre-allocate "physical" RAM 735a7496cb RedfishPkg: Fix typos of the .inc filenames 7de1c71dd2 CryptoPkg/BaseCryptLib:time overflow 5d5be45bd1 CryptPkg: Enable CryptoPkg BaseCryptLib ParallelHash for PEI and DXE 47d988387e OvmfPkg/PlatformInitLib: Add check to NvVarStoreFV HeaderLength a1d5723914 UnitTestFrameworkPkg: Library classes private to public a8a78ef194 CryptoPkg/OpensslLib: Upgrade OpenSSL to 1.1.1s beb0f8d483 MdeModulePkg: Disable PciDegrade support for LoongArch64 dd3ba82d31 .github/ISSUE_TEMPLATE/config.yml: Add initial issue template 8aff08c817 EmbeddedPkg/MetronomeDxe: Update outdated lower bound comment b92e049522 BaseSynchronizationLib: Fix RISC-V helper name c8c978d328 ShellPkg/DpDynamicCommand: Add ResetEnd support in DP command ae3bc559f9 .github/dependabot.yml: Enable dependabot d992163da6 ShellPkg/SmbiosView: Update ProcessorUpgradeTable 85d805ed32 UefiPayloadPkg: The UPL info section is not aligned at 4-byte boundary 6ae2b6648e ArmPkg/ArmTrngLib: Remove ASSERTs in ArmTrngLibConstructor() - Removed patches which are merged to mainline: - ovmf-tools_def-add-fno-omit-frame-pointer-to-GCC48_-IA32-.patch tools_def: add -fno-omit-frame-pointer to GCC48_{IA32,X64}_CC_FLAGS (bsc#1199597) - 129404f6e4 edk2-stable202302~200 - ovmf-OvmfPkg-PlatformInitLib-Fix-integrity-checking-faile.patch OvmfPkg/PlatformInitLib: Fix integrity checking failed of NvVarStore (bsc#1206078) - ceb52713b0 edk2-stable202302~226 - Add the following revert patches to avoid Page-Fault exception when booting with edk2-stable202302 ovmf. (bsc#1205978) ovmf-Revert-OvmfPkg-PlatformInitLib-reorder-PlatformQemuU.patch ovmf-Revert-OvmfPkg-PlatformInitLib-Add-PlatformReservati.patch ovmf-Revert-OvmfPkg-PlatformInitLib-Add-PlatformAddHobCB.patch ovmf-Revert-OvmfPkg-PlatformInitLib-Add-PlatformGetLowMem.patch ovmf-Revert-OvmfPkg-PlatformInitLib-Add-PlatformScanE820-.patch ovmf-Revert-OvmfPkg-PlatformInitLib-dynamic-mmio-window-s.patch - This is for workaround problem temporary. (bsc#1205978) - Removed the following revert patches because they are not work for edk2-stable202302. Those revert patches causes ovmf falls in unlimited boot loops. Because we do not have plan to upgrade ovmf of 15.4. So let's removed them: [#] nasm-2.14 doesn't support corresponding instructions. ovmf-Revert-MdePkg-Remove-the-macro-definitions-regarding.patch ovmf-Revert-UefiCpuPkg-Replace-Opcode-with-the-correspond.patch ovmf-Revert-SourceLevelDebugPkg-Replace-Opcode-with-the-c.patch ovmf-Revert-MdePkg-Replace-Opcode-with-the-corresponding-.patch ovmf-Revert-MdeModulePkg-Replace-Opcode-with-the-correspo.patch - Respin the following patches: - ovmf-gdb-symbols.patch - ovmf-disable-ia32-firmware-piepic.patch - fix-aarch64.patch - ovmf-Revert-OvmfPkg-OvmfXen-Set-PcdFSBClock.patch - Rename fix-aarch64.patch to ovmf-Revert-ArmVirtPkg-make-EFI_LOADER_DATA-non-executabl.patch It's express purpose more clearly. (bsc#1207095) - modified ovmf-build-funcs.sh, add the following qmeu paramter: - fw_cfg name=opt/org.tianocore/X-Cpuhp-Bugcheck-Override,string=yes It can disable the checking of CPU hotplug register block misbehaves in qemu. Qemu needs dab30fbef38 patch, otherwise that ovmf will hang when booting and show a message to indicate qemu bug. (bsc#1209266)- Add ovmf-Revert-OvmfPkg-OvmfXen-Set-PcdFSBClock.patch to revert 71cdb91f313380152d7bf38cfeebe76f5b2d39ac patch (bsc#1205613) - 71cdb91f313380152d7bf38cfeebe76f5b2d39ac OvmfPkg/OvmfXen: Set PcdFSBClock - We are waiting better upsteam patch, revert the issue patch first. Then PcdFSBClock will back to fixed variable. - Reference: https://edk2.groups.io/g/devel/topic/94891128#96077 https://bugzilla.tianocore.org/show_bug.cgi?id=4340- Add fix-aarch64.patch: this fixes https://bugzilla.suse.com/show_bug.cgi?id=1207095- Add ovmf-OvmfPkg-PlatformInitLib-Fix-integrity-checking-faile.patch to avoid "NvVarStore Variable header State was invalid" issue when rebooting or booting second time. System hangs when booting. (bsc#1206078) The error message in ovmf log: Select Item: 0x19 Select Item: 0x25 Reserved variable store memory: 0x7FF7C000; size: 528kb NvVarStore Variable header State was invalid. ASSERT /home/abuild/rpmbuild/BUILD/edk2-edk2-stable202211/OvmfPkg/Library/PlatformInitLib/Platform.c(807): ((BOOLEAN)(0==1))- Add ovmf-Revert-OvmfPkg-PlatformInitLib-dynamic-mmio-window-s.patch to avoid Page-Fault exception when booting with edk2-stable202211 ovmf. (bsc#1205978) - This is a revert patch for workaround problem temporary.- In the PFLASH_CODE in ovmf-build-funcs.sh, Use readonly=on instead of readonly becuase we got the following message when building ovmf on SLE15-SP3/SP4 code base: [ 981s] qemu-system-x86_64: -drive if=pflash,format=raw,unit=0,readonly,file=ovmf-x86_64-ms-code.bin: warning: short-form boolean option 'readonly' deprecated [ 981s] Please use readonly=on instead [ 981s] char device redirected to /dev/pts/0 (label charserial1)- Update to edk2-stable202211 (jsc#PED-1410) - Features (https://github.com/tianocore/edk2/releases): CryptoPkg remove EC PCD and merge optimized openssl libs Add GoogleTest unit test support to UnitTestFrameworkPkg Add Raw algorithm support using Arm FW-TRNG interface TDVF Lazy Accept in OvmfPkg Debug code to audit BIOS TPM extend operations Add a new feature to enable LoongArch prot for EDKII CryptoPkg: Need to add additional cipher algos and TLS API to meet WPA3 IntelFsp2(Wrapper)Pkg: Support FSP 2.4 MultiPhaseInit CryptoPkg: Need to support EC and BN API due to WPA3 feature Add PCI_DEVICE_PPI support for NvmExpressPei - Patches (git log --oneline --date-order edk2-stable202208..edk2-stable202211): fff6d81270 pip-requirements.txt: Update to edk2-pytool-extensions 0.20.0 2ddc8e1b67 pip-requirements.txt: Update to edk2-pytool-library 0.12.1 93629f2c7c ArmPkg/ArmTrngLib: Remove ASSERT in GetArmTrngVersion() 0cb30c3f5e Maintainers: Update the VmgExitLib to CcExitLib 765ba5bf05 OvmfPkg/UefiCpuPkg: Add CcExit prefix to the APIs of CcExitLib a89f558d3c OvmfPkg/UefiCpuPkg/UefiPayloadPkg: Rename VmgExitLib to CcExitLib b9e702c3c9 UefiCpuPkg/ResetVector:Add Option to reserve 4K region at 4GB 6d55ad9a59 MdePkg/Test: Add port of BaseSafeIntLib unit tests to GoogleTest 31377aba8f BaseTools/Plugin/HostBaseUnitTestRunner: Enable gtest xml output 80f097711b .pytool: Add googletest submodule to CISettings.py d4586fe3ae UnitTestFrameworkPkg/Library/CmockaLib: Generate symbol information cef0c5c684 UnitTestFrameworkPkg: Add googletest submodule and GoogleTestLib c1b073a9dc MdePkg/Include/Library: Undefine _ASSERT() if already defined 933b4c333c MdePkg/Include: Update Base.h to improve C++ compatibility 3182843f3b IntelFsp2Pkg: Improvement of supporting null UPD pointer in FSP-T c8fb724046 ArmPkg/ArmTrngLib: Fix incorrect GUID reference in DEBUG() output 3b1f3414f2 .github/workflows: Update CodeQL to install Python 3.10.6 c17c3c24d8 ShellPkg:Improved Smbios Type9 data under smbiosview 342813a3f7 pip-requirements.txt: Update edk2-pytool-library to 0.12.0 b0fd309719 edk2.qls: Allow error severity results and add new queries 179efe5d69 BaseTools: Fix wrong type of arguments to formatting functions 0be81a4d83 BaseTools/Source/C: Use /Z7 instead of /Zi for host tools 6032b46dce PrmPkg/PrmSsdtInstallDxe: Update PRMT Device CID to PNP0C02. 6c1a4a376e .github: Add initial CodeQL config and workflow files c7aecf2a4f Maintainers.txt: Add .github maintainers and reviewers 50bee4cc12 CryptoPkg: Sha1 functions causing build errors 239bcf7805 PrmPkg: Use UnitTestFrameworkPkg UEFI BS library 6e8b0b6913 UnitTestFrameworkPkg: Add UnitTestUefiBootServicesTableLib 82e70d9ac0 CryptoPkg/Readme.md: typo and grammar fixes 35043a5ec0 MdePkg/BaseLib: Fix out-of-bounds reads in SafeString b556f2445c ArmVirtPkg: Kvmtool: Add RNG support using Arm TRNG interface 9eb5ccda50 SecurityPkg/RngDxe: Add Arm support of RngDxe ff29cdb968 SecurityPkg/RngDxe: Rename AArch64/RngDxe.c 6cdddccf00 SecurityPkg/RngDxe: Add debug warning for NULL PcdCpuRngSupportedAlgorithm 863fe9e191 SecurityPkg/RngDxe: Add AArch64 RawAlgorithm support through ArmTrngLib 4b3e9d80be SecurityPkg/RngDxe: Check before advertising Cpu Rng algo 199031b2b0 SecurityPkg/RngDxe: Documentation/include/parameter cleanup 922bf317f1 SecurityPkg/RngDxe: Remove ArchGetSupportedRngAlgorithms() aade3b93fe SecurityPkg/RngDxe: Replace Pcd with Sp80090Ctr256Guid 8a89747844 SecurityPkg/RngDxe: Rename RdRandGenerateEntropy to generic name e00ec499c5 ArmPkg/ArmTrngLib: Add Arm TRNG library 351fe77666 ArmPkg: Add FID definitions for Arm TRNG ef4cf3d88d MdePkg/ArmTrngLib: Add NULL instance of Arm TRNG Library cbce5a1a93 MdePkg/ArmTrngLib: Definition for Arm TRNG library class interface 3d480a93de ArmPkg/ArmHvcLibNull: Add NULL instance of ArmHvcLib 9d8ed9c8ee ArmPkg: Sort HVC/SMC section alphbetically in ArmPkg.dsc aa0f522471 ArmPkg/ArmMonitorLib: Add ArmMonitorLib 9a50990cdb ArmPkg/ArmMonitorLib: Definition for ArmMonitorLib library class dcf8c79056 ArmPkg: PCD to select conduit for monitor calls cc650a0378 ArmPlatformPkg: Retire NorFlashDxe driver eff44c008d OvmfPkg/VmgExitLig: HALT on #VE when access to private memory 2695e49219 UefiPayloadPkg: Boot mode in PHIT HOB will not be updated ee3da09bb2 MdeModulePkg/Ufs :Coverity scan flags multiple issues in edk2-stable202205 eae9e51d98 MdeModulePkg/scsi :Coverity scan flags multiple issues in edk2-stable202205 b84f32ae5b IntelFsp2Pkg: FSP should support input UPD as NULL. cab1f02565 MdeModulePkg/PiSmmCore: SmmEntryPoint underflow (CVE-2021-38578) c46204e25f IntelFsp2Pkg: Update Function header to support IA32/X64. 957a15adaf UefiCpuPkg/SmmCpuFeaturesLib: Clean up header file inclusion in SmmStm.c ae62a6e44d UefiCpuPkg/SmmCpuFeaturesLib: Abstract arch dependent code ed8bfada03 UefiCpuPkg/SmmCpuFeaturesLib: Rename the common C file 8487ec0ee7 CryptoPkg/Test: Simplify BaseCryptLib host based unit tests b5dbf8267b pip-requirements.txt: Bump pytool extensions and library 85dba961c7 UnitTestFrameworkPkg: Support FILE_GUID override in host based unit tests 720c25ab41 OvmfPkg: Call gEdkiiMemoryAcceptProtocolGuid to accept pages 7dcc2f3870 OvmfPkg: Realize EdkiiMemoryAcceptProtocol in TdxDxe 2af33db365 MdePkg: The prototype definition of EdkiiMemoryAcceptProtocol d1e41c620f OvmfPkg: Introduce lazy accept in PlatformInitLib and PlatformPei 6ca9f410d1 ShellPkg: Update shell command memmap to show unaccepted memory 43e306806e MdeModulePkg: Update Dxe to handle unaccepted memory type 502c01c502 MdePkg: Add UEFI Unaccepted memory definition 9b648112a5 OvmfPkg: Use BZ3937_EFI_RESOURCE_MEMORY_UNACCEPTED defined in MdeModulePkg 32c5a470ad MdePkg: Increase EFI_RESOURCE_MAX_MEMORY_TYPE 00bbb1e584 MdeModulePkg: Add PrePiHob.h df7ce74e6c RedfishPkg/RedfishDiscoverDxe: Fix memory free issue 66772bc852 Maintainers.txt: Add 'Pierre Gondois' as DynamicTablesPkg reviewer e9a3613ce0 ShellPkg/AcpiView: Update PCCT fields for ACPI 6.5 c9a4df88fd DynamicTablesPkg: Readme.md: Update available tables for generation 1729fb8a82 DynamicTablesPkg/AmlLib: Allow larger AccessSize for Pcc address space 8405b1480f DynamicTablesPkg: Add PCCT Generator dab7bac94c DynamicTablesPkg: Add PCCT related objects a5672d43a6 DynamicTablesPkg: Fix Ssdt PCI generation comments 5acd6489df DynamicTablesPkg: FdtHwInfoParserLib: Remove wrong comment 0bcd3cc06e DynamicTablesPkg: Remove deprecated APIs 2ef32f914a DynamicTablesPkg: Fix wrong/missing fields in CmObjParser a64cc43552 DynamicTablesPkg: Fix GTBlock and GTBlockTimerFrame CmObjParsers 3bcc2e22ef DynamicTablesPkg: Update CmObjParser for MinorRevision 44b7a856f0 DynamicTablesPkg: Update CmObjParser for IORT Rev E.d 48c6e7dbcd DynamicTablesPkg: Add PrintString to CmObjParser 020891f173 DynamicTablesPkg: Use correct print formatter 52199bf532 MdeModulePkg/ScsiDiskDxe: Update proper device name for ScsiDisk drive d98efb4682 UefiCpuPkg: Restore HpetTimer after CpuExceptionHandlerLib test 99338ef81e ArmVirtPkg/ArmVirtKvmTool: Migrate to OVMF's VirtNorFlashDxe b92298af82 ArmVirtPkg/ArmVirtQemu: migrate to OVMF's VirtNorFlashDxe 789a723285 OvmfPkg/VirtNorFlashDxe: use EFI_MEMORY_WC and drop AlignedCopyMem() 25589c4a76 OvmfPkg/VirtNorFlashDxe: avoid switching between modes in a tight loop ca01e6216a OvmfPkg/VirtNorFlashDxe: avoid array mode switch after each word write 83f11f9572 OvmfPkg/VirtNorFlashDxe: drop block I/O protocol implementation 68d234989b OvmfPkg/VirtNorFlashDxe: remove disk I/O protocol implementation 0a64106c56 OvmfPkg/VirtNorFlashDxe: remove CheckBlockLocked feature c1ff81f799 OvmfPkg/VirtNorFlashDxe: clone ArmPlatformPkg's NOR flash driver 16bf588b60 OvmfPkg: clone NorFlashPlatformLib into VirtNorFlashPlatformLib 115cebbe4d ArmVirtPkg/ArmVirtQemu: Clear XIP flags instead of overriding them b6efc505e4 ArmVirtPkg/ArmVirtQemu: omit PCD PEIM unless TPM support is enabled 7136d5491e ArmVirtPkg/QemuVirtMemInfoLib: use HOB not PCD to record the memory size fead469a3b ArmVirtPkg/ArmVirtQemu: avoid shadowing PEIMs unless necessary 75d2be4a37 ArmVirtPkg/ArmVirtQemu: Drop unused variable PEIM 07be1d34d9 ArmVirtPkg/ArmVirtQemu: enable initial ID map at early boot a26050f74d ArmVirtPkg/ArmVirtQemu: use first 128 MiB as permanent PEI memory 2eff4ddc77 ArmVirtPkg/ArmVirtQemu: implement ArmPlatformLib with static ID map 9ca2dc7bec ArmVirtPkg/ArmVirtQemu: wire up timeout PCD to Timeout variable 2997ae3873 ArmVirtPkg: make EFI_LOADER_DATA non-executable 9e2c88b16e Maintainers.txt: Update maintainers and reviewers for LoongArch64 9670f79937 Maintainers.txt: Update maintainers list 26638d2aa3 IntelFsp2WrapperPkg: Check header revision for MultiPhase support. 7464db4474 MdeModulePkg: Fix spelling error in PciSioSerialDxe 56035d1c8b ArmPlatformPkg/PrePeiCore: Print the firmware version early in boot db2c22633f Ps2KbdCtrller: Make wait for SUCCESS after BAT non-fatal fb493ac84e ArmPlatformPkg/PrePeiCore: permit entry with the MMU enabled b28acb22e0 ArmVirtPkg: do not enable iSCSI driver by default f4213fed34 ArmVirtPkg: remove EbcDxe from all platforms acb2acccfd BaseTools/Tests: Use quotes around PYTHON_COMMAND 4fcd5d2620 CryptoPkg/Library/OpensslLib: update auto-generated files 0882d6a32d CryptoPkg/Library/OpensslLib: Add generated flag to Accel INF d79295b5c5 CryptoPkg/Library/OpensslLib: Update process_files.pl INF generation 3b46a1e243 Revert "CryptoPkg: Update process_files.pl to auto add PCD config option" 244ce33bdd CryptoPkg: Add Readme.md 584b246e88 CryptoPkg: Fixed host-based unit tests 0c9744787e CryptoPkg: Update DSC to improve CI test coverage dfc7c3dc8c CryptoPkg: Remove PcdOpensslEcEnabled from CryptoPkg.dec a57b4c11a5 CryptoPkg/Library/OpensslLib: Remove PrintLib from INF files e75951ca89 CryptoPkg/Library/OpensslLib: Produce consistent set of APIs ea6d859b50 CryptoPkg/Library/OpensslLib: Combine all performance optimized INFs dd00f92b2f CryptoPkg/Library: Cleanup BaseCryptLib and TlsLib 961fadf60c CryptoPkg/Test/UnitTest/Library/BaseCryptLib: Unit test fixes 8f8372439d CryptoPkg/Library/BaseCryptLib: Update internal functions/variables 8437368c69 CryptoPkg/Library/BaseCryptLib: Add missing UNI file and fix format d7d9866ef4 CryptoPkg: Document and disable deprecated crypto services 4d29da411f remove GCC build warning 6fd754ec0f BaseTools: Fixed the multiple pairs brackets issue in GenFv 2355f0c09c BaseTools: Fix check for ${PYTHON_COMMAND} in Tests/GNUmakefile 913a308df9 BaseTools/Scripts/PatchCheck.py: Allow tab in Makefile c6720db5dd MdeModulePkg/XhciDxe: Add boundary check for TRB ring allocation 31b1638468 ArmPkg/ArmMmuLib: Reuse XIP MMU routines when splitting entries 999c53e2ca ArmPkg/ArmMmuLib: permit initial configuration with MMU enabled 0487cac09f ArmPkg/ArmMmuLib: Disable and re-enable MMU only when needed ab644cfac5 ArmPkg/ArmMmuLib: don't replace table entries with block entries 0f6eccdbf7 BaseTools: Add missing spaces for PCD expression values in AutoGenC 1d0ff11526 BaseTools: Correct initialization data size check for array PCDs d23eb3aa99 BaseTools/GenFds: Correct file type set for the PIC section 0a29933ea9 BaseTools: Support COMPAT16 section generation 225810a182 BaseTools: Add support for SUBTYPE_GUID section generation 81aeb94648 BaseTools: Correct BPDG tool error prints 09e74b81ba BaseTools/FMMT: Add Shrink Fv function 0e6db46b1b BaseTools/FMMT: Add Extract FV function b03dceb87f BaseTools: Remove duplicated words in Python tools c4663e7277 pip-requirement: Upgrade the edk2-basetools version from 0.1.29 to 0.1.39 9d6915ca91 UefiCpuPkg/Test: Add unit tests for MP service PPI and Protocol 6f1bb567aa UefiCpuPkg: Add R8/R9 etc in EccCheck ExceptionList 012e424601 UefiCpuPkg: Add Pei/DxeCpuExceptionHandlerLibUnitTest in dsc 055eaacc34 UefiCpuPkg: Add Unit tests for PeiCpuExceptionHandlerLib beabde5875 UefiCpuPkg: Add Unit tests for DxeCpuExceptionHandlerLib b8e54e15de UefiCpuPkg/CpuPageTableLib:Support PAE paging for PageTableParse a7e070808c UefiCpuPkg:Add RegisterExceptionHandler in PeiCpuExceptionHandlerLib d618fe05bf BaseTools: Remove duplicated words in C tools 8fc06b6e19 Fix bug on SRIOV ReservedBusNum when ARI enable. 4aa7e66c06 MdeModulePkg: Fixed extra 1 SR-IOV reserved bus e0200cc47a NetworkPkg: Add LoongArch64 architecture. 2ce4bfb843 MdeModulePkg/DxeIplPeim : LoongArch DxeIPL implementation. 380821a949 MdeModulePkg/CapsuleRuntimeDxe: Add LoongArch64 architecture. dad7fc29d9 MdeModulePkg/Logo: Add LoongArch64 architecture. ced203c3d5 MdePkg/BaseSafeIntLib: Add LoongArch64 architecture for BaseSafeIntLib. 104df6136f MdePkg/BaseSynchronizationLib: LoongArch cache related code. f89815a125 MdePkg/BaseCpuLib: LoongArch Base CPU library implementation. dbbb045ff1 MdePkg/BasePeCoff: Add LoongArch PE/Coff related code. 10d291f746 MdePkg/BaseIoLibIntrinsic: IoLibNoIo for LoongArch architecture. 264e930de0 MdePkg/BaseCacheMaintenanceLib: LoongArch cache maintenance implementation. cd24eb578b MdePkg/BaseLib: BaseLib for LOONGARCH64 architecture. f0a704f9b5 MdePkg/Include: LoongArch definitions. 76bf716a7a MdePkg: Add LoongArch LOONGARCH64 binding b1b5177a0c .pytool: Add LoongArch64 architecture on LoongArch64 EDK2 CI. ab9768cd46 .azurepipelines: Add LoongArch64 architecture on LoongArch64 EDK2 CI. bcdafe1179 BaseTools: Enable LoongArch64 architecture for LoongArch64 EDK2 CI. 114e6075b6 BaseTools: Add LoongArch64 binding. c53807cb7b BaseTools: Updated build tools to support new LoongArch. cb4f1dfcc1 BaseTools: Updated for GCC5 tool chain for LoongArch platfrom. 1aa311d175 BaseTools: Update GenFw/GenFv to support LoongArch platform. 082b563fc4 .python/SpellCheck: Add "Loongson" and "LOONGARCH" to "words" section 10daf3ee24 MdeModulePkg: Use LockBoxNullLib for LOONGARCH64 23d873f4cf MdePkg/DxeServicesLib: Add LOONGARCH64 architecture 6e1ddbab8d UnitTestFrameworkPkg: Add LOONGARCH64 architecture for EDK2 CI. 78b081334e ShellPkg: Add LOONGARCH64 architecture for EDK2 CI. 711ee4103a SecurityPkg: Add LOONGARCH64 architecture for EDK2 CI. d2c0d52ed6 MdePkg/Include: Add LOONGARCH related definitions EDK2 CI. c5f4b4fd03 CryptoPkg: Add LOONGARCH64 architecture for EDK2 CI. ee2ea7868a NetworkPkg/HttpBootDxe: Add LOONGARCH64 architecture for EDK2 CI. ad8f2b7251 NetworkPkg: Add LOONGARCH64 architecture for EDK2 CI. 2067672ded FmpDevicePkg: Add LOONGARCH64 architecture for EDK2 CI. d8c073c89b FatPkg: Add LOONGARCH64 architecture for EDK2 CI. e25963d458 MdePkg: Added LoongArch jump buffer register definition to MdePkg.ci.yaml 0371178d0b MdePkg: Added file of DebugSupport.h to MdePkg.ci.yaml 5bd2dbc698 UefiPayloadPkg: Remove deprecate Crypto Service e7d7f02c8e CryptoPkg: add Unit Test for X509 new function. 22745df666 CryptoPkg: add new X509 function to Crypto Service. 8ecae3d641 CryptoPkg: add new X509 function. 190f77f8f4 CryptoPkg: add new X509 function definition. 0371032289 CryptoPkg: add unit test for EC key interface. 69a50a249b CryptoPkg: Add EC key interface to DXE and protocol f21a1d48fe CryptoPkg: Add EC key retrieving and signature interface. f80580f56b OvmfPkg/VirtioNetDxe: Check ChildHandle argument in GetControllerName 8db4e9f9a0 CryptoPkg: Add new Tls APIs to DXE and protocol bb78d969b7 CryptoPkg: Extend Tls function library cafc573ac0 MdePkg: Add Tls configuration related define 3c9e2f239a CryptoPkg: Fix integer overflow de103f1981 MdeModulePkg: Handle InitialVFs=0 case for SR-IOV 4364d66168 UefiCpuPkg: Reset a parameter when BSP Exit in CPU relaxed mode. a670f12a74 UefiCpuPkg/CpuExceptionHandlerLib: Code optimization to allow bigger stack 406ad0582a OvmfPkg: rename QemuBootOrderNNNN to VMMBootOrderNNNN 3361336607 Revert "OvmfPkg/Microvm: no secure boot" 8916a4f67f OvmfPkg/Microvm: add SECURE_BOOT_FEATURE_ENABLED 9e6b552b4c OvmfPkg/PciHotPlugInitDxe: reserve more mmio space ecb778d0ac OvmfPkg/PlatformInitLib: dynamic mmio window size bbda386d25 OvmfPkg/PlatformInitLib: detect physical address space 8f9ef9c9a0 OvmfPkg/PlatformInitLib: qemu cpuid physbits detection 5ff7d712d4 MdeModulePkg/UefiBootManagerLib: Add Disk Info support for Ufs 710f83b79d .azurepipelines: Add SourceLevelDebugPkg to CI cf01fdd5d7 SourceLevelDebugPkg: Add package CI YAML file d6d4a81f8a SourceLevelDebugPkg: Fix spelling errors 1bd2ff1866 IntelFsp2WrapperPkg: Remove CI exception of PlatformMultiPhaseLib. f054beec54 IntelFsp2WrapperPkg: Add header for PlatformMultiPhaseLib. f931506815 .azurepipelines: Add SignedCapsulePkg to CI b3d379d188 SignedCapsulePkg: Add package CI YAML file 769879e2a6 .azurepipelines: Add IntelFsp2Pkg and IntelFsp2WrapperPkg to CI 9ecab62d40 IntelFsp2WrapperPkg: Add CI YAML file 7c424c28b0 IntelFsp2WrapperPkg: Fix code formatting errors 28b16c01cf IntelFsp2Pkg: Add CI YAML file a62bd922aa IntelFsp2Pkg/BaseFspMultiPhaseLib: Replace duplicate GUID 629709a51d IntelFsp2Pkg: Fix code formatting errors 12973359d0 EmbeddedPkg: Only run in CI for GCC5 43c1111530 EmbeddedPkg: Add CI YAML file 51e0599536 EmbeddedPkg/AcpiLib: Fix code formatting errors f01d3ee12c BaseTools/VolInfo: Update file and section type strings b6d324e06b BaseTools/VolInfo: Update copyright information 4e1133b946 BaseTools/VolInfo: Parse apriori files c24328ca62 BaseTools/VolInfo: Increase GUID base name string 8be33c6544 BaseTools/VolInfo: Fix EFI_SECTION_GUID_DEFINED parsing 9fc029ee62 BaseTools/VolInfo: Correct buffer for GenCrc32 tool 6a2b20ff97 MdeModulePkg/NonDiscoverablePciDeviceDxe: Allow partial FreeBuffer 7aa06237b8 SecurityPkg: Remove enforcement of final GoIdle transition for CRB commands b7213bbd59 OvmfPkg/QemuBootOrderLib: skip unsupported entries in StoreQemuBootOrder d63242bd69 OvmfPkg/QemuBootOrderLib: allow slash in rom filenames 2a0bd3bffc OvmfPkg/PlatformInitLib: q35 mtrr setup fix 3c0d567c37 UefiPayloadPkg: Provide a wrapper for UniversalPayloadBuild.py f4d539007c OvmfPkg/PeilessStartupLib: move mPageTablePool to stack b3dd9cb836 MdeModulePkg/XhciDxe: Input context update for Evaluate Context command 96f3efbd99 IntelFsp2WrapperPkg: Implement FSP 2.4 MultiPhase wrapper handlers. d97ee3244d CryptoPkg/Test: Add unit test for CryptoEc 2157a23a86 CryptoPkg: Add ECC related usage reference 3b382f5b38 CryptoPkg: Add EC APIs to DXE and protocol 988e4d8f5e CryptoPkg: Add EC support 0e7aa6bf9e CryptoPkg: Fix pem heap-buffer-overflow due to BIO_snprintf() 582a7c9995 CryptoPkg: Add missing library mappings to DSC file ef9974b298 EmbeddedPkg/PrePi: Check for enough space before aligning heap pointer 2500ce1011 DynamicTablesPkg: SSDT CPU _CPC generator 58350c0055 DynamicTablesPkg: AML Code generation to add _CPC entries 09c90532e7 DynamicTablesPkg: Add CM_ARM_CPC_INFO object 953438e466 ArmPkg/SmbiosMiscDxe: Get SMBIOS information from OemMiscLib e5eb0e3347 ArmPkg/SmbiosMiscDxe: Remove redundant updates in SMBIOS Type 2 7d74ea141e ArmPkg/SmbiosMiscDxe: Fix typo of "AssetTagType02" 130b649a8b ArmPkg/SmbiosMiscDxe: Support fetching System UUID 11b5093ce4 ArmPkg: Correct return value of "SMCCC_ARCH_SOC_ID" Function ID call 8467a263f9 ArmPkg/ProcessorSubClassDxe: Get processor version from OemMiscLib a8e8c43a0e CryptoPkg/OpensslLib: Update generated files for native X64 4102950a21 CryptoPkg/OpensslLib: Commit the auto-generated assembly files for IA32 03f708090b CryptoPkg/OpensslLib: Add native instruction support for IA32 0c9d4ad788 CryptoPkg/Test: Add unit test for CryptoBn 42951543dd CryptoPkg: Add BigNum API to DXE and protocol fd0ad0c346 CryptoPkg: Add BigNum support 5f403cdc6a CryptoPkg: add UnitTest for AeadAesGcm. 022787f806 CryptoPkg: add AeadAesGcm to Crypto Service. a23f76e184 CryptoPkg: add AeadAesGcm support. acbc5747bc CryptoPkg: add AeadAesGcm function() definition. b19793a2ec CryptoPkg: add Hkdf UnitTest. e919c390e8 CryptoPkg: add new Hkdf api to Crypto Service. 11b24ef0d7 CryptoPkg: add new Hkdf api in Crypt Lib. 1336476233 CryptoPkg: add new Hkdf api definition in Crypt Lib. f3c69cb5a1 CryptoPkg: add Hmac Sha384 to host UnitTest. 3f77ccb9c8 CryptoPkg: Add new hmac SHA api to Crypto Service. cbb3b6b950 CryptoPkg: Update CryptLib inf as the file name changed. 0b1a1bdc30 CryptoPkg: Add HMAC-SHA384 cipher support. 7bb42e3249 CryptoPkg: Add new hmac definition to cryptlib 238f5f9544 RedfishPkg/JsonLib: Fix JsonLib build failure 6f340acfb1 CryptoPkg/BaseCryptLib:Remove redundant init dd1e20b3c2 nasm_ext_dep.yaml: Remove leading zero in patch version 62f00dad22 BaseTools: Edk2ToolsBuild: Fixing pipeline build due to path too long 2c17d676e4 Maintainers.txt: Update email address 415fc406d6 UefiPayloadPkg/PayloadLoaderPeim: remove GCC build warning 3184e44df1 Maintainers.txt: Update maintainers/reviewers for CI and Test f46c7d1e36 IntelFsp2Pkg: Fix FspSecCoreI build failure. 981bf66d5a IntelFsp2Pkg: NvsBufferPtr is missing in Fsp24ApiEntryM.nasm 8c92a9508e DynamicTablesPkg: AcpiSsdtPcieLibArm: Allow use of segment number as UID 45297e6c9b BaseTools: 64bit FSP FV map file cannot be created correctly 1dccbd1a38 MdeModulePkg/AhciPei: Fix MMIO base assignment 838c730fe6 MdeModulePkg SmbiosMeasurementDxe: Add Type4 CurrentSpeed to filter table db7afaee91 MdeModulePkg: Use configurable PCD for AHCI command retries 970e262949 OvmfPkg: Allow runtime control of IPv4 and IPv6 support on QEMU d933ec115b OvmfPkg: gather common NetworkComponents overrides in .dsc.inc file 477b5b7d55 OvmfPkg: Introduce alternate UefiDriverEntrypoint to inhibit driver load 34969dd260 ArmPkg, ArmVirtPkg: put SpellCheck in AuditOnly mode cdb80a281f OvmfPkg/LegacyBootManagerLib: Fix debug macro arguments 8fdb4de628 NetworkPkg/TcpDxe: Fix debug macro arguments e8a537d28d DynamicTablesPkg/AcpiPpttLibArm: Fix debug macro arguments e495b1009a SecurityPkg/SmmTcg2PhysicalPresenceLib: Add missing debug print specifier c403de7bd4 RedfishPkg/RedfishRestExDxe: Remove extra debug macro argument 1096a9b04b MdeModulePkg: Fix imbalanced debug macros b4036b52b1 FatPkg/FatPei: Remove extraneous debug message argument 917a7e3f34 ArmPlatformPkg/NorFlashDxe: Remove unused debug print specifier 7b8f69d7e1 BaseTools/GenFw AARCH64: Convert more types of explicit GOT references d82ec90f51 pip-requirement: Upgrade the edk2-basetools version from 0.1.28 to 0.1.29 8465fd59d3 OvmfPkg: Update I/O port related to ACPI devices for CloudHv 54c8d5e432 UefiPayloadPkg: Allow DxeMain.inf to consume the new SerialPortLib 11a04bb4a6 UefiPayloadPkg: Implement a new SerialPortLib instance 512042eba8 OvmfPkg/QemuVideoDxe: fix bochs mode init 314799a926 pip-requirement: Upgrade the edk2-basetools version from 0.1.24 to 0.1.28 3d35a6c243 IntelFsp2Pkg: Adopt FSP 2.4 MultiPhase functions. 5eeb088ad6 OvmfPkg/QemuBootOrderLib: add StoreQemuBootOrder() db463e8e9d CloudHv/arm: switch PeiMemLib to its own dba79765c4 CloudHv/arm: add PeiMemInfoLib 520ba8e306 OvmfPkg/OvmfPkg*.dsc: Increase ACPI Reclaim memory size 18b5b14932 OvmfPkg/IncompatiblePciDeviceSupportDxe: Ignore OptionRom in Sev guest f7da805b50 RedfishPkg/RedfishDiscoverDxe: Install protocol on each network interface 39596c41c8 OvmfPkg: Add build-flag SECURE_BOOT_FEATURE_ENABLED 3abaa281d3 OvmfPkg/TdxDxe: Set PcdEmuVariableNvStoreReserved 70165fa6e2 OvmfPkg/NvVarsFileLib: Shortcut ConnectNvVarsToFileSystem in secure-boot ee91d9ef24 OvmfPkg: Reserve and init EmuVariableNvStore in Pei-less Startup 58eb8517ad OvmfPkg/PlatformPei: Update ReserveEmuVariableNvStore 4f173db8b4 OvmfPkg/PlatformInitLib: Add functions for EmuVariableNvStore 0e72e8762a OvmfPkg/PeilessStartupLib: Delete TdxValidateCfv fb008dbe01 EmbeddedPkg: Add AllocateRuntimePages in PrePiMemoryAllocationLib 7cc7c52670 OvmfPkg: Set default Pci PCDs in Tdx guest 1b1c58ab32 OvmfPkg: Update CcProbeLib to DxeCcProbeLib c4bc1a9498 OvmfPkg: Add SecPeiCcProbeLib c05a218a97 EmbeddedPkg/GdbSerialDebugPortLib: fix compile warning b5d1dc94d0 OvmfPkg: increase max debug message length to 512 1a24f5fb12 OvmfPkg/BhyvePkg: use correct PlatformSecureLib a4037690d9 EmbeddedPkg: Remove duplicated words 05db766bee ArmPkg: Remove duplicated words 1926702c95 ArmPlatformPkg: Remove duplicated words 6dc4ac1347 ArmVirtPkg: Remove duplicated words e87ac5ef49 OvmfPkg: Remove duplicated words 0ccf955674 StandaloneMmPkg: Remove duplicated words 22c45b7c52 ArmPlatformPkg/PrePeiCore: Invoke constructors for SEC phase 52bf4eba45 ArmPkg: Handle warm reboot request correctly aefcc91805 OvmfPkg/PlatformDxe: Handle all requests in ExtractConfig and RouteConfig 165b5bcd68 OvmfPkg/PlatformDxe: Check RouteConfig arguments for spec compliance e61f3f4ef1 OvmfPkg: Add BUILD_SHELL flag for IA32, IA32X64, X64 08522341c4 UefiPayloadPkg: To replace the libraries for the capsule driver. ec87181192 IntelFsp2WrapperPkg: Rename PlatformMultiPhaseLibSample. 6edd257861 IntelFsp2WrapperPkg: Remove duplicated words ac55fcb051 DynamicTablesPkg: Fix typo in AmlCodeGenRdMemory32Fixed doxygen comment 7719bc3f71 DynamicTablesPkg: Fix nested processor containers 0a4079ad86 DynamicTablesPkg: AcpiSsdtPcieLibArm : Add UID to slot creation b9bb27e1ff DynamicTablesPkg: Add support to build _DSD 033ba8bb29 DynamicTablesPkg: AcpiSsdtPcieLibArm: Added function to reserve ECAM space 5236d47854 DynamicTablesPkg: DynamicTableManagerDxe: Added check for installed tables d9c8a9cf11 DynamicTablesPkg: DynamicPlatRepoLib: Adding more token fixers b18c0905ee DynamicTablesPkg: DynamicPlatRepoLib: Fix incorrect dereferencing 2081054636 DynamicTablesPkg: DynamicPlatRepoLib: Added MemoryAllocationLib to inf 9ca7ece8b3 MdeModulePkg/NvmExpressPei: Use PCI_DEVICE_PPI to manage Nvme device 31a94f7fba IntelFsp2WrapperPkg: Add FSP 2.4 MultiPhase interface. df25a5457f IntelFsp2Pkg: Add FSP 2.4 MultiPhase interface. 4b7bd4c591 UefiCpuPkg: Enhance logic in InitializeMpExceptionStackSwitchHandlers 9ab2b34dd4 UefiCpuPkg: Use Top of each AP's stack to save CpuMpData 76cf3d35e6 UefiCpuPkg: Simplify the implementation when separate exception stacks d1abb876f4 UefiCpuPkg/MpInitLib: Simplify logic in SwitchBsp 76ec17526b UefiCpuPkg: Add PCD to control SMRR enable & SmmFeatureControl support 367604b2f4 UefiCpuPkg/MpInitLib: Fix potential issue when IDT table is at above 4G 3c06953fd7 ShellPkg: Adds Local APIC parser to AcpiView 04ecdc38cd UefiCpuPkg/CpuPageTableLib/UnitTest: Add host based unit test 383d34159d .azurepipelines: Use Python 3.10.6+ 227a133a0a Maintainers.txt: Update Maintainers/reviewers for universal payload - Removed patches which are merged to mainline: - ovmf-add-exclude-shell-flag.patch to add BUILD_SHELL flag for IA32, IA32X64, X64 - e61f3f4ef1 edk2-stable202211~354 - Modified shim.spec, use BUILD_SHELL instead of EXCLUDE_SHELL - Remove "-D EXCLUDE_SHELL" from ovmf-x86_64 and ovmf-x86_64-smm. - Add "-D BUILD_SHELL=FALSE" to ovmf-x86_64 and ovmf-x86_64-smm. - ovmf-bsc1199156-OvmfPkg-IncompatiblePciDeviceSupportDxe-Ignore-Optio.patch to ovmf to ignore OptionRom in Sev guest - 18b5b14932 edk2-stable202211~328- Change the size of ovmf-x86_64 back to 2MB, and remove EFI shell to reduce the fv image size. - Originally the reason of changing the size of ovmf-x86_64 to 4MB is for preventing OBS exposes the following error: [ 266s] GenFv: ERROR 3000: Invalid [ 266s] the required fv image size 0x1afed8 exceeds the set fv image size 0x1ac000 The fv image size is too big. But we found that change ovmf-x86_64 to 4MB causes live migration problem on qemu. (bsc#1204220) - So let's change the size of ovmf_x86_64 back to 2MB and remove EFI shell to reduce the fv image size. If user wants to use EFI shell, they should move to ovmf-x86_64-4m image. So we add the "-D EXCLUDE_SHELL" build option to ovmf-x86_64 flavor in ovmf.spec. (bsc#1204220)- Update to edk2-stable202208 (jsc#PED-1410) - Features (https://github.com/tianocore/edk2/releases): Add CRC16 and CRC32C to MdePkg IntelFsp2Pkg/ConfigEditor: Support FSP 2.3 header Extend SecureBootVariableLib interfaces UEFI HTTPS Boot Support for HTTP Client Authentication (Basic or Digest) Support 64bit FspResetType for X64 build IntelFsp2Pkg/FspSecCore: Add FSP-I entry for SMM support Add PCI_DEVICE_PPI definition to EDK2 Support to assign the subject name to sign the capsule file - Patches (git log --oneline --reverse edk2-stable202205..edk2-stable202208): 7f0890776e MdeModulePkg/UniversalPayload: Align Identifier value with UPL spec b4be5f05dd UefiPayloadPkg: Align Identifier value with UPL spec dac2fc8146 UefiPayloadPkg: Align SpecRevision value with UPL spec 3ca7326b37 OvmfPkg/VirtioGpuDxe: replace struct copy with CopyMem call fa2b212d61 IntelFsp2Pkg: Add FSP 2.3 header support 11d8abcba2 IntelFsp2Pkg: FSP_TEMP_RAM_INIT call must follow X64 Calling Convention df1c7e91b4 IntelFsp2WrapperPkg: FSP_TEMP_RAM_INIT call for X64 Calling Convention 62044aa99b OvmfPkg/ResetVector: Removing SEV-ES CPUID bit check 54cd0d9b2f OvmfPkg: Fix TDVMCALL error in ApRunLoop.nasm 64706ef761 OvmfPkg: Search EFI_RESOURCE_MEMORY_UNACCEPTED for Fw hoblist 81ab97b7b9 OvmfPkg/AmdSev: remove unused SMM bits from .dsc and .fdf files 0223898f3e OvmfPkg/Microvm: drop CODE and VARS files b57911c84c OvmfPkg/FdtPciHostBridgeLib: io range is not mandatory 47f44097eb OvmfPkg/Platform: unfix PcdPciExpressBaseAddress ad3bafa7d5 OvmfPkg/Microvm/pcie: no vbeshim please bd10d4e201 OvmfPkg/Microvm/pcie: mPhysMemAddressWidth tweak 632574ced1 OvmfPkg/Microvm/pcie: add pcie support 5c9f151e0c OvmfPkg: CloudHv: Fix FW_BASE_ADDRESS 43f3cfce19 OvmfPkg: Check for QemuFwCfg availability before accessing it 3129ed374c OvmfPkg: CloudHv: Rely on QemuFwCfgLibNull implementation bf25f27e00 OvmfPkg: Don't access A20 gate register on Cloud Hypervisor 72c5afd0b4 Security: Add HashLibTdx b1567b2e15 CryptoPkg: Add SecCryptLib dc443e4437 SecurityPkg: Add definition of EFI_CC_EVENT_HOB_GUID a708536dce OvmfPkg: Introduce SecMeasurementLib 4b0a622635 OvmfPkg/IntelTdx: Measure Td HobList and Configuration FV ac03c339de OvmfPkg: Add PCDs for LAML/LASA field in CC EVENTLOG ACPI table f8264e1303 MdePkg: Define CC Measure EventLog ACPI Table 57a6ee3461 OvmfPkg/IntelTdx: Add TdTcg2Dxe 0a4019ec9d OvmfPkg/IntelTdx: Enable RTMR based measurement and measure boot 0b36dea3f8 BaseTools: Fix dependency issue in PcdValueInit 4f89e4b3e8 .pytool: UncrustifyCheck: Set IgnoreFiles path relative to package path 2818fda9bc Security: Add SecTpmMeasurementLibTdx ff0ffe5999 OvmfPkg: Implement MeasureHobList/MeasureFvImage a81a650da1 OvmfPkg: Delete SecMeasurementLibTdx ff36b2550f OvmfPkg/Sec: fix stack switch 21a9b605b8 CpuException: Avoid allocating code pages for DXE instance 34d505123e CpuException: Init global variables in-place 2fbc5ff0a5 CpuException: Avoid allocating page but using global variables 2a09527ebc CpuException: Remove InitializeCpuInterruptHandlers e7abb94d1f CpuException: Add InitializeSeparateExceptionStacks 54aeed7e00 MpInitLib: Allocate code buffer for PEI phase 76323c3145 MpInitLib: remove unneeded global ASM_PFX b4d7b9d2b5 MpInitLib: Put SEV logic in separate file 283ab9437a MpInitLib: Only allocate below 1MB memory for 16bit code ccc269756f MpInitLib: Move the Above1Mb vector allocation to MpInitLibInitialize f0b97e165e Revert "OvmfPkg/Sec: fix stack switch" b09ada6edc MdePkg: Remove "assert" from SmmCpuRendevousLibNull.c 92288f4334 MdePkg/BaseLib: Add CRC16-ANSI and CRC32c implementations e2ae0bed29 ArmPkg/ArmExceptionLib: Follow new CpuExceptionHandlerLib APIs 6676162f64 DxeMain: Fix the bug that StackGuard is not enabled 16d97fa601 OvmfPkg: Use PcdOvmfWorkAreaBase instead of PcdSevEsWorkAreaBase 05e57cc9ce SecurityPkg/HashLibTdx: Return EFI_UNSUPPORTED if it is not Tdx guest 92ab049719 BaseTools: output the intermediate library instance when error occurs cc2db6ebfb UefiPayloadPkg: Increase the PcdMaximumUnicodeStringLength e8034b534a UefiPayloadPkg: Always split page table entry to 4K if it covers stack. cfe165140a UefiPayloadPkg: UniversalPayloadBuild.py to support --pcd feature b97243dea3 MdeModulePkg/XhciDxe: Check return value of XHC_PAGESIZE register 3930d1791a ArmPlatformPkg: Remove overly verbose DEBUG lines in LcdGraphicsBlt aa1bce0e5e OvmfPkg: reduce the number of dsc include files for tpm libs 6c9f218bc0 OvmfPkg/Library: Create base HardwareInfoLib for PCI Host Bridges 2b1a5b8c61 Ovmf/HardwareInfoLib: Create Pei lib to parse directly from fw-cfg a1bd79c514 Ovmf/HardwareInfoLib: Add Dxe lib to dynamically parse heterogenous data 3497fd5c26 Ovmf/PlatformPei: Use host-provided GPA end if available 3f5b1b9132 OvmfPkg/PciHostBridgeUtilityLib: Initialize RootBridges apertures with spec f304308e1c ArmPlatformPkg: Add PCD for serial debug port interrupt 4bfd668e5e UefiCpuPkg: CpuDxe: Set RW and P Attributes on Split Pages 2aee08c0b6 UefiPayloadPkg: Backward support with python 3.6 8f0722434b ArmVirtPkg: Include DxeHardwareInfoLib library class in dsc 15b25045e6 Ovmf: Include HardwareInfoLib library classes for IntelTdx b600f253b3 BaseTools/Ecc: Fix grammar in Ecc error message 7f4eca4cc2 MdeModulePkg/XhciDxe: Add access xHCI Extended Capabilities Pointer 5914128871 BaseTools: Fix the GenMake bug for .cpp source file c13377153f MdePkg/Acpi62: Add type 7 NFIT Platform Capabilities Structure support 21e6ef7522 UefiPayloadPkg: Align Attribute value with UPL spec 8d0564deaf pip-requirements.txt: Update basetools version to 0.1.24 f966093f5b OvmfPkg/PlatformCI: add IntelTdxBuild.py 70586d4e3a MdePkg/Acpi62: Add bit definitions to NFIT Platform Capabilities Structure 7861b24dc9 ArmPkg/Drivers: ArmGicIsInterruptEnabled returns incorrect value e1eef3a8b0 NetworkPkg: Add Wi-Fi Wpa3 support in WifiConnectManager 134fbd552c SecurityPkg: UefiSecureBoot: Definitions of cert and payload structures d6bee54c45 SecurityPkg: PlatformPKProtectionLib: Added PK protection interface 56c717aafa SecurityPkg: SecureBootVariableLib: Updated time based payload creator 6de7c084db SecurityPkg: SecureBootVariableLib: Updated signature list creator 6eb4079475 SecurityPkg: SecureBootVariableLib: Added newly supported interfaces fe73e9cd89 SecurityPkg: SecureBootVariableProvisionLib: Updated implementation d2a0f379d5 SecurityPkg: Secure Boot Drivers: Added common header files 5678ebb42b SecurityPkg: SecureBootConfigDxe: Updated invocation pattern dbc4e3675f SecurityPkg: SecureBootVariableLib: Added unit tests 152e37cc5a OvmfPkg: Pipeline: Resolve SecureBootVariableLib dependency f193b945ea EmulatorPkg: Pipeline: Resolve SecureBootVariableLib dependency 9ab18fec82 StandaloneMmPkg: Fix issue about SpPcpuSharedBufSize field 31d3eeb103 StandaloneMmPkg: Replace DEBUG_INFO with DEBUG_ERROR 5496c763aa StandaloneMmPkg: Fix check buffer address failed issue from TF-A e93bc6309b UefiCpuPkg/SecCore: Add debug messages to illuminate data flow 86a0f84470 ArmVirtPkg: Pipeline: Resolving newly introduced dependency c8e30482fd .gitignore: Ignore build tools build logs f6f3cc7ead UefiPayloadPkg: Add CryptoDxe driver to UefiPayload 12dd064a18 MdePkg/include: Update DMAR definitions to Intel VT-d spec ver4.0 9ab389c01b UefiCpuPkg: Update SEC_IDT_TABLE struct 470206ba7f IntelFsp2Pkg: Update SEC_IDT_TABLE struct 0d23c447d6 DynamicTablesPkg: Add support to specify FADT minor revision 07c8e5e59b UefiPayloadPkg/PlatformBootManagerLib: Evenly space boot prompt 176016387f BaseTools: add '-p' for Linux 'cp' command. 039bdb4d3e BaseTools: Fix DSC LibraryClass precedence rule fc4a132c0e DynamicTables: Fix DT PCI interrupt flags parsing 792ebb6374 DynamicTablesPkg: Fix generated _HID value for SBSA c966204049 IntelFsp2Pkg: Add Definition of EDKII_PEI_VARIABLE_PPI 586b4a104b Maintainers.txt: Add IntelFsp2*Pkg Maintainer e18a5f813c Maintainers.txt: Update Maintainers/reviewers for UefiPayloadPkg e21b203911 UefiPayloadPkg: Add macro to support selective driver in UPL f0064ac3af Maintainers.txt: Update email address 6cda306da1 DynamicTablesPkg: AcpiSsdtPcieLibArm: Correct translation value 9ac155bf0b DynamicTablesPkg: AcpiSsdtPcieLibArm: Support UID > 0xF 19a8768365 DynamicTablesPkg: AcpiSsdtPcieLibArm: Create support library 671b0cea51 NetworkPkg/HttpBootDxe: Add Support for HTTP Boot Basic Authentication 140446cd59 IntelFsp2Pkg: Support 64bit FspResetType for X64 build. 24eac4caf3 IntelFsp2WrapperPkg: Support 64bit FspResetType for X64 build. 4824924377 IntelFsp2Pkg/FspSecCore: Add FSP-I API for SMM support. 3b8cee1781 Maintainers.txt: update Gary's email address 7ef91af84c EmulatorPkg/PosixFileSystem: Add NULL check on memory allocation 494f333aba MdeModulePkg/CoreDxe: Allow DXE Drivers to use untested memory 343f37b5c0 MdeModulePkg/SetupBrowserDxe:Follow spec'd way to reconnect driver c8af26627a ArmPkg/CpuDxe: drop ARM_PROCESSOR_TABLE pseudo-ACPI table 5a3641bfcd IntelFsp2Pkg: Add FSPI_ARCH_UPD. bf1ff540d9 MdePkg/UefiDevicePathLib: Add support for PEIMs 6964b5c48c MdeModulePkg/Include: Long debug string is truncated to 104 char d32a84b5ad BaseTools: INF should use latest Pcd value instead of default value 8ee26529d1 BaseTools/VolInfo: Correct alignment attributes display c0b7679aac BaseTools/VolInfo: Increase define for highest section value fca5de51e1 BaseTools/VolInfo: Correct EFI_SECTION_VERSION display 8a5782d704 UefiCpuPkg: Fix nasm warning "signed byte value exceeds" a47241f133 UefiPayloadPkg: Add macro to support selection of CryptoDxe driver 69f76d0f72 Maintainers.txt: Remove OvmfPkg/XenTimerDxe reference a8c4fe23c4 Maintainers.txt: Add missing github ids 7f1c89f167 Maintainers.txt: Remove reviewer Harry Han b68d566439 BaseTools/Capsule: Support signtool input subject name to sign capsule file e3d468acb9 BaseTools/VolInfo: Show encapsulation sections 2677286307 UefiPayloadPkg: Fix RelaAddress type always mismatch in if condition f26b70cb9f UefiPayloadPkg: Add support for logging to CBMEM console 57783adfb5 OvmfPkg: Change default to disable MptScsi and PvScsi 1774a44ad9 Maintainers.txt: Remove MptScsi and PvScsi reviewers 0e7add1d75 OvmfPkg/XenHypercallLib: Fix naming of AArch64 3eca64f157 IntelFsp2Pkg: FSPI_UPD is not mandatory. 0d0bfcb457 IntelFsp2Pkg: Fix GenCfgOpt bug for FSPI_UPD support. 8a210b9ac0 ShellPkg: Acpiview: Abbreviate field names to preserve alignment 65c4f3f2be DynamicTablesPkg: Handle error when IdMappingToken is NULL f5cea604a6 DynamicTablesPkg: IORT set reference to Id array only if present 238f903e8d DynamicTablesPkg: IORT set reference to interrupt array if present 4c55f6394f MdePkg: IORT header update for IORT Rev E.d spec cd67efa1b2 ShellPkg: Acpiview: IORT parser update for IORT Rev E.d spec de200b7e2c DynamicTablesPkg: Update ArmNameSpaceObjects for IORT Rev E.d e9150618ec DynamicTablesPkg: IORT generator updates for Rev E.d spec 6f4e10d6db SecurityPkg: Add retry mechanism for tpm command 19cbfaa431 OvmfPkg/QemuVideoDxe: Zero out PixelInformation in QueryMode a551de0d93 ArmVirtPkg: Fix KVM Guest Firmware 0dc9b78a46 Maintainers.txt: Add missing Github IDs for OvmfPkg TPM/TGC modules d219119721 UefiPayloadPkg/PlatformBootManagerLib: Correct spacing in boot prompt 79aab22fca UefiPayloadPkg: Add a Macro to enable Boot Logo 444260d45e UefiPayloadPkg: Load Boot Logo into ACPI table 86757f0b47 MdeModulePkg: Add EDKII_PCI_DEVICE_PPI definition a8f59e2eb4 MdeModulePkg/AhciPei: Use PCI_DEVICE_PPI to manage AHCI device 3e599bbc10 DynamicTablesPkg: Fix using RmrNodeCount unitlitialised a0a03b5154 BaseTools/GenSec: Fix typo f5f8c08db9 BaseTools/VolInfo: Show FV section boundaries d241a09afb BaseTools/VolInfo: Parse EFI_SECTION_FREEFORM_SUBTYPE_GUID header cf02322c98 BaseTools/GenSec: Support EFI_SECTION_FREEFORM_SUBTYPE_GUID sections 1ee1622817 Basetools/GenFw: Allow AARCH64 builds to use the --prm flag 9f197e44b1 PrmPkg: Enable external visibility on PRM symbols 21200d9fe6 PrmPkg: Build Prm Samples with GCC for AARCH64 57faeb782a PrmPkg: Support AArch64 builds using GCC 1da2012d93 PrmPkg: Add details on AArch64 build to the Readme. 0f7bccf584 UefiCpuPkg: Simplify InitializeSeparateExceptionStacks 9a24c3546e MdeModulePkg: Move CPU_EXCEPTION_INIT_DATA to UefiCpuPkg f1688ec9da UefiCpuPkg: Simplify the struct definition of CPU_EXCEPTION_INIT_DATA 75e3c2435c UefiCpuPkg: Create CpuPageTableLib for manipulating X86 paging structs f336e30ba1 UefiCpuPkg/CpuPageTableLib: Return error on invalid parameters bf334513b3 CpuPageTableLib: Fix a bug when a bit is 1 in Attribute, 0 in Mask 13a0471bfd CpuPageTableLib: Refactor the logic 9cb8974f06 CpuPageTableLib: Split the page entry when LA is aligned but PA is not c16f02f776 CpuPageTableLib: Avoid treating non-leaf entry as leaf one f4c845e46b CpuPageTableLib: Fix parent attributes are not inherited properly 9f53fd4ba7 CpuPageTableLib: Fix a bug to avoid unnecessary changing to page table 927113c83b CpuPageTableLib: Fix bug that wrongly requires extra size for mapping e9e2ecab2d CpuPageTableLib: define IA32_PAGE_LEVEL enum type internally e76496530c MdePkg/Library/UefiDevicePathLib: Add back StandaloneMm INF file bd06717863 MdeModulePkg: Enhance bus scan for all root bridge instances 74f44d920a ShellPkg/SmbiosView: Display extended memory info in smbiosview -t 17 83d5871184 UefiCpuPkg/PiSmmCpuDxeSmm: Add a new mIsShadowStack flag 7b4754904e UefiCpuPkg/PiSmmCpuDxeSmm: Remove mInternalCr3 in PiSmmCpuDxeSmm 62391b4ce9 MdeModulePkg/DxeIpl: Remove clearing CR0.WP when protecting pagetable 803ed060ee UefiPayloadPkg: Remove clearing CR0.WP when protecting pagetable a2b61de2f6 IntelFsp2Pkg: FSPM_ARCH2_UPD mismatching bug. 809b5a3d2a MdeModulePkg: Update the SMBIOS version by UPL 2812668bfc UefiCpuPkg/CpuPageTableLib/UnitTest: Add host based unit test 30d62f5e31 OvmfPkg/PlatformDxe: Check ExtractConfig and RouteConfig arguments b94836b224 OvmfPkg/VirtioGpuDxe: Check QueryMode arguments 3f282f4510 OvmfPkg/VirtioFsDxe: Check GetDriverName arguments 64a20bea97 MdeModulePkg/DumpDynPcd: Remove unsupported format specifiers 9102518d29 MdePkg: Improved Smbios Type9 table and Smbios spec v3.5.0 Changes 35d167ef3c ShellPkg: Improved Smbios Type 9 table changes in PrintInfo.c 68bf712d4f MdePkg: Added support for SMBIOS spec v3.6.0 to Smbios.h e2ac68a23b BaseTools/Source/C/GenSec: Fix EFI_SECTION_FREEFORM_SUBTYPE_GUID header d5fd86f256 ShellPkg: Adds Local APIC parser to AcpiView 2bb0020675 UefiPayloadPkg: Return PciRootBridges instead of NULL c15c9fa420 UefiPayloadPkg: Add macro to control NvmExpressDxe 938430741f RedfishPkg/RedfishDiscoverDxe: USB Redfish host interface is not supported eebef1b3b7 RedfishPkg: Redfish modules may need to use the functions which are private f2bf043aaa RedfishPkg: Redfish functions for REST requests are not fully spec complied dfdba857a6 UefiPayloadPkg: Fix Coverity report defect 4d83ee04f4 ShellPkg: Add revision check for DSDT Header on Arm 0ede7cad73 Maintainers.txt: Update maintainers list 722e03bc2e Revert "UefiCpuPkg/CpuPageTableLib/UnitTest: Add host based unit test" 166c49c212 Revert "ShellPkg: Adds Local APIC parser to AcpiView" 39ff9769ca Revert "BaseTools: Fix DSC LibraryClass precedence rule" ba0e0e4c6a BaseTools: Fix DevicePath GNUmakefile for macOS - Respin the following patches: ovmf-Revert-UefiCpuPkg-Replace-Opcode-with-the-correspond.patch- Add patches to disable option ROM on sev (bsc#1199156) ovmf-bsc1199156-OvmfPkg-IncompatiblePciDeviceSupportDxe-Ignore-Optio.patch- Modified ovmf.changes log, using PED-1410 instead of PED-1359 for pushing to SLE15-SP5.- Because 5 revert patches in edk2-stable202205 for nasm-2.14 is against 15-SP4/Leap 15.4 and earlier version. So add suse_version and sle_version checking logic in ovmf.spec when applying revert patches. (jsc#PED-1410)- Removed patches in ovmf-bsc1196879-sev-fix.patch which are merged to edk2-stable202205: - OvmfPkg/AmdSev: reserve snp pages - de463163d9 edk2-stable202205-rc1~292 - OvmfPkg/ResetVector: cache the SEV status MSR value - 63c50d3ff2 edk2-stable202205-rc1~291 - OvmfPkg/BaseMemEncryptLib: use the SEV_STATUS MSR - f1d1c337e7 edk2-stable202205-rc1~290- Update to edk2-stable202205 - Features (https://github.com/tianocore/edk2/releases): Support PEI 64bit in IntelFsp2Pkg and IntelFsp2WrapperPkg IntelFsp2Pkg: BaseFspCommonLib Support for X64 Build Add PrmPkg BaseTools Enhance GenFw to support PRM GCC build Enable Intel TDX in OvmfPkg Generate CloudHv target as PVH ELF binary Add parallel hash feature into BaseCryptLib Configure/Enable elliptic curve ciphers in OpenSSL Add FMMT tool into edk2 BaseTools Dynamic variable flash information cannot be passed in Standalone MM - Patches (git log --oneline --reverse edk2-stable202202~..edk2-stable202205): b24306f15d NetworkPkg: Fix incorrect unicode string of the AKM/Cipher Suite 2dbed52506 ArmVirtPkg/ArmVirtMemoryInitPeiLib: avoid redundant cache invalidation 54cddc3ad4 ArmVirtPkg/ArmVirtKvmTool: wire up configurable timeout de463163d9 OvmfPkg/AmdSev: reserve snp pages 63c50d3ff2 OvmfPkg/ResetVector: cache the SEV status MSR value in workarea f1d1c337e7 OvmfPkg/BaseMemEncryptLib: use the SEV_STATUS MSR value from workarea b1b89f9009 MdeModulePkg: Correct high-memory use in NvmExpressDxe 84338c0d49 MdeModulePkg: Replace Opcode with the corresponding instructions. d3febfd9ad MdePkg: Replace Opcode with the corresponding instructions. 7bc8b1d9f4 SourceLevelDebugPkg: Replace Opcode with the corresponding instructions. 2aa107c0aa UefiCpuPkg: Replace Opcode with the corresponding instructions. bbaa00dd01 MdePkg: Remove the macro definitions regarding Opcode. 6a890db161 BaseTools: Upgrade the version of NASM tool 497ac7b6d7 UefiPayloadPkg/PayloadLoaderPeim: Use INT64 as input parameter dc39554d58 edk2/MdeModulePkg/Debuglib: Add Standalone MM support 906242343f MdeModulePkg/GraphicsConsoleDxe: Check status to make sure no error b422b0fcf9 EmulatorPkg/EmuGopDxe: Set ModeInfo after Open successfully 589d51df26 MdeModulePkg/Usb/Keyboard.c: Don't request protocol before setting b909b4ad09 OvmfPkg: Make the Xen ELF header generator more flexible 0a707eb258 OvmfPkg: Xen: Use a new fdf include for the PVH ELF header 0015a4e0a8 OvmfPkg: Xen: Generate fdf include file from ELF header generator 9ac8c85d50 OvmfPkg: CloudHv: Remove VARS and CODE sections e1c7f9b4e5 OvmfPkg: Generate CloudHv as a PVH ELF binary d50d9e5549 OvmfPkg: CloudHv: Retrieve RSDP address from PVH 82bfd2e86d OvmfPkg: CloudHv: Rely on PVH memmap instead of CMOS b83d0a6438 OvmfPkg: CloudHv: Add README 4a68176cb5 UefiCpuPkg: Extend SMM CPU Service with rendezvous support. 949b8a3d97 Maintainers.txt: Add new reviewer for UefiPayloadPkg 091b6a1197 UefiPayloadPkg: Add build option for Above 4G Memory 4adc364c75 UefiPayloadPkg: Fix case of protocol 79f2734e5a MdeModulePkg: Add a check for metadata size in NvmExpress Driver af74efe494 UefiPayloadPkg: Make Boot Manager Key configurable 62fa37fe7b BlSupportSmm: fix definition of SetSmrr() 56530dec11 .pytool/Plugin/UncrustifyCheck: Output file diffs by default 2aac8bb7ef .pytool: Update to newest pytools c63ef58698 .azurepipelines: Updated python version f06941cc46 MdeModulePkg: Add bRefClkFreq card attribute programming support 2b175eeb6a RedfishPkg: fix memory leak issue 10b4c8f3b7 Maintainers: Update Maintainers.txt for edk2 Redfish modules 0fdd466c75 UefiCpuPkg/MpInitLib:remove optional in declaration 52e09dcd7a UefiCpuPkg: Support FFS3 GUID in SearchForBfvBase.asm a13dfc769b MdeModulePkg/DxeIpl: Create 5-level page table for long mode c8ea48bdf9 DynamicTablesPkg: Fix serial port namespace path in DBG2 414cd2a4d5 BaseTools/GenFw: Enhance GenFw to support PRM GCC build 33438f7354 EmulatorPkg/RedfishPlatformCredentialLib: Check EFI_SECURE_BOOT_MODE_NAME 5b56c52b5c EmulatorPkg/RedfishPlatformCredentialLib: Don't stop Redfish service 0531f61376 IntelFsp2Pkg: BaseFspDebugLibSerialPort Support for X64 411b3ff6dd IntelFsp2Pkg: BaseFspSwitchStackLib Support for X64 b429959bb6 MdeModulePkg/SdMmcPciHcDxe: Make timeout for SD card configurable 79a705fbaf UefiPayloadPkg: Hookup SD/MMC timeout 28eeb08d86 MdePkg/Include: Smbios Specification 3.5.0 changes c1e662101a CryptoPkg: Add new hash algorithm ParallelHash256HashAll in BaseCryptLib. 267a92fef3 MdePkg/AcpiXX.h: Update Error Severity type for Generic Error Status Block ec0b54849b IntelFsp2Pkg: BaseFspCommonLib Support for X64 5d8d8b5148 MdeModulePkg/NvmExpressDxe: fix check for Cap.Css 69218d5d28 MdeModulePkg/NvmExpressPei: fix check for NVM command set bf9230a9f3 BaseTools: Add the FeatureFlagExpression usage to the Source Section 3115377bf0 BaseTools: Remove the redundant __FLEXIBLE_SIZE from PcdValueInit.c 4a2e1000a1 CryptoPkg: update openssl submodule to 1.1.1n 355515a06a CryptoPkg? Redefinition bug in CrtLibSupport.h. 7b005f344e BaseTools: fix gcc12 warning 85021f8cf2 BaseTools: fix gcc12 warning 22130dcd98 Basetools: turn off gcc12 warning ec30a4a0c3 BaseTools:Support decimal version number in ECC check 3ef2071927 UefiCpuPkg: Update BFV searching algorithm in VTF0 691b178667 ShellPkg/AcpiView: Adds ACPI_PARSER bitfield parser 40004ff9d5 ShellPkg/AcpiView: PrintFormatter for FADT Flags field 7456990e8e MdeModulePkg/Ufs: bRefClkFreq attribute be programmed after fDeviceInit 237c966396 UefiPayloadPkg/UefiPayloadPkg.ci.yaml: Remove duplicated entry 76191052fd UefiPayloadPkg: Fix build error 449eb01a8d UefiPayloadPkg: Fix architecture in the build instruction c248802e40 UefiPayloadPkg: Fix PciHostBridgeLib 2b4b8013fe UefiPayloadPkg/Library/PlatformBootManagerLib: Remove broken VGA detection 55637a2894 UefiPayloadPkg: Make Boot Timeout configurable 2268920afc .azurepipelines: Use Python 3.8 c3ca70669e .azurepipelines: Use windows-2019 VM image 3b0de44759 EmulatorPkg: Use windows-2019 VM image 75628d27c0 OvmfPkg: Use windows-2019 VM image b328bb54c6 BaseTools/Bin: Update GCC ARM compiler version 3f0c788a5f MdePkg: Add Tdx.h 77228269e7 MdePkg: Update Cpuid.h for Tdx 818bc9596d MdePkg: Introduce basic Tdx functions in BaseLib c3001cb744 MdePkg: Add TdxLib to wrap Tdx operations eddcba40b5 UefiCpuPkg: Extend VmgExitLibNull to handle #VE exception daf8f642f3 OvmfPkg: Extend VmgExitLib to handle #VE exception de327f7d8a UefiCpuPkg/CpuExceptionHandler: Add base support for the #VE exception ab9d790901 MdePkg: Add helper functions for Tdx guest in BaseIoLibIntrinsic b6b2de8848 MdePkg: Support mmio for Tdx guest in BaseIoLibIntrinsic d74e932681 MdePkg: Support IoFifo for Tdx guest in BaseIoLibIntrinsic 3571fc906f MdePkg: Support IoRead/IoWrite for Tdx guest in BaseIoLibIntrinsic 7bed7ae6c5 UefiCpuPkg: Support TDX in BaseXApicX2ApicLib d983b102b3 MdePkg: Add macro to check SEV / TDX guest 88da06ca76 UefiCpuPkg: Enable Tdx support in MpInitLib 352eabdcd5 OvmfPkg: Add IntelTdx.h in OvmfPkg/Include/IndustryStandard 6a608255bb OvmfPkg: Add TdxMailboxLib 57bcfc3b06 OvmfPkg: Create initial version of PlatformInitLib 102cafedad OvmfPkg/PlatformInitLib: Add hob functions 9a9b33b3d6 OvmfPkg/PlatformPei: Move global variables to PlatformInfoHob 5a2574a82e OvmfPkg/PlatformPei: Refactor MiscInitialization 6d2ce5fd5c OvmfPkg/PlatformPei: Refactor MiscInitialization for CloudHV 3dd47f9544 OvmfPkg/PlatformPei: Refactor AddressWidthInitialization 432e4acd87 OvmfPkg/PlatformPei: Refactor MaxCpuCountInitialization f3801cf26c OvmfPkg/PlatformPei: Refactor QemuUc32BaseInitialization e510326245 OvmfPkg/PlatformPei: Refactor InitializeRamRegions 12e860a1e8 OvmfPkg/PlatformPei: Refactor MemMapInitialization cec82a64cf OvmfPkg/PlatformPei: Refactor NoexecDxeInitialization f53f449f15 OvmfPkg/PlatformPei: Refactor MiscInitialization 10460942ff OvmfPkg/PlatformInitLib: Create MemDetect.c 96047b6663 OvmfPkg/PlatformInitLib: Move functions to Platform.c b22ac35b75 OvmfPkg: Update PlatformInitLib to process Tdx hoblist ccca1c2d5d OvmfPkg/Sec: Declare local variable as volatile in SecCoreStartupWithStack 2b80269d98 OvmfPkg: Update Sec to support Tdx 6b27c11690 OvmfPkg: Check Tdx in QemuFwCfgPei to avoid DMA operation bec9104201 MdeModulePkg: Skip setting IA32_ERER.NXE if it has already been set fd306d1dbc MdeModulePkg: Add PcdTdxSharedBitMask cc3620f304 UefiCpuPkg: Update AddressEncMask in CpuPageTable e23f8f52fd OvmfPkg: Update PlatformInitLib for Tdx guest cf17156d7d OvmfPkg: Update PlatformPei to support Tdx guest 9fdc70af6b OvmfPkg: Update AcpiPlatformDxe to alter MADT table 5aa8018639 OvmfPkg/BaseMemEncryptTdxLib: Add TDX helper library fae5c1464d OvmfPkg: Add TdxDxe driver 07c721fea7 OvmfPkg/QemuFwCfgLib: Support Tdx in QemuFwCfgDxe 2520182122 OvmfPkg: Update IoMmuDxe to support TDX c2e7be4055 OvmfPkg: Rename XenTimerDxe to LocalApicTimerDxe 299c44cd4f UefiCpuPkg: Setting initial-count register as the last step c37cbc030d OvmfPkg: Switch timer in build time for OvmfPkg 580a6b616b OvmfPkg: Add TdxWorkArea definition 75942a52ae OvmfPkg: Add PrePiHobListPointerLibTdx 4fe2678411 OvmfPkg: Add PeilessStartupLib 1f29de4d20 OvmfPkg/IntelTdx: Add Sec to bring up both Legacy and Tdx guest 55fda68a80 OvmfPkg: Update TdxDxe to set TDX PCDs f674fa9cde OvmfPkg: Update DxeAcpiTimerLib to read HostBridgeDevId in PlatformInfoHob 149ed8e421 OvmfPkg/IncompatiblePciDeviceSupportDxe: Refine the configuration c477b2783f OvmfPkg/IncompatiblePciDeviceSupportDxe: Ignore OptionRom in Td guest cb8349f01a MdeModulePkg: Update PciEnumeratorSupport to ignore OptionRom if needed 44a53a3bdd OvmfPkg: Introduce IntelTdxX64 for TDVF Config-B 7fda517c3d OvmfPkg: Add dependency of VariableSmm driver to make it work normally. b953265a27 UefiPayloadPkg: Add a new DebugPrintErrorLevelLib instance 0023e35cf4 UefiPayloadPkg: Change some configuration of the payload 3e130e40fc UefiPayloadPkg: Consume the new added DebugPrintErrorLevelLib instance f16b05a13b .pytool/Plugin/UncrustifyCheck: Update func to return absolute paths dbfbaedb21 .pytool/Plugin/UncrustifyCheck: Add ignore file support d932199d39 OvmfPkg: Revert Uncrustify formatting in VbeShim.h files ad6816c319 OvmfPkg: Do not check VbeShim.h formatting with Uncrustify d2998af211 PrmPkg: Add package and include headers 5f76c3e471 PrmPkg: Add PrmConfig protocol interface e189e01af2 PrmPkg/PrmContextBufferLib: Add initial library instance 3f7af17c6b PrmPkg/PrmConfigDxe: Add initial driver 9276e0d2b9 PrmPkg: Add initial PrmSamplePrintModule c63905aba7 PrmPkg: Add initial PrmSampleMemoryAllocationModule 27b1a840e4 PrmPkg: Add initial PrmSampleHardwareAccessModule 7c41ec47ca PrmPkg: Add initial PrmSampleContextBufferModule 97ab54c1b1 PrmPkg: Add initial package DSC file d2cb6e67a4 Readme.md: Add initial content e846797662 PrmPkg: Add ALLOCATE_CONTEXT_BUFFER_IN_FW build option a6f8946bc9 PrmPkg: Enable variable growth for the PRM_MODULE_EXPORT macro ef05955996 PrmPkg: Publish PRM operation region to support PRM ACPI _DSM invocation f96517f4d0 PrmPkg: Export major/minor version in PRM module PE COFF header 50e1432a40 PrmPkg: Add initial PrmSsdtInstallDxe module a409f4b67d PrmPkg: Remove PRM Module Update Lock 0797989c5d PrmPkg: Remove ALLOCATE_CONTEXT_BUFFER_IN_FW build flag 0b469caff6 PrmPkg/PrmContextBuffer.h: Add ACPI parameter support structures be2c927d7c PrmPkg/PrmLoaderDxe: Add ACPI parameter buffer support c1a7a50f67 PrmPkg/PrmSampleContextBufferModule: Remove OS debug print requirement 4c8486fd72 PrmPkg/PrmSampleHardwareAccessModule: Add non-print PRM handlers 7217263514 PrmPkg/SampleAcpiParameterBufferModule: Add initial module fec018624c PrmPkg/HardwareAccessModuleConfigLib: Add initial library d10b8dc5d8 PrmPkg/Samples/Readme.md: Add initial file 6b7dde7cdd PrmPkg: Refactor some PrmLoaderDxe functionality into libraries 4348c72ad0 PrmPkg/Application/PrmInfo: Add initial application e10c776487 PrmPkg: Enforce stricter types 2e55b0cd9e PrmPkg/Test/PrmPkgHostTest.dsc: Add initial file 3599f5479d PrmPkg/Test/UnitTest/Library: Add initial UEFI Boot Services test lib 82d15dc6c1 PrmPkg/Library/DxePrmContextBufferLib: Add host-based unit tests 68ee42c991 PrmPkg/DxePrmModuleDiscoveryLib: Add initial host-based unit tests c040831cf9 PrmPkg: Add PlatformGuid a9302b89a9 PrmPkg: Update PRM OpRegion f8e68587e2 Readme.md: Add iASL note and QEMU sample link 4a4aeaa446 PrmPkg: Replace PcdPrmPlatformGuid with EDKII_DSC_PLATFORM_GUID 17b2d64ced PrmPkg/Samples: Remove PrmSampleMemoryAllocationModule 050b2ba27d PrmPkg/Samples: Remove PrmSamplePrintModule 88f3d734f5 PrmPkg: Remove the concept of OS services deea4e58b0 Readme.md: Add a link to PRM Specification f3c11224b5 PrmPkg: Changes for edk2 repo transition a298a84478 PrmPkg: Apply uncrustify changes 94f905b3bf MdeModulePkg/HiiDatabase: Fix Setup numeric default value incorrect issue b8c5ba2337 BaseTools: efi_debugging.py: Add debugger agnostic dbg Python Classes 0d7fec9f79 BaseTools: Scripts/efi_gdb.py: Add gdb EFI commands and pretty Print 4f4afcd288 BaseTools: Scripts/efi_lldb.py: Add lldb EFI commands and pretty Print bfefdc2c49 UefiPayloadPkg: Fix PciHostBridgeLib 676084303d UefiPayloadPkg: Support IA32 Build 63e155f24d UefiPayloadPkg: Add dependency of VariableSmm driver. dab96cf02e UefiPayloadPkg: Add --quiet argument to Universal Payload build script 35a4b63247 NetworkPkg: Add PCDs for HTTP DNS RetryCount and RetryInterval 38a9afd0fb NetworkPkg/HttpDxe: Decofigure Tcp4 before reconfiguring 3974aa539e NetworkPkg/HttpDxe: Decofigure Tcp6 before reconfiguring c43ff5188d NetworkPkg/HttpDxe: Add ConnectionClose flag fo HTTP_PROTOCOL 753fd319e2 NetworkPkg/HttpDxe: Detect 'Connection: close' header 12a50c9ce1 NetworkPkg/HttpDxe: Detect HTTP/1.0 servers 5576b17363 BaseTools: Fix DevicePath tool build failure issue 4352d115c4 CryptoPkg/CrtLibSupport: add fcntl.h 3b4b49cf00 CryptoPkg/CrtLibSupport: add strstr() 58771f4b2d CryptoPkg/CrtLibSupport: add INT_MIN 2759e42fbc CryptoPkg/CrtLibSupport: add UINT_MAX fd5f347c84 CryptoPkg/CrtLibSupport: add MODULESDIR 03951e5645 CryptoPkg/CrtLibSupport: add off_t fab6285a73 CryptoPkg/CrtLibSupport: fix strcpy f5508a91e3 CryptoPkg/UnitTest: fix DH testcase c411566fad pip-requirements.txt: Update basetools version to 0.1.17 8a5727c7a8 Maintainers.txt: Add Michael Kubacki as UnitTestFrameworkPkg maintainer 1a49e2aa3c CryptoPkg: Add instrinsics to support building ECC on IA32 windows efc39e65e5 CryptoPkg: Reconfigure OpensslLib to add EC algorithms 0c901fcc20 CryptoPkg: Make EC source file config-able f3da13461c CryptoPkg/TlsLibNull: Remove MU_CHANGE comment markers 4cfb28f12a UefiPayloadPkg: Fix the build failure 9bf7291d63 ShellPkg: Update smbiosview type 41 with SMBIOS 3.5 fields 630df8c86e IntelFsp2Pkg: X64 compatible changes to support PEI in 64bit 6f219bef55 IntelFsp2Pkg: Add FSPx_ARCH2_UPD support for X64 d40965b987 IntelFsp2Pkg: Update FSP_GLOBAL_DATA and FSP_PLAT_DATA for X64 00aa71ce20 IntelFsp2Pkg: FspSecCore support for X64 6bec5a66ea IntelFsp2Pkg: SecFspSecPlatformLibNull support for X64 4a6ed7e46a IntelFsp2WrapperPkg: Adopt FSPM_UPD_COMMON_FSP24 for X64 86a2f3c439 IntelFsp2WrapperPkg: BaseFspWrapperApiLib support for X64 91a03f78ba IntelFsp2WrapperPkg: SecFspWrapperPlatformSecLibSample support for X64 3d97733f44 MdePkg: Add CC_GUEST_TYPE in ConfidentialComputingGuestAttr.h d020ac55b6 OvmfPkg: Replace GUEST_TYPE with CC_GUEST_TYPE 74a3eb975d MdePkg: Add CcProbeLibNull 2f44d77c68 OvmfPkg: Add CcProbeLib 2a7e1e890d OvmfPkg: Add CcProbeLib in *.dsc 7012cb73c4 MdePkg: Probe Cc guest in BaseIoLibIntrinsicSev 76fda1def3 OvmfPkg: Call CcProbe in SecMain.c instead of TsIsEnabled 532bd4ec38 CryptoPkg/Crt: fix strcpy build on older VS compilers 6d2baf9dfb PrmPkg/DxePrmContextBufferLib: Fix unit test GCC compilation errors 892787fed5 OvmfPkg/OvmfPkgX64: Adjust load sequence of TdxDxe and AmdSevDxe driver b06a007b64 CryptoPkg: Declare PcdEcEnabled in Library consuming OpensslLib fdfbf1fdab MdePkg: Update smbiosview type 9 with SMBIOS 3.5 fields a85ae8d964 ShellPkg: Update smbiosview type 9 with SMBIOS 3.5 fields 2306555bf9 UefiPayloadPkg: Fix IA32 entry build failure f4dfec6ca1 BaseTools: Move gPlatformFinalPcd to Datapipe and optimize size ee582858c4 .azurepipelines: Add NOOPT to all package builds 2d9d605714 .pytool/Plugin/UncrustifyCheck: Add Azure DevOps UI debug instructions b807174fec MdeModulePkg/GraphicsConsoleDxe: add modes 5a17629902 OvmfPkg: clear PcdConOut{Row,Column} 96e1d337e0 ArmVirtPkg: clear PcdConOut{Row,Column} 483d3bb716 ShellPkg: Update smbiosview type 0 with SMBIOS 3.5 fields ecc79b092e OvmfPkg/VirtioGpuDxe: add VirtioGpuSendCommandWithReply 182122914c OvmfPkg/VirtioGpuDxe: add GetDisplayInfo to virtio-gpu spec header. 82c07f2cc7 OvmfPkg/VirtioGpuDxe: add VirtioGpuGetDisplayInfo 5f6ecaa398 OvmfPkg/VirtioGpuDxe: use GopQueryMode in GopSetMode 86de090b99 OvmfPkg/VirtioGpuDxe: move code to GopInitialize 916f90baa5 OvmfPkg/VirtioGpuDxe: query native display resolution from host d372ab585a BaseTools/Conf: Fix Dynamic-Library-File template cabd96ad03 OvmfPkg: restore CompatImageLoaderDxe chunk 4092f1d397 OvmfPkg/Bhyve: add support for QemuFwCfg daa6cd8763 ArmPlatformPkg: Fix error message in Scripts/Ds5/edk2_debugger.py 5299568ce6 ArmPlatformPkg: Fix target initialisation in cmd_load_symbols.py 101f4c7892 ArmPlatformPkg: Fix EDK2_DSC check in Scripts/Makefile a64b944942 BaseTools: Add FMMT Python Tool 826527c9db UefiPayloadPkg: Add definition for PayloadCommandLine HOB d4eef3fe7c MdePkg: Add CpuLib to module INFs that depend on UefiCpuLib. a63b086e69 IntelFsp2Pkg: Add CpuLib to module INFs that depend on UefiCpuLib 3afa0a2096 IntelFsp2WrapperPkg: Add CpuLib to module INFs that depend on UefiCpuLib. 1783b099d3 OvmfPkg: Add CpuLib to module INFs that depend on UefiCpuLib. 86d41c077e UefiCpuPkg: Add CpuLib to module INFs that depend on UefiCpuLib. 2434f6f206 UefiPayloadPkg: Add CpuLib to module INFs that depend on UefiCpuLib. 247a0fc65e OvmfPkg: Add README for TDVF 8079d4dc4f MdePkg: add SmmCpuRendezvousLib.h and SmmCpuRendezvousLibNull implement. 1a6c837638 UefiPayloadPkg: Fix the UPL build failure 29ae55a0b8 PcAtChipsetPkg: Change the flow of PcRtcInit() a658ed30e5 MdeModulePkg/PCD: Pcd initialize DXE have assert 0e31124877 .pytool: Fix python command error in self introduction doc 43613b2fe8 CryptoPkg: Rename PCD about openssl EC configuration f753c36209 CryptoPkg: Separate auto-generated openssl config and edk2 openssl config 499b0d5fa5 CryptoPkg: Update process_files.pl to automatically add PCD config option a332ffb6ef CryptoPkg/openssl: update generated files 9dd964f5e5 CryptoPkg/openssl: disable codestyle checks for generated files b5cd30a79b UefiCpuPkg: Revert "UefiCpuPkg: Enable Tdx support in MpInitLib" ad629b5c5a OvmfPkg: Add MpInitLibDepLib related PPI/Protocol definitions 2f06e5af47 OvmfPkg: Add MpInitLibDepLib b63a49e056 OvmfPkg/Sec: Install MpInitLibDepLib PPIs in SecMain.c 73d6d41de0 OvmfPkg/TdxDxe: Install MpInitLibDepLib protocols deee7a100b OvmfPkg: Enable 2 different CpuMpPei and CpuDxe drivers 17702186b5 MdeModulePkg: PiSmmCore: Inspect memory guarded with pool headers d0efa681b6 UefiPayloadPkg: Simplify code logic 57ebb2994d UefiPayloadPkg: Add Serial IO device path according to related protocol ef01d63ef3 UefiPayloadPkg: Connect all root bridge in PlatformBootManagerBeforeConsole 35d9b7ea2d ArmPkg: Remove RVCT support b55b6d33e4 ArmPlatformPkg: Remove RVCT support e9eeb0ad2b CryptoPkg: Remove RVCT support 48b919cb14 MdePkg: Remove RVCT support 5621d81edf FatPkg: Remove RVCT support cc070e9e0c NetworkPkg: Remove RVCT support a744199470 ArmVirtPkg: Remove RVCT support b7a446f224 EmbeddedPkg: Remove RVCT support 57c84113a1 OvmfPkg: Remove RVCT support 708620d29d BaseTools: Remove RVCT support 2d1138a1a8 .azurepipelines: Fix cspell version to v5.20.0 7b126978e1 .pytool/plugin/SpellCheck: Allow compound words 2189c71026 .pytool/plugin/SpellCheck: Add more common words 0903042b66 MdeModulePkg: Add Variable Flash Info HOB 60b519456c MdeModulePkg/VariableFlashInfoLib: Add initial library 4dbebc2d10 MdeModulePkg/Variable: Consume Variable Flash Info 8db39c60cd MdeModulePkg/FaultTolerantWrite: Consume Variable Flash Info 524a15c1fa ArmVirtPkg/ArmVirt.dsc.inc: Add VariableFlashInfoLib a69eac7578 EmulatorPkg: Add VariableFlashInfoLib a7d3d4e7c4 OvmfPkg: Add VariableFlashInfoLib 1f026ababf UefiPayloadPkg: Add VariableFlashInfoLib a72d552f19 OvmfPkg/OvmfPkgX64: Use different CcProbeLib when SMM is on or off a21a3438f7 OvmfPkg: Make an Ia32/X64 hybrid build work with SEV 9c733f0b90 OvmfPkg: TdxDxe: Fix AsmRelocateApMailBoxLoop 07c0c2eb0a OvmfPkg: fix PcdFSBClock 16779ede2d Removed prefix to match AsmRelocateApMailBoxLoopStart - Removed patches in ovmf-bsc1196879-sev-fix.patch which are merged to mainline: - OvmfPkg/AmdSev: reserve snp pages - de463163d9 edk2-stable202205-rc1~292 - OvmfPkg/ResetVector: cache the SEV status MSR value - 63c50d3ff2 edk2-stable202205-rc1~291 - OvmfPkg/BaseMemEncryptLib: use the SEV_STATUS MSR - f1d1c337e7 edk2-stable202205-rc1~290 - Add the following patches for building edk2-stable202205 with nasm-2.14 on SLE15-SP3/SP4 and Leap 15.3/15.4. Those patches add marco back because nasm-2.14 doesn't support corresponding instructions. (jsc#PED-1410) - ovmf-Revert-MdePkg-Remove-the-macro-definitions-regarding.patch ovmf-Revert-UefiCpuPkg-Replace-Opcode-with-the-correspond.patch ovmf-Revert-SourceLevelDebugPkg-Replace-Opcode-with-the-c.patch ovmf-Revert-MdePkg-Replace-Opcode-with-the-corresponding-.patch ovmf-Revert-MdeModulePkg-Replace-Opcode-with-the-correspo.patch - Then reverted 5 patches in 84338c0d49~..bbaa00dd01 MdeModulePkg: Replace Opcode with the corresponding MdePkg: Replace Opcode with the corresponding SourceLevelDebugPkg: Replace Opcode with the UefiCpuPkg: Replace Opcode with the corresponding MdePkg: Remove the macro definitions regarding Opcode. - Change the size of ovmf-x86_64 to 4MB, otherwise OBS exposes the following error: [ 266s] GenFv: ERROR 3000: Invalid [ 266s] the required fv image size 0x1afed8 exceeds the set fv image size 0x1ac000 - [ovmf-x86_64]="-p OvmfPkg/OvmfPkgX64.dsc -D FD_SIZE_4MB"- add ovmf-tools_def-add-fno-omit-frame-pointer-to-GCC48_-IA32-.patch. It fixes crashes when linked using gcc 12 (bsc#1199597).- Respin amd-sev and amd-sev-es features After more testing, we found that not all descriptors can support both amd-sev with amd-sev-es. So we removed all amd-sev and amd-sev-es feature tags but only keep them in ovmf-x86_64-2m.json and 60-ovmf-x86_64.json. (bsc#1198246#c75)- Add GCC 12 workaround (ovmf-ignore-spurious-GCC-12-warning.patch) that handles: https://bugzilla.tianocore.org/show_bug.cgi?id=3816 The same patch is already included in qemu package.- TPM_ENABLE got renamed to TPM2_ENABLE and TPM_CONFIG_ENABLE removed (except on ARM for some reason) (boo#1197104)- Update to edk2-stable202202 - Features (https://github.com/tianocore/edk2/releases): OvmfPkg Add new target for Cloud Hypervisor Add TDVF to OvmfPkg Add new APIs to UefiCpuPkg/UefiCpuLib Add AMD Secure Nested Paging Support Add SSDT PCI generator in DynamicTablesPkg Support ACPI 6.4 PPTT changes Add FdtHwInfoParser library Add DynamicPlatRepo library Make package and platform builds reproducible across source format changes Add Uncrustify CI Plugin Apply uncrustify changes to all package C and H files - Patches (git log --oneline --reverse edk2-stable202111~..edk2-stable202202): bb1bba3d77 NetworkPkg: Fix invalid pointer for DNS response token on error ef9a059cdb EmulatorPkg/Win/Host: Update CC_FLAGS 69877614fd .pytool/Plugin/EccCheck: Remove RevertCode() 854462bd34 .pytool/Plugin/EccCheck: Remove temp directory on exception 3019f1bbab .pytool/Plugin/EccCheck: Add performance optimizations 99f84ff473 .pytools/Plugin/LicenseCheck: Use temp directory for git diff output 76a1ce4d5f .azurepipelines/templates: Update max pipeline job time to 2 hours 365dced2c3 ArmPkg: Update YAML to ignore specific ECC files/errors 1939fc9569 ArmPlatformPkg: Update YAML to ignore specific ECC files/errors c97fee87f0 ArmVirtPkg: Update YAML to ignore specific ECC files/errors d5744ecba8 CryptoPkg: Update YAML to ignore specific ECC files/errors d7d30e8f21 EmulatorPkg: Update YAML to ignore specific ECC files/errors 9deb937076 MdeModulePkg: Update YAML to ignore specific ECC files/errors df790cd6b3 MdePkg: Update YAML to ignore specific ECC files/errors 60fa40be45 SecurityPkg: Update YAML to ignore specific ECC files/errors 9944508e85 ShellPkg: Update YAML to ignore specific ECC files/errors c30c40d6c6 StandaloneMmPkg: Update YAML to ignore specific ECC files/errors c057347977 UefiPayloadPkg: Update YAML to ignore specific ECC files/errors f0f3f5aae7 UnitTestFrameworkPkg: Update YAML to ignore specific ECC files/errors dfafa8e453 MdeModulePkg/DxeCorePerformanceLib:Variable Initial a4a582e180 ArmPkg: Change use of EFI_D_* to DEBUG_* 1d2482e1e3 ArmPlatformPkg: Change use of EFI_D_* to DEBUG_* c5b3a56e4f ArmVirtPkg: Change use of EFI_D_* to DEBUG_* a1878955b2 EmbeddedPkg: Change use of EFI_D_* to DEBUG_* 9c7da8d804 EmulatorPkg: Change use of EFI_D_* to DEBUG_* 917e98f3e5 FatPkg: Change use of EFI_D_* to DEBUG_* 87000d7708 MdeModulePkg: Change use of EFI_D_* to DEBUG_* 5f289f3ae3 MdePkg: Change use of EFI_D_* to DEBUG_* c49ca4a29e NetworkPkg: Change use of EFI_D_* to DEBUG_* 47719926e8 OvmfPkg: Change use of EFI_D_* to DEBUG_* ca56749b0e PcAtChipsetPkg: Change use of EFI_D_* to DEBUG_* e905fbb05a SecurityPkg: Change use of EFI_D_* to DEBUG_* 4a1aee13d8 ShellPkg: Change use of EFI_D_* to DEBUG_* 586fda4800 SourceLevelDebugPkg: Change use of EFI_D_* to DEBUG_* 96e1cba5c1 UefiCpuPkg: Change use of EFI_D_* to DEBUG_* 1871d28eaf ArmPkg: Change OPTIONAL keyword usage style 2863ba97ca ArmPlatformPkg: Change OPTIONAL keyword usage style 9607597a74 ArmVirtPkg: Change OPTIONAL keyword usage style c8f46130f8 CryptoPkg: Change OPTIONAL keyword usage style fe2d81892f DynamicTablesPkg: Change OPTIONAL keyword usage style 792433088c EmbeddedPkg: Change OPTIONAL keyword usage style c69fc80c80 EmulatorPkg: Change OPTIONAL keyword usage style 9c721071d3 FmpDevicePkg: Change OPTIONAL keyword usage style e3917e22e7 MdeModulePkg: Change OPTIONAL keyword usage style d0e2f8232a MdePkg: Change OPTIONAL keyword usage style 8874fa199d NetworkPkg: Change OPTIONAL keyword usage style 79d49e162e OvmfPkg: Change OPTIONAL keyword usage style 237295f46d PcAtChipsetPkg: Change OPTIONAL keyword usage style dc8fe5ec95 RedfishPkg: Change OPTIONAL keyword usage style 12710fe93b SecurityPkg: Change OPTIONAL keyword usage style 9b8507cabe ShellPkg: Change OPTIONAL keyword usage style 18908e6131 SignedCapsulePkg: Change OPTIONAL keyword usage style f9c9215b55 SourceLevelDebugPkg: Change OPTIONAL keyword usage style 902e76de19 StandaloneMmPkg: Change OPTIONAL keyword usage style 4ec586b9f6 UefiCpuPkg: Change OPTIONAL keyword usage style e35dd32821 UefiPayloadPkg: Change OPTIONAL keyword usage style 78bc3bdd2a UnitTestFrameworkPkg: Change OPTIONAL keyword usage style ea85f0fe13 ArmVirtPkg: Change complex DEBUG_CODE() to DEBUG_CODE_BEGIN/END() e3b855f283 CryptoPkg: Change complex DEBUG_CODE() to DEBUG_CODE_BEGIN/END() 4a9d411662 DynamicTablesPkg: Change complex DEBUG_CODE() to DEBUG_CODE_BEGIN/END() db52c7f755 MdeModulePkg: Change complex DEBUG_CODE() to DEBUG_CODE_BEGIN/END() 098307e082 MdePkg: Change complex DEBUG_CODE() to DEBUG_CODE_BEGIN/END() ed7f7c9168 NetworkPkg: Change complex DEBUG_CODE() to DEBUG_CODE_BEGIN/END() 8e875037bf OvmfPkg: Change complex DEBUG_CODE() to DEBUG_CODE_BEGIN/END() deba54761a PcAtChipsetPkg: Change complex DEBUG_CODE() to DEBUG_CODE_BEGIN/END() f9f4fb2329 SecurityPkg: Change complex DEBUG_CODE() to DEBUG_CODE_BEGIN/END() 7c2a6033c1 UefiCpuPkg: Change complex DEBUG_CODE() to DEBUG_CODE_BEGIN/END() 429309e0c6 ArmPkg: Apply uncrustify changes 40b0b23ed3 ArmPlatformPkg: Apply uncrustify changes 2b16a4fb91 ArmVirtPkg: Apply uncrustify changes 7c34237831 CryptoPkg: Apply uncrustify changes 731c67e1d7 DynamicTablesPkg: Apply uncrustify changes e7108d0e96 EmbeddedPkg: Apply uncrustify changes a550d468a6 EmulatorPkg: Apply uncrustify changes bcdcc4160d FatPkg: Apply uncrustify changes 45ce0a67bb FmpDevicePkg: Apply uncrustify changes 111f2228dd IntelFsp2Pkg: Apply uncrustify changes 7c7184e201 IntelFsp2WrapperPkg: Apply uncrustify changes 1436aea4d5 MdeModulePkg: Apply uncrustify changes 2f88bd3a12 MdePkg: Apply uncrustify changes d1050b9dff NetworkPkg: Apply uncrustify changes ac0a286f4d OvmfPkg: Apply uncrustify changes 5220bd211d PcAtChipsetPkg: Apply uncrustify changes 39de741e2d RedfishPkg: Apply uncrustify changes c411b485b6 SecurityPkg: Apply uncrustify changes 47d20b54f9 ShellPkg: Apply uncrustify changes b878648967 SignedCapsulePkg: Apply uncrustify changes c1e126b119 SourceLevelDebugPkg: Apply uncrustify changes 91415a36ae StandaloneMmPkg: Apply uncrustify changes 053e878bfb UefiCpuPkg: Apply uncrustify changes e5efcf8be8 UefiPayloadPkg: Apply uncrustify changes 7c0ad2c338 UnitTestFrameworkPkg: Apply uncrustify changes dc453b5164 .pytool/Plugin/UncrustifyCheck: Add Uncrustify CI plugin 1832eb15aa UefiPayloadPkg/UefiPayloadPkg.fdf: Update DXE Apriori list ca78281c25 UefiPayloadPkg/PayloadEntry: Inherit 4/5-level paging from bootloader b2f7ee2ded UefiPayloadPkg: Increase SystemMemoryUefiRegionSize from 32M to 64M 94e0a7bddb UefiPayloadPkg: Add missing Guid gUefiAcpiBoardInfoGuid 2527723de9 UefiPayloadPkg: Add performance measurement feature ffdde9d719 UefiPayloadPkg: Skip ModuleInfo HOB in Payload 965292135b UefiPayloadPkg/UefiPayloadPkg.dsc:Add BootManagerLib for BootManagerMenuApp 85a678bf76 UefiPayloadPkg: Add integration instruction for coreboot common error 7b28310008 BaseTools: Increase the DevicePath length for support more PCD value. d25b803e51 MdeModulePkg/Bus/Pci/UhciDxe: Fix the UsbHc memory allocate and free issue c82ab4d8c1 BaseTools/VfrCompile: Correct Bit Field Flags for numeric/one of 2ddacfb6b8 OvmfPkg/SecMain: move SEV specific routines in AmdSev.c e2289d19d8 UefiCpuPkg/MpInitLib: move SEV specific routines in AmdSev.c 2fe8edfe55 OvmfPkg/ResetVector: move clearing GHCB in SecMain 3053183d41 OvmfPkg/ResetVector: introduce SEV metadata descriptor for VMM use 707c71a01b OvmfPkg: reserve SNP secrets page cca9cd3dd6 OvmfPkg: reserve CPUID page f2dc28f0b6 OvmfPkg/ResetVector: pre-validate the data pages used in SEC phase 34819f2cac OvmfPkg/ResetVector: use SEV-SNP-validated CPUID values d9822304ce OvmfPkg/MemEncryptSevLib: add MemEncryptSevSnpEnabled() 7c3b2892ea OvmfPkg/SecMain: register GHCB gpa for the SEV-SNP guest d2b998fbdc OvmfPkg/VmgExitLib: use SEV-SNP-validated CPUID values a19b648952 OvmfPkg/PlatformPei: register GHCB gpa for the SEV-SNP guest 19914edc5a OvmfPkg/AmdSevDxe: do not use extended PCI config space ade62c18f4 OvmfPkg/MemEncryptSevLib: add support to validate system RAM d706f8fec2 OvmfPkg/MemEncryptSevLib: add function to check the VMPL0 11b15336f0 OvmfPkg/BaseMemEncryptSevLib: skip the pre-validated system RAM d39f8d88ec OvmfPkg/MemEncryptSevLib: add support to validate > 4GB memory in PEI phase 202fb22be6 OvmfPkg/SecMain: validate the memory used for decompressing Fv 8eb79b5f4f OvmfPkg/PlatformPei: validate the system RAM when SNP is active 26210f9436 MdePkg: Define ConfidentialComputingGuestAttr 504ae26b80 OvmfPkg/PlatformPei: set PcdConfidentialComputingAttr when SEV is active b95908e043 UefiCpuPkg/MpInitLib: use PcdConfidentialComputingAttr to check SEV status f4e3ce5f53 UefiCpuPkg: add PcdGhcbHypervisorFeatures f5a6e1bab5 OvmfPkg/PlatformPei: set the Hypervisor Features PCD 2c354252be MdePkg/GHCB: increase the GHCB protocol max version 9c703bc0f1 UefiCpuPkg/MpLib: add support to register GHCB GPA when SEV-SNP is enabled d4d7c9ad5f UefiCpuPkg/MpInitLib: use BSP to do extended topology check b928eb44d5 OvmfPkg/MemEncryptSevLib: change the page state in the RMP table b7b8872031 OvmfPkg/MemEncryptSevLib: skip page state change for Mmio address ea3a12d970 OvmfPkg/PlatformPei: mark cpuid and secrets memory reserved in EFI map 67484aed69 OvmfPkg/AmdSev: expose the SNP reserved pages through configuration table 06544455d0 UefiCpuPkg/MpInitLib: Use SEV-SNP AP Creation NAE event to launch APs 0f1d7477c0 OvmfPkg: Remove unused print service driver (PrintDxe) 30631f0a26 MdePkg: Add missing Cache ID (in)valid define 0077c22f6d MdePkg: Remove PPTT ID type structure a50b65ce22 ShellPkg: Update Acpiview PPTT parser to ACPI 6.4 8cf2bdfcfb ShellPkg: Add Cache ID to PPTT parser b2bbe3df54 DynamicTablesPkg: Remove PPTT ID structure from ACPI 6.4 generator e139829dd6 DynamicTablesPkg: Update PPTT generator to ACPI 6.4 e81a81e584 DynamicTablesPkg: Add CacheId to PPTT generator 9afcd48a94 OvmfPkg: Handle Cloud Hypervisor host bridge 2ccefa32a6 OvmfPkg: Create global entry point for SMBIOS parsing d8ef774346 OvmfPkg: Retrieve SMBIOS from Cloud Hypervisor 66bce05f6d OvmfPkg: Generalize AcpiPlatformDxe 7594c5bfe2 OvmfPkg: Install ACPI tables for Cloud Hypervisor f6df289a1c OvmfPkg/OvmfXen: Fix Xen build 2b20a34fd5 OvmfPkg-EmuVariableFvbRuntimeDxe: Support Access To Memory Above 4G d5efc875ef MdePkg: Introduce CcMeasurementProtocol for CC Guest firmware a124cd4ef9 SecurityPkg: Support CcMeasurementProtocol in DxeTpm2MeasureBootLib 8c06c53b58 SecurityPkg: Support CcMeasurementProtocol in DxeTpmMeasurementLib adf070ff56 OvmfPkg/Microvm: add PcdConfidentialComputingGuestAttr 2686468c43 OvmfPkg/Bhyve: add MemEncryptSevLib 61be49e0f7 OvmfPkg/PlatformCI: factor out PlatformBuildLib.py 21ee379407 OvmfPkg/PlatformCI: add QEMU_SKIP 64bccda534 OvmfPkg/PlatformCI: add BhyveBuild.py 04eacd3943 OvmfPkg/PlatformCI: add MicrovmBuild.py 8b8ae609a7 OvmfPkg/PlatformCI: add AmdSevBuild.py 2722856a87 OvmfPkg/PlatformCI: dummy grub.efi for AmdSev 1203eba58e OvmfPkg/PlatformCI: add XenBuild.py 64ef0dd1d3 OvmfPkg/Microvm/fdt: add device tree support 79dcaf7054 OvmfPkg/Microvm/fdt: load fdt from fw_cfg c802f8935c OvmfPkg/Microvm/fdt: add empty fdt 2a68abf6ee OvmfPkg/Microvm/virtio: add virtio-mmio support e07d27e24d OvmfPkg/Microvm: add README 7f1861be2b DynamicTablesPkg: AML Code generation for memory ranges 0e7147fe75 DynamicTablesPkg: AML Code generation to create a named Package() fd5fc4bbb7 DynamicTablesPkg: AML Code generation to create a named ResourceTemplate() b2b8def4e3 DynamicTablesPkg: AML Code generation to add _PRT entries 69ddfee1c3 DynamicTablesPkg: Add AmlAttachNode() ce306e48eb DynamicTablesPkg: Add Pci related objects e35a746cf5 DynamicTablesPkg: SSDT Pci express generator ec37fd9c1f DynamicTablesPkg: Fix multiple objects parsing 557dede8a6 OvmfPkg/PlatformPei: ScanOrAdd64BitE820Ram improvements 759e3c6d21 OvmfPkg/PlatformPei: prefer etc/e820 for memory detection 41d8bb3038 OvmfPkg/PlatformPei: stop using cmos for memory detection 7a6e6ae933 EmulatorPkg: Update lldbefi.py to work with current lldb which uses python3 4d30352445 ArmPkg: Add SMC helper functions c039fa7ff0 ArmPkg: Update SMC calls to use the new ArmCallSmc0/1/2/3 functions 90ad4b3b34 DynamicTablesPkg: Definition for HwInfoParser interface d59c5a20f8 DynamicTablesPkg: FdtHwInfoParser: CM Object descriptor helper 5d8b5d171c DynamicTablesPkg: FdtHwInfoParser: Add FDT utility functions 8d2691c3d5 DynamicTablesPkg: FdtHwInfoParser: Add Boot Arch parser 3ebe1ff5c9 DynamicTablesPkg: FdtHwInfoParser: Generic Timer Parser 51941f7558 DynamicTablesPkg: FdtHwInfoParser: Add Serial port parser e366a41ef0 DynamicTablesPkg: FdtHwInfoParser: Add GICC parser 0fa1217726 DynamicTablesPkg: FdtHwInfoParser: Add GICD parser b04cf355a0 DynamicTablesPkg: FdtHwInfoParser: Add MSI Frame parser d250d408cf DynamicTablesPkg: FdtHwInfoParser: Add ITS parser 7b6c8b30a5 DynamicTablesPkg: FdtHwInfoParser: Add GICR parser 26bf034a59 DynamicTablesPkg: FdtHwInfoParser: Add GIC dispatcher c67bf628c8 DynamicTablesPkg: FdtHwInfoParser: Add PCI config parser deb01dfd7f DynamicTablesPkg: Add FdtHwInfoParser library 9006967c8d DynamicTablesPkg: Handle 16550_WITH_GAS id b2d0ed20fd DynamicTablesPkg: Definition for DynamicPlatRepoLib interface 2e2db65e39 DynamicTablesPkg: DynamicPlatRepo: Add TokenGenerator 740e3bb634 DynamicTablesPkg: DynamicPlatRepo: Add TokenFixer 5fe5b6f94f DynamicTablesPkg: DynamicPlatRepo: Add TokenMapper 38f6d78c3b DynamicTablesPkg: Add DynamicPlatRepo library f14fff5135 StandaloneMmPkg/FvLib: Support large file with EFI_FFS_FILE_HEADER2. 3a72ec71cd OvmfPkg: remove unused TPM options from MicrovmX64.dsc b47575801e OvmfPkg: move tcg configuration to dsc and fdf include files 5711ff4d0b OvmfPkg: drop TPM_CONFIG_ENABLE b819388772 OvmfPkg: create Tcg12ConfigPei.inf 4de8d61bce OvmfPkg: rework TPM configuration e6ea1464a8 OvmfPkg/PlatformPei: Revert "stop using cmos for memory detection" a6c0418651 ArmPkg/SmbiosMiscDxe: Remove duplicate HII string definition 45e3842970 ArmPkg/SmbiosMiscDxe: Get full SMBIOS strings from OemMiscLib b451c69088 ArmPkg/ProcessorSubClassDxe: Get serial and part number from OemMiscLib 8ed8568922 SecurityPkg: Debug code to audit BIOS TPM extend operations 195f011973 SecurityPkg: Reallocate TPM Active PCRs based on platform support ab5ab2f603 SecurityPkg: TPM must go to Idle state on CRB command completion c63a10ecb7 EmbeddedPkg/AcpiLib: Add more helper functions f129b1f06f OvmfPkg/Bhyve: fix tls-enabled build ee1f8262b8 OvmfPkg: Call PlatformInitializeConsole for GPU passthrough case de9e5b7dc7 IntelFsp2WrapperPkg : FSPM/S UPD data address based on Build Type 9ec2cc1f31 IntelFsp2WrapperPkg : Remove EFIAPI from local functions. ae8272ef78 MdeModulePkg/UsbBusDxe: fix NOOPT build error 15c596aeeb OvmfPkg: Bhyve: Delete unused AcpiTables/Ssdt.asl file 6612ff8561 UefiCpuPkg: Extend measurement of microcode patches to TPM e910f076ad BaseTools: Fix the bug of --cmd-len build option 7935be0fbd IntelFsp2Pkg/FspSecCore: ExtendedImageRevision was not printed. c095122d4b MdeModulePkg/PciBusDxe: Enumerator to check for RCiEP before looking for RP d463c56ddd MdeModulePkg: Replace with UFS_UNIT_DESC to fix timeout problem 45920941d9 MdeModulePkg: Refactoring UFS DME request and fix timing problem 13d9e8ec98 MdeModulePkg: Put off UFS HCS.DP checking to fix timing problem 079a58276b OvmfPkg/AmdSev/SecretPei: Mark SEV launch secret area as reserved 9dd14fc91c MdePkg: Add registers of boot partition feature 14a731096d UnitTestFrameworkPkg: CI YAML: Grant cmockery spell check exception 6062002bd5 MdeModulePkg/PartitionDxe: Add break to handle invalid LBA0 in MBR 7438a85bf1 BaseTools: Fix wrong variable header size c712ce2bb1 OvmfPkg/CloudHv: Add new target for Cloud Hypervisor a2da72b2ca OvmfPkg/CloudHv: Replace legacy 8254 PIT with local APIC timer 6ecdda71fe OvmfPkg/CloudHv: Connect serial console 1552050ce7 OvmfPkg/CloudHv: Remove legacy 8259 PIC support fdcea7ff6f OvmfPkg/CloudHv: Remove Q35 specifics 71082d3d1b OvmfPkg/CloudHv: Reduce dependency on QemuFwCfg 196be601f9 OvmfPkg/CloudHv: Remove video support 7b6cbe0a81 OvmfPkg/CloudHv: Remove USB support e73d1bf96a OvmfPkg/CloudHv: Remove CSM support b66056ef21 OvmfPkg/CloudHv: add Maintainers.txt entry 5302bd81d9 OvmfPkg: Add CloudHvX64 to the CI 59c48c9314 UefiPayloadPkg: Change the user interface name of the Uiapp 5801910013 UefiPayloadPkg: Not use BaseCpuTimerLib by default. 772c5bb8dc FmpDevicePkg/FmpDxe: Update FmpDeviceCheckImageWithStatus() handling 7709988dd8 RedfishPkg/RedfishRestExDxe:Simplify status check 21320ef669 MdeModulePkg/Variable: Make only EFI_VARIABLE_NON_VOLATILE invalid 7e5c603cba MdeModulePkg/SdMmcPciHcDxe: Robust improvements for SD card 1.8V switch ee67067f17 MdeModulePkg: VariableSmmRuntimeDxe: Fix Variable Policy Message Length 5b39832e18 MdePkg: MmCommunication2: Update MM communicate2 function description ce37f45955 ArmPkg: MmCommunicationDxe: MM communicate function argument attributes 541a077bd1 ArmPkg: MmCommunicationDxe: Update MM communicate `CommBuffer**` checks 1aa1ec4574 ArmPkg: MmCommunicationDxe: Update MM communicate `CommSize` check 8cc5590eab ArmPkg: MmCommunicationDxe: Update MM communicate `MessageLength` check 6777e67383 EmbeddedPkg: Fix a build error in FwVol.c in X64 arch a867f3a704 UefiPayloadPkg: Use BaseCpuTimerLib for Universal Payload by default f4b7b473b4 MdeModulePkg/UefiBootManagerLib: Convert BmLoadOption to Variable Policy 76b3d45b75 ShellPkg: Add the missing VariablePolicyHelperLib in ShellPkg.dsc 8542fc5f95 NetworkPkg: Add the missing VariablePolicyHelperLib in NetworkPkg.dsc ae35314e7b Maintainers.txt: Add Sami Mujawar as reviewer for ArmPkg 862ea6e836 OvmfPkg: change qemu default resolution to 1280x800 e95b44c90e ArmVirtPkg: change qemu default resolution to 1280x800 929804b172 OvmfPkg: add PcdVideoResolutionSource 7f25ddbc03 OvmfPkg/QemuVideoDxe: simplify InitializeBochsGraphicsMode 336da55ca8 OvmfPkg/QemuVideoDxe: drop QEMU_VIDEO_BOCHS_MODES->ColorDepth 55c05427b9 OvmfPkg/QemuVideoDxe: factor out QemuVideoBochsAddMode 49a2d8cbf5 OvmfPkg/QemuVideoDxe: parse edid blob, detect display resolution ba79becd55 OvmfPkg/BaseCachingPciExpressLib: Migrate BaseCachingPciExpressLib 103fa647d1 ArmPkg: Replace CoreId and ClusterId with Mpidr in ARM_CORE_INFO struct 742dafd2cc DynamicTablesPkg: Print specifier macro for CM_OBJECT_ID 13136cc311 DynamicTablesPkg: FdtHwInfoParserLib: Parse Pmu info 5751d60821 DynamicTablesPkg: AmlLib: AmlAddPrtEntry() to handle GSI 5816bd3eab DynamicTablesPkg: AcpiSsdtPcieLibArm: Remove link device generation dc1118fa0d ArmVirtPkg: Add cspell exceptions 0dbd356983 ArmVirtPkg/Kvmtool: Add DSDT ACPI table 312ef7a0a4 ArmVirtPkg/Kvmtool: Add Configuration Manager 17a02163bd ArmVirtPkg/Kvmtool: Enable ACPI support 5b3c682d91 ArmVirtPkg/Kvmtool: Enable Acpiview 017564d637 ArmPkg/ArmMmuLib AARCH64: avoid EL0 accessible mappings 45b1612659 DynamicTablesPkg: Add Memory32Fixed function 007a95055b DynamicTablesPkg: Remove redundant cast in AmlCodeGenReturn 33189f0527 DynamicTablesPkg: Add AmlCodeGenMethodRetInteger function a4b7aa362d MdeModulePkg/Bus/Pci/PciBusDxe: Support platform PCI ROM override 6fb09da89f ShellPkg: Fix incorrect PPTT FlagName dereference c09dbc92e9 BaseTools/Conf: Add new macro for customizing dll file reduction. d4ac53aa91 BaseTools: Fix error leg in DscBuildData.py f78b937c95 MdeModulePkg/RuntimeDxe: clear mVirtualMapMaxIndex 96b8b5fd10 MdeModulePkg/UiApp: Fix spelling of 'FRONTPAGE' bd676f080a Maintainers.txt: add missing github IDs to OvmfPkf/Fdt reviewers 1f54eaa725 Maintainers.txt: update email for Leif Lindholm b360b0b589 Maintainers.txt: Update email address c9b7c6e0cc BaseTools: Update CLANG{35,38}_WARNING_OVERRIDES to ignore unused vars 42af706dfb BaseTools: Update brotli submodule 1193aa2dfb MdeModulePkg: update brotli submodule 85589ddbf6 OvmfPkg/VmgExitLib: Fix uninitialized variable warning with XCODE5 c28e376edc OvmfPkg/FvbServicesSmm: use the VmgExitLibNull 8a57673316 ShellPkg: Fix Ping GetTimerPeriod API failure b24306f15d NetworkPkg: Fix incorrect unicode string of the AKM/Cipher Suite - Add amd-sev-es to the following descriptors because James Fehlig tested them (bsc#1196879): 60-ovmf-x86_64.json 60-ovmf-x86_64-2m.json 60-ovmf-x86_64-ms.json 60-ovmf-x86_64-2m-ms.json - Backported patches in ovmf-bsc1196879-sev-fix.patch for fixing SEV: de463163d9 OvmfPkg/AmdSev: reserve snp pages 63c50d3ff2 OvmfPkg/ResetVector: cache the SEV status MSR value in workarea f1d1c337e7 OvmfPkg/BaseMemEncryptLib: use the SEV_STATUS MSR value from workarea- Sort file lists for reproducible build results- Modified gdb_uefi.py.in for python3 (bsc#1192126) - change 'long' to 'int' - using print (' instead of print "- Removed useless patch files because they are merged to edk2-stable202111 - ovmf-OvmfPkg-OvmfXen-Fix-build-with-QemuKernelLoaderFsDxe.patch - ovmf-OvmfPkg-OvmfXen-add-QemuKernelLoaderFsDxe.patch - ovmf-OvmfPkg-OvmfXen-set-PcdAcpiS3Enable-at-initializatio.patch - Updated URL to the edk2 repo on github - Use downloaded edk2-edk2-stable%{version}.tar.gz instead of the URL for Source0 because the edk2-edk2-stable202111 tarball is broken in tianocore repo which can not pass the "osc service runall download_files" testing. - We ill change it back to the following setting when upstream fixed tarball: Source0: https://github.com/tianocore/edk2/releases/download/edk2-stable%{version}/edk2-edk2-stable%{version}.tar.gz- Update to edk2-stable202111 - Features (https://github.com/tianocore/edk2/releases): Add SSDT CPU topology generator Support ACPI 6.4 in GTDT parser and generator Support ACPI 6.4 in DynamicTables FADT parser Support ACPI 6.4 in Acpiview PCCT parser Support ACPI 6.4 in Acpiview HMAT parser Add support for the microvm machine type (qemu) OVMF/ArmVirt: add support for virtio-mmio 1.0 IntelFsp2Pkg: adopt FSP 2.3 specification UefiCpuPkg VTF0 X64: Build page tables using Linear-Address Translation to a 1-GByte Page Enable wildcard host name matching in HTTPS/TLS implementation Add QuickSort function into BaseLib Add SMM NV variable support in universal UEFI payload Add TDVF to OvmfPkg Make package and platform builds reproducible across source format changes - Patches (git log --oneline --reverse edk2-stable202108~..edk2-stable202111): 7b4a99be8a CryptoPkg: BaseCryptLib fix incorrect param order 82f7e315d6 MdeModulePkg/PeiCore: Remove MigrateSecModulesInFv() 8b15024dc7 Maintainers: Add kraxel as Reviewer to ArmVirtPkg and OvmfPkg 80e67af9af OvmfPkg: introduce a common work area ab77b6031b OvmfPkg/ResetVector: update SEV support to use new work area format b9af5037b2 OvmfPkg/ResetVector: move the GHCB page setup in AmdSev.asm a82bad9730 ArmPkg/GicV3Dxe: Don't signal EOI on arbitrary interrupts 94e465e5cb OvmfPkg/Virtio10: Add virtio-mmio 1.0 defines 08293e43da OvmfPkg/VirtioMmioDeviceLib: Add virtio 1.0 detection. 212a2b9bb8 OvmfPkg/VirtioMmioDeviceLib: virtio 1.0: Fix SetPageSize. 537a724421 OvmfPkg/VirtioMmioDeviceLib: virtio 1.0: Fix SetQueueAddress 6a3e9576b8 OvmfPkg/VirtioMmioDeviceLib: virtio 1.0: Add default QueueNum ae12188cf8 OvmfPkg/VirtioMmioDeviceLib: virtio 1.0: Adapt feature bit handling 77d5fa8024 OvmfPkg/VirtioMmioDeviceLib: enable virtio 1.0 b04453d36b MdeModulePkg/EbcDxe: Mitigate memcpy intrinsics dc995ce906 MdeModulePkg: Add BootDiscoveryPolicyOld variable. 443300be46 MdePkg:Update IndustryStandard/Nvme.h with Nvme amdin controller data 0f11537548 MdeModulePkg:Increase Nvme capacity display cae735f613 ArmPkg: Enable boot discovery policy for ARM package. cb0d24637d OvmfPkg/OvmfXen: set PcdAcpiS3Enable at initialization 28152333bc OvmfPkg/LockBoxLib: use PcdAcpiS3Enable to detect S3 support 52e2dabc0f OvmfPkg/PlatformBootManagerLib: use PcdAcpiS3Enable to detect S3 support 5b5f10d746 OvmfPkg/SmmControl2Dxe: use PcdAcpiS3Enable to detect S3 support 9f3eda177a OvmfPkg/OvmfXen: add QemuKernelLoaderFsDxe f0fe55bca4 UefiPayloadPkg: Fix the build error when enable Core ci for UefiPayloadPkg 5d34cc49d5 UefiCpuPkg/PiSmmCpuDxeSmm: Update mPatchCetSupported set condition cdda3f74a1 UefiPayloadPkg/UefiPayloadEntry: Fix memory corruption 3b3f882288 MdeModulePkg/PiSmmCore: Drop deprecated image profiling commands b170806518 UefiCpuPkg: Clean up save state boundary checks and comments. 12e33dca4c IntelFsp2Pkg: Support Config File and Binary delta comparison 63fddc98e0 UefiPayloadPkg: Create .yaml file in UefiPayloadPkg e3ee8c8dbd .azurepipelines: Add UefiPayloadPkg in gate-build-job.yml and CISetting.py b6bc203375 MdeModulePkg/HiiDatabaseDxe:remove dead code block c5e805ffe1 MdeModulePkg: Fix typo of "memory" in RamDiskDxe debug message 81d71fb86e Maintainers.txt: Update maintainer/reviewer roles in MdeModulePkg edf8bc6d24 SecurityPkg/MemoryOverwriteControl: Add missing argument to DEBUG print 4473834e7d OvmfPkg/OvmfXen: Fix build with QemuKernelLoaderFsDxe a7cf2c5664 RedfishPkg: Fix various typos 851785ea67 UefiPayloadPkg: Include more modules in UefiPayloadPkg. d248516b3a UefiPayloadPkg: Include Network modules in UefiPayloadPkg. 6c7d6d4a5e UefiCpuPkg: ResetVector Tool Support for Python 3 cf7c650592 UefiCpuPkg: ResetVector Tool additional debug prints d96df7e993 UefiPayloadPkg: Fix the bug in dump guid HOB info functions dcd3d63f4f UefiPayloadPkg: Dump hob info from gEdkiiBootManagerMenuFileGuid 610d8073f2 SecurityPkg/TPM: Import PeiDxeTpmPlatformHierarchyLib.c from edk2-platforms 4d5f39cd22 SecurityPkg/TPM: Fix bugs in imported PeiDxeTpmPlatformHierarchyLib ebbc8ab2cd SecrutiyPkg/Tcg: Import Tcg2PlatformDxe from edk2-platforms 2906e572c6 SecurityPkg/Tcg: Make Tcg2PlatformDxe buildable and fix style issues f108178c56 SecurityPkg: Introduce new PCD PcdRandomizePlatformHierarchy a4867dea2a SecurityPkg/Tcg: Import Tcg2PlatformPei from edk2-platforms 2fa89c8e11 SecurityPkg/Tcg: Make Tcg2PlatformPei buildable and fix style issues 3b69fcf5f8 SecurityPkg: Add references to header and inf files to SecurityPkg 6c80564b89 MdeModulePkg/Core/Pei: Fix typo in function descriptions 6f501a7c9b MdeModulePkg/Core/Pei: Make migrated PEIM message verbose c19d18136e MdeModulePkg/Core/Pei: Fix pointer size mismatch in EvacuateTempRam() f4e72cf9d6 UefiPayloadPkg: Add script to build UniversalPayload in UefiPayloadPkg bda3546c55 UefiPayloadPkg: Fix the warning when building UefiPayloadPkg with IA32+X64 010753b7e7 UefiCpuPkg: Refactor initialization of CPU features during S3 resume 89f7ed8b29 UefiCpuPkg: Prevent from re-initializing CPU features during S3 resume 60d8bb9f28 UefiCpuPkg: VTF0 Linear-Address Translation to a 1-GByte Page till 512GB ac6388add4 ArmPkg/ProcessorSubClassDxe: Fix the format of ProcessorId e3e47d7963 UefiCpuPkg: SecCoreNative without ResetVector 542cba73d2 SecurityPkg: Add debug log for indicating IBB verified OBB successfully f334c5a41d IntelFsp2WrapperPkg: Make PcdFspModeSelection dynamic 79019c7a42 OvmfPkg: set a default value for the WorkAreaHeader PCD fdeff3fdae EmbeddedPkg: Remove duplicate libfdt.h include f2a7e24e38 EmbeddedPkg: AndroidBootImgBoot error handling updates c0cd26f43c EmbeddedPkg: Install FDT if UpdateDtb is not present 7ea7f9c077 EmbeddedPkg: Add LoadFile2 for linux initrd d60915b751 UefiPayloadPkg: Add Macro to enable or disable some drivers. 46b4606ba2 MdeModulePkg/PciBusDxe: Improve the flow of testing support attributes f57040b038 MdeModulePkg/BootManagerMenuApp: Limit string drawing within one line b0f1b1c5fd MdePkg: Fix DEVICE_SECURITY_EVENT_DATA_HEADER version definition cc5a67269e UefiPayloadPkg: Build a HOB from bootloader ACPI table dc430ccf3f UefiPayloadPkg: Use dummy constructor for PlatformHookLib 4a1899dd79 UefiPayloadPkg: Add ".upld_info" in universal payload 2ea0a0a414 BaseTools: Switch to downloading the ARM compiler from Arm's site 1ce6ceb75b BaseTools: Switch to downloading the AARCH64 compiler from Arm's site c214128a38 BaseTools/GenMake: Use ToolDefinition as fallback option 259c184c8f BaseTools/build: Set MakefileName 445c39f757 BaseTools: Remove Makefile/MakefileName fields c7d5b046d9 BaseTools: Remove hard-coded strings for target and tools_def 442e46d3b6 UefiPayloadPkg: Update maximum logic processor to 256 499c4608b1 OvmfPkg/TPM PPI: Connect default consoles for user interaction b8675deaa8 OvmfPkg: Handle TPM 2 physical presence opcodes much earlier 8ab8fbc016 OvmfPkg: Reference new Tcg2PlatformDxe in the build system for compilation bd298d7593 OvmfPkg: Reference new Tcg2PlatformPei in the build system f86de75862 MdePkg: MmCommunication: Added definition of MM Communication PPI 8b4bb94f64 MdePkg: CI YAML: Added new GUID to ignore duplicate list 9e950cda6a MdeModulePkg: CI YAML: Added new GUID to ignore duplicate list 2273799677 SecurityPkg: Fix SecureBootDefaultKeysDxe failed to start 422e5d2f7f UefiPayloadPkg: Remove asm code and sharing libraries 0875443f7e DynamicTablesPkg: Extract AcpiHelperLib from TableHelperLib 20775950c6 DynamicTablesPkg: Update TableHelperLib.inf 1ad5182500 DynamicTablesPkg: Rename single char input parameter 653113412f DynamicTablesPkg: Add HexFromAscii() to AcpiHelperLib 72ab552554 DynamicTablesPkg: Add AmlGetEisaIdFromString() to AcpiHelperLib 96e006b37e DynamicTablesPkg: Add Configuration Manager Object parser 235ff9fcd1 DynamicTablesPkg: Use %a formatter in AmlDbgPrint 7a8c037e9e DynamicTablesPkg: Update DynamicTablesPkg.ci.yaml 691c5f7762 DynamicTablesPkg: Deprecate Crs specific methods in AmlLib 22873f58c4 DynamicTablesPkg: Rework AmlResourceDataCodegen.c/h 4cc1458dbe IntelFsp2Pkg: Adopt FSP 2.3 specification. c49cb8f30e ArmPkg: SmbiosMiscDxe: Don't populate ExtendedBiosSize when size < 16MB 282122ec5f ArmVirtPkg/TPM: Add a NULL implementation of TpmPlatformHierarchyLib b3685956d2 ArmVirtPkg: Reference new TPM classes in the build system for compilation c806b76865 ArmVirtPkg: Disable the TPM2 platform hierarchy 606340fba3 OvmfPkg/Microvm: copy OvmfPkgX64 files as-is 4932f05a00 OvmfPkg/Microvm: rename output files, fix includes 2a49c19b9e OvmfPkg/Microvm: no smm 60d55c4156 OvmfPkg/Microvm: no secure boot 0569c52b15 OvmfPkg/Microvm: no tpm 06fa1f1931 OvmfPkg/Microvm: no sev 6073bf6cd8 OvmfPkg/Microvm: no csm b9dd64b80e OvmfPkg/Microvm: no emulated scsi 27de86ae41 OvmfPkg/Microvm: use MdePkg/Library/SecPeiDxeTimerLibCpu 76602f45dc OvmfPkg/Microvm: use XenTimerDxe (lapic timer) 6a8e9ad24b OvmfPkg/Microvm: PlatformPei/MemDetect tweaks 8583b57c5c OvmfPkg/Microvm: PlatformPei/Platform memory map tweaks bf02d73e74 OvmfPkg/Microvm: PlatformPei/Platform: add id. 1d3e89f349 OvmfPkg/ResetSystemLib: add driver for microvm 2c467c9be2 OvmfPkg/Microvm: BdsPlatform: PciAcpiInitialization tweak. 8456785986 OvmfPkg/Microvm: use PciHostBridgeLibNull 55f47d2299 OvmfPkg/Microvm: wire up serial console, drop super-io 862e814de4 OvmfPkg/Microvm: add Maintainers.txt entry 06a326caf1 DynamicTablesPkg: Update FADT generator to ACPI 6.4 f09dbf20b9 DynamicTablesPkg: Rename SBSA generic watchdog 942c9bd357 ShellPkg: Update Acpiview GTDT parser to ACPI 6.4 80e67bcb23 ShellPkg: Update Acpiview PCCT parser to ACPI 6.4 b4da6c29f1 ShellPkg: Add Type 5 PCC Subspace Structure parser 5ece2ad36c MdeModulePkg/Core/Dxe: Add lock protection in CoreLocateHandleBuffer() 30400318a2 ShellPkg: Update Acpiview HMAT parser to ACPI spec version 6.4 71c3c9c0c4 DynamicTablesPkg: Remove unnecessary includes 25cf58a163 DynamicTablesPkg: Add missing parameter check bfaf7c8b9e DynamicTablesPkg: Add AddSsdtAcpiHeader() 28b2df475f DynamicTablesPkg: Add AmlRdSetEndTagChecksum() 74addfeab6 DynamicTablesPkg: Add AmlSetRdListCheckSum() 7b2022d39e DynamicTablesPkg: Set EndTag's Checksum if RdList is modified 2dd7dd3952 DynamicTablesPkg: Clear pointer in node creation fcts 37bd08176c DynamicTablesPkg: Update error handling for node creation 6d2777d85f DynamicTablesPkg: Make AmlNodeGetIntegerValue public f995f8672b DynamicTablesPkg: AML Code generation for Register() 9454d1ebcb DynamicTablesPkg: AML Code generation for Resource data EndTag 1e33479b39 DynamicTablesPkg: AML code generation for a Package 12e65fd258 DynamicTablesPkg: Helper function to compute package length ce15936f2f DynamicTablesPkg: AML code generation for a ResourceTemplate de62ccbf4f DynamicTablesPkg: AML code generation for a Method e2d7b4950b DynamicTablesPkg: AML code generation to Return a NameString 3e958e93ce DynamicTablesPkg: AML code generation for a Method returning a NS 018a962d92 DynamicTablesPkg: AML code generation for a _LPI object a5e36ad9bc DynamicTablesPkg: AML code generation to add an _LPI state f17ef10e63 DynamicTablesPkg: Add CM_ARM_LPI_INFO object 769e63999f DynamicTablesPkg: SSDT CPU topology and LPI state generator 19ee56c4b3 UefiPayloadPkg: Add a macro to select the SecurityStubDxe driver. 782d018703 MdePkg: Add ProcessorUpgradeSocketLGA4677 from SMBIOS 3.5.0 ba4ae92234 ShellPkg: Support ProcessorUpgradeSocketLGA4677 from SMBIOS 3.5.0 f22feb0e3b CryptoPkg/BaseCryptLib: Eliminate extra buffer copy in Pkcs7Verify() 4225a464c6 MdePkg/BaseLib: Add QuickSort function on BaseLib 6ed6abd6c1 BaseTools: Change RealPath to AbsPath 978d428ec3 UefiPayloadPkg: Add PCI root bridge info hob support for SBL 43b3840873 MdeModulePkg/Sd: Corrections for Extra.uni files a7fcab7aa3 MdeModulePkg/Core/Dxe: Acquire a lock when iterating gHandleList e40fefafa9 ArmVirtPkg/FdtClintDxe: Move FdtClientDxe to EmbeddedPkg fb759b8b73 MdePkg: Add PcdPciIoTranslation PCD 7d78a86ecf ArmPkg: Use PcdPciIoTranslation PCD from MdePkg 77e9b3a7c6 ArmVirtPkg/FdtPciPcdProducerLib: Relocate PciPcdProducerLib to OvmfPkg d881c6ddf5 ArmVirtPkg/HighMemDxe: Relocate HighMemDxe to OvmfPkg 47bd85e9f9 OvmfPkg/HighMemDxe: Add RISC-V in the supported arch. f8d0501ded ArmVirtPkg/QemuFwCfgLib: Relocate QemuFwCfgLib to OvmfPkg 26aa241d2f OvmfPkg/QemuFwCfgLibMmio: Add RISC-V arch support c6770f4b88 MdePkg: Add PcdPciMmio32(64)Translation PCDs 9a7509e465 ArmVirtPkg/FdtPciHostBridgeLib: Relocate FdtPciHostBridgeLib to OvmfPkg/Fdt b21c6794de OvmfPkg/FdtPciHostBridgeLib: Add RISC-V in the supported arch. e0c23cba5e ArmVirtPkg/VirtioFdtDxe: Relocate VirtioFdtDxe to OvmfPkg/Fdt f2400e06db BaseTools: add edk2-test repo to SetupGit.py 785cfd3305 UefiPayloadPkg: Use SECURITY_STUB_ENABLE to control the SecurityStubDxe 7e43d3e086 ArmPkg/Smbios: Fix max cache size 2 wrong issue f10a112f08 UefiPayloadPkg: Fix the build issue for coreboot 2108698346 StandaloneMmPkg: Support CLANGPDB builds 11a4af85a4 Ovmfpkg: update Ia32 build to use new work area 36b561623a OvmfPkg/AmdSev: update the fdf to use new workarea PCD 91a978ce7e UefiPayloadPkg: Replace MEMROY_ENTRY by MEMORY_ENTRY 6ef5797447 UefiPayloadPkg: Fix ECC reported issues 90246a6d9f UefiPayloadPkg: Fix the build failure for non-universal payload 37a33f02aa UefiCpuPkg: Cpu feature data stored in memory may be migrated 4fdf843c75 DynamicTablesPkg: Fix unitialized variable use 6893865b30 DynamicTablesPkg: Fix void pointer arithmetic 99325a8b65 MdeModulePkg/SortLib: Add QuickSort function on BaseLib 305fd6bee0 UefiCpuPkg/CpuCacheInfoLib: Add QuickSort function on BaseLib 2f286930a8 ShellPkg: Parse I/O APIC and x2APIC structure bd5ec03d87 NetworkPkg/HttpBootDxe: make file extension check case-insensitive 6254037223 ArmPkg: Implement PlatformBootManagerLib for LinuxBoot f079e9b450 OvmfPkg: Copy Main.asm from UefiCpuPkg to OvmfPkg's ResetVector 5a2411784b OvmfPkg: Clear WORK_AREA_GUEST_TYPE in Main.asm c9ec74a198 OvmfPkg: Add IntelTdxMetadata.asm 8b76f23534 OvmfPkg: Enable TDX in ResetVector 87a34ca0cf UefiPayloadPkg: Add a common SmmAccessDxe module e7e8ea27d4 UefiPayloadPkg: Add a common SMM control Runtime DXE module bed990aae6 UefiPayloadPkg: Add bootloader SMM support module 1d66480aa4 UefiPayloadPkg: Add SpiFlashLib 04714cef46 UefiPayloadPkg: Add FlashDeviceLib ae8acce8ae UefiPayloadPkg: Add a common FVB SMM module 242dcfe30f UefiPayloadPkg: Add a SMM dispatch module b80c17b62d UefiPayloadPkg: Add SMM support and SMM variable support 2f6f3329ad FmpDevicePkg/FmpDxe: Use new Variable Lock interface 9a95d11023 IntelFsp2Pkg/SplitFspBin.py: adopt FSP 2.3 specification. bb146ce32d MdePkg Cpuid.h: Define CPUID.(EAX=7,ECX=0):EDX[30] 1bc232aae3 RedfishPkg: Update link to staging/RedfishClientPkg in Readme.md e7663fdd82 UefiPayloadPkg: Remove SystemTableInfo GUID. 91b772ab62 RedfishPkg: Add more information to Readme.md c8594a5311 SecurityPkg/FvReportPei: Remove the ASSERT to allow neither M nor V 939c2355da IntelFsp2Pkg SplitFspBin.py: Correct file name in file header 6f9e83f757 NetworkPkg/HttpDxe: Enable wildcard host name matching for HTTP+TLS. b258f12889 BaseTools/VrfCompile: Fix uninitialized field from unnamed field 0f4cdad25b DynamicTablesPkg: Add missing BaseStackCheckLib instance e13e53cb2f NetworkPkg/NetworkPkg.dsc: Add RngLib mapping for ARM and RISCV64 c1f2287635 SecurityPkg/SecurityPkg.dsc: Add missing RngLib for ARM and RISCV64 b0a03ca4a9 SignedCapsulePkg/SignedCapsulePkg.dsc: Add RngLib mapping 15e635d1b5 UefiCpuPkg/MtrrLib/UnitTest: Fix 32-bit GCC build issues 4050c873b5 MdeModulePkg/Variable/RuntimeDxeUnitTest: Fix 32-bit GCC builds d79df34beb BaseTools: Fix StructurePcd offset error. b5d4a35d90 MdeModulePkg/XhciSched: Fix missing DEBUG arguments 48452993ad MdePkg/Include: Enhance DebugLib to support reproduce builds 5948ec3647 MdePkg: Reproduce builds across source format changes f331310a10 ArmPkg: Reproduce builds across source format changes 77dcd03ecf MdeModulePkg: Reproduce builds across source format changes 45137bca2f NetworkPkg: Reproduce builds across source format changes d939a25d41 SecurityPkg: Reproduce builds across source format changes fd42dcb1fc OvmfPkg: Reproduce builds across source format changes 8c1b1fe634 ShellPkg: Add comment that ItemPtr is set after validation d6e6337cd6 MdePkg: Fix ACPI memory aggregator/device type mismatch c974257821 MdeModulePkg AtaAtapiPassThru: Always do S.M.A.R.T. check if device support aab6bb3d32 MdeModulePkg/DxeCapsuleLibFmp: Capsule on Disk file name capsule a7b35aae13 MdeModulePkg\UfsBlockIoPei: UFS MMIO address size support both 32/64 bits f826b20811 UefiCpuPkg/UefiCpuLib: Add GetCpuFamilyModel and GetCpuSteppingId 8c8867c5da MdeModulePkg/DxeCapsuleLibFmp: Use new Variable Lock interface 22c3b5a865 BaseTools: Add authenticated variable store support a92559671a OvmfPkg/Xen: Fix VS2019 build issues 4c495e5e3d OvmfPkg/Bhyve/PlatformPei: Fix VS2019 X64 NOOPT build issue 466ebdd2e0 MdeModulePkg/FPDT: Lock boot performance table address variable at EndOfDxe 455b0347a7 UefiCpuPkg/PiSmmCpuDxeSmm: Use SMM Interrupt Shadow Stack e1e7306b54 OvmfPkg/Library/ResetSystemLib: Fix Microvm VS2019 NOOPT build issue 4c7ce0d285 MdeModulePkg AtaAtapiPassThru: Skip the potential NULL pointer access bb1bba3d77 NetworkPkg: Fix invalid pointer for DNS response token on error - Removed patches which are merged to mainline: - ovmf-OvmfPkg-OvmfXen-set-PcdAcpiS3Enable-at-initializatio.patch to fix the S3 detection in ovmf-xen - cb0d24637d edk2-stable202111-rc1~220 - ovmf-OvmfPkg-OvmfXen-add-QemuKernelLoaderFsDxe.patch to add QemuKernelLoaderFsDxe to ovmf-xen to load kernel from qemu fw_cfg - 9f3eda177a edk2-stable202111-rc1~216 - ovmf-OvmfPkg-OvmfXen-Fix-build-with-QemuKernelLoaderFsDxe.patch - 4473834e7d edk2-stable202111-rc1~203 - The edk2-stable202111 includes the following patches for bsc#1192126 to fix unlimited reset. (bsc#1192126) 80e67af9af OvmfPkg: introduce a common work area ab77b6031b OvmfPkg/ResetVector: update SEV support to use new work area format b9af5037b2 OvmfPkg/ResetVector: move the GHCB page setup in AmdSev.asm- For preparing push to SLE15-SP4, add more notes: - Drop upstreamed ovmf-jscSLE-16075-SEV-ES-fixes.patch from 15-SP4 - All patches in the above big patch are in edk2-stable202011 - Some changes in ovmf.spec file of 15-SP4: - brotli-v1.0.7-17-g666c328-c.tar.xz and "add brotli" section be removed because ovmf-disable-brotli.patch. - Using %{_prefix} instead of /usr hard code. - Redundant %defattr(-,root,root) are removed. - BuildRoot be removed because factory doesn't have it. - Sync some differences in the change log between 15-SP3 with openSUSE TW since "Wed Jan 24 06:31:21 UTC 2018": - Add TLS and IPv6 supports for ArmVirtQemu. - ovmf-bsc1119454-additional-scsi-drivers.patch to support more SCSI drivers (PvScsi, MptScsi, and LsiScsi) (bsc#1119454) - already in edk2-stable202008 - Drop the build requirement of python2- cross-i386-binutils and cross-i386-gcc have been dropped from Factory, so use only cross-x86_64-* - boo#1193424- Merge the difference from SLE for pushing back to SLE15-SP4 - Add/Update 50-xen-hvm-x86_64.json in descriptors.tar.xz - Add the json descriptor for xen-hvm (bsc#1180050) - Add "nvram-template" and change the firmware file to ovmf-x86_64-ms-4m.bin (bsc#1180050, bsc#1181264) - The following patches in SLE are already in edk2-edk2-stable202108 in factory, so they will be removed from 15-SP4 - ovmf-bsc1177789-cryptopkg-fix-null-dereference.patch to fix the potential NULL dereference in AuthenticodeVerify() (bsc#1177789, CVE-2019-14584) - 26442d11e620a9 edk2-stable202011~124 - ovmf-bsc1180079-amd-sev-es-mitigation.patch to mitigate the potential AMD SEV-ES security issues (bsc#1180079) - a91b700e385e74 edk2-stable202102~181 - ovmf-jscSLE-16075-SEV-ES-use-physical-address.patch as the follow-up patch for SEV-ES to fix the flash writing (jsc#SLE-16075) - 3a3501862f7309 edk2-stable202102~105 - ovmf-bsc1183578-lzma-catch-4GB.patch to fix the possible heap corruption (bsc#1183578, CVE-2021-28211) - e7bd0dd26db7e5 edk2-stable202011~7 - ovmf-bsc1183579-fix-fv-recursion.patch to fix unlimited FV recursion (bsc#1183579, CVE-2021-28210) - b9bdfc72853fe9 edk2-stable202011~9 - Add ovmf-bsc1186151-fix-iscsi-overflows.patch to fix the possible overflows in IScsiDxe (bsc#1186151) - 83761337ec91fb edk2-stable202108-rc0~171- Update rpmlintrc (fixes aarch64 build)- Removed patches which are merged to mainline: ovmf-bsc1186151-fix-iscsi-overflows.patch ovmf-xen-relocate-shared_info_page-map.patch - Removed patches because replaced: ovmf-fix-xen-s3-detection.patch -> ovmf-OvmfPkg-OvmfXen-set-PcdAcpiS3Enable-at-initializatio.patch ovmf-xen-add-qemu-kernel-loader-fs.patch -> ovmf-OvmfPkg-OvmfXen-add-QemuKernelLoaderFsDxe.patch- Removed edk2-stable202105.tar.gz because we updated to edk2-stable202108- Update to edk2-stable202108 - Features (https://github.com/tianocore/edk2/releases): OvmfPkg: remove Xen support from OvmfPkg*.dsc, in favor of OvmfXen.dsc Add CLANGDWARF toolchain for generating ELF+DWARF NetworkPkg/IScsiDxe: remotely exploitable buffer overflows NetworkPkg/IScsiDxe: add sha256 support to CHAP Create header files and multiple Hobs for Universal Payload Add search feature in config editor Add additional build option to treat Dynamic Pcd as DynamicEx Pcd Add a new MicrocodeLib for microcode loading Implement key enrolment from default key variables StandaloneMm support for 32bit Arm machines Add firmware support for Cloud Hypervisor on arm64 Support architecture-specific openssl acceleration Support measured AMD SEV boot with kernel/initrd/cmdline Add ACPI 6.4 header Add new BootDiscoveryPolicyUiLib - Patches (git log --oneline --reverse edk2-stable202105~..edk2-stable202108): e1999b264f ArmPkg/ArmGic: Fix maximum number of interrupts in GICv3 b8ed8c0fb2 Maintainers.txt: add Sami Mujawar as top-level ArmVirtPkg reviewer dbc22a1785 UefiCpuPkg/MpInitLib: Allocate a separate SEV-ES AP reset stack area 0095070e70 MdePkg/Register/Amd: expand the SEV MSR to include the SNP definition f828fc9876 MdePkg/Register/Amd: realign macros with more space for future expansion 34e16ff883 MdePkg/Register/Amd: define GHCB macros for hypervisor feature detection f0983b2074 MdePkg/Register/Amd: define GHCB macro for Register GPA structure 4665fa6503 MdePkg/Register/Amd: define GHCB macro for the Page State Change dfd41aef78 MdePkg/Register/Amd: define GHCB macros for SNP AP creation 5a7cbd54a1 MdePkg/BaseLib: add support for PVALIDATE instruction 2b5b2ff04d MdePkg/BaseLib: add support for RMPADJUST instruction 901a9bfc3a OvmfPkg/BaseMemEncryptSevLib: introduce MemEncryptSevClearMmioPageEncMask() c394fa4c9e OvmfPkg/AmdSevDxe: use MemEncryptSevClearMmioPageEncMask() to clear EncMask 8ee4e52ba8 OvmfPkg/QemuFlashFvbServicesRuntimeDxe: use Mmio helper to clear enc mask b4a8de5d27 OvmfPkg/TpmMmioSevDecryptPei: use MemEncryptSevClearMmioPageEncMask() adfa3327d4 OvmfPkg/BaseMemEncryptSevLib: remove Flush parameter fe5da0927a IntelFsp2WrapperPkg: Remove microcode related PCDs d3ff5dbe1d MdePkg: MmControl: Fix function and structure definition mismatches 197e27c90a MdePkg: Add new 16550-compatible Serial Port Subtypes to DBG2 fdf3666f01 MdePkg: Update DBG2 and SPCR header with NVIDIA 16550 Subtype b233eb1849 EmbeddedPkg/RealTimeClockRuntimeDxe: Improve GetWakeupTime b5379899b3 MdeModulePkg/Xhci: Fix TRT when data length is 0 039e07f626 MdePkg/MdeModulePkg: Move AML_NAME_SEG_SIZE definition 1f515342d8 DynamicTablesPkg: Use AML_NAME_SEG_SIZE define 75e9154f81 OvmfPkg/VirtioMmioDeviceLib: Add EFIAPI to VirtioMmioSetQueueAddress c410ad4da4 MdePkg/BaseLib: Fix AsmReadSs() with GCC toolchain c1aa3bab12 BaseTools: Add ClangBase.lds for CLANG8 tool chain with max-page-size c6b872c6ab BaseTools GenFw: Support CLANG8ELF with conversion ELF to PE/COFF image cf9959adff BaseTools: Update build_rule to skip CLANG resource section generation 4b56ad2049 BaseTools: Add new CLANG8ELF tool chain for new LLVM/CLANG8 e1636fe18f BaseTools: Update ClangBase.lds to keep dynamic section 924c2b847f BaseTools: Change CLANG8ELF to CLANGDWARF e25566cd2b OvmfPkg: remove the Xen drivers from the IA32, IA32X64, and X64 platforms aa7f19f480 OvmfPkg: remove the Xen drivers from the AmdSev platform 7bc04a75a7 OvmfPkg: switch IA32, IA32X64, X64 to the fw_cfg-only ACPI platform driver d697037446 OvmfPkg: switch the AmdSev platform to the fw_cfg-only ACPI platform driver ae4aa4a346 OvmfPkg/README: bump minimum QEMU version to 1.7.1, machine types to 1.7 2a85d9b07e OvmfPkg/AcpiPlatformDxe: fix header file warts 180f1908b3 OvmfPkg/AcpiPlatformDxe: sort #includes and [LibraryClasses] 6d1e56e715 OvmfPkg/AcpiPlatformDxe/QemuLoader.h: remove QemuFwCfgLib class dependency 747b1ef725 OvmfPkg/AcpiPlatformDxe: move "QemuLoader.h" to IndustryStandard cc302b799e OvmfPkg/AcpiPlatformDxe: consolidate #includes and [LibraryClasses] c9bba52fc7 OvmfPkg/XenAcpiPlatformDxe: create from AcpiPlatformDxe a31fcb5096 OvmfPkg/AcpiPlatformDxe: remove the "AcpiPlatformDxe.inf" driver 4115840c28 OvmfPkg/XenAcpiPlatformDxe: remove the QEMU ACPI linker/loader client d6ba8aa6ef OvmfPkg/XenAcpiPlatformDxe: remove QEMU fw_cfg dependency 3f975ee570 OvmfPkg/XenAcpiPlatformDxe: remove the InstallAcpiTable() helper function 8f8d3d90c5 OvmfPkg/XenAcpiPlatformDxe: remove OVMF's built-in ACPI tables 4174c5c787 OvmfPkg/Bhyve/AcpiPlatformDxe: fix file path typo in comment d491c88a0c OvmfPkg/AcpiTables: remove unused module e7641171b6 OvmfPkg/OvmfXen: make "PcdPciDisableBusEnumeration" Fixed-at-Build 3357ac7380 OvmfPkg/XenAcpiPlatformDxe: remove delayed ACPI table installation d06eb2d1d9 OvmfPkg/PlatformPei: remove Xen support 8899e3fe6a OvmfPkg: drop PcdPciDisableBusEnumeration from the IA32, IA32X64, X64 DSCs 2833589ad0 OvmfPkg: drop PcdPciDisableBusEnumeration from the AmdSev platform e43cca74ad OvmfPkg/Bhyve: make "PcdPciDisableBusEnumeration" Fixed-at-Build b005f9f1f5 OvmfPkg/OvmfXen: remove IncompatiblePciDeviceSupport DXE driver 8c8f886f27 OvmfPkg/Bhyve: remove IncompatiblePciDeviceSupport DXE driver 984c93ece3 OvmfPkg/IncompatiblePciDeviceSupportDxe: remove PcdPciDisableBusEnumeration 32fef03563 OvmfPkg/PciHostBridgeLib: consolidate #includes and INF file sections e120c962f5 OvmfPkg/PciHostBridgeLibScan: create from PciHostBridgeLib c2f24ba321 OvmfPkg/Bhyve: consume PciHostBridgeLibScan 307763c3da OvmfPkg/OvmfXen: consume PciHostBridgeLibScan 242678da2a OvmfPkg/PciHostBridgeLib: remove Bhyve and Xen support 33d4f3e39e OvmfPkg/PciHostBridgeLibScan: remove QEMU (fw_cfg) support 4c81178cf0 OvmfPkg/PciHostBridgeLibScan: remove PcdOvmfHostBridgePciDevId 8af38170b5 OvmfPkg/PciHostBridgeLibScan: clean up file names and file-top comments 7e25086a00 OvmfPkg/SmbiosPlatformDxe: clean up #includes and INF 5072593738 OvmfPkg/SmbiosPlatformDxe: return EFI_NOT_FOUND if there is no SMBIOS data 4db374562f OvmfPkg/SmbiosPlatformDxe: locate SMBIOS protocol in InstallAllStructures() a8ab14424e OvmfPkg/SmbiosPlatformDxe: split GetXenSmbiosTables() decl. to new header 9d84e74ca0 OvmfPkg/SmbiosPlatformDxe: declare InstallAllStructures() in header file d4a8aaee73 OvmfPkg/SmbiosPlatformDxe: create Xen-specific module INF file ce270905bf OvmfPkg/SmbiosPlatformDxe: split Xen entry point from QEMU entry point 51adb689e1 OvmfPkg: restrict XenPlatformLib to BdsDxe in the IA32, IA32X64, X64 DSCs ddb3fdbef3 BaseTools GenFw: Fix regression issue to convert the image to ACPI data 558d83ab1a OvmfPkg/README: Fix typo in README beb443fde0 ShellPkg: Fix typo 702ba436ed OvmfPkg/PlatformCI: bump QEMU choco package version to 2021.5.5 83761337ec NetworkPkg/IScsiDxe: wrap IScsiCHAP source files to 80 characters 29cab43bb7 NetworkPkg/IScsiDxe: simplify "ISCSI_CHAP_AUTH_DATA.InChallenge" size 95616b8661 NetworkPkg/IScsiDxe: clean up "ISCSI_CHAP_AUTH_DATA.OutChallengeLength" e8f28b09e6 NetworkPkg/IScsiDxe: clean up library class dependencies cf01b2dc8f NetworkPkg/IScsiDxe: fix potential integer overflow in IScsiBinToHex() d90fff40cb NetworkPkg/IScsiDxe: assert that IScsiBinToHex() always succeeds dc469f1371 NetworkPkg/IScsiDxe: reformat IScsiHexToBin() leading comment block 47b76780b4 NetworkPkg/IScsiDxe: fix IScsiHexToBin() hex parsing 54e90edaed NetworkPkg/IScsiDxe: fix IScsiHexToBin() buffer overflow b8649cf2a3 NetworkPkg/IScsiDxe: check IScsiHexToBin() return values 288bd74a22 Pytool: SpellCheck: Fix incorrect file mask across package matrices 1ad794b627 MdeModulePkg: Fix device path when boot manager menu is from different FV 11b1c1d4b9 SecurityPkg: TcgStorageOpalLib: Initialize SupportedAttributes parameter. d58016b768 UefiPayloadPkg: Get platform specific logic via protocol for BDS d8c18ba3f4 MdeModulePkg: Add Universal Payload general definition header file b597b6e24c MdeModulePkg: Add new structure for the PCI Root Bridge Info Hob 99de2e7e03 UefiPayloadPkg: UefiPayload retrieve PCI root bridge from Guid Hob 9d53e01efe MdeModulePkg: Add new structure for the Universal Payload SMBios Table Hob 70e8c9c3bc MdeModulePkg/Universal/SmbiosDxe: Scan for existing tables 302a8f353c UefiPayloadPkg: Create gUniversalPayloadSmbiosTableGuid Hob 75293330ea MdeModulePkg: Add new structure for the Universal Payload ACPI Table Hob 761329ee27 MdeModulePkg/ACPI: Install ACPI table from HOB. 8c0d678063 UefiPayloadPkg: Create gUniversalPayloadAcpiTableGuid Hob fa24b6ed26 UefiPayloadPkg: Use DynamicEx instead of Dynamic to pass PCD across binary c511426abe MdeModulePkg/UniversalPayload: Add definition for extra info in payload fe471d4a57 UefiPayloadPkg: Add PayloadLoaderPeim which can load ELF payload ab2b389e7a PeiCore: Remove assertion when failing to load PE image 1b380aa603 BaseTools GenFw: Keep read only alloc section as text when convert ELF 9cf9de668f StandaloneMmPkg: Core: Spelling error in comment 610385fa3b ArmPlatformPkg: SpellCheck: Switch spellcheck CI to AuditOnly 04ddd1271e ArmPkg: SpellCheck: Update valid acronyms in ExtendedWords cdf7544703 MdeModulePkg PciBusDxe: Increase the width of data read during oprom shadow 2847c72fda Maintainers.txt: Add Reviewers for Universal Payload definitions 1162ae8297 Maintainers.txt: Add reviewers for ACPI and SMBIOS modules a63914d3f6 ArmPkg: Move cache defs used in Universal/Smbios into ArmCache.h 6cfeeb71c4 UefiCpuPkg/CpuCommonFeaturesLib: Correct the CPU location check d9a7612f8d MdeModulePkg/BdsDxe: Update BdsEntry to use Variable Policy 5959879e92 ArmVirtPkg: Add PCIe host bridge utility lib for ArmVirtPkg 4dda0f7ab4 ArmVirtPkg: Enable PCIe support for Kvmtool 1e5e58d39b UefiPayloadPkg/UefiPayloadEntry: Improve bootloader memrange parsing 7471751a4d UefiPayloadPkg/UefiPayloadEntry: Remove 4GB memory WA 20ca528828 CryptoPkg: BaseCryptLib: Update Salt length requirement for RSA-PSS scheme. 18b2272e4d Azurepipeline: SpellCheck: Enforce Node dependency to use version 14.x eba32695ee CryptoPkg/BaseCryptLib: Enabled CryptSha512 for Smm/Runtime drivers 12e34cd2f7 OvmfPkg/Bhyve: clean up TPM_ENABLE remnants 82f727c4af UefiPayloadPkg: Add HobLib for UniversalPayload ea0bd5f6a7 MdeModulePkg: Add new structure for the Universal Payload Serial Port Info a75c029f60 UefiPayloadPkg: Add a separate PlatformHookLib for Universal Payload d63595c3c9 UefiPayloadPkg: Update the function definition of HobConstructor 0ff6de9358 UefiPayloadPkg: Create separate Payload Entry for UniversalPayload b208d37c73 UefiPayloadPkg: Get and enter DxeCore for Universal Payload 27cb64fffc UefiPayloadPkg: Fix up UPL Pcd database 6b69f73b59 UefiPayloadPkg: Include UniversalPayLoad modules in UefiPayloadPkg.dsc 86e6948cfb UefiPayloadPkg: Remove assert when reserve MMIO/IO resource for devices 2db0ed93ff UefiPayloadPkg: Add macro to enable and disable some drivers 3eb72b308a UefiPayloadPkg: Add PcdInstallAcpiSdtProtocol feature in UefiPayloadPkg caa139fe17 UefiPayloadPkg: Add PcdResetOnMemoryTypeInformationChange in UefiPayloadPkg 8efd912baf UefiPayloadPkg: Add new structure for BootManagerMenuFile HOB 19a541d70e UefiPayloadPkg: consume the BootManagerMenuFile HOB 333a866106 BaseTools: Remove check for Split.exe in toolset.bat f0a3f6d9c3 BaseTools: Fix spelling of "overwrite" and "overwriting" in toolset.bat 17143c4837 BaseTools: Reset ERRORLEVEL in toolsetup.bat after edk2basetools check abfff7c45d BaseTools GenFw: Add support for RISCV GOT/PLT relocations 27b8a52957 MdePkg: MmConfiguration: Move definition of EFI_MM_RESERVED_MMRAM_REGION d1fc3d7ef3 MdePkg: MmConfiguration: Added definition of MM Configuration PPI 5a2e030f73 OvmfPkg/GenericQemuLoadImageLib: plug cmdline blob leak on success 932449710c OvmfPkg/X86QemuLoadImageLib: plug cmdline blob leak on success 24b0e9d128 Revert "OvmfPkg/QemuKernelLoaderFsDxe: don't expose kernel command line" cf20302474 OvmfPkg/GenericQemuLoadImageLib: Read cmdline from QemuKernelLoaderFs 9421f5ab8d OvmfPkg/X86QemuLoadImageLib: State fw_cfg dependency in file header b37cfdd280 OvmfPkg/XenPlatformPei: Relocate shared_info page mapping 55dee4947b MdePkg : Add IPMI Macro and Structure Defintions to resolve build errors 580b11201e IntelFsp2Pkg: Add Config Editor tool support 939ed3a592 UefiPayloadPkg/PayloadLoader: Fix bug in locating relocation section 3cde0d553d UefiPayloadPkg/PayloadLoader: Remove assertion 49eeda113a NetworkPkg/IScsiDxe: re-set session-level authentication state before login 7eba9f698e NetworkPkg/IScsiDxe: add horizontal whitespace to IScsiCHAP files 7b6c2b2a26 NetworkPkg/IScsiDxe: distinguish "maximum" and "selected" CHAP digest sizes 903ce1d8f8 NetworkPkg/IScsiDxe: support multiple hash algorithms for CHAP 47fea2abcb NetworkPkg/IScsiDxe: support SHA256 in CHAP bb33c27fbe NetworkPkg: introduce the NETWORK_ISCSI_MD5_ENABLE feature test macro 8697dc60cc Maintainers.txt: Update Maintainers and reviewers for UefiPayloadPkg fea7901dba UefiPayloadPkg: Fix the build failure 1e0c441c92 OvmfPkg/Bhyve: add USB support 44ced03798 OvmfPkg/Bhyve: use static PCI32Base address b3db0cb1f8 MdeModulePkg/PartitionDxe: Ignore PMBR BootIndicator per UEFI spec 0a6b303dce UefiCpuPkg/ExceptionLib: Conditionally clear shadow stack token busy bit d10e058016 MdeModulePkg/RegularExpressionDxe: Fix memory assert in FreePool() 4c051c2c65 MdeModulePkg: Update YAML file to fix CI error 31fcee6d99 ArmVirtPkg: Add PlatformHasAcpiDtDxe for Cloud Hypervisor c28fc8ab3b ArmVirtPkg: Install Acpi tables for Cloud Hypervisor 0e3b6bd0ee ArmVirtPkg: support Cloud Hypervisor in edk2 b560e9d9b6 IntelFsp2Pkg: PatchFv parseInfFile function modification f47c4676dd Pytool: SpellCheck: Defer path expansion in cspell parameters cc89d245f9 Maintainers.txt: remove Laszlo Ersek's entries 84af6ea320 BaseTools/Scripts: Ignore Mergify merge commits in PatchCheck.py b491eace37 .mergify: Simplify Mergify rules using GitHub status checks 5ef08a49e3 .azurepipelines: Remove FINISHED and FAILED states ad1009ec62 MdePkg/Include: Add STATIC_ASSERT for L'' and L"" strings 3de3c24755 BaseTools: Remove non-ascii character of StructurePcd comment 40a9066439 BaseTools: Enable the flag to treat dynamic pcd as dynamicEx 22fe311bd2 .pytool/EccCheck: Locate BaseTools dir with EDK_TOOLS_PATH a050c599df .pytool/EccCheck: Rename edk2_path as workspace_path 50672d2692 .pytool/EccCheck: Check ecc_csv exists fb5b6220a9 .pytool/EccCheck: Set PACKAGES_PATH env var in Ecc fda5226aa3 UefiPayloadPkg: Dump hob information from boot loader 7d748705b1 MdeModulePkg: Change the PldHeader to Header in ExtraData.h 9bf4aee734 UefiPayloadPkg: Assign the length of UniversalPayload ExtraData d0b6596b8e MdeModulePkg/RamDiskDxe: Init list head before registering RamDisk protocol 91f5d3b410 IntelFsp2Pkg: BaseCacheLib EfiProgramMtrr MtrrNumber Should be UINT32 be282b1493 UefiPayloadPkg: Add PCD_DYNAMIC_AS_DYNAMICEX and set to True cac83b6f3b IntelFsp2Pkg: Add search function for Config Editor 4bac086e8e UefiPayloadPkg: Add FV Guid for DXEFV and PLDFV fddb8d24ec ArmPlatformPkg/Scripts: Infer dll load address from console output 885efcd3f9 MdePkg/Include: Smbios Specification 3.4.0 changes 83b43c4cb1 MdeModulePkg PCD: Print which PCD was unable to be found c32c5911c4 BaseTools GenFw: Add support for R_RISCV_PCREL_LO12_S relocation 097aeeb119 MdePkg/BaseLib: Add MemoryFence implementation for RiscV64 391cffcb61 MdeModulePkg PiSmmCore: Change MemoryAttributes message to DEBUG_VERBOSE 8781b143de BaseTools/Scripts: Fix GetMaintainer.py line endings 28ef05ce10 BaseTools/Scripts: Allow GitHub ID at end Maintainers.txt lines 2f5ad3f451 Maintainers.txt: Add GitHub IDs 332632abf3 Maintainers.txt: Add Jiewen Yao as OvmfPkg Maintainer 4d28a1c2fd BaseTools: Remove COMMON section from the GCC discard list 878a92a887 CryptoPkg/OpensslLib: Add native instruction support for X64 147f34b56c CryptoPkg/OpensslLib: Commit the auto-generated assembly files for X64 ac70e71b1f NetworkPkg: Making the HTTP IO timeout value programmable with PCD ab796d3e2a NetworkPkg: Add HTTP Additional Event Notifications b461d67639 OvmfPkg/ResetVector: move SEV specific code in a separate file 7f05102f65 OvmfPkg/ResetVector: add the macro to invoke MSR protocol based VMGEXIT dc485c556d OvmfPkg/ResetVector: add the macro to request guest termination f05eb2dfe5 OvmfPkg/AmdSev/SecretDxe: fix header comment to generic naming 35e267cb34 OvmfPkg/AmdSev: use GenericQemuLoadImageLib in AmdSev builds a26a08dc1f OvmfPkg: PlatformBootManagerLibGrub: Allow executing kernel via fw_cfg 0cb48007f7 OvmfPkg: add library class BlobVerifierLib with null implementation c73e31f54d OvmfPkg: add BlobVerifierLibNull to DSC 6bf5580a3d ArmVirtPkg: add BlobVerifierLibNull to DSC d10ad8444f OvmfPkg/QemuKernelLoaderFsDxe: call VerifyBlob after fetch from fw_cfg 5ace477f34 OvmfPkg/AmdSev/SecretPei: build hob for full page 0deeab36d1 OvmfPkg/AmdSev: reserve MEMFD space for for firmware config hashes 385b9d80a0 OvmfPkg/AmdSev: add BlobVerifierLibSevHashes 514b3aa08e OvmfPkg/AmdSev: Enforce hash verification of kernel blobs 8e6bb64fe4 EmbeddedPkg/VirtualRealTimeClockLib: Fix SetTime issues 610bcc69ed ArmVirtPkg: Remove meaningless comment 3445058aea MdeModulePkg/CapsuleApp: Fix typo in error message 2e1fb41339 build: Fix python3.10 threading DeprecationWarnings 0b1b0a9674 python: Replace distutils.utils.split_quotes with shlex.split fc50df0d8e BaseTools: Drop check for distutils.utils 03e77558d4 BaseTools: use shutil.copyfile instead shutil.copy2 2b47aaecef MdeModulePkg: Add BootDiscoveryPolicyUiLib. bb806a6e88 SecurityPkg: Create SecureBootVariableLib. 9732659698 SecurityPkg: Create library for enrolling Secure Boot variables. 12a4d0cb9d ArmVirtPkg: add SecureBootVariableLib class resolution 3d427c5f83 OvmfPkg: add SecureBootVariableLib class resolution b926956418 EmulatorPkg: add SecureBootVariableLib class resolution db959018b6 SecurityPkg: Remove duplicated functions from SecureBootConfigDxe. a97e9e327e ArmPlatformPkg: Create include file for default key content. 94e065582b SecurityPkg: Add SecureBootDefaultKeysDxe driver 19107590b6 SecurityPkg: Add EnrollFromDefaultKeys application. 45f3dd2ce9 SecurityPkg: Add new modules to Security package. 55266a9b8a SecurityPkg: Add option to reset secure boot keys. 6355287206 Maintainers.txt: Add new maintainer and reviewer to EmbeddedPkg/ 9abc60f9f7 EmbeddedPkg/libfdt: Add strcmp and strncpy to libfdt_env.h 0856cdc89e MdePkg: add definition of LINUX_EFI_INITRD_MEDIA_GUID 97fdcbda4e OvmfPkg: Remove Initrd LINUX_EFI_INITRD_MEDIA_GUID 4de77ae989 UefiCpuPkg/CpuCacheInfoLib: Sort CpuCacheInfo array 3c6107758b SecurityPkg: Fix GetSupportedAndActivePcrs counter calculation b40bdd6ecd UefiPayloadPkg: Add Fixed PCDs and use Macro to define the default value. d497eace3b UefiPayloadPkg: define some PCD as DynamicEX PCD ac6e5d6b41 UefiPayloadPkg: change the default value of some PCDs. 672bd1c711 UefiPayloadPkg: Add a macro to enable or diable the serial driver. d02dbb53cd UefiPayloadPkg: Fix the non-ascii character in UniversalPayloadEntry.c a7ddc7847c RedfishPkg/JsonLib: Add more JsonLib functions 5963ce5d28 MdePkg: Add ACPI 6.4 header file 4d7137f261 MdePkg: Increment FADT version d910e83299 MdePkg: Rename SBSA Generic Watchdog to Arm Generic Watchdog ad3dea9861 MdePkg: Update PMTT to ACPI 6.4 ced4cb7609 MdePkg: Add SPA Location Cookie field to SPA Range structure c82d6dd4a3 MdePkg: Remove DPPT table 357383bc4f MdePkg: Add flags and MinTransferSize to Generic Initiator 7b17bcd9a0 MdePkg: Add 'Type 5' PCC structure 0938f9235c MdePkg: Add Multiprocessor Wakeup structure 75c4a8e10d MdePkg: Add the Platform Health Assessment Table (PHAT) 1803757a9b MdePkg: Add Secure Access Components in the SDEV table 605c4a1ff2 MdePkg: Add Cache ID to PPTT 3d359ff905 MdePkg: Fix broken coding style in Acpi64.h 7311e96417 RedfishPkg/RefishCrtLib: Public RefishCrtLib 03e19e6bc8 ArmPkg/IndustryStandard: 32b/64b agnostic FF-A, Mm SVC and Std SMC IDs aee0098faf ArmPkg: prepare 32bit ARM build of StandaloneMmPkg ca1773878d GenFv: Arm: support images entered in Thumb mode b7f0226a46 StandaloneMmPkg: fix pointer/int casts against 32bit architectures a776bbabd9 StandaloneMmPkg: build for 32bit arm machines ac826886c9 MdeModulePkg/UefiSortLib:Add UefiSortLib unit test 6fdd1c13a7 MdeModulePkg PCD: Reinstall PCD service PPIS when memory available ef56f55d19 EmbeddedPkg/NonCoherentDmaLib: Avoid dereferencing unset Map field 8dd4fc5be6 UefiCpuPkg/CpuCacheInfoLib: Correct logical for identifying cache type 7b4a99be8a CryptoPkg: BaseCryptLib fix incorrect param order - Removed patches which are merged to mainline: ovmf-bsc1186151-fix-iscsi-overflows.patch ovmf-xen-relocate-shared_info_page-map.patch - Updated patches ovmf-fix-xen-s3-detection.patch -> ovmf-OvmfPkg-OvmfXen-set-PcdAcpiS3Enable-at-initializatio.patch ovmf-xen-add-qemu-kernel-loader-fs.patch -> ovmf-OvmfPkg-OvmfXen-add-QemuKernelLoaderFsDxe.patch - Added patches ovmf-OvmfPkg-OvmfXen-Fix-build-with-QemuKernelLoaderFsDxe.patch- Add ovmf-fix-xen-s3-detection.patch to fix the S3 detection in ovmf-xen - Add ovmf-xen-add-qemu-kernel-loader-fs.patch to add QemuKernelLoaderFsDxe to ovmf-xen to load kernel from qemu fw_cfg- Add ovmf-xen-relocate-shared_info_page-map.patch to fix the save/restore/migrate in ovmf-xen- Add ovmf-bsc1186151-fix-iscsi-overflows.patch to fix the possible overflows in IScsiDxe (bsc#1186151)- Correct the path to copy the Xen flavor- Update to edk2-stable202105 * MdeModulePkg/UfsPassThruDxe: Improve Device initialization polling Loop * MdePkg: MmUnblockMemoryLib: Added definition and null instance * OvmfPkg: resolve MmUnblockMemoryLib (mainly for VariableSmmRuntimeDxe) * MdeModulePkg: VariableSmmRuntimeDxe: Added request unblock memory interface * SecurityPkg: Tcg2Smm: Switching from gSmst to gMmst * SecurityPkg: Tcg2Smm: Separate Tcg2Smm into 2 modules * SecurityPkg: Tcg2Smm: Added support for Standalone Mm * SecurityPkg: Tcg2Acpi: Added unblock memory interface for NVS region * UefiCpuPkg/MpInitLib: Use NASM struc to avoid hardcode offset * UefiCpuPkg/MpInitLib: Remove unused Lock from MP_CPU_EXCHANGE_INFO * UefiCpuPkg/SmmCpuFeaturesLib: Move multi-instance function decl to header * UefiCpuPkg/SmmCpuFeaturesLib: Rename SmmCpuFeaturesLib.c * UefiCpuPkg/SmmCpuFeaturesLib: Cleanup library constructors * UefiCpuPkg/SmmCpuFeaturesLib: Abstract PcdCpuMaxLogicalProcessorNumber * UefiCpuPkg/SmmCpuFeaturesLib: Add Standalone MM support * UefiCpuPkg/PiSmmCpu: Don't allocate Token for SmmStartupThisAp * RedfishPkg/Library: RedfishLib * OvmfPkg/CpuHotplugSmm: refactor hotplug logic * OvmfPkg/CpuHotplugSmm: collect hot-unplug events * OvmfPkg/CpuHotplugSmm: add Qemu Cpu Status helper * OvmfPkg/CpuHotplugSmm: introduce UnplugCpus() * OvmfPkg: define CPU_HOT_EJECT_DATA * OvmfPkg/SmmCpuFeaturesLib: init CPU ejection state * OvmfPkg/SmmCpuFeaturesLib: call CPU hot-eject handler * OvmfPkg/CpuHotplugSmm: add EjectCpu() * OvmfPkg/CpuHotplugSmm: do actual CPU hot-eject * OvmfPkg/SmmControl2Dxe: negotiate CPU hot-unplug * EmbeddedPkg/PrePiHobLib: replace duplicate GUID * MdePkg/UefiLib: Correct the arguments passed to IsLanguageSupported() * UefiCpuPkg/CpuCacheInfoLib: Collect cache associative type * UefiCpuPkg/MpInitLib: avoid printing debug messages in AP * UefiCpuPkg/CpuDxe: Rename variables to follow EDKII coding standard * UefiCpuPkg/CpuDxe: Guarantee GDT is below 4GB * BaseTools/Ecc: Make Ecc only check first include guard * ShellPkg/SmbiosView: add more items for smbiosview -t 3 * MdePkg: Support standalone MM Driver Unload capability * OvmfPkg/X86QemuLoadImageLib: Handle allocation failure for CommandLine * ShellPkg/Pci: Add valid check for PCI extended config space parser * CryptoPkg/OpensslLib: Upgrade OpenSSL to 1.1.1j * OvmfPkg: strip build paths in release builds * MdeModulePkg: Initialize local variable value before they are used * UefiCpuPkg/SmmCommunication: Remove out-dated comments * MdePkg: use CpuPause() in CpuDeadLoop() * MdePkg/Include: EFI Redfish Discover protocol * ShellPkg/UefiHandleParsingLib: Support EFI Redfish protocols * MdePkg/Include/Protocol: EFI_HII POPUP_PROTOCOL duplicate declaration * MdePkg/Include/Protocol: EFI_RESET_NOTIFICATION_PROTOCOL duplicate * CryptoPkg/Private/Protocol/Crypto.h: Remove duplicate function type * MdePkg/BaseLib: Add support for the XSETBV instruction * MdeModulePkg/PiDxeS3BootScriptLib: Rename mAcpiS3Enable to avoid dup symbol * MdePkg/IoLib: Filter/trace port IO/MMIO access * MdePkg/Baseib: Filter/trace MSR access for IA32/X64 * UefiCpuPkg: Remove PEI/DXE instances of CpuTimerLib. * UefiCpuPkg: Add MicrocodeLib for loading microcode * OvmfPkg: Add MicrocodeLib in DSC files. * UefiPayloadPkg/UefiPayloadPkg.dsc: Consume MicrocodeLib * UefiCpuPkg/MpInitLib: Consume MicrocodeLib to remove duplicated code * UefiCpuPkg/PiSmmCpuDxeSmm: Support detect SMM shadow stack overflow * ShellPkg: Fix smbiosview system enclosure type table * UefiCpuPkg/CpuTimerLib: Update LIBRARY_CLASS of Base instance. * RedfishPkg/RedfishDiscoverDxe: EFI Redfish Discover Protocol * RedfishPkg/RedfishConfigHandler: EDKII RedfishConfigHandler Protocol * UefiCpuPkg: PiSmmCpuDxeSmm: Check buffer size before accessing * BaseTools/Conf: Fix MAKE_FLAGS typos in tools_def.template * MdeModulePkg: Initialize temp variable in VarCheckPolicyLib * SecurityPkg/Tcg2Smm: Initialize local Status variable * DynamicTablesPkg: add validation for PcdNonBsaCompliant16550SerialHid * OvmfPkg/XenResetVector: Silent a warning from nasm * MdePkg: Allow PcdFSBClock to by Dynamic * OvmfPkg/IndustryStandard/Xen: Apply EDK2 coding style to XEN_VCPU_TIME_INFO * OvmfPkg/IndustryStandard: Introduce PageTable.h * OvmfPkg/XenPlatformPei: Map extra physical address * OvmfPkg/XenPlatformPei: Calibrate APIC timer frequency * OvmfPkg/OvmfXen: Set PcdFSBClock * DynamicTablesPkg: Re-order GicItsIdentifierArray struct * DynamicTablesPkg: Remove EArmObjExtendedInterruptInfo * MdePkg: Fix AsmReadMsr64() and AsmWriteMsr64() with GCC toolchain * BaseTools/PlatformAutoGen: MAKE_FLAGS and MAKE_PATH fixes * RedfishPkg/RestJsonStructureDxe: Fix typo in function header * MdePkg/Include: Allow CPU specific defines to be predefined * CryptoPkg/Library/Include: Allow CPU specific defines to be predefined * ArmPlatformPkg: Fix Ecc error 8001 * ArmPlatformPkg: Fix Ecc error 9001 * ArmPlatformPkg: Remove package dependency in NorFlashStandaloneMm * ArmPkg: Fix Ecc error 8001 in Chipset * ArmPkg: Fix Ecc error 8001 in SemihostLib * ArmPkg: Fix Ecc error 8001 in ArmArchTimerLib * ArmPkg: Fix Ecc error 9005 in CpuDxe * ArmPkg: Fix Ecc error 10006 in ArmPkg.dsc * ArmPkg: Fix Ecc error 10016 in StandaloneMmMmuLib * ArmPkg: Fix Ecc error 10014 in ArmScmiDxe * ArmPkg: Fix Ecc error 10014 in GenericWatchdogDxe * ArmPkg: Fix Ecc error 10014 in MmCommunicationDxe * ArmPkg: Fix Ecc error 10014 in SemihostLib * ArmPkg: Remove ArmGic/ArmGicSecLib.c * ArmPkg: Fix Ecc error 5003 in ArmExceptionLib * ArmPkg: Fix Ecc error 6001 in MmCommunicationDxe * ArmPkg: Fix Ecc error 6001 in ArmSoftFloatLib * ArmPkg: Rename include guard in ArmGicLib.h * ArmPkg: Fix Ecc error 7008 for SCMI_CLOCK_RATE * ArmPkg: Fix Ecc error 7008 for OPTEE_MESSAGE_PARAM * ArmPkg: Fix Ecc error 8005/8007 in ArmDisassemblerLib * ArmPkg: Fix Ecc error 8005 for SCMI_PROTOCOL_ID * ArmPkg: Fix Ecc error 8005 for SCMI_MESSAGE_TYPE * ArmPkg: Fix Ecc error 8005 for SCMI_STATUS * ArmPkg: Fix Ecc error 8005 for SCMI_MESSAGE_ID * ArmPkg: Fix Ecc error 8005 for SCMI_MESSAGE_ID_BASE * ArmPkg: Fix Ecc error 8005 for SCMI_MESSAGE_ID_CLOCK * ArmPkg: Fix Ecc error 8005 for SCMI_CLOCK_RATE_FORMAT * ArmPkg: Fix Ecc error 8005 for SCMI_MESSAGE_ID_PERFORMANCE * RedfishPkg: Add EDK2 Redfish Foundation diagrams * SecurityPkg/FvReportPei: remove redundant sizeof * ShellPkg: Rename Address Size to Access size * DynamicTablesPkg: Add access size to CM_ARM_SERIAL_PORT_INFO * DynamicTablesPkg: Set the Access size for the SPCR table * DynamicTablesPkg: Set the Access size for the DBG2 table * UefiCpuPkg: PiSmmCpuDxeSmm: Not to Change Bitwidth During Static Paging * MdePkg/Cpuid.h: Define new element in CPUID Leaf(07h) data structure. * SecurityPkg: Add constraints on PK strength * ArmPkg: Allow platforms to supply more data for SMBIOS Type3 record * ArmPkg: Allow platforms to report their boot status via OemMiscLib call * ArmPkg: Fix calculation of offset of chassis SKU Number in SmbiosMiscDxe * ArmPkg: Fix typo of Manufacturer in comment in SmbiosMiscDxe * ArmPkg: Fix Ecc error 8003 * ArmPkg: Fix Ecc error 3002 in StandaloneMmMmuLib * ArmPkg: Add missing library headers to ArmPkg.dec * ArmPlatformPkg: Document libraries in ArmPlatformPkg.dec * ArmPkg: Add OemMiscLibNull library to ArmPkg.dsc * ArmPkg: Correct small typos * ArmPlatformPkg: Add ArmPlatformPkg.ci.yaml * OvfmPkg/VmgExitLib: Properly decode MMIO MOVZX and MOVSX opcodes * OvmfPkg/VmgExitLib: Add support for new MMIO MOV opcodes * OvmfPkg: Define a new PPI GUID to signal TPM MMIO accessability * OvmfPkg/TpmMmioSevDecryptPei: Mark TPM MMIO range as unencrypted for SEV-ES * OvmfPkg/Tcg2ConfigPei: Update Depex for IA32 and X64 * ArmPkg: Update SCMI Base Protocol version to 0x20000 * MdePkg/BaseRngLib: Add support for ARMv8.5 RNG instructions * SecurityPkg: Add support for RngDxe on AARCH64 * UefiCpuPkg/MpInitLib: Properly cast from PCD to SEV-ES jump table pointer * BaseTools: Add support for version 3 of FMP Image Header structure * CryptoPkg: BaseCryptLib: Add RSA PSS verify support * ShellPkg/UefiShellCommandLib: suppress incorrect gcc warning * OvmfPkg/VirtioFsDxe: suppress incorrect gcc warnings * UefiCpuPkg/CpuExceptionHandler: Add missing comma to exception name array * UefiCpuPkg/PiSmmCpu: Remove hardcode 48 address size limitation * MdeModulePkg: Retrieve boot manager menu from any fv * ShellPkg/HttpDynamicCommand: Fix possible uninitialized use * MdeModulePkg/PciBusDxe: Fix possible uninitialized use * CryptoPkg/BaseCryptLib: Fix possible uninitialized use * MdeModulePkg/PlatformDriOverrideDxe: Fix overflow condition check * MdeModulePkg/VariableLock: downgrade compatibility warnings to DEBUG_WARN * ArmPkg/ArmGic: Fix maximum number of interrupts in GICv3 - Update openssl to 1.1.1j - Drop upstreamed patch: ovmf-bsc1184801-fix-sev-with-tpm.patch - Add the new Xen flavor for x86_64 + Update 50-xen-hvm-x86_64.json to use ovmf-x86_64-xen-4m.bin as the default firmware for Xen- Update the descriptors to add "acpi-s4" tag to allow libvirt enable hibernation (bsc#1182886#c31)- Add ovmf-bsc1184801-fix-sev-with-tpm.patch to fix SEV-ES guest crash with TPM (bsc#1184801)- Build ovmf-x86_64-smm against Ia32X64 to enable S3 support (bsc#1184938) - Update ovmf-add-exclude-shell-flag.patch to include Ia32X64- Add ovmf-disable-brotli.patch to remove brotli since there is no real user and it requires extra effort to maintain the brotli submodule tarball + Drop ovmf-bsc1183713-fix-gcc10-brotli-errors.patch and brotli-v1.0.7-17-g666c328-c.tar.xz- Add ovmf-bsc1183713-fix-gcc10-brotli-errors.patch to fix the gcc10 error from brotli (bsc#1183713)- Update to edk2-stable202102 * ArmVirtPkg: support extra pci root bridges (pxb) * SEV Encrypted Boot for Ovmf (remote attestation) * virtio-fs driver for OvmfPkg and ArmVirtPkg * Apply SEV-ES mitigations for encryption bit position and MMIO * Add Core CI support for StandaloneMmPkg * Update LZMA module to LZMA SDK latest version 19.00 * Port open source JSON library (jansson) * add file buffering to the UEFI shell's COMP command * Shell: pathname / filename sorting * Extend support of peripheral x64 MM_STANDALONE drivers * BaseTools: Convert the Split tool from C language to Python * ArmPkg: Add Universal/Smbios * Move to Pip based Basetools python * Add support for use of FF-A callsw - Drop upstreamed patches: + ovmf-jscSLE-16075-SEV-ES-use-physical-address.patch + ovmf-bsc1180079-amd-sev-es-mitigation.patch- Add ovmf-jscSLE-16075-SEV-ES-use-physical-address.patch as the follow-up patch for SEV-ES to fix the flash writing (jsc#SLE-16075) - Update 50-xen-hvm-x86_64.json to add "nvram-template" and change the firmware file to ovmf-x86_64-ms-4m.bin (bsc#1180050, bsc#1181264) - Refresh ovmf-bsc1180079-amd-sev-es-mitigation.patch + Use "git format-patch --no-renames" to generate the patch to avoid confusing quilt with the renamed files- Add ovmf-bsc1180079-amd-sev-es-mitigation.patch to mitigate the potential AMD SEV-ES security issues (bsc#1180079) - Add the json descriptor for xen-hvm (bsc#1180050)- Update to edk2-stable202011 * MdeModulePkg/VariablePolicyLib: Fix runtime panic in ValidateSetVariable() * CryptoPkg: BaseCryptLib: Fix buffer double free in CryptPkcs7VerifyEku * Revert "SecurityPkg: Add RPMC Index to the RpmcLib" * MdeModulePkg/LzmaCustomDecompressLib: catch 4GB+ uncompressed buffer sizes (bsc#1183578, CVE-2021-28211) * MdeModulePkg/Core/Dxe: limit FwVol encapsulation section recursion (bsc#1183579, CVE-2021-28210) * MdeModulePkg/Core/Dxe: assert SectionInstance invariant in FindChildNode() (bsc#1183579, CVE-2021-28210) * SecurityPkg: Add RPMC Index to the RpmcLib * BaseTools: Resolve index out of range errors. * UefiCpuPkg/PiSmmCpuDxeSmm: Reflect page table depth with page table address * UefiCpuPkg/PiSmmCpuDxeSmm: Correct the Cr3 typo * CryptoPkg: Make the MD5 disable as default for security * NetworkPkg/Defines: Make iSCSI disable as default * OvmfPkg/OvmfXen.dsc: Enable MD5 while enable iSCSI * OvmfPkg/OvmfPkgX64.dsc: Enable MD5 while enable iSCSI * OvmfPkg/OvmfPkgIa32X64.dsc: Enable MD5 while enable iSCSI * OvmfPkg/OvmfPkgIa32.dsc: Enable MD5 while enable iSCSI * ArmVirtPkg/ArmVirtQemuKernel.dsc: Enable MD5 while enable iSCSI * ArmVirtPkg/ArmVirtQemu.dsc: Enable MD5 while enable iSCSI * NetworkPkg: Enable MD5 while enable iSCSI * CryptoPkg/dsc: Enable MD5 when CRYPTO_SERVICES enable MD5 * SecurityPkg/Hash2DxeCrypto: Remove SHA1 support * SecurityPkg/Hash2DxeCrypto: Remove MD5 support * MdeModulePkg: Drop VarLock from RuntimeDxe variable driver * MdeModulePkg: Change TCG MOR variables to use VariablePolicy * SecurityPkg: Allow VariablePolicy state to delete authenticated variables * MdeModulePkg: Allow VariablePolicy state to delete protected variables * MdeModulePkg: Connect VariablePolicy business logic to VariableServices * ArmVirtPkg: Add VariablePolicy engine to ArmVirtPkg platform * OvmfPkg: Add VariablePolicy engine to OvmfPkg platform * BaseTools: Fix BrotliCompress tool issue * MdePkg/BaseRngLibDxe: Add DXE_RUNTIME_DRIVER class to RngLib * MdeModulePkg DisplayEngineDxe: Correct the local variable name. * MdeModulePkg/AtaAtapiPassThru: Trace ATA packets * MdeModulePkg/AtaAtapiPassThru: Restart failed packets * MdeModulePkg/AtaAtapiPassThru: Add SATA error recovery flow * MdeModulePkg/AtaAtapiPassThru: Check IS to check for command completion * MdeModulePkg/DriverSampleDxe: Add HII sample options * MdeModulePkg/Library: Revise HiiLib to check REST_STYLE * BaseTools/VfrCompile: VFR compiler supports REST_STYLE in HII option * MdePkg: Add GUID for REST Style Formset * UefiCpuPkg/MpInitLib: For SEV-ES guest, set stack based on processor number * UefiCpuPkg, OvmfPkg: Disable interrupts when using the GHCB * OvmfPkg/QemuFlashFvbServicesRuntimeDxe: Fix erase blocks for SEV-ES * OvmfPkg/QemuFlashFvbServicesRuntimeDxe: Set the SwScratch valid bit * UefiCpuPkg/MpInitLib: Set the SW exit fields when performing VMGEXIT * OvmfPkg/VmgExitLib: Set the SwScratch valid bit for MMIO events * OvmfPkg/VmgExitLib: Set the SwScratch valid bit for IOIO events * OvmfPkg/VmgExitLib: Set the SW exit fields when performing VMGEXIT * OvmfPkg/VmgExitLib: Implement new VmgExitLib interfaces * UefiCpuPkg/VmgExitLib: Add interfaces to set/read GHCB ValidBitmap bits * MdePkg: Clean up GHCB field offsets and save area * BaseTools: Limit command line length. * BaseTools: Update report map file format * BaseTools: Add image type into generate map file * BaseTools: Incremental build issue for included ASI file's deletion. * MdeModulePkg/Core/Dxe: log memory base and length, after lib ctors again * BaseTools: Fix BaseTools nmake cleanall hang issue * ShellPkg:Fix bug in FileBuffer.c * BaseTools: Enable Module Scope Structure Pcd * MdeModulePkg/Gcd: Check memory allocation when initializing memory * BaseTools: Remove the dependency on the build intermediate file * DynamicTablesPkg: Add SSDT CMN-600 Table generator * MdePkg: Definitions for Extended Interrupt Flags * BaseTools: Update the FV Space Information to display decimal and Hex * MdePkg/Include: Definitions of EFI REST JSON Structure Protocol * MdeModulePkg/XhciDxe: Retry device slot init on failure * MdeModulePkg/AcpiTableDxe: use pool allocation for RSDP if possible * MdeModulePkg/AcpiTableDxe: use pool allocation for RSDT/XSDT if possible * MdeModulePkg/AcpiTableDxe: use pool allocations when possible * MdePkg: Fix SmBios.h PROCESSOR_CHARACTERISTIC_FLAGS to be UINT16 * MdePkg: Update SmBios.h to add SMBIOS 3.4.0 ARM64 SoC ID field * ShellPkg: Add ARM64 SoC ID to Processor Characteristics in smbiosview * ShellPkg: Fix smbiosview string definition name for "boot from CD" * ShellPkg: Fix a couple of typos in smbiosview * MdeModulePkg/Core: Support standalone MM in FV2 protocol GetNextFile(). * MdePkg/SystemResourceTable.h: Add vendor range values * MdePkg/Include: Fix wrong spelling in http11.h * BaseTools/Ecc: Fix ECC check MetaFile Copyright information issue * MdeModulePkg/XhciDxe: Error handle for USB slot initialization failure * ArmPkg/ArmMmuLib: Explicitly cast function pointer argument * ArmPkg/ArmMmuLib: Explicitly cast UINT32 data conversions * DynamicTablesPkg: SsdtSerialPortFixupLib fix ECC errors * DynamicTablesPkg: AmlEncoding change debug macro * DynamicTablesPkg: AmlLib\AmlDbgPrint fix ECC error * DynamicTablesPkg: AmlLib fix ECC errors * DynamicTablesPkg: AcpiSratLibArm fix ECC error * DynamicTablesPkg: SsdtSerialPortLibArm fix ECC error * DynamicTablesPkg: Fix order of assert checks * CryptoPkg/BaseCryptLib: fix NULL dereference (CVE-2019-14584) (bsc#1177789) * Revert "MdeModulePkg/PartitionDxe: Fix the incorrect LBA size in child ..." * UefiCpuPkg/MpInitLib: Reduce reset vector memory pressure * SecurityPkg/Tcg2PhysicalPresenceLib: Fix incorrect TCG VER comparision * CryptoPkg: BaseCryptLib: Add unit tests (Host and Shell based) * ArmVirtPkg: Add kvmtool to package dictionary * ArmVirtPkg: Package dependency for MC146818 RTC * ArmVirtPkg: Support for kvmtool virtual platform * ArmVirtPkg: Add Kvmtool Platform Pei Lib * ArmVirtPkg: 16550 UART Platform hook library * ArmVirtPkg: GUID Hob for 16550 UART base address * MdeModulePkg: Fix constructor invocation ordering * ArmVirtPkg: Add Kvmtool NOR flash lib * ArmVirtPkg: kvmtool platform memory map * ArmVirtPkg: Add kvmtool platform driver * ArmPlatformPkg: Dynamic flash variable base * ArmVirtPkg: Add Kvmtool RTC Fdt Client Library * PcAtChipsetPkg: Add MMIO Support to RTC driver * MdePkg/Include: Add HTTP definitions * BaseMemoryLibSse2: Take advantage of write combining buffers * RedfishPkg/Include: PCD definitions of Host Interface EFI device path * MdePkg/Include: Definitions of EFI REST EX Protocol * ShellPkg/SmbiosView: Add DDR5 support * MdePkg/BaseLib: Fix invalid memory access in AArch64 SetJump/LongJump * BaseTools: Add EDKII_DSC_PLATFORM_GUID MACRO * MdeModulePkg: Remove code wrapped by DISABLE_NEW_DEPRECATED_INTERFACES * MdePkg: Remove code wrapped by DISABLE_NEW_DEPRECATED_INTERFACES * BaseTools Build_Rule: Add the missing ASM16_FLAGS for ASM16 source file * BaseTools: Move C tool flags before the common flags * BaseTools: Copy PACKED definition from MdePkg Base.h * MdeModulePkg/Core/Dxe: expose SP and CRYPTO capabilities in UEFI memmap * MdePkg/UefiSpec: separate page access bitmask from SP and CRYPTO caps * MdePkg: SMBIOS 3.4.0 Update "adding DDR5 definitions". * NetworkPkg: Fix possible infinite loop in HTTP msg body parser * NetworkPkg/HttpDxe: TlsChildHandle is not cleared when reset * NetworkPkg: Add RngLib entry to .dsc file. * MdeModulePkg/HiiDatabase: Do not modify CONST string * OvmfPkg: enable HttpDynamicCommand * ArmVirtPkg: enable HttpDynamiCommand * ShellPkg/DynamicCommand: add HttpDynamicCommand * CryptoPkg/BaseCryptLib: add crypto algorithms needed by variable protection * BaseTools: Add RISCV64 binding * MdeModulePkg/XhciDxe: Fix Broken Timeouts * BaseTools: Set section alignment as zero if its type is Auto * BaseTools: Remove CanSkip calling for incremental build * BaseTools: Normalize case of pathname when evaluating Macros. * BaseTools: Clean the ffs folder before generating files in it * BaseTools: Add included files to deps_target file. * OvmfPkg/README: HTTPS Boot: describe host-side TLS cipher suites forwarding * MdeModulePkg/NonDiscoverablePciDeviceDxe: Add NULL pointer check * CryptoPkg: OpensslLib: Use RngLib to generate entropy in rand_pool * ArmVirtPkg: Add RngLib based on TimerLib for CryptoPkg * OvmfPkg: Add RngLib based on TimerLib for Crypto * MdePkg: BaseRngLibDxe: Add RngLib that uses RngDxe * MdePkg: TimerRngLib: Added RngLib that uses TimerLib * MdePkg: Correct EFI_BLOCK_IO_PROTOCOL_REVISION3 value * OvmfPkg: drop redundant VendorID check in VirtioMmioDeviceLib * MdePkg: PciExpressLib support variable size MMCONF * UefiPayloadPkg: Store the size of the MMCONF window * SecurityPkg/PeiTpmMeasurementLib: remove gEfiTpmDeviceSelectedGuid * BaseTools: update IASL extdep to more modern version * UefiCpuPkg/RegisterCpuFeaturesLib: Support MpServices2 only case. * BaseTools: Sort the Pcd set when generating the VPD binary * SecurityPkg/DxeImageVerificationLib: Disable SHA1 base on MACRO - Refresh ovmf-add-exclude-shell-flag.patch - Drop upstreamed ovmf-jscSLE-16075-SEV-ES-fixes.patch- Cosmetic changes in the spec file suggested by spec-cleaner- Add ovmf-jscSLE-16075-SEV-ES-fixes.patch to merge upstream SEV-ES fixes (jsc#SLE-16075)- Update the json descriptors to address all x86_64 firmware files (jsc#SLE-15915) - Remove the executable bit from brotli source code files- Add _constraints to request at least 6GB disk (bsc#1178244) - Remove the build files after finishing the build to reduce the disk usage (bsc#1178244)- Update to edk2-stable202008 + MdeModulePkg/Library: add PEIM and SEC module type to TpmMeasurementLibNull + SecurityPkg/DxeImageVerificationLib: catch alignment overflow (CVE-2019-14562) (bsc#1175476) + OvmfPkg/CpuHotplugSmm: fix CPU hotplug race before and after SMI broadcast + SecurityPkg/Tcg2: handle PRE HASH and LOG ONLY + MdePkg/Include: Add missing definition of SMBIOS type 42h in SmBios.h + MdePkg: UefiFileHandleLib: fix buffer overrun in FileHandleReadLine() + OvmfPkg: Add SEV-ES support + MdeModulePkg/PartitionDxe: Fix the incorrect LBA size in child hander + MdeModulePkg/PartitionDxe: Revert changes for the special MBR + MdeModulePkg/PartitionDxe: Put the UDF check ahead of MBR + ShellPkg: smbiosview - Change some type 17 field values format + CryptoPkg/OpensslLib: Upgrade OpenSSL to 1.1.1g + MdeModulePkg: Upon BootOption failure, Destroy RamDisk memory before RSC. + OvmfPkg/LsiScsiDxe: Add support for LSI 53C895A + MdeModulePkg/DisplayEngine: Add Debug message to show mismatch menu info + Add New Memory Attributes + MdeModulePkg/PartitionDxe: Add already start check for child hanldes + MdeModulePkg/PartitionDxe: Skip the MBR that add for CD-ROM + MdeModulePkg/PartitionDxe: Correct the MBR last block value + MdeModulePkg/Variable/RuntimeDxe: Fix return status from Reclaim() + SecurityPkg/Tcg2Pei: Add missing PCRIndex in FvBlob event. + SecurityPkg/Tcg2Dxe: Add PcdTcgPfpMeasurementRevision in SpecId event. + CryptoPkg/BaseCryptLib: Add MARCO to disable the deprecated SHA1 and MD5 + ArmVirtPkg/NorFlashQemuLib: disable NOR flash DT nodes upon discovery + UefiCpuPkg/SecCore: Add pre-memory AP vector + OvmfPkg: End timer interrupt later to avoid stack overflow under load + ArmPkg/PlatformBootManagerLib: regenerate boot options on boot failure + MdeModulePkg/StatusCodeHandler: do not output \n\r for string data + Revert "OvmfPkg: use generic QEMU image loader for secure boot enabled ..." + ArmVirtPkg/PrePi: use standard PeCoff routines for self-relocation + ArmVirtPkg: add FDF rule for self-relocating PrePi + ArmPkg/ArmExceptionLib: use static buffer for sp_el0 + MdeModulePkg/SetupBrowserDxe: Do not reconnect driver with form-update + OvmfPkg/X86QemuLoadImageLib: handle EFI_ACCESS_DENIED from LoadImage() + OvmfPkg/Tcg2ConfigPei: generalize TPM2-only file-top comments + ArmPkg: only attempt buildin MmCommunicationDxe for AArch64 + ArmPkg/PlatformBootManagerLib: don't connect all devices on each boot + ArmPkg/PlatformBootManagerLib: hide UEFI Shell as a regular boot option + MdeModulePkg/BootManagerUiLib: show inactive boot options + ArmPkg/PlatformBootManagerLib: fall back to the UiApp on boot failure + ArmPkg/PlatformBootManagerLib: register 's' as UEFI Shell hotkey + ArmPkg/PlatformBootManagerLib: connect non-discoverable USB hosts + ArmPkg/ArmSvcLib: prevent speculative execution beyond svc + ArmPkg/PlatformBootManagerLib: reject 'default' parity and stop bit count + ArmPkg/PlatformBootManagerLib: use static assertion for console type - Update openssl to 1.1.1g - Drop openssl-fix-syntax-error.patch + The new openssl already includes the fix. - Refresh ovmf-pie.patch and ovmf-disable-ia32-firmware-piepic.patch- Fixed TPM support. TPM2_ENABLE & TPM2_CONFIG_ENABLE build flags were changed to TPM_* since upstream commit 07952a962a40.- Use the reduced source tarballs since ovmf only needs a portion of the code. + brotli-v1.0.7-17-g666c328.tar.xz -> brotli-v1.0.7-17-g666c328-c.tar.xz - We only need the "c" directory, not the whole tarball. + oniguruma-v6.9.4_mark1.tar.xz -> oniguruma-v6.9.4_mark1-src.tar.xz - We only need the "src" directory, not the whole tarball.- Update to edk2-stable202005 + RegularExpressionDxe: Use submodule way to access third party Oniguruma + BrotliCustomDecompressLib: Use submodule way to access third party brotli + BaseTools: Use submodule way to access third party brotli + RISC-V architecture on EDK2 + Disabling safe string constraint assertions + ArmVirtPkg Implement support for TPM2 measured boot + OVMF Implement support for Linux v5.7+ initrd and mixed mode loading + OVMF Use loadimage/startimage for loading the kernel passed via the QEMU command line + OVMF Support booting from Fusion-MPT SCSI controllers + OVMF Support booting from VMware PVSCSI controllers + OVMF RFE: VCPU hotplug with SMM + OVMF PEI phase variable driver / MemoryTypeInfo tracking + ArmVirtPkg, OvmfPkg: Pass parameter from QEMU to control PXE IPv4/v6 boot + Remove deprecate APIs in BaseCryptLib + Add UEFI 2.8/2.8a definition in MdePkg + Add PI1.7/PI1.7a definition into MdePkg + BaseCryptoLib MD4, ARC4, TDES, AES ECB MODE, HMAC MD5, HMAC SHA1 API have been deprecated. + SecurityPkg Tcg2PhysicalPresenceLib library class removes two macros TCG2_BIOS_TPM_MANAGEMENT_FLAG_DEFAULT and TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_DEFAULT. - Add 2 tarballs from the submodules of edk2: + brotli-v1.0.7-17-g666c328.tar.xz + oniguruma-v6.9.4_mark1.tar.xz - Refresh patches: + ovmf-add-exclude-shell-flag.patch + ovmf-gdb-symbols.patch - Drop upstream patch: ovmf-bsc1163927-fix-ping-and-ip6dxe.patch - Drop ovmf-bsc1171643-workaround-outline-atomics.patch since upstream fixed it in another way.- Add ovmf-bsc1171643-workaround-outline-atomics.patch to disable gcc10 outline-atomics in AArch64 (bsc#1171643)- Build all non-native firmware files on x86_64 and aarch64 with cross-compilers (bsc#1159134) + Exclude i586 and armv7hl due to the availability of cross-compilers + Move some bash functions to ovmf-build-funcs.sh - Clean up PKG_TO_REMOVE + Only EmulatorPkg still exists.- Add ovmf-bsc1163927-fix-ping-and-ip6dxe.patch to fix crash and hang in ShellPkg and Ip6Dxe (bsc#1163927, CVE-2019-14559)- Update to edk2-stable202002 + UefiCpuPkg/MpInitLib: Skip reading PlatformId on AMD processors. + BaseTools: Remove invalid leading space before !INCLUDE in Makefile + OvmfPkg/QemuVideoDxe: unbreak "secondary-vga" and "bochs-display" support + NetworkPkg/ArpDxe: Recycle invalid ARP packets (CVE-2019-14559) + ShellPkg: acpiview: Prevent infinite loop if structure length is 0 + CryptoPkg/BaseHashApiLib: Change PcdHashApiLibPolicy type to FixedAtBuild + CryptoPkg/BaseHashApiLib: Align BaseHashApiLib with TPM 2.0 Implementation + MdeModulePkg: Make retval in UninstallMultipleProtocol follow Spec + SecurityPkg/DxeImageVerificationLib: change IsCertHashFoundInDatabase name (CVE-2019-14575) + SecurityPkg/DxeImageVerificationLib: Differentiate error/search result (2) (CVE-2019-14575) + SecurityPkg/DxeImageVerificationLib: plug Data leak in IsForbiddenByDbx() (CVE-2019-14575) + SecurityPkg/DxeImageVerificationLib: tighten default result (CVE-2019-14575) + SecurityPkg/DxeImageVerificationLib: Differentiate error/search result (1) (CVE-2019-14575) + SecurityPkg/DxeImageVerificationLib: refactor db/dbx fetching code (CVE-2019-14575) + SecurityPkg/DxeImageVerificationLib: avoid bypass in fetching dbx (CVE-2019-14575) + SecurityPkg/DxeImageVerificationLib: fix wrong fetch dbx in IsAllowedByDb (CVE-2019-14575) + SecurityPkg/DxeImageVerificationLib: reject CertStack.CertNumber==0 per DBX (CVE-2019-14575) + SecurityPkg/DxeImageVerificationLib: Fix memory leaks (CVE-2019-14575) + NetworkPkg/Ip4Dxe: Check the received package length (CVE-2019-14559). + ShellPkg: acpiview: Validate ACPI table 'Length' field + ShellPkg: acpiview: Remove duplicate ACPI structure size definitions + UefiCpuPkg RegisterCpuFeaturesLib: Match data type and format specifier + MdeModulePkg/SdMmcPciHcDxe: Fix double PciIo Unmap in TRB creation (CVE-2019-14587) + MdeModulePkg/DisplayEngine: Zero memory before free (CVE-2019-14558) + MdeModulePkg/String.c: Zero memory before free (CVE-2019-14558) + MdeModulePkg/HiiDB: Remove configuration table when it's freed (CVE-2019-14586) + MdePkg: Remove FIT table industry standard header file. + UefiCpuPkg: Remove FIT based microcode shadow logic from MpInitLib. + UefiCpuPkg/CpuFeature: Introduce First to indicate 1st unit. + UefiCpuPkg/RegisterCpuFeaturesLib: Rename [Before|After]FeatureBitMask + UefiCpuPkg/RegisterCpuFeaturesLib: Delete CPU_FEATURE_[BEFORE|AFTER] + MdePkg: Add PCCT table signature definition + BaseTools: Fixed build failure when using python38 + BaseTools:fix Ecc tool issue for check StructPcd + BaseTools: Remove caret in NASM_INC macro + BaseTools: Rationalise makefile generation + MdePkg: Add PCI Express 5.0 Header File + MdePkg: Disable EBC for unit tests in MdePkg.dsc + MdePkg/SmBios.h: Add two additional DWORD for smbios 3.3.0 type17 + UefiCpuPkg/MpInitLib: Not pass microcode info between archs in CPU_MP_DATA + Revert UefiCpuPkg/MpInitLib: Relocate microcode patch fields in CPU_MP_DATA + ShellPkg: acpiview: Validate global pointers before use + ShellPkg: acpiview: Validate System Locality count + ShellPkg: acpiview: Set ItemPtr to NULL for unprocessed table fields + ShellPkg: Document UpdateArgcArgv returns EFI_INVALID_PARAMETER + ShellPkg: Document ParseCommandLineToArgs returns EFI_INVALID_PARAMETER + ShellPkg/UefiShellAcpiViewCommandLib: Fix FADT Parser + SecurityPkg: Fix incorrect return value when File is NULL + BaseTools: Fixed a Incremental build issue + CryptoPkg/CryptoPkg.dsc: Add build of Crypto libraries/modules + CryptoPkg/Library: Add BaseCryptLibOnProtocolPpi instances + CryptoPkg/Driver: Add Crypto PEIM, DXE, and SMM modules + CryptoPkg: Add EDK II Crypto Protocols/PPIs/PCDs + CryptoPkg/BaseCryptLib: Add X509ConstructCertificateStackV(). + MdeModulePkg/PiDxeS3BootScriptLib: Fix potential numeric truncation (CVE-2019-14563) + MdeModulePkg/Capsule: Remove RT restriction in UpdateCapsule service. + SecurityPkg/TcgPhysicalPresenceLib: Replace the ASSERT with error code + BaseTools/PcdValueCommon: Fix 64-bit host compiler error + BaseTools/Build: Do not use Common.lib in Structured PCD app + MdeModulePkg/BaseSerialPortLib16550: Fix Serial Port Ready + BaseTools: Script for converting .aml to .hex + MdeModulePkg: Perform test only if not ignore memory test + UefiCpuPkg/MpInitLib: Always get CPUID & PlatformID in MicrocodeDetect() + OvmfPkg/PlatformPei: detect SMRAM at default SMBASE (for real) + OvmfPkg: introduce PcdCsmEnable feature flag + OvmfPkg/SmmAccess: close and lock SMRAM at default SMBASE + OvmfPkg/SEV: don't manage the lifecycle of the SMRAM at the default SMBASE + OvmfPkg/PlatformPei: reserve the SMRAM at the default SMBASE, if it exists + OvmfPkg/PlatformPei: assert there's no permanent PEI RAM at default SMBASE + OvmfPkg/PlatformPei: detect SMRAM at default SMBASE (skeleton) + OvmfPkg/PlatformPei: factor out Q35BoardVerification() + OvmfPkg/IndustryStandard: add MCH_DEFAULT_SMBASE* register macros + OvmfPkg/IndustryStandard: increase vertical whitespace in Q35 macro defs + OvmfPkg: introduce PcdQ35SmramAtDefaultSmbase + CryptoPkg/BaseCryptLibNull: Add missing HkdfSha256ExtractAndExpand() + BaseTools/DscBuildData: Fix PCD autogen include file conflict + CryptoPkg/BaseHashApiLib: Implement Unified Hash Calculation API + CryptoPkg: Add CryptoPkg Token Space GUID + BaseTools/Conf/gitattributes: fix "--function-context" for C source code + SecurityPkg/DxeImageVerificationHandler: fix "defer" vs. "deny" policies + SecurityPkg/DxeImageVerificationHandler: fix imgexec info on memalloc fail + SecurityPkg/DxeImageVerificationHandler: fix retval for (FileBuffer==NULL) + SecurityPkg/DxeImageVerificationHandler: eliminate "Status" variable + SecurityPkg/DxeImageVerificationHandler: unnest AddImageExeInfo() call + SecurityPkg/DxeImageVerificationHandler: remove superfluous Status setting + SecurityPkg/DxeImageVerificationHandler: fix retval on memalloc failure + SecurityPkg/DxeImageVerificationHandler: narrow down PE/COFF hash status + SecurityPkg/DxeImageVerificationHandler: keep PE/COFF info status internal + SecurityPkg/DxeImageVerificationHandler: remove "else" after return/break + SecurityPkg/DxeImageVerificationHandler: simplify "VerifyStatus" + OvmfPkg/PlatformPei: rewrite MaxCpuCountInitialization() for CPU hotplug + OvmfPkg/IndustryStandard: define macros for QEMU's CPU hotplug registers + OvmfPkg/OvmfXen.dsc: remove PcdCpu* dynamic defaults + CryptoPkg/BaseCryptLib: remove HmacXxxGetContextSize interface + CryptoPkg/BaseCryptLib: replace HmacXxxInit API with HmacXxxSetKey + BaseTools: Fixed a incremental build bug + UefiCpuPkg/MpInitLib: Fix possible uninitialized 'InitFlag' field + FmdDevicePkg/FmpDxe: Support Fmp Capsule Dependency. + MdeModulePkg/CapsuleApp: Enhance CapsuleApp for Fmp Capsule Dependency + MdePkg: Add definition for Fmp Capsule Dependency. + MdeModulePkg/SdMmcPciHcDxe: Add retries for async commands + MdeModulePkg/SdMmcPciHcDxe: Add retries for sync commands + MdeModulePkg/SdMmcPciHcDxe: Refactor command error detection + MdeModulePkg/SdMmcPciHcDxe: Fix DAT lane SW reset + UefiCpuPkg/PiSmmCpuDxeSmm: fix 2M->4K page splitting regression for PDEs + MdeModulePkg/Variable: Fix VarErrorFlag RT cache offset calculation + MdePkg Base.h: Use correct style to check the defined macro + ShellPkg: acpiview: Update SRAT parser to ACPI 6.3 + BaseTools/Capsule: Add capsule dependency support + MdeModulePkg/Setup: Update opcode number variable type to UINTN + ArmPlatformPkg/PrePeiCore: enable VFP at startup + ArmPkg/ArmSmcPsciResetSystemLib: remove EnterS3WithImmediateWake () + NetworkPkg/HttpDxe: fix 32-bit truncation in HTTPS download + MdeModulePkg/UefiBootManagerLib: log reserved mem allocation failure + BaseTools/Scripts/PatchCheck: Address false error conditions + BaseTools:Fix GenFds issue for BuildOption replace GenFdsOption + BaseTools:Change the case rules for ECC check pointer names + MdeModulePkg/SdMmcPciHcDxe: Fix unknown doxygen tag error + ArmVirtPkg: remove EnterS3WithImmediateWake () from ResetSystemLib + OvmfPkg: remove EnterS3WithImmediateWake () from ResetSystemLib + UefiPayloadPkg: remove EnterS3WithImmediateWake () from ResetSystemLib + PcAtChipsetPkg: remove EnterS3WithImmediateWake () from ResetSystemLib + MdeModulePkg: remove EnterS3WithImmediateWake () from ResetSystemLib + UefiCpuPkg: Shadow microcode patch according to FIT microcode entry. + MdePkg: Add header file for Firmware Interface Table specification. + UefiCpuPkg/CpuCommonFeaturesLib: SMXE bit of CR4 should set + MdePkg BaseLib.h: Update IA32_CR4 strut to include all public fields + MdePkg: Do not use CreateEventEx unless required + UefiCpuPkg/PiSmmCpuDxeSmm: Add missed comments for parameter. + OvmfPkg: use HII type PCDs for TPM2 config related variables + OvmfPkg: reorganize TPM2 support in DSC/FDF files + BaseTools/PatchCheck.py: Ignore CR and LF characters in subject length + MdeModulePkg: Add EDK2 Platform Boot Manager Protocol + CryptoPkg: Support for SHA384 & SHA512 RSA signing schemes + UefiCpuPkg: Always load microcode patch on AP processor. + UefiCpuPkg: Remove alignment check when calculate microcode size. + Revert "UefiCpuPkg/PiSmmCpuDxeSmm: Fix buffer overflow issue." + MdeModulePkg/UsbMouseAbsolutePointer: Fix endpoint selection + MdeModulePkg/Usb/UsbMouse: Fix endpoint selection + MdeModulePkg/Usb/EfiKey: Fix endpoint selection + SecurityPkg/Tcg2Pei: Add TCG PFP 105 support. + MdeModulePkg/Smbios: Add TCG PFP rev 105 support. + MdeModulePkg/dec: add PcdTcgPfpMeasurementRevision PCD + MdeModulePkg/Smbios: Done measure Smbios multiple times. + SecurityPkg/Tcg2Dxe: Add Tcg2Dxe to support 800-155 event. + SecurityPkg/Guid: Add TCG 800-155 event GUID definition. + MdeModulePkg/SdMmcPciHcDxe: Add function to start SD clock + MdeModulePkg/SdMmcPciHcDxe: Hook SwitchClockFreq after SD clock start + UefiCpuPkg/PiSmmCpuDxeSmm: Pre-allocate PROCEDURE_TOKEN buffer + UefiPayloadPkg/BootManager: Add PS2 keyboard support + UefiCpuPkg/MpInitLib: Remove redundant microcode fields in CPU_MP_DATA + UefiCpuPkg/MpInitLib: Relocate microcode patch fields in CPU_MP_DATA + UefiCpuPkg/MpInitLib: Produce EDKII microcode patch HOB + UefiCpuPkg: Add definitions for EDKII microcode patch HOB + UefiCpuPkg/MpInitLib: Reduce the size when loading microcode patches + UefiCpuPkg/MpInitLib: Collect processors' CPUID & Platform ID info + BaseTools/Scripts: Add sendemail.transferEncoding to SetupGit.py + UefiCpuPkg/PiSmmCpuDxeSmm: Fix buffer overflow issue. + UefiCpuPkg/PiSmmCpuDxeSmm: Remove dependence between APs + edksetup.bat stuck on unicode locale Windows + MdePkg/Tcg: Add new definition in TCG PFP spec. + MdePkg: Use __builtin_offset with CLANGPDB toolchain + MdePkg PciExpress21: PCI_REG_PCIE_DEVICE_CONTROL2 struct has 17 bits + ShellPkg/ShellProtocol: Return error code while fail parsing cmd-line + MdePkg/Spdm: fix Nonce structure error. + BaseTools: Resolve a issue of Incremental build + Maintainers.txt: Update email address and role + BaseTools:replaces the two offending quotes by ascii quotes + BaseTools: Fix build failure when multiple build targets given + MdePkg/Include: Add DCC and BCM2835 SPCR UART types + ArmPkg/MmCommunicationDxe: relay architected PI events to MM context + SecurityPkg/Tcg2Smm: Measure the table before patch. + BaseTools: Remove redundant binary cache file + BaseTools: Leverage compiler output to optimize binary cache + BaseTools: enhance the CacheCopyFile method arg names + BaseTools: store more complete output files in binary cache + BaseTools: Enhance Basetool for incremental build + BaseTools: Update build_rule.txt to generate dependent files. + BaseTools: Generate dependent files for ASL and ASM files + BaseTools: Add build option for dependency file generation + UefiCpuPkg/PiSmmCpuDxeSmm: Avoid allocate Token every time + BaseTools: Avoid "is" with a literal Python 3.8 warnings + ArmPkg: Dispatch deferred images after EndOfDxe + ShellPkg/UefiHandleParsingLib: Fix error allocate pool + ShellPkg/edit: typo "%d Lines Wrote" + ShellPkg: acpiview: IORT Spec Rev D updates + ShellPkg: acpiview: Add support for parsing FACS + MdeModulePkg: Add ARM/Aarch64 support which were missing + MdeModulePkg: LzmaCustomDecompressLib.inf don't support EBC anymore + BaseTools:Enhance the way to handling included dsc file + UefiCpuPkg/UefiCpuPkg.uni: Add missing strings for PCD + NetworkPkg/NetworkPkg.uni: Add missing strings for PCD + MdeModulePkg/MdeModulePkg.uni: Add missing strings for PCD + NetworkPkg: Fixes to static code analysis hits + CryptoPkg/OpensslLib.inf: list OpenSSL local header "ms/uplink.h" + CryptoPkg/OpensslLib: improve INF file consistency + MdeModulePkg/VariableSmmRuntimeDxe.inf: list local header "Variable.h" - Drop upstreamed fixes + ovmf-bsc1163927-fix-ip4dxe-and-arpdxe.patch + ovmf-bsc1163959-PiDxeS3BootScriptLib-fix-numeric-truncation.patch + ovmf-bsc1163969-fix-DxeImageVerificationHandler.patch - Refresh ovmf-gdb-symbols.patch- Add ovmf-bsc1163969-fix-DxeImageVerificationHandler.patch to fix dbx signature check (bsc#1163969, CVE-2019-14575) + Also change the order of several patches to distinguish the openssl patch - Add ovmf-bsc1163927-fix-ip4dxe-and-arpdxe.patch to fix memory leakage in Ip4Dxe and ArpDxe (bsc#1163927, CVE-2019-14559)- Add ovmf-bsc1163959-PiDxeS3BootScriptLib-fix-numeric-truncation.patch to fix the numeric truncation to avoid the potential memory corruption (bsc#1163959, CVE-2019-14563)- Build the unified firmware with preloaded keys for backward compatibility (bsc#1159793)- only build -aarch32 Cortex-A15 EFI on armv7hl- Update to edk2-stable201911 + SecurityPkg: Fix TPM2 ACPI measurement + MdeModulePkg: Enable variable runtime cache by default + OvmfPkg: Disable variable runtime cache + MdeModulePkg/Variable: Add RT GetVariable() cache support + CryptoPkg: Upgrade OpenSSL to 1.1.1d + MdePkg-UefiSpec.h: Add UEFI 2.8 new memory attributes + MdePkg/UefiFileHandleLib: Fix potential NULL dereference + NetworkPkg/HttpDxe: Set the HostName for the verification (CVE-2019-14553) + NetworkPkg/TlsDxe: Add the support of host validation to TlsDxe driver (CVE-2019-14553) + CryptoPkg/TlsLib: TlsSetVerifyHost: parse IP address literals as such (CVE-2019-14553) + CryptoPkg/TlsLib: Add the new API "TlsSetVerifyHost" (CVE-2019-14553) + MdePkg/Include/Protocol/Tls.h: Add the data type of EfiTlsVerifyHost (CVE-2019-14553) + MdeModulePkg/BdsDxe: Fix PlatformRecovery issue + NetworkPkg/SnpDxe: Add PCD to remove ExitBootServices event from SNP driver + MdeModulePkg: Update to support SmBios 3.3.0 + UefiCpuPkg/MpInitLib: honor the platform's boot CPU count in AP detection + SecurityPkg/Tcg2: Add Support Laml, Lasa for TPM2 ACPI + OvmfPkg/PlatformDxe: fix EFI_HII_HANDLE parameters of internal functions + OvmfPkg/VirtioNetDxe: fix SignalEvent() call + OvmfPkg/XenBusDxe: fix UninstallMultipleProtocolInterfaces() call + NetworkPkg/Ip4Dxe: fix NetLibDestroyServiceChild() call + MdeModulePkg/ScsiDiskDxe: Support Storage Security Command Protocol + MdePkg: Implement SCSI commands for Security Protocol In/Out + MdeModulePkg/TerminalDxe: Enhance the arrow keys support + MdeModulePkg/UefiBootManager: Unload image on EFI_SECURITY_VIOLATION + MdeModulePkg/DxeCapsuleLibFmp: Unload image on EFI_SECURITY_VIOLATION + MdeModulePkg: Extend the support keyboard type of Terminal console + UefiCpuPkg/CpuExceptionHandlerLib: Fix split lock + UefiCpuPkg: Fix potential spinLock issue in SmmStartupThisAp + UefiCpuPkg/PiSmmCpu: Enable 5L paging only when phy addr line > 48 + OvmfPkg/EnrollDefaultKeys: clean up Base64Decode() retval handling + ArmVirtPkg/PlatformBootManagerLib: unload image on EFI_SECURITY_VIOLATION + ShellPkg/ShellPkg.dsc AARCH64: enable stack protector + ArmVirtPkg/ArmVirtPrePiUniCoreRelocatable: revert to PIE linking + BaseTools/GenFw AARCH64: fix up GOT based relative relocations + ShellPkg/Pci.c: Update supported link speed to PCI5.0 + PcAtChipsetPkg: add PcdRealTimeClockUpdateTimeout + UefiCpuPkg: Add PcdCpuSmmRestrictedMemoryAccess + ShellPkg/CommandLib: avoid NULL derefence and memory leak + MdePkg/DxeHstiLib: Added checks to improve error handling + BaseTools: Support more file types in build cache + UefiCpuPkg/SecCore: get AllSecPpiList after SecPlatformMain - Update openssl to 1.1.1d + Add openssl-fix-syntax-error.patch to fix a syntax error - Drop ovmf-bsc1153072-fix-invalid-https-cert.patch + Already upstreamed- Use the same x86 4MB firmware names as the ones in the previous version (< stable201905) for backward compatibility- Disable TLS for IA32(i586) to avoid exceeding the size limitation while using the tool chain from SLE15-SP2/openSUSE Leap 15.2- Add ovmf-bsc1153072-fix-invalid-https-cert.patch to reject the invalid server certificates for HTTPS Boot (bsc#1153072, CVE-2019-14553)- Add the firmware descriptors for QEMU - Tweak the install commands- Update to edk2-stable201908 + OvmfPkg: Introduce platform OvmfXen + OvmfPkg/ResetSystemLib: Add missing dependency on PciLib + MdeModulePkg DxeCore: Fix for missing Memory Attributes Table (MAT) update + BaseTools: Fixed issue of incorrect Module Unique Name + CryptoPkg/OpensslLib: Add missing header files in INF file + SecurityPkg/SecurityPkg.uni: Add missing strings for new PCDs + MdeModulePkg/DxeIplPeim: Initialize pointer PageMapLevel5Entry + MdeModulePkg/MdeModulePkg.dec: Remove gEfiDpcProtocolGuid + Readme.md: add submodule policy and clone commands + MdeModulePkg/DxeIplPeim: Relocate operation of PageMapLevel5Entry++ + MdeModulePkg: Add missing header files in INF files + MdePkg: Add MmAccess and MmControl definition. + CryptoPkg/BaseCryptLib: Wrap OpenSSL HKDF algorithm + MdeModulePkg/DxeIpl: Create 5-level page table for long mode + MdeModulePkg/DxeIpl: Introduce PCD PcdUse5LevelPageTable + UefiCpuPkg/CpuDxe: Support parsing 5-level page table + UefiCpuPkg/MpInitLib: Enable 5-level paging for AP when BSP's enabled + OvmfPkg/PlatformPei: Change referenced MSR name. + UefiCpuPkg/PiSmmCpuDxeSmm: Add check for pointer Pml5Entry + SecurityPkg/SecurityPkg.dec: Remove trailing white space + MdeModulePkg/PiSmmCore: Use unique structure signatures + UefiCpuPkg/MpInitLib: don't shadow the microcode patch twice. + ShellPkg: improve acpiview + MdePkg: Add PI 1.5 SmramMemoryReserve HOB file + MdePkg/PciExpress21.h: Fix the PCI industry standard register defines + CryptoPkg/BaseCryptLib: Use cmp-operator for non-Boolean comparisons + ArmPkg: DebugPeCoffExtraActionLib: fix trivial comment typos + ArmPkg: DebugPeCoffExtraActionLib: debugger commands are not errors + UefiCpuPkg/RegisterCpuFeaturesLib: Start all processors simultaneously. + UefiCpuPkg: Add new EDKII_PEI_MP_SERVICES2_PPI + list module-internal header files in INF [Sources] + SecurityPkg: introduce the SM3 digest algorithm + BaseTools: Fix python3.8 SyntaxWarning + BaseTools: Add HOST_APPLICATION module type. + UefiCpuPkg/PiSmmCpu: Enable 5 level paging when CPU supports + MdePkg/BaseLib.h: Update IA32_CR4 structure for 5-level paging + UefiCpuPkg RegisterCpuFeaturesLib: Fix an ASSERTION issue + ArmPlatformPkg: Actually disable PL031 interrupts + UefiCpuPkg/PiSmmCpu: Change variable names and comments to follow SDM + OvmfPkg: use DxeTpmMeasurementLib if and only if TPM2_ENABLE + ArmPlatformPkg: Fix various typos + ArmPkg: Fix various typos + Remove IntelFrameworkPkg + Remove IntelFrameworkModulePkg + MdeModulePkg/BdsDxe: Use a pcd to control PlatformRecovery + MdeModulePkg: Add a pcd to set the OS indications bit + SecurityPkg: Remove DxeDeferImageLoadLib in DSC + BaseTools:Linux changes the way the latest version is judged + Fix indentation in edksetup.sh SetupPython3 + MdeModulePkg/SdMmcHcDxe: Implement revision 3 of SdMmcOverrideProtocol + MdeModulePkg/SdMmcOverride: Add GetOperatingParam notify phase + MdeModulePkg/UfsPassThruDxe: Fix unaligned data transfer handling + ArmVirtPkg: handle NETWORK_TLS_ENABLE in ArmVirtQemu* + UefiCpuPkg/MpInitLib: MicrocodeDetect: Ensure checked range is valid + MdeModulePkg/UfsPassThruDxe: Refactor UFS device presence detection + PcAtChipsetPkg: Remove framework modules + SecurityPkg: add FvReportPei.inf in dsc for build validation + SecurityPkg/FvReportPei: implement a common FV verifier and reporter + SecurityPkg: add definitions for OBB verification + OvmfPkg: don't assign PCI BARs above 4GiB when CSM enabled + OvmfPkg: Don't build in QemuVideoDxe when we have CSM + OvmfPkg/LegacyBbs: Add boot entries for VirtIO and NVME devices + OvmfPkg/LegacyBios: set NumberBbsEntries to the size of BbsTable + SecurityPkg: Add missing instances for build only + BaseTools: Move Build Cache related function out of CreateAsBuiltInf + BaseTools: refine CreateAsBuiltInf function + BaseTools:Add DetectNotUsedItem.py to Edk2\BaseTools\Scripts + BaseTools:Add import in FvImageSection + MdeModulePkg/PeiMain: PeiAllocatePool: output NULL if HOB creation fails + MdePkg: Add Generic Initiator Affinity Structure definitions to SRAT + BaseTools:Introduce CopyFileOnChange() function to copy cache files + MdeModulePkg: Add missing instances for build only + SourceLevelDebugPkg: Add missing instances for build only + CryptoPkg: Add missing instance for build only + MdeModulePkg: Introduce EDKII_SERIAL_PORT_LIB_VENDOR_GUID + MdeModulePkg/GraphicsConsoleDxe: Initialize the output mode + MdeModulePkg/ConSplitterDxe: Optimize the ConSplitterTextOutSetMode + BaseTools: add script to configure local git options + BaseTools: add centralized location for git config files + OvmfPkg/QemuVideoDxe: Shouldn't assume system in VGA alias mode. - Refresh ovmf-gdb-symbols.patch - Enable NETWORK_TLS_ENABLE for AArch64- Reset BootOrder after enrolling the default keys (boo#1140195)- Update to edk2-stable201905 + Update OpenSSL version to upcoming 1.1.1 + Delete EdkCompatibilityPkg from edk2/master + Remove .S assembly code for IA32 and X64 arch + Replace BSD 2-Clause License with BSD + Patent Licence + Recovery PEI BlockIO support for ATA device + Add PCD to Enabled/Disabled IPv4/IPv6 PXE Support in NetworkPkg + Remove NetworkPkg/IpSecDxe + Add api to DebubLib to expose a print routine with VaList parameter + Introduce DebugPpi to save the image size with the debug message + ResetSystemLib Adds a new API ResetSystem + ResetUtilityLib Add a new API ResetSystemWithSubtype + Add support for get organization name to x509 in BaseCryptLib + Add support for checking x509 EKUs in BaseCryptLib + Add support for PKCS 1v2 RSAES-OAEP PKI encryption in BaseCryptLib + Remove ShellBinPkg from edk2/master + Enable multiple thread /MP option for MSVC compiler + Upstream the EnrollDefaultKeys application to OvmfPkg + Share code for BaseUefiDecompressLib in MdePkg and MdeModulePkg + Move network related components from MdeModulePkg to NetworkPkg + Move BeagleBoardPkg and Omap35xxPkg from edk2 to edk2-platforms repo + Move MinnowMax and Quark platform to edk2-platforms repo + Move OptionRomPkg into new Drivers directory edk2-platforms repo + Add ACPI6.3 definition + Remove Nt32Pkg from edk2/master + update ArmSoftFloatLib to latest upstream version (= 3e) - Update openssl to 1.1.1b + Add berkeley-softfloat-3-b64af41c3276f.tar.xz since arm7 needs the softfloat implementation for openssl 1.1.1b - Build the varstore templates with EnrollDefaultKeys.efi + Create the iso files for key enrollment - Add gen-key-enrollment-iso.sh to generate the iso file + Drop the non-upstream ovmf-embed-default-keys.patch - Also drop owner-guid-zero.h + Drop the MS keys and dbx since they are already in EnrollDefaultKeys.efi: MicCorKEKCA2011_2011-06-24.crt, MicCorUEFCA2011_2011-06-27.crt, MicWinProPCA2011_2011-10-19.crt, and dbxupdate.zip - Also drop the related script strip_authinfo.pl + Add ovmf-set-fixed-enroll-time.patch to set the fixed enrolling time to make the varstore template reproducible + Require qemu 3.0.0 for fw_cfg - Update the build flags for network functions + For x86_64, only enable TLS for the 4MB image since the code size exceeds the boundary of 2MB image - Refresh patches: + ovmf-add-exclude-shell-flag.patch + ovmf-disable-ia32-firmware-piepic.patch + ovmf-pie.patch - Drop the requirement of xxd - Update README - Update the License tag to BSD-2-Clause-Patent- Build SecureBoot firmwares for aarch64- Enable debug for aarch32 - Add aavmf-aarch32-code.bin and aavmf-aarch32-vars.bin files- Update to 2019+git1552059899.89910a39dcfd (edk2-stable201903) + MdeModulePkg/HiiImage: Fix stack overflow when corrupted BMP is parsed (bsc#1128503, CVE-2018-12181) + MdeModulePkg/HiiDatabase: Fix potential integer overflow (bsc#1128503, CVE-2018-12181) + UefiCpuPkg/Microcode.c: Add verification before calculate CheckSum32 + UefiCpuPkg/Microcode: Fix InComplete CheckSum32 issue + UefiCpuPkg: restore strict page attributes via #DB in nonstop mode only + IntelFrameworkModulePkg/FwVolDxe: Ensure FfsFileHeader 8 bytes aligned (bsc#1127822, CVE-2018-3630) + MdeModulePkg/DxeCore: Ensure FfsFileHeader 8 bytes aligned (bsc#1127822, CVE-2018-3630) + MdeModulePkg/PeiCore: Ensure FfsFileHeader 8 bytes aligned (bsc#1127822, CVE-2018-3630) + NetworkPkg: Add WiFi Connection Manager to NetworkPkg + UefiCpuPkg/PiSmmCpu: Add Shadow Stack Support for X86 SMM + MdePkg/BaseLib: Add Shadow Stack Support for X86 + NetworkPkg/DnsDxe: Check the received packet size before parsing the message (bsc#1127821, CVE-2018-12178) + MdeModulePkg/RamDiskDxe: Restrict on RAM disk size (bsc#1127820, CVE-2018-12180) + MdeModulePkg/PartitionDxe: Ensure blocksize holds MBR (bsc#1127820, CVE-2018-12180) + ArmVirtPkg/PlatformBootManagerLib: display boot option loading/starting + ArmVirtPkg/ArmVirtQemu*: enable minimal Status Code Routing in DXE + OvmfPkg/PlatformBootManagerLib: display boot option loading/starting + OvmfPkg: add library to track boot option loading/starting on the console + MdeModulePkg/UefiBootManagerLib: fix LoadImage/StartImage status code rep + MdeModulePkg/AhciPei: Add AHCI mode ATA device support in PEI + MdeModulePkg: Add definitions for EDKII PEI ATA PassThru PPI + MdeModulePkg: Add definitions for ATA AHCI host controller PPI + MdePkg/UefiDevicePathLib: Add sanity check for FilePath device path + UefiCpuPkg/Microcode: Fix incorrect checksum issue for extended table + SecurityPkg/TcgConfigDxe: Allow enabling TPM 1.2 device from disabled state + UefiCpuPkg/SecCore: Wrong Debug Information for SecCore + Various bug fixes in BaseTools + DynamicTablesPkg: Dynamic Tables Framework + MdeModulePkg: Remove EmuVariableRuntimeDxe + UefiCpuPkg/MtrrLib: Fix a bug that may wrongly set memory <1MB to UC + MdeModulePkg/BmBoot: Report status when fail to load/start boot option + MdeModulePkg/ReportStatusCodeLib: Avoid using AllocatePool if possible + NetworkPkg/Ip6Dxe: Clean the invalid IPv6 configuration during driver start- Add TPM2_CONFIG_ENABLE build flag to enable TPM2 config menu- Update to 2019+git1550452308.c417c1b33d06 + BaseTools: Fixed an issue about StructurePcd + UefiCpuPkg/SecCore: Support EFI_PEI_CORE_FV_LOCATION_PPI + OvmfPkg: Add TCG2 Configuration menu to the Device Manager menu + FatPkg/FatPei/Gpt.c: Fix uninitialized variable issue + Make BaseTools compatible with python3 + CryptoPkg/BaseCryptLib: split CryptPkcs7Verify.c on behalf of runtime + MdeModulePkg/UefiBootManagerLib: Match the nested partitions + ArmPkg/ArmMmuLib AARCH64: get rid of needless TLB invalidation + Upgrade UEFI supporting TCG spec info + MdeModulePkg Variable: Add emulated variable NV mode support + Code clean-up in the network packages + OvmfPkg: add MmServicesTableLib resolution + ArmPkg/ArmMmuLib AARCH64: fix out of bounds access + BaseTools/VfrCompile: report error for Integer overflow + OvmfPkg: require GCC48 or later + MdePkg/BaseLib: Introduce new SpeculationBarrier API + Remove the obsolete network packages in MdeModulePkg + Upgrade OpenSSL to 1.1.0j + MdePkg/Base: introduce MAX_ALLOC_ADDRESS + MdeModulePkg/PciBus: Fix system hang when no PCI Option ROM exists + BaseTools/tools_def AARCH64 RELEASE: move GCC49/GGC5 to 4 KB alignment + SecurityPkg: Remove dead code and inf redundant definitions + UefiCpuPkg/Cpuid.h: Sync CPUID definition to latest SDM + MdeModulePkg/PciBus: Shadow option ROM after BARs are programmed + ArmVirtPkg/QemuVirtMemInfoLib: trim the MMIO region mapping + ArmVirtPkg/XenVirtMemInfoLib: refactor reading of the PA space size + ArmVirtPkg/QemuVirtMemInfoLib: remove 1:1 mapping of top of PA range + ArmVirtPkg/NorFlashQemuLib: discover NOR flash banks dynamically + ArmPkg/ArmSmcPsciResetSystemLib: add missing call to ExitBootServices() + SecurityPkg: Update TCG PFP spec revision. + OvmfPkg: simply use the Bochs interface for vmsvga + ArmPlatformPkg & ArmVirtPkg: clear frame pointer in startup code + Remove unused DuetPkg, EdkShellBinPkg, and UnixPkg + ArmPkg/ArmGicDxe ARM: fix encoding for GICv3 interrupt acknowledge + MdePkg/BaseIoLibIntrinsicArmVirt ARM: avoid double word loads and stores - Refresh patches + ovmf-add-exclude-shell-flag.patch + ovmf-disable-ia32-firmware-piepic.patch - Enable Python3 support in BaseTools (bsc#1075770)- Add a new "smm" flavor to enable System Management Mode + Also add ovmf-add-exclude-shell-flag.patch to exclude shell from the resultant SMM firmware files - Retire the old openSUSE 4096 bit certificates since all those programs are unmaintained. - Amend the numbering of patches and sources - Update README to reflect the current status- Update ovmf-embed-default-keys.patch and add owner-guid-zero.h to set the default owner of PK/KEK/db/dbx and make the auto-enrollment only happen at the very first boot. (bsc#1117998) - Change the group of qemu-ovmf-x86_64-debug to Development/Sources since there is no Development/Debug anymore- Update to 2018+git1542164568.85588389222a (edk2-stable201811) + UefiCpuPkg/CommonFeature: Always set FEATURE_CONTROL.Lock + MdeModulePkg/NvmExpressPei: Refine data buffer & len check in PassThru + OvmfPkg/QemuVideoDxe: list "UnalignedIoInternal.h" in the INF file + OvmfPkg/QemuVideoDxe: VMWare SVGA device support + OvmfPkg/QemuVideoDxe: Helper functions for unaligned port I/O + OvmfPkg: VMWare SVGA display device register definitions + Fix UEFI and Tiano Decompression logic issue + MdePkg: Fix incorrect check for DisplayOnly text format in AcpiEx + UefiCpuPkg/PiSmmCpuDxeSmm: Separate semaphore container + UefiCpuPkg/RegisterCpuFeaturesLib: Separate semaphore container + UefiCpuPkg/RegisterCpuFeaturesLib: Adjust Order + MdePkg/BaseSynchronizationLib: Fix InternalSync[De|In]crement + UefiCpuPkg/SmmCpu: Block access-out only when static paging is used + MdeModulePkg/Core: fix ineffective guard page issue + MdeModulePkg/Core: fill logic hole in MemoryProtectionCpuArchProtocolNotify + MdeModulePkg/Mtftp4Dxe: Fix invalid configuration of MTFTP local port + OvmfPkg: Replace obsoleted network drivers from platform DSC/FDF + MdePkg/Base.h: Implement BASE_CR() via OFFSET_OF() + MdeModulePkg/PiSmmIpl: Do not reset SMRAM to UC when CPU driver runs + NetworkPkg/TlsDxe: Fix failure to process multiple TLS records + BaseTools ConvertFceToStructurePcd: Fix the array value with empty string + CryptoPkg/BaseCryptLib: Fix potential integer overflow issue + ArmPkg/OpteeLib: Add APIs to communicate with OP-TEE + UefiCpuPkg/PiSmmCpuDxeSmm: Fix ASSERT for success + UefiCpuPkg/MpInitLib: Fix ASSERT for success + MdeModulePkg/Core: fix an issue of potential NULL pointer access + NetworkPkg/Mtftp6Dxe: Correct the total received and saved block number + MdeModulePke/Mtftp4Dxe: Correct the total received and saved block number + MdeModulePkg EhciDxe: Extract new EhciInsertAsyncIntTransfer function + MdeModulePkg XhciDxe: Extract new XhciInsertAsyncIntTransfer function + BaseTools: Sync the DevicePath Function update from MdePkg + MdeModulePkg/HiiDB: Make sure database update behaviors are atomic + MdeModulePkg/HiiDB: Reorganize codes of exporting HII settings + UefiCpuPkg/RegisterCpuFeaturesLib: Support combo CPU feature style + UefiCpuPkg/RegisterCpuFeaturesLib: Fix ECC issues + MdeModulePkg/Core: add freed-memory guard feature + MdeModulePkg/Core: prevent re-acquire GCD memory lock + UefiCpuPkg/CpuDxe: prevent recursive calling of InitializePageTablePool + UefiCpuPkg/CpuDxe: consider freed-memory guard in non-stop mode + MdeModulePkg: introduce UEFI freed-memory guard bit in HeapGuard PCD + MdeModulePkg/NvmExpressDxe: Refine PassThru IO queue creation behavior + MdeModulePkg/NvmExpressDxe: Always copy CQ entry to PassThru packet + MdeModulePkg/NvmExpressDxe: Refine data buffer & len check in PassThru + MdePkg: Handle various device path when optional para is not specified + FatPkg: Correct the line ending to CRLF + MdePkg-BaseLib: Fix PathCleanUpDirectories() issue with "\\..\\.." + FatPkg/EnhancedFatDxe Fix Double Cluster Allocation + FatBinPkg: Remove FatBinPkg and refresh document + ShellPkg/dmem: Only dump sizeof (EFI_SYSTEM_TABLE) bytes for gST + MdeModulePkg/UsbMass: Fix USB key write failure + IntelFrameworkModulePkg: Add more checker in UefiTianoDecompressLib (CVE FIX) + MdePkg: Add more checker in UefiDecompressLib to access the valid buffer only (CVE FIX) + MdeModulePkg/PartitionDxe: Add check for underlying device block size (bsc#1130267, CVE-2019-0160) + MdeModulePkg Xhci: Handle value 5 in Port Speed field of PORTSC + MdeModulePkg XhciDxe: Assign Usb2Hc.XXXRevision based on SBRN + MdePkg/BaseLib: AsciiStrToUnicodeStr(S) not handle EASCII properly + UefiCpuPkg/CpuCommonFeaturesLib: Register MSR base on scope Info + UefiCpuPkg/CpuS3DataDxe: Keep old data if value already existed + UefiCpuPkg/PiSmmCpuDxeSmm: Add logic to support semaphore type + UefiCpuPkg/RegisterCpuFeaturesLib: Add logic to support semaphore type + UefiCpuPkg/RegisterCpuFeaturesLib.h: Add new dependence types + UefiCpuPkg/Include/AcpiCpuData.h: Add Semaphore related Information + NetworkPkg/IpSecDxe: Fix issue to parse SA Payload + NetworkPkg: Correct the time stamp and fix the integer overflow issue + NetworkPkg/TlsDxe: Remove the redundant library class + MdePkg UefiLib: Check Table against NULL in ScanTableInSDT + MdeModulePkg BrotliDecompressLib: Add the checker to avoid array out of bound + UefiCpuPkg/CpuExceptionHandlerLib: always clear descriptor data in advance + fix InternalSyncCompareExchange*() + MdeModulePkg Variable: Fix Timestamp zeroing issue on APPEND_WRITE + MdeModulePkg/Bus/Ufs: Ensure device not return more data than expected + MdeModulePkg/AbsPointer: Don't access key codes when length is wrong + MdeModulePkg BrotliCustomDecompressLib: Don't build it for EBC arch + MdeModulePkg RegularExpressionDxe: Enable STDARG for variable arguments + MdeModulePkg/RegularExpressionDxe: Miss null pointer check + MdeModulePkg PcdDxe: ASSERT PcdSetNvStoreDefaultId set + UefiCpuPkg/S3Resume2Pei: disable paging before creating new page table + MdeModulePkg/SdMmcPciHcDxe: Allow additional SDHCI versions + MdeModulePkg/SdMmcPciHcDxe: Add controller version defines + MdePkg: Use VENDOR_DEVICE_PATH structure for Debug Port device path + ShellPkg-Cd: Ensure all valid cd targets are handled properly + MdePkg-BaseLib: Fix PathCleanUpDirectories() error involving "\..\.." + MdeModulePkg/NonDiscoverablePciDeviceDxe: expose unique B/D/F identifiers + MdeModulePkg: Update Brotli DecompressLib to the latest v1.0.6 + BaseTools: Update Brotli Compress to the latest one 1.0.6 + MdePkg: Add PciRoot/PcieRoot text for ACPI Expanded Device Path + MdePkg: Correct condition check for AcpiExp text format + MdePkg: Correct the string order of ACPI Expanded Device Path + MdePkg: Correct the string expression of UTF8 vendor device path + MdeModulePkg/HiiDB: Fix incorrect structure convention for checkbox + Lzma: Update LZMA SDK version to 18.05 + OvmfPkg/PlatformPei: clear CPU caches + Various BaseTools clean up and fixes + Various UDF fixes + Various USB fixes - Drop upstreamed patches + ovmf-bsc1115916-fix-timestamp-zeroing.patch + ovmf-bsc1115917-bounds-checking-for-ueficompress.patch- Add ovmf-bsc1115916-fix-timestamp-zeroing.patch to fix Timestamp zeroing issue on APPEND_WRITE (bsc#1115916, CVE-2018-3613) - Add ovmf-bsc1115917-bounds-checking-for-ueficompress.patch for the bound checking of ueficompress (bsc#1115917, CVE-2017-5731, CVE-2017-5732, CVE-2017-5733, CVE-2017-5734, CVE-2017-5735)- Update to 2018+git1538590187.c0b1f749ef13 + ShellPkg: Create a homefilesystem environment variable + NetworkPkg/HttpUtilitiesDxe: fix read memory access overflow + NetworkPkg/HttpDxe: fix read memory access overflow in HTTPBoot + PcAtChipsetPkg PcRtc: Use new EfiLocateFirstAcpiTable() + MdeModulePkg S3SaveStateDxe: Use new EfiLocateFirstAcpiTable() + MdePkg UefiLib: Add new EfiLocateXXXAcpiTable() APIs + NetworkPkg/UefiPxeBcDxe: Add the clarification compared to UefiPxeBcDxe in MdeModulePkg + NetworkPkg/IScsiDxe: Add the clarification compared to IScsiDxe in MdeModulePkg + NetworkPkg/TcpDxe: Add the clarification compared to Tcp4Dxe in MdeModulePkg + MdeModulePkg/UefiPxeBcDxe: Add the clarification compared to UefiPxeBcDxe in NetworkPkg + MdeModulePkg/IScsiDxe: Add the clarification compared to IScsiDxe in NetworkPkg + MdeModulePkg/Tcp4Dxe: Add the clarification compared to TcpDxe in NetworkPkg + NetworkPkg/UefiPxeBcDxe: Use the specified MTFTP windowsize + NetworkPkg: Define one PCD for PXE to specify MTFTP windowsize + NetworkPkg/Mtftp6Dxe: Support windowsize in read request operation + MdeModulePke/Mtftp4Dxe: Support windowsize in read request operation + MdePkg/BaseSynchronizationLib: fix XADD operands in GCC IA32/X64 assembly + MdeModulePkg/PciHostBridge: Fix a bug that prevents PMEM access + MdeModulePkg/PciHostBridge: Enhance boundary check in Io/Mem.Read/Write + MdeModulePkg/DxeIpl: support more NX related PCDs + MdeModulePkg: XhciDxe: Prevent illegal memory access in XhcSetHsee + SecurityPkg/TcgStorageOpalLib: Fixed correct user password not works issue + MdeModulePkg/SdMmcPciHcDxe: Execute card detect only for RemovableSlot + MdeModulePkg/SdMmcPciHcDxe: Fix SdMmcHcReset to set only necesery bits + NetworkPkg: UefiPxeBcDxe: Add EXCLUSIVE attribute when opening SNP protocol installed by PXE + BaseTools: Check GUID C structure format + MdeModulePkg: Avoid key notification called more than once + IntelFrameworkModulePkg: Avoid key notification called more than once + MdeModulePkg/Library/DxeHttpLib: Handle the blank value in HTTP header + MdeModulePkg/Ip4Dxe: Sync the direct route entry setting + MdeModulePkg XhciDxe: Set HSEE Bit if SERR# Enable Bit is set + BaseTools: Correct DXE_PCD_DATABASE_INIT + BaseTools: Check PcdNvStoreDefaultValueBuffer + BaseTools: Involve Dec default value to calculate Maxsize + BaseTools: Structure Pcd value override incorrect + BaseTools: Report error for incorrect hex value format + MdeModulePkg/ConPlatform: Support short-form USB device path + UefiCpuPkg/CpuDxe: fix an incorrect bit-wise operation + UefiCpuPkg/CpuDxe: fix ECC reported issues + UefiCpuPkg/CpuMpPei: support stack guard feature + UefiCpuPkg/MpInitLib: fix register restore issue in AP wakeup + UefiCpuPkg/CpuExceptionHandlerLib: support stack switch for PEI exceptions + MdeModulePkg/DxeIpl: disable paging before creating new page table + MdeModulePkg PeiCore: Always use PeiImageRead() function to load PEI image + MdeModulePkg/EhciDxe: factor out EhcIsDebugPortInUse() + BaseTools/PatchCheck.py: Fix error when run with Python3 + BaseTools: Report more clear error message for PCD used in expression + BaseTools: Fix a bug about list the PCD in "not used" section + UefiCpuPkg/MpInitLib: Fix ECC issues + MdeModulePkg/EhciDxe: fix host controller reset condition in BindingStart + BaseTools: Extend the keyword "!include"/"!if" to case-insensitive + MdeModulePkg/Setup: Fix incorrect size used in AllocateCopyPool + MdeModulePkg DxeCore: Handle multiple FV images in one FV file + MdeModulePkg PeiCore: Handle multiple FV images in one FV file + UefiCpuPkg/CpuExceptionHandlerLib: Avoid calling PEI services from AP + CpuExceptionHandlerLib: Add comments to make code more readable + BaseTools: Fixed the PcdValue trailing zero issue + BaseTools: Dynamic Pcd value override from command line + BaseTools: Check pcd DefaultValue and SkuId EBNF + ShellPkg: Update Ifconfig command to accept 32bit subnet mask + MdeModulePkg/Network: Add 32bit subnet mask support for IP4 PXE boot + BaseTools: Clarify a DSC parsing error about PCDs + BaseTools: minimize assignment processing + BaseTools: Refactor to remove functionally equivalent functions + BaseTools: include variable namespace GUIDs of HII PCDs in Guid.xref + ShellPkg/SmbiosView: Update SmbiosView for SMBIOS3.2.0 + UefiCpuPkg/CpuDxe: change level of DEBUG message + UefiCpuPkg/CpuDxe: implement non-stop mode for uefi + UefiCpuPkg/CpuExceptionHandlerLib: Setup single step in #PF handler + MdeModulePkg/MdeModulePkg.dec: add new settings for PCDs + MdePkg: Add the missing spec version information for header files + BaseTools: Fix one expression bug to support ~ operate + BaseTools: Add check only VOID* type Pcd need the maxsize info + MdeModulePkg: Update SMBIOS PCDs to 3.2.0 + MdePkg SmBios.h: Add SMBIOS 3.2.0 definitions + MdeModulePkg/PciBus: Restrict one VGA per HostBridge not Segment + MdeModulePkg/PciBus: Refine ActiveVGADeviceOnTheRootBridge + ArmPkg/PlatformBootManagerLib: fix hotkey of boot option + BaseTools: Use hashlib instead of md5 + BaseTools: remove cmp due to deprecated in python3 + BaseTools: Modify class OrderedListDic + BaseTools: Update Makefile for ECC tool + BaseTools/VfrCompile: honor EXTRA_LDFLAGS + NetworkPkg/TlsAuthConfigDxe: fix TlsCaCertificate attributes retrieval + IntelFrameworkPkg/FrameworkUefiLib: don't special-case EFI_FILE_MODE_CREATE + MdePkg/UefiLib: don't special-case EFI_FILE_MODE_CREATE in OpenMode + Remove redundant variables, functions, library clesses, and GUIDs- Update to 2018+git1534736099.43fe4c405292 + BaseTools: AutoGen refactor ModuleAutoGen caching + OvmfPkg: link Sha384 and Sha512 support into Tcg2Pei and Tcg2Dxe + MdePkg/UefiLib: introduce EfiOpenFileByDevicePath() + BaseTools: Update the rule to remove .lib before link it for GCC + BaseTools: Add Dns and BluetoothLE DevicePath + MdeModulePkg SmmLockBox: Return actual data length in SmmLockBoxRestore + UefiCpuPkg/RegisterCpuFeaturesLib: Combine implementation + UefiCpuPkg/CpuS3DataDxe: Remove below 4G limitation + UefiCpuPkg/CpuS3DataDxe: Change Memory Type and address limitation + UefiCpuPkg/AcpiCpuData.h: Remove AcpiNVS and Below 4G limitation + UefiCpuPkg/PiSmmCpuDxeSmm: Use GDT/IDT saved in Smram + SecurityPkg/TcgStorageCoreLib.h: Use ascii instead of unicode + BaseTool: Fixed the bug of Boolean Hii Pcd packing + SecurityPkg: HashLib: Update HashLib file GUID + SecurityPkg/Library/Tpm2DeviceLibDTpm: fix s/Constructor/CONSTRUCTOR + OvmfPkg/PlatformDebugLibIoPort: fix port detection for use in the DXE Core + NetworkPkg/HttpDxe: Strip square brackets in IPv6 expressed HostName + MdeModulePkg/BdsDxe: Move display of test key usage into BDS module + ArmPkg: Add initial OpteeLib implementation + SecurityPkg: HashLib: Add SHA384, SHA512 HashLib + MdeModulePkg/BdsDxe: Call PlatformBootManagerUnableToBoot() + MdeModulePkg/BdsDxe: Revert "fall back to UI loop before hanging" + ArmVirtPkg/PlatformBDS: Implement PlatformBootManagerUnableToBoot + OvmfPkg/PlatformBds: Implement PlatformBootManagerUnableToBoot + MdeModulePkg/PciBusDxe: Fix small memory leak in FreePciDevice + MdeModulePkg/DxeCore: Not update RtCode in MemAttrTable after EndOfDxe + UefiCpuPkg/MpInitLib: Not use disabled AP when call StartAllAPs + UefiCpuPkg/MpInitLib: Remove redundant CpuStateFinished State + MdeModulePkg/DxeLoadFunc: Add use case for new Perf macro + SecurityPkg/Tcg: Add use case for new Perf macro + ArmVirtPkg: remove wrong and superfluous ResourcePublicationLib resolution + OvmfPkg: Correct ResourcePublicationLib class name in DSC/INF file + MdeModulePkg CapsuleApp: Do not parse bits in CapsuleFlags of ESRT + MdeModulePkg, TpmMeasureLib: Variable: Re-prioritize TCG/TCG2 protocol + SecurityPkg: TcgSmm: Handle invalid parameter in MOR SMI handler + OvmfPkg/XenPvBlkDxe: remove gEfiDevicePathProtocolGuid from [Protocols] + StandaloneMmPkg/Core: Implementation of Standalone MM Core Module + UefiCpuPkg/CpuDxe: fix incorrect check of SMM mode + UefiCpuPkg/MpInitLib: Optimize get processor number performance + OvmfPkg/AcpiPlatformDxe: clean up libs and protos in "AcpiPlatformDxe.inf" + UefiCpuPkg/MpInitLib: Fix S3 resume hang issue + UefiCpuPkg/MpInitLib: Use BSP uCode for APs if possible + UefiCpuPkg/MpInitLib: Relocate uCode to memory to save time + Update BaseTools for the preparation of python3 adoption - Refresh ovmf-pie.patch and ovmf-gdb-symbols.patch- Update to 2018+git1531464032.ae08ea246fe9 + ArmVirtPkg/ArmVirtQemu: enable the IPv6 stack + SecurityPkg: Fix assert when setting key from eMMC/SD/USB + UefiCpuPkg/MpInitLib: Avoid calling PEI services from AP + NetworkPkg/HttpDxe: Fix the bug when parsing HTTP(S) message body + SecurityPkg/OpalPassword: Fixed input correct password not works issue + SecurityPkg/TcgStorageOpalLib: Return AUTHORITY_LOCKED_OUT error + OvmfPkg/QemuFlashFvbServicesRuntimeDxe: Restore C-bit when SEV is active + OvmfPkg/QemuFlashFvbServicesRuntimeDxe: Do not expose MMIO in SMM build + OvmfPkg/QemuFlashFvbServicesRuntimeDxe: mark Flash memory range as MMIO + MdeModulePkg/Variable: Check EFI_MEMORY_RUNTIME attribute before setting it + MdeModulePkg SataControllerDxe: Calculate ChannelCount based on PI value + SecurityPkg Tpm2DeviceLibDTpm: Update enum type name to match the one in lib + MdeModulePkg UsbBusDxe: Fix wrong buffer length used to read hub desc (bsc#1131361, CVE-2019-0161) + SecurityPkg: Tpm2DeviceLib: Enable CapCRBIdleBypass support + SecurityPkg: Cache TPM interface type info + FatPkg/FatPei: Add the recognition of recovery capsule on NVME device + MdeModulePkg/NvmExpressPei: Add the NVME device PEI BlockIo support + MdeModulePkg: Add definitions for EDKII PEI NVME host controller PPI + ArmPkg/ArmMmuLib ARM: fix Mva to use idx instead of table base + ArmPkg/ArmMmuLib ARM: assume page tables are in writeback cacheable memory + ArmPkg/ArmMmuLib ARM: remove cache maintenance of block mapping contents + MdeModulePkg: Enable SATA Controller PCI mem space + MdeModulePkg/NetworkPkg: Checking for NULL pointer before use + MdeModulePkg/Core: remove SMM check for Heap Guard feature detection + UefiCpuPkg/CpuDxe: allow accessing (DXE) page table in SMM mode + BaseTools/tools_def IA32: drop -no-pie linker option for GCC49 + SecurityPkg/SecureBootConfigDxe: Fix invalid NV data issue + ArmVirtPkg: add QemuRamfbDxe + OvmfPkg: add QemuRamfbDxe + BaseTools/tools_def IA32: disable PIE code generation explicitly + MdePkg UefiLib: Use comparison logic to check UINTN parameter + ArmVirtPkg: switch to KVM safe IoLib implementation + MdePkg/BaseIoLibIntrinsic: make BaseIoLibIntrinsic safe for ArmVirt/KVM + ArmPkg/CompilerIntrinsicsLib: fix GCC8 warning for __aeabi_memcpy aliases - The IP6 stack of AAVMF is enabled- Update to 2018+git1528497654.eb5943134630 + CryptoPkg PeiCryptLib: Enable SHA384/512 support + MdePkg/UefiRuntimeLib: Do not allow to be linked by DXE driver + CryptoPkg: Remove deprecated function usage in X509GetCommonName() + PlatformBootManagerLib: add missing report status code call + OvmfPkg: raise DXEFV size to 11 MB + SignedCapsulePkg/PlatformFlashAccessLib: Add progress API + MdeModulePkg: Add DisplayUpdateProgressLib class + PcAtChipsetPkg/PcRtc: Add two new PCD for RTC Index/Target registers + OvmfPkg/Virtio10Dxe: convert to PciCapLib + OvmfPkg/PciHotPlugInitDxe: convert to PciCapLib + ArmVirtPkg: resolve PciCapLib, PciCapPciSegmentLib, PciCapPciIoLib + OvmfPkg: resolve PciCapLib, PciCapPciSegmentLib, PciCapPciIoLib + OvmfPkg: introduce PciCapPciIoLib + OvmfPkg: introduce PciCapPciSegmentLib + OvmfPkg: introduce PciCapLib + BaseTools/tools_def: add "-fno-unwind-tables" to GCC_AARCH64_CC_FLAGS + OvmfPkg/PlatformBootManagerLib: process TPM PPI request + OvmfPkg: add Tcg2PhysicalPresenceLibQemu + OvmfPkg/IndustryStandard: add QemuTpm.h header + OvmfPkg: add Tcg2PhysicalPresenceLibNull when !TPM2_ENABLE + MdePkg/SmmPeriodicSmiLib: Get Periodic SMI Context More Robustly + OvmfPkg/PlatformBootManagerLib: connect Virtio RNG devices again + ArmVirtPkg/PlatformBootManagerLib: connect Virtio RNG devices again + OvmfPkg/QemuVideoDxe: Enable DISPLAY_OTHER pci class for qemu stdvga + OvmfPkg/QemuVideoDxe: Add SubClass field to QEMU_VIDEO_CARD + OvmfPkg/PlatformBootManagerLib: connect consoles unconditionally + BaseTools: Fix generating array's size is incorrect in AutoGen.c + BaseTools: incorrect calculation for 16M- Enable TLS support correctly- Enable TPM 2.0 support- Update to 2018+git1525854636.13e3f8c03339 + BaseTools/VfrCompile: Avoid using uninitialized pointer + MdeModulePkg/PciHostBridge: Count the (mm)io overhead when polling + UefiCpuPkg/SecMain: Add NORETURN decorator to SecStartup() + CryptoPkg/CrtLibSupport: add secure_getenv() stub function + MdeModulePkg/AcpiPlatformDxe: Unload after execution + SecurityPkg/OpalPassword: Add support for pyrite 2.0 devices + NetworkPkg/NetworkPkg.dsc: Add the instance of library class [SafeIntLib] + ArmVirtPkg: use protocol-based DevicePathLib instance for most DXE modules + OvmfPkg/QemuVideoDxe: round up FrameBufferSize to full page + ArmVirtPkg: reinstate timer unmask quirk for Xen + ArmPkg/TimerDxe: remove workaround for KVM timer handling + FatPkg/EnhancedFatDxe: Ensure traverse of subtasks is delete-safe + OvmfPkg/PlatformBootManagerLib: add USB keyboard to ConIn + CryptoPkg/OpensslLib: Update OpenSSL version to 1.1.0h (bsc#1094289, CVE-2018-0739) + OvmfPkg/TlsAuthConfigLib: configure trusted cipher suites for HTTPS boot + ArmVirtPkg/ArmVirtQemu: hook NvVarStoreFormattedLib into VariableRuntimeDxe + ArmPlatformPkg/NorFlashDxe: cue the variable driver with NvVarStoreFormatted + ArmPlatformPkg/NorFlashDxe: initialize varstore headers eagerly + OvmfPkg: remove BLOCK_MMIO_PROTOCOL and BlockMmioToBlockIoDxe + OvmfPkg/TlsAuthConfigLib: configure trusted CA certs for HTTPS boot + MdeModulePkg/Variable/RuntimeDxe: introduce PcdMaxVolatileVariableSize + NetworkPkg/TlsAuthConfigDxe: preserve TlsCaCertificate variable attributes + NetworkPkg/HttpDxe: drop misleading comment / status code in cert config + NetworkPkg/HttpDxe: use error handler epilogue in TlsConfigCertificate() + NetworkPkg/HttpBootDxe: fix typo in DHCPv4 packet parsing + OvmfPkg/QemuVideoDxe: handle invalid BltOperation gracefully + NetworkPkg/UefiPxeBcDxe: Configure the ARP Instance/RouteTable with new address + NetworkPkg/HttpDxe: Handle the large data request via HTTPS channel + NetworkPkg/TlsDxe: Handle the multiple TLS record messages encryption/decryption + SecurityPkg Tpm12CommandLib: Fix TPM12 GetCapability response error + SecurityPkg Tpm2CommandLib: Fix TPM2.0 response memory overflow + MdeModulePkg/DxeMain: Fix BSP interrupts reenabled in ExitBootServices + UefiCpuPkg/MpInitLib: Disable interrupt at ExitBootServices AP Mwait + OvmfPkg/PlatformBootManagerLib: process "-kernel" before boot devices + OvmfPkg/PlatformBootManagerLib: hoist PciAcpiInitialization() + ArmVirtPkg/PlatformBootManagerLib: return to "-kernel before boot devices" + MdeModulePkg/Core: allow HeapGuard even before CpuArchProtocol installed + UefiCpuPkg CpuExceptionHandlerLib: use FixedPcdGetSize() as the macro value + remove TrEE + MdeModulePkg/PciBus: return CPU address for GetBarAttributes + MdeModulePkg/PciBus: convert host address to device address + MdeModulePkg/PciHostBridgeDxe: Add support for address translation + OvmfPkg/PciHostBridgeLib: clear PCI aperture vars for (re)init + ArmPkg/TimerDxe: Add ISB for timer compare value reload + BaseTools code refactoring- Update to 2018+git1521096615.b3fa393f477a + OvmfPkg/QemuBootOrderLib: add ConnectDevicesFromQemu() + NetworkPkg/IScsiDxe: Fix the ISCSI connection failure in certain case + OvmfPkg/QemuFlashFvbServicesRuntimeDxe: Clear C-bit when SEV is active (bsc#1099193) + OvmfPkg: include Tcg2Dxe module + OvmfPkg: simplify SecurityStubDxe.inf inclusion + OvmfPkg/AmdSevDxe: decrypt the pages of the initial SMRAM save state map + OvmfPkg/SmmCpuFeaturesLib: SEV: encrypt+free pages of init. save state map + OvmfPkg/PlatformPei: SEV: allocate pages of initial SMRAM save state map + OvmfPkg/MemEncryptSevLib: find pages of initial SMRAM save state map + MdeModulePkg/UsbMass: Retry CMD for MediaChanged sense key + NetworkPkg/HttpDxe: Support HTTP Delete Method + NetworkPkg/HttpBootDxe: Fix the incorrect error message output + MdeModulePkg: Add Boot Logo 2 Protocol + MdeModulePkg/UsbMass: Fix hot-plug USB CDROM can't be recognized + NetworkPkg: Read HttpTlsCipherList variable and configure it for HTTPS session + NetworkPkg: Define one private variable for HTTPS to set Tls CipherList + ArmVirtPkg: Add SafeIntLib and BmpSupportLib to DSC files + OvmfPkg: Add SafeIntLib and BmpSupportLib to DSC files + UefiCpuPkg/PiSmmCpuDxeSmm: fix infinite loop issue in SMM profile + MdeModulePkg Ppi/IoMmu.h: Add EFI_NOT_AVAILABLE_YET return status code + MdeModulePkg/Core: fix feature conflict between NX and heap guard + ReadKeyStrokeEx always return key state + SecurityPkg: Tcg2Smm: Enable TPM2.0 interrupt support + MdeModulePkg/Partition: Fix media probe + NetworkPkg/HttpBootDxe: Avoid to corrupt HttpBootDxe setup screen + MdeModulePkg/UefiBootManagerLib: Skip the DNS device path node check + MdeModulePkg/Core: fix a logic hole in page free + OvmfPkg/BaseMemEncryptSevLib: Enable protection for newly added page table + MdeModulePkg/Ip4Dxe: Add an independent timer for reconfig checking + NetworkPkg: Fix a memory leak issue in UDP6 driver + UefiCpuPkg/MtrrLib: Fix bug that may calculate wrong MTRR result + MdeModulePkg/DxeNetLib: Fix an error in packet length counting + NetworkPkg: Fix memory leak problem in PXE driver + MdeModulePkg/DxeHttpLib: Add boundary condition check + CryptoPkg/OpensslLib: Update OpenSSL version to 1.1.0g + MdeModulePkg/Core: Fix heap guard issues + NetworkPkg/HttpBootDxe: Break the HttpBoot Callback function when meet redirect status + NetworkPkg/HttpBootDxe: Avoid the potential memory leak when eror happen + MdeModulePkg/DxeIplPeim: fix incorrect page table split during protecting + NetworkPkg/UefiPxeBcDxe: Allow the NULL configuration for NewStationIP/NewSubnetMask + NetworkPkg/UefiPxeBcDxe: Fix Pxe.Dhcp() return status code + MdeModulePkg/Dhcp*: Check Media status before starting DHCP process + MdeModulePkg/Ip4Dxe: fix ICMP echo reply memory leak + NetworkPkg/DnsDxe: Update RetryCount/RetryInterval to comply with UEFI spec + MdeModulePkg/TcpIoLib: Cancel TCP token if connect/accept is timeout + MdeModulePkg/TcpIoLib: Check input Timeout before calling CheckEvent() service + MdeModulePkg/DxeIpl: Mark page table as read-only + SecurityPkg:Tcg2Smm:Enabling TPM SIRQ interrupt support + MdeModulePkg/ScsiDisk: Return EFI_NO_MEDIA when no media presents + BaseTool/tools_def GCC5: enable optimization for ARM/AARCH64 DEBUG builds + UefiCpuPkg/CpuDxe: Initialize stack switch for MP + UefiCpuPkg/CpuExceptionHandlerLib: Add stack switch support + UefiCpuPkg PiSmmCpuDxeSmm: SMM profile and static paging mutual exclusion + MdeModulePkg/NetLib: Fix an error when AIP doesn't support network media state detection + MdeModulePkg/NetLib: Add NetLibDetectMediaWaitTimeout() API to support EFI_NOT_READY media state detection + MdeModulePkg/Core/Dxe: log informative memprotect msgs at DEBUG_INFO level + ArmVirtPkg/ArmVirtXen: move from Intel to generic BDS + MdeModulePkg/SerialDxe: Do not fail reset when SetAttributes is not supported + MdeModulePkg/DxeCorePerformanceLib: add lock protection + OvmfPkg/QemuBootOrderLib: let an OFW devpath match multiple UEFI boot opts + OvmfPkg/QemuBootOrderLib: skip already matched / appended UEFI boot opts + MdeModulePkg/Core: Merge memory map after filtering paging capability + ArmVirtPkg/PrePi: don't export PE/COFF and LZMA libraries via HOBs + MdeModulePkg/BdsDxe: fall back to a Boot Manager Menu loop before hanging + SecurityPkg/SecureBootConfigDxe: Fix deleting signature data issue + CryptoPkg/IntrinsicLib: Fix the warning on memset + MdeModulePkg/DxeCore: Filter out all paging capabilities (bsc#1092943) + CryptoPkg/TlsLib: Change the return type of TlsInitialize() + NetworkPkg/HttpDxe: Fix the incorrect SizeofHeaders in HttpTcpReceiveHeader() + ArmVirtPkg: introduce ArmVirtMemInfoLib library class + ArmVirtPkg/PrePi: remove bogus primary core check + BaseTools/tools_def AARCH64 ARM: suppres PIE sections via linker script + PcAtChipsetPkg: Define FixePCD's for RTC register values + MdeModulePkg EhciPei: Minor refinement about IOMMU + MdeModulePkg/UefiBootManagerLib: Remove assertion + MdeModulePkg EhciPei: Also check Buf against NULL to return error + MdeModulePkg/UsbMassStorageDxe: Check Get Max LUN status/value + MdeModulePkg/UsbBusDxe: Add UsbControlTransfer() error check + BaseTools: Fix a bug for single module build with GenC/GenMake option + MdeModulePkg/PiSmmCore: Fix an assert issue in pool free + BaseTools: Fix the bug to collect source files per build rule family + MdeModulePkg/UdfDxe: Avoid possible loss track of allocated buffer + MdeModulePkg/PartitionDxe: Merge the discovery of ElTorito into UDF - Refresh ovmf-gdb-symbols.patch and ovmf-pie.patch - Modify openssl tarball unpacking to fit the change in ovmf- Only use SLES-UEFI-CA-Certificate-2048.crt for the suse flavor to provide the better compatibility (bsc#1077330)- Update to 2017+git1510945757.b2662641d5 + ArmPlatformPkg/ArmPlatformLibNull: remove bogus PCD dependencies + MdeModulePkg/UsbMassStorageDxe: Enhance Request Sense Handling + OvmfPkg: save on I/O port accesses when the debug port is not in use + OvmfPkg: create a separate PlatformDebugLibIoPort instance for SEC + OvmfPkg: make PlatformDebugLibIoPort a proper BASE library + OvmfPkg: restore temporary SEC/PEI RAM size to 64KB + OvmfPkg/Sec/X64: seed the temporary RAM with PcdInitValueInTempStack + ArmVirtPkg: switch to new PL011UartLib implementation + OvmfPkg/XenHypercallLib: enable virt extensions for ARM + MdeModulePkg/PiSmmCore: Implement heap guard feature for SMM mode + MdeModulePkg/DxeCore: Implement heap guard feature for UEFI + ArmVirtPkg/ArmVirtQemu: use non-accelerated CopyMem for VariableRuntimeDxe + NetworkPkg: Fix incorrect SizeofHeaders returned from HttpTcpReceiveHeader() + NetworkPkg: Print error message to screen if error occurs during HTTP boot + MdeModulePkg/PartitionDxe: Fix UDF fs access on certain CD/DVD medias + MdeModulePkg/UsbMassStorageDxe: Fix USB Mass Storage detection + MdeModulePkg SerialDxe: Handle Timeout change more robustly + CryptoPkg/BaseCryptLib: Fix mismatched memory allocation/free + CryptoPkg/BaseCryptLib: Fix buffer overflow issue in realloc wrapper + ArmPlatformPkg/PlatformPeim: allow PlatformPeiLib to set the boot mode + Deprecate EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS + SecurityPkg: Remove Counter Based AuthVariable support + BaseTools/tools_def AARCH64 ARM: disable PIE linking + NetworkPkg/TlsAuthConfigDxe: Remove the extra FreePool + NetworkPkg/HttpBootDxe: Add IPv6 support condition check + NetworkPkg/IScsiDxe: Fix the incorrect/needless DHCP process + MdeModulePkg/PciBus: Fix bug that PCI BUS claims too much resource + UefiCpuPkg/MtrrLib: Use SetMem instead of SetMem64 to fix hang + NetworkPkg: Remove ping6 and ifconfig shell application + OvmfPkg: fix dynamic default for oprom verification policy PCD without SB + OvmfPkg/PlatformPei: DENY_EXECUTE_ON_SECURITY_VIOLATION when SEV is active + SecurityPkg\Tcg2Pei: FV measure performance enhancement + SecurityPkg:AuthVariableLib:Implement ECR1707 for Private Auth Variable + ArmPlatformPkg: Store initial timer value + ArmVirtPkg ArmVirtDxeHobLib: Implement BuildFv3Hob + MdeModulePkg/Variable/RuntimeDxe: delete and lock OS-created MOR variable + ArmPkg/PlatformBootManagerLib: fix bug in ESRT invocation + OvmfPkg/PciHotPlugInitDxe: translate QEMU's resource reservation hints + OvmfPkg/PciHotPlugInitDxe: generalize RESOURCE_PADDING composition + OvmfPkg/IndustryStandard: define PCI Capabilities for QEMU's PCI Bridges + MdeModulePkg/BdsDxe: Don't delete "BootNext" until booting it + Clarify the usage of HttpConfigData in HTTP protocol + SecurityPkg/SecureBootConfigImpl.c: Secure Boot DBX UI Enhancement + MdeModulePkg/UDF: Fix creation of UDF logical partition + CryptoPkg: Add new API to retrieve commonName of X.509 certificate + OvmfPkg/VirtioNetDxe: log debug message in VirtioNetExitBoot() + OvmfPkg/QemuBootOrderLib: recognize "usb-storage" devices in XHCI ports + MdeModulePkg/Core: Fix out-of-sync issue in GCD + UefiCpuPkg/CpuDxe: Fix out-of-sync issue in page attributes + OvmfPkg/QemuVideoDxe/VbeShim: handle PAM1 register on Q35 correctly + OvmfPkg/QemuVideoDxe/VbeShim: rename Status to Segment0AllocationStatus + OvmfPkg/CsmSupportLib: move PAM register addresses to IndustryStandard + NetworkPkg/IScsiDxe: Remove redundant call to StrLen + BaseTools/tools_def AARCH64: enable frame pointers for RELEASE builds + ArmPkg/PlatformBootManagerLib: process pending capsules + MdeModulePkg/Udf: Avoid declaring and initializing local GUID variable + MdeModulePkg/UdfDxe: Avoid short (single character) variable name + MdeModulePkg/UdfDxe: Use compare operator for non-boolean comparisons + MdeModulePkg/UdfDxe: Fix operands of different size in bitwise OP + MdeModulePkg/UdfDxe: Add checks to ensure no possible NULL ptr deref + MdeModulePkg/SerialDxe: Fix not able to change serial attributes + NetworkPkg: Remove the redundant '/' in the end of returned ISCSIMacAddr keyword + MdeModulePkg/UdfDxe: Fix NULL pointer dereference + OvmfPkg/VirtioNetDxe: negotiate VIRTIO_F_IOMMU_PLATFORM + OvmfPkg/VirtioNetDxe: map caller-supplied Tx packet to device-address + OvmfPkg/VirtioNetDxe: add Tx packet map/unmap helper functions + OvmfPkg/VirtioNetDxe: update TechNotes + OvmfPkg/VirtioNetDxe: dynamically alloc transmit header + OvmfPkg/VirtioNetDxe: alloc RxBuf using AllocateSharedPages() + OvmfPkg/VirtioNetDxe: map VRINGs using VirtioRingMap() + OvmfPkg/VirtioNetDxe: add helper VirtioNetUninitRing() - Update openssl to 1.1.0g- Update ovmf-gdb-symbols.patch to avoid some symbols from being removed (bsc#1063463) - Add needssslcertforbuild back. It's useful for the devel projects.- Update to 2017+git1505340320.5afa5b8159 + MdeModulePkg/UdfDxe: suppress incorrect compiler warning in ReadFile() + MdeModulePkg/UdfDxe: reject reserved values in ICB.Flags[2:0] + MdeModulePkg: Add UdfDxe to the dsc file + MdeModulePkg: Update PiDxeS3BootScriptLib Internal function name + MdeModulePkg/UdfDxe: Remove negative comparison of unsigned number + ArmVirtPkg/ArmVirtQemu: port HTTP_BOOT_ENABLE from OvmfPkg + ArmVirtPkg: don't build the network stack uselessly for Xen + MdeModulePkg/PartitionDxe: remove always false comparison + MdeModulePkg/PartitionDxe: don't divide 64-bit values with C operators + MdeModulePkg/UdfDxe: replace zero-init of local variables with ZeroMem() + MdeModulePkg/UdfDxe: don't return unset Status if INLINE_DATA req succeeds + MdeModulePkg/UdfDxe: ASSERT() valid ReadFileInfo Flags for INLINE_DATA req + MdeModulePkg/UdfDxe: Initialize the array after declaration + ShellPkg/Ifconfig6: Update error message and add a new line + NetworkPkg/IScsiDxe: Fix the incorrect max length of IP_ADDRESS + OvmfPkg/SataControllerDxe: log informative message at DEBUG_INFO level + OvmfPkg/PlatformBootManagerLib: log informative message at DEBUG_INFO lvl + OvmfPkg/PlatformPei: log informative message at DEBUG_INFO level + UefiCpuPkg/CpuDxe: log informative message at DEBUG_INFO level + MdeModulePkg/UsbBusDxe: log warning message at DEBUG_WARN level + OvmfPkg/PlatformDebugLibIoPort: write messages with IoWriteFifo8() + MdePkg/BaseIoLibIntrinsic: fix SEV (=unrolled) variants of IoWriteFifoXX() + MdeModulePkg Xhci: Correct description of Timeout param in XhciReg.h + BaseTools/GCC: set -Wno-unused-const-variable on RELEASE builds + ArmVirtPkg: Enable UDF file system support + OvmfPkg: Enable UDF file system support + MdeModulePkg/PartitionDxe: Add UDF file system support + OvmfPkg/IoMmuDxe: unmap all IOMMU mappings at ExitBootServices() + OvmfPkg/IoMmuDxe: generalize IoMmuUnmap() to IoMmuUnmapWorker() + OvmfPkg/IoMmuDxe: track all mappings + OvmfPkg/VirtioScsiDxe: don't unmap VRING at ExitBootServices() + OvmfPkg/VirtioRngDxe: don't unmap VRING at ExitBootServices() + OvmfPkg/VirtioGpuDxe: don't unmap VRING & BackingStore at ExitBootServices + OvmfPkg/VirtioBlkDxe: don't unmap VRING at ExitBootServices() + MdeModulePkg/AtaAtapiPassThru: disable the device at ExitBootServices() + MdeModulePkg/AtaAtapiPassThru: unmap DMA buffers after disabling BM DMA + MdeModulePkg/AtaAtapiPassThru: cache EnabledPciAttributes + OvmfPkg/SecMain: Fix stack switching to permanent memory + ArmPkg: add ArmCrashDumpDxe driver + MdeModulePkg, NetworkPkg: Fix GCC build error + NetworkPkg/Ip6Dxe: fix a bug in IP6 driver for IpSec protocol notify + MdeModulePkg/Ip4Dxe: fix a bug in IP4 driver for IpSec protocol notify + MdePkg: Add UEFI 2.7 defined GUID and structure for AIP network media type + MdeModulePkg/UefiBootManagerLib: Generate boot description for SD/eMMC + Pkcs7VerifyDxe: Don't allow Pkcs7Verify to install protocols twice + SecurityPkg/Pkcs7Verify: Complete the Pkcs7VerifyDxe protocol + MdePkg PeiMemoryAllocationLib: Update InternalAllocateAlignedPages + MdePkg PeiMemoryAllocationLib: Update Free(Aligned)Pages + MdeModule PeiCore: Support pre memory page allocation + OvmfPkg/VirtioGpuDxe: negotiate VIRTIO_F_IOMMU_PLATFORM + OvmfPkg/VirtioGpuDxe: map backing store to bus master device address + OvmfPkg/VirtioGpuDxe: helpers for backing store (de)allocation+(un)mapping + OvmfPkg/VirtioGpuDxe: take EFI_PHYSICAL_ADDRESS in ResourceAttachBacking() + OvmfPkg/VirtioGpuDxe: map virtio GPU command objects to device addresses + OvmfPkg/VirtioGpuDxe: map VRING for bus master common buffer operation + OvmfPkg/IoMmuDxe: IoMmuFreeBuffer(): clean up DEBUG message + OvmfPkg/IoMmuDxe: IoMmuAllocateBuffer(): nicer and more informative DEBUGs + OvmfPkg/IoMmuDxe: IoMmuUnmap(): clean up DEBUG message + OvmfPkg/IoMmuDxe: IoMmuMap(): log nicer and more informative DEBUG msgs + OvmfPkg/BaseMemEncryptSevLib: clean up upper-case / lower-case in DEBUGs + OvmfPkg/BaseMemEncryptSevLib: promote DEBUG_WARN levels to DEBUG_ERROR + OvmfPkg/BaseMemEncryptSevLib: clean up debug logging of PhysicalAddress + OvmfPkg/BaseMemEncryptSevLib: clean up DEBUG prefixes + OvmfPkg/BaseMemEncryptSevLib: break DEBUG calls to multiple lines + OvmfPkg/BaseMemEncryptSevLib: unify encrypt/decrypt DEBUG messages + ArmPkg: remove ArmDmaLib + OvmfPkg/VirtioScsiDxe: negotiate VIRTIO_F_IOMMU_PLATFORM + OvmfPkg/VirtioScsiDxe: map virtio-scsi request and response buffers + OvmfPkg/VirtioScsiDxe: add helper to create a fake host adapter error + OvmfPkg/VirtioScsiDxe: map VRING using VirtioRingMap() + ArmPkg: remove UncachedMemoryAllocationLib + BaseTools/Gcc ARM AARCH64: add support for building device tree binaries + BaseTools: Enable --whole-archive in GCC tool chain as the default option + UefiCpuPkg/Mplib.c: Perform complete initialization when enable AP + OvmfPkg/VirtioBlkDxe: Check the return status of unmap data buffer + ArmVirtPkg: remove DmaLib library class resolution + ShellPkg: Update CWD and current mapping when commands return + ShellPkg: Fix bug that fails to change CWD after "map -r" + SecurityPkg: Add ARM/AARCH64 arch to enable RngTest module build + OvmfPkg/QemuFwCfgDxeLib: SEV: zero FW_CFG_DMA_ACCESS before decrypting it + ArmPkg/ArmDmaLib: implement DmaAllocateAlignedBuffer() + MdeModulePkg/UefiHiiLib: Fix incorrect check for string length + OvmfPkg/VirtioBlkDxe: negotiate VIRTIO_F_IOMMU_PLATFORM + Ovmfpkg/VirtioBlkDxe: map virtio-blk request and response buffers + OvmfPkg/VirtioBlkDxe: map VRING using VirtioRingMap() + MdePkg/S3PciSegmentLib: Add S3PciSegmentLib class and instance + MdePkg/PciSegmentLib: Add instances that consumes PciSegmentInfoLib + MdePkg/PciSegmentInfoLib: Add PciSegmentInfoLib class and instance + UefiCpuPkg/CpuCommonFeaturesLib: Add CPUID MCA support check + UefiCpuPkg: Update default for PcdCpuProcTraceMemSize/PcdCpuProcTraceOutputScheme + UefiCpuPkg/CpuCommonFeaturesLib: Use MSR data structure when change MSR value + UefiCpuPkg/ArchitecturalMsr.h: Add RTIT TOPA table entry definition + UefiCpuPkg/MpLib: fix potential overflow issue + UefiCpuPkg/PiSmmCpuDxeSmm: Fix memory protection crash + BaseTools/EfiRom: Add multiple device id support + OvmfPkg/VirtioRngDxe: negotiate VIRTIO_F_IOMMU_PLATFORM + OvmfPkg/Virtio10: define VIRTIO_F_IOMMU_PLATFORM feature bit + MdeModulePkg XhciDxe: Fix Map and Unmap inconsistency + SecurityPkg/Tcg2Dxe: Properly shutdown TPM before reset + OvmfPkg/VirtioRngDxe: map host address to device address + OvmfPkg/VirtioLib: change the parameter of VirtioAppendDesc() to UINT64 + OvmfPkg/VirtioLib: alloc VRING buffer with AllocateSharedPages() + OvmfPkg/VirtioLib: add function to map VRING + OvmfPkg/Virtio10Dxe: add the RingBaseShift offset + OvmfPkg/Virtio: take RingBaseShift in SetQueueAddress() + OvmfPkg/VirtioLib: take VirtIo instance in VirtioRingInit/VirtioRingUninit + OvmfPkg/VirtioLib: add VirtioMapAllBytesInSharedBuffer() helper function + OvmfPkg/VirtioMmioDeviceLib: implement IOMMU-like member functions + OvmfPkg/VirtioPciDeviceDxe: implement IOMMU-like member functions + OvmfPkg/Virtio10Dxe: implement IOMMU-like member functions + OvmfPkg: introduce IOMMU-like member functions to VIRTIO_DEVICE_PROTOCOL + BaseTools: Add the missing -pie link option in GCC tool chain + ArmPkg/ArmDmaLib: remove dependency on UncachedMemoryAllocationLib + OvmfPkg/QemuVideoDxe: remove AARCH64/ARM support + ArmVirtPkg: remove QemuVideoDxe from ArmVirtQemu and ArmVirtQemuKernel + BaseTools: Roll back GenFw Change to keep unknown field in RSDS debug entry + MdeModulePkg/DisplayEngine: Add implementation of HiiPopup protocol + MdeModulePkg/Library: Remove the self-reference in UdpIoLib/TcpIoLib/IpIoLib + ShellPkg/mkdir: support creating nested directories + MdeModulePkg/ScsiBusDxe: don't produce ScsiIo for nonexistent LUNs + UefiCpuPkg/PiSmmCpuDxeSmm: Add CPUID MCA support check + ArmPkg/ArmDmaLib: use double buffering only for bus master write + ArmVirtPkg/FdtPL011SerialPortLib: call PL011UartLib in all SerialPortLib APIs + UefiCpuPkg RegisterCpuFeaturesLib: Fix buffer pointer error usage + NetworkPkg/Ip6Dxe: Fix the bug when checking the DataSize + MdePkg/BaseLib: Update internal LinkedList verifications + MdePkg/BaseLib: Add IsNodeInList() function + MdeModulePkg: Delete useless case code + MdeModulePkg: Delete never touched code + UefiCpuPkg/BaseUefiCpuLib.inf: Remove unnecessary library class + UefiCpuPkg RegisterCpuFeaturesLib: Enhance debug messages.- Update ovmf-embed-default-keys.patch to handle the empty certificate files correctly- Update to 2017+git1502826981.a136bc3ccf + OvmfPkg/Protocol/VirtioDevice: fix comment style + OvmfPkg/VirtioMmioDeviceLib: add missing IN and OUT decoration + OvmfPkg/VirtioPciDeviceDxe: add missing IN and OUT decoration + OvmfPkg/Virtio10Dxe: supply missing BUS_MASTER attribute + OvmfPkg/VirtioPciDeviceDxe: supply missing BUS_MASTER attribute + UefiCpuPkg MpInitLib: Save/restore original WakeupBuffer for DxeMpLib + ShellPkg UefiDpLib: Init CustomCumulativeData.MinDur + MdeModulePkg DxeCore: Enhance "ConvertPages: Incompatible memory types" + MdeModulePkg DxeCore: Fix double free pages on LoadImage failure path + NetworkPkg/HttpBootDxe: Update device path node to include DNS information + MdeModulePkg/UefiBootManagerLib: Support DNS device path description + MdePkg/UefiDevicePathLib: Add DevPathFromTextDns and DevPathToTextDns libraries + MdePkg/DevicePath.h: Add DNS Device Path definition + NetworkPkg/HttpDxe: Handle the HttpVersionUnsupported in the HttpConfigData + BaseTools: Support TabSpace between section tag in DEC file + BaseTools: Don't need to add extra quotes when UI string from file + BaseTools/UPT: Support Multiple Installation + BaseTools/Scripts: Add sample makefile for use with RunMakefile.py + BaseTools/Scripts: Add python script to run a makefile + BaseTools/build: Expand PREBUILD/POSTBUILD DSC actions + NetworkPkg/Ip6Dxe: Support SetData interface to clear specific configuration + MdeModulePkg/Ip4Dxe: Support SetData interface to clear specific configuration + ShellPkg/drivers: Fix GCC build failure + BaseTools/edksetup.sh: fix invalid test for current working directory + ShellPkg/driver: Show "-" in non-SFO mode + ShellPkg/drivers: Show Image Name in non-SFO mode + MdeModulePkg: Variable: Fix typo in variable measure + MdeModulePkg/NvmExpressDxe: Notify NVME HW when system reset happens + MdePkg/Nvme: Add NVME shutdown notification related macros + NetworkPkg/HttpBootDxe: Refine the coding style. + OvmfPkg/AcpiPlatformDxe: short-circuit the transfer of an empty S3_CONTEXT + MdeModulePkg SerialDxe: Process timeout consistently in SerialRead + UefiCpuPkg MtrrLib: Remove deprecated micro. + UefiCpuPkg CpuDxe: Remove reference deprecated macro. + UefiCpuPkg CpuDxe: Enhance get mtrr mask logic. + BaseTools/Conf: apply nasmb, asm16 build rule order + NetworkPkg/HttpDxe: Support HTTP Patch method + OvmfPkg/PlatformPei: support >=1TB high RAM, and discontiguous high RAM + OvmfPkg/QemuFwCfgLib: Use BusMasterCommonBuffer to map FW_CFG_DMA_ACCESS + OvmfPkg/IoMmuDxe: Unmap(): recycle MAP_INFO after BusMasterCommonBuffer[64] + OvmfPkg/IoMmuDxe: abort harder on memory encryption mask failures + OvmfPkg/IoMmuDxe: implement in-place decryption/encryption for Map/Unmap + OvmfPkg/IoMmuDxe: rework setup of "MapInfo->PlainTextAddress" in Map() + OvmfPkg/IoMmuDxe: zero out pages before releasing them + OvmfPkg/IoMmuDxe: clean up used library classes + OvmfPkg/IoMmuDxe: propagate errors from AmdSevInstallIoMmuProtocol() + OvmfPkg/IoMmuDxe: don't initialize local variables + OvmfPkg/IoMmuDxe: convert UINTN arguments to UINT64 for the %Lx fmt spec + OvmfPkg/IoMmuDxe: rename HostAddress to CryptedAddress in MAP_INFO + OvmfPkg/IoMmuDxe: rename DeviceAddress to PlainTextAddress in MAP_INFO + OvmfPkg/IoMmuDxe: rewrap source code to 79 characters + OvmfPkg/IoMmuDxe: Fix header guard macro + MdeModulePkg/DisplayEngine: Fix incorrect display issue + BaseTools/VfrCompile: Remove the MAX_PATH limitation + BaseTools/VfrCompile: Fix segmentation fault issues + NetworkPkg: iSCSI should allow to set 6 or 12 length of ISID keyword. + UefiCpuPkg: Enable Processor Trace feature. + UefiCpuPkg: Add Processor Trace feature definition. + UefiCpuPkg: Add Pcds used by processor trace feature. + UefiCpuPkg/Msr: Add a missing IvyBridge processor signature + MdeModulePkg PeiCore: Install SEC HOB data + MdePkg: Add definition for SecHobData PPI + UefiCpuPkg PiSmmCpuDxeSmm: Check LMCE capability when wait for AP. + UefiCpuPkg CpuCommonFeaturesLib: Enable LMCE feature. + UefiCpuPkg: Add definition for LMCE feature. + NetworkPkg: Display HTTP redirection info to the screen if need. + ShellPkg/dblk: Honor the BlockIo alignment requirement. + MdeModulePkg/Ufs: Set 'Data Segment Length' field for Write Descriptor + MdeModulePkg/UfsPassThruDxe: Add impl of UFS Device Config Protocol + UefiCpuPkg SecCore: Fix operands of different size in bitwise operation + MdePkg/Ftp4: Fix wrong function pointer declaration + NetworkPkg/HttpDxe: Destroy the TLS instance when cleaning up the HTTP child + CryptoPkg/TlsLib: Remove the redundant free of BIO objects + NetworkPkg/Ip6Dxe: Fix the IPv6 PXE boot option goes missing issue + Fix spelling typo in EFI_HTTP_STATUS_CODE + NetworkPkg/HttpDxe: Refine the coding style. + MdePkg/Http.h: Refine the coding style. + ArmPkg: Move IS_DEVICE_PATH_NODE for sharing + MdeModulePkg FirmwarePerfPei: Remove SEC performance data getting code + UefiCpuPkg SecCore: Add SecPerformancePpiCallBack + UefiCpuPkg SecCore: Adjust PeiTemporaryRamBase&Size to be 8byte aligned + MdeModulePkg PeiCore: Handle notification PPI from SEC + MdePkg PiPeiCis.h: Add description for notification PPI from SEC + MdeModulePkg PiSmmCoreMemoryAllocLib: Fix a FreePool() assertion issue + BaseTools/GenCrc32: Fix a bug to hand empty file for decode + BaseTools/EfiLdrImage: Fix a segmentation fault from vfprintf() + BaseTools/EfiRom: Fix a segmentation fault from vsprintf()/vfprintf() + BaseTools/GenFfs: Fix a segmentation fault from vsprintf()/vfprintf() + BaseTools/GenSec: Fix a segmentation fault in main() + BaseTools/Split: Fix the segmentation fault in GetSplitValue() + BaseTools: Fix the bug to correctly check Pcd type that in FDF file + MdeModulePkg/PciBus: Avoid hang when BUS pad resource is not in top + ShellPkg: Avoid buffer out-of-bound access + ShellPkg/setvar: Check the duplicate flag + ShellPkg/ShellLib: Remove unused macros + MdePkg: Follow UEFI 2.7 spec to deprecate SMM Communication ACPI Table + UefiCpuPkg PiSmmCommunicationSmm: Deprecate SMM Communication ACPI Table + MdeModulePkg/BMMUiLib: Check reset requirement before exiting UiApp + MdeModulePkg/BMUiLib: Check reset requirement before exiting UiApp + MdeModulePkg/SetupBrowser: Record the reset status in all SendForm + ShellPkg/map: Recognize CDROM change + MdeModulePkg Xhci: Also RecoverHaltedEndpoint for BABBLE_ERROR + MdeModulePkg SmmLockBoxDxeLib: Get SmmCommRegion for COMM buffer + MdePkg/ResetNotification: Rename to UnregisterResetNotify + MdePkg: Add UEFI 2.7 defined GUID and structure for KMS protocol. + ShellPkg/ls: Display the file time in local time. + BaseTools: Fix the bug that warn() function with only 1 argument + BaseTools: add some comment for .PrebuildEnv file's usage + UefiCpuPkg: Update RegisterCpuFeaturesLib to consume PcdGetSize with UINTN + UefiCpuPkg: Update RegisterCpuFeaturesLib module UNI to match it + MdeModulePkg: Update NonDiscoverableDeviceRegistrationLib file header format + MdePkg UsbFunctionIo.h: Update comments for GetDeviceInfo return status + UefiCpuPkg: Remove deprecated CPU feature. + MdeModulePkg SmmAccess: Update comments to follow PI spec. + MdePkg SmmAccess2: Update comments to follow PI spec. + UefiCpuPkg RegisterCpuFeaturesLib: Add error handling. + MdeModulePkg/DxeCore: Avoid accessing non-owned memory + MdePkg DxeHstiLib: Fix memory leak issue + MdePkg Hsti.h: Update version info to 1.1a + ArmPlatformPkg: Support different PL011 reg offset + CryptoPkg/OpensslLib AARCH64: clear XIP CC flags + BaseTools/tools_def AARCH64: avoid SIMD registers in XIP code + BaseTools/tools_def AARCH64: mark register x18 as reserved + BaseTools/Build: Support python scripts in PREBUILD/POSTBUILD + UefiCpuPkg CpuCommonFeaturesLib: Fix smx/vmx enable logic error. + UefiCpuPkg RegisterCpuFeaturesLib: Add error handling code. + OvmfPkg/QemuFwCfgLib: Suppress GCC49 IA32 build failure + MdePkg: Declare _ReturnAddress() in Base.h for MSFT tool chain + OvmfPkg: update PciHostBridgeDxe to use PlatformHasIoMmuLib + OvmfPkg/QemuFwCfgLib: Add SEV support + OvmfPkg: Add IoMmuDxe driver + OvmfPkg: Add PlatformHasIoMmuLib + OvmfPkg: Add AmdSevDxe driver + OvmfPkg/PlatformPei: Set memory encryption PCD when SEV is enabled + OvmfPkg/BaseMemcryptSevLib: Add SEV helper library + OvmfPkg: Update dsc to use IoLib from BaseIoLibIntrinsicSev.inf + OvmfPkg/ResetVector: Set C-bit when building initial page table + MdeModulePkg/XhciDxe: Make comments align with function + MdeModulePkg/PartitionDxe: Add impl of Partition Information Protocol + MdePkg: Add EFI Partition Information Protocol definitions + BaseTools: Report Fd File Path in build log + BaseTools: Fix FDF file parse !include file issue + BaseTools: Add PCDs conditional operator function + BaseTools/Eot: register MM Module types with FFS class. + BaseTools/Workspace: check MM module type compatibility with PI version. + BaseTools/build: register MM module types with build tools. + BaseTools/GenFds: register MM Modules and MM FV file types. + BaseTools/CommonDataClass: register MM Modules. + BaseTools/Common: add support in FDF Parser to parse MM Modules. + BaseTools/Common: add MM Module data types. + BaseTools/AutoGen: auto generate MM template APIs and dependencies. + BaseTools/GenFw: recognize MM file types as EFI Boot Service Drivers. + BaseTools/GenFfs: add FFS file types for MM modules. + UefiCpuPkg MpInitLib: Update return status to follow spec. + UefiCpuPkg CpuMpPei: Update return status to follow spec. + UefiCpuPkg CpuDxe: Update return status to follow spec. + MdePkg MpServices: Update return status to follow spec. + BaseTools/GenFw: disregard payload in PE debug directory entry size + MdeModulePkg/NvmExpressDxe: Handle timeout for blocking PassThru req + OvmfPkg: mention the extended TSEG near the PcdQ35TsegMbytes declaration + OvmfPkg/PlatformPei: honor extended TSEG in PcdQ35TsegMbytes if available + OvmfPkg/SmmAccess: support extended TSEG size + OvmfPkg/IndustryStandard/Q35MchIch9.h: add extended TSEG size macros + OvmfPkg: make PcdQ35TsegMbytes dynamic + OvmfPkg/SmmAccess: prepare for PcdQ35TsegMbytes becoming dynamic + OvmfPkg/PlatformPei: prepare for PcdQ35TsegMbytes becoming dynamic + OvmfPkg: widen PcdQ35TsegMbytes to UINT16 + OvmfPkg: update -D E1000_ENABLE from Intel PROEFI v.07 to BootUtil v.22 + OvmfPkg: disable build-time relocation for DXEFV modules + ArmVirtPkg: remove status code support + ArmPlatformPkg: convert VExpress ResetSystemLib to ResetSystemLib + MdeModulePkg/XhciDxe: Check timeout URB again after stopping endpoint + MdeModulePkg/XhciDxe: Separate common logic to XhcTransfer + MdeModulePkg/XhciDxe: Dump the CMD/EVENT/INT/BULK ring information + MdeModulePkg/XhciDxe: Refine IsTransferRingTrb and IsAsyncIntTrb + BaseTools: suppress usage instructions with rebuild options + ArmVirtPkg: switch to generic ResetSystemRuntimeDxe + ArmPkg: implement ResetSystemLib using PSCI 0.2 calls + MdeModulePkg CapsuleApp: Fix print info in BuildGatherList() + MdeModulePkg ResetSystem: Update the comments of ResetSystem() + MdeModulePkg/ResetSystem: Implement ResetNotification protocol + MdeModulePkg/ResetSystem: Remove unnecessary global variable + MdePkg: Add ResetNotification protocol definition + MdeModulePkg PeiCore: Correct the comments of PeiResetSystem2 + MdePkg: Correct the comments of EFI_PEI_RESET2_SYSTEM + ShellPkg: Update dh command to reflect correct driver field information + MdeModulePkg/AtaAtapiPassThru: relax PHY detect timeout + MdePkg/IndustryStandard: update ACPI/IORT definitions to revision C + ShellPkg DmpStore: Make NameSize to be consistent with name buffer + MdeModulePkg/BdsDxe: Report Status Code when booting from BootOrder list + MdePkg/PiStatusCode: Add new Status Code for BDS when attempting BootOrder + Revert "MdeModulePkg/DxeCore: Fixed Interface returned by CoreOpenProtocol" + UefiCpuPkg: Modify GetProcessorLocationByApicId() to support AMD. + UefiCpuPkg: Add CPUID definitions for AMD. + UefiCpuPkg: Define AMD Memory Encryption specific CPUID and MSR + MdeModulePkg DxeCore: Only free ScratchBuffer when it is not NULL + MdeModulePkg/DxeCore: Fixed Interface returned by CoreOpenProtocol + BaseTools/PatchCheck.py: Add warning info for new binary files + BaseTools/PatchCheck.py: Fix misreport for binary changes in patch + BaseTools: support building the same INF more than once with - m option + BaseTools: report error HiiString in HII format PCD must not be empty + BaseTools: Fix the bug that use '|' or '||' in DSC file's Pcd value + BaseTools: Enhance the report to not show the empty section + BaseTools: Enhance DEC Defines section format check + BaseTools: Copy "TianoCore" userextensions into As Built Inf + BaseTools: Copy "MODULE_UNI_FILE" file into OUTPUT directory + MdePkg/Cper.h: Update Firmware Error Record per UEFI 2.7 + MdeModulePkg: Enhance the debug message for InstallProtocolInterface + MdePkg: update Base.h in MdePkg to check the _MSC_VER + BaseTools: add /Gw to CC_FLAGS for VS2013 and higher tool chain tags + NetworkPkg: Fix GCC build issue. + BaseTools/tools_def: AARCH64: disable LTO type mismatch warnings + BaseTools/tools_def GCC: ARM/AARCH64: drop -save-temps from command line + MdeModulePkg Variable: Add missing change in dd59d95e1994 + MdeModulePkg: Minor update to the Data parameter for PEI GetVariable() + MdePkg: Minor update to the Data parameter for PEI GetVariable() + NetworkPkg/HttpBootDxe: Add HTTP Boot Callback protocol support. + MdePkg: Add header file for HTTP Boot Callback protocol in UEFI 2.7. + MdeModulePkg: Return invalid param in LocateProtocol for Protocol==NULL + MdePkg: Add EFI UFS Device Config Protocol definitions + MdeModulePkg: Fix use-after-free error in InstallConfigurationTable() + MdeModulePkg: Clean ACPI 2.0 characters in UEFI spec + MdePkg: Clean ACPI 2.0 characters in UEFI spec + UefiCpuPkg/SmmCpuFeatureLib: Add more CPU ID for SmmFeatureControl. + ShellBinPkg: Ia32/X64 Shell binary update. + MdeModulePkg/BMMUiLib: Fix incorrect variable name + SecurityPkg TcgDxe: Simplify debug msg when "TPM not working properly" + ShellPkg: Fix typo errors in ifconfig help output + Shell/alias: Print detailed error when deleting alias + OvmfPkg/AcpiPlatformDxe: fix spurious uninitialized var warning + NetworkPkg/HttpBootDxe: Handle new #define in HttpBootDxe + MdeModulePkg/DxeHttpLib: Handle new #define in HttpMappingToStatusCode + MdePkg/Http.h: Add #define for 308 redirect + ShellPkg/ifconfig: Update help message + MdeModulePkg/PciHostBridgeDxe: Make bitwise operands of the same size + OvmfPkg/AcpiPlatformDxe: alloc blobs from 64-bit space unless restricted + BaseTools: Fix the bug use same FMP_PAYLOAD in different capsule file + BaseTools: Fix incremental build failure that override file be removed + ShellBinPkg: Ia32/X64 Shell binary update. + ShellPkg/parse: Handle Unicode stream from pipe correctly + ShellPkg/alias: Return status for alias deletion + MdePkg SmmIoLib: Use NULL pointer check instead of useless Status check + MdePkg SmmMemLib: Remove ASSERT in SmmIsBufferOutsideSmmValid + MdeModulePkg/UefiPxeBcDxe: Refine the PXE boot displayed information + MdeModulePkg/UefiPxeBcDxe: Fix the PXE BootMenu selection issue - Build x86_64 4MB images since upstream switched to 4MB by for a larger space for variables. Also update README to reflect the change. - Remove License-fat-driver.txt since FatPkg uses the same license as the root license. - Add the OVMF license file - Disable the PIE/PIC warning for the debug files since all object files will be converted to PE/COFF, so it's pointless to enable PIE/PIC. - Remove Default_DB_EX and Default_DBX correctly- Update to 2017+git1496630893.7ec69844b8 + ShellPkg/alias: Fix bug to support upper-case alias + BaseTools/GCC ARM/AARCH64: Force disable PIE + BaseTools/Scripts: discard .gnu.hash section in GCC builds + OvmfPkg: make the 4MB flash size the default + MdeModulePkg/BDS: Fix a buffer overflow bug + CryptoPkg/BaseCryptLib: Add NULL pointer checks in DH and P7Verify + UefiCpuPkg/BaseUefiCpuLib: Use NASM read-only data section name + OvmfPkg/PlatformPei: align EmuVariableNvStore at any page boundary + OvmfPkg/EmuVariableFvbRuntimeDxe: change block size to 4KB + OvmfPkg/EmuVariableFvbRuntimeDxe: correct NumOfLba vararg type in EraseBlocks() + ArmPlatformPkg/NorFlashDxe: correct NumOfLba vararg type in EraseBlocks() + OvmfPkg/EmuVariableFvbRuntimeDxe: always format an auth varstore header + MdeModulePkg/PciBus: Add IOMMU support + MdeModulePkg/PciHostBridge: Add IOMMU support + MdeModulePkg/Include: Add IOMMU protocol definition + ShellPkg/HandleParsingLib: Show LoadedImageProtocol file path as text + NetworkPkg: Fix issue in dns driver when building DHCP packet + Addressing TCP Window Retraction when window scale factor is used + Add wnd scale check before shrinking window + UefiCpuPkg/MtrrLib: Don't report OutOfResource when MTRR is enough + MdePkg DxeServicesLib: Handle potential NULL FvHandle + OvmfPkg/PlatformPei: handle non-power-of-two spare size for emu variables + SecurityPkg/Pkcs7VerifyDxe: Add format check in DB list contents + OvmfPkg: raise max variable size (auth & non-auth) to 33KB for FD_SIZE_4MB + OvmfPkg: introduce 4MB flash image (mainly) for Windows HCK + OvmfPkg/OvmfPkg.fdf.inc: extract VARS_LIVE_SIZE and VARS_SPARE_SIZE macros + OvmfPkg: introduce the FD_SIZE_IN_KB macro / build flag + ArmVirtPkg: install EdkiiPlatformHasDeviceTree proto in the 32-bit builds + NetworkPkg: Fix PXEv6 boot failure when DhcpBinl offer received + NetworkPkg: Fix bug in iSCSI mode ipv6 when enabling target DHCP + Fix issue the iSCSI client can not send reset packet + CryptoPkg/SmmCryptLib: Enable HMAC-SHA256 support for SMM + ShellPkg/Shell: eliminate double-free in RunSplitCommand() + ShellPkg/Shell: clean up bogus member types in SPLIT_LIST + MdeModulePKg/BDS: Build meaningful description for Wi-Fi boot option + MdeModulePkg/DeviceManagerUiLib: Fix the network device MAC display issue + MdeModulePkg/Mtftp4Dxe: Add invalid ServerIp check during MTFTP configuration + NetworkPkg/TlsAuthConfigDxe: Close and free the file related resource + NetworkPkg: Correct the proxy DHCP offer handing + NetworkPkg/HttpDxe: Fix HTTP download OS image over 4G size failure + MdeModulePkg/UefiBootManagerLib: Avoid buggy USB short-form expanding + NetworkPkg: Fix bug related DAD issue in IP6 driver + NetworkPkg: Add check logic for iSCSI driver + MdeModulePkg PiSmmCore: Enhance SMM FreePool to catch buffer overflow + UefiCpuPkg/PiSmmCpuDxeSmm: Lock should be acquired + MdeModulePkg/BootManagerMenu: Add assertion to indicate no DIV by 0 + CryptoPkg: Correct some minor issues in function comments + MdePkg/UefiLib: Avoid mis-calculate of graphic console size + MdeModulePkg/PiSmmCore: Fix potentially uninitialized local variable + MdeModulePkg DxeCore: Fix issue to print GUID value %g without pointer + ArmVirtPkg/ArmVirtXen: remove ARM BdsLib library class resolution - Add ovmf-disable-ia32-firmware-piepic.patch to disable pic/pie explicitly since gcc7 in Factory enables pic/pie by default but GenFw cannot handle the GOT sections and failed the build.- ovmf-pie.patch: add -fPIE to the Common build Makefile to allow a global PIE build.- Update to 2017+git1492060560.b6d11d7c46 (fate#322331, bsc#1032659) + MdePkg: BaseIoLibIntrinsic (IoLib class) library + MdeModulePkg/IdeBusPei: Fix undefined behavior in signed left shift + MdeModulePkg/ScsiDiskDxe: Fix undefined behavior in signed left shift + OvmfPkg/QemuVideoDxe: VMWare SVGA device support + MdeModulePkg/UefiBootManagerLib: Enhance short-form expanding logic + CryptoPkg/BaseCryptLib: Adding NULL checking in time() wrapper + CryptoPkg: Fix possible unresolved external symbol issue. + CryptoPkg/OpensslLib: Suppress extra build warnings in openssl source + CryptoPkg: Move openssl and CRT headers to private include section + BaseTools: Update tools_def.template to add -fno-builtin in GCC tool chain + SecurityPkg: SecureBootConfigDxe: Support AUTH_2 enrollment to DBX + MdeModulePkg/UefiHiiLib:Fix incorrect comparison expression + ArmVirtPkg/ArmVirtQemuKernel: increase slack space for DTB + ArmVirtPkg/FdtClientDxe: honor memory DT node 'status' property + NetworkPkg: Fix some bugs related to iSCSI keyword configuration + MdeModulePkg/DxeHttpLib: Avoid the pointless comparison of UINTN with zero + BaseTools: Enhance expression to support some more operation + MdePkg/Shell.h: Update Shell version from 2.1 to 2.2 + UefiCpuPkg/PiSmmCpuDxeSmm: Update saved SMM ranges check in SmmProfile + ArmVirtPkg/PlatformHasAcpiDtDxe: allow guest level ACPI disable override + BaseTools/GCC AARCH64: force disable PIC code generation + UefiCpuPkg/MtrrLib: Use a better algorithm to calculate MTRR + MdeModulePkg/SmmCore: Fix memory leak on Profile unregistered + OvmfPkg: Allow multiple add-pointer linker commands to same ACPI table - Drop upstream patch: ovmf-bsc1031336-fix-hii-gcc7-build.patch- Add ovmf-bsc1031336-fix-hii-gcc7-build.patch to fix gcc7 build (bsc#1031336)- Update to 2017+git1490844769.d3017dd96b + MdeModulePkg/DxeHttpLib: Fix the incorrect return status if URI port is invalid + NetworkPkg/DnsDxe: Fix zero StationIp configuration failure of DNSv6 + CryptoPkg: Clean-up CRT Library Wrapper + CryptoPkg: Fix handling of &strcmp function pointers + CryptoPkg/OpensslLib: Update INF files to support OpenSSL-1.1.0x build + ArmVirtPkg/PlatformHasAcpiDtDxe: don't expose DT if QEMU provides ACPI + ArmVirtPkg: enable AcpiTableDxe and EFI_ACPI_TABLE_PROTOCOL dynamically + ArmVirtPkg: add XenPlatformHasAcpiDtDxe + ArmVirtPkg: add PlatformHasAcpiDtDxe + UefiCpuPkg/AcpiCpuData.h: Support >4GB MMIO address + NetworkPkg/IScsiDxe: Fix the incorrect error handling in DriverEntryPoint + Fix potential ASSERT if NetIp4IsUnicast is called + ArmPkg/PlatformBootManagerLib: move to BootLogoLib for boot splash support + UefiCpuPkg: Add CPU Features PEI/DXE drivers + ArmVirtPkg/HighMemDxe: use CPU arch protocol to apply memprotect policy + MdeModulePkg/BootGraphicsResourceTableDxe: don't allocate below 4 GB + MdeModulePkg/DxeCore: deal with allocations spanning several memmap entries + MdeModulePkg/AcpiTableDxe: Not make FADT.{DSDT,X_DSDT} mutual exclusion + NetworkPkg: Fix service binding issue in TCP dxe + MdeModulePkg: Fix service binding issue in TCP4 and Ip4 dxe + MdeModulePkg: Fix bug in DxeHttplib when converting port number + MdeModulePkg/Ip4Dxe: Add Ip/Netmask pair check for Ip4Config2 + ArmPkg/UncachedMemoryAllocationLib: set XP bit via CPU arch protocol + MdeModulePkg DxeCore: Remove unreferenced symbol for memory profile + MdeModulePkg PiSmmCore: Remove unreferenced symbol for SMRAM profile + NetworkPkg: Fix potential bug if the iSCSI use dns protocol + MdePkg/UefiDevicePathLib: Fix the wrong MAC address length + OvmfPkg/AcpiPlatformDxe: save fw_cfg boot script with QemuFwCfgS3Lib + ArmVirtPkg, OvmfPkg: retire QemuFwCfgS3Enabled() from QemuFwCfgLib + OvmfPkg: resolve QemuFwCfgS3Lib + ArmVirtPkg: resolve QemuFwCfgS3Lib + OvmfPkg/QemuFwCfgS3Lib: add initial PEI and DXE fw_cfg library instances + OvmfPkg: introduce QemuFwCfgS3Lib class + MdeModulePkg/SmmCore: Add Context in SmiHandlerProfileUnregister + MdeModulePkg/UefiBootManagerLib: Generate boot description for NVME + ArmVirtPkg/ArmVirtPL031FdtClientLib: unconditionally disable DT node + ArmVirtPkg/FdtClientDxe: supplement missing EFIAPI calling conv specifiers + MdeModulePkg/AcpiTableDxe: improve FADT.{DSDT,X_DSDT} mutual exclusion + ArmPkg/CpuDxe: handle implied attributes in EfiAttributeToArmAttribute + ArmVirtPkg: apply PE/COFF memory protection to DxeCore as well + ArmPkg/UncachedMemoryAllocationLib: map uncached allocations non-executable + ArmPkg/UncachedMemoryAllocationLib: use CWG value to align pool allocations + ArmPkg/UncachedMemoryAllocationLib: restore mapping attributes after free - Update openssl to 1.1.0e- Update to 2017+git1488934948.29e9bf10dc + ArmVirtPkg: enable non-executable DXE stack for all platforms + ArmVirtPkg: enable PE/COFF image and memory protection for ARM platforms + ArmPkg/CpuDxe ARM: honour RO/XP attributes in SetMemoryAttributes() + ArmPkg/CpuDxe ARM: avoid unnecessary cache/TLB maintenance + ArmPkg/CpuDxe ARM: avoid splitting page table sections unnecessarily + Refine casting expression result to bigger size + NetworkPkg/Dhcp6Dxe: Handle the Nil UUID case + ArmVirtPkg AARCH64: enable NX memory protection for all platforms + ArmVirtPkg/HighMemDxe: preserve non-exec permissions on newly added regions + SecurityPkg: Fix potential bug in Security Boot dxe + MdeModulePkg/EbcDxe: use EfiBootServicesCode memory for thunks + CryptoPkg/OpensslLib: Upgrade OpenSSL version to 1.0.2k (bsc#1030565) + ArmVirtPkg: clear PcdPerformanceLibraryPropertyMask PCD + Ignore duplicated DNS address check + MdeModulePkg/DxeCore: base code protection on permission attributes + OvmfPkg: exclude libssl functionality from OpensslLib if TLS_ENABLE=FALSE + CryptoPkg/OpensslLib: introduce OpensslLibCrypto instance + ArmVirtPkg/ArmVirt.dsc.inc: AARCH64: enable DXE image protection feature + OvmfPkg/XenBusDxe: Use EFIAPI for XenStoreVSPrint + Update the Ethernet interface name + NetworkPkg:Add scriptable configuration to iSCSI driver by leveraging x-UEFI + ArmPkg/ArmMmuLib: AARCH64: enable stack alignment checking + ArmPlatformPkg/ArmPlatformStackLib: use callee preserved registers + MdeModulePkg/DxeCore: Add UEFI image protection + UefiCpuPkg/CpuDxe: Add memory attribute setting + OvmfPkg/QemuFwCfg: introduce FW_CFG_IO_SELECTOR, FW_CFG_IO_DATA, and FW_CFG_IO_DMA_ADDRESS + UefiCpuPkg/ExceptionHandlerAsm.S: Fix code length issue with GCC 5.4 + ArmPkg/ArmMmuLib: AARCH64: add support for modifying only permissions + ArmPkg/CpuDxe: ARM: ignore page table updates that only change permissions + ArmPkg/CpuDxe: translate invalid memory types in EfiAttributeToArmAttribute + ArmPkg/CpuDxe: Correct EFI_MEMORY_RO usage + OvmfPkg/AcpiPlatformDxe: implement the QEMU_LOADER_WRITE_POINTER command + MdeMoudlePkg/DisplayEngine: Fix incorrect index used in array "InputText" + MdeModulePkg: Add the EFI_PRINT2S_PROTOCOL + MdePkg/BasePrintLib: Add safe print functions [A|U]ValueToStringS + Refine the SPrint functions + SecurityPkg: enhance secure boot Config Dxe & Time Based AuthVariable + Generate the correct operational state of the interface + NetworkPkg/HttpBootDxe: Update to check specified media type + NetworkPkg/HttpBootDxe: Request HTTP token notify as a DPC at TPL_CALLBACK + NetworkPkg/iSCSIDxe: Update the condition for IScsiStart Abort + MdePkg ACPI: Incorrect definition name for ACPI IORT Table signature + MdeModulePkg/PciBus: Accept Spec values as BarIndex and Alignment + NetworkPkg/NetworkPkg.uni: Define the prompt and help information for PcdAllowHttpConnections + MdeModulePkg/DxeHttpLib: Correct the return status for the HTTP Port/ContentLength + MdeModulePkg/UefiBootManagerLib: Initialize Handle before using it + OvmfPkg/SmmControl2Dxe: select broadcast SMI if available + OvmfPkg: dynamic defaults for PcdCpuSmmApSyncTimeout, PcdCpuSmmSyncMode + ArmVirtPkg/QemuFwCfgLib: implement QemuFwCfgSkipBytes() API + ArmVirtPkg/QemuFwCfgLib: use DMA for QemuFwCfgWriteBytes() if available + ArmVirtPkg/QemuFwCfgLib: extract generic DmaTransferBytes() function + OvmfPkg/QemuFwCfgLib: add QemuFwCfgSkipBytes() + OvmfPkg/QemuFwCfgLib: generalize InternalQemuFwCfgDmaBytes() to SKIP op + SecurityPkg: Tcg2Dxe: Update PCR[4] measure logic + MdePkg: Add definitions for SMBIOS spec 3.1.1 + OvmfPkg/QemuVideoDxe: Frame buffer config size may change in new mode - Update openssl to 1.0.2k- update to 2017+git1485224553.6671cd7444 + NetworkPkg: Fix protocol handler service in HttpDxe + OvmfPkg: Allow HTTP connections if HTTP Boot enabled + NetworkPkg: Add PCD to enable the HTTP connections switch + MdePkg: Add definitions for SMBIOS spec 3.1.0 + ArmPlatformPkg/NorFlashDxe: Change Flash memory attributes before writes + MdePkg DxeHobLib: Make GetHobList working before Constructor is called + NetworkPkg: Add dns support for target URL configuration in ISCSI + MdeModulePkg/FileExplorer: Enable functionality of creating new file/folder + OvmfPkg: pull in TLS modules with -D TLS_ENABLE (also enabling HTTPS) + OvmfPkg: correct the IScsiDxe module included for the IPv6 stack + OvmfPkg: always resolve OpenSslLib, IntrinsicLib and BaseCryptLib + OvmfPkg: Modify QemuFwCfgLib to use new IoLib class library + OvmgPkg/PlatformBootManagerLib: Add Debug Agent console + OvmfPkg/SmmControl2Dxe: correct PCI_CONFIG_READ_WRITE in S3 boot script + OvmfPkg: Install BGRT ACPI table + MdeModulePkg/Bds: Fix a bug that may causes S4 fails to resume + MdePkg, MdeModulePkg: S3BootScriptSaveMemPoll(): accept 64-bit LoopTimes + NetworkPkg/HttpDxe: Fix the potential NULL dereference + NetworkPkg/HttpDxe: HTTPS support over IPv4 and IPv6 + NetworkPkg/TlsAuthConfigDxe: Provide the UI to support TLS auth configuration + NetworkPkg/TlsDxe: TlsDxe driver implementation over OpenSSL + MdePkg: Add TLS related protocol definition + MdePkg/MemoryLib: Refine InternalMemSetMem16|32|64 functions logic + NetworkPkg: Replace ASSERT with error return code in PXE and HTTP boot driver + MdeModulePkg: Replace ASSERT with error return code in PXE driver + UefiCpuPkg/Cpuid.h: Update CPUID definitions with SDM (Sep.2016) + UefiCpuPkg/Include: Update MSR header files with SDM (Sep.2016) + UefiCpuPkg/PiSmmCpuDxeSmm: Always initialze PSD + MdeModulePkg/PiSmmCore: MemoryAttributeTable need keep non-PE record + MdeModulePkg/PiSmmCore: AllocatePool should use MemoryType + OvmfPkg/XenHypercallLib: Add EFIAPI + OvmfPkg/QemuFwCfgLib: support QEMU's DMA-like fw_cfg access method + ArmVirtPkg/QemuFwCfgLib: rebase lib instance to updated lib class header + OvmfPkg/QemuFwCfgLib: extend lib class header with more definitions + ArmVirtPkg, OvmfPkg: QemuFwCfgLib: move DMA-related defs to lib class + OvmfPkg/QemuFwCfgLib: move InternalQemuFwCfgIsAvailable() to lib instances + ArmVirtPkg/QemuFwCfgLib: remove superfluous InternalQemuFwCfgIsAvailable() + OvmfPkg: Remove use of IntelFrameworkModulePkg legacy libs + UefiCpuPkg/PiSmmCpuDxeSmm: Remove MTRRs from PSD structure + UefiCpuPkg/PiSmmCpuDxeSmm: Clear some semaphores on S3 boot path + ArmPkg/ArmDmaLib: add support for fixed host-to-device DMA offset + ArmPkg/ArmDmaLib: clean up abuse of device address + ArmPkg/ArmDmaLib: fix incorrect device address of double buffer + ArmPkg/ArmDmaLib: use DMA buffer alignment from CPU arch protocol + ArmPkg/ArmMmuLib: support page tables in cacheable memory only + UefiCpuPkg/PiSmmCpu: relax superpage protection on page split + OvmfPkg/PlatformPei: take VCPU count from QEMU and configure MpInitLib + UefiCpuPkg/MpInitLib: wait no longer than necessary for initial AP startup - Enable TLS support by default (for HTTPS)- update to 2017+git1480394913.2b2efe3: + UefiCpuPkg/PiSmmCpuDxeSmm: handle dynamic PcdCpuMaxLogicalProcessorNumber + SecurityPkg Tcg2ConfigDxe: Align Attempt TPM Device help with options + SecurityPkg Tcg2ConfigDxe: Remove BlockSID actions and related strings + SecurityPkg OpalPasswordDxe: Use PP actions to enable BlockSID + SecurityPkg Tcg2PPLib: Support BlockSID related actions + MdeModulePkg/NetLib: Handle an invalid IPv6 address case + UefiCpuPkg/DxeMpLib: Fix bug when getting target C-State from eax + UefiCpuPkg/DxeMpLib: Make sure APs in safe loop code + UefiCpuPkg/DxeMpLib: Allocate new safe stack < 4GB + UefiCpuPkg/DxeMpLib: Get safe AP loop handler from global variable + ArmPlatformPkg: Fix VE RTSM mem map descriptor count + ArmPlatformPkg: Reformat VE Memory Map code + ArmPkg: remove the LinuxLoader application + MdeModulePkg/SetupBrowser:Don't support password without interactive flag + MdeModulePkg/DisplayEngine: Popup dialogue when password is not supported + MdeModulePkg/AtaAtapiPassThru: Ensure GHC.AE bit is always set in Ahci + MdeModulePkg/Xhci: Add 10ms delay before sending SendAddr cmd to dev + UefiCpuPkg/PiSmmCpu: Correct exception message + UefiCpuPkg: fix feature test for Extended Topology CPUID leaf + SecurityPkg DxeTcg2PPLib: Lock Tcg2PhysicalPresenceFlags variable on S4 + MdeModulePkg/DxeNetLib: Allow the IPv4/prefix case when AsciiStrToIp4 + ShellPkg: update ping6 to use timer service instead of timer arch protocol + MdeModulePkg/DisplayEngine: Return the selectable menu correctly + SecurityPkg Tcg2Dxe: ASSERT to ensure 'VarData' is not NULL + SecurityPkg TcgStorageCoreLib: ASSERT to ensure 'ByteSeq' is not NULL + UefiCpuPkg/PiSmmCpuDxeSmm: dynamic PcdCpuSmmApSyncTimeout, PcdCpuSmmSyncMode + MdeModulePkg/PiSmmCore: Cache CommunicationBuffer info before using it + Check for the max DHCP packet length before use it + OvmfPkg: Add 4K PE alignment to enable SMM page level protection + UefiCpuPkg/PiSmmCpu: Check XdSupport before set NX + MdeModulePkg/BdsDxe: Avoid overwriting PlatformRecovery#### + MdeModulePkg/BdsDxe: Fix bug to run non-first PlatformRecovery#### + PcAtChipsetPkg/PcRtc: Handle NULL table entry in RSDT/XSDT + UefiCpuPkg/SecCore: Correct print format for stack information + MdeModulePkg/PiSmmCpuDxeSmm: Check RegisterCpuInterruptHandler status + MdeModulePkg/CpuExceptionHanderLibNull: RegisterCpuInterruptHandler() + UefiCpuPkg/PiSmmCpuDxeSmm: Add volatile to mNumberToFinish + UefiCpuPkg/PiSmmCpuDxeSmm: TransferApToSafeState() use UINTN params + MdePkg/BaseSynchronizationLib: Fix function names in function headers + MdePkg/BaseSynchronizationLib: Add volatile Interlocked*() APIs + MdePkg/Include: Add volatile to SynchronizationLib parameters + UefiCpuPkg/MpInitLib: support 64-bit AP stack addresses + UefiCpuPkg/MpInitLib/X64/MpFuncs.nasm: fix fatal typo + UefiCpuPkg/MpInitLib/X64/MpFuncs.nasm: remove superfluous instruction + UefiCpuPkg/DxeMpInitLib: remove duplicate HobLib class dependency + MdeModulePkg/Include: Add PiSmmMemoryAttributesTable.h + MdeModulePkg HiiDatabase: Remove extra memory initialization + UefiCpuPkg/PiSmmCpuDxeSmm: Add paging protection + UefiCpuPkg/dec: Add PcdCpuSmmStaticPageTable + MdeModulePkg/PiSmmCore: Add MemoryAttributes support + ArmVirtPkg DxeHobLib: Update func header description of BuildFv(2)Hob() + IntelFrameworkPkg PeiHobLib: Check FV alignment when building FV HOB + MdePkg HobLib: Check FV alignment when building FV HOB + MdeModulePkg DxeCore: Show error message on unaligned FvImage issue + MdeModulePkg/Ip4Dxe: Correct the return status + MdeModulePkg/Ip4Dxe: Add wrong/invalid subnet check + OvmfPkg AcpiTables: Use PcdDebugIoPort to describe QEMU debug console + MdePkg/BaseLib: Add one wrapper on RdRand access for parameter check + UefiCpuPkg/MpInitLib: Update AP information when BSP switched + UefiCpuPkg/MpInitLib: Program AP stack in fixed address + UefiCpuPkg/MpInitLib: Add InitFlag and CpuInfo in MP_CPU_EXCHANGE_INFO + UefiCpuPkg/MpInitLib: Remove CPU information from CPU_AP_DATA + UefiCpuPkg/MpInitLib: Force sending INIT-SIPI-SIPI to reset APs + UefiCpuPkg/MpInitLib: Fixed offset error on Cr3Location + UefiCpuPkg/PiSmmCpuDxeSmm: Free SmramRanges to save SMM space + ShellPkg/dmpstore: Support "-sfo" + ArmPkg/Library/ArmDmaLib: Deallocate Map buffer in case of error + UefiCpuPkg/PiSmmCpuDxeSmm: Decrease mNumberToFinish in AP safe code + UefiCpuPkg/PiSmmCpuDxeSmm: Place AP to 32bit protected mode on S3 path + UefiCpuPkg/PiSmmCpuDxeSmm: Put AP into safe hlt-loop code on S3 path + UefiCpuPkg/DxeMpLib: Place APs to suitable state on Legacy OS boot + UefiCpuPkg/DxeMpLib: Allocate below 4GB mem for AsmRelocateApLoopFunc + CryptoPkg/BaseCryptLib: Make comments consistent with the function + OvmfPkg/PlatformBds: Dispatch deferred images after EndOfDxe + ArmVirPkg/PlatformBds: Dispatch deferred images after EndOfDxe + MdeModulePkg/BdsDxe: Check deferred images before booting to OS + UefiCpuPkg/MpInitLib: Do not wakeup AP if only one processor supported + BaseTools/EfiRom: Fix potential memory leak + OvmfPkg/ResetVector: Depend on PCD values of the page tables + CryptoPkg: Add HMAC-SHA256 cipher support + CryptoPkg: Add xxxxHashAll APIs to facilitate the digest computation + NetworkPkg: Fix the wrong Timer event check + NetworkPkg: Update IP4 stack drivers for classless address unicast check + PcAtChipsetPkg/HpetTimerDxe: Fix race condition in SetTimerPeriod() + OvmfPkg: Make more use of ARRAY_SIZE() + rebase to ARRAY_SIZE() + ArmPlatformPkg: remove ARM BDS + OvmfPkg/XenConsoleSerialPortLib: don't include + NetworkPkg: Support bracketed IPv6 address during a redirection in iSCSI + NetworkPkg: Enhance the code in DNS driver + NetworkPkg: Add dns support for pxe boot based on IPv6 + disable deprecated interfaces + OvmfPkg/QemuVideoDxe: drop useless variables QEMU_VIDEO_MODE_DATA.RefreshRate QEMU_VIDEO_CIRRUS_MODES.RefreshRate QEMU_VIDEO_PRIVATE_DATA.CurrentMode QEMU_VIDEO_PRIVATE_DATA.LineBuffer + ArmVirtPkg: undo bogus component name and driver diagnostics disablement + NetworkPkg: Record user configured TargetIP/Port in iBFT - Use GCC5 in Tumbleweed- update to 2017+git1476331065.08354c3: + OvmfPkg: add NOOPT build target for source level debugging + OvmfPkg: QemuVideoDxe uses MdeModulePkg/FrameBufferLib + BaseTools: support the NOOPT target with the GCC tool chains + BaseTools Makefile: Enable O2 option for GCC tool chain + CryptoPkg/OpensslLib: Upgrade OpenSSL version to 1.0.2j (bsc#1013603) + MdeModulePkg/Logo: Add LogoDxe module + MdeModulePkg/HiiDatabase: Add HiiImageEx implementation + MdeModulePkg/PciBusDxe: make OPROM BAR degradation configurable + NetworkPkg: Correct the DNS token return status by RCODE + BaseTools/EfiRom: supply missing machine type lookup strings + ArmVirtPkg: restrict mapping attributes of normal memory to EFI_MEMORY_WB + OvmfPkg/QemuBootOrderLib: drop too strict "/HD(" suffix from vblk prefix (bsc#1009707) + NetworkPkg/DnsDxe: Handle CNAME type responded from the name server + ArmVirtPkg/FdtPciHostBridgeLib: enable 64-bit PCI DMA + MdeModulePkg: Support classless IP for DHCPv4 TransmitReceive() + ArmVirtPkg: implement FdtPciHostBridgeLib + OvmfPkg: Use MdeModulePkg/ResetSystemRuntimeDxe + OvmfPkg/VirtioGpuDxe: implement EFI_GRAPHICS_OUTPUT_PROTOCOL + include VirtioGpuDxe in the platform DSC/FDF files + OvmfPkg/Virtio10Dxe: don't bind virtio-vga + OvmfPkg/QemuVideoDxe: don't incorrectly bind virtio-gpu-pci + BaseTools/GenFw: ignore dynamic RELA sections + Add implementations of API IsZeroBuffer() + ArmVirtPkg: Add Ramdisk support to ArmVirtPkg platforms + ArmVirtPkg: Move inclusion of AcpiTableDxe.inf to ArmVirt.dsc.inc - Drop upstreamed ArmVirtPkg-Enable-PCI-bus-probing-again.patch- update to 2017+git1472049752.ea2f21e: + switches git branch from an (outdated) master tree to the UDK2017 branch, which provides an insane amount of changes. for details please look at https://github.com/tianocore/edk2/commits/UDK2017 - unify build flags with aarch64 build for increased compatibility with openSUSE installation medias- Update to 2015+git1471575292.00bcb5c + NetworkPkg/IpSecDxe: Fix UEFI IKE Initial Exchange failure + MdeModulePkg: Fix potential failure if UseDefaultAddress configured + OvmfPkg: Add MpInitLib reference in DSC files + SecurityPkg: AuthVariableLib: Fix inconsistent CertDB case + OvmfPkg: use StatusCode Router and Handler from MdeModulePkg + ArmVirtPkg/ArmVirtPrePiUniCoreRelocatable: deal with relaxed XIP alignment + BaseTools GCC: introduce GCC5 toolchain to support GCC v5.x in LTO mode + BaseTools GCC: use 'gcc' as the linker command for GCC44 and later + ArmVirtPkg/ArmVirtPrePiUniCoreRelocatable: ignore .hash and .note sections + OvmfPkg/Sec: Support SECTION2 DXEFV types + Preserve hii section in GCC binaries + Fix IPv6 HTTPClient vendor class data + CryptoPkg/OpensslLib: Upgrade OpenSSL version to 1.0.2h + NetworkPkg: Fix bug in TCP which not sending out ACK in certain circumstance + OvmfPkg: include UefiCpuPkg/CpuMpPei + OvmfPkg/PlatformPei: rebase and resize the permanent PEI memory for S3 + SecurityPkg SecureBootConfigDxe: Add check for the external PE/COFF image + ArmVirtPkg/PlatformBootManagerLib: remove stale FvFile boot options + OvmfPkg/PlatformPei: add missing auto variable initialization + OvmfPkg: add PciHotPlugInitDxe + MdeModulePkg/PciBusDxe: recognize hotplug-capable PCIe ports + OvmfPkg/PlatformBootManagerLib: remove stale FvFile boot options + OvmfPkg: add a Name GUID to each Firmware Volume + CryptoPkg BaseCryptLib: Init the content of struct 'CertCtx' before use + CryptoPkg BaseCryptLib: Avoid passing NULL ptr to function BN_bn2bin() + MdeModulePkg/Bds: MemoryTypeInformation excludes boot option mem use + MdeModulePkg: Fix IPv4 stack potential disappeared issue + NetworkPkg: Stop the HTTP Boot service after the boot image download complete + ArmVirtPkg: Re-add the Driver Health Manager + OvmfPkg: Re-add the Driver Health Manager + ArmVirtPkg/ArmVirtXen: Add ACPI support for Virt Xen ARM + Massive conversion of assembly code to NASM + MdeModulePkg/UefiBootManagerLib: Fix data in MemoryTypeInformation + ArmVirtPkg: add FDF definition for empty varstore + ArmVirtPkg/ArmVirtQemu: switch secure boot build to NorFlashDxe + NetworkPkg: Handling timeout case in httpboot driver + NetworkPkg: HttpDxe response/cancel issue fix + NetworkPkg: Support TCP Cancel function + MdeModulePkg/RamDiskDxe: Add Memory Type selection support in Ramdisk HII + MdeModulePkg RamDiskDxe: Do not save 'Size' numeric value by varstore + MdeModulePkg: Fix IPv4 UseDefaultAddress failure case + MdeModulePkg/AtaBusDxe: Fix some ATA hard drives cannot be discovered + ArmVirtPkg/PlatformBootManagerLib: rebase boot logo display to BootLogoLib + OvmfPkg: set SMM stack size to 16KB + OvmfPkg/PlatformBootManagerLib: Connect the Xen drivers before loading NvVars + MdeModulePkg: Fix SNP.Initialize() spec conformance issue + OvmfPkg: raise DXEFV size to 10 MB + MdeModulePkg: Stop the timer before clean IP service + OvmfPkg/PlatformBootManagerLib: rebase boot logo display to BootLogoLib + OvmfPkg/SerializeVariablesLib: Relax check for the read-only variable + OvmfPkg: prevent 64-bit MMIO BAR degradation if there is no CSM + OvmfPkg, ArmVirtPkg: rename QemuNewBootOrderLib to QemuBootOrderLib + MdeModulePkg/PciBus: do not improperly degrade resource + NetworkPkg/HttpDxe: Don't free Wrap in HttpTcpReceiveNotifyDpc + NetworkPkg/TcpDxe: Remove the status check of SockProcessRcvToken + UefiCpuPkg/SmmCpuFeaturesLib: Add SMRR PhysBase/PhysMask fields check + MdeModulePkg: Skip invalid bus number scanning in PciBusDxe driver + OvmfPkg/PlatformPei: provide 10 * 4KB of PCI IO Port space on Q35 + OvmfPkg: introduce ICH9_PMBASE_VALUE + OvmfPkg: replace PcdAcpiPmBaseAddress with PIIX4_PMBA_VALUE + OvmfPkg/AcpiTimerLib: don't use possibly unset PMBA register (PEI phase) + MdeModulePkg: Refine the code for DxeHttpLib + OvmfPkg/XenBusDxe: duplicate twice-iterated VA_LIST in XenStoreVSPrint() + SecurityPkg: Use PcdGet32() to access PcdPeiCoreMaxFvSupported + UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfile: Fix BTS support check bug + NetworkPkg:HttpDxe: Code changes to support HTTP PUT/POST operations + CryptoPkg/SmmCryptLib: Enable AES support for SMM + MdePkg: Add NFIT definition from ACPI 6.1 + BaseTools/GenFw: enhance to use Magic Field to identify the image + MdeModulePkg-DxeCore: rename CoreGetMemoryMapPropertiesTable + MdeModulePkg Variable: return error for empty str VariableName to GetVariable + PcAtChipsetPkg AcpiTimerLib: Fix a logic error + MdeModulePkg UiApp: change code for easy customization + MdePkg: Add HII definitions from UEFI 2.6 + NetworkPkg: Make HttpBootGetBootFile return EFI_BUFFER_TOO_SMALL + MdeModulePkg:DxeHttpLib: Add checks in HttpGenRequestMessage API + ArmPkg/ArmLib: don't invalidate entire I-cache on range operation + OvmfPkg/PlatformBootManagerLib: Postpone the shell registration + OvmfPkg/QemuNewBootOrderLib: adapt Q35 SATA PMPN to UEFI spec Mantis 1353 + MdeModulePkg Ata: Use the new (incompatible) PortMultiplierPort semantics + NetworkPkg: Bug fix of iSCSI to support MPIO - Drop upstreamed patches + ovmf-dxe-10mb.patch + ovmf-bsc976253-postpone-shell.patch + ovmf-bsc980635-fix-http-crash.patch + ovmf-bsc982193-dont-restore-readonly-var.patch + ovmf-bsc982193-connect-xen-drivers.patch + ovmf-bsc990612-update-openssl-1.0.2h.patch + ovmf-bsc990773-remove-stale-boot-options.patch - Update dbxupdate.zip since there are new hashes added into dbx- Update openssl to 1.0.2h (bsc#990612) + Add the patch: ovmf-bsc990612-update-openssl-1.0.2h.patch + Update the openssl tarball - Add ovmf-bsc990773-remove-stale-boot-options.patch to remove the stale boot options (bsc#990773)- Generate the varstore template for AArch64 (bsc#983747, bsc#981836)- Keep %prep minimal to shorten quilt setup run. Adjust RPM group. Drop redundant 4th defattr argument.- Add ovmf-bsc982193-dont-restore-readonly-var.patch and ovmf-bsc982193-connect-xen-drivers.patch to fix the file-based NvVars restoring. (bsc#982193)- Add the commands to remove irrelevant packages in %prep to make sure those source code will never build. (bsc#973038)- Add ovmf-bsc980635-fix-http-crash.patch to fix the crash when downloading files from the http server (bsc#980635)- Update to 2015+git1462940744.321151f + BaseTools: Fix bug in GenFds to handle FV image alignment + SecurityPkg: SecureBootConfigDxe: Add NULL pointer check + OvmfPkg/PciHostBridgeLib: Scan for root bridges when running over Xen + OvmfPkg/PciHostBridgeLib: Change InitRootBridge prototype + MdeModulePkg/PciHostBridgeDxe: Honor ResourceAssigned + OvmfPkg/PciHostBridgeLib: Set correct Base/Limit for absent resource + MdeModulePkg/PciHostBridgeDxe: Fix a Base/Limit comparing bug + MdeModulePkg/PciHostBridgeDxe: Don't miss prefetchable MMIO aperture + ArmVirtPkg: set PcdMaxVariableSize and PcdMaxAuthVariableSize + ArmPkg/AArch64Mmu: don't let table entries inherit XN permission bits + ArmPkg/ArmDmaLib: do not remap arbitrary memory regions as uncached + ArmPkg/ArmDmaLib: reject consistent DMA mappings of cached memory + MdeModulePkg/PciSioSerialDxe: Do not flush the UART + MdeModulePkg RamDiskDxe: Fix wrong HII behavior for more than 8 RAM disks + OvmfPkg: Modify FDF/DSC files for RamDiskDxe's adding NFIT report feature + MdeModulePkg RamDiskDxe: Report ACPI NFIT for reserved memory RAM disks + ArmVirtPkg/ArmVirtQemu: use MdeModulePkg/BDS + Ignore BootFileName if it is overloaded (HTTP Boot/PXE) + NetworkPkg: Fix a memory leak in HTTP boot driver + NetworkPkg/HttpBootDxe: Fix for the issue that the HTTP boot option can't be booted more than once + deModulePkg NvmExpressDxe: Initialize IoAlign info for an NVMe device + MdeModulePkg: Refine SNP driver's media status check logic + MdeModulePkg: ScsiDiskDxe: cope with broken "Supported VPD Pages" VPD page + MdeModulePkg FileExplorerLib: Add UefiHiiServicesLib dependency + SecurityPkg: SecureBootConfigDxe: Disable SecureBoot Enable/Disable in some case + Do not use hard coded TTL/ToS in PXE driver + NetworkPkg: Use UefiBootManagerLib API to create load option + Remove DeployedMode/AuditMode + OvmfPkg: Use MdeModulePkg/BDS + ArmPlatformPkg/PrePi: allow unicore version to be used on MP hardware + ArmPkg: implement CpuIo2 protocol driver specific for PCI + ArmPlatformPkg: move PCI related PCD definitions to ArmPkg + MdeModulePkg/DxeCore: set ImageContext Handle and ImageRead() fields + MdeModulePkg/PciBusDxe: don't create bogus descriptor if no resources needed + MdeModulePkg: Add new driver to publish EDKII_PI_SMM_COMMUNICATION_REGION_TABLE + SecuritPkg: DxeImageVerificationLib: Fix wrong verification logic in DBX & DBT + UefiCpuPkg/MtrrLib: Reduce the loop time to get fixed-MTRR MSR index + MdeModulePkg: PiDxeS3BootScriptLib: honor PcdAcpiS3Enable + NetworkPkg: Fix incorrect buffer free in HttpDxe + NetworkPkg: Avoid the indefinite wait case in HttpDxe + MdeModulePkg: DxeCore MemoryPool Algorithm Update + MdeModulePkg: Export ConfigResp only for form Package after ReadyToBoot + NetworkPkg:HttpDxe:Consume DxeHttpLib API changes + MdeModulePkg:DxeHttpLib: Update to DxeHttpLib API + NetworkPkg: Allow user to create a HTTP corporate boot option in setup page + MdePkg:Http11.h: Add defines for "Expect" header + BaseTools: Update FMP Capsule support to follow FDF spec + OvmfPkg: SataControllerDxe: SataControllerStop: fix use after free + OvmfPkg: SataControllerDxe: SataControllerStop: remove useless null check + MdeModulePkg DxeCore: Check free memory type by CoreUpdateProfile() + MdeModulePkg/NvmExpress: Fix bug of handling not null-terminated strings + ShellPkg: Enahance 'dh' command to add more protocols decoding support + MdeModulePkg/DxeCore: Avoid assertion in CoreLocateProtocol + MdeModulePkg: Correct PlatformHookLibSerialPortPpi module type + FatPkg: Update License.txt to have the full license text + refine codes of iSCSI driver + MdeModulePkg DxeCore: Enhance MemoryAttributesTable installation + MdeModulePkg DxeCore: Return memory type from internal free pool/pages + MdeModulePkg DxeCore: Fix a memory leak in InstallMemoryAttributesTable() + MdeModulePkg DxeCore: Call PeCoffExtraActionLib member after Constructor + MdeModulePkg/Usb: Fix wrong condition judgment to support usb3.1 dev + MdeModulePkg/UsbKbDxe: don't assert when the key read is invalid + BaseTools: Add mixed PCD support feature + OvmfPkg: AcpiPlatformDxe: Don't enable unsupported PCI attributes + MdeModulePkg/HiiDatabaseDxe: Support EfiVarStore to get AltCfg from Driver + MdeModulePkg/HiiDatabaseDxe: Correct the ReallocatePool size + MdeModulePkg/SetupBrowserDxe: Get default from callback for orderedList + SecurityPkg: AuthVariableLib & SecureBootConfigDxe: Fix SecureBootEnable & PK inconsistency issue + ShellPkg: Update ping command options to sync with Spec + MdeModulePkg NvmExpressDxe: Ensure write-through for NVMe write command + ShellPkg: Cache the environment variable into memory to enhance the performance. + BaseTools: Update to handle PE image with .code section only + ArmPkg/AArch64Mmu: disable MMU during page table manipulations + ArmPkg/AArch64Mmu: Fix XN attribute for device memory + NetworkPkg: Fix issue in Ip6Dxe SetData - The updated tarball includes the PCI host bridge fix for Xen (bsc#976253) - Add ovmf-dxe-10mb.patch to raise DXEFV to 10MB to avoid build error. - Add ovmf-bsc976253-postpone-shell.patch to postpone the creation of the shell boot option so that the firmware will try the block devices first. (bsc#976253) - Update README for Xen debugging.- Add patch to enable PCI BAR probing on ARM again: * ArmVirtPkg-Enable-PCI-bus-probing-again.patch- Change the fat driver license to the BSD license in FatPkg instead of the proprietary license in FatBinPkg since OvmfPkg and ArmVirtPkg now use FatPkg (bsc#973038)- Update to 2015+git1460599637.f70cfe7 + MdeModulePkg S3SaveStateDxe: Add protocol usage for gEfiLockBoxProtocolGuid + ArmVirtPkg/VirtFdtDxe: remove Xenio handling and rename to VirtioFdtDxe + ArmVirtPkg/ArmVirtXen: move from VirtFdtDxe to new XenioFdtDxe driver + OvmfPkg/XenIoMmioLib: add missing MemoryAllocationLib dependency to INF + ArmVirtPkg/VirtFdtDxe: move FDT config table installation to FdtClientDxe + ArmVirtPkg/VirtFdtDxe: remove unused PL011 DT node type + ArmVirtPkg: get rid of A PRIORI DXE declarations for VirtFdtDxe + ArmVirtPkg/VirtFdtDxe: drop RTC handling + ArmVirtPkg: move QEMU based platforms to ArmVirtPL031FdtClientLib + ArmVirtPkg: implement ArmVirtPL031FdtClientLib + ArmVirtPkg/RelocatableVirtHelper: use correct FindMemNode argument order + IntelFrameworkModulePkg: Remove unused PCD/Protocol + IntelFrameworkModulePkg/KeyboardDxe: Use PCD defined in MdeModulePkg + IntelFrameworkModulePkg/Ps2Mouse: Use PCD defined in MdeModulePkg + IntelFrameworkModulePkg/Ps2AbsPointer: Use PCD defined in MdeModulePkg + IntelFrameworkModulePkg/Ps2Kbd: use PCD/Protocol in MdeModulePkg + MdeModulePkg/MdeModulePkg.uni: Add PS2 related PCD description + MdeModulePkg/Ps2MouseDxe: Use a different FILE_GUID + MdeModulePkg/Ps2KeyboardDxe: Use a different FILE_GUID + MdeModulePkg/Ps2Mouse: Fix potential buffer overflow issue. + MdeModulePkg: Update Guid/Protocol usages in INF files. + ShellPkg: Update Guid/Protocol usages in INF files. + SecurityPkg: Update protocol usage in module INF files. + MdePkg: Add EFI Erase Block Protocol definitions + MdeModulePkg/Ps2MouseDxe: Fix build failure of GCC tool chain + ArmVirtPkg/VirtFdtDxe: drop PCI host bridge handling + ArmVirtPkg/PciHostBridgeDxe: move to FDT client protocol + ArmVirtPkg/BaseCachingPciExpressLib: depend on PciPcdProducerLib + ArmVirtPkg: implement FdtPciPcdProducerLib + ArmVirtPkg/VirtFdtDxe: remove handling of fw_cfg DT node + ArmVirtPkg/QemuFwCfgLib: move to FDT client protocol + BaseTools: use unsigned chars on ARM architectures + BaseTools: generate hash value in build report for each output EFI image + BaseTools/VolInfo: generate HASH value for each PE image + ArmVirtPkg/VirtFdtDxe: remove timer DT node handling + ArmVirtPkg: move TimerDxe to FDT client library + ArmVirtPkg: implement ArmVirtTimerFdtClientLib + ArmVirtPkg/VirtFdtDxe: drop detection of PSCI method + ArmVirtPkg/ArmVirtPsciResetSystemLib: move to FDT client protocol + ArmVirtPkg/VirtFdtDxe: remove GIC discovery + ArmVirtPkg/ArmGicArchLib: move to FdtClient protocol + ArmVirtPkg: add FdtClientDxe to the ArmVirtPkg platforms + ArmVirtPkg/FdtClientDxe: implement new driver + ArmVirtPkg: introduce FdtClientProtocol + UefiCpuPkg: CpuIo2Dxe: optimize FIFO reads and writes of IO ports + MdeModulePkg: Update PerformanceLib instances not to check Identifier. + MdePkg: Update PerformanceLib comments not to check Identifier. + Update edksetup.bat to check EDK_TOOLS_PATH before set it. + MdeModulePkg/Ps2Keyboard: Add missing PCD and protocol to DEC file + UefiCpuPkg/CpuMpPei: Fix potential AP mwait wakeup issue + NetworkPkg: Add RAM disk boot support to HTTP Boot driver. + ShellPkg: Fix Shell ASSERT when mv file with cwd is NULL. + MdeModulePkg BootScriptExecutorDxe: Consume PcdAcpiS3Enable to control the code + MdeModulePkg SmmS3SaveStateDxe: Consume PcdAcpiS3Enable to control the code + MdeModulePkg: Add new macros and refine codes + NetworkPkg: Add new macros and refine codes + MdeModulePkg: Add Ps2MouseDxe driver + MdeModulePkg: Add Ps2KeyboardDxe driver. + MdeModulePkg/UefiBootManagerLib: API BmIsValidLoadOptionVariableName + SecurityPkg OpalPasswordDxe: Clean up debug message in OpalHii.c + SecurityPkg TcgStorageOpalLib: Fix wrong condition judgment. + SecurityPkg OpalPasswordDxe: Suppress option for special device. + OvmfPkg: remove PciHostBridgeDxe fork + OvmfPkg: remove USE_OLD_PCI_HOST build option + OvmfPkg: Convert to using FatPkg in the EDK II tree + ArmVirtPkg: Convert to build FatPkg from source + ArmVirtPkg: drop dependency on PeiPcdLib for PEI Pcd.inf + ArmVirtPkg: drop dependency on DxePcdLib for DXE Pcd.inf + IntelFrameworkModulePkg AcpiS3SaveDxe: Remove S3Ready() functional code + IntelFrameworkModulePkg AcpiS3SaveDxe: Consume PcdAcpiS3Enable to control the code + OvmfPkg: Retire AcpiS3SaveDxe + MdeModulePkg S3SaveStateDxe: Move S3Ready() functional code from AcpiS3SaveDxe + MdeModulePkg S3SaveStateDxe: Consume PcdAcpiS3Enable to control the code + OvmfPkg: Install LockBox protocol in constructor of LockBoxDxeLib + OvmfPkg: Set PcdAcpiS3Enable according to QemuFwCfgS3Enabled() + MdeModulePkg: Introduce new PCD PcdAcpiS3Enable + ArmVirtPkg: drop bogus ArmPlatformSecExtraActionLib resolution + ArmVirtPkg: remove linux loader from ARM builds + Merge 2-clause BSD licensed FatPkg + BaseTools: Add support to merge Prebuild and Postbuild into build Process + BaseTools: Enhance --Pcd which override by build option + MdeModulePkg/Bds: Fix build failures of VS tool chain + OvmfPkg: disable PcdHiiOsRuntimeSupport + OvmfPkg: remove PcdMaxHardwareErrorVariableSize from the DSC files + ArmVirtPkg: include Virtio10Dxe from OvmfPkg + OvmfPkg: include Virtio10Dxe + OvmfPkg: Virtio10Dxe: non-transitional driver for virtio-1.0 PCI devices + OvmfPkg: VirtioNetDxe: adapt virtio-net packet header size to virtio-1.0 + OvmfPkg: VirtioScsiDxe: adapt feature negotiation to virtio-1.0 + OvmfPkg: VirtioRngDxe: adapt feature negotiation to virtio-1.0 + OvmfPkg: VirtioNetDxe: adapt feature negotiation to virtio-1.0 + OvmfPkg: VirtioBlkDxe: adapt feature negotiation to virtio-1.0 + OvmfPkg: VirtioLib: add Virtio10WriteFeatures() function + OvmfPkg: IndustryStandard: add definitions from the VirtIo 1.0 spec + OvmfPkg: IndustryStandard: factor out Virtio095Net.h + OvmfPkg: IndustryStandard: factor out Virtio095.h + OvmfPkg: VirtioRngDxe: clear all feature bits more explicitly + OvmfPkg: VirtioBlkDxe: don't clear non-negotiable feature bits + OvmfPkg: VIRTIO_DEVICE_PROTOCOL: pass VRING object to SetQueueAddress() + OvmfPkg: VIRTIO_DEVICE_PROTOCOL: remove GetQueueAddress() member + OvmfPkg: VIRTIO_DEVICE_PROTOCOL: widen the Features bitmap to 64 bits + MdeModulePkg/Bds: Fix a boot hang due to Ram Disk boot support + BaseTools: cache the defined Guid tool to improve the performance + MdeModulePkg/Bds: Memory Bins don't count the memory used by RAM Disk + MdeModulePkg/Bds: Free resources after ram disk boot finishes + MdeModulePkg/Bds: Allocate reserved memory for RAM Disk boot media + SecurityPkg OpalPasswordSupportLib: Add comments for the used protocol in inf file. + SecurityPkg OpalPasswordSupportLib: Remove the hard code debug build option. + SecurityPkg OpalPasswordSupportLib: Fixed gcc build failure. + SecurityPkg TcgStorageOpalLib: Fixed gcc build failure. + SecurityPkg OpalPasswordDxe: Check the pointer before use it. + SecurityPkg TcgStorageOpalLib: Remove the hard code debug build option. + SecurityPkg OpalPasswordDxe: Remove the hard code debug build option. + SecurityPkg OpalPasswordSmm: Remove the hard code build option. + MdePkg Cper.h: Add missing structure for 'Processor Error Record' + SourceLevelDebugPkg/SmmDebugAgent: mMailboxPointer is used before set + MdePkg/MdePkg.uni: Add description for PcdUartDefaultReceiveFifoDepth + MdePkg/BaseSynchronizationLib: Add spin lock alignment for IA32/x64 + MdePkg/BaseSynchronizationLib: Do not check timeout if lock released + BaseTools/GenFds: Fix the bug for wrong alignment generate for RAW file + MdeModulePkg/UiApp: Correct the total RAM calculation + IntelFrameworkModulePkg/Bds: Correct the total RAM calculation + MdeModulePkg: DxeUdpIoLib: fix non-empty payload path in UDP reception + OvmfPkg: Add RAM disk support + ArmPkg/ArmArchTimerLib: correct typos + ArmPkg/ArmArchTimerLib: fix unused variable in RELEASE builds + EmbeddedPkg/AcpiLib: fix SBSA Generic Watchdog helper definition + ArmPlatformPkg: Add PCD for Pl011 UART Interrupt + MdePkg: Add ARM Serial Port Subtypes to DBG2 + MdePkg: Add ARM Serial Port Subtype definitions + ArmVirtPkg: disable PcdHiiOsRuntimeSupport + ArmPkg/ArmArchTimerLib: add GetTimeInNanoSecond() to ArmArchTimerLib + ArmPkg/ArchArmTimerLib: refactor MultU64xN and TimerFreq definitions + NetworkPkg: Check received packet size before use it. + MdeModulePkg: Check received packet size before use it. + NetworkPkg: Check pointer for NULL before use. + Revert "TerminalDxe: select the UART's default receive FIFO depth" + ArmVirtPkg/ArmVirtQemu: gate FDT config table install with build option + ArmVirtPkg/VirtFdtDxe: make installation of FDT as config table optional + MdeModulePkg RamDiskDxe: Fix incorrect RAM disk memory address calculation + MdeModulePkg EmmcDxe: Fix GCC build failure with set but unused variables + SecurityPkg: Tcg2Dxe: Fix undersized TempBuf + MdeModulePkg/UefiBootManagerLib: BmGetActiveConsoleIn code cleanup + MdeModulePkg/SdMmc: Add EDKII SD/MMC stack + MdePkg/IndustryStandard: Add SD/EMMC common definitions + MdePkg/DevicePath: Add EMMC device path definition + MdePkg: Add EFI_SD_MMC_PASS_THRU_PROTOCOL definition + UefiCpuPkg/Cpuid.h: Display Intel SGX Resource Enumeration Leaves + UefiCpuPkg/Cpuid.h: Add CPUID defines and structures for Intel SGX + ShellPkg: Refine the comparisons code in ShellPkg. + MdeModulePkg PartitionDxe: Add Re-entry handling logic for BindingStop + SecurityPkg: Enable Opal password solution build. + SecurityPkg: OpalPasswordSmm: Add Opal password Smm driver. + SecurityPkg: OpalPasswordDxe: Add Opal password dxe driver. + SecurityPkg: OpalPasswordSupportLib: Add Opal password support library. + SecurityPkg: TcgStorageOpalLib: Add TCG storage opal library. + SecurityPkg: TcgStorageCoreLib: Add TCG storage core library. + MdePkg: Add definition for TCG Storage Core and Opal specs. + BaseTools: Add two new sections for PCD in the build report + MdeModulePkg/SerialDxe: Set FIFO depth with PCD + MdePkg: Add PCD for UART default receive FIFO depth + MdeModulePkg DiskIoDxe: Media status check not be done at DiskIo level + MdeModulePkg PartitionDxe: Some ISO images cannot be recognized properly + MdeModulePkg ScsiDiskDxe: Fix hang issue when reconnecting an ISCSI device + PcAtChipsetPkg/PciHostBridge: Remove PciHostBridge driver + ShellPkg/UefiDpLib: Fix a memory leak issue in Dp. + PerformancePkg/Dp_App: Fix a memory leak issue in Dp. + BaseTools: Remove the unnecessary check for RAW File + BaseTools: generate alignment when the FV content come from the filesystem + BaseTools: Extend the RAW format to support multiple binary files + ShellPkg AARCH64: remove DEBUG BuildOptions override + BaseTools AARCH64: move DEBUG GCC49 to the small code model + OvmfPkg: Increase the maximum size for Authenticated variables + BaseTools/GCC: set -Wno-unused-but-set-variables only on RELEASE builds + UefiCpuPkg: CpuMpPei: remove set but unused variables + UefiCpuPkg: PiSmmCpuDxeSmm: remove set but unused variables + UefiCpuPkg/MtrrLib: remove unused but set variable + NetworkPkg: IpSecDxe: remove set but unused variables + MdeModulePkg: DeviceManagerUiLib: remove set but unused variables + MdeModulePkg: BootMaintenanceManagerUiLib: remove set but unused variables + MdeModulePkg: UfsPassThruDxe: remove set but unused variables + MdeModulePkg: BootManagerMenuApp: remove set but unused variables + MdeModulePkg/PciHostBridgeDxe: remove unused but set variables + IntelFspWrapperPkg: PeiFspHobProcessLibSample: remove set but unused variables + IntelFrameworkModulePkg: LegacyBootMaintUiLib: remove set but unused variables + IntelFrameworkModulePkg: DxeCapsuleLib: remove set but unused variables + IntelFrameworkModulePkg: BiosVideo: remove set but unused variable + EmulatorPkg: CpuRuntimeDxe: remove set but unused variables + EdkCompatibilityPkg: SmmBaseHelper: remove set but unused variables + EdkCompatibilityPkg: EdkIIGlueLib: remove set but unused variables + EdkCompatibilityPkg: BsSerialStatusCode: remove set but unused variable + EdkCompatibilityPkg: UefiEfiIfrSupportLib: remove set but not used variables + ArmPkg|EmbeddedPkg: make PcdCpuVectorBaseAddress 64 bits wide + ArmPlatformPkg: fixups for 64-bit pointers + ArmPkg: apply Cortex-A57 errata + NetworkPkg:Fix bug when parsing the dhcp6 option 16 + NetworkPkg:Fix Http boot download issue. + ShellPkg/UefiHandleParsingLib: Fix GUID reference + BaseTools: Updated BuildNotes URLs + MdeModulePkg/RamDiskDxe: Fix typo in HII message + SecurityPkg/SecureBootConfigDxe: Remove type casting from the ChooseFile handlers + SecurityPkg/SecureBootConfigDxe: Declare EFIAPI for the ChooseFile handlers + ShellPkg/UefiShellDebug1CommandsLib: remove unused but set variable + MdeModulePkg/PciBus: Should reserve enough bus number for HPC + MdeModulePkg/Bds: Fix VS2012 build failure. + ShellPkg: Modify the 'dh' Shell command to dump the Firmware Management Protocol Image Descriptor Information. + MdePkg: Move SMBIOS data into the IndustryStandard header. + ShellPkg: Make the USB mouse behavior in 'edit' consistent with 'hexedit'. + NetworkPkg: Fix HII related problem in HTTP boot driver. + MdeModulePkg/FileExplorerLib.h: Remove the redefinition of typedefs + OvmfPkg: PciHostBridgeLib: install 64-bit PCI host aperture + OvmfPkg: PlatformPei: determine the 64-bit PCI host aperture for X64 DXE + OvmfPkg: PlatformPei: factor out GetFirstNonAddress() + OvmfPkg: AcpiPlatformDxe: enable PCI IO and MMIO while fetching QEMU tables + OvmfPkg: AcpiPlatformDxe: when PCI is enabled, wait for Platform BDS's cue + ArmVirtPkg: PlatformIntelBdsLib: signal gRootBridgesConnectedEventGroupGuid + OvmfPkg: PlatformBdsLib: signal gRootBridgesConnectedEventGroupGuid + OvmfPkg: introduce gRootBridgesConnectedEventGroupGuid + OvmfPkg: OvmfPkg.dec: add horizontal whitespace under Guids and Protocols + OvmfPkg/PlatformBdsLib: rebase to EfiEventGroupSignal + ArmVirtPkg/PlatformIntelBdsLib: rebase to EfiEventGroupSignal + IntelFrameworkPkg/FrameworkUefiLib: implement EfiEventGroupSignal + IntelFrameworkPkg/FrameworkUefiLib: move InternalEmptyFunction to UefiLib.c + MdePkg/UefiLib: introduce EfiEventGroupSignal + MdePkg/UefiLib: move InternalEmptyFunction to UefiLib.c + BaseTools: not include the undefined macro in response file + MdeModulePkg/BootMaintenanceManagerUiLib: Remove type casting in ChooseFile + MdeModulePkg/BootMaintManagerUiLib: Declare EFIAPI for ChooseFile handler + MdeModulePkg RamDiskDxe: Remove unnecessary TPL raise operations + MdeModulePkg RamDiskDxe: Uninstall DEVICE_PATH_PROTOCOL with correct param + MdeModulePkg RamDiskDxe: Remove unnecessary 'DisconnectController' calls + MdeModulePkg/Bds: BDS hotkey shouldn't work on inactive consoles + ArmPkg/AArch64Mmu: use correct AP[] bits in ArmClearMemoryRegionReadOnly + ArmPkg/ArmExceptionLib: reimplement register stack/unstack routines + ArmPkg/ArmExceptionLib: avoid indirect call if using vector table in place + ArmPkg/ArmExceptionLib: make build time define visible to the compiler + ArmPkg/ArmExceptionLib: don't restore ESR and FAR upon exception return + ArmPkg/ArmExceptionLib: stack FPSR on common path + ArmPkg/ArmExceptionLib: fold exception handler prologue into vector table + ArmPkg/AsmMacroIoLibV8: remove undocumented assumption from ELx macros + BaseTools: Fix nmake failure due to command-line length limitation + MdePkg/Pci22.h: Fix a coding style issue + MdeModulePkg DxeCore: Address boundary check for Type AllocateAddress + MdeModulePkg DxeCore: Check Start consistently in CoreConvertPagesEx + OvmfPkg/PlatformPei: suppress wrong VS2008 warning (use of uninited local) + MdeModulePkg PlatformVarCleanupLib: Locate VarCheck protocol when using + ArmPkg: update CpuDxe to use CpuExceptionHandlerLib + ArmVirtPkg/ArmVirtQemu: move to ARM version of CpuExceptionHandlerLib + ShellPkg: Remove the unused local variable. + MdeModulePkg: Fixed incorrect return value of MatchString + MdeModulePkg: ConSplitterDxe: use U64 mult/div wrappers in AbsPtr scaling + ArmPkg: ARM/AArch64 implementation of CpuExceptionHandlerLib + ArmPkg/ArmLib: add ArmReadHcr to enable read-modify-write of HCR + MdeModulePkg: Rescale ConSplitter Absolute Pointer. + ShellPkg: Per UEFI Shell 2.2 SPEC to make Shell supports 'NoNesting'. + NetworkPkg: Fix the driver model issue in HTTP Boot driver. + MdeModulePkg: Coding style update for DxeHttpLib.inf + IntelFrameworkModulePkg/LegacyBootMaintUiLib: Refine the code + MdeModulePkg: Refine the UI code + MdeModulePkg/DriverSampleDxe: Uninstall the ConfigAccess protocol + BaseTools: add new command line option to support override PCD value - The fix for bsc#973625 is also included in the update tarball - Remove upstreamed patches: ovmf-fix-choose-handlers-crash.patch ovmf-fix-httpboot-driver-option-16.patch ovmf-fix-httpboot-driver-model.patch- Add ovmf-fix-httpboot-driver-option-16.patch to fix the parsing of DHCPv6 option 16- Add ovmf-fix-choose-handlers-crash.patch to fix the crash while selecting files from BootMaintenanceManager and SecureBootConfig- Update to 2015+git1458029440.db27e9f + OvmfPkg/LegacyRegion: Support legacy region manipulation of Q35 + CryptoPkg: Fix the potential system hang issue + CryptoPkg/OpensslLib: Upgrade OpenSSL version to 1.0.2g + ArmVirtPkg/VirtFdtDxe: set /chosen/linux,pci-probe-only to 1 in DTB + OvmfPkg: match PCI config access to machine type (if not USE_OLD_PCI_HOST) + OvmfPkg: add DxePciLibI440FxQ35 + OvmfPkg: Enable Network2 Shell Commands for IPv6 + MdeModulePkg AcpiTableDxe: Use Rsdt to check against NULL + MdePkg: Fix ACPI NFIT GUID definitions + NetworkPkg: Add URI configuration form to HTTP boot driver + CryptoPkg/OpensslLib: Switch to upstream fix for OpenSSL RT#3628, RT#3674, RT#3951, RT#3955, RT#3964, RT#3969, RT#3992, RT#4175, RT#4310 + CryptoPkg/OpensslLib: Include complete copy of opensslconf.h + SecurityPkg/SecureBootConfigDxe: Handle allocation failure gracefully + MdeModulePkg/Bds: Support booting from remote file system + MdeModulePkg/Bds: Wide match HTTP boot option + MdeModulePkg: Fix IPv4 double free + UefiCpuPkg: Add dynamic type for PcdCpuMaxLogicalProcessorNumber + ArmPkg: Configure TTBCR register + OvmfPkg: switch to MdeModulePkg/Bus/Pci/PciHostBridgeDxe + MdeModulePkg: PciHostBridgeDxe: don't assume extended config space + ShellPkg: Update 'ifconfig -r' implementation + NetworkPkg: Change the default IPv6 config policy + MdeModulePkg: Change the default IPv4 config policy + OvmfPkg: copy log level comments from DebugLib.h + ArmVirtPkg: sync log level comments to DebugLib.h + MdeModulePkg: DxeCore: fully initialize image context before passing it on + MdeModulePkg/NvmExpress: Fix uninitialized field used in NVMe DiskInfo + MdeModulePkg: Add new API HttpUrlGetPath() to HttpLib.h + MdeModulePkg: Add RamDiskDxe driver implementation + SecurityPkg: Tcg2Smm: Change TPM2.0 MMIO range attribute + MdeModulePkg:Fix a robustness issue of Mnp Driver + MdeModulePkg: RegularExpressionDxe: support free(NULL) + MdeModulePkg/PciHostBridge: Don't assume resources are fully NonExistent + SecurityPkg: Use FileExplorerLib in SecureBootConfigDxe + MdeModulePkg: Add ASSERT to make sure pointer 'OptionalData' not be NULL + MdeModulePkg: Add ASSERT to make sure pointer 'MemoryMap' is not NULL - Update openssl to 1.0.2g - Add ovmf-fix-httpboot-driver-model.patch to fix the crash caused by the httpboot driver.- Add ovmf-tools to package EfiRom (FATE#319531)- Update to 2015+git1456452471.ba33c80 + CryptoPkg: RuntimeCryptLib: support realloc(NULL, size) + CryptoPkg: support free(NULL) + MdePkg: Add EFI RAM Disk Protocol definitions + MdePkg: Update Http11 with additional useful definitions + NetworkPkg: Use Http11 definitions in HttpDxe and HttpBootDxe + Add new HII action type EFI_BROWSER_ACTION_SUBMITTED + UefiCpuPkg/Cpuid: Add UEFI CPUID application + BaseTools/tools_def.txt: Add -march=i586 for IA32 GCC targets + MdeModulePkg: Fix Memory Attributes table type issue + MdePkg: Add definition for new warning code EFI_WARN_FILE_SYSTEM + OvmfPkg: add driver for Virtio-RNG device + ArmVirtPkg: ArmVirtQemu: add driver for Virtio-RNG device + OvmfPkg: implement UEFI driver for Virtio RNG devices + OvmfPkg: VirtioFlush(): return the number of bytes written by the host + ArmPlatformPkg/IntelBds: call BdsLibConnectAll() + ArmVirtPkg/ArmVirtQemu: limit ACPI support to v5.0 and higher + MdeModulePkg: AcpiTableDxe: make 4 GB table allocation limit optional + ShellPkg: Support finding help message embedded in resource section + MdeModulePkg/UsbBusDxe: Fix memory leak + MdePkg: BaseLib: fix AArch64 DAIF interrupt mask definitions + ArmPkg: CpuDxe: don't track interrupt state in a global variable + ArmPkg: CpuDxe: fix AArch64 interrupt read masks + MdeModulePkg: Refine the code in BootMaintenanceManagerUiLib + MdeModulePkg: HiiDatabaseDxe: HiiStringToImage() should not overwrite BltX + CryptoPkg/OpensslLib: Upgrade OpenSSL version to 1.0.2f + UefiCpuPkg/PiSmmCpuDxeSmm: Enable/Restore XD in SMM + UefiCpuPkg/PiSmmCpuDxeSmm: Add EFIAPI to CheckFeatureSupported() + ArmVirtPkg: ArmVirtQemu: make ACPI support AARCH64 only + SecurityPkg: TcgConfigDxe: Move TPM state string update to CallBack function + MdePkg: Fix incorrect PCIe Extended Capabilities definition + MdeModulePkg/Partition: Use proper partition number for MBR + MdePkg: Change PcdPropertiesTableEnable default value to FALSE + ArmVirtPkg: ArmVirtQemu: expose only 64-bit entry point for v3.0+ SMBIOS + NetworkPkg: Replace the internal function with exposed one + MdeModulePkg: Define a general function to create DNS QName + MdePkg: Add invocation register support in SMM Communication ACPI Table + MdeModulePkg: SNP should check Cdb.StatCode with PXE_STATCODE_SUCCESS + MdeModulePkg: Make the DEBUG info consistent in SNP driver + Add UEFI2.6 MemoryAttributes Table + OvmfPkg: simplify VARIABLE_STORE_HEADER generation + Minor comments update to AllocatePages() and AllocatePool() + MdeModulePkg DxeCore: Missing change for OEM reserved memory type at R17460 + ArmPkg: DefaultExceptionHandler fixes for use with DxeCore + BaseTools/GenFw AARCH64: add support for relative data relocations - Update openssl to 1.0.2f Feb 15 09:17:12 UTC 2016 - glin@suse.com - edk2 upstream switched the repo from svn to git, so the naming has to change to use the git hash. The most recent stable release of edk2 is UDK 2015, so the base version changes to 2015. - update to ovmf-2015+git1454310736.ed5e386 + MdePkg: Update the UEFI version to reflect new revision + MdePkg: Add EFI Supplicant Protocol definitions + MdePkg: Add EFI Wireless MAC Connection II Protocol definitions + MdePkg: Add ACPI6.1 definition + NetworkPkg: better sanity check on Ipv6 prefix length + NetworkPkg: Reword PXE download message + ShellPkg: ShellFileHandleReadLine must return UCS2 lines + ArmPlatformPkg/Bds: Early Console Initialization + ShellBinPkg: Arm/AArch64 Shell binary update + ShellPkg: Fix ASCII and UNICODE file pipes + ArmVirtPkg: implement ArmVirtQemuKernel + ArmVirtPkg: introduce new ArmQemuRelocatablePlatformLib + MdeModulePkg: Update DxeCore dispatcher to ignore PEI and SMM depex for FV + ArmPkg: Add isb when setting SCR + MdeModulePkg/PcRtc: Still create timezone variable when Daylight != 0 + MdeModulePkg/UsbAbsPointer:Fix GetState() to return absolute value + MdeModulePkg: Correct one return status code in SNP Transmit function + MdeModulePkg: Update the default size of MNP TX buffer pool + MdeModulePkg: Update DBsize in SNP GetStatus command + NetworkPkg:Add a new error status code EFI_HTTP_ERROR + MdePkg:Add a new error status code EFI_HTTP_ERROR + NetworkPkg: Fix suspicious dereference of pointer 'Mode.Ia' + OvmfPkg: QemuBootOrderLib: recognize NVMe devices + OvmfPkg: include NvmExpressDxe driver + SecurityPkg: AuthVariableLib: Add new cert database for volatile time based Auth variable + MdeModulePkg: Add BS+RT+AT variable attribute definition + MdePkg: Add new enum EfiPlatformConfigurationActionUnsupportedGuid + PcAtChipsetPkg/Rtc: Don't unnecessarily create timezone variable + Correct inconsistent function descriptions in DNS + OvmfPkg: Increase default RELEASE build image size to 2MB + Minor update to the Data parameter for GetVariable() + MdeModulePkg: NvmExpressDxe: clean up NvmeRead() / NvmeWrite() debug msgs + MdePkg:Add new traffic statistics definition for Wireless NIC + NetworkPkg:Fix Network memory leak when calling GetModeData interface + SecurityPkg: Correct data copy in Tpm2NvReadPublic + SecurityPkg: Add TPM PTP detection in Tpm12SubmitCommand + MdeModulePkg DxeCore: Avoid the closed event to be signaled wrongly + SecurityPkg: SecureBootConfigDxe: Fix potential NULL pointer dereference + CryptoPkg: Fix function qsort for non 32-bit machines - update _service to fetch git repo- update to R19743 + NetworkPkg: Removing or adding some ASSERT statement + MdeModulePkg:Fix the potential memory leak issue in Display Engine + MdeModulePkg: Add error DEBUG statements in ATA passthru driver + NetworkPkg: DnsDxe: fix return type of DnsFillinQNameForQueryIp() + MdeModulePkg/Ide: return correct status when DRQ is not ready for ATAPI + MdeModulePkg/ScsiDisk: Increase the value of SCSI_DISK_TIMEOUT to 30s + OvmfPkg: inherit Image Verification Policy defaults from SecurityPkg + OvmfPkg: execute option ROM images regardless of Secure Boot + Rename TisTpmCommand to avoid name collision + MdeModulePkg: update SNP.GetStatus to handle multiple recycled TX buffer. + MdeModulePkg: Update MNP driver to recycle TX buffer asynchronously. + Refine error handle code, avoid assert when load this module twice. + MdeModulePkg: DeleteLoadOptionVariable() removes Boot#### + MdeModulePkg: Fix GraphicsConsole driver resolution out of sync issue + SecurityPkg: MOR drivers use Tcg2Protocol instead of TrEE. + SecurityPkg: Add Tpm2Startup return code check. + SecurityPkg: Clear AuthSession content after use. + BaseTools/VfrCompile: honor CC if it is set + BaseTools AARCH64: add separate GCC build rule for XIP objects + BaseTools AARCH64: build XIP modules with strict alignment + SecurityPkg: TcgDxe,Tcg2Dxe,TrEEDxe: New PCD for TCG event log and TCG2 final event log area + NetworkPkg: Fix some typos in Http boot driver. + MdeModulePkg: Add DNS QType and QClass values definition + NetworkPkg: Remove DNS QType and QClass definition + SecurityPkg: SecureBootConfigDxe: Change KEY_TRANS_SECURE_BOOT_MODE value + SecurityPkg: SecureBootConfigDxe: Enhance secure boot string update logic + MdeModulePkg:Fix the potential memory leak issue in Display Engine + ShellPkg: Update 'dh' command to reflect correct driver handle information + NetworkPkg: Fix IpSec SPD and SAD mapping issue when SPD is updated + NetworkPkg: Fix SPD entry edit policy issue in IPSecConfig. + MdeModulePkg: Add new library class PciHostBridgeLib + MdeModulePkg: Add PciHostBridgeLibNull + MdePkg: Add PciSegmentLib instance based on PciLib + MdeModulePkg: Add generic PciHostBridgeDxe driver. + Add NOOPT target + ShellPkg UefiDpLib: Use Image->FilePath to get name for SMM drivers + MdeModulePkg/.../IdeMode: actualize DRQReady*() comment blocks + MdeModulePkg/.../IdeMode: report early finish of packet read as success + MdeModulePkg: SerialDxe: lay out mSerialIoMode initializer more nicely + MdeModulePkg: SerialDxe: sync EFI_SERIAL_IO_MODE.Timeout with the spec + MdeModulePkg: TerminalDxe: select the UART's default receive FIFO depth + BaseTools: make build report tolerant of FVs specified by name + Replace TpmCommLib with Tpm12DeviceLib + Add TPM 1.2 commands used by TCG modules + SecurityPkg: Update TCG PPI "1.3" for TCG2. + Add TPM PTP support - Remove upstreamed ovmf-fix-signedness.patch- update to R19584 + NetworkPkg: Support DNS4/6 GeneralLookUp feature + SecurityPkg AuthVariableLib: Correct comment/error log about CleanCertsFromDb + NetworkPkg: Fix suspicious dereference of pointer before NULL check + NetworkPkg: Update module inf to include the missing uni file + NetworkPkg: Remove a CopyMem to speed up the HTTP boot download + NetworkPkg: Remove unused EFI_HTTP_PROTOCOL definition + MdePkg : Update SPCR to use ACPI5 definition + MdeModulePkg ScsiDiskDxe: Raise the Tpl of async IO callback to TPL_NOTIFY + ScsiDiskDxe: Close event when SCSI command fails + MdeModulePkg ScsiBusDxe: Only signal caller event when PassThru() succeeds + MdeModulePkg DiskIoDxe: Check for MediaPresent in DiskIo2ReadWriteDisk() + MdeModulePkg ScsiDiskDxe: Modify WriteBlocks(Ex)() to follow UEFI spec + MdeModulePkg ScsiDiskDxe: Modify FlushBlocksEx() to follow UEFI spec + MdeModulePkg ScsiDiskDxe: Set block I/O media of SCSI CDROM to read-only + PcAtChipsetPkg/Rtc: Fix a UEFI Win7 boot hang issue + MdeModulePkg:Clear the screen before booting the boot option + NetworkPkg : Remove unused local variables to fix gcc build errors + MdePkg: Add HTTP 1.1 industry standard definitions + SecurityPkg: SecureBootConfigDxe: Remove useless code in VFR + NetworkPkg:Fix a bug the 2nd httpboot fail issue + NetworkPkg: Update iSCSI driver to check existing AIP instances + UefiCpuPkg/CpuMpPei: Fix pack(1) issue on x64 arch + MdeModulePkg:Fix bug that get the password width info incorrectly + NetworkPkg:Fix the issue Http boot hang when network failed + DxeTpmMeasureBootLib: Change global variable name to avoid name conflict + ArmVirtPkg/ArmVirtXen: add ARM support + ArmVirtPkg/XenRelocatablePlatformLib: rewrite DTB memory node retrieval in C + OvfmPkg/XenHypercallLib: add missing GCC_ASM_EXPORT to XenHypercall2 + Shell update + MdeModulePkg:Fix a bug HttpLib can't parse last chunked data well + MdeModulePkg/PciSioSerialDxe:add non-null pointer dereference assertion + ArmPkg: rewrite vector table population macros + BootManagerLib: Check the pointer to avoid use NULL pointer + MdeModulePkg: Fix RegularExpressionDxe memcpy intrinsic - Add ovmf-fix-signedness.patch to fix the build error- Update R19289 + MdePkg: Add missing SMBIOS definitions for SATA and SAS Ports + MdePkg: Add GIC version to ACPI 5.1/6 definitions + MdePkg: Add Ipmi2.0 definitions head file + MdeModulePkg: Add NULL pointer check for RegularExpressionDxe + Convert all .uni files to utf-8 + BaseTools/Scripts: Add ConvertUni.py script + Fix >4G issue on IDT not restored correctly + MdeModulePkg: Improved SetupBrowser handling to failed GOTO callback + ArmPlatformPkg/Sec: fix return_from_exception code and comment + ArmPlatformPkg/ArmPlatformLibNull: use declared PPI rather than module local var + ArmVirtPkg RVCT: build DXE_RUNTIME_DRIVER modules with 4 KB alignment + BaseTools/GenFw RVCT: fix relocation processing of PT_DYNAMIC sections + BaseTools RVCT: use scatter file to enforce minimum section alignment + MdePkg/BaseIoLibIntrinsic: Add EBC support + MdePkg: Add 3 macro defined in latest TPM2 specification + ShellPkg: Initialize the local pointer to avoid potential suspicious dereference + CryptoPkg/OpensslLib: upgrade OpenSSL version to 1.0.2e + MdeModulePkg ScsiDiskDxe: Add BlockIO2 Support + MdePkg UefiScsiLib: Add non-blocking support for SCSI Read/Write command + NetworkPkg: Fix the potential NULL pointer dereferenced issue + ShellPkg: Make 'dh' support showing all spec defined protocols + BaseTools GCC: avoid the use of COMMON symbols + ArmPkg/PrePeiCore: adhere to architectural stack alignment requirement + UefiCpuPkg/MtrrLib: Add PCD PcdCpuNumberOfReservedVariableMtrrs + ArmPkg/BdsLib: Send RemainingDevicePath to PXE Load File protocol + CryptoPkg/BaseCryptLib: make mVirtualAddressChangeEvent STATIC + CryptoPkg ARM: add ArmSoftFloatLib resolution to CryptoPkg.dsc + SecurityPkg: AuthVariableLib: Customized SecureBoot Mode transition + MdePkg: DebugAssert enhancement + ArmVirtPkg: HighMemDxe: add memory space for the high memory nodes + ArmVirtPkg: ArmVirtPlatformLib: find the lowest memory node - Update openssl to 1.0.2e - Update ovmf-embed-default-keys.patch to include one more db key - Add MicWinProPCA2011_2011-10-19.crt, the Windows Product key- Update to R19110 + ShellPkg: Fix wrong return status for Ifconfig.c + OvmfPkg: pull in SMM-based variable driver stack + OvmfPkg: any AP in SMM should not wait for the BSP for more than 100 ms + OvmfPkg: use relaxed AP SMM synchronization mode + OvmfPkg: SmmCpuFeaturesLib: implement SMRAM state save map access + OvmfPkg: import SmmCpuFeaturesLib from UefiCpuPkg + OvmfPkg: set gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmEnableBspElection to FALSE + OvmfPkg: LockBox: use SMM stack with -D SMM_REQUIRE + OvmfPkg: introduce -D SMM_REQUIRE and PcdSmmSmramRequire + ArmVirtPkg: add secure boot support to 32-bit ARM targets + MdeModulePkg/BDS: Do not pass unnecessary option to boot option + NetworkPkg: Fix a bug in HttpBootDriverBindingStop() when destroying child + ArmPlatformPkg/PrePiHobListPointerLib: use thread ID register + ArmPlatformPkg/PrePeiCore: add missing entries to AArch64 vector table - Refresh ovmf-gdb-symbols.patch - Run fdupes on /usr/share/qemu- Update to R18975 + ArmVirtPkg: Use SerialDxe in MdeModulePkg instead of EmbeddedPkg + OvmfPkg XenConsoleSerialPortLib: Implement Get(Set)Control/SetAttributes + NetworkPkg:Fix NULL pointer dereference issues + Always set WP in CR0 + ArmPkg/UncachedMemoryAllocationLib: fix warning about uninitialized local var + UefiCpuPkg/CpuS3DataDxe: Add module to initialize ACPI_CPU_DATA for S3 + Move CommunicationBuffer from stack to global variable + Move SmmDebug feature from ASM to C + Install LoadedImage protocol for PiSmmCore + Uninstall LoadedImage protocol if SMM driver returns error and is unloaded + ArmLib/ArmV7Mmu: use 64-bit type for mapping region size + ArmVirtPkg/ArmVirtPlatformLib: reduce ID map size to GCD region size + ArmVirtPkg/ArmVirtQemu: limit the (I)PA space to 40 bits + MdeModulePkg/UefiBootManagerLib: Always create MemoryTypeInfo variable + ShellBinPkg: Arm/AArch64 Shell binary update + MdeModulePkg:Create Boot Maintenance Manager Library + MdeModulePkg:Create Device Manager Library + MdeModulePkg:Create Boot Manager Library + ArmPkg: Invalidate cache after allocating UC memory + MdeModulePkg FileExplorerDxe: Create file explorer Protocol + ArmPkg: ArmLib: purge incorrect ArmDrainWriteBuffer () alias + UefiCpuPkg/CpuDxe: Don't use gBS->Stall + UefiCpuPkg/SmmFeatureLib: Check SmmFeatureControl by Code_Access_Chk + UefiCpuPkg: Not touch SmmFeatureControl if Code_Access_Chk not Set + ArmPkg/ArmPlatformPkg: position vectors relative to base + ArmPkg: correct TTBR1_EL1 settings in TCR_EL1 + ShellPkg: Corrected CatSPrint usage to prevent memory leaks + ArmPkg/ArmV7Mmu: handle memory regions over 4 GB correctly + ArmPkg/ArmV7Lib: take MP extensions into account when programming TTBR + ArmPkg/ArmV7Lib: fix definition of TTBR_NON_INNER_CACHEABLE + ArmPkg/ArmV7Mmu: introduce feature PCD to map normal memory non-shareable + ArmPkg/ArmV7Mmu: make cached translation table accesses shareable + ArmPkg/ArmV7Lib: add function to test for presence of MP extensions + ArmPkg/ArmV7Lib: add support for reading the ID_MMFR0 system register + ArmPkg/ArmV7Mmu: fix write-through translation table accesses + ArmPkg/Mmu: set required XN attributes for device mappings + ArmVirtPkg/ArmVirtPlatformLib: map executable NOR region as normal memory + ArmPkg/AArch64Mmu: remove unused GcdAttributeToArmAttribute()- Update to R18868 + ArmPkg: ensure DebugAgentVectorTable is 2K-aligned + MdeModulePkg: Add Platform recovery support + MdePkg: Add Platform Recovery definitions + MdeModulePkg: SmmLockBoxPeiLib: work without EFI_PEI_SMM_COMMUNICATION_PPI + NetworkPkg: Httpboot will fail the 2nd time result by wrong TCP state + MdeModulePkg PeiCore: PEI dispatcher need retry to process NOT_DISPATCHED FV + ArmPkg/ArmLib: mark all cached mappings as (inner) shareable + ArmPlatformPkg: bring DS-5 scripts in line with linker script changes + MdeModulePkg: Add BootLogoLib to provide interfaces about logo display + MdeModulePkg: Add ImageDecoderLib to provide image decoding service + MdeModulePkg: Add PlatformLogo protocol definition- Update to R18768 + MdePkg: Add more DataBits support to Port80 output + MdeModulePkg PeiCore: Fix issue AuthenticationStatus is not propagated correctly + NetworkPkg: Report Http Errors to screen when http layer occurs an error + Add error handling for TPM in S3 resume failure + ArmPkg/ArmDmaLib: use the cache writeback granularity for alignment + ArmPkg/ArmLib: fix barriers in AArch64 ArmEnableMmu + NetworkPkg:Enable Http Boot over Ipv6 stack + NetworkPkg:Missing CloseEvent() in HttpResponseWorker + CryptoPkg: Add one new API (Pkcs7GetCertificatesList) for certs retrieving + SourceLevelDebugPkg: DebugAgent: Set Local APIC SoftwareEnable + UefiCpuPkg: LocalApicLib: Add API to set SoftwareEnable bit + UefiCpuPkg: CpuDxe: Update GDT to be consistent with DxeIplPeim + NetworkPkg: HttpDxe sometimes free a pointer twice + CryptoPkg/OpensslLib: Move OPENSSL_NO_xxx defines into opensslconf.h + CryptoPkg/OpensslLib: Eliminate GETPID_IS_MEANINGLESS definition + CryptoPkg: Fix OpenSSL BN wordsize and OPENSSL_SYS_UEFI handling + CryptoPkg/OpensslLib: Undefine NO_BUILTIN_VA_FUNCS to fix varargs breakage + CryptoPkg/BaseCryptLib: Use X509_V_FLAG_NO_CHECK_TIME + CryptoPkg/BaseCryptLib: Use X509_V_FLAG_PARTIAL_CHAIN + CryptoPkg/BaseCryptLib: Clean up checking of PKCS#7 contents type + CryptoPkg/BaseCryptLib: Use accessor functions for ASN1_OBJECT + CryptoPkg/BaseCryptLib: Use accessor functions for X509_ATTRIBUTE + CryptoPkg/BaseCryptLib: Use i2d_X509_NAME() instead of abusing X509_NAME + CryptoPkg/BaseCryptLib: Add missing OpenSSL includes + UefiCpuPkg: PiSmmCpuDxeSmm: Replace PcdSet## with PcdSet##S + MdePkg/BaseSynchronizationLib: fix AArch64 return values + Fix issue that calling GetS3MemoryInfo() with wrong order + Do not deadloop if Microcode not found in FspTempRamInit + Move Smbios measurement from TCG driver to Smbios driver + Add suppressif around TCG hash seleciton checkbox in TCG2 + UefiCpuPkg: PiSmmCpuDxeSmm: Remove unused references to SmmLib + OvmfPkg: QemuFlashFvbServicesRuntimeDxe: split out runtime DXE specifics + OvmfPkg: QemuFlashFvbServicesRuntimeDxe: no dual addressing needed + MdeModulePkg Variable: Enhance variable performance by reading from existed memory cache- Update to R18651 + OvmfPkg: XenPvBlkDxe: handle empty cdrom drives + MdeModulePkg SetupBrowserDxe: Save global variable values before nest function called + UefiCpuPkg: Add CPU Hot Plug Data include file + UefiCpuPkg: Add ACPI CPU Data include file + UefiCpuPkg: Add SMM CPU Service Protocol + UefiCpuPkg: CpuDxe: broadcast MTRR changes to APs + UefiCpuPkg: CpuDxe: Wait for APs to enter idle loop + UefiCpuPkg: CpuDxe: Use PCD for AP detection timeout + UefiCpuPkg: Update CPU MP drivers to support single CPU configuration + MdeModulePkg VarCheckLib: R18611 was thoughtless for property set + SecurityPkg : Fix Rsa2048Sha256GuidedSectionExtractLib issue + OvmfPkg: VirtioBlkDxe: reset device at ExitBootServices() + OvmfPkg: VirtioScsiDxe: reset device at ExitBootServices() + OvmfPkg: Sec: Fix SOURCE_DEBUG_ENABLE ASSERT() + MdeModulePkg: SmbiosDxe: soften DEBUG messages about table reallocation + MdeModulePkg: FaultTolerantWriteDxe: clean up some "success" messages + MdeModulePkg: FaultTolerantWriteDxe: mellow DEBUGs about workspace reinit + ArmPlatformPkg: NorFlashDxe: mellow DEBUG messages about flash reinit + ArmVirtPkg: include BaseStackCheckLib also for AARCH64 + NetworkPkg: reset DHCP child when leaving PXE LoadFile + MdeModulePkg: reset DHCP child when leaving PXE LoadFile + SecurityPkg AuthVariableLib: Add the missing gEfiAuthenticatedVariableGuid + MdeModulePkg VariableRuntimeDxe: Add the missing gEfiImageSecurityDatabaseGuid + MdeModulepkg VarCheckLib: Return NULL when no property set to variable with wildcard name + NetworkPkg: remove unnecessary timeout event when setting IPv6 address + ShellPkg: Print error message when Shell set environment variable fail + BaseTools/PeCoffLoader: fix handling of ARM MOVW/MOVT instruction relocs + UefiCpuPkg: Add ASSERT to handle local APIC not config properly + SecurityPkg: Integrate new RngLib into RngDxe + MdePkg: Create GetRandomNumber128 in RngLib + ArmVirtPkg/ArmVirtQemu: enable non-exec DXE stack for AARCH64 + MdeModulePkg/DxeIplPeim: implement non-exec stack for ARM/AARCH64 + ArmPkg/ArmLib MMU: add functions to set/clear RO and XN bits on regions + ArmPkg/AArch64Mmu: move page table traversal code to separate function + ArmPkg/AArch64Mmu: use architecturally correct definitions for XN/UXN- Update to R18577 + OvmfPkg: raise DXEFV size to 9 MB + MdeModulePkg: exit pci function loops early if device is not multi-function + NetworkPkg: HttpDxe: Remove unused local variables + ArmPkg/AArch64Mmu: remove cache maintenance for page tables + BaseTools/AARCH64: use large code model for GCC <= 4.8 + ArmPkg/Mmu: do not configure block translations at level 0 + ArmVirtPkg: use 4 KB section alignment for ARM DXE_RUNTIME_DRIVER modules + BaseTools/ARM: move to unified GCC linker script - Enable HttpBoot for i586 and x86_64 - Drop patches since upstream fixes the issues + ovmf-use-non-default-gcc48.patch + 0001-Revert-BaseTools-AARCH64-use-tiny-code-model-by-defa.patch + 0010-avoid-potentially-uninitialized-variable.diff- Update to R18564 + OvmfPkg: set 4 KB section alignment for DXE_RUNTIME_DRIVER modules + MdeModulePkg Ip4Dxe: Ip4Config2 to request DHCP Option6 DNS server IP + MdeModulePkg: Add SMBIOS 3.0 support in NetLibGetSystemGuid + ArmVirtPkg: build the TFTP command into the UEFI shell + OvmfPkg: build the TFTP command into the UEFI shell + ArmVirtPkg: reduce preallocation of boot services data pages + OvmfPkg: enable SATA controller + OvmfPkg: QemuBootOrderLib: recognize Q35 SATA disks / CD-ROMs + MdePkg: Add RngLib into MdePkg + MdeModulePkg: Remove event from protocol database only if registered + ArmVirtPkg: PlatformIntelBdsLib: signal ReadyToBoot on direct kernel boot + ShellPkg: Added SMBIOS 2.8 Type 17 changes to smbiosview + ShellPkg: Added SMBIOS 3.0 support in dmem + MdeModulePkg: Enhance PCI capability looking up logic to avoid hang + OvmfPkg: disable no-exec DXE stack by default + OvmfPkg: make PcdPropertiesTableEnable dynamic + OvmfPkg: make PcdSetNxForStack dynamic + MdeModulePkg: Change the algorithm in SNP to use the first found BAR index + NetworkPkg: Update Http driver to use DPC mechanism + NetworkPkg: RxToken event not closed in Http.Response() + NetworkPkg: Avoid memory allocation for each HTTP message exchange + NetworkPkg: Update cache management in HTTP boot driver + NetworkPkg: Enlarge receive block size of HTTP boot driver + PXE Driver's LoadFile protocol should check FilePath + ArmVirtPkg: set max physical address width to 40 bits + ArmVirtPkg/ArmVirtMemoryInitPeiLib: handle memory above 4 GB on 32-bit ARM + ArmPkg/Mmu: Fix potential page table memory leak + ArmPkg/Mmu: Increase PageLevel when table found at the targeted level + ArmPkg/Mmu: Fix literal number left shift bug + ArmPkg/Mmu: Fix page level calculation bug + ArmPkg/Mmu: Fix bug of aligning new allocated page table + MdeModulePkg: Fix a performance data buffer overrun issue + ShellPkg: Fix 'for' command fail with multiple fields + MdeModulePkg: Regular expression protocol + NetworkPkg: Fix suspicious dereference of pointer 'FieldCount' + Handle extra module patchable PCD variable in Linux map + NetworkPkg: Fix the HttpCloseConnection fail issue + UefiCpuPkg/MtrrLib: MtrrValidBitsMask and MtrrValidAddressMask wrong - Add ovmf-use-non-default-gcc48.patch: gcc5 generates the larger code size and causes the x86_64 final image exceeds the size limit if we enable Secure Boot and IPv6 at the same time. As a workaround, we use the non-default gcc48. - Drop ovmf-gcc5-conf.patch and use GCC49 as TOOL_CHAIN_TAG for the distro with gcc5 - Limit 0001-Revert-BaseTools-AARCH64-use-tiny-code-model-by-defa.patch to the distro with gcc lower than 5 - Refresh ovmf-embed-default-keys.patch and ovmf-gdb-symbols.patch- Update to R18393 + OvmfPkg: PlatformPei: force 32-bit MMIO aperture above 3 GB on Q35 + OvmfPkg: AcpiTables: serialize control methods that create named objects + OvmfPkg: PlatformPei: clear CMOS 0xF after setting mBootMode + CryptoPkg: Fix one wrong parameter for weak key checking + CryptoPkg: Replace string wrapper functions with safe string functions + ArmPlatformPkg/PlatformIntelBdsLib: add splash screen support + ArmPlatformPkg/PlatformIntelBdsLib: fix and clean up error handling + ArmPlatformPkg/PlatformIntelBdsLib: remove ARM BDS dependency + Locate IpSec on IP packet processing only if it's installed + ShellPkg: Get media status in ifconfig command + OvmfPkg: prevent code execution from DXE stack + MdePkg: Modify string expression of Wi-Fi device path to follow UEFI spec + NetworkPkg: Fix IpSec run into infinite loop issue in some case + FatBinPkg: Update EBC/IA32/X64/IPF binaries + SecurityPkg: Fix one returned code issue in P7Verify Protocol + Add VarCheckLib library + BaseTools: Add NULL pointer check in AutoGen code + Follow PI spec to update ExtendedSize in EFI_FFS_FILE_HEADER2 + NetworkPkg: Add HTTP utilities driver + OvmfPkg: Add HttpBoot support + NetworkPkg: Remove the hostname from the http request URL + MdeModulePkg:Full support F10 hot key in UiApp + NetworkPkg: Fix DHCP TransmitReceive EFI_NO_MAPPING return in DnsDxe + MdeModulePkg: Fix default router table and interface missing error + ShellPkg: Fix 'ifconfig' can't get the address from dhcp in some case + ArmPkg: remove ARMv6 support code + MdeModulePkg: Update UiApp to handle terminal type TtyTerm + MdeModulePkg/Xhci: make all timeout values be consistent with comments + SecurityPkg: Fixed build error due to FixedAtBuild PcdTcg2HashAlgorithmBitmap + MdeModulePkg: IP4 should re-initiate a DHCP if it detects network reconnection + NetworkPkg: Stop and release DHCP4 child after boot info is ready + Add restriction that HashFinal() must be after at least one HashUpdate() + SecurityPkg: Update SignatureSize to comply UEFI spec + NetworkPkg: Fix hang issue after system reconnected when IPSec has set up + Add TPM2 definition in trusted computing group + BaseTools IA32/X64: prevent .eh_frame sections from being generated + MdeModulePkg:Use safe string functions in UiApp + MdeModulePkg: Add codes to support trailer parse in HttpLib + OvmfPkg/Xen: use lower case x in hex immediate value + ArmVirtPkg: use global section alignment in custom linker script + ArmVirtPkg: avoid relocated immediates in AARCH64 asm + MdeModulePkg: Fix issue about current Ip4Dxe implementation for DHCP DORA process + BaseTools/GenFw: allow AArch64 tiny and small code model relocations - Add 0001-Revert-BaseTools-AARCH64-use-tiny-code-model-by-defa.patch to use the large model for aarch64 since ld/binutils couldn't calculate the sections properly and GenFw would fail due to the section offset. - Drop arm patches + 0001-ArmPlatformPkg-ArmVirtualizationPkg-enable-DEBUG_VER.patch + 0002-ArmPlatformPkg-Bds-generate-ESP-Image-boot-option-if.patch + 0003-ArmPlatformPkg-Bds-check-for-other-defaults-too-if-u.patch + 0005-ArmPlatformPkg-Bds-initialize-ConIn-ConOut-ErrOut-be.patch + 0006-ArmPlatformPkg-Bds-let-FindCandidate-search-all-file.patch + 0007-ArmPlatformPkg-Bds-FindCandidateOnHandle-log-full-de.patch + 0008-ArmPlatformPkg-Bds-fall-back-to-Boot-Menu-when-no-de.patch + 0009-ArmPlatformPkg-Bds-always-connect-drivers-before-loo.patch- Update to R18191 + UefiCpuPkg CpuDxe: Sync up the settings of Execute Disable to APs + MdeModulePkg DxeIpl: Fix IA32 build failure with GCC 5.1.1 + ArmPlatformPkg/PlatformPeim: constify EFI_PEI_PPI_DESCRIPTOR globals + ArmPlatformPkg/PrePeiCore: constify PPI globals + MdeModulePkg: Use monotonic count to initialize the NetLib random seed + OvmfPkg: SmbiosVersionLib: recognize SMBIOS 3.x entry point + OvmfPkg: SmbiosPlatformDxe: eliminate duplicate entry point validation + ArmVirtPkg/ArmVirtQemu.dsc: set default for PcdQemuSmbiosValidated + OvmfPkg: introduce PcdQemuSmbiosValidated + ArmVirtPkg: set SMBIOS version in DetectSmbiosVersionLib instead of QemuFwCfgToPcdDxe + OvmfPkg: set SMBIOS version in DetectSmbiosVersionLib instead of PlatformPei + OvmfPkg: SmbiosVersionLib: add "plugin" for detecting SMBIOS version + OvmfPkg: PlatformDebugLibIoPort: fix AsciiSPrint() format string + ShellPkg: Fix issue about ping fail with IPv4 + MdeModulePkg DxeIpl: Add stack NX support + NetworkPkg: Fix assert caused by wrong parameter in AsciiStrCpyS() + ArmVirtPkg/ArmVirtQemu: add LinuxLoader UEFI app to ARM build + ArmVirtPkg/ArmVirtXen: remove unused PcdFirmwareVendor PCD + ArmVirtPkg/ArmVirtQemu: drop ARM BDS and make Intel BDS the default + BaseTools GCC: move AutoGen.obj contents to .text section + BaseTools GCC: align start of .data to .text alignment + BaseTools GCC: add unified GCC linker script for all archs and versions + BaseTools IA32/X64: get header size and alignment from ld commandline + BaseTools IA32/X64: move .got contents to the PE/COFF .text section + BaseTools IA32/X64: drop redundant alignment from linker script + BaseTools IA32/X64: move .rodata to PE/COFF .text section + BaseTools IA32/X64: remove NOP padding from X86/IA32 GCC linker scripts + MdeModulePkg PeiCore: Add PCD to specify PEIM Shadow + ArmVirtPkg: use 'auto' alignment and FIXED placement for XIP modules + MdeModulePkg: Enhance PciBusDxe to handle high 32bit of MEM64 BAR returns 0 - Refresh ovmf-gcc5-conf.patch - Refresh 0001-ArmPlatformPkg-ArmVirtualizationPkg-enable-DEBUG_VER.patch - Drop upstreamed patch: ovmf-netlib-random-seed.patch - Drop 0004-ArmPlatformPkg-ArmVirtualizationPkg-auto-detect-boot.patch since the ARM BDS was dropped- Update to R18107 + NetworkPkg: Fix the issue cannot boot to UEFI Network after reset + ArmVirtPkg: implement DT-based ArmGicArchLib + OvmfPkg: fix conversion specifiers in DEBUG format strings + Reduce reserved memory consumption + MdeModulePkg: Make boot option description unique + NetworkPkg: Fix the issue EfiPxeBcDhcp() may return wrong status. + ArmVirtPkg/ArmVirtQemu: support SMBIOS + ArmVirtPkg: QemuFwCfgToPcdDxe: set SMBIOS entry point version dynamically + ArmVirtPkg: add QemuFwCfgToPcdDxe + OvmfPkg: SmbiosPlatformDxe: restrict current Xen code to IA32/X64 + OvmfPkg: SmbiosPlatformDxe: move IsEntryPointStructureValid() to Xen.c + OvmfPkg: AcpiS3SaveDxe: drop EFI_ACPI_S3_SAVE_PROTOCOL + OvmfPkg: install DxeSmmReadyToLock in PlatformBdsLib + IntelFrameworkModulePkg/GenericBdsLib: remove AcpiS3->S3Save() call + OvmfPkg: PlatformBdsLib: signal End-of-Dxe event group + OvmfPkg: AcpiS3SaveDxe: call S3Ready() at End-of-Dxe + OvmfPkg: AcpiS3SaveDxe: prepare for End-of-Dxe callback - Add ovmf-netlib-random-seed.patch to avoid the DHCPv6 IAID collision- Update to R18030 + ArmVirtPkg: Make terminal type consistent + NetworkPkg: Add the unspecified address check for DNS6 StationIp + ShellPkg: Add optional 'tftp' EFI Shell command + NetworkPkg: Fix bios bootup hang issue when enable network + SecurityPkg: Fix DBX Variable Read Error in ImageVerificationLib + SecurityPkg: Correct BootOrder/Boot#### measurement behavior + ArmVirtPkg/ArmVirtQemu.dsc: Remove Linux specific boot path + ArmPkg/BdsLib: Remove Linux loader from BdsLib + ArmPlatformPkg: Add the LinuxLoader.efi EFI application + ArmPkg/BdsLib: Replaced BdsLoadApplication() by LocateEfiApplicationInFv() + OvmfPkg: QemuBootOrderLib: recognize extra PCI root buses + OvmfPkg: QemuBootOrderLib: introduce ExtraRootBusMap + OvmfPkg: PciHostBridgeDxe: shorten search for extra root buses + OvmfPkg: PciHostBridgeDxe: look for all root buses + OvmfPkg: PciHostBridgeDxe: eliminate PCI_HOST_BRIDGE_INSTANCE.RootBridgeNumber + OvmfPkg: PciHostBridgeDxe: use private buffer in RootBridgeIoConfiguration() + OvmfPkg: PciHostBridgeDxe: release resources on driver entry failure + OvmfPkg: PciHostBridgeDxe: factor out InitRootBridge() function + OvmfPkg: PciHostBridgeDxe: embed device path in private root bridge struct + OvmfPkg: PciHostBridgeDxe: kill RootBridgeNumber and RootBridgeAttribute + OvmfPkg: PciHostBridgeDxe: eliminate nominal support for multiple host bridges + OvmfPkg: PlatformBdsLib: connect all PCI root buses - Refresh patches + 0001-ArmPlatformPkg-ArmVirtualizationPkg-enable-DEBUG_VER.patch + 0002-ArmPlatformPkg-Bds-generate-ESP-Image-boot-option-if.patch + 0003-ArmPlatformPkg-Bds-check-for-other-defaults-too-if-u.patch + 0004-ArmPlatformPkg-ArmVirtualizationPkg-auto-detect-boot.patch + 0005-ArmPlatformPkg-Bds-initialize-ConIn-ConOut-ErrOut-be.patch + 0006-ArmPlatformPkg-Bds-let-FindCandidate-search-all-file.patch + 0007-ArmPlatformPkg-Bds-FindCandidateOnHandle-log-full-de.patch + 0008-ArmPlatformPkg-Bds-fall-back-to-Boot-Menu-when-no-de.patch + 0009-ArmPlatformPkg-Bds-always-connect-drivers-before-loo.patch + 0010-avoid-potentially-uninitialized-variable.diff- Update to R17935 + CryptoPkg: update OpenSSL dependency to version 1.0.2d + OvmfPkg: QemuFwCfgLib: avoid "variable set but not used" warning from GCC + Remove Ip4ConfigDxe module + IntelFrameworkPkg FrameworkUefiLib: Fix ASSERT in CatVSPrint + BaseTools: aarch64: add -fno-asynchronous-unwind-tables to gcc cflags + MdePkg/AArch64: use GCC_ASM_EXPORT to export functions + MdeModulePkg/FvSimpleFileSystemDxe: Support file opening with no '.efi' + OvmfPkg: Fix GCC49 build hang in PeiCore + Add "TtyTerm" terminal type to TerminalDxe + MdeModulePkg AcpiTableDxe: Install config table at ACPI data change - Remove upstreamed ovmf-remove-old-ip4config.patch- Update to R17883 + MdePkg: Add UEFI2.5 Ramdisk device path definition + ArmVirtPkg: use correct ASM decoration for non-function global symbols + NetworkPkg: Add UEFI HTTP boot driver + NetworkPkg: Add HTTP Driver + NetworkPkg: Add DNS feature support over IPv4 and IPv6 + MdeModulePkg: Update Ip4Dxe driver to support Ip4Config2 protocol + ArmVirtPkg: adapt ArmVirtXen build to system memory end global variable + ArmPkg/CpuDxe: Fixed AArch64 MMU + ArmPkg/Application: Add new EFI application to boot Linux + ArmVirtPkg: build runtime drivers with 64 KB section alignment + Restructure AuthVariableLib + Conversion of the safe string functions + CryptoPkg: Fix the dereferenced pointer issue + SecurityPkg: Add MD5 support to Hash2DxeCrypto + OvmfPkg: Increase the maximum size of RAM + ArmVirtPkg: signal EndOxDxe event in PlatformBsdInit + MdeModulePkg: Add Memory Capabilities for MMIO and Reserved Range - Add ovmf-remove-old-ip4config.patch to remove the old Ip4Config - Refresh patches + ovmf-embed-default-keys.patch + ovmf-gcc5-conf.patch + 0001-ArmPlatformPkg-ArmVirtualizationPkg-enable-DEBUG_VER.patch + 0002-ArmPlatformPkg-Bds-generate-ESP-Image-boot-option-if.patch + 0003-ArmPlatformPkg-Bds-check-for-other-defaults-too-if-u.patch + 0004-ArmPlatformPkg-ArmVirtualizationPkg-auto-detect-boot.patch + 0005-ArmPlatformPkg-Bds-initialize-ConIn-ConOut-ErrOut-be.patch + 0006-ArmPlatformPkg-Bds-let-FindCandidate-search-all-file.patch + 0007-ArmPlatformPkg-Bds-FindCandidateOnHandle-log-full-de.patch + 0008-ArmPlatformPkg-Bds-fall-back-to-Boot-Menu-when-no-de.patch + 0009-ArmPlatformPkg-Bds-always-connect-drivers-before-loo.patch - Add the source-level debugging to README- Update to R17700 + OvmfPkg/PlatformDxe: Convert Platform.uni to UTF-8 + OvmfPkg: QemuVideoDxe: add virtio-vga support + CryptoPkg: OpensslLib: reintroduce EFIAPI for ERR_add_error_data() + SecurityPkg: Provide correct file GUID for Pkcs7VerifyDxe + SecurityPkg: Fix wrong calculation of ImageExeInfoEntrySize + OvmfPkg: PlatformPei: set SMBIOS entry point version dynamically + SecurityPkg: Add UEFI-2.5 PKCS7 Verification Protocol Support + CryptoPkg: Add one new API for PKCS7 Verification Protocol Support + MdeModulePkg PiSmmCore: Introduce SMM Exit Boot Services and Legacy Boot + MdePkg/DxeServicesLib: Return NULL GetFileBufferByFilePath reads directory + MdeModulePkg: Fix DHCP4 driver hang issue in some case + MdeModulePkg: Remove DHCP4.TransmitReceive()and DORA process dependency + MdeModulePkg:System hangs in setup menu + ArmVirtPkg: increase memory preallocations for secure build + Update openssl to 1.0.2c + Add code to protect the whole BIOS region on SPI flash, except UEFI Variable region + SecurityPkg/MdeModulePkg: Add PcdMaxAuthVariableSize declaration + MdePkg: Add EFI REST Protocol definitions + OvmfPkg/PlatformPei: Initialise RCBA (B0:D31:F0 0xf0) register + OvmfPkg/PlatformPei: Query Host Bridge DID only once + ArmPkg: reduce sysreg access count in GIC revision probe + SecurityPkg: Fix wrong cert data measurement in DBX path + MdeModulePkg/UhciDxe: Update async polling interval to 1ms + MdeModulePkg/EhciDxe: Update async polling interval to 1ms + MdeModulePkg/XhciDxe: Update async polling interval to 1ms + ShellPkg\Application\Shell: Clean start row information after the console has been Reset or SetMode + Add SysPrepOrder and SysPrep#### to global list + MdePkg: Add EFI Capsule Report data structure and GUID + Add UEFI 2.5 Properties table definition + MdePkg:Add UEFI 2.5 PKCS7 Verification Protocol Definition + ShellPkg: Handle escape characters properly for parse command + ShellPkg: Add pipe support for parse command + ArmVirtPkg: increase memory preallocations to reduce region count - Add ovmf-gcc5-conf.patch for GCC5 and adjust the spec file for gcc5- Update to R17553 + MdeModulePkg/AtaAtapiPassThru: ensure PRDT of IDE is in 64K boundary + ArmPkg/BdsLib: Fixed TFTP when there are directories in the name + Renamed ArmPlatformPkg/ArmVirtualizationPkg into ArmVirtPkg + ArmPkg: Expand AArch64 address width to 48 bits + MdeModulePkg:Support delete key + MdeModulePkg/AtaAtapiPassThruDxe: Support 4K bytes block size HDDs + MdeModulePkg: Fix potential buffer overflow issues + Update for OEM reserved memory type - Update ArmPlatformPkg patches + 0001-ArmPlatformPkg-ArmVirtualizationPkg-enable-DEBUG_VER.patch + 0002-ArmPlatformPkg-Bds-generate-ESP-Image-boot-option-if.patch + 0003-ArmPlatformPkg-Bds-check-for-other-defaults-too-if-u.patch + 0004-ArmPlatformPkg-ArmVirtualizationPkg-auto-detect-boot.patch + 0005-ArmPlatformPkg-Bds-initialize-ConIn-ConOut-ErrOut-be.patch + 0006-ArmPlatformPkg-Bds-let-FindCandidate-search-all-file.patch + 0007-ArmPlatformPkg-Bds-FindCandidateOnHandle-log-full-de.patch + 0008-ArmPlatformPkg-Bds-fall-back-to-Boot-Menu-when-no-de.patch + 0009-ArmPlatformPkg-Bds-always-connect-drivers-before-loo.patch + 0010-avoid-potentially-uninitialized-variable.diff - Remove the prefix of the arm patches + ovmf-0001-ArmPlatformPkg-ArmVirtualizationPkg-enable-DEBUG_VER.patch + ovmf-0002-ArmPlatformPkg-Bds-generate-ESP-Image-boot-option-if.patch + ovmf-0003-ArmPlatformPkg-Bds-check-for-other-defaults-too-if-u.patch + ovmf-0004-ArmPlatformPkg-ArmVirtualizationPkg-auto-detect-boot.patch + ovmf-0005-ArmPlatformPkg-Bds-initialize-ConIn-ConOut-ErrOut-be.patch + ovmf-0006-ArmPlatformPkg-Bds-let-FindCandidate-search-all-file.patch + ovmf-0007-ArmPlatformPkg-Bds-FindCandidateOnHandle-log-full-de.patch + ovmf-0008-ArmPlatformPkg-Bds-fall-back-to-Boot-Menu-when-no-de.patch + ovmf-0009-ArmPlatformPkg-Bds-always-connect-drivers-before-loo.patch + ovmf-0010-avoid-potentially-uninitialized-variable.diff- Update to R17446 + OvmfPkg: AcpiS3SaveDxe: fix protocol usage hint in the INF file + OvmfPkg: extract some bits and port offsets common to Q35 and I440FX + MdeModulePkg: Add ESRT management module. + MdeModulePkg: Add ESRT management protocol definition + MdePkg: Add Microsoft UX capsule GUID & layout + SecurityPkg: Update SecureBootConfigDxe to support ARM image + SecurityPkg Variable: Make PK & SecureBootMode consistent + MdeModulePkg DxeCore: Add read only memory support + OvmfPkg: QemuBootOrderLib: parse OFW device path nodes of PCI bridges + MdePkg: Add UEFI 2.5 SD (Secure Digital) Device Path Definitions + Hash2 driver to [Components.IA32, Components.X64, Components.IPF] section + ArmVirtualizationPkg: Enable secure boot for ArmVirtualizationQemu + ArmPlatformPkg: enable use of authenticated variables in NorFlashDxe - Refresh patch + ovmf-0002-ArmPlatformPkg-Bds-generate-ESP-Image-boot-option-if.patch - Enable Secure Boot for AArch64 - Remove the workaround for SLE11- Although ovmf-gdb-symbols.patch has been included for a while, it's not mentioned in changelog and legal-auto script is not happy with it.- Update to R17351 + BaseTools: Fix build fail issue + MdeModluePkg: Enable refresh opcode to refresh the entire form + BaseTool: Add refresh form opcode in vfrcompiler + MdeModulePkg: Add BootManagerMenuApp + MdeModulePkg: Add BdsDxe driver and PlatformBootManagerNull library + MdeModulePkg: Add UefiBootManagerLib + MdePkg: Update the UEFI version to reflect new revision + OvmfPkg: Use the new PCDs defined in MdePkg and MdeModulePkg + MdePkg: Add UEFI2.5 bluetooth protocol/devicepath definition + Add UEFI2.5 HASH protocol implementation + MdeModulePkg: Add UEFI2.5 and PI1.4 PersistentMemory feature + MdePkg: Add ESRT Interface Definitions + Various fixes for Shell - Drop ovmf-sle-11-gcc47.patch + The NASM version in SLE11 is too old to build the newer ovmf - Rename the ARM patches to make the legal-auto script happy + ovmf-0001-ArmPlatformPkg-ArmVirtualizationPkg-enable-DEBUG_VER.patch + ovmf-0002-ArmPlatformPkg-Bds-generate-ESP-Image-boot-option-if.patch + ovmf-0003-ArmPlatformPkg-Bds-check-for-other-defaults-too-if-u.patch + ovmf-0004-ArmPlatformPkg-ArmVirtualizationPkg-auto-detect-boot.patch + ovmf-0005-ArmPlatformPkg-Bds-initialize-ConIn-ConOut-ErrOut-be.patch + ovmf-0006-ArmPlatformPkg-Bds-let-FindCandidate-search-all-file.patch + ovmf-0007-ArmPlatformPkg-Bds-FindCandidateOnHandle-log-full-de.patch + ovmf-0008-ArmPlatformPkg-Bds-fall-back-to-Boot-Menu-when-no-de.patch + ovmf-0009-ArmPlatformPkg-Bds-always-connect-drivers-before-loo.patch + ovmf-0010-avoid-potentially-uninitialized-variable.diff- Update ovmf-embed-default-keys.patch to embed the default dbx. Also add the dbx list from the UEFI website and enable it in the MS flavor. A script, strip_authinfo.pl, was added to strip the AuthInfo headers from dbxupdate.bin since those are not necessary in dbx.- Update to R17187 + Save initial TSVal from TCP connection initiation packets + BaseTools/Ecc: Add ECC (EFI Code Checker) Binary into BaseTools bin directory + MdePkg: Add ESRT Interface Definitions + OvmfPkg: XenConsoleSerialPortLib: deal with output overflow + OvmfPkg: Q35: Use correct ACPI PM control register:bit + PXE driver bug fix + A failed PXEv6 after a success PXEv4 will cause ASSERT + MdePkg: BaseSynchronizationLib: fix Increment/Decrement retvals for ARM + Updated Memory Error Record Per UEFI Specification 2.4a + MdeModulePkg BootScriptExecutorDxe: Use ImageContext.ImageSize to allocate memory for PE image to handle the case PE file alignment is not same as PE section alignment. + Fix GCC hang issue: Point should use directly assignment instead of IP4_COPY_ADDRESS. + SecurityPkg Variable: Update code in ProcessVariable () - Update openssl to 0.9.8zf- Update to R17055 + OvmfPkg: include XHCI driver + ArmVirtualizationPkg/ArmVirtualizationQemu: include XHCI driver + ArmVirtualizationPkg: build UEFI shell from source + SecurityPkg Variable: Allow the delete operation of common auth variable at user physical presence + Set network boot option to the default last priority + MdeModulePkg: improve scalability of memory pools + MdeModulePkg: use correct granularity when allocating pool pages- Update to R17007 + ArmVirtualizationPkg: PlatformIntelBdsLib: lack of QEMU kernel is no error + Improve Xen support in Ovmf + ArmVirtualizationPkg: PlatformIntelBdsLib: display TianoCore logo + ArmVirtualizationPkg/ArmVirtualizationQemu: add USB keyboard input + ArmVirtualizationPkg/ArmVirtualizationQemu: add VGA console output + ArmVirtualizationPkg/ArmVirtualizationQemu: enable PCI support + OvmfPkg/QemuVideoDxe: enable ARM builds + Improve ACPI support in Ovmf + OvmfPkg/PlatformBdsLib: Signal ReadyToBoot before booting QEMU kernel + ArmPkg/ArmLib.h: Add CPU Affinity definitions + OvmfPkg/SMBIOS: Provide default Type 0 (BIOS Information) structure + NetworkPkg: Code refine to avoid NULL pointer dereferenced + DHCP6 bug fix + BaseTools/GenFw: Set the PE/COFF attribute BaseOfData with the address of the first '.data' section + OvmfPkg: Update PlatformBaseDebugLibIoPort library + Various fixes for shell - Update ARM patches- update to R16775 - add RH patches for ARM- Update to R16580 + MdeModulePkg Variable: Implement VarCheck PROTOCOL and follow UEFI spec to check UEFI defined variables + ArmVirtualizationPkg: Intel BDS: load EFI-stubbed Linux kernel from fw_cfg + ArmVirtualizationPkg: identify "new shell" as builtin shell for Intel BDS + ArmVirtualizationPkg: PlatformIntelBdsLib: adhere to QEMU's boot order + OvmfPkg: QemuBootOrderLib: OFW-to-UEFI translation for virtio-mmio + OvmfPkg: QemuBootOrderLib: widen ParseUnitAddressHexList() to UINT64 + ArmVirtualizationPkg: VirtFdtDxe: use dedicated VIRTIO_MMIO_TRANSPORT_GUID + OvmfPkg: introduce VIRTIO_MMIO_TRANSPORT_GUID + OvmfPkg: QemuBootOrderLib: featurize PCI-like device path translation + OvmfPkg: extract QemuBootOrderLib + ArmVirtualizationPkg: PlatformIntelBdsLib: add basic policy + ArmVirtualizationPkg: clone PlatformIntelBdsLib from ArmPlatformPkg + ArmVirtualizationPkg: introduce QemuFwCfgLib instance for DXE drivers + ArmVirtualizationPkg: VirtFdtDxe: forward FwCfg addresses from DTB to PCDs + MdeModulePkg/FvSimpleFileSystem:Fix a potential NULL dereference issue + Correct the Hash Calculation for Revoked X.509 Certificate to align with RFC3280 and UEFI 2.4 Spec + MdeModulePkg/FvSimpleFileSystem: Add a new module to provide access to executable files in FVs + OvmfPkg: enable IPv6 support + Fix a bug that the gateway is not necessary in a simple PXE network + ArmPkg/BdsLib: Update the size of the Device Tree before booting Linux + ArmPkg/BdsLib: Rework TFTP boot + MdePkg: UefiScsiLib: do not encode LUN in CDB for SCSI commands + Correct the alignment calculation of PE/COFF attribute certificate entry + OvmfPkg: CsmSupportLib: depend on OvmfPkg.dec explicitly + OvmfPkg: AcpiPlatformDxe: make dependency on PCI enumeration explicit + MdePkg/MdeModulePkg: Implement the missing SetMemorySpaceCapabilities function + Various fixes for shell - Set the flag to enable IPv6 support - Refresh ovmf-embed-default-keys.patch- Update to R16398 + OvmfPkg: PlatformBdsLib: Dynamic PCI Interrupt Line register setup + SecurityPkg: VariableServiceSetVariable(): fix dbt <-> GUID association + CryptoPkg: OpenSslSupport.h: edk2-ize offsetof() macro for gcc-4.8 / X64 + CryptoPkg: TimestampTokenVerify(): fix gcc-4.8 / Ia32 build failure + UEFI 2.4 X509 Certificate Hash and RFC3161 Timestamp Verification support for Secure Boot + OvmfPkg: PlatformBdsLib: Platform dependent PCI/IRQ initialization + OvmfPkg: AcpiTimerLib: Split into multiple phase-specific instances + OvmfPkg: PlatformPei: Platform specific ACPI power management setup + OvmfPkg: Factor out platform detection (q35 vs. piix4) + UefiCpuPkg/CpuDxe: install Mp Service protocol + UefiCpuPkg/CpuDxe: introduce EFI_MP_SERVICES_PROTOCOL + ArmPkg/ArmGicLib: select GICv2 mode if SRE is present but unavailable + OvmfPkg/XenPvBlkDxe: Don't include system inttypes.h + ArmPlatformPkg: fix undefined reference to memcpy + CryptoPkg Updates to support RFC3161 timestamp signature verification + MdeModulePkg DxeCore/PiSmmCore: Add UEFI memory and SMRAM profile support- Update to R16329 + ArmPkg/ArmArchTimerLib: Promotes 32bit value to prevent overflow + ArmPkg/CompilerIntrinsicesLib: Fixed memmove() and memset() + ArmPkg: Ensured the stack is always quad-word aligned + ArmPlatformPkg: Increase more ARM address Pcd entries to 64-bit + Fix execution status & DEBUG message level mismatch + OvmfPkg: set video resolution of text setup to 640x480 + OvmfPkg: BDS: drop custom boot timeout, revert to IntelFrameworkModulePkg's + OvmfPkg: BDS: drop superfluous "connect first boot option" logic + OvmfPkg: BDS: optimize second argument in PlatformBdsEnterFrontPage() call + OvmfPkg: BDS: don't overwrite the BDS Front Page timeout + OvmfPkg: BDS: drop useless return statement + OvmfPkg: BDS: remove dead call to PlatformBdsEnterFrontPage() + BaseTools/GenFw: Fixed R_AARCH64_CALL26/R_AARCH64_JUMP26 when referring to start of a section + Various fixes for ShellPkg + Convert the assembly code in OVMF to NASM + MdeModulePkg/SecurityPkg Variable: Add boundary check for while (IsValidVariableHeader (Variable)) + Add Xen support for OVMF + OvmfPkg: Add the MIT license to License.txt + ArmPkg/ArmLib: Removed duplicated invalidate TLB function + ArmPlatformPkg/ArmShellCmdRunAxf: Added 'runaxf' cmd to shell - Amend the spec file to use the system gcc version as the tool chain tag- Update to R16226 + ArmVirtualizationPkg: FdtPL011SerialPortLib: support UEFI_APPLICATION + ArmPlatformPkg/ArmVirtualizationPkg: Added support for Intel BDS + ArmPkg/ArmLib/AArch64: Initialize the new N+1-level page table before registering it + ArmPkg/UncachedMemoryAllocationLib: Track uncached memory allocations + ArmPkg/ArmPsciResetSystemLib: Made the library only using SMC + ArmPlatformPkg/Bds: Reduce boot device entries + Various fixes for ShellPkg + OvmfPkg: disable stale fork of SecureBootConfigDxe - Drop upstreamed ovmf-use-generic-sb-config.patchh03-ch2a 1739972384  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./01 45679:;<=?@ABCEFGIJKL#NOPQ(STU,WXY0[\]4_`a8cde<ghi@klmDopqrItuvMxyz{R}~VZ_cgkouy}     "#$%'()+,-./012 45679:;=>?ABCEFGIJK"MNO&QRS*UVW.YZ[2]^_6abc:efg>ijkBmnoFqrsJuvwNyz{R}~VZ^bgkosw{     "#$&'(*+,-/0123 5678:;<>?@ACDFGHJKL#NO&QRSTU,WXYZ[ ^_`acdefgijklmopqstuv#xyz{(}~,048<@DIMRVZ_cgkouy}     "#$&'(*+,-/01345689:<=>@ABDEFHIJLMNOQRSUVWXZ[\ ^_`acdeghiklmopqstu"wxy&{|}*.26:>BFJNRVZ^bgkosw{    !"#%&')*+-./12346789:<=>@ABDEFHIJLMNPQRTUVWYZ[\] _`abdefhijkmnpqrtuv#xy&{|}~, #(,048<@DIMRVZ_cgkouy}    !"#%&')*+-./0234678:;<>?@ABCDFGHIKLMOPQSTUVXYZ\]^_abcefgijklmnoqrsuvwxz{|~ "&*26:>BFJVZ^bgksw{     "#$&'(*+,./0234678:;<>?@BCDFGHJKLNOPQSTUVWYZ[\]^_`abcefgijklmnopqrstuvwxy{|~#&,                           ! " # $ % & ' ( ) * + , - . / 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$Z202308-150600.5.14.1202308-150600.5.14.1    !"#$%&'()*+,-./01234567859:;<=>?<@AB<CDE FGHIFJKLFMNOFPQR STU VWXYZW[\]W^_`WabcVdefVghiVjklmjnopjqrsjtuvVwxyVz{|}z~zzzVVVVVVVVVVVVVVVVV      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIFJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsptuvpwxypz{|p}~ppo      !"#$!%&'!()*!+,-!./0123456789:;<=>?@ABCDEFGHIJKLMNKOPQRSTURVWXYZ[\]^_`abcdefgheijklmnopqrstuvswxysz{|s}~ssssssssssssssssss      !"#$%&'()*+,-./012345167896:;<=>?@>AB=CDE=FGHFIJ=KLMNOPQRSTTPUVWXPYZ[\]Y^_`ab_cde^fghi^jklmjnopjqrsjtuvjwxyjz{|j}~j^^YYY      P !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\P]^_`]abc]def]ghi]jkl]mno]pqr]stu]vwx]yz{]|}~]]]]]]]]]]]]]]]]]]PPPP      !"#$%&'()*+,-*./012341567189:;<=>;?@A;BCD;EFGHIJKLMNOLPQRLSTULVWXKYZ[K\]^K_`ab_cde_fgh_ijkKlmnKopqrostuovwxoyz{o|}~KKKKKKKKKKKKKKKKK      !"#$%&'()*+,-./01234526789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_\`ab\cde\fgh\ijk\lmn\opq[rstuvwxywz{v|}~vv                            !!!!!"##"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"%%%%%%%%%%%%%%%%"&&&&&&&&&&&&"''''"())))))))))))"*************"+",,,,,,,"---------"........//////."000000"111222222223333333332222222222222222222222244444444444222222555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666555555555555555555555555555555555555555555555555555555555555555555555555555555777777777777777777755555555555555555555558899:999;;;;<==<><??@ABCCCCCCCCCCCCCCCCCCCCCCCDEFGHGIIIIJFKLKMKNNKOOKPKQKRRRRFSFTUTTTVTTWFXYYYYYYYYXZZZZZZZZZZZZZZZX[X\\\\\\\\\\\\\\XXXF]^]_]`]a]b]ccccccccccc]d]e]f]g]h]i]j]k]lll]m]n]o]p]qFrFsFtFuFvwwwwwwwxyyyyyyyyyyyyyyyyyyyyxzzzzzzzzzz{|}}|~~~~~||||||{{{{        !!!"#$%%&'(((((())*++++,,,,-......./////////0000122334555555567788889:;;;{<{=>?@A{BCDCEEEEEEEEEECFCGHGGGICJCKCLLLLCMMMCNNBOOOOOOBPBQBRRSSRRTBUVUUUUUUUWBXYYYXZZZZX[[[[X\\\X]]]]]]]B^^^B__B``aaaa`bbBcBdeedfffdgggggggdhhhhhhhdiiiiiidjkkBlllllBmmmBnnnBopoqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqooooooorosBtttBuuBvvvvvvvvvvvBwBxByyyyBzzzzzzzzzB{B||B}B~BBBBBBBBBBBBBBBBBBBBBBB                                                       ! " #  $ % & $ '  ( ( ( ( ( (  ) *  + , , , , , , - . / / / / 0 1 2 3 4 4 4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 8 9 : ; < = > > > ? @ A B C D E E E E F G H I J K L M N O O O O P Q R S S T T U U V V V V V V V V W X Y Z Z Z Z Z Z Z [ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ] ^ ^ _ ` a b b b c d e f g g g g c h i j h k l k m m m m n o p n q q q q q q n r r r r r r r r r n s s s s s s s s s s t n u u u u u u u u n v v n w w w w w w w w w w w w w w w w w n x x x x x x x x x x x x n y y y n z z z z z z z z z z z z z z z z z z z z z z z z n { | | | | | | | | | | { } } } } } } } { ~ ~ ~ n                           n n n n n n n n n n n n n n                                                                       ! ! ! ! ! " " " " " " " " " # # # # $ $ $ % & & & & % ' ( ( ( ) ) ) ) * * + + , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , - - - - . . . . . . . . . . . . . . . . / / / 0 0 1 1 2 2 2 2 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 9 : ; < < < 9 = 9 > ? > @ > A A 9 B C C C C C C C B D B E B F 9 G G G H I H J J H K K K H L L L L L L H M N N N N N N N N N N N N N M O O O O O O O O O O O O O O O O O O M P P P P P P M H Q R R R Q S Q T T T Q U Q V Q W Q X X X X Y Q Z Z Z Z [ Q \ Q ] Q ^ Q _ Q ` Q a Q b Q c Q d d d d Q e Q f Q g Q h Q i Q j Q k Q l Q m Q n Q o o p p p p Q q Q r r r r Q s Q t Q u Q v v Q w w w Q x x x x x x x Q y Q z Q { { { { { { { { { { { { { { Q | | | | | | | Q } } Q ~ Q    H H H H H                                                                             debugovmf-x86_64ovmf-x86_64-4mDebugPkgGdbSymsGdbSymsDEBUGGdbSyms.debugGdbSyms.dllFatPkgEnhancedFatDxeFatDEBUGFat.debugMdeModulePkgApplicationUiAppUiAppDEBUGUiApp.debugBusAtaAtaAtapiPassThruAtaAtapiPassThruDEBUGAtaAtapiPassThruDxe.debugAtaBusDxeAtaBusDxeDEBUGAtaBusDxe.debugIsaPs2KeyboardDxePs2KeyboardDxeDEBUGPs2KeyboardDxe.debugPciEhciDxeEhciDxeDEBUGEhciDxe.debugNvmExpressDxeNvmExpressDxeDEBUGNvmExpressDxe.debugPciBusDxePciBusDxeDEBUGPciBusDxe.debugPciHostBridgeDxePciHostBridgeDxeDEBUGPciHostBridgeDxe.debugPciSioSerialDxePciSioSerialDxeDEBUGPciSioSerialDxe.debugSataControllerDxeSataControllerDxeDEBUGSataController.debugUhciDxeUhciDxeDEBUGUhciDxe.debugXhciDxeXhciDxeDEBUGXhciDxe.debugScsiScsiBusDxeScsiBusDxeDEBUGScsiBus.debugScsiDiskDxeScsiDiskDxeDEBUGScsiDisk.debugUsbUsbBusDxeUsbBusDxeDEBUGUsbBusDxe.debugUsbKbDxeUsbKbDxeDEBUGUsbKbDxe.debugUsbMassStorageDxeUsbMassStorageDxeDEBUGUsbMassStorageDxe.debugCoreDxeDxeMainDEBUGDxeCore.debugDxeIplPeimDxeIplDEBUGDxeIpl.debugPeiPeiMainDEBUGPeiCore.debugRuntimeDxeRuntimeDxeDEBUGRuntimeDxe.debugLogoLogoDxeDEBUGLogoDxe.debugUniversalAcpiAcpiTableDxeAcpiTableDxeDEBUGAcpiTableDxe.debugBootGraphicsResourceTableDxeBootGraphicsResourceTableDxeDEBUGBootGraphicsResourceTableDxe.debugBootScriptExecutorDxeBootScriptExecutorDxeDEBUGBootScriptExecutorDxe.debugS3SaveStateDxeS3SaveStateDxeDEBUGS3SaveStateDxe.debugBdsDxeBdsDxeDEBUGBdsDxe.debugCapsuleRuntimeDxeCapsuleRuntimeDxeDEBUGCapsuleRuntimeDxe.debugConsoleConPlatformDxeConPlatformDxeDEBUGConPlatformDxe.debugConSplitterDxeConSplitterDxeDEBUGConSplitterDxe.debugGraphicsConsoleDxeGraphicsConsoleDxeDEBUGGraphicsConsoleDxe.debugTerminalDxeTerminalDxeDEBUGTerminalDxe.debugDevicePathDxeDevicePathDxeDEBUGDevicePathDxe.debugDiskDiskIoDxeDiskIoDxeDEBUGDiskIoDxe.debugPartitionDxePartitionDxeDEBUGPartitionDxe.debugRamDiskDxeRamDiskDxeDEBUGRamDiskDxe.debugUdfDxeUdfDxeDEBUGUdfDxe.debugUnicodeCollationEnglishDxeEnglishDxeDEBUGEnglishDxe.debugDisplayEngineDxeDisplayEngineDxeDEBUGDisplayEngine.debugDriverHealthManagerDxeDriverHealthManagerDxeDEBUGDriverHealthManagerDxe.debugEbcDxeEbcDxeDEBUGEbcDxe.debugFaultTolerantWriteDxeFaultTolerantWriteDxeDEBUGFaultTolerantWriteDxe.debugHiiDatabaseDxeHiiDatabaseDxeDEBUGHiiDatabase.debugMemoryTestNullMemoryTestDxeNullMemoryTestDxeDEBUGNullMemoryTestDxe.debugMetronomeMetronomeDEBUGMetronome.debugMonotonicCounterRuntimeDxeMonotonicCounterRuntimeDxeDEBUGMonotonicCounterRuntimeDxe.debugPCDDxePcdDEBUGPcdDxe.debugPeiPcdDEBUGPcdPeim.debugReportStatusCodeRouterPeiReportStatusCodeRouterPeiDEBUGReportStatusCodeRouterPei.debugRuntimeDxeReportStatusCodeRouterRuntimeDxeDEBUGReportStatusCodeRouterRuntimeDxe.debugResetSystemRuntimeDxeResetSystemRuntimeDxeDEBUGResetSystemRuntimeDxe.debugSecurityStubDxeSecurityStubDxeDEBUGSecurityStubDxe.debugSetupBrowserDxeSetupBrowserDxeDEBUGSetupBrowser.debugSmbiosDxeSmbiosDxeDEBUGSmbiosDxe.debugStatusCodeHandlerPeiStatusCodeHandlerPeiDEBUGStatusCodeHandlerPei.debugRuntimeDxeStatusCodeHandlerRuntimeDxeDEBUGStatusCodeHandlerRuntimeDxe.debugVariableRuntimeDxeVariableRuntimeDxeDEBUGVariableRuntimeDxe.debugWatchdogTimerDxeWatchdogTimerDEBUGWatchdogTimer.debugNetworkPkgArpDxeArpDxeDEBUGArpDxe.debugDhcp4DxeDhcp4DxeDEBUGDhcp4Dxe.debugDhcp6DxeDhcp6DxeDEBUGDhcp6Dxe.debugDnsDxeDnsDxeDEBUGDnsDxe.debugDpcDxeDpcDxeDEBUGDpcDxe.debugHttpBootDxeHttpBootDxeDEBUGHttpBootDxe.debugHttpDxeHttpDxeDEBUGHttpDxe.debugHttpUtilitiesDxeHttpUtilitiesDxeDEBUGHttpUtilitiesDxe.debugIScsiDxeIScsiDxeDEBUGIScsiDxe.debugIp4DxeIp4DxeDEBUGIp4Dxe.debugIp6DxeIp6DxeDEBUGIp6Dxe.debugMnpDxeMnpDxeDEBUGMnpDxe.debugMtftp4DxeMtftp4DxeDEBUGMtftp4Dxe.debugMtftp6DxeMtftp6DxeDEBUGMtftp6Dxe.debugSnpDxeSnpDxeDEBUGSnpDxe.debugTcpDxeTcpDxeDEBUGTcpDxe.debugTlsAuthConfigDxeTlsAuthConfigDxeDEBUGTlsAuthConfigDxe.debugTlsDxeTlsDxeDEBUGTlsDxe.debugUdp4DxeUdp4DxeDEBUGUdp4Dxe.debugUdp6DxeUdp6DxeDEBUGUdp6Dxe.debugUefiPxeBcDxeUefiPxeBcDxeDEBUGUefiPxeBcDxe.debugVlanConfigDxeVlanConfigDxeDEBUGVlanConfigDxe.debugOvmfPkgAcpiPlatformDxeAcpiPlatformDxeDEBUGQemuFwCfgAcpiPlatform.debugAmdSevDxeAmdSevDxeDEBUGAmdSevDxe.debugEmuVariableFvbRuntimeDxeFvbDEBUGEmuVariableFvbRuntimeDxe.debugEnrollDefaultKeysEnrollDefaultKeysDEBUGEnrollDefaultKeys.debugIncompatiblePciDeviceSupportDxeIncompatiblePciDeviceSupportDEBUGIncompatiblePciDeviceSupportDxe.debugIoMmuDxeIoMmuDxeDEBUGIoMmuDxe.debugLinuxInitrdDynamicShellCommandLinuxInitrdDynamicShellCommandDEBUGLinuxInitrdDynamicShellCommand.debugLocalApicTimerDxeLocalApicTimerDxeDEBUGLocalApicTimerDxe.debugPciHotPlugInitDxePciHotPlugInitDEBUGPciHotPlugInitDxe.debugPlatformDxePlatformDEBUGPlatformDxe.debugPlatformPeiPlatformPeiDEBUGPlatformPei.debugQemuFlashFvbServicesRuntimeDxeFvbServicesRuntimeDxeDEBUGFvbServicesRuntimeDxe.debugQemuKernelLoaderFsDxeQemuKernelLoaderFsDxeDEBUGQemuKernelLoaderFsDxe.debugQemuRamfbDxeQemuRamfbDxeDEBUGQemuRamfbDxe.debugQemuVideoDxeQemuVideoDxeDEBUGQemuVideoDxe.debugSecSecMainDEBUGSecMain.debugSioBusDxeSioBusDxeDEBUGSioBusDxe.debugSmbiosPlatformDxeSmbiosPlatformDxeDEBUGSmbiosPlatformDxe.debugTcgTcg2ConfigTcg12ConfigPeiDEBUGTcg2ConfigPei.debugTpmMmioSevDecryptPeiTpmMmioSevDecryptPeiDEBUGTpmMmioSevDecryptPei.debugTdxDxeTdxDxeDEBUGTdxDxe.debugVirtio10DxeVirtio10DEBUGVirtio10.debugVirtioBlkDxeVirtioBlkDEBUGVirtioBlkDxe.debugVirtioFsDxeVirtioFsDxeDEBUGVirtioFsDxe.debugVirtioGpuDxeVirtioGpuDEBUGVirtioGpuDxe.debugVirtioNetDxeVirtioNetDEBUGVirtioNetDxe.debugVirtioPciDeviceDxeVirtioPciDeviceDxeDEBUGVirtioPciDeviceDxe.debugVirtioRngDxeVirtioRngDEBUGVirtioRngDxe.debugVirtioScsiDxeVirtioScsiDEBUGVirtioScsiDxe.debugVirtioSerialDxeVirtioSerialDEBUGVirtioSerialDxe.debugPcAtChipsetPkgPcatRealTimeClockRuntimeDxePcatRealTimeClockRuntimeDxeDEBUGPcRtc.debugSecurityPkgTcgTcg2ConfigTcg2ConfigDxeDEBUGTcg2ConfigDxe.debugTcg2DxeTcg2DxeDEBUGTcg2Dxe.debugTcg2PeiTcg2PeiDEBUGTcg2Pei.debugTcg2PlatformDxeTcg2PlatformDxeDEBUGTcg2PlatformDxe.debugTcg2PlatformPeiTcg2PlatformPeiDEBUGTcg2PlatformPei.debugTcgDxeTcgDxeDEBUGTcgDxe.debugTcgPeiTcgPeiDEBUGTcgPei.debugVariableAuthenticatedSecureBootConfigDxeSecureBootConfigDxeDEBUGSecureBootConfigDxe.debugShellPkgApplicationShellShellDEBUGShell.debugDynamicCommandHttpDynamicCommandHttpDynamicCommandDEBUGhttpDynamicCommand.debugTftpDynamicCommandTftpDynamicCommandDEBUGtftpDynamicCommand.debugUefiCpuPkgCpuDxe6490f1c5-ebcc-4665-8892-0075b9bb49b7DEBUGCpuDxe.debugCpuDxeDEBUGCpuDxe.debugCpuIo2DxeCpuIo2DxeDEBUGCpuIo2Dxe.debugCpuMpPei280251c4-1d09-4035-9062-839acb5f18c1DEBUGCpuMpPei.debugCpuMpPeiDEBUGCpuMpPei.debugUniversalAcpiS3Resume2PeiS3Resume2PeiDEBUGS3Resume2Pei.debugovmf-x86_64-sevDebugPkgGdbSymsGdbSymsDEBUGGdbSyms.debugGdbSyms.dllFatPkgEnhancedFatDxeFatDEBUGFat.debugMdeModulePkgApplicationUiAppUiAppDEBUGUiApp.debugBusAtaAtaAtapiPassThruAtaAtapiPassThruDEBUGAtaAtapiPassThruDxe.debugAtaBusDxeAtaBusDxeDEBUGAtaBusDxe.debugIsaPs2KeyboardDxePs2KeyboardDxeDEBUGPs2KeyboardDxe.debugPciEhciDxeEhciDxeDEBUGEhciDxe.debugNvmExpressDxeNvmExpressDxeDEBUGNvmExpressDxe.debugPciBusDxePciBusDxeDEBUGPciBusDxe.debugPciHostBridgeDxePciHostBridgeDxeDEBUGPciHostBridgeDxe.debugPciSioSerialDxePciSioSerialDxeDEBUGPciSioSerialDxe.debugSataControllerDxeSataControllerDxeDEBUGSataController.debugUhciDxeUhciDxeDEBUGUhciDxe.debugXhciDxeXhciDxeDEBUGXhciDxe.debugScsiScsiBusDxeScsiBusDxeDEBUGScsiBus.debugScsiDiskDxeScsiDiskDxeDEBUGScsiDisk.debugUsbUsbBusDxeUsbBusDxeDEBUGUsbBusDxe.debugUsbKbDxeUsbKbDxeDEBUGUsbKbDxe.debugUsbMassStorageDxeUsbMassStorageDxeDEBUGUsbMassStorageDxe.debugCoreDxeDxeMainDEBUGDxeCore.debugDxeIplPeimDxeIplDEBUGDxeIpl.debugPeiPeiMainDEBUGPeiCore.debugRuntimeDxeRuntimeDxeDEBUGRuntimeDxe.debugLogoLogoDxeDEBUGLogoDxe.debugUniversalAcpiAcpiTableDxeAcpiTableDxeDEBUGAcpiTableDxe.debugBootGraphicsResourceTableDxeBootGraphicsResourceTableDxeDEBUGBootGraphicsResourceTableDxe.debugBootScriptExecutorDxeBootScriptExecutorDxeDEBUGBootScriptExecutorDxe.debugS3SaveStateDxeS3SaveStateDxeDEBUGS3SaveStateDxe.debugBdsDxeBdsDxeDEBUGBdsDxe.debugCapsuleRuntimeDxeCapsuleRuntimeDxeDEBUGCapsuleRuntimeDxe.debugConsoleConPlatformDxeConPlatformDxeDEBUGConPlatformDxe.debugConSplitterDxeConSplitterDxeDEBUGConSplitterDxe.debugGraphicsConsoleDxeGraphicsConsoleDxeDEBUGGraphicsConsoleDxe.debugTerminalDxeTerminalDxeDEBUGTerminalDxe.debugDevicePathDxeDevicePathDxeDEBUGDevicePathDxe.debugDiskDiskIoDxeDiskIoDxeDEBUGDiskIoDxe.debugPartitionDxePartitionDxeDEBUGPartitionDxe.debugRamDiskDxeRamDiskDxeDEBUGRamDiskDxe.debugUdfDxeUdfDxeDEBUGUdfDxe.debugUnicodeCollationEnglishDxeEnglishDxeDEBUGEnglishDxe.debugDisplayEngineDxeDisplayEngineDxeDEBUGDisplayEngine.debugDriverHealthManagerDxeDriverHealthManagerDxeDEBUGDriverHealthManagerDxe.debugEbcDxeEbcDxeDEBUGEbcDxe.debugFaultTolerantWriteDxeFaultTolerantWriteDxeDEBUGFaultTolerantWriteDxe.debugHiiDatabaseDxeHiiDatabaseDxeDEBUGHiiDatabase.debugMemoryTestNullMemoryTestDxeNullMemoryTestDxeDEBUGNullMemoryTestDxe.debugMetronomeMetronomeDEBUGMetronome.debugMonotonicCounterRuntimeDxeMonotonicCounterRuntimeDxeDEBUGMonotonicCounterRuntimeDxe.debugPCDDxePcdDEBUGPcdDxe.debugPeiPcdDEBUGPcdPeim.debugReportStatusCodeRouterPeiReportStatusCodeRouterPeiDEBUGReportStatusCodeRouterPei.debugRuntimeDxeReportStatusCodeRouterRuntimeDxeDEBUGReportStatusCodeRouterRuntimeDxe.debugResetSystemRuntimeDxeResetSystemRuntimeDxeDEBUGResetSystemRuntimeDxe.debugSecurityStubDxeSecurityStubDxeDEBUGSecurityStubDxe.debugSetupBrowserDxeSetupBrowserDxeDEBUGSetupBrowser.debugSmbiosDxeSmbiosDxeDEBUGSmbiosDxe.debugStatusCodeHandlerPeiStatusCodeHandlerPeiDEBUGStatusCodeHandlerPei.debugRuntimeDxeStatusCodeHandlerRuntimeDxeDEBUGStatusCodeHandlerRuntimeDxe.debugVariableRuntimeDxeVariableRuntimeDxeDEBUGVariableRuntimeDxe.debugWatchdogTimerDxeWatchdogTimerDEBUGWatchdogTimer.debugNetworkPkgArpDxeArpDxeDEBUGArpDxe.debugDhcp4DxeDhcp4DxeDEBUGDhcp4Dxe.debugDhcp6DxeDhcp6DxeDEBUGDhcp6Dxe.debugDnsDxeDnsDxeDEBUGDnsDxe.debugDpcDxeDpcDxeDEBUGDpcDxe.debugHttpBootDxeHttpBootDxeDEBUGHttpBootDxe.debugHttpDxeHttpDxeDEBUGHttpDxe.debugHttpUtilitiesDxeHttpUtilitiesDxeDEBUGHttpUtilitiesDxe.debugIScsiDxeIScsiDxeDEBUGIScsiDxe.debugIp4DxeIp4DxeDEBUGIp4Dxe.debugIp6DxeIp6DxeDEBUGIp6Dxe.debugMnpDxeMnpDxeDEBUGMnpDxe.debugMtftp4DxeMtftp4DxeDEBUGMtftp4Dxe.debugMtftp6DxeMtftp6DxeDEBUGMtftp6Dxe.debugSnpDxeSnpDxeDEBUGSnpDxe.debugTcpDxeTcpDxeDEBUGTcpDxe.debugTlsAuthConfigDxeTlsAuthConfigDxeDEBUGTlsAuthConfigDxe.debugTlsDxeTlsDxeDEBUGTlsDxe.debugUdp4DxeUdp4DxeDEBUGUdp4Dxe.debugUdp6DxeUdp6DxeDEBUGUdp6Dxe.debugUefiPxeBcDxeUefiPxeBcDxeDEBUGUefiPxeBcDxe.debugVlanConfigDxeVlanConfigDxeDEBUGVlanConfigDxe.debugOvmfPkgAcpiPlatformDxeAcpiPlatformDxeDEBUGQemuFwCfgAcpiPlatform.debugAmdSevDxeAmdSevDxeDEBUGAmdSevDxe.debugEmuVariableFvbRuntimeDxeFvbDEBUGEmuVariableFvbRuntimeDxe.debugEnrollDefaultKeysEnrollDefaultKeysDEBUGEnrollDefaultKeys.debugIncompatiblePciDeviceSupportDxeIncompatiblePciDeviceSupportDEBUGIncompatiblePciDeviceSupportDxe.debugIoMmuDxeIoMmuDxeDEBUGIoMmuDxe.debugLinuxInitrdDynamicShellCommandLinuxInitrdDynamicShellCommandDEBUGLinuxInitrdDynamicShellCommand.debugLocalApicTimerDxeLocalApicTimerDxeDEBUGLocalApicTimerDxe.debugPciHotPlugInitDxePciHotPlugInitDEBUGPciHotPlugInitDxe.debugPlatformDxePlatformDEBUGPlatformDxe.debugPlatformPeiPlatformPeiDEBUGPlatformPei.debugQemuFlashFvbServicesRuntimeDxeFvbServicesRuntimeDxeDEBUGFvbServicesRuntimeDxe.debugQemuKernelLoaderFsDxeQemuKernelLoaderFsDxeDEBUGQemuKernelLoaderFsDxe.debugQemuRamfbDxeQemuRamfbDxeDEBUGQemuRamfbDxe.debugQemuVideoDxeQemuVideoDxeDEBUGQemuVideoDxe.debugSecSecMainDEBUGSecMain.debugSioBusDxeSioBusDxeDEBUGSioBusDxe.debugSmbiosPlatformDxeSmbiosPlatformDxeDEBUGSmbiosPlatformDxe.debugTcgTcg2ConfigTcg12ConfigPeiDEBUGTcg2ConfigPei.debugTpmMmioSevDecryptPeiTpmMmioSevDecryptPeiDEBUGTpmMmioSevDecryptPei.debugTdxDxeTdxDxeDEBUGTdxDxe.debugVirtio10DxeVirtio10DEBUGVirtio10.debugVirtioBlkDxeVirtioBlkDEBUGVirtioBlkDxe.debugVirtioFsDxeVirtioFsDxeDEBUGVirtioFsDxe.debugVirtioGpuDxeVirtioGpuDEBUGVirtioGpuDxe.debugVirtioNetDxeVirtioNetDEBUGVirtioNetDxe.debugVirtioPciDeviceDxeVirtioPciDeviceDxeDEBUGVirtioPciDeviceDxe.debugVirtioRngDxeVirtioRngDEBUGVirtioRngDxe.debugVirtioScsiDxeVirtioScsiDEBUGVirtioScsiDxe.debugVirtioSerialDxeVirtioSerialDEBUGVirtioSerialDxe.debugPcAtChipsetPkgPcatRealTimeClockRuntimeDxePcatRealTimeClockRuntimeDxeDEBUGPcRtc.debugSecurityPkgTcgTcg2ConfigTcg2ConfigDxeDEBUGTcg2ConfigDxe.debugTcg2DxeTcg2DxeDEBUGTcg2Dxe.debugTcg2PeiTcg2PeiDEBUGTcg2Pei.debugTcg2PlatformDxeTcg2PlatformDxeDEBUGTcg2PlatformDxe.debugTcg2PlatformPeiTcg2PlatformPeiDEBUGTcg2PlatformPei.debugTcgDxeTcgDxeDEBUGTcgDxe.debugTcgPeiTcgPeiDEBUGTcgPei.debugVariableAuthenticatedSecureBootConfigDxeSecureBootConfigDxeDEBUGSecureBootConfigDxe.debugShellPkgApplicationShellShellDEBUGShell.debugDynamicCommandHttpDynamicCommandHttpDynamicCommandDEBUGhttpDynamicCommand.debugTftpDynamicCommandTftpDynamicCommandDEBUGtftpDynamicCommand.debugUefiCpuPkgCpuDxe6490f1c5-ebcc-4665-8892-0075b9bb49b7DEBUGCpuDxe.debugCpuDxeDEBUGCpuDxe.debugCpuIo2DxeCpuIo2DxeDEBUGCpuIo2Dxe.debugCpuMpPei280251c4-1d09-4035-9062-839acb5f18c1DEBUGCpuMpPei.debugCpuMpPeiDEBUGCpuMpPei.debugUniversalAcpiS3Resume2PeiS3Resume2PeiDEBUGS3Resume2Pei.debugovmf-x86_64-smmDebugPkgGdbSymsGdbSymsDEBUGGdbSyms.debugGdbSyms.dllFatPkgEnhancedFatDxeFatDEBUGFat.debugMdeModulePkgApplicationUiAppUiAppDEBUGUiApp.debugBusAtaAtaAtapiPassThruAtaAtapiPassThruDEBUGAtaAtapiPassThruDxe.debugAtaBusDxeAtaBusDxeDEBUGAtaBusDxe.debugIsaPs2KeyboardDxePs2KeyboardDxeDEBUGPs2KeyboardDxe.debugPciEhciDxeEhciDxeDEBUGEhciDxe.debugNvmExpressDxeNvmExpressDxeDEBUGNvmExpressDxe.debugPciBusDxePciBusDxeDEBUGPciBusDxe.debugPciHostBridgeDxePciHostBridgeDxeDEBUGPciHostBridgeDxe.debugPciSioSerialDxePciSioSerialDxeDEBUGPciSioSerialDxe.debugSataControllerDxeSataControllerDxeDEBUGSataController.debugUhciDxeUhciDxeDEBUGUhciDxe.debugXhciDxeXhciDxeDEBUGXhciDxe.debugScsiScsiBusDxeScsiBusDxeDEBUGScsiBus.debugScsiDiskDxeScsiDiskDxeDEBUGScsiDisk.debugUsbUsbBusDxeUsbBusDxeDEBUGUsbBusDxe.debugUsbKbDxeUsbKbDxeDEBUGUsbKbDxe.debugUsbMassStorageDxeUsbMassStorageDxeDEBUGUsbMassStorageDxe.debugCoreDxeDxeMainDEBUGDxeCore.debugDxeIplPeimDxeIplDEBUGDxeIpl.debugPeiPeiMainDEBUGPeiCore.debugRuntimeDxeRuntimeDxeDEBUGRuntimeDxe.debugLogoLogoDxeDEBUGLogoDxe.debugUniversalAcpiAcpiTableDxeAcpiTableDxeDEBUGAcpiTableDxe.debugBootGraphicsResourceTableDxeBootGraphicsResourceTableDxeDEBUGBootGraphicsResourceTableDxe.debugBootScriptExecutorDxeBootScriptExecutorDxeDEBUGBootScriptExecutorDxe.debugS3SaveStateDxeS3SaveStateDxeDEBUGS3SaveStateDxe.debugBdsDxeBdsDxeDEBUGBdsDxe.debugCapsuleRuntimeDxeCapsuleRuntimeDxeDEBUGCapsuleRuntimeDxe.debugConsoleConPlatformDxeConPlatformDxeDEBUGConPlatformDxe.debugConSplitterDxeConSplitterDxeDEBUGConSplitterDxe.debugGraphicsConsoleDxeGraphicsConsoleDxeDEBUGGraphicsConsoleDxe.debugTerminalDxeTerminalDxeDEBUGTerminalDxe.debugDevicePathDxeDevicePathDxeDEBUGDevicePathDxe.debugDiskDiskIoDxeDiskIoDxeDEBUGDiskIoDxe.debugPartitionDxePartitionDxeDEBUGPartitionDxe.debugRamDiskDxeRamDiskDxeDEBUGRamDiskDxe.debugUdfDxeUdfDxeDEBUGUdfDxe.debugUnicodeCollationEnglishDxeEnglishDxeDEBUGEnglishDxe.debugDisplayEngineDxeDisplayEngineDxeDEBUGDisplayEngine.debugDriverHealthManagerDxeDriverHealthManagerDxeDEBUGDriverHealthManagerDxe.debugEbcDxeEbcDxeDEBUGEbcDxe.debugFaultTolerantWriteDxeFaultTolerantWriteDxeDEBUGFaultTolerantWriteDxe.debugHiiDatabaseDxeHiiDatabaseDxeDEBUGHiiDatabase.debugMemoryTestNullMemoryTestDxeNullMemoryTestDxeDEBUGNullMemoryTestDxe.debugMetronomeMetronomeDEBUGMetronome.debugMonotonicCounterRuntimeDxeMonotonicCounterRuntimeDxeDEBUGMonotonicCounterRuntimeDxe.debugPCDDxePcdDEBUGPcdDxe.debugPeiPcdDEBUGPcdPeim.debugReportStatusCodeRouterPeiReportStatusCodeRouterPeiDEBUGReportStatusCodeRouterPei.debugRuntimeDxeReportStatusCodeRouterRuntimeDxeDEBUGReportStatusCodeRouterRuntimeDxe.debugResetSystemRuntimeDxeResetSystemRuntimeDxeDEBUGResetSystemRuntimeDxe.debugSecurityStubDxeSecurityStubDxeDEBUGSecurityStubDxe.debugSetupBrowserDxeSetupBrowserDxeDEBUGSetupBrowser.debugSmbiosDxeSmbiosDxeDEBUGSmbiosDxe.debugStatusCodeHandlerPeiStatusCodeHandlerPeiDEBUGStatusCodeHandlerPei.debugRuntimeDxeStatusCodeHandlerRuntimeDxeDEBUGStatusCodeHandlerRuntimeDxe.debugVariableRuntimeDxeVariableRuntimeDxeDEBUGVariableRuntimeDxe.debugWatchdogTimerDxeWatchdogTimerDEBUGWatchdogTimer.debugNetworkPkgArpDxeArpDxeDEBUGArpDxe.debugDhcp4DxeDhcp4DxeDEBUGDhcp4Dxe.debugDhcp6DxeDhcp6DxeDEBUGDhcp6Dxe.debugDnsDxeDnsDxeDEBUGDnsDxe.debugDpcDxeDpcDxeDEBUGDpcDxe.debugHttpBootDxeHttpBootDxeDEBUGHttpBootDxe.debugHttpDxeHttpDxeDEBUGHttpDxe.debugHttpUtilitiesDxeHttpUtilitiesDxeDEBUGHttpUtilitiesDxe.debugIScsiDxeIScsiDxeDEBUGIScsiDxe.debugIp4DxeIp4DxeDEBUGIp4Dxe.debugIp6DxeIp6DxeDEBUGIp6Dxe.debugMnpDxeMnpDxeDEBUGMnpDxe.debugMtftp4DxeMtftp4DxeDEBUGMtftp4Dxe.debugMtftp6DxeMtftp6DxeDEBUGMtftp6Dxe.debugSnpDxeSnpDxeDEBUGSnpDxe.debugTcpDxeTcpDxeDEBUGTcpDxe.debugTlsAuthConfigDxeTlsAuthConfigDxeDEBUGTlsAuthConfigDxe.debugTlsDxeTlsDxeDEBUGTlsDxe.debugUdp4DxeUdp4DxeDEBUGUdp4Dxe.debugUdp6DxeUdp6DxeDEBUGUdp6Dxe.debugUefiPxeBcDxeUefiPxeBcDxeDEBUGUefiPxeBcDxe.debugVlanConfigDxeVlanConfigDxeDEBUGVlanConfigDxe.debugOvmfPkgAcpiPlatformDxeAcpiPlatformDxeDEBUGQemuFwCfgAcpiPlatform.debugAmdSevDxeAmdSevDxeDEBUGAmdSevDxe.debugEmuVariableFvbRuntimeDxeFvbDEBUGEmuVariableFvbRuntimeDxe.debugEnrollDefaultKeysEnrollDefaultKeysDEBUGEnrollDefaultKeys.debugIncompatiblePciDeviceSupportDxeIncompatiblePciDeviceSupportDEBUGIncompatiblePciDeviceSupportDxe.debugIoMmuDxeIoMmuDxeDEBUGIoMmuDxe.debugLinuxInitrdDynamicShellCommandLinuxInitrdDynamicShellCommandDEBUGLinuxInitrdDynamicShellCommand.debugLocalApicTimerDxeLocalApicTimerDxeDEBUGLocalApicTimerDxe.debugPciHotPlugInitDxePciHotPlugInitDEBUGPciHotPlugInitDxe.debugPlatformDxePlatformDEBUGPlatformDxe.debugPlatformPeiPlatformPeiDEBUGPlatformPei.debugQemuFlashFvbServicesRuntimeDxeFvbServicesRuntimeDxeDEBUGFvbServicesRuntimeDxe.debugQemuKernelLoaderFsDxeQemuKernelLoaderFsDxeDEBUGQemuKernelLoaderFsDxe.debugQemuRamfbDxeQemuRamfbDxeDEBUGQemuRamfbDxe.debugQemuVideoDxeQemuVideoDxeDEBUGQemuVideoDxe.debugSecSecMainDEBUGSecMain.debugSioBusDxeSioBusDxeDEBUGSioBusDxe.debugSmbiosPlatformDxeSmbiosPlatformDxeDEBUGSmbiosPlatformDxe.debugTcgTcg2ConfigTcg12ConfigPeiDEBUGTcg2ConfigPei.debugTpmMmioSevDecryptPeiTpmMmioSevDecryptPeiDEBUGTpmMmioSevDecryptPei.debugTdxDxeTdxDxeDEBUGTdxDxe.debugVirtio10DxeVirtio10DEBUGVirtio10.debugVirtioBlkDxeVirtioBlkDEBUGVirtioBlkDxe.debugVirtioFsDxeVirtioFsDxeDEBUGVirtioFsDxe.debugVirtioGpuDxeVirtioGpuDEBUGVirtioGpuDxe.debugVirtioNetDxeVirtioNetDEBUGVirtioNetDxe.debugVirtioPciDeviceDxeVirtioPciDeviceDxeDEBUGVirtioPciDeviceDxe.debugVirtioRngDxeVirtioRngDEBUGVirtioRngDxe.debugVirtioScsiDxeVirtioScsiDEBUGVirtioScsiDxe.debugVirtioSerialDxeVirtioSerialDEBUGVirtioSerialDxe.debugPcAtChipsetPkgPcatRealTimeClockRuntimeDxePcatRealTimeClockRuntimeDxeDEBUGPcRtc.debugSecurityPkgTcgTcg2ConfigTcg2ConfigDxeDEBUGTcg2ConfigDxe.debugTcg2DxeTcg2DxeDEBUGTcg2Dxe.debugTcg2PeiTcg2PeiDEBUGTcg2Pei.debugTcg2PlatformDxeTcg2PlatformDxeDEBUGTcg2PlatformDxe.debugTcg2PlatformPeiTcg2PlatformPeiDEBUGTcg2PlatformPei.debugTcgDxeTcgDxeDEBUGTcgDxe.debugTcgPeiTcgPeiDEBUGTcgPei.debugVariableAuthenticatedSecureBootConfigDxeSecureBootConfigDxeDEBUGSecureBootConfigDxe.debugShellPkgApplicationShellShellDEBUGShell.debugDynamicCommandHttpDynamicCommandHttpDynamicCommandDEBUGhttpDynamicCommand.debugTftpDynamicCommandTftpDynamicCommandDEBUGtftpDynamicCommand.debugUefiCpuPkgCpuDxe6490f1c5-ebcc-4665-8892-0075b9bb49b7DEBUGCpuDxe.debugCpuDxeDEBUGCpuDxe.debugCpuIo2DxeCpuIo2DxeDEBUGCpuIo2Dxe.debugCpuMpPei280251c4-1d09-4035-9062-839acb5f18c1DEBUGCpuMpPei.debugCpuMpPeiDEBUGCpuMpPei.debugUniversalAcpiS3Resume2PeiS3Resume2PeiDEBUGS3Resume2Pei.debugDebugPkgGdbSymsGdbSymsDEBUGGdbSyms.debugGdbSyms.dllFatPkgEnhancedFatDxeFatDEBUGFat.debugMdeModulePkgApplicationUiAppUiAppDEBUGUiApp.debugBusAtaAtaAtapiPassThruAtaAtapiPassThruDEBUGAtaAtapiPassThruDxe.debugAtaBusDxeAtaBusDxeDEBUGAtaBusDxe.debugIsaPs2KeyboardDxePs2KeyboardDxeDEBUGPs2KeyboardDxe.debugPciEhciDxeEhciDxeDEBUGEhciDxe.debugNvmExpressDxeNvmExpressDxeDEBUGNvmExpressDxe.debugPciBusDxePciBusDxeDEBUGPciBusDxe.debugPciHostBridgeDxePciHostBridgeDxeDEBUGPciHostBridgeDxe.debugPciSioSerialDxePciSioSerialDxeDEBUGPciSioSerialDxe.debugSataControllerDxeSataControllerDxeDEBUGSataController.debugUhciDxeUhciDxeDEBUGUhciDxe.debugXhciDxeXhciDxeDEBUGXhciDxe.debugScsiScsiBusDxeScsiBusDxeDEBUGScsiBus.debugScsiDiskDxeScsiDiskDxeDEBUGScsiDisk.debugUsbUsbBusDxeUsbBusDxeDEBUGUsbBusDxe.debugUsbKbDxeUsbKbDxeDEBUGUsbKbDxe.debugUsbMassStorageDxeUsbMassStorageDxeDEBUGUsbMassStorageDxe.debugCoreDxeDxeMainDEBUGDxeCore.debugDxeIplPeimDxeIplDEBUGDxeIpl.debugPeiPeiMainDEBUGPeiCore.debugRuntimeDxeRuntimeDxeDEBUGRuntimeDxe.debugLogoLogoDxeDEBUGLogoDxe.debugUniversalAcpiAcpiTableDxeAcpiTableDxeDEBUGAcpiTableDxe.debugBootGraphicsResourceTableDxeBootGraphicsResourceTableDxeDEBUGBootGraphicsResourceTableDxe.debugBootScriptExecutorDxeBootScriptExecutorDxeDEBUGBootScriptExecutorDxe.debugS3SaveStateDxeS3SaveStateDxeDEBUGS3SaveStateDxe.debugBdsDxeBdsDxeDEBUGBdsDxe.debugCapsuleRuntimeDxeCapsuleRuntimeDxeDEBUGCapsuleRuntimeDxe.debugConsoleConPlatformDxeConPlatformDxeDEBUGConPlatformDxe.debugConSplitterDxeConSplitterDxeDEBUGConSplitterDxe.debugGraphicsConsoleDxeGraphicsConsoleDxeDEBUGGraphicsConsoleDxe.debugTerminalDxeTerminalDxeDEBUGTerminalDxe.debugDevicePathDxeDevicePathDxeDEBUGDevicePathDxe.debugDiskDiskIoDxeDiskIoDxeDEBUGDiskIoDxe.debugPartitionDxePartitionDxeDEBUGPartitionDxe.debugRamDiskDxeRamDiskDxeDEBUGRamDiskDxe.debugUdfDxeUdfDxeDEBUGUdfDxe.debugUnicodeCollationEnglishDxeEnglishDxeDEBUGEnglishDxe.debugDisplayEngineDxeDisplayEngineDxeDEBUGDisplayEngine.debugDriverHealthManagerDxeDriverHealthManagerDxeDEBUGDriverHealthManagerDxe.debugEbcDxeEbcDxeDEBUGEbcDxe.debugFaultTolerantWriteDxeFaultTolerantWriteDxeDEBUGFaultTolerantWriteDxe.debugHiiDatabaseDxeHiiDatabaseDxeDEBUGHiiDatabase.debugMemoryTestNullMemoryTestDxeNullMemoryTestDxeDEBUGNullMemoryTestDxe.debugMetronomeMetronomeDEBUGMetronome.debugMonotonicCounterRuntimeDxeMonotonicCounterRuntimeDxeDEBUGMonotonicCounterRuntimeDxe.debugPCDDxePcdDEBUGPcdDxe.debugPeiPcdDEBUGPcdPeim.debugReportStatusCodeRouterPeiReportStatusCodeRouterPeiDEBUGReportStatusCodeRouterPei.debugRuntimeDxeReportStatusCodeRouterRuntimeDxeDEBUGReportStatusCodeRouterRuntimeDxe.debugResetSystemRuntimeDxeResetSystemRuntimeDxeDEBUGResetSystemRuntimeDxe.debugSecurityStubDxeSecurityStubDxeDEBUGSecurityStubDxe.debugSetupBrowserDxeSetupBrowserDxeDEBUGSetupBrowser.debugSmbiosDxeSmbiosDxeDEBUGSmbiosDxe.debugStatusCodeHandlerPeiStatusCodeHandlerPeiDEBUGStatusCodeHandlerPei.debugRuntimeDxeStatusCodeHandlerRuntimeDxeDEBUGStatusCodeHandlerRuntimeDxe.debugVariableRuntimeDxeVariableRuntimeDxeDEBUGVariableRuntimeDxe.debugWatchdogTimerDxeWatchdogTimerDEBUGWatchdogTimer.debugNetworkPkgArpDxeArpDxeDEBUGArpDxe.debugDhcp4DxeDhcp4DxeDEBUGDhcp4Dxe.debugDhcp6DxeDhcp6DxeDEBUGDhcp6Dxe.debugDnsDxeDnsDxeDEBUGDnsDxe.debugDpcDxeDpcDxeDEBUGDpcDxe.debugHttpBootDxeHttpBootDxeDEBUGHttpBootDxe.debugHttpDxeHttpDxeDEBUGHttpDxe.debugHttpUtilitiesDxeHttpUtilitiesDxeDEBUGHttpUtilitiesDxe.debugIScsiDxeIScsiDxeDEBUGIScsiDxe.debugIp4DxeIp4DxeDEBUGIp4Dxe.debugIp6DxeIp6DxeDEBUGIp6Dxe.debugMnpDxeMnpDxeDEBUGMnpDxe.debugMtftp4DxeMtftp4DxeDEBUGMtftp4Dxe.debugMtftp6DxeMtftp6DxeDEBUGMtftp6Dxe.debugSnpDxeSnpDxeDEBUGSnpDxe.debugTcpDxeTcpDxeDEBUGTcpDxe.debugUdp4DxeUdp4DxeDEBUGUdp4Dxe.debugUdp6DxeUdp6DxeDEBUGUdp6Dxe.debugUefiPxeBcDxeUefiPxeBcDxeDEBUGUefiPxeBcDxe.debugVlanConfigDxeVlanConfigDxeDEBUGVlanConfigDxe.debugOvmfPkgAcpiPlatformDxeAcpiPlatformDxeDEBUGQemuFwCfgAcpiPlatform.debugAmdSevDxeAmdSevDxeDEBUGAmdSevDxe.debugEmuVariableFvbRuntimeDxeFvbDEBUGEmuVariableFvbRuntimeDxe.debugEnrollDefaultKeysEnrollDefaultKeysDEBUGEnrollDefaultKeys.debugIncompatiblePciDeviceSupportDxeIncompatiblePciDeviceSupportDEBUGIncompatiblePciDeviceSupportDxe.debugIoMmuDxeIoMmuDxeDEBUGIoMmuDxe.debugLocalApicTimerDxeLocalApicTimerDxeDEBUGLocalApicTimerDxe.debugPciHotPlugInitDxePciHotPlugInitDEBUGPciHotPlugInitDxe.debugPlatformDxePlatformDEBUGPlatformDxe.debugPlatformPeiPlatformPeiDEBUGPlatformPei.debugQemuFlashFvbServicesRuntimeDxeFvbServicesRuntimeDxeDEBUGFvbServicesRuntimeDxe.debugQemuKernelLoaderFsDxeQemuKernelLoaderFsDxeDEBUGQemuKernelLoaderFsDxe.debugQemuRamfbDxeQemuRamfbDxeDEBUGQemuRamfbDxe.debugQemuVideoDxeQemuVideoDxeDEBUGQemuVideoDxe.debugSecSecMainDEBUGSecMain.debugSioBusDxeSioBusDxeDEBUGSioBusDxe.debugSmbiosPlatformDxeSmbiosPlatformDxeDEBUGSmbiosPlatformDxe.debugTcgTcg2ConfigTcg12ConfigPeiDEBUGTcg2ConfigPei.debugTpmMmioSevDecryptPeiTpmMmioSevDecryptPeiDEBUGTpmMmioSevDecryptPei.debugTdxDxeTdxDxeDEBUGTdxDxe.debugVirtio10DxeVirtio10DEBUGVirtio10.debugVirtioBlkDxeVirtioBlkDEBUGVirtioBlkDxe.debugVirtioFsDxeVirtioFsDxeDEBUGVirtioFsDxe.debugVirtioGpuDxeVirtioGpuDEBUGVirtioGpuDxe.debugVirtioNetDxeVirtioNetDEBUGVirtioNetDxe.debugVirtioPciDeviceDxeVirtioPciDeviceDxeDEBUGVirtioPciDeviceDxe.debugVirtioRngDxeVirtioRngDEBUGVirtioRngDxe.debugVirtioScsiDxeVirtioScsiDEBUGVirtioScsiDxe.debugVirtioSerialDxeVirtioSerialDEBUGVirtioSerialDxe.debugPcAtChipsetPkgPcatRealTimeClockRuntimeDxePcatRealTimeClockRuntimeDxeDEBUGPcRtc.debugSecurityPkgTcgTcg2ConfigTcg2ConfigDxeDEBUGTcg2ConfigDxe.debugTcg2DxeTcg2DxeDEBUGTcg2Dxe.debugTcg2PeiTcg2PeiDEBUGTcg2Pei.debugTcg2PlatformDxeTcg2PlatformDxeDEBUGTcg2PlatformDxe.debugTcg2PlatformPeiTcg2PlatformPeiDEBUGTcg2PlatformPei.debugTcgDxeTcgDxeDEBUGTcgDxe.debugTcgPeiTcgPeiDEBUGTcgPei.debugVariableAuthenticatedSecureBootConfigDxeSecureBootConfigDxeDEBUGSecureBootConfigDxe.debugUefiCpuPkgCpuDxe6490f1c5-ebcc-4665-8892-0075b9bb49b7DEBUGCpuDxe.debugCpuDxeDEBUGCpuDxe.debugCpuIo2DxeCpuIo2DxeDEBUGCpuIo2Dxe.debugCpuMpPei280251c4-1d09-4035-9062-839acb5f18c1DEBUGCpuMpPei.debugCpuMpPeiDEBUGCpuMpPei.debugUniversalAcpiS3Resume2PeiS3Resume2PeiDEBUGS3Resume2Pei.debugovmf-x86_64gdb_uefi-ovmf-x86_64-4m.pygdb_uefi-ovmf-x86_64-sev.pygdb_uefi-ovmf-x86_64-smm.pygdb_uefi-ovmf-x86_64.pydebugovmf-x86_64CryptoPkgDriverCrypto.cCryptoDxe.cCryptoPei.cCryptoSmm.cIncludeLibraryBaseCryptLib.hHashApiLib.hTlsLib.hPcdPcdCryptoServiceFamilyEnable.hLibraryBaseCryptLibBnCryptBn.cCryptBnNull.cCipherCryptAeadAesGcm.cCryptAeadAesGcmNull.cCryptAes.cCryptAesNull.cHashCryptCShake256.cCryptDispatchApDxe.cCryptDispatchApMm.cCryptDispatchApPei.cCryptMd5.cCryptMd5Null.cCryptParallelHash.cCryptParallelHash.hCryptParallelHashNull.cCryptSha1.cCryptSha1Null.cCryptSha256.cCryptSha256Null.cCryptSha3.cCryptSha512.cCryptSha512Null.cCryptSm3.cCryptSm3Null.cCryptXkcp.cHmacCryptHmac.cCryptHmacNull.cInternalCryptLib.hKdfCryptHkdf.cCryptHkdfNull.cPemCryptPem.cCryptPemNull.cPkCryptAuthenticode.cCryptAuthenticodeNull.cCryptDh.cCryptDhNull.cCryptEc.cCryptEcNull.cCryptPkcs1Oaep.cCryptPkcs1OaepNull.cCryptPkcs5Pbkdf2.cCryptPkcs5Pbkdf2Null.cCryptPkcs7Sign.cCryptPkcs7SignNull.cCryptPkcs7VerifyBase.cCryptPkcs7VerifyCommon.cCryptPkcs7VerifyEku.cCryptPkcs7VerifyEkuNull.cCryptPkcs7VerifyEkuRuntime.cCryptPkcs7VerifyNull.cCryptPkcs7VerifyRuntime.cCryptRsaBasic.cCryptRsaBasicNull.cCryptRsaExt.cCryptRsaExtNull.cCryptRsaPss.cCryptRsaPssNull.cCryptRsaPssSign.cCryptRsaPssSignNull.cCryptTs.cCryptTsNull.cCryptX509.cCryptX509Null.cRandCryptRand.cCryptRandNull.cCryptRandTsc.cSysCallBaseMemAllocation.cConstantTimeClock.cCrtWrapper.cRuntimeMemAllocation.cTimerWrapper.cUnitTestHostCrtWrapper.cBaseCryptLibNullBnCryptBnNull.cCipherCryptAeadAesGcmNull.cCryptAesNull.cHashCryptMd5Null.cCryptParallelHashNull.cCryptSha1Null.cCryptSha256Null.cCryptSha512Null.cCryptSm3Null.cHmacCryptHmacNull.cInternalCryptLib.hKdfCryptHkdfNull.cPemCryptPemNull.cPkCryptAuthenticodeNull.cCryptDhNull.cCryptEcNull.cCryptPkcs1OaepNull.cCryptPkcs5Pbkdf2Null.cCryptPkcs7SignNull.cCryptPkcs7VerifyEkuNull.cCryptPkcs7VerifyNull.cCryptRsaBasicNull.cCryptRsaExtNull.cCryptRsaPssNull.cCryptRsaPssSignNull.cCryptTsNull.cCryptX509Null.cRandCryptRandNull.cBaseCryptLibOnProtocolPpiCryptLib.cDxeCryptLib.cPeiCryptLib.cSmmCryptLib.cBaseHashApiLibBaseHashApiLib.cIncludeCrtLibSupport.harpainet.hnameser.hassert.hctype.herrno.hfcntl.hlimits.hmemory.hnetinetin.hstdarg.hstddef.hstdio.hstdlib.hstring.hstrings.hsysparam.hshm.hsocket.hsyscall.htime.htypes.hutsname.hsyslog.htime.hunistd.hIntrinsicLibCopyMem.cIa32MathDivModU64x64.cMathDivS64x64.cMathDivU64x64.cMathFtol.cMathLShiftS64.cMathModU64x64.cMathRShiftU64.cMemoryIntrinsics.cOpensslLibOpensslGenincludecryptobn_conf.hdso_conf.hopensslasn1.hasn1t.hbio.hcmp.hcms.hconf.hconfiguration-ec.hconfiguration-noec.hconfiguration.hcrmf.hcrypto.hct.herr.hess.hfipskey.hlhash.hocsp.hopensslv.hpkcs12.hpkcs7.hsafestack.hsrp.hssl.hui.hx509.hx509_vfy.hx509v3.hproviderscommonderder_digests_gen.cder_ec_gen.cder_ecx_gen.cder_rsa_gen.cder_wrap_gen.cincludeprovder_digests.hder_ec.hder_ecx.hder_rsa.hder_wrap.hOpensslLibConstructor.cOpensslStubEcSm2Null.cEncoderNull.cPkcs12Null.cSslExtServNull.cSslNull.cSslStatServNull.cossl_store.crand_pool.cuefiprov.cX64ApiHooks.cbuildinf.cbuildinf.hopensslappsasn1parse.cca.cciphers.ccmp.ccms.ccrl.ccrl2pkcs7.cdgst.cdhparam.cdsa.cdsaparam.cec.cecparam.cenc.cengine.cerrstr.cfipsinstall.cgendsa.cgenpkey.cgenrsa.cincludeapp_libctx.happ_params.happs.happs_ui.hcmp_mock_srv.hec_common.hengine_loader.hfmt.hfunction.hhttp_server.hnames.hopt.hplatform.hs_apps.hvms_term_sock.hinfo.ckdf.clibapp_libctx.capp_params.capp_provider.capp_rand.capp_x509.capps.capps_ui.ccmp_mock_srv.ccolumns.cengine.cengine_loader.cfmt.chttp_server.cnames.copt.cs_cb.cs_socket.ctlssrp_depr.cvms_decc_argv.cvms_term_sock.cwin32_init.clist.cmac.cnseq.cocsp.copenssl.cpasswd.cpkcs12.cpkcs7.cpkcs8.cpkey.cpkeyparam.cpkeyutl.cprime.crand.crehash.creq.crsa.crsautl.cs_client.cs_server.cs_time.csess_id.csmime.cspeed.cspkac.csrp.cstoreutl.ctestdsa.htestrsa.htimeouts.hts.cverify.cversion.cvms_decc_init.cx509.ccryptoLPdir_nyi.cLPdir_unix.cLPdir_vms.cLPdir_win.cLPdir_win32.cLPdir_wince.caesaes_cbc.caes_cfb.caes_core.caes_ecb.caes_ige.caes_local.haes_misc.caes_ofb.caes_wrap.caes_x86core.cariaaria.carm_arch.harmcap.casn1a_bitstr.ca_d2i_fp.ca_digest.ca_dup.ca_gentm.ca_i2d_fp.ca_int.ca_mbstr.ca_object.ca_octet.ca_print.ca_sign.ca_strex.ca_strnid.ca_time.ca_type.ca_utctm.ca_utf8.ca_verify.cameth_lib.casn1_err.casn1_gen.casn1_item_list.casn1_item_list.hasn1_lib.casn1_local.hasn1_parse.casn_mime.casn_moid.casn_mstbl.casn_pack.cbio_asn1.cbio_ndef.ccharmap.hd2i_param.cd2i_pr.cd2i_pu.cevp_asn1.cf_int.cf_string.ci2d_evp.cn_pkey.cnsseq.cp5_pbe.cp5_pbev2.cp5_scrypt.cp8_pkey.cstandard_methods.ht_bitst.ct_pkey.ct_spki.ctasn_dec.ctasn_enc.ctasn_fre.ctasn_new.ctasn_prn.ctasn_scn.ctasn_typ.ctasn_utl.ctbl_standard.hx_algor.cx_bignum.cx_info.cx_int64.cx_long.cx_pkey.cx_sig.cx_spki.cx_val.casn1_dsa.casyncarchasync_null.casync_null.hasync_posix.casync_posix.hasync_win.casync_win.hasync.casync_err.casync_local.hasync_wait.cbfbf_cfb64.cbf_ecb.cbf_enc.cbf_local.hbf_ofb64.cbf_pi.hbf_skey.cbiobf_buff.cbf_lbuf.cbf_nbio.cbf_null.cbf_prefix.cbf_readbuff.cbio_addr.cbio_cb.cbio_dump.cbio_err.cbio_lib.cbio_local.hbio_meth.cbio_print.cbio_sock.cbio_sock2.cbss_acpt.cbss_bio.cbss_conn.cbss_core.cbss_dgram.cbss_fd.cbss_file.cbss_log.cbss_mem.cbss_null.cbss_sock.cossl_core_bio.cbnasmx86_64-gcc.cbn_add.cbn_asm.cbn_blind.cbn_const.cbn_conv.cbn_ctx.cbn_depr.cbn_dh.cbn_div.cbn_err.cbn_exp.cbn_exp2.cbn_gcd.cbn_gf2m.cbn_intern.cbn_kron.cbn_lib.cbn_local.hbn_mod.cbn_mont.cbn_mpi.cbn_mul.cbn_nist.cbn_ppc.cbn_prime.cbn_prime.hbn_print.cbn_rand.cbn_recp.cbn_rsa_fips186_4.cbn_shift.cbn_sparc.cbn_sqr.cbn_sqrt.cbn_srp.cbn_word.cbn_x931p.crsaz_exp.crsaz_exp.hrsaz_exp_x2.cbsearch.cbufferbuf_err.cbuffer.ccamelliacamellia.ccmll_cbc.ccmll_cfb.ccmll_ctr.ccmll_ecb.ccmll_local.hcmll_misc.ccmll_ofb.ccastc_cfb64.cc_ecb.cc_enc.cc_ofb64.cc_skey.ccast_local.hcast_s.hchachachacha_enc.cchacha_ppc.ccmaccmac.ccmpcmp_asn.ccmp_client.ccmp_ctx.ccmp_err.ccmp_hdr.ccmp_http.ccmp_local.hcmp_msg.ccmp_protect.ccmp_server.ccmp_status.ccmp_util.ccmp_vfy.ccmscms_asn1.ccms_att.ccms_cd.ccms_dd.ccms_dh.ccms_ec.ccms_enc.ccms_env.ccms_err.ccms_ess.ccms_io.ccms_kari.ccms_lib.ccms_local.hcms_pwri.ccms_rsa.ccms_sd.ccms_smime.ccompc_zlib.ccomp_err.ccomp_lib.ccomp_local.hconfconf_api.cconf_def.cconf_def.hconf_err.cconf_lib.cconf_local.hconf_mall.cconf_mod.cconf_sap.cconf_ssl.ccontext.ccore_algorithm.ccore_fetch.ccore_namemap.ccpt_err.ccpuid.ccrmfcrmf_asn.ccrmf_err.ccrmf_lib.ccrmf_local.hcrmf_pbm.ccryptlib.cctct_b64.cct_err.cct_local.hct_log.cct_oct.cct_policy.cct_prn.cct_sct.cct_sct_ctx.cct_vfy.cct_x509v3.cctype.ccversion.cder_writer.cdescbc_cksm.ccbc_enc.ccfb64ede.ccfb64enc.ccfb_enc.cdes_enc.cdes_local.hecb3_enc.cecb_enc.cfcrypt.cfcrypt_b.cncbc_enc.cofb64ede.cofb64enc.cofb_enc.cpcbc_enc.cqud_cksm.crand_key.cset_key.cspr.hstr2key.cxcbc_enc.cdhdh_ameth.cdh_asn1.cdh_backend.cdh_check.cdh_depr.cdh_err.cdh_gen.cdh_group_params.cdh_kdf.cdh_key.cdh_lib.cdh_local.hdh_meth.cdh_pmeth.cdh_prn.cdh_rfc5114.cdllmain.cdsadsa_ameth.cdsa_asn1.cdsa_backend.cdsa_check.cdsa_depr.cdsa_err.cdsa_gen.cdsa_key.cdsa_lib.cdsa_local.hdsa_meth.cdsa_ossl.cdsa_pmeth.cdsa_prn.cdsa_sign.cdsa_vrf.cdsodso_dl.cdso_dlfcn.cdso_err.cdso_lib.cdso_local.hdso_openssl.cdso_vms.cdso_win32.cebcdic.ceccurve25519.ccurve448arch_32arch_intrinsics.hf_impl.hf_impl32.carch_64arch_intrinsics.hf_impl.hf_impl64.ccurve448.ccurve448_local.hcurve448_tables.ccurve448utils.hed448.heddsa.cf_generic.cfield.hpoint_448.hscalar.cword.hec2_oct.cec2_smpl.cec_ameth.cec_asn1.cec_backend.cec_check.cec_curve.cec_cvt.cec_deprecated.cec_err.cec_key.cec_kmeth.cec_lib.cec_local.hec_mult.cec_oct.cec_pmeth.cec_print.cecdh_kdf.cecdh_ossl.cecdsa_ossl.cecdsa_sign.cecdsa_vrf.ceck_prn.cecp_mont.cecp_nist.cecp_nistp224.cecp_nistp256.cecp_nistp521.cecp_nistputil.cecp_nistz256.cecp_nistz256_table.cecp_oct.cecp_ppc.cecp_s390x_nistp.cecp_smpl.cecx_backend.cecx_backend.hecx_key.cecx_meth.cecx_s390x.cencode_decodedecoder_err.cdecoder_lib.cdecoder_meth.cdecoder_pkey.cencoder_err.cencoder_lib.cencoder_local.hencoder_meth.cencoder_pkey.cengineeng_all.ceng_cnf.ceng_ctrl.ceng_dyn.ceng_err.ceng_fat.ceng_init.ceng_lib.ceng_list.ceng_local.heng_openssl.ceng_pkey.ceng_rdrand.ceng_table.ctb_asnmth.ctb_cipher.ctb_dh.ctb_digest.ctb_dsa.ctb_eckey.ctb_pkmeth.ctb_rand.ctb_rsa.cerrerr.cerr_all.cerr_all_legacy.cerr_blocks.cerr_local.herr_prn.cessess_asn1.cess_err.cess_lib.cevpasymcipher.cbio_b64.cbio_enc.cbio_md.cbio_ok.cc_allc.cc_alld.ccmeth_lib.cctrl_params_translate.cdh_ctrl.cdh_support.cdigest.cdsa_ctrl.ce_aes.ce_aes_cbc_hmac_sha1.ce_aes_cbc_hmac_sha256.ce_aria.ce_bf.ce_camellia.ce_cast.ce_chacha20_poly1305.ce_des.ce_des3.ce_idea.ce_null.ce_old.ce_rc2.ce_rc4.ce_rc4_hmac_md5.ce_rc5.ce_seed.ce_sm4.ce_xcbc_d.cec_ctrl.cec_support.cencode.cevp_cnf.cevp_enc.cevp_err.cevp_fetch.cevp_key.cevp_lib.cevp_local.hevp_pbe.cevp_pkey.cevp_rand.cevp_utils.cexchange.ckdf_lib.ckdf_meth.ckem.ckeymgmt_lib.ckeymgmt_meth.clegacy_blake2.clegacy_md2.clegacy_md4.clegacy_md5.clegacy_md5_sha1.clegacy_mdc2.clegacy_meth.hlegacy_ripemd.clegacy_sha.clegacy_wp.cm_null.cm_sigver.cmac_lib.cmac_meth.cnames.cp5_crpt.cp5_crpt2.cp_dec.cp_enc.cp_legacy.cp_lib.cp_open.cp_seal.cp_sign.cp_verify.cpbe_scrypt.cpmeth_check.cpmeth_gn.cpmeth_lib.csignature.cex_data.cffcffc_backend.cffc_dh.cffc_key_generate.cffc_key_validate.cffc_params.cffc_params_generate.cffc_params_validate.cgetenv.chmachmac.chmac_local.hhttphttp_client.chttp_err.chttp_lib.cideai_cbc.ci_cfb64.ci_ecb.ci_ofb64.ci_skey.cidea_local.hinfo.cinit.cinitthread.ckdfkdf_err.clhashlh_stats.clhash.clhash_local.hmd2md2_dgst.cmd2_one.cmd4md4_dgst.cmd4_local.hmd4_one.cmd5md5_dgst.cmd5_local.hmd5_one.cmd5_sha1.cmdc2mdc2_one.cmdc2dgst.cmem.cmem_clr.cmem_sec.cmips_arch.hmodescbc128.cccm128.ccfb128.cctr128.ccts128.cgcm128.cocb128.cofb128.csiv128.cwrap128.cxts128.co_dir.co_fopen.co_init.co_str.co_time.cobjectso_names.cobj_compat.hobj_dat.cobj_dat.hobj_err.cobj_lib.cobj_local.hobj_xref.cobj_xref.hocspocsp_asn.cocsp_cl.cocsp_err.cocsp_ext.cocsp_http.cocsp_lib.cocsp_local.hocsp_prn.cocsp_srv.cocsp_vfy.cv3_ocsp.cpacket.cparam_build.cparam_build_set.cparams.cparams_dup.cparams_from_text.cpassphrase.cpempem_all.cpem_err.cpem_info.cpem_lib.cpem_local.hpem_oth.cpem_pk8.cpem_pkey.cpem_sign.cpem_x509.cpem_xaux.cpvkfmt.cpkcs12p12_add.cp12_asn.cp12_attr.cp12_crpt.cp12_crt.cp12_decr.cp12_init.cp12_key.cp12_kiss.cp12_local.hp12_mutl.cp12_npas.cp12_p8d.cp12_p8e.cp12_sbag.cp12_utl.cpk12err.cpkcs7bio_pk7.cpk7_asn1.cpk7_attr.cpk7_doit.cpk7_lib.cpk7_local.hpk7_mime.cpk7_smime.cpkcs7err.cpoly1305poly1305.cpoly1305_base2_44.cpoly1305_ieee754.cpoly1305_ppc.cppccap.cpropertydefn_cache.cproperty.cproperty_err.cproperty_local.hproperty_parse.cproperty_query.cproperty_string.cprovider.cprovider_child.cprovider_conf.cprovider_core.cprovider_local.hprovider_predefined.cpunycode.crandprov_seed.crand_deprecated.crand_egd.crand_err.crand_lib.crand_local.hrand_meth.crand_pool.crandfile.crc2rc2_cbc.crc2_ecb.crc2_local.hrc2_skey.crc2cfb64.crc2ofb64.crc4rc4_enc.crc4_local.hrc4_skey.crc5rc5_ecb.crc5_enc.crc5_local.hrc5_skey.crc5cfb64.crc5ofb64.cripemdrmd_dgst.crmd_local.hrmd_one.crmdconst.hrsarsa_acvp_test_params.crsa_ameth.crsa_asn1.crsa_backend.crsa_chk.crsa_crpt.crsa_depr.crsa_err.crsa_gen.crsa_lib.crsa_local.hrsa_meth.crsa_mp.crsa_mp_names.crsa_none.crsa_oaep.crsa_ossl.crsa_pk1.crsa_pmeth.crsa_prn.crsa_pss.crsa_saos.crsa_schemes.crsa_sign.crsa_sp800_56b_check.crsa_sp800_56b_gen.crsa_x931.crsa_x931g.cs390x_arch.hs390xcap.cseedseed.cseed_cbc.cseed_cfb.cseed_ecb.cseed_local.hseed_ofb.cself_test_core.cshakeccak1600.csha1_one.csha1dgst.csha256.csha3.csha512.csha_local.hsha_ppc.csiphashsiphash.csm2sm2_crypt.csm2_err.csm2_key.csm2_sign.csm3legacy_sm3.csm3.csm3_local.hsm4sm4.csparcv9cap.csparse_array.csrpsrp_lib.csrp_vfy.cstackstack.cstorestore_err.cstore_init.cstore_lib.cstore_local.hstore_meth.cstore_register.cstore_result.cstore_strings.cthreads_lib.cthreads_none.cthreads_pthread.cthreads_win.ctrace.ctsts_asn1.cts_conf.cts_err.cts_lib.cts_local.hts_req_print.cts_req_utils.cts_rsp_print.cts_rsp_sign.cts_rsp_utils.cts_rsp_verify.cts_verify_ctx.ctxt_dbtxt_db.cuiui_err.cui_lib.cui_local.hui_null.cui_openssl.cui_util.cuid.cvms_rms.hwhrlpoolwp_block.cwp_dgst.cwp_local.hx509by_dir.cby_file.cby_store.cext_dat.hpcy_cache.cpcy_data.cpcy_lib.cpcy_local.hpcy_map.cpcy_node.cpcy_tree.cstandard_exts.ht_crl.ct_req.ct_x509.cv3_addr.cv3_admis.cv3_admis.hv3_akeya.cv3_akid.cv3_asid.cv3_bcons.cv3_bitst.cv3_conf.cv3_cpols.cv3_crld.cv3_enum.cv3_extku.cv3_genn.cv3_ia5.cv3_info.cv3_int.cv3_ist.cv3_lib.cv3_ncons.cv3_pci.cv3_pcia.cv3_pcons.cv3_pku.cv3_pmaps.cv3_prn.cv3_purp.cv3_san.cv3_skid.cv3_sxnet.cv3_tlsf.cv3_utf8.cv3_utl.cv3err.cx509_att.cx509_cmp.cx509_d2.cx509_def.cx509_err.cx509_ext.cx509_local.hx509_lu.cx509_meth.cx509_obj.cx509_r2x.cx509_req.cx509_set.cx509_trust.cx509_txt.cx509_v3.cx509_vfy.cx509_vpm.cx509cset.cx509name.cx509rset.cx509spki.cx509type.cx_all.cx_attrib.cx_crl.cx_exten.cx_name.cx_pubkey.cx_req.cx_x509.cx_x509a.cdemosbioclient-arg.cclient-conf.csaccept.csconnect.cserver-arg.cserver-cmod.cserver-conf.ccipheraesccm.caesgcm.caeskeywrap.cariacbc.ccmscms_comp.ccms_ddec.ccms_dec.ccms_denc.ccms_enc.ccms_sign.ccms_sign2.ccms_uncomp.ccms_ver.cdigestBIO_f_md.cEVP_MD_demo.cEVP_MD_stdin.cEVP_MD_xof.cencodeec_encode.crsa_encode.ckdfhkdf.cpbkdf2.cscrypt.ckeyexchx25519.cmaccmac-aes256.cgmac.chmac-sha512.cpoly1305.csiphash.cpkcs12pkread.cpkwrite.cpkeyEVP_PKEY_DSA_keygen.cEVP_PKEY_DSA_paramfromdata.cEVP_PKEY_DSA_paramgen.cEVP_PKEY_DSA_paramvalidate.cEVP_PKEY_EC_keygen.cEVP_PKEY_RSA_keygen.csignatureEVP_Signature_demo.cEVP_Signature_demo.hrsa_pss.hrsa_pss_direct.crsa_pss_hash.csmimesmdec.csmenc.csmsign.csmsign2.csmver.ce_os.henginese_afalg.ce_afalg.he_afalg_err.ce_afalg_err.he_capi.ce_capi_err.ce_capi_err.he_dasync.ce_dasync_err.ce_dasync_err.he_devcrypto.ce_loader_attic.ce_loader_attic_err.ce_loader_attic_err.he_ossltest.ce_ossltest_err.ce_ossltest_err.he_padlock.cfuzzasn1.casn1parse.cbignum.cbndiv.cclient.ccmp.ccms.cconf.ccrl.cct.cdriver.cfuzz_rand.cfuzzer.hserver.ctest-corpus.cx509.cincludecryptoaes_platform.haria.hasn1.hasn1_dsa.hasn1err.hasync.hasyncerr.hbioerr.hbn.hbn_dh.hbn_srp.hbnerr.hbuffererr.hchacha.hcmll_platform.hcmperr.hcmserr.hcomperr.hconferr.hcrmferr.hcryptlib.hcryptoerr.hcterr.hctype.hdecoder.hdecodererr.hdes_platform.hdh.hdherr.hdsa.hdsaerr.hec.hecerr.hecx.hencoder.hencodererr.hengine.hengineerr.herr.hess.hesserr.hevp.hevperr.hhttperr.hlhash.hmd32_common.hmodes.hobjects.hobjectserr.hocsperr.hpem.hpemerr.hpkcs12err.hpkcs7.hpkcs7err.hpoly1305.hppc_arch.hpunycode.hrand.hrand_pool.hranderr.hrsa.hrsaerr.hsecurity_bits.hsha.hsiphash.hsiv.hsm2.hsm2err.hsm4.hsparc_arch.hsparse_array.hstore.hstoreerr.htserr.htypes.huierr.hx509.hx509err.hx509v3err.hinternalasn1.hbio.hcomp.hconf.hconstant_time.hcore.hcryptlib.hdane.hdeprecated.hder.hdso.hdsoerr.hendian.herr.hffc.hktls.hnamemap.hnelem.hnumbers.ho_dir.hpacket.hparam_build_set.hpassphrase.hproperty.hpropertyerr.hprovider.hrefcount.hsha3.hsizes.hsm3.hsockets.hsslconf.hsymhacks.hthread_once.htlsgroups.htsan_assist.hunicode.hopensslaes.hasn1_mac.hasn1err.hasync.hasyncerr.hbioerr.hblowfish.hbn.hbnerr.hbuffer.hbuffererr.hcamellia.hcast.hcmac.hcmp_util.hcmperr.hcmserr.hcomp.hcomperr.hconf_api.hconferr.hconftypes.hcore.hcore_dispatch.hcore_names.hcore_object.hcrmferr.hcryptoerr.hcryptoerr_legacy.hcterr.hdecoder.hdecodererr.hdes.hdh.hdherr.hdsa.hdsaerr.hdtls1.he_os2.hebcdic.hec.hecdh.hecdsa.hecerr.hencoder.hencodererr.hengine.hengineerr.hesserr.hevp.hevperr.hfips_names.hhmac.hhttp.hhttperr.hidea.hkdf.hkdferr.hmacros.hmd2.hmd4.hmd5.hmdc2.hmodes.hobj_mac.hobjects.hobjectserr.hocsperr.hopensslconf.hossl_typ.hparam_build.hparams.hpem.hpem2.hpemerr.hpkcs12err.hpkcs7err.hprov_ssl.hproverr.hprovider.hrand.hranderr.hrc2.hrc4.hrc5.hripemd.hrsa.hrsaerr.hseed.hself_test.hsha.hsrtp.hssl2.hssl3.hsslerr.hsslerr_legacy.hstack.hstore.hstoreerr.hsymhacks.htls1.htrace.hts.htserr.htxt_db.htypes.huierr.hwhrlpool.hx509err.hx509v3err.hmsapplink.cuplink.cuplink.hos-dephaiku.hprovidersbaseprov.ccommonbio_prov.ccapabilities.cderder_dsa_key.cder_dsa_sig.cder_ec_key.cder_ec_sig.cder_ecx_key.cder_rsa_key.cder_rsa_sig.cder_sm2_key.cder_sm2_sig.cdigest_to_nid.cincludeprovbio.hproverr.hprovider_ctx.hprovider_util.hprovidercommon.hsecuritycheck.hprovider_ctx.cprovider_err.cprovider_seeding.cprovider_util.csecuritycheck.csecuritycheck_default.csecuritycheck_fips.cdefltprov.cfipsfips_entry.cfipsprov.cself_test.cself_test.hself_test_kats.cimplementationsasymciphersrsa_enc.csm2_enc.ccipherscipher_aes.ccipher_aes.hcipher_aes_cbc_hmac_sha.ccipher_aes_cbc_hmac_sha.hcipher_aes_cbc_hmac_sha1_hw.ccipher_aes_cbc_hmac_sha256_hw.ccipher_aes_ccm.ccipher_aes_ccm.hcipher_aes_ccm_hw.ccipher_aes_gcm.ccipher_aes_gcm.hcipher_aes_gcm_hw.ccipher_aes_hw.ccipher_aes_ocb.ccipher_aes_ocb.hcipher_aes_ocb_hw.ccipher_aes_siv.ccipher_aes_siv.hcipher_aes_siv_hw.ccipher_aes_wrp.ccipher_aes_xts.ccipher_aes_xts.hcipher_aes_xts_fips.ccipher_aes_xts_hw.ccipher_aria.ccipher_aria.hcipher_aria_ccm.ccipher_aria_ccm.hcipher_aria_ccm_hw.ccipher_aria_gcm.ccipher_aria_gcm.hcipher_aria_gcm_hw.ccipher_aria_hw.ccipher_blowfish.ccipher_blowfish.hcipher_blowfish_hw.ccipher_camellia.ccipher_camellia.hcipher_camellia_hw.ccipher_cast.hcipher_cast5.ccipher_cast5_hw.ccipher_chacha20.ccipher_chacha20.hcipher_chacha20_hw.ccipher_chacha20_poly1305.ccipher_chacha20_poly1305.hcipher_chacha20_poly1305_hw.ccipher_cts.ccipher_cts.hcipher_des.ccipher_des.hcipher_des_hw.ccipher_desx.ccipher_desx_hw.ccipher_idea.ccipher_idea.hcipher_idea_hw.ccipher_null.ccipher_rc2.ccipher_rc2.hcipher_rc2_hw.ccipher_rc4.ccipher_rc4.hcipher_rc4_hmac_md5.ccipher_rc4_hmac_md5.hcipher_rc4_hmac_md5_hw.ccipher_rc4_hw.ccipher_rc5.ccipher_rc5.hcipher_rc5_hw.ccipher_seed.ccipher_seed.hcipher_seed_hw.ccipher_sm4.ccipher_sm4.hcipher_sm4_hw.ccipher_tdes.ccipher_tdes.hcipher_tdes_common.ccipher_tdes_default.ccipher_tdes_default.hcipher_tdes_default_hw.ccipher_tdes_hw.ccipher_tdes_wrap.ccipher_tdes_wrap_hw.cciphercommon.cciphercommon_block.cciphercommon_ccm.cciphercommon_ccm_hw.cciphercommon_gcm.cciphercommon_gcm_hw.cciphercommon_hw.cciphercommon_local.hdigestsblake2_impl.hblake2_prov.cblake2b_prov.cblake2s_prov.cdigestcommon.cmd2_prov.cmd4_prov.cmd5_prov.cmd5_sha1_prov.cmdc2_prov.cnull_prov.cripemd_prov.csha2_prov.csha3_prov.csm3_prov.cwp_prov.cencode_decodedecode_der2key.cdecode_epki2pki.cdecode_msblob2key.cdecode_pem2der.cdecode_pvk2key.cdecode_spki2typespki.cencode_key2any.cencode_key2blob.cencode_key2ms.cencode_key2text.cendecoder_common.cendecoder_local.hexchangedh_exch.cecdh_exch.cecx_exch.ckdf_exch.cincludeprovblake2.hciphercommon.hciphercommon_aead.hciphercommon_ccm.hciphercommon_gcm.hdigestcommon.himplementations.hkdfexchange.hmacsignature.hmd5_sha1.hnames.hseeding.hkdfshkdf.ckbkdf.ckrb5kdf.cpbkdf1.cpbkdf2.cpbkdf2.hpbkdf2_fips.cpkcs12kdf.cscrypt.csshkdf.csskdf.ctls1_prf.cx942kdf.ckemrsa_kem.ckeymgmtdh_kmgmt.cdsa_kmgmt.cec_kmgmt.cecx_kmgmt.ckdf_legacy_kmgmt.cmac_legacy_kmgmt.crsa_kmgmt.cmacsblake2_mac_impl.cblake2b_mac.cblake2s_mac.ccmac_prov.cgmac_prov.chmac_prov.ckmac_prov.cpoly1305_prov.csiphash_prov.crandscrngt.cdrbg.cdrbg_ctr.cdrbg_hash.cdrbg_hmac.cdrbg_local.hseed_src.cseedingrand_cpu_x86.crand_tsc.crand_unix.crand_vms.crand_vxworks.crand_win.ctest_rng.csignaturedsa_sig.cecdsa_sig.ceddsa_sig.cmac_legacy_sig.crsa_sig.csm2_sig.cstoremgmtfile_store.cfile_store_any2obj.cfile_store_local.hlegacyprov.cnullprov.cprov_running.csslbio_ssl.cd1_lib.cd1_msg.cd1_srtp.cktls.cmethods.cpqueue.crecorddtls1_bitmap.crec_layer_d1.crec_layer_s3.crecord.hrecord_local.hssl3_buffer.cssl3_record.cssl3_record_tls13.ctls_pad.cs3_cbc.cs3_enc.cs3_lib.cs3_msg.cssl_asn1.cssl_cert.cssl_cert_table.hssl_ciph.cssl_conf.cssl_err.cssl_err_legacy.cssl_init.cssl_lib.cssl_local.hssl_mcnf.cssl_rsa.cssl_rsa_legacy.cssl_sess.cssl_stat.cssl_txt.cssl_utst.csslerr.hstatemextensions.cextensions_clnt.cextensions_cust.cextensions_srvr.cstatem.cstatem.hstatem_clnt.cstatem_dtls.cstatem_lib.cstatem_local.hstatem_srvr.ct1_enc.ct1_lib.ct1_trce.ctls13_enc.ctls_depr.ctls_srp.ctestaborttest.cacvp_test.caesgcmtest.cafalgtest.calgorithmid_test.casn1_decode_test.casn1_dsa_internal_test.casn1_encode_test.casn1_internal_test.casn1_string_table_test.casn1_time_test.casynciotest.casynctest.cbad_dtls_test.cbftest.cbio_callback_test.cbio_core_test.cbio_enc_test.cbio_memleak_test.cbio_prefix_text.cbio_readbuffer_test.cbioprinttest.cbn_internal_test.cbn_rand_range.hbntest.ccasttest.cchacha_internal_test.ccipher_overhead_test.ccipherbytes_test.ccipherlist_test.cciphername_test.cclienthellotest.ccmactest.ccmp_asn_test.ccmp_client_test.ccmp_ctx_test.ccmp_hdr_test.ccmp_msg_test.ccmp_protect_test.ccmp_server_test.ccmp_status_test.ccmp_vfy_test.ccmsapitest.cconf_include_test.cconfdump.cconstant_time_test.ccontext_internal_test.ccrltest.cct_test.cctype_internal_test.ccurve448_internal_test.cd2i_test.cdanetest.cdefltfips_test.cdestest.cdhtest.cdrbgtest.cdsa_no_digest_size_test.cdsatest.cdtls_mtu_test.cdtlstest.cdtlsv1listentest.cec_internal_test.cecdsatest.cecdsatest.hecstresstest.cectest.cendecode_test.cendecoder_legacy_test.cenginetest.cerrtest.cevp_extra_test.cevp_extra_test2.cevp_fetch_prov_test.cevp_kdf_test.cevp_libctx_test.cevp_pkey_ctx_new_from_name.cevp_pkey_dparams_test.cevp_pkey_provided_test.cevp_test.cexdatatest.cexptest.cext_internal_test.cfake_rsaprov.cfake_rsaprov.hfatalerrtest.cffc_internal_test.cfilterprov.cfilterprov.hfips_version_test.cgmdifftest.chelperscmp_testlib.ccmp_testlib.hhandshake.chandshake.hhandshake_srp.cpkcs12.cpkcs12.hpredefined_dhparams.cpredefined_dhparams.hssl_test_ctx.cssl_test_ctx.hssltestlib.cssltestlib.hhexstr_test.chmactest.chttp_test.cideatest.cigetest.ckeymgmt_internal_test.clhash_test.clocaletest.cmdc2_internal_test.cmdc2test.cmemleaktest.cmodes_internal_test.cmoduleloadtest.cnamemap_internal_test.cnodefltctxtest.cocspapitest.cossl_store_test.cp_test.cpackettest.cparam_build_test.cparams_api_test.cparams_conversion_test.cparams_test.cpbelutest.cpbetest.cpem_read_depr_test.cpemtest.cpkcs12_format_test.cpkcs7_test.cpkey_meth_kdf_test.cpkey_meth_test.cpoly1305_internal_test.cproperty_test.cprov_config_test.cprovfetchtest.cprovider_fallback_test.cprovider_internal_test.cprovider_pkey_test.cprovider_status_test.cprovider_test.cpunycode_test.crand_status_test.crand_test.crc2test.crc4test.crc5test.crdrand_sanitytest.crecordlentest.crsa_complex.crsa_mp_test.crsa_sp800_56b_test.crsa_test.csanitytest.csecmemtest.cservername_test.csha_test.cshlibloadtest.csimpledynamic.csimpledynamic.hsiphash_internal_test.csm2_internal_test.csm3_internal_test.csm4_internal_test.csparse_array_test.csrptest.cssl_cert_table_internal_test.cssl_ctx_test.cssl_old_test.cssl_test.cssl_test_ctx_test.csslapitest.csslbuffertest.csslcorrupttest.cstack_test.csysdefaulttest.ctest_test.ctestutiltestutil.happs_shims.cbasic_output.ccb.cdriver.cfake_random.cformat_output.cload.cmain.coptions.coutput.coutput.hprovider.crandom.cstanza.ctest_cleanup.ctest_options.ctests.ctestutil_init.ctu_local.hthreadstest.cthreadstest.hthreadstest_fips.ctime_offset_test.ctls-provider.ctls13ccstest.ctls13encryptiontest.ctls13secretstest.ctrace_api_test.cuitest.cupcallstest.cuser_property_test.cv3ext.cv3nametest.cverify_extra_test.cversions.cwpackettest.cx509_check_cert_pkey_test.cx509_dup_cert_test.cx509_internal_test.cx509_time_test.cx509aux.cutilcheck-format-test-negatives.ccheck-format-test-positives.cTlsLibInternalTlsLib.hSysCallinet_pton.cTlsConfig.cTlsInit.cTlsProcess.cTlsLibNullInternalTlsLib.hTlsConfigNull.cTlsInitNull.cTlsProcessNull.cPrivateLibraryIntrinsicLib.hOpensslLib.hPpiCrypto.hProtocolCrypto.hSmmCrypto.hTestUnitTestLibraryBaseCryptLibAeadAesGcmTests.cAuthenticodeTests.cBaseCryptLibUnitTests.cBlockCipherTests.cBnTests.cDhTests.cEcTests.cHashTests.cHkdfTests.cHmacTests.cOaepEncryptTests.cParallelhashTests.cPkcs5Pbkdf2Tests.cPkcs7EkuTestSignatures.hPkcs7EkuTests.cRandTests.cRsaPkcs7Tests.cRsaPssTests.cRsaTests.cTSTests.cTestBaseCryptLib.hUnitTestMain.cX509Tests.cDebugPkgGdbSymsGdbSyms.cEmbeddedPkgApplicationAndroidBootAndroidBootApp.cAndroidFastbootAndroidBootImg.cAndroidFastbootApp.cAndroidFastbootApp.hArmBootAndroidBootImg.cDriversAndroidFastbootTransportTcpDxeFastbootTransportTcp.cAndroidFastbootTransportUsbDxeFastbootTransportUsb.cConsolePrefDxeConsolePrefDxe.cConsolePrefDxe.hDtPlatformDxeDtPlatformDxe.cDtPlatformDxe.hFdtClientDxeFdtClientDxe.cNonCoherentIoMmuDxeNonCoherentIoMmuDxe.cVirtualKeyboardDxeComponentName.cComponentName.hVirtualKeyboard.cVirtualKeyboard.hEmbeddedMonotonicCounterEmbeddedMonotonicCounter.cGdbStubArmProcessor.cGdbStub.cGdbStubInternal.hIa32Processor.cSerialIo.cX64Processor.cIncludeGuidConsolePrefFormSet.hDtPlatformDefaultDtbFile.hDtPlatformFormSet.hExtractSection.hFdt.hFdtHob.hNvVarStoreFormatted.hPlatformHasDeviceTree.hLibraryAcpiLib.hAndroidBootImgLib.hDebugAgentTimerLib.hDmaLib.hDtPlatformDtbLoaderLib.hEfiFileLib.hEfiResetSystemLib.hFdtLoadLib.hGdbSerialLib.hHalRuntimeServicesLib.hNorFlashInfoLib.hPrePiHobListPointerLib.hPrePiLib.hRealTimeClockLib.hTimeBaseLib.hPpiEmbeddedGpio.hProtocolAndroidBootImg.hAndroidFastbootPlatform.hAndroidFastbootTransport.hEmbeddedDevice.hEmbeddedExternalDevice.hEmbeddedGpio.hFdtClient.hHardwareInterrupt.hHardwareInterrupt2.hMmcHost.hPeCoffLoader.hPlatformBootManager.hPlatformVirtualKeyboard.hUsbDevice.hfdt.hlibfdt.hlibfdt_env.hLibraryAcpiLibAcpiLib.cAndroidBootImgLibAndroidBootImgLib.cCoherentDmaLibCoherentDmaLib.cDebugAgentTimerLibNullDebugAgentTimerLib.cDxeDtPlatformDtbLoaderLibDefaultDxeDtPlatformDtbLoaderLibDefault.cFdtLibfdt.cfdt_addresses.cfdt_empty_tree.cfdt_overlay.cfdt_ro.cfdt_rw.cfdt_strerror.cfdt_strtoul.cfdt_sw.cfdt_wip.clibfdt_internal.hGdbSerialDebugPortLibGdbSerialDebugPortLib.cGdbSerialLibGdbSerialLib.cNonCoherentDmaLibNonCoherentDmaLib.cNorFlashInfoLibNorFlashInfoLib.cNvVarStoreFormattedLibNvVarStoreFormattedLib.cPlatformHasAcpiLibPlatformHasAcpiLib.cPrePiExtractGuidedSectionLibPrePiExtractGuidedSectionLib.cPrePiHobLibHob.cPrePiLibFwVol.cPrePi.hPrePiLib.cPrePiMemoryAllocationLibMemoryAllocationLib.cTemplateRealTimeClockLibRealTimeClockLib.cTemplateResetSystemLibResetSystemLib.cTimeBaseLibTimeBaseLib.cVirtualRealTimeClockLibVirtualRealTimeClockLib.cMetronomeDxeMetronome.cRealTimeClockRuntimeDxeRealTimeClock.cResetRuntimeDxereset.cSimpleTextInOutSerialSimpleTextInOut.cUniversalMmcDxeComponentName.cDiagnostics.cMmc.cMmc.hMmcBlockIo.cMmcDebug.cMmcIdentification.cFatPkgEnhancedFatDxeComponentName.cData.cDelete.cDirectoryCache.cDirectoryManage.cDiskCache.cFat.cFat.hFatFileSystem.hFileName.cFileSpace.cFlush.cHash.cInfo.cInit.cMisc.cOpen.cOpenVolume.cReadWrite.cUnicodeCollation.cFatPeiEltorito.cFatLiteAccess.cFatLiteApi.cFatLiteApi.hFatLiteFmt.hFatLiteLib.cFatLitePeim.hGpt.cMbr.cPart.cMdeModulePkgApplicationBootManagerMenuAppBootManagerMenu.cBootManagerMenu.hCapsuleAppAppSupport.cCapsuleApp.cCapsuleApp.hCapsuleDump.cCapsuleOnDisk.cDumpDynPcdDumpDynPcd.cHelloWorldHelloWorld.cMemoryProfileInfoMemoryProfileInfo.cSmiHandlerProfileInfoSmiHandlerProfileInfo.cUiAppFrontPage.cFrontPage.hFrontPageCustomizedUi.cFrontPageCustomizedUi.hFrontPageCustomizedUiSupport.cFrontPageCustomizedUiSupport.hString.cString.hUi.hVariableInfoVariableInfo.cBusAtaAhciPeiAhciMode.cAhciPei.cAhciPei.hAhciPeiBlockIo.cAhciPeiBlockIo.hAhciPeiPassThru.cAhciPeiPassThru.hAhciPeiS3.cAhciPeiStorageSecurity.cAhciPeiStorageSecurity.hDevicePath.cDmaMem.cAtaAtapiPassThruAhciMode.cAhciMode.hAtaAtapiPassThru.cAtaAtapiPassThru.hComponentName.cIdeMode.cIdeMode.hAtaBusDxeAtaBus.cAtaBus.hAtaPassThruExecute.cComponentName.cI2cI2cDxeI2cBus.cI2cDxe.cI2cDxe.hI2cHost.cIsaIsaBusDxeComponentName.cComponentName.hIsaBusDxe.cIsaBusDxe.hPs2KeyboardDxeComponentName.cPs2KbdCtrller.cPs2KbdTextIn.cPs2Keyboard.cPs2Keyboard.hPs2MouseDxeCommPs2.cCommPs2.hComponentName.cPs2Mouse.cPs2Mouse.hPciEhciDxeComponentName.cComponentName.hEhci.cEhci.hEhciDebug.cEhciDebug.hEhciReg.cEhciReg.hEhciSched.cEhciSched.hEhciUrb.cEhciUrb.hUsbHcMem.cUsbHcMem.hEhciPeiDmaMem.cEhcPeim.cEhcPeim.hEhciReg.hEhciSched.cEhciSched.hEhciUrb.cEhciUrb.hUsbHcMem.cUsbHcMem.hIdeBusPeiAtapiPeim.cAtapiPeim.hIncompatiblePciDeviceSupportDxeIncompatiblePciDeviceSupport.cNonDiscoverablePciDeviceDxeComponentName.cNonDiscoverablePciDeviceDxe.cNonDiscoverablePciDeviceIo.cNonDiscoverablePciDeviceIo.hNvmExpressDxeComponentName.cNvmExpress.cNvmExpress.hNvmExpressBlockIo.cNvmExpressBlockIo.hNvmExpressDiskInfo.cNvmExpressDiskInfo.hNvmExpressHci.cNvmExpressHci.hNvmExpressPassthru.cNvmExpressPeiDevicePath.cDmaMem.cNvmExpressPei.cNvmExpressPei.hNvmExpressPeiBlockIo.cNvmExpressPeiBlockIo.hNvmExpressPeiHci.cNvmExpressPeiHci.hNvmExpressPeiPassThru.cNvmExpressPeiPassThru.hNvmExpressPeiS3.cNvmExpressPeiStorageSecurity.cNvmExpressPeiStorageSecurity.hPciBusDxeComponentName.cComponentName.hPciBus.cPciBus.hPciCommand.cPciCommand.hPciDeviceSupport.cPciDeviceSupport.hPciDriverOverride.cPciDriverOverride.hPciEnumerator.cPciEnumerator.hPciEnumeratorSupport.cPciEnumeratorSupport.hPciHotPlugSupport.cPciHotPlugSupport.hPciIo.cPciIo.hPciLib.cPciLib.hPciOptionRomSupport.cPciOptionRomSupport.hPciPowerManagement.cPciPowerManagement.hPciResourceSupport.cPciResourceSupport.hPciRomTable.cPciRomTable.hPciHostBridgeDxePciHostBridge.cPciHostBridge.hPciHostResource.hPciRootBridge.hPciRootBridgeIo.cPciSioSerialDxeComponentName.cSerial.cSerial.hSerialIo.cSataControllerDxeComponentName.cSataController.cSataController.hSdMmcPciHcDxeComponentName.cEmmcDevice.cSdDevice.cSdMmcPciHcDxe.cSdMmcPciHcDxe.hSdMmcPciHci.cSdMmcPciHci.hSdMmcPciHcPeiSdMmcPciHcPei.cSdMmcPciHcPei.hUfsPciHcDxeComponentName.cUfsPciHcDxe.cUfsPciHcDxe.hUfsPciHcPeiUfsPciHcPei.cUfsPciHcPei.hUhciDxeComponentName.cComponentName.hUhci.cUhci.hUhciDebug.cUhciDebug.hUhciQueue.cUhciQueue.hUhciReg.cUhciReg.hUhciSched.cUhciSched.hUsbHcMem.cUsbHcMem.hUhciPeiDmaMem.cUhcPeim.cUhcPeim.hXhciDxeComponentName.cComponentName.hUsbHcMem.cUsbHcMem.hXhci.cXhci.hXhciReg.cXhciReg.hXhciSched.cXhciSched.hXhciPeiDmaMem.cUsbHcMem.cUsbHcMem.hXhcPeim.cXhcPeim.hXhciReg.hXhciSched.cXhciSched.hScsiScsiBusDxeComponentName.cScsiBus.cScsiBus.hScsiDiskDxeComponentName.cScsiDisk.cScsiDisk.hSdEmmcBlockIoPeiDmaMem.cEmmcBlockIoPei.cEmmcBlockIoPei.hEmmcHcMem.cEmmcHcMem.hEmmcHci.cEmmcHci.hEmmcDxeComponentName.cEmmcBlockIo.cEmmcBlockIo.hEmmcDiskInfo.cEmmcDiskInfo.hEmmcDxe.cEmmcDxe.hSdBlockIoPeiDmaMem.cSdBlockIoPei.cSdBlockIoPei.hSdHcMem.cSdHcMem.hSdHci.cSdHci.hSdDxeComponentName.cSdBlockIo.cSdBlockIo.hSdDiskInfo.cSdDiskInfo.hSdDxe.cSdDxe.hUfsUfsBlockIoPeiDmaMem.cUfsBlockIoPei.cUfsBlockIoPei.hUfsHcMem.cUfsHcMem.hUfsHci.cUfsHci.hUfsPassThruDxeComponentName.cUfsDevConfigProtocol.cUfsPassThru.cUfsPassThru.hUfsPassThruHci.cUfsPassThruHci.hUsbUsbBotPeiBotPeim.cBotPeim.hPeiAtapi.cPeiUsbLib.cPeiUsbLib.hUsbBotPeim.cUsbBotPeim.hUsbPeim.hUsbBusDxeComponentName.cUsbBus.cUsbBus.hUsbDesc.cUsbDesc.hUsbEnumer.cUsbEnumer.hUsbHub.cUsbHub.hUsbUtility.cUsbUtility.hUsbBusPeiHubPeim.cHubPeim.hPeiUsbLib.cPeiUsbLib.hUsbIoPeim.cUsbPeim.cUsbPeim.hUsbKbDxeComponentName.cEfiKey.cEfiKey.hKeyBoard.cKeyBoard.hUsbMassStorageDxeComponentName.cUsbMass.hUsbMassBoot.cUsbMassBoot.hUsbMassBot.cUsbMassBot.hUsbMassCbi.cUsbMassCbi.hUsbMassDiskInfo.cUsbMassDiskInfo.hUsbMassImpl.cUsbMassImpl.hUsbMouseAbsolutePointerDxeComponentName.cMouseHid.cUsbMouseAbsolutePointer.cUsbMouseAbsolutePointer.hUsbMouseDxeComponentName.cMouseHid.cUsbMouse.cUsbMouse.hUsbNetworkNetworkCommonComponentName.cDriverBinding.cDriverBinding.hPxeFunction.cUsbCdcEcmComponentName.cUsbCdcEcm.cUsbCdcEcm.hUsbEcmFunction.cUsbCdcNcmComponentName.cUsbCdcNcm.cUsbCdcNcm.hUsbNcmFunction.cUsbRndisComponentName.cUsbRndis.cUsbRndis.hUsbRndisFunction.cCoreDxeDispatcherDependency.cDispatcher.cDxeMainDxeMain.hDxeMain.cDxeProtocolNotify.cEventEvent.cEvent.hTimer.cTpl.cFwVolFfs.cFwVol.cFwVolAttrib.cFwVolDriver.hFwVolRead.cFwVolWrite.cFwVolBlockFwVolBlock.cFwVolBlock.hGcdGcd.cGcd.hHandDriverSupport.cHandle.cHandle.hLocate.cNotify.cImageImage.cImage.hLibraryLibrary.cMemHeapGuard.cHeapGuard.hImem.hMemData.cMemoryProfileRecord.cPage.cPool.cMiscDebugImageInfo.cInstallConfigurationTable.cMemoryAttributesTable.cMemoryProtection.cSetWatchdogTimer.cStall.cSectionExtractionCoreSectionExtraction.cDxeIplPeimDxeHandoff.cDxeIpl.hDxeLoad.cIa32DxeLoadFunc.cX64DxeLoadFunc.cVirtualMemory.cVirtualMemory.hPeiBootModeBootMode.cCpuIoCpuIo.cDependencyDependency.cDependency.hDispatcherDispatcher.cFwVolFwVol.cFwVol.hHobHob.cImageImage.cMemoryMemoryServices.cPciCfg2PciCfg2.cPeiMainPeiMain.hPeiMain.cPpiPpi.cResetReset.cSecuritySecurity.cStatusCodeStatusCode.cPiSmmCoreDependency.cDispatcher.cHandle.cHeapGuard.cHeapGuard.hInstallConfigurationTable.cLocate.cMemoryAttributesTable.cNotify.cPage.cPiSmmCore.cPiSmmCore.hPiSmmCorePrivateData.hPiSmmIpl.cPool.cSmi.cSmiHandlerProfile.cSmramProfileRecord.cRuntimeDxeCrc32.cRuntime.cRuntime.hIncludeGuidAcpiS3Context.hBootDiscoveryPolicy.hBootScriptExecutorVariable.hCapsuleVendor.hConnectConInEvent.hConsoleInDevice.hConsoleOutDevice.hCrc32GuidedSectionExtraction.hDebugMask.hDriverSampleHii.hEndOfS3Resume.hEventExitBootServiceFailed.hExtendedFirmwarePerformance.hFaultTolerantWrite.hFirmwarePerformance.hHiiBootMaintenanceFormset.hHiiResourceSampleHii.hIdleLoopEvent.hLoadModuleAtFixedAddress.hLzmaDecompress.hMdeModuleHii.hMdeModulePkgTokenSpace.hMemoryProfile.hMemoryStatusCodeRecord.hMemoryTypeInformation.hMigratedFvInfo.hMtcVendor.hNonDiscoverableDevice.hPcdDataBaseHobGuid.hPcdDataBaseSignatureGuid.hPerformance.hPerformanceMeasurement.hPiSmmCommunicationRegionTable.hPiSmmMemoryAttributesTable.hPlatDriOverrideHii.hPlatformHasAcpi.hRamDiskHii.hRecoveryDevice.hS3SmmInitDone.hS3StorageDeviceInitList.hSerialPortLibVendor.hSmiHandlerProfile.hSmmLockBox.hSmmVariableCommon.hStandardErrorDevice.hStatusCodeCallbackGuid.hStatusCodeDataTypeDebug.hStatusCodeDataTypeVariable.hSystemNvDataGuid.hTraceHubDebugInfoHob.hTtyTerm.hUsbKeyBoardLayout.hVarCheckPolicyMmi.hVarErrorFlag.hVariableFlashInfo.hVariableFormat.hVariableIndexTable.hZeroGuid.hLibraryAuthVariableLib.hBmpSupportLib.hBootLogoLib.hCapsuleLib.hCpuExceptionHandlerLib.hCustomizedDisplayLib.hDebugAgentLib.hDisplayUpdateProgressLib.hFileExplorerLib.hFmpAuthenticationLib.hFrameBufferBltLib.hHiiLib.hIpmiCommandLib.hIpmiLib.hLockBoxLib.hMemoryProfileLib.hNonDiscoverableDeviceRegistrationLib.hOemHookStatusCodeLib.hPciHostBridgeLib.hPlatformBootManagerLib.hPlatformHookLib.hPlatformVarCleanupLib.hResetSystemLib.hResetUtilityLib.hSecurityManagementLib.hSmmCorePlatformHookLib.hSortLib.hTpmMeasurementLib.hUefiBootManagerLib.hUefiHiiServicesLib.hVarCheckLib.hVariableFlashInfoLib.hVariablePolicyHelperLib.hVariablePolicyLib.hPiPrePiDxeCis.hPrePiHob.hPpiAtaAhciController.hAtaController.hAtaPassThru.hCapsuleOnDisk.hDebug.hFirmwareVolumeShadowPpi.hIoMmu.hIpmiPpi.hMemoryAttribute.hNvmExpressHostController.hNvmExpressPassThru.hPciDevice.hPlatformSpecificResetFilter.hPlatformSpecificResetHandler.hPlatformSpecificResetNotification.hPostBootScriptTable.hSdMmcHostController.hSecPerformance.hSerialPortPei.hSmmAccess.hSmmCommunication.hSmmControl.hStorageSecurityCommand.hUfsHostController.hUsb2HostController.hUsbController.hUsbHostController.hUsbIo.hProtocolAtaAtapiPolicy.hBootLogo.hBootLogo2.hDebuggerConfiguration.hDeviceSecurity.hDisplayProtocol.hEbcSimpleDebugger.hEbcVmTest.hEsrtManagement.hFaultTolerantWrite.hFileExplorer.hFirmwareManagementProgress.hFormBrowserEx.hFormBrowserEx2.hGenericMemoryTest.hIoMmu.hIpmiProtocol.hLoadPe32Image.hLockBox.hNonDiscoverableDevice.hPeCoffImageEmulator.hPlatformBootManager.hPlatformLogo.hPlatformSpecificResetFilter.hPlatformSpecificResetHandler.hPrint2.hPs2Policy.hSdMmcOverride.hSmmExitBootServices.hSmmFaultTolerantWrite.hSmmFirmwareVolumeBlock.hSmmLegacyBoot.hSmmMemoryAttribute.hSmmReadyToBoot.hSmmSwapAddressRange.hSmmVarCheck.hSmmVariable.hSwapAddressRange.hUfsHostController.hUfsHostControllerPlatform.hUsbEthernetProtocol.hVarCheck.hVariableLock.hVariablePolicy.hUniversalPayloadAcpiTable.hExtraData.hPciRootBridges.hSerialPortInfo.hSmbiosTable.hUniversalPayload.hLibraryAuthVariableLibNullAuthVariableLibNull.cBaseBmpSupportLibBmpSupportLib.cBaseHobLibNullBaseHobLibNull.cBaseIpmiCommandLibNullIpmiCommandLibNetFnApp.cIpmiCommandLibNetFnChassis.cIpmiCommandLibNetFnStorage.cIpmiCommandLibNetFnTransport.cBaseIpmiLibNullBaseIpmiLibNull.cBaseMemoryAllocationLibNullBaseMemoryAllocationLibNull.cBasePlatformHookLibNullBasePlatformHookLibNull.cBaseResetSystemLibNullBaseResetSystemLibNull.cBaseSerialPortLib16550BaseSerialPortLib16550.cBaseSortLibBaseSortLib.cBaseVariableFlashInfoLibBaseVariableFlashInfoLib.cBootDiscoveryPolicyUiLibBootDiscoveryPolicyUiLib.cBootLogoLibBootLogoLib.cBootMaintenanceManagerUiLibBmLib.cBootMaintenance.cBootMaintenanceManager.hBootMaintenanceManagerCustomizedUi.cBootMaintenanceManagerCustomizedUi.hBootMaintenanceManagerCustomizedUiSupport.cBootMaintenanceManagerCustomizedUiSupport.hBootOption.cConsoleOption.cData.cFormGuid.hUpdatePage.cVariable.cBootManagerUiLibBootManager.cBootManager.hBrotliCustomDecompressLibBrotliDecUefiSupport.cBrotliDecUefiSupport.hBrotliDecompress.cBrotliDecompressLibInternal.hGuidedSectionExtraction.cstddef.hstdint.hstdlib.hstring.hCpuExceptionHandlerLibNullCpuExceptionHandlerLibNull.cCustomizedDisplayLibColors.hCustomizedDisplayLib.cCustomizedDisplayLibInternal.cCustomizedDisplayLibInternal.hDebugAgentLibNullDebugAgentLibNull.cDeviceManagerUiLibDeviceManager.cDeviceManager.hDisplayUpdateProgressLibGraphicsDisplayUpdateProgressLibGraphics.cDisplayUpdateProgressLibTextDisplayUpdateProgressLibText.cDxeCapsuleLibFmpCapsuleOnDisk.cCapsuleOnDisk.hDxeCapsuleLib.cDxeCapsuleProcessLib.cDxeCapsuleProcessLibNull.cDxeCapsuleReportLib.cDxeCapsuleReportLibNull.cDxeCapsuleRuntime.cDxeCapsuleLibNullDxeCapsuleLibNull.cDxeCoreMemoryAllocationLibDxeCoreMemoryAllocationServices.hDxeCoreMemoryProfileLib.cDxeCoreMemoryProfileLibNull.cDxeCoreMemoryProfileServices.hMemoryAllocationLib.cDxeCorePerformanceLibDxeCorePerformanceLib.cDxeCorePerformanceLibInternal.hDxeCrc32GuidedSectionExtractLibDxeCrc32GuidedSectionExtractLib.cDxeDebugPrintErrorLevelLibDxeDebugPrintErrorLevelLib.cDxeFileExplorerProtocolDxeFileExplorerProtocol.cDxeIpmiLibIpmiProtocolDxeIpmiLibIpmiProtocol.cDxePerformanceLibDxePerformanceLib.cDxePrintLibPrint2ProtocolPrintLib.cDxeReportStatusCodeLibReportStatusCodeLib.cDxeResetSystemLibDxeResetSystemLib.cUnitTestDxeResetSystemLibUnitTest.cMockUefiRuntimeServicesTableLib.cDxeSecurityManagementLibDxeSecurityManagementLib.cFileExplorerLibFileExplorer.cFileExplorer.hFormGuid.hFmpAuthenticationLibNullFmpAuthenticationLibNull.cFrameBufferBltLibFrameBufferBltLib.cLockBoxNullLibLockBoxNullLib.cLzmaCustomDecompressLibF86GuidedSectionExtraction.cGuidedSectionExtraction.cLzmaDecompress.cLzmaDecompressLibInternal.hSdkC7zTypes.h7zVersion.hBra.hBra86.cCompiler.hCpuArch.hLzFind.cLzFind.hLzHash.hLzmaDec.cLzmaDec.hPrecomp.hUefiLzma.hNonDiscoverableDeviceRegistrationLibNonDiscoverableDeviceRegistrationLib.cOemHookStatusCodeLibNullOemHookStatusCodeLibNull.cPciHostBridgeLibNullPciHostBridgeLibNull.cPeiCrc32GuidedSectionExtractLibPeiCrc32GuidedSectionExtractLib.cPeiDebugLibDebugPpiDebugLib.cPeiDebugPrintHobLibPeiDebugPrintHobLib.cPeiDxeDebugLibReportStatusCodeDebugLib.cPeiIpmiLibIpmiPpiPeiIpmiLibIpmiPpi.cPeiPerformanceLibPeiPerformanceLib.cPeiReportStatusCodeLibReportStatusCodeLib.cPeiResetSystemLibPeiResetSystemLib.cPiDxeS3BootScriptLibBootScriptExecute.cBootScriptInternalFormat.hBootScriptSave.cInternalBootScriptLib.hPiSmmCoreMemoryAllocationLibMemoryAllocationLib.cPiSmmCoreMemoryAllocationServices.hPiSmmCoreMemoryProfileLib.cPiSmmCoreMemoryProfileLibNull.cPiSmmCoreMemoryProfileServices.hPiSmmCoreSmmServicesTableLibPiSmmCoreSmmServicesTableLib.cPlatformBootManagerLibNullPlatformBootManager.cPlatformHookLibSerialPortPpiPlatformHookLibSerialPortPpi.cPlatformVarCleanupLibPlatVarCleanup.hPlatVarCleanupHii.hPlatVarCleanupLib.cResetUtilityLibResetUtility.cRuntimeDxeReportStatusCodeLibReportStatusCodeLib.cRuntimeResetSystemLibRuntimeResetSystemLib.cSmmCorePerformanceLibSmmCorePerformanceLib.cSmmCorePerformanceLibInternal.hSmmCorePlatformHookLibNullSmmCorePlatformHookLibNull.cSmmIpmiLibSmmIpmiProtocolSmmIpmiLibSmmIpmiProtocol.cSmmLockBoxLibSmmLockBoxDxeLib.cSmmLockBoxLibPrivate.hSmmLockBoxMmLib.cSmmLockBoxPeiLib.cSmmLockBoxStandaloneMmLib.cSmmLockBoxTraditionalMmLib.cSmmMemoryAllocationProfileLibMemoryAllocationLib.cSmmMemoryProfileLib.cSmmPerformanceLibSmmPerformanceLib.cSmmReportStatusCodeLibReportStatusCodeLib.cReportStatusCodeLib.hReportStatusCodeLibStandaloneMm.cReportStatusCodeLibTraditional.cSmmSmiHandlerProfileLibMmSmiHandlerProfileLib.cMmSmiHandlerProfileLib.hSmmSmiHandlerProfileLib.cStandaloneMmSmiHandlerProfileLib.cTpmMeasurementLibNullTpmMeasurementLibNull.cTraceHubDebugSysTLibBaseTraceHubDebugSysTLib.cDxeSmmTraceHubDebugSysTLib.cInternalTraceHubApi.cInternalTraceHubApi.hInternalTraceHubApiCommon.cInternalTraceHubApiCommon.hPeiTraceHubDebugSysTLib.cUefiBootManagerLibBmBoot.cBmBootDescription.cBmConnect.cBmConsole.cBmDriverHealth.cBmHotkey.cBmLoadOption.cBmMisc.cInternalBm.hUefiHiiLibHiiLanguage.cHiiLib.cHiiString.cInternalHiiLib.hUefiHiiServicesLibUefiHiiServicesLib.cUefiMemoryAllocationProfileLibDxeMemoryProfileLib.cMemoryAllocationLib.cUefiSortLibUefiSortLib.cUnitTestUefiSortLibUnitTest.cVarCheckHiiLibInternalVarCheckStructure.hVarCheckHii.hVarCheckHiiGen.cVarCheckHiiGen.hVarCheckHiiGenFromFv.cVarCheckHiiGenFromHii.cVarCheckHiiLibNullClass.cVarCheckLibVarCheckLib.cVarCheckPcdLibVarCheckPcdLibNullClass.cVarCheckPcdStructure.hVarCheckPolicyLibVarCheckPolicyLib.cVarCheckPolicyLib.hVarCheckPolicyLibStandaloneMm.cVarCheckPolicyLibTraditional.cVarCheckUefiLibVarCheckUefiLibNullClass.cVariablePolicyHelperLibVariablePolicyHelperLib.cVariablePolicyLibVariablePolicyExtraInitNull.cVariablePolicyExtraInitRuntimeDxe.cVariablePolicyLib.cLogoLogo.cTestMockIncludeGoogleTestLibraryMockPciHostBridgeLib.hUniversalAcpiAcpiPlatformDxeAcpiPlatform.cAcpiTableDxeAcpiSdt.cAcpiSdt.hAcpiTable.cAcpiTable.hAcpiTableProtocol.cAml.cAmlChild.cAmlNamespace.cAmlOption.cAmlString.cBootGraphicsResourceTableDxeBootGraphicsResourceTableDxe.cBootScriptExecutorDxeIA32SetIdtEntry.cScriptExecute.cScriptExecute.hX64SetIdtEntry.cFirmwarePerformanceDataTableDxeFirmwarePerformanceDxe.cFirmwarePerformanceDataTablePeiFirmwarePerformancePei.cFirmwarePerformanceDataTableSmmFirmwarePerformanceCommon.cFirmwarePerformanceCommon.hFirmwarePerformanceStandaloneMm.cFirmwarePerformanceTraditional.cS3SaveStateDxeAcpiS3ContextSave.cInternalS3SaveState.hS3SaveState.cSmmS3SaveStateInternalSmmSaveState.hSmmS3SaveState.cBdsDxeBds.hBdsEntry.cHwErrRecSupport.cHwErrRecSupport.hLanguage.cLanguage.hBootManagerPolicyDxeBootManagerPolicyDxe.cCapsuleOnDiskLoadPeiCapsuleOnDiskLoadPei.cCapsulePeiCapsule.hCommonCapsuleCoalesce.cCommonHeader.hUefiCapsule.cX64X64Entry.cCapsuleRuntimeDxeArmCapsuleReset.cCapsuleCache.cCapsuleCacheNull.cCapsuleReset.cCapsuleService.cCapsuleService.hSaveLongModeContext.cX64SaveLongModeContext.cConsoleConPlatformDxeComponentName.cConPlatform.cConPlatform.hConSplitterDxeComponentName.cConSplitter.cConSplitter.hConSplitterGraphics.cGraphicsConsoleDxeComponentName.cGraphicsConsole.cGraphicsConsole.hLaffStd.cGraphicsOutputDxeComponentName.cGraphicsOutput.cGraphicsOutput.hTerminalDxeAnsi.cComponentName.cTerminal.cTerminal.hTerminalConIn.cTerminalConOut.cVtutf8.cDebugPortDxeComponentName.cDebugPort.cDebugPort.hDebugServicePeiDebugService.hDebugServicePei.cDebugSupportDxeDebugSupport.cIa32DebugSupport.hPlDebugSupport.cPlDebugSupport.hPlDebugSupportIa32.cX64PlDebugSupport.hPlDebugSupportX64.cDevicePathDxeDevicePath.cDiskCdExpressPeiPeiCdExpress.cPeiCdExpress.hDiskIoDxeComponentName.cDiskIo.cDiskIo.hPartitionDxeComponentName.cElTorito.cGpt.cMbr.cPartition.cPartition.hUdf.cRamDiskDxeRamDiskBlockIo.cRamDiskDriver.cRamDiskFileExplorer.cRamDiskImpl.cRamDiskImpl.hRamDiskNVData.hRamDiskProtocol.cUdfDxeComponentName.cFile.cFileName.cFileSystemOperations.cUdf.cUdf.hUnicodeCollationEnglishDxeUnicodeCollationEng.cUnicodeCollationEng.hDisplayEngineDxeFormDisplay.cFormDisplay.hInputHandler.cPopup.cProcessOptions.cDriverHealthManagerDxeDriverHealthManagerDxe.cDriverHealthManagerDxe.hDriverHealthManagerVfr.hDriverSampleDxeDriverSample.cDriverSample.hNVDataStruc.hEbcDxeAArch64EbcSupport.cEbcDebuggerEbcDebuggerConfig.cEdb.cEdb.hEdbCmdBranch.cEdbCmdBreak.cEdbCmdBreakpoint.cEdbCmdExtIo.cEdbCmdExtPci.cEdbCmdGo.cEdbCmdHelp.cEdbCmdMemory.cEdbCmdQuit.cEdbCmdRegister.cEdbCmdScope.cEdbCmdStep.cEdbCmdSymbol.cEdbCommand.cEdbCommand.hEdbCommon.hEdbDisasm.cEdbDisasm.hEdbDisasmSupport.cEdbDisasmSupport.hEdbHook.cEdbHook.hEdbSupport.hEdbSupportFile.cEdbSupportString.cEdbSupportUI.cEdbSymbol.cEdbSymbol.hEbcDebuggerHook.cEbcDebuggerHook.hEbcExecute.cEbcExecute.hEbcInt.cEbcInt.hIa32EbcSupport.cX64EbcSupport.cEsrtDxeEsrtDxe.cEsrtImpl.cEsrtImpl.hEsrtFmpDxeEsrtFmp.cEsrtFmpDebugPrint.cFaultTolerantWriteDxeFaultTolerantWrite.cFaultTolerantWrite.hFaultTolerantWriteDxe.cFaultTolerantWriteSmm.cFaultTolerantWriteSmmCommon.hFaultTolerantWriteSmmDxe.cFaultTolerantWriteSmmDxe.hFaultTolerantWriteStandaloneMm.cFaultTolerantWriteTraditionalMm.cFtwMisc.cUpdateWorkingBlock.cFaultTolerantWritePeiFaultTolerantWritePei.cFileExplorerDxeFileExplorerDxe.cFvSimpleFileSystemDxeComponentName.cFvSimpleFileSystem.cFvSimpleFileSystemEntryPoint.cFvSimpleFileSystemInternal.hHiiDatabaseDxeConfigKeywordHandler.cConfigRouting.cDatabase.cFont.cHiiDatabase.hHiiDatabaseEntry.cImage.cImageEx.cString.cHiiResourcesSampleDxeHiiResourcesSample.cLegacyRegion2DxeLegacyRegion2.cLegacyRegion2.hLoadFileOnFv2LoadFileOnFv2.cLockBoxSmmLockBoxSmmLockBox.cMemoryTestGenericMemoryTestDxeLightMemoryTest.cLightMemoryTest.hNullMemoryTestDxeNullMemoryTest.cNullMemoryTest.hMetronomeMetronome.cMetronome.hMonotonicCounterRuntimeDxeMonotonicCounter.cPCDDxePcd.cService.cService.hPeiPcd.cService.cService.hPcatSingleSegmentPciCfg2PeiPciCfg2.cPlatformDriOverrideDxeInternalPlatDriOverrideDxe.hPlatDriOverrideDxe.cPlatDriOverrideLib.cPlatOverMngr.hPrintDxePrint.cRegularExpressionDxeOnigurumaUefiPort.cOnigurumaUefiPort.hRegularExpressionDxe.cRegularExpressionDxe.hconfig.honigurumasrcascii.cbig5.ccp1251.ceuc_jp.ceuc_jp_prop.ceuc_kr.ceuc_tw.cgb18030.ciso8859_1.ciso8859_10.ciso8859_11.ciso8859_13.ciso8859_14.ciso8859_15.ciso8859_16.ciso8859_2.ciso8859_3.ciso8859_4.ciso8859_5.ciso8859_6.ciso8859_7.ciso8859_8.ciso8859_9.ckoi8.ckoi8_r.cmktable.conig_init.coniggnu.honigposix.honiguruma.hregcomp.cregenc.cregenc.hregerror.cregexec.cregext.creggnu.cregint.hregparse.cregparse.hregposerr.cregposix.cregsyntax.cregtrav.cregversion.csjis.csjis_prop.cst.cst.hunicode.cunicode_egcb_data.cunicode_fold1_key.cunicode_fold2_key.cunicode_fold3_key.cunicode_fold_data.cunicode_property_data.cunicode_property_data_posix.cunicode_unfold_key.cunicode_wb_data.cutf16_be.cutf16_le.cutf32_be.cutf32_le.cutf8.cstdarg.hstddef.hstdio.hstdlib.hstring.hReportStatusCodeRouterPeiReportStatusCodeRouterPei.cReportStatusCodeRouterPei.hRuntimeDxeReportStatusCodeRouterRuntimeDxe.cReportStatusCodeRouterRuntimeDxe.hSmmReportStatusCodeRouterCommon.cReportStatusCodeRouterCommon.hReportStatusCodeRouterStandaloneMm.cReportStatusCodeRouterTraditional.cResetSystemPeiResetSystem.cResetSystem.hResetSystemRuntimeDxeResetSystem.cResetSystem.hSectionExtractionDxeSectionExtractionDxe.cSectionExtractionPeiSectionExtractionPei.cSecurityStubDxeDefer3rdPartyImageLoad.cDefer3rdPartyImageLoad.hSecurityStub.cSerialDxeSerialIo.cSetupBrowserDxeExpression.cExpression.hIfrParse.cPresentation.cSetup.cSetup.hSmbiosDxeSmbiosDxe.cSmbiosDxe.hSmbiosMeasurementDxeSmbiosMeasurementDxe.cSmmCommunicationBufferDxeSmmCommunicationBufferDxe.cStatusCodeHandlerPeiMemoryStausCodeWorker.cSerialStatusCodeWorker.cStatusCodeHandlerPei.cStatusCodeHandlerPei.hRuntimeDxeMemoryStatusCodeWorker.cSerialStatusCodeWorker.cStatusCodeHandlerRuntimeDxe.cStatusCodeHandlerRuntimeDxe.hSmmMemoryStatusCodeWorker.cSerialStatusCodeWorker.cStatusCodeHandlerMm.cStatusCodeHandlerMm.hStatusCodeHandlerStandalone.cStatusCodeHandlerTraditional.cTimestampDxeTimestampDxe.cVariableMmVariablePeiMmVariablePei.cMmVariablePei.hPeiVariable.cVariable.hRuntimeDxeMeasurement.cPrivilegePolymorphic.hReclaim.cRuntimeDxeUnitTestVariableLockRequestToLockUnitTest.cSpeculationBarrierDxe.cSpeculationBarrierSmm.cTcgMorLockDxe.cTcgMorLockSmm.cVarCheck.cVariable.cVariable.hVariableDxe.cVariableExLib.cVariableLockRequestToLock.cVariableNonVolatile.cVariableNonVolatile.hVariableParsing.cVariableParsing.hVariablePolicySmmDxe.cVariableRuntimeCache.cVariableRuntimeCache.hVariableSmm.cVariableSmmRuntimeDxe.cVariableStandaloneMm.cVariableTraditionalMm.cWatchdogTimerDxeWatchdogTimer.cWatchdogTimer.hMdePkgIncludeAArch64ProcessorBind.hArmProcessorBind.hBase.hConfidentialComputingGuestAttr.hEbcProcessorBind.hGuidAcpi.hApriori.hAprioriFileName.hBtt.hCapsuleReport.hCper.hDebugImageInfoTable.hDxeServices.hEventGroup.hEventLegacyBios.hFileInfo.hFileSystemInfo.hFileSystemVolumeLabelInfo.hFirmwareContentsSigned.hFirmwareFileSystem2.hFirmwareFileSystem3.hFmpCapsule.hGlobalVariable.hGpt.hGraphicsInfoHob.hHardwareErrorVariable.hHiiFormMapMethodGuid.hHiiKeyBoardLayout.hHiiPlatformSetupFormset.hHobList.hImageAuthentication.hJsonCapsule.hLinuxEfiInitrdMedia.hMdePkgTokenSpace.hMemoryAllocationHob.hMemoryAttributesTable.hMemoryOverwriteControl.hMps.hPcAnsi.hRtPropertiesTable.hSmBios.hSmramMemoryReserve.hStatusCodeDataTypeId.hSystemResourceTable.hVectorHandoffTable.hWinCertificate.hIa32ProcessorBind.hIndustryStandardAcpi.hAcpi10.hAcpi20.hAcpi30.hAcpi40.hAcpi50.hAcpi51.hAcpi60.hAcpi61.hAcpi62.hAcpi63.hAcpi64.hAcpi65.hAcpiAml.hAlertStandardFormatTable.hArmErrorSourceTable.hArmPerformanceMonitoringUnitTable.hAtapi.hBluetooth.hBmp.hCxl.hCxl11.hDebugPort2Table.hDebugPortTable.hDhcp.hDmaRemappingReportingTable.hElTorito.hEmmc.hHighPrecisionEventTimerTable.hHsti.hHttp11.hIScsiBootFirmwareTable.hIoRemappingTable.hIpmi.hIpmiFruInformationStorage.hIpmiKcs.hIpmiNetFnApp.hIpmiNetFnBridge.hIpmiNetFnChassis.hIpmiNetFnFirmware.hIpmiNetFnGroupExtension.hIpmiNetFnSensorEvent.hIpmiNetFnStorage.hIpmiNetFnTransport.hIpmiSsif.hLegacyBiosMpTable.hLowPowerIdleTable.hMbr.hMctp.hMemoryMappedConfigurationSpaceAccessTable.hMemoryOverwriteRequestControlLock.hNvme.hPci.hPci22.hPci23.hPci30.hPciCodeId.hPciExpress21.hPciExpress30.hPciExpress31.hPciExpress40.hPciExpress50.hPeImage.hPldm.hPldmSmbiosTransfer.hScsi.hSd.hSdramSpd.hSdramSpdDdr3.hSdramSpdDdr4.hSdramSpdLpDdr.hSerialPortConsoleRedirectionTable.hServiceProcessorManagementInterfaceTable.hSmBios.hSmBus.hSpdm.hTcgPhysicalPresence.hTcgStorageCore.hTcgStorageOpal.hTcpaAcpi.hTdx.hTls1.hTpm12.hTpm20.hTpm2Acpi.hTpmPtp.hTpmTis.hUdf.hUefiTcgPlatform.hUsb.hWatchdogActionTable.hWatchdogResourceTable.hWindowsSmmSecurityMitigationTable.hWindowsUxCapsule.hLibraryArmTrngLib.hBaseLib.hBaseMemoryLib.hBaseRiscVSbiLib.hCacheMaintenanceLib.hCcProbeLib.hCpuLib.hDebugLib.hDebugPrintErrorLevelLib.hDevicePathLib.hDxeCoreEntryPoint.hDxeServicesLib.hDxeServicesTableLib.hExtractGuidedSectionLib.hFdtLib.hFileHandleLib.hHobLib.hHstiLib.hIoLib.hJedecJep106Lib.hMemoryAllocationLib.hMipiSysTLib.hMmServicesTableLib.hMmUnblockMemoryLib.hOrderedCollectionLib.hPcdLib.hPciCf8Lib.hPciExpressLib.hPciLib.hPciSegmentInfoLib.hPciSegmentLib.hPeCoffExtraActionLib.hPeCoffGetEntryPointLib.hPeCoffLib.hPeiCoreEntryPoint.hPeiServicesLib.hPeiServicesTablePointerLib.hPeimEntryPoint.hPerformanceLib.hPostCodeLib.hPrintLib.hRegisterFilterLib.hReportStatusCodeLib.hResourcePublicationLib.hRngLib.hS3BootScriptLib.hS3IoLib.hS3PciLib.hS3PciSegmentLib.hS3SmbusLib.hS3StallLib.hSafeIntLib.hSerialPortLib.hSmbusLib.hSmiHandlerProfileLib.hSmmCpuRendezvousLib.hSmmIoLib.hSmmLib.hSmmMemLib.hSmmPeriodicSmiLib.hSmmServicesTableLib.hStandaloneMmDriverEntryPoint.hSynchronizationLib.hTdxLib.hTimerLib.hTraceHubDebugSysTLib.hUefiApplicationEntryPoint.hUefiBootServicesTableLib.hUefiDecompressLib.hUefiDriverEntryPoint.hUefiLib.hUefiRuntimeLib.hUefiRuntimeServicesTableLib.hUefiScsiLib.hUefiUsbLib.hUnitTestLib.hLoongArch64ProcessorBind.hPiPiBootMode.hPiDependency.hPiDxeCis.hPiFirmwareFile.hPiFirmwareVolume.hPiHob.hPiI2c.hPiMmCis.hPiMultiPhase.hPiPeiCis.hPiS3BootScript.hPiSmmCis.hPiStatusCode.hPiDxe.hPiMm.hPiPei.hPiSmm.hPpiBlockIo.hBlockIo2.hBootInRecoveryMode.hCapsule.hCpuIo.hDecompress.hDelayedDispatch.hDeviceRecoveryModule.hDxeIpl.hEndOfPeiPhase.hFirmwareVolume.hFirmwareVolumeInfo.hFirmwareVolumeInfo2.hGraphics.hGuidedSectionExtraction.hI2cMaster.hIsaHc.hLoadFile.hLoadImage.hMasterBootMode.hMemoryDiscovered.hMmAccess.hMmCommunication.hMmConfiguration.hMmControl.hMpServices.hPcd.hPcdInfo.hPciCfg2.hPeiCoreFvLocation.hPiPcd.hPiPcdInfo.hReadOnlyVariable2.hRecoveryModule.hReportStatusCodeHandler.hReset.hReset2.hS3Resume2.hSecHobData.hSecPlatformInformation.hSecPlatformInformation2.hSecurity2.hSmbus2.hStall.hStatusCode.hSuperIo.hTemporaryRamDone.hTemporaryRamSupport.hVectorHandoffInfo.hProtocolAbsolutePointer.hAcpiSystemDescriptionTable.hAcpiTable.hAdapterInformation.hArp.hAtaPassThru.hAuthenticationInfo.hBds.hBis.hBlockIo.hBlockIo2.hBlockIoCrypto.hBluetoothAttribute.hBluetoothConfig.hBluetoothHc.hBluetoothIo.hBluetoothLeConfig.hBootManagerPolicy.hBusSpecificDriverOverride.hCapsule.hCcMeasurement.hComponentName.hComponentName2.hCpu.hCpuIo2.hDebugPort.hDebugSupport.hDecompress.hDeferredImageLoad.hDeviceIo.hDevicePath.hDevicePathFromText.hDevicePathToText.hDevicePathUtilities.hDhcp4.hDhcp6.hDiskInfo.hDiskIo.hDiskIo2.hDns4.hDns6.hDriverBinding.hDriverConfiguration.hDriverConfiguration2.hDriverDiagnostics.hDriverDiagnostics2.hDriverFamilyOverride.hDriverHealth.hDriverSupportedEfiVersion.hDxeMmReadyToLock.hDxeSmmReadyToLock.hEap.hEapConfiguration.hEapManagement.hEapManagement2.hEbc.hEdidActive.hEdidDiscovered.hEdidOverride.hEraseBlock.hFirmwareManagement.hFirmwareVolume2.hFirmwareVolumeBlock.hFormBrowser2.hFtp4.hGraphicsOutput.hGuidedSectionExtraction.hHash.hHash2.hHiiConfigAccess.hHiiConfigKeyword.hHiiConfigRouting.hHiiDatabase.hHiiFont.hHiiImage.hHiiImageDecoder.hHiiImageEx.hHiiPackageList.hHiiPopup.hHiiString.hHttp.hHttpBootCallback.hHttpUtilities.hI2cBusConfigurationManagement.hI2cEnumerate.hI2cHost.hI2cIo.hI2cMaster.hIScsiInitiatorName.hIdeControllerInit.hIncompatiblePciDeviceSupport.hIp4.hIp4Config.hIp4Config2.hIp6.hIp6Config.hIpSec.hIpSecConfig.hIsaHc.hKms.hLegacyRegion2.hLegacySpiController.hLegacySpiFlash.hLegacySpiSmmController.hLegacySpiSmmFlash.hLoadFile.hLoadFile2.hLoadedImage.hManagedNetwork.hMemoryAccept.hMemoryAttribute.hMetronome.hMmAccess.hMmBase.hMmCommunication.hMmCommunication2.hMmConfiguration.hMmControl.hMmCpu.hMmCpuIo.hMmEndOfDxe.hMmGpiDispatch.hMmIoTrapDispatch.hMmMp.hMmPciRootBridgeIo.hMmPeriodicTimerDispatch.hMmPowerButtonDispatch.hMmReadyToLock.hMmReportStatusCodeHandler.hMmStandbyButtonDispatch.hMmStatusCode.hMmSwDispatch.hMmSxDispatch.hMmUsbDispatch.hMonotonicCounter.hMpService.hMtftp4.hMtftp6.hNetworkInterfaceIdentifier.hNvdimmLabel.hNvmExpressPassthru.hPartitionInfo.hPcd.hPcdInfo.hPciEnumerationComplete.hPciHostBridgeResourceAllocation.hPciHotPlugInit.hPciHotPlugRequest.hPciIo.hPciOverride.hPciPlatform.hPciRootBridgeIo.hPiPcd.hPiPcdInfo.hPkcs7Verify.hPlatformDriverOverride.hPlatformToDriverConfiguration.hPxeBaseCode.hPxeBaseCodeCallBack.hRamDisk.hRealTimeClock.hRedfishDiscover.hRegularExpressionProtocol.hReportStatusCodeHandler.hReset.hResetNotification.hRest.hRestEx.hRestJsonStructure.hRng.hRuntime.hS3SaveState.hS3SmmSaveState.hScsiIo.hScsiPassThru.hScsiPassThruExt.hSdMmcPassThru.hSecurity.hSecurity2.hSecurityPolicy.hSerialIo.hServiceBinding.hShell.hShellDynamicCommand.hShellParameters.hSimpleFileSystem.hSimpleNetwork.hSimplePointer.hSimpleTextIn.hSimpleTextInEx.hSimpleTextOut.hSmartCardEdge.hSmartCardReader.hSmbios.hSmbusHc.hSmmAccess2.hSmmBase2.hSmmCommunication.hSmmConfiguration.hSmmControl2.hSmmCpu.hSmmCpuIo2.hSmmEndOfDxe.hSmmGpiDispatch2.hSmmIoTrapDispatch2.hSmmPciRootBridgeIo.hSmmPeriodicTimerDispatch2.hSmmPowerButtonDispatch2.hSmmReadyToLock.hSmmReportStatusCodeHandler.hSmmStandbyButtonDispatch2.hSmmStatusCode.hSmmSwDispatch2.hSmmSxDispatch2.hSmmUsbDispatch2.hSpiConfiguration.hSpiHc.hSpiIo.hSpiNorFlash.hSpiSmmConfiguration.hSpiSmmHc.hSpiSmmNorFlash.hStatusCode.hStorageSecurityCommand.hSuperIo.hSuperIoControl.hSupplicant.hTapeIo.hTcg2Protocol.hTcgService.hTcp4.hTcp6.hTimer.hTimestamp.hTls.hTlsConfig.hTrEEProtocol.hUdp4.hUdp6.hUfsDeviceConfig.hUgaDraw.hUgaIo.hUnicodeCollation.hUsb2HostController.hUsbFunctionIo.hUsbHostController.hUsbIo.hUserCredential.hUserCredential2.hUserManager.hVariable.hVariableWrite.hVlanConfig.hWatchdogTimer.hWiFi.hWiFi2.hRegisterAmdCpuid.hFam17Msr.hGhcb.hMsr.hSmramSaveStateMap.hIntelArchitecturalMsr.hCpuid.hLocalApic.hMicrocode.hMsrMsr.hAtomMsr.hBroadwellMsr.hCore2Msr.hCoreMsr.hGoldmontMsr.hGoldmontPlusMsr.hHaswellEMsr.hHaswellMsr.hIvyBridgeMsr.hNehalemMsr.hP6Msr.hPentium4Msr.hPentiumMMsr.hPentiumMsr.hSandyBridgeMsr.hSilvermontMsr.hSkylakeMsr.hXeon5600Msr.hXeonDMsr.hXeonE7Msr.hXeonPhiMsr.hSmramSaveStateMap.hStmApi.hStmResourceDescriptor.hStmStatusCode.hRiscV64RiscVEncoding.hRiscVImpl.hRiscV64ProcessorBind.hUefiUefi.hUefiAcpiDataTable.hUefiBaseType.hUefiGpt.hUefiInternalFormRepresentation.hUefiMultiPhase.hUefiPxe.hUefiSpec.hX64ProcessorBind.hLibraryBaseArmTrngLibNullBaseArmTrngLibNull.cBaseCacheMaintenanceLibArmCache.cEbcCache.cLoongArchCache.cRiscVCache.cX86Cache.cBaseCacheMaintenanceLibNullBaseCacheMaintenanceLibNull.cBaseCpuLibEbcCpuSleepFlushTlb.cIa32CpuSleep.cCpuSleepGcc.cX86BaseCpuLib.cX86CpuFlushTlb.cBaseCpuLibNullBaseCpuLibNull.cBaseDebugLibNullDebugLib.cBaseDebugLibSerialPortDebugLib.cBaseDebugPrintErrorLevelLibBaseDebugPrintErrorLevelLib.cBaseExtractGuidedSectionLibBaseExtractGuidedSectionLib.cBaseFdtLibFdtLib.cLibFdtSupport.hLibFdtWrapper.climits.hstdbool.hstddef.hstdint.hstdlib.hstring.hBaseIoLibIntrinsicBaseIoLibIntrinsicInternal.hIoHighLevel.cIoLib.cIoLibArmVirt.cIoLibEbc.cIoLibFifo.cIoLibGcc.cIoLibInternalTdx.cIoLibInternalTdxNull.cIoLibMmioBuffer.cIoLibMsc.cIoLibNoIo.cIoLibSev.hIoLibTdx.hBaseLibARShiftU64.cArmInternalSwitchStack.cUnaligned.cBaseLibInternals.hBitField.cCheckSum.cChkStkGcc.cCpu.cCpuDeadLoop.cDivS64x64Remainder.cDivU64x32.cDivU64x32Remainder.cDivU64x64Remainder.cEbcCpuBreakpoint.cSetJumpLongJump.cSpeculationBarrier.cSwitchStack.cFilePaths.cGetPowerOfTwo32.cGetPowerOfTwo64.cHighBitSet32.cHighBitSet64.cIa32ARShiftU64.cCpuBreakpoint.cCpuId.cCpuIdEx.cCpuPause.cDisableCache.cDisableInterrupts.cDisablePaging32.cDivS64x64Remainder.cDivU64x32.cDivU64x32Remainder.cEnableCache.cEnableDisableInterrupts.cEnableInterrupts.cEnablePaging32.cFlushCacheLine.cFxRestore.cFxSave.cGccInline.cGccInlinePriv.cInternalSwitchStack.cInvd.cLRotU64.cLShiftU64.cModU64x32.cMonitor.cMultU64x32.cMultU64x64.cMwait.cNon-existing.cRRotU64.cRShiftU64.cReadCr0.cReadCr2.cReadCr3.cReadCr4.cReadCs.cReadDr0.cReadDr1.cReadDr2.cReadDr3.cReadDr4.cReadDr5.cReadDr6.cReadDr7.cReadDs.cReadEflags.cReadEs.cReadFs.cReadGdtr.cReadGs.cReadIdtr.cReadLdtr.cReadMm0.cReadMm1.cReadMm2.cReadMm3.cReadMm4.cReadMm5.cReadMm6.cReadMm7.cReadMsr64.cReadPmc.cReadSs.cReadTr.cReadTsc.cSwapBytes64.cWbinvd.cWriteCr0.cWriteCr2.cWriteCr3.cWriteCr4.cWriteDr0.cWriteDr1.cWriteDr2.cWriteDr3.cWriteDr4.cWriteDr5.cWriteDr6.cWriteDr7.cWriteGdtr.cWriteIdtr.cWriteLdtr.cWriteMm0.cWriteMm1.cWriteMm2.cWriteMm3.cWriteMm4.cWriteMm5.cWriteMm6.cWriteMm7.cWriteMsr64.cIntelTdxNull.cLRotU32.cLRotU64.cLShiftU64.cLinkedList.cLongJump.cLoongArch64InternalSwitchStack.cLowBitSet32.cLowBitSet64.cMath64.cModU64x32.cMultS64x64.cMultU64x32.cMultU64x64.cQuickSort.cRRotU32.cRRotU64.cRShiftU64.cRiscV64CpuBreakpoint.cCpuPause.cDisableInterrupts.cEnableInterrupts.cGetInterruptState.cInternalSwitchStack.cSafeString.cSetJump.cString.cSwapBytes16.cSwapBytes32.cSwapBytes64.cSwitchStack.cUnaligned.cUnitTestHost.cUnitTestHost.hX64CpuBreakpoint.cGccInline.cGccInlinePriv.cNon-existing.cReadMsr64.cTdProbe.cWriteMsr64.cX86DisablePaging32.cX86DisablePaging64.cX86EnablePaging32.cX86EnablePaging64.cX86FxRestore.cX86FxSave.cX86GetInterruptState.cX86MemoryFence.cX86Msr.cX86PatchInstruction.cX86RdRand.cX86ReadGdtr.cX86ReadIdtr.cX86SpeculationBarrier.cX86Thunk.cX86UnitTestHost.cX86WriteGdtr.cX86WriteIdtr.cBaseMemoryLibCompareMemWrapper.cCopyMem.cCopyMemWrapper.cIsZeroBufferWrapper.cMemLibGeneric.cMemLibGuid.cMemLibInternals.hScanMem16Wrapper.cScanMem32Wrapper.cScanMem64Wrapper.cScanMem8Wrapper.cSetMem.cSetMem16Wrapper.cSetMem32Wrapper.cSetMem64Wrapper.cSetMemWrapper.cZeroMemWrapper.cBaseMemoryLibMmxCompareMemWrapper.cCopyMemWrapper.cIsZeroBufferWrapper.cMemLibGuid.cMemLibInternals.hScanMem16Wrapper.cScanMem32Wrapper.cScanMem64Wrapper.cScanMem8Wrapper.cSetMem16Wrapper.cSetMem32Wrapper.cSetMem64Wrapper.cSetMemWrapper.cZeroMemWrapper.cBaseMemoryLibOptDxeArmMemLibGuid.cScanMemGeneric.cCompareMemWrapper.cCopyMemWrapper.cIsZeroBufferWrapper.cMemLibGuid.cMemLibInternals.hScanMem16Wrapper.cScanMem32Wrapper.cScanMem64Wrapper.cScanMem8Wrapper.cSetMem16Wrapper.cSetMem32Wrapper.cSetMem64Wrapper.cSetMemWrapper.cZeroMemWrapper.cBaseMemoryLibOptPeiCompareMemWrapper.cCopyMemWrapper.cIsZeroBufferWrapper.cMemLibGuid.cMemLibInternals.hScanMem16Wrapper.cScanMem32Wrapper.cScanMem64Wrapper.cScanMem8Wrapper.cSetMem16Wrapper.cSetMem32Wrapper.cSetMem64Wrapper.cSetMemWrapper.cZeroMemWrapper.cBaseMemoryLibRepStrCompareMemWrapper.cCopyMemWrapper.cIsZeroBufferWrapper.cMemLibGuid.cMemLibInternals.hScanMem16Wrapper.cScanMem32Wrapper.cScanMem64Wrapper.cScanMem8Wrapper.cSetMem16Wrapper.cSetMem32Wrapper.cSetMem64Wrapper.cSetMemWrapper.cZeroMemWrapper.cBaseMemoryLibSse2CompareMemWrapper.cCopyMemWrapper.cIsZeroBufferWrapper.cMemLibGuid.cMemLibInternals.hScanMem16Wrapper.cScanMem32Wrapper.cScanMem64Wrapper.cScanMem8Wrapper.cSetMem16Wrapper.cSetMem32Wrapper.cSetMem64Wrapper.cSetMemWrapper.cZeroMemWrapper.cBaseOrderedCollectionRedBlackTreeLibBaseOrderedCollectionRedBlackTreeLib.cBasePcdLibNullPcdLib.cBasePciCf8LibPciCf8Lib.cBasePciExpressLibPciExpressLib.cBasePciLibCf8PciLib.cBasePciLibPciExpressPciLib.cBasePciSegmentInfoLibNullPciSegmentInfoLib.cBasePciSegmentLibPciPciSegmentLib.cBasePeCoffExtraActionLibNullPeCoffExtraActionLib.cBasePeCoffGetEntryPointLibPeCoffGetEntryPoint.cBasePeCoffLibArmPeCoffLoaderEx.cBasePeCoff.cBasePeCoffLibInternals.hLoongArchPeCoffLoaderEx.cPeCoffLoaderEx.cRiscVPeCoffLoaderEx.cBasePerformanceLibNullPerformanceLib.cBasePostCodeLibDebugPostCode.cBasePostCodeLibPort80PostCode.cBasePrintLibPrintLib.cPrintLibInternal.cPrintLibInternal.hBaseReportStatusCodeLibNullBaseReportStatusCodeLib.cBaseRiscVSbiLibBaseRiscVSbiLib.cBaseRngLibAArch64ArmRng.hRndr.cBaseRng.cBaseRngLibInternals.hRandRdRand.cBaseRngLibNullBaseRngLibNull.cBaseRngLibTimerLibRngLibTimer.cBaseS3BootScriptLibNullBootScriptLib.cBaseS3IoLibS3IoLib.cBaseS3PciLibS3PciLib.cBaseS3PciSegmentLibS3PciSegmentLib.cBaseS3SmbusLibS3SmbusLib.cBaseS3StallLibS3StallLib.cBaseSafeIntLibSafeIntLib.cSafeIntLib32.cSafeIntLib64.cSafeIntLibEbc.cBaseSerialPortLibNullBaseSerialPortLibNull.cBaseSerialPortLibRiscVSbiLibBaseSerialPortLibRiscVSbiLib.cBaseSerialPortLibRiscVSbiLibRam.cCommon.cCommon.hBaseSmbusLibNullBaseSmbusLibNull.cBaseStackCheckLibBaseStackCheckGcc.cBaseStackCheckNull.cBaseSynchronizationLibBaseSynchronizationLibInternals.hEbcSynchronization.cIa32GccInline.cInterlockedCompareExchange16.cInterlockedCompareExchange32.cInterlockedCompareExchange64.cInternalGetSpinLockProperties.cInterlockedDecrementMsc.cInterlockedIncrementMsc.cLoongArch64Synchronization.cSynchronization.cSynchronizationGcc.cSynchronizationMsc.cX64GccInline.cInterlockedCompareExchange16.cInterlockedCompareExchange32.cInterlockedCompareExchange64.cBaseTimerLibNullTemplateTimerLibNull.cBaseUefiDecompressLibBaseUefiDecompressLib.cBaseUefiDecompressLibInternals.hBaseUefiTianoCustomDecompressLib.cCcProbeLibNullCcProbeLibNull.cDxeCoreEntryPointDxeCoreEntryPoint.cDxeCoreHobLibHobLib.cDxeExtractGuidedSectionLibDxeExtractGuidedSectionLib.cDxeHobLibHobLib.cDxeHstiLibHstiAip.cHstiDxe.cHstiDxe.hDxeIoLibCpuIo2DxeCpuIo2LibInternal.hIoHighLevel.cIoLib.cIoLibMmioBuffer.cDxePcdLibDxePcdLib.cDxeRngLibDxeRngLib.cDxeRuntimeDebugLibSerialPortDebugLib.cDxeRuntimePciExpressLibPciExpressLib.cDxeServicesLibAllocate.cDxeServicesLib.cX64Allocate.cDxeServicesTableLibDxeServicesTableLib.cDxeSmbusLibDxeSmbusLib.cInternalSmbusLib.hSmbusLib.cJedecJep106LibJedecJep106Lib.cMipiSysTLibMipiSysTLib.cPlatform.cPlatform.hmipi_syst.hmipisystexamplesclientothersource.csystclient.chellohello.clibraryincludemipi_systapi.hcompiler.hcrc32.hinline.hmessage.hplatformexampleincludemipi_systplatform.hsrcmipi_syst_platform.cmipi_stp_simincludemipi_systplatform.hsrcmipi_syst_platform.cnopincludemipi_systplatform.hsrcmipi_syst_platform.csrcmipi_syst_api.cmipi_syst_compiler.cmipi_syst_crc32.cmipi_syst_init.cmipi_syst_inline.cmipi_syst_writer.ctestunitmipi_syst_gtest.hprinterincludemipi_syst_collateral.hmipi_syst_decode.hmipi_syst_guid.hmipi_syst_message.hmipi_syst_printer.hmipi_syst_printf.hMmServicesTableLibMmServicesTableLib.cMmUnblockMemoryLibMmUnblockMemoryLibNull.cPciSegmentLibSegmentInfoBasePciSegmentLib.cDxeRuntimePciSegmentLib.cPciSegmentLibCommon.cPciSegmentLibCommon.hPeiCoreEntryPointPeiCoreEntryPoint.cPeiDxePostCodeLibReportStatusCodePostCode.cPeiExtractGuidedSectionLibPeiExtractGuidedSectionLib.cPeiHobLibHobLib.cPeiIoLibCpuIoIoHighLevel.cIoLib.cIoLibMmioBuffer.cPeiMemoryAllocationLibMemoryAllocationLib.cPeiMemoryLibCompareMemWrapper.cCopyMemWrapper.cIsZeroBufferWrapper.cMemLib.cMemLibGeneric.cMemLibGuid.cMemLibInternals.hScanMem16Wrapper.cScanMem32Wrapper.cScanMem64Wrapper.cScanMem8Wrapper.cSetMem16Wrapper.cSetMem32Wrapper.cSetMem64Wrapper.cSetMemWrapper.cZeroMemWrapper.cPeiPcdLibPeiPcdLib.cPeiPciLibPciCfg2PciLib.cPeiPciSegmentLibPciCfg2PciSegmentLib.cPeiResourcePublicationLibPeiResourcePublicationLib.cPeiServicesLibPeiServicesLib.cPeiServicesTablePointerLibPeiServicesTablePointer.cPeiServicesTablePointerLibIdtPeiServicesTablePointer.cPeiSmbusLibSmbus2PpiInternalSmbusLib.hPeiSmbusLib.cSmbusLib.cPeimEntryPointPeimEntryPoint.cRegisterFilterLibNullRegisterFilterLibNull.cSecPeiDxeTimerLibCpuX86TimerLib.cSmiHandlerProfileLibNullSmiHandlerProfileLibNull.cSmmCpuRendezvousLibNullSmmCpuRendezvousLibNull.cSmmIoLibSmmIoLib.cSmmIoLibSmmCpuIo2IoHighLevel.cIoLib.cIoLibMmioBuffer.cSmmCpuIoLibInternal.hSmmLibNullSmmLibNull.cSmmMemLibSmmMemLib.cSmmMemoryAllocationLibMemoryAllocationLib.cSmmPciExpressLibPciExpressLib.cSmmPciLibPciRootBridgeIoPciLib.cSmmPeriodicSmiLibSmmPeriodicSmiLib.cSmmServicesTableLibSmmServicesTableLib.cStandaloneMmDriverEntryPointStandaloneMmDriverEntryPoint.cStandaloneMmServicesTableLibStandaloneMmServicesTableLib.cTdxLibAcceptPages.cRtmr.cTdInfo.cTdxLibNull.cTraceHubDebugSysTLibNullTraceHubDebugSysTLibNull.cUefiApplicationEntryPointApplicationEntryPoint.cUefiBootServicesTableLibUefiBootServicesTableLib.cUefiDebugLibConOutDebugLib.cDebugLibConstructor.cUefiDebugLibDebugPortProtocolDebugLib.cDebugLibConstructor.cUefiDebugLibStdErrDebugLib.cDebugLibConstructor.cUefiDevicePathLibDevicePathFromText.cDevicePathToText.cDevicePathUtilities.cDevicePathUtilitiesBase.cDevicePathUtilitiesDxeSmm.cUefiDevicePathLib.cUefiDevicePathLib.hUefiDevicePathLibOptionalDevicePathProtocol.cUefiDevicePathLibDevicePathProtocolUefiDevicePathLib.cUefiDriverEntryPointDriverEntryPoint.cUefiFileHandleLibUefiFileHandleLib.cUefiLibAcpi.cConsole.cUefiDriverModel.cUefiLib.cUefiLibInternal.hUefiLibPrint.cUefiNotTiano.cUefiMemoryAllocationLibMemoryAllocationLib.cUefiMemoryLibCompareMemWrapper.cCopyMemWrapper.cIsZeroBufferWrapper.cMemLib.cMemLibGeneric.cMemLibGuid.cMemLibInternals.hScanMem16Wrapper.cScanMem32Wrapper.cScanMem64Wrapper.cScanMem8Wrapper.cSetMem16Wrapper.cSetMem32Wrapper.cSetMem64Wrapper.cSetMemWrapper.cZeroMemWrapper.cUefiPciLibPciRootBridgeIoPciLib.cUefiPciSegmentLibPciRootBridgeIoPciSegmentLib.cPciSegmentLib.hUefiRuntimeLibRuntimeLib.cUefiRuntimeServicesTableLibUefiRuntimeServicesTableLib.cUefiScsiLibUefiScsiLib.cUefiUsbLibHid.cUefiUsbLibInternal.hUsbDxeLib.cTestMockIncludeGoogleTestLibraryMockHobLib.hMockPeiServicesLib.hMockUefiLib.hMockUefiRuntimeServicesTableLib.hUnitTestIncludeLibraryUnitTestHostBaseLib.hLibraryBaseLibBase64UnitTest.cBaseSafeIntLibSafeIntLibUintnIntnUnitTests32.cSafeIntLibUintnIntnUnitTests64.cTestBaseSafeIntLib.cTestBaseSafeIntLib.hNetworkPkgApplicationVConfigVConfig.cArpDxeArpDriver.cArpDriver.hArpImpl.cArpImpl.hArpMain.cComponentName.cDhcp4DxeComponentName.cDhcp4Driver.cDhcp4Driver.hDhcp4Impl.cDhcp4Impl.hDhcp4Io.cDhcp4Io.hDhcp4Option.cDhcp4Option.hDhcp6DxeComponentName.cDhcp6Driver.cDhcp6Driver.hDhcp6Impl.cDhcp6Impl.hDhcp6Io.cDhcp6Io.hDhcp6Utility.cDhcp6Utility.hGoogleTestDhcp6IoGoogleTest.hDnsDxeComponentName.cDnsDhcp.cDnsDhcp.hDnsDriver.cDnsDriver.hDnsImpl.cDnsImpl.hDnsProtocol.cDpcDxeDpc.cDpc.hHttpBootDxeHttpBootClient.cHttpBootClient.hHttpBootComponentName.cHttpBootComponentName.hHttpBootConfig.cHttpBootConfig.hHttpBootConfigNVDataStruc.hHttpBootDhcp4.cHttpBootDhcp4.hHttpBootDhcp6.cHttpBootDhcp6.hHttpBootDxe.cHttpBootDxe.hHttpBootImpl.cHttpBootImpl.hHttpBootSupport.cHttpBootSupport.hHttpDxeComponentName.cComponentName.hHttpDns.cHttpDns.hHttpDriver.cHttpDriver.hHttpImpl.cHttpImpl.hHttpProto.cHttpProto.hHttpsSupport.cHttpsSupport.hHttpUtilitiesDxeHttpUtilitiesDxe.cHttpUtilitiesDxe.hHttpUtilitiesProtocol.cIScsiDxeComponentName.cIScsiAuthenticationInfo.cIScsiCHAP.cIScsiCHAP.hIScsiConfig.cIScsiConfig.hIScsiConfigNVDataStruc.hIScsiDhcp.cIScsiDhcp.hIScsiDhcp6.cIScsiDhcp6.hIScsiDns.cIScsiDns.hIScsiDriver.cIScsiDriver.hIScsiExtScsiPassThru.cIScsiIbft.cIScsiIbft.hIScsiImpl.hIScsiInitiatorName.cIScsiMisc.cIScsiMisc.hIScsiProto.cIScsiProto.hIncludeGuidHttpBootConfigHii.hHttpTlsCipherList.hIScsiConfigHii.hIp4Config2Hii.hIp4IScsiConfigHii.hIp6ConfigHii.hTlsAuthConfigHii.hTlsAuthentication.hVlanConfigHii.hWifiConnectionManagerConfigHii.hLibraryDpcLib.hHttpIoLib.hHttpLib.hIpIoLib.hNetLib.hTcpIoLib.hUdpIoLib.hProtocolDpc.hHttpCallback.hWiFiProfileSyncProtocol.hIp4DxeComponentName.cIp4Common.cIp4Common.hIp4Config2Impl.cIp4Config2Impl.hIp4Config2Nv.cIp4Config2Nv.hIp4Driver.cIp4Driver.hIp4Icmp.cIp4Icmp.hIp4If.cIp4If.hIp4Igmp.cIp4Igmp.hIp4Impl.cIp4Impl.hIp4Input.cIp4Input.hIp4NvData.hIp4Option.cIp4Option.hIp4Output.cIp4Output.hIp4Route.cIp4Route.hIp6DxeComponentName.cGoogleTestIp6OptionGoogleTest.hIp6Common.cIp6Common.hIp6ConfigImpl.cIp6ConfigImpl.hIp6ConfigNv.cIp6ConfigNv.hIp6Driver.cIp6Driver.hIp6Icmp.cIp6Icmp.hIp6If.cIp6If.hIp6Impl.cIp6Impl.hIp6Input.cIp6Input.hIp6Mld.cIp6Mld.hIp6Nd.cIp6Nd.hIp6NvData.hIp6Option.cIp6Option.hIp6Output.cIp6Output.hIp6Route.cIp6Route.hLibraryDxeDpcLibDpcLib.cDxeHttpIoLibDxeHttpIoLib.cDxeHttpLibDxeHttpLib.cDxeHttpLib.hDxeIpIoLibDxeIpIoLib.cDxeNetLibDxeNetLib.cNetBuffer.cDxeTcpIoLibDxeTcpIoLib.cDxeUdpIoLibDxeUdpIoLib.cMnpDxeComponentName.cComponentName.hMnpConfig.cMnpDriver.cMnpDriver.hMnpImpl.hMnpIo.cMnpMain.cMnpVlan.cMnpVlan.hMtftp4DxeComponentName.cMtftp4Driver.cMtftp4Driver.hMtftp4Impl.cMtftp4Impl.hMtftp4Option.cMtftp4Option.hMtftp4Rrq.cMtftp4Support.cMtftp4Support.hMtftp4Wrq.cMtftp6DxeComponentName.cMtftp6Driver.cMtftp6Driver.hMtftp6Impl.cMtftp6Impl.hMtftp6Option.cMtftp6Option.hMtftp6Rrq.cMtftp6Support.cMtftp6Support.hMtftp6Wrq.cSnpDxeCallback.cComponentName.cGet_status.cInitialize.cMcast_ip_to_mac.cNvdata.cReceive.cReceive_filters.cReset.cShutdown.cSnp.cSnp.hStart.cStation_address.cStatistics.cStop.cTransmit.cWaitForPacket.cTcpDxeComponentName.cSockImpl.cSockImpl.hSockInterface.cSocket.hTcpDispatcher.cTcpDriver.cTcpDriver.hTcpFunc.hTcpInput.cTcpIo.cTcpMain.cTcpMain.hTcpMisc.cTcpOption.cTcpOption.hTcpOutput.cTcpProto.hTcpTimer.cTlsAuthConfigDxeTlsAuthConfigDxe.cTlsAuthConfigImpl.cTlsAuthConfigImpl.hTlsAuthConfigNvData.hTlsDxeTlsConfigProtocol.cTlsDriver.cTlsDriver.hTlsImpl.cTlsImpl.hTlsProtocol.cUdp4DxeComponentName.cUdp4Driver.cUdp4Driver.hUdp4Impl.cUdp4Impl.hUdp4Main.cUdp6DxeComponentName.cUdp6Driver.cUdp6Driver.hUdp6Impl.cUdp6Impl.hUdp6Main.cUefiPxeBcDxeComponentName.cGoogleTestPxeBcDhcp6GoogleTest.hPxeBcBoot.cPxeBcBoot.hPxeBcDhcp4.cPxeBcDhcp4.hPxeBcDhcp6.cPxeBcDhcp6.hPxeBcDriver.cPxeBcDriver.hPxeBcImpl.cPxeBcImpl.hPxeBcMtftp.cPxeBcMtftp.hPxeBcSupport.cPxeBcSupport.hVlanConfigDxeComponentName.cVlanConfigDriver.cVlanConfigImpl.cVlanConfigImpl.hVlanConfigNvData.hWifiConnectionManagerDxeEapContext.hWifiConnectionMgrComponentName.cWifiConnectionMgrComponentName.hWifiConnectionMgrConfig.hWifiConnectionMgrConfigHii.hWifiConnectionMgrConfigNVDataStruct.hWifiConnectionMgrDriver.cWifiConnectionMgrDriverBinding.hWifiConnectionMgrDxe.hWifiConnectionMgrFileUtil.cWifiConnectionMgrFileUtil.hWifiConnectionMgrHiiConfigAccess.cWifiConnectionMgrHiiConfigAccess.hWifiConnectionMgrImpl.cWifiConnectionMgrImpl.hWifiConnectionMgrMisc.cWifiConnectionMgrMisc.hOvmfPkg8254TimerDxeTimer.cTimer.h8259InterruptControllerDxe8259.c8259.hAcpiPlatformDxeAcpiPlatform.cAcpiPlatform.hCloudHvAcpi.cEntryPoint.cAmdSevBlobVerifierLibSevHashesBlobVerifierSevHashes.cSecretDxeSecretDxe.cSecretPeiSecretPei.cAmdSevDxeAmdSevDxe.cBhyveAcpiPlatformDxeAcpiPlatform.cAcpiPlatform.hBhyve.cEntryPoint.cAcpiTablesPlatform.hBhyveRfbDxeComponentName.cGop.hGopDriver.cGopScreen.cVbeShim.cVbeShim.hPlatformPeiAmdSev.cClearCache.cCmos.cCmos.hFeatureControl.cFv.cMemDetect.cPlatform.cPlatform.hSmbiosPlatformDxeBhyve.cSmbiosPlatformDxe.cSmbiosPlatformDxe.hCompatImageLoaderDxeCompatImageLoaderDxe.cCpuHotplugSmmApicId.hCpuHotplug.cFirstSmiHandlerContext.hQemuCpuhp.cQemuCpuhp.hSmbase.cSmbase.hCpuS3DataDxeCpuS3Data.cCsmBiosThunkVideoDxeBiosVideo.cBiosVideo.hComponentName.cVesaBiosExtensions.hCsmSupportLibCsmSupportLib.cCsmSupportLib.hLegacyInterrupt.cLegacyInterrupt.hLegacyPlatform.cLegacyPlatform.hLegacyRegion.cLegacyRegion.hIncludeFrameworkBootScript.hDxeCis.hFirmwareVolumeHeader.hFirmwareVolumeImageFormat.hFrameworkInternalFormRepresentation.hHob.hStatusCode.hFrameworkDxe.hGuidLegacyBios.hLegacyDevOrder.hProtocolFirmwareVolume.hIsaAcpi.hIsaIo.hLegacyBios.hLegacyBiosPlatform.hLegacyInterrupt.hVgaMiniPort.hLegacyBiosDxeLegacyBbs.cLegacyBda.cLegacyBios.cLegacyBiosInterface.hLegacyBootSupport.cLegacyCmos.cLegacyIde.cLegacyPci.cLegacySio.cThunk.cLegacyBootMaintUiLibLegacyBootMaintUi.cLegacyBootMaintUi.hLegacyBootMaintUiVfr.hLegacyBootManagerLibInternalLegacyBm.hLegacyBm.cEmuVariableFvbRuntimeDxeFvb.cFvb.hEnrollDefaultKeysAuthData.cEnrollDefaultKeys.cEnrollDefaultKeys.hFdtFdtPciHostBridgeLibFdtPciHostBridgeLib.cFdtPciPcdProducerLibFdtPciPcdProducerLib.cHighMemDxeHighMemDxe.cVirtioFdtDxeVirtioFdtDxe.cIncludeGuidConfidentialComputingSecret.hConfidentialComputingSevSnpBlob.hMicrosoftVendor.hOvmfPkKek1AppPrefix.hOvmfPlatformConfig.hQemuKernelLoaderFsMedia.hQemuRamfb.hRootBridgesConnectedEventGroup.hVirtioMmioTransport.hXenBusRootDevice.hXenInfo.hIndustryStandardBhyve.hCloudHv.hE820.hFusionMptScsi.hI440FxPiix4.hInstructionParsing.hIntelTdx.hLegacyVgaBios.hLinuxBzimage.hLsiScsi.hMicrovm.hPageTable.hPvScsi.hQ35MchIch9.hQemuCpuHotplug.hQemuFwCfg.hQemuLoader.hQemuPciBridgeCapabilities.hQemuTpm.hVirtio.hVirtio095.hVirtio095Net.hVirtio10.hVirtio10Net.hVirtioBlk.hVirtioFs.hVirtioGpu.hVirtioNet.hVirtioScsi.hVirtioSerial.hXenarch-armxen.harch-x86hvmstart_info.hxen-x86_32.hxen-x86_64.hxen.hevent_channel.hgrant_table.hhvmhvm_op.hparams.hioblkif.hconsole.hprotocols.hring.hxenbus.hxs_wire.hmemory.hxen-compat.hxen.hLibraryAcpiPlatformLib.hBhyveFwCtlLib.hBlobVerifierLib.hHardwareInfoLib.hLoadLinuxLib.hMemEncryptSevLib.hMemEncryptTdxLib.hNestedInterruptTplLib.hNvVarsFileLib.hPciCapLib.hPciCapPciIoLib.hPciCapPciSegmentLib.hPciHostBridgeUtilityLib.hPeilessStartupLib.hPlatformBmPrintScLib.hPlatformFvbLib.hPlatformInitLib.hQemuBootOrderLib.hQemuFwCfgLib.hQemuFwCfgS3Lib.hQemuFwCfgSimpleParserLib.hQemuLoadImageLib.hSerializeVariablesLib.hTdxHelperLib.hTdxMailboxLib.hVirtNorFlashPlatformLib.hVirtioLib.hVirtioMmioDeviceLib.hXenHypercallLib.hXenIoMmioLib.hXenPlatformLib.hOvmfPlatforms.hPcdCpuHotEjectData.hPpiMpInitLibDep.hProtocolLegacy8259.hMpInitLibDepProtocols.hOvmfLoadedX86LinuxKernel.hSevMemoryAcceptance.hVirtioDevice.hXenBus.hXenIo.hRegisterQemuSmramSaveStateMap.hWorkArea.hIncompatiblePciDeviceSupportDxeIncompatiblePciDeviceSupport.cIntelTdxPrePiHobListPointerLibTdxPrePiHobListPointer.cSecSecMain.cTdxHelperLibPeiTdxHelper.cSecTdxHelper.cTdxHelperNull.cTdxMeasurementHob.cIoMmuDxeCcIoMmu.cCcIoMmu.hIoMmuBuffer.cIoMmuDxe.cIoMmuInternal.hLibraryAcpiPlatformLibBootScript.cDxeAcpiPlatformLib.cPciDecoding.cQemuFwCfgAcpi.cAcpiTimerLibAcpiTimerLib.cAcpiTimerLib.hBaseAcpiTimerLib.cBaseAcpiTimerLibBhyve.cBaseRomAcpiTimerLib.cDxeAcpiTimerLib.cBaseCachingPciExpressLibPciExpressLib.cBaseMemEncryptSevLibDxeMemEncryptSevLibInternal.cIa32MemEncryptSevLib.cPeiDxeMemEncryptSevLibInternal.cPeiMemEncryptSevLibInternal.cSecMemEncryptSevLibInternal.cX64DxeSnpSystemRamValidate.cMemEncryptSevLib.cPeiDxeVirtualMemory.cPeiSnpSystemRamValidate.cSecSnpSystemRamValidate.cSecVirtualMemory.cSnpPageStateChange.hSnpPageStateChangeInternal.cVirtualMemory.cVirtualMemory.hBaseMemEncryptTdxLibBaseMemoryEncryptionNull.cMemoryEncryption.cVirtualMemory.hBasePciCapLibBasePciCapLib.cBasePciCapLib.hBasePciCapPciSegmentLibBasePciCapPciSegmentLib.cBasePciCapPciSegmentLib.hBhyveFwCtlLibBhyveFwCtlLib.cBlobVerifierLibNullBlobVerifierNull.cCcExitLibCcExitLib.cCcExitTd.hCcExitVcHandler.cCcExitVcHandler.hCcExitVeHandler.cCcInstruction.cCcInstruction.hPeiDxeCcExitVcHandler.cSecCcExitVcHandler.cCcProbeLibDxeCcProbeLib.cSecPeiCcProbeLib.cDxePciLibI440FxQ35PciLib.cEmuVariableFvbLibEmuVariableFvbLib.cGenericQemuLoadImageLibGenericQemuLoadImageLib.cHardwareInfoLibHardwareInfoDxe.cHardwareInfoPciHostBridgeLib.cHardwareInfoPciHostBridgeLib.hHardwareInfoPei.cHardwareInfoTypesLib.hQemuFwCfgHardwareInfoLib.cLoadLinuxLibLinux.cLinuxGdt.cLoadLinuxLib.hLockBoxLibLockBoxBase.cLockBoxDxe.cLockBoxLib.cLockBoxLib.hMpInitLibDepLibMpInitLibDepLib.cNestedInterruptTplLibIret.cIret.hTpl.cNvVarsFileLibFsAccess.cNvVarsFileLib.cNvVarsFileLib.hPciHostBridgeLibPciHostBridgeLib.cPciHostBridgeLibScanPciHostBridge.hPciHostBridgeLib.cScanForRootBridges.cPciHostBridgeUtilityLibPciHostBridgeUtilityLib.cPeilessStartupLibDxeLoad.cHob.cPeilessStartup.cPeilessStartupInternal.hX64PageTables.hVirtualMemory.cPlatformBmPrintScLibStatusCodeHandler.cPlatformBootManagerLibBdsPlatform.cBdsPlatform.hPlatformData.cQemuKernel.cPlatformBootManagerLibBhyveBdsPlatform.cBdsPlatform.hPlatformData.cPlatformDebugLibIoPortDebugIoPortNocheck.cDebugIoPortQemu.cDebugLib.cDebugLibDetect.cDebugLibDetect.hDebugLibDetectRom.cPlatformFvbLibNullPlatformFvbLibNull.cPlatformHasIoMmuLibPlatformHasIoMmuLib.cPlatformInitLibCmos.cIntelTdx.cIntelTdxNull.cMemDetect.cPlatform.cPlatformSecureLibPlatformSecureLib.cPxeBcPcdProducerLibPxeBcPcd.cQemuBootOrderLibExtraRootBusMap.cExtraRootBusMap.hQemuBootOrderLib.cQemuFwCfgLibQemuFwCfgDxe.cQemuFwCfgLib.cQemuFwCfgLibInternal.hQemuFwCfgLibMmio.cQemuFwCfgNull.cQemuFwCfgPei.cQemuFwCfgSec.cQemuFwCfgS3LibQemuFwCfgS3Base.cQemuFwCfgS3BasePei.cQemuFwCfgS3Dxe.cQemuFwCfgS3Pei.cQemuFwCfgS3PeiDxe.cQemuFwCfgSimpleParserLibQemuFwCfgSimpleParser.cResetSystemLibBaseResetShutdown.cBaseResetShutdownBhyve.cDxeResetShutdown.cDxeResetSystemLibMicrovm.cResetSystemLib.cResetSystemLibMicrovm.cSerializeVariablesLibSerializeVariablesLib.cSerializeVariablesLib.hSmbiosVersionLibDetectSmbiosVersionLib.cSmmCpuFeaturesLibSmmCpuFeaturesLib.cSmmCpuPlatformHookLibQemuSmmCpuPlatformHookLibQemu.cTcg2PhysicalPresenceLibNullDxeTcg2PhysicalPresenceLib.cTcg2PhysicalPresenceLibQemuDxeTcg2PhysicalPresenceLib.cTdxMailboxLibTdxMailbox.cTdxMailboxNull.cTlsAuthConfigLibTlsAuthConfigLib.cUefiDriverEntryPointFwCfgOverrideLibUefiDriverEntryPointFwCfgOverrideLib.cUefiPciCapPciIoLibUefiPciCapPciIoLib.cUefiPciCapPciIoLib.hVirtioLibVirtioLib.cVirtioMmioDeviceLibVirtioMmioDevice.cVirtioMmioDevice.hVirtioMmioDeviceFunctions.cX86QemuLoadImageLibX86QemuLoadImageLib.cXenConsoleSerialPortLibXenConsoleSerialPortLib.cXenHypercallLibArmXenHypercall.cX86XenHypercall.cXenHypercall.cXenIoMmioLibXenIoMmioLib.cXenPlatformLibXenPlatformLib.cXenRealTimeClockLibXenRealTimeClockLib.cLinuxInitrdDynamicShellCommandLinuxInitrdDynamicShellCommand.cLocalApicTimerDxeLocalApicTimerDxe.cLocalApicTimerDxe.hLsiScsiDxeLsiScsi.cLsiScsi.hMptScsiDxeMptScsi.cOvmfXenElfHeaderGenerator.cPciHotPlugInitDxePciHotPlugInit.cPlatformDxePlatform.cPlatform.hPlatformConfig.cPlatformConfig.hPlatformHasAcpiDtDxePlatformHasAcpiDtDxe.cPlatformPeiAmdSev.cClearCache.cFeatureControl.cFv.cIntelTdx.cMemDetect.cMemTypeInfo.cPlatform.cPlatform.hPvScsiDxePvScsi.cPvScsi.hQemuFlashFvbServicesRuntimeDxeFvbInfo.cFwBlockService.cFwBlockService.hFwBlockServiceDxe.cFwBlockServiceSmm.cQemuFlash.cQemuFlash.hQemuFlashDxe.cQemuFlashSmm.cQemuKernelLoaderFsDxeQemuKernelLoaderFsDxe.cQemuRamfbDxeQemuRamfb.cQemuVideoDxeComponentName.cDriver.cGop.cInitialize.cQemu.hVbeShim.cVbeShim.hRiscVVirtLibraryPlatformBootManagerLibPlatformBm.cPlatformBm.hQemuKernel.cPrePiHobListPointerLibPrePiHobListPointer.cResetSystemLibResetSystemLib.cVirtNorFlashPlatformLibVirtNorFlashDeviceTreeLib.cVirtNorFlashStaticLib.cPciCpuIo2DxePciCpuIo2Dxe.cSecCpu.cMemory.cPlatform.cSecMain.cSecMain.hSecAmdSev.cAmdSev.hSecMain.cSioBusDxeComponentName.cSioBusDxe.cSioBusDxe.hSioService.cSioService.hSmbiosPlatformDxeArmXen.cCloudHv.cEntryPoint.cQemu.cSmbiosPlatformDxe.cSmbiosPlatformDxe.hX86Xen.cXen.cXenSmbiosPlatformDxe.hSmmAccessSmmAccess2Dxe.cSmmAccessPei.cSmramInternal.cSmramInternal.hSmmControl2DxeSmiFeatures.cSmiFeatures.hSmmControl2Dxe.cTcgTcg2ConfigTcg2ConfigPeim.cTpm12Support.cTpm12Support.hTpm12SupportNull.cTpmMmioSevDecryptPeiTpmMmioSevDecryptPeim.cTdxDxeTdxAcpiTable.cTdxAcpiTable.hTdxDxe.cVirtNorFlashDxeVirtNorFlash.cVirtNorFlash.hVirtNorFlashDxe.cVirtNorFlashFvb.cVirtio10DxeVirtio10.cVirtio10.hVirtioBlkDxeVirtioBlk.cVirtioBlk.hVirtioFsDxeDriverBinding.cFuseFlush.cFuseForget.cFuseFsync.cFuseGetAttr.cFuseInit.cFuseLookup.cFuseMkDir.cFuseOpen.cFuseOpenDir.cFuseOpenOrCreate.cFuseRead.cFuseRelease.cFuseRename.cFuseSetAttr.cFuseStatFs.cFuseUnlink.cFuseWrite.cHelpers.cSimpleFsClose.cSimpleFsDelete.cSimpleFsFlush.cSimpleFsGetInfo.cSimpleFsGetPosition.cSimpleFsOpen.cSimpleFsOpenVolume.cSimpleFsRead.cSimpleFsSetInfo.cSimpleFsSetPosition.cSimpleFsWrite.cVirtioFsDxe.hVirtioGpuDxeCommands.cDriverBinding.cGop.cVirtioGpu.hVirtioNetDxeComponentName.cDriverBinding.cEntryPoint.cEvents.cSnpGetStatus.cSnpInitialize.cSnpMcastIpToMac.cSnpReceive.cSnpReceiveFilters.cSnpSharedHelpers.cSnpShutdown.cSnpStart.cSnpStop.cSnpTransmit.cSnpUnsupported.cVirtioNet.hVirtioPciDeviceDxeVirtioPciDevice.cVirtioPciDevice.hVirtioPciFunctions.cVirtioRngDxeVirtioRng.cVirtioRng.hVirtioScsiDxeVirtioScsi.cVirtioScsi.hVirtioSerialDxeVirtioSerial.cVirtioSerial.hVirtioSerialPort.cVirtioSerialRing.cXenAcpiPlatformDxeAcpiPlatform.cAcpiPlatform.hEntryPoint.cXenBusDxeComponentName.cComponentName.hDriverBinding.hEventChannel.cEventChannel.hGrantTable.cGrantTable.hHelpers.cTestAndClearBit.cXenBus.cXenBus.hXenBusDxe.cXenBusDxe.hXenStore.cXenStore.hXenIoPciDxeXenIoPciDxe.cXenIoPvhDxeXenIoPvhDxe.cXenPlatformPeiAmdSev.cClearCache.cCmos.cCmos.hFv.cMemDetect.cPlatform.cPlatform.hXen.cXen.hXenPvBlkDxeBlockFront.cBlockFront.hBlockIo.cBlockIo.hComponentName.cComponentName.hDriverBinding.hXenPvBlkDxe.cXenPvBlkDxe.hPcAtChipsetPkgBusPciIdeControllerDxeComponentName.cIdeController.cIdeController.hHpetTimerDxeHpetTimer.cIncludeGuidPcAtChipsetTokenSpace.hLibraryIoApicLib.hRegisterHpet.hIoApic.hLibraryAcpiTimerLibAcpiTimerLib.cBaseAcpiTimerLib.cDxeAcpiTimerLib.cDxeStandaloneMmAcpiTimerLib.cDxeStandaloneMmAcpiTimerLib.hPeiAcpiTimerLib.cStandaloneMmAcpiTimerLib.cBaseIoApicLibIoApicLib.cResetSystemLibResetSystemLib.cSerialIoLibSerialPortLib.cPcatRealTimeClockRuntimeDxePcRtc.cPcRtc.hPcRtcEntry.cSecurityPkgEnrollFromDefaultKeysAppEnrollFromDefaultKeysApp.cFvReportPeiFvReportPei.cFvReportPei.hHash2DxeCryptoDriver.cDriver.hHash2DxeCrypto.cHddPasswordHddPasswordCommon.hHddPasswordDxe.cHddPasswordDxe.hHddPasswordHiiDataStruc.hHddPasswordPei.cHddPasswordPei.hIncludeGuidAuthenticatedVariableFormat.hCcEventHob.hMeasuredFvHob.hPhysicalPresenceData.hPwdCredentialProviderHii.hSecureBootConfigHii.hSecurityPkgTokenSpace.hTcg2ConfigHii.hTcg2PhysicalPresenceData.hTcgConfigHii.hTcgEventHob.hTpmInstance.hTpmNvsMm.hLibraryHashLib.hPlatformPKProtectionLib.hPlatformSecureLib.hSecureBootVariableLib.hSecureBootVariableProvisionLib.hTcg2PhysicalPresenceLib.hTcg2PpVendorLib.hTcgEventLogRecordLib.hTcgPhysicalPresenceLib.hTcgPpVendorLib.hTcgStorageCoreLib.hTcgStorageOpalLib.hTpm12CommandLib.hTpm12DeviceLib.hTpm2CommandLib.hTpm2DeviceLib.hTpmCommLib.hTpmPlatformHierarchyLib.hPpiFirmwareVolumeInfoMeasurementExcluded.hFirmwareVolumeInfoPrehashedFV.hFirmwareVolumeInfoStoredHashFv.hLockPhysicalPresence.hTcg.hTpmInitialized.hUefiSecureBoot.hLibraryAuthVariableLibAuthService.cAuthServiceInternal.hAuthVariableLib.cDxeImageAuthenticationStatusLibDxeImageAuthenticationStatusLib.cDxeImageVerificationLibDxeImageVerificationLib.cDxeImageVerificationLib.hMeasurement.cDxeRsa2048Sha256GuidedSectionExtractLibDxeRsa2048Sha256GuidedSectionExtractLib.cDxeTcg2PhysicalPresenceLibDxeTcg2PhysicalPresenceLib.cDxeTcgPhysicalPresenceLibDxeTcgPhysicalPresenceLib.cDxeTpm2MeasureBootLibDxeTpm2MeasureBootLib.cDxeTpm2MeasureBootLibSanitization.cDxeTpm2MeasureBootLibSanitization.hInternalUnitTestDxeTpm2MeasureBootLibSanitizationTest.cDxeTpmMeasureBootLibDxeTpmMeasureBootLib.cDxeTpmMeasureBootLibSanitization.cDxeTpmMeasureBootLibSanitization.hInternalUnitTestDxeTpmMeasureBootLibSanitizationTest.cDxeTpmMeasurementLibDxeTpmMeasurementLib.cFmpAuthenticationLibPkcs7FmpAuthenticationLibPkcs7.cFmpAuthenticationLibRsa2048Sha256FmpAuthenticationLibRsa2048Sha256.cHashInstanceLibSha1HashInstanceLibSha1.cHashInstanceLibSha256HashInstanceLibSha256.cHashInstanceLibSha384HashInstanceLibSha384.cHashInstanceLibSha512HashInstanceLibSha512.cHashInstanceLibSm3HashInstanceLibSm3.cHashLibBaseCryptoRouterHashLibBaseCryptoRouterCommon.cHashLibBaseCryptoRouterCommon.hHashLibBaseCryptoRouterDxe.cHashLibBaseCryptoRouterPei.cHashLibTdxHashLibTdx.cHashLibTpm2HashLibTpm2.cPeiDxeTpmPlatformHierarchyLibPeiDxeTpmPlatformHierarchyLib.cPeiDxeTpmPlatformHierarchyLibNullPeiDxeTpmPlatformHierarchyLib.cPeiRsa2048Sha256GuidedSectionExtractLibPeiRsa2048Sha256GuidedSectionExtractLib.cPeiTcg2PhysicalPresenceLibPeiTcg2PhysicalPresenceLib.cPeiTpmMeasurementLibPeiTpmMeasurementLib.cPlatformPKProtectionLibVarPolicyPlatformPKProtectionLibVarPolicy.cPlatformSecureLibNullPlatformSecureLibNull.cSecTpmMeasurementLibSecTpmMeasurementLibTdx.cSecureBootVariableLibSecureBootVariableLib.cUnitTestMockPlatformPKProtectionLib.cMockUefiLib.cMockUefiRuntimeServicesTableLib.cSecureBootVariableLibUnitTest.cSecureBootVariableProvisionLibSecureBootVariableProvisionLib.cSmmTcg2PhysicalPresenceLibMmTcg2PhysicalPresenceLibCommon.cMmTcg2PhysicalPresenceLibCommon.hSmmTcg2PhysicalPresenceLib.cStandaloneMmTcg2PhysicalPresenceLib.cTcg2PpVendorLibNullTcg2PpVendorLibNull.cTcgEventLogRecordLibTcgEventLogRecordLib.cTcgPpVendorLibNullTcgPpVendorLibNull.cTcgStorageCoreLibTcgStorageCore.cTcgStorageUtil.cTcgStorageOpalLibTcgStorageOpalCore.cTcgStorageOpalLibInternal.hTcgStorageOpalUtil.cTpm12CommandLibTpm12GetCapability.cTpm12NvStorage.cTpm12Ownership.cTpm12Pcr.cTpm12PhysicalPresence.cTpm12SelfTest.cTpm12Startup.cTpm12DeviceLibDTpmTpm12Tis.cTpm12DeviceLibTcgTpm12DeviceLibTcg.cTpm2CommandLibTpm2Capability.cTpm2Context.cTpm2DictionaryAttack.cTpm2EnhancedAuthorization.cTpm2Help.cTpm2Hierarchy.cTpm2Integrity.cTpm2Miscellaneous.cTpm2NVStorage.cTpm2Object.cTpm2Sequences.cTpm2Session.cTpm2Startup.cTpm2Test.cTpm2DeviceLibDTpmTpm2DeviceLibDTpm.cTpm2DeviceLibDTpm.hTpm2DeviceLibDTpmBase.cTpm2DeviceLibDTpmStandaloneMm.cTpm2InstanceLibDTpm.cTpm2Ptp.cTpm2Tis.cTpm2DeviceLibRouterTpm2DeviceLibRouterDxe.cTpm2DeviceLibRouterPei.cTpm2DeviceLibTcg2Tpm2DeviceLibTcg2.cTpmCommLibCommonHeader.hTisPc.cTpmComm.cPkcs7VerifyPkcs7VerifyDxePkcs7VerifyDxe.cRandomNumberGeneratorRngDxeAArch64AArch64Algo.cArmArmAlgo.cArmRngDxe.cArmTrng.cRandAesCore.cAesCore.hRdRand.cRngDxe.cRngDxe.cRngDxeInternals.hTcgMemoryOverwriteControlTcgMor.cTcgMor.hMemoryOverwriteRequestControlLockTcgMorLock.cTcgMorLock.hTcgMorLockSmm.cOpalOpalPasswordComponentName.cOpalDriver.cOpalDriver.hOpalHii.cOpalHii.hOpalHiiCallbacks.cOpalHiiFormValues.hOpalPasswordCommon.hOpalPasswordPei.cOpalPasswordPei.hPhysicalPresencePeiPhysicalPresencePei.cTcg2AcpiTcg2Acpi.cTcg2ConfigTcg2ConfigDriver.cTcg2ConfigImpl.cTcg2ConfigImpl.hTcg2ConfigNvData.hTcg2ConfigPeim.cTcg2Internal.hTpmDetection.cTcg2DxeMeasureBootPeCoff.cTcg2Dxe.cTcg2PeiTcg2Pei.cTcg2PlatformDxeTcg2PlatformDxe.cTcg2PlatformPeiTcg2PlatformPei.cTcg2SmmTcg2MmDependencyDxe.cTcg2Smm.cTcg2Smm.hTcg2StandaloneMm.cTcg2TraditionalMm.cTcgConfigDxeTcgConfigDriver.cTcgConfigImpl.cTcgConfigImpl.hTcgConfigNvData.hTcgDxeTcgDxe.cTcgPeiTcgPei.cTcgSmmTcgSmm.cTcgSmm.hTdTcg2DxeMeasureBootPeCoff.cTdTcg2Dxe.cTestMockIncludeGoogleTestLibraryMockPlatformPKProtectionLib.hVariableAuthenticatedSecureBootConfigDxeSecureBootConfigDevicePath.cSecureBootConfigDriver.cSecureBootConfigFileExplorer.cSecureBootConfigImpl.cSecureBootConfigImpl.hSecureBootConfigMisc.cSecureBootConfigNvData.hSecureBootDefaultKeysDxeSecureBootDefaultKeysDxe.cShellPkgApplicationAcpiViewAppAcpiViewApp.cShellConsoleLogger.cConsoleLogger.hConsoleWrappers.cConsoleWrappers.hFileHandleInternal.hFileHandleWrappers.cFileHandleWrappers.hShell.cShell.hShellEnvVar.cShellEnvVar.hShellManParser.cShellManParser.hShellParametersProtocol.cShellParametersProtocol.hShellProtocol.cShellProtocol.hShellCTestAppShellCTestApp.cShellExecTestAppSA.cShellSortTestAppShellSortTestApp.cDynamicCommandDpDynamicCommandDp.cDp.hDpApp.cDpDynamicCommand.cDpInternal.hDpTrace.cDpUtilities.cLiterals.cLiterals.hHttpDynamicCommandHttp.cHttp.hHttpApp.cHttpDynamicCommand.cTftpDynamicCommandTftp.cTftp.hTftpApp.cTftpDynamicCommand.cIncludeGuidShellAliasGuid.hShellEnvironment2Ext.hShellLibHiiGuid.hShellMapGuid.hShellPkgTokenSpace.hShellVariableGuid.hLibraryAcpiViewCommandLib.hBcfgCommandLib.hHandleParsingLib.hShellCEntryLib.hShellCommandLib.hShellLib.hProtocolEfiShellEnvironment2.hEfiShellInterface.hLibraryUefiHandleParsingLibUefiHandleParsingLib.cUefiHandleParsingLib.hUefiShellAcpiViewCommandLibAcpiParser.cAcpiParser.hAcpiTableParser.cAcpiTableParser.hAcpiView.cAcpiView.hAcpiViewConfig.cAcpiViewConfig.hArmSbbrValidator.cSbbrValidator.hParsersAestAestParser.cApmtApmtParser.cBgrtBgrtParser.cDbg2Dbg2Parser.cDsdtDsdtParser.cErstErstParser.cFacsFacsParser.cFadtFadtParser.cGtdtGtdtParser.cHmatHmatParser.cIortIortParser.cMadtMadtParser.cMadtParser.hMcfgMcfgParser.cPcctPcctParser.cPcctParser.hPpttPpttParser.cPpttParser.hRsdpRsdpParser.cSlitSlitParser.cSpcrSpcrParser.cSratSratParser.cSsdtSsdtParser.cXsdtXsdtParser.cUefiShellAcpiViewCommandLib.cUefiShellBcfgCommandLibUefiShellBcfgCommandLib.cUefiShellCEntryLibUefiShellCEntryLib.cUefiShellCommandLibConsistMapping.cUefiShellCommandLib.cUefiShellCommandLib.hUefiShellDebug1CommandsLibComp.cCompress.cCompress.hDblk.cDmem.cDmpStore.cEditEdit.cFileBuffer.cFileBuffer.hMainTextEditor.cMainTextEditor.hMisc.cMisc.hTextEditor.hTextEditorTypes.hEditInputBar.cEditInputBar.hEditMenuBar.cEditMenuBar.hEditStatusBar.cEditStatusBar.hEditTitleBar.cEditTitleBar.hEfiCompress.cEfiDecompress.cHexEditBufferImage.cBufferImage.hClipboard.cClipboard.hDiskImage.cDiskImage.hFileImage.cFileImage.hHexEdit.cHexEditor.hHexEditorTypes.hMainHexEditor.cMainHexEditor.hMemImage.cMemImage.hMisc.cMisc.hLoadPciRom.cMemMap.cMm.cMode.cPci.cPci.hSerMode.cSetSize.cSetVar.cSmbiosViewEventLogInfo.cEventLogInfo.hLibSmbiosView.cLibSmbiosView.hPrintInfo.cPrintInfo.hQueryTable.cQueryTable.hSmbiosView.cSmbiosView.hUefiShellDebug1CommandsLib.cUefiShellDebug1CommandsLib.hUefiShellDriver1CommandsLibConnect.cDevTree.cDevices.cDh.cDisconnect.cDrivers.cDrvCfg.cDrvDiag.cOpenInfo.cReconnect.cUefiShellDriver1CommandsLib.cUefiShellDriver1CommandsLib.hUnload.cUefiShellInstall1CommandsLibUefiShellInstall1CommandsLib.cUefiShellLevel1CommandsLibExit.cFor.cGoto.cIf.cShift.cStall.cUefiShellLevel1CommandsLib.cUefiShellLevel1CommandsLib.hUefiShellLevel2CommandsLibAttrib.cCd.cCp.cLoad.cLs.cMap.cMkDir.cMv.cParse.cReset.cRm.cSet.cTimeDate.cUefiShellLevel2CommandsLib.cUefiShellLevel2CommandsLib.hVol.cUefiShellLevel3CommandsLibAlias.cCls.cEcho.cGetMtc.cHelp.cPause.cTouch.cType.cUefiShellLevel3CommandsLib.cUefiShellLevel3CommandsLib.hVer.cUefiShellLibUefiShellLib.cUefiShellLib.hUefiShellNetwork1CommandsLibIfconfig.cPing.cUefiShellNetwork1CommandsLib.cUefiShellNetwork1CommandsLib.hUefiShellNetwork2CommandsLibIfconfig6.cPing6.cUefiShellNetwork2CommandsLib.cUefiShellNetwork2CommandsLib.hUefiCpuPkgApplicationCpuidCpuid.cCpuDxeCpuDxe.cCpuDxe.hCpuGdt.cCpuGdt.hCpuMp.cCpuMp.hCpuPageTable.cCpuPageTable.hIa32PagingAttribute.cX64PagingAttribute.cCpuDxeRiscV64CpuDxe.cCpuDxe.hCpuFeaturesCpuFeaturesDxe.cCpuFeaturesPei.cCpuIo2DxeCpuIo2Dxe.cCpuIo2Dxe.hCpuIo2SmmCpuIo2Mm.cCpuIo2Mm.hCpuIo2Smm.cCpuIo2StandaloneMm.cCpuIoPeiCpuIoPei.cCpuIoPei.hCpuMpPeiCpuBist.cCpuMp2Pei.cCpuMpPei.cCpuMpPei.hCpuPaging.cCpuS3DataDxeCpuS3Data.cCpuTimerDxeRiscV64Timer.cTimer.hIncludeAcpiCpuData.hCpuHotPlugData.hGuidCpuFeaturesInitDone.hCpuFeaturesSetDone.hMicrocodePatchHob.hMsegSmram.hSmmBaseHob.hLibraryBaseRiscVMmuLib.hCcExitLib.hCpuCacheInfoLib.hCpuPageTableLib.hLocalApicLib.hMicrocodeLib.hMmSaveStateLib.hMpInitLib.hMtrrLib.hPlatformSecLib.hRegisterCpuFeaturesLib.hSmmCpuFeaturesLib.hSmmCpuPlatformHookLib.hPpiMpServices2.hRepublishSecPpi.hShadowMicrocode.hProtocolRiscVBootProtocol.hSmMonitorInit.hSmmCpuService.hRegisterArchitecturalMsr.hCpuid.hLocalApic.hMicrocode.hMsr.hSmramSaveStateMap.hStmApi.hLibraryBaseRiscV64CpuExceptionHandlerLibCpuExceptionHandlerLib.cCpuExceptionHandlerLib.hBaseRiscV64CpuTimerLibCpuTimerLib.cBaseRiscVMmuLibBaseRiscVMmuLib.cBaseXApicLibBaseXApicLib.cBaseXApicX2ApicLibBaseXApicX2ApicLib.cCcExitLibNullCcExitLibNull.cCpuCacheInfoLibCpuCacheInfoLib.cDxeCpuCacheInfoLib.cInternalCpuCacheInfoLib.hPeiCpuCacheInfoLib.cCpuCommonFeaturesLibAesni.cC1e.cClockModulation.cCpuCommonFeatures.hCpuCommonFeaturesLib.cEist.cFastStrings.cFeatureControl.cLimitCpuIdMaxval.cMachineCheck.cMonitorMwait.cPendingBreak.cPpin.cProcTrace.cX2Apic.cCpuExceptionHandlerLibCpuExceptionCommon.cCpuExceptionCommon.hDxeException.cIa32ArchExceptionHandler.cArchInterruptDefs.hPeiCpuException.cPeiDxeSmmCpuException.cSecPeiCpuException.cSmmException.cUnitTestCpuExceptionHandlerTest.hCpuExceptionHandlerTestCommon.cDxeCpuExceptionHandlerUnitTest.cIa32ArchExceptionHandlerTest.cPeiCpuExceptionHandlerUnitTest.cX64ArchExceptionHandlerTest.cX64ArchExceptionHandler.cArchInterruptDefs.hCpuPageTableLibCpuPageTable.hCpuPageTableMap.cCpuPageTableParse.cUnitTestCpuPageTableLibUnitTest.hCpuPageTableLibUnitTestHost.cRandomNumber.cRandomTest.cRandomTest.hTestHelper.cCpuTimerLibBaseCpuTimerLib.cCpuTimerLib.cMicrocodeLibMicrocodeLib.cMmSaveStateLibAmdMmSaveState.cIntelMmSaveState.cMmSaveState.hMmSaveStateCommon.cMpInitLibAmdSev.cDxeMpLib.cIa32AmdSev.cCreatePageTable.cMicrocode.cMpHandOff.hMpLib.cMpLib.hPeiMpLib.cX64AmdSev.cCreatePageTable.cMpInitLibUpMpInitLibUp.cMtrrLibMtrrLib.cUnitTestMtrrLibUnitTest.cMtrrLibUnitTest.hRandomNumber.cSupport.cPlatformSecLibNullPlatformSecLibNull.cRegisterCpuFeaturesLibCpuFeaturesInitialize.cDxeRegisterCpuFeaturesLib.cPeiRegisterCpuFeaturesLib.cRegisterCpuFeatures.hRegisterCpuFeaturesLib.cSecPeiDxeTimerLibUefiCpuX86TimerLib.cSmmCpuFeaturesLibAmdSmmCpuFeaturesLib.cCpuFeaturesLib.hIa32SmmStmSupport.cIntelSmmCpuFeaturesLib.cSmmCpuFeaturesLib.cSmmCpuFeaturesLibCommon.cSmmCpuFeaturesLibNoStm.cSmmStm.cSmmStm.hStandaloneMmCpuFeaturesLib.cTraditionalMmCpuFeaturesLib.cX64SmmStmSupport.cSmmCpuPlatformHookLibNullSmmCpuPlatformHookLibNull.cSmmCpuRendezvousLibSmmCpuRendezvousLib.cMicrocodeMeasurementDxeMicrocodeMeasurementDxe.cPiSmmCommunicationPiSmmCommunicationPei.cPiSmmCommunicationPrivate.hPiSmmCommunicationSmm.cPiSmmCpuDxeSmmCpuS3.cCpuService.cCpuService.hIa32PageTbl.cSemaphore.cSmmFuncsArch.cSmmProfileArch.cSmmProfileArch.hMpService.cPiSmmCpuDxeSmm.cPiSmmCpuDxeSmm.hSmmCpuMemoryManagement.cSmmMp.cSmmMp.hSmmMpPerf.cSmmMpPerf.hSmmProfile.cSmmProfile.hSmmProfileInternal.hSmramSaveState.cSyncTimer.cX64PageTbl.cSemaphore.cSmmFuncsArch.cSmmProfileArch.cSmmProfileArch.hSecCoreFindPeiCore.cSecBist.cSecMain.cSecMain.hSecMigrationPeiSecMigrationPei.cSecMigrationPei.hTestUnitTestEfiMpServicesPpiProtocolEdkiiPeiMpServices2PpiUnitTest.cEfiMpServiceProtocolDynamicCmdUnitTest.cEfiMpServiceProtocolUnitTest.cEfiMpServicesUnitTestCommom.cEfiMpServicesUnitTestCommom.hUniversalAcpiS3Resume2PeiS3Resume.c/usr/lib//usr/lib/debug//usr/lib/debug/ovmf-x86_64-4m//usr/lib/debug/ovmf-x86_64-4m/DebugPkg//usr/lib/debug/ovmf-x86_64-4m/DebugPkg/GdbSyms//usr/lib/debug/ovmf-x86_64-4m/DebugPkg/GdbSyms/GdbSyms//usr/lib/debug/ovmf-x86_64-4m/DebugPkg/GdbSyms/GdbSyms/DEBUG//usr/lib/debug/ovmf-x86_64-4m/FatPkg//usr/lib/debug/ovmf-x86_64-4m/FatPkg/EnhancedFatDxe//usr/lib/debug/ovmf-x86_64-4m/FatPkg/EnhancedFatDxe/Fat//usr/lib/debug/ovmf-x86_64-4m/FatPkg/EnhancedFatDxe/Fat/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Application//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Application/UiApp//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Application/UiApp/UiApp//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Application/UiApp/UiApp/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Ata//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Ata/AtaAtapiPassThru//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Ata/AtaBusDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Isa//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Isa/Ps2KeyboardDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Pci//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Pci/EhciDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Pci/NvmExpressDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Pci/PciBusDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Pci/PciHostBridgeDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Pci/PciSioSerialDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Pci/SataControllerDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Pci/UhciDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Pci/XhciDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Scsi//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Scsi/ScsiBusDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Scsi/ScsiDiskDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Usb//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Usb/UsbBusDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Usb/UsbKbDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Usb/UsbMassStorageDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Core//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Core/Dxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Core/Dxe/DxeMain//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Core/Dxe/DxeMain/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Core/DxeIplPeim//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Core/DxeIplPeim/DxeIpl//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Core/DxeIplPeim/DxeIpl/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Core/Pei//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Core/Pei/PeiMain//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Core/Pei/PeiMain/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Core/RuntimeDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Core/RuntimeDxe/RuntimeDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Core/RuntimeDxe/RuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Logo//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Logo/LogoDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Logo/LogoDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Acpi//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Acpi/AcpiTableDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Acpi/S3SaveStateDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/BdsDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/BdsDxe/BdsDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/BdsDxe/BdsDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/CapsuleRuntimeDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Console//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Console/ConPlatformDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Console/ConSplitterDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Console/GraphicsConsoleDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Console/TerminalDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/DevicePathDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Disk//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Disk/DiskIoDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Disk/PartitionDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Disk/RamDiskDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Disk/UdfDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Disk/UnicodeCollation//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/DisplayEngineDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/DriverHealthManagerDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/EbcDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/EbcDxe/EbcDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/EbcDxe/EbcDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/FaultTolerantWriteDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/HiiDatabaseDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/MemoryTest//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Metronome//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Metronome/Metronome//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Metronome/Metronome/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/PCD//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/PCD/Dxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/PCD/Dxe/Pcd//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/PCD/Dxe/Pcd/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/PCD/Pei//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/PCD/Pei/Pcd//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/PCD/Pei/Pcd/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/ReportStatusCodeRouter//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/ReportStatusCodeRouter/Pei//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/ResetSystemRuntimeDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/SecurityStubDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/SetupBrowserDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/SmbiosDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/StatusCodeHandler//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/StatusCodeHandler/Pei//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Variable//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Variable/RuntimeDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/WatchdogTimerDxe//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer//usr/lib/debug/ovmf-x86_64-4m/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer/DEBUG//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/ArpDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/ArpDxe/ArpDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/ArpDxe/ArpDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/Dhcp4Dxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/Dhcp4Dxe/Dhcp4Dxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/Dhcp4Dxe/Dhcp4Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/Dhcp6Dxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/Dhcp6Dxe/Dhcp6Dxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/Dhcp6Dxe/Dhcp6Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/DnsDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/DnsDxe/DnsDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/DnsDxe/DnsDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/DpcDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/DpcDxe/DpcDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/DpcDxe/DpcDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/HttpBootDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/HttpBootDxe/HttpBootDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/HttpBootDxe/HttpBootDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/HttpDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/HttpDxe/HttpDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/HttpDxe/HttpDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/HttpUtilitiesDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/IScsiDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/IScsiDxe/IScsiDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/IScsiDxe/IScsiDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/Ip4Dxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/Ip4Dxe/Ip4Dxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/Ip4Dxe/Ip4Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/Ip6Dxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/Ip6Dxe/Ip6Dxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/Ip6Dxe/Ip6Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/MnpDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/MnpDxe/MnpDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/MnpDxe/MnpDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/Mtftp4Dxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/Mtftp4Dxe/Mtftp4Dxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/Mtftp4Dxe/Mtftp4Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/Mtftp6Dxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/Mtftp6Dxe/Mtftp6Dxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/Mtftp6Dxe/Mtftp6Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/SnpDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/SnpDxe/SnpDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/SnpDxe/SnpDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/TcpDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/TcpDxe/TcpDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/TcpDxe/TcpDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/TlsAuthConfigDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/TlsDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/TlsDxe/TlsDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/TlsDxe/TlsDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/Udp4Dxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/Udp4Dxe/Udp4Dxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/Udp4Dxe/Udp4Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/Udp6Dxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/Udp6Dxe/Udp6Dxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/Udp6Dxe/Udp6Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/UefiPxeBcDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/VlanConfigDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/VlanConfigDxe/VlanConfigDxe//usr/lib/debug/ovmf-x86_64-4m/NetworkPkg/VlanConfigDxe/VlanConfigDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/AcpiPlatformDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/AmdSevDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/AmdSevDxe/AmdSevDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/AmdSevDxe/AmdSevDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/EmuVariableFvbRuntimeDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/EnrollDefaultKeys//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/IncompatiblePciDeviceSupportDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/IoMmuDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/IoMmuDxe/IoMmuDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/IoMmuDxe/IoMmuDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/LinuxInitrdDynamicShellCommand//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/LocalApicTimerDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/PciHotPlugInitDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/PlatformDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/PlatformDxe/Platform//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/PlatformDxe/Platform/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/PlatformPei//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/PlatformPei/PlatformPei//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/PlatformPei/PlatformPei/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/QemuFlashFvbServicesRuntimeDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/QemuKernelLoaderFsDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/QemuRamfbDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/QemuRamfbDxe/QemuRamfbDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/QemuRamfbDxe/QemuRamfbDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/QemuVideoDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/QemuVideoDxe/QemuVideoDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/QemuVideoDxe/QemuVideoDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/Sec//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/Sec/SecMain//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/Sec/SecMain/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/SioBusDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/SioBusDxe/SioBusDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/SioBusDxe/SioBusDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/SmbiosPlatformDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/Tcg//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/Tcg/Tcg2Config//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/Tcg/Tcg2Config/Tcg12ConfigPei//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/Tcg/Tcg2Config/Tcg12ConfigPei/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/Tcg/TpmMmioSevDecryptPei//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/Tcg/TpmMmioSevDecryptPei/TpmMmioSevDecryptPei//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/Tcg/TpmMmioSevDecryptPei/TpmMmioSevDecryptPei/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/TdxDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/TdxDxe/TdxDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/TdxDxe/TdxDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/Virtio10Dxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/Virtio10Dxe/Virtio10//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/Virtio10Dxe/Virtio10/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/VirtioBlkDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/VirtioBlkDxe/VirtioBlk//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/VirtioBlkDxe/VirtioBlk/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/VirtioFsDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/VirtioFsDxe/VirtioFsDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/VirtioFsDxe/VirtioFsDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/VirtioGpuDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/VirtioGpuDxe/VirtioGpu//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/VirtioGpuDxe/VirtioGpu/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/VirtioNetDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/VirtioNetDxe/VirtioNet//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/VirtioNetDxe/VirtioNet/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/VirtioPciDeviceDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/VirtioRngDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/VirtioRngDxe/VirtioRng//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/VirtioRngDxe/VirtioRng/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/VirtioScsiDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/VirtioScsiDxe/VirtioScsi//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/VirtioScsiDxe/VirtioScsi/DEBUG//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/VirtioSerialDxe//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/VirtioSerialDxe/VirtioSerial//usr/lib/debug/ovmf-x86_64-4m/OvmfPkg/VirtioSerialDxe/VirtioSerial/DEBUG//usr/lib/debug/ovmf-x86_64-4m/PcAtChipsetPkg//usr/lib/debug/ovmf-x86_64-4m/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe//usr/lib/debug/ovmf-x86_64-4m/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe//usr/lib/debug/ovmf-x86_64-4m/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg/Tcg//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg/Tcg/Tcg2Config//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg/Tcg/Tcg2Dxe//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg/Tcg/Tcg2Pei//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei/DEBUG//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg/Tcg/Tcg2PlatformDxe//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg/Tcg/Tcg2PlatformDxe/Tcg2PlatformDxe//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg/Tcg/Tcg2PlatformDxe/Tcg2PlatformDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg/Tcg/Tcg2PlatformPei//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg/Tcg/Tcg2PlatformPei/Tcg2PlatformPei//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg/Tcg/Tcg2PlatformPei/Tcg2PlatformPei/DEBUG//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg/Tcg/TcgDxe//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg/Tcg/TcgDxe/TcgDxe//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg/Tcg/TcgDxe/TcgDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg/Tcg/TcgPei//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg/Tcg/TcgPei/TcgPei//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg/Tcg/TcgPei/TcgPei/DEBUG//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg/VariableAuthenticated//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe//usr/lib/debug/ovmf-x86_64-4m/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/ShellPkg//usr/lib/debug/ovmf-x86_64-4m/ShellPkg/Application//usr/lib/debug/ovmf-x86_64-4m/ShellPkg/Application/Shell//usr/lib/debug/ovmf-x86_64-4m/ShellPkg/Application/Shell/Shell//usr/lib/debug/ovmf-x86_64-4m/ShellPkg/Application/Shell/Shell/DEBUG//usr/lib/debug/ovmf-x86_64-4m/ShellPkg/DynamicCommand//usr/lib/debug/ovmf-x86_64-4m/ShellPkg/DynamicCommand/HttpDynamicCommand//usr/lib/debug/ovmf-x86_64-4m/ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand//usr/lib/debug/ovmf-x86_64-4m/ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand/DEBUG//usr/lib/debug/ovmf-x86_64-4m/ShellPkg/DynamicCommand/TftpDynamicCommand//usr/lib/debug/ovmf-x86_64-4m/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand//usr/lib/debug/ovmf-x86_64-4m/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand/DEBUG//usr/lib/debug/ovmf-x86_64-4m/UefiCpuPkg//usr/lib/debug/ovmf-x86_64-4m/UefiCpuPkg/CpuDxe//usr/lib/debug/ovmf-x86_64-4m/UefiCpuPkg/CpuDxe/6490f1c5-ebcc-4665-8892-0075b9bb49b7//usr/lib/debug/ovmf-x86_64-4m/UefiCpuPkg/CpuDxe/6490f1c5-ebcc-4665-8892-0075b9bb49b7/DEBUG//usr/lib/debug/ovmf-x86_64-4m/UefiCpuPkg/CpuDxe/CpuDxe//usr/lib/debug/ovmf-x86_64-4m/UefiCpuPkg/CpuDxe/CpuDxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/UefiCpuPkg/CpuIo2Dxe//usr/lib/debug/ovmf-x86_64-4m/UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe//usr/lib/debug/ovmf-x86_64-4m/UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-4m/UefiCpuPkg/CpuMpPei//usr/lib/debug/ovmf-x86_64-4m/UefiCpuPkg/CpuMpPei/280251c4-1d09-4035-9062-839acb5f18c1//usr/lib/debug/ovmf-x86_64-4m/UefiCpuPkg/CpuMpPei/280251c4-1d09-4035-9062-839acb5f18c1/DEBUG//usr/lib/debug/ovmf-x86_64-4m/UefiCpuPkg/CpuMpPei/CpuMpPei//usr/lib/debug/ovmf-x86_64-4m/UefiCpuPkg/CpuMpPei/CpuMpPei/DEBUG//usr/lib/debug/ovmf-x86_64-4m/UefiCpuPkg/Universal//usr/lib/debug/ovmf-x86_64-4m/UefiCpuPkg/Universal/Acpi//usr/lib/debug/ovmf-x86_64-4m/UefiCpuPkg/Universal/Acpi/S3Resume2Pei//usr/lib/debug/ovmf-x86_64-4m/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei//usr/lib/debug/ovmf-x86_64-4m/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei/DEBUG//usr/lib/debug/ovmf-x86_64-sev//usr/lib/debug/ovmf-x86_64-sev/DebugPkg//usr/lib/debug/ovmf-x86_64-sev/DebugPkg/GdbSyms//usr/lib/debug/ovmf-x86_64-sev/DebugPkg/GdbSyms/GdbSyms//usr/lib/debug/ovmf-x86_64-sev/DebugPkg/GdbSyms/GdbSyms/DEBUG//usr/lib/debug/ovmf-x86_64-sev/FatPkg//usr/lib/debug/ovmf-x86_64-sev/FatPkg/EnhancedFatDxe//usr/lib/debug/ovmf-x86_64-sev/FatPkg/EnhancedFatDxe/Fat//usr/lib/debug/ovmf-x86_64-sev/FatPkg/EnhancedFatDxe/Fat/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Application//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Application/UiApp//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Application/UiApp/UiApp//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Application/UiApp/UiApp/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Ata//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Ata/AtaAtapiPassThru//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Ata/AtaBusDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Isa//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Isa/Ps2KeyboardDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Pci//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Pci/EhciDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Pci/NvmExpressDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Pci/PciBusDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Pci/PciHostBridgeDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Pci/PciSioSerialDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Pci/SataControllerDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Pci/UhciDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Pci/XhciDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Scsi//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Scsi/ScsiBusDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Scsi/ScsiDiskDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Usb//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Usb/UsbBusDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Usb/UsbKbDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Usb/UsbMassStorageDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Core//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Core/Dxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Core/Dxe/DxeMain//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Core/Dxe/DxeMain/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Core/DxeIplPeim//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Core/DxeIplPeim/DxeIpl//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Core/DxeIplPeim/DxeIpl/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Core/Pei//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Core/Pei/PeiMain//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Core/Pei/PeiMain/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Core/RuntimeDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Core/RuntimeDxe/RuntimeDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Core/RuntimeDxe/RuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Logo//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Logo/LogoDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Logo/LogoDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Acpi//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Acpi/AcpiTableDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Acpi/S3SaveStateDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/BdsDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/BdsDxe/BdsDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/BdsDxe/BdsDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/CapsuleRuntimeDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Console//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Console/ConPlatformDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Console/ConSplitterDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Console/GraphicsConsoleDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Console/TerminalDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/DevicePathDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Disk//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Disk/DiskIoDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Disk/PartitionDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Disk/RamDiskDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Disk/UdfDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Disk/UnicodeCollation//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/DisplayEngineDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/DriverHealthManagerDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/EbcDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/EbcDxe/EbcDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/EbcDxe/EbcDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/FaultTolerantWriteDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/HiiDatabaseDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/MemoryTest//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Metronome//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Metronome/Metronome//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Metronome/Metronome/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/PCD//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/PCD/Dxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/PCD/Dxe/Pcd//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/PCD/Dxe/Pcd/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/PCD/Pei//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/PCD/Pei/Pcd//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/PCD/Pei/Pcd/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/ReportStatusCodeRouter//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/ReportStatusCodeRouter/Pei//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/ResetSystemRuntimeDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/SecurityStubDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/SetupBrowserDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/SmbiosDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/StatusCodeHandler//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/StatusCodeHandler/Pei//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Variable//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Variable/RuntimeDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/WatchdogTimerDxe//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer//usr/lib/debug/ovmf-x86_64-sev/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer/DEBUG//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/ArpDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/ArpDxe/ArpDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/ArpDxe/ArpDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/Dhcp4Dxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/Dhcp4Dxe/Dhcp4Dxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/Dhcp4Dxe/Dhcp4Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/Dhcp6Dxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/Dhcp6Dxe/Dhcp6Dxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/Dhcp6Dxe/Dhcp6Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/DnsDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/DnsDxe/DnsDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/DnsDxe/DnsDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/DpcDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/DpcDxe/DpcDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/DpcDxe/DpcDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/HttpBootDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/HttpBootDxe/HttpBootDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/HttpBootDxe/HttpBootDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/HttpDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/HttpDxe/HttpDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/HttpDxe/HttpDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/HttpUtilitiesDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/IScsiDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/IScsiDxe/IScsiDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/IScsiDxe/IScsiDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/Ip4Dxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/Ip4Dxe/Ip4Dxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/Ip4Dxe/Ip4Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/Ip6Dxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/Ip6Dxe/Ip6Dxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/Ip6Dxe/Ip6Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/MnpDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/MnpDxe/MnpDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/MnpDxe/MnpDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/Mtftp4Dxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/Mtftp4Dxe/Mtftp4Dxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/Mtftp4Dxe/Mtftp4Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/Mtftp6Dxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/Mtftp6Dxe/Mtftp6Dxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/Mtftp6Dxe/Mtftp6Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/SnpDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/SnpDxe/SnpDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/SnpDxe/SnpDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/TcpDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/TcpDxe/TcpDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/TcpDxe/TcpDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/TlsAuthConfigDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/TlsDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/TlsDxe/TlsDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/TlsDxe/TlsDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/Udp4Dxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/Udp4Dxe/Udp4Dxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/Udp4Dxe/Udp4Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/Udp6Dxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/Udp6Dxe/Udp6Dxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/Udp6Dxe/Udp6Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/UefiPxeBcDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/VlanConfigDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/VlanConfigDxe/VlanConfigDxe//usr/lib/debug/ovmf-x86_64-sev/NetworkPkg/VlanConfigDxe/VlanConfigDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/AcpiPlatformDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/AmdSevDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/AmdSevDxe/AmdSevDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/AmdSevDxe/AmdSevDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/EmuVariableFvbRuntimeDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/EnrollDefaultKeys//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/IncompatiblePciDeviceSupportDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/IoMmuDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/IoMmuDxe/IoMmuDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/IoMmuDxe/IoMmuDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/LinuxInitrdDynamicShellCommand//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/LocalApicTimerDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/PciHotPlugInitDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/PlatformDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/PlatformDxe/Platform//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/PlatformDxe/Platform/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/PlatformPei//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/PlatformPei/PlatformPei//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/PlatformPei/PlatformPei/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/QemuFlashFvbServicesRuntimeDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/QemuKernelLoaderFsDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/QemuRamfbDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/QemuRamfbDxe/QemuRamfbDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/QemuRamfbDxe/QemuRamfbDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/QemuVideoDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/QemuVideoDxe/QemuVideoDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/QemuVideoDxe/QemuVideoDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/Sec//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/Sec/SecMain//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/Sec/SecMain/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/SioBusDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/SioBusDxe/SioBusDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/SioBusDxe/SioBusDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/SmbiosPlatformDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/Tcg//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/Tcg/Tcg2Config//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/Tcg/Tcg2Config/Tcg12ConfigPei//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/Tcg/Tcg2Config/Tcg12ConfigPei/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/Tcg/TpmMmioSevDecryptPei//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/Tcg/TpmMmioSevDecryptPei/TpmMmioSevDecryptPei//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/Tcg/TpmMmioSevDecryptPei/TpmMmioSevDecryptPei/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/TdxDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/TdxDxe/TdxDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/TdxDxe/TdxDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/Virtio10Dxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/Virtio10Dxe/Virtio10//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/Virtio10Dxe/Virtio10/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/VirtioBlkDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/VirtioBlkDxe/VirtioBlk//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/VirtioBlkDxe/VirtioBlk/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/VirtioFsDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/VirtioFsDxe/VirtioFsDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/VirtioFsDxe/VirtioFsDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/VirtioGpuDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/VirtioGpuDxe/VirtioGpu//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/VirtioGpuDxe/VirtioGpu/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/VirtioNetDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/VirtioNetDxe/VirtioNet//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/VirtioNetDxe/VirtioNet/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/VirtioPciDeviceDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/VirtioRngDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/VirtioRngDxe/VirtioRng//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/VirtioRngDxe/VirtioRng/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/VirtioScsiDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/VirtioScsiDxe/VirtioScsi//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/VirtioScsiDxe/VirtioScsi/DEBUG//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/VirtioSerialDxe//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/VirtioSerialDxe/VirtioSerial//usr/lib/debug/ovmf-x86_64-sev/OvmfPkg/VirtioSerialDxe/VirtioSerial/DEBUG//usr/lib/debug/ovmf-x86_64-sev/PcAtChipsetPkg//usr/lib/debug/ovmf-x86_64-sev/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe//usr/lib/debug/ovmf-x86_64-sev/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe//usr/lib/debug/ovmf-x86_64-sev/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg/Tcg//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg/Tcg/Tcg2Config//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg/Tcg/Tcg2Dxe//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg/Tcg/Tcg2Pei//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei/DEBUG//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg/Tcg/Tcg2PlatformDxe//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg/Tcg/Tcg2PlatformDxe/Tcg2PlatformDxe//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg/Tcg/Tcg2PlatformDxe/Tcg2PlatformDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg/Tcg/Tcg2PlatformPei//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg/Tcg/Tcg2PlatformPei/Tcg2PlatformPei//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg/Tcg/Tcg2PlatformPei/Tcg2PlatformPei/DEBUG//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg/Tcg/TcgDxe//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg/Tcg/TcgDxe/TcgDxe//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg/Tcg/TcgDxe/TcgDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg/Tcg/TcgPei//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg/Tcg/TcgPei/TcgPei//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg/Tcg/TcgPei/TcgPei/DEBUG//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg/VariableAuthenticated//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe//usr/lib/debug/ovmf-x86_64-sev/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/ShellPkg//usr/lib/debug/ovmf-x86_64-sev/ShellPkg/Application//usr/lib/debug/ovmf-x86_64-sev/ShellPkg/Application/Shell//usr/lib/debug/ovmf-x86_64-sev/ShellPkg/Application/Shell/Shell//usr/lib/debug/ovmf-x86_64-sev/ShellPkg/Application/Shell/Shell/DEBUG//usr/lib/debug/ovmf-x86_64-sev/ShellPkg/DynamicCommand//usr/lib/debug/ovmf-x86_64-sev/ShellPkg/DynamicCommand/HttpDynamicCommand//usr/lib/debug/ovmf-x86_64-sev/ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand//usr/lib/debug/ovmf-x86_64-sev/ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand/DEBUG//usr/lib/debug/ovmf-x86_64-sev/ShellPkg/DynamicCommand/TftpDynamicCommand//usr/lib/debug/ovmf-x86_64-sev/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand//usr/lib/debug/ovmf-x86_64-sev/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand/DEBUG//usr/lib/debug/ovmf-x86_64-sev/UefiCpuPkg//usr/lib/debug/ovmf-x86_64-sev/UefiCpuPkg/CpuDxe//usr/lib/debug/ovmf-x86_64-sev/UefiCpuPkg/CpuDxe/6490f1c5-ebcc-4665-8892-0075b9bb49b7//usr/lib/debug/ovmf-x86_64-sev/UefiCpuPkg/CpuDxe/6490f1c5-ebcc-4665-8892-0075b9bb49b7/DEBUG//usr/lib/debug/ovmf-x86_64-sev/UefiCpuPkg/CpuDxe/CpuDxe//usr/lib/debug/ovmf-x86_64-sev/UefiCpuPkg/CpuDxe/CpuDxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/UefiCpuPkg/CpuIo2Dxe//usr/lib/debug/ovmf-x86_64-sev/UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe//usr/lib/debug/ovmf-x86_64-sev/UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-sev/UefiCpuPkg/CpuMpPei//usr/lib/debug/ovmf-x86_64-sev/UefiCpuPkg/CpuMpPei/280251c4-1d09-4035-9062-839acb5f18c1//usr/lib/debug/ovmf-x86_64-sev/UefiCpuPkg/CpuMpPei/280251c4-1d09-4035-9062-839acb5f18c1/DEBUG//usr/lib/debug/ovmf-x86_64-sev/UefiCpuPkg/CpuMpPei/CpuMpPei//usr/lib/debug/ovmf-x86_64-sev/UefiCpuPkg/CpuMpPei/CpuMpPei/DEBUG//usr/lib/debug/ovmf-x86_64-sev/UefiCpuPkg/Universal//usr/lib/debug/ovmf-x86_64-sev/UefiCpuPkg/Universal/Acpi//usr/lib/debug/ovmf-x86_64-sev/UefiCpuPkg/Universal/Acpi/S3Resume2Pei//usr/lib/debug/ovmf-x86_64-sev/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei//usr/lib/debug/ovmf-x86_64-sev/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei/DEBUG//usr/lib/debug/ovmf-x86_64-smm//usr/lib/debug/ovmf-x86_64-smm/DebugPkg//usr/lib/debug/ovmf-x86_64-smm/DebugPkg/GdbSyms//usr/lib/debug/ovmf-x86_64-smm/DebugPkg/GdbSyms/GdbSyms//usr/lib/debug/ovmf-x86_64-smm/DebugPkg/GdbSyms/GdbSyms/DEBUG//usr/lib/debug/ovmf-x86_64-smm/FatPkg//usr/lib/debug/ovmf-x86_64-smm/FatPkg/EnhancedFatDxe//usr/lib/debug/ovmf-x86_64-smm/FatPkg/EnhancedFatDxe/Fat//usr/lib/debug/ovmf-x86_64-smm/FatPkg/EnhancedFatDxe/Fat/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Application//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Application/UiApp//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Application/UiApp/UiApp//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Application/UiApp/UiApp/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Ata//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Ata/AtaAtapiPassThru//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Ata/AtaBusDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Isa//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Isa/Ps2KeyboardDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Pci//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Pci/EhciDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Pci/NvmExpressDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Pci/PciBusDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Pci/PciHostBridgeDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Pci/PciSioSerialDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Pci/SataControllerDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Pci/UhciDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Pci/XhciDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Scsi//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Scsi/ScsiBusDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Scsi/ScsiDiskDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Usb//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Usb/UsbBusDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Usb/UsbKbDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Usb/UsbMassStorageDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Core//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Core/Dxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Core/Dxe/DxeMain//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Core/Dxe/DxeMain/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Core/DxeIplPeim//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Core/DxeIplPeim/DxeIpl//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Core/DxeIplPeim/DxeIpl/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Core/Pei//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Core/Pei/PeiMain//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Core/Pei/PeiMain/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Core/RuntimeDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Core/RuntimeDxe/RuntimeDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Core/RuntimeDxe/RuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Logo//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Logo/LogoDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Logo/LogoDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Acpi//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Acpi/AcpiTableDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Acpi/S3SaveStateDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/BdsDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/BdsDxe/BdsDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/BdsDxe/BdsDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/CapsuleRuntimeDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Console//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Console/ConPlatformDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Console/ConSplitterDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Console/GraphicsConsoleDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Console/TerminalDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/DevicePathDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Disk//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Disk/DiskIoDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Disk/PartitionDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Disk/RamDiskDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Disk/UdfDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Disk/UnicodeCollation//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/DisplayEngineDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/DriverHealthManagerDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/EbcDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/EbcDxe/EbcDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/EbcDxe/EbcDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/FaultTolerantWriteDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/HiiDatabaseDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/MemoryTest//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Metronome//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Metronome/Metronome//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Metronome/Metronome/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/PCD//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/PCD/Dxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/PCD/Dxe/Pcd//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/PCD/Dxe/Pcd/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/PCD/Pei//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/PCD/Pei/Pcd//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/PCD/Pei/Pcd/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/ReportStatusCodeRouter//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/ReportStatusCodeRouter/Pei//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/ResetSystemRuntimeDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/SecurityStubDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/SetupBrowserDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/SmbiosDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/StatusCodeHandler//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/StatusCodeHandler/Pei//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Variable//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Variable/RuntimeDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/WatchdogTimerDxe//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer//usr/lib/debug/ovmf-x86_64-smm/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer/DEBUG//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/ArpDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/ArpDxe/ArpDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/ArpDxe/ArpDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/Dhcp4Dxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/Dhcp4Dxe/Dhcp4Dxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/Dhcp4Dxe/Dhcp4Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/Dhcp6Dxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/Dhcp6Dxe/Dhcp6Dxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/Dhcp6Dxe/Dhcp6Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/DnsDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/DnsDxe/DnsDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/DnsDxe/DnsDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/DpcDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/DpcDxe/DpcDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/DpcDxe/DpcDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/HttpBootDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/HttpBootDxe/HttpBootDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/HttpBootDxe/HttpBootDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/HttpDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/HttpDxe/HttpDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/HttpDxe/HttpDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/HttpUtilitiesDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/IScsiDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/IScsiDxe/IScsiDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/IScsiDxe/IScsiDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/Ip4Dxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/Ip4Dxe/Ip4Dxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/Ip4Dxe/Ip4Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/Ip6Dxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/Ip6Dxe/Ip6Dxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/Ip6Dxe/Ip6Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/MnpDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/MnpDxe/MnpDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/MnpDxe/MnpDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/Mtftp4Dxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/Mtftp4Dxe/Mtftp4Dxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/Mtftp4Dxe/Mtftp4Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/Mtftp6Dxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/Mtftp6Dxe/Mtftp6Dxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/Mtftp6Dxe/Mtftp6Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/SnpDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/SnpDxe/SnpDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/SnpDxe/SnpDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/TcpDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/TcpDxe/TcpDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/TcpDxe/TcpDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/TlsAuthConfigDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/TlsDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/TlsDxe/TlsDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/TlsDxe/TlsDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/Udp4Dxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/Udp4Dxe/Udp4Dxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/Udp4Dxe/Udp4Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/Udp6Dxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/Udp6Dxe/Udp6Dxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/Udp6Dxe/Udp6Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/UefiPxeBcDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/VlanConfigDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/VlanConfigDxe/VlanConfigDxe//usr/lib/debug/ovmf-x86_64-smm/NetworkPkg/VlanConfigDxe/VlanConfigDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/AcpiPlatformDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/AmdSevDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/AmdSevDxe/AmdSevDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/AmdSevDxe/AmdSevDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/EmuVariableFvbRuntimeDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/EnrollDefaultKeys//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/IncompatiblePciDeviceSupportDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/IoMmuDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/IoMmuDxe/IoMmuDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/IoMmuDxe/IoMmuDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/LinuxInitrdDynamicShellCommand//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/LocalApicTimerDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/PciHotPlugInitDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/PlatformDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/PlatformDxe/Platform//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/PlatformDxe/Platform/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/PlatformPei//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/PlatformPei/PlatformPei//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/PlatformPei/PlatformPei/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/QemuFlashFvbServicesRuntimeDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/QemuKernelLoaderFsDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/QemuRamfbDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/QemuRamfbDxe/QemuRamfbDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/QemuRamfbDxe/QemuRamfbDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/QemuVideoDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/QemuVideoDxe/QemuVideoDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/QemuVideoDxe/QemuVideoDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/Sec//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/Sec/SecMain//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/Sec/SecMain/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/SioBusDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/SioBusDxe/SioBusDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/SioBusDxe/SioBusDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/SmbiosPlatformDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/Tcg//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/Tcg/Tcg2Config//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/Tcg/Tcg2Config/Tcg12ConfigPei//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/Tcg/Tcg2Config/Tcg12ConfigPei/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/Tcg/TpmMmioSevDecryptPei//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/Tcg/TpmMmioSevDecryptPei/TpmMmioSevDecryptPei//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/Tcg/TpmMmioSevDecryptPei/TpmMmioSevDecryptPei/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/TdxDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/TdxDxe/TdxDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/TdxDxe/TdxDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/Virtio10Dxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/Virtio10Dxe/Virtio10//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/Virtio10Dxe/Virtio10/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/VirtioBlkDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/VirtioBlkDxe/VirtioBlk//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/VirtioBlkDxe/VirtioBlk/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/VirtioFsDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/VirtioFsDxe/VirtioFsDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/VirtioFsDxe/VirtioFsDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/VirtioGpuDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/VirtioGpuDxe/VirtioGpu//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/VirtioGpuDxe/VirtioGpu/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/VirtioNetDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/VirtioNetDxe/VirtioNet//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/VirtioNetDxe/VirtioNet/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/VirtioPciDeviceDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/VirtioRngDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/VirtioRngDxe/VirtioRng//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/VirtioRngDxe/VirtioRng/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/VirtioScsiDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/VirtioScsiDxe/VirtioScsi//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/VirtioScsiDxe/VirtioScsi/DEBUG//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/VirtioSerialDxe//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/VirtioSerialDxe/VirtioSerial//usr/lib/debug/ovmf-x86_64-smm/OvmfPkg/VirtioSerialDxe/VirtioSerial/DEBUG//usr/lib/debug/ovmf-x86_64-smm/PcAtChipsetPkg//usr/lib/debug/ovmf-x86_64-smm/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe//usr/lib/debug/ovmf-x86_64-smm/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe//usr/lib/debug/ovmf-x86_64-smm/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg/Tcg//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg/Tcg/Tcg2Config//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg/Tcg/Tcg2Dxe//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg/Tcg/Tcg2Pei//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei/DEBUG//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg/Tcg/Tcg2PlatformDxe//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg/Tcg/Tcg2PlatformDxe/Tcg2PlatformDxe//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg/Tcg/Tcg2PlatformDxe/Tcg2PlatformDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg/Tcg/Tcg2PlatformPei//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg/Tcg/Tcg2PlatformPei/Tcg2PlatformPei//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg/Tcg/Tcg2PlatformPei/Tcg2PlatformPei/DEBUG//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg/Tcg/TcgDxe//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg/Tcg/TcgDxe/TcgDxe//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg/Tcg/TcgDxe/TcgDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg/Tcg/TcgPei//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg/Tcg/TcgPei/TcgPei//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg/Tcg/TcgPei/TcgPei/DEBUG//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg/VariableAuthenticated//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe//usr/lib/debug/ovmf-x86_64-smm/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/ShellPkg//usr/lib/debug/ovmf-x86_64-smm/ShellPkg/Application//usr/lib/debug/ovmf-x86_64-smm/ShellPkg/Application/Shell//usr/lib/debug/ovmf-x86_64-smm/ShellPkg/Application/Shell/Shell//usr/lib/debug/ovmf-x86_64-smm/ShellPkg/Application/Shell/Shell/DEBUG//usr/lib/debug/ovmf-x86_64-smm/ShellPkg/DynamicCommand//usr/lib/debug/ovmf-x86_64-smm/ShellPkg/DynamicCommand/HttpDynamicCommand//usr/lib/debug/ovmf-x86_64-smm/ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand//usr/lib/debug/ovmf-x86_64-smm/ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand/DEBUG//usr/lib/debug/ovmf-x86_64-smm/ShellPkg/DynamicCommand/TftpDynamicCommand//usr/lib/debug/ovmf-x86_64-smm/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand//usr/lib/debug/ovmf-x86_64-smm/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand/DEBUG//usr/lib/debug/ovmf-x86_64-smm/UefiCpuPkg//usr/lib/debug/ovmf-x86_64-smm/UefiCpuPkg/CpuDxe//usr/lib/debug/ovmf-x86_64-smm/UefiCpuPkg/CpuDxe/6490f1c5-ebcc-4665-8892-0075b9bb49b7//usr/lib/debug/ovmf-x86_64-smm/UefiCpuPkg/CpuDxe/6490f1c5-ebcc-4665-8892-0075b9bb49b7/DEBUG//usr/lib/debug/ovmf-x86_64-smm/UefiCpuPkg/CpuDxe/CpuDxe//usr/lib/debug/ovmf-x86_64-smm/UefiCpuPkg/CpuDxe/CpuDxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/UefiCpuPkg/CpuIo2Dxe//usr/lib/debug/ovmf-x86_64-smm/UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe//usr/lib/debug/ovmf-x86_64-smm/UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe/DEBUG//usr/lib/debug/ovmf-x86_64-smm/UefiCpuPkg/CpuMpPei//usr/lib/debug/ovmf-x86_64-smm/UefiCpuPkg/CpuMpPei/280251c4-1d09-4035-9062-839acb5f18c1//usr/lib/debug/ovmf-x86_64-smm/UefiCpuPkg/CpuMpPei/280251c4-1d09-4035-9062-839acb5f18c1/DEBUG//usr/lib/debug/ovmf-x86_64-smm/UefiCpuPkg/CpuMpPei/CpuMpPei//usr/lib/debug/ovmf-x86_64-smm/UefiCpuPkg/CpuMpPei/CpuMpPei/DEBUG//usr/lib/debug/ovmf-x86_64-smm/UefiCpuPkg/Universal//usr/lib/debug/ovmf-x86_64-smm/UefiCpuPkg/Universal/Acpi//usr/lib/debug/ovmf-x86_64-smm/UefiCpuPkg/Universal/Acpi/S3Resume2Pei//usr/lib/debug/ovmf-x86_64-smm/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei//usr/lib/debug/ovmf-x86_64-smm/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei/DEBUG//usr/lib/debug/ovmf-x86_64//usr/lib/debug/ovmf-x86_64/DebugPkg//usr/lib/debug/ovmf-x86_64/DebugPkg/GdbSyms//usr/lib/debug/ovmf-x86_64/DebugPkg/GdbSyms/GdbSyms//usr/lib/debug/ovmf-x86_64/DebugPkg/GdbSyms/GdbSyms/DEBUG//usr/lib/debug/ovmf-x86_64/FatPkg//usr/lib/debug/ovmf-x86_64/FatPkg/EnhancedFatDxe//usr/lib/debug/ovmf-x86_64/FatPkg/EnhancedFatDxe/Fat//usr/lib/debug/ovmf-x86_64/FatPkg/EnhancedFatDxe/Fat/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Application//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Application/UiApp//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Application/UiApp/UiApp//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Application/UiApp/UiApp/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Ata//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Ata/AtaAtapiPassThru//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Ata/AtaBusDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Isa//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Isa/Ps2KeyboardDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/EhciDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/NvmExpressDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/PciBusDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/PciHostBridgeDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/PciSioSerialDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/SataControllerDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/UhciDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/XhciDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Scsi//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Scsi/ScsiBusDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Scsi/ScsiDiskDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Usb//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Usb/UsbBusDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Usb/UsbKbDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Usb/UsbMassStorageDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Core//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Core/Dxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Core/Dxe/DxeMain//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Core/Dxe/DxeMain/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Core/DxeIplPeim//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Core/DxeIplPeim/DxeIpl//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Core/DxeIplPeim/DxeIpl/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Core/Pei//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Core/Pei/PeiMain//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Core/Pei/PeiMain/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Core/RuntimeDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Core/RuntimeDxe/RuntimeDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Core/RuntimeDxe/RuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Logo//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Logo/LogoDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Logo/LogoDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Acpi//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Acpi/AcpiTableDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Acpi/S3SaveStateDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/BdsDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/BdsDxe/BdsDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/BdsDxe/BdsDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/CapsuleRuntimeDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Console//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Console/ConPlatformDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Console/ConSplitterDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Console/GraphicsConsoleDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Console/TerminalDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/DevicePathDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Disk//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Disk/DiskIoDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Disk/PartitionDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Disk/RamDiskDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Disk/UdfDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Disk/UnicodeCollation//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/DisplayEngineDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/DriverHealthManagerDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/EbcDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/EbcDxe/EbcDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/EbcDxe/EbcDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/FaultTolerantWriteDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/HiiDatabaseDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/MemoryTest//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Metronome//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Metronome/Metronome//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Metronome/Metronome/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/PCD//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/PCD/Dxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/PCD/Dxe/Pcd//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/PCD/Dxe/Pcd/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/PCD/Pei//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/PCD/Pei/Pcd//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/PCD/Pei/Pcd/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/ReportStatusCodeRouter//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/ReportStatusCodeRouter/Pei//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/ResetSystemRuntimeDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/SecurityStubDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/SetupBrowserDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/SmbiosDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/StatusCodeHandler//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/StatusCodeHandler/Pei//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Variable//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Variable/RuntimeDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/WatchdogTimerDxe//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer//usr/lib/debug/ovmf-x86_64/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer/DEBUG//usr/lib/debug/ovmf-x86_64/NetworkPkg//usr/lib/debug/ovmf-x86_64/NetworkPkg/ArpDxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/ArpDxe/ArpDxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/ArpDxe/ArpDxe/DEBUG//usr/lib/debug/ovmf-x86_64/NetworkPkg/Dhcp4Dxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/Dhcp4Dxe/Dhcp4Dxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/Dhcp4Dxe/Dhcp4Dxe/DEBUG//usr/lib/debug/ovmf-x86_64/NetworkPkg/Dhcp6Dxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/Dhcp6Dxe/Dhcp6Dxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/Dhcp6Dxe/Dhcp6Dxe/DEBUG//usr/lib/debug/ovmf-x86_64/NetworkPkg/DnsDxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/DnsDxe/DnsDxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/DnsDxe/DnsDxe/DEBUG//usr/lib/debug/ovmf-x86_64/NetworkPkg/DpcDxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/DpcDxe/DpcDxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/DpcDxe/DpcDxe/DEBUG//usr/lib/debug/ovmf-x86_64/NetworkPkg/HttpBootDxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/HttpBootDxe/HttpBootDxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/HttpBootDxe/HttpBootDxe/DEBUG//usr/lib/debug/ovmf-x86_64/NetworkPkg/HttpDxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/HttpDxe/HttpDxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/HttpDxe/HttpDxe/DEBUG//usr/lib/debug/ovmf-x86_64/NetworkPkg/HttpUtilitiesDxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe/DEBUG//usr/lib/debug/ovmf-x86_64/NetworkPkg/IScsiDxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/IScsiDxe/IScsiDxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/IScsiDxe/IScsiDxe/DEBUG//usr/lib/debug/ovmf-x86_64/NetworkPkg/Ip4Dxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/Ip4Dxe/Ip4Dxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/Ip4Dxe/Ip4Dxe/DEBUG//usr/lib/debug/ovmf-x86_64/NetworkPkg/Ip6Dxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/Ip6Dxe/Ip6Dxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/Ip6Dxe/Ip6Dxe/DEBUG//usr/lib/debug/ovmf-x86_64/NetworkPkg/MnpDxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/MnpDxe/MnpDxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/MnpDxe/MnpDxe/DEBUG//usr/lib/debug/ovmf-x86_64/NetworkPkg/Mtftp4Dxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/Mtftp4Dxe/Mtftp4Dxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/Mtftp4Dxe/Mtftp4Dxe/DEBUG//usr/lib/debug/ovmf-x86_64/NetworkPkg/Mtftp6Dxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/Mtftp6Dxe/Mtftp6Dxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/Mtftp6Dxe/Mtftp6Dxe/DEBUG//usr/lib/debug/ovmf-x86_64/NetworkPkg/SnpDxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/SnpDxe/SnpDxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/SnpDxe/SnpDxe/DEBUG//usr/lib/debug/ovmf-x86_64/NetworkPkg/TcpDxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/TcpDxe/TcpDxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/TcpDxe/TcpDxe/DEBUG//usr/lib/debug/ovmf-x86_64/NetworkPkg/Udp4Dxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/Udp4Dxe/Udp4Dxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/Udp4Dxe/Udp4Dxe/DEBUG//usr/lib/debug/ovmf-x86_64/NetworkPkg/Udp6Dxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/Udp6Dxe/Udp6Dxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/Udp6Dxe/Udp6Dxe/DEBUG//usr/lib/debug/ovmf-x86_64/NetworkPkg/UefiPxeBcDxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe/DEBUG//usr/lib/debug/ovmf-x86_64/NetworkPkg/VlanConfigDxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/VlanConfigDxe/VlanConfigDxe//usr/lib/debug/ovmf-x86_64/NetworkPkg/VlanConfigDxe/VlanConfigDxe/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg//usr/lib/debug/ovmf-x86_64/OvmfPkg/AcpiPlatformDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/AmdSevDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/AmdSevDxe/AmdSevDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/AmdSevDxe/AmdSevDxe/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/EmuVariableFvbRuntimeDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb//usr/lib/debug/ovmf-x86_64/OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/EnrollDefaultKeys//usr/lib/debug/ovmf-x86_64/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys//usr/lib/debug/ovmf-x86_64/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/IncompatiblePciDeviceSupportDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport//usr/lib/debug/ovmf-x86_64/OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/IoMmuDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/IoMmuDxe/IoMmuDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/IoMmuDxe/IoMmuDxe/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/LocalApicTimerDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/PciHotPlugInitDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit//usr/lib/debug/ovmf-x86_64/OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/PlatformDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/PlatformDxe/Platform//usr/lib/debug/ovmf-x86_64/OvmfPkg/PlatformDxe/Platform/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/PlatformPei//usr/lib/debug/ovmf-x86_64/OvmfPkg/PlatformPei/PlatformPei//usr/lib/debug/ovmf-x86_64/OvmfPkg/PlatformPei/PlatformPei/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/QemuFlashFvbServicesRuntimeDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/QemuKernelLoaderFsDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/QemuRamfbDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/QemuRamfbDxe/QemuRamfbDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/QemuRamfbDxe/QemuRamfbDxe/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/QemuVideoDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/QemuVideoDxe/QemuVideoDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/QemuVideoDxe/QemuVideoDxe/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/Sec//usr/lib/debug/ovmf-x86_64/OvmfPkg/Sec/SecMain//usr/lib/debug/ovmf-x86_64/OvmfPkg/Sec/SecMain/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/SioBusDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/SioBusDxe/SioBusDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/SioBusDxe/SioBusDxe/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/SmbiosPlatformDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/Tcg//usr/lib/debug/ovmf-x86_64/OvmfPkg/Tcg/Tcg2Config//usr/lib/debug/ovmf-x86_64/OvmfPkg/Tcg/Tcg2Config/Tcg12ConfigPei//usr/lib/debug/ovmf-x86_64/OvmfPkg/Tcg/Tcg2Config/Tcg12ConfigPei/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/Tcg/TpmMmioSevDecryptPei//usr/lib/debug/ovmf-x86_64/OvmfPkg/Tcg/TpmMmioSevDecryptPei/TpmMmioSevDecryptPei//usr/lib/debug/ovmf-x86_64/OvmfPkg/Tcg/TpmMmioSevDecryptPei/TpmMmioSevDecryptPei/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/TdxDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/TdxDxe/TdxDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/TdxDxe/TdxDxe/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/Virtio10Dxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/Virtio10Dxe/Virtio10//usr/lib/debug/ovmf-x86_64/OvmfPkg/Virtio10Dxe/Virtio10/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/VirtioBlkDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/VirtioBlkDxe/VirtioBlk//usr/lib/debug/ovmf-x86_64/OvmfPkg/VirtioBlkDxe/VirtioBlk/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/VirtioFsDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/VirtioFsDxe/VirtioFsDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/VirtioFsDxe/VirtioFsDxe/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/VirtioGpuDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/VirtioGpuDxe/VirtioGpu//usr/lib/debug/ovmf-x86_64/OvmfPkg/VirtioGpuDxe/VirtioGpu/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/VirtioNetDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/VirtioNetDxe/VirtioNet//usr/lib/debug/ovmf-x86_64/OvmfPkg/VirtioNetDxe/VirtioNet/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/VirtioPciDeviceDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/VirtioRngDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/VirtioRngDxe/VirtioRng//usr/lib/debug/ovmf-x86_64/OvmfPkg/VirtioRngDxe/VirtioRng/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/VirtioScsiDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/VirtioScsiDxe/VirtioScsi//usr/lib/debug/ovmf-x86_64/OvmfPkg/VirtioScsiDxe/VirtioScsi/DEBUG//usr/lib/debug/ovmf-x86_64/OvmfPkg/VirtioSerialDxe//usr/lib/debug/ovmf-x86_64/OvmfPkg/VirtioSerialDxe/VirtioSerial//usr/lib/debug/ovmf-x86_64/OvmfPkg/VirtioSerialDxe/VirtioSerial/DEBUG//usr/lib/debug/ovmf-x86_64/PcAtChipsetPkg//usr/lib/debug/ovmf-x86_64/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe//usr/lib/debug/ovmf-x86_64/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe//usr/lib/debug/ovmf-x86_64/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe/DEBUG//usr/lib/debug/ovmf-x86_64/SecurityPkg//usr/lib/debug/ovmf-x86_64/SecurityPkg/Tcg//usr/lib/debug/ovmf-x86_64/SecurityPkg/Tcg/Tcg2Config//usr/lib/debug/ovmf-x86_64/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe//usr/lib/debug/ovmf-x86_64/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe/DEBUG//usr/lib/debug/ovmf-x86_64/SecurityPkg/Tcg/Tcg2Dxe//usr/lib/debug/ovmf-x86_64/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe//usr/lib/debug/ovmf-x86_64/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe/DEBUG//usr/lib/debug/ovmf-x86_64/SecurityPkg/Tcg/Tcg2Pei//usr/lib/debug/ovmf-x86_64/SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei//usr/lib/debug/ovmf-x86_64/SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei/DEBUG//usr/lib/debug/ovmf-x86_64/SecurityPkg/Tcg/Tcg2PlatformDxe//usr/lib/debug/ovmf-x86_64/SecurityPkg/Tcg/Tcg2PlatformDxe/Tcg2PlatformDxe//usr/lib/debug/ovmf-x86_64/SecurityPkg/Tcg/Tcg2PlatformDxe/Tcg2PlatformDxe/DEBUG//usr/lib/debug/ovmf-x86_64/SecurityPkg/Tcg/Tcg2PlatformPei//usr/lib/debug/ovmf-x86_64/SecurityPkg/Tcg/Tcg2PlatformPei/Tcg2PlatformPei//usr/lib/debug/ovmf-x86_64/SecurityPkg/Tcg/Tcg2PlatformPei/Tcg2PlatformPei/DEBUG//usr/lib/debug/ovmf-x86_64/SecurityPkg/Tcg/TcgDxe//usr/lib/debug/ovmf-x86_64/SecurityPkg/Tcg/TcgDxe/TcgDxe//usr/lib/debug/ovmf-x86_64/SecurityPkg/Tcg/TcgDxe/TcgDxe/DEBUG//usr/lib/debug/ovmf-x86_64/SecurityPkg/Tcg/TcgPei//usr/lib/debug/ovmf-x86_64/SecurityPkg/Tcg/TcgPei/TcgPei//usr/lib/debug/ovmf-x86_64/SecurityPkg/Tcg/TcgPei/TcgPei/DEBUG//usr/lib/debug/ovmf-x86_64/SecurityPkg/VariableAuthenticated//usr/lib/debug/ovmf-x86_64/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe//usr/lib/debug/ovmf-x86_64/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe//usr/lib/debug/ovmf-x86_64/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe/DEBUG//usr/lib/debug/ovmf-x86_64/UefiCpuPkg//usr/lib/debug/ovmf-x86_64/UefiCpuPkg/CpuDxe//usr/lib/debug/ovmf-x86_64/UefiCpuPkg/CpuDxe/6490f1c5-ebcc-4665-8892-0075b9bb49b7//usr/lib/debug/ovmf-x86_64/UefiCpuPkg/CpuDxe/6490f1c5-ebcc-4665-8892-0075b9bb49b7/DEBUG//usr/lib/debug/ovmf-x86_64/UefiCpuPkg/CpuDxe/CpuDxe//usr/lib/debug/ovmf-x86_64/UefiCpuPkg/CpuDxe/CpuDxe/DEBUG//usr/lib/debug/ovmf-x86_64/UefiCpuPkg/CpuIo2Dxe//usr/lib/debug/ovmf-x86_64/UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe//usr/lib/debug/ovmf-x86_64/UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe/DEBUG//usr/lib/debug/ovmf-x86_64/UefiCpuPkg/CpuMpPei//usr/lib/debug/ovmf-x86_64/UefiCpuPkg/CpuMpPei/280251c4-1d09-4035-9062-839acb5f18c1//usr/lib/debug/ovmf-x86_64/UefiCpuPkg/CpuMpPei/280251c4-1d09-4035-9062-839acb5f18c1/DEBUG//usr/lib/debug/ovmf-x86_64/UefiCpuPkg/CpuMpPei/CpuMpPei//usr/lib/debug/ovmf-x86_64/UefiCpuPkg/CpuMpPei/CpuMpPei/DEBUG//usr/lib/debug/ovmf-x86_64/UefiCpuPkg/Universal//usr/lib/debug/ovmf-x86_64/UefiCpuPkg/Universal/Acpi//usr/lib/debug/ovmf-x86_64/UefiCpuPkg/Universal/Acpi/S3Resume2Pei//usr/lib/debug/ovmf-x86_64/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei//usr/lib/debug/ovmf-x86_64/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei/DEBUG//usr/share//usr/share/ovmf-x86_64//usr/src//usr/src/debug//usr/src/debug/ovmf-x86_64//usr/src/debug/ovmf-x86_64/CryptoPkg//usr/src/debug/ovmf-x86_64/CryptoPkg/Driver//usr/src/debug/ovmf-x86_64/CryptoPkg/Include//usr/src/debug/ovmf-x86_64/CryptoPkg/Include/Library//usr/src/debug/ovmf-x86_64/CryptoPkg/Include/Pcd//usr/src/debug/ovmf-x86_64/CryptoPkg/Library//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/BaseCryptLib//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/BaseCryptLib/Bn//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/BaseCryptLib/Cipher//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/BaseCryptLib/Hash//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/BaseCryptLib/Hmac//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/BaseCryptLib/Kdf//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/BaseCryptLib/Pem//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/BaseCryptLib/Pk//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/BaseCryptLib/Rand//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/BaseCryptLib/SysCall//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/BaseCryptLibNull//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/BaseCryptLibNull/Bn//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/BaseCryptLibNull/Cipher//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/BaseCryptLibNull/Hash//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/BaseCryptLibNull/Hmac//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/BaseCryptLibNull/Kdf//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/BaseCryptLibNull/Pem//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/BaseCryptLibNull/Pk//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/BaseCryptLibNull/Rand//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/BaseCryptLibOnProtocolPpi//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/BaseHashApiLib//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/Include//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/Include/arpa//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/Include/netinet//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/Include/sys//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/IntrinsicLib//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/IntrinsicLib/Ia32//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/OpensslGen//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/OpensslGen/include//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/OpensslGen/include/crypto//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/OpensslGen/include/openssl//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/OpensslGen/providers//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/OpensslGen/providers/common//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/OpensslGen/providers/common/der//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/OpensslGen/providers/common/include//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/OpensslGen/providers/common/include/prov//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/OpensslStub//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/X64//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/apps//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/apps/include//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/apps/lib//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/aes//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/aria//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/asn1//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/async//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/async/arch//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/bf//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/bio//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/bn//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/bn/asm//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/buffer//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/camellia//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/cast//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/chacha//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/cmac//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/cmp//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/cms//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/comp//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/conf//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/crmf//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/ct//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/des//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/dh//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/dsa//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/dso//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/ec//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/ec/curve448//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/ec/curve448/arch_32//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/ec/curve448/arch_64//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/encode_decode//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/engine//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/err//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/ess//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/evp//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/ffc//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/hmac//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/http//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/idea//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/kdf//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/lhash//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/md2//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/md4//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/md5//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/mdc2//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/modes//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/objects//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/ocsp//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/pem//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/pkcs12//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/pkcs7//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/poly1305//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/property//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/rand//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/rc2//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/rc4//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/rc5//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/ripemd//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/rsa//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/seed//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/sha//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/siphash//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/sm2//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/sm3//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/sm4//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/srp//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/stack//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/store//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/ts//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/txt_db//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/ui//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/whrlpool//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/crypto/x509//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/demos//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/demos/bio//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/demos/cipher//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/demos/cms//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/demos/digest//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/demos/encode//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/demos/kdf//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/demos/keyexch//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/demos/mac//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/demos/pkcs12//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/demos/pkey//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/demos/signature//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/demos/smime//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/engines//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/fuzz//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/include//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/include/crypto//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/include/internal//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/include/openssl//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/ms//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/os-dep//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/providers//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/providers/common//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/providers/common/der//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/providers/common/include//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/providers/common/include/prov//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/providers/fips//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/providers/implementations//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/providers/implementations/asymciphers//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/providers/implementations/ciphers//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/providers/implementations/digests//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/providers/implementations/encode_decode//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/providers/implementations/exchange//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/providers/implementations/include//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/providers/implementations/include/prov//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/providers/implementations/kdfs//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/providers/implementations/kem//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/providers/implementations/keymgmt//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/providers/implementations/macs//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/providers/implementations/rands//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/providers/implementations/rands/seeding//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/providers/implementations/signature//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/providers/implementations/storemgmt//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/ssl//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/ssl/record//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/ssl/statem//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/test//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/test/helpers//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/test/testutil//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/OpensslLib/openssl/util//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/TlsLib//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/TlsLib/SysCall//usr/src/debug/ovmf-x86_64/CryptoPkg/Library/TlsLibNull//usr/src/debug/ovmf-x86_64/CryptoPkg/Private//usr/src/debug/ovmf-x86_64/CryptoPkg/Private/Library//usr/src/debug/ovmf-x86_64/CryptoPkg/Private/Ppi//usr/src/debug/ovmf-x86_64/CryptoPkg/Private/Protocol//usr/src/debug/ovmf-x86_64/CryptoPkg/Test//usr/src/debug/ovmf-x86_64/CryptoPkg/Test/UnitTest//usr/src/debug/ovmf-x86_64/CryptoPkg/Test/UnitTest/Library//usr/src/debug/ovmf-x86_64/CryptoPkg/Test/UnitTest/Library/BaseCryptLib//usr/src/debug/ovmf-x86_64/DebugPkg//usr/src/debug/ovmf-x86_64/DebugPkg/GdbSyms//usr/src/debug/ovmf-x86_64/EmbeddedPkg//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Application//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Application/AndroidBoot//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Application/AndroidFastboot//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Application/AndroidFastboot/Arm//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Drivers//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Drivers/AndroidFastbootTransportTcpDxe//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Drivers/AndroidFastbootTransportUsbDxe//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Drivers/ConsolePrefDxe//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Drivers/DtPlatformDxe//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Drivers/FdtClientDxe//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Drivers/NonCoherentIoMmuDxe//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Drivers/VirtualKeyboardDxe//usr/src/debug/ovmf-x86_64/EmbeddedPkg/EmbeddedMonotonicCounter//usr/src/debug/ovmf-x86_64/EmbeddedPkg/GdbStub//usr/src/debug/ovmf-x86_64/EmbeddedPkg/GdbStub/Arm//usr/src/debug/ovmf-x86_64/EmbeddedPkg/GdbStub/Ia32//usr/src/debug/ovmf-x86_64/EmbeddedPkg/GdbStub/X64//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Include//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Include/Guid//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Include/Library//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Include/Ppi//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Include/Protocol//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Library//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Library/AcpiLib//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Library/AndroidBootImgLib//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Library/CoherentDmaLib//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Library/DebugAgentTimerLibNull//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Library/DxeDtPlatformDtbLoaderLibDefault//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Library/FdtLib//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Library/GdbSerialDebugPortLib//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Library/GdbSerialLib//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Library/NonCoherentDmaLib//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Library/NorFlashInfoLib//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Library/NvVarStoreFormattedLib//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Library/PlatformHasAcpiLib//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Library/PrePiExtractGuidedSectionLib//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Library/PrePiHobLib//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Library/PrePiLib//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Library/PrePiMemoryAllocationLib//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Library/TemplateRealTimeClockLib//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Library/TemplateResetSystemLib//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Library/TimeBaseLib//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Library/VirtualRealTimeClockLib//usr/src/debug/ovmf-x86_64/EmbeddedPkg/MetronomeDxe//usr/src/debug/ovmf-x86_64/EmbeddedPkg/RealTimeClockRuntimeDxe//usr/src/debug/ovmf-x86_64/EmbeddedPkg/ResetRuntimeDxe//usr/src/debug/ovmf-x86_64/EmbeddedPkg/SimpleTextInOutSerial//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Universal//usr/src/debug/ovmf-x86_64/EmbeddedPkg/Universal/MmcDxe//usr/src/debug/ovmf-x86_64/FatPkg//usr/src/debug/ovmf-x86_64/FatPkg/EnhancedFatDxe//usr/src/debug/ovmf-x86_64/FatPkg/FatPei//usr/src/debug/ovmf-x86_64/MdeModulePkg//usr/src/debug/ovmf-x86_64/MdeModulePkg/Application//usr/src/debug/ovmf-x86_64/MdeModulePkg/Application/BootManagerMenuApp//usr/src/debug/ovmf-x86_64/MdeModulePkg/Application/CapsuleApp//usr/src/debug/ovmf-x86_64/MdeModulePkg/Application/DumpDynPcd//usr/src/debug/ovmf-x86_64/MdeModulePkg/Application/HelloWorld//usr/src/debug/ovmf-x86_64/MdeModulePkg/Application/MemoryProfileInfo//usr/src/debug/ovmf-x86_64/MdeModulePkg/Application/SmiHandlerProfileInfo//usr/src/debug/ovmf-x86_64/MdeModulePkg/Application/UiApp//usr/src/debug/ovmf-x86_64/MdeModulePkg/Application/VariableInfo//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Ata//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Ata/AhciPei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Ata/AtaAtapiPassThru//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Ata/AtaBusDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/I2c//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/I2c/I2cDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Isa//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Isa/IsaBusDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Isa/Ps2KeyboardDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Isa/Ps2MouseDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/EhciDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/EhciPei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/IdeBusPei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/IncompatiblePciDeviceSupportDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/NonDiscoverablePciDeviceDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/NvmExpressDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/NvmExpressPei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/PciBusDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/PciHostBridgeDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/PciSioSerialDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/SataControllerDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/SdMmcPciHcPei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/UfsPciHcDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/UfsPciHcPei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/UhciDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/UhciPei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/XhciDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Pci/XhciPei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Scsi//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Scsi/ScsiBusDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Scsi/ScsiDiskDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Sd//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Sd/EmmcBlockIoPei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Sd/EmmcDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Sd/SdBlockIoPei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Sd/SdDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Ufs//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Ufs/UfsBlockIoPei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Ufs/UfsPassThruDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Usb//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Usb/UsbBotPei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Usb/UsbBusDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Usb/UsbBusPei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Usb/UsbKbDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Usb/UsbMassStorageDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Usb/UsbMouseAbsolutePointerDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Usb/UsbMouseDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Usb/UsbNetwork//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Usb/UsbNetwork/NetworkCommon//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Usb/UsbNetwork/UsbCdcEcm//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Usb/UsbNetwork/UsbCdcNcm//usr/src/debug/ovmf-x86_64/MdeModulePkg/Bus/Usb/UsbNetwork/UsbRndis//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Dxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Dxe/Dispatcher//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Dxe/DxeMain//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Dxe/Event//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Dxe/FwVol//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Dxe/FwVolBlock//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Dxe/Gcd//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Dxe/Hand//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Dxe/Image//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Dxe/Library//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Dxe/Mem//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Dxe/Misc//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Dxe/SectionExtraction//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/DxeIplPeim//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/DxeIplPeim/Ia32//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/DxeIplPeim/X64//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Pei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Pei/BootMode//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Pei/CpuIo//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Pei/Dependency//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Pei/Dispatcher//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Pei/FwVol//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Pei/Hob//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Pei/Image//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Pei/Memory//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Pei/PciCfg2//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Pei/PeiMain//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Pei/Ppi//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Pei/Reset//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Pei/Security//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/Pei/StatusCode//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/PiSmmCore//usr/src/debug/ovmf-x86_64/MdeModulePkg/Core/RuntimeDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Include//usr/src/debug/ovmf-x86_64/MdeModulePkg/Include/Guid//usr/src/debug/ovmf-x86_64/MdeModulePkg/Include/Library//usr/src/debug/ovmf-x86_64/MdeModulePkg/Include/Pi//usr/src/debug/ovmf-x86_64/MdeModulePkg/Include/Ppi//usr/src/debug/ovmf-x86_64/MdeModulePkg/Include/Protocol//usr/src/debug/ovmf-x86_64/MdeModulePkg/Include/UniversalPayload//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/AuthVariableLibNull//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/BaseBmpSupportLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/BaseHobLibNull//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/BaseIpmiCommandLibNull//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/BaseIpmiLibNull//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/BaseMemoryAllocationLibNull//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/BasePlatformHookLibNull//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/BaseResetSystemLibNull//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/BaseSerialPortLib16550//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/BaseSortLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/BaseVariableFlashInfoLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/BootDiscoveryPolicyUiLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/BootLogoLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/BootMaintenanceManagerUiLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/BootManagerUiLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/BrotliCustomDecompressLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/CpuExceptionHandlerLibNull//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/CustomizedDisplayLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/DebugAgentLibNull//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/DeviceManagerUiLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/DisplayUpdateProgressLibGraphics//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/DisplayUpdateProgressLibText//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/DxeCapsuleLibFmp//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/DxeCapsuleLibNull//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/DxeCoreMemoryAllocationLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/DxeCorePerformanceLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/DxeDebugPrintErrorLevelLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/DxeFileExplorerProtocol//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/DxeIpmiLibIpmiProtocol//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/DxePerformanceLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/DxePrintLibPrint2Protocol//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/DxeReportStatusCodeLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/DxeResetSystemLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/DxeResetSystemLib/UnitTest//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/DxeSecurityManagementLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/FileExplorerLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/FmpAuthenticationLibNull//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/FrameBufferBltLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/LockBoxNullLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/LzmaCustomDecompressLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/LzmaCustomDecompressLib/Sdk//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/LzmaCustomDecompressLib/Sdk/C//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/NonDiscoverableDeviceRegistrationLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/OemHookStatusCodeLibNull//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/PciHostBridgeLibNull//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/PeiCrc32GuidedSectionExtractLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/PeiDebugLibDebugPpi//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/PeiDebugPrintHobLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/PeiIpmiLibIpmiPpi//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/PeiPerformanceLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/PeiReportStatusCodeLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/PeiResetSystemLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/PiDxeS3BootScriptLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/PiSmmCoreMemoryAllocationLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/PiSmmCoreSmmServicesTableLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/PlatformBootManagerLibNull//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/PlatformHookLibSerialPortPpi//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/PlatformVarCleanupLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/ResetUtilityLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/RuntimeResetSystemLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/SmmCorePerformanceLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/SmmCorePlatformHookLibNull//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/SmmIpmiLibSmmIpmiProtocol//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/SmmLockBoxLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/SmmMemoryAllocationProfileLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/SmmPerformanceLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/SmmReportStatusCodeLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/SmmSmiHandlerProfileLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/TpmMeasurementLibNull//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/TraceHubDebugSysTLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/UefiBootManagerLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/UefiHiiLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/UefiHiiServicesLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/UefiMemoryAllocationProfileLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/UefiSortLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/UefiSortLib/UnitTest//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/VarCheckHiiLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/VarCheckLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/VarCheckPcdLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/VarCheckPolicyLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/VarCheckUefiLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/VariablePolicyHelperLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Library/VariablePolicyLib//usr/src/debug/ovmf-x86_64/MdeModulePkg/Logo//usr/src/debug/ovmf-x86_64/MdeModulePkg/Test//usr/src/debug/ovmf-x86_64/MdeModulePkg/Test/Mock//usr/src/debug/ovmf-x86_64/MdeModulePkg/Test/Mock/Include//usr/src/debug/ovmf-x86_64/MdeModulePkg/Test/Mock/Include/GoogleTest//usr/src/debug/ovmf-x86_64/MdeModulePkg/Test/Mock/Include/GoogleTest/Library//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Acpi//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Acpi/AcpiPlatformDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Acpi/AcpiTableDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/IA32//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTablePei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Acpi/S3SaveStateDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Acpi/SmmS3SaveState//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/BdsDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/BootManagerPolicyDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/CapsuleOnDiskLoadPei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/CapsulePei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/CapsulePei/Common//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/CapsulePei/X64//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/CapsuleRuntimeDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/CapsuleRuntimeDxe/Arm//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/CapsuleRuntimeDxe/X64//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Console//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Console/ConPlatformDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Console/ConSplitterDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Console/GraphicsConsoleDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Console/GraphicsOutputDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Console/TerminalDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/DebugPortDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/DebugServicePei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/DebugSupportDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/DebugSupportDxe/Ia32//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/DebugSupportDxe/X64//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/DevicePathDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Disk//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Disk/CdExpressPei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Disk/DiskIoDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Disk/PartitionDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Disk/RamDiskDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Disk/UdfDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Disk/UnicodeCollation//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/DisplayEngineDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/DriverHealthManagerDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/DriverSampleDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/EbcDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/EbcDxe/AArch64//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/EbcDxe/EbcDebugger//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/EbcDxe/Ia32//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/EbcDxe/X64//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/EsrtDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/EsrtFmpDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/FaultTolerantWriteDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/FaultTolerantWritePei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/FileExplorerDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/FvSimpleFileSystemDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/HiiDatabaseDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/HiiResourcesSampleDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/LegacyRegion2Dxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/LoadFileOnFv2//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/LockBox//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/LockBox/SmmLockBox//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/MemoryTest//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/MemoryTest/GenericMemoryTestDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Metronome//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/PCD//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/PCD/Dxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/PCD/Pei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/PcatSingleSegmentPciCfg2Pei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/PlatformDriOverrideDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/PrintDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/RegularExpressionDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/RegularExpressionDxe/oniguruma//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/RegularExpressionDxe/oniguruma/src//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/ReportStatusCodeRouter//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/ReportStatusCodeRouter/Pei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/ResetSystemPei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/ResetSystemRuntimeDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/SectionExtractionDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/SectionExtractionPei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/SecurityStubDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/SerialDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/SetupBrowserDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/SmbiosDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/SmbiosMeasurementDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/SmmCommunicationBufferDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/StatusCodeHandler//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/StatusCodeHandler/Pei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/StatusCodeHandler/Smm//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/TimestampDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Variable//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Variable/MmVariablePei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Variable/Pei//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Variable/RuntimeDxe//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/Variable/RuntimeDxe/RuntimeDxeUnitTest//usr/src/debug/ovmf-x86_64/MdeModulePkg/Universal/WatchdogTimerDxe//usr/src/debug/ovmf-x86_64/MdePkg//usr/src/debug/ovmf-x86_64/MdePkg/Include//usr/src/debug/ovmf-x86_64/MdePkg/Include/AArch64//usr/src/debug/ovmf-x86_64/MdePkg/Include/Arm//usr/src/debug/ovmf-x86_64/MdePkg/Include/Ebc//usr/src/debug/ovmf-x86_64/MdePkg/Include/Guid//usr/src/debug/ovmf-x86_64/MdePkg/Include/Ia32//usr/src/debug/ovmf-x86_64/MdePkg/Include/IndustryStandard//usr/src/debug/ovmf-x86_64/MdePkg/Include/Library//usr/src/debug/ovmf-x86_64/MdePkg/Include/LoongArch64//usr/src/debug/ovmf-x86_64/MdePkg/Include/Pi//usr/src/debug/ovmf-x86_64/MdePkg/Include/Ppi//usr/src/debug/ovmf-x86_64/MdePkg/Include/Protocol//usr/src/debug/ovmf-x86_64/MdePkg/Include/Register//usr/src/debug/ovmf-x86_64/MdePkg/Include/Register/Amd//usr/src/debug/ovmf-x86_64/MdePkg/Include/Register/Intel//usr/src/debug/ovmf-x86_64/MdePkg/Include/Register/Intel/Msr//usr/src/debug/ovmf-x86_64/MdePkg/Include/Register/RiscV64//usr/src/debug/ovmf-x86_64/MdePkg/Include/RiscV64//usr/src/debug/ovmf-x86_64/MdePkg/Include/Uefi//usr/src/debug/ovmf-x86_64/MdePkg/Include/X64//usr/src/debug/ovmf-x86_64/MdePkg/Library//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseArmTrngLibNull//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseCacheMaintenanceLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseCacheMaintenanceLibNull//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseCpuLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseCpuLib/Ebc//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseCpuLib/Ia32//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseCpuLibNull//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseDebugLibNull//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseDebugLibSerialPort//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseDebugPrintErrorLevelLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseExtractGuidedSectionLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseFdtLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseIoLibIntrinsic//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseLib/Arm//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseLib/Ebc//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseLib/Ia32//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseLib/LoongArch64//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseLib/RiscV64//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseLib/X64//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseMemoryLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseMemoryLibMmx//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseMemoryLibOptDxe//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseMemoryLibOptDxe/Arm//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseMemoryLibOptPei//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseMemoryLibRepStr//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseMemoryLibSse2//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/BasePcdLibNull//usr/src/debug/ovmf-x86_64/MdePkg/Library/BasePciCf8Lib//usr/src/debug/ovmf-x86_64/MdePkg/Library/BasePciExpressLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/BasePciLibCf8//usr/src/debug/ovmf-x86_64/MdePkg/Library/BasePciLibPciExpress//usr/src/debug/ovmf-x86_64/MdePkg/Library/BasePciSegmentInfoLibNull//usr/src/debug/ovmf-x86_64/MdePkg/Library/BasePciSegmentLibPci//usr/src/debug/ovmf-x86_64/MdePkg/Library/BasePeCoffExtraActionLibNull//usr/src/debug/ovmf-x86_64/MdePkg/Library/BasePeCoffGetEntryPointLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/BasePeCoffLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/BasePeCoffLib/Arm//usr/src/debug/ovmf-x86_64/MdePkg/Library/BasePeCoffLib/LoongArch//usr/src/debug/ovmf-x86_64/MdePkg/Library/BasePeCoffLib/RiscV//usr/src/debug/ovmf-x86_64/MdePkg/Library/BasePerformanceLibNull//usr/src/debug/ovmf-x86_64/MdePkg/Library/BasePostCodeLibDebug//usr/src/debug/ovmf-x86_64/MdePkg/Library/BasePostCodeLibPort80//usr/src/debug/ovmf-x86_64/MdePkg/Library/BasePrintLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseReportStatusCodeLibNull//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseRiscVSbiLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseRngLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseRngLib/AArch64//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseRngLib/Rand//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseRngLibNull//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseRngLibTimerLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseS3BootScriptLibNull//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseS3IoLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseS3PciLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseS3PciSegmentLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseS3SmbusLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseS3StallLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseSafeIntLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseSerialPortLibNull//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseSerialPortLibRiscVSbiLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseSmbusLibNull//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseStackCheckLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseSynchronizationLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseSynchronizationLib/Ebc//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseSynchronizationLib/Ia32//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseSynchronizationLib/LoongArch64//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseSynchronizationLib/X64//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseTimerLibNullTemplate//usr/src/debug/ovmf-x86_64/MdePkg/Library/BaseUefiDecompressLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/CcProbeLibNull//usr/src/debug/ovmf-x86_64/MdePkg/Library/DxeCoreEntryPoint//usr/src/debug/ovmf-x86_64/MdePkg/Library/DxeCoreHobLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/DxeExtractGuidedSectionLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/DxeHobLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/DxeHstiLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/DxeIoLibCpuIo2//usr/src/debug/ovmf-x86_64/MdePkg/Library/DxePcdLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/DxeRngLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/DxeRuntimeDebugLibSerialPort//usr/src/debug/ovmf-x86_64/MdePkg/Library/DxeRuntimePciExpressLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/DxeServicesLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/DxeServicesLib/X64//usr/src/debug/ovmf-x86_64/MdePkg/Library/DxeServicesTableLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/DxeSmbusLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/JedecJep106Lib//usr/src/debug/ovmf-x86_64/MdePkg/Library/MipiSysTLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/MipiSysTLib/mipisyst//usr/src/debug/ovmf-x86_64/MdePkg/Library/MipiSysTLib/mipisyst/examples//usr/src/debug/ovmf-x86_64/MdePkg/Library/MipiSysTLib/mipisyst/examples/client//usr/src/debug/ovmf-x86_64/MdePkg/Library/MipiSysTLib/mipisyst/examples/hello//usr/src/debug/ovmf-x86_64/MdePkg/Library/MipiSysTLib/mipisyst/library//usr/src/debug/ovmf-x86_64/MdePkg/Library/MipiSysTLib/mipisyst/library/include//usr/src/debug/ovmf-x86_64/MdePkg/Library/MipiSysTLib/mipisyst/library/include/mipi_syst//usr/src/debug/ovmf-x86_64/MdePkg/Library/MipiSysTLib/mipisyst/library/platform//usr/src/debug/ovmf-x86_64/MdePkg/Library/MipiSysTLib/mipisyst/library/platform/example//usr/src/debug/ovmf-x86_64/MdePkg/Library/MipiSysTLib/mipisyst/library/platform/example/include//usr/src/debug/ovmf-x86_64/MdePkg/Library/MipiSysTLib/mipisyst/library/platform/example/include/mipi_syst//usr/src/debug/ovmf-x86_64/MdePkg/Library/MipiSysTLib/mipisyst/library/platform/example/src//usr/src/debug/ovmf-x86_64/MdePkg/Library/MipiSysTLib/mipisyst/library/platform/mipi_stp_sim//usr/src/debug/ovmf-x86_64/MdePkg/Library/MipiSysTLib/mipisyst/library/platform/mipi_stp_sim/include//usr/src/debug/ovmf-x86_64/MdePkg/Library/MipiSysTLib/mipisyst/library/platform/mipi_stp_sim/include/mipi_syst//usr/src/debug/ovmf-x86_64/MdePkg/Library/MipiSysTLib/mipisyst/library/platform/mipi_stp_sim/src//usr/src/debug/ovmf-x86_64/MdePkg/Library/MipiSysTLib/mipisyst/library/platform/nop//usr/src/debug/ovmf-x86_64/MdePkg/Library/MipiSysTLib/mipisyst/library/platform/nop/include//usr/src/debug/ovmf-x86_64/MdePkg/Library/MipiSysTLib/mipisyst/library/platform/nop/include/mipi_syst//usr/src/debug/ovmf-x86_64/MdePkg/Library/MipiSysTLib/mipisyst/library/platform/nop/src//usr/src/debug/ovmf-x86_64/MdePkg/Library/MipiSysTLib/mipisyst/library/src//usr/src/debug/ovmf-x86_64/MdePkg/Library/MipiSysTLib/mipisyst/library/test//usr/src/debug/ovmf-x86_64/MdePkg/Library/MipiSysTLib/mipisyst/library/test/unit//usr/src/debug/ovmf-x86_64/MdePkg/Library/MipiSysTLib/mipisyst/printer//usr/src/debug/ovmf-x86_64/MdePkg/Library/MipiSysTLib/mipisyst/printer/include//usr/src/debug/ovmf-x86_64/MdePkg/Library/MmServicesTableLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/MmUnblockMemoryLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/PciSegmentLibSegmentInfo//usr/src/debug/ovmf-x86_64/MdePkg/Library/PeiCoreEntryPoint//usr/src/debug/ovmf-x86_64/MdePkg/Library/PeiDxePostCodeLibReportStatusCode//usr/src/debug/ovmf-x86_64/MdePkg/Library/PeiExtractGuidedSectionLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/PeiHobLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/PeiIoLibCpuIo//usr/src/debug/ovmf-x86_64/MdePkg/Library/PeiMemoryAllocationLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/PeiMemoryLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/PeiPcdLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/PeiPciLibPciCfg2//usr/src/debug/ovmf-x86_64/MdePkg/Library/PeiPciSegmentLibPciCfg2//usr/src/debug/ovmf-x86_64/MdePkg/Library/PeiResourcePublicationLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/PeiServicesLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/PeiServicesTablePointerLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/PeiServicesTablePointerLibIdt//usr/src/debug/ovmf-x86_64/MdePkg/Library/PeiSmbusLibSmbus2Ppi//usr/src/debug/ovmf-x86_64/MdePkg/Library/PeimEntryPoint//usr/src/debug/ovmf-x86_64/MdePkg/Library/RegisterFilterLibNull//usr/src/debug/ovmf-x86_64/MdePkg/Library/SecPeiDxeTimerLibCpu//usr/src/debug/ovmf-x86_64/MdePkg/Library/SmiHandlerProfileLibNull//usr/src/debug/ovmf-x86_64/MdePkg/Library/SmmCpuRendezvousLibNull//usr/src/debug/ovmf-x86_64/MdePkg/Library/SmmIoLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/SmmIoLibSmmCpuIo2//usr/src/debug/ovmf-x86_64/MdePkg/Library/SmmLibNull//usr/src/debug/ovmf-x86_64/MdePkg/Library/SmmMemLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/SmmMemoryAllocationLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/SmmPciExpressLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/SmmPciLibPciRootBridgeIo//usr/src/debug/ovmf-x86_64/MdePkg/Library/SmmPeriodicSmiLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/SmmServicesTableLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/StandaloneMmDriverEntryPoint//usr/src/debug/ovmf-x86_64/MdePkg/Library/StandaloneMmServicesTableLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/TdxLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/TraceHubDebugSysTLibNull//usr/src/debug/ovmf-x86_64/MdePkg/Library/UefiApplicationEntryPoint//usr/src/debug/ovmf-x86_64/MdePkg/Library/UefiBootServicesTableLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/UefiDebugLibConOut//usr/src/debug/ovmf-x86_64/MdePkg/Library/UefiDebugLibDebugPortProtocol//usr/src/debug/ovmf-x86_64/MdePkg/Library/UefiDebugLibStdErr//usr/src/debug/ovmf-x86_64/MdePkg/Library/UefiDevicePathLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/UefiDevicePathLibDevicePathProtocol//usr/src/debug/ovmf-x86_64/MdePkg/Library/UefiDriverEntryPoint//usr/src/debug/ovmf-x86_64/MdePkg/Library/UefiFileHandleLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/UefiLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/UefiMemoryAllocationLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/UefiMemoryLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/UefiPciLibPciRootBridgeIo//usr/src/debug/ovmf-x86_64/MdePkg/Library/UefiPciSegmentLibPciRootBridgeIo//usr/src/debug/ovmf-x86_64/MdePkg/Library/UefiRuntimeLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/UefiRuntimeServicesTableLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/UefiScsiLib//usr/src/debug/ovmf-x86_64/MdePkg/Library/UefiUsbLib//usr/src/debug/ovmf-x86_64/MdePkg/Test//usr/src/debug/ovmf-x86_64/MdePkg/Test/Mock//usr/src/debug/ovmf-x86_64/MdePkg/Test/Mock/Include//usr/src/debug/ovmf-x86_64/MdePkg/Test/Mock/Include/GoogleTest//usr/src/debug/ovmf-x86_64/MdePkg/Test/Mock/Include/GoogleTest/Library//usr/src/debug/ovmf-x86_64/MdePkg/Test/UnitTest//usr/src/debug/ovmf-x86_64/MdePkg/Test/UnitTest/Include//usr/src/debug/ovmf-x86_64/MdePkg/Test/UnitTest/Include/Library//usr/src/debug/ovmf-x86_64/MdePkg/Test/UnitTest/Library//usr/src/debug/ovmf-x86_64/MdePkg/Test/UnitTest/Library/BaseLib//usr/src/debug/ovmf-x86_64/MdePkg/Test/UnitTest/Library/BaseSafeIntLib//usr/src/debug/ovmf-x86_64/NetworkPkg//usr/src/debug/ovmf-x86_64/NetworkPkg/Application//usr/src/debug/ovmf-x86_64/NetworkPkg/Application/VConfig//usr/src/debug/ovmf-x86_64/NetworkPkg/ArpDxe//usr/src/debug/ovmf-x86_64/NetworkPkg/Dhcp4Dxe//usr/src/debug/ovmf-x86_64/NetworkPkg/Dhcp6Dxe//usr/src/debug/ovmf-x86_64/NetworkPkg/Dhcp6Dxe/GoogleTest//usr/src/debug/ovmf-x86_64/NetworkPkg/DnsDxe//usr/src/debug/ovmf-x86_64/NetworkPkg/DpcDxe//usr/src/debug/ovmf-x86_64/NetworkPkg/HttpBootDxe//usr/src/debug/ovmf-x86_64/NetworkPkg/HttpDxe//usr/src/debug/ovmf-x86_64/NetworkPkg/HttpUtilitiesDxe//usr/src/debug/ovmf-x86_64/NetworkPkg/IScsiDxe//usr/src/debug/ovmf-x86_64/NetworkPkg/Include//usr/src/debug/ovmf-x86_64/NetworkPkg/Include/Guid//usr/src/debug/ovmf-x86_64/NetworkPkg/Include/Library//usr/src/debug/ovmf-x86_64/NetworkPkg/Include/Protocol//usr/src/debug/ovmf-x86_64/NetworkPkg/Ip4Dxe//usr/src/debug/ovmf-x86_64/NetworkPkg/Ip6Dxe//usr/src/debug/ovmf-x86_64/NetworkPkg/Ip6Dxe/GoogleTest//usr/src/debug/ovmf-x86_64/NetworkPkg/Library//usr/src/debug/ovmf-x86_64/NetworkPkg/Library/DxeDpcLib//usr/src/debug/ovmf-x86_64/NetworkPkg/Library/DxeHttpIoLib//usr/src/debug/ovmf-x86_64/NetworkPkg/Library/DxeHttpLib//usr/src/debug/ovmf-x86_64/NetworkPkg/Library/DxeIpIoLib//usr/src/debug/ovmf-x86_64/NetworkPkg/Library/DxeNetLib//usr/src/debug/ovmf-x86_64/NetworkPkg/Library/DxeTcpIoLib//usr/src/debug/ovmf-x86_64/NetworkPkg/Library/DxeUdpIoLib//usr/src/debug/ovmf-x86_64/NetworkPkg/MnpDxe//usr/src/debug/ovmf-x86_64/NetworkPkg/Mtftp4Dxe//usr/src/debug/ovmf-x86_64/NetworkPkg/Mtftp6Dxe//usr/src/debug/ovmf-x86_64/NetworkPkg/SnpDxe//usr/src/debug/ovmf-x86_64/NetworkPkg/TcpDxe//usr/src/debug/ovmf-x86_64/NetworkPkg/TlsAuthConfigDxe//usr/src/debug/ovmf-x86_64/NetworkPkg/TlsDxe//usr/src/debug/ovmf-x86_64/NetworkPkg/Udp4Dxe//usr/src/debug/ovmf-x86_64/NetworkPkg/Udp6Dxe//usr/src/debug/ovmf-x86_64/NetworkPkg/UefiPxeBcDxe//usr/src/debug/ovmf-x86_64/NetworkPkg/UefiPxeBcDxe/GoogleTest//usr/src/debug/ovmf-x86_64/NetworkPkg/VlanConfigDxe//usr/src/debug/ovmf-x86_64/NetworkPkg/WifiConnectionManagerDxe//usr/src/debug/ovmf-x86_64/OvmfPkg//usr/src/debug/ovmf-x86_64/OvmfPkg/8254TimerDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/8259InterruptControllerDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/AcpiPlatformDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/AmdSev//usr/src/debug/ovmf-x86_64/OvmfPkg/AmdSev/BlobVerifierLibSevHashes//usr/src/debug/ovmf-x86_64/OvmfPkg/AmdSev/SecretDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/AmdSev/SecretPei//usr/src/debug/ovmf-x86_64/OvmfPkg/AmdSevDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/Bhyve//usr/src/debug/ovmf-x86_64/OvmfPkg/Bhyve/AcpiPlatformDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/Bhyve/AcpiTables//usr/src/debug/ovmf-x86_64/OvmfPkg/Bhyve/BhyveRfbDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/Bhyve/PlatformPei//usr/src/debug/ovmf-x86_64/OvmfPkg/Bhyve/SmbiosPlatformDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/CompatImageLoaderDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/CpuHotplugSmm//usr/src/debug/ovmf-x86_64/OvmfPkg/CpuS3DataDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/Csm//usr/src/debug/ovmf-x86_64/OvmfPkg/Csm/BiosThunk//usr/src/debug/ovmf-x86_64/OvmfPkg/Csm/BiosThunk/VideoDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/Csm/CsmSupportLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Csm/Include//usr/src/debug/ovmf-x86_64/OvmfPkg/Csm/Include/Framework//usr/src/debug/ovmf-x86_64/OvmfPkg/Csm/Include/Guid//usr/src/debug/ovmf-x86_64/OvmfPkg/Csm/Include/Protocol//usr/src/debug/ovmf-x86_64/OvmfPkg/Csm/LegacyBiosDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/Csm/LegacyBootMaintUiLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Csm/LegacyBootManagerLib//usr/src/debug/ovmf-x86_64/OvmfPkg/EmuVariableFvbRuntimeDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/EnrollDefaultKeys//usr/src/debug/ovmf-x86_64/OvmfPkg/Fdt//usr/src/debug/ovmf-x86_64/OvmfPkg/Fdt/FdtPciHostBridgeLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Fdt/FdtPciPcdProducerLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Fdt/HighMemDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/Fdt/VirtioFdtDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/Include//usr/src/debug/ovmf-x86_64/OvmfPkg/Include/Guid//usr/src/debug/ovmf-x86_64/OvmfPkg/Include/IndustryStandard//usr/src/debug/ovmf-x86_64/OvmfPkg/Include/IndustryStandard/Xen//usr/src/debug/ovmf-x86_64/OvmfPkg/Include/IndustryStandard/Xen/arch-arm//usr/src/debug/ovmf-x86_64/OvmfPkg/Include/IndustryStandard/Xen/arch-x86//usr/src/debug/ovmf-x86_64/OvmfPkg/Include/IndustryStandard/Xen/arch-x86/hvm//usr/src/debug/ovmf-x86_64/OvmfPkg/Include/IndustryStandard/Xen/hvm//usr/src/debug/ovmf-x86_64/OvmfPkg/Include/IndustryStandard/Xen/io//usr/src/debug/ovmf-x86_64/OvmfPkg/Include/Library//usr/src/debug/ovmf-x86_64/OvmfPkg/Include/Pcd//usr/src/debug/ovmf-x86_64/OvmfPkg/Include/Ppi//usr/src/debug/ovmf-x86_64/OvmfPkg/Include/Protocol//usr/src/debug/ovmf-x86_64/OvmfPkg/Include/Register//usr/src/debug/ovmf-x86_64/OvmfPkg/IncompatiblePciDeviceSupportDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/IntelTdx//usr/src/debug/ovmf-x86_64/OvmfPkg/IntelTdx/PrePiHobListPointerLibTdx//usr/src/debug/ovmf-x86_64/OvmfPkg/IntelTdx/Sec//usr/src/debug/ovmf-x86_64/OvmfPkg/IntelTdx/TdxHelperLib//usr/src/debug/ovmf-x86_64/OvmfPkg/IoMmuDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/Library//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/AcpiPlatformLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/AcpiTimerLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/BaseCachingPciExpressLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/BaseMemEncryptSevLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/BaseMemEncryptSevLib/Ia32//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/BaseMemEncryptSevLib/X64//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/BaseMemEncryptTdxLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/BasePciCapLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/BasePciCapPciSegmentLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/BhyveFwCtlLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/BlobVerifierLibNull//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/CcExitLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/CcProbeLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/DxePciLibI440FxQ35//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/EmuVariableFvbLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/GenericQemuLoadImageLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/HardwareInfoLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/LoadLinuxLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/LockBoxLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/MpInitLibDepLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/NestedInterruptTplLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/NvVarsFileLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/PciHostBridgeLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/PciHostBridgeLibScan//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/PciHostBridgeUtilityLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/PeilessStartupLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/PeilessStartupLib/X64//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/PlatformBmPrintScLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/PlatformBootManagerLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/PlatformBootManagerLibBhyve//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/PlatformDebugLibIoPort//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/PlatformFvbLibNull//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/PlatformHasIoMmuLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/PlatformInitLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/PlatformSecureLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/PxeBcPcdProducerLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/QemuBootOrderLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/QemuFwCfgLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/QemuFwCfgS3Lib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/QemuFwCfgSimpleParserLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/ResetSystemLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/SerializeVariablesLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/SmbiosVersionLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/SmmCpuFeaturesLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/SmmCpuPlatformHookLibQemu//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/Tcg2PhysicalPresenceLibNull//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/Tcg2PhysicalPresenceLibQemu//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/TdxMailboxLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/TlsAuthConfigLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/UefiDriverEntryPointFwCfgOverrideLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/UefiPciCapPciIoLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/VirtioLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/VirtioMmioDeviceLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/X86QemuLoadImageLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/XenConsoleSerialPortLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/XenHypercallLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/XenIoMmioLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/XenPlatformLib//usr/src/debug/ovmf-x86_64/OvmfPkg/Library/XenRealTimeClockLib//usr/src/debug/ovmf-x86_64/OvmfPkg/LinuxInitrdDynamicShellCommand//usr/src/debug/ovmf-x86_64/OvmfPkg/LocalApicTimerDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/LsiScsiDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/MptScsiDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/PciHotPlugInitDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/PlatformDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/PlatformHasAcpiDtDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/PlatformPei//usr/src/debug/ovmf-x86_64/OvmfPkg/PvScsiDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/QemuFlashFvbServicesRuntimeDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/QemuKernelLoaderFsDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/QemuRamfbDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/QemuVideoDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/RiscVVirt//usr/src/debug/ovmf-x86_64/OvmfPkg/RiscVVirt/Library//usr/src/debug/ovmf-x86_64/OvmfPkg/RiscVVirt/Library/PlatformBootManagerLib//usr/src/debug/ovmf-x86_64/OvmfPkg/RiscVVirt/Library/PrePiHobListPointerLib//usr/src/debug/ovmf-x86_64/OvmfPkg/RiscVVirt/Library/ResetSystemLib//usr/src/debug/ovmf-x86_64/OvmfPkg/RiscVVirt/Library/VirtNorFlashPlatformLib//usr/src/debug/ovmf-x86_64/OvmfPkg/RiscVVirt/PciCpuIo2Dxe//usr/src/debug/ovmf-x86_64/OvmfPkg/RiscVVirt/Sec//usr/src/debug/ovmf-x86_64/OvmfPkg/Sec//usr/src/debug/ovmf-x86_64/OvmfPkg/SioBusDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/SmbiosPlatformDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/SmmAccess//usr/src/debug/ovmf-x86_64/OvmfPkg/SmmControl2Dxe//usr/src/debug/ovmf-x86_64/OvmfPkg/Tcg//usr/src/debug/ovmf-x86_64/OvmfPkg/Tcg/Tcg2Config//usr/src/debug/ovmf-x86_64/OvmfPkg/Tcg/TpmMmioSevDecryptPei//usr/src/debug/ovmf-x86_64/OvmfPkg/TdxDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/VirtNorFlashDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/Virtio10Dxe//usr/src/debug/ovmf-x86_64/OvmfPkg/VirtioBlkDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/VirtioFsDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/VirtioGpuDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/VirtioNetDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/VirtioPciDeviceDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/VirtioRngDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/VirtioScsiDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/VirtioSerialDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/XenAcpiPlatformDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/XenBusDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/XenIoPciDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/XenIoPvhDxe//usr/src/debug/ovmf-x86_64/OvmfPkg/XenPlatformPei//usr/src/debug/ovmf-x86_64/OvmfPkg/XenPvBlkDxe//usr/src/debug/ovmf-x86_64/PcAtChipsetPkg//usr/src/debug/ovmf-x86_64/PcAtChipsetPkg/Bus//usr/src/debug/ovmf-x86_64/PcAtChipsetPkg/Bus/Pci//usr/src/debug/ovmf-x86_64/PcAtChipsetPkg/Bus/Pci/IdeControllerDxe//usr/src/debug/ovmf-x86_64/PcAtChipsetPkg/HpetTimerDxe//usr/src/debug/ovmf-x86_64/PcAtChipsetPkg/Include//usr/src/debug/ovmf-x86_64/PcAtChipsetPkg/Include/Guid//usr/src/debug/ovmf-x86_64/PcAtChipsetPkg/Include/Library//usr/src/debug/ovmf-x86_64/PcAtChipsetPkg/Include/Register//usr/src/debug/ovmf-x86_64/PcAtChipsetPkg/Library//usr/src/debug/ovmf-x86_64/PcAtChipsetPkg/Library/AcpiTimerLib//usr/src/debug/ovmf-x86_64/PcAtChipsetPkg/Library/BaseIoApicLib//usr/src/debug/ovmf-x86_64/PcAtChipsetPkg/Library/ResetSystemLib//usr/src/debug/ovmf-x86_64/PcAtChipsetPkg/Library/SerialIoLib//usr/src/debug/ovmf-x86_64/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe//usr/src/debug/ovmf-x86_64/SecurityPkg//usr/src/debug/ovmf-x86_64/SecurityPkg/EnrollFromDefaultKeysApp//usr/src/debug/ovmf-x86_64/SecurityPkg/FvReportPei//usr/src/debug/ovmf-x86_64/SecurityPkg/Hash2DxeCrypto//usr/src/debug/ovmf-x86_64/SecurityPkg/HddPassword//usr/src/debug/ovmf-x86_64/SecurityPkg/Include//usr/src/debug/ovmf-x86_64/SecurityPkg/Include/Guid//usr/src/debug/ovmf-x86_64/SecurityPkg/Include/Library//usr/src/debug/ovmf-x86_64/SecurityPkg/Include/Ppi//usr/src/debug/ovmf-x86_64/SecurityPkg/Library//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/AuthVariableLib//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/DxeImageAuthenticationStatusLib//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/DxeImageVerificationLib//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/DxeRsa2048Sha256GuidedSectionExtractLib//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/DxeTcg2PhysicalPresenceLib//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/DxeTcgPhysicalPresenceLib//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/DxeTpm2MeasureBootLib//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/DxeTpm2MeasureBootLib/InternalUnitTest//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/DxeTpmMeasureBootLib//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/DxeTpmMeasureBootLib/InternalUnitTest//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/DxeTpmMeasurementLib//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/FmpAuthenticationLibPkcs7//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/FmpAuthenticationLibRsa2048Sha256//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/HashInstanceLibSha1//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/HashInstanceLibSha256//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/HashInstanceLibSha384//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/HashInstanceLibSha512//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/HashInstanceLibSm3//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/HashLibBaseCryptoRouter//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/HashLibTdx//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/HashLibTpm2//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLib//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLibNull//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/PeiRsa2048Sha256GuidedSectionExtractLib//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/PeiTcg2PhysicalPresenceLib//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/PeiTpmMeasurementLib//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/PlatformPKProtectionLibVarPolicy//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/PlatformSecureLibNull//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/SecTpmMeasurementLib//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/SecureBootVariableLib//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/SecureBootVariableLib/UnitTest//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/SecureBootVariableProvisionLib//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/SmmTcg2PhysicalPresenceLib//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/Tcg2PpVendorLibNull//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/TcgEventLogRecordLib//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/TcgPpVendorLibNull//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/TcgStorageCoreLib//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/TcgStorageOpalLib//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/Tpm12CommandLib//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/Tpm12DeviceLibDTpm//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/Tpm12DeviceLibTcg//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/Tpm2CommandLib//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/Tpm2DeviceLibDTpm//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/Tpm2DeviceLibRouter//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/Tpm2DeviceLibTcg2//usr/src/debug/ovmf-x86_64/SecurityPkg/Library/TpmCommLib//usr/src/debug/ovmf-x86_64/SecurityPkg/Pkcs7Verify//usr/src/debug/ovmf-x86_64/SecurityPkg/Pkcs7Verify/Pkcs7VerifyDxe//usr/src/debug/ovmf-x86_64/SecurityPkg/RandomNumberGenerator//usr/src/debug/ovmf-x86_64/SecurityPkg/RandomNumberGenerator/RngDxe//usr/src/debug/ovmf-x86_64/SecurityPkg/RandomNumberGenerator/RngDxe/AArch64//usr/src/debug/ovmf-x86_64/SecurityPkg/RandomNumberGenerator/RngDxe/Arm//usr/src/debug/ovmf-x86_64/SecurityPkg/RandomNumberGenerator/RngDxe/Rand//usr/src/debug/ovmf-x86_64/SecurityPkg/Tcg//usr/src/debug/ovmf-x86_64/SecurityPkg/Tcg/MemoryOverwriteControl//usr/src/debug/ovmf-x86_64/SecurityPkg/Tcg/MemoryOverwriteRequestControlLock//usr/src/debug/ovmf-x86_64/SecurityPkg/Tcg/Opal//usr/src/debug/ovmf-x86_64/SecurityPkg/Tcg/Opal/OpalPassword//usr/src/debug/ovmf-x86_64/SecurityPkg/Tcg/PhysicalPresencePei//usr/src/debug/ovmf-x86_64/SecurityPkg/Tcg/Tcg2Acpi//usr/src/debug/ovmf-x86_64/SecurityPkg/Tcg/Tcg2Config//usr/src/debug/ovmf-x86_64/SecurityPkg/Tcg/Tcg2Dxe//usr/src/debug/ovmf-x86_64/SecurityPkg/Tcg/Tcg2Pei//usr/src/debug/ovmf-x86_64/SecurityPkg/Tcg/Tcg2PlatformDxe//usr/src/debug/ovmf-x86_64/SecurityPkg/Tcg/Tcg2PlatformPei//usr/src/debug/ovmf-x86_64/SecurityPkg/Tcg/Tcg2Smm//usr/src/debug/ovmf-x86_64/SecurityPkg/Tcg/TcgConfigDxe//usr/src/debug/ovmf-x86_64/SecurityPkg/Tcg/TcgDxe//usr/src/debug/ovmf-x86_64/SecurityPkg/Tcg/TcgPei//usr/src/debug/ovmf-x86_64/SecurityPkg/Tcg/TcgSmm//usr/src/debug/ovmf-x86_64/SecurityPkg/Tcg/TdTcg2Dxe//usr/src/debug/ovmf-x86_64/SecurityPkg/Test//usr/src/debug/ovmf-x86_64/SecurityPkg/Test/Mock//usr/src/debug/ovmf-x86_64/SecurityPkg/Test/Mock/Include//usr/src/debug/ovmf-x86_64/SecurityPkg/Test/Mock/Include/GoogleTest//usr/src/debug/ovmf-x86_64/SecurityPkg/Test/Mock/Include/GoogleTest/Library//usr/src/debug/ovmf-x86_64/SecurityPkg/VariableAuthenticated//usr/src/debug/ovmf-x86_64/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe//usr/src/debug/ovmf-x86_64/SecurityPkg/VariableAuthenticated/SecureBootDefaultKeysDxe//usr/src/debug/ovmf-x86_64/ShellPkg//usr/src/debug/ovmf-x86_64/ShellPkg/Application//usr/src/debug/ovmf-x86_64/ShellPkg/Application/AcpiViewApp//usr/src/debug/ovmf-x86_64/ShellPkg/Application/Shell//usr/src/debug/ovmf-x86_64/ShellPkg/Application/ShellCTestApp//usr/src/debug/ovmf-x86_64/ShellPkg/Application/ShellExecTestApp//usr/src/debug/ovmf-x86_64/ShellPkg/Application/ShellSortTestApp//usr/src/debug/ovmf-x86_64/ShellPkg/DynamicCommand//usr/src/debug/ovmf-x86_64/ShellPkg/DynamicCommand/DpDynamicCommand//usr/src/debug/ovmf-x86_64/ShellPkg/DynamicCommand/HttpDynamicCommand//usr/src/debug/ovmf-x86_64/ShellPkg/DynamicCommand/TftpDynamicCommand//usr/src/debug/ovmf-x86_64/ShellPkg/Include//usr/src/debug/ovmf-x86_64/ShellPkg/Include/Guid//usr/src/debug/ovmf-x86_64/ShellPkg/Include/Library//usr/src/debug/ovmf-x86_64/ShellPkg/Include/Protocol//usr/src/debug/ovmf-x86_64/ShellPkg/Library//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiHandleParsingLib//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellAcpiViewCommandLib//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellAcpiViewCommandLib/Arm//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Aest//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Apmt//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Bgrt//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Dbg2//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Dsdt//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Erst//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Facs//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Fadt//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Gtdt//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Hmat//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Iort//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Mcfg//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Pcct//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Pptt//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Rsdp//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Slit//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Spcr//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Srat//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Ssdt//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Xsdt//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellBcfgCommandLib//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellCEntryLib//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellCommandLib//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellDebug1CommandsLib//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellDebug1CommandsLib/Edit//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellDebug1CommandsLib/HexEdit//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellDriver1CommandsLib//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellInstall1CommandsLib//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellLevel1CommandsLib//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellLevel2CommandsLib//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellLevel3CommandsLib//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellLib//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellNetwork1CommandsLib//usr/src/debug/ovmf-x86_64/ShellPkg/Library/UefiShellNetwork2CommandsLib//usr/src/debug/ovmf-x86_64/UefiCpuPkg//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Application//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Application/Cpuid//usr/src/debug/ovmf-x86_64/UefiCpuPkg/CpuDxe//usr/src/debug/ovmf-x86_64/UefiCpuPkg/CpuDxe/Ia32//usr/src/debug/ovmf-x86_64/UefiCpuPkg/CpuDxe/X64//usr/src/debug/ovmf-x86_64/UefiCpuPkg/CpuDxeRiscV64//usr/src/debug/ovmf-x86_64/UefiCpuPkg/CpuFeatures//usr/src/debug/ovmf-x86_64/UefiCpuPkg/CpuIo2Dxe//usr/src/debug/ovmf-x86_64/UefiCpuPkg/CpuIo2Smm//usr/src/debug/ovmf-x86_64/UefiCpuPkg/CpuIoPei//usr/src/debug/ovmf-x86_64/UefiCpuPkg/CpuMpPei//usr/src/debug/ovmf-x86_64/UefiCpuPkg/CpuS3DataDxe//usr/src/debug/ovmf-x86_64/UefiCpuPkg/CpuTimerDxeRiscV64//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Include//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Include/Guid//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Include/Library//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Include/Ppi//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Include/Protocol//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Include/Register//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/BaseRiscV64CpuTimerLib//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/BaseRiscVMmuLib//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/BaseXApicLib//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/BaseXApicX2ApicLib//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/CcExitLibNull//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/CpuCacheInfoLib//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/CpuCommonFeaturesLib//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/CpuExceptionHandlerLib//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/CpuExceptionHandlerLib/UnitTest//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/CpuExceptionHandlerLib/UnitTest/Ia32//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/CpuExceptionHandlerLib/UnitTest/X64//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/CpuPageTableLib//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/CpuPageTableLib/UnitTest//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/CpuTimerLib//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/MicrocodeLib//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/MmSaveStateLib//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/MpInitLib//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/MpInitLib/Ia32//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/MpInitLib/X64//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/MpInitLibUp//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/MtrrLib//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/MtrrLib/UnitTest//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/PlatformSecLibNull//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/RegisterCpuFeaturesLib//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/SecPeiDxeTimerLibUefiCpu//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/SmmCpuFeaturesLib//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/SmmCpuFeaturesLib/X64//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/SmmCpuPlatformHookLibNull//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Library/SmmCpuRendezvousLib//usr/src/debug/ovmf-x86_64/UefiCpuPkg/MicrocodeMeasurementDxe//usr/src/debug/ovmf-x86_64/UefiCpuPkg/PiSmmCommunication//usr/src/debug/ovmf-x86_64/UefiCpuPkg/PiSmmCpuDxeSmm//usr/src/debug/ovmf-x86_64/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32//usr/src/debug/ovmf-x86_64/UefiCpuPkg/PiSmmCpuDxeSmm/X64//usr/src/debug/ovmf-x86_64/UefiCpuPkg/SecCore//usr/src/debug/ovmf-x86_64/UefiCpuPkg/SecMigrationPei//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Test//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Test/UnitTest//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Test/UnitTest/EfiMpServicesPpiProtocol//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Universal//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Universal/Acpi//usr/src/debug/ovmf-x86_64/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/-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.suse.de/SUSE:Maintenance:37541/SUSE_SLE-15-SP6_Update/7e9141043c5cc6ab8d011bc348b62b16-ovmf.SUSE_SLE-15-SP6_Updatedrpmxz5x86_64-suse-linux                                           directoryELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, with debug_info, not strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, not strippedPython script, ASCII text executableC source, ASCII text, with CRLF line terminatorsASCII text, with CRLF line terminatorsC source, ASCII text, with very long lines, with CRLF line terminatorsC source, ASCII textC source, UTF-8 Unicode textASCII textAlgol 68 source, ASCII textC source, ASCII text, with very long linesC source, UTF-8 Unicode text, with CR, LF line terminators, with overstrikingC source, UTF-8 Unicode text, with CRLF line terminatorsC++ source, ASCII text_8 toYutf-8ba1893abf28e55bfdf1d0706fa406e6c7c52f546ad29fcd74528c32bbc5483d6?P7zXZ !t/V]"k%[w n 'f3 W_].c3[ o=y嵉9}>Y|wz9_Tm$K]{.ۭ5۷2:K^ 6[9fKfרxny^X/F~LE }ot:;( &uSgaK1\`[-g/]^d 行g; yCH1F#[a^7)t't8O 4"wPuӣSV߃-> JQLqFs Uõ:1˨ ^Yz8 6g3$ JvxBs>0'2 j#O $;##$Zv{ow% ķ}:u2Ne*a)D2fly(K$M!EMtL bky"^%ц&*v m`]:/接.ٶp(:qk](9zcge#VCtlPcf!T(7&zTZ{X@Cs=oӑ WRk~/#¦3G*x"DIڤLl!jVC-w:$Vf=t"ٓ(b fH)̔1mJI Ln7}d$w>9=>F Z1Ѕ頲}a4 %7,Ppc Bp:K-\M ,1+uנ.I p2!Mfh 4r#"lyH~B/;bGh;1VL0> *[&J,7} [hγB#,&mS\&7{DHIw??6 $/\ɥ5n 0@D b'\kAG_"m/tUqbOʓE sSиFY~|6GƖoGݚ]Z{[dvm@V6Ӳ (jY~+G U>K[Mz!TƓX#vF]Ѿ{Mg-xgf,lTA$ΆU?.I.曪̦F>_璌 ]v֛TD@?]{W/q (7BV)doրl<4y $ )eQ[u)U5 <}5(j^nB-`j$܇Դt@.i֚"evUv2%ǔ`]|(.㧰qySikZmX/ ƞv _2Da( }eRQwe < ,F) ^קr7JS>:FWaHx \8p9u*?oZ$Uڦ.uާȧRI}pрN fEt_ E7vl6k9#/khB»&$P"/܂Tt N iEAN5ɱp!Z/Mw- Q?SuXyQUG}Cg~wx*ͫdn{p-DžS AE#[r*x67A0\9)2,k~G@UF rw<(,Z36l;Lz`sʑc+Z8Lن80,QXowG+=zqO!vZ F#Hg d~\nYzncS,U2%ڿůZ  o b2`Qj׿ITG nO% ^@ 9*[e E&:nԊ3 zK%\*6 qIGL pbIݝ^>n['wB *0zf_.s V]HtlS|d6 zKd_,=j0GyB@wj91 $B6N]uQT2=Tt$`a(nF@C'vy6PN@Ed$dܠ5Nm {V!۸yx-K^6a7CdXm~1t=QifW3ƥpT,WN D13{]~pI5柈 Ti:mMᏌ8q`} l <(inA6> %CVljq v`|x1<5 L˔+S~\FVw]d[vq$偏xka͢Z%{g.R 6^_"[[/Tƞ&Y:rj20+Leڪ( `7X45V k8ƍ~zb'"DQ[ƻ C-ݪ6IbdžƸKM ҇v-U9 #I'¥0T#MI -ED1kj9 kgWN;RB=,p+JqtE6r1OLh,r}2g cΎyQ24XUP:Uko[8C7[4K#Y@fG X ~^J~FjW HViX[_я-[mbPTfPJ L^{NL{Ϻ-}h@pK8ɒ:i)L)Ka Hܗnq[{<R&dF[8Vdou ]EX}u5ӖW]*p#BnhT{b  2b/UiyKZX_~LUcY2/կWM[CQCTqqv|Hu%7 i<:YqyJ.̽~`&ɓ(wpU3@ŘMsSx e<o<%f/[O-S3nKeEzwmasFTxEOAnpi Ҕ&RKՓt.uǶۙ}MS,PWEv!҆75&57mbW)\M Y?r.6e|Vj^M-7E~{LJ'gAE (BR~<,2!r|'#9f~f iD!$ya r[ŬϯGUQ3l&>1 ;FS$q6K_v\)׮裊eF5uGqȎshf2LdlVkK6crP͆[ |ﭭ^01b|uؓVektmXʄTOΠTyE }lu-sׄvmLEM!:PKЕ%E3[i:Q́$a!<{HyA5'_x)x6hz)?T<}gӌ^la,HL ڜ =/. U"wV iEpmu!ϓaflwX!c[z ēJoKhB$ht(i9~uVyt&a_Rʩj/[i븴rDs;4.3&xŒuEy"@5g6nĭ L'vnݬWC)" cW4I*_ַ. R<,VD}-,L1FN(݌KLy%ROf5Q&uw˱%h]d;- v@!N fY37a/)9B AƮf[S+SYD"i BRcxE0WgsI7{h2ȚFgʓ|gjby!sܜfwV[#z#!TL!>b}v]7[^j'3z2+>.-{r>'|im>һHjJR@|+3؜kVzw0C6nWrܔcn|dMjR>y|3-YɰtyLCVw{[Xmӿ{tsƀb*=(WhH'oQ깭oFK{W7v}bɶr '``ޠy$k0 J8su=D9 *SWWjZ᭬1a]esƈxC˜[ .4>Bƨ5v0ʼnKh҅#ym=°1˗~獧cη텤@&CtH+}؄ce f\-FhG0-iG}Ԭj{eqQPU"kIE艒eA s``qQ~[dSX>6%bZdsC(RVoKe !y& 1inkhwvX! 8w5)i?M&:;b,A7X+dՅYc`yZX#}6RHz@8BQx=C&f %~\7e&h/ɀɈ`:u^V.ѴG}& Jxd&= 5pu%OqX *Ȇbr3~,# p([d͛2ʁD/"e.aK= tky@ԻGJ&ZY L\/I7$e8Ǿ_ f<l90;@o{n!ރ_IfI'oذuS13$yȔ,#NV^†XDwev}[n/cIr~Ri Z#ퟷ=Hw ,HbyɎx/ɆJkx BȨվͦt}Z8(s208W=T=-9 ":n#fCҪ)dUn]62O2<<  k%u[fGT[/v@ R{KV|\;j^ 5|'N\so zW59kZˏ.*fmTwЪ?TNck &a⡳YS23g9Xv& ;m})_vbk;E.' oOŔ`yGs׃Lڈބ>FH+Ns`{Q!anog.`)P^$WwB1N܅4 ڝ}R[c4 >4~maĩ0}` ZPok,[!Y5ۋDp0Ө>>ͪH ozH- bqHv㝦%N7_W&BdZqtq8 RAFx 5*$%p֪nT +5} _&^#9.OI>@,xLL̜32pzڱP3Ӂ,~-ǞzpV"̟jӰ >.dN}39CX)R+Ģ&v lyOQ1#>ޛKd0e~k9}s( KP"3i\K?(wOJRɮM 1DFYSΎrߌ(b;,ަ$ʚ*r,[!j(}BLa%$~reϞ)engqƑGb]Eͭ=R}hv.e]' N9磒^ek;h2@ B: |4PNZ$]kF+wx Z"9_ɘ+{`Ti, pԏR#򚅘V'1S0}3lC cN'I< lUCJ>!ӺA(=0[\tqe/I5вz>f=a DyO ~eTL"Jܡ@eKoy1c k\64D\pnwv=xҸcaRyοLǍVD/gy}fM2 (˓6 2Of&[RZZQjZ TKY=*" xq^hVOz?M/Cp{FW'!.{Ƅ^Gi ^\J4 &( )9MfPe'dװ|vs/B,ԕ nI2oz?wPg!ƛ5뷛c@lU9s-±.v&̎6L+&\aЮ>uyg̐uk1/i,1o>:_0PZ342IKX@+68utl1jyq(YmK}O$h` ЕhQȇ6Bt `n[`fo/w҈, >!' 3:X81-16pNNiGJw p~ -Zow$aSJҋ^dfk9,NuPmhCWIĠ,'}U$4I9ejF"@`Bp$᷐#wYUc9CIng2ڛ}#a NUN.Q@jbejC]7rg k=Là Sδ?nH%)Q%mR#d<4M y_N-Ra?@tY_(mJS+Rt}C[n0gRTy Ϡ\{,Æ>9ڶ_udH,"BZܐks"eN(Zf+kVˏlLyfDŽ9/Bj8kxvֵf'alӦE:L~g0l />TǦ<v.CRUkS5.#4'rt_MA Uo/".Y4J*:\>'h+l"R ڔ3]"%:9YjJAp=Tzk%O?꣉FsRv%V.4@qIx]M zlIydr?L TyN=Ldy5SnXk@CL#ixVfև?^Frݿ,R_557@e&}H aƅEʹ6޼ZC{6D{==q+b{|o5Vk2i*U]ݱܼ2`׳wG' v(ْ;H9I@Q,V }SilHm1YJ5}#}Q?TVYY D*lwėЉKX-[|f6Ǧͼ&ل4Fӳ>LUWAGV65&_0>ؾkѡyt/|GX\onJ/^v}0傡Cp lΫ/ՋQ)g{àT*%: "FnڋKEsU6Ik3ub ⅌ibV98T9H;p1uN8|T̝~5wHX/hztl~].-I Щ2X^gHIï4scWv\ܾ*7Dn{F9}8Z &kQhrha}ZG+G :)o g@UP(4Y;%٠X  $Ͻz-FmM7Cʄ8<'ui<+%azj ͎CMWF? IbDWQ)qsYn`LL7r1Y0+kCB4fi6B}Gեz1#SMIp'V1E,x j"Tt@w `4ƞd%BY P."S֖"W(hFX2F,Fl.Kay>A~~Ic w/p\^5׏)рnfԝL߉e\;$ل/qAn^@xs@Ǯ,TCꌧ bY& M+ 4F8= -k.#uVqHxz6O[}ڨi cermЫ/?@|,S[z׀)2Q#.{5Uf'EI|XqSǓ`t (M3g2eS+ Pi!8Vha4A-+cۦ t6 yCr_Aѥh48:uDP}4cr{;+U}UUP_ђ۲nS&/MHpp*ѺTi* N10#+.j)O7z8{ #g7xl#ߴ9{?,Ѐ:uw^e`6\Y-x+m@ƬVd_U;)E*0y?)~żmuԘ֤0<gC; c 1**+eony, NK*;{hw4U%]7gݦlC/^-,iNFyڞ;MR 'Q,0O $zP~jF p䅳>>(G߸r 8n_2+z;U!DܗD 3Nҡra8E̷eG$K&׼FyN* tw1P_HC/:\QpNI~Ti*"tI#M%A*1 {VcN3j,H`TaFd*S2鴚?O?N@s]WS?7a}[<( ϭ8~x3)a 8'7r)YӤiV,u="%dF m)$ǜǥFĔ.fpY*RȾ?"$rf5 uٸ[V )xUPbi;Z0%婇4 Z%a˿~+ajKl@gUa b3 WTkY{tn3wE2!MҘYvư R~.6HƼfG}W>. u/w/:2K{K30{8\`8)!²/ji`jv^,uf X<9Ll'ksŭD³5}S"CۉfEN:\k hah=ԇIۮ&Mwn~.DjXy7coQ!|S\5 d̩4 >1d))HdQƕS (LM*HcтY7J^"0&هiA Jşc\lФ NZeս5;ƽJ|DwndF"lp2,.uSʾD7} ;r}uB 1cvL^h+ઁ , "+ym^%wOae^gQUdy&sgˢ`O18daԂ/}!ݨ== lt>bJp fß8D/nȃhn8 KTtՊ_@H OlK :3>u 4$P-Wl_j"Dϼ1 @m-!R T7dr3CMPaCGQf̍6Tͮ-Ò{\eǓ> |vt֝=nǯW%w;'5N8R@8?VU_Hϟ+,3ynz4+c 1jg*2رz\ @[_ 6./ @N"^ng\jgM\m8A"QY̳9!w'+;TI3,W: X`x&ю 23"kE뾯PwV.mv{E+/mILCbR*<ktqpuB/M<NsRv*.I .NrN>8&Cqg:VLeVJH` y'E6ۡpFyTY< HƅLq "KRW#LMf1d?\8|㵅P-LV⤜_׬m4Jg_3 lzM')FHZA5eV4-l}S>8Lk(7FQ!X%#MRMjlݝv)v^ knl< d:p A:I`Dew~YY۾H>s c]E-e\NTײ1rXEu ʑ<C/f 4I~K7-Ȫfn(^h $$lsXǔ-Aq,c$9ѕ@l @y!aB'W敠DQAs,f*3P8{X]Ȕy}? 2w8A{@ypC 3qt D{yI 8OK&8X|$(5Jf`-S^M}&;Ŷ=!ok$Gݹ6 _$5{>ot{M@r2\`FU24`osݼ03j"_2E'Lig젮c=$B HgT1yv {6Qxģ.N̅{1G ˽v_!.M'U_XkyF p;~D >Nd_FBm ե )8[BIkF̃_5裁oecA4g!jyg4]Ԕ%7§pSWN?.+5\w[om}M)E9 34\8% @cTә2Œ^nY=sxF$nVKVF-~pHqowV탮Ϣ{r=}a*,5QJч5[|0/w"]qV4(I)$8;.:pxZ_AeUz1 W8lNoG^|:=O6\ KkNja|J\z:] gj)SE%x)[LN x["oy7ٹ$6显~ϮZg"t1ybI3i)/|z?g' P']Q:,$3mmt7hRpe΃| ʦj(^C> P ffޱOYd'/c3 ^V\V #/b2me%.&ChsB c yT$,.L6vZ L4 ~V+5MZ'tkW;N|q >&stN0>LtAlzOBlU1dE 8 \S *< _>U-r*KMP dԷc!awh@KѠi;`ۓMm؉OQ\@~`Pե*L#CU>~{[Bycǁ{kbqdJx 0y,WwP&}KgdxT7Z_݉K[pݥ:F`]L.WlڊTEZ׵4 م;DB[<3(gřrSVnYY?%.]>9郶}QyɮWZ{c'|l DCn},,(sx&,C lC5t}JWyD@JpHZvBR{T=XDr#{d=}PH}4lG׿<RH[< ȫ#mޛr_g3SzBn; m *FMHm<Un|e?MCv@-yųŸއY;K)K+Nx(Rklޝ> :Iw$??D3.}kZ/ ubRϑvS}r; _}_h]G;B6NO'llGۜo[d^LQWCp9'w[: ^SZX͡,J+#,}瑘ˌN&7NUYP#XV)`Nei@4>I\S$'>+ U{!?-EiDa`ߔGlpɃ4\(5g锴&xm/{{/|4eK uUm;U)"A537,5f Ξ;]{vFg% p;KV_QĀ nX?P&ͅU4[!&7=yx@se' \0eER8ծLAS?J֑,1bÜj,=e9ȡW@{p7TfB@9ݑ> Pg?Ƌc{{ߋRC?x=蚇:iqPy1\[ f'q{fpI]cBI+koJ"r:͚tNPo/+)^>ˁF '~Yd. u)px\B^ED€KB노#C!qʽT9̰ kHb{ ,ѫsJ o=s*dyχ]z_`O2"[|<(@Y)EI5z,:;:8; xu@ ͐+ofBu%韗RD5RN73y[q;W LN ^@D_{MW|>(Y *K]gWh=?=f N4r aRUax_{mqnTuG JEke}Y_VZX#6j(jl߫Ys[fxg-V<|/6ȱB1fXM<9Ɓ٬Fl8}D" ?rS2;bK>|(8Ŷ)G0*Ԭ g 4U3s괺N\h*ÇR+sn2m.9]HY|Sgux|IYU$ (bja-kȋ ]/#N ;`I[7&0,Nr |^L[}%뜁L#:l;qd'˦=`{jl5P,m?~,0gff1D ^AT N=PGF/6 u{z/b?P5FssnnӓosltrhPNhBW F[N eMḋB _46=ݞH$Zri@ȳ |%ޣlM'm~И͑Su~sN~?+7 ̛muE$䩞~|jpb C^p;{+1N1_)XVCn#A̯]q-'-{tz1H`T(?UФelE ,` ")"'=vX -6MvTy0~|^,CJ6!Û#d]YU{‘"u02ɊA\ g$|#EuSėCc9.g7mi5 ~"B ǒX_l?8/_,Ƨjq2o|QYvWNqҐw̗$狥3`(b#P7^˕K{e2 I[LQ j -_'Z>82r'l/ LEED}WcKbĭpjˮEʰnrA~!B9U:S57zu%K*:ǥc2_뻲\$N~5! ^?g+G%0СsmEw|$t `ϐ~W*!+tI\HʿoUnukM+QxJvJ\c䴿(R CVFqr~4}B0QHxQb?4->̞BT{=ݫGGPۄȋ=Uw?.C=+ \hh!@3) ȣ-4&ّbcosȒlseԑu[..[0@a[ *?65b mt5|OZ{`PK%)<-(-*,{">NMt`#L4Dϳ7Zb"mSՖ{fˈۚtxl]/&M t=pmtn8S=/0xf.aV˟Yp tNߘ`rrbv+QxKQ8-O-+C uy7KkFzo(!eKZ8$U63D@ vrzJ1 /*H۠u Q)fg9s`9L Kʊ:)sﴘ!Ξ8ǯ "9o>馀ѽN߲;4h޲sdq=W0~ݯn]-5BHko`4}fIve&_6]h ^s]2xPR{Wݱ~C:Gp >Jy87VR.- `=ڡ1Yۅ7_S }¬wA?YASTԍ>CtD1}F*3 yu;ΜiErB^#mVpp@*WZSQQwvY xMv=-jàw^^?-VvVi|Be֦MnH:ON{dV_z֎ 7@{F[eXQ[TN]b0*w.%] >xLF) 0oCh??@?VB>8/#$;%^u'MBVAE]VO@ϩVS銣&xlZ-v[n`.$%2 {o?% '&dOVƂn*Z- 욲2|b?Hu5|`9*V lb㚬PtEi ~w|#@:yMP" ԅ5#!cܖ Іw - gGMh(qE/X\.d&J[?,40NץF+JTnJ'Hpᙧ \y}H_Rw\қd~Gֻbw3 i2;[`ǵ1 vm>#1'*/HFIyxb[Q3[84cWu]yIJ}#rM#Ȧy YK,rfM3&Y8uZ巼Yw K.^}b8FIr?ɝ(DŽW:2Ϗn/%!q_Jg[L.i'DJd,*uTXqGtR@4 Z)t&.؁&[S^s\d7^n5@J2]4G?s^1^CjTaAz/>͂X>eԋX=+vjUKGn֦`UCQax;LÉ,RߴPԏ-ׁ}Qj=z>nr-5nL&!s~ie7AosN ܸ⼮滺k=pc/|l^ j)Xl6b[RM7(/;#+V9UlyMB?C &ġmp1 V=fh=-ǏsjB@5g Ϻl;jE4LPOfp&EBN"r ,+8dRj@h 0Wg=y0OuJXߗ'Yn!\X?sH۴C0:]GvM$hp`F| D>HQ2E(k ?nqW  ahfŸ8d Jm$ف~**}46>A؅4|)Di" # 6"b2b!^gzzaMz '}1Im, rԿYQqg}0%HrvH@9q[`ric^DM͆`+PΑ`Yl~l,PQ5+|p\\`̝Ԁo3GKR_MD ";0{~%q^:фUk:hO5v2)$\MY,3~@UbI)\9w8Yp aQ!W|3:|H ȇ׸&<*nN^ yUY0L}P) [غl{6)I>z,sMQҰie 8Srg-uD:: j@sT_xsbAYlj9nև+:PTKٷ;`{\/\;'P%RZmCͤ5,ɭ?w*7ug i=|<5$!gqПC)3Ksѻm5Cp_:2}L n]>Q&} b.ɹٍ>$RsNڻ&Vn@bۗ7䐷Xm!_9f ☕|7ڴ(BC;q#5 qPhI E a KcQ#e7QbCN0߱V*MwhMK7$kCk c6,@OQvHeCeFf졤L09?[VOz+*"7 WIDFL9"mGDA eZ}pyZ})8_<َ+>ҴlhVFf;GXrnBO1 հB\'?I B>GP:!C;]u9L[8$Is+xڰ ǰ%,tėO9o3m_Ȃ^lF`LVC<8h[*w݃Jttp) 1cRY@/IdoñGT;C*ai @WH 3t{Þ-w2ː%럽ݍ}$j <{a3-A xMEXSEaޤ>A,#:ʱD%\<0rʜM;{ϵ sǕ}mkL&\ao80,&r4%U4_wgmKu)(kwN v0 :_D m%$;/(Ä0bV=(?Z`6aD󋞏z^i֪ѓ^cwGG;Q!yv…8܎󱚵O`.}7Qe=,A2Jv 9RkO6 G F" n+J: K։/]vv@irm&v~ Z2tIBVaº_PQ'v"O^,nIg#7Wek-|{ c|@G~M'nW s]7$oF Q<׏fvw) r8S}^G?w]R'e2dOjƼ!XE9@-mx)v9x<澽^3.jS@V(o<5 aW54 -YoOoJ$`eX Q% .$ &,TvJmxt%;lPƻ~붡;z顢 Ťkap0k1p^y]"Ptm5J_ K8+$$-Kl9Ly2#^#XTR[RzyXF6a[B2 xP3 s >)~jV$'!M*q䙎i7oM\xdxqڗ5Ll|hf^:Žy*±5P纏KI70Bw?ྒྷ6w&iDQキ 28ͻPgRn_bS/:m7`[jC[U\u_G dIxm3!J,v-B5?Jcj[\h3F}0zNFb - X*8P In:n!!xMn\`5>Z#wYhwuo(5&kR1/ڹ8o@5ɝq!': Cq̈ Ltm|cDsJ2Ōw`my!E5@D(GYȞeߓmgf**CJBLSq5OOpnrw7gjHh:(J#]t}}Aek{[]Y|CW١|%zs91e043nHb2"7F):cM ~d̋` TR:08l֗NKb t̉(u?YK5|]hEU-wGs.nM4?vgQiE: rkI -}X/G|*O4_e36`qjeFq٩C 3XxfaY%$GBXz`~Cw>ȁ.o-j* 5{ƥlBXcxCdKoƌgj_d~R'c &5 {N!Z7]- xbot= wD6hlFDuOF85w@"!6 Tҕ;:V#r*"(meF$4="@Æ-Xj G:*^]3 cy`T$ؾpB Ak$ɽ6݀?-YAJ>Z´Qr˹mmORP'! "~c@m˘gGL Mˆܪ aR%_JʝQ&5:a:cJJDR^ kc~O!8C<~y5'6ӫf |Of P5XA" KYN1D}|D\y6ɵH cQx7"`HJ~̓7=z>L]*djZH,,؋N !B~62Ť^w [|Da:XEF -`ߙ’= 7B5X."ZYt8 G!-;qy*ѽE} N0.&jJM|jCg:lr4U ^fx[.Qshp.ҸJs&~㗼R3K# rԀQ-VpFqtH:iڋE|;Pp+GCEۇ GcSJϟð^eY>NoYEƲ3Hxn57^AxG&.#@ӵݣЪvq|ܚ.FM]K7O J)5vC+FA)8~= [aS}`;w׃&NP)doX5 Ճ-TBZ[3ރgI;o&iOyx u}!-oD*2RIKV*I"Jdt' /|02-`|Q1's50PLyؐ&?[]Fu?|>9߶Ӊn')™)oM>!7"w^FwEdH*>hRmxֲfv0H Hk3jwxA8*J\=(nK# Q}GęG29l aJ4Hu£!? ׯdJ5vTK"'9izEW3H/[/ջ7A^x{C_&tھ`&% RͤCiP9M~bNDa(x*NVS:?sƃ{ uhΉUoZ;s*Y2lNo:pΫYɿF .=M̗ҘuOcbOFcdhGݭK^;'YL(`)* $"l $V!|ƫ{Tu!A#Yw&vv@qe#zyn0+thFEtċl`9m$&%W(Opz-*"QSVyG?SC'֎C2R5Q%R-CYb9g_lA7Y؊CyXyBHb G/ ҄Nܦ?ܶ]knE /# ;gkM qt_`~گ,q4F[lX=='ʆ֓u!,|A,qbuylLb1fñP;$FV;XBaFcj7|6ߕ.ϙMhp!b2t[ :fri兊i#aJJ۷c(_X8Tt0F f>Vr3(X4W,}efw\+׏zD,g+'+ .O[Jg^˼Iy``>I ~`(CVx-ISTy/ >I\}X K/'F .FgqM8B- h (UΗx䨶i|G-qjݛLs 8VИ 'Y.{/NEb7ln/w6Ӻ7c Nq&hAh@l̙ _5ڇ|g~wܒ{>)W]SW Gy;fwZ;+rP?ۛ'3A ¬֕1m6ڴb-sa8S5fAx6$fp 6WɮU%rrfցUO(¬e_ Sѷ|"bނp|=Zea-S/oQ" C|Asy!otO|a7>(JqBkF][S}ʁO$nS ZC$]bP/|W: f=m6dw,G7pp i&4Z~8uNtGShdEC얙>p`OTkr8Wf)ܖpݝ4sǁvwfnHMG;LJ@"a\[f!Qh?ZȖeyGxۤ V Rg߯q(7_OZ Ao*%kYwPGjIv!o>XyO4_&%#OySl ?i;"LQNj"Tҗ}Gn4Rwp``0w < ,Z|АB)T?: U5IN,DvDR\ەQk8q6/"xʸaG;" -Z*]fMd-ٕw^Xp)-Xصt{?zvX-+9Pȿ28[?+f؈l 6:m`QwRqm*-0_?/ lOOJd#|LɈ }KKO: nPr,Rco:ҕBA sr4ėn1M*;w2@Gհ 59T⛰5:Rx〡Z2תlzY&椼? Lcr>ԿЅw2]u=C#p  6!7נElj5Z[_9~$c S՛ V}d Db 횤dYd|%`T44 Ѷb*0ߗ Lѵ:ros:f!C:# K.*dwǫSD&xud Ma&4HI/ 8jNDgx`<#QftjДŦ\\N Ir^5|o`tc=7^X[3[g<iFlY,Sd-3B6m|q`b]ƈhEmeJfwTWNĚt:p}0~֋H2j)4Q{4{Fh!Բog x2Z`)Um*JN" %v8GN&gIRoY8\6{&htLW%͌_l_Aa99ije6z,R{"#eY9I@7^šY؇g?#*V1iJi^waK#K2pz_Q䰘5ٳF@?Sح Yɢʢ S?DYt5s4'gml݃MT3o~.**,N![Ws>dQ)h&q g ʂIF-Kkϗ: ;b\\X`)[5ȸU@Ӱ\IGلD*TIpkv4\j8|ʺ"J0¥-MSj΅O?dF#sdL1"m˻4nP_zL8训ƅ2_?.ہ bjP@ff/ ,[NJU"j)հ흆rgTBe"s1cndL[`z"o`D>@}Y,h΂\] x%c(f !_0o,0k4tÙdpYΤqbı2|`Cw)PɐՇ/(׉7*6jj 8*D0.MaDl0zH34be7R)})ԙGbyfR\N?3Ltʕp= Uc!*S|Х#ƀSDaa]QYEl1;W83ڕ6s 7/Sצ'?P:T(~=sXקpUNQ^k]L@6MA_๓4XU~T۩tIHUh=}f/q.2L/jfaɇ$U6QY׍=L1TKSz7ģ:sU*?ÂW S x8^l9{Z]4JyހAe'G6-9TlYhN:ljͥ7B;kax?feclip֮f+Co :)9Y_I,3!@d=lʐQQ@Z>0r=픜QDpŗ]}Bֳ[QBP!wDuHA9Nɔ0=roJ% =4o1bhز_]e0,6# l_܋;dՙ4V# <:5HP (wUZr:?OcKdwZIf w,U c)xBܾtk;=wbyf w8೓Lu+J^o×n@R1[em 8n2I\Of ռ*ऎ4w{##yj+;v"r,|Sy{F86A/(!"A0*RB&dg.%f SG:HL^^a$O&k,3OD<.E|&70 9'=^m㾪3Q:M#jd4O߬t~""ӃyDsفeG{]\\MEe9{7g9K6=Q0ب;Œ`?c8 풵m!mW 4a,bS=nW`c{aĚO':/Uwī_+ezӸ#M'ew-ys?RɊJ`K:bU |65HNP.taCT +?`4 e-dF +VCiYډ@҇{5Q$L:(lpn%]ϥC" 6|.B֔s6o^q5RA8+4s̽WUI>߹r?73<~_As7xg=jόb-}4 ؇ۯoUy/qv[cLerڎ'#Wy}C>`- uy9P+> 1{Po!L+=zQ266S1GO &ZT>RX˰d̈́ q6. Q #ŝ20^-f;a3e'KT~lrۥR1Wn*%)w\(DJĺ&Ncxdcx䑛s $r7RgRǖul|H]>#:yվ#;guUovVhDɏ> ȃ~5AG/H]o=/ 8P'}7̧¯]#|u, |dNw.€?rUL=6=P?d066^xXչnk' 40_אP$|7-$ؖoBa:Ƭ-WO"IK%SPjξzpй-Ylm BV[Pi˪12nk/[M߉|:7*c7[~QgDtW1S834f^$ (=l=b.= NUܛTKq4g\0G·{f3"4" MS}tN}fpheM{TdS@3,“th? >IrO^1Ԩs_Ȅ8{mKE^șZ{3 Õ{&/" G.zb2p.GFf~&KkVMIeJW>@wr/{0L6;aHR{Kt oqur0 ~WoQ1hEW@vFjA?.sf%i(6 TʋH*΃_y {ŀiϾӞwvzk(+6͢RgCċK$MkhPDJksAyx2 KOkf;jؒvdqw c?%fPNM|@]zzGW݄l 6v},r kc~)n <*Cv{[g+J+!?L v٩VRn 7G08:>rmI( 7nk'll[" 2c-$\8ծZb?A|HlYۏ֦ Bsħ&v FԼ{(*~Ƀ |R^qZK"J]e.F s^~aF/ɥ?QqxFfzDw-WE~QuݤLDA/jm&,` h0~PiЊ@7r5E``fU0gP'AGiC$ُZ@FUGш]⮀ ]߼5@ǜVFlw 9;c7-.XI1Js]K-IrO!Jaִ*!8,A%R# 8;8c׃frK~unsY -vg2;N!z}.fi^ΎC_X/qZUܾ8ChrTR >viIQvl0NYb$PsBa|QL!޸\habַqɅ|ԸAfe$E %NOa_qi|Ň#ЌbMjD*} d퉱g%ڤжSɞ&P Y-w\*_=i4خ>C2aRȉNyTh"$HTBstCᕫg$ڸMZh}U{OEKKG4n\HtU-+8BˈO3a\>p^<(;Uz3owF슼.{B_{Fơ(]yPCa#~$6 .|Ѐg{kbzĆ밌kC|[ݓoclpn3)éAz{~S(8HeAr;`JbX9eğ7fk*I~SBew)Uً-}# I5C%il;aYZB$b@SMigB5$*/O;]gv&OJ ,ACƐSry0{e{tX))jScSIOq:X]`5DhS\xU ݜxkj(pe:e23y[u~;4; Ț,t hv%Pȗ74:/`ĖS5SP'TM-`7զ|u|*1kjFvP>x2|>_I(=e*Z8 (Rqn5&}>Ny9aYտFv`=QN|\O,5ckXg9ƾx-U+2L%v}|Шc(/w5egahqh R)'o(bd,Ԡpdd[Wd<_ULY\E=W+:,,g/vjvn*-@k}{Yle![La|LUrԔd5À]9O-#4a*+*eജMoœ 1߱Yϟ3"raq6s?cK( }B>2c缮;w?M;l}qطtE8m*V =?ZbQDFU f g)vɱhb(ncK1u[v]I9osr$r ělN\/=c]؄fKc꤆$R&DS"z$ Sgr/ĴX?)(DU034..$'$;GgdzQDxj7ԦXtxLs{R,uyedU*{|_ԉH*ŰcyzMzrX[;;d '(oNvS (*T8T>` x9z|\ zILƲ,;qs,b> 6 , ʖ=պ zH1atGR ۞(J~tCQ\o|) {̳EJ: !*!v?f/)L**ʉm%x~^ղ)Mi"ڭO'wC,ۋT#*vz!#!H rTH4fT- lB٨@w@pzr;poO/=}߲isqg~!bl: h ʦ ]5w@V̲ЭxKt6n=:@D`EkjF3KD]:6 I KC#?133i=-I+u}=Hzx rOy>>|w@'֍M*'X}TGU E曅FG_THaihbng5kDQuD9H(5:+7boajH5*J*HZ6t414XXWGr l711\{%RO(ͳ:^c8S2Ո ~3{ߑZcϴ+n0r᜼Lg}Uoꂊ 4?X̷B߬-ϰT0$y{!TwŐ'Tն8ű.}B17F+h%F#]%<=`2Izpu?6ORCЪA28}o/FN>-=T~>J;+CGWyɛ7!āBXz8].u1{r@ɉYәo݊N? &a,N%*$ѻ/Q/!:Me;F[)sS, ;Rv&Z#sLz7eK;'.3B/!b rY0Qd=ǚˏ$wT@3ڗ~~h$e&ґ[=6mzu9t)fHL-Rxt~*)@Jeǀ_.%nQN7meI\mLp.餙\jWXM;fB QR>G 8v*0<ᱴ^`aEs ?Y,:eLf+-py:aAꖄ/8 h5]rW7;(}6D{~} C;u^z9J_A?~knrA/!j#eS'A2iQ62-+p~[sG#q0Q8)| [tPSš oxE3fDW i:_cUSSY(gw;dA xa|=#"Gz4Jh)Ūp_y3LVIU@v]`~?'VWsl${Z?7,2u4UbqX(2 GW{VNܥ}WZ[^Ì 8bކ#UbQ+jrկ<f({֟R]jz9d=уFBh[F}X>W,^9k!"&ctHAlb0ѵGZ?'EvX $/Ǫܵ' ٦ LU~#xʌTgJҥB;6O[YV*uXO|{K2S-TI4M]ߤm$/rr7'&պ3r hTBV 6#sqk(vP ~AFud zIL1Q!7Yw I,=r*՞'36*ND쓨) ̐io6-YlfgP /}WPK/G-A8v?h_Cpj ʮ0DtTK@!ҧ)![V b3Te`dT m1DD{=~@]YۂBui_r a]ةyEV6G[x7#h,Z&AQ|'n FS%zi8s Տ jևN(? 0^)ե,#t@"Zu Z!HsքT}{LqE*H `W)Rﺊ^CFρA|Ϙ5`ȍXXh'M4%(]Y_檦#]lMXB\~Dg4_AX~)d$=ŁBӎf& 6xXsK~`~_3Ōt~C}1VM@++B!:/z&ER_#73P^k?g-3^B•4 7hvm_I϶:z8(dg碤F@w\J"9J7Ʉ/Jp}XB:GtN^˳''!f(KsNSa|:EQ6񁉴 4&=ӧH"U8kn^OPp/1^ Xy bO%Y GP18H՘X vopxd|? iw p "ef/O)Н՜&݌M/ ءӶd pH;>37dVgp(αrT``q s.RYc ҩ9[L~rwP3)p荌kK8Nځl~g{UOh/bIFu&9oizQM*M 'Su@5Lbз MZ?QTP(t}/{8*&5\:kRqSEENRL!VgN{zCߠ2c^jO/i_Fy|%爰Oi 9'x9}PBo_vhaU:t*W:i7 XGU^k!]4Ogb,h3 z鍒໐z"SPAmVP\D;=Qם?Sz*A@PGTlKMѴO?tƝL ;P7:MplByaLXB\ yHMZ,Ww5>GXX Sn\ѵU^py@ ;<=[){]KHsbw HRτNEXj<4:T`g:U{bn=,<qmMÂײ eK};Cns'38HI%!;dTx(QkSF4LQ@)L8'6T6SХiI S7Y⦦]*ÐK˛\xb"}xP1 ~`" (gr, Q +[{՟C;WA;6tk;i/{`6h=ZR.upa0j1o -J;&̸:Una0d%E,NQ G0/ g\:?f~_Krtq)yxU4$49)UdΟ(WڔsV6Ik!8 .;YFZ˴L!3gb[8ubwrUoZf5ػPk5YF\e$!b:QWKg->4?C2L]S˻K'ac5rL6bsϲjB$MQߥ -zٷZWqs 0i6ā`koY`q3XU1sigoK>J|~q=*;-g n3&}b<  K|ťv_k3Cwz )sRYF)ٜOSQ}2+)9F:6PINVc7Ui^s̍\/3=\τ@\P>XJ(o}Z9ԃXdSFCgSR)=\}‡hSUפpZx>@TZrq=@ѣ hTS4qܞ{ yA /Dn'URƸUۮŰĞՏk9mp-x#;D< {LES߄id^9:Z@P4rRn5-6Z8+?=uu2f(F>kJQ/eq'武k _&Km^j*Tpk\2*Iگ˧ t[aU@a&ƪY~)B9v" >47,$L*N8hMqm_'̯ԄՄ-_n-` amXAa G:$&XTrj:, $\W8>to,ѫtr]'3Y⾰2<?eDQwی>׫/1Yݜ#A9'b:*~>@Gr0a[yvpP@8>[4>`2΂=%! VBCAj5 `D؍9 3IڴĎW7N__B;! 9SUI0W.,r!+'%eF^{=]dܸ:$'9sLE N"rƇ w8~Lb%1ONV8C"vF׿s U)ҨV x>Wb6#%M4P=׿Vo Nu0D9_U"D .+)aez8[IjJƂN كo)kH"vSƑ0UzЂ&Cd&tYۃ4n8хCfl Ҳ5ҏVl*eE ^F˃*y 9T1Z)qSfJE I9Di\܍)MΎcN^ӆM30̶;`Sl=.y~>MQœпl5)V׫0 !U^RN`f_N]T%mbmukh w˜/*.+ Wq8d7ItI>G k*sW_*Y `y$e%lAXwoĉD/\Fa-F\IKH`{`f2U4DPcQ[ TzQ 3٤"ޱ;$)w KH|j()h4 5-ZqWh\+"TA5,CxT^75;6w2;%nb@WB #r&gi}Pz{CH%1;;wKMXk[Dv isʒƩ4|p<}˔\)Wuq ӽ"CbA0ڊ?l臀CcsކE۔MMut>&;Md5߫BCV&S"G٭ASj"{4H9.c~mj~GLpаd vl et^p6`0kp03(0AȜ~d7nr"H_t*p*d:+E'Q$sՀSus"i5Q[ODbe/^QRsVA5$~N_b*\L6ɞ z)O |-h"c]Ҧ4.R T:Ԉ.~[Z(I3 ՑG dt=Z>v%O-jsxw h lPwkǚ_ebM50BAf;~fi;Zj4BB=@Ҫ7MDG񴙂Dn7ݻӈN/HnO!C gB\ ךelY2QM%d G Wx;SiRVRj-T/3C; D?[A4"4 Ȅ88<03Uo S!~moK v/b6Tِ#I9& a|Yy,کG?-B CJmO$ =W<#bu&v>&R%PF7عq{D4phCo HLH)c~S2YO!̋+Y." "0D=xp Xvn .I7(E%c]Mp4Xu RCz9[C9~YT0"XBt+9z+p.Yde:^=H*VXq3J2x"%ob3(̢/hXMbf;MGˌz0@9tjF5t*wK8_6|(GLaF$ke.Jy\Ԓ"fdr[E|:X;ЮHOq2p 7~ }4-)ɃUut13bF& *مhk7HvYuX½ 1wNxԺZFtMc+BnJk^/|?^ NM0QM!"Ng ^~#Lov~>qkGP2JOwgK2W+ "jؼ֔+8 PGc1H2a?ًS^hj4V={7J1=OkN廔Oe"Ŧ;U{m t1/v }wc? d.6eƌy%84lWoK;dZD\J7R6rRvsS^ e(M8d_*!H!?s\'aD4~&oˆ8앬ϥEif#C-'+yIU*꽀ُ05+qJ,Zʜ{N=2]b@Pb`Tv uquNuh-]vP_i*#a;߈|$#:IP;1ϓ{L0Zd|VCI/ H0D!ja,lJ ;o=$|WqsҼ!L ]+7˼6qw8;ovGl.v;ie'2wR*؋ *m/Y8f7c{D},Qc+JbgZN{ dC|=z;F``\A,dC)]rM. q?Ie|F #`bc}t" z/:?JxwDWbP"PsR+]@_]<*Rؐl@}ފ,YbYwXq qݥ"U 9}'jDQ } \o<f&`h1" IsYޔtCUR0rqY4#Yڞ9]j0qw֣.`: ;ݯnqE+u҈ 2sĭe Zij0{ G'\+jH`N"`P-sUhĦCGW_/Ҙ`Y'HV 8#ǖ*.D LڸZUnOt9Z%421(+ڷ7e"S:Qr`_hmjhJV& tY|p\[au 9U_/bĊ /KNyH?m< NRGycka7 u0[2wztLnm%k3%Į%Hή{ul*ߴMl=3/﫢;Axrt_VA4Q0mPV) %~}d&|hүSKwSi: !u[(mSLgт5"Vo&7u.f0" }.!;Қ:xGA=HI0 WLmHG5~ 9S9;c'LiqISqɆm]/nF[/xV;XKwZ| Uت#w݈QPO.Je{àK Ę9DkJS6oՎXrޗo 'wbpxr</ߩ/`R'~C.7zK: .` ۗhu{ln ̀QD)lSg e3I dfFG/25HuzK"f\,H%$uX$XzBk FsBWY7"!)(VD'[Nc6%:Icןm''3xFAXК%}MF$#@V6h,|Cq("-ѢRWMD{yLVG(?Ͻʺ-$A^`j/pĜ?ZZ>ݨ6+ + V=l iu7h%sBެƻ$>DieomwL*ɪ .bKfx x%4׬1:HlJLx@iȣ fW$@pw-IV0 ӗkV&cM)R97?xNs"F% 7o2hf3p(rrpފ%BNGD![K/qf&|\2׬S8 籴1 c+2,ퟅgKKV;G1 u[7Rr7t()CNQ՞b\n'aN!o^ޠ) [H -niA\㲧 vN{ѯ4Q :\Ջ;P܆{Q(-J1aK kGjBnV5;:#I1I٢$@}6v`t6^}GMSdt/ :VȬ fʬ'SK[JpyJPT)8>h4*OxRRn>^4k& O%?>5_"ZTKACC:OƳ=l$!*5.Q_ ) gܕP 6!^_A$|L5_0遛NFq@ΏyL}12U:2d~>Mt\ 蛙qh7H]M` nu'JHZA"Է0A^LR{X]b+Z,gb-v5QL1=4 !Cԑ3^F'vX8\U;1 wc:|Ms ɈQ5s0NP㇫YA]- (As"ڄNbӡjbw{Os}xB C5EtD1q:~9%MI$Ķ@{mA=ǽ[J!af aR' 3֌P'3}i.`3D';1+W͓r4LVO~J)% ֱURlUvIDPQURRXB6o}_tgGC5;5qvQZ %d qN/_GD/n4Qo@9lF?q!+V[M?LbX]>4NtkPVjNYȹ!@:2T"w+{QtQϞAkBN0>媥<2:?L= ͠=# DH+)E̻3{^ r3&(:"~J{wH=<&"8`:Ŕ&I_.q`𘼥g:"M}S5+l ߅rt(-[N'01d!uv5Vj" Z;^o(]i3 &`BI>+'lyc_=M-XB2F.x8iʃ=oҙZR~J44*Ŋy xrz<˩m~p@)r\ܒ=<&6gu61 >&pQe0ZX/\׉;DЍp] ,bp».0K ,<۴f|{[,py;tYQ|w?rmNl{]4~ =ϿG x8%v$]rWk {p.⓸?Xs'r-u. MRo˘96A{[EIyz~>xtX]6lY\Q7%gJ=R=P&$iw=0ըn(+(G)nB m/4/fGdМ gХERP2u#p3`S3/]HWfo<7:[ ٛ EdLB T3xÝ|ow\ÃMRRC91lVP$OvyIleJ ߦ\[??1/%ܱh8 SfD^ڛ'Z+i dz%[ li]8eloFȥ:wNNrÉ~I[$btVR#y`Ey~eO3xENR%o/z~QƸ;|n~;_mU+b:o뚉{Dޠ*6bǐ3'8dtU_HyKC>Q̒ndu /v2 w"\C哐w_Q):t&|*سp=&AŶO|҉IAv t"sLUW۰Ȗ2ŘHgBt,uۿ08&sJ#z6)ElsPv27AE yיT`2 Rb^V,O,Z QͮAA{bBbtݎO]ғEEi%|织j/ e-)=W ;BڸsJLɳ$`$1. G8Ӷ梧Uu>iL+ΖqasUr_LOW46/}'f6B5MRA`x* @@%y :QKp 9薩2ZlA~yˆIhU:`s2ϩt) W4Cl~ *p >Jlb·A$7}YyugFpDB$keͬ˶GTYvz<2BUBZvWD *g,g_e૯-{"2@%1%/N ~0Nl)%BMRvT( iB{ׄ=>m1sSUi% R· 'pޭ\<+=t!Lr* tH+!RkwxZ6]t |Viu~vf 0~.*k'KG*Z fN>H!Z,kG[zC<#&d4fhjM@0Kl'$+DΉ=3 a(Uɽ~.or/`6j.(x_ *;տ>̒L::@ v_G/K=j!Tm,{P,r_yQ2]HCҖE*p`ϦݿBbBЦ@f<1;,%dHlPOd @;]V$m|P⒟ **20rT"#A>B!`5ڶ`z;+IuB.d\q7 Td*"U{2o7 ,,SJ3#\Urq": =(7qUD [RY4M**,Q7ODQ,p犝٭V#k.;hG*YcekbbsKr9u <9o0vcOrRo2C >SZTbot@ Xf;!\?Dželd*#6K 7dXu2>|G`<O<`w][u$kY/ɹH`,#Np+JޡfIBSPUHih Q-ul8hE-! B%/9VKZ8Ĭc& szXhxlb55/8,7GbU|:37_ᷝCT*=~*GoHSrsZ: aNK_å"ݚEWr7_. tCm肨JAp bX G;!fzWT[ڠEmNR`o=4Rθd\20 ,m/@vDu0t;TN@$$m@QSK 3|$Y*H~#PCN-MU;1Z@XVRJƇPc02mg,P$!Mcv}RX Ԁ݇Ӟ.7j P8<0:I|ߊďY U{䛵4D݂;5|sf4tLP"ԇ5(H+Ԩ眗]SoLTIa-*2qnc(KJ [ZGtKPp(:/cTVUfcY T OdlX"ݪQ,^%z[\Y,~rU($ӈpNy蕂dJ; ̙5[tԛ"s*\^o$,ّK򔔫ȉϽ"Щh?AWFPܩW%s=%|eH4P)Ǯ]:Ϧ3O4z_&R R]9о]]Ow3'rlAȇFzI!3~WJjO\^~:6| wk:B#Gڰ[ڍTC W!! ՐdKm"3[7 /_!ߖdjT9F,o'jEsM=5ȍ(2?r1~Dމ Q\y5 ۑ馍fe}\^`~b\آןloZ+ChDy )Ͱ݄6{V3*gK uv<3z!7-Tşz!k" ?]:s~8k.Wɗ44oMY 0oV (Rf5rfnu 'QχߓT:Wפ_QyO:r3Ѣji΂9p@y`$KBמml,y"~v/.+Јe ^7 *w7z4ښ[—\f:ٌ!y@ )FCmd~~y_=3g`+qܬoϼ@-@GCp&o)"IA| Z'3 qtng$Sb[axKBIJdl j ; Vt?ջ5Q\hfݒe//ZZ癜%҅iډE g*=΋ M$QE_a'ސt:ߞ7)F{t (q-G1x<`S 2W| c[&SxX5Y.|;r'@wbOt^ޏzE8.w?ZB a*&:.M6zѡu{OB+ރmb-`m*v$ڵ"t~CE8d Ϲ67ƉcVn-*Z BqЁ6nN²W[#}9KS-bc "SDT(LU= ||S^RA5xFCvF~6$iaѹVch[UuXA!=)Sﴜju>,^9ew8r|Fj]j\cè:v:JÕ0 P߰Whhsok_3AZ'`C޴2!E"d~p* OHH6C?4[L5qC8$#iSKPD2^*{ m;]SDn.[ag)@<&o |knJTg _1M5H%|56q>^bF0wߧF lD1e-7?OB_7ŔX0`v/B`0 מ^ic\D"hV`[`Tp{O ^Mw1EF۫y.YwgMpTp=n&_ >җKԤ%'׃7>?{#.`";*h @#R ZUYh f//d5 hy=6 $9QA~k PhCHb;rsXců"t^ť>Wװ ۘˣ[5_٢nV 7_,Y/.&xdryn*,O'&;},d"n7LT$)ZE5ljBҎG@WyD4!%Ap ^'<>}{w2YL$B7e*$gU;҇喂fI|jWW8(Q*%tV[/ ~!He x2'6y ʱo#3|t((kdϽwPF>g6Q2*T^i.b*W 7צEӇit5lq&+tÒAI'ku]LRR&U9FH%$rܐ6X$TGD'j9FSYzci6K1=vnˆKg $4C1p^A㰱]U,aL]}I[. f'y(m+xH M 1  奠J:e}W=CK d.b3*w͙ƤyH*Rvަ|ɻCV:JbCzWjf eyV=(9cտۄY'rx$'mK܌+[rmPZ#xDNDWCB($@HBK{W} ”So<^Fd>"@D j~G_\;G H W!OFvzQJږ?UnQ Ar}s$\b^åxܙYfntL3]h` &dY">0JBQ DA#)1}rdxhS 5'ooK7CFC (gf6DA DXV$SG/RWf[,K6an+Tf(?}e{FD-J*fNZ5_>X+]8p$|$$]hv歭eaq46yUC~r5 LY.+kf3[J/&lVm]X*J |+S1FSSNl^=1>քܮWR#Sm&AIYVlPTdP?ؽ OqeqE~xn^RX:a s>r@j[H"%W4KSFsNLkhUl㛌^wZۓ{[%c@қe58IauYpfQh?N'iY0d8'u xwҶd(e:[:oYՕRҥ~efKI <4 aa6 / 2PR2l Z 5ӦVGC*I1 <0#س\ƚeIә4I!-OXzr+@3qOҸ YB1$Զ=!j`^f8*тUVsY3 -7c/7 j&g XT9"Y@jP$ȃɍn22.wR˺9Yv9SkL%o7ȣRX(2Hdl@2B u29$L pD*u0H4̒ ҕqA)cVut\V] AA3liB;`|Vc-Ij-5F'-( 8-Ju m:[B; ^ ,]D):YDM OMඩ5 J}DQB,~vhcZͫ| f sl,S$|1BiM2]3"7kib2(YOo*T!\=okB @2ElFFdpB(!%2̪H)&űDuqc0ݥdQcPXLkI#3XЪKLі,TD#"! d| "Q,ac`SF;7XYL1fȘ $g+!09Rn A2pB * K /.dH(2Pi%H$s(51deEiR0Kl#E)SoMw|@V5̟;|ohF~hzڈN3(9uY@bÒ읎p;v :wYU\1$ Ha E񲰬Ē+ZqJB%YDL:I4 Dx.& JH RQȗ)PNvN&U"PZL,~AyhBB!%A]ԚA/چpfP,`˿Iip GE$K],* 9 gai\~<q 2ߟD 5}5<)hDu@E8{Cj il1cpGCaڂUDdgjQ0<:e)h&6@0Q(0mAi8 TPwpRI8=CUZDe%* !m=!n \۷+HFP,^[*K_i ݵL 6‹ WY0@sDƅ8FfxR䯯. X%P2l5-Sܮsb(*x+ L2wRT5a-(_zo"iR K{ڒ1("aE $2@J毙SxWX]|Sņ㿃9h=3g@U<- R5r, I9wȴB`)v:2f1c7Cg^ĵN@7 6.$䶒kT"u%NT)9 &x\"vpЦ[*PCr̈́ % zO{JSG5R!Kj[(ZIG kdՁq"\[8 E%G$7'W , ;C_‹+SF@%?3`O30s^^FBRNjoẽ>/LKw.kEUFZk"%Ull]d?'#~!|7෻/wC &Zȟ8nvaEb* m.󓚇{go}leUB${(^< iA$ (àP$+e ]V{'oT'l o8J3! ;)1,!)Zo)LgM ,ɠ$zQiâwnxEe8릍ZcAI) 2rҁtP ;3GQY(IJZ0Lrr;;PVSb|'{ф9$Znv7* |]:%j P)>GlP Ŗ36`&7HX c `heu|_Ɇ{Xǂ8 3zGM9nYECszq-bf#%AVhrPG4vVX*q*1HB,yum*|EQu6Wx=;ֽILM+o\qԦ)3-%S ?^{EM PXYZ-*͂ ^)LJ&ʛ-Ԛe$d 2K]}e*GjPY53-`HXx_˷R{/\I/3i_sK k,S(}kt%]vS\BCqd#n3o:]A8F_q.Ӂy(kc¨_DX^ @s0QH]t/1DdA @tu:\QCx 1UBbшbS-݌# /, 1PHx(Zq  Zd `B'mb[.r6+ Xj DH@DBT%  BI!t4D)%H>@!!aA"*PL⠈gPj a7L}ppgQ1˛)ː4 vƩsiV GN\bnw{p8D>[M(j^JJ`eJl/v-;]WxJ 0 O_"/È$T(*ۧ+,U/\_u %R9?-O *N} zg?hm͛OiǪ~\ЯLmi *Ɵ֛RLFD0p?rfVIkӽ .E^px0e1[_Jعv餹Wٲ6p+J:'~8Y{6dzd_ $8 jk-ykjE}5V QF>G K~ K< Z)駍i(.MZo>D fg!dÄpaè@2sEw1h8ui֧ʰMX6̰\J"\ϯYd30 Ҕ/1yQ;eRݠqVT۴ k*V \&#lfԯ^6'4oaߩ>iq6~kCj`6kz uYCF/*՟gCsw{Nr?1B#r3s2q]/Hh-cjJ4vxn&AR"@q =9^<-]}w+4016fsXYu]8Cd_sƟ'Ջ1cv圬xvP䢏/H-X,Lt׫-|B7JY!ZN\|["rO'{=|.d]T_fOCKs>qhhFHM4G#BωůȈ- I![;$Vm;d:2m$t0Vƹcw㺁_Z"a,WL[bİ nFb83_Y/bs~BOi|xdi7*^]YUXx xvUyc #L0祬gmoB 8b _ZiT/(+_BӺ\2,q6IW1h okIU]s'`}rIڿp[\*Kj[: -[,$7u෹r`hu<;zW]{%QB{K K Q+ :Vgjš'mI\!pOz7N݂y:5xKwsk҄мWC\"`Ȯp1k0`ʼnA`+Eyy  lcͣ4fMOev6jwcIve4^ YilwM 6mqrRzfQ7{U{4waeh%)4v.`nO1ZRlZ60۵"O-lj]_M.8o UW{e|'7pKzn#x^`@b"srH[gb/;2p 7'G𾯗>}->{z kUEQ[{A{utfedч6G*OA)`$H"`dS?88%wryjS!0^ʣץI!" +8?t "+UajPC-iBƲ}g7NAd(vvX1dr: bN6K!dۋqO/wJx8uDW/օEĘ邟H"<6f/2ϣȬ>m+YBz,1xi`A.C|vKxV,bÇZf_62_ nꌜ,疷7y\ ~JReq>&X6R|/G1ϩ!gwpI;Ŗ1KHoT;,b4A '\(n=)6ahn vjkBYO[I!D $oG.|{T&>VިbӬZ;ytmK928n:?7MF1Q=<}"蒸X3zĺ~J']"0&TھlhdǣśhsdF96vwq1BDaϠ۽ßZlլZ!OuM׼ eoS|w:їnWwŃpT hʼndg#[jܹ,;ܺ;X1cM\HXmi9ݻy!<h8][. w_" Y"Ŏ)jacm+,J]=L^G WbFW)jG&mKN4?&1_~'ҟ+hbr2f,7HhtYs"$Ia<ɼNUznn=s2 h/N@П2 ac"=饥|ONfK!.ϻΥk:X1b#>9/Y>Hhz(o{rva|mdzCy7,*k-q ^i ^yޮ`waUqayaˣGz0dX9d9pJoɋ1U{ E~ݵʹœK kG:"y^0x|\Yw]+_="4ܸW#xQk.n|*6t¦ϺshXGm,bkdW"cE ӿe,C+`Ɯc֫k;h$2J JJgZS!xWn_4Qy6kDIEҒKUBśM?.nk> OɌd}"0~iiAEE{{}h8bF?q=]lmn2|z;;{ՉH-P'SyV|T j1m:'}ƺ\2n%&R YrIFܣ'W6l2qpr3i A@9ܽyFxq-: Uܸ֬dH27nYdnihHӴl9]WBSuxz#UO;ǧt'ChFic6s1tt4sg/?\4yY7OkZD ]*6y\nF_'A~?Oat)L QWy"TbA {n& o⻽mkF:j6s|cZHOyf7SJ.ƒҙ3Eٓt3h"Sf4s)3El[]1NHTnZJ_)iq#]dX=bwݺq ?K %x:U̹ȋvϿ8f?wkkD߱ľiMn^p=Lb>Gbؿ`q}C-iHƬ[&ۃiI-I|ScKF]Bǘ]0r]G XVjtn[mHP/z+$_<4Ź ezcpC9]s"#UfHPVֶ<=p{<(mv7_ڃEt֛y(3:; 髣F׃ǐ,"3}6 Uz^JMAsCgx8  AdUQkߩ~ 1`iBa-cbZ bH`Uw$)-z gB-Rd7'j-%E&Rm/?x#i16j"%J6(جmaκ OQ1&'i<ӷHmډ B!Qͭ6y9 is7z~6+IL]M*nx/T/KBdn(W7/nfB^;q8aN .d3@Tq4/.⻥EwYyXp 4.{շm@Oݝ/f輼ł[:4|MR@6^ h56z2گ&3'f gҋS[Y\ʪ;#D#bb^+K>:Jq1sb㝈 r,@n措Yz,r'%rr:@X 77$G[ZNvsUXGB 3sc̾9N :.+@&xSÇK{#=2ijl/gΓxLsC`t8g!h1hQP n%&|y91S.[ tj2O52 v3qԔyJNTeH=12UyNH.$k=',+黋Ux0,le,klbҒ"6Q- H)&rrg^7"HS*(lm,Lm  xwrؿ s{Qj#lt9כ(g H aןcaŒÚ01 VAپ0_ؐ]CaojnM'Rm^CU\UpE-,)jDcF'fסş͏ \"=zgBwZ֒ vʮ䠔bYu$`xPĊFiǔWlsHU~TLEh"43 5PP6|}呚F횀y,~&^!Gˉ7#sW>1I6dQk,8wEw#noy}y][ &d:[ܜZNvke6" !43tMJIP/; عW7?RgÓRyS󏓵4cH^6X<{W-"{EEs14shG7zcX0H!;仹sb^ܙKE]cǻ: +J4ǣk3 ?ϪM=<8b $s4ǐ}"w6۰ɠj~TڪK[<ܟVyc(绕q#3b--ݴe47f1,I@N!ߖQ{x 1 0p$NYvb's|Jh 1NY*q!8cj6 0HA -P</wg΀eyk}ҫ X4H/WWp!˜Q`dZ 'T}فJ.ټw!"!4>[-)GCdkd>Uyu*'!~Z^BUIty>1syql6 +[lc>SpZ9yh'ɻs2w}EW> %fɂ+ܞ/!j9bTb WH$u }|.dM̸y3Ly;]]Jۀ)q( Hc#@.Q :Mutu4>G@ Tt4uv6ƻ>L|>hn4ur[xkeES{XyH-OEc PU@<ň'sY! D.px|ߘ}mVB>@B[jd ey' ̙4) ) ""$nE{QUֿ-Mra4*![>؏y VeJڱĽռefWC3Ab;1E׻dX FT"OJ=+//AXdo˯de͝:5'YLbZ5r#pҞۂ<61pYN?'#Sw8|OEQsC(>[cAmm3HD]T)g'< ogU|;M.}PWRX8ywYVZodѸm42J=աFUf!UERqXŷ4&Q}LJrS'Mg=>As$ErG)t{1FTA9plѶXsbV +Ц*b+c#_vngc>S"dA8w*Y##0F{"?,7e*k> ayztd2 2SʫΛ(Kwn,0|-&鮼LbA%$kz/CuHz6 ʏ0^g1ul9[xYN!|Zo kϒ-g/5epRG 1(W2BY< 6 X?VN.z͏ 漥)7dW|NE7oaHã*lhM!%GҤ/χ;żiQ#V!;fH".#2T?3|,޾L Tt~LJ>XwyGKDL+{'@7H0hcDӌ&Eˇϝe6sG}^6}_.%dS!H-L:@Mg{,Yt ;B=k/; B[y r#ZRe>K{^ew{ѣţ>궦7D*}{ % kRaJ:.?˭c!LBH"H].]w1p< (=R^ɜ&W,gϛ޳'G&q:7^ϝ!Tx'1`Ŵk="w#<3Hhէ, sk.xcW]}ɵhmLSo]6ne.sl *2[YEPw]H\a]ݫ1>ۅak -|5h{;ۇòޝ~{8hqZq7W+K\+Q!Q0^}/Cջ P͵-jҞӂԭnU~cF\ uY!},SDX&GͶt狅⋷NK,ܻ82/p#ٸX &$0=#?T 㿣'Mn_1{3 &? UGZVtI ڣ.BC p"_PZǏ0!YMc,odW{LfqOxedi@MD djB1(V.''`Wm[*%(ş/)|<it.á.AY_5i/r$3{Jaxp}Z`m8z\NTnzJ ~wj%d1a)LXի~煭jRE˽f *D)A'puntǒ`kkjK-|ksuīY8 bUb>&%:Y @g3RF ޠz>@dž`\ Z1˻+ }5B%51^i88ZkK`@><>c/7 S)ݬ;9=kꖬЬFt/W< k7)lbJp6th9ljMJ<&^)UP` .rt^.M6}+^Εh3nރxR"0 C5~%ŷ͹_iǖ\´S!s:l[Ci˜U;:Zz|b+%EN湀wfʷ7 cm= {dA;46fUl '7J{|X(Cq551tyDZjupKŊ"4pzذc݅s%2݆hfb"HZ1,<+2 qF,+TldU¾-!ybuG{fKocٺ0n{ spo W/-@ GbCŵ@G=lqӑ \|CШa&]{|M;H_^D }7vg +b;%OcEk F{ '4I?z|U9s& ۙyY.;IT7A ˊclnͦ\x\v[6[X],^& EDAooxRRX+2.k:ӲW|Ա/"T&OcÃ5Rx-0| ݕtR]Lz;= WT.!3 -Z60pI;8+M×[mmBQxZb>ѷ|j ۣ=Un]+[ܽ}]1~,JbܔC^V\pzì5c"O'w&ەsPzw2U)Ye }`ʅ)rmݜ޿T". 6wvu]ۄMrZ}{ ^;.Kd[ [9fJuo&)H-D$9UF-`bU;>{`V7M%}ߥr Ϗz^9ΫX"_[é !6m| 9yѠ`\]2 b " (_#R9Uʽ}V9dmٵՂWQ)ŒF;'.% ܍{b f%"g´n2D\j'W:& uz@$b*)ZԹ#CBJH1f.6dtψj*FdgLg:wכD%NS>:Pb8-EOQ,#%n]O?E;}$lإ2 z9$__BѱVB:I%;{1Bnh 7=n[ld!/-L.JFj.I?v8F@̊i z#ڢ{$`n6c}DKxxxNж.t)O}["ڧz I<7z:_o_׋&*f. & yrܭ2bPMx^.MXrbĆ2 vYLZxVSk)]be.hmJ+S/"Uy)DdN9sq%wlu-r<Ό1iܓ7tz0nmSVb,OJ_ik+GcO/ Y{8ёD*{)re"y*^{{)jptAw|o 1^0ᖽw;.l8ҡ.47*v8=l2m33ar,8RRݧMJ9;Raܼ7ox0[,w+DaiAXtʺS{ Sq|3e.3TPsXKwt!7 Ϙ\Ɍz`Ǽ9c~sZs$;5wk]fM}݆ǵDՍB/#cpe/ܾ('ffwpC812 nR \>RRD@Vϧq{Ox,8C&0xŋ!}Y)/{cfb,64jr=gC2sg@lUvIAkscCr=JaW':pL4z5DZX4pne"2h'_˱1x ^`'u9$%gr;|M / '+O{潔|H+ís<]`)kk*kЌh"75 $F?W+dV[5j\ C>Eqܻq0BXi#&n7zws~/Z Fl)V>97MONX*x95DМ93;'[~1-ˠbLns .0ƹt&80@u2s? 1A(H=(qym䭡驂%>H͘ 3t & pq _ y&xzC5D}7=My,)cS"f.ARl./s o6j$=qm̸kb®eam0kvݹ>gWbɢr+4v9{*{-=lw5aBݩnhy &xq"!=65+.B3Wm֫~ұwFBmy`Z0 cĴQï/ @5.i.{"q/b"@p] /R'K?C]磢"ћsp$-HX= ssL;*Z7c &=Y3;@p Hxxh Xǽ&&x*`O,HUI $~C,%7~$[Ih~L rg*+>&"$LnINX?f-K czU4;.ˁ_6wE.й4z$.΋ 'U߲80BwnK I 9dI&1}8[G #.siH:TSA:hCEqr2O!nGeHhƧaȦ2qe:$ G$cʷp}4 9m!llSj,  ѯb|RBaGflY Z.D8.&Vq6OG,|d\;[Y7|5Ћ8?Ε#EQI(Kt0 F'\8 ]p/Cs7/CإDֳ>LCףeF*̻,\E=ꮍ'4z; :z_ Ȥ^ݢg}JYI PҚ}bqEƚ 7?&w'gťu^T!Ǭ[QN '&X~Q50bY߼0mD;e$c-T 9d_I [WW T,kc;w}aYgѦzfLfrdDo// ?w_iGps谌]nLJ@II<ƧǪwEmq1 !p>[٬{EE 0)|D"`8@)ゾ{ r? pgK]*b˩W>G2/ki10v46Z^pIM^4+9vDFH9yf&xGGJɿc.bIVƤf˼#e|. &>hy7Y5̙7aw BFjA*H MEo湈+vYz Ɠ:w,4U=641MTQMX* #z+{53ۄ@IR4Eٷ+f`*Cv1 lL8MhW/_v @P>ƅe-Xjr7Eze;NUD}zUaX'hE0 po` ~W {m$BC#Y6Q'-|)93ѴAvSxTW"DcF}%0L_+iNX(vkB?#;"O4g`qI .bԌ';>8Aǁ-EXwiZ5J zv)ñ` FzK ^[Ϗ_sc d.HĞAA]VúJDرea~)`c~߄|słG^G:vx )W]$G.By D0g]GOs̉,rdaԔζ)u,&]ߚ5]".[֜Wꣂ~fhq,~ϟ֗1'UZA/ȫm,THZ( =,U>tw[hM-"ˢTSVofdޑZe!-tt.gr˭'&/XQ|}=g-͕6݅5P  1[,FC1H>,g2[FϓYw=<;gB|IQ)8bIV<ʞ[5zULS`~!{ȳcg`îy.G'X3%ynB*']i3#g,H_! mG3GJlL"1hJk[KZ bh95J?0 v q0=l^#%֔-8 :.zhNprR݆'Fjm)$_VOǏ%y%$gny?S([SO2^7O5U4y|Ѡ.\")OɹU-^14>Wi$h8 4z?,D@Dv4eςr>rzbJ$f^OѠݴfvk6%3eu>m#1~_)B2 jރ tkC{ l/q25WrcM;.e en[ؚP:0L DV_GKZǸ'RjN5`Fu|_Vzs ^[4] ˰H@""^")y-t&EGW^uѝߟn!)0 0`myEi50Fqj6;cftjIHHo|ašf\W͢Vº=Ǩ-Z MV(#։+z.+M4vVu"CN;@nR4eS(z p[? }Lbqnc~5.Jd><?zɛŒ!(XavKKibj.bũ$,0lDd"Y EF1Z gi_5-I{`0 %^&{m"jc%927;&QrÁQbKV Ws|' 0UL*!f^+ko"pjSMׯl*F ``Dtפٻ=(" &SY!=H2k(i-PKZEU5e s)+D X´/^ށcφ[ͽX6^=>v+71 @AWl%x T tX8pad$N@Va][ꔵA'$!1@ǡ(+}%  {֥ Z{+ښ4a825:(W-\b޼mx+}'D*XVjEN3mlV6N)WKw5U#[P4;v!s1A˲m 빫ƯslɤDWj2PUvL.F j,;ub>g^wy|/QQlL@h̒">_ONLg̹Bђ* TbIumqFXQ 7tkvdz'+m\4r+DUE"PQ,oyVkvYag_^Y憿H7 vyx66 ˆ62M5hDSE(ϛu䷊ wp2I611Tbd% M]'ПRHv5amMQZwFR'!!:YwJ"L$TRr""fJk\AōbT2D6I ) EQ)Ū1±hъ-mHUi5&6+bFmQE"46d6V1Ebؠ@EE~D͟a=]lKiFABTUX "b?RDW*Q&$$q,Й.Xގnoݶ#-[.$HQ8$R@ &npL)p7)w9'8 wr&J)$R@d <>n|.Y1Qyi=ߐ?Q;p~PLbT6HXUN,(PhSyՅ M3,h}="6к#1R 5hK$ڄUsfyj@!. ~lx⤐Gʀ#sk@ܭprO u Bd $t{9 ԓ VUĩcT=o_7.TLF $sҗs*g@ӪPpul db32ʼnk*F1&RQd% L&M`T5REA R Ę d'iݻfmrԆKSsVrqp6=ܷyD=rlQ kd $-&wrhկáy,DtEF3I1M}Х5R9\ 'q6]k <1  W%]H" fH #*<M!$.CV Iq㾂kr GrA̙YV16 B[*No{KS) d Jujqrjp=O!zC[,K' &Jq c[$ P&5RHRE{`&6%7l䓒8tq<8ޥC GDb8y/8Ñ9Mpl ɫ/JVE$mQ"6E"·F"kQ3FVO2! l+Y5 sHK<*C F+l1<45NTK@d|0q9q tkt-\0j=T1$pC t+#kZp-`\R8$!#QȓkR t2OI%"8b#PY-h|J{NiE<0B&b$oz9yC\)iOdMG-mJ#daNtAB|CۛYCQF@QijA72ڽGc'E>0!< +]# ޯ b^Lx~ϱ" Q ҭ\ ы Aֺtv3oTSK2^ X4ipRR NA귤^eZ Zf$"jbY j\ĕT(BUK_R@ j "+yK)P$TPA%NR$ίHt^6g: ǻa54u(ӬD&%~VՆ GdSPm5΅gz% P%X!UBXѥQ4^+DM-9x N@> Aq0{ݷkJ! ЗhR4QD jFt9: &BJ;"Amy禼vO8뻑 DY ,7x"xi.mڇ!}XѐW薽OE7 FCibxW3Kvli8sKI()adhYsZfBÆ֞8e rnl#FEJ !T-$s,$DDS{ &fPH攱\@3:NIռ}FW Qd{@ LTZ 7"C: z.t΀"0Y9@if LW%{ |Q& zmWA$@\qٖTcL$bRIAR)O]gep!͉γnnMq(TqdD@!Tеِ;YLICYR5NOa8̭ ̵*Aq1ж뮵/1G^BҔ&O2f%1SyG c0.Wopp_HL$,U E0:m=@*MVCX$"R>3N-e6Ljtc"䉳R*JC(OiP MN!%TԊB̸쌘(ˏl^)˚ -)fv'+DʉCbK!FHR%5ALr(be8F%pIh b ĘIlM&09Z@ H&7ibR9:7$ UfJ)X ϶Y 0^{h鉪H!5h\a.Q(9IAGp,-& +f$!WV"J" $SR.Zj!aYfdBji@_hy*ReTQ.Ʊ c߾JpDu`aR)'pHtT$W$QHOu2RAР9R9xDM`'/;vR* a(IoSwGg:liFұ_~M*Φӓ^B\KJQΛM7:il7[,>2{@MHVPEc1P.Bc+ 4+)Ʌ)aH^k !4ID`Fĝ*77Rx_rv\A DŽI ed[IB1*< 8ɑkc8Š_P/QKS2.5-0pϢ̗J=i4 */hn.FF2P`;PTQ"uK`.j6e!v9@q~a}} !/`i r1`0^-@-nXQUu1F[D$Q2:i&kf[,/ٙS b$IJiZB얽b|pǹ&7$ED_ 0z:8AFTeK0U.يhR3dC", NK=a TCe0U˒$3i]Zr`,L0rԳ"0KT RHFD}s.]{kANTH-3ChrB ]Zm`klhϚ!t4RpRc l^B0k N)cy4Kh3;J _}KRl˙`2&F IBpZ^A3K4 4Dl9b &Db0fN[W"22jL㐹vRwGq-33׹~>dqɒ1J 8ф"/{ rVmM"nL$Ij 1 z2S6U&Dt|QBZ'.gL- F2YyJ~BrM;F$*F1s%L(jjҠl&AEFRdavA˞ hKtBQ ,T 7ϩSt7P@HgBYK0&(&,'*I)HC+lLR FfB,.e`!voI Bŀ@C,,dĄ$6¡DU1I$2cjP`Z]蹼;qi6k5DmHDPW1`ץֵd" tzNzyyPt^9( LP JC 2!a{C˰B1j@̄l  !N8I sgXc99y >8J5P`8f@"1y"D%Lz7[  /j7Q\akNqͥ9U" Th  /z;@=_XXC!уvgfS]~lٮwWn{&˛;$tQF!BтH|uH9dlHhX!QhPU~r&/$$0B |7 jQηP?z?3:qﰀ@ 0#9o&ޮdܷ}SUl!@'dhIВyFH$U̒! v;4H@ɮdI$Ł$tH25PV+[mU s$ O4I$D5$PL*II $!< fABHt$!$vv2@dmi`b @\=k=>ᛶ?3u$[Ҥ? ˶x|aOew!8r$)HB@BBLR 8DL@1d@>! IK 7l Jd I6ߛmWmjm[r@I9D` bIrlM6B,d!` ~gCmj=}Y;}Nk~Kw{@HCv ChH qIBHL d-U86B@Y!;I$d`It`@΁ a& %!K@I Ő4YNilT VF]4,(vQDwnu{73?t^[lI!{@ ᆴl9Ș(!Ġy6@!$tWХАV s M9,/kP4]cQNNEd)$!H.)$=r$b'P,gHeLJ@WpTBnHgvBIeLw :GBY0e܏[0,9.ӷ$$'a$h$F@'{dIfU 7!$ʒHd 2RI 0 @)$~d%fHH%D`p;~@4!3HB|1i!$cUńi0h2B I R4Il!$ b"oIRg 5̒_Zv)`@׼"' $B:I@Ha$?& ;;'m`]=>NкB1Pb YB'm eI &D!B$Ł!HI,Ȱ,&vHMH*@"CBI5d$kЅ0! 粹 6 Bzzo$Ր |B"EG>N+jVkUmժ !a!$7@![ZV歶Z[ ;3!fBB@@ d`I8 BLY t}MkZժ EI l $$=5I $!&e`$CE -&*B "@!2!vIfBU 9( L y@ RM{!a 40M$$d@xn#,Q$L0 ;t!5 ̠ɚ8ڤ!A΄jQ;dp`i Ćf -eZk5aa!4 e&cqT7LQ@=rI&ڈ5 5 \P͒MBT3:lC2$\49ղcT0r0 +%MoY ^f5$48M,}Iv5;0CUQʆv̛Yp< [5I*CE ';KփK#S)U!IJ2`j(ˣYCmi .P2i9/P@]l75IĚ/3UY14@&Fl!&(&2$ 0aa2$Q$ X.'a5ə`20hBa&)Y4@-Lw, Y bRV] / CdTyuO]GKaPqزcA me`Y= C2bmdJnLO 5,-B27h50Tj̄١j*6РEȁv sdyJCv*i%k&9` YʘaXaRq%jUmл!ԩkԛޠiQSx%]$@ ̄'CQ!ݐ2&ЄϮs0̖5muL0&XP{z2zZg`΄ʀIa32 5T3 fM4Y3  VuH8T *LBޡ23QiIB=R\PY Pa4w|k]YZasD%he(-&BK KRf)Ul7V+m$p.>iy7>LiF \(L#C̹ȣ`0Ѝd>Y9hX$1+K*etPΜ5P&L\;@. רKމaP3l%_9fHgCd ;[_Ym~}I3X.kCY b[5BL5ZnLԧ.l R]e m *i?F̲)6I%W92u3_6LsoB3#=D^qHIP"JF#Œmc,PP%B] esQ2䩆zv!/?{r 溨cqt0(zfhu&b3xŤf}F6a; ga2}#NIefb BvL"r;̔W'V %0@ \/|u. 8y55 !ʒɷfٚ&c tc}XhA&W lJ+KbBLZ7DP+QsHjk",~9-a $p(D*D/J(L_H~Z>Eԃދ@gx Q Seftnmfؤ@1_} C61mK/pÊl2N Df!bV+P(zd82@bbNu"6R1NNie A0B/@o8 !,k(["\K-3}CD!AVF[)kF?mݍ(%.r '-hZBr1v@2D7$wX?<d@C= ARQ@oTI嬣A䢡^F0lf-bJE/FF:̶Bl]KYFŅ$XI\PI/z%q.C9hP % /o%JM ?<YV{&LD ,xk:^yjZ+aW6>cȣ#98gl#gRs] i ltP6ɉ6!dȩ $&3`iAIL\#?*qXc3`sYzc"H8ѭf o>7<ֿ},Ӆu?:Yt9.ED٢ %V>PHȿXuUCbt` %0yp7γ>G= cĤ| њzoJ«C[j=a80Jpϗp('$$.bPPȵ"$p@& ]!Aqmퟹt֬vh)UE "cS;JcNbڨ H9Bg|/)w9=FĦC{9E/8Q?,`! $.ڠ w5TtӏgH++8Д)C Q_pFX18p 1Ė)D tLT6'D_t 񑐐 \u_AG璀 :LpJ{n.桒E@Q!{:;,(4Q ņxHy1H<%'y"%AdP5h zPiك 3 UO~ Pk+e3T1DHlTSvGL Ud ӂBy\5J/2rVa:}K}e^C!,EZU 9 28N\~I*iF*Ah/~{~SXUOJ)έζRO`S fR =r1oGAdR';&|[՜lk_ϥ% `ͲV.s@H@oNvHJ(TФQҀH /_eO22Exo9Lq-dy7h>ޱ#BHNji6,|9U”CMvc5~j bpmi pahB5!ՇS&%Bo8Psa~?l<) / Kb}+&i3荘Bh--XR"# 1BJ$ UtU" ! e&h "PP)(!ʰ6'C4[}=yiݎ猣'mZRIqS?@zDdI9}Fc(M&]ns,\i8܀I"v>GsDjfI2!'iJe&P$zSƉ!7(eBR24Hb F1 imD6Q$+g()c`(R=ޭ>+UPW; MݺTzղ1?dXwD64TXduzcXLqRФ;"M0 .yNX>7p3eIT&{+&MƵb2 @nI#nfxDHYHklV\g2E zREM BJ`l76 N&rdlNf(pӬ ,_YRg@'z)|qB ox!!پR+TJDB#81^@~ `I@#ns8ȽaSM`;.yU/ø0dD@v(mfKJtEUF\L Iq꽶 V c f z(C$+ 36s} Y}m92DY~gQT-K ԁ?OhVei7#Iv ?-4m{X2J# Z儖ڹ#ɑ~BBgRd&)k{Bc7Ԕ:cS$PgX1P$+ 1IHѯD֥(?9ВᐌmI26dA`EfbWPXN$+eTBL{qBTj9BԧX2P/%?,Bf#J*ZiI'KB8P#CJVmvw3GK( O/{Zxbrhc[Q OWF=:r]2xkjmZDڥC q2BbLxEYdOWcbIkuQFdf8sr.'_E n E+˟(|mZM'd+̗I%QAERKO2QAI#d}XݶEFJC&bJZ! AWOrUF!"Rd Z i)MھQJ.%ڥrbc9j;^ r AUYU0yRTE#QTzc1PFj"'],AeҁN2)J6uHR2—MN*Bй^XָI"~Ȇ8gPJZBYSxL"[R-A֕ 9H%;iR=*(Uuu㽏埔C!i_;._5`[1$_݆;ݘ>rP{f/tvOajUse\Y}C#[2v%) +wϜ{gjV~<9Y͗G d鵵ƹ[ZUъ(ѪrFE +T QRI`^ EU$ajHxʢlXI a 0!]!& /Qa`%D .z'esapqšh.T"Y Vv ^7}ILޯ?rq''49'53'vV~zdOM>z/O[NK?ʰ{w-i?jlXq=cGv2@!|G u{6W*.Q6:m\G򞃤n};h M^ 8vvOH@'1"NܪL@F7yи@H 01$шBK.fT|~Rs'`vzM3SfRMZmfs 5No}LiJ^};Y;ϳ9J!:=EH^({RFEGkZ5j'd$﬐v)%ŭP[*Hm: P4h ki/ 6B$%{; $&YI! $K+hzfr]gk HK5+3@ư+U=mX)MV f d>NܾbDn4=P$ۤ 9z!`xFI'4*Ii!f'`sIu,؀$@tlAjH -cI3̇ggͣ)/C!&KHO0$6 8ڝY6 .=K!I2" 0 Rp=j;> 0N psk;}Jɒ ^ NB]]OCTpHA4$g}0I=X'`I!:FI ۘH $@ad݇S^ @T$IIy0 ,HI!ꐄ!UI HD$ $x XI2nXwd84V I@̄ @$,bx;!0HNܜ Id'MEN;yR `CBq,qGnL,T60k L_؂I:zi0ѨE>kZC}?RHgB$d lE$ Pj1BHHT N?QiT & J@2 4II )0I$_f=!NƙMTfMq !!@L$O;$!$:Br @BCELzځa !t$>*H5$@ hda?]0 :y$?,Ne!rT$!7!:5'dB5+&Q>fRh2I9&!84ҊeNrk@k{T;sRB{Tf]9I`R5ͲvkL̒yD!}!t,$7IILB{TwDTC'@82If!:0@C|ɲHsْ;ui`BsL=&ٓ`MDmi9 |8 }uH,6,$I FBqTk$ICw{+DN 4;R}xAd P.,20IٰO6yl@L8$&<ǮMN$MCǂB} 2aI$>̀m=N!$1adjODNe{='R&$0Q'HLY9 a ㊳J΃ԇg@$hMUZB;vIӎI.2L?D'H;(,YXmRS4X"") *z$2u$(t3gQ"@; xMON$8f@,׌a?JC3I'kBMC-7^>ӂ`lǤ2s>zIʺJdd'ud5%fDJyh ;ۯ-5ׂ65ԢQL!$>`!LߐDu^"Ĝ} )oUK=LTu,~3$0 7ޢfШC1a@0h<%ٵWtBNِ;IIXHk};'I} vq9AT%0d$Br'I &D(r*٭vB͉5tӲnNV5[Ie2@$⁇_ԁ80|jꓯyԢo5Y< i FF#kܵ{Vƛ^2t́N]`vt2Pi' h&фBO6P92r^hSHh$M RMd0݆'M )HC~@)XN䐛'q_EF<$KJCI=s!$O@'a $GÀHM!>Og˷½ BOUh}zVU9$\n@LLSbx!*}ˤ" 3k\l/TG=!.6ϦHN'=!E_ā 6<i>ݽ <}W?NY 1:t\clI BÞ{M7'yT3ĪbA&s1 Aq3Z]snɯlz^Ɲ볓H50D;Kq.ï!ͤ9t6 wA9v=Q4]ۧ;i.eN_~OA;StzD&i5`m;*m[X?ٮءC!Fw\L6 i(@csLҖz"?kPO4{Xp~x4)BRHIbdE %7V,ĎChv8;Ooj i5Cfec)HDZuyߧR$>[y,!5tZN ˣcƻu)pdlx#NdB\kZ°d5V0,o>VŞO|s;?s#Ւ/De->(nZb5}A|Y[LdGp1aO \f !DgFFA}RytX $i KJa$} ~-جz!߸Ti|OÆz>v!|ױ}O1a>;8\x44C[ Iz[M%HqΫ>p;I50O-cnL*J~$>Ư&q! ?5ӭBuC.W<+Q~]Z>n=@#].*_SQ&wa?痠*<'FBo;i9 6L6/zƸt?;!9>._ *y:] SU{;uto07$2+BN!ٲ@$b ء 0d!`  l!wY d@ gd! ;Iku?>?dZe٨#!>Ǯ߷7~CqQ=SqtLDk%2hU%@MH)wzUTZ?{Wm˚2u K P$ $RHI I! xfHH}d`OH -ýoGix6m{!g6waƞڿ['{gI+' ktx'd BC]N]$)Y!7iENZN ơ$!(W6kmhmUmUXKrڱYa`BC!X1a,νӻwv/!fp}û\D5B:Ř aQd/ߚm8ܕ5lJk%@ 幯0vc:9C' u $~Ԅ!=$!BCu?,C'H3  d'@>d P!;@obW}y9)! !'d& B@ H݀I8TH&H! Є$&5l @, lH!;#!$< rI B I y]8L0Bo2`)lڰku,pq'0˄9; 7ٛC}W:IZWBbӱRFk)d5~/:ֶAݷPX##[PcZf}o_biL9vC0O|; >YP52Q~|ͅ5񯫀MDt:^݀pz% =}}?dC`bEpk~gv[W-搓` &$ d C].j IR O2fb<:VBCQKQ!HL7] N> ՒH#$ؤI86Ad s'~d;Hq̗TECd6C2Ia&@A L R@Hv<vIlO"YxFfz %$$oW=݀xV^J@!4#) I!5 B|Q.H@RC0gx`Y*ObN! Hp BCU>k6l06*n1IO߅ѴHlPȒC38FH^329i0Y>%@Фh><63*LIBƨ{I*Q$Ծ7#m+Z} !'K;ORѝ75͌B{T7)޴)UivNkG8I$1 Q*ðPCe1H!vË`g>/eP-(N ~@(;Ym bGu Y!)b6{Z|)õ)͕稡<JOSepJ(DC9kh2, Da/c"r b,|$A®4zl_mz_5^F+_tI@cStR誤Pc{+.Hy'pKک`R( mJ1H)B#ژHB:MW0iKCdSn+xz$?K!8`߽.🦚˯K2->F߉q p9 Liczwy1JBru2@څ;0q Xa;+%0>ZNi;5[[ia!8Rk܈w{'4;K\|kZ-o[] A2,1M2̱Q55eJM-}Zj֯u9󬛌 4Fo [f;rFfSbɫC08Lw<5r zClgX1G2!TK<($Z\G6q큿Ji.o\! (%tOj< RIfCLjHn751H]"@'H_+k9'O7@fҀdMTy dId$Rh43Br/}f#arlJT |5-]Iڡ;0!Y DpX=ZA&AW`i{ wNdIHO =J)b,,ؤk}*@d;"{M?OB{~h|D^Y `/+~hHg~NaHj07lu&eL&n', N×q $!N#C z4&wPAW+%0!d %ߐrRZ d)%D``"zSNdd.`/_uH:5b0~X3p{ ;n6#E3ӌ/y'ѧ’v` T8mgNۼn*- Fhi+MjS[T5h̕s{-}}?oCMVH'^J!@Ya@v6LM2#Gh|^GE/h`sAcnU1Y k {S!ЌkVʳQ,]QdY:x%TPn-E^6, 2Id] ! 89P4'a'gMƥByFQdӤ,$9&Md+޴jpf(@ܵ S1C,Dʐ)"d@vϚ,XafZ5Pm¥-kګU?ZNTh:(07OVe~k3f,Yиi<# $TgH Cbm': mɛCdrwpI q~JMg}MOa騜"k_~ӝg>??  NE)=iլjŊGgAn4hm*\ɩ`JgZ^` rZ4Jb*R$|?:( E,'~.?3&6շ|7P!a\l~ ʡ?^D~y:-XP,lַp]u*O$$DmZX {Td eT!u ?'%P { /l uJ*9x>Zֽ" >${uTlT蜾>ߒ:͖(豵hC!QUwƃNT5R@E_|Tmc\Vk?G)Af8>QEYi* ]C[܅,hgT;j{6U0/.U<{01 ȵ;mv=D,n$& dbhqͅ"<eLTS6oEPq[ Gʝ}v, E~ ʾMq64B߻?~ 'kPDh.DJQX+FN;.t8GMT78Ӕ?AmFݚ"(֏}Jc58 FLUD ͲTMHa] ));mR0N.E`U<̨I.(+U(MAVx=Oݰ;ۼ!4 0tYSeEx.%Uڧj4XV(#ǵSzH=|kWmU ;1H;σv(QfɡE4nЬQH>L4PڢoxZ)0))զɃ&dCѣפ,˪tM3#HC zD90d(20XN: sfd:Hh  Yd'BugMoY&,&$ I@@n\IPR2e XC*LS糛I'a|ttOhv䘦{_Ή5BS;C ~t5Xw9956* =#(M::  n`{<_x4dI=EOl˳!{!٣ LT쐓$j)IL$6̐8;.NА?͓n2o'{s {4&k!'H}~C',<KuTN†ӢeM@ ӧd`v(x*?ʿYl'IarQ&LY EY3$ ԟڛJB; zf(zfdaD,v! %aPC9HWI&'2Uatf;<=5읥!`sO@68d-jyڇҠ ` ZCT^ds)[9vRC&2ZmY1<(b'@6 JTvM w(7lyloly);Uu(:^/ԾfCpq-$iǻI׳=$>I_0{3\#[$EQ*RvnIƧ EUHgo_fѯMyZJcQ ,+bϷnp*eC:JjD P)vNza030 'N+}/`_ܠxçqբSqBv>3E1^,I acnuIRv] Ѳ$RB|8'}lÉEk$OT0@4<ؓ8"̰ @؟g*C`wA,?sR`q%Td7ZOdݻ wOb<[9]CNK}_xs} /ܠ!#PJP|D +z^;zAkkڙHlYנc':˲SڨL:$LOoCQCQ7 m$ )?j4T&gUH$>KBCiCkWkZ6NͦA![c` j0 l ώo2i'wCۡ9<+[t:̈֡S2u(9Z6@o켿j|tkzcۂO}SNɿ9D?G~CnxlQy9>aBrn^rZ[~tj2" ҚY䇸mrs^ApvUTM#}DZ"A}:ߡk?87>tAS dV ŗ9;QJOHH%_qTgM TA:%K4z:ۋ.X7CCԶ9B9<,=vIڱSTW(({dӳn]8S RC,m~!n($VxP?ty/&ŕMlp}Q5.lRE<StXPf;p< \Lࢰ AL0eb N_x?;ooaw",V @{o'SJSw\O,#?y(9~W]ݙ!.sBN:E%Ϻ5r#w*C(=18Ǹ94j(Ch@ I_&';Ɛ |!ml6l;Sx>o~t?4Y O%gnq/\Im!ʿYRM+T>}nޛ!u B ـ=kgf>\v '3Fv'j((.7>&x{^vh57G Ҩvv߆~?mG…5(p7WVœʘЪ)NO Bئf1VҚmzkݸ`}w. 8@ BrDP %0W/6+bJ{q0`nS}f%M* 'L})Ntqwzgݽ(項^Zv#V֣Ӧx'4Bk,H=eϞ F\P Xc 4'@(]9 бa'8Rn(m6L}yg^:XKJՌf8iMkü S{ oា3nȯd 4cW5SAZnbϒ6]?@@{3ƵB=L\3>@asw *IR(Z%DE%aBl|5$L Ё:ErV|*7_De?ϗ9'v7K:o1DbކY!ȡӯ}][QzǨ?~rd/P0Y#^ (Z fo ^jcj&m{lQ Z,b )PVFH P%$-6[eӮGjg)JS*ML)%H*|Z\nj_!d Fn#1 x_=SPRF'S (J!3@X[{hx~MJpb"pᰰ?] grO*?sIx w0i SwK&+Lo`UyuYl2|>A|+4%6?/_O=빌5wk:)) )$;k!ρZM8gu6w.9.ȏsX"!@4`\WZ.Dĉcaďդ;'&0\)D)F}"UOlPI)d~3yRӔлLѯyM@gpKR0yLGPppL7O[~C:>r⃼ޝզ7[iU TGfW%cKؒw](I+rE$]ݢ5p'!jt 4l, JK^Z :?^#r-THq70M8 "vnohn5Ql7t(.*@@btg,K=NE3̼_7s] Z<Ĥڿ0;EDu+O !C"LM+S+ڂ0 <#(A`fpfY]]@ GLgw: b)(}=}>}}S+9ՃW#P{!C@H/i!Ke-H&U;ۃ^ ߔB59A dThbkttEv[7$ SM]YNWuIz=45d7*$G) 8 UC q@H v 4x;d5d{Hxo+O7:5j:O F2o\({$lXFß*Al3Ӿi?X;i@۳jq}cī躏,vB]V(c z!rwK'|18iXsjP㬝b|9q >iGla I=4M8*&-WGטwNZM wu8U]+IN/ ml]*|fЉ$  T[Ӯ{MrWX¯t}EI28w*ͯZ:xYhڲd-%~-3WEVlJJ(Ւb??'h'R[SCR+l {"LRr6MX h6Ƶw:@,~fʵpN=l<.2#҉n5nGMإQ!aڔeK7Hb01D *0%D2EC5`3$)j!50 T Af{heT/8J'6A (%3 T1J3[,0E1X%(ªU`G-u{^/3V:[|Zj z4ZR3]GS7ö́1B45APQ`FIE I҆Z U) (o rtgaITzWzqơVw׵bόv\]3n\Ռ]wu]۶;Yr޼]u4wnE#tF*;hsh.5I#E(",Yuni m3H t"C3Muh| I֟Q?f[]}`=y]u/[Q{Lo kdTM>BdYW4N MWcݤA#^?S}O:ns=~J4edbfh4Y)TYB(߄43]U"*E$@AI?N[0LK+ԦD쪅?OUdZz\PM k]W Uz&l~eTQE&ZGp̪UGTE3j;]X6xoֻfCjTP0ץcAB&j0D`Fۖk]R=hr~$`$ImKRoޱL):&Y*+~2-*vdBYY" Bk)DiE㒑baT$t>^F}N߽ ?B<'DZ Qw:V xzZ&=[S~ Z8[4꠼f¯ԪxG5f)l`![*òx{`j͕T/JQ_/.Zx5l2ɝĦ(T8~AvO\)-M,/B^)}%&?1#P\&ѵ1Mv:Z=?"lu%(F4Hº|a=nT3_%ȣ@Z,V50KEGQ&UH\E1$>G3gO'n`iٱh!eO9W~Mi<BUUꈑ1lD$Ha@|z5&7fY-|wԂvˎFQ?޸•C 4=[=<_atj:Pw =>vU}J&ݎS:A6CNaڬrSU#v4""ū2Ԗ"t}ϓ}*U֪kBZWjx6aTgǖxpBSGTDKh 3lt/SX0A (E)MJSrheO,'iBBdsa{L)Pji}&n 06Zu(v fXp3hP CQ$ dք2k%9NjD9o)H$y< 6 NCIH3qZ%XbAlNPKS>#8}EruLΣV(IHADn 2@K"I*I,kpv.fNM1K0,"~LC߻ן@X !Z^'ӷ\Wܐ=&m蜕hDBR050ȦNv 4 'H,deJ%*BG0eId+@!>׈Z'e(4J2eѠ =RGT%bڤk2LwuV8!fI)΁j҉dl;) LFgVT-j 6VGoDIzj/T'p^0HV)!j7Oit0@,gdVPIY+x ]{PuH-!d Q75Oh0 cookf25-1A8${UI R@RxdSh@ȆFI)dfJ(N) `OtI \*6! PtL]&Դ!s) $)A!3l2QA-0?uiQ Q1h |*La)N9CS֩FI9 /1VA4RRS ٙ]G $e")R}gI f>::ᵯkޤTLP&-I֡>AńYmAӠM A+YR d͐uYR%^(ɏOJ^j (CbLu{ ug+[Yvp(z iF .R:yܜqNB@ʷ邁+ٳ4EcI]qrvOtEB ،)\-x'C\тbly78)qю zm~8S-i#m؇hDv={wv)OGdzq2x|n_OlPQ+p!ktR gO^}|E=yFo%'`2=Hr#$jzFQ}T2M^;4t@@'v^o_sau@)@׫@:V.0dҽQ{lЅALl}'ŋ+E} P j[?3tMPB dw[)1m>Y>=WGbՙ:hc tb:ߨ0‰-0cd8ɴ(u֋|~c'P};*kˈL8_%_Ə(WU^16 LJ <uJ’?׋vu n6k$ށAjA,.=g]ZE;!j3{iYOi!^;̐d טvl'_4Wq* Cv\hri&gMI>l h޹-cBܶL"M֨dߺ~knr^Y1+&4<\A|TX.u\M<ĹV%Uoo{ɡLN̓A7G}=p5{;ray7/]< Q,/Y @jM3~JTh$/HB\yS{LGnqkvvWeS} Rpws9GP|DWD /؎ pmw~fmyz1˱rʗ@b}i-weWbZh,cZh#^S pRw mc pnQmfہ)$$Ɂ@ j}#@S0& (OyQc>y=lFv~ $+B I5>Q;>1']b Os=]0i/o_ӳzZ#?-3)a&^NjɅ|.,05YDؿ1[yt g7$Wh:qs}5y\\oR-ŀ .텠ZOLP-9k9pGw9u ^ehgBgճ4N99r2cRI+ iV]42)BG!zHPQcBPYuM"lZ"Z?"T{?% $/$4P`H@y"m?6])WkZYÂ)ϹTW/(a vz|@-?%앁`%qpC%;8ICi볺`osdu1.讎9Ex^eBvE|0D Zkw}LRc.SUBpq(D N@ 槜{F2omj#E*'!L89gEgV$Hh<#O |/+kY#&zB"F {Q1I/?ߑ--dRB*lsTvRd tNa8FɆ2**% U_\;3* !s~$'CRQ 1A!7G^q@!yAp>Bܽ-HtʊosWy?_Yôј$dU Iط$ api2n֒h L^ vvҷưا$!t1u™! <~Kjfs Uͩ0A }i[GR;0qVd(!I;6Bjb|VngEYHhϾ3e FcXlI G=ͅ\Ge$ rh[bV] Q3,5Y !nF@& JI߷[^ٶ5ZlmvW[m𚵫ڴVU׾x*wjm[1@2\pe&.J50th;dޖֿjj;-bkk^"Kr5d$KUf@HXI$}F)2  ׵}uΆaNA2 D ,vbTFv5̀c4rVV9l 4a!5EraC_S1X섋!K͆:}<-&/A !4Y%)U5o3mjs:kj淋:ۛs[\hksUr뮵+nZXkU:vsm_zzܷ-UW.kmE5\حIkUjn[\ج[V6mڽ6+krrڶֽ6cUZl^ dP R%H"dK]oUx W+VڼkŤi-mkܝծ\+m6梶[;si x-zRoM%m鵮mk.s,QuU䶭 V鶷,VتrVZmxBQ.mt[wUCkVڨ75jV jxrsTkZ;ksV歼m'Kjֹ[k5oڼmErۚmv tmX,Q[_ֶmF׍IV˕LW5cmoSZnnV5m\]W* lV֮\65j+nbڢh567+X^eVшEVMWmN[Y5[ҵFx-k˚Qkɵm5nmnEF-Zm[w;-T[Tm~r-r.wmյd֊tm[s\6m[TWw[Zk[k6^5n#jzzmzmV[FnGH hAKs$vA`UCEkrټUvSm_mrnmEZ6Z+ƫ^-[QFԖEַJsmrչmʷ*6s[m[jDV~/hŲ[_뵭5Qjڶ[Q5~[ƶz[msWMUnmrۖZVZ+Uʫ'skFVѵl.[չ[sZ6ռm6ڹmnmͭnjص[WNjZjڹsjժBx檹XU!mjUk򍷥+V+G5EmnmUG5V[m|{o5{UVƱXUʷ+y5|Vkk0 )"K l q[}vץ6sXkknmʮUVVѵk][^ ׍TksU͵kJS$ ٔ$%ơH[Fy*lUXk:\Nj_뵹mmw*!ߓ ]RI'qH}j[Ҵmj5Qˋ*تZ-UBP2́!,Wm'm8jɶ~F֫ԭT"X,C2"HB́ {V -Deܭ&$I$,0zVhR"@5/JI$.4U;kkrxUoUjΙk"H2 U4OP_mZm 6f-cBkrLk5Ż]EDYRK i"ɳޯpw#p;ٻmH+=ʺ8$wVpuVyeVI]p@пJ7V]+3ckqH||[n<|F$Ɣ YL{m]"̯jFJ!K\ :(Z#F_jh\g, תk^Ղ$)v~EHpzCLDaG݊%$Bc_?&lYK-Uߏ>iz&/{$[!fMv"Ռ,#5_C#;b&JyǨ i VsMIr \,3a jQxj& ^AÈ,X"vӟe@A"8JCv|_TpEL(P 0W -ZB@Fe^۶<i\e&[l8G8֛l7g]틏R|ϬG%7cvINc -tFTjSJIG,NNf.cC] vL̵؍$"ewL\5`f록J`m;?DZ 7k_N}JjcpXG mljwҦ;ܧNu XuqIw[3!]# U/OF_B&c̋<(Xƍfss@d$Qgg 'J6/- Δuag^W!Oy`X=Gs'?$6 9ҎU%K{&Vqypgpg)eʛ^NpqN_̂S)ig-2[Cu.L{냣xm3f%=Y0XI.].l*B]9O'xx[%qXS w{nN1JX *Y6XמkW\q˟8эzJĮ2E~$B Iʤw\+nQ {7Α~#-FqLkϸHri8?u")<IQFg)"z 11!C,I=4wV4Qmiy3rF ADhgL 0Isa[ծ5Q)vv `K6i 8,w6LU"q}v LV+$ ;?n8?b#ݽ ĿqqcMRiR)PrAm֠Lo#W>]׊1Z_SO9DZ¥'<Ï VES|?b0@|$?Wi}+,R|S6_Zֆ'tHZ_t| gmN>azM巜ob Ҳw4 U+cJ G},n0\&݅>aĂ;{؏N9JFJ^LN6(U @:< @ Me|*__RQ1b"V3@\bX,aݤ'pC1j]h' 1hf+Umj/mrYd ;5r\&30 ) đvr s](D;,[Ivd9@쉃8DS"ɓ5-!Ͱh0?y0$ɾJ_/ںmy7B|48ddBed$!;?rfVACAABY_PI$06L20ʇaP ̄vI<jt;mm~^54j%PP;]I1N%{$iE$0rZa$wN%d@PhJa%cj `0 2u)>Tȁd4jVM: 5D̲Mb@9DAAZChW5^*i'K2Ya $0'{ *+Q߁ֹQWMQ"u5V29\CR2R@3HEOqΎޅy/{ś${:3;hgOy r3̾>=>s4orӺcamk:{S1*kN^c#Qi }KroD2o&ϰ7S\{j?AC({ z{E'#3D_g =s>o2G^q #ʫaޙV17(4dhi$-Vhֽi4$ES&o}?4i:^x3Ai 2V@d`mY_C *~]~/})┻m1~#qO)U,Q:V._.b+oU6Џҟ]8|nQ[:4TO_WZƒ(>yc/{EZJTǣQ'x 3 ÎHIϤq xlCoi zބɤk ˛~U*@u w1'x.їߠE}>yH!g(zjJ[6yu^_ ~6n.wjG:/ؔ޹Sr)_sF~xib"+]j,{"s1uMPj~g(V<4{nvW`YQq,F~=N>R>40䬿Ą2_GG;AkY xjehiO|[n$N:~;wQ4 @56㔛jBNMjrq">E3 gW3-鱚=:?]P'A*+:UAԼI.Zm0iD!H$2|az#c_tLYQzFG^{&`a0y%d@J4!T]g閙lA/`'tiYnT[Ɵ,b)lA;]t9LWBRQ!$48`dXJ|j3S46t?^MZ{l4"19DGPmOAJHvR$Ou6>Sğ8ܵ]Jar8SW:,1tOCfͦ@;vև9= H(Ƀ^1V m* lmDI)" HP=Z6F&@ WTʠZfB_/Di^쪌@!}|sQ{r͵^Cv,{1|62dHQ(8?[kvʥGƥ,QV,PwO=ŭ|ab37~_[f7lF۱$HP;a<یC}]uOjX,FH ?ft+|b= CK-V22ۣt3-HJDBOR 8[ULVT,TȓU2TPG} fgD1C^/ .22h( .tziËOj|%Z_ȍ+D -dks @}pHM3B܉IR2Az Ldb'X2x;D2c4d̮# ߅/,6RiVdS%cRaJ)T1knեTh$LR0Z`Lq|d #S-Zč,W*ݐH s) @^y9 ߪ%~BقtJol;Q͉1?GNO-!.\][bC}_AK짭LysTx|}Dҵ|]1jpJ2g"񮾟 H@1o!qȍ/x@Fxw<"X01/e[Lmr4~]&xGm$p oHޱ9M;rO~xS:|uе;?vK@C@3ssDâF>*gkď24t$^>rep% ;S?H)N ~ޣwCJNnwUңL?]xZEM):^XBǰc'Q ;AU9"K"(iFL9_3)* ɜT*O>>.C -j 'G\(KA;T}>ܼ'mBIW39b+IԸ{l+M.A}te}eˠ͕QmT``-RuqSKljR7rkE#Ni␄df|>?Q?gKn^W߈~~'3PYw4y|j%n F_.We9R݃[' &>:_]cRdr7yaA$Ox*Hi/L㱛*oJٓX(6&N>pS˒ 5 sߒO]{STq,[1K?^mV1. M۷D,Pvj;4rs% +֡^ȕGzE&91 qK `@DR:S zn(ei'5N\^c 9AqY/ 6|MHu|柾[ŏY`I@$-CŻ/#&5 l0$)oϥ7릂8Ǖ6' Ν/+'󘈜b [.Gy]l՞c.xKԽmXlvrٚbΚz4I5SkYk6J'/`!C)⠾q? dc@C $M8Esr֡eڄv +boBpZz `d vtI rnH$#jA""ݒٺۢ$iRb:yAHTrV, _@Dmmp@ `媃3$l>RN]֌SQBL陒@P@P9'Sv~D20p-$Æ.Y,0ʬ6fز#zI@ Z3|KY:"];dGBR 2[=qxJ39fSi7T仩sӻ_o=]D6ݟ>`y[>P!Rb*6p 6X*%^guc$a x$;s$͊a>ؤ`q7_Q} noʱ997pWA|;P+'U4?of^]Tpu`>7~CwF 'i > $kjUCه6{oW-c/4JGiGp2R@steJmutM%ZH5WYfكSu_$XBН!l 7*-yAlH4qHϺDA~[829%/6pnwd3?Wz:>Cʰ'vCȡs|E=po=R!>Gu'ro#q}ֵySY <@hwͿE &l]4 s9w~6m:ۖ4 H@2*'.ƌjx:ě_$ 畟^\MֳaP?yO~0+r kbSK0kKPJ?f1U~ Vr)R'Q׊$P?I@@@ Zb4on*V+ն !$ی @6GӒK38Ff1UfڶDiJ~Т5H3`L5BV$1>hҲdπf$2:p˽>fd᫡zxI|~Y2Cy)pX*43a54z| 7Fcx0Z *|%Ci( bky)ǪIM[˸6g ]VFxk• #<[o5ňG!DqՃoP}zmBю `Y'[]-А ȐBSD*"b;'Ϯ?'aussujWO|ɐfzp UG8nA58 d)S#öd(|G { S!a^K2娴v}'L׌:mv_{{AL!E3ZXVs5eE_3xdٴ%!* Q RPy| nQԾY?׊PŸTBIurPޢG/>8 Fa- &0 `O!῍ޭ=s9'2 n #;2,)dYNi!! 50eKJ",lT5mh0;zvm|)'$ef-4_z3M[0VkI7MCnf[A~˜]j$LDEˏs}$"ܓ&အ, h[Ƴph+X5j5Tmѭa"(b͛c}42iyƤm@}ʢC ]%2&,7HB,- $a2ާӠ,!PY$$i!d=V XB,@2jր}Z͞~IvI8Y ̀`’S@B6hK!,;r6H}wàL$ ŖHS ?ClD0"DH)$ti$Y$!gD1HS|a!JR+A%~n" fE[ۮBck{@4& S'1 J@4P {cƉR{F r )W C+ _m~12A<^JD5Qd 6;'n|7G6y[n׫ڎ1ٍ<3ԁGNbbe(h)5J$"U<5g%WT>beoOI}Vi9j'qbp3d̰\'{;Q8T?}dw9" ?ېNSWj&gI*O=6C{1 *I^EJ12wsXG;48B Ip(1f_q ɞ'ec-uS+̈QQsCs)&lC/ ;4Ի\y599("M,!ʄq{Q6Q>C{ ) Z6!w_(ك]F ^P[>wl[<2f6:݁f: ` Bmuo_߭!'_IC(J>d.@)81~Kp?i"l }g ?0Dr>UWm.= ^p>U2vP_dc~R#@KS-F۠]]l1ڑ_sK0o;</8ޢzЮ} b6GcbT,j>Tfg?_3?K̖; On/|]l,r$7># MlϰNSwrHz)t5^g7`#'/y*T֟b("~R?>jou o>Jku3'ݏ-SzOa&[©Xf͘Eqft6_&sVVPKVc{R2ԩO 6aϩx鋝#?zfHDS:woK x>zD#_KIDBϲ̕r^=o{*Ym]~G;L4u$ #ђ=a"ZoGNUg~kg }|+ţE-@넱Q`9_й+CI!D`% Hw[R,\VߧZssOAcn' E82bmR uCSo;cbbE-fj|xkk\ͤSQQyNJQ^UD2͇C%j87 Yw+lw7#m}JYLd1ܹYp&ƪ/޽f8QƑX$kç H>نtMGUYr>&M)[ 'טf~cmcEF1OW&{Xۭ\V1yZV_&!ZUF"}X~Y"}1(r]и~pKVUjC=|"-,9:y˥&,2֊R)%ǥurH$(YU:Mbmi.Jefvrnᳵ:&Fj%4aC[ gE*jN2R((l71jQw(83HA8 <gL?U Kx&i8OGϞx:ñ V^g"ݍTȜz]"L&[|*"~SV]T`ؿh%*0Ծ~ cmZH %5@#!?.ߧ|wgKAEުi+G'Iý! B|1t'6]|vjGObMw-k7SfF tgBe_"om/ !_NR!u, - }G!"bn}ڗr_\X*HB}Ʉ#{Q0E`@P<IAsc=3Yv`؋ $UsrZT0i (% T C˜ <T$ X!vHl{ 9ĒLivId JYLIPBe=baE!(2Mj*")f'8&oϯ`h1BaX4^/)Ē,ɤ֔"&z*@%y0 BDb b'ˢN6W:nvS@: gEG}4p$]_qqo@{"h߯aݧxo_q@%Xd1&Q^}R sUjq3$צ{ie:#'nwB% Fndw;J˝v$IM/|N29,a#B B; ~N=Md˷v?,;e]$ug,9wx@cW&%)7D=kZ7i9Kإ:L_rbf6ڈ~Jfqy%?OvMR`X/ϵ0w7OQm ЁN SOjC?!,iӾ?mϠ|$-b!#5DK4~O.[RRfLlܜEnZ):U^&CbT)cR{v2]̈V*/zm¼b3زV@C^z@9ZX_Mah})qg'nJ*_W1? '4) Ώ(۪ vO17o*VBsu7B#;~ER2O='rx*9R@4 B(D!woKj,Ov slf[''b= 4*b2aBlfgOKFSp2׀ {Q{T2Zoz)N;_zLj&jy|v3wjHr>t¢k[ FQ Nk2'/\G9Wy;5HftuoV.br9$,P%%xV|V?3L@; -]׳ f1ő@?ٓ۔e?'JRr*$Le"G棔03+YY+RBtxƳKnA~y셞y(ق $ s0yA9\z`dQ F#Cy-?_myD!X<@fC>|й@+ d .3xBwEN൝liB.HCI]_'Zb<= qٗKLp=Pz6WOFWlYB &|%.tK1OzmU`wFw&BQT⫈Ap}X3}oi>XݛMP#<'Ŧ9Cu9q+#E)R0T9,),m~%ZgpmV׽K0,T"ս0`|0 1G=7>Ɲ5w퓦Vѿd,)y-I> }RY7VbcloO;bA]g~O8Id$C=!5Rf7h+y\<@%X]_ Ӏ$"[-W`F+1!0ŵAiP?}/UY-]}WL18*؈K{]>:FMrF;b+Rc⯔u̙Ut1VOD\jt's^/ܠT=a=\ 1ZvM|Y/PC> v1Ht=Z.hyO\9n Fqv[BP 4O9s . /٣t?xl:1[w)ݎbDgOM/kLzV؅}_\sekY7nCNPmVv.(1p:IEr6XCf/IKH^ꣷrb3>;Ⱥv_黯'kll> ϥn _<z1biY=9疾b -|MLÅ;=jeoagYD87 n a|O32U'xs&*bK7gܮ{|޷*OY8+*֜khԚ5mFbUFj_;໮W:\mWe^4h66ѲF Lѣ2!,d6"0hKbLj5b#dT&L& Rh)*-mԎnkIXkݶD+6ŰXشIb*J5XŒcc Ź2sWH6a!&TX,X(79SJPxڸXhsrQrۚƴQ%ѵQcj5m$TZ,j$Ŵ&XQ[-U)U&hm+h5Q-FE`Rh^R5孹]U77 m-nkB,}zP!55Ml>G'kI3}ޯ9j\hQqHٿ,agKi6]icBcY%dZP\ŧ` 'c3@׵w~oޛ+`|0HHVb@K.~aLH7׳Tj}4E|-^f[ #v{H1zUD(T8`-pI)GYwk%pdR/ARO~~ԁ=s!~MJY!ơ5 kBHH{ZQ ([^$ڴŐ7BJ@Bԡ$Ȑ}&@3!$ @?pZ*mUsjD2@$`IP)$${ԒW5! Y @ Ą8$bV*B7TH`@ⓧd{A g`JuEV;UojZ׊@z HY&ݐ &';}N  2p, yH@{[mm_mlmUsV@$S!!I!ӌHI&(@R0$!'wH@<Bo%HMDI&,C3HMztث\U3j&Vh%f1@@ZBuƜ >KԺl~* P3}]C? IyOF6B_tqp j@!C|VI#  U?j㵶5mj3[ow޹ {@utc%fHR@^R08ĞJNBlZ9ud+Yo'fa=ʸi''-Շs ҎFd9#I9b 5Ӽ/ (hZט;F}߮D=Yba{lo}Kb~7bv !~;\ϲs39;uA˺#&\ޚ>H G.nh6w'\+ QbA0(ZD3NM 呜q4T'HT-3޶F҉u9H?[~UD2sE㿛5]6\1e(9KY.p>ه0lj_ EmDsqhuL(ч̻1-Nuփp&KŠ /1l%=}h ($VR]PXE#y.1饮,D_>ǵo+kGB="Υՠk]oP0bp ;N{թh`QwPPUl| }<+<ѷ[Uo,TSYڳg|ޢ0<l s4]KD|a6ɇpݟtэCoB!;O|/|ύ;Fu'?)$ !g\M'WjsY>^t 52~?Uی!` L3(WʒS$^0-bxt N֙L)I jsjwxFԔNi@'~# H@LtP5Nd,&}өddY'@`b)L gH]@urZ0=$3!BBwL$0%{ZHwfdpH`},I3$3$ a, )$Bz6BBnoD% ,! L gdB~Ԣ0!&` }&B B"4X@,PCI v$C$@X_.[-fJW6ץk%A @j7 0$s!$A{ !ٸŲ߰ţf\#wXXcfLu:,'ƛ㝅 E-UiވKbmTgKRNKװCb/JwUVq0FnM :KCgRgk_mdUT軛8kwi6n n[50HHE9J)}d-sUoX̀,2SZBE&ѩUTQd!eLK¼қ}bDI=l&Z-*h(ZbiK"l QR: no^]B(bn) ) B~B~GPpD].asǎ+#K]EkM9>g& Rjlj Oi&_qvc EIJD-iH1'j1=myƚr`iw?] "z*yHsѠZIU=T*d9Ck1zE;,mI-a,J (sT*hٳv%ߢU7\)W?X``>ҶяP@aTX⍪Ƀa>% B H")=<#8oïA}mfFu؁J%geC#TqBB k׵k9ޏu^o&b5/ZLN Ѓ\@Bt=۲,Eyqh 6۟'u_v܉"S(Q@A=ֶ) $'(ZpxW Cs.!!ƄH@WZpB+4'HGcr-({گzϵjj | ػ<-k!#0c)@y3XN7ާCAD% |0Bqw(lB6-#O+N[?IF?G bA RC%k9){׋aqaHHtP}e9=>t`\?X, ͝6qjDTm6ֵ)"(݆ DυňBVJQpC"@p! 'e:_ah{I-o'IU>G;X>IHÒ_,|>?6>3CyznR$If$aW6 ;@B>vݿ!){n67vz|Zx!r@P@޶Kr1r7NvY@* ak:AvWOu;$c!@R@*Jh,-[J@Y$=~=\+|sٔ\A5#nSmij &Inm #kh6f] 68͞~#٠;n.ɳǻ%4qZf͕݁NPO{ĩ~XfҜcRseGMj2]:jE4Ls*HW3jo'5F*p8uZzZH D PAUqvU2Xo?[[0͟ xX>!:jRF6aZy~>d )W3 Ȩ5ǰ j;%o+>E;G,Ң@s'W?zV7RiAbƽ-@ͅǞ4#>t[=8#I *&5>_'?{ۻ( Dc%2/Igb@%|H !rov_8;b[*ճvοĠ̟n<.Oqǜף,!tTT>k!LmM~W't]zoë_vg}^:~^  T5y[͵v36]Zj7 njT^h"_]P"|U_KF2  jdjۨd}DAVq߇۶IMP>]uhmokrs_EE;/% ?3h Bw-!;]p%oWr!Șiv*nE;_֯}[0;LIAֆ*ZqTbЎEsrw8 FEN9Kku | YwѨ(6VŻ /%>l K ȁ~`5}$I(ɶK0% !+gJ A=xh6IS!?ͶyyS;dŲ@l>~^ J@d}&iЮ\F?dO&U'^xH/>5琌'xXg\VQJ[KZ9^Z7UGzsMKrqE_Һޛ1 ᛢvg5KXZ7ezZXsQ?%$&zF^hOo: "xc~ X'Op $>C)#A˻()nA0cPQ~e= 6N!ң'#g"!PTߍ<'<?+7AC!<#g),Q^~jUeb4a%f$ qYbe@)'/KXw+hg@_ߖbŔ̀s,"/$/殣`kǂ%kpxd~:\mT?!ʞoODr=7nΧpzs.[?߲?kyt8$$ ,)$_=J8;/_m O?2hbEߜvK[*'^n&miKjqB'$ n`.>NN)%Y ( ͓.!$3'ywy{, f'fф0,"@(< ʨZU!%Y@$N{H Spk;f)@1C G~2P_ %? }&TLWزkS_F}KAk<L$0|Ww`P~~mҵ5zo%@jKcaRU,;RKT`"6-i/9!cL`DH}/[ ğwbO7sLŭ⾿WQOBO(DW vh{Tpl>6PCqHiG RHwղS?ù}?1h₉iWz(7/5{0rQYKEi!Y@HA (!˒LS}s;aGK_L\DVer 1unG6ji`Ńv_B穝n9e&4OKˆ4r`-AH@ D`ِ(a{)bQfm}Q{fuyUt6ZQ?:3t眧@=mOL٥_1@¤ Dty9\@-vh]]4/u߂S& N%E.״[J9JɇMmk['㯧!_ϙbI( zI'!HD\kڠ<1 B/o#Qݔ,NAߞTP!HQJ_k8<{🻭zI|m̀Ɣ/j 2a[a. XUiەn5Exh0D$! J A&Z(A2P i%<5N JK7-Wm/(iIPHҊA@ Es B"@0A72M$l$B DfLɈdd fA2A!$@&Q,v znPdn6 pITV.E]WaQWP(0^Wv;B́jjRHvaz]%GmX~ ;wol,w,B5 R"wl$JBvP@IrƀB yڠ}KBS !$w֣vwLim5so`PP4D FHKC>f*$&΍>ZN1GyJ%MF I\}@~ zyzN#`(w {n, 5z4ުR,Jp=rfu[&r@ b֔3v5[svw}[r\,9d Tf׷FkYWA%DM;J(PO2:8_D)H$tz㍀wYbh^qF` (E\[.sKb׆^wS5WŸ 0ȥ=tZ^a8xw%ёbDN.lÓ~…!OEQ}%4PR9:K@B4*SG'{ww 2~ր{_$O `8H +_tÿmzjH҈\C@ *1!`BŘUU'\2HK;Ub"Fʔ* Rtn/EQʰx3Gvc.ˇs/<;EHEŐv\Cq:W(GvzIm'+VwqSrΣVWuոD" "2g0R[?}Z4Dm]Z,nDpȋ Q}܎9Zϸ kY _\iyַBIϽp ~1C4)9ks˸kj"[mm"ZQp($GkQJ12*3jzv!۫iQ,@ֱEʡ Q`>nˋΒ PkkIg_Vo `8xOX|zF.}?C9jϧVH5?^Ƈa{A5h_y1:v"6O!(o] 'UIl^_q1eiE6q@#jͫra)^ d:Q*xn1vRܷ[DDvu2UB,DKJ\8h H@j *@3X)Lc?B,ug뒛-=;5̮x Sx|K9󫪐naΆe̾?5zpww|gKg5ǡEDv7^&0sG5`'ϳ˼IXKίk0(Hq ~W6sR RUXOFP!i5]ob.x李nӮ $C~Nu;̓-/{,5z+קl2x`z+d-se,UU2(ժJDdc M!Dn |=InOp_{ܞP4G;KP13ɲOH#`/dʧ\ZolȄl9 c*99fjrZsWYI:>M$&ZtտL|w;#>(X+,5sj%)g*O dz!#p<-W?]&HŘrB4&/``G((I7u]kxZQO7dr68vItq^I 2t3qԩA:㋪o#jkh^ 6B :+7?hikNm$,]0wA7RWϺHAo3? K$N.1&ƚB abA7_T\n9XY߭1W#x0J/G '9ihlӋR bYsl3-\o-LLkፋGWr{0juhnZ@3PDld.p8Dms/r[YhYY9 6?qi: q,a+F$_‰) s˿6 F@G1%.S%u`˂2=g+=I.hsjSZT`(Cņ5HeC7;m~F ut #eŨfm?Rd2%xO X *z^S[+cv?.j 3V+PWh>.%;cLK7rz[lPl-MYlKq L3.sq2)UiYjC]U"4cwPpNe%z&Mw:O4OԱf50g#ͨ뱈Ptx|FybIې|zoT~(YI}+$)RYMnj  %x%7 EZMݔjɡ 3w&`[!B7 "'‘;mPTik!F!*/E"$(]V}%?gЩ1vȻ^_9SZ+h)Ҙ%\mϨ~+MEql֌5//(%!Na;_Ne{6c7^cc};h4.Q^*yU}R[Hո3X)Blon~7ĨApu2rrSM쫞vO7M1ʈW!CP 8$bϗ*0G]lfu im<WXL6\0*w7nl <6{Ѽzt#J!BjG}MM(**eXe&*;%E@AQ!YTX(KQEJ7e,=R 4Y$~Ғ;Ԥ#'1$#HHD1*$I!V-A/dlA4c %)b 4<^9ξ)>L?>?G$Tgܱ@Ob¹UeU]ZMxC-+ k܂MDǿk_WѠu}2I 0ф se4Zx]CYĆt$sWTIpDO_MT^f\IdqtjLlmlDJes&{t߲"JHcDa [-!=|O8X@)΂F) AOs5y.eB&ĺ[ F/KX1<fjY$ {߮ޝuY!~Ιf^TES1RT&AJrW/?(!!=B$>΄iw }?xbhbK$?e֩mܵgい5N`(/Eq%IZuˁiq(TyKm7F{˰5jzEt -n*E3>QyOy+Sb-cFќgܵsM䰓gݹme-~DCb_3o@C) ' M:@AR30,N?wnO5C;wCckgtmT6)-CJhh?䝀 X-߮K?i^Jy FCۦ`G:f `-e'h [~Pk 됄tں}s8Z #%1徎h/K|y\}1? 5?}]VknFСga"STok_s$DE<);ۛ 9_1 #g+ެ W#(do3P m-?,gnpi5lJ@tiM~}Ɇ)_qhjt6)f >.#{`DM@|xH>yGk93HTkk˗}شoBB/ t]@Z @6?q][Ddn+'n>εpDMV?ӛ@ Pn)@+mg$F yE 30KEfJ/qd:zȮH!=/Q.:ʭº.[TU–.&J8nv6l-Dl|O&# /qtC[0xa0.8A cr=Fk4I+[4X'7_"st1]~`! fY "3{iim}fsIgb!yooгdRѺXu#ԹHb_/{ot)4;z/)IQ]ϻ=D[x O֎b9Qn<)mA&`䚥0F)= c4U?C@0-ny 6ΒS'ː4!'Y%1QO $ VL,3t˖djﳪ>3%X thYAyLڜ@§Ǽ1Q+\_(جFwZډ#h&6y0T2/ n7`! eJ%}vvo=\:[O&eơό"R@83bC7{,li}Y7ֿ߳;VftdŅbRB8g*T.ZYz-rEKy~3G\xkOܶ璚W9.UVa/V9`"WJ|H_Œt$%`3kosG}<[s_Z2=J(O N)?!':=FADr;SNjL"dc#^БσOgȱY|\|6*.R-_T(i ?zRUHl Ax[ލrσe6EvwӴ4!pnW<(eW7MOT F#-6 G'ļr8=rsߵUfPPA:nnkS;KI4 =/:ODdbK^![\hHSvjk5>wRw8մh*T*翆M`̞~OCsWʆROy @HNFN9_ lx^E>D:~a4j]ܵm~L@!Ū[&+)@"pLs,\OR}ǸOrYzb [)α*;}ěKX&pzQ ̓1$qP2c6cLO9AR^c9+Czz g,a_ZhbKjެEH+53J)y*Em 26!CRKs'%''ZDzC "p!I칓hnGa`;-ԲQ!t"r2,ys-%>tńྚ%`ő9|G -ؼubjU7]cBOί0fĢI,@ P왬UZ|7>}+һ+Wbܯq/w& vz#$Xu)AvblB*|癬OTt(C&@ ¡6cDM# $ϭHm&7;ɹG6=aV3T]ÓdQйw>斞fFqTkQ,e)3qkjdV.!؇Cm7Ke".VN!bx^0/<Ѝ֡xdMY^/t|PapGl`BRiM4ozޜ 댳ZX!3mVH\#>e~ M㸥s̉DD;b\qP^pV,O|t[4dt ULG&nNVF\1MR7ݖw5,[$~j.{ Ï/ݟF@ $ GGf#39`~g~ػckqw9ٺvh8(Mx';Ӭ': Ēy/w J!?+ІDy0 tk//Jx/|5K}~HfBxAy7ȷ݊MA$ 0E?r7u<.M7 N#1D@qT7\]U.db "g>|S!x"pCS@N -!;X!R8>4Eȩ1qCUpjB~,QATB("yP=]jS㭜2%Q|Ma{Ia>#?_;|K2شfcZw;Gt"yl]Um gQ+ґwf3 %Wҡ,óVY%0Gb}~0xd3 \v-m5QF9>Ha 5_ƽ1%9rߏ&9/\E]f&(H9DmiyV[/o(r;5皷xuo_Һ5dI$?A=笗{;}U{>x8dzeE쟭ZXjBH!ӄ]*-l=llMwtE4EUm -q>o^p$;b1tb(I1?c Ĭ#Xp !֑ΧM{2 ʬ,?K 5*W>!h/}Pz歱NL1/)T<=bk [y?2ow|-;Y7 3SpOo(LFeo G>~~}For+ϥSI|x.twQAНS̖fX-Ӱt_OL0@*yH$"SBa;A+҂dkYKZZ^ͭv֠Sj~vq, V c|[]:ǮM,aEEr6UEja^ ɇ-]N$*i.SS^|K{=/iF *BK(N%0bM2@D2EJ() RX=j#*ో) "F$p+8VPMF(DHF$dJ4b$& IsIhF&D(*ΕB7JL.A (BI"'*$.R4P0A]!E +R"iL 83Q!jPU sB/YQdڜP$@ Ƅu+7S! Y a(PLe$1JUU6A.bI)S"c2UEJ..K!KJY"l~*Hi*!o?gЭ`l"2`650-X݃ɑ[T/g5"NXM1LL@##&2_8xe 4'PZK%jڪ(.UQ7Z5KgN2Uwq]xc{Wguwd]w;pzr-j,مH,\I@:0= !2!reBIZJQеἾTE=vN['<􁒺ۙkkLd€z_3X1Lc!jGPr͠kښH ,s3`aߚW9:w4F6h+L @HkJDXj<7m4UT9oN, *"a /T4wZІx S_-#Q ACnqa'[K Qi&a?JVϠe;bXsS)mEc;3'H+xb.'hSS޻3J]*KZT0R@u o‡b6Wc|S}OCe_mWB YMes\% $xMPXnS$gs0BU/Ϟ\J,?h#!ds=[`~lܸ;.x_cIﻩkXŋuTDt?ga9c6g[XДd汵1e< 1of`чVNEQ=_׻MJ-B ` n{A9"Jm.+e>_C'(e&!J^ DbB0pT%:h1ЙZ9{67A$A !rǏxʹ-Z̵v﫷 ýC[AkF3N8Xm/WDmk@ $H#> m;`#hw=_ey@ՄPv8] l)x#@јjK;}.88,Ofk80_^CrͶK|rۼOl֠b}Խ?v3=@;d$}K 0|<~z`W$`zk9$8lIk(yLLmB?[@891;(ʑ8/|ѩ#՗&emk~5})&(= ki{Rr8rc5,re ]ИVB-lG ?;uϮb͏>[B2(l&&@ 3hyؚ/5z'2Ԃk쮍viW?Ye9{/1\,Z=I,zG0`٦fGONOsS*>rFwz̧I~7OomKw3H@C߰: 13Nln Q>ǥھ_\.;g]1D[_B9S7gHS )*ñZp*g5HuKiH@#k)u$'SBG*^ \ l-GL]gz7dCoQ 2g d\ [+#[6r=x"<<ϲ.Fs;u;@fYG_ql.EG癍?h#U1LsJ#1 xjvT _ӛ$ 6'YWa͊6alF&I%0;kvv^I0&8eA"u1f}3PwD|ͅԔ,޺ؘȰfG{lz|mRc=fް3 0G|ۘ{DyT"dx DP͘D-jyCx<D5vJ[jC>w{ANuA@y|bmU`:]$ke;xEmh}mǰn~Ck_=}%4Y$'(Q2ZN`}ch_]Kbr*&@If@dBXl|^/e;˂  ? OmI?W[/Fnŝz| :BKUPpmJukxԎcVZ_¦ZNVql-J/a&P ."j?߾qS i+AIdMp >u$#!a0D\sn{A 8Z OL?:GUz.0 ;9ZP$?^J9#Cw L$'JHA(tk`R崓4=qAR?j #*t]n?~}f-i&X fh$DtnJ$l/ư!Ys d < _VGFF oIwpus Ep nn_Kjn|=a#eU!XH=={OML9:o0e8eA,߉WNX|QfJoHQ͡ԃ˨0 EܒT\$NHo &z /7WG rVj&ACkKp)h*8eFH4`AVQ^j|4^ ?b)b藱o _Z'بYYLGG~˟ԇ Uf; [cI^,-XRPPF/&BNyH#?wu0.z6, 52e"Jc Ab$HD(h CQ>~ujF/LKA߭\[⯂3J7'5_6軩*:zYx܃T7[DF>dmyqL;fo"7U ^âΗT>iKV QbޟbX$rG9<'h\rIL9#F۫qɐD)NK q[\}k9qDRBGBOk> gNѢ-j,@U D\ ʎ҄t bD}c$B 󽵌{%X?։;j#+Y>4$k{E6QK 2`xۃdXi+Ϻ$CZѻ̲$(ʜ | HJ-Ij/4s<Ɯ斔j=Wv>Qڔ^~g]/INy ~  DbZrE/z$& fLjQ &K3|ܦrUUNarsU?b,(t"t8Ԯ P'PI ﹼm\$Pw|_|@޿tC9`᯿% 9߭5&UmOY`xR,l~<{"]wV<.f XjK(0%p!!kXIR%0!_h$PC%e˨hw"<(Z-HG`h+2.* {g?l P-l7R(є[t A y?;[Dý.p W[UmV}Wu4 R_o_/X%ar6 &~;yU ˏp [ZJsvP)6:7"-$lD-ߎZ6CKKaS{dE XJ> >⯵5 # uBKDoc[j- OGjv2IaD k kaаD#zDE୶vwqb~N n]'~l:Z.wXa$PH_{%w5Pj ku‚ً>TBZ0vxܾ}M/^](oȐ7CffwL L"2 0!q`uMH@`؎NO8%`ˆWbHBvOA\0 PtM=/#/XD`dz?$Ձ)F(oFFMz=>!:ҧ2] L _ډ7Bι5>7bg\i~le%㜠aB0IR1G# zN)HP"psnA1ku/eHfD6 #|5B*:6B,Vz$ [SqV"W֩8!oΦב`񄈐)on-_u&6BrjH,++MW;QJ5ĂdDd k^7`G>wύDZeQ濏)jEZdߨ9s|Uͧ) l,cʩT ᄳ*vO(' x9xҧeGVÛ&*Bc~{Z8kwTh Ӛf,T?ɖ:Z6j!Caް2`j,.Y8 $( @A|m8FV3ȍD9_FEBY6B(d|8X]zh$ k k0=CcRChk[ jP 5RΘƛ=D9Bl|QzS IҜ^\&?Q e΋X!~iE;U$ϣޕ{P~F.ǖ"0$Jw2 '뗔($JQM_oǁ$)II") T &N?dyBG)ˍg>˽D[T85O-ge-AA| J/h@[?'@Zrk"ԣs*z"?y cj;>4 n¼ t_o]Կaf;56|*M_o+%9khXRƮo{-NvIHrj:8tMh'@*\Ľf;i:)@K -[#\6Fiz,I[fTY,X.qiaAv4(^R:(p؅ &>N !kyۭ6N"tx  @wҍ[e^["\ ?t >cUPF^%e,FUF7T "@(ƈ27/󿵍xka!wNf|회&p5aBP~Ӆg^="si͘&Tpݾ w}fTMAD aIG}n4iʎU9&1EN'@)1ՆO@^ AƆ?ڠFR-FӴ3IA֥>/BFdl_8" GYkE\ǙWESz5L,<;,)MDŅhwh`Xsz>,=h%!rb)t`axw3 ")J&Q 5m'W;Q9F`N\0;{_ `Nb !WD}K cu$T]@D1 M+"S2XtGkI{u?3"]%R b$odߗ#-.ۄ`K+9@ v 3/X^u̾d%B"gl1j_8Af [GzIԪ|QP\ѐ63#1 6 ` MW}]<=+`a ; D6)OεGcK cBy -S `#C1(G0B{. k[aF=>}V spv5(fM>G+F S,^ ܜ5uMYz`jMʻta@J$A `;&;CxbX GT[ɜSck<5LJ;w+r[w.(-mug?@nbiT┟1U$(,7 wW_R<]l {=@_}URY 1b.#~ZȘ5hOk}u0y#Kםz?4s!l3pwwx !z{r98|/An1F_#fv%$)x4Q(ױJT&$F0y;K|QS67gSuφ|34y4~_^Unа,; ׮`G.]/+>,>4R:6(/sI?n-6\5qg};t-׽lNq8Kn[((_S7Ʉ?x7Z˿.qk-19J $D֮{K!~ۙ9am쇅WerZ )AQflcP2O}1r=ﶯI`C}c_ȝMMfen]ʄ~/W>.SxO0*ګxkv 1 ˂@TwX6N'' hu9 njbT!GJaD!` =ʺ[}xw]ȸaҕ ÙPA q/DG ['y?hF(%}r>\VX<@`WA69*c8I\qYpM~-[uV,{xHK,ykBRh?wrX =)pE6K&ZV ( p LQ!uTv". T=toF^f[sj,A32;+H1 X/(À4i: 3i[Mj)G=fƃ*1s{ol$j!Ry_ٳDSkX!1&R` Q%1)VHܳ=VBG0c:"T* *%ʅ>3~XkID O:oy>z.3"2_7m3l%KGqPugQA5+آ};#HQeE4{% ڬidKhi TBug>)"{%ewcErP{D.zNGP1+՛ (0 b%(>sHT/9ܻ~:֯} `Fw^m A$~CVEN#\׏g>@Tb(iǃ-EٜH$L}RNFWms o,"{?̏* 祈>:ǹsl#w7U@* Zz) 9dE qAÌ/SA$γ~B@}1Y)q{r^DNq.>wK'ϡšQhK!)w(O֫|/y/b1NfKlz>M^^@wS4fz>^|E]7N`, )654.ѱKPZ?^e*NTmkOZ6Gr*ˮg8!W?d{5O{~xl{к(4_ g4Fl+UWAss?(|2v:Gj~K o~F̽x羺f?|HLv:< WeGAqZCp d8,(E.}Nj{t"0<=€I1esDC s߽ & 1Z'aau=#q>>=S_XixURu}蜏=H_M,_ȱq%;鳧@$57芋w<YuwĔZmz'ܕXm1rvxs5xxE#S!Inxr_Wzq7GS/~=7_o<7(X?g&'@ӟ6 ~C?CZCJ*0B&}㋶h;*R.|/imw1?.@7VҎܘ HXV 4t0ǂW3"̐\5` 7wG^{cO3żi$" G0tyg!b^@V/U  G$|=dHWXA}# s-8k0Y& X%f?o$;ɝOi^? tM{2H$=W1S؛i:vP1A㲓vaA1:`{8 ~{Ŗzmd :[k t6T0a7% e O9a9Ҁ FZO Ǜۛ=`5]( Z jE3 G ֤[S?y%H!adNn%f\:W[dEk8; q #!V$"0|]n1<zQjb" ;7ffA1 @I*^`G$HÖ{,Ny3&f[0Q xʾ0cð>~jԗyo|>L4jŇv!{͐ddVM9N9GgwK)|`XC21rNIRĬQ%9Z-Mq=2w6-]aPcҟ_g[0oJP EmRd}NTJ?K*6\ù Ύ[AK&dAڤ0qhʗJboex^*ɢ.MPDY8{ ߵߤ\OBđ;K]۫"Nc?ltg|h''r=r[;>}%xeZxT v‘M"!ZA~av+ɴ/ڏii[v$lZG#sr1VQCOdžR! [V"LX~cёVzԁ`X%;v.5W@nw?C&cx3y{hS42hA]61F'^yĭF'+?鄶q8ـ}ù{(cdFlӮ?2֢RCÒ΁9VY-i,E +U"bBc>J%HZ^Tg`B;h)dEYH|-uE@M{^il-k}GM˗gB6c˧((+1 w3*$2CRZ0!(PFt^Ƿ" x[4A:gUǙ,#zSZ`t:coվ%1p\ \ !lv]Gu rU! ~E$fY X0Zh-Fi |x>g4&ܟ~~/!:L}PF8qھ4~r ?n2&S(9Le&~7\7ؾ@P m 6]1;$Ph|ű5k+N#_#eHEp_HQ?pGdO{YhyOS-3{Rs?@|&$0 k&"-Y5Y1L-Tc93u c7ZYg8.?q~]K ." $i$t=i(0Et棿=Q|^[AJ(nF^4b`ozK BNmG$%cal$HN:@2B1ؖ@ ..n4$ ۾v~ hxQE}J6|=oPDBROp6 pK&qӵzg{KENwYF7u %e?%Z|3 dgLvUYh-kE]rY\h ^i,eWY)Al(PI~;ǦEt572( ss=ur3g4ARӢ%`KۢH4~ ~K]_aPFLD]}Ɏ*y,$@\!QqD' ?WzKyhj8Oe55c1 b"$XpՊPjeKAfˆӇYS.)>X8TlK}aU{;=/&D8YGlq}e=c~,E@Yў<60Ҿ(\N 1ɀkqb2VyQq|LCTJvU]My!?7']=FD$$?(jphN֔Zd <~+_~JVE(#  7@EHDd" .%6 P qx/~V?F zAP=-= =/HPczgBF"`vww-IRS*)]GL@0RӜL].r?KNfyK>;yך\_!x QA oՕ́[Jgpv'#e_މr(1w|Y4*9 =Yw$A wjfxhEp,Cw鼴Xr ;-xnh?9L%GЁ'Fc:*0߄8D@xmE(|BՋQ|O|~hƌAA4 ͛w @:E5kN; I >cp{٢{W-c3QjRYY"6\6*hHFV!BOTX&5n_ ~wޥ')AI8Ear%gHߟ<؝bqogZ,C?4|; Eu]BYjowx4ʿmo8@s'u5ib[z |]bW%Ty9+J ?K#53, Y"?ܮSHP$*1@Y 5g-a  A\9TۦX* K}nN ]IT=O't]],(H &jH F;;d#mj0ε{" <%C9/54FA~)͕QB3w<\ZW.?t\qkNKOgOKzS}* 09SI+xؑ3/ۃ G<{a=zdsLa|+ 7|:iAY WY9^y*.TEH+(磓 7I@c..bbbQЂ>o9d|.݇ֆZc8l &GeMv!$K& EH |S4H :1G R6 f D~>F.mI@p`('7r 3'}j;Z=."$#}|C-70ځGt"! Δ0:0̱?$nkcbk{j_wX ]oƝ"k '0N Mx\2/)gRtSc+P u2O)!kFKW*,]>hCJ֏B6{ 궐Π ]l_K&[>{6{ydġ3.fd)3^_WQҰMf2<!4)"T)J5vC-%a'ɦ@?#㔇LTWܡW"^ rL[gc?9^>YMN2{, Fu;%GKRw1Q d4J( H5tZtpP$ă_^n;gkw ۅ;i873v4BA"w;.džwB; "a3/ gx `)jrdQD6Nl\J{/0I?kO}ùc*%:W&:s|-BL_O)\=Yڠdݹp⌑ ªa6L{ ^LZF!l<FR"@@Յ"6l醿G WVٱ9Ǥ/^ A3=aKpMXz>m '>h, r(3yK7 WX?muGPKg=9'^I1騮m({bpMaXzlvCkIT}]Z1w(ԟ9jL0Lx}jzAc*/Q<ĹJm(K混Ok99mT dIxʐ&'&+Pf3<$*#lAC}af1q>5'Mj'h{ L3aA_mNWs{gE] HyXp_m]ݛvfֿʿhhqJg[kS28L) ٛC\)"ŵx3R, LKgJƫljqP"Dko׮[筥TO }։wJFB7K^qi"p>i_`;t ;_,eMW\?}^πiEUbmy%2`MQ;|ڿ<0z=VY]!io8QN8a54|}82m@lƷgC<Ѓ툗 NÐP(fXFQ(O!-T?W8 =iÈz~22!G{ s-A@FRp,|uv/~c3 oQZU[kۜPI$Oi;[CLS4ߗPj!L{2I)*UvĚ%::R-HCC;.##WϮ$ߐoÒ8~+#Raݯ6l݄<l6bǜIkl>LҊa1Nr; ~O)us&e 4ARhBR_~ZqY3.}+,QlXPi{ 'jp zj4@䜓s£R7yAghɄ;AֽXmJU,XfY(@Tm!N k-sMeo> ڷIjKᐆʂmgL2+q "Hz -3"q)dm^bCI;Ðx@;@7L3! ԍ{9!Sàļ<@H"$J}m.?v$^?DjH`jUN ]V]䟝dK"OLh.eH3E/׶OAD5 q7ʂ$(GBO_GҢ\?{ݞem_kqNfg74ڬOAc ,GJD^(T^!;S;.z4Bކ#a>=.p!>&E!jz^s A핝?ChZ AK|[}H2 -qi+w=rihDQ2J\_}mx2i"se>䏹WrFGZWnr! cN\w\=t?*ιܯV Kh֌bˉpG*} s9ٻ~‹>?o1>w[fشpJHnK L JQ,'[w>铰k|tb*LG$?<>7z ԭX&r? \c6=;uRփTU-kU;w`2[;C J#<Zc~'cHS ]ec>Fsٛb@}8y=rjLa./x6QCB,5L;!\DZe;qxz6C>P, z!@=n>eTn*#RW4x]uKĀNs?t 7Ф{,K-,}fE"E%zЃE0;ռ!֋+>+xCZq|C &$1  -E`$v:P !Q㱏!$<`.l { ϕ$"$K thuN,𩩔ve7TS5Ǜrژ!YJڤy\'Mfbh4Z(q2VUXߎ87կ`|*E5蚙Il~(ŠcO-B,g/9\3L׺υ<&! R;A"VC}Kq7')BY AeweíH =` &O,즊>0P 1tWLww'5 }rۧ9Ho9 `@ oN%<s4 c]ҬU2pXu}գBDPlRA D ME1p $L{ygxϬ-KmJ0Bb\H (í1ƽ8#b~Ց`pj5;$I,2y0Onm.FܘY?-y9[K:?3ݣ[(.y`H]t3X&Pm.uȖ}5Y=b7lהc pR+:X ,rsdiԲ*Pb%c]foPR R )iV#nMN<|lhaRjz M,e;FĢ)v|rNy^w[cKju =R<\S8nQTi)Fkf֭ԄKK5`i^/gN'trHb/춑rmOZv2}w}i^I8 !x{g6?-A*疰Y?WFݨQ֦Ad 2 YH TY˥-P4 !y; Xr-7Ƀͱ)m& M: 1`Lc{{NGTz`:*??mC>4445AC"l[Xx"*" (fhMfuP%K=$y}D~fd߻1ȾzZMЏ<3jIoy;Qׂ@LEhbtP0hvGLCU2s'!!:ڨĝKs 06<05!+&2>Bf(YQ x G~j&1ĝv ;=$,[}F%ƃXZgFzj\U/E~p Wj\w|@4ȚDĴ!="kߏl}g<> "3eS&[E$EЪkyDx\(xӷZR͊{D״†1 TJ>_;CCnrx/Ϥ쫄HI8 "!RjX`A#8A2n2#^C@`0m(_̠>'o@) ˌ?!h?eBF6 ?z>/.Ȥ"L]vF!w;ri }|63F˕vpsqKR)iݗ;_%2=K ݋ZǓ&p9ӯ?ME]u2oPNn~<#gK L:qz5mco>t2O[R538 iɉ"W7?X/IcgG-3J+\fR*9 .@n5}ՇnT`!a|`-G>ߎwKO[iFEegCu;Sep* QX 7&k0/o|AXt%0$-ݼF7s>*QTpVh; آ @!LphzibJЁH~eCa#ePB7@HG@0=GQy0!rܠQ; \(+LTCUO$+ᡊDe"5ÆLLNO;+%A@{ho/gq'GwEOT4ה'aɀL'ud+);Oi,=د/d"97Rr*ǨIq "9{!q!f$Mb oK_BqG-<)a#&80hmD,P0]. $F;(-J;$If)橺eԪf_{idacod$KR*#ϱ"a""ؔ5Iqc+ߐAڞm2pr\8``d Jy@ʉ7UeI(y6xPqڅi\W.T9_:xG-I/dж: #y@]d^``j᭵׌{5Ȝ 1^W!6yo\lwjGO(u7a9eG2R=~q}_s4(_#/ʶ匵|OOnCoiO[e!2bs3wɩ_zQ!mB8R,Ҡ}NB5H~q*xb;A8n"C6W)POMNVzU B-[`"_aN O02 d`:Մƻ1 1JSJG8D!PnNʁ*JP $7G^v.G4a~z+H}r痸Ѳ9#FNls=+fFI ԼL EVBhFP ,ɓFԉ)$0 kOXk~~`{!lxSMWEQuxfvX@~,e u@@ Ĥ)%[؋TYD4:bT08@ND a.9 rݟx"H l_FeCg}[-^%69H8ԼOun8_Z&%*^B G!P\Ɓq㇎s]@?7/wɡX^sl4x NN-V~cWw,J2|$m`H"@`Y>"ؿkݷ=euPU١*7?QwU}3iw]uDH Q^^ #>J *'BrHOo{Vc^sd I5N߼?2Vb.MuRq+~Su}fa}x궟գlȅҙ_z.Sw۰p ̂ CyP^B^A 7z 8",hcBe0c&!HSu `\1ſ8~Qz9HqA c0Eܘ,DPA!! *!L2mB-nv-MZiF)$ALu68,ZNr 1c/{1#N^M)8H]jDmwT,VOk7F] +(.jAPЙاVX<9H|]y4V5qs"?`)'oŶwf ebA @YM!̼%U-^Bڙ2 $.&] 9 P}EK{\9>юu @ @^, \Md(ޢbJZRXvM2Q@ T ?sjWd$GTaP\/| trXxX0‚T?o wv~wlzLz:{6u$סV:: ;: QO;uu}fXj?4{_6 @y)0^X==KЁ+HN;,2- @ [ xd k #/jIc)L,34zbӃ"+fSU-^B=^6zI vȽVn8OjY3wݞ޿rVwME sjКh!Ao?WB e`sbvhh]ƍV[/Ec5fhObU)BL bKy>m1υNU0 ~"Ѭ *%)sR)R!hq_^5RYD?])g'F!d+~B[ߡeSDTv"iN2Kc< ܊^n" Yb)ߟkhs\T,u=*S&5"__35gg i[ˌs 7[*O Dz+'ʭ"]9N9ǔ@aYv( =  9/=2u>ZHw߁D%ZU 8;}3rEqmiF~'9LDf^+M2ٟ,՗TARƒ\&BeaرʉM<ȾR{{O֙XΗ) ]İ1 vۑSgqI@גh<jzm`/P$&+$s*-!Д G *$Jd*xLQ2Mf7A">mr~j&~{RxfV_ljqy_ĽDՓ#gv?mOOM[aE Ht%f5]mlcT6ݤ}ҥ6 iPovn7c^"˦lccę45|2/CS{H;໗byxZ4j_ (ԏŨŏ07QZe>.kN<9$EdFE[_k6$ʠ7<ž?x3ye{lCb,P-TxnZe.kVmi1yHFUƶS2@JCIhxsyTy@6W~*#i̫ YS9ZqQp6,pzh`xu$YhUofaxU\i:# ^WixwI͐hM`_yMūs#*xovκQtWo7UPzN!~{Ysm`PsY1Wӽޏ3bsvnP$_Q7 $ X=H_|l!_M rSo|EL Y7;ga},ڽvaFƃoPu|9Nw &Z?#8@p= c#)~̝2\υ[l=t8C&ƌxzgyqqc$|O<[3"> ~D w~wRT+d6$CjE_&E^t);>5۩MiޫlRRӡ'] B1LF}?QkEptN@yM2 ("g9{ Lt 90:mPu3&k4X(K4=@B"?X N_bnknبٱ%'>ڲNn7ӟlݮx8 ob?d.61+T`Aw<ޕ|s=J?GV̲A]Z8 Fg TPYaÂӻY-P%EΗOx|X)0f}R4MUZK,0=y fPl_9p{M#J_7|GƷ13z3pdSjgo![9֪꿮Qg% ${ޑ + }zPԲfx9C8PGWsъB/7B[jlܹY2Zi<>9\M"k)/5S!'t {poR|@MӯD2'L9ـ4T4w1xT(0%/$>ֻ_7T V1Pvlؓ@ 0wHbFRo!gdiܨu 0tdL/^N NTW$ X~kÄfzSkm/Tݐ&Դ*"U -)?|Pm-d>(ȜNݘ 'c)G û~.w_;XcnmT陁|AڗpQ@Fx*Yvh3l-9Le8yN=+w;2׵,޷e _O-GݍvYXzj`}9_>3J |vO "B#}a7;9ɼ9R(}RG; 1&||]"](ENcNELF~ƭOŠ1]rlM; qHdɵ,ڸ6Jbm}-('{yf".󦵹ڶ n̿i: vpWhtZ~T}SC4bef>л3rL|/JzmMT:tĉRNK"pdH@hX0B F+(;4YMQhTsK"a\dE"HH 6ѫyqh(_)" &Z!i 2)HREC#!$QA 7 *rJY62d2&.-[=Y(",dMY<,^<hF[Y$?!CxpoAe&b:a zD3Ƒ(D2>01$ +fbLd =Bi&6KEU-Wl, 19r ړIH*3$.X\b42\jFJ"ԕ* q#fRo[`jٴZ@I'A'Y,piPdcșq ahuq XlZXmrd3+{*4YSp:\\EKt@23_cTjU*lie!C< eJ&'A&΃1YA !YܛҠKζ}Fv3uFI 9Iɜ1i׭+Cb\! dҚ EPPxglt)MV[<6KqI",BI6yRK0X Hs\F(WwV5sPU睮\<[^+.o³;LJiGHiqH':2PՈ$3quT7*ăOsά nr^vq< . o?wڿlwz/*gO-:qr0'"~aLaM@BDXF3$S; D %1%!(Ll@˓pY"X%Z׎Ucˮr{k |33EAfل)BLT|zY@FV"" BCmR:sK0,pP_$t;W ԛ]NR׶XgM ##@&FDT1I65KhVNdh4-%Fɖ xc" Z 5˸LY+u8ZNU[(D`5s! /% ve p1ZEU{7%2w?yukY4L2Z5E%j*4|7,9nzR%(+lf:}yg"I$7kSpUh$B7& r6X(ed7u͸*R^he`G`ށsVY ;S.jNB_&8gӢ8fHĂ[D3e7)y2"4r1,\88 Bc Y) @-@WҙO@qanqtf|b%%-F-m4(aeJꎍlkނEET ߚ  H$Eݐ.GB!Hݙc'u,- RBC g {4P)IDZ675sxk\_IlzcFO]s.ks[nQbܪ-wn[nמv1@E%B{]r͏kIʢpRtgޚ6W˥=, &ܕARQ-4$0JJRRօeM}JݷҺU)\d[ GbkAo ԉ RWBIS "bky0z+ !9āK@ hTQ֩|Dh17B44;$8IBA B.Ӥ!`$fܝҋh=!pEiAAѭi%,6XqwN q` ]0ZN7zN 2BvC^/'a:;D~\3bOgI DdW1u4%\Ga!Q\+U/]'-S<iz dc:=a?=?kzMQtg@,td_ԏ3̻([RߍuG)BJt󧦦^@d-\xu ll9&%,=T~+P}G\ad{z\)h@ͻ%bDr[lȸIkW!z:1o\JNyl6.i0`nY_ۦV!. Cm$=ى0 [);arlZ?۾_!܄@C4J5^xϭhFc1H!Sg^nA]wpr+ [c&tNYI$i!uY!ңC|xm?m^C8׃RIҔ*j`a*H-~&L<ݕ^#GX=]7ɍgd|s:k_>rURc;D?x_dw ;'stXsgCtbaR \H\_xeH$Xm}=Z f _R@O?i$19~x DLLl~#Ґ`OB=嵾$ITG^dR%gL׼0R8{RcvcT)jWYө6x-,U3W$#f㇛ب 0|`|RYdyEOnA?Հs3 yufr<0/^'Eg=o"!^[vNPB$ ݊wqoFHt|xQY H!ԉ!)I,'-:9aϡ3дC@',$HLXhB;#|+89$Dlo~rqx0H,Ζ^VhD2u=(  #S&zv_ëPq[aD/ՕwtP*`&={Z~th-ͮM ܶI'WX7"aT>/sKF&TF3 n,8Q-w "u_?L~d^jG_ CJr$.+p9Ƶ .]KM'T8Мo~}*A{5~{/6{x@Uz7GV1}K? *^]dr%0X"&lQo`'xO7­/E#[O٘}fF(P`L CNŷϛf:mAB8[q1) %@8'e*@85U#MJ ЉjPDھS_:9@q8c^`DF%TgXz^?_q'5Zљa p|ֽjOOG L*Tɺ)@`ys|OjvGu-ALOLMI#J95VUB {Ok )a㚂&@i;BpL=4oOC1_ M$")V50]Ȑ4$$Y5հjmQ ͏F_q{/v΂x6кu]ҫ!5^Wmo=/h=̠yoFs/ЅɵDa(yc"{<ƔA#, Rj;/OU7Hu@2dk.Ϲ6[<"$,pB`(cd~褠NSJ~#K,`U-\Y}zj(kTxD|mfHf Mpdl$`;IN,()KiGrCwR)6lm /l(QҤA 1 яij-D .3 4ޤT,`%x[3u'td3BNZ_D}٭ RZ86`H@|.Mj%Vqm?quȕp!_X0kT$yrVo͑%|]v"8R87$Q+o N4(c|lU8IaB! szW4(B&nYѬ:$v 1>'p¨wHpS˅12v{ߋPȸ h dF!*N>u(Un/A #ײ_馈šPrT;?F-iX w8$YF oܡN0I3n]ro>\e+Y,Y"B1u@2>lo| M=o~8M\=ITƽ<;` p3'Z?vWTy :| ѧU >0 #$<nۆ dDžM+- x*4 R0<8:Z g>~/ZEg/V$O0OJ_PE $'in(@ Y0pO[YuS@eAǚ2C ؆p4ǧ&=LͧB⚋9G^Vޯ5D3k6rU "x ա$*]NNAF  )m eu1z hJD%$voL89}L;8-6e,ײMY"~d׮JdYH_;]( {4|?)AkOld!hR9>~]d@CY13g^FA(P ylh%A#uSAOX2%.vg8gșµysL xfPCS -$¨Bh1ŹCcSc?OK;Z1'Jah(`0` |ގ'Tt2*w#)H8dϿQz&Jd+8Xpuz{wvlp; ~ ޞl6NY>Ya@% 8r[trT.Nv.W.L`z6Z$YA:-Lj_WCMRN-M6Ɔw!? B"!$#)[C5QY-0s,Yjl-E2H]͛5I&l37&#Hrih9UnY1AX5*֦  S4*uӭ8cc#f)5$̙uk Ū:l …4fD8ZԤXɎK&D !Qz9ݸ )#itHN`p}d|TvyGpEX;p: oCp0b@ \fGdX kАG6t73x`yhd=F7c!z`A8ANp`p9^>go}25V=Noznr82Kud0 M7$!$ ΐ R)厅~b@Z|Ey8Hαל|$Ng/w23ѶU` /[%_t6f!P1[pԥ$(ҕM]>= TFR{Z,MHGQoQh08oT*:SGJXAxeUf$ѫ7COO'޾dQ.y^6}}JǼfhzGqAuo!U;j И.QcYQFIӳ͟:yC53fE & C9EʵFYJ=)h(Ek.ïN}Bq6A?} 1xɼDqDI40u| k}8 ~CZz34P4|oț^vu#ʨ.a[Wc)L9䞏۷7sV[4TI/uu]{t޼\n肄~aƔ-IkÊ1"Be `@$Q@m5REaUX~&&,R).Ft:_4>:=x LMi&f+st0  V4>=㟵J٭HY  w@)a(׉jD(vQ+EXT I0~DŽca@$Ifq$%dRPAMJ 7l3LG>jz͟їIQ+g Y z.&or*97b dQ:ۜR2{lvR1EL 6d&HA>xG)O!%pakʋC9e0B$Kͦ%W~%D/SRd VrKeB:&Hd3Yh܌HA#Aj~__1߅zmw[Ok{'z8Uyf<ANH rR+ ]7G1i,nҠI7f&jc9 WrW勽ߔL%^GP'`+a}G >ەK [!2d~$LN=z="!7MMHpM,ƔpX`18gvz={jp D8)euF5 (:ӢkbM[%LLn(X81φ+wkG&,Mb`pxUGrEV46_L&93ڷ"PT̕c{K1XNHgD)%d>'~nUT^2w᫭X8Ma7(rnA]^ֽMLe"SY oAk% X#Df/^Kq:9ca҄"(>7]6`ӫ| cwGz~٩iTw7hT"F XB Fd$2Ox=~ozz} hIu0tԃK:@1&>FO= ;Vi>GjMšC<:97Ԝޒ75# oؗ#ͣ$|־k"ͅ= s_.<z il3':Ȑ ̈́056'bA-jp<` ? '*t"Lr8ybs?yyO x-psS|:jrvI~@ f,=Vxe 4'J>dɜZeia%0Wj*yr~ޓv Vmg[JP"LѪp4NHJ+QLJЊ\eP_:=+%Ɩ̼ot kaknh[q#0&׸c_8NHᛐܣ>uj!Ž:G% FHK\^E]@m'B@ycZZ3E!gl1|)O3-vG >ؼpD1$]xR7sQK!I ?r/pm3MVhZqM1'ٕJQx0܎A4*_ ?;e>6rfO#^XH #i?r(zHC:j8Y %)3 ȑ*!E%h.w֧Ǜ}>))0f3B%(A2<F"DZ{Ŗy]PUsy,%WGfm({]#/[fp7Y ]Ӄ7{2kmO13Q5r~If{Ox\)k0PLJYv|22I=kO3M5z.?WKQϑQOU$%Y12)-jZX/ho-0kn8spt6?REFw$=w²Nԯ*?T tא %i&7oYRIoG?"zKpŵ*Eo6u43f -Io 33 e@<>`Ȩmt/x,t܏6S u!TU_F˵= h S4GWiOD;AF{vUaT&^MC1ZS!.3͌_]d7dڕVCdSBf ݷOO ұD-*;g5Jd HصXD#MJk}.hF"r F91 s5(NH)2y~9"Z(XȼҲkXAV^1Cz+e~ 3McrrY~_kGUY75b9oHxo8bHEB4u ""/ѡEslo1R''i}L< ,M]=4?T7ζK$STM'2gZĥpPDWtE14\K396䂌[JGoж$(P~CVf5h"/|bižB]+w-ªAz$>ݏCUY#N=>{fA$wd#IoQe}s'.ҭw;D(-:vN?Ջ_"27 dw0ǠWD(Ǭ^啹\:΀LST2܄!.&M0jm~EG.,s̑~C<7g7%!(mb0ߩ#3HInnVWi:jNIS%e5\ B* @1Xoi-켳ٛ8z$KS^Ҍ- x Vt66h"2hݨGyr{4v]=dd]sз,BRW')` Iům?q7C+.c>h;[x6[NJaB4TŽȆ(o&SS˿:DV4ڀ*B)Ѹ3|Сw)鞓4$tMUWkvwx7 &r_sH`1,p'Qqg}a hk{56WD{q[p`# "Є7 狣AWOh_^!u51c~tN[حk/hPdDL`B!Ck;CӤ8 SbJ ֭x:~ࢊ?gbyEskzϫYq+-Zo]Nlj7C_9?]zDa@e6ENUg?,yjcJ;‰693P )_F"A z"K Ga/Be_cT9re[ 05R8 -',˄LS4al!噣 M-rY,t G'qWFvsz$ taXZͭf: ᅃCLL j_ÔwLƾ^[^ x&oqd5AKU"$'ڶcaAC̑xcZv$X8x,dYr_M;+ў߯^A4Z ci}G`~_W~AvUCn݁XzVnEwnX IsgjҢ}w}:T\ M1Pyd{$UF%hƉ̂~UتvVOջqFUea k?Ӊ !0䫯Bi*=z8,}$4w'rmIw v1 clHVX cKt(%m[;_C,bԊB5iq5Ň.qWh0=L I]MLsXf˛>XOh 9N']1yS38#篭oX'$d2FQ1\!b04aI3 ;.N 62#jA۽o7jஷaax#g">1S%ޔRT6oiĠUm#>G[ @@. mynOFK]࣠`F8[9+m P; ^Kn6p ǏBR,!lZo0}!kG Yɧk|l4qjB]"G}.r|[O.h+u!Y[(dED 0vEW>x<&<''D}2~YnL W Tp~N}WyGluv2N(@Դ{-/2ogb Zl-GctLx&JaSw]9Wkػ6p#6s*o ޟtbԣjj[l9KKA}Z@l[e^)SfQt_BGU\ c+gN^E{#[ v^ׯC1_9SL\!]DY (_Hty.stScp2]YB,S޾qABZG77cc !PCVėPv笀##|)~߮ w&J PR"X@\6$D/So}kfOXK'!0P- F%zLg[Un/^5x 4v} >d51=QE!XábvXoha,_9[؟D "B+LkI69kw­ڲX~֚WЯ~SHƼn/X(0+\`90y6> %LYw'/ IC:IϚ\V7o2ٳh8F}_k눠R~4Pʝ?ʏ w9݄ /;xeIpzH~]MK2ࡩ ՟1pY&łEpuʙ&$!),:”eN^~-zcqL!hPD<\?A\ZmЬ1 )[sR( <9 nV3*OrU i@<]bՂ뭀j:j' Pȕzn~hcO0(eC4|[(r"T@HLrt-jtosިdb|DE8P? `<u.Ǎ6{ ȐD""A!w=e #tO]sXu>2,x"#77}b| oU#aP;ЀÒodDf(G8x6nDG ]5;R*!ϖ(W@".6b`5{Z˶GѰ4 GRRRD6zхе>Fb2Wp CF@{WB䛗T5u08jؓ3~4ލ|SY"{䎕؇ggebP ss*p9(*Hݮ7< bR3hQVe-}@r#.#fX |+lqs>ĺҾW]O_Lt(xsG>"{6y>BУ%YcAqiECsSTB̾:% !?^e" ` Ѯ77\ 26<(JT2MB@p779XU aMh 9$L] 2ODZ,!Z{ͬ:Љ i\&L0-=y(~=əJ@x:a<-r`SÝItd@R14!IVYޤ| ȩQ!Ab,Y S1(@CS{j|9-5]c.25"z$nO21Dy9Ί9f8/[}W(5[>o}t~Ҝ_>pҗFJ:wvל8M="JP(haJn$pmۖhUY QPRMK [0\o}#6[$" [CAyEO`C\`XrcX5Bdc/aK2`E#{ 8uU^ SD$h_BA}wd띾 h(z6rֵ@LՓX 9 FQ E g5yb-׍0zgy ~ECd 4+{qSy=l_џM`JhJՎuKO e_FMfr! gB& mD *0L%DPxE1{Ze;T=AT%B%eWqu+nc;绖0L|;=(`>MZ#\׿w1o^[GwjcrKRwFf< v5QF^RPz U%Kgr"/=ѕ&]mHZ/Vxgqy, ț߈v\PRdx@yкs;Wv䛟|C!zz|nBhv1tx^ TmjɠU]ǭ9)՜f _={HE <"NŇŢW弿hΘ02U,X`r^t41! _rQ8p31 dnoq:2 ɥ P0 2Cb3f{TAP` `p)c0 0p i=rL{ N#:myoGfceB"Byޫb v@ \#ӻa XeOVFILR@ !qm'J>$nCxC?:`!2=gne(*Z>#"mBꜥ6K 9ҵQJSGqQQ@Z[.|f6Rʺ[pW Pkpgc3rY?.zMwKFLj$DH!̠]"`_"rTB(%$ IB mmM&&pW|})\IG#H%uW|N?&0J_Aa((כ$'hlXT%AȺGc݆(ogP7{kpǖצ7UERx7ؑ|/Z>Rf _~Y@Xff]$Ml&|Af, Su)m׮ !AƓ=cE<==dosR\EDw|ڇN`Pj;vygϽ:bj7Tìյ @rW{-ʮ*LVՋ@j٠&/޴Ȑ) R ]R'֦mtjƒ -c.3N`8uKhpVZ"cWf}.ȸ hj/hI4'1v| ~AtY` EyxqwiLVI' Qa3@h#[i`'[6b5 FSòF=s_*0ڀ3nPOCG=/|[-˽i݈Dh9ƛ CHƩ`sv}/P؍T@} /q>>E+l p{ , D[?5J`f'̈́-3uV|~~״K)SVh$,ZO Ѡ ,7)h4T,a\C;u?ROݲ [G_[>س[Z/F/)|n}'ۋ:ߗJ􇀣?]6)uO\_ѓEO!3QOuJϢ~`-Qn5K/x?^-N^弋73\;|?WƔB DP)\R,GXB W6#J(At`8x=D$j3!qn?  %OQE^-[z5m:;g=r~F|$,2Z6>٣f­2^f Hw(s&ZQo ]! a/DJ(:SqOWXi3oyxg:tvaAG + \cr?&iObrV j~Ţ*:&6zMހ{ ޮZq)K\)KXH)uV,Lp8X%80g1|W7B!7mu!;뮁d:o2?bT>XyY4Rcbg˺ 3/\ɒh_QJM&_;A蟞fgr}*_tzFh$-wS;ut4¢Mm=osPTڧ w۵k( ^k6ǒ[9v,V@6aȁ lQxGv6MeQ/qujw,חfⲡ_*| r7)1i*ޒS}GѫH?fUZ>aAԂH2!! ȈSs6k7'm\J~\ \_Bag1Qrk1&))*!yf#0Ev*'3E49O8kSJ-%Q%GH׏cz%=1TՁ4:2Х C)SW-F=uVq}W3o [!۾QVsk1MEtfd)L4ݻ̒hvеקf fh5*[{4tf˹V5grY0Lk[jlZ-6Vb9 J֒US52\uyU* 1}IBH2@d&<~A7r.9$_f3۠u|C%5{rY^zBJ_vݛܪO>RE}•v1n,l/nEIKe4&3ۻ3Nb->$U(6>MԍsZ݂_o3 3Jᆏ+p} Q%"kPDSRӯg9\/AW @1Cxc @X2zC >F$@oTn,&@;ήFk>6Di n lcVù3JôuN0^_$ߠp?)^&'b>D(E6{oIoj*((Pe բLV ZY b5XԲ KfKM&BcV2YLb@k Aq*xy[4CuQ4J5҄IVhPpׄ2Vkbi2Eq1=FK_bƺtUh LrrK(kYW" Vy$%ޞ$FO-,tS)Œ5X B PF-V */23 I2 '.Kft0hW)?!Ca`y(4gՌ!@ '8"~tSD@@U*!UM@qh" ${_=^URQH#JяB:b*,4Xk#a+$ɧ_ƿG!QS^VrS(յ (\ L ti`' U?^όX7B>D;>dd|d'HrgA[JcEJ'lhm m8sc@b%Ef2,Fbİ>_Z1XT´T4>fwРeS=^o{ݸlmy8 -^5f-I| ޢ[ܻb趬[$MDԶ(BO LﶡPcn,=KNe7Ӷ^ݲgeQ< #Z= 9s$8jF*JG+hGe{vcWCoW>tfkd?Y>ŵHh6 H=7F, CollNK39ޓn7~,_X&:JZ*T4۽ yU^Ug~rLǣSA8PL梠ߦ So:K&Æp[נ)7=T[9I~il0~ڦL%jc{J/*啩a֠UN U<vP`_ᗠ[1Y\@sGۤ.PST>); q./,C2[0'hBX n7PGD=q_UKYiI!D @Qae-;~FF*b~!!F>(G# M9.@#(\6d'HlSu1%n.owu98',aq?# e {L鏱`fme-w_ 屼،BN[_$~Ee>x˙EuM3o5 <-$LFQ빊ctp2)懮nJR!$QoS{A,".p'UZlوd]qG Οπzyb+[%!|kRnYtHAnȱ`{7SWG>;*[=*+Vp7܍ \g,ǟ!G꽕#GHܖ  }ђ~DHϠc `Jv{W}\9y+r愡9]vvNp%SUӤne3Vަw™i>Y$O-,>ظ| o(a.jl"D>7% HN.g_c[D '؞tꪬ I'*TT*/3˗h-X?OtQџ#H*Jg/5DO@c TYRNQfjBEGa48)8rAϔxm ^,v|}SnC&w&sΙNo`7/E[]EGHԂjI;Tm(=f! yLө:}l}SkJ% ݀#J,EP !M -͊9=ar qK証aI>3aK# I@?gTvgF`A59.CӜQ8_(*UJ P![nxA!@ m=b"@\`SAbi9QzԜ{b SY6|\;zjfNz5iuÜY=>+s=5Ei[ZWdS4aTp;aG @>\)?zNE0|f,_Zdwo$m3k.V՚eno  |[ 5\F\~ Iry5&Dö tɳ`SYa$ruiz+fCR 'Sr#|j熠jq$U J`5Vs$5FG_եU q'Z0pG?gg(,[po3-S};wNxǓL|wk?; -}LR91d"eJW:]T^7ii.h2eu|L\/Y LCqYc5G*:%5Uܭ(1#I5.wdccA|Q~pwJlP]NeTݣ}H࠘ŗ8H0l4WZ}|.(wY I!sco wyf+q;5۸"4RT;Y 0Ld>+[j@*Q7uИ 4WM\n'KC/8owDسx_/B u˄o6+o'G6#b|߃rG|~)ؕRǴ"&mpfx?4zqn YxJ"'ܧw@*IY>ε56RSޭ.u <[t1j$&9RIhJTT]a2@M}g/l(0uL3Nka\/k0yTA^mjv݊ܕ>fI }g(SMiDC/po4E&o}Q.}.UXu_ F+LDqR}}7gWumbsB,Z.%w?J&{nPT^!^yp*PQ=*_Vv._*ve]n s9Epu+ܫ[bSǒ2 xz*WN}2*Qi*Or3 DH_`8J/׻l /,G-^#<@@DFpH n?HAczd!q*;5_.TWTOUXx~WuGeWn5,$S 2q\bv;޷ۿɲl‚} CdernD&a Kxu":ނj,4oh]K}%i!aW1WB hП]~` /9 q}-~z?5T@ 8p2HY$3|=$ҸKT[8Љ.8CVB:1RX^D^Ig!{ڝaI:<t,v2ХF'kT*+p@XG5G*'ߗr!:<ޭ@r:W͘jA#a(J1 P@{4L 1@%Fg273o(Dg o~ ; H]kGײX V"Dda?E0b" :&7z≣-I> e}B?mQKUH[uYCO$rv5@3dc:;G~^I6HoNK [1Yw }W?ݗGtʪt)G[[k?n[z q tG# p;f/HD ɺTDA0 gj'eDmV |!X#sHLkꦁvC[͓zi.wENNW|Oo/MS2?qtB=b_b'˱)׬DGi; f!Z,.)=ID߬^274RzZcސ9*n.wxeOAhϓj;Vwen3ԃ1Y˓5ljM184w狺q8'.n fKg(a#,\bDMYS,K6\aC(Oj,ĭG=*b1cR>[1! dJ ϗwz6J.(_Y[g׍ %wȐ  oczM y.۸ӵ 9 |ʀA¸Sȼ/2_4T ?,OPu\Zh7sFo .M:}Wؿ2^Gwe ~p5JP!S9xHH#=up anx SBP;^k/޿' D9$+E#K!y%'j"iy&<3=sI$P.c̴hCM=%X6(O^OZE; GSYb=ht{= &&Ҡ7ʟK|4PئE3uƩ1=YAy^!qZW QVm: 9e #0vg VJ1!k]HAYzr(kUq8z|Wx~ׅ@@O?I[KlMFK gH~!VfCЂXG8ߧY-lZHf{K%RyŷFƂB$8 Ĩв?$=ؿD?o?g{~oy]Bubb;jzoLLiS-}h 5ʈ49v_4X 9,e$aL5(W~wd^1VkN|1PaH*)̬o~zo&O> Ŋ}b䏥>XOѥr PT%Y=&$#}G %r}/ S2v7_۫tJ#("c-$D&l5Sd۽0 vz#E rGO QB C.#1OƋYGf%ʾHm|}\H+tẂTWIƯ m}k?X%I$&jF<&Vx:gM,8&utxwF.K$l仅Q`^rxU8p fWB@,댪IDFb SKd0=V4nXyi{N&~ m*q{Z!=z6KLB/bNVbknP]|U3ԭZsn>u@F^9bOνu%<+83YUA瓑gᵵ |GDoF4RTB d0=1VWT+eJj2A"0guh4aFWGpXy4zH ~} wߟw, ,R!^J$ӇۻE5gK z&nU+'Dy'|N~*{ te)FD,iiBi_L}'y]=.WFhacFI%cf]竫FM !%ϴ9%25`H|lRJq* yGqFiF%v-v:ys԰Z~;wbOi? AM(ѹ^ɌU7pbȶ}k\ͱɜBS GU8$wlL^6JIwm`2Ks9+U&zMF(&U\H]r#Zw_c cXEOưg<DQh@1iYPu㞃 jNjrԋ%>|%O2yaΣ+ nƎͭ\/L7$ 2A"|z\IR& `~HcaC!{ ʢ^ӄ1A@26jmɥSN(Tފ비2ʗ6>@R :8m5n JLhMB/Et>6j%Kp{<;{Ǯ? K];Q끉rXȘT &}&Zխ\)r1 LhF0Oަwn"PXWm 6[TDҔIBh!BGˡc0%l-a)>p8Q ' s3 BS¾;VVQ$ _J$yz ]v8^lSڰ]%"nl*?09C*j>9dl*#)Jΐa,$y# |L1r.FdA 3Swt.nԆ_Lģcσߛ+w4/#_H ٶv[Ɵa xyNHry)7 jXq?L*KB07fP`unՋ_1^dZۊXY7^s7]2$V~&4Y#ZQ<]v-4YB)ޛ;p9`JJ*, kP3?Di>rRLru4 &/#G-P ]ƳaE}$aikJZA! /{h  A"/>vlؼ.>,mp$/Y7 qnQ9-fCf H!t ^J @v ߝ}zÙ jp^b:, Xrayl-IfΙ1JQ ="/^D5Rf# vӽ!0xYc۷7nm]FkXm(ޜmA8nC\!:o0rq |GnkL `לXݡzi+Bt.*W'Tͯ gvlm$1Q$~ l.5ש&ր}W3QyWڊ2ۏ[AXmmϺ7=pRN X%AX=O:}kH=9 QI@UC2M\&}Jũ:]-(N`Ss3?Jjxbt'?UIxJ˚*].VA6 cw䢛(AT~}=@1>W9{fU",U/{ć*AH RlTjǦv 3l>-л8Y?근hp2am" P,ADBM XrZ0\R5߯<j<]dpJM #%åAF5=;A P2{oa/ĜGMT#q<ecFZuf(ÆlF,cCgC!Kt|DeCv}"(Bgn. FͶ}/ 6Ô )J={R# ~`(D^`S$(1$L {QK>\'l4|>CP1ܽa,(蟘6PFI']25lE@&7E7qJ$v'-Ne,uOf ; do˔>rq(e5I-rpԐ(9\ [L"DVȧ#`d]sYW"ۭUiʣO|/ܿq' 852FjYoz f}J7VRV/{Y-.,X1DH \Q )*,w X7o߳? "LIND9:YtٶgW?mL28އJ`m$BXqd ]L#oZƫuucIҾ;k?!aE5\>6 V !&G%Hz[Jß.I^^-'|Ȏ=zʵyp-Sesr<9zR"@byP q]zBbjNm%E⸖}~w~]mR lDG$`b}^e~rRj2\'@2tE.[~ $ lX|&˰DR !O ҚO #Fjr%tO.jD26{8J,Hb 1# |7P91avQ f$ Ԋ$E!vIkvo| :NQFPf[JyOXdžzJh\"l7Hlw86 (t%}H*T8l')L_r^ka }Wj*K_hX_]L;rJ2t| ve#/aH AaFDHg- WߪfXibb kMjǷFfJGB9My5(<nfBn͜yumB*!n22(r%XJK0H7cQAθ/$$&^!}fOnܶ 2W]JDHVqaa=\a#C_&^c%ԡ#jGk% ] 򊱧N$D4.[>Wplbit&p-Lk/Um#/5H`ig[ivZ}"$RPg$1-can0b*I6IUiBvg+R_wϟlY8 bt nbD(ob%^LR,HfmN NW$N'3֍/}2\ӽBT(eDr?wxx#&ng% 7l]}ݛIflGC}3/&nr#M7a>~q:-}S>W /S/﬌Mؑ)%mM~ kWt;'+mxkMy;vԹo|k1qt}НI#-y|.F,Ɋ/h, C! Kp9r.˛$_R~C_va@lCk5)0`sHb,)H EeO##|o 5[ +A'l2Ms)% "2I| f#w͌7\iAY՛e9x*L `:sNYV6TY\K^K/pc~4\F:0.Μ'1iSLWk~;]M. yAV$k+ɧn/ާ`WRqMwk]I86W>+ wϿQLdv'^Ai$so}[{YQ"2+:2R˰c ԭٿ^{}y;Y ޙMiT6~W{G,Z-7~Z78c3Y3쯟u}O*?ϟăt7,zW7۝jr:yB,ߡWVA[zi))t1\ճڲq%HǸ@^vDV{`X|="-z~qyqj,‚b.r %o=WkǗgYc|k2DԔeQk|0e]ALBҽ)Raj lc&42O` \)d-GlP>o=OĪO qdvꔟK 膽\Zur/ >jK4l?J&:o+>G0ƅ1 L }V&=uSP?FSas=ҙr9$&`yC%p*E YjUvoomR@rXaykNIm1ACY^UE&RQK~HWٮ7#Y;+wBH 1鏰Q][1?cs5M^.$~ܠ7hO{~gazeާW{`N7>lf@ *OE}=^ӘߙcyK%3p|g[ f\Ź_ZXnC"ZkN֗؏7A33:=TsWZBۘ9îq/ly (GRQc|^_P1ĻM tŮJaw1 F 7׀~bI6^Ƒ89 I cpjLkWeb"'LQSٍr[mP7w{^x3td,'0$p>÷v /g|os2wL!cf/ ;2$ cFyE>Mb_X"l6]S>.KCbM.Kgͭ/ue;„!! Q&|~G)3hofZw8H:LwӆLf qM(joG*F/r {:%W1Xe?C4n)Kbo;FO<ӌU a_*|;k<\;\gG6/t> j>l^wL)vM[OH?#(k-;3Sј`&,8Y8] >$:eӁbI0 3r PB^8!3woWz9PmP O &{'rbC'Us7ϋ2sF3Vs(S/*!Vqx)}dؤ B^(ל*GB3B$V":L C_Sڻ٨ kJQ(;V6Ux2 -f_ձޯdǏb >/QrDzSRddhKۂvtIrnmP-͸Dl[W3jwWOjw#O\|եEĀ%&oxe3#3kӹȻ㸟\ 5k*`;/qBLɅ 70$i+as];WF^hƼÃ>>##&3""kjͨHQH!Xuy Bʱ%_iBLn)ZT:Y.kID?kҕ`Pm,qqB,1-YԕT(])XfIX=E߾ʮy(O.mNO{W?֌Qyl{yb;Dug_#]ꢾxtksDI`\U$;7@8@%ga!dѭ"WPqhyD39P]bTSƥ8vPT ZzTbPaL'srO,ŧg,Xf}Aο]apWV,މBG$>|y"jNe[}\X̡/~h `vtj@t =  O7/!J?@  @Jr';  W`2c$Ylis{?:F}o[eҭNY@ ̾څykRjN*<06竇(ƊwTf(q S"{'<r޸cP>3c{t;{[ᄐվGJ]cA -n)qD%';M@ 1Ԩ[=Gcdy҅-oϸXNcG`"DWH qgj$'7YjėLd]L pI.ڷ 춇*^ dnr VܵV#_L.Ca|:aR~W`=ES|i֑x$k%e^v[wS,y*sx[mzQ?Ipns*`?f3PT ?L\Ii\~yL6Jz  uVZ|5EL:10A/G*^tPPxGvK yգd\.؜`:Jp4?>jo.@`U fħ_>ڴ@$%V9< DPHׯ}$ r}A]j-d? `# F m-x'?K͑b?Ch7+(pj kh#*>^׎>ʂoLW ΒFd\ϯ^!'=~ jzh~Aw=Dž a)\G;0]&yӕ_+tIe/MŠ0(?Y&&[z͕~s 4uنQ ^~N.Ҋ1q]Q%(|VWbƗ?y١k.TE#A:T$Y; uLkDDo(]RBs ۻI&҄zlA)^2Q<2h:{z*JB\=)/K#h%%t̤W[Zca>-rߞ5Ǔ-o±S/,$B@cl A'>2XnG1;)@yx+a⵸JBI_ $7&<,󮈑JP }*/" нPS2u %OSA{`8^ ӋL"5 _~Q/ ar #>+2}`Pb_ 0~H>d* ct|!`Gл3pG{ݒ$9z,1f)6=9c0uZ&mKE-Wj)R{*pD}_oÁvn mΡmLFwf}Ol3go)|) 8Uyá-C^ kSUW o," !xE3w]~oNg \N38(ܐearQFT oA״)V x % B7sq5r,{3Պ$ҊLut<xl"H j$Wjs=c< ٘|J#Ao(ҚTIL-{{~x1dJKN1 @;f9yoW/ЎWǷs9ag]fap_*^s:^Aڠ{|׷)LJ{tRznVmV_=|H]+n̓PKeKv7v?@WR}Z|:Ju^$U1_rA_gߴk=1>smpzibg8yb)7c)@0NJoLVgP?b$>I]Dmm5xXsH*\ #-CZ_Veׇdo~"xt4yv 4l9Ɔ#ڭm-lځ،#RY|O(ξ[ {%hKs~[>GgP%Q"IAjRL*6y{ѽm'3Gf>ZȒiOe(HH@o|/ wIoY[om{ã]miI8R}@@$լ?Bb ^I{bo?qb/ @(vS5IJ%lePb9aHX#$ sd",uMvf0o>섘h0GIGç-b Lo¨+$2$ؠƝF|l1=cA.Ul;l6lyXu5d0d0{ ޥ|K1X6hwJ P lMFu)࿮N<Q.HczPmf@YӧRq[]`~-h_"З}~؈ɰhv:.UVާQCa7൉a1WYgh?1QOM[iŝX> YD?5 MSNt߸8N[F#'J;3I%Im~7 t,;jJ({K/R蠶/]m[nOC>]r% *NKHB7OBo߭Xf,9R"b~nVdٍ[յu^}g1ly^mdI[-xC1%a&FiuٌGl`VO @e+ M7N\3u_̢vwJ)_>.b1(N9sM[)gn7J)MAڨV׺:>*"vBS+}rX_=]tlnhssb".1F,݅Z(Q@EȲGS2oGu9hB8 +"xYpŇa[`[{/)p ?Ė#]<9\4,*h._H{Kd,6(sʔ %3K/36wg=㡛aBm DbkDXzkݼhIj[y4-P$C{JcFkԤIf|m:,x-(Qr  K~0ɮP;jcks[Sa&շe2d`8Wz;y[ԙ}?{ uC5|()U @&!s\ 's5s,͟)G(bHgN n*g](d!I >={Hܜm-t?Lx|\y^ytK9qls-jۅUԴ@<:  ꇁXuVuVȏzuOUK0ʘZD hy1s?8}Z=k7ψ:M瞪]2UBO},)}cO _ \ctlT~s=ξኛɪ}UpVʋ)l;Kc~#MVz00.qԭLfבCQu{h;Ԟ-.dD*̣u9,!4Mx eMq)*uG㢟2{ Я'g\9`L,7aTtrF ɤ7{)'H|^2 E5$.A;j<>t&T2"donyB";ȓ'Ƚ@["W[Ɏ?|Л;CNgԱbˆTI8&9eyZ_k}+W@jax79CoGsuǕ"=cԚatb0K\笿gٮsT3뛹\*` [\y,[k6[ [l\~ݕ\Q `DkѱH4XE6g'\YEI␌n{#g"C]apF~qkgT&peQ**ly ne^y(tf=t_#.ɏ[I(GAG7`N\/G sFX~C\!rxsO =RX-\T&@u<|2{^j׭5b%aS> %ϿȬ9iOPX9}<4dبFSGp)98⬵RV1Z 9h4',@FDW@JQ9{%5VrYeKجPxMFQy(pv8cLqݶ! c㼞tuI!]W!=,sTVC~}\r84CC~>u|Ԡ=uO; Ɍ,IlDJ-LiN[=&6͵/lS; L+b7puξIaUf!X~vzpϛZʹ(e ljὡ Z21A>,7HÈ$u jO^*ZM~  /~==yw3ƍJM&=^JoWB2C= a56-oI?Fh}]@ݍ#Ԛm$WZ|T}^z Q%K=Eݓ6O?"fgR3Ǐ#esҏ^k7ifO9Ag!" pYX7H'h)U+1Z;մ\pQtFTMZxT^lrɔd{P}=LAEUrΘ5Ep.RvK}>oxQמݖp70BPq=U] O0Zžf+'RCuOKhs$rd{ rjb>ǐ^rZ+X'4P}GL#j: Q /ֲ{B>\ A`$2ֶ--6׫r^pHvQ__)m 1Z+"qׯh*l~VH5Ī~w , ,BOlR YrQ~bX8_8oV8~z:ŶQ/mۑ:Х]q4\Zin[veܑkaƶBKgq_'%$)*2*%&DfK88뚕ӜN9^CC[/S<0עOM+f/FU9YVZ4ǻS؛jϓ]2`脁P>? d7fu1#Qѷ%qűn o9NćHi׮*VܑsIt0ǧHJ1 f_ B_T7{ZVŧohKW9#F9bqvźrr!"DDiqsUUb̥ŴeCumsN&ƓXyKw#XeA!CBChh25j31/vGrb貏Z|ω(-G̨26<GP`KX3SK5`_%,M\DUu6.;/.G~P"2RY:) Yu'PLGr`VZvd"w:*.Zkvu7&م07Y߷I::<|P՘CvJ:ozX0WmIdD򱒙yL2=Q~ %hY.]=vNӝGput-V #KOr^.\nOooe֢AAjl>J_GL9Dxdo;cϺSӥ8X7 )ၕ hԥnQ$ݯ"Mihӓcr__ה `:kP/^-|nL'*pww4Shyyw" _e#㤿@Rc!@`-sBB?4eO=__F@]aD1*7.-,”]a_RQ@x% 99'oCZo6:<+3V"Sꨤ*3uJL+ذ;0dYUe(!4&P.K ୯%Lz[@. @25Qf}=ΖRw;D|SNE1Eۡ(pk6JmN~@_{?]e=Z1pJqV#&Jf%QƘޤ&2GFcJ6&:-&DՓ;n{ܼRG7h߉08rKYKްLe5#$^HI}\P5x~[_ݿVg6# 9>U] `b1MZpfn(a̓Rro{gqpxikasWFF'Z"RW(T2{>F֬2kKk!Te@QlALbQbiD>'D` zr]tQT_B_~-.܉&6啮l١^\ >ge܄rƟY"KN-`L}$ooyr֝ڝXtyUm&]_G-YF۝B<'!R3[aii: H ?u!|}wNU3/ ֠Ev~-Š-SdGlV%܈9UOv%P:4oF6 mGp,,ݘ_aC|$ѺhV@,{\&t]GeZi`"xԬS/ IKo:>5ӂ6L94 j=ľy*A:Y ۢ dAGiLFEl4gDhfe)CegӓP]½$4w(_r&aMVe@@9ג|)ccQO.0nm"{5^?2_TuAR"v ?w|ۤJك'R$ѱ-5L\5!;6?*7C`b 0 !*w)"Zғe&_K4,u U5;4-~GD,XoZ;Yԉ'ҽt&:*;W.Ӌ4/2i'n 1 ؽ._ꂜ̃M}dUēٍ7i(N枀S}$i+54u9:\,=i/,>ImL]$?TkWJiT|vщo˄V}rT'dH?}]u:seC"SKP̵tm5ԏFǼS kB^3 -ᔰVTˊY^f˰r`)34D(۪ŬFjҰ{/jD`m7Fn5>G=ϟj- &ΆhkoB?zuqܳ0:oqE,kh/m^W\]YW,@:kV"$vZ,VGm,)U67jȠ0)"d&LdTnsVI/[D );VMwQ\e`ňR7#+sp]c%܄L@{MS!X#BFIA3A0L0ʂq{Z;ȶxqlE &=b\ngu_l F=WxD,汈әu}l |U=XY\cf_7E^zM)rgm ŋ~75d3n֘͛~,]=7>phƜ3f] uY7W1mL:~# ҀvT9|ձO^L,G.SM>b4aW`U:Bq±pzw?_n YΚ`ocLk~-3rswo L7|ۓqyyė0/muF.}N+ܬ4#U kxA׾DI9{_HIlns|@{!:I$,(d2k,IA+aNc9FD+\jc m߅zyb&<AWf,x,Pa*|wHk1n`K"\ay?w$ŋǻiEnuFͨlFCT@|C<gjt :e@&Po^p0~sWƬp˰738g r0(X6C !X{-̽ԷAAB w@~oT,oqQa^..e)yoC]J/$Ƀbko~yqo/#PykqPB3',Ro{7g-+mt-_(Ӻn4(ū~ڎNzĄZz[%kEHf?dң-͏zM#L ;?SDw R=N7߸&P@&9}= \R},9o@YH$_l~ߥMyT ytqǴPIР56?`D Տ⫨idB;/?elR8P\hk*qs׬/"N~wSzs饒2<H5!>%ԽHQCH1쒉 o5~8;:yn,ǔ^I:=b(ܬЖXZn%MTYC޺SW[,|M7yj~UxNB'Xk1) BBa.gF%4|Rap rTׅ|#Hӛ=LAIr߉0GB&"0J05;K1ki{)9Vn?[ոT7n A}Ëδ`z~8n# .ʯ,^̺OVϥ&=Sfޥ63eχb[}).@^iOח.s<ɛzټr-Ɲvo0Ϳ=\~LXOSk>2q_eQ_?,r"ufwfB>t#;'O]CZ B}6.!y|ՒO5evs?{=Tq@8 nN,K}z*.)j'Vet'ޡE'XP@#d8"C$|(q, wVud[VH%sDq4V*~3@u/T@O\{[+Sgc—G}/p)~ק:CLWC.4XdjyN#og!`1z߷Xg$H;8[eځzQq;9)*kUéXets H(a 9Y%MsT~S☲+{plؼNF؟?~ Ko.ƽz5K?*"!ÿ.ʈǴNT{Rꚺ`?:6iv%NNr-+혊!jBJ[Gv"p3U?ZVzN!gxߦJ+CU5/xI%A#/2HtZN9L<7N;ʵ8~ŴkXS~eDoj}ZA܎/^Om:P\TLBz#שMՑQ'R0 XV 4ԏ=3.MwFc40wu #X}"uSI(e71f˘*n)DD7<qo;Nnqu6a3yjDuߩVY#͖X s'z9?JWddY Qx/^mX9< *jUo ţ\Sf͗v9}KrADz_Zeڻ2dtŌ8ZݳKE3w;܊Gxt Ai4]l+ԕ^ICfzRaĭcC5Cbe%kmmҹ9YOpIͯ FIu~ZnɾSj;Q='Q G9G' WPt囃<}H[o=mhg;[8By*k%}"*Ip*ˍYz p,? ]2,$QraG"ˆ7[ޟ%L.#Zy"y 61Ց)7qe6c}N(;M2JY=j+n.ng>sfV|Qc񽶀i(AV&O~#9$"^AЇ* ÜYqʞo :V26l@IV WQS& DZDb^X(i3cJc"(=65]WE?rw3yȵp-}o%Xo WNA>Y'9=0Pw(ЮiXhմ:&*}J+I9w#ɷQH]dbjxS#SGy'أBOiʄr}cӾ[ ݕ}J!f>_l)b8.iz'ZaDқ̮9ґx? s2dpWL8TbuKagpWH VPҰܓ~Z<vz^I͓"v-9ֻ ^ҪuUgާuz*| W v(P=a;"SH`) :!HbH@G(&'0E0F0yv.*oXH\ĂCCx[a;N<Ϧ^[I脾;9+4j?(#n3z0 R M=q^I#lGuy2L>cmM 6nl}La #Ư`a@}Z&ŗ9ı݊NV!o)eER$ߏe|BxޱF'd~y; =U{2oG}kx;.(y 쾫yDD=q:}z $_vԤx3YD#{Ldy$&=Jn}s^?I bi h+IͲF0A6Ya+5)_:62|2S6EߙTQ?^5۶WLʤM̽X涞! _t(׶of}']V.@bֳ` 、H /Y@Ίzr*)O@~BowBw6W('n̷Cؕ-[YnGu65÷unsuEo3$c%WXFB07##|&2byJ%&%C2TNYeMljBD=4t_Q(Ŧ#s&Hr5i {*3ݸi_ @{{o^M)3XsqgMeRTR>0;V E3 >/.O*qa`R4O6\.lg$t3*.CGQޓ{@C'4~_+ܖ%gM}i()Nk>^A`*RPD\b 3':>ZQ|z`2 *2Άo~u!`fKm=;HJ}5CYL!TCՇNۗm]yc2$&HI4dh ۏt:n__ɵmUB١БBy',DyZλ63Ar"%l:2\釀j99D~K;[!K0h*nMG<xӵ)ȳr[axp~*?;[UX.Kwn̛E}|pwrzL`0 .;Zo2ՍtEq4[fkҸB*XiDІS6tĊkuP4N07HwR {c.R*)(B9 {YɦT+}k+1ǡPucS.1TQx.^3nh%LwxrxbB!"]eqNڰ'*M~A&nѯ$TR'8Wq ?J~ާ`/ P2@P(@$|ܙ ;U bY(ܬA|TMtޭSl/.Ls(<1 ^:ֹȼ&$cITÂ+1rEEDGS9?2ʠu,lf6Y .TI_/f {˞ABv)';Ճ?kGP9:r_vꕊG0]]N+I͐`A}ډ'.0rS-l\ޟ-'O'q4^g`_0BODIAD [t$b]z|XrMʞib-rle J$@>y]0,v" 5!1! N75BD}Es|%gkT+[E]_4:LJFKکRܠ@Z+ocC2 qBgSb ؞J_+,Wu 3JT[MT&Q`!0s\C=3i +)p#67v-]Ik?Xdg_Z}P4T.2xt<ǻYٔ1RFѪ[;`¨l $pY6-amb4z.WѴ3g;//Mu԰h *+jP&[UQ93_CfFwޓm+p]P=V.Q Lᕹf& |@[#BZc+U/JYYL]꾗ΑidTQɪ[fkt ^q?Sc5U'^{ׂ_V@C\__}!ČVۇ'R??O3w_0!W)r\ɟp8CW>hmeRLEYT^C5lN&vop/7xn3duU9 74C @QiQZ G?I+\6P$:dN CGYxDMbk3C=srA+7M(~I \=ϏoKB/r fd[H*l}Y["'F@H$[A}EUduj>r2˄1daބwh>@ gF&& D5wnMsP<ڿ<(Ixz~}im%DT,÷ew h.$emC1<⳽?6`Jz,򊸿;? A.lz?[˟SuD dȉ0!SDUۨuK&wj_T@^o!2z![۲ƫh)h>j$h`p*bdc*Jl ܗaQUd\tR\x[i0>{Kq\XBz]hz2=-Qe,6 8p`4RpKvޏ{1y)UtS XiUO,CqGӫ>(YdxMHDQٱ1.l qWV\rZAxAwU]*%I$VE(*(S?-E8\gȭ:~S^)ѪH0-si/[A)udԂ30(IhpsAIB]^!ڛTb/Vc<5r,NjG<oC ,^\eml+o?"L."!̲ ]gX4Gصnߛ y@H0j_uTDYZʁcu7ʭ l*tGo< ȼ;Iim>2GEmd# !NrШ u=o٨[#&jLqY?M%o1E? H(<QBBZ%zdZ(X(] c׫kdj=8 r=㓥gWʥ"O^]8>,ӹ1n{=?Ԙm/yoݸ+oo}B-Nfs+1neCsQ!) #%3T͏%o)MIPXYrCw?4`".@S2`sKTpT7,e6âe{`cBQ{lY%T3\,H`q c\8_<^Q0NAFPZ'z.MfUrxj^GéMcftM'0 jԯ1x"~K0 _dٺٽ+ܟ~A*!Ea$ma ˤH$"?Ϩ,Lw=V~pw.;'PHi2ZI- d~3_#$.p_+~ "' Qd #'_9\2u=>XaB{7Lm yB UTfl8\(~ \R 7Ka`}/mLQlMȾɞl퍑}j=|~Ul;E;Gλu^krqsnw宻hXOoPL3,B3]0a *\P#6>ɥ0AvI+$?`//w?ߝ{Fqo^@pd#:fCק'^Ko !X_%#tYdcĤ0a*kS1K*,OnhyWrXX6Dri_nEiw7ᰏgsS]Z}//Ԃnb$0ݻJ>5Ͼs>[I4U>(|s$i 􉚰)0{,ed.9! `#uf/@}-nUWQ}c363p:2`DH-7b%ֵ2=T Y'vs::fm /N #K ;o$E|߲..%PHDuS:Z$=e!5"Xă`p, =i% b) g;M*aӼdy.&g1Ӱ:;-P`Dv7mc}_9 1O8bsNd@]kwǒ/ %FmmZ Տma$I">+{O-Kݮ1f,a;+IM(ky*0&ZJ(T!AW0{sK^V/Oyuq~(|@Xa8S+8ݰ(;^:;_ 8=c`  (5LTGtI1u:y EF@)@D(UM.E] >>LƋ7oFbyR.S9)B~{nCBɇ{_#BJ2Y"<ZyU8S˜ J!WἈ; @x oir^ÀA.iJwIbQ2"[''% #~IqWuŰ<ՅTkga8b"SuqkVR>슘fȾf&#" [+dKoݑ9ӋU"P>_YRl_?G3ԟ}~HH#A;`C" =G#aylS$JvE/G`3͗zY} &1R?0ؼZ4DQm-r@쬎1 'l~Uqr\1~g;Kǯ[7 dn)>v*y (MJxFNpQ 3ȺDsaʪSqlt{j<G:`a#n U@{/ dY? _.t=\;" 6!7HGK0GWc$6:`+9,sP$zOva;Q1oc݋ͦv>:3LUPjMQl~uELZ Eiٕ .@Zɟl up9_4׌ qA^.2D}}'7۸d*K7&/-(]\osl֩?5}9 Rǀ'{"3j2zV5b|xc+gܱ3}tdT0 VV~L%#,;y  =%%<ʙ^DǦ$4Cf΁ݵ~q C/Af{4Hd}DI?$qJH vW¡^N9t?I=& ,%atE /r;]-[fH`d;q 3Nx8F5o K?x&N{EmΦ$ `%<5w GhTG7_/ T?yG&R)]sךyr>gr-!R5LY>K@Vp"n߿OD>O VM ={<¬ȼs*cr뱨O2|?M!A葉12G 3>*ܴO:uUDC`HseiPOJnfNu:g+^fpdǠmŴ8ܚ~F,$+<hs##$;iz!޳=R'hf`h G'Z$^D~S4 >$C%h罜^?˄TLG_Thi l۩V~($?NZVur7'Аu{>=8D4/nD"@ x߰xi=> o `Jh$ >&r4e̶g_CpJQ(El*n'+b|4j_i7ce%9=%x`mZIZd`;aS/rDM=65KJ`'Z-a <XF1k}`˻6d/L0H=PRW*'waYIy6)˂ #x̥mu:/ڔN}Ī60MZ=:ٻD)D,(~hwbV?sd$ +wY:?; tAHwEocecaY+Ϩ mTE9P`EsgRaeJd,dK7Kt=İstPv+Z #MipC ٝjԱläB1E^,hG#RyYuS,o<|VW7K7"_}#dam ) h߷~zc4jP3" u_.J:):.EiGWMiA@~ D(('ؖ&[H-H#2:s7>vӺ2| M5ꐟnݷ &XiPT)j[6Hh`&`kd>"*k|H {./1Ƿ\:ANcC[ !e8;Y OZ`gac61u=jbz8.NY+O%OǑ i_>nl` W<X/}NkYb[]V"i AQ͂0r9s2S !\چEqyDXCf8 KcޤFC%>;i1GO wj.Ek<\4{YY dr_dRQf6u/u~原YzrepZ7pwa̮,n~ H&z!9aĚf&?_,cY~_';ʟ mQH!yuv2E3Pw<G_.C%.YjiOtz/6)GTF Z-Tḍ AJ`j|g`ho; ?}$k+e9AC98Jޝ wьb @JAasɥ~KӀ#pc Qu4Ƚ rCNvŏ qg>|Ɵċy_o(xʂG HNg-Vepiqw0auwhb])D4b"8_|%>=j?^NH(e"2L?]7O|wϾ>u[am ;j!'㿫%뀡ĥ!s5]z$o4AD?5uZFXfF]U'nuXB{?[h஻H;g/‘+4xء܌b_jiNDݡî}}7@MOn _h=̲%e0@ "Ky}6F0!V$~ {S:>~ 2o:u$p x :4)=~eD}& ϲ뽏W#%nܑnA, T 8?|| gz}3^qτ#`ʪգNcf rdɐ FP4>5HԆh;B3NY 2t93@BOxvx(yĹpv#WzGX< 8qC4H]@|pRX3Ҋ)5%g\o9f7Gֳx߉-N: f*$ g18]#k57I:Ԁr @ _t ȵlr}T5+ 넲W2lZWVacK]E2% =R'b0A4=^H >@a$/H 0$=e뫾&\ ˔ih xԼ}hnw$g{ LH$:b=9ӳ~{.C10gdY61"#}:ZqCkU2Lc3a󳤓9Ae3ŞlSNcn["̗t]:]R]y.hPwʎu΂+mp8{iut_(SA9'Dm$⩗p+79jc{/>)w}>)R_b DAmi(W7\3MdIkg_F}I딶G3~{5X6Vi4mG7-qg!ܡ ؘr7&Zѕy[q<71$!4 *3s$ӮyL =:Zwki9NBƻ$ ؋+s'(h֋' 2bVXB$H 8Ҕhc`W1طFB(*I =BE #dv0(|$R-_L`NpvT) fI@ӍmX I2f00ӮWz2LXddEab ҫו!V Q T_XH4Lgl/Բ嶵ǜ Ғ=ǷS~k9N須a42T1DR[j%ڪC}w0>7ʷsj1 g8C_ihUkV^ZV,&FԐ[m-jmݠIf0gO/Ԓؽ}# }e{OY`*5V%*Y7lTx 0in<0 DUNOIyh)!W ty.M('Q=}UA6bp݀S e1'GlY"Fgrde5Hk'{ys\ڻ#rKש0 w?pAl^{҉➒x9x񵨦Ni>@^J5,Š E ؔ -4{d/joV/t'f% Aªyiy5vߝ5:2H|s_bBvMBxWlIX z&mIƺmC`@e+2DG b?ŠZG^,IM?}H}~}Rǯp!yppU%(t K FsNޠ~JbeKfF{oP(bɲd#4Y9u} o#T$0*eH +D)@ܿ8jͺ'OAbmk9 ];^`cq}y꼂nˣ9B*JzhG<Տ}O.I^ ! ʣ0=,} =2-?lB zJ6tg-Wҁ삄rܻTzI')9ϭGTbyWYW_7:xb܃o( .ERwӓ&-5yWN3^DF! o?c@BQ E.a&>Sͼ`p[59@AHZye^.7'Csvl!z]߫p]gkx` UƲR M(0ɍ*CT$wnkp^X$<'36]Qԣ:g4g~_Np@'ۏUQަ֣uy-$COW˰b`ʊ7rQ:A6!1pd`A j&˂00D$$oYTd:fRz^|+>4[ _^08)[bn1Z-yifbG;q» ?3n;oi '޼w`RQV{여g1+4 5E8JQ"sA9i%@W콥|->#5WP>[pz~PЀoʛ}ݦ3,B W$(,Ln_Z}̕ Y\ `_Gz8, l-s[UR& q@:W82 ='VC}!m@xntt }f>4&H)aАC(uvg?*2 sٿO. eU޿]G} h_M ܯH\t:Ph@ ϻ/XJں4rJ>AI\IIͥW-c|SneҞ:Z3p!L @dc?#z2o.S{,?el7BiÉKQTN]#@1kPGy]b UxnWc}%l;)'/e}/F>s}hqc툭͡vq画8%(k B+ts՚CR6:/c&lKGUʉF%^Вy A$v~^a]Eչsi uJx BCzF-WW|;Hʭh֎?ac z㖥m6 r_ۚ'G蕼ҩn\*m;֨o.@ G9)c%C9 ͍ݍ~y4>YgqHDrjb*V[Z*;{B PÌ~tԀHxj69b0a<FaSb!JXmlW :yty?xg=Ywf_7:j7ShQAAbDqIwVʸ[yL3p$&BVpM IC"l;dEMV"mVXO_(j;$F,tD0O%V/Ɯו_Yg8N/ςڍ8) b8Sej==oBTzR\'#W>BUT 1I^!x~y^W3ph8UN 9уImN#~{&;W/KtO{3>m/(H4_-ڹG2j}L+׼eUօĔuXCDCpSoSidJpp_:Ps0{̿C s"7rZz49w]ި"~m㸀P2  9Keݽ_Bb`vp5LSv]ލLIX^Qe)" )L$nP s;iT> dWLDO}v$>nenE Tzs;Ytlaxm]kt/7LZ}\bI( (=سOԞ%WI6n/# wn/Pdzڌr_o<ɿɫ~(2lVgf JYJuTfU&x&z!E閈7'>gH0jNR[m"** ADϋh[7' ~ݹ \,f!Z%3cn{rLr>c^ ҋ'@ ӇW,moIKLǜ^ՋMtُ֯ z^\Mp;e;D,Kb+_W{ll'ub/e7& ӼcAХzf $!p[v,)>rAT3 E4əUs.-o{}؂ٷ/̵HFM{^-x=V9ݯw*wvI?Fk߮xZ?9kBaT2i}DquK:MFy-mLGw^sE$Ua~J,BbdbcҐ? zwRLʋH_lr[tu""c [{$z& .A7s#8Ւ`aZzltO@V]Î=K%*o#^xmo矘М@{Sr(c ffjp=Kٛ*I*f ُ|]_.tMli5I2xS֞25N5)Ys\Ҫ̧(] !~6y7==r&1:D4m4_]ܢƸTlþ" cWLwfCNI.>*HZlӞKT~j*椨udQVϢ*ɀ0_W̨QAwg0Uռ^R-e/3ϓ1+KhE ΉZNL:#Ihhd-iE@i aK*_YEs~?+ty%+y|?~UPC';KABܾR#YWM>.}f/$8[|~<0UZ"ER?pV)1f\1G>!Y`;MvI}&1sʺ*FlJxNRsY)j"jfBDi,Iz4s؃R*38_ҌѴ=k뽩[Nw!dK#j-" ZZ- ǥ'GJRۗ$z?WծC\#<@9-B@P @O.(@ @hAd琀NԐ!>"6IHIvAQ|m}9c?W'=gs} KG6,'c4[]h{vOd}@a9!݃f45?o>^ȖH`c:L˻SŏB3$HANG!M; UAЙ C A jW7V h`^ PU {a'y׋W"( |mR> VUћXlLB1LT R3 eNZLvIHY)vwyi$U_K6:dtDnyi,ﲛ_oeV`gm["'EjQ[Lww1`.n>Wbh]ETC7嘵Q3%c"~Yw@e9dgC0;UoynMW[4ytWw!i?Q᧋ANs-T  t4EǛ[o7?k9~|4n{HXl*`Q8ǒ?~g?ƤɃb8Xf 5fQYϧOX94h!Dy[zgf* >kDd`_\OK~ږc  (B 8j<`'Y;Lzp eC٫hHn(B$!9h\^ߛRA/'4hXjp-gz-B7{8ҟ Z Fp)VCp!f2tg4-7ㅩa^fa}n[?m+ą>}u 'Da@Zt·`&s|P56l<{ߋI+R%Ei1JWpq(!. QyB\Rv CЃћ?_-X-5 ]rjrXoϱ<<5R :8.]x54iXRB*lEtRW=9;N ^01M/eqkL#jm@dGUx?R(&O8̛_?<#"`=fNpcK͌UҭZO>KJ <'_lk,V,w׀K|jիm"ݚZf&P]2cwcNdy_[*Ioq1)e(!ÿorM$^.9[(cRF9E]4\\%͌W,ѬE*ƮEYH J%ڿɱv.]2m((dEDd s*1j35z(GM'n.,\*CCa93pF "LXGe?0}uk'$B Yd4zƁ=}R+ڟRs\%%hx8d1-ES$6ĽI %nE0' L(±]#Pɉg(e}pY_wC\J^3~We\vC19cU%[E!h/.w}FKHc9h(R Z HR~ 8ִ2DDq"~! x @a*Hn>@~Gz9ۗg9 gV` _`u: ~#ġo]Ls˼|d[9V11Y F#WTYS#k$F~7)Pԩ\D˹<^&P`>T=UIϋz-V۽WD`goSLG-c9e` W~[SZuNEٟƩ1rXY`n Hjמw?7_@4U0Y$l,m%^O;]ɷ@JŶ哤0qzg?+ᗃټĘ{Zm:_K|eYA2b6f?W#c }]g_WUk=1R [, 8v4ԭbI ѣD~e.hiv>/)>FoPwڷLn߮M[ⴑ z5-F<ꙂI*cf@K-KT FSb=ļd^ڷԒY_K೰LޙIf+?}6J?u491kZ ڬeѼLxaLVbHpMJ6b`Wy4L.\*4oՐ6n}џ{g^8D~75MQ\(\*OKj V5dNw]ݲ ~ԄW{1Ehw8s"{c"m0XdyX#1A~UJ.sMvY4 v $2ҶnqUXi1%lE Zo:PPqWYй84Е8K\FQ(O@d(E'd&NXqM/IW:M쭰ft@>ف$4.X*swښgf&mnl_y|~c'9ے9P^1)/K3|wͧ,1xQ}M|UQ`-!Ե[a?O~|9{Y^(Dn׆hCV{Wzr|?Sq^6Åv3Z~^ltա!3ۢ+/\u;~<^9%x=z8ǰ @;n!6~\jah<.Z}UZ*dRYffK:ɜ9.#)ZL *CN0f! n'?^ʯY]Yŕccr19ڒpg6/ӏ@GBt -<̫O,oW4r0 >8A-hQl[?)M>eY.H]LUA{d&mSF2&}gX ~ⵡ7ɡ4D{?l{![.&$HdIv:8]WoS MBl𙇗RN\;ePv _bLsm_E%okwt=7K ߸fe+zQ=S .]4>}d_J4TS8[[U!%<8U 8>ݭͮ+MNs`+l~V!l3NxL,P] 0ݎF9*(r{dGFF'V+7—ʫUh50N6ja&!YyFB+`q⪱(Ny-dxʰ! ?WNYݣ?5seL\BcD cB1o&(F1Zym_E}L~ rݲ{Vʺ"QC4xFN*\1&w]Icic.> b۲3QYcT!)jf/ӳ;["k*[;Mټk/*y&oE`W6.MggٳUB{_f3Q' ",s"& - (1q!U_ o}XhƸ噃4T,EL(=Ǟu\x)$ۼ\shf ցf3n*^hFb{g_/.^u܏J.BW&ER+K)]u}N#&L&鿡n~]R5H=K&tT90 ~kcK"+jĐ/Q(LaOZ~<uЁ݄pх2}QBH [*7@u D-iB!٬$=%}5(\v5a HZ_UGUY$ dO.{Dl ȇфgWw\h:̏HɡK-o|- S)oaetX @3cߙdOhJHhzUԡX={]ᡜE #v2HAz΍)7Z@1?7ڵTP_}j`.3>KVH"(MB=п2EWkO}k+ͺx^k.'/L{zB@3;^οs?8Kf漘459'ȑ)ذɥBehlg U̚+_c}/d/ DŽеP  b&QRtTĂ-Pr - -SEY5AA\Bq#)-}Sׯdh;B.k:NuC/Dt:w_tueJA<8ڷؠc,㤂 _s^V8):3V8{a[Vڄպ$(pݶJ1&1-hd[O`YQi~-B6x8 R]<\ ?nKoyJѓcJ?t W}\?NT_%\p& N(kk"Z]4(e0=:^t9Ro|hķR`3tȘ[̌R~{Q=7\ߋ`s}R䙔0Dl0-Y "eAKK0 dI)C'aU!(%I,6PH0iPa Puٛp2HM=Aꮻv\GO{߫`ݔ=ަ ӡݕ=EIj vo7[јޭ҉HUhW\y"}Q!$9…VeSk ihs\]'l>@TLZ( =Pn' ߮/0 }wWW02"_I̋<婟>=0jobmGpN"jWTjoKT7R ,W0ȥ͛)!~k`I)w:Jշbgo1gPmxs$ٯ *S|" |~D${MIaV 0El%}SR6jg{ .Fp|SN&%i$6qc_`*XB<%P*ШR 6(AZjhKQ& kqM+%2,cYɻ6\ް/*l7%p] 梈KJkvޯ'F]mk@)d'vA=^S^FtN!zGF''~4>"%wZH&-E#z璡ь:p3AagdqKMn$PVo1A6_ʯ+MZqd=bsz>SͰYҲ1|A#ᧆ!˰r9)WuNFbQ!ZA2HT4sr 5Cxl1 ھNQ|ĽlSgdxosoe}̊mp7֑.#qs"4K774JS`MQX4|Dzդ|~\JE$fwgeٴkJ<#Az 'm_aUe-gVi v)l3r*Tɔ1vm[fGN*O:jyxBOtp[kk%8'ДQz L`ƒX{' %Ӗp0}T7W@Z7V75t蓙psD+eOzKr"l8+b]䬖H). `UT| Pgxf`bai\EܦFeRdB$aLS(Kюz ^T/D CN=gjꊎn$Y>M6㔢"*a /SBokOmNգHQ~_k0sGx7.f}E#B sjN]FCT]tV<1fr{޸aS]عM`,'0e8VZ(:X1睢hMOEU׼w)\Qz4K)Sգ`CAH١SaTE}C:x> nΤ?vsx.V4XI UkmUI@Y'^8iy݆H9<.Є,3jX-0| Q-bII?GYl)lajyzOfQ$slVCf D eNN#7X[JMJ:Dƹ~A~a'|.@*"++1%I} `nPE ڬΣQ={)#AA\'p).- 7dZէk%d &SaFw`¬ZA%0 39W69}C?VR:̭gTxNmz~h}6~w-RN |/}&t5XIc}^y#J@NΝ: I&Ca WSgwP&ݒn!aL!ys"Gupo91c8769`ھ]aT&4YK{" wyeTcml:iӖ?sy>L}ttRL{_M;C O$Kcvn;z*lɍ 3*6+D ?wYi7?ۀթ1PXuyJ59?uߧ@!xUUiW3AoYr;m SNqdoyG߾7īv=jB8xg%04^J0lJ>wα^ԭ?njǙԚ9owǫbPXF)J@vmn^ZX# hr“?ボt0,odZ 0l~ձɵR񋍽oqqmX,U$goWvm_ɥq(gS,`i˕εg)RuQ_]E۵ŁE/.eo{:Xh@]D7R]ڗsr|y?mT뺕P=6A;btn^3.AJPD(*LZ (>@ (E(J$ iU/A\$] dFB7AyA=(H (({ 1̂*qʒD*Ծ0irbihzj %:@ @[:K% MKF5U@l0,bVi4M{VB);l4ۇ *vkU<<>k^Σ- H*.ϝ<O<(F^|QA/xw]h/R|l|}o+&hgޏ0`6u>:_d<t˃ {Dg{}yP}ޯ޾9+)&l}}돷{wswwKwov;pK۞*&Ͷf{{g}cyٞ5o7N6rVwt l fA6lնh6uӝv7Q{i%Kmfʚ6֭k;dǼUVmjg@vl JmnM]F('LI!Z ٖۮgp˱9[[f"RI@n@>ѦTaݶ-ksWefí-i-kl]b"vvqۻ׹ݭ i{mk=kJZѶ6eflدvͱouw۬緻wn@}w^p8=̜<gL{Ŏ*dɄ&&iC CMCMhhhh4"b&#&!20&M14iL0 'JhAb1i4M10O2a4ѦC&&CM4114`4dS dhI$!4#2 F4#A4cM)haMzmIO!Od4hh5S*{#!<'L*~$xoUHhCDM!?A=LjdiE?4OJ~?S)=OHiiMCh2҆lOHЇOPS#GP4ڠQڙdQDB4&&Ddd241 &SbS12d&SڛOTmFMM #T𚞙41LFLM'km2}aj[&˞%31G؀ÿkS,{ tn֖N laշ0tM2N7E~G$)KAKoS0Spرgl{UE1P Daa`_ZR*r>-g){`\T .N|<>/{C'b yp*zȫm@XٲGON-›J;=.l U@ fnܠ23I)fkHnw_~æ8ynM> iUmyCy2dDߛZkrUYј(Hg܄-O^ rÔXo28A6|ö@|3)r-_ 02AZwU1cWeWM:Y*j`429J䣭d8[+-sqd4SJD3ŝ3#<ƱMXmvo1j9΍h0»T'-8 ]2k~aQqE) QFؠ;^N- QqS 8Sހ(#W{cj^i3an5mCFLT"N*_m68j,ӀJSI,?3sD`r؀H.J#se8˿݄WV@F,́(' 9V;77-Y$K/)L%G/8NՒȰ,-h3 fmX@bQOh][:s:խsxZM?uS|!Sz׺4hLn&@$i2'͝-lTJp(5O wc^d+3wP,b6l M`]@c!R@҉]LX;J⯑E}>6>B4Z3?X bf qV#AY+t'/إoݺymS`Pq?n0X0tn1 Ьf,6vq`Yb eԠW`-mU#0n" (t$o|dC7?2P8R(x[_l;>Ц\չ3t}BjYgUdf Kn+jkŇ[2/bBA=Im+xtLSKdfYv$Êӊs%_c۔ SR?uy ſE܌`3.g14 Hm1rϏ_0  )vXjYK,m+_PjI/!x?¯[:yOEeP:{Hd{h KzP30~+qIگ0g+~źF:bBasd͙6+aBPqw5]EI1]'Ҕ5$Cc[n7AZ]{Gj6SwMW{;; xu+iYfϥZB׺j\B/򒃵Qv nIGyjޢ L 9UjUp?߻M2G17qW/ jS}' Қ8;z$1MkJ+37nΆhy7sڲ(+ C5^{o4#n"ZrHztN*X v7暐s|YP=CD?n{`?RނI"(ziOЧ?gΤ nEIma:IB۵k,Vڪ".m]kM.e1v֢h5Z[*Դ6&R2HRF**1TA`ł#5FUqs.eJ2͏_|Wo!ݗ_ٳǍIH5Xtw.-s*O_|].3ǀiz;@2Q(ĠhH* ~b0@"0՞?m,oA6=߹^'aW5;@Jsa(|n)uXD&Z~iqŊA4#v[X 0p|8P>5&:4 ԏ8Mq^wYGSOA21F!"*ր{ B6F`4CT5Gx6!D#(#~7n{tx>#"Ěwj0AW˄]Or…M$ 8”ʏP1[5Hڟ' y>l{hv $+HqJ9h/?uR߭sQPŊc=R %1)M ,{T[{Xy}.H#'$ ff`,Pj;U\앮V+v~s"~/$npDwKt|bn%Pe_(bj@0u(gvWm~װ=Ӈo^r TӣP}«$v1p$ dsiK{JQ9*`m Igl /-jX0feZT4fsjIdxjj[5G?dow:9w' F:iRe[1ðn&괔;[ԮQ6}q9ɉ#^;Y hRǂOKJe#צZ@;dz-OE5$c҂bGm"CEe ["9{:>,8ae 5V]oXf´[QPZAtoQQ9v}>Bף|/Z-SA0$$'9tKQEu?dwۘ E.;MVԜ!XSXsnFCSq%0`f$0:\&`خe$S:[\x7]Ci*'?{3C;z+mi &=x)V!Fg7}q>h,5 80pb \,:}@(`n&}Vaf" x--& I }rECipܿ7ԁ5IXm$lTVAIJaR᭏mX:V8Uiu g&*Lx#a)m䦳 x&2!v1c@@сKghX <,Ω|D8h\OPS2;{hz sKe(_Hi_,bDC|1G'/7i,.8BFQݳSĜf{?O8D:@kз*EEU<&O1=gyre"+"2euF@3-1G ~0{s0_#1"ӓK|…+;U2F;>]ʱy|;yܻ4MKF ZH"(Mq$Ⱦ؎羾9qx+aBGI I.I%O_J;U*i,U0z0P@PaMn$9,e#&-&D&h\Xxʔih~f3ܰl:X(蘭Y M@* 9Xx8tx׮wek9{YH#߫q[HiaI75L"VH0IXRvGF[LVn}}6f]9Vj ʹs<#'!q<| 0IEU~Mۉ $&࠻TI\sd=nR_=+6|B1MUo6Ӄ%$  `Îe?smvB3r/ut^ߺ"OS2%Ds۲俊'-WiTyC!nn<А:df򄞚nc=ӡ]w/i_JŌ(Hᥑ C ĨNgykmm=/?<؏Q1rTu`LED: 5nLqo2o4?V10m) lVHf5wRl69 7($c^2K՗ǓyxLʉǿ\6sx~%,S2&$gڅJWgGbo{m#(!89Aa{%j8ѦVRn;k[ ("L7Q'c~flP -$jx!JO[Ax.Ա bYr?bLy؟쑹 hQ?CgtkB`Q+jwYA&͹8;k!ïiKnvDTPϩ36vGݵlo,0^ȕǖ+cB1tSDTyi WMr{m0NbK-[϶ڵZRhσםbT48;u#"sn4,^45~ٿ/1uu.JԌX4w}>95R"Q[(Dm=)HzwJy!{jGvɭ-ˇߵ~Xcr BP X7ٳ'0W s:Rɚ|-VFYd+jR¬βϡq,03wUr:  ,Ca%GTG+/z*O:GV[e֭SlPYV2ںYsWwxlΤܞ3yͶ GogK,\.4h;08` s~FxeÓ5)gVBU%N+$,T%АE|l(em=y{LĜֆmu،B|48L "rӯ߈<%]6?Pbqpx]hxlvA_d79 ,/A7Õk'ı ##:}$uV8BZMSH[(}zϑv;kX$֒tp+i&fk3#{?AIwSVVA\GT0[ "n}RgfW_Oyk?lr]9\RK%s8wsQ DE]5 croϮRMBYL*T`FѦ",ԗetW')9nKZ/h\T$"R[@O5vN?>~#Nv:`?mK_Va65˷Bg>uZ߆B0Nj2ZgV`'Jֵ75hD4O\]qz[ltQӺzAU̴UWܟSl%.q"&0,Oע!KמV-؋ҒEKBo֓MkxGjx+{×y¸i$#2#*)+\1?.@67O[GٕWP;kr4YySڅHƏ >Ęk7J7T;F0B.(׵t՘[&;6Xxv?w|-$%:ɖăE ܫ=] վmo !oK~lxo1ee#Scfn+6JrZ4b^$]tr3QSޤ0hQ9.]~[|"PZ*P/_yT´W^m\__ zS'1XR1"0PV" Q"PFAc$c)"*YLٵllmX3* UQQUPTQ`AdEQDUEdDR,D Mf) )HE1DQUUX*"U dXEQ(Pb*QXX bAH(QTUIQs7kE ?Ow2r -5cg:Xއnw9y|Wc0QDD@g[Us@Mo=%ytF'wڲdf4 =o"HFIф̡ ei  `uv^]VP2jvNDKa?Kj^N;ʉ&Q He1b+v(7Q*䞀 \\z= rlN9=nAx]+{:O=z,Gykx1b)dfS93)wi%Rr6Kw!zw8'6%b𮶩7iqďvqhWBeǢֳXhqYuN=6p L QC]in4X\&^ll|zk~E! wE1,WӛFGNBWn??v/[yyn5";i&>ctTSZh(8 A?'uk62ZN-ÎEVVHT$M1͉H^Y!{7 0ѽԗYtN1|Mzɧri)r)8x{jٹQ_#$ )19'{PzܨOE'(sVjYY-(<6Yno@PT3!!27CSNg2ƓL5CL:x{GTl )D]H! TQ%N b(p>s`~Qt%*v0 kW+ex-j(9MG;F<7~S$!gY Zah|`ʃf"](G3EQM1.0rщeufMZ.j&nX +Nވ (> zf;?v"PL69Kn:!&؉̉q4մ6˩?)j$C\ffoOO2 -ih8r+ Itsl3qؖtD=F]k~2^>@PIddX+j5X5@>#={)03"NF~ʩq!dA)AMN@z`TަEONK>#3$QAPcz?;54ӆudw~qa/Ѝ9ʝgO*ÕKa -ǽP"K$wTOpDS劄^EC p(B0Mn_BT(b1q,IA@,g$@adF rrI`0Ui~PRc ):Q%JEzR"HBǦ|CbQ'ȧZ5I3PG.z}L~{7l1ĩ$Bw4F ty{qE6&7ʑC"PD`jC$^o>cV^?fS6] 1|ջAW;z]HN 22ݝ>pNV?{4+䣴_A#NeⲖCmAWUNzI ߇;<:BሇgAzyF\OGJC#ъ}{Q(EXW~>y_Qiypa҇8Pl°u]#..Wi6 uJnbNbi^Eb7q2 ?@R\}M @bL$<\sNXNF^Ib u *%AEm vW_+B @Mrxr|0ALT&$}K Pq `͂Y*uA cV8< v0ExN;ǐ@ )Hހ#p`i uc * 9px,fF(./Tl.WUG&CGqDT8\۲TH&!oSpn\ =Zpaq(ʪQaRآP|/?­0eIZ}awb_;~Oݻ վ\ ́=T0M_*-V R֨ 5(@P(]r.taaYj3r =põ!G4f47ؿQN5U_V|zPCP z;l48+)s*߉ڕyCݘ6ȕ }e1 uK]8ZvOܟJg9$ᾑXg@YfIA8.HSIVSߕ$$"Bk<86 i{{[ի~+|Vqp0ffdnE\AJSS،ٞQx&\ e,LbZ?Qpֻ* e+]J?gYT^a:*XõnFXCeGqYtn+⥏gESdtA۔2bI۱]o R>= Ǵ͙0r\^Mh츜Iw1ni`F=:ȵ"M*$1HH28Q aErQ]9;t;E8" "2l+177*]=L'mnby>XJod@ Cv~=y:0=\ޯHƐ$5g~ v^AKx]j|_o4,YЋ,pk6Y|M'`K4&bb[-,݀x;]pX9W#F.}* `ϸT"V  #-hXgʱ{,>=>o4& NO1./rs<3oYvp)V*3ʴEK+ eR] ٌ]]`TPS k1QTccQvLmM6[+κTFf36j1tыk(#iW.cf[Kv1ieup^Vj-,WZurf)JE+FQm&unF[cm*k*k)1DG3-n]l53Zɶb3MLU (ԺiP̢226j\!P٩3Yuٚci]7ֲi4%ҵ--Z˙m*+\0m.rfZ"ʖi5e-մMlEItKqޜ~7~)?K>gӢx>)5azW.4z*t1F eV| g &{h$@K2@⁁Ј95FgT>FTփ"_7'9|su6)iFay5IF~x(;&#w Gpbv]=Iw|0FrpǵUTʤT-D_bDDeb $}L'ƃp* |"qcMH?o??קmzMC1 56Z09/"ՐU%/]@:'B}PCocfz=Z-"hv C dz:wв6,]>#:?Hs;OyΎqlAN#NdqWsS<>'}twi :.:n)H(L6Fg,C B"90A~#$}:X>d>_ZzE@`Ij֪ەH/A؟ok5BU, yrd `(hX85֩\f1r331x R6CX[B\A$0`#(uӘe'kw.Kz2s0$K=ء݅2.qmĚ @0LbFeSO3}**Yi%p\/׿wߪՉG20goX ;zF²<Aճ{ٞ'@EפEOI4Ա~Ow= յol7߾ɺLl֪xL;S^Dcy{Eewsz~OP *ZR/+%7Nf]wI}@!nzWo|?Z3J7]GtiҮ87l-jgw;~6=Mj3)ർ JHVQ8.ƮmXB-44҆Oq1ۡv7P+ES{pSrhfh~ vޙX1" aD`.p;wYx|dv :#6%][^Kalr1-;@\vb;JN^92 rN1Ͱ>7u= !9Y$U""p29Q@x1#8[_SS,F]x}jSA쎎H\"z ^a@h[= 0ɉV_xWD0U O;nԳ2 S8UԗNaN9_ A*-`$0`x(xdOsL & Ӽ`1F~}闍c:woȞ>"^ XaDkHec7oo(WwWPM@VS06#v9M_Y )4FF ̌ ć< pߊ}ߖGH ax,䃡Ϳ}o|'m@c̝cjLt…IVgDe b21u;=:j䧃fǻ6;\O>Gyu b)Xp2== =qƮY'WM8'c%F+NI_P @ oO6z h[֦̍}MO%Yr t=Rl`1# }'wzWAV{o6Ia !~xo6c&n 0`Pٺ-BYâ"ZY-?"ffP2?>feÀ"X!o^3A۽'c(‰܏Ő(R;ivDUyɍ!b$* 40 RdɠՊʂ$]S ZHz/qptcgZ:|z3t9CK(^|+_%~f][4'nKыqOIe;rm 0`ĺ4ifr5Uo`:}5rDٔO&&®cz!*> g'< >・ِ$-Zl5=nwÊe~PM K"ve-=.'q;Q%WR\?Ƕk^CӕϦGn+6g;M3$PYE{mc9h}Pʹg8 / 19;`qkB[M٠7M'5}x9hu4]?|w>cQ;Й(z u YX WÊNRWO .Yam8=9C^aXԽf{]y7'hYRZjQJU*=Fܛe+r2ɻR,U읜Uirn60VQo݌q{nOʌ(W`ѷ1/K*CkZx2-*ѭ*fZu@%97e#Hu_Mm HL_(&maRqf=9ju[v#}Sʊ:[NZ" պ$-sw>0ܓKAc7F:ژ4|Í#c:l9UN~:Q%(ĥ t?}jŇj2dˇ*DNN'Z5&_B~ƹSlc)9[u"LȡBJ ]kX،24ڍ!6hbʛ^D@SDFJu2AAn5=:: FFpr&[NH)`M]؊peʵFTd\F2&V!1bZ82uq(j"AT0TUXmRlvqpWaѰ´6a]cJuU0Sbh g+zw`lDh*F`"It9X LZ6BRx.cME(HN}*ΊfnxrPb1Z (-64JRH"uYf9F1=.u:iob-}aMXiczᣘ J8wMp4SrS]0MՅU DL&[$cq#qS3Ңx5rb6:#J9`ATمk(J+lmf&S( ۖUuLaֵ0Arڢi1)u{ckF3~ jkRڰJ9R"#p"UޏvD‰0 -À`55+Z{z;4"7^` sNe/Zƛ*C:UyF)Z0w3SM_q~ZD4RPu95H7;VqŊ _q>UthNOi.S$W6VRbt"@`(FD5l*ls5rwt?wo֬" 1ƍi(Ĵ7g!X#m#O:=A Q(roj:_AFZ Q /]f#\ 60D /nJ {i1&;CqH4q`;[McdC hjfSgǾl33x}4{VwOA6y%4|%@Dxa±\x`y"NwR0̈1KCt[|[.MNG+&~&~"h1l[ʫm50냰A3śZ%klk*J{!yy.C}oWxhG#H 3%^~$d=XKad 0]g1]ecĦV`#v .sbU|u;;Ex4T(dq]bWU[$nˍ jc^URCfZَۍف %whQr"ڏyC/+'Lq\eUZePեoS(jGKm+YwkB!Ȣ*,*"XZu/YV:(yHQPEX1M'&=k^ tJ'PLrIJCZ)G3BYz<+2Y*<:Mc3I >\N:!CY[΄D'I#9u("&KC֣ ҎA^$}j\ &ƢҘ*@ۚ5k4Zz*֐ԇh%eZ^rE{`щy~Mg{4̊&6U%hsTjfٮVhs$èy%\4uI\"k.q1`V(*VVDcdQ`svٛ!depw3l*.! ðJ^EUPN:j$›FU{ P)yiƗt( =Ʒ#N钠:MM_ F e9)'/H`=i*ޟXo'A"8ЩLTC:";VV4!MV VMAD(|0v$ $4+AI. c}fW̱ f"w0PM&4ݬ!GOĂ-B)T %Fq\ Ji(㹜6F*EBh16 8(P42H)z;UDˎV]:q3,9I{[%&8ִ*@bW*f֙EʪaJZ)UE,Rk|orDD>e hmQ&G.%Bq2KNF4w JHY5Dr k+'dZfaxdPjQU ̪ԨHӔ)d97׵i*S^b1| WlTrlQRfN: P9E VKLJ k]$g 57A!LZdM"0tkZGL" DH%I0q 5YH^\r.g%$j̧TTO2fjS ۃXҫr߭: Lp/ 3TTTլd%ǵ7Z #WWLC1+@ ӁIF%WV]Q"ԆVM4iXܣI8|*9`HvQQTx!r\R|0^ѓcJ$tJEk@EO}5Uة;Y6&; ҆9:C&V %|B^mK*H~פtw4Mk.(̉/REMd:;Oڭ ~ǵxFt9zmA, R#76{氢^cmCD70|SlKD|*nZe7QCd3,:It~CyoE. 6zWݡ#al7g|NHQXv# D2}b>TCц1MhmƄ|lȼ9pdAfR0Y="U`{h|FYr TC_ڏ]?5H[$Nv~o}^a&9HZm~ʼ6W4kSIg0qC“H!T! {1HZp+ʮ;~8^/&gcrZ,^XLJ.b{PSHLXA77Fc(GVH2NR,Nn=;̠ةf?Vo;{r Z!XU>"5JcǠ(*2CN=vTdw8MZ$.S'@=*yӰTi/~]8Ou鳷.<6- ⳬ<7F^x(1Z,ʌo#oC} +I '&CU(x{HڈF 4]=kKL8Q6%zC640T; ԡle*6Tb7X)HuV^U8:4xV2 1\2جH !hWoN֓y#Òkb-^:c gX WCu#ţ^G7̘ 4Mg|gmZZqRzrKXyl?~^#:j Z$ȄPPY+ԩAaT.&1Ta'FNa^i.@)1ul9H3z )MҽO8(V! FsO>UƣޱtDUF ?T /(`As:R\I G;W+H|ѺCUwV`:n\^9 Yj&2'wC9'!hFt#)wC=HQیb(&G&;faz{YcaUD}A>v4]z0d|+S  jQd\~KK\N@ʎ|r<:~w8 qKZփcT9/jK^n K7-#X|@ Kl 8h < /&G&)5Q9`j;<;5p79)aч(z |qM&h{!dWYe8 3SWldSpGf0Ste!#h ͹R#Ƞ{[23gb$7)-i 1BEm20^C !\ynM+ `sYʸ|rt:;}:}-xy;N].R=b 㳏|"[N 3 B?Z'OYXH 0jC}*_ދ[{]0NyՄa) S͞bnĊ;f$w< [3RNCCudnvi+(w,ُh[D_ٰeH@w[R~l2!dӷQN=D,*!܀55TnW 8ѬO-W*;՗63qd>{$@~VSB7No;lܮA)jj= X&PF;T8ʱE2~ 0SãH4^XF|c($_wW24#0M [sd')9A)Iv1:&|F >wyhz^iMsB`|yHqTɫ)wݯk= *ƀSMMpg@a TxnKeiy-RZ/ݞǡZ?bh\:>4,.ݩt}, F {lg۹5y&D K{3HoX {)!b)!# |40>Aщ4 &yyI}kJC#GU+_hK&ʜ,g^uP(=-?QJOK|Ggx;Ըt;n4RFk?W^Hl2./:d0=OO_\Æ`D]~TD )XG9 Srs>ڜhFo@Ȫ~SP.˜X:`lnś ˲2M%h'(YGtIĸ1"pnvsrk+#`%Q*;L*]Tn`h).t&"ʑVR6(0dH9XQj  kvգJR/4аSwaSqsW oݺ&+ؠ c<&)!řRa/}H,bƤ]jYXf[oymr)AvAx횧.T6lLՉQQHD2LBdqҷ4BgdJ)/0d\VrP֙h-%Di_ ,Uб ?:˖"i O ˯y !5nGAf^ge:62Gs<}/<V?dՈRXfDn2f-:7C{δo;I/({̽yOj:GLt}tiPE?s:-I@@d| IV+Xy (vaߪF >g`CUcDEzүeU /[>z_=7̮vUyXfWEic47p3ΑldrȾFTxЪtaJU|3k>5r<Ss k/6rk 36PBIon"Fn͹Z)]p}ŅkƵѫFcVʼnژZrژs+Vf۫*wc%EtRZ~i5^S"FQBisS R=hFfF!B0C5YPDzDYc6N 5QF+9p(!d藄.FkUpDz=5*FUuYBI$N&L&H[ϼjm<ʫavy a6)QWW}^&cyݎq@lP+9,&D^UM4Xk:&1l5:ZA IGowuw³pfn[F8jgz|G:xO+jvtb&%׋cEUNkUVDS) ҼW6ijb)@L XX<.ZmVguJ3v\%WL,7%Bzvgjʌg0`-D*Q2rkKժsE{l020N;-SVXjֹe"y4EOW4-{,g B "zY9@ B`W3 ȭ ٖ !0$d0MEL2L x+NICl4(%ӛS %h)ZS(I6VhZ Ff]%4:yhE5 /uFwҐ7UC-0K3Q3hQ䨋<5qrXi'wxmΔi6jx=770ж2۳Rl2@xB.Tiڱ1̌n:h;RqUv‡|'EHyr8jwlLJ޼F68݀@Q6]+5157Mlb)lTxtJpobmhGTqinY&OļI%(^ET檥 ("Mfcqp5d?(6f_1TgnzT}Իp wӛtYӅ',@A>bڬxaC܁15=Lg\}$t;xR6,U`!uD xq.  R`…YWTz:Op'lm"ڭ>Tˌ:4?O8g5q!̣UN'F%tiF+W FIL<,YVUY=&_QwU2G|W.QÆOl_dWV땾Wת!Dz 0h,y"DfP" n,iC˛ zvÅ;\sCQVk*䰞ǿm^Dn["*B@SUN'M+QAT$.$fCI 9t'}{SjXsūVӳ3iYv*mmaUTGR# ןܖ*u#Xl*"3'jFygrчYy+qXqY$D-+ERW߷h)dC"/MBsfVD2@+/qR̝̹Зf|-9RjS;wH:TZ<Uv[U]Ǿ~BJw;t+j+#ѵR2sEl+h%X!SmUԮj\;D蟲ҝ2wR.SssWWgNW5x؞6D Ծ9;GN%Igɴv2!;Vԧj<:Ki W^NS~$>WQLAvԋ)6i9*GfG6 s%;3,a:H-OI-mH&%Q KBD0bI EHi*8 ,nl yv#nSILsZ+)(*+*,b`ZRdTr T0L($QVmkPRcD0F21FhsXKK4 X(QDұK*ڢRTM0M1b0f( 4*[()Ѩ:.40DCP&slɳ$^\x>>]#UF:1]G4! 9X2r3\lBz_%49\ʫÄw49xítAd!f0Tɲ/OZ $fİyۜIz5P=+APrg@$!$Nbq$aP]!Uێ\̢Qx4S(mMytso9!wr`In:I ȅx06l6q$ڂ1MHk v'^niC`C0n0{_boANgHɱҏ3GrD`9Dd+ˣ$,$ Ie)mɂ BДA5p֌& D֜VVbce2S)љpc{"f+(M& !0G QRQ5q2i1iUf!C ᦔ3]00 д0#4q{.h0Pw^#29Y&&o*;QƢj6g1]͆Φ kqdxX4&I s kSQ6P5y kHc zva,]کa ! D#x85]8юꇜ4MN!U/5hf0M(~W6Zɍ -- ,^@`31-cf .Gff  7uen(h#PEƒ4юҎئ["+1UFkLeqDeT6N{q+!{$8 `X肩ܹ9N)ch4PۛgGLaΦaD &d;IN0j1.ղ-m-/5PHo1aNlL,]K6 q:QRiILH)M|iOU?S al$ba0v!jV<[{CZhE+E, 6>9mx5zInoC;dm2uc5tiWAfKSUJ1jmZ֚ٚ;kmhz>8'tq{ +;/>#前y>Ȟ'e D|ƊQ*w^o2 ѡVH:'Dθj-<"'5SݰXyC5tai3UaڮVx\{v:1'Kf1WOM;v)Lff!(WZ,pqAIHddL\B+jcϋ" Cоo߯]UNڶ^˽|Lޅ-6U4af%GÕM+C jѳR #}+;O3mQ9c8܁ nK 6Z8q]Ɯ2j+915G&Sc(%r|[T'HD@ BlSy\KjTj\Yc<imEk`f'DZuľ'l#n5z[`0 K'wi6EcsN^yѲZ;Fj+3xz;賳*'ʝbpWYqu'-"uj۪/X3I Y|3xiU4@`5 uiNMnfb<^8W gcE3kncĤuxSmXZ;M pnE&fqֽs5Fhhsx֍Q 'W}Vαbo =h#^A;ƽsCrp4uqE2Y70oLp9lYiэxW-~h#eMv=uP0i7cYRMRhjyTܚNrƔpɥfըZ"61y SZ|D#A" /{5΃>"3P]^XdܭN{/&\^ݘjV{,5ڋ!u0L)W*4fM&3Ө(n;4QMͳB1kY iDbd#G֩"ʛpSκэB0n&գI y0hZ/evc%ě>+ n91ʙr3|o᎝9[0xU`RwшXW)Uoz^5\mhe k1|jC ۸ƌwut9ٜFfc 6j5ye19)KiQk[+=F zgZFSww tamT94xč=~SEkW 0 4$F5J 4ӻ[wݾ<V[lI@T۹Œů<@l )2x˒jA9YDTCV'OqEVίq9ќX0Lp8PⰮlVRXAdIk2*c<0.9?ՋbU+ \ .pV졵v3cv0-r۹?&yXPjčh18e{b-2ƯfK_R0fJM MzZjwL S^U3sFfuPAoqI3Fѣ4|Fk\vWhf uDΑŜmH q 2+4np>^U{<3܋iYևe}6Ŷr'LJ3}-Kf#x6!{\ޥת&;Y&o&ӹRW%m/̉P)[8_{~^g]j辗e%`S-z+hGы=n\(j-'xVc}Xh;E<ܳϸdhbMè'S<*cKѰYI0eת(C]K~/Miַ$ՔmZoL2K#l[<#IW׍qWw[<(1*bj0FF>0&+<]1[9Ul16wngz^lWӻ1{͘2o;uΓݗ4+LkzU+`9xęEe$IK ndЊ" QdXN¶ֳޱˢNkMU, "M[}kճX"1USúp)|THR # D[G]¢twK֤hѮ`03_ |JfG+ 7}.>Ȧ& f0 d1'YEpg 48 Ʃ`+f%5os S0C^`q'¡P,;3pQlٲM SzE:,Ϲ,b7׼NoP*_|ϵBm!ԧsj,~ݧݚ,&a0IۂB|"$g:4#12 E*jQAc lJ$Ha S4D)pژ0Hh4P$)Q @Fi \M'"8 YƊKQY, єl(Aʪa)XeXI%Q˵meث4hԺtw\]\XNG]]IѠqL2)M# `X*Qc}]336uԜN(33.8Fqq1 Y "JR DA0Xřff3gR!(Q)DQSBR@IA R(JaNّERJUDə82L33,T*&jfUXjU2RaXTa%R*~Bތ &&0a\Xqa80Y`eTX9 Vª،BxӼT^dH;D>o*n.b!Ps/&`ؒ@zւp80qzgFrqeq8㊔QUK3\vT%JR)L(IPDUJ0U0§JeTR*V[Y4)QDQ9F` SA8qb̎1-fqJ$Da )aA\8,2SyL &`E(\ /,h"ܰѢTZ0*_Vb>e:Ӂze$Ĕ c"!}LO){r; \k/bGHZGd`=>N/ZԗfQ޴*>Q@2UG m*{S_RSTbVh]jts dY- YPTJRFC2s[5L9h"Z)b+ŵlٓkLfƦ ΫIR(CQQ6ٙfLԲd, 35Mضؖڨ:lp0i'G8m5.4]tԿYߊ0>rT椻vi4lUS֔~CU_>I~AOd͘R>%b~U/y9ȟ9WfyƦ5Wq\GʩYIqzpmQU= IX&72$Jd7ut5LѠTYN)m56H󯳳#*9ԇIO(>ͣY73f(G! >u~T}{ SEI;9!س""Ab[9w3?Qe?D{ 1Wk}_)}ƗO*OWc5Gʻ7Ϫ÷^Ez9^^z_#N6Z9DڒwJ;q=JdCH=Q'bI8Rj_v.YP4%!XWv4hk 2v]l[JeeZT)QCXjr2Y5iv۱M(ȎѪmUyޛz?eҺnԎ='!d9'YlG3Ii7>_rBriVlUVc4>{uԟ74:hڦ;lY:Zk#@ć@U>lF$bH;;ΓȩѾVQ{;Y|,FP5mfQtf;̠ƟP6>,xKQu:ʂsQ<埙Í]Ϳ= ZI"G<=,-*04e 0 U5V4*;)cM HVq7c l !!4q ~ll"P(=_;N]gy,3 I{=6v:Uft1ʣՠJQf2ŁwMV5d3+n#2{iQsD 4a܃hEc)-уuu()E-*0kev&2n5$@]9wu'7o}[PzWmyzV`?F&[ciX'Y:ZUac]\eV'nzhͻ  MVHv+!;%N =UNصg*$y}-8,9w5?~Ow_jsR֛jǥy?]r);{>i$I0CASXmۉRM%Ҡn!kdf>jҒ}5'԰!w2t&w6Oc(w<^3j}~KjAF&#~p/~WZ,Ozʢ_c䩻sh쫤Gp|I§TC:'OKg:/aR4OY׾N7 GlO#{ʝyOEi$1^kߋjY-bҋK[EX*T5+d@/D*O'WN>#bkb~$ANQc5b ?qlN!0,~*^[DsN,=M( q |/+O4_C 0GgI2}l nOMёJ $y}^rysoa?-5G Z{ON`q0X   Q,TR%>Ve@ײĢŀ0Dgj(ÛlYk@ 'JGY{^c^3V?D^=&7Y<(#=S"w^4g|!F@ċwsshfOֵ~~+2T6sI#zs|_m#u>ra?mکNw ~ 3:JjɈ zv#%׷=69;tozK]¿9>' !9a 'gV0D$ >I'l''ږQzݕ-(S1D=`Qh8=.&,> a?X!h$N쇉T,{RTp؈NS0*~VwyJcz*D}]s:VSN7`|i0m-D* H"Q/Nڴ9 }RCg&rTxT<z:,OgT00:,YNE YU~19-SPuyG-frXN;dfap'F97N鹅?>K>& ?){UC4a&MON$d8zsK7y_E|.CV`cLb~|~$tF):ةXl z 'PY$ީ`adʶeM+|dGfkOduns||Y)|'~_|Q ʇߏL:-UE-bxBƒ֏ C*`Q,XW;fD[>B|/[R@X;$B|kOA.=1=+ߴp98>_2r:FZoV'_IC>P`tÝBc M $) ׳껛2vCO9 Բx>iĘG1vT|$$kc*NW2M֘f5ZSm_ۉ:{UmHbv 2|V} ZÁcr~ײCüEʒsC$$=VI6 q3C!Iֲרps[]%0zll?ǏSW4"H'sGCzTO5OcUvs^6[.,4Є(AP]Xnj">Co>AUcTUbeL*jLBw! >y% XvH:%-COGxkut~ &i2Nqdg0o5 x'ԃPamoo?\9={4=^C!̮Y[UqZXիŜ/_H ʾ a O3qLYëfa_jaT{Xd2E2 rMs?$|,>O"$!hh8'&O -]dq]ɓs9h؛NXi P s#XB-Տ-(wcU8wRee5=p q$U , M \hP]v;*xS_D%5Ԡ[mah-N(Z`E1$[U0;ڇx=yF:Vҭyos<֫tKGͼ'[]kGz7_ B#jKp/oJ*gi+@ bh/嶿TΧbp03DnIp33+nqO'󋾽kOpuoAdBa0Erڕ+P vHF~eN;$[H4/HN%HY(}|Lū !߮kV O]vc<+3?!u,EF%;RKT>^t:G35)ׇn>oޞ+Vz6=qy =8˦6KERy W֊JX>mO9z12cA*/BZQBqi+neR ;Aʘɧq#Ys"gȩ~RgƓ4vx29os]#IP_IqPn:VҮuQ;כ:j10)'ԓpλtE :.ocx:Ӵr\`עq-NS\ӻ&]C'gl[lx gpSUH'P'!~Y!WD!@$(w_ a~n[s` ;W1ֺBltn#q9cV~j/t:WRw GiYras_?ck:w1,fēn՝۞ˎD8Xq-ɻA$!VC>˒q.D6vbirNQKQ7:nӗ07D„sMf=u  0H`uG2֫:t Qiq-&q[z@n[@ca{Z}[TWOZge }:FZT#{BWA#3pU<`п8[t`Tgq@8J9td zb|=1]bnݫ: uqzI|zK$.8].XdjbZJ}y̺dqє'~R=֎ybx8̆j좞EVyOr(AC\h lnVS ȡ5M$a9;*gey}/{,u63jZ+*o2m!4֩tt4SH5  $=EG+=_-y>]AӠVUc4BHUE/^|0)+>,@ Eq}'lSE#P=o"}C7Mj M U'P@H52WM\g㄰Q2p;b0Y TIMTnf^_:0@{#cA^ZŚ֓D?7٪/ .[?jXC'ngW4++gнwz@qy|MnmdD|‰]6+HF~Ln HïGa_KsD#ޞRCX50Oh|[}ы2h ]&Ӻ,Hqd-2u0{Xe'dX/ƼuW Q r)]2-U`nA ̄!G:(xq$o6s}ƇM.4CL?/Гݣedc|Ck)<%E(mrwg&D.DZyGQA]s k^is=F_WZnt1wIɷ{2['ve6j#ߝGKC6(fi8dfJN{mp5)&INRj7pf;~"iB($9qotEp<ƅt4Q _fw\BnxJ `J;ۈ-WR!\!<bisטځ pcԍ]ZVI I_J36xXY5VU疜h5m9hNy7=6-}cn5~vp>pnmtwn]W9C=-\tGz}Ǹ]y0r;{9Мo~m6cCA8@8j4ĝY˛NftC J! ,ISp0;WL]u3.rM\tcsĚCPs6by#kFAteʛ ʜPX":Et.qm8;7\t]{GvL:r9Mkeй\^`:~skɱt8|9!}rǎq.:-xМ72n0sW<.8N.knsrZ5kOKacbpڶ;5nt['trELܣ13#nMF䅍'q]oGqK &e681&"&$'cU8j7Xĸ၉8mۣ6V\)[O W&C*'%2F(̜\v'Є0R38ŊHi݂B2*TDCÈ6 6G㑣̩xnʫ2 fp30i-i,1UZY%,x~o;-xO_;/ڜ3Wd){WqɪeSH6/@;cU|=SVцG8Eٝ$ Ff `au3j_~4!hIX\9ŌjW 0F\GۃdZ_G̵ vz'!J`vO~A~ ,䥋&҈dѵWYY?-j+On(,? 0csgu~kdTWRQ='r7_5'g4h mI_DiT rQ2K950fo粮Ňf b*?SjON'mInۅ<ig6{p!7NXfzmV av-[3 9W0hoӷM^dO]1Xe3h>qw1. aKStKF˜ 1ˈi]*m ̹)"!]Uۭxڻ_t4Z?яUqnŦ|nMVv?e`;;c}J+BbZLV)JhRK!!b Jcq!gF,s )S a%B"paxRk(RzG!Y0;/hNFIV{vNpD t'7Q=o>cUڬTs?n¶ntʏgMJC{ר-4Pm]snڍؤEWg]YHܱ6)ʙ+GhðhTʛU"z?~򿷱\QTU<?pqt3Lp0upYD^ {s,&а 0BK:d:5a6'N?%I(a4L'q3NfBJ *u~jC!&1oQd,>ٗoXtmYUJztɹ$t ~T0 3Oq+9@䙅x݋?i9OWq /]r46O*j@+y,k\:Sуҥn0PU幍]R[P E+`x9`PPS~؛ T@hɄUY[MWy⸙)H?ϓ Ϻ= aO 2,R>\ZvZ^>W:KIp|L lbP=Rx_[рa-_]@ Qd-Pmy}8Yku6=ޯAc7&DwgpĴ[aE9p\zr* G  Iџ3KAWF"Z:q^խCL'xi(<=K Kfpn VA\ R"JsfZ w+vd0D1Ao (-+Wegׯm%YNjcv}gG{B(5l™ У> nAnqL/@ _s(/.n!<v-6& Uy2+kx *qt?GWl9 \2iF`U$EweFxzgA]W*o2X$&cԋEXnƜ#F=G}06`9B+* &R0zene58M>#jh5+@5?)m;x 8lvactdoPn!6 ni3ƍ͉79ݲ6 \ $Ȉ22M#}ѯ/<؝xgT*bhLmEv׼X\!@`TK@6=eͿ#wKd([֭Tp V!Og+|8l(/PI d*1+? { h0_ngx[bd^y+L@TI暔 ![*?]pDN*DBJm4\-$'97ΟEGfxKr{ɖʼnAZ6Kdg ٟ( ,ϠT!zn ôBC*(Y) x:LHCLp > 3J[qCĐ('9bB`dinܾ#Z&8bepm=Q`3}6۽ZŽ]Iٻ^W4D:NRWάX~Xy'LC!ENUn*S$9kW{ nz\! !%&*tsYf/>g|w&08}jzl[7>qg7ti ;jؔ܊PmTH;s{}bIZNmIGr[m֝#(:뮄<'oޟ fyr8FG igن@%:e_ ="bXevloXkf V\"Mvb$t݉wpTg{йtaW0jyd:j\Ҷє¯-EVj]q/ᴏ5.w9xʡׯFuĖu6T#j˿Pvd%mzm&Rid\M3l$Rs$L&Ks\ʶ.`GL/uf+%S?bEب4Ӛ \s%[/Us&l+H?pNe+̮d-s6JثItjNes#SfmUnqQm-ҹsJ)sJh5Q*b96+T>62V.'otjmmW4ԍNh.jVs-% 4#d#d6<:LNesIsRzsQNJnrU9Nh[*9U9al敵EK*tET鶣d5Knh45H撶-ͲM-EQW|%هfvneƒO㲝4ڝu#mU9lҶ%C9Nb\ԯȾlSn]tԽ+ʫٸ.$W5EWiUW\CCd!II4oH܌jl>8ql܋ CdJ>j;o6v|nccͲճbVԥ>% b*/PlC@{eTcm ;aꃗ meYU7%``lp$CEB:->Y`dX/ߋ?]Sd Wvj;%5x̗oKQ$gMi|̵-ѶMw/_nJza6h"R۱@Urކ/ t~H1`PD8f@=ǎDo{8m\V3vv淃γ,~67=TբQ{@^[jceiqCD<> Ua.Eڙ;M$鰿kpm}?c~wD=-DK[ }zmt* =PL&~TQxwY|7!8Wޟ:y`%'Ca>cQItѿ1jK e S( W6}.֥In?;i_P}rt?{tdQd*8>U$7q:)$>mҝ6*)So5pՂgn<18~?哨ы?{euR wgq}{7\@lp ]݀ې2I^WcCa4p0+ծW?aX4L E7&!AMRdEpD:夙oߒvx-<$ML~eEŶ.x(7!;}/Kޒz<u$N{Bw(>Cx`Ћ!H״1(za.G>M~7#R0T-v;~.Wy;#HvV pdžK.aӊR6 -HX6#3},1fioCC1:q.wOnަڝjmd[x+ϴm2s )8KZp6Toi{0r=oa٤:INbG?~!?♙BLC x"3prNA8ȖZzF;g`35h4r 5L XcgbY$ޏ=LVT76ӿ#`A2kn~iX7*>юU1ţ8] =sqeRUVLmL3GsƊF8 EG)W\X"v r0ϰ(ni&ۦL:|gM{m)X}YőtO"s0phwyWZCK%wO:AL2lS`.{]C̼3 xg&;VMVxUY !o`CDm-1yEbv+)gdw:hs0Oo2}N@.$ო},].6cvaDWNTR1ַC3i46Pճ^"؟UU+\':0%@h Iΰ *6Mԭ$ F"m* HQA \!i ƈn9acZ%})Cnc 7!*)@m%@dPDDbQԉ@3i1B(Ău4k}yIb򔞼:kPKvG[zETfHǣDfL e;U.tUb7"8`^0ۜ*xy'󻾦pI0$$ժY\UaF[b5lZUl<󖲵}գEi22+ʨp(_ãrCq *RۤwW \,g{CDu\cTl=Ey,/YGXQ޶? Ozn6- Liza'504.Z mGpGQ:w~F\m-]'qnYc9yWS1(-$7GTd<"zVII/OxiZkAFB?-YP7`n$h}JL|EK,WcXǹzL-z.YvoEOemխKS7Lr2N:jte=(qE*fl0N|ŗ:~U T+#z* MUF`#"# Q,b, G W1PPж־ q;㢱OcvJ/[oq!􃡓$3|@#n˿תo,1/+)\@35Y7Y2NN΢2R/""&瞋^DeNk(}4M;tt9mw~d")rsL`)Cw3wweɆ Q3!40]:Ԣw7+_93}2U\fBA/ApH_,^`z "B_ᔄ@]ߒ۩,7dԦt8e#gϥfJQ8~nAxA|A5|hݿCŪuSfev#9رxv':JlGXCx=fh{ ,\L([*׋Gg PtT?j8$T'yu'c0ncw \L+RhM'HIPu}GݎK3WD [L lm>z?Oצ99<7G?}80{$<\0wPVoa#2M~ߕB<5c(pk{엎)|rKgp o0A rh@ιF2u4utkڪ}Q MA1z=^.2t7Wt{ZFY?}xAkb`O٨&J)=\_G^ʼl2sۡ!"DDZ+nZ0`^f um_a4`>0NL?2"!h2 ݓD}A)H [33uE3YZc0@sMG@zM7; +{牮}=wcO>vW2uŊGf+V,Òu5\[h砸ng̦@klk)_Ԯ}!Oc@@-̭~ ??<2 xvجZ1m70/E==^ 4ްm5KFlt]цح=qlIֲ̐swRtSř*folfPlll3 fo7p8UR=W4USj=x0"zi e]|ki5.(((X <0C+"m" 1zhs\8-vS:6_O*Leum [a&t۸bt֕G z qԥnw-ٞt[u,www4ak;Pe2L1`i0nfXkٹ`۷n;9[s7o,1 ιj+00101N[7L5|]7KFz7tk?77V7;0t&䳮Q]V$^a67l@Vs2 jPdKO?~V+hE-aycϲqnGEB4%v6sb~ v>%^sa/S0唊Kذg17_&heލ'RP\Z֖FW#ywyvvj=4pPo~2ےMfqo84e90s]Q͔;I\d8Sql0]zLGnm}?y\HP"h4RD7y/AA9X7ӺT0]'$vV Du1rO tY]=\ .3ۍލ\M,u;z$R+ ߞ5Fm\&ZN u;3'Z*Fa2{.xn*x~ұf帇pҦkGPk :jח$~ uӰj@t_ h{+0̳ruȩp2gʈ9Sd]YUiMɈ1UP`R^O;Tf2n!+e-= ]ƪ3_X^BGL|!hy$Fcar 9xN+M+y_-]5iU7Hj-L7ВZwR'}(1\㠬Ùo ze,xFR!~yp?`<};yV:S{oyyxnN>`-Xhxƹڸԩ4a[NZuaJ%6Ӧ`7$ٮSZlZ,ԴJRrplL^N5YT덓 B$ј@j&I0#0WuqˢnAVҳEmK[7a;;{.2a[x>Y:0eJ]Vn9Zv!r`q/%;5=x~F?O|~P`/ kSwnBvZ"0*!3,bCx qSV&n:$ϱ_qf_~25lܣ00^wy2ѣ+CPvG01 DImQ@$7zn$4m3 ̜mUmLڭI.b6sQͱUllmm[Kj6-m6%c70Θ``r8 qĈq2zx{4荚p-֙@|= 0ޠ`6oHPiGV]nӧFwO/=:l۱ѯyeEZ_wukזˍRvHSRY7S@ s ~"4US.Uۮq(<5yD#eGx=s8C$x{.@&Jja7s`̯rϿ~Rn]ti?d t߉Fɘ?uq YcOsBq^xi9od7wW)εLNf*}^c8=}Δ@W6⨾/+7\γ2!mYsRSoQ涛!o)vEQȚu/erT0?fqɽ7|:Ul-2Ey^_^n0fܽ݇ N]{}?y63hf-Pwt(yP<6͗ī{bذ)B8q9Ө8Q5ui_csGGsYW y{u)({1d5qo(m⇷TbNzj,O;a~_Wa%- ysU;TtC;15ECXĽG'$A&~ Vx.pY|dK錺 K 8&X&Q$3iOW=FbЧKcuAԌ= kҷ[:/5~Ր; 0*O qF[z_3?3u,\5$˕)ﶯ) 3*6' /[xzQ0%_V'dJ޾=$ fv< Y]FbF>WM}#y1:eb9W7:m{E2lǼܬo"[S<0g-!aѷ6EY_֋6$A np- 7gar2܄Z=VU'Iq00i];;/:ϊ20 D`p f铵ؤZx`d`NBUHprE|-rrYHUc;'6P, v~eΣiHخq:D1J|yz&U~m4ڒncK/ DJ>.;=ݨ~/VZF_wc l{{~>>0>ݸrˮN%pv>-ݴηmu!)^bOC܃'Y c&c!g:x5 !ecI)ohTf Jol4ZLD4!ߏ,9ΊBO0bG_-_%7Ot .U-v5 рwF}ﰦ^{/ώuǿW^Z*xXat7tѧ=9a5?EM80$ޫQŦJOTug~g# Im};v ki[PBz \sOz3͘s{ҽ)JLF"L7?>1*LR= m=w(nl/DJLYxOO9s!aT7`Q&Dj]ȃl,Iڥ+Y( [Ce\ r}(wv.6cHL5PJ²d4>ݪu|drnY. m,}7Τ~}(;(Q^wP9CE-Ԭ}߰80>aaT$*Y$sҔqmK.*%#"t;'^]${\Eu\QtҖ[P$b~S!:u)}US yJNWW%D6NLOxQ;%vb};;4*~Twra9ˣǃ) vN DLW?|~Wo{WWy,4ˌ"7g]`x,Ϧ:&+>x9Q8*{=T%Bapu?>a/^n,b1_zVxtKRsQ>O4 ʫ}R} ;RShn?d2B;9=HC$ β2G-B@@"!A j"dXBnFqx*+ d0)"憃]yT뉠>7?H8|3F5wA\7;3Fσh:'ojd!/Pc2;;7z˹: H&X rmx7}Uo(6KVikLȔ~ ,Ʉ$hJRb,i6yHnd!C(i )Nc7@t⡠1,hM/ [z4(fn /[&aЏײNL4wD8Z!PC :2@ݏ=:뢺V)# YYQUqupE0UmRzRG7('N]RrL!`&diT++z- F_V(S $h 9h%PNX +r0qօIH+(~͈5453rcH~ 4 s=a3*A oa2jA/֔t}}.Sc~۫43~U(t^ƌE۩ÍaMp:@p;dJo0 SmB5"m1$"yj+~,/9x50/g'n9NQ67|X~cED4?4j?( JI!>DmR;n 44~6|_r3Ixͽ;?|_I2>ýf3Y HdHdf H',R` " dZŋ!Pd+VB bj$%JhDHmYv&{VwqYƨEZ]{{܉Ϸ)œ8by+*^ǘmPI5$'L;u&ad*:VfþP7ARCN@=`S }ș+7*d܏~N6wujCyt;T\ FI 8Arpnek{+S1 ,oŇobas]uGҿ'z\"cX26}i i9RS#wCHG,ya'=ru,)')ݖ'OyKdsǝID!|\ѡ(Hp|,Yvf_5a! sno_q{A[?۶-ia !\ @>->K.ix#w c~!ȣ,J'ޫO>y4|I8lk|x4'@' DclȦ[;h4jlkX M 'c(t9;.Eo6,''E.K4r?M10SsKHffD"3'0|T4ĬW<֘v2Cgj0cg{w/wƧp6$n6uW6OT8ex>N%f,QSUY˾Ρ>}V@:1 FSYaf,cY,+aQpo-(ix#jݝ_///~}^gj=ٯ1\H2~mJ` 4@z H21!gy2Fc{g^/| M=#dw Fofe d{1-< HB3&ody^x$di[`3G&fye7{G}YLma )g;H / a0*/7l{Z":Pk=}ݞ[vTL{C5f@[ 18A1/ Ր ?vX{Wy<7~ u^7d~Y~~A"+ҟH%'< "I !nf.?wj}2G-f,E>oH& (^R_''d>bl{֫/u2 x 2 ߧ2Bm !oa`~Dd #qr($ƨ2߂wY~r3bw 8fdAtL'i7׭r}W>{k߻G;tٌq ]"& <CRPyrw-cO߽E)T O/(qs.fC8dEajcݠJ TX,|.#iЦ B|ыѝa}HwdnIE Hm &?Pd/׏lm=><{3{\?Έ#d6XkND޻彙k0\>9_b=k3?t|zqXvJ>(5* iG VrFL$|vr_;+| %F!#A(bF #,S `>z{Gq2p+V.+v Q7ZqF7-ids!G 2FKJg;t}Q0ÆdDHɢ6 lX)iuh)KJv76 rdb;F5a4p&n\Jh3!BLgQ^ٷ%D_[Uq|,u𠶺GRHfӆ2:sR܇^gkΔ+Zsq "ڒI,>IƫxlMq_KQ75a8}"Ie.H9*>EZ,mv.4 MIAL0R{&>K4)Lm-ea,A7E 9%J ÆT ȐNgQBhAqB$n^( F\ol0Xբ% UnJU}5 1I$d9Q." MZhS-TE8`4,1.Ia p1m*IH qAar @ \rY6Gs{;=f`%$iPsSCȑ:qݵ/ah$`VͦLoe̪cFKӶݹwط*8iAo<ۆ/<јܑqk1t/4Cnpusg"uv!ж0b$ҥjNbjasY`e]k(eMjH;85ziχG )*Ŏq )&ل &)JINa:k8 $Ih(k4:#ܒI&T%Lz ;HJ 8 O:laJO7@E 'ܱ>Oք2+N==Wic Fp݃Yۍ(q!ICb;Aq :Q,X0D$C\$}]۝?wgO_5WL0t?pOTtF,m49rfo'r א3$]Ȝ ?36lL۬9W\yf$=1o34ZGv]G}^7P0:_u[ ۥīO9LE knZ. aF~;B].]jy^L%IDOHv9ü=j&!3uˑwP])Ot%|C,5G w`}na`˵[}laF=fd/#B=)R! 3f'-㍰|<a9Җ5h!G!RT~ln|:Ie4LDE|\xXH$Rۋp_ЙD@" Ӡ?4z心?aZQ-xM"^Kufb O<׷?o||q*Schw0oZ vnO8slsyxcåNHԗŶU?Tx=Bc!xiS&;{ӄGbqg $~9ҟ= =#ѣf`3)ٮoΟw=nfjnϊc8 O;}kSIb; b[P$;^c'X{|)/8g..QSiV%3×tI& Bir,:P $\aIɃbE6*aM 65hjV4lP5&4Y$̦{# 4R¶LWÎqRѶh,5aի0U*d,)8jb BJQ,BDBa@h)(hwN`5dx9'C>,jޜq]笛a~rj3ӰHDsc_+9 +y fK3~XN 8ׯ>mu$Ð=BT 3%QoWƎ7ł+\rn23yXN(@f,=TI#$$aՄVDr7۞GR;iNޭF?/ "(/ <C -EΏ@8`dLE>XW]o;~4Se[SeI? IVXm !®~ުVO= Q9eЪN0޳ҸEם]Rhv(jШ\$!((Jzclᅡ8~Y2hWNź aaEx8;A¼ aFaGi$ҋ36}IҜs>!KQ[j lrk QJŘL=e!uJihm3R,Q<Ҩ>@Vݗ"|ث)Z*F*?GxOrUO9[]Mث^>Ius}Ҕy2dQY* A7sgKX15Vo'ځ[P PTD$ &!`UXP[\䦽?:XG_A3'tS=Z^6x3pp2Da!ݕVVfӁN~x9#Ff DUR\.ES{WW{wm8;)M42/k'3fD'J* 3epg_,{S&ɣ6xTNl F}w? qanAZ2иC7<#;T0^h\Ks|^ֲc!u3}-HxP68RixV?us"v8gC%T‡0vA3 # bvK63l,&ehPJvj&u',Qx-QD@or-ᇡG| nU 7*9FK ;Dx`yzW۱x z.5Bge2I`qHe'𾟳? sA_>*zt Lެ1 `O]*~G4@F3&r st?yn,'{H;X-7u_ջ{?|GCudn$AJ'Z jٳ>vp)@3D@@82VF^iMD_Mx}{3 :t] h43=:L.*+Ǻ}?=c8f=³DzH [j߅̊ @_}wa/DT2CD yBR2|'6q~}7%/dKw^dt`M Z9`0:.DiLZp|ofRW)-xņrqt9V=(NHT  3P]A$q7|![mrB32XD.Ab+8^<QD0quM7#RǤֈn)!OKG&KT '(@PK'%4ĚkEcO1xG<{)pJ~[zsT " QMSR&gK`F"#[Fa5#{w~Y/!^ǘ5~ŷ1Y0? x}c@Ѡr 'TLsqN[ J CզO,xCjK r`CU#}ŢKCTEAKd{DD[󛼲T&!iplk0⬸g"Ee :u ?9p:‡ig +9W+%:dͳmS K"wul<~\w' 0`8 0E'u6skmsWOb^<7 dW}vh> GnUaLXʩŲݹmf=lu՜9hSM):M/1eu2=v~?7 Jۆ7 6`-㍭]k"&JRJxz0:V8E닿|?VF:t鈝R6 VIRHQ{ Og Ci2uCu\l2/6I$u,6SϷSB32-40g>Էwak*aEcTR0Z|$cW]2*QFl$=3b4w|M4EWe:Rqi:Ƨn˺γYpAp!*Wv - &fbEmj30ěD^AM)I=_g"8LRRiH p~#ŸgjxSr*׈߂zؓ` 6 m}p.0`͐hNz O@ܴa<穀8HC{m륜9` `-QHŦd4a%˜,Y긨Ϧ]WV9ƔЍacAgnnk;6lZRi!HRHHR(յ+W;QVD&J/P;b5|}F~`G!2JQОn7'5H5aƝ\ |Td +Rݪ\5@YR&]@>'չ Ǭ̰an}g?~FC{7;G;s99t~l8 y3zD Q@Q 0TspjI~ @q٩ 4̖NfB uN*t!+_8 "Y30+*TѢ;J !;EU.eW#ntD^8 $;I7{]zNՄyY i!F0 B[-*dƙ5&s2m~)> ϟӞg 3%]t+@n#?=ɢ(NJ ;nCs=xp?!=lO()H IȪ-?I"ҎUmDwUK*ẃu;lt24u[fQ΢/0ѽ˳Ve6J/8V Ӈnq'z2ק_#s N\Y:P"0k[񂩘k}J!SN~'c9}Fs1ϒeJGp u[@f `85n#,:jD3ô3QysHag݆º;{ƜPܣL E5&L >o;|뛳$|堜zZYZ}CI .(rZ_ޜYix`ñGS-ff-n5f3|Al*Urs}GJa=ZW^f#~v#Z>MbbԏH =aקnE٨:0!  Oi=|.SáVsi1*Џd~SO'y>$t@`vE F 73yۼ'zZ`TYK(vwQ[)"<\y?E{OR>}u р`46!h*!y7rge ) 2,U}A*l,Ձy)٭j8ĥ2N,{dO#\?>c/ww`Te'b O~-N<yF=I(]12"%" 6!y`Ӈ؊f@H7%⟹os&+\5<βبrdRF(@HlAaOlcߛr䦨tKyS ވhA(Tz˄Yd]T7Zy`0w 8'vEMWcYTsջ,c6x*z((cވ0|%HS>A[voHO7u[PBXqBHadf`LZRiw[5[f`p>l@d0A8PȢ 3$# 0h.H? ws;1 < ;A$l8N>I7_{[xppv`|=ZF`*5<{+jrO]w]O/fL$ Ap D5^"CsdEk*)ǚ'AG?jIRAXe6f@LMx𖵙 #6~MiDl?PTPo<;@`4@AM^)Z;S}";u$)RH+R@̊=GHB_+U#8_*Ϟ5T t4UQJ"$ 8k)+W7' 0DdDF$<իֳٿ"w}a_j͝Mtψ]OFED v>lѻUOPgO|dv7OE۝nsrW<HU3kޗ)mc;()@3!30da}_~G'7_^!jJN'[C+uvևIo^U2BZ~vyԋJ73{ܢ 9I:S< dΌḆ B*>qwwA֢z|>sHDu*""OBY3e< uv~O@@^ p/r8GѦ90Rn't(Eǯ{˴Hjr]opGALT}1y܍f&73ј2H?,hcӖm)}ꀁ ~X%:cQD\8~·4MZ]j~^S)X*L 7>J.ZsO|ڎ꾟 !0a(P@FfA Lwo~O;@+wK1g\dF8|?sΦFn(ͅb{*+3 *\o 9Uͩ08OF2Ҳe :?!SEѸs'kB 6-:*,wC=7׽u7}EB+ CyYo5Kz3 0%ĤCH=ýgO;N=Ț|yͽ m9UO%7{xb;`>Y+.fNIihIu3D ?ҙl?2RsSƺ2MXhm&V#55^9;+.J{5S6+qȾ;vYqѾ1W|44+L2ge圊lQRUU7LBۓEṃi]Lni`sP< ?6팮 +:fD D tTi 7ku[?;F|i8 雝GZITyx~l~vk@?Èc_HFU5"l=](DD3HE9ZRدѺib1vj߂4ת` $B.* ŦGQuqsmM DdXDN .\ c&io4P'TwF|swja4L B/3k_8v/K 8`9$'& \ypoE:3ԯz6[5aI;ߒuP]"ulA=\|_oI|Bfe [GfW@@,h#f.,.݅띨 ,atl1w@3!0fa>P"ր v:דy>IYL~ $2@(1(23>7vh`˺sf[VC~̈SFffR3+~r>QPZ7{,:: 48b4AruEӞ92.ACML ;F3BitJC>3h qL5V"/y;ü)(nQYt)WčD`߃D !(Gz!ڎaԨɬ0*R]+7*oe5?qAD w%<ԣ9^On^ד(*b* 7b*gg>Ր9fTTV1E_j89lǤP`E8UQE&UUUUTbi6G!G\tLQ͕@OG?~ɷL Ξl EB#6:cpm h..'̠ $S31[AJ0&dXR;t)Qdb;| س6bAe$62@J<`Af|IFg8_SvI&[ c P՞\xkV=d%w.y/Nqó >y\Ǥ2^dR3)%aM!V~O9Og{g;s*cPAKi į Rĝm-pa@ H]p^JmRªUNsDrN\GxP]v&9(S. +E'Q='hٿWp7;V(`SX{HED x)(j >q$y+kmR sҘ5VHN<MdiG;v9HaD27\exkvGϿmiLcិ߯r7>VI2Isuvob"?ݯrj;jLC$x!CT:k0_tD @f@p<%SJ7 ^D9yvBa PG@eɵM9y.kCنƛgFM,ɋ/P+ۻܦgohn2;#V8 (qy5%H76JļtA; KcКps5"n_ba#C% CaZv"I:'1 eghS&BOwM< 0CQ #3"YcSMWSܾo_~9bHJfrRY+2& ,,[YĻޘDײsϧ fdHbBMCtK-'BQ-\BWIɽILԸQ=WVF;؁f@Rp8xq~/{)m^q|S8T "`#L4N2Ət"=Jh(2 0?(E/c:SHzf׌njknkXsOuotV4[TQq`3 2 Vy fjΫ}W䀌rF@D K4HC]yv}ϝߣj\zx>̿<8}isCp IjR 7Ǐ~_½\q4`lg&Y{Vn#ލD(0#ö|/:/N%rC{ӛx":π<8Mm:SpIecjbS TQ=baKbo0TΥ?>(; =YC-o;c75QA#>.yi0j~O0 ?J)$!XA$ڜՊPr- 8"sy :rG-_>Ղ*$#N%|+*Ł F@JW}dk}e-=Rdy!1̠p=JfʕA $~@uxK;/ C\iP"1Z;_!8ncI:}I?Qҏ!@^֛Ez"m}Cnx}kgwS t#SJ4ϛNVf `?韁\2'LNq"HQNu<; ]g!ougD[~蚉=M!u 9]A& c@~yWn{vO{o0B?2?ŇNv8H*/!z~]PɆ1i8CnKN u;9Zz?.G}ŗn֩[0p Jl [)%jo|h{yriBJdAJ?8?4{l'0yiXB`*nA7D,jxg>@Wu-b˙6I!%VnF]38 (z-Dv{V pdgdqP֞')OfH~\3FFI(DfNrS?/ӕ}3D^Xi=aP *Aٳ0&ƃNJr&`ldN!XBy TD4F|iq 0a ^Pt<]Es0S?;䫎CGΞ_햶fMNAe^>҆6zJ7$bę$>!ϻ`F,\BQS#%$01к$l69t$c)$m۵} Hi^;%"'.EWx:-ߗk6ir#o{\P2.E=~df z_Ӹ﵎Cf >gЯ yb?+-kR콛~0_T|7 6=CĭvCl- ͚!j*oʵ5vx^Uʬף Rˤ7ܣ38fA.FXv #oBlqnx }cQ`R0-שxrņRkU@i؝3z*}|E|,ǻ_ͫ9ɈNV{BLW] L/CUu{vDH3+hf<#T6WIx|7D x; $;WǓ-(聠?9@ZZ2;sTd9,Jq ƠWa9%edY"1|bMZREh"!2\}<Ajg@, @mN0"OnH˜/)U,݆ d'mӡ{ sf;^V<( h@`V3y0qz퓨6sesq1?_`ti}Sf7YLD2m!S9xˢ|f !J ?aT!aeze$t^iPպvkM~)6JYJt8SZ{W5QBVEQ .ʠ`E_k9iq,<FZ81cF9{ie4ʸ `<1QV.LK*|e4p*=LzF$7uk|cnHKJtҍD~Iʼ/IKWAas`[1wgqe`wֺQ[Y4ZAGfj/8j+2nS܏%YVoxʸ7CAge+!0 88 b@ ^Cx?4)ӉO1f1xt7fWq ȓ'lhLg%X&nBE uaj@0f]pىmlGCӂ趴W|/YQϓդNX M1=YT|݁qD,۵gg _༌]X̙Ҫ'} `=v؝VvpG;[-FV=1{.m~G'HzaVka$ʧ vTkuF LOWA*I w#>v*oB|5;%Q Ɯ7P][LrtzKk ř'Cc# =&YU|>/m[dA%T@Ȣ X8¾lFV;R.uC\A[Gwv%rŘK2B (%N P["-qNsH;t* ɯwf@Gt >K}!eH@̌ a&T 3%vQ؉GYtG3$ii  x+eӹ:B[gg*.'!R˜C 4ी!dݿeWxuSmNIjev3FjvNr`(x, eF&JdB0r2ay ^n=[]ByWiE" 0cJNs-+;3٣5.Au1RȐF*gi|b.NW\Ap߶M|ۖ=|BXGmXE"3(a:?BRV|Z1Ζ[YS9[ A%|wi14/qFddW G,}^w0˒cܺ9yG69̙6ud?FMŠfpaQ1B`2GKg7>f~*iHDS!j1 7Sœ_et3~r5~+=JY<զel{MEY =P@ydCbllK_>_n~R1nFǙ /vyÕwluplUl {;/EZ-#l  $ J=Z >9^5ӣ?ۖKE?|aL!‚Yڟ^tln>~#?=Mkή]˻[>b{Fd+v6{*M#M /-D٥צl,`$PM }MB< 5C(.L2;=(bfur LڵRcN-V@Y XhUiW? 2қ je#|?KsXRz)l3T `[oxno~D?]4|u.9Lm.h.ߚ9ͷ-[IBZnU@sTch [ S .j5P?0 56fy]ͽ3FN|stnRZD2C#0d(0Es KR$ SHOpm/ I2k›.; 4Ӷ s8 ':dv>Š8\*#W r}b!Ď2 "y.~}˰IpW7*\ol*ULiL0a*G 3Uf?DP_r.=L6p?FHhB8oMiG뱿g76GPuT1*Qf: V t`1_–`) dG.rG5?]^k@ᡏgB#ݬH./֦X5Jm ԜsmLoM|e2`NvJ# ( ogHz;>gu_+IX@ hyIf2ëc I(:oQz􂋸uW1pN𩻐^s+?oh NZ!Cu\ĚhrBA=Ɔt^RѤ}W'J6AR B38GEhLמžtY${_8~i٥%<~>3.1 *8W=ǥ$&&#E溶/F$~˘ $qv@ 3!ގ|9clx~xgit)pҩr'-E= Jѱzp(ca(rD -̯hX8"c2ک x;]shn2c`//qɒJKJi\92pݬO(ٝf~Q@lwhO/-H\*OMx[% %}aIgͮ01U3L#DC a@Vz6練[l\{Q"=Bny*h`*8&;7FDO?ߙmVn=xv Ǹy9_{2&Ayt詧[ϭ Y/9nuVZ9ߓ̼ #B3D4PvZ0bqAmWck'4OIqq;A=`_㽄=76$A q@B4^F i"~UEC&[EDǢve~0iL04cd24qqp-Cz\m]pG T'pj|~v𬏙‚pfڞ]2/QY'jG1` 0W;ՊE% @B:fDHt.~o"OM_w=(Wx[s'4Y+(]S e1ÊIPd-'FyAߓ7({b: ~ݗV&I[O󼡘nVAm1_}em=y^sςڒP L15"D@@?3w0QZ4tK/˃+Crp6Y6 4C39#hFFl" E|Kep5G^|\v;}!Ϸ%X8σ}fK]ŀiW{n\NT"(t =֎ͯG9MEXq@태*',3H%BHsw.\.fIr c~At*yHs*7[ȬM{;NO"#2O2d_.W;73tr PI ^7tFs^gADoH`U;}c_oۉȝ)Ȍ 3)$U.\ [Ր8w: Ԧkj <&l |Cv?ײ7[)#4FUZ|uppc?5q=f%GHB^Un]۶Xl3" xp::Dm( k" ):N^8jՂ1]K 3dDDEJ|2>HP|EDC>SeS,U_KR}%C b0vѡޙK[%?8RYQHBb*"kew3t[_yM-qmTP}g5qނۙ"5`^emCYf2~oN8Dq7>FhG@kVP/w&^%ؽ8xmoY?QS#fjF=@BeGB"G[a^a_B~[wnq F`Uӳ`uX`56n,:lАqrU7qm|ֵH!'z> lZgQa\ Mh5/Fh=zm(z^ 6Q|-elؓj%m R"0ذ_Car)<P8iz#yɕNLP%Mb8HiJĪT)m„*p6bB,7 zwaYG=ps\X7jwj u]ATp#!mō_b5b)Er8-c1ÌВAwA {E&ĤƂv;8B}N[ݕӶtI:nܬʔ!fw '[e8EWzVY.TzjСUQ*d! HUӾCE9V,^J%I5*& ѤO&Ķ@jFY=u1MU&YdnJJAPx[ˇ3 `V 1|7#ҕ΀?1lKy|EgOi9UM*DC@3RůU(ȝrJ+B$XINY*cGcTGrlaBpΤUxtF'6|]=0' =axǰp w Xv)1 Hг$Q lϬV{7_QwsV %+"o`d-}ڜ^^,6p\ߐypqNN0wܷV@jJlM.Wfolwd*Hn|1w+㬒v*ݵ>uWV$q{ʚ8ӶqGlvE oaޱR4xoI8Vp$`Jf3Xw־OO>J$57^t؅$~LHzR j%WˎKa@ռ;Ք䳁1 ܜhkljW jbxf/Aejn+B"0{`)u3IumWϓ6[Q⠮(#(gCmip@:0A~4oߠ?{f$#`mNu~zwJ}*V^]{0M*i+! 0G 89&& %` !qͱJŒ78YnhlGHj˒5>y#,edö`vF&QCp7CL@ "W ^MCc`< g4JE /Tpci\C vxFwE w2(6ŷ ƠKC y`*`ϛ[٥q"qл VI.Qd'f*ke}71-{np2vS_[O}R J?NG\/rU5͙։EaX{h(ὰ43`)FE&~[94{Ϩve?)$7}?$Pr+ øzOI;-W?]1Q^*_l2oLEy|ݼ)E_1ֽSbyo/SzNbܓL$ǡ/,n\x]V"K>7Z?(C3k i/([2vB C>,<\S=rO2&IqT5";s|)8LCC$Z2Bhf_,Ɔ|r4qta @-Z]Fh*$ 98,WǓy?WvwȈ ME g2988 B/㛑t?ALWŤ<5d@(XH8,j5:ڿu]# sb'D49nۜMtG9Pɠ3Cl b p1"mZ.\Z$LC4|q=> ݗKWԎޯN[ }Jѩr*oRipH?ƶ+Tt)& zf?ύ<ߥ㣮?^X>yF!A$h)`x&FG+$ ;Qف'rVÃ8VMfAx3Hn(ͬ(? jŃ @@ o"5xo7 yrЦZ뾒|J@a]qu;J1ջȑAa2s-OQ {N|=&NOx(ya\g3ZiT(t FЀ/5B?ﭷ $ΟH!!2V&sѵs2Ȼͻq(&8 8c=2j(csPIAc=QxBn~p_ԆHHDV8/exJ{ۖO '&?c?532 9lg@ wBgEv.ߚ/[5L&D^:n*v{TIoQg鿦yƣm+8 aacp%ni?MzA^BL46GH7x@jf9'y >7w-L?I"`!S@(*S[R0e&= bGG5y[FEpٶ޷ :h l*%R Xx`{ ׮J1}q'T3B4G|i=sh˓ 7q=z\Bu)?V ]_gq8߷`]¬AD|O}+g+nv]Joq̜q>WIY(J}3) Ki!6 Lk$.ނ'r 1`HW&L 7ã嚚>ԌUL<{l לvNf'?S6BYؠY #V % tǽ;E/:ŧy/K^Lh:>N=m3ںNca<~ϯ 6ْm>yRnT_D~ƲeРa)v=KK; U;ROjV}-3GLh]̻mFԿmw-mݩ7]k.ߌ; RBI_잚܃_GrVn.I;&n5w}䝹3[4<ݷ>%tΣ\oOڷdmd9Ĝ\.'O8A=)B/pѱIdo2k~d rmGz8.nx}С<֬P8_!SCXˀJd=΃D:DU2ũFK[:3ذTӺŢ*$ &FBHxy]9 6 ]PnڙϏqpSL̃k]8t?PPs('~@BЂOc!߳8-mg|<͖~(*wSAjh떞I>yd43SGWPxJJ"]"{=V%+zwrfqQsDgBC-F`I|K+]J<:>쫝sJUوV@d@IMYJrV{?LsY_BCQYf+Q=-KTbS(bz*ubԒ;_8 ;o>yXRt3F Ŕ(T~Fqm;|fuoSXy}[6{21Bhy#UNMȶh$0TeZ<~͘==`ɀ|b HԠ2dX.מHF=Ivcde˜gt9q8lB)~vg-5U vf sd#b5jj!݉Xq(V8oH-r\$lќ hn@)_*V[Ċ8tLTD|Kl;^wȔAOz{W$h !ᅅU'4#5Αx1<ϔ~7{I$H`đwvX}ϫ5zi @)}9]Y^pYϸ'*Qb~2*-?P2i)AN:;Ȏ1%>t{iI'|}5-^x+] {r·1ܩTB0`ə 0E4[WU^=Im}b``w7Gն#4 Aρd zݳ zD>X~K:V^uaR{h˫a{`ZGxz?ڹC=z$$ϙe%jjXyp8kt}^z nLF]&猰WJ,f~MÚӁwݙDϽjCqΝEޘ.}??,;<0vw& 6zSg=t)ݝi/9Ly3aC!e0.D?Hp8gO|J٘k;$F7Gf(Բi)r 8'^lzjFs{g'[UҖ`kf{j^dNT&& |2"o&#Q/3OU5v.OB`0ayԞ,_&d$ܻ&sSI. $z HFB:Σq9wf]6jWrwcVA{1@KX3d赮jܕHt }5Ŭ,yCĮ & 2+>Caم|t3/3k6Io~uC*4#!ʟBΏ:e> aI3.8u%^f8>BlE8~06" ؆7VhM`^XU+Su S *_=!Z2LtzJcpnI@ " 0LYS uͼ݂melZNg'iڤ$Ncb JjjXl\^; vM̎PX5@ Gb[^z0 X .3|o+Fun~o\-q HR5v^fát& /w~_g2]LL#,@ #i$0#e ZI;)r۲Q|cO!xsi(*Kۙ,2p<$F)՗IuWhm%`2!3.+fka2f5}^*F B[zb4#i@HFfl$E!/`t;NËumDV fQP}߯]XO]:(a~QNDR͝'P&HR<)Iߠ ШVg/_p1Vq3Źw ?,'ݔ =0 GfwI l]S9ޗ i]~˩ K,4`&č'lj -p~vp&Wws;YS&5 Քk4f Ů>*f@OA݅cx yOOD;8:p~^ғ@G7ȖPzW[7| ]sI$0cTf\;(TnW`}6 ! ЕP\ fwAF:5e*o0`;A` "=AοfGwG=~":c_5>JtïQM?.?xt VcƔdd `@@fJ6Z-+gyYttthYO271~fζޞ^oWݬf oe@7fa^TK|ۨPCo ZE"7(A RA ;?>}#:o յ j8: c \ol-SoesF̪ CQy۱DJq^WyH1|, sozP>]EKqS3Iiz],1'tTc%ebVVUlx>?7wnq]LÝG,ϩyH f՗yQO<t%J$o^e#PtOR79ogVY+ұ 9!YB|KG9 m j]Z-"JR^{[mn<·IPmu2˷ދʽ3oJ7d,P/!"~--r" yFz=M_#K@K-<_a7cfpz-C~ѷHm2d$&tQ CxV|?{RQoi{l8 ܅z3ਭT&UeggThxJ s3AD `:*u;zq)}eY$j9`2J;}3T.p[ <ݩםuW]% _Kꎲ~tR}`黖ƿRUR"މ[˽D# /[~OsLM=Zien 8L["nBR9ށ=_lRr<]05oNFj.wR+z9!Ã3hTMX{ݡ1M 3џM8ALs(Zmge|vcC19nu+_ L[7)]4 z_#Mxq/O&&6d0Bxwӟq` B H`#C+x)w9O?o\&5N[p]i#q4w+14,3 CnmH}}Kպׄ ׽[U޽?5٘sŃt˶MjP0Ҩ(GڙJObz/nw\#`w}q+*M'5XE%;$,0y'JTP><.WN>;m,RA|N~z}(TAX?.l,)͋`ՋXǔ1B0YwX-P @t~9qOtz[t[@}ʬ-r{?AycJ32 72$jϊ_g;X/\} kp2&E X3K P)AA$sYO Š.5 :Y(<`0<'ߘ[_)o'^gTS!i:ӂ Q`ަ|0\}RdxHh<g߅ab|N-x?9b?>;ů]mS;vI x=̱__rXW \3Ct?[N) QP&e}Tw uX|_Qn~+@<#&C`hnñ{fe g3:~'-̣xWZe.ugGHE; k4._TY_$~HP(AA` PԵczV.{DU{v_aB[&TIl&P ts23(C8ďtEg |$XdJhUX`yrF|3\{C_x#x | wNa%ʜNh[.JpLh5#~ALEd@أ~ֵ_}U\}_,-?*AL.B1sT Y J~y[-b֡?|>9әɴڕ>TMxdTI@̺ 3 fگMQ{>S[oVeﱕ_O08y}8xrD14$aZ O ֭`pd?S$Cea 1;ɍN~"yY3" vsXv060i#13ùǢ gf VU(! 3aj*QRJ :עGQ/\)FQd55)` .oI)1\ʌ\@'y;?W?>Pzn Q\:BC` }"dM$zٜe7[H/Oxs>c9,.P1fL#wwrV ~_RS?l97o΅9A}73%q܄:BكQğvE>;îZ&\ybix-|kEZd)AtרS:P30,a@WZ<KAX9f;p `:`vJ?s?Vdwo/oZ#nj:8=$4Mi;_߿m\e}n19 3>yýDSQi9!lR0@)Xd@xM4:טe ު +Uis&qB652BϷgdS}<ƈX]q4ֱ^ߢ#uM,.40x8hBh2r箾.DGmdK;F1&= /m>EL0zNuU'1<'""Z ("~On&\Q~?7 ~jn@Mt=, 2BAUɐJ Q'CHP{ޘu.WV;fȏ<-uO0/ P~BΈaj",Yro򫬞nqN9z&Oj 2=W[9z#?ϼzaf2# ^M52*Ȭ(lP^%HPzaf:@3R5H;pMpFMƏJrh B(@2 ȖlYiD%ꉠ losBϕ5k3ה17y=ZZAk`^.bi 45 uu#Bj ]3w^{xj(;Aw=޲K.ĭ~G*+00QuZz}uEäg%ptǀQQ4LQ{T =j,TG۲36]i/S8ge0NH&2:<;Er`exQıd ;ٰ_pOR*~~܏r[=W:sppsaS(zgiaFQj40.4aڽdZI Hwίe>7W_ǂjJh(u% sr|:'(E@w0ùlKdj)E0ܣCZ6')'X!5i.CUlM9.4?3t`4#TpNQVĐfB{؏ҖGջ,a/_nyj+~F"ũiXre_0gc0p& `aѣK{˟p>LN aO,{D付|$Pq'!~~ˁ?c0 *gdY($#B ;P>ƻv]=Mڏ+X=2mK nպB2=<Ih:zP!UgkaVH%"1xasj.1YQ%.>PիI>Ě&„*TENĨgTz4eaiI6ծªqfrقSԖC>FN^h:A(!}~g~Fz C+ZEY?'h[:upWZD>X qu|c9 bEyuJ=VPTGFy3L7:ww@# aB "kpVگA3c=/fc/a|yWǃzfhNy;J@a{x>_tHbELP/("Sw'JUFce]ֳi7c|jOjJ n1cΨXpr:rCcWxǩkh>Gs,z -eֵ7ߏˆE>Ny3RA r@&V31g,R,t%&,[Ul\dks?98)Sy3_plN`Cw.z;D_(OAwyBME" FL`bCd+PPPTE-JłTAE J Ebe T*T1UaT BkAaRi dRZ a6\mficb$V aZ*V V E$QDV {"@O rfP1 0 )04>dM ?d0HX8Xwl7ϩ'G׎Yq@0%I? )ωs#e;ccLȔQ@AMH}ҿx^sDŌQ)#TLɼljuƞZ;g@(KM.EF7?mYħJv!]|??50f_doFm8[h&0B@U^9ofhέaG8l}FZN*ޒDlah;l`eA'j.yb= & G+%@s~/ sًooKօHvy/?᮪/ Z8ZYzF\ZSNdsJWWu{gX|||| ޒ4уͿ*3ӂuespCx_~u_>;LM1mufǩh+sfwY,E{IƉq\0;_WL\k:uI<ӾgS /r>~%[<|OF#ޏc:;Qm 01`ҬgwH~qx#Q gTq#Ў}_B=84لiG"{ +;v r$:Lg]GQ,3m 2@A0=ٴͫQ[_gƳ,WKxp%Lq[iʲzJm栺 )>EN|uEri~tyiES3n됹b8+yz͔VknQ0Nm*G6 k_%+ksN(W̻[Ϳ|,'TlVKxzM5Ir@0q"7X̒ƓB{?n|2,bFw?)wOL=E۸=i̐-1xk?0qG8!e";&BB,xMH,ǸKExo +\23(,|e9v"#h h%00Ѕ @e l!=Ͼfl>5ysbz R~llr,VsQ1,%qpF |&NXYU˟ɤa4Л~,! RkQKbON4(wCrJص5ȇR܅i#[!} nZ5uU44Yz?/Au@;ÂO  /yT6ol vAh #D}+\W# `yzi9tݽ)S0/0D>?j[J`-5[M@)B\t""phM 75Nf[e_aR]E7=|ի &T6"%6nm5OʽbJu ;9 D@|O)zW]U۠0)Hn]3MO2ng'?~]Y7Bىq{֯odEJ*ଡ଼vTЄ_pIh7K7Eb=FWo ߃ <#AS_Hw;I="G=z0Az=K:'@((Y`)d{ AX-[AQZDdXRC-$ڂ-L'5"Q )^d'd=( `iȈB40|K'm0@h7v/<2}xzx3mL%o~ѠNjʧU?#7޿D̲ dK2 vG`w)='=ǎ5c*xHt,CE>^QSSxLg$I5& {</0 }?{,1l'[yP g)1l<7-:~ #o,5+}r^gヌ4ibk}Dp+A}w̴m5\pvۅLWjj:nBN/#|c_1Q`Ù"9_5>9 DߠPxٲk/oWPo%kA`8ELҭGT|1lB?$p@rdسQt::,@4.z| 4Mڻj'>~)4 X<%].C*W(0$09v8)[08}vgw!MMd Sk5/;>8*Y~;ywrFXE!2.P,jToxM8VWyپk;g1c kA(tYRY0t?DX瑩 EDj%ҥ޺tn3Ҏa$d¶{O6ɂإDP 2Gs o,Nc)x+; ~}]QmUTɌ[\L'ඤ?YiOU?Z.u*:P|~X>U/n#p `G1oD(;mYD* v<`wiR9gU:2Vh!-u.m | 8Sb s{juǖ&-:ADX7Pڷ '(iD jG" M84=h/@z!kӎO CWp&"g~48A1!qyN=yj#c"3+y\ B/ 7zS`A8ydǟݙ87QwvgA"ɺW$4*v<R\Bq8GOM#uoeL#!"8Hu8n,\݇sye4,IX]lIwbgJ'6JzѴ5O{NnΣK0rDpN GUЫ돢lNzut2oJy*N5Ǎ*U>` 8#sPRCg C?dz҂H @p oaN湇sA8a46 1}/ AUڬNJ[m'r_3mH>?! [HĀR&cED$ 86i*6rO>?>w *j^40sX}+v_O <0 ֢;:sFYc Jk31'-s}o~ Y`rUSAW: 34ְ] mqKzAS H, uhrb4].`2y7+L|]h1ܜp~w?7*=>g7ŶoOĶwK̋ϮxG6d C;;Dcb 7MKΘt2t+a΋5]Q:ù|kTuPϪſC񕞧D}gN$ЖQKo $1&7^G| ղl8 q?_ql--2j,ތ.1%V(_>yP#@)ogN ś<[3R۟CO5dXIA#fbn{v>kEqLngX> /gk@~ ~0 m 1CkmAcX06/#򴋵Q4?CA$@fFBYJc3Omg>)_z8bSs/\ljw9tbU[ڱV-Knr';QiW وKj6 Uvձ=e:6c˳m=vyYNmln(44:_ E c/htT4-?wXwzY,t reTZ,Đ- d =nomGoF.gbWP /P& ,Ąŗo#4I. wdkLߚP{t]Ngznus} ݮs᠊ST:`d V2ق=c'wvQ^$ƴ7\s!X ;cqI%hTaF#R|>FEvpTJSs=żzoR+wp BG &V#Ety1)Q\^AejP]"11٬ܮ4tQͮ7oNLDR @ B ;x'\ BGA3h)s?TX'hr61xq7dW39=Sފln;W7>,@_ ҪckrG 86:NOI qhIOw[ Ydݶl&P<@j;Dԓ+3]maG},/K6RB _guչ)W~#CH{rQ9<]Ξ2cViMDf^m=c^8ݽVӔ/Ϡ -@S2BW6TQ2/("Co-;:~N{o&NdvX ~t2w^-?y{e1_ВgtDˏz?EVI}ɓWZ${?6gɃ#3>B^I_<(^OՆōUz#X*)VyTN , ᧊aebP0E$|-MRL@ga`0$|V+6:z_wpAS$bE} :߇оUٽ}{KW3G4`)&gPwO+smԑ$</0e Nm/$F#L5GWa=3&z}yzӈ/*w˭#וpھ4>D OJ ƙ!i%Mn ȕ2gjF g!B`%Ѯmn6 tj~0ၜ7_%*XlLa2<s nB%L43*c:5][ek<Ʉ&sv7cr-5hU7{sݽW ryl?MnZmE["c9?c_wDjӤf4+ۈݗߜslaWKܻTiߏi겙^I.5 e))k{u Xh8ڟr1.QO LHd~T5w~t?h;R߷=CyıF9&{q1ȵH?8")Uvew2Ui {2FuR\JS|= 1PU8! ';6!n.XtmQ{o)0F*ɨt >[6sͷc\7Dq| fm ^VJ!RBwq1wZ+OX g.F7,{ӭ2_vٟzedCv.5r߲0NfA4HW޵&Hgh{ܣD\f_} f$yəvʯG4.{M-U-Opr[p֙G]2D {+7]ĖuLq_ዻk[Dn+R!Vz7I6$n2DCxf׸iƋE45,`l{CAӽw4PUdZ *dƱ=FS=M<߲k\"Ϸ!S9<(RyS쮡)}~o^{8D2ȶzmx*u[+aF/14upYNg\*1%Zw6`u+ `Gzl+. :&?>DI}DD]j(ӈUrقaʍH(Vیu 3dzҶ2 z񕦕[/aYTO>JŁ',cM@ #2sAO+It4sTnvRqG&gnHŷUsIئ #}jU:β(AÙ&Jյm6# Jm 뫸~+п%T: "jȃiAf).Qy4u+aPW'[cPYuMPUࠟw}K(bC#8LjzezEU=8 fMNcV# cPWiOkgT+o@|!@玙olMHOAJ},F5bÍЩQ'5Uijܐ V|9S䷺yQ}JUgQ\U$`SC5\Is=efkLw i-'(TgVasq\򐩭LJq2D-hAyݞd3{5~6;&$1,Mh> P13! ǜerڊZnvoN.p"Q̱ET"Z #xvUYor(χ+@e8C0_>&mSi.V#=!q! Vq s+}meN#K_AA5ESo_+a$г_xfy|i$O&/=<_u9oU')$lLSK`¬:^B)B";"p K ,?G)5}cw`R^6Ӎi+(P8Hi*cH **IjR ի<?ƴ)k2W_kJNc{ܱߜNjϡL$;\dv-~)}gq/Igmh=Pz(ؽgFsHݩd%cfxŸvefޭ!;hqkkv::~B}ͺ֮G s\v==R/~su[)1wDn 刭#!4Y{;ۃ] T2۷̎pKRBi#.!q_ESQ>=>†78Y|>^G#ϛs;={b鳚tvF.O5h=':͜wib`!toNqG;A !Ӷ!sMӮP]fBUQE $l*1m@QH$#30f;UQPѥ`C4&"o벙,/ ̓ڸC~qxq̨3q ?Od?/cF鹞~>ɷ[w%Kh['c4r. y7j^c^kb<9"DD'Ҟk)Yor'_s,* rx=NpV(J/F>سم1>f۹<<'А=@agؠ\0QȲeCʈ @Gvt|_ *r#*VTreaQ +IY;$/4ѷ;mۼNԎݏ&! Ӕ̑ke?܉5F2vj?Oq`"8KjwuQM?i/TtfO6-L8 K\0?Ji'/`69{g-G! 8hPQP|C U(Ivzh:2kg^}(sɵ]6S[huZ0uj;{96I,֠?ԬNHNhg(y߅*'Ibve10>3G&QQq-VA_Cs47],O2/*p"zInhy9rN$I&X0X"miJ܃1%qa-9{g6߿ a *|1/y.;yQjYw?_Cq08#0P-Ktm8z}Rlx1AY&SYQ R=Xt;s"G*ah4 `$HUak(HH`R$E*)"$RJ@@HUw%wv$ @E+:ϝϽ*F0!@@|<y{뽈 WyށZ.;vU׍m*ZtECJz[v۹VL֮`\GRwsWMnך66ڪWwuݝ٪ Sk5VUjWwt괪(ֵ{wUW=FuTU[eTm^T)Owsp&r;Ή= \ڽׁSD 440&M4щ0MCFCF#Aa2`F&LL&LM 2i4h@&hL&ɡhhhh b`SdăM!d4&06Lz&44LSbe6&iȞ=SLd O! j~Ѝ1=& OCU) Faڧ44hh&hM$"iL& i<ИLi4z2i&+m_- &!xā2p(ɦt'voxg+,{]CC54'Y>O.O'AEH@dTJJɺnb/XzJӷF킯_勤TvUb6Ā4Sӏl>_^]:_mXBGcErH McCr*R&5z#$(O^ba-!D8 D KҘcmp ~ϐ `BpDqK쨆͜vڙG+ [ijE;tM p D  "D[xު=F[=~_LZ*܌ ݎ7I%ꦜ Γun˯| L Sz N2wn| iENȷUY5  Gh%{M#&/ۆ̔N@If4UVx&%AXv𹔭|>{Q6/o- >gA2{GT:v_i^ 1{- [~b?A}Z-e5>! $i&{et91o𢠁ctpGDI$?uâM3vQKbԊ~2B0B< %5+v&) :-wa@~utǶ575&@\TQl(C& v,@ϱSkoq/' ^mV)U_\8j#_]ZlӖh vvqZm<6!\a Lf"H"ZG-x d( [@?=j@Cc$&zc_,7&'lHQ+7o# *Afm&kZ^P8t /Yu(} Z[sA~)uz|`=81'V\xܤ&yFu6(]RN;&!N2qvюWE R/ŊK)]?/h=BAapb Ge8zd=K zN*4-өJqxJ0e4 n-Uhol̬پtJ?M @O-OD% 6aVҜlX?SY dw`b堚W?:8X$^8G`.Af2jG}A 5Dj{擋1,⦶BϟmhĥTWO0v֗7QKJJ K!jZ %靱:y*vX6I4M)LR)E` W`!59 fTPASrPֶ$RX,9[$Yc.R+\S \P1C^; Sӵ6BR̤Ԑ+:?((_td1bg(є\(ق ɧ6HWbزo{oKEޤbU} N華Eg\vsUTD cx@3e<p2 'id9"bcDkx(Sv(Yq|H!H KKj>)ttCZ{Zh#+פ2}Z<-!ABTf+ ⁱmOt|2PEXHw`Q+K XhnYfz+jr*6Oډ_n .(^*)"`í*A:Ex!j_@D>.#A!07&ՅW!,u 0C!m7DeA >.i( .@JV TdgRʝf ai/%|{7sL]^8SDitXkzAi*ԂA*< o,K@jv;A21pZyVZ/}+_닉Ofsg?r:+u@Ln9!(0LX&B`M@aN@\.?-IғQ/&RͿJ7.TO ĝĹf;: qv_yʎ4ϸQ\=Fٓ-$ybQ4O>&IR{Q߿?G"tXiX+vqZf!N 8٠ bܲqLgjYxZҌLk nǶ2YvYt,B;Ѐɖ\]:̯I- 3rtF$APF ~X BeppqNAg14ɍ9(ڃ(Ó29$~SM?f~Ohm0L@nUb8g\CBCͦjw#@<7&a Z@V%gX5FMD&_ON135ZwѤ _IHR4 U1ɺ[1KضG]"T3qɡ !#7ҷrȥDhΞ . X7O,뺷$K6m)^ 64Ue7m vBb0kWoCjdQ8# 0DL@-$6_"s >ßRx4Uֶ&Zʼ|űxYHvkezy٠V%  1 |;:d=z* RHf߹u\ |F{y$XJU:fHGڮsȔF8e)ywkoc7lkr4bl@6%cD "je45T){G6 n3+XM3'*ʠc>/lk'Szl SWaKH}OlVV%0Æ2`7HU;0gC+0ROۘZ'kK>V۷o+Z!:M άH}mN/kOK{IL#4. @IV6vzx%uu@&df]㥈o$e|@i^c <_OdW[Ip0Y\p>JX1ʋscpSzhWoxbZ5[ f`9 W}68N' QKg$ʆ710&cn8Q AmjuDvSs@g"B`@/h ]lF΃0ۋ/sS'OJ\]:|YED]p.H«Nv3N''Sn22@$29_xN&z̤&l D +ij߀lGHהJ9ξ:AA,\ Y. Z< 5ܖlZOGAM=nq.箁|XHL - $ulyL-xb8V^~M`)BV l$@닚.Jhr_A\c#<-3-y8E[s-m r@ AXp|oib"<1ŹsHCGNeX#&< v+taA;M12Y #VanԦfQ2B0C5 ho[óUyr:+:}F 4!MG^9&nifJKBf O[k '닣7A&S*8 5-f(G_E:w(hrtFzv6tXOik6ЂS I(W{TKqln*%jȭPP209"R #&cVc R ?;i:G-:`@w$[0H']RlW[7qKq;_NTpT%U$6c!hڨUuo:'YLZ2c'Ba!Xv2!V;:uHDŽS6c V*@@Sɗ6 ?c?J3Fp&8\GIXQ~]/Cija\LQN!JnuB0R H&^bu(H@R9ҨjpG9ΤЧ.b.n myf7bkh66ʐ !60@`KM뤦X.ZP[FXA/W,>@mͷõ>g5hacVp`\ 8R}jj/W lmwe,s vJ2 -5d%AGo -< B Nj'ag0>0Yl1򱘤A>jpJ(/ ߰yx,:G7j*DZY=~ ;B1a-N3CV@C9@[JU\XhC!!!6q.R~(ji!$ħ(ǞP=;[[}ӧ(_8d[ Buc &换Vw3`1;.H@po T ;jv\;~c5 !G Iq_j=Oj}G*Ub֬ab!mͦ#GBOXҷ08wKn$vJ!°v+~~P}c@oWOB[[{ /s5>UDyKZsZGUfk7B|4mXy85u+Mmh>A}PGeG; 0G48Y>]H.5n2xrmbǣ,/),H@׶;n{iy]R%@.(8]cm3FgguܵKvRqP)M}7k:0oTyOɱBmxصG3ápOpr Xմ'GrU68Zx.+V bS&w{I/ǖ234]bOlSJ9$$ C03h%XNz;2u.}4N)1eho~OrXZGmxpbye9e Yӈކh˛v)Pܭh nvo*Jy\}o89[)\8lh6SmuK3o]M[͔U"RΆy6ܜgZ˔у)ݸp>r!">Z͝ Lޘ.?=\ e)ϜQDe/za@y$XIX,G j,y,V\ԴU4/M[nμ! )]O?5b3zɭM!tW0¬D- I,Ip'e곗OSJ&q=~O1O ,LOf_Sg4sb @3F,$!ƶʧW,wש5_L]|ʟ- g}{6JluEgHn|xjCШ {(e1<<"-׹Kk/ߒed[b\i{Z|q4aO12g64Kշ\j8:n57ӚlyF#ra\cFbBam]?3  {´ ,YaiyU#ƿ_̫˄* ,Z's:xFmY >>q'qve _N-I\,< "'T0 ʺyLLf#g~}nyn5'J[/9$+aBM@/Yj ħBa!:;xDG.ϸxw酒"a%싺K)eO63 7Ou}^ f s#*Ğ"ɱB kCHhG똪-M:n}}96o:~SS)dF@ eV聤;s(}͞6f+t|_830XKZ#dt h߱T旸racM2kbXy1L/,p{ cq @q !>w1feŲ{3Q7~w4=,lp{7%y@֣S-Q{?:L1E7[ސcGmi .ĕj = %'Sn{ar3Y];MTP{8ݖ|w $s~tZ UCQBBUp\Z[L݄S]$[=bZ>4 ve;șB^#Zo*I YZ`r젺A$ln%APWWs%~@ي(Jj)HaZUp(>)'²HMq *j,:b)RS:-:YDzK>T⒤[ݖt $SY R_AnEDfokIy6U}DыHf- iKCN,#h\gŽo[3W%@/i<}sEJw%6wN.<+Iƭ'Xہ ȟYk]ij/ s;gP6 PC؎n uخq]]rX=;߳kuo8t;_!ǔ i{}-LD0^b~(zuӰbSdwu^`SkXVk";POE6Ǫ? `-:8dϘڮ{j_2ȫ?f5CX-nl8Κ o˽f^n& ochx( |hgBV" ᯳C2>{nN9׍2qU OGT qZ ҒDU-I4 @4(R;;>ViS^Qw87ZG?w%my[Of"iG537l%oC=ՙ[mn^\*A&Uc];M*NPІ =OrqLxXcU>v wi`UzAh!kH ,YX1) Tu:SZLP%o\P ]+*-Yh3\-8\T, jEF)FbFSIcC-nkcR:lPaT܀ރQP^jdCR*f勬-6ZdiBBEZ Z4h+0fU7S.QAP;PY*ދm IJ†U6}-׮ P{|QdbK&4U)*)NʡH d ;źLlǼrTp3$% ʁ@4i>!p6t&((ݺV&NW4pH3ڛ"ŸE}D-6eޮR0>_%:)O4J&O!D~)B/@C?x >,"b \7֏A(͏ό\?r6TZl3O6W664ĦlUh9,ҏ 8 uSJ^@~t٬PwHP )"<4м 8qfZ5(BݣEY]kCK V%QKv%C339j"9@)xYFSCHRFC LfS.Ļ݅IXC5Z&L(isN׳@QQB46Q\ڲ,׭z1 gKCsxrl͎A MHbEalyj[z% *p11/*((`B\;SB|N:Are](f |&dM؉UG/v̦D [/]8EAY8u2HR5+촙V)5͘vƸ$1(5 G<%"BA`eq 1lJ g`31Fm/5 o7v"Z.eX0mL@* (e.BjYjmRfC tjfT` 6i2*<+1aLYSi-**,A)4eyBPAE#Up*q($3K֯AhUcB#FIIق7 ,YaE i(YRTr-GᶲĕWae3p8%kѕΞMTڀB](칺XQF!hY3O0F4ä2[ N(95J`(R>b2lA=,xD$uG.EF] XJ,EgXBKR5!Y'Fc[6q {,z|Sv,IJgUR TrT3 ӦP~lYB%*p w;VQtlP 02HLUT+OUŌ0vu(S\ JgjYjIteᕭ3-$GLebKZTf+^yRI) l4a8X"Qfi ym"+e"4"/YF2neג@@ڷw$ Yb0 7 YL <ƀ"aR*7ӞLntIֲ:J@TGX;vQ o|)b'p2o- 8KECsRkI0- )UP.yx{*dY-s!7+@/kxfpYg9ٳ^ǣP>Az[0;K}t6!̹$Y7q'fC;J4h&?WK-B@K#w BbAa uhG DyU)y4чN7-{G/s,8]Ē& XޕZe B Mǜ yݔU6rzɼ!tzh+ǃ _UynT9ʮIsd723Nj }0z/ى97)x`t ʭpH@DҰ+ вQB)\8GK r{_I4F]M~%ƄRyo7/DĚbh!!0'^& rj=&F ^ 칾3i5!7ďtD .̎YUY $;ls\GQb_er;? x>g'-e_5Z_6G⁈F4bLLr&@  Ab'Azٶ  u;M+H>Ӧ()j-u* Բ2 m}{YX/kJ{(im @ [{ɴWO^́hV!pd[޸Ĝ})B ~'SS5u=]i涯W<47qȼ7IHlh> @AvtixM3Otxuπcb'ئƳ7Wz۵XE2bRl~ ɭkU@s6NwyT" 7aX2R嬤]8ۧidp@@2sU@/InAj.)!:9yv y\٠663aPptS2A{y\x.9c< mCT2Ȳ0n!BzK` j 6 ҥXlr}2\~T1FAMЇNd*B/==eUqc[S 4_fz|y%<## L~" )t%'#=L~e;jJ.n|db<|qf\Nv6P]9nh1MV"|il䡅½=`b3ybFR0DS 9Ÿ8N}DIif@Aʅdf\k  74@ChMmd˳/0 1p;VP2l`q:N,,_(vyrT P~䂚x8uesQ]d0ykæB`bA3 evt;[U!q~ AB 4R>\lߢKBF83#Wt3lʂJ&ѡ8׵rHfR,Lnf?FkBOTۤ(Z߮@h$ba 1CL/zIc6Xg)>>}Xy zQ>:]NnMsT9bMr V~݂~}f[ou8\=&-}Cd{3s+C.3"gx|[3\c'" 0tt JxaMvf(̽vUθy#Ҷbu0X ?Zu"u'Sk6\x9M#5ѷ BKXrw7ٚ8p J <-Z.7F ɳm6w lEΣPfVdPs3_5ѲC{޷x3X'js6|D4WFnL}Cs8,@I1%no~C } xӈ+#9ע sdU[?}ؙKW8Xʃ^[t|R/Tͅq}43Fz %A>nWOoJh%xZkQ?)iECC[6NC ]@BDrsgFQ;}¬pZiz4)rEևOl.տu̴Vq1dbtf_bo4.[ ND6|%kdx]F*C4?˶;:pf _'o{{|.*&{?lǹ\{qx7 $pUs]2v}tPH|k|Wr?թr ]%_5lo*N{-#~g0ctFvkC`r,[MST64? lD 1)M(֏x9nzޡY/m0ujW &ng[Z.c{ƊWLaPM<*Q[!7;ϒLIO/~b޻_H*ij\Xs+bcZ5rt9rA'>~70u~v\`Z@\T\$ ]AQ{X:浇ˡ뾊by,~/XLi=L߂mſý0@wGYӰg %uw8N 6_޽JPJ.*/?Fthd]D==!ĩQoLΎZ' )"APe30`0]ens[$gNk7N U8.+EcŠ2rMWĿXPRpP 8 J@ mA(d6(\"e~yTB0Ì"+r%[A5(0B@8V&(@㱘ߟ7KchLxhUߍK֧k'=#',>:A3[uXs=xeۗ[#Yb]Ҏ @4N3{[˶Knjcۍ^|3zc̣om4ZWd1Q7QSONMe%=o3qUF|1ʃ`-N_5:ֿ$y/1;׎9|n9#9jAjF?z˟9o74ךuhmwwwY̛ګOyUҼ5l8x5F|3el׫<~l痞k;/+{7=gֵTKo^e'v1F<29v ? r |:Ft.^( 2dKO$.J8IG!(&'ҐMezݍp6n.5.oU YmYC Gn j磑G+ܔ^*" ]F$$P%Lg  UZ6Bg< G8Æ\UrixݫH0Y-aB#J*E4:4RLuAQ>,W. H6[#̅7y%vUz:2Dӎ@:( 6p @J:ZPh)@PrD;p o**䊼ZS Q;R z*Ѝ !J#H#B%(*R- P$BD Q J(FT H *Hd9 44 HKA"Kf`LHR E"eC A JJPhV iF"AXiQRH)H4RTJ*M*H @2%P 4H4R()E(LLDR%#JJ"P(4D@ "4B4B9*9%(ddLH!B4!LB*䃑JP5HQ4J BE DsZ(B% hDARX$CπZ"DiGdRTBB 8J=ԁBHPDB P z@J@JfPMC V%JAhR))VJhFb(ZJB(RA@""Q2DiE**0)h )@h@iBD&F\@JJPW*(Rh@3)Zh$ P5H@4B!BPJ R T,HY"R@ E %J PJR#H*(PHR5M LB!Ѕ"UP H-% HJ` *JAiTh (Y)JjeY+@B"H+BB@DBJK+B%#B*jW$ 2V(i! ¡Z(RZDFMYUҡB" ЁJҥ BH%% !(R%JІY(%( TR%("!@40(RD)iZFZF JP V)*iZE@!$ XRiT*R&C@TR&@T+JP-T!K(9R JP- *PL4H @R R)BB"B&f*J'T@44D HRJH2F" FhXJZZ@((Z@R F RhUHhE*MJ J 'Td!dH-Pd @r A EiVh P"DRZThBFU(TTG!(R AfRRRJD R*R D)D %@)DL\RZE(F Bp(B D b((2$hQrG*UZE"@S i"JAi)$hUc%]F@4da @J@ д% k0JZR'!h@Q)r2)(bURhDRDPUBRrS$uP r)V"JR h)iBEF  U" )TiH E(Lr(J(E RhZJ)B)J"BXJVFRP(+@JE)Q J)B\% b)EJTh @ RPV r) RFDRih2C ZQ(hF((r2A) %F  S$)P  P)ZQiV!2Z(A(RV()(JF)JJPJ\ DJ @ FJZVϲ)V)JR^d" (SB @*P"4RЈRP*P.@R@JHJ(D BRi@TJAuBP(RB%+B@J4+@ %(Hd@-" Х (4҅!J(P#@)H(% (-4)@ P (SB!H(H4J BPҢR J")AJ@+JЅ%ҨU D*RPd( @@(J !9"4"Ђ"R#@ H4BPЫB B4(䊔4P"4KJI@R4ҴP( %)J@+9*RB#J4 *\Jh@  UhJ(Eh)Q)(RA)()*RJAh@)2L F()U $ ()VJRiQ(@(VDhE)QFiiU()BB ) JPH $@)BLC%@(@22i@(Q) UJE\QbS%T@ BJhTRB )iJJTi)i )i)rQ()2TL(A@($@ZhhE(F@ThT)( PiP(QB)TJUVQW!%D) iiEiC!A(hT @(AQ\RBLD D)TQJEJT@iXDQPiD%JLBiJBZ@BAJJC%T2 @P)P)DQ RFZJS LBPJQ)%P PAZEQ@)AFUh)W QrAU 2PJErA2 P!<Ԡ jUT2PEt d*@Q@JR4CH %(Q@+@4vC*TxD#E S`R? 'nHRTB(z @d=%~&Er&Ҫ>@PEXz'TA^2) 8hDxH*m oEՉǎriν@&oN'>oz盠e jT5*qy@!HмfyI9 HRSP#xS$B2^2D Y>蜭rX 49@9A 9` !vEZyH!C WPxByAN=:E@W @"d(d7S4TL+QF&]쇺ܭ>J G$6pHTG(`Q#M#R~b|b#7@CL2!4=uyeVe'وi1~/hN^L^ްdCuP1iXe `xd !I( eZ*vQ EMObdU'1ڽ(RHQ${^͉?49OAn@K{,ȊMiQ.mw{|[F2# B0s}T>~@TZ›o])Dv!}h%1Rdzp_ۂ7cNa~DDPwu&6nTr8.`QDá*ft> \`Drhi(/O|MwpHa0!HYW%2T3\';%\; jWfg+?>_u B-22 06U^RˋyhXhmZx")%Zr+#1@r~;]YO},6M @ 6m@% :3G* ء31 kp'좢ED+ljf m+WP@ I8wk!1A̎5-oQ8[.̢ AuD#`O)uk sJ$u@ -d"xP~{;\A9pPLߛeM+ _|UVt Z!~lu- Kc}O3[DeGUg -3/?QKb\" ?E+(&D?Mx:Ȝ,Kg3&_+>=j0 XuuIe+ʣ&<EutlX Ԅ7>qEv$J/o& IA,_wPY[X2]DII֖+ Y@`Q,!yY`䏹  +QΆ{LBfʧi=F|(O ZG2j[fmr@0$ٻ+OE]ݨE+nzESo%i`ZS?(҄U[ƤTwdo ~.P$8`/W-.(HX$+ O-@~rn5V* <,.U騂* i<]eHѓKv5cIEkgixtK2.\MBvCTfM횰VUK J Aiwm+zhN\[Dh;o. pގb9D޹ Ttd.\K42"פDD |5GwBBO}s ,H@B?ObhBvPm1tV6fF¨HL'mU& #zcm^$.K+:I7$FK<ǡ"ACA)Q 45+ЦTS_bnq~OłaY .; %@ԣ|MxqȥԽ7 *Ȯi(cN#?cL/Mb| x"k TB~|3hPH+ɂʝ(LDHP>,T/zR (X|Bh}S -u NX@~$@B0ua7Ҹ@IO!v`D@PQhY.w15zStLwG: 9>0/^5>tT-sYY1#0iPDZUi@T QE LX!@H(4 @c"d&4$EbH0\!PD2 ik3RNH9 R䴻@Ĺ('R CR H@ B)HQЮC @LD!!FXM `VXiG "5@bA*rr@H(eBr)jP51" 2Dc "RĩQT4HR BN4d`PT Hd@6HLEZP`ADI@STB%D D+H*@Ј儡#J JL(EԔ d 1WMJ  hT%MKU,A( (  (&,R9">_{qRQEPPUʂhUCWN{utpRiBJh)h E]tϗ}:j J Vi@)))(D8r<9sςt$zsϟN|J)j ֔""@f"%UTڄJv<8币(PTT:sEQ:נz"+fea@VQ)P ̜OAlBUO "R|A\'?~<ֻ)(,UUVy/![|7xװxӷ\ƪècE rVҤNs"ZJ訚V 7%UPvr4'Vfp0MƸ?SO6y-GT7Ne?+kOk26Q5p2x*!op6-DM {;0+x&Z}EAxmoĬ;dcU;vLj*31אPH*Z_kX5]G{j޾|Sy沱 $U U9gv:y]=x Ǔ7gґQɊ (O5Wk8S-ށ 󻞠88-Z,Dž&ɗNmp?s>d"}#[(,R)m8Z)h8&~m `5r[iȮ$^}b*YR$Z&獟nG2׿&D\#Z CFgE!-mj}/԰46\H@%*/[ulm% ^}KKlu4=Ë{ *almM&PkLoƇ'e߃y/^~dH&RmH5 dfXGumqtTQ?奵Pݵz_7Ds ڿ2_:#LŽDj4} x(zVGˈMU6y17pQ=:G7ׁ-13y0" rz渤 8k궇Z"]}eps-Ga%&=d%ӄ((+.BLOh1XwN!`nuǡOI#O?ѕTX?ķiVbd~*dJgރw7E~$7k?C8$V!¿W'SEw LcYV )Ah|Ê'_FwJh-v|Ǚv ]e[b5NPqLYw4z؈;~vw TV_=r/ޞ/Ka(y%@2uLn=Xg>@0?ʰL}^D%/i7?ݚzS&݁N+=Vu&33\by~R!ykҡe0^mLۘþR B*8Dɻ־17kp= kWSؒd-GfIM#-fMζE NQE#g,x84VyC*=:0Q2eŷM~a[3E mN̵٤5;IN:̃ ""+ CYe&;v8N7g~0 IEƆY ݧ4]N70i(d:Rr0&Ӎ&ܽ.~&( |rM:wO#L_0q0"cqtXtӖz 1Qβ8W 7q)]W6Į> ZKeigd; 3jPʦ2A_PW*y&~JgW?B  9ZX<i8δܟ+Y2q[yڔ0ivژFW`U}t_emsfftTK7D¦CsϾՕ_W¶BkYgʛM;1dj!GX" *~(]%zgj2 yda4a 5li>\6S== }fz'cj|Gw[}w{7>+8$29z󺅿]Gзc둯3辷WI27d Om enp3t?〯y_(Yl$}N"zY93ZbQeˍmc3'}'.r_Ur}渝w@β%Kry\}l|ᘮ1ajbSq./P{"fW,HFh@AoC66$NcKu&}IF?q>Ԭ:"kKS:֣;,CB|GuR\b*`ڇ(ڭki:9CL )qꋅ1֛n̏%,G}y}ZκԋZIH'凬"J~:\]/=5+}wrz"҉+y曹q_:wY( 2qt R63AhkV|դt:H(,Z՞}UmZϱb٣mrެܼ)RX`tj:}SkjH֥czpլx1?%g(Αĵ)62 }z\Vuih` eՑ5nQB_ j^W'WjYW.y8.sZ`/qwyR( ! $Vf*Um--37}̬͞;~\h@JQi (2&R PN>@聂.z\JM/g}k_}O,JqEA1ttZQ,ͥulW5> nj\J?AsBpik`cc<)` o4N ñ6vpp0"{==2HiĹHf2N:;zxsn^ o# ɈYt|\"!|t5v7L$·-<9Ze;/ovI,COdZzcY^>/*f9lOYuSmlq랗K>Fb˜ƫY͔qƪqxLϻUEr$BKT/k,w z97I(hIfI u+.xebw%qFrcS܃1Oٴ{[Eee^x& wm ӆ wEGPvsG )s^˚D<}M!gҲ=Icw8%- 쐏mwR[[ayҧ6]tu v+mU{{H` IɡqI=둋1tg23mI8Xj_h~ k!5=ot$ѹHrF.9~UB zmv3g[NG֞ xײys}mL\z9{+=F*$>Wfw;\K+&o2lt{#DE%BFOjh2JWZ] j}Ë^iaf.缪9~ 5,n\"c=91<#11XBP(OT"Uaכ݀hV:(DmdhaK ]ΈDAzZmB8G|'T4j5 \*u"dݭh6Q Q+PdX (S",1@C#!&B3s0@ ,) YDhZP0+ S* ( G $L& \ %, 2S@A<曜着 PJS*" (5)urzE ̪̜E @ h:Th r(0V$2iD((@2iiRLrRW0ĥhL2hW"!iC!j6%AJ@-+ T(9*R9dR #JdgkL'RE ӐHIEY @dXbdUP")DJ daB!HKT(`d#`.JB4TЉB)f(+E  RU+YFIK@ efS0  !B9 !6X#T+KABa J R%dd(QJ4TJCABB)NA +9A@dRCJ6`IY4AQ)CINHE)@RAB吁@"T( m$`B+$- *X(Z0% !ZQ& ,s0\$) rZii  i\m BB Av4PZ%G%% \2)hr)J1T uFb- Z59 "d -(ّR4fX"H%H4d*d&BC@C PJ@R+H#F@&IVQʁi AqTPu"4%%"*9)H"QgGaD@y "1D 3^[[w?;Wb6OoA/;_D_h33椈,sհK;Ud3}>6͹ST— Pxƹ |=cj%J{G f`_ʖ#]~rc@b}/Yn/׿7ԋl-*:*/!9g̓o^Iyж :VC)U EB+gGNsc@\S.uW$iv%BY5u6 JopFz܎N7=U%a Viy^g0Ϛ]WQ]x)Y&Gyd<#o>&3A4/Lj uIKEl= )U}DxlV=Ԕ-.1?I;Okw,?].kJ8/^j}d]^Y9wKVcZ@!BuI dΥ"2tU!hdyl߾G~p7*8x ,ʦ2^yWIzou{}x;9~n}td}',tוdG%,껞fwncByXTR73AŐ / C 謰E 3ZMLUԄ)UBH(I*/3oG $'*7akU:`XC# 'j~v6睈l7ybbP;TMMڂR^@@(lRR P h2PrL< ɐ(5[[kW yq\'+0ִlh :#& Yk*`^Y;~fnm7#˽oky` t&}K"5%z1r0;SM/%C[ :9>o2&KrnxPCɱl)>&YTʹ\.ϣ2?}A zMCo>h;{xxZpehpSGX7ĢW} KN'ߙe!q܍ ʮòPK }k7E EѬӻǹ 3ۏ/W(޼TxXеP^%5=JKL<`{ 8m~Rd gzsoC '.[߫r[>{Omgs;=[_3f5Z2ugCv}cEs_t;|NU^Vro2FNU^=5TU} 5sUWh%j 'ֵ""SUUU[^85swf.h@$TJ|U@@\@^gF3ӄMkx] ߹j=2w|rpvOoDƮgۗ4mow$d3Ig+a,ޭ+ߧ$>Lo˨dAxdu׈h*xyQZig IοLs^hTId_MiB;lb1-4:ntqwYVkwqGe& AqM&fcuWcs0{[dOlcq)d}I"jU17KT^sC=h'm%5 %ݥE/޹WSv;ߩ:7+Gղ598,}y4sV (t:e jPCZ>*mtឱ?&E.N赥r~u^_T+ȣyo3A;U6@u5XB[&tlQ/! 0sGy/9ZOYo3{^/ju]Gӓ V{u\g73^g{Jy=ッz/zl>?;yH UO44Q@D0͂t$I @ayϏ>~||8ӧNH@?JP!K@E B9.TХ4УKHR#H ҅ RJD% *4H QHRHd@CB 䁐U P BB4+M)M!HC@)B( JP?M E C@RDHS)fhBA(B "|Jfw/Wwa=lϫuj) )JNiiV 2rLB|С. =!A1k{a.bj&]U 5uv0!!@댆*JC0jno ,Ղ ۶c5Ҙ(t!:z4`yOӎ,~/9qF#H0<1e]0T_8lg󎊁m38J?EvW}#/rzMg$!wɞUKdJU:Ņ,ކ̺}uN{v7zV״α snc*8\]r2}|þxPIun1~/y6` MwxLdnjc (A[HNQi-仢 Vmz3;<<5: qi25}>dV*|!'>~.pQV[OеraVoUY鷮RGn)<(t?clqɘ: pȄihz2ZE֜yWsRM:^+Ulxo~e~Dy25ۼ߱+,GSw[Jgn+GZ=NIl2ph_3xcuH߃}(>Ǝ%ORB!ꥀQ\ 7t5_GJJxSK[Yf>~B*}]vbփ[u%H) /+?vצ}ٴ>Gk8xV;fϏhz|]jW qY:g&pq Sަw'Ԏ=Ok,OTnƒe_3&K3ߖm۳nS9컛/Mlw o_"t=vUAtP%t1#/ S,nˍ4bh&߀rh^۫fF"|/pNvIUMbyY;{c7zC=7+{d*smض5u׺"0 Q͞\ ޺m[wT& [*^DfVjS)r/焵.)!zM^rTݿgaGr>>vFK̜,ChҬpZy36D,/i):Ko/ҟ0#V,ΰ:WK٘uܴ^JXm}:J*%d2MZ%W+7p++)12Wӂ%anT':n. &6ʪ*v/#գC I>-3R[#jF<(lT|zd/'b>')dvn#>'LN^-tlٛ_~ƺ/ kzfW|[t>wkgBw0; rҨdIhmt&?:ۗSi׳%.. **=EגeK6XX}ߏrZ{mױҒɳDӀvם#H,5I1M2ECw9SmY2<$~:<@#;Bڇ%;#NiTtgke1dI)6m%5~!7gSt$kLV9Mq+JV69EzmU1j7QHL]ykFiR~H:r6XvlW1t t= UϘ.4i{Gͳ 9uu =*ug?GoDD颇ֵ7&'?H*}L%Sd/tڜ5xZ\6SlW3;΅d`ٽAla/F61L5z2-z۔;#^qT>X@,@S,*hg|LZ%'M{Ww~T47 j(^f4XS9i>\[TҴۊ{eحYb?S0)NӴ:%BuB6ňOf=С\${־<[';*meBi sN3 Q\:V}Da܇aԻ[wo*Rwv9;H]w5 &FB'KƖq"1*5.kE_Wf_Q[#''rL~dבk _K1;F=Y,?j\~wo!qܣ^l[N:cϞgJo'sg:nOg$Rjz_=`_Sh.ġ4*5GDa>q]N?GM;M u>QRM oڨz=͓;K?w$.8UX1W)m貰Kle;;YJt-6euyۮ]Wk,ЛU{Cd3 9 oPSm;RԏGy~.n䤇U_Ț-f)f<ΖÁ+a:q)Tf+}xJdgO.Ն+aۺn ꜮW*֟`)Էw[T3#TKC_T +2y(%yO t$Kŧu9vz ޫվPd:*W-.0^Z0O}Oj;  L*uSyS޲x N<7S_ 3=0/-a W$g;76'Ak#H[s~&(..K9DVX띊>omew|mo'}S{O3v䠴HS%% "D>>>}1;6,vT |?CO7R6K#cov'Oɀwj);FyzA?(@ ??)ww~4zs~;&w O"" @.ֳVmD RzΪBkZ( 2Z 4P3.x@|k{\T x"үdv59(d9!a05) a}iɉbGj_ꦻ)߇=mry,ԏ\K'&ÚL/pBJFZۑr]񑉱\l6ia2s'ty7>Q_wT_Z"|K=Ӻ\4w=lm@5˜4cyYҷ6I@Нw}cF4\% ji=ݻg}0Owx,NYҜKUl`-P]rsd[uL5ҳIەG7[|P`lڸ7K/^2iV"#࠷zzN9+>u=%Epǹ;[1o+o`a|stK z|)UHB(nG7KMu}5:U[FѳV3{ae8!P1>暭)A6^ls< ,';ts2ܭ}SoFUlEŤz\2pR2nk4]7/=%sny~@n,}t;Zqϰyn<^|tgwynujZgHZ&} rAaU8S*\ɵm?IqLNfU{;&bp^p=\ GgSjюMUS̡ܢRn-ܑYն;Z>zSڕa Yy6Xijֈ&1jrPV\?Qs$8~t~Zq%:1zUO7`jZ>:6} 䚩+w28~F˚N.珲 n=;ԒlzD K~g23ƯA1|pKy*Zk)5[Uʗ]6zZel6vOeV- qjfu;o+g>]7|?bKp]pb}5_x[/!Qۛdpỿ snPF)kj >ƾ MmiO?_%{m{uO`6ߋx3F>/}FPCN\7߭ sn靿kx? 1{UJdn"5 =95(p b;?}G {3jtّav'˝^5Sw N!:'>uw2\ ~mYyv1ڶx2} ζ{mV&~=K%9+4}=96]u%1k 3?kavITyl4$]o'Q=w4T8Vz[G=Z$Q{Ylrjpw>X=v1 ?u 94mi;t!֬O=vf zX+J}Bݿy-lVѱx\8޶dO:/a'36v7c 6&#{:s]w/<~nH0ZiX6zDO/ibt,zte͍0?OZHS5=uޞaH~b9^4zd`cclPGqzz+N&tk9 F4n$$iRFGvB} 4hїɏ'ΒI'ϟNʫiUTYe,m 4zF2 Thҥ4)*,g˴(} 4)RJ]JX zЧNi*뵲ջEiPJ;S蒪1;iɓ(PBsZ)DDi$ӸTh~4ȡF"iy;, CjDF"X4s.3_ǃ{譟7"2&(kWyp^)c*s/Dܯ`|1,^7G!! @0|+ΩFzFꐓYt3ux?/rM/ZI67Ė,3з_#H7=qm4R7JxYNSi#Ŏ?L' ĉfgOk7;Fʲ j Y&HQޞ[MfVÚ5I+^ίY]wҢ[Dg|E/e4qds. wy\oN{~952{&9Fj7|$,߹zǬ51z.aseUmA& !z|TOkkM@Lm6f.[/D~v6=1q2aWEl*%=-)oÅ؂wԛcWQ,W~(A_ Ti)aʴ!~r3҉|v%SOx_"Yj-u?SӪ4`O9PC/XaZTm {2Jd,yZ )8)DEϗZqn`E{}ISpޔW۹7 ]_WõEj!DA-yS5;ɖ,ZT&]˝Yv@Okָh: ;zN U(v{0BB zi~1L5A_y.:MQt/I>c ^{Ju査v*CkjYWsy{;S9& P g)ɪA"#UL5H!BPRH4PTB(ĸJ"JBҴJ %#B@4RP(b  噻U\3&ˁӺB Zj`20V=C{vRУNJØp%?,cz,ңJaq 4iNxl~x=UG7DFa4&HsY :o EL' )1G) U9]24ӔC3Ƹi=BooycJE'NV1U çsN%L'㹬C  muH!Y唙B.1J(RX`NϢ4>j3zғ&)1“:`pae:c?o_!"R%Fe߷<NY~wΈҔ yx8ۓ%D2do 4`9ޟiU5z'y{<<PS(bbB'+o-??>qy@c)"(h\`a/166Bb}" [Ɓ^1[KR ~Lx6ŝn?bI\C+i\Zzmu:$b"T%Ͱ428`vOvSj1YN%QU"Ƅir'B!_eew=͑YR(BsמGLܩMCisOaާ=1)Ŀw՞*.Z)w4L4t@_ mHO 05VХr(gTPUATMBH(R }<* @&`Lƛڡ ~7+6j 9J3qpi%kY6HFEI3"%٥J3$1#O7d=ϛ2דآ~5]^nUrʻmӀ+S[Bm-FBHW~-1?o .eV!iɩbHoli'Ӕr> ;Y10 5Z("h?o~G}z> ?5O tvgqkEt<Ԟl^w4% ]ىnw-ڗ{ir &2lTrv32i zcM?P;<>"ߏ_ѱ9d5YyR'peND!ᣫ&(d* ! 0\(111hk~-g5;M8mM%~L //!!0[ \Cs>r3VZ7G)L[ɧE4d!@`T1K%d&FA)H)U@ITlܨ.Jut9`TZMCEQÌ8Of %UJYOup6_h3* ꖮdr.=l"*"gUtѶvٴe(+!^E2b"J0 ϴ1oT5 9\䞎lS?/2/S:m8f3kPw@s9aLcKQ JRC$)(By5l!rFƲgC<_˗SBnmL& lSIrǑg+Z~״Ǚ=k:njuIs{]@mkOa>};5(Eڻ>O4`-j/˲LUuQTN,>TjBz@C@-c3")kTpp >{}Sέ1vt_Thy6%gYx~)/#G'+u1{Yv2lJ01 a,AQ31.4C=[}gra6U # X5@8݁z\*)**CHvkv;^UU_bM5QGBdm_æp~7p>[=?I!|zUXod""ht7oE}7v g59# Wʘ` Āzq e8cY[Wq0sy3P^$t# ĽpBls 0 Q6^{c~o~gOAx?Y?'!;g-%b,DDM ̒FR$rAV9%I 3e{6zq1^Rpl!i94` 0Θ2*T3FTJHuo[Wm}>ߙ9/;No:m,;ǎxotd61W3v;}OS }]9Ϸh9Vgl \ He&D2w-YZ\2=uRJDCB! Tm;NoN3Ea)>O-߭?wn8 ?_;߾#:C euNBRX6K/;z?kc|Watޮ׸Ƣ<@HL =0[%"DpZݬw#n,9> Tp_[O %2Œ$ۮH8ڐhȐ0Gc^ }N¸C 4; 7vщHUɂ"D0 ,@!7b renowQLy:\{?}O_zGKLӑch6&FoaCyݝݻoچ1#A008@3Ms]0CCT0ʜt???av9hit9HPІ$ "y]Oq=<{yih1]?~+<>z˯Uiar6N˒N,`.)TiG^MMĜ J[rD?>]Z @,I%@cx JPqp9VI`p ML3ܫD{o9rz ]/9!͙SD ;E7dvʈXUkD_s9?2iٴcrwV֑s/‘vPi!5dphu &#?Ij]Zp8~eYk nJ\Iϧ#_Z][eR8/B!lz0hV1` nSy=WO,=gx?wkh.DDAUh|jvTh~4CD y %p% wy^A {=5tX᷺w4Ui}f`ݸ k !ȬXq 6zյS3?E+sw^zG5{mz{3}k<7c^6^64^IJPbP"")=#c3:BJR"Q]v&`Xa$s2x||~gDlm0BgF#4(d;\}ᅜ@f`#F'g繟ܐ%dMfsc7-DV HQF$o]Ejd=/N7#^M bP1 ?/Oz8Sѿc.@EA@"aޱ=k\0׸g1u|{Se_ ʪ3^=k:k o<;ʽ}x䕲jx}ckkTbv . -$Ҽm)S0Z'gqWX "Ee+TZfǼ, J{ueDM T)`iXTȊHQE)g x N~^rti:t0#l ^Fc@B)S:Z+K]>3p0@9IөPdAjjIgN"L2}Ac׎fg>4"$a;?~wPO=s4 DB'Qu5LV3ͨNR4iJ( 3l{=rLT\#&OA}t yv >ov&D.H 0ޓX ׼!V/qI. "5e!Z/^I I!G'?h6bow*| M* 8C 9uHmlvvp(,fb,v 4͝C#ZtSY+3ڵy'`߱G͆=l5~?Dw=^ך5"|{4}ތ=k65T,XBś|¡a3fov<:֣b)R{A)E(LJ*q zr:G|^#(K1Rvkq[J2bɯ c)R%Lud"02'F/# J,s7.z@#L2}u}HJg%|= 0#~IH T Nk؟>"hz}/DkJxw.v+%iMV jֆ5:|{e  5%JMW|S.v4h>2~VZJkC<bi|Vo/|;Ï\茲+0[> *dJ(Th&Oz-]Vá͎{Jm~_g\H"/n#E볝~K&ugYП5Gֆo֣Q~Z:ϭqTz<Қ̚fs{pxX%^ޯv5~hQJ" xSwnf&yIj܍5RJU(RbW9`W'1 cLs|OkȆ~lLC,2dE'χPUvgu]] :+[QrRfU>/Ovv*iTP:tTko[#JI!j@aF$ird JWfoh(e%(>jRPlj4p!D"tbrf嚝|~:tNJa208z~k)9Ia\S>μRD`f5Jb{]~z_&S$Mv=T4ܼ#&00HN9Iӳdv\zot(ھ5v 0Yz*r'm[='HLQIMR ZkMʌ L:t>uhr m7@4 :Î8I:D"5tP9'Rͪ 5JYDKR-֋x;sc16 #kNﱸwOg#=VMfU;{:KVs|\ {ϓoˠTDFpseDDiut6VJՒ-yL4X] u4'2:*TA1{\O4)IӔQI5vm݉ Rom*D#(zGDWbB<,zzzpzIlǬ(<\Ovz`ϣ{` | wU4@ S2)Hަ I>0u%PD"Rh8]T\1E&LRO=ςG BDC|n'wOGH4 O?7Bԅ$>oag CQGks>":*VD\aw"QJ6ó9=>b2Z_(J):xL# 1 w[bZCB qF7d%Oq;X؍ +5&v)rE۫ NC^r3*1x6* 5#zOW|g''AdP| ^tKxvWT3ɾUem)e{tMmʕM$tzcy+*qd BA !aɯrtVbUٰ@D~O#ڟb&-(u|c2OGq/1Kw^'tTg/`u9UcRo޺RDUp-KZw~U}lA>G8א[tOS4 B7k0;s3;s( 3l͍=}]GQ꽷_6D'.DND%$d!$!Ȅ@#Dsl.wkmR؅5jl^qx7N޾{O%3˽WZL1D0(UP#6+@ l0naw^}|=ܷ+rfa0w$,I(R J8}CB#)~ UZzCw.= cb J+8 ==hW~ξg|L)+Z$Y EX(RSvA2Xοm;i)㻯rK+ڐZxOɤ cV[K Y? }_'{=xݯg/^s3Ǭ$vvczϛ8O 1I@ݸ-a,cn1Ĕv?~$n*̉TB(nvLNjҡ& C6,=';x︜XÏ,SfB<ƶ$YSh}E??nhMonp)3׎BB1 eBUو2 w1h"KQ¡CQs]u믖fB0?ex4!NnLSW 3 ځP #ҪDwײqF;z^ j;4P@TbEC<ɛrwt}='Ƈy/YYpF6%ETeE.\Ff)} } ݖ7_Ns\1<1+DsUPP昹vR+QQTհ(p t#9}㻹=ns gê-T8AQEAK-Ò1~E_$yAi9@ <% TQJR?'%oHxdnSxӿjIك(ԩBaYA=?]~߀pb)ųnۙxjjoa6řntMq_͡RV( a\-+,C@vTԞ=:_5Ow{Pu+D]}(SV*(T4=]gKw}|_ ~~" KZ2Ks D`(hJ*@<'wz<'m:4 C1dX.fW1RL}8h  р9B(dxB & W6j|bLLT8?KeWy[(IP Ǔ˼-jUk9WjDڔeMh(X#6b^/z=T,R (`k`c5vbD29Vc"'UͿN~  H+fØ*,p[Lnfnv~'v\'A#I}W''8Գd<>r0B$@@wO';s5Poo`APANrvu*s1dЀJV]aG}?Q_")!ZK_^%XyT J2IEn;/Ot!3?~^S_kKo d+asNX y}CJigkKw?`Sw/:Cc ` i|U3|~~rQ_5Qɑ+@Rj<6_PQJ)F%JQ$A/~뿉_i E)f>dSfD+*h eqct8?+sPIDW)H4H$*yJ;h;!E (R|Mcky}OIJ (PP8l?WFo5HvjQ 1# ߯ezs>ZՅbkz6>yס~Hd͓")T)@QA@Х#[MYHyM~+utTs9xs$Wg,o~{OOOYʽO )5B_lO{0kt!C\e.cw>,QI}㡼%y9(1fυL@ƭeS"tW?w/>o;tܷ.GC09'4fZUU_ˤ60h뾿~<WoNm{>E \ p!)fqsw]+ F7m`Yq؛`J1V84pg~zߪa30/qjo&wN1;YRU!u;59.;۠( Ti1*˾;. ^)q+4,U~|8LV<7K2ٶLc6ljdAouw4BV*THuKdt?y@ϕΦJ#ԋZC,wm _Gm-B||U$*0R!E*v]6б*o%*ZTpU Hq鼬-G$zF$)I%WxG`j!hNSds\oçdTP,X1Vj#@ɡi,lZ֥;_~|sEΣmhSIMn]JIɜ-zWأ8,X] #i6X:LAU2Xcr~G| 83¥)fbƕ 27rY}}53)Uq /ݫwVbR(*Xs>/a_8\C볆12P֋llǪs;pq()Đ8bJ 3 kmta:W'|>?C;DCzj72/kZ8р,Paփzi1}5 <ͱv4%`8u(rC+'{pa'op1tm6e7YF LAP;zKb\\P8)S` @ i2VڳxPWnI6@q,EKvQXarT,p?j[N+$ڋiBq۶;o˸sGǽ.~1\K 1GB̃h%_G-'>nz/*lEC]49!]ϴz_K!¶w1& "P=79 6@4N'i 3aBB^0"( @$vm=ng{aVa, b'o\*Xk.P1J>x /35ȟ^?zԿ\W6d)=4)C4mr8 ~f1PP$2l2Po7MH: X0EaUDPaaAK梢# -[H:C tEHǏ9>L^w.`6+d-08C  -K}CgpA pZRwS澛6'.kӦڮK\ }hĹbϕOty{<:ٝil8 ZLd(Vh&Z- 3w|S"8W5VjNk J66b0$m^m3_+V`+*( v|&PH k V+]8G?X廿Y2{y 2)r35344=PBh<.O/~#Y_~j`&@ &Gv*ȉ9m5- "8ޏ?焿oœ'3ɒqRqTM eS/GdV0Y?3t Ɠ8ܠ.*'-nȌʰ%h*EurvHm x0  l-(y]K̝~GGsWۧJji` cYQ!Qx<#ņEKz;3PdaB7l.JcJ) :t R3-mioX/ӽO (2,)9\s-@F ұ`C)TrۘQ)AݻI77ܷ=69S.g/ErT69aQF0MNF]?'r|;C''q\qn AK)D[ڛ/=ۛO[~79p͗9noA#݌rH ("G~xo_߇K}mlfa c!ʮ@6stZ}dTEڟZ%+뿥s/^ǵ JXAM:aT\v0z7?Uy_6g7TVAip܄.  EphAy/қDdZ0Py!obiFj1TEV5G,(*f Dw1Dӫ\k޸{2w1%l*0JTޣtTÅ~.Q]>w}GS9Nekg/P0Ă 1kfmkݥ^o  [H"X0̔J[7w|#p6*c#6QpJ•H(j?w{}/>KrS9#8*T[v6<5 m1(E5s0Hׇ'z'%ŋƴ_nrRG{cBC7XnښR|1?=4>~wܹs67` @M7O;.I1D*0PXs iッ?'O迏lႜ=kA-I0֦HoR;v24 }Y#xUnN$yMTrҶ*.ͭDBK xWb]{sm+vWHR)RJLA-)ZN6\|e4*IN^9mxH>IJ (0M|ݴ3s1ՕvE[f Gyc?c;AP(EBH(J]a IX֌գX$Y^~sO54T0᜛)b&JnFnx{:K~WN!ŕ;x|\'5!qqmG!pAsaJn+EM3zqAQ3鞁⺀L\< _A@0blˆl%cU)'#W"3a5KDz?=Gny/nOq[Gk]F ,c$ kB%=V(|= MR_ 8oI&LQ,\TЬ7ޯ|G{wU&h 2Zb" C PKry~)UJh+ػ۞(x O͒l1s`#1!mOu]W㸲nUԗoJ | %RI*@P*EU2LR wny{vyh ~ F5BB$UdQ oCs??o?S;VsCys;,6w2QfRhK;Fp=>T]黆W7 ղb`!0d*EDY0q ~<|Cq]Gsi!!ڷ PX"ԙF0hP})n~?7rBj[ ʖ=X,Cر`#F'SyLe/&Fj!R@ 4iIKIP"g+ CT#_76Sm0T$YfTbR]J\AUGk`K>G {5'h )8 |T$*;Y2u}mxyp'tĤaRJ#8xݝK^wgp|GNHz?'>7~wZJ7vc _afj1UH!\ oS{xwI~>`:ՅTAT0,.m,Q-0"J0DHJ{ב(dB H0DM4DA"u(AFJ Ɨ =Y~*7.}W.Cp]U^^b !@AB%&B POıH"lءrTC\:b.Q!Ur[h t=Cb\|(|D䡓ǿynn봙M (KiFdPDB"bC@ 7q`; (w]Hxm9:9'RNgt CvIεhV,4;Z24xN?{{ Q' ΂u|os㒶P@%P?߶H#0UE ,FJ#W>%;9 =[r>G乮{]Kn݅Q_HU IS}G FnOsyfQ`$ p-п/<]/iЦ">e$ -z^>/O^(SCGduO]e$FG,T28"ltO sACchtg#oҒRX20c'tp K|F|6qY2 %N]/>D)k}G $ !<@(ܸ :S#w -FIFE2 `$`@\a 0=Sfzz?|>mE}~U/F劉a#1 QP U ,{Vo~߳^}ߡ_Q~{qڈ+KT4&Q(, " Oŵ7 hS:/mN~'+v< e_z3q\\!hkV.ZFQqrh 5߼s?n#C|<߻׬@+r:LaW S:Aȁ`oaVuexL8z7GcE'5w/V\V6OeΤ 0 +UNA`}U,܅Hx3@$ 1hUReVlEsʞ4|O ћC2:D;9ͶF0 C0D \rjc6=Ǐ'%l3;><ߣ^w|pZoOD^oIa2UP SJdkMaU:£@S-q P{g^ .~rۉUD?'# eDaD0 jHGH->vM"j11(]5ꌉs%=}ەL12`,"u$KB.:Z`Ҩ֌|VaӉ}M_I\4|n-v\UYzE4s%/ga\XİB~Ƈbf4܅ E(p28qVQ\\mKOV.3ϴUCy5`jtL$ !A`Gb f>.kp/a._[v7uaE _~;ǔO-|5J' Eq 8dHPFbD81apQaMyarm-)+/]q׺|-3 ~Ea sCP@Z5퐹_}˚޻}o;wS*KUhwj`8 DbTeU! Pal=Mg;i8}m3y0 6t{m8)Ƈ&+Cj"q!}שĐBrA;߿#NG4bh:]F0 s31 (i A'O_{U^aGtם; 'H#$S M̓*ܭ&?3]5?/wbíbA#QV09&7~_3<-$^#ZXmn&nD² 31YtYax/%67Idzf}W97k)>KL! @!)eEOa ePSeur;/~ g ƵpAJ--)BotT O[6,̡C laKE]u$׳1c/,{e}4\HnUTNۑ__oW01$5=Ţ30fn3o.W~OmO1ݍn;N[bѾwNYT JdfTٓߗ]onK@DDY d=kYKTHG?&J⁾Gxo*w/%󒓧9֏8}wV侧e@}>$PBzVt1흸\֬FEFYVna/~u=Ǖ}oc1gW䡞Hx1du K3PCf6^&l*zN[FɮIBC80ʼnfjA_mY Z&; VvLP0 15m vE r[L6߼.{n_/}lm?BKVI&^Ͻ)v<:ܥ7zH=#$fAv]u⨨s^?l:چ"ݺMe` bl?3}g՜ "LuIsvv۷w==||uaX@;HCbHBR%--#@ЁJ5IJP(R* ""*( hMtF*Rh1@(rY.;Y7QI~WRmN_Neֆ3bng2~.o9ۃO11 *Nwo3p8(~ lxH'ڪC}>>yz|?y'9^մRi:mj=Ǜ<Q ŷoj뱽jצw>e}&T[5TVj6G/t}mX͍BȨ h(4ixu@͋&ۚ|w2'{kzMOc~<08k6LYF_o= /Oݻm/JrIaXj+5gbj.N 8n2{ew/=tQBN Ӷr`(B"T-jei I*N*S→-F9 -N$MB)ӧ9՟ݟer8rOKיS,4|OuMNs]b8v3M/!yxZr\Ã;"xpl˳wC Tfsq/5aDwC}|,z,| UH/,mgeQnf{.;e>f98'RC:Jc&^P̻z6'1Hh-jR %ͱő\[pLG$;.[-36{}{դeK Bw_6qdhw5Qfw_;/ݎ]ab TJ6Su{̍4o"Od&8]Ն >=T|Zܬ3線^nq41(yz{ܯE Yu<"h bBق]|n9_ׯ,~zcx08 p6qvP+Sq &F626 t9F)#BQQf.P6=ll؄&-+uA[[8Cќm\[>?(9Pޭ*kڦp'%/sP=_ҭutTPj,cdO8ǃyBpAqy_Н`8 0CoJ8ևȠf"j1sֿP?uO:WP &Nҡ[~ fFo;7uԪ:L,嗸U&&|?T>Q3\!{xUvek6U.j95BWø;È@s~/2@uF_ц?H+^{qn=k O]=ǨmrZb3<7:h~2'8P0.7Ȼ#\"Yh)a]Wꃇsk!66e[}<T*6ԗCOXB Odf{(n:$L@= aQQ&Zo-sYBDX Q17n\#20= y  ^,7~s+f;^`!nhuV%MMŨC9pJ[41<>_`_}aZN[6#m f$ Քe-^+qٿ4j>3v;=Nwh-M/,QAFwz𚠽:Y\*N*g"ЇPB%p=3,5|n[_{R4E0"|2.GG?<~)mG§%DVe\w-Xܖ-/&Gz pj6OKQ~ qP-q>}9܅1{?;PJv(UT3%WE|)4-w-nҚ;h! ۻ|-U/pNu}US{?A«I!O]#at{Gꛗv֖ j<,]+@ѫKIng'ȓ%.hҴpoL~ T?Rz;ލ[Iޯ!&)S՜ֻRÖs!_vNiDip3FYvh1@h'y۔KcN%w𺤜Y}4ŇJV"k]E1et9r-}T%ѥw_Zu1i3 \5U;ʓ [:ixRU 5N?4Fʓo,ѫjkk}4z9v,/w sBcO?Iv0V>*?%=Y wCS K=dWQV,<_=5fBcK5Ȏlq6MJLKx4^E*Qq8"@ʳVO#KI_g-V "JR67R-lF,On4ٞCI^iI*ޫ;yne&ݍ`s;xv1,_ O[ fyތ2O⎷eQdOحk 6;)Xiџ Qz' gpoI`}.Asb3?(+^ 5r{a]Ш T,faB~ɮdkgqXm۳HffE)&Z?I߶s[橚ONu#~wճNQΛ.oLe(bTYN0uT@ PxRBò`{g(>/sЂ:MצMl}gQT1OEQ\>3nyNvp0QcAfk6OzM, '00"I3fO8> mډd~V`W(q C+ BcCYiQ6@4/QS_}ov~sU308<.Z>j%MY3Ԇ HVf/XD/kV.PO$YT#-MepڻɀigYSx|tO.Tܭi1^[_)-s9}O?p+.F}ͲYC74|$%Gu})'?,8>mwgO^ibMO_-^ىEave+ylưWlJ@O;JV,=]Т(UjĿj/FgU$Y~o6)\?٧ZE^P7Xԃ4]n .jmYkN&m43@#qh!-8~i <D0PB l~{X{.hAjԘ_;ԥd\$ ?h# q$41Q+z} 8[/>5ڦ $ho:?T <䧲UJr̦}h'2Z q!Qh.X?+VW@vϏ״DĢ~>0N`|nVhl;(iy˜QU^Pn^~`\8cbgbZ"h%zJOVc; ;<[}7G-VQᑼOoyGy_g?sTys_ÑVV\ $gV̎b82`/3O,L_X`\VuF^o|>?{N멝Zz.MXwɻ'yq*˯tӟes㭗6 $:pҬH&5fҖQ԰aݞcjza,'#>~'w<'3kmn?'u+z+4Fms7o׭|p$g> ~.r]q?3cܹ%ٖB F 3}jȆ 4!l&twAEWE #/Q ; ȃI&t;4)ĜjdM<tz}П48zXbϊsjs]\K`t-^QHEwVDrИuBHgqT7ivL t3vZHc{U'ZŊ eŁ[(ʵc_PՎvg8+.ˮA6:\$Nqr9lv"-ڧxhP\L6Sy&ǀóA&{ u{-ފR\2+oi%]0;QN,sZ/1/er''衢 mr]òAU47.wk 4P3&!ly̦+nGV]råjXm3Ua'ܩzwjRޒUSwDwIw [}L~pS J N7=|+ٻn3M6>#ڴ$5eME9 9dc/7qbT nȄV5]0e Z XөD逥FORY꩞imMS9EјHY! :Ҍ=E`< ܴU:RQdA gQU 5'\[m q)3dIY7,m.c! يlWBƺ];4*t3ȣLo"IaR<ܑ䔄:K!5)nb?8 LfEs)Mi(@LpF&HW%ek(˱`/aU* 2Ć0X䫥3>fnZ8t•q9qa`9/Q b 併 2/%DV89!*$I)ԙj91b iH]6p.Zl [eoNr݊\)a-6̗kKKBEa5jǎwbTғ u\{ObuU8)C7ܧ<\$u|NB:C=GGy2Y<,E ɶ)2$EFvhXzl 2rOT3<ܯ3*MR.lb 0(xLR"$܉ؒd*ӚOBmj-נ.: luD薊(]S }6xxnDû6 1mW;q$Dl+]]Yn T'r;ʖʥx!lt::Z *I!8mRUz Imj+eP.3xzIΥ wP0U}<$)ʴNN>bukiJ3=wt+=!(udCe'{b=[nD #t1t;0٨*2T-26DG9 ( TnjҪW{#+0G$XUjj->i9:L5BNr*:Ӭ.i 2?aHP=F^{‰5 \8UFC!;E0{~}mc@YaTqt>CCf`\!tvD-{m;_3hxVmwt D}w&Bim"y*dk#Wn+3ÖY ˉ %+}U}/jX2e :=O!N(zr'SlBSDeC4gr% 1 :pDfUF i#F@hSb6lCbs:LMx6 ڥmv4Wbjh)S<2"Ui[)[)j ڦa$6JmFڃfMJ#J bs)6aM)SQ6KXVmU#X&̇6›JQaVѰ lR-ڶ$m)l#;+cj[I[fUU*l6lЛV鴮kd`V^2ĻfHmRvVNl'mlJbCEhQhBJEkP(U+d;l #j43d[TlئҫdJ)MivPjVKm55\ʗVB[#j6D6Txҫƫa6vڔڍbڃU-j e'4sJlVKCblV"mUg2NMKe JlNNvNbdlnؐV -6hv[DؔFlie-6l [ .d`f,6TeTMl6)[%l-͆ҭ]VjFѱSb*&bVٰ[)l*حCh[(-ڢAɰڕȖlFűEiRM[!m iVԭmR)vhmPlқHبAlT6KRi jjSmMR2+hVkhNĻ)N]-6UWbBCbKj3(6&Ѳ]v[&m6 #d6PvP*ڢKeZsG2&6am4e- m)m-6 fةlm-mm!c.eVGi;*6-d@[HmTvvڒWgm6jmSil6Sj+M['j;U-+bVSj%M_@vHضm%ҏ&MJڥlڛ#e6dv2iEi96i)lZ6eUֲblUlaShSd$U69lڢڡ[vE;lM[E[l b-mU{Rv"vڥ6;QmKh bٰUW2T[HDvțAAVԦضl-mM[TUllA54«sMQ jFěT6]mShA#`6[ pNmKjĶړ`*MKdblle6%QMҥ-!;@vU (6'b]6 `-ڪ؋`ڪHٵmW`m6hҭ-Chll.`IFԫdm$ShJ-lmU mV&-[ FԪvv l\ȕ̖ ڍa6I%*ؒڣ`¶6Ke6QIsHmUڍ؋jUBؓe.e%- Qm)6l[B$ڡl mJQD$ڒl6lT[*؆ȜĹR6-6Ml*V› eMl[*Bڦ*[QvSm[m"[F+cj[I6 e.hbM$& j1  66-m+dMlmJ6llUy]S6mU [!JmCexS$m+i&[Si&кlsP[TdOg&Re%+i mEl$EDVVʻTڭ(FE-6U.v6EJmlTa6ĶR6P[(6 M6mڤCd jFɲMj6Cj6-mB4hAF[JFIl[B[US`VȦɰlmP%dԋcbb[R-`إ&-ʭ[-2]mCXl6F6%$ڃiQD ځm[TlڋhmR+dlv] Wj lڄvl(6"TMlTڮi2l!RdAmIl%lI[ mRDE%la-dUV eʫ`Ҷl#hKjIڔllD%&ʍ bmT(E#`H*[* ضCj6 bf e DBM&ŲvBvړij-6 CQbCe6VUCUlTA\FԛJa!SdeJ*NҍJ]hv*6mKcAm!GeT VEa[`mR6MMMjaV+hF檹؛T-eWb6mg8A)AZ ݫТEL)(P[i=_ KΦ:_;{Cw,ESD@QHûv͛n߿~]ukXXƑzzֹ7e=kPD u֋a:ָ9/MV5H։OX11#@~5߻~[܊ĀTD(kUR-7k߻~rh=i $Dim5$Dl*"!g[ވЉRKGv "pTN"*x8*{-/+N0U;?%Ӥ{Tu'?<-IririʐD@[XZ%t>QĽ/yʌ<{Xa v7T>gY=YD }PMlFBchI潊w0dڊB r.)(7+ hxia1{q{2yGRw`m/0T,R;Y{mjdE jY5(E~fn $M^M4-´Z3]]O0;ֿDQ57MkU91b}O{Ͱ{VB6UJRWZ)\o+mTa'dU猇3#2l)ƶ&BQG*CB>M}@] Xf&V|xX44ri`)UX7idR][аG\Ӊ-͚~b->Pe_Rg34WLƸCCZ%+ \Qi{R 5"~xY7#%kțE?/RT)r!䵠86̙ 굅v##3iai˔ְ 5)CeP:"q&*i| M.KHm!OLԩ=MMˑ ^j\4<.=$ _*_ Hyc)ҹަ7A@ޟ4BY#-<ɶ [RŘW!}83,K>rǘ-7aE!ty *#Iewyߵ^0.8~ lb`O.+F|xecSHT `Dr 0R97)WC_i \WV:%iK ۅ=_@z+wrROy~Q2wSP#'~θyJDb=R[/' '9fXLf4;]+2W7gmWrڗ^K='gSSlj;ή5NSOX'>cԜkUלz߼O_>:ݧcCs|)ZF7`bTY;e~;Ց3>R.Xs_-ϧ;$[ kJvъj,fSM8CF4n./(r/s7.yjvZUQ!QT/:Y׾nw@I*-OO.թ^\'uY)}I-2ݻCnɮ#%xp$c-I?y_\>YiJ5_,ȒIhO|z$J\@O̤Õ8ct͜Gxn &אkBR4 {u}IAu]tmsUtSv'(tE)4p(GgG0֔ڟ2rTzfԟR?u/&`["~)UMgYI{ob˧-9Aeۤ;y[Gqzznz!5uvb*&&n {#`9/WuuS9n:CӛkﴟH7#o?FJnk S2j&o\r)82LQp{ l&&C8gu!Arg !Y 0 @@D5C0 }0:A}~5lVDь9tE~ 3ABҕQ CP!] mѕ4"Qx5I3#gq;x- *2UΩIN=?St$H " FT\R)EWJd?0ӘS8PƎkK>*^]Ͷb l>[0;2]&c>ޅF򚮛vw` õ`W81Agf4bM&* ҽ/72᎘ʯgZCdwcn\;86ݻV{TDU&$H6]|80ݛ%nɥ+͢*Uid&I.@H 7ug4=V* &kڍdJ$٣elJ&eӐk&[C#hY<3w;Vﷆ;_ϔ~9ޞb9E߽{NQW5}UM ߸D(W'qdn䄤zhؘ:{s~W3գN[vٺ"( iW\VjY]%& LDdq|iG53Ep9XEF*9Ú1W<@㓻"V6hw4մ ؾMZ*|#|Y+og*@DF< mv׃WyB UH@e>Tώi[>jZT֙%'Zw&n=6"G ~:*[[k5>i{z@9 tqmݫv-\;U0bdH&fU3Ek-&%-=m`|Ynr0~dxd_vv}ajU@X\M+J'5ux[7/9s؅X^:fUkޅh4yE"᩸S>oZAf &C[I-Q35xx #32$HmOpWIpYm&uv ۆI4Ma]K7e>GȈ=w7]ylG3 D@"j-=o6|LDCO$eS%|C'#w<_+3N j5!7N3aH(Nvҽr#h%?V4i|G +7]?JBWG}1] Ⱦrevn @ LFk/79333"`L1<-]"@7QzՀ')$aj JMwM7@.)ry|M`o[&m6$mֱMmc/ErYKh\y_8xh=q2"`Hsk=4@Fֲ՝ #[iju i/Zi5ްrDi^l(oO $C˖Hr] /8>DrX{=&?7<}g~[Cz8 ࿘v t󝿭/>r=m{}{hxY]AOpi@`4sQ@}[oޙ]hKO9O]{|ySœ~Wjݽfi{9?Elu~G@xf9'Sx8O @M&ۀ\r3VJGF05Lxy}KDrz0Dr3뚫v7]Oa0-v׽vRVF%BK5ΛpRć%cn[{fyy" 3132&DO5M5VS;S6۸:3֞%;)؈@ lYVKxXe2"0HiͶJy8UJh?iִ:M'`/nZejb!rjVO *Ib!>wm,Xucڹ鞳|T!9j<'][GYhSROSƛiax%wx/Ooћ4U@=Vxsaky|zyo[lw"5<foOJ3"Dĉ"x\q3m7@ۄS"PTJ=pot)4 pi6RX"!tj{E.r]L姣l%[Dw@ HWX>hJ'9NʴZr/N'\^Of]~4[c;SwN2%W]ozdD?[]|4V{W~/?gSZ|~Mgu󐗠xqëv͛8voŧ;Mp,A@RPSEIUEU)DU4DRP$MTJݍ:tۻv$DTS332$N{&Jm]Sm%4ۅWVkNhܵvmy;i6uf'G._]uD@J&{buv1()' "3/͖H9i>` uzܹ%Һ+uh|*gGDŽ4gx9+(S\r] 'Q5K4w?+QTQd*:(y<=aNU8+_AWMK+{nY+̀r |D/O|<`wjG'䇄i:y>ӗ괧x]J %螯4>;\QH^>Ǣa1]GqygOyo/7S?FdMeom wY5PR5-mfD2TU6T**fG>1JT6ۈxPeٔlS0`AB "hb~hiɩO&y=2 OL Oh&$`La#`HIS Кj?OIOS%*"h4OHH FLi BLM4Q৤d=FiMAF 4hS@ hhѠ4"5&4i id?T=&4#GA2 @hѦ@4 M&UE4Q"~h&bhhhhiM4dhɈ44iɑ 44b4d44!PL2D0h.Fȴ@b.`ӬզІ ߳~u;OO's&WLNvaL3[:9YҲ"3fY$=~s6 w`H:|s'ahwY{G00<Mۻ]KdDva%S}Uݹ ; !],f@H0hXHJZKA"AT&.F)652URek֐c&{#;sը Bf#[XȖ;[ޒQin6gN%eV&tԪ5{ު m \ԈF"7/a7 !*S\t:H{5:B&w+QkP0(shNURvv}2$vr;Ѧő6ɵݍS ;ɣ)+BlM4!I(e3j6xwivk{M޷zgYIФݶt:+-C f Ri`"3])Αa42<cYF@0V"IᨦH6 h=֭5b#m(`8^sTYui^=+bʔz;PheC{ٜ GbT'vWbh D!;W7Ɣ}؎d Ս]T6G{D-J:I@N4k`dTb b G:RQJL.̄90@2]%Fɱ52NX+h/m7 wz [2Ͱ>dLjR *]HZz-2R!nz R*njs@X +] B˜ת+-ڌn{;]Ej0(Tp[&BAT-bV@g6vƼ{WEܙF,X^2JF5bFrhi2!դ7g}mqtػ "5 SZ mYwCP)4KՙKÄ̐& ]=+6 6H0)V%sQlhʌ0WjӮHoxBdlg||q#VSSFV7T1@H3fIg{XёksrPGFL1Ւ5O{9BF7i{GtM3hDt1MֺF0&f"8}{i9-Lgn/@6NճP|n7qQIoou$p`Ƀ'>#$@ lö uZ+`cSd-'HM0ߥΈ:X c12qv]Lp^C;g۱|%N"`w$!2\ Ø)*jD;BU2RJUT(JB[lSbMQmRiȶMIe66Rm-"MfQ6-ڦ+bw]q6P( B"U E6`TFU:ZB6V`A-dRd[D!lIm m-Mmd- 6mMlj6)[mI#bڛ dMll [E-[*l-&ѵ&ʶl-&жla.͡j3&Mm%m-llb66 dTV -jMll)lM9^KhڦM hmm[U6EQ[ FIQʦ6mF6l l e#i6 ڡږ#`6d5+eUlmlM6l+da6d- )-؛M6(l[(؛@ڶKdmJdaARFSa[jQml&@#aڡmFěM #H HA+bmUV-lFѰ6Il%6 -m mF[ ڛS4SXm& alJڥd)l[-b[QJإ&[6CdU- F+hmE66E6FR-6V[mTl[@m@C`*ڑҦTU6J-i[Q6[J h6[*Q[d[l[+dQ[@6lRؕje:qQlУbd[ 6$VDlF3Tl Pfԕ+bjJ"Cj&M-6@ةf6ɲ--65ضTڣ` mR[Q[Ue6RC)6FԶlh[)mlmA&؆[UŵS`[mT'.Sdahm%V-Mж[Sie6RliKd[RqEH*-Ml+e%6TAl%[T[Bڪda+jQlJ6*)Fl6`6m *fB؍6RmBJ(*[ iRDl& Pm*l-BVVV-ډl6"V*TB-m$AWȁƩvLr=JGHriH["hrjl!G[U. %R&.R*T.nQW!+ E$xW "SeR;FI)4X3IKi:")C>T[!W/€eܘbAs2[@NTvEiW&GSRd8ԳVjmmȶ&jM lV[[* ;<[Q(}"'i(:9ɮǩsc!LX(P(ĎP{'Rex+ýslҩ* hbڡvawwqgftRD^ wp)aW=GaA0sB3Jt=>_OrٓIP3IP;;=>JJwjS4C;817YR즢]6CrI8\/kV4oc(\!ĞcutW7-j8PRw}w AGKIc"vfUXc WjҶgfol륏#r{Noidݛxik9՚gfiuwwVj0/!'Wls<9gî^'6;3[][7]ݬ1iI[s2QkmmL÷|n_mug|/rMV_9?^.q]ʻܮ|>-˗/z[<6!Ns؛PHjf_^Sk~vѶ{])c;'Mv%8 c)>sUgX`Mwq~.q۷&S5hxէݾU`ra++cxﱆ(=w+a[)Q֪]g}#e ?9C]Y!W[3L>ox/ 1 B@j>]EOZ/~IszcܴYsd4]*"I4+̦aFg2ߛz]݌t<(G;]t m7/>?V,q#6*VP]k>Q= b;~j\ Kp5t9ZH^KwLکV$b I]Tş°ӽkYؽ-oc}{q˥&ySA_=_MەB ?2ki]|{/:٧zsU<s'0gGK8+<&6Ag54=kfFV.fzo@!|?^ʖEף8SMfsG޵SM5b}ZN\E.oC]7_<:IG).ev qJ?#W?o%lImyLnv,źzD0vwB/Y|iUfxWZT3Q^옛mvM[k¿xs=wbq93دXOAZS7^Ŧɹͷ 7$ǁGPd@ۿ#iJ%X6bL[0}|[8wUs0 Գ4" /} 7ux-5'?hw*{N_Q lUke]hh=G:& }E@@Yn&2_x#sT9?-.mٴÝSn*9dvSmIO^~;n*:6uۆY[r/V׾[ D6O|=QGc|Y WV?#t/o_cm0k \iSu>dM7wU'7\SwV;g$|~wRq > g !S%~[O|{:وխd%cd)]>/ǣ͋5lwjY#'|[?{L}g{{gw}պuj_qH{O]nsyKAl+^Oo~ķ'hzUuQųWx}>~yqq 2ݾ e6QҼvHdVF߉:Qr}=u%]C/;wOOn.+3}0L&)x jh M,u)Y We٪s^'Z'wX!!wt,kIa'-g{<܀ikU^"լ;wv^QUw J 8ޤF=$`?4CHE-mq*R&_]ֵz1JU(Z?ϞY`7̻H RHl|Qn_Sۂ|-Z)յ>WY L5SNH*L*eD'za}Vn(&[̩)TίY*,%J:&MJZWvcrbRM$RJ%U-^Vu.^EGIxjcz`VptXCu 6yzgyI񷜪}$=Z>qdNO#IAey8f7wS &*b1Gt b"RbO)3jZ)D/L֕PXJCm)%@J'Jaj 0;01&$߲8j7]ۜFb MD`U$ZvCp@H 8嫻X;098r~[1Ṧ=CBoÆBW &gl6{s/7:%ͣǬmc`wtp%H^ ;jEEPSؒo|Ò  샦^?E%8 \WfĨvq>;tP R T)g9`1RvfWt~#ǘ3pYN<antT" @#[Q4@<0 >0aٙo2ܫr)&"1}Mٲ %7BY{_I4t'`@Ğ 1l Y1.(@A xLBBw; %6\P^Q偁A;p`3 7`) 7z OXj?%ug'7qhm#ZJK8ohܞ RFl 3_ɏyO;ibd 맢,QI F#pTXU _N4)0L&CB%w>' ?`wǡwBg$U\D86hQ1*{+8u|(||ľ>u} ?ݘ\9Ѝ&e`@3ոE8NIL7u7 z1R2.E RKVԁoK`p/=@)Xp9t Qw FqEx0hqpa՚r "{f#/Nǻ<S(o BPM>{.ǗGv qfCj`16fV֭ӄ͚ A70RXZ^@01Fa3(;t\I\9\?I|5fHy"j)xlo}4@Т6M) څ U%YY/{+bQ֭Ul5|Nh9;=U:֍83Q(>@-ω#uJqzwt/**( J >7{}}$B:jHyҦ%FEhP><̗ݖY-6P[jٲYw\-$8+F;vötbUI+cR*v}:ҳ$(M²5ڴ:|5u(lJOW>}l4=Y8O{Ƕ#o託8{yޏy=|9ǼTy}_{֭ges֦muwfo^^wY]|ho^7looyg{;v۽Z4Q͙ilulPo`o` 'MHĞh((7{S4RZRRQKe ㊍;eiP&6O=ǠZe(4 ^ܻ3XݚSNm&A뭾=(9USTt좝4S{we٥zn)6hֲ}fOG=Z{{׍F<^LL R(mDFL!idhd&di4ѣF@ M &Ai ɀ ф LbPi d4i@h12b11240O!M4dhɡ&F$DMЍ4M!4ԛ'CMOI&FdT#FIiGMOSz5*~TޔJm=G je7==G ISG=OSjd&zMxI驓diOL! =#&)h3SSLzm4i=!MF'S&#F4hD&4OMTCM&TMM0"L*~ FT4SeO2 #T*zA)fҧ'MSSSަ?Td/rHq̧e4? 'kuYյZ̞yRSAaA/3TZ{ :E鏒$'9gN~䝳JQ 7iIyS]1.JqW 9@B ? zi_AQC~uCQ-Wx?1 S\3aO;g:g;Z> WBC&na͠q,o1ȁ8??N2M:8N몶|=ȪVnB.xZ(ZK"xli8᧝.A*5X!9:Dc%<#eFn}0a{Ř_q\V?96hjf@ rXQb(3^ mPO=w?/2#rmviQ6;y~&&ǧ6^1"1M1%szyyJȫMH9pѪ V_6 8覗q"us a2TO79D+:qo&=@q9! ܄]WW#%pǷ\ĄF:  }ij/*oDjrx(4uIZ1'*|Qo]Z1#9vmEw:[_t_!ذj63yQQa0i2C2rPR)G; n. *T{ s7KCHWȴky#2k(x:0 Pqw/[UvVS} -"$Fr?:B%=yuff9qO5֥q30Z"+ f`+G?7A>.֣ۺN)DYu6DnGa4 H1>MKI(&VƷ y cC:UbB+LfL^Y֪MnW1}b!z "ҌGbҞEVSgb, kYVdz "xlݻߝTTV:b#3OooYZi 4M`0EbaXm,>yYK5&Z /ta a#$)Esti zsIŭrL_~q-+m"jC1h}l펩 OH04֒CU氧'1b=l5E1KZt'] }&ш!X B.ܹ,<(WMjR&UdVBu4CR{ZsȲ:RoZTT] (3'5.c\L}Zd 1Uފ}${ޕjtuF.=e*&GPs-ףYP!z!ε^XҮ-^gy^I?Guڴk$vь98*1OvfʻE;(+ ?(wȼӋ }ma~:.6#/z~{,gF}5PπNR򿻪ZO(іRD%ɢŠp:Z˪U<_:o`m~OL|\Y2ci'X77= ̫G#ok6\N8ZQ~k 1刺پi-z:rn6goɶE̊(I/q_JI8$ raAFU=ަCmc0(]B\>om\5l^ټ*C%1+CI&'vJ:)G Oڽ ws _ Ny,yRyt+g¸nujsȰx.ke\6*{PYtP2xh:!N  `@.>+>GJީnJw k)*)V<..[ Yc-|W`vUnӕtgA'Y@OPnܰuۥM+k.Qf!Ly5l[Vrp˧I( e.Yarer¦95T3*us Us(UUX9I.!#>ڄ`2w >uO֣ͫkJUCmQ_= +G  5TVqE6͝>Ngj'׹a46lgmIU,~Ty KjDR˸F|-n+ೝCMդs{ݭj a [NOkHEJ ?لWLM_S-G+^Whmu"EKPaE~O%VpL@#\4`]Ke!u4{wV;CHQkŠo+~6n{aaW!kz8//Fgpk`Qtn6,Y$,;0߄J깪߫I۝t!n"b /x64=.MA1b]fXZL޲'yT+OƑO[)w~d+je^w$ְx=Muž>W~k(InP&88뷐VqN)x~wd]./Y!F6i )k`#ӯ`AQc/If`^*TV%~?k%}Q|sngݠ0t?pc\2s{Ew`i<_sXừ|ZMpTg<@#4Q 7B D>/Tdw&ׁnbM*/B0;ݣ} KIm(m^ yWPؾۗJ|rBDH8>ͥr(b䵪U8VɒXq&Wdb4WɛؒL8sEӾxcB8支{/$s+\|f ?=?ElzOѼs:+6 x[8VF'~(+dL!c~9i5[n3<!#q^|I5zCAW8.Z93ۍa+MĐh??U짤* =N7dg}mzB2Ȉn9 )5py6Nu&uy)!J@_P6?h&e-b*氝 V<[}V]]@wfDL%K8<[|zxR2~X$[c(wRa޲l٨w۫)I?:~Gw|ޞZdF+ڢYrl}(kXlNSz嶑#=ktqYWCn>\NJ$~ȕ4^ݲ+p'͌8@ USDkERc_h0ٻsLu+=督Wxmޯȇ6s.[ǡMd\,K=p]_sL[|(Hsu^%Ly<{{L23"<8>[H~8L+$YrctRw70M,&,K]30\ u>5Z=.+bXIaCuCfGް\Sv YK5bᚩ.gnQ.sWIg?s5I+o2| =l>6ޮ"iFas uNA-t-4]з,Sv29d>E&Lw6ђiTT^cc7 zsxSiWS3| ͪM\_|,Q^мkjVVgwO΍RwzR\T*Ad2)szg{QJAE#=6?6aB<؋l`Ķ'vCTUR_gޔK6F]~6F"h&AS/r)p~}S˓M{;SI!Z-*Ȥ]C9,<\eHoSwY;^*Y+z\5_Ӛ4O7\UVF1uه; N}$X]uaasu5:h:mxvXNcuS Y0=Lvm"A_c(B>=eo^W#P*uUIZm; `oάf2Ƨz.5,h_zkRdqmŅpnQA6mCG}-޳gعo3ۈcОg_Vd]H_|NsR0؈7[['@OQм}9I*ZS ?^k{y} miV0g˺eߢ^\~”S_?jvz\S$V_2I|n~%;Hۻr 1?N~i _>< SѢxcN)&>@= ͫH)=ҼG|Jߑdښ/]]eNNV.!j&M2tăifTVrvܬO߽oV}I]GT%ZPF)p#J:6o=;e?JggWȶ.ϰ0= B< v@eTbh[ d#,=~+On8n}PN =AAPԨXM\'i#s2Zo#;CqH'\y1mш|`ґ/25NpZ9x±זk*Fj? T98y[S StWM͙g[x7~,c7uF$e?ΆqS|v[M?y營2Zk/DrZk |5Q7=0ke^ѵF+%^cN5Yh^m#BťͷN6Z ㆆ7I2lEo7uMnZ-v,+͢}êgO/3wזi;={ yy|x\TD G" Ep.7s:2W K fWA_(R/x1I{=t\M9jzɎ,V(/ge . ꑀx6.b5K.$;CFۜ (Hd6uD?&R ZwF?W 8 1 . #)N|z6,֞ğ!M wG:f,rMKIf۹[#n#{p.UMtƦ괦?ϰAH1GmLoqMklS=\BL@rHTȸRIH["2r PAm*e+*Add %`yUڎJeJ#n\#d`\J4aY4 !kF)DsO&4b0'= $3T:98 +52,]EheVFLt!:BUPb^S/J%r%(-1Qpb &IƮRoѓjo"nmV*k6~a :{ 4]գ/:AF@hAΞތc|dhelwsb`H>/(2Տx܆E<"KĬԭD"}WNk~X&: K ^a α35 (N}|J 1B. 7o_K^KP~yh$P>A,âjt=s@3u:sQW+tMd1(9|(_BWWr'Vd~>)Gmfub4B!BK^!-rb _QĜl;&#w3yꗪ: z?ݏkW*ak{<e4=z1l?^LNW KY7rܹ!܍0g[MSy&qR)D(hvyzoGڣE  WhNjoR\ȴF@]M:wب5kZ0¤uު=}ץԷv@vɼ0 5_\?d>r':!_i@` Y\>m]Awhu653~垲¸rՄmoc$ 5Zq^HgWvZ+.${&\Y4P !y{vLY+9HIըhH%fPڵfbn[0^ UCſ OIo1[fуBVEbv[YoP M2,6i Ju du`HHuQEARY/3!2j2WrT@h t$j%]nr*e 立$]f85ֶ!}TuUjRjH`^;vԱd$Q5Ny]{Ǥ q۵nwUlbJW(0Ţ$dQAH%h# 'V|*xO̙&рD8ɤ:iACvV0BA.+ZYʝ=b3ͮU8cVgr 5/E!a62A%+xL{skO6F|HLWWR!֛v_f VeQgd=Oh2ϔa'L)y^uaEn*1-ZYb򯧱8=WosQX Jl( $n$-l4go_aѫubqvMSL8_Pl "$9w颔ape1^D8;"^^*b!zO)>x/߆"an[LK&ȉfWE4;qgy𛘮G9:m)| etgjfcx\MDI/" :p9( S*8~n. yz;AKu,Cֳ )  Q;]x9*O5 ƍ`sT[w}nHQah"X3nhS u<^OdۘHTpK;4#KΜ̍PCi30NHɬlfZJ֤뎻𥉉S'd8 oAr{9Bv λr>Ż-c8;%s:uef&{s+aqf[yNYjsW9L+;r۳_^uIK31mڷ;VAcfGQd;yfd0ti]<i`VVͫe3qC!tHq)CQZM/2䨤&cyxՃZ;k$Ga.3 խ%,8'|G~ܩVcWTm3dBA(4W6[XQFH2W,W3Kxп(Z2TVc&Hx)mk>A|##dqpG'qm1Uhvߓ $YP@i qR^7}`UsvL`ԳT!tx1 LFwګcLQb;С][Ibfzt~>4K\z /H@f U@jOzCt0`sjުpVX^[gJo[upw;-泱7m@Ed/YuH|lg~;a̳ ~ tq-"N%ӯ 0C>[#ok5 Y)/D3!z3 (mL$K( g!oFҷ}]/qϻ]| }`=wtQHSIM%KKHREAڌ %dT.Qes64[C]@Hyբ3bf r[ʩwjj0\AaWyL>w.̍m3##! C_mѫt?7wQJup(}2TJ bW%z6$*4:Y 8és}Cee%rs#yyeqd-@*\KLZks9>޾7W';wj:ڒD&εoR 6&dj@d 3 z1*ؾ2w䥵՛XH,FE"e4#@P12 R$ER@DR1QJ4 T@%T@ҵ-Ke-%WkǷO>ωsqyq}\,V͖%'[YXyá .aJ G}#ƻI%nbǜo=Eڭ[|{?F!MGt|]` S͖;Z@Շt$q<57qUB"~wD.-a4G1C}xP.ɴts{;И(AG]q̊kO, k0*m#ZG@J #K ]dWTw_Iܲl|g8q`cq]mKk+T8ϝ N[ R;ۂ;9}n|CP!殢8_^٬[3@;=Hf5t2e^R H*D7rNmǁ~Ybp͞hfQaj{d{9&mdy;)ҰemoLs.77 bj]xncJ1qm|N{7Wgͦ(7 sŊ[3iZ/>{F͕iZKՙnFy[ۗ;PIbDa.yWTՄw?:g2T v7Y;@u/q&#uzOtب^]NG_teʆ #AGdX\+瓒02\(S"ܢQY^|'U׹hi{Osh;gRCȡCILbZY^*")74'R?ieToc`\u1?{&Ŧl@'d#&|$&#@:@9&%J8(Hv%Pޕ+B |r){ڜ $7|~mQNC5druʀ:u0! rs dCU=MfvT.&4v/~1hf.S('K@TxdƇĎZs<<9ܸhGeJ)KbWLT;fR> HWIcղdy, Zy̆CpKqZv͊kM>f3?W{.ű;3T\8Q|^Ds(QSKȞ7fu4y ewoqU/]jBa $aB[XuOzy.g»ζN핔7_.`D4IJ +coEY0U3mZ܏I-VMC\jhm ui=3ڔPnWVi\͘icRf\ i6ͮ]ۭk&ZpuMNC3X*SYjDk2Z &!Hr!K4{ו W~:Y5ƣ޿/u/H I e7;S i.g2bNp8+k\I$@ ~Solq%՗B({ڙ?,A>3eS ΋?D:ON5q \oh:֨vI`z;RHvu\eWy\XAX JST%w=Nw3,Y{MGOqؖ^tm-qh?^)fcz2jijK︹%28 /5z~Tn OfYkH=S;eљJ \ڶ(œn>u[ xO@ e?TaUlp9^WQRʤlVdaed"G(g[8ʱ)n2W^~. 2T1r[8sxˆ 5@p^xr.R{Ka0]+VK3#oeb3`ǞKo*徾{t*(v5Uj0跋+p*G[WQU{-k:FjslLO_w Tjr dzYDԹ }?ΧYՖC4Au{v Qk1;cF#n}=r1}WuuQ%2ؙ@"ɄCAR'gԯ6qL336J%z\*`-e_,v^!#W)KCCS38M3aoR@2p27S9.};F+G/asv? ')/hj2tK&Xn6i3ХY,_6&cq rmnێe&0> tqVzF2gvVӦhuxx: <헆ڙƒL@{)N]W¹6(*,Zȏ҅xY}g^ G9&/goծ.J^|Ӭc*a8#7_/U$xu믻u] CM̲(Qj_XS`!"s0뭢g;MS6!Dv{ Q]V::}޶@k,y;nE_|}vײ!}Si6|'?udwtF=7>ԩQȯK_e-[Vt#D1(ZzJX-(*rd?nM1 ])Jv#OGZB}Qkw)_rdKFm_8drzB˔OrҬ# o$tbi2^Ef,_lMVSvA8.d$,9+_imYїᡟ| Wio^pk]0z,^,)s>=sO@vdQHͨv=|X+ X5i1/Q+JҰlƻ?7sw3td/%ǍIgok '<7Oִ]11.Y |t|mu2ѩ{Yy}=8$ov\NZa.BE^xYmZle bZlͷ!QhUk@ el:nNsb@'ZK |ުHϖzՑ}?@gR'%>س{83} Po/ReאkTߍ_SwZ1Kh",'P"|?ixVzc)EQJ #(N4SVe=UֻїPOh!.eϬ D_]6^!m:R沘 \÷o _+ )4ʮ!KtZvfrsO6n2X# I=xV*WHm]A!WnsP-|ѡ#/z1,B৓YA{s~:OWϱ3em0`PQQE6S: 7if͚uu5foyZz9ǬNM|jY_m̝OA=~'֯ܕUYR]g/D-)P[Б>"5r")UE1JQ) ݬI㛬np#=W/U&>^z`<޵g G/6UNnsu.y ]: u-J5PPg]#Nk'۸I"azk8y=j" BP`+"鉜rR&W 2`nKI&:t|Խ[7Xwo9+-okLNB` Y  r(|k<_'#[Y8VA^>Mp]g)Jee*JR>h"T3W"<$px)!r dNg}ekr~wtm;Ͱ^'{ʖ%YOPm*̮=vu\jdn<>B%'ኑc0>2[-}_uAǷh &AiZRA!&UH^^>'MLBY@mK_x#uZd"V;.&8 n[t3GVjG y&Tr= ^dWP& Y^Y"EoGF(bTUJ+^LP $٨^;^VS^Ck{qk]<?@KU@fӬNsJ0i6pGLˋ:;4%9Ljvr2'zMkBt-&Y#CjqjAb%iWJ_mMp]S}Ceu%ݕt~OvɭLBCs6~L!e!ZNVB_ޝ/<727d)AbD`tzտ&+sg7̈́ʢ J%W.3xQ[;8NT*P$U_W#KsdwBdjhmB%iB@ \y }[^\[T*;^r[)~y2~;J:O;d &wɅɔOj}b,}m6~8FW (USołޟQ|s12b-m.踆ځP6f¢F˕,)A&^l17jB̚ mj39i˜] ;J9&r x28SnX\6d 0!4Q ^piͯ-wqEAdxLL,dc( $bjlQ=423Zո`a5gwUs csi,`K.ЪC +50I87t=sM5a~3aTg,9ozv&7Z:viuT S,Gk[0sr&597xԬ|N8f^Mj1Yaly!8 m@mYN#ftٔ.sՇe+Ƌ4z(bK08/w"NV!㋗T骔t) htT̆sxb͑Q/ryȥarShW Q4qi\j6#|ב9W[3S&,G/pkA m+(Al6ZN)ɚFeTEVdaVk Vrw]1&Ŧ1f x0]ӯ:53mŠdpv3 E%ӈd5 V , `f]Zoz6i po]B=nruח|97˖5 5ex&Ƃ]hɆ)LL3#+=AaU6:[$DP*T"{`lt70CJH-é?Gkn]=ˡܦL­B^WW 9n;(k\]Af'FkXR@YO5Գ/}3p#}nnpk2jґ\e4GLטiJ޾y+}Kj5 N3~o5h{vo- !-3wFxQɸ~ n.kֱ=ml/xݥ|LtH~'g4G-8B4THW-({.??RN7BESǨFgӭ_h3Ϫ|vYȯlen]j:ob3ZU|{5b,p2Vaf>ʝBfGEtʦ͖N7T$fwF:Y38}P6Gݝ2i$}.1 e_˛ xi@'cޣMS`f_LV<{uCSAr^40S H_dg)v"WdƾB,H9m ۿ^VQpZ200nԒǵca6 cWr6ߋ˜+fUn|>oS1Ƶ7M0`jqNoi̍wj~qV*x{hp̧Tq>mfLlXJrGś'U2*'CKjdj'g$hwNrSv"1QR)@b]c} q*FCuT^=(n,(~'̛m[4kxz]Fk.\ڪVr-?#q?SYfļy^w¢P3ZqLe-g(>ڡ@]F`(}ױl66# /,D_u2o)do H'b*9 j^*.[jx|)y}4 ݲ44@GHnٻЍ< "z?Ä_l\6#V^6N<-[G{2rG8X/-K~gXsUC6K)%2xO<73!->TAA!m:IrRBz_t{Bf6%E+(s裼qzݐsYnSN!6uX@s Ѻu5S0hn 1p#鱖X!dՠ0]Op`]5UAk5D#:eE~9jRȶmK}0OPo:Ӄ+(qu,ax}ꛒ  vUb!Gs[oVPǵ9 Vrx-YcV:{iZ%%^,_>+cOL-\:u玼dpq^VO "{=ڽ r-ێ${cLvvP_7ٯ_bo^]Mo' GY)hG<5l[|*S")gkoPғ7d>b -1maPp0ߔƲ?Uzp63z˧-,/:mVs&$x ,h8}_63#N#4W{jTbCng6}j2 ߙb̅T6,o2а̚Ye3>n`{USe`4$;Ty蚈k>Ő^ ͢2mS/2 do#78')DX{W03x TFzk+e*8-oQ>=MF8 {$\5c>Fiw}BydOcr't8jy?6c*F#1yi E6n=ρY8A@Z8 lU8{ Q&A;@~L{3'NĻ3^Ćg PL%_8c;q[{\,H%{Y9J!{tKV?YXI5LJ)Y(-9c-O~ĉHbҥ`;݅!Y}PU8jovIՀ̯33Z=wϋpglŏvD_ḭ}ܾ<ΐ?o q.CCW޲Y8>bm,==kz 4DA|,<>rr?|@HJ_n)kVpEhl͈نA[%kNDR_ ·`tG䌤42&Wio8\<~^h.n"˵BՀBdN=])yt>yF4Ηu?ǻE1茟yۛ=B'3Q7!`gQSO|) 10jl%%-[Xm0d{H: 5fW-R4/ E48S-DWڷGK2o$1?*Jb2flY*!1' ]ߌkYo֦z[!N,FuͤC=JM-FlOM> f6ik!Ue{L{3uFwJJ< OiYpٖˬ|nn20c ѫv*E J]z$"r5.d+5?,vk>quвYܩNl ymyJ]ִ(!ruf"nX])o;v?>6ݼa,7}XO+[sN2fDFO=–ZS ӗN͌_"J(YLÕBN{LuԛFퟏ%d^c"2 <Р: ]AѿvNzup1ĹNuS5x]g!@Pi7LaaUh78nr,U)hDykhߏ.T (]X;U) G_jEf-HS pYy 'lX)V{<;Ϳ@T qV- Ԯ"ZՊ`1JeH D#heZMԬuHÇ[Tvv\OtԍbD$*jdhi`5/ t81N d(*ZwyY[tB==u vOp$\+M{M1e-YFZBɜ<{<øVe¦*x+̽]MQKD^4!:j n:-3á򐔔% B BQ(+cLdTlt&sz,Ib24Y$]H!'$JFZ.­dʗ5\Oe*,䮪;y)}ys3XgWFa+PZ,a>xntW(mrHaikFK.G7]'<Cb=}x ÷<@YB#<1z($}{}^y(-Kk9tJb:6`.M['*MntdT|2FI%|1;@:VZ%S9]&#G<D "VœʭfA'ηwu}N3xZS^a|#uX[;_A`y#{G tHA,8XnPFN-D36._؋+?֥A|';g'3q#Ēj俗%οH=ը= V0DS>wLw)RT-0,ʷ sÙX# UYkg&2~Kښ#vۛJ*ji3<^ qN̥-gُ;a&`-氚E@1FsvQZp-95\[D`1&P7kKþiK/A%Q`%+ ((MJ_d ]ܱ/[ 4ULC1Ƴx>R15\W%iH"S)·Q*p.@ 氖Ub U͡eXEɴ.@\g56KX@A+C #  agő.I ^W}ٺ S5/^Kѯ`9$>52_l,7]M@:)dFjPKMiS=ε@~v,YP>2ck%Y(kېT) T*zS>rP9j@U>$/pP#`ZuUc#]W S:> 4W)G`(ZDo)tsme,MT9Ĭ3JPB8!h*(Zлgkb`ZkJnX\XK#2LH&iVAb4Xf:e8P , R3Sn-MKP -VҭHFa*\Nό)#D  L-W bAK23hQR"8h(!nK+n"VKv{2Wat(59&l&rBL_T)P4l#̢i'$DZ!;UvT!)`F 6Tduwb`@BLy&rHk>z~Gf袚qH YբٞY-5IU0H;q4R¡VMgCY2؟mxAJQDX 1c銂1B*M,% hOU]$P' 9ږZZ QVHHI'-ךe'Zf aDyif`9Wט9eרTwMgKVV(,FX?2(ZBS!b(}FK\,Ic ZzBDCV`a4."v ϰoP隳%VhVF`yG>6s]rEU ;5M f^r Z= Ul*- H}b%DgŪ`JՃ\B +nUF,8x =+|@(2ARg++m; j,4l!C\dfue w.ﺼh &0ƺ*6ԣR(tv`.5*årϺ]Q)a$)XvuxwaiM&'IܘY 'I/~k:"mT!NhBߧZ՘qqߗ`=#Ot~GCB+੣ z-WgDt"_:4!E,~XP\ f2ᲊnTn%z(y]sZ@1"TCb H"(?!W>FշA8ua/s5]&F CZw0 @bW @J:`U{/e*gkNMPD E[LQruLU֕u!ցMh]h+`L)w4D)d# A5@JQD׀An8|YG^AD xШUsPD .eiE2R pr. l 1+2P+DY9R"(( +˛z-uT!QP2gʈibF}| a5 SRwX2GҰb#+*˓< f h|ФÕ@_ G& #^MHv {P+6IׇeH JD+ e 4; /@! %;8GL$@5'?q;_tǸ{dxd‡Kx/hU]kК;A@NX*Qǐ:* |݅(&C,D {cEʈ)6,T]H|' ͐?%ޢU s"BMƇSc{;]1&9TbN:wiv_:'OCd6}.D*f:A:OwtFa0L]8U얘[A>iɐqK'حH>-Jȋ'QCjvsd.. GQ&*9 B7P*>aetɽ)oWT4ogr"P Sa@8B YUF`ܦoϿ* /ۃ0 P|n LFh:({4d{^My|ES|s͏+IeZI͸JPZ@BSb:2_Ϩh2JD2fFFR;9DHHH~M%2P00[*@8(& aY/ *(,XY\1驆iwHG=W]$`US, qt_.ʩ!A)*Cgr@!:x7k7wו^(\ duNHUTRW*eykasA$N*ʲ0B9+QغqO)^Td1"'a@2TAݠcREVبذJ)cB]''U ‰1 e[K Kk+ƏWE_*T֒R$i47Q NGh8{ r*a[K" sUA^U&Qf`FY $T:%2FKa7pxr4xrBe3:UD(R,~ZeңU +ҟ2xҵNbMviX&DL~sHN/G^B5rEX{fV ^ lV}>:mliǖPevՅ}`+,ϓC34YJjc*7K{4drJ$ze*§)W'tfQ*zeW}e5&ETeԏ`3"wʥWM$ijd2j7SiJ $~PFݰtE2EHߨPD6:WY 6ۺ ߯Q2I|"TZ\IR\F ͏;jEAT`3 BA&3D)`΢ea44c?ըۜIFXI&öiڢϲK^*ǧk,E񠍢Վ%(:Q6XK⨈"2vؔIN wO5sI{ɗPelp>o0}"ʖτrʀ"eD4aވIB$m wDTQZmҚ.Y_M%Wz"x)uI SYkkGN7d Z5 _똴j\{ܯ&˃ȸj Xz\MjݱltO#DmwW~Ǹt♌âeH^<Ի}}2GtIc=ݜFxw*[3e5ӲնIsPAK%.[?avLjj{>PExc?3lY_}晪Wi;{=ՉCD}B^q\ ܍b97!%:5rdF \G}[LCF;p$S^hG% (gz+OWLH =c7i)q[ga,j j7# 8Ȥ s8ة4i~ŕbs UdVk qhu`cqTwV?5bf%:(2.{%`BeA C%^zik/3#.^ "x rV{1y$ WȠ)WN]ӾYaIsI-.BjJ?χt5j׉nF-!08݈5M4VSL$8X]VEVmh#@@ H˔T$@3f>;,+R` gkI, F+YxڵE^J8sU&`DEB YplAd<,;[_qԈ.m\Jt1̈Qn2_fD' ]7jq./J1""1{0V"%hL.U8ickU0Pd0!PWT;ƝX:S#!ٯȼ>p3ϢKȊQi.Nz\RAuF *֬sjF J B H 4" {E0y (TCt36(9"m^~ yG;>!^m E()SR$n]B%u ݠܐ6J1Uj#16j-Lq^f1H 3{i {q}$k#X%GΫ G%qtƭQ7 9.TDi?#^P~P&r+~Sqhr3]46(5)4eTj Wp\`x<=DEx>D@t):NĠ@>Rm~a zQPi*a**  i*"&@m"*uޙf :jE"U~| q* āLs0zbBP4*5L%z"TĈ`*mU4wrK>}]}pzjȂ)`ƄSͼ r!y)GďphCL",B) pP:M,/\@X`¥}L &+AA8fO𧸴nkw |Uv3)DCwPN[ј\&\.]9a{e! ,T$Q69h峼6t1={!@i /|@r`]?rA}o>tNG_/+ PăE-$DA1@RQJH=\x2]|ٝW, 裵:HO>L~DH "VGb^ pN<ʗ! BԇHml‡m |,u)JyE8RzISkkP=t߯s񰦉I"Cbz}L+\Sz8 So:J$B?/ɀ] P'go%Cȇl@wPrۜ Y5):d(h%0O/"6 GMGo>7œBx6įO1=āx iD"{^̉ "uD6igxNޡ;_MIno(kܻTTpcIbDNL)@oez>s # Q(UFkEdJ8D lv4uqu_O:/dS{Xe 1t"njұNe5ŗTN9ry ty899˧Lr_A3Geq7E!V Ȟײt^8[rQ}l!=~r䀞 7XS5{xa^gix򟙯d|~vXck͇ϵȀ |^3 OT84S8t9hU?.;Hn&>M `&u}wJlWx+`W)#E2Xw.ж X38jHQFtzZmYՖ=Lcӫ7 ӢJWԄ'd=`2%49l/ Pp=샫41s7Z<^/%Uu:6㬉J;^җs9gz>n{}y7k[5Z&6 ^smxL#hu]$2N@YnK*h@~ fb: D)lEw=4%J*$\sދe&^,ujB@q=U{'21zoAH4Ǝ?`##+b^$%Y)sTGB|FSpQ.: cڔp1d2@|Xw7 >_ͣ뀿cdʨTJ@_;E L"W=]T\ժڝ/幼i6PEzET &:((?H*(NF]JB'aG/ՃZ(>i)d! ^ CZ ^!2@s"(-FH :*Ҡw4#BM|Ăm9%e (s <80s3ex#TvtxU:]1`;98(-؀ykf _H VU`·=H<".}<#BVkoVցBi!0A 2 k \G[iӈb#)CEt "ܜ)mlQGk•lprO{~>NC2c3#DRH|:oP]TGU2 CV@h=+K70 (k!6 q=>|uoؑ<'ʜא5!z91ăsH~l'{$97f'CQ$cD'6( a9!Fr?|ϏuUASڽfSa۞uT"wIWl_LՋC@Dэlu$(AEKKg٧}yݽ<''BĒ2{(5}HDbO{zy'oZm5QUQV;4*/+!D7w_#jǼٳhxLlbNjAAU({Hݎ)@)=[2ZO{Q"MhS~e~]G*#4c˸> (?f}UcZV{[ UlgȵGQG\YбT$c}ALWe0(~H! 纻yp60lB{~Tj˭!*m&PMhϝ; RQXǜSD`N3>xNXm$DM d ,RGZHʽxbBPNzm$'(sTݑGU.e@ M#ʃꇏ~~(Mdfbx&!8D)fqhw| K/n')(tCI7+.C2>Glm?iqiﯥl+ |}TR!%e[&êW-x6t8£&;ȍ4ztfQ2uqdN6Q@VeL`x٤k Sl6Hi>}85LYGǂJkn\3jtn;?م߾݆0{OQ:^q]p] X[ ^9\BiBi㾃kQ[0CeP4'5hr=n-.ӡ2`PN2;(0 4|+)ˤ_ј=]"z7a_7>_M)!QUw0SVSS8&5 8zX̩9#+-N UQbgߵY>jvU~ړ?fJ uh/\fPDQ@WWB$`B#|Ev15J>5 إIڠx^}>it񂽎LY5ILiYSr˕} &L \Lb&}"(+n'2vSlYŤǽ#AU!ֻ?K?Sۙ,-N&8x2;KH|q{:;>>T *vY@1-œIqy4ĕ l[> wAC2]l qTl']0C^^ U'>G5ʺ<>r:ȺC}irx ]v{,:|'ɟ ӭHOgqcH6s'{:W.):<|mʂ !g1Ҋv9hwpWdw,'2}[Hϓ%8pFD1ƃc0~T9 J8%X'ixRӠ Cņk9v=E'@]wm0V߻ôE[}98ylC6!ӡt](@pugp7ӺGv D\o2n4@8E >zy:xN1 B让"( k3qG#mE eg'eHWf /  n#zGcM1!/ĩ]{,B|Xpy`4I+AY3tj:@1ApkWM11 pDﻥqGQ6 (Kk=ڋ^ؼ=YU󣨻5/}o##ǻ*d}9SU")8l \Zdvsv4S1V?M?S&ghtf˷fYkW~g3c%!&K"ifpXQh"gu"Bo_~S;(t Bm<)7 x(ݠ_EHUMOۆg7d>:US}떇^꓍Cˌc$.{:ݷ7Kԅ@*,>'ߗ9g{L߂H3yCtԅ\)L^*m{X-@ Yw8$o6dKfXTk sm+RN0%Aw$K&*BJ#^;.m^REQy{ kaY!/$stќ ԑȘ2(bLб5?WWKqP7b5]= Y.LZ+μAp6?_Ӹ}cV;? I~.oFޙvKɰgd$Wa  bc5wIL-?zc-dd.yoO_5:FWWAaW:\ )[0۴ CX,~>׬ι ƠLsX?UU~~WݖvߺaLWIBT&][[5 [y5~o=Z~xŹ?^F}K m)uIQ}s'ţ^?:4Oqr?T&,]STEzǩ굖9<4/ڬIf}g~ӏ)}>7{b:49 .ra6@@oO25Va?N|Qߧz#-$RRBPH5$ۺM{}rAULJr)V'CLv\K=6i 741kbC4 lk܍3YOX6ʧR a4'Z|TCD-ܐH2k$aG=B Ƿ{hVq}+Ǵ;=2b={s}ayY">XQ-KZA8,2M{^2@R-&9pXT# ~ 8˛ &H/]8[Xp'0m5:MW#r7O!;2XlAڳ;̰qQоa1s0MK}e~d:9}| $ˊJV1B;ᒅx%6=¿CS1j~~KAcœ?ͪ7!8 UVc3v۝'R {N []$8%`}O੊6翖ںNl~IđjRX2V\v?;LD,DGd(nxRg xqb:Zu,m9ճG6OjGg3/͝|e^!~ xvV6kA4:TTKfOMn+Yl].lLԻ/t57-_YW[f]7*ӫ^T&]@@: |l5B8.5cOuh1'2F[5U4`x&t=O6YBp=PV"+h}Tb?m4XHh7Ru_I/6qʚ ʷ=l=e}}?E[wJN+V-XF *[GګyZS~CIg+&N/tQ0.v먲ch9ZQbw~DOģIcX\ EË+*ҥCY V}JӊYwZ#r_#/f]jJer)L*w h@(9*^;;GUxN12iXb_kNT JS.v 5?NNef،~]CN묂Q)9G %<-Y5G@"x Zr$Ѵ>Ɋ"&_[¯7iyP +A7.q<=UiH`NmԋN˧2n曫8?:+m!V/c\~X 9t]bY)/Ytyܣ-وO_y]{ٺ[E''4g3z6e:"4𸰴j)f7^FJe{G4?ɑ-qSX'7 6lBJb­h T\X|7Y"LTY{IUξ~-BDA B]~WNW"UF>6OFUOh:2UHAl  ?oOk4s-WΛ F$MZyo޶r\ahh7&q@P0.ێ%<X (h5|ڦqM5AhgkcҗU>R(A%,ɤc.Wuz{A{(vU'}}%$&Tb$9ج+onusI9ˉ!;2iʧq;,F'泌UVQQަssֶ:~g fS}1}V/CH'쓎a$:?-g$)(7RG~"!ݖ{2V6QjIyfzD9 H& T/3CVR"W^GW np * .76 }dC53Jw(cFF?*̆> &i߫ɲ"HHArnbYN)_~sӗ#+(DvW;btˑ\_5"uDxrOjÜYNtHT?& o^~S}2py i]I:Ckf@}]>&O:*̈gvRd '>lbHu~_Έq IBy<3@p_A*uVYKt%9Hmb䒲,]X˵g%gFkBmd.0b5Qq`ylv;cHi~da֡ږF n%5T(3VFVו&f*m="AGRi[r(s`'h6q12aBɡThȠ1E0D|WY8"ud*_/Whwr n0~H|y[lqgEJIEPW8_|}(-G7!T9=U6 %%s~M 13-7o9QGnDо_wWr1=sNԜ4Er<| /N#+ԔQpv?2Lb6WYg%/wKa>u޿]]1̼O{֩mg&^ؓqc%*\N(P_6/A>?e ;ܶǫ4ܴ!ih "7Lbƒ+<^O0;))MI Rd c-?QEJxi#t(Y? ri8MBMS߮ƭoKPvsh|0kr@I( -uQ/0Rܤ0W2VVTZ[x`CR=fe@N@# \Gbg o̺7>^ _kgIv}܀ioVrz{>{^0,#dx[t,tը1.3Jo /wykz>)oo7vڪNfx A-Xg_FT*gS|잰2Ҫ> ͭ8q0{rFv!7~L<6 @NzE\TlˆbA\&dq2w ThH#3AAtbL"R!A*618L@AJҫE d + <)(4@{81ȁ5%U(CBM H1DhD J2%sQR4Ȁb &r1P TȀ)Ī_O i9Ywz$' Q !I8$f4/;:*BAvЮJJ6!*!rg@L "DT딨򨼊ђpN2e( UBD&L1-b *_^qĖg,HgkH-kiڐ(bL@ IJmJpoopHBQT*Hx P"M0.D\J)X)%B)&q`7LI4*EUz8(V2brACh"@m*d$ IJ3$92i ZMٰA !Ъ! M `& P@ĒOAdm$8."H#BH:HCVR*` 7%ZȥA$j;c fw& 搒^I&$إ\;\(1;VUcd qJMiIHM`P D+@ n K(BID k)&u\qPŽ,&p & 6,&DC Y|=B4".i"phkM6;e+4oJz?'mxJ,n'FFJ~3;i{ދmI5c`4ig~MHCa $|8LYs?DΆGvg{*y3f!374qղ tardpmbs5Ukh>-fꉤyOMGP2R8?_])MᕢJj?۟+|?qi ?"TiA̯I/;7zR`f0ё[ȕ|`Q];݋]^U'6gpTH=*L|ZH)0wC\*TuXM18}k7ٟ8)3bw%R<<''e.~X^CD|qJ<%Yn3 ))A=Mvsc-;͔UI6퀁v 't([sK;otF<>5l.ۃ Ew׎'Mr ÷`>E4~obrR mwmoƹo-VKN"Y&>Qv>U_QtsfW]SӺ,0U_ ^)ߪ2"H˗4(4IfL&A@ygW'[8t*3[e4 y#A|@c;}5Lʄvs.'s;X|4-_*bPy&[7<.2񬤈FT&8~ Ӊ(+!0எ:x2#u>-i+>7aÈ&"!bq>k-GIOo1D dP"vWm(R;yG"rHB yQ yMI{N$9@_#i@m)h)FBsH#J;2!G9@ՕzY5$90 j (p$"`BqN)<}ID'$0Sjfx͝00v1N'Wrg}nezI GڛAiarx3/ܭi*6F10]X\Q͛^= ,83 k_Ρrzǀ@3P8K^F Q/ܡbV _m4NٻD3C:Hsˤ071=wdy] PZDD6 HNS2l2+ 0F*9F b 2z$ωdُcσySXGf^GgŎpNkb`>nܳyp߇(Hl5 JY<"+wTgnZjmȏKv5 zR4{{<}֗;j9ҚI^TkD 6n D_#=We-ݦ΂,G{o6Thb2lO\w/47jE]KOArTlϠ}W:ߣ8"Tx}}*[3v}}* ީ?~f3-ִӃr0!1;: C |r`qZ|,Vۂ0C4I=:sgjBd[$@#Bp!i0 6C3'&om76>0%#u:L>|?RmpKP(휠M8|UXKXL)9N\L& w;'ǐt>d޽D2QoPjRuUm~YdgNvsUY;_K3iW/!`4D;fYvkdC&>+a}^sE)z R{lg~^/dg1*ꖢmRJw˼pTSdhD823ft[F^a3p\|1^:Wϭai{9pz=6̰mx@TҜ{THCbLGHBJOTóYxjiOɘgkzt\ t}sȶMF=zm^$ϟ'n^E#`6fյCWb"qY;>Y4ztKN2]wqWQ7?mS=å!8#=W/p?-4VBm΅gXr~gpL_[349i%̆kTYr6lmOh |0PcYs"'WvG `aVZUvS0&Set3@2aJ!>&O+^Fg4f".TjDT8ԘeO AUlE$D(HSÃS[hoP"H#e`>w¶kۉd3=75?f"H+dy<_91ֲLI0=)U3??z? ~:? 4bG_@z z Ez([0h`'ёa_y @PK1x& `sA4rR/гLԼ`LgH0Y^;0 {Evkij\ ˦bj xJ6~K1:eSU1kagxWkhb%3_уz\& #:`c?,iD>•pM9*(I>Ǩ㈐!DaN 3)hbrCO$͑oKRyPCEccQoW2{2X31 ]]YPF.SAv[CGlyWd,^:qvp)30d@R?Gk`ZV/_nT`0Y윈Y>zgV`E#m̾%@ oVZp`(bV`'v~?ԗ%4Pv;G]FW c-cvx|*nJ>`V9˄Tu9)X8QyF7tiK?+t>^}pft>Un_r햩%F{KHjj{xJpdd9ͤ{_zL+/ꦌG w|ݪp)R +L ͠E`Ld5hRh R@l=2&lhTR#VLA R{eANQT"g{</ `g#g1~=[cQ,g!#F U8OTp>O|p؁&Q9iwOMI#?Z"صBVOs!c" ^!XuE6 U(:ҕ{_{`P/[ wErtwr]&<+ Es* F@^ 30}1"#΁]tjqHkIu͙-uZ~KWuk3fs]%9g%6w*}=_79Ucr^ C@$;)o:u>E燪^uZ50`^FF}:FϹ[(vO\篅W.OgvGKYKh>}CoaVOItqfCCjˉ'i&Gxn򊤦R1!C<߳ϋotݬON8H q!DkGuyh-@\_gСFIKZ6"+CeP<)iy4^$)SJP`% IOJnEP jEcf?o"bo;j/C{0&`Ai 0ba( ()QEqٞVU4vS[4i^?>k^zIU(y )%wJkw#IfhYm$fcj"-T'3+|ŃG)DfYejyʤ2^XJYra\APm= ܡEe7leAU-eJgDL lN T5FV/-.c|[U 1Xa"EM( }Mu 8vM2 kb9ʀ)Q?ns:Fcxa>QSBM o;N}L*^bA8r1@q7٬o+E,+ta^j.ʢӽ Nj|5znY]Kr=9(TܧV^l#@KְLޓώ.ɜfkBF aE& *AtAГ@DRrpap 8oFUg}"r^hWv'{8'oTFsF8E |X3M@}o)( z̐!CGy^tIQgMɠדC6ts)pNJܿ}CPYa,㟽⳽+e,a[E쾥U f&ai!Mzo>_%VbhM 3ԅ!;@ d s<`ꆬ5|8XµDF J"#E`ZRQEQbUIDUEPS13L+rEX"^ݔ))AADD2mUV*ňJ((DU"*&bQEA(6?qIa Q1I!En}&<99Uye?bCXIc+'ذ;fYSYsN;䓟F2 GbB̽q ]*FRΠZVD=QbQ.2&rvr8?s؇T{nGP|;i[^w7OZ*u7*74MWZ)4@ <οujM H0 CRn۰A2}mnEAlNP|:ÙGoUA.?Z.ƌ)EٞQUx]7{w-B[c/Jwu8] .Z?a6n6:lq9D0--KD3n))&k9X=;f \|ZiLmPe?c`2įM]!y=(""`ԙ~DǤP{8Cenq[ r4h3ꃳ"@*bD̦  ĈD4J"wШТ!@P!*R-"D~|=|y(x2({iQ AB RL%WDb8]2vMEKaϑ{SAοRz*Ja89Y6V@z>4st_?W;R&85Ȳ%Okh>?3d$Vyba_MWnl*50Mo yxj203F-a<rك->* 7{ N];:;+=Gw0G7.`FF2yo?wx:|=a~=NsQ~"H$T3刳,DX`BK,jY J(aDEb4 ͝Qs?!XF(] p9GAC8p`j_ pX>}%vLy5gc'\-33[i]:ݕ{wq]dA/P(IJ9@(+0#Q2.D`}q.%-YFB`#P45D((*?.TA]xh)[n*HP=Wzv$qP$MtmC;ʶ3]e Y#sP8ZO_vO)y?yGoHp Őcb j>;3~7N6v `ɊRԑG 9ȞXz4H=Td <.S*t5rEw%"̘(ABB-YE.s/<gs:ڭYj8OwE#9%H;4q/_'zgQRRMOn{|3As0vx>Mv\tifMw\r%ӢFk%Z-9rësqz6lᑷtЦ'!G̺ fx+q Kfv,j{yty7}L T=mBfty0k9`Ӹ2 \* yA2DWsH4 3'''ss7F8C~x:]"Âi#-D@qD"6ؿf*lUbnt$g3^~=eLZ# ]:T |jv/i߿_x9 NsLݙMf \Q<_nqdM4W!_mLe~6拞 .2uJ FD"JwY?bpuil%zf1 gbJ6$7,72t*))Z[pz۫}U|rFk?lbҼ8ۼs& Ȏ@Ѐ7y3"GŖe#'c@㫩V*jCPC>C~"L1X/u p@ @0- j *zY݌pߦ8sl:YJzz6'i%P^hcXؖrt%6]P <'H!k DpG#sJloJPDd@!9),]\LN+{7-ޘ4)q6?[ $0LfڰEČ)* I\H 7f$aT# vSUԲyERJ"@ٶIb u'^F9 !R)iP诧tgV9=0c20mY6{B4o2@"HD`aov?MzpߎSʚ0Н0Xaǔ\1HKRf'8fmSX{Ho?C08kWU]c%Cugygwk`1 z&ܶB`xG'"N  "<$0/C?k>ɤ6l~_$O{ZxkR:6lW\uWt5*HX(y94QGYsݪw7]ԶަG5 R'4zZbpZX?tcÇyf#PQ.!O]30PAZ`HN80 ycC_f'W;gv:PT p968ɑv^?xOl?V8O1 KIDSH|~]F²<̌e`RBy'LEXgk=e²G{*w |{I*QO0 ͎+/-܊( Y / ~l7siL@Ou3|ټWW"3=ϤpkA +] %(5_k4 ʲ2WO0ʤu{F;g t5^Ÿ@^]əT '[4,!NH;(̤zԍUM[}K~7@vf?\w9LuGk&{٭m~?[8X=p@HRRR 1JDH%}_#~C[籴iP%n9X\ILPHQ׉׏nylJjbD9=x6>Os7J3gɉ4*>T}[چ?4QBPP5@ (ط_wMV7r zoN3Wq2xvzvmo"!(/vv\Z!pi P Z\H\󧀌SQA{YԀѐ}W ~+?[֑h#d1p j 76 PUw!I8lDT'Ua9\TUP<,6X1_0>Cfhm'|k"`k&sh#PɌ?F=v>%h-)I˲3CgÜ>k:*~*/{Yl@$fŚrrKz|sv=}syry=[H_&CuϓE @~##f9X8~*x ;GyefF]a ^%@Z!AM% @bh)hf,D\ut598@B2. Y HeBl$EGk>s]_7ڜ%mf'?=t5m-h#R0 F at ,pјJeRNQGT( 0Lr{UyFfUc) }4sW+fMVA|]{;gܠx+÷^G\gU{ \dL,N]73e/GUf"c;xAJ#$'cr?j*J '"F(& ?5{!ϩWWq~|Sn~9e[xVwwK{ܢkWT%2Yks :EOa˪(JG+ToVߦ{ _V$+6ҶNɷ.x}&i P}- n\3 EU3sܹ%'"";9´D"AO]8ԙ~s?9֖G]z&J_lL7%zO୏$4F$bA=(OdvC˽PbRX XV旜T8 /'DduTټOćjTf*[{,ynMf(s @9H Cw;.㌆MmQM(3]j8{̧7}]Ks*hL5M֮A Bz¾`Nw aBdthv3}Yp1-ҀHP"%:m|}`a[Sj/Dc!ٱbo+wbc?.#KwA')?kowtYZZ3p}W}O?{_;{~;u<&DБ$ġ Rѩˋc?0_]*U@hyb4ۇދ!*`/OŇXmbx\}8+?_s$ԹS,{z8R4~b11pH0JB8~W^,HKtvAs>_tMk3|oYikh􁩵$HH3d;q2}VWtQqrml9VG3( 3b_wy6V٨2Gd Y>`!~RC,7= =g˺9Ye6ɹ^ dȥ Z$64KtP`%>84[C8"@@ژC^E?hF7͛^󁓟}_(2QYos("Y7;E]eP_zOTf°8 `DD@EQQ+ҕBTEOmc;tTG]װBY%BH$,c&!Fr3AW@E'|C> }ڪ 0t: qrn:3pE\9vFB"r@" 1%[&!y=nbA F1"hLJQjSG #m1=wRXoL$ xѝ=fiw")F$*Pc1ǴOc{5W0: a \IsP?w) wy4{;]i{}^hrܦF1o90<<YH(QF{ρ[%ջQLN/4ƫ]L %P3fg*PsB!Q4:ɕ);|բXDAn%ZFțpVmE5~0-^80U%>zUuW>Qɿ~_s¸jHm{!ׁM3i{.N$c"1P<` ?۽l5M[H_2T+DGL\sǕPM8Gz7i>S3lR}y&(wNw/m Q% IJX&IPVF8 *2Cb)ns8z^EX4X)V5t BFB@?ըfE)=ݐs ;lGm3O%뀏^z*˙NᨠKXMYf7يOiS[Uy$鈔T9X0xb8&FɭPOo<Ӂra7e&N18":jp#8!bl:+j= U)"͸`rrJ_veo27+FcS" .V2y8t|kΓ@ k?zڇzķ 6ja`m"=-J<(O S^sѷ+k{e_6&csLdykVr*@,1 ʪo ,Ef[.zL*J;9="@f!!xcؖ4<@. },|L௶2&n&&Inl5]Ek2EMץKkmsǷMG%Gr\5RsU&xۃ7K$ $ D(Jޙ2>߆oЫb5`Ub[pp y.`u>IU gE-4(@5 t?Oh׻n w X'UשuD7utnqE( A!cM[=JGo7ߍױB_ѣvUvj^>'_ʙСF,$h֪fǻ"pLd0gOCm!hma>Em"tEu#Aܲa`sSoÖk;3->*Jʺp7yE }E3xGyN"HMm"`jö"A ,bA~9胧8nsx?$WWipt ~t6R[>-׽|ԔY#a@" m)I đ@bW8W6iy5{sZuY+.Ő8QܼZֳn)EyAZ0Pڵ}(ba:N^9PC[1Ǟуh瘢F{ F_y}𶁴#}kTL( zXwEUUN WuFE; y'! lNb9*@|N,kn?)& Z|NwV>db'=[{ [YŪPeٵ,_P" T2 ]݊&TEy6]!p:8ʤ_S&dw |cJ CrF14MM $T W ?2Q*0W!ћ~̯{5?r¿GMSo~&RܷK~\ 7qfi d:o1&*] A(Lo}FPd(wv^$Dw'[ h(y^i\綾Vk0+;Ze jX $xg0&n\1=hn^?̛.ء@Aw49d&k2AfDeI@Ud Ad10@*d`a 5hh,(Ie%cS2Kds QƂ#b5[%R-j["$qB4V)l*Ҫ Oq5}cϦ:^^}YOYqK !T2#F@bJ˖9vMfe[g^NɅ) QhDVR.ΙSD%"V,(eJVM&f%pX.ey9,iQR"!YGh#g 7qE;awoaw&tMTRpam{i5*PVr8*lwf>LMd;l ꖹAT?G[xؽ˯1+> W*@c4Z1!DUQ)9!+ DGꍅx[ &*ǧDҔzq9\6 Q/SID?EY?~ߏ|Oū BiCM{kSQ.ϊ͘ #.z;jgyO{UdTMua*)-Ii$Af#w_t]'~f`ф`b < i)ìѥ/'}o,ߌw9S^:!m,e޵;}qO*ޭK 0q/ Bq_:L?ʩ(S)UJ?="uPz2@yLICz޷OWاW*Z6$ r =g{TgYkǿbeD kzኌ`Ct1Gvu /L9xE$,Y&Tա=>)ܝCSgиu<.s?Z:9nڳe)lotZ(K맀!?{{k1^xh<鏚Xߝٌ1b'gh$r z5Ҁlpfa/c ;/DS՞5Dƃ*T@T\S,tr8R%~zZlr_(37+w9'X `F4X#rR/@ ~/T V9oWEվAwBӹu d2pR`$}B6.e6_¾ByCIy!]PwYiayҺRXc*0p (%F )N2~^]4+nr l ` rWŠj(oXWv9RbqJ苦c>=,W}tZ]T W P0Wp\VݹխX)`P&;11!FK)\)rq=W=/q'OGPIVTp4Tr0D84`jtQ5Ye('rzq}$ڔS;!0#߆K ET!t'eO7}kj EӲb$0V*@`@\=ʞ'Kd@aYn>yux)f+"@9flO}2|=_~3o3! @5 @ʨE(T*/7->.7w٭Y687d(D(Urgg"W;e(vL*E ֹ@O~S]58$u]#> t%ɕn5]}A)Ó̟ywJS2xfdկ_? _.ct6E-  P{d<$ʮ˔&_|:eGs0Ie90T&??-U?/AhUEQXV&zK ̰&?s7W^O}rX7x)$TXm$E*8`QnAB P/t97ê9݅@vޒ!l`YTwɎb½CK-w*$ 2" *(Fit?1<.TMl5,#(v|ϯHS}.p탂wƿbOsNp\QiὮL$:tU81X*u~~cL0 UVNm"UP۞"|㢶[.UޅRaY!zC#uv JH"w7ߗ#HTcσly`Pp.W\\|;J.͌ '.hR` Q~;'E&{_Z/Iz=WyuZgp78 nz~=rP^;<>X s$*G8@G,`Ppt1a=g{+\'wE˼vŪd9 $*=F%2$ KWxھ‹;X-ҨT((w`m9='=@ZKdc*(i٬nn7n1/_ E `eBռZF:]7p bOO;@hNQt1P$9i/ ;߽&ox'^C>bc;󷗗=;dVj`(f U@u% * <;C5s~j|ǁΆu'p3u$<Ҧ~,*@q~j|eYA>_W *! Ǘrz+<2 gAm\Ҿ=gPA =}ɱC̾O*FRi`h\9UIpeO}#0-hQ5҂AK;xvmԣVᖓ7K}32YyMIUDKQ⅝է≴v?7ZڸfrfUٴY0q5X4oZLMb1 cw/=^ZZغZWMLJ*[㚒N2t[/;P[3#cuSQ_J,E"'vDf4Y}s!:nLv徹}z^@K{rYtNo&e"UC=y8/xY7־jW|i6 #,URA"q}+8?ƿ/qxʵtoOaM4p\=7ɮF?%&>ej},}ZsHxNVNϛ@:9v"V> 9H4|nN2R"mީN6/_Bh&44Űזڙ2 `(`wv͂)|^Jz8%a؄u2&DCs໠_C[7;<;WA_W鏰לW0L5?ðn@(5  @!J!„mF }OD,D?(?; uG _8vNzj\}7P;f?WXz7X~= 'f8pZ*2ʣP}O^,7ݗLݣMZsfdLzGq뤡izK/QMeE!FcSY(~(:!OЯ;OIA[jr$-{ r|UW8$ ? !|j2Z5&?O)jio!3CSN+P'SA%Fz]<.>zӲvf` m&KƱ֩ruoΔ2ܤB*QT 6ۈoRĘʱ92-\/ic!zHf%_pc;*coɭ?{E,`AҞY ށ‘J؜*AYrҠRHsV{s-, v5k!E9X0{ Cǥ~[M}>>>yIj6^7~ (,2}Z]`Z,A ~`b U]^CR4Hؿ^N ,LT_62_strKvcdCp8#h)Ve@`G%2۫Ž|wAp^)uG=#}R|SZh I!"k\-4{7]E,2BfpFl7Ct{mgsY݃ZEpvx˝.ŶZ1TYI^r@A٢2vk !vgKF ;%]1o\ 9꬀$ Hѥ`5mKVOŴáYR2FK%OةDW0RKfflBFkǛsⲗeP^7*häYڭu'P3j0"IǑ# zh<73/LjZc` n^,77k;*o\b~grJ  af|{Vڿ!sNq6R+PG+y~|P2_Q q#npIO>6sx*CÜq 78X?;mV&4m4U"(+8. Pv+A BH/@I=3`GV&EMqp| 1w;ǎgܹ{qs + m4-9 w)Y{Mr?<:CpN (37"TⳜ.U 8$۰Vrt\nPg[VrEgFMã1.Kqq~RE[LHI*-;;^a Ԇ1N0"k0\&`cG!?//J]e UR.`}*qVx=)%c|]+Ӧ͗TVKm+2s>o  J@ F ɮVGP]mKCuq]dsU\0(?fMWhrUy(bKarN'^u*k_֩n<$ux~7ȗ~;2]G |CiŹH)zuȜ r46چ>ܸ ~V*J;Ǎ֣+ZS䫱zVic״ PZUW*ezHH9^\$gSmR- NUW*l%$ABX!i9vn 3Eu\o'Q6ې@>x%2Tpaay?L'0niPgd{ `S 9/LzXN 癩Hb?/ %-ToJ 9>9fv*8,?;, 1OBEdCpeR[dev` cpxC*+Kݾ[\x=4_un C-"ꌏAe݄-%/<-.>GP*)(S1Aκ֫ۋZs~/sf,ԋ)l*/17B4m6%RI)|vs\AkpRSc FI|Ne;rf̢wG¢Cz> }8>5 ,s9^nr˗mO|syלSXl14_*gI]QnOy)eQCE67?ay~Y>`DsRUFq́c=c!0t<- iqZzoc\&;) A(*C:ѥK˗s(!K\ܡ(,|DT\+z8|ϏRCHlGW ͿΡJcXeɳ?$ZP2|O >\ǡ*Dw{qIow *EUJE*VwT7g(N8Ss5G۝s"-*Yy(gQt5߻.ۻΔy)jnIPRl@7 D*uoMHkiw.ۄ^|&,FT2ZX tMrfq@ G94p_Vх~rV Q@bw#f'B~ <:xL8B&~uFAv{QґΛ.SXfݸR@@GoXNQ@e8dqUql)#ɪ@ÐgA^! .;j8T3':dY60꽜O5O =q^0>.m TTAY#yݫ8]ز d8q0AwgsO+VQ[4 pP]*@!19+sRm t3BK|Bk :uzm )3Z# aa\|.#G=2[9NM>`ouEAW6Bep);s-I]FH'A $arӟ?jF-b0~9`\;dHHɴ6 4Lg@ C?ɻ}c1vCu6[ T UB)-~U[#8ê_80$;|>;[&s `!AMRT FڝK5=q.0+cq*v|-"z.uђ9xrY6(}9C]wzinu.< xr]׺a( O)پfעلŷv')ʙ72l\[c뺭 ܽ8[tKBe%YZs^o S^vSuX'_r|؀w!#x[ TWyr}<٩UD`=r5\KE&!Vx#"C;o[/j&Ox}//E\d~rI7 c39gr ߐ`V:OvbޏU )%b-Ӌĉ }R9me+(iRM2#. *; Z@|\tWmʨC(EDe{.5b1q$? _l{އw}j1"8#IgyK!yM*ict@ nVm3Ǖ:i((x`R`a*mB4%A_κ3Wl)9^e"L;<~LW ߭*Ϫz5G=ޓõgWؿ%ڒ)"aOus6E 뚘(ןy/,\ 2`℠Q/t7}]Dbv}ѻ)`^ԏ+RQT4 (|'Q 2E'ZHK?c) ep%$17;NGm{ܽ&U. @p2\ru1AUf p HMkfKX_1':DreF8l'J@2J}eJJ0,4P{W{>>iFC#uæt cD;@"tJxjDA"fy!8\N4;m'TxKN+g#\BaJ0lZL͕E~>e?R{Ƶw{& @ nD Wu M+RU ) 3^ 8ib=06yުyb3gbM]7%8:^>R,9رY0Íq𻔮!;2a292S{HdOVL1 mAD<mKS}6jPw&{& h^<ݻJhBP jYкbLeփ>|1jۥ\qm t5 TLզwo#9gܟՔ0Gms4ڽ{|N:@IԊX2҈ZbP# D ETLI xc鯭f >?'$>?#=x((#ը[`}HI Gɪș:FO{G_76MԸ<%8vP^Ch;*@p+ ZGiuَފ\U9/\ yOQ )F $>u8LD<}].߳$"B=I s}bDZ(:@g꾳zL?Wrn\Üps ő@aWw_;w)'߬ZKxYd y8DBͳK1IG,Tr攐*-{@Z$W.^?~jsQUXX6 YݬںYfЁ#{\ )^GseKMFPv)R04L&P 5*Ijc-yc2jA4NJM->([]y~ʻGMaYI XޓG05$nB_\^NҲk>*sx W,!H" b+KZk xS kٛ TPIT+0?>Cxk{&z8%^HK o\5m~w;e0 e]s@6h i}|f牕EdG67^wͽKEAPQjt/C\hzAƸxη \Nc`ܩНXi^-a\*,?Ql&8K4T TДF>L %YU0<(sPe W!9\ U%v A$ZF(O'0*6|I *ooNhk̻+2}+ gytF@}$?13(#3JoyJcWy_;g RqGȐ$&B*7]6gz_8hTS]+HFDA"t- :eIH:HRCCdz|tNE'9:/9zWȺE \w.XvrU5MR7gd!YɁWFōs$72rݸgO_AU&T=1ˌ8H8HpPٗX7_,n\ó}ٝjg6Ŏ.:] x^k2drDG^!AoFƱ9ɮE9(#U3ae\!zuifW{_М!9GSVi1Zi w ̮U#p>aGqo^?#>A~Qi |5GTn/V0%pu,IElq\W՟nIzH|#?eqo-|>*Տ(7/]'LdVg0^Sx|7Q av: 0(@鈐18ԤX n}Tl˶uH`w<;Ps*X75=zݟe,K62H@Uߕ\||y3u H f/oP)R ]>GG[~_0=˞z IFjÂ>Y_4{C`.r '"pYh8|K;M4pRXM&&B)T=ӢFAq9ϱL}1@Asy`fÓVWQ|oomu&Mzm{2Os鷤`_mo̭B v׻_>}XRBo#A@7`$x˸AqSdY?ه9ygy gNº| * 05ǑLƓ[~:ο=~'IL4c9.|+ g%nS+$Oj+Z0@!dDӕx|LvDWg- LԐ.:ZPYt^PdgsPXOV>?u;0[[Xa0؈%˟_ 'YkGlՂF"\C:f)EͳGf 8LDԞ9S_~q=p%C๬'j;3H!T<[l Dp] u/JKx|Jnu/=;3fNM,h̉bPsv㎚qgܾmPܯy'Ԩ g!B*f=9X?'KMj(s}u RtHyWd/D""bɅ 2,U{ŧf g;vq Rw<>Ή IQO_"<,O͜" <*ӌ&#² +4Hx~O=tzJ5@drI&AQ3@:ܽ &[d ׳۵XTbU<\z. xVM7;ƚaQ)]N>I;x;?B:^KE*絗߷z+uR4Xdޅ uܮJ1 DIEjjY"UݯÿVߠl{{P,CkM y<Dx; td2%jY.$(Lb" k.,˷f=w/#Hv]wFpk) F!~5~OHN(#Z̽2\.Cܾ2M_{pdjp?8iRdTDJ9W,Ns_ݷ2z' c;whpnOJ;v?"qc @2qp7dkmF3=i$~/t@PhS¹׏_KfHfط'x/GucOz`_wcF}X%4Éy8D9y/fe@g?FKfb%VQte-Ai0^i߰> yR-)[mlŒQ:LJTتJ|V^B` F :Si8?6D~o cgEԸr-죫k(Ö *eCX+{;} b_ s^EĽ/-omxzSڧZ属BwQ IRQmCZt:l j͞6?||0t3֛ͭ$LDa T}}E6h2_O{j)s6{2Kv D0鉥D"~:% xs_#W1{|R82?D戤u;÷[ 8OhR/⦄Pp2`@1"r:' "#"g†Դu+?@ox.T#p crKy Tׅˌo:I(et=Cbd|}]ku]}|0C 0w1UcQ޷SSqY<-;ݧWviE"ǘA@{V~qm*5ڊNw "r/TqT)]f^^ '51ng]pT}:($Y?ph^q6\ksϻSkbD8? Z}t*.}uq}^qŷ D` 1ɥygTLnX64Jؑ\@#4tEYJ@viRqr%PSlx*n|/Ȑ n˿) ]M?g5Nnc4 ~mD tKAEaqBGQ EA\Y 4Xr($14R[b@ ;!h*+,%B%P3::[/LnLL*Rphz/߷@11*X$j + \oD;jTȘ̓>_QֹH|uxOW Rx'D o̼ a1ɣ,A "2^!'Ӽ^{2t7N.Zbw1$%Tz?Lpie[~+,qXfD "X6;Rh?0n,i A2yh U%%+pNN<%fLY0[YqsoO(ecR.A7Nɿ@$C8S:/U',M J?|19Ӝ(yS36Rͼk"Z}%G,2x /Q d"1@PknEҔdlWq^AWb#W+&.PC+ǩc"wb,K@&W@ʐŜSH2 bY?#1ʌf68@hcIo?#eTdJ)9LcÆEY}ýS1&U, p y E;<ҖM31uK5=]jyQ'v}.B+5~o71Y## G'Lb8o|1DXT %Ry:ʏZ!U]U[HGrJREC2 _1=>gþrOH/#*f@sGnϲ }bw7ۑٿ15&ܖ:axWOkFw%N86ܗk@Q]fʺ~ήbZKF߭|:l},l,>*ߺj$,~;|ó&)Gx7Ac[4d;JG8Q:LyǪuIs0S=w3vt2 A4L_MNv]f^mXF b&b@! ~o.j )8s'5ظݲ e:DwbHi%9$"@HHRk֧+kNh =$y?E-CcD B0$@L0Vɕ!9p>P.S,Lԙ9|z.GG5{\**KTeTV~{~`kU !Q`.|Y)%f7Le KK5>!NgNTLRC}XƨQvB%zCeH?WFFU?D(O G#GAcE' ;VG}^YE^+~M^ae:N6{#<5 !cSph~c(Dzv[>Z)x9v$ I>R HpXFn%l&n&%I?䨛.(Cwg#b"+?b=uTwb3꫎/Y1=O߼w?/'9Ps5q?AEO%Vzl[l)se4rؒ30:! > 'QpK/ |ҠJ+կPVን1rrG;O71qn93GaSlln;zO$,o{ֆP G9M bwݕϥ?UB>"8eX@!:{;Q_RuGԔŎH;̂暉3𞨴<,S5qzEώβ6Sss! dR> 39' z"a'Y:չ<<oGۊa@5BDuBFPJ!wʽ;rt܎"B \z&! F@7&&󲩲=T]{|~%x%(+f͇kACg b<@mYiO! ED}d>"J`\ -( ^Ↄ7VhrwQiNgY$*2Hs-F} {lfT7|cw."ȑ &;z\L: LlB!5zyZ5#%%yK_qV] 7P$E3QP78d-_|Oۆ{j{~ܥ_R;ڠЦJ;l5۹Ŀn즌EZX(# Jή + UbM@T()>٨Vӂޢ1l\)kQɥ1ӡnZl(-qE[4c\vsPd|IOq  wfkr0vy͇)Q=v)>ZR!g.j^PP#><3,Rh%*(mo$6!myw٣Lj8--՗~zyWRwǰH2O]!~p`cG̬9NanI3 D3ߨޞ $ ijȗOPSOOټ/kz{NK~pBUfg;{U0F`J&c@NM0mT6"QD# 1H_,{"KU-J@+V!QeJ871Cs}ߞ]5Mj\?-b[jlqk8o*LNvd9V qtN#烠`;Ѹ\]쪞w"|R~4|[ee2WpjD1Scdb@D2na; ACe:P8+Iӫ<\^d!;MȨj; t"c1a5fKw엯]'ªD~2`yOZg`B\ *"@ȮMlZ^u}[o8ep.N#fgۯ>.60\S594icڱڠ$LpHsoz*z&Bl</BcaOF|ћ'(?"Y#Xhxq@ @4MAe`{~ \. {vo2)BoT_=PT GTXw.`pW9D; cdDkW:CD*G r0lF O]:3 ل?y·/ "}>ޯorkߵsPW hb$b0c"#whB;K'Ï5 d%bAK-X(۷q^,Fǡa>㼲;oɐ6'EDc!Č2ʽ넔y7r;Ț:'/ Wͤj_szZa}~0T6:oϡEL$ZADka>Hy7|Nő1@Pq@L4X༧Ps:])T@S0 cCX>2SrH>?v6h\)0]:fHd]ͳ>grĦ 9(@@|RnC)@( PU µ P?ގ,FzdQd("⹄t0;yv(c;?+Zf%Ѡte!b EA b;da%}y2q{$.=$?q:cvydZ-qW|98,gB5/btVƶsV 1AX* [xx[r{1NEC.S=nYU-9oiB8j"0$sp*S hN79˻ś/S{UQo*Ȱ2K) %b&RΜ#DEVag3m.in5_gݼ򧑣fSzփqb=i\+/p-jmu&+zM(S w}?ף0C0*IUݐ0RT.V",V1y\C$IԣkvG.B^(FKJfbX7­ {¥ kxqu} Ų9*(;Ygسx[9{hk2AzN`-Ym*DF1xb36DHL:|ϖUj,ϯOV wy?cs ϰoE.-zհzs[QX 2H\x{pQG㇒W39 [mt.|^9Ϋ/a= mqutvgbOO?uӮف[oF=G|^kz$ekk2=WUoYJT+[F`?k lKA$ؘz} 8yCז#90c!ynS$V #P駨>ծV txHU^uӪ{#ݼ~X l'9$Vi>_}/\OCw—T;LۮluZ{`rY+ZX/P`oc.?%dǹڊn= 3XWNt=.lcXX2{Qbq^/_Ŵpf;u e?e?`m &oAxH s=,UX"EhIBWux=.Dkki;B|Q]R}3C+!$oؼa=z߈%+<ǏGA~B Hdam䞷7tII^wuUHdlX{F߄SnV^->i^ȻqFf] iŽC6ц4kotW%i5^R6?kH;hC'msXBtqv'xLx-͇2DPs=|l]>c-\zko&~u]ǴQAH\l@XHĩB'[ufkg6pq8 `JYB (Hu$R,{&TU^G}(ywꞯ ENWYۯ֮xl.ZZ2̇h.8eWCd0"AAa+vW/z_Wzmz#1-]_26wK; W}w)KX%)˳>ecv9g8/^iKչzuf D qc:~ƹIzغ17~kc}L^?Nz-T1Y;Ei tX;#~?:pMxu#Mԑs:u]+r]̈́'{Eʧ5/f^EO]a^!|6ekCƏgk}nfZv;9PWٻIGeXF<_U'4?klaF||{#7;G%Oy B7'Y\^v;n=P33yfP#<=W"/@J) zNYf-{> NU~[j(Z6~4V^YA#R>vFd.|&1pΡQ&0vv(=)6,}C!*y(Tjk`Of< ؛iÎ4=~R~ oZᶀ2>W=F-\uO?MM,"٭wϢR"a nTMM-8&B bbVrN.{)Zb7<_>rMPzfd]ÀsXdͿOD+p٪ޗӨKo9̯w=j)z㵎Ǹ_~RH w+v iDCpȗs,bl/֛ ('4r7oN6-SZ1f{z 3m꧔N<-tK;̙n_"^3-Bx[Q=~SL-ur[X358L Qn.'wG{O{FX_ ;>}彲UPz;׎ MDZ_9o\RYʭuo4qUj3HzMbinčn c*$aħ]pݕY{?bnkvUR6 WQN24fH;UI@]Pxw+()Zi[k!G,bLl5[/zr͝W[)(gH=sz򬊢d`3\LAgP@O*~ox>еS@I I ;/$÷xaB ^0"0$3/]x-]@)lUʌvklҗ?9owՐr/& ( OOk俶Rɠ}r~S6<!S[*~Fx}&>o^]4xP A:E#]$9C]x\*`|NO񾽒VEuK@-*@Lkb-:Z;KVOE/#7%jO%/CI}6/5JWjC)/b'}(F xw_{'*T/ٷor}: Y/s͆LEzV۟_cg$cJ,).T$h20vc?jypOzM쪸Gagwiԡͪy>uxRbr+q"g)]FթR/=S勑l |zhe(Oӭ:JY?Rn8XuovO^ljGn% K ;Ŋ!}0|5叼ʵ(ֆϲQ/4SQ6vll'jg=MכngJH[=4vZN)ja`݄}~4'_ؑ[r{-)Os6y49{ku)KC{jzN~[cwc̻ҷ}*F}3Lמ/],֛Wat«hIB#b+ujY..ޕc6hYWdZwlruٟ='s"mTM8 dQlhvysٺ]|m7 wyy"tKٟ19*埖 y(ңoX_6Caa}؈k뫥@q@c@k荙 bNSԛdB_O:Ԡ%Zd31\&m,$/V5lͿSTIu\fk}mNt`+KfmYށ)xGz;>Yf .}Oy ({!/hF(ŪʄG3= F3@<9{q`zXgd1_ oC4tGm0:.bgfUTA?f5( AG&%&Td'Q=f(t 4; [~σn_?xQ0 3lwɵW3pޙ8/@u#} ش.ܠ/ [ym[TŽ.^6FǞX;`d|c)&G*#bIBȢ > XfOusǓgcr3٬ZBwM6|v|;/YM%gG/JˆJƼ~c>7|6)*AX%]ɞܜksR199Mfg,հ[~?UPmsNi.]GиumWhrw!xZiuxfͽCgj-9V]RG&ӹ<~nVΟgƹd-[UnS3YhZ^?'zXب?ۯ˶0[o 7`s%ofFe>~ql7J Ua!P ")H4:fЃ!_gWGI//ߓ)/[Gz15:Z7_WU<l ﶮmmrұ ll>da4^7Gdk[z;̞&sgs;N%K)^#OzM݃WB; q0l&CuhCŌ< {8* mY“/.}zsب5y$Cj9|>\NjҞapTc9hV08DZQY)S+,#۠eWJjQߦ׻r&cKJx别%ظ ۫wjd<蔴p~zשqv9n\6 q#зw4 VEGzG$'[uG2%\KhKiyg@*wk˗ 秲~Z?gNsbz,YTe;5q7lJ߹uIy{㉸L\)i1.޸^3o s'yM٨:)rvv;i:>_p|{ry>P|m¢O3S)byߎK=m{ico>C$rxKzh%Ng Ck?o1~,|V;w ^>UK=5]r%*NZ>s9oiYQFPdC5ˑzvi/k/iҍ_Xu YgUv5H8G#϶nr(;;%zqL1A6vTPVp( HlwmP }>MWQYh?~twF";5Sqs{̠7~*uGp K\].yԡx3!D)Y_ȵ=/$Qh| %dHvrT˶rAa9[;QcZ;ts̱fZHH!ȑ".eC!2E< xDמAkX[ZRigl%gUb%J _l't?'T~JY,]?=PIQAd_5|f9~W_$oy*"Z@yggyľȨ*RS|b 5I{lsC>`K 1qPP2P]e dY&VG#3G;R@~ه$us?*NCقϰo0[;8T $OIT ^XNFB֥D}>$j& wtO7f{T, x&)QаËyO0C?Ь'7i*mh:<`ǐ3\@~v5NƫЇGACjK]8N,J54Vn1졽\KΣ+C˖Upe u؈ o(X!"*}%]{.w ,s#8SP% !+A{/e V]ɘ ŠG<vbL2@X gCnA^(\x;5EE ([]2 rP+R-Dl،/%z4()Q W-v>hqn5G>ܕ,5[4nr\64$.@[lQўL{ƬXf;z***U^(ڶрuM@ IEPnȽ"I|s>>;[;MP] M;rMav#ӺO Hq`E*v% (NuWz@Z][®J;twb|77'{犚RC'g݀@C@Ċ-Үپ/p{{;o|>`0&C 4M2`!`!O&&F2 4d @ И&S5iz&S35M=F&j I6#GhhLi2 QMH"CMBz4hM6H44ёA d%HAzIh= h@@I&&Ldɉ&@b2`hBzd?EOɉI4SMy$<ž*{TʞFMb=5z!j&4SM=FTIꞙOO&'MS=QSzjdOQ=O2iOMA~yOS~zCFF=OD=SF=Ry}M'}R*۴\~v_cO##Aͨ(3?Kx|,#恋[Og(` !( 0d ͊ڌʼn5$3{ DhYDb6;Eivl\'&Hf&P^iFs r$DrJ0J&y jDlEr]mثs[RݡX-3UT42$id0̓hU^v"^@dvyחoxpmsJL&y[-=gkW^>b^n4+ϣФ.]/n\ Ñz0u9vv g%lc9XWIBBYO&]bYܸP\[F\S|͊:E,eкVSebrbV0t+@>"` RWC}+3!g2(L5BZ J[M&)ard 6KDLkcuT. lߋ]Yv!Z: T.Gw }ypaAV;"3X0W 3SY~um?YTRoai8IJ*;MM͆E5[ XzE>ЅGX\d-S0xwpXBǑa{ufP`9_s굉L0´0g@6 :Ejm!8\y`"j3dȆ N w+{i!fˢjĽlbj_îBQKk6Nj?}F뽚 iڴU̔4I]|9su"d6 .&y60@C0fDfFoX$ , < k.Aa%U$ O("ACuX=VS r?5~Rq!$xh悊1aaCL`_ @.3U^8u\gZPe$Ђ1Bg0<=0g 8nTᴽz*X{fEu Á*'2,"Y-JhYPJ@`ga SuK3N*<;=}?ܵq+& UG.~ %|q<ǝ?1Ґ ${Y|wl|>&[uz\idB0#9 ǩ`WzMja-yv=ծ  (sf]oyD0GwP?A?_ /^Ѫw.UNIB+'H8޾Ta=`nƞZ*)k?6\TCˈw$$2t@{]+pƃigIDC&wunޑ@s3@LէvspGEpt%ur ҇h4j'z,ؘ-wDdRtJi> ŷ؂'!h5Í]8`WNUE˞?aOqϜ-p#iT[ɑ̸ TU`0N!u SX{.%FXqM@*C(,7̉,#ߝ:{p5sS(=$ǧ!:X8b syԙb}IǷ=$sDQpȂW v ԭS |gu9 ZdE.y=ߢ( T@ʜ"5NxCdԊvǏ=D6ٷj&,AISODUQêZ4!$0vȶ~2y'tLm @se.\}>AOt8uz>0aGL={'>rDMgI"J-{LdNe;;~4 UmN9EEkai XNų;4KT$D䬝~H) 7 'LsZ5d7pfW bH?jGzǁ$E pT}D,-et8>0gƤĐMB$&K#Ν3A%,Yu3➖Q{F*i(ȏ]յ~G*NvRCܬ̃,8"$$hKRrz. pC`u۲ -t;JZoUCd $U8BԯN[r}8E.'S ds0t&D]?>]|>^wR!AQpTl"` 04:ZD\ 0/CL~|(C#֫%BA#P, !փ"8  E7EDfeg[)JՊ(A0\xUHh,~1z# C3h'uW1f QZs(ΖȡL;@Q:{{}|j2 ]aFrU1Q{qh3 R4:dHAjyt™)ǝDN8e,$O)f\ȋg8w=@vYdT[}H]Xe\ 5ӴG89MKѱ=#x]Gei3P|_S Q&>vodҒDJHdw8̳cOd}520Y"g \f+)c=:{遆 D9ɒԁQ:~(w`ـxf6bpӳDχv36y\w}7#߼8*t$— L?cՆ )\9[϶̚L1O_=CYo7Po5YHDQNkՔi JR%#s}>֞ Oӄ[>Ps>)"T8sW߾, R\ " ~{sY+ U9% I ״{YV8{KFj3v-y(L?W)}rIdHϞHF ݁tI&~HókNCrI@d78=L[:p1^..N^7 :E3N9h51ǏU\"$΍jb,s>ꋜct(%QUo5^h^[+T".J9IM ch6j(ŒG)3;_{z;M>n_ !j|"l T1(@5fFTPvba6p`Dw90/۷IntTyNŻT UB\Tho*^[\)( XzcC!BB ϥְ)VШ8bbįF۸r;\t|xڽF1k.QEEBlb-s8.(NNuubiKdERffi!Tr(r&f[39"I\pD B"hc2Ѯ>}H". TT$u7;egw9tA'.iQ1pd5!1A J1B5%@BbY -* Rc2.ΠG Ba& ƭ mbH⨹""T*PGn@HHF$\I$ #TI kԍG+\b n1e3 bG5ԣc7A4HȊXۆ f^iQrUۛFNWo;[_ .Bo;º#0Ģ1 DCqLBl&m5YE QPer1b$ł^L2NB> Ds5ˑȚAhk{9_%,d3D FE(l6MH71A1sLq|= =_/Ԫͱ-56kdl|h|lr;e*1=RW,_5PVMՒwj6NnL¸aU.Zs J^8C׬Q3&a!>M08⢹1貸?M CTκI!Dd#qc3g[3y1bLTEAdBJiDܶ%%a(+$HBL-`P# ARueTo%bc-jEVMf%.l!͔[%`TbBidr8W Y$+w-3ŰȻi6NNelx!^d*_踡[⸂%#6GumUEbz56G-xjY^Z m,YMW b3lj~>|᝘+ wq>^(lÜ'>wкzK~Fo2}'ۇҲ1?"qg} Pϳʂ,Ã#0쳌};-@! QZ1uuУmĿf~5INzmm=nMF)h}|ssf]k0C}.?[N퓽R"}Z=Vyqv\^jS1t#n?+64h~4ZL5ړo-)z?~K}q ,NV/ OK6AU!~4v 2nGf)WzBx ) e-o6~5ې>kˏ\-ֽBD!g&_ M笳rژ024SQT}n7GdaL]cqTӒqg|YJ%imX cӖjƞk1d01b,vxFYKEcT$zkW8U6i:lOu76j9}f<=X"Re'\5{6WX)h쫀X}nCO?GQS5^!aX9ԫVwn[%_N#WK ľa}8e Pފ*}V 2;N59eιKY,{_>w-42֋?ު 6ǖeƹS,;B҂cS?cm{5})4~a1gش|1un~,+aH(n c_daNW\碶 `P~% &Cr0 &RǶ< 1=k)'M&[mbR(]S4j/?tMCDo"6u \D9rkU!6\ czQ 'j'fGA`n- Xw?EeM;q&>r#i[80XYЪB"~y٥Ix% U)D-V5yd0 Z3*[Y# i& \vfqukN,ɷ?omA"!1!Iw!} HǸf@mC_o:ACt=@њc읿~yo @;ߤJPp9#ayDg<[&5^J+SO IeM]4wlZzT #4tmE&`h >(0N. {*:vF7Y8V~z^CYxiKeK6,YeՙB$5zz3߽yP:*k>C8e,#Pv+R$Wt8gfZLĭ&}AدFzFE9~S$v6MWX9_Y>B%֊^6vv9 9P`}Qg5=<6}wM*}{f_w%K{n/ ߋ@gFޞ0 SHjtMтØ10NOX0Ÿf3zmTʾa85ƐFƊLT(xwP0f,B``2nQn`/T68ގƷza|}p6 ƚ3W<*qNx_]ijt~f ~]~#M s;kk}"=l^w!0lY ?3~[@w(J Oup<,vavm63dkZ_io}|W)I3g; o,behiѽxޟW fY3Հ->f5v^Yd2 ߿S?9"DZOfyW>b)*Ev=kŮvd# Wm#_|su 7CtN4.99Z}=|Wfgx*ඐ;Y=YVf|0 At^tw'O"/M[-_r!N'Xsf:9Yƙl4^fݮ|_8Yv6o@o Vwp _~4 gu(kӊH-E~1=>ٺxz0Ki{C6ڟITtxghṻL5JXlxs:/ǓӸpI\?uO+R~e͍'G3vp09ˉLE ɡ2o9yx&/FT.D;$U[ԏ&q^u\^zm x.}pF; KdCdEb#)&9VWETY(w!`1nR~d׊.mZ}׶Vٳf̬w֢<A_YWiF⠠,n".Ds. [B)g/- @XI˙ H 6qA }%v6)cFޱL|$DFb1CHEFN_*]C?9s aa J0+OZ#nuaxՠ)XfMw:x8ФC Fs*YZO@i-~ 9IE7ɔymqJY޺1o $gV3X&cmShÇy q`4DJ |f(WT#аC3}Qᩃݰ=\pURM3eXӍԹJ{;<͊~a!9ޅU%nO-+ :i)PմO9Þ^!pwȫcwFtt7dq?w}>%r GO7jNǏ'MŌ#-:w7SG`؁ X#_QJ DЏpej)fPe.D;膨y@ qYFBh]侭}El+PBB  #J]*QmM dl,WIt@6F Yފwe:=J^;I2tZۯ2Ywl ~;P7^عHu n#Teh9uJQj ~,u*ηP+llexSh$4MMި .<,m{m`ڙj͓-r+k&ڔ1[+3 tzTt˳efǃ,RZ^D$ʂIIEǽȽ܁uVK+ ݭ! NfQ1C. (yOnk>,F:qyt1#C$>B6}™8n3GRTRՇ> R%en/c\;<Vzy/#m#b(5iZ2!lMoGN76La/lى3l.wv;|e+vbDW6:B&-u q-%D ʎb1{sA T."q!l=YGX ^ nn bEߴΕI3g!?+^"] (53I9&6ˁg0B?zڛZ^K<2o9|+CH,wT -: > W?-d;~_fm}Z"u/UiKOukysK|(|uh*ݒhZ^5f|$躛b4U0*9Ec1s/ $tU^PC򎏈E9 ܰ)&f*ݓɴ>;4uƱR_vBc)3a='~b/-r@-30v['p֞Gnc$6=?ec7(P "bB^S<~F=Eu6vg7-4ڍLzGi{ OafV*ߴ)eBKβ6jbI2'/Am(]5Uh4ޓ9>fטښQ4k*/{.4,ߋQJd.b4mc&HGӂAałK707O!|?_Q(oe ^9_MT(xH6\~NMib~̿zv#F}F(=%T>R:2-r NgaQGCк_Pd<A93-"hTU+|>ZLN5&U[0#f!Nl:iY0<{mxC0S k[fFéa絭ջS'DɒFV̻%lK#X_aBx">N)v(>`B9+ -%I"t`c:Ȼ1XVJ1C- li$ rzef9wXU?.Hk{mUQATZnʷql !jQ>=#A~fvLBULee0-_X5875MQH&M8S{lWQKZϾLZ RlX1 `8G;9RNcΨB Vuh$8H&kN4R҃*"SyUuTg̠ י ѕ"렭8}A=^f%kjI=*S!wK/Q3-(rO~Kbc{K^*ڼTA"JTf 0nD7g71~2ގ<6N9C؟8*kĀj `i\W| :`cArsVg~UT_h:!n_9e]_QwޫE.hN@s:;V#^ً,5`$LiΆd_?0*)sUji#?[oՒٵYt9Te\WFXw-/q|%Т5(`K(wO Z 8Yne`ݼy c!yKVy+<^Ҙ.5?~13hD0>0+n-ICbݶR0ʭT_[럑[s >pﱇlAJC5T$a$[p9e&n1dZ5mdސc vjOee1aaxQ»o'X ]SH!\S_ҷr5nE1(ʖ^&f0>N[u{Pۄ+nllk;[}6[oǟ7:y~*sr}M&Uţ׏Čz9qs$aD߫ua~]voVnn SHHbwJ˘wŔwMas|n΢ 2˴_3A EkwbK}|=-iŒn"͑+grDq^0c#:aļnߌg*F_`]4{E= ғT6b|!͏Q+bfd),Eer[ԔiR=T&@ `Smp2} q3VFp5Y Fkh`Wz;3ڒN.:*x~- Bwba2 ljKYSV9K%egYIֳb8{S8Kfְҏ9CX覴}})QUTQ>f֐A5kP{7-j9a"$@pTd6L35lEڪѨ?w'W{oo~4^K1'Wa50ji6m9fx藺N^]skb6wmm^6W+3Pp 0TT6!Epih ȭ7`j 5 5.G>wq=7h6M P(Lr+1DlyW:EŮ)Mȑ\<~jd3$&#us]%:wh"j)sfc\yBQ\6AZUAJ QE(V#8易.BrLj7}Hգ*&بڕ+{ۥ^\:x ekt4XH%|kt@53(@mP$^.0N02BxnmI2J|̜9^:I]Vv2y|)9A:!D8JB4RV*mm^j$ y4. •MS֜>K!C[&VS C$|E5"#dR,̌ɐ$rx펥  RѼ} MR.JR +@#b'6QXEVMbP)@P B(ZF!22JLj,)Q(r DH@LJ@JF!7S.Юҭ &k P(RE()@@ !B-*H@d"** @2FM .rPG!L<MS8S جUQcTj1۳~B)RZHN-TwE1xĩIM)CP!B;t;+V6MKJJhJƋZ5Ҽk3i CKAKA@كA@\iv0Pd-RMsX5h6ErXr9jR59;\ծr5r6 *(6sE-娭EQUZF i^C hi @n[mhэr6l[wZ[͊$XMQjMnU\lrsj]65E5sV6ţoL"@ҫ@\),m[mXlQۘm;]@44 Em[]6XFW6M5E*aL$P R4(PY(" ]H%AJUhCP-d )U |4P U8q a i Ir 2hH{"!]O/$ջ|9M.Ih8+ҟough-c,$LJlx[0 f8C V8=vud~+at@Z}c`YU\U{0gaGfK aF@` &&BA^4 I\T'"), K( OoR'E5P4G[Ӡ~&y *Nqxq{ eW77&%/q# ?eRI7RWŠ9M ݾ0sVqm>ðP7{3Fn `/toAo0 펅- >󖱱SFM'Ү;t{yr0@A'͙8U_V s 'aqE 8î]^s:#@DzHcyVfDL<~B4@` ꙓ|j{A$6d#$X;:pS̒l!ys>0lc6XLY${4C8Zu89I2 Er8yJg(u7}.;}Zz.D{ "DA#O7.qѳp[Ԯ9cdC$T\QXsIsĢ 5<;ޔSrk=.wy̍!HF\Ԫ#KD]ql!j(58DN0P%T)N}@'U"쌈,Š,1 Δ:2"\D"B{>ዕsk+tskl]wk%@9]wQ8>׮ס"ns0*bhQs8tPR)P*n[m]&@.\b*;aD)֬CJ d"B@ B )}9 +-" S1ѠC%0Іjxs\srrە Gh58P vJ="mSĤ&28&ADQq`}glwpܧN8H"P(oktC&ycl7E^87*]w8Iq_+6>RN8rAIӇ9瞏%4m.RTA!d'о|;gv-p@!!J%(-fVcjփEF)Ip.uG/uRR% FEQQPUDUQDIWj(a32bZ"-|T\s0‚@Qwƻo-[ YQSVRM FM@k3 Q)- PWyQlAQ4,@dDi3kދ6"^$p 0$q|N4As8!"Egߞ]\|YǼGy`Լ ?>ޞJCIC˂yvԮ (Oz>?[1s2_J(ԥxoJjݰg rLQN>N$ py/<Ɋ*rI0i䳣=ùN|}s5ΕNA;`I9 bԈ!i~Yd b-<1Yf1$4Y%`Ea288$ǢN*YdorgmTDUُrxv ; J0pG+5V B  U7/yU=4 *%EDN_y9'xtqˉxZ(.D*N^D@(t"q uT4 4 =h{Q5[.i( u`Gt\B9!2L{ͮjA5Fk4w6nwuٷUؕ?s NQC>4FF!Fu`(DԈd !A2wAwV{ ex5y_7pl('C„Z]&Wu0!CʕNnr?&|}+}^pWҔa0@zwtۏ\ӗa9Ƈ}cuqTⳣrW0M(ˆ߉>iSb/4Y>[UR8dX9 $WLF $;ZYv9&=N۪7f+ #O*ҢQBwkмk$ !Ԧq #bvo6H/\b01>!^2)N)))LO/w\7.d4\uԻDA|.Go9{qyz=i (CR*JaQÜ^ny7fdDj\C%9Й\5»TX&ȑ͑waչwvѡlP%2R.G &(YkWYԮb#HR l\R1Hޯ3|?J㡩 mHlS~!ja b~t-=5&12~,=; 7qH>0{t,s/ wa>Gh;th0Nk}엔_;7wUsc!*ņMϽ;xl:7]ӆnѹLf32ɶ=zH|mǠ4z80.gOY؟ ’ }?߻q/x%{+d:o5:/;XNϲ='q P~>7^@^O+ݾ<~_diD^~EAʉgU| TB*"(R""w0$tʨiRmZH(F4TU3kF֋-dVƭMSX-ƨm`Y ѓj*bƠ3)6LQ65RT>JzHvv|o)ʉvp/w z|(|CzQ;cC€_g*!'/l}L^_BYխlh*J(%5Cmlb+ WjN9Q#nIopxDpcC/S]4Ì\3AGoHo m?-R <UPe*b Q90gg5mR**:,`֘.xq|B+GzJ}O9>_^nhDS~rϥLF_WO-UO t侔 }_0 2z[WU#=v0mCk{+1{l%@}]۾ƀ =F"%}*F"yug7UNC}pUzU; EUr* ᄢP7R*a}ba )D$(iOMikh-"pCO2EEPt )?Q:ȟ {Gg6B`tuIE8ҝ$ qR>/ԵOM>~4I?[c@H)(k(XJNTS q\B yICLwp;w0R&VXt{C4TI7Q6=A i:ogzA-l@Z b,e5,=y jvoz?_`rdzXQ.Ez?Ba-f73`zF"Q_jN 8O 㺇#Jq緹Sv"Zm"R8^mI]PC#ev<<ioc;y)Mĺ _ 4`o';X%'Mʎv9u!A?^uPd*i!06@h@ǃ|`ϓ}>[P"{!/>$8=nfWwx9=5o™s2/%h}p#"B***u0y8mMoA><1zǢt!A9ރmfJe# s{XGa=w)w=ĚM쯫B8s˫h8L+`2?VPVAϽ -{ F=QBˎ4EYeu~'/2ANP TB!H'd"Hr;VBdE[YK2=VX ĕ,ĶLR;(q,1`L`D"AatE)1+m)R(*Pͷ֤ hW3# mZg;>MzW*^eM122%db%=܄'R`66Ѷ$HnX6 +sJ-]0K=\ LO?/=-32lHІtT#޺CN}? QfŭF8)x Rr4TVV@]:O6_n?l,oӦ~=|{ӵ\-ب|G_&{~[,,_ir͏VrKmX_o2A |E$Bf0m1ӓV'+5ǪwI/4Vhw&E߱{\˳` Q8nL?1lVjZeڍFCƧ* y, p=2FOJ;.S%ddi.#Hz_%5 ,W]}l?Lނ޵{S1u*|J)腬ouQ7nW$?M<޶xo۴2qpa#II﹭cCލ҇~ǠplsV%̽Zڋz|3TmD:*.n|zSCe'3~Qtيw鶍 ͥhK_=/s3oje*u,]!I/x1vqԞBǩñUdfʨGg7چyo[m 0@@:C_|]=#".2ոF魩;ߕ/6ĻDavt25t8\{vjKf­T:Z.o"gOʧ||Nټe WJ5 I>ї MMs]~֮cYgg?-Bg?MviM5h+b#R`tR ~,)OWi5}{*ܝNnW7 b ۍ>s]{=fG雓_qT[׊zJ{sm[Ϝpw#q3H(CdZvC%YYWX7pD!\X1eQ/ 2xj>괤91*hhӎtn}fI}zgUp?ŵe/:<2\LGA|YpHdd؇Z'EoI7060殆_mb\K4]bjE?c|+)}G RuVK(,\EIcE7sѴ z/07I&'Eomb> =˲w}{ay5|Չ\[q8D*jX8ǫ3TJd;wE{璝~igcV/SԖbOLJ&]noUS+ϥo92>߿ioM=yѿ?#Hŵrؽ ~,>WfE/Ds]ߏ"S5\Km#v˾@T|?x`m?m?_u[ӵǹԏ+\kjꆊBz!s~]b)r4|xt_=.))a-MuqJʾ_ Əʴ@ _AD4{ q+4`ja. |QqpsX1LKqY:iympw;m1aHbYosQ <Eh9,b wG"yZW{GՋF}[ltF)k Mҷ~"vK$GyAr _@5Z Tw<qf,FpyfpH*Ds34֏wcvDtΊި%OIz ۇvqkGA+V owq N$' |lqFO1h ݋pgĒ!iॴTw $[wpv!?2{D4쿧N ZwLmκ̬c?8,hcYF-ipE;HZF2b?0 H/ bG}FJ\s8P楄lh6 DA ёZ &I4)2jrc~ɸfJ!hZ,LjjWbB f**5bD_1XЈ`*. TFDʀ7M;띪Pu'ZcNNyfWLमR EovRחIduuNqPj~`_c);b R 1g)Dd7W>S W 'af'e"#O6l&zEA"X|bpF/HŠ7cG5_>2aPe$>bn Nƃ4zVԮ GZ% bP!0xǎ1pSr̈<,l2F:Ax??PA@iGb7T<L'Ǵj>s|i2*6dr6@~3԰/`z2;Z_ks崳TؑsO8 iEi a?Fzzv5|g1ehQbQ=Dp芹v.yh;0h8{7+WV?b/y{=]R<~ lt'c[%>ӡp?g :('f3kzVٌM[7 {t\jג쮍C~f! .C6kݞ#Ӈ3z1T6G/"{Y|ڏ6*р_V'qOͨVSEo2=Mq#:?/?aW^)%G;սLV_Ϲ /jp}F̖P=qБ9َߺǹZpA}{; eJ}3] $S~ t<nT7,W̴>|zcy'Z5Oo~"h$.* ]z=M|>C܃h._o3;5U<ЧـEvee8~l})PCV|B**q^ ufwnоk|ٴ2;ߓE2j\= b5 ܒ )I }|g"8 A5D QJU5 (4 DAƍm TUd$6)C?p4^PW\_&AQ\@1$#ȈUZdL_2_F?Fψyu˔sytֹ}^Hւě H8DO_tP:PC,VU%|͇ӁL>0eyeuLGɝ34=҆̈́]>"~>k8UD^NN-|{u(<'}VD4BNj|O^~_~~GXiz9So׹)l728^^'agk2*f``L`GVC0Ho)>7`x{i|lWћQbmzliH4<Tӌ7iSD-%PZfG@)b `Oj$ 1qp>ij (߬A7UW~>܏, C^ތ #jd!_ڇ_h靟V_Q5 a)UXSІ&d,EN/^SP7c;[39.0QZMRʓA&e!@ E,?rw*~J)$Ģ*/r1%uOeWۢg="5Lcs`[[֤pe1~>Г!JI&T0&!/P"Q.*#oO'C!  nVF0S Qd.w7{ŨYbQzܠB9'#P4fEEU=4֐ 2= ajԚK<X]Uhj^dµ"hx@:HB,/ws^n WŨ|9S|uWqRԴ*Tȇd p,@w8m1y-*=9G܎V:#YTT}b|7=.x燒öXDo;1 S Ц@ rW.+%󓳩aDA\X_Eb:$GSd1|iP;v/W&p@Edv-YtEY`ބX) b{3.չ8`CywM!$=3L⬟mr:qƁX.,r)(ʠ@J&@u9!;=bdh)TU-&hx]:=8JЛOzaЛo6F# pU E@Qh\Aq\}/K}kBodaӝ7>7ӄ9'IQ\c^ky+[Y#(aA,Xr&C@$CxPQS,.+"o|:nN߯!݄2uw;B9&YLÇ!u[cپ &_"""3Ibp,xzqӞN|!әX\:LA*¿*7X`ELȊNv&wsMos`2 &znr梘>zx/]NN&$1!0zvӐq/rwPUη3;w=2EU툸Z>~9y;eM3t8T= ^# кj/A1k4"CNgy{x=f1\0r1prhaX@qv7 EDq:;|^TpQKAC- lށ{$UkS;zMxQsKF*9Ƈ<nNR4 B7mAɤ*8p]՘lN\u݋0ZL\;k~37 8[USkd1ܵ%(8swLX/}rb8ji:ShD>֋;5qF'j b\. 9 >YsH\H8z<|u$u(BgL`XGђ_ "ФǂGvt:Pg" D<'}[0d.! DŽ%jG0]gg~:[y 7p58Is /عBڹ5q2}b'az 'IPq>r'ɡp +ki/4Ev èa8ï3m59[*}=^ca`<HA6a,wm I #TѕK(", DL1aӥwgPd ::1rI:z16! RLDTCP&pq2h v[KUv,,Eˑ݃'PAaa&G=η,-t \蜍u%Eqy SUNkUuE}91Ӛt9I,݊}b4w$~y:j K/).FL#EPSS8W>4H(vq,4p_3g;N|gCj&9$3CYz;BU9!3D$$~_\&Ȃ/8H{BcT^.gz92]C%nL*뮋&^`|\-@aLPQ}"*l1B'Ώ$m  'i5M&Tْd+kDSY@BӈT @,-IiV),^h[v%M<7 (̙u>r}D4;ϓOd$ԍ|Ds'#%Z m+],fBJ\@H"LІ3ɈͣC>e`[D1;gBlpYWYwŀͨUZ%S TF ̖4M,8OһE,AAa6;ʙ-۷LUO7 [@Eȇ6bAwY;*nܑLJ/. Ҕվ֒S{ݳjX%26ז"hZ[9Ѝ8^a K)$N䲤9TQ ;DFWUeTLnVuY;^@9Eڴoa.HęirH2bVD;)}w0um1d k"M9"E!E+ ֭R Tec. Ky's~^]; 7My讧9YķET:$*d'gk5Qo 60wdCD5+8FƐn.j\66A&D˗& w ŬAl5lDX҃0^͌N,B6"2S>g=/] .{i~2fLuyxbD!N)̩- I$uˉQ"g`o@4CuD X^!E#@0+~$_G`XTJwu$ =ݶk7cHdׯqܽ|&͕^Y'~=8\:xwzO9]ǣmAXR}3 㳡Xx'w=@T G{kG({??/ueMgIi vo׹Wo.1vhqGs8)r72NF‡qX:ޓ@vy#NoshWZ3%E@ǵt۠2(vǯ|9?fƵ~3]8rg#H#1A!a9@8]>?322^C#+WCi%ҎE Y6AGZ&n&1YCF7•><@3h rhҦ;iЩԤT faS^V[!6WeᏰc;Iln=NFcqX.EP#8N`I=I|VXˑVfӤ(~*p!eIG?ӑ hÈSX*XA[3뀛uHyW'Gx8a {iUu"L !{/q`xl|l*u %(-(EkFkj*I#m-kѭFmmAIT{Oىϧle)\qG ՜(( hІ'ZC1D dG?=A 9Y|ON<eU۰^X'c-_Z)$ѱmϰR(4Cņ#S?$!rISw|[Yg!h}cvzTg/uwvL;/*rGē!NB:D^xƹ7'FC?Ms֓}_6($kQҦBCB!s)q$Yg75\]eA Qܦн䌕FdBHsVEʢqPR0d6&GNhNETẌA 'E@O@PQ "'(xRhC$}!' @Y(}iP_єTl*G* P(R $~K8qw~/&Ȁ DJu(p%R[p|@@1*-.C] *D;f!}8|=+:^k#JiiJ QThlQY-6$mQ5+ljKQk&chڴƨѶƴj*(EmѴ[I4V6Pm[F-+REVkFѨDVlV,mQQe)VJlj,lQhMFQ&QX+уQQ"FQ4A0ɋIeH|c?r8utW<aҤ"v4uh{-ڝ"O]χ&~̊zF?EpԟyԎv<+9\:T h1b {2pE`jvDd`+s^]m o>noVb~4;\.˶ϳG:σot!'fsx0i۫ks3-Gdc:QpZ7d<.Qwǥ6\Dx}WK*ow>R2ڎQ'6Pn {]q_C=^Lݦ!mG='ξ&$ءqR 1זvAʈ]rϿͮȥK"'H9ӆxBUOTP -:o6"mR7ZVYU>^UU׻>o*I2A2>vh&)&U"f%ڰY5؍=<;oaMo um}Wŷ64'Vxf0NߝUw-ЄM4u5$敖}+wS$po\v| !ޟJ ݡHO&)̒-N'iR:fexѡ*+L/AaWQ?nT=qIGO[eBY5yAX\y-A5:=vN/5 Bd1űF8ixOm+ Ͱ*viLJ@tjpu=08P6ܩо/έ^Fy9äĄKHd0B@0 YS*&A8.q]nv0%3 z2 1\!щ s5F ?AJeޣNA|+r ֳAQ ,$c<< []CR1J#ʗ)AD{.&CRַswcw}8MY)K @\2J0O cU'Qkpj 'Ivwsjpkt~'Ω.9"070ts#g7]G >r= [nOL@ 3 ʼnֱZMEEbڊ"mE&ւ T"P" c[m6[fkXlckb5FDQ[ElmAjƢŴm[Ul)H4J PJ4FQk!س(+A$[[HՋX*-hmQ6mmfk{oWLv扡d׽A@='*Ywb2mT.x6璹D/xKbc_Ip odL @bѪaiXR(D7~r41,jW-m["ڄ-75Tb4ά>u%M@nWSFq2JRI"Sׇ]68&'>Z҆u8 ?'؀kL:CN^)!E7;Wl]7'Wyy8/ޔi*))R>OWdXoڶ+9qI"D&,d-I ڌ!3 DOYS>d@h|N"bK9)ye;\:b*xlhOr.)"B#i%yJK":ִѓ~"SzA?]!iɬDQkWT %9Fy`g0fe('9o8GcH/=wp@{16~)8a%:,UR3KHh{[#.ml"4ʬx ,]U{mTݿLԁaE{4ȤLH" ej.D,g9\!'ߥ##>"5g$E}̺Ȏ, v=;" s fgJ]ޠI?YMċ&D@ N~^Z? # V&hzc "`AiM+2#?K_'BvO5W癶bhZCཟl3 M6Osj/`dRC|Y5+]y32ޯp?Alz{֬ Ȁ!쫢5,&0-h"y)l366&8pY}H  %)TdB4b !j3BuB.b+ {:zGF{mpҨ:}em_<4%D2 O(A[23UQ>=G٘珡aVdD LѣL "!79@& GZqš |j ຳ:U!~ J;wPݓ 0#1]IS OŤRg຤f%$'Rm $9ʼnBP أ6@S(f"zj$Tr܆W߼i{TrmP~Z%H aU z:+GZ%(]jdgۉ a&h̰ ū5HjI2$8D,zCn"9MJk@xCCdFan4LHP'<&#[pa=Q?]>oր5m0ֿCj}M`„~*@ONu킻gfws g q r V<tQN?[-vV(}T]m>q !,(]L%э0=4_I;7H>Ykywer7P9c[q _0fնl$inne}.})p$[p #|ak|rô>xgyw,A,Xxœ' vɟ~N~ߛn?AmSoDn?,&wys#\|{Ԩ~~tmʅpܓ<:8PK>c. Js Vw_{oc8@sSր\#ܷ|:#9rz$ o_6bԀJ'e $ Ab,cN@*[7ݛnr?x<_N/Y؅Hl3}gt6IMMɄSx@\:dlGCzP;|=cJ>@#@v3= >f-"kxޓ,,s/-G|[4FFK%Rm[1hQ[Tlfj$4IDEUH4:"ϣ#~kع8خPTLDdz@(F="|VLȑcz\zf&8fpx%CrΤ[oj9x?~@b[{A Dψ!oY+ޏ^(EW@ܦ%W #onNMp8_^vI:JcݥޣͳK~u!Ɋ@\$yEBCŗݖU:E5W]p2y`VIO"% ˽ަW 9aӂHEgp%QQ? PXA.Ft;TTK٭ 4`ݿ Ir6hXKpYS]`POe!9ⓙH)k)> E|L+סpob%#gw^,!EQALQz)HRs \TvI Dj2((IrZ5| 5hj⑑1Db23LeftΊ'3zw}w+t=K'uu/-{bl%]0 DA=V3/]%dGy QT!xdbĤb2 "pƞ:U!pږɓk"e Txo^Q&X1d Fz(sg2}S'vE]+<D|˗?wyy) ?pm5v1C}3U;60lvJH( P g:{<8Tԑ2T8L3ØA3:p*a<-o[Nه8i.ȁgK~Љ$I`0b@r OES'r8zk^,P< R$&H؍kK }n:ˈ5xGma}Y1TOHLCe UuhW-!oXsMfu"bO lcgN#jq=\\έnUorWyY}a^!&Sew}048֋8r=Jk$hY#f8O i,V~',6JVs!@((qg:GwjDdPr HV@,!5E7i27ڣ F|>fj$T ":_όJ|ܷѾ!UǡC^0jA\FLL9Sל'& 㖧p=DG,"ty,Uw R v`D+1!'QQE"9JQ❤:@4qT:C#PG0:ct:I"dYKuZy}\˻Rd3(sW-^%bE " @ A,7C)OfS9/ A\Qvq$:9=Ӂ*l bDxWhpwyv (db,= q!-A\aI(*C-1$0(Y ᢡg61 ,ވִA޶p!s@=3$[UsSr; F`!C諝?'O{x!f$'z<=IӖmN06 ӭM͟/mEV]4jm?gFn;#LM>W+QrsZj~vȨ&#Q3 1S#}q Ji$ 6"\$RF6*5IJX6 TS([1wk_%H6>c&[w{h;+.\3TEEHFup6;xb9c_.v˖}:O[RwGmk0lF*1z?8m&O=Ggm~[? Koك@k襥_MM,Em|W/J.#KCMP(hh[[E[d4bQkB R(m K@B 8sSR,4 -P@0yx yxhӛU[>v3|[Q^ӏc 7̇ӷ,קWz |  BlA2тkHRd#ذ64%( d#dMF*1RPVD1M6bŠV b,bAd""QjL!hf&5-# XF jMFTFDd6MF3 V,M4lV(Z((-&LfCIPc͘6Mm2XTV55LPTXѨXƊ",mO51P[$d4clEI3$ b&mbfjm$GՁtkq":F$#FI5cIodmEh4Y1 JhJb6L;ܝ$W}C*-oG?gOá,wXy7[n%EKJEHA!kIɢ(JI h[.aRXEnZDŰHEYf\HI݋Ԋ5"P` B[$㘪K*9c0IF ⨪}U皹kL rAeMƶZ%AIsxNo8o"787{:TMS'u{w\˿KeՒkf^ҬP,6ygQSoI,/۽V^M ugܽTɝw^9+>Y-_{yoןY?c>ܱr^IBTU\QLPF2Œ6, \2c,^C"TT,2BYl+S>;B E PkAr8ܹ͍ew[yzX'V6o-^wv]n9{̯6b+bYhX1K!I9GM͔ =s%Ba#2\>gug$G E4_e:]=^g;`tNS N t Aˊgs;]մuvAkR$0!T$Ž%Twı-RÁTKRDL@"$hMz&)غW\7McQP΋@G%;P¸\hx9R!Ry|' %B}}ݻzoJ1nywnfy+vt+P"zy|O{# Dn+!\ǔubp {yj{kA幹Q\^&yط4n I2D7.ٖNh"B#Wǻp(—4nn'".=ںz9.QXnvZJ*cb,h4ܝݻ 8& 2#B"(-"#!]݃Fwb21qHnQΐXӑĥ"")i-a8qz^6:8|ٰp{J 41(a%"C E( h*2&!-)6߈|w$c&YBj)E~>ZH_>A3D͈$&RFf`A55 [/ h4CLM `H`H=o.V՗/o>˂A(o#`9PIJG'D‹3 5]re敎mtNQu7g6N$WjuBأ2Af )9v!pf{v'3K-qMVsQ G9Cu\: /)"̙0(@g+PYtQY7LٷBr@}9&ZZ/.6wZXXugY$Z BA %8b\iyz[ˑ:}ѝ~&w tɣ%}$P/8dv9 NuѵxM?yo`ccy\ **"\TI4aiޤ5%qBMIp`@P@xԈobGGZ ALw8@ɘ Z"A0/e}A ڽ擲{mm+ :'p ռz۟/w3ho.!FzozG|.7tf9Ug^m~vԁv:' kZVᙲIսz.+5_X ݇+0@˘d fݺ;P"k/ Ib:3nc"fIcb$Q !*4XA JDE$ 3LRLDR He(N`h*,3i 5ED`5c{D""ܺn .Z7wE"O{׈r'94 wSۗ+{R D@D14&(Y%Ub1wzݻL7t] I]% 滗Xe# .[cQfd $ K1 ()CPjL$\ B`-9ՆIErC pMO:&A#lcޮ܏;I#9wL)ىf7E"&:u9 ъ)E\`i64c%w]7{;K``1 &H9W"s.sr(vLY{LLd1 BiI&F%)2RDdјb|0AdHĎ /&̅\Wu%P#f,;㽣  ,c $IRhWuvD%ξu4f&Hsʌ75Er<;޸$lHɚ.AJHn$ux>?ij5匄Y#"q_C{""vԸm-uC1Y̪\\Łu"~V洨*P;{ws11˝rX).ݗi2I Wߍ'\]]99ѝEPQݶQA\kwH!"ZA((Fw:D]<""bJ2(I)$x+whE$ɓ ]c.wcywJEvۓbr9ġ)3yvx2I˴ɯE!ۻhtIvI}mSíΤ{~iID$>^Tnq1c>JK2"āX !x+azmP$oddP\H>1N0 A"a VY8AH.Ыg L6`V~7ں^S+Ba# TmT@]w;^)5۶iJj`hJ ca*BLvP(IdOmȊLDe L6.W0l933GQcM(ܾk@w-"Aӻ뫘-l^vrav >AqK[D.wW1F,aΧPd>I$ rc\D$D$w w]-\r! mQtʮk\_ pTGBʕ2%rV5ȋBDLk9]OjnussYP*"*Sek iLyx^ЖS PKu3΃nW$zpnRwv#ђ#3cdb1Aۘ,!%)CH(0lFBXQѤ$ !D1 0Pdt1΢[Iwu\jMRZ3v.]nn.no8<*Ke|gYSă#YF"6]}{cI&) 3ED1La ьғ5.E$J6HD]wGwe9͢Ĕa4Pb$F.Qh:ccGKs aKvL('.A$wkFI 6b)(ɔ,׻aJ4Ȅ`EIQsr,.nF-yёd:Ss 3E|(OH*:UBKfnA rFݯo5Ԓ) Yґkh\3_wt2N˸!%*Q̈E #ĉ|hvܹ%;n<(]<5)/{-r0>ic1"Yi>}uGr[\TVfW#|pE3ڊ.qb:td]ۚ N}wkA;+#sz^ݽ<6!- 9j\YvuFܙ8s;)cu$w&"^nha9-ۂp>i/Y2 ` !ٲ4a:"8=y byA0_x ?63u= 6~w -tGlUu8֗SbT?_y^g4kO΂i9Fՠk)28svAz" (`EŒ`c=ũf `h$7A^׋pܴl`!i -:9GZԂxw[s0@B@ /GݜܨYBgqFh:'U|n42`A\̂ bRɸOz G¸]XvYD)sUiS0d -fXg=3A22Ȩt>JT-Vl`I[@¦F-aUQ(dAّ[0!n𪻣=aK6SU bɀ2 aVd4{ 93xf޿Uoi tta_ḿ0hVIUoz/ # xaK' chD<@G=C*t}f0*" ?ֺ4@U!) x:E[z D/F/s՟qγ !z7w{4dupe ڵ̌JRm, EM c_zh~358P+0#L<[\z(G@? @H,,bc *O!1zf?x8X;2! 󤝫|fh,ƊZrKZ)aKA>&fn 3#ړir"vfSySE 0vtz Eɑ EUp-Bl4? R%dWmT)g=}^4M/d{Df#C`-F"V\y@P2&jp` FIfDUPA9o 0`&@HX9 rKBumu`E'+KMoA'3@RvavV<01]O}Y`m}W'jӷ'&E"6++ϴyQ|W!gLfB VC3'}8w;ߡy8h1r_L:'\P@uc\lp&QaUv2QB79!q4ɲO屖"AEL\1C MUAH̉/Ţ݃"}^ @fN!= 2׷x9j=L|3-|TD@,YFK&rPth_$̪jAhExB`si-H =MyԀɟR0DO|D ߬Z }VSWH}n-`L30&yRDzIp쾕K_07_60@A=;7`0%Ծ4d4p" f/?ѫppR,JDRTN>*x=lD+O(8&=3͖l-n.-s:]Ѣ P.hU;x,a̓l @; "4f՛z[9j*= ezP(Cf 4Jd^НI͘~K8&8"x=^u9pDn( +C0[53?lL@]ǫΑ-p0D17o2mOs3b͑&c@$&PyaՎDE3h1_ּkf`opLKD,&â;p|?'3w!uDE `}ܰF$d6 I\鑔HMw-whU{8D&ֆm?ò?x30@ zz{SaeH@@Blhz`u=U6,6!|^A $>JR;bvu͚Q@m~ߤ?((1p A16#0)sq!u|,B)Twjwg.eAf䒇|__)`i˾UOAԘ@^JH OXۖP l?O=iLMِ1ejCI٬:?>֏? 0`2`P }Og΃QߋUpSoFG ɻQ4DSqWW>oO~U_wsBLb$7XճVP6b&_o#' QO7{IW~6fAؖH9%6 BI DS$Iߛ.2R*J0bRhXJj3L%RFHE̸C.HI)AP# PHJMJ!&S í$&1 Jf,)4RdҹriM0I&4Li$APHc0(I0&h44CLdEƓ%l0Rbea6*(IJaD,K!) MloY* : zywp7X(um0\`X :D؉y IT $PhPi.YbJF-ݮw]3@DIJa4,DKKeyrHf4 ̤a.* ) 8]ZWէgѲRD uF)` e1Ew[#QR1Q2$JdHnV7).S "c.p_:|^؊JbQ3`|oQQU& Z*ŊRIuDF6b S1Z?.s[PntE8WOvMbx"MFcI)F$(,ÔXYd4lM6,lDj1d"4ƍb*224ccJ0FѶ56RHHb(22AcSMEbM֊5MBأWrfAHōBZ>+I aB2Bb$fDRC(S(fC"IIba3) 4& bJe$!cDbE3N .nZBBe9AAeH_9]x9mDD0ILa DfC}" ,SIM $(bI!4̥0đ>khe!"c4s03Bd 1A&ȑ2a qfi&YdJeB̴L4fQ%&X4m bEEF5E1`h&JIP"EʝF%&"EF(S X٩4MLXP)CM&a `i$"rfBbaJSLYcB! !0)2c 2!4Z(2$hb$DL 3ݮD"H&2A"$R0$d{de 3FdLFM(#"LD2':^tS2h @BQumLJ7 YebS2TCLAYl/:nJ90Ȉ>*``xqqb?ogx4ǡ5x$BȁQ9OK|K0@8X8mUYKo8A:áܽ`Lsq)G >I3c`w&ϩs.z:8|?Fu`Z.Y6=Z3ݙ.3>wĎLGĭ-Pc[AFZG`@3%Jr`Pwn י8& gM`mtGgg=Sz+4&b%M%Ef)Ձ%fFaR/IؚTߪҍPUf>q~h4{:t`Ȋ>g&ZVfP20j$|kubZ6K2J#|+7kmpcTrݚ;~EDѨp%qpqd33d}N4 03V3옯"\fCz0HXv 3Ђ a_a]Y B.SKP]R6tIeV9qkFLOI_90HݔYuH CE Ȁ fdfF=NbU~ʫ| }YL%ɨ0` 0 -B,e‚B|VxI RzV{1  XD}e_uHlݤkyo?,F[L;VB ~([LVCZDߊm ߈ߤ JT'gB!B0 P`#0*)$5m Ugdgа_wM*6[.Ey d7^ Gprq mUk3zSQ@hEG(YDf|jA$DAM43?|^]GHAZ\oU؈gD".^)Fr[NcAw@g+s1{8~Q]ݯ8Г;5v(W"0Oay"N:Ok 11JP$D{F9vuY?^xepe z#=peq#F8nCEs(UTefvfC(sxV@b ֥]]w~-|c.OC$H% DTI3A%d63he~܂"jMEiyg1NNG|΃_M"KH?GmHOqAz, ?ykeAX~pߟs|o|R/ai+g=<7Y߬o5>ﲃOHh(./$|}EaG2^i<̏o[_u(#G5{O6 ]PYiPQ٢ h o}ΩYL L%ܭ(e]@ fOY50sS|ʙ^ ̶[k$".6MqǨ>U;r PSI lMQb",QQa P2RkSQbl*%MM1Pi %F"ԣ4  "E05EptWLjqO? `dY?L& zc5CqI"m} &#paEPg>g=L[S+W4˪¿_Y3b~|{0 ulr P>eH7ߐ5}tꍶt`3v&SNo9\NRA=_si!&5?#YMlf^|BOten.[R ׍oJ`?_3Li] ĭTtG}$-&Q/P3onDpGMXt  m77Xxr #,h$#)M0JIP2&LX H#FH4&̪]0٣elSCEX*jMŤ"4`ƙ'E%3"M%4cɍ/7D`I LT4QQ3k{oH,BƷ钎)>}&E:k@ V~;p#~N-Ob:CHȵ[dE$3#20ddf`#,iz% 4^̈́PjGӒo]|K(i]6ݫ*^^Gȡ]G?w%il6otNrKGd>n/ޱ1jFj<^oGu[cǤl] ۆ^+jVo9>܋ʻMfa Nom>Dg7yk b{ws|o+B,_WY=<ˎB*Ց;ɯƁ iGv; xmͽϯf&?tN]7GJ5FK>^^Co]nuhE) vw[1mM6_e߼7 l';eݪ9ߎ+]\(=>~H;uj?p=ĩ1G:%)]>6m}ϏqEmpA^{~ހP/owa;HF,]m ],.kK v?7" -~\pGj6b$HS(~<9lTؙIJYUpj墅'Lln݄ 2+?kX(O"k;Ѡ[u;mZ;zz5m/tuBZzsp >|;}RSJHT15M$U٫L@ XD(Q{P7jE `iERvTUU*֪J|0!' z)T@m績=:ng۴ۮP @v{pucY"H ((HPQ@P/^P@`(PPPT@&*umPJu>=@T`zh=*,yt]2D͕@VHm=}:@ 4P@hh ((6h h%BC*Zfi[#4)aQP`4h2lkm[2!R )ɝ@kU۝>V{);u=yw۷+n}(AͶ<wy:kVF )@Ѯ; lq}ݺ UUJQRTOw@t ^]_l o|}ϾNS}^]'o]6@ '@=wiok4B;so hQ} av%L `d`L4@4 h 4 4h4A6M @ 101 hi@ILL h2IA@&h !ɐ21 Sjjljaihbmh12d)2='M=Si=O"d$&2i`0$&(̚ihLMF&#566la&2)i5MM=Dh14`Lhɉih0L&Oɀ2`Ldɩ&i&#Fhh Mޞ1V[_!4AW-4QB Pb ҥ{q\uƲ|L~Z3񊛀;s7ZNak~[mE՟_Ϗ4sy# ?w9]ߋ܊mPuhiAaD%C*ʏOM>Zᡅ셡:n3; Β{ιf4S/L0?4#a!D0 Ex2|,BL*w!_a[6{o$}v^dP!,B4Ga#RaޛI,/w_:7 ѸE?vy3 bhCAC@auL6&ng~)K ,FI1!kVkl)S `gC߅3΀AEC)(BT& 5C٥edH`09<=ߡKz:;BB @;nݱ*pv>5 lF(Ƙ hm1ǣq?ݬ~ދ൚W5Ͷ463D{%:-CnOqD2xG.O$&h6A'x @bfd^}Cd/,U q|Qn,}xU}oy:?g$d^W&`I8Ͽ6ә8j 29 _UCs$Ғ|63RAxl( !^][{1m~4E 7`^>&9TυBG/Ԣ)&FκzMg qkҵM*wZU>0G-sʙⱪH !}Cwg AAFr-x~Sa˸byͥf5Ԗ/ 9Y;$ I +lh{[{=t"I8FgL^  (͵܃^imoBk1Pa A vq; g~Zp{/V'!1,W#rW4m6\UT"(UYKK#,$ޱv]^'gcL)Bܽ\`fY |ʜ?Lt. W!CK/SA,[A,x|ՖxR)BX 3M* q26+E tyKTY8f1VEma@ưgvװ@P!, z^⥨8*79q7 9#@#'tj 6=2S?^7r<`9OK `ZY%J%)'5v|"l{}DoydU,$h,NPpHZ7՗:l*h2M VOjVlhC1=>{koRrEWj TRD MQnZ P S랑Wbxo`5䄂Aᛁ%j bI ^,h@ʗ0KV!q0%mSrMq;YKՇ kuPEVoK޳*:pt"X(Nؘpe҆q̅431WbZU,8Sgf[2-C_ 7ԥщ5 m٨e_ڧ;l&$Us?)šY:9ƻ@CEgnm<t禮E3yhZڰk #` aMU~S~Zl>h2pIl7>Weo :]ʄ41P1B tS7?!90)~;GL@iX~/~yhl[7z1>o9K|zT@C)BhĘrϯ5M*%JwlemWi& :N ԉgf@@>Ѓ_$Y׌IF.r D Ȳq|͌6+"cMM^ɚ{[&dmUj# a $x\LlQjaeoU{Nτ֡E Jq}ܓ?.zXy}>i֣)HX,78I*@Z3ML5e} {N`5&m*̥&PQː.∨Jt> $ZqORxnex `Ȁb.P PHڋ*cإC@ olC\>$?%18Bw6Tll(ef2Rw,]ӏ}{,>aPO>FG dٜڷvGK&LwٌlMحϰ $ Ib^9.ɳpD@"U o뭩f}M"Cg0ɬV%J{i^k=) D"dAZ8X7w̶!bֶWm@ݭZ[5 c玂ȺEy*DFM̵צ.Iy;2PV?VCXG)m̶}-Z)2,v(4`*,vV]Hґ6Hƺqova 8Dw(rH7r׍aQ)|,iIJԐ6G ҳWGaq;s!_Ow*RpXGPL SU73_eͭf)@QЂ&#ύcYjR\]uGC=.p#m4g}ۭgo83ͤYuPk߭ F.Tu*Ep"#2# ﹭b[ K/\ HM59R:PyeSfd'?lP@@hhm.ɘ\ rYg4ZA@eiꢼ&r]L{EX6}O#2u,n2d gt{GЁVV+m^rxl@LXӆu@^C9MPX!y״[<kZNGy+KJ2tӊn0e:0g)Q97f/Pf˼['娪 ba] 0,! p VJ+_GziC/:u]+K^2!u|+i;)=Stmk=Rey>O|Uj4Wl Vw\hNh 4R25M_}bxjq[aBFG?Aۖ.M< _~j(?^\;~y .Ò4oqy* ΤaRhvJBwʎ ;WlB`D3ԡuU= T 7va!$~Łr> !hq 3HpfY1 ǛwUuc!zњ|C |>^WGk?o\ԎJ6|Z&(;b{c(wyiFM6UL(vvS^oX:_W2Zy뢪G\1d^g% }Hιiv Ӭg4(GFf#G+NjeogyS:ʰv4<ꙻoǂ`IQ!+p=-DyvlId&P)nnBo[:ּ]$rHnJˀ[T:KIeuf|Yo\ɇa#j~;l3*U; 2Sy<-JfͯbM*r j"P` }7R1QO:"7ϧ=Tt4Bc[LӪf+[\QnH1`M["/G12b  ;HL?A34%=lN-It>ĀP"CӺa}p;&3dmNx<%1#yl/u0rwq^>h.?Pڔ(I;]vi/{~fi(>NDr替2ɛ3"Cw]`Uu;TUn~םoAalFƻ,vvo>x1NBwHx^|Ek.߁xX em! 5~]qT!k'u4;ʏJ9[-DA d ]Ǘ 0>N!_>K7(䪈w'KI8XaOsSYMb*/;9J4h6ӅgnaRޛ^W]Q]L:~}Q ݡp!{>/|ؖc&D;6H3KOB7VB"!"5 Y(YyjGߵm991;];Kw9(MvQHp ?&Je;=.Gip5N?'LvvgַoǔDu: ZhnIk "qm}\TUM*v!6߶e'Iaw>>;W gƦhHDG Hbs;Ac_Ң9^=8d ~iE]V7yp嗌ysTp*w+eM"TJ#dJn,,~SҦbu"m˙méc/~SIްm+&D:$7;+R QQSݦXܫV֩jEnLM\34t)ct f9k\** QF ˳cUDDP\̡vnk2(be I`4m,uAk1+ՅEDYf+Ve*#k-A)0WWY 8[PDD(TٸFq*Zk,Xظ+-̒U*6Ͳ̢͕QkXs{ uJQnbdRlԈYXdHff6ZVUa-%dֶW\Dq+5Zd%.SPq {ɻ$xrڲqy>pmUW9Wo3n'P}>?֥$|`b_PDDLrSk2 ge$B|GҪe?,as^bM CpC)2 PDM`;D.y'kQ6ޖO)ooś"plF+aHKF!HI,U-5˭iNqhUUQtʵjVQ`/,Q0Qb)/˩ 5LDUPLDMDM%3|$R9wMGk>U6QBD(VG/4=YQ(ɚCX @ a$(VwH?m)XE2- S7BY،(F)I,c0ʆ(17hYzo'<4;+$cLX.VX,K5(軛Փ\;n.7;t[*ݥ ZQ$C.KWk5I+g܉A gsyz Ѩ\t*O.n586ߦ>gˆA!UN%e㍔ 9A?j?w;^4ÂgBwsNNhrI@B=zvwWDٶ2+ofΕTSa"8S!w IlTxʠWUK+>E~錍T ى+A$9A%D!۰;F\~+[CTT:DZ:ՕfI 5tNY01@pNd֖җ[#mV4 "9( ;$ Ew4 6fdV3{f' '<tt| ~6I b.ZL1֬*1TLA6ZJJ`"j&!DH)"%*(j*pQChqǾkd)B\/sĎМWL?^3I1΁pH}97*&—LYw:c.붐zPo ]X;|BjQZc:zʋӽoCYvW$1K%2M{Ƨ[zdk va[BĕINbDsz? kZg84\LA7[:!\1IIE~hwMP*پ qbڊb]?76OȠ C(&Q!cg^aΞ9}y 0b8KK* $l  %/0B\kPQR$vs]m0t'>QiS(a1EC6BZ$3}(;O9lиۗzz\&/+ dIFv[ ʎtIpL1q' 4pq {fO<|OĜ jpw)D1w l zHqμ\Ts͌h:6ҸwkxţHY*u0dN^G|$~(@tD 07hV<[WAvגlt|XkmZvB1{BOhv;4S f*Rb zȭf։1)"DI cѮyQ *$\^WZ|h^WIrM?h}:+Ikc~7]~ps7_9#ɕ2DJnH ||_S(img>7?'G-+k14wl#N2< d&hzL&i汇O}9=L(!8\K`LvW Jiz~nqs#iZd.{k,)*Ԓ<"adX˵g-3wmk[q_%Hk-*9bYQYBՒIzW7&O۩zՠ_AZ}"r|J6D9=$S)$xYjǯ=4oOZJK{{ai⽏o'7Y]!$ Gcm, 砃'4?/_OڧsD$p&h @CgҚh JEwjc׶9nk|"mW@fL6 >![Pj1]5]TaQ.SFUx$:C}}FsVRյ1**VYV#dHT$.,e 24&C'rG͔= };MF mcm1da+!(' (4gԪ~T!xO"@eENNmal. ؂S&K1ZPh D=FB>{۲eJS1y|t^ภT,a kzA rD"ci}W.IbtqE;hqhDADబqwHcM9{تAHFFt'rZ>E'A!rY@v)%r:;eW;_䙂ʥcY$%TU,/Z<;~*O(;2{3uMW7sZ~\#C2rQm.4RwNe1MON! d5ph3LkE$q}XzQ%%y ?JÕRBza*A5W< 'k|mZM牴7*ޮ´/$Q&VKobXX-Z40%Ny,ڏj ::=Y9r( FK SvD^hu/FEs黗y0*,HH\+z'lJK|՜JLIvID&UؿLgޜp=?O6Umٸ)P8fVy䂋,?ch݇Φ V~ChTq0M-?`hßYy\2Jbq5x(:jUD0V6%-l$y'_/ ~ߕ~Yy-EӨ DH(r 鐇D[wrX$#٢؜Yi#r$*E 5X=aq+wUf9SWYuo~ۆTRzRQ#j@$ʒ*T3p\H \Ƈݬ]VgJta ~h7$6>v= reN^ 8#+xfy{8 $D J˛6I Dž}!ls#ٝۥ&":$`蕀NNWqcCElx@Ia ^o|Vf\sE1ahǐ ÆVm22iH 0cFݨsyC\BPŎULD\!d#;F1z!^jSa7&:p㴓sr" QJAq}e<>=&NOrRҘf k4X 7vvaѡs" ໆYX-5vHJ;~6n+۪Ukn|␭H5~9i ?`M7A6,v}sX\I>HP1:j 'Z&JTz^/kL#MZ-EC%*V5]>u\@βƠx+K<.ӈj; j֘1D|,xAe a1v|n_=–}:enE*tEn6GP B$1 /_|>tOc֬ _!Rėh y y1>Io$0<us!yӇ?sĢ@(qA%0 S 'PXh1}>lwu.1G_ܑRpW!v2?VoX 9Hӷ0}If1LamMVOS߻ >"q[%/!?*:qʎ5_yXx'jv^FSmr7o܉.oqu&cTZy hz/Q/VOfϚp/?ѠH^qFBJJQMMWO7RȵV(`.JyTpfLO/v2˭M=/zd'~ N MtՃ|+r *!7S]#aN?IE=02J].}r|Gkk62RA~\Zkd0-r0>ARP-:]U>'zGvjՏ+YV=EcN??4 b\ڴ[KkҏQIY_1uU1Xh mYQ,D,,`SF̏򇷟瀀M&gEP0uiC,joҰ<7!d6Cœ@SHI+LY /|h{l8))G]\}cP)F٬>-w=7tCRѵU%>ב8EԵJh](hj X%PN}ݖh/{* ELMKN$Jٗ2Rd .l>a}TLSYVY? X-[rjRR`~w ar~Gc>{E|"ٽ4Vn $9Fl.XW$,==S.Ip-KzͶi˞}6<=%PBJ$ W"8Pd"]D͐Y%fc GxS xRI\,UrAXHz ,u^^zh}աU/Uyp>A"<ԄNI쮇ey<'XJ _ T~w%(NvV췘\Ə@C 9CE"X_8A `} V#ҁ8%'-hURi.Htl]{/oDk3%@cR` Ȕ*"7 1]t6Ud啹-kcU\q֞J;"@hcV a4+z8bx?Y>5eoոOQENeNrI{^(r  }r;ypF]0`*b JVdb*(jJX"&'5& URDUTISID,UETT5T 1 SY H( E R"4444EUUEAD0TEE!TJ"b)j h( *)(&* & H( b "P*Ӏ7l nLgɺ}2y ZKu;IE( B^6jc\myAW7WwlUS47~zFA4ۉ1/.$ V,/S +H&Qy%Hr9˦\ȭUf4BmDAzM:-hb!u'P>S y_#!u*DH&BCh-}RM54ZloQ#a:3Dp4%Xzg; Qk_BU w.[\|;55]1hIJk&,0Ow:CJL><'Lw_U>v_wHos9襄eGMɂM&08p02(䬧]x; [-3C]@ʰ=.b,#\AaK58̆ڡ3յX=W璃(%(0#`arD4 7'd όs2\>yVɑ^prGbe:O~$Ȉ@2VRv }so E@Yg|#'8.b&y|{s")(g7hpҲ^8J^pn{dT!Ռk/΃ωȓ2 ]KI4XL%JXapl.H,RqFi[HJz0ɳ@20ZI91Rd8Y%9m#ZxXE*FU=?v _jMjWNM̻Uu0kG Z>Xmf8\Aٕ|GUs39o z5SpdC ѶB(ޝG‚:>BXH #.>hZJ'eՖ RÕu5$~Ǹa"m?t^f\tms$-+.변&um:1EH`B\D%̯KKj8wb]6?$0b>z ݣ/p]jN{-Z-.m9]RGKwfRg+Qușp,LJsOr,~RX8mr{g}5lVNm91'4X̠a4nR-%G{BNZmŽZ{~fiRIr,C I?nPxfN=Tt$ ?^˭&: JIF;鮔 kl]۝}lϖgS~Wtc|޶꿿y43*#=[RX=*z1Hrlſ[|+IsPt^YG w"HZ,kyW4dвǫ'p W%vb.] cJc^@ E8>H-iLI /onAuv[1f4җqM@hI! HB<s6IT]&c<ց!aZ~g}w{ƀsqKGh)B9&KR=HmZrg!yaJVW5CЁA&~~s2'j&5i1{6`uɺ#kܾ2έƤx8+ԕdrPC]DR$KE&;]Ͳo>#ϻbK1gC.f:'Xo7k'UK\7 fA98E#e5Q Zr2dx}էo02K@ Md\N2`E +Z-0{rQE'8[5j?FAt_M=}euW;Yu3Z.&15Mq_X n/>O`&b)5I$-t^gˮ ĭ#ߕw+-Y|hiMVlh+|~>M2m-֗><ؚ$>>U[m7RxEu+TYxJ?B A/|o4ϟחI(W24N.)bm8Em$+u̸YbK)$E*&X:K6rޑ:t&~sw/.eO3k`[նl [^J(4LLs*̎jҖҳ.72k nY]!̒e/*a ~h/2۬B82u*Y%XU"09Ax'ʭ}30!)"7 70oZz^-)F4[FiuCL"Ub"=+9]Nkxy9e0@%Ͽ2$HV'R,x[lUӤK`LՉMLIucΓnP&vypL:%rR2D޽&r? =?qߓ^_<{ |֙0Z֤&Ⳅds%moIK(@sVgI;HE8qShئҨR~fo92H_[A2ɽ#!вJR|eӧ`+QGӵ}9m٩t{fkȊ]M "/i ղNyLԫGxDki+-A9'!$*<,wpOXp~E]v6JjýDKQ~./1iRH(Y nhnpLa垇2*T|P =t̢?~Kr=0:K_  z0rxeq[[:Pna)6vpa=?xy_'!>Й\eMd@>QRS^?R5 /kMx+AِOR~Tqm!R\up\C#r :CKI$x ėo=knѥ4HVyTH#I&Ϻzv6i] [$XFx^߶tI'>ijXlkN0ŋoWȼTttkOfP&;q-ѕ!N47< c;&50JsBNU/&"dBj@a_>Hd- RBYO7B3k ;( I(Yخۂ҉~ڧ6k^D~Vb 1h M@&$hMܗJ[ mX s$k͸X45_bYܻ,?\`Ro^mc9g~ B'p8Hۇ?1ar}65489ul Kd6WOS n0l{#Zi8b/Ⱥh*$"D6 oy @f7]m)z|/U{E6UQ)\ǽ3 E4awϥ,mйClDC&g -o!M7.Jm/dfME2~=\37铐() DD} Q/۴'II3ܑBϺ Woug:X7ȃn9MOkp i9Á5ו^rjPnR>/ߞkڜ6AL5Z؀ {7{qBqw n[ax.)Z[Gs^ٌX%>+ Suo?5]c^y,wf5^V3tߋߎTtv_i(뀶U57ƌ^ax<I%c wWC^È إw[ysA?C"wۣT}y.i;rOtܮNhKJx< ~hz ^@Qǭw 6dz{gZ5UBu]6c:}ًݶB+̂R:65T$V ̞6Jb@]7%xj<\ eɭ]ep. AԳcaTl׌FӖ҅{xNZDAk K *EMi8dȋ?;e66K'+1W. iꒈZl@MxSw /_KZaKK3aLiS_M6*6nUv⚏!3sc8lQHhEP:u{htHeVO54qp톄9Ι#X"OVJF@By1TڗA9ujjrHUTz,Bt~ƔFZ1xN?.⭧˲l 'Ue{\䘩~]~l Df*eiEfеh%S%]20אV}GrXfݵW{ >qņOe8 Oljyj Dӻ^ȓUdBޥ.H{zBd U7uA47a}\[V*$䝍*[.!8d<nMC|23*mn}6hSߑuY5vV+`f3.$ 2leXW{(5fpDNlmSd4naTƲ[%VnJ,Y[vGzKI+uME Lf.k}6 f[ݦݜf5QYWMXZpE.9aYˍQb-v0Us&1Hni5dEQҦɚU 2m7Jښ6j&Q;ab;mt(U(lQVjbJjmC"&ɭQ-(ck5jmjDF;RjQTӎ2n:U]J.uf8*0X-H*rSvwe8gndz3<%/OHs&UF"j%#L8dFvI1W7{Ň\B0#ӂPN8D"JSy]PPp5g/!!5t\U&fMt;^$JL|)'C\A8$0zs(uIςmcj+"!D(DmAK*֢ AQQ֕,(+l(*Te`J $YYbQu T$-DX!X8ռK ;;6W U(dS0 ګ$ x$YFǧ)%㳓fJ-1@LJDF@P%||$PL$ӟox |t6Յ=GlN_ew9M"jHºcCִ7|żvF/辉iҶF2hzʐ a-OD&7ܐ۔k^A0oO /O4c{SU 82"X$!U/#lhWz 8;0xO #Fu:'}%x'9c^?k(J&o*/g/I󙨓t\XƤz_;G]CJz$Ed%'kv[ӏ v~&^п٥m8dZ;)0߳uDTjsfQo5~DԥYMRH6ǿ(=}d߬y )STTQ`xqGhL{{#sa&][_Ce.t}2?kF|,b`MpSˈ !nנ O6sD|OKxdDM{D H "@C++o'({9]xjвcSY}\$ֿ4 |nIvxD&LUDži $t7DC9Z}}Q@聒v4Eo-uRV'l/IˍB[Gx:vE";͵5=$i' \-I I6P~zee4˹z9OZoomVb^JRHO ɪI =R}vhuZګe8;x./|X21ziX6ꙸC;!ntv;%y /~r n0lBc1 )wNRXS.s.x &ax3Wk8Cx\&rJA itoz4a{-5:CLDQ@N,jW7~DPPӦ0d:!B/((z'dr6xmUpl-L\sf1NaFAYZ#"ZEe @sIٜٱ=VqsF6Ɣ\B4i|5 :5޿+5`,e \1$]/baقZ= ̴_ZWvz~8$c/!6?VD4d <)hI.(7o֧um&{0 ;qʈaŢv~xTn{8W1^)!-<@L}1}{2>:8ӎR_qu3кpՂ~wΦ}ih[䮯wۡOnLфy<]- QP ǻx{+&>JAd덧JXɠ)=LU\Nǡ#!Cp' i'FfBԔMdD)ӽBD >(5hj#6&hV b*QayL@Ϋ K-1K O6kl[uN%uyNWH䐳仫6Kw9"Dio5}"(D65!{fdkS.CZYhH)a 6&m .527>ɬ|n|ִB&>ߑdi]->oȐ@=Chj!v>ai|ak} am6Ymb g$э^Sſt$zLbic^X]/.tss~1u!0K;PFGH$\! [xAocq2 c>9eKGqKL mL[rT@Vm p%M򮁓ecsl9~NX|xDS~[h׹sGY ꬔڋY{ ?QiR]fKSJ'ﺽ64+N@P-0:1CeFܸͺ:O"a=gc:b R ~]Hgd[Q7.XC0U#bPJD_~]m>\'eѪ> r||xHGaɷı^bb\<=5z3~^4VwvL]#vT"`NZqLzBHKl)'v`~)yd)xRNf?ysz!8kBlG{q۸k,Emg|J%߯b?A.V^)?Jz3׿L pיӟ+ 'Vk!h! h-4T댏- , .VUڂ.~Tklq̠آݰ(SA&!qӼUă# _?*C+eD omܷ~W 0y|itvoX0Nhg1ݾ"+崜-GzA4/᥎~f^4(7nחLz'>M?.|sbuqy)zO١oOf_?B<YJ>>_)ы Q)42K\.- Sb[GC$"~IV!T)Qn<>(M ?>"*,oX+WtyOO Nõ?_*1g|9N2#n1MGԓblA;Lr8#so!"6ڑD|殊oƩvޠؗ4OȆ~0'-F탁b p^E]źMW!9!鄶g,Bpow': unLx3@i;ѯ䍰_| WY.!V,s>.xW9m Onސ)(0?ߨU$o 9 (j]FlhEmO%^\q!#&?&Sa}y.ŞavI2Wt$DqV _ǥt~Πv^&v/bg P)4LM @H㌆O 9F5@_c{k ne;K(}+Ywa1f@Ck1Q!&{ݼ0-PFl!$5vNQ"|U߁D\;Esu_k*tHk)aoOXF8~ %slBO4Tu|p/p&,И4-`.~P R.w26 .+x$!R&74HC(c5j;r2/fh"\ƽv:,B,ټ˝JkVZq"qnJRL9sDF& -oN|?t0Jl崟mHF^݃C׍5D۫͞`o`ܓ1cI\ELgA>l w 9M'5)s3Sxk$\km1B~詨:B^r:wn OKwʂ9}<akT[9DD&;]pH3XPKτ7mt;Tt]:S|JBm_K TQpLzӰAƩv_[6(1Iy r^z=Jt7[`'`-M8q8Pi[dz8 t{ɉ ܎FucO8+KqcBY&3?hRsa[1Bs`RtN_4Vi1Tς{bo~FAa -wf86I|NU]b,h#wMA*Q@'Ug0 jui `t7R*{Uד~´Qj'{YhS`+rocMTAU>9Hݭ"qc!ze~ˢEbO-:QsA?Q(/q g׹mQ{dB*典L#,ȭ gL=>_]㠨XI4 HXa~۰Ky4j%r(Ԏߴ @b<91=rCRꥪ:: F:G}$F JIm Uʮ@41m`e4Pk7v<2Á}+-7uXC eiZj*m)7f'>l$xa)ӸTM/Vk-ɞm+ώY]oqߑKVZYȸ\0U"4HXqIʞٮEHFܞL/J2mٛ=~IuBg&" R}I1:ߓ7~$7OxY}\˰H(^St|!D2 4ґP 'g&$2mc3Lw<ⴓ`YWT{n"2Csk$,ƴefyly(o\ym~ ˩.*-1۴i/a{u⑈B @o*lm*l>C]}zwtr biVv> ^&/oVu$7YIMKǢ|Ê?Jr6qs,vhl! EZQUb V]cbƵG-AT30jBIFB}o7lnN)'08e}Is1YɂD_tS kB*Z̔XS_O"ܘEKB|*tX Iu8V?ˌbdudG;dز$(%=*VѰB(n;q F >FA bb8hxef*ˌp@^;Oz +Y )cCۡhU(#\aB52?-CJ5@< )+١;ŒV""hAek5G냴i[ֵ!CEl_4MW:Ӊ5d:hzK:eӬb$pdnC9YmHViUqi4lw(mJbW~h{YV;YZgƹ_8KD90Q{)L:8 T*LTY-":JHb2+&@*6x!I癌pW1n:.ed C2ʼno̵uf& m[kPd(6ژȤvM;jʘcT`ciJcs /= ƌEòRؼ|:즓MڇMLx^ѳ|JptɉX* n9Z;!p(łȖXg환I٤PMS!0QY_:(/s%C쇅f@@C@A"4> d"F_hn\˾K`ݖĦZU_Y߷J-+e>'i_כguzI_M[oO%Ρ4ܮҶPQhD3H Ԣ~ԶP8g찝ddndyNm}^#"/\oq rpdΖo[gC5EF#ХZC@!=@1T}=E=P|pG ~0eA ˨| HҕIEehc [F\iKq+ YDb4*%R(]RQVh[am#[ ce0Dc 6hB(0`Rg)ڍS˞$~o?W3{Ү }1|Ӳ@p?k_K7WŷWQFRIE91bR:s#XbT #JPU*ւC-Q D8:63p|"('m $[ ! R{'$HR_"5 2IDl J?+H &̓kkFx8pۭcl|.ҽ.캰ȐIkL#*\rER$Ik(Qͱ,003S`ؙgi={6rĬƇ<޳ufO_*űtmMϋ+M(Єa)i, <ȗG5a؞<|z+}0ޣ?ynddWF6)$}Iv[6ד]4]v-.2/\59k?Vpŵ벨|@a_=%|OmCRc"0Wb E{Q٧PcaUY ҫE~ݎ}x~5S<-G)oRe Te1_%cO3?l&)LJճ Pwy߯{ Og#q>Rcg]fyz8%φ7Gz_62RuG?-Ӻrd,f༟=6&pMq)Dm7:'J8-ej,Q]k5 dO3:$mn_(Ufm|]6Sb :^Z "b E+d^8h(,YZ#mBTQ64,b#X)FcR+ [*EiL أ.S2!.3ѧvdEe kxp2EY]آт۔-&cmlS+JR(j[W-%QhصˎSjj&%2Le¦;[TP6pVL5\li~o|[Ǔ;26,Nrd҈iWE%\ACQRBgm~7/o7m 7P,bտ&ņWɃhmHP9͖q[ &oXAZёɫhq g̿ѡ!6N&z \q/ `*>^c27%3IN!!}G*E3 ׉)x *ʱUS0;Vj%mfTg'e.L. Ҭ ̶8$н\^7 nH%:/]]}|=D;$@(v}5Zm͙ۺgݺv=w&|eeL iGH f*M6 |5@*̐ =VAv'wZQkQ`UQbV0E8pwɋ\ܞkQ_/#g'Yj Se"%U'dU+LXZC&\#ءJ)ɁX{e6P9I* {(H(*qX3(P3`ppSl+NZ4h0=DX$ Zx6LخDI;\bEJɛA"'.m1C[[1,5MpC*HfaY%;>.f/Cʌnp3 Ub4IY"R'X{NL54P ^q AIVIAY[޺MkX[!sm9<8q Prf-D;UBAB*,}3es% N0 A.qra &2I2Q)5)BT_5 .dw}(2 Vq(%!8LE ys5%8Llktk7f2e3))yr ZD3 5 hN.]x0`Պ<.QYH0RQ(Te*4 QJ31W* K!Z3bKcUCQr2%gKo dY];LV&\JK(f `j,Hf&d.gJJN +*DX \$ E!drZڦBQ+rTCtXp9fT IWсK]K/!4V*VL\]9G98^8p 仲$[r&݌mӵ. j7U*nH@'7N!JgW2)+H4,8ÐJ"ګ+MJZh抙V UǃZZL$֮d߆!* 7ޛpI؂A"$\@Pร in,]M5$T:1e IfL$4ҋH&l^ jP@MHSJ*QVpH>Њ QbPSioolo\ (fFNh3-j怲L@[͊;&=,yM "*H 5ځe(R!¢ǨjzHوe-Z@#[Z[ qcZJqJWV(P{U-*JZm+VaqDzh ͉KV*bjSQYB %1'U7 y *sDRar H2YY!0V`؁`gir TI  r3FE 8.1QP53%ryPe'"XP̅# 3-Y4"򮌦׌[MpF)RIB11H!EʐpHwb. - @yRJDJUbslYd5-2L;M5&VmA"b,5')S)b 5&; ΢wU*yjԠ,(C%!C,QMSԤ  AkVBK 6gXaIQBDIHF"$I(0HUk2rɘ['JLJNUD *1DI\.m@N9{<ܮ9:J\-˭݆lwkY;*%JIʚ2fF R934Yo`rJTrFD> 2 Y՘*ͮ$E V0D䓽S!1ZPUg&d呭VrAb + I byD(^JpgrPC-e.ФTF+^ `( "f몭}dR*7'SyR2H]daK(m 1A #W9EPa,7 /*i҆D:"rV`t@Z]=f]Ș> 6i,(J$(VB BYJ<[ T✈PB+ '6Q (륱cD_X1%gHi^}ۄoKN zhߖ|**7cJd02AjbB$ JZD31GqV{ +[-* ,P3-5T{ehk\H,pkvzYd:YJ2Yn*[**3SpDLAc`=auST%aH-#xڤ9^Mӆ" IMSIBD‹H D4 (QT %MLEc`DKW4ޫ|/abIlAn&0 |#oWʛnW~5G6|=ͽPi^$uFV?EǯIw& W0E ЦDԓfpqZvnعJI~ѷMש}|qM֔ 󱑟lBnШZ;--K6.ɥ4eA ,2O!L>{Cix}D;y n m{9ש-3tȀ[^{2l=A?hRzݺef=(*PF2K#1z j9P.ZskۖO荓U;|RO{1rS |C9{6Wb@f`'X52J+oJ"((W/ {&6}|j;B*mFGT/) M60e %^''D8:]i|ǭxzW3!e{Rj$ [H,X )%ֹg>L(̿ ]rIZ9Ԛ!h B~pV -pcu;'IKYhxM[<9Ghtq6M D97{5[kCV?7Wk@,46z + 鳕+FCoʖH` 꽑[Ǥ٦1=)u2|Dr+Ny4d~P117n0@ `P&`=nK nsD-5tYәAֿ(^P0 qeshy{/nؓ@G'㱎f?s@FG=zYX1Oʮ'[xq>kf| 84$G$( "D]rt+DRZz3NI_?xMUA y4N*xЉ^Únc(Q0X!)>6w "AU]p<8V6pÖGAy>"ꋵ(UNq(`t> ׍6ALZ1#1260/q[ +IIyU/J,7+PuA2վT>랼MJ1G^ ]Gxq [+xaJ! >?T"/Q oH ڝ]_: 16F'^B36;̂@H&8U@:tKȖѹNc@˓oej눅Sԏ92>shnB8.\tp#>jI3zU,MM mD6tAlTFmRML)ci1`N#_]iWуAHXkbG*$mKa>ÃAL՚\948ų!eF6R֧D=2h2۞ۚe>k[``f+IXyҁmfC"Aٮ(XY%,hcWLiN>L)kO;7j_I408fd{| ّ͢BKCQitI2im"\%GdH%mq3a众+vs{! d$gcixa_Jf iec35Լ\aͅÓ'?.%L ĪgԥAmN-UR`󹘎PˍOI0t%ľp٢R&7g4WtU?hޡhA:s`{vHRkd`xhPN2rxJ3I2+;MPTKg&hyq -Pi W$IQ׹ `Eb<,"͑.]=!s N4?{uXϊ Bg^q]$h:| ġlÄM&mƐR<܀ԏ9o\w]u~+%aNI𵧈ھWEA"4BW͍/#MfC i.57"X8^eVs?oh?m@{0jui!ѡH7ǟALEU>?sRt{JxDV'^7 [ӥfw0Njqp1j @#H4H+5I;Us V)!Q㵿lq\573`~,0 gH2kX'+fr?gk$=vJ|3 Q)Π_5>pF7q)DNi?,hχJ'%^Gr$=t0Jkʟ"{>^ du{$ەLi%$}wQ>(y+oP `pe[<'AS!E=  {S 2fw+.t#ҡ/&0RJFGZDdo".ҘY$VH.)^B-z-{a7"#+{eZҗzHsau&oOd;dGuF(yZKnb_ʓ|!1M/Vib<<|}6ʹ['<߾9p3Y֩& k]opCV6!_Q뎀 O pG!{ۅ~J}6Cۄg .2jy Dž]w2Ķy@wh18UlCYI"tR}#^GJ) -HI{kM,a)7;j޼YE2NgT(xBD`4Lw9Vwר+txT/om)(Z-8+Jgn2gΜA_Y>?Rq>R2p |v´.p=AS&.R&8fYL-F. $#{wՐ`pÐo#$8[E^@-t LkM^z fXQi )BXhl' Wx0nן%S mTLSy_8 CWnݜ2.ӘL }s㢮TZcvLQv^R'LLYfZBo` V…T ]RЧGmo5}S"3J:NgsWW| >>&X /nHsή#(FkcV29-qFa6 %(| jg9{Yyn"e(TMbP9?kT:,ʂ;" > 4/%'s܃޽&q!v'!B k%.3aiUE;d):%^vRZDtjبĸ9>a(*Y%a]Ԏ! ʳLbNt;G X4LfKyC_k+c=5lJep8s9iQ>}y@=Wа+ozH9@G?`R3`xt+ UjIQp!ZtbD*֑x  C rpDlu[g} ؓh@ ZPۃMf4p.lu V8r{:h٘N6 AHݟ`+ECӴ9:Sqdq|op$*9Xl2x9ݹsl#=f7d=waƳk]`~C 9㱯b`bUVg]VoᛕX,!_,W9,kjފeyW#Zlg~Yjai.#fC` 9wfY-bUISA6eq@!pt 6BB;7+Xky}7]){[nLDҌ"6F#G>-+/_дNJpeIXZfŷUc mrBgB>?iF _ 7p F SdxZxӻ5 gJ'`S! f:{sSP$ NT'l 'aɟ; UNrog^MA>څD 3L heD҅JB+!GL&ne~'Bvz:xd\Y 5dDC *XvMUhWBEA(_J[˹ K5Wgo!x0lB+ RK*p" ?̀ﻼ_. (ډjd@ ;53Ov|jS(iݓ| Wz<ꦵPjqq3C5̲Ŀ)8g;=!wK@Z$GKЃ{ihހeY#gle;Vhv 6W+"8T1̈[7(Xxw1eȬ! o<3ieP}e5"]DA~E )bx 1z~=> c=3)ѮX6#O+o ɻ zuBG57u!nw^ɲm7ApNoʋ%f_Z6t'*Kh~lcω 6CkJ ,k0+ ե7PІVhSLR )Yo4A&H0DE?(ڴ_^>Rw3QW?ٮ)gV '/{NZf|WbYb6)JE,#^m9Iiv5ЯN޴NsaP;,*r`Ɍ`M%ޏuѫo:aU`H(p))Hԭh ۡ B9 26uX5ȗ@QǪ[&w^ PrHkM䤐KjGC$B <W ְڡm!6H 빧V:>q2v$9YWX 98WigԚ$On Ͳw0hQcWLlKSh9!q5Mx,Jz_f] ınjLu٤©[ikS J5Wz^+5J7|anje8XQS$Q"ralKl;Q,">>g4T}c> s I FRVVW n> ^ +jb(q*dN,{3QE7pBY*U'=yN[vs֊ں58xɕusjTBr\] Gsb j0IL%7l]H@,BXzF٧Wд?nr`Ai^ޠ;1Zq lkD}_- @^ГD{VRUf^ŻUh% :ֆңzv͐2`#rߌH'Sϗ4q^țhfnh\]s>%ɳmx':&~ޓ泖sg#{56Mgwdv[:--/JI<1jdV{64TD@SAANRjZ"%S(Hu$蟽C}4I(>`pO?/Z}].B _We?Ԫvw 1$j7ijJA ?C PW&YVq5p0Nb^nϘu]FW_(b42d_>Ou|?s'֏ t!+"`QU`Rx@MuQc% ]T͆مm)W8~*/{zƯ4d)".}tNg -RKԽf@2Sg+q??ڸנ##m6^l|sYD@f]K)\QNNPM@P^C8aus2x'h@BU\,۷B Wm]MJ9q FY.(m %m-o$Ȍ|Y|)|=h f8S)}Vp}t҃xsh}nE{-L+'v9ҕ@2@w=g䛡v+ۜcY35~ocIv]όu%Y]L%#$q^{YmzpSխ&Cp~On<tPe:£ +^R6Ml[N֛xq:>ŧo;C!wۚoM&<"g |%S}wu05cdKXwe%c/cѷ"jr;Km$W+;79$ ;aK r#~9p1 %6\0J9<"'@@bl$)F 44'6`,|2H2!uBVx娪)*)7V f*"F(UۚVrmw)$*הCRI! g.7%+촒?F9! GSTFvAPNKrke, ʌMlIB#K}ʣ3'3(vg_fuRQi:8g %ޕ`وQCPEHG!$UC͢brJP_*7`A1!R*NbPTr׶ym$g/} n\e&kE@b$R$Yyyb"xғa/.SRoĒh{-cj;:Hn F$ yؙTMlZ̤tSͥe01hِ2 l|b1޹` Z<(8TgP6sF37!oXšJrܓ"S|OK44g! \a8 pRH )D@HU)üYVel|LesL%$հZ4TPL໵Aԥ1ιԋ##O{_X\l Od1q34fm.]mCReVbKP^T BTHQAO/~ΧWs}&;Mxnqjt^ﺁwzl̩rtrnI}9Mgshߟ`Q nkFΪd UZ(;lo+]2`Z'% SIҍ3}~DA@/H;5RtDDMmƨ2`آ a0:`ϟWH|V@1AV-d@hauW\S\38d5T5ibaw8 ]j-^+px4])֏B>aJR$Q0d>)eB\K, !B&C 񵦂[j/Zq2biSΔD3  1(ivM6J 8:aǾ9MCvRH.`4ݹJgȐ4uZbkfpڋ"6A行!yBivIx4n׿t;6a;Xf3fX'&ih9UJLb6)*Y˔#5`湓Ƙ08Ys IM8T1$Y0N vf \,HnXsrm8Z1T`qpޕ ߚH\[ChNÂևl9P6ͯkH^ZI dʓ:jq&l`ٝHpCq&iZ4 282(nc4"R !Cb O#T9HlHbU(ؗ `WTU*I AO"s"{"yA)T8P2օS )@fU3@Ъ :dDq **bNUD$CLA^(r"**U4HP$@֐AbUQ\BHUf@")"(eaDRQs;2*(u%*YHKAb bԁQ4$MIPfMg]}GV; ` WG Dǔ JgU~4{ bu;Yz/IdQ 8R >XFKtX5E̠ wAڔ9C;kxб9QH eY+ۤMzyD(HGځL =E8ts$Eek$oB{: DW#ְC(( %Q=!c)"1 I 0T DE6PG(Ċ|yLd3HqPc5J.̮h!BϚə$  <92# Ā:@ HZI&8 k}H7c6Ti?A>:ϰjqa|l(Z,lӞ :< GC ڀgڡU 6Dn?:z o' QQoЀWÈHAP<ԫHO*@OM 9H D%"DDĢ\L*Ȣ : cHKc2CK9TdƂۭQ [ J-RШdyhݪ7J" 5yXY2P :_3`jq:n\Kfo 58Y,BFQ6F B/?q/΄4q!ҨQ*~$Mv` T WȦ!)P^EQڀ]*Dtah褬m_SZϞzHv2!r+Hf4rrXZ  f#ktTFPT*vA]vv$@(gm!vz^0PZQ7rĢJ Lлw Jr9CB+J9 iMyP2Pw H$?iMS<<+N!SnD5^cGp+@}l*QS\Ł dv!8/\Tׯ#)3ȳbWLs".7M\V2SrmIt2fp(𿯹nׯ~ L+06&$+vIr .4ey69JT Ȳ KE.1b !bpeq B$ Iz1 ~j"h b"h"""Jb(Em!Q+Y dkH1+!6'`™c<2p` P5CL(Mk)];!*t@ H@e 5JI@(kȪĢe &$@G< J*TZu^&Yl5l'*eI1@Y$ۍߚkMm@&G|y(=;>?o#g&=Vv9=;>jq뤈.Db(&Kݰz7@r)6,r%JQ)@(O`T5!  \ެF@@}fB,0^]\e(=sEN۵d*oaֶCB| f>) oZ!v0W'|kXt-(oHiMGW5 k,0o=*\1Ksm `Us3I&hi!̀j#g=CۆM?@xbګ8  9Fv:N^^t$!"O7DE ?&+nep+-()L 1E`".R AC(SCKTX,*zvTt"]t@_5@K fE!MKxd(pQ ̤) "՞sRr2qo\k)\iz/A˽FTp /0آ fNGNlgce< <Q M7uU$ض⫼SBԺs5aQ- (92J; \egH%!S>}&@@bdEW[gc(lgiQ;鰐KHY"G60#IU`,0p `B䰩$2n4gS$qAq!tغYghŕmuʠ HD ا|Sdͱs3㤯ScUkq!Ay:F(KjDT1D YZE,EJ病9)C {^=}]g ɼљo5#&d"* %\̀X% /nXB(]av . wﮢV 1 ɲ#qWUWő()Pۖqީq,ժ.t=[T߆f ҉#5 [b#ib-_g tZT{Yo`mByLc]2' :{$uvD$5ɸhŠ{߼Nv!,{(#[3_;fɢ #ٻ꽷X8P40đ0RP@7]BLuw" % 6[VL<{o[[<5&bOV!8:qgSe#-S0Z_@\%@gܜmTq>efU*")f$C=qJeD"aqLS\N.Es SIp;W] fF'*is a侲LWj64Da[sXVEdU E#%KT<ʻvRȡɬeKIg{4nuYJJHJp6C!U9YYP+^r1le´Jz6&bxB骮kX bB ٦vܽ1@PUt>Q\ fEQ$X,aF\A;/;l2ϵ2nAlmmW,>|=Eؔ=bSiCDbζmIp.\Lis0UXlt,u{Z0i=K6~[F1cHm+:h+l `)J·qnvl_;)G0y51sj>cúg\,}Ct"ʹFF٨ZJ#j7%VZmt1N* ZiqWf,jMg%qwVqL ub~X4&SVgEUf#5&ǦJŰ|w40͓3āӨPdalQb֫\(Ѐmq[l7+QD0\[ ?6idc-X%0e]jH-:nTiZ]eLgo{}Xb^ 2DslЌ`hl`VBA!QGȔ*Hϻ*u1OqwN.~)f1A8ȵ4 S-bۨQIKFvZCn0]k0X/~SKp|p]:FW=6M9\mv?\n~uLCn,y%UXbF{]FuXҐHhԉxW Jֶǵ)>u.!YI9NM5,j ^ rg", ea/ Q}t]K k%rZ j6d]Q͸t- \ׅӉvլ 4WA!epP?Gfm{5ab 1J.mޘ@wlkZelKO8)/ d]24`ЕJNиe%`1K픤(P qL"^g=wMW6J%@0G/mmDaZN5+dӐl;q u)Q hTd򱦛O< ciW =&}ՁT2f~⒔NnZjk!JfxUW=T@g:!&ڹ^3WFY Ʈl8쉝lh-^~6S;o-g3T*C e!sBNuY3lj_\oԔ tյЅV{+1Jѝ1.W{`K2c3QA0"~9OݙbD8iWWcH" .kk8[%nX\sIqcZ/f1D[ KHËXʩm_VUw.,udgX;R+:8sޏXz411:mM D@NUS*c 0IX//3gUެY:EAĶʋUCMQc̬zʙUf+KlUiXgYv QAb*&r]W,:Fa-tr6 k߽nͷ4r wm9a#f5k? ,8 9M]=k &~X eϘ:Yw0*/TmqWVk씭њvZEjF}?G6 ַᐋֳ|&vUX[F}csWe{m0wkHvYCT#1|.u\2OS5 +->S=nYMp0F|JBi=a;o2UE a%V'%&s[z^|۰q)``v vI58ps{[')`Q=y_F{Ι Asss؀pK&)ߗ"aCʘӗx K+_?s F_/-E8LneN[e{?DJ2Y % jwt8霰)jf*-mڮ%D И`_ДܑƖJ{dYoBl`h̓+c˗4fjhe"DDP.9?jZ:o_3D$=%K*w[lg /TWġBz:;/(%%yye^YSU!4ѵ\7nKXT VuWZ_~(d\{+ھ]FO]-&|~fpi 7߳5q)5ҋIM.AxVBhNy|%-A(XxgXS4QlתHRGHe` \~50}O= l=LȼDW 1/D/!*w֟31P6LTYP'_,&H BL)mSR&EA[|Ox$ЂƍxsH/ncIň2Ƌ9!q2e|ژLϝu[iɣkT3,p -,t BH=RG^/SO? _[{ 냚 *!2'TͭsmZ;ruyqv]32&#DYwm n>"9os9ˡ .b@$x< 3)޿{<]>Td!o v ZTϺk;" u?6 !"I4 b$ ˭h SYEWDE: ,<¨H0 A8",Pb5V)F* B?QQڑ*"Z0mJ鵠%BmF%OQF QXTl1~J͵%k "F{U0(|PPVPmR-B+SN+1s({I?ѹGgg0{/DGA9STH,a)DPzxd+Rҕ1<7<:VMF[Jcn!X`-g22 )ᆄ`4ԕ? .0(iPR, VZrA6G+&1~ E'gvEGBA[X.#?#-FxY> b6軭h+$1IW hUp+oDU\1v 5>7BAAw۶G|!\>B~(s0"|QS nOrqMP")*/)aDT5 T(rE=u*>:E>= ʈxACl%~l>xGJ/+("sՀD]q8A=(*)Ȋ q(Z Dhq!)B]wp# 4à |Bd,ƌMF,dEM#\ 3 da2MP8WdCy%@l$٧y<iRaŁ!0$9z[O )ȑ񣼽~~DmFܪCs!0*0p' ^@v;Q!H(wgS}RXi](~LZ>N5h3U;PW8zpn$'́t[ -=C ONaā; c{E< t0rCf)>{1NO[qybN]|@`{>Q>DGnaGZ]*CBvp&]8M 0P <ܙP@yh>)a8D!zx>ć>v !Iv%9 n6}ޘWߙf aE<0/컂D2l@e8|t'i+#ͤD& 8R$:@8q<|K[ vz'1MPӿC! qy}ˁ=/ȘaMǰ=!ʺzx5|Dq!OkC)a(uܖ&7NЕ71ELCHHok;ğ-p/%+!* 62h\ %@m,{#;p(} ih^ Ps0|}B (r{ 93>Q&U&-G-#z Mt @0TE ٨,5@l }Y5i& n6$,S$zޅIB&$'>_;hՃ/#ʙ?*r8Ȕ8v3c' {k{|=<9)dߔD5DbZh{(]xN%<} L~cIdr93L V e!.lEaH򏑠 lHbSDjy)@z?0!ـ([4df,6v|[d[]^/Pݺ0#M3]F (a3Z:Agwǒnh17p]d`'y g=Ytݤw7_0=WG:ͳ;-}\Q%vLah .a+yیf~gT;;эj#v~9dӫ.c1P.Kpl43`vN]iGB1l0IJ]g kT68gVG>O9:(ql1A9]_×fBzTf\13=Ph 2ɤIOAv( lZuJZU aDϦn̈=nC4xd 56fꪰK\z ,<Ҏ)x:(l_t9xʜ5a*=Ϥf/ "坆:ћ!U.ST<7 .Q]g~k^ۭ R> KB ּNfat2Xt F xZ%3c}' |7\>$\<] chX7 ]%{KY,#g,ցY*Y"@Vmr 2Q 4 |ehH!<A1(wҩaP|ݷ )1 R6!@Av+R*Bd\ۜ~<r[r|)fVh8DPSiG)VfI4* %U_7 "u*QEg< ˁ>vp.R;_}g80=*" C}q &PSwy@c2X ^HAĻ4/ 4`5w{h/~R:smGTS^PW<( XX?@?:^C@<*=( %TTT vPHKjׁʂԪ#B ;l D@/x(fEDD '!NP!T{y$oi<:^-?3bQUSL= HNE4H ̮R\Ɂ@;Qx@WȀ2UPA4 ub@7Q~>0PPP(Lԅ-EAIARhbV I hDPsJ% >9y3Ȇ z`<@~dﱅďzD5) @G}!JQ%0AÔq,AAP%C?2O)FPsd'Kd>dDIxpqW? >~BsRz*b_a``%/n8{r@e*y_ *u/ 4QT<=LGT4M )X^:B=L%j;XS bU :`_>U3J ԈRxC@eyYQ7rpd ){N@ {XQN Z?'LȆ {_)@e)X{T1+KԄM{X CF .AC^sgX_+rO+Y)i<ԁ ā{(Tؐ=,\#MR =V,H1mb%"nՅuTw;yx?P0y8W7r(>FcbT<g,'{M$X*? mwI\aP/jRqXOY=3+MWg!2fRŊ(lVG`wau9dPDTDJPHHvn*9Ǐ컼V!yKS1b$1qSrbI?o {goc'͏Ō}Baa Q4,hS>W&",;k`4vҌDNp Ob}l'Sж@ OgIDdX{u>m`a,X1N\4`7;$w{xq2۲!(S#dM)UUr8>B;P 0cw/σa>Ud9åU#߲jgx:v|DE=z?eAgǴEa~?!j+"J$} Q<}CY״o`}**,"wmSOjJ7Y7G[61ٳ14U_.«m}*/uHO]|e'_+y6JomF~\^ d*-G̥Pb*^|Q5eRC}s=<~&a c3G:׎StDv5 MfgazaYG*Β$#Ap:#̗ye$'P~!Zqsf_!K'lkrN6[ |CtaqpsPbNTS8/w0к~YaTn?ș$>Z*>vٖ&,ZEa]Rs;ulM0P4c:!ヤz)[gf(Cg-'w4[qV N"ՠ3l3vIJ}H/ú \X9GNsNrգ k/iLQf׷E ߚs a*^sʐq>LGwLC_>{^j!VL?gO> opEK](YV<ڋfZ e ذ9pw0h:^;K~#aeNiAr3iю=4H}Tadya-uY!jݠh5, Y>rMz$<'hޝ -<>9NJGА槻?7~ԇmʦmcP#e.g4llD$q Ъ$:[VXCdq⦈O/ՐK%ۅg;mAwąhN̜{$7dF"A)/.ry/WP;,dܚNoh'RFbd ku H&n43a3ya^~y#Q˻ېd "K2+ ,lG0ڥiUD.+AyϞZwqAaݟ5~?pxo&w]saqŔ4P?9 _" Srl(=(!_2WӅd8}!Bn20?UL M~Be{U[!$.S [4in}2=䎂M$? xc!&DȡK_,B mHh7ƂO0z7n?HzNs@{wCzГ>œ巤 p|?}ga?U0xZET_hKc`Õȇ%WkV?cjDGʢ#?NA~28qw)0`("/& +RϥO}r3oݤ7HmUEy+XV"0cn#;,QM9i(T+?c!C=j@`)I?OjUOSSޘDOhU4AQUGɵ? EN*?'?AH_{ϾYFrs(1Bc`Bއ^g %NՊS9R,M='͐&XŃ2c'LF!ԧ3*3QUd꥝;'l8(u|-gOs~-E5uh,ѯaHhc;w (٦O_U1㬨Ii?^5_ ,GR)'JN?-rC~{'jU>e,6{|قF!IAA:b=*O pf#P*@^g$im)zx 0NAO'NS,Ҙ#J|AxeHY;7r'#Ӿ uSG(emByw7R0+$} 8ʗR3sQǐq.ОlI^6q&QmM(ev~\@rj)Bݓb5"9H;ȱ?Vb7@>d&7P>92ʜT%L@onbS;/^~%֓MCij1a]hɌݟSD4IC`sO@;i<jo$26Uٿbr~E:o4fZ@e{ sO.y@{{nCdUF5839:a^L\HPo?'^Io CCBq?*fRf)Ha4[5K43b@=\?^G>~H9^w.ʄ<5?sGh* !6s ӱsïN'`y L z5r8Hu!Sy bB(}$NGL;3GKOO/H`;h^`7}x=Q݁Pĕ?Ea<},=Z%>Q -_faԍ{НJMjXnL+2ѤT֓C viS@e_D;~fi?[3xg-q6П KM kl2kyjXoHG{${C\IT}*;O *f!ă"kZ,,S;?=6ʋ@hIED$|N.C^5J0>>)mp[>Xf/.] m7er$ew8r oe 9K5n 0_mbZфivWXӵtC㕃==}Mܤc~tω\Jᕥ<\ LB6園'\. 7z2#뾣,w g Jz!,"q4օzIj*SEK Hדk}I٭l$@,4j>EsI 8l~8!Jىxk34D  qm_Uw=ݻ岣1lOoA&Q?#.}T@pJ)#g@UHvx<_ ]zYe~3ş*\`7.=gD؀HZM" й)t2Dv.͑L}2@ Lv.u/8nV˿_36ltA-GjbI~Ugw$6CdL"e!)5%xby2(5c8xddVJ%N@㰉.gY$RM_R0E*] ׉BCpK;ǜ,_eM"p ]L3:(zn@  iC֚ʲw,!jzq[yRۙ+n[v1Ͳ\ dB]U)-{Oe{/+h,Z?+c,Q'L9vk즨T[C7ub7w=ݎ9YN|f$ Tnb~2] q.Gw/?3\""7+-t[<([˵M+ Y]wm緧ҩQ;{ƀQIB<=3Ѕ]y ]$H\cNG{qQa%~!DgdF#Z%&R`¹  j$d-oj*`pޟt+K:>WILS[eOmdj_+r~O;QWǾi:|pDB-\slq!DPǘM1!o{Q%GDx#*uxK&.#"Ki,cw ʫi|v>9#oIl~ABZW {s L8(r;c*p2>M5'C4>C]루k!2@mh"3N$ceaE܀ V_10V#g"\+M3?*qGL @ "~D>1G+wgbWfgh2:8p`4![,5v_>UhQ(:%."\ɩA*W$Qr0gyj|0ךJR@?.S ݋o >͟ȤqZdJ':S]c\VIh~ oI _5+Qb} oH8s;~i>nty>[RGz˰M0 8nj:J4٘Y?eJ$B.P뛯6P/f:U)1;Vn6~kAדR1G[?k@l;Mu͖i\ͪKE:lϘip<Zngu)PB+L 3{&y3]`NVJEpE1׏,_~_RpJx5UH^ ko9z 9~G%q_W(UK4_v^Ovú{J[[Il$ᘻ #Z7hHW̼ozv !`4ҥ;-ϊ˃i!xH,k?q봼 wz0]/L'6*m" uԤTy$,[eۜΈZJ9#%E= cԚHvY)f=l?ť(I}6*:~T "d} 1ɑ%"( S3wڻZȌ~zԏ1* D FԡjbBw/G^P*e?,Hs-X'?̏5UGs[2 )tK–{;3YC@gQ Xst99?%Y dOQ $kN<mWoCm*Q2*'򀆾,p';.`#ȇ,T3{/9H-St1=j=ZM*{c0N5zi8 !tbDV [/'K8t+_t]18v*Tosl`l_Ra@q?TY6?v4u]{s%B #E;͗KUXBm5 =c\׺b3@/7C\Ox"CB?'ӍVMPԌ lJAKB%%P!`"S& &o4nA5抟u*>F?׎ Ϊ^xt}m[=u0.JS@1#TŸ5!Ẑ<L==S|fiw1aG9;u aeŐlۖREuzVM94^&?NUd"E%lDanW, uu(`z^|XDTPz{k -^2ױ"`丑uR(TN#RQPT' !8JTQ7Y l)杵YKK-8~«Ӛ6_ZT$h4B# /6;+@efFnc7Qv+r-}՗@8rF'9o/J/b!@0\?UlwŮKnj\kn~OU?x ?E]Ҽo05AĪ =Hݍu6R\iuȧ6}]ˍxL["u<9\d-fŠ(AU|vK$0"pU2jGݐ%!}p& &Clf-./_^V+@|dDvͷ2 W-Je)jZTqȇѨnǎ^v䠦"1ʵ-S+h`W*9vRk*Xp솿̬HjD6^0 | %%(u'0/;eT|VE< .<$J$`мB>m_#ߓsb ѸHFUM)ʉ`0U #hnt0.Q=OqMǶ;8#ÀwےwϘZg?*{X xuh/TACΥO,=LΧcp{R2fG!cCy9hE_^[Gg!'B'rײ#sa[Z,jN* @KgBJ;UMF`2]U|dR9U' @=b9V?Q[#7R%ی{覆 "v0/{rk)mo­s4a/~N^FM6:juxH k FHBP9g;o)_gyxzlԳxFSiH%t3b;PKI8ӣcכ"bwβq(GI/("Z9}zqhJ.-'qʌd/ t%y1!t=tҫ+X-ir+ހaa|8\VKq`Q/}(4ᯕRsU8jLKǐgp i2Q|s3E(Wp&Q  1:PDJ<_Yt2owux[PN r KoʉьyL%M0;V *"%zAsi:2{ қ,:g':0Gy:a o:t 8g`KnN" @ CTeXQAA}0'^mש.}F ~T:;CvץJ|@&+8yIOCGgXC1#gx )FЍu )8Cscg]0`?:qZ@o~n7}mux_)LVC!SP`y5Az+v=#k=sjD"OH;ƹ{-Y-W)~>z+.:AȂH߯BIKQ!o|Ҿg=f.]֌4UޚWmLE_#;OkrzӑdߥuŅ;Ht]|#M= aSp3~~/EAz~uk  ʘ$@f!3{>s9}vbY߭ߺb0;F}2l|+=Jpm" ܫ.b&2Ŵ%!i w6Y0ALL9ѿ #&;#15:[FKV sG/IxkPbC b*M_i8[[ʕVW^Bp``Zn++3bLM ZڻW@Zg9Q$:w1P( K K2p1%/3Kf ITU$]1/ooJ\NEH D1"62(Fjc΄$fG.q8A{c!TGH>g$U0``쁸sⲸwG|Zc[XXf%\as)PF**5Y\̭̮EPLQ-AXX%\6H?跓y01+ "V)uKxrp8VF\(-Y[K*ZU\)r[-jG2F"kYW(̉$2F &yhw}\mx=~ߚRrkTKB2f6Q&9qlAvl{zt}GB{-3lDׅzy\Щ[\/G{/?뽶_+qp~( cզ6_G_1"=$N@2f[qUT[?9"I:܍?@[n@e]z!xT c4 /irIq RbϽC|BMmyȦ`0i$6"Ɣ;͡/7-Bln`7-!F@t_Ork#D(BAoIK~V͠! Co'ݛv!Y*ݥ8ho[Vsp4Gr.JOR𝋀4*ZlXbMzګ_TZyʕW{BH M$Ǭng o֚jkΘ*LwHͰL\6mg3G 3:fb͸DHcj%" tGBC6%io_)xMwgCspkFD؝v|<{BJC6}%{Hb1_^εپ0"BB`W1 *NxQt"YMiOwBPVz8V`BP%;ɿ%'/P̑ M>ǐ 鍀!/M 9MjH]HzzZ2sTP $!dRlɆuӕʡHKuӀUep&er40@XňhucSͶplC&ouk#0*KUmoq0M Qq70i,߶`uvI2C$ DcS[/\"gYm-l9RVJc~Ul`tRԀD,{+K)P1)$`@lMlױvqVנo>nz5. HRn\Lb[:z -$3n]jpKg7(uST3Lb]޺흉="h~$% qtcaѮq]ĄY-rVC'NdLXX!ܹK'(D9Wo])Rl:Kŏj^,֣Yz Zi[ua8Zw\qm͐-gkp[,R13Ƭ]+e++,x,-Z,a;(kꗿQ0ųfypljӶ׶8dс9 J]M9b76akC _s~&ɷ!=;H@AFS,puY\Z[ ow5HT`I`ci1љVykOٹcGex-=H0t|Gneܔ 17qoX)B%=?iMGb;U>Iuz(G:Z%Tߤ3*m*ԖZ'wSiBvg5Tg[C1W^\k.kd"#2 N[ebqS~@*r&=6!$s?6Wm9g/lWauRH; 䣿_cZf;^SokwoiZ# F?f 1^5,YHXk9n F6A߷VAElC=  By~?*?/O,i+:\a@~6TE__RDEYO߳D9RzD4׃T*{?~W?*:E%8;PCmc?4"&~٣&?q _w?OlPUAA 1!3?WT:,?m nS/X~}b+_{Y*h d7j)Zս핟J){&$D"—޿5?G|;.ҩ؝͘!Mw+ʹ|L'RkGVzA2'JJu<;O=-($Y<%_LZsV,UPl%e CW<č_l7OzH [g)07Yςsiý}wZWc;% 7Xzđb ,w01=w5]ᵓir W2doczւԹuI΋ex,vs,A9WK5pz-}51вJy2U'Lҝ`U\V2FMf?mnu5Vݗt<^e1;nQwq'|Tt`Yv ص?%m1Xٗ36m^BWJߴ0m%ޣi~FM?Ѿ@ !O/"t&!C1k|A9@t"$ VFF({9>SMJ$<>)l\B L8<[J|K.:ogzݯ WFr>G,ݗԶ'k o2mW$G\u _]SlY^~Y(d/'?c!偄JŒ6D*d݄F l*rMDC0SERjP䰙Gp\0z̔ l REF =c0جlξ5d%zlBi+qe ;k wBF BBtf~U! aγSYɌ8>L%YVg -Xe& BrBeNDZ|gryl9{ ~ u|%8h^H-ewчepGN%No_$a7z.+|L1 fy'&$h@%E\ڰaŕ̠VÛXPg FdI/FA6w;q t14д9׭@v_^na,YP ;#CWGsQz.0+Mk1@n- 8M؏>4Pnaڌqی:s GQ'I>Uk!w>O|DZq??Stέ;a \B) ]i{L!Z5CA]\%jڴ"R5W8 3kh4;w1v{'b]5WJjfwT>K}[ =NC6@'{-{jy9(kKTg'76,-IՖ([~Ja+"~$\'PQ;3?Qف>`hy4C9i IwR;DIwDyG Jە4eˍ)'@6Nz~c'j?<6G`9|(Dfa͝0x8p-R 4*c#h0"!#[> y]C1 :@a5IS-~&Dq{_ܳ\u:sZVI_O>7X~$6 ;xءYI6b_*;A B@2!aR8H3".ۣ.obab G͇Q9-5p[|dQnWw,jA/5)(z~I/z`fA}7{|r mۑcd;⟕?MeZo[vl UЖ #H?a5l+ףYŌK\885a]fHS9 `n|OoTUe'ɽ:^:0svӲ ש@3@$ Gk7X^/U% (8v|HNS=$Jg")`"~z*(6jM|~[( `O=# ݶ(,dodRO98nLNkAmW_n=ܙ(zr;;kFj>` RtSE/أ`wh;5b'䖰rD$\Lb.9kmxz*)7g;G`~ V`s=ȯ#/D't:=;#jyз🇠fnȿToPuo̹p3,@F!>PY1w57=. * T[|U1UfꝒ m>(nXLAO %C6 h[IWSoن-09GX(6Vq^ؾr 74qbc=Xy|Nn?_> .uv$#ɯ\&]@_:zVmdqkǫOi!ʣgm?h1y=DD_E?ܪ3 l*5oN6eW6H`C "@zM+@6:(bY8G K2?ؽdüKe?Ht#NBI l74 N~$ t!'dBL` OQ()dzH@79]e)IY`@Q4.PoSuD <@8Gzf>"$9fwYx4AB5u$"ۛ):~o9UEk[HH3OH6{ ܠJ'sUrjD9I$c;{:-PADnhuhkoݧ>|twž-6)AaaC)mEj aAhytp~i |"Ud` wKVvWFP WRLvyJn)6n9JF;ZJN~l6;PV@e]Lx.#y Rnl׉̆Hΰ2߅ 018Ub[9Zv"5ߩ:WQRCp0$k3e 4smbph-̅A"׃("ȄeO2uoK=?K^r{[B]|Dk\0 OP`mC.xYN-51y~+w0F $ch ˊڜ"#*Ҟ:UØ)OsTt,^FؒC!ر5v`i5U "lةAG_Yj 6iR5*}j3m؋zKSM HXtƦGv^!o֘S0rYO-]?-S( V!UMԶal2LI$xR b$0j }s;0F$6&xsN[]gR0_a笘/+>'ꦿ}0|} |SV7ϫl&'[~ $PjͲ(痥go*2VlQl6$L2HPI0ۡ旻@Ѧd k;H:JR4E,ѵ>^RN ;[ΔD;] s R(`B ONp(\髿pc3E<2OVӥtca$ Ĩ`m$+~5+!S6~Y %U& %1y?[!O(B@> Ei5C(@#~L, xD֕N1*‹8.R,BC gi2&h@`\@"P@ 5HB!R,!D Jȸ$Cp#4!@RS c#BU%AjJ,!bTiLI!?&2JHWABb@i1E&&8q"9VJGIB ZײS(T Hn4P+bQ,*P5B bĈSRJU%"J+m *I\J%(04 R[R~,& ,"&!hăB&!(+X%H@)! (S$\IIhv!4'IXLH4(R D)UiAJHV iDR `JhBA0BeR i\ ̩B)(KJUiĎ#@e )Z$-ްB „RLFJbT@@AIP@P )Jf2JTmB!`eB-H,T(qT-8)IgIW} /dP)}.!rAc-b\` JbRJbQ 2SE 4%.R4bJ!SBTI6GCeVCLYc !H~0ȉTbr"A?W4=0PRGq"xCL P薕1!Dl`_f4@I-VVT*@[[H +%`TUHJ[ !"Q1*(0 SM *6I-!HT"J!pJJABR&P@\@PJD HJ-$~&<i J ZW`J Ĉ1()B8 H8 5J%S)JH`I%` Ka BHbip`<\0P" Ce !$U& VXdBa l4 0!*T9HzQ)LNZU1հ%@%@HJL R(bT PP!HR  8q(V) 24b A @;ĎbNʠFHE)C(0hW?cZP)@P#s@% BAHR9UĠDɐS+p nbz& Y"#My=$& Q%}"%JҴH#ӌTjqz PEg/[꩗n X[H>vgWi35pbud!-|\Ec㟩+:h` &RVn2ۢ^@` L^`?3E1qipPɁӔI9m-@&*a&1Mj,9sN0۾}E p ~{cS,&Dsm].Zx/g#Ii`(:uoIa8Z (7mwnkEw7]?CL;^?ܠfuT UZ>4l{yw \owޤ^Z%S+~*_Hec؏y%adq37AVtN m ✝CojGQCE+Kv):mgn:SsAubAc՞L| tStL5n]߼ۜE@Y7ӬߒUɯۇ7wӞ#}|@!ҨOOYҞpC;ѠUFxRd9~Iix>5Zz=T?!e!iv9*ɨ&'Ԕ'-To!q|]8B $-lH)j׺YHb *0F-YyUEUTSM%D URĈkTA)C$ mo&ip_Q4A6҄;$;BPhs ,i-E@~O/ϰ"<W}:t_kT@R ="TErJ*OsVT̲/^ 6u䤻f݅~'lHpDBK;D._a]9^ jMWwR朳` $=wc{O/KvҢ})gʟ_gjWү5T|HBsbT(u }5! R2QL#4erH#dCLǕO h{i/+5TPGRdpG(i~z̩RN H0f$W(Cs4YbwmQT*;WUCbo#i >7M>KX-Do-bH}~؝Nr+ `/}!~旽(zFKuKoV N#VUǺ^[2+idW涝/gzC_k"F?v$;K4e 4N*?{T Z$(aUCDU {9|\)o=dm]_u852I 1I3lB~?9D3lvAPe|UjuZCCo+ ]5ڌj8"gM )>9~CVc)6"†r[I5:9n ?Iz7Sީ[mYHCSGaP-%ciID0oGY xp@Hanc@>G%[Z%p8_vTTQPAshdGg;~_ 2dd$ABU Mz>޷;ϵ^xgv՝W8-Eȡ_m(yo¿zĉ@%pPZpЪhT^V~qWɧ[~g}~}ɿRE)yK&0PIcH1-$ظMlnq?CyCL=L8 KmH q+!!͖@!r0HB߻ɺ\'cHG=C$yn|鈅~UmDhZwڿu6|ߑh04K4y%ؘ 'T#w0kGp7`63EUdO6DPHvr2i> 3`I?@4!̤MkTM-[קӞRU yӅy6B#NTo-l.7jPuϴb"vۋ-! rGmvOW]IF$ ī{-YHO ׄev =ٿyw5wp#˂on; E Φd-X-o9.ټ ;wrrozo6|{W^%&S1 z*ƚ]cc)}.g̍"?Oa5ߓ vI2|ۦDwkݸPٽU0~mg0)l?PMm*w6tھ1]yM&ȈM'u jKaK^0|F-MBGZm, .:`Ϲ0HxWOl~  1h~T }q:+YfP_,1`ˇD*$D8*&iQDAEAJx«J'H Zh`ɀ5+m`'8McdNdHgR!aT챒NɅL9@ _TK\թ=1t9I,6p! L{&I9X[&'ZYBfK#ɞ'X -/Am RhblEhTSG`]p;Yu S"^>ᄻnÓ_%# jr܅̸A$ Ѡ he;:BdKgYMx\z9$o|e}R-Bѷh>b]wN"}g6xu}#7Mp F$CH]raʣ;ၺNMCd4"Qj*?i7/mUbbT?tj5{"= Z Wa 2_c@|<ȬM(צ7uzt+λ? ɑ /Ӟ~+,^#ϦMM:|%f{%n>?7O ,h)߯cwkP|YYx+XMKQ*[e׏tk #sl.ؙd:Ԅpkc{W`\zgmCӧSwub\e"d'm;gNgo$= Jm u5qѫւեa/r[mˮR!3}gf{#ہGT>8ڸPJ$2Whd9(<7*?m" 2JyxSüz < ރHvLf$3w">2y31>M{nce56>Mf#_2RswK{SGҢIӝpex< =mm/|No>>,1F|(zr[ʬGS&Qj>)ίMS]$ܣI5p}Oͺ0OwXa%R"WKg=d4 lX /ܟ2b nބ,Z oDr9TZG[jf(F` |Qu-{ .z!>\eZf(w^.?6bIt'CRI<.mYsm2i[K۷lwFdҼbV蟮z,s\wE&н0dn̤Yƕ(Ɩᆊ06䲔ar[G:  ȁ]X#0GGHNdWRggE ֗l]I/-u>#h 1ġu-m;p?rA{ c TK5 PD{isv3=JU&G? J!vot1elD=H>M-wwUP8Lz:w'(P&LUx :œa=+EѾ.YD5tScd1l]Q|4禒u%o[]}D,1i3I}|_ABW5^f?M]|tTȃSz~7r@_Vkd+w~+vN]<;gA3ե]]}>NC]^nRCWr6|SZIi4{ϲ  z5Qgøc}.yǣx!9ZUi@C!osnx_lxwZ5MIkp>[8sSc;=!.w-0nt֗[&ၔl)L(._WOI5P%t,1*R+#fϭri68gΧ9BWe%kFW<%>OA$8|cϢ&ߣ8}\Q ӆ8 uFInVRuRRҟ@f\2h ;Wl9zuuT%k8[ZnAI{Uf?cQX.S$5y:w֥igj/FJA亘NRi3g)zxSxхJnءL哼0.I{C eB/[ HߍQok7=-zC5]Ǫ$z'`R&%$z5G~ƵyԿC{W֎fPV#"ziFWDN_ %N*wϘRL7=_cnn@scbbCi Jvʒd;t`ock$lh/W4KD(${k+ S_Y ɳDe:l֮l׷oѥQ6 /yOCnPޫ+K|g.Y'DD6%h7r;]&7e9=u6WWCrargnNskMuse-h<| )6QGײ%KQ-Y7di#IRot}|:ϫR{ZV#?Qs٪<GԌDž5>HOsÀ/uJrW&v<Hr(2*zvr  Qû+Q:py'OkQ]uw8 {] p}µ-j;pW7nʝ# ``Tؑkx=#aWD( "B#U{MH/rS]/Lȍ8R ぁH7Wѣ}@ׄ ,b [2LВf 3@h@XDI&0yҳtsIl!?B{v}`;jj7u>!i}jvw.nlӑ/ϑAiX)T,@X 0<&{m<[7f/pDz?v .ގ16&EA )'u sM1v@A;r$g!uPEa B4XNYslchQC <&QWZ*HPrIT'ۿ/6ozF}̡P'x)*t!s1 7r)p!ɳ Nf8Cg$)v 5t9;̜k]=i1/9О}, zvϧx`cԚ H˿^w:{WX]vgțkv:-iZ*E吴:~)Esxr 4 xp=r ߿oQuuK 'ïE2.wˌF:Qd쐴mk=~W7_FL/}z|VQ{іTxC^T 9>'1JmU }-y.BtWVk7a2<-%+JF%kw".~06tUA90q_pvIg]}ydze%wnyiiOEX55TK[N)fnWq\)g'2ڞI*?;'2mfwӿw\->aV=S֕./3aa^%Bh׮ǚ) jLAK3OA!k9Kwe"lY`b5k&{}Ɨ,jOW#٪K,c|&{դqzs}{U[dz7[֖_$|SW$J~ft䍢[bM,mslyo0\~w/rhX`B^|MTK_\"S:4='s> elJ6Y`jh@|ja:|)V8_}إ$#hV"z_$[Y{ҷ[G[\8x=2`N[;ˇ)j{H<^EZk}ߕ.9b|Y? Xij{kU^%)5 mN^ y3*yҌӆ1j"/qgiP[M1/5>o7Waa"(S1ל&po.*ٴNf_F x[=lɮ-c`kTM7n!I'y<?JOxn_t^Gtt{;כȣGn),]̛~ڳ'_6=R1e)TF[ ׭yN;7"&dY!l09bk ,287N[(냶aנ$L%W\r:Hu_.b͋cDѪu+I2nL\ ..JOD3C;~<-QY x9aIi2AtG/C"/"V|ӏkJeUTx40:u/hۄD-uݒNwgy3\;{-qҺQ%+#VWm`f(16?WLOQC*C_vX| [55yɫ{ Ab,m0| O'{O7m3fi&"4G9{_5YAA LtP*=> W^,~i -bpC M8#> ~زDhbp kA1/ ~Kїyo%WW/$P@rRD4ɺBI[鯤GUsѱ Ako/ nSQOp0АGk#}yLݣXfB"+Z7?wŗ굧fS|Owӯo f_nsז? ?{eȿ[0,rpѻ< S8/ǘjَ "-.kࣶ _VN2WǰALĜ,?Yq)h~<3%eo?(\,B9KW?s:._7rv.{ ڨ E|g؇ݎ~jhr]~}$Ue>CB5B!gB8p:4 }^Rvgf:W7u_Sb U)v.w ^Ο]tź~W챇 B]-a3- ݷmtܽˢqkg?Ɏ䅾cwR}55է=MY rC{/s")*T{NrB1? ϓly *|OVEӧzϪAp@BQgc.֒EJER;oCYͫ:t̒B*aN[x"1oHAs3]4,yyZW[.}f8U5ݶ(G4z<&\W|Q|hqi* ܴ:ˮ߂r]#]1H•|Ex-3mVt58rޡ`gy89L*\S'xƸ9 KV߶z:h\ ~ُP[(f/^-?*\ n֋drvgpLk9Vs{kch837 !DBEj;\۞C[~mTE QMq C3,TDUk("(6ѩ(0UEF"TEETPU4TQPD1=+8b[jbDX b)%3S#THb"*H((bADUX""*QAU*X3 `iETQEjQQF1iQP*(1bqES@DEE*b,QE60UA1`UkJ,X "8YQ`*ŋDYRX*AVQ+*b) &EEAEUmXԫjbbdQbVT6,KE41EA5#IRE]ڎ3_ kOk\Ըf*GRj~s62`Ghܦ id֑|LBRiz&oۖDȁ+ys 1ׄur:>tM  {lA0Fed.`ljIwѐC6J\?->7*a>j3t|G=بpƒ0!m &Cm2~U)bNvbTN:2&XPX^AC(~~qiN:OwEg/Γ8+Dk&oQ1-} E%GSپ͢xʆj g?_#w#mEp8jЫn 1SFO^̀;3WWhCu/,[L"tkP봧ל@Te{fݟ)/ݒj$'b<;1ʢ3>|~Y W~Ӽ:=R?.F`e*%oz/E>)fZ8hE 3NEfdt d|).|KA |`Rgu苭;{I(R@/UJ+M T(I'»Z0DľFE@@/!e"ԀdBLIv  DtDȑ4&VVE(T)G}DQ@؁APȁ@"`"59ٹC2wlu(&Ԥ<-)Sa*jZdIvP[\j." bTF2-9]ںyv˜^-g8e8(^n*P} +-e[[L9hÉ*=431WbbK*JrjeAuYXUYpՌB4Uj jR0Q+X[f(^C VPEάTX(ZՒBS`W9\t\L:'GTYe i%F;ID)X+(QURKԡ̥s0œl5V?7UW1 QĤ v-%ux_=܎hd}@qO{g]qZ 'WᲒ7/X+>Jo7;%lc _ܭA6G5)Qp=Ɵ48!cUntc: 776#boZ ,|(2MR 27[PmG  ^V88QaVs[$DиŊjj(H* #2%`ȉnnfQ}o.`"+<.TKl9pVEXqΠkLh¥cVT85=Lt^<b0s\=RSAW"],NaX 'ob@ >3Bc v 4 }!QF1 al“%EV$fα>B~~=6!"х%x8[,}1ͤcq"cP (;UK&Aqy<οᗡn^$ b EԈܿخtb%F¦uCXܔQ0b6(R)YE!kmfu=RUq.U`r/_C +-8{=R"QѧI9FK2rl)OUtJOi%ZlqɏlBBox (6`<> WKC)>KI_'Ov> {tǍ3Y0@: ˻!M=ZQ82BGgLГ=kM×f If w,ǧ.I/8B+8.AsC+_Qf.K 4/6 Ẩ|O~G{\Y(KEnWrRJsJ&KMiqOWY3wh7ݙ%@h Suύ8)pFjGp۟'[["+L N#_(D[$w׈08?= H:rSIP1!nTMF .2um(?s +VePᦑhIB=/sJ %cت[5e$Z_C^L߭`,B2>m(9@޳4(:yq;{_XD(#7yBߏhokOhIJ2Ә s>' >^m E`ȃ*&h2J)H%LF!$ $D+%` bU ,UJP A)Ai6=&[;IYt{97 IV T͕?#>d\qٵ|-[öƢ蔂_md 001mus_b Ѥ|$I]FşݬYr/~{DI}k`! Dl"tD(xy:Bl%TAZV.Zɏ2_GƤS#"yHRJ{8e>٣Р#3wMFvPbu@SS4!!6d ]a̛4چ. 9>i('.QwЇJJd(HEZΉ8Dd@@$6 .'W_,0WC>rnII{6* ܿ+;J߇Ѡd3jl)eX"!s7"&Ci+M5Q XTjXШ;꩑lň,K72m_^U=""rJ-̱ hVҠVZZը#0'"qm-*PId86@*Y@/S~^2=򈰧 СЩb-摧% @ rR+t &R1)g4P(!+%J*0>(no4^'&1fXm-am(8P 2& AwgZlU\t:-Xwr(CuƥȆ>=&B4 نRlV[+Z` LxL?~\ta]CH/Ge(Yv;dqh5HEMPݎ]6y27&>yF ~nV|+r_QFU6d0ܾ _/y\MX(dxM2,ӤbbU'&0 }l*C|[$ :e ;>Hw]/#RZp D?jDPor ./UL3Ƞ?Ov=Oq*d7H%uiŽ%8d<#@rr#H6~G\v&mq:u Rqَ=Qv! KI=.SSFӉ@!l-eÔQFmf"oXwU?̓q: 6 a֙_SO=59< 8i )$퀣 (C&2BO:i bB@JA7g5]M$_ϓ(BBes%Kk|00hѳt Xḽ6f֞=2]@69 hZѻ1N M"6G7´0a4OxPde0ZBt}O;2 軻FoӊXZ԰{2p2My\ l>X8Ug m!Rф  ƷƲA $aP'쿵 6ߒHS4h D'' ISLt`g+5->oznY_7qwo2>!| ;/$A{K5pyaPIM_a?Np1{:9"}ڄoQGօD2 Pm- nA[y9mFQlÚ kwZB #{G=i5k[!%]J9, Qغ*V]s?yXAikXsmU[{M`Jez?Yf!zDҊ83 y`>$l+~y|\үywmrr{f>j(F#(8U(d%k_ u9јpx M{RoړGbWyjlءi/{VFzzg4mhe#Zh%I0n'\U$˫WC`l2yݑg}t ? |~Ώ9Mp 7㦙EmE1eX,;^<ṋ-NEm]}{_~_?t2o qAa$e,Sgd|qPqx6˼d/+*n:`l!򏪞k;u@VɹI{ˡ͔υIR^ș@%{pl0x@yIlS@l_lE06wi-~]+z;|_K|&^2㶆"y-'%"TT5 ?*fKsk]P!Ќf*GӒ1Lx.h7nX3{~<~}aTܽ+z'UvtN(oa=O1+{[DgBtd$#~#w3K[K]1a1g #<>q/O6ĝWLOʹ(* A~[4|k ȯ6W1u~VcW{)y@iGQo~ܧPfPA B> KwiHj<~GF9*WO;,8 V+mzm"f7{mlaHl܂ ŋ !ҖZXj%=b|x#irAy ;;HmjRy[g|X޿/(;(1cT oƠ$L m>̌/;E&KnVl 6bu侷 GWHg@V\_IRZ_u6k-«|::I r ߢa"Ç\Y5[cpuBi(&q"tP$`LJ<ҢLm#$b3Y£Ãu\~ H 3yZ|VІR"  Bœ:25 N@18 'R;̚VtD9rs 6^f^u ¢YCD+18auQ@y<˚vF* %gw@Xq<5~TJTJnKX߅xZwb@*A*2@zz޳ry̿p Bن?${_ Q{2CYׅ%yϏe&C12c '1R|I]T\Wc쿑+^?_>L1]q6Ww;$ 0 D_zd$soǬ{{g^H*c8( @3A9ԴXAo;k~yLFH"N=`N[\AJ%zìʙM=goZ`G '~."À= ԄZ+[XV~_E֓6s9> fu})W~g2Ua:@,,gͥ@*#A9%h?6J?o!ZlQkmwjʉ "9)O|a"tħtܑ:(Y)gsXFHh-QE+-HJmP@?8@a~MBhׄQZU(Pf߲|TQ6x *BgX+!>E, 'n}kmiQL[wb.J>V04Q>$'b QZGqP?QGi8i.>HeA䫻! 2!ykS_Dɸnpr/=xޔg*<c|.vKTiTef@JGdyr2ܻsQRB,aUy@ģ @4Y# ]+ ',1>o bBZFFEWT;;QCt3(t]e|cqrq]7; D|5i+(-{ w PJBŝ1ĝ3naR&u* @DTR-1| TUB:[2^(𦙊8nw-I_v0ionM^kʼSl.|1C}95cX# lukդWW;3ÛCwMhO82bcU9o}=rI]x1252k|K~~)ZEIIn4v7G㐤J*^JSPQTDLMDR MRR P4%!TRRSIA JT ,:LSTȱX ;m "F8LLDACM)RU-U0D* F(kjM 2EP+*QKK#.̣R(L'gG!gVnDzӧn;WC[yRloRhzOg#jJS H$OAIn۪44KO0SDn,Ql) ᢪ9^wuWDcY]#dt8B`uŋ3ݲ`O"F>,/w@:x2QŸOJMZ8bGP!! 0V<[tT?\\e_Z)URk5~.sHRX\˷ʇ\N]ɺ9W,xKkX>)=05W?9_p?~gL0|? Fx V+lqo~L&UU@! Ou\ckQp\Wg_,p(  Ŷ!ЄJYt@'>svE7igsڰiP?keshһdz?72iح uvX~V-3ό *!6L #Q 2s^Ȧ@yfxh1[k^>:0rLMS)JRPPBW;r{ͤнwe>;PvOS&% qD@@oBk;[@I͘mqd N !S{}_EmpپLÔ eMm&W[SIMpf&.Ł3 H5s x&Ʃil06mv%c0rUf"0T DB(H44k!e5, 1ԡzbK씤5ݪKԭ]opd8-#`漽}pmgZ9"!8H@6Em]4F-TdpỎbgqͭ~r6r<_YTӍQθ)['\8i"P 󘪿2ٻ'ʎ8駾 g}}@&1`! {}Ϲ{ "ݪ$ t?G͌ɈlrgM Y9!\DP ;jy*yYVk"Dd&a(~:5"xN 9 > l5'MXӴIz f&x\ym4GiaH܂s `%ڜ':pSQ뿿 S7xWNofGÐ/.o=Ԡ+S$D";Nx f:0"/2zaf_Zʚ f(1*%[p8աAd0>fݾ$)`05l9c+~8ɘ?˱.^8^X*9Uexi RXϫ0@CC$:z0z]%tM/cYhDfHJ Q7+:ׂ]7e yNWAeJJRYm4A4miDĢJ&"Hxn~ ϫu9m/uEaSB0GJ9dgb:F3>S UZ KAE60uaO-~{(J3;Ck" Q#$$. }>V?ƜU: |{sΓD15y xOruv'Kba*1o=px>.z~~S^ m޹3k+("Xd+-)4pE:j!⚂HW8D8 x<*@:WfD - GCǟ|j TRH'=ȏЛ9!\e<} "K(Aط{. Iv(E<; O[j~qH?pmHA.!㳧sQ9y94ԍϛ/SdYy#@m 8! !t',5cW3 D`8O#+"d3v+~>yH8Q,0͡a,/Cϰ9✨"ϟoēeǀ9]S KfjMZ}muIcyה^%7e}Ǹ zhhU8MkzP 0K&"D ̈́*:8&,s[Ϩ֌wT>kc56 4ukCSɇPGOٲΩVf{)hMWћ oR4˼T?Eܸh~()f<+!"2YX RW wN8U"BR@0 dXEE"]>u[tm/Gpv s㪖:R|9+|Z\<PY$uuOD% Z8m1Ld1QJg O%&mSWn6~aF*ܷY<%;ZL G$!7YR 1ivy mKwC+uLt.ךE؏BHg< bD /v[[)TJ |ėu_t_ 5ð>X9ۭ}2&jl©Ơ lc|yxjj(2fB$W dd*COa7ֹf/m׹\a0F Q=ps%L R  /("BGd\ì=< v H/ 蟳3Uqho!oguǑjYل+A@;YWT3- 4)ex)a"옾hܵnd+G&SĖ t<{w9{/x{OyϷ_NQ] c= Ӊ6uy漧aRN%&PIaP 8h/PᖠpM|46M2gWsU׫ldRΣA}Z_@B;fk*(QkAa?uw!  's]ڸU MH8`ғ˨$>%1eG}Bw4Q@O| Tk [@≺@VC ғOut?1C+*B @Uʹ F #٪ 0tw_HKJBF7WNZxGohHLp1'tmߎdbZcORP^Q;ƂZW% nzNaӁ8`X!Z#\|LWs;?pрy7e܂], TsR@0/3W*Jy~V3c=?Q_ 7 >lP*4˂u1Wp$JvoP_d} *1(uygIJgR !$Bi*6ChhPIF%Fhep$@bJw:þ{zR}Ђҟ 6㞹 Qf ͫ]L 3{|MgysBG}ǎM~hHda$"ܼ>{wȔ]Q[^eg5/MӣB#F^cp*#EP:~5C[@nhk 2HQi6DIfc}'Q>w1ZY/ߧ|"ݗHF>s0PhVWܭr tZ9K m#ʋ yuae I  ʿ)y tbY/b_ڻ.~[7=t@! 1w0kE#o)g;_XѲB Hz.beͪ쭙Je4FT\=%u xۦJ5+XES-:YSki?юCF*"κ HZ A}K ]݅U$M%-nR  *j$7;;jͷ?+/WetZiS꒒/D845@>Pmߺ63iE8֍i I|v[ DdqEȐ`y)M"[U[YN&YpVm;5WyڀU@2/q:w#\Fђ@ &e,:IiA@=wsqw?GkT6s#QCkRI`rLn[z'=n8tvwU xw}- gve<[D*`dʔ& S_p#Gw}wU*h@4FB@@.0\+(-* a"kN>G<1 uŵ=/gKP &Bze$ǯZ$jR(\߂jS^yGᾅПskgв}'8&~8- ?E=*gyGXFQ~ DRl@J۟ 2Ќ_+m EZŖq)륝x:oqM[N_nb(h~m岽q"vK.w%7CKu v_1}4hcZAe#ϧ(;DFD :\J*ORk:oF3aG徉CL$dH^*\krjȪK 'Ps]  x l#%?'KE^Ezy{['ؿѰHPz{i`.1A8gm ߠE &{k7lW&hD(#8Ƥg]%tѐ Ω>?! {lϦ:';P_ٙZxa#L˳2+y5GgL3tΛ)iq Yq*@c~#VjĆQ 0D {BG(}lLfr18Xjs%KHC L.sXmL+ՉsG3M+nS7OˊM>vAUA#"0L$@U_Vj\v%bґ A+_V`BHD=(B4-W"W]י+Ixj~*xq@Xb3vH?4A579ɓm7aDcTQld =xb!stoxlPQ񶴺oQ50 y\ *# Wx!DZ@kA7a4D]9D~0VK,S0Pb܄"D1CaHېǛUwoܚ1~~qjeWT0n "8:P%4 5ЖU=Ӑ lġaI&Cag .Ht^#yj+=(ݙûU[yֿg}%#ZBl_\U_^1W"LaNX8Y`0@%kee^ȉӃ~i[}KAu #`Q\h"J^NWbF1fR73fzo+igjdR)$)Lx 3G9\{ZףAPRz0m!ZnZֺ:$?~g͇UǑq?BAA)!h$]X=|?4WY_VOjF3;]gtB@;ڈVbMYLݔ"6D@m;+뾦M6m\ EbZ(,NeD:+/q P]낣Ϸִ ['ߏ0  Ԕ+  {J=b3o֭ʚ:$uhYjk'ȊR'#crw ,B, Gג# Bjڟpu)!;.7+W*Uh !]^#ɂ@ "AiObE1nmvR,$e/aS~^gs{f)D5ANĞB(mp5=0zr$P%ij1R~7JHb[?~a A(sѵ.dy ;k6]=yO^MSPIZr+z.IӟCZ4*$ZޯfbrLiIaNǔ]!@D,v{_(<&.C)F!9d-]=ʳ6at*]8RL-4LU~NR (.7H~YR9r9tiџ%ÒAШb~5S/ĦR])?H R`Mc0\&wT˳ =AC/-9gib'vaQDZR-<^ 00He!^>{grewm^ ;vb4Y q)=ކ);v#?NTӽkZ6 vӾ];'ICP@>*S+'fx0@'$5ĸ_qlFҽkԔk}a+uCِ#(F(Gm에 _j0X%)MQY _=g)F]̥0RGWА3a.͊P ;NFVzVL;h&>N 3_3 s?o^SXւ!OyӲ7Ta4?ov" q [ hN9Ӄylپ2QT_K6dBآTxpLU'/A=S&3{Ɍ?cPieأ:1+h[FXʨv.z]/9L'jR̭`;SEҝ hfuS2X ?@1oZabt=T( G\5W}=rq [ClQ7̥EBŜ~2(?h@rU:J6e fO`tXXR>j 9M5U5IkVE wSy'fۘ<4w)jpS#IQo'q~?!۞Jhi*1"jZ*I"B)h F$3WIKT *L-DIIPW8%)rT$DD--0b* ZZB"de q.)%@m`bA٪ *-EX}uZ4Pj}[u=p@&o !d4;(K]tnwf۔ M=~11>bä |&h-j+BV9=fc^9=ѻT|}4睞4"ԩ"j ~,RB}ln,q|$6 w*tݔ5Z'B"1EY&3ZIO8, VS)Q=vF`i gqT$ x94weLj,Sx'غN J19V 8& GO:Hr gmُ1T%U)TQACb)Rb(&(h X ""A bOez*,V" UxOZGYt3Y߳dG0膀؝fĞ"KHLVR[-w׸j1MOזm9d?n>G"*Οm<@7/п吀n!L]+{om9?ɜ_PD1)H |$d)JS޾^2ޖ߈LX媳ݴ! 8",byXPi.[h^Lem5Ǩ| )@&%\fC; NYZvi쮄QPdvO >ڨLh/Z]&Rtܹ2(ǗMkGn mmW3Iritl{Ј`8:f%[wэ+P^WWq+#뚱&.ةmb^)K*mnͽ^(%%Z`Y|fGi CS1TTV/;%.lY 1Vi*[y~nFlG {ԣVW)6ccI""}w5X`k42рF$$Ԛ!ni%SSbFO7U_?qZm?{ g`)M0ZIe4m3kK٘nC[K 93}5LPe3lSiUv >bzf!ت!^E߼4~rH\3*`5ՕbJ&T $uN S*@+ő#Z5"Lpׯ !$[Uo{Рr+NI]O8 I*?D82j{3Gyg&0DH8 >x&$8a8~I.9Uф22zLbJ6X[egH~L{яndN<qհ4p54ۋ!2IA5,}݅d#xt48+zoI3mJAeרqtyx[=>MB ɈH+jS4qP^ ??,T+`)"`Tzr)Ln*t2"}a^JQϓ-H?$e_ɝ֓>fV0!=@?'(@/c1 NMZnt e %SO{|7m{^W^~ykw10 FOؼkfô4yS $X6!\J LFWY!+w5϶bjIqZnHAri+hI ¤hxo&G}r>[ظ ɨ&D5YWMl)zOǕj6M"ǞihgpϚdShi3N1&YY.řr6BKG섁rV1 at2_"rFkHhobxv̭MNyG;GHͻt{zMkz-DÈLցøhGS@H` J̇dn/KQ ܤm8-'_&޳eJvre=N 3AeBHm /ᷥ]jH1eJg+9`O\A Q%2XFg(;E }7w%T 4JjuƊnݪsܭ+R{k1,H1-Sc&oniY!?_?}(-h`˰E33|B!3}+~ G'c{1Bvp[ pS/vk[KJ;@#d5/@4YiSӨuC'BLĬ ` D$$S.WF[*&0Cl9BW֗0<1 Wwo.Ъ ]+{{AYCَ3{~@1ܴ{SF' / y:;`ԯ͚|GNvDo40DE#$H"$"'Y,j&!kE5mO컂ke1~PqW qsotmKZiس]KDŽJ!pX +.;8AY@ۻfx)LRf4 "Cw;\_i)n_ xGS-Njו>?2D,i 7p#^e|+t`m2AwRwӥQe(ʜq`Bw;y;no<7$7@f h[Mam#:>@|h KsS |b|zb 9"I um}GbZ*[[0nk/y~̏Zϭl4\'gp,/`؛_fqXְ߽iHn|2ؠEH!#nTG"r| g ϥ@fI9I|IX\e B!XkeRw-VFvH=Hr+2Ptq1ُMc6w}U&銈!@hv~t[m dᐫ Tݷct?kjOy7'y ZfaP@<`>󞭚!gnٗNhA(K #bYoHC{#^jo;(_h[Q&5%F 63r]kD;HyL٥76!]hQ&ٳKuܺߩ2m,Gk9,K}q"gf#EGw'K =HRaABa(NnzڽׇA^yv!~m?>+FY}=aa=M=qX/ =ʿk{?8}kcULt)T}?7n B`JeiDJooњdwy5a[hR^Ŧs2_7r 2\w7Ƌ㔵sN cll3JU) %!Y3E/D`|iQ}˷#՞y IU4ٱ5 QcoCŬi9(=e9ߥ+%>bLV*\(!QܙTC3chmb({WGMȢ燫7"g?.Ć(x 1zPar?uδAknkVcc7eJ?tlnA 3Ck9P;W;i: jϺ3ֵp&  eu$ v kǃŘ9n.ceV)_2@c&\+WjdMj)ul6SILG`~ٟԍ +^ch1VV\H|g%=#_aMK.Z/`a$|=>%YV_vS~Y KQv^X.PwO)P1RZeh kYF >kZ% LpvKsw6aFPNt!B'y$<+BAaar~@w_=3^kX_.r G VY03c,hR75|eTì@֐vOk?{siJ,+iThh< ;V@wO<?/!C%Jh}u• SzWdKE°F,fYSϱ)SoQWXd(zesEfA0ݫR>7g{n&fHfV-cE H"KbL҆C;vD|+k ic:/)kNש9nfQ3yD0C,:~t.]VŴeZJx_A T:k8/+֔㚦?\@Σw㖓]ҎV wk V ȡNȆ#Vas<}njb` ߿ej=6W:T$B6@I"wسmn3P5yjkP0 {_/Omޜ]O|`ǢU  G!:NÉlHlT0ƒ3Ϥxer%gULٻ}Y7"'ip< Yu;`w`*d^CaMiP{ s;/+6_d1-S8p2JPUz]uר )TOCr$#_SoG,vÔ`4˞畇GMjmx lS( uywa-\ ޱkʏgmT)R[X ! \T@'FUb~_3:zbC1kIm1a>ik#Kw~=l1!/pq#1 ? Cj$ & B:DBLMq>?58, (d׳~|3Kw~RKqep0q;;*^t]\͘= )iDHH*o3>Q<}b;;߯_KQ!'N3|1hXz]Y=]Utq# c o d"rI8kU\~3agBG3'm,Vgm=<>SGU=72p[ WCI6:|\?Ro~i@2e%4o ߚ@{؛:J9 ܹjQb/lApKA hB~LWy\w[T&)Np8KiiCV 7xrvavBc*LDV,-]gcC÷8SqjZ5uvނ0l sC$B$>ıU%R, E4SJPlns(YkgU: j"gP"]"5"ul`!0Y(de7HC6mtEWѲK"g (_;,If/[,כ%&@<HDw/2o5wtr(5%.qSouT\TIW:ԅ2PXpcUuOѶm8|x>iIjݲ {";B0@ֿ\8uJ"ͅʝ; w_Tcs&dZP%t/Kz} 5Ϙk:k^Σ5>6|h:7Am,Jv_)I@Ƣڶ 64l͚}2Dqq^ρY[[gu86 bt)a#e#gdb2>Ƿ.m-#tW H`ˁ, (&RJt.PL|ao^D5cƘU,xSR_iÆN[^y讯ַUqO͝[cnWJl"LNPHEJ!vMS)Cnڅ@Kv'䪪bAY8K"Yh IQq!x)llaWZ#kHLyWfh9{)X@E '4GCYe)"2~>m6i"/It_RhCH5_߅s*zԱg{\`9gwתR@F,"A7o7iBOqкN\@ ʅ|. _ ڹe794@@ߐ5.\˩A#8GSqr413/h;MYӳ4^ƃ`b b8H{Y m-uUPY Dnlp]VnǕ#n~M.JzAue ǛZu"H#(ӎNywy눏(Q]UT|n[07TVdYc*DۯF۫8l0^=҂&ؠHrV9?8 (:U^}O砿[Y_ g&kXǐ!Q%Yy/ʓ~Y/5ܯN'9Pgn]^{eh&F^yĭ\UՆ$VeUcXZ,F-\k);ޮ kS?Nш?aysVd`˱˚Hi6`/sbuNdne{ZUB(E.% d^[2)!]D;8VO73#? uPpPVG{9%8)w]D$δv >^#ZD![1Ԍ1 fsD g-xu|߿霓A2+{wլޮ?ָySۈkǙ4UwKf꠭Z lm.>m'BůER_ 69ߍÀx4p2ՠl* kKѮ_B 08ɤ. 7I nJH[2H3tkƁ_ŧ].|11h)I]f٭ ~~L5WnZޓʪ03ua3phUpQ0*c'0b r_^уk2I1TϜ4S6Ctb,'[bRh+n2)a`h$^+% eA$_zϿXa3+ %* td |Z5/Te:u(Ol I@&^.wz9ڸEֻVhrgwߴ׾@|n/E[m2 gMMAm[n^ԶVs]шhӖ+p/WP KQ1A(>`ZQ~1]eگpx.?>N-~&, {-d}VmՅ1^Jcc7NGaф$>4lS-kA2$\}c٠y[|}7ELkJvQp\x#" SrLϧ@" XE ,LP4Z?M`Τ `ⅯLm̠uhwqd- wtJ.9 _qw:~ (a[["C·rz"uNzR "`ezoƆaY?ڛ}%ϺrHM.ffFQJH$Z#̳}d{ 4>^ β).WR0 4Թ@4`5rI,njWh/byd D?kb(}z "}ѣ _% a> D("Sx˜h1(;jB7bV@X `}"u)ݾԂ[><^Z{?kL>6Js X^7OS6LVvF\#\̫EE"݋6S+&f[щ@{;]U|| f\3_J lTCWBň7:P!WpG8jاmQ&&/km6Lq ;Dh"X*[%y!1nc:apۛ[evڡ92y|ńfRU̖#|E^hƈʞT#9[JiuzY.av7'!Tר}"ǂQn0 r 9Ȏ#߫>̓ 1A]>")mUq '!щB>he.~i+;%T.>Zy~L|zR sTJX=t 0M؆46G-o0ٴs?pAA.W$ d?y<+ՂmT. $L THLoH~ݿ Oĉ42HݏZzDl2;!HfvTZ`& :#@xe = K! h^m[w ץ!pm&vPhm蓪(Jr \m=B9d#ö˘ >$uF2O_ëDuUtZ}n(""* PH/s5/&nxdkXm:mT 3gN NJpnn[ڋU? 3]gcp|{Ct[#0?yKIuO1$S,dEO”D$J9jWؼ}}zkpdoE{ 6=y#ɱ4'dHA8WKt\HrZA^Sxɽ}njpL02{A*(k󭲢ȯ4Wú)rJ2t;HlBk 8}W!C'-;-EDP/`~aN99I !R$$e1 !s(%]v"42|n dv{,$SWejc}ktyrԔ&T! "DIxǝT˸!告~VXk[4 s ~sئCJ6'4VYs;!.VK#V~wBᩳS5K7s@YB>қ'.H0c&P`/٠TT }5;o}PMoߒ_qt4kgzM{_R?m;W[$yP$$^ۿ)194@ ˒,\ ])}!On-J˻kFVb}T!]Q,BEA9j'N%PzY1l&:]Rl̜QLbu|@ouqr{Mi(,Zf,2Gx#E&):f-R '[$ CѺG~ .X[wIɝR&FFN-gf%_Fs>[1 1t~:KS1M\{%54dq5n;XZh{H ](]rJ"V@D9OD'踹=&ݶ^*3&˂#'.0dSS?UiU&Xꑊx\2kyym&, ,#20ޘBՁ<|mBG^]1n ຝ4,gvd҃3ilb8G%b/CF 90oa||&=g:8;?̝zYMaCK24考sno$*tq:SJbp/[+YOxL߷I#fQuj MqR5em]`4oæh/^+ }:^|߈a5P :A =WKy ,`qL Pq[/v%Kljb}z")ooNb^yA>bqB5@*&kH?MVtD'v5$X)_ڱ͗]ekMCayܔ#Ɠ녁Q3Kxd_䈝BP[ :-R$/I?{'0sY2njz^PrAӺ$)*Fق6, .{.QPVpݭckEnd1=(;аoaCYy1 Bj,SE=7+70ṫI$\|}_7{SgQgƤBH|}O0M*rOgdz{Rә~R1<{9sQhLEԢ>YI Ͷ$ҚsM;w$l-g|_4F$Nd +ŽÛu{sQ䠁AKkT @mm,fɚGAU0 txQ\L8GP{Og EBV5@zO}&2caU  $(Dq凊ȥT3H95c<*=FǤ%[Chy.]3apy{A(|+X**&8Xk{ulD8y,;V$+tp駢[ݳ_Aa}/1"mYp¶3Fԅjqjudz G][{{\^ǔŦm9 }?˝a5gщY,?lM"ݕ PRWv OD9{=Ւ: `ցpJ@& ޅO+R6P}^5iˋ5I2%d4@d{JSPS@`@'T ܫm!B~E%di,rF29FM)\}zN2W;^A[ ۤl?~q};+QW~mCG9 7 1elkir>+o_d{:gKx"m|RKͳI,oui A ab!N gi&D¯-pu/àBcMx ر(83stYnC++j!*u9HqA6R=f3n .-𶍚1dk+x0:s)#S 9iw X@ySXD?a}g^\6PTBU@0cKNгx;6ՐkQhx 'clKAX`KwT I5B nS TTC;$L%Y?l(** UUURUDM%%P@UTUS3JR\W}Nggylann<0DH jϽ)n):AܒWǻ޶ۋف$-.vѭĵP;cDkkEuy(\{::#Y n8t|8 ¤#89.Jcœn3cQttuW9bX7[o`o;,-Q5 Me憞pel+`*̹sR+~e@kqLcyASVAvaAb2N~B)aQ-X{U\&$%.J:k ѭĶ0TAM E)A_Zq4 #PPRTKITU1+5U%D QcVmJci*(+bXR}V!;Jo&<"!r# ".Q)E <}EOh$ITM/$G`9hPw.` aXJYR,fenT4^չOP\etP%WlXIj/wJJװU6#c4Pb`/C铨$ZCj 8R:"Hژ Z@Yv“u`o#m,,єK=+}89MLKgmׅqNk7^ZCʂCaCEgm+mȷ0Q63Ets,E9t%p/&F+}J]ɒb^X)uv0`%u_!eW_!2gÔ߲J@xq4OL&+I%3B3$[ʿ'AGS73G_ICanʼXT"/s9npz8W>vz J+4A e5HOAɸK1!;]\E,9ۯiOki ΀壦(aeL64qٸZ)GX:H=5!`S֢c!D[*VZY,1=[Gi8KTv2p]"m o~6pQ`lh!l@ Ը;2Q}Rsx\~DHFc H][~s+F'Ae>ю=̚^F{-H]l#~*].q@%rI@3,齞WUViNofw-fލr&ᔕRU㲱f KW)ÈeEֳ%%u^iٻrȸ&߷8V)wa;G2_&?}K3i;Tc^`f D[ LRrTr%%5=qǶ;:oZ+[҅m?閁'll6CE/.NĪmIC^٨)9p#9H]p?@—J 8n2\Kҋ ܲN3N EQi&N4MtgYh~R&cφS@u= OGkR׾~BVC(K77R>gX6QFWqKU\AWZq#HjHxUo#!7ZLe/x9|~V@sfǩ< TO[aReĂ&QbP"D:Y]3ńYgvgK^rp)m|ꗍU^/5]i>|*GuJsv] Rz^Qw>)Є)B/>N}3y1`e=g[W{e^>D?W^Ik`@3c'0?:3 uVX^vV2ݐ}\WQ&/S.1fXp$ǝ3{2&ǎ,u` [d"r#ĨNsuB*2J,'b&̥xJ8"þ>-D2"|[&DdYQLJk{t6y@768ppc԰Ri.{{>C@*\I>@$@ŅZ^O/0H\H'諳®2?eJd%UQIATiO#[6^>oVG S7TKX\ٙgYFeJ zE]f4F6s4-bͮb#4&hI5[Z-M%FRb( b{^>[CC[G\k_m5yOl^-*ȑķ8+VȘF5_*fmm!IGjƑRZk~*a<9 3_G?NhI?65̧8b$G  D@er !|s&{uP-SɆA`cq\7%VCbZfBնf2s&69îdƽ]1!-LtbAGg.!)/"(^=ë$qu)872HbiP!SټB}' juwUC*\) @uuh"zQn !dŭ{ȊٓaHڐ@i_p+_խ0!Pz"حȔD?x~`qN q|}t Hg0i!*`L%zӏ_6BM_IaDD #j6W;&~$?B. Zr>)+pqeɬRԮK}9;t%&IѥO|ڞoTS4qdHu26G{z4c7F4rVIvҲq'ԅhଢ଼Jن?r svU(&p8. A1?B")!n+׶ JD,i4~ H^ ~ZN$G6">jyA8SN{  ?jH88 irhZp<}~#rB>ϫ{n' شb`C.mӶ6SO]Y_ =ϫ_ z/s蕻-mq ԲG|"<* _qOD{uuiM1@c `DD@[z9&J~3dj^ %tGW31%IO]^EzsP xJQ5vDv!Q%Fs Lnf8Cu$Y6_c\2 kc]kArܛi P.%#S;:?o5+zTh"5zMXu 4PTE dG `NRɋb[IuE֚M!S:'b(U]^PwJt݁,bj#@&0r&9NJqG'i&I(hRqb\iђCآHCI𒚜d/-F;|g6Lp}p/j LTy#]?4 XM&JsI 惡5yoD9l$F ,Tb,3=sSXD8  ? fanGX7ю<ތ"E;N/M -D&VRX'+64͊ h6BA"$$ XOD.[K0ؕ,͊f %\Kbav%4_/C2-^_UC/Mr@Sؐb|2IJ_Az(;F5j$;aQA-n*wF 2 G ʞYѠG]OKzN`=!#dʥ>`i&}w&K{n}Q|?%n-'+)&c4`j`f%;:Ư *j56;oJtD ڏ@M1lOnO_fYSKG5 #p>4#Pǹ1i;lell- pUYg @-Rsde~v\M&\t#%X@b/$05ࡵwi`ѷwk,:boOQpWYW2H&Lނf!GwUsڂVמnU0 c׺(0H0" $" fG].Gbz8YKowݶ0\/SDz0H0$@")"0og?J1x"Tb.HVzLtg'u}h7Ǣ2lH2&59-i\6ɂb EZ 3H h{ԀKP|B6,ML:Nv`)E$:Ne߫PJDAX>ަP<'n{_jzD9=R 7 <mi}YS7(5]kS4)LoJ$c5-7q!8ΖMyQř]Y2La!|j[b3F 4nKSyoSNZe+R i,u4Yif3VMjSTcaxQwѣ5WeTl݋;,ba͵] )°$dojbCc|c٤m (9!}q(H˸R]sUJM+)Q MR@"Aꕔ`EK}^[Gwg?G>\v:״?bv~,ry! AvRsJExqL6 ԟ'68bP>J$6,w 2`GVܧҽ|{RV|#NПw"q*mMRtCD1hc0ݪ)H,A(`I-J6^{%S=[c-Q܀1O<7}QڝopaVgvd{+@~rkQ㷳^c Fi:ȇj=厛os5JFG VLtYE}@ȉ|sA1YZRkU@- LG`a0~NNwEEJ&^2MvXc,`m i\EzoGwץ_Or"jء,Na-xf;7 |,gJ8xr@C 8HJee!xtW0 H9:*kCo6Ñc h6 8ۿDyү|iuA£:Gg %4,,$1a2d=W:rBDǁTX & kƕ*V//JnzwWcr VSˋ _ Jh[zò $$nBp5Ylk)^)ɻ gOEQ:m2[}~Ou&SᏚ>n@ ăx\5fSTBa,1/5.KLBIu[wW6='޶=$ۅ8 B63UuorCcHx0 ALS00-.CH 9R?D>؀P^K!2ہ<ٝ\ k>epY5c8x޲AhǼGGjSe.Zcnc!kYzj3҇,s+I ]PRK)QS,@̐1W{U<(]j􀎀y Q~;, fZGV* 0U*" _MՅ(dg4jQa=t}G=  -X$%EApԄR2@EӐnv5O(HO*78r?p+:% P-^]Inq@Ls*B]JdJo4ׇ\pW3hQw` 6s;hu*d/ii]>)Xt08 $(zO7$;‹ a& TD eJ|UOy>jcml^VydHdnHgg䤂UڝӘef5嵬̖4A>(M֑-^[fRd_!]}}}cF6,xcCcz'ﻭ&CͰ]@}$(r\;HIa؍zNMy@Jar**)v*&7 4pSzFw kem)0(g9$8Ot޼Iy ͙y!V6*P z( #a9^fKnˑI3+ߪ֡uo.m͏nԅ꽬>ɺ&ku|˝]Z "]WeOB/w^: m^olE`ZLLi2XK#L$dYH;qY>jXx057Ӳt[}c')iG#;]g^ ƃ78F o'YHWG;JgpN0U? rb̰',(xovKُW)!{ުZh} C$M a6:<9\o.z˯wf?},_*82 ڃCNCKF-ʈ T(h}xW]<[qhw3yKNp؊y\e#*_Xtw; d cXCy"PUS-;9&y:jlSt~7I5t{q{ZX5W] ?ᅱ_.]@" $A "d*jV6U{^Ff5kH8F N7 dA]4SZctR0̋,F nYP KzJ0ػ O/`{c|opH(~m7{k0v`P@1ڼ$3$vl~OC 8CZu!JO*o:%H =U1H= OR qNF!.iHxS$N3ͭO%;z'KG `Xz SMn"D\""T;?'5c6{7)=)o['׷#,~n]?E1 ދ8NԼlxݾAwTye ( `i3=ӲR& ;Z _{xlxr"TML$!.5Hh%!Q#=FV1qh<o1W+lŞnVk"l)&Bxe!HN1غswYIJ?Baci!0Nf qq|vcWLaB9v<[+=+ٌ*Wp@Ͽvi"#cϣ_(crknH p\"M@YVO?Swn?H8Eڠ Sj. GueGne\`Km$J!! A:_kl3k~y_t\&)"Q''i eZl3El]=|\CkJ]n߇ \ٜ۳-@Cσs=x-=,2),{ L`1o&sLceQl-޻K隲l]{A0 X`*G3,N~iUvFO:({'mH6|uJlM)"78j)ćTAAfH4T[s'χ͢.\ͱw#DO}`>ōHWhxLi8)b l .TVUS[aP H5:$PIH R%O"OrP)# Au(H=0]}XP2 a(Ebfmf]qxO3e"G4䬜v.^O6I>1oհw4RKbԙVW[f`_Vl6<<8IYxK^>lF^^4dUW%@Ip m~i4',hFAF"[tۚtvm`}ffA'Th ^6$l.a E:P(MN8A2Ρ]iIo{$'V.3WZ[ev付m|qTk@xa6>ԤܫsOC($oW%_XYT 8sȯaȅ>9q2᥵^^ !;vu[3^f<sHK s|jw0F0U;S)O{x)j6h6ٖhf<+P.  ֑$4<y1XB<,rZτгvmh/+Ƚ4|$@bmK4#^!k:J߃9[\Ʃԉhz‹5Ǡ ( Fφudab9 z 4x,viaY83WלaK5L-pj9tbE!E繾vi%wv=\w8] 3e;ɯ&^;EZ! {X˓G/=56пv}t} S]Yp'~[CxӝP]r!z9NKȋ7$Sgɪ^xL,s˿(x%~3p9jM6A!=̛@֮"A"? #glb~)v;MáUl|ޓrox\   OY9"drJZ~5Z?s|lNKƇ N*Crþi`NouBǞ}1T'PJZSvUF+YLr𺭝"lH6b UG[I1x9N Aȁ(_O C[oDf`z[tTDcE!F%Io-U_~iiOx0#mRSV.b9ADeA,f}_r2\mW/Sp椦p>3u:xn [6vo6VB|Y'УxbQ#,@.Yok093lh].%RyB8;_2ꁔxG D\kS -e*p=SK/~(JP8љ"q(m?ڴOL8.V̒ԃTTkS/a3룏hTOai9Ķ;0yj>Q\B},Su-2l3[?{rv m2j&^}Toj+ m2=fSbayj 'ǘ'@:L'}lwBhji\ik}>>qR<էK` |Y.=4͸j\MN F§gsSAj఺( wq/,kS+g!lMGƈ;%F.tedxɒr2{]x/h^}]KP(ѿԎʥ,nRtY=s|笣&k*}]&գI9FMŌ110zhV};_ 0Q. +#~0^ i^5E#r}jǴ3;jh-4_G20ED)9LX'xߏ2~?)7$F{i}`XO1qz~2בs jsEYF8]xZ&"O믻t5kLӨ<4 AOPh6Bg'{agInmqx(d@bT(?|vS[VI {"I6<0@P7BIWH)F O1 Fd' r H핿eq{=<U6k[^`567+TݕE}P,:wzi_5}k\*zJk-j|֥0LBwVqdI4m$ud\Ycao{hug<t [tq"9}~hJV0IZv3ppVS-G#8bdq;mi1[,H'x/؎g#y?H虮;GYZ[⫸LG^^eex(g'^>8-Eaj#sU}d)˭~,y4/  H,#'EW1u}8Ҏ[ ވ'3چm}N0sjߌv& ;5va5_ !Gm]$7ȼ>S̤qԹs*xܗXg.)|X13=L~Qï F,eQ\\ "ᎅ/z˩!R?oU,b*VT́H 'mzMB6,CzW\dA֨P֫l*9ssHP ]j(bh8S8ZbڋmJVjC--e[:Mx _JY1ja"P~ng,#!wˈ]s(@K1%.־[آAMZ+=NLŽ4uP  dUQ^.Nң %py4%滀.3R:˜[lf`d-I5_bECv|~nz:s @&73R nŞ-8Ou,GFvtEEY |Xc/iS-JEQ9=iVW@j/];BtMU[8s?+z4Rlr(a'La =,<%n-fa[p[mz?e 7B[\u!4aеGY e7p%Ng(7!7"@S2B"ML+ B QnT㙍n I0R.2SZ4t-:QEp¬ rE-]Bl٢كUIڔ8<- +2t8 ]e79b7=OzK펲33*]N[kٓ&4dhr[,gF]e.植dNso9Ss\Be)0JڡYt)XQ0wI%AY1"VOU9 ?k]w߉Ohqp ~N&J1787i3AՄv`>Z*FmJtޖ=LX\'g>hkh͔ZL̋yYB7T [yhYXQP! hſw7tfHYM M!F!^|$`#H݂)pE]s.M"q'<6:~YX-o_ eS= ʹ'D2+]'n_lmp,G^fll?|91|7ooZx ^fi`qP/t``~G~iaY)r7ȍygChK~#F5017D \6n% 7i">`RO*X 2[l'bB/+q?Nj М\,jD)eik]Z۞+BiraKu%s,]2J70ixX  KJȏ~Rau(p/1G}+9o1oξhc$:Y<6I:Y%`RTK0.^f6,(K.]3KXʝsafׯsfd ^}(a(0;gzOcI2%)$<*pIo mnK0w`P}+ߝm>8oUB}XkaD/61i6.U72n#p^˾\owfC_y`eNso+l|aN觪u:g4w2Tݴ&e C(BaD{ >䅝1Fj6Bot%tq ItHث҂y/yw8-wCV/Oָt'2!zKI\V>.7#wHD8=BaWόI*wr/* n~l1~ (# ]:5v%.>l@5g!ʨArJ:+h믣T,$Y߸rt2 Jڮw{*OAOAO[zu Ec]pQX4?Ai(DL3rC T{}gsʜtfht!Lkb/d!19z+~F??W׷nڥ  d!m0ȺnD{pըMۧ F5{\t2|$,[pv8*315(Sh׽&gJӭ c͔T.pwAQ.-]a@gI sg $2E=i d=kȅJM~X(dD1GD8 ~}7#۔ǃN^-h,r~N 0M% Qh[>>=RKkfypЏ]ِ>EN1#B5L) 5 ~A,X*lFtc]J|4݋'?hRArѓtBw̵H&$5-_(ēp O'i5μaU{U%liR0Xh\A2c`mvH7(Ɩ^BPY6 VR`\e0cx w_F4< oF8Ɲ gw'C 2bOܣ557"_8b(R%m<f1;ijB6E CM;v8#]lbP[;B%\6`#Ba Gy!0+_ >~T дqmjS>avj/,ۢ|0$yD["`֨FMS9?:4{m SJ;q֓퇛qNS),JRuȫ,%32]n1SmNdv%ԥDu|;-0H^R;Mgq+bၿu[3e+]|b0E;iNSB: Klb`3bWq' AZB~K-ni:bmG~4)7tGL ==Mj[_ːExǀLR7C-n\UԻ(`` ;ܛr'~ v&H*[c% }4;{%#.&-yzGˮ 7:\; Ń}Z^cJӴZW Hy`zt[SY)ΘtMoыD|;Bw~uIhdT_ ꡢ.)mAk]T5:;HD:\9dcԛ9o㶻 cq=ݷ\6,aE~m;}\\2Gqk lE UMl  Fά Vy 6b.f8YՁK{ڄj4zё\?_jQZS kA۲?r|Jnnk-ﵬ~46a6yzt0O\ϗ;u_F.I~4~%+5yϳ^vlX Rra*+|{ϧ6s:FSu\}m9?^goaɨQ9G|i|egT &)pCKC5>.ƚ׋Zt U i=ӢPJo- Z:Ĕ7]ijX">Dx"|)&W5WNKoǩ)+ WQa$5ӞO2E7hw^M6҈!5拹q/= D2)_wƲB7}g1"Z 0X[{uWHdvO`\T еɏ|u8NIJXGnLF^v꒒ݭU5΂$d.I}CMH$D& [M*ڔ.1$Bg+K.!Yisv0Eufynᴤ9zz#S*I &.i]>~ ̽lmI?~n<ԟ{'JlȡS>cϾ_8ΦZPtF[gץ5M2L>۱C}VAVPԺ}Lu!+fsd_q\V䎰sm[R"iE`bkLJPyCĵ CI(=f|5RJ`۩r]a6!4w&/=CMcT%xٝ)sw <2M^huKFd'oVy!俌j3pkDoqc,_A.=Y&U7U bf*j+4,, qj#9d 0BZ_y_ tR( w% =%5f)8ʄ o:gXxf0=Iac.׾KdT`N;vmEKyCnmf@v-a䝭hYt+0\C o=~ ӓ֜2OaNW]!p 1y6v&AZe߶hPu]ij-JPh#7_(S"m8DI;4`̎mN3kfpqe5U"pö!Y5xclzW ό}hb~BiD]0ڦp.οt;?$ʟ򑙟;IϾL\)kLڻ ^lݦ In_4(f¼]B'ݰރ=5_,enNb#倅-qԬJûFt)ގ&lާ𦚕 =`fCp9*<bzҥO{TT HL;1]ѳdZܙ P(SblI"h Wǃj]$aNٓ#`˗O>ffn~EΒ}/zywˊ8(&oi ёT$;cWrcҡ8kvCO}5|SV_b7.Q2Mh};*6>Lα}+iZ a u;zCY.Y:<:~ 33A[vu3-"J3Hu@Y59Zh]!= [3' xhfYq4?\ $qxJ\r N;0`=3;i =D,mL5FT1҆BC=Z^v8FJ}J(efd:'UkPpP"/{_\Yuj#FT`ϛ)STz99w;HtgPjٽz}ޝh$.E(b|i7<]u"eߘ`;D>w _2FdrMntzy+@Xl٦­{0"ΡNMBRՎjta:!!(īOCJF!!v@?'HDq84ѽ%81p>*Oۙ)@E"*ԠD/f`w,9/;vEe%۪څ7&*P~跄rWTގt6H/\ȻcG@+aIv0Q㫄E>Jg-c|m4` ,yhv,I~2ĖH*ӒnqFPҪv?X-0y!(ms[2Ho4R4K;li !p2&ǭ9 3GgC@mS-z5$HvI\oS} ahcxz`q^Hb=/A̒MmMW}t\@gИd}Їν9s7LEqHQJy; &U?r"8ayf.P N55|@`E2g*֣@ -6>g{0n*TMb.&r2.zL^VcMd!ȫ"v z濓,~jYXF8 ;]ߝT^o|jr &WCj; 'c<َf+Z&.#蒉(b^XNejͷMj_ʩ؊r κ 伺E݃耧{'T:j<1Ckޘ ?pLh; Q+i_d+"*vƥ0wYH3ݱg LʘyR"hK4F-ŽFgBٮ.IH*5cVܲi"T+< ]ngYn0ރNc$5 \EO*ҖU;xDDc"XfLu&_kxXc gBT^L6)&\kNbd54$`NFmV,4/v7 Ka܃~ c(|)* h{|LiA 4z'h7 } ߎfɽQDrb%r^ErKC!'zA7]yUfG8"n#GVpD uT #ޠqξr7ee$"ֺP|R!㙍LIV48o/⦷_yhO˟j0),(1yjI_HKcY P6,S۴I.nE Ahxv7N7GC˴+# $iʸӑ62? a>D Tgi?XT\5/dJ ՟ߍ'+-+ B3 BVNO;풴i1V:.҅^0^b4`j_Uk/N*+ևP%ynj[㞁)8{lNVYFT\zSe3]@"ܖ˖)>OZ~rN"=>}I,![,S*aAk>s꺙"Zgy y #Y8 Zͥ>7b=k [[ +@񢴍QY't}ړ)U{g?&ʝq^XCdr $}{1oSzNA4 5 _34h֐w n|IYE2gCNȽZJbLXXW- 9u:!DR'++;.}Uke!AFb<ȑn7 +ou2xmj%5M(buuM Yض/jv;\i ^toCBl_/5 ZNӘS 6)w|"x?F:=# I*K6 ;C=B^T r P@ĴݷٚD%?a H ` ŪpfI[~ h9aPA dKM[ԒZCivnpG܅%hɰ@mblfK,ˁ1v~q>)v5gxZ.V9..gMDue@*E^/@w5b!x% ێ߿!H\4  nTk߅P] 3TLƠ.JKlYz5T5_w&y3 Į:egw$)fƲ:!=;hH2qߕUeA~ܜkؙX |9]Kf_:3O"HmCEZw=!ʺXMﭡ ϐ,(1a9SD俩/Լ{FTGQȇ#Hqd/ƪNL?/ke*¦:B})BK"5#`y`d 0桓Y*'MEƷ5ӎk8 F}o]>J"&䞃ԙ! G4 'Gk~3 :&vKgL cٌ)i pœ/^~i)5K5`Y -Dh&KozL:``)Ig?( vމ?B` v ھ*v\>$o{|ϴbؘ۹n@9͸C_Oj}!g{;QyTq|yn +Imk(Uk۲U4&dR=g,[꒘?1f[+HzNRwn|@UW&Ɓ;iV^ӂx{͝? 8WeAeXz#Y}U9>IҸ٦&f;r*#zz@)S FF~B3Fd 7<qy,ӣVPPS9̜D6΅=a~EvtgKRd|})!sQ: 웊8Lx!WQ)*]PA%v:2AXKzu ;9P:+J>EQ/p!OP-jfuSྡWQz&9.VUsVc7$bc}.(xDt_yVz!X )v+wgTFf'UMaIB I®H *`蜹HBZu׬ޞ#@i]E/p>pP%ڋHҚFt~*b.=ʎR.F)AKdI9H}P՛٨= QF2GV}Hrnn(J -Ţ'4~©L2]*`*v? l8'KJ P8UAWOU}Cg]_omUhH"8~o'aPf*l 52s4cd.mÆ"6:F|T`d}t1jBl!A>㐹q-+&? +G`m\|j .|+e^ m:Pga?nm* ̃Nͷ.!%}_qЦscS_}ヲbLe݆.8>u~/V~j9xzk:Tfd)6@,Ayj cY'1K3zy(`?7*sdV[oFAZ5U;=Mԩ'%xNڛohab%ڎP%z0[X{zM_(r8zlU4O $o ¾jWگu_b@ܢޏWfn'z^S:5Q JGdLnۛ$!D0ݚ=k>ŸkŞ p5:Fhʦ()zYXSʘ+ %KQ!,G354=OwתReP PVb Bܮʉ,hL*qTG&_f գHj|@N$3 WCj"F)(9pe%dG^ Ū,dg򃼲 ;e/%Ij %cthΞfu2A NSԢDm'I7qf>8c[XlF[]`x tmaB5htERo;;AH=5 B.&~&&G.XdEW}_7_Fר4v~r(†ItϾMiX-8J H[|Vjn{rm9&Vzfqr Qu7F]d.٦=K.׫9­3'i͑lߍ);bnqů6lq-Yr \+`{f9qkl. kYǍK֝`=jCC_)7+JŝW*s $$B&(K$ l1B?,Q&`no e+2?y>_}F㞜z+ J)?@+ӀeI,9w 2=";L&Ub*cjw {!9* fW''ڕިm2ɗy3].Յrl{ʗ=Z ^7'+75X=k Im!@I9FtotK.D4PS00#k*F nUm·)fLKsnt̤^E%Њlꍸg{KoCTŀG)BY$&rfޅYFΕA%yQ~aT%'ׁcR5CksU0yl'3J!FxvS<ءxP9c^M4FZRi^TًtsFR,0kW%3?rm#^z^^V]MaLRƣmOukySy `af~c7oXmM4pF|0%U;2,]=|IuKDe(8=rr8*r9i9v3G=hO+v>: XYaײ|BAî*,o78U%7vB}y S`첍'K"w  4-;Xoo:,MJv ^.-XfC}n_Ƈ{˵#>x2o7ӄ԰_:'iZYP5A?ARkbq<*]ΆX4yP ADS(jGB~U 7ʯ ƙO?N'6} l4;=5 j7ܔp?t@Nh^eJ%l:ྼys敝C׬àF56|s^+?hb=k.VԠH9~eB!Xo{o(哿g6V]BC"YYpi0YTZ7f#DvvEaA'c4NQghde.UQDޡm],tA/XEM[h܊6c5[Zzs}Oٺ_-JR [@ vcn9 AN5v_PmˠmcR` C~~WJ~g2{D' :J?\!ᨺ;i1)LjijB+Դ?Z8xBmγ{Sh+@Ux'#z j .r|DȞ ~t `׭Rgـ &ǧ;Wۼdlc) E gD$:F7,y|Po .u 0}H"h(=C.—##'|2xtqpٹz|°zl}jScw`蓬fgd$fwb_N- nn.*Hb0:穂+}]ʯN|R]~J9q>wKw٭b*Vf7xDzB;ywKT*j {#Q\kDLD*_fWuTo,`XLulc%:/36,7c?: pIJ'gd7s/0X<4p>DzCeI5)z<1n?>JLSiƓR#t쒦p;LԊ B+7|"SeĿUA#):62 /[v#Wӝ%<//oVE3nLGnOLsf-_/nh1]ZٟErS[@Jb:=*>dDcsuRY',:MK2wLEP_rHLCkm͛9Z%WFŸf=ɼ]CoKrWdvc2׮ݒc^gοX]Iմ[}oΐZ "W$T.Z.;8ܾnOK2- ħ% W/Ti{$Rah$fYݭE&zF/  hRj A?J~c~̰ZjXk<:@xq|qS`.rEfl[ҀB? ,$CG!Yۂ*!X:ձ HeĻ^i # NLhc'VHNYgsGx+AZF-Ѯ\<UJ!{Apy%k:ṠT|HZ9-.|!t );,bjx@{o&qmMFb>X9OCLx|(9 Ub+"yXVoٸ6dގ/׮QB5ʛVcF76/2woeEΡQҎ:v9w@h!m$>S.إ'֌D4K8:elsVe'x11aG()BD:r{,߳t_$T(K1@IOX;es%ĮHfhFbI#>VT0ՇT)YYYjo1^@"re,=Y5Ux#t?ۖϲ]Ym>x'Ȧ=\5&, :9lowAe٨@ݤlJ^敟yM"̀!`mU~h"" .x9z|nYKrWU~Nԛ˫A *AdsEx-ѐ>HДVlof˼aFۨ-1Jj18ٲ;d%%XuS~@J: k>8d*7\ f0G34mx[߶ELy@ f(\͂TB蚽 -!kßB2Ӣ1@CA}O9OE|U&a þ+\ϚSYU͇Mj +-*'yA;ڣv>%X&z]:_O$y,H"OĪ=i;gcGP <;8=ڑfSVkg>vшu;@ȟzcڱE8<'Л k[%>2LF,U F:D|J*HXd)K`ng5DQYs,.rB6iG@#~1rA7ᚗꑰ׳a9QY?y3]1A6%pq^'"ָwY+aHa& E!ZNz LŊN \O@LLsW>&L=\s88h$-}V[{ט |PTt>_ JtwiiaWРN7DEk+fVITkK,ėj}p`ѓcj*r[Ri{I;3ÃsdC:/,̒ 6`xTˑ$g:}i2H~(u?Tʈ\vFUŰG_4q0{e2nÙoJ0msF*"cԏ1=@2ɐo.B;"Qդ$"5CnL&O{X@3VP?=&E KVfUi"=#'~JZzcЧ?| A Jp2Ks]:3t>քK\|i ,vd5D%GZ-RxP8Oi̊BJ PJ|Ivy$NSܡ0]B' JbAg+]֭NǤ{z9$#|%ôsv68;Y%Xf!IZIz>;)o5C3,cD9,/*1]D{t|#z;ʷD/yʻ+.Bu#2!MكU)T:݌SqFqNܙؾ%I"~.͌d+aKSQK޸hF*'CC5 쬼AWN𚹩"IʒuTyI5k CДYlU\5~Ĺ nd-:z.+#vfn!jB!m- (#<+2 #'6^2CxmЕ?FsJ`RKȚP\ؽYYDQ3z{ %Jc{|qpl(OC o_'bOUpNR]S3 ɇ!RadH'#&f(zpq_$Wc:6"lg$ >nCid}ImRlDm_ ]ʡfk0u^Џ5Ț2lM- /MMK5۹D%MӼU ^1'l +*&M*vߠK`` p/Ky_!'g谆(&}x)ԇgGWh<ں] BM+y}DeMnq)M+z+ :-/ůsbr wIe)Y>0o܄)&1hWlg֧UIPߜUr:#_M` JfV j>AUGY {>y:RL9o}lH4-M0al r'k+@wZ(1!3rZ|f U+R)Zҩ4wC}&a_4$: Kg%K.1IE)R^JU{$j?ջ=c&2]~Ƨq: d e˖j^3-6K9V,ʷl8O%Q!cFae9OB)%Yyfy5fմf!j{f$b>PR!4>øN f XzIE+w48ot]խWgJ>HtĆE%^dN9߇ ?ԅMsᏅ*r;oe& g*.3)W)Ok![#8:8-㤔o:R^يh|xqsi;n( a6;>Kt ?qMl4.Ag}ThܭltX ϶xWSOI:Ne@~lKl:e 叁 "TP#.{u;=?nYVԒ%G0Q R|EDUhV  ~0}]Lst,>'!rc(J7mJxO.P;ܩx"Jzҡs|W1Cv}XR2h4b ,La { w5-k;Z ʲ|P^N KCq]=]#ܲTqUE1Km9qBִq&l>B8T]J4H<Ģ/TPhxk?p@\9r`}1f1z‘M]0iwqH&𮉨˜ ɝ/$}n>![/%`Kab HHU}лtRIl4םDn6>Y*YI.h:%LwR2W/WD~d( |HȿJYJ#]^QKt܆/ h6kü=RuX7`3F<-8 ݭ~AF&k>̷ڿ(~a#u tB)騧r=iIHۉ𙝲^ 6)R 8],{p{/[.kX9De>%hIC{Vr aC1"M9S{NM SSrZo%[B^cU'j u6ER2־% }\k9cPFz\ pX#$Y)qE,~ka^rCluqbFuY ug~bOkdNR6`LJd 2GgWU·b& /lX\W2*բ0O4ߍ4]C6I·v؛_^'QL4no3Q=7`ZnH [9[=בбd)Bg4: t?IW&E۽^`.ȋ>gR hJdeuA=0-`9~RИB:=|^ХqbSP*}n(AЏk4x mJ <:]~R8t"Szߙme1J@S.)mt#> LC$5l9?7|sp"uQ3-P\I4K0[GRZZp PB!> !8r yX0m!]>THB2bkGؿ'myP xf? ٣-IrmBYe˱:%<0;~߱]z1]9-Fif\J L~q$^ɺAF&%YwTQQ7fKpW@Qᱵa.;{1Pn۲ȑ[Zh '/_֚;&L=kww<_^vAIMFJX1bmv#A#Q&f0AS{G/{uaX蚊P$Gymq1Gm?W;g']uKMR:: cRc32mzjfʣ1.DŽ̀D!Ln,ԗՠːS3#9z3mA +ohoyYen)ۼ;d(z{<\dZ%yX:Dυc ?r(:v2{=>Z|U%VA'զ&uJ׼|&LօX8ߏAZ{ 8P# _Xl)W@uVAP-@.ɱ$Fo'~xs6!44嬫Tq ,iNjy &\fL*2~C[gO"g (ӧ Ŝ\3jE@+DEI OP"zٗ+IW-J<{ޗ(Ԏ|Fê̌d2c.v,"wK~N)y4]1Ӻ1Ds1NCۃYѿ?"G$ E|,Q(¡ﶇ}۫'4su%b^yDNH@ڗbvL^ A b6w9UƬT{}wzA \|ƊZf|G|Wa'xJi*Gܮn3Ns"m^.0C0vAI%u(Đi^ThmHy1 =}0[e[SLG@SiCI {! M5]ԋʊ<4xh 0E[0.`,o* m])zٛ qV7]xH>]w۫>'Φm7qޅ׊ɫ:w1KYNQ,WîgfVoyl{ź #h_&1 ]|L*ݾˣ"*!s8iqMIfsY>p(d#虒i?ʙg7ij@cP5DΛM4qh3u0E)ϙIUD1ohHQ#apdҞtY@zs/xuV-?mmt@m-ÍSૂpdoJte9p4pa#%܈h&"bȐpy(!2Ybf6誎(^)V2F3eK[~Vs`L_GѾIGb-PM\|$cdbtis;;H5%]y[UnJ@6j1sV@Ȧ_6X+{Dٲsg1Ѻշ[<4cB:/w0R&}~_vq#yBh$nR]rȒMcʜeL8 zU'=[glg=hf.` QV(XB7f]ц:yo\bBd|&yCq5x|ib68J5!yvQR춇}@H$tEå"Nz1LH [^mIa25?Pn9\\.ǾL_1mKq4Ԣjb2!iw7SF %8-jno0UDnbAX0aq0óh#p5[w $9C݆A%~cFU$ ~ͳ[4[mn>x@0ЀJutNWpȶ@=1œM]WlU]Tջ!wJ6c.R?m֤R&lbxu9[~ځJ})#ֲ%Z)Ptq7cEcc%}i"A9s4&:Ʃok.=VM^Mwih4 &n{}Fׁ"0wrr䭛n?o[s]`\MA~I 6,u.^Td5 rj q. ok\IΝWw,ff/BeD;W PŚ)@R%\cE{ovrgTM(x9uxi*e*la`0`AQRGLUƪVmi;chM#|C4ym(/_-HJԕFW#k6/j*}TAyٔO-'@wC0>QS#bU4Ց9JEP@5Ʉ̍yH"kR.|1MUb$^ O#dx;by5n8tf_jN wNҡ|,S sr(!ax?ZoӸ2yqeB(^̢5EysD=CiG Ty,򵩇 i#eɦm=*9S򖯡N?5- `Q1®}L [: * sw/%PMvX} Q ƺ_ -:c*VXPp)]j{=mbZ|.ח3=,2ïfzZ.%zCC[c1O:H/+B!/Q&@RUVcO I#3>M=$aTG:3sۿD߄'+PPsR^y`nyUB2X! י0 $j!- eTkkR@ 847  _b?Cq٠'hxh ^qϖd_l!}2&%2U:Zٻa*`b2*+.SH*rps/lM:! "9}dU8vM_ d]̧IN6S$WN w3:H;ЗRb1^=$3QAQ)}Ҏxx[[/l\nJm6 FjRJXl@dmhcf/v/NFE,-U/i(4[%گ諮WK8Qlcr1Qߘ!(3CDuJ\Z l~0 ׎ؖQF jdS !FH+5(3g/so}mZFJ K]!)ktdhzĕ /25Ӝ DV*!zC3n6w]׋8Q*v '\_Bеa*d͝b_Tbݙ@N3$U/=uWP vJSL7*ﳶNuvVᜄ"~,5 0@=)c~x]5 6#V'c>mNY* pڙLOJ'xQF5_1aWo']L= LV/x}y($QJ@D W?kl^zOդl;Orr<^odԄ1 iąC>`Fٮc|~%<:,u-o{)C>+=֢籭 )ؠ$/n?78]&?>n%{O7Gpm0#^MW$h,ѧ1߆}ߧʷM`=w0QY.rEY M:]"Fz 0cT}sk4F{k^-?omyIr_01M!"oꇡuóiut(q' )00x> jhas²eMxKJ=v\c#[ ak#_=Wv{p>מvdn*d$y+=Si,H/uA"3v w~?dt~E͠a|(=\T^{7PY_Gci7+nVl.kX1CkʾP/ 6bAYt%WtC0㦾2fʥ8'FJ|5v Ԡhi|#JY\^]!>H '?%@mp,Q#F` %HFLHk8`fsxBKT9^jFp4U9Z $_3I.Ck'qUAEHipc} Fe.cNVԈ4% RGv$PcW/ٛsK7ͤΕoC| }Ar1JuuV$ XNTS9iE8&4$ L9&"Θo{WƸC ci,wtz]\׸^ET3 {i^ɷUߴ7hDJ!ǒ܊̛'Rگ7(zpjf쯓6K[*Io[=ǭ;Ƣכ4f(D:;@\%B/Žʯ@_+Gk,1 Հ4튧z$( DwF),g'ǤH[dѭ.NZqkqlN\8hݫ{"Dz H gaL1$rZ Sc|mt Ej\Iӡ.|YC떜8e:L\JdѹMGɗ`|hˁ`Ɣ4 Va=ut;:+~U>],oSb٦=-%?w%{ )i(3>KFΚwO'=6 ek,\2e-g˓[kMgaRe`$oi (g!?2ll`˥GX3]jP\*G(ʶ~#=EF+Ѩ脵s&O4.lf:_! 2;^.1+B͝7w`SULڞHJsD\;]j$n^D Q]>?0. 90 [88wA2F_!*qEA D w:((͸y^g\vίa "mn^eBl$m )`е ,\hY!u.2zЌ`BdX+gDXc#6ZBFUɥ/:N<3ѬTQl=3ג6@H~@ߤ}A֞ ]xLJ=I;k7 KfAH^m R/ 3}0G2QC/֘,|JTpT7H:`u+P7AF 9Ih'nnku/\SrG2k'K*}*e&]2!y:NTPL9J:Vi!ù'=S=%o11G&*CMian:/yayC Y^?C岯æj$%"woկXGn/qT> MGΟahSx@cÝutW>o`m hR}cYGN&z2m}i , -/ :[4Jpv`ɘSC xr zBi̔ }4m)l{s\''D;Ѽ$Ӣ%-Zsh;]f|iEzW(P!L٤/"i+@M&+I h( GPrA82;h>ԙĉ"j ( ӺYePʄQuzRv'M"M> i7yјD!TȺ渘8Ke= D"1MJ:`Y 兩2o^/Gv|Xd9L 0oCAQm$p'Es3 -9lPlh6d+C}$/ύ/BMc~2_f,Tԉ09_ݱe3wdd7lJ-+|ZZ9;~bHGFFbpOW@/3&LW8A?*D k^]V =D}i ^}j槇c̿Ns6snOmTvB3 SSY,tV̕ 9]/ G\1 ف.#hWTgnMa,ßk-P| v=fɺ\[o(s2r:#!d`fU0MD}>`㚽-~ߐSJy&vscCao6E+=6<=r}VNjK_ 7ټGؽmOQ4*cKS<(?0`Dʼn*d[gx.5N7LQ%a&#'1 Sτ [q)kaEGh,#j/HȰ _baDZ<T:MMVӱ"k:I%|pE&ͧa Cg7S$Yox`& e5iSײ+R?z&r,y3{ӵ{?)UiXp_ 0aɔUK*Im"~mQϒ+GͰ)n֚?$,%iԖ \7+>r]RBW^EdkVvDݚ\/ r9S8AR⣀{g'@qS,h 1b KSp,#:Bum`orЀ\n+]*(Wy?^ {R܂3o!3*,'SgsY.K#wDl[$8HxջHCVb58pZI"SSO5 J0,%áy0tK֙T 6թZa5\1mA2.9#(JpDjL4wN0A2pҶNx\0p&CMM *{ޕÂ}'qBg߸lhkU>{JY\ _H͵E pmd{x;UF7h "cSTniuM{j˩`(3?.a'0 a{N%gV,LRj?K]NH3jgyCr8V!;~Ñр # H^N[9!5.F1*qˣ5ߡۼ"iV<|?`(UXYy!yfN<.n7>Mh3sxp˙k/ЛEgh[wu <-iMf猧re 4~!nBP?dg5cD_VZtz\x9f﹍\iqsGםrueM>oP-|t!Ng`|wOhYz#f^$D*-[, ?1\ZkRzC7;g9{=x)۾z; z8uD ly gwn8kb> lЉmhíw{b(/=I閚g# @{NJ]QJ1CIS)яñ$gS8.bI+,$i|jxk:oοrqGo[)Lre6m2~+w RrW/ݲ|@r =Ec݆j,.Fx;GJ]mE3cA CEX 9 w*&h>;|>h3뭶?CP$Ⱊ+#`}bw+HǬYtϭbeCIܡec㾧ys M!)@؇On:6.F<܉Yz69wY9\[%O+4*PP]@rMC@uJn1yR 5ੜRP5]iClxvx͊~u]&px[Kk+'J2CtuOHڑG!]hd0騟 A.`5հ(L(cWq8H2٭ W3t @Ҳ~2VŬd]~lG1y'Cu@RM:!$G=R1dG7ۦXwL< xň\iCMf$oed7ci섺WfZ?Y3PP~C8%@F/:a@PЇ9Ad̈e8+19uMrR٘{{URpcކ;2V3cm6q #1 [%Pm!3Ex v]9:JYԩOs'';aAs0}܊ZBI;*ʣlExgJÄk1~̘1۪m0w Ɇ+6 4JR\)^F썡2m?\2կ/BOxS|ӄ8]?3*m륚z؞U,P8I2ɲ#?!.L}t.ʇXiJ<=!w :N&50)N,b ";OjlmF·w!'].zn4;gPdKver|/ ο F{qYZs͍G#ZmS*:=K3PmuVǔ}:e=Qעpi+84}\ H"ɢė]g6vNeO6kETZ##;wqՈn ;z7Q.Eb677ZyRG砿 7= nT+$u[h҅*CKFsj,n2JFB u)fME]>gL k_D@y`((e$2'=$!Ģ 9>F -BS3y g`lty燖r[.Bkޠl6w7!b=  4 k%{xV6YnJtΛI Я MI n#>A1Um4[nEa~^*HBtz] $%H,~D"ښn-a\%׎MmWPpRˈF)(?.1Ag䷵)R5ʶ NYl SA5hJZQ,g]K8puTbIUf og!) 3',B[n&qFYHGQS{H‡bq!p16=!w_?&Tt(^bezHRٸi*{ wt3p8@p;z >P eMҿIOCZui|s=I!-lzhƭ<|o#/3ɞVrj$N͐9e}̠p$0[ k/8W?t^GϺx˅h Q ߖ :tq1ox)*|.LeҺ@7$We0LTfw8i/(-0V3޷)d(Zv94@M:-\&꾿Fiz:Z]wv ^Jy~S@)c/9JOϫ#1m-6e8PɂNN_/0,&ޮ p1Å;>_*YNC L=OHOgB R:8 RyɞឨlF4(S ~ [%?sHsζ5 3h>=]䞃%i$vQd 1hf`3=Ed avKdqHS⁜Q+Vu@GdӫANʼ ߹7+w0sӝyCnĽ]gc( g `_})Lx U[p}񓯊3 zEB>O~g:Pj'Xp 1 iDѳĤ~T"xIcIV/,G$N(sM9v+'fS]ybr.C缮 wŴCiך2ʨ ,fah #8 |s\JCAEM ς58\Rck{TtsCM(;~#, >"}W.AWvT]\̚d}O.uK plfeXIp?#rؔl&ýf$t|(Sx{(\bҀ0;8.mCpR/6rsҌ QĊY-✞=fSumRqM$=x|'ڳ)>lޢ3ZXe֎4œfJLj['|֐P$wt+˥V'*(y5a {޶slMr;aݿ'=2엥*Q)pXjQWq%8̓ b2'Iuͮ8rFZҒ o/V#GsX%]yR|dh (X/sjҖ]3?R,})G@! C"SԆI-囎Dc4ER6etBEÆyx ͧ9qf0Gbg7]N t 6h^X2//v&w-RBXCfM htV%up8I嶊.p'{E"%{ %)"z<[*a! pj ijEW2bo2[_o?:z͜6W>|WBftpNi(wwYL )Db!ʲg]=2خœ <>VR _f]cF[*6]X'#6`]%,dP6a<+^aPH{08fyV$<ުN#r}`E@1Ὡ &bwn.Ƌgֱ5!ȪGvFȗlHSL󁕪hPgKYYj((>3j|&WjX u#9~I#ºrrnK*Bho84I8._d7PKcۅܙJtA{V8qQp2WDFGSZ^HH>UY5'ۆ)O\2? 筛qaA9_n膦 k/;$WnϞ4^=3BET֐jb#xlKVOaW7S|U$4T=ZP(>;{yA^H6`JBNe7z ]ZKBG_\$oxt$k"=سՎq8W:l ŐËpSHsRq:N|!F1j)[C u1}&llu,d:|)cyBI?ne%Y{p7v:>?(}?w[;l( nFaa0ҙD:|Xw$dR3RYh9 L0TGRlg])aA'Xe rJ`ˠ[m;!Cv+07M !QM$ۧE[cxMJ`#;5>TnjoV;T'V .HyR[mܣHL1CCW+t}w(C`85i>]ܕ/z̐*K ~OCYG ^2 v&ŷ\m_Ib-e߈~qϚqylbn+ᆜx*ͳ4lq.:ӄ*}=~ʞQ;X 'L\< 9N"b]J^ᓨ9v6%de4u׈4X;bY:k/'{4˰-?GѕgOT4 UXSP"qe5fA8wVEdU@gHLK! Ǽ{x/[cXE FђJ_=3t It& xut%Gs"Ro Be\3c:ye?0-`7xqwVs|UIPi6 WҮZ׮Zςnm;HiDfݫ ;P4L>Yo!+5S,ЦZ_۟!֪s[<ҵB[hSu c53\ouNAq/mc k<ϫjO@Zp(A/-PC-H-ڼj܂N*AGBs؇H s s<9†w'mTo}T8B>;zVr 95 PB€?ͰW.QՎI0RZqpulP (خTj6Ǵelj£`0λc+#Ci?uEߌ!>t?1k\' jv!ܲ! Li.hWbQ{G ׅ(/BEuVӝuMȫʔM9$|#p46`Xu1+GUws*6l \|n}yυ2!6JZQ9Rqtϱ?"M䳵)<6j>>(:IC9`خD]`O)8I Z@( 6XĒsΏKp\ }%|@ێcXY1|:0*`,sWgp96,ҡ/0`Q^ޝR:F2 Ũ/F6|܇+xe@22C6QGT|KFe(5JB$ 'Yx*𤉘9/B a;ĩཛ> 9Jz#l&:8Mk8+:sՌ;C6k^=2DɀݖBz/Ͽ"!Ҹ6?~ݜԑnBoxh/Q[O^tiQ q?ֻudHc_$"d 7T W=boRsVaF?*GFR7My&oEeoX#{4o.頼l&/߽sN o\M)!Vz,n+xh fh@$ԷL׬!?ih["XY2j[{)^'*0j ǧcn}uX_bY@w ST6V$y6hKX 2Gs@ZA"Xfc,(E;U2`S m{ΎbĮ8+5ϭ^l4:ӼS!,WnMKs$ձ\lDEP)#:{]I;[='I 5,W71D􁞴oXs|3_"||ZZ>/bt5rNƲTo=-#P9o$^3iFȹv]kPѭ=?/CmyiyX3vTB2Cj+/G OV#4T7%Fm! ǂ-G[13/Ե19;[yYPZg&U fZ"fJ1~y|+<7FT!l]B!ݱ8}M]s̭2}j{uz:RKh6a_`E$@F!4oZB |yE SFbKc|q^ e wW]䎂HHU/cᛤy'MC)/Xt7`^e7}?DZ Wu#rKD̹eÐL徛mVu(b9Pp yDHEt+Wa֕Mfʮ49wfnf?|2m38ayu[b }%s-xdH'mt05o)qo+Wڢia\B^ ~U!_w9F yX@R'zf73w2$⪮7QyՋKFB!BvYy.nfdLU2:i%:u EEtۡ ;("em؟̿n Tt3ҳ+. <2 9_g6#~X~{wCHJ[+?5\? \Z<X1ǩfj6у~ i g,,9(:`L⢖4o+Yo3_%cbW[AF:|>ț*Mi#ix.ihP&\K09EuHJ.HS:V!(?R4*aN̠>p0O ._r"K4_ %t6,knM$žI=9`۪>u*hk>6n!G!mO VgƤM+N?HO&13}S0ՠQ -7iV8} wI؏f=F:j>Cq Iz'ZL'cݐWl2zh&gQv$#-3X98 G`pRgY kv+:{<<WnWkPкgץZ$ϏY״?⪭eDhv FB4B|y;Nk!U~ާ{1 ̫ Uk9. -B}NޯEp/&$ Rtcn?k-z!)`oef)Gsк  Ǥإ]FbYM"a+.sL <4X*)j kңҎ@ׇbh?2t:0j @(67JM@+&+`OE z;{p3E?Ve&a^[˂jqxRp33̙3OrHAC ,OO`V 쉃g Ah c^!$f# ˯!SQ + "~%zn I?$͚`Go30ҥâ%V.9!`58\T u7=58^#s! wG\3s k  3~5:+k%!P]?'G.棔)YjVt ^(LUH܎QX/XE'ɊV1 L+¯ 6֙u$Ih$!2m8dTc;LWRalk64a[cix" QU$"{{Y6vE$ )b!.)2:.Jlז%8ZdR 2.̓M"FQPRc/oVR, Sg$i\䓀YYR&تA.A)s皷ds;n ٩>_Zg5.\I?4 I|O`{[|J!O"ڌXӈٜ[_OV)mq++{cϩঘDpK B cYI>>2<7@IQ˓IꙆGi~#K5TBvA I1w3poDCt.h,,."> ~<dP Sn(K7л|R/G]$s M@:FXPJ Җ(Vk]ސ˪9t.[--aDƉEpX>:wc>XTw |;A|}kdԍZ"ʆa F |YRC:Qr6Dz>$mjSV35~}$jtA$?o[%fb?ek@ҰyX3B$XxADܘn=_hyߤh&> @I`vb΃-hw̽;RQ(2vҨ{tj c[҄~2(L2}:%B&O!Gl\ͼu춏< JkگO"8oyߝ?Zmzz'*.7Ʉom?jLWdBmP䭏ʂЩR&B%(Iy[Xb͋†}lԌR(nL9NWܬGI`,Oo n8 SU{̶UE{ي C{^lx8EN6EH;ɡnNɷI_,0J%K)9vjdцvzʥ @*$ R?y 2jMļUsx@hBKLW4$f@"?j"غ<&hR$ɣ>Va~;/#mF':WØB?VM+ؐоJ]JUP1ڝ Bdd%PS }3vG_Rkys0eEAJ{>BWZ:0 My>)嗉r!ܜTtOH7D,bzzi#dֱYJdO[wg5rΑ@?⸶aPHe6ʼ+N~T[`LJ@P^'CWutNܠShl TaS4^ _! ҁ>Qy͊e۴gi"w2C]ޕ;vD-cQ uXv&u`"|Yk=x:meϡš`RON>F edfqeZ \^H;tԷYoF~]*X?G)>|IY˄Dpa/i:61/LN+%q U 9ʤ6)(]T_x' 2.L]Iv"IM,i:=:G9Negw$*+*+bwݙin-Sx}a{^*6+PE(v,X#uKԚFAQo_zfR.Z{*m m=`dE2`,{zy< gԛnȜlAc&]!.D̴<:tnQ# t2]fEO 3ݖ$g7Ru04Y+u`Luw-t',"Ե>K2F>`i'FoI*2Vn=yӎ]ʂP}}'g϶<`-B"9+įҡf>tqQ3nMI${pf~zG%? zfy(#Xk'sۏ Gԣne$7trG'J HܥOJwتJVW+kh˸WKCG 33>t8e3T{9KK&f$y^C_^K4.kqp,[}-qn㥁;,My .ϵʋ^80V%(cAn D+5dž״Ca'괏B F nP~sPtc`DL UȠ oUr/H\1wfIREGQmZ(=K RŜ0psf8~d{v-L)GXڅtd>RTY&O Mʶqz CH񷢧Y_v6zwzaJ1UDcЎPN|6X0A Ő9aZr4r"}yPI(iB@ 9~Mcjsi%ռ!sl>*_%FUü3D;Tߘ-SA/`:iT_RؖUS$J9CI=[$ 脰Qpn4E0ףwd2:<4ы+-vePn ΅M2j;n4[Vg>5SIo1lo<\ݝ.'>`?JMSgʙ({«"HH}^\+:iawӣŠޟ+Z׎6WOgsS98;!`F CʖYuܞ>_35\X)7!(+ebGeR(PrG0i} u'݅u愵i˙bӠsRXW8? ArN3WnX>9 ۡڀY^Qfa-9^fB$? OC5u֔1äkBr7.R5 0qjCӸ5;' 7 Jwi)8y+' n&K`ޝ I RwrVdHH5ĵc5a/lܿd_B=16̺NOVT-W>{ !Q13 h?“\PJ!f=*Q?_~~ek!Wn W!Ԋ@6IJB"(.MFzK{ Ӌ#ns4{ÂAATG@@!|(;0fAr KfSQ*ՕkdpQ7ȃIFx./Ö// %"3aIJU˜/O(kliu-7Ѽ12 z`pH3l `=fP_xHG'WMt -}+ ) lrޞïxH{7ĸHMˏvFH ir΀Gs 1LpǼnq+]u]h;y),eT#&΀9mVJ ë.B|'IĦpz$,Zx}GBٿ>:$lR&fL.٭1 {׏9]fL(D|5 *~N~"m;dxmFN_75+e 3E0ݏL$n0d^܌5b6*P"Y4۠#%O*A~,\>84˼ѦC82C Dt) f0&o<#MNH0JEeދDJ9)˅Wh!?:o &r[]CIVU!68o`rHG}YSU^\_œ`y}BYE؆e62= Œ/̱ShFC:\3po\@2BƖBEqݯ)JaXiɁ m(vcԱl!Xw>&-rPP@!8۝ʍL M_TIDfs:'C0NZE1U#;%Xpi^|R@=d;Ug=az%C(%K=!ܥz{C@rHfk>ܡD,BHHp)Wޟik A]A}&r!95q/cяὡHS^z\y};jnns!!AjzqLr!ph;rDu7:[Na(2IIDX{!7*֎1*E\,e4V9fSȝ #+ ٸ2Wi9Biٳh{!CHxA'$tծ]&/fnQFq|ReB~B%dHckN9WiP-kv28spZ]"ST\q^ ym&R hib2 -6$Ji-w*qWW=ͷJϑp0 ,w~"On vC&NQb72[{ʛ%= wU$QA&ܨgJ6QޏlڬSUK*c׬u:Ard0쥂d'"gg4mRE5eF'}]Rx8yH.˭nMx\RQ5Uq(9K#mZwԃ:Y4?8=rQ-Za\Es{_^wk<2z.;kSѱ9<Ć;)z: ʄ۩W9)aV;[;as?sJzj0!gp~~z ) ڔZ_6= 8t(UmzpQ/9Sܠ8Xn-<ʚ]-G/#Z.C2f3^+ CX3U<BJW{*-ꚋdMhf< }0Ri",Haa^vQj&fC.O`ll=m+67OiW6thH]A}[Ռס XmDS6LHlNt֪lYi/IxYH80S7蒩.#ۖ@nO=Ud _ ;< 5oj}f{8ʅ}Ic`Pj$D3lzH[L[Pԕ{&mK +نwb~ƉhR \wJt >g1uPƱCFPOt1sJfkSfU:ك6nTw$:z29ߨPO']X:=IKei96A%-dV[߄Q͔sCquHbTMS:kWS#oKj;}/M3݇ȭ tO2NKLpSsTT+J$˻ By(2} QגKc-sʚCQ?w~h@& YCP4A`9r4$fAv?g͡pIdIлg;<)XjUjJȯ;6XiZËcv0R袡շ# ZQ/nTbcdے=*wM2 &G找T-?}8_iDk`^_*-V4RCc(W_;*+$4C:)-67c!aBt@|[Z@zi0oQ,RMo$WcmV6Wa Es[ęܿls7BܒV,hWto Abv=kXƪ1=jlaڛ}7#0}F8r?),!ߓGIpLÌOqow]Hꥸ/ V【"V.Zdqig-!ڹV[RvK%gr_d{w3Go՝_0 KGY&9}#(U_"J]4Ca޺LTl(/B2kQZk3@tPݣ-(Vڀ,֛5Xm(䳀f)a<Ҿ^t׿Z+ڽܵ&5s.ɅXR?ΰ/Jus*L'x"p<.'t3ËAbDM#z#8:&p4/\:r{@akQD*3 {ڛ0UV!^~&ȆdֺjJK+iUXaҖR6G`O8@Qs^U,b*%<d;BZoBKEb:f:9q5NTŗ:O(T{Օ˷'DpKHg,wmYu?;/ꮣoјX* 2Gz*ωߓn|WT"[R߾0y 7X?Q Lp8J<`@ 6%0}t$wy-ajC_&=G}sAJc8r'9 M  CnO!aBb؞#>a!L$4BtOp"n`Ϯü[w ..f2~ PN69)KǗY4R޿Y("rL%5A9ٻeZc9A ̀!)~Rx8܅Z- $;p i,v.d#}i"󰈍l^a^=c?8-.^@@ԊChXdj ֕g>Z3 Uam3k@kd's ̒OknRcD9sReAkvH>76BQ3SY RjmXs ҕ7rf}kSIpc/3p!͒RBs袔򮫺Y%!,]jSWKЄB.`?I[ywHw} (0:"e|eoA݄xPejcJ ~~a,|+o ["d>׬Zqn2iV zf y)h_J:=fZ}skTI+sJmlRI. %7.lV(nH2,'N3=Z[!+?x&HZIAO /RT|ns`P o%hWBΪ^%W0C/nա6^G":BQҥ}9x_/Jf2hü^ Y␰hD 7S͈qղ3Eb~H ڝx wG77 "cJ`/4Vpq֙FDBC:y5uCehVi xq,ˣ(G _/`|tFŘ=:¢jE됵JX|̮E wMe㨶Eyކ_60E:! <:$Xt3&b6IrƗEJ gebhy8m' %8rm&ƦCsxPTwFO_RS" YdMZzz"Rw grO<_ hj?"33C"F |sy.<ЧǞښԽx w㨥?hRMZ>O6 $4Ler6ȿB~C^-T*o]+$@đIÝbk::v-;Ke/DYRmI[I9OvB6u1劁{hʦ]]鰍>NmH$ @ JM`SBH $~pͼsö́U: X j9(.up{7x|&9iP.*m9OlX,:(xcf ׸$7q>j]KM `-舑ƬR-4Ms.P_:cM;_`$K"reGUPÓxwWV䑚{n+Xmd^o2U1LVzx]I<cYhf?p vNr٤adQ!)T.~|,[$@Ɉ;vp+sSq: `a[ &6C78F)_ikaf ǭEDMo X$;<{ 4*X ?KB-{7"k"\87I929 8_~"`u֒&n0˫9x"V7FE \8/ʏ:3M$  W oY&t9958mw` W&b:j?AuC]xEϔWA-XVc`AنȺ^00U7e\hP\ >\~i CM%O< U.)s-I 諮v:*hp1渐WNd$W+׿9=7.d1*Dp6aPX2V؟b6-T^6QmLS[MolbgњX[$Wj!0{kqHS>XRVvYTݖ0\~2zU .KL' [hFpckHmjml׻t˳u#-MwP6@X^'},@sɆǗߡMq5S@2{U0xxsMag_S T8xfBCM $d_KX $ZRp]l R%M؍1 Ec*<ڥ=44z Mx?"VoeWxDPG͓ .l)49NAxL,$pxL=)ppY@ tY & ]f砹ޅ3Qe;}o+ vK_pAQA:9ʖ01 7j?JNB zv Ry͚!=PBms42)Kgf_~xa U_%p Ӟ*->=G'wۮ^,&z[nZGPۥ9/E 59Xi[/fMnxDvO{- l##o&-Q.Lcތ{5 <5Y0*e5\a0>Qvtpm| Ɵ v!t#%50Ux~]Gc:Ō do73J--x)s>*R5aAҭ  qF5QMfDA!>ME8p'¨@E>>!P[tTTU`t@.{3hylw^H1K5cqWK²82Zc9$:wdYK0:#&_q̡|wU9c]aJJndi_zSgEZ>,%[lQQ k]tuxwrv^ 'IWG>hLyB! RZ0FiL)Md;^Dzī`hhhvb^ 6 =wA`DUw,b/e:0Kw7PPP4{$_iB>Z"|V..f#$.)1oSU3,zҗÞ0۰4hn>2i"DK+U1ymx/ lst#SZz4J"Nh~=xj4 GWyՂv_kXN.:M̻ ;f[KvAק87)/Hpm:L,ZbNEpK =S󘦡%sKHS ?{f ? Pz2H&_"?rO yE@@?Q)禡0ۮ ގ:Ycѐꀖ'+g^/t93pk1пRo0dIt- 8ܣc+@~flVziOox3EhHnd/:PW!w"'VmFL^ h|~9T*GٹTau(KTSVg魞߶l`fEZ{Fs2*Hs;oyT)#~ 0Z<:῀7U,vnH:j_dMȑ=R&KwݍF}iN3XjXyOWy+{YRzS܅IC߂R͸6n[˼>ߔ Mڶ7G}q7B6aҲ2ZTt+f”%}AO!#4< nv' XRYL|Lbټ؂Gw裯c:Bu1#;kU3yE~`@A[WS]>gZII+iPErřڮW}ij>YY~X/z`#a.&)R35WtIO+|kTV?G̴Q|%"Ec;ϱiǟe=G#Kx{_wܐe+xu!Nzt:$XT@|}j,&>ދyr,7Dq"wnJA\۬AqB(AYJc)ЋbU_hMG\ Ta !?T@x:K5w#0|b1x+ UpP4 ӫ:!!̾r=}D'Y{{t]zqjS2&Xom@kbφ_NG׼jAFMgg[{+FBpSh2v$CzG )@MPiX {._}N=_΁y<䟘,ih3HxrwOzxX¿ f`߇[Rc؅pyޏ ~="DUOKZEɾ>Q!,} UK9o.gux*s~y\ݏO5M f⼰t"\l1!I==V59 GT;g@ȭ69tRh:4]*?;8 _|Ҥ]e82z|3ڠChDOs>A $yq|G@j\1?7(Zyx!MI`[)K^iY2亶sw<g0//{4Ú׻:{Xiˈ[ >zX%ad^ǒ ©S+݄6y>K?Yf&D ٚOoR`} *YX)X(8XN0emDTo'op \/e8]$qJU?!(,-k]T*Jbt\c?a*j}4'Ag= @?YU< ^E+_s VԌ' KL9GE hb{Q= Xj&3b$cFԎr(C?D@Ҵ'IqsV1b@fN͏c#ѿOQ+0w&YkCXlj $\tANz|lA=uHGw@oOͷ߿1Eqo]N,V=X}C `7>mz $iA!j\-WCCv#f%,kM'-60+CM v:#)ÈՋ v.7vᵛ q tm[rc5*e_%ՍΏUZO7+줇- -Qh%y(4Q|R pNX5cwtzjr}\AEnH7Uӌ$1)YSŋ85\ w' k▅ S$ $ɔ}fª:vNbJ5<3ngtϮ3n禍g8`ddOBZ>J4  էW )my4f(d}2Ġ1}Iπ% ,p]=i}'5p.HF2e1JmJ}Mȃ.gZo(^{q5J놻 Bp\n'|@`cYNVd 9%@=tԵ/M/ظKm<4R6xHeyڿE>P;6U5@<.NJD@kz$:%kFm3dZ/uψfޙk(|"eۋ2íi;~'ɽ+l^Oh̅jupH Q$ȶcm׋U4+=7H3Em@}ji{p7%jE^Nn<aT$97 SKu:ʚ_zEܘ"\TVHnz 'M%_wO+/{)!c E-%) 5f9sts'}Z}~n&yV% }q>j D  Hq Zyq ׊IZ:g610oS rѨGhs@R oV~>A(0 F7c{ Ecutd`N">-F !LW@=9`-(7#Ro⑸LJj7a6Zbֹo ;ɦ""s0A.0(B{wpbe_klM~ki?G02pN]ྊ+O ޴F1JW~F儬 b^v`Y{EHGM.OTGlh /sP/' 6k.p ~8ɬgmQ&lѕp\;I­}װ% vheIb4DZ%\TjɠDf8!PcIZGٖhHp=g+t(/L]8姊1[ l\Ŝ},3Sq55VX=/[ޒk"&5"1dkT~g8;ǰb,Y7TQƠ |]l cF- GKNf͕A<\zB=2PUT@pAeMkRp+EJ>2DAPxL{5NF`WwNr.0Օ&PNE'm`32t8 {iIc:p  B W` 5BSN'sC:dV1!);vs,B :7Vlv΋qdYU#;_/0uKn\`Pgphz\+|uaԅS/֘,;TsJ'rق :k1IfN҂PҎR"HCXDjAII뵶]oN}Jd)5m~FFZD/A0|{il*wL%^_OQ7 'Q^,ABwq7{ iB՝I%eߚm=e|Fm;-#մ<EҜ&XY6T}J(^2`3O/>YQ,LZfOCt ʺf.{FlN?zّ18yM T{;fEOnSRo[ʚ=;4ĒY|~ 4!UߒPIB,&=Vt @\]˄5Ө> KuZyH̼40qs!D>C*D=NgXE$Fr%]h҇m9,9H`鸨-]8AtjOe!Ka5MqDrEݠ.~!cJDJY>lw+9Ѱ}$; <>U9b;so7Js[KpۊNMbaXX ҺSxThp2G@Z]020_e7w$CT6IӮ`JmB ,.z_C@x&hb9,3=7}5Av)'d>kz+H0UTY4'*G&ոZQ0,H=sJ7#gdU!Gҗmih, M<.܄Hy:cjcr׊ځh2p΅Rp\=$I' WiV'O8/}#}^ \M+0d\̖}PI#+ mRT'¶Ω\? >bB4};T8K+ V=s=bZD]NXvt^Gt_S yD}0n 0YsiDv"ߌa7VH͔?\eTPd okf߻[F2SDԩyMsK¯/57lMQMaJkF(~4|;M9B^wjPSr~`} O F>T_CКnl=tZ  _VjHBզB_۳Q&3jBH*pq]g#<-S˿罦Rf?fO5nMT9"5ϝJZ%CHBٛ(ptV]:ǂcAShqQ9|D~"gֈ&O_z;)YaR(dѵa1 PŒ2 X֪5diYI]f-蓺آ;Hs;?9-R+ut@mG`i p{2Y̦ u^.A[l+Q c 3*ABrDDX_EգZ:ES x_11:[1+& . ӗT[JlԺ #<`4OprKxuJZisA#}&|Юu^糡Mb>sq>&#),gqza囕%Vlߧ+SV)%]{W<2wFL {@un`Gͼ )! rvCHf&q (Kyw xI-ApCe_Dd"e]#v͛u߿s4:o-|7_{:i#enn=d[i'1H6&dH,~x 54ڤή: Ci+6^3#&'qd]1fKѲԇʆ޶pB}wYI8 E5RpL(tPRJ XWiX@ZUU9 !(SpMqR,F7n=]3 FBex,^ [.B *L*loo`TAwͨ>zNI:yIz_Df4eƫ̞ Z`teei $:1gZCd$yER4<{ aLJB^0p |]R"}U˹ 2+kV;E}჻ T*l<%J4Fy;Fnyc ۰N^2aQh^Í&j;|`:U?IH.0' a7|0yusޖ*goYǶ'ru{Ŷ)~@Zi| bײ\?Aﻔ`RE?,)yhFUh6[a_*,(!/1$GNeb)!*C%$eK+ 懒EJRo–e\NL\č/`}R5H |qhS9/OZ xV]O%=\ ܃*j"P=x@eAPIJ_w1MzYGk;b]p<{t% |Atm5-n0Rv32a:{֬XR(\iG tHfDk Vj&{1Ku{'_O #=CS ERQhkg,(y,4!yMw/ ۙ;T$aSni-6hB$$dOķPֹ 4Qp]kmqWu]ُ^ +޵͞nJzkOhnd}{ !c޳,?>0:hIEr-KXu5@x$!h̊cc1w,iMdo r4>oaF b7\0Za%ot|ɰ_,MSBrBIVNdcqR3 @#^K8EfkmZ?Gu Lr`{>nRVdمpHuzlMzPFx.$הɅ2- jeK`eNl4HZRD 8wFx+. ڐB]tjtuD;~(;`*, "5xO%NJL}@h5К%_ҳ>yti(p(lk *+k6UnSpf$ OƲ+:mم1wLD_>C?BtWb -8႐kS7@HElx48j $YYHÄiDժ:CuLTe kxǾOL? d$fja>rwvE(:}T5@eW{9`ڬ&{áK;)bpE1K߱iH\Cn'u[|X>{ڈo-7o5e@8+#TÐص%Ft;HW ](^j"+{#V}OGE d$D!=5C"iuq gނveдQ'(J;»?mQ^"Ӊ9遷aIe]ǡPdn̄=o^ l:jQ.(B*,TOؐVc$'!zO. S#"j\ =!Z͗@P+mPSSޓה5lo_b&қqὯ8 ۣ|o_RO_עɱn6FQo_1}8'Mgl^n#A{`68ՀT }2,ŦAW)!oz29BSˤFRAdPY`m<">XN͹l4hsPK;# ̈́v#gxL#%| s䕻.ث5'N;]_?3=&kU}1UV"A'"I_x?웞MƧ4l6_Ytaǹ'S :[oMrso)!_Zة,RɵoR9)Q~ gGM@l}\epٳy^ 6HƆ;A{Q_nK3]|ꌮo=8mrH3Ab4Ul(H=%/TB"Zt.XntNBrB=hBEžE35ؚ]RԱ A?BϛWr* eGBb"yֿ)$v bhkf/ zho]|z,v|`FA#RSI Zx৷}WMߎOt&5MϨR =!YV U9ٌ_vɏ/|CD9 ݞ_!ȤYͫ-凴%ťE ' ;D&J}rrmoVs@/J&"8[{5a$ [ț: ?@>B&1d|X]6k3tR֡nXMGt2A}elѽG|Vj(B0@3VU^c06eU)i#;qV1]5r0ð-(!NwPRҽ"j:3xY sВe}jg㨆?Ma"Ί=%f3θ`KMd4zpz{So,+LN:;IȖ؛R+yܴ}>.DXGڠ~:m1z?9s nO}Njno bfek(5㻞}Œ(c̤{NqZ|q8 v1Ä1e[XL<k& s;m-[n$C.AlAalQ&*<൸#`W~[;7~&ŷByze]L:%0&47V҃^{tp*6 ^wu*:es5`~Rr^ Qwo|Xi>ZPsa>A5KI$>) dmAsܒ~OסYBGZo}U$V7l}^YӥQnqDH?yrgH`-#`ҩLnEq45~p3EŷH2#H%ktͣ?yAgE=sT6Ǜ9BP jۢEȪ!aV/40*Dɼ'~;v/Ny2Ѷɺ&)Va/Ys:Tn(i_[=+mGNtOe2Lv rQ-ͷЉ~ʬ$ѾJ KpH/_\% .CU*R=0LhX,ڇ(}bV s<KG5f bZ%9O( Ok.Kzߜ9q|n覞|WisM(QL#pq# L C 7׆K Ogc:$#ߴ*+ &$%5od~1Y7t |Ss0#Y'Ba$?;xZށ+٢̣UuCɷl:gu8f ;aA_4mޯSp9K?S[aG!fFj(8%sm@WI&qz(WMRUG+Zxgx萂z]52 f6|v~g&ra?vܔ~G*~ .D"uu sl'㼦xev)'Y]<]ĬD[. B8$oytˢ,^NR^r+q=zdf'hhFz ҥF* \ֺgȳQGlvyV䈐 C }Cο[x~IJ8,-20IQm>łkr<0 8_ې ,wp CnB{d*U@ ao˄}_g0wHJ2@*wۙ9(䮱66嵺{0\r,3L/ZA%O_&}TX. uw `OLH.Jci1kAm=qZ[!ͺ}hggm%tT)Y>Ԛ >< T;K*W{bd]I㌈5GMyм<=˰C j|SFh)鴃hTSZ^#le2y4FO&":k]skt7y%s jF0xRDփڮm +^Df/CLK}|Ho d>T_i,D'zmf;0=Eb\Bo~,`*']昺{ݔÅuh *ØO F)@.7saI<> g`y[u/I00(vL*Zch %R%nLx!dYso۫mp?̓xXY(HA;B/ v^y0$edzd^w! yc 螧Êsi>zG5ۤm#{ nem]q;q6u]pޖ_",>g 6ScۻcÜHݔ0mL-22J!߫85irnM<ǥyr3i•\EӌM> H옃BtȰ'JP#%jSp8NPJtE.u8y6+EYM#1 &Z'E759sPn'iP=N*5^کt~Eʷ^'I\7Aށ e~VWwci}/duHJ,kJ`%4/\Ӫ]:o@ oz)(ta–/&ʄq*4uElD7J }F%y}=J6|3 žm74畩uH\Ç҂.C}Q[3>EjEN3n c22 >v| !i@Ȩ:faD? &՚#4ۅ\K{}D;)!CMvךL̢xyC !4R˗ź3&liC! #}@'|Lϼ_bdnnVDQ4+Tr[9TGWȝ' *1@[<,S4wմ q&0Be=ʇf-w I;]{"]Rt9>U'ZFO̱Y֤i>إs`#FD0Ij_g߻P+^geZH]VT^=H/TȅO[^xzRϯ9rRc0*V7vreBbTi'ǧx6t-.4*fF0 6e&5cW;;W!Ҁ.™jc![J_VoVۍ;-U9"]8M,b?Ʈ9~L>{HOSPB$`PRZUaNޜ()(Y 0+<>d{ce3LRŮCg!k \ꖯlAvSd@YIB|.İtyJ2zn/,$.T. ?2;CsdR1'bd1{4>Y LIڥXJ` +.1:{ML, Jut/ME.lh9>awhJ~Kg\Ʒ֎r #Ka.Bn BZrk&Vx>x5E8fe2N'uFȿHd<#'g=,+ewN!> 铆b a-;C?s|IҀ~ mC&>M ò۬;Vs̠6堕iJB߅9r ᔥs|Wtй,gtat~TPp 2R7÷xwJ]/KSJi{=˫$m/#d!BCR%fg="L]\EZZ]kL@F4]. PHGg`+#!\ۗd$_.tJ֫즨wDV ',z)G86KPaP~Ih.Z܁ =B@ "aĢW罘k{( $Mht%tB洪,.TV7$/E=b6»c1 ZtKlvTi(/ 3L!KVz Q1=#G5oEANNW<+SY+wJ&;޲yVKNJnO>79 uv)&=~7Y@l3cIElu+&2[7@ۼ.Eĥ!d,]'7)X`:3d$iIȆcn>L&j_"x,.N6I6qkҙC^%qq=҂@D$5V0B}66X@]XW:UuD( 7půP^Bzbȅ.z1ɎXRA`}Oa1BVe8{Q)q+S1@wFRMWt\U<\-|+C61]JS ,QCh`_y̐1oX6G`)*@w|Srm~ h¢W6KٟVut5b\Q,KOg z"ђt@Gv QmuPP\E /3Z {}l^6%i` )p)ˠ;U:p tAG?/(E1󯦿334uS B1V<5K"b3a9zz2 bnk}kjIC,,r\͖5dO3.C"#:|~ˬ Q7vNթ@4hpe}~8::2-t>ms:N`MRvc8I;j O_WՅ1Et)tKE.Զo 6C6&nKjs<:WިMf7PEqQp =ԏgE 5VNKtz ܐ|3jD9EJ<1^![4 UV?Hѥl؝_HN(*7׆503Dɴ:6aw؋o}lKE"a*@.=4S*lZc,4w7U}LƎwKj!˚ۘYNP&b49=QMF~$'k'Lo.{YwЏ:81ʈ5ValU  9sJhs_+ίXڂ4LPp`69IJj3j g\$Ѿñq&%f'%fa|@NK;ۭZmItґ"]ZRWrB&sP OvZ|>KBqLR{ T⑊E'A7G!B &sM9#J fzqdOA;1I"4K6H^$UD[s])k ,Dsml@T ږ^5*'5?4}iBwdlp,oPn!6خO,!#i⹱N#ޢؑqQnqO~a|dh**{c:5[kN,Aagn%ySzvWb͔ZVz 8b}(B Dcԫ%oi'zJuՖf? >Q B榝6B 6 qD_A1@.߾ӣq/Uqɮ>&mf#QZ)9K; }x4!*^L 7.m 3Ym< }J~qYžrznL«y*WF_ȳȚ+a-im͢ G2dBW&1/n<u@‚Gew Yu/C8[/[M@>@Ut\C):Vޅ2tgN^+-oyqegnJ s}SsEhu30FIg2F1,.- З.C}G3d<ۛ7m-5 8P&!gr4=x&"}DNOm 22u&Kٳew^'p,-ZHX ym#*4qk/ކCOWv v۱wD3cSfb{f`'Ų$R4'3tAwmNo,YЌ]#X,<T¢R.ɟВ&La%+:ien0銜MN*aTsQ@:@HBa}FGWc=Z MoՖk?"a 0< KvfFVӘ(¯X[O* )Mrz-Z2: hW;qŶc6kpbo0F mI#KE tpOIOA5+uAu%h6xcLl5+X7 XQ?ңe0ʆ,pp(.)#%f3 #\ Sx9;=oqf0ՎI`,2u:1,f&Q _ E|r~8~؊NUT<@wȑ 0QАT۫diҘB@-vC{院qqdBt;rD?dV}0]!5uCs ʷ̝l?<3GJtX8*nZ/U\n!鵫~߷.bVdgz.X|kꗎ;BSuE3G|Ξ_P*35V5Aҁ`?.&(~g"8: . ,lw)v~7l y<%YGU^C%aW@ xRr#Z gjE)qG%[u/7iL0!^\>ޫE "9Xa=:chQJC/4'd M66[vEKj`pcyQˢH:8$&8i{ ywœ7X+œM>3s &1^mOVXQ:_kz? QRߦ~I+ {y9ؖhw]j[Xp 6`&̩2G~N,N(gPk[4AkguŇC!& 3}+$&luB~S OTFiٹ n:Х*ad)(ipJu@zju-֏|-7"Ge`}րC^V}|t{\B m&Bf.eL&MYk+X{șbpקZJX-> 3Y7G8,; 29o :#7_1_'8 SmSBy n/wK_hD)bNiyaʋn&nzLƴiFAX$2q Qb\V"7PК/HB/ C:1W]:1GV򎁡2^ϧ3EwJ DӇ_XD5CrchA6-fSf& HS5%ŁcըtZK2 -Z_aqC(6bʴYh{ ƩP!UV'LWOŽnKFt>T&^VqBh*/1JWOG'8:P^@+ڞD)c3\aW`d{# ̮#ΰV_8qyeEKC_]^ϻ޺-[j5Z|Ir"DxY9LCZɍb#{h$1;t|.|ҤO MtrDc^/2Ot/1β'IyZq -La|Y81eu*8))IW %#}ˣ(N+LEY?nBPKe&,O*"eτKm@DpkfD FLJkB .4TDUJ{~UB vt3.,Ʃyy>^it2]og]fݽ"$ni7i+ߘS"8PyS}'lcͳ@AXK޴=gvP 5b׶zz'w}#}YRԮYezqϷura&D%V0ְ@pאE^%z^֑!נE{ba+0M,կ hmmBضʊ }QY;H>G,XV_$J kXI)\ O^NDf솂l\y paQĹ$f~C_JD\_h qDm_6d/Ciϛb䀖jQ?OOׄlTx-&G'2<:P]EyYCtx -[ W ‘h{ӜyGZፑ[cS-G;DS< u#| [YJq(1xe{%b1?!+@Qh@>椘"h8S Q9D 1` .V<L cR\ U]4ڇI՛ZV>Z:ia]?)]H&ײi1֖2$!sFo#9y|:`ya,澾-vo7͊~6(e$(`~n,#'$,(,e$RJVOI6%7#ʼ :^̪6Ka=k68 xwm1jީ3Iv#%ѻ#D&^+RϠDe?7-T%wW _Hhc NALM)GЇoלG/`n'PЌ0LjzSso33D5Q֝bgȧKx9f=wsf=#Bwyd5p_[@!Q4od?:-êfKh1@: +Wޙ#<ju ]:[yVV%'1'E 9sꯂT;g"թzͲx,0>?d+Yr’]Aڿ@iP_F4`+rbtʙ];ERjK!åj8Qľթ0 DŽgZi%aePK4(n!ǎϩN+Y15a!OCk4. g`5MX8n ?\ƱSY;! 閵kŭRxbS]{Q 7s 8 Sh.w23a_&ޚpE'FZ$l%_|j(> 40#(Մ׋ƥ@pF*3~Cv'SM'; zYTup2RnO? ' M,RA!YG|B.QhiD]5k|JuؘBlkNj.B$c-%}Uyʊ+-}>ŕŸd$\eظςyPZlY ;#?LDg3s =ؕoTjV*[ |X]zyy.oc{{FϺݗ .HQ:灯#=_ ܌%8d8uZ髤sby#,&ݹi[ZA}3&@ %̑lGqL/4V:QG5^o*X1eڋB93p9XV܇~1Ԛ;uh NGv#Q}I90ԑdpM;Ř05ENm-:"ԧVrpw#mWl4%E9qo?6)B\ܡ/IϬغcT] gOB9 8KTZ KgQeXpmU Uxh`jpݒ:?MnJ#E<[KaG>-52V,ڵ/|&g MSAЉNrÍIIX r*nCf"J΀ ,f4mИ'*a0G yoWM=`ò庑n:TaXs:rVҔ($3+/}Af@Iaµ&Hķ,+.Mfb`sF(9‡ᜤ>S;e=TmUG fnAai wr9 D, @EI$gu}~{௄ii4Bč߫l{ty"=%98]Vs=X]6n bp& $KsW׻0 gɬ]ǥw$Zzx{KTEl80!&H閬;-Nl7Dkf`If{0sFF͛P | H2kL%]6Vck딱}i2dNIJ؂R:8OtEnpsH8#A ݦ>CbՉ{.<RZoQ^ [ ډ>y`g$N5|»[VBQs_ALa}0|7^@-Yh6B5P- g±0%;@9ۙ?g6GgD{ew{nڥSƢᮋQ8=Ai6p ŷ\GC.H8= ^ ɫq{vEvGT (DhTTW 9ǒ _^?4"oOfL8N)~:sĻba&Q~Dt4 Ǧ v{™ZC.JB!xOtRveD➈qeě74=>e||֫N4Esq*塚5䔙`pPm2XCl{脽M5QsvKE;{ neG(0mY:(:WEqq_I6XABRmw`>j䀹kkW盇8I݀گAJ yI=(,#&A (LKEłcKHc:D2ǑՎQ. 7ݖTٝR3;>~nvI9 З*}[U+jFA^{@N $Ú::@GTڙ1Vh:- S`VɫKjy2b)N?鈰Ucڕpǝ"%v\ q^{VZĺԴ2FM;'ou 2~5&^Jbo[\v,W|ytDbl cR=6yQF R67%~[lEd03BC d/^7^O{\ k/@T{ R }6썄 s7{!9Yx,4:Б>M9_ho)c+.C rATט<&zkx#k 6tR_Kd͘#zCU҉q-\l;4$X|ԭEp:s0F@ChHa=tH5|ia"b. V)P%ᆪgrGi߬g,oan=S<mǀxs. "l/ZYѨoU^bޫLVE !pr ~᛹i$4K!7aQ:֜_ýFhb$\I=4dBy"GbŐK$[-r\{ji ڝ߬XY12L smGl};mKG[Hq&FF$%t8^'4k L6c;d#oV@F{W]yFqWWoa>;Z" L+\I)% |(;jg?~՞q,AXv`ya)\WE~fZ3rP J׺v%xH$Ĕ,=H6a .bî F0j9 >B #gu0vC鷖2%^`ָD4bRu LPC8vNtB#P"W nFd㰛xr&f4)FRyT, g{<~ EO*\qlVjۃwkVcd!ч4d>VGaآ$~LuMN;[H7d34uTG5:3>8[r~`J)-'MX*Yxզgpu`*"fg x@Ns$xO_,^&̊q/2ւQ=}5 ٽNzw'st e Jv슠*GC:ʅ1tHǻ39؊a棆TeKiAG%)1(T*ig^.73-'η}?-S8B_Gw55r z;OP_QHP<] *bdĴoĖ޾-}qYwxÍ[VYϚ;D up %H5:ʜZtAv jn2c03Z~X_|Qb<'*"|&?ޔz˱mO;]mQ٭Gdwg&M%Ըkȸz/u==#?>3t`~Ul 5` 6ǃB!ISljUL(F[J D)}# !J:g$Ua+# "ОT\GF[$奦,0wSHʾ0̤C}C.uōftҿ\C.\? [H% 2ģ^(Kxq[jB^$j!Q1)-}[kc,P![~`4%^ӵ-/XYua͜j{ϼnq++}l^JW2)jGŋ1dOZ\W?X@(׋ف呑glӸF_G  DߔZI"d!t&eIiߪgAkm_ A<  ?fxfmMFH ^'SGb\ IqX7M&LW<)6 $?zUx}U{y4-0,5~o kr.+VS]~*|B=P!^& WBbQLrke76ꪞ|kk;^wK ; [j,& T`XA(I-46qr#qCݸm 

Qϖj7;f; H=4ATjq=v>\Q_|ƚPpsl\H%?; YLa * bC8'vlZV "m>-ga_&BЬrhFJ)AgL].kdIDJ$를ē"7< A8?”#G< Q-'0}@;#]'8*vj*oҢZ9oL]tDIxoeHɵƖ;W97$F6sax,Q 7wܥɩvSmmdr0̃o2'G[+~@8e诏K J;nɘEm;K9`n Ѻ:PyxLłYd .`6BǬ~ITL1X##>{W|.J$>aNsN fbjh@ԅ;#_*J+xE?78qS.ߩ%-/z J3a a)}wʦgͲZUHi~N&]O0s?t˘qm::j|ۀ޻,H@ ) NBge!|4p  ܉XpG^) < nE J]HT,v0R^ۺ]zhk]1S6]vM[BDtnje}ŌI{e%8pgS "V]L-#pM$54V(84UFCJ|{!qIou$c3%τtТ_5TI.Ti1盖I"YF)sgb9-,mfNQQgy y3g~,fIµ.h#q2NLf틵Cz>XiLt4)rޜގ-maXnOϒ>>pL qhdFS Um??ފj$̝V\AK>DÖkTF~:bwf |մ;-* 2{{40{J)UM٧u u`{uĜ厔Ѕ$vgu3B&SVp|v %UlZ۱m>vEUMv]!R"yEo+ZX;hŇbӸG^G&zBvV A3m$ۂ*iEfܟ~-GXoJJ2 "|;=~AMgho RR~FVfUq)wٶG>)6ID5\ud5,3_h,O[ozQAU+ $F%Uc%wENsj2eW36:W *|a3SW:+dG)x`8dL_ݔ"S>!G߶fiE~.C%zgx!$TCW*q=KX4L;xEzKDީpf4tVS^un#4@v(' 7' Vch :>猎%ƃS#VP p>GvQM{#%HQ~3PäbVjo;\fj(bFuyAМB$ޔՒUL7Iy/Ҩ="qE9<`1{m&$W `@gR04UYFȉ3Q,`/謆nl8ǂ &(~G*j'@y\iƇ~*Wn%89p5ZR]`A[,-|-a@@xP8n5oo0MV)c yB۲ !'Gn(bQҌD6B ~/n8{YEsP)IۅSlVBFGDApuOS䕖ߓf(1$tuJȠ-`Ύ!P Ү(gpPxmO7IeLɂpԧJUzp W>HKgt>߾b>@N@RC DEr;~eV[gƪݕa.q܁JOs( x{}-tQ* x}-=i#|=(~4X3cL}&lďAvͱW*Ҽ vPc~P,ݯ \f!Ay&մMF+E%qןvi~loo |6(Ʒ$h]hhQy/U7|Idi=PXAD{f!&\WAZXoZqUͱZ'J*p30l;0lx8pM/G,B~sX =^f)Ɇ5|i"a^fumx?tNG.#H)`sw&o_+7PGgwQ{[}Q@MJ/`cD6nq)`h`%ύ2'\.8z80ߟlOptsUetp (ɔij+]Y& a0GfNr CݡWz}QFM*ug ݬVg=V1~Ȏ㜁R9Aj] VAR%q5.Xdg͸.='mY@ձ0PrEGPv!:` J` -;3^ ^y9Fg>5WR}3:k7C4X(6U ?<L=cBd-Ngn.Tn9֊iZ*J*ș_/6~EЫa#MeOcBpK#%a6F@zDsu%5s.ۢEy@E?E_`"ydȯѾ6ZYSilTHPl WΔWh?HivyuT8. $uZt]ȿYhs'%aF#hfEG|#MS^$r =}] L=$ԡK(VqLLTZc.G%.LȋBVfcc)_ MۻQ xз4JZap_ˬJ/1BvJ;q2vv:̴*gɵ%x Bx$7ZO /GY G_ʟO隿zX GW'qP?vG9 O-E3kDv PDi@ Ns]>e.%GS"3?)]vKץ^Es:FOKFɢpo9Jmw*zbr4M6vdcrJa΅A^%O)m8!rꫣFðvR9&A eЎ<1ߵZ}n[,5yP˖bQRu@i]Նt޽~vȊ\OIqk$2'V-&$m lKv0.HxmMе&ox~5 HZ&OCUQ*uM(#g'w6-%Ȇ[ :cREwJҀ`oq J<|/2lh䡃9A-=?3߲NRVjU|;P`!lA )]hu >E~5UnZqmF8C:7L-1MP)2p 7^l Id8k' (TGlׅ jp.Vp mT/k{O{&Z.p= rrbFPk|dSӉ2TVO8ۗ %*'/>օ 繒$#*v>.ڮ\ D,V> pŬ4*Q.BGu"c1~Cإb&8V>ѬI%B$U|N0,]QTZ 囮Jx2j"L<,YNׄU;VEtN^_u 23Yw~dTvvkgLh=N.8CNH7&,7Sr,dޫڨT?2̻!1N3D7.WIoв;gJ|?@xM ok rabhj>vYNHTW7@BحO)>Bvs`cd8` kTWLb[yijDoVUs@TɌ_[xxn 69:w {PJRvlϼv׹iWmHut>_<Ͼȗ޺i_r:(x)7!wl2SZL>`[GZ$\k9vz#ٻO1.*zrQ'uy&0+ou/R<";˸Z:zR(jel;j KԙNUO? sH}Dܲ-C r-:6u /`r3ڻ] fzNvxk}dBC%≄i-9,q>gzH6IbO܍Y{:V1|hY 6\ 2Jn'F"d0rS%ZI&a^B# >BYZwzSv`0QO"#5l9c|c+rs/VϘjۚ(yI v1Hiy<˅͑yƏzX򴰅b5^N$BG@žǶ5`\bS7i7K/ū&yƃl~̙񑴸M q Ē=Oc$Y)"\1{WK6EkC 8Y*>tA*=#Dn 9)yh%`:V\01uȢb(ȽBsp5;p"lʘhʁAAQG_h w5nL+kqߚ^$*: ?ѳQ跈Xk}`Qbftpn":MS"K +˄ŸAk˶D_SPWG`mR RdVϋw5+Tff/KJ(xV%Nz+oag!O•[gw+/vM6 3)aS&3JHf}S}l+Mr `y t.*o {A L`\>D18}q9f7dq:ssCl lJqt, c%\97mnwn1( `SG8uKkܾLƍLAc h.)InjW7eKI'0*=]<؍ln^*+!>]Y͹95seK~%R)u~)n{n`|bgͿŠ[r*g3SbK, B I:}g&`4NȚ $8: %81m@O9x3<'q$9Wi'/L|YuW97=& #v1|< ᝣgP1/Os= tr&v]ysU7-i] حBpPHlJ;+W5*NHV|+ >ސNK ]Kx3@7pʖ _{.ooJ;)\:_niZr ;=zlܭ2{8H#.B\m\W0{gcCfF &׍D*)$"nEgsv"'M&t.#bGF짗 i1xLx}u:Ow>z0;``7ZLjU0.] 4T[8asM ؄l&x|kg/7a%p)/n'.Z'r!1\AEYse n@; 뻴ILr)IX&tlz t$vXʋ(#>(CZ Wܨؤt^!FB! _b&_RL;^{0;`H:d d\4σv`)aXH.Syr@w.sBA$ĠqD#r$SӽOt0^0O^ s[|7;Th|}n7cU(V9M3`kC4ZukߋE -ºDf Kt˾bI(.:DؙHsZݲNL-J>Z^.+BI~s!q bՠm -4(X&jVop^`Gyn<" ȵ"to˘mDq3lpcVC\*w3fUH@h}zA7T|=Xxd*'ݸ pNa`Nc5gC5ITa}7!X7pS{3/ͫ`>q_6>ڃHl{+qKc @ΙE->BAtBuiCJb_}՞LOx>RXn"b`oQnG]IK@T,h;$NI9/Yd)vX H$?IIw4Nَy:Q)16,"l=-G6Ml 8P8m)]Wyf,D3Qg5 *9] #ò}S?>u wN a/2_d#D\|g#oI>MhJĞ8K*e(etݏNC`ܵDNrd*k`Rnߜ҆x"4=n8|fzmNɨDjwT@,3D_m'.?%K/Mu_!#_GԦ1Az!bMoHÏK^SKcJ+.i)OLO S_иZdQILqcH|?3n Yoy/W4@ǹMZ2e-H֚u%)\9`#zl2mW5-k?=! skA.dBNJBP?Ҹ } oOOK)2]=xWQfxIC6LmOű@&:e2 }+Zfx3~R0K[/FX(Sf`$ϑQ‹f1kНfsMl;`'`m ?ޣ ?8 JTUG۳yp'~wwnpkܩ-Nr@/7Bʣ?N뎆C%v ѣkqו6zYC?=1oUtj IgJ<6h[E0RS=bkteԍfDLACB&qsEFO6/.:1_Qp(v^ªs}L_2֓!- ,&wrAE V'9wy~o$R){^o ê]ԉ~. !^Qs,-dɶ6M.8RI&GGۇc4L.CIEC!refmO' z_Q!ǿWń&UزC\ԣkz(\ݺ$Q/_b1_GS#R4]07b<1XHl鸱Sm=bR\oA!u t[m`㙖Bq7u%6Ns̼rEzD~n75%?lIu@@&߭O?v _KÁSP, |+&g#u4F-,s@e`[>^L5@,2h>Vވ, G* BE[;&D/Nay+pƄB8j E3Sk'rp"arYE/?PHDsbN+7ȫ` o`k}<FӞ(oeo7g%hxP}.AnQ q-t pەJ+{*Ԍ8**so2o@DRs]SPG 4>5Iy!p݁Ku#hdQu y=1%aF! ;[i:sSػ cY(T MivzwH"@"۱pqyJNo'&l5xbhm:[4L)т֗ f37C*PfJM`0:~c8`t%2LC޴T k9FsFm ]S8]#dE~!o5~'!ǤX{ػT֤K_6?q7wEj=?$4΂Ehq&إcM˙):؈>9K;w[IE8aI&MQWfF#Wd&ky -! "OP׷ܑF`̰*"]\-p# ?H*Szm<4YO_2;x5ԍut'1rͧ,!H`,NZ>bocN&dwןR:K\p~!^aH8;CR9>wvb'(rt;o[Ңgп͸s|+W !@},N"a%fyIN O.tfzSq蛲XSq5#8 XM2vuVI,F` $] 0cRݳpV+ 8j6'ʮ8) ¿qּ6΄Fō~JOT+O!;=SL0(.c!kI=(&i Ǜա(_ e4/Y賌[1wMrcZ<5P(@/uKyQ2:ke>w%7!DʳNUB6 jҁX$6;]@>2 IUsn'աS"_C,ZzK0Y7~@7QP34dd:0u0 J3hpڠ,̻m#Ƌ8A -ϫq6vZfLpٲO>ӺlZ0e2MivSR\-QS37*ФTe']"#-pQs@p# 3?p鏊Iup=kVEXT8H$U'Y\F#άX󏾊Oxji|.LލV%h<;&S;G1OR n'CVut97-TIgBmM0 &x8zaŶRPwķ" &N>C].'X4`sF!cTGtߕ뭏t/Ì:'&djv{CܤY,\ Yqu4HM?{CSJO;W9nݒc-^ȷ}mV>4=Bo~QP#wS:;gUNCC2VD9#{wK_V˧UXK(2^џA !# % y|&dt-ڄ|?`m";P} 3B6)=;!wF_RSs툵3 I ʫ<^v}m so1NG A?Kg_C'j,ĸ1ͼeKA`ؽ^&h$ȝ1فvhI2UcWT͞sJG'1Hit wB!uW}9^ I|J:70Mg]Y gtޭ|qkfEz8f\wZW7}І̟b.lm*"{jevxNipx~>;?W7GcG6dE 0I^kk}* <|6$A kg,57B&(#@ 1+ke!:i  R_EowPԾ6,,:Ŧ;]>J3 ^5#u5P\*#S G %tXgm Ty2(Ϝ}9Fp*ǦxHc-&Uq O俇_;zSpT{(!EEiD;?ٲ=0uȚҋe>~vAA?~iCkdOשvwNsI0:c j x߾ݥJY0.l(ߵӿ{+It+H, Zk-F6-CQ68} &]$"[X*^:9V%-T>=b, ZPQ=*?hI%]$7bD &f. z* Ciݜ=lhn@;@eP r:/t!ka\3`%}Zď=$3 8~l/mIg>.?iE EI# j3=mDx<$s{H}`iɷqvz)kX$b-!;?*'PmPykxr4{j]Nz~YZ|,C;o mq{,wPWݳ$b _uDܠ1TK%SNuج^D8 ڧ!:%Ӗ |^""b1I`=#'x sTS E3ua)Hxk t_#ap6Mcf"C0(+2Qq#[BbJ,AYcXI5TYV< sͣ B)OJ[=,ǟzCdQB?ܹ'={>-~/{) E]1()&홭OvæJ1ž $r\;(x@>k_e@wX|wҢii$dcɁ}bpl ? sN@((qN(u S|Qm8UjTlr_4w(▾.Ƶ*6 ٥q]0 FԪ(.*ыwltx;twIRL Xf$\]n SMT0[+9~ U*6ʌQ挨+j^v:53@  ZrzI\) ML:N&@*ŞJ58lݑUcni5H3=WK8|;$-ɫ V+3VVۿGm Qi]@jfe )6HpvglB:Ǫo_ѵv&pVJ̀M<Ia_*Ô#S rIE$,-^L}VE*e~0|K7@ {moӎ0 C;n[}}"z}?W +dy`_pE&?i;Y _ָ7G4H|o["лR(ʾg?k0jY0!PEF$]#4!aT΁w㩿zns(Wd}&2)q@B\PIkBї=p w⃵+B;ݱLAP%Pu*} [Gӌ?DUe0[pc .5Α9ƪE\%א#Č:iji/K[zѶq [ƅ'r9YzM;K.O[uFQt]ݣJ5I1'c0z&V)8`uvmJؚbƵ,'):%ii\9U$%J6B<ٛ퉃Bu$h~]?R3Q/ gAnGߍxTۙ_auGkm+yJbQ('/T"Z 0atL YdQ&5-ۧ6:UEX<0: ]&L GcnhDCq̏]CW‘;|A,捏{n|sjQb4gckF')yƮWE4{{vI[U dDm1 I!zvP(U0ZA&(¸ID> Oܫ6؞zץzhU\1Um !y6uo68"X!WZť3jnk"'յnB6F%bN E!i=m6ٳ !ጔ)3n?vzȆA\<(u̓"L?K-)<*Q]_h"3#i}]b+reyD s˼h}]<Х{l0Rer@ڵ 퓦6*K BUYνa7 $UoG <;j [34a p/w0"2D!4_`.Q.LwMh+O_p _x SKzW~v[pM#@OGEErqJUUA()ڲ3K_cF/ Q HxvF7-h +-y1#J]NJOλ3<> .}" @"tyǒ?hNqlH1/c\J|zf nQ}/4L6\ΐ3ŒUkiyq'H?t5eN JY>{p*%Q6MXWGIw7?aD%T&iZ;)H4'@ۚ\U>ٙet,3 xt2Jxhқ'`>}Θi/=q ?PW lrY` XI&2"BZ FoMﲌb{׀H+&C(~*h]BPZS4hug.wQGu7pQb[(,`r/ӊ@.;퇛)O2{csqɵoJLn5 nDOH~{X|[d_)4ߎgL>Ey9 T&_8JH2>Q[4ӟ03sPXsliv5%| ! ]+Ƈsy).Q!b@Y_ Rx~ ?B2Y r D| BGbZl1F>\@S*W^RghnSѳcfjFJCyOǺ?HDZөr qٿ 2>nLeᎊs,SM @<~ /!agIBlL/HS2]IzUn{Ub-S'LE==Z]+cc[Б_b=Z2&râۇ"?r-eӏ{|ݭ,EnMQ_t@$ ix3]?qSh{P|鹝BnNvD'ḈVF;){Wh{nW>K'Lc)IL£,|+ *qKW.*0 fuF cdTWE1"i a;]Y*d >ty-4/* RӁ/&ѢVu`Sj3.heԳQE<ɸŊ2Koَ:~JA8F}T f WnBқfjy\A -QHG+f‚VkȉրNfԪjF(Qfsk0Q6#ݤC0w&s%Vmk2pw"Ѧ2ީWMum/Ԫ=A@WGm(KTQ,4&{:x4ЇڂSsr !ʇ"f.*,3 &BPwH~gh%hlb}DTfRA ۮd=ۣsahnS $!Ҭڔ Pt0Q(=l5miƑN> Ʌ!\rL2G!ԫw~ -mp=}W̆[cn8K=TiqW/vj&1^D.rn@O ᳸2 SZ&(k!p\|3$"6ExDa2̃ *BU3 z ?vHc& 1vw@@<| 96 H7U w Fi[5Xs1' hݿ9=vk~} Z dr; ;TiZΘR5uiH@H]*0 Cb!|ۥ]Jmǒe Ni>hDjq?1_#Nƾ6Y<^lMf2uG?m(q[('Ss;=F46ЬC XAþB<{ 0;ybl}{@Y8I̬[Ol6u>OIX/Q/; JO-n@+O1.ZNψ4XBn>,`VȖ[mG"E2*2eI$@EJz#*̬;dhGw`"jZ"X-@ݧQx>xy_T}ϙjE[?Y,J{ dǮrl–PhR6Npno$s,=KAH$ϺKcm`nRUh^ijzL ቐ·cw}nv4LU? mi5(=*l4"εn!ɏcxT[3Fj}a|-҂7eoߪe_bimAISz3y-&攪ߝfX&qR.>n1yZ<X<$T<Y0{`mm yU"L--?>pD)Tڻ~MLYLډoy,wơ.bWl7,7P' BKU ٛf|G6!"r>"B0ԇ(sMhfڰa]m6ܤz+_8*TQQ(%A0+~vӃ@5AH]Ufma^n""u[ǼLPׇosPk~z1_>\,Egǫr0ZgDHx 1>YOX; ǽE1~v5'YɘrcXTh;ŶdSE^%D4%}x\~Ov}B,eДrd|H۱m=ˈvNok-Z"=yuT^%_ Ϩ@QR  كZCW[ׇ]];o`^mꆭ|uAT8HEZ3wEnm8Jzz3o! @v|':fcj J 6ʀg"[y~uN x@&jMEx 8;%~U_Fhuv \.LI1՞QiE5 mhgNX:8 d2I1 )دl Y۟ %Orr7a?!gdAQaH"z/޾ӉK..::R7CT,~1c vE` )&!};Lu Mg9nx;儜{H6G.B]] tɠa') ɤO((h:簀 e~b@7,'\ХYN4[E`2o"r/nG9tCFVWȧ)41{WCa&(T+O'^ )fEpͥB~1)!3yH+b݄Nmt髡+̇΍D*O)ҶbcORۼxn↓ӾCe0DE4!mpy: nx۸Ĉɻ3do*zxB4Sڻ[d$F-6;jYEQuqcI$en;"w15ьt46ϴᐽv3{oĉ%W2O(jwћ蚙: lHJ<` _ H=L33o\6q}\ r5/"Ӭ6gNLH`] O|Mr 2n ֨8穎G@zcnR΁8ڻÜ u15!E!)^䂥wN.݌ ܿe&~\56\#E?3:#$('.PrK=N|槠v+n֫npH͘xߠ`x4ӌO.y?)$GUa^\ޝ].̴<="x TCޤ=`('Cq+L}y'^@@/qF#*R&A|qAO%frO'hp RHhŠ ;/N.t?$-E !h _,1wrFbB^(T=]2LaR <}@N|ٙP ×(rr]9U8B2i{o΍ yY9hqSC#yl1NWxO !*9/ _O7_VZTpuٸY3wM wJ=Z)FYo2Qh!뙕4^wjdWnFNЫs~;6 ^`8KV t@(@k`]/`,WI:\FPj_dw 'R0atZjr!hv %Q9^ꃑ9o wr;&_,"qOĽJFΛњc^ Y%1`b' <@uPEő4=P7Hf {=kg8R_8(58~b5$b zm4i| ) 7dQ=\з(V-Xֽ2ӌ '"nکVuBJ $[. Z #Pи02U" 2gEʲ=M _"x[ǽ ]lcskJ vRtyhzP -Bm=Yk^a> WTM7 -Twg"X5Ȕ3IigАAcNhp{y`qdGǎ@kdmO 5>@)}h-^$K,w{j8V"2-~Wz[^I8M4Iݗ4hgU¬ƪ5~&pAkUJ13tܙ(l:NF S88 Ю^` SRw!N$v9%赯j2 kC7t7¤ٺ.;3X"6NK(S6R/Yfl.b!̶4kne$Sxuf-S7* kc~ʋ`HŚ.xvD]G tNu +0TV*sX 7A1LY"vےiufufM<>0.uutsTPy2 L5 F]pp܌q~o7&a8V?Q.aV|)> IH8 ;-:yL|N0]6sԸURti#cps~쎵Jٌ&AȈprxFvg^'/C'$ Pmt צđbR' ~p֘ξcL=휓N@cǦ>c,OkiB_Ck_.yb?4|'ŋ9"N#fo#cɐ}! T;txddZt[<骾jhqנ&g>OUPL[-mex vS}0ud5Uحu ۦ_䯂dןԊ"PQ Eyر^"?%ߊ7z'#Z5S-ht[a bt XCuԙt`#$S&HUbS6@j=B qw}mbt8*Xr|fCPU-VDYZhW_ejf%:"CQ&`#~)/>|;$umfw&8o0.Me jO8~3cqqe2i̥IC: <ڊ#:˴jrrFaޏֵYqR@R`$vp(ZfiÄ:}v~1wMb)'괸q̲> s(dD3cKVbCR1=Un[NZg }%f%y /h%U]6S0@<@lKO`c/m@v:5YLG uČi!Wx$GFcXyMPрNõ YMt:P=ӥ Z|mynt6Dݒ3M׍*ƒ&rr&Us"ul W86S-tqH"6 r#9D+k)QP{0R-8jΪ1~{uJJ>.\VLuBf 4-͸$!>aYF}E9qI Zͧ\޽Tܩ!0’{F!qG#XrjŲ_|ʰ`z:247DmtBBD4ib!#t"G x75!%I;5Q$A[E۫vMȧJ5Kb^- S7 Ye{'oťn(h啊Up]׉мk}!`yaVXA"YdmN;'Ys g8atR5˂*R PvS2pOvo,G2Ae A > OS청<|9`NIjG CQy\VfCq8i a0^!&t;[ Zkh$ _[%8TݽsE],CXpBZtl|cVYhvoݵ;J*9bPu(ХnA=nw#$]cZrw"@#ӞŅOo5X3~X "O9ڟAG\AN"4y{`۶,%ǥ"enFe6CX\!c2n+>1/W^羂(W\Tt#k,ȔW,"S9nOǗ8t P8ZH5>a$pVo|yal} +d%m'^aX[zcЗst'o%;cEeX B"\QiHe>!Y--bfn1ݤ.a!R3s|TպٱVKPyFbl`6 QkϗwoI :Թ'$V+V(~'V@kUObxw(r/ %#D.=sJ6a<ʤGbtyQ|wEF|aEɑjw#j)_rǣe7ji+T8nGUD$$%'(m'2 "6XT!"[}eeqodWᴐ_ %AД05ZA /R:3*͊2tQ*_UBR7+gz74aNxn( e^C45:)ĝ=Z2uhz7͕ACVɓ&LNh&Ek!cR 5 ~RQtwrUEU\[H8rbܴGBYc eqg\=,cٟv{-ՁT}2-o09Avl( 1v%_ `}/4!kx^)#S?4\݋ᢏ6@mV1|,cr ]x 5I|>>l Mcs EyK[׏'ds #Gr$BZ;oMuߤC A &R*{1m̳m['|ngh=gF.%e[@Dk$TSoSL|W? x+c:#B㜣@Bq%2l)8`*OB<|>'"%< ;"3AMB(KP61:].ZkpP$$&g{p$8xZ"]q[z%i]~?\,? VvauxvT֕bUsjied@FFb? =@ƫdD"h^ؐ9I”` \hݝ3Z)"nSzj yCrTcL߆{8) <W7aN$ڳAR/b$|cF '6ꪤߌkWC[>e(/ğȆdcm(PeU;B(F.=|$54b>'fAJ—(OS{ Y,v V D.ʬ I,lZ v7Z>! MiƲrs$rgpEHB(OpjGThO {L-v`8Ƃʱg_mc;,T9È\_z5T 2 k^?[HYt gL)twŘ/ #h8Ff7uw \x2dy4b<0 ޣ >KYߤ mEBû"$H̐ly?HQG2L=Y&TΜȍq/FparoQRSJ =L3;nvv19k)WbfMCSf /t,H ~[[%a2v$`t_֮Yc+8*{J'T3z Ҡd#A6hQ&E)quY;Omҥ5#u8J"V16 :0!e܍S`0&"p"˶Z):*F08dX݃jfcnYXWk6<)Ngn՘/gֵ+v0u5<\L$skh(Zo=|70%d(y{x:|5MK">p^(xcY=RУ,ShtmjaXo0+Gm:0RS39{N ܱw0zumSЗ2V7.?b PXv/c u";FS@'a}k`CNURDJU>A=~)6'x3$ȹ`vf |yN["]27PhFht F_Pjw&Zl]Xej ^{P!6BZ LB//vb`Э`ZRu-.nA3(/EY5=g71;"(CȈ*>ީ{gХŐNQM:'4\<)eP~?mXmſs|OcaFBV {jpJĊ*; ]4l|J$mQ*vZaҳֵy2\^Լnw2L$r!ﵓl$(Bhxxo'IyVvUo>Ⰱ`Zu,⅟5gⵤ4 beo gQRs>[ qhٙO%J1@淴.آIVB. ñ{uaUӑacjި`⇚GlPeC070U˹$|'\7Disdg뒁=0hF{?EGWZbig_f= 7@8FP뺥R-pqGy _V?^a9<6ҍ;-HFNʺoH30ee(6uiY6Y]bf:08%&VpUwZoBSPЃ&B[+fsh8VX%e(h IPWpYʅF5Pii u^]  +fS;뺬K:ȏeLWU wbw2a^RK%+Y/}-}NW=D2\&qկЕ${1Q9\N F5zHgis7q zٍT Opp7Z.Y"kIqAœrpf-T:buyz >`Y /][vzI{PTjd}p馔$ h() \$յ8NYN}AR3d![g+.~}k#I KՇ(y5L5sD"ZmCmenc)d̆wJ /inC8:(|8е!zi g_74ˣ~)|Q>AO"Y}\Z'7wz e/O4tϳ9I!T񁹖!ofӱ^mME'#^ܹn8eTe*(}: 5P&%nj2a|JtoGUeE'2MNCm6ePxv[S0yтYp]wl~m祐W/hi9Oo9V'rM jjԇ*Ag*S`ԴC#-TrF<AjJ2!qHYYNHi/J~?ZiP 7Y=/tJ.,,r3ޛ6g)H(#H\{WnC0 چC_@ !.K@=h0WyXyB@v4p꩗5cܲ"VVO߇Z$HtYdU ='=2Y/d.ت$2G-ȣ0OF>m{ЉR֌ZenAqm\z0+PAGty0me!FĕS_}%$K?n҇:w2ǻ"$oW]lH@f;W,};xc7~ 0|eAH[I+9O$v׮᛻9H3L]?^D^Wׅ:TNX"Ca\?lgo-!;Lt J!{XOUak KՐ4KQt ҋS}:>]>;ϱo)q-00 t ȿuq`|!pDvSԴwH#aJ\Z?=c^;)V bW*yIK^ڕ&! .c.@sb8Pzz_کv}Ғa>:]h!T<5~,A&r $ia{Ҧ`䲟zin}Sr6(*Hj6'K w_CF1d;+'bW Ttqtжظ_]^b$=Kj9֖(xl(a w%Ґ zܽn7umh5NvdeۮR-{浸t4{W![MgU:+^&#m,>Rۑmc,"h:DN=If\2K+*H4 ˧I5Md לHY@+7ζdN(Rޏϓe3w{"i5ķ Fd<USR(^ȟKX <6bB,1~V9zUCF-))EGo2bl!XG)K [qu6`ʕ聁C s3 EEl$A 8mTRp4W sl:7Ђ`*EĜww|*@7+r`j20o1J}[ZU?J`|@D*<WD5-M07cYC9Dq" f%uz3QO!_͌߅?wFۄAݑ|ȇNc-Kov] zHGג,rC,8,tt|95I͆Qr`MY"ʿp` ErBDQNc䩤U='pׅY8 t ۮV4*WԀG1G%dԢxwa ЗXi g VQ //]t&!EprAR50f4z$xӴW-YaaԸ%ɣ_Jw~ mH>] G'!{]>É@>B7Q"eI uWj#qS= @SAo{'0BT/EԖ+%fla&c42T$mT|TQ±?i+(=  h"f՘Rs&44D$>b/Z&= EM֐)sZ{T>t`H"MzA0Ha Yǎ{ P 0?1]]yT?*:DoN&-=(J'ۚ_ #PÃ~~7'MPNeܡɛ*1NGRH5u 3ic&$jGȱ{ ۙY$T.QgLF裯P=}TS+(-"[~^/-t7DT6Z@ݛ015_u~#B0?[C-+ `ib,M8q]Ԡ3򕎤+g1M-|B1,QaOXykMzi[q*Ы_R77G}niz@|ړ` EqV32o6,ǘom7 'I|l RMI,Sl G(_eyH,FDw2ړlI;\}]o5lJh$iMAySPU_E­(R{n7U֐N5r'",iN*Rg]C晀6_4-p;rYU[M]S<7 +WJB|ռ_Cr^iւ“/`AW"d|Tg2KI \hӡ!j52\Vؘ5is,wF ˧\]s}Ku t4}$HK:i?kq "CFJ?2 f?v/0\EՒ!Fnܪ5p5SOP $;H x0P2^pipe ۡ< k$h?,G7/Bb!߲ijj4؀u:)#6۱Ō}k.Qv!64mZQN.J߯ /ejqS Jhj≙vY::9XO qb+pZk[囹Z-נ>rg}K(`K(-D񮕽[06΢aS7u>Zƌo1{NHtqKzb>ZRCVo17a*-!YHz2j''xf뎍[x &4[x$ZC% `~S=J9(ER2>vCǃHT!'ytvS^$|!PQrxKg 0yvsǐ('Za y~sAz0|MA7ْ[J ЋHWnZ[+Q<~*kv|4e}Vsb=Hz#~ N{staP$6a.@qS=nS O#?m1 ] [4< QB*ԆZMDE'}q?[w$9 bDpb[t&Sj4/&%,;BIQR~9ٗgrZb{thϜF+Ga5ArC 9]_$әD-_b;c6y\gɽHV8Ӎ+$r{r5z`r$)ތsR!# C~m'3־Is40DjƁeۗ۷1묢tݛ#R3;i^{Kwn`IZgu}s/=Ke]tȊ{Źd N+Z6=x2.R0tMcNN,*Hv*վnێe%$sP (Oj/gqmaw܎Z{ !U+i(X= buYFZhp:KH頋 ]exk*(,jW|F>_km^lcN5J%FNM{{X|3PTl7/Z4`b|3*Bo}KU,Ғ%V,o_ Ûw*{>(,(sdF4y\I~1IrZԖڅN7"7}n*9dqfk%Z%;9pTb%J@?!2 6+i;|0^^aݨzNsmu…p \Jri[/gO i \D4& 2件[;@DvyZw fqqAhJeSf|=0ǔڸďo,G[W"8((*c\)B4!>ҳ@o )K{/C7paZhFI*I|!ŤZx'!ԈZۙᴰIuh]S#ȉ6uayTE6$?bŸ"j>x^DS1s,'cSu89]sT.=yp_C9Fq#˰1bNc7I|)ı{ܗ2["X^wL]IOú&Q\ o  h?FuI`1'=& w>HQ.ḿ_wRmp/Qy)Կ|-؝B&3.x@Br"aTaYz[9Uyd NlJCۭp{c-!ؒi\{8:L$M\cyo sګK$D@~tuh@mMAre34cr=;#!6L md=qX&CǍ-, SqQ0^B)"qāQllϬwjp{iCN:x4K6O @DIjʇ/NޤgxU\KKN9(dqȎq#/otRo .&F7 .A?jEZ{=}vı|/FG pDg&֔% KG4liZ?ݳ>nB+dQ ƑHi VAޏ;(?[c-S"G_񨼧z,Ӱ'@?*6sKydɳ ~^h;`Rfl5¯ W#>=f_t"`O AZ})TA) 6SɓpĊ4]x,)س+6qM}?^1/ p|, 5%ձƓ[yNҚiX:+gR#10̕(S[ᦱoW$MY0ٔx'/낇),&g], a %A&@0wp+zL!W02TF3G4ޮTSM%8aN0'.&>M=ߠ #ḠD5GS9?";}MM<aˌy 6>ߨȿZ+m\ʡay a70y&z!8|`ZB~q!V4~۸Y`5&?"WkO#F 8kPX%Fc[O_PE&WϏO*P\xKǖlKZyVln,AJ L/Ǔ0A l PLR<F 8GKI_6eK=l<7Z%{H¥yhH}kˡYic|՚>SU!&}LK[;|( TR8EF ӏr!T\SIGߢ@jso?a+$gMjZ/ftx/oyGv f~D~5!NXxa{]dό`; < H$3D z-JMDn[\ZY4tplsH &Ǧ9_LcBv|Z5]N;`ʕ}=X"|9ʓŦ?{WޜГ%{eSc侧Gl 2ҷ[erANdsu+p k(?x@0$ؗ:a׌}6 N0ѿ`T#msJg yviWϞwkh-KnB* .gaj78_4rW>,*yi1ƌRZR !1kH_a0#%c.Vxxç'wiSP9CQھTIwgZVik}-MܐCqfj4v"(PF31[bcH1?lljQߍKSZ#9P!hu{磣6@*KsQ~?*;dAL!T}?N|UKl"$ƿ+7bu)2WH\Zٓ΢'Hѣŀ1i% uQPwX " B*с"Sի"#㲎6a߳ɗLpn,d,|z[a U}"6@6u{1nGt.HC*GO\oPfE ,)|J!g]}[lqhB<9 +ũP=H*E*aCo ]buf rs@zKQgM/='[6WAVPӜ-?4"QU}H'@,F%oW [-vlwOZW1mŘMV8R]n6b6. ": ? y˴ND)֝+[Gݞg4DKf#}҅LА!J^O/ #fe8) 8e߄^eO 2L^TW$Z@{W$MJjէF_I;/VQ7CY=I,t{EږTZgfk۩.wGo90tքe E Gz|"nd9f`bwq7Z1﷽6Ce 򦉠]8tV{5GX.x RX R33(n'mK57Rωa7 }g lnws}FͬlƖ_ѷVCj- ޛܱc"?kʨlLpacgM_/ " FIٕE2/8^ %ʙSz* -ġZ@8^R"%Yߪ~Rd6|gȏ8,?{KyqGG|tN"pYC8GHQZtJi0&aEaƙ{MV@PWsKKqXV=OOE yOgy5Pس"gg 20Čh{x>O>LqD~hzX)~)I*A-IMеl"]Uγ ڙ٫xsـ̓4pxcp$'`40GI`* Ûכ@bb'YĀFR"tb>Q4]ccIZcR4lm6=N zYcEL\_~ w/n=_쑺mGG\ =` ~e{@J[7#t N =/xDsOځ67ҸTUL>C^[v:kׅ/Zf9'aJ.12@pa6jP+599U+ K ŏP{= 3/q* f|tKV{XuHd%tVb稜p$TKIl*`A5t.Uz{[*U3lqS HT<أ*Ϋ -ԥN6eÈt`WL?럨|.t vv*;mLJEj0oTc|1)7C1l>\ʥeVrcNw^OJ4MIgM6cxO59U!/]3ڇ>W=]Ǚ(\6,3Rݡ))'" A #t0i3'pO翎x ň*pF7hEm~~Ģ̳td5Vr|D省Y6"AQBIQ>dWdcr$ IcdY)[} ZE-AsRu>nvj_2HBϿN}/C$srG[ִ},Sq4aL(p(OR9i~.w*2ls5F193[-`ՋfݯĞڍq<0Z}ǿtIߢ"u Z"n3$:V3سc&b\B9DaD,PÅ?g GD*#` 6}jCADh &ҽR(͉AolxAp ub<*_:U z3ZGЖ@oZY_5]!~M5]*`JƮ.(kLpbiA}1 -yq޲< :W]k)1L("]6iUӅsoMS0o\wlB#țe)Ls@@|(S\Z7Eܛv~Xe19dOI۳ e>Ԙ)0u$o=RXݧhu֔ByCY.<<B5DVkqtDJ&M_Wf #K? գzt03be& YS)&NZE6ђi+4GDTKar5 T4b4(>&@jWmq Ke.c$'GR*2òË!ǬU Y@ma,Sg{X]Ijm(^lBH& |g0?|\]۩-(,qTtf?ȓ:ZJ2~hDj5HYcilm0lzh\gQ:ܛ6[mih~)ZU(׻^HQiz [Ϋ4_6* ?]'c?%Ap׏{B]u"{*W^kvނ iW!PfX 0s{ĸ-5t6L  ]HH+&́YcELduG/4ɺMh. J V1!l7}&@pf>s KNyT{R -UMAul|qdeӲ϶.W(~0-{3SD?# FiHぁ3W&ZĎkiý4x{8_-K $Ona|oJq6c*i4;Xp, ¾1G0dq󪅟0 {(ʖCW!vpTe$D8gL^*JЭlxTd >g!l\my:]-a< Si0$u?[QV&oZwZB6 _04jmR@H:0wH*uq8 zxWϘJmQŸ́~%ybg:l /Fy]gV؞Hd]@ũCpVhpl|8l:̃F'<3c*vkGwxi9-vaȩV sϠ7t{38m;^,]lTѮ{{| jFthÉSϾ,B‘jz`aeD0x olc:bGDT YM۷b_ΰH1V [a:lZ~)Ckڴ$YdD]6 xFƌ; ҟօ]*!m5'Q$۝lŸ)86z'LvTCC=FBЦS9_?i 7iu*˪9_lFOg*͘NFT7Y0V͔1L3<0PqG!`B!l%~pգ{r֗]'x$l" pNeC܌8yq]P\uhy"ȆN:j,.]*|0Yoɵ1rՌvTUHB:>FGqE> 7N"'*nSվs]Ra|ў4Pu//'tG  V!\xvRv-ࠣh w Q[3*HLƪpE)/K+柭*ԯY.8/ R ¤߱,m$y̝Vz2%n!@JG*{˻6 5喸CpJQ4F#rbd#TeIpX ]Ɏۊ{b '\~)A\C#M|FM-IXJՋsgɅ)@;mO#qRp` ;]E1bGTvrEA\@m JTN;rv&T1㖑I\. #0rbd% X&06>~剺"˨qm0ʛ_`˾5rsI R ~~?C֩ڱrQ{^|/Â/&J%YNT0mV,LK}³ =k .S=[e=݀}SX'Y=XmI%bvכfA@P?Vn-jCvҊ }g}Xܑ@+'|0D^vk}Į zo{/E1'b]@eQ{?oa6r~ 8br*{:UƃaGYdy{R@jj$] D"76S%i./-a)}񋥋OY:Y((}sX5J2G|uFZ-L3SѸGsiK4?NjL3x1ԥ: šzY ]ޣ^{ptpnp~zӂv-~m 0Nr=hʚ[{=CD gC?6 0oqIy%01{Ӱ}^Q(-kY 3V:< u_B؃ƶ: A8Ќ1>nN>WG_6]ꟲLfXC]w8`}dxC wc!D#6Q8=|&*q(瞝M ~Pmq)t29+NN/)5.9]^e5Ft[ϘM=e'741Yخ*ܐ 6VR]g9j:éަNBWZjBc$p^#o#l5 MA3ނKxK p7 p^J Lvg '@ NohEd-}Y976ʍI+êys5tx»I'X%k5\2_(γ"ߤY3QAm(6V,S{' VaܶzL/$Noiw0,|~c\ 3PD'3R:aWtƿ0tT {9|fDG᚟La^4I=vrw;MfZ%7o돈L飦彂e9?UQV-[LwefQK7V$LD\Sh ~{2M:d}J}:lO#0t R v#Xz0IM0H7;&H:ą;VuqRn}evyܐ~-fbq(9I=REN~(ZTlÍ^a%s-F>Z ?h:&d@Ho s ʿ_$1i-jcl1d<0̗x\3lm?kF^c5HC~sVE">l'PBqw zU2#{!D%*Ѻanv2>6oE6ԬC*+)VgM.rj.,ozq|OӘF6k'׏h'!=pR[K\Ùc/\&O@?<4POd]NXt:k,"5ճ%ZhumK@kIBe %=4O^/Vf~ojFi6u HC^;=OxEYΒo$Uن0"ߍl[8׷dr$F8y n2Ͽ1XYw1kIn_-%IE>HDj;LYrxQOWd!\aM[2BH=|†Hُő)\Ņ( ׄ?&̌{ ㄮӟV(ih(JffJRdT\9 CYi%%PN{"G$Ij*wJgw~ EDPJbk1,c1H'huѬ1[dvAg`$P۬<*:+Na PP[N/ y6Moj1(M^Aze+`uBS9W)Q?(Wf&dM-{B/y/iEþ# V_V"%s*u@J=uVG.IxPRDvPqnvd=J!arML?O=Xq"@Y6ºoDog |?x=7J;/\U(1-\p5 !A{ysou mDju֐#D£?m}^)8f7QpFG/4meސ,Kg`lѤ<Ðቐtb*[pDx9$Q8{ z42he?4MAʎ yrF7F)>>ǀ/mpxN|͋h(Tl|A<; ^׳"EN*hpJO {FRL>;B z$ N]=UL -)|սvyK՝zNRswY|q6OmT0HPaɎWd@˺̶ _WW;$SAS]Uk7*נXc%;~gDp&-@FR8*ve`maZ9{'in7Sm5< 3`%D#a8m@~({1TQTҺ{JJ(Um0~I٤[٪6e0=G݊FC?m>\Ae-! 6e0^f[#HR*RX(?NҽID#/$@ْ,v9>cr.ly_K7+'bTvֈBF@21"y˫)Qz#Y>K_0 %td4)y<вLUsVsj(3mMn) ]F1K og-G+RVVr$yi@4U f (SJ"Nk!C[Mg4P(Px ,SyitFnWkׂXz":hTP]rJvf[نfg(?Ȣ K%ʭSm-`4Yf<&䍙Z} m~[yZiƦ|F e8_rX'p.猯w:h^19MJOVr1dGu׷$M@3FvO8ad"hdnmexElAp^Py[嵜PP!>W5@9JIѩYJQ/gcS._m{!5݅v^u%Cz@/ U Qpd~(apaV{LV⪢> ە" /pF Hkȅg_{tdwUE &7! t{'r%ޢpJglS/ܷbG$4TW^ߓkXQ,z]P'9b!E':YW@'1H9۽Atm ma( rc!2Jc:˴P%؉> w I=}g[$PX=mdh)"Awdlꢣ!Z3 5DwD:`E[@/5t~t@OLJ[qU>)cH>lSk]%j[wJ0ZDJja{ĭ4<_粅/ٷ^Hc~ 28NV/C"+b/Us`i8Tq:Ut\nyzI;~BG4lV}m10Z(1 #z!S>ObiiK 35q|s*'bRrn:a ޮ; Y%5)24W Ne'.+lH -w\Zp82 m~(vv@fAC }9>tmC? !Cj4[^Fq ZrDv9=iqeuS'G@o@l8/#9 (H\]&ƁJ6 ,G50!C@aB}ԇ~PdrYvӂ8"IUzʰ_t 槅39X] Ȃޖ뾯rvU yAqj?E/m?7E{=<<{h]ϦpZeZJkE|Bߛl@‡]U߀3g4:ie@,RV==6tr\6d j,63O0'@nIz]ixغd`[_,՞G=ssEhM*jPf\-9:4dN]XLib uZ3'8^_A@3Ņ#rAj3$r6ZUW2hN}۲J \OLK+zꑼKZZOuZ vħT*dA YlC(Նsl]"&>6j+YxT xkl~+zI=þ(hQ#c2aWdqwUuPH}>~Ma$ GʅF1<#ׇ,g PT@]{kmrh>s<إ޵:FŢDrsۊTsI}@5޵–i]ED,;4i MVrQRӵ"%:5|7"vJe`h\%0bklb2c 3i~$ߙQ{V{&DO7qx'B h_;XJqۨ+B9z\BsɤOR R] 1D\ T/k k4vh##Ȍ _w[cҢ]}.]ZNI4\C2Õ=Dh㉆chne2;KplWawoϏFCR:w_ hcC]gmdݟy)1ug]W(\2jC9w"tޜ~ۤa7U؄>T7Dn.[^Z{ÐB,,]%N?6) }3=s=9t濕 c;Y(X  %nf +0pN?S F"apw'U5 &ā&7z5cdCUʿ B5yܴj >%~}B lji.֒;guI8HKI 9너ѤXjYmHp@y9]q)&˞|ۻ˜-h %F]K3#LiYt1[r?Wm8'ElL30vQ4R⯮dBaObX8>7Vޗ'nUg }浏 ?zfˮQ#EzGnB'_nI=H&dnJpb#my x^p~#8қeN#S^hٰjŜ-(Cۃ|xO@Ͱu x9Ms%s @7^\B>61_ÑƦ 9wW;*Zpr11=U EBc_8~p@ϮLqb<ܬ!_fF*j%}M(QK'UMO-heørm"/}TУvb4D9zdۋ܁r GS 2yv/6k X{ |01\{EeaY:` ӕ?OnܴgJ'߮Fm=5.|?9Ҙt)ҕ(_r[7< `aŕ6? rש9IUFFJ" ք7Q͖Mֿ up|'!^c .naa~'vP8xJSD+޾ɝA(JmTGΜ_:x4Ksu E2ɻGƠgh4NåGnenʽ(#<3Tˁ#kHJAL}|[wTkI8*Icfb r ('G`/}!_D 1v0VLD Nh-VfBXCO2xud+ q<#ޖ G(0Ls\xc!*[T`\U{1B؈\5kGcYT4`zb5]|vUGݤ7x>Zjw#q$ w5xóq G 6tX>4kD%8}eԕ^)^d\γČj z1xf3:GGUI;GE6c[W"'Mkgj$IѺ@֨X)\g JCˊdZLj:M2o# EҧvS/+r~|em}z֑^PH%C{0ھTK`d@fhL<$wdBb^h*$Տ .֥rZ;Ɓ`Ws[U'IwJxғV&WW\}@#`hȝmǾ=<)+Ыw*|M 5ꨗ5dQyND4QX-ey[#<+ 'C}%0MJ2ٖ(mGyN\OҢ7(k13η\P`6؟J :U Us!gwO&RѥT|GN+D( |WFiWcAWwCǐv ? N<q9MIwa-qZ:3&>ܶ:&˨'l"؃>T5 d7N&J>R.9Umjx0$ "G%ew&"zS39Cdfn,|k4)x~3^_v h"Ek,ן98,q[uB:!"ef5+rKqQu2Q}?`-Ot#St h}!w4X9ĉ>-叾&i v ;I) gf M SG7d'kHiEkO@|g0@b~9Fqz~QrK 9O'Vɉ"\ y=h-/W/^кjWr~oXV:6a58 'hάNά|ؤj%e]dlĺUb/b 65mKΉAʬ|қ$ͺq#`L:OHTR՝t7kwkuS,j{++)38w5Ijq~J@IgF B=h|Ft+? GbJ1 _Be/t 臤agM:aކPtGEg9 CM_jw1 r=XKݦ#񒬶X-yn^- @4=_Ml6U|KlVl:bgrX,{Cfvse;{dKmp!P)]FzTYP?}'h9L*6fAfQI X`kGxK$C|R9͈[ j(凸Nu?\9M41m!}?_-A5Vu+f(*^1W]FCA$YL1ٟ:@͠q㙝eY =H8s}LB7|ɴE/) Vk=٫eqOrVp^{=>wetndRRX{L/k>@EsVٴΤl`UhX-UN}FIDoHcȦßů N:  \)ꨄDuFo og}kHo fUrMb EHOT+HVۭ%a9-ZUž aХ) Z wDSbs& 9ʥN-=31'">WS\#xާ^h>`yԌQ H. Z[gu) 8_#TTMg1B/0e1߯c5> e׬(֒i;"xP]0DV0"l"uCm0ل 8vmGE6]%KLnH)u_mKc"]^޻v1UBhR !9a~20m4H׶y?D4{nUnd9+yɿRZYQr;(=ZXM2b9эnZYDѯJ{Kä^ t4.66 l>h%7̟wVݬ#QɔԔR4?A.Qs3 YƑDva).ٹ?ol_PMO 8Spp0#opl:Ѻx4%!Kkk#7|VVrKW= T-jP6|jf c72!U'EF6ji^߫׆\8Hblqd*,FeI¾p^0vlq(+ 2+سpt|a Y5gXA>s‘j-5<*N\`1W#%c1Muˆ fil GfJϩKTM7T#0=,UW(F]``(U \2=Lp#ȤGvG[uEan6Tݰ,ZZL QG/̏І2i#p(dDAG Q8]7,y4ꋩԴ@|ggm֮K ?O˸6\j-G@d*+%/xyͣ|2iXRaR}d` כb.|*c&NK% ڒPEN10>{{j[d;k C l_ LuHB8An\lq] r,h\=#~BqguP<0<1x o3(- >8X?9h/9oj @1vR|c8AgZg~fjP8jb[B\A>pMg>."&{=hxuaZ8.Q~xh3E7}OOې>g պ.bdC,Qq6J\bt.R C]Y.n3;5S6i&ȃ Y LhzU #Ο/3Vu=4աތn{1⌒VmV֠nNdzy'fF)gjtҟ:IZ?AAɿ85J5D˱osI8jn PDW@]½7ù=$ˬP;!ƭYP7DOp@'Bω(ݏL6dIE@=vkIҿ&\M ΢_dN|5XBY0Ak:A I^gvXk#9P s2@0~zYNCЮ*+c^yx,c f256 >6V B6[=ߴ92f"TL=_z6tŴQlMWIjjHLʧ)Rr=IeG瓽Ktgz)ivM[f:݉Txg%o\eL̂G l{BmiHt  Q+ſ&ptfav*T1_m ! i9~D2ńp9SqbR6YO_&py^V- `Pξ\ΎVD((Sp(r~{8IegXXm[OIM8r<7ƺ k$}^`q(38j4 2r0 1rȟ2[ُ.%>i;1.ݧ:X'Vtk*XnlsFr R#j3&s!Y*? DTHY_ߋ 9i5SߗM w(9q8lkIȺ/-?1Sr E6a!" A]UT Ƃ`Z|»Z]cF- X,gT:N~$ u(7ʂڞK$ڤUΜhsc䦵q)qG6~B&"b5uc nT+J=U+Z~Jʔ=gt ^ 'l|CfeǓ\9f }M"TeUbkf1)Yp^awx~cS<߉rb,0VQNUŰDߏ l),ZL-ԇ ,Sn-+.0mS+*X%# PةWOrLωLAd>!,q9VIhR׳v4qO gG܇s`8Y@dnMwD&?CY>Ԇ;qycgaKgOSm^p$?`ɍ$N\˝W2,x CQC>k)zhLq8 uhZ.LӰY۷1ы@}rC$I[Ag@!Au_Lf t=oչC/mΣ?RXy㍁X%@[&]GG텵OQ 0ftQD\WX'Ќ8;Nvc!5et@֛$Q& As&2U|?}"""s*X 3f ^g-1ӲL V :ONaRB SDXf@;P+ZnT#mxNQ&n8Dc=QR=x6G @_o<))q'1YY?)?.# QuK,Fjپn8׆>uMز$hMw$9:/ N3V@*O mog}f-]9s+/3BCvb$4ZM10 %sDU-宴G:y sj9 d B꨸}&$y`}wWGEbk\[׀4ʂCY*0  Yx١u`Xh}s3nÍx:5pV/9 K3lv`c䴏 znQcpA'oVgbEi7={v͊jj97\bBdSdo6$5o/8Fkٓ,`:24EVoe-[EXuLs én,3V\:4cm*%y2ƕqB$@"̣#6U8x6zvm`B-Ixp4=Q-L 6l腿6*=wBWd1%ls] 4Huk}s# gf^Fgw45>1 ȿq \;)J~9-b.9\_*_!lҳ+Ne d;|b/>G;zh_;-R>r-QF"^D(ð9O)nj3W|GAss¿RT4{a/ET oDzjLS#p.PUph7ɧaQΙI(Y]~t5?~G >m_f}6}C|6_Ӛ2V~~,5'.آ=FPHL#t{Z\N:HM.*pJ,s zk3>5 26;ZkSAmF`\QJ^ZZ,PqJXU!.c1~;Pױ>vE- 18y+uVϚ0ƃ%xf(Fo^D)zZG7Xᔚ'>>L}?IܟGdSHEVd9.xX쑁- oA%Fu{>ĥJA+ICC@ *Pu"iT4(Tb`d/N"mkNВOY|Ov)ɀtC mFZ+Y g>K>h^Q`W(X| zPYjZk%ikɄ 癈oypPYv$Q43{ʗ`u?`Mڛ`UBV]FϘ~j=#F[@XDvzwP y bXUNxPЦ1K [ѳ L" wL^0RC#xxMx^Y TGI,0>?$/v<JJ~]-K=PojC:50b}i4Q'Tɬ3  Wv

j:3qlYqȷYހO_fboLSuQźZ!mI,pW9Xf-^[oo g_;Cr+ hu)2W֤gӹӣ!!Y-:eoxjOe1b{vxF9ӯ^6c4<#|e1(M}3SƔ3S7*@U@![D͡`RdžZ&/UUe2)/E0"4K-}ܣ5PB^ ,ȁ?Oܶӻ `Wn_@a܎P{Zu=M7f$C4n_uFɠ9X1-0=n]:]-vBB6M!(<IəXy*q_{7zMkc*&XtL>xکE.i(z)aNft E̘jlӗNǗlG($&~2zST,rP@ |ר>8xtV>$ {w,Lќ i*J|gk?:V) Y9ǭ}{4B=3 Zz h8:9޶|1GSZ֙#>E5&"/#UJ2:AD$5,}WDBaV%8I·+ ]teH`LUb-$) 9g#w 4Th-F4񴒌vQ*V@zp.BX9Cjc f ;ShAHA>=` 6,?v9ʛ=5/EX" !MJJV ޾̙1\5Ѕj.vR7`H?@ #Q1kЩ t)ǞǴ+ʡ 6:9[@Ai') )XWإ vm73tԱ+NٲMBQ*:riwVtF[_*A$`%OW"쑁H |㱤[(p*bט-[\IoWM)j "~ODDɆM0U5)v%Wjh:fH8Ҁ?\PPĸR2;n1Esh0QxKykd`3*l/SS w; Uk ~aQ ;m$O;nUe:eU]B p}W-RQb Z.sMme]#*,Nf#1ƨοlrY 3[ZbF?\X9eֲsm@.rw׮b~} |EFLqbDIKSUud3E;v|}CӴq6F8gI: !uř W=$"֟),0QW5V/[) yZoψ<rx'[fS[8hskYϹix%n_;\Qiiy~˂0G@1I4 h+ySAa2pvpT1TFsNa( s| òRa6~>@QE=qW*#h7pV0Vbmrm/rl^^u?;<}|8s)N:&{=8Dй?BCÿrc*kKmgۿQr,q=uyjs jk|/ 1^:wQcEvxzC,p %,] 0%ل[!5" d~9pI05i_@5&f7@o%&\ 8j|ѷح soΜUZGעKpb{M&𼤱M Zq6UXtϩU X 3\8j ݇"9_"p}L^S, TN**6_֯곘{=@RDW4^P Ea5$ 8P=*O v;H\& ;YUw5?5x;~9H_Flc2e"B\Cs($x b2 Ď?t IG@.(9X>{5SRC ׉V;RCX#WzwIuegGijENyޠ- E8?wK [&8plc0nv\JYM]fZo5h. TI1f#J![ܯ>lXzelW(^.x0DF=U~\uN[dtbd:Q )E VJ߼#x0?~#JR9:az꫔A(29t?kŧ~np~SpjCOL|I痛[%M 6:Ѿ|Px"Jnn.j!ئ&-9FJElmɀW'#E{a?D=;E44QQLlvK1&92$E o\ֵ TaVcMq_H{idqhՓh( UL]”+Q i9&) l]756ߔiHl0==.ܡ*Mo`~.5UAfysa/ /‚{эsKDC\\ ?4; |)vO (KR/>Lwُ,hYXKe!JV RwT3^;"RrgV0.X HYf>YBG^Tl]0^19GW}q/$)BKM-qhh?ΕVfR|L^Y6)9=oB=VqUed|g޳kDKJ&))L:Vf(x*].?L/mpwk2 umP. Y[Iw"pN|@Z}q=sw/@f0ôSiMD6iȠPnƶKɖO&l_Mdt;uJ)gSܘ.?Id'.CڡI%GH[zUj,BBu{P,0EJ/ ׽Iu{xFg8Dym8sk:d]j8td6ʃ.9Kɋȫg]ML|ݜ&_n KDO +5D/UX]{$Y1Vq=.Ύ1t׎-jNczYsćo`nY&VE^%1|9|"^{8S &#9dnH/+M DVpӼwuW3\/[C"lSU2v4V&#y<)oH?1 }ѰM3}f:&YΝ@6<|WqǶ~` òަ3 (ƨ?:e6rQb$Nxq5E& i3ITT~a6x |~5<]1S*,AڬsF&Ly*7ӟs!ߝ >wQq{zW$m9tTɂ퉃"'ꤦm1b\{э~Hhلȳ@"hiXM/!Fv+2 l4hq#* Iu9(-9y^\A-\&ϿE hߤs8uh (L. -(kj9FkccݶElȇ 7Fz*tV(%c;[=eOƋeA,PqnX[㌴$ TnȫŅ YO{Hb:籚]&8 gA&[ܱؓ96DhHFy}Pѓq)Frj崷5If懂z.+s7ԔÎm c*ء9y7a{AC{6 ,8̎9=K>dWox>S>i5y- nUa (Y:KN^9E%fߠ0R1o*wL0YZ1aBrOc25 Ġv0*!Zo@N{[(jңY X.C9jt4Q/pWO:G-%$C9[h<GbqAEVIhvK#mO4}1F"0G1ʤ-FQʨv.\ S ԏj:hi ^'Hy-j(D_y_ֈ^dwF$k4XUR} 43&'oauq/ !Pjk /E[/o1z塷P&'gT(V&u_}):zKSYh Cl{ߥp)iノK_rVk;H`DZ$\[urP3n)BjqqFg(SHlNƏ afPJ_Eƞw*Ao&zMH;\T̬>F=ӷQt)zF7U* gF"sx0c"&5ǒnqn&W&,y`Ыė>ݷO1*&څƠ˄5T9F/ۨr٤0hޫג3&ӒRudy*Rz`)[Vq2թ[; ֦7dpH; ]*ِJ|R:"/uO$0T25거/W7hwyxX%GIT7HTI8E|O>I(,,o%:Af"R_xE(C~RΪAK؀HcTi~eU ]M=q4F s³i+Pﱶ,X*荎|+{ K?zt6o1lBXe&ڬi6_I,,D N[jA?CҌu(skw9y}S^`ѵ" 9th–Mv*qOd? 00c;k |؅A&`S+ CXA_GU<((-zmH+8P&ez; 4v]D6pv,[x#e`+nA pm͍oEdQ_ں z Dzkc]on*2eY$_tG[c\82,p7S=fJHAZ_ɇNu*%)RZ A-3npR!}mTyȈQLHҵ 3,4 'dU׆_MRO"n̠"}4b=򩺀'f_6Z AQBr mW*y~`8Gk_*w9RJ"4c|%֯X37Xs0+ǦDA38Q<8պ4iWmwӺƒyC%K -'c^RK[eN>AGHfOCF9L/9BO~!w|Ǝ)bFM6g{y&rbpbs7 q}6.CK"QH*W-[Mn BgeF!;3{ѻHzO-Bg~ '!"6LK$|#1j6v~&9myjW^x6q)S,躝QGp>Ҹ[NsR7Nsw- P^a #YR2dQƗgC0bžuw&4 `C X=74)4O_ ["GXAB *Q$oQ](@  ):Zq5& XsoT(Tv=Q%I9&W߉sNr$@! =]8uD=4m $*E0E.ե>rVzQ1@qr u]tY`Γ&:Y BRds)PkzGb)0znVyV2tXvy"̡t/KletIXv틇]|qt`f)GM5 0^BG_al@/fSB+mfoS7Y+e.CXB6tQ jOI%*Y\"4{nݳwhO.)̚o^KzֳIWM!+N:9a~%1h(FMMP{xR5}BrgIB{Ÿ̐u,'|EAtA؄|e䙮ʺ3[ p]mP "gA-lomňgIn1r{:ӆ{ yz&rSŖ2׍> I(y_Ĵ6YU*FPX#Y0FvSQho|b(Rcdb@B!>E8<R}pMzOMڄ?\嗎o{3gKsE`@\s)MܱABCmUF *?*"MGit.i7MPOZlhg/# !jF> ҡNY6dn^| =VΝ5tGPӝ`.%Kd,үڍw~-t eE9| .!88Ii:X9}XVvQ)5@N| )IrAWN|dǭ$.ڶuHãD"eC]>M kڿ€|we{}_DVKq@ WU(UYL-UдYej%iHJ@WӧYU_pDF4'HM eOw0 \ sA(G}yxG>4M43 Fviz-J;{-A hDJ~kKmjEdV G·ޘ1ךK|Hu<]P>^Fn0C !BzRc5NdYxnSk |ma^Cŏ)+kڥm}QWpND'Eth_㎇Fa&8V)AYh,ո&7rMÄghxug,=P^Vz+iD7MJC_s ڟIZ-HZXTʙp$' 0 eL'*r<)b[hAwSdv)o}7kEMM up<>DMH#FG漵f.9q@˨vݦ|)n^lʂ=35xƑXE/vUݰo(kFj2*KULwVReDGVB ӄb5Q1p#lIu2+%tMp,',@lM>B3i\Π|>K?g7c*1JocGGzYJusȯ(>$qwci<=R -[+}@ ܒR7t3AMg/ze5̰~7/=H73=d=hи_:aU\}Xwv- M{./ HDxϪVSZ7ZʋTo^ҧ~`:)*t;MOoߑQ ۠)0̩ф˲_^LjBЗg8}G0p=;L*rOTUcT9ֺ)4)&IYWcl=(z^X QHrt]O$+I 'fآYΧsRA[i"ox|. Ьv5NQ W`p!t2dQUX@z}\9)BEftbcs;'{W4ngp,[|,/h3q=V ]t 8UocϊP%ګFXSLj=\חZ?["w p\DX0C=VɊu냁+{Zm֧_CE1`7ftU%?Q_ h*LPR/aWUcrW.#&5h+[5a3l\;_=7E ׎u<Ė*6%´qFei!'º@N,Nn;sDh%30tuRBsqN#Esgu(6O0}(Dw/(l}B;z3fW!qn!Fv0>e3,|c#dz)oܜR"=@w|ji1t4) *cZ+Ǚ"7f,R[Bk`xJ[W3xp-qXb9Z|Fʈ\b$.bGgP:ҤdlӁU #(WFM+BdY/޽$܁1305 +:,[V0sԖ*ls7Lupf_vh| j~7Hcwcx}%+];^ t#|бL}#?0|#\jLH2Y8rS"b1#_13ڈr!Qp@Z0S9a !g35CFfs:gR1 S5ǹ0 񡱜K_Jq4̦Q1a>դ0G <eGN܇g+իQ[,wjA๞C~R28AzQo2Xhm<8F74X8avIX5>-l{4ZU7,\4Vjs@9psKf&x-UH;_Eן oIN ?V`SI[xNqh.iF) ]ҾIKZczD^^{unjwrF@@{];Dmgp2~_ϳ;E~S'7rGj{ 6:Zk"s,uzt)(C[|Aj;H3`(MlU"ڊcV$P%gF;w\FbVsO#uEBVZdž,4xyُ4{~Wj(q'-+~Dt֗4ލ9X"%_Q%RFdQԡ8'lj&Gco,ٝ񬚲ؿTGsb+?Kک}:܊#U<1Jn%n3>;]gߠs YYX]<2x(qOKSKysiZ;y*oWu栠"]_'KWUiMS[ U[%QfSLQhlbX̥:cL,2ie՟a+$4נ$V6@{A.Qy@π&CaݤMubV;>S@olU>5  nI`$Հ%!VhL]RϞemSSLAb Ēz10F}XwMD>>]S{P]SyI3O#c&g 2P޳#fl ވ[6ɂ+z;`3(R^(LƌhZ4 # Q\@L-Wk *7>2UvLEk]fV{lp%ϊJ/=Z3N2 @iӢ ɟ/ݤ^Pk+VqܟvcϨ%zJ^/_|[x}.*Zoͭ׵MNe7+HeA7xъzo%4_o&)KHьQzu;9>߿/7*P% I+0Iq.ԧ4WAuB=|4E@{zl3AUrӣm:?ψBv‰,Uh}>ڳ|%e]vm=[\yh E w2f7l4!v'iڗ+PAh)"αm}^T,@vm*]uPQW{,O b ӜI1Nc/xWY _ .DyxjAdTH%08 k~!*Obi2#m7,ꜲkS^Av"V9Ogqs]hF3e| 39@VE[aaQŅ Qλ,JWi.DAT.5_igC0X׶?2"P|@tE CeNl%c" dZ+(ZǀT͙7 A| r0ֈrU~P5Mi#v^49PxB("B GoZJh d8(we`C5w\Z 3 ȩp:iN'!LH@\FXb<=ӥܣ RfqZ'}rn#e .oiwFq+݇ N>cˇFɥ\we픪 MC@W `ܒtݼTHXEKN\Т/bʊBBCGÉ93'2+!R#Os;UP i5>lm蛹~e]~AbF5Ӿ_+[CG7lZl|t%տi?} 1Ogȶ1 cQ%lRY,z{E"O~l<Xl#_8Ԧh6ĄR=h]NŜgCߴ޸@\6nG &.pV(#41Fcc_D{-8I_Fg5oZ4-8rReWòξ~|/ )m Uy65/Y@Mjm霌Cx((k\IFyS?Ν]yΆ;TRyQrLbpA_ ]퍸-ם%8m]0X~kIB[Y5QHӆT7N:6՚F?~(IJF:Zn9oڞε0e"NwG@XbA.颡S E~^Nl ŽG:00s#ɇBQ> Rz8 !]|2G3:LwDx&L TXӐ#Ɨ#(/" H]7xyvjo"s-TSx[VwA17v[H,FQ |YFTkX W$7SQ?F)5/x>t.t F6hinE·F;QD-cjQj;ņFiUϋ:- tSY%qc9>Y99A'+^R4e?а8%soy>m2ִg?%QZf+UZ"qc0I]&bk&" yτf&_^d)F*> P Y" ݃u0'"L53qɨ@|ˉiI[u(La'taӥ9/#i]dK\!8E3Ԟ& }0^kTzNj:2WS$:݁./ |/&E0s-NdJ)&ڍ FxMΪ G8aݰ*HSkmYPtkoԁ7ƚf!_<%bU_g&,S*)X֤J"ع2ьuBl(mTԧG7V"䙛7,cZ|3cnʗ+Y광1Muw8P:qcTyc!s%==;@UGf!z#Q\=/"C{^-而iw(s4wWNƑSTSKZp&m2'hg#U}˨K&+8oYR#͖ {>[y֗K3pF1PUaS"p `# U09uzhޓ]L=kv-pX[a; UoT+9vf颿:o&3u~c<.pgص*U3;°iY |Koy]ņr4n7U !2Kb]Kq+HI/wCLbN^ygr$9FdŴOY2]ЕO$]!uzE{xQ;Jauj*lΫ~.Pa:,#C<ӿ5KaL]a&d<-kOcN?x=Mˊ ѦOp0x,H|R_'K?+rsn=ۿbW'.laV>G[rcnŒũڷmsI>Rd Ɯa][y+J[69Y)Ƈ |OC@(y.id&frG'7ՃhEby:c?0hVl Xхћ;'JiI}xxA =-tO Џ w6I(q[ssOA ] SMI?3^ !AJdȗ 9Xn^6Hd/T[mz>A3lTKwygCĝF ҽjIe̍}uOrP^n ]MzAz=DnA.(XzsޕYiX(61<^ 1A@ YjsU5n"f':s?wkUZ/ez.m4V$D)&0G&lo7Lv1wNt٩Mػшe%{](CS CYppw()8D^$^Ο$s_Q/ tM pny,v.?SNv˂8=_gs + u9':`KI))5=?E Ie#8vTݰ(s%-YxRqB(^FCuh{\=(Pq +ׅɉ~'l;>:n'Z\lx}.rr{.b_Be%-AH#-1KK1\30Zz r;KR+*!5`})-^Q~UEP9/B*VZE@d Yd*Δ8!U j#9,o}Yѝ5A9fIQo@C zڃ(_Z#NNe!!)[zmthi)B&3ލðytd6C qpLe5)HU5CHq"Lz +2VZÞjw}ni[_ۃ Ԇ<-uk$*JCcu'|3}%|\}hѶqICܕ!M1 z,fΓ -͎##5ZKu^\7dM$vQ?P4Ϫ)e6N^De@L kız\ >N]k!uÌtZcp{ځn/(:Cë1 C=>+ӢYH]s$IE@.Hf09&fbK:x\Uu' <"*U =kŦFV%M@ .i{N@$JYv:l}oS6Nӯ7j>|X d>i- ^l2Pn, IZt xeo3Ö}RqDSK83z N"$yh,1 !X)P@.-Wpd4> X$#ZN3OWO~}?b?9}F ygn( +vmܮ|"e@gx䧒)8w%Z'vt\: fL>#be0N4л@@wkiu|:)_|!Nt9 <nYMSϒ)3xǽ%b_. #m,퓞M*A{'ʚw8%smFPp,QغgGXI%=y7㛯ڻF \]UC{JV<(`cj+^ue[Dɴ6k P\2t r}9Fk܋Ggd^㥧|C)LC(Yd h,"NYEf&y Eћ9h#KG_}X $,6= كJcgHdb*͉ V,3N\gCpڱњc13Ǎk׻4\HvFd,0}W} D' ۻek-J&c.]/.RO'6}ȼnQC7 ë{j!|4~*`œ6nіwFDÃ7C(!>mVD` 0GQdD|$ HbP5 LS %Ct=bH›۩ u6vsszrIv#j掂glysBhFAXG=Etw ›r )$ܫIF"Ư^- c-bIIa_XC61vX6x0])VgӺC\9fKYYPa TS?[K2*7^StyِZp Fupk(#Mo&QH ?X R|^ZC\6BhaENɥȆMO(5559#Ѫ![rD@E*Tt{;F;ZQ\Ɣ9(5w, Q*e-T܊ Ȍ|EaV/cƯoYQֳ>!a^z& } 8Ĵӿ 1B5ظ\m}QNG(kA[=7[P: HhfC {<.Db! *}+zp(ꧧdq&2K__5myD5en+(!}ڍ~vRGg {!&LZ6jn;#JRZO*y]ϭ#[' a"lvӶ`*^N_х: nˁּo3ԩtdw4< _&FG~[9']s C,bG ߲V@֮4M?ҮH>|GG|D1RIC,d{!3m37F\]գDӰJ6]62cW/B_@"pj?8q]w<6cb3/V?6~qxZ0 g!. "eǣ_wP@ 4Xn;6Pov,k:v]Jc+ʷ֚ U*>oS`ٳw-]qO@༚yg]VZ`8uG?&)73 ":ۭ!3\tWb[Rxn|KjIx8#q: {{鵉dD`sؕZp)р1}D5w"tca`\jCDrhI4GȣtKf辡)ƾHٺ+'FuG6Ej% b/бe˿n(k%쮹cPٞ.^6RYeC Lh#PԀroۻ1: q\F9%m9ETVuTNTI; OB6/k_\OFT?v7geՖ8U:yW =BXeMtIK|Ah jxex<dgԁ?F#P{R 5HV|ޏ;k!5iy+Z.pՑP+Z.#X[cG|7%!L36(y`/ݎkߢ/=/!1?pM=c$%F{rgG>Ε "r d_(i`7VVHADH EJ2L`V55>2Etb(|]5BTN>qByL_-1$qBMQ:?++r ]V1 _ o88ݭjĎֵDʫ|ClC9˲ig?mևPVdei$,h`'qQ^^گ6\xtӬLXE,\t#٤\!u$ Xlfe:ɯLi,ϜK39cՓJT֚]r7,8$+79/`Kˏ;#Ѽ2&1W5EFa*#cmʨ&jI12dOKh3t#`P(|]k4SljPPG7lŶjpj&=#k w/BJwZ("vb4I xD#O;ݛi4}]籡wn1z Y\G{yI2$y뮑VVtɀ\.}E`V{2u/'C8&kE[kIP:Zʾ 9H$'Ҝ\^ KJ9pbVCbl#G/b104-aAL4·J[4hTƀ&Qf�e5D9dǟaxp/<|tˌt@؜P`aG0=Pz`? Joz4~0>Xh{io eih,M^iA#W T[ ie{Z8)P^蘘fR`bHWvW-)V[_57h϶e̶3dM|\Ծ3ִde @; 1cF°o5Xi#QJSY0U ț7^+ل7KP WQ X43f vXv5Tg.an:aVY\ޠ :zkXb+?b:V#Vi 4j>h{aį4% #AlwGo6*#ӯ_F)¶:j[.kK{; .wy^sR4p9[(΄]\@/8AX s4|> =0/l ,9Йl#1[~.luW {J-KM&ڎE)~d~$88o{߇|+۹&ɓeT^ԨѪ3Zbi %;x:j JGr/^x G_QT~sEs3*Sy5 Lܗt?B LHq.ɩzRP9`Cݰc"1N,d:IZ(,-׾Oon|Y~`y:FfCl;p .ou !=tmC2'iα?Ws | 80t=-jL 5*eLShˋIXa{{r|n6hW^S<%qYͦ[^C*֪@-~6:^U9nvgĦrH/Z;;Y$[S 1(  /j>"X`{ ޠ;ueHNعA^. -%Ŧfq~< m?xSe FBb\b[9#wa|\(yElR0k~򝓞aI47E(bnut .Bx$#YK1j}`j~>A gΝ*=ۭ` F:&%D@J)Ӫl&5MahtSb*Rʚf6XmL?YKjrg 0.O J:?VO x4P?[nP/]/1̵/Bϭdpj -,H.U7h\I(.t] Tx+dO?O%lR? C <UO$1FdV/~Ţ8j]k: rV`gʦ+X^Z˷^B3tϖOHd@52_Kd_K_~ӣD^K P\ j91d4NJbۇ_2&:0`HԟIO* Ō^\L~myG4-ʶIֲN/ʩ`WMtTWRʿ=&ǩ~,쳁غ̝9{0}8ߠh`^z{Y?[c z1@E$u9yIߺJwXEXURN,ÿĉ5c3Ʃ-y[=܍#\oV}Cʻx7}h Nj'l.<0;ڼ]tU iki|7_` R D#Y& し5uvwjzUsVNX0Ue.R:t@ SLN\OiĮG8jѣKirǗƖTiӚY{$_|8lK i/[۪G@jbtcٶ:!ɍX:\Zk W'@]IZ3n:N{< ( ײ &&so#(<o{Mj&@:zۿ}XJng~+ iwsa~60 ΖfmP?t? i $3|[ϐC1 =Do_O Ph-K{!Qf3;FC"&1*a$?G {z[Qa:'>矟!wRzSDW8>eÔߓG54[е'!"D`S{\ wOƺiN(ӌNxYUFy 0IRFPb (7LTYf߾joԚ 8~%$Wk.{ DB{jqFwKw/ՙZȱs#sjU@:{>'cWfG @6sǸ\34%SDzۑX$wp7-n7HypAL<ء۳1+s]2LLÎVJ.ukX3щ{;{Ԟŕ!"aFP$(]*(j+9ٿU^b4;N YZ