python39-testsuite-3.9.20-150300.4.58.1<>, SgIn\p9|G;)!LV|uq%_I!(<(ʝ4U'8aqc8o$7|#d3$ ?jec Keډa9E=:R<2e:SqW1_hos}#qH]:mJ 2UOc *P?ñ ve/=LkٚŎF`H< 9[8 =acSWw `̐V$m =(B>> ? d * Y(,Efq 8B8 c 8 |8 \8 8  88`8H8(X(8 9:FG8HE8I8XY\8]8^ {b )c d Ze _f bl du x8v XGw X8x 788y xz     Cpython39-testsuite3.9.20150300.4.58.1Unit tests for Python and its standard libraryUnit tests that are useful for verifying integrity and functionality of the installed Python interpreter and standard library. They are a documented part of stdlib, as a module 'test'.gIn\ibs-power9-18gSUSE Linux Enterprise 15SUSE LLC Python-2.0https://www.suse.com/Unspecifiedhttps://www.python.org/linuxppc64leDzzz % % %%%%... Q !!!///kkk"""///NNN,,,//s/jjj q q q W W W$$$&&& X X X [ [ [ddd HHHqqqrerere BBB Q(s 3,)N{Q_0 GI %6%b!DG  J M $ & uk(t2u@AA.-A.77 ( (k& &v;vh5hv>v444 d V#V**  w C wkAkzEz@>@ r C r  `a$a f R qIq  J  JY2P22P ""_" V ' Vnv#`#6#` Z N7e Y#nP O4  .J =,!  AH &%BT+% l-4 z2s U 8 :nnnGt++u+!L!mm9791333NRN NR%2Y{|}[Kkgxy ~l[?1*RWWW+'A ! ! !646. *. N=F/N=tVtGFG]&]&]&K 0*zC@YJ*/)hX..  DWW|---/4-/lel111JEJ~~~;;;--R    M &&Z&@@@t nt * *fCe}fCWggV   333ׂW*  g9g/+`/FF&F333JJJJL||A@6A  RRRN YYY555&u&'&u  >qNNNv;;n2ncb9c0###||;|]]]KKKv3]33]LLL Wq6 s - :C9:C  =l5=l2120007s=7 :7F:==88(m#i(mjhj.LLL 6 6 6C"BC"hhiTOT%nnneee2*k2 A A Awww%%%+++^^^ÇÇT RRifiNR j 4jiijSj(jdkUU:U] ] ]p<p444C///  D)d,+,iii*"*<;;<;{C{BBV|///FFFחYiii+++RRR)#Y)Y  $%$%989***&%&434  z z zQ^9#z9#hch''( M{ EEEPPPHD(I777? ? ???ed-f??5500T ==|=֞֞5(5(5(PPP9$Zs hs    =<=RRREEE\\\XZ0'0'0'}r%/%/%/ vCuvC2h12 /TRTM2LM233mem<me<<{<@@;:;...hs}rqs 3 kblk y y y;9u;@@@& ^& {xl{##4##m"#m&%&!!!fff[Z[>>`GGG9:9:[[[$$ml9mLEKLEDDD,c,c,chhh^r^r^**+ 0N0N0N,+,6)6)6)RRR(((xwx(((ڙsssQQQ(((h3hh3~E{G~E4@,5n^^^55F*DpF*,d?,LCKLCO;O;O;]]]UUUL~L:L~33"3{V{V{V . .LqLBLZZl[&[[![ ^ !!!8708++a{a('$x(' ***  +IPIPIP??@&&QVQVQVEDG'R&%'RHH j jCfBCf<<<H/B/B/BgegPPl{{{)_ r r r;););)XUXEk/-&/Q LDR=xYbTYb*** 777x`ay\LJLGGG''' IcccpppnaR!R!R!$h$$$$ebe314uoZooZ333bbb?L?L?L\7\   ii@@@YWY # # ##|#E#|&;;;@r@:@r1115,V5HwD7H`I`I`I@i=%@ͷqq>q!J!!J n n""t";;V; w oooNLNNoopo000///555&m%& K 29243!!!$$???zzz76v7 (((KJtKT]Y*^%<%%< !k!ktƽ111 8 8 8 RR! !ppIDmIZ|OOOqAxAxA/-y/44CCCzrpr j j//5/ |||/d{d4~34~G;;;^^^qqSq||   "kkk'yP'434:NMNhngpgdm0g'=Mr _z. . ::CL34 ZxFJg`DYSFd3ZFxz40EC~g$2?+sw! 0 Y%1HԹICvJnw~%* L`p$(y`01.-irxCa>$ikv37D14cF/E&O\mqKjbsx~r $>Mrz>0=1.-<~!!OtwTkz9QF>K/ng>ia( ^>dC=JR (@H:e2%"@ $#bf955Y);=);UEgx}#!Ax?6u1)*5 k k,9= r { ^2_# .F ^^{JJ"vD<;>pUdcI1, HXH^{ zlkvE6**WWW8q8q8q' ' ' ,,,7<>2q*12"/"/"/%%%b%b. OHT)))  ii@=@/L/L/L v v vcciii@?@nnnccc??? 2C8'% #O<B@wNp;Po999sssPPP##R#0 0 0  Bp?s-/A큤A큤A큤A큤A큤A큤A큤A큤A큤큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤큤큤A큤AA큤A큤A큤큤A큤A큤A큤A큤A큤A큤A큤AAA큤AA큤A큤A큤AA큤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큤AAAA큤AA큤A큤AA큤A큤AAA큤AAA큤AAAA큤AAAA큤AAAA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤A큤큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤gImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgImgIm3accba30c675661a48646b9c896fce789af85f8ed11af715ebf3720e5d9aa3c33585b4340e0d39d24b3b462a52f70df216ed6a0838334e5108843ce6900210e6e80fe47e2866ce1125f4e5d55ca1e813cacd17fec22a28de06fe4cbe4af5349ee80fe47e2866ce1125f4e5d55ca1e813cacd17fec22a28de06fe4cbe4af5349ee80fe47e2866ce1125f4e5d55ca1e813cacd17fec22a28de06fe4cbe4af5349e02a034bae902d9d1689b70838a8c38bc97ef8d944f838917b08eeaef660af94002a034bae902d9d1689b70838a8c38bc97ef8d944f838917b08eeaef660af94002a034bae902d9d1689b70838a8c38bc97ef8d944f838917b08eeaef660af94094626b365f38740258dd7092981d6bf5eeaef6ba14322ca84d618ce011aca69f94626b365f38740258dd7092981d6bf5eeaef6ba14322ca84d618ce011aca69f94626b365f38740258dd7092981d6bf5eeaef6ba14322ca84d618ce011aca69f78192be815b4ffefec224528b948422e25a2d19c1f2d38624f9b62c12fc7559078192be815b4ffefec224528b948422e25a2d19c1f2d38624f9b62c12fc7559078192be815b4ffefec224528b948422e25a2d19c1f2d38624f9b62c12fc75590e22303cea23e82fe2929b909f97d7628bf8fddea34598e9dded6288729de4821e22303cea23e82fe2929b909f97d7628bf8fddea34598e9dded6288729de4821e22303cea23e82fe2929b909f97d7628bf8fddea34598e9dded6288729de4821455a653c84a205a9e0e3273b23d15458b89621179d60290566306f1fc580affd455a653c84a205a9e0e3273b23d15458b89621179d60290566306f1fc580affd455a653c84a205a9e0e3273b23d15458b89621179d60290566306f1fc580affdb646ec8f96973f7e64dce7be9a226cae4cf2bf9b68f45a16fca5c4056bf8c2adb646ec8f96973f7e64dce7be9a226cae4cf2bf9b68f45a16fca5c4056bf8c2adb646ec8f96973f7e64dce7be9a226cae4cf2bf9b68f45a16fca5c4056bf8c2ad05b3cf6ce3b21b892e79d36d49a51a30d6457a18f8b592bb2b0f437fad84319005b3cf6ce3b21b892e79d36d49a51a30d6457a18f8b592bb2b0f437fad84319005b3cf6ce3b21b892e79d36d49a51a30d6457a18f8b592bb2b0f437fad8431903186dc58d7fe9761a96167b75773c0e23d7dfb913ebd726f29ecd4e6845ec84a677c9ea5b4b62c80b777edf027274fd32e96601548064ae1c2d5feab1efa1ec13186dc58d7fe9761a96167b75773c0e23d7dfb913ebd726f29ecd4e6845ec84afa1519e40a14c758b5bfcfc977da7f38cd7c737dc2a299dc673c903e6dd6c172fa1519e40a14c758b5bfcfc977da7f38cd7c737dc2a299dc673c903e6dd6c172fa1519e40a14c758b5bfcfc977da7f38cd7c737dc2a299dc673c903e6dd6c1727cfd9b63c3f688d11d90524a0313aa4b09bc17810a74ca12c7066cc4088860f07cfd9b63c3f688d11d90524a0313aa4b09bc17810a74ca12c7066cc4088860f07cfd9b63c3f688d11d90524a0313aa4b09bc17810a74ca12c7066cc4088860f09fd5a9360758b1ec01ce53dcc329614f1bdd03528895d2e892eee56f2b7f914f9fd5a9360758b1ec01ce53dcc329614f1bdd03528895d2e892eee56f2b7f914f9fd5a9360758b1ec01ce53dcc329614f1bdd03528895d2e892eee56f2b7f914f9ea26768110509c9ab37cede17f4f56d0b29c6b7d7821a4227adfe2b3880fe8e9ea26768110509c9ab37cede17f4f56d0b29c6b7d7821a4227adfe2b3880fe8e9ea26768110509c9ab37cede17f4f56d0b29c6b7d7821a4227adfe2b3880fe8e860bd7cb5c38628bf9cf689a61f2684f22b6719e50bb311319e3b14992d9a146860bd7cb5c38628bf9cf689a61f2684f22b6719e50bb311319e3b14992d9a146860bd7cb5c38628bf9cf689a61f2684f22b6719e50bb311319e3b14992d9a146eefd883c7076b053c34104a53c65c0c7f4407f2cfcc92556546d6f0709976840eefd883c7076b053c34104a53c65c0c7f4407f2cfcc92556546d6f0709976840eefd883c7076b053c34104a53c65c0c7f4407f2cfcc92556546d6f0709976840b99a4ed7db6400580a56ff1e3009a43225298335f799dce29b5290b294e0f57bb99a4ed7db6400580a56ff1e3009a43225298335f799dce29b5290b294e0f57bb99a4ed7db6400580a56ff1e3009a43225298335f799dce29b5290b294e0f57bf397ea24d8d7e18ecfd94f93d0d93ad3c62f558e463bcdc4ccd5a21a1c4bc216f397ea24d8d7e18ecfd94f93d0d93ad3c62f558e463bcdc4ccd5a21a1c4bc216f397ea24d8d7e18ecfd94f93d0d93ad3c62f558e463bcdc4ccd5a21a1c4bc2161235e8afb8443a30943bf0b2baa4a7433498b49609041969c992b04eda9d8b5b1235e8afb8443a30943bf0b2baa4a7433498b49609041969c992b04eda9d8b5b1235e8afb8443a30943bf0b2baa4a7433498b49609041969c992b04eda9d8b5b53f313b74aa3e5dc7c1c91670ad64c5e2f75c4a246c0b76150f7c52587acce3b53f313b74aa3e5dc7c1c91670ad64c5e2f75c4a246c0b76150f7c52587acce3b53f313b74aa3e5dc7c1c91670ad64c5e2f75c4a246c0b76150f7c52587acce3b3c017abea956aed4d7181a8e5d001c261e619390f1294753b0a0a5cf05b8d97b6ce77b8edd15b760cae443b421ad3a29f84d53f5cf074bf3fdadd866ac141dc83c017abea956aed4d7181a8e5d001c261e619390f1294753b0a0a5cf05b8d97b455f89dff5b09f125f49f96e3e57f93ca76fed391b46d6d3adc20f875715ed8c455f89dff5b09f125f49f96e3e57f93ca76fed391b46d6d3adc20f875715ed8c455f89dff5b09f125f49f96e3e57f93ca76fed391b46d6d3adc20f875715ed8c87f31bf585e8c852781189fbaedff338e263e521b56aab2c48fd5ceb579d36ba87f31bf585e8c852781189fbaedff338e263e521b56aab2c48fd5ceb579d36ba87f31bf585e8c852781189fbaedff338e263e521b56aab2c48fd5ceb579d36baed5a66ea3159a08d277ed44e6c3dbb81368f1480d2a7bcfdca0342f5375f733ded5a66ea3159a08d277ed44e6c3dbb81368f1480d2a7bcfdca0342f5375f733ded5a66ea3159a08d277ed44e6c3dbb81368f1480d2a7bcfdca0342f5375f733d6e9cf661cec6b7c78991641c9eba2dda60049a7946a66fb30604bf0ee59ea6fc6e9cf661cec6b7c78991641c9eba2dda60049a7946a66fb30604bf0ee59ea6fc6e9cf661cec6b7c78991641c9eba2dda60049a7946a66fb30604bf0ee59ea6fcf6e52f0cd86076fbe0474577e0806c10dbaf8a2faf7e0ee67b63efb7444527a610b55452ac2309293aa6d822b2227e3705f49bf28eab1fa42f04fe5425124ce1f6e52f0cd86076fbe0474577e0806c10dbaf8a2faf7e0ee67b63efb7444527a6932921c41685ca12167c8cb436aeb583bd159bea94d0111ad86e33290333751a932921c41685ca12167c8cb436aeb583bd159bea94d0111ad86e33290333751a932921c41685ca12167c8cb436aeb583bd159bea94d0111ad86e33290333751aa4e48a51cc89940aa1b7899c3bf3b64dae963ca0e0233b0c314e834129df4850a4e48a51cc89940aa1b7899c3bf3b64dae963ca0e0233b0c314e834129df4850a4e48a51cc89940aa1b7899c3bf3b64dae963ca0e0233b0c314e834129df4850ac475e7709c9f18655823819f32c3bae4f24e2a47d6be704787fff3948dfa0f5ac475e7709c9f18655823819f32c3bae4f24e2a47d6be704787fff3948dfa0f5ac475e7709c9f18655823819f32c3bae4f24e2a47d6be704787fff3948dfa0f5e1512fa186837ae53822982bc71b841100d5c67c67ee22185f1d5c96f87b6087e1512fa186837ae53822982bc71b841100d5c67c67ee22185f1d5c96f87b6087e1512fa186837ae53822982bc71b841100d5c67c67ee22185f1d5c96f87b6087c8a4c456df9e20f8c641ef292d15adf1bf7bb5224fd206b2a3c5b78794542fb5ad98a19eea36d173a7534f7c101cfa9356957c4e5f0f27ed7fa3f9f0aa17715dc8a4c456df9e20f8c641ef292d15adf1bf7bb5224fd206b2a3c5b78794542fb585031d8163fb03155e978ebcd17d714a960d22d91fb3233f0527405a209ad24885031d8163fb03155e978ebcd17d714a960d22d91fb3233f0527405a209ad24885031d8163fb03155e978ebcd17d714a960d22d91fb3233f0527405a209ad248a768c9db58154645b2389448f1c4bf6aef5ef3a512365ada431459e0e5469d69a768c9db58154645b2389448f1c4bf6aef5ef3a512365ada431459e0e5469d69a768c9db58154645b2389448f1c4bf6aef5ef3a512365ada431459e0e5469d6982f89a03b9b655dd766259855d8262fb18c3f16e7201a321509fed301354876682f89a03b9b655dd766259855d8262fb18c3f16e7201a321509fed301354876682f89a03b9b655dd766259855d8262fb18c3f16e7201a321509fed301354876661942ac95bf506695ba6513ce7f605148e7a8d435214b9e7d8af707672e425357a79e85d0330ad2ebc97acf2d0cdd66ffe51bf2768296b3cf628d2c18cb86f9161942ac95bf506695ba6513ce7f605148e7a8d435214b9e7d8af707672e42535b0f3686386e8611120f22a7172df1ef2a1964f253cdcd61c5339cda2c70ba69eb0f3686386e8611120f22a7172df1ef2a1964f253cdcd61c5339cda2c70ba69e7539e65c158c8b8f5cca1bfa94e88c95b5434e75e2267cfa41b8eadd5bfb15901ebcff7b4df71073511e1f921bfb5a1a23eb76414e0fa7e73ebbc2f4d582e7981ebcff7b4df71073511e1f921bfb5a1a23eb76414e0fa7e73ebbc2f4d582e7981ebcff7b4df71073511e1f921bfb5a1a23eb76414e0fa7e73ebbc2f4d582e798463ae6369ca7ca41533df470e2a8eb6e4fcc5383903b439c9ae2736d9b5754a5463ae6369ca7ca41533df470e2a8eb6e4fcc5383903b439c9ae2736d9b5754a5463ae6369ca7ca41533df470e2a8eb6e4fcc5383903b439c9ae2736d9b5754a5d739d397c4b1354b8168662009ab29c778e25bf3127096524387ebb2f3f67e85d739d397c4b1354b8168662009ab29c778e25bf3127096524387ebb2f3f67e85d739d397c4b1354b8168662009ab29c778e25bf3127096524387ebb2f3f67e85c81a569f5d4ec9102b4b6d6a036d8b09ce0c3391be5837a251aa8a6a68b3dfccc81a569f5d4ec9102b4b6d6a036d8b09ce0c3391be5837a251aa8a6a68b3dfccc81a569f5d4ec9102b4b6d6a036d8b09ce0c3391be5837a251aa8a6a68b3dfcc890ca2b4047aae0004c6042260fc5e703bd6d063bb61bec28c7dbd9235ed1af5890ca2b4047aae0004c6042260fc5e703bd6d063bb61bec28c7dbd9235ed1af5890ca2b4047aae0004c6042260fc5e703bd6d063bb61bec28c7dbd9235ed1af5e71182cc62799eb5cac115fe7b176bfef74d1140a90923a72ceded02f0fd050ce71182cc62799eb5cac115fe7b176bfef74d1140a90923a72ceded02f0fd050ce71182cc62799eb5cac115fe7b176bfef74d1140a90923a72ceded02f0fd050cc500b3e9aa2770d3f242cc80d57d753c74feb0e195251569594d8350aba3d682c500b3e9aa2770d3f242cc80d57d753c74feb0e195251569594d8350aba3d682c500b3e9aa2770d3f242cc80d57d753c74feb0e195251569594d8350aba3d6823dca952c7545dd0dd053fae3a3f0a0ae00cd0f873e9d4422faa2daf56cab842f3dca952c7545dd0dd053fae3a3f0a0ae00cd0f873e9d4422faa2daf56cab842f3dca952c7545dd0dd053fae3a3f0a0ae00cd0f873e9d4422faa2daf56cab842f38e8d565cb742f1c07a57f6263de751ebfa8cdee35582765e7aa8250076858c538e8d565cb742f1c07a57f6263de751ebfa8cdee35582765e7aa8250076858c538e8d565cb742f1c07a57f6263de751ebfa8cdee35582765e7aa8250076858c5ae0d8f4fbbb4a2fd521732ab429640fc9ef9cd8650a27e69d601284a30dcaa44ae0d8f4fbbb4a2fd521732ab429640fc9ef9cd8650a27e69d601284a30dcaa44ae0d8f4fbbb4a2fd521732ab429640fc9ef9cd8650a27e69d601284a30dcaa4467c1359239478831a726463d1a44b520a906522773ae032262d67b50e7b2eb6867c1359239478831a726463d1a44b520a906522773ae032262d67b50e7b2eb6867c1359239478831a726463d1a44b520a906522773ae032262d67b50e7b2eb6812c3a9f544ca61a11d7deec6abed23d78c5d8f134f9cf907c7c79c94b606325b12c3a9f544ca61a11d7deec6abed23d78c5d8f134f9cf907c7c79c94b606325b12c3a9f544ca61a11d7deec6abed23d78c5d8f134f9cf907c7c79c94b606325b4c0039a7bf8422d1dee90088e71b9e3b3604d84e246d515b235032c3c3ace2464c0039a7bf8422d1dee90088e71b9e3b3604d84e246d515b235032c3c3ace2464c0039a7bf8422d1dee90088e71b9e3b3604d84e246d515b235032c3c3ace246cc482e71aac8657a29d44c0b3a19e844066fb5cf6a2db7174204e940bc38312fcc482e71aac8657a29d44c0b3a19e844066fb5cf6a2db7174204e940bc38312fcc482e71aac8657a29d44c0b3a19e844066fb5cf6a2db7174204e940bc38312fe73010627d2eca30a3f0ffcc435561c75eb93f6779ffb6d7ed20639405ac0a99167ea08fa9ea244d602dae61d6d28484676711186ecca18b430daf16d90bb413e73010627d2eca30a3f0ffcc435561c75eb93f6779ffb6d7ed20639405ac0a9904529399c8e69ce78f3476327da13851b558def3e580726c97d7f1af21d7822c04529399c8e69ce78f3476327da13851b558def3e580726c97d7f1af21d7822c04529399c8e69ce78f3476327da13851b558def3e580726c97d7f1af21d7822cb29e40953f5ffbe34373273c7da63a9ed23eb48be3ea2a9d418ac923c056e770b29e40953f5ffbe34373273c7da63a9ed23eb48be3ea2a9d418ac923c056e770b29e40953f5ffbe34373273c7da63a9ed23eb48be3ea2a9d418ac923c056e7704969aaf0de773186b72608378ad174ed4f6c200ff82a96e49d211f79764a68aa4969aaf0de773186b72608378ad174ed4f6c200ff82a96e49d211f79764a68aa4969aaf0de773186b72608378ad174ed4f6c200ff82a96e49d211f79764a68aaa3433340dc3c9e058b312e079007e9475c72d4bf3e6fc1a2c1b058db8f289b51d8ac27a86f8a8f64d1b152635e6ecd0469ddbf5dadd29870a0f969538ec5cbbcbbcbb17674ce3fcb60d1edb8127572c8cc5f2e3022a4beb60f75a8f93869bca39715608adfd9443d46131b203d3ea2e60e70efb2539f22eeed3d9c65a3ecf368429bf3b0147217cfbb38bf2a3af976dc3ca4d098f035b2ecb392875debe9d3f72822ad12a0057d5dbdd40981f066beae03c1ac0c6f5ab62daac73d53e438218c09236782d5a0add20328f237ec3c077100029d197aebd224fe4f740c5a8ca6c2f42798e065d95a4847a2543f79daecebdcce6e2d80e17480db20e8283c5234c72de48a8909312a69fc104c340808bc13fd797cb43c91712c941affc4cb13d7b8e274510261c11e92a65d216fe64a3dffc189e0160a61fb01832d919d24c67636527c2bd0b524240d2b31430195a6e9cc23dbaa1a7b1f269c0f2774b6dcd54bfb2e67c91fbd2ee5085909cec073fa4c97b7b4cfc0655e6034f5a3fb5a9ef6425d90df922b1ebfa25185ccf01b3d22b82365986e4f45cae5499700e7ce54a4f69576ca89b1f53e9174c99f1230ea2a1c52607565c7eff5a612a00e0fc117dde111fcb796bb763063491fbf846ba68ae05f0fb137ff214739c0fe164a5f2ee0b3c0d04ea0d55ac445635b331a4fccef38e9424e788495c360fe1da317c4f7b6a096b41f2fdd13b3f4d8548a2f0b7e5d561c2e49f86e4df8107acb6a6b2ef421460f7dd9334d30370b664b499b6e80226332f976492883fc3935fe5f2c4654897a57c66cb5a68165fd7e158d573adf12c2672d086d4b4e15515aaba654a45855f7c41a23fe2e684f4fca33991b0b65e02a5959d045b59906bf3e2557a7f777f1def3dc891b5d617d2a261527acfc1749ff8c402601f8bdc90f486ab6bfed45a0371faf92ac3f3e352a910dc13d15370b6cf53199509d176cd39d969f0570cb211049f2694dc3211773272d31fdd1f0c27bf31e09adf9a7fd9ac42e4264e5bc26b3b392be1af32b651f2befd3ba261f3a82d33ccab0c3c5a3508b327e02c113455995d7d7ff2706a6d1b1a843f3cb1f01da118d6c3032cda122c6989d4566bdcea547a723bfe187ec350b1c8d3cf1f8e7df3ca83a274b513b472a1833df6adf0a5420f62fd040bd9b01160cc9f10851d4f876f7f9aabcdf96130786ab248ea1835d2cb67b1cdcd568480e515eae06293d0d71dae3d2e4f0ad612cbe439673a84c164bb643d63921b91412a1000c87c75dcf66cfdabf52633241d5b86b51f4296326c1d8e35b9aa00030159f5907c4e0db059fb5d6fe5fafb498d27942f9c7a6c697d4dac8e7f56da15fa162371b43c851d70844922c97c6d9908f5ad0fc3586aa4cd8a82abf64174a8a572271a3e85d7cf31317aff8036928d7503ee5c786ffbcd1fcbfdfb53c8cbae9a464105c4a3f38389c7721c9d1fd0333103b86e7c8071c9db2363cf3a39d434bb1fdecfe4d8e872db161e5b11e5262eb8ae66a0acdc73fb7200368da32f76a4c106cbeba3c92456947fbc68d1b012bc3762db1b5f9399e7be63bbde349f3e6413de32280d4e29d30273dadde1f9ee5bac32aa063e8a5a3670fa89661e8555d05531985619fa54a16eccda0e15e50bc11dcc6ee9df9b3c590cdc2f3c65d439622b1f44ba6cb54a14bfb9bb9fec4a1ca47a930f067c307f32481a1f30fe454d29ec7d61e9aff7c02bca3072ab2dede632a98e0d68985b025d402ebebf011281a5c1fb7f76ccc40aad2da2aafdc96e6360e8c5f5e62d0c56d11bdf743c7b22a0dc8b4927a6d6ddba218bbe5e954f0d9f7089fdc4e00d6378a1c2d76c576c3fab33e040af706bfa799e42fd67fd82457af7627ebcf642a42b83b54d7d65444b140db8b2f2f415c8440e220e322ec865c974d9c74fa8ce03908bba042e69f54ebd21bbad418f805c8bf79e2b5370f497b894bf4a0daee51ea75814268657ed0c41735b84dae161e65391cc70272930892729195e64efc1208cf4cec0c15a8e79b9fe5edfb0df4be28827dc628a32a9dc948297e16dbf183583bd4530d385d2cc2fa54d7063531169cc49c4105aa1463e54e298afcbc2f9ddb8f26756fcefcebae5a1b1d9d32f60b132a5a29da8fedbbb142e6fe9bb00f99dd1f3d79c7d463aa0ee94baa8aab42a1e7c53a9b5547110fffd1a85c30acc0a952bcb21605490ad5f19e2919a1dedda2a7ddb4a77389cf78f56293c97fc1343724690ac2d535399195f0b6383004f5dfd3bc309b4ff2f249f6cb99080189f7d7e55c4ef5ff839230cf999711c05b9ee030a7e843376aa51190971fd597643508cea7dc740f82d124d2bb2076ae5364284dffec71745ac85518a8b9480338bec642b40ff59c70cb1eae84f071191158b1272b529c341b63284295c7ecbd35296742e113d2d9f9c42ebbb0b32a18c4dee7cd4666f09d5af3cbcfc40f676c3fac772fad72609c70cb1eae84f071191158b1272b529c341b63284295c7ecbd35296742e113d257d5eee637ca2c9da141c7de8dde08e5e4681ab488c8a16ce3dfe110e548e7e32742a639267f276ccb02f9e76a1609c47e59f6da1fde8157b4b72b1ce01aabd457d5eee637ca2c9da141c7de8dde08e5e4681ab488c8a16ce3dfe110e548e7e3d47d492a22724d97cb755f222747f5bd488673351c8c4db3ea0175a8295fea54124e6942c1022df5ceedbeabc263ecc1c96be50a6875747aaa3aed6e6b62a7bbd47d492a22724d97cb755f222747f5bd488673351c8c4db3ea0175a8295fea546f9307c92335f63ef2b5c7f7a37684848223cf06fe2b0e004c37862829fb3300d972a6fd1ba0ff6a76f372162c66b1ad56678a5ca637c11908d3ef84ec9ac9126f9307c92335f63ef2b5c7f7a37684848223cf06fe2b0e004c37862829fb3300058b6457c37b79fdb010547f586435ff6163edf8748329a44df4c6c7675511c374138cf28153a8c61c5e12c2145b50b2fcb14c7243f7e15d55f43ce868569f7a058b6457c37b79fdb010547f586435ff6163edf8748329a44df4c6c7675511c3a8a9c2248fb7e8946bf8172d94975180e23b0fd1522056c6caf5265752d5b16ad41dd1944762456675a42a340e1e6d00c412f1b6c3a98c28e046a350f3e42f76a8a9c2248fb7e8946bf8172d94975180e23b0fd1522056c6caf5265752d5b16a8149fa0919c072862e64bf3d82426ade4f1bf65a1573fb0ba3f052f7b709cfdb0bca67da5f070fb77047a996143e7dea5681c1a03ced3d17471500cdd2626e1d8149fa0919c072862e64bf3d82426ade4f1bf65a1573fb0ba3f052f7b709cfdb7f2b2753674379a5c6409dd58c2ff0392c0f456be4ec3162adbad72b040200ab7ac214b29ae18d99c68821371bc9a65b3ef999290b22f95b70e092e0c24a43927f2b2753674379a5c6409dd58c2ff0392c0f456be4ec3162adbad72b040200ab07a5edaefdda8eee50581920d3723215227ea4dc4670c05cbaf8e954b69ebc93034df1ebbe7aaf7921e41d95a627fcc509f575945f471783df25952d8c7eec3607a5edaefdda8eee50581920d3723215227ea4dc4670c05cbaf8e954b69ebc930401a637c268f82d7cb4cbfb7ac6c60519813908b67d50e22d95c4383b2e97a3bdc2491a3f5ca5e6dbc5d58cdf4b1cc3e1172f8cd90acba5d71b968507227f790401a637c268f82d7cb4cbfb7ac6c60519813908b67d50e22d95c4383b2e97a3c935614f58d9bba480518ca2dc2385e078b71509e29e362efc5aa9f3e686dbeec935614f58d9bba480518ca2dc2385e078b71509e29e362efc5aa9f3e686dbeec935614f58d9bba480518ca2dc2385e078b71509e29e362efc5aa9f3e686dbeeff44245a4350d4c9f0f9d9a1b23337869b10ce8847399b198ea9ed8f5af050ec8612a188eae6abf874c4e360984b276138c89735234f607640b237e4d58681c5ff44245a4350d4c9f0f9d9a1b23337869b10ce8847399b198ea9ed8f5af050ecfbf33d338bf44dbdba72439bd8fe3dca442fbc89dd866e3d342a3dceab8c3cf89b4312df58bb4a57e5df4b607d7fae26825616e76b11ea23a5c6d66afe69bfc2fbf33d338bf44dbdba72439bd8fe3dca442fbc89dd866e3d342a3dceab8c3cf81272df6bb97f5a64fee72b9ae125f0eb29b33c1bd6efed9c112d1810b3c2ac7139009ba5ef95960d67b0bdb63d68bb39c6a6163d9717363c87799892fd60edc51272df6bb97f5a64fee72b9ae125f0eb29b33c1bd6efed9c112d1810b3c2ac71c50da5c2a123f64055963607e847e288db0acb2786e12da267e62eddf09776811a0cc6e20bff94895bb723b64f74b14c65bcde2d884a932298e21c7a829d2393c50da5c2a123f64055963607e847e288db0acb2786e12da267e62eddf09776812802ec1efdd572e75dc0b65167618da5427c6718e05d15f9dc63fa6171f3b438d1938247057c5ca72f083e55c42a3ee433e9af67bc41f7e9ec12783b4603646e2802ec1efdd572e75dc0b65167618da5427c6718e05d15f9dc63fa6171f3b4389e48c857f999fb3f50d3a99224c53b40c7f7f386ff4a6da6ffa43c812207fe137f1e5337dabf877fd138a43c89f84abed6aedf4b5225b4e2976415acbb0065649e48c857f999fb3f50d3a99224c53b40c7f7f386ff4a6da6ffa43c812207fe133d1353f3c81ef71d349a215f12b7c95113057651eb7386e53bc2eae44b8cb5405f3729e339601696ed42a1f5689bc16fc36c9bd0faf224820d84236dab01b9473d1353f3c81ef71d349a215f12b7c95113057651eb7386e53bc2eae44b8cb5402088242c126bd9718f8b8e761c332e33bfc1e1b9c28ea41dbc4e5413d3f6b0d7959a353539e83a742abfbe7602bb9f007ad7c5e5c02fe8985e691c22cf7e39d92088242c126bd9718f8b8e761c332e33bfc1e1b9c28ea41dbc4e5413d3f6b0d759268f7b1234014c380cfd59f650cdc26f4a2f5019ef7dd7680ca903c0444c2f00ecaf9113e6ac5cf689444ac591270c697d165a6b8d1dc6ca2355763b6440b659268f7b1234014c380cfd59f650cdc26f4a2f5019ef7dd7680ca903c0444c2f13622912a556189951ebc3757988be0ebb97da766c243a778ed2d7727589096044cf376dd05d718edd2164c91907baad42689887061bde7bd91dfe48b44d386313622912a556189951ebc3757988be0ebb97da766c243a778ed2d772758909603f29e49ba40b847b9fc0df4c1aa0f9fcf21e7ed5f0cc2c4f1e239998b3e49b67285aff23b9b8cbf6624a92dd1a41a500544bcf7b2cfd51cf0827eb235a9a2cd43f29e49ba40b847b9fc0df4c1aa0f9fcf21e7ed5f0cc2c4f1e239998b3e49b67d71a3e386992b127c0e2b5d04dc838dca1927fd4d2b6e4d39b24b85167a3c7af8b71ab9a1f69a48b84349ca83554b2c284832f9d87eb3a17830da5bcdd7952afd71a3e386992b127c0e2b5d04dc838dca1927fd4d2b6e4d39b24b85167a3c7afd66462ec23d700f03934efd73b8239c2189a06dc065505641248ffaa440e06de548111121206196fb9dfb076c6482a338fdd429f47766a49cf6e954bb0056314d66462ec23d700f03934efd73b8239c2189a06dc065505641248ffaa440e06de45167270dace2b17f9d67a7a4426c399466aeb1b444a0cfb2fac361a2ee5003e84eb1ae898cdd4f6c134878afaea23d882ccb606716e61b7da7a2d8d646e3b8845167270dace2b17f9d67a7a4426c399466aeb1b444a0cfb2fac361a2ee5003e3d7e20a129ada0be94b4e8de1eba895869736f2f9a32dd3f139c02a2e9c64b982af37ac8e2223147f1a31dce2579f4a5c1d3a3cb88c9e860d190bedd40030f223d7e20a129ada0be94b4e8de1eba895869736f2f9a32dd3f139c02a2e9c64b98165b07125be5e52d43ec8d4bbc57d3524254dec7e951a618a4569fcc0ac2492f1647dc7d600a1bfb93f72d6bce8a55f8bfed259dd2f7b4da9d8e11f57b459146165b07125be5e52d43ec8d4bbc57d3524254dec7e951a618a4569fcc0ac2492f31d12ede853b2be9b8cd903f985b19747bc8cb13c9b7c53a9c567ad94d027e57e1f34ad28792ea331bc36164f2dd638a518d50039171cac1af7d4ef0b15c567731d12ede853b2be9b8cd903f985b19747bc8cb13c9b7c53a9c567ad94d027e574cbd6a58b4ccaae4b4c720b1deeb8e8ae649445c07759da98262abed9442fb0b13f67245436b4a08dcde1a1aecc6d190065cd335d5341eec38896a26a4cc04094cbd6a58b4ccaae4b4c720b1deeb8e8ae649445c07759da98262abed9442fb0bb65b97688a4cc7af50cd737c51d1aa856db10223309c10922bddc45c9633e3345ae61906833847ef999ec891e344de3b1c36e4ddad8eef7d0dde2e3be84ef1e7b65b97688a4cc7af50cd737c51d1aa856db10223309c10922bddc45c9633e3341276cfd6b875bd979358b4d3ad0ac03ed677958c1ae0db82e68acd63eec65f021f66260f71b2936bcd81f9da724ea5e8f7462a27caac29cecf9558a00697743f1276cfd6b875bd979358b4d3ad0ac03ed677958c1ae0db82e68acd63eec65f0233325eae410d225cb2d4e4853ca629e299d935410374e418d212534b6d678de05ceb1f3231792a4966e9d99994cdad53c86fbee25bd487ce19fee6466654f8d933325eae410d225cb2d4e4853ca629e299d935410374e418d212534b6d678de0742b9bd1691024873498c388f565216aefe78ecc2deae024bba45e9104c2a93c8fa6ea38d79d65d6b055b86a15116cf205b4bfc4e023684b3035405932e8dd1a742b9bd1691024873498c388f565216aefe78ecc2deae024bba45e9104c2a93c6a2609e36b77c36943cec2138a944d5e0b98102d07fabceb65f4ffc4df6851586171aa77c9ac80aa80ccf5ae2e44192e0eb68d603c3ec87de5a7ca285415ed186a2609e36b77c36943cec2138a944d5e0b98102d07fabceb65f4ffc4df68515840e112668aae84b434d3ed66033e2e06fac9af588689b067cfe420fc4d6d5b8cf6b0980d4796538327b6aacade470f64de16daae2fe817310c62f9ac508a00a340e112668aae84b434d3ed66033e2e06fac9af588689b067cfe420fc4d6d5b8c2a404258a5bf9ad60b04b21cd0a6a0f34beb8311785809651835c567b121a3a1d95e687e4b4d33a3193764de2eac56185109e225ea8c319378cae7d421550b462a404258a5bf9ad60b04b21cd0a6a0f34beb8311785809651835c567b121a3a17b520666514a1dc7a958fb28e0e9e1ab7ff248e69f885f59fe1870a169c9456e1d63a59ddd22672067ac25a6bf8e7a79c47e1d5a69620722f7b717ffb6ad0f437b520666514a1dc7a958fb28e0e9e1ab7ff248e69f885f59fe1870a169c9456ec363c23a513bc30095ad558a0183a45a4dc90729d9e405118c7cc6f451aa42782486279c96c4f8b03e963a0e7626016fa2efe538ea6cc494e0334738856a3fefc363c23a513bc30095ad558a0183a45a4dc90729d9e405118c7cc6f451aa4278f43aefb7b3d6875dca8097d14811cd7f3e5dd00329d9ab5adcb95269f6d729c1b93561f52a0ea72d50d0f9eea511da4d7f5d4dff45ed1bb4dec4c34806d93d3ef43aefb7b3d6875dca8097d14811cd7f3e5dd00329d9ab5adcb95269f6d729c1bf2438caee3bb69088f7d29f64c75c15062f93d720b9035dee66ed180b78b02e2d9c140cb829c8002ed1e92e4a5716fc9b41910fe9fbe151fa0587476c11cf1fbf2438caee3bb69088f7d29f64c75c15062f93d720b9035dee66ed180b78b02ee210ec0bcf1de3b41ef89ddcfd4cbee37ee513323be3b2233790fa442c5c65a730acffdd552b372542c6f6b7d2df1864fc0659fa9adc6757cf1d16044c4e02dfe210ec0bcf1de3b41ef89ddcfd4cbee37ee513323be3b2233790fa442c5c65a70620692caeea620901dbfd930cae1a5c7a0cdbfd67c00cb2c8893b8e4261626591b6c11b3f30cecedb710bd72ca8ea1255f2677c9a004817399fc99d377322180620692caeea620901dbfd930cae1a5c7a0cdbfd67c00cb2c8893b8e42616265b73401a33dc3d4407c36bce43e20ba46874ef69cfd434652e03e61f21c16a4ad8df128afec5d399cf31ace0ec10950d5c5bec7fc244cbc1b5ca31fa5a7be00c8b73401a33dc3d4407c36bce43e20ba46874ef69cfd434652e03e61f21c16a4ad45a38d7095052dc47d6ea96a69e57c2c1987e7906e379de2a74dfcfaf52374a76c7d60d116af526b202b9b6c07ce2f52f348e3891b8fdb568023d6a127ea8a5145a38d7095052dc47d6ea96a69e57c2c1987e7906e379de2a74dfcfaf52374a71a766ccac6850b0424118733e2b086803921e0829f98ad0719be671a5da4263cc334547061fc33e59fd008fcb4e16b2e78e17051e068f44f9f8a4b8ffdcf0cd02231f062f77245c1d62109a742f53d85d8b69d91687957e34e781c8d5f6b5fe51d519f5e94d0e278abb70294a6f9cc64fcb4d0681be838223c7a4b928b4a9075fbe9884e5e1a28ff1d01c087bae2aff7fce7f80884f16b7e3941945e977f3ec27ebce06c49098560f0ab5892bd0535fa277d3add18a0f3104d37e9f10a92d688e40ec9e60ee10385af078bf41b8a2fa126fc4f0919547e0a68f0b1aa2517f046ad00c7ab56f0db52811f208f3a366dfbc696711cb37015b2ef77dc0fbf00e592c21e2ce5937429a9aeb92686b192e4751eb28399dd7af44bf524b5706c2237e8b9d25247d95a437a0729ea6a963877503dd83975d73fa4a0088bc3fe7f5faeda12fe0131ff8dba636c727b1b0370d60a9817b50dcf3b9c726a64169e9745c9121eeea30b412c1f9375c86965528f0fcea92cb59a9f6f7f827ad639f6d50d5432046407fe31a1b3416acbd34df0c4622c7f7e6fecf9859bcebd4214b6b62c505f03950ad7681549157802d8c38005c59ed3c5df5d9f328636701bf24c9953984faf860768e940633cd0dda9bdb10d3faa9f018e4e94bcb29975cbfa8fcb7fe424f0e86363c03e17fcf28d44938d2d064d3de8419705acfa6f6f7a286a66e4b7ba1c0e82ceed789b3bd1c1de73d40a79c623b8698f07aad0299921bb4ab9f758eaae2bcd54df6664081634a3e1f3998bedeab2c72ddcd46f3ad82ca5fe53980dcd5db584ee6c12f0b2284d79ab107e1a79a625f8b28d80bd6872031465e55bbfd6ab94a3e3cc02359e455af7fed69ab8dc2266bf58a3b10d4153ace9a776b28fb66dc13cad79303d04b81a83a9d556775a442e1369d45121a0e0ab8f13242328c144a92518311e69ba5e32529650673c6ac61b300b97800f8cd5423b429ca2abf14748e879709eda31781ef3dae2da934387b47e971ec209a1ab5702e7874c801ce6dc27c1bc7eb5dcb6f3407587099018ab086866a88fcd0c71d13d415ebb1e502759b1ee544d0df40870f102dbc22ccf80e205ae2ff481cc13a8d0a3229677bac1f0dcc1e68ae2779395b1b88b99d551044fe2b149502d993fa0eefe6bf17bed5c1ccb61b8cda6982745ff2f6fd5b5973c468b53cd403dad06d9d47dfadd88ade0a29d16cffd3997def9179353eb6ae020644c2e59a5d4dc5ec1583da51eab7eabbddc109ef35ed9aca855ca57629ff38f775f7a972da5771df9654e0bcdf8aab7bb725739e88f1529897190c26c969689735852da29b39f1fa962a7875dd5310a7e1d6f6befd7aa20f4acc0b9154f3206565a2ea5c81b71ad7b255d2b9195f8e79dada8f4e68c15b1ceb61f1f35354106972a6e3f29b69f351d701ad1ff3690284acd052027b622bc696be5fd2068fb149cb82a10e6dd15537175604c1a212e0d1dde41db44732b7bb09f00ecb0359d6c9434ddbe3065ea0ee3a93a9035543b71dbb348e381137d9156ae36c93d16afc52347daa6caba50395350ed78af40203821d243e910a11a7a4e9f2d2eff70820d5863bd5593de8d283b89e1fd8e0bea51ef043cded7c7261849ee3906e805d3e6c6b0afd2cd11399b73a7d965edcfd7ead903245e111a5dd49874b796a229fd000f1e22997e79621aefd7e823757294dbf3f1b388f55a2ac4c13336f2814fdc862ad52e88a93c7eca7cb3e68d2d8d9aa5fa46bba109c603c76fc69e1309b23196ff7ecec1b1bc52c0ca265400e05a055acabcbf6ad46d7c6cd0a3ab45796872944e8ddf21fa89c0cca6f1ecbb1cc73369f109a6504cbe619342b664c938f97e39e253836a894be588688098bf9b88999fad90df09845d5dd4b654f375c929f5532e2e243f77ab102aaeabf39a71e7e5690003c23752f77c7ea1108cd51dd7e9b0ca7021ad925aa982bae5bcd2f988b025b414cdd379e6702d88c31dc4953ab4d91561b84892242ae792a0ce06170232fca465ca7a444ea6d77caf108486289104a7bedc002c13fc646ee61562558a6f34c47f9b18699490b6c510655e5280182d6ccb15e4ff46a134268e963620ec0e9a94d917aeb925a99ba3a500ab7259c81238d3706186f826cc8eadf4873bb38cb958670d0f3f3b6da2c78034dc2e17a41fd79c2b6f8f25cf9ab53b1777988dd182a5bb4d96200e9afab4702a4640aad8aa2db4085020670f96ac7fcf70709b6a42cccc1a119b6e1dd12e31fd3284ef2fedc0d53e3553b543a359bb8094063a8abff5cb7fae5cec378da9159174d977fc56247d2a493a5fd330c9f887aff33e886af7ab5586854297ec737d4aa485b96f13641a556106223eba0d761a5fb962eacb9a3ce8f18e7d0a0cadb73cc9264772462de953499534736998d3c54f8c7c3c2165811551d219474b94790c9c44f111ca266a27da03af6f0aa3a898c2cc61182165811551d219474b94790c9c44f111ca266a27da03af6f0aa3a898c2cc61182165811551d219474b94790c9c44f111ca266a27da03af6f0aa3a898c2cc6118297c19f748c676d9eb4fedaf36f2a5d6ea6051df146e11ba462291bb75dc35bb297c19f748c676d9eb4fedaf36f2a5d6ea6051df146e11ba462291bb75dc35bb297c19f748c676d9eb4fedaf36f2a5d6ea6051df146e11ba462291bb75dc35bb18c1622b6c0c6a6e450c31768f7281a9863caa24d467004fceaaf590ac65ca3c37d3ebee48eccf6e375760de6c1d544a0783be02a50f8c98fb23be3f940f2cb918c1622b6c0c6a6e450c31768f7281a9863caa24d467004fceaaf590ac65ca3c096b3ef21ea606f7954a925b9f778632b0babd3002a9e7508a045af1aec5ed037f6b83fbefc3429ed2c8c3fd0080e8bb5c7835b5f188c520f6b128d349ffdd62096b3ef21ea606f7954a925b9f778632b0babd3002a9e7508a045af1aec5ed03b6eebaa604202a15a0e357cf01ae73ae1be568809764fd59b2afa0d61fbf4047144afd77c39d191b281b5918164fd5055b07130438bef000a944deaa7e1c0b7eb6eebaa604202a15a0e357cf01ae73ae1be568809764fd59b2afa0d61fbf4047334df32ddc35fc36073e7aea5ed08d572468056529afc2c4c1c5e800d3739551160abb177c4aa41965462766bd4ba57ed2264b2cbcac210b28d6527c0477e83f334df32ddc35fc36073e7aea5ed08d572468056529afc2c4c1c5e800d373955124e3039125f6d68c89dd033867723f8f84a792666bd6e607a1cd65c60dc2c68736c502493e82489a8a10e95af95a0829b98db78cc1aa20f73cb27b99a6955d8524e3039125f6d68c89dd033867723f8f84a792666bd6e607a1cd65c60dc2c6870045f5fbbb4f71c8096ca4a560befd8e68e422bd24431bfc5fcfc509d3ea16f166f05babc1b4c32185f5bd5edb85036d8d8410248a46c27f49a75811472a11be0045f5fbbb4f71c8096ca4a560befd8e68e422bd24431bfc5fcfc509d3ea16f1c65aa31a9598cbf5bb6ecf7037f2aa1ccaed345769c2725f75a04185560de5e6577aa668c529151bfe03e7c85f743b1ee497d8a20f1b5e0bb2ff4c615489cd8c7a28fca380777ae19afafae5ce4c44d4d88d875953c713ea4943750948bbc1aa32c0425b68adc5c3d68814db4acfb20f4485a96809c19e35b9f3a6ea33b525e3c263f8612dee7180cda2cc3d2dadbaa0d178421f816e480113f4f588e1236b7a32c0425b68adc5c3d68814db4acfb20f4485a96809c19e35b9f3a6ea33b525e33a4ef9f7396aaec44ee545c0cdf865778aaae7e4e38f05926f6d82e0da21751155d680553c4194f41293824d7c669af189e3fe01af97d90674ea0a35b122e1603a4ef9f7396aaec44ee545c0cdf865778aaae7e4e38f05926f6d82e0da21751183999cc221401dc2fccca9d3dbe395c82a9f009db310a00e811c68c60654771916c62c93da9ed9338601adb171f1aac3d28c1c9cae35ee1b6de7948de837e436d910ad886333abf3664a4fb4290d3b81307a16c6d9ca14356b3644a9aae6e714997e7fe3cee72d5a5d86ea6e3b33713f021abb13d753faf765632fb12d9210f4552f388dd8d5d0ae4776304c47e69b34bf059ea1ea8b7f3e4c8d6cc6207e5e72b78e533e055c607b009b1ad93dbbf16a3595f6522b95536eff974b202a34e8fde3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e46f1bf431aa68e36406b32cd94afaafd109452df427aa726855be4176077b56a2e3c4212f38d27aff680c0a7f6c377829438a7c7a4f85ad4789b22de7ca73a9042acb60984c6f721fa89c42cebe22572acc9434cc7f27d2fb4362b3602deb1d627f9028bbdde32e61ceceeb929520023607de25aebdc039c2d568d9c1a8d1dbc7c15747f0d13d0884b48d424c3b38d5e05cfece09c539c906d5dec48be3d083c0a16cfbe6b674abb6534c984f06af296a01668b208f0967f25f8a4348e625a36d9acb2151507735aa72c6aeaf15142a75cb0d3b37b48215ac45ee17106adc18b8f8f36cea94f8189a18558ae6badafbe89f20e5edc5471c7068ed53d1e2c031253e51525c7e1ef847ab32b2556bc4213371e636fb498e0040980036bdd3f8ed6b7a9e6082077b5ea379c0dcefe21455a21c57f69e51e9f16d1efe25176d0663fb2ba8b926bd5652d450834a5c951ba6041c4bffa4ba9d0545d7935c4563b92dd00dd6cf406be2cd020e16ffefc4e01c8bc45324e02341a71c52993f07ef5c346794fe0491d3587f50932556ed87a85b59f0b22dd01ff31b2f12149a24cf94968a9f1197a95ada1732be8815d4f2228ac90c05d4af7435fd1464380a10e3ca173f61027bbcdf521589b58fca01c3a5d2cf9ee40f69e48567b2175647fb5e2cbbb8b1d8bfb3025b2ec06a420385133ab29f0f1f7256372c4b2e72b9fe697d34646fbcd26438397c6c3de40f4546c7112c81f784356e614ae529d8c90570d40f711a12117d8c600e848b41f0c89ec1758d650a8425dd9bc40b502fce6298d4cdc002c744eb87a94e5ebd94e5966e103dcf29da97b458543600f3aa79c8158d47a9e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8558fb76bda261c71c3e6487c1b86e78d55b40c8c024b23cfa23ae20a5487a3e60d8fb76bda261c71c3e6487c1b86e78d55b40c8c024b23cfa23ae20a5487a3e60d8fb76bda261c71c3e6487c1b86e78d55b40c8c024b23cfa23ae20a5487a3e60d144736fdeb59d8611107a72ead0fa39a179aeedc17c8339558b3dd1586ba611e144736fdeb59d8611107a72ead0fa39a179aeedc17c8339558b3dd1586ba611e144736fdeb59d8611107a72ead0fa39a179aeedc17c8339558b3dd1586ba611e070f3abe1a9960c21907edd07c8edbd69743e449187fc1e5a83ddefda5e5444fde400853f2dc1238070c9c43497fe7da4c6258ef358d2a8518ec251df0a80125b0253cc73c4862f9401f5c33d0e21f998a8a352290be3fe34f472b8444e364e347630719a38a642a0e7c9a57f65d818d287b8ea1268129a9ae51d7f35fdc89e847630719a38a642a0e7c9a57f65d818d287b8ea1268129a9ae51d7f35fdc89e847630719a38a642a0e7c9a57f65d818d287b8ea1268129a9ae51d7f35fdc89e8cc2280e3bb0c1e8f01a8fd5892f341df0caf61ba3c66a37792c065c953cd85922f06e28e560a12f388d26e8acf2d30fd31c21e2be1dcbd9c564c51c07712412acc2280e3bb0c1e8f01a8fd5892f341df0caf61ba3c66a37792c065c953cd85926cd294aba5b2bbe09170b99a11f9bdf880427b3dedff0d775c596c4584ac578e1f2ea424eedaeed179dc48897ce2af543fb3d937915d11c03a34c5111261c9516cd294aba5b2bbe09170b99a11f9bdf880427b3dedff0d775c596c4584ac578e07495d2582ed64383d8f6080b02329c91fa5f1c88cb4df7c7524f194cfc6c106db2bfbacc3e6ec1ecf0ec647ba20ed436e82fa2c4dfc4dcd4711f36369f7698707495d2582ed64383d8f6080b02329c91fa5f1c88cb4df7c7524f194cfc6c106d5a26de4ae0d19012d85f5b1e55709e9b977f6f1d929c3d3cb288e7b9a2b9715cb7455f0bf33dc84016acc34e8b52438126ac5cf249bf8734be7338accc23163d5a26de4ae0d19012d85f5b1e55709e9b977f6f1d929c3d3cb288e7b9a2b9715553a8089b86db15ad81228b505cb3d162201db7a67ee107aa15bf34db9b5bb65f3bec7d10c1e7fb4050363bb5702c2d937e5e266cca517aa2120625e970c34f0553a8089b86db15ad81228b505cb3d162201db7a67ee107aa15bf34db9b5bb650089ba20118b96cd5209941a991e6dbbed2aba4c2b1899cdc4dd0e5afed9b7620089ba20118b96cd5209941a991e6dbbed2aba4c2b1899cdc4dd0e5afed9b7620089ba20118b96cd5209941a991e6dbbed2aba4c2b1899cdc4dd0e5afed9b7623c17bb924a970301d0849d7fe3871de2b2553bcabd686b4636e8a74ebb878cbdecf1a2250f0ee839a5667f53a4665db3cd3ef7c1ce358aa5e953f287c50c54ccfaf806f5db06f747a4327bd5cda5a998d3fef27979f1b5e8a96da1fbd63c6107c2caca4285525ea19340f87952af6525f8a4fa6882efcbcd08029d5ff5a0a14846c5f838746ec16f8ed21209315099eb989dc57c8eb9c8d1d71694ea2be55b2b371de06205c9fa624815ecc6189a316f352bdab4dfefcf5327b22a549ffa63ebe60632f50d0813c0866a8af44711c673b3cc9218f4be4a19695f99121206d615b01768fd248384a9030e7121d3066637209b82fbdc0e5611b323e15acffbf04e262bd519181e50322fa4bd8d50e7db054b72917d3117e3ff146d9cba9e14b0f11933965d3f03aa674c8ada3b5d73a2287d71e35bd8e4fa6d732724ba951dd27a836cdb388117cf81e78d9fa2a141cca1b14b0179733322e710067749a1b16fe94baae068f2729566e70947faa81deef8d863ed837f05da1004a390bad4134294142c822325721a6708ca241444bb618df1ca1415d45fa8a0e99e783725047dfb142c822325721a6708ca241444bb618df1ca1415d45fa8a0e99e783725047dfb142c822325721a6708ca241444bb618df1ca1415d45fa8a0e99e783725047dfb3c0b59ad9f7156e8d44db05a3d59c6051a0e0353e67f88f2ddd73ed1b4f3976b3c0b59ad9f7156e8d44db05a3d59c6051a0e0353e67f88f2ddd73ed1b4f3976b3c0b59ad9f7156e8d44db05a3d59c6051a0e0353e67f88f2ddd73ed1b4f3976bb28f67768b6ff3eb4fe32a7a29a365ad897b1e6637da73276d195d4e019105a62a62861174a79e6863348c391a2279f64473018173c9a5a686477dbc104f8938c3d90eef9124fc07bbdfdc89460210dd85a0ea8e61704e8c7c899b5f52490967af2e5de0afa4c588618aab01ee09595fa1ac6745d2f1aa5ee1263541d6c11e7adee5f18de172a99efc419c7dde86083c402ee994503d79b8d165738ad74994f2af2e5de0afa4c588618aab01ee09595fa1ac6745d2f1aa5ee1263541d6c11e7ae42b720d32d3608c71de3408e8c175ed07c91bf8036f6d94d4932124e6aa799a1658a6da03233b91bb520d2b865bee920020ccf9ba29f9e9d3e45a752fd37321e42b720d32d3608c71de3408e8c175ed07c91bf8036f6d94d4932124e6aa799a53d18fb68554893417adc764f00a2cf724591141bb48782ed0a1291224255c93899fe9f411c1dc0f500d06ad531d54667cf3ca44bf188111ea9bc2c68d57f45153d18fb68554893417adc764f00a2cf724591141bb48782ed0a1291224255c9366cae7552b22fcd1fe8c0c8a07385e8d6d343b280b5cf3f2518cafb4bdfd06bb031ccd4e8226e16d4c58b87f34c7c9a6705fc295c2a5d6b599bb60f5e64f23e966cae7552b22fcd1fe8c0c8a07385e8d6d343b280b5cf3f2518cafb4bdfd06bbd95c381f1311310e6d670151d4e083f0a1f5db9a0171921f5f55d9b5e1ce04a7d95c381f1311310e6d670151d4e083f0a1f5db9a0171921f5f55d9b5e1ce04a7d95c381f1311310e6d670151d4e083f0a1f5db9a0171921f5f55d9b5e1ce04a72579ab720fc5afaf7343367ec8f1f6ada26f9cfd0d2c55eed456343ef38d7c1b2579ab720fc5afaf7343367ec8f1f6ada26f9cfd0d2c55eed456343ef38d7c1b2579ab720fc5afaf7343367ec8f1f6ada26f9cfd0d2c55eed456343ef38d7c1b5d25af5a5aee7ef2335ccc78e9049e9ef62f1d1cd0ee405277127dba0cafca9230c12046a369d04b527091a9c18c3b81d9e4f0edb26657faf4eb06d6a89dacc65d25af5a5aee7ef2335ccc78e9049e9ef62f1d1cd0ee405277127dba0cafca926bc55a8d1b4a4c6cf248bb30d968cbe9359b7e0903dffc442d0dd63f718099d36bc55a8d1b4a4c6cf248bb30d968cbe9359b7e0903dffc442d0dd63f718099d36bc55a8d1b4a4c6cf248bb30d968cbe9359b7e0903dffc442d0dd63f718099d34a974e9aee5b222c98f5918fa1a128afa09e70a3aa36fb9c953bbeec8def5a3a89bbc55e44ef8401ae8cc35056b496b24f0d73a71754f92142a42afa65ac1ac0e82bf022a74832ffc83310ceb40799941028b5d090d8e99ffab21a53e5e5c7897d8d8fefaf882afdda403e1492a7e0d16ceea0093d0766caea0bea305e6c8c8f7d8d8fefaf882afdda403e1492a7e0d16ceea0093d0766caea0bea305e6c8c8f7d8d8fefaf882afdda403e1492a7e0d16ceea0093d0766caea0bea305e6c8c8f073a2f7fa78e120e5a5daf8bc9787c6db2a3ee7c649f4d2a11075e1cb7f4c0e0073a2f7fa78e120e5a5daf8bc9787c6db2a3ee7c649f4d2a11075e1cb7f4c0e0073a2f7fa78e120e5a5daf8bc9787c6db2a3ee7c649f4d2a11075e1cb7f4c0e04e14e73cd11ed6978b3a47bb28ee22ad846c4a1ddc3287298f6b89322e3afe6682dd9b086bd18e426e43dd0127931887fdf1b5da2f081e57df3e2ea8480a4b4d4e14e73cd11ed6978b3a47bb28ee22ad846c4a1ddc3287298f6b89322e3afe66e5addb3c7c8fc2a172c0f2ce3189448c335f04dd1014b059da54dc733ee43b89e5addb3c7c8fc2a172c0f2ce3189448c335f04dd1014b059da54dc733ee43b89e5addb3c7c8fc2a172c0f2ce3189448c335f04dd1014b059da54dc733ee43b89096d5a153c7234fcdf16d274ba4bac9b8224bc164972bea424cf47c4b5eb57ecca061a6d2b9e96c10771310a8759bdc9a2306c52beb9d540f846410c5914e0ec096d5a153c7234fcdf16d274ba4bac9b8224bc164972bea424cf47c4b5eb57ec1e8227e0533dfae5cd32c79d5d6ff360117a34bebc0e1195c04f6b462bee7f751e8227e0533dfae5cd32c79d5d6ff360117a34bebc0e1195c04f6b462bee7f751e8227e0533dfae5cd32c79d5d6ff360117a34bebc0e1195c04f6b462bee7f755dd7e638f4169d7a88e49ab7e8bda900e5bfe9ef3936d8d1aafa3c3ed65ea3455dd7e638f4169d7a88e49ab7e8bda900e5bfe9ef3936d8d1aafa3c3ed65ea3455dd7e638f4169d7a88e49ab7e8bda900e5bfe9ef3936d8d1aafa3c3ed65ea3452ef9327e97b8e8b6409132aaabfec0405a9f58dee3852da94657fd02413382e72ef9327e97b8e8b6409132aaabfec0405a9f58dee3852da94657fd02413382e72ef9327e97b8e8b6409132aaabfec0405a9f58dee3852da94657fd02413382e794fe748f11c13d26698f39ae6d2c2666b7a3aeebd384d99f9b834324c5f271c894fe748f11c13d26698f39ae6d2c2666b7a3aeebd384d99f9b834324c5f271c894fe748f11c13d26698f39ae6d2c2666b7a3aeebd384d99f9b834324c5f271c8585444c0f08bb8f35b4a2fd2d6c2d5ab3ec0dbb0a023e5d3e463c16a47f799a1585444c0f08bb8f35b4a2fd2d6c2d5ab3ec0dbb0a023e5d3e463c16a47f799a1585444c0f08bb8f35b4a2fd2d6c2d5ab3ec0dbb0a023e5d3e463c16a47f799a19438a3b401276628c93f635177bcae38f3666cb482362bf205a674eeb235e4519438a3b401276628c93f635177bcae38f3666cb482362bf205a674eeb235e4519438a3b401276628c93f635177bcae38f3666cb482362bf205a674eeb235e451095a41dcd6108fc6888bc6c8f5232ac579ad196628ea0941e6133d234f2d9b8f095a41dcd6108fc6888bc6c8f5232ac579ad196628ea0941e6133d234f2d9b8f095a41dcd6108fc6888bc6c8f5232ac579ad196628ea0941e6133d234f2d9b8f71578ca69072bf688f3f5fc7a7481731a2f196d299aaf27629b971b39b6c618d6ee4c130b8b8aa88ed1ac0008537b9662f4bea3cd75a451817801b866a7f88e041deff94760adebb04c3adceff27227129baa392c7955289cee87116b193c48bf327d28e234236c3191a60c2635121fa092f7e50548e54fb3002939d9d6a725df327d28e234236c3191a60c2635121fa092f7e50548e54fb3002939d9d6a725df327d28e234236c3191a60c2635121fa092f7e50548e54fb3002939d9d6a725d6ec9d717b230618febda4eaf7fca4f91f026039e58a1d817cff2851b1fd9902deb769c3383bea7e56e34414a4813d5466b37d5a6a315b34d36f5e68b8b9bd6fb6ec9d717b230618febda4eaf7fca4f91f026039e58a1d817cff2851b1fd9902d574a867babcbb8e7b3c1490272792642cc3ee9b0e3c776a75745e2c378f05c0f574a867babcbb8e7b3c1490272792642cc3ee9b0e3c776a75745e2c378f05c0f0cdc80692565637259653c1404455ca95b707c94de522d1e0529729c3939910a06e0d39336a1bbf06a09c31cfd34ad3bf8eed546f010ed42f6d00d1bc0bf03942c38225b2f82538dc7848b78bf37df895645a0b9ceae6094ecb9d07f2c86f4cd06e0d39336a1bbf06a09c31cfd34ad3bf8eed546f010ed42f6d00d1bc0bf039411639afcaebfed6aa0d6dc7979cc5bbf4a1bc06a975c02c6bcdcb4d55a8b74a61cb6facb1506257645e80a223ab6797dff003a19679d3e194332143c431d361711639afcaebfed6aa0d6dc7979cc5bbf4a1bc06a975c02c6bcdcb4d55a8b74a6385abe02882b37d731f3ba17c48f66b37bb298f4826f35133fe27da4c87c1235de84bd002c149a4434fbb77b0888e2bdb2d0575feb8ff21467316c3c4bd55658385abe02882b37d731f3ba17c48f66b37bb298f4826f35133fe27da4c87c1235f470ac05edd6009fc78eca0b6a73700868d91f9a7afdc4c3e50fd091cb6fccb26b92cf8f9fae3b167b5b723462bae7a06a899965b2d926e454c082150b4f52dbf470ac05edd6009fc78eca0b6a73700868d91f9a7afdc4c3e50fd091cb6fccb2e4472ea368bd3dac12888c40515c91e9648be168b0bf4b3b543c3f671cda35d86b54f7ede51f0a8f2ada68d59e919f50dd1ecec5cf204fde9f05ef9a04d95c84e4472ea368bd3dac12888c40515c91e9648be168b0bf4b3b543c3f671cda35d89e0f2251bc188e2e57eb3acac7f78f8dbe152735af9f26251111d4eb5bc78a3e9e0f2251bc188e2e57eb3acac7f78f8dbe152735af9f26251111d4eb5bc78a3e9e0f2251bc188e2e57eb3acac7f78f8dbe152735af9f26251111d4eb5bc78a3ede5423e971e2cc6b7ff0d5525008be792282433e2e1df7b012a1592c5ce73887de5423e971e2cc6b7ff0d5525008be792282433e2e1df7b012a1592c5ce73887de5423e971e2cc6b7ff0d5525008be792282433e2e1df7b012a1592c5ce73887756b0c2df0821e93cd25ff1e00056ecefa32a1bfc8f7fcb003ac477aab713887756b0c2df0821e93cd25ff1e00056ecefa32a1bfc8f7fcb003ac477aab713887756b0c2df0821e93cd25ff1e00056ecefa32a1bfc8f7fcb003ac477aab713887f9c37730b797530b2efb2ca52bc164ea056c751b411e52d27a6964d5356a3dbcc5d7ccaba72a125be3712b497813db6f26a05c6f840b07c3f86d293cf93b65ddf9c37730b797530b2efb2ca52bc164ea056c751b411e52d27a6964d5356a3dbcd32aa954f55e2ce1ec9b2e70434b96e49daabde1e00cc4bcdbc8202063d9afdc901d86554a4eccf570870e875cb208af028e6c6c0509cd90dc45b248e3b1b1c1d32aa954f55e2ce1ec9b2e70434b96e49daabde1e00cc4bcdbc8202063d9afdc2ef94aed0772bbea26885749494ed38e34b12c77f51b364a4ec72456c032ec99896a623dc596951cfc0f95e0bc9a40f708d91cc3579955986ba47e42547f60682ef94aed0772bbea26885749494ed38e34b12c77f51b364a4ec72456c032ec99693676947f18f5577469b86a29b86b726c3483a999516aee80cf92a0f497d818ae2735181914af3ad0c6358f85206b9870ad2de8222eec76164b538d9fcbd5cf693676947f18f5577469b86a29b86b726c3483a999516aee80cf92a0f497d818ddd04a6dbe2dc3d800f4508e42d30f314023c93e9c0d33cf64ceb24af6f8849c352783039729c0042d18a97ea4a3045508bd1af93e13cde3c64b9bf4c168e89addd04a6dbe2dc3d800f4508e42d30f314023c93e9c0d33cf64ceb24af6f8849cdc85be9d9a471ad3326383f3ec23698240bfd596532d0c26b71f4db1a547930176890d5e5c4ea13dfaf0412b8c3840ec15abb03a414ca81eb4ba3d1a83e5c430dc85be9d9a471ad3326383f3ec23698240bfd596532d0c26b71f4db1a5479301bcd23e6b5d5c57203fbb5481dc3420b9a6569af8089d487726086fb54acfa579e597deac7fd825073a5465be2fd859d9d3c2effd15e0e65515071e4cd4d05662bcd23e6b5d5c57203fbb5481dc3420b9a6569af8089d487726086fb54acfa579084a4a573c7899b42c5118b45b4798e3a3644b9415ecd56217a0ad3fd1466952c2b547e56004d37dc1b78efb36335338fe92f493fb0d38c4d97c04a0bd769a10084a4a573c7899b42c5118b45b4798e3a3644b9415ecd56217a0ad3fd14669524c9639aa3eb060c9bcdbae9b9bacefa16f4faa38bf574458c0f6978ef848ca6db04e753893cf20e572ade5cf158f7cf45cea53716605796bd3c6033574b9231f4c9639aa3eb060c9bcdbae9b9bacefa16f4faa38bf574458c0f6978ef848ca6d756278b29522fb08efb34a4212c08f9e7c137ce0c387a9dc8a62f9235c9b1f54756278b29522fb08efb34a4212c08f9e7c137ce0c387a9dc8a62f9235c9b1f54756278b29522fb08efb34a4212c08f9e7c137ce0c387a9dc8a62f9235c9b1f541974f51490ba9d975c436214e6c0dbf3d3f5a9f4d5fc2e96a2cf113e3e41ea661974f51490ba9d975c436214e6c0dbf3d3f5a9f4d5fc2e96a2cf113e3e41ea661974f51490ba9d975c436214e6c0dbf3d3f5a9f4d5fc2e96a2cf113e3e41ea666d4db15a2915d15fe8d5e76f8b29ed3898e833d54cdee10d6bf6bbe2e9b7002a6d4db15a2915d15fe8d5e76f8b29ed3898e833d54cdee10d6bf6bbe2e9b7002a6bf8862bea7056c0056167f1ced8e5c6bc77ec7d821460e6e3c71aaadb8578a50a946bbd1baf2fc85ba2e1eae0779a33fd9acd79bd10a9f5f6afd947a555ee71aeb9d2fced37c687e3d4fe76bfb0a130f2d9640be2df09f4cb9a07f7fd93bcd86eb0cb41c4d474865d3ee0fc2a5d9065e37f5c3ece0aa492ff852c3204f911ea229057a20b43cd7bc6d1d78729a1ddd9b6d318c8e2bb3212a6ada52b4f00890cce166b20a798c562dbb10baaa0e7d9ca55eca3670472259876372b678a47ad42229057a20b43cd7bc6d1d78729a1ddd9b6d318c8e2bb3212a6ada52b4f00890c2e76d00066f5c824467c7c4ee4796aab4b39a7aa72046b68a894e030f5967e8659850c911487b4df0fbb36836632b3a9e5881f6110532106936600504b971d0d2e76d00066f5c824467c7c4ee4796aab4b39a7aa72046b68a894e030f5967e86b25d6e802a8e9c9fdcb631e72728e54b23a3eeddcb66b860806ab44f6f52f0eb1a27adac7e0ea1a0e55cfec78a94bef87428581204bb03b04c5ce5467ffbecfbb25d6e802a8e9c9fdcb631e72728e54b23a3eeddcb66b860806ab44f6f52f0eb75c2a688a6de2dca343d920d3d8ff38e74ef2e5f731d32a50953f81aef76908c58b5f4dd2d661451d1f38100fc511f29e8a7e22bb0147a06175e87bc6632b9ca75c2a688a6de2dca343d920d3d8ff38e74ef2e5f731d32a50953f81aef76908c9ec31dd67704f6e1d1edd851d419f04978bc7a3c3fdd59f13ba16ac1524c05dce59ef0f2c1415b7cd1df1ea4bc6ab84118270a247532138d1103a1f432e8d2449ec31dd67704f6e1d1edd851d419f04978bc7a3c3fdd59f13ba16ac1524c05dc42b151386f874d99d841b77ac0b5d72eb2aad4e78202982d5deafb21b4a6f15242b151386f874d99d841b77ac0b5d72eb2aad4e78202982d5deafb21b4a6f15242b151386f874d99d841b77ac0b5d72eb2aad4e78202982d5deafb21b4a6f15275a4ad7fa8ccbd64db34df09cd42d8a2479374af792db476b3876eb8639f78f4c7df66eb8a4c3034c09077c6481895b303f62c7ad58884fab187021421a3404f79ffd2ccff4e564227f05592b070ebd66012ff44c4ec76f936275c3f365f788a8fca9e3719191db01a54ca05c4cd2ac467162cb2faee9ea987e0043aa9c2f8068fca9e3719191db01a54ca05c4cd2ac467162cb2faee9ea987e0043aa9c2f8068fca9e3719191db01a54ca05c4cd2ac467162cb2faee9ea987e0043aa9c2f806dd652857ee9491d66a4e202fcbbb6fc4fd4fa5351b569f4842d560bdcc968df1dd652857ee9491d66a4e202fcbbb6fc4fd4fa5351b569f4842d560bdcc968df1dd652857ee9491d66a4e202fcbbb6fc4fd4fa5351b569f4842d560bdcc968df176f4b57f683e888d004cee45ab6c7c53a53f4e824008d4c9ca62cd41ebc800894b97d5cebce59188262565c6a0c8986fc9e198d892c744a653045cbd5790c00f76f4b57f683e888d004cee45ab6c7c53a53f4e824008d4c9ca62cd41ebc8008975832fcdc91859c049ffc0933cd055cf6ab88e7a16e8a7cd0f52c67d7ce23bf475832fcdc91859c049ffc0933cd055cf6ab88e7a16e8a7cd0f52c67d7ce23bf475832fcdc91859c049ffc0933cd055cf6ab88e7a16e8a7cd0f52c67d7ce23bf40b6aa5f75e10b8e22f100c04515d63999f0d303a1115590e23fdb18557af22622ce6bf01570c3ea2f55c9817c9e47cc9c9420104d0cf2d6c230d65c2fc2132f10b6aa5f75e10b8e22f100c04515d63999f0d303a1115590e23fdb18557af2262e664055b3a8059d63ad1473c53ad364d90517a42f7894ef694aad81559d628ce3513daea4143cc3f317bb7204cf0a0ad9d2c360702eff6fa5be4d61f1b4cadc4e664055b3a8059d63ad1473c53ad364d90517a42f7894ef694aad81559d628ceb041fb567857ad3223f53aaf9e945d3bad93a03fac53c1b635cfd8de020ea6d1b041fb567857ad3223f53aaf9e945d3bad93a03fac53c1b635cfd8de020ea6d1b041fb567857ad3223f53aaf9e945d3bad93a03fac53c1b635cfd8de020ea6d102496126a5301f6d8a80b04d3f97a976039d9626df4b6b9c2650a8c94bd3fb2ba20589f7ab7deb8dc07738916bbe3598ac068464c493ab92772415e0739143e3f23a4f716ccb9cfaa8e8d708d137c3ed8cc6fd1dfffcb790a75fa72545057bcc38ed4af76a7c8e2d19fdc1a685140b308ff137adf9e39c45b907808e90e008adebd4b1eb487dd8e74419fd3a14cdcf045f5571b6ab62e851b2050af7c795cd0238ed4af76a7c8e2d19fdc1a685140b308ff137adf9e39c45b907808e90e008ad1547c9e873dcaa38e54fccb1fe83d0baad84cfdafb6734a9c41f3257708e3da31547c9e873dcaa38e54fccb1fe83d0baad84cfdafb6734a9c41f3257708e3da31547c9e873dcaa38e54fccb1fe83d0baad84cfdafb6734a9c41f3257708e3da3dc3f1d33415d1a3ee801d05d26902f34627eff0f4d0a4abd3ba2eeb1d71817bcb53759cbb09fa83593d5251133f3bdf7b29ba02a2a7c57a126e1e79886226fc0dc3f1d33415d1a3ee801d05d26902f34627eff0f4d0a4abd3ba2eeb1d71817bc178cb591f09bb5f413aea7cf3098e3163ef29b8825e0a21cb7e2ae4cfedc6b61178cb591f09bb5f413aea7cf3098e3163ef29b8825e0a21cb7e2ae4cfedc6b61178cb591f09bb5f413aea7cf3098e3163ef29b8825e0a21cb7e2ae4cfedc6b61dee7efc4e8846b7b626e584a0317bf03fdfc316e428beed71b7b0638a1af5ca6dee7efc4e8846b7b626e584a0317bf03fdfc316e428beed71b7b0638a1af5ca6dee7efc4e8846b7b626e584a0317bf03fdfc316e428beed71b7b0638a1af5ca67cb9725e1df1600369f4a87ba72cc2f1373e49678bad4570cbd85c1398a2a1f98d63f8da7de4927dcd7548034b480e2f9ac674b6d004c664e250c12b1295cd757cb9725e1df1600369f4a87ba72cc2f1373e49678bad4570cbd85c1398a2a1f97de86d86ff1cb4e72828c48be4490e3386d02c29824e443bef656a3074ed55bd7de86d86ff1cb4e72828c48be4490e3386d02c29824e443bef656a3074ed55bd7de86d86ff1cb4e72828c48be4490e3386d02c29824e443bef656a3074ed55bd0a874b60ff92d735635d49d218ac88293cfbb0e35e622e6bce6e612d4dcb07373e6008342245989ea08f02e09bcf3864478ff5c279c7003aa06c5d9914344c4b0a874b60ff92d735635d49d218ac88293cfbb0e35e622e6bce6e612d4dcb07375460f38d3fdb4edae545b1a022cf55105c8e471312ae79ec05db2f96ca1fb69fd2833a2ab66fd323a19acd1454bbdad7142dd1541a3d1e0b11fd48d959f2ebb2a621da1b4777bd76b46eba60ee028d10f1c9bb90809614d8e02611ccfbef0125fb6cd265071323808c89cb74b833ab5da6f806c7237b64b388cb3d557869c64bdf3b1754fbbc309410ba5d23cec1eeaa6ed09e7d666bf24959e33a481b1ebc6afb6cd265071323808c89cb74b833ab5da6f806c7237b64b388cb3d557869c64b9ab234e19b441c6fa02d6f429c9fd25918b4d0a7e0344b693468a0ecdbc2ee80ac104b69033df8b3e21cb93376c9b9dfd3e5d008788dca81dde6a16bce537b409ab234e19b441c6fa02d6f429c9fd25918b4d0a7e0344b693468a0ecdbc2ee80df730a79203546acad63d4dbb8b2426a182415b8cfb6f3b7fd4db80fde1af5f0df730a79203546acad63d4dbb8b2426a182415b8cfb6f3b7fd4db80fde1af5f0df730a79203546acad63d4dbb8b2426a182415b8cfb6f3b7fd4db80fde1af5f0e650a87aabfa25a987ef19a1412563fa9c6708d0597577533dcbb2ef35fc9d7ea328f967db086bf3fe15365661ac5c920a60f9b10ae0843cbb30a959bb3cd0f1dfff8e46d73914b81d077454ef5507260b536b6861d575e8bf7853a1ea03537067ee892bfa47553308b084aac59a317e372115a1032210f9adcaf49833c532ca77634462d51fd1973a3202f03f6bcbf3c23e6e687234e467ea4878b2a9e7961767ee892bfa47553308b084aac59a317e372115a1032210f9adcaf49833c532cad7d51f76ff49cae8c005ac59da69f5cd693796a3996ca36dbfce7b7d94e422f87517c04a4559a70b601c1f3aedec4456b49894c226cea8ff52796f62949457c1d7d51f76ff49cae8c005ac59da69f5cd693796a3996ca36dbfce7b7d94e422f801b69a9334d0817715d34b6a493cb5d663172bad834c6c95d61cca471d7536e477de940ff7ed8ade8bdd0c2c145a6524deeea70ede1a0c75e1996f3d8f116eb521256e6b85f7a66479a93845c333079af68ecdaeb938d47ac28c47b67d44a2df6687b3281f2e886b7e8da4b5974fdb7ea0540ca8d7cef4a34f58b136aa8f9e5d6687b3281f2e886b7e8da4b5974fdb7ea0540ca8d7cef4a34f58b136aa8f9e5d6687b3281f2e886b7e8da4b5974fdb7ea0540ca8d7cef4a34f58b136aa8f9e5d07bc819a878456e7f6e45c3409f92fc6b2360ce1f10c35a9cb7850171133f3a107bc819a878456e7f6e45c3409f92fc6b2360ce1f10c35a9cb7850171133f3a107bc819a878456e7f6e45c3409f92fc6b2360ce1f10c35a9cb7850171133f3a190a3980562fd3e0ca5a0963216afb70e9a5c6470d4cfe1f73ee159b07331f9e6e16a10377f7434fec342558dcce43c9afdc713d337189e941a4e3a829e793d0c90a3980562fd3e0ca5a0963216afb70e9a5c6470d4cfe1f73ee159b07331f9e6a121fc201ed692676e9714cf54e048186f43c01deaf35aae3c198fc56795962fa121fc201ed692676e9714cf54e048186f43c01deaf35aae3c198fc56795962fa121fc201ed692676e9714cf54e048186f43c01deaf35aae3c198fc56795962f7bc215ae9c4b7acb217c949b6d9073c4a34b45377d7b6ba11cd3ed10c2d851637bc215ae9c4b7acb217c949b6d9073c4a34b45377d7b6ba11cd3ed10c2d851637bc215ae9c4b7acb217c949b6d9073c4a34b45377d7b6ba11cd3ed10c2d8516348be6680d16548c4f831a6ee154ac7c7d8f0bd65bd47d74870621f1cae0992404315f3bb23d272a5aa4c6f6c611ffe6abd28f24df6083832b910ed3447ba688948be6680d16548c4f831a6ee154ac7c7d8f0bd65bd47d74870621f1cae0992404542f5c9d41bbd842688fae37f248005b41bdef8d77697ea91b2896ee3b37fa0b3ebb321df4f0c4989e03a988205593669e4f29d581fd6a5b3479d04714facb84542f5c9d41bbd842688fae37f248005b41bdef8d77697ea91b2896ee3b37fa0eff5e8607e3cefe5494c2e12833cb4e19082fd5e0ba6173cfda4a3123951ebfdeff5e8607e3cefe5494c2e12833cb4e19082fd5e0ba6173cfda4a3123951ebfdeff5e8607e3cefe5494c2e12833cb4e19082fd5e0ba6173cfda4a3123951ebfd5ead1d44e4f8fb303880098b35ba1bf4c946f6d308c10c35aa5940e540dd4c13696452ff17d76503fabb6386d00e26d62b063ac49268f6da7662feae875871c65ead1d44e4f8fb303880098b35ba1bf4c946f6d308c10c35aa5940e540dd4c13465d45ba562e157b89f5a23a6a78ec5ffcd65d13f0a740728213ab40f9d27ec56e33893eed4e5b78315857bbfea11ae9bc2ee2506a2b4a6d7fe18d30853209f23547815c90fcc0e48ad02f2baac7a44f84f89f178c9e6132be1d02676b21c6bc248e03727edef7db2479921ed9bd3c7bf1b9dedf3fde8af1171c1edb549655e90e636677b904b29b7c1502e47091dbc04c6f3a5589ed621247e01d8e461a2ce0248e03727edef7db2479921ed9bd3c7bf1b9dedf3fde8af1171c1edb549655e9daec5c0ee7fb3f0f6ea295d8e519a08c559fee434eac5ea11b1d0fb70353b110e6e3584807b841d8c98bb013493066284138240bd456025c62d72582744c2821daec5c0ee7fb3f0f6ea295d8e519a08c559fee434eac5ea11b1d0fb70353b1104b7789dbb977914221c1877674e17a3921b9f7ebccac1304b5577d33b5076443bda725d62ea38c82a29c911bf65f51b81845a80de24125408b73cf34d0c3b2f94b7789dbb977914221c1877674e17a3921b9f7ebccac1304b5577d33b50764433e107232fa82340ad66fa53b6b5adf238f892ecbff41f86e2154fbdfd8bfb2bdde5dacd5ec52cbcbc65b3c870a9d3e1fb8cb8630660bd71d0bc58949e92993f13e107232fa82340ad66fa53b6b5adf238f892ecbff41f86e2154fbdfd8bfb2bd7b0a2e478f71e546ca8f4bb455095933e8af3fa069def6cafc8042190237ea3cb53e46313022c4af7e3b6dbe0611a5a568f29a8a3d4f8b674b74298a591773517b0a2e478f71e546ca8f4bb455095933e8af3fa069def6cafc8042190237ea3c3454332d4f74358505e4c4cdf08ff0cadfa15b2cc02fdb0a5001c9ed6f072f875539e07ba46d723de0e2601ace8458282e378e111a7deff7886fd32ec261ea303454332d4f74358505e4c4cdf08ff0cadfa15b2cc02fdb0a5001c9ed6f072f8741f32063800e197b5327c14295e14890613626c4e741640bd2ab2baee0425b0141f32063800e197b5327c14295e14890613626c4e741640bd2ab2baee0425b0141f32063800e197b5327c14295e14890613626c4e741640bd2ab2baee0425b01b2193abf5cc6ab093636e7c5034b5eb3aa8c439034f59d86395fb1206f28bafd36c572ef49392fa7ccb28bac118d4024aa580c236d874220dcf6060779bfa1efb2193abf5cc6ab093636e7c5034b5eb3aa8c439034f59d86395fb1206f28bafd1bf64db1566a926af0632ebe8f8ed453d032a0a2f6564528535c7ae005143d851bf64db1566a926af0632ebe8f8ed453d032a0a2f6564528535c7ae005143d851bf64db1566a926af0632ebe8f8ed453d032a0a2f6564528535c7ae005143d859a5545ddc304d83b1c036ff90cd31a42a56fa7bc2a1e854582b8bdcd6860b25998895e56490a3426d8e5ee0fda38e2ce7950a9d28fe30d716dc68bc4322d859891b09399e607c8deaf3305f115962dd221895fb4522b0eddd11af905b7c674aa35d3e32c0baa33241c9732766ba825f7864b71a9124f9dae5edc07440ee1291d7265378665aa5f680dac217c583c3ec9646050e2acdc1dc46e4f7acedf3d6fa035d3e32c0baa33241c9732766ba825f7864b71a9124f9dae5edc07440ee1291db6cbd2d3ad66755f7bc4084b4042dbb6755953342b081a5bcc38c0ad64e7ee9d84f319dd1127c11dd705d406b29a8cceef5c8aa887f6b4e4769b70f7ca55fa6ab6cbd2d3ad66755f7bc4084b4042dbb6755953342b081a5bcc38c0ad64e7ee9de17bbde8fe99d82d776b0633221284391c4d751b92c9cf683a9c966635d475893e725ea2b9a4a9281666c241375428f8415032fcd8b1af9bfb2e22498d338d77e17bbde8fe99d82d776b0633221284391c4d751b92c9cf683a9c966635d475893effd434999b1a018b8608f1d976bc55135f274e5e068f15b6066f1de4c8ad3f3effd434999b1a018b8608f1d976bc55135f274e5e068f15b6066f1de4c8ad3f3effd434999b1a018b8608f1d976bc55135f274e5e068f15b6066f1de4c8ad3f6e6528fe0c6cc5cd9ef6b6c594ff698d27ac2b6698007d925c35782fab44e62fd93f7cad403cfc44338f9dede6fa51523d2d65faf56927f1bbc219aaf3554f576e6528fe0c6cc5cd9ef6b6c594ff698d27ac2b6698007d925c35782fab44e62fde1be82828225d28c7ec57d2044946c8cb8c692bc260d2d71368b31900e1c41c59095d0041fdec5c58ccf7eb95a50c4987c0ab73767c5cc0a8d8fab9c77e4841de1be82828225d28c7ec57d2044946c8cb8c692bc260d2d71368b31900e1c41c64060c684173307b09c367608e6dae9f326d5bd762c0e363293055a60773ea8264060c684173307b09c367608e6dae9f326d5bd762c0e363293055a60773ea8264060c684173307b09c367608e6dae9f326d5bd762c0e363293055a60773ea82e8204e106d30538076226020d2ac134137f02b4f6b759bc26076e3001f666c03e8204e106d30538076226020d2ac134137f02b4f6b759bc26076e3001f666c03e8204e106d30538076226020d2ac134137f02b4f6b759bc26076e3001f666c03f533cad5cf99e66a2dc19c151773789cb30ba86fa83e3926c567bc8c7c198c23190a15682041e69da6f4cf532fc040926b6a1b7a91b0f636badd33b1210d4c00f533cad5cf99e66a2dc19c151773789cb30ba86fa83e3926c567bc8c7c198c237f67e25a9d8b09cc87d2e8c269aa17fa13e634d440713b7fac6568caf3abe7a77f67e25a9d8b09cc87d2e8c269aa17fa13e634d440713b7fac6568caf3abe7a77f67e25a9d8b09cc87d2e8c269aa17fa13e634d440713b7fac6568caf3abe7a7b5f9eb5f2c7779688aecec94d1ec0f65f043b4d53551d85a8d4490cd5bf1317ceb438f494250961b5659b9d28436b9dcd0faae12c489e25308b53ca9fa940255b5f9eb5f2c7779688aecec94d1ec0f65f043b4d53551d85a8d4490cd5bf1317c094fe0605288bc8348cc1432d49136232d1b74ae2dafa9e37eec257ffa0f6da2094fe0605288bc8348cc1432d49136232d1b74ae2dafa9e37eec257ffa0f6da2bbc9c3fcbcdc51b4f3a5752cba4c63eb6a017f644318dc46913159e150c514830b878336f8a0e9803456d331655812f88040604051054f15a079a692787df4f2c02cc6e446959b72100a0733acd1703f35af2c22051eacccca245aa083ebc7c60b878336f8a0e9803456d331655812f88040604051054f15a079a692787df4f240a50d76c0075be3d01177d1f0e8239f18e1a5dc8a1732a2654a74db3cb923434bb38ea314eba788677298021fcbf3e9a33cac3da858686180aed790e975561540a50d76c0075be3d01177d1f0e8239f18e1a5dc8a1732a2654a74db3cb9234339f49b7bfe41d28caf77d9d9819bc8e360070bf6f9bed3fb0676b938cd1d4b0339f49b7bfe41d28caf77d9d9819bc8e360070bf6f9bed3fb0676b938cd1d4b0339f49b7bfe41d28caf77d9d9819bc8e360070bf6f9bed3fb0676b938cd1d4b038bec72c9c4cdd94892d7d357c8e2684f9db63fa4c89049e108a51f45df68d6038bec72c9c4cdd94892d7d357c8e2684f9db63fa4c89049e108a51f45df68d6038bec72c9c4cdd94892d7d357c8e2684f9db63fa4c89049e108a51f45df68d603ec2fcbd0a113e999071127afac1feffa429d2f3c86d3efe715fbbcc4fc0d47343bb95e464e4f179d6777f6d284c1bbf2c0473b75493e0f5541eb83e53d1b69cfe868bed978c98789820ea57b18a5a00dd78f4b8938ffc82faf212a4b183e40818ea56862db07cfad71e94e2a3b336c28ed32d2178aff535f6e37eac8d44fea5e239b3534707ed68c0dd49cfb2a231e35f0be5d5b1096851f9c780714a312ae218ea56862db07cfad71e94e2a3b336c28ed32d2178aff535f6e37eac8d44fea5e5994f37b34f039369de7695d9859f012da1c18d0b17b6b55f35d2d165a55144c5994f37b34f039369de7695d9859f012da1c18d0b17b6b55f35d2d165a55144c5994f37b34f039369de7695d9859f012da1c18d0b17b6b55f35d2d165a55144c674437f1a81062c643bd3b3f4b7f48af12bd42ef94601574347c8af4c645a9c2674437f1a81062c643bd3b3f4b7f48af12bd42ef94601574347c8af4c645a9c2674437f1a81062c643bd3b3f4b7f48af12bd42ef94601574347c8af4c645a9c2ba5ef57f4c0845d7e8d788cc953deefdad29164b5c6d604aaf37d41662d05111ba5ef57f4c0845d7e8d788cc953deefdad29164b5c6d604aaf37d41662d05111ba5ef57f4c0845d7e8d788cc953deefdad29164b5c6d604aaf37d41662d051110669e043fb67007c626787a42be4e5772751086c8f46698532133c8aaed544b90669e043fb67007c626787a42be4e5772751086c8f46698532133c8aaed544b90669e043fb67007c626787a42be4e5772751086c8f46698532133c8aaed544b910698cd2dfd5227e9957d6c744d617b692cac39071fda5d5b856a9922b6bb0bf10698cd2dfd5227e9957d6c744d617b692cac39071fda5d5b856a9922b6bb0bf10698cd2dfd5227e9957d6c744d617b692cac39071fda5d5b856a9922b6bb0bfadea2e7d32c6442f34fc79e83e91a1d135d695a1bbdf48f27b2949523e977b6eadea2e7d32c6442f34fc79e83e91a1d135d695a1bbdf48f27b2949523e977b6eadea2e7d32c6442f34fc79e83e91a1d135d695a1bbdf48f27b2949523e977b6e4ebb269555d0efa0c00835c0b5379824e9bbe0d6cb7f78b95a4691e25789fd524ebb269555d0efa0c00835c0b5379824e9bbe0d6cb7f78b95a4691e25789fd524ebb269555d0efa0c00835c0b5379824e9bbe0d6cb7f78b95a4691e25789fd525e10ede2b2487a8bc542c16246bdb1ee98efbb23015082ee19ed139ded9b5cf45e10ede2b2487a8bc542c16246bdb1ee98efbb23015082ee19ed139ded9b5cf45e10ede2b2487a8bc542c16246bdb1ee98efbb23015082ee19ed139ded9b5cf400abf5725db9553a2762b97686e5ae7f76ba97a27306ed01b664ad8c35dc166800abf5725db9553a2762b97686e5ae7f76ba97a27306ed01b664ad8c35dc166800abf5725db9553a2762b97686e5ae7f76ba97a27306ed01b664ad8c35dc166828108f995c0c281b5a0e576968475acf0a1805320216a2ba190ce4a19831767d28108f995c0c281b5a0e576968475acf0a1805320216a2ba190ce4a19831767d28108f995c0c281b5a0e576968475acf0a1805320216a2ba190ce4a19831767d166c68b162f0d51c19f89a0ccf83cc82f07a4a74532ca3c64d60e85658571b0e166c68b162f0d51c19f89a0ccf83cc82f07a4a74532ca3c64d60e85658571b0e166c68b162f0d51c19f89a0ccf83cc82f07a4a74532ca3c64d60e85658571b0e5889e34c41482d498043563b4085e34d8de1d441dba870256eb8d4535d08d3c65889e34c41482d498043563b4085e34d8de1d441dba870256eb8d4535d08d3c65889e34c41482d498043563b4085e34d8de1d441dba870256eb8d4535d08d3c6bfdc92743b544efa60c6460bbd7b8d4423c79d3b4efebe6b888ce2b8ef32c5e250605531ccff732e5a03e7fa57d19f739e2390cb7f8e0bb08f21d9941f70c087bfdc92743b544efa60c6460bbd7b8d4423c79d3b4efebe6b888ce2b8ef32c5e2f83a18aac8209566192025d98bba2be589aca686caf2678ffd3780b774a362e7fd99cc5c3b26a3f8c18b52f26d4e11ee337f943912fe1d29ec170dd531900e334284ab261c9f4d9350c0de8975306826e1595dcfd1b5398cfceb01b9e65102c9ba30cea2031e5be5c0033449e66fc85792f8cacb76078ef631f4ea58b5e6b0a7346c0eb5e8c9cc20dc5a2a22f4832c7c8c7117796b0ce6b5c29853e2169851b3ba30cea2031e5be5c0033449e66fc85792f8cacb76078ef631f4ea58b5e6b0a79e0057e1db3455a9d2f24cb0f3676ef74a0e73b013c10aefa7746b50b30b8a699e0057e1db3455a9d2f24cb0f3676ef74a0e73b013c10aefa7746b50b30b8a699e0057e1db3455a9d2f24cb0f3676ef74a0e73b013c10aefa7746b50b30b8a69679493f0dc5a8c1ccd60acda3d4173bcfb9403c2e069e536b2962014b95944ae1884fc06dc01bb01274e7a6a81522d044c35b8f869bbabb44325199bf32cdcc1679493f0dc5a8c1ccd60acda3d4173bcfb9403c2e069e536b2962014b95944ae88eeddb28255ce9559fa07d7eb3085f18182d381a3b8d464dbd34a2af94e262da099e41ae94672da58260cc11edce0d05d11ffea40df76cdc7731b8561e0e2892db2d0cd2e41fbdce13b6562e1849f596eb8854bd9d9cc80fe97f8825f6afc971d33eb857e53a6d1ff162475a8fa98625a88eb540222a42dcd6be23b3a845fed7a41b3c0939b02c61b007eb80b1a5490976477d5d66e2d11286e771fd6fe4348c62eb7d9f8b8c57d150381716f44f8b5a73be4844544502f893a93474a85ee50ae9192b6fd95e00b749a5eaefd1128bb1906a580aa1eb1cb8339f8e2c0bbf1b435bd390940a4f34500c0888fa9d2074d577ef25f3617fa9c9201976cbdd59ffbae9192b6fd95e00b749a5eaefd1128bb1906a580aa1eb1cb8339f8e2c0bbf1b4f9add2600c79b834b1ebc2039689e1ed087208af89ed3293b77b0957e44b8bedf3003c21610693ea808167babbb597a63ddeb97f410dbdcdcbb13e84c7b975d51b2237f643f2b7d6fd28d0ee2da0da1af0a3406f4ce49c68a527ac49f4a3e49aee9eca75abaa07b709ab97bea39f9c8cfea6fec10fcc823d43464bb45b5a69667fca4cba68dc731f22e2e9ce0983fd120b9037b7b624fe284459650e435448e2ee9eca75abaa07b709ab97bea39f9c8cfea6fec10fcc823d43464bb45b5a6966ac26d382f0960940de3cba8d62f6e93ac468a6e8beed257a9fe40625899172c7855f864233bcaf705a346a47bbd7fd37aeb9d7d4733828f1775f51d984e9ba51ac26d382f0960940de3cba8d62f6e93ac468a6e8beed257a9fe40625899172c7b03b67471c2e616aa251d45a95827cab8cc1f940b7e9a55f50391369aca173e32c462a40cfd44f2ec3355252766a9fe57f31c68ab6117f40d46059a06e2e0c2218ee1154072aedcfd6a4d7ce1408749af0ff8c4acf31b6fd3fe968dee77f9ba5720c914399206608f8743ece6437ae864e17e5684c361c094bcff6a0e57823017daf8fdd7a9d74a716cee293d1a9ec073216405391f58eaf8b7b821d42ea233e720c914399206608f8743ece6437ae864e17e5684c361c094bcff6a0e5782301a0f340c73e85a672f28fed73910c47ec842818d69bbcd144e2c49a803fdd92a11d677719bd65a2907f92c80c240326d5cff34ff6eb2c21ed29bce363dc03a053a0f340c73e85a672f28fed73910c47ec842818d69bbcd144e2c49a803fdd92a196b9476c40aa587e421a3654ecf2e13b18beb250a2a710eecdd6358a27c4c99a041f90d428e437dbcd09fc1b8d7909707c39d1e2fbddcb6d48bb0377fc04578796b9476c40aa587e421a3654ecf2e13b18beb250a2a710eecdd6358a27c4c99ac2fc631b29b350e33f6c1eef0336c7e51532905501761b4800e6cc48b57751d3c2fc631b29b350e33f6c1eef0336c7e51532905501761b4800e6cc48b57751d3c2fc631b29b350e33f6c1eef0336c7e51532905501761b4800e6cc48b57751d365c083f604ae44cf88810e318e80b012e6e0efb8e1326c7e7442f131554053d765c083f604ae44cf88810e318e80b012e6e0efb8e1326c7e7442f131554053d7e66ef3e001f33cdd11974436f1727c210e6f87ea9833927c7e227988f7fded0abe3dd946b6cd71aa4499e3af4e0710436488abae59d87a99f30236ee5581cd41a52474a203a1d5ce30338227597b6c2ad0593809663fe1f02e09de056a55c051be3dd946b6cd71aa4499e3af4e0710436488abae59d87a99f30236ee5581cd41933e8a052796189f8ecf5de137a40065da954a5b816a28c435d778b70de3ef6e933e8a052796189f8ecf5de137a40065da954a5b816a28c435d778b70de3ef6e933e8a052796189f8ecf5de137a40065da954a5b816a28c435d778b70de3ef6e1863bd8789882818fc303a0882e6281080eec5f2dafa9d72cfd29d4a0770e3491863bd8789882818fc303a0882e6281080eec5f2dafa9d72cfd29d4a0770e3491863bd8789882818fc303a0882e6281080eec5f2dafa9d72cfd29d4a0770e3495d38057e9269a6efc196fc1706cafd718995d3b11c81dd77afaf1f69be9ba37749ce1c8f365df1de6b034509f97d0ba7a14f0873f17c799f90099275499fde5e5d38057e9269a6efc196fc1706cafd718995d3b11c81dd77afaf1f69be9ba3775817cdb51366473cf113d9720f974c4ceafabd0fc79d41c6eb49c68df7124dd05817cdb51366473cf113d9720f974c4ceafabd0fc79d41c6eb49c68df7124dd05817cdb51366473cf113d9720f974c4ceafabd0fc79d41c6eb49c68df7124dd013885f8a77f4d44757f02df3e8d4035fe44924a5ffb5e565b4c4d3882e826cd713885f8a77f4d44757f02df3e8d4035fe44924a5ffb5e565b4c4d3882e826cd713885f8a77f4d44757f02df3e8d4035fe44924a5ffb5e565b4c4d3882e826cd7075bd4a242c4fd3566b59a94c3c6db245721389ac1b5fd65da5d36fd04a8706f58b70fb7a37283c4fa3af2aa79946c5b74ed560fa66382ccf3358643fcd9d41531e1afa88090aa6f1018427b52fef3c653b78b3f84bd37ea40f8374d306a7bd8c23778b33084e9deb56dd5647f7a1e149f61ace6737726002256de86be908029c23778b33084e9deb56dd5647f7a1e149f61ace6737726002256de86be908029c23778b33084e9deb56dd5647f7a1e149f61ace6737726002256de86be908029abdada69ba0f5ba327ffc7ac20e13153ff236d20a8c0e6edac1c7fa5332cb4eb3834b21b3d49a29c47d44886f3dec0559bdc72a0cdbf4aad298e73183ad63676fac30cbabf1e076f6069701870d480af86a3ec22f70174e900cd5e9d4e11500a76d1e0b50bb0107d428f2dbb58b6767db2506b560230a8e90e47bfbecbea8b29ef1ed460766898c5f2ed850ed3c8ebf0f12ba94ff8506ab24d7278f81b94941a76d1e0b50bb0107d428f2dbb58b6767db2506b560230a8e90e47bfbecbea8b29ee0494e5ba89d52a760665896a8fd0fc48aea140ea5909662d5dd0c25e9bee89ee0494e5ba89d52a760665896a8fd0fc48aea140ea5909662d5dd0c25e9bee89ee0494e5ba89d52a760665896a8fd0fc48aea140ea5909662d5dd0c25e9bee89c668863670c7fef1bd960aefa6430d32fb3b1f5ee4f1985b4c11509c11c81723c668863670c7fef1bd960aefa6430d32fb3b1f5ee4f1985b4c11509c11c81723c668863670c7fef1bd960aefa6430d32fb3b1f5ee4f1985b4c11509c11c81723986aa1d9e50572fa7d87e3d72a4173af7b6520987af2e43975c4ea70353f99c83901a83274f24d7c78ed4b3c7f2885873b5a8ebbaf32512ac473e2d9323e38b3986aa1d9e50572fa7d87e3d72a4173af7b6520987af2e43975c4ea70353f99c835983f5794c28bc906018d1e9606ab863b1da472a2bd777d7b48a9bb75a6b34b6a269280637aefb957f2ae8df634bdaac5f5f2e711b86cf3338b03c642d8e2d175b95c212e031e85dc207395975e1d8c2b2cb0e97a17b9ef5f1b21e95d17163d2d0a4f35f288669bf45cee98823e4e66d4ac50429b328e2361fe1936b5ce8db0add9e38d2f9dd0a3e81baed7599c262d053631aedf2f90e66eb65d741ad78e3c2d0a4f35f288669bf45cee98823e4e66d4ac50429b328e2361fe1936b5ce8db0e8ed823b52a96c4a6d9da3adbb9ead97c4a200ef915feea111e188da0837dc23e8ed823b52a96c4a6d9da3adbb9ead97c4a200ef915feea111e188da0837dc2354b3b86affcd97264a6b811a323791fc010f05976478ec7a361544547615eccb61f43831ef9355303904247e5116ed3efbfac347bf1e9edf981522129f8076f92b81d6d79ebbf5aec81e0bfc68ec6c1899e675ceb7d07ed28b512d620392672aa658f4fca9c20a525b353fc87ee87a138cb3876257090a3e0b7a75521c1b0e263494f82f2ef2ee16a1e9f723d664d0e5e394ee1b70d3fccaaf2fa51dc6a7931d3494f82f2ef2ee16a1e9f723d664d0e5e394ee1b70d3fccaaf2fa51dc6a7931d3494f82f2ef2ee16a1e9f723d664d0e5e394ee1b70d3fccaaf2fa51dc6a7931d1d00f4a24a9e51dd419aa71da613c6dfea8ba13c540678ace1a07f856c869fa81d00f4a24a9e51dd419aa71da613c6dfea8ba13c540678ace1a07f856c869fa81d00f4a24a9e51dd419aa71da613c6dfea8ba13c540678ace1a07f856c869fa8e0b4eb4f4181fda4d622bd2804330d6cc69601bad84d8e2b9193a575db08dab91533774346b76cc6050dc499729452be4c5b597b0a2a21b2a9265a9546a227d8e0b4eb4f4181fda4d622bd2804330d6cc69601bad84d8e2b9193a575db08dab91403f8a49425d71f37232eee98929a26868019ba67fb2f0f9f66869ff58afff3aa10f944071f4a2f7daba028f3aceca9d1857d8eee433ec72a1060e24d8eb1ba1403f8a49425d71f37232eee98929a26868019ba67fb2f0f9f66869ff58afff3edc9744625c35fe11b18820d789209f193f1141065f94c5ebe7ed9b0b6b50f24edc9744625c35fe11b18820d789209f193f1141065f94c5ebe7ed9b0b6b50f24edc9744625c35fe11b18820d789209f193f1141065f94c5ebe7ed9b0b6b50f245ef1faf34069128b872c90aafdc4358cca09eac8e1a13b7b9b8c15cb3cf479e45ef1faf34069128b872c90aafdc4358cca09eac8e1a13b7b9b8c15cb3cf479e45ef1faf34069128b872c90aafdc4358cca09eac8e1a13b7b9b8c15cb3cf479e46bc17ed471bbb49dc65572b86bd30f30a2c4409f62684fd84d2b87da3657ad2e234c67b7370b3756fb1fe9239d8e6ced4cb5ca1cf915c61e5fafd0898a1bc7db6bc17ed471bbb49dc65572b86bd30f30a2c4409f62684fd84d2b87da3657ad2e175eea115d37b14e85d1f9a774596dd1aee024b95778c2e28884a8ccff7dcd97bfb199cc3a875753d649bee4fe919e12281e6e803793c02f057ff0cb784d3084e0dce7fdc67bf8bb26a79cc382cc5b7a2c139e5d441e8d97d13e9137172e5f53b77e15c7c54afcb6702b9b20ee4fc30285f0a0e04d74b85198e540121fe1f438462aa4a5197c80ad7b7f044534d7f625726eec9a498961245f4f199462d7f35bb77e15c7c54afcb6702b9b20ee4fc30285f0a0e04d74b85198e540121fe1f43876b8010c687ac1fd2445dddadf75570f04c88b402ccef1a126351c449f32936e3a756fb88c3e07579992b2e533d40fb864247c8210d05ec1e5b9b15e36a7373276b8010c687ac1fd2445dddadf75570f04c88b402ccef1a126351c449f32936e74326ee0c273ac61c63566200eae342e52a7453b12abdaa43fb953d9047d453e68291e7f907a69e7e4ae1b8cbeb5b0c74e624fe83b13eb5a4d384263c543c8f074326ee0c273ac61c63566200eae342e52a7453b12abdaa43fb953d9047d453e821f45489cac3547178de4febed24c29166e4243701428b2f07d433a9668f6e81dc92ffa1e84440d8a9b4eb2b993fbf640216ddf283116f517d776a23357f359821f45489cac3547178de4febed24c29166e4243701428b2f07d433a9668f6e8e9b12e1ebbb22489702f71cdb37e47b322f6cfddc8e336bb16b863555f921e3d98220e6abc1f4032fcac974e9ea950e2f0bdfc6dcf4f4a2f7a54709b06c54b9ae9b12e1ebbb22489702f71cdb37e47b322f6cfddc8e336bb16b863555f921e3d2b649b5fafa61d481208ba0e0719db962fd6f55f5e3796118bb1eefbdb301873dac9504e461d73c7a7e5638d63990bcbaf6aea8eae0520fbfc708fe1043ef9712b649b5fafa61d481208ba0e0719db962fd6f55f5e3796118bb1eefbdb301873a54f152cac9a01ce5ac93fc56d8a36fc3babfab67ff8bfa321be1886caf185a6198d35ffccdbc70f1c898d23e8480177a3c2c5d00efcd08644f34c5901e5cad9a54f152cac9a01ce5ac93fc56d8a36fc3babfab67ff8bfa321be1886caf185a609f19e9b4066c35f3cc995505c06756b2ce88292c39a6dba3fd0d2dbb44c9baa09f19e9b4066c35f3cc995505c06756b2ce88292c39a6dba3fd0d2dbb44c9baa09f19e9b4066c35f3cc995505c06756b2ce88292c39a6dba3fd0d2dbb44c9baaf2fc3fc7318a17c28ce2f383dba5eddd117175d8feb80fdb732904199d3f7f6bdaa8c4657d4d1899a7b990b04a34495af3acae1860f021035d668f46a2a21e9ff2fc3fc7318a17c28ce2f383dba5eddd117175d8feb80fdb732904199d3f7f6b540e10a998c00f177564e927705b509921a16d2339f198915f40bc21a1da850f540e10a998c00f177564e927705b509921a16d2339f198915f40bc21a1da850f540e10a998c00f177564e927705b509921a16d2339f198915f40bc21a1da850fed6091f5e823b98794a5f5c71b1604fe5e34ab6c052760bdaca03dc78ee172bd1f3a4e09f106550fe5a15e06fe7341b06fa0f568b45db10c06d79d112e577196ed6091f5e823b98794a5f5c71b1604fe5e34ab6c052760bdaca03dc78ee172bdbba675eb789773960baef7747cb870908178cc9cf1fbf8a160f5208853d09428708effd119a948d9ebb97ccc6e524091d511407c1399389e5ebfb174f264736abba675eb789773960baef7747cb870908178cc9cf1fbf8a160f5208853d094280f926797d95b0d3f59544fd25904573c9abc5e2cbae14ee6fd5163c41bfb1145308a8129d08406f853008af9e71449dc8b1b3a40f0c134c27ea6b015bfdda3230f926797d95b0d3f59544fd25904573c9abc5e2cbae14ee6fd5163c41bfb1145d553872ca4b709c2c532564a2bef42860c36c3fdbc065af09e7ed95e13a8289d0a66cef479f48b3b56812848a041e9bc9fe824b518252bb5311f9df372ea36bbd553872ca4b709c2c532564a2bef42860c36c3fdbc065af09e7ed95e13a8289d03cda71094763fe0016583a5dcca5a1385ec7051de8d8a1410ec88f6e62ec5363bd17b071e3993de04b208d091235a5a0e9dd478e18f703bcd715cf13f7fb48a03cda71094763fe0016583a5dcca5a1385ec7051de8d8a1410ec88f6e62ec5369b51ca8801542ad560271d1f964c67e6f1786ebca0913fb4428d4c28cbdb0e7a9b51ca8801542ad560271d1f964c67e6f1786ebca0913fb4428d4c28cbdb0e7a9b51ca8801542ad560271d1f964c67e6f1786ebca0913fb4428d4c28cbdb0e7ae8af28597de3b492f7eb8127b9864f84fb05d2f8941caeabec735dce84a11b32e8af28597de3b492f7eb8127b9864f84fb05d2f8941caeabec735dce84a11b32e8af28597de3b492f7eb8127b9864f84fb05d2f8941caeabec735dce84a11b32e5edf18c2c4ac69345f86d6328d050c6bcb6466497c9911436207d9f377a4948227bea3e351a4f4ffaca4b566e77eb201b5c8f65e40681b34b816a51a68b3fbfab655391da95c2e13195055de0673ef5ba5ebf9f590a5e28d6f0f76b8d7bca439bc53e104df6891e26d4b2959c8e05f0dd5e4e8864f14f62d12230da7834931c66976a227815d5fad185f7bcc70aaa64493ad48331d8c64d24291a1dcd8059b69bc53e104df6891e26d4b2959c8e05f0dd5e4e8864f14f62d12230da7834931cecc639ac1d939afc5fff125f646ffd2648c986c3d754a4375895dbb77399e48c2d839cd1d36ff675e014d3018f26ab5c9b578e341e1174a99cc2a496c91a6386ecc639ac1d939afc5fff125f646ffd2648c986c3d754a4375895dbb77399e48c40451a3593c8079ce9b4d04c1986fd22f70e0655ab5d98df0939ce5b8a941d9da2e26794c82381ba3d40f23e8b0aff4f390a8764ba7eae67bca0beb5a53b1d0740451a3593c8079ce9b4d04c1986fd22f70e0655ab5d98df0939ce5b8a941d9d39ff294364f87b6722fca9e8d6ca2f3745080f38abed7fb38585f755e53a7f2f39ff294364f87b6722fca9e8d6ca2f3745080f38abed7fb38585f755e53a7f2fed7f6142bf7f36f911c3650f547ab6d415220df4cb6b29c6aa2309cb38641c86dbbca135499d5b159b1aecd193c2bd0f97c0cbcd0294ae3d99812479823242e8f6175a4d4c127f888361c270b1197fcd97a1bdb434d1abda7998971601a8397f7ae16a8a7dd1bf881377f2a6e6c18c53c1fd87ba371674aca36f9290a82e07d8dfe0017553beaae85c6e33c11d46c246eefcec5b3dd9486e6b42155090ae6c3edfe0017553beaae85c6e33c11d46c246eefcec5b3dd9486e6b42155090ae6c3edfe0017553beaae85c6e33c11d46c246eefcec5b3dd9486e6b42155090ae6c3ef9a90d9e41f8c67a18bc6b783cab9147a94e6151584bcd6e02dae258147ef5e004cb7e679b7401607011a557fbea5e3e3f5087a244477d23a6f54f560e498dcef9a90d9e41f8c67a18bc6b783cab9147a94e6151584bcd6e02dae258147ef5e01e78fab289fea4b1f4f0d799d538a4a5b9cada87009d7ff717ab2205079180fb1e78fab289fea4b1f4f0d799d538a4a5b9cada87009d7ff717ab2205079180fb1e78fab289fea4b1f4f0d799d538a4a5b9cada87009d7ff717ab2205079180fbd432d29d4a462973906eb4a7a8868e5937ffbea057f29751d6ba88c3163b4f9bb14f01a8d1b77a456c90187db454eee255940773442d69967802126debada07a1ead40becda64baac7acd63dc05e25043d53ae3c850f2d343f740a8efc3088dde2e871d436861570a26cf91621e00dc2ee6156729b56140b9afe9142e1a07a3ce2e871d436861570a26cf91621e00dc2ee6156729b56140b9afe9142e1a07a3ce2e871d436861570a26cf91621e00dc2ee6156729b56140b9afe9142e1a07a3cd134d805366a564ff1547179858b9a985880388447fa0ba5141a97dc127b2d02d134d805366a564ff1547179858b9a985880388447fa0ba5141a97dc127b2d02d134d805366a564ff1547179858b9a985880388447fa0ba5141a97dc127b2d024cda0136d18281002d4ff107a64eada9224df06b8cfd35e19c57a396a4aa7ed0f8a521060565157dabaf543241d7576ea02d2ca63127f4c117f8e150083312914cda0136d18281002d4ff107a64eada9224df06b8cfd35e19c57a396a4aa7ed0572716e10c9bd4fe5383728da60727896e4ff0f9676b645e731aa08ce44657ff57a108496cf1e5ea8bee67649a982af9a74fd9ff31224eb658f897faac2d0e8d572716e10c9bd4fe5383728da60727896e4ff0f9676b645e731aa08ce44657ff85cfab382f68bb1493e9525326306084f4669e0564b718b6481c29e5164677f885cfab382f68bb1493e9525326306084f4669e0564b718b6481c29e5164677f885cfab382f68bb1493e9525326306084f4669e0564b718b6481c29e5164677f8b6844078f340e55dca7e5b25b296f4460fdecd0551ca476fc34eee3e1ef6f627ecac15a87dce1b52a106235409f98fa23341b347ee6701e37a5825c152db5479e771e3491cf767b94b02372b38b418da8d915cbf6b6c50c2715f34d086a6b72c317c91ff48473364adf7e18c2c702f0536f3b3cc898d2efee70990098d770ff074aed2953f429c2f5576b023b67a44b54186ee2877b5eef05fb560b4298d4cfc317c91ff48473364adf7e18c2c702f0536f3b3cc898d2efee70990098d770ff04811077b55fb9114546f50fd7486223b769a89997f1a8316a7915362db859a110a5bfb6b62691051f3cf9b49d3b1f4ce8dd93501590993ae459b225ab63e75994811077b55fb9114546f50fd7486223b769a89997f1a8316a7915362db859a11bf6e0889e64f098301cce9916b5ff04ba6372d235206671d1209932b1ba43e35bc2d7064f7dcacc697cc1a7dc776bc4fa34f9f8f5c5f269420ef01fabae57a33bf6e0889e64f098301cce9916b5ff04ba6372d235206671d1209932b1ba43e354e53077b9699099326cc6590dc8b9610bb8caebc52908f165cfdce64e9525927fda43c9d4c26dc54b565bc0293522e341a19baa30144942883c87a4301829deaeecf2902f16bbaeadfb7de380c8a9297d07310a1b2c578d1ceba02a491f79a17311de7296e8f9998dad7d214db4023908cdc4a189b533eb0cad63edda82a45671c0844aac8f82fb216efb259304fc82247aa81ff3b6829b86a4cc76cb23bcdff311de7296e8f9998dad7d214db4023908cdc4a189b533eb0cad63edda82a4567d369a9f5e34a29ca6162f4dd08b16ea7b2d955a95d091d17d1f1cb0091ea16b3ac01480a40ebce34f5c0cee4b72bd2f8338a57b2b0d5d8af574a44da797ac3c9d369a9f5e34a29ca6162f4dd08b16ea7b2d955a95d091d17d1f1cb0091ea16b3af40c2e92fe22ffefdf5ad91503fe2a5320fd9544e8e2139cf7837f4a039e5ffaf40c2e92fe22ffefdf5ad91503fe2a5320fd9544e8e2139cf7837f4a039e5ffaf40c2e92fe22ffefdf5ad91503fe2a5320fd9544e8e2139cf7837f4a039e5ffeffe1bb513956ba965dae27995fef834d00dd4d3de0f8212b4f80849845b337feffe1bb513956ba965dae27995fef834d00dd4d3de0f8212b4f80849845b337feffe1bb513956ba965dae27995fef834d00dd4d3de0f8212b4f80849845b337f0157d4273aa56aa160944ba5d0db2b3196f058a4603744a7c4ca22edf6e991a40157d4273aa56aa160944ba5d0db2b3196f058a4603744a7c4ca22edf6e991a40157d4273aa56aa160944ba5d0db2b3196f058a4603744a7c4ca22edf6e991a43228931ff81afcd3400de948fba24c26a7050883cff529473481ea3fe3455dc73228931ff81afcd3400de948fba24c26a7050883cff529473481ea3fe3455dc73228931ff81afcd3400de948fba24c26a7050883cff529473481ea3fe3455dc7004204ba1d8f85bbb2f0337b5b43faa29cbe5d1f3772bb71bebab73eb137557bdf545103b2b91bf61bad6577111596aea8bdf61650fba621e34a5dd2703ac07568eed3f921ebaef733229c7303b306a0c586b233c68f1ee8e5f1059da9cb0f9cd771c872ad2ee68c6ba73cf19bcbb9c3bc02cb427433f5c236604f9e5399f954db50ad58bd44b60c931617ac500788d36a65daae61db710ab32e86f5f6fe8660d771c872ad2ee68c6ba73cf19bcbb9c3bc02cb427433f5c236604f9e5399f95401f0c838789c5e846c9305e8907e9477a815a33c38ec481d7e89b71af5eebcb001f0c838789c5e846c9305e8907e9477a815a33c38ec481d7e89b71af5eebcb001f0c838789c5e846c9305e8907e9477a815a33c38ec481d7e89b71af5eebcb0fec40ee400196bcb84cd95d12758d2447640fc612788c49b184abb52d1b52d4afec40ee400196bcb84cd95d12758d2447640fc612788c49b184abb52d1b52d4a358d372707fa1a3d39d4f0ead77566991e3558beec6f89df469a195cd4ceb011c25a136b54258b71b3a59f07e65807a2894b9c2292663b239ba2aa5d1c0e68c66d15640e5dbaa2339601d384f678a37dffe90ecbfad34de66b9a767f38ecb064c25a136b54258b71b3a59f07e65807a2894b9c2292663b239ba2aa5d1c0e68c65d229b0c090100f6899b99da0b478475c43224c510a0afbc8810ac21f51c8eee5d229b0c090100f6899b99da0b478475c43224c510a0afbc8810ac21f51c8eee5d229b0c090100f6899b99da0b478475c43224c510a0afbc8810ac21f51c8eeec3fb0450ee753d1bd8bc30f3aac325e3cd457b13ea9551622237f99a344b8d48c0c65ca44f54632e46c7f7da13ffb7a0ef6ced209fd954863d4d5e08969bf52dc3fb0450ee753d1bd8bc30f3aac325e3cd457b13ea9551622237f99a344b8d4845ca3ca9d7b17c5c65f1a3414ee5cbfc9af9c9858e7101833c191879a67a5e7a45ca3ca9d7b17c5c65f1a3414ee5cbfc9af9c9858e7101833c191879a67a5e7a45ca3ca9d7b17c5c65f1a3414ee5cbfc9af9c9858e7101833c191879a67a5e7a7457bfdfdbe3fb38e93273dbced631ef2f4ea291112e303f459d38cd6c8593fd3cd068f698f72d42a16efbe72744c346cbfb20125421dc71828787304e7f953d7457bfdfdbe3fb38e93273dbced631ef2f4ea291112e303f459d38cd6c8593fdcbd4ce296237525040e28c4a644e8876ddff48c6d66e930695c9b33faca536cccbd4ce296237525040e28c4a644e8876ddff48c6d66e930695c9b33faca536cccbd4ce296237525040e28c4a644e8876ddff48c6d66e930695c9b33faca536cc963c812a4aabe567508284f33d26533781877ec66a0fc8c0e566c8076e4e9540963c812a4aabe567508284f33d26533781877ec66a0fc8c0e566c8076e4e9540963c812a4aabe567508284f33d26533781877ec66a0fc8c0e566c8076e4e95408f5514a8670446dca945c47dafb6433e055d7a7cf9d713630daa2acdc0233e4dd32ca52deeaf562181727c9d159964e7a5bffdf70fc9017320a74777074a1e468f5514a8670446dca945c47dafb6433e055d7a7cf9d713630daa2acdc0233e4d3181dd3edc1a88ac94bee439a38dbcec2891d1250d6ae2eb5c88dee4518ceeda3181dd3edc1a88ac94bee439a38dbcec2891d1250d6ae2eb5c88dee4518ceeda3181dd3edc1a88ac94bee439a38dbcec2891d1250d6ae2eb5c88dee4518ceeda0fbf3634d5e1509ba6bbe59f0b6c5f4bc05c15b751e73a90892bc35d269fdc8132d8355444ba7c6c012ae87f129178ce5fdb42ece80ef6e23950e20f91a9c8360fbf3634d5e1509ba6bbe59f0b6c5f4bc05c15b751e73a90892bc35d269fdc813d3f0492333213e50ffbcb77cfc563e270e14a3c5a3aba6940b1b026325f93b523a4dc67e8bfea9ef6daa325b8e702f48da5cccb7d83295c2ec0424834d95be492d74d463031f6897f21c16353f1deb912b6ec541c9497f5a9b08e1e34d7f277463b98aa0e114806717aa52ed1cc6976475cf8bd3609c5593527108aa59b10f3463b98aa0e114806717aa52ed1cc6976475cf8bd3609c5593527108aa59b10f3463b98aa0e114806717aa52ed1cc6976475cf8bd3609c5593527108aa59b10f3667856ba27282fdb5b918110c2131181567fe012297bd577ea77107488a5cc15e9d2d4493beacb7258c03676d78140e959950d35e47c5d1151f3e29864d5f4b6667856ba27282fdb5b918110c2131181567fe012297bd577ea77107488a5cc15f4fef24958689a164748ef1d3ab02cf60a3e318a77b83cb9072048731018f6b59772e9cf8cac2d9d5deaf9e877978ef4888f2863595710f1dd2ca1968122c427f4fef24958689a164748ef1d3ab02cf60a3e318a77b83cb9072048731018f6b5334a7a9ce182273653343591c920ac98055b3dd89f8fe310dd6eb0b4ad746f9114d22d1d621cc2cab7a890891ebdc1df9f4b05c8c28a9001382ee9985f0acda9f9b41ef52ec6a8eaf242d5e29f3ca26cd7718d1eceaf80f08636577fe883fe002808ece42c21433536085c24a1e787365de9eca383568d2481a86725d0d70bee7eb06f0f32c9e977183e782cb829a310f6a612ef43ce2c2b663a2aad0104e069a22c5728407169720806170bbf251bed98d54d69320189d15172ea7b990a548d1e91892838b0cc5a628a26655e9745bd68c656509f6319c0c63af0ec1fce9b0bae3a6c618a0e14bb2374e47a5e6e52d121d6341fcf10753411ab11733197a7191e91892838b0cc5a628a26655e9745bd68c656509f6319c0c63af0ec1fce9b0b377b9fca6b4adf99065aa830447b4a2d753e57eb9a4584398e17528de56f8e7bd084654b720e28bdcab34405ba5584ab3174ce6c5e7d1de1dcae8797ffb03507377b9fca6b4adf99065aa830447b4a2d753e57eb9a4584398e17528de56f8e7bdd5caa6a233000260eaaae7c5b9fabf4f0b771b8ca457be2b3174d5c3da6812ad5760ae700d829453b13d259076dd964e0cf66d3025ecea60afbbe04cc38aed8dd5caa6a233000260eaaae7c5b9fabf4f0b771b8ca457be2b3174d5c3da6812a29f4796c66673b3d31d5234714bd6b18fab9b84782b7d79c5bdb8dcfc423468ffe80b167df79a67d23bc0f66a640b705f36f99b6c1c7fe0865ee8d24ff89f8f529f4796c66673b3d31d5234714bd6b18fab9b84782b7d79c5bdb8dcfc423468f96c01157314f71099dbb889340683ec28a94f70ef7e0760e46e4f60b15ae85273c5bf12c40efea91ce2ed0251d9477945689e0d03869644a4084bf1db1d11bc596c01157314f71099dbb889340683ec28a94f70ef7e0760e46e4f60b15ae85270def5f7dbed5ac8a56865f424459f38bc5938f43531f99d10a84651761472566dfa00dbaec7c506133465615a57657b548fc3f9689d9d29a7e392cf5c8af13300def5f7dbed5ac8a56865f424459f38bc5938f43531f99d10a84651761472566234ba4762d5fd6464ce6d7eff72163e1a29d8841eb3ed4af06f34b361973cd8339c706295d6e5553ddbe95b38dc5ba9addbb2f6b945eeadc65492cb5235c72ba234ba4762d5fd6464ce6d7eff72163e1a29d8841eb3ed4af06f34b361973cd8361c6795579a384d739c5b42ef1cbd4136d4ff0da130886f42cb7842189bc0504cdfb95d1c8bcde05daea6cdee958f6ed6b3bacdc39a82f105411a20a03a7dd7561c6795579a384d739c5b42ef1cbd4136d4ff0da130886f42cb7842189bc0504a4690b528544355e8582859d312f0abd8ea33025d9b0a1b0982d5cd8c076685ca4690b528544355e8582859d312f0abd8ea33025d9b0a1b0982d5cd8c076685ca4690b528544355e8582859d312f0abd8ea33025d9b0a1b0982d5cd8c076685c5625ee018c90da178f74bc92419d7c9c7b55d8561ebe2776bf3893ff4363033a0325cb92d12977fb8cc93a049ff687ee67889113eaae25d6d31b787bfb1b97345625ee018c90da178f74bc92419d7c9c7b55d8561ebe2776bf3893ff4363033a967b48441151cb4ad0a8028d219ba5fb251d969fc221b6f5ee5f44bdbdcc1031967b48441151cb4ad0a8028d219ba5fb251d969fc221b6f5ee5f44bdbdcc1031967b48441151cb4ad0a8028d219ba5fb251d969fc221b6f5ee5f44bdbdcc1031e81eb6ab14f8ba6b75da35c59cd9d84a9e0b99c30c0b5f7c4be2080cf5dc4ebbb388bb14e449d6733f1a12984e251c867d67c008b895efc1b5399ca119bfb7e3e81eb6ab14f8ba6b75da35c59cd9d84a9e0b99c30c0b5f7c4be2080cf5dc4ebbd55202f6995af17b475066767f62b89ce3503b1e53a045bebe9433b64bbc2cb5d55202f6995af17b475066767f62b89ce3503b1e53a045bebe9433b64bbc2cb5cc7edf95f2f7cc1e9495de943c2ac40bf961c5e3a7bbc40e549d8d05a418f23669afb65203b92e68cc3b4a4905327107b9d23d2f17023154e53741b5d5cfc61b0c61153c0cbe897e0e2e1501e0bcc6c8fc5d7f7884f3c1e5933a127460d3f3d2c777262e07ebe598a3672a874b56dc9ccd09670d9b10151ac7eaa50abc0950b56abdde53613c670b2c0835f7fdebfd3b127c67f3d2dcea8e5c21bf1ea2a6e4b2d29c17d3a886d7e4342da88a6533d35f97b96b38e88e0534a8a7b658d777fa56325278868a0e948441f525567f25692a93ea3b01d86df1a006c8d8f79f0b0bfdca85cec927436e1827fe1bea07d3ff6aab19bdf5ce6a0cd98b9ddf771ffa7c94cb1cd11d8a84d02c01be59831b6ab4f2eefeaa078309221277067da7ebebe169ca85cec927436e1827fe1bea07d3ff6aab19bdf5ce6a0cd98b9ddf771ffa7c941ea87280dac87afaee1b60ee0f1fc4d12dd3c28fcbb379e8407a7997d38e1efd5fed1596235f2fa53c21ff53217a909101147e635852bddc9085992f870c71c7a20914ec8be1dd35ea8274c9e16fd67576d39eb53bb4f9b49fd751ceadb67776e45ca6e4c87b0f1eb23c441fbd27442f5cce0ee858483ab264806b8ab1746000e45ca6e4c87b0f1eb23c441fbd27442f5cce0ee858483ab264806b8ab1746000e45ca6e4c87b0f1eb23c441fbd27442f5cce0ee858483ab264806b8ab17460009d012eb43808125edbc2bfd49921fe479c9bb5dd6285caf62fecd13df482a2f6b06e7ca613004b3c4b737356152e9001490f3805af9b79b08807977f07fb763a9d012eb43808125edbc2bfd49921fe479c9bb5dd6285caf62fecd13df482a2f6d014df10557c439ad535a0e2690878ecb7d4d720ba767bde38d5070cb012a57f944e3b383ac1b7e8e87cb5b5fadab008a7c997dbcd4ae428e5dfc05416779730d014df10557c439ad535a0e2690878ecb7d4d720ba767bde38d5070cb012a57f92024f2410273f063501e6aabdbebb90fc5514186859d410b46241293874e82192024f2410273f063501e6aabdbebb90fc5514186859d410b46241293874e82143a2b8006425b57de92932e67cd72f09a9ff15931f62719100970d7b434d27d18a693004a2a132f525e30bff76223c2685e008902e7f0cf08bb6270e07237084389a209a6ca7dace96ec02192ef4118d6e705ee4fe3ba9576095f45d5ffec35c8a693004a2a132f525e30bff76223c2685e008902e7f0cf08bb6270e07237084f0e89660174c043e02339ff10ffe4c647a36caa1d1f1bba69f72b7862ba1d6133696db119dc65daca896d9ba6b40b834194536c5d2d9a7a8ad3d790b32466f83f0e89660174c043e02339ff10ffe4c647a36caa1d1f1bba69f72b7862ba1d613710e15dec0afeac24c22033886249d78c45bf01989fd666aa6de138b23e9ad0c710e15dec0afeac24c22033886249d78c45bf01989fd666aa6de138b23e9ad0c710e15dec0afeac24c22033886249d78c45bf01989fd666aa6de138b23e9ad0cf5c815c7a9508bfb5e3244af9eabe42c1a13ec990c954def0e896660742b39b9c434b3ceb7f97e3a789ecbe5842fbabed970d7dfd65b4e0b882e6d2577c65ed0f5c815c7a9508bfb5e3244af9eabe42c1a13ec990c954def0e896660742b39b9ec08d467b9dca6be6b1f0d9125574a0957ebee4751cf5146be5db9ef3a66ded900a4d1f9133ab5e9fa66b20b7182a620d4a9e47cccbcca0b9e6fd853a69741cbec08d467b9dca6be6b1f0d9125574a0957ebee4751cf5146be5db9ef3a66ded92b1a53ee2b7bda69f0652218bc32c4c436064fdb3c60e6b9b8bff647806b2ca14a59b6a24fe17602e726cfbac08f62efee54ce677f2af5a5cee84ba350149a0e2b1a53ee2b7bda69f0652218bc32c4c436064fdb3c60e6b9b8bff647806b2ca1d7e1412f1eae539f4998caf54cfc69c1939efe34e07dc847a3a427b4934d5f4cd7e1412f1eae539f4998caf54cfc69c1939efe34e07dc847a3a427b4934d5f4cd7e1412f1eae539f4998caf54cfc69c1939efe34e07dc847a3a427b4934d5f4c7f6d3317f134ac419dc9203f8b620ebe3fcb9021bad6e250a923e53fb1d0632fd933879397dd78b4223bff3245b411634a1f53ea9285b2419879e887c42414637f6d3317f134ac419dc9203f8b620ebe3fcb9021bad6e250a923e53fb1d0632f6fb07ba133c2cc44bc56ce8a2c649cec105989586549dc81b96d7d220769436f6fb07ba133c2cc44bc56ce8a2c649cec105989586549dc81b96d7d220769436f6fb07ba133c2cc44bc56ce8a2c649cec105989586549dc81b96d7d220769436f79cdd84a35324b80f715b191f2f5629dba3640edcbc1d749c0a3c32facedf55d79cdd84a35324b80f715b191f2f5629dba3640edcbc1d749c0a3c32facedf55d79cdd84a35324b80f715b191f2f5629dba3640edcbc1d749c0a3c32facedf55dc103e0c312b373cb9f76efabdd3c5c90ab2b66d7e7371f89d07a71aaf31399a6c103e0c312b373cb9f76efabdd3c5c90ab2b66d7e7371f89d07a71aaf31399a6c103e0c312b373cb9f76efabdd3c5c90ab2b66d7e7371f89d07a71aaf31399a6a62c322a5b4ace92f9c0d7b882af1ac42d07e07821f6dac223d5835c9aa95dd0f8d344e677fd7230c36fdbec237520db9c99c8296bcd527c8f937b45ef84ed61a62c322a5b4ace92f9c0d7b882af1ac42d07e07821f6dac223d5835c9aa95dd02a37975c0fe48cc8684d8fc4f04cf66983b78b710899d75ef4ecea0266d832711836ac0cc371d5851d21be91bdf0268ca19ed0e39a11cf34e6ad85bee3c274022a37975c0fe48cc8684d8fc4f04cf66983b78b710899d75ef4ecea0266d832715567e4aebdbd105b0d1c2516cb08278f19442bf949f05c8552e556647b52b929f874c6ac74bf63823f050c2fff549709898a9f6a09f18ec14703a79a645ff3df7696a6b227852ef57c46cba4a644fdbd0e98d9d7e8611281bf8ad87c742f048e693e6f2a765f1f364ca46be88ab3a990c14924eb79621078a6adb8d467edf986693e6f2a765f1f364ca46be88ab3a990c14924eb79621078a6adb8d467edf986693e6f2a765f1f364ca46be88ab3a990c14924eb79621078a6adb8d467edf9862d2cbb05690e4d4121ee3b1fb2de56d33ccc9aefca0d244c8551fec31abdee70f4f14c863751463a1b032844b1b420f73737daa6e0131a3416653ea5d87d34d62d2cbb05690e4d4121ee3b1fb2de56d33ccc9aefca0d244c8551fec31abdee70470a708b9742782083f34d79a5223b00ca35fb7710ece886ce5f33921f83c1c96dede76e57160d3b0337ade0b2b2808c95f575a5903c834d02e7120358bc47a9470a708b9742782083f34d79a5223b00ca35fb7710ece886ce5f33921f83c1c9a00683b2fffe567f28976e70639c3b60c308145ff64bfe9adb1302e48f79bd58a00683b2fffe567f28976e70639c3b60c308145ff64bfe9adb1302e48f79bd58a00683b2fffe567f28976e70639c3b60c308145ff64bfe9adb1302e48f79bd584f1e5803bc176deb57bf3508a04f78dc30074d9d0577124a448d9c46e85176eaff49c5af1c0f2f920ade8265d014a753f6a3618c18d98d07a29e55e203b5e9d64f1e5803bc176deb57bf3508a04f78dc30074d9d0577124a448d9c46e85176ea6d9e9cc72288c7a6d358d17d00b701d0f3e33a1f9edabebf9c55706e38309659771c6351eec406539cd7db603c5d386bb5828387b7da32c5d4662f1ed40d26876d9e9cc72288c7a6d358d17d00b701d0f3e33a1f9edabebf9c55706e38309659639884501006455947c21c5152ab2be1ce2e5ffcacd47fb68225f027563c0529f91b80332e315c0c30429d55b78ebe034e72bfefe0086b13e0ea2897737bf7d6639884501006455947c21c5152ab2be1ce2e5ffcacd47fb68225f027563c0529cf535f03377203a0dab56326843b188e628fb801ef5f3fbb8d3b888be693cdddfd911e6f82f3426a0a0863b78eb9e7b79976171312a28c2f0a1f32d236d0d7ffcf535f03377203a0dab56326843b188e628fb801ef5f3fbb8d3b888be693cddd839c741c282c4c681886a51f52510ea31f4306a5f730259d80897ca828d7989f839c741c282c4c681886a51f52510ea31f4306a5f730259d80897ca828d7989f839c741c282c4c681886a51f52510ea31f4306a5f730259d80897ca828d7989fbca60d06af56af71a73166ecedbc995c9e6e72d3dabc61dfb0647ead1af43418bca60d06af56af71a73166ecedbc995c9e6e72d3dabc61dfb0647ead1af43418bca60d06af56af71a73166ecedbc995c9e6e72d3dabc61dfb0647ead1af43418bd1a35371c6befb2435a3ad4401eeb8e3da3f3144b7686f21a49a32000682e06bd1a35371c6befb2435a3ad4401eeb8e3da3f3144b7686f21a49a32000682e06bd1a35371c6befb2435a3ad4401eeb8e3da3f3144b7686f21a49a32000682e067e2cf1e2716fb3efb0639bd5f871d824d9fc34207523c7a850cb7062c09400e97e2cf1e2716fb3efb0639bd5f871d824d9fc34207523c7a850cb7062c09400e953464caa017d12f0d5f9c9e5071097b51d586c974b10846ebf99525cb3437a7c4177f3a732590b6a2cf843d2b6b1f0424a6a59d6f34ed0812ab3ac5af0c8853d4177f3a732590b6a2cf843d2b6b1f0424a6a59d6f34ed0812ab3ac5af0c8853dab07a2240c4522e5895289273ee6af9f660264b614d8493140b2156c84d0cc3b1ae7ff939641146d0e82a36ac687556c5b09fbe7bb915f5aa46c8ce5f90521801ae7ff939641146d0e82a36ac687556c5b09fbe7bb915f5aa46c8ce5f90521801ae7ff939641146d0e82a36ac687556c5b09fbe7bb915f5aa46c8ce5f905218082678786f00409d81716eef38df9acde88078a561885bd0ab8279bd8ad62ea60146b41b953c4d2cb1d78a03cc55006ee848c009645124575e82fac2aabc61a3482678786f00409d81716eef38df9acde88078a561885bd0ab8279bd8ad62ea60ad0b896cfc827285aa9f9ed7b0ca459b41bc0c2876725ac3043a4b1ae1d6b0b6ad0b896cfc827285aa9f9ed7b0ca459b41bc0c2876725ac3043a4b1ae1d6b0b6ad0b896cfc827285aa9f9ed7b0ca459b41bc0c2876725ac3043a4b1ae1d6b0b618f649e62b91aa615fae7d36620f972e30e7c38fc4b7261069071c9776d6510818f649e62b91aa615fae7d36620f972e30e7c38fc4b7261069071c9776d6510818f649e62b91aa615fae7d36620f972e30e7c38fc4b7261069071c9776d6510816d6b4434c96c8638f3293918976203be5b7ed4eac6e4df9c9cef053ac40fcee16d6b4434c96c8638f3293918976203be5b7ed4eac6e4df9c9cef053ac40fcee16d6b4434c96c8638f3293918976203be5b7ed4eac6e4df9c9cef053ac40fceed318b8c382a3473d55bb7021894898662dc494fd88d74129ba4fb23bd0d39b3ed318b8c382a3473d55bb7021894898662dc494fd88d74129ba4fb23bd0d39b3ebdb1df1cd8c5a6d95da093bf3ae1ee824d84184e9b9c821fb42f4a87a72cca74ca28b87e55c156a815700df00a568ad1d5692531d43158641f44bfc9da9b5cdfca28b87e55c156a815700df00a568ad1d5692531d43158641f44bfc9da9b5cdfca28b87e55c156a815700df00a568ad1d5692531d43158641f44bfc9da9b5cdf80f0c87068f41354b73d81fb6093351497188d2d86a12db9a36b081f91b9ffaaa34fb24c89aaef49518553b587d3b4241b0f7c2662b521922045e646fffc938a80f0c87068f41354b73d81fb6093351497188d2d86a12db9a36b081f91b9ffaae53e5366d684a6514b7e13e1bbe03faa2de18e253658c8cd5048f79b9d16117de53e5366d684a6514b7e13e1bbe03faa2de18e253658c8cd5048f79b9d16117de53e5366d684a6514b7e13e1bbe03faa2de18e253658c8cd5048f79b9d16117d9d50fff484790af5146be78e995df7e0dc8d360fbd5e6cb1bdbc3617fb55a6019d50fff484790af5146be78e995df7e0dc8d360fbd5e6cb1bdbc3617fb55a6019d50fff484790af5146be78e995df7e0dc8d360fbd5e6cb1bdbc3617fb55a60194c1d393182021e24fe5e4128a8830e3f029161a8d2c788e9928a0f5f8b8e02a1da38ef007c03f13e135db19d0454eea35cacc403d036d4b6b395ec0b585f911a4807ea5a1f1931314f55cb75979d42396b1e94034cfddc1b4be30c4894e643d4957d7a38e2e7ff940b7235b23c30f1ffb71171679babc3cb869adf2ca899d8ecd7c5f58639529117f4483673adccb76a280cd0306fda53fc54abc1b762a1c3f4957d7a38e2e7ff940b7235b23c30f1ffb71171679babc3cb869adf2ca899d8e310e88470b67026ffd6af66002c05375fd67bb1a932ef6e1fc9e81957f644767310e88470b67026ffd6af66002c05375fd67bb1a932ef6e1fc9e81957f644767310e88470b67026ffd6af66002c05375fd67bb1a932ef6e1fc9e81957f6447679d4c1d9ed660e91483cc3beb1a21a980c7c423f10eb8853153beafdb1c38594b9d4c1d9ed660e91483cc3beb1a21a980c7c423f10eb8853153beafdb1c38594b9d4c1d9ed660e91483cc3beb1a21a980c7c423f10eb8853153beafdb1c38594b58e6f6b3f2e1e2f274f95b726de255280dba3d07dc52fdff2b78e47b51fc3f3c58e6f6b3f2e1e2f274f95b726de255280dba3d07dc52fdff2b78e47b51fc3f3c58e6f6b3f2e1e2f274f95b726de255280dba3d07dc52fdff2b78e47b51fc3f3cf422c48f0a3487f175e775afd3812b97d6a6a900ac941e3d1fd45f1338357137a4d5ffe303e5ffdac214e16f05aa3e40535abdcad1737496508c9e38c42183e4f422c48f0a3487f175e775afd3812b97d6a6a900ac941e3d1fd45f1338357137d2f15e99ffb8e7fd8397229e6c72d449fe795f587d67378f95b8e104c9301db5d22a883676cb044d724261a8493266f9bb250b2c222ebc3395105f8b3e35fdf7d2f15e99ffb8e7fd8397229e6c72d449fe795f587d67378f95b8e104c9301db5e9d552a817a5394658d06a939e3123fe6da64c79ef84d8ce2d73d89144a299b8043d3605bf7ce3970074cca147f40aac290c669524c992a260675801902b8452e9d552a817a5394658d06a939e3123fe6da64c79ef84d8ce2d73d89144a299b855f126cd11c7dd9fa2b5295f87f88e73f46a407541f980b3bbd20d915db17250e2baadd0cc5ffc49f56a104fda48677587046482a4c8736a4e55d8b5f9dbd8e46fab9b1ca6c998c2584e88f67e61f3cc0cada36b9efcee60126b221568252f39b4ee3e7d6e5ce7858ef7a507c2fd231d18ea6f8c2f7631243c69bd78afd06c27b4ee3e7d6e5ce7858ef7a507c2fd231d18ea6f8c2f7631243c69bd78afd06c27b4ee3e7d6e5ce7858ef7a507c2fd231d18ea6f8c2f7631243c69bd78afd06c270351a1089fcaa1ff13ff1e99b694bfba57016f3714292c9a5be9edf788eaa5bc1c7ecf6b3830e347a6474b000668cea8aa69275f2b06767072de1849ef6d90b60351a1089fcaa1ff13ff1e99b694bfba57016f3714292c9a5be9edf788eaa5bc158e822ef1d23bccacfbf8ad66c97fafb6464794cca25d43a6e1eef5dc124367cee538e9715547a54376268a308f2ac1cc7184fcd52b57cec4c015a4576e4938158e822ef1d23bccacfbf8ad66c97fafb6464794cca25d43a6e1eef5dc124367752210f320ae82c272191c5c43c4c2079ae555f9ab702f7cb30d0374ca92209c3193b18e131033f0c82b0fbb373e67acef548fd017057e8834a33f2fdbc0db51752210f320ae82c272191c5c43c4c2079ae555f9ab702f7cb30d0374ca92209cd2ab79f9e237a045cea1c9229dc01ded8e999ddd637301de45b927f711b55216ef67cc1faac5c98b0457f70a2048a2d248ae1e90ecd81192e3aefb703358e141d2ab79f9e237a045cea1c9229dc01ded8e999ddd637301de45b927f711b55216f46769847632426e1d3485bc90d52b2aac75f33ea902a9ddb2b1f834dd6ed41ca6c9b93b778a6982c485e55290b4644a4ff0b58c1c0211e31990fb17ebe73cc1f46769847632426e1d3485bc90d52b2aac75f33ea902a9ddb2b1f834dd6ed41cccb11884a3e808b913684b3fb0fe30fbeec2e7c5791dec5f416f2e7455f68829ccb11884a3e808b913684b3fb0fe30fbeec2e7c5791dec5f416f2e7455f68829ccb11884a3e808b913684b3fb0fe30fbeec2e7c5791dec5f416f2e7455f688299a0fa1ba88d2965202278d931a5f27bb7367407ac1f5d0846d69003ce80bc5629a0fa1ba88d2965202278d931a5f27bb7367407ac1f5d0846d69003ce80bc5629a0fa1ba88d2965202278d931a5f27bb7367407ac1f5d0846d69003ce80bc56272fd3605fde9e2b7ea2eb62d948b19a73bc44b26c0f09718350cd3e60d14fe65a15d743027e6d7264b21c377757951722e6223f18b157c496291c573e3a5cc2572fd3605fde9e2b7ea2eb62d948b19a73bc44b26c0f09718350cd3e60d14fe65062e62349fed5cf8d79090b97f0c1d6ae641df926b337afc0672140b2122783f062e62349fed5cf8d79090b97f0c1d6ae641df926b337afc0672140b2122783f062e62349fed5cf8d79090b97f0c1d6ae641df926b337afc0672140b2122783f5c5df3cc0c399ae5db393ddf5c2824a4b49625042c93b4de94133ab47468004b5c5df3cc0c399ae5db393ddf5c2824a4b49625042c93b4de94133ab47468004b5c5df3cc0c399ae5db393ddf5c2824a4b49625042c93b4de94133ab47468004bbfc029461d32cd8a924406f97f81c0704d325f6bc0ca598806efecbef8f5a7a2bfc029461d32cd8a924406f97f81c0704d325f6bc0ca598806efecbef8f5a7a2bfc029461d32cd8a924406f97f81c0704d325f6bc0ca598806efecbef8f5a7a2162360161da949eb0efdbb5faaf7a3bdf701a55aaa8b7551da94e6797f8518447447071849ef4a2525aac7e2d4a610fbbb56f479e72ed6ac8e9012080fdeb803162360161da949eb0efdbb5faaf7a3bdf701a55aaa8b7551da94e6797f851844636adbf2b626aa16cb13664f628d8c4a345f8bcc3e4de6fbc7649dc74a7ba929b6c37acaa25b6130ac5cf537b5f963dd02645b0c1efad5223778659dd73a307f636adbf2b626aa16cb13664f628d8c4a345f8bcc3e4de6fbc7649dc74a7ba9292d768f336b6013dac90baef59c7e617327a1f600ae516aa203ec4927e0f6749f2d768f336b6013dac90baef59c7e617327a1f600ae516aa203ec4927e0f6749f2d768f336b6013dac90baef59c7e617327a1f600ae516aa203ec4927e0f6749fad05bf82de754ed3f44b191582f23fa437c8acd84e1f577c997dcc51bb9a19a7ad05bf82de754ed3f44b191582f23fa437c8acd84e1f577c997dcc51bb9a19a7ad05bf82de754ed3f44b191582f23fa437c8acd84e1f577c997dcc51bb9a19a73284a017ccb64f3c9e000f4f08587b8580091af3bd009528f97d936467cbb813e19d059e690cefc732ba4fca81ea8fac5600e7d7dd804ea5ac56619cd81b96d73284a017ccb64f3c9e000f4f08587b8580091af3bd009528f97d936467cbb813c37351f1a3ee024bbde2674bcabd16e783948afa01bf6bcc785f17812e442824e9b6b2cac40b9052e7222bcf0f4bf4e177efa4cbdbc43083ef783aab9b82846c8d90396d981c993a8f79ddc0088c1b729075dfb387cdd18de88643d10fed5599ff345045d585dc17e9bf9dc82c2661ba10fa112d71e6d49d2c077070badfc72af1455342e9072304902edb6cd63da8b13117fd892e3662f40f8bc703426015a465d2ec7b1653f6942baeb88ac89b3d7adc176238b77e0f48a2dacdfa00ff77305966badf8457bfeb336b941144ecd0e5bc6b8b3a97cb243075f58bb362691397e8cd599610dad0755723b650920606882c98986fc2a8e01a7ac4c9c1241b5474d36c4c1e4c432bce7c5c93f74ce7ec69991dd8625101518f00929b4f0a3d3f64ea9544e1ab4be7188546434cb75fb74ad2290dd1cc2f6ea69b690aa92888dd51451631c9fd1106b74cab8a221e502012ed6f951032cc472c85da806ca116be95ea9544e1ab4be7188546434cb75fb74ad2290dd1cc2f6ea69b690aa92888dd51566fb038268e057dc93340dcf7e0b0b25fdb628f8d2a12fbb5116828db5524f1566fb038268e057dc93340dcf7e0b0b25fdb628f8d2a12fbb5116828db5524f1566fb038268e057dc93340dcf7e0b0b25fdb628f8d2a12fbb5116828db5524f1185ac87c0b2f37a9a9daffc5fe5b1472610d4a9a6cf97d9e64aaa62bf2f7d70e7328482276333fbe260a50810a83847cd8debe79a03151156abec421df085cd8185ac87c0b2f37a9a9daffc5fe5b1472610d4a9a6cf97d9e64aaa62bf2f7d70ede0ecf096fb5975c81f3386f3c1c6fb17fa73e88c23a4c3f6b92ee88311daf8c69226b59360438d3d2d31345f7c76c4ec48c4c316c26439de27ce25af9f9f629de0ecf096fb5975c81f3386f3c1c6fb17fa73e88c23a4c3f6b92ee88311daf8ca717c31417f0793c83c5950a88679cc1e3600faae836e457e801801aa6973c66e73ad5fc8c304ca834146bb11dbe6efcb8ea5a7edc7124cc8ba81b519a8ae7b1a717c31417f0793c83c5950a88679cc1e3600faae836e457e801801aa6973c665f12259ac1cf9d48bd1574fd539dce82bafcb4f5c301aa2c9fd25d71122e284f0adb8101ffc0593d26da27b9a036aa5ff89690d97407424ad987e5a1bcc540dc5f12259ac1cf9d48bd1574fd539dce82bafcb4f5c301aa2c9fd25d71122e284f15a4e9d2581c209cffd50f460badae546c71164e38969f4f1a6f9f404039752969e6bfdbf5fa99f6f661d067a32ec2562e093ef110adf013352b35d9744e3d6f15a4e9d2581c209cffd50f460badae546c71164e38969f4f1a6f9f4040397529384f24f2ea975f625a6646c2638e613565ca01db6fc50ce376cfc7119aa3d3f9558c34dbfa2e677057025603ae545f1ac57eefe4a07c57949f034ffc249d7f5e384f24f2ea975f625a6646c2638e613565ca01db6fc50ce376cfc7119aa3d3f9e2ffe41e35d73d2e4d08781e02abde52e278832a60313731f4cf3fbfc6fac4b445b453424a888cdfaa866c647b180614615d1158e046e8f19833b1d697c1ebdfe2ffe41e35d73d2e4d08781e02abde52e278832a60313731f4cf3fbfc6fac4b4613d6bf1ea7b209739b5af697f9e21008601fa6ce15538144acc6dff67493530613d6bf1ea7b209739b5af697f9e21008601fa6ce15538144acc6dff67493530613d6bf1ea7b209739b5af697f9e21008601fa6ce15538144acc6dff6749353009d4a4f08efd7ea929847ca5efbedb8f7bf3e55f9ea17e521820184d0650394d244f1738db110d525a3ff958389a3149131467e5f7877dc8de9f067ab764b1ea4de011c074aadf6ddd49f25e0e6c8df32a018ac4cd595cf4eada26ce3569d5fbd89f7c67d6c82ff11d2a8fcaebb0de778d1f3a2235380241bc604796019c757be73f76f342cf97516de4e7de58560d7093c63b6529bef6db3f457254e26eb0381d8ff98505d7a731ff5762269fbf2456dae37164ff84e8792a67b544f13f716f138896014785886a19cb66ccf05f6b0b5ec30dadf376ef4983e256663957bb9c11c3fd7f268f74c2e1201d75c09ffc327ce34dc1f0e55055bab1aea113109c6b9f85cc8594b05039f27d875d584bca5ea5b234e4ab4225392e1ac4bda856ebb701a7e067955dfc00fcd4545a9ce68c2bff77b40f5cb1a6d02abe98f282920a35aa60a083c56550e19b7401ebc6b520d6afde876c9c64551e49c1ee768c262bc101a7e067955dfc00fcd4545a9ce68c2bff77b40f5cb1a6d02abe98f282920a35e68195a98816c1bdfc28d2b1afec157eed2d1acf6d50561b2b61244835e2ef6be68195a98816c1bdfc28d2b1afec157eed2d1acf6d50561b2b61244835e2ef6be68195a98816c1bdfc28d2b1afec157eed2d1acf6d50561b2b61244835e2ef6bf680543cbad0e89a3c46693cc872b1fa644b4ce80738c487fd16f6416330fff3f680543cbad0e89a3c46693cc872b1fa644b4ce80738c487fd16f6416330fff3de6108903c73f82582d9d86f3adc327998af8f53bdacdcb2a6c070b65208b9d9b5d4c30ddc4b54a7a91f5c8391049ca0e9ccfb8ef446637dc8fa284091973782b50503fd2e94194ead741342988f66f80f9b89302f2d4521a45e946433cb8f7ea48354d721dad161ec59e12fdf86066c9ca29a7a38160bccf679dfc08259dea14d9a407d5c338083ad2bbf1e0bbed1f2794b3853fd2e1f9d385f87c8d28244014de13a595ae5b85d3e492ff83a87615ec70d2c4bf317ca6fbd083ad9cb47e6134d9a407d5c338083ad2bbf1e0bbed1f2794b3853fd2e1f9d385f87c8d2824401f67f5b40da7caff017df87d63b29b0de5c49b6a544df6ab8dc38f12fe975e526f67f5b40da7caff017df87d63b29b0de5c49b6a544df6ab8dc38f12fe975e526f67f5b40da7caff017df87d63b29b0de5c49b6a544df6ab8dc38f12fe975e52675bcd6b5b1de060cfee704b975952dc37728c6874d96e5a1169bfb67a107a9783fb764bc5d86373a25e59822c0eab9c9c548eaaeff63bf6e5c3fcd93f193284ac4b0a99938ae1777c6601341f99fa75a5faece97065b0a1a182cf30a4d0f06fb1a4fd5744ecaea8509f608ea192228490ccd6960344929da69736fe1160e2a8b6408196e120b1e2a56ccd587bf395b7cd1963a1564f6cfa65f9cec4d9903d0cb1a4fd5744ecaea8509f608ea192228490ccd6960344929da69736fe1160e2a8bd6ce91832fa4f6bb0043f6100dd5dbe5f90befedad27809f3cecd39022059fd67430715250ecf18d9bb00acffc19d11ad5083ab50d1565d6cd0090a0a86a2375d6ce91832fa4f6bb0043f6100dd5dbe5f90befedad27809f3cecd39022059fd6925f86bb6a28d4b8badb3ed8dd012756ff216d1749419538148b93ae74064c0091b0e75a8843431467af36544eb4ec14584353c1a48e2347a6239c5677de5bdc925f86bb6a28d4b8badb3ed8dd012756ff216d1749419538148b93ae74064c00d2fd7a16fdb107dd2d009afa6b7bc150738f21948a0891319de48f9cc4d29dfb7a3a7ecde8c862a6cde0bd018b24789967d7bb767b2bc6333a3bc16d7968d1edd2fd7a16fdb107dd2d009afa6b7bc150738f21948a0891319de48f9cc4d29dfbabfcecfe43574de6cd104792bcf83382293ec3f49105717b5dad6dc9a148e1c8abfcecfe43574de6cd104792bcf83382293ec3f49105717b5dad6dc9a148e1c8abfcecfe43574de6cd104792bcf83382293ec3f49105717b5dad6dc9a148e1c8c77294de94faa14eec8e56419dd585d02961704574abc185e9d2118358cac60fc77294de94faa14eec8e56419dd585d02961704574abc185e9d2118358cac60fc77294de94faa14eec8e56419dd585d02961704574abc185e9d2118358cac60f231f679ab6f77f8b6914cca3fa435ab72c0ea3823ea0d51486302e3a143d8e4d235cb1a819a10a4eed5e57f432d0db6ff02958d0ece91c4af45834198d01d30c231f679ab6f77f8b6914cca3fa435ab72c0ea3823ea0d51486302e3a143d8e4df274d5cae467fd54b4e04fa32c41a6c96450e4adec6e73a9d79ce6986f71e234f274d5cae467fd54b4e04fa32c41a6c96450e4adec6e73a9d79ce6986f71e234f274d5cae467fd54b4e04fa32c41a6c96450e4adec6e73a9d79ce6986f71e234d88583dfcb0c5deaed3ae28effe1937f024081937880a5354c8b270cd7c5b7d8b2199fb05e3dca79ac36bd8c6f2b69108741575f20e8d5b8fddc189a76f53b12d88583dfcb0c5deaed3ae28effe1937f024081937880a5354c8b270cd7c5b7d88f39d5c6184af32744a4a3e7f0bffefb5397e60cd4b68484916e1ec0c42803618f39d5c6184af32744a4a3e7f0bffefb5397e60cd4b68484916e1ec0c42803618f39d5c6184af32744a4a3e7f0bffefb5397e60cd4b68484916e1ec0c42803618b1df0e3600a9f4b184a1757ddfd8f239df66db75f72c45d39c06f7bdd5489d68b1df0e3600a9f4b184a1757ddfd8f239df66db75f72c45d39c06f7bdd5489d6f8a7ad04451d968ce000d0e8bf8e1ce67ce6ad738ffa398968e92be6f1d4c5af716cebe2f90e974cbe9c4b26a1ebf5aae9b85d980fba975f722e4562a5ed8067716cebe2f90e974cbe9c4b26a1ebf5aae9b85d980fba975f722e4562a5ed8067716cebe2f90e974cbe9c4b26a1ebf5aae9b85d980fba975f722e4562a5ed8067ca8cb50732f443c0f0fa1f94c6169c3c247848e4a37877c57cf2d492a482002fa5e1740f3b3276a7748d2c6154694e4d4eab541b08dc640bf83cbe9a23a002f2ca8cb50732f443c0f0fa1f94c6169c3c247848e4a37877c57cf2d492a482002fd4e3763c7256350e69fddce8728a37b1a9d8eb4a046764eaf5a3ec0b1a6c9b6df6728884071caf9790648c6156f2f405eeeb176fbe667b0140941b6408eda887206fdae53f7c06f727b04c30f5588c79642ad91f102f7f3638ea845796707a58c0e75918508ede59baf15b93ada7fd8a16f79d0b09cf95fcc36254369c25e4e7c0e75918508ede59baf15b93ada7fd8a16f79d0b09cf95fcc36254369c25e4e7c0e75918508ede59baf15b93ada7fd8a16f79d0b09cf95fcc36254369c25e4e726615eb3fe852b5aea0fbc9985513ab547dfffce774f9a62f9ac67ade951a69726615eb3fe852b5aea0fbc9985513ab547dfffce774f9a62f9ac67ade951a69726615eb3fe852b5aea0fbc9985513ab547dfffce774f9a62f9ac67ade951a697a670dad2169e64da3410a7936e70b10581e7fb728ccc328a757526165aefe2913467379c0abc47a731f26c1e817dc5741ffee7092ef5ced28c7461935d349f43a670dad2169e64da3410a7936e70b10581e7fb728ccc328a757526165aefe291c0fac77d03381dc601427c345c5db2e3e95ed4ee23a3f6ba279000f632b70dcec0fac77d03381dc601427c345c5db2e3e95ed4ee23a3f6ba279000f632b70dcec0fac77d03381dc601427c345c5db2e3e95ed4ee23a3f6ba279000f632b70dce167963d1b7186008e564e63ea5935ca9031b497830c84def465c3a5dccf6a2e92cab1a0910572a74e724bb0b108d53a397e94d9f9f5a5a1f16e71de789d88d1270698a181c6102129e7480ecd882b8d1ddacb7fa885d9afb36ddb9947bdb11229f24cf7fa69b3b138fb1f36b390b2946690f395f068a9be8fde0520d403b52b2064716437ac56680fe69a9b65e4185f2b75767816b58ed93174d9ad7b51db2659f24cf7fa69b3b138fb1f36b390b2946690f395f068a9be8fde0520d403b52b20175c54619e9d898dd959cf68821ea6b389b8b90a58b329957f463caac5a4aeb396a0c1616fa765fc76d253f4a61c8cad96023281250dcae7a87f9e514d2b8fadf03e0f2a7ec6401e61ba4bfad37fa1efa85860d413ebd1406e955ce30e292e9a0cd625c930ee62a55353cbbbc381ef377527af4f59f18935a0d16a44a68758b1950ce203947944197d0323017a712f5057ca55e58e239cc3197a62a4c17765ba0cd625c930ee62a55353cbbbc381ef377527af4f59f18935a0d16a44a68758b2503826032c9ec3c7e5b3192160ac98988091d94b2ec067e05e059188ba71d427967fdadd8172add7ea8db56eb6de5d8caf3cdaa1ed99496e92b12a96bea34322503826032c9ec3c7e5b3192160ac98988091d94b2ec067e05e059188ba71d4205bfc175341fc6dfae624b7f18764fa0f642c4af5d1a3f41223b3d5219d6bddff2f11bbda99cf84793b93924ce695803e067a7161a6b72d61c72828b04d00d5b05bfc175341fc6dfae624b7f18764fa0f642c4af5d1a3f41223b3d5219d6bddf6aafe4943a79aee3a597f72b84dc6c7cf478ba708b2f457ee7d459f140cdefc46aafe4943a79aee3a597f72b84dc6c7cf478ba708b2f457ee7d459f140cdefc46aafe4943a79aee3a597f72b84dc6c7cf478ba708b2f457ee7d459f140cdefc4b031a8e3ae6d5f225c5257d37ce57eebcf86a2d438f15a37db52bf1ce5bf1af2b031a8e3ae6d5f225c5257d37ce57eebcf86a2d438f15a37db52bf1ce5bf1af2b031a8e3ae6d5f225c5257d37ce57eebcf86a2d438f15a37db52bf1ce5bf1af2f39de6f5ce222fde53d6b8d69cbf9de0b22275a401638894c84101c89c51af5bf39de6f5ce222fde53d6b8d69cbf9de0b22275a401638894c84101c89c51af5bf39de6f5ce222fde53d6b8d69cbf9de0b22275a401638894c84101c89c51af5b7d773d2d5c5b7d33335b4fb0cc5d3dfed9340015f3cf92295477fee7b2d9e6b37d773d2d5c5b7d33335b4fb0cc5d3dfed9340015f3cf92295477fee7b2d9e6b37d773d2d5c5b7d33335b4fb0cc5d3dfed9340015f3cf92295477fee7b2d9e6b3143d1cf6ebf071c7e54ceba1a0b23634c8bb3b4238196736358bb2bbddcaaad2b4cfc931fd86acc3cf3ae930bbfc5c03483a3f33f939748850c4787f2ca8d9c7147e3afd2a5c404b129fc620aca1bb06f6f54f0c857fb0298c9ef7a5c14ba0673022c54e9bc143109b1e209cdb64916520b56d80b44b143b19f74b41f5b249647eee4b55432b5d3310f1606c3c42b36c2017d8246ae2d169798abd98e8abc8323022c54e9bc143109b1e209cdb64916520b56d80b44b143b19f74b41f5b24964a6b14d9e074b9da0cdcf5a09d63ce94e51077101661940fb89d5690582de9b3da6b14d9e074b9da0cdcf5a09d63ce94e51077101661940fb89d5690582de9b3da6b14d9e074b9da0cdcf5a09d63ce94e51077101661940fb89d5690582de9b3dddf296d03496d9ca7212ff73c7182de633ab810ec34e227b7522dce3d6ce2ac8ddf296d03496d9ca7212ff73c7182de633ab810ec34e227b7522dce3d6ce2ac8ddf296d03496d9ca7212ff73c7182de633ab810ec34e227b7522dce3d6ce2ac878090621fe9648a7204c544de11adc8102b3a191d040587552694f79bb5edcec78090621fe9648a7204c544de11adc8102b3a191d040587552694f79bb5edcec78090621fe9648a7204c544de11adc8102b3a191d040587552694f79bb5edcecf9bfeeb5950de3b7715a6416f3a44563ac4ffdb9c699a036cf1624dc57aee12df9bfeeb5950de3b7715a6416f3a44563ac4ffdb9c699a036cf1624dc57aee12df9bfeeb5950de3b7715a6416f3a44563ac4ffdb9c699a036cf1624dc57aee12da97b9457fe605e9fa0be13e8a0ccd6b2d1351950303f77d7a5c172950a2048b510f150fa123230a23d68b05c14b2166b6f7d1b8712cc00c1ad37f1d3e52d8ba960214adeaeab5ef4ec5e433fa16e7ea7e59c5f321bacd4591e290f1c8a7582efb7212a6981e4c6ddfca5189a80351e764fb1731aee8144645e18d34c70037144b7212a6981e4c6ddfca5189a80351e764fb1731aee8144645e18d34c70037144b7212a6981e4c6ddfca5189a80351e764fb1731aee8144645e18d34c70037144b259de35f5733d1b1017dde0d15309962f08a2df9fc9278dad9208c7168e1d12b259de35f5733d1b1017dde0d15309962f08a2df9fc9278dad9208c7168e1d12b259de35f5733d1b1017dde0d15309962f08a2df9fc9278dad9208c7168e1d122623a40ba753d787a3023d7f5aa34276a211b719dc275779618fe67da3e896171062e68cba6ba40cb6bc8940e72c0342539bde4b6c27beb060936d15b372cb9ac21e8015afe4165984a353138a553f2d85b4a2ffd946372f6e057810757084c68e5d0fda2358cab68ce122c62c77e60b9be03f44473feb89cc4915333900f7044596798f97cacc6d7fcb78f8365c22c7a28effca74b80149ee9c09a0ddd85c5d8e5d0fda2358cab68ce122c62c77e60b9be03f44473feb89cc4915333900f704b015e9170710ab0f16929520947d52dfb8e47481f875a41d91d71e1d9fa4b3e2b015e9170710ab0f16929520947d52dfb8e47481f875a41d91d71e1d9fa4b3e2b015e9170710ab0f16929520947d52dfb8e47481f875a41d91d71e1d9fa4b3e2e4f0874571d4a904dab9c0a35791f82525f54ffe6b335aed917308a6b33ac20861d1b27d706a68fa973231bab4ce450b12f843c70b5f4433a2025a587a92797337934b03a6298958d75ebfd2886e70cdd0c07abfac7ab3f805d2b278ffd4f7fd58072cb54f9a75dff71d5578e950b97abb28ba76372c4ddfd187f67d37d1d3b758072cb54f9a75dff71d5578e950b97abb28ba76372c4ddfd187f67d37d1d3b758072cb54f9a75dff71d5578e950b97abb28ba76372c4ddfd187f67d37d1d3b76de049d1d4dd0fc3a64acfd544a72600bab3c4ee2189f6ff3293cacb90ff60060855d9caa9327e3e9cdc5e5fd561d8a5c7beb68349f8ee059f28a9f7a343432c6de049d1d4dd0fc3a64acfd544a72600bab3c4ee2189f6ff3293cacb90ff600695cae99c9b65c821712623b64367c05a2bb72677fb25ccb18a9741111f8a9aeada08adb878e5c7973ea0abbe9dcb086aa6d49291011a56adbadb2e0fe29080a60489d941b411616ec3b2483d0bb860816451f39cc487be40ee53b7e1609bc4fd51b3fb27dad07eaffc33a4154a2f62e45dee44c95584e37f5c95c3c43a71dd95a047f1b49f02c1730ec7e7fe34d66923cfcf40c1a26f501b5c5ea648c6052bf251b3fb27dad07eaffc33a4154a2f62e45dee44c95584e37f5c95c3c43a71dd9594ad84ebd460219d755c97cd3b979f7095e6cf8c72c38de811ac484ccd21097d94ad84ebd460219d755c97cd3b979f7095e6cf8c72c38de811ac484ccd21097d94ad84ebd460219d755c97cd3b979f7095e6cf8c72c38de811ac484ccd21097d832e469f17e22dc601ed6a371b3626b02d000f912781671378c6ec36553f569c832e469f17e22dc601ed6a371b3626b02d000f912781671378c6ec36553f569c832e469f17e22dc601ed6a371b3626b02d000f912781671378c6ec36553f569c0f53427875b561a373241f7c62e73a0349a92ae6a6faa9844a99d9db4659fb160f53427875b561a373241f7c62e73a0349a92ae6a6faa9844a99d9db4659fb160f53427875b561a373241f7c62e73a0349a92ae6a6faa9844a99d9db4659fb16066f5bff808401f7342ac8be864639f3b0c618f26798c6c2992f7784c43ac9ebd4ce30c75cfa51dfc5d0ad33da21109f504d9e73435ac6ce60e8a2aa981aafc8066f5bff808401f7342ac8be864639f3b0c618f26798c6c2992f7784c43ac9eb91463d951ba9db2bc2671655b984819198ec58f18afb59dde5a7f278b23da13291463d951ba9db2bc2671655b984819198ec58f18afb59dde5a7f278b23da13291463d951ba9db2bc2671655b984819198ec58f18afb59dde5a7f278b23da132adc9582cf35ba3f29540c82cfa72ce824023344a8742f12464d2bb45d195b6fe2bc9b9be6702384115bc5fdce53bf14820da73431924319f803b23aafe3c9019adc9582cf35ba3f29540c82cfa72ce824023344a8742f12464d2bb45d195b6feb4bdb803ebc390ad7ceef2f8a2e5599fc0ba5f4ae7bbfd7415d9fcda73f52d5085fb60e5e0d944a6ed805bc0bea4878f6e216262c853edd0c64b2a3403abe0d9b4bdb803ebc390ad7ceef2f8a2e5599fc0ba5f4ae7bbfd7415d9fcda73f52d502f295f37d423f4b3f47d6f2d813c1f43a668ed47b5f9d520fa6d7c2862989ac138703ffe24f28822bb692905974c4e2ec85f8b4e5041768532ed2c80163be0e3f5939e9a37c588688c2f9116c9727770d285327923d627c9576190c5ea4431d15fcdb62f438a3f216617ef97cb3b8b9f67226c26f580850259defb3139b021285fcdb62f438a3f216617ef97cb3b8b9f67226c26f580850259defb3139b021285fcdb62f438a3f216617ef97cb3b8b9f67226c26f580850259defb3139b021285efa9876ced58eaf87da8239376c68a234a3488c9789c1349547b64993725f87c5915735896004222b885c386613f6c23dd5fcc193736f828600218bde5c0be35efa9876ced58eaf87da8239376c68a234a3488c9789c1349547b64993725f87c4c05ce5479bc73fda1ef9553f225b4c155777345aa49faeceb9c3b759f1bd99c93ce86541d5bacfeb1f80b228b4f93f19a1b409b53be81e686b37ab5732105ac4c05ce5479bc73fda1ef9553f225b4c155777345aa49faeceb9c3b759f1bd990ccb8409d427dec60bd38b88dfe689d1b0ba7a21cfbfc55fe3909b9ab68d74170ccb8409d427dec60bd38b88dfe689d1b0ba7a21cfbfc55fe3909b9ab68d74170ccb8409d427dec60bd38b88dfe689d1b0ba7a21cfbfc55fe3909b9ab68d7417339e6a32c72e70323e1b0d6145f3fde48bafa28ede5af30b173853be8fb217eafaaa0c6a5f6ece49f0b5ea4a522a42ca274f50c82e0f0965b709ec8e5fe42b57339e6a32c72e70323e1b0d6145f3fde48bafa28ede5af30b173853be8fb217ea3cb7e893decbbefabf75aa272efc2883d176aa00a4622f0579d2d517d070ee4f01c78c30541e894562b01c222b0ebd70d7aee9172db018c7d3e7e95fd71ade6f5830952c611baa3e2b7df3cbe90812bacab8c52d9c26785f4bd4903e86e7422a51c58347208f7da10881290f57d93ba2179e97de3feea03dcce712f73898199351c58347208f7da10881290f57d93ba2179e97de3feea03dcce712f73898199351c58347208f7da10881290f57d93ba2179e97de3feea03dcce712f738981993d4720ee3adcb6200fd1fb34a546c8a17699a88ed2688fb11369e219c5cfc9619d4720ee3adcb6200fd1fb34a546c8a17699a88ed2688fb11369e219c5cfc9619d4720ee3adcb6200fd1fb34a546c8a17699a88ed2688fb11369e219c5cfc9619a586a12e2a0044497c447bf21508a777f3a63225cb80a2c9aef74242171aec85e32fa8ff75135263cf6f76c2192c80678f2e397a10eabab77c7d6429a6474b6ba586a12e2a0044497c447bf21508a777f3a63225cb80a2c9aef74242171aec85d2b16b10fa5bb0726509a8c9cd0c41806128f1834a681a8df7bb8c8a8dcfe93587ed63a41abbf65e7bc764072d8ea569d37847b1fdcb522a50eb8926d334caee3264f342579a265bc2ceffaef15184095abccb582028019755631e29dc9f5078079ab058711e46d8ad009105dc2e29fcc6eb89b98ceb19ab1914963e06771a0e616e9f9b43e7d9cf5732eac6d7e497b8005b22f6f390e1449ee33d34ade86ccb616e9f9b43e7d9cf5732eac6d7e497b8005b22f6f390e1449ee33d34ade86ccb7d58243d0b7a0ac4e816588285c111e4d04fee61774b3e9987c33c0ed8e03851d556c19c4cabaebe70a6163404a514b81a922c04dcafb2f6abe16846af5741399284da3e7b542543a853f69d5716882b572e3c690737aed99bf8bf4f71085c2cf26afa2aa99d0043a094be2a35890a7ae21f82b4ab760d436ed00592c5e368896c23d0dfe568f3f1df6e5597db4383188ec5f5cf0b309fedfbe9ded9f57e40c1f26afa2aa99d0043a094be2a35890a7ae21f82b4ab760d436ed00592c5e368891b1c694c8f3a19195fcee3e4ccdcd53f00058834eece36b60b3f9e18afae1ad9bac4151282055f30785f1f27b1205cbc513ffb4d01c8a496166705d4a1d099141b1c694c8f3a19195fcee3e4ccdcd53f00058834eece36b60b3f9e18afae1ad953a36093c1c57eb525fb05c9ca325f1597806e3317e1445bb913448176ff304a3223422af79f75a3fa8acd71195f787c4f33eeefe707af724ccefb8878da318653a36093c1c57eb525fb05c9ca325f1597806e3317e1445bb913448176ff304a793249a487e7c28dec27c3f1ca8a1c4cc5587d19e6a3fdff4658dabf18bad8d70f19e1f6142e2349b01768d73b7ea842e42b6f20801692196516359d350e7073793249a487e7c28dec27c3f1ca8a1c4cc5587d19e6a3fdff4658dabf18bad8d7265026741c34ca8d5a6ac05ac4241e0de7194e8860fb005f239010d8c2f8574c96c8597167ed1b980574af0f043b8cc0101b3b5641424f530a5905a1a6bf3c18265026741c34ca8d5a6ac05ac4241e0de7194e8860fb005f239010d8c2f8574cbc8b22fd53e35b71cb15c236d087051f6618221a7c12a0fc752e7609ed4dc021fab781524598468e1369722daf5edef0f450513325704616999c32d9b78849a8bc8b22fd53e35b71cb15c236d087051f6618221a7c12a0fc752e7609ed4dc0213fbcd9746beb94c3b30d88e22e3dbca0fb78dce2f53aaafba601d60222e1c740a99315e93433045fcbc711df6f6eaa65355b3ccb4ee71449d5d65824dfbe45c33fbcd9746beb94c3b30d88e22e3dbca0fb78dce2f53aaafba601d60222e1c740adafcb8b08e653ef9ff929446fcba42161fba1ac2b3c71d8ab42797ca68dc60e65d1273a379ff0f3233c284e7e0429d170ae6d0a8643e72b3850238a422f70dbadafcb8b08e653ef9ff929446fcba42161fba1ac2b3c71d8ab42797ca68dc60effea23e62895317c760c10e340952dd1afe8d36ed1ac3008a571b6f00ed9156a2eb028b31a73081364e49fa90e57ed907d64f926ff4605920fe2b68bdbec4089ffea23e62895317c760c10e340952dd1afe8d36ed1ac3008a571b6f00ed9156a6f536e65c75860c73f1ab88192d10ee683db4e8427628a689476c1988e4eadc7b21b509bc769b79b584bddefb8009608390544215bdafee79f8b857b235009b56f536e65c75860c73f1ab88192d10ee683db4e8427628a689476c1988e4eadc7e13b117f392e898c2b3f7e033aa6b778a90b2dfbec9d0459a62c7dbb6c42fb63e13b117f392e898c2b3f7e033aa6b778a90b2dfbec9d0459a62c7dbb6c42fb63e13b117f392e898c2b3f7e033aa6b778a90b2dfbec9d0459a62c7dbb6c42fb63b491101944b98b586aac4d6e5057471842d565eaf1a02358c92348daebee0e8eb491101944b98b586aac4d6e5057471842d565eaf1a02358c92348daebee0e8eb491101944b98b586aac4d6e5057471842d565eaf1a02358c92348daebee0e8ea98c30a0d738575fbb63ff0a8b3ef4d2a30013fe6244d767655af53f8cb8e2bcc98f9a1fe85b4026ae90b62419b81c3c2343317d2f44b77f8785c98d82f3668aa98c30a0d738575fbb63ff0a8b3ef4d2a30013fe6244d767655af53f8cb8e2bc9c8ad2816f7a21340c3bea178053e868c4bffea8cd209675aa0c414eb75ac56764dd469aa6ce8d53ed418ecc89869e9b8b06afae873efa4231769bf978b4daaf9c8ad2816f7a21340c3bea178053e868c4bffea8cd209675aa0c414eb75ac567feff13081eda02d4f75025d5fe92abb7edea8b13ab38a4bb403e2ced17733a0a90b7317e0d27d838ad99a0ceaf9e47d410290ac6aa6f2b404f25c465bfa460e1feff13081eda02d4f75025d5fe92abb7edea8b13ab38a4bb403e2ced17733a0a8ee827ae49c0336ee6c32d91f10112faae7f1c69f231088964c49ad0426a3de9faaddb007a85f4382615baed60375cead4cded79ffcc8b9ad02016769f9a2cef8ee827ae49c0336ee6c32d91f10112faae7f1c69f231088964c49ad0426a3de929cd1fee25e58448d757650a37e3022858cb662e89bd70b87ddad7a3c205da2a29cd1fee25e58448d757650a37e3022858cb662e89bd70b87ddad7a3c205da2a29cd1fee25e58448d757650a37e3022858cb662e89bd70b87ddad7a3c205da2a2096ef3d40697e6f9b2c124b271d0ec199bdaa6207a9ce0e1e417f28056d25332096ef3d40697e6f9b2c124b271d0ec199bdaa6207a9ce0e1e417f28056d25332096ef3d40697e6f9b2c124b271d0ec199bdaa6207a9ce0e1e417f28056d253399502f1636585f3c2a84130119334b9e5ded3b7fbece0c40e664e090a59981e899502f1636585f3c2a84130119334b9e5ded3b7fbece0c40e664e090a59981e87eb34f6e7fbd3779177baa4e81a4afe20d3856fe41cb986d305300492579b05185db2c3dfe96c0bafb5e1af6c0797bc9f92dc3ce2a9f77d6e2533e6099262d0785db2c3dfe96c0bafb5e1af6c0797bc9f92dc3ce2a9f77d6e2533e6099262d0785db2c3dfe96c0bafb5e1af6c0797bc9f92dc3ce2a9f77d6e2533e6099262d07609f01e5bb034d29a8519add32fa26b8e0450f1b2281d2ed4d4799a74c4de9d2003b7c1c2976e98a682f92b67c63ff52606ad4b773cb9cece4192de67774074f85d6f2d7ecbc0e2d671bbafb9ff8cac62b62ea4df141ae633cbf442825c34ab33f20560f952202209828e11b0426a2bcae0294f809491146ddc5c4ef63b0d0444fa838f404f6f3e1d3cdf17b8d82e0dd960fc639436b0b1f84671167c23a735f3f20560f952202209828e11b0426a2bcae0294f809491146ddc5c4ef63b0d044428ec181877d52e633bfbe41e40d775d8a3cd024ae2c6c8e24c5802b684383e04adb365da50c079e4c63380b6a27adc5bd737087a8a06da708d7aec6e0a5c55a96d9f3f86239e495de198e710d4946face40d47f5c5919fafa963e3de6c9d9782d88d052489714b3a43054eb52ce3fde00ca71772e8b1c44abc60599a816b768d793bac516e66d14e51d658babd94f87eed041229fc73180a9121bcde825bd19a5b32fe6adbd2350b4c9eb75d4b6577f7fbb66c6f91027e7685dc69434b93dd553ab8b18771c0b0024df04bdd5508437044ccb6f3df3ecc3a0dfc35a329dd54c510d5acc414b271bbdacc927e2ab3ac6e5276638592e3741f406a61084a3e4fb53ab8b18771c0b0024df04bdd5508437044ccb6f3df3ecc3a0dfc35a329dd54c4c3b3d7edc1e6c287c17770be82a16682b58b08122db6291611602665336cddd780c75d4015f1d679123607eaaf6a2028066a5e4de73821bffda5e8de850cffd4c3b3d7edc1e6c287c17770be82a16682b58b08122db6291611602665336cddd92ba8f1d6d90956c0a3224831aa0a2210f3e9afc195fec2d231ea0eb2bfc837728b06b6ac1d2ec616d688eaf9169099fefb1cadf0120bc2a11b207758e8eb51192ba8f1d6d90956c0a3224831aa0a2210f3e9afc195fec2d231ea0eb2bfc8377eb9e29068af770c294d660bbd938ca2f313b29d125314626ca3ceece9a544e70eb9e29068af770c294d660bbd938ca2f313b29d125314626ca3ceece9a544e70eb9e29068af770c294d660bbd938ca2f313b29d125314626ca3ceece9a544e70a10011564fdcc0699454ae7188e2ec5ceb4e206e7e9b37cbf523f34001e4f9c2a10011564fdcc0699454ae7188e2ec5ceb4e206e7e9b37cbf523f34001e4f9c2a10011564fdcc0699454ae7188e2ec5ceb4e206e7e9b37cbf523f34001e4f9c2eab2bd3e8da266df0e486f93ded31b3953604bfaf9cd5c62376c7273c9f67901eab2bd3e8da266df0e486f93ded31b3953604bfaf9cd5c62376c7273c9f67901eab2bd3e8da266df0e486f93ded31b3953604bfaf9cd5c62376c7273c9f679016ba893cce5989c557f6a3ad164c284201a1450c1379559de61476cbad524ba16c5acc7da09a4eff7bd55b5d56281a4c946bf2855ea9436d37689460183957e7c6ba893cce5989c557f6a3ad164c284201a1450c1379559de61476cbad524ba16fc085f8b8703e648fc08841bb8a193a882b896130cc76458c6e854327ac31d6bfc085f8b8703e648fc08841bb8a193a882b896130cc76458c6e854327ac31d6bfc085f8b8703e648fc08841bb8a193a882b896130cc76458c6e854327ac31d6b4385f6d2ab49398f729731eee7af5a9a9a6a72ccef57a40b6eb1ea60a99857744385f6d2ab49398f729731eee7af5a9a9a6a72ccef57a40b6eb1ea60a99857744385f6d2ab49398f729731eee7af5a9a9a6a72ccef57a40b6eb1ea60a9985774d19f8d8a3e275084402f9412928f73af9a83d09fe46ae43f461a4b556f0c34e4d19f8d8a3e275084402f9412928f73af9a83d09fe46ae43f461a4b556f0c34e4d19f8d8a3e275084402f9412928f73af9a83d09fe46ae43f461a4b556f0c34e4565aa4bcf63bed478bdfe7766510f75e4a2981b1d2a73b73d0693d0b3d68c593565aa4bcf63bed478bdfe7766510f75e4a2981b1d2a73b73d0693d0b3d68c593565aa4bcf63bed478bdfe7766510f75e4a2981b1d2a73b73d0693d0b3d68c593da8eb59a01c9f5717e3e61125ff13a54290f286c66c157e9bdf348447cfee02513abd12c3007d5dd6cc2a985f6c23c934a2d22d47658227a72fac8a021e72d34da8eb59a01c9f5717e3e61125ff13a54290f286c66c157e9bdf348447cfee0255e77c36855cd267b16e7b6adf4fbebd222ca701a2aa2114f69de7658918144f534f0156f9eaa582df6f6663052a1a482aa34ba3ba2e6852fd7f305f8638f094a5e77c36855cd267b16e7b6adf4fbebd222ca701a2aa2114f69de7658918144f5444fba6bd2122c3f87627faa32dd0fc895e14a1adfae2f82e710793625783cec19faf22e7e8e9142e316e6fe160435c0c5404df32d7a25634ba84b7cc9763e0a2cde63a8e1a206ed5539567483c2a25f42a72741c0c1521328ebed12c5de47b239bc0ba1185479d200d196ad466b595209851051e70f1fca743226ff67534a269efcd943dfa31c5f8ed1d258bc3acc7f8feccb5155d943191369042150a4e8435b075f5aadd33e67b99e9ea2820df8b91221481f539a3cce1f7dab6e9cbcbbc0814b3088b5507cc9a7d1d5a05b90e621ba8a32ca775d3ad04d16b7b30eb1db92db9b8808321d6e3e769c9ac7e7bf1a10a4d8faf6ca826fc1bf8ff037ec88c205814b3088b5507cc9a7d1d5a05b90e621ba8a32ca775d3ad04d16b7b30eb1db924fbc08eb53f7aadde90a175673373089499b20bc95134d4ce22b548535644444f2bb1fc3630e73d4831720d185568087f05b217df5d38b2000e8a46c91ef55314fbc08eb53f7aadde90a175673373089499b20bc95134d4ce22b5485356444441ea742bf26f846835432a1399aa7f0c2e584fd345beb36b203b04fc8167e95bb737bf63abf505975f2a23c43e19bf10417cf3bf5392c0d5f61fbbb7995f03fcb1ea742bf26f846835432a1399aa7f0c2e584fd345beb36b203b04fc8167e95bbaa5b93c098c2d68d0254bbf5e1b7b9e4b25f292b56abe33a4b7e5351b626f5f4f6e4280e53dc62e6bdacd94e356b275a0a65670017a8a1b8250f96b9ebb861c7adea1503fe1459cb07961a726360eea5c5b2084ca27e8d3d15b5acdfb156e4af6b2b20fbe390a86fc1723177222a757b2815b09707286f38762d675ca0cbfa5d6b2b20fbe390a86fc1723177222a757b2815b09707286f38762d675ca0cbfa5d6b2b20fbe390a86fc1723177222a757b2815b09707286f38762d675ca0cbfa5d8e4083020c4c00a3439f81b8784781abd07d023a3464b98b9e419b483e51768b8e4083020c4c00a3439f81b8784781abd07d023a3464b98b9e419b483e51768b8e4083020c4c00a3439f81b8784781abd07d023a3464b98b9e419b483e51768b5125695dd8f7986cb038758c929b020ab4683004ee5e3333aaa20cd9b597f98a5125695dd8f7986cb038758c929b020ab4683004ee5e3333aaa20cd9b597f98a5125695dd8f7986cb038758c929b020ab4683004ee5e3333aaa20cd9b597f98a79a86d9e253b54d5e3b8374879c67066d9e619dcb32eb799f5245c2e4c2e9125b00d1f60a5c9307b55df08f30eef684ee4ae9eadcea1aa73e0defba6d39181d479a86d9e253b54d5e3b8374879c67066d9e619dcb32eb799f5245c2e4c2e912550b2dde393f03a97b22fd573c07fcdfda21e46547c696658dd3a705528d5610d50b2dde393f03a97b22fd573c07fcdfda21e46547c696658dd3a705528d5610d50b2dde393f03a97b22fd573c07fcdfda21e46547c696658dd3a705528d5610d866b0d4f0854eb99cab4e1df246c831ed27dc185550281be7d979e9afe3a1d2afe825cef88722b7705ae6bc6e4a3d91be92b77400486bc9404674f3131de0fe8866b0d4f0854eb99cab4e1df246c831ed27dc185550281be7d979e9afe3a1d2aed2c8ae79a2f04af378afa5577a4c432419d24a21df1430d348eb80c76d642a2e00751c770aeeb93bbdecd4f8b6b4b92e3e2bf4d89f71de58496add6e3e24b0ced2c8ae79a2f04af378afa5577a4c432419d24a21df1430d348eb80c76d642a27859b2a668df21efc6fbf4ddb6b83259ef9090fb30833f9c5d6c96cdc126932d2ce57710a54497254f41ccf8a07be584bc8cff0c970c6a7ceec4864f1e74ff657859b2a668df21efc6fbf4ddb6b83259ef9090fb30833f9c5d6c96cdc126932d79ebe816fbf65b362bd08f8bf0a200912cf78f0f4e097f9c08ce78aea1ef05435dd8474919a9ab6613cdae8acfde7cefcdd82ecd42b419aa015946e3139d518179ebe816fbf65b362bd08f8bf0a200912cf78f0f4e097f9c08ce78aea1ef05432461d59f8a170c47f2f68c1056f65395ae1965b516bba212957e42fc671ab6d08ff993ea6e399884bfb1ebc83b5869eb15e449d0e488158a805dc94cb8414c062461d59f8a170c47f2f68c1056f65395ae1965b516bba212957e42fc671ab6d0a96e3aea1818dc4c8c9007f4f9efaa770beaae8a1031ded90c90a8a0f29e541ba96e3aea1818dc4c8c9007f4f9efaa770beaae8a1031ded90c90a8a0f29e541ba96e3aea1818dc4c8c9007f4f9efaa770beaae8a1031ded90c90a8a0f29e541bbd5f8668e2f697eacc3efffb1f9b5b1223ac8c5b24f0667766f94ce6fe29aac4ad8ebcf5c2a9459cfdcc4215de89a7cb502a54c16ea2acc746bff8ae3d8fec8de091e9d00c346b7016251979f23ea9cb80b836669f82d4b2f3a67a8f8d5fe7a2a37877d6e68425e8b9ee818b8bf93a13ecbd23b463aaf23afcd4dc2a42176661a37877d6e68425e8b9ee818b8bf93a13ecbd23b463aaf23afcd4dc2a42176661c599151f1e4c434f1faa553abbb280a5b02f43ed366fccd38443b3aca1910edcf90fccebe0b886da99dc6dac8babae54ac94ee9c56d5baf373e5b9cd12de0af7bc537f2b7f23ddc25123aff4db695805a94a5ff2c98316fc7d734454c587e93af90fccebe0b886da99dc6dac8babae54ac94ee9c56d5baf373e5b9cd12de0af7053fe620ac90fc58ad9067306e4889b4d5a9ee7dd5a680ef1b7f8346c33cc54bcd357d7f24ba0a76a3b95792c613e2ebdf2d7f298117a9c18d2b5f1ce993b95d053fe620ac90fc58ad9067306e4889b4d5a9ee7dd5a680ef1b7f8346c33cc54bdb3c0d4d6aafb45ed89dff1c4c8b9e45c40a5e7a227a22f93723fa0f05aaabfddb3c0d4d6aafb45ed89dff1c4c8b9e45c40a5e7a227a22f93723fa0f05aaabfddb3c0d4d6aafb45ed89dff1c4c8b9e45c40a5e7a227a22f93723fa0f05aaabfd88cce0caa556b00b1dfa07405bdf101878d5f02f2e9a9ff9f60858d1da6e940688cce0caa556b00b1dfa07405bdf101878d5f02f2e9a9ff9f60858d1da6e940688cce0caa556b00b1dfa07405bdf101878d5f02f2e9a9ff9f60858d1da6e9406e786a85755f23ada1da4c9a855df7a6f7940c70084034f2cfc33cdab08a133e8fee29f9fd201a3c191a717c13ded1705118c5cec92745e34c2df1a682e30b61de786a85755f23ada1da4c9a855df7a6f7940c70084034f2cfc33cdab08a133e8a58789281929f54d59d1895868562ab0edd3a3ae5bf3ae6bb2c6cee306edcd422e1a80a867caee7b4c293a0c701647dc0aba2fa0987a8c699c4b3e44d2995e74a58789281929f54d59d1895868562ab0edd3a3ae5bf3ae6bb2c6cee306edcd4245fa9f74abefa4eded133061acf117c2caa7c77ec74f3717899309269a8678b145fa9f74abefa4eded133061acf117c2caa7c77ec74f3717899309269a8678b145fa9f74abefa4eded133061acf117c2caa7c77ec74f3717899309269a8678b1951557242d1d88e4174d9115911a880bc8a67051dc200dc71222e62aac25932141f47c53483926f97c920517ef26310e371e2a2bfde2e128881efba94800e788951557242d1d88e4174d9115911a880bc8a67051dc200dc71222e62aac25932101a442dc836024aa4b58234ac4c246bdaf4ee3cab8f0c819159f1904c8432ed0982f6a242b40cc18adb08e6af8d9f8f30d385ad140236dfa88b2f7a401bf195c01a442dc836024aa4b58234ac4c246bdaf4ee3cab8f0c819159f1904c8432ed0a8e0b46df083ca44ae3bb2d6d484e701d42c5d45bfaf4497633ccedca6d6b61ba8e0b46df083ca44ae3bb2d6d484e701d42c5d45bfaf4497633ccedca6d6b61ba8e0b46df083ca44ae3bb2d6d484e701d42c5d45bfaf4497633ccedca6d6b61b2bb20f69750ba5d2c5b45cd4fbfe214e838dcf5b224c6500bda07281aabb02145373f665d3ce20296dc8f3ec807ee63e5b4e23e9cdd6f63c699acbe9428c7a6a2bb20f69750ba5d2c5b45cd4fbfe214e838dcf5b224c6500bda07281aabb02144e0157727840da37d9378aa10d053eef1eb32351a3e8cd611808dff7129c9df94e0157727840da37d9378aa10d053eef1eb32351a3e8cd611808dff7129c9df94e0157727840da37d9378aa10d053eef1eb32351a3e8cd611808dff7129c9df9346d1039483935f790acebdcafb492052c2724f3871b45e84044f94acc2772d595bc7e1bff9907d461b70e5a2ea221d3b788feb1f16c101517e44a746ec68087346d1039483935f790acebdcafb492052c2724f3871b45e84044f94acc2772d5a9d5a8f28fb6bdd73a5bf0c1d80ecfe8fa75fccf53821934cf6b4bcca00f0357ac0d7c8b6d2bc6e296a56a9ce3ec27201bb8301448d00b17c40f05bf49593f6ba9d5a8f28fb6bdd73a5bf0c1d80ecfe8fa75fccf53821934cf6b4bcca00f03571ac4dcf4df0f63c036906d200a913e25b9e72f81a6489c860a0cb7707142bcb0559223e36a18eb2b2fde225f6a5bb7976fa634e59d5be65ce229aa75d6418c9c1ac4dcf4df0f63c036906d200a913e25b9e72f81a6489c860a0cb7707142bcb0e12436a90a29a2134d8a08edd43decda276e5294d49c6ecd3d71e7261c25362741764fb54050c61df411743d9fb76037c32caf2af42243b742c0b5148402ee25bc21c57a683664b54d07b710dec4e73f7ab7abea59c8d65ae7ef580dc635e94e40bb826a8b81562b751e598dfa70cbb04ba6a2f13eea67be400888b349414bac40bb826a8b81562b751e598dfa70cbb04ba6a2f13eea67be400888b349414bac40bb826a8b81562b751e598dfa70cbb04ba6a2f13eea67be400888b349414bac60bfad8142cefa0b82d5cb5ad32ccb130fd21de46dbb825895afcea256923e7a60bfad8142cefa0b82d5cb5ad32ccb130fd21de46dbb825895afcea256923e7a60bfad8142cefa0b82d5cb5ad32ccb130fd21de46dbb825895afcea256923e7af713e2ed157c67861dd47906e22a62ad6b560598a60d7951bb039eb7a739d482f713e2ed157c67861dd47906e22a62ad6b560598a60d7951bb039eb7a739d482f713e2ed157c67861dd47906e22a62ad6b560598a60d7951bb039eb7a739d48250aaa3614a66bed057a32022e30ab4b1d8cd37106d1c93a9e6009ff25a615b0cf05dca26f7c3d0a85462e0061d00286258728efe4565704e5332d4491f19edef50aaa3614a66bed057a32022e30ab4b1d8cd37106d1c93a9e6009ff25a615b0c3a64b97abb2976deacb8847d3d18c88347d148d3c45fe7071a2e7c426685b3c4294344898a1a3e8f81aba3c35a30c076bc3e883ae3a67fde159849dc932a6e5a3a64b97abb2976deacb8847d3d18c88347d148d3c45fe7071a2e7c426685b3c49bbf0323579b507f0abde120ac8540f9abb498bede9a81818630f45bb57bcb539bbf0323579b507f0abde120ac8540f9abb498bede9a81818630f45bb57bcb539bbf0323579b507f0abde120ac8540f9abb498bede9a81818630f45bb57bcb534710ab16824160759be959a5a3823e6908834d6a70de6d14b620c8a068077d094710ab16824160759be959a5a3823e6908834d6a70de6d14b620c8a068077d094710ab16824160759be959a5a3823e6908834d6a70de6d14b620c8a068077d09705b5895afa89b3f3ad20295eff1bf0012522ed939c51468f9828c23a3a0b28c4eed69589d0e44ef4b690d2c5e772eef5b038dc93d5e516ed1abaf110fe58a52705b5895afa89b3f3ad20295eff1bf0012522ed939c51468f9828c23a3a0b28ce844dfc483490dbc854d53322f41cef74d988e755fad4781a3648a77f050a7b7e844dfc483490dbc854d53322f41cef74d988e755fad4781a3648a77f050a7b7e844dfc483490dbc854d53322f41cef74d988e755fad4781a3648a77f050a7b7353821e488e8339369e6a4eefd9f4b754715ae578ec16796df505240799518df827922b618d7df58a2021200036a087d0f4026b6949469a91ac998d8ebfc729eb6e7f6eeef758dd9f2f3f2645029471f09b8a8eb25670045d9d91fd24c597629059fd99ea0e515c5e27ace3ce5c21c856d5f8aa5e93d1a6e85fd7ca46cf878752f1214af1113c659b37ff02aa9727f3341812e066c82524c471e4325bcde6f72c72c7dfa54f5af1bb9ad263964adf130597666ae1e5cd125f5a435b565d6c15f5de0b82d1083ca378f5731bb0d5215f04d26fee7243d50b29d9f2cd55ea6a7f424085a59861d397d516cd5ff993ad664f08c84720035798ee862998181133916c89b087f49b924b4f49dfd5f2da2f69bb4de8dc93d3363f948869e95a3aed43cbd180a1145d18611e620bf7e5baa5b29f4afbaebc894befcb303251b5ccdbab84559920a8cb9ea62be33023d6dd183bea88bc20bad1b4caeb196decb9e5fb6e6cc925dc8ed7705c2bd444542091169073445d907f5cade9579da83e8d2568ad80c7b9ee51db4a46087da7530ade979f38e5de7a2e068b5a58cc9cc543aa8e394663c223c95e77edf64bf88b2fb3f9ab385866187630a4914c7c17ed7221c9f820f7ff61582b28115c56fe3127a4a203aefed876bd4f7e8d8c20224afce0ffe97802304af89c305a0d5feb8bf6ba9c7b3abfb6d5e620ba6d4f4d69277ef315e226b03ea1d93a88bf105909313e5661b5f35c281bece7485a9b997a621cd59f9ac2a4dc7a2a75969654a60ae333bdda0b53be979e0db035daa9780f202d9faea3dac87068283e5d1d92cfe4dfb2cc50d5ea5341d5ac0efadfa47db48595daafcfc93e79b29fca6d56488393712285db29e7e5a75c693f9be4008cde600b2b81700b5e6b23aea484f7a4312bf613b75417b78419056d4c9918b3a2cf6b5a616f6e75b7af05fa928568dc9dbf39845da83a48720e019214a0f250aa5e8de0ebec4bb64b1c3671c38f4657ff67b9508572bfc5aed3d0537d4428fa5607a5fda208e87975103191246d69aac4eb605cf6d84969b2054bee95dcccbe7824a99ae26e6fabb24009573f88b990c922fdc65adddec1312e30373dc635c6099912d4f836a410e37a7d0a1e7b9bcd3b8db8594e64f7e0e712fd9c4fe5de548d98f8f36c81955e82589598f8991bfd84812daef3c2bd7020ed2224b01dca93b823ad6d5d2b8a47a28d17ee86bc89e86be4fa9caad026644498fb9da087d615cdaa485e1640fcbffd93515dbe0bc61779aafb3cdf11e4c32d229e120139bfc38d3ea54b95a76e38cf248d2b943c380e0f50a3b80293de6d739f8a6a7ebfc182d81ee7663e04aa15b20876c0a4f4c0c655a5d6334e94345e34123df42d0a3b8b6293df936cabbc01510bb97211de7561cbd6266596527959b50a32d710e557693be66c42c9bf2c3c855e2f48f814bf478e5b904a220368e897847f75da7a8bffe9f84e561d08e92262a107916641c7f211ac5898c0177535cd0bdc5aa872cc6e883842694d8f52181a04af69c7f806ec39ab2cac5f0fa7fa8beb6802601105355fb3e606151405d7a72d9ed8bed3d8e10d9a4b2013ffe79c6cd6367254e5baad1286d43552890eca2bda6762d72412b721f1a4fb6d82f22a9e7dd0f206743ec6a2e8294eb745c41516bb5b3c534faf4aa1d74eca204ede64060e98ac77adcb79d02c0ad50007c23db1c6b7c24ecb33eab8cdf14ce4ad5c0dd0ea56caef49af1399c7508897a4ec7a1d7eaeefd2e2a7b3f0814d36dac96b5208a278703ef1e1af4cbd41013dd5ead1dd371ec51b0bf2da49c5796c219238b6aa1ddef5631608c61518647cfc7b6fe56409312c0fdefb1f77dc7ee86bd131c5eb7a2b4a9885812b52828f7ecc485ada4dc8f1f947d52cd86d4d830ef677a2f04d337a29ddff32b53edaeca152e21c190acfbdbfe5d1ea7f28e0ee87ec387c806df1c62b5da0f958126201f40a8e87a8d39a6286aca58ab1a43ffd9f84e0758243334f579c6a7e3c082cf55a96a9f6dc47ca0d603c7f5bb6ac262692c2c6c4052fe17ee8b4674e846b5c0a9513424fe2d0a2fc18aec63afcc8b579b23ade273a2394b9875c35367690b6a293dcd7e6dc0e0773a79dceb622ef6410577c19c1e177fb2eb9c623a49340de3c9f1de25602d0a2fc18aec63afcc8b579b23ade273a2394b9875c35367690b6a293dcd7e6dc0e0773a79dceb622ef6410577c19c1e177fb2eb9c623a49340de3c9f1de2560882cb60873b718a2ac2bfa3b6a792e4aa75cf0ef3fa2fc1dc156ef71076ba740882cb60873b718a2ac2bfa3b6a792e4aa75cf0ef3fa2fc1dc156ef71076ba740198e4881db3ad935ec51a772196302df943deb3a651833c973996ffb082188b26fb2881acee2f256c276ad2f6365a269f381adeba08ae4b236525b21789d67e55ba95511417ebecef59e8f548925709e0b099469b0224406290158aad1ffad78b4f0b58a20fd68347ccb827e7a62c688e3710572b97ff19ad48a07b186af2ec743c21b213b1fc167b642af992768ac2249680e57247ff539999d9060094342d7d00f4861f1eb15bace0e9f19d9975f52b2b2153e6dc7111717965332f337187220f803a24c94538a7f05049a0e848cc3d6c5617253f7e9b3d5381cba4c898bbd175e984c0c7bd073f037b0aaa6df4d8aadacb6f1b8898484a567b5e70f5a5837c9aef9d40b86c56d54db8d1c6b229322d74b3f761c31809dd8a76cb9d1a9800821cb011018b58c87f2c824e08085d24f9379244bcde6fbb6b46da2f6431540c7c27282fd2ae5688be2831fd6c76aaffb7a7577026de0fd2bb8d41326dacb2e7aa6bbfb8ecb911d13581f7713391f8c0ceea1edd41537fdb300bbb4d62dd72e9bba0998b7a6a1b2fc45f847dbea1d2f9dc889104832b0042b5ebe335e677efd30094a6a62abf390c3376e5ed6515082bbcd70c2a6cb335a9f0378a1222d08f7d25bc47b4bc6d60577ca938da25b3ae68271de889b383b4cfbac55d8e41d47639097d18ce1d42da357521f5af5803816d3c4bade38950f69cff512a236f763585be4de892443028c3f230ab37e0c658f5bd0246b07147005580c2904b733ecf4fc3624859618c952810487e41736753cf32f4570dc6248fda1091771f56019a3f96e4ceb607215ff447544cb0d785493e1e855852f874af7c67d8e8afe859f539547112543abe89682d8ccd47e7fedb25447a4c5133f8db313772ab6ed87729371b91e1c1c38b7150cbc174a2f0c06bd1d60a411222d09e21927254b7a861039481fe0a36192ef7643adb06b14979e006c17834874e7df605d915e549e3025e8ae832d96c16368e74f1615d025cc296472cff2507b0f0824959ef98f86fd677637a6bbfb8ecb911d13581f7713391f8c0ceea1edd41537fdb300bbb4d62dd72e9b4fd472cf3011f3f9d3b072eac5592b4c58c7895ed2c41763590258ee8551ef7a78099b6154509ce59732b68a909ef7dc465724f68b184383ce2400642e6501d508255f32eea017d306e286d9e6db090a05d26f0088719b122209819b6f73396d175e984c0c7bd073f037b0aaa6df4d8aadacb6f1b8898484a567b5e70f5a5837972de213c408d10c381f44fec786787844141c7590506e001452e8e25f262be8a6bbfb8ecb911d13581f7713391f8c0ceea1edd41537fdb300bbb4d62dd72e9b73cdabebfb92b4eaf6b8af8442953da1041fa8141a0513279b8df215879d424621cb011018b58c87f2c824e08085d24f9379244bcde6fbb6b46da2f6431540c70bee94ba2d980eac331c16af1f6ea7583260dad3e592e5a263209aab26c821a908838f412460727e5a6889e14bd8cc5ce8ddcc37d590b3550fe5652bfbe3ae793abf78b5deddbd2e98eb8d2194e94a3e960ed413b36ca03f52e9ef2ae9f7dca7798aae7206b2a921c09f0754f215d0d809180f08413f87d77f82908eda01968cfcaf5430e2cd52642d9e470d28605713a7820b01d0b0119066daceec1b73e426069731c30b8e35c0e62e28fc43463f19f514afe86fa65bb1fad29574a3a3cb3bb7f5e7b0da4ee72ad65d0c6ef765037c7a26518b1558f32e7b06ecc1a26490d543c54096c3a8f83e1c3461f6fbbb110ed26a913f8cfeec5ed117257cd776f464d0db5b8fc6e45a2139721b806f1e01199c7754c68d262c2264a8e333791fa90b9af63db46e8b76f28aaa4abb86b3dbc35c82e31f94eafeea5784a7669cc429821274341e8132110bb9797f33f733800277e6f1ac8c690ba9df6385944236aca13c3af6a59d9ee451c25a321dcad529606191f127be512104988d403992ef1258c8a8b1c618b693f0473338ef78315f7dc3462b0c3bc33c0b6024f72d6c10c4e7c807ff5789d9236766419d5da5e6e2b07229a255f3bb5746169d3e1b00ddfc6aade5a5ccf2480560b9638148842270d01b9fba615a1645803e05bfac94c9f46b7ea4e03bc24630d2ce308498959d856506503097b8ff85294b741d38069b33097b0907453745ef5721d89c77fc1c48503474260b458f24127e1b3f0bfe11dbc3d643dbeb4125c5511acfbf917cc8141cceb06e76e4f0fef30adf25ff1b12863a72b4a13b865a333dcf9b94a3c88d25800227d5b0afecef97980b685f9d85049501eaea73444519136a6572c2eb6ea958d0d38f3223c6805b91ff4464b61a3983b89d53697530bb18933de6e01d98d72e7a39de2d946e5bfaeb38de7340f083a902de30424d9642545e1cdb566b895c61fc537ad4e11f309d225344824cb61ed42edfc5c30da21615a6b7163097d49301fb6ee70792d5dd74f9c5fc47d85e4dbef1e732a7567e3ee4eb0b1ce4d5f99737532622e77a365e8773ae3273264868cedc029f6e776f414660996c23d3522deca07327e8b1d397aca00eb4b06f8fce3fa3d752a7bd753e36a2dbfd537621a4902794af4d614626325a5e6d850baa967acbe2fb6df9a317ce17c2765b2265af94fc55c9e4d266169adaf756473008b6e446598fb15155dfef47686b54ddd4fc61db04ea2490528684175e9d3435ab12fe9366ebeb202c8c224b5b785fc5d7e09d4c40b877f9d27f195a894caad57f383fa19d87acb8957d4e18d2ecaad4a70d0908528a046850712b7d2193f94792848495fae33b33f1e9a4eb8610540f4184502c51360c296f28bd97553bf1dc44c5bb24d0c49d5e92d40d72ba8a721284e4a383a486a48ed3f3b772fb8ef578edef1f0ae9573ffda2ea4da86c02e1c11b3f8cd6f577e8f4f1cec54d5a04625cd7a457ddb9c219a0b46c0b5d41b5cd5f8bc664b33d9824773c955d3ccdba066bd4e630abe3488e156e7a860f84f79e78d0b09f6d5627ba469304de3c5042d0c3e878ec87a88512cf122e3e4a88e0d3ef779d0f3b7be91dc8408a02ba63472aa58f7fda54e58d114d57f056bf90cb4bc9b54db2d7104248aabd317954c668077d1657364fc915133757cd5c2ad758dd1deb574ed7f95c37c1b0a5ab099687f1439a3ec8f3443420e464473d2271a09cb22864525ed92e4eaf1ca972a865a7b3bdfabb923fdcfba2d740fbde069695b979c5ea874fe44b2c1798942deb2e91c24a4e75d6fbb7e76df1b65befbe724a6b33274e2c0128e4772d0215a36a2f589ac9b45f13d3c3e0a8a3360c02c07a0fbfb6c1cd0613ff0782018900ff2000b805c68d2ff69a3d09ef879b5435cf0b6e910de4ab94827ff7d618087c9a62ccc91473d08c4b5db02badbe1f2c9e1a07eb44947b81cf20e01db6e79f116c0284f59f4f0ecb5f9117453204628442809d951b1432f941f776f944328a3cf4335cfe5e8142c4e363a5fa620a031bd89779b7ce19e055bec495d5e72bf1d24bdd811b80469d1551aa11df94289e2e84623511c4d46f5f0b58ae0af831bae0b396019cfea86d3ebd082b60c5314086fb2b8668587f6818e6a6a6783e1a54cc7f3a43239c102e567611f5843d17caf7fc134881d94a2bce6bb3a1febfee646ffd0cf98bbeeb68d0e58131e73494a1371f4d173aa5ca53eb3733b198fe48b1b39279cd0ddfb03590db793bb12817267238f230b36b020c1227e76e71a6830baba170878a44f70dce4f6c573f45c63df49a72f71d3553495e525faee06aedcf86d09c0b195d9201297b8b899b53c8e3c2201d27d2eaee0a900e107c86379d1fe74d161ac89aacda75984a33114001d531b601d932959d05b8ec17a31f9d541a9a7670b1580967e04517aad11875a134606bec01c6b06a956d6cdbaf5e661f05d4d6e8659ceae44a0618f36c06011731342f56f139cb2dc13fb7377a5ca76053e25e201eac9d7f348364a027e4f2e2ad3aff90f82849872f07b31bc1a0370164bbf5f6370e2e9f1176cf2cbbcb94c168f5c88cc677715a57e2d1e8adb9e9c75e5ca539b5aee06047cda577f069ab2042dcfb4a0391cc37ed702c23c9b77edc1f50cc859c5fa86be7c6c0cefbe40302e21228689a46e89918fc129e9baf571eb115d2b4717fbf00ae77093052cf58c95b5ec36671ee9e13c9aa598caa4c5794ee7588e5760750dfea06eb5ff7cb373834e083fb6abbbb8f7b32ffe4e814b4619bb1ab12db352e37b6a98dc9980e5ff85c23fcc04bb3a4604453a0109a66a09ab4097f4acb732d487f6b15d6d0b87d77619ec3f6d67460984e588687071cb02e4a4b746bd7405be1e655ec0de64a3c875c46cdbfc08aa2c915e5ba6f6e40961605dd840ac2d80d95414bae8dcabfa9ee4172c5a8e97bd82b8faadb7e790353e1cb9b9a05c05717690bc382cbbbe38878ab88707a889b9c4a90ee3e8a1413dacb31ea467899c46e096c86d9840282ced7520a9c5fdbdc4a98164690e3fcd1acc6dfcb049d9a669ad4a70c6ad3254e8174e0d90c33b6f22cd3462e0691eae840d2a2b85d2e7446708b92f485e8d2b6170049da06c710b873ad6f79072f94b96800c71ad8a079695c72217b40489bc96d1116a30f307df03858b93b9771b444ade53cd13799995d5883f92528a1d3de269327678d81f59ea754b48fac3f1e634d6df20db84e1bb844577868a402f2aa0e6ddc6c1c96a781890237be3905cfb1f86b3dd7879ec42fbff62ddf28c177a8be4d5c325db9c8357907b046bcf3160fe998192c81da2b3b756cc31ed7b96e688d667631f55c2373c8b82b13a535db30231def9f9feab8ce5196e04d96766b3086d3b98ede72cd5c9f98eca908fd9a72410b2679a0c6aa2e9e39c2543098ca9b069d126dee02241b449754a110ddeb06011501741b2c0da718c417b7c907ad418102a9060278d1e79a430b95eb5cd3dd7b571586a47db5155b7f2bb02f58f5709d1fe760c0fffbb8a2bf39e1f6c1bdf3d36d324a179c52686faa549f47c1e4b25ee809a4147cef51637234d4d360bd5e989f46f2cc8be591e04a0fadb43e90a363e5f39e958b73481dd03695193b8c8bc6894b7afe4591d33b4a695646e51a488ceb485870c49565aaed29eaa58c803824c2b11b6f7b1ee1ea5d13d71a4ebd19a61544600d39573978ef33af969ce6c7a740019ad29fb4d299511b10244daa59567c172e56fff0d90147d407a460cd21f6b2c704ab683cbbf569b98445f5ebaabb2b1362cb112f7abc40bbb0894dc84ea49ad6aab9b6f8d6b9cd3389583eee62ff3db418635fbb1b0157116e1f44c32ddeb1b2bf6d156eba35a24ec955e689e4eb4404c3e58229b4fb7b93eef39e2c5deaf757ed813023c20dd3eb09d4c775711a1f4d8a8821323d401375da9642bf6514c0970709bc77d3fe9622cb06db37b592c25a067e6c69f8c94d032392663a5cbe58b4ebfe74e46858252214c40a2599bdb395c4fc8094ae4b92920bc54e5b84e89c5a9a2cadacf59be0dc153aafed476687acaa1bc254095b3df4d8e6542980c32f07e65d343bd49a1a76c09f5a9daf649a796590d12c564846a5627aa321eacc100404851a44da8c4595ec28cc1b93ce6b2fc998ff6b663ae00525a7553130d94cdc9625754b8d5170b945271f6f322520e1ca1ed6f4cdc3c2bd472d59ab741e0e3edb3883f12b8a93e2bf2bbfb997c6d1af30f2b996eb7b8b6ed811aff39c252b83393475bd8e5d33ce95332c79fe801a5f972461bb6055d4a3241579d1c2c9a7f5fc82f4e7aa9fd0e3865b504566e27eabc396033090ea3eb8f4c46f4cbe09b3315aeb9937cc89ec36b0d40cf9dd544e740aa467dde13541ad10c942600518cc436b1f5562bdf1be54a7d8ea952da312fbc0a138f7093f9d98bde6c2864fb833eb5a2c8dbd336854a535bfa21d8015a43af7eac4cfc71db6c6012b60c4afef3329d0dc2053b244322a646de9bcf447c8482870d22f17077331bf9ebb8a3c0c8cdd3a85481148e31df0096661e8419302212753606551bf8e49bd801e9d110bd77b4b2006bb7c8340e8f7ace8ae2e77628f59d1dadd589ccd9235a53008cc43ff8a77b3925249b04b35a61af5d32f10b89479cfd28202f3a5dc91216fee0be038eef0c27b7a636c01f33b693ac433858a67c7eedf75b74d7a255a655733f59dd1be4419dc578d58eec509707c0275c863bd78715b62bc2b153270b24b942c5093eb0a3157b91a40a99adaa0163a150ca27235c84f6438f8471179f04b1c7cd53bcdf556d44bf0826474fbb8969ea96851f427582edaa35f8dbafadec2485f3d3242b223a1e6fbf09db082e1f094520fa122654ff1722f7580d851e5a5c35096211a7a2d63c0beceb5c96a48366d708dd66fdb696bf88e9dd28ff159c97908a856e487fa1d5f538aceb22470dcedc161311ed31a58f0108faa3e5a09efff9928d7672028c672c8fbb4b5b446922e49be8743f06c4b150a1fce409a53028fca4805e85a19be0f982d246d1ca33a50412576808262534768f1803492fbef19106a0ed3a09f82669d4e92223797a0c300c93ef17f6820ad8afdca92dfac738065cfe707ec7244043a99ee445ff02d7b93748b2103b5ff3f5c61e86328c4cea68c265356b11da18a9e4a1d169033fed4fbd207160bccdd82b270cefb483e3866a07fbe06a3100c0dd615f75e35f6dfdbf80e4bdb71134bc10353b6157335da0587d38779ee8a3b746f83a63030ccac681949bb4e71938dbceeaeba4922721855d77e1d63c5c5b11b70b8161b2d096d573bae1cd40b58403adad689c9c3dbe9331b2d4a046c4fe22d2849f05307cd5eda1549257d26d90d2d205f72baf9ef3c2aeedad7f1b08bafffed4646e1785f1220af19084b38dc0baa0a5260df9ae11e73c29a4a433ca6f295e46fd2a58d496ee5a87c7c687d533c49049a189528a197862064343ee56654bd86448d6ff88e5d24db74455f718aaef619281720964b7184bf9a6ca599b98c32d427291b5083a2593bd5d72e862bfc7d5c3f7d118b984033875f8d93bba94bd68625d9e2c249cc06a72bc90b0b6bb3dfdada363da0931a766676c77d42ddb83ff21b3f8b7629348b6fea3133ece8f19fd24bc4bf85cca8d12e6adf8c91ab2982cb36fe54e9920809e7011c2864d118271342ec48275bf9106474e0b276f2bd36cda005de19c3786dec3858ec95e266d5b71d990dca911c47b7576ccdd4623d0de3033b49fdce7bdecc7e4967dee4e1a2acfdeea55bc8515496b947a98309ba418ad8ea33ac15c7fe6fd25c1984823d905ce7a72eb1f5a8e80c79ec324b1c51cf6bb26ee59caf252eaf2dad82b16ea75d97764ccd6014d345766be5784b67b2ca3a45457dbcab8d44be79f6253bfd3180f087415c53d5cb9d2ca665a3030ba09897503bbd20815a678707009de9374398d25b20e7b24838987c18405341dbb2b5a7fe0f3bd2a10150e25026037b0abbdf4f94bca13ff022c24d7af19fd37061569756017519e78a672885b2041461f85b5cf2988c9fc09dc6868ab9df865484f9c873e4b4675944f6e6199b4e493281bea8747ed979d5ec2637b5d2cb9d418441cd9495dbb0d2b8d624407ef24026f267e96615b666001352077da66479109793d2e217eb52b4ea5946871cb24c521b7947e587a3dceef06f1a26c773a3b442dff87d99d291dc391c740d75e61d2c6c195962d449a1add3d0f360895d70436610518cf6952628eeebc168c6645187e1915a64998d7b79fdd66371c161efc01c4d02f916a0050edfc4ab627a3a005dcf2c9eaffd996ac0982ce18ad5e135ef39dc65c0d69495984d5d8ed95b9cf6750cd3b0ee046dc018d0fa41b391521d23b854a10884abd6967b20f99cb0c19b75b6c84c78f9e75c381dea9b8a2b5264019b2fd0f6d737872f0bce2decb119d7440a408127c46ef60368a18b342c583f176612f58bbff4cc5014489b8e79dcfc6b1b7222ffa83fe458fe1d5d785f430b7c2c863a1fd522e7133dd55b5e9c7428026370098b9afd67c64921ce78b7c6f193fe8612da3120de00a2d4cfdb9b174b45f1b619a8cd19e5e4b97508f5218ebed3bd7aec420cce393d2c55727b030963ab728e9228ecaebab7ecff8186dea480b49b959a649160b1a8f0f1807fa24142e0990db44fd734b755edfdce78bf655b19096f00be31840e6703d25202b5127a3c53347d2bcce28ee47ad72e542d45629b5e23c4beaf46064d2515e665e0c81f2555f9b19e72cff8e9344e7f2ba25a77d9b87a5c9f58bf051089bef257c721ce64ae236c28ec6725c35e3b819c96ea206a9ce65c956769ceeb88c2ddf2d13e5b644cc0bebb4592fc1b2190bcf30b0e7560aee514e770e371ff4e35855d574cf7609a93a4f747616efa6b8a6f5a6bafb6b28a73dd838377b295dfa2bb637db4f575a95d80381e2b757fff1747222b28a8c8eeb28ad08478e3b65b1be0e69b290b47859078dc0223892c32777ad4ea92934f61f42ebe545c0adce9738f6396d6e73d8fa259dc01a349718c6291d41dddcc93ece56c863353aab20b42fd6a5ca853c78e71e81dab55dc337dc9e11ff48f2826d0c644ede44041ca32b9119b5bcc2ea3af4a7809b125cc44a8f37b63098f84af0feb264042cea51132b9119b5bcc2ea3af4a7809b125cc44a8f37b63098f84af0feb264042cea51132b9119b5bcc2ea3af4a7809b125cc44a8f37b63098f84af0feb264042cea5115c3952699342205314ab077d970d53689260936f768dcd36f3fefce13d1ce37a5c3952699342205314ab077d970d53689260936f768dcd36f3fefce13d1ce37a5c3952699342205314ab077d970d53689260936f768dcd36f3fefce13d1ce37a0aef636dd5fd944f00c3c956186fc59e5016f6bc37106918683a5b01fd1e358d0aef636dd5fd944f00c3c956186fc59e5016f6bc37106918683a5b01fd1e358d0aef636dd5fd944f00c3c956186fc59e5016f6bc37106918683a5b01fd1e358de792b3a33f9d056d55bc3083d0cc88d4ff82930dd1bc51434a7fc525d533e14de792b3a33f9d056d55bc3083d0cc88d4ff82930dd1bc51434a7fc525d533e14de792b3a33f9d056d55bc3083d0cc88d4ff82930dd1bc51434a7fc525d533e14de82598d4bfb28e92f2f6323226bb3d3b6c6793d6dd470ab3e649001f322eea8e8d0efbdd8f75e5874739247927762a19f96930723628060adbdb86922bdc276d25452d95bace5961797f3bc134f4fd2a1ad4bafc121794c467ed8a296686c96281b46c8691e5f38eb7bb657a7e9107a0416ad88bf141e0d1fc42bea3499d4ea3d17a7485ecceec917aeb26d8a8f81b15d63b115fd2e1420aa784e447d53cdb8c23294b14dc5e1a9028f679edfbb0c9f04e556997662fa827c278b1dc8a7acef30077c553ae28326ef59c06e3743a6ddf5e046d9482eb9becfa8e06ff5bd37e2e8e8c9f3f9cb2e5f8437d71de433d6d4591ed3798efad7179160fc7c55364e9a645dfffe1e238a1f3b4415239fba22b9dda57b660ced8594c1bce69fb9ae534c977828e96ce02141aa8bb6cb1264e47f5d1e74bc31d2466dfe6adc7bf0dfae16fbccf53fcd34551789105da747c60b0940e96a2209f52e0b698b6c112e485d7f0acdfb818d7a349c046cfd8d52fbc06892578a88ef9a171a7aded856b0387d0a610f52b26d8b238bfdccbdd7e60f343c33854db86221fe19897d41dbc755a6676f68933da6eccd49fe9a4c86d0e475152487499ad8773d17a33070739434112838be8f42061d87f1a3072108604201f49a7e1942f754a174fea856f2e4b98e3ab1619e39a392aaa84f796d035423569cbdb25f0610646d89322a84d0f4d26b3a33993ad62fde4d77f951b0dee811bd6bcd29913599e0649934bde7a5a32dd351c1f8f032d03481f312350c7143b3f24438b7381f8e4ce6b9122b6b1bea32187793993ad62fde4d77f951b0dee811bd6bcd29913599e0649934bde7a5a32dd351cc6ed9ce92348fd15d9b979eceac49d0c15003cb8e9c7a78edf11eca98d1bcd660d5216ca5f84c64bd63fae69edc59341ff18d8b4b84e81107efaa29b19877dfacaabc9a81be207a31ec0bc8d8260567bb478bfd68d67ef7464a68c9f227b6981053a5ac9b75926864844403e5ea8e39be106428b291b13737979947333482b8a053a5ac9b75926864844403e5ea8e39be106428b291b13737979947333482b8a053a5ac9b75926864844403e5ea8e39be106428b291b13737979947333482b8a77bab98de0bbf3acde22e47ec99d662dac82e3397a0cef78bf78f326ee15393e77bab98de0bbf3acde22e47ec99d662dac82e3397a0cef78bf78f326ee15393e77bab98de0bbf3acde22e47ec99d662dac82e3397a0cef78bf78f326ee15393e3089500a99d00654a7a05009613b1404613b4927cafef55dc40ff62283a2fded3089500a99d00654a7a05009613b1404613b4927cafef55dc40ff62283a2fded3089500a99d00654a7a05009613b1404613b4927cafef55dc40ff62283a2fded7879299a86de5e7bda68136e07221d3aabecd775a7545911bc676a2bd106479a2d004fc894a5f080c84b96451a2553eae9c36b97b40b6be47b70be3807697473a2935df9cf5465a806db836ad4b9bcccae887121627cb99a463508ad8f860dac1ce7e4f76ea1ca631f8c7f6f111a79da0459abbdb3b7ffb75889016aa063f49b9c644cf9301063d9556bc9f6a15f32fd2f7077bedbfaa898cc0bba189abed9560cdd2f11108246a21a38c0803da64f7371693b6e20a7e2d766b056bd5bcc43d09f6ff59deff9a407d6d7f7f41759eef338bb6ebb5d3abae9180efe6c9589b34f6c8166be19925511a144c349d45ba379fc18b38edddb916e8eea607bf4365524220712cfdcb43c8f5d292b5226a036a0453f958379594d6a89b8c29fde14a4af7441da993ceb5cc9e9813855b42071025f5fde39f5d37b7b466b9bd85eb06ec232e7c81e22943c773d06dc7466c9d92d1c07a993563cb9f7928ef06f431dfe49377a1a38bb781f29d2c58296ce2d67925893594092f3b55d8b3038332ebb53635bcf1fbf4606c5ea0ab13bd0a95271ebc6bb30e8dcdd44592c575efff7ab819be018176ceda72da4521485d8143cfbf610179b33d90c4734eebc701f4122f2b279fb464618bfc96071929c4fee798f065106b1cd2d3692fcb6b8d1ef46b83b9e410c26b109ce9d32d35c0e4bc6dc92a7579910ce706939a056323de5801a7a87abcfa16526dd3d1f31954f88813928de507f4bf2911f30d08ff756d8b46baee54fce1d82a5a062eaff3ba90478641f671ce5da6f6ba7bdf49029df9eefca2f870171178ae901e108f56305aff7e36268a690bc49933a24b1aaa587fda00f4d3b7151dc8ebdca81804c959266b14122bf74e62cab773dd8e2f37b379aac1052663c27b4cdc7089ddb410ddb81a5ccf42662972e07dfc44fc429d3056af6dd128e480ac039362a15a7738ba76dffe807fd03fa29f7edaa8eb21ca0057c44a1ee8ca7f21a2c5226b7d35ccac23780ae535921353b54bf7d7e61f1ad9b021167ba6c10e37c432b4b93a7d257fbb890636fa7f6f376321cca47d5919ea5b6adc75d3858ba5f2c20d320c3f5390ff9778e03d341957bd37c5d3cf0c3327976979f2e01f19a80d1c7d5d758dcea82276e73150454212a5136b19c5fc2727786132ddafdd87f8d1367c93897805ee274c0e53ddbb0a46525aadb7dd32756fb85ad74e8b0fd3864c058e3cddf5ce304faa4f47e6aa8b70fe1672836fd8ed7d1681821800f0a1947e554a9aa27c99dc9a1b21bab0de325db6bd9a60e8823bb2112273bbce4a4f7a0185ebd1e6fc8cd79fbfd1bf5ff1c68fd7caa373b76ba98f86a80caa6afc81840f1f7dfd196e947c7384f9da96016ffdd94e1ef38c2e5a70da07835f672aa64d5312536a9db635df3b591992eee4d6e535169943d30ec5da07efc607401cfd723672e8205a30f93aa14e24ef5b0264c41db367b50cfa0b6fcb83d8819473772f8e0b1d195a925ea83650aa433b41fc60f47bebecfe4df029c13351a118316285baf776fd9abe7c58c629db7f5a9dd4c8fb6a5a9da4c0631437dfe0156d31663266778f115c4273bd59940d635b3c5779b39672d57b4e1847cb3a0718dc1fede78d1ae0cafe988ca047250e56bdd0c876b9183336ca2220824d4279f40fc3b1c911edaca8ea6cf925c80807eb8a52bdae00f29839bf79e3260df6f4924ab6892a682976e8b201ea0f794efad6cfae2c197a9dae44fb50cab64a133b240516892a682976e8b201ea0f794efad6cfae2c197a9dae44fb50cab64a133b240516892a682976e8b201ea0f794efad6cfae2c197a9dae44fb50cab64a133b2405146981eba1aee9d3d4366ebd6605698bb3d06cd6b026c07d08b1b54fc3e983fb346981eba1aee9d3d4366ebd6605698bb3d06cd6b026c07d08b1b54fc3e983fb346981eba1aee9d3d4366ebd6605698bb3d06cd6b026c07d08b1b54fc3e983fb35b5df940418f9df80cbe19ad45644113bdf68e7e93360c902096415142c013ec0986762b4410a6a7faf52304b8145e3b6e39a4c8ba3dfdbe072ff253f2cb8f835b5df940418f9df80cbe19ad45644113bdf68e7e93360c902096415142c013ec91b78d817748b21ae52108a87e641d4ea615525a7e739bbbd6372256fca5827391b78d817748b21ae52108a87e641d4ea615525a7e739bbbd6372256fca5827391b78d817748b21ae52108a87e641d4ea615525a7e739bbbd6372256fca58273b8c3333cf4d0e77cdde31c6842245f796a2c63bdaa801f4a2b686d57ce21dc2201f214adfe2b941f8d5d177e6acc84b048a8b14c67885f6013dde5295d1eb753b8c3333cf4d0e77cdde31c6842245f796a2c63bdaa801f4a2b686d57ce21dc22b237d5db25a62e836653324e2d9b0242a3419b3f40f9671ebe842c18c2ea427ade5af72ce2fd9b18a00f5134191baa430e3d4af194f12ac3b911ea54c6fad12cb237d5db25a62e836653324e2d9b0242a3419b3f40f9671ebe842c18c2ea427a2571ae4f427ba3f4ba4d2bf3f973a0012fbc94df1727f9346dbc8a5735004a3e56c249363d808f7f1dffa96ad2ce7ae0a5b58565cb78831cb79ffb5220805c0269322da55b0c6df004941062f8f67b44e097654e771347e83fffa16ba63c3883716ffcbb82ac9427ac2c9aa12debc9e160b59cc787e92475408684ff4bafc3be1d8e84dcf9fdf596b6bdc1e4d662b899ce902beaa4febc8cfe333d4b426ddc83716ffcbb82ac9427ac2c9aa12debc9e160b59cc787e92475408684ff4bafc3beea07f169b97c58071a7cb5417ad2dd080ae79d49911f7a0c1dc18e134096dddfd7b7a86b70431537ceadfce80b5341be8ea71b7820a6657e9f750d66a04bfd81ea07f169b97c58071a7cb5417ad2dd080ae79d49911f7a0c1dc18e134096dddf5698dd0f2aaa7417c06cf089951696361877f5d1decfd25666dc2e77bfd1a6775ffb8692d0bc67852ffa3497705fa961dce146e952660ae4d85036742778bbe45698dd0f2aaa7417c06cf089951696361877f5d1decfd25666dc2e77bfd1a67758e55547d6b52b1093ae6b66699e23f2d8742246f4dad362498c9e9b3f3dc59c7b4c80118b6956a6b7319b079c0bd7730f302b2802bbed10b77c96fcac45a91c58e55547d6b52b1093ae6b66699e23f2d8742246f4dad362498c9e9b3f3dc59ca7eddc59ca18b5cb399184c184b30da2087cb1253ad36e1fff0fb0d04982ecc89576a7daf46511d5ccf0abaee6b3db9bb0407314a4932ade74ea410e0c82da78f140126a11fef992e86ebb65b992cf4a118232c447d8d83258a9c41d1d619ee77908929626c237d17e99623cd16781a9cd4f458527a55701c299459277219687ad6227d6d3c619a43a72fa604e5558cd5d6e2060d6efb07ba652207f0007b1d6ae2ec609ccff075bcd077cf0a143b08a9997c1e36a9a2d67bfdeb5fcc37d7b4591ad53ac04832b29dc6ebbda6177772c49643966fc4618eb28535a5271323a088ceb0b5ebc5a824d8bc66d41adc83c3326d5bc9319ca310fba51099c54e158fa7eb6d948ab09e5c20f7150114367a70fb62ac127f40e65079114cdfe245193e0ab386b317a06bad95c56f04f735853abe5c71fe611cf16a7bc728b36d4e34da188ecda0c08e9c1f539fb4f784b04e88767baf0717dfad07928d765cd1f31905063061572d24eeb22002e521698b7862f6914c5f8ac07572be2bd32d07def06e2984b7715ffc1b578981bcbd2b887339619c4581f8facf9a8a259ef3af0233fa4f0e5fe17bc13ea1b4a99e6ffcc62bf3c92ab801211646f422ec199e68b898b48cf5613b9cb8369a0a3d3a3b2a5f5258ad1102df6822e2a7367a92a0f8dc7c9eabb3a7ccb8adc60317861bf79402f9a5ee0f1e35f81010f694effb86d78e5d9853b5c489ab565ba72bc273109e1bbab6eae940e5c67e84e01ed03794eb9f3a3dd09586078c0104ff54bf6523990fcfce930fc0fd1b7f94898213e5ba03bb848e6726ef0be4292221ac2fc9a63175a55303be80056b2ac7f13bfe2bfcfd0eeaf8238e5e834cdd9622c2bcccc68aa8a29993efded755dd44499893fa3aadd2f6b6be800ce1338756971d9db568e1a804f84a720079b23d791bdb5056049ce86ae56723dad5223d042a1a13eb5c13bd2df698f25d03936f547651cc25d1beecb4e94044e90e1f0cfa5fa7ed9283498f2fe25c531a3ea833d173e6b41507bdb6223d5b34d31d2e3c349a6b90c727f0b0ce5561837395749e3b7f8ce0a9075dd1201f42f2a37492a063495fd3e8f26bda891940b1cd10b5739f945e396e4228c9d93a83454585a198ffea4f78c67d58d1ebe89a0be1107612058e25ed4cb37964f2a71e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8559d78066589876470fe5eff399a4332d28fcb75075b3acc702801c65cab5ce58bdbca9a068dcc8c2b6767877b5332d585130f31841d4e0aac3f58c447b79eecd1ab05fd924108d89baf7930613c23d5ac307cf17ab41b08ba096f14fa6a111d9cdc42f71ddb9289969f6895c6c906460eef3f84dc348a831e1381f8c94c89c6d671b0f37c6ee95d539931e93cd51951db6cf4b7857403067ebc85fe7626e97a946804502943a25ce6098851f6e4413e95c9eac5c3c0a548a6e3b1a2b47b489e995bb25bbf96105276749aa1abfb54f577e9cfaf9b29c4a103a88131533e89b72f7cba7f222851158027c78296bf5dad5d42dce5c462b578b6805fcc0d53e9aabb2b2adea61cce8685236b344fa153344742728436c3e7f1ac97f9132760b7c806b756b0cf0cbbb3dca7219c7e9ba139f7dd8aae546ac13909a2c08c55d8656638ce2909421055dfd251fb73e3aa43ccb8dedcd9aa0ff40a9ef8a3835271b13944990d0f909270c2fc2c6838806231156f6c84bf6abb7c30b123802d9146b508f963ad19ad9722346f064d4fb789b477913a61cecf8b9b8ad7b383224bbdc4e94ed80f55ac66a2570c8a19d2b1dad7c057cf4c944d9c2f8adaf5bf6c8539881e136e1a7ad27262555d323321f76f2887b9a482b3c33dc7c92819cf7d950e0ed3a8b61ce17b00a1338fca815852eae64f7c819b9ed34a6f5c40ee189ff32312d8fc5dc42597f8398476b33e3d8bc4987659e356d67ddbef94f5847c73f8277e110b172a97207d979f7c3bd568e22878a981481ff2eac2f622bc4d7563ae506438edd6a79ca1afa50489ecb801acb32e3b0245d45b3494797dd9d5be8edaa7e8f85ac86fb360619e4114fd71ac6000909d6da367e11bdb9fd77ee83769f17079066db220bb27e2a4395dc131ccd7bf9fbad0f3de0bde4138f724042b339fcb05ec511cf93ad5d32bdc4ab545a70f4e5ff51036251c978dc1023e9b0346b8a673e6a13879632e778cb56dfc6df5b9d2f60c5e39c264338f6647f11568837f9d62e535ccaf100c30c14a66940e2ffd026d4646e166508e5d34d6f7238ff9b8efa2398c72c499ffaeaa980692e80f376f9c3e001527792d6011815201d5cfcf6a1c4cd2f3ec83160ce9c9b9dd813f9b5f7047d0d17665d533adb157c2c3bfec89f4611fcda8e99942797e32e09643d3c5102dd9261888cbe832a2d71792b55854eeb026b7f507e62cdab4a7876b5d6c0d7f7ff7289303c5349281e4a369207052e70af3884528c663a2c5bc5977c54655699389e6d31420d0e79ac6fccac835ee0b167e3636198f2e61362121c9f7adfbde802883c99e6b23977e4e0bbbbd042b3074214fe274b0ea5fe46ed86e7a60a9045e65bf777b31c8bcc6b9d445aa0dad8015e109717c2d426539f03ce33fb57037aeb5781ca3aadddbaae97d4e7f46e29452000916914b082bfe2a837f00bc8c9440ee014779131d6ad035d3c20085805b2708f1bce46556ff43645e932299187a821683171f734f5231cf696a68aa3c81e04754e018785efc750bbbafe910f4b4e4240995b5a2143a4341dc5c1bb73151c1d8b6013a0c4d8cf77918f82ef8c819ea7a4939582dcac2416757683094c72f9d74ee4c90b3e38f21c46787d33a153c6be9b2315e8d6713932f5f8c32e52250b6e6c337a7f092ff03d6341594b9250b1ec3e6d47af23fafc0a2c6a0a1175ff9395b7c371f54360f268521754635e89e0181dc07da4954f1d451a1a6784ff8dc05e2e31091f886b323f68e0339edc9ffce57775bb5dd1cd13f7d8ce06da0507e9257b255b9cc6eace31da334d60098f3e044860bd92d6b51f37be32408eff3f509ac6364722be2cbde781cd4c86ae8ac4743a48339d255d4346d1dbc72d38348be8a6f5c896881d29dd9b67771ac3464976ac3563128aa9d41f0cadff05d319dad28b09520e446eda49ad471c46f7fc3a0561dffa178336fbcec50f53b83fa7b0e2a6f5c896881d29dd9b67771ac3464976ac3563128aa9d41f0cadff05d319dad28f86ec65a5f05450749bb6ac38e926d490cce587964b9f64734c231bf58813017d106ebd883140a8cf5a0629e260e1b4d6e5e99774371a3b115a5bfa33275cf5df86ec65a5f05450749bb6ac38e926d490cce587964b9f64734c231bf58813017c024c4d89e3b3376a9ce23ae02a849b79e2af8984789facc2c55b01189278286adff9908e90cccc3a28edbc8921ff21e7e3947261097aeb732eca705e7819880c024c4d89e3b3376a9ce23ae02a849b79e2af8984789facc2c55b01189278286393be239aa5b883670cca7377c5365feb534beb230b2ae4026bf9533a2dcc711dfa76d58e971e860dcb1b97b509298ce37f46cd3f8352067600639d598a1b868393be239aa5b883670cca7377c5365feb534beb230b2ae4026bf9533a2dcc7115643465b7f88b87a7fae4e185ab70b6cca8e69399375fc4f082061da753abbb55643465b7f88b87a7fae4e185ab70b6cca8e69399375fc4f082061da753abbb55643465b7f88b87a7fae4e185ab70b6cca8e69399375fc4f082061da753abbb585e4e26965614847f7c004ab8cf99d98aa90f82b34a6377a219c484c88683cfc27d1cff80ab95628aadf71bcdf4ef3b98cab4c164d92c8238e476408199db66d9bc5f77ef675e849c672672912cc45e1610b85679f4c95196327fd0881dc8babc2094a4388cf274a6ebc02eff1620545304b2ff368059fc3f1c142b8cd15abab8fe5ce586d82cf92c2bde6b054af00049dbda726a549f709d1ad0a2364d600bf8b8fd6252c5f301a9ec5971982bec67c8918476e93cabb3874c5b974f254c5b9d9118f998082f1c707c9061861615ea0081f131936d359bf0889ee9bb253ee8f7f1be87c31c1aa33ce83dcd9bfcbdab376b780f086be5dc1e46d67e2fa6b7a7f3b198d7b030e2f4ef71f8029943cc91991d2fa9e7d344bd6d1275928ef574dd34a784a4cfe4978545f9432b05343722cbdfe401ce1b00637d0e8e6b7300c37f27b92ac65aaba5e1ba28a4b56e2bba57fad27154dda4e94b4a16f0a1ddc65d2314a784a4cfe4978545f9432b05343722cbdfe401ce1b00637d0e8e6b7300c37f2c43c160d8bbb3ab617c03aad05e9ff0df5a91cc3c1ce7dce83fa0f827d6c897da19aa1f838c827a07a6794896f0548abf9c4c6914e0df0d99df1d82e9eae7a7cc43c160d8bbb3ab617c03aad05e9ff0df5a91cc3c1ce7dce83fa0f827d6c897dfd126e838b35df5636dcb0dea64a7a3e471a8749325a535b3b462e2c75b8ecbf822aa6e2da8cc0f527b6527062d5d9c4bba64189b38e8423393c558bb1678342fd126e838b35df5636dcb0dea64a7a3e471a8749325a535b3b462e2c75b8ecbf1477b046638ab5e893a6acaecc442ea6ef14384f7874cf0295db09eaf1a7f550f2a55cdc7734e0a44e381337d0c8d4106cd94f01457112fabd1e1e2782d256a11477b046638ab5e893a6acaecc442ea6ef14384f7874cf0295db09eaf1a7f550772fa80204eac3d2e287e65ce9d134eb8b799b40e9432798ce41e94c75ab745299f899dc8e293c8b7da3730c33e589776720860bafa189ac6d1800976270e9b036aaeafacc9889b64a60bbef8cd5c39679340305e7e0b52eb93cd9832a46515c8767ef6900400b0d0ae5f8165d55f9713303b7e9b37d5b96e7e7e1848381391d67d68bbce2b0e554c0d6ae322e169f02ea9a2b0a31514b0259d6ed583a6ce0008767ef6900400b0d0ae5f8165d55f9713303b7e9b37d5b96e7e7e1848381391d9bae08618e11fa2435234e0e1992ba3f89765d0b01835ea67f87aedc573c13be03987081dfd5e90e31391264cb5ec9deb6fb4a6a62a14ce06368bb5e783990069bae08618e11fa2435234e0e1992ba3f89765d0b01835ea67f87aedc573c13be772773018b6e71a6accde71169cf7d666c6897cb2ea9eaa30476b64e1c32c25519924c427e33c86284ef2a41f76ab6937ab36f12e3d1ef4e617cdbf616a8fc12be1927e654180fcf6d84257be161fe6fa59796774e862c89b6b78adb656738f3da237aca5be1384a212464246e0b544434c68da13b139b4b447b87123d557b811b6f75710b97e16a374ba952bb52cd49fd881163ea2ffc580509a9a9ceeac51ccadfcc585a449781f5737da94b288aa0d639ac201668dd7e9ba444006d5c9d8f91af7203ff5d57fc449b0cc6c5a1433de3ce4fbd1302ce49844dd157668d543c1e187c9a9e0da993bd129eb8c3d188966814075ff19fe949a56e0e253245f345f414b34a05b64807c69287ec38e9175c1cab6bee4ce107a926c6cad49ebc40dc1460673e9b73b327a7a09a622ab740ba3ca1d644a96d01a88e776b434dfcdbb9003895bef6e2d6d0c8060326677a857ddbab1dfc31a4b36ff51a543a64a3b8fef55e34fd68c9a7ba9faf1128a624fa7e499d05c24cadebdc9f6ff8fc455815f4d486a46a5ac5861bb3d1a1d50223d70e14870a6ec3bb6134e2d321bd952de26f1fd81705e1fb156e37b604698df32b5e404393ab7517e658c6c7e4ddc63ad0c6392b96b06d00bb411ef82ac7203bce4d859919a7ca9c2d8aff8ed004d06c14a18ef35e96a38739563384e48ebd3ff7472dd6d7528d85c2cfc09e094e20bf194368dc433ce89436acdcc8e943a5d2c3b100c89ba62aa8b9ad5fc22f59335c2336e02badd790a54723f66e8f36efd00b5268de7affb43a88648d18865edbb9feb54aabbc5474026489f27a16fdfa18a9d205a06c189f5b5f4b777313321b561e3177b580835887fae24b0426b08efe8963f7fac52b9b3a9067702d262f1d4713143950bfa2a641d422ef22ba7ec2c0fc61c5b5293bab10edbb33c8331a4e17f93b92d988f9780fa79397e788d85fb0b19eff999e7fe43ab96ca7b58519f6cf5c32d83f59505cb8e3aa050cfb9576f34b18c18d42ef355feca33e4d8bbba88a4d5618a3d578ebf38699b0dbc7e5eddf6fa4fd1df232d14a37e8e5c5f4959f00afdfcb9a3ce8f18e7d0a0cadb73cc9264772462de953499534736998d3c54f8c7c3cbbeb9b5d44158d61e394c478ae4b964bc9e2840700606379c0cc2468961e7756bbeb9b5d44158d61e394c478ae4b964bc9e2840700606379c0cc2468961e7756bbeb9b5d44158d61e394c478ae4b964bc9e2840700606379c0cc2468961e775622c9778f572d50ec2556804639083ef842e6b41d209212de7a66deff0a317f9122c9778f572d50ec2556804639083ef842e6b41d209212de7a66deff0a317f9122c9778f572d50ec2556804639083ef842e6b41d209212de7a66deff0a317f91f19697a88922d442bfb6b1d7bd74aa9bdfb12c7ac8a103dd1ce8893fee5baa3ef19697a88922d442bfb6b1d7bd74aa9bdfb12c7ac8a103dd1ce8893fee5baa3ef19697a88922d442bfb6b1d7bd74aa9bdfb12c7ac8a103dd1ce8893fee5baa3ee580dce3cd75102f64671db727d112c333c6cac4744addece141300b44d1af82e580dce3cd75102f64671db727d112c333c6cac4744addece141300b44d1af82e580dce3cd75102f64671db727d112c333c6cac4744addece141300b44d1af827a22b519c807bd19cfaa71df1abf31bf660a2edc7fdf1383e087ddc8b2a49c3d7a22b519c807bd19cfaa71df1abf31bf660a2edc7fdf1383e087ddc8b2a49c3d7a22b519c807bd19cfaa71df1abf31bf660a2edc7fdf1383e087ddc8b2a49c3d5db11073a6ec71c779f2db700e3c39bec9126c791327e362c459e8ed826e610a5db11073a6ec71c779f2db700e3c39bec9126c791327e362c459e8ed826e610a5db11073a6ec71c779f2db700e3c39bec9126c791327e362c459e8ed826e610ac4cf7bc90f7c23fdfd51ee2cf882576d1741c3e7878246b75e2047959ce19e6193106415331916c2b78d46ad84bbed92450b1efe71d57a257fbabf352d47b729202197bf304e5488f83b2ab27ef6005706e5ca97214925177543e35a3defe264a8eb097c9dc9c0b51c812d582ce333ef2542985fbfb772873b59c27f0c8c6d01a8eb097c9dc9c0b51c812d582ce333ef2542985fbfb772873b59c27f0c8c6d01a8eb097c9dc9c0b51c812d582ce333ef2542985fbfb772873b59c27f0c8c6d019042eaf513064db59450fe2f4f98ec37782de7a4081426fbdf97215dcb3c56459042eaf513064db59450fe2f4f98ec37782de7a4081426fbdf97215dcb3c56459042eaf513064db59450fe2f4f98ec37782de7a4081426fbdf97215dcb3c5645edab714bbc82a686268aef18a3db101c5f8b5683af877f1ef8ef5bf609d92de968a82ed4a1b62e6ae14c7b63d63f361850181222ad37b14d08ad3b6d2b3eb1ed4d0cf0d08270a5c6cf71078182e4bc9b4080e8a31045d3b068f4bc8ec5a9ab65f0539a648b47ada6af237b94829101855b11d1b7cd07475925b771ff0792dd468ce3b92285209168e79e3b60e1a4db8b2c64bda60259bf006b17f0ad773b62b4a520c624a0f78e9523e92e9e1124c1dd31270bd5aca074b336cb73eae48bec2daa38944535b7e42eb6603a6bfb10402c10eac8eebfc33fe74656bca0e123f269aa38944535b7e42eb6603a6bfb10402c10eac8eebfc33fe74656bca0e123f269aa38944535b7e42eb6603a6bfb10402c10eac8eebfc33fe74656bca0e123f269208c3bae92df42b0e161ef4ce4e7cd47e14df2509850940c9ce388f4560289a1c0aeb82e63d6db80a1a666d2c1c96f6358a2192847304b487ebc09edd7e88a5a208c3bae92df42b0e161ef4ce4e7cd47e14df2509850940c9ce388f4560289a17d55da649a36f111948150db5e9ce6bce8c2f0b8468616a3261a2da450c69ba45935992c96a24f0032479be3a03bcd7b41a78c04ee4d5295d38073216adbcc1a7d55da649a36f111948150db5e9ce6bce8c2f0b8468616a3261a2da450c69ba4440a9599556e8e29c37418d07c1cd477347d008d236f644215cd9a926bc6391f04459d09a4837780095a821683a97ef02c522e5af7b18af29dab5c0ab8cc8ea2440a9599556e8e29c37418d07c1cd477347d008d236f644215cd9a926bc6391f4e5f422df4a3b43cedcb41518c34d11c2e5274eee34b28319827c28a0f7f8b024e5f422df4a3b43cedcb41518c34d11c2e5274eee34b28319827c28a0f7f8b024e5f422df4a3b43cedcb41518c34d11c2e5274eee34b28319827c28a0f7f8b02d8807684588cbb67bdadaa1481a1abdf235adbd494c98d2b87059e1df257a006c4e4cbe6ac874bf601680bcbb89afe22f303e0fc66bdec203c361b09e4b3f1aad8807684588cbb67bdadaa1481a1abdf235adbd494c98d2b87059e1df257a0066d75457139a75bd04092b3b3a5213f92b88e7ca33bb817dfc3ce1c5f53c05bc26d75457139a75bd04092b3b3a5213f92b88e7ca33bb817dfc3ce1c5f53c05bc26d75457139a75bd04092b3b3a5213f92b88e7ca33bb817dfc3ce1c5f53c05bc2e5b0f28896b33b621f74a5d7e044c640e0063eb757799143b514343222dbce01215d52305191a25bfdb1986992c15e77323d8342d117444a812d073f70eb3676e5b0f28896b33b621f74a5d7e044c640e0063eb757799143b514343222dbce01443dd50ded65964624dd10b65c90380038177cee4b786054c44b79cbe74ad61a79a21afcb54d1bc6053d48702a2f4ab821cb1dd26c5639811d2c984fc4cb89b07b1b9560103fffdbdeadb916510196cd4b861ecc2e1dd07b924a685b615eaacff3cef4b551e8eac8b60bcf1ac0cf61d91cdedc356d13c79e3dc003cb077adfcaf3cef4b551e8eac8b60bcf1ac0cf61d91cdedc356d13c79e3dc003cb077adfcaf3cef4b551e8eac8b60bcf1ac0cf61d91cdedc356d13c79e3dc003cb077adfca8e8fc4c24671ed7e09833040edcbae9ba469c06949ae197845099ed2161b95028e8fc4c24671ed7e09833040edcbae9ba469c06949ae197845099ed2161b950274985e1d749017007b2cd1b68468a3df871b4612c41abeb5c18e357f045f0c4899b8b9f32f88e3570669aae750b83acf851979407690aece4812a300db22d4775ed868a4084e11182454cc226e372595ff1790859e22c65069464d2c2c586a1cfabaa8ce0b1545e8e59527e315f5d870bd54c63b383b51538635c3d51e7c36792f0416a9c80dea99a8bbb2a26c19ae4473d470036aa188faa3ff91db5047e825c64fa2c3be8aeb821834d1eff737bc0219f5f5a7eff083961776b448c8ef7347b4afab9b126ce2f1d7f9aced6eb7e025cb5b25674e5a2e3b375993a93f271b6014c9c92cbe2528089850f0e6c2a25188701b245fd3f41091f9214fadf09d8dd414c9c92cbe2528089850f0e6c2a25188701b245fd3f41091f9214fadf09d8dd414c9c92cbe2528089850f0e6c2a25188701b245fd3f41091f9214fadf09d8dd40825949881e9bbac71157da44c291f05cf62c4c5346f3f35c5109a5be25afc8961048971520e3b54082ca243f59847524b6ff7e7e91263e227d78b7ec45a23b2f54ad12183337bdf4c077c5c5ef158117fe20f5bbf2fb1089de63d4f4b75dee791d4521997d237c96e0aca5f7c3432bc004afdc6d5ae0aa08ae8c34ef3de196d7d2f21f08f88776f9434befc3288346b1dfeb0e5399f9e9b5e629040111da46e91d4521997d237c96e0aca5f7c3432bc004afdc6d5ae0aa08ae8c34ef3de196ddd0ffbc6409f9855b65d6aa28bd3ba13b4f1812a73e92bdb6e976926946c4b7857bde4488e354dfb40b1d9114904088bf298d92c697b9bee128b57fb1e77eacedd0ffbc6409f9855b65d6aa28bd3ba13b4f1812a73e92bdb6e976926946c4b78bbcd96b282991bcf2fde4e2704b56b87fd1dd23d7a08422a484d340037b82e3be02c5f73eeb49a72c57b06c7687990cf11bc69d081e1d3d3aaf3f49ee0233324bbcd96b282991bcf2fde4e2704b56b87fd1dd23d7a08422a484d340037b82e3bf26008b08619992e950a611f3f9f109115f20e9741f7350e0363edaeb0498ed7de1022c39b11d8811c7be38714c7f1de8ac2d71be1ec205bdc6bb11f7962e166f26008b08619992e950a611f3f9f109115f20e9741f7350e0363edaeb0498ed7f96f43e1eb8e246cfa0192f9f3ecaca41a4ace974c20d0f3f8f63509a7ef777ff96f43e1eb8e246cfa0192f9f3ecaca41a4ace974c20d0f3f8f63509a7ef777ff96f43e1eb8e246cfa0192f9f3ecaca41a4ace974c20d0f3f8f63509a7ef777f89e32b26a7331cd2607d39de8b27c417c92dfd4de37aaa86ee32f1c0ce4e65ddb038ad7587d0d0792d850e9bb1b9d839b1ddb762aaf7b0b39b9c6afafe60212789e32b26a7331cd2607d39de8b27c417c92dfd4de37aaa86ee32f1c0ce4e65dd466dec666cb0f862c490996420811084d34efe0312eba2c16f42fa21a528c7107908d75aef32c501f0333d10121508d7c89b774cdc176e7943c2657ee47925b78f30cf500f6ac6633e5516183d9dec56cbd1340feac1c041970e6dc3ce79e82ca516b1584bde0c31e5ec82c5fe9aaa6fcfd9f6551964e3f87f0d92e04ec7692bbc211a1779ea6ab4bb80e14296b0365c6c9bbac9c040366a8c8754ace2232b03a1594721860e47e5c57d144a946b1370f717236442aefedabfbd11a42e12aefbe7780aa0f50a88e7c7977f9f80e1be8ae344eb94be9d80dd267171745f0c09e579c3b979052095e224606fff7271903db5004f5b70ca94dbda8be95946fb7b4e315c48d29f37782a1ed7893dfe19c93b887fd972a5807f0625785931cf8c5a9a193185f658ac4d15f14a02b6e6e980cf55f73a2de7fc1295247e4af9ebae46b7c14738fb9f773c5f086f117a5c7f885c42f090de1a28066bf1afc2184ed866878250436e980236ddf4deaf062c4eb9eb71ce33986dd427073e404918f4c9690a286cd83526cc19250eea8c157c1566f4b35efdc07185c0dcaf95a11f44fa60ca780f4dac57396807b6e4c01c54ab2affbc7f5d61545d1f749e89ef58e7792ef5a1d6755bbf4503049da058db352e351d6f36a977336cc176fa50bb7685035eee8470c90f1a62947c739e1e7349c3674be72f1c85c2182b6d692d76bf46765f0f984ed680f1a7b16cfe6c31e1afcd6747a1380c75dbec6306a68a9aade382a4aaaada486653fe5753ef6b2fd81ddac90636b2a340bdc48ae731faba32aaf4812122cab91e4cd8f66da84ea4a067d73a9e1882bf1fd67565bacc18515edaaa461e90074a26824c4f9a8bf25c6a10bb1815953f537f646b556ab10c886e836b94a184874c381e313136af17375b946b330501eae707c2024b753d90abb52c4eeb443ac840a49e853812daafd6f6bf33ede4da2b0dd8fe8ac393b065df22211ee066d24a55c89d4f4f10bd332bd12be623c61e85c50faedbd7f8e8becd2968b4253aa40c4d2a7c00b47694aa696c7456fc5ce04bbc297b45b172f96b40e38378a35f05bb58c0f478068b7963071a863e11672f3357fc41c692bb2a72ce698bbda90456767cb9b9c0ea8e9a5964b7083b0df565e8f6241a1f85d9e0338bc842965487baf1c24d38dae75945ee8004ac210089a9530972ee6061c903ac28915681dcbfbf7b9a63d392c22f43db1c04e912311349883e28d78f6eb5a708d9941cbd2f40dd3fccc9881d56fba03377f93999b25f999cb60feed1b640ac8e4b26b1807db33fa3fb49efddeaff9cf06d9056e61aceba3ceb07a36a5cd223cb6b33ec73810940d19d142f4663bb0c9862f9311a35a269d1cbb114a22d72963641745c8271d386556638e98524166c2347bf8c7509e48facc0cdb1d9264f88d01f201302a61b69f31dbca6226a796dc6152c086a12f5988a011f525b019431ed020b2feb54d1e237f32e0a1cdf5d4b08b18a94a48d837f04d482e661ea2a11ccd6c7cec1f2ff55a9a967b2a795320d9d397a1e94356e1036f8c276c408a7f81cc713674bf0dfb06b34a9a283f1271e537ab04cf8c75770f7c47bf9422a7a5bc48b893d7839095627fd5b9cf099d3765099518412fac8bdff680342c5ca711679b0969d4d4b2724ed117b9b946ca4467a12431563bfd9488205e74584895bd6a500320d8b4aa5fa336b354cb98b5e290f71d9565cc0c1fc26d603450c9b96a2ee2a927ff99ea69d81bbe5b7392791b128d93cddc8c37907048cbc851598a3a878dead45abce4304420b60fe183ee91c97e940f66192f59c6967c57ef6f87e7e5498d20563e28b75bb66e7be4c5bd59a6093af2292aadac1707fcbbac56604cf4b02f3a89fdfb1e082860d42d08e0fd819638564f902aa1ee292896e947d8826e100cef7bbe4430c6e478fa5426160386f9600cd7125290c92ee946b3cf86ae7bc2312e122729f2759318c8c145c5ba81b079433b2aa61342c4c1d32d5457103860292e0ffd77594ff0fe2dedafd56c1584296ef13c74d38ec52fa6043345b192d8ce4e935d06985af7379285b3787d61be4926d38fa188d7a7f11413398fd6364886208f4fd3fb5a1e52b5350e98c51e2b43c96c2ca2f993f1588c1a4f724102bd32228bfe8f220ff8fc41422e8b43c8b74c078624226ff127542ed9f628371be115645176b74b5d9880410c0a1e43547c4ba667dffe598455caa66ed7bbcfe93fa558b75ec3e1038401a91474dc354d97d49924620ae277cdc6bd245fff642ea46ff3c4647cfce621e9dd0b6876751f76696e3260964ad5fbfcaa04f22a4407413340818bfaf7d346246086de7ca675d005fcc93ff7342b2a1008dad88fcebc4b3cf065f4630e33680bc142af281d91e19bbfa16be44f97631aefc525ca800a240ab4ba319538a58cc8fa00447b65472082bb067ce46fc1a7dcfdcc15b8c65a85dce77635d5f51350ae8bcaf4fb9f71df976e3be167838573eb69094e4f053a6310dec56d729c7bf2395f5f8732a4697b705eeec0c28a8cd63b90df153ff1de05e670215331eb334a2631a5066c6114dc58583c0c5536b82ea9eadea3bb206791ca09fc9d4c04b36931e80c1167dd948f5d9d14769c2358034cd4d3aa67bc3fb9677b1eb0259e20dae2d9e92db8894c08e7d0d6fe7fec59b9e75a66a8e47297ca86e24fd6d3ecd4d0b093a357f16ddd6804d5b47997b5d8ad5738489a7f275609c07cf63bd12f9679f51f6a92eba8c7611a77f46108905d27c39d91903038dbd07c28467ce4143ca53563cd2ee6de73f9981e679143426c3479cd2f4b7173974f2bc929405116e145d30b4611f0c932c300a375953c652f8df2095dcf1325b80329d804f993628df8d580f8e61dfc047f74b5a0922908730606269a55056da1a469ad47b9947d9445da00536bc0e1f6ec8eaa66b9512ec25149f6928383fde5662218f2347bed91680f5a598662ee924cad3d86dfe66d21f92a01f8309271fc1a2dd2dddd4a724a6f8e1cb26bf737dc748e6026e68d8b235bdabcbc7cb816c4ff71c95efc292a325e456a9d9076ac73f8d575dc3c5abee31185651def19501abe0a6ae470c2b94e1657e4466b2672039c4e65d9677e7e0ccb71c6af9cbefed5c7d018ac58dbab059ea31dfda3ebca19d929dd6f4c81eaac505fdfb7a55d69a66ea1ff7709375292504848c54bdbe0e6e79226ab16cb18df8bbcd064a8284002db3fb64ce0bb566bf4b4208edcfdae2d17512adff3a37ae43b033ba903a2fd4acc2affd05d9a0a7819ca0d5851ec76d954b07b825fa17c8fd9923c40648f1fb57f1fe58dfafd78b89321b6f70f7e9b5106140740f7c303b64c136aa56d5415f6008d5b21b33795a05ebfa6213aea5c4af520eb9ff4c08eb27b1aecc61c30e078e388d6fcaf05ae7a96c8c9347ca539ba06a38f1f6b8ad9011ba4f7da13bed82f22b8bff1ae6f04111e1e285e5041f10dc6d9d93420a397464828e023141cc28575b9599bbf7f2b0215a89b79d182aa100d82cae3b4e54ca7651878db766367fa92450ead9f6fd56a471dbc24540fc4d0e4477c175e291488f45e171d21356148be5ef1b1ccff452638d763f723194668330573087be350b89f14f67c926b131b62bb68ccc3a37b44e54fee90b81610b73d778ff1c5f498cef74389c1b7419132575c4485dea4c6bdd193d1e971ff61522558d558638a7083f1dfb08999beeedd0ed0cb865dcf6c5bb61e93a690dd2b43db5452be82f52994c0af99d94710fa18e9f34a87a5224bcf6f0200629d25534aa2acfbec457a10605c4179d47f1c6fae7c72916828326198abd1776985516063e74ebaf0f83f9a3b46dba40142720199f0f1d52e77f0bc7169f96efd5c11f5407c7f574b773351fda2ec9acebd57c24fa05f6539eb20a8d275991ee76347aab287d3c6807b6ce5e2a700f203a8e64b10c824fe975b7034d1c812a9164454c987c301b97d73c09609f936ce716301a0f2188818e9e0f7fa3467c4a8c01b51268e5e01b050b3fd0818af606eb5208b51efe8dad0275ff8d8385137d608202c18162b2957ce1dd8560ca4d3311060e5700404946295bd3a35b49e5f3af53ce487beebf3aa1b758904ec77c705fef4abea5b556cf13359b3c34916d854f7f04c3189cd7d8e04177bca3c55bf1acdccf88beac501ff24239f4ccb4a06efff9e5dbfae19c28f2a1a20d46e4bcb8abca6138c6eb9012d6a00895971d45ef716fa8229f9244ba484d1693d6b49f082bd23ed0f96102c67222ff0d258110311a6b6f63b9877ee764802471cf19026bc70de1f7043409769ab1d70d6f1cb30779185a78820d9d2167fa4b2099068d26b919f28c41f3623a8f1b1ca29c19ef6a6cd12df89c2e4040135c7b12d8248467ca5f78fd97d4bf9581eeffbb12251b7a92eb062527ebb116eee31cec247ae9e64a96c664740166a7be4bad1b8da6d5a5fa248c258e23e002ced98dec1c2156d4e544845303d5a0b60197aa51226489016155b9f6abe835aab6d164030e16b196963e313c1102c2c1c99d27571f4f8289ed698cbe67a0faa25787358b2f19fffc954e3f7071292588de67c095e7a37adb7727d9f85ef6bb193686045167894feeea9d7cea305b13b5e0cc9193857c3f65c1468367c2e35f56f2ab3e9b26ab47a3c408812220cbf1a1fd219b47500a88837665b0ad3c186022344475c633721535eedf0ed5e86628b9c6fc82b6e675961f059b0573650a9c7f606cb40fbc7ae6e82c4fd759b37dfa8ecfad121d6864b0eacf446b6fc6a18ffcb10b66b18d33a31c9ef36cd4e59d1a1b32d0361e140b2df228ec4f2b8d8b4facc8b86ae4512a2913df5ec2be4ff6a644e2c604486385c73decc8ea113177e74739e1ad3237e23e2ced206bf0c7f9272c9f22a29af4dab04333508e261d260b766cb7ef25d565f6c86790e8e2d5f141ae21920858a096650de40258fc85a411d451ec066960fea6eef18d348371ce2ba9c86dd2fe3732109caa5bf264f2c8d70686bf567287560dd428ac4f563f49fb26add9466756e4e2b002ba5283983f22ae4cd2ddcf6db0daaa0f9a618153bb08c3aaa5da00fa1f68652d077ad0a21f66504c20ce4fc4bb94029695e75f646eeaabcd45aa89ca77398ab3da9393fd8b99161d5fbb01f99b1f2c274a21faf3f818c197af77feca884ff81d033e88a1c3a94030d62fa572639b8d4ac89a4046c684840533bde530ab2096ac97ce33c07a1c01b799d3c0c72fe20da05ca2c75bd02512878718fe08a98870a4de235dc87cf9a4875307b2e1908b3e153ec2a72405161bd20f06b06d66292cbf91921e84d691f1116f09f2237ca680f7dbeba8844f6ac533d40879afa703d4beaa9198b5096dcc24f75e0675c19bfe0984f6ff45e37b18af1723673964932aed80f19551e3bf5593d2b20bdb8c01d55e18860874ab320f4c10e06cbf821b41e382e77f36e3cf9145fb2bcff21fba0220038293d5147af6d798bae1c3f2428074140aad626ab250ee0b50990fb8507acdbae1fbb638f3314a14d4305eed467627fd3c0b899d57c79c6adb8469fa2922b25acea7fc88d9f580b17008db319cf5eca59f3e1d454f307b5b2405e21def4d4d9dab60ff9dcacdb1fa1120c18c42b5b77a7584539efd93cd89424202635599e0a66114a6ac8711e66561e314442ff3d53bd51089315d52d8782f160e7e177798b810ea3e6e53daa409130d18c36b3fe82930c2519a9da6e8fde3093187af0cdf0e7ef9966f42362634452b219558b7c32b9b1ea03512cd638cab4d59d049428abf6318b07eb33f1ba3b0c32ac91b93be67539e4926f4fc0675217d4fd583829670980303b59b14200819169ca124139afe89cc8eb7a6c3bb2abd85d8abdbb90f1b696dcfb09b305ff88e1dd8eb10ff8837b339686ae5aa2e0072a9de6abddf691b87dd415b56f395d8852b3c4180979edc64aa10d802a3a018956adc7e330605ef8b7e139c22515ed5205dadb45773301cab0d21a749f7df9eb1efe0042229bb8cc437ed15981fb8a14b363898397b3560390cd4fc58cecb26261fc3e32fa5c78f173871234afd299c960b6afc940e3a4f07e70d4e0b8a7c53b59188a3773e7e3608200576b8a0c423fae4afc3a2b572a8ada30fc7110a27b2664c5118f4ba8abf32315332225af51b979ac244f759db34a3a89e4ce543e80bd053608c40f489956db9cffcc00a4bd0f84aa4bdf21a420a6382596fb986ab85e08b76f3a1da466b344cdb7ff46717d1d62ae6c52b24a1be2697dc5282b0c1a0915767d4bd3f57a502e454ce62eef7a79314b424a80116c7d6ad540f26373c223fce6b49f29775bdb702f566b58f633c140ce6c52b24a1be2697dc5282b0c1a0915767d4bd3f57a502e454ce62eef7a79314d2dd40f0471f1de8a1c23dde8036949abbdf43ee01d346005d5e097543bcf701d2dd40f0471f1de8a1c23dde8036949abbdf43ee01d346005d5e097543bcf701d2dd40f0471f1de8a1c23dde8036949abbdf43ee01d346005d5e097543bcf7012620d9ad404ab560b3c450aed051c918d333955ac824b255812f65cb9e64a9442620d9ad404ab560b3c450aed051c918d333955ac824b255812f65cb9e64a9442620d9ad404ab560b3c450aed051c918d333955ac824b255812f65cb9e64a944871c2711be52fbd7a7d307a30de9d62267a7220dd44522cb99d231aa40d97c98871c2711be52fbd7a7d307a30de9d62267a7220dd44522cb99d231aa40d97c98871c2711be52fbd7a7d307a30de9d62267a7220dd44522cb99d231aa40d97c98d43320ff02d3898b422a6e2731a8d1498793e977bbac5ed780a3d5d925688d3ad43320ff02d3898b422a6e2731a8d1498793e977bbac5ed780a3d5d925688d3ad43320ff02d3898b422a6e2731a8d1498793e977bbac5ed780a3d5d925688d3ab4ec1b331003bfc60d5adf3bfa55730dbf656194e50d1cd68facc47f95b6742eb4ec1b331003bfc60d5adf3bfa55730dbf656194e50d1cd68facc47f95b6742eb4ec1b331003bfc60d5adf3bfa55730dbf656194e50d1cd68facc47f95b6742e527260fafb86f408bd13f5c67185de34f62cadf69f838e1deb5c7efa2f8d8116527260fafb86f408bd13f5c67185de34f62cadf69f838e1deb5c7efa2f8d8116527260fafb86f408bd13f5c67185de34f62cadf69f838e1deb5c7efa2f8d811675ebe32619bfb91957ddff6e00ec176359f1dbd69ad2a70d6e5ffe3fd840891f7ff92258f3dc2c17d6fd297735be338be123601fb91d7c19cff216b19741faa89be419ec829d1aa7a9803185a425a49342828ce5d953808e89fd719f5123b17e376d34720738728f35aa0329528354b6a203cf8d45e3332ee8e98f4000671539293994370fbd3e9d0fb54cafd9ce7cfda8baad4978979101f10ce69e68fad154376d34720738728f35aa0329528354b6a203cf8d45e3332ee8e98f4000671539d36dcfb6646ad00d2190cfb8ac54fa30b0d4b58ad71fa152efa1d7b6976eead2477aafdb841ad3688de587f970bae20700589530abd589b2cc140838ee7dc325d36dcfb6646ad00d2190cfb8ac54fa30b0d4b58ad71fa152efa1d7b6976eead284d5a9c43c5eb7d1df9a3c694f9071c1c150cca9d041a8ec3ac22e0c85822744fda392f946fe4e39ac3d7b4499c5c487725d97fefc52ecb8e204483747e6934384d5a9c43c5eb7d1df9a3c694f9071c1c150cca9d041a8ec3ac22e0c85822744eb3fd0f476caee443d6591de019eecaf2b2eb21c5eb21d1d4d6497d965afc8dd48eb170e49bd383a144ad0d1421e8ce56324cb6174d688f2a5f0caf84e7561eceb3fd0f476caee443d6591de019eecaf2b2eb21c5eb21d1d4d6497d965afc8dd4cf51a17c98f4e8653546c6a6513885d86127374a9a47429e076df02e04c68864cf51a17c98f4e8653546c6a6513885d86127374a9a47429e076df02e04c68864cf51a17c98f4e8653546c6a6513885d86127374a9a47429e076df02e04c6886f826c6be21951d44b131792683c5e98356cbfc01dd4f589ede0ae4e5e5a14d3af826c6be21951d44b131792683c5e98356cbfc01dd4f589ede0ae4e5e5a14d3af826c6be21951d44b131792683c5e98356cbfc01dd4f589ede0ae4e5e5a14d3a42ae15dc762dd85effc93c3e436a906ee6b44f4b1ee95198b5f2503da4f15497dd3d79642409ae1f1d7b38de4c7df6ecba506086281d3b15e3f5cb7229eca6bc42ae15dc762dd85effc93c3e436a906ee6b44f4b1ee95198b5f2503da4f15497207418b07875b964e1f03afc432aac8830f13611186cf36564902eeac3a81bbe207418b07875b964e1f03afc432aac8830f13611186cf36564902eeac3a81bbe207418b07875b964e1f03afc432aac8830f13611186cf36564902eeac3a81bbec5ecb36eb479f24e8366a7fb4f617499f153e3adb2856e38d78ece02b87cbffdc5ecb36eb479f24e8366a7fb4f617499f153e3adb2856e38d78ece02b87cbffdc5ecb36eb479f24e8366a7fb4f617499f153e3adb2856e38d78ece02b87cbffd3418a7b482e147aa0793f061bb574a238a67b53a120b3b6e7d31b4f5a7fcc854bb24009573f88b990c922fdc65adddec1312e30373dc635c6099912d4f836a41c15a3a17f6b65e9c51c58ed3a79d12bc517f867321ed118e5dc7b5c3a1ed7d4b05d5e533f5e590d9ee2c7692d26dc87ccbf381f4831cca3362baf596691a55bbe34151ed8e0c5f0ea996f1128834b15f41f5e2081a41dca2ba7f2f307c331f49a8a24bcd720323185063761b53731cd6dcc5583fc0fd7ffd972137f345b1d738845bca9a59de1959c1501cbc1f2c90fa9ab73a38653175fe94073c012fa555b10c4e8456a424135a4dda4829050de77b05c7fb56ef716841bdfe1371af2eb6958358092b45c8631df6466a2e4dc23278263b2dd2ba5765e99caba47c304dd3b5357bf940a54f04d5f7b335a0a6697a1e9dda14eb2f1dbc590beb0fe98ed65f023ee9d9ab704a1f7e0ce35bb832fe7189528cb5873d1f30285d3520bc48f66eb831b6aa0a2168c412559b6c9667846d84de86554af573a1a9dfa5dc753de3754a7ac917c8e4309742c3571b8c3c8d97361ab6b838f7cd5bda498a410d9d6d9fc7449711060a7ec45e0a4bfbd5d497d069676cbf31f77f3385d3e166795e79deaadefa4275a55f7778d400fcbf0628822dcae95d8239da065ba8e40049daaa32e46538070d2455c077280a8b537f23e3e3a7362074ba2630567d7f951f11fa113d81a2f5fdaf0a506502fd4cac0ccc0c5e7ccc02330150b75d3d7fd4bde0e3c95e8f1c4f13d767b8a4d55fe9a377c3ff20cfd7e77b9b9da12e1df9772c1f685f27fbb4ae9e31ddd26e43b7c051041bb3d9d6bebd418a858da67268920bc672afb9f647152e43fe5e381c71ccd9da9bbd843a854761f8fe60bc6c17b7c0e24e0106f5b4867e0b9c0357e14f488bb45585eccdf47f62b7ff914a0fae73f48cc307c8a5a8f44410fb1085689eaad5a24914e940b0488e0ff2cc3191b972e625522a9eaa9e77f6297e6007745040e9b6a2c2be3880e25206594582e0cd09ef482ee27a395794cdc34731bce3ea1ff032b1c8bcbc275779325999641c052b771a28d8f94367f6ef8398e92de819ccd8e4938c819c2b24aa08f06cdcc0266bb0ec37eb08cd0dcfaeb8dc99c4ea418b80bf6c13d4aea912fc699aa3b30ddaf938bdb62e04b67ede3fedf08cc4fd20c2cccdea46f2791f95e0ab991d8cf6c7c66ec81e23c3b6cbf713954d89eb8389b63343d6b8fd261dc6cb652a0aaf93be5d801ed0b24e46c391e25d3f2fa622d5781a27553176648270768435295a235a760bf725752f3d33f36e79c3406c72aeac084df89c84d522fc9953ec3fbb31e8c90f53f87b21c82275d275dc73870a4c8bc4962c1462cb477c6a6323788c591003ab421973d4fe19e3503f22da78a9920c4831a4fa121410ff76430dc10fdd81144ddbdddb014398e2153afe488f1d629b4192a2da8a743b10ed55f3e26ed662bd9e2718d789c9d406692ba3573699a2e1f58713cc2e5a65792df472217aaaf8402dd0c29356b41254e201645eeca3d0c9ca84ba7726c8c21b3796c04cbb9e20d8a2b51ee894cc35e6cc84c00eb7d5e2bdf9ceb8977eb94c2bcc1630ea93c6c4b82381406dadf1efcd32a4b669ed5eed317926a11646c05922fc49b815568ef2c3858d5bec273e4d25cc162e76fd6c5cc50ba26dfc4e71aedbc34f08ac850efbf934ab3c7ab179e4cb253305c42e22d5631bed2d57e795a70d0356d0c04e3ac395ab73051c5298b9ee99d099269d838a12b6fa3b0af725565418ec1fedd8a522acccc0df88de0107d3183911047ec758a69bec7e24edba03838c00331c5004208d850bd577475b3f5e5eaab13ca96387dd517a8864c25fcbbbc0dffd0f8580f07b30ec8e1dffd59f6e422b9ad6163924bc1fb70ae8b697a11282d5b32b02708b40cb9a7d82eef95478516949ab993d14634219a6f62a4470f46ccbdf434d9a2c5526fb0263e9e2305d3cd3097ff4fa587d2c2becfeb700d3d340eef0f3b701ff78b0f0ec898c045797ff45987136a2a5712f8f8310710e0944e4b4547bab2dc99933edd1bc9a67f41bd0b0ac605c5431ad8c658c0c8e3c5d766eac8fbb81d51132f9fb818bfcb98e4e0c90037146f2b5d3cbb9e43cb419f36385cfd7a4567fd509ef00ec53cbd92e941be30507b7dd5976f4223f9d01998f1e73262e900e0ed002b0f53dc4b7e7410c3054ab07bf15658aa4d8caf4a883ef4441e9b2a0a3c776bdc99a970a993beeaff7b6976f9454f530123513fbbd03cf65b4970b6163f619cbb84309dba5634ef4c9f17dcb8b84e6c11722bf48330e5bfa2f75422ace218d8352ee2bee2816b2c0711911b716c53ce311f56190f74e592edaf42dc276f7aa250fa1649c2f5cecc4fd18a445fca6a5e3e5402102cdde911e381ec55e2f4a3f0a2425547a587a39d13dbb6b26bd3ed180a9410897d7f57979dc25b831037904ec00a1f64e4b209efe2fc3f412c7ed8bda8af3a2b540e8ac0a0b397bedcf522e805e44928d8d54960706a038f7ed1f06a1d89bacb87e8e0203cb0f8e3e9bbd0e746a9f188f095e4ba57eda8cbbc4c7c2719c0854d5ebe4768cc9d351fedeba85052e3778ce7d8912e3effc56c8de1e1923144bcc79778c31940d286f071644585756ce63c458762434228595cfb8c6bbdf65f78a8d2a48155722ade60a75782a245743406c070295d103086b772634a1767922659693ae08f5b593802d4566ee075e82e138f9f39df1235a8bc891d67756768348799f92e066ba2fbba821e8b57af516b447e22a018e957a621189d47cbcaebb7eda5342eb402af23065d718c19ed13e3119c3a5e65ee7b898b53ae86454b0f1c1f523d41185a9e87c0e4d51b08599091487f6088de03953888c88f7240eaea3734ca8ae67b2c58c5d9570186e74e82175d295960e95963a9d55fe9170540478a0734b65a3d8e27ae86b8234b0bbabe00e2b4c6f5baf8bc10642274de1926f2c8c7d9e07e8111b1efa22cb957f16155f55a031f6d8042a6c437c9a5bfeaa876fdb043f2cea2902aaac7c0a9109ffe2646dcefd813bfdbadb41f15050e95e6a03c7ac1a6f79cc9035a59ece21c938df6e69891220198dab8d01b275d81abe9928e1f82678d9486295940807a0ca45aa700b180df3c9a0db1c3a777801e4b3d0810bdacccf16d44d833d857a1867a1f2dfdd3eaa67e74dcb4ce5ee4ccb71e0433498be450cb16710183c69295b99317a1a7b3dd4e1ff94ae7b8968dabcec64a7d7a050ceeba9aefd1cc07c8f1963140af90d6c022e3659e131d3373f91f473f036d6a4ac1a99eda6021c5ed1055d4979cb831ebfe5599f009b52ac70469159c274608761801dda3d9fea63a974eae4b1ded5b147de7160e1ce069f4c28253d563ff42b021c675a62d14c543a50eab99a723dba68c54bba6a822c696653b4da8f7b07d893be8d5434826c7626454c6256229092c2a2a9697c103a18a4902d124c94fab2290bda91db78fb459e1f039283e199b29d84844d5f13a7cb2c959d5fd4a307d3b81037de031c7e5395311e1e2329e23323c78ee06d1d3f5f1a0a678887cbdc020479daa622e198f4b0a166c190c7442cc6886004c8d78b2093c95ad37d8053c7758eed6ce99839ad8753868c3aa75f3f8b87d1ff4844d467d1556b033bf8eb32ab1f4c89fad104d3371df590376e95b6418e0d8cab767bd322e120df4ff4a67ee4f074bdd9b98b0d12f072648ef649eb3bca4eb435ff4b5588420ff830f59075570cc32442929d9f963bd92db8fe2981f13e0db6adcec68ab20f155acbd5ac715956a432c9deabdae9df03eaa81d6c19e844bb7bbfebfd9fb9919cb533b2e6bfe1fdfb04aad929a8eecb9de93f75daf7de23157ee6dfd2d43d75d835511534f79c0fc755e2c4bfd0d85cd4b2c5a39dbd9b5b4b9334461021d273ab0f6eee36f4e7ffeb9e9fb486deabb31a7dfcabba9c7d12b8c105bdbb6575d850ebeb84898ef4eaa7befb3ef99416a0914a756116acb14973b72c7f18d43c9f1bf9f8cecec8aa5f1a9bff932a7d3a1250a1072dca880524ed9babff0cf29cf1be73c351ee340aba3d2aff1d96dbb91f549462836fc394593ab0008e1ab10735b38988d879a02cdd505a743047b5d836fba64ab906d0a6e604e62d8da0c52ca44cd8fb8d51f70342c8eab8e878a527c331b486dbefe3722a87965d9c53aac27c25ae6a091093a7bdd7769315fa3c7e2794d7b9993d42dbfcefe678751bf92d8f2dff28dc5d28430687bfa803659532768eb1b16b6d13f7ab8f9c49a411b037bc9293882ff694d78b197bbd5dbd9b44bf4fc616e2ae569ce466dfb8acead4756b3790e903fa7b432727ea9cb34d93d679443003563a14a214878f1d10cd8aea701903401a823c863e13abf11c64d8ad146b5a2ce40c69a6dc1b75187ed9944ee82a03c6a00d65688016929fca327ddfaa28b28579ac6d2190ce6040b53dd5ec42579d7f8422ea9a08868185fdf743b36e6be2020f41fb60eefb4f476ebae21f579caa4a79bfb1f219935d2d6ae9f4256a9033e908670d098ad832676a9b604a712d98101842eabf9a5daec1fc97191bb0c6892c44aa02dab9bfb7ece8e11ec1b584842337fdf7069dd42e935bda4fdeeee228622243c22cf121d56bc9dd822ea14faf89c033180a94d72293a04f339a091bb1e17360319a409799da57b2330d8b4a713b0b313c6ddb0b9d24635060fd66ddb320342cb81166d68dc167276c2d744dee326d0b5dc5524663b7a0d98f21182986c44e9cd1c68730cd15e1faac5229a97153dbce8236e117b1c845dc5a450e557236324b21a5d402cfdc7bdfae20f6b1a864791f0c4992a8ffae6070d1f98c918ef3667b77d19996aea53d082692bb9ce1174e11716b86831f4a8b242b954bafc067f30ea100886f9c9d7923923947173d0f595f47ae9a62b67a3029536d0ee9b28acaa9992e5302ee9df3b40739e75b13d26f04e30f539ebcb99247b48d904679bee4c410972c580bdfe79fd24c2ac664cbb01db2b9dbbd2b2c15928fb8c7a6c6017541dcc27314c337ee0a5a9332a59b2840fca60ce97dfd2ee1149bf6c99b35b18dda1389a97998617f1cd60ab327072e0f49504339c29d88bede7722f2ec3b315e9f734d9bbf0a3eb8860f99020ca4d23d1a0dd995241c7a7c1f14f3a4d3a571f206cc138a82adc1f04b348e5a8f006a443b9a307a369d873abe82f1acd2d48a9fcd740a46754e260b0ea6be59e2215f35af5eef0597c1d6ebd953aa614a91fa7eb644095069618fe6b158ffc332c40b5739dac970ed870e705157edbd62a1f053491769fb2c74dc36b10837112b2a05f55d1a64efb764842265e9c87a3f717b73626ee69ae2f06735b59273216b774505a6bee46172ad3fc99a68d795aaffc5877d648ecad82819d5b70cd81ba33c45d805d28734d2b2790a92651d9045b275ac535794919a7200a93ff375ed09ee1125b1c976b487c49e8c43f58690977878211ed45c9915426c095e4e09f75347eab43724be0b8eaaf524d44b47db80964e0803fe26806fbef29914dcc633849c1adbbac126ee86f0546f1f136573bfaa4cea80485cd050e363b17569f92852706a9ef3cbaf7212d6395fa739eb7088d5bf11181b103806c4e6144c17d7374747d90992342404e3659365fe3cbbabb4e14e46c0cc0ab85b6c02109d53581eb01992f5d740357ff536b5d6ecbc4edc524df98a5022860faf5f0521572d6aea352d3434c5173863b938dba3cb17c46eb6a150291d83c97c2dcf2b7ec3cf3dbbfb5ebc7d1a7c72702ffb4e87e48d772b34176a52e2133e05d4e3fa761088c42d9827052d361856018d5d2f7509296bd1d64854392f8ab307caaae7bd19ce44f28945356caf04646153b8621a0df7b331dd5b8322db7181a2f6de59d284318cdba11775349aad66c62cef31e1a7c2f07f795d1c9e798aae6f7e68f199bdc7333baeaa80a9067504cf97853550b45bd711ffa2d7cbb30a20dea4ac8ccf12378391ee08f5eac26f211fa66b957102242ef5008d4b299893f7737c3a58673c616cd866c22c62287a67d8186a7e3cbb28dc0ce577ed174f310953bd34b29dd8814541a4043dd43f79a02d960fb767079970a4c492be56d8b7f3252e5ba1527ecae476fa01bdd04c031650466cde1d8992ed44e1318c3ed213c6252e5ba1527ecae476fa01bdd04c031650466cde1d8992ed44e1318c3ed213c6252e5ba1527ecae476fa01bdd04c031650466cde1d8992ed44e1318c3ed213c6f1c1441567180ab8d30251e60bc36b1c93f8720e38ead51d779835cc98f61f3b163731690bafb269c21e13ac24a93d344779f055ab5ebc74dd2b481741ef8938f1c1441567180ab8d30251e60bc36b1c93f8720e38ead51d779835cc98f61f3b051942d68baf5b01350fc01022125d0c2e10929a0b8122d467caa8dc99f6f8ea051942d68baf5b01350fc01022125d0c2e10929a0b8122d467caa8dc99f6f8ea051942d68baf5b01350fc01022125d0c2e10929a0b8122d467caa8dc99f6f8ea0875a54f1e480e182840827fdb524882b6c5b9d2b726e84b044b2b7371e1426e0875a54f1e480e182840827fdb524882b6c5b9d2b726e84b044b2b7371e1426e0875a54f1e480e182840827fdb524882b6c5b9d2b726e84b044b2b7371e1426e6209fc7ecd4bab97ed327dc960276d7939b5502b4e6b082c2bbe4f5230fe60d46209fc7ecd4bab97ed327dc960276d7939b5502b4e6b082c2bbe4f5230fe60d46209fc7ecd4bab97ed327dc960276d7939b5502b4e6b082c2bbe4f5230fe60d45630e9ce07035569826e7faabcbff6f28169a6700b670bed073311842e7240175630e9ce07035569826e7faabcbff6f28169a6700b670bed073311842e7240175630e9ce07035569826e7faabcbff6f28169a6700b670bed073311842e724017f74c523439d36cd52c1fe2b9a2eaaabdff057827c3e3cf0f037985d1057f1a27f74c523439d36cd52c1fe2b9a2eaaabdff057827c3e3cf0f037985d1057f1a27f74c523439d36cd52c1fe2b9a2eaaabdff057827c3e3cf0f037985d1057f1a27cb6a0cdb1236503fc1c637444424270e3b104f9a3626fadbadfe159f496422c0cb6a0cdb1236503fc1c637444424270e3b104f9a3626fadbadfe159f496422c0cb6a0cdb1236503fc1c637444424270e3b104f9a3626fadbadfe159f496422c08a60332196cffb9044cae12932431f3d7747bb564876644c041b45265615873c1c9ae8ab844e720e0e4aefce4c893e20d0833d987eeef28bc6a140e4c397b98e8a60332196cffb9044cae12932431f3d7747bb564876644c041b45265615873c3da233bdc91369313380638d34cc7d023aa0ecb29c9ba009f4c29e8b60110c053da233bdc91369313380638d34cc7d023aa0ecb29c9ba009f4c29e8b60110c053da233bdc91369313380638d34cc7d023aa0ecb29c9ba009f4c29e8b60110c05526cc371e9af5d3e37b0d81b56ccf3309aa15678d2da771482718cfae23c79a1526cc371e9af5d3e37b0d81b56ccf3309aa15678d2da771482718cfae23c79a1526cc371e9af5d3e37b0d81b56ccf3309aa15678d2da771482718cfae23c79a17c5b21eddc3979a4686e955732b673ab1ac37041c76818d3b840359ce52232b05ab6fe9f73ca203a6710e025cd26c25f06c77c62e52b1e5e97b7d9d125baf3e97c5b21eddc3979a4686e955732b673ab1ac37041c76818d3b840359ce52232b0b4850638b907e4ec15781548b0f676114576d4192ca2105fb822d849123d1c3bb4850638b907e4ec15781548b0f676114576d4192ca2105fb822d849123d1c3bb4850638b907e4ec15781548b0f676114576d4192ca2105fb822d849123d1c3b3175ac16c957d28b2c2d6b939fac19c590ffd79689c9a731139f2e5780fc80833175ac16c957d28b2c2d6b939fac19c590ffd79689c9a731139f2e5780fc80833175ac16c957d28b2c2d6b939fac19c590ffd79689c9a731139f2e5780fc8083a7057149d50631207c45c06daef3a7fa658f401c78c8bd0ede517ffa4ce4ea4c103d7211c5f73399683b3aa6d8c38a9a9a246edcf805ead433f4e5dcc396a47a74b0412764d637881cf78f3d9cbb8e4d8bc9ca835a03331d53496baac7403ddc5adebcaf2e80a31f4d0cc59e78a1147bed843a5f4082cdc040dc1b3ebf0d95cbe37bc194ef5666a36cf865e27ea178ed94bd4a7808f8dc3c50935d53752ce9a2f5c43b62abf42da90f335c03549e8a69dca3de732af9a50ea3142a0d6047200b2f228bfcaf42f18f38f34c65d7b204fd061b5ca6048f47008214a5e69255ae60d4774469069bd2e5bd18e36bfd21ba9478b3f42c2d64153c1568da5a1133612ec897428ab038eeb3a29a974162c13288c9faf175f519679bccfb78a3540b78eb4d21743c7a319400d8c4535c173b71df08848e3c2014c6db202a1734ebdbc8b4198e0c4c1e29a36fdcc43442ccc661ef4faddfa0bff68bffcf4ca855088bc0c80cec8c9765e3e05f0f1f3ad60c9f6874675e82d2ddb239dd8c5dbded2f8ae3e60cec8c9765e3e05f0f1f3ad60c9f6874675e82d2ddb239dd8c5dbded2f8ae3e60cec8c9765e3e05f0f1f3ad60c9f6874675e82d2ddb239dd8c5dbded2f8ae3e6ab1f6469ecca7420754efec873bad6090386ff722980fd9b028d30d067b8ca3fab1f6469ecca7420754efec873bad6090386ff722980fd9b028d30d067b8ca3fab1f6469ecca7420754efec873bad6090386ff722980fd9b028d30d067b8ca3f5ade742365f520e981b5eb707817d68bd050128c12ff617ee5e1b2d6148aff4560f11f6f1c53b1e906df7819fd26fee3ee1e169741435ef6dddf9ad6dee31e48b7df7fde431410701a137ad4b28880bd8877dedb72fdfa7c95e7912dabd0c28f60f11f6f1c53b1e906df7819fd26fee3ee1e169741435ef6dddf9ad6dee31e484e4c19e458af040cd567dbe8e57c97f363fdc29427043489cdfedd964ff7fc15999f47480023e2bd45c4efeb6b02522d132cc0948dbfecb2c41f55f54fee7abb999f47480023e2bd45c4efeb6b02522d132cc0948dbfecb2c41f55f54fee7abb999f47480023e2bd45c4efeb6b02522d132cc0948dbfecb2c41f55f54fee7abb98db039a17c89e05fa4461409f480779a83c51f7fd388787cee521b8e43b62b698db039a17c89e05fa4461409f480779a83c51f7fd388787cee521b8e43b62b698db039a17c89e05fa4461409f480779a83c51f7fd388787cee521b8e43b62b6e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8556181050035c29b6f364789da769bf6728847b3a6d5135c52e12841e5e5f4803f6181050035c29b6f364789da769bf6728847b3a6d5135c52e12841e5e5f4803f6181050035c29b6f364789da769bf6728847b3a6d5135c52e12841e5e5f4803f3752d4b04886a819bba6d48396fa6c595be741fb173d40a41788f5d0b1494e763752d4b04886a819bba6d48396fa6c595be741fb173d40a41788f5d0b1494e763752d4b04886a819bba6d48396fa6c595be741fb173d40a41788f5d0b1494e76aba46736f33c8f7c1d10ccefb66788b2b00144ec853ed6a656f9629ba8cef0d8e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855512bc438f880139c2de02f09814cf307acecb93c4b0ea2bd134e5b1bc466df8eeb0377ac7e7eb147bd02836696afa36dfef019bee99d32ca18ffe4555709830ceb0377ac7e7eb147bd02836696afa36dfef019bee99d32ca18ffe4555709830ceb0377ac7e7eb147bd02836696afa36dfef019bee99d32ca18ffe4555709830c81a5a15b816d8b84d59cce846f2a315be4c24f9d58faca2669ef113d351b388d81a5a15b816d8b84d59cce846f2a315be4c24f9d58faca2669ef113d351b388d81a5a15b816d8b84d59cce846f2a315be4c24f9d58faca2669ef113d351b388de3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8558962a375442bddd8d49865f3bf601c2c7a741fe947d8ec667358bb640cd0d19bcb9a3ce8f18e7d0a0cadb73cc9264772462de953499534736998d3c54f8c7c3c330360fd9617aacec5523960f8afbfc7bb70d5aab90dc44d54a302b5121d3a70330360fd9617aacec5523960f8afbfc7bb70d5aab90dc44d54a302b5121d3a70330360fd9617aacec5523960f8afbfc7bb70d5aab90dc44d54a302b5121d3a707f7c00f871970b3f4209cf17b6dd381c968f46af04d8c86e4af6dd447c27efd27f7c00f871970b3f4209cf17b6dd381c968f46af04d8c86e4af6dd447c27efd27f7c00f871970b3f4209cf17b6dd381c968f46af04d8c86e4af6dd447c27efd2c8feaa2c67ca773bee74957e12879d69669e090c6624b754ae877c4d47c6abe973b178b7be903f0148f019d94e4ce3fd4821fb99469a228b83fc3f6d76195c0bc8feaa2c67ca773bee74957e12879d69669e090c6624b754ae877c4d47c6abe9068b20ce3a5ffc5b4d12b7b198b4ebf5db5065f4d596d8a42061aa149ab89d454132bc249cba686b6eb50351d0d4c36e8af02f2278068b275dd9039ad2210cdc068b20ce3a5ffc5b4d12b7b198b4ebf5db5065f4d596d8a42061aa149ab89d45626b968de94f686ee2cbff8f6a06b642be8fa3be06a5cf207ac3dfafa85ef134bafae181c4d892eed6cdd26b9bd9eb01b2fb9b4250f7b5aef2dd5f6abf5101ce626b968de94f686ee2cbff8f6a06b642be8fa3be06a5cf207ac3dfafa85ef1340a2c814c6c488663f274b830c14cdcee6d381fd47198af2f325b04a336f8fd22fd9982a49dd3951daf7904bb249c7a4ee510fb6cb7cce50af3dd34f3ddb082396e188695b1e752ed0409551aea0f94da7a6540408fe50270e8087f1605b18b19f9e4f663fa9ee37a755446e5a0151b14e232ac304a6198b2b113c5b6db16e11feca0cca255bb6123b572e00faa07a23fa71b8036bf3860ddbe5d492454234500f9e4f663fa9ee37a755446e5a0151b14e232ac304a6198b2b113c5b6db16e11f9d4cf95c2fabecb83e9927009f6a609a49074fae90cb1264d15901abf935666c9d4cf95c2fabecb83e9927009f6a609a49074fae90cb1264d15901abf935666c2ec5c660b8c4c12610a94fe399b18ebb75504f93b4c026ec5c31dc7700801c95d1e10bfac49ff3c499eeb7929bf35277fddec7cc00d5623c44f5d357412884bfd1e10bfac49ff3c499eeb7929bf35277fddec7cc00d5623c44f5d357412884bf9336e78d2cc844d3f2da86e1d9d9f841af173a6eeb46d2d54af67ffac8d4a8a6ee900e1dff9fb88f82c35f8d3356e1d92859703a22d50fe3d4cb9d9528744da0cee32ee74bbc9a9c38dfc8d72e4d2602ce2a31f4a58d1eb217d31b21fb1c1e6eee900e1dff9fb88f82c35f8d3356e1d92859703a22d50fe3d4cb9d9528744da0769178b23d40cab7ac192361cfa30b7562fa14d570337d2fff3aa3f83edfca3924da63868a91c4804476160a22ec7ca0f732e7c13d36375f44902bdc33521357a4efe8af8f3715835cfbcc8244e088189e52757fdc1a419e622adf8f61897ba9f369f7f0aa6f826762147c39da08403432c5db96febfd5569f70766f5d73d372463d8a91b2e14b4d2b4f78897d945711aa9ddab10d2ea5473c956edc3e7a515464fb80619afd92fb9920c95738ea9776f05b889e533dc215ed361a4444dd4ee6cdacb72705c94f44432721c422680aafe34984d172ffe84cf1c92fca1ff9490f34a005a57888ffa4ea267c731daaa5aa00535a79742ee6c1c6195d703ad872cccdacb72705c94f44432721c422680aafe34984d172ffe84cf1c92fca1ff9490f52cbadbd5ac9dce5dd2b90b1320e1540d4aac12a81803f82b3b8fa150ab5f7e652cbadbd5ac9dce5dd2b90b1320e1540d4aac12a81803f82b3b8fa150ab5f7e652cbadbd5ac9dce5dd2b90b1320e1540d4aac12a81803f82b3b8fa150ab5f7e6eab8cd85fb3bcfda12967b81c7d2651a9e65ce69055db56147c23d9f1dca60b1eab8cd85fb3bcfda12967b81c7d2651a9e65ce69055db56147c23d9f1dca60b1eab8cd85fb3bcfda12967b81c7d2651a9e65ce69055db56147c23d9f1dca60b1a0359d84fc60d1bf38a6f88a195a675b0a68a58f3c3b4bf04e5b11c11be8a043a0359d84fc60d1bf38a6f88a195a675b0a68a58f3c3b4bf04e5b11c11be8a043a0359d84fc60d1bf38a6f88a195a675b0a68a58f3c3b4bf04e5b11c11be8a0436a7a7f829c2e56e00542eaf43f4e713d43bdc602039bc6d367dd28fbc765ccd06a7a7f829c2e56e00542eaf43f4e713d43bdc602039bc6d367dd28fbc765ccd06a7a7f829c2e56e00542eaf43f4e713d43bdc602039bc6d367dd28fbc765ccd0ab35c72858f9df2fc6cf1250b07ee11fdcf7c1c65d9e76abe48c10eb8bb68fec8ddbfbc6abf599dbdd300f546ab24352863dde3ee005af3d82702dcaa13fc0c6ab35c72858f9df2fc6cf1250b07ee11fdcf7c1c65d9e76abe48c10eb8bb68fecf68a3ebceae3acd68f0d901efced8150962f700aa77e0e401b337e6ae5a432eef68a3ebceae3acd68f0d901efced8150962f700aa77e0e401b337e6ae5a432eef68a3ebceae3acd68f0d901efced8150962f700aa77e0e401b337e6ae5a432eea130cf28a832529c9eb98d008625295d7ad2c5e4f8eb6896b920f97f6bd617abc4e19fb2f8d6a4aee23fed28cf40d712ed158042d70c92f3331089245d8a9e983bf4d2bf30b11582b8313d8e78ce533ce74bcc3858fcf52a9f50ea5c7118d8444aa2058b225f1816ac54a6070d8ba279b97ed53af87868561b038577bb7ffd6ac244eb7294c4732cadf724b0233ab130649041a92e0a18dfa18244e9ad011b12758e0d559b61af0a4a6d7f1a1d3d95074d9e400c74240b548f89e4c996921f5f93296d1bf90e4f5052feb0069e45683456059516285a6213f47144c3c14b257293296d1bf90e4f5052feb0069e45683456059516285a6213f47144c3c14b2572bf0a8549575fab25a655e3fe6ade88e55da99b39fc986b8a3d4c7a1ad9d8e711c43637bdf5b757bf8c47a5dfdd4f70541f5ef36b31cf3ff62282cc09b1453303c43637bdf5b757bf8c47a5dfdd4f70541f5ef36b31cf3ff62282cc09b14533031f1f84affc4a6b4f33e08fb1ec4fbae7d2008521885e4f03f409365d8bcfeaaa1ed0fc10483317265e9434298b9e21d7a117a89b5a7a0ca252b7e025f11bafca1ed0fc10483317265e9434298b9e21d7a117a89b5a7a0ca252b7e025f11bafca1ed0fc10483317265e9434298b9e21d7a117a89b5a7a0ca252b7e025f11bafcab0dd5d7e7ab957099518bddc58e119a35126e4b693275b60c27babcf2af8b311af8269a772703a4c7c3c631912b719ab690eac73f3fb194e6903eec92951cf93b0dd5d7e7ab957099518bddc58e119a35126e4b693275b60c27babcf2af8b31192ccc4b0003801a318921c0fffa55eb8bb760e79433d8bb7c145ed78be08b66c8962a375442bddd8d49865f3bf601c2c7a741fe947d8ec667358bb640cd0d19bcb9a3ce8f18e7d0a0cadb73cc9264772462de953499534736998d3c54f8c7c3c6bf301a0bd53b1876c63bc1514c914e5d6ce37ca6973935df19b35e690f3a65b6bf301a0bd53b1876c63bc1514c914e5d6ce37ca6973935df19b35e690f3a65b6bf301a0bd53b1876c63bc1514c914e5d6ce37ca6973935df19b35e690f3a65b3fd5e730c1cc3f1a1afe1cc9d2cac007caa29663451d16cd2baa54af9ad54d3d3fd5e730c1cc3f1a1afe1cc9d2cac007caa29663451d16cd2baa54af9ad54d3d3fd5e730c1cc3f1a1afe1cc9d2cac007caa29663451d16cd2baa54af9ad54d3d07ab4b64bfbd8235dd010f54e9093447dc0f6b5d9f28d3f9c58b4c5dd3ec0817d35f269510f3088e2d8ea1beb2ff2c7311031dac62194b89bd7c8b3d02e24e06aa24b9d6e7263bbfde47b46700025f2555c4c2f9ab6ed8ad7bd975d40900ac7ac684d2c7259f73e4a012a3fcaaf368c203a8949e3f3ca597fd6928715a0d036d1656473f924f8eb3f58f79fba2f0bb595f07d82ba58c8c52b97713b4a5e4d9409218176788d92c25806e6243208eb5c36d15545b517f19fbb9a7442ea382a222db613de9b78185d00314ac627afcd578e5568140913f670af853020a4b10d513d5596119cd3a45041ba54c3856bc2d3416faf04a8a7867c7d926653bc278f69ae3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8556bf8432285a9ee46431b963dd01de7acb958e12b3bca1611453737c035330bed6bf8432285a9ee46431b963dd01de7acb958e12b3bca1611453737c035330bed6bf8432285a9ee46431b963dd01de7acb958e12b3bca1611453737c035330bed23e918b9f11389dfad0d8c91f1fd4e149dede6efc8a36de4d1c6d0c494d43782f847ae8050228e47543bdc724074d9910c19a055cad3f431202063e91e40009ae3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85574ccd1187e094f1f724ca0f08038cbe6750a46868861dc18a6949c676a7b07db74ccd1187e094f1f724ca0f08038cbe6750a46868861dc18a6949c676a7b07db74ccd1187e094f1f724ca0f08038cbe6750a46868861dc18a6949c676a7b07db054edec1d0211f624fed0cbca9d4f9400b0e491c43742af2c5b0abebf0c990d8e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8552cd2298cc1968c630a88b0fd9ef0d1fe53d83bb0bdfeceac37ee547e8a917d8f2cd2298cc1968c630a88b0fd9ef0d1fe53d83bb0bdfeceac37ee547e8a917d8f2cd2298cc1968c630a88b0fd9ef0d1fe53d83bb0bdfeceac37ee547e8a917d8f054edec1d0211f624fed0cbca9d4f9400b0e491c43742af2c5b0abebf0c990d8b79abdaa1c57d2b62a22d04e33c0f7ca5c06f911eb9ce62d7932ed42beac17b89305a0606e3243e645d97fd603ae848d83e6c49467fb0f1a48e892f5ef2d2986e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8556e28c2c53ae1488542c0dba9ee8e78336fa0822eb349ef30190a22c6d52e038b6e28c2c53ae1488542c0dba9ee8e78336fa0822eb349ef30190a22c6d52e038b6e28c2c53ae1488542c0dba9ee8e78336fa0822eb349ef30190a22c6d52e038be3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8558dc99afb9d32b49c2a9745261941523eb84c2c19056b7fa744048e5ad80bcb0b8dc99afb9d32b49c2a9745261941523eb84c2c19056b7fa744048e5ad80bcb0b8dc99afb9d32b49c2a9745261941523eb84c2c19056b7fa744048e5ad80bcb0bd747e529a73b73e5d7173277b7e001e4c263941cbffdd499bcf13f74e9b6aba5e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855f01359ad8d8abf138c3e4c0627a24b580648f4488f03e7a62f74948ed456c593f01359ad8d8abf138c3e4c0627a24b580648f4488f03e7a62f74948ed456c593f01359ad8d8abf138c3e4c0627a24b580648f4488f03e7a62f74948ed456c59396dda36cddd3327f5088528cf37d97dfd6d4ffad94a6d0dd524a18ce4bc46e5de3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855d4d1ca6953a6d2745d23684547aef8ef70dbec50f7d0a115ff313f150321cd5fd4d1ca6953a6d2745d23684547aef8ef70dbec50f7d0a115ff313f150321cd5fd4d1ca6953a6d2745d23684547aef8ef70dbec50f7d0a115ff313f150321cd5fe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855d18ee5c767fb7c9ebf9abde2828baa0daed9cec33de9d45318a3158cc5eb15d0d18ee5c767fb7c9ebf9abde2828baa0daed9cec33de9d45318a3158cc5eb15d0d18ee5c767fb7c9ebf9abde2828baa0daed9cec33de9d45318a3158cc5eb15d0e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85514bcb29f0eda2fadcdb4fa500366ab432f8a12fbfd15d0b29ec7fd2b38b2310714bcb29f0eda2fadcdb4fa500366ab432f8a12fbfd15d0b29ec7fd2b38b2310714bcb29f0eda2fadcdb4fa500366ab432f8a12fbfd15d0b29ec7fd2b38b23107e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8558962a375442bddd8d49865f3bf601c2c7a741fe947d8ec667358bb640cd0d19bcb9a3ce8f18e7d0a0cadb73cc9264772462de953499534736998d3c54f8c7c3c78e206844cf087d95fa1ddf554b9e6d282a71251649e62864ea341879d5f3d4578e206844cf087d95fa1ddf554b9e6d282a71251649e62864ea341879d5f3d4578e206844cf087d95fa1ddf554b9e6d282a71251649e62864ea341879d5f3d45e5af5d14a99c14b34039358a49562ad394c35934b86657b8cb8c3bf6fb671175e5af5d14a99c14b34039358a49562ad394c35934b86657b8cb8c3bf6fb671175e5af5d14a99c14b34039358a49562ad394c35934b86657b8cb8c3bf6fb6711757373cd502db4536f8b1f91a8c745791d3835c8dc93d2bf4c4d2296ab91d9b9b57373cd502db4536f8b1f91a8c745791d3835c8dc93d2bf4c4d2296ab91d9b9b5d038cba9312c1c782c1041c2a20da6e8870abce871bdc1357a399c364b6a9b2838a320564b932394305d6d8c0fb5a62e752f51d3ef70a54145e51a1c783270762b489cc2b3f64513d33aab630b003145265a51e7e5c65d15fefe91d4b8b303d738a320564b932394305d6d8c0fb5a62e752f51d3ef70a54145e51a1c7832707604ee9c2f34c3af632c7159001e0c54f91885f92580b831c86e0a86ed53c01b2e4426dc0a5138b9224ff813ab55d9742af9220753d37eee73131f7a5b36dd1377111a4e90ec85532223e2abbdb8cc7e09b69bea0ad40a528631b03ce33db5ce5dabe359955b65b28fb125646bceb811cc32328442ad969cb2a56dc26eb3244c1636c66a99e822c1f8454e59cc6ad1f4c3f2f295e19833b727c2649623ac5c8a0babe359955b65b28fb125646bceb811cc32328442ad969cb2a56dc26eb3244c166617f7c782750dbfa1f436c796bea82783bcd1a92504fbe43b3ceb66d0137b0faeb87ebe3a050a13bc7781ea2cb0c4328c6f3130cadfa323caa4e08ae57fec8962470886e8cef91ebbfd5a0ec7841e4f054d492c1aa58dde88bd47bdd2dbeedae73a793e2f83e77cd1b5f654e5c31e674b18084dca709b9c391c34db98fcd1806d8b2278ad3d91fc57a04bfbe91e374ea25f440c5746f394dcc9acec6aa862168962a375442bddd8d49865f3bf601c2c7a741fe947d8ec667358bb640cd0d19bcb9a3ce8f18e7d0a0cadb73cc9264772462de953499534736998d3c54f8c7c3c033ec7b999d1aa09ba59eec0a59e390c0f3f2b840345e5e54ffa4cc79d83e0f3033ec7b999d1aa09ba59eec0a59e390c0f3f2b840345e5e54ffa4cc79d83e0f3033ec7b999d1aa09ba59eec0a59e390c0f3f2b840345e5e54ffa4cc79d83e0f3b4485cfbb66b88c9f5cf5cde6522e14103d137230afe17f044d33fb5befcaad7b4485cfbb66b88c9f5cf5cde6522e14103d137230afe17f044d33fb5befcaad7b4485cfbb66b88c9f5cf5cde6522e14103d137230afe17f044d33fb5befcaad7b5b4923f9a32465a359d3ad490681c13d02d2c300f5ade0af7b23fbd476c17ec48a428e2d073e041cca032bc88ce467e5e23a28dc95a84574934fe00e05e3fe1b5b4923f9a32465a359d3ad490681c13d02d2c300f5ade0af7b23fbd476c17ec86cea8e53db1fb18b8db42f07315c59196bb0d3620e5bd6ab694f84816b14a8eafdb4c2308f5a442c10fe072cad6d8345d140f40a3742c4dadbe6cb7288705a31755da3628580e2d5a301032e4913dfe342a2a4186b1b80a5d6a6415ec4d2af9ec3f409ad9082721e6eb6c88195b66923f36a851c76fea40a530e83509e555275a6977ec321641a55e1efa09c3c674d95de0321d332eceebe2c43791611027e08962a375442bddd8d49865f3bf601c2c7a741fe947d8ec667358bb640cd0d19bcb9a3ce8f18e7d0a0cadb73cc9264772462de953499534736998d3c54f8c7c3c21ce45d86706718bf5eed4069f71a103d102a32a8883522d5e3da16460dc7eac21ce45d86706718bf5eed4069f71a103d102a32a8883522d5e3da16460dc7eac21ce45d86706718bf5eed4069f71a103d102a32a8883522d5e3da16460dc7eac5c133c1c51c8618641e3c0e80bc78e62d5ddd0a87f7b1a55f1e678f56a20ae0d5c133c1c51c8618641e3c0e80bc78e62d5ddd0a87f7b1a55f1e678f56a20ae0d5c133c1c51c8618641e3c0e80bc78e62d5ddd0a87f7b1a55f1e678f56a20ae0db5558d124d13b75b9cfc8cbdbbeb02c796553e545ccd1d4d7d345f7b106e8a64b5558d124d13b75b9cfc8cbdbbeb02c796553e545ccd1d4d7d345f7b106e8a64b5558d124d13b75b9cfc8cbdbbeb02c796553e545ccd1d4d7d345f7b106e8a64796146100c43fb7ef0ffef8da1acb1ee519f308f884781ffad9238fcda6e6f8d6059c311959ffca47f2cb3ebe647f2ce1c5b173823a58c58cb16ed37e4890cb1796146100c43fb7ef0ffef8da1acb1ee519f308f884781ffad9238fcda6e6f8d36fbbbb1bd3285647ce2922d3902106889e9ae16588337be57afb254814590bd7f6a98d99875e8f176a6ae9353e646490d3d0780c82386d42c78c13459852d6c36fbbbb1bd3285647ce2922d3902106889e9ae16588337be57afb254814590bd8c208befacbe5eb6d8f40f288757bb6b4ae1ee106215d95d42b155c49b43bb263cd5e991c0aded7ebc42367f1db11077bb6b6343cec5c07c2ecaeadc97a8ee638c208befacbe5eb6d8f40f288757bb6b4ae1ee106215d95d42b155c49b43bb26d0483f9498d4fbb15b150f2770a224b29af63533b6d5083c751474d75ceae306b178baf379cfb9a259f12e0779252d747d51a0e22158769aa21e0d79c5e07d94d0483f9498d4fbb15b150f2770a224b29af63533b6d5083c751474d75ceae30641afa5a3ff7c7d18f0da577a43621017cfb30c27eb7f4f7c61037e02cb7f3f03d7769a1e103c171d03fdacd984af3c2b9fe33eb48e7063e37d56dcdd9c85e1e8801dd192639c095366eb0c078149347a522a9813674497f700a9d67d0ccc3827461ab48ce307544e0529253656f6c631e2e8851ead5b7748f9113226318347ccfe4bf05876c28ce8df432999372638918d228814244f6ba1741939b8ea443c5929fca91e4ba179211de06ec74558409ac8c6e3ffdb00490af32d93edeb9d93418defdb249903e80d7fcd525370d0038fcc101ca9aab35cca2553fb71a0998e57599988382d85522ce640d7e53aa475b9c85f88de26677c45bde838054e9bbc4d8defdb249903e80d7fcd525370d0038fcc101ca9aab35cca2553fb71a0998e57b30563b65d5cbeb0fc8a0eb0b085ae9f25e7a99055eb8539be53a7395f867609816a026c79f75c9198e065596824cf4ade2a351ae8711a5c4bf9b947b7c990ecb30563b65d5cbeb0fc8a0eb0b085ae9f25e7a99055eb8539be53a7395f8676097e01150c336a5247ee7a34339cc7dbf4578277b6cad6cd2e22033776b94118dbbd046d583323954d0d3d49579fc07fb1cf4dd9944796deb4c03018fa2c575026521ae488895946a88c5b36bd05f00e5eb9c29068b8b8fc904d15ede734b3ba610c175007988bbfcd36e8161c2bda01db2a7da7b99f5916b29ebe58a263f9214094577d30899b8ecfaea2878a6bf5c2e1e939b7d35face8932c39a766b6a465da7d5a505758f61058e6385bcb56a4ccc8e79bb50308c94202ac08c4549e899bd6a144094215b25965d5b0bfb3207500a7ef89ef8581298bd5b98b7000c6cd49e188a70849c0a60704a8f1493ec36fcaf0da82df90ac467a84bc1fe1eece37e3008fe3688f3917533c58ddfeaba6f9f04acfac28731e90e589dc65db4e3259b7ab8faf37bd4fd42053e5b5ed3d8b1aebd12b69c560320ebc6e8faf3df040ade0f88faf37bd4fd42053e5b5ed3d8b1aebd12b69c560320ebc6e8faf3df040ade0f88faf37bd4fd42053e5b5ed3d8b1aebd12b69c560320ebc6e8faf3df040ade0f8ef471170c4d12fd9429782b9ab2ed3585091de63bcf3631a854c0b6715c7ca11ef471170c4d12fd9429782b9ab2ed3585091de63bcf3631a854c0b6715c7ca11ef471170c4d12fd9429782b9ab2ed3585091de63bcf3631a854c0b6715c7ca118d97561f1d7be5e55e52e432f70d6751c30a9a08bd305477a279204161613f9ad2543405f463c3ee8b2fdfebcd88f30279a4b20f8c735f45e18666d772d75b212507eab0cb7a594b25fb2fc1c6a0b0f27af53d1980ba358d4e0c1b1dc32a9e63bc95d677a40c7366d3094f32b166d8da90d4ed8c079adff0e3ed2337c126e7e5bc95d677a40c7366d3094f32b166d8da90d4ed8c079adff0e3ed2337c126e7e5bc95d677a40c7366d3094f32b166d8da90d4ed8c079adff0e3ed2337c126e7e55d740a6b510156140c5a35fc70036d3350a56651835b8b1579089a4f7712b0f3e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8559d6e1c27870cb53512a2e29ab03e61c25188ebed57e933ee5ce4e749d72c0a87e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8554b9cf25f5cdc1c4195f3b0ed7f36c332476423d3089fe9cdd08334df44f0dc2c4b9cf25f5cdc1c4195f3b0ed7f36c332476423d3089fe9cdd08334df44f0dc2c4b9cf25f5cdc1c4195f3b0ed7f36c332476423d3089fe9cdd08334df44f0dc2c816e99e2b06e461a26667e8713b544715aacb947e2080c7024d81834994f7714816e99e2b06e461a26667e8713b544715aacb947e2080c7024d81834994f7714816e99e2b06e461a26667e8713b544715aacb947e2080c7024d81834994f7714de46da9948a760db50b2abcc66b858f5b0bcc48f364f483f60721c75c13df51cb9a8e56b259f039853872e015698e95442496135813dd79f80a03ae4f59295f7b9a8e56b259f039853872e015698e95442496135813dd79f80a03ae4f59295f7b9a8e56b259f039853872e015698e95442496135813dd79f80a03ae4f59295f7de46da9948a760db50b2abcc66b858f5b0bcc48f364f483f60721c75c13df51cbd6ef898c2d773e5cdbc313a7ddbf4af78cd320a7d8f5fbd76082443dce58982bd6ef898c2d773e5cdbc313a7ddbf4af78cd320a7d8f5fbd76082443dce58982bd6ef898c2d773e5cdbc313a7ddbf4af78cd320a7d8f5fbd76082443dce5898291f81ce5bf9c88cc70dc978eb50fc314583f9e1e42c4fd5e4bdab5f8f551bfbe373b7b7828f0e7b8737f543320a804ab5e7ea34c434f77a67a8cefd2cd4dad41373b7b7828f0e7b8737f543320a804ab5e7ea34c434f77a67a8cefd2cd4dad41373b7b7828f0e7b8737f543320a804ab5e7ea34c434f77a67a8cefd2cd4dad41f0ab9a4015eb79610d8f795bab430422d695c954e5a5229c61be9337bf78fa50687f27575cf2706483507561dffe2a91d5144ef36246cf1612ec27cc2e32ca9f687f27575cf2706483507561dffe2a91d5144ef36246cf1612ec27cc2e32ca9f687f27575cf2706483507561dffe2a91d5144ef36246cf1612ec27cc2e32ca9ff7463f2d7b8190f761754227cd37f63e0792afc3a76d1bc21f1357c690b74ce3de48d693cfc10e600bcab8cc90d04dded37ab585cbf9edccba68ef3b2a6c45f7de48d693cfc10e600bcab8cc90d04dded37ab585cbf9edccba68ef3b2a6c45f7de48d693cfc10e600bcab8cc90d04dded37ab585cbf9edccba68ef3b2a6c45f7697a54ed73e83b36e6f4c4ba503dbff0780f032e65311b7acfe4e618cf6c8be142376ede22fbd49cd23ecb7fcd690206b53e5304c1c75fcf36358ab8acdda62aa72023a311b9cd135464a1b70d77b794a3d93eb57618006798d4e3e919541567a72023a311b9cd135464a1b70d77b794a3d93eb57618006798d4e3e919541567a72023a311b9cd135464a1b70d77b794a3d93eb57618006798d4e3e919541567ce0275838a5031768a4249e36e9f65369d1ff0f8c81ef5f7e7ca757a2d98c9f3ce0275838a5031768a4249e36e9f65369d1ff0f8c81ef5f7e7ca757a2d98c9f3ce0275838a5031768a4249e36e9f65369d1ff0f8c81ef5f7e7ca757a2d98c9f3649a8a0d752839a8df33ffb83b4e7f6e6aca7d3902e482e6583640fdf736864d87c14d213e12410a641c4bda62ab54e274aef3c31bc5e9b061aec5cea0feee9e8962a375442bddd8d49865f3bf601c2c7a741fe947d8ec667358bb640cd0d19bcb9a3ce8f18e7d0a0cadb73cc9264772462de953499534736998d3c54f8c7c3c724c1ca8b288232e83855d715a820ff1da1c60fa2bf0ed088ae64e46fc7d5eb9724c1ca8b288232e83855d715a820ff1da1c60fa2bf0ed088ae64e46fc7d5eb9724c1ca8b288232e83855d715a820ff1da1c60fa2bf0ed088ae64e46fc7d5eb963885714ce110aa543e48e4271913ed68506442d2efbc78e23ec60e618690ad163885714ce110aa543e48e4271913ed68506442d2efbc78e23ec60e618690ad163885714ce110aa543e48e4271913ed68506442d2efbc78e23ec60e618690ad15f2276290340933a7d62894db176031d9a7022b3d19216bc25386639553dd45f7cd26573eb30e2b0c19df921252cbdfe00451b91fa30e557963720d77eafd0b7b37e5c0e39fab677dc0c21117de8059f50b827414745ea359958cc6796a49cb518949330fa5b0e1609d721d5fb41b7f24790bdf01937691f0fecf0e41b6fb415ab6aab53ccb508e5040be74bd6f20805cc29b1008957c84fb9ae49895b5621e418949330fa5b0e1609d721d5fb41b7f24790bdf01937691f0fecf0e41b6fb4151f8cfc674b2bbc8982e717fb0a64684515aa69f47cc71ff128b6ace1c0fee7b55b7f31a08bb16796680ad56c6920a00dff53ae0fb3d1267df4c6a4cdb2962ba81f8cfc674b2bbc8982e717fb0a64684515aa69f47cc71ff128b6ace1c0fee7b56e3aa48eb5a8e7e812940eb86bf2ac45a0ab3154a760213b9ba759000d2aaaff0e97a8efc1c36b229140232eb25070755205beedc02ac95ce0b48285a85f4f0b6e3aa48eb5a8e7e812940eb86bf2ac45a0ab3154a760213b9ba759000d2aaaff91075f2d4e2a3b0f5234d9374503fe01539064e253c36a88ca5d3ed18c4eedc734e2d40088a29ba343ce4d67b21189a0831a52f4c8f5ee62608a9aab0b58f3b71b06844a2cf13de8154eb0900f2c9c3834954150f592ef9d52f91d649ccfb31d104d8fb4d3b347c9bab4df2b19bd121697a070bcd8a876450b8c96ced7eaf8125e20dbe2ee206b35bbf564dcc5ec3c7b7f02784274e31f9b8640d184cbdf85c228196912cafa298ad1adef4016a1c0c97af742a76a6b6c105b0cf366ff58c184c28551b5cbec405d97f9241522a6d3763af0a0ecd8969565d2764eca1a5a36e3e6098a552af786b4cf7160f500087d416655f9b0e21554e8472aef17897192c74bdf4d0fb4721b9d99a4012b98aebdcff46c2201a9fe0bbac2fa89d24783a265f1e993a5a4693c9dd9934688f0824560395e6ae42e58ac02eb3bdb3535a4e8464b874873721f114c00d811a5c2f85f6db0fe257bf5ab67314f7321e43e4106bd5fb8a684d5e2dc681ba7a452c29b0249896936006f409e4dccc41d883d0d7467fa690541debaced747ab58f7e0d14e3359f9b16b835b1392be6cdd5d274cdbbce46739439a8d0698941c8164e15ffbe219c3c0c4c05a4fdf5dd10d030e1b349ec02f12d002f5f3797234e9eb21377938c08ad9aa349eb2ee52d459298731a303c0ddbf6a55710cb5b9cc1efe491699b3a356eab0ec9f2c9c9e9f07d5d70ae40231919822eb1b27e37959ca8bd59faeef687d493a54a97935c6828adbca20bde10fdb1449033c5818355f57919b535c6ccda6dd543b6c7968680e4e8341c53b7b6a071dbdf4a40eabd063e5b807a6299ac81ac6649ad55e18fcd85ffa10167d81fb5826f4121a3160a5c8b75fc10357adcfb758e4d2019c8ccf5c8353de34f887d1493e5702cc4f4c1cb8da828f823cc554438fc66c47f61898c679265118cc038efa64a15a8de9622c87c86f13e1ee21aa4475217ac485c0139974c83e9efbda5f14cd077c1c76169bb8627387195b7213b77c8d52e0539846337d7d5c76d88f852f78c7aa298a33926bafa64186151fa5555815313262f66070d7864a04ad789cce5d835511b984eed5e100c19c922db980382862c623e531f49443393d88d77ff39eb4b3e99ecdbdfbd339f5490b30d3f6ebac358333cfa023f7f1d305cc24fd8713e92f588d9b2325c5df63fe1b20276ad96acddc772825df19aa92d6ee8509f823e26e466e52c127a5e384be037aa109cb6654c48c13ab8aeb63cebe0e1ab799e2b729642574814c76caea23232e0ae06fa130f717045f92173cd0ef92f8e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8551fae8dab61487c173fcb67652d393e2cd1bcb359f2367c47e871e44820277a651fae8dab61487c173fcb67652d393e2cd1bcb359f2367c47e871e44820277a651fae8dab61487c173fcb67652d393e2cd1bcb359f2367c47e871e44820277a65d21048eacff0d132ac8ae3b2ca1098f5c14eb380dc5f8469520bebbb9e4f1100e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855a1614835ea0e8bd8eb5133a2207f50acc5f7381e6b54962bf7747f63ddd3841ba1614835ea0e8bd8eb5133a2207f50acc5f7381e6b54962bf7747f63ddd3841ba1614835ea0e8bd8eb5133a2207f50acc5f7381e6b54962bf7747f63ddd3841b6173dd2e256718d4125363c3df41dbea57c9c2d030a370eb93cce8f7e0fad549bc74f38459434a91477197a4c9b3a58bb2bd4c70027472003c0e363c6d7efad5f3af6c42f6aa1f59092416135d0ecdbec472a3de13fbbc5d6f1107c1500ac2839af5ce2a7ec24fdce2fedcb304c4653b2e033e4c52325f6b93bd27609f41e1e82dd1dd8ca1e049abef5e5548179aba2532952f9f5362bc7c6d09bd73f80c5974931caba39950e9126919f25df6a93d0f27229cf26e846e7bf5fc1833230cd756ae11304df3e9012b84dd5f97724a170634581f67bcd0eacc84b81d6a917741306feb61fe33eb0daa37a6a2832ee92231654b87e8294e4d86a2e8cfabbd2b9808b0670a6da658d9dd308194940c25d17b774c2d15d75ea017eced9a06c5cf7a829ff023adfbdfb21bfbac44116e68e039f6efa2a2e319a4d076cdff7411a65c237684ba667d67b1de8d9aab5a4dba739f052e67c60c44a0803e75fc5d11cbcdcb9131969552b77a745908d7c0dbd891daeb937919a6912873339eb0cfed92990c0c5ac130b0240c3ef84b163461e4c02b1f672ccc5d7ba9b94c57eb87cab76f7c99fbc0d494395da89493b77a15c88b5100363ef25c7fee27101e3106eda61bb46bd46573429e330a9fae76002d3241e4cca4db1ee791c0d04c466d21159c64766bd46573429e330a9fae76002d3241e4cca4db1ee791c0d04c466d21159c64766bd46573429e330a9fae76002d3241e4cca4db1ee791c0d04c466d21159c6476f9ce3c659102daf13e2e03e3a2a910afebb2106b759507cdb840686e97134743f9ce3c659102daf13e2e03e3a2a910afebb2106b759507cdb840686e97134743f9ce3c659102daf13e2e03e3a2a910afebb2106b759507cdb840686e97134743f01623e88b5c806b54647cc519f77d781e5b104cd77e5b336cdb7dedf9324febf01623e88b5c806b54647cc519f77d781e5b104cd77e5b336cdb7dedf9324febf01623e88b5c806b54647cc519f77d781e5b104cd77e5b336cdb7dedf9324feb6d4648a12a5c96c1fa8a8bd9903a550c7bcda2aa9c2487c3b0c8f886246eb7a26d4648a12a5c96c1fa8a8bd9903a550c7bcda2aa9c2487c3b0c8f886246eb7a26d4648a12a5c96c1fa8a8bd9903a550c7bcda2aa9c2487c3b0c8f886246eb7a2b7532edfe29455119b294c1d082475429391245be3c5a5e574fe8ae3c84002b5b7532edfe29455119b294c1d082475429391245be3c5a5e574fe8ae3c84002b5b7532edfe29455119b294c1d082475429391245be3c5a5e574fe8ae3c84002b5f968b0dd3a52d318f29ceda1a5bd5cb849e0c0f414775c88fb9d77b4896a0340f968b0dd3a52d318f29ceda1a5bd5cb849e0c0f414775c88fb9d77b4896a0340f968b0dd3a52d318f29ceda1a5bd5cb849e0c0f414775c88fb9d77b4896a0340ff5746baf85662c9c834f43f55570e9bef7348bd6b4bf87e535bf8d4e6b701deff5746baf85662c9c834f43f55570e9bef7348bd6b4bf87e535bf8d4e6b701deff5746baf85662c9c834f43f55570e9bef7348bd6b4bf87e535bf8d4e6b701de96a867a2cd717f55625d8cb2455a55210a19ff9cc7e544dd6153105bf69e6ff196a867a2cd717f55625d8cb2455a55210a19ff9cc7e544dd6153105bf69e6ff144e2971478ff234f905a768f6ce613f44ef1600d784bc64107f89899cf9276775fffa7d16e511ae3d87ef252dac580fbd9693c312aedcc621671c45e26df49bc5fffa7d16e511ae3d87ef252dac580fbd9693c312aedcc621671c45e26df49bc5fffa7d16e511ae3d87ef252dac580fbd9693c312aedcc621671c45e26df49bc02f29710f37f4e0b6b1fa2e1ba07df2844149525c46fe23945ca8255fd9b1a5402f29710f37f4e0b6b1fa2e1ba07df2844149525c46fe23945ca8255fd9b1a5402f29710f37f4e0b6b1fa2e1ba07df2844149525c46fe23945ca8255fd9b1a54b1380bf9e7bd5aa674c7ade6589216027177195ab81b0c856b6c21d7be46594eb1380bf9e7bd5aa674c7ade6589216027177195ab81b0c856b6c21d7be46594eb1380bf9e7bd5aa674c7ade6589216027177195ab81b0c856b6c21d7be46594ee979addad25ab9f9ba1cea91881561a332057d9d7154838bd5fc6fca76222f43e979addad25ab9f9ba1cea91881561a332057d9d7154838bd5fc6fca76222f43e979addad25ab9f9ba1cea91881561a332057d9d7154838bd5fc6fca76222f4324c930be6b204e2974eaa1dfdf436e38ae9f3130630ae91a25b1a893a544c55324c930be6b204e2974eaa1dfdf436e38ae9f3130630ae91a25b1a893a544c55324c930be6b204e2974eaa1dfdf436e38ae9f3130630ae91a25b1a893a544c553be8e1b3ce947ab3657be3f7d496d08fd417b2100ef5ff4589cf6fc9d502ecebdca7361352fe3450b66ae15c34c076e55811e810fb4140c7d79cd37ad33bebfe254e2d082ae06d076ac1fb104d5b3c21f0b62701c5f62d7115342499974b4288309a1f9cdd7f3340b6e8c8095a3bdabbc1912d934465df889a2f83daa9f9d9e5109a1f9cdd7f3340b6e8c8095a3bdabbc1912d934465df889a2f83daa9f9d9e5109a1f9cdd7f3340b6e8c8095a3bdabbc1912d934465df889a2f83daa9f9d9e51c16f084fd0e0a5e710d302b00768c55429af7992e55cebb98ae6b5d74138f356c16f084fd0e0a5e710d302b00768c55429af7992e55cebb98ae6b5d74138f356c16f084fd0e0a5e710d302b00768c55429af7992e55cebb98ae6b5d74138f35617f33db0953d763695203a18186a3fc9e464c3201c511e93e3ea2808906ca5b917f33db0953d763695203a18186a3fc9e464c3201c511e93e3ea2808906ca5b917f33db0953d763695203a18186a3fc9e464c3201c511e93e3ea2808906ca5b9335843b6606ee25a54ce5b2c12985dd879af0a2c06909d3b767283565b40dd6e335843b6606ee25a54ce5b2c12985dd879af0a2c06909d3b767283565b40dd6e335843b6606ee25a54ce5b2c12985dd879af0a2c06909d3b767283565b40dd6ec127e5c7d553a80f7f2fd2be7cef97bd7405e344a5125ab48ba8edf0fca733bfc127e5c7d553a80f7f2fd2be7cef97bd7405e344a5125ab48ba8edf0fca733bfc127e5c7d553a80f7f2fd2be7cef97bd7405e344a5125ab48ba8edf0fca733bf06256bd387329bcf3d5fc075c586d7b29cff2153b987da9e8c19854d5287f43227cce42d219d683222a930f9231ea90ece07d1986de2b3dfdaf5894e9ffe6cf32c8cfd497a36b3a6008d7b5491ff08dea51d8a501b07a4c085dccf05f489077fc50390994839142e0fbb3df6b7c175bbc5cc71aa084185cafd86f360044d131082544c2ef9cf58b69c969d19bd470c2cfc4533e37b6dd8d64fc52209fe37e276fc3cd52e8000ba6968073360daef28494899bb354d7006b162678cdd7c38b54d27ac0debf99264b81167b961975a2afe534c82a524cd98aa3fd85062f8d25fc538f1e868b1daf10aa0342e239074cb2a9c0b021006b07b9acac083ee984b565e582d463bbd92b97f59018d364fc0159ef934babc5e9af90b0c1d1fd0806393bb640eead18d1f3b7cfc150b9248bd810d584c2a0ad6b868751788d2c0cef1d7770c5c1865178af03ee88b787d693f6da051ff1caa597b0a9951b39cde73f76678cdbfabc494d9c6f7271eb6090bfa82f985a9539bc913f8ae9ac4bd8530d37153853d404a971a95d722158441af51c7642494f4db29e7ebe3aa31d8585eb0c86f3fb3ed4833418c98f7828f5be0052e731f70c05642002f4ed6907e3f970f374a674e9a444596abaf66775e80f562cf1892db4fcad689ce97fa327df86569a2f15b80aeec81242379d9692f4e8fbcf3b489d4b4225031181955f2873113991dc4dfbc0128ec43164bd359323dd1c732b51d99615e8e1df94d39d1d7db7d0c526410689598d6914a9ee14bdfc82abfcc3d4fde05c9ce566fd457aae6d0180296a1364bd3cbb690e7a9a810cc94440a31506c4491a4029f63daf7eeff11b9258355189958ee5bfa9d9aaed9a39bd9d08b17200c6ab14acc6ebce6af0c9d284cc11df51be132fbd4eaeb2cfad56b349d07e84215e2952c3b2bbc0d3ab116f5400b4de13a24e2c64314127fa3110a55703164f8e6dc07dde839dc28e5302c98c14c506b30e552523fa93104d4eb5a00b50a29cec9df2c5164df33603244c7289ec659787211631572b0e48132e43849c7eddecfe566c7b4e5dbf7d1aa9e3c3a562363419d5ac4a3289294f5a567d2b172c5528c09775d7d03e0cbe071db9d7f4986a875fad0e3fb865db405a70aaf592fa28b2ba3de22565c51107a8ead8167d46d2e3ac783584a760bf10d9043226b433588fba027b9bc75685c523d2fce99281116fd3ecc0df0f4c2e8374b3b5e0ce02e555837b1da7884cd7f70fcd53512a4d3729c452e36bdd5eb3df47b4e921f3477af6d5163e64381035b82731d4db98287f2a96e466d38c6287a7ae90526ffe8eda0949f4bca67f4673bd35d11f15e64527e64f81b40e6472a413fe93c0410f15a2dcb11716f8024e635ffbff6d2dcffc66968e8e98a1df9f939dcc2dd4cc8816d68ca104271027fc4c9190a1e6a1d8a1afe9ffdef43e9ff27b1d0f17fbb954eff01af8067aeb4fa165ad5ea9a855731cbeb39dae629cd1850dd1ecd722675c50d90a2bdd9d47435953dc41845a595bfa577da83b3cb55a8f19c66814b720dcce37fc5b723905bdb07c8b2771fa215ae93e10091634782381c99a9551589cbc96f7fc09bfe0c55b7641de938fef56a124b811def679b323d97404551e2335d777861a5ac620de6a621d5f30f095c39bbb4f6cc364b736b51b0376225494611a13a07dcb9e52822343fc7d5f0819ae7b68e1dfd397041713bb4521d563c36823186065cc14b7d1776b01274eaaff794f08463d038e39ac8247af128bcab7af68a44ac2673155dae66e3c3139763c0ffa6735110d049de8640112e85d91c30f6dfea6c7154dba6d1e8f35de4f4d95a511524892ab9fdfb82b4d95d443c5ac96e46c67d80fdc2f54584ee82788572d90948d4b55942f0aac19923035f4c33392783131479f9f438ac6539cd1ea7ae63f93354c2a58d93556fce53ebeea0a778c7eef5130fc8ae9717b410216803b7a6ff4aae4574f277193b31323d759b9a38e4b1e5be190e465e4f601b1e113296be8a3aa81d84b3c96c5cb9542c710c413cc541666cb8193081d98affdd0067e5b2d2775d220d506f7fc70fd560a5e561752cc01391e61797b648863a2adb33c38130b6457b1f8e8a6affa2357da6bfb7ff2e2db87b0f85d93c4dbed2113c864e54ceb9cd2aecae818f0fab66a7b8aa45f5ab3753e62e8ee38352452b489ffce45129f0319998d6355dc9e7c4cc63430a40ee341b23f22122792a12c908bba1e4bc5de83f3fe707810235955b362404061f96f701a024199c034c9e979f7a3bc9cd41d3a3bc944bd314bdb89edc0ea1e454e47ccc02e3a7b1de8efb8b2ed60028424dec0ba25b4149b5c03611176168c74027eac0798b1d139828188935e8d02a3e48fdd689f7a2884c4132888c550a71ad0a31df400d500bd24bdb312ace5b02b0567663b7fee0e228e1dc53462e75c351280d463d544c33c5ce08ea28fdba1997c9d7d5a1e3d986d6009497a7d2d8f67da3254bd841eff4e5cb479647faf47151fc8de1e42980b9de10d97782a8a04783ed5b232ae0f55cc36480c4d1782fc843fbce49d5a1c10b69cebca9d7cd19b48842953408c734da6103a9fe67a38b2e78cfb119319d9c81188d610fc571c4f2d022eb18529ef21fd48b039f512170f7aceba452ca1f713bc954fe5af4c25bddb5f0ea992c3233cda9a1400fd05ac04c24e16240489a81ff1af77bc6a7935536374c8d9f1a3e6b00a1d4337a37f11d5bece09bf00c1979129b97e7ad7c1193031082bf8fc58727e6a2fa8f4af44001ce868f3bec883f9037fdf722f05761a19cf10e81ce8202c8da317194f8bd24bd53d3fb59a34b656e619d15d7a400c56735ad80a9426469d732ed9f8074d6dd7f23b1e98902b2c1104028ff78cbaf255cdaa9a54f1cc9f0633a912091c81a99b7ea7b398f9b7c1de3b016c745cf8bfa888c01923dfc44e5a0809901fefec554caa531dd2046dc052f267772bf764388a0b834de8bf7f72948c9fbfc36ef13f25581e9d03101b598a43979808f02ee6d3828f59ea02e6e6284e854701e54691f484b8e09b84d6c47f170cb65ecc5c39b9ff45ca73c6a5691c447a1390e41d4bac22cbc65955bcda3542e6bb8197fa05c755057f93820cb48fc821002a92e3e6c3ede80b8e3ee05a3542e6bb8197fa05c755057f93820cb48fc821002a92e3e6c3ede80b8e3ee05a3542e6bb8197fa05c755057f93820cb48fc821002a92e3e6c3ede80b8e3ee05b18b4d9894f42c5a885636cfd2864fb9920fab4ec8beed855edf15fe5e9c3bb4b18b4d9894f42c5a885636cfd2864fb9920fab4ec8beed855edf15fe5e9c3bb4b18b4d9894f42c5a885636cfd2864fb9920fab4ec8beed855edf15fe5e9c3bb48bceaed7d3e9b3f82d996623a9fbab7d195255869d89a76891fcdb700baac9eb8bceaed7d3e9b3f82d996623a9fbab7d195255869d89a76891fcdb700baac9eb8056bd22d88b8f108b7f04c1dac7d3cd63a34ee7976f6b94fc34c04be2d0f8708df04e58f8e5c1bbbf0c82cb01dc84dab4e3e324c5196b7564e10cf39e1d42aa8df04e58f8e5c1bbbf0c82cb01dc84dab4e3e324c5196b7564e10cf39e1d42aa8df04e58f8e5c1bbbf0c82cb01dc84dab4e3e324c5196b7564e10cf39e1d42aafab5d668909917fd5e8a8dc7e74b13c789c2946932d2d9444e4a7c4e537b1847fab5d668909917fd5e8a8dc7e74b13c789c2946932d2d9444e4a7c4e537b1847047d417a1b7af5751dfed2ff407ca9b4d0ad54de42265e0a38c36e096a6a658f04f86e40960fd71a5240caf159d8527c2fa4ce4d12e134395c8a3cb25679c033d004ad4f2cc7aa0907bd5c4f5b2edcd0e959d39cad409f1701d0277a472ed502c3737eda057bb71bdc3aa145af87f73e8e2f22af83df8716c7d9aea9372bf577ba7cd2656319de915b62c3ed3a82dab7f28c820cfa749660cdde5e79f4b670d8ecab451ebbcd977fb8ef9ee50cc779c29b64bcec59f6d9e57c8f49e1b67077d360bf8ba7f6783d33ec21c63835968eb457ba0ec7301a6888258a2a68a942143e58648d2475537615a93b2b150e16bd1a829ff42bec0eebe0fcbb0a10fbdefcc6f5c2d45027995c21517c3c49ac8c6110188e8bc3defc4e63512744d948d8e9a9628789a4030da18104d48d020c1b33bef33fe9f3a980d7d0adf0dea9663e9ce0a1cfdbd0bfb46f0f3ebd9117f1e8b2675e574317d82ac82426292c32a77e1aa41acf3643bf70b2984e104ab1116055280beb4b0ee86f9be4ab9db8d295d9cd8470b2115d5a332ea2c43161369ada7d7927a561eff4cc3814c35a2fdf4a3e083d939bc7cd191e3896b63f1d64278c0d75f55bdb6310240bbcc27a8127872fdd9bccb223523c19b3612c693688d36fdfc1586ccb686aa251e2a0aa673c048674b6f002711ed114a9bbfab7ebc9f21927c49f42894a6982d53b7b84bf5014db2c7dec28a2b163f47175ee1f05d237e3bae61d99d4704171eeeea149cfcc17b030b6095a1fb757ff3dc806c28b565e66096d464b2b842f176ab4782a44f7b118b178dde85e0d9dd24b3c10d55850f293ea69560281577a41c733cc14a098c6184bb8ebd8fe9586a8ef4b3da05663c79e155cc77cd063c6f279c62b9ecc33e9e9f9a226092b3a4b71fc5f7838fd87e0cfe1cdd846958f3d7ebdf4aad229bcec6e24f161d73012f95309d99de86ed5037012ba57a64656a62fc328ae59bf387d999909e2bd499725e91de8e0b22035b3dc007a41415ce4d4edf9bd690e87977b8d3b778c0d50d4b322c2ed667b267b8b906caa8df5ea1d0adb9760a58d0672476318ed0efbd7fdded7029715175a47a1012923037998507a94d695aa994fac1bafc87b9ede869cc32aeeb43a32bfdf131a43d488d0f531c6ade2af41caf41e6697a023eb594b334f721bfd19209a5dcb1a5d22971a0c91aea3b623c924492e67a26a14949aa7af6a2b27a3d4be9baa55d3f166e314f1deb4485608e20851a1e57620e2c4d4819f80a4eeaf6eaa51ad0a508e9a9744b3dc5c6a1bb20a786cb6ccdb2a6609923bc843cc0e64564857ab1c50a269a8698ca5d955f9a838e99a662eaf52e68b62476394a8e96644613b79215da248ad8ac26cf1e9cfb1a173d763762cfb71d3ea0c8e465fed08579011b2e297c53b57b4a4b7d1de1666155984227a752771f16c3b6e717536044a14c87cf302263be90f6bd4ba58705b35d6def5650914ce89cc56f1dd2ef6228e63aaf9fabc82c88cd28fd4905239a9eabdb3ed3bbd482e27b2a81290cca48fe76238b539288bc7ce6f94c017d365038ca7e9b126799fe86552fecb9488157c4050ea11b0e2a64f445db5c7a1023841166f479ce91abe04aa5dca16057a5ef7f66db5a2f8d751ce483643f2ff1b08b2d2653baeefbd16d005c76d93266cd497b0f845d40066256c3e1d48dbb0fbc5934312bc65e4532b4362604689cc9c1a42cd09c6a7660902bfe4f0fb0a56186cb1619ef92fb17aa81d0dd7b8baeb86cd833ecb6fa118333efe78fd48de158d04489a631714fe8736eb85da0ee0e27a692592a121c2ee910aaec7e38c6e2042f1ac2ab4f366a99253521720823188f6c7fe343f888c336fa87df37176199ebfa29eb3b92ad09bd14280d42ad091ad959bb404946be4c7acfe3ba47e6211b1037ce0f5fd9d2f26b960e9729714f09a919d0ce976213247d7a7f0fd28239e36e914581f1daf6f3161c55059d13353248c3d161211dddf7157fc5090a67ea90811fc3d0f23ec72fc979999deb011f75a9e8cfbce20548d5e96349cb846ad66f74f99bac5df6611ed343e3ef8e875e08fe558070a3c39e20c5803dc6b9aa8c911e0ae42b1d602d3f3a473b077fbf8bf610aeaa9c9c27e5220dc593c158efe9620d138020b73ea60eeed640c2ef6b01825bdb68ef934df1e3fc16840ebe9e1dba4a81aeaf33aa3757c836f352701c6e2914942074b6cd87f4a3a94bd522c3663818ebc594929fc2813f55aeacfd8d3769843cf0c4d330f124203fafce3f9710677029427f7c06f1fd64cfe30600692c863b60bafaceaa5656b68cb0e2b123455c6612572f9e4a4cb065dc0f14b65666439e62b904a7e669400657bc06411b4a6ef12606507254597300e2f37649d02c51055f4ee94e7c3411c50900219f3d702a80e1bed0cb82192a5bb1b624ac2767b9ad34f7b147cef952b2f3e2bad5cfd8c3661e599bac5fd1715d5291374eff8053133da4f1feec86fbbc8a8c13df182d3bf49cd81b80618652ca29eefc688afcab181ddaa79b5196108239ce42a3dd4953b7eab37f835e7009ab8100d859b4ce0dae0a939e7011dd66c753468d19253131e069edb9e1083006099cb2113b63ee4a87332c0250cc863da39b59720b2be7a2a6db263c76b5b4002234184f3d7baf36a2f5f11a379aa694e5f181522b3aae9cae0108cad9be83d79227b3a9299bff98cb356444b19e111795f0dd7d8fb788f15bf9f8770ecc69794624dfc927b2fb55c75d61ec7c55caa2d75d47f494d7340fbd6483b682f494b4da38c50cc0b864e79415ab60c982eec2e3007eabc7b648de8f581bdb1f03b522f41542065642109147c2b2ee30703d3436f62728e920401917951b58a7817930a8ee68e0ae32236efcc81cea839a98acc7e498f13385a8131fc32f7b3ab462176f2796b79630fd8bda451b50cedbdd9c7b77b367304a954647e48fed95956e80d2548919d27744a409dae32756220dcf687190acf57ec1057831f8823f28adfe7758da64ff1246bf129b69208e4f9140e8b384526f0b9cc716957485575c74319bcdf418ff750b4c48f757d0fd25f9fbf136c03a76a2cb3bcd8567fb66c2b59d388b6f696a6ce0e9f65d79fee26765d706a1dcea79fc06acd0e660a18d13c3273f334771e5b96011199ac08d918fa48ae9515f7d39b31ddd5476be46a30b98f38b49cef58be2d789968fe0bb416d5c73467fca2a0770f549dfbf84f5031bfba39ed16abcaa3216303f9e4f7fb2e573cff5b381af2ffbc40796be84bf4f773b71caace700a22fae92c7af7370038558966696309d93d6eada0ab27eb3ec6bda0d3be8b77ed62cd314e128c76ea10429d255a78917be98fecc8f878163f36dbd82acf4ed8ef36c643d88432bf6942e64aa95356d040428e30f68245380c37be9dc6dbbddfbbd01b51904e9f6459e4a214ab6e7f00ce74765d16467830d08bd55670af9c010ccb5932b9c42913ea101765c13623d8983cb35ea8541097b77f4fc5d8d6707e79729b2e7df66f381cbcbc8d341ac2cd80c1670c1004107f056e8480af6b311be006ecd84f56133e8248860a07ce380c52cbcaf51fc2c0f948db51ca458a2f9691aa4fc0fde8c47492a15607608a4129d8d1b06c22ccf108099e2dc40339ad93f0c49806a4b02e2013762de8fde46b5039570d626aef23a4d95f2a0ddc14adc0a4452feb7c2ac09c860c9e990b41acf6684880a5681f3212afb80817b9c01434d8ed1fdf529b429244c1917e0d9526681229b87790415cd2c438ca4aacfd2535f6cf40aa283a3b26d217c28c9713387896f9090109d5c049301ca674ffa0ef583f64ef52b16facd6c32f803679d7e6e3c901898277fa2d75785f110bec5a0334d30af9448e74ebec45c02ca4f4b88f1fef8117f8238647803bd47125ee07b9b0a1ebfdb5a7155de7acb39ee12314e9c968cea6c99310c32e64f9bcb73dafa392b61fadd32318525fba6a082e4a864f5f8f87b141a66572aa980db707adf4626e0b0e7684be30c6b03cfbc8123fe2ec2d823b1e43129b3939d799fba7438a42215cb80c94444c089d6d6f5c6cbb6eb8ff566e6e12c4264d9381901dd18b9d260da998c38fbc5862693e4a1deffcdcf667f47b5920632e4c2a6532ccb8aee82413c77c2618e2327a8da5939a14a9f213483e80b02c50de7f57c20a723b2ad1e2585f7512e9c2d6b44eb562172b924f14fae16e12df024f25285c370c56e8449c4f877bacada29887148b0d39096569946534b16c3d7c9e2aaae73230daa76ce46f2dda354f571e939a7c14ff539a9d69147dc29d187dadb229e9a9726df94952da9d4791c2659f945d34457e84a107e6c58f71384abc513f0610fb3b46b2e05f3ec6a30e4ed89adaaab3d696b0214b302beb78ef7f4bd9f674dc258f277476e8b66d39015033cbf2669d901b2cd94c40f00b7ca0e019d5ac520209f8fb3c6dcf77019a392d24701924779fa8be24733814717dcee2c8e2e52c1914092d2cfc9d73adc1834cd21f4e15479e881b44674ee59850058afad737c5145a288883aa65db0e2ff95ed2a08ac02aa8a77c87d8629be18b34c92bd75c44a18cec5ac3ffd671f8bcfe3e7a02ca1c49fc0abc27a54e676e684084a4cb1822bd363fc276fccfd00d255cdb3f80e55b685a11e55ce4820f44b2f1bdb4b936a42f67e538474ac0db50a691d31d61b26f3d90c8e543f0381f943f42001bfe385d2ec9d5d0ad5e2825e998dcc3227f4bc0b049ebea83664e7146dd78a3c134a92f8f9e5dfcf518a66516111e808f2d3798aa4fa5da4e8c2b65a469f89298cb24b9979a35d982843886ab59ffed6d54778257e157eb71c2df5805d0468f98c7a87d764f6cb077b7598499fc542800c7c9f28c11a547aff7c4a5528d1c45fde0c44266fa74e4a1ef9c11ae181e0a5035ab6c31db55f8caa8f0acbad7d45f898f7308481f42855dea838ffeccd2c6cabd10b37572419ddc91dc7d448f3ab7748e0678e296d4d5b5a2e9fa6188b0168cc36cf9ac3eca48ef72a4f14d3eac4d4d1bf78aaa68b6b9317e99484aff1d7412a5bbcff1ff534c14e0c507338d56f68009ee41902356552bd47d2b571b55d997f6b99953ad6c30ac41caa292c456fe6257b821097767fd2039633a50dd23609116187146b5c7753060aa977b914f0bea068c6e419273ea56a5e4d7986ab7af8e1f712ecad24405250bde322cfe5b7f9847b425310c3c6dd53a78bf1a647899ab6b13b2b79ea0915038dd3cd73f2af4879039a4adc5b9b9478657b5cfdf5706871c3c2d0151ec7b8232dc458f8f8df809e0bdc9cf85760b8693069c55b73a8513370730b0c2e5d72f6be21f2f7c539ce91a955581c28b637f03d6a99da03b8364587a3ef751abd2c0fc3bfec2915e1228dd722d9592084453049f5955b73a8513370730b0c2e5d72f6be21f2f7c539ce91a955581c28b637f03d6a974ae641dd6bcf60903304181144e9e059b96fd8acecbb9f556f6e5920498633174ae641dd6bcf60903304181144e9e059b96fd8acecbb9f556f6e5920498633174ae641dd6bcf60903304181144e9e059b96fd8acecbb9f556f6e59204986331ac27bf1243be2e9a086320addd618a0837132a18f72e86e9fdd4062b0b9809f4b495408d8437b63bfc8ec58cad3befbd4edc2e2cb0bc090440b38339d4b39d02ac27bf1243be2e9a086320addd618a0837132a18f72e86e9fdd4062b0b9809f4344cb666b707fe6e5ff0a2eab234ab9e6fa9997257254a0fbf525b041f31434f95587dd89547f6ff7b3a6fc6ec399ee8055314de8b0b3931f5772f1a272ec13f344cb666b707fe6e5ff0a2eab234ab9e6fa9997257254a0fbf525b041f31434f6b262361cc9ff1d929bc92402044af1278b5a079a9c07e5f68afda703b02c64065bebf6576644540d508b9170b736128179b343947fe57ca09145853bedb98b86b262361cc9ff1d929bc92402044af1278b5a079a9c07e5f68afda703b02c6407270f0b76e4b7cce11b2259316f83036e29d185b080c1a624483f700d41f520993a41cabefb2ed466ab78b44c99972380d441f4d8128800f70f70bb4312373317270f0b76e4b7cce11b2259316f83036e29d185b080c1a624483f700d41f5209554657245d5cd1c853b08c36b47971bf19f1f53ff20b9c6a65a441076d6077ee361e1ad2e26c870aa4bbfb7a596b32b54bb44365273440df7ae2b11930e47567554657245d5cd1c853b08c36b47971bf19f1f53ff20b9c6a65a441076d6077ee656d2f27ab23cdc343ffc2321ac54fe1692fca89c775105f87207047dd282b76656d2f27ab23cdc343ffc2321ac54fe1692fca89c775105f87207047dd282b76656d2f27ab23cdc343ffc2321ac54fe1692fca89c775105f87207047dd282b764504fc52df827a3ea914e54b09be22af6beaa464db069f4d3b2ec93deb32a4c824f7291bc50419e2c8e5d282462834d99ee3639918594ed3432f21295c452b484504fc52df827a3ea914e54b09be22af6beaa464db069f4d3b2ec93deb32a4c85433c525688bb45d96cf86df8adac7c7a550d1fd5c188097adccb3da08953472c7f1065b85e9ed9119d1e8f1c684f91099c1a4494c81febe3fef7d40f1d1a0125433c525688bb45d96cf86df8adac7c7a550d1fd5c188097adccb3da0895347212a1d8b6a41d7b4a1c08bf6ef0f8eeb3e29f4b1fe083a6583fdad0b1e5c5c5de026235fdec46954ee1202364e84c2dcd1ce017039ce2046e6df6c3159db8845212a1d8b6a41d7b4a1c08bf6ef0f8eeb3e29f4b1fe083a6583fdad0b1e5c5c5de9be2a3d64a96ca87283dd6d1db9e1f6131a6035f4b3624d4f31f2258f9d296b559234fe9252450d3e83b36aae2d3cbe8b11a63a0cbe6cc2ed56cd3a7959089cd9be2a3d64a96ca87283dd6d1db9e1f6131a6035f4b3624d4f31f2258f9d296b5963f3f5e01d8f4041715a767392f663dfa5883f4050e44676fa117ea0886757d6d3ea0fcaca8f89118842f333ae9205eee1b87bf067646b3b50a8d2b30edc3b38923b20889b5e733bb886b81ed2ec38f9e64218f3beb4561fba28860d0c1efee1dbbc3d6f3d6e67da2d0d1b9ec060ddb3d8caa8c1362f6367a3b3d76fc403ae84ae7f000d560470d2cbc626bfe129237bb9bc948c886139847d6c5b8f474f7d71d1a84a2d19860c20714e27941dd22d8cb88b2948c2e3f341d54d9dde96c966cd9d17cdd1eaa960b229ca81ec67fb2c6fad79da2a563651330d3812af8de35e9bcf3c5b6f384030c0c4481f2c329eadd6f9f931982bacc06a5e92af21ce95e7358d9014a007df24df40beffd37fb034afe535af8ad44fff9aec01c80d5e946c124bb57e690d87ee44ed9c7ca1ef31b89db4e9a9c4f2ce0c191563a281705b742528045ec8c85fa5f1cc92b776503dc50414cb65837a03e5a47c51623e1356704f9a191c5c49999a087bb0ac811aebdff65803561162250b42637ce49a506d0b1630dd1e156387e5cdc4d2f6bf56a9a24b8b756a14c09c76daf1165e29f8a13b6173583823350a274a848445c3e2c5ec747d532dfe515736b142ecfad8179ca096b2febf1301d3d24d9559cd4b0d14b7839097a11249f437307e11d296c69cd4dced5d9998618e0c810cb8d5520a0f3911c852adaa9a397142fee2d9569bf95cff6db6e485164b9b512e77012451d2ccf51d837b74e67dbb717263cf70454fb5fc930b3f475acf07d17c43f43e117cb344b2ba206a3f89dd0aa54750c46e73c239f5a2e6cdaf162433b32a33bb982df55632cb4e64d48f7ff529e555fb25f44345c9ac0fe7020db266b4c098c1c64639d4fb0961fa13dcacef7e47a57610ffbef1e04950f041b2344d90373fb38b7e3f11131f52c76563765d007b14969a62655e2b34a4e5e97ed5b25ffd3b6828c8f2a638cceb86c10587964eafc449a18e73f3910888911c18e671ee0cd4c628c63aed6856443f2ff8751c70c4eda81cd4f91e95e7312b48ea2d49dad4a8b90d80993a51fae8721525fc4eb85b4a71e3128406175ced3baa48d12b1dbf0e2160e8f5f867b0d98d282abc47f50edd570feed8514cbe4cda4949bbbadb7ab3927f0177cae7517450df7c0718422ec85cc139fd985b3067f3d008ea391c9f3ec96163f6a5efb7a059f1e9b654c3d96e2143b3ea466711d65edbc295f1a1ba57b0514bc6b075137484ffbc2143a5e71c376743852e2095450026c909f7b882959950ab4d0be8e267e1fe6ebbd06de3ee93cf79086bb303dbad887060f5843decf3ad971661714d824b6a429e9cf12dab16b8a2ec8740e86136200db47faaa55ba8b421869ee9d393d8496fa81e929077e8455bdca310986c3fde37ef65cc0545e752990e94aadb2222d09b238740c543c4e1665c7bc4aa298755afc84f22713b6f30f0f1e4c0efc28590b2030d4baadd23221f570721819a09f1826d5e9e82eb6917ca651d0af6d0bde272342f056caaeb293cf12e7f39a4f051a0dd1465bd7a2226727cbfc5bbbad94c528a410e6d8791a63b74f88212d0f6200b9de259503f7de04a1b9d7f4c417a3fee913566a7560c2cf28271b13067d9609c4746a1016d531413a1e0ff074f44794144b7ef1b6d02f6c5f6a80f08e473358e583d89094abb0fc5a376c806ebbf76469ac320edd3a1e054664d172268792555ef29e9d17292eb8b331bfe13cb985fd4a599bfe70148c57ca7c4908ee79b3db34e25b80259388410960b64ed89ccacff5b7f00215cec0d6ebcdd8863d0037c6ed96e493d4cea9a4294435217e549498cc807a191974cf4dcb1afca5c4182f0dbb9caae06d42f893dbfa0394dd8b1e0e606a1dbcfe0da31a5d002eed6ff90f4e3d9c01cd9465bcfb5a031fcc0c63242d8b1585b3fc98a01a7928756198f83bcf30e1ab2626eb244f088ae14993791aa00d0d2d1d95bf5491f64265dfbb156d382585fdc56ef6fc9708b42cd0085baaac2fd96212a1018b87ff171accb75ecd76d75b21d1a3626f27d3d7b45d71b8aedf9813cbf68dfe1e316e3bc51a6a7a3fa08be616874561420fce0d5676e919c0c724a84a04632f3264e828624cbd28225c76bf6dae81cd7c1ea4e1d801b525a4778511663bc3cba62401b4777fa140caa40848c54324366c17adb83873452950f4656b4dc7cc3aedba475dbdbf7d5d4626b4358498394fc0606d00d7200d19b4f9fe1608641edbdf6c9ed7e3538ead402f77483ce480d125fa5b64f865d7f9c14d56b15fe61871894af94fce9244e77378bb3d29e032bc682d013870efd47730dc432487785e150aa0bb1071dee3d32366377049fcf34835d166da2d291449d14260a8dcc5f9e5de7b619636893fdc04b19cd7ce43e40cdaf3ff487b4f0bcf822df6a76c29a3a6ec3ce38d88a5373abb19dc780f129b88fdd4de9fc5e1eac5dcff6e4de0cfbe4dbfeefc1ea05a72ad0d8c179a5c89ae84e12b67a38c98c8aa955b4ccb6d9c4bff57941a2ba05a72ad0d8c179a5c89ae84e12b67a38c98c8aa955b4ccb6d9c4bff57941a2ba05a72ad0d8c179a5c89ae84e12b67a38c98c8aa955b4ccb6d9c4bff57941a2bf5df3e38b366931dd438bb54b09da580efa55caaafe0451c17d3309190bf999ef5df3e38b366931dd438bb54b09da580efa55caaafe0451c17d3309190bf999ef5df3e38b366931dd438bb54b09da580efa55caaafe0451c17d3309190bf999e4b977b4b86924c0a479e35125e7da5af4dd04f7b6cf8d659ee5bff13cfc4bde74b977b4b86924c0a479e35125e7da5af4dd04f7b6cf8d659ee5bff13cfc4bde74b977b4b86924c0a479e35125e7da5af4dd04f7b6cf8d659ee5bff13cfc4bde7be20886ce826d17c9fa00b35247b2336c866d1c7312911350463a42a77d1bf02d2fee24a21d474e0d41f0b2c823abba8992357862031e92b39af0d03d16123e54ae01151da529ce9ad596e30ce573ce5df2d8c29feea4dc23d5467180f44afca94e5dfde1be4e274543f7c5d2f6602a907b571968975035e38c6fd4084fd32196aba109b9a3fed1c18b3f2d036d7bca5e3b714c27d37e7eca3977bb083b171b1dd8a07b69ee014ab793edbcf550787fcf07e7533bd99b6c3700b6f61c552b2bd24b17c58483441e49d37f12cd61349db82d45549d8c595b8c7d29583cccbc2974dabb313512606c798bf94b0f9083020d6db856d1ad38ba1f986d3e1658f01fda5933d4ad3c63456027195531b562c96494b8489f0ec5058f2fae6b7763a9a8f8e9ea4ccc93c42affbcbe0f9c8cd3e11d0ad985e5dc474508fd38cda8f04cb373145e86b3e7eac59db136f04655fa671c44e4c7d46a9093c13c43220d4db00015ee5637550ef9f9938ec8a8e8a43e8ef87e1b4bb1e73dc2ef20cae097328216864ed4613fd7e399539fce3af909c52de3ca5ef8163d4bf713697a0ff38ae430f8d2111e4139ccbb3b4c2ed6fc73c9e47871ee8d9f3c7f419fd30262bc950f4123932e73735d5c3469aca27e0260adfcee7e97cddcd901a5ce8dd6ccce432dd1cedb7deac9fe7434ad5f17e78ac6cd9af32f80a7f2fd58a16e0e45a60f9356a6175875cacffccb42ff5a9e11ef22ede37cefda33cb5342a99daff6be2280b800a1c15994de00dcd05b1eda91e3c8d885bccec051f75e7a347dc8fef38cf45c3ce6badf511b7fcf0291a7454c3d26993d42bf220f78954911ca8ff57361d7e51e7ca69ac7cab1f86f5b79fe897b4503c529d838b9dce1ea8f6fc7a1e1eeafbf175293d714e148727310d2d795b7962efa1b72d7c33755dc4c3851f8b520a3aeab57d215976d1a45923320cd1794559968f9e8a6ab1a933e4a533a0ff0e63d64ef6d95cae80c6178b951cdb801112b2982375ff55b77e4bcdf8d8034b49466605dc4f147ab124f929b7cd9f364340039a00742387cb65ef3a31e276062ec62cf121b527c365db363193a753e999db7f2c84693d5a0d0e80f1ae38ed221ded07202306ad283b6c5f8efd79685636f73bfbcaefb5f7f0dbc96c594cd59d9f73eac8d8fd70e4af57ca201a4775fd1df0bc2dcde1242c8fa3d7e7c72ff2927d73aec2d02a4036310ca1f81c7191e6734f45e8779cafef13596cde8adf94a8493a59d65b2a4036310ca1f81c7191e6734f45e8779cafef13596cde8adf94a8493a59d65b2a4036310ca1f81c7191e6734f45e8779cafef13596cde8adf94a8493a59d65bed8e7e310ac5f147012514c374734186a26675a62d98125426cc5c07d69b6d9ded8e7e310ac5f147012514c374734186a26675a62d98125426cc5c07d69b6d9ded8e7e310ac5f147012514c374734186a26675a62d98125426cc5c07d69b6d9d5b5569aaf4940ddbffb40d451f6ecf37e32d58b8d3df8ba66a3bcd82f0b2552e79cdc31d7a3487d1d45f5065f6f5488a0c2863516b3ce7ace74330d9f0bfab565b5569aaf4940ddbffb40d451f6ecf37e32d58b8d3df8ba66a3bcd82f0b2552eb9c89f514537e80238ce6ed59b538ad91949891a37ce73a05bcb7a2fcc0d7dfb53e4047730bf1b815881cf3b7ef5b51d95c8673566e4eee58f815525088a961af41e988c746ae722b26100f8fb06a7144818eb63ae439baf1977d15ff85128c2ffea5c20a85af2086dd32818a41a39e078d731cc39fe667147f379361ca4353e683af702f467025fdac7520a05b0eafc0f098c1cf016f6e407a1187254354c501f39bfac97c68bb618f6d222c23288232e8ed7554d3fb9f1a5deefc6ff4e1b6d683af702f467025fdac7520a05b0eafc0f098c1cf016f6e407a1187254354c50258b36afd3b9715467f13c40f8b964d256768d798031662e25f3ed0adf5cb4b73f0f3608e9b1d83e54aee6e00c710175212ee09f067b39dbae2c76351acee6e81c959ac623083115cf8821c402d4fc0e0c300175478df1bebad85afcf7d8dfe8296d40cbfd6b341efe056c0d4a9075ad441e1dfeb3aae8655d98413deb1aa79f760200dda3cfdff2cd31d8ab6c806794f3770faa465e7eae00a1cb3a2fbcbe3aa4fc0efd8ac47181439a5dcfc19d53cabbe88ba7bff49edafa421f9f04b822209b7927594b43a8417872a7a533486a6c86b481e07d3c2d0e78f4d9c046203425f10ab50ee397d44da9231e17fe6c4ba2bc7d76dc96da782b47d5fbab579c05e8c1dac33346d14806773eb6ac36d80e8c3e046989b9fe7d75d7f2b274faf7b7da592c294d253a266eeb1dd4baffedc87aae29faee70e2c5dab1c86460a1678afa48110eda63bc62087a84f0fff7dfd2a7169ae7df2c0b9a30ae8d587200c79145c3bffa36e519c31e7d4a6ef862999afde0d2971b12d5cc8ccba97d00e228918559b771ca779dd36fbad406d9f8a406c0877bc588d17742df39e5d68daa40f17ef009c8ced1a93090bc679a80c312cb773282623dea314f01a98f930e20e43ef7a2b36fcf95d96c878db3aa050fcbb28f708b4b0219592951acd14d641694da98f009c8ced1a93090bc679a80c312cb773282623dea314f01a98f930e20e43ef7a29a96f7dba5f8d33d8bd3f1b98da26765c9e3e703f5f7a9984940cc4af3c5b52e7743ae42024727a382bc21c18dbd9d5a8ac678799d2494287f7f34a70f9f80a29a96f7dba5f8d33d8bd3f1b98da26765c9e3e703f5f7a9984940cc4af3c5b528c96e551b734847c72fc13bf627f73e698245e9eccc787aa03b7ba6215d12afc6b4e45d1e019318703953a4b172ba65e618544ed10de382d346336379deedcb14d3bc951aafae7528eb7cfd8083fbe900640ee1c945d892cd8249fab9ceb12218bd2f9f0212bee458a94cb4a5a8cc15179c83f566b3670119b135c6fc7246f2c13bd70a0214347b259c76dbe5d075ebc9ec0775a71f794d21dd78a40f089927362fb07ee5bf510fe71e8bf50123f0e4bae212655ada2e5140d65b4b3f20658556063d0ccdaeb0e36dd2d48a5444934608c057c779a237a9592a0975722f01b1d05d983f0c4067d31025885a68f9966d73a925aae364a718a33d187320b03c9d178452ae88d9eeb30c4c396113983a3baf5086bec937e3627678aed60731227d14a64c2a2de938915961fbc1a1017c26f5e223117164491ad0ae08f28d85574a61f14657a7d788855535fef7dac3b034e7fb46bd6d4ec061b4667b52fef27123e6a7e181cb59bc5f01fde5fbb76699a5e8c5063fccb4ab204e72c086532f46b6dee1adbb448ffb2d55c7f9816e53faa285dd4b9c7b7e862869f8aa003bc55b4e286b98ebcecb05850fae4d4c8c666b2b03592b661056d8a8372d8c74610612b92538692d087426a61cf2ff3b553706a54ccd29fdee942425e01e51a321d3869a013e38a224983af61879df7fc866f6c8c7a1d3b601fd3b4b7000101e03b2a798fdc8ccc7ab3aa0bde6b83249ecdd8123b85f25fef76a550262c95d389905bfe4575700ab6c04185497628449717f848f088452cb437e01ff8f9f6b0330d9de072c40b656a17467c1d951ecdff576ba012fb37eee59e7f113eafef9b9355804af12e8d9ca6dee2881accbbef09b09496ce377af58889ccc83d52ff4b98a5ea7d9eca630f98fd38dee62cbf9af302ca6f40a9dfc7477dad01bc44d53c0625926eb41031dfb915a9fa911c1edec4aa5299bc84148018615f7fd0644273f17ba6c78b6cfdaca9b9017f9a8a9750f950578776399bdc2f51c431066409639de152a28542d8f833933fd16788f7bfafa6590f728022ed5d2f8a128b0b1dc2bbab15656dac8455a7a56abd64d3715c4a745b47069fa730c4c717d63b31ec61ef9ddbd62567e0eeba124066c95bbe54fbee614ef420ac453aafce3843088f6d0306a1307f280b7ebaecf6c40651daf4f4b28bcd21a0439c8a7e9b0d7887997e354eedb4edbbe661a4ff59bb9120a4911365cf14328b6a218c22087b283caf27f3c27820469411bccf40cdc1856d9b02918e6341c10b3525246c3c88e1bebb98830d468e5d844efc8c46782fec445a5726c7bc6130fe5cdb3e4804f680aef702a158afbbaa8218ea3d5e7bf22ea6751ca3e87c5a9f02db45eb9753025e7baa569bb0e1c6218d5574429d2e2885e99286adcd1ad3acbaa92b8ecae776727ab3317276e5d1661da06360efbc90762d41083d3ad5607a6c206cc725373d79840ef54d5dbe8584ba7229217f0a95904bd6ad456a75b35f3938052546e10a8b9e30ff85eb82cfafd2ee909913907cb4683dae53b542dd31973b2ac0a5e5e4d55665f7808701f87be431ecbeed62a569dc0a3c2157f8fce0c1756ba1e8720475a85072582070747449636dcf916141ade9d5653c1cb628537ee6d630212c8b1a30415e31ef1265b8ee74f8f57b14046de318a09bd50d3812f1b9eeaf6acb4970205831d3ba2b573b2441309cd4b9608c8260766f0c6cd6272c610f319282ce07e2401bf1cadcec4971ad9def9f97ab46cca389d6ea4dbf9be8c9c9a5c76dcb5ae7ccef77331437513d3a3d37f088cfa6f3f7e6a58e78bbc1892b81080d75d250f8b77ee8a630f5f0432df4058e5f628db4e34a6a3d26af006999ed5bbd19964108e60b00df791afaa35be1773accb3495169358d068861fb5cbc06f4186ce9e5382f263962755cfa933e5e1381412a4f4a0ca0a58843ff70e8fc367a954fb1318270e2ecb9205d2f85b08a651806fd2ced04912496e395cf3c5b04f07ef77b157ae963906e9f674a25269831129e4feb118a9048501bedd6a2e764e985b7632f22a77b2cf32a19fd90cffd7860587eafa537963bfe7417e610756462eef65bd99acdea9a072b28a79a91173d898e7e97a71a994273995ff91f8e9b82eb5ea28bfc63c0604de669e9d9e3c732f0a8cb4605d768edb154250b4dd7029178fdf2709506f28c8c6478b165f5025b07ee63c0c337a502d6beb2d97210fd422ef0029bacc7dda1b08b6e1325209cad926b5a2034792cbf14ddad1bade23f42145be1256db18276127cf3608d09f0558c80a8f1a8924016bd2a977ed54efa1ebf0a880ed91e310c4ff7db670ab48bf9b05f08bf199b059b770def2df951b50c5f59bd879106f37c10ddc8cbd203b7ccebfe983f2761674ded759035f0b5f2da9135e8eeecaa6d072b415444596bff662ec9dfd55e19c6ea0ab0aeb2425bb1c958e8ec5261e8d624351c8fe058d0e288a784c5904cd09ec7e75b777caa763b4ef5ea2e85e5fbcfbe65c2c8f8ecf1450b4415a05adee079172854ab3850a3b3facc9af5997bf57d4396a15c4486ea46224d1bb4fb680f34f7c9ad96a8f24ec88be73ea8e5a6c65260e9cb8a79152fc90d3c84314239b59356c452c7d88b88fe8fa96f2f123d25437728bb82efd605526a1004b662620292c1d808ed696b5cc61d9c5748121fd10807123998124b3c8e971a76d61cbf6a1bc9f9806c2b8e651a3aae2978c21a5654e98a3ff339e9d7525d14bf7361d0dbf63325537bdd019c67d7dc265431266c1c13877b1f639de99c00960b9356996859dfbc79b3ebec6aa1d3e821a1b4bf1b80168e78b70e4fd1bdd72a5dec30063b092aa8eb243eda3b95eb4b47ff95a50897ccbacc4c3e2cdb56febb5106607bf5f9b92b2b7a9516814e7650139cfe46f6b36bfcfa32719cb87050b0fb410da3b88df752c2e1bdaeec77ac052b04febef31a68823cfcba53e0ed8c777bfecfdf90c8524e5142bf6b33f6a4c9df5db3979c3d23319a6b31c066e0e0a4d80462c998122f1eb7100b97f34ac9a9f4da8a79ee6f8c950fb261c066e0e0a4d80462c998122f1eb7100b97f34ac9a9f4da8a79ee6f8c950fb261c066e0e0a4d80462c998122f1eb7100b97f34ac9a9f4da8a79ee6f8c950fb26b1a8382acacce4022b02daa25b293ddfc1dc6ce6a3ddb8b3d95b517592c5a4282f27f5c9108936a693fd496565e5c5050b5c62cfbb61d1d5da9d97c89533d6376c30f791c757548867f4c621e58ca093476cd8cec7ace0d91b8436c7c5d4e531ba5f2b50b0712b113f73ed1f23b741b0a120e2cabbe6cfbe73653ae2724d00f8fe3c79d5da8616ca37f7a9d8fddaac2c9164b593c7b116580aa99690a5f59ab5e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85563600d167c5d2d3dbfb0dc928378c008d62b472ff137bcdaaf7361a2610d3d2763600d167c5d2d3dbfb0dc928378c008d62b472ff137bcdaaf7361a2610d3d2763600d167c5d2d3dbfb0dc928378c008d62b472ff137bcdaaf7361a2610d3d273b19dbef13a1c6771dc61ebc5d388b7cccc7a540d09552c8f9f3d505c68dcdfb45ef74f89e288ae42eb8c30348e626d90f480652c7b0fe125f927b61dfa839283b19dbef13a1c6771dc61ebc5d388b7cccc7a540d09552c8f9f3d505c68dcdfb48193e46ddbe13fa7c1dc114922e911c2a500e6a572a604bf57428db7b09075648193e46ddbe13fa7c1dc114922e911c2a500e6a572a604bf57428db7b09075648193e46ddbe13fa7c1dc114922e911c2a500e6a572a604bf57428db7b0907566c7848237d490c5704d8bfa47e0bed091c5171eccebfbabc783f3846b5aa57ade3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8550eeaaf480ac6aac0173b497e41960c1a130e9eea68b6e1364f776a3560dbcdc60eeaaf480ac6aac0173b497e41960c1a130e9eea68b6e1364f776a3560dbcdc60eeaaf480ac6aac0173b497e41960c1a130e9eea68b6e1364f776a3560dbcdc6c3cabf14f53105d16767c71027c3a25a4da926607c20af296aa4f2e2715638c3c3cabf14f53105d16767c71027c3a25a4da926607c20af296aa4f2e2715638c3c3cabf14f53105d16767c71027c3a25a4da926607c20af296aa4f2e2715638c3528beb10a0ea0879a57b4f069a906485f43f448fbfef6b9545e6114bcc03d9e6528beb10a0ea0879a57b4f069a906485f43f448fbfef6b9545e6114bcc03d9e6528beb10a0ea0879a57b4f069a906485f43f448fbfef6b9545e6114bcc03d9e62c4a27d794b6803d56c3193d9001e0c2e1cdd43eca62b58a1f86fac8a36aabbb2c4a27d794b6803d56c3193d9001e0c2e1cdd43eca62b58a1f86fac8a36aabbb2c4a27d794b6803d56c3193d9001e0c2e1cdd43eca62b58a1f86fac8a36aabbb4a51c36381a330c10dde8d5c0ce9132fc464cabb3a4c7293e1596e1263f3cb394a51c36381a330c10dde8d5c0ce9132fc464cabb3a4c7293e1596e1263f3cb394a51c36381a330c10dde8d5c0ce9132fc464cabb3a4c7293e1596e1263f3cb39b293f2bd9f5c7ee0ca8ce91222d2471e748e2763e973989b154e1ad42c8dcc2bb293f2bd9f5c7ee0ca8ce91222d2471e748e2763e973989b154e1ad42c8dcc2bb293f2bd9f5c7ee0ca8ce91222d2471e748e2763e973989b154e1ad42c8dcc2bbbe62d288ecc12d4e22cef2612f7f0e9817bd0b02e8f5a4778acb410c33443e1bbe62d288ecc12d4e22cef2612f7f0e9817bd0b02e8f5a4778acb410c33443e1bbe62d288ecc12d4e22cef2612f7f0e9817bd0b02e8f5a4778acb410c33443e116269f5b0db0cac70100f54c6ef092926a04b1b8f24e00d31fd151c54638e89916269f5b0db0cac70100f54c6ef092926a04b1b8f24e00d31fd151c54638e89916269f5b0db0cac70100f54c6ef092926a04b1b8f24e00d31fd151c54638e899af259d2cd687ab7b505b94ec19a7f83287be3f583e34a54515254504840bffb5af259d2cd687ab7b505b94ec19a7f83287be3f583e34a54515254504840bffb5af259d2cd687ab7b505b94ec19a7f83287be3f583e34a54515254504840bffb558e7e204d6f31fb71369fb5f7943b23b6d31f80481756312d5dd231620e6777858e7e204d6f31fb71369fb5f7943b23b6d31f80481756312d5dd231620e6777858e7e204d6f31fb71369fb5f7943b23b6d31f80481756312d5dd231620e67778be1da8bd5ecf2eebb7eadc5140e570a71615d4cc2c04dab0628288bd9d4c4b61be1da8bd5ecf2eebb7eadc5140e570a71615d4cc2c04dab0628288bd9d4c4b61be1da8bd5ecf2eebb7eadc5140e570a71615d4cc2c04dab0628288bd9d4c4b618bf2e45e27f8dd04b9d32e769a61703d4c518e10c975da16d771033413ff58ee93a08ffbcb8436e7973bf07bb73b4653fdd50fa082808966bab71c96960535e8503cee89ea7c78c4df4107ebd5f3b99d095c8b0cb131f76e03f4f54103638e249c60547d1ac8a7e5ab633e3b2a87f6e6eed138319078b7ea71b801a0fb7dc4b736f2e5ae87693942d0ab8ee5fb884d42e70655af8fb20486212bed2ca528231408c049456e8a28948144837348ab545e19fa43ee772dd2386c902b2b4da293686c5d6b604d587cdceef09cf0d028bf21c2dbcc874b8d54b65cf0d64102f39654803cd951903bf079464d1c09555ea3d2ec7c33746759b810c4c04311b6d2cbd1267ee87e14e5e30f904843e06f75915b4814a74077669968124e76ab80c614f98829963243a05d643652d7468ca73fefb6891899973e0def658666ad4fb2b1cce3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8558334e259881f47503abdf5cb48bb67c959387deebb308899f6b0823255505ac78334e259881f47503abdf5cb48bb67c959387deebb308899f6b0823255505ac78334e259881f47503abdf5cb48bb67c959387deebb308899f6b0823255505ac7d2a0e56a8766384d576b933e6ad18156a275e40890ffeb29df65eae44a9e19a8d2a0e56a8766384d576b933e6ad18156a275e40890ffeb29df65eae44a9e19a8d2a0e56a8766384d576b933e6ad18156a275e40890ffeb29df65eae44a9e19a8ec2a8b800b4f226d1a7b8a26b28ecdc8ec0c22d2608e22c33346da469bafec48ec2a8b800b4f226d1a7b8a26b28ecdc8ec0c22d2608e22c33346da469bafec48ec2a8b800b4f226d1a7b8a26b28ecdc8ec0c22d2608e22c33346da469bafec48388e4621a4178013ba270c47b0144f85f7b8ddab32d8dda9589cf2848757431be975e154f8d7106992301ca63ea2b4da181786d033beb38af975858dbf0b4d2d388e4621a4178013ba270c47b0144f85f7b8ddab32d8dda9589cf2848757431bbf7ade2ab960fc224eee5b58567c2a16025fd1ab1d3e85a697c2c00f50f0ed849d5f9a2b53e77d60b6c8eaffabf4f7fa2eb6affdc4e3bad36ce403dfd1e2160675cf8878de888073e63f2a244467a716660066fca7d353968eb1e3be785a9d474d1d5ba5a64caac6b25ad98dbb77775b70eddafe890e5eb07123d278a163a6ed8faf019fd14a59319ff1e292f00e016a0e4867b26726b00cf659ef5debd833993add05dcd7dee4190919abe0323334ac96ccf05ea7d8762d68a6ce75f9d3aea57d59b29263f814a751bf2ad51ce2087ae819652e82d8a2662e52f8b6b6a060c87d59b29263f814a751bf2ad51ce2087ae819652e82d8a2662e52f8b6b6a060c87d59b29263f814a751bf2ad51ce2087ae819652e82d8a2662e52f8b6b6a060c8cd4e34a0ffba5423e28d84e3d17bb6fb28b629e657df8e1bb30278d5bd920b4dcd4e34a0ffba5423e28d84e3d17bb6fb28b629e657df8e1bb30278d5bd920b4dcd4e34a0ffba5423e28d84e3d17bb6fb28b629e657df8e1bb30278d5bd920b4d4b2838c3387e091780961c8e5adc9ae070a65c6b309099ab44168a980b69e826389eea39b42fba0ac65ecb97d409104ad21658c6e90374193e5b17475023d4674b2838c3387e091780961c8e5adc9ae070a65c6b309099ab44168a980b69e82680654c1b786bed31b74f01874c6e0a9c12bf8f4f43e4e57de997114f00918dd780654c1b786bed31b74f01874c6e0a9c12bf8f4f43e4e57de997114f00918dd780654c1b786bed31b74f01874c6e0a9c12bf8f4f43e4e57de997114f00918dd7df9720c970dc1adfad02675c738fc335cab5e907321ce4604de21b71628acdf927f01594701506cf02053b1c2d79f0d83d1ac081e61f0402e6549452a7ce9066df9720c970dc1adfad02675c738fc335cab5e907321ce4604de21b71628acdf9db715acc71829b0d481d36937c2eb761b868071d1021ae2eead76492dee9ebf76b516215da8ccf16b3a9814fda96ef6fd8a0e82f178f37c6b36690549e891437db715acc71829b0d481d36937c2eb761b868071d1021ae2eead76492dee9ebf78ca08ff0108bc8ff2447c53a4091c314c3287d1a13d9fa02ece1ececfe48e9a78ca08ff0108bc8ff2447c53a4091c314c3287d1a13d9fa02ece1ececfe48e9a78ca08ff0108bc8ff2447c53a4091c314c3287d1a13d9fa02ece1ececfe48e9a7e477f8cb6ef2e5983c474f88b56c6b4e912e85f0396086ed6f2f7c0bb2a4f4dee477f8cb6ef2e5983c474f88b56c6b4e912e85f0396086ed6f2f7c0bb2a4f4dee477f8cb6ef2e5983c474f88b56c6b4e912e85f0396086ed6f2f7c0bb2a4f4de3374eaf26edee7a6ea77b383d1e9739234823a6fb943f53d818b081df11bbaee495d085e015ff53ef79a350a7a6ea010d47c7ddc816d83be3627d8765f4561d63374eaf26edee7a6ea77b383d1e9739234823a6fb943f53d818b081df11bbaee4f43b1e9ada0a0f6b4698a4a61ebe4617c01a3808385680c9031c224626bce874f43b1e9ada0a0f6b4698a4a61ebe4617c01a3808385680c9031c224626bce8713191db8702cabb4ebff824051f0f486912b4e17f9d4765b1df1b09b51f4f885c284948f101216ccea8530fe87869ef3a480f92e9444e87ed1705175f82f68b5c284948f101216ccea8530fe87869ef3a480f92e9444e87ed1705175f82f68b5c284948f101216ccea8530fe87869ef3a480f92e9444e87ed1705175f82f68b5ae2d611ada16ee13aa98f08ebfb8d70446e5fed953ec2b87db43e5a913fc218e674c03ffacdbab60936fcb26e0cff5458973a9675d70b2393b9ee1d6f40727d7ae2d611ada16ee13aa98f08ebfb8d70446e5fed953ec2b87db43e5a913fc218e4f83fa48eb9e77eeb24a5d273619711e82a4e685e0392f2238671105b8546425e20169b83b9e69c92de186035125f918b60f534f7363b5856e71b16d851d07174f83fa48eb9e77eeb24a5d273619711e82a4e685e0392f2238671105b85464258bb588c47b1e628346ab7d83e072c0284022b20cc1d5e07f013a96cf90ebb5be0c2b63b0387f725ab818046a120f7dd189fafb9dedd9782cd63c306f077f49198bb588c47b1e628346ab7d83e072c0284022b20cc1d5e07f013a96cf90ebb5be2ff5d8f9c3b25ed238ff81786cccb82c89c79f68d6436fbaf43afc3fcf10e8824382dd6ea9986b6d26b04b5e4186621d436ec9a245f233ba0ca6874f7e091b662ff5d8f9c3b25ed238ff81786cccb82c89c79f68d6436fbaf43afc3fcf10e8825f67a7757f7aebd89fa0eb3cae29b6ccf82ca7b8d5fadc74429c6a3758587ac55f67a7757f7aebd89fa0eb3cae29b6ccf82ca7b8d5fadc74429c6a3758587ac55f67a7757f7aebd89fa0eb3cae29b6ccf82ca7b8d5fadc74429c6a3758587ac5fa5ae081e6a7d7402912e307d4b5e338a72e0518f92d57628a0ccaa0a44a9ae8fa5ae081e6a7d7402912e307d4b5e338a72e0518f92d57628a0ccaa0a44a9ae8fa5ae081e6a7d7402912e307d4b5e338a72e0518f92d57628a0ccaa0a44a9ae8f85c4a79e365eac867bad15a39edbad7209feb69e95954f675e524c4c0a61687f85c4a79e365eac867bad15a39edbad7209feb69e95954f675e524c4c0a61687f85c4a79e365eac867bad15a39edbad7209feb69e95954f675e524c4c0a6168719cad5a18db63d2cf37ccbc75166d186166c32f44f89d898bf47ba5016e6de915ec85038c527bd87cc6a9f8842324329097cf599462e886536d13211343c7717666649ba205681dc9a3e0650a4ab7b8752ca3788115b7e9ba76df89456e827d6a64613077bd6869c8bb9d72adcd91e21adbb928a3f4c465742a44fa626657775b39bafe8593c3edfff894c8b2ec1da5fcc8db11e2e4af39d2664c3140c44660389c7b021569ffdb865944c6dab803751808ef827ad4e9a51b727148faf99cd4ae6830c99b005e278f0cc06df5dcb2e153278f8a97634411f09627424f569bfc2be2329afabb2ba713e7b2deae1a1a3b0645a4322bc05a2e9496563da8a7763b27aa51c1ee046da0cdec8f9ac06d72a7741a1dd4a12491e3a3c8eb2c87094f1695157907c78f7584cbd8ded6a2518ef3ae01c0470af8306c9c93f2b16b277290e00e04e61db9e6b254ca53394e308751332fa1822d16a2074cbf51d96fd41e0a46ab75d4fda8f38feffce4cd5d0e122f907aac22cb7676293a5f687c6b1bd92beebc8ce658ee81b4ce7f62fc44193fd1bc4e762f3784cb3568323a5e4ab39b9350bd10fabe5314c160aea7aff21f59a9f5cd272d97327fbf391e096df3dcfc6f421985730bd2ffb40038363e5e23f0b2bfb774beece233e2d94a71a1b6b93a4daa8a8e4b6a10d6287210bc33113bfb2b739c6cfaea99717690945045e683b3b9bd09e5eceb09b486c3f8bda429cc1b1927ef65e568d583b37de53f4f9812771f3bbbc16cb8b42e626b7562a7a9c8febd810c759f844bbedab2d3425b674da47a02bf6d64629d2d92fb168cef69af9a7f19b425e19db07c5ce2a0c8f40a2f972962bf6d64629d2d92fb168cef69af9a7f19b425e19db07c5ce2a0c8f40a2f972962bf6d64629d2d92fb168cef69af9a7f19b425e19db07c5ce2a0c8f40a2f9729674ecb792850b52cdf258fc96e06fb916fb28816042afaf918802bf5631c2e5f274ecb792850b52cdf258fc96e06fb916fb28816042afaf918802bf5631c2e5f274ecb792850b52cdf258fc96e06fb916fb28816042afaf918802bf5631c2e5f2230393a575869a2784757bd043ff66c820a071c835ea077788e9a1dff4d3089d7f6eadc49888a68750617669bb873e67e22cc71fb120d6e32e1d0a7c93bf411b230393a575869a2784757bd043ff66c820a071c835ea077788e9a1dff4d3089d367a62d619f24f6b3ccf5b34feabc79b25f282a4bb29d859af871f5e05b41db8367a62d619f24f6b3ccf5b34feabc79b25f282a4bb29d859af871f5e05b41db8367a62d619f24f6b3ccf5b34feabc79b25f282a4bb29d859af871f5e05b41db8e30af46ac04939f3df0f7a11043f76c592a55dd3637a424800f5f4e6c4ae62cbe30af46ac04939f3df0f7a11043f76c592a55dd3637a424800f5f4e6c4ae62cbe30af46ac04939f3df0f7a11043f76c592a55dd3637a424800f5f4e6c4ae62cbdbab9893757fb49aeb064ca878f6d4fe9f85eefa38a7da88671a30b23cd3f465dbab9893757fb49aeb064ca878f6d4fe9f85eefa38a7da88671a30b23cd3f465dbab9893757fb49aeb064ca878f6d4fe9f85eefa38a7da88671a30b23cd3f4657013891ec034c31819f502215267800346eb5a908ff30c71c9745a90f2879de47013891ec034c31819f502215267800346eb5a908ff30c71c9745a90f2879de47013891ec034c31819f502215267800346eb5a908ff30c71c9745a90f2879de48ff565dc483c176f962ced7580a0f051726f3040e92aad8268b1dba884a2563d8ff565dc483c176f962ced7580a0f051726f3040e92aad8268b1dba884a2563d8ff565dc483c176f962ced7580a0f051726f3040e92aad8268b1dba884a2563d367378195ee1dc3eb75fb9f56840196421b255d332d0c0607761fc118d5c55206240771e11996f0ca32a033c6cb3c98d6c62261d2f5dd3dd8a194d43a96e077e367378195ee1dc3eb75fb9f56840196421b255d332d0c0607761fc118d5c552099078c2637f928f514c0ee745fd91354db8de8e44713f4022339ba76b2b7917e7da14f0dda249f722081b50e17dc6e7b18282beb69c2ef5eeefc30c6e145f1a399078c2637f928f514c0ee745fd91354db8de8e44713f4022339ba76b2b7917eb96ea0c48e3d8fd194a2d85632301c73838b925075fe21a6023bebca1effb7c2b96ea0c48e3d8fd194a2d85632301c73838b925075fe21a6023bebca1effb7c2b96ea0c48e3d8fd194a2d85632301c73838b925075fe21a6023bebca1effb7c20618d6c165cf1c7b043a940277006804772708d3b099600e1b3668f260b60a130618d6c165cf1c7b043a940277006804772708d3b099600e1b3668f260b60a130618d6c165cf1c7b043a940277006804772708d3b099600e1b3668f260b60a13cb226f9cd99f7a80db68391bc9e4cbfdc8b7488c4ce2fdf345235fd0d0ffb3bda749c8fe6588bfd91a9f13e42def8ee4b988d3354d5eb733d0f16f26f8facf65282f1825ab17973059621d92863eb385a7246d3583bdef5f82e142cff58d7f65a8831a626d02e171d8f81c0ecb15bcc6bbc8fb7db99d2eb53b56e0f9843e24b12d7dd1368e34002c3050d92b380ebeba2751157500b2fb92c3288e5cc098108bbd3cce633e135598602525d1dc137fd129c1e3df182506a4ea90de5aff877d2ab94bdbbff4c10843000d6f8e697221e5362b598afab0680397bbe88a6d3adfbe154919b15d47165081f349415090ea49d9b9509c4c9432ccb183201f0b67c93134f10ee69edee4a879ff88e15b00b09466e1df3a1bb6080673c215e17e305bb127e4d7b2a2e9f816ed19edc6278c9c633265c727acc041e6624421411dc29bb1rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython39-core-3.9.20-150300.4.58.1.src.rpmpython39-testsuitepython39-testsuite(ppc-64)@@@@@@@@     /bin/bashlibc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libm.so.6()(64bit)libm.so.6(GLIBC_2.17)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)python(abi)python39python39-tkrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.93.9.203.9.203.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3g5@g4g$g6f5fcf@fٝ@fٝ@fըf@fafIf@f|fuk@fe!@eZe @e؈eԔ@ee4@did˖d@d@d8dd dVA@dRLd>@c>@c@cӼcGcck@cc@cRcOccb?bbb?@b@a@aaan@a}3af@a.a(a'@aa@`@`g@``r```@`N@`/@`"y@`!'`_T__԰_ _v@_u@_P_|\@_m_O@_N7_>e__@__A@___ @_X@_X@_X@_X@_X@_X@_X@_X@_X@^z^z^z^z^)@^^^^@^(@^3^@^'@^H^|@^h^`^>^>^8 @^8 @^ P@^[]f@]f@]]]]W]]c@]]]z@](]]]@]V]w@]i]g@]W@]Ik]6]!]G@\\9\~\@\\@\7\+@\\s\b@\b@\Q\C@\4\4\,\2\\\\&@[[@[^[ @[ͻ[ͻ[$@[ā@[/[[@["@[D[;e@[6@[4ZnZ@Z@ZZԐ@Zx@Z@Z Z Z Zz@ZxG@Zhu@Z`@ZLZ"Z }YYX@Yo@YY@YY@Y@YP@YI@XӸXƉXqX@Xv@W@V@Vm@VVhVCV }@U@U@U@U@UU[%UT@UT@UCjU@TeTBV@T;mcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@suse.commcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eupmonreal@suse.commcepl@suse.commcepl@suse.commcepl@cepl.eudaniel.garcia@suse.commcepl@cepl.eudaniel.garcia@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comsteven.kowalik@suse.commcepl@suse.commcepl@suse.comkukuk@suse.commliska@suse.czmcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comsteven.kowalik@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comsteven.kowalik@suse.commcepl@suse.commcepl@suse.comsteven.kowalik@suse.commcepl@suse.commcepl@suse.comdimstar@opensuse.orgmcepl@suse.commcepl@suse.comschwab@suse.deqydwhotmail@gmail.commcepl@suse.commcepl@suse.commcepl@suse.comdmueller@suse.comdcermak@suse.commcepl@suse.commcepl@suse.comcode@bnavigator.demcepl@suse.commcepl@suse.comsteven.kowalik@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comcode@bnavigator.demcepl@suse.commcepl@suse.comdimstar@opensuse.orgmcepl@suse.comdimstar@opensuse.orgmcepl@suse.commcepl@suse.comschwab@suse.decallumjfarmer13@gmail.commcepl@suse.comcallumjfarmer13@gmail.comcallumjfarmer13@gmail.comtchvatal@suse.comtchvatal@suse.commcepl@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.comdmueller@suse.comandreas.stieger@gmx.decallumjfarmer13@gmail.commcepl@suse.commcepl@suse.comschwab@suse.demcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.commliska@suse.czmcepl@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.comstefan.bruens@rwth-aachen.destefan.bruens@rwth-aachen.demcepl@suse.commcepl@suse.commgorse@suse.comtchvatal@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.combwiedemann@suse.comtchvatal@suse.commcepl@suse.comguillaume.gardet@opensuse.orgjayvdb@gmail.commcepl@suse.commcepl@suse.commcepl@suse.comschwab@suse.demcepl@suse.commliska@suse.czmcepl@suse.commcepl@suse.commcepl@suse.comjayvdb@gmail.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.comtchvatal@suse.commcepl@suse.comtoddrme2178@gmail.commcepl@suse.comjengelh@inai.demcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.commimi.vx@gmail.comhpj@urpla.netjengelh@inai.detchvatal@suse.comtchvatal@suse.comtchvatal@suse.commimi.vx@gmail.comadam@mizerski.plschwab@suse.debwiedemann@suse.comtchvatal@suse.comtchvatal@suse.comnormand@linux.vnet.ibm.comjmatejek@suse.comnormand@linux.vnet.ibm.comjmatejek@suse.comdimstar@opensuse.orgmimi.vx@gmail.comjmatejek@suse.comdmueller@suse.comvcizek@suse.comjengelh@inai.deschwab@suse.dejmatejek@suse.comkukuk@suse.dejmatejek@suse.comjmatejek@suse.comasn@cryptomilk.orgjmatejek@suse.comjmatejek@suse.combwiedemann@suse.comjmatejek@suse.comjmatejek@suse.comjmatejek@suse.comschwab@suse.detoddrme2178@gmail.comarichardson.kde@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comjmatejek@suse.comdimstar@opensuse.orgjmatejek@suse.comfisiu@opensuse.orgdimstar@opensuse.orgmeissner@suse.comschwab@suse.dejmatejek@suse.comjmatejek@suse.commailaender@opensuse.orgrguenther@suse.comp.drouand@gmail.comcrrodriguez@opensuse.orgjmatejek@suse.com- Remove -IVendor/ from python-config boo#1231795- Add CVE-2024-11168-validation-IPv6-addrs.patch fixing bsc#1233307 (CVE-2024-11168, gh#python/cpython#103848): Improper validation of IPv6 and IPvFuture addresses.- Update CVE-2024-9287-venv_path_unquoted.patch according to the upstream PR gh#python/cpython!126301.- Add CVE-2024-9287-venv_path_unquoted.patch to properly quote path names provided when creating a virtual environment (bsc#1232241, CVE-2024-9287)- Drop .pyc files from docdir for reproducible builds (bsc#1230906).- Add sphinx-802.patch to overcome working both with the most recent and older Sphinx versions.- Update to 3.9.20: - Tests - gh-112769: The tests now correctly compare zlib version when :const:`zlib.ZLIB_RUNTIME_VERSION` contains non-integer suffixes. For example zlib-ng defines the version as ``1.3.0.zlib-ng``. - gh-117187: Fix XML tests for vanilla Expat <2.6.0. - Security - gh-123678: Upgrade libexpat to 2.6.3 - gh-121957: Fixed missing audit events around interactive use of Python, now also properly firing for ``python -i``, as well as for ``python -m asyncio``. The event in question is ``cpython.run_stdin``. - gh-122133: Authenticate the socket connection for the ``socket.socketpair()`` fallback on platforms where ``AF_UNIX`` is not available like Windows. Patch by Gregory P. Smith and Seth Larson . Reported by Ellie - gh-121285: Remove backtracking from tarfile header parsing for ``hdrcharset``, PAX, and GNU sparse headers (bsc#1230227, CVE-2024-6232). - gh-118486: :func:`os.mkdir` on Windows now accepts *mode* of ``0o700`` to restrict the new directory to the current user. This fixes CVE-2024-4030 affecting :func:`tempfile.mkdtemp` in scenarios where the base temporary directory is more permissive than the default. - gh-114572: :meth:`ssl.SSLContext.cert_store_stats` and :meth:`ssl.SSLContext.get_ca_certs` now correctly lock access to the certificate store, when the :class:`ssl.SSLContext` is shared across multiple threads (bsc#1226447, CVE-2024-0397). - gh-116741: Update bundled libexpat to 2.6.2 - Library - gh-123270: Applied a more surgical fix for malformed payloads in :class:`zipfile.Path` causing infinite loops (gh-122905) without breaking contents using legitimate characters (bsc#1229704, CVE-2024-8088). - gh-123067: Fix quadratic complexity in parsing ``"``-quoted cookie values with backslashes by :mod:`http.cookies` (bsc#1229596, CVE-2024-7592). - gh-121650: :mod:`email` headers with embedded newlines are now quoted on output. The :mod:`~email.generator` will now refuse to serialize (write) headers that are unsafely folded or delimited; see :attr:`~email.policy.Policy.verify_generated_headers`. (Contributed by Bas Bloemsaat and Petr Viktorin in :gh:`121650`; CVE-2024-6923, bsc#1228780). - gh-113171: Fixed various false positives and false negatives in * :attr:`ipaddress.IPv4Address.is_private` (see these docs for details) * :attr:`ipaddress.IPv4Address.is_global` * :attr:`ipaddress.IPv6Address.is_private` * :attr:`ipaddress.IPv6Address.is_global` Also in the corresponding :class:`ipaddress.IPv4Network` and :class:`ipaddress.IPv6Network` attributes Fixes bsc#1226448 (CVE-2024-4032). - gh-102988: :func:`email.utils.getaddresses` and :func:`email.utils.parseaddr` now return ``('', '')`` 2-tuples in more situations where invalid email addresses are encountered instead of potentially inaccurate values. Add optional *strict* parameter to these two functions: use ``strict=False`` to get the old behavior, accept malformed inputs. ``getattr(email.utils, 'supports_strict_parsing', False)`` can be use to check if the *strict* paramater is available. Patch by Thomas Dwyer and Victor Stinner to improve the CVE-2023-27043 fix (bsc#1210638). - gh-67693: Fix :func:`urllib.parse.urlunparse` and :func:`urllib.parse.urlunsplit` for URIs with path starting with multiple slashes and no authority. Based on patch by Ashwin Ramaswami. - Core and Builtins - gh-112275: A deadlock involving ``pystate.c``'s ``HEAD_LOCK`` in ``posixmodule.c`` at fork is now fixed. Patch by ChuBoning based on previous Python 3.12 fix by Victor Stinner. - Remove upstreamed patches: - CVE-2023-27043-email-parsing-errors.patch - CVE-2024-6232-cookies-quad-complex.patch - CVE-2024-4032-private-IP-addrs.patch - CVE-2024-0397-memrace_ssl.SSLContext_cert_store.patch - CVE-2024-8088-inf-loop-zipfile_Path.patch - CVE-2024-6923-email-hdr-inject.patch- Add CVE-2024-6232-cookies-quad-complex.patch to avoid quadratic complexity in parsing tarfile headers (bsc#1230227, CVE-2024-6232).- Add CVE-2023-52425-libexpat-2.6.0-backport.patch to fix tests with patched libexpat below 2.6.0 that doesn't update the version number, just in SLE. - Remove old-libexpat.patch, of course.- Add gh120226-fix-sendfile-test-kernel-610.patch to avoid failing test_sendfile_close_peer_in_the_middle_of_receiving tests on Linux >= 6.10 (GH-120227).- Add CVE-2024-8088-inf-loop-zipfile_Path.patch to prevent malformed payload to cause infinite loops in zipfile.Path (bsc#1229704, CVE-2024-8088).- Add CVE-2024-6923-email-hdr-inject.patch to prevent email header injection due to unquoted newlines (bsc#1228780, CVE-2024-6923). - Adding bso1227999-reproducible-builds.patch fixing bsc#1227999 adding reproducibility patches from gh#python/cpython!121872 and gh#python/cpython!121883. - Add CVE-2024-5642-OpenSSL-API-buf-overread-NPN.patch removing support for anything but OpenSSL 1.1.1 or newer (bsc#1227233, CVE-2024-5642). - %{profileopt} variable is set according to the variable %{do_profiling} (bsc#1227999)- Remove %suse_update_desktop_file macro as it is not useful any more.- Stop using %%defattr, it seems to be breaking proper executable attributes on /usr/bin/ scripts (bsc#1227378).- Add CVE-2024-4032-private-IP-addrs.patch to fix bsc#1226448 (CVE-2024-4032) rearranging definition of private v global IP addresses.- Add CVE-2024-0397-memrace_ssl.SSLContext_cert_store.patch fixing bsc#1226447 (CVE-2024-0397) by removing memory race condition in ssl.SSLContext certificate store methods.- Add old-libexpat.patch making the test suite work with libexpat < 2.6.0 (gh#python/cpython#117187).- Update to 3.9.19: - Security - gh-115398: Allow controlling Expat >=2.6.0 reparse deferral (CVE-2023-52425, bsc#1219559) by adding five new methods: xml.etree.ElementTree.XMLParser.flush() xml.etree.ElementTree.XMLPullParser.flush() xml.parsers.expat.xmlparser.GetReparseDeferralEnabled() xml.parsers.expat.xmlparser.SetReparseDeferralEnabled() xml.sax.expatreader.ExpatParser.flush() - gh-115399: Update bundled libexpat to 2.6.0 - gh-113659: Skip .pth files with names starting with a dot or hidden file attribute. - Core and Builtins - gh-102388: Fix a bug where iso2022_jp_3 and iso2022_jp_2004 codecs read out of bounds - Library - gh-115197: urllib.request no longer resolves the hostname before checking it against the system’s proxy bypass list on macOS and Windows. - gh-115133: Fix tests for XMLPullParser with Expat 2.6.0. - gh-81194: Fix a crash in socket.if_indextoname() with specific value (UINT_MAX). Fix an integer overflow in socket.if_indextoname() on 64-bit non-Windows platforms. - gh-109858: Protect zipfile from “quoted-overlap” zipbomb. It now raises BadZipFile when try to read an entry that overlaps with other entry or central directory (CVE-2024-0450, bsc#1221854). - gh-107077: Seems that in some conditions, OpenSSL will return SSL_ERROR_SYSCALL instead of SSL_ERROR_SSL when a certification verification has failed, but the error parameters will still contain ERR_LIB_SSL and SSL_R_CERTIFICATE_VERIFY_FAILED. We are now detecting this situation and raising the appropiate ssl.SSLCertVerificationError. Patch by Pablo Galindo - gh-91133: Fix a bug in tempfile.TemporaryDirectory cleanup, which now no longer dereferences symlinks when working around file system permission errors (CVE-2023-6597, bsc#1219666). - Documentation - gh-115399: Document CVE-2023-52425 of Expat <2.6.0 under “XML vulnerabilities”. - Tools/Demos - gh-109991: Update GitHub CI workflows to use OpenSSL 3.0.11 and multissltests to use 1.1.1w and 3.0.11. - Remove upstreamed patches: - CVE-2023-6597-TempDir-cleaning-symlink.patch - libexpat260.patch - Refreshed patches: - F00251-change-user-install-location.patch - python-3.3.0b1-localpath.patch- Use the system-wide crypto-policies [bsc#1211301] * Use the system default cipher list instead of hardcoded values * Add the --with-ssl-default-suites=openssl configure option- Update SPEC file to build on SLE-15-SP5 (jsc#PED-7886).- (bsc#1219666, CVE-2023-6597) Add CVE-2023-6597-TempDir-cleaning-symlink.patch (patch from gh#python/cpython!99930) fixing symlink bug in cleanup of tempfile.TemporaryDirectory. - Repurpose skip-failing-tests.patch to increase timeout for test.test_asyncio.test_tasks.TimeoutTests.test_timeout_time, which fails on slow machines in IBS (s390x).- Remove double definition of /usr/bin/idle%%{version} in %%files.- Add upstream patch libexpat260.patch, Fix tests for XMLPullParser with Expat 2.6.0, gh#python/cpython#115289- Refresh CVE-2023-27043-email-parsing-errors.patch to gh#python/cpython!111116, fixing bsc#1210638 (CVE-2023-27043). - Thus we can remove Revert-gh105127-left-tests.patch, which is now useless.- Update to 3.9.18 (bsc#1214692): - (bsc#1215454, gh-108310) Fixed an issue where instances of ssl.SSLSocket were vulnerable to a bypass of the TLS handshake and included protections (like certificate verification) and treating sent unencrypted data as if it were post-handshake TLS encrypted data. Security issue reported as CVE-2023-40217 by Aapo Oksman. Patch by Gregory P. Smith. - gh-107845: tarfile.data_filter() now takes the location of symlinks into account when determining their target, so it will no longer reject some valid tarballs with LinkOutsideDestinationError. - gh-107565: Update multissltests and GitHub CI workflows to use OpenSSL 1.1.1v, 3.0.10, and 3.1.2. - Refresh all patches: - 98437-sphinx.locale._-as-gettext-in-pyspecific.patch - 99366-patch.dict-can-decorate-async.patch - Revert-gh105127-left-tests.patch - bpo-31046_ensurepip_honours_prefix.patch - decimal.patch - distutils-reproducible-compile.patch - gh-78214-marshal_stabilize_FLAG_REF.patch - python-3.3.0b1-localpath.patch - python-3.3.0b1-test-posix_fadvise.patch - python3-imp-returntype.patch - subprocess-raise-timeout.patch - support-expat-CVE-2022-25236-patched.patch - downport-Sphinx-features.patch- IT MEANS THAT bsc#1210638 STILL HAS NOT BEEN FIXED! - Add Revert-gh105127-left-tests.patch (gh#python/cpython!106941) partially reverting CVE-2023-27043-email-parsing-errors.patch, because of the regression in gh#python/cpython#106669. - (bsc#1210638, CVE-2023-27043) Add CVE-2023-27043-email-parsing-errors.patch, which detects email address parsing errors and returns empty tuple to indicate the parsing error (old API). (The patch is faulty, gh#python/cpython#106669, but upstream decided not to just revert it).- Add bpo-37596-make-set-marshalling.patch making marshalling of `set` and `frozenset` deterministic (bsc#1211765).- Add gh-78214-marshal_stabilize_FLAG_REF.patch to marshal.c for stabilizing FLAG_REF usage (required for reproduceability; bsc#1213463).- Revert faulty fix for CVE-2023-27043 (gh#python/cpython#106669)- Add downport-Sphinx-features.patch to make documentation buildable even on SLE-15.- Update to 3.9.17 (bsc#1212015): - gh-103142: The version of OpenSSL used in Windows and Mac installers has been upgraded to 1.1.1u to address CVE-2023-2650, CVE-2023-0465, CVE-2023-0466, CVE-2023-0464, as well as CVE-2023-0286, CVE-2022-4303, and CVE-2022-4303 fixed previously in 1.1.1t (gh-101727). - gh-102153: urllib.parse.urlsplit() now strips leading C0 control and space characters following the specification for URLs defined by WHATWG in response to CVE-2023-24329 (bsc#1208471). - gh-99889: Fixed a security in flaw in uu.decode() that could allow for directory traversal based on the input if no out_file was specified. - gh-104049: Do not expose the local on-disk location in directory indexes produced by http.client.SimpleHTTPRequestHandler. - gh-103935: trace.__main__ now uses io.open_code() for files to be executed instead of raw open(). - gh-102953: The extraction methods in tarfile, and shutil.unpack_archive(), have a new filter argument that allows limiting tar features than may be surprising or dangerous, such as creating files outside the destination directory. See Extraction filters for details (fixing CVE-2007-4559, bsc#1203750). - gh-102126: Fixed a deadlock at shutdown when clearing thread states if any finalizer tries to acquire the runtime head lock. - gh-100892: Fixed a crash due to a race while iterating over thread states in clearing threading.local. - Remove upstreamed patches: - CVE-2023-24329-blank-URL-bypass.patch - CVE-2007-4559-filter-tarfile_extractall.patch- Add 99366-patch.dict-can-decorate-async.patch fixing gh#python/cpython#98086 (backport from Python 3.10 patch in gh#python/cpython!99366), fixing bsc#1211158.- Add CVE-2007-4559-filter-tarfile_extractall.patch to fix CVE-2007-4559 (bsc#1203750) by adding the filter for tarfile.extractall (PEP 706).- Use python3 modules to build the documentation.- Add CVE-2023-24329-blank-URL-bypass.patch (CVE-2023-24329, bsc#1208471) blocklists bypass via the urllib.parse component when supplying a URL that starts with blank characters- Add provides for readline and sqlite3 to the main Python package.- Disable NIS for new products, it's deprecated and gets removed- Suppress warnings for Sphinx 6.0+.- Update to 3.9.16: - python -m http.server no longer allows terminal control characters sent within a garbage request to be printed to the stderr server log. This is done by changing the http.server BaseHTTPRequestHandler .log_message method to replace control characters with a \xHH hex escape before printing. - Avoid publishing list of active per-interpreter audit hooks via the gc module - The IDNA codec decoder used on DNS hostnames by socket or asyncio related name resolution functions no longer involves a quadratic algorithm. This prevents a potential CPU denial of service if an out-of-spec excessive length hostname involving bidirectional characters were decoded. Some protocols such as urllib http 3xx redirects potentially allow for an attacker to supply such a name (CVE-2015-20107). - Update bundled libexpat to 2.5.0 - Port XKCP’s fix for the buffer overflows in SHA-3 (CVE-2022-37454). - On Linux the multiprocessing module returns to using filesystem backed unix domain sockets for communication with the forkserver process instead of the Linux abstract socket namespace. Only code that chooses to use the “forkserver” start method is affected. Abstract sockets have no permissions and could allow any user on the system in the same network namespace (often the whole system) to inject code into the multiprocessing forkserver process. This was a potential privilege escalation. Filesystem based socket permissions restrict this to the forkserver process user as was the default in Python 3.8 and earlier. This prevents Linux CVE-2022-42919. - The deprecated mailcap module now refuses to inject unsafe text (filenames, MIME types, parameters) into shell commands. Instead of using such text, it will warn and act as if a match was not found (or for test commands, as if the test failed). - Removed upstreamed patches: - CVE-2015-20107-mailcap-unsafe-filenames.patch - CVE-2022-42919-loc-priv-mulitproc-forksrv.patch - CVE-2022-45061-DoS-by-IDNA-decode.patch- Add CVE-2022-45061-DoS-by-IDNA-decode.patch to avoid CVE-2022-45061 (bsc#1205244) allowing DoS by IDNA decoding extremely long domain names.- Add CVE-2022-42919-loc-priv-mulitproc-forksrv.patch to avoid CVE-2022-42919 (bsc#1204886) avoiding Linux specific local privilege escalation via the multiprocessing forkserver start method.- Add 98437-sphinx.locale._-as-gettext-in-pyspecific.patch to allow building of documentation with the latest Sphinx 5.3.0 (gh#python/cpython#98366).- Update to 3.9.15: - Fix multiplying a list by an integer (list *= int): detect the integer overflow when the new allocated length is close to the maximum size. - Fix a shell code injection vulnerability in the get-remote-certificate.py example script. The script no longer uses a shell to run openssl commands. (originally filed as CVE-2022-37460, later withdrawn) - Fix command line parsing: reject -X int_max_str_digits option with no value (invalid) when the PYTHONINTMAXSTRDIGITS environment variable is set to a valid limit. - When ValueError is raised if an integer is larger than the limit, mention the sys.set_int_max_str_digits() function in the error message. - Update bundled libexpat to 2.4.9- Update to 3.9.14: - (CVE-2020-10735, bsc#1203125). Converting between int and str in bases other than 2 (binary), 4, 8 (octal), 16 (hexadecimal), or 32 such as base 10 (decimal) now raises a ValueError if the number of digits in string form is above a limit to avoid potential denial of service attacks due to the algorithmic complexity. This new limit can be configured or disabled by environment variable, command line flag, or sys APIs. See the integer string conversion length limitation documentation. The default limit is 4300 digits in string form. - Also other bug fixes: - http.server: Fix an open redirection vulnerability in the HTTP server when an URI path starts with //. Vulnerability discovered, and initial fix proposed, by Hamza Avvan. - Fix contextvars HAMT implementation to handle iteration over deep trees. The bug was discovered and fixed by Eli Libman. See MagicStack/immutables#84 for more details. - Fix binding of unix socket to empty address on Linux to use an available address from the abstract namespace, instead of “0”. - Suppress writing an XML declaration in open files in ElementTree.write() with encoding='unicode' and xml_declaration=None. - Fix the formatting for await x and not x in the operator precedence table when using the help() system. - Fix ensurepip environment isolation for subprocess running pip. - Fix problem with test_ssl test_get_ciphers on systems that require perfect forward secrecy (PFS) ciphers. - test_ssl is now checking for supported TLS version and protocols in more tests. - Removed upstreamed patches: - CVE-2021-28861-double-slash-path.patch - Realign patches: - bpo-31046_ensurepip_honours_prefix.patch - sphinx-update-removed-function.patch- Add patch CVE-2021-28861-double-slash-path.patch: * http.server: Fix an open redirection vulnerability in the HTTP server when an URI path starts with //. (bsc#1202624, CVE-2021-28861)- Switch from %primary_interpreter to prjconf-defined %primary_python (gh#openSUSE/python-rpm-macros#127).- Add CVE-2015-20107-mailcap-unsafe-filenames.patch to avoid CVE-2015-20107 (bsc#1198511, gh#python/cpython#68966), the command injection in the mailcap module. - Fix building of documentation and the universal configuration of the %primary_interpreter. - (bsc#1196784, CVE-2022-25236) Rename patch: support-expat-245.patch to support-expat-CVE-2022-25236-patched.patch and update the patch to detect expat >= 2.4.4 instead of >= 2.4.5 as it was fully patched against CVE-2022-25236.- Update to 3.9.13: - Core and Builtins - gh-92311: Fixed a bug where setting frame.f_lineno to jump over a list comprehension could misbehave or crash. - gh-92112: Fix crash triggered by an evil custom mro() on a metaclass. - gh-92036: Fix a crash in subinterpreters related to the garbage collector. When a subinterpreter is deleted, untrack all objects tracked by its GC. To prevent a crash in deallocator functions expecting objects to be tracked by the GC, leak a strong reference to these objects on purpose, so they are never deleted and their deallocator functions are not called. Patch by Victor Stinner. - gh-91421: Fix a potential integer overflow in _Py_DecodeUTF8Ex. - bpo-46775: Some Windows system error codes(>= 10000) are now mapped into the correct errno and may now raise a subclass of OSError. Patch by Dong-hee Na. - bpo-46962: Classes and functions that unconditionally declared their docstrings ignoring the - -without-doc-strings compilation flag no longer do so. - The classes affected are pickle.PickleBuffer, testcapi.RecursingInfinitelyError, and types.GenericAlias. - The functions affected are 24 methods in ctypes. - Patch by Oleg Iarygin. - bpo-36819: Fix crashes in built-in encoders with error handlers that return position less or equal than the starting position of non-encodable characters. - Library - gh-91581: utcfromtimestamp() no longer attempts to resolve fold in the pure Python implementation, since the fold is never 1 in UTC. In addition to being slightly faster in the common case, this also prevents some errors when the timestamp is close to datetime.min. Patch by Paul Ganssle. - gh-92530: Fix an issue that occurred after interrupting threading.Condition.notify(). - gh-92049: Forbid pickling constants re._constants.SUCCESS etc. Previously, pickling did not fail, but the result could not be unpickled. - bpo-47029: Always close the read end of the pipe used by multiprocessing.Queue after the last write of buffered data to the write end of the pipe to avoid BrokenPipeError at garbage collection and at multiprocessing.Queue.close() calls. Patch by Géry Ogam. - gh-91910: Add missing f prefix to f-strings in error messages from the multiprocessing and asyncio modules. - gh-91810: ElementTree method write() and function tostring() now use the text file’s encoding (“UTF-8” if not available) instead of locale encoding in XML declaration when encoding="unicode" is specified. - gh-91832: Add required attribute to argparse.Action repr output. - gh-91734: Fix OSS audio support on Solaris. - gh-91700: Compilation of regular expression containing a conditional expression (?(group)...) now raises an appropriate re.error if the group number refers to not defined group. Previously an internal RuntimeError was raised. - gh-91676: Fix unittest.IsolatedAsyncioTestCase to shutdown the per test event loop executor before returning from its run method so that a not yet stopped or garbage collected executor state does not persist beyond the test. - gh-90568: Parsing \N escapes of Unicode Named Character Sequences in a regular expression raises now re.error instead of TypeError. - gh-91595: Fix the comparison of character and integer inside Tools.gdb.libpython.write_repr(). Patch by Yu Liu. - gh-90622: Worker processes for concurrent.futures.ProcessPoolExecutor are no longer spawned on demand (a feature added in 3.9) when the multiprocessing context start method is "fork" as that can lead to deadlocks in the child processes due to a fork happening while threads are running. - gh-91575: Update case-insensitive matching in the re module to the latest Unicode version. - gh-91581: Remove an unhandled error case in the C implementation of calls to datetime.fromtimestamp with no time zone (i.e. getting a local time from an epoch timestamp). This should have no user-facing effect other than giving a possibly more accurate error message when called with timestamps that fall on 10000-01-01 in the local time. Patch by Paul Ganssle. - bpo-34480: Fix a bug where _markupbase raised an UnboundLocalError when an invalid keyword was found in marked section. Patch by Marek Suscak. - bpo-27929: Fix asyncio.loop.sock_connect() to only resolve names for socket.AF_INET or socket.AF_INET6 families. Resolution may not make sense for other families, like socket.AF_BLUETOOTH and socket.AF_UNIX. - bpo-43323: Fix errors in the email module if the charset itself contains undecodable/unencodable characters. - bpo-46787: Fix concurrent.futures.ProcessPoolExecutor exception memory leak - bpo-46415: Fix ipaddress.ip_{address,interface,network} raising TypeError instead of ValueError if given invalid tuple as address parameter. - bpo-44911: IsolatedAsyncioTestCase will no longer throw an exception while cancelling leaked tasks. Patch by Bar Harel. - bpo-44493: Add missing terminated NUL in sockaddr_un’s length - This was potentially observable when using non-abstract AF_UNIX datagram sockets to processes written in another programming language. - bpo-42627: Fix incorrect parsing of Windows registry proxy settings - bpo-36073: Raise ProgrammingError instead of segfaulting on recursive usage of cursors in sqlite3 converters. Patch by Sergey Fedoseev. - Documentation - gh-91888: Add a new gh role to the documentation to link to GitHub issues. - gh-91783: Document security issues concerning the use of the function shutil.unpack_archive() - gh-91547: Remove “Undocumented modules” page. - bpo-44347: Clarify the meaning of dirs_exist_ok, a kwarg of shutil.copytree(). - bpo-38668: Update the introduction to documentation for os.path to remove warnings that became irrelevant after the implementations of PEP 383 and PEP 529. - bpo-47138: Pin Jinja to a version compatible with Sphinx version 2.4.4. - bpo-46962: All docstrings in code snippets are now wrapped into PyDoc_STR() to follow the guideline of PEP 7’s Documentation Strings paragraph. Patch by Oleg Iarygin. - bpo-26792: Improve the docstrings of runpy.run_module() and runpy.run_path(). Original patch by Andrew Brezovsky. - bpo-45790: Adjust inaccurate phrasing in Defining Extension Types: Tutorial about the ob_base field and the macros used to access its contents. - bpo-42340: Document that in some circumstances KeyboardInterrupt may cause the code to enter an inconsistent state. Provided a sample workaround to avoid it if needed. - bpo-41233: Link the errnos referenced in Doc/library/exceptions.rst to their respective section in Doc/library/errno.rst, and vice versa. Previously this was only done for EINTR and InterruptedError. Patch by Yan “yyyyyyyan” Orestes. - bpo-38056: Overhaul the Error Handlers documentation in codecs. - bpo-13553: Document tkinter.Tk args. - Tests - gh-91607: Fix test_concurrent_futures to test the correct multiprocessing start method context in several cases where the test logic mixed this up. - bpo-47205: Skip test for sched_getaffinity() and sched_setaffinity() error case on FreeBSD. - bpo-29890: Add tests for ipaddress.IPv4Interface and ipaddress.IPv6Interface construction with tuple arguments. Original patch and tests by louisom. - Build - bpo-47103: Windows PGInstrument builds now copy a required DLL into the output directory, making it easier to run the profile stage of a PGO build. - Windows - bpo-47194: Update zlib to v1.2.12 to resolve CVE-2018-25032. - bpo-46785: Fix race condition between os.stat() and unlinking a file on Windows, by using errors codes returned by FindFirstFileW() when appropriate in win32_xstat_impl. - bpo-40859: Update Windows build to use xz-5.2.5 - Tools/Demos - gh-91583: Fix regression in the code generated by Argument Clinic for functions with the defining_class parameter. - Add patch support-expat-245.patch: * Support Expat >= 2.4.4 (jsc#SLE-21253, CVE-2022-25236)- Update to 3.9.12: - bpo-46968: Check for the existence of the “sys/auxv.h” header in faulthandler to avoid compilation problems in systems where this header doesn’t exist. Patch by Pablo Galindo - bpo-47101: hashlib.algorithms_available now lists only algorithms that are provided by activated crypto providers on OpenSSL 3.0. Legacy algorithms are not listed unless the legacy provider has been loaded into the default OSSL context. - bpo-23691: Protect the re.finditer() iterator from re-entering. - bpo-42369: Fix thread safety of zipfile._SharedFile.tell() to avoid a “zipfile.BadZipFile: Bad CRC-32 for file” exception when reading a ZipFile from multiple threads. - bpo-38256: Fix binascii.crc32() when it is compiled to use zlib’c crc32 to work properly on inputs 4+GiB in length instead of returning the wrong result. The workaround prior to this was to always feed the function data in increments smaller than 4GiB or to just call the zlib module function. - bpo-39394: A warning about inline flags not at the start of the regular expression now contains the position of the flag. - bpo-47061: Deprecate the various modules listed by PEP 594: - aifc, asynchat, asyncore, audioop, cgi, cgitb, chunk, crypt, imghdr, msilib, nntplib, nis, ossaudiodev, pipes, smtpd, sndhdr, spwd, sunau, telnetlib, uu, xdrlib - bpo-2604: Fix bug where doctests using globals would fail when run multiple times. - bpo-45997: Fix asyncio.Semaphore re-aquiring FIFO order. - bpo-47022: The asynchat, asyncore and smtpd modules have been deprecated since at least Python 3.6. Their documentation has now been updated to note they will removed in Python 3.12 (PEP 594). - bpo-46421: Fix a unittest issue where if the command was invoked as python -m unittest and the filename(s) began with a dot (.), a ValueError is returned. - bpo-40296: Fix supporting generic aliases in pydoc. - bpo-14156: argparse.FileType now supports an argument of ‘-’ in binary mode, returning the .buffer attribute of sys.stdin/sys.stdout as appropriate. Modes including ‘x’ and ‘a’ are treated equivalently to ‘w’ when argument is ‘-’. Patch contributed by Josh Rosenberg - Update to 3.9.11: - bpo-46852: Rename the private undocumented float.__set_format__() method to float.__setformat__() to fix a typo introduced in Python 3.7. The method is only used by test_float. Patch by Victor Stinner. - bpo-46794: Bump up the libexpat version into 2.4.6 - bpo-46762: Fix an assert failure in debug builds when a ‘<’, ‘>’, or ‘=’ is the last character in an f-string that’s missing a closing right brace. - bpo-46732: Correct the docstring for the __bool__() method. Patch by Jelle Zijlstra. - bpo-40479: Add a missing call to va_end() in Modules/_hashopenssl.c. - bpo-46615: When iterating over sets internally in setobject.c, acquire strong references to the resulting items from the set. This prevents crashes in corner-cases of various set operations where the set gets mutated. - bpo-43721: Fix docstrings of getter, setter, and deleter to clarify that they create a new copy of the property. - bpo-46503: Fix an assert when parsing some invalid N escape sequences in f-strings. - bpo-46417: Fix a race condition on setting a type __bases__ attribute: the internal function add_subclass() now gets the PyTypeObject.tp_subclasses member after calling PyWeakref_NewRef() which can trigger a garbage collection which can indirectly modify PyTypeObject.tp_subclasses. Patch by Victor Stinner. - bpo-46383: Fix invalid signature of _zoneinfo’s module_free function to resolve a crash on wasm32-emscripten platform. - bpo-43253: Fix a crash when closing transports where the underlying socket handle is already invalid on the Proactor event loop. - bpo-47004: Apply bugfixes from importlib_metadata 4.11.3, including bugfix for EntryPoint.extras, which was returning match objects and not the extras strings. - bpo-46985: Upgrade pip wheel bundled with ensurepip (pip 22.0.4, bnc#1186819, CVE-2021-3572) - bpo-46968: faulthandler: On Linux 5.14 and newer, dynamically determine size of signal handler stack size CPython allocates using getauxval(AT_MINSIGSTKSZ). This changes allows for Python extension’s request to Linux kernel to use AMX_TILE instruction set on Sapphire Rapids Xeon processor to succeed, unblocking use of the ISA in frameworks. - bpo-46955: Expose asyncio.base_events.Server as asyncio.Server. Patch by Stefan Zabka. - bpo-46932: Update bundled libexpat to 2.4.7 - bpo-25707: Fixed a file leak in xml.etree.ElementTree.iterparse() when the iterator is not exhausted. Patch by Jacob Walls. - bpo-44886: Inherit asyncio proactor datagram transport from asyncio.DatagramTransport. - bpo-46827: Support UDP sockets in asyncio.loop.sock_connect() for selector-based event loops. Patch by Thomas Grainger. - bpo-46811: Make test suite support Expat >=2.4.5 - bpo-46252: Raise TypeError if ssl.SSLSocket is passed to transport-based APIs. - bpo-46784: Fix libexpat symbols collisions with user dynamically loaded or statically linked libexpat in embedded Python. - bpo-39327: shutil.rmtree() can now work with VirtualBox shared folders when running from the guest operating-system. - bpo-46756: Fix a bug in urllib.request.HTTPPasswordMgr.find_user_password() and urllib.request.HTTPPasswordMgrWithPriorAuth.is_authenticated() which allowed to bypass authorization. For example, access to URI example.org/foobar was allowed if the user was authorized for URI example.org/foo. - bpo-45863: When the tarfile module creates a pax format archive, it will put an integer representation of timestamps in the ustar header (if possible) for the benefit of older unarchivers, in addition to the existing full-precision timestamps in the pax extended header. - bpo-46672: Fix NameError in asyncio.gather() when initial type check fails. - bpo-45948: Fixed a discrepancy in the C implementation of the xml.etree.ElementTree module. Now, instantiating an xml.etree.ElementTree.XMLParser with a target=None keyword provides a default xml.etree.ElementTree.TreeBuilder target as the Python implementation does. - bpo-46591: Make the IDLE doc URL on the About IDLE dialog clickable. - bpo-46400: expat: Update libexpat from 2.4.1 to 2.4.4 - bpo-46487: Add the get_write_buffer_limits method to asyncio.transports.WriteTransport and to the SSL transport. - bpo-46539: In typing.get_type_hints(), support evaluating stringified ClassVar and Final annotations inside Annotated. Patch by Gregory Beauregard. - bpo-46491: Allow typing.Annotated to wrap typing.Final and typing.ClassVar. Patch by Gregory Beauregard. - bpo-46436: Fix command-line option -d/--directory in module http.server which is ignored when combined with command-line option --cgi. Patch by Géry Ogam. - bpo-41403: Make mock.patch() raise a TypeError with a relevant error message on invalid arg. Previously it allowed a cryptic AttributeError to escape. - bpo-46474: In importlib.metadata.EntryPoint.pattern, avoid potential REDoS by limiting ambiguity in consecutive whitespace. - bpo-46469: asyncio generic classes now return types.GenericAlias in __class_getitem__ instead of the same class. - bpo-46434: pdb now gracefully handles help when __doc__ is missing, for example when run with pregenerated optimized .pyc files. - bpo-46333: The __eq__() and __hash__() methods of typing.ForwardRef now honor the module parameter of typing.ForwardRef. Forward references from different modules are now differentiated. - bpo-43118: Fix a bug in inspect.signature() that was causing it to fail on some subclasses of classes with a __text_signature__ referencing module globals. Patch by Weipeng Hong. - bpo-21987: Fix an issue with tarfile.TarFile.getmember() getting a directory name with a trailing slash. - bpo-20392: Fix inconsistency with uppercase file extensions in MimeTypes.guess_type(). Patch by Kumar Aditya. - bpo-46080: Fix exception in argparse help text generation if a argparse.BooleanOptionalAction argument’s default is argparse.SUPPRESS and it has help specified. Patch by Felix Fontein. - bpo-44439: Fix .write() method of a member file in ZipFile, when the input data is an object that supports the buffer protocol, the file length may be wrong. - bpo-45703: When a namespace package is imported before another module from the same namespace is created/installed in a different sys.path location while the program is running, calling the importlib.invalidate_caches() function will now also guarantee the new module is noticed. - bpo-24959: Fix bug where unittest sometimes drops frames from tracebacks of exceptions raised in tests. - bpo-46463: Fixes escape4chm.py script used when building the CHM documentation file - bpo-46913: Fix test_faulthandler.test_sigfpe() if Python is built with undefined behavior sanitizer (UBSAN): disable UBSAN on the faulthandler_sigfpe() function. Patch by Victor Stinner. - bpo-46708: Prevent default asyncio event loop policy modification warning after test_asyncio execution. - bpo-46616: Ensures test_importlib.test_windows cleans up registry keys after completion. - bpo-44359: test_ftplib now silently ignores socket errors to prevent logging unhandled threading exceptions. Patch by Victor Stinner. - bpo-46542: Fix a Python crash in test_lib2to3 when using Python built in debug mode: limit the recursion limit. Patch by Victor Stinner. - bpo-46576: test_peg_generator now disables compiler optimization when testing compilation of its own C extensions to significantly speed up the testing on non-debug builds of CPython. - bpo-46542: Fix test_json tests checking for RecursionError: modify these tests to use support.infinite_recursion(). Patch by Victor Stinner. - bpo-13886: Skip test_builtin PTY tests on non-ASCII characters if the readline module is loaded. The readline module changes input() behavior, but test_builtin is not intented to test the readline module. Patch by Victor Stinner. - bpo-38472: Fix GCC detection in setup.py when cross-compiling. The C compiler is now run with LC_ALL=C. Previously, the detection failed with a German locale. - bpo-46513: configure no longer uses AC_C_CHAR_UNSIGNED macro and pyconfig.h no longer defines reserved symbol __CHAR_UNSIGNED__. - bpo-45925: Update Windows installer to use SQLite 3.37.2. - bpo-45296: Clarify close, quit, and exit in IDLE. In the File menu, ‘Close’ and ‘Exit’ are now ‘Close Window’ (the current one) and ‘Exit’ is now ‘Exit IDLE’ (by closing all windows). In Shell, ‘quit()’ and ‘exit()’ mean ‘close Shell’. If there are no other windows, this also exits IDLE. - bpo-45447: Apply IDLE syntax highlighting to pyi files. Patch by Alex Waygood and Terry Jan Reedy. - Removed upstreamed patches: - support-expat-245.patch- Add patch support-expat-245.patch: * Support Expat >= 2.4.5- Update to 3.9.10: Bugfix-only release- Remove shebangs from from python-base libraries in _libdir (bsc#1193179, bsc#1192249). - Readjust patches: - bpo-31046_ensurepip_honours_prefix.patch - decimal.patch - python-3.3.0b1-fix_date_time_compiler.patch- Update to 3.9.9: * Core and Builtins + bpo-30570: Fixed a crash in issubclass() from infinite recursion when searching pathological __bases__ tuples. + bpo-45494: Fix parser crash when reporting errors involving invalid continuation characters. Patch by Pablo Galindo. + bpo-45385: Fix reference leak from descr_check. Patch by Dong-hee Na. + bpo-45167: Fix deepcopying of types.GenericAlias objects. + bpo-44219: Release the GIL while performing isatty system calls on arbitrary file descriptors. In particular, this affects os.isatty(), os.device_encoding() and io.TextIOWrapper. By extension, io.open() in text mode is also affected. This change solves a deadlock in os.isatty(). Patch by Vincent Michel in bpo-44219. + bpo-44959: Added fallback to extension modules with ‘.sl’ suffix on HP-UX + bpo-44050: Extensions that indicate they use global state (by setting m_size to -1) can again be used in multiple interpreters. This reverts to behavior of Python 3.8. + bpo-45121: Fix issue where Protocol.__init__ raises RecursionError when it’s called directly or via super(). Patch provided by Yurii Karabas. + bpo-45083: When the interpreter renders an exception, its name now has a complete qualname. Previously only the class name was concatenated to the module name, which sometimes resulted in an incorrect full name being displayed. + bpo-45738: Fix computation of error location for invalid continuation characters in the parser. Patch by Pablo Galindo. + Library + bpo-45678: Fix bug in Python 3.9 that meant functools.singledispatchmethod failed to properly wrap the attributes of the target method. Patch by Alex Waygood. + bpo-45679: Fix caching of multi-value typing.Literal. Literal[True, 2] is no longer equal to Literal[1, 2]. + bpo-45438: Fix typing.Signature string representation for generic builtin types. + bpo-45581: sqlite3.connect() now correctly raises MemoryError if the underlying SQLite API signals memory error. Patch by Erlend E. Aasland. + bpo-39679: Fix bug in functools.singledispatchmethod that caused it to fail when attempting to register a classmethod() or staticmethod() using type annotations. Patch contributed by Alex Waygood. + bpo-45515: Add references to zoneinfo in the datetime documentation, mostly replacing outdated references to dateutil.tz. Change by Paul Ganssle. + bpo-45467: Fix incremental decoder and stream reader in the “raw-unicode-escape” codec. Previously they failed if the escape sequence was split. + bpo-45461: Fix incremental decoder and stream reader in the “unicode-escape” codec. Previously they failed if the escape sequence was split. + bpo-45239: Fixed email.utils.parsedate_tz() crashing with UnboundLocalError on certain invalid input instead of returning None. Patch by Ben Hoyt. + bpo-44904: Fix bug in the doctest module that caused it to fail if a docstring included an example with a classmethod property. Patch by Alex Waygood. + bpo-45406: Make inspect.getmodule() catch FileNotFoundError raised by :’func:inspect.getabsfile, and return None to indicate that the module could not be determined. + bpo-45262: Prevent use-after-free in asyncio. Make sure the cached running loop holder gets cleared on dealloc to prevent use-after-free in get_running_loop + bpo-45386: Make xmlrpc.client more robust to C runtimes where the underlying C strftime function results in a ValueError when testing for year formatting options. + bpo-45371: Fix clang rpath issue in distutils. The UnixCCompiler now uses correct clang option to add a runtime library directory (rpath) to a shared library. + bpo-20028: Improve error message of csv.Dialect when initializing. Patch by Vajrasky Kok and Dong-hee Na. + bpo-45343: Update bundled pip to 21.2.4 and setuptools to 58.1.0 + bpo-41710: On Unix, if the sem_clockwait() function is available in the C library (glibc 2.30 and newer), the threading.Lock.acquire() method now uses the monotonic clock (time.CLOCK_MONOTONIC) for the timeout, rather than using the system clock (time.CLOCK_REALTIME), to not be affected by system clock changes. Patch by Victor Stinner. + bpo-45328: Fixed http.client.HTTPConnection to work properly in OSs that don’t support the TCP_NODELAY socket option. + bpo-1596321: Fix the threading._shutdown() function when the threading module was imported first from a thread different than the main thread: no longer log an error at Python exit. + bpo-45274: Fix a race condition in the Thread.join() method of the threading module. If the function is interrupted by a signal and the signal handler raises an exception, make sure that the thread remains in a consistent state to prevent a deadlock. Patch by Victor Stinner. + bpo-45238: Fix unittest.IsolatedAsyncioTestCase.debug(): it runs now asynchronous methods and callbacks. + bpo-36674: unittest.TestCase.debug() raises now a unittest.SkipTest if the class or the test method are decorated with the skipping decorator. + bpo-45235: Fix an issue where argparse would not preserve values in a provided namespace when using a subparser with defaults. + bpo-45234: Fixed a regression in copyfile(), copy(), copy2() raising FileNotFoundError when source is a directory, which should raise IsADirectoryError + bpo-45228: Fix stack buffer overflow in parsing J1939 network address. + bpo-45192: Fix the tempfile._infer_return_type function so that the dir argument of the tempfile functions accepts an object implementing the os.PathLike protocol. + bpo-45160: When tracing a tkinter variable used by a ttk OptionMenu, callbacks are no longer made twice. + bpo-35474: Calling mimetypes.guess_all_extensions() with strict=False no longer affects the result of the following call with strict=True. Also, mutating the returned list no longer affects the global state. + bpo-45166: typing.get_type_hints() now works with Final wrapped in ForwardRef. + bpo-45097: Remove deprecation warnings about the loop argument in asyncio incorrectly emitted in cases when the user does not pass the loop argument. + bpo-45081: Fix issue when dataclasses that inherit from typing.Protocol subclasses have wrong __init__. Patch provided by Yurii Karabas. + bpo-24444: Fixed an error raised in argparse help display when help for an option is set to 1+ blank spaces or when choices arg is an empty container. + bpo-45021: Fix a potential deadlock at shutdown of forked children when using concurrent.futures module + bpo-45030: Fix integer overflow in pickling and copying the range iterator. + bpo-39039: tarfile.open raises ReadError when a zlib error occurs during file extraction. + bpo-44594: Fix an edge case of ExitStack and AsyncExitStack exception chaining. They will now match with block behavior when __context__ is explicitly set to None when the exception is in flight. * Documentation + bpo-45726: Improve documentation for functools.singledispatch() and functools.singledispatchmethod. + bpo-45680: Amend the docs on GenericAlias objects to clarify that non-container classes can also implement __class_getitem__. Patch contributed by Alex Waygood. + bpo-45655: Add a new “relevant PEPs” section to the top of the documentation for the typing module. Patch by Alex Waygood. + bpo-45604: Add level argument to multiprocessing.log_to_stderr function docs. + bpo-45464: Mention in the documentation of Built-in Exceptions that inheriting from multiple exception types in a single subclass is not recommended due to possible memory layout incompatibility. + bpo-45449: Add note about PEP 585 in collections.abc. + bpo-45516: Add protocol description to the importlib.abc.Traversable documentation. + bpo-20692: Add Programming FAQ entry explaining that int literal attribute access requires either a space after or parentheses around the literal. + bpo-45216: Remove extra documentation listing methods in difflib. It was rendering twice in pydoc and was outdated in some places. + bpo-45772: socket.socket documentation is corrected to a class from a function. + bpo-45392: Update the docstring of the type built-in to remove a redundant line and to mention keyword arguments for the constructor. * Tests + bpo-45578: Add tests for dis.distb() + bpo-45577: Add subtests for all pickle protocols in test_zoneinfo. + bpo-43592: test.libregrtest now raises the soft resource limit for the maximum number of file descriptors when the default is too low for our test suite as was often the case on macOS. + bpo-40173: Fix test.support.import_helper.import_fresh_module(). + bpo-45280: Add a test case for empty typing.NamedTuple. + bpo-45269: Cover case when invalid markers type is supplied to c_make_encoder. + bpo-45209: Fix UserWarning: resource_tracker warning in _test_multiprocessing._TestSharedMemory.test_shared_memory_cleaned_after_process_termination + bpo-45195: Fix test_readline.test_nonascii(): sometimes, the newline character is not written at the end, so don’t expect it in the output. Patch by Victor Stinner. + bpo-45156: Fixes infinite loop on unittest.mock.seal() of mocks created by create_autospec(). + bpo-45042: Fixes that test classes decorated with @hashlib_helper.requires_hashdigest were skipped all the time. + bpo-45235: Reverted an argparse bugfix that caused regression in the handling of default arguments for subparsers. This prevented leaf level arguments from taking precedence over root level arguments. + bpo-45765: In importlib.metadata, fix distribution discovery for an empty path. + bpo-45644: In-place JSON file formatting using python3 -m json.tool infile infile now works correctly, previously it left the file empty. Patch by Chris Wesseling. * Build + bpo-43158: setup.py now uses values from configure script to build the _uuid extension module. Configure now detects util-linux’s libuuid, too. + bpo-45571: Modules/Setup now use PY_CFLAGS_NODIST instead of PY_CFLAGS to compile shared modules. + bpo-45532: Update sys.version to use main as fallback information. Patch by Jeong YunWon. + bpo-45405: Prevent internal configure error when running configure with recent versions of non-Apple clang. Patch by David Bohman. + bpo-45220: Avoid building with the Windows 11 SDK previews automatically. This may be overridden by setting the DefaultWindowsSDKVersion environment variable before building. * C API + bpo-44687: BufferedReader.peek() no longer raises ValueError when the entire file has already been buffered. + bpo-44751: Remove crypt.h include from the public Python.h header. - Drop patch incorrect-deprecation-warn-asyncio.patch, fix included.- rpm-build-python dependency is available on the current Factory, not with SLE.- Add incorrect-deprecation-warn-asyncio.patch to fix bpo#45097 (from gh#python/cpython#28153) to remove incorrect deprecation warnings in asyncio.- BuildRequire rpm-build-python: The provider to inject python(abi) has been moved there. rpm-build pulls rpm-build-python automatically in when building anything against python3-base, but this implies that the initial build of python3-base does not trigger the automatic installation.- Update to 3.9.7: - Security - Replaced usage of tempfile.mktemp() with TemporaryDirectory to avoid a potential race condition. - Add auditing events to the marshal module, and stop raising code.__init__ events for every unmarshalled code object. Directly instantiated code objects will continue to raise an event, and audit event handlers should inspect or collect the raw marshal data. This reduces a significant performance overhead when loading from .pyc files. - Made the internal putcmd function in smtplib sanitize input for presence of \r and \n characters to avoid (unlikely) command injection. - Core and Builtins - Fixed pickling of range iterators that iterated for over 2**32 times. - Fix a race in WeakKeyDictionary, WeakValueDictionary and WeakSet when two threads attempt to commit the last pending removal. This fixes asyncio.create_task and fixes a data loss in asyncio.run where shutdown_asyncgens is not run - Fixed a corner case bug where the result of float.fromhex('0x.8p-1074') was rounded the wrong way. - Refine the syntax error for trailing commas in import statements. Patch by Pablo Galindo. - Restore behaviour of complex exponentiation with integer-valued exponent of type float or complex. - Correct the ast locations of f-strings with format specs and repeated expressions. Patch by Pablo Galindo - Use new trashcan macros (Py_TRASHCAN_BEGIN/END) in frameobject.c instead of the old ones (Py_TRASHCAN_SAFE_BEGIN/END). - Fix segmentation fault with deep recursion when cleaning method objects. Patch by Augusto Goulart and Pablo Galindo. - Fix bug where PyErr_SetObject hangs when the current exception has a cycle in its context chain. - Fix reference leaks in the error paths of update_bases() and __build_class__. Patch by Pablo Galindo. - Fix undefined behaviour in complex object exponentiation. - Remove uses of PyObject_GC_Del() in error path when initializing types.GenericAlias. - Remove the pass-through for hash() of weakref.proxy objects to prevent unintended consequences when the original referred object dies while the proxy is part of a hashable object. Patch by Pablo Galindo. - Fix ltrace functionality when exceptions are raised. Patch by Pablo Galindo - Fix a crash at Python exit when a deallocator function removes the last strong reference to a heap type. Patch by Victor Stinner. - Fix crash when using passing a non-exception to a generator’s throw() method. Patch by Noah Oxer - Library - run() now always return a TestResult instance. Previously it returned None if the test class or method was decorated with a skipping decorator. - Fix bugs in cleaning up classes and modules in unittest: - Functions registered with addModuleCleanup() were not called unless the user defines tearDownModule() in their test module. - Functions registered with addClassCleanup() were not called if tearDownClass is set to None. - Buffering in TestResult did not work with functions registered with addClassCleanup() and addModuleCleanup(). - Errors in functions registered with addClassCleanup() and addModuleCleanup() were not handled correctly in buffered and debug modes. - Errors in setUpModule() and functions registered with addModuleCleanup() were reported in wrong order. - And several lesser bugs. - Made email date parsing more robust against malformed input, namely a whitespace-only Date: header. Patch by Wouter Bolsterlee. - Fix a crash in the signal handler of the faulthandler module: no longer modify the reference count of frame objects. Patch by Victor Stinner. - Method stopTestRun() is now always called in pair with method startTestRun() for TestResult objects implicitly created in run(). Previously it was not called for test methods and classes decorated with a skipping decorator. - argparse.BooleanOptionalAction’s default value is no longer printed twice when used with argparse.ArgumentDefaultsHelpFormatter. - Upgrade bundled pip to 21.2.3 and setuptools to 57.4.0 - Fix the os.set_inheritable() function on FreeBSD 14 for file descriptor opened with the O_PATH flag: ignore the EBADF error on ioctl(), fallback on the fcntl() implementation. Patch by Victor Stinner. - The @functools.total_ordering() decorator now works with metaclasses. - sqlite3 user-defined functions and aggregators returning strings with embedded NUL characters are no longer truncated. Patch by Erlend E. Aasland. - Always show loop= arg deprecations in asyncio.gather() and asyncio.sleep() - Non-protocol subclasses of typing.Protocol ignore now the __init__ method inherited from protocol base classes. - The tokenize.tokenize() doesn’t incorrectly generate a NEWLINE token if the source doesn’t end with a new line character but the last line is a comment, as the function is already generating a NL token. Patch by Pablo Galindo - Fix http.client.HTTPSConnection fails to download >2GiB data. - rcompleter does not call getattr() on property objects to avoid the side-effect of evaluating the corresponding method. - weakref.proxy objects referencing non-iterators now raise TypeError rather than dereferencing the null tp_iternext slot and crashing. - The implementation of collections.abc.Set._hash() now matches that of frozenset.__hash__(). - Fixed issue in compileall.compile_file() when sys.stdout is redirected. Patch by Stefan Hölzl. - Give priority to using the current class constructor in inspect.signature(). Patch by Weipeng Hong. - Fix memory leak in _tkinter._flatten() if it is called with a sequence or set, but not list or tuple. - Update shutil.copyfile() to raise FileNotFoundError instead of confusing IsADirectoryError when a path ending with a os.path.sep does not exist; shutil.copy() and shutil.copy2() are also affected. - handle StopIteration subclass raised from @contextlib.contextmanager generator - Make the implementation consistency of indexOf() between C and Python versions. Patch by Dong-hee Na. - Fixes TypedDict to work with typing.get_type_hints() and postponed evaluation of annotations across modules. - Fix bug with pdb’s handling of import error due to a package which does not have a __main__ module - Fixed an exception thrown while parsing a malformed multipart email by email.message.EmailMessage. - pathlib.PureWindowsPath.is_reserved() now identifies a greater range of reserved filenames, including those with trailing spaces or colons. - Handle exceptions from parsing the arg of pdb’s run/restart command. - The sqlite3 context manager now performs a rollback (thus releasing the database lock) if commit failed. Patch by Luca Citi and Erlend E. Aasland. - Improved string handling for sqlite3 user-defined functions and aggregates: - It is now possible to pass strings with embedded null characters to UDFs - Conversion failures now correctly raise MemoryError - Patch by Erlend E. Aasland. - Handle RecursionError in TracebackException’s constructor, so that long exceptions chains are truncated instead of causing traceback formatting to fail. - Fix email.message.EmailMessage.set_content() when called with binary data and 7bit content transfer encoding. - The compresslevel and preset keyword arguments of tarfile.open() are now both documented and tested. - Fixed a Y2k38 bug in the compileall module where it would fail to compile files with a modification time after the year 2038. - Fix test___all__ on platforms lacking a shared memory implementation. - Pass multiprocessing BaseProxy argument manager_owned through AutoProxy. - email.utils.getaddresses() now accepts email.header.Header objects along with string values. Patch by Zackery Spytz. - lib2to3 now recognizes async generators everywhere. - Fix TypeError when required subparsers without dest do not receive arguments. Patch by Anthony Sottile. - Documentation - Removed the othergui.rst file, any references to it, and the list of GUI frameworks in the FAQ. In their place I’ve added links to the Python Wiki page on GUI frameworks. - Update the definition of __future__ in the glossary by replacing the confusing word “pseudo-module” with a more accurate description. - Add typical examples to os.path.splitext docs - Clarify that shutil.make_archive() is not thread-safe due to reliance on changing the current working directory. - Update of three expired hyperlinks in Doc/distributing/index.rst: “Project structure”, “Building and packaging the project”, and “Uploading the project to the Python Packaging Index”. - Updated the docstring and docs of filecmp.cmp() to be more accurate and less confusing especially in respect to shallow arg. - Match the docstring and python implementation of countOf() to the behavior of its c implementation. - List all kwargs for textwrap.wrap(), textwrap.fill(), and textwrap.shorten(). Now, there are nav links to attributes of TextWrap, which makes navigation much easier while minimizing duplication in the documentation. - Clarify that atexit uses equality comparisons internally. - Documentation of csv.Dialect is more descriptive. - Fix documentation for the return type of sysconfig.get_path(). - Add a “Security Considerations” index which links to standard library modules that have explicitly documented security considerations. - Remove the unqualified claim that tkinter is threadsafe. It has not been true for several years and likely never was. An explanation of what is true may be added later, after more discussion, and possibly after patching _tkinter.c, - Tests - Add calls of gc.collect() in tests to support PyPy. - Made tests relying on the _asyncio C extension module optional to allow running on alternative Python implementations. Patch by Serhiy Storchaka. - Fix auto history tests of test_readline: sometimes, the newline character is not written at the end, so don’t expect it in the output. - Add ability to wholesale silence DeprecationWarnings while running the regression test suite. - Notify users running test_decimal regression tests on macOS of potential harmless “malloc can’t allocate region” messages spewed by test_decimal. - Fixed floating point precision issue in turtle tests. - Regression tests, when run with -w, are now re-running only the affected test methods instead of re-running the entire test file. - Add test for nested queues when using multiprocessing shared objects AutoProxy[Queue] inside ListProxy and DictProxy- Add decimal.patch to add building with --with-system-libmpdec option (bsc#1189356).- test_faulthandler is still problematic under qemu linux-user emulation, disable it there - Reenable profileopt with qemu emulation, test_faulthandler is no longer run during profiling- Update to 3.9.6: * Security - bpo-44022 (bsc#1189241, CVE-2021-3737): http.client now avoids infinitely reading potential HTTP headers after a 100 Continue status response from the server. * Core and Builtins - bpo-44168: Fix error message in the parser involving keyword arguments with invalid expressions. Patch by Pablo Galindo - bpo-44114: Fix incorrect dictkeys_reversed and dictitems_reversed function signatures in C code, which broke webassembly builds. - bpo-44070: No longer eagerly makes import filenames absolute, except for extension modules, which was introduced in 3.9.5. - bpo-28146: Fix a confusing error message in str.format(). - bpo-11105: When compiling ast.AST objects with recursive references through compile(), the interpreter doesn’t crash anymore instead it raises a RecursionError. * Library - bpo-43972: When http.server.SimpleHTTPRequestHandler sends a 301 (Moved Permanently) for a directory path not ending with /, add a Content-Length: 0 header. This improves the behavior for certain clients. - bpo-43776: When subprocess.Popen args are provided as a string or as pathlib.Path, the Popen instance repr now shows the right thing. - bpo-43318: Fix a bug where pdb does not always echo cleared breakpoints. - bpo-43295: datetime.datetime.strptime() now raises ValueError instead of IndexError when matching 'z' with the %z format specifier. - bpo-37022: pdb now displays exceptions from repr() with its p and pp commands. * IDLE - bpo-33962: Move the indent space setting from the Font tab to the new Windows tab. Patch by Mark Roseman and Terry Jan Reedy. - bpo-40468: Split the settings dialog General tab into Windows and Shell/ED tabs. Move help sources, which extend the Help menu, to the Extensions tab. Make space for new options and shorten the dialog. The latter makes the dialog better fit small screens. - bpo-41611: Avoid uncaught exceptions in AutoCompleteWindow.winconfig_event(). - bpo-41611: Fix IDLE sometimes freezing upon tab-completion on macOS. * Tools/Demos - bpo-44074: Make patchcheck automatically detect the correct base branch name (previously it was hardcoded to ‘master’) - Upstreamed patches were removed: - bpo44426-complex-keyword-sphinx.patch - Refreshed patches: - subprocess-raise-timeout.patch- Use versioned python-Sphinx to avoid dependency on other version of Python (bsc#1183858).- Add bpo44426-complex-keyword-sphinx.patch allowing generating documentation with Sphinx 4 (bpo#44426).- Revert previous skip over test_capi - Add skip-test_pyobject_freed_is_freed.patch to skip failing test on SLE-15.- allow build with Sphinx >= 3.x- Exclude test_capi on Leap (test fails there)- Stop providing "python" symbol (bsc#1185588), which means python2 currently.- Update to 3.9.5: * Security - bpo-43434: Creating a sqlite3.Connection object now also produces a sqlite3.connect auditing event. Previously this event was only produced by sqlite3.connect() calls. Patch by Erlend E. Aasland. - bpo-43882: The presence of newline or tab characters in parts of a URL could allow some forms of attacks. - Following the controlling specification for URLs defined by WHATWG urllib.parse() now removes ASCII newlines and tabs from URLs, preventing such attacks. - bpo-43472: Ensures interpreter-level audit hooks receive the cpython.PyInterpreterState_New event when called through the _xxsubinterpreters module. - bpo-36384 (bsc#1185706, CVE-2021-29921): ipaddress module no longer accepts any leading zeros in IPv4 address strings. Leading zeros are ambiguous and interpreted as octal notation by some libraries. For example the legacy function socket.inet_aton() treats leading zeros as octal notatation. glibc implementation of modern inet_pton() does not accept any leading zeros. For a while the ipaddress module used to accept ambiguous leading zeros. - bpo-43075 (CVE-2021-3733, bsc#1189287): Fix Regular Expression Denial of Service (ReDoS) vulnerability in urllib.request.AbstractBasicAuthHandler. The ReDoS-vulnerable regex has quadratic worst-case complexity and it allows cause a denial of service when identifying crafted invalid RFCs. This ReDoS issue is on the client side and needs remote attackers to control the HTTP server. - bpo-42800: Audit hooks are now fired for frame.f_code, traceback.tb_frame, and generator code/frame attribute access. * Core and Builtins - bpo-43105: Importlib now resolves relative paths when creating module spec objects from file locations. - bpo-42924: Fix bytearray repetition incorrectly copying data from the start of the buffer, even if the data is offset within the buffer (e.g. after reassigning a slice at the start of the bytearray to a shorter byte string). * Library - bpo-43993: Update bundled pip to 21.1.1. - bpo-43937: Fixed the turtle module working with non-default root window. - bpo-43930: Update bundled pip to 21.1 and setuptools to 56.0.0 - bpo-43920: OpenSSL 3.0.0: load_verify_locations() now returns a consistent error message when cadata contains no valid certificate. - bpo-43607: urllib can now convert Windows paths with \\?\ prefixes into URL paths. - bpo-43284: platform.win32_ver derives the windows version from sys.getwindowsversion().platform_version which in turn derives the version from kernel32.dll (which can be of a different version than Windows itself). Therefore change the platform.win32_ver to determine the version using the platform module’s _syscmd_ver private function to return an accurate version. - bpo-42248: [Enum] ensure exceptions raised in _missing__ are released - bpo-43799: OpenSSL 3.0.0: define OPENSSL_API_COMPAT 1.1.1 to suppress deprecation warnings. Python requires OpenSSL 1.1.1 APIs. - bpo-43794: Add ssl.OP_IGNORE_UNEXPECTED_EOF constants (OpenSSL 3.0.0) - bpo-43789: OpenSSL 3.0.0: Don’t call the password callback function a second time when first call has signaled an error condition. - bpo-43788: The header files for ssl error codes are now OpenSSL version-specific. Exceptions will now show correct reason and library codes. The make_ssl_data.py script has been rewritten to use OpenSSL’s text file with error codes. - bpo-43655: tkinter dialog windows are now recognized as dialogs by window managers on macOS and X Window. - bpo-43534: turtle.textinput() and turtle.numinput() create now a transient window working on behalf of the canvas window. - bpo-43522: Fix problem with hostname_checks_common_name. OpenSSL does not copy hostflags from struct SSL_CTX to struct SSL. - bpo-42967: Allow bytes separator argument in urllib.parse.parse_qs and urllib.parse.parse_qsl when parsing str query strings. Previously, this raised a TypeError. - bpo-43176: Fixed processing of a dataclass that inherits from a frozen dataclass with no fields. It is now correctly detected as an error. - bpo-41735: Fix thread locks in zlib module may go wrong in rare case. Patch by Ma Lin. - bpo-36470: Fix dataclasses with InitVars and replace(). Patch by Claudiu Popa. - bpo-32745: Fix a regression in the handling of ctypes’ ctypes.c_wchar_p type: embedded null characters would cause a ValueError to be raised. Patch by Zackery Spytz. * Documentation - bpo-43959: The documentation on the PyContextVar C-API was clarified. - bpo-43938: Update dataclasses documentation to express that FrozenInstanceError is derived from AttributeError. - bpo-43755: Update documentation to reflect that unparenthesized lambda expressions can no longer be the expression part in an if clause in comprehensions and generator expressions since Python 3.9. - bpo-43739: Fixing the example code in Doc/extending/extending.rst to declare and initialize the pmodule variable to be of the right type. * Tests - bpo-43961: Fix test_logging.test_namer_rotator_inheritance() on Windows: use os.replace() rather than os.rename(). Patch by Victor Stinner. - bpo-43842: Fix a race condition in the SMTP test of test_logging. Don’t close a file descriptor (socket) from a different thread while asyncore.loop() is polling the file descriptor. Patch by Victor Stinner. - bpo-43811: Tests multiple OpenSSL versions on GitHub Actions. Use ccache to speed up testing. - bpo-43791: OpenSSL 3.0.0: Disable testing of legacy protocols TLS 1.0 and 1.1. Tests are failing with TLSV1_ALERT_INTERNAL_ERROR. - Refreshed patches: - bpo-31046_ensurepip_honours_prefix.patch - python-3.3.0b1-fix_date_time_compiler.patch - Add vendorized files from bluez-devel to enable building support for Bluetooth.- Make sure to close the import_failed.map file after the exception has been raised in order to avoid ResourceWarnings when the failing import is part of a try...except block.- Update to 3.9.4: - bpo#43710: Reverted the fix for https://bugs.python.org/issue42500 as it changed the PyThreadState struct size and broke the 3.9.x ABI in the 3.9.3 release (visible on 32-bit platforms using binaries compiled using an earlier version of Python 3.9.x headers). - bpo#26053: Fixed bug where the pdb interactive run command echoed the args from the shell command line, even if those have been overridden at the pdb prompt. - bpo#42988 (bsc#1183374) CVE-2021-3426: Remove the getfile feature of the pydoc module which could be abused to read arbitrary files on the disk (directory traversal vulnerability). Moreover, even source code of Python modules can contain sensitive data like passwords. Vulnerability reported by David Schwörer. - bpo#43285: ftplib no longer trusts the IP address value returned from the server in response to the PASV command by default. This prevents a malicious FTP server from using the response to probe IPv4 address and port combinations on the client network. Code that requires the former vulnerable behavior may set a trust_server_pasv_ipv4_address attribute on their ftplib.FTP instances to True to re-enable it. - bpo#43439: Add audit hooks for gc.get_objects(), gc.get_referrers() and gc.get_referents(). Patch by Pablo Galindo. - bpo#43660: Fix crash that happens when replacing sys.stderr with a callable that can remove the object while an exception is being printed. Patch by Pablo Galindo. - bpo#43555: Report the column offset for SyntaxError for invalid line continuation characters. Patch by Pablo Galindo. - bpo#43517: Fix misdetection of circular imports when using from pkg.mod import attr, which caused false positives in non-trivial multi-threaded code. - bpo#35883: Python no longer fails at startup with a fatal error if a command line argument contains an invalid Unicode character. The Py_DecodeLocale() function now escapes byte sequences which would be decoded as Unicode characters outside the [U+0000; U+10ffff] range. - bpo#43406: Fix a possible race condition where PyErr_CheckSignals tries to execute a non-Python signal handler. - bpo#42500: Improve handling of exceptions near recursion limit. Converts a number of Fatal Errors in RecursionErrors. - bpo#43433: xmlrpc.client.ServerProxy no longer ignores query and fragment in the URL of the server. - bpo#35930: Raising an exception raised in a “future” instance will create reference cycles. - bpo#43577: Fix deadlock when using ssl.SSLContext debug callback with ssl.SSLContext.sni_callback(). - bpo#43521: ast.unparse can now render NaNs and empty sets. - bpo#43423: subprocess.communicate() no longer raises an IndexError when there is an empty stdout or stderr IO buffer during a timeout on Windows. - bpo#27820: Fixed long-standing bug of smtplib.SMTP where doing AUTH LOGIN with initial_response_ok=False will fail. The cause is that SMTP.auth_login _always_ returns a password if provided with a challenge string, thus non-compliant with the standard for AUTH LOGIN. Also fixes bug with the test for smtpd. - bpo#43332: Improves the networking efficiency of http.client when using a proxy via set_tunnel(). Fewer small send calls are made during connection setup. - bpo#43399: Fix ElementTree.extend not working on iterators when using the Python implementation - bpo#43316: The python -m gzip command line application now properly fails when detecting an unsupported extension. It exits with a non-zero exit code and prints an error message to stderr. - bpo#43260: Fix TextIOWrapper can not flush internal buffer forever after very large text is written. - bpo#42782: Fail fast in shutil.move() to avoid creating destination directories on failure. - bpo#37193: Fixed memory leak in socketserver.ThreadingMixIn introduced in Python 3.7. - bpo#43199: Answer “Why is there no goto?” in the Design and History FAQ. - bpo#43407: Clarified that a result from time.monotonic(), time.perf_counter(), time.process_time(), or time.thread_time() can be compared with the result from any following call to the same function - not just the next immediate call. - bpo#27646: Clarify that ‘yield from ’ works with any iterable, not just iterators. - bpo#36346: Update some deprecated unicode APIs which are documented as “will be removed in 4.0” to “3.12”. See PEP 623 for detail. - bpo#37945: Fix test_getsetlocale_issue1813() of test_locale: skip the test if setlocale() fails. Patch by Victor Stinner. - bpo#41561: Add workaround for Ubuntu’s custom OpenSSL security level policy. - bpo#43288: Fix test_importlib to correctly skip Unicode file tests if the fileystem does not support them. - bpo#43617: Improve configure.ac: Check for presence of autoconf-archive package and remove our copies of M4 macros. - bpo#42225: Document that IDLE can fail on Unix either from misconfigured IP masquerage rules or failure displaying complex colored (non-ascii) characters. - bpo#43283: Document why printing to IDLE’s Shell is often slower than printing to a system terminal and that it can be made faster by pre-formatting a single string before printing.- Update to 3.9.2: - bpo#42938 (bsc#1181126): Avoid static buffers when computing the repr of ctypes.c_double and ctypes.c_longdouble values. This issue was assigned CVE-2021-3177. - bpo#42967 (bsc#1182379): Fix web cache poisoning vulnerability by defaulting the query args separator to &, and allowing the user to choose a custom separator. This issue was assigned CVE-2021-23336. - Upstreamed patches were removed: - CVE-2021-3177-buf_ovrfl_PyCArg_repr.patch - bsc1167501-invalid-alignment.patch - skip_random_failing_tests.patch - CVE-2019-5010-null-defer-x509-cert-DOS.patch- Add Obsoletes for python3-base when primary interpreter is set to properly replace it during upgrades. (bsc#1181324)- Update to 3.9.1: Security bugs: - Prevented potential DoS attack via CPU and RAM exhaustion when processing malformed Apple Property List files in binary format. - The plistlib module no longer accepts entity declarations in XML plist files to avoid XML vulnerabilities. This should not affect users as entity declarations are not used in regular plist files. - Add volatile to the accumulator variable in hmac.compare_digest, making constant-time-defeating optimizations less likely. Core and Builtins - Allow assignment expressions in set literals and set comprehensions as per PEP 572. Patch by Pablo Galindo. - Fix a regression introduced by the new parser, where an unparenthesized walrus operator was not allowed within generator expressions. - types.GenericAlias objects can now be the targets of weakrefs. - Fixed a bug in the PEG parser that was causing crashes in debug mode. Now errors are checked in left-recursive rules to avoid cases where such errors do not get handled in time and appear as long-distance crashes in other places. - Fixed a possible crash in the PEG parser when checking for the ‘!=’ token in the barry_as_flufl rule. Patch by Pablo Galindo. - Fix handling of errors during creation of PyFunctionObject, which resulted in operations on uninitialized memory. Patch by Yonatan Goldschmidt. - Fix a bug in the parser, where a curly brace following a primary didn’t fail immediately. This led to invalid expressions like a {b} to throw a SyntaxError with a wrong offset, or invalid expressions ending with a curly brace like a { to not fail immediately in the REPL. - Fix possible buffer overflow in the new parser when checking for continuation lines. Patch by Pablo Galindo. - Run the parser two times. On the first run, disable all the rules that only generate better error messages to gain performance. If there’s a parse failure, run the parser a second time with those enabled. - Document the default implementation of object.__eq__. - Fix peephole optimizer misoptimize conditional jump + JUMP_IF_NOT_EXC_MATCH pair. - The garbage collector now tracks all user-defined classes. Patch by Brandt Bucher. - Fixed potential issues with removing not completely initialized module from sys.modules when import fails. - Star-unpacking is now allowed for with item’s targets in the PEG parser. - Fixed stack overflow in issubclass() and isinstance() when getting the __bases__ attribute leads to infinite recursion. - When loading a native module and a load failure occurs, prevent a possible UnicodeDecodeError when not running in a UTF-8 locale by decoding the load error message using the current locale’s encoding. - Correctly count control blocks in ‘except’ in compiler. Ensures that a syntax error, rather a fatal error, occurs for deeply nested, named exception handlers. Library - types.GenericAlias will now raise a TypeError when attempting to initialize with a keyword argument. Previously, this would cause the interpreter to crash if the interpreter was compiled with debug symbols. This does not affect interpreters compiled for release. Patch by Ken Jin. - CGIHTTPRequestHandler.run_cgi() HTTP_ACCEPT improperly parsed. Replace the special purpose getallmatchingheaders with generic get_all method and add relevant tests. - inspect.findsource() now raises OSError instead of IndexError when co_lineno of a code object is greater than the file length. This can happen, for example, when a file is edited after it was imported. PR by Irit Katriel. - Fix handling of trailing comments by inspect.getsource(). - ChainMap.__iter__ no longer calls __getitem__ on underlying maps - TracebackException no longer holds a reference to the exception’s traceback object. Consequently, instances of TracebackException for equivalent but non-equal exceptions now compare as equal. - We fixed an issue in pickle.whichmodule in which importing multiprocessing could change the how pickle identifies which module an object belongs to, potentially breaking the unpickling of those objects. - Clarify the error message for asyncio.IncompleteReadError when expected is None. - Extracting a symlink from a tarball should succeed and overwrite the symlink if it already exists. The fix is to remove the existing file or symlink before extraction. Based on patch by Chris AtLee, Jeffrey Kintscher, and Senthil Kumaran. - Fixed tkinter.ttk.Style.map(). The function accepts now the representation of the default state as empty sequence (as returned by Style.map()). The structure of the result is now the same on all platform and does not depend on the value of wantobjects. - Fix various issues with typing.Literal parameter handling (flatten, deduplicate, use type to cache key). Patch provided by Yurii Karabas. - Fix the threading.Thread class at fork: do nothing if the thread is already stopped (ex: fork called at Python exit). Previously, an error was logged in the child process. - The onerror callback from shutil.rmtree now receives correct function when os.open fails. - Fix os.sendfile() on illumos. - Fixed writing binary Plist files larger than 4 GiB. - The repr() of typing types containing Generic Alias Types previously did not show the parameterized types in the GenericAlias. They have now been changed to do so. - webbrowser: Ignore NotADirectoryError when calling xdg-settings. - binhex.binhex() consisently writes macOS 9 line endings. - Fix a stack overflow error for asyncio Task or Future repr(). - The overflow occurs under some circumstances when a Task or Future recursively returns itself. - Fix memory leak in subprocess.Popen() in case an uid (gid) specified in user (group, extra_groups) overflows uid_t (gid_t). - Improve asyncio.wait function to create the futures set just one time. - InvalidFileException and RecursionError are now the only errors caused by loading malformed binary Plist file (previously ValueError and TypeError could be raised in some specific cases). - Pickling heap types implemented in C with protocols 0 and 1 raises now an error instead of producing incorrect data. - plistlib: fix parsing XML plists with hexadecimal integer values - Fix an incorrectly formatted error from _codecs.charmap_decode() when called with a mapped value outside the range of valid Unicode code points. PR by Max Bernstein. - Fix pickling pure Python datetime.time subclasses. Patch by Dean Inwood. - Fixed a bug that was causing ctypes.util.find_library() to return None when triying to locate a library in an environment when gcc>=9 is available and ldconfig is not. Patch by Pablo Galindo - C14N 2.0 serialisation in xml.etree.ElementTree failed for unprefixed attributes when a default namespace was defined. - Fix a bug in the symtable module that was causing module-scope global variables to not be reported as both local and global. Patch by Pablo Galindo. - str() for the type attribute of the tkinter.Event object always returns now the numeric code returned by Tk instead of the name of the event type. - fix tkinter.EventType Enum so all members are strings, and none are tuples - Fix SQLite3 segfault when backing up closed database. Patch contributed by Peter David McCormick. - Fix the tarfile module to write only basename of TAR file to GZIP compression header. - Allow ctypes.wintypes to be imported on non-Windows systems. - shutil.which() now ignores empty entries in PATHEXT instead of treating them as a match. - Fix time-of-check/time-of-action issue in subprocess.Popen.send_signal. - Fix --outfile for cProfile / profile not writing the output file in the original directory when the program being profiled changes the working directory. PR by Anthony Sottile. - ZipFile truncates files to avoid corruption when a shorter comment is provided in append (“a”) mode. Patch by Jan Mazur. - Fixed KeyError exception when flattening an email to a string attempts to replace a non-existent Content-Transfer-Encoding header. Documentation - Fix the URL for the IMAP protocol documents. - Document __format__ functionality for IP addresses. - Clarify that subscription expressions are also valid for certain classes and types in the standard library, and for user-defined classes and types if the classmethod __class_getitem__() is provided. - Documented generic alias type and types.GenericAlias. Also added an entry in glossary for generic types. - In Programming FAQ “Sequences (Tuples/Lists)” section, add “How do you remove multiple items from a list”. - Fix RemovedInSphinx40Warning when building the documentation. Patch by Dong-hee Na. - Update the refcounts info of PyType_FromModuleAndSpec. - Fix tarfile’s extractfile documentation - Document some restrictions on the default string representations of numeric classes. Tests - Reenable test_gdb on gdb 9.2 and newer: https://bugzilla.redhat.com/show_bug.cgi?id=1866884 bug is fixed in gdb 10.1. - Fix test_asyncio.test_call_later() race condition: don’t measure asyncio performance in the call_later() unit test. The test failed randomly on the CI. - Include _testinternalcapi module in Windows installer for test suite - Fix test_logging.test_race_between_set_target_and_flush(): the test now waits until all threads complete to avoid leaking running threads. - Avoid a test failure in test_lib2to3 if the module has already imported at the time the test executes. Patch by Pablo Galindo. - Tests for CJK codecs no longer call eval() on content received via HTTP. - Fix test_site.test_license_exists_at_url(): call urllib.request.urlcleanup() to reset the global urllib.request._opener. Patch by Victor Stinner. - test_ssl: skip test_min_max_version_mismatch when TLS 1.0 is not available - Add tests for SIGINT handling in the runpy module. - Fixed a failure in test_tk.test_widgets.ScaleTest happening when executing the test with Tk 8.6.10. Build - Fix a race condition in “make regen-all” when make -jN option is used to run jobs in parallel. The clinic.py script now only use atomic write to write files. Moveover, generated files are now left unchanged if the content does not change, to not change the file modification time. - Update Py_UNREACHABLE to use __builtin_unreachable() if only the compiler is able to use it. Patch by Dong-hee Na. - Addressed three compiler warnings found by undefined behavior sanitizer (ubsan). IDLE - Fix reporting offset of the RE error in searchengine. - Get docstrings for IDLE calltips more often by using inspect.getdoc. - Mostly finish using ttk widgets, mainly for editor, settings, and searches. Some patches by Mark Roseman. - Use ‘IDLE Shell’ as shell title - Rewrite the Calltips doc section. - In calltips, stop reminding that ‘/’ marks the end of positional-only arguments. - Typing opening and closing parentheses inside the parentheses of a function call will no longer cause unnecessary “flashing” off and on of an existing open call-tip, e.g. when typed in a string literal. C API - Fix potential crash in deallocating method objects when dynamically allocated PyMethodDef’s lifetime is managed through the self argument of a PyCFunction. - Py_FileSystemDefaultEncodeErrors and Py_UTF8Mode are available again in limited API. - Readjustet and reapplied patches: - CVE-2021-3177-buf_ovrfl_PyCArg_repr.patch - bpo-31046_ensurepip_honours_prefix.patch - python-3.3.0b1-fix_date_time_compiler.patch - skip_random_failing_tests.patch - sphinx-update-removed-function.patch- Add CVE-2021-3177-buf_ovrfl_PyCArg_repr.patch fixing bsc#1181126 (CVE-2021-3177) buffer overflow in PyCArg_repr in _ctypes/callproc.c, which may lead to remote code execution.- (bsc#1180125) We really don't Require python-rpm-macros package. Unnecessary dependency.- Make python39-doc building again - Add no-skipif-doctests.patch, because SLE-15 version of Sphinx doesn't know about skipif directive in doctests.- Update sphinx-update-removed-function.patch patch to the latest version in python36.- Last try before this results in an editwar: * remove importlib_resources and importlib-metadata provides/obsoletes * import importlib_resources is not the same as import importlib.resources, same for metadata * The backport packages from PyPI needed for older flavors are specified as such for setuptools or in pyproject.toml. If a package requires them they typically add them with a python version qualifier and the packages have their own version numbers.- Add patch sphinx-update-removed-function.patch to no longer call a now removed function and to make documentation build independent of the Sphinx version (bsc#1179630, gh#python/cpython#13236).- Don't require packages which break build on SLE-15 although we really don't need them (python3-python-docs-theme and python3-sphinxcontrib-qthelp).- Fix build with RPM 4.16: error: bare words are no longer supported, please use "...": x86 == ppc.- Update to the final version 3.9.0: Complete changelog with all (many) changes from previous version is on https://docs.python.org/release/3.9.0/whatsnew/3.9.html Changes from the previous RC versions (not that many) are on https://docs.python.org/release/3.9.0/whatsnew/changelog.html#changelog- Buildrequire timezone only for general flavor. It's used in this flavor for the test suite.- Update to 3.9.0rc1: * Core and Builtins - bpo-38156: Handle interrupts that come after EOF correctly in PyOS_StdioReadline. * Library - bpo-41497: Fix potential UnicodeDecodeError in dis module. - bpo-41490: Update ensurepip to install pip 20.2.1 and setuptools 49.2.1. - bpo-41467: On Windows, fix asyncio recv_into() return value when the socket/pipe is closed (BrokenPipeError): return 0 rather than an empty byte string (b''). - bpo-41425: Make tkinter doc example runnable. - bpo-41384: Raise TclError instead of TypeError when an unknown option is passed to tkinter.OptionMenu. - bpo-38731: Fix NameError in command-line interface of py_compile. - bpo-41317: Use add_done_callback() in asyncio.loop.sock_accept() to unsubscribe reader early on cancellation. - bpo-41364: Reduce import overhead of uuid. - bpo-41341: Recursive evaluation of typing.ForwardRef in get_type_hints. - bpo-41182: selector: use DefaultSelector based upon implementation - bpo-40726: Handle cases where the end_lineno is None on ast.increment_lineno(). * Documentation - bpo-41045: Add documentation for debug feature of f-strings. - bpo-41314: Changed the release when from __future__ import annotations becomes the default from 4.0 to 3.10 (following a change in PEP 563). * Windows - bpo-41492: Fixes the description that appears in UAC prompts. - bpo-40948: Improve post-install message to direct people to the “py” command. - bpo-41412: The installer will now fail to install on Windows 7 and Windows 8. Further, the UCRT dependency is now always downloaded on demand. - bpo-40741: Update Windows release to include SQLite 3.32.3. * IDLE - bpo-41468: Improve IDLE run crash error message (which users should never see). - bpo-41373: Save files loaded with no line ending, as when blank, or different line endings, by setting its line ending to the system default. Fix regression in 3.8.4 and 3.9.0b4.- Synchronize formatting and fixes with python38.- Increase testsuite timeout to account for super long running test_peg_generator- Removed CVE-2019-20907_tarfile-inf-loop.patch: fixed in upstream - Removed recursion.tar: contained in upstream - Update to 3.9.0b5: - bpo-41304: Fixes python3x._pth being ignored on Windows, caused by the fix for bpo-29778 (CVE-2020-15801). - bpo-41162: Audit hooks are now cleared later during finalization to avoid missing events. - bpo-29778: Ensure python3.dll is loaded from correct locations when Python is embedded (CVE-2020-15523). - bpo-39603: Prevent http header injection by rejecting control characters in http.client.putrequest(…). - bpo-41295: Resolve a regression in CPython 3.8.4 where defining “__setattr__” in a multi-inheritance setup and calling up the hierarchy chain could fail if builtins/extension types were involved in the base types. - bpo-41247: Always cache the running loop holder when running asyncio.set_running_loop. - bpo-41252: Fix incorrect refcounting in _ssl.c’s _servername_callback(). - bpo-41215: Use non-NULL default values in the PEG parser keyword list to overcome a bug that was ' preventing Python from being properly compiled when using the XLC compiler. Patch by Pablo Galindo. - bpo-41218: Python 3.8.3 had a regression where compiling with ast.PyCF_ALLOW_TOP_LEVEL_AWAIT would aggressively mark list comprehension with CO_COROUTINE. Now only list comprehension making use of async/await will tagged as so. - bpo-41175: Guard against a NULL pointer dereference within bytearrayobject triggered by the bytearray() + bytearray() operation. - bpo-39960: The “hackcheck” that prevents sneaking around a type’s __setattr__() by calling the superclass method was rewritten to allow C implemented heap types. - bpo-41288: Unpickling invalid NEWOBJ_EX opcode with the C implementation raises now UnpicklingError instead of crashing. - bpo-39017: Avoid infinite loop when reading specially crafted TAR files using the tarfile module (CVE-2019-20907, bsc#1174091). - bpo-41235: Fix the error handling in ssl.SSLContext.load_dh_params(). - bpo-41207: In distutils.spawn, restore expectation that DistutilsExecError is raised when the command is not found. - bpo-39168: Remove the __new__ method of typing.Generic. - bpo-41194: Fix a crash in the _ast module: it can no longer be loaded more than once. It now uses a global state rather than a module state. - bpo-39384: Fixed email.contentmanager to allow set_content() to set a null string. - bpo-41300: Save files with non-ascii chars. Fix regression released in 3.9.0b4 and 3.8.4. - bpo-37765: Add keywords to module name completion list. Rewrite Completions section of IDLE doc. - bpo-40170: Revert PyType_HasFeature() change: it reads again directly the PyTypeObject.tp_flags member when the limited C API is not used, rather than always calling PyType_GetFlags() which hides implementation details.- Add CVE-2019-20907_tarfile-inf-loop.patch fixing bsc#1174091 (CVE-2019-20907, bpo#39017) avoiding possible infinite loop in specifically crafted tarball. Add recursion.tar as a testing tarball for the patch.- Changed bpo-31046_ensurepip_honours_prefix.patch to include fix from py3.8- Spec file fixes - Re-added subprocess-raise-timeout.patch: now compatible - Removed bpo34022-stop_hash-based_invalidation_w_SOURCE_DATE_EPOCH.patch: contained in upstream- Fix minor issues found in the staging.- Do not set ourselves as primary interpreter- Update to 3.9.0b4: - PEP 584, Union Operators in dict - PEP 585, Type Hinting Generics In Standard Collections - PEP 593, Flexible function and variable annotations - PEP 602, Python adopts a stable annual release cadence - PEP 615, Support for the IANA Time Zone Database in the Standard Library - PEP 616, String methods to remove prefixes and suffixes - PEP 617, New PEG parser for CPython - bpo#38379, garbage collection does not block on resurrected objects; - bpo#38692, os.pidfd_open added that allows process management without races and signals; - bpo#39926, Unicode support updated to version 13.0.0; - bpo#1635741, when Python is initialized multiple times in the same process, it does not leak memory anymore; - A number of Python builtins (range, tuple, set, frozenset, list, dict) are now sped up using PEP 590 vectorcall; - A number of Python modules (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) now use multiphase initialization as defined by PEP 489; - A number of standard library modules (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) are now using the stable ABI defined by PEP 384. - Remove upstreamed patches: - F00102-lib64.patch - SUSE-FEDORA-multilib.patch - OBS_dev-shm.patch - subprocess-raise-timeout.patch - bpo36302-sort-module-sources.patch - bpo40784-Fix-sqlite3-deterministic-test.patch- Update pre_checkin.sh and regenerate- Convert few dependencies to their pkgconfig counterparts- Remove release requirement on libpython, it is not really needed to be equal as the abi changes with versions- Add provides python3-bla on all the subpkgs in case we are primary provider of the functionality- Remove unversioned files from devel subpkg too - Remove main python3 files from -base based whether we are primary interpreter or not - Fix idle to be co-installable - Add condition to be primary to provide/obsolete python3-* - Fix doc to build in versioned folder so the pythons can be installed next to each other- Revert the full versioning of calls on the macros. These are generic so they should really just call python3 X- For the doc package we can build with generic flavor, we don't need the our-interpreter based one- Add provides for pytohn3X-typing/etc to allow BR on those still to work when needed- Change macros.python3 to use full versioned 3.8 instead of just 3 for python interpreter- Reduce some now unused conditionals- Redux the -base dependencies to match up pre-merge layout- Generate baselibs in pre-checkin too- Generate the importlib-failed using pre_checking again - Add back the information about skipped tests on the pre_checkin output- Use %python_pkg_name instead of hardcoding python3 where applicable - Sort out preamble with spec-cleaner- Calculate required variables instead of relying on their continuous manual update- Fix the -base module build again to generate only the deps we need- Replace OBS_dev-shm.patch with the upstream PR#20944- Use the %{python_pkg_name} on more places to allow easier multiversioning - Switch to _multibuild approach for easier maintenance of this package. All is now in one spec file with 3 conditionals: * bcond_with base * bcond_with doc * bcond_with general- add requires python3-base on libpython subpackage (bsc#1167008)- build against Sphinx 2.x until python is compatible with Sphinx 3.x (see gh#python/cpython#19397, bpo#40204)- Fix build with SQLite 3.32 (bpo#40783) add bpo40784-Fix-sqlite3-deterministic-test.patch- Update to version 3.8.3: - Complete list of changes is available at https://docs.python.org/release/3.8.3/whatsnew/changelog.html#python-3-8-3-final, but most of them are just bugfixes. - Removed patch CVE-2020-8492-urllib-ReDoS.patch: contained in upstream- Add #!BuildIgnore: gdk-pixbuf-loader-rsvg to python3 SPEC- Add patch bsc1167501-invalid-alignment.patch (bsc#1167501, bpo#40052) to fix alignment in abstract.h header file.- Update list of skipped tests for qemu linux-user build, test_setegid (test.test_os.PosixUidGidTests) is confusing it- Update to 3.8.2: - Complete list of changes is available at https://docs.python.org/release/3.8.2/whatsnew/changelog.html#python-3-8-2-final, but most of them are just bugfixes. - Updated patches: - F00102-lib64.patch - OBS_dev-shm.patch - SUSE-FEDORA-multilib.patch - subprocess-raise-timeout.patch- Add CVE-2020-8492-urllib-ReDoS.patch fixing the security bug "Python urrlib allowed an HTTP server to conduct Regular Expression Denial of Service (ReDoS)" (bsc#1162367)- Add Requires: libpython%{so_version} == %{version}-%{release} to python3-base to keep both packages always synchronized (bsc#1162224).- Do not pull in bluez in base again, explain the cycle, it needs to be solved by bluez maintainer for us by providing just the headers separately- Reame idle icons to idle3 in order to not conflict with python2 variant of the package * renamed the icons * renamed icon load in desktop file- Add importlib_resources provide/obsolete as it is integral part of the lang since 3.7 release- Add -fno-semantic-interposition as it brings speed up: https://fedoraproject.org/wiki/Changes/PythonNoSemanticInterpositionSpeedup- Update to 3.8.1: - This is mainly bugfix release and no significant changes to API are expected. The full changelog is available on https://docs.python.org/3.8/whatsnew/changelog.html#python-3-8-1 - Remove bpo-38688_shutil.copytree_prevent-infinite-recursion.patch, which is included in the upstream tarball.- Add bpo-31046_ensurepip_honours_prefix.patch which makes ensurepip to honour the value of $(prefix). Proposed fix for bpo#31046..- Move bluez-devel dependency to base as it is needed for socket.AF_BLUETOOTH and otherwise does not work- Reintroduce QtHelp with the help of the new BR python-sphinxcontrib-qthelp.- Fix SUSE-FEDORA-multilib.patch, the platform agnostic infix for library installation is "lib", not "dir".- Move idle subpackage build from python3-base to python3. appstream-glib required for packaging introduces considerable extra dependencies and a build loop via rust/librsvg. - Correct installation of idle IDE icons: + idle.png is not the target directory + non-GNOME-specific icons belong into icons/hicolor - Add required Name key to idle3 desktop file- Update to the final release 3.8.0. . - New Features: - Assignment expressions - Positional-only parameters - Parallel filesystem cache for compiled bytecode files - Debug build uses the same ABI as release build - f-strings support = for self-documenting expressions and debugging - PEP 578: Python Runtime Audit Hooks - PEP 587: Python Initialization Configuration - Vectorcall: a fast calling protocol for CPython - Pickle protocol 5 with out-of-band data buffers - New modules: - importlib.metadata - Improved modules: - ast asyncio, builtins, collections, curses, ctypes, datetime, functools, gc, gettext, gzip, idelib and IDLE, inspect, io, json.tool, math, mmap, multiprocessing, os, os.path, pathlib, pickle, plistlib, py_compile, shlex, shutil, socket, ssl, statistics, sys, tarfile, threading, tokenize, tkinter, time, typing, unicodedata, unittest, venv, weakref, xml - C API improvements - bdist_winnst command has been deprecated (use bdist_wheel) - https://docs.python.org/3.8/whatsnew/3.8.html remains rest of changes including documentation on how to port your programs to the current version of Python.- Add idle3.appdata.xml and idle3.desktop (originally from Fedora) to make Idle3 full GUI desktop application. (bsc#1153830)- Drop intltool from BuildRequires. Doesn't appear to be used.- Add folder version to allow tarball downloads even for beta/rc releases- Revert patches from Fedora (F00102-lib64.patch and F00251-change-user-install-location.patch) into their original prisitine Fedora versions, SUSE-FEDORA-multilib.patch refreshed accordingly.- Correct quotation of platsubdir in Lib/distutils/command/install.py- Replace python-3.6.0-multilib.patch with two patches from Fedora (F00102-lib64.patch and F00251-change-user-install-location.patch), and our own SUSE-FEDORA-multilib.patch to allow better cooperation with Fedora and better upstreaming. - Add OBS_dev-shm.patch fixing bpo#38377- Pull in just gettext and let solver to sort out between: gettext-runtime-mini and gettext-runtime- Update to 3.8.0rc1. Overall changes from 3.7: - PEP 572, Assignment expressions - PEP 570, Positional-only arguments - PEP 587, Python Initialization Configuration (improved embedding) - PEP 590, Vectorcall: a fast calling protocol for CPython - PEP 578, Runtime audit hooks - PEP 574, Pickle protocol 5 with out-of-band data - Typing-related: PEP 591 (Final qualifier), PEP 586 (Literal types), and PEP 589 (TypedDict) - Parallel filesystem cache for compiled bytecode - Debug builds share ABI as release builds, also the 'm' ABI tag was removed (irrelevant since 3.4), bpo#36707 - f-strings support a handy = specifier for debugging - continue is now legal in finally: blocks - on Windows, the default asyncio event loop is now ProactorEventLoop - on macOS, the spawn start method is now used by default in multiprocessing - multiprocessing can now use shared memory segments to avoid pickling costs between processes - typed_ast is merged back to CPython - LOAD_GLOBAL is now 40% faster - pickle now uses Protocol 4 by default, improving performance - Refreshed patches: - CVE-2019-5010-null-defer-x509-cert-DOS.patch - python-3.3.0b1-fix_date_time_compiler.patch - python-3.6.0-multilib.patch - subprocess-raise-timeout.patch- Add bpo36302-sort-module-sources.patch (boo#1041090)- Try harder obsoleting importlib-metadata- Update to 3.8.0b4: Many bugfixes, full list on https://docs.python.org/3.8/whatsnew/changelog.html#python-3-8-0-beta-4- Re-enable test_threading on aarch64- Remove xrpm from subpackage tk description- Update to 3.8.0b3: Many bugfixes, full list on https://docs.python.org/3.8/whatsnew/changelog.html#python-3-8-0-beta-3 - Patches reapplied: - python-3.3.0b1-fix_date_time_compiler.patch - python-3.3.0b1-test-posix_fadvise.patch - python-3.6.0-multilib.patch - subprocess-raise-timeout.patch- Add Provides: python3-importlib-metadata- Update to 3.8.0b2: Many bugfixes, full list on https://docs.python.org/3.8/whatsnew/changelog.html#python-3-8-0-beta-2 - Patches included in upstream: - bpo-37169_PyObject_IsFreed.patch - Patches reapplied: - 00251-change-user-install-location.patch - distutils-reproducible-compile.patch - python-3.3.0b1-localpath.patch - python-3.6.0-multilib.patch- Update list of skipped tests for qemu linux-user build - Don't do profiling in qemu linux-user build- Update to 3.8.0b1 (changes since 3.7.*): - PEP 572, Assignment expressions - PEP 570, Positional-only arguments - PEP 587, Python Initialization Configuration (improved embedding) - PEP 590, Vectorcall: a fast calling protocol for CPython - PEP 578, Runtime audit hooks - PEP 574, Pickle protocol 5 with out-of-band data - Typing-related: PEP 591 (Final qualifier), PEP 586 (Literal types), and PEP 589 (TypedDict) - Parallel filesystem cache for compiled bytecode - Debug builds share ABI as release builds - f-strings support a handy = specifier for debugging - continue is now legal in finally: blocks - multiprocessing can now use shared memory segments to avoid pickling costs between processes - typed_ast is merged back to CPython - LOAD_GLOBAL is now 40% faster - pickle now uses Protocol 4 by default, improving performance - Remove patches which were included in the upstream: - 00251-change-user-install-location.patch - 00316-mark-bdist_wininst-unsupported.patch - CVE-2019-9947-no-ctrl-char-http.patch - raise_SIGING_not_handled.patch- Set _lto_cflags to nil as the package is using LTO via --enable-lto. That will prevent to propage LTO for Python modules that are built in a separate package.- Update to 3.8.0.a3: - PEP 572: Assignment Expressions. - Other (mostly small) changes are on https://docs.python.org/3.8/whatsnew/changelog.html#python-3-8-0-alpha-3- bsc#1130840 (CVE-2019-9947): add CVE-2019-9947-no-ctrl-char-http.patch Address the issue by disallowing URL paths with embedded whitespace or control characters through into the underlying http client request. Such potentially malicious header injection URLs now cause a ValueError to be raised.- Fix metadata of patches. - Rename boo1071941-make-install-in-sep-loc.patch to 00251-change-user-install-location.patch which is the original name, so it can be looked up in the Fedora VCS.- Mark distutils bdist_wininst command unsupported with 00316-mark-bdist_wininst-unsupported.patch - Remove Windows bdist_wininst executables from runtime package- Update to 3.7.3, which is the maintenance release without any significant changes in API. - Updated patches: - CVE-2019-5010-null-defer-x509-cert-DOS.patch - distutils-reproducible-compile.patch - python-3.3.0b1-fix_date_time_compiler.patch - python-3.6.0-multilib.patch - raise_SIGING_not_handled.patch- Remove building of Qt Develop help files.- Return distutils-reproducible-compile.patch which is still missing (still unfinished bpo#29708).- Update to 3.8.0a2: * List of all (mostly small) changes are on https://docs.python.org/3.8/whatsnew/changelog.html#python-3-8-0-alpha-2- Build nis module again.- Update to 3.8.0a1: * The most visible change so far is probably the implementation of PEP 572: Assignment Expressions. For a detailed list of changes, see: https://docs.python.org/3.8/whatsnew/changelog.html * Recover building of nis module properly in python3 package - Update patches: * CVE-2019-5010-null-defer-x509-cert-DOS.patch * python-3.3.0b1-fix_date_time_compiler.patch * python-3.3.0b1-test-posix_fadvise.patch * python-3.6.0-multilib.patch * raise_SIGING_not_handled.patch- Put LICENSE file where it belongs (bsc#1121852)- bsc#1122191: add CVE-2019-5010-null-defer-x509-cert-DOS.patch fixing bpo-35746. An exploitable denial-of-service vulnerability exists in the X509 certificate parser of Python.org Python 2.7.11 / 3.7.2. A specially crafted X509 certificate can cause a NULL pointer dereference, resulting in a denial of service. An attacker can initiate or accept TLS connections using crafted certificates to trigger this vulnerability.- Do not require full gettext in order to avoid pulling in the glib2 as a dependency- Update to 3.7.2: * bugfix release: https://docs.python.org/3.7/whatsnew/changelog.html#changelog- Stop applying python-3.6.0-multilib-new.patch (which is still WIP), and apply the old proven python-3.6.0-multilib.patch instead.- Use upstream-recommended %{_rpmconfigdir}/macros.d directory for the rpm macros.- Upgrade to 3.7.2rc1: * bugfix release, for the full list of all changes see https://docs.python.org/3.7/whatsnew/changelog.html#changelog - Make run of the test suite more verbose- Write summaries without em dashes.- Remove python-3.3.0b1-curses-panel.patch it is unnecessary anymore. - Add boo1071941-make-install-in-sep-loc.patch to make pip and distutils in user environment install into separate location (boo#1071941) Set values of prefix and exec_prefix in distutils install command to /usr/local if executable is /usr/bin/python* and RPM build is not detected to make pip and distutils install into separate location - Remove finally python-3.3.3-skip-distutils-test_sysconfig_module.patch - Remove distutils-reproducible-compile.patch which doesn't make really much difference in reproducibility (see gh#python/cpython#8057 and discussion there).- Rename Stop_hash-based_invalidation_w_SOURCE_DATE_EPOCH.patch to bpo34022-stop_hash-based_invalidation_w_SOURCE_DATE_EPOCH.patch- Add dependency on bluez-devel to build support for Bluetooth (boo#1109998)- Add devhelp subpackage and split qthelp into another subpackage.- Remove python-3.0b1-record-rpm.patch and Python-3.0b1-record-rpm.patch, as they are not needed anymore- Switch off test_threading for optimization builds.- Update to python-3.7.1. This is just a brief overview, complete changelog available at https://docs.python.org/3.7/whatsnew/changelog.html#python-3-7-1-final: Library bpo-34970: Protect tasks weak set manipulation in asyncio.all_tasks() - Patches already accepted upstream are removed: * 00307-allow-to-call-Py_Main-after-Py_Initialize.patch * 00308-tls-1.3.patch - New patches added: * Stop_hash-based_invalidation_w_SOURCE_DATE_EPOCH.patch * raise_SIGING_not_handled.patch - All other patches refreshed via quilt.- Add raise_SIGING_not_handled.patch to fix bsc#1094814- Add patch to fix importlib return types: * python3-imp-returntype.patch- bpo-34022 still not completely fixed, so we have to keep excluding test_cmd_line_script, test_multiprocessing_main_handling, and test_runpy from the test suite.- Update to python 3.7.1~rc2: Core and Builtins bpo-34879: Fix a possible null pointer dereference in bytesobject.c. Patch by Zackery Spytz. bpo-34854: Fixed a crash in compiling string annotations containing a lambda with a keyword-only argument that doesn’t have a default value. bpo-34320: Fix dict(od) didn’t copy iteration order of OrderedDict. Library bpo-34769: Fix for async generators not finalizing when event loop is in debug mode and garbage collector runs in another thread. bpo-34922: Fixed integer overflow in the digest() and hexdigest() methods for the SHAKE algorithm in the hashlib module. bpo-34900: Fixed unittest.TestCase.debug() when used to call test methods with subtests. Patch by Bruno Oliveira. bpo-34871: Fix inspect module polluted sys.modules when parsing __text_signature__ of callable. bpo-34872: Fix self-cancellation in C implementation of asyncio.Task bpo-34819: Use a monotonic clock to compute timeouts in Executor.map() and as_completed(), in order to prevent timeouts from deviating when the system clock is adjusted. bpo-34334: In QueueHandler, clear exc_text from LogRecord to prevent traceback from being written twice. bpo-6721: Acquire the logging module’s commonly used internal locks while fork()ing to avoid deadlocks in the child process. bpo-34172: Fix a reference issue inside multiprocessing.Pool that caused the pool to remain alive if it was deleted without being closed or terminated explicitly. Documentation bpo-32174: chm document displays non-ASCII charaters properly on some MBCS Windows systems. Tests bpo-32962: Fixed test_gdb when Python is compiled with flags - mcet -fcf-protection -O0. C API bpo-34910: Ensure that PyObject_Print() always returns -1 on error. Patch by Zackery Spytz.- Add Stop_hash-based_invalidation_w_SOURCE_DATE_EPOCH.patch to fix problems with SOURCE_DATE_EPOCH variable (bpo-34022)- Add patch to fix build with tls1.3 supported openssl * 00308-tls-1.3.patch - Add patch to fix Py_Main calls after Py_initialize * 00307-allow-to-call-Py_Main-after-Py_Initialize.patch- Add -fwrapv to OPTS, which is default for python3 anyway See for example https://github.com/zopefoundation/persistent/issues/86 for bugs which are caused by avoiding it.- Fix ownership of _contextvars, _queue, and _xxtestfuzz- Switch off LTO for distros with older GCC - Fix %files- Add dependency over libuuid-devel- update to python 3.7.0 Complete overview of changes is available on https://docs.python.org/3/whatsnew/3.7.html, these are just highlights: * PEP 563, postponed evaluation of type annotations. * async and await are now reserved keywords. * New library modules: contextvars: PEP 567 – Context Variables dataclasses: PEP 557 – Data Classes importlib.resources * New built-in features: PEP 553, the new breakpoint() function. * Python data model improvements: PEP 562, customization of access to module attributes. PEP 560, core support for typing module and generic types. the insertion-order preservation nature of dict objects has been declared to be an official part of the Python language spec. * Significant improvements in the standard library: The asyncio module has received new features, significant usability and performance improvements. The time module gained support for functions with nanosecond resolution. * CPython implementation improvements: Avoiding the use of ASCII as a default text encoding: PEP 538, legacy C locale coercion PEP 540, forced UTF-8 runtime mode PEP 552, deterministic .pycs the new development runtime mode PEP 565, improved DeprecationWarning handling * C API improvements: PEP 539, new C API for thread-local storage * Documentation improvements: PEP 545, Python documentation translations New documentation translations: Japanese, French, and Korean. - drop python3-sorted_tar.patch - drop 0001-allow-for-reproducible-builds-of-python-packages.patch - refresh python-3.6.0-multilib-new.patch - refresh subprocess-raise-timeout.patch * new C API for thread-local storage * Deterministic pyc files * Built-in breakpoint() * Data Classes * Core support for typing module and generic types * Customization of access to module attributes * Postponed evaluation of annotations * Time functions with nanosecond resolution * Improved DeprecationWarning handling * Context Variables * Avoiding the use of ASCII as a default text encoding (PEP 538, legacy C locale coercion and PEP 540, forced UTF-8 runtime mode) * The insertion-order preservation nature of dict objects is now an official part of the Python language spec. * Notable performance improvements in many areas.- disable lto with gcc versions below 7 (results in link failures)- Use faster find subcommand execution strategies.- Do not mention the testsuite disabling in opts as it was moved to main pkg so base is test-free- As we run in main python package do not generate the pre_checkin from both now- Move the tests from base to generic package wrt bsc#1088573 * We still fail the whole distro if python3 is not build * The other archs than x86_64 took couple of hours to unblock build of other software, this way we work around the issue - Some tests are still run in -base for the LTO tweaking, but at least it is not run twice- update to 3.6.5 * bugfix release * see Misc/NEWS for details - drop ctypes-pass-by-value.patch - drop fix-localeconv-encoding-for-LC_NUMERIC.patch - refresh python-3.6.0-multilib-new.patch- Created %so_major and %so_minor macros - Put Tools/gdb/libpython.py script into proper place and ship it with devel subpackage.- ctypes-pass-by-value.patch: Fix pass by value for structs on aarch64- Add python3-sorted_tar.patch (boo#1081750)- Drop python3-tk and python3-idle recommends to reduce python3 always pulling X stack bsc#1081751- Add patch to fix glibc 2.27 fail bsc#1079761: * fix-localeconv-encoding-for-LC_NUMERIC.patch- Update skip_random_failing_tests.patch (for PowerPC) to avoid test_call_later failure- move XML modules and python3-xml provide to python3-base (fixes bsc#1077230) - move ensurepip to base- Add skip_random_failing_tests.patch only for PowerPC- update to 3.6.4 * bugfix release, over a hundred bugs fixed * see Misc/NEWS for details - drop upstreamed python3-ncurses-6.0-accessors.patch - drop PYTHONSTARTUP hooks that cause spurious startup errors * fixes bsc#1070738 * the relevant feature (REPL history) is now built into Python itself- Install 2to3-%{python_version} executable (override defattr of the -tools package). 2to3 (unversioned) is a symlink and does not carry permissions (bsc#1070853).- move 2to3 to python3-tools package- update to 3.6.3 * bugfix release, over a hundred bugs fixed * see Misc/NEWS for details - drop upstreamed 0001-3.6-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-3093.patch- drop python-2.7-libffi-aarch64.patch: this patches the intree copy of libffi which is unused/deleted in the line afterwards - fix build against system libffi: include flags weren't set so it actually used the in-tree libffi headers.- Fix test broken with OpenSSL 1.1 (bsc#1042670) * add 0001-3.6-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-3093.patch- Update RPM group for python documentation.- fix missing %{?armsuffix}- distutils-reproducible-compile.patch: ensure distutils order files before compiling, which works around bsc#1049186- Add libnsl-devel build requires for glibc obsoleting libnsl- update to 3.6.2 * bugfix release, over a hundred bugs fixed * see Misc/NEWS for details - drop upstreamed test-socket-aead-kernel49.patch - add Provides: python3-typing (fixes bsc#1050653) - drop duplicate Provides: python3- drop db-devel from requirements- Add missing link to python library in config dir (bsc#1040164)- update to 3.6.1 * bugfix release, over a hundred bugs fixed * never add import location's parent directory to sys.path * switch to git for version control, build changes related to that * fix "failed to get random numbers" on old kernels (bsc#1029902) * several crashes and memory leaks corrected * f-string are no longer accepted as docstrings- prevent regenerating AST at build-time more robustly - add "--without profileopt" and "--without testsuite" options to python3-base to allow short circuiting when working on the package- Add 0001-allow-for-reproducible-builds-of-python-packages.patch upstream https://github.com/python/cpython/pull/296- reenable test_socket with AEAD patch (test-socket-aead-kernel49.patch) - reintroduce %py3_soflags macro (and better named %cpython3_soabi equivalent)- update to 3.6.0 * PEP 498 Formated string literals * PEP 515 Underscores in numeric literals * PEP 526 Syntax for variable annotations * PEP 525 Asynchronous generators * PEP 530 Asynchronous comprehensions * PEP 506 New "secrets" module for safe key generation * less memory consumed by dicts * dtrace and systemtap support * improved asyncio module * better defaults for ssl * new hashing algorithms in hashlib * bytecode format changed to allow more optimizations * "async" and "await" are on track to be reserved words * StopIteration from generators is deprecated * support for openssl < 1.0.2 is deprecated * os.urandom now blocks when getrandom() blocks * huge number of new features, bugfixes and optimizations * see https://docs.python.org/3.6/whatsnew/3.6.html for details - rework multilib patch: drop Python-3.5.0-multilib.patch, implement upstreamable python-3.6.0-multilib-new.patch - refresh python-3.3.0b1-localpath.patch, subprocess-raise-timeout.patch - drop upstreamed Python-3.5.1-fix_lru_cache_copying.patch - finally drop python-2.6b1-canonicalize2.patch that was not applied in source and only kept around in case we needed it in the future. (which we don't, as it seems) - update import_failed map and baselibs - build ctypes against system libffi (buildrequire libffi-devel in python3-base) - add new key to keyring (signed by keys already in keyring) - introduced common configure section between python3 and python3-base - moved pyconfig.h and Makefile to devel subpackage as distutils no longer need it at runtime - added python-rpm-macros dependency, regenerated macros file, drop macros.python3.py because it is not used now - improve summaries and descriptions (fixes bsc#917607) - enabled Link-Time Optimization, see what happens - including skipped_tests.py in pre_checkin.sh run - run specs through spec-cleaner, rearrange sections- move _hashlib and _ssl modules and tests to python3-base - recommend python3- Skip test_asyncio under qemu_user_space_build- Add Python-3.5.1-fix_lru_cache_copying.patch Fix copying the lru_cache() wrapper object. Fixes deep-copying lru_cache regression, which worked on previous versions of python but fails on python 3.5. This fixes a bunch of packages in devel:languages:python3. See: https://bugs.python.org/issue25447- Build the docs in .qch format as well- update to 3.5.1 * bugfix-only release, dozens of bugs fixed - Drop upstreamed Python-3.5.0-_Py_atomic_xxx-symbols.patch - "Python3" to "Python 3" in summary * This seems cleaner and fixes and rpmlint warning- Add Python-3.5.0-_Py_atomic_xxx-symbols.patch This fixes a build error for many packages that use the Python, C-API. This patch is already accepted upstream and is slated to appear in python 3.5.1.- update to 3.5.0 * coroutines with async/await syntax * matrix multiplication operator `@` * unpacking generalizations * new modules `typing` and `zipapp` * type annotations * .pyo files replaced by custom suffixes for optimization levels in __pycache__ * support for memory BIO in ssl module * performance improvements in several modules * and many more - removals and behavior changes * deprecated `__version__` is removed * support for .pyo files was removed * system calls are auto-retried on EINTR * bare generator expressions in function calls now cause SyntaxError (change "f(x for x in i)" to "f((x for x in i))" to fix) * removed undocumented `format` member of private `PyMemoryViewObject` struct * renamed `PyMemAllocator` to `PyMemAllocatorEx` - redefine %dynlib macro to reflect that modules now have arch+os as part of name - module `time` is now built-in - dropped upstreamed patches: python-3.4.1-fix-faulthandler.patch python-3.4.3-test-conditional-ssl.patch python-fix-short-dh.patch (also dropped dh2048.pem required for this patch) - updated patch Python-3.3.0b2-multilib.patch to Python-3.5.0-multilib.patch - python-ncurses-6.0-accessors.patch taken from python 2 to fix build failure with new gcc + ncurses- Add python3-ncurses-6.0-accessors.patch: Fix build with NCurses 6.0 and OPAQUE_WINDOW set to 1.- improve import_failed hook to do the right thing when invoking missing modules with "python3 -m modulename" (boo#942751)- Build with --enable-loadable-sqlite-extensions to make it works as geospatial database.- Fix source list for previous change (add dh2048.pem).- dh2048.pem: added generated 2048 dh parameter set to fix ssl test (bsc#935856) - python-fix-short-dh.patch: replace the 512 bits dh parameter set by 2048 bits to fix build with new openssl 1.0.2c (bsc#935856)- ctypes-libffi-aarch64.patch: remove upstreamed patch - python-2.7-libffi-aarch64.patch: Fix argument passing in libffi for aarch64- drop the PDF subpackage (removes the massive texlive dependency, and most likely nobody is using the PDFs anyway)- python-3.4.3-test-conditional-ssl.patch - restore tests failing because test_urllib was unconditionally importing ssl (without really needing it) - restore functionality of multilib patch - drop libffi-ppc64le.diff because upstream completely changed everything yet again (sorry ppc64 folks :| )- Update to version 3.4.3 - Drop upstreamed CVE-2014-4650-CGIHTTPServer-traversal.patch (bpo#21766)- Add python-3.4.1-fix-faulthandler.patch, upstream patch for bogus faulthandler which fails with GCC 5.- asyncio has been merged in python3 main package; provide and obsolete it - Remove obsolete AUTHORS section - Remove redundant %clean section- Only pkgconfig(x11) is required for build, not the whole set of packages provided by xorg-x11-devel metapackage.- add %python3_version rpm macro for Fedora compatibility - add missing argument in import_failed, rename Novell Bugzilla to SUSE Bugzillaibs-power9-18 1732865628  ###&&&))),,,///222555888;;;>?>AAADDDGGGJJJMNMPPPSSSVVVYYY\]\___bbbeeehihkkmnnnqqqtttwwwzzz}}}     ! #$#&'&)*),-,/0/232565898;<;>?>ABADEDGHGJKJMNMPQPSTSVWVYZY\]\_`abcdefghijklmnopqrstuvwxyz{|}~    ! ###&'())),,,/0/222565888;;;>>>AAADDDGGGJJJMNOPPPSTSVVXYZY\]\_`_bcbefehhhkkknnnqrqtutwxwz{z}~}      "#"%%%()(+++./0121454787:::=>=@A@CCCFFFIJILLLOPORRTUVUXYX[[[^^^abcdedgggjjjmmmpppsssvvvyyy|||      !"!$$$'('*+*-.-010343666999<=>?@?BCBEFEHHJKLMNNNQRQTTTWXYZZZ]]]`a`cdcfffijklmloporsruvwxyx{|{~~~       ###&'&)*),-.///232565888;<;>?>ABADEDGGGJJJMMMPPRSSUVVVYZY\\\___bbbeeghhhklknnnqqqtuvwxwzzz}}}      """%%'(((+,+./0111444787:::=>?@A@CDEFGFIJILMLOOORRRUUUXXX[\]^_^aaadddgggjjjmnopppsssvwxyzy|||     !!!$%$'''***---0003436769:;<=>?@?BCBEFEHIJKKKNNNQQQTUTWWWZ[Z]^]`a`cdcfgfiiilmnooqrsruvuxxx{{{~~     !"#$%&'()*+,-./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 w z { 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 l l o p q r s r u u u x x x { { { ~ ~ ~                             ! " " " % % % ( ) * + , - . / 0 1 2 3 3 3 6 7 8 9 : ; ; ; > ? @ A B B B > F G H I J K K K N O P Q Q Q T U V W X X X [ \ ] ^ _ _ _ b c d e f f f i j k l l l o p  s t t t w w w z z | } ~ }                            ! ! ! $ $ $ ' ( ) * + * - . - 0 1 0 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 S S V W X Y Z Z Z ] ^ _ ` a b c d e f g h i j k l m m m p p p s s s v v v y y y | | |          !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstsvvvyzy|}|     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefffijklmnopqrrruvuxxx{|}~        #$#&'&))),,,/0123456783.9.20-150300.4.58.13.9.20-150300.4.58.1    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! """""""""#$$$$$$$$$$$$$$$#####%%&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%'''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((''''''''''''''''''''''''''''''')))***************************************************)+++++++++++++++++++++++++++++++++++++++++++++++++))))))))))))))),,,------,./000000000000000000000000000000000000000////////////122222211//.334444443.566666655.778888887999:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::99;;;<<<<<<<<<<<<;;9==>>>==9??@@@??AABBBA??9CCDDDCEEFFFECGGHHHG9IIJJJIKLLMMMKNNOOOK9PPPQQQQQQQQQQQQQQQQQQPPPP99RRRSSSSSSSSSSSSRR9TTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTTTTTTTT9VWXYYYYYYXXVVZ[[[ZZ\VV]^^______^V`abbbaVcdeeedVfghiiihVjklmmmlVnopqqqpV9rssssssrr9tttuuuuuuuuuuuuuuuuuuuuuttttt9999999999999999999999vvwwwv9xxyyyxzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzz|||}}}}}}}}}}}}}}}|||~~~~~~~~~~~~~test__init__.py__main__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pyc__main__.cpython-39.opt-1.pyc__main__.cpython-39.opt-2.pyc__main__.cpython-39.pyctest_anon.cpython-39.opt-1.pyctest_anon.cpython-39.opt-2.pyctest_anon.cpython-39.pyctest_array_in_pointer.cpython-39.opt-1.pyctest_array_in_pointer.cpython-39.opt-2.pyctest_array_in_pointer.cpython-39.pyctest_arrays.cpython-39.opt-1.pyctest_arrays.cpython-39.opt-2.pyctest_arrays.cpython-39.pyctest_as_parameter.cpython-39.opt-1.pyctest_as_parameter.cpython-39.opt-2.pyctest_as_parameter.cpython-39.pyctest_bitfields.cpython-39.opt-1.pyctest_bitfields.cpython-39.opt-2.pyctest_bitfields.cpython-39.pyctest_buffers.cpython-39.opt-1.pyctest_buffers.cpython-39.opt-2.pyctest_buffers.cpython-39.pyctest_bytes.cpython-39.opt-1.pyctest_bytes.cpython-39.opt-2.pyctest_bytes.cpython-39.pyctest_byteswap.cpython-39.opt-1.pyctest_byteswap.cpython-39.opt-2.pyctest_byteswap.cpython-39.pyctest_callbacks.cpython-39.opt-1.pyctest_callbacks.cpython-39.opt-2.pyctest_callbacks.cpython-39.pyctest_cast.cpython-39.opt-1.pyctest_cast.cpython-39.opt-2.pyctest_cast.cpython-39.pyctest_cfuncs.cpython-39.opt-1.pyctest_cfuncs.cpython-39.opt-2.pyctest_cfuncs.cpython-39.pyctest_checkretval.cpython-39.opt-1.pyctest_checkretval.cpython-39.opt-2.pyctest_checkretval.cpython-39.pyctest_delattr.cpython-39.opt-1.pyctest_delattr.cpython-39.opt-2.pyctest_delattr.cpython-39.pyctest_errno.cpython-39.opt-1.pyctest_errno.cpython-39.opt-2.pyctest_errno.cpython-39.pyctest_find.cpython-39.opt-1.pyctest_find.cpython-39.opt-2.pyctest_find.cpython-39.pyctest_frombuffer.cpython-39.opt-1.pyctest_frombuffer.cpython-39.opt-2.pyctest_frombuffer.cpython-39.pyctest_funcptr.cpython-39.opt-1.pyctest_funcptr.cpython-39.opt-2.pyctest_funcptr.cpython-39.pyctest_functions.cpython-39.opt-1.pyctest_functions.cpython-39.opt-2.pyctest_functions.cpython-39.pyctest_incomplete.cpython-39.opt-1.pyctest_incomplete.cpython-39.opt-2.pyctest_incomplete.cpython-39.pyctest_init.cpython-39.opt-1.pyctest_init.cpython-39.opt-2.pyctest_init.cpython-39.pyctest_internals.cpython-39.opt-1.pyctest_internals.cpython-39.opt-2.pyctest_internals.cpython-39.pyctest_keeprefs.cpython-39.opt-1.pyctest_keeprefs.cpython-39.opt-2.pyctest_keeprefs.cpython-39.pyctest_libc.cpython-39.opt-1.pyctest_libc.cpython-39.opt-2.pyctest_libc.cpython-39.pyctest_loading.cpython-39.opt-1.pyctest_loading.cpython-39.opt-2.pyctest_loading.cpython-39.pyctest_macholib.cpython-39.opt-1.pyctest_macholib.cpython-39.opt-2.pyctest_macholib.cpython-39.pyctest_memfunctions.cpython-39.opt-1.pyctest_memfunctions.cpython-39.opt-2.pyctest_memfunctions.cpython-39.pyctest_numbers.cpython-39.opt-1.pyctest_numbers.cpython-39.opt-2.pyctest_numbers.cpython-39.pyctest_objects.cpython-39.opt-1.pyctest_objects.cpython-39.opt-2.pyctest_objects.cpython-39.pyctest_parameters.cpython-39.opt-1.pyctest_parameters.cpython-39.opt-2.pyctest_parameters.cpython-39.pyctest_pep3118.cpython-39.opt-1.pyctest_pep3118.cpython-39.opt-2.pyctest_pep3118.cpython-39.pyctest_pickling.cpython-39.opt-1.pyctest_pickling.cpython-39.opt-2.pyctest_pickling.cpython-39.pyctest_pointers.cpython-39.opt-1.pyctest_pointers.cpython-39.opt-2.pyctest_pointers.cpython-39.pyctest_prototypes.cpython-39.opt-1.pyctest_prototypes.cpython-39.opt-2.pyctest_prototypes.cpython-39.pyctest_python_api.cpython-39.opt-1.pyctest_python_api.cpython-39.opt-2.pyctest_python_api.cpython-39.pyctest_random_things.cpython-39.opt-1.pyctest_random_things.cpython-39.opt-2.pyctest_random_things.cpython-39.pyctest_refcounts.cpython-39.opt-1.pyctest_refcounts.cpython-39.opt-2.pyctest_refcounts.cpython-39.pyctest_repr.cpython-39.opt-1.pyctest_repr.cpython-39.opt-2.pyctest_repr.cpython-39.pyctest_returnfuncptrs.cpython-39.opt-1.pyctest_returnfuncptrs.cpython-39.opt-2.pyctest_returnfuncptrs.cpython-39.pyctest_simplesubclasses.cpython-39.opt-1.pyctest_simplesubclasses.cpython-39.opt-2.pyctest_simplesubclasses.cpython-39.pyctest_sizes.cpython-39.opt-1.pyctest_sizes.cpython-39.opt-2.pyctest_sizes.cpython-39.pyctest_slicing.cpython-39.opt-1.pyctest_slicing.cpython-39.opt-2.pyctest_slicing.cpython-39.pyctest_stringptr.cpython-39.opt-1.pyctest_stringptr.cpython-39.opt-2.pyctest_stringptr.cpython-39.pyctest_strings.cpython-39.opt-1.pyctest_strings.cpython-39.opt-2.pyctest_strings.cpython-39.pyctest_struct_fields.cpython-39.opt-1.pyctest_struct_fields.cpython-39.opt-2.pyctest_struct_fields.cpython-39.pyctest_structures.cpython-39.opt-1.pyctest_structures.cpython-39.opt-2.pyctest_structures.cpython-39.pyctest_unaligned_structures.cpython-39.opt-1.pyctest_unaligned_structures.cpython-39.opt-2.pyctest_unaligned_structures.cpython-39.pyctest_unicode.cpython-39.opt-1.pyctest_unicode.cpython-39.opt-2.pyctest_unicode.cpython-39.pyctest_values.cpython-39.opt-1.pyctest_values.cpython-39.opt-2.pyctest_values.cpython-39.pyctest_varsize_struct.cpython-39.opt-1.pyctest_varsize_struct.cpython-39.opt-2.pyctest_varsize_struct.cpython-39.pyctest_win32.cpython-39.opt-1.pyctest_win32.cpython-39.opt-2.pyctest_win32.cpython-39.pyctest_wintypes.cpython-39.opt-1.pyctest_wintypes.cpython-39.opt-2.pyctest_wintypes.cpython-39.pyctest_anon.pytest_array_in_pointer.pytest_arrays.pytest_as_parameter.pytest_bitfields.pytest_buffers.pytest_bytes.pytest_byteswap.pytest_callbacks.pytest_cast.pytest_cfuncs.pytest_checkretval.pytest_delattr.pytest_errno.pytest_find.pytest_frombuffer.pytest_funcptr.pytest_functions.pytest_incomplete.pytest_init.pytest_internals.pytest_keeprefs.pytest_libc.pytest_loading.pytest_macholib.pytest_memfunctions.pytest_numbers.pytest_objects.pytest_parameters.pytest_pep3118.pytest_pickling.pytest_pointers.pytest_prototypes.pytest_python_api.pytest_random_things.pytest_refcounts.pytest_repr.pytest_returnfuncptrs.pytest_simplesubclasses.pytest_sizes.pytest_slicing.pytest_stringptr.pytest_strings.pytest_struct_fields.pytest_structures.pytest_unaligned_structures.pytest_unicode.pytest_values.pytest_varsize_struct.pytest_win32.pytest_wintypes.pytestsSetup.sample__init__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pycsupport.cpython-39.opt-1.pycsupport.cpython-39.opt-2.pycsupport.cpython-39.pyctest_archive_util.cpython-39.opt-1.pyctest_archive_util.cpython-39.opt-2.pyctest_archive_util.cpython-39.pyctest_bdist.cpython-39.opt-1.pyctest_bdist.cpython-39.opt-2.pyctest_bdist.cpython-39.pyctest_bdist_dumb.cpython-39.opt-1.pyctest_bdist_dumb.cpython-39.opt-2.pyctest_bdist_dumb.cpython-39.pyctest_bdist_msi.cpython-39.opt-1.pyctest_bdist_msi.cpython-39.opt-2.pyctest_bdist_msi.cpython-39.pyctest_bdist_rpm.cpython-39.opt-1.pyctest_bdist_rpm.cpython-39.opt-2.pyctest_bdist_rpm.cpython-39.pyctest_bdist_wininst.cpython-39.opt-1.pyctest_bdist_wininst.cpython-39.opt-2.pyctest_bdist_wininst.cpython-39.pyctest_build.cpython-39.opt-1.pyctest_build.cpython-39.opt-2.pyctest_build.cpython-39.pyctest_build_clib.cpython-39.opt-1.pyctest_build_clib.cpython-39.opt-2.pyctest_build_clib.cpython-39.pyctest_build_ext.cpython-39.opt-1.pyctest_build_ext.cpython-39.opt-2.pyctest_build_ext.cpython-39.pyctest_build_py.cpython-39.opt-1.pyctest_build_py.cpython-39.opt-2.pyctest_build_py.cpython-39.pyctest_build_scripts.cpython-39.opt-1.pyctest_build_scripts.cpython-39.opt-2.pyctest_build_scripts.cpython-39.pyctest_check.cpython-39.opt-1.pyctest_check.cpython-39.opt-2.pyctest_check.cpython-39.pyctest_clean.cpython-39.opt-1.pyctest_clean.cpython-39.opt-2.pyctest_clean.cpython-39.pyctest_cmd.cpython-39.opt-1.pyctest_cmd.cpython-39.opt-2.pyctest_cmd.cpython-39.pyctest_config.cpython-39.opt-1.pyctest_config.cpython-39.opt-2.pyctest_config.cpython-39.pyctest_config_cmd.cpython-39.opt-1.pyctest_config_cmd.cpython-39.opt-2.pyctest_config_cmd.cpython-39.pyctest_core.cpython-39.opt-1.pyctest_core.cpython-39.opt-2.pyctest_core.cpython-39.pyctest_cygwinccompiler.cpython-39.opt-1.pyctest_cygwinccompiler.cpython-39.opt-2.pyctest_cygwinccompiler.cpython-39.pyctest_dep_util.cpython-39.opt-1.pyctest_dep_util.cpython-39.opt-2.pyctest_dep_util.cpython-39.pyctest_dir_util.cpython-39.opt-1.pyctest_dir_util.cpython-39.opt-2.pyctest_dir_util.cpython-39.pyctest_dist.cpython-39.opt-1.pyctest_dist.cpython-39.opt-2.pyctest_dist.cpython-39.pyctest_extension.cpython-39.opt-1.pyctest_extension.cpython-39.opt-2.pyctest_extension.cpython-39.pyctest_file_util.cpython-39.opt-1.pyctest_file_util.cpython-39.opt-2.pyctest_file_util.cpython-39.pyctest_filelist.cpython-39.opt-1.pyctest_filelist.cpython-39.opt-2.pyctest_filelist.cpython-39.pyctest_install.cpython-39.opt-1.pyctest_install.cpython-39.opt-2.pyctest_install.cpython-39.pyctest_install_data.cpython-39.opt-1.pyctest_install_data.cpython-39.opt-2.pyctest_install_data.cpython-39.pyctest_install_headers.cpython-39.opt-1.pyctest_install_headers.cpython-39.opt-2.pyctest_install_headers.cpython-39.pyctest_install_lib.cpython-39.opt-1.pyctest_install_lib.cpython-39.opt-2.pyctest_install_lib.cpython-39.pyctest_install_scripts.cpython-39.opt-1.pyctest_install_scripts.cpython-39.opt-2.pyctest_install_scripts.cpython-39.pyctest_log.cpython-39.opt-1.pyctest_log.cpython-39.opt-2.pyctest_log.cpython-39.pyctest_msvc9compiler.cpython-39.opt-1.pyctest_msvc9compiler.cpython-39.opt-2.pyctest_msvc9compiler.cpython-39.pyctest_msvccompiler.cpython-39.opt-1.pyctest_msvccompiler.cpython-39.opt-2.pyctest_msvccompiler.cpython-39.pyctest_register.cpython-39.opt-1.pyctest_register.cpython-39.opt-2.pyctest_register.cpython-39.pyctest_sdist.cpython-39.opt-1.pyctest_sdist.cpython-39.opt-2.pyctest_sdist.cpython-39.pyctest_spawn.cpython-39.opt-1.pyctest_spawn.cpython-39.opt-2.pyctest_spawn.cpython-39.pyctest_sysconfig.cpython-39.opt-1.pyctest_sysconfig.cpython-39.opt-2.pyctest_sysconfig.cpython-39.pyctest_text_file.cpython-39.opt-1.pyctest_text_file.cpython-39.opt-2.pyctest_text_file.cpython-39.pyctest_unixccompiler.cpython-39.opt-1.pyctest_unixccompiler.cpython-39.opt-2.pyctest_unixccompiler.cpython-39.pyctest_upload.cpython-39.opt-1.pyctest_upload.cpython-39.opt-2.pyctest_upload.cpython-39.pyctest_util.cpython-39.opt-1.pyctest_util.cpython-39.opt-2.pyctest_util.cpython-39.pyctest_version.cpython-39.opt-1.pyctest_version.cpython-39.opt-2.pyctest_version.cpython-39.pyctest_versionpredicate.cpython-39.opt-1.pyctest_versionpredicate.cpython-39.opt-2.pyctest_versionpredicate.cpython-39.pycincludetest.rstsupport.pytest_archive_util.pytest_bdist.pytest_bdist_dumb.pytest_bdist_msi.pytest_bdist_rpm.pytest_bdist_wininst.pytest_build.pytest_build_clib.pytest_build_ext.pytest_build_py.pytest_build_scripts.pytest_check.pytest_clean.pytest_cmd.pytest_config.pytest_config_cmd.pytest_core.pytest_cygwinccompiler.pytest_dep_util.pytest_dir_util.pytest_dist.pytest_extension.pytest_file_util.pytest_filelist.pytest_install.pytest_install_data.pytest_install_headers.pytest_install_lib.pytest_install_scripts.pytest_log.pytest_msvc9compiler.pytest_msvccompiler.pytest_register.pytest_sdist.pytest_spawn.pytest_sysconfig.pytest_text_file.pytest_unixccompiler.pytest_upload.pytest_util.pytest_version.pytest_versionpredicate.pyxxmodule.c_ctypes_test.cpython-39-powerpc64le-linux-gnu.so_testbuffer.cpython-39-powerpc64le-linux-gnu.so_testcapi.cpython-39-powerpc64le-linux-gnu.so_testimportmultiple.cpython-39-powerpc64le-linux-gnu.so_testinternalcapi.cpython-39-powerpc64le-linux-gnu.so_testmultiphase.cpython-39-powerpc64le-linux-gnu.soxxlimited.cpython-39-powerpc64le-linux-gnu.sotests__init__.py__main__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pyc__main__.cpython-39.opt-1.pyc__main__.cpython-39.opt-2.pyc__main__.cpython-39.pycpytree_idempotency.cpython-39.opt-1.pycpytree_idempotency.cpython-39.opt-2.pycpytree_idempotency.cpython-39.pycsupport.cpython-39.opt-1.pycsupport.cpython-39.opt-2.pycsupport.cpython-39.pyctest_all_fixers.cpython-39.opt-1.pyctest_all_fixers.cpython-39.opt-2.pyctest_all_fixers.cpython-39.pyctest_fixers.cpython-39.opt-1.pyctest_fixers.cpython-39.opt-2.pyctest_fixers.cpython-39.pyctest_main.cpython-39.opt-1.pyctest_main.cpython-39.opt-2.pyctest_main.cpython-39.pyctest_parser.cpython-39.opt-1.pyctest_parser.cpython-39.opt-2.pyctest_parser.cpython-39.pyctest_pytree.cpython-39.opt-1.pyctest_pytree.cpython-39.opt-2.pyctest_pytree.cpython-39.pyctest_refactor.cpython-39.opt-1.pyctest_refactor.cpython-39.opt-2.pyctest_refactor.cpython-39.pyctest_util.cpython-39.opt-1.pyctest_util.cpython-39.opt-2.pyctest_util.cpython-39.pycdataREADMEbom.pycrlf.pydifferent_encoding.pyfalse_encoding.pyfixersbad_order.pymyfixes__init__.pyfix_explicit.pyfix_first.pyfix_last.pyfix_parrot.pyfix_preorder.pyno_fixer_cls.pyparrot_example.pyinfinite_recursion.pypy2_test_grammar.pypy3_test_grammar.pypytree_idempotency.pysupport.pytest_all_fixers.pytest_fixers.pytest_main.pytest_parser.pytest_pytree.pytest_refactor.pytest_util.pysqlite3test__init__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pycbackup.cpython-39.opt-1.pycbackup.cpython-39.opt-2.pycbackup.cpython-39.pycdbapi.cpython-39.opt-1.pycdbapi.cpython-39.opt-2.pycdbapi.cpython-39.pycdump.cpython-39.opt-1.pycdump.cpython-39.opt-2.pycdump.cpython-39.pycfactory.cpython-39.opt-1.pycfactory.cpython-39.opt-2.pycfactory.cpython-39.pychooks.cpython-39.opt-1.pychooks.cpython-39.opt-2.pychooks.cpython-39.pycregression.cpython-39.opt-1.pycregression.cpython-39.opt-2.pycregression.cpython-39.pyctransactions.cpython-39.opt-1.pyctransactions.cpython-39.opt-2.pyctransactions.cpython-39.pyctypes.cpython-39.opt-1.pyctypes.cpython-39.opt-2.pyctypes.cpython-39.pycuserfunctions.cpython-39.opt-1.pycuserfunctions.cpython-39.opt-2.pycuserfunctions.cpython-39.pycbackup.pydbapi.pydump.pyfactory.pyhooks.pyregression.pytransactions.pytypes.pyuserfunctions.pytestSine-1000Hz-300ms.aif__init__.py__main__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pyc__main__.cpython-39.opt-1.pyc__main__.cpython-39.opt-2.pyc__main__.cpython-39.pyc_test_multiprocessing.cpython-39.opt-1.pyc_test_multiprocessing.cpython-39.opt-2.pyc_test_multiprocessing.cpython-39.pyc_typed_dict_helper.cpython-39.opt-1.pyc_typed_dict_helper.cpython-39.opt-2.pyc_typed_dict_helper.cpython-39.pycann_module.cpython-39.opt-1.pycann_module.cpython-39.opt-2.pycann_module.cpython-39.pycann_module2.cpython-39.opt-1.pycann_module2.cpython-39.opt-2.pycann_module2.cpython-39.pycann_module3.cpython-39.opt-1.pycann_module3.cpython-39.opt-2.pycann_module3.cpython-39.pycann_module5.cpython-39.opt-1.pycann_module5.cpython-39.opt-2.pycann_module5.cpython-39.pycann_module6.cpython-39.opt-1.pycann_module6.cpython-39.opt-2.pycann_module6.cpython-39.pycann_module7.cpython-39.opt-1.pycann_module7.cpython-39.opt-2.pycann_module7.cpython-39.pycaudiotests.cpython-39.opt-1.pycaudiotests.cpython-39.opt-2.pycaudiotests.cpython-39.pycaudit-tests.cpython-39.opt-1.pycaudit-tests.cpython-39.opt-2.pycaudit-tests.cpython-39.pycautotest.cpython-39.opt-1.pycautotest.cpython-39.opt-2.pycautotest.cpython-39.pycbad_getattr.cpython-39.opt-1.pycbad_getattr.cpython-39.opt-2.pycbad_getattr.cpython-39.pycbad_getattr2.cpython-39.opt-1.pycbad_getattr2.cpython-39.opt-2.pycbad_getattr2.cpython-39.pycbad_getattr3.cpython-39.opt-1.pycbad_getattr3.cpython-39.opt-2.pycbad_getattr3.cpython-39.pycbisect_cmd.cpython-39.opt-1.pycbisect_cmd.cpython-39.opt-2.pycbisect_cmd.cpython-39.pyccoding20731.cpython-39.opt-1.pyccoding20731.cpython-39.opt-2.pyccoding20731.cpython-39.pyccurses_tests.cpython-39.opt-1.pyccurses_tests.cpython-39.opt-2.pyccurses_tests.cpython-39.pycdataclass_module_1.cpython-39.opt-1.pycdataclass_module_1.cpython-39.opt-2.pycdataclass_module_1.cpython-39.pycdataclass_module_1_str.cpython-39.opt-1.pycdataclass_module_1_str.cpython-39.opt-2.pycdataclass_module_1_str.cpython-39.pycdataclass_module_2.cpython-39.opt-1.pycdataclass_module_2.cpython-39.opt-2.pycdataclass_module_2.cpython-39.pycdataclass_module_2_str.cpython-39.opt-1.pycdataclass_module_2_str.cpython-39.opt-2.pycdataclass_module_2_str.cpython-39.pycdataclass_textanno.cpython-39.opt-1.pycdataclass_textanno.cpython-39.opt-2.pycdataclass_textanno.cpython-39.pycdatetimetester.cpython-39.opt-1.pycdatetimetester.cpython-39.opt-2.pycdatetimetester.cpython-39.pycdis_module.cpython-39.opt-1.pycdis_module.cpython-39.opt-2.pycdis_module.cpython-39.pycdoctest_aliases.cpython-39.opt-1.pycdoctest_aliases.cpython-39.opt-2.pycdoctest_aliases.cpython-39.pycdouble_const.cpython-39.opt-1.pycdouble_const.cpython-39.opt-2.pycdouble_const.cpython-39.pycfinal_a.cpython-39.opt-1.pycfinal_a.cpython-39.opt-2.pycfinal_a.cpython-39.pycfinal_b.cpython-39.opt-1.pycfinal_b.cpython-39.opt-2.pycfinal_b.cpython-39.pycfork_wait.cpython-39.opt-1.pycfork_wait.cpython-39.opt-2.pycfork_wait.cpython-39.pycfuture_test1.cpython-39.opt-1.pycfuture_test1.cpython-39.opt-2.pycfuture_test1.cpython-39.pycfuture_test2.cpython-39.opt-1.pycfuture_test2.cpython-39.opt-2.pycfuture_test2.cpython-39.pycgdb_sample.cpython-39.opt-1.pycgdb_sample.cpython-39.opt-2.pycgdb_sample.cpython-39.pycgood_getattr.cpython-39.opt-1.pycgood_getattr.cpython-39.opt-2.pycgood_getattr.cpython-39.pycimp_dummy.cpython-39.opt-1.pycimp_dummy.cpython-39.opt-2.pycimp_dummy.cpython-39.pycinspect_fodder.cpython-39.opt-1.pycinspect_fodder.cpython-39.opt-2.pycinspect_fodder.cpython-39.pycinspect_fodder2.cpython-39.opt-1.pycinspect_fodder2.cpython-39.opt-2.pycinspect_fodder2.cpython-39.pyclist_tests.cpython-39.opt-1.pyclist_tests.cpython-39.opt-2.pyclist_tests.cpython-39.pyclock_tests.cpython-39.opt-1.pyclock_tests.cpython-39.opt-2.pyclock_tests.cpython-39.pycmake_ssl_certs.cpython-39.opt-1.pycmake_ssl_certs.cpython-39.opt-2.pycmake_ssl_certs.cpython-39.pycmapping_tests.cpython-39.opt-1.pycmapping_tests.cpython-39.opt-2.pycmapping_tests.cpython-39.pycmemory_watchdog.cpython-39.opt-1.pycmemory_watchdog.cpython-39.opt-2.pycmemory_watchdog.cpython-39.pycmock_socket.cpython-39.opt-1.pycmock_socket.cpython-39.opt-2.pycmock_socket.cpython-39.pycmod_generics_cache.cpython-39.opt-1.pycmod_generics_cache.cpython-39.opt-2.pycmod_generics_cache.cpython-39.pycmp_fork_bomb.cpython-39.opt-1.pycmp_fork_bomb.cpython-39.opt-2.pycmp_fork_bomb.cpython-39.pycmp_preload.cpython-39.opt-1.pycmp_preload.cpython-39.opt-2.pycmp_preload.cpython-39.pycmultibytecodec_support.cpython-39.opt-1.pycmultibytecodec_support.cpython-39.opt-2.pycmultibytecodec_support.cpython-39.pycpickletester.cpython-39.opt-1.pycpickletester.cpython-39.opt-2.pycpickletester.cpython-39.pycprofilee.cpython-39.opt-1.pycprofilee.cpython-39.opt-2.pycprofilee.cpython-39.pycpyclbr_input.cpython-39.opt-1.pycpyclbr_input.cpython-39.opt-2.pycpyclbr_input.cpython-39.pycpydoc_mod.cpython-39.opt-1.pycpydoc_mod.cpython-39.opt-2.pycpydoc_mod.cpython-39.pycpydocfodder.cpython-39.opt-1.pycpydocfodder.cpython-39.opt-2.pycpydocfodder.cpython-39.pycpythoninfo.cpython-39.opt-1.pycpythoninfo.cpython-39.opt-2.pycpythoninfo.cpython-39.pycre_tests.cpython-39.opt-1.pycre_tests.cpython-39.opt-2.pycre_tests.cpython-39.pycregrtest.cpython-39.opt-1.pycregrtest.cpython-39.opt-2.pycregrtest.cpython-39.pycrelimport.cpython-39.opt-1.pycrelimport.cpython-39.opt-2.pycrelimport.cpython-39.pycreperf.cpython-39.opt-1.pycreperf.cpython-39.opt-2.pycreperf.cpython-39.pycsample_doctest.cpython-39.opt-1.pycsample_doctest.cpython-39.opt-2.pycsample_doctest.cpython-39.pycsample_doctest_no_docstrings.cpython-39.opt-1.pycsample_doctest_no_docstrings.cpython-39.opt-2.pycsample_doctest_no_docstrings.cpython-39.pycsample_doctest_no_doctests.cpython-39.opt-1.pycsample_doctest_no_doctests.cpython-39.opt-2.pycsample_doctest_no_doctests.cpython-39.pycseq_tests.cpython-39.opt-1.pycseq_tests.cpython-39.opt-2.pycseq_tests.cpython-39.pycsignalinterproctester.cpython-39.opt-1.pycsignalinterproctester.cpython-39.opt-2.pycsignalinterproctester.cpython-39.pycsortperf.cpython-39.opt-1.pycsortperf.cpython-39.opt-2.pycsortperf.cpython-39.pycssl_servers.cpython-39.opt-1.pycssl_servers.cpython-39.opt-2.pycssl_servers.cpython-39.pycssltests.cpython-39.opt-1.pycssltests.cpython-39.opt-2.pycssltests.cpython-39.pycstring_tests.cpython-39.opt-1.pycstring_tests.cpython-39.opt-2.pycstring_tests.cpython-39.pyctest___all__.cpython-39.opt-1.pyctest___all__.cpython-39.opt-2.pyctest___all__.cpython-39.pyctest___future__.cpython-39.opt-1.pyctest___future__.cpython-39.opt-2.pyctest___future__.cpython-39.pyctest__locale.cpython-39.opt-1.pyctest__locale.cpython-39.opt-2.pyctest__locale.cpython-39.pyctest__opcode.cpython-39.opt-1.pyctest__opcode.cpython-39.opt-2.pyctest__opcode.cpython-39.pyctest__osx_support.cpython-39.opt-1.pyctest__osx_support.cpython-39.opt-2.pyctest__osx_support.cpython-39.pyctest__xxsubinterpreters.cpython-39.opt-1.pyctest__xxsubinterpreters.cpython-39.opt-2.pyctest__xxsubinterpreters.cpython-39.pyctest_abc.cpython-39.opt-1.pyctest_abc.cpython-39.opt-2.pyctest_abc.cpython-39.pyctest_abstract_numbers.cpython-39.opt-1.pyctest_abstract_numbers.cpython-39.opt-2.pyctest_abstract_numbers.cpython-39.pyctest_aifc.cpython-39.opt-1.pyctest_aifc.cpython-39.opt-2.pyctest_aifc.cpython-39.pyctest_argparse.cpython-39.opt-1.pyctest_argparse.cpython-39.opt-2.pyctest_argparse.cpython-39.pyctest_array.cpython-39.opt-1.pyctest_array.cpython-39.opt-2.pyctest_array.cpython-39.pyctest_asdl_parser.cpython-39.opt-1.pyctest_asdl_parser.cpython-39.opt-2.pyctest_asdl_parser.cpython-39.pyctest_ast.cpython-39.opt-1.pyctest_ast.cpython-39.opt-2.pyctest_ast.cpython-39.pyctest_asyncgen.cpython-39.opt-1.pyctest_asyncgen.cpython-39.opt-2.pyctest_asyncgen.cpython-39.pyctest_asynchat.cpython-39.opt-1.pyctest_asynchat.cpython-39.opt-2.pyctest_asynchat.cpython-39.pyctest_asyncore.cpython-39.opt-1.pyctest_asyncore.cpython-39.opt-2.pyctest_asyncore.cpython-39.pyctest_atexit.cpython-39.opt-1.pyctest_atexit.cpython-39.opt-2.pyctest_atexit.cpython-39.pyctest_audioop.cpython-39.opt-1.pyctest_audioop.cpython-39.opt-2.pyctest_audioop.cpython-39.pyctest_audit.cpython-39.opt-1.pyctest_audit.cpython-39.opt-2.pyctest_audit.cpython-39.pyctest_augassign.cpython-39.opt-1.pyctest_augassign.cpython-39.opt-2.pyctest_augassign.cpython-39.pyctest_base64.cpython-39.opt-1.pyctest_base64.cpython-39.opt-2.pyctest_base64.cpython-39.pyctest_baseexception.cpython-39.opt-1.pyctest_baseexception.cpython-39.opt-2.pyctest_baseexception.cpython-39.pyctest_bdb.cpython-39.opt-1.pyctest_bdb.cpython-39.opt-2.pyctest_bdb.cpython-39.pyctest_bigaddrspace.cpython-39.opt-1.pyctest_bigaddrspace.cpython-39.opt-2.pyctest_bigaddrspace.cpython-39.pyctest_bigmem.cpython-39.opt-1.pyctest_bigmem.cpython-39.opt-2.pyctest_bigmem.cpython-39.pyctest_binascii.cpython-39.opt-1.pyctest_binascii.cpython-39.opt-2.pyctest_binascii.cpython-39.pyctest_binhex.cpython-39.opt-1.pyctest_binhex.cpython-39.opt-2.pyctest_binhex.cpython-39.pyctest_binop.cpython-39.opt-1.pyctest_binop.cpython-39.opt-2.pyctest_binop.cpython-39.pyctest_bisect.cpython-39.opt-1.pyctest_bisect.cpython-39.opt-2.pyctest_bisect.cpython-39.pyctest_bool.cpython-39.opt-1.pyctest_bool.cpython-39.opt-2.pyctest_bool.cpython-39.pyctest_buffer.cpython-39.opt-1.pyctest_buffer.cpython-39.opt-2.pyctest_buffer.cpython-39.pyctest_bufio.cpython-39.opt-1.pyctest_bufio.cpython-39.opt-2.pyctest_bufio.cpython-39.pyctest_builtin.cpython-39.opt-1.pyctest_builtin.cpython-39.opt-2.pyctest_builtin.cpython-39.pyctest_bytes.cpython-39.opt-1.pyctest_bytes.cpython-39.opt-2.pyctest_bytes.cpython-39.pyctest_bz2.cpython-39.opt-1.pyctest_bz2.cpython-39.opt-2.pyctest_bz2.cpython-39.pyctest_c_locale_coercion.cpython-39.opt-1.pyctest_c_locale_coercion.cpython-39.opt-2.pyctest_c_locale_coercion.cpython-39.pyctest_calendar.cpython-39.opt-1.pyctest_calendar.cpython-39.opt-2.pyctest_calendar.cpython-39.pyctest_call.cpython-39.opt-1.pyctest_call.cpython-39.opt-2.pyctest_call.cpython-39.pyctest_capi.cpython-39.opt-1.pyctest_capi.cpython-39.opt-2.pyctest_capi.cpython-39.pyctest_cgi.cpython-39.opt-1.pyctest_cgi.cpython-39.opt-2.pyctest_cgi.cpython-39.pyctest_cgitb.cpython-39.opt-1.pyctest_cgitb.cpython-39.opt-2.pyctest_cgitb.cpython-39.pyctest_charmapcodec.cpython-39.opt-1.pyctest_charmapcodec.cpython-39.opt-2.pyctest_charmapcodec.cpython-39.pyctest_check_c_globals.cpython-39.opt-1.pyctest_check_c_globals.cpython-39.opt-2.pyctest_check_c_globals.cpython-39.pyctest_class.cpython-39.opt-1.pyctest_class.cpython-39.opt-2.pyctest_class.cpython-39.pyctest_clinic.cpython-39.opt-1.pyctest_clinic.cpython-39.opt-2.pyctest_clinic.cpython-39.pyctest_cmath.cpython-39.opt-1.pyctest_cmath.cpython-39.opt-2.pyctest_cmath.cpython-39.pyctest_cmd.cpython-39.opt-1.pyctest_cmd.cpython-39.opt-2.pyctest_cmd.cpython-39.pyctest_cmd_line.cpython-39.opt-1.pyctest_cmd_line.cpython-39.opt-2.pyctest_cmd_line.cpython-39.pyctest_cmd_line_script.cpython-39.opt-1.pyctest_cmd_line_script.cpython-39.opt-2.pyctest_cmd_line_script.cpython-39.pyctest_code.cpython-39.opt-1.pyctest_code.cpython-39.opt-2.pyctest_code.cpython-39.pyctest_code_module.cpython-39.opt-1.pyctest_code_module.cpython-39.opt-2.pyctest_code_module.cpython-39.pyctest_codeccallbacks.cpython-39.opt-1.pyctest_codeccallbacks.cpython-39.opt-2.pyctest_codeccallbacks.cpython-39.pyctest_codecencodings_cn.cpython-39.opt-1.pyctest_codecencodings_cn.cpython-39.opt-2.pyctest_codecencodings_cn.cpython-39.pyctest_codecencodings_hk.cpython-39.opt-1.pyctest_codecencodings_hk.cpython-39.opt-2.pyctest_codecencodings_hk.cpython-39.pyctest_codecencodings_iso2022.cpython-39.opt-1.pyctest_codecencodings_iso2022.cpython-39.opt-2.pyctest_codecencodings_iso2022.cpython-39.pyctest_codecencodings_jp.cpython-39.opt-1.pyctest_codecencodings_jp.cpython-39.opt-2.pyctest_codecencodings_jp.cpython-39.pyctest_codecencodings_kr.cpython-39.opt-1.pyctest_codecencodings_kr.cpython-39.opt-2.pyctest_codecencodings_kr.cpython-39.pyctest_codecencodings_tw.cpython-39.opt-1.pyctest_codecencodings_tw.cpython-39.opt-2.pyctest_codecencodings_tw.cpython-39.pyctest_codecmaps_cn.cpython-39.opt-1.pyctest_codecmaps_cn.cpython-39.opt-2.pyctest_codecmaps_cn.cpython-39.pyctest_codecmaps_hk.cpython-39.opt-1.pyctest_codecmaps_hk.cpython-39.opt-2.pyctest_codecmaps_hk.cpython-39.pyctest_codecmaps_jp.cpython-39.opt-1.pyctest_codecmaps_jp.cpython-39.opt-2.pyctest_codecmaps_jp.cpython-39.pyctest_codecmaps_kr.cpython-39.opt-1.pyctest_codecmaps_kr.cpython-39.opt-2.pyctest_codecmaps_kr.cpython-39.pyctest_codecmaps_tw.cpython-39.opt-1.pyctest_codecmaps_tw.cpython-39.opt-2.pyctest_codecmaps_tw.cpython-39.pyctest_codecs.cpython-39.opt-1.pyctest_codecs.cpython-39.opt-2.pyctest_codecs.cpython-39.pyctest_codeop.cpython-39.opt-1.pyctest_codeop.cpython-39.opt-2.pyctest_codeop.cpython-39.pyctest_collections.cpython-39.opt-1.pyctest_collections.cpython-39.opt-2.pyctest_collections.cpython-39.pyctest_colorsys.cpython-39.opt-1.pyctest_colorsys.cpython-39.opt-2.pyctest_colorsys.cpython-39.pyctest_compare.cpython-39.opt-1.pyctest_compare.cpython-39.opt-2.pyctest_compare.cpython-39.pyctest_compile.cpython-39.opt-1.pyctest_compile.cpython-39.opt-2.pyctest_compile.cpython-39.pyctest_compileall.cpython-39.opt-1.pyctest_compileall.cpython-39.opt-2.pyctest_compileall.cpython-39.pyctest_complex.cpython-39.opt-1.pyctest_complex.cpython-39.opt-2.pyctest_complex.cpython-39.pyctest_concurrent_futures.cpython-39.opt-1.pyctest_concurrent_futures.cpython-39.opt-2.pyctest_concurrent_futures.cpython-39.pyctest_configparser.cpython-39.opt-1.pyctest_configparser.cpython-39.opt-2.pyctest_configparser.cpython-39.pyctest_contains.cpython-39.opt-1.pyctest_contains.cpython-39.opt-2.pyctest_contains.cpython-39.pyctest_context.cpython-39.opt-1.pyctest_context.cpython-39.opt-2.pyctest_context.cpython-39.pyctest_contextlib.cpython-39.opt-1.pyctest_contextlib.cpython-39.opt-2.pyctest_contextlib.cpython-39.pyctest_contextlib_async.cpython-39.opt-1.pyctest_contextlib_async.cpython-39.opt-2.pyctest_contextlib_async.cpython-39.pyctest_copy.cpython-39.opt-1.pyctest_copy.cpython-39.opt-2.pyctest_copy.cpython-39.pyctest_copyreg.cpython-39.opt-1.pyctest_copyreg.cpython-39.opt-2.pyctest_copyreg.cpython-39.pyctest_coroutines.cpython-39.opt-1.pyctest_coroutines.cpython-39.opt-2.pyctest_coroutines.cpython-39.pyctest_cprofile.cpython-39.opt-1.pyctest_cprofile.cpython-39.opt-2.pyctest_cprofile.cpython-39.pyctest_crashers.cpython-39.opt-1.pyctest_crashers.cpython-39.opt-2.pyctest_crashers.cpython-39.pyctest_crypt.cpython-39.opt-1.pyctest_crypt.cpython-39.opt-2.pyctest_crypt.cpython-39.pyctest_csv.cpython-39.opt-1.pyctest_csv.cpython-39.opt-2.pyctest_csv.cpython-39.pyctest_ctypes.cpython-39.opt-1.pyctest_ctypes.cpython-39.opt-2.pyctest_ctypes.cpython-39.pyctest_curses.cpython-39.opt-1.pyctest_curses.cpython-39.opt-2.pyctest_curses.cpython-39.pyctest_dataclasses.cpython-39.opt-1.pyctest_dataclasses.cpython-39.opt-2.pyctest_dataclasses.cpython-39.pyctest_datetime.cpython-39.opt-1.pyctest_datetime.cpython-39.opt-2.pyctest_datetime.cpython-39.pyctest_dbm.cpython-39.opt-1.pyctest_dbm.cpython-39.opt-2.pyctest_dbm.cpython-39.pyctest_dbm_dumb.cpython-39.opt-1.pyctest_dbm_dumb.cpython-39.opt-2.pyctest_dbm_dumb.cpython-39.pyctest_dbm_gnu.cpython-39.opt-1.pyctest_dbm_gnu.cpython-39.opt-2.pyctest_dbm_gnu.cpython-39.pyctest_dbm_ndbm.cpython-39.opt-1.pyctest_dbm_ndbm.cpython-39.opt-2.pyctest_dbm_ndbm.cpython-39.pyctest_decimal.cpython-39.opt-1.pyctest_decimal.cpython-39.opt-2.pyctest_decimal.cpython-39.pyctest_decorators.cpython-39.opt-1.pyctest_decorators.cpython-39.opt-2.pyctest_decorators.cpython-39.pyctest_defaultdict.cpython-39.opt-1.pyctest_defaultdict.cpython-39.opt-2.pyctest_defaultdict.cpython-39.pyctest_deque.cpython-39.opt-1.pyctest_deque.cpython-39.opt-2.pyctest_deque.cpython-39.pyctest_descr.cpython-39.opt-1.pyctest_descr.cpython-39.opt-2.pyctest_descr.cpython-39.pyctest_descrtut.cpython-39.opt-1.pyctest_descrtut.cpython-39.opt-2.pyctest_descrtut.cpython-39.pyctest_devpoll.cpython-39.opt-1.pyctest_devpoll.cpython-39.opt-2.pyctest_devpoll.cpython-39.pyctest_dict.cpython-39.opt-1.pyctest_dict.cpython-39.opt-2.pyctest_dict.cpython-39.pyctest_dict_version.cpython-39.opt-1.pyctest_dict_version.cpython-39.opt-2.pyctest_dict_version.cpython-39.pyctest_dictcomps.cpython-39.opt-1.pyctest_dictcomps.cpython-39.opt-2.pyctest_dictcomps.cpython-39.pyctest_dictviews.cpython-39.opt-1.pyctest_dictviews.cpython-39.opt-2.pyctest_dictviews.cpython-39.pyctest_difflib.cpython-39.opt-1.pyctest_difflib.cpython-39.opt-2.pyctest_difflib.cpython-39.pyctest_dis.cpython-39.opt-1.pyctest_dis.cpython-39.opt-2.pyctest_dis.cpython-39.pyctest_distutils.cpython-39.opt-1.pyctest_distutils.cpython-39.opt-2.pyctest_distutils.cpython-39.pyctest_doctest.cpython-39.opt-1.pyctest_doctest.cpython-39.opt-2.pyctest_doctest.cpython-39.pyctest_doctest2.cpython-39.opt-1.pyctest_doctest2.cpython-39.opt-2.pyctest_doctest2.cpython-39.pyctest_docxmlrpc.cpython-39.opt-1.pyctest_docxmlrpc.cpython-39.opt-2.pyctest_docxmlrpc.cpython-39.pyctest_dtrace.cpython-39.opt-1.pyctest_dtrace.cpython-39.opt-2.pyctest_dtrace.cpython-39.pyctest_dynamic.cpython-39.opt-1.pyctest_dynamic.cpython-39.opt-2.pyctest_dynamic.cpython-39.pyctest_dynamicclassattribute.cpython-39.opt-1.pyctest_dynamicclassattribute.cpython-39.opt-2.pyctest_dynamicclassattribute.cpython-39.pyctest_eintr.cpython-39.opt-1.pyctest_eintr.cpython-39.opt-2.pyctest_eintr.cpython-39.pyctest_embed.cpython-39.opt-1.pyctest_embed.cpython-39.opt-2.pyctest_embed.cpython-39.pyctest_ensurepip.cpython-39.opt-1.pyctest_ensurepip.cpython-39.opt-2.pyctest_ensurepip.cpython-39.pyctest_enum.cpython-39.opt-1.pyctest_enum.cpython-39.opt-2.pyctest_enum.cpython-39.pyctest_enumerate.cpython-39.opt-1.pyctest_enumerate.cpython-39.opt-2.pyctest_enumerate.cpython-39.pyctest_eof.cpython-39.opt-1.pyctest_eof.cpython-39.opt-2.pyctest_eof.cpython-39.pyctest_epoll.cpython-39.opt-1.pyctest_epoll.cpython-39.opt-2.pyctest_epoll.cpython-39.pyctest_errno.cpython-39.opt-1.pyctest_errno.cpython-39.opt-2.pyctest_errno.cpython-39.pyctest_exception_hierarchy.cpython-39.opt-1.pyctest_exception_hierarchy.cpython-39.opt-2.pyctest_exception_hierarchy.cpython-39.pyctest_exception_variations.cpython-39.opt-1.pyctest_exception_variations.cpython-39.opt-2.pyctest_exception_variations.cpython-39.pyctest_exceptions.cpython-39.opt-1.pyctest_exceptions.cpython-39.opt-2.pyctest_exceptions.cpython-39.pyctest_extcall.cpython-39.opt-1.pyctest_extcall.cpython-39.opt-2.pyctest_extcall.cpython-39.pyctest_faulthandler.cpython-39.opt-1.pyctest_faulthandler.cpython-39.opt-2.pyctest_faulthandler.cpython-39.pyctest_fcntl.cpython-39.opt-1.pyctest_fcntl.cpython-39.opt-2.pyctest_fcntl.cpython-39.pyctest_file.cpython-39.opt-1.pyctest_file.cpython-39.opt-2.pyctest_file.cpython-39.pyctest_file_eintr.cpython-39.opt-1.pyctest_file_eintr.cpython-39.opt-2.pyctest_file_eintr.cpython-39.pyctest_filecmp.cpython-39.opt-1.pyctest_filecmp.cpython-39.opt-2.pyctest_filecmp.cpython-39.pyctest_fileinput.cpython-39.opt-1.pyctest_fileinput.cpython-39.opt-2.pyctest_fileinput.cpython-39.pyctest_fileio.cpython-39.opt-1.pyctest_fileio.cpython-39.opt-2.pyctest_fileio.cpython-39.pyctest_finalization.cpython-39.opt-1.pyctest_finalization.cpython-39.opt-2.pyctest_finalization.cpython-39.pyctest_float.cpython-39.opt-1.pyctest_float.cpython-39.opt-2.pyctest_float.cpython-39.pyctest_flufl.cpython-39.opt-1.pyctest_flufl.cpython-39.opt-2.pyctest_flufl.cpython-39.pyctest_fnmatch.cpython-39.opt-1.pyctest_fnmatch.cpython-39.opt-2.pyctest_fnmatch.cpython-39.pyctest_fork1.cpython-39.opt-1.pyctest_fork1.cpython-39.opt-2.pyctest_fork1.cpython-39.pyctest_format.cpython-39.opt-1.pyctest_format.cpython-39.opt-2.pyctest_format.cpython-39.pyctest_fractions.cpython-39.opt-1.pyctest_fractions.cpython-39.opt-2.pyctest_fractions.cpython-39.pyctest_frame.cpython-39.opt-1.pyctest_frame.cpython-39.opt-2.pyctest_frame.cpython-39.pyctest_frozen.cpython-39.opt-1.pyctest_frozen.cpython-39.opt-2.pyctest_frozen.cpython-39.pyctest_fstring.cpython-39.opt-1.pyctest_fstring.cpython-39.opt-2.pyctest_fstring.cpython-39.pyctest_ftplib.cpython-39.opt-1.pyctest_ftplib.cpython-39.opt-2.pyctest_ftplib.cpython-39.pyctest_funcattrs.cpython-39.opt-1.pyctest_funcattrs.cpython-39.opt-2.pyctest_funcattrs.cpython-39.pyctest_functools.cpython-39.opt-1.pyctest_functools.cpython-39.opt-2.pyctest_functools.cpython-39.pyctest_future.cpython-39.opt-1.pyctest_future.cpython-39.opt-2.pyctest_future.cpython-39.pyctest_future3.cpython-39.opt-1.pyctest_future3.cpython-39.opt-2.pyctest_future3.cpython-39.pyctest_future4.cpython-39.opt-1.pyctest_future4.cpython-39.opt-2.pyctest_future4.cpython-39.pyctest_future5.cpython-39.opt-1.pyctest_future5.cpython-39.opt-2.pyctest_future5.cpython-39.pyctest_gc.cpython-39.opt-1.pyctest_gc.cpython-39.opt-2.pyctest_gc.cpython-39.pyctest_gdb.cpython-39.opt-1.pyctest_gdb.cpython-39.opt-2.pyctest_gdb.cpython-39.pyctest_generator_stop.cpython-39.opt-1.pyctest_generator_stop.cpython-39.opt-2.pyctest_generator_stop.cpython-39.pyctest_generators.cpython-39.opt-1.pyctest_generators.cpython-39.opt-2.pyctest_generators.cpython-39.pyctest_genericalias.cpython-39.opt-1.pyctest_genericalias.cpython-39.opt-2.pyctest_genericalias.cpython-39.pyctest_genericclass.cpython-39.opt-1.pyctest_genericclass.cpython-39.opt-2.pyctest_genericclass.cpython-39.pyctest_genericpath.cpython-39.opt-1.pyctest_genericpath.cpython-39.opt-2.pyctest_genericpath.cpython-39.pyctest_genexps.cpython-39.opt-1.pyctest_genexps.cpython-39.opt-2.pyctest_genexps.cpython-39.pyctest_getargs2.cpython-39.opt-1.pyctest_getargs2.cpython-39.opt-2.pyctest_getargs2.cpython-39.pyctest_getopt.cpython-39.opt-1.pyctest_getopt.cpython-39.opt-2.pyctest_getopt.cpython-39.pyctest_getpass.cpython-39.opt-1.pyctest_getpass.cpython-39.opt-2.pyctest_getpass.cpython-39.pyctest_gettext.cpython-39.opt-1.pyctest_gettext.cpython-39.opt-2.pyctest_gettext.cpython-39.pyctest_glob.cpython-39.opt-1.pyctest_glob.cpython-39.opt-2.pyctest_glob.cpython-39.pyctest_global.cpython-39.opt-1.pyctest_global.cpython-39.opt-2.pyctest_global.cpython-39.pyctest_grammar.cpython-39.opt-1.pyctest_grammar.cpython-39.opt-2.pyctest_grammar.cpython-39.pyctest_graphlib.cpython-39.opt-1.pyctest_graphlib.cpython-39.opt-2.pyctest_graphlib.cpython-39.pyctest_grp.cpython-39.opt-1.pyctest_grp.cpython-39.opt-2.pyctest_grp.cpython-39.pyctest_gzip.cpython-39.opt-1.pyctest_gzip.cpython-39.opt-2.pyctest_gzip.cpython-39.pyctest_hash.cpython-39.opt-1.pyctest_hash.cpython-39.opt-2.pyctest_hash.cpython-39.pyctest_hashlib.cpython-39.opt-1.pyctest_hashlib.cpython-39.opt-2.pyctest_hashlib.cpython-39.pyctest_heapq.cpython-39.opt-1.pyctest_heapq.cpython-39.opt-2.pyctest_heapq.cpython-39.pyctest_hmac.cpython-39.opt-1.pyctest_hmac.cpython-39.opt-2.pyctest_hmac.cpython-39.pyctest_html.cpython-39.opt-1.pyctest_html.cpython-39.opt-2.pyctest_html.cpython-39.pyctest_htmlparser.cpython-39.opt-1.pyctest_htmlparser.cpython-39.opt-2.pyctest_htmlparser.cpython-39.pyctest_http_cookiejar.cpython-39.opt-1.pyctest_http_cookiejar.cpython-39.opt-2.pyctest_http_cookiejar.cpython-39.pyctest_http_cookies.cpython-39.opt-1.pyctest_http_cookies.cpython-39.opt-2.pyctest_http_cookies.cpython-39.pyctest_httplib.cpython-39.opt-1.pyctest_httplib.cpython-39.opt-2.pyctest_httplib.cpython-39.pyctest_httpservers.cpython-39.opt-1.pyctest_httpservers.cpython-39.opt-2.pyctest_httpservers.cpython-39.pyctest_idle.cpython-39.opt-1.pyctest_idle.cpython-39.opt-2.pyctest_idle.cpython-39.pyctest_imaplib.cpython-39.opt-1.pyctest_imaplib.cpython-39.opt-2.pyctest_imaplib.cpython-39.pyctest_imghdr.cpython-39.opt-1.pyctest_imghdr.cpython-39.opt-2.pyctest_imghdr.cpython-39.pyctest_imp.cpython-39.opt-1.pyctest_imp.cpython-39.opt-2.pyctest_imp.cpython-39.pyctest_index.cpython-39.opt-1.pyctest_index.cpython-39.opt-2.pyctest_index.cpython-39.pyctest_inspect.cpython-39.opt-1.pyctest_inspect.cpython-39.opt-2.pyctest_inspect.cpython-39.pyctest_int.cpython-39.opt-1.pyctest_int.cpython-39.opt-2.pyctest_int.cpython-39.pyctest_int_literal.cpython-39.opt-1.pyctest_int_literal.cpython-39.opt-2.pyctest_int_literal.cpython-39.pyctest_io.cpython-39.opt-1.pyctest_io.cpython-39.opt-2.pyctest_io.cpython-39.pyctest_ioctl.cpython-39.opt-1.pyctest_ioctl.cpython-39.opt-2.pyctest_ioctl.cpython-39.pyctest_ipaddress.cpython-39.opt-1.pyctest_ipaddress.cpython-39.opt-2.pyctest_ipaddress.cpython-39.pyctest_isinstance.cpython-39.opt-1.pyctest_isinstance.cpython-39.opt-2.pyctest_isinstance.cpython-39.pyctest_iter.cpython-39.opt-1.pyctest_iter.cpython-39.opt-2.pyctest_iter.cpython-39.pyctest_iterlen.cpython-39.opt-1.pyctest_iterlen.cpython-39.opt-2.pyctest_iterlen.cpython-39.pyctest_itertools.cpython-39.opt-1.pyctest_itertools.cpython-39.opt-2.pyctest_itertools.cpython-39.pyctest_keyword.cpython-39.opt-1.pyctest_keyword.cpython-39.opt-2.pyctest_keyword.cpython-39.pyctest_keywordonlyarg.cpython-39.opt-1.pyctest_keywordonlyarg.cpython-39.opt-2.pyctest_keywordonlyarg.cpython-39.pyctest_kqueue.cpython-39.opt-1.pyctest_kqueue.cpython-39.opt-2.pyctest_kqueue.cpython-39.pyctest_largefile.cpython-39.opt-1.pyctest_largefile.cpython-39.opt-2.pyctest_largefile.cpython-39.pyctest_lib2to3.cpython-39.opt-1.pyctest_lib2to3.cpython-39.opt-2.pyctest_lib2to3.cpython-39.pyctest_linecache.cpython-39.opt-1.pyctest_linecache.cpython-39.opt-2.pyctest_linecache.cpython-39.pyctest_list.cpython-39.opt-1.pyctest_list.cpython-39.opt-2.pyctest_list.cpython-39.pyctest_listcomps.cpython-39.opt-1.pyctest_listcomps.cpython-39.opt-2.pyctest_listcomps.cpython-39.pyctest_lltrace.cpython-39.opt-1.pyctest_lltrace.cpython-39.opt-2.pyctest_lltrace.cpython-39.pyctest_locale.cpython-39.opt-1.pyctest_locale.cpython-39.opt-2.pyctest_locale.cpython-39.pyctest_logging.cpython-39.opt-1.pyctest_logging.cpython-39.opt-2.pyctest_logging.cpython-39.pyctest_long.cpython-39.opt-1.pyctest_long.cpython-39.opt-2.pyctest_long.cpython-39.pyctest_longexp.cpython-39.opt-1.pyctest_longexp.cpython-39.opt-2.pyctest_longexp.cpython-39.pyctest_lzma.cpython-39.opt-1.pyctest_lzma.cpython-39.opt-2.pyctest_lzma.cpython-39.pyctest_mailbox.cpython-39.opt-1.pyctest_mailbox.cpython-39.opt-2.pyctest_mailbox.cpython-39.pyctest_mailcap.cpython-39.opt-1.pyctest_mailcap.cpython-39.opt-2.pyctest_mailcap.cpython-39.pyctest_marshal.cpython-39.opt-1.pyctest_marshal.cpython-39.opt-2.pyctest_marshal.cpython-39.pyctest_math.cpython-39.opt-1.pyctest_math.cpython-39.opt-2.pyctest_math.cpython-39.pyctest_memoryio.cpython-39.opt-1.pyctest_memoryio.cpython-39.opt-2.pyctest_memoryio.cpython-39.pyctest_memoryview.cpython-39.opt-1.pyctest_memoryview.cpython-39.opt-2.pyctest_memoryview.cpython-39.pyctest_metaclass.cpython-39.opt-1.pyctest_metaclass.cpython-39.opt-2.pyctest_metaclass.cpython-39.pyctest_mimetypes.cpython-39.opt-1.pyctest_mimetypes.cpython-39.opt-2.pyctest_mimetypes.cpython-39.pyctest_minidom.cpython-39.opt-1.pyctest_minidom.cpython-39.opt-2.pyctest_minidom.cpython-39.pyctest_mmap.cpython-39.opt-1.pyctest_mmap.cpython-39.opt-2.pyctest_mmap.cpython-39.pyctest_module.cpython-39.opt-1.pyctest_module.cpython-39.opt-2.pyctest_module.cpython-39.pyctest_modulefinder.cpython-39.opt-1.pyctest_modulefinder.cpython-39.opt-2.pyctest_modulefinder.cpython-39.pyctest_msilib.cpython-39.opt-1.pyctest_msilib.cpython-39.opt-2.pyctest_msilib.cpython-39.pyctest_multibytecodec.cpython-39.opt-1.pyctest_multibytecodec.cpython-39.opt-2.pyctest_multibytecodec.cpython-39.pyctest_multiprocessing_fork.cpython-39.opt-1.pyctest_multiprocessing_fork.cpython-39.opt-2.pyctest_multiprocessing_fork.cpython-39.pyctest_multiprocessing_forkserver.cpython-39.opt-1.pyctest_multiprocessing_forkserver.cpython-39.opt-2.pyctest_multiprocessing_forkserver.cpython-39.pyctest_multiprocessing_main_handling.cpython-39.opt-1.pyctest_multiprocessing_main_handling.cpython-39.opt-2.pyctest_multiprocessing_main_handling.cpython-39.pyctest_multiprocessing_spawn.cpython-39.opt-1.pyctest_multiprocessing_spawn.cpython-39.opt-2.pyctest_multiprocessing_spawn.cpython-39.pyctest_named_expressions.cpython-39.opt-1.pyctest_named_expressions.cpython-39.opt-2.pyctest_named_expressions.cpython-39.pyctest_netrc.cpython-39.opt-1.pyctest_netrc.cpython-39.opt-2.pyctest_netrc.cpython-39.pyctest_nis.cpython-39.opt-1.pyctest_nis.cpython-39.opt-2.pyctest_nis.cpython-39.pyctest_nntplib.cpython-39.opt-1.pyctest_nntplib.cpython-39.opt-2.pyctest_nntplib.cpython-39.pyctest_ntpath.cpython-39.opt-1.pyctest_ntpath.cpython-39.opt-2.pyctest_ntpath.cpython-39.pyctest_numeric_tower.cpython-39.opt-1.pyctest_numeric_tower.cpython-39.opt-2.pyctest_numeric_tower.cpython-39.pyctest_opcodes.cpython-39.opt-1.pyctest_opcodes.cpython-39.opt-2.pyctest_opcodes.cpython-39.pyctest_openpty.cpython-39.opt-1.pyctest_openpty.cpython-39.opt-2.pyctest_openpty.cpython-39.pyctest_operator.cpython-39.opt-1.pyctest_operator.cpython-39.opt-2.pyctest_operator.cpython-39.pyctest_optparse.cpython-39.opt-1.pyctest_optparse.cpython-39.opt-2.pyctest_optparse.cpython-39.pyctest_ordered_dict.cpython-39.opt-1.pyctest_ordered_dict.cpython-39.opt-2.pyctest_ordered_dict.cpython-39.pyctest_os.cpython-39.opt-1.pyctest_os.cpython-39.opt-2.pyctest_os.cpython-39.pyctest_ossaudiodev.cpython-39.opt-1.pyctest_ossaudiodev.cpython-39.opt-2.pyctest_ossaudiodev.cpython-39.pyctest_osx_env.cpython-39.opt-1.pyctest_osx_env.cpython-39.opt-2.pyctest_osx_env.cpython-39.pyctest_parser.cpython-39.opt-1.pyctest_parser.cpython-39.opt-2.pyctest_parser.cpython-39.pyctest_pathlib.cpython-39.opt-1.pyctest_pathlib.cpython-39.opt-2.pyctest_pathlib.cpython-39.pyctest_pdb.cpython-39.opt-1.pyctest_pdb.cpython-39.opt-2.pyctest_pdb.cpython-39.pyctest_peepholer.cpython-39.opt-1.pyctest_peepholer.cpython-39.opt-2.pyctest_peepholer.cpython-39.pyctest_peg_parser.cpython-39.opt-1.pyctest_peg_parser.cpython-39.opt-2.pyctest_peg_parser.cpython-39.pyctest_pickle.cpython-39.opt-1.pyctest_pickle.cpython-39.opt-2.pyctest_pickle.cpython-39.pyctest_picklebuffer.cpython-39.opt-1.pyctest_picklebuffer.cpython-39.opt-2.pyctest_picklebuffer.cpython-39.pyctest_pickletools.cpython-39.opt-1.pyctest_pickletools.cpython-39.opt-2.pyctest_pickletools.cpython-39.pyctest_pipes.cpython-39.opt-1.pyctest_pipes.cpython-39.opt-2.pyctest_pipes.cpython-39.pyctest_pkg.cpython-39.opt-1.pyctest_pkg.cpython-39.opt-2.pyctest_pkg.cpython-39.pyctest_pkgutil.cpython-39.opt-1.pyctest_pkgutil.cpython-39.opt-2.pyctest_pkgutil.cpython-39.pyctest_platform.cpython-39.opt-1.pyctest_platform.cpython-39.opt-2.pyctest_platform.cpython-39.pyctest_plistlib.cpython-39.opt-1.pyctest_plistlib.cpython-39.opt-2.pyctest_plistlib.cpython-39.pyctest_poll.cpython-39.opt-1.pyctest_poll.cpython-39.opt-2.pyctest_poll.cpython-39.pyctest_popen.cpython-39.opt-1.pyctest_popen.cpython-39.opt-2.pyctest_popen.cpython-39.pyctest_poplib.cpython-39.opt-1.pyctest_poplib.cpython-39.opt-2.pyctest_poplib.cpython-39.pyctest_positional_only_arg.cpython-39.opt-1.pyctest_positional_only_arg.cpython-39.opt-2.pyctest_positional_only_arg.cpython-39.pyctest_posix.cpython-39.opt-1.pyctest_posix.cpython-39.opt-2.pyctest_posix.cpython-39.pyctest_posixpath.cpython-39.opt-1.pyctest_posixpath.cpython-39.opt-2.pyctest_posixpath.cpython-39.pyctest_pow.cpython-39.opt-1.pyctest_pow.cpython-39.opt-2.pyctest_pow.cpython-39.pyctest_pprint.cpython-39.opt-1.pyctest_pprint.cpython-39.opt-2.pyctest_pprint.cpython-39.pyctest_print.cpython-39.opt-1.pyctest_print.cpython-39.opt-2.pyctest_print.cpython-39.pyctest_profile.cpython-39.opt-1.pyctest_profile.cpython-39.opt-2.pyctest_profile.cpython-39.pyctest_property.cpython-39.opt-1.pyctest_property.cpython-39.opt-2.pyctest_property.cpython-39.pyctest_pstats.cpython-39.opt-1.pyctest_pstats.cpython-39.opt-2.pyctest_pstats.cpython-39.pyctest_pty.cpython-39.opt-1.pyctest_pty.cpython-39.opt-2.pyctest_pty.cpython-39.pyctest_pulldom.cpython-39.opt-1.pyctest_pulldom.cpython-39.opt-2.pyctest_pulldom.cpython-39.pyctest_pwd.cpython-39.opt-1.pyctest_pwd.cpython-39.opt-2.pyctest_pwd.cpython-39.pyctest_py_compile.cpython-39.opt-1.pyctest_py_compile.cpython-39.opt-2.pyctest_py_compile.cpython-39.pyctest_pyclbr.cpython-39.opt-1.pyctest_pyclbr.cpython-39.opt-2.pyctest_pyclbr.cpython-39.pyctest_pydoc.cpython-39.opt-1.pyctest_pydoc.cpython-39.opt-2.pyctest_pydoc.cpython-39.pyctest_pyexpat.cpython-39.opt-1.pyctest_pyexpat.cpython-39.opt-2.pyctest_pyexpat.cpython-39.pyctest_queue.cpython-39.opt-1.pyctest_queue.cpython-39.opt-2.pyctest_queue.cpython-39.pyctest_quopri.cpython-39.opt-1.pyctest_quopri.cpython-39.opt-2.pyctest_quopri.cpython-39.pyctest_raise.cpython-39.opt-1.pyctest_raise.cpython-39.opt-2.pyctest_raise.cpython-39.pyctest_random.cpython-39.opt-1.pyctest_random.cpython-39.opt-2.pyctest_random.cpython-39.pyctest_range.cpython-39.opt-1.pyctest_range.cpython-39.opt-2.pyctest_range.cpython-39.pyctest_re.cpython-39.opt-1.pyctest_re.cpython-39.opt-2.pyctest_re.cpython-39.pyctest_readline.cpython-39.opt-1.pyctest_readline.cpython-39.opt-2.pyctest_readline.cpython-39.pyctest_regrtest.cpython-39.opt-1.pyctest_regrtest.cpython-39.opt-2.pyctest_regrtest.cpython-39.pyctest_repl.cpython-39.opt-1.pyctest_repl.cpython-39.opt-2.pyctest_repl.cpython-39.pyctest_reprlib.cpython-39.opt-1.pyctest_reprlib.cpython-39.opt-2.pyctest_reprlib.cpython-39.pyctest_resource.cpython-39.opt-1.pyctest_resource.cpython-39.opt-2.pyctest_resource.cpython-39.pyctest_richcmp.cpython-39.opt-1.pyctest_richcmp.cpython-39.opt-2.pyctest_richcmp.cpython-39.pyctest_rlcompleter.cpython-39.opt-1.pyctest_rlcompleter.cpython-39.opt-2.pyctest_rlcompleter.cpython-39.pyctest_robotparser.cpython-39.opt-1.pyctest_robotparser.cpython-39.opt-2.pyctest_robotparser.cpython-39.pyctest_runpy.cpython-39.opt-1.pyctest_runpy.cpython-39.opt-2.pyctest_runpy.cpython-39.pyctest_sax.cpython-39.opt-1.pyctest_sax.cpython-39.opt-2.pyctest_sax.cpython-39.pyctest_sched.cpython-39.opt-1.pyctest_sched.cpython-39.opt-2.pyctest_sched.cpython-39.pyctest_scope.cpython-39.opt-1.pyctest_scope.cpython-39.opt-2.pyctest_scope.cpython-39.pyctest_script_helper.cpython-39.opt-1.pyctest_script_helper.cpython-39.opt-2.pyctest_script_helper.cpython-39.pyctest_secrets.cpython-39.opt-1.pyctest_secrets.cpython-39.opt-2.pyctest_secrets.cpython-39.pyctest_select.cpython-39.opt-1.pyctest_select.cpython-39.opt-2.pyctest_select.cpython-39.pyctest_selectors.cpython-39.opt-1.pyctest_selectors.cpython-39.opt-2.pyctest_selectors.cpython-39.pyctest_set.cpython-39.opt-1.pyctest_set.cpython-39.opt-2.pyctest_set.cpython-39.pyctest_setcomps.cpython-39.opt-1.pyctest_setcomps.cpython-39.opt-2.pyctest_setcomps.cpython-39.pyctest_shelve.cpython-39.opt-1.pyctest_shelve.cpython-39.opt-2.pyctest_shelve.cpython-39.pyctest_shlex.cpython-39.opt-1.pyctest_shlex.cpython-39.opt-2.pyctest_shlex.cpython-39.pyctest_shutil.cpython-39.opt-1.pyctest_shutil.cpython-39.opt-2.pyctest_shutil.cpython-39.pyctest_signal.cpython-39.opt-1.pyctest_signal.cpython-39.opt-2.pyctest_signal.cpython-39.pyctest_site.cpython-39.opt-1.pyctest_site.cpython-39.opt-2.pyctest_site.cpython-39.pyctest_slice.cpython-39.opt-1.pyctest_slice.cpython-39.opt-2.pyctest_slice.cpython-39.pyctest_smtpd.cpython-39.opt-1.pyctest_smtpd.cpython-39.opt-2.pyctest_smtpd.cpython-39.pyctest_smtplib.cpython-39.opt-1.pyctest_smtplib.cpython-39.opt-2.pyctest_smtplib.cpython-39.pyctest_smtpnet.cpython-39.opt-1.pyctest_smtpnet.cpython-39.opt-2.pyctest_smtpnet.cpython-39.pyctest_sndhdr.cpython-39.opt-1.pyctest_sndhdr.cpython-39.opt-2.pyctest_sndhdr.cpython-39.pyctest_socket.cpython-39.opt-1.pyctest_socket.cpython-39.opt-2.pyctest_socket.cpython-39.pyctest_socketserver.cpython-39.opt-1.pyctest_socketserver.cpython-39.opt-2.pyctest_socketserver.cpython-39.pyctest_sort.cpython-39.opt-1.pyctest_sort.cpython-39.opt-2.pyctest_sort.cpython-39.pyctest_source_encoding.cpython-39.opt-1.pyctest_source_encoding.cpython-39.opt-2.pyctest_source_encoding.cpython-39.pyctest_spwd.cpython-39.opt-1.pyctest_spwd.cpython-39.opt-2.pyctest_spwd.cpython-39.pyctest_sqlite.cpython-39.opt-1.pyctest_sqlite.cpython-39.opt-2.pyctest_sqlite.cpython-39.pyctest_ssl.cpython-39.opt-1.pyctest_ssl.cpython-39.opt-2.pyctest_ssl.cpython-39.pyctest_startfile.cpython-39.opt-1.pyctest_startfile.cpython-39.opt-2.pyctest_startfile.cpython-39.pyctest_stat.cpython-39.opt-1.pyctest_stat.cpython-39.opt-2.pyctest_stat.cpython-39.pyctest_statistics.cpython-39.opt-1.pyctest_statistics.cpython-39.opt-2.pyctest_statistics.cpython-39.pyctest_strftime.cpython-39.opt-1.pyctest_strftime.cpython-39.opt-2.pyctest_strftime.cpython-39.pyctest_string.cpython-39.opt-1.pyctest_string.cpython-39.opt-2.pyctest_string.cpython-39.pyctest_string_literals.cpython-39.opt-1.pyctest_string_literals.cpython-39.opt-2.pyctest_string_literals.cpython-39.pyctest_stringprep.cpython-39.opt-1.pyctest_stringprep.cpython-39.opt-2.pyctest_stringprep.cpython-39.pyctest_strptime.cpython-39.opt-1.pyctest_strptime.cpython-39.opt-2.pyctest_strptime.cpython-39.pyctest_strtod.cpython-39.opt-1.pyctest_strtod.cpython-39.opt-2.pyctest_strtod.cpython-39.pyctest_struct.cpython-39.opt-1.pyctest_struct.cpython-39.opt-2.pyctest_struct.cpython-39.pyctest_structmembers.cpython-39.opt-1.pyctest_structmembers.cpython-39.opt-2.pyctest_structmembers.cpython-39.pyctest_structseq.cpython-39.opt-1.pyctest_structseq.cpython-39.opt-2.pyctest_structseq.cpython-39.pyctest_subclassinit.cpython-39.opt-1.pyctest_subclassinit.cpython-39.opt-2.pyctest_subclassinit.cpython-39.pyctest_subprocess.cpython-39.opt-1.pyctest_subprocess.cpython-39.opt-2.pyctest_subprocess.cpython-39.pyctest_sunau.cpython-39.opt-1.pyctest_sunau.cpython-39.opt-2.pyctest_sunau.cpython-39.pyctest_sundry.cpython-39.opt-1.pyctest_sundry.cpython-39.opt-2.pyctest_sundry.cpython-39.pyctest_super.cpython-39.opt-1.pyctest_super.cpython-39.opt-2.pyctest_super.cpython-39.pyctest_support.cpython-39.opt-1.pyctest_support.cpython-39.opt-2.pyctest_support.cpython-39.pyctest_symbol.cpython-39.opt-1.pyctest_symbol.cpython-39.opt-2.pyctest_symbol.cpython-39.pyctest_symtable.cpython-39.opt-1.pyctest_symtable.cpython-39.opt-2.pyctest_symtable.cpython-39.pyctest_syntax.cpython-39.opt-1.pyctest_syntax.cpython-39.opt-2.pyctest_syntax.cpython-39.pyctest_sys.cpython-39.opt-1.pyctest_sys.cpython-39.opt-2.pyctest_sys.cpython-39.pyctest_sys_setprofile.cpython-39.opt-1.pyctest_sys_setprofile.cpython-39.opt-2.pyctest_sys_setprofile.cpython-39.pyctest_sys_settrace.cpython-39.opt-1.pyctest_sys_settrace.cpython-39.opt-2.pyctest_sys_settrace.cpython-39.pyctest_sysconfig.cpython-39.opt-1.pyctest_sysconfig.cpython-39.opt-2.pyctest_sysconfig.cpython-39.pyctest_syslog.cpython-39.opt-1.pyctest_syslog.cpython-39.opt-2.pyctest_syslog.cpython-39.pyctest_tabnanny.cpython-39.opt-1.pyctest_tabnanny.cpython-39.opt-2.pyctest_tabnanny.cpython-39.pyctest_tarfile.cpython-39.opt-1.pyctest_tarfile.cpython-39.opt-2.pyctest_tarfile.cpython-39.pyctest_tcl.cpython-39.opt-1.pyctest_tcl.cpython-39.opt-2.pyctest_tcl.cpython-39.pyctest_telnetlib.cpython-39.opt-1.pyctest_telnetlib.cpython-39.opt-2.pyctest_telnetlib.cpython-39.pyctest_tempfile.cpython-39.opt-1.pyctest_tempfile.cpython-39.opt-2.pyctest_tempfile.cpython-39.pyctest_textwrap.cpython-39.opt-1.pyctest_textwrap.cpython-39.opt-2.pyctest_textwrap.cpython-39.pyctest_thread.cpython-39.opt-1.pyctest_thread.cpython-39.opt-2.pyctest_thread.cpython-39.pyctest_threadedtempfile.cpython-39.opt-1.pyctest_threadedtempfile.cpython-39.opt-2.pyctest_threadedtempfile.cpython-39.pyctest_threading.cpython-39.opt-1.pyctest_threading.cpython-39.opt-2.pyctest_threading.cpython-39.pyctest_threading_local.cpython-39.opt-1.pyctest_threading_local.cpython-39.opt-2.pyctest_threading_local.cpython-39.pyctest_threadsignals.cpython-39.opt-1.pyctest_threadsignals.cpython-39.opt-2.pyctest_threadsignals.cpython-39.pyctest_time.cpython-39.opt-1.pyctest_time.cpython-39.opt-2.pyctest_time.cpython-39.pyctest_timeit.cpython-39.opt-1.pyctest_timeit.cpython-39.opt-2.pyctest_timeit.cpython-39.pyctest_timeout.cpython-39.opt-1.pyctest_timeout.cpython-39.opt-2.pyctest_timeout.cpython-39.pyctest_tix.cpython-39.opt-1.pyctest_tix.cpython-39.opt-2.pyctest_tix.cpython-39.pyctest_tk.cpython-39.opt-1.pyctest_tk.cpython-39.opt-2.pyctest_tk.cpython-39.pyctest_tokenize.cpython-39.opt-1.pyctest_tokenize.cpython-39.opt-2.pyctest_tokenize.cpython-39.pyctest_trace.cpython-39.opt-1.pyctest_trace.cpython-39.opt-2.pyctest_trace.cpython-39.pyctest_traceback.cpython-39.opt-1.pyctest_traceback.cpython-39.opt-2.pyctest_traceback.cpython-39.pyctest_tracemalloc.cpython-39.opt-1.pyctest_tracemalloc.cpython-39.opt-2.pyctest_tracemalloc.cpython-39.pyctest_ttk_guionly.cpython-39.opt-1.pyctest_ttk_guionly.cpython-39.opt-2.pyctest_ttk_guionly.cpython-39.pyctest_ttk_textonly.cpython-39.opt-1.pyctest_ttk_textonly.cpython-39.opt-2.pyctest_ttk_textonly.cpython-39.pyctest_tuple.cpython-39.opt-1.pyctest_tuple.cpython-39.opt-2.pyctest_tuple.cpython-39.pyctest_turtle.cpython-39.opt-1.pyctest_turtle.cpython-39.opt-2.pyctest_turtle.cpython-39.pyctest_type_comments.cpython-39.opt-1.pyctest_type_comments.cpython-39.opt-2.pyctest_type_comments.cpython-39.pyctest_typechecks.cpython-39.opt-1.pyctest_typechecks.cpython-39.opt-2.pyctest_typechecks.cpython-39.pyctest_types.cpython-39.opt-1.pyctest_types.cpython-39.opt-2.pyctest_types.cpython-39.pyctest_typing.cpython-39.opt-1.pyctest_typing.cpython-39.opt-2.pyctest_typing.cpython-39.pyctest_ucn.cpython-39.opt-1.pyctest_ucn.cpython-39.opt-2.pyctest_ucn.cpython-39.pyctest_unary.cpython-39.opt-1.pyctest_unary.cpython-39.opt-2.pyctest_unary.cpython-39.pyctest_unicode.cpython-39.opt-1.pyctest_unicode.cpython-39.opt-2.pyctest_unicode.cpython-39.pyctest_unicode_file.cpython-39.opt-1.pyctest_unicode_file.cpython-39.opt-2.pyctest_unicode_file.cpython-39.pyctest_unicode_file_functions.cpython-39.opt-1.pyctest_unicode_file_functions.cpython-39.opt-2.pyctest_unicode_file_functions.cpython-39.pyctest_unicode_identifiers.cpython-39.opt-1.pyctest_unicode_identifiers.cpython-39.opt-2.pyctest_unicode_identifiers.cpython-39.pyctest_unicodedata.cpython-39.opt-1.pyctest_unicodedata.cpython-39.opt-2.pyctest_unicodedata.cpython-39.pyctest_unittest.cpython-39.opt-1.pyctest_unittest.cpython-39.opt-2.pyctest_unittest.cpython-39.pyctest_univnewlines.cpython-39.opt-1.pyctest_univnewlines.cpython-39.opt-2.pyctest_univnewlines.cpython-39.pyctest_unpack.cpython-39.opt-1.pyctest_unpack.cpython-39.opt-2.pyctest_unpack.cpython-39.pyctest_unpack_ex.cpython-39.opt-1.pyctest_unpack_ex.cpython-39.opt-2.pyctest_unpack_ex.cpython-39.pyctest_unparse.cpython-39.opt-1.pyctest_unparse.cpython-39.opt-2.pyctest_unparse.cpython-39.pyctest_urllib.cpython-39.opt-1.pyctest_urllib.cpython-39.opt-2.pyctest_urllib.cpython-39.pyctest_urllib2.cpython-39.opt-1.pyctest_urllib2.cpython-39.opt-2.pyctest_urllib2.cpython-39.pyctest_urllib2_localnet.cpython-39.opt-1.pyctest_urllib2_localnet.cpython-39.opt-2.pyctest_urllib2_localnet.cpython-39.pyctest_urllib2net.cpython-39.opt-1.pyctest_urllib2net.cpython-39.opt-2.pyctest_urllib2net.cpython-39.pyctest_urllib_response.cpython-39.opt-1.pyctest_urllib_response.cpython-39.opt-2.pyctest_urllib_response.cpython-39.pyctest_urllibnet.cpython-39.opt-1.pyctest_urllibnet.cpython-39.opt-2.pyctest_urllibnet.cpython-39.pyctest_urlparse.cpython-39.opt-1.pyctest_urlparse.cpython-39.opt-2.pyctest_urlparse.cpython-39.pyctest_userdict.cpython-39.opt-1.pyctest_userdict.cpython-39.opt-2.pyctest_userdict.cpython-39.pyctest_userlist.cpython-39.opt-1.pyctest_userlist.cpython-39.opt-2.pyctest_userlist.cpython-39.pyctest_userstring.cpython-39.opt-1.pyctest_userstring.cpython-39.opt-2.pyctest_userstring.cpython-39.pyctest_utf8_mode.cpython-39.opt-1.pyctest_utf8_mode.cpython-39.opt-2.pyctest_utf8_mode.cpython-39.pyctest_utf8source.cpython-39.opt-1.pyctest_utf8source.cpython-39.opt-2.pyctest_utf8source.cpython-39.pyctest_uu.cpython-39.opt-1.pyctest_uu.cpython-39.opt-2.pyctest_uu.cpython-39.pyctest_uuid.cpython-39.opt-1.pyctest_uuid.cpython-39.opt-2.pyctest_uuid.cpython-39.pyctest_venv.cpython-39.opt-1.pyctest_venv.cpython-39.opt-2.pyctest_venv.cpython-39.pyctest_wait3.cpython-39.opt-1.pyctest_wait3.cpython-39.opt-2.pyctest_wait3.cpython-39.pyctest_wait4.cpython-39.opt-1.pyctest_wait4.cpython-39.opt-2.pyctest_wait4.cpython-39.pyctest_wave.cpython-39.opt-1.pyctest_wave.cpython-39.opt-2.pyctest_wave.cpython-39.pyctest_weakref.cpython-39.opt-1.pyctest_weakref.cpython-39.opt-2.pyctest_weakref.cpython-39.pyctest_weakset.cpython-39.opt-1.pyctest_weakset.cpython-39.opt-2.pyctest_weakset.cpython-39.pyctest_webbrowser.cpython-39.opt-1.pyctest_webbrowser.cpython-39.opt-2.pyctest_webbrowser.cpython-39.pyctest_winconsoleio.cpython-39.opt-1.pyctest_winconsoleio.cpython-39.opt-2.pyctest_winconsoleio.cpython-39.pyctest_winreg.cpython-39.opt-1.pyctest_winreg.cpython-39.opt-2.pyctest_winreg.cpython-39.pyctest_winsound.cpython-39.opt-1.pyctest_winsound.cpython-39.opt-2.pyctest_winsound.cpython-39.pyctest_with.cpython-39.opt-1.pyctest_with.cpython-39.opt-2.pyctest_with.cpython-39.pyctest_wsgiref.cpython-39.opt-1.pyctest_wsgiref.cpython-39.opt-2.pyctest_wsgiref.cpython-39.pyctest_xdrlib.cpython-39.opt-1.pyctest_xdrlib.cpython-39.opt-2.pyctest_xdrlib.cpython-39.pyctest_xml_dom_minicompat.cpython-39.opt-1.pyctest_xml_dom_minicompat.cpython-39.opt-2.pyctest_xml_dom_minicompat.cpython-39.pyctest_xml_etree.cpython-39.opt-1.pyctest_xml_etree.cpython-39.opt-2.pyctest_xml_etree.cpython-39.pyctest_xml_etree_c.cpython-39.opt-1.pyctest_xml_etree_c.cpython-39.opt-2.pyctest_xml_etree_c.cpython-39.pyctest_xmlrpc.cpython-39.opt-1.pyctest_xmlrpc.cpython-39.opt-2.pyctest_xmlrpc.cpython-39.pyctest_xmlrpc_net.cpython-39.opt-1.pyctest_xmlrpc_net.cpython-39.opt-2.pyctest_xmlrpc_net.cpython-39.pyctest_xxtestfuzz.cpython-39.opt-1.pyctest_xxtestfuzz.cpython-39.opt-2.pyctest_xxtestfuzz.cpython-39.pyctest_yield_from.cpython-39.opt-1.pyctest_yield_from.cpython-39.opt-2.pyctest_yield_from.cpython-39.pyctest_zipapp.cpython-39.opt-1.pyctest_zipapp.cpython-39.opt-2.pyctest_zipapp.cpython-39.pyctest_zipfile.cpython-39.opt-1.pyctest_zipfile.cpython-39.opt-2.pyctest_zipfile.cpython-39.pyctest_zipfile64.cpython-39.opt-1.pyctest_zipfile64.cpython-39.opt-2.pyctest_zipfile64.cpython-39.pyctest_zipimport.cpython-39.opt-1.pyctest_zipimport.cpython-39.opt-2.pyctest_zipimport.cpython-39.pyctest_zipimport_support.cpython-39.opt-1.pyctest_zipimport_support.cpython-39.opt-2.pyctest_zipimport_support.cpython-39.pyctest_zlib.cpython-39.opt-1.pyctest_zlib.cpython-39.opt-2.pyctest_zlib.cpython-39.pyctestcodec.cpython-39.opt-1.pyctestcodec.cpython-39.opt-2.pyctestcodec.cpython-39.pyctf_inherit_check.cpython-39.opt-1.pyctf_inherit_check.cpython-39.opt-2.pyctf_inherit_check.cpython-39.pyctime_hashlib.cpython-39.opt-1.pyctime_hashlib.cpython-39.opt-2.pyctime_hashlib.cpython-39.pycwin_console_handler.cpython-39.opt-1.pycwin_console_handler.cpython-39.opt-2.pycwin_console_handler.cpython-39.pycxmltests.cpython-39.opt-1.pycxmltests.cpython-39.opt-2.pycxmltests.cpython-39.pyc_test_multiprocessing.py_typed_dict_helper.pyallsans.pemann_module.pyann_module2.pyann_module3.pyann_module5.pyann_module6.pyann_module7.pyaudiodatapluck-alaw.aifcpluck-pcm16.aiffpluck-pcm16.aupluck-pcm16.wavpluck-pcm24.aiffpluck-pcm24.aupluck-pcm24.wavpluck-pcm32.aiffpluck-pcm32.aupluck-pcm32.wavpluck-pcm8.aiffpluck-pcm8.aupluck-pcm8.wavpluck-ulaw.aifcpluck-ulaw.auaudiotest.auaudiotests.pyaudit-tests.pyautotest.pybad_coding.pybad_coding2.pybad_getattr.pybad_getattr2.pybad_getattr3.pybadcert.pembadkey.pembadsyntax_3131.pybadsyntax_future10.pybadsyntax_future3.pybadsyntax_future4.pybadsyntax_future5.pybadsyntax_future6.pybadsyntax_future7.pybadsyntax_future8.pybadsyntax_future9.pybadsyntax_pep3120.pybisect_cmd.pycapath4e1295a3.05ed36f99.06e88d7b8.099d0fa06.0b1930218.0ceff1710.0cfgparser.1cfgparser.2cfgparser.3cjkencodingsbig5-utf8.txtbig5.txtbig5hkscs-utf8.txtbig5hkscs.txtcp949-utf8.txtcp949.txteuc_jisx0213-utf8.txteuc_jisx0213.txteuc_jp-utf8.txteuc_jp.txteuc_kr-utf8.txteuc_kr.txtgb18030-utf8.txtgb18030.txtgb2312-utf8.txtgb2312.txtgbk-utf8.txtgbk.txthz-utf8.txthz.txtiso2022_jp-utf8.txtiso2022_jp.txtiso2022_kr-utf8.txtiso2022_kr.txtjohab-utf8.txtjohab.txtshift_jis-utf8.txtshift_jis.txtshift_jisx0213-utf8.txtshift_jisx0213.txtclinic.testcmath_testcases.txtcoding20731.pycurses_tests.pydataREADMEdataclass_module_1.pydataclass_module_1_str.pydataclass_module_2.pydataclass_module_2_str.pydataclass_textanno.pydatetimetester.pydecimaltestdataabs.decTestadd.decTestand.decTestbase.decTestclamp.decTestclass.decTestcompare.decTestcomparetotal.decTestcomparetotmag.decTestcopy.decTestcopyabs.decTestcopynegate.decTestcopysign.decTestddAbs.decTestddAdd.decTestddAnd.decTestddBase.decTestddCanonical.decTestddClass.decTestddCompare.decTestddCompareSig.decTestddCompareTotal.decTestddCompareTotalMag.decTestddCopy.decTestddCopyAbs.decTestddCopyNegate.decTestddCopySign.decTestddDivide.decTestddDivideInt.decTestddEncode.decTestddFMA.decTestddInvert.decTestddLogB.decTestddMax.decTestddMaxMag.decTestddMin.decTestddMinMag.decTestddMinus.decTestddMultiply.decTestddNextMinus.decTestddNextPlus.decTestddNextToward.decTestddOr.decTestddPlus.decTestddQuantize.decTestddReduce.decTestddRemainder.decTestddRemainderNear.decTestddRotate.decTestddSameQuantum.decTestddScaleB.decTestddShift.decTestddSubtract.decTestddToIntegral.decTestddXor.decTestdecDouble.decTestdecQuad.decTestdecSingle.decTestdivide.decTestdivideint.decTestdqAbs.decTestdqAdd.decTestdqAnd.decTestdqBase.decTestdqCanonical.decTestdqClass.decTestdqCompare.decTestdqCompareSig.decTestdqCompareTotal.decTestdqCompareTotalMag.decTestdqCopy.decTestdqCopyAbs.decTestdqCopyNegate.decTestdqCopySign.decTestdqDivide.decTestdqDivideInt.decTestdqEncode.decTestdqFMA.decTestdqInvert.decTestdqLogB.decTestdqMax.decTestdqMaxMag.decTestdqMin.decTestdqMinMag.decTestdqMinus.decTestdqMultiply.decTestdqNextMinus.decTestdqNextPlus.decTestdqNextToward.decTestdqOr.decTestdqPlus.decTestdqQuantize.decTestdqReduce.decTestdqRemainder.decTestdqRemainderNear.decTestdqRotate.decTestdqSameQuantum.decTestdqScaleB.decTestdqShift.decTestdqSubtract.decTestdqToIntegral.decTestdqXor.decTestdsBase.decTestdsEncode.decTestexp.decTestextra.decTestfma.decTestinexact.decTestinvert.decTestln.decTestlog10.decTestlogb.decTestmax.decTestmaxmag.decTestmin.decTestminmag.decTestminus.decTestmultiply.decTestnextminus.decTestnextplus.decTestnexttoward.decTestor.decTestplus.decTestpower.decTestpowersqrt.decTestquantize.decTestrandomBound32.decTestrandoms.decTestreduce.decTestremainder.decTestremainderNear.decTestrescale.decTestrotate.decTestrounding.decTestsamequantum.decTestscaleb.decTestshift.decTestsquareroot.decTestsubtract.decTesttestall.decTesttointegral.decTesttointegralx.decTestxor.decTestdis_module.pydoctest_aliases.pydouble_const.pydtracedata__pycache__call_stack.cpython-39.opt-1.pyccall_stack.cpython-39.opt-2.pyccall_stack.cpython-39.pycgc.cpython-39.opt-1.pycgc.cpython-39.opt-2.pycgc.cpython-39.pycinstance.cpython-39.opt-1.pycinstance.cpython-39.opt-2.pycinstance.cpython-39.pycline.cpython-39.opt-1.pycline.cpython-39.opt-2.pycline.cpython-39.pycassert_usable.dassert_usable.stpcall_stack.dcall_stack.d.expectedcall_stack.pycall_stack.stpcall_stack.stp.expectedgc.dgc.d.expectedgc.pygc.stpgc.stp.expectedinstance.pyline.dline.d.expectedline.pyeintrdata__pycache__eintr_tester.cpython-39.opt-1.pyceintr_tester.cpython-39.opt-2.pyceintr_tester.cpython-39.pyceintr_tester.pyempty.vbsencoded_modules__init__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pycmodule_iso_8859_1.cpython-39.opt-1.pycmodule_iso_8859_1.cpython-39.opt-2.pycmodule_iso_8859_1.cpython-39.pycmodule_koi8_r.cpython-39.opt-1.pycmodule_koi8_r.cpython-39.opt-2.pycmodule_koi8_r.cpython-39.pycmodule_iso_8859_1.pymodule_koi8_r.pyexception_hierarchy.txtffdh3072.pemfinal_a.pyfinal_b.pyfloating_points.txtfork_wait.pyformatfloat_testcases.txtfuture_test1.pyfuture_test2.pygdb_sample.pygood_getattr.pyidnsans.pemieee754.txtimghdrdatapython.bmppython.exrpython.gifpython.jpgpython.pbmpython.pgmpython.pngpython.ppmpython.raspython.sgipython.tiffpython.webppython.xbmimp_dummy.pyinspect_fodder.pyinspect_fodder2.pykeycert.passwd.pemkeycert.pemkeycert2.pemkeycert3.pemkeycert4.pemkeycertecc.pemlibregrtest__init__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pyccmdline.cpython-39.opt-1.pyccmdline.cpython-39.opt-2.pyccmdline.cpython-39.pycmain.cpython-39.opt-1.pycmain.cpython-39.opt-2.pycmain.cpython-39.pycpgo.cpython-39.opt-1.pycpgo.cpython-39.opt-2.pycpgo.cpython-39.pycrefleak.cpython-39.opt-1.pycrefleak.cpython-39.opt-2.pycrefleak.cpython-39.pycruntest.cpython-39.opt-1.pycruntest.cpython-39.opt-2.pycruntest.cpython-39.pycruntest_mp.cpython-39.opt-1.pycruntest_mp.cpython-39.opt-2.pycruntest_mp.cpython-39.pycsave_env.cpython-39.opt-1.pycsave_env.cpython-39.opt-2.pycsave_env.cpython-39.pycsetup.cpython-39.opt-1.pycsetup.cpython-39.opt-2.pycsetup.cpython-39.pycutils.cpython-39.opt-1.pycutils.cpython-39.opt-2.pycutils.cpython-39.pycwin_utils.cpython-39.opt-1.pycwin_utils.cpython-39.opt-2.pycwin_utils.cpython-39.pyccmdline.pymain.pypgo.pyrefleak.pyruntest.pyruntest_mp.pysave_env.pysetup.pyutils.pywin_utils.pylist_tests.pylock_tests.pymailcap.txtmake_ssl_certs.pymapping_tests.pymath_testcases.txtmemory_watchdog.pymime.typesmock_socket.pymod_generics_cache.pymp_fork_bomb.pymp_preload.pymultibytecodec_support.pynokia.pemnosan.pemnullbytecert.pemnullcert.pempickletester.pyprofilee.pypstats.pckpycacert.pempycakey.pempyclbr_input.pypydoc_mod.pypydocfodder.pypythoninfo.pyrandv2_32.pckrandv2_64.pckrandv3.pckre_tests.pyrecursion.tarregrtest.pyrelimport.pyreperf.pyrevocation.crlsample_doctest.pysample_doctest_no_docstrings.pysample_doctest_no_doctests.pysecp384r1.pemselfsigned_pythontestdotnet.pemseq_tests.pysgml_input.htmlsignalinterproctester.pysndhdrdataREADMEsndhdr.8svxsndhdr.aifcsndhdr.aiffsndhdr.ausndhdr.hcomsndhdr.sndtsndhdr.vocsndhdr.wavsortperf.pyssl_cert.pemssl_key.passwd.pemssl_key.pemssl_servers.pyssltests.pystring_tests.pysubprocessdata__pycache__fd_status.cpython-39.opt-1.pycfd_status.cpython-39.opt-2.pycfd_status.cpython-39.pycinput_reader.cpython-39.opt-1.pycinput_reader.cpython-39.opt-2.pycinput_reader.cpython-39.pycqcat.cpython-39.opt-1.pycqcat.cpython-39.opt-2.pycqcat.cpython-39.pycqgrep.cpython-39.opt-1.pycqgrep.cpython-39.opt-2.pycqgrep.cpython-39.pycsigchild_ignore.cpython-39.opt-1.pycsigchild_ignore.cpython-39.opt-2.pycsigchild_ignore.cpython-39.pycfd_status.pyinput_reader.pyqcat.pyqgrep.pysigchild_ignore.pysupport__init__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pycbytecode_helper.cpython-39.opt-1.pycbytecode_helper.cpython-39.opt-2.pycbytecode_helper.cpython-39.pychashlib_helper.cpython-39.opt-1.pychashlib_helper.cpython-39.opt-2.pychashlib_helper.cpython-39.pyclogging_helper.cpython-39.opt-1.pyclogging_helper.cpython-39.opt-2.pyclogging_helper.cpython-39.pycscript_helper.cpython-39.opt-1.pycscript_helper.cpython-39.opt-2.pycscript_helper.cpython-39.pycsocket_helper.cpython-39.opt-1.pycsocket_helper.cpython-39.opt-2.pycsocket_helper.cpython-39.pyctestresult.cpython-39.opt-1.pyctestresult.cpython-39.opt-2.pyctestresult.cpython-39.pycwarnings_helper.cpython-39.opt-1.pycwarnings_helper.cpython-39.opt-2.pycwarnings_helper.cpython-39.pycbytecode_helper.pyhashlib_helper.pylogging_helper.pyscript_helper.pysocket_helper.pytestresult.pywarnings_helper.pytalos-2019-0758.pemtest___all__.pytest___future__.pytest__locale.pytest__opcode.pytest__osx_support.pytest__xxsubinterpreters.pytest_abc.pytest_abstract_numbers.pytest_aifc.pytest_argparse.pytest_array.pytest_asdl_parser.pytest_ast.pytest_asyncgen.pytest_asynchat.pytest_asyncio__init__.py__main__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pyc__main__.cpython-39.opt-1.pyc__main__.cpython-39.opt-2.pyc__main__.cpython-39.pycecho.cpython-39.opt-1.pycecho.cpython-39.opt-2.pycecho.cpython-39.pycecho2.cpython-39.opt-1.pycecho2.cpython-39.opt-2.pycecho2.cpython-39.pycecho3.cpython-39.opt-1.pycecho3.cpython-39.opt-2.pycecho3.cpython-39.pycfunctional.cpython-39.opt-1.pycfunctional.cpython-39.opt-2.pycfunctional.cpython-39.pyctest_base_events.cpython-39.opt-1.pyctest_base_events.cpython-39.opt-2.pyctest_base_events.cpython-39.pyctest_buffered_proto.cpython-39.opt-1.pyctest_buffered_proto.cpython-39.opt-2.pyctest_buffered_proto.cpython-39.pyctest_context.cpython-39.opt-1.pyctest_context.cpython-39.opt-2.pyctest_context.cpython-39.pyctest_events.cpython-39.opt-1.pyctest_events.cpython-39.opt-2.pyctest_events.cpython-39.pyctest_futures.cpython-39.opt-1.pyctest_futures.cpython-39.opt-2.pyctest_futures.cpython-39.pyctest_futures2.cpython-39.opt-1.pyctest_futures2.cpython-39.opt-2.pyctest_futures2.cpython-39.pyctest_locks.cpython-39.opt-1.pyctest_locks.cpython-39.opt-2.pyctest_locks.cpython-39.pyctest_pep492.cpython-39.opt-1.pyctest_pep492.cpython-39.opt-2.pyctest_pep492.cpython-39.pyctest_proactor_events.cpython-39.opt-1.pyctest_proactor_events.cpython-39.opt-2.pyctest_proactor_events.cpython-39.pyctest_protocols.cpython-39.opt-1.pyctest_protocols.cpython-39.opt-2.pyctest_protocols.cpython-39.pyctest_queues.cpython-39.opt-1.pyctest_queues.cpython-39.opt-2.pyctest_queues.cpython-39.pyctest_runners.cpython-39.opt-1.pyctest_runners.cpython-39.opt-2.pyctest_runners.cpython-39.pyctest_selector_events.cpython-39.opt-1.pyctest_selector_events.cpython-39.opt-2.pyctest_selector_events.cpython-39.pyctest_sendfile.cpython-39.opt-1.pyctest_sendfile.cpython-39.opt-2.pyctest_sendfile.cpython-39.pyctest_server.cpython-39.opt-1.pyctest_server.cpython-39.opt-2.pyctest_server.cpython-39.pyctest_sock_lowlevel.cpython-39.opt-1.pyctest_sock_lowlevel.cpython-39.opt-2.pyctest_sock_lowlevel.cpython-39.pyctest_sslproto.cpython-39.opt-1.pyctest_sslproto.cpython-39.opt-2.pyctest_sslproto.cpython-39.pyctest_streams.cpython-39.opt-1.pyctest_streams.cpython-39.opt-2.pyctest_streams.cpython-39.pyctest_subprocess.cpython-39.opt-1.pyctest_subprocess.cpython-39.opt-2.pyctest_subprocess.cpython-39.pyctest_tasks.cpython-39.opt-1.pyctest_tasks.cpython-39.opt-2.pyctest_tasks.cpython-39.pyctest_threads.cpython-39.opt-1.pyctest_threads.cpython-39.opt-2.pyctest_threads.cpython-39.pyctest_transports.cpython-39.opt-1.pyctest_transports.cpython-39.opt-2.pyctest_transports.cpython-39.pyctest_unix_events.cpython-39.opt-1.pyctest_unix_events.cpython-39.opt-2.pyctest_unix_events.cpython-39.pyctest_waitfor.cpython-39.opt-1.pyctest_waitfor.cpython-39.opt-2.pyctest_waitfor.cpython-39.pyctest_windows_events.cpython-39.opt-1.pyctest_windows_events.cpython-39.opt-2.pyctest_windows_events.cpython-39.pyctest_windows_utils.cpython-39.opt-1.pyctest_windows_utils.cpython-39.opt-2.pyctest_windows_utils.cpython-39.pycutils.cpython-39.opt-1.pycutils.cpython-39.opt-2.pycutils.cpython-39.pycecho.pyecho2.pyecho3.pyfunctional.pytest_base_events.pytest_buffered_proto.pytest_context.pytest_events.pytest_futures.pytest_futures2.pytest_locks.pytest_pep492.pytest_proactor_events.pytest_protocols.pytest_queues.pytest_runners.pytest_selector_events.pytest_sendfile.pytest_server.pytest_sock_lowlevel.pytest_sslproto.pytest_streams.pytest_subprocess.pytest_tasks.pytest_threads.pytest_transports.pytest_unix_events.pytest_waitfor.pytest_windows_events.pytest_windows_utils.pyutils.pytest_asyncore.pytest_atexit.pytest_audioop.pytest_audit.pytest_augassign.pytest_base64.pytest_baseexception.pytest_bdb.pytest_bigaddrspace.pytest_bigmem.pytest_binascii.pytest_binhex.pytest_binop.pytest_bisect.pytest_bool.pytest_buffer.pytest_bufio.pytest_builtin.pytest_bytes.pytest_bz2.pytest_c_locale_coercion.pytest_calendar.pytest_call.pytest_capi.pytest_cgi.pytest_cgitb.pytest_charmapcodec.pytest_check_c_globals.pytest_class.pytest_clinic.pytest_cmath.pytest_cmd.pytest_cmd_line.pytest_cmd_line_script.pytest_code.pytest_code_module.pytest_codeccallbacks.pytest_codecencodings_cn.pytest_codecencodings_hk.pytest_codecencodings_iso2022.pytest_codecencodings_jp.pytest_codecencodings_kr.pytest_codecencodings_tw.pytest_codecmaps_cn.pytest_codecmaps_hk.pytest_codecmaps_jp.pytest_codecmaps_kr.pytest_codecmaps_tw.pytest_codecs.pytest_codeop.pytest_collections.pytest_colorsys.pytest_compare.pytest_compile.pytest_compileall.pytest_complex.pytest_concurrent_futures.pytest_configparser.pytest_contains.pytest_context.pytest_contextlib.pytest_contextlib_async.pytest_copy.pytest_copyreg.pytest_coroutines.pytest_cprofile.pytest_crashers.pytest_crypt.pytest_csv.pytest_ctypes.pytest_curses.pytest_dataclasses.pytest_datetime.pytest_dbm.pytest_dbm_dumb.pytest_dbm_gnu.pytest_dbm_ndbm.pytest_decimal.pytest_decorators.pytest_defaultdict.pytest_deque.pytest_descr.pytest_descrtut.pytest_devpoll.pytest_dict.pytest_dict_version.pytest_dictcomps.pytest_dictviews.pytest_difflib.pytest_difflib_expect.htmltest_dis.pytest_distutils.pytest_doctest.pytest_doctest.txttest_doctest2.pytest_doctest2.txttest_doctest3.txttest_doctest4.txttest_docxmlrpc.pytest_dtrace.pytest_dynamic.pytest_dynamicclassattribute.pytest_eintr.pytest_email__init__.py__main__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pyc__main__.cpython-39.opt-1.pyc__main__.cpython-39.opt-2.pyc__main__.cpython-39.pyctest__encoded_words.cpython-39.opt-1.pyctest__encoded_words.cpython-39.opt-2.pyctest__encoded_words.cpython-39.pyctest__header_value_parser.cpython-39.opt-1.pyctest__header_value_parser.cpython-39.opt-2.pyctest__header_value_parser.cpython-39.pyctest_asian_codecs.cpython-39.opt-1.pyctest_asian_codecs.cpython-39.opt-2.pyctest_asian_codecs.cpython-39.pyctest_contentmanager.cpython-39.opt-1.pyctest_contentmanager.cpython-39.opt-2.pyctest_contentmanager.cpython-39.pyctest_defect_handling.cpython-39.opt-1.pyctest_defect_handling.cpython-39.opt-2.pyctest_defect_handling.cpython-39.pyctest_email.cpython-39.opt-1.pyctest_email.cpython-39.opt-2.pyctest_email.cpython-39.pyctest_generator.cpython-39.opt-1.pyctest_generator.cpython-39.opt-2.pyctest_generator.cpython-39.pyctest_headerregistry.cpython-39.opt-1.pyctest_headerregistry.cpython-39.opt-2.pyctest_headerregistry.cpython-39.pyctest_inversion.cpython-39.opt-1.pyctest_inversion.cpython-39.opt-2.pyctest_inversion.cpython-39.pyctest_message.cpython-39.opt-1.pyctest_message.cpython-39.opt-2.pyctest_message.cpython-39.pyctest_parser.cpython-39.opt-1.pyctest_parser.cpython-39.opt-2.pyctest_parser.cpython-39.pyctest_pickleable.cpython-39.opt-1.pyctest_pickleable.cpython-39.opt-2.pyctest_pickleable.cpython-39.pyctest_policy.cpython-39.opt-1.pyctest_policy.cpython-39.opt-2.pyctest_policy.cpython-39.pyctest_utils.cpython-39.opt-1.pyctest_utils.cpython-39.opt-2.pyctest_utils.cpython-39.pyctorture_test.cpython-39.opt-1.pyctorture_test.cpython-39.opt-2.pyctorture_test.cpython-39.pycdataPyBanner048.gifaudiotest.aumsg_01.txtmsg_02.txtmsg_03.txtmsg_04.txtmsg_05.txtmsg_06.txtmsg_07.txtmsg_08.txtmsg_09.txtmsg_10.txtmsg_11.txtmsg_12.txtmsg_12a.txtmsg_13.txtmsg_14.txtmsg_15.txtmsg_16.txtmsg_17.txtmsg_18.txtmsg_19.txtmsg_20.txtmsg_21.txtmsg_22.txtmsg_23.txtmsg_24.txtmsg_25.txtmsg_26.txtmsg_27.txtmsg_28.txtmsg_29.txtmsg_30.txtmsg_31.txtmsg_32.txtmsg_33.txtmsg_34.txtmsg_35.txtmsg_36.txtmsg_37.txtmsg_38.txtmsg_39.txtmsg_40.txtmsg_41.txtmsg_42.txtmsg_43.txtmsg_44.txtmsg_45.txtmsg_46.txttest__encoded_words.pytest__header_value_parser.pytest_asian_codecs.pytest_contentmanager.pytest_defect_handling.pytest_email.pytest_generator.pytest_headerregistry.pytest_inversion.pytest_message.pytest_parser.pytest_pickleable.pytest_policy.pytest_utils.pytorture_test.pytest_embed.pytest_ensurepip.pytest_enum.pytest_enumerate.pytest_eof.pytest_epoll.pytest_errno.pytest_exception_hierarchy.pytest_exception_variations.pytest_exceptions.pytest_extcall.pytest_faulthandler.pytest_fcntl.pytest_file.pytest_file_eintr.pytest_filecmp.pytest_fileinput.pytest_fileio.pytest_finalization.pytest_float.pytest_flufl.pytest_fnmatch.pytest_fork1.pytest_format.pytest_fractions.pytest_frame.pytest_frozen.pytest_fstring.pytest_ftplib.pytest_funcattrs.pytest_functools.pytest_future.pytest_future3.pytest_future4.pytest_future5.pytest_gc.pytest_gdb.pytest_generator_stop.pytest_generators.pytest_genericalias.pytest_genericclass.pytest_genericpath.pytest_genexps.pytest_getargs2.pytest_getopt.pytest_getpass.pytest_gettext.pytest_glob.pytest_global.pytest_grammar.pytest_graphlib.pytest_grp.pytest_gzip.pytest_hash.pytest_hashlib.pytest_heapq.pytest_hmac.pytest_html.pytest_htmlparser.pytest_http_cookiejar.pytest_http_cookies.pytest_httplib.pytest_httpservers.pytest_idle.pytest_imaplib.pytest_imghdr.pytest_imp.pytest_import__init__.py__main__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pyc__main__.cpython-39.opt-1.pyc__main__.cpython-39.opt-2.pyc__main__.cpython-39.pycdatacircular_imports__pycache__basic.cpython-39.opt-1.pycbasic.cpython-39.opt-2.pycbasic.cpython-39.pycbasic2.cpython-39.opt-1.pycbasic2.cpython-39.opt-2.pycbasic2.cpython-39.pycbinding.cpython-39.opt-1.pycbinding.cpython-39.opt-2.pycbinding.cpython-39.pycbinding2.cpython-39.opt-1.pycbinding2.cpython-39.opt-2.pycbinding2.cpython-39.pycfrom_cycle1.cpython-39.opt-1.pycfrom_cycle1.cpython-39.opt-2.pycfrom_cycle1.cpython-39.pycfrom_cycle2.cpython-39.opt-1.pycfrom_cycle2.cpython-39.opt-2.pycfrom_cycle2.cpython-39.pycindirect.cpython-39.opt-1.pycindirect.cpython-39.opt-2.pycindirect.cpython-39.pycrebinding.cpython-39.opt-1.pycrebinding.cpython-39.opt-2.pycrebinding.cpython-39.pycrebinding2.cpython-39.opt-1.pycrebinding2.cpython-39.opt-2.pycrebinding2.cpython-39.pycsource.cpython-39.opt-1.pycsource.cpython-39.opt-2.pycsource.cpython-39.pycsubpackage.cpython-39.opt-1.pycsubpackage.cpython-39.opt-2.pycsubpackage.cpython-39.pycuse.cpython-39.opt-1.pycuse.cpython-39.opt-2.pycuse.cpython-39.pycutil.cpython-39.opt-1.pycutil.cpython-39.opt-2.pycutil.cpython-39.pycbasic.pybasic2.pybinding.pybinding2.pyfrom_cycle1.pyfrom_cycle2.pyindirect.pyrebinding.pyrebinding2.pysource.pysubpackage.pysubpkg__pycache__subpackage2.cpython-39.opt-1.pycsubpackage2.cpython-39.opt-2.pycsubpackage2.cpython-39.pycutil.cpython-39.opt-1.pycutil.cpython-39.opt-2.pycutil.cpython-39.pycsubpackage2.pyutil.pyuse.pyutil.pypackage__init__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pycsubmodule.cpython-39.opt-1.pycsubmodule.cpython-39.opt-2.pycsubmodule.cpython-39.pycsubmodule.pypackage2__pycache__submodule1.cpython-39.opt-1.pycsubmodule1.cpython-39.opt-2.pycsubmodule1.cpython-39.pycsubmodule2.cpython-39.opt-1.pycsubmodule2.cpython-39.opt-2.pycsubmodule2.cpython-39.pycsubmodule1.pysubmodule2.pyunwritable__init__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pycx.cpython-39.opt-1.pycx.cpython-39.opt-2.pycx.cpython-39.pycx.pytest_importlib__init__.py__main__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pyc__main__.cpython-39.opt-1.pyc__main__.cpython-39.opt-2.pyc__main__.cpython-39.pycabc.cpython-39.opt-1.pycabc.cpython-39.opt-2.pycabc.cpython-39.pycfixtures.cpython-39.opt-1.pycfixtures.cpython-39.opt-2.pycfixtures.cpython-39.pycstubs.cpython-39.opt-1.pycstubs.cpython-39.opt-2.pycstubs.cpython-39.pyctest_abc.cpython-39.opt-1.pyctest_abc.cpython-39.opt-2.pyctest_abc.cpython-39.pyctest_api.cpython-39.opt-1.pyctest_api.cpython-39.opt-2.pyctest_api.cpython-39.pyctest_files.cpython-39.opt-1.pyctest_files.cpython-39.opt-2.pyctest_files.cpython-39.pyctest_lazy.cpython-39.opt-1.pyctest_lazy.cpython-39.opt-2.pyctest_lazy.cpython-39.pyctest_locks.cpython-39.opt-1.pyctest_locks.cpython-39.opt-2.pyctest_locks.cpython-39.pyctest_main.cpython-39.opt-1.pyctest_main.cpython-39.opt-2.pyctest_main.cpython-39.pyctest_metadata_api.cpython-39.opt-1.pyctest_metadata_api.cpython-39.opt-2.pyctest_metadata_api.cpython-39.pyctest_namespace_pkgs.cpython-39.opt-1.pyctest_namespace_pkgs.cpython-39.opt-2.pyctest_namespace_pkgs.cpython-39.pyctest_open.cpython-39.opt-1.pyctest_open.cpython-39.opt-2.pyctest_open.cpython-39.pyctest_path.cpython-39.opt-1.pyctest_path.cpython-39.opt-2.pyctest_path.cpython-39.pyctest_pkg_import.cpython-39.opt-1.pyctest_pkg_import.cpython-39.opt-2.pyctest_pkg_import.cpython-39.pyctest_read.cpython-39.opt-1.pyctest_read.cpython-39.opt-2.pyctest_read.cpython-39.pyctest_resource.cpython-39.opt-1.pyctest_resource.cpython-39.opt-2.pyctest_resource.cpython-39.pyctest_spec.cpython-39.opt-1.pyctest_spec.cpython-39.opt-2.pyctest_spec.cpython-39.pyctest_threaded_import.cpython-39.opt-1.pyctest_threaded_import.cpython-39.opt-2.pyctest_threaded_import.cpython-39.pyctest_util.cpython-39.opt-1.pyctest_util.cpython-39.opt-2.pyctest_util.cpython-39.pyctest_windows.cpython-39.opt-1.pyctest_windows.cpython-39.opt-2.pyctest_windows.cpython-39.pyctest_zip.cpython-39.opt-1.pyctest_zip.cpython-39.opt-2.pyctest_zip.cpython-39.pycthreaded_import_hangers.cpython-39.opt-1.pycthreaded_import_hangers.cpython-39.opt-2.pycthreaded_import_hangers.cpython-39.pycutil.cpython-39.opt-1.pycutil.cpython-39.opt-2.pycutil.cpython-39.pycabc.pybuiltin__init__.py__main__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pyc__main__.cpython-39.opt-1.pyc__main__.cpython-39.opt-2.pyc__main__.cpython-39.pyctest_finder.cpython-39.opt-1.pyctest_finder.cpython-39.opt-2.pyctest_finder.cpython-39.pyctest_loader.cpython-39.opt-1.pyctest_loader.cpython-39.opt-2.pyctest_loader.cpython-39.pyctest_finder.pytest_loader.pydata__init__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pycexample-21.12-py3-none-any.whlexample-21.12-py3.6.eggdata01__init__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pycbinary.filesubdirectory__init__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pycbinary.fileutf-16.fileutf-8.filedata02__init__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pycone__init__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pycresource1.txttwo__init__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pycresource2.txtdata03__init__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pycnamespaceportion1__init__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pycportion2__init__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pycresource1.txtextension__init__.py__main__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pyc__main__.cpython-39.opt-1.pyc__main__.cpython-39.opt-2.pyc__main__.cpython-39.pyctest_case_sensitivity.cpython-39.opt-1.pyctest_case_sensitivity.cpython-39.opt-2.pyctest_case_sensitivity.cpython-39.pyctest_finder.cpython-39.opt-1.pyctest_finder.cpython-39.opt-2.pyctest_finder.cpython-39.pyctest_loader.cpython-39.opt-1.pyctest_loader.cpython-39.opt-2.pyctest_loader.cpython-39.pyctest_path_hook.cpython-39.opt-1.pyctest_path_hook.cpython-39.opt-2.pyctest_path_hook.cpython-39.pyctest_case_sensitivity.pytest_finder.pytest_loader.pytest_path_hook.pyfixtures.pyfrozen__init__.py__main__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pyc__main__.cpython-39.opt-1.pyc__main__.cpython-39.opt-2.pyc__main__.cpython-39.pyctest_finder.cpython-39.opt-1.pyctest_finder.cpython-39.opt-2.pyctest_finder.cpython-39.pyctest_loader.cpython-39.opt-1.pyctest_loader.cpython-39.opt-2.pyctest_loader.cpython-39.pyctest_finder.pytest_loader.pyimport___init__.py__main__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pyc__main__.cpython-39.opt-1.pyc__main__.cpython-39.opt-2.pyc__main__.cpython-39.pyctest___loader__.cpython-39.opt-1.pyctest___loader__.cpython-39.opt-2.pyctest___loader__.cpython-39.pyctest___package__.cpython-39.opt-1.pyctest___package__.cpython-39.opt-2.pyctest___package__.cpython-39.pyctest_api.cpython-39.opt-1.pyctest_api.cpython-39.opt-2.pyctest_api.cpython-39.pyctest_caching.cpython-39.opt-1.pyctest_caching.cpython-39.opt-2.pyctest_caching.cpython-39.pyctest_fromlist.cpython-39.opt-1.pyctest_fromlist.cpython-39.opt-2.pyctest_fromlist.cpython-39.pyctest_meta_path.cpython-39.opt-1.pyctest_meta_path.cpython-39.opt-2.pyctest_meta_path.cpython-39.pyctest_packages.cpython-39.opt-1.pyctest_packages.cpython-39.opt-2.pyctest_packages.cpython-39.pyctest_path.cpython-39.opt-1.pyctest_path.cpython-39.opt-2.pyctest_path.cpython-39.pyctest_relative_imports.cpython-39.opt-1.pyctest_relative_imports.cpython-39.opt-2.pyctest_relative_imports.cpython-39.pyctest___loader__.pytest___package__.pytest_api.pytest_caching.pytest_fromlist.pytest_meta_path.pytest_packages.pytest_path.pytest_relative_imports.pynamespace_pkgsboth_portionsfoo__pycache__one.cpython-39.opt-1.pycone.cpython-39.opt-2.pycone.cpython-39.pyctwo.cpython-39.opt-1.pyctwo.cpython-39.opt-2.pyctwo.cpython-39.pycone.pytwo.pymissing_directory.zipmodule_and_namespace_package__pycache__a_test.cpython-39.opt-1.pyca_test.cpython-39.opt-2.pyca_test.cpython-39.pyca_testa_test.pyemptynested_portion1.zipnot_a_namespace_pkgfoo__init__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pycone.cpython-39.opt-1.pycone.cpython-39.opt-2.pycone.cpython-39.pycone.pyportion1foo__pycache__one.cpython-39.opt-1.pycone.cpython-39.opt-2.pycone.cpython-39.pycone.pyportion2foo__pycache__two.cpython-39.opt-1.pyctwo.cpython-39.opt-2.pyctwo.cpython-39.pyctwo.pyproject1parentchild__pycache__one.cpython-39.opt-1.pycone.cpython-39.opt-2.pycone.cpython-39.pycone.pyproject2parentchild__pycache__two.cpython-39.opt-1.pyctwo.cpython-39.opt-2.pyctwo.cpython-39.pyctwo.pyproject3parentchild__pycache__three.cpython-39.opt-1.pycthree.cpython-39.opt-2.pycthree.cpython-39.pycthree.pytop_level_portion1.zippartial__pycache__cfimport.cpython-39.opt-1.pyccfimport.cpython-39.opt-2.pyccfimport.cpython-39.pycpool_in_threads.cpython-39.opt-1.pycpool_in_threads.cpython-39.opt-2.pycpool_in_threads.cpython-39.pyccfimport.pypool_in_threads.pysource__init__.py__main__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pyc__main__.cpython-39.opt-1.pyc__main__.cpython-39.opt-2.pyc__main__.cpython-39.pyctest_case_sensitivity.cpython-39.opt-1.pyctest_case_sensitivity.cpython-39.opt-2.pyctest_case_sensitivity.cpython-39.pyctest_file_loader.cpython-39.opt-1.pyctest_file_loader.cpython-39.opt-2.pyctest_file_loader.cpython-39.pyctest_finder.cpython-39.opt-1.pyctest_finder.cpython-39.opt-2.pyctest_finder.cpython-39.pyctest_path_hook.cpython-39.opt-1.pyctest_path_hook.cpython-39.opt-2.pyctest_path_hook.cpython-39.pyctest_source_encoding.cpython-39.opt-1.pyctest_source_encoding.cpython-39.opt-2.pyctest_source_encoding.cpython-39.pyctest_case_sensitivity.pytest_file_loader.pytest_finder.pytest_path_hook.pytest_source_encoding.pystubs.pytest_abc.pytest_api.pytest_files.pytest_lazy.pytest_locks.pytest_main.pytest_metadata_api.pytest_namespace_pkgs.pytest_open.pytest_path.pytest_pkg_import.pytest_read.pytest_resource.pytest_spec.pytest_threaded_import.pytest_util.pytest_windows.pytest_zip.pythreaded_import_hangers.pyutil.pyzipdata01__init__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pycziptestdata.zipzipdata02__init__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pycziptestdata.ziptest_index.pytest_inspect.pytest_int.pytest_int_literal.pytest_io.pytest_ioctl.pytest_ipaddress.pytest_isinstance.pytest_iter.pytest_iterlen.pytest_itertools.pytest_json__init__.py__main__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pyc__main__.cpython-39.opt-1.pyc__main__.cpython-39.opt-2.pyc__main__.cpython-39.pyctest_decode.cpython-39.opt-1.pyctest_decode.cpython-39.opt-2.pyctest_decode.cpython-39.pyctest_default.cpython-39.opt-1.pyctest_default.cpython-39.opt-2.pyctest_default.cpython-39.pyctest_dump.cpython-39.opt-1.pyctest_dump.cpython-39.opt-2.pyctest_dump.cpython-39.pyctest_encode_basestring_ascii.cpython-39.opt-1.pyctest_encode_basestring_ascii.cpython-39.opt-2.pyctest_encode_basestring_ascii.cpython-39.pyctest_enum.cpython-39.opt-1.pyctest_enum.cpython-39.opt-2.pyctest_enum.cpython-39.pyctest_fail.cpython-39.opt-1.pyctest_fail.cpython-39.opt-2.pyctest_fail.cpython-39.pyctest_float.cpython-39.opt-1.pyctest_float.cpython-39.opt-2.pyctest_float.cpython-39.pyctest_indent.cpython-39.opt-1.pyctest_indent.cpython-39.opt-2.pyctest_indent.cpython-39.pyctest_pass1.cpython-39.opt-1.pyctest_pass1.cpython-39.opt-2.pyctest_pass1.cpython-39.pyctest_pass2.cpython-39.opt-1.pyctest_pass2.cpython-39.opt-2.pyctest_pass2.cpython-39.pyctest_pass3.cpython-39.opt-1.pyctest_pass3.cpython-39.opt-2.pyctest_pass3.cpython-39.pyctest_recursion.cpython-39.opt-1.pyctest_recursion.cpython-39.opt-2.pyctest_recursion.cpython-39.pyctest_scanstring.cpython-39.opt-1.pyctest_scanstring.cpython-39.opt-2.pyctest_scanstring.cpython-39.pyctest_separators.cpython-39.opt-1.pyctest_separators.cpython-39.opt-2.pyctest_separators.cpython-39.pyctest_speedups.cpython-39.opt-1.pyctest_speedups.cpython-39.opt-2.pyctest_speedups.cpython-39.pyctest_tool.cpython-39.opt-1.pyctest_tool.cpython-39.opt-2.pyctest_tool.cpython-39.pyctest_unicode.cpython-39.opt-1.pyctest_unicode.cpython-39.opt-2.pyctest_unicode.cpython-39.pyctest_decode.pytest_default.pytest_dump.pytest_encode_basestring_ascii.pytest_enum.pytest_fail.pytest_float.pytest_indent.pytest_pass1.pytest_pass2.pytest_pass3.pytest_recursion.pytest_scanstring.pytest_separators.pytest_speedups.pytest_tool.pytest_unicode.pytest_keyword.pytest_keywordonlyarg.pytest_kqueue.pytest_largefile.pytest_lib2to3.pytest_linecache.pytest_list.pytest_listcomps.pytest_lltrace.pytest_locale.pytest_logging.pytest_long.pytest_longexp.pytest_lzma.pytest_mailbox.pytest_mailcap.pytest_marshal.pytest_math.pytest_memoryio.pytest_memoryview.pytest_metaclass.pytest_mimetypes.pytest_minidom.pytest_mmap.pytest_module.pytest_modulefinder.pytest_msilib.pytest_multibytecodec.pytest_multiprocessing_fork.pytest_multiprocessing_forkserver.pytest_multiprocessing_main_handling.pytest_multiprocessing_spawn.pytest_named_expressions.pytest_netrc.pytest_nis.pytest_nntplib.pytest_ntpath.pytest_numeric_tower.pytest_opcodes.pytest_openpty.pytest_operator.pytest_optparse.pytest_ordered_dict.pytest_os.pytest_ossaudiodev.pytest_osx_env.pytest_parser.pytest_pathlib.pytest_pdb.pytest_peepholer.pytest_peg_generator__init__.py__main__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pyc__main__.cpython-39.opt-1.pyc__main__.cpython-39.opt-2.pyc__main__.cpython-39.pyctest_c_parser.cpython-39.opt-1.pyctest_c_parser.cpython-39.opt-2.pyctest_c_parser.cpython-39.pyctest_first_sets.cpython-39.opt-1.pyctest_first_sets.cpython-39.opt-2.pyctest_first_sets.cpython-39.pyctest_pegen.cpython-39.opt-1.pyctest_pegen.cpython-39.opt-2.pyctest_pegen.cpython-39.pyctest_c_parser.pytest_first_sets.pytest_pegen.pytest_peg_parser.pytest_pickle.pytest_picklebuffer.pytest_pickletools.pytest_pipes.pytest_pkg.pytest_pkgutil.pytest_platform.pytest_plistlib.pytest_poll.pytest_popen.pytest_poplib.pytest_positional_only_arg.pytest_posix.pytest_posixpath.pytest_pow.pytest_pprint.pytest_print.pytest_profile.pytest_property.pytest_pstats.pytest_pty.pytest_pulldom.pytest_pwd.pytest_py_compile.pytest_pyclbr.pytest_pydoc.pytest_pyexpat.pytest_queue.pytest_quopri.pytest_raise.pytest_random.pytest_range.pytest_re.pytest_readline.pytest_regrtest.pytest_repl.pytest_reprlib.pytest_resource.pytest_richcmp.pytest_rlcompleter.pytest_robotparser.pytest_runpy.pytest_sax.pytest_sched.pytest_scope.pytest_script_helper.pytest_secrets.pytest_select.pytest_selectors.pytest_set.pytest_setcomps.pytest_shelve.pytest_shlex.pytest_shutil.pytest_signal.pytest_site.pytest_slice.pytest_smtpd.pytest_smtplib.pytest_smtpnet.pytest_sndhdr.pytest_socket.pytest_socketserver.pytest_sort.pytest_source_encoding.pytest_spwd.pytest_sqlite.pytest_ssl.pytest_startfile.pytest_stat.pytest_statistics.pytest_strftime.pytest_string.pytest_string_literals.pytest_stringprep.pytest_strptime.pytest_strtod.pytest_struct.pytest_structmembers.pytest_structseq.pytest_subclassinit.pytest_subprocess.pytest_sunau.pytest_sundry.pytest_super.pytest_support.pytest_symbol.pytest_symtable.pytest_syntax.pytest_sys.pytest_sys_setprofile.pytest_sys_settrace.pytest_sysconfig.pytest_syslog.pytest_tabnanny.pytest_tarfile.pytest_tcl.pytest_telnetlib.pytest_tempfile.pytest_textwrap.pytest_thread.pytest_threadedtempfile.pytest_threading.pytest_threading_local.pytest_threadsignals.pytest_time.pytest_timeit.pytest_timeout.pytest_tix.pytest_tk.pytest_tokenize.pytest_tools__init__.py__main__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pyc__main__.cpython-39.opt-1.pyc__main__.cpython-39.opt-2.pyc__main__.cpython-39.pyctest_fixcid.cpython-39.opt-1.pyctest_fixcid.cpython-39.opt-2.pyctest_fixcid.cpython-39.pyctest_gprof2html.cpython-39.opt-1.pyctest_gprof2html.cpython-39.opt-2.pyctest_gprof2html.cpython-39.pyctest_i18n.cpython-39.opt-1.pyctest_i18n.cpython-39.opt-2.pyctest_i18n.cpython-39.pyctest_lll.cpython-39.opt-1.pyctest_lll.cpython-39.opt-2.pyctest_lll.cpython-39.pyctest_md5sum.cpython-39.opt-1.pyctest_md5sum.cpython-39.opt-2.pyctest_md5sum.cpython-39.pyctest_pathfix.cpython-39.opt-1.pyctest_pathfix.cpython-39.opt-2.pyctest_pathfix.cpython-39.pyctest_pdeps.cpython-39.opt-1.pyctest_pdeps.cpython-39.opt-2.pyctest_pdeps.cpython-39.pyctest_pindent.cpython-39.opt-1.pyctest_pindent.cpython-39.opt-2.pyctest_pindent.cpython-39.pyctest_reindent.cpython-39.opt-1.pyctest_reindent.cpython-39.opt-2.pyctest_reindent.cpython-39.pyctest_sundry.cpython-39.opt-1.pyctest_sundry.cpython-39.opt-2.pyctest_sundry.cpython-39.pyctest_fixcid.pytest_gprof2html.pytest_i18n.pytest_lll.pytest_md5sum.pytest_pathfix.pytest_pdeps.pytest_pindent.pytest_reindent.pytest_sundry.pytest_trace.pytest_traceback.pytest_tracemalloc.pytest_ttk_guionly.pytest_ttk_textonly.pytest_tuple.pytest_turtle.pytest_type_comments.pytest_typechecks.pytest_types.pytest_typing.pytest_ucn.pytest_unary.pytest_unicode.pytest_unicode_file.pytest_unicode_file_functions.pytest_unicode_identifiers.pytest_unicodedata.pytest_unittest.pytest_univnewlines.pytest_unpack.pytest_unpack_ex.pytest_unparse.pytest_urllib.pytest_urllib2.pytest_urllib2_localnet.pytest_urllib2net.pytest_urllib_response.pytest_urllibnet.pytest_urlparse.pytest_userdict.pytest_userlist.pytest_userstring.pytest_utf8_mode.pytest_utf8source.pytest_uu.pytest_uuid.pytest_venv.pytest_wait3.pytest_wait4.pytest_warnings__init__.py__main__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pyc__main__.cpython-39.opt-1.pyc__main__.cpython-39.opt-2.pyc__main__.cpython-39.pycdata__pycache__import_warning.cpython-39.opt-1.pycimport_warning.cpython-39.opt-2.pycimport_warning.cpython-39.pycstacklevel.cpython-39.opt-1.pycstacklevel.cpython-39.opt-2.pycstacklevel.cpython-39.pycimport_warning.pystacklevel.pytest_wave.pytest_weakref.pytest_weakset.pytest_webbrowser.pytest_winconsoleio.pytest_winreg.pytest_winsound.pytest_with.pytest_wsgiref.pytest_xdrlib.pytest_xml_dom_minicompat.pytest_xml_etree.pytest_xml_etree_c.pytest_xmlrpc.pytest_xmlrpc_net.pytest_xxtestfuzz.pytest_yield_from.pytest_zipapp.pytest_zipfile.pytest_zipfile64.pytest_zipimport.pytest_zipimport_support.pytest_zlib.pytest_zoneinfo__init__.py__main__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pyc__main__.cpython-39.opt-1.pyc__main__.cpython-39.opt-2.pyc__main__.cpython-39.pyc_support.cpython-39.opt-1.pyc_support.cpython-39.opt-2.pyc_support.cpython-39.pyctest_zoneinfo.cpython-39.opt-1.pyctest_zoneinfo.cpython-39.opt-2.pyctest_zoneinfo.cpython-39.pyc_support.pydata__pycache__update_test_data.cpython-39.opt-1.pycupdate_test_data.cpython-39.opt-2.pycupdate_test_data.cpython-39.pycupdate_test_data.pyzoneinfo_data.jsontest_zoneinfo.pytestcodec.pytesttar.tartf_inherit_check.pytime_hashlib.pytokenize_tests-latin1-coding-cookie-and-utf8-bom-sig.txttokenize_tests-no-coding-cookie-and-utf8-bom-sig-only.txttokenize_tests-utf8-coding-cookie-and-no-utf8-bom-sig.txttokenize_tests-utf8-coding-cookie-and-utf8-bom-sig.txttokenize_tests.txttracedmodules__init__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pyctestmod.cpython-39.opt-1.pyctestmod.cpython-39.opt-2.pyctestmod.cpython-39.pyctestmod.pywin_console_handler.pyxmltestdatac14n-20READMEc14nComment.xmlc14nDefault.xmlc14nPrefix.xmlc14nPrefixQname.xmlc14nPrefixQnameXpathElem.xmlc14nQname.xmlc14nQnameElem.xmlc14nQnameXpathElem.xmlc14nTrim.xmldoc.dtddoc.xslinC14N1.xmlinC14N2.xmlinC14N3.xmlinC14N4.xmlinC14N5.xmlinC14N6.xmlinNsContent.xmlinNsDefault.xmlinNsPushdown.xmlinNsRedecl.xmlinNsSort.xmlinNsSuperfluous.xmlinNsXml.xmlout_inC14N1_c14nComment.xmlout_inC14N1_c14nDefault.xmlout_inC14N2_c14nDefault.xmlout_inC14N2_c14nTrim.xmlout_inC14N3_c14nDefault.xmlout_inC14N3_c14nPrefix.xmlout_inC14N3_c14nTrim.xmlout_inC14N4_c14nDefault.xmlout_inC14N4_c14nTrim.xmlout_inC14N5_c14nDefault.xmlout_inC14N5_c14nTrim.xmlout_inC14N6_c14nDefault.xmlout_inNsContent_c14nDefault.xmlout_inNsContent_c14nPrefixQnameXpathElem.xmlout_inNsContent_c14nQnameElem.xmlout_inNsContent_c14nQnameXpathElem.xmlout_inNsDefault_c14nDefault.xmlout_inNsDefault_c14nPrefix.xmlout_inNsPushdown_c14nDefault.xmlout_inNsPushdown_c14nPrefix.xmlout_inNsRedecl_c14nDefault.xmlout_inNsRedecl_c14nPrefix.xmlout_inNsSort_c14nDefault.xmlout_inNsSort_c14nPrefix.xmlout_inNsSuperfluous_c14nDefault.xmlout_inNsSuperfluous_c14nPrefix.xmlout_inNsXml_c14nDefault.xmlout_inNsXml_c14nPrefix.xmlout_inNsXml_c14nPrefixQname.xmlout_inNsXml_c14nQname.xmlworld.txtexpat224_utf8_bug.xmlsimple-ns.xmlsimple.xmltest.xmltest.xml.outxmltests.pyzip_cp437_header.zipzipdir.zipziptestdataREADME.md__pycache__testdata_module_inside_zip.cpython-39.opt-1.pyctestdata_module_inside_zip.cpython-39.opt-2.pyctestdata_module_inside_zip.cpython-39.pycexe_with_z64exe_with_zipheader.shtestdata_module_inside_zip.pytkintertestREADME__init__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pycsupport.cpython-39.opt-1.pycsupport.cpython-39.opt-2.pycsupport.cpython-39.pycwidget_tests.cpython-39.opt-1.pycwidget_tests.cpython-39.opt-2.pycwidget_tests.cpython-39.pycsupport.pytest_tkinter__init__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pyctest_colorchooser.cpython-39.opt-1.pyctest_colorchooser.cpython-39.opt-2.pyctest_colorchooser.cpython-39.pyctest_font.cpython-39.opt-1.pyctest_font.cpython-39.opt-2.pyctest_font.cpython-39.pyctest_geometry_managers.cpython-39.opt-1.pyctest_geometry_managers.cpython-39.opt-2.pyctest_geometry_managers.cpython-39.pyctest_images.cpython-39.opt-1.pyctest_images.cpython-39.opt-2.pyctest_images.cpython-39.pyctest_loadtk.cpython-39.opt-1.pyctest_loadtk.cpython-39.opt-2.pyctest_loadtk.cpython-39.pyctest_misc.cpython-39.opt-1.pyctest_misc.cpython-39.opt-2.pyctest_misc.cpython-39.pyctest_simpledialog.cpython-39.opt-1.pyctest_simpledialog.cpython-39.opt-2.pyctest_simpledialog.cpython-39.pyctest_text.cpython-39.opt-1.pyctest_text.cpython-39.opt-2.pyctest_text.cpython-39.pyctest_variables.cpython-39.opt-1.pyctest_variables.cpython-39.opt-2.pyctest_variables.cpython-39.pyctest_widgets.cpython-39.opt-1.pyctest_widgets.cpython-39.opt-2.pyctest_widgets.cpython-39.pyctest_colorchooser.pytest_font.pytest_geometry_managers.pytest_images.pytest_loadtk.pytest_misc.pytest_simpledialog.pytest_text.pytest_variables.pytest_widgets.pytest_ttk__init__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pyctest_extensions.cpython-39.opt-1.pyctest_extensions.cpython-39.opt-2.pyctest_extensions.cpython-39.pyctest_style.cpython-39.opt-1.pyctest_style.cpython-39.opt-2.pyctest_style.cpython-39.pyctest_widgets.cpython-39.opt-1.pyctest_widgets.cpython-39.opt-2.pyctest_widgets.cpython-39.pyctest_extensions.pytest_style.pytest_widgets.pywidget_tests.pytest__init__.py__main__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pyc__main__.cpython-39.opt-1.pyc__main__.cpython-39.opt-2.pyc__main__.cpython-39.pyc_test_warnings.cpython-39.opt-1.pyc_test_warnings.cpython-39.opt-2.pyc_test_warnings.cpython-39.pycdummy.cpython-39.opt-1.pycdummy.cpython-39.opt-2.pycdummy.cpython-39.pycsupport.cpython-39.opt-1.pycsupport.cpython-39.opt-2.pycsupport.cpython-39.pyctest_assertions.cpython-39.opt-1.pyctest_assertions.cpython-39.opt-2.pyctest_assertions.cpython-39.pyctest_async_case.cpython-39.opt-1.pyctest_async_case.cpython-39.opt-2.pyctest_async_case.cpython-39.pyctest_break.cpython-39.opt-1.pyctest_break.cpython-39.opt-2.pyctest_break.cpython-39.pyctest_case.cpython-39.opt-1.pyctest_case.cpython-39.opt-2.pyctest_case.cpython-39.pyctest_discovery.cpython-39.opt-1.pyctest_discovery.cpython-39.opt-2.pyctest_discovery.cpython-39.pyctest_functiontestcase.cpython-39.opt-1.pyctest_functiontestcase.cpython-39.opt-2.pyctest_functiontestcase.cpython-39.pyctest_loader.cpython-39.opt-1.pyctest_loader.cpython-39.opt-2.pyctest_loader.cpython-39.pyctest_program.cpython-39.opt-1.pyctest_program.cpython-39.opt-2.pyctest_program.cpython-39.pyctest_result.cpython-39.opt-1.pyctest_result.cpython-39.opt-2.pyctest_result.cpython-39.pyctest_runner.cpython-39.opt-1.pyctest_runner.cpython-39.opt-2.pyctest_runner.cpython-39.pyctest_setups.cpython-39.opt-1.pyctest_setups.cpython-39.opt-2.pyctest_setups.cpython-39.pyctest_skipping.cpython-39.opt-1.pyctest_skipping.cpython-39.opt-2.pyctest_skipping.cpython-39.pyctest_suite.cpython-39.opt-1.pyctest_suite.cpython-39.opt-2.pyctest_suite.cpython-39.pyc_test_warnings.pydummy.pysupport.pytest_assertions.pytest_async_case.pytest_break.pytest_case.pytest_discovery.pytest_functiontestcase.pytest_loader.pytest_program.pytest_result.pytest_runner.pytest_setups.pytest_skipping.pytest_suite.pytestmock__init__.py__main__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.opt-2.pyc__init__.cpython-39.pyc__main__.cpython-39.opt-1.pyc__main__.cpython-39.opt-2.pyc__main__.cpython-39.pycsupport.cpython-39.opt-1.pycsupport.cpython-39.opt-2.pycsupport.cpython-39.pyctestasync.cpython-39.opt-1.pyctestasync.cpython-39.opt-2.pyctestasync.cpython-39.pyctestcallable.cpython-39.opt-1.pyctestcallable.cpython-39.opt-2.pyctestcallable.cpython-39.pyctesthelpers.cpython-39.opt-1.pyctesthelpers.cpython-39.opt-2.pyctesthelpers.cpython-39.pyctestmagicmethods.cpython-39.opt-1.pyctestmagicmethods.cpython-39.opt-2.pyctestmagicmethods.cpython-39.pyctestmock.cpython-39.opt-1.pyctestmock.cpython-39.opt-2.pyctestmock.cpython-39.pyctestpatch.cpython-39.opt-1.pyctestpatch.cpython-39.opt-2.pyctestpatch.cpython-39.pyctestsealable.cpython-39.opt-1.pyctestsealable.cpython-39.opt-2.pyctestsealable.cpython-39.pyctestsentinel.cpython-39.opt-1.pyctestsentinel.cpython-39.opt-2.pyctestsentinel.cpython-39.pyctestwith.cpython-39.opt-1.pyctestwith.cpython-39.opt-2.pyctestwith.cpython-39.pycsupport.pytestasync.pytestcallable.pytesthelpers.pytestmagicmethods.pytestmock.pytestpatch.pytestsealable.pytestsentinel.pytestwith.py/usr/lib64/python3.9/ctypes//usr/lib64/python3.9/ctypes/test//usr/lib64/python3.9/ctypes/test/__pycache__//usr/lib64/python3.9/distutils//usr/lib64/python3.9/distutils/tests//usr/lib64/python3.9/distutils/tests/__pycache__//usr/lib64/python3.9/lib-dynload//usr/lib64/python3.9/lib2to3//usr/lib64/python3.9/lib2to3/tests//usr/lib64/python3.9/lib2to3/tests/__pycache__//usr/lib64/python3.9/lib2to3/tests/data//usr/lib64/python3.9/lib2to3/tests/data/fixers//usr/lib64/python3.9/lib2to3/tests/data/fixers/myfixes//usr/lib64/python3.9//usr/lib64/python3.9/sqlite3//usr/lib64/python3.9/sqlite3/test//usr/lib64/python3.9/sqlite3/test/__pycache__//usr/lib64/python3.9//usr/lib64/python3.9/test//usr/lib64/python3.9/test/__pycache__//usr/lib64/python3.9/test/audiodata//usr/lib64/python3.9/test/capath//usr/lib64/python3.9/test/cjkencodings//usr/lib64/python3.9/test/data//usr/lib64/python3.9/test/decimaltestdata//usr/lib64/python3.9/test/dtracedata//usr/lib64/python3.9/test/dtracedata/__pycache__//usr/lib64/python3.9/test/eintrdata//usr/lib64/python3.9/test/eintrdata/__pycache__//usr/lib64/python3.9/test/encoded_modules//usr/lib64/python3.9/test/encoded_modules/__pycache__//usr/lib64/python3.9/test/imghdrdata//usr/lib64/python3.9/test/libregrtest//usr/lib64/python3.9/test/libregrtest/__pycache__//usr/lib64/python3.9/test/sndhdrdata//usr/lib64/python3.9/test/subprocessdata//usr/lib64/python3.9/test/subprocessdata/__pycache__//usr/lib64/python3.9/test/support//usr/lib64/python3.9/test/support/__pycache__//usr/lib64/python3.9/test/test_asyncio//usr/lib64/python3.9/test/test_asyncio/__pycache__//usr/lib64/python3.9/test/test_email//usr/lib64/python3.9/test/test_email/__pycache__//usr/lib64/python3.9/test/test_email/data//usr/lib64/python3.9/test/test_import//usr/lib64/python3.9/test/test_import/__pycache__//usr/lib64/python3.9/test/test_import/data//usr/lib64/python3.9/test/test_import/data/circular_imports//usr/lib64/python3.9/test/test_import/data/circular_imports/__pycache__//usr/lib64/python3.9/test/test_import/data/circular_imports/subpkg//usr/lib64/python3.9/test/test_import/data/circular_imports/subpkg/__pycache__//usr/lib64/python3.9/test/test_import/data/package//usr/lib64/python3.9/test/test_import/data/package/__pycache__//usr/lib64/python3.9/test/test_import/data/package2//usr/lib64/python3.9/test/test_import/data/package2/__pycache__//usr/lib64/python3.9/test/test_import/data/unwritable//usr/lib64/python3.9/test/test_import/data/unwritable/__pycache__//usr/lib64/python3.9/test/test_importlib//usr/lib64/python3.9/test/test_importlib/__pycache__//usr/lib64/python3.9/test/test_importlib/builtin//usr/lib64/python3.9/test/test_importlib/builtin/__pycache__//usr/lib64/python3.9/test/test_importlib/data//usr/lib64/python3.9/test/test_importlib/data/__pycache__//usr/lib64/python3.9/test/test_importlib/data01//usr/lib64/python3.9/test/test_importlib/data01/__pycache__//usr/lib64/python3.9/test/test_importlib/data01/subdirectory//usr/lib64/python3.9/test/test_importlib/data01/subdirectory/__pycache__//usr/lib64/python3.9/test/test_importlib/data02//usr/lib64/python3.9/test/test_importlib/data02/__pycache__//usr/lib64/python3.9/test/test_importlib/data02/one//usr/lib64/python3.9/test/test_importlib/data02/one/__pycache__//usr/lib64/python3.9/test/test_importlib/data02/two//usr/lib64/python3.9/test/test_importlib/data02/two/__pycache__//usr/lib64/python3.9/test/test_importlib/data03//usr/lib64/python3.9/test/test_importlib/data03/__pycache__//usr/lib64/python3.9/test/test_importlib/data03/namespace//usr/lib64/python3.9/test/test_importlib/data03/namespace/portion1//usr/lib64/python3.9/test/test_importlib/data03/namespace/portion1/__pycache__//usr/lib64/python3.9/test/test_importlib/data03/namespace/portion2//usr/lib64/python3.9/test/test_importlib/data03/namespace/portion2/__pycache__//usr/lib64/python3.9/test/test_importlib/extension//usr/lib64/python3.9/test/test_importlib/extension/__pycache__//usr/lib64/python3.9/test/test_importlib/frozen//usr/lib64/python3.9/test/test_importlib/frozen/__pycache__//usr/lib64/python3.9/test/test_importlib/import_//usr/lib64/python3.9/test/test_importlib/import_/__pycache__//usr/lib64/python3.9/test/test_importlib/namespace_pkgs//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/both_portions//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/both_portions/foo//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/both_portions/foo/__pycache__//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/module_and_namespace_package//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/module_and_namespace_package/__pycache__//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/not_a_namespace_pkg//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/__pycache__//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/portion1//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/portion1/foo//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/portion1/foo/__pycache__//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/portion2//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/portion2/foo//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/portion2/foo/__pycache__//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/project1//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/project1/parent//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/project1/parent/child//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/project1/parent/child/__pycache__//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/project2//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/project2/parent//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/project2/parent/child//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/project2/parent/child/__pycache__//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/project3//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/project3/parent//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/project3/parent/child//usr/lib64/python3.9/test/test_importlib/namespace_pkgs/project3/parent/child/__pycache__//usr/lib64/python3.9/test/test_importlib/partial//usr/lib64/python3.9/test/test_importlib/partial/__pycache__//usr/lib64/python3.9/test/test_importlib/source//usr/lib64/python3.9/test/test_importlib/source/__pycache__//usr/lib64/python3.9/test/test_importlib/zipdata01//usr/lib64/python3.9/test/test_importlib/zipdata01/__pycache__//usr/lib64/python3.9/test/test_importlib/zipdata02//usr/lib64/python3.9/test/test_importlib/zipdata02/__pycache__//usr/lib64/python3.9/test/test_json//usr/lib64/python3.9/test/test_json/__pycache__//usr/lib64/python3.9/test/test_peg_generator//usr/lib64/python3.9/test/test_peg_generator/__pycache__//usr/lib64/python3.9/test/test_tools//usr/lib64/python3.9/test/test_tools/__pycache__//usr/lib64/python3.9/test/test_warnings//usr/lib64/python3.9/test/test_warnings/__pycache__//usr/lib64/python3.9/test/test_warnings/data//usr/lib64/python3.9/test/test_warnings/data/__pycache__//usr/lib64/python3.9/test/test_zoneinfo//usr/lib64/python3.9/test/test_zoneinfo/__pycache__//usr/lib64/python3.9/test/test_zoneinfo/data//usr/lib64/python3.9/test/test_zoneinfo/data/__pycache__//usr/lib64/python3.9/test/tracedmodules//usr/lib64/python3.9/test/tracedmodules/__pycache__//usr/lib64/python3.9/test/xmltestdata//usr/lib64/python3.9/test/xmltestdata/c14n-20//usr/lib64/python3.9/test/ziptestdata//usr/lib64/python3.9/test/ziptestdata/__pycache__//usr/lib64/python3.9/tkinter//usr/lib64/python3.9/tkinter/test//usr/lib64/python3.9/tkinter/test/__pycache__//usr/lib64/python3.9/tkinter/test/test_tkinter//usr/lib64/python3.9/tkinter/test/test_tkinter/__pycache__//usr/lib64/python3.9/tkinter/test/test_ttk//usr/lib64/python3.9/tkinter/test/test_ttk/__pycache__//usr/lib64/python3.9/unittest//usr/lib64/python3.9/unittest/test//usr/lib64/python3.9/unittest/test/__pycache__//usr/lib64/python3.9/unittest/test/testmock//usr/lib64/python3.9/unittest/test/testmock/__pycache__/-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:36554/SUSE_SLE-15-SP3_Update/add00b7e7ddb5b6c45fa0e7caca4b2a2-python39.SUSE_SLE-15-SP3_Update:basedrpmxz5ppc64le-suse-linux    !"#$%&'())*+,,,-,..../...,,,.0,--12,-,--,,--3...-4,-,(5678889::);<999===>>>=??@AB>>CCD8EEFdirectoryPython script, ASCII text executableASCII textPython script, UTF-8 Unicode text executableC source, ASCII textELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=d3a1df6c678d707da533b08af604c5f5daa2ddcb, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=88dcfe369e64f44e4636cf47491e2038450ce733, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=ad3cabd62c3547c5906f078fc09326ca0367054b, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=f1f52e6e8d532b31e091c4743f885e5ab36b7d33, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=958c703e239317294a4be22ed58115d82ff1e3a7, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=d60e800a95f19cc2d80e984b53d08d2df8b52709, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=dc61bb71b5e978f9597a2b401c89f3831c04ee7f, strippedUTF-8 Unicode (with BOM) textASCII text, with CRLF line terminatorsemptyPython script, ISO-8859 text executableASCII text, with very long lineszlib ERROR: need dictionary (ASCII text)UTF-8 Unicode textISO-8859 textNon-ISO extended-ASCII textASCII text, with escape sequencesNon-ISO extended-ASCII text, with LF, NEL line terminatorsawk or perl script, ASCII textASCII text, with no line terminatorszlib ERROR: need dictionary (Python script, ASCII text executable)OpenEXR image data, version 2, storage: scanline, compression: none, dataWindow: (0 0)-(15 15), displayWindow: (0 0)-(15 15), lineOrder: increasing yGIF image data, version 89a, 16 x 16JPEG image data, JFIF standard 1.01, resolution (DPI), density 1x1, segment length 16, baseline, precision 8, 16x16, frames 3Netpbm image data, size = 16 x 16, rawbits, bitmapNetpbm image data, size = 16 x 16, rawbits, greymapPNG image data, 16 x 16, 8-bit colormap, non-interlacedNetpbm image data, size = 16 x 16, rawbits, pixmapSun raster image data, 16 x 16, 32-bit, RGB, no colormapSGI image data, RLE, 3-D, 16 x 16, 4 channelsTIFF image data, little-endian, direntries=17, height=16, bps=1242, compression=none, PhotometricIntepretation=RGB, name=python.tiff, orientation=upper-left, width=16RIFF (little-endian) data, Web/P imagetar archiveHTML document, ISO-8859 textPython script, UTF-8 Unicode text executable, with very long linesPython script, ASCII text executable, with very long linesHTML document, ASCII text, with very long linesGIF image data, version 87a, 150 x 35SMTP mail, ASCII textnews or mail, ASCII textMIME entity, ASCII textmessage/rfc822, ASCII texttext/plain; charset="us-ascii", ASCII textmultipart/mixed; boundary="BOUNDARY", ASCII textRFC 822 mail, ASCII text, with CRLF line terminatorsmultipart/mixed; boundary=ABCDE, ASCII textmultipart/mixed; boundary="AAA", ASCII textPython script, ASCII text executable (Zip archive data, at least v2.0 to extract Zip archive data, at least v2.0 to extract)ASCII text (Zip archive data, at least v2.0 to extract Zip archive data, at least v2.0 to extract)Little-endian UTF-16 Unicode text, with no line terminatorsgzip ERROR: Stdin has more than one entry--rest ignored (Zip archive data, at least v1.0 to extract Zip archive data, at least v1.0 to extract)Python script, UTF-8 Unicode (with BOM) text executablegzip ERROR: Stdin has more than one entry--rest ignored (Zip archive data, at least v2.0 to extract Zip archive data, at least v2.0 to extract)Ruby script, ASCII textPOSIX tar archiveXML 1.0 document, ASCII textexported SGML document, ASCII textXML document, ASCII textASCII text, with very long lines, with no line terminatorsUTF-8 Unicode text, with no line terminatorsUTF-8 Unicode text, with very long lines, with CRLF line terminatorsXML 1.0 document, ISO-8859 textASCII text, with CRLF line terminators (Zip archive data, at least v2.0 to extract Zip archive data, at least v2.0 to extract)Bourne-Again shell script executable (binary data)Bourne-Again shell script, ASCII text executable  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~       RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR}m_?=#Lutf-8f01b28168dbac69aefba90c5ec2dfde523739c1f2122a3c79993ac39bb6acbf1? 7zXZ !t/jѝ]"k%a WJÑoqFy}DA~uE ;A.>1ׁDGۗ~ y_p_`>\NHZ1eXq6 N,1i #0xxnO1P{et<4:llC*G ⨹&YFuTWܡ u62ySנ}ķ9rOB8Sq*-L8`"{L <12+PGÝ WQݏS0OX.K0ᵑAnZ {A`0H'%L@Zzh^ٟ?1KcJяU3=Thif(c+Bq`d{uX!өbC s@A tnaCsAŤѠ݌Bvg洉u}f]'i,(2S^\kX3Ƃu ,=C*4Y:ѧC{twLed̀%2@Fy{i]OBbk}Ulå)f1GvpY|g1!Bn{@iXZ*1i |3Ȼ) vM>{Hb` F5I#rA"\8&d'7Q # #rѦmcmQ;E.MLkʀNoDO#or〸N/ v>g4g1dt"'rӤ_%X;T1|@:x!Cp oe͒5'A(Ju>M E$WVj,C좓>2yS+>r;iE}7`ړ>2%zyG1'<}&y:&3*c)*G3M|?so"uOˮ_.5 *.Cm^C Uzp2g=/n|%sEY$߸9)ז~-am *O=^tG3jNi۞)Z;SM^ԍ*rDrQow[/"̜k80p'?A4㣈 OWR|'9cf?1~A;3B^j%;\fWu#~\)'># V./4+qn1{a4dE_voU;rIQ r jxQh0t{&B&w6;/]S:]yWqk #yBRߐ'ysܛ`y nuolˣ9lAޡO1I]1mPX.lPAEx~x91 ʷWiH!ޠG" ;v8#iQ"CmCb5%.M&c?EEKOv08YmKi"*ȎʋƍO4`+Z[3M5Lq^u;SL\! qQ`O=O9p\ *5},s>ý.>tWC-eV@ waKżTkUkY O t:aGF8^ ?s/xєٶo {o! ?ϘCZtS0 ]?)Faoxo,=ڱ4iuV䓒ď3Qĉ%qDM|%< #h}q_[,Z\Q V  ZӼQ+mVNtm JP6Ď`<_-U!+ᩣJTf%x@]@ ML)y:.6gs~%" NOYt\byJQQBlm "%U`{&\Ƿ"eJ2n#?l6}uMP24In/r=\)2zw^.zn2@4p&X p-xfބ.(q*·(x'Ҽ>{ 3m〷ۯQ10H%'[*ix,kP0]7{;AgElrAg]EE崊>G~Xj×ɜc? '_! |ѮyhY:Uӻxwv>_ӋSd-d@ n(L$v?Q^]@[-W!TA8Cr:gFX(]O+˪c4xiq 1֗V|A_1M{<,S>m3ܗP rem,":B}7D6-ѝA[aeNDl<%QKmFT,t햧V* {>OFIV-vOZ<{= xZ\hMh>X)c@ʌ{aV/##:̑8'iE.@LӴKkC4Yt!҃H ș.p']Z?Ƚ=;ƾP)r';AyŵxOr?b '/Dc3<O `dG@ص4^PYd^NmEߝ /X&jpZrT--WvĮ,#.:"_Cl;%$BJ YƣW5|Ui %r(wy?$ [U'H[LnE̼%4L G? 8X2%ۃdW[H>nOp,M Uɪs:b9' = Rbhw4"ReJfL^ 4ɇ5[3M2]@ $A$a4GQŦhPu"cFpnrUe2D2)P]urP*+(g饸a9uhpKw?nqЗRCi8(`nfthH 4ϑ nKhԱSD57 U%pCgqˤOьZjXh{9>^O!0#k$^F{(͜$j'S!5O0b _x+/¶4K3>:{՗}^ƪe0Mrd9׷:ʚ-fXQF11YDsS7Q8\1kՌs9΃[!ťtuE߻!YGdʳ]) )2jj&Pst\b gT_Лًaa0 =!\Y`5 ZviYږyѬaUȃS7W훙8S6^մ"zZH7mNQFόrԮ#k)Nns*z;h],7uf9dX=gՔ6\@ԑchLAmѝT;*犃,dJ\,\,3,SuS@E'(BiDp!﫯i W#zAJKU PT{`U(r (tLbUԑryɵ *5eO]XlHh실^X{ \f/̸FNl9ץꠓиKfD:he0}WrC4vpl~4ArG4~o!/GYL SeG^λä"l ;""eUH/lJJyVWaL+̐taSP)V#vYyegS]%A5@ 픦OfqC%ٽDL75a[N!mSmd%iKaȒGrP*+7큎PXD5qpQ5.ZÀ >8Cضs9Y<t3x(':hM nle)yëI>2Xڹ{.#2HWځ^~o%EatMԃr8%,}۪tKhT񨨱Go?mxU#r̈EXX-WZϭ0Ȼ7E#6Q++#UҮ>@?̓= !,U\Sp5!|=Rt>b7A씨.q2nIo0w(pȄyxGW qZfx~sτ..dvXu,@H^#_S I5V~D}w=pgeX|F[j|2߹Y,o'YŊpNޤb724}\A;prd (wQcM^DSW=1u}f1ܝ G`~j10R])i6{ߢa~)UI v 2ա^7|0 A8fe̒? >\!覤 21XRM1к@#|d86`"?XjNN]jIz_It-K}$ ɜS$"S;CP Έc.خ:Ly@5à Bn J/«rrOl30X[g[Ѝ.T ktѻ( j)qm/^NU-?a]5N"s>k var6o'1¸_ȉ֩z5 e<_4 ߺp< yA;`P FYX}PD{gc 2ׄkW߹Esn)̓ţkW=w ?w9}9}PEQnH;$Lj:i=1(2ҭW\zYcF0xifmz izF,~kg7T;â*&L5gtz!nc :yh 0 > v*qAӣ k5*pȁ^3N{4osV._.GVN|U vJhi2v_Y.ZjWGd~\wm&%A5$Km_@Dvχs/]ށO'#+]D|D`I$'ĖuH%,d"uh$l1Rn]*>xB4w*5eHޞABGfU3E\{ P1xuUέX3q8`GZSBEu𚙥L РR< A*/>#G$]SZ)61d[=ՃOe֑ܽ5w- $w'nP$t(C*g+H&GXus:6)Vuz\Z4yڔ 5}/{' e۹PVaۖ{=Z-/AՂFcbv *uG &;ԗ)<^w?eM?@ֿvW6{ o3dߴ mG~TV 5Ir/ya[4HR{Էv >Gi?Hm"A?sV"~|UbIv 4D6/=M^03Q7n,W;U{ %M] dicC ]>c*.'cATO{vy&}>Ti F;íQ*}F8w 1= 6q)opβchA'psC$:nKSm~O:ZU+zrD5ey P;O1yva83d(XpfV:0(8g9M0p3dwE>%qm3$ /S2;ueLrv: }jZ]WlמULYޛڴ7:/R$ݶ wuqN8yBM@ j3Iv1ZaiφC.hRu>KR7&̍6|G^F"Kv .l__VrGF{Sې9.$C"ڭhCtr}g;(x }L<.SDn).N&JC'H`:D" |<洅A7)Uu|1l -$qJ7ӃKYO )c3VŁvQ3V[[>ObU, C{abt&8ynÝ(ٰhĚDc Ri^~ep6Rs*^r9|*)lP*}|eb%Ϝx۳\ēxzmd IO0&GsM^3P.8#qyf".O^4+ڤTK4_xNbrLO.'"N_0T]$qҿA !#*5:$„ ]5{28」T+;H><'*|Ln?˗qATK@+O$"/{( dds̴;訣łL%-p J?SqFhQ>/zZk,҃ q){_po0$Ђ-.TKA/|8y0w\7B6Xw޷ՏFHMprbYio8Ѥpi)SF9(XP0'KU'{q=BċpHfKkRDҲ9z0W[fgNא7EA7ȣX-HkىXXE_ܬySGS--q)t%Z\պ.ӿjx!jN! Ę -3-#(tSG|X4W %)X nli9ԉa'$s =xuUZiH^S<Nwv],"jZNvV1D&910k yc{ OM'%CsHiگ׀f8>\Mj#Vo&^x(t#S6 o9헾&)1b7<\/ىyd#tbn8Zn_QBbz]<=b{DؔFHיsՓaP_Gm^i4X&<-@`AߐX7IgMV"ϨGs E<0 ' 6xK@OpȭWz^ V#gb8tC.GTh 96vR$Q~"?Pg`[Q`liLaZ; 0uGn <==J/S4g7Y\T|XTWsL),]j3LSOe4CQֆM;a9084/[aCI(0n&q^L.f0b4*FIF U*&"O 9œqZ@NԷى(|lȶMl£ƆNStZ~_lSnϡ[&0{]ۤ={tf@Cԧ&SRں( kTRTHHT\m"kу{L7[Cq! Zjd "Y;JWU8 S*ULM:ͻ/17͑74(N٘%˥)]r^z, PĖpTQrX޵Xͨl<[hojz*ݪ(Q* 'o[>CCɜwm‣NT'Y0 ͭ=9T^ ~``Sy.֜):M*T BbtбjrI[4:xtZ*(1³gd} g-Sq939lmR*NӋ%F/?5 ^_kGC(6Qǝ(V#B^=%tA%j _{bW60tyHnI2*jM"36gh'8/_+E0rbi遜.V6xO0/= PnV`h'w*4ߊ}Aȼ B&%Pܓ5SeLRrZ( m1t#_[ƴEa؅.!CaTA|E}2U-1Ĺ}g2K-.3{1N}0aVQ(8&鲴@$QͯrO]a^HW/a>uR㥁GLOS b e7\M'BeSrq~, 5zl@Ǹ,?5X)yyRm"5)|BxNH?jQڟdp1:@\v!r>z*gPi(2߳]vR,rhuE4)O }-1j!۞2]X5w@=-G~ *, C鳝bsHe퍥VljM5raZv*W3Qsm+iЫ}Z,o_;ոiq-ZiZ=K DG?3_pL bJFߡ)0ZO[bCO)RZ1o6N2b/V;g{~`37\ !ưT> /&6jλᣍWp;XN_d=Ol,J/踊O;҂;f=eYAT0wF|`dU`d= %U)*D q1DtW ]dRAZt6oN䏱s`%F U %KXbG #}01r%wOJPZ nߜy3c}:;H mxfڿdu*7w+^8V8xv8/-86O}*,xw8!k}ښr71!T(e6y" T>iT M]I?ltH3Cs9O)HrƮ3!?,>P,[f.[ ػ AgN`T`YL =õJh+-ak;x !rZ-nB)}bR ̧* ]. |HF<zIi؏οc]%_R--*Lf]ֳb sxH&Xu i-v(m…ܡ:Wߚ?b CG5zR(\މ 1 $!@x]:4 MjvUˬ(.Z2 >em|H*W1.ɗJC lJ]2&+9hAv[0M9YQYl{fWF _@n!#mgm#MPgD1Dσ3 !=RlH=Ğ}" e:!zb%PtY_,>uI˗(nVnA:u$8LR)A E:GׅV ኞ'׶'! mNJO~>yMb5lyȢM6L:. 6^'`!y^4-` Ŋ+VvA]5.gp)k`3]TOfz"g9ɱ!6mZ$\{/k/j;}`۫Zp&j (^%}9/I>f,S'Svڌ F}G9Z@T}P˝(o<7w%P %:Ldzx{KJ®^񥚻 M8͘DpF="xtpe<teeS6)/xa䨗4M^vm@[\شhEX 9ZiXg8@:{ Jj;/՚Q说`7?̒\-\T4V #2d.)jE2><0k%z;,7m{D#RJpW@ٛ_{w䥞2nNyvQ -foÚ{rZ0x>[w3HØ",`~6-CY7u!i[KHx(,tT~(͓_WlG Vhp[vo.pMG AAA.Qi)w]4a [Bla¼)'$|IFt> x}(?/8S3zKfTƔ}n<]l;-Zw>O0DBIk@V[v=,$y̶lcp*{`klgF',hW,/fUK+룝;Hm|waϥK|0a$`a/P` lIv5hڥ䖫v:1_QI6wqgRj]ݜJA} [=JE SϞBo Fu0H뗧$&ډ㾎0$1ڸ3+Ml|D r`BmQ2ӑO&')4}E+SaBFv^IVHŵ>AΌ]rtrblʳփ {1 m\eڒaa3S |ߣ7%&>fCVfmߩO¢Fn]N+>!k=hgQѤ:=Ŝ>"Y-a+݌m`0 3qDY&IH 5*l{reHI&״C*4xr_|O L?q /hy#K9}M^QGSvq) KG6a:3CW7oy:l\M4=%JY#xu:Ww(z_9Fta+zϢRfV *SlL. T  -kUZF6 }8)LFΰ*//ql!cXr>}J*Rk+mQnN+6ɃEDk\+V03F`9wSiTOm c>,xanR0u pvG@BF̺ኘ3*>z\vԊ%\}sHʶ[a.ܟRQ$W넏3EPײnt T1s6(^M=9mFlSx\``l1k@O}\cqJ2 KԷ!wS!տg g'|bdc+ph2Wu۽KF{tsYXiCy$ :b &w Z=%)Ͻ^g W:TnMhý2enW+D{ޒQ'nRr@~:b>5X QiC Y# íaVCgC ,< 9^7H|ZT`*3ߍHD)**9WI.\`|+ϕc$0UP4;3(wzj1Y5Ycb͜,q0DjpUߩ,z$,p,"55uO֏ h$PAË%']yml]+1 Zolcc/;q(0 XaL&1 1`wf3nU{EkWd&3Pe2eO^rV2Il)멙rT66@sE$a5JU܃v{lN?R`c6g MKd07ySVݲ;`RO%P tS>u\Z3O F+:]8LLkO4S^_P h7U rH.^'LW){rTx'C.i ͩ1}ĭ4BiwcY# Kj" rϝc#<Mx䂞W3j8 ~ {O0*w?q$B_Yd30r$05Ef:KYVxL`2-J dc.?Xԕny:(Fݕ1<|dTʒ+LGGi򶁣3,B c6d?Eހo "8R9* Fy\cܱ{1=1>LH1=#Tk%v Gy7'v" =Zofc6*gA-@z q\bg6gT.oq sJWC8?fK)ȃ; gmlg-2)]AN=4SsRx.h@1׋Z$ZnM w R2A2 "h*jF`Ȝ) i\KZ1!C)QsV?dC t{KSۯz~n¶#l9N5IZx@ei;,rDg/G&{y~Ķl;~ԕlŃ%)}'LNxbyE< &W05SP| X/ϛM}9ln@ACƩbH0ZZ*/bK:6hwi=B͢>.;ذ*1Ze-5:R"e↳/eLW P Z&ߏ%h%cAŦ@ܱ I㕏A@z=/PMԄvk\wYx=wHŔ'i 2ºge7mLr9Gz{nv QMweG̹gcY{ *$z*CQouqI,nDYFIٰ`Cb =bH ]m)ʡ[f8Ik56vG (qQtIu9Y!\qoy@w4ݬF,lE9a3J^T7+9]zA!C\M؜rZ[Vn|8t-уt:1 b&! jg>2+o45Wjx9@a jqt up(6ahҭ3X66?꼸pBb#No纃w3M}uZNd%\\vүgvG}Ϛ~/b!CnKނƏI6u*5[NI+r!"UAi*Eݻ&2|Egm~[sr cW4/+`l}v}.l#܎7q˂/ƅp=*GRVwG׷ԸZ-,]D#-{(J7~InGrzyen\mhy#0}Q<\e䈃_5;;QnUx/G6to׽&i_LX8:2BFTtR?Sme+wPNʵ[&#ҼoRAE 17>1_]*)vt_zNF j=Hf8yH_n.8ā(N1f [Ōpa^2I|4wwoOhi(nv5`KJtw!H@ %$'琩Yڜ↾,CD]@[]iA'=Nw)wiŴN4;!edݵSyC~KQ?@/hCED%HU{'Y+rX Dgzx#,ĽxiΔrFD/pB5r%ʣ( Q#8L =oIƲ8THEDaCy^  ~P{l;m o+XTdj ?ѹ6^XΒW`3P<ܠӧ%pY ulMVKS E^PԽÛ&<,GV`5zdSBci,k'4 PF'(IcO% J~fƹMg=>ZS;a9`##(A&{*^[&ąYs/6D՘,,* 4g*s3JY&i B6፜Il~TT%.ȷ*78/w&ڬt% /f$YSD]ry5wdƁ"(~ ?6ab8kX"4=pmw/N3s?.l}~T}wYvuy7:MkjdYyWS^1i34U9L?cum s!~S5א.ɘ6 W͗HwVP5 t,.}'A> EHrvZ)YԿ _fqt]D#:pM"4ƅaa箣̚¥x#Y]\ FI%YIŷ xL֩V_m:Y0UkL Nd\g ~rq`0Uxh/jApw6 !{)/ !G"-#,ӯ nk{d d/UVxgXtHo{g>ZI5#]eb>RnY1,qxvWX\8jϱ TJY[ c~[[1:[=m~S4 H"`MIuLZ\ց%Z+RKaI1ǍoI~!׹ҵrkNe9*i|2cKgg] ^5,ikZ!!FeE~r HgQ-\?Ԃ)fp%hY}'b_oG4ݷQ oF xk7<LP v!=\]~-{#8<ZS̞ل hcVMZT92j{z$a~u:rXEOx˶^0'u_?v}ύD^FRj:W%g+Bؖ*X5Q+X7v5o2xָ'Iv(qnYȴJ2v=͹yώxYk`r~ng (ks]0btIN^1G.lcθd5smb泽Nk[}%1 qG۲9 `VfˌHaY%^?'E݋[c3iA5;z6 2-uii-i13*͒АǦ B^'s1" rS%V&Cpy+>:%yP Bk 1[⣘h~C~⩬K8Je6[Ohhwؗ{[~}zNL*Vdt>%C U\\Qvv ̫ё`F=Er2mr S5MG$1ѣw\ǰRsf!ف r?!u}0HB3jw51ZJ&g{`&v f|EkpQ|:+ƾK sz`%&[.X~*+hx'ow$݈ iq  /YkU4zcc8܍:zyUR:Ǖ[z8*\^M7|Cg$ʇP.}3uVω҆S+8< ,ךUSnRH ^R.4;,t i/r=L"}ɺyJ(CᲦ tƢ\2ONid3$yFxkP:^FI+[CDfE\FEu2CjSM,8(  X*|O^8M,zR%8) >2^ C^2@Mf,Χ>jEwc=4M<|Mm&R;:k8+H``߉95<+^ i43ao0c+v۠ 6Q `>nP&Js$9|%K:EiNnJ PR7C7!~˻rC;grA4΄clzn&.<|2M "A^#ӣd?ul?a7[u09Y/:¶ -0S9Mʉ0m 3cbZkd]poMXy6[$2ρ)'F:')[9o60U8n\Nc+gJB?tlxaWOAqb🟿#d0ڭ+=1(BQolsHih=q=%hFPRv- D$Ȩz/ԧӺ#.TG8´p.+B0b(8A吤#8c]Z3 @lpiz;(,p^h 3l;<)Ob~VL>4pz6 {Oy0/[mS6Ԥ ӖExÈsǵt8NTP,:SH}Eլ(v)S+lBpt2DpSl03١`Rf5ڋuMLjv K|*sYUL$hۛY8{h1퓞m1q3|O&cDw2d`p<|&g;9k\P:86#!ׄu M^69G:m7(ə6?􌱒:֣eN̹%nwټ[:eUt: *ХuPd;JKTOuk鷁LB[g2lp~i=7P;~0н7Ueno=R.%_]OYެڪa몒_EQlTTi4?k̕"ZD1'Z5r_(bJ-g3l=kp;XJY&ZeLtCxwv@h~OabPcyM^w9I7^#85(4 C4^`AMK /ښ_z9Q+er:DR^Gj 7N|xRh%*2" ݭ4"kFQFźVGe+*q0Ι]txh!0k3bUv҉U# V2H)4-}XKkPޤH\;4*o8XZ}|u)rj_'˃äaV-y W!JG젩MޗA]QՕti x)\#Twp߾}nX?UiGxXHݔI*~پ#s_w{O_A[p3QV;UUvaJp! q{& v^Y| :_ Te }L#Ggf$SGɉ7 !~f *jB#_Gpwԯ}ԡ9:aGD@mjEzj68B󾽧{V/J@:[m|8]S%.IAHMrsI 8ZTɌIvCRȘ.ӽ4Lv긇U0Yl]^~' lp${X+| opFI783OX怬!)HI?w{{]+ yF\gqYk?$Í HSi])0;T*]u`k,hspm+RӅu(Ơ{M0;rTe4#'C&Bdc?0 C3Iبop6>41v#)c7 [cQg'艄k|~uo0C]6?kj9l1(n#B&:j qM_w=(3-p; LҼo~YHKafalhwHp/ O_z9iزyffG\0rNhk0kg'&1}ncL+8$C@|}EZ핡/2Zt,zbގ%5˪) W`6~̳P"2g\=;)% 1YaX}F2"t*!~@_ $ԩ9PM:+NC*ZRtC.$zG2eIȿ3]֞wRTRD-k2೾Qq|aG[K]˚ NP᳢|8o3e`r)QYBube+鬕4tobCk]AY.9ᵈuRgKxiN6-4a\+nP—>iZ)9n/MPB tŊ3)S7]}Tk~9GFjo3nJREqZv3'$QHy)icqL!ehZA d!`Nf5AmoJwm~C,yMdF2va?C)ޛ|Erpi@ (6';yݓtChj:L4W'O96򣽒g(V ZŹ32T,,-ʏXl}6ʪ2Xq)]ŔNCڴEz *1o(H ۷NGU3-ȐH? #cY`ȋ,*j#S!$yc#w$nA.Dݸ'ΫAѢj]H(ݩLConE:p= gǨ,e* 83ć+ӁVمV8!nUH%f|NL=e۫/3v| N7(yE=fkE< v 5A)7#vC|ІWpc։WT =#YFu$mίM2 qK*cX;=PF^Ax+ ɡЏVoeY4-nߪ+a:͗O2)/Y$z׳g|=mZ"$M:\^aq^Mq-RBtbmϊNo.W+Gg9;tvQcrދ{YOuИRO Tx٘|Kyy+1zꏋwSc%%]@ODk?I~ƐD$S>dLS~p|*G`9(B@: Æ=o}rW1ri?*sga 37\4Yf.7%FT~?[I>^Xs%wZT8S AdC?rݏJA)+N41;|C#q#n^$h'sLIl(Rzko|ɬ͸l DQi3L T!-ʗ8:_b5#U7 ` uhęU^&(zM]NAN~1޷%۔JhvVƀm#o5hj`){*$iB~?'$ڀVa<\qπy@d60` &T[98PvNk? /N"ɲ d2_Bf+h\+nQh䶫pb.2&mĭmsNPrG6kNa_,X(vcE~(=|6vrxW03ڢz~py3U厨ritGX@'s~Xՠ&nORBjKo@_LЦoCU++\¢zK:y)o"c.^zf!Z|0Ic,i @3 {:<TsU˧Ld (5vLHlc)HEFhBWb-$ܥ0x_6bLq$I?7+-dCgJ9ؗz10N47qL[q FoM1ԒuyҴЅ_?qK"dՃi<0C1uP E z<#XUrLhHZ hmfWr(cat;)oDWHϔ;7jU5 Lc) rdE7-!T/a$yWuCH >^t?1|!GSpC SX#E}7At&J> ;`.)e $ƴG 8lxyQf[0fV[٩yh^aٲg7\`ג8,)y "JlݖLR3<Ѡ3N[yHgsKJ?v;y}FUjv"99Z bh:׮=ў8Z4|meFnLȈ~}o \?a )|@Ѳ0_@TTțTy!D˰Ko ۩SY~qXG@&3޷,RƇd )a\Kbݸ T7*|3ڜpfރDQj7sbgz2yB.* =}|Dk6J>^0-|aUR+#$LvAۘA\oi{+El&`aLĵZ+ vl%c*1}2 ̀ɬ2\{Q{m)c0+c;Ddzd6ܮH᮰`BRߪj@ߴ] H!Q,K g|; qL8HOS-)iL;S^ƭN⟼Isv b;:3TbϗȐw͟ E.W0gZHwH7l*}Ul!}Y〈yYis6CWkMuh4ҔOtr &Fz o\Btm`iDU{vW0l./{h՘Znw*妠M!6$ը3\0Py4HM5,Q ?8B qK\Rk A%g1QBh@;RsMD76|*%A@T4"do D:iTj[Hg`QxC F` %f!/ꅁ7ٿļwClqa}JH%U~͉xXO"q{Y^i: 8p"XҢ( $԰R M}e( qShiH) q&H0H\!73MF"f*L&,rGBVf \Y,Rd[q@=3mߎmpMƗ NSd7k~,)`|%WmlJrAkf@%d5:ڦj]jM/~:n oD?gS:RT+S!wl ฎH)u?1ݨ,$ٱ `]Pfޞ%P8^<蜠6CP~ymv tcbNfB~n|G߾Hp' % 'p%\ɺ@Ʋe3ŴJ_ ܇BqP8ǿ(KHHf{`&iͦf@p?$`앻MT$6~?u8OQ\Fe/UvQ$=%mwjsc<|^vRw{b2"m;]E^ɾnI"]dz>t&UҊLOe!LgRQ#9gS:Upl1" \-k>⎢2N؆XH19,  dCߧ;ۜFh\\94ʸx&9 'zMTc6|7oYy!y dCV]aZpeV?o}%жdk"G NƉi,1aJ]uǩiͲ<%k [ěx(>n&`;#5@V`BO>}z"[t_ FH?2~y*)h?(#f>)c>t_`;6!|I> LR LJtw &B 8p[ [J˨`dAxm7)+E6 p.7Nm?}+W r Fy+D0Y KKu. f|L9=ظx}A 鱐x`;{(ÄԡV8/;k°>BGm9wO֡:'BZx]{'R!mQҥT}Γ :?IAX`4vp"}8\`흛^R6T|p<g4{о=>+NGʤ%s#{ÒAIꬹjM M򞳏Z @]'iRo oϖ`z2ݛy^K#*J<#H7'Jur ζ,=˝G(\ĩxjZY鋿*7l' u`=^'Q 9v.mj5O aBt_@-B{ngu -˄ں4bsqQW]w0RΈz{B^*;ӿU16<Чb64{j(M{eC/e-aT85܎#`D]wJ%WyOU(cߜ?eН햧 /; [&' ^X$FpKJ&̋yzJHA9q=eW: ̡Q6}!&TZ}:Cttx ?69 MH; jQYVob6qB B4PĈ)đӯ1-ҷ=wd R3( @1ݰ3L- (zr9B;ej&/ڴقDk9\N}. 5fLH:O4` ϱ ^7*|5Rs!YjgXa8X)GL1)1݅A)yh|*;M-)ov뛍Jo(T<|5ņ$@ 'bTP4 ꏹ@.f꼫#_*C]'F/$};_4$U'v!I6nlzFKdN;'G$\pGksT$khS4 ?3?6Ǧ,8- |*Ek7t:*(+p%9|{0!nhc2Ma&ebB;=1;,UX*Fkg"% w!)PXG~iTs˃1|L.m5[4^^D0udJhMSvƳH3Lk,l:}p^Ϳi.CA OT^=Hނ5%2+,rC`=°;@Ч(;".9yȐ/* CjkKwbneʀ]~%ɓ~jp1$돡,:㿻;X߳apDsƩm8LdO`(Z]R$Ǵ[:& 2Ӥ>Azpq[7¨p*?e\ 6up]`1V8uCCbצL]O#Gw#.W^hCAUF=7Rp[#MQ=ʽ{Am<@c}(GˌEP.+_L i+jP1c{rhPQ!ϊ38SLqJ .m !Y^ÿǴ(Gŷ y <\ H[5X6Ņ,:&QE7Ȓͽ]!i-1uUE`K;eXLF>7.y3-x4a[%J*:rND[Rǚl7j- hJ ܀Bk9J\|Θ ќv7섬bfaW (Ug]MLI)zx9{['hCg6׆'bO. H9m$%H3 [MvRL~UzMأ&W9i4]PW'(ll7BwWQg9IP0{1#D <>&٫ʌwdDG&&ż%"ᆒ !niSՂ7?O)=Zt+y90kONuEW҉نBؓ'"^g7M W[d㗥dFBbhV8W f 9wwtQ'2O ky>"~nne95#P8i֨$fHрIqE4IXXOD6k7ή"Rg յ󈟻:*H#N4v3@Jf7wPdGC{qv.[nh/?ٺM (7M pL&zw2 pqFZՊ'h'єIpϤPE [ݨͅq@Ro`OǶFX!d1Q >pe>ªsel9[깋"Ѷ9Tv/ ?F?hjhkoME~ >F촢Ef=#,x7! pz@(E9 lG H)Z)㲗yB ̇1HR@Mm>eQ#`]5Zvmېzܜ 1 {|:*}?ytuj);j YZ