ghc-ghc-devel-8.10.7-150500.3.2.5<>,Dd*p9| O`Ҩt4FR"Cc#/'ۜw42"U)u!2Rm,q%g[ =tpkHwYЇ$9zs@o k_u'd !I ZXpѤj9*,GzHD=k4 6`7oN j]tIֳh5%3[֓CǼGcvG1k- )p{;sk>>B?d $ J 28?y  0 ?t ^T M UtdH(8h9,h:h>MP@MXFM`GMtHlTI4XY\$]^ b%c&Zd&e&f&l&u&vE wG,xf yz@PTZCghc-ghc-devel8.10.7150500.3.2.5Haskell ghc library development filesThis package provides the Haskell ghc library development files.d*sheep69KuSUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Development/Languages/Otherhttps://www.haskell.org/ghc/linuxx86_64/usr/bin/ghc-pkg-8.10.7 recache --no-user-package-db || :/usr/bin/ghc-pkg-8.10.7 recache --no-user-package-db || :^`^]^^QNOQBQ?Q@Ńŀ~ =:;C@@EEE%%%5 55;m;j;l6b6_6^@@@ifcIF%%%???zzz  "L"I"J"?"<"<sss L I Ia@a=aAĉĆĈs ssXAX>X?000(((:7:IFFF`F]F[QQQHHHL$L!L$AAA***khk z w w,;,8,6AACk666O^O[O[w3w0w<E/E,E.B B B    j<j9j4b_` [&[#[#]]]{t{q{q999#z#w#w _ \ [)&"nnnHED\YYBBB]]]AAA'''YYYcccx~x{x|@@@XXW@@@JGJ===~~SSS3h3e3c6n6k6i$!#rrr>>>b_a222>">>"[X["""`]YEvEsEu6.6+6+QNPnkm979496???ccc۸۵۳IFFPMM+n+k+m    / , .RHRERE+K+H$ @p@m@lIII&&&:::ڶڳR;;;TrToTp...FFFJJJ^[[ j}jzj{+++   ###yvv+**%c%`%`~{{6r6o6o444***###>>*U*R*S͉͌͌ggg$$$8p8m8m0-.&&&~~~;;;-v-s-stqppppDA[[[$}$z$yHHH5J5G5F666$!!eee888EEE>;Ar)r&r'SPQ,,,!!!ooo9.9+9*W}WzWzDDD>2>/>0ll}l}---lflclewtw```[g[d[cwMwJwSMMMmjk222,,,PPPJhJeJg*''c`fqqqr8r5r3"IIIhhh[~[{[{da_>X>U>T'''<<<8:8783^Q^N^JFsFpFoDDD/6/3/1222$$$555SPO]]]%%%!!!!!!a.a+a-vvv;;;^^^WTStqrkkkNHNENFggg$w$t$s888J2J/J1555,~,{,' ' ' $C$@$B4 44!ADAAAC"""0_0\0^\\\n[nXnXOcO`OdDACf f f EBAd;d8c'C'@'B)) ) CCCDCCLIH! !MMH4555;;;lPlMlO~~~857`V`S`T999gFgCgC#}#z#|# " ___'''UUUg?g<g=v|vyvxmmmEEEursqqq   zwvgdd]Z\wMwJwL_v_s_wXuXrXrEB<9<XUT|<|9|:w wq'$$.+.412swstst`]_RfRcRe~{z(d(a(_֜֙֙khk~XUXfffɓɐɎ# ccc1p1m1my.y+y-D DDy~y{y|.h.e.e]ZdP`P]P^IFF~~~~{{+++4446667~7{7~www[XX~~~???<<<tqr]]]333J6J3J. !!!HEEVVVDDDLIJz f$Ohru$Tly v24&y%" XNs r)      |040&pu,*AGVo ,8)6x D Bk$Vl-K A*V>pF2RN awϩa3N6r`0e()0b5<<&>6?XTP%Ǔҫ #q g 3|GP=h??G3HV>g-  `G % M_K^o&X,67{xK' #9jAg(eac%.g%zs,Q- R4W !x1I`!"}?G ?<`n/20 $hmY=X) $ 7 r !: FC|W8[*0+Qi w /u m" i$S F(4|?ZW UF T1 z 94 C O^J!EBbR_ x|} @gwu7 3t$i[v/n8Pp$# R qTCie :<q+&_ͶxwMKM]"M`x  '   =.I*JD!>5'F6(6^)YM. tL X \c 772 ki,?A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤dԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԌdԌdԌdԋdԌdԌdԋdԌdԌdԌdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԋdԌdԌdԌdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԌdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԋdԌdԌdԌdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԋdԌdԌdԋdԌdԌdԌdԌdԌdԋdԌdԌdԋdԌdԌdԋdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԌdԋdԋdddԬdԭdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋdԋ8313704a3f19b0bc4ead3964d639b32c067f4a19f92663026666fe453c9e618e5775ab2f0cd88c23e3919c85db5602babd22f007a264cceb0340d57315e445fe93f75f729689d9d455851c126086641e2d2e4cf1865b5597b7751bc3ee1d98e211c1fd9bee48a6d421adf182f843b4ad4202f4ee3d75e27a7b0d21998f7955010330840c2617ddd83967fad1930ae167bf167263dcd2c166693fa32a59c501e379a9679aa336b36a6076f23978a82cd18e0254792ca113676bd8fca3626da8dec096a560c4d25bd48a1806c77993cc6a6bc91b166e1be55fb2699ef4cdb171ac806993493aa82c82c08ed2b356343c5b8cf63eb14aadc5d8872a400156f72e18a415bd62a3fd186a33b11672fd304ee7416edd35b7a12c2de8ee441a7fcc331e6d70de4e761e2baf052fec355ffb641993821ea3d6ef79ee696e02d2912f48e1eccdccdf4e2f0cc7d947c7f4a6931a3d8aa9588c265a86c24e030c98d0bc4e43d98460097c0b5a3d6d75c3dbfcae55aefe228bea6e6f9dbf9da8c011041c471753b4d7ca1a9bf8c627a984fb0b4a0cf0972aa93fa6cb8d37f3af08413a781033c83a2806de450074f9e0ff36ff1aac9ae5f5480f040135681b0a83a2a3c427e0e9cbf836289c833e9dac61f8c71bf4a82f7f5a1948e3420d77781a4510e24d2c033628c44ce819e103375250afcf8ce9b915c694c749fc0bfa6a19cf3e6373eb450cf161fe760b23ca1d0e220bff558ee47a6a092e1b4199249c9477cbf83eeb15862e299d893e805a0976b486b2ed05d735f8191f980d3bdc2652f1c48e938d02737e448f0ff2eb971c2f8217b3ce6af3a0ec992072fe20b50dbabb403158c9b1cd882bd8eb9e208e91c066209254df000ecb9f15f6514c2118da43720124d74d8080e13c0ff4f68b9be197fb7c9b08a29d1791ef146d412f89f8d52f0f35817abc0bb266af3e889439359b6d8fc0d808928ee5f33f159be8f2cb8ca8ee37da8bd711e41e9cd3f657276be4d639beb9b7bafef7c21cc6b5cddd9ee6cc633e8f677d2d3ca226ab3078ec3025da888509c979f49a59e96188b3e78dd462cb69a25204cce7a3aca705639c5943684f105edcf84508c3d8dd4b99b400b166454915163204d17b80ff8bab0aead6204ea844b559f835947407df3008f0c82727a35ce246291c1c3c9503b35b084ea3dc714c0faf03581c07a7a94b79488a7bde78ec182722a2900e19f4c836c93816fe150e2b43ebc1244106d4bd2dee20e2b8052696eb0cd4132a976c47f4f273f66538c5af3ea27f82045f933125fb6677705d5f4f35fcb5219d0d1083777f17b5b8567bc4e9014b9e2a21193217310e55629acbad62d501ad1d5aa9f0dee481c8fc8a8232a9db395ad3728ca3ed7afbe3a940258efb48fa005f1b82d0d006b310a20b823361a4faa12d412416e5aa09aab63cf11e87abdcb8cbdc93333205366563ae148e7f24410609afa4f5d8a85617baa5af9bc3e2abd0b2a34246aabe3c6037cf3cbf427d7c7d63f01ff3695d13bf11567cf8ee4fc65a8c2f3d1770eb95a66645947df3cc17e68b245b54354c2b55d8243086581c109da43c658a29d7aebb2d764131a2b77f41d73e846e3efa2d91625ca738ab165c8011492793a2ac1f2082612db888644f4b81a642575d956f218c4f2bc82e491f851fba6c57441a1f1c2d9119294a78bd5abfbfcc63db1638daac292bab32f7693fa00878779a2064701889c538647c1fbdb40e73fa3c648d86d85ed618944124bac25d1b58ba05eac25d721212a9b1edb354faccddf413d42fb495277ff7817d2de0cfeea9e569feff60057f2720eb205b2460aa893c40c09eddcecc10c80d43307ca0c682ee1d0fcd7594bdff17f05e3e20780d00c4072d1aa26bf2e21e53e35e2c680f552139f694a7869ed8ceeede828a9848af64b5a19169a505b7d8ac2a9ba3719150369480ee18394905b68b4b7a6c54fd91df356a6142767827391891f1f5e6612fef4ac1aa260081935515cfd84091f825e5852b88ef42f09d53da18e98da7505fdf869cb761cf0d4f6b3d76191314f2c25c483df217051b57963ea08c112d6fef380208b996e512795b900d95f331b3e335de38477dfa3edf092f620d432615c2bd8d8c0507f9b4471d564118e1aa0d05402e95ba998852cf1d67a31d27d25c020dd0d3b9581471fddeb615b59fd243d9b971eda1a7f4e21ec38cfc92b4ac77965b239b561d1db2a1d8961bdbed1bf1fd7e130aff2235f698f63f06ce3455903512e86f659e1c3d08b7297d32b1a9330eea39b53e061320725557f8ad11c35630d639be7647c484c6b27c8a21eca53aa72e69f8de6ad635d0cf10f49a3f45a8f9889a3ad4b4f1c0222d596d801c670d182e0d8c60207943e60f9501a7d4bd0bfa3d7b1977551a592460d673a87cabb179e13873f6777ad95dbad8ad57b79a9fa88ea8efd6c96968d0c9e8c380fae29173b51a000999102ae9a4462413b05317bfd0364e7ed7e8bb1b3784b8df2c20cb3b916ba6761d7e09059d0e72b4c2a305065ab33b30cf64b45c61f9fd02142fc22ebc113d1823914802e73b7454161338893d9663248d6e8357d74b079ca1e012b3c7b44f2bcfaaeb46bf032008db30c507866f18b9ca94cd284b89a48af2af75108278d96a15f66e8355e7508304de07aba862a884a0029ed58542ca723b199f8db512cc335e072aa3348dc76c1da76248a525e984db22321fa7b7abb5bcb1af5714197b0fe0862570f3d71129777c6ca7175196ab41c6898ec9c09c71fede36c3d7b454aa7da1722a1f838ddf21684491b4e7f7e292b24f405f35ed4679e3615241adc3c01362d23a29feccd35a23d1dadd088541ab1fd64a2e0e5a21f6a26f83df472efd31770866532516ae191efad894de6d0efae6322a9c8f06906698045c43ea6e4ca2f8d8ffce3b2399ecb752b668636e34b2eb90c5886b36ad2b5a44707b20a800e8f49f012059261fde50d9eda5d51084ed635e1f71d1917cc01e2603bbd9722f6ea368092a1651d392d86e138aac8b78f72fc94ca0c13b7c08f243059b54d2fba34b60d0709e2014abdb4afb2e601d044ec5d3b7713f229b1e12887e3c757902b14e802c46d4d0317b13f55ec249d263c012da31d014e9a5a646a629d1a9d0a7ef5425785f814209c932b582071100cc3ef4a0c07355572c99e8a9c96c54f491ca20aaf7b5f1d6e64dae7a64918d8b634bbc8e547728ded44cf8bcab91e4dd28429aa86266c6f68abc9f95e69418fdc9de1a27b2b5417466e6e02bfa464163abebabec7840291e2744df7f14bb5b1cfe2332f1505bbb346f748d0960a82c195f6074469e4159e73d6ea1f421a880524625f83618fa79d358569f80b83013f6147d08e3d36e95251f731c06aac1d09d169a199b4f1a03a4ee0a2949c048b98067645818fb6cec95267362f6346e77c04f7df8d250b91d0854d6741a25dd09f5febe9964a7cc555d97bbd953b274b5979bdab5240dd75e2de8fbae2f158020a8b8fe3fb7288babf1736e9f7133790340087b31b3be18ec6ae04c7a07f69f31057d6edc03f73333aef387d124e87cadaf9358240db7fba770a3939d8aa550fd1cce375914f2e861153e3ee55c05605494ce21146b799dc56a509415569f7346ed3025347475dd526a54d5c25ce50d0df14ffd102f8078530d2e25ff5a7891a75d25db6e595a148a51e90724bf0183558e4f6e1d36a18a6d9ebf45b9847332d91fa4e482d0d1cc6796401e68ddfcc5db62bee78f13448027058bc30bed81971105fd67c4b1444f7d9e5c307a8058277d7257449396cfb58f6b08f3b8daea62928a763b623c8bdc4f4331d412d6a225a79bc961ad02e8fd78dd9e9b2c0073c8669cbf0e5b2932391819fb13775c7e628a7e0347ff024f6814384984fb7d112ef5da45cc93c3de1ce9f4c095be7797a213d060307555a07150b3cca8afe49376eab94d9fa0fe44e19fdc8d6eb83c829488db20702e2a19ef767e02946985320f691806029b371d2111be14b3ca48f0a0018465700828dffc7325c54ce4c758b5972c98f916e847c417cb9076cd83fce7357731eaeaf20af17bdbbb7ac75504b6cdcc387d99529655461bf6b16f691c0d84bf0f7e34ad0bacb4bd12e6737fdd5719ee0eaf103ef1500f0f11783df3a6c9b9090e4ce3b9419d81388a60270af7258ae1c909f51139f69f6bd3f18bf419d9fe36e5b06b047fcd8e682090320776cbd1f792642a4e1fb79bbcb252c5bcece0ec6872ec1ce6098398b716db2605063f99ea4032366c6a6715a5b3eef652aa440b377b05840313993ea687c098efa22c3b6dcb3f7a5a739803cbb938972751ae55e657ecce9d80150dbc396ef1199e745d611a718a5e98867be3625a6200bf66c0e6c2a515af01dded1675d48ff90354362d5808fa05428a3bdd3c2790ae9767d05ab36c8a978491df8c9522a4affebc4de20115e876c6c19807a9be88f09051940f5e9debbe20fad108d06dabb1ed405c962c290aeba0b2d2943e383dc5d27e7d71b41d2607270ffba8ac036fdfe3d368981442141cd79b1581eee3d79639f5e9704ee7ea7e9864654f20cabcd6ebe9ac860df495d3bb5a24e3cc070da4b1abf9335aea09987e447801aa74378dbdd38f9b14077aa0102af490eaac2ca6de89c079acfef6d29049699d8781d2dbc04e12d6c5817603c391d2280279305bd3955e6f89d9721c6102c2d8a7958a5c0482f0fd8dbc8abfb53d5d71295506e32a3b74d3f277d2b00cb101f854d2ebf59d5759ab2ae7ea4acf4ede66f3d9c9c16d5125d382746c85f9dd04ef2fb2e823757ff1b6d067b57b51bbff4213162c1638d673898612184844a2eff7776939ac951669fac98160077c767a72b42a3acd1221cdfbcfdc701c3569dc48878a0851e1053aec20f9dfa55a3385d75d833385c30a71674cc12e91dea0eed9afbc51f5537a71462f2ba0f25c8032894c14cc0de46173f6d54752017a72704b11fd9d7c1bc38fc1516f9f0d737e7e151e3e8173850058c59ad7e10598e349f42af1dd3faf5defcc07d4642aa142f521888f3a3158bfd8e1b9051f09d30e8567d18bf4ddbc87b204faccd485b6dbc2202aa45f272d2dc97f99637d0d6cc79c5b159b00adaa9bf75b434fee77e7870cb262e9f336d6fab85c8df7c52cd4dca7710292e462a3015a114f7f5e22391a3f5ff28430b982641f74ca7c53fc39d71187af83f75e7886edbf53927529c80719537cff69a7be6f087c3e9e790e7b129e3292853b52364220eb3aa24975e22987200dfe81ea6c7e02aa8c21252ca45c74f62f83ce97d243e8a3076684ebb75e7ddb0bb16b09f7186413f5c811ba98d51dcc762e6f3e60f90c13be163ce3a7a11b7aa8dc9c77eff059985b3c5c30ca64bdd7dcc45e35e03a777b52aac067016fd1357c83deb0ea46183fa39132a2633af2df473e0e0ca07cac0f2c48d69216c4a8c7e12b435bb0ca31d06d299c3fc6df7599310d8551646ecde66af0cd43bc6fc29f884384b42f67bda4121a62974882b68fcc61ad3bdebfbc6522f9f24c548ef8a7ad44c1cbb9ce086e67adc1fd0a3716d6ee0576b7cfdc34953ff0b715a94c19718da49e2dbecf5a13f071b207900c14e8d3b0b1786502072682b8c5558a02d40c336df84c3a31d0e62a4f9bde409f88ff2e1065c1fd00c54de444e1fefbc26d6a7d9990993df905947c86fb5cfa0bf9275220f8d8149621ef8aafe5399485ca5c95dfa0615a518355de4ea513d9b95fb916d76b3b2dae2cbe29be3e69ad6c56a1705cb55c7eedf414871cc54677348609674652503a203aa32f11d804c17e6fe6a2e5c00d1dbbd6c33ce01c54c1e4b6ea32885b48cf9d578a5bf16fadcf178d747537a4cc11d7709de3b690bb4163826578a83f28d07770349ef00bfe7a26ff9c875f3a45025a9106886eb8b93730f2de005a43aa2d5a01da8791a8a5bdf8597b3aaa966195939a9bf3e4ddd8152785be65362e3f7680f66fa0eeb22634cefdf595c89543c798218a45f018ec028a2925ee2326a37d7ee3b4e7ecfedb0f86b4a4ef5d352930556b3a0a84bbf0ed320d6adc2335f54cf1b5064cb11c571457ffd6d6ef870c4f8c470be414ff5ec8929d7baf7592afd862d673e60c81e42fbafe13fe06218476f93ee95eed50d1018d76d6390655fc937ac61e47969eb7665c34fa2de8f90cdfb3644a98880700939c89227e607864df5103a90444f8542df1c01c4b0510fda1b684e6231445cf12dda0e7893433a5e0d2e06e2939059d3f0fd6817bbbc09271831d8f7341b0b314bb189f7de11ad0cb8a11a148744e7fe59e683cc0ebba5a2324e145aeadf76858a71f4c6465f6d690560ef9facfcc5a7dc31125467ce77f926efc77b4fdfa865a3f68bea90528f5f8b179a2c752afd41bbca9f4ee29f18e48e293e779fc48ca03da764813b802084cc9f31ebacef11281c882587610bd665b100cc3d631463b41dc27a2f9d2134dc689d331cf1d73159988f2fcf292e6c399dbfada411ac192228376ddb7402a352044f66ebae2db9a1228c1fec4f5021419c7ae13c6c31c04cf3616b13e77e0b70d7cb41116dbde99e2496a65223c32163ff42081430685cf3da2631d7fc45eee7848f3503d6bc7e017172fc219a347bb9dae8a10dce9aca2f4bf15b3b732911d6da7e756843224c10f0dabd1650e9b7fc89f131098bd35a7dc2264ef405745f3f5149f5052b8169540a3bae4a62a8e70728b7d89de7256663f471060c47787ffa59c955e68ca611a2dd9c56129068cf8ed0dd2ebbf5630319d5aad01a39e7b235118bf995d414e9068100266898f568445122d0509045f5c342229623d85386423e22ace3b3432c56a6611f5337c42cf5e167b5073076ec92b024f03cfbeb18423714456acb4fb11ba8482242a30e3fe1af1f74503fcf0b3a0e5dd731756d56ca0a93cf7e79f1a8fecd0bf82ba91d126b4ad6a40abcd7feeffe4e6e40d66f0b828a94298f7686611d7b43cd52a5378dd2b2b73f2edb93a7ed3716dd9b88c218f2dd6d83e474ec2464a30217caabf84182d859135ffdecfd556f18409e6961cf078d796ef5aa550646ac03ab2dc37bda364e478fc27c557dc8c63e1ce34f60b2cea62649d4b11fc1aefb27ee31c132a8d1b8d02b9f722b594714b755f9eb13d015c1387337ecdb791cf296b7217b14d329316d384a9a1515a6b1cd3267eea4f58c8d2f388e098b40363745ea94758680ee3f76fd6961de2a46f96a38e55cb61640d08462d6b8ac547fe17a175463a7b673d4064be0d079853cb3ec2f1a0365acd9f371dc423e9774eca5280efeb42ead3a1359a7c9862c5526e2c9380bd17123d476a78d9d620ae4864887a12bab8e90729823f6701b9a98574de665ebda92903f75ba28dd3a9211f4e3899d454a6fa3d16766f34c0a907bc7fd008792bc2287433349a0aca34beb2d09f15f1d89cc7b6116ee7686ee58d171d2754199fdc8ae498bceacbec3a03b5f3106668f7ea47ccddcc96c978436d4f69fe8f78111e1e58c3ff14c2462c0d982cb71f6b8c1a5e673fd54e78df52d8a0816148f982d59fca03de9344eefca1a2cb1b945b155bae40b12d2ce7c0bb44c89bbab6c0d410483faa8bf775616e5546e23dff74ae838ab387585119ee15289d504a43ec188a8fe285f26c8488661421d3767fbf11bc0a19f77bd22dbf279acfd2381a1451e2bd4530bc917d15af91221c2915317e130e8853ae0ea83fc06ab6d1936d8a139b011ae41d79dcf8033ae83bca683c548f7a5cb312bb40579da60b9653f62d30aaa27d159f840caabc6e202489736574645c7a9108eadaded71a3c8dcbaa174545e86141609e5d6eb6cd00be7eb1657cb6965940dc1c4d281f3ed3bbdfbc6b8b8ecb9f77c2e7c0d5355da20513f07faf29849decde1bae2786752f6ec66e11c1541d76a8d0e0ff0461cc98102364221a2a13c137bd2b206d98e9e6683e876dc0d0a5c62a8a6e4ea5b59ac8643b14b6df89260c2079673ba93bf97c957bf66fe03a0018d6780cf65ab044d60c8c12467d912d8c904f03d7f1c576acc1e2e3e46f6a84e50fb9ae48715a9c9b2dfc4995d54912b4c5d8028d5647e97bbf609f4fd43801dccacbebd8d502f8283e2eee347847a5b7fea59c850f45c8d530791059bc8201c1016ef0916f182d1fc98ade89951b751d1d4d7f07a46ccd2f046b8064fa200bf371ec91b0c93354112bbab9a39cde41aab875124d4f72c5914b2da5c09b17c231e522b0a958c9ca0f982901d6e94cf0d395ccd40b5cf2b6543b634ea41932809bee1c7488b3fd9e4b979a35bac3b5284c1333fe9038ec87cc8c592622b899d9993328da6d01b903f7b86e072f8aab96cf4cc9d3bb92830dcade87846a6c9275c2ef67ba7b2ea3e0409d016aafea97ba8b46a4b57cd01adbd87b23544849a266fc2b062d39baef38eba8c7a43874812a0ada738833d91cb8a217c8f1eaf4ce4c05f23251d33b3f4a6a4485658efa26075ce5f66e8fd37a8516cdb775142e6faeb0c74c221d55a51fb642115ee576775725b2e9137124918f372ed33816da397017c9e4aa233755e2d423b7b1400dd2479d467a4d548a844e6d8740d3424d7e63935a4f4899a0f001e5ffbcd996979a22045c31637e4bea8bd61ff232f47193fd0f0bd51400024f4c5ad1b9c65509ea508fc1aa17a5eb9906940f6bbe5b9aa952266a318284b589ed3e8b28603d9e6695c91925ef2f9b56659c98b1166e806574d05e6a4c80782b843312e4080ad285d0f7a7392ebc6b6863977339cbb9c0110747d7cf26fdb02fb4151f2db089dd9262fc9bc3fc9f9a611705f64fd1667f80f918cabb03ea6020b6c8c9259f4a01363e74579eebd66c2637997469bb35c5dd87826178013e269de215bbc09330dd24a4fd423c7f196a224bf2dfe5f4d0985afdcd9dd9c7de12df089fa4f817651d6804907d16baaf9328b68a349389daf16ff331535d44eac6680506306d3159f01aaa26ccba8b439e4d0fc25d8cbd626ebd089d68219a9c8bef39479d192a65788f35af20ed53debcc3fc53acaf52b4ae6dc3c641fa7666090971de82f79bb3fbde7e2a259b4365ad6d638221f43feb4cc59f9e0bb9871846b2c4ebc9bd5c9f2ebde2c149bcbcca35e4de1873e6fdfe4a33842f6a91058ecc51fc4831e982423ee0bb74e04b571ff962056838d2e236a32bc7a5e00d0935ec1efa814b5cc24ce9c174f86f3640a74902d8c04e8ae42b3357ead0831f0a423717255054b4751666ffaf1da180729872685c5b6e1d2bc7997f6effbb3fa70fa2d766ad27a0a7243e978f781de8ba6116e343e2fc4a2d971926c1df109628ab21acb6cdbd56c44809364a40e2a1cf91ae18685ee476aef2ffd41a4195e8eab8c1c8aca0f3c82ffe6adc51f59d58df472fa7c959731a01769e05e45e0ba36adaf5bbf7711a3d1bfc568077e281d699b5b3724e3a79aca5b0207a162408ba50114debb014c74b018a8d6d6ed9f4523ecf37678998004bee9d96427c531a865424ea9c1b5359b97c5bf9d8354d3bd57ddbe6a8b676ee5cf45d7f75aa077dbddc116cd9a4f43aaf08e1c5ead6bd1f4d42835f2fc482f13948791be9467434f2a08b8371819a37dcaba45a528aa30275057cf6d43d4cd26dc73418757fb7092b682ba936dc58f696ef9b43ddd3c72525b4635d75e8778382e35a17e1f2564a3e5815a95d84a7def0d17103c080ac2e2362f2636a9106049a4ea923ba5e07a2d2b01c48cb89ffe49703da8b312aaaa218b0f48cb29b34051a2efe5993e0962a74e8480b91d63b817cb9222e88bd5e343b41950efffac3f6d4e155ff2a82e5a14197453b11b6cd6789cfb792f53caee24148900c2d59f4f488645e54e82b1af77eaf54bea3dfa884e5bce4e5a9d675c6cdd75fb84af6ce8dc2a5f4870fb2868142761af76a328f2342839367b63b1d746acdebfb03266a9adb3f232a0ba877ae8bed4a0df879e343e21806802fe2d8b50181060f5d4e9616c19a22d32d148e22a53996cac7c8b494af75b692d02cc89b049be1700348b8738f15254989b6f7f37bb82300bbc9c1d2edf25eafafb744cb50c276edf1e34d83e929ec1610dc670b065c0474cedd401ea511390ca241a4a612f99b9408ff813cf53665d38da9b1983e1f5a6e06f00ab96200a2150b563b9b5b7522e3a95f28ec96a5c3addd9c2902b343eede70c7da4589cc3aa566ba8a560c5263413ad309d51a0796632adf2bf9724ec9303fdf2c2028a9c52fc91bbf7e1e6ab6335b376617d005ddbb35f8cfda54b40c110d8b6d452d7309e5cf8330dc6e5d0282a79dd865b4242b7e2759662438d7b01d6ae31115729a3bd43d42361b4e047794fafe07f60848c40de7ae78862fd8ff3982a4b43554354faebea3c8b2223acb2b91f9f207211fc57d4b7270e337a64f2e60814dd38ae9aa8e2701f75e659ad46012957f5b47082467e3c7158c2d4302f1cdaf814089f08741083fbc3b0c6a4f101780c6ff7f5c4a55d5626e29832f0335f19b647dbf3e43208a97d27cb82b935aa411a4661857cc01f0f24fd775ab699b39856cda9400bfb2690764b3e159d6316a30200716fedbbb7f75ae6b518c4f43037e0969bd0357ae1fd6270b85294a98d20962ddc93855f8bd7e02f7d02020d02f2bbcd6a16636d5c2aa986f0743198c520597e59970a8dabe3b4c38a984b42bf4b17990842c051054b214d8dfae89bea563720083934466d2ee7900cdcea101ff3e3755696d0461d5b3708f36021f7e07aa6c348399903cacf49d6af7c7d2cf553768cddfa5e0762100281aab7e3e2a2358c69fbe7f75dc06b88c1264fe4c1c461a412b1856dfb517d6480a6f68c519f6f23edf2bbe20b389214b420676021cb7d797516092e40b767282652aacde6744889659d1a09801fa170c86d0733e56a4396baa39e8e7214e876322b1df2735e0e310719d549dfca92c38c2d7986a08f909e3c51eeb58290d100d13c5a68f6eccf64b7d9de7b97ab0561fb7079dbff9debf2a6b64b01f1d42c7e0d3c26b8f34b9b45e098c714555fb47ca013496bcd2a2906925d4520e7bf8085b1259b4ecd54cd0aa3a85b1db344904d2e8e0d61307823dac2f245544ccf8fabd49ef7895146bf7af8c01757e6fd9e609715d808262e530e338b9e283564a84905e9020cc4e7e970d55e16b100a2788ec3e15fb9209a21b4400927c2988e1a899d40e7b55dc2b62076c55c6896e915089da7ffe1885564253769493b7f19434919fdfa24e25ad33e87495b1f34cd0a86ebfbd53a5a25ab4d552d5df0e37f8e4aa61e5129791ca298c493ff1a28958bb27add796b3faf82c93d25edf4eb925d4ae2b405998bd8dd22fa825be91b0dcb5dc3b8d101f96e49092acd500f182ee17e1563465cfad323cc82b0e53cab17092056c727c17f1c3fd9f6f68e59ddc82438d840938c895179401944627cc2c9df418c47d65401c188b58da3105c9e56fc8d89f516149b98c418cb7eeee3c576237b2c82055f0bfbaa18a53a4d09d2388167bfaefc4fc456bd59d25e39ba53905d889e46c46fbf2dd58d3125481a79937a073e3bd45560e2d9715129c5e65850d9965b82ecf78be239726ca098e63ebeae1206d35a256e440687925c4bbbb2ac1bfc18b1de5a0814f7ad373dec9c534bd9d990d6fd89cbc68111fe28645b2c5287e363d7089ecf5233f3a9e1f0802f4994a126d3517e1d320347f3a26f17e519232093e4fb713a969cf41558a1fb7041ed4d5e05d064c0ed2409f8bda364fba2e708d0c886d6f3ff3e6c2a9a69ec4d3d79dbc8b4a25fde71cec305e747994e22f292e788b2e197e99a198d0ef83eeacf91dcd64b72c9cf7ea6cca83123c7b50fecf8e80b5567c52057fdc711fa85af8ef0dee87c92ac03bfe6fb3344a1b3f32e9d0838e917dac22d764e9b30ae6194a63f332198d711c2678d51138578fbab4eec861e4ca27d1092ea2c0e4011130a72bac19a14c3655ffd3faa06c841d83fa285df580f29d28c595857ae82fd6c9cb858f8a9cd931a49adb283e1025632154e0871af33615cbba94dd0d6f1010b73e21bb355217b55772f1ac5a62798a232e9a70c3d6a8faf24ffb193c9d56d42ce9fe8e37fec508a17d286003445008a819aea6b0e7528380024b30042d7f6c5404d21743c1f0ed19c83bc424220ed7992129dda6e0e7590cfc87e09c74b20643f1907b1697272cf7ccc541c33a056d00acec018aa802224a0daae1dce47faa336e9c455254543a7e00d9ff00b26c0fd469b5e7130d63685838c775c40d5f9bd948e8da6ae896a71d95092e5c3f571b7b2a71ee34df8be2a1d638d148d6d429fd782d13b83972626453f9c7b3001da38370c801866d28a5ac054d91b2c680d18337b1aee055ded2f493521b7272c61757bc812ac2994c709fa7a8d4eb18a9588676602dfdbcdbf95f323880e1aa2c19bcf3a57398831cbef9c427b4d3bc199bab527074219f551ffd060e6b114399aa0e31b448fb21d77cee4c9fc2b7b70983ee5ef783a02c151739e87e6632065316956c95fdf098a36264157ef013e34cc051de5a6f48dc1d8fe522fc0125df10728d76e97842b71a8396fece15e4fdd84ffee5dcd0f1b2f0cc9b3ab69363f4c7f809b89fdc57942cbec627db29ecd8b05ac4275087b4ceb10aab6f9a6b568a3a961e77672b1ec0dadcb1f00822c555809f490c02424cd053883dec3c613c6bb31ac48d7c272e65e4d4764f7295277aa99f05ed0eb8e5494c612fbba51742d4acbc652342be9a131f7f75d9c81e97a3df77e9326a60f78b39f637326c88d8dea566433c424d0ec9e13158544813011c623f8ed572acd4dd2aa9e6f0bab8799ba8e3f6ba3f5b26b09e302f2c64f544ecb6f255da7e5604fea2bb0feaa39e35dd890dd4609be50bf126e1177b3525d9f1d1f466a8b03c01a0c92e7e7dcc449f495b0f778ebc6f51c27ec5e1c5a1bc6a9b664a68c139a9f3553d0c65f0a47c4717a0613efc0bfeac1e2f287b779c9ee04c92399c1158299cf52169c2ab0daf9c5efd97a2e917ec657230bec8addef52f902d5609ac5f645e517e7604e16e482ef414d6bfc43c34808dab358ebebdc9b15718a22cd838e934484cd6b18a27016be15e04f38d4837331b30ea571f1547f38146ae919f200f876e2abfbddfade65c1d4e470965a52b65ba36ebb7b71b569ac3c7c175d52b982b84b63bbfe08624dabab1885bf1864f5be5f423f7f77c250992a492fb2c6c77e428565bb58d443d7371cbc2df620e0632e72e1368c212247b289a83f0372535cdb94451bc0acd0bdfb91feeebe4c1443d76dfa068452fda489960a6b89a286eb9118b3aad6d86ab883550f224d0f8c0e234959f592feea1b277eaafda0cfcc44e4c9559555ed490d3a45dc82a24744f3ecd0a7f5bf1fd9cfd241ebf99b81df56a8ff7e10b8884504b3db7ca3aeb92b8365de4e0ddf6f2e64743d1821f1eb545bd96cd0894953902354100d3d8adacb947003c3e43be90df2521c423c8afe83eb4578f6d28c6d5993c64b7fd5d49bb7d7250ffc3a8cda48870b12699ee2c333c2eaf92859b36573612efd7933f1e6320d3295e75fd93f9327aa9e700296be424e4981c9befe4e19f21305b84d54005f09b099e93beed5fe4e6e662b9d1e825f7cc238f2ff687084880b880d6ad93641949df07f57482937bbd59421e87fbe17978e78a9b6cebaa01429a7ddbba721ec95eac79d046efd68e0860b13e845263c9533a8abc6e99085537a4adfad9067c7091c46c823c0a18508bc4c592e54a1474ac33d94e7b3a1cad8215639ab822b2c8cdd8ad64c9ff745730a02bc3a89cfd8165dd4d8ee23635c95b6a538b44dbdadbeb4f85281cd6c7154c83a046dc081d4ee4f5d36202c1e7648655cddf0f5f9e680bcffa58c50a95a3dfa3bda32dae6a6ebed4ee45c31ac75ef3158e5ee99731b9ee3c3f8f5d33f49aa8b52d092846c1d05df02239fc5370f4ca17f8cdfa28a4d660fb98d8dbf6146cfccf2fb1eb3043fff33965112679115aa422753700e9ae8efaa6983ca0e623acc5bc558303bbcf6c24f4a9a5e6b1df2fd233c16532cba5912f41003833c9e9af58835ef0093e6eea8290438238c36845111f87686955bd25a3e5f75fe351fa6e05681f492e1a453dae771c5a9cc338e7400f343d2c5d914cdd1ad9f63c721664496b1c6a5cd1f852e369c036a1ba3fe397a477723b47695f3a824d8048581bc36744eebe9ec864c96bc16d36643989f627fb988d02f4ebceff2e504d5952d7a1d45c46701fcb999effa9eb803f5b9a4396ceb49ee55ada9b10f41f69b8b023f8e80a498d2ab1b822e6e540c0fa907b7be9250d4dbd87040b74df63cea07d5ed8d5d497a081bcb559308c646faf83384b51b1d8ce44386e56949c8c0d1d6788f3a63b02194af2df79bfa08aee2210db29e4766e69cf0491e9cd6c8582019bc6011ccb52914ea00b48a97270f945ac8876975ae12061921bf037be0f75a40e020954e26841ab79d22fc71f662ef57cd9485399443db4160b67890703a38348b6128b012883ce966d49e723f122a2651e72546dc525c9303a82829785a6b4868be57da64104d87bb93779a75fa2d5ae40da8579d13d0bffa5c72ce1d0beefc972c1c587493d7069a0d4b123bba8c3efb03594395a6f99a2f465d6319b3bca7dcc32005df81a1804bca664acb4a57c3c76acc5ef8f8f0b064f758b587e36289a958345075dfea172ba76321f7a02d4d950e2e08447a8da6bedd31e1714ac6b59e57d0ec32502970956eea63a78769acac06566b12145d5582dafe5c946c9074796d7f25bf8a0c0c13ab63058e23378f74f333bca20d3a096f7f44796e3de5d92ffd8139de68b5a59448c5e21ea48781286b179c0c049feb5ced8034eb7f9250d2486edf920347d574a2ff8c0fd1a8b1eb06e823229f870ab97d393ee8d8bef02003cc0d84102d3caf4e2e25127c86ceeb35e0f0c18d50dfe77a502df8ebbff0cfa0b7aaaacd5dbfbbe90fe30ae3a040ba89c485a3f2aeb79011820cd8d52396af490dff568a61720e3f9ef44ddb252070bfacbd0c51544ddc006742d81df5cfb8e8b1174aeee5a99a976e8db14099a422dc30bfd7759d07d5b0c91bf2462e41492ced344b8bf2e9c93a69c25062b7216889c4edd6bbd7731dc7601eadf61c66481374f02327da1fa6f0a03ea2be490256c2c46311cde16d598863462ec99521297a59bc4e5a962a93ba3b4b6a0c1ed01b1d61b68cdae7271439446454d08c552741db30b37525c36049065138d424922c3fa5bd57a940a4bae95f395a0ad17669c0dd0125927d16772c634f9588fc974c04fda5edb396b9410d51a5c3d386353b404e9776d748cbf4c800da165de4d70b632d48f2dc0f13d571b7647391afbdd2b7dbea441d5db3e542567c0707778b7200f2bc69ad92d8227ded9275bba47ede3e74f46d35a371a9c1bf4b3e8e9f60ac8946f851dfbcaa4a2e8db5767a39255144e3e9b37dfc802905ab8c7e67f8d26306b692558967d2e0e7f02cbcc879807808f3da1cf36856da117d8d631de3a4a4212620d7e1415d151a4addaa7d97be3682bddf04431ee993c3606b27b20222aef5b0eccca80e25ccd8d4963ade1a3578d8db185445f4c36dfb1fa80995f88e7f7b1af3a79caad16085bba5ec55eb47022729326e3f4ee2512ea3a070eff683454abc69ea889a6d8bee7e6343e174e9585b9376340d8b3b0e267e84a4403579e0ff57768bc1113101e7f021703ab796d560b4e03a20d7023bc3df86d7c1fd4110f4af5cbd8e770ddfc96ce8de421d182e3755a01c2cf8be9fcde85bfde67a9f478e1a7c8b9f895d6b4ecc160469ed8b760b78d0e331613f4fb763c47c2258f91ac7f4e86db577a3ba7d3ecbeaf6813000c1364502106f277910f604390d798affbacf91a0ac32ea94dbfce7beefcfc3b5dbc95e7a1f5a0ab67065c0bf6b9f6e3ec638edad0b04ff29b7fa67fdeda46f274b63f108d9393684ebe9804976450a5d9e5c3c6eb8ed5f0ec76e7ddc1faa39b1f8bcb09d5fd379681aa121b3ef13935e8cf1358c6ffc7d205a9083d2eb691c09de6fbcd575fa9b0ccbe8d296fc441d51e8ac72502e2cbdb5b7bd6dc49ab5ed918ab42a61e9a814a2b9475d1e2be790c2c1a3ce59e61c8b4552a6be80b6b7597e681d20e0f33fbe464c553e5e831c6af2a77332c6e3bf4f696a6cca40513e74b088c4d8d764d97a89d9afe9e60090777c8214cd9791f3ec4204c3e67519ac5102ec88b27e9d2ab3ad760cc7a066172aeb10cfa7625fa291bb0526f4fffcfaef7ec761be6b84d30fdc6847a5087332665300721d6aacde61bae78bf5d0b23d2a1319d7225129d59c63a6de3f56740033a6deb743e4c578fa438b53a4336b54c88874feca58da3e893050b19fd4e8dafb446af52d7df00cfd13c195d1efdc05df85ebbc738e82cd9a06ee304737c4bc37c02143de7c18782eb4685ce02345f457905247b6bff2ee6ceba9ca95022bb569c60e617e6ff63e40064d4d4e8ec1cb8a6cfe641a608144d5967c01f4a57d32fd762e7a7b19dc2f1662216df7f4aa2df070ab3b091f214b95c835a0fb757e3a0f4d1b317cbe43d6a07e47d8f98b3edc9c53708ae99053ded03990adda99e7c610819c8c43181ec5b80074d0bd6931c065dab428dd479d52c5904b969b4ce4901b3f029367e1d2b763902218e49df6d9cc10dad93f7ce106aacd8758c48d192aa3d982c20c63d4c4e8e50d88de651524bceb2beb27519381b6228510f17c959d6ffcdd3399fcaf3c23f90737195d40e1b005aa4d2d0a2b464c6e47b9bfb4670ca17b57b584eae9c344b362a46f0a39a337f060f19716dacad897474926495b64299cbf70134cd0a553c38689c79b25a8bb8fe11cf128b7921e3514cbbe1a47750548387f20c3330e741713f8e87ebb543ebaae0794fe5e68c65c9658225a41966f5ae6caa01666e27849514285bd07ae204428b23f3c8deaeb5fe56aa61009f9c002f066b17aa79c1ad360192665e4f2cc6bf3e98a25a4e00a40c1f6f3d8516c4204ba1deb150ff07041c578dcd6b30bd53dff4a29cee8f83c9f5ab6ba30ab7b8af6646b2f97c2ef1216fe32a6ba5c7791e712a7072af8ed6189fdfdb66105305191872b1aaf04d4948e8986f60987d5c2c54913c6dfc9784a76e949a067b3f6f8d1b135aa8049d68f879ebf6928330e1e12f7fd20487bd1a3cee6587c1453da25a837d7660754c743e60ce62ffb69c1c259217530b2efb9a5e78422faf25aee571a2318790872d8385f92442094b9cd9b28fafa4287a524ee3ebb9b597b5b75ef654eae49b364aa5f66e49ed38ce0dbeaac3480956de80b1d9ee6d9f48cf5283768a1ff5cb33a11adcde012e169f19f9c0acf0ec62f3b4c28a1ebb4d9b232f1e72f3324875a27e5c637d09e69dc31979eee83a32c20b8c0e96b543fab7ba9fae64a72b6fe5fe2c7432ef0cd2d8a34aa5d5ef43cb323c184051749582de97147a9edbd047f9d7a190ecf9ec5fb14c632683815427599155eb2b1f0868eadf873242ed5908a68b883f6e5c8649ffd3ae2ca91bf8b274e8ab37e4625251401ea021cb212b6276d91532b1864e75316a24e0c74a5f250f0b71fffc17f202384ebfdf304f25f0a641d10a7420bcba696b2df7e8abe081963b6b20faa9143c9280ecd6a502711ed9b443c378fbd8869ba25d3a4ce3dd039525b5bf3841f36703f6b988e1eefcdece70ba2dc499c230209b829f103264fca9359758ac3e910ea3e2caf5c661fe6fc11a32b8900133d361ff56b729da1eff61b4a99866e47a5fbcd8f2180f72a71d7eed1d6c184670d198d9d02e6dd3dafc61c9ad721f8cd497c29722ab0ce770dd66547b238b60bc7e1412f60f04c38c48ea0876d3078cd0de024cca8507d7ed1f3150ee70ce70ff61e337882d0c184f1c233ddf60be903d2d28062fc2af04bed8c49b923696746d92ba6696eaae62f8f069a8b7f684b2e63f14e30ab3f9cf7af52500b769f48e10cb2022d8a8bbb0b24ad5cde992ab7904c23cd817b8c25539f95539b92b7e4eb589833a10056ab8082b68af9173326b3856d9347374548b025007c90110e4fe3af305e274c0cdb08bd6b59027d7503c5dd73291eff1d4c990224c4c6b0a278f24d837106ad8bbb5dd6e145cec8d9ff20c7d80e4f444d89b2cdd5cd10b24e71ef95cba56b147a8bf81a8328b6b7ecb3ad7eb855224e054be7ce4ed9c399810362f48c50cddfa9283acc4140c1d1cb317f138cea9f24df62b6d9d691edd26d5eff62f224c2ebc460bbaaaf0da936483f72eb50d8d79994b68cdcd291d676eb4d98780fb555326cd4cbd3f16baf1f04e15c741ac94e2ee7e1b215d4449d8dcd7e3b4f82d5f800e5fedf78379b41300ceebef6efb85a3547ed1e4b3eb689c7c14ecc7130ec5fa8086c63a73a4ef8838d9757ada5a9cf7e30c44c7bc8729d2ed362cb1624cc5d5e906f5df6bf17b41e16df4450f64ea64ebd84acb0c72c28c21bb03f5ee91aa51cb8a3078534029e4c22d92c304b8de6553e46dfd3e39c122acda00ac5e06f476b6ffdafc5b75cbe8cc6e683447a12f5eae8447a3e8a898dbda3a87ac68f90b287d0c00eca4d9e9b0810cf91ff2106c2de6c9145069574213b18bbe4d92bfc02ee79464250928497a027a8e4b351173006a28884ef65895e0e1b74f3be401b0c5d7f0a612269fc23acd6115fc530618f5e280274da5bdfb8d9be732bcc5f39e88fe8d4cd7064c36204f41ad5a6ef3a7a96d3e0d5668ef01f4c67838e7b54398e48eb69f93d187ebe655e01df5a923a8b3dfae55bcd71ebb9286717cd7c050572bf333cc450f453aaeacefa90b55a238f58278564643485c96d492536aabeb10f1f492719da320dc6628d1854d1660b75295dd7aaf56d50094ee8408763cff72572d7f112c90bba0fa7f6d86f729ee35b4f7eef6f8907ddb29bf4b10977919325be719353de889128955a72e93f905c0bfaeee9aea450cf5a2a384895c76c2e4f04c9544bf7e938c946e1846cc561b59319bdeb817fdb1d85d7a62f074471025f9f3c3546324ab8ca17ae0fe45bb7241baaf5312354daec33dc8664274957a7dd3c9f4b74349a16ff580a57cb8db74b2879637393d54f3bcf7cc3df456a6c28d727ec8c7273113651dddf5c6d1bfb51bdb90bc3dd68be10d205a08a7ac4b15180e23c0dcbe63ee5c91d9ac4dfe295d143da6a0707fc0d2224303fffeb783362717895b3cf9a94225675688a5b6834b3f6f26fcab6c1ea8f035bb5ed2100a73b29e429659b3e7964b9e8bd3a68fccf087ae3e5e399a2e3e95e355932898fd3ecc598ac2b73c3a1cd00fbe507d2a33e26f3e2f6542b7836de59cb5e6efc82cd163b7f35b03ccfe01df6ac096623a632a174f7d9caadca8fedaff02470fc6581f5f782b400135a52fd5617a52714b696f055460d4e02086a1c9ac9d638752dfe47290ed0347435d19c817bb18b344cd59a37885fee708f918832fa3b886726b595eb3a2ecd4a53fd1a1b6ccc592967f490df37c629f61052c8f292082f6b5226870aa30eed487edef01f20d8d9b7ad24eb7c80731639ac92371fd42b0d9a0c5a9f7acdf13d85f1a1ac3888852af2fc678203b875eab87dcbd98da7a9c58638572a48df3fd5262a1c0333fcb8e15a9721ccde78e37d83768f319ee25dcb9cba96a9d0b441439806d7cd4f82a5f68b622928e1fbb818d75cf5cec163f999b130f0f5b1751b2bf82c4d26cae257a617a91eedf7c1e5520188d963cdeeee8de2c29157ed5aac86b27d17f2407a856c3ff8ca9634272a8742d798804cb3117110fd3cc35e61654d2b26d274e9434b7d163f2c251de7df63cb1ff548e039493292cae04fae938c6b9bc8cc7f53882d48dae0478c04fc8d76080361f324f224310124d370bc89d85a139aac0c8c3470826e5fb3122418489191beb637835c3c89d1438da078e30cde5b8afb193b863a7a12c6d98c2602edd2b4a2b6bb802916ec9a92224e78b3a4505af5b74827a5b0930841c8e9f2ca7008746d21c47ef6f1cf14f0e4a6cfdc796e4a1bcc89b9d985125b313ca68226f0d836ce6f833bb8634813764befbc124c21097e3291c62b686ac23a25425db2866fb719e26231cfa11c7b063a9df9784b953f89a8ceacf787ad684e51e4e706bc0ff180fe2282c0dc606d075416463b55dda77306b3ef36049d0ccffc862496359a1185c12281b475f7813520de35b4a22d13a8c1e0fe37e4c69f052fdf03d100c375d149035c769fcaea8f379dafae22d385bc2697f5f9c50247b1d08efd7dd8d6fed1070930cb8f6510269cc131c5b936e65d3b8967ae6d8ed277e301052b793faaaf38afd5c63b0ccc56eb84cce7af39b74f59c2171f9d1f2559779fce5cb6a0dc4d27dc7a20d4b71f392e65677f21f5eefa09c16e98ac2b9313f45f1b0367ef02041efbdedaf9c0ecaa1016d726fa5dc53c5d47cf101365bea65adce2e963f04321074b26aaba1470cc7e39281935d0adb33cb60003bdb40924e681745ac899e118bb4e285760fc20adf1d618c2cd211d0e7f8649f856e3fca14d48c39e3f3edb292c578bf3332bab91decef608ec58659b53e686253adee744a326955747debeef91b8ba213169f69f155c42886869618cf771111e1a7a93bb5f0850070f517094d8e8502b5a7ef1f06c272681244911e3785e2dfbcf68ac010a053e99818dfbdbbd765a5f0a83b9d653a1a540987cb5719b9f816da5a9555e35e1601f82c50f0aec3220efc2a381b0557cbe0a2d0afc71bc360bfdeff062105d74d7601e735851cf1e4b6db03c83837542345ff7ad7dc7e0807b5c9df65c85f2f9914f467f3354b8cb361e6563fc59f906305013cdb8c3ce5e2c97bb7fed3c554959c9ee3dfb56de7850c21da58a13d24193c3c794dd71b50c477350d90acd0a9265e6983c48d78f30e51912bbb7be12bff4418fc00e92e6cb888db72bb2957aaadca1b1bfd96258e5e1ac66fbbdd6684cf024ce7b0a207e001ba29e7bf90c12cf459cad4c2b050e8a44d629f36c6da29a1f9855f9da31be50473aedd2988c62b3f14a2de981df9e40c66d2884ef53df1666e235ffee145c541563c483832480e8725d66d01886237e3b315fac0167a094e18baef5c3ee2156aa690b7c92437add982dbb4db6e65e5049bf88eeb12659d93a540706501eaa826de3c0c5eff2f95bad2a5c9ea622a93bf01e4d1612c416959aea58b19b1c7f2d601d7ce46b8646e72c2a766461d38e6bf15b1f62ccc8d5e2b56702a23609c82709f3e0eb33768228bf7be93b818ff592955384618e9c80db782395fe948537b11b8d12c7eb90db18ca7ee2533eda555428760a0b82a1db97b16c6f9e5e3c1502367f5642bbdd7e0a21f61590f16bbc97cd6d13d586eb14c57113b60d9c9cb071e4e5dc0e87870babef547cc87d3334743fbb4a79dce6ac44aa948d6b50e26ed69b32d0e5be11b33860532e827b8dea4d09c178a7b3db30000cf1d7167db1a7bd11a36a116a6ef4c30303c4bd3efc72770c6beccaf8b6dca4543d716bb063262b6665b205813808cad72340e818fce7755f6357a13ffc7aa6afdfde81c4547da03f588ad4b8f28ac2f30d1017170049cbe477abb896ae0fb05093d4bec450d90e66ff36dbf68284da9e677b1012d61c022859693195c688064cb8f8036e7594e42650d95eb4b4eac80c88f83626590a4fc336dd4cd8bb3e9ae9864f44a555943de2b46e10e5c4e7f9670a203ac1ba1c2a0aac779cf4460ec525fbe6072c14a661278bfda814e354c03f6e692b13a6dfe1528a0ce5065e75c3ff0c5570e0c4f6ee7dda11cc915d0126ce3eb105721ea57fb8d886a9380f86183518056aaa52c2678963bc659150a45b1e89dd78dbd8b6c3ee0ce9706806483b437f10c817ddf99bd58961f65b37dd0ca62c38ce6be643fab412b6fb864d1236b3b6e6baf7bedd4f191e74c67e277dfaa10113eb88b0d6675e9d52486100658b5bd15573b3006076a3b779f725f5f7e2b3df6de7c94fc8c06ac023e3d1bd6ceb8d0a628e00538d638ef7b251a6c18884a425f8eb6a76b3d34b8cbf6234684a39875c1c73e699fdbd61ddd679fb1ecb6012ec17c8e7ca14836ac4c93c4019aa293b8ff14cc1837194c59985ee123017091c3a7e387477a670f0a3d701424eb7f31e451472fb9f28331e08df42e73d0735fef2ab3e87857eb09944890cf2c2c4d9ed73015c3f60d2cacfea3ed2bed6cd68b2a0987f91ddd09993695399a3a758e10bac4893b94db7cdb6aaed48225b16a3fd8bcbf0bb7a7f1998478f833adfed3ef52cfd6f009a0d0f6490f5ee0bdf08f6dec714dee042c7f02f4a408195740d4ad16fb8bfc1c2fc1707243440a1107cb410bfd8a4a4b9c06f3c209f2d518b51946541582199324e84197525a54fa367a3d5425a3a9ca27de62be4e1aa86dbf0ece66b95c9142df23220e26e8a1ca1b0fe16ded6d91ec0bfecba44964aaf21e8c72405e2d84125bea2e8011525a0d0c2b422543a9777fec4242c2765602782d6198609d3f9d251c2232236f2e57d38fa5a9bb9250e50ca5dd457649d48b1d15d4fdf4234d3b88292a0b89e364272d571266509c09c9a2ee92157d1259f5a59f1c281f83821bd263bd701333bbe0ffcc898414673ff75cc63cc5c0c53735fe3e4f63dfc227c74381454df8aaf40fa9d804b6cd365a73a235e942542601d35b7df8136c25a5ee26f0fd4488286053fdfac12e4d86b098c6cdacacaa84253fafbc2f58fb42f082c9ba3895e87b65f33a0e24e5adcb77104e92c6eefa4392a2d9e49d1c47851891b10790a2518999608a386fb279e4c6a42ca4470f04fb39eb9c79eada6818ecc9931de4a1a40b309f017b3190d40136b5abd47fed1b73a1cb1ccc359d23596132cccbd05f62c13abff854e426311fc4efb262b2a0ecb6921a87911b1052deef810f9e84bca45dc3f1d601b264071612c73514a3d3916acd887f59149e8f978c0edcc1cf20ec23c8bcf720dc8ec3692a345021fefe036c6349b0534b5d0360f526ff4b5b6f21278a8695204fad7c1057ee0024c657d3ed6e85cc6d625c47fe6366f51a45ba6fcb138970c4e54ed0fe10609c9b1f610c329afd60783b40ddd343810cd78665a99652632b37c00487b9d9acbf9d52145726e18caac188cbce7eee16b0ae3cd3141e91d28c0a724b862bf4a37b5e5debe65066733b2dcbf6ca345f97919b49f98101bd7426cdb8267b992b876faca01e1afd2c23f4e253a10d13c8811936bf79d94d70f7e5916f2469f0e3ce834bb015da0e55aeee2c020068c6e946a190e1947e519968c652c61f516bdd8db31ef3ef147d29b4e8ed9a1d7e333b12af77416f7d0371c27d203f9ef34679176a49e4673032acd411a60ebb9ebdb5653b8d438a93e7065e6eab164812a3acfc8e1b13a7bf8eaac36b442e7b4138db39d090be9ceb61d597a476a1a0e3c815c1db6b4dbdfa57ec95a3fee9e6f537cd4264e0d2e31544446c7e59cb1069b1da36d20a4677017d242a1a35f8ebe1ecba99bda7096ffc582ebb7f65caa9fa612c3c5d6b2771b516e744a41068a3ebf78d2f028aeb17834eb79840df806987dd69ceb6bba8c6c5a654dbb8e8380a60eb5c1ffaea435afe884f237f51e1aee4c61670f35704db2f5926e0f5e1f169ab16839bc5adde307b9d509132cc86cb9333f6fe67bc165e417d43b5c87837a5d743bb2ae5e2a14e1800cd846318becd551828524b1ef542a5cdd83387913a65d2ecb8477c87748ef88ebb192bfe8d10fbb9a5d7009e3448c5286bc7f6c104212ee5bbc34e6a6268bd5e1d1c6272889f831adc86c19a024385d0a4d130dd07bf2a076ce83332401b23263dc9912d43c74411cd676caeb6062de25bd301081d117de4bd28d67c00152fdbef475651bc9b34b9f73f736540e630ed0aa6838386306e74862da1a968ae40d166f9d0fdf10953667ae296b5b85d76c43de930745e90d02552b19aa28b84940cadd519785ed9ef90cb43cf97943d5093ec6ade778dad813f6eccfacabd6baa2a0726cfdcc805188c92e5e8771c3aae5b1153c89d6324e2c374d16265038daa750ac2b39ef083fd8954c341c50105e064bd6cc3e0a190dcaf05482a5b47ab51ea9a64a0b2281992718356be8a9bf0f8c29e170c0700479c407630e02ec5c1b1aa6935c65e3bc1f70064f72c8b983acc634672788cbbdb44e772eb1c932db03ca5c7930fd1069dbda3793c69e42e10926915a3ae2793678b346cf47a4347cdeca8403f8dffbf9fd47a766bd40741c51cf97301170db94942d07245ac25cba47284736f816a83f02fb54007b0b06a3ef3db713ad2cad85329fda93eba7adfd534bdad5cb11ae223264e7baaceeaa1727a95ed0c4ee27cc79930758793f8286542716df8ebf57f38f71a992be9dfefbab074f601f92d8eb51b173e2e7e3b12adeedac286b181fa60ad110380600e5ff05688fbfa38a919911d212bcd55dd91f7a2ce3b7801c67880c37539b271d308979018de4b5c1530060869ed1c5f6b312e6c2ff2ff28168252edba33b87483382bbd11ecc0bee53bc709f6114e162da16095ba4265ad1fec21c4f926989cee19873e407774ef17cbda3c5803be7a3edf8ae1548f29d915f44348c4d19074f02d1892ac9db419e6ebb570f05230b044079d9d84cfea4ed8b790cd9c1fafe16c98f42968a7b0b6b541fb0214f392c228456621d846bf60d9de02dbb2083b0e6846459fbfa755f73dba3d5916ddcdb3db66e781fc261b7c53d7732a38bb80085041412819367f21df214794f4d847a68a3da78980bf38cadc659c5e230cc88b9c8ab761d372cc970846984cd9dbe008ec59ac90c08e224924446c5a5e9ec871434c7f46e36e70765cbfae40c775b20d8a60972b89a544f9d81921cda99183265d3696e6664453c365c62b89f9ffbee34b4a7348d73c14445aaea600fa81984c2e853f4ae28354ba84df394839181995139c9e6156e0fe5b3ab30e53f42f8a478fb9ada71a04ae78a68bdb079d4fc9a098a8c900457e21fac89ca80fd65034ac3229b33e0a58bf63e6239dedc81e4b86677ada58e68e54cafe48bb8048f3e45de1181cd8abc7000f0a4227fda179328b1e0b10ca1427e3aeff105bf5e5b5a6eef5b3292ca60aea0b6184221804f337369fb8d0fb25ec0eee8f0bef2e4ee4b47f4792d8d8daf82feed878fd5363cbaa31252f3b967ec7f822ca33ccf4dee6b7b1056769724e29544e50504639b8f6668e257029e4d3ce171d8a5029d74ceaf643fac3427af5beb4bd4bd8c62644fbed1a76e6b62fb6f6883a89d557a8fe7bf9b1193591021ee9a1f719c3cb3214871acc5d92903449b4c865d41a39a923cfb4494fa42a6103e53e8b6bfc83af8f54bda165a97d6ac7b6d3ed1d4f38df9f69572e0c2b17532aade1f27a5bfaf86f9c14aec2022cbfea36a4e8544b578b51b23efdfa64b913958286c15db0622b9ec5827b44a747b301a6851249d8a1ad9dce1f5346760f5878394adbf391042da2a57d964389d64ae05589ff65d1aa2beacf1715ebcb20c8d3f3d527c7dee15f04faf910db2cd20cbaadbdd7ef85afd90f57386796705bed32550ff9916ddcc56dc18b487c5f6b7011de715e14ecb410507e97313c57c95fc11de3389a98955a47786f0e8f44fd5cbfc5df4a20f21bc46a9c8fd58f7b1fa1a4ffe5cf7fb3ea9dc40297a5f683a68835de81cf1cf586a7813008fb194c19dae1e16737563e99d43ac78d6bc5ccd69ffd0b3441a6f1ad2a3069f8a05796f3a1debb7c795fc4f319de6543c1d9d0ef319e02aae0eb737bd6f40570c56f054f9ae121609dc978043197875e2ee697445ff92cbf712c4e73d6925431fdd06e42723f170f2f680a9d8d956ed39a5d478605b0de0304d49d7080cd49e7614acf20beb78ee0d956595a58649a784f9f9137ab8662be7abdccaab6ec926738ab5eee7e3c6cd2d56affbb72d2f085728efb0691c4c8a31fc3b27842c16aa2f15e16f8143dc6050d88541f77367c51fdb59befd2a2c9c4a13c42b10d1a3037c3cab68517dff526171d5cf2e2ab6af5a0427f7f96529f62336106711bd32923f71ea6d93b6fc365e2baa1e16e47a3b710b5cf930b1f0634dc8fce6d834873359c7d7c859e64309d7425a58a28572232da7f171664a65b0f49946504936ccc140b5365b40d10500431ce1a555c7973bb373966392eb8207ea1c7ff09f04bb33746fc1b9e97e0a744221384ee0457430c8b3fdbefc8cf55faa44d3efcfdd55ce2258372491caa2dc04633689498078451a1362c8794969f47135cc9d0bc217832ec9ccf5a3e8f8af26070f2ff6f1325942cf394a6ccc520bad4d5af9eb281141be7012da67ed54e97340fdb0520931dbf7c801c66ea5b432d741b9a49f8ccbf6da893f8b979c02e285d52576318b4d56548fea38631857de172b605171be65080d47b8686bdfcd32454be066702068922d97c46a4bbea3aa2e861aa25e9234fdc8a3b715a0eb37285996ee3d67354658f9f04de29a1cab053343a0173b256f76a9c4410291ba54a7ead63e9b96e531ad606945bd3c57731a994f0ee0418fb8b551c4edb6c4d122e466c72493161d2759e0400fd4a509985c3b2dd046459e94b52983d8e4117b2100b8ccc7ab64bd51b2fff2a15621aa32ac83577a247ad8a385358d494820ba06de0594cdc729c83023f079d43764ed54b414e70118d8a9e8e414dd67ac58fa1fc99718674244f452e4bc31d12a741c1ce711e476f16d61721d35058a81e0f7842a33be6e32be4f613e8c170e8d44a93e881c61c34cc46fc3b6cfdaaca8e5b5893ae6b176314629f7c7c66ce324508b264fa09c27f3677f8143d40a233c5fea1786ec706323d8b8871074c3241e86a9fd381ef718e336f9f6e664e23e1cbf4dbeadcf415be06984615fabf4c717488ea4f6861b93d97bbc6621837c0e37cc4697b2661356281e4847e85636663e5e87e2fea211818855a20dd4bdecd5d70feb9b28f0690ef9729b4063efa1d3ab96462cbeb7061e7da163a1c28f78d5272fc30199d81f16eaab499d6f1d05eea28cd13f33744535d9fcd214b4c72d3d2718ac43b5852f3d6eb9b187a3bf36f60a36e1fcc5ad1bee925e678bb8ed8cb61eb00f4bd10b01338eca246fdbbb74c74ab28cc7789ad89f7336244d5251e5ac2bc3de0352f8648274ea48dbc8654c93d19bafad7cb259f5d7775cccb6435cdb45d0acedba1f6c162996c92312a1c4636b8b23bcd49109daf28c0e853f8f9691a280352f853e8d2b446d26b043563c7ec856cbde8f3e3169308686232980f0c6072f1af19f4c67438555e88647009918d181cdd88a4b600867f3fd2e0a1c66c2ff262d9bb9df76a6ae6a4eff27ff66c047ba58c311a5e1dfb202bd9553b22d5b4029be1938696c96bce3a92e95e7e5bd56bc55ab1cc42b51fbe390887295b4b3450c03d20760ddb678250b926da9b34ad776c9fa885de372ce5fc04eb03c4f93dfb02d89c1a822edf17db2b99e42fe86a193f831405adf8450874f2ae6c85e5129ef6ba556c876c3802eba43d9f8263ec399ae86bbf6d75f92b1119141c5b69fae4540f3ced8dfcc0b0a7da910f98f26767899ca36774ae5dfab96b1db30fc736dee83254353fa56fa107dc94270a7afc1e9554f30f98affd6eb5d69dadf1170ea8478ba57ebbee8ee0207f36b43cf4d3c6db00502a1baf149fe08d9d2f1e245caef6d33b19b5c5339e81da38cfcaf9d7052325e7634e57efd6bf63f5f7a1f5a821ddbbb1346a61a3053843f63a3f128cf0de1627195134c8fd08ae572713e0691a4f59caa223b8818271d09c2125412ebdfa29127e3408389926048bdabd39c38eca16ba6c0352deab02eb57f75e5f31d6ba0703a3c75e1b7458df6b727935d57a4c464c7dab1e19aa557b40e263867e20d96ef326e221b23240614dee7a62addee729de81260fd16925e88f48518967a6cd260e2a6d67de3a8adfabcbd3a7f17652955b21944792175843805746f8c607ba622d8665fafbeaa7bf7fed2e29ef014202b98058afa3f7491d4ce64334364b317fac91a79dc2f24fbdd826ba38db757e38feb41c98c57204318f2d959d7e7d4a2c129cb8cf3f7025ab900254fbc7d474f2db4614143a440f6d43e99ff53f12fbc2c88f51e95e92d5c850fbb1f5f54c92b35733cb707df9bf73d6e1470966d52b5a9fd9a4dddae81c5cdb47dc31a707da717ad05da77d57c5c6cee8adad175f251ab7e2834ab5056686bf8f6547fda672a4b01677e196f438225bdda2dd4d0d6e6cbcd08572900063b721ee9de1899e09c35f23932b20470195e71fe4e9a4d7ae0b9ca3c5dd0804f74d45f6ff70d3fb4f6859e6b86e5d59533ad5ae40f714713beaf56fbafa7b53ae7b182e29177619b005f97d3250002d4faf374270b440b23fbd03b88368377905a30a9bf0fc5c11dc3688fdd7b131295dc82e0967a4aa3dc62bea3594cf4dfaf6f643623998c42ed570544453dc74f058bfad355bfa937d63cc6ed8bd33a96350a696b5b0044088e269275af48d00821687dcff08c0f7f791f02b8715ebd00a484e4a6bbff58137cadd09ed18c57fe08fae771e0536788953b806bbb0bab568d525370fbd5a1be03ab4c0cd03631842c9ee4344767bd75795919ab0219a71192c8e82ca6d6b83805c16d3dd953ae912680f8cfd84f0be8f9abbe3c5acccbc465ea0c1e41648ac1837a0b14a70d815681ac10cd2c35e4a3a86533d74dd16ff7b81d69ccf315db0f7cb0f15f2b269f17b7d7ed5f5508869205bae3539d517eac6b318d630eba186d093197bcc31417ec77565cf5fa10b056a06345e76569db5db32d2b7bb09b5489fda38f5ef9ce0a4588f827f7346fb55ee7735e7dfa6941a989c5e845bb6da36efff30caf4f7bbb9d1535fccd06cbc7a44f020017a0d4b674e4334bd6101f77af5b59741fe8e98e109cb920e4af4836d2b86b5792167a7e50dd3cd9ca187451734bda3c697f4b957159ef6bca4af2abe2d01f95d78b2fe62c66d7af68998e4198a4787f8d97923f82c5ad82241a5a46da0735afb926aefc58f87398c74179fbfaa52e5c58161a60ca82bd059aedd3c3ba3bafe8cc781e7a946ca98361c89ce0f712f51ce5719bef37b0c0340d4f1c2459e9d8c0c24cf56741bbeb3ce03daa08502b53c5d26239fde2c057557545b7ebefda26fb9e9f5e583cb51f95249d6d1eae7353899ea8bc6ef6e6220a84ae8d2b815440762b59226b3cea8339e4f2914a6fd9a2bbffa91e07f6e8c0dd47d13e81ad7ad802ba87fe96c7b0ca1403b1b07daf22c787c0aba44575c02fdca4f23b164c68913dccd54ab62729ef9b156de73abe1d2d499ff2fa0b53df2684f7edb03321efcbed14409a0bad7f4d7fb92ff8f9617b71cb55decb77fcc721b903e87b87e21e0e8b7147e112ad8d4a956c9cdf65bec62f0b8a5e168625e68c8b7ea06d8197e080a94aead26687d06d5974c555545d277c5e60894c3709a89d2780359dc9548fde57341a46bb61462c0cb5b884c237d009f13ab59da55e58b231108a0d43b2f7f61928634cf0f6472fdbc83a8b0456c94ddda3ccbabbd4361be061fa6d720fadeabcbfe4818091f175320c18e61aa72c8535e0b06f90d47fb9c2299c6df48983071d3775d23c02f73159e08bae9d8d58be5ae40af31baa38db8f7a3180654e85b5555e9ec0e97592655f9b9a049c728aa78a99173b06acfe703db6f0073c8a6b7e941a12ea5de2b1d4d41195dee6e1ab4ec6a07c516b70be3ee41c46f4e9dfff2611986ed18d51caa745c1859b1e51e27ecc33613a71e0e5c6041a2853de2c178643d654dfcb25a7c6f6b6e974db6375bd50205f9f2d92d986af9e57771203dfab94a92607c16cc01ac33e92b33cddf220f1e64946a621cba7c8b244718f0992402a8246366c2dff8c3dda1683be3702b009e6caf1a334a708be3971cad6bdfe202a245aca2c825153c8d53c09652fb3385f3e2be456143bafa15042277a51d697baa4fa01dbc182c4c7165865a942c3db1dad2070114a77414172153f0a88458f4ba421f45a0edad3361a59861c8de448b3e63ddaa42cad9a34b174b58dd7914828f4304e5e6c59cc2515080b71621b112e9ffdedfb6d06193ade8aa3638c96fe47c33832e44ce1db207d015acb3af259ac650e9b7bc507fac0fc2a43a4edb2fba00e89b3c150a74e891597dcf3ef6d7dbbe4853b722295e38bdf05d9432b04ec0197208aea931d29c7177f8617ab4aca953d829c4e0578c829bc88d106fe5cb33ee0ad54e1541abb0d8ffa235a30a858d376be24060a13f505849cdc916496f4993d55767bdec446dee82f4b6d7fe2e77d39ef78e4574ab94f16de60bd510eed3c72cc1abafd57120d6e57f3677ffe149bede1f8ba6cec8c126d640d6ef06121099313dff1f6608d349f531c6073bd3d28a776648dcb4bd30d9682f5ba9bf9542b32c9c86c53b60f7385170f4937e1eea9eda1450c71b8cf25e3706cb19634461d6d608dc150c943442e53c507ec199254dc3e62aa3bca19b569caa3a4d9088cbaef2536e98f8cb50dc027f726725b1ff748383823e7f9358fc2a397c1ef919c44bfb7170c7588a72f31a22687e69521c75e25b63c445b6e256571248a10e9e0c251418b758fb969d91130e4cd2d8d96f918f04d27be24ce05e027dad5976864c72d4e6c6d9e5dbc6bd44433b1f07bc8af0b28807a27b540672bd69575c449ed11de00e0a1e64c1c7ce8540031f8fb23e74865b3aebc9725a87368a8e4da5f52685edfc8dc53ef6a559b480280ea7351b0c7131f67710d1de300f8e0ab38ad625246eb94ee147a98cfce78b3b98878ace5853f7383767082feeac0fcbe4e9d5b55d0b762a47566415208c87ba04f2ebe2c123e85cac754fd2c20158976ad07a5c977bb68f4f8ca551c616910ae304a74c08ca072d689755a293b4ecd435cd55cbd1ac1dc4e1202fc5cc7b945de254a271767c9f1693b1098231b5e6574c849be7b139b214408c8abe8663050cea1e8744e7c0ba0288fd9f1ba1da0f7dd6482215994317a2ab3d691a94a9e3d832315ac11a7cb38a3d769a07173438a82dc8c3b8a90c6d7dd928d07dd377a8e3b563e61803715ab9f302b2a74bdfc098d31af6bcf7dc810e471e4bddc24131b7ebff8415f1bcd3740ec80c97ea00f184db56be2f628c9cff893fa572e47aa3b1e8eca660f245deddda9b3814f96405dc7c07c757f2c6eb04681598250379cc4b7a3ef4328243d81e486d2f03a1236f4459f4c69fa4156f4f9afb4cb881b61de8f0fe7de8e4dd0f6031a31d331afc6b7d3a1e796b1dc4cd0df0a09d142df51b18edd80032fed0da8bda26c5d5a8f065739e1e0cb1886cb3e1322c365189da8fea963928e398dde8a86afa1a5f9ae00f1f4f51ba2604990461871f5a828060662aeca64bc5ac471fa17b9c79f55f841a32a12a0b53a9ce5a95ab9ac1b83101680d17811558f303890f664acdf98699b24315dd6db76ba7d14c01dc7a78d4c90646cd769a740b9a8caaa59f44485eac108d2c5d38a6b0f5767afc5b777636924c9e907e5126bc1de77183f7e9ac0db5ce470dcb5883b9a46537f33a2e505b795d12ea39e712f4770769609a0f5229523e2bd8fe5d75fd74b31cb9421339f27c6c21dda60258a420270c36e3fa02469ec68959a38c1ee01628f557e92e66143ba0baf33830d0b8de5049f4ed6fe830038a8654a1e36825d35dd016b9e8bcce8d58c9871edc409d264a79f02590cd225fc30d201cec7115d52d3c867f12fb9f43fe58885c6a6b308274c57f41d499a65273a0208bf3bf3183bb7107794805c8ccd560bf342ab519fca9d4b3b2181dcd85f906fd345fb544dcebf8c0c7a814de7e141b291f372113e29b145469d98c3a6ae8f0fad06cd79e59d403c225a0cd074e030d535cb8dc68dc25ff206b26511340871a0ad00d46a16d6e8cc65d8828052a81ec6013fe592ec1a2e04a4fb5659404afaffaf777320d4981ea48e06865226ee9659866fe720043dc40e48a930ed0c362e29d8b607ba68aac9e2da7a93d388bd6794ed33a7f4df6967933de784811b8328496347898bbb84a81fc8feb6bb028b078fcf426af6fcdcf9ad59ff63be7ff40ab8bc9b179a45edafd5be9ea6fdb49941ecbdc5846cb1fb85c8751a19755aab27bf54e695b80b314bf471aad3c1ab67ac027d421ee03fe24bbf7ffd3c18f293251ab040719d49b7751d7f68b768f5875f54aa3a8853b8a0c22e82189faa5a172e158ac18652090f38fa7e4834dedbb110d3a17026a5cedfea5b8c35bc368af1a0de30da90b5c7b47eab0faeac0f4f8e396e53d8af824f6759fab136597cd68d47059d9b9b559d8e52f31dc8b3ec78b28163f34419414d58573aa86c9b62d623862f70aa678fa7b353abf02596f9dd6ffda3464d508590d085a5e44bf61b52daebb492f6996119df6011ce6a44d48b634a0d57b78bb7f594b3802177760bad9f3206365921d2b73391fd18c022b2d4b1e0117d65d9024df79b2fb41f32d9d2d1bdccbb5ded53d763ea8a171082af0eb600b0a833f8e63d5be63f59000c40922163bd842f98188c11ba0eb5efecc2638a1829aa7fc03b53f4dea561eb0a77b7313b49876d120abae7cbbe4d5e7b7d0e15388deefa2625ae00c691a3903d41633a9f14296b8ef12a269d8f948fe204811e161b17749e284df23549736fcddba735f4f283c5719e353502cb914a966c70063baebc5358d86018f83990fb466ddda3f9e8552198a56e472afe18e088ab66c3bbcd9feb4bd1e4a71a4a86c07131cceda925f5983154b25a0f6366df666e9fc33038cf6109255a5a68ad395a78bf724da88f030478362dfb07e8520792e165dbf369afeacb86f933420ac946825661c3df7541ed82004e1b3bbc80bada53dbf61c36df7771c22b791d49bc6d5bd4aac1052bb1d8346f40d3cd6a4c2ca84cc8a71644414ebbf8e8a5d712ced594f6934c216d1c6c89374e5f4dcbe6dd6aad21a17755e877a3a2904fa5bbe9ae540569805936cb13a403a3b99cc896164e6f1dbeeffa5877ef8aef1abddea0b18ac08be6b080d4d1b3e0379f9128cd56f3e57b76fe56f37f351e874ceae3ae1ccfa79596693add636e6078dd39785f57c20303110c3c4c89f3b7189ef6f092177226e3b3c137a8285e2daa4c860d213bad3914f1e1b09e2ec299aebd4426e7cacac52837525ebcfa17f43a3ac7f712335c9b1efdcc78070278cb3daac693e7516ea54a8c384c2dc95712003223ca80a95f2995d527f9c109eb29a649ccaff27d11a8f2729df04a8e6cfd450a95bdda086fb2973d815b3eceb6437f1836b0a75f26099cd6bd3f2293a97ad0918c08542250dd998090f594eac5ae1eecfcb57ee067e93e2222ed3f264e1272a6a002a34bc1c43f602da5dd9b7fe690994af73ea12d6679730a665e1f84aa30a1a13264e3c1881b6c64d2b20e4128e2e0b9c5dbc16310bc787b33cfac9f9f30b64859ec0a0515bbd21245fb632d62e528ac606031590c472aca57413e164681e8286aeb4ddc9adf650e000cda2dbd8c92a4f4805e63a1012d971395a1356b235bbaa05913bbdf901e40c2780e5f2f2798062a918ea5f8fb48c9171b7936059b0b07bf48d91d8fd10dbb3ead0fd86ab83c86b86b0fbf5ae7e3ba632c011e588648d79852ac03943f1507a2b190cc44d50a1c290725c0efe5d5e7d308b9c56aa242954cfafdafc5cc47d826cfea55e13d4061dfa9518c08e5e1021a5fa92a036dc65fc6bb07fb3f4ed8ffeda80b6489bbc0492cee31524d394b7eb851d2b65dc9f2156223b6409c340428555fb29292a8194a070965a163619bd021a20f8516e9e5fbbbd80ed97fece96cbe6050259884f462e85965f1340f80c57824e602b7bb192d1a716ab80524ca7556d34ec8c0ec4f291eda6e8cdffae7c780c6d08e4d7257a5113c08b20b61737f4fbed55b9368be165bfa6edb1972f2bb26ea68e1635b01d180ac10e80398f82cc87f27b94ac6eb1c00f7d084f44767fa887b70b5f368eeeeb18466a1c878e80c83dc8d99792100b66f0a27703839a3c96b06dda58b81ca9c12d6a3c2897f6e1a92e851922e91541332001b163480739d51dfcb5c0bd3af2daecaba9e1dae7408c982337f7bfabe1971e02a834218e383ff2c8720307ceb67fe6eea860baf97eba787edeeb5b52bffb7e22296501141c1040138ffd42dbfdc12727d93725750bcbc0cfd33357a5370978e3f43285a40aac130cbc4efb5d6c71488522f6f45b71f08eca4c5e206cd54010897d3330d67680fb593ba4f078729defeb09e6d1eae22b339e157cd34ee2ff18c7f06cfcf57b68ee6856ce166bf14cde0417b0db5c119067ff2ed9a9a62f67f9cce383f26f8173c9d155ef4e0b55296a5532a81c7c2a1af49cb50879178147327c5931c071311862f9ae345b8b7b518724a5fcd337e5d8867e1f2c4ec675d3288e3204dc60d13b3eef88ec11c2edaa4fe7662107850ea2730f1c3e36cb8ee3768dd1f3954f8c0f138586a727b984c499b1160ae817bb3c830866b768d18da2671b351a639d94e7c95cc8aafbcb309de26e51ac7f03289f72e55d6610bf6fe557623563f85996fc1cb78fdfe67bc6bfa729f4168a5f1f93db1321588808951678e7f6d274e589b72d446883ec3f88968297c5be9354ad451e69a472f9189202a3716e8499b5250eb21f438ca0672dbf7998b8e9b29001852d9f6e75f7b375aed9ac4757cb6adffdf8f58c4eedda5cb8ced38e126f30a8c8e3462e0ffe1be547b9ba86e4d0b8d9cc686451c44d24827f1bb9323cf9b3dbd283c9e83c50ad62886b12403f6c3c6aed5bccf75c2d70ac8685b827aa85b1ee17b6cd4f7809631121475344e856f24af09b7a5af77f9b1f6d02d513a45c1aaa2f17d085ba0f5d7de47a4da91d0888267d67ab385219b500723ba158f334249898e7b536a281bd6897b2f0d9466714d07a4a29b5c77dea1964061810a91713e9cc6a35ab99e9788e81572a03378b4dcdadcb25704647757fca177584a779c68a654867d2ae080decd93074ca782a9d5b5ed7f12b88d6975e38579a0421c2a21785964a6cccdba723c37844818e553b2b489c1e23b72b1962b40554828ce4053f999fcf37f5207d41a8a38fdaa29abf20b488ad3cbf9d8c68e546d59a2543f3d37e9421b49a96ddba461bd3cdaf43577b64606c21aac5b65af928e8b4346e88e3eb969edfadb187498654953614603243b1283d754693e7f4cf579125dc9ef01f83c8913a982ed44868336cc8df59d49e90beaeed8d75b798137bea1662af0c5751faa094246504aa9f74fd74c4bf0eb3aed5f0f0703a318f0695a9db672a316d2c40f28b7e7ec819356b2a15741088a877433098e78d3a1c4722c64ce3692fda307ec2652cdc3140db611616f2279605c7a5100948882f3ea7f7f1f1310467deada4a7ef8e6a825b20301b6d6f317925846fb5e5cb878c0b066c3f2605710f740b7f490e592fc3b9b71eac8946be7b714a32904476f35ce3e3d957acbe9d969e42ca4009f709b771be29ef83cc0440cc1fc54207d3db9ec5aafba7993422f3bb5debf04628a712475877040c2018855bdea39327dfb5df8d7c8d5691ad15e31cf28f9ca88e5570bb495ace6ad2bc02a898b923b58060f1e3e4afaccc43022ea99240259cf87d4d4de436cbda4238016053bcf8aed038449d7fb5ada42f7ab24f75eb81beccac73b07109515133bf8369bc4861be15f5918add750059e5947044795207bf3d812ac8accada0f7165e93ecf2f96ceaf86a870af7324336b9651294f847601212a0ac792e0f4f2f92cf619e4d92ba861b9c937e6d5b3e75e961be61f506e913198856d1af20dd42b68d84444918442b2893b76260e17c0eaeb671ccdcb5dbb3cd23b56e8f4572bdd2cb7215b4fda03c6123d15a1f5825d16157bcf9690ec528fe907be08e5b3f915159f03d893b1a5012c99e2594b844968e722ddff53a139be50944f0d2be82a1e381618dd6798bacbad7cd117130a84de184bcb09ee281e088b0541d57340f8e8f4676ffb5aa9f5e58e46e85439c32a54f8ae474c63898f31652156d39967b51c22420ede113e4150f8b8b7ed00c8196382e99312739129e916a19d34dedfdaa1bd586efb861c7ed4d06ffd6ea3c36b8b8196173df4017ccfc52a18b17d9ee644082e419526c84edc6d054d4ed169cc9997079b1014c4f9032fb8f2ca90f969f218f5efc2ea463f5355d5a8623a25bca8e39796025170f1e4aaca6add071ce108672c540e125661c7cd1cc93a5f3d94e83b1c164e8d5cee1f22a24b33c402e96de1ec64d96404312a37ef284b6745bf794aa8f772f4c2d769d5d167b11d2440a408cfc3d10831de8ab99e5d7bcc88b541666bc085e0df1abb31ed4599077a1302708c94355d60b3f94903f5362871962eb3e57519ba3f3032aa1726c135abbfbcacced25cdf5a2237f932b0f90a48f01173505ca7e2d6edd36dae5b71f16bf3809dfc5e21d00233c6a1f110c10d17757c119fc91477ad766463950220c639fdc7e1e93c471c49f259e818598d404fc6ecc58e1a316c4dfb2b5f37ff186f15b0d7d474668123caac4820375454481632f6e434b3853a7724837f25f7e9ce253c48079c61aae8f78cc4b1f3d3b70e9407b186ae1f564cb93ace663b33f14f86661c337ecd255537742d537c5360bc93409d6c211e80852404906487d99f352602c4076a517e45b89388e67d75da9074cfe93feaee7c999044280582fdc6842414670c5026eae350152638fa776584856fa181589d67fdedf07a687d1b4007bc3241f42ca48210ab225d446a5ac288942a48a324c8435af7a9128127cd64a2d555223157c65e1be104d46226a8cc04e26bdaf663c0d55846097b8449f0aa3f08e6dac6245d18f19b0e5069bdb63bcd796d97a5e8d1f17f3924b25bbc4927092b78e5ee9cbaeff41d4e6df51c74014778cdb09280b98c110da79558dd24bb7ff0eda76db26e4aac32a0ae5997b765e2fb8a157650dad144d42c4027f6713e1b906640f642b62e3be5269eb1f607583afb00e1f77c05a4c83f5614b04742e67ca414684754c4b8d9301743b4747cbba54ea37a29e3bb6b6eb930c713045f3408ec4b80d212e5e0cf4781359107e703ed2baaf3982234dc217246255ea00aa1f8dd7c8d37983806d7ccb4663c1ab0e0e43cbe3eddd5cf36aeb37dc6306ed1e0990730c2e558e615c877e0c9f4f75083bd71ecc3532d0c762ce1a62d067a5e3f1dd76cc1a1f65a20e0463c2912d7371cec692dade6f295f1832034b30a6e5cdc17470ae0834ff9a29aaa792364b140f913200f8686807e7462836e3483bf9cfaa03ce8faa19723d6196b0fba35ccb3dbc3b37f39836a3e02eddf2ef313f4a5c144d93244508214510b9902c9e16d13e57416ef6fc2adb1bb0f1e1784d9e3e36d47c89d82e96041a7aba71397f95b2dd458498487c76769c2c84f7a0486f4ad7412234f8ca5235f337b71c7358850fea7388c1f5beccb60d8b3f2044e88a17c78186a939c9307f0c1389b1b538939ff17ae0ca8d01415a65585ee48489fd0214ba5b4df4bda7f82aae027056c49f3e6a582871247109f54776425cde293e284df1482e6455675cc53cb64d9f285f3d14565ce91e02f18aaa36e230e7be61b3caab813f7255bd9aa4eabcc411bd173094fed3969c872a604dd2f349d5a2ba096ee0b08679afb6a2754ea14b84482821e7d8b40b773ecfd0b9cabaa2ca0ca0f8e5e2f21a25996677c3c11045de95407756e8f30a012c667dd36ad15022b5e980b48ddb84526cb3938a8f2dcd7c763027c023545e65d8fe4eb321c52a36325fd29b612728e19e7d826ee5d59cff77a88dfb82fdea5ea7fc59df4f4892584d38e627d8ca6a8cbea748d640a07e5e218cfcac7743036a461523ff2b4aba392fee4e15da79552d9ee3620dfb02845116dfc3d6d5d6f4a1c44b78746a6c38de815d11f638196aaf095f66684f464c11a53790ed92a37e1df8e4d2d87cebcc6ff59342d1bbadc154da92fb1528e7ec1234b45468e6e1f5b56b9cae45239fa55a6672e7843f6708602615d1118e0e69067692062fd5f62c820f099f726f4b653ea6c2c95635dd5ff591b0aa4aa167a3660dd9333adea88853af6f175b52ddbf905881dd6d8fb89832047da5c7c58c11553bca0e22bbc3e290b2fc7d4db8253c93ad6c6a63ff72939f6fcc757325850e2ab2202ca76f652e9fd3ef0d43662d45a2531cc60616c65161368c5361158dd5125fbeacdd42ab4c4d3348b4b4a20414ab784286297949a9bbcd5f3bb24709c9777f21e050d3586e9d79a9a0c560435844b287b578938db0e11f72832bf7f540d82f62b8d6fd92434758dd62dafb59b2d97ed59993bf76665dfe9ac487b4af3eddce043451e7fc731807112e15d5c9b3bcd846a65c812ff5a85f304954156a223ce0e0fe416d015b06e51626e274d71f76a2a23fbf70b7791cda78d28a5d52ff3aecdebd80402d95b22d943de9a6b23475deb116cd18907975dd435076fd30b3f8ade833976f240d0ee85c30f5b205549929e860c2dcae22926462deb451d5af78762298c0d23b044497af6f1f489be4d732f60d01a2aa3ad319a04c34294b2a120240b7505be2debafd21a997cab1f581f353683eb32d2d6f1b68bf46363c557dde9d76b0811afc635ef400815c27aaf988fb518c947d25fc1f96e1432948b71423f24afd8e0362adfc45b6d24f8e8f77cdc34bafbe091cb35c063f1b87d16889fc4f57254f5bb59cfbc979402c54725f038a6582274feb05b39e57f40968fbc37275a0d2baf66e9389a67d076e8e79fe962958b6b532981f3b92cccd800e9e155c546d88d20d4d988a82fa288eacb066af3d85dfa69893fc112d2d5db8c6e4a9050759b21e63271e6ad125f455e7bff3f4f1e4af49a934c6cc03c333f6ca602ad38d86e1e35319b06e61d659ea89b8bcc6c447b72f28f526484ce7b797bc6672e1a5e3bf5305f156a78e7837635bc2ff43de7fe5c095daf90513b3b58673c30d272463ba4ab6576a21eabb99083cff441772d271b99c7692538e3ff639997e36f6288f6f94b8829219b63fbca120ec02a2920aa297ee4a2ce870a63562fb9edccb73bd52343cafd121dbd3e0863074da9a82aa52afd77fc6dc0ce5e99b821879bb1a6a06716224a6b9ae3b9dc67c3698984e1e109fdcd37da07192757ebb846afff38279eb03ee01f61477b26374405ec7bc7e9cfc7039c47e50cbb81b09a0e452e156d457c9cb3f677f3b6792c10466b3f0b52d3d4284d04b6d708117568a4379b083228505dc01f99e713363c435f7e47da31039701fd840a2464bc1ffe541eba82f058f73f857a65b777fd45e2a2946383119c8a104218a121a429a78a30116fadcc08bdfd920b6f1cdad95e584f894e6d7e293b621d3e5979f9efd53bfe97d1b2aae56b1ac31e79fb7607e3600ab0e1ec54954ea9ca18faf39b01975985d8780b51a9bf505f39d3dd352c74713bb8fa9467c0b46413dc4eac051fa83028669f6fcece34e589ca63e1ae181dc1df703dd067ad48f9cb62f4450e9376efcc1cacd844980468458cebc73e258767a19cc33d27b8c97fd732862d3ff0d71f9f89493a87b08c78b6806b2a64ae0ba9508f8a7853c872cb3e383b12a53d534bec2e96310c2513853cc1e4ca6c2c2b753e11f5df8891ebc45e00ae1b33068c189e63df580c65d4863625fc5ed917d5d5d0e999d07b0fc666ae8ec7d44527362798fe842d00287f8601d9084d07c17abec30a4d48b2a6e90123ab9d91a371c76d463d157f6191c23ac62bad05b1724f4fd8d36c8bfb5a9fa920d04c5e05ac5b19a6e6c3d2cfce3e94ebfee1b9caf6127866dabcdd118c03a107a1351399c0eec05e29fb29c656cd1686d7c0f301589fb0aeda7519c118aab982a4717bf69022637ec8da2bfb1e840c00a897a2a91ab46ea0ea58c2327c9c8f4ece75380ccb6737195d910a33838f2e8008d46feb86f8dded19d00f1f1aa1ce24ff1a40f2d65c5c149f771dc1c5b48453d5c51a003b4c5b5e5471b2c5990266c3d2fdfbe5781a30c046191d6cec165fd8c76616a8a967a62bcf8a78b50e6fa1d718d6434470a967a01f13b69c275dac1bc64fe300f37cb4edaa5c66f6764b6f9fe1e8f4698f939fd2199df94493f211b83f42a41d1fa5a49db08c26ee2261cf6c82fa05d7db0caaefdc243b8de593c0a4bc60c826bd63610fff00d58ab14f50f3c73d0f5cf471a79f80451f02d8febe18e4af07a2d5f24acf7fcaf721a06899e70e1cd58b03a2bd64e04fa556e11177ec09d457970c04641365169d45484d9cc9303ff030cad1db785b4b08b1d1a3136a87361a4259e9057518300f2faea1605f059e5d8a6fe6bc55138255f558aed222feaa96dd7ac6a00dfa6e169f2c944c45b6d737ffc4a7d9b2f32f2364a87d65b577f6ffc092e882d6a7bf1031f21c974e5902b41bba2be4b649c13216a61886a241874ca542ebc890e964e20dc9903ad20b89d7027f0057e68b9a81d2116f31ff8dfefad763e3459f6daeecfe3370a68e4f24e2eca96e6bad6267da8e87951246757683b01bf0390cf35bafe82d967447b97a6d52cf351002ba3d91093f02b8563f0081a593891e4ee16cde95da593dc22135ea62adb6f8425c7db73c029b36db1c074fcf59c495968d44b0a6ffd7eee7488e0b69342a2f7bfc897750f430290d4b5a0944877743d2a959519557949a0aa60fe433f6de021830f9036883b7beab17c12f782779ed0c29fa6ee71ddb789339f056104120498c44a19c5c6440e580124e49f81f92259c5e7a4a388008dab0c69a0cbf2aa3707c3101f5b8a5b1b30a74523638d1246ae16598c1f582465ef497d4199e0c25b322f19ed5e1872cd861098af96bd463cd441486c43593151dceb3bfc03db189a534a4d67fd847767449a94110891a172c6565e6f737173f9f0d4d16322369145b70148f6519027f65f9c0c7a2696d3c6f210aab4d32ee88ad0d36c02cc92d7466e95847fe63a7c0749ef72fb8b26c21e525e4dc547ba327d5c463d7c217c4016e009395d1275d57a0232ab8e93e2063a8876a7854c4ab7fca3f67a0f55ca6a427e075bb8d8d6bab80493a119b2d142d950be8edad317e463f9a2440ab7f36375543631205c3e5660a474feca8b138cbe58700bba3ced23014dd1b02020f8486f82596ec0dad416709c90181236c07d11d465730f945fdec6955561bb4574dc8c001778ba841be81b2207b88ecde98f56d857616388ae4d077a80e9e2484adf69ca60f4c187a85f085273994af19b181d63f429e5eadd03203ec57bc15149b3dbc43399ab74998c2a9e1fb1b6a8f251386fa313d101dbc17f618d8076abebfc766ea0878cdf3fe77b0f0ae1809fcfb6bb48c0fce0aa62d811bf5a94ab1633e173b0b8700b3fdf43fa8dc42c7a90bf1d8f340263076e99bff964303343a2b005f5ee66ea3eae1f5c01b016c7445c8ba6fc74aee3fc1c17ce64ae25fe4b20739ab453ee009d2397474e5dbf68493e47232b25a9004e16205d5d8b56c07fc3d2204acb9b3ca6b0971768bb5c4a75110acaca2d8351c6a1af7ce84c24a5d89566813e5dac81ce221f26bb82b3d84cbf4c0aa4fe58c3de3ccc24794989c5f71dcc4ef6ecd4660771d8cd4f09a05eb75f37e81aa7e710ea1a6d2fdbc56da2220d2a1e83babf33f3a34259d6231f43ac05c6fc53d2696a6d4ed852ca30de2d150b2007142ee9b5afa4f46f9fc6204ccc565cf4aece584bbb6e1afda63be4eda34214817588b254c40a44a2dd9cc54e72eea7adf0869adc4edfbd622f367da2ede24916a0fee4d10923d10406793960b98e5d5d356df274bcd5acd9a2a3ad1a51d3b7a2987180ead54eb20a57abd2e6f67354fe069c0f40224fd250ed9b8324ccc62b1df740f2e0a51e81e50f34642d97939de237a531ab7d8114df47897bc427787a5cc96d96f3f792d4c1e63a21ae64816bb54c73adf7f664e073f58eb6f838baa0889c30bdec3a957f6aa3ff6ccf4ed8d291b84b70d78649862a59e761ff0083aac9081aa3f52f78785981cbbb01359bd196834cbb1476b15ae1e2b2c30515251bb7bd61fe63f453bf49865214050c11a3732c53199a6e9af41d93d68e229505428f092f4a41bde15d905aa8968b23dcc26ef5268c2d6239e1b63a7a2c5ecdbbcc08a59f4a8e3491c86b43316380fb17ca83957178bed18c1c0b7a0687670780a81cb89c3b1ea07eacca487affac34ded3241d8d1f445b0e5909e90d1070d3035f361a6f65baeb0fdaa8979e1aa3c78f78ad5a36636be88b438f12ea4f266881f2c559a7f8cb122f53a56dc00604c659cecf76885863ef12b9de33b1def1e9ff64693053823e5ce46970c191f665e65af3bc5cdc40e520193b355f2f78e18cf19b5393ac26d01647c6a03c8106bfa4973d04cb9314fc7face9f0508b3003b33c09d692b01003724eb2215591922cd1ae0787382d6df5df0f29affe10deadf4064331321b8c0114b5135a9921b4324b0e1f93e2ae1f4ee6130233a3db4bb7ffcdc764036d5743a4b1fd0ce541934eae06aa3ca09b4108583b3e43ab262f35bde13b2843a0a83b5a7837f4467245d987263f653a60511eeada9ae31d241c6c50dfd460debdf0471bf5fa7f2d04856372420f6de2e234d0669ace5aa2e0dc832a2cd884787a8cbf140762316c234e457f864ec91227791560dfcd747ff5892ee2c7b1645189a11a39fb547d2750d3a5d2172c5e1c19737e4dc5d2fd12abc1af0b19130787742675db59dffd7fc391f00d7dbf4eac81d86ba3e779ed59d7595d35cbbc194b8e7ba9127d256a9abe186048694c7c3a052c2dfb5046e185bad6c37a494e974e344d8ac875bd1eaed6419e986da99a3aec55b9aaf655565ba55d9cc48bd7a33699e86d4093e2510946d395dacc8118b2fcdcb3497e221a65f688f8b7fe7b5012e12834d09086f13a331edf4438659e6f8930312804b90e46239261067c6535a43a6ee398f2ce144f197459e0bdf1b410e1506c3d20e80c2d1d70742e16ad4d96a8cf5cf081fe14d15f9e104de800e1873b7dcfc75b4e1bb94db49742287f02feb105bb2a11dc6a5079230335c5cd6e1637abedb93eb2a8a00bb678b1bed4ab5e16d0f9d7f074bdb6159bf29b13aa39bd50603ac89437e5622c49445f4d93424d9c94eb20adb8f79bdfc5c44bdbb1e92748860a39534224aeb1120a86ea6a0fd7f184757f7fa17ece0e4969a8a5131aa1b94abefbe57443f18ed834d201e3e3ff44b1f122fe15071402c607a3c72da472a13713ddfc68197125c2c98da9ed7c9f83551ca5b47302eb204eb0fbfaffa4dcd713db8a0e8b68ead3f36f306a6703a856d7fdbbc750c87ba7deb8fc15bacc0732195f417dd751e7a0b716609e110540ff7f39581f85c54f0f04544f262d2f1303068d13adca577c402bc2209147cb81fbfa108403bed5a12efacb89d1213613fc94f2cad87320585333230bf5dd119728bc172bfe0ff5104c753d893fe2a751d6144a3985ae6aefffae1ba85de74c28e612f5fce06b2b8601fb0bad919f6fae1e5597200cc8a9773050c15c5e7c19c4d93fc1ac9269d28797669d06e8ca25e2fe0dbc0a31e16dd7c401f483475ec054d52e814431308f8de4afc09373fb7e24a3df198fb0f4f5bee490aae9e689105740f7828b3335fde9588ce44eff6bc45491fde5e74e59fadadf88b7e8dc42cc2450f54dc66f0febf9c0a805126c320cc03f7c2086a3ff39a4d7114a69313670d6c60e0e8b7ddf5b34b14c9976025c35b993a54347b5db16592d638c393461ac95ce4bb94a3e1ec7d0f9e4729d13476f9fa149f8725c9ddcd85ea1f3a4e63289abcbe7e9cc5c282596d34579e1ee5ab5988d0cd1d54d113550cb46d3937fcc90bdf6b45b1fc5095bc3bde7e007366e6137816114bca2ae88e5880ee582d603e1fe4bbc4692f20a346ba209da482a16fd4145ab31cedf4ddf13cf53e041538dbe92ab075d1f45dec9b37ba58a808697d305b02d8dc05eb62f90e89763deaee1de3c7b8ee82e1722087a6658fa6719eebf03d87cb6a7fe0803857b7bc21a297501832c61b665b9d87569c3a8d4b961d3a82b5784a88819c005920aeb591751dfdfdeec995de8942e88a7b15a244950b8a1d382462c7b7900b5a4fc611fdbe0ece418a12ec907649f759af8f854b831c2b30f0f7a22268eb1a59ae5a6e9a34eb01031298e6e60b7991bcb17afcc3f0c45693385fb1ef244417d1006ac6ec899af42ca1567a24efe90fb80934d3e2e2387eff1afc06ba588da457c3abd15e8bb69b262120c00c51835bc4ccc30c95b59edebab50102c63374b03f209ff0ffd771ab46ef4cd601ea206cf1daeb812ed7b367eab34ec33ad6de7f690e5d571b600812d91956765148e8b3b55b4785ddc052390a67b96ad5484ea542dea79a90811997b078001e85b745c8df18649474ca6dc8343233f9728402030099ae04a895df26d2642ca78bcef3783a5898504a45cd0282b3c8c394b14a648a523718b0834207263ea8e7c74d00340d3ead4e4da6e51b25234847eda698116d93fe10dcd53e435ea18b3a31fd72a658a18a4d9da42abe78a20d8844fd9f492313aeecdee052f977d5fb8d9ea444dc4eb1149c9a763de344697700c5cccea33634f836a75da4b2a9895cc2ef206c79581da6bce5b61674fba6c96295e2ef1f30d3e0c76539aaaa9dcb616a96ded4497d383c835ac25f2597dd2b691684c8c33488e4cc384e68b7e74c4a4d26043bda0f4f3170c5eb4e546d77b4147089bdbd4b09a32dbab44473e887134d8aa9952458dc30fb73acbaddd18d4f93ab7aedd1903bf680dfca9e91ff7fa7b7f43863e3434db110e9ac39cd06e7ab45e21b736aaee59775fa111f6ee82b7bba2dba997b46028c7a27e32cf003f3b7acdba1388cf65dbb352b70e5134ece11304732254c44dbccfea90ea3cc7402b19a55e6462442e36daaab7f216c52b8513faa270cda4b3f12c07a1126707bf1b13df230be71e94cad5e62d66e014f5c9f73795330c4adb19284ad08ab207ec31fd76deef55615821d0dab903a0d21ecd74dc7e55002a80c15db6167a700ef31a8e6937a489dbae6cb9641312e7e6acf0e34474e9cbbe6f99c2848c237104fde04bc402b1cefb45f90864628cda0e0836669cc48d381a185e90f31c038867512ab1c17ff6ccf57e679f759024d6716f28e38e6366b4b667665d00586d38225f60aa1c4fe7616d00b15afc0fd2fc8c2c518d681e89a99f61854d29f2c237bb27219d9eef3b24aac5d1ed16c178d9203a3ff9a435f24f086ff122b9a1d1bbd43e9733e06b33c83b8aab639632a041970fb464bb34c485ab2b418e8632b363708a4ba6fd7d7403fcf2efa21f2a3dfbcf49d8f5a4ff0f208ada0483ad0afab18bf20351f09932aee42ed526e361c73a8092d0afd7d5e8e540d10b75890f6f0565c5e93eba1c5f0bae96df8142faae5ec49d8034d811ce2036c97cc4eb5f83e2d6ffb671fe550fe0df1e8b9d29ad6409a8fa082d3c763c38312211102131cb2eb2cc169380bc7610712b751b73703f0839b4546127cd3b2343d3d41d14b6d6f40ae1e10e9fcbd647f7526c250325a96c9798d000ea10af8f002aa99985105e849bb6bee87a9e23f9e7ed2142789bc2842e8069e69981687c324413623107e247e8f75d86a940d6fa7d4368371996a772237b16322c89441062bfa186acc4f3d41004f49ae33dee513d57d68974f5797b234cadd32986415adea8dc3b25b8b7fd53a815e06084c8227d98f6feadb8e98aadc22bc2ece6fead4ecd65d6af093f2cfd72244b33efae70b9d4d852614ec09c2c05e2c5589f53572229a0d37a267d76df6d3b6987b7f7fdcdfa8aaf94a7ec0bc6056e577d2b508c37b0399682c9c8e1ade84c5402d0958d731bd2809b731c38c7abaeaecf04969feaef4906542e116a6052e511ccfd59e8a1a6c80bcb23c3e7b58685f46a122bd5af4619a61d6bd4fda871784819f2d7b222f14803f939559e1fc4751dbd8608c76ff341fb77bd7aec60d253908b33ecddb89ca954b7b3d1a5b9659615d975bbcbaef45282f90daf566b9d44422d9266b06b3aff02f5746fb31d92b319a61c616ed02eefee4398a47bb6c4ce9dfb620ab5a51fc25077abe4cebc32c3715619f65a203d10ba253faadb7e2cd7d42e527defcd4e6370540e762d96ebd2cc92844924dc62f2da23bd2880147f2cfb21ae17b9d40d696edf90f8b3c65def01e0d6c4bbe2f59fc68db8798ba3fa91615792cdef465d7043a6940a83889a57faa8fd6694fd64deedab997ec422644bf1d8e76b6c99699de863ac1db05769e3d879139ff8ddc3e9c79aee27a801381a1984e6168e82b522cf446b8aa89bd12745dc295fa291aba682c734cd13cb2ec800d1e96cefe6e440152d3357c91f4c383abfa21e7b03c7f78aa6aa57c35299958e8bfbaebb4a9fbf9d27c0fd80e9857f8677d56395a7946fea1a09847e33e007d18f935fe4e3134a68d30b6e03c04736ddc43d55e5e8ee5d0e48c577267786f6de9f99fda655a146c3e67f66bd729d35bbe232c65234768f7d880c423e94326b531cd7e57411e4b6bc0ca3be5a3d79eef93d28b4348c6cbc94b226938a0ff4bda95a25273d6946d9bef0977b4188eb9437391699b877001f0b9a5017061061ab0162fd88aba27eee054e7b312b577f577f6f89bb92c2ba6460e91c9c17cee28ed13a9986f5c5a9dab3e2134d81228c5dbc92128186ebe3deecb4a61f64921f80d2a280d9f2ab8a88e3935a7c20a65aa46b9b812e5a5a55158f9a684dcc9c6b6d3354d30ab599742b531b1d9cb83683f2a97bea30659cd73252f93fce84fa8de430632d9676e9c8a29853272e5b10e8efbcf9ab07eb7bf5e45c45d65b3f9054df5f0094b3c0ff13223be195626ff3c37826559e9f3adffa57bfb39284b3d1ef484bdcac58a196eb8faaeca14149b04437ab65b0aa152e3ddcabf53a5039e949e857c6ecb74ff5d2184199d10c246f31f8824d259692581f2f6386d3cb41589c85d3a3e2ee4b439e9cb0aaec7821b38d54ee6e632035e47f7e94160465e0f7e6fdb8bdd120b18649937db0c324aa16cb9bb4489ddcd315370813fc916a87fa65b1d297bbdd3dcbfea3fd425783903d24a054494623d0d542cfdc6f92792015f43f50946251a1533ca605407744beaf38cf9d1986c1e14737d1330c621d44355618771437ca34220465dcfb8acee59bf0a646661db21de1876bada866c6cca0ee932877b712c280f22cf1a3005e3d540f81a66b8c202d8b7eb3df30b36b2ace5111cbc291939c6d30cde3425ca51d74620b346798ab51a0755d846b4857db326e62486808a31b017dee0eb504cb5c2617e64d6fef21d435cfd000f7e124ad762ef0cc805abfe88e63ca0276e7d0bcc781a25d0e8e97fe49f009f7dd82dd69f9696afdf287ac69cfa94c02cc9c4e5ea85405a1571ea64f1b22bcbd75868182e3c652af4e7dcc6e06a84723f539d4130557d233ee7c3358750c7afcf71c2a4a58c929a711ae55a2ad06339dc1a4f8297e766e97cd9b852853253bb90a6908f744bcf09921a1a90dcf1d7f0bcc1f371e0d4fe2df25102326d26431beae989c9f0748e48a0e78bb5735c02295a69b8af5bfb7e7f874160d7a0c6284423ae080cbab040929aec9a76409669b49ab7742a55045dbe3c8ebe12c0cc021c667a32da7e83025c0d8462e536708f060a750e6685e27f668d9a770ed299369cda0bfe0e1a787c7bb6fd77197f8025ccd15fc94d8b5918e7a5160104c2c75e60600522456be4136c13ef34318133972cab645e61a1c319bc4d2620ae1a6622a9dd6b63f1e5aa78d61b1157c072ffe659ddc2cae16f1192257f4b1281941e1ef0286bae750562ce14ab096ed06104ea7ef2ecafe2a94a28949cd287989d11ce167f02392fc0130201d357d75cfb56fa8c3b51d24be1d37a54f1c83ab12bf55089575be7bf1d304cf27a7edca77be58284284beba39da3ac61a34da49b1e3f75d27f35bb0137d16199eb2c52838144e48dfbcc4b3a8e89dbc4e731393c473cc09a8f0927b9edde507b08f01dcb44bcc9d03d9b4201f261191a9c93e9a37dc9446e02821b441c7f03c6c4d193e876a62d14a1885a11c11f4241d2c3f6802d138a6b81c8dc1aec14ef7c0a85d5c2768be96e2d0a0714103b27a9bbe93174939f22b3c1916a7c91bdced4d4052cd95ae14ab2722ca1fd53cdcf181becd3c8d0f0243a63cd209eb143d3f27951d49752f8af62e5817017e7be469756bc33fc9424b008df40cd8533717b2c97f9084c03f78a2e4bc11431bc2aa4192204c686b9053aa52b13ac4624b16502378e41f4c61130ba3910ecd46f16af1824f0d2f2c1e18e1ad31317be43bfe1c2009a52834315c4dd2fcb9c313814a6554d36bb7d6c91f292e4e3d7c9a6d8388e0484f55ae47ff5752e401dfedfb111ebb38271200f87b59daf60e6351e5b7a0851ca6fa673413d9773d44c754fd6919079e774991c74eaa3449bb1ca29f851a48f614864226714c956301545e2577f6862c531844c1db9d24be220c68692671a95745fdd9590dbe165dd18d6efd2ef4a9a76158544947efd5479c89887590144f30e3b88c7ac500663122086b088977826e79486ffd9e19a8ec6afb7f8c05b46c3d78de95bd9473b3d62285d1f275cda368f99aab302686b5170b2b34840a179e50e7bb56108f7febf41a670dd1360a96c8d18d0f808bb0815b3b4b8c74377263fa7159fc4518037491639ff1708590303b226a9078e752cc6cc85c4c32f1d244863f0ef43fd5483af7a7f4e33f7451eba67f958c661cdfcf4b0a552c48a31fd79b057ce1699d6530f5c904d7fe2e1b0696aadfa8cb3d14bdf5858dfc12eb137bd0d8f4d113c42488a1e5750b56ea7c0a0cf67afb358f37732316b08e7f21761bcdcfb1bc0a8e7c1dc90fd06e4b2569ef282f011b8190e3b3a181d811ae1ccf3e4e651d278b9245d24b77facdc188d1aa3d7c7e11c9c2dcb248b20b4c1c97437245343d880b40eef52a854779a266946d7b8a44ed3442662df08472994a31077a7e8ca1143141c7fe1067202e45b69f6086ec4d35807baa5c9ebc32be7f91d634122a56cf3066968103c0c4ae2d2ab84a0fc12652a2b9c3dd427e2df4f15ee2b37013c1fc8738362f56ccc044baa850fa56b660da202012ac2f62acafbc08890bf7e800dd3d2586e5369f03b042df4ed7f3a1e8eccefd76bcdc62be42ef06dda4d629166059a6f69ad72793dcba3ac02d4f6644f4a81baa64fb2f685bde06003c1334187234877e9fe6b5a37a70ec2027c87c78813159154801f543a805edb35e1f09a734533807d1aa324a4e33476860a77958d9d76e2a1ce6e9a58fb6e8f46d1f3cb1a215d761a4339ae85037cbfba16e18bbbb92e95c09465482714ab4373e42b33f84e05a420dca08f090f6d70c46c7fe03feff6eeff9ca476eb42c7756220870da3d22dcc09ec1af809727226b3688ff9db7bcb34ee6404b2528f8b3d0530067455f2c37f25438ea50b286fc08fd39514fa5b455b40d2d9be897398fc881ea2a90b5cccc48ee746a963da0c0a0a7c003d50169beb4e5a7e79b343b860c20bd82207004f94b3e5c5f5f84491a76ec836378e30351c7ea6bcfc00c121189edfa41d53a8faa3eed6a170d790e803894260fd30606bb8ef1241614f014c0b85c117d1cde4dfb0da68554d90caacac4a1167cf81b82701a2747fd3be20b2f9e69b8f5fcbf34c8a56d0caf8af56864eea9cac38ea0dda003f3c5266981693fa54ced08fd4e324cab13c3526c6f5a75949a997c224f75bbe744c9d9932ba48e71acea93d2d23b2a7e759e9a404680dc77fb4b8684d538e2e18188abd6621f5e49442939407e16860800039662df631d85f17cbd8f33fade7fe3d4a8f3a20ed0d75415ed662f54408312131a3401d3183ac57fdbe778174efc66537cf3e05828129900cf18f56da394dc39b2703d00c66c6bd267184a94e2a3120a06382431cc593563e460215b6a1afa00093b9d0f51e8289713963dc832927478a396854e0abddbfb646dab9153e2c84ab82d8069f36a5ec804e099a5b80ace2dd7d8382f04b4ec178ae9c9cdb3a540298a180ba649ddf2a68a1db0dd01d7c7ebded86ce65857c422655db4127c474cd19539a7b50abba423beacaff8fb18108e682e49831c5a70e268c68bd39620d13a9b38978b7fef542665774073bbfe3a0a6003336180d739e792c705ddf793d8ce75a8d2051bb88e031612199dedc21735aed7a36f795df5bbbc0f873ba8f17202f86a59693d680e2c6c1717d7acc1dfed84d3def1c8502a9fb70112db809602199a2098559fa81eaa999f9d4e7b8b3d063be3a4c13c179573cc491ae41c9fb175c27ec50d9bd487740dabef28fc8d936d92d720b743a2c5611e1395cae0bee3e62b781f5f5f9d5e3d629b7cd050afc87e52f998146f93223f637bf409a82ec6e3efb77a315650d6be68ecbb7be42b5db67f18af39a34c39025eee9dd382cdb5773fdf71505f5bc4d092270bed342e92529d68b4c4e55156b09f8aca7787bd42dc7ed26994a5ae4b3effd4d96393d94e3bed4a4a43883fdef20b6b4ae66a7be159bd93f7a49380a2e9eea6424655a039dba89cd243a22a4d879453d8df7d8e9d5198f58522b890e1d2e5a90f337cc0bab68120ac3bc385e6f9607a4235d2f0cffe2b0d8c7b64d4c8485f04912858c8e2de3eb2ee9ccce856a0bbb6e31141403d5d827a12f8d25215426723131b7ff2e3cb61b93309e7dfff1543f7ab83db2bfb92c59095f3c030ef81ad4c958cc7d3af39d617b3124ba1ff6af2fb9552818b50bba0890cce161dea5b2fb7766fdf7a2726d498628b271758b97acedbbf450815cce8c6e7c63c5e5526fd8b081585238411c929bc111181685b75bac69c61106456b34785cc1373f9b48f46efaaa84d2c22399a571f912eaea7dbb628a3b6e1fb2d1542ab8b0cd16b7d7d5be8913e0f856cd268157f61a5d96e8e1660452ccf8df02a9258dd25af9bbb584c78b66c665d1dfdc752def885b4f5a441db0749d2a6158872ee9268fae865204cd9bd2520f342e81dd71ab26ab54e37aa53a38c31fce24ba788c5dc7f712445504f108b1f3a5f856357b6366437caeafaded264a360cf36746c18239effafc72c93b1ad50a319cbe0d028a5351a60ee3c65d140b66a34b6914a2dd1c9f803df9f480dea6c9bdedcc0f337c667a0b1b80520be72ec205fb26061a430b0e36e799a2f80828966cd44b548e526c9472fea0ced5fad9cb7db85b80d077532e0d3554d8c1302c358f53b95cba910ec238b291afe6b0b006ade3555da7474c441bdcf882b65d653c8216bd39fca6d44159f361c916c1cdcd8c079fe823c2460f1ea653226245a75702305ec6bc7f5d33c9ce1e07070f8473fd745cb1601f3d10b3fc937cde60ab2583d5a889c5fed4c8259eaa1f6e344144d0f62ebdc281cf06bafcf8e2ad64fe48723c5ed16e1944200c1a3843d4a1b4fd746af25e5e4cb0b9c27e57d0f19de30d0655a5bb060a62149d435e8a41267ba44a50917ce1d092b04853926533ad36ac2124bda82aa24d8294603244f395fbf92423392e9c1251c828425fea42e9e63b83088b995c16e814c4b7da86a846255d6160728bcd3cf84174dd282f0429f342ea65271c60d5fbd6e4019165e66157cee9227bebc7dccf7e5dc5f336aa59646413b0521b7e48621644a3c7602de61508f417587e1f4e9fc3074adcfe83058586f13ff8f5f617bbb616c44f41944a0f4665225ff12f49c3cd5d28479b33c67ff53ba0c2a8df54f4a904a37473d60f5bb2d85d4b056f41aac0e2d487516487e33133e9bee1fb90fb03065aee885bf95c8ce388e08f2dc4b7fb9262c3028adec3d238832c0595fb23920cf8d899d28ae4a5001b5790877f47150c493c2abcaac0432e127663b0e12ac6d60e56151c1134ff90df9091ee894f2bbdf667a704ea8c019165c807ecb69462d6b0d1384203c6759f1185b43bff9ec25baed3d7545ec0bda7c525f1339bc3a372ca881616b2a1b02411c10891d78f01c5cde18a2ec64c029236eba87a843ae69828fc372e2071537566cb1fd670b82b1549908daf3e4581213c8a0967f0e8c0709d0a4804ac7783bf747601a1dd3acba9d74ccf6b9c5711576363681e0e78c72819bdacba5954a2ef794154a55c089d605148fc38606e76ad90362b63a9caa869e3825b11c60f0bba002341efb402a651506c51c55f658fb7afa4229986aa024be4a8212be18d544741e0ca5859298120feb7418d93ae36a61dd7f259d5e1e687bbb115254c4dd7c7f734f3938b3996bfc37c95ad818419c51b38e0dc5eb1d43a3799e90b7350c48e3ace5a693412be2c11fdb32a1bb471c16e500cc87f5d7750b8acfb922ad49987293bb6a0758ea6fc46ff9b2cc1d1d98ce805032b479e83dbe9c5efd14feaf5cc173747362367b642448838f55883e5cf9366fd25a7240927f396bfd721e212c31e3d921e7df9ca5728e370ac8c369d67b1594468a45170eefc93899bdae687308ab915785d2d49b53a3e4a2806371674de885b85b7221f2adfb31bf4e3ea37462fc6ca8b11c253a5a02427747526580dcd3e77a74dd524af7cdcedd0bf7dab7a000e9811e630dbdb4276a31f03684c6d7ec58a263512e52eb005b738518b3732de178e657e340ad744da0d27d1c81ba26f8ee7c8c642d36f2aafcf82f10f5215185a871b59a79fac52cd312e0273e4264acae7044540ce6522f435cb2ba8009f4e67b1e6589deecbd4ed995b63747eaa4fe73a3449de0fb88354708b19174ce297d5d1db4f23c29d0d169cc0bc47a2c47d3c1d8682a1051861a9352de1b23aae91fabb911636a74d4d312567b9663a96dc29b9b6210f5f97f1ff4560433d6ca318261ca9f1146e9852caeea294baec84fd3ba21b1f5dfcef310b1a6d12afc46534b00e5a5f32d4ad8507ce06e71e42a44ce4c03609649baa89a61cd687a1f9225f4455ee44b5364a7cf4ad8e35514b633e88e378cdf6659089862aed2e0a2a3beae0dc62c462c4d640ba188322018e9e41e02b72f7132cdbd4cdf929017fc9ee5bde409eb7acb8b4fc567bad9917e58f18990a30ac9f635dfced5547e353f61d04437ada8c9310fbd6028568e30fde33a3cbb094367b3576b950fa4a8db4ebaa3bf056bf068e9c2c0398f1474bab10fb1d39d444fe8083c185b3b34d43f48ed750458f9b34582e02a93e05356d4bcb8ea01b89059595097a45942bba919e2afefb0bf997ee096dd3ee02488c0d8b69aa2e4b4450e30250db6333e9918217de86c8cc5e0d13a3e538c35a65f43169cc2277a0e27b6de96df406446001469cd3499f8ef0857a68f80e12a8605d9af3a7ecf5714f497bdfb407a57db1267f99d4c5022095cf2b710ac88bb21c978a3c315e17484460de88ddfd2eeaeda73d1943d1d97feccb6ced64e18a8ee02d9512bdf1213a0fede970eae8bf8f5baac1b6a11eece2cb96090ef044e418bb44fef1a480f3815db1e97aa3df81cb43b6e9c3dc3f4f55db6e73e3668fdebb9450ba1ef34aac4a0111c16a11170ae06df43e256f4aa5e1ece957651dc443b76e0fae51967fab26c222659e737b360bb652308d203e6668586136aa8cc49309aa53b836e1cbd5ac85c093e118b8d4a08a3aded7f8d2c018f83366c9001b6fd7a6e3ec74ecb67e73ecc06e631f53fb958857a4960ce8b0f636d56fa034cbcec173e66b295a00ab0dd3b033dc0c5a566ff84110a7adab5458858ce3dcc678f7b67b8062290e9f8ffbe677901e294f452427e0d74415546afad91dd1d55eef3e360783bb632bdcab77e68efb01f0ad406be8954fc8624c57af0507d57c0f30e722ff9979e0f500a250d371c43be4bad2ad78b219ace38888da852d628a10266bd33e097eaca47a763b3203995f8a33a37674ed71d7d63b10849ea368a0c2eeebbcd1e06595ae763af9a1a7fa696470fe7e7dc152baf77b4fc6a87360ff672e5aaf8a268a31055ed6d28eb10fa9d00915140c2e75eec03652690d4dfdb2c161b67d701e2e1cb18989892111b78fe0ecd4228f46265c58a1d20e365ced4df003199c5c496f1bd97143bfea30a290624946906fe5d4cac4c725147d83532f921c6b957742e1a3d960a4c871047ef5be826b7591ee0944c33beba0b195a5e0e6a0edf83e3c6854af845f966f91c28e0c4cfb371b948292d7ca590e3b029afc7624dd8f1c9911c307a57e4b9bfbac29df9a6a2cb134517e1bc9aca73c1f5470756e236706c4ccab1e7d8c966524ea742861229a35b5f0c16d9acbe6903e051fb08dac08a80619a49cef1770df4979a3dc660a69f9b66486db26313199bde57a10e0a4ca1829390a076cee5a236ad6eab3567409b7b96ba28cf24ef1d766293e14fef6272ec8a0ea0866cf4b0ea45f5188f0e266c6fa57744d4edf7ab519cab263fe803f115d367f8b8a00c05ff60e703b391f72ebbdc98d827c1c94e2953466e43e5b5700cd333a42b478f1ee953ba2ade577e7a376325adfe86d8e06d0ec3ab783e7603ec9b9fe0137970eb7e02f32f41722914668a46ed1420d2ae9d33ac94d94954011d50ebccd7a0c3e7f76837996b9649095a7d7a1de57924369588668e0e6022bc19897ad35296a61148bb0d97069284b13fc9e4f5f23bf85db881bf165637c5e95d61f20577d8ce19c9487f36d33277eaf7ba28c7d505a543a5268c5d5d0de35c19e2a4137f1fed0c7a2b5b8b84dbd66d24837ac2625c67a0c546335b442d2c67bb186412a1f6f5d6067919e9eeaee1ce98a1e3ae6a956a2a840c3d5537713519cbc24ac451755d086c79a72f03434cfe085a27ca68bccd50a7ca82f61a9caf95a60dd9b0bf8226f2ff8cbcb66795831822d003054b490f2a03d982945899050cbdf39ed847d1d990773e10861aafdab7b64eb6c8d7b6c122db4dfb21b6674244c2ac62e68fda5a20041febd955e0d23eebe7ac1de0d16eacbfefac1b4837677df56e2694142bcd05e093bed94f38522b38dc3c889e5f94e154a635026fb3db9f53234eb7aca5b31797297cbe9b43b95a37b77e5b2fceddea540028833017a4ef8c752461aaf6901f44dd09fc06cc5125335a6bcb0b14c71f9003d0fb73aa0516e3ec6043117f4c6a016c260c61bbea9ebacb40c7135c1b72e41d0b02af94720356562e8b7583f13aa728d249847b6d4bdb68bc324b6f8a291a4b5c16f326a96f1234c37c0615dc77f7bcd0515ddcbe5873c3bd4e669bfb956e816b7c4b47c3be7e1faeb6ba5f676046764734408c2691580341a2673082b424208bef2ac96fde2e294b96065ed35923869167d509e7d2851d5f1093c352be08fe7ffe2702483bc6ba0464f21989d697f1fee111f4dda166cdad7d43f4b38af44f2c3afcbf6c626810d2688d14b43b5031ec3e5f1398249e78d6903c441d165b9f976eebed87396d982971fdc6eb8de8d90f71cf804899b0d9c1fa7be34436cba97f1fd5ad0497c6d62518e5f48b621693a411d29ce8642f4edd158128c3645b6c7627ff8606a4515f40da16c17cb4ce53f0c38670e2940c5987cebc80e4ff5600664b683e79a4583271325a41fff611d03ed4ea0316c262f4ea779546ec7e5c04f94a1cf2d50100b28bb544d163e75611cb50949c33185f80d02f230b441514a39836df7d950daf102804b8dda7026989f3bc992eb3f5b40e4255968787fa2a7cf9f9946a9bb5b735322cee5030d3d5f5bc3a4058ac06b3496eeccd7da582d51f59211bbf1e97d2a40c9c988afe6fe2bec86394d0c9739b9d7ca19c9cad79b71fe0c45191229f677a23c3f46c6f8ef4597e9f88aa00cd7ca115940b326d043a96855bb458d6f17fac9f8dec9faad2743ea7a01b908b660e197c06d81f4323d61e8325fa9c667cc1dd03e08c2a0712ab731fdc3d4a7840af2726261dd7105713c28c931d87cd68205a71de7ada417950194626bcf076771b93b4a9b02d6b1929219f84d046cd8ffe74653de6e5843ad14150285d5fc160d45f8ebfee1e4e072729438595b005dd1b671e76e0f4b538a69590144f5bf27aafc43853b6ecbea74e6ce6b8bd0ff2349b0351496c0e0823869d2bd90ba8e7fd572b62e4ce7647f4d1fc0f7bb2a97d4d77152afe8516a908ee0b76542632e7b7220d5b87fb9a14543e729ad264be3227c70e6c2a53199a8b0ccbc0495f140bc9bd075f36e92be9996d9650bae16ee760b422938af4ce4f22b6703a2053f3460b59b947e39167d3418d7ffcf40f5174beba1bc7ed8a1d372f20fab0b671cb16cbd77fcefdc872e6e7be7d9a6e9d06fcfb40e814ccf4eef2499ddc92dfd20d005c104af74edd145b1c4a750ca8fee834c49cfc6e93c4c693fecd9a39e24eda7d7c988b9eb947803f8dc336192f22c99a176b4285994501c68f2272f4354fef45b9053f11d9ec040114d919cfeeb5cd06110da6d9b3f17c3b76c6e1aa92389afe24ba27c8552e361dcac0787abc7a1b48bb227f7ead5cc37f6eddf67814a3d63b59de91e9279fbe8865ac0d32c68c0ac9b5d39efa96a2fa46278ef85e6e85527f771c5671d4c59d4481b2411a1aaa5282a8a610a9cd2b720d2c3c63786b57d49e055b4e39c39a104d70eb78fada5f25a1e1582b7c5f9a483943a22d3669cec09f6999cdf6fd0253d2cb2b4ba0e0d2eeaa6056189dee88b9f65b7324695144a52d5de856a8aa20e3facef9ff0792905f66a3688869247f4d7d287510a9c44c06d7ea7318fc9ec0bc89e97120852e82d230ade919b14f46b8d3cbc426fdea0c47357a69b7d835484796b7259b9275872f54ebed561174592379a904f73728f9a7e895ab7862e1443fb196f63b6a4471c57dcc31347fd2baaaa77c9e6dbce0d52d5df59255ae5d3e0f2f3f7aedee6e5a2272037730e62ae218ca788886be7483259a970bc002068fe12d7d4fa912665755f8917d9e8acd937a9bf91877c6bc08853651f0a7c0829f212f93f9f5e9b34ca982b03d8843b94e0c3e12595d98c7bd2d282ab5fd64fe00a87eabf71b74eb3d4ad13776441d4887c08ba1d3f3976c6d22bb769b05027f78d6079e13645d005b0364ab491f9060185f4e95c2800001eeeb38c0e033b77cf023c924562aaf2f19922ee185675ca130bad3df310092208e9bed053f46a47788ce590f962e36d19d625ca3f6bcb0d6a28f28dde68e80aee9ab0858a0b7053e73e4d5da15248c7647ebf5d7064e09530482a8bf353d4546cc92b98a2d433e563b3c4f74e67833fee4a71c98ae1e9d4d670eab7b72e88e519234e7ec976a434e1722d6d2bddc8e84b0ed63d77f8bb29eb1fb20454ae51edfa99a5f62aeb8194fbfac5100a053e0f134ddab928ebf78939b32b1586eef3b19ae35b0d478500866c5a84ab58957166f4b7d151f1d54a8971b61e6168631e96d1a728f806e66c864d2e7b634930158639e909af0477c8af4085306d6a0cf6105b12e48ef832f170bb360bef508b2c8e7f96028179d53e20c4f5932b0db883511509a1936cd585fd2a26e1f3a49b513d88a457d1d9812e525f3d7543963d684cd9b454278bed8fc7fadd891fa46a33827eed4157eeb5fec22d06b37b651f53d3114ff83b3ea3a1cb786d22dfd50e62a3892f115b1250992b46195354bd9e78990b686de8b64a01ff889eecdfc5e43e86d1a87e0fa74114fb2aabcbbc5007b33d0b62df92b471e0dd2d2422c14eba3b50c60d67322752941b39e85b677d6f82280d5b7e84f87a83ea72e27a7f904fa1055732c5c33b969009112f50be7de8a1ba7b138d8d55a252d7a0a1ae84dd8d549eab15f05451b4528364982aecaa04046b9eff2673cfddee2adb0dbe2961990e6005a54cc4af59454f4223302da09f6eec4c827b7fe6ee1898511435d17b49c789bcf810ce48b6aec17a3f992abf55b439ecb46c2b4541d233c557ac890569910c56655fc999491295c82cbcc192d9f1b6d91d5040d540c6c50eb83225c55c8446a31cc70280fd1a3d45278a8aca1f9fe54ef5df7bff833ce8077951ad1022055f056ff081580de813424e99a5fa139808c33ed6ee4e6b0bd43ccf5d010fc10949187b52ac5e56ccbc18af8a29703f782787b611b25cc76604ba094f9b86a4113d04d083830ac1e07076e89111201a9e59241ecf1b5a5c9cb943edc868640be792784dee49a7364ba2d58c9fb62e866a5f7a18092e086e4e8a8d6ff880d34cac17c25d4b172cfda35e168fcc9a689a9cc8b96fa594494248c86185d78e46f783c02632f4098a0338e2e0d9edc57b4ede010d38899d69d01ae257849247ad93fc224ccce835cfa7957f7e0712f44b561fc00c34022891497ff5db16af7e5d980b5e9fe8c7078faf1c8dc339043201b12c8c6eb6078cbf13bb274907fcee44bc16b94c7ea355f8c11856ece3e4a7b0992589761348e591d0162ed13a1a2284537d47de4d313c0327d6ce72ee7f7b986dcaa3ea7a14590ff45d59b60994fb14e93b6739c09fe4ceacc54084939aba47a11db487aaf02f63090f64cb83beacfccd7db8a213a67b486d50284714008c8b194acdad96e9cea8b21040a7ffcd7c3066f915e650ecdccc8be9aba0ba67e7e6956aebe2587d045dd4b1f2180f1f7265e0cf678392e669243f0381fd5d8a9ba1ae9473360aa97afe7eb1c2d3293b81e74707c8e7670ed8e980e61c152c2fa546d2d56ceacf517562c6f9d19a14762bf4b3bea58c4c9a1fe342d6a8a5957128e2a0c383f692aeddc7a27658bee00fc81beae04ef9081bb16a9b5c76b8eda7b52b4dcbab9849321b532ea1243f85c46b2313ecc050c08be7e1ef532ca3871ba2bbd75a2cfd374881ac6bd2a605b3b23a24da69ee2107449585b8761e4e6044b658fdff2c995c44480d8803063528d5e688e7c03737ec42177ceb1e6c5a15e6dd53d31b8ea0a766010c754711223866f8d7eb29bb9fdfbfa7c58c8231b1909d62b0b70e61dff4c0ff2c60ceb9ddd3e113dae5116f74d45ab031d789ac678a4a2c3d59d84bc9483e08b5f5c18a5dca644a677d959b89a062ed4e4a558d14501c83c60ce7bddce28cd4ab6210f57bcbee028f55da3f14c34b90ce526d5c532e7e84d84dbc49e5e1d9344970c7fac9ae518ebc7bbc61ad1aa0a85ee9465101c0bb2836b99e59d4efec53968be47e57fc918891ab4b069af6ca9f1614c72a78ef83f7c832f9705a7288a5341692715baeb16db9c696ded14495a296dcecbdd07c7d8318de6782590e15d2314cf7624f1af3d082117a577a005baa6f25d39a61afda557050bc022eb57ac84a9d9a324a36b765136bb3a1fba2f2d4156b98df25f9606f06db03e277c5074227f0abc67380636f0a4bfa30e0a06e9f4b93f1b0412e31ce30e882042af4a0cfce11fbcf5555d61a438fd5e0c70ea3e5f54c417fcdaf7a09cdd19a23450049516261e7fbc4bfc3a347b4729a5c0ce1d733b9d13dd006257f6f0a19d896ee13226cefe0a64fcefe01f41392eef84f19d934263200344219d402cf60abf6f8ff517ba5d48132c19a837157098ede5c50e786a615e9d195f9ead7f62e9e68a9d07e36a5e223a6ed8d32e4ae59da66e0b856efef727738b9feb6039272715578e02465737098074b3bd60bfba36acc64eb29fd12bd740303e484c128e864fbd3f81f0b4b639e395ea92b9a95f7836e75789597af49a6bcd11bcf4d13fc6221ff86954d38536a9d724cd6d8a48749121b55163a1a2103e42fa94d01aa64a6b0db2a0cd089b70ab8fbc4b70e9c001ab68d1ff6076a43e598a595e286d2688a8a1dd7bdf3debe6cf3e729be6df05675a24b9bec3a80050694525e3bce21634473512d0af6fc7fc97b8d6a4d34d3d17f79fa88653d1892b3876f1ff3c8a801e72ff1d965030ecc5ba95db688b2bff33479bd686ea293eef7714a4bf8201bbea0e7df4beeccffd01d542babecdf4c5be451663d34cbb56f31dcb64fa2c57ef668ac8d4762b3cb266523b3b72c70e0b5f82b3dfbf2b7c336ee1b8ba632031d69c8ccc29c9b7d437c16b918e957f02a2ac09784bfb504533e4032f2927534847ec8c84a660abf9d31d6600ff91cf6869a5c81b96f27d012242eb9c37d4524761daf8d2dfd7aec4f8bee0943244cdf7c0daf888e6a42eaa5419836707fafbdfb00b5bec019b1cd576ba90fb7354221b54a8cd170406a143e91c48d1d083f7e4fe8e230a86fee32186ec4434ce08009438f745be1d402f4b17d766eb0649872e2a4994b2f12b8a19ac3d1c9377bd09b57c00ee4ecc8481e7b79d5e95207168a113bdaccbf5ac7ba75aa23d5713f227d78b6fbc2a30c616b2300d5436e25b4b6d1b8cf9b55abe93ebfa90f0e10dcd03fd3cd7e37b833106f49a500cd38e8d5c34edded22e65855f55894bc52660e4d795cf19917be470e6f3ff28213c363068b8f9cbe696cc803704895ba834cc2513e7db3929e16d4b5b0d8e18c7561cb61ead903ed1de2404c084788793854abb57560af0f3f022f913294099a25ed60a3a6be6b69f734da3f011bebab6775f83487c6775c2e4995402f90b4fb10f6451639e8275aea738ad35ff6bf43a160e188ba32e5effd52e17444dcc8fbf666289d61430b5ab3140fedffbe7c046187749abfc2087b6bee3a19b4eed810b08476a88530d74bc668ddfb2e6a723b3d1af66bb92c840c567ce4029dad578166b8db9ca3fad4fb2e3c9865112e83a3f2b69327d6a3c22ebc82a5861e04b89976a225329d60d6ac99587e697e353cc533012efa6869d7248b54fccf6e8c2de733b6a5032bb7e27e8bcd88b424e33fafd75ec08e5307be379df47df8535ecd46f11cc33fd5875c33818d6f174e6489a1978ae0f86c6c67e06843691156328a36003db00f9908c95bc2582c0db79253f95b60c97d66461486941a29f814a50b746b62d419fdbd5dc01d701623fc5fcb9cade3e240176be1c44c38f7d3cf4ce5ba3f3956efed54f5383bd84dfef571d09d466d2289c4aada945d238a2261b4ee80628016e80565d52dc1c259bb52300cf65105607f44df6f5418346a8bf7574332bcb09a5b9a1429a9c93f026ed4ed8242f123858a931a0bd6e94864e42256c2344e458ed9a0d35643f2618999f4a4ea5c68e4ee12acc0e24d6e582ed2c2c7286ee7b66db52ffa1347009c7567a8c6b3f64445e1165da7199f3e7d1896a6ec1c31a3712a61148d6b432840796b0da8ad315c6dfc2afb076209d4e1c4c500110dc2e6ba47721022bcaaad4f59a89562717121b03611ef3b8236fa0ce314fd4bf9b2d29f78f0207b6339cd60022c15fa5af0b5f9232e052392e7aeeb3aa7b44dea6a97fe54ba76115e734f198f413a7908caed7ca7d05034b6227d6164224a71ebf20278d62a69cee80689cc51d2b21105d98d0c14e722614d796e989a21c7edeb68d312d7f706a6b86b72b66acc1c92ec65f36afbcd7bf48449b3acab4bb92b51e1892330e0bd6b678428a5ce5cb25f73e96974a6ad2e60ccfae4b3f80c099885c2fbd79de845b47bcfb46be30ecd2720c83d1bff5d1a17a7d50dd75782a528bd9be4e9d248bd5291e5ff9f32ac7af7de6cb2abb60c3089e4172438c656c58e02153f8c09af4896ba3edf4c3897481cf7f2fb0f9d48d95bfc49683661d00055113453d2c0f8b374e8294e61e7b21dd1550442b6b2bf860bbc9ba40453b8ff00f5ab71922f159a75495bcc79a2e4d2321e385a246e93c1f2f5bc48e83f4d4d0d0e228c251f0fb8d5021eae2e708ea127f51e99f2ac2f200e5581366172570a99acf75eac34e20b88c6d72db856dc568b97f720f96debde71bb4de4f217864f5121dba586be6ece962d3828cd7c7a5e3b34e7318cdf91e4dc3886b8e6d074f6478d53aef6d6514b589762344f59061f6875d0885533cbe470425c4dfb8099fa3bdedf08bb82fee5c8ed5c8258fbb1af1b02a4ce96bbeab2a0815616e95ee2adcf9241faf27bb37dcfc5aa4a012a0dde090a3ce7f128a57dee3b87d0051ac4fc5db2a03aa8f8d460a4b3ee048de8fafb93000572a252a819591ebbf6fb6c3cb92d235f8fdfde28f97b2d6d64e4e9cf09fec2dce242eb195b531fa24107f0c859786cf60ce271e7d2f8ab528a6c64395af4617e40eb5aee1c059d9a1b210ec014694eb50f590a103b5ab5fb85d0f31c82be9f161606774581e406a6bafd9cf901b0848ad12eb9d610ea00fa2dfe3b9194a81a77474bad74707f55cd7a0bf0f789386c4577b41fe2be1f5dd633edc9a03b439ce53bd2a316282b5c5dfca20102c6f4bcd63db7486278872948456836c58b1c03a314d6c780ec950088b9efa7615ea85f71b6955949c72489018572a7bc6427a20ce46dd3bca532a5a9bd57a82e8a9dceb795edcc431a1fd2667818672a0923a8d96cdb352cc1199c2d79155b55d0fee51a7184e1f027291f6c5c51d55dc0cdfe103b16083ea55364f5938367955b8f867c041aa7c31316f6e3c49715649d6e49ebf083abec8585f43545f399b9e4525e4ce0f6c905b5bf9fb2d522dc9843d5e8bc094bc7f04b4cbffd12808b85719ba27659829a106eda952086a7d56130c542d35d497f7ad56a1b8e5ddba5bfef6cf10bc040d32efe2cf8b891091b55883b7e420c9166fa6f335fb6921c0941b96ed22f933e0ee7f5e2cfa77bc002f1c2f342225f952d0d4fd89255cf0c77880bdb48256a1d5e1d45a504c3848ea721475898ad0b1f87ad45b068b8a7075fa05018614582267fc9a22ee4239fb5d33ad911847221ec40c88d0a14a6443fb88a2cc0841fe989a30ae5fcde31ac09b7486c4b101c3f91c44adc5d498321a2cb3c2744147e731041cc846c997f808378082288ba7dc231f02473b6e8b931cdc733fdd87ce692c19eb9868305a113825264acf12664dfe66da4408f247368bdb36b64481d485cb8ee45ff12d930a2216d2478171be6b594ceb6ebc0b9a59aa5e6576a065434ac4f3a0d80194de6f3b7c42db2f391656d889b58ff16b259e99d779dfcbe47986f58d4c27b97e87a579a82a3f4ba1a14f81827519850506561465e9275792c641e36de4b00b0142481741a5c59fb1ccdf3fc7fd91ce8bf2d572c9f80ea2de43468d3c5691239cba87d531fcdae52b450043c0bb5df2e14b2aa578e8076987e44b88555fc4960de4cb5a9f13a83ebc21814dd9383d53a267d1c0e473bb0ec5385431c6388952337abc7ab0f6d0c599a13fd6536db43c56006929fc773f917afeee2717b446c963c50fd7ca17569870460dfaddff40ebc085aaf0180f271bb2b6966823d5849c033191bc3a27fe76f749905e789c1c21f84c3a19d4a697318eeaf2ad0a8e500cdd4bbac120d72b8bd87fe07031a407b2f4bd640b3426d0064f675c9e9fa6e16826316e3f4a5660d5cd7eda481bee219e7fe7d90f469926c207381e55085864897cfe084787ff21d03bf26d7bf4e76bc8245ce15f280f8157efcf97523058630ebf5e0363d87dc7f2239e1b37a554792c96d4944832aca494f7f127fdd393bfaa753c8b9334d878773046b79f26b2cae38195df7dd5833bcaf42081e72d43e950e683c85d10768483e684dd7a7f4f0dc6b20d27ae7a7e04fa5f841f5993b15f5bb1d81a2ca46168cedd16dfa95a044dac4267102d5a45a2702122047c1399603e56bd402d3b0711c1ef961453d0d02423800f583942046d15b5f247190a06895c5c25415a8facdfbe7a09708c5ff8cd38a8c90a1cabb438c811ce90871e99536ab241ae063e4eaef90a01fe3d9aa42e58ac6e76be74d8e9d7cb70f175fd4d050ffd0b670c8bdf07ca9cb20aa96b6ccbacda0779c09377699985f2f53ebfb543525e96f27e5ea824d3c5c193cdcb3ef9cf3231d842b1879d9583b35b2ae4fa516895c13aa9123071dcaa6dc84ad62832b8e5450c0204a3f2df886898698601cc57c4386c3aead0ed530e2cf00f69fca2745458f3bd35c4ef4b5fb66cb53165b1ca51bf3ca4080b6afb0738ada18cc92ee82139e8bf313845a8753b6baee22aa3ac1127b4586a9eda6cd04c91fcfb4ff8572a50bd616133d36567496be5fa31b71148e48616d46dfdb703eb281bd0c5dfce216ef9c46a660e0da5c9be1c6cd84d11aaf99a62d7f1fa6110f531bfbbbfec224b58bb4e11a7ad546c34efe8b34a34c8a018c30dd6450d2b399adcc56fa52d8c75b14b518845b5d106dd49f58f26db67c1d3b4d872271edbbd69c0f71c94950f2893f9a7f0eb2b3ac5939cd1afbbd9845288df24e6debd73f045b7380c92d63fb520c14b63d1ce826afa07fcd5eff371fe0a2123fbb07c617b4f9d3e6baab0bcca18c356ea7b3c73f6adf35288ff3251f0f1ca4030066a6aafd3bfd4552db19479530263e5b91a10da9615f59fcb11c4c8f3a650f56e83cf2a6462b2d4a656d8eec02846ef5eb0bbaf9ee3cf2120e3390320823e775332f70402ab9e00a26b799d5e74ea0c8c80824e0e2e4a9299e68435c346223b0c031cba9aceb4635673bf16511498a0904d080afdddcf7c8b79d8e372289dd7e32eaf9d76c08993e81683e100800957fb37b63b5cf4ea6b960ef5aca40a4361266686ead119dcd0c1bd52eb295552cf7893c3b888e61e380884cf437f2315433f87040338ae6958ccaf053e9c2eb98e83855bd277c23d75c8839476882e44d3fdc722247d9e04cbc5087609fa1d2fdf95fbd5a84587a7130aff750f4002c5a40216fbf29b6ef147df86c339232ccf92b76496c18997e0e3c188c00d1c3676e728791b8319ff00208e10afcc29a9d1a0f4edfd40e48150b7e7100d8dfe2e352a52ac822fa8459cc096343228739f76dfc2dc882aa1a8e3ff3601ff61aa9055fe281ffd1529cd4fc8715c1b4732f8046885534d8fc1426b083e5c7e708365c8beaa44717e9ebb770d05a245615ac569a719d00d2c4ac8b8ad0a752ea6c0319fcda7916ab38716c39d30ef5709c9bfa99c2ab33b0e5df87dc24d3c3612d9d1d92760e2dd1e0813fc0b74847f754e5a17175356f46295c712e95a9810d4afacc6b2056b5939f1fcc6a851edb5a3106329634cd95d3ad3ab1029a0b7e3ed562ae08279c2d35ffd13a5781db2f31e3cc764bb194bd85cb4be2ac943f9d48e658f1edf34b103487c55ef550555e4422ed137c6cbbb242b10f812a8cae02385ee95db3db5183563751d43e3ace069364cd1dd82fa49049b2bf546cd68e2176fd77f36fdff18b39677998807c35e2da20824cf74e494553d3e36e4f8b6c1863eca193c96c5c4bcc74442bb5b7aaac8a3cc0177aff8eb173957743e767ad8ee8b0f7b364265aa0f8774a925137d4ac35cea6091f18338743c3605820d6488f31a0e39b1b4968e297b60cf7d2d76d6f5d779787835622bab065d27f9704056cc89c166e336310bd31db863b44f4679eff0b552ce40d492aa148986899a1d1cc3d99b3d52ef5d9ebd0cbd77589caf4cd30bb0d21c258f673da8ac5aa675ba5dc562ee77f60e5a05cc1fcafc402add13ccf0f8ee66c8c6865946300fa84693f97d757b54a25345f555cba02afd6b9fa3eabbb677d97edec6c89c212b78e6508ef01938d93b3ee09e3cf77e328398ab7ec7da1ca6e3a6662f504aa9723764af1184b22fbd59ed5e71318e7e64acba33caf1c51fd0c871ba7a99d3bc264bc546464af4d1f75d59215950b8ffd1798014fa95e4ae2b1f6fbbbb3807974a29c758731f7846ed312828f35f9df508cd404cfe303c3650083aafadc738d91f9a7afddcb20a7534ceb2e989007040f012d60f884628ca0f52a4c48f5c659b92428b4c29bec86417317ab56cf6c6ddfe800c4e5cfa79c417310e18033776c48c926084a95b31e8561dd6162465cb6fb3276f0aa90f03bc97f78c79c14b8b7d219be063a46431914e512578c4db157d7285f5be2ba036b192c0641b5c5c1a76d9dfb62045fdfa016e460e825080021bfdcb0ea4a025ed64c1a74955360b81bd80463f0ed9d3ed894daef7f3b48a3ac0d3cd01709628b5b9c56e746d51cf21d5123953d20c7772b85822ec5d37ecffe874ad5e22934ffa78a6823adbedf16f026f53b2b946f0e41203d4f150055bc78e7f5168f794d6a4847b8ee34bebe0754e7a7c0bbe428972bd237a6683f799b50c74f6676643a6948bf430bdfec7f27cd53a656b9ee98d32b189ffeea92351871ffcc40a91c2b2442511dfda57ac2c78b254672c860aaa983b768a73e2946c01a06a868f75744578ec0caa46f64e7c09e33a6b1f6756ec92fd3af244322e4fa953161dd23ef9c574bc11cd1478809ba8f3ac4e786782affcf2f36d9624c18480775d6e71d3ff9d32f61a566597ac7f7f1872ef410fc7a87dde662224b91aae766517c0e02b4e00dcb281341bb31b0aee478569744b533f3b2ba1dcd1fe04d844245b8ecbd8b575b4482f10c73d82337786d6711dc6719bdf8a7c43a137b712ac961c3acde69f816c06904011df469246570ca6167005fe66443f4855f8425c6d1a6c575f83a80e563bf26e6d6b9ba49f22276aa8f3cf236b0bac6af9584b940a63195502b9f2f012481857588481d146a7a3803acf9e9d402ffbd6e9266cd0040e93fee976144270d572633807a9d82ccd43f69b02b502346018656f8f026bca30f39f063e6cf90538652e14e8640093114f52d22e2a5a925aa7d220f3885be1ab467a1c66efeb124cc55729afa2277bd2fce02a08e03c8d8c6e2dbc7f3262f1aba350252640b4e10b25a6a14bfffe56c0424e8851277ff41378cbc0a86f9de1544868e309e5557ab4878a342305a1d76e29d775daf26efaf7a5ffefab3776e32147b67deb51eae732ab3ad47de93cf606d054be7e8b96104ce42ba80347af611025be3d216f2041ff211c06d992b13febb2e5371923ce4ee565a67721ec8447e5b1740f04bdcb895a9eb14647016ec2b5383c05a979cc75d0c8942dde0e6f671453e69a58c182ccc687801ffa6a99d1ba409c1230b7e5ce1d8ff88bf2524a167e680b5d11dde34a51cdf123f2c5fbf7f2a2f0f26a354975aa8e9c5a08eedea788bd9a389ac9bd2949cd0201f8133156ca82ab5912047b7ced208e2ee8ee799540635dad0609198c956b2051b9923f86cbef3e9632f0a45feb25f98b34a24833a0209790e83562eb5461f80a1e7791299c46262ed4b7a5cc6d19c5532c810d5298ea0cf6798d284ca4dc6607ce321eb71fc113a019c391c71ef2fd75ef5e263c7913f61376b41f4f0f1e37b2f8202ca8c10a3ce2f0a901554acf70d4049754161d28c105f6ffd741a14e7da431f8148f54d1fa480b8868970a053c7b161cb081f8ddc718cb053bf5dc7bd39919e4cb078b0ed87277ed9eb32c85e21cbc6f85b9f5f5097512397f1ac9af5c0f994f8e1da493eca24c9db75bbb823378456910a4502f9c6d019de6c662673632a0ec4d35bbd1932cf2d467d9851d5e7c596fe397d4fe395770f1a3a4eb0413f53c5ee229b6499c9b349350a0b2d88b9d841b1450a6233a21c06731331a672c8a8d0e3a1f6537171e006e4f1a06f9c8b8325cdd5eccf006ddfb9814164aee01eb1477b6b4f9880cef774306d574201e35f1e08d39a37a2df6d8d3050e272cf62589b878df7c2d313dd548f574340873388ffbba449822cd1cdeea6de54ba78e537def54f9d0f6b88a0b4cb6ced91eebf5654ab7ecb2f8b1f76a12b2067fb3909e8548f6c47354f098a01ddd37d4fac255d174a6b22e9cd6ebe5c5f6d41d604e8dfb78211c1b07de0bbd340afa7d4a9fbb625c7e5625ef038a7fb2c44e4434174f888954b36b0186066e6805a859c90d3e2747bb549cd859a1246d92cc60721bd108ff944254b4c1cf20f2a0aa54425f9720a23233082d0bea50333c185ebdbfe5568b93325adc0df720c3782d5b94e3e329503e81a6f9da0636952c9ed62011bd79a35f10b00cfd313bb98a17fecceebbb2afc89addc6e3f1bdfee7285109d2e2ffca298d7e8cb73ff17ea1fc98ace790e126861bb57d8d98102789044c5fa7fa8901e40e14753e4f50ea04dae4c6900bb283727e70e36a545d7969df438e411fd511f799d3041cddff8b72f41aaccbcbf1ab9b05e6135f251c14b36d985b3d1d676cae23b609bbf0f6afedd3e706236261b5717465c4daab660bc998906854059f2b85422d0f1ec385348a2d31cdc20486149154db1e3db0530a55e544e4fe8a4de132767f4812d5f16f76e5646239dc7a8539e4f5e4f58df7ffb9feb8e5f259e2881ab4afa28590ba95cf27ede792feffff421539e40d4ca00cd4a71b98db250c43aaac9c1b469c098bfaa21bf47264ddbf6eeb3d749daaa7bb816fbdb985a2cf61ed9267249558ae2d9a7fe9ff3aea3c804a5537e7d07e5b924771bfcd51bfff1b45408ac425f88a522be79a61229773032afe771762f11265c99928e93c8defff4cb167bb1057b0a53f6377ce8cd7ede7d5b1732196c716b274da58c0d572c50e6af9ea36cf47ffd99d106d55f7e6900877f3347d92ab82a429fceff96f065fbf746ca7e02303d6697ae21387fa7066102dba30d33cb9f6ab6c66b48fb933c180a629bc1004933a73878ecffc630178533ccf40988035c6e41cab12ae4ccafbb344b9a63e42e44e64555c1bd24c8f3b93afc2009db065839a2bbd85202641f47ad5a9b509467fe046d65a9e1a4a50a268dbe948b3accf51418c62c9dba3d90d8c9e15b97d06ba1dbae6333f06d040311eb61b4f9401951816c06a80f00d406410f5627137ee780e59101b9a17af6a1f233c5e213f438316881d4b53b2ee67b0b77fa318183be1a1b6806fe81979c2e4a4254bb56d71a7c0cc8b9474f1cf840964eae004bba8cffbf544ba390f98e88d192e2ba78b62ae78199c92fdc26f1fdda6c8949aa7f3432841e8e6407f30c8996ef63ba96a488a4d07b303d06e4ac322a3a2931353d367e6f3ba12da0b3c28f36bc2d9bb5ec896b4cd29edccd5dd6413c8c9cfa7c39505c29594744fef093712d2ced576b354ed3299ad012352de191bf0ba8bfb3f09a46406265f516a091a5ce5ecf707b493d7549b4eda5d6249a60559fe4a8b097acd2d5e8ab576e1e8868f933ec91b4c9aa18a5d0e88af187c7ac20219803d4dd0bb04123d528d26aa260074fde8ab4c07da0c3a4034b1a18cd68429a0e2dc5fae30ba47afd9766a764b1020de0b09db5101faf3a653459b6266d94622de2288629c2a31c5130a23483c71d58edcdb966d53307c4297cbc6fd7d0986289a512a79a7b9192ae2b1820d50e7142e7038d16353a3c129b971b087e7e5fd706faf7fb609120d5b8a0d5c90bb0bbb3474bcef28e1c9f6c23a4cb374287f8a881e4b09a1c9c0f837f22b236ccae08ea31c13fcc202cfe66c8fdfd6aacdcde33767f7e7135cb29d34fd1ec3b82385ec39464c5e7fdb1bf4ca26abe31a11f2825b5a27b5335f03b536e785008c9373541ae66650ee055f80c988673b818611bbeba13b81c6ce2b3ec2a6a160574d6277ba1f2aa6686c78b2aca08918a75a7b8c9e62c154aa25fb4914ed35091f699ead5f21d12d84321ab24464f2136ecb91dcd5507fd16e5652824c5f04ef6f43ebb1265a1968bcdea625c0e3ffc5eabcd2b455aa5910a52b83db942d64125027096303a846420a67985ff0cf2830861267495fae6eec4ef99436c77b2564758c26bdcd4d00a0c5d46f9910f5a187b51efac85cac988cec9da8be2534b5c8aaee7077125d21e62f1423a1f17993ab22aa49c0ec110c8f7a153dee8341c3226d05ded1af53706ad7e46ffc6bad763ba6d7fef3f0329b91d9c35d58cd90bce928e1aa5abce9acdd060a9ac11fad2f74e97024dd58f9c251ab3b6060ba5a8ec1d802c1d72fbe9a3f3399e6b7e7a6b1d34e0459a1ab8dfe921563cd6dbc2dbd40bbd51c89ef972772ab7f0147acc57dcfd42f82d58c40875333e135dd919732ebafd869c2aae1bbeec4c746bd7bcb523de4c9261f8476a227526f07f57b6d206304f513cb2455243c828c308c30d4e596635b08d8f4bdcc439966b01b2ac4242b6354167f6f50131879b39027a368f921fb1c0d31664d57349ca3f28bdd22d2e4cc770713159b7493e7bffe98d7df71e573986575ee61307deae75a1ebf79f78208a937bb7c972f5f2dc514d2c4d5e3dc1c17dd653703ea7a0b94c29c16c5268c62e0ec273dbc94c60fa0a44b3b5cc45d8d15100fb1ddbcf5edd15d56d157ddc5522bd2dd9cf1da26695aeec246e5ff4e62b84a821a268bfc6288285b153330b4e0ea4db121d28e2f45e9cd70541961994dc489bd2ae94d91fb631342bd56f4e1fd38c34ab6468d74c1159c756d03e9b13b797043ea8efed66c13a17edfc9173a251b4f7e7e29bae6fd58f375130dd6b13fecb21f81545f8d3e3311e2099a2a9cba7ade3d04d064d222928de1ff81d3e64a874e9ef9c738c5dea542af87050b00219d6c0ef577456ee8ae9ca8fa2ce74c665adc1a559947d06b7642b64687048d34ccb9dfcf2d3aac8493d51c79a4f822ce86986808612626c048c5fe0f2e04c679af8449f20c79b75516410a9e84816a67fd4c2e2485742ab2e2696f070ad6468b011654bd17e549bd2e11e2ab5b8df68fce0c40f1c8f9fc0290b6b9b4c00b34b7fc72dcc1938d5af755b0bb096796726172e75b5a92637bc34b25056638ad3ec38015f34001a379708cf6413b39271136203ac6a9a644d145b74554f0e8d94eed4fa1145fdc9f76e439d3227c4aca3f2aaf3f60df45b3f2e6773e6a0ab31535d8f4c38bcc03768158b1722a120b04f99c2d83fbe86bc58c3486ea52cf46e0e92838dfc01fbc59203bf336ff8bfb64aa394db10e83ab108b28c8f7ff3efb8b70231dab311cb2993cab3d8722c08bb6dd02d50d3470649033f2be102524206b99eadc5097684d7435b1f28f7eecd1d7afc591f122dac9805ad9d4a440940d17e90ffaf21a3aabca3eac33cd91a705cc9ed46da143613d6fd175b952e29f7a9997bdf834849e646938bb8fd516a7466e0268bdbad5e17df12aeb2c3b7e03ecf9c12b56d6495d4a0c37568829ceb4aa7193659c0d412dd4fe244f7be6c09c911835db918af2194a05a2db4f65f517ddc096409b055e982aba94851c52b1db7bee9e291bea8e36d199fadd1723bbe342e832020a8923f8e14659520e86912a631b0cb70d29dcd40967c35400a10f8366ae95f69a8374b6faee31392494044857a496a3a4d38d2ecc08f1e731d827a56faf18c74d42d6ab48de21db6cc1be5ba6cca959eb4cd678b047ca5c6b0c199d74c636311eb11e0602ca8c44952e2ae7b0d63f9c25e26a89b2eda663c368d702b44a4b503715fbea353536aa7bbac013444e138937f37d13798ccd2bfaa5b0810cde2f9ff103eba1c8dd30ebfc95cdd4c6a9ac39676592a354c8a20a52b6fd2229102c16c1bd658298c1e81f20fa6b9c322c7912d7ebed593fb73b4f4d8bf52cc4b51a02a4f903ba135632b628bd769307cc50f41d53ce98dcc21f199b377df343a11bec74c64ddd080e96b7c4c6c73adc04505b2452c2f7171a7078919926413048fce8011d62a6d25e0c056c9c93eb47b1f284c75adaf0f3fa44a3b73fffd25bdfaffa4ac7b29f7176ab802e8a8b24706a5fc4b11db1f08ea4c9a5d35949b60a0a523c5b69542dd6776eeea7a6809a7796c40c98e87e88a3936d24768210c749ab8102dbd9200c0e1d7e3adf7390d9a000c81b8c5d8945f0a704668430b2fc9a6e4355f5614801cffa2357a27ba8bd89d23376f7cc3cbee52b2776e95b7bbc57b8946ab9db0f5ee0205c8c952c39070fd938bc2f4eb55e92cfb66e23888243c28e80bdfbb89b5dfc43cd6343f974cb5a085b825da5b63e98342e93d03939884dc8fbc1e2f50675e2d54b7c569352909db5060e2339d31f370b25e308467d0a70fde96c072a80702933060501480050fb747ef6ed3222faa36a0369b15ba9ef36ee1e8129527631960e900053d364b685deb12aee551a104628b4f3edb34977ab2a9cccadcc204b51606e4505df8f5f500da91e275dca8cd8f72da1c7207c4b72ba25a62e53cee96052cca8cd9ad86df41ea7534793222566497d457790fbcae4426f213ae3fca785d05e1135bd7c73a5d8ccc4cafe6849ee0372d9a92d158ed5d827ba444ada78a328177e3b7b63aa8213338dbf8fbd33d5415d8d9770ed8b17304cfc8a3a06b45473aec4100920e529fdb0c22107848192eeb191ae6a147930e66f387f9fef192b9b7aed734f51aee72d534216e5246ad02c4e5f0b24090b63cc8ff3750a83f6d568032eb7f73ed1288819063902870562d4f4b02dc005190d59ecc3654f15e6c2a569e2abc6f8fc9f399340b769249b61932a3c89ddc531e49a3a533311ff8a43607ad44748567daf456f8d19c299c70f0653587674fb2c5b82e75cf8fe3e2687a87a66a03f3356e935438413542fe5c1302805d0f1410e73d91dc4ed429e503b010c96e0a4587fdd489b19491d7715faf3cfe1baeda6d782b27e4c14a2c3f6c73d0aeba962f90db6687a0bd5db174e264702d66c219e616f13e0bc92d6df7c67d9cf3533cfecd8c82b1e6e02901016c465e82594cf61dff4f0339dd0c7c1ab297d659033ebf92d5daa1b6f0dcc54e4f6f83ae22549e0bb05e84370c8ade500f6311a626d16714b93ea3c569b781fc77654eeff748a333997563fb260eef77a06cb4c04cd37654996fcb4a0053d81d0ea7a3f3294396e6b08ee78e3773beaf9b462158a2ac9846c1f7c0a81bc2c29b7b0b36d17075f77d8e114202909b879ecd16810520eed245baf45c8597cc2f59f413e7b2226ac61673178c8462bd61456a2d122ed0221e568e0c836d297c3658a595f1f7081f370f6eb5e23acee4fff3c5d5087976d8a0d2629c2369b2232aca5b558bec8f69a3a21a6b4735557eaa0227cc7fd7ec28525d4f5d1f63f914c7813de54812a2f92c9ca6d902f0bef34d158eeaf3a2c150064d69014d2e4353dd1819d68cf36c42968631d6def487051016e182b78d601ed8538226583f7a5e1ebce22cc621554b628560a3ac3c2a79e5c40a70aa1e7f5c612f68c66bd9ed04e47921c513c1fe43dce0ab3c860a1a4cb601e4ceca85f6f0008d1d07700036801f9cca050089d17c6282e71c69601ec634fc4a48a1180fe57fbc189828b3b18300b4fce808d89ffe228cff6df567fa1ccd2b0b2e5adcebd712d76eda41584575d2651bc8693c290e6c9d2d6e105992f3dd27cc6f16a9eb3846d5e7f5caa58f63aaa058fd00eca8cbb034d0549878f26ef7431beafb8de5dca00a881be1c5dc167e75dde5b0fb97bea249a30bc819e08632fc93b29f11db6984b62d8c29b25cba940351ba3e21ad98cd977ac1b6f3c24852795e0b82fb90d54d56777594b89db452397e8163b833a6050d0c930f2b2420e955ea8c399055ae2f3da7cd2b1422ebed853c20eba88ef714c1724c3e9fc893a84e3d684ae1089104baf313fc4ce1cb388808ca82e4a2385e220ad86c2b3531497a8da8a139bd169383bc01fd8a746e7b2e9e18668d30e934f66555eeaad099410c69464ffc0b48c6ed211ea8408bbca4bddde952ba6d89a3fa89b877c46cb04367498a36d9564f14cca9fd3c469e8326b3350a9920d3c3e040472e7b2309115a64151fe79ab35caaef22abdabc3ec7f783469366b2bfb43a556964253a7870d0df75ad769e89487f93493d668c22e2d90de6e590953f724dba6797efe2daf7ec01dc6d9e7ce65e5acefc1bc61a5f3fe27fcdece8fec9b5a86b7747837ee071942784fd9369831ffb6d97921928b88e47ede9987c399375e73b8062ff5d4a6efeb81515c2462e09ffcc1fc7122424e03607e7ad335b5307c20a75782d8a15f90a94a8030b79eb236169ec4d190952075c929beaffe94442285459eec90aad3dd49712951f3c090d4c3f859b54db8e4b5d98738c920400248dbcff87a1aac0e5b00e0f1ed2c5f666fd5f1ff773315ce02bd7dcebf8e49594e01b7c23f676e49ac31f89ef14808ca16e188039b1d7e74bee515bcffb8a356c327e938bbaeda14e607b1abac94dcf755159a155d7df78f7a0f2007b6143039cac4698ea131f10565427d3d9f0fc7391e6a20ec3738ac9e5b95954a6403b8ef3f0b668afddfeba171134bd09d021e6822c1adf90db2b5ba58deb8b943c92d3e1504c3f0fdf79b3383417817ebcac44919dca8f5bd0c2b787f405213306045fac0fc9cde62a2dde75c0129084cd012501e67d69ddea49d1d4c415eab9a7def65ce51b1d94e1e7535eaad76b64beec16bd46a47e936945e53df812f60c85d58d80538c35fd8dbb150dc009d820d7f530948a6ca22e774c2b9e1c0c81e6488f9784902d64361d13e5fa6a76d64d7b507c41750375a3c494c1c5c185ba5336ff257ce6196c99e032c8eaec1003dc316456988c0088963461bc74ca2cf036027515e904774272e1d03886877d6838a62ac347755f4371703bec6eb40842588479897d69756ce38039022f7b89c9cd3222e00646e23fc1a5b2fa267005b8dddad27e028dce8eeb0d24b1929809ed48e4c417e7d1fc7dd8e513016c7822c88fa6f206c818ff9ce7692e2e5d5239e80218992e5f771f95798be31bf43792928782b0bd8239c49045ddb3ddd5ad2a6c077ba3c2c620651fc021e958dff42002661d7d82c4efb93f415f565a079dd0a78c95df94363b6a5af4148e185de5a84e9f54596d3a29a84de60a78a1377e2ba1306b3ec120fbc2419f49eadca5fcbf754d1be8e931fc576eaf819b8f1bc48280c151cd4a6d113928a3f626bcb9a5a7ae93bdf4713d1cc5edab503ea7b92d57dec1cd6daf362459069375d77a1e74d029e4f7d36ce5beb47f427ef3f571240996aa7764d166d9773a8f89748140596e6d7fbbb3633f0354a640919ceb7aa3a4e471566a709e2c362912462bd343a6c457b3a1020f6a734b61b2c61c00d8acb3118520e557eaf34f34723231c0e21dc5ae0b368816f30ea9c3fac5467c65a6847f2d015ca199c12e58becbe171988e32d90539fbd4712ef36660f4923ef5a5bc0c2c550382ed4643bdf420bc98371e33fd3006ce416984a89310959e0a18e9bd87b64f669563d36e96aaa2519238472760a8ac9db44e0e80e5caeb84c2cef557fa9eb226291ef338678b165cf5f74afcbafebf1db0774995c68b4f8dfab811f52dff7748450afec1032d699f13add62155eaa6abf5f6a1e4965d613cd94c39a55fb4f4203d83d817e5e69cfd9d95112e84a44c580ca0de51e37fbcc85a5843f8cce2a8eeca987e4944ea074aeee2fee1568e2220bc8b836264b7cbd9cd11024ae4a3f26ae2cdb7a24538c807cf1132dab3834b2d76e9b8431452206e9f2b6086bc3a8ba08d025b184c2d33cef75c464e687e1f2665c600fa2709ddc24c28787cc490cf9f6d8d9ff9bd4f7a5c33a75b65a164b7ec9f348acd228a0fffc7ff359cf84d5538b6a2d6b2a2539bad5bff917e13e9f25eed9eef7d1c0bcc1ffab44aac519ae6192296d9e18cb52ce0081ce02616583d0107e6ac26498afad40301a799304889d56dae5c811fe6739035869c5ee02dadeac842550cb91c2a7139d9c7c5895f745802d204d057f110977a3b3ac10ebecca1aa00104b4892b9159debb0ef37f6fe0b6314c4c80208fa21e0b8ab07b2508f1cd9bff91d3e483d61bab48b6d399a7ffea8bf57b6d569ea67d4c1d20be54b99fe39f401200560418e35a34ca40d4f99c666309511db1c45858a8dce614109e43a9248ca5671b4d123d072a1d526a2299151192ac23e8659aa8d46a20b509687a3969ba95b721aa38808cfb84fac13a709d469d93f9b9ffcbed1c178d081bfecbe011e00399266470bf5cdc5dda0c0e22a2e264376439d39cbe0b7ca1c4b308952e1d45489478b708fa7ced6b81f0109a589fdb495c44f5e7e7410b0ae28e30df01b7de4856dbb4d16aa21e60d2d6022e7cefe62f5395b23e0e030ed2a2e263b80ef145ad09abe7b2c191af7b4c4db756a59aae52dbdbb30a565f13c90ea597d69bb0637b16704f0a6836288fc14769facb0dff2b681be1d7fd7cca6654faac7104f2c481cf86e06a3576edad3d84d20b4a2912cd9dd646d388712aa47a69a8ce95408be4c8a8ebf570706316bcdd63ddad7b295323b44bfc9d5d2175f26dc3acbcc498d1a6e9cac04718083a55e2c5986f37beef439e0d4db6dea5964bea34268bc255bf32f979d696ce8c938d0fa71a65a0462027bab4a87ed7617a4cb79f6f70344191c33c4144e6ad9ab7924911d39b7c848d6ffc77268022e23bdf758ddd494440b57090ef02db5fe4dedf22ebbb038e850c3ef3ee10421d5c4a3b227ecd3fbc36b199930a19a52e13fdb82738fe66ac79df63d182c99d5e164cbde966c52b425e1257c7b6b8d62e75b22e31e3496f844a4dd8e30e7a9bd725d408b220622e5ce39b3d35af2b7fcea06ea5f3a94912e494ee7eece0e761e0fe3481009a9daf504dd1ac65ed523d66ce5353262fc6f03b7a4a0c3b8aeb6017e534b2354d2b6b44a1f378057a82ba0ef5b30f7b4929ca039778947d85d7cd6ef127a44e7256380b5b44d3198e95103b8fd92efe62f829e2e38201f4cfd1b1ff66dabe10a51816d62e90c544c564252b2246f90d601d76346d9f9cb6a68075111e1bd1362d2ee8eb262cd9090ec61f88230075c78aff208ba0964609844754b38629e3b7165aef7eb7a63d30c6f704c9aaa61eaae97c1e1224242c88c2fd8e702a3dc934cfe0602964b140aee9971f9a196eb33e4208b41de9c3c45eff2b8f8e15531f0ab845c003c6798beb0a850525fa52425f1125af60e9266bb204abc40b487a589046e947ff28e30380adbbb0838ca9d1bc45019d8453790692a99cb9914820ee9f48ddbc4916569e98ec6c6a9085e5815d9b0bf95d46dd1816900c54cd572de3435ba8880b9ba82b78b7a4d93e69143412a23bf711daafcaaa34b29516482fdf2ffe52b5acd5a04e637bc2be2a124df322e90c0a1b9994ac82af1e29b5d8be6613356c1a6c978f98998f11a690e9cf18e70cc01827332a29ffe748ed89cbe13eab11997b1228aefd180a2497adb5cbc21f35dfa5111f5af8e74f23bffc16e75008c853705a1465c5c44cee2af98088fb7ae5e347033a2bd258360182e2ca176048d6051065090b8c5f5d3f908f7fdb8ff2525198cf53e940eea0a7c8d5506ff74e87b64e2ee0ce18d0ecb8419128919969fb00580f06d755ad45967cd90c604897afc47b2d167685c23cb8d193f59cc89e5aa71143818385a1141d8b67bf5b221ae2774eeea0fbb136587f00e0426dd10cea9f69a642f983e8d3b07764d2b993ee1741975b0c4125170a0076a31c3166f4a5a85e91bd08033f501d033a2b886b95725d2c8002bd0c9e7552cf5e5c0b45758c5b25ce0eb655a0928d6e45958ba2248373e2ebddae21cea21c049c55d85aa9409bad801fbec13f9ff9059f1d74928149b72bed8789e82e5a89a40470af80e7798c36ff6b1578d44bc0da8696a89da09282c901b8b28eb7ac422759f167ee04159aaee44de34a578bf80fdcabb4506d92ef937612b77d85d2fa8840bc07097826ee3504dad225eb3577250e14138fc54aeade8b954c9a0dc76ef17845da48c75ecc420be3136020f9cae0d3518bc43cb55b035e39607c9180cee774a305457a005cdbf4c86e6409128a3fe04d908329159f0c86c6b37b0811147da59929bbcd327468ad278dc6bb99e69dab0f4ea66087cb9498d5e0e766a56024c997197485ce3540271ac7514416a74352ff0eb3b10c80135e93b9b780418a74327d8a7c02a7c4f1aa03e6841e76cdedf92026b238cb78c946a3b9295c3b1a09b7a6e46179bc4200571274ebd722efbd9f2c17dfb6203afc7c9a68f887481a72cdcec07d4b71d0a932afea881fc01bb88cc685e526661acd27c221522b7bb7c2ef9e0b5ca5efdaf81a8a7100fb4752ede8305478a844e4829c892f1d9063e46c8219a56f6568c5c2fa727e6a4e93a9bb8ff486895187242af4c88a22bbcd7364b07806056fa66d5ea1bd0c95cd6640d494d6f036af16610cfb45366b55b6ceeaf8101d28e42f3f4ceb4dcf0e9181f39fd5fcb4d775e409343c8eb03aa353f36e1b2375ff84ef90aa333555b5ab8165866101806b1bb98d7eeb4ed51ab02a7b9591278f663283959a5a631621a20fceff1a4b6cee68d9aa5fe71c66c140b04f70b51abe84999150585261fa328a7e810920813030489eccf13140692192cef6a4bf2fd3631a33a977d077a59cfbc4fb2fed229f4cdec773d8cba07b3a44de76117ee33d1100f9463176e31257080bc14c059efb182bb4ccefad9b383efaa34206d6cfe07f4a34cceeb12ead02603a00d4cc2bf7dc66d2003cce6b4345cd6539bc3974df0ff57a96e4f191a9864e248c38c245797289a1f67ab0518a5a978df7ab76416a33545949a5b9a363c573b9d402260f56d52223cd5aa9e4ea9112571d00da138cc951a7b6622f19ce0b90b3d72b02b66a36a45a835f60f69afef7d57ac2bc179b1f81ad8b3344cc655781a183782828306c1b9b2b9ab036f608d5203e894039145cda0ce8f67617fcec8b1375ab9325e3f0c95e82b175262c7118a85ce61b72f3e53446a2084b2080f516bdee777f7d1e924194f9413176752412b7f07b645e65586ffafe31f8a5785da0597a518d09c85ece272f9d4fe8d6af35f25cd8f3620e15ae141e9223a90c1996a69a346f0a41351ddf17f2ff20a3ac4179aeaa47e3cf8569e0853bff8ab3d66802bef36e08ad85c0c27437920f7d4177be6c689e45a222fea880d6b2b7e6334630481d803b8165bb123030de27bf017201f2c7eb1ce1de5191f58f8eb04e910b0f73d8d993355a8a677abd606bc606713adcdf559316768e781c244669e21f4de8b1fa3be5352bb8fad957af8288e0f9e344854ddee4302a0871a27c176f9a112bd78449b0b6024cb481f7fc6474439149cf3ce92974cdcec3c00778951aab14314a3541ad937b3a4d546cfa3b9e43e9a6d0913114a943645e4b295ec8c15ca07502b1bb3dd89beb6f2703e323e404d3c520bc87917adac65480500313a5ac0185b1729db8bcbb03b825d716d52d9304a429c7ea23c2b8e866b34b68ecfd9ef79a0a6361c6b2ef96ea34e51f134c62b708621b6bcb94bddca00a01669e723de171084c839bd47760d37c0a8cf74a0af780981139eb327d56243917eb578e1951521f2656cc9a5559769de7b11f4b3483e8ded965ce63907f1828490f6384c1b0cc5c5c93efe14c4c75fc4030b602777b1c7b7a6c1d39574d5a0e16aeffc3123b4d73fb792f002f1d37f98eb1172372f5c93ca98c26ac1a15540b323538e399c5b7c0c40596a4a6c122ff270b24788df99e1ddf202f84e434cf81b85e3ed8d46f5556445022c15f1ef458eaf7f11dac834cabbe3dd7e7e142cc419b983db39dfdf78ed1cf2a9d37ed0504efae6775d6a3f01bdda7bed95e69e56747646f63517d9455112ea4906871f245b1fadc9b84fa8afd4ccc68a0f33e99ebe8938aae5d33668b6c7be6df8d5007b33e18f803462203520393ff763cd2612d2ff48b66851869be6b9dfc406b3f7927301e19b0c4ee7fbfc0587e4a7629ba9628b9c3a50dfc48c504ccb0167217880e84c7c45d623feb7567b481c635f9747bbbe443e802d33e5af2f3c4c4dfd8e417950902a888b81bc09b26231eb38207c5ddf5ddef51d0501f446ccb2ee1c5ea2d4d47a306c245e4c6840d0ac67fc9d004eae5d26f2be1d643db3bcdb83d5a0ed2f768a5e13e8f84478fca83ee90e124a31e3dff6d1d5158223d966c451e4fc7691111821e0a61467cb2d9a91209b2b5639f18a70c37a2d7d3f785984ab897abc058f9bea1d3db484ad3688cb6dc1499b4dd806956988089c5752234a586768b64f48c7a6756a912e2425ede9b3ea29173ff170c78149266255d8819c58d4991a159d63607221337ed1602b50cb870275fd48c4ec2339323b0e901c06474345d1db9109cbf2a6ad96cd24b1549e50fa1fe7b0175cdcc1ccbc24c83977ed938f460d26deabe055abc06a6f48c19d354bdf5a2774b7c9d9ac7f08e3c19e954e8961f6ec6cef8c096c32625d02b4cba2f715cb78b3ae39ce48351e62174b938f77820738036c0ab6dbe7ca79832d7690ca92de1bf88b8903407823b2f908817b31071a017e56f5d9213dc65d50a7f15ab8254ee899229c53cb950e440861e7d2c5122374eb64e401d8f678aed424e50fb68981a81b03ce0332f483b06fcd23f64f064758fea16571e882488adc92e9b7c4a3678d077bcefd2c593ff0d815e7ea22abe75b6d6496efcafab1cdc244da97d40b99c45b3a1b786b43903647b09305740f202958f4573e004c1ffaba1aeaf405804a3b2f99f322a26c4bc8bf82b76cab07b3e15639059c02e1e9dddc7518d6dcb229de983d31251a067b2d3bea8954c447e34790b3ec4e8f48ba83a93943945dc2776c193d264d45cd22d325943b683a3f468fb5fd2c037c9603e664151d161714416147882dddabc6ffd14e3d045577320a6609b30bf50aa5bb3bea964bfb31203cc00f06b364c07926c4183eda26709f0f0e85beed3beb12d99bc582533478913c6d616d51f5c43252803ecdef3389ff760fda87a8411b9cea8e2b5b0415aff7cb807d6aae108e79400c0b455c30a8fb2b4353ccc1f47f3364d354fdb84cc0c4567b89f6edee8850fa120d464c9dc407c6789c499618787d901a2ffcebe2d3a64536835d62bd62e3fa7c829da1b9bd7c1b58f4a7d7b2e573fccd99bf221441e0ecae343a5b2ba41cb85ec26dae0a368e7c80ba909298b9446108de29cf2241860af27bc1c8bb1615e1340fdb9c09d9fe5e3a4c64dbcd4645fe8c28334c37f7fed22ed438af244ba6e0f67f5c08457bde5596eb4535f7aeabcd911a2343d8d94057f23f3ff60e1ec9e6282cc79f14e41f7ebc5ff25218542da5364da6b49c8b8671b490b2d7e7f7e93606841a453f57ae6a9987a010ded23550560bac3c676c8c9ed42d05c7e53b1db839eba596ee28e30f440cf4d35e4210ae69ba1313dc131788dbaf395b4e0cf1d604d0c559a75a6096d982b68b378cf3b3aeb949b11e490bc8fdc29aa3b1ec0295068ace5d57dbbeba3aa2396aae4afe8f533e234a8d10005bcc9e72782516373a2a2949159b47efd8f7ffae9a9ee9917495becaa0001cd4b0b3727c8ada637ad35f9547b25c8cc7a578edc3c89f00d35ecfa3e417ac9c7096fe3c6cafdbae747d1c321b689953bd2b1e5310c560ef208f18408347acc828b376475645e36e9866c8b32ebf9680db9e1fa2580bd23da59b7e6fbfd65dedb20edba1815f58497f0e876321e3445f100eb2bb8954322d330a890dcb11750f59675757de30d2a557956827f3d4a5ff23cf15eb38722f45864fd2930f2f9e815fb8dc8aa207497d0c61e21be8982bd9e2a8a767774017dffea88d49224b338ad3b4cf0d6811cb601129399533897c8dc6ed9bcc7e4002af41ceadb755d895b41e18cedd872776ee6ac993c0a2c8c30c3beb6824308dc941cfcc2eb0d095eb1c3bf9d4ae527e28d0408b4d9de02d60ce577a478d73bd4b5ec1f178f26ccb8b8f20f51258b7d9b7dac76e055322db7d7088ef87c6cd86a13c08ee1a6a3fc9b835aa91589ddd93dddb6ea8248cc9f9073e9da694dd8b2d92288cde43c1811805846dc88d8e1ddafe1028c060e67e2511bfdc2d30270c87cfc0b39b6c9b35a9600da77ec0e416d0c58c15b814c2bc0ae6f4485177bc503e465705cb720f77e2b075a349267289d1bd6305e5f1d2888241aa093889b1cdff65abf9df62128e72d6a5cb79be1e5e87d20eaba876b162878e107a0fd02a02d945e409b19fc798f3cd79677ed01215d681d34ed19065ca2ce360e9c23b89849e3c01c2b2ef834a887e5b5db680856df5bcd7be581d672bcba7026276fbeafbd217d1f10c490b528c79f0ff5a69cbe18c61c56d0aff9a7c8ed417458ea833e6e8ba8ec854ae31fc24bc1d5556802113b13a0f5bf498ceb1b1d42d8daba5a06e5e7c9158d26cc8f72070dde81c08f5f77e204993551191d3a18742ce166a0761f12ab2f22de3c3b0bf8b39edcd1913ef7862a9ea0592602b360fd516d6ca0b4bea2ca19b66a20f84902bfdbffe18c3bfa8bc582868f82f526d5ce490279d95e6503ed945742d735d05785bb6c24b9165e41a2e13b4d9e90f4d3ca6eb80775506c1f7a62a9a68ce13f441e2e9affb7fe95f171eec1948387b01b06e41ce31482d9e0fe61515809755e02f6a803cee51d95ea685abbaf70c14f8bc16731b4dacbfd0c6057bfb2583880c70f82c207bf5da1aad72cb3bb86c737ec223d8f51d2a67a77e192bc50ea32dc9a07b0c725c9c925d60bccabbdc413d70266b0565130f2b868fad144fc7038cf16d81246c4e4f07a5fa620c274b49b63b79bf8f79ff8a917e06eedfab81bd1d2808ab0820125e67e5e15e7e8bca85e7284c2ff454f5987e1c199d461579a8b493f140040f0a29f6d1af04e80aebd20d6971a309a9162b511ff176ffb00a0bec065eb96d47b87ab0cb0d9e04a8bec2ed1b3f888f1c0a01ff2e1c72cd699097b15030466371c8e9b05c249724394d10397e1ca3035091add1c360af0837cd2312fc9dc6a7faed6800332d7034d2b2aef3f380f511fa1eec9940b5996ca61222849672fea776cd5861cae1697c16daafaaa8ad0a6caaf4b82dbaa79e999c6f066bf47820af2fb89007cbe5ada98fa85f6c30a642749e0b88353636c4bef2faf3e1e9c00c536c070b4ab36e58e28ea9285d2f9ac668489b1acc651748f20a38e5f33bc22484459749d5f4a1fdb8f980c64a2a4f4af7025a35157b320113cce61715c4032135b13397af716fe866ac8ebf37e8ca6a99322a7b393f76eab943025f381b8e7226da9f7635106f970558139ec955bc878a8823035127cb051c53636235439df001c6c08b4e86630b77da6e6d575450bc51960d6df6841cf3c4562e846a87ea3974a1ec3c1a6578a92e3c8ecc48a1d3163dd0917d71bfc5d79176b799a89f45727f7ea438b2b7fa5ef152896b8000c817898aedb6403fc7a28ca763f331fcb2eae2e7893c3297d5f0fdc49d688caec2c72689588c8b168403e627657d7196c6fcc7d95bf1001b7d7777af02cc433822079ffd495ca6e8fa736a04c7a24e64dd3a5c67b39fade255b8530a0bad18c4eb8ad57d6319cee10684748db575c08d15ed7197343f44c66c09eb1f7ad82d5f1409186d428bb72da2b17d08513fe047fb435f19d36734a225532bf36563915f0f1083298325cc46f35d6abc9ff13f0fcecb5e63c2ab5ad0c6736c790318ea00a2c1a5bbd636efaa6086646c78d6aa4774f7145a7433d87fb69fee6d384cd58333b2cc1663bde9eaa10345685c40a1e46ef1541dc088a27da2e631509f5d43e29b82d774e29fb533c6d0e72dd5622cdba9a97fe17ac2facebe59b24a9799c778fe653adabbf0a26aa2e2838ce5df161b6e8d7f569317e7837e59270034a0ee64a111793f599629985b5a8ef15d1f017c84a6ea38033b68403c1e1ad0daf1653863bd36ce1f42de35d4b496a9e47115ade0fab266bafbc5083c7edf4f0315ce206127635675e68041f59122b2bd9d5186fcceaa373b448158cb9bc323429d812b53351af6b63bcdae6c03fed7f40f1b0ac4d93c336aa839f0e6510cc1fb6ac4388d0cd639de7df9b19e136d17b18c9005c3852e3d0a4e7c265a43c03227e54d1be0c3afc2c5630f0eb0f7707b91bb8b3f46afa3298d5c1f7f85f2d6e10fb600ddb9e9f458eb0d9b46de509a02e71fc473566d366decc8105759339c113d18c6898b8328593345b730fe338f77cc10263edc8d3f80718b64e72fa026f202c1871ae180954fa73e1873257cc3c064abb12e444766acd4d5838cc8abf99abdba6d50d5a63c39a8f171beee553e3e80da5a57c4f52df522b4141af351e872db2c31ecacbc1494212e238d2a7cf84c72ae739be3f7b3c6ff1f939d016222afa6932e8c8857316e76e1c927fb385a11da6150314baa9c67bec206002ec897ad3d501903aea1810a4ec70b320737f59439249ffb9f2b9527400b958195e2c6dc1b8172962748a4393888eaf8ee8ea8727fe01883e733a6951230d37cc2d4a2a749207d517b1d44708ba1e1c4e193468168de2004c3061bc4dca23a56340438a42c33d1eff0f603d365b6409930aab2cdee046d0544280be78d5e58df5d12f9c7b3ce69b342d105db255cd0d0b05820af9503611904a550d08bd1f03fd549ea90d8127982f9252309805e5297b7fa66e53ede83e32fb09f72d45ff8dcc6eba819df096e34f93d0cf0f1bd5579d61e26c2dd49ec8a93b7f106db39c48fe17789e210cfeb6dcc592ae7af2e28be6c8a5983d41b8005820f25d7e573698cd36459fa7d48559e4d70675ac474e9b6d7517b8d11bceceac284e499128177b80d1499aaf1f120506245e3d0bf0d8eda03b164be54445bd58bbcf791f323a9b8dbf15f517488b98b68dcff9e45de4e7d89aa2c012e78f154054da4cb7b56c7c5c1fbb502374f7be05b98983e3122ac9079a32f5c36d5af57e857dd0f0d28d7f0425c5791e860fbdd8314841ca68ccfe853999d84aad4510d0f8b7bb577c904e58b79ef1a2f7b93965e8c02f2b19c85e3aeb008d6b5bdcad54618de13da6147198335b361e831e7a3ed872c0159339233a89d60b62f9ba76f71d21b0e9aa5e9a3e03f63111086ca4ba11de8997cb3c0c372f43a7e2b79b3c128154d3e1c81c8600f621d6163139b022442a306b730be98ca677369835be0954d4c5ad2ce024be56140dc2f79db1e5194ad6e61c70c0e42e8aac411df003ee35864efc7889330bfeb3cf4ff92e8d5150d7a45b8ae139d3cbef7159766638625bac2163c8db52f6b7277f944ded4126e83f349c4a19cbef87f2f2203ee5f5f708f40fc1e499f0001ab8a50512e7ed221a7ae6f588a921e95a359052c4e4de09246459a798b12eed26bd8cf0daaece54cefcda47bf331b013f1e644d867799173cd1dd66a2c974d21f47c6ab31d99212df46d7a46e0c87b1f5e16391fbc7de267ea9e25b543295fc2f69f63b0723864ff51037498fecb429314f8046d935820fae07fa8f45c4cd98c7c9398098494ead7a062b3104c017a618aa303721705b6e7ff0bf5f31b81337a25db100c8f97959a1f05b28706ef234d86b01573be0d89eb3815163672405dc22a68e38c5b56142f4c5bba00c4930369663452047dddee03cdf77a83e73bb4c8801c504cd69f652178e704274dd8d6170d2ae7c993a8c746cd03de77ac9b126d8b73f74f2e18e12e1b7353818a4207f7690bfb9457dfd90c8725b13493270e7aa23540ecf763a60986a60335bcd2843754d37c8171359b7ca3685b52a232def44cfcf288b12302f2508b75a81366c67a4bd64c31cd99c950b0e93c57daac6c46d9ea84376a25a02a216ed92dda6eb7f9b684af99ad5a60821351ec7c7a20c399875f506728bd517dee1920abc49688153ea2f3c82795a8b48958ec7ea9fbff2c02c533ceb46f0d5460b6d472cda4191c1215120cb861c025d881fc36733d3df457e85e96d2ac407585c3d31ac88297017e1c87d93fcdcda183825d4891759a82303d6d2dc7cbc98af5a13c80ff02cf235bfdc0cb3087379303f2f9c8f9e0eee0291d5be11bba9540946b9edd699a8a4f4af08cebd4d9af5999a1a600a6229ff06854c5d097e98b2b130973cf3d633c60b6f0fbd99a5f51c880c4a7324d85dfc0cdcc5cc8b4608430d18db2b49a4f92c180976bce6d94bfccaaf8e51c447ba65f9c140305ea4478b3ac9647beebca9b46931385250df91c7a78585be119d29019baab8d05a5aad95338acdcde72f32f928e8ad81a74e3b7ef32e28214fa64c6f21f97973af6e3a15040c8bdd71ee5a98783bdcbd97e85c8d45e75ef683e296dee91bf6425e5e54a8cec3c90898ae25fc958c6f74c431f0ea0f6eafa2fd17b0c7ecb96ec8ef48bedb2df0451b09f3ae5ba6730c88522cec116b778bd962ff76a826da63383e0d42ca0ea5575b2c0200b3d46d5949489741eaf12070ef153413b37b0ad01d066ce33768bbe92f97b5a390cdf819aaa21b89a9e80a3d39b57f4e668bf809a2bdb66c75d9ac04e492dc8bbc4c3f985e8be1f56260876dc70f11e817b1e7dc1e513da6fa648aed627aeeafab08e470373ed832f359dae92888e11c3da10abd80f2fa793ebd392d1ea263b2cd5192c0a1b4b473d4adb0b17b327ae132527b4527fa2c66c192a3b6a64832c887be196f8152252566771dcfe7a07c3ef16c38f3488d3e863ba94930355186a30e7a8303f3fcdf00d5964b69abf93a5fa74cd0ad02e2232ceb5d0218baad6dbc51515497b24718c998727e51c7cb3fa8b27dfbacddffb9db8158e96a7951d61242f1d610bce350f63d2c06c5877288353e59887f8a240eb91ec7794aecba75fae9acbbc91cddeaaa16294db8b8c0763161426e561ee986056cf9a3a63febe79bd3a71c7a61c31645fa8f3ca78f74699c97573ed238f7a986c28c58049071e096442493b0796362d5acab085903f435fe001bd7b03004de5d2900afd232572061a226778294af484a4ae84ea833789de6dbe96f5c262d9bca0c83c477dde8e2600d3875c60b747df15c2f2b9affbc2a37c5ee2bc3e1527a30558989164f09a082db972b78407a1a6a3291e06a64694a90fd0b8e07e69add2426cde8f7805ff3f1a8720979b1a17fa27f29605568bffeb0fb7e69d04a039cbc4d19b405ba637d5082af12bb419cd056be2e41cd2a4b087c529340cc9736e8e54d251a577bf2ce6071a89c9f5bfbff59a5227be9877f701129a294cf2d35f44f950e09dff82a0565f6a9d2c90a7ddf777de04e0268d4abe43df0ca78e201a9b914c19074065d486b7a253584df29ffebd648a0180afee7d088e5faafa4b13da9ae3063e0ec1b7740505e17044dbe76e79c1b0f070e17831a4d6a7e70030723a0608de1fa975b1d5ec1f5379ed6a6e91cfe2bad4546459e58cf78978f30aa7fb470cbaecacf54552533b971d845a66a7c50854c3959d4a475a1efb0f71e1b1284b91a8e89c80ad3e659388dae1a87b1451a5854138a8d2c0b101a4713eb8ae29ad742db41cf690ea0c095fd475e064bb2892cc5b688635d3ae2287f45a5f6e6186693e5d0c800db915ca5a5778139bf6ad691d8c82a9adb73b631f62da30c85a1964c841a97168cecba2021e62d6f5eb4cdd896e123f7c933118a5fbb5d7fa1d0fa0a887acf1c8b6eb779c4ca50ca097e13dffa9ff770de18dd44b64e927e16ef1037b433b366e8bee62d80aa8f2be442acb766dabe0fd15abf36b2ef52f683eabe3c3dbd4d54165aa66087a511c99eb6697f13c7190f26ace555d387f298c74c94dcb41b9edb59ff4ed3f7d9b12ba181e0b799ca0dad4a09b29abde7b5321a59106f97a5fa2036df669abd44649645c02f3c526ade8f362483049fad2943045bf926006d69343a4d4e3f614406d1fb2e5300e6c4677bb1e20190c3a45095fdc4c5d729b91addbfcf0bbebfe56e2737e51d893f1f2fac246cf566307081dcabb33d64abf38a0e3b7522951d10955cf27eedb9f73e0c6b8dd5e3705903b6e6397259b055f37decdd35fce919fe2313fca4e007de882b41bde40a70c4bab5d0cc6aa266aab3602a1464891ddef4cd93d31b12b29ee6c8d1fd60e8872b53cfd9fde963096ecc79ef93b0192df183b5ef31385f662e1a63023de7cb34958222d48176809954172f6ee0e0a01e73e4c8beaf9670e46642f658cb97b27e4501e4af0afa2512caeecb7b2d0279cfce6c266ca3608f6989bfb505b32a44222b21afea81af11b68fe43ed44cb898de54e7b08522b3904013b1244f1766bfc513a943ef97ac05e87f3ff4040272e69da99c26187cecaa1f4ab45bb961f81afe77b46216386091027bb40a3bf548639d6087a2d43638b7ea99a601a0c89feac4f371bb7177bcc7e3a9066442b7654cce5fcd9a4ca4fce4bd406b8c261d710716d90a15a1687236e4ad243153359c7548405d20048da862b545bc3b3eac3a7f73badac8ab5f0f2ee4a911c15d1080c4cdf6997c223e09b340f5f1bb970c930b458f768a0bbbe787cb87f181820a3d122b3548d676b3e5a52cbfef06d7424ec065c1f34c230407f9f5dc002c27a9666bec439affe6fee2f5cb8b562a5241145e89e2d327a36292b125bca2e0589c2009265rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootghc-8.10.7-150500.3.2.5.src.rpmghc-devel(ghc-8.10.7)ghc-ghc-develghc-ghc-devel(x86-64)@@@@@@@@@@@@@@@@@@@@    /bin/sh/bin/shghc-compilerghc-compilerghc-compilerghc-devel(array-0.5.4.0)ghc-devel(base-4.14.3.0)ghc-devel(binary-0.8.8.0)ghc-devel(bytestring-0.10.12.0)ghc-devel(containers-0.6.5.1)ghc-devel(deepseq-1.4.4.0)ghc-devel(directory-1.3.6.0)ghc-devel(filepath-1.4.2.1)ghc-devel(ghc-boot-8.10.7)ghc-devel(ghc-boot-th-8.10.7)ghc-devel(ghc-heap-8.10.7)ghc-devel(ghci-8.10.7)ghc-devel(hpc-0.6.1.0)ghc-devel(integer-gmp-1.0.3.0)ghc-devel(process-1.6.13.2)ghc-devel(template-haskell-2.16.0.0)ghc-devel(terminfo-0.4.1.4)ghc-devel(time-1.9.3)ghc-devel(transformers-0.5.6.2)ghc-devel(unix-2.7.2.2)ghc-ghc(x86-64)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)8.10.78.10.78.10.7-150500.3.2.58.10.7-150500.3.2.53.0.4-14.6.0-14.0-15.2-14.14.3bbk@b'E@a2@`@`OL@`"y@_<_H@_@_xg_/@^Ӝ@^@^W@^J@^:@^)^&^ P@^ P@^ 8@^ ^@^C]]\@\\@\@\\ @[[@[@[[@[][][[[O+[8@[&M@[5@[ Z@Z@Z@Z3@Z7Z5 Z+@YeYY@Y@Y*Y XXM@XXS@XWW_@W@W;W7@WV޾V`Vl@V1V_V@V$@VwVetV]VVf@V@V@UUȒ@U@UhTUg@Ug@Ud`@U]U]U-@U+Ut@T@T Tи@Tи@T@T*@TZ@dmueller@suse.commliska@suse.czdmueller@suse.commimi.vx@gmail.commimi.vx@gmail.comdmueller@suse.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.compsimons@suse.commimi.vx@gmail.comschwab@suse.deschwab@suse.deptrommler@icloud.comguillaume.gardet@opensuse.orgptrommler@icloud.commimi.vx@gmail.comptrommler@icloud.comptrommler@icloud.commimi.vx@gmail.commimi.vx@gmail.comptrommler@icloud.comschwab@suse.demimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.comguillaume.gardet@opensuse.orgguillaume.gardet@opensuse.orgptrommler@icloud.comptrommler@icloud.comptrommler@icloud.comptrommler@icloud.commmanu84@outlook.depsimons@suse.comptrommler@icloud.comptrommler@icloud.comptrommler@icloud.comptrommler@icloud.comguillaume.gardet@opensuse.orgptrommler@icloud.commimi.vx@gmail.commimi.vx@gmail.comptrommler@icloud.commimi.vx@gmail.comptrommler@icloud.comptrommler@icloud.comptrommler@icloud.comptrommler@icloud.comptrommler@icloud.commimi.vx@gmail.commeissner@suse.competer.trommler@ohm-hochschule.demimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.demimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.demimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.demimi.vx@gmail.commimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.demimi.vx@gmail.commimi.vx@gmail.competer.trommler@ohm-hochschule.demimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.competer.trommler@ohm-hochschule.deschwab@suse.desbahling@suse.commimi.vx@gmail.commimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.dero@suse.demimi.vx@gmail.comro@suse.dero@suse.demimi.vx@gmail.commimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.demimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.de- add ghc.keyring to have source validation enabled - limit to use llvm12 for Factory as newer versions are not supported- Remove dependency on binutils-gold as the package will be removed in the future. Gold linker is unmaintained by the upstream project.- add ghc-armv7-VFPv3D16--NEON.patch to use vfpv3-d16 on armv7hl- update to 8.10.7 - drop 4134.patch and refresh ghc-pie.patch * portabilit yfixes * Export some RTS symbols required for static builds of GHC * Fix LLVM version checking logic so it no longer complains about supported LLVM versions. * Fix some RTS crashes on Darwin due to mixing up the closure sizes of the aarch64 and x86-64 backends. * Fix a crash on the non-moving GC due to incorrect logic for calculating the header size for array write barries * Fix a bug in base leading to a high likelihood of space leaks when using lazy bytestrings * Fix some timer races in the RTS possibly manifesting in #18033 and #20132 * Fix a number of bugs affecting the RTS m32 allocator * Fix a bug where code may be unloaded prematurely when using the parallel garbage collector * Fix a bug where the linker may during shutdown unload code before libraries’ atexit handlers have a chance to run * Improve code layout by distiguishing conditional and unconditional branches * Add hs-boot file support for -ddump-minimal-imports * Ensure hs-boot files are built before source files in GHCs -M mode * Fix a long standing GHC API bug affecting clients like HLS where async exceptions used to cancel threads during typechecking would be caught by the Template Haskell evaluator and reported as compile errors * Improve error messages when looking up packages fails * Fix a number of quirks in GC accounting * Fix a code generation bug which could result in entry of unlifted objects in some programs using unboxed sums * Ensure that POSIX signals are not delivered to the ticker thread when using the pthread itimer implementation. * Fix a specialiser bug which could result in the construction of recursive dictionaries in some programs * Bump containers to 0.6.4.1 * Do not treat -Winferred-safe-imports warnings as errors. * Fix a bug where typechecker plugins could be run with an inconsistent typechecker environment * Fix a simplifier bug which lead to an exponential blow up and excessive memory usage in certain cases- add 4134.patch to fix build with Sphinx4- always build against llvm9, also on SLE15 (suse_version == 1500) otherwise the resulting build is not working (llvm is 7.x there) (bsc#1181571)- update to 8.10.4 * Fix a crash caused by inappropriate garbage of heap-allocated data reachable from foreign exports- update to 8.10.3 * More robust support for architectures with weak memory ordering guarantees (e.g. modern ARM hardware). * GHC can now split dynamic objects to accomodate macOS' RPATH size limitation when building large projects (#14444) * Several correctness bugs in the new low-latency garbage collector * Many, many other bug-fixes))- disable %{ix86} build- force multiversion for subpackages- add --enable-unregistered to configure phase on unregistered architectures- update to 8.10.2 * Fixes a code generation bug resulting in incorrect code generation for foreign calls with complex arguments * Fixes a bug causing object merging to fail when the lld linker is in use * Introduces a workaround for a Linux kernel bug in the implementation of the timerfd mechanism * Fixes a few specialiser regressions as well introduces a variety of miscellaneous specialiser improvements * Fixes a potential loss of sharing due to left operator sections * Fix bootstrapping of GHC with the LLVM backend on x86-64 * few important correctness fixes for the low-latency garbage collector.- cleanup specfile from Leap 42 and older remrants - drop fix-unregisterised-v8.4-8.6.patch - drop fix-build-using-unregisterized-v8.4.patch- Update ghc to version 8.10.1. Important changes are: * The UnliftedNewtypes extension, allowing newtypes to be wrap types of kind other than Type. * The StandaloneKindSignatures extension, allowing explicit signatures on type constructors. * A new, low-latency garbage collector for the oldest generation. Please refer to the compiler documentation for all details: https://downloads.haskell.org/~ghc/8.10.1/docs/html/users_guide/8.10.1-notes.html- update to 8.8.3 * a compiler panic due to over-zealous eta reduction * the ability to bootstrap with earlier 8.8 releases has been restored * the directory submodule has been updated * the process submodule has been updated- Increase memory limit for qemu user-space builds- Fix typo in last change- use ghc-bootstrap-helpers on all archs - lower build env requirements on riscv64 * make sure we can build on smaller systems * adjust parallelism so we don't hog big workers for almost a week * many thanks to Stefan Bruens for pointing out the issue and helping with the solution- Update _constraints for aarch64- drop 0001-Fix-check-whether-GCC-supports-__atomic_-builtins.patch * fixed upstream - drop D5212.patch * fixed upstream - drop fix-build-using-unregisterized-v8.4.patch * bootstrap compiler is 8.6.5 now - refresh fix-unregisterised-v8.4-8.6.patch - clean up spec file- update to 8.8.2 * A bug (Issue #17088) in the compacting garbage collector resulting in segmentation faults under specific circumstances. Note that this may affect user programs even if they did not explicitly request the compacting GC (using the -c RTS flag) since GHC may fallback to compacting collection during times of high memory pressure. * A code generator bug (Issue #17334) resulting in GHC panics has been fixed. * A typechecker bug (Issue #17112) resulting in GHC panicking on some programs has been fixed. * A bug (Issue #16707) in the implementation of software transactional memory potentially resulting in hanging transactions has been fixed. * A bug in the implementation of compact normal forms resulting in segmentation faults in some uses (Issue #17044) has been fixed.- add fix-unregisterised-v8.4-8.6.patch * fix build on s390x and riscv64- refresh buildpath-abi-stability.patch - refresh ghc-8.0.2-Cabal-dynlibdir.patch - refresh ghc-pie.patch - enable riscv64- use prebuilt alex and happy on Tumbleweed to avoid buildcycle - Don't require llvm in ghc-compiler for other architectures than arm- update to 8.8.1 -new stable release - refresh Disable-unboxed-arrays.patch - drop allow-riscv-and-riscv64-CPU.patch - merged in upstream- add fix-build-using-unregisterized-v8.4.patch * fixes unregisterised builds when bootstrap compiler is GHC 8.4 * fixes build on s390x- Enable build on riscv64 - Add memory constraints for riscv64, restrict to 2 jobs - allow-riscv-and-riscv64-CPU.patch: recognize riscv64 as architecture - Apply Disable-unboxed-arrays.patch also on s390x- update to 8.6.5 * A build system issue where use of GCC with -flto broke configure was fixed- really bump llvm5 to llvm6 requires for ghc-compiler- bump llvm req to llvm6- update to 8.6.4 * A bug wherein changes in default method definitions would fail to trigger recompilation has been fixed * A bug wherein plugins would fail to lookup names not in scope in the module being compiled has been fixed * A bug where some programs involving StaticData would be rejected with either a typechecking error or internal compiler error has been fixed * A bug where compilation on Windows can fail with linker errors referring to __chkstk_ms has been fixed- use python3-Sphinx instead deprecated python-sphinx [boo#1119686]- update to 8.6.3 * A code generation bug resulting in segmentations faults in some programs * bug leading to programs with deep stacks crashing when run with retainer profiling enabled * A bug resulting in potential heap corruption during stable name allocation * Plugins are now loaded during GHCi sessions- dont require memory-constraints on older distros - dropped reproducible-tmp-names.patch- update to 8.6.2 * Several compiler panics observed in GHC 8.6.1 have been fixed * An integer overflow, resulting in some encodeFloat uses returning incorrect results, has been fixed * A long-standing bug in the LLVM code generator, resulting in incorrect floating point evaluation, has been fixed. * A long-standing bug exposed in GHC 8.6.1, has been fixed. This issue resulted in undefined runtime behavior with some uses of the dataToTag# primop. Note that this issue, while less likely to manifest, has existed in some form in all GHC releases prior to this release and may result in silent, incorrect evaluation.- Make use of memory-constraints to avoid OOM errors- Remove forced 'make -j2' for aarch64 and %arm- add Disable-unboxed-arrays.patch * apply on ppc64 only * fixes ppc64 build - add D5212.patch * fix GHCi on big endian platforms- cleanup * remove unused conditional in configure command- update to 8.6.1 - add 0001-Fix-check-whether-GCC-supports-__atomic_-builtins.patch * fix __atomic_builtin detection * upstream commit ce3897ff - drop add_armv6l_and_armv7l_target.patch * fixed upstream - drop fix-ppc64le-recognition.patch * fixed upstream - drop fix-build-using-unregisterized-v8.2.patch * bootstrap with 8.4.3 works w/o this patch - refresh ghc-pie.patch - refresh ghc-8.0.2-Cabal-dyndir.patch - refresh buildpath-abi-stability.patch- Add fix-build-using-unregisterized-v8.2.patch * Fix build on s390x- Fix armv6 build by adding armv6l to llvm-targets: * change add_armv7l_target.patch to add_armv6l_and_armv7l_target.patch- Cosmetic: replace tabs with blanks, strip trailing white space, and update copyright headers with spec-cleaner.- Fix dependencies on arm and s390x- add fix-ppc64le-recognition.patch * recognize powerpc64le as PPC64 in cabal files- update to 8.4.3 * code generation for UnboxedSum fixed * compatibility withe newer binutils (as) * Cabal issue with abi-depends fixed- Fix build for older openSUSE - Don't do selfbootstrapping * Cuts down build time roughly in half- Fix armv7 build by adding armv7l to llvm-targets: * add_armv7l_target.patch- update to 8.4.2 - drop 0001-PPC-CodeGen-fix-lwa-instruction-generation.patch * fixed upstream - drop 0001-PPC-Implement-Atomic-operations.patch * fixed upstream - drop 0001-Use-__atomic-intrinsics-for-atomicread-write.patch * fixed upstream - drop D4089.patch * fixed upstream- fix BuildRequires for llvm- use %license macro as used by new ghc-rpm-macros- refresh ghc-pie.patch so it applies cleanly- reintroduce ghc-pie.patch (pure upstreams don't work)- update to 8.2.2 - Several important correctness issues fixing potential runtime crashes - A correctness issue leading to undefined behavior in some programs making use of STMa fixed - A runtime system bug which may have manifested as a segmentation fault under low-memory conditions fixed - ghc-pkg now works correctly ihn environments with misconfigured NFS mounts - GHC can now produce position-independent executables - Significantly improved type errors - refresh reproducible-tmp-names.patch - drop ghc-pie.patch fixed upstream- update to 8.2.1 - improved compiler performance - reliable DWARF debugging information on x86_64 and i386 - aarch64: registerised through LLVM backend (experimental) - optimized build for platforms with LLVM backend (arm, aarch64) - improved performance on NUMA systems - interface file determinism - various language improvements - update _constraints * ppc64le builds need less memory since 8.2.1 - drop support for ppc and s390 - drop ghc-no-madv-free.patch fixed upstream - drop 0001-StgCmmPrim-Add-missing-write-barrier.patch - refresh buildpath-abi-stability.patch - refresh ghc-8.0.2-Cabal-dynlibdir.patch - refresh ghc-pie.patch - refresh reproducible-tmp-names.patch - refresh 0001-PPC-Implement-Atomic-operations.patch - refresh D4089.patch- add D4089.patch * fix GHCi issue on ppc64 * see Haskell Trac #11262- add 0001-Use-__atomic-intrinsics-for-atomicread-write.patch * add missing memory barriers on atomic read/write ops * fixes upstream ticket #14244 - adjust comment for patch 32 * the situation with upstream #12537 is improved but not solved. Patch 32, however, is correct. There are even more memory barriers missing elsewhere in the compiler.- add 0001-PPC-Implement-Atomic-operations.patch * fixes parallel programs on all PowerPC platforms * uptream ticket #12537 - refresh buildpath-abi-stability.patch- make compatible with new upstream macros - added patches for more stable abi: * buildpath-abi-stability.patch * reproducible-tmp-names.patch- enable for global PIE support: - the compiler is built without PIE support due to the bootstrap libraries being non-PIE using BuildIgnore: gcc-PIE - the compiler itself builds -fPIC objects all the time, which should make all ghc compiled binaries be PIE. - ghc-pie.patch: enable default -fPIC on Linux/x86_64- comment for patch 100 - refresh ghc-no-madv-free.patch with upstream patch * upstream fix for Haskell Trac #12865 * Haskell Trac #12495 is a duplicate- update to 8.0.2 - drop patches merged by upstream: * D2495.patch - refreshed patches: * 0001-PPC-CodeGen-fix-lwa-instruction-generation.patch * 0001-StgCmmPrim-Add-missing-write-barrier.patch * ghc-no-madv-free.patch - added ghc-8.0.2-Cabal-dynlibdir.patch by Jens Petersen simplifing haskell packaging + Interface files produced by GHC should now be deterministic ( boo#998972 ) + A bug has been fixed that caused standalone derived Ix instances to fail for GADTs with exactly one constructor + Compatibility fixes recent Linux distributions.- drop D2844.patch * the patch causes more issues with parallel builds - fixes boo#1020909- add D2844.patch * fix issues with parallel builds- make compatible with new ghc-rpm-macros- update to 8.0.1 - drop patches fixed upstream: * drop atomic-cast.patch * drop cabal-show-detail-direct.patch * drop 0001-link-command-line-libs-to-temp-so.patch * drop 0001-implement-native-code-generator-for-ppc64.patch * drop ghc.git-b29f20.patch * drop u_terminfo_0402.patch * drop u_Cabal_update.patch * drop u_haskeline_update.patch * drop 0001-Fix-misspelled-WORDS_BIGENDIAN-macro.patch * drop D2214.patch * drop D2225.patch - refresh 0001-StgCmmPrim-Add-missing-write-barrier.patch - refresh 0001-PPC-CodeGen-fix-lwa-instruction-generation.patch - add ghc-no-madv-free.patch to fix "unable to decommit memory: Invalid argument" errors GHC reports due to a misdetected MADV_FREE capability. The configure script sees the symbol define by glibc, but unfortunately this doesn't mean that the running kernel actually supports the feature, too. The upstream ticket https://ghc.haskell.org/trac/ghc/ticket/12495 has more details. Thanks to @psimons - GHC produces debug information on x86 and x86_64 - aarch64 has LLVM backend (requires llvm-3.7) - native code generator for powerpc64[le] (openSUSE contribution!) - disable html doc on SLE, we don't have python-sphinx * Thanks @mimi_vx- add D2495.patch * missing memory barrier on PowerPC, ARM - add 0001-StgCmmPrim-Add-missing-write-barrier.patch * another issing memory barrier on PowerPC, ARM - add 0001-PPC-CodeGen-fix-lwa-instruction-generation.patch * fix bug in code generator * fixes build of ghc-zeromq4-haskell on powerpc64[le]- fix boo#994268- add D2225.patch * backport of upstream patch accepted for ghc 8.0.1 * fix SMP primitives on all powerpc archs- add D2214.patch * backport of upstream patch slated for ghc 8.0.2 * fix issue in code PowerPC code generator (32 bit and 64 bit) - add 0001-Fix-misspelled-WORDS_BIGENDIAN-macro.patch * backport of upstream fix slated for ghc 8.0.2 * fix bytestring library on big-endian archs * fix wrong results in ghc-pureMD5 and others on big-endian- update haskeline to 0.7.2.3 - refresh u_haskeline_update.patch * Fix hsc2hs-related warning on ghc-8 * Fix the behavior of ctrl-W in the emacs bindings * Point to github instead of trac- update Cabal to 1.22.8.0 - refresh u_Cabal_update.patch * Distribution.Simple.Setup: remove job cap * Check all object file suffixes for recompilation * Move source files under 'src/'.- limit parallel jobs to two on aarch64 * aarch64 runs out of memory with too many parallel compiles- add missing C library dependency to terminfo devel package- update haskeline to 0.7.2.2 - add u_haskeline_update.patch * canonicalize AMP instances to make the code more future proof * Generalize constraints for InputT instances * Bump upper bounds on base and transformers * Make Haskeline `-Wtabs` clean- update Cabal to 1.22.7.0 - refresh u_Cabal_update.patch * Backport #3012 to the 1.22 branch * Add foldl' import * The Cabal part for fully gcc-like response files- update tarball to 7.10.3b * some documentation files were missing in the original 7.10.3 tarball - add 0001-link-command-line-libs-to-temp-so.patch * fix panic in GHCi when linking against C library specified as command line argument (-l) * currently under upstream review * fix Haskell trac #10458- update Cabal to 1.22.6.0 - add u_Cabal_update.patch -- update of Cabal * Relax upper bound to allow upcoming binary-0.8- update terminfo to 0.4.0.2 - drop remove-cur_term-usage.patch - merged by upstream - add u_terminfo_0402.patch -- update of terminfo- update Cabal to 1.22.5.0 * Don't recompile C sources unless needed * Support Haddock response files. * Add frameworks when linking a dynamic library.- use upstream variant of remove-cur_term-usage.patch- update to 7.10.3 - add cabal-show-detail-direct.patch -- Fix testsuites with large output. Debian patch. Thanks Joachim for suggesting it in Haskell #10870! - add ghc.git-b29f20.patch * fixes upstream #7830 * fix ghc 7.10.2 failing to bootstrap ghc head on ppc and perhaps ppc64 with some optimizations enabled * backport of my patch for upcoming ghc 8.0.1- atomic-cast.patch: fix signature of atomic bultins - ghc-7.8-arm-use-ld-gold.patch: remove obsolete patch- Remove ncurses6.patch - it's not so easy ;) - Add remove-cur_term-usage.patch to remove the need to access the cur_term global which isn't available in the openSUSE ncurses6 build.- Add choice for libffi in openSUSE:Leap:42.1- remove llvm from requires - add ncurses6.patch to fix build with ncurses6, all thanks goes to Tomas Cech sleep_walker@opensuse.org- update to 7.10.2 * type checker fixes * fixes for Aarch64 support * fix deadlock in runtime system when scheduling garbage collection - 7.10.1 highlights * implement Applicative Monad Proposal * implement Burning Bridges Proposal * support for partial type signatures * reimplement integer-gmp * support plugins in type checker (experimental!) - drop llvm-powerpc64-datalayout.patch * this patch was incomplete all along and now we have our native code generator - drop ghc-cabal-unversion-docdir.patch * ghc-rpm-macros is following ghc's doc layout so no need to patch - drop D349.patch * fixed upstream - drop integer-gmp.patch * we do not support SLE11 anymore - drop ghc-7.8.2-cgen-constify.patch * fixed upstream - drop D560.patch * fixed upstream - drop ghc-glibc-2.20_BSD_SOURCE.patch * fixed upstream - drop ghc-arm64.patch * fixed upstream - drop ghc-config.mk.in-Enable-SMP-and-GHCi-support-for-Aarch64.patch * fixed upstream - refresh 0001-implement-native-code-generator-for-ppc64.patch - disable ghc-7.8-arm-use-ld-gold.patch * not sure we need this, must be rebased if we do- add ghc-config.mk.in-Enable-SMP-and-GHCi-support-for-Aarch64.patch * enable SMP and GHCi on Aarch64 - add ghc-7.8-arm-use-ld-gold.patch * Aarch64 needs gold linker- refresh ghc-arm64.patch - unconditionally apply ghc-arm64.patch- add backport of powerpc64le native code generator to 0001-implement-native-code-generator-for-ppc64.patch - refresh D349.patch- on s390/s390x use "make -j2" to stabilize abi hashes (see also redhat bug 1212374)- disable llvm on arm64- re-diffed ghc-arm64.patch- add ghc-arm64.patch for aarch64 - add aarch64, s390, s390x to ExclusiveArch- remove unneeded conditions- chnage constraints to 12G for disk and 4G for ram- add ghc-glibc-2.20_BSD_SOURCE.patch * fixes build on unregisterised architectures (openSUSE: ppc64le)- drop ghc-cabal-unversion-docdir.patch * ghc-rpm-macros follows upstream ghc again+ add ghc-glibc-2.20_BSD_SOURCE.patch from fedora - updated to 7.8.4 + removed D177.patch (in upstream) + removed D173.patch (in upstream) + removed ghc.git-e18525f.patch (in upstream) + refresh 0001-implement-native-code-generator-for-ppc64.patch * A critical bug in the LLVM backend which would cause the compiler to generate incorrect code has been fixed (issue #9439). * Several bugs in the code generator have been fixed for unregisterised platforms, such as 64bit PowerPC (issue #8819 and #8849). * A bug that could cause GHC's constructor specialization pass (enabled by default at -O2, or via -fspec-constr) to loop forever and consume large amounts of memory has been fixed (issue #8960). * A bug that would cause GHC to fail when attempting to determine GCC's version information in non-english locales has been fixed (issue #8825). * A minor bug that allowed GHC to seemingly import (but not use) private data constructors has been fixed (issue #9006). * A bug in the register allocator which would cause GHC to crash during compilation has been fixed (issue #9303). * A bug that caused the compiler to panic on some input C-- code has been fixed (issue #9329). * A few various minor deadlocks in the runtime system when using forkProcess have been fixed. * A bug which made blocked STM transactions non-interruptible has been fixed (issue #9379). * A bug in the compiler which broke pattern synonym imports across modules in Haddock has been fixed (issue #9417). * A minor bug in the code generator in which the popCnt16# did not zero-extend its result has been fixed (issue #9435). * A bug which caused the compiler to panic on pattern synonyms inside a class declaration has been fixed (issue #9705). * A bug in the typechecker revolving around un-saturated type family applications has been fixed (issue #9433). * Several bugs have been fixed causing problems with building GHC on ARM (issues #8951, #9620, #9336, and #9552). * A bug in the typechecker that could cause an infinite loop when using superclasses in a cycle has been fixed (issue #9415). * A bug causing corruption in signal handling with the single-threaded runtime system has been fixed (issue #9817). * A bug that could cause compiled programs to crash due to use of overlapping type families has been fixed (issue #9371). * A bug in the inliner that caused certain expressions within unboxed tuples to not be properly evaluated has been fixed (issue #9390). * A bug that caused the compiler to not always properly detect LLVM tools (particularly on Windows) has been fixed (issue #7143). * A bug that prevented GHC from deriving Generic1 instances for data families has been fixed (#9563). * A bug that caused type inference to infer the incorrect type in the presence of certain type families and constraints has been fixed (issue #9316).- add constraints file- remove dblatex dependency- add patch 0001-implement-native-code-generator-for-ppc64.patch * native code generation improved compilation speed * fewer errors in testsuite than with C back end- add patch D560.patch * fixes dynamic linking on ppc * see https://phabricator.haskell.org/D560 * this is a back port of the upstream patch- add patch D349.patch * fix a crash with dynamic linking in GHCi when accessing the process environment * our patch has been submitted upstream * see https://phabricator.haskell.org/D349/bin/sh/bin/shsheep69 1687541034  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~8.10.7-150500.3.2.58.10.7-150500.3.2.5  Annotations.dyn_hiAnnotations.hiAnnotations.p_hiApiAnnotation.dyn_hiApiAnnotation.hiApiAnnotation.p_hiAr.dyn_hiAr.hiAr.p_hiAsmCodeGen.dyn_hiAsmCodeGen.hiAsmCodeGen.p_hiAsmUtils.dyn_hiAsmUtils.hiAsmUtils.p_hiAvail.dyn_hiAvail.hiAvail.p_hiBag.dyn_hiBag.hiBag.p_hiBasicTypes.dyn_hiBasicTypes.hiBasicTypes.p_hiBinFingerprint.dyn_hiBinFingerprint.hiBinFingerprint.p_hiBinIface.dyn_hiBinIface.hiBinIface.p_hiBinary.dyn_hiBinary.hiBinary.p_hiBitmap.dyn_hiBitmap.hiBitmap.p_hiBkpSyn.dyn_hiBkpSyn.hiBkpSyn.p_hiBlockId.dyn_hiBlockId.hiBlockId.p_hiBlockLayout.dyn_hiBlockLayout.hiBlockLayout.p_hiBooleanFormula.dyn_hiBooleanFormula.hiBooleanFormula.p_hiBufWrite.dyn_hiBufWrite.hiBufWrite.p_hiBuildTyCl.dyn_hiBuildTyCl.hiBuildTyCl.p_hiByteCodeAsm.dyn_hiByteCodeAsm.hiByteCodeAsm.p_hiByteCodeGen.dyn_hiByteCodeGen.hiByteCodeGen.p_hiByteCodeInstr.dyn_hiByteCodeInstr.hiByteCodeInstr.p_hiByteCodeItbls.dyn_hiByteCodeItbls.hiByteCodeItbls.p_hiByteCodeLink.dyn_hiByteCodeLink.hiByteCodeLink.p_hiByteCodeTypes.dyn_hiByteCodeTypes.hiByteCodeTypes.p_hiCFG.dyn_hiCFG.hiCFG.p_hiCLabel.dyn_hiCLabel.hiCLabel.p_hiCPrim.dyn_hiCPrim.hiCPrim.p_hiCSE.dyn_hiCSE.hiCSE.p_hiCallArity.dyn_hiCallArity.hiCallArity.p_hiClass.dyn_hiClass.hiClass.p_hiCliOption.dyn_hiCliOption.hiCliOption.p_hiClsInst.dyn_hiClsInst.hiClsInst.p_hiCmdLineParser.dyn_hiCmdLineParser.hiCmdLineParser.p_hiCmm.dyn_hiCmm.hiCmm.p_hiCmmBuildInfoTables.dyn_hiCmmBuildInfoTables.hiCmmBuildInfoTables.p_hiCmmCallConv.dyn_hiCmmCallConv.hiCmmCallConv.p_hiCmmCommonBlockElim.dyn_hiCmmCommonBlockElim.hiCmmCommonBlockElim.p_hiCmmContFlowOpt.dyn_hiCmmContFlowOpt.hiCmmContFlowOpt.p_hiCmmExpr.dyn_hiCmmExpr.hiCmmExpr.p_hiCmmImplementSwitchPlans.dyn_hiCmmImplementSwitchPlans.hiCmmImplementSwitchPlans.p_hiCmmInfo.dyn_hiCmmInfo.hiCmmInfo.p_hiCmmLayoutStack.dyn_hiCmmLayoutStack.hiCmmLayoutStack.p_hiCmmLex.dyn_hiCmmLex.hiCmmLex.p_hiCmmLint.dyn_hiCmmLint.hiCmmLint.p_hiCmmLive.dyn_hiCmmLive.hiCmmLive.p_hiCmmMachOp.dyn_hiCmmMachOp.hiCmmMachOp.p_hiCmmMonad.dyn_hiCmmMonad.hiCmmMonad.p_hiCmmNode.dyn_hiCmmNode.hiCmmNode.p_hiCmmOpt.dyn_hiCmmOpt.hiCmmOpt.p_hiCmmParse.dyn_hiCmmParse.hiCmmParse.p_hiCmmPipeline.dyn_hiCmmPipeline.hiCmmPipeline.p_hiCmmProcPoint.dyn_hiCmmProcPoint.hiCmmProcPoint.p_hiCmmSink.dyn_hiCmmSink.hiCmmSink.p_hiCmmSwitch.dyn_hiCmmSwitch.hiCmmSwitch.p_hiCmmType.dyn_hiCmmType.hiCmmType.p_hiCmmUtils.dyn_hiCmmUtils.hiCmmUtils.p_hiCoAxiom.dyn_hiCoAxiom.hiCoAxiom.p_hiCodeOutput.dyn_hiCodeOutput.hiCodeOutput.p_hiCoercion.dyn_hiCoercion.hiCoercion.p_hiConLike.dyn_hiConLike.hiConLike.p_hiConfig.dyn_hiConfig.hiConfig.p_hiConstants.dyn_hiConstants.hiConstants.p_hiConstraint.dyn_hiConstraint.hiConstraint.p_hiCoreArity.dyn_hiCoreArity.hiCoreArity.p_hiCoreFVs.dyn_hiCoreFVs.hiCoreFVs.p_hiCoreLint.dyn_hiCoreLint.hiCoreLint.p_hiCoreMap.dyn_hiCoreMap.hiCoreMap.p_hiCoreMonad.dyn_hiCoreMonad.hiCoreMonad.p_hiCoreOpt.dyn_hiCoreOpt.hiCoreOpt.p_hiCorePrep.dyn_hiCorePrep.hiCorePrep.p_hiCoreSeq.dyn_hiCoreSeq.hiCoreSeq.p_hiCoreStats.dyn_hiCoreStats.hiCoreStats.p_hiCoreSubst.dyn_hiCoreSubst.hiCoreSubst.p_hiCoreSyn.dyn_hiCoreSyn.hiCoreSyn.p_hiCoreTidy.dyn_hiCoreTidy.hiCoreTidy.p_hiCoreToStg.dyn_hiCoreToStg.hiCoreToStg.p_hiCoreUnfold.dyn_hiCoreUnfold.hiCoreUnfold.p_hiCoreUtils.dyn_hiCoreUtils.hiCoreUtils.p_hiCostCentre.dyn_hiCostCentre.hiCostCentre.p_hiCostCentreState.dyn_hiCostCentreState.hiCostCentreState.p_hiCoverage.dyn_hiCoverage.hiCoverage.p_hiCtype.dyn_hiCtype.hiCtype.p_hiDataCon.dyn_hiDataCon.hiDataCon.p_hiDebug.dyn_hiDebug.hiDebug.p_hiDebugger.dyn_hiDebugger.hiDebugger.p_hiDemand.dyn_hiDemand.hiDemand.p_hiDesugar.dyn_hiDesugar.hiDesugar.p_hiDigraph.dyn_hiDigraph.hiDigraph.p_hiDmdAnal.dyn_hiDmdAnal.hiDmdAnal.p_hiDominators.dyn_hiDominators.hiDominators.p_hiDriverBkp.dyn_hiDriverBkp.hiDriverBkp.p_hiDriverMkDepend.dyn_hiDriverMkDepend.hiDriverMkDepend.p_hiDriverPhases.dyn_hiDriverPhases.hiDriverPhases.p_hiDriverPipeline.dyn_hiDriverPipeline.hiDriverPipeline.p_hiDsArrows.dyn_hiDsArrows.hiDsArrows.p_hiDsBinds.dyn_hiDsBinds.hiDsBinds.p_hiDsCCall.dyn_hiDsCCall.hiDsCCall.p_hiDsExpr.dyn_hiDsExpr.hiDsExpr.p_hiDsForeign.dyn_hiDsForeign.hiDsForeign.p_hiDsGRHSs.dyn_hiDsGRHSs.hiDsGRHSs.p_hiDsListComp.dyn_hiDsListComp.hiDsListComp.p_hiDsMeta.dyn_hiDsMeta.hiDsMeta.p_hiDsMonad.dyn_hiDsMonad.hiDsMonad.p_hiDsUsage.dyn_hiDsUsage.hiDsUsage.p_hiDsUtils.dyn_hiDsUtils.hiDsUtils.p_hiDwarfDwarf.dyn_hiDwarf.hiDwarf.p_hiConstants.dyn_hiConstants.hiConstants.p_hiTypes.dyn_hiTypes.hiTypes.p_hiDynFlags.dyn_hiDynFlags.hiDynFlags.p_hiDynamicLoading.dyn_hiDynamicLoading.hiDynamicLoading.p_hiElf.dyn_hiElf.hiElf.p_hiEncoding.dyn_hiEncoding.hiEncoding.p_hiEnumSet.dyn_hiEnumSet.hiEnumSet.p_hiErrUtils.dyn_hiErrUtils.hiErrUtils.p_hiException.dyn_hiException.hiException.p_hiExitify.dyn_hiExitify.hiExitify.p_hiExtractDocs.dyn_hiExtractDocs.hiExtractDocs.p_hiFV.dyn_hiFV.hiFV.p_hiFamInst.dyn_hiFamInst.hiFamInst.p_hiFamInstEnv.dyn_hiFamInstEnv.hiFamInstEnv.p_hiFastFunctions.dyn_hiFastFunctions.hiFastFunctions.p_hiFastMutInt.dyn_hiFastMutInt.hiFastMutInt.p_hiFastString.dyn_hiFastString.hiFastString.p_hiFastStringEnv.dyn_hiFastStringEnv.hiFastStringEnv.p_hiFieldLabel.dyn_hiFieldLabel.hiFieldLabel.p_hiFileCleanup.dyn_hiFileCleanup.hiFileCleanup.p_hiFileSettings.dyn_hiFileSettings.hiFileSettings.p_hiFinder.dyn_hiFinder.hiFinder.p_hiFingerprint.dyn_hiFingerprint.hiFingerprint.p_hiFiniteMap.dyn_hiFiniteMap.hiFiniteMap.p_hiFlagChecker.dyn_hiFlagChecker.hiFlagChecker.p_hiFloatIn.dyn_hiFloatIn.hiFloatIn.p_hiFloatOut.dyn_hiFloatOut.hiFloatOut.p_hiForeignCall.dyn_hiForeignCall.hiForeignCall.p_hiFormat.dyn_hiFormat.hiFormat.p_hiFunDeps.dyn_hiFunDeps.hiFunDeps.p_hiGHCGHC.dyn_hiGHC.hiGHC.p_hiHsHs.dyn_hiHs.hiHs.p_hiBinds.dyn_hiBinds.hiBinds.p_hiDecls.dyn_hiDecls.hiDecls.p_hiDoc.dyn_hiDoc.hiDoc.p_hiDump.dyn_hiDump.hiDump.p_hiExpr.dyn_hiExpr.hiExpr.p_hiExtension.dyn_hiExtension.hiExtension.p_hiImpExp.dyn_hiImpExp.hiImpExp.p_hiInstances.dyn_hiInstances.hiInstances.p_hiLit.dyn_hiLit.hiLit.p_hiPat.dyn_hiPat.hiPat.p_hiPlaceHolder.dyn_hiPlaceHolder.hiPlaceHolder.p_hiTypes.dyn_hiTypes.hiTypes.p_hiUtils.dyn_hiUtils.hiUtils.p_hiHsToCorePmCheckPmCheck.dyn_hiPmCheck.hiPmCheck.p_hiOracle.dyn_hiOracle.hiOracle.p_hiPpr.dyn_hiPpr.hiPpr.p_hiTypes.dyn_hiTypes.hiTypes.p_hiPlatformAArch64.dyn_hiAArch64.hiAArch64.p_hiARM.dyn_hiARM.hiARM.p_hiNoRegs.dyn_hiNoRegs.hiNoRegs.p_hiPPC.dyn_hiPPC.hiPPC.p_hiRegs.dyn_hiRegs.hiRegs.p_hiS390X.dyn_hiS390X.hiS390X.p_hiSPARC.dyn_hiSPARC.hiSPARC.p_hiX86.dyn_hiX86.hiX86.p_hiX86_64.dyn_hiX86_64.hiX86_64.p_hiStgToCmmStgToCmm.dyn_hiStgToCmm.hiStgToCmm.p_hiArgRep.dyn_hiArgRep.hiArgRep.p_hiBind.dyn_hiBind.hiBind.p_hiCgUtils.dyn_hiCgUtils.hiCgUtils.p_hiClosure.dyn_hiClosure.hiClosure.p_hiDataCon.dyn_hiDataCon.hiDataCon.p_hiEnv.dyn_hiEnv.hiEnv.p_hiExpr.dyn_hiExpr.hiExpr.p_hiExtCode.dyn_hiExtCode.hiExtCode.p_hiForeign.dyn_hiForeign.hiForeign.p_hiHeap.dyn_hiHeap.hiHeap.p_hiHpc.dyn_hiHpc.hiHpc.p_hiLayout.dyn_hiLayout.hiLayout.p_hiMonad.dyn_hiMonad.hiMonad.p_hiPrim.dyn_hiPrim.hiPrim.p_hiProf.dyn_hiProf.hiProf.p_hiTicky.dyn_hiTicky.hiTicky.p_hiUtils.dyn_hiUtils.hiUtils.p_hiThToHs.dyn_hiThToHs.hiThToHs.p_hiGHCi.dyn_hiGHCi.hiGHCi.p_hiGhcMake.dyn_hiGhcMake.hiGhcMake.p_hiGhcMonad.dyn_hiGhcMonad.hiGhcMonad.p_hiGhcNameVersion.dyn_hiGhcNameVersion.hiGhcNameVersion.p_hiGhcPlugins.dyn_hiGhcPlugins.hiGhcPlugins.p_hiGhcPrelude.dyn_hiGhcPrelude.hiGhcPrelude.p_hiGraphBase.dyn_hiGraphBase.hiGraphBase.p_hiGraphColor.dyn_hiGraphColor.hiGraphColor.p_hiGraphOps.dyn_hiGraphOps.hiGraphOps.p_hiGraphPpr.dyn_hiGraphPpr.hiGraphPpr.p_hiHaddockUtils.dyn_hiHaddockUtils.hiHaddockUtils.p_hiHeaderInfo.dyn_hiHeaderInfo.hiHeaderInfo.p_hiHieAst.dyn_hiHieAst.hiHieAst.p_hiHieBin.dyn_hiHieBin.hiHieBin.p_hiHieDebug.dyn_hiHieDebug.hiHieDebug.p_hiHieTypes.dyn_hiHieTypes.hiHieTypes.p_hiHieUtils.dyn_hiHieUtils.hiHieUtils.p_hiHooks.dyn_hiHooks.hiHooks.p_hiHooplBlock.dyn_hiBlock.hiBlock.p_hiCollections.dyn_hiCollections.hiCollections.p_hiDataflow.dyn_hiDataflow.hiDataflow.p_hiGraph.dyn_hiGraph.hiGraph.p_hiLabel.dyn_hiLabel.hiLabel.p_hiHscMain.dyn_hiHscMain.hiHscMain.p_hiHscStats.dyn_hiHscStats.hiHscStats.p_hiHscTypes.dyn_hiHscTypes.hiHscTypes.p_hiIOEnv.dyn_hiIOEnv.hiIOEnv.p_hiId.dyn_hiId.hiId.p_hiIdInfo.dyn_hiIdInfo.hiIdInfo.p_hiIfaceEnv.dyn_hiIfaceEnv.hiIfaceEnv.p_hiIfaceSyn.dyn_hiIfaceSyn.hiIfaceSyn.p_hiIfaceType.dyn_hiIfaceType.hiIfaceType.p_hiInst.dyn_hiInst.hiInst.p_hiInstEnv.dyn_hiInstEnv.hiInstEnv.p_hiInstruction.dyn_hiInstruction.hiInstruction.p_hiInteractiveEval.dyn_hiInteractiveEval.hiInteractiveEval.p_hiInteractiveEvalTypes.dyn_hiInteractiveEvalTypes.hiInteractiveEvalTypes.p_hiJson.dyn_hiJson.hiJson.p_hiKnownUniques.dyn_hiKnownUniques.hiKnownUniques.p_hiLexeme.dyn_hiLexeme.hiLexeme.p_hiLexer.dyn_hiLexer.hiLexer.p_hiLiberateCase.dyn_hiLiberateCase.hiLiberateCase.p_hiLinker.dyn_hiLinker.hiLinker.p_hiLinkerTypes.dyn_hiLinkerTypes.hiLinkerTypes.p_hiListSetOps.dyn_hiListSetOps.hiListSetOps.p_hiLiteral.dyn_hiLiteral.hiLiteral.p_hiLlvmLlvm.dyn_hiLlvm.hiLlvm.p_hiAbsSyn.dyn_hiAbsSyn.hiAbsSyn.p_hiMetaData.dyn_hiMetaData.hiMetaData.p_hiPpLlvm.dyn_hiPpLlvm.hiPpLlvm.p_hiTypes.dyn_hiTypes.hiTypes.p_hiLlvmCodeGenLlvmCodeGen.dyn_hiLlvmCodeGen.hiLlvmCodeGen.p_hiBase.dyn_hiBase.hiBase.p_hiCodeGen.dyn_hiCodeGen.hiCodeGen.p_hiData.dyn_hiData.hiData.p_hiPpr.dyn_hiPpr.hiPpr.p_hiRegs.dyn_hiRegs.hiRegs.p_hiLlvmMangler.dyn_hiLlvmMangler.hiLlvmMangler.p_hiLoadIface.dyn_hiLoadIface.hiLoadIface.p_hiMatch.dyn_hiMatch.hiMatch.p_hiMatchCon.dyn_hiMatchCon.hiMatchCon.p_hiMatchLit.dyn_hiMatchLit.hiMatchLit.p_hiMaybes.dyn_hiMaybes.hiMaybes.p_hiMkCore.dyn_hiMkCore.hiMkCore.p_hiMkGraph.dyn_hiMkGraph.hiMkGraph.p_hiMkId.dyn_hiMkId.hiMkId.p_hiMkIface.dyn_hiMkIface.hiMkIface.p_hiModule.dyn_hiModule.hiModule.p_hiMonadUtils.dyn_hiMonadUtils.hiMonadUtils.p_hiNCGMonad.dyn_hiNCGMonad.hiNCGMonad.p_hiName.dyn_hiName.hiName.p_hiNameCache.dyn_hiNameCache.hiNameCache.p_hiNameEnv.dyn_hiNameEnv.hiNameEnv.p_hiNameSet.dyn_hiNameSet.hiNameSet.p_hiNameShape.dyn_hiNameShape.hiNameShape.p_hiOccName.dyn_hiOccName.hiOccName.p_hiOccurAnal.dyn_hiOccurAnal.hiOccurAnal.p_hiOptCoercion.dyn_hiOptCoercion.hiOptCoercion.p_hiOrdList.dyn_hiOrdList.hiOrdList.p_hiOutputable.dyn_hiOutputable.hiOutputable.p_hiPIC.dyn_hiPIC.hiPIC.p_hiPPCCodeGen.dyn_hiCodeGen.hiCodeGen.p_hiCond.dyn_hiCond.hiCond.p_hiInstr.dyn_hiInstr.hiInstr.p_hiPpr.dyn_hiPpr.hiPpr.p_hiRegInfo.dyn_hiRegInfo.hiRegInfo.p_hiRegs.dyn_hiRegs.hiRegs.p_hiPackageConfig.dyn_hiPackageConfig.hiPackageConfig.p_hiPackages.dyn_hiPackages.hiPackages.p_hiPair.dyn_hiPair.hiPair.p_hiPanic.dyn_hiPanic.hiPanic.p_hiParser.dyn_hiParser.hiParser.p_hiPatSyn.dyn_hiPatSyn.hiPatSyn.p_hiPipelineMonad.dyn_hiPipelineMonad.hiPipelineMonad.p_hiPlainPanic.dyn_hiPlainPanic.hiPlainPanic.p_hiPlatformConstants.dyn_hiPlatformConstants.hiPlatformConstants.p_hiPlugins.dyn_hiPlugins.hiPlugins.p_hiPprBase.dyn_hiPprBase.hiPprBase.p_hiPprC.dyn_hiPprC.hiPprC.p_hiPprCmm.dyn_hiPprCmm.hiPprCmm.p_hiPprCmmDecl.dyn_hiPprCmmDecl.hiPprCmmDecl.p_hiPprCmmExpr.dyn_hiPprCmmExpr.hiPprCmmExpr.p_hiPprColour.dyn_hiPprColour.hiPprColour.p_hiPprCore.dyn_hiPprCore.hiPprCore.p_hiPprTyThing.dyn_hiPprTyThing.hiPprTyThing.p_hiPredicate.dyn_hiPredicate.hiPredicate.p_hiPrelInfo.dyn_hiPrelInfo.hiPrelInfo.p_hiPrelNames.dyn_hiPrelNames.hiPrelNames.p_hiPrelRules.dyn_hiPrelRules.hiPrelRules.p_hiPretty.dyn_hiPretty.hiPretty.p_hiPrimOp.dyn_hiPrimOp.hiPrimOp.p_hiProfInit.dyn_hiProfInit.hiProfInit.p_hiRdrHsSyn.dyn_hiRdrHsSyn.hiRdrHsSyn.p_hiRdrName.dyn_hiRdrName.hiRdrName.p_hiReg.dyn_hiReg.hiReg.p_hiRegAllocGraphArchBase.dyn_hiArchBase.hiArchBase.p_hiArchX86.dyn_hiArchX86.hiArchX86.p_hiCoalesce.dyn_hiCoalesce.hiCoalesce.p_hiMain.dyn_hiMain.hiMain.p_hiSpill.dyn_hiSpill.hiSpill.p_hiSpillClean.dyn_hiSpillClean.hiSpillClean.p_hiSpillCost.dyn_hiSpillCost.hiSpillCost.p_hiStats.dyn_hiStats.hiStats.p_hiTrivColorable.dyn_hiTrivColorable.hiTrivColorable.p_hiLinearBase.dyn_hiBase.hiBase.p_hiFreeRegs.dyn_hiFreeRegs.hiFreeRegs.p_hiJoinToTargets.dyn_hiJoinToTargets.hiJoinToTargets.p_hiMain.dyn_hiMain.hiMain.p_hiPPCFreeRegs.dyn_hiFreeRegs.hiFreeRegs.p_hiSPARCFreeRegs.dyn_hiFreeRegs.hiFreeRegs.p_hiStackMap.dyn_hiStackMap.hiStackMap.p_hiState.dyn_hiState.hiState.p_hiStats.dyn_hiStats.hiStats.p_hiX86FreeRegs.dyn_hiFreeRegs.hiFreeRegs.p_hiX86_64FreeRegs.dyn_hiFreeRegs.hiFreeRegs.p_hiLiveness.dyn_hiLiveness.hiLiveness.p_hiRegClass.dyn_hiRegClass.hiRegClass.p_hiRepType.dyn_hiRepType.hiRepType.p_hiRnBinds.dyn_hiRnBinds.hiRnBinds.p_hiRnEnv.dyn_hiRnEnv.hiRnEnv.p_hiRnExpr.dyn_hiRnExpr.hiRnExpr.p_hiRnFixity.dyn_hiRnFixity.hiRnFixity.p_hiRnHsDoc.dyn_hiRnHsDoc.hiRnHsDoc.p_hiRnModIface.dyn_hiRnModIface.hiRnModIface.p_hiRnNames.dyn_hiRnNames.hiRnNames.p_hiRnPat.dyn_hiRnPat.hiRnPat.p_hiRnSource.dyn_hiRnSource.hiRnSource.p_hiRnSplice.dyn_hiRnSplice.hiRnSplice.p_hiRnTypes.dyn_hiRnTypes.hiRnTypes.p_hiRnUnbound.dyn_hiRnUnbound.hiRnUnbound.p_hiRnUtils.dyn_hiRnUtils.hiRnUtils.p_hiRtClosureInspect.dyn_hiRtClosureInspect.hiRtClosureInspect.p_hiRules.dyn_hiRules.hiRules.p_hiSAT.dyn_hiSAT.hiSAT.p_hiSMRep.dyn_hiSMRep.hiSMRep.p_hiSPARCAddrMode.dyn_hiAddrMode.hiAddrMode.p_hiBase.dyn_hiBase.hiBase.p_hiCodeGenCodeGen.dyn_hiCodeGen.hiCodeGen.p_hiAmode.dyn_hiAmode.hiAmode.p_hiBase.dyn_hiBase.hiBase.p_hiCondCode.dyn_hiCondCode.hiCondCode.p_hiExpand.dyn_hiExpand.hiExpand.p_hiGen32.dyn_hiGen32.hiGen32.p_hiGen64.dyn_hiGen64.hiGen64.p_hiSanity.dyn_hiSanity.hiSanity.p_hiCond.dyn_hiCond.hiCond.p_hiImm.dyn_hiImm.hiImm.p_hiInstr.dyn_hiInstr.hiInstr.p_hiPpr.dyn_hiPpr.hiPpr.p_hiRegs.dyn_hiRegs.hiRegs.p_hiShortcutJump.dyn_hiShortcutJump.hiShortcutJump.p_hiStack.dyn_hiStack.hiStack.p_hiSetLevels.dyn_hiSetLevels.hiSetLevels.p_hiSettings.dyn_hiSettings.hiSettings.p_hiSimplCore.dyn_hiSimplCore.hiSimplCore.p_hiSimplEnv.dyn_hiSimplEnv.hiSimplEnv.p_hiSimplMonad.dyn_hiSimplMonad.hiSimplMonad.p_hiSimplStg.dyn_hiSimplStg.hiSimplStg.p_hiSimplUtils.dyn_hiSimplUtils.hiSimplUtils.p_hiSimplify.dyn_hiSimplify.hiSimplify.p_hiSpecConstr.dyn_hiSpecConstr.hiSpecConstr.p_hiSpecialise.dyn_hiSpecialise.hiSpecialise.p_hiSrcLoc.dyn_hiSrcLoc.hiSrcLoc.p_hiState.dyn_hiState.hiState.p_hiStaticPtrTable.dyn_hiStaticPtrTable.hiStaticPtrTable.p_hiStgCse.dyn_hiStgCse.hiStgCse.p_hiStgFVs.dyn_hiStgFVs.hiStgFVs.p_hiStgLiftLamsStgLiftLams.dyn_hiStgLiftLams.hiStgLiftLams.p_hiAnalysis.dyn_hiAnalysis.hiAnalysis.p_hiLiftM.dyn_hiLiftM.hiLiftM.p_hiTransformation.dyn_hiTransformation.hiTransformation.p_hiStgLint.dyn_hiStgLint.hiStgLint.p_hiStgStats.dyn_hiStgStats.hiStgStats.p_hiStgSubst.dyn_hiStgSubst.hiStgSubst.p_hiStgSyn.dyn_hiStgSyn.hiStgSyn.p_hiStream.dyn_hiStream.hiStream.p_hiStringBuffer.dyn_hiStringBuffer.hiStringBuffer.p_hiSysToolsSysTools.dyn_hiSysTools.hiSysTools.p_hiBaseDir.dyn_hiBaseDir.hiBaseDir.p_hiExtraObj.dyn_hiExtraObj.hiExtraObj.p_hiInfo.dyn_hiInfo.hiInfo.p_hiProcess.dyn_hiProcess.hiProcess.p_hiSettings.dyn_hiSettings.hiSettings.p_hiTasks.dyn_hiTasks.hiTasks.p_hiTerminal.dyn_hiTerminal.hiTerminal.p_hiTHNames.dyn_hiTHNames.hiTHNames.p_hiTargetReg.dyn_hiTargetReg.hiTargetReg.p_hiTcAnnotations.dyn_hiTcAnnotations.hiTcAnnotations.p_hiTcArrows.dyn_hiTcArrows.hiTcArrows.p_hiTcBackpack.dyn_hiTcBackpack.hiTcBackpack.p_hiTcBinds.dyn_hiTcBinds.hiTcBinds.p_hiTcCanonical.dyn_hiTcCanonical.hiTcCanonical.p_hiTcClassDcl.dyn_hiTcClassDcl.hiTcClassDcl.p_hiTcDefaults.dyn_hiTcDefaults.hiTcDefaults.p_hiTcDeriv.dyn_hiTcDeriv.hiTcDeriv.p_hiTcDerivInfer.dyn_hiTcDerivInfer.hiTcDerivInfer.p_hiTcDerivUtils.dyn_hiTcDerivUtils.hiTcDerivUtils.p_hiTcEnv.dyn_hiTcEnv.hiTcEnv.p_hiTcErrors.dyn_hiTcErrors.hiTcErrors.p_hiTcEvTerm.dyn_hiTcEvTerm.hiTcEvTerm.p_hiTcEvidence.dyn_hiTcEvidence.hiTcEvidence.p_hiTcExpr.dyn_hiTcExpr.hiTcExpr.p_hiTcFlatten.dyn_hiTcFlatten.hiTcFlatten.p_hiTcForeign.dyn_hiTcForeign.hiTcForeign.p_hiTcGenDeriv.dyn_hiTcGenDeriv.hiTcGenDeriv.p_hiTcGenFunctor.dyn_hiTcGenFunctor.hiTcGenFunctor.p_hiTcGenGenerics.dyn_hiTcGenGenerics.hiTcGenGenerics.p_hiTcHoleErrors.dyn_hiTcHoleErrors.hiTcHoleErrors.p_hiTcHoleFitTypes.dyn_hiTcHoleFitTypes.hiTcHoleFitTypes.p_hiTcHsSyn.dyn_hiTcHsSyn.hiTcHsSyn.p_hiTcHsType.dyn_hiTcHsType.hiTcHsType.p_hiTcIface.dyn_hiTcIface.hiTcIface.p_hiTcInstDcls.dyn_hiTcInstDcls.hiTcInstDcls.p_hiTcInteract.dyn_hiTcInteract.hiTcInteract.p_hiTcMType.dyn_hiTcMType.hiTcMType.p_hiTcMatches.dyn_hiTcMatches.hiTcMatches.p_hiTcOrigin.dyn_hiTcOrigin.hiTcOrigin.p_hiTcPat.dyn_hiTcPat.hiTcPat.p_hiTcPatSyn.dyn_hiTcPatSyn.hiTcPatSyn.p_hiTcPluginM.dyn_hiTcPluginM.hiTcPluginM.p_hiTcRnDriver.dyn_hiTcRnDriver.hiTcRnDriver.p_hiTcRnExports.dyn_hiTcRnExports.hiTcRnExports.p_hiTcRnMonad.dyn_hiTcRnMonad.hiTcRnMonad.p_hiTcRnTypes.dyn_hiTcRnTypes.hiTcRnTypes.p_hiTcRules.dyn_hiTcRules.hiTcRules.p_hiTcSMonad.dyn_hiTcSMonad.hiTcSMonad.p_hiTcSigs.dyn_hiTcSigs.hiTcSigs.p_hiTcSimplify.dyn_hiTcSimplify.hiTcSimplify.p_hiTcSplice.dyn_hiTcSplice.hiTcSplice.p_hiTcTyClsDecls.dyn_hiTcTyClsDecls.hiTcTyClsDecls.p_hiTcTyDecls.dyn_hiTcTyDecls.hiTcTyDecls.p_hiTcType.dyn_hiTcType.hiTcType.p_hiTcTypeNats.dyn_hiTcTypeNats.hiTcTypeNats.p_hiTcTypeable.dyn_hiTcTypeable.hiTcTypeable.p_hiTcUnify.dyn_hiTcUnify.hiTcUnify.p_hiTcValidity.dyn_hiTcValidity.hiTcValidity.p_hiTidyPgm.dyn_hiTidyPgm.hiTidyPgm.p_hiToIface.dyn_hiToIface.hiToIface.p_hiToolSettings.dyn_hiToolSettings.hiToolSettings.p_hiTrieMap.dyn_hiTrieMap.hiTrieMap.p_hiTyCoFVs.dyn_hiTyCoFVs.hiTyCoFVs.p_hiTyCoPpr.dyn_hiTyCoPpr.hiTyCoPpr.p_hiTyCoRep.dyn_hiTyCoRep.hiTyCoRep.p_hiTyCoSubst.dyn_hiTyCoSubst.hiTyCoSubst.p_hiTyCoTidy.dyn_hiTyCoTidy.hiTyCoTidy.p_hiTyCon.dyn_hiTyCon.hiTyCon.p_hiType.dyn_hiType.hiType.p_hiTysPrim.dyn_hiTysPrim.hiTysPrim.p_hiTysWiredIn.dyn_hiTysWiredIn.hiTysWiredIn.p_hiUnVarGraph.dyn_hiUnVarGraph.hiUnVarGraph.p_hiUnariseStg.dyn_hiUnariseStg.hiUnariseStg.p_hiUnify.dyn_hiUnify.hiUnify.p_hiUniqDFM.dyn_hiUniqDFM.hiUniqDFM.p_hiUniqDSet.dyn_hiUniqDSet.hiUniqDSet.p_hiUniqFM.dyn_hiUniqFM.hiUniqFM.p_hiUniqMap.dyn_hiUniqMap.hiUniqMap.p_hiUniqSet.dyn_hiUniqSet.hiUniqSet.p_hiUniqSupply.dyn_hiUniqSupply.hiUniqSupply.p_hiUnique.dyn_hiUnique.hiUnique.p_hiUtil.dyn_hiUtil.hiUtil.p_hiVar.dyn_hiVar.hiVar.p_hiVarEnv.dyn_hiVarEnv.hiVarEnv.p_hiVarSet.dyn_hiVarSet.hiVarSet.p_hiWorkWrap.dyn_hiWorkWrap.hiWorkWrap.p_hiWwLib.dyn_hiWwLib.hiWwLib.p_hiX86CodeGen.dyn_hiCodeGen.hiCodeGen.p_hiCond.dyn_hiCond.hiCond.p_hiInstr.dyn_hiInstr.hiInstr.p_hiPpr.dyn_hiPpr.hiPpr.p_hiRegInfo.dyn_hiRegInfo.hiRegInfo.p_hiRegs.dyn_hiRegs.hiRegs.p_hiincludeHsVersions.hlibHSghc-8.10.7.alibHSghc-8.10.7_p.aghc-8.10.7.confghc-8.10.7Annotations.htmlApiAnnotation.htmlAr.htmlAsmCodeGen.htmlAsmUtils.htmlAvail.htmlBag.htmlBasicTypes.htmlBinFingerprint.htmlBinIface.htmlBinary.htmlBitmap.htmlBkpSyn.htmlBlockId.htmlBlockLayout.htmlBooleanFormula.htmlBufWrite.htmlBuildTyCl.htmlByteCodeAsm.htmlByteCodeGen.htmlByteCodeInstr.htmlByteCodeItbls.htmlByteCodeLink.htmlByteCodeTypes.htmlCFG.htmlCLabel.htmlCPrim.htmlCSE.htmlCallArity.htmlClass.htmlCliOption.htmlClsInst.htmlCmdLineParser.htmlCmm.htmlCmmBuildInfoTables.htmlCmmCallConv.htmlCmmCommonBlockElim.htmlCmmContFlowOpt.htmlCmmExpr.htmlCmmImplementSwitchPlans.htmlCmmInfo.htmlCmmLayoutStack.htmlCmmLex.htmlCmmLint.htmlCmmLive.htmlCmmMachOp.htmlCmmMonad.htmlCmmNode.htmlCmmOpt.htmlCmmParse.htmlCmmPipeline.htmlCmmProcPoint.htmlCmmSink.htmlCmmSwitch.htmlCmmType.htmlCmmUtils.htmlCoAxiom.htmlCodeOutput.htmlCoercion.htmlConLike.htmlConfig.htmlConstants.htmlConstraint.htmlCoreArity.htmlCoreFVs.htmlCoreLint.htmlCoreMap.htmlCoreMonad.htmlCoreOpt.htmlCorePrep.htmlCoreSeq.htmlCoreStats.htmlCoreSubst.htmlCoreSyn.htmlCoreTidy.htmlCoreToStg.htmlCoreUnfold.htmlCoreUtils.htmlCostCentre.htmlCostCentreState.htmlCoverage.htmlCtype.htmlDataCon.htmlDebug.htmlDebugger.htmlDemand.htmlDesugar.htmlDigraph.htmlDmdAnal.htmlDominators.htmlDriverBkp.htmlDriverMkDepend.htmlDriverPhases.htmlDriverPipeline.htmlDsArrows.htmlDsBinds.htmlDsCCall.htmlDsExpr.htmlDsForeign.htmlDsGRHSs.htmlDsListComp.htmlDsMeta.htmlDsMonad.htmlDsUsage.htmlDsUtils.htmlDwarf-Constants.htmlDwarf-Types.htmlDwarf.htmlDynFlags.htmlDynamicLoading.htmlElf.htmlEncoding.htmlEnumSet.htmlErrUtils.htmlException.htmlExitify.htmlExtractDocs.htmlFV.htmlFamInst.htmlFamInstEnv.htmlFastFunctions.htmlFastMutInt.htmlFastString.htmlFastStringEnv.htmlFieldLabel.htmlFileCleanup.htmlFileSettings.htmlFinder.htmlFingerprint.htmlFiniteMap.htmlFlagChecker.htmlFloatIn.htmlFloatOut.htmlForeignCall.htmlFormat.htmlFunDeps.htmlGHC-Hs-Binds.htmlGHC-Hs-Decls.htmlGHC-Hs-Doc.htmlGHC-Hs-Dump.htmlGHC-Hs-Expr.htmlGHC-Hs-Extension.htmlGHC-Hs-ImpExp.htmlGHC-Hs-Instances.htmlGHC-Hs-Lit.htmlGHC-Hs-Pat.htmlGHC-Hs-PlaceHolder.htmlGHC-Hs-Types.htmlGHC-Hs-Utils.htmlGHC-Hs.htmlGHC-HsToCore-PmCheck-Oracle.htmlGHC-HsToCore-PmCheck-Ppr.htmlGHC-HsToCore-PmCheck-Types.htmlGHC-HsToCore-PmCheck.htmlGHC-Platform-AArch64.htmlGHC-Platform-ARM.htmlGHC-Platform-NoRegs.htmlGHC-Platform-PPC.htmlGHC-Platform-Regs.htmlGHC-Platform-S390X.htmlGHC-Platform-SPARC.htmlGHC-Platform-X86.htmlGHC-Platform-X86_64.htmlGHC-StgToCmm-ArgRep.htmlGHC-StgToCmm-Bind.htmlGHC-StgToCmm-CgUtils.htmlGHC-StgToCmm-Closure.htmlGHC-StgToCmm-DataCon.htmlGHC-StgToCmm-Env.htmlGHC-StgToCmm-Expr.htmlGHC-StgToCmm-ExtCode.htmlGHC-StgToCmm-Foreign.htmlGHC-StgToCmm-Heap.htmlGHC-StgToCmm-Hpc.htmlGHC-StgToCmm-Layout.htmlGHC-StgToCmm-Monad.htmlGHC-StgToCmm-Prim.htmlGHC-StgToCmm-Prof.htmlGHC-StgToCmm-Ticky.htmlGHC-StgToCmm-Utils.htmlGHC-StgToCmm.htmlGHC-ThToHs.htmlGHC.htmlGHCi.htmlGhcMake.htmlGhcMonad.htmlGhcNameVersion.htmlGhcPlugins.htmlGhcPrelude.htmlGraphBase.htmlGraphColor.htmlGraphOps.htmlGraphPpr.htmlHaddockUtils.htmlHeaderInfo.htmlHieAst.htmlHieBin.htmlHieDebug.htmlHieTypes.htmlHieUtils.htmlHooks.htmlHoopl-Block.htmlHoopl-Collections.htmlHoopl-Dataflow.htmlHoopl-Graph.htmlHoopl-Label.htmlHscMain.htmlHscStats.htmlHscTypes.htmlIOEnv.htmlId.htmlIdInfo.htmlIfaceEnv.htmlIfaceSyn.htmlIfaceType.htmlInst.htmlInstEnv.htmlInstruction.htmlInteractiveEval.htmlInteractiveEvalTypes.htmlJson.htmlKnownUniques.htmlLexeme.htmlLexer.htmlLiberateCase.htmlLinker.htmlLinkerTypes.htmlListSetOps.htmlLiteral.htmlLlvm-AbsSyn.htmlLlvm-MetaData.htmlLlvm-PpLlvm.htmlLlvm-Types.htmlLlvm.htmlLlvmCodeGen-Base.htmlLlvmCodeGen-CodeGen.htmlLlvmCodeGen-Data.htmlLlvmCodeGen-Ppr.htmlLlvmCodeGen-Regs.htmlLlvmCodeGen.htmlLlvmMangler.htmlLoadIface.htmlMatch.htmlMatchCon.htmlMatchLit.htmlMaybes.htmlMkCore.htmlMkGraph.htmlMkId.htmlMkIface.htmlModule.htmlMonadUtils.htmlNCGMonad.htmlName.htmlNameCache.htmlNameEnv.htmlNameSet.htmlNameShape.htmlOccName.htmlOccurAnal.htmlOptCoercion.htmlOrdList.htmlOutputable.htmlPIC.htmlPPC-CodeGen.htmlPPC-Cond.htmlPPC-Instr.htmlPPC-Ppr.htmlPPC-RegInfo.htmlPPC-Regs.htmlPackageConfig.htmlPackages.htmlPair.htmlPanic.htmlParser.htmlPatSyn.htmlPipelineMonad.htmlPlainPanic.htmlPlatformConstants.htmlPlugins.htmlPprBase.htmlPprC.htmlPprCmm.htmlPprCmmDecl.htmlPprCmmExpr.htmlPprColour.htmlPprCore.htmlPprTyThing.htmlPredicate.htmlPrelInfo.htmlPrelNames.htmlPrelRules.htmlPretty.htmlPrimOp.htmlProfInit.htmlRdrHsSyn.htmlRdrName.htmlReg.htmlRegAlloc-Graph-ArchBase.htmlRegAlloc-Graph-ArchX86.htmlRegAlloc-Graph-Coalesce.htmlRegAlloc-Graph-Main.htmlRegAlloc-Graph-Spill.htmlRegAlloc-Graph-SpillClean.htmlRegAlloc-Graph-SpillCost.htmlRegAlloc-Graph-Stats.htmlRegAlloc-Graph-TrivColorable.htmlRegAlloc-Linear-Base.htmlRegAlloc-Linear-FreeRegs.htmlRegAlloc-Linear-JoinToTargets.htmlRegAlloc-Linear-Main.htmlRegAlloc-Linear-PPC-FreeRegs.htmlRegAlloc-Linear-SPARC-FreeRegs.htmlRegAlloc-Linear-StackMap.htmlRegAlloc-Linear-State.htmlRegAlloc-Linear-Stats.htmlRegAlloc-Linear-X86-FreeRegs.htmlRegAlloc-Linear-X86_64-FreeRegs.htmlRegAlloc-Liveness.htmlRegClass.htmlRepType.htmlRnBinds.htmlRnEnv.htmlRnExpr.htmlRnFixity.htmlRnHsDoc.htmlRnModIface.htmlRnNames.htmlRnPat.htmlRnSource.htmlRnSplice.htmlRnTypes.htmlRnUnbound.htmlRnUtils.htmlRtClosureInspect.htmlRules.htmlSAT.htmlSMRep.htmlSPARC-AddrMode.htmlSPARC-Base.htmlSPARC-CodeGen-Amode.htmlSPARC-CodeGen-Base.htmlSPARC-CodeGen-CondCode.htmlSPARC-CodeGen-Expand.htmlSPARC-CodeGen-Gen32.htmlSPARC-CodeGen-Gen64.htmlSPARC-CodeGen-Sanity.htmlSPARC-CodeGen.htmlSPARC-Cond.htmlSPARC-Imm.htmlSPARC-Instr.htmlSPARC-Ppr.htmlSPARC-Regs.htmlSPARC-ShortcutJump.htmlSPARC-Stack.htmlSetLevels.htmlSettings.htmlSimplCore.htmlSimplEnv.htmlSimplMonad.htmlSimplStg.htmlSimplUtils.htmlSimplify.htmlSpecConstr.htmlSpecialise.htmlSrcLoc.htmlState.htmlStaticPtrTable.htmlStgCse.htmlStgFVs.htmlStgLiftLams-Analysis.htmlStgLiftLams-LiftM.htmlStgLiftLams-Transformation.htmlStgLiftLams.htmlStgLint.htmlStgStats.htmlStgSubst.htmlStgSyn.htmlStream.htmlStringBuffer.htmlSysTools-BaseDir.htmlSysTools-ExtraObj.htmlSysTools-Info.htmlSysTools-Process.htmlSysTools-Settings.htmlSysTools-Tasks.htmlSysTools-Terminal.htmlSysTools.htmlTHNames.htmlTargetReg.htmlTcAnnotations.htmlTcArrows.htmlTcBackpack.htmlTcBinds.htmlTcCanonical.htmlTcClassDcl.htmlTcDefaults.htmlTcDeriv.htmlTcDerivInfer.htmlTcDerivUtils.htmlTcEnv.htmlTcErrors.htmlTcEvTerm.htmlTcEvidence.htmlTcExpr.htmlTcFlatten.htmlTcForeign.htmlTcGenDeriv.htmlTcGenFunctor.htmlTcGenGenerics.htmlTcHoleErrors.htmlTcHoleFitTypes.htmlTcHsSyn.htmlTcHsType.htmlTcIface.htmlTcInstDcls.htmlTcInteract.htmlTcMType.htmlTcMatches.htmlTcOrigin.htmlTcPat.htmlTcPatSyn.htmlTcPluginM.htmlTcRnDriver.htmlTcRnExports.htmlTcRnMonad.htmlTcRnTypes.htmlTcRules.htmlTcSMonad.htmlTcSigs.htmlTcSimplify.htmlTcSplice.htmlTcTyClsDecls.htmlTcTyDecls.htmlTcType.htmlTcTypeNats.htmlTcTypeable.htmlTcUnify.htmlTcValidity.htmlTidyPgm.htmlToIface.htmlToolSettings.htmlTrieMap.htmlTyCoFVs.htmlTyCoPpr.htmlTyCoRep.htmlTyCoSubst.htmlTyCoTidy.htmlTyCon.htmlType.htmlTysPrim.htmlTysWiredIn.htmlUnVarGraph.htmlUnariseStg.htmlUnify.htmlUniqDFM.htmlUniqDSet.htmlUniqFM.htmlUniqMap.htmlUniqSet.htmlUniqSupply.htmlUnique.htmlUtil.htmlVar.htmlVarEnv.htmlVarSet.htmlWorkWrap.htmlWwLib.htmlX86-CodeGen.htmlX86-Cond.htmlX86-Instr.htmlX86-Ppr.htmlX86-RegInfo.htmlX86-Regs.htmldoc-index-124.htmldoc-index-33.htmldoc-index-36.htmldoc-index-38.htmldoc-index-42.htmldoc-index-43.htmldoc-index-45.htmldoc-index-46.htmldoc-index-47.htmldoc-index-60.htmldoc-index-61.htmldoc-index-62.htmldoc-index-94.htmldoc-index-A.htmldoc-index-All.htmldoc-index-B.htmldoc-index-C.htmldoc-index-D.htmldoc-index-E.htmldoc-index-F.htmldoc-index-G.htmldoc-index-H.htmldoc-index-I.htmldoc-index-J.htmldoc-index-K.htmldoc-index-L.htmldoc-index-M.htmldoc-index-N.htmldoc-index-O.htmldoc-index-P.htmldoc-index-Q.htmldoc-index-R.htmldoc-index-S.htmldoc-index-T.htmldoc-index-U.htmldoc-index-V.htmldoc-index-W.htmldoc-index-X.htmldoc-index-Y.htmldoc-index-Z.htmldoc-index.htmldoc-index.jsonghc.haddockghc.txthaddock-bundle.min.jsindex.htmllinuwial.cssmeta.jsonquick-jump.cssquick-jump.min.jssynopsis.png/usr/lib64/ghc-8.10.7/ghc-8.10.7//usr/lib64/ghc-8.10.7/ghc-8.10.7/Dwarf//usr/lib64/ghc-8.10.7/ghc-8.10.7/GHC//usr/lib64/ghc-8.10.7/ghc-8.10.7/GHC/Hs//usr/lib64/ghc-8.10.7/ghc-8.10.7/GHC/HsToCore//usr/lib64/ghc-8.10.7/ghc-8.10.7/GHC/HsToCore/PmCheck//usr/lib64/ghc-8.10.7/ghc-8.10.7/GHC/Platform//usr/lib64/ghc-8.10.7/ghc-8.10.7/GHC/StgToCmm//usr/lib64/ghc-8.10.7/ghc-8.10.7/Hoopl//usr/lib64/ghc-8.10.7/ghc-8.10.7/Llvm//usr/lib64/ghc-8.10.7/ghc-8.10.7/LlvmCodeGen//usr/lib64/ghc-8.10.7/ghc-8.10.7/PPC//usr/lib64/ghc-8.10.7/ghc-8.10.7/RegAlloc//usr/lib64/ghc-8.10.7/ghc-8.10.7/RegAlloc/Graph//usr/lib64/ghc-8.10.7/ghc-8.10.7/RegAlloc/Linear//usr/lib64/ghc-8.10.7/ghc-8.10.7/RegAlloc/Linear/PPC//usr/lib64/ghc-8.10.7/ghc-8.10.7/RegAlloc/Linear/SPARC//usr/lib64/ghc-8.10.7/ghc-8.10.7/RegAlloc/Linear/X86//usr/lib64/ghc-8.10.7/ghc-8.10.7/RegAlloc/Linear/X86_64//usr/lib64/ghc-8.10.7/ghc-8.10.7/SPARC//usr/lib64/ghc-8.10.7/ghc-8.10.7/SPARC/CodeGen//usr/lib64/ghc-8.10.7/ghc-8.10.7/StgLiftLams//usr/lib64/ghc-8.10.7/ghc-8.10.7/SysTools//usr/lib64/ghc-8.10.7/ghc-8.10.7/X86//usr/lib64/ghc-8.10.7/ghc-8.10.7/include//usr/lib64/ghc-8.10.7/package.conf.d//usr/share/doc/ghc-8.10.7/html/libraries//usr/share/doc/ghc-8.10.7/html/libraries/ghc-8.10.7/-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:29433/SUSE_SLE-15-SP5_Update/e1f5fca9735dfc7fd9c5836ec7b2940a-ghc.SUSE_SLE-15-SP5_Updatedrpmxz5x86_64-suse-linux  directoryC source, ASCII textcurrent ar archiveASCII textHTML document, ASCII text, with very long linesHTML document, ASCII text, with very long lines, with no line terminatorsUTF-8 Unicode text, with very long linesUTF-8 Unicode textASCII text, with no line terminatorsPNG image data, 128 x 104, 8-bit/color RGBA, non-interlacedPRRRRR R R R R RRRRRRRRRRR3`_^"rtȥutf-8c6751547182c575cb5261b898583b1e264c121bdf6510e49306a54cec1227890?7zXZ !t/:g( ]"k%qZߍi -}Pzw" ~硩úQf, IÊ҃¥ KVx9cAO $:Dٶ҉x -OUQ$Bn5_IO._߇;2~.G UnDdUA l맃_l~gWv}@>$Gѐ0-RqC!צ 1'7[}k!>|ynj}˨B4rZ.?xVFYHhĐM0cBOXhwL-U$48;/fi͠SW2Usb1 {[1qXɫhz6zD20*ѱv;aD{KůgUgs FR uQVh2 sGj9"P6$ãYn޺a>BnK)Wϳ Hrχ1 /liuuԶaX\pTt$ft}yݮg'6(e۞؎]LQ/\Y)[&J5Rcг$H 2_?{-jlOlQ_[Gq"|ru$Q`gYih'ÔzL'<.V>]̟,J My8A&%Z["&KHx!VElGUʗ9?IZ`٧^An|\??QTg/F׽hreB'7;1SE !sWLRWtU[oRp=Uz! +h1 /C]'Go.0s_>S:}Dƒ*ϼ u:&"3oy/Mk 9FbWvmm@K;6e;KLtt7NVe)JdB'K ՚ij;UhMv2A5Qxf-[.FfqFwGK[!=[y'4%!LٗY#Z%A6@߿.zd$[BF(rm/u8^kTC.Dj4 ˧.R~r0-.*뭚9K!e>`>FRq#/Z$iq1CVƻGҒpqi6p<.f!)h1ϊbPGcjB5<.FMfZnG3z0`HMƎT(٘.'NKem!%_[ӈ d.L.>Kf #m7:(-V(Qq-Aͽwy&Ujy1? 'VQL!CW)PJ6Br*VnH1ЧG'ǘ rnqj$W ryc$ܮ ፯I0ȜHʊ&`UГYC,/kjڪ2]I[8,>1(JROJ.vdbe-!Dّ"s:R0 DH^Yk&ϓ4uUyDr{˽%ox; `4q.P |B ,an(Ta2i*&_Ns%2ϽƔz{|*?3RD}+1uFj!V#Edz FU,nT)XK} GknL],_H$7J&)jVjc4tNS f^6Mp1Wng_Zf:A1+ĿJaˤqMMft29VD1!P -t G$^G7=P}/H1 &;mhTzckFĘȻPNBE]Q%yAMToC7jC~? UuzU:9vYq[4>*ׄWL/"+u! Ĥ RQ\ .ߊMŌ]קПmM Qar@cx_=^(?DnQ8G \lnf=5> GGtw44it–ک=pMqVr{-ZT,^)En~e22d M}} Yu ,LмWm^wt ՚fk&7auj{h)#b[TNӬ"}h^,j(y#W q9N\Y7/[%vnoEϚeLwU<}aTLɶƕG>ˈڞ^uᾙ\3YG8WdQ[lXʻPxȜ5qdGm+sT,.1Xt7!S6ӦxW}9^ʋP&K +B'kզVzGnuTr[TkTsNn3#}v.a& +`:qY7'ZȼH ^9$?NI5J\~-sMw O4 ݊҂N]\.QhXxs*Ld#kӾz̍_a%g8rVڣƦW :"(,>xe =&ZQᖐv5\;pg-6\ҮLR# [ZF βuPMHBFBG~-&'5z/~ )]Ç6n)<:"=JǢGV{6Vh`r/1-*W{GUۆyG8DFںXB94\Ia$?_[aЩ'[B/l#2[@lS\p1~3֭1t<ɏtȱ:juUfrPCU$Q A~]`XBZJ5NL}nOPq`4pWceoMa~l+8=\\agR"5zfj T<4:' Z76(PI؞a/8|!0Mo*hɭlܿށXմi!oxQ,@ňl<\̋LS:,;PO1x5^eP]&q% B=FP 'Ma @:ϙ_Ncz-(Z95\[*q$EW缍Ɵ0v.3g(k,+j{^0q02fjFcF~7!2E2,@I73L@}Yl,R CH-P+s -(t {F((U))R;p/ \B#ʘ `R3w4ƹǑFNj*^ }hmjUr΅:gf$F|ȫ`S4Y [/˰5t]yiצ5`3T $&gXq_]Gуi+Elzy͔<\-]9F|9m)I \1ߨz޸IEYqDnq\?]8Pɂ }r{SpɳDDm%;v_Y1qVGrQ*w<&1V`W$ [̜m^BcP1Su 5  & 6j)w ֵmT%ZwcB9JDB u}l"+MCmv!jZ؁9H*.G*k-y''?%C7,} )0B$!KuƄ I8CR+D0ڍP]VLdb` dm ܆ WA"s o—VagJ齵s;zy U O$&Hއ)Va7)!J*Qvɸ ?"hs A[Hf [I-_5T6 b7rRt])ZJX;bѹW+3> [{{p ntCiP}QPrJsE wo2%UA`eZAP S^YGUžbzat9#krbݽTZy G5 ¿S)5AD|#>2$I4 a& >z1K5$.oȣuuCə_/[Fkux߽Key53ʱfcLQ@ -ooinn*zI?VQ)u6d)[:j#ԦXlPD2#e)֠>+AvK3Q | #Vܖ(9NbA۶MX h1p5EʘN}0t KKNby`b8MIPH$*6mb I,ۉ>+jr108"Ҳ)N2~ o>arsdZ1*9Pש$+~VHn*v$/닸Y _&Ii2֬ A$Ml/ŹoLZ &\We~_{z:ؽ.f33pIDkh;9s a7V>fLJ?zDN4`$겅߱Y^ YJL9> QW}ڍԮgX %G3ڰbwc BF,2ѽM5~J܀*JSw}BoA* ]lI </]ɳM͑řK$\sR?ø]ҫV{~kʯ̏m1R y3]Ϳ GyNWwȊ_@Ӳ+Z2sMXzVi}gfFޑOE+3=As쎍0"zWR:߭ʛ kURYL2å WujcN4U^K_KT Hˊ$6u ,YcSDDLpYnխM?Í1+ WzkrPw`(kA+dLS?IY(silvHȘ̃ZiP !> gN")6RȖhVH%eڼ/p=pޞP@CopP,Wf m/5X& ;5AS_:l3MݜW"EcyeܝXTYMIhjό ɞY|2̈G1&$Fr֘IƶP6ce9C3,t^5psAΞW\q\ BFG]Թ#ULLC-0+85q49wV`R|!ÈnQwuYkMe 4XdCymkEVB@D|K*xm>bL S*Z!K4,,865}w$t 6 N; BzSz9 !c-a^`2߰SƐBTdñVi|vd4Щ4WНWRpaWKntKdH|OIŲ5*kz"Rf`7Bƻ᡽zDwR8#+諸M3Mf}E&%\RA 4' J֦yQe(]\V bd}6]ڶ cP\Ƅy71U90>4 \hH،u-%0*WoҠqʱoV_ZUdU$Ru~>ZvH:V4EF;[tR>o/e㖥f<4"[:nC+Z/0py5DV`AM5tTgU0LJrBJı뚖 p=B{X3h\8L(Ep=HzDM;R+)߳M*ZhhJAuf@~g ie/ef!t糦ewz>u~+taAzE֏;@z>wj tgG0d-vZqU~% ȑhB74rR2e(au lM)ksoK?\ҐAw*.c-ř tAY# QGZ•^oe6pxXcr0t$MXs_b^~Ju_cxVCPK8bJR[*ܧ#z^[$sFs38&w=0 uK2wAB&A/?)LTQ+~yݻۂBg}uh^pGj_B6>=I{MtjϱMe '8Ϛ ,x7cz#+h+j4FQCFАW Xj?AE?%# 3oaX:_2ዏ3&{Y ‹00S!t apߝm^UèEA}Z$^Bc2,P<塬c/!Wd#'3\k`$l>~m!b©m|ʷ3A0ʰwIw{$Po~/t\ u0sX@[ʼWٳJ :nwGF1 qRasx ZoXɌ![1bQ} g1! +Efuk)3(k\׿UPxʒ^vBD0eKQ C ɴYUBi!2w?ka:=-:P'n&Ns40];W IZ#jܽ%{YOn+) 0& n#>V`cu]1@岨@Ʉ^fwww:2 *yNP!Z(R7 -ATrg P/?>9: Wd65؉di`CnzFS֜n[|6b?,Coyq-_\ U,*k)UF`\gb\A{'f/ eWv%BY1rPɀr`fh&TRt- j 8,'9!?n-ZIJmɬotRt"]cڭSIMNqHEGx@o h n#.O‡ճT_VB7 !EFhI6 c2'x,‹NmsMot/CF1d2lwNmmj4gDUx{M9ڼUih~_&>#L D3*Q/rJ1^!PtH YZ