ghc-ghc-devel-8.10.7-150500.3.2.5<>,de p9| U3ibcМ0Ў}٣V9ԇ h&g+7)ӻJd~A{l$C&jЩ( 9ƺ+aLy>` zcB5i@xѵq4( vMoF:ۃOt*_ =vb2n3W_^cg|~kkѬX%1Ŀ0KL!1ۍV&>|h% fiQҲNd(eMd1 ~:-2:>B?d $ J 6<D~  0 ?x ^X M UthL"(8h94h:h>MX@M`FMhGMHl`I@XY\0]^ b%c&fd&e&f&l&u'vE wG<xfyzP`djCghc-ghc-devel8.10.7150500.3.2.5Haskell ghc library development filesThis package provides the Haskell ghc library development files.de ibs-arm-6*TSUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Development/Languages/Otherhttps://www.haskell.org/ghc/linuxaarch64/usr/bin/ghc-pkg-8.10.7 recache --no-user-package-db || :/usr/bin/ghc-pkg-8.10.7 recache --no-user-package-db || :^y^v^wmjkQFQCQDmjo  E[EXE[%%%544;;;6]6Z6Y@@@TQQWT%%%???zz~z}85; "N"K"L"6"3"2sss L I Ia+a(a*ĘĕėsssX.X+X/000(((QNQKHIFtFqFpQQQHHHL4L1L4A A A *** v s r,0,-,(AACr6 66OkOhOhwMwJwSEEEBBA   jjj gde [O[L[N]]]{{{x{xurt999#f#c#g O L OnZnWnY^[\ BBBB?E]]]@@@'''YYY*ccc xCx@x9@e@b@a WWWx@h@e@f>;9===qnkScS`Sc3_3\3\6\6Y6Xrrr>>>c``222>,>)>,=:=">";"<ROPEmEjEl656262WTV{xz979496???cccۊۇۇKHHPMM+d+a+c    . + -Q QQ+G+D$@[@X@YI2I/I1&&&:::أؠ?;;;heeTcT`T`---FFFJJJfcd jjj+c+`+`   ###jge+**%b%_%_|yy6n6k6k444* **###1>.>/PMOl}lzlz---lflcle```[[~[wKwHwZMMMrop222wtw,,,PPPJWJTJT-**PMQqqqrrrIIIFIFhhh[l[i[ihec>S>P>X'''<<<8F8C8H^V^S^UFVFSFRDDD/+/(/,222$$$5 5 5 OLK\\\%%%!!!!!!a<a9a<vvvSPP;;;^^^0-+mjlheekkkN-N*N+~ggg$z$w$y888J:J7J@555,~,{,' '' $D$A$C424/45AAA>A@"""0Z0W0Y\\\n[nXnXOYOVOQ&#$fffLIMdLdIc'C'@'B(((CCCDDDMJJ MMH?555;; ; B??lPlMlO~x~u~z:79`?`<`A999g=g:g:##~#(%'___'''U~U{U~g+g(g)vjvgvhmmmEEE\YXppp  Հ}yXUTC@>LIJw7w4w5_e_b_eXvXsXsVkhi͚͚͝|=|:|9vvq?<>mjj s]sZsYnkmRORLRKPMO(F(C(F֥֢֢hefheaA>>fffɞɛɝccc1r1o1oy,y)y+D0D-D.ysypyq...ZWcPZPWPXqnn~~~ʫʨʨ++~+4446 667J7G7JwwwTQQ~~~???<<<rop%"#]]]333J6J3J4+(*!!!(%%VVVDDDMJKQ6%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큤dd.dd-dd-dd.dd-dd.dd.dd-dd-dd.dd-dd.dd.dd-dd-dd.dd-dd-dd.dd-dd.dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd.dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd-dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd-dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd-dd.dd-dd.dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd.dd.dd-dd-dd.dd-dd.dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd.dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd.dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd.dd.dd-dd-dd.dd-dd-dd.dd-dd.dd.dd-dd.dd.dd-dd-dd.dd-dd.dd.dd-dd-dd.dd-dd-dd.dd-dd.dd.dd-dd-dd.dd-dd-dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd.dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd-dd.dd-dd.dd.dd-dd-dd.dd-dd.dd.dd-dd-dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd-dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd.dd-dd.dd.dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd.dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd-dd.dd-dd-dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd-dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd-dd.dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd.dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd.dd.dd-dd.dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd-dd.dd-dd-dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd.dd.dd-dd-dd.dd-dd.dd.dd-dd-dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd-dd.dd-dd.dd.dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd.dd-dd.dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd.dd-dd.dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd-dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd-dd.dd.dd-dd.dd.dd-dd.dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd-dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd-dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd-dd.dd-dd.dd.dd-dd-dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd-dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd-dd.dd-dd-dd.dd-dd.dd.dd-dd-dd.dd-dd-dd.dd-dd-dd.dd-dd.dd.dd-dd.dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd.dd-dd.dd-dd-ddddddOddQdd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-dd-f2ce01b82e41f4dd6b8ad8524fb0c959bb3d908399c3c80527cea96f31dbc4ae8666e396b9eb2f1e6d7fec214bbe9fd50c4cd81720fa41be205df4d1284a8f554f9c067f4cf4764bafa2b6d16602a2889c13e6032c33ff8db075ee70986427d46f21bfc971669af6e4d8f4d06527741dc6277befa47794f94897ee8c9eb145969cb8ce398f047e663bb723a8f49acd014be015cee6630dcef9af86da0ff46feaea412b769c0f9845419e3a5a742009ddf1fc47a3f60458af6a7795e0f73ecf9005d32b48dad72bc23aa2dfa18b54ad9c39cd267743eaaa80b58c8e9effea21b9d84fb00025d53d1d42ce604a70321a8939a4d127717d35e4523f1b1ca3ba49e254036d47e218216a33cd4b0c9065665bafabece09f8b2baa4ed7fbcf5b1a01e1b562727c38385b2d2c11d14d9e08e27683cff1e29b46e9ebb3436f771d113e19e864f419e83435264f599f09806a25888788a62abc51900e9aada6fac0ac7c20470623c55272b545e62676e1148db32cd51efbcd2167cef956eba5844f1c0b67cc0f3c3dde9a8826e3586908f1a625b3a94b67cf1b19f110262020166e4a97aa995072a6524f3ca28ba257d1ff7cfd1291f8e7c630a06c567c7ca86a23849824855ce288228ee642d878335952c49a1ba4c19e3310e0935861b304825d2fcc278f9df6243d810fa2bc247d7e146d88e3c35dc6eabc38631ef9f5a3f7fc574720477203ee00e0dea8a542d3c2296effd33bfc0b596ba18ca7e348e649fbc2201aff0f515aabf9599ab61ed5f2a022258a6149f0912e131933defc2b5406b62a41c5902b2dc8733d54e21a694fda29a330a8fdd113e958938d29f03f2a767b1f09c54d301f1ebe12ae79387b98e98b6a0fe7400c98f97ccb5ac3281f916177770e3ee5651108da49c3ece13fa6bae190d8611fa482f28a8f46101e4d4c36b4d9647532f681ffc99cd1de6cb407059572a5f4b23a206636f8d66aa6ea71565760109ed81b7fbda0dcf2971f20f53698dbc155435eaa9d0d2bd914ea91980c978fc958810e56c002da210f1fc005dcf0039723eef2221b311bee683cf76884c09a4ddb469b1d13f00bb2222452e1080ffaf17cc3aae1d544bbfc71292e3a107868887b6169d47ccfb393c9157b65ed48e62e84dbe102000d7cc84005520a411c7b686cf2615fe63ae7f9fd2ba2ff01049ca3e27c7041a2584cc609355d56bf2f92d73044b404ede198f2a5c1d41624d8494310879cefcd278425869d663adbeb9544730b047dee806dde3fdbad24d97d9b1441eb15b3e83f4b85fa4ab24ac07e939ebe98867aeb8af9633ef5a0e3d27a3343827fbb675d3325138e7d4bb9910cddb56deef85dc4c7e12d7c0ba3506ef51d480a8969f2655b78fa27a7b35bc614bc249aee79cfca87e62bfa0e5cfd30cd6f22d9d9f9a7068c815f3403122a6c748c2065fff334cb57fb73647e4ad85947181db878ee7a009bd01e1020de4f99abdce563e0b0aed8a7f34b9b71a5325bb94c2130a7dd6a523660cfa32cc72b7cfbeb2b593839233c57f3af23a14973bbeb3a51976a1937809325c07045ec8aae12eb7985944f9b5672ac94daa46ef6e55661063fdde4ffe77d5f68ee80144bc7263415c767812a328a4cd5cab6a42c94548618d0af65b2c3295eee1794be14ac9d3c4861fb0b3c416e9bec9cb07d478ba33e0cc2873e8119205ccabc355daaf7063f9f1f90b7ef2d6722f14e0808c2896af97b1c07f1a6506e428024534162fc548fdff2d77a658d32b16b1f64bdc5f261ad73fbc1aff9d067133cf5637115da0b6d22298b488ed4d094ef6ba8dc87c06f3d00562f867ac55370bd0b1af2fa1f9dfb46c734103ff78927e6c53070e08aa559e4db37e6440369935e89c86e0b8464553fca61915b513792ce9178fedfa3831071ca9a5b13fec853274e6dd2f5dc92f74cbbbbcb7ac203ef5a5976773676e9cfa5ed6cc6e1dafd183fb8f4fdc10d91a1f8f9ce32d76e841d5afa907c9516679b2050a3ca752ec1bf8cef6eabfccd7c9a69cb083db32e6984af88ab37db15f94d8ea110214918b239388ea572feadc2ab0a1e65588aca68e80bb0a9d46ed096dc7bf682cf0816e67d8f954f1602451ef3d57d9c6c9a140ca2a4bbed628d620d2fdf002cc2d77217cdce3b381c53c9fc965ef7dc896d05acdaffc9b68c5f2cb1588dd62357039cd152107cdd6d29566f71db3cfea2076d0ed37e5651c89d3be68525a49a5f3ebff33a198e598b217b5142fabb0288965fed47dc3a3d02e91a72bfb527eba2d6bc8e5c6a271ef8ac2bc1304c0fee42dd4381de4a1d7e13e28bffe41ac557e92f6ba5fb1e2237033dd3bf96d8bce2f9e2a220f180b31b5e6ecbde2e9694c3f0653e9d808da753d18740df2bc3996e0b795f77f830adc640cf3ffee5da36f389be91f9f32a5b7071933a05777ad4f99f413cbfd5fc640605c56617e901cf18c230b62b568fe809ba8e50286e9be295b5627080cdc512aa396a0df428c1a87194fc15c4cdea84199495bbe16ed77091de60d3b3bcb5b0efe25cac658f6e716c3cdde65741de551c2f88d155f53ccc6ba6e2461f583ca5cf2c6ead5134856ba9f174aee00b9704208de315af7a4a5ae1e93324b041a49ed4e407523d2fe2ff4bc393e6d8f75e0fdf8e9c40d0b40b71f679d72ecc061bd2b91b175ede7e0d86acce54765818a22f827c280e5bc58968b63a219ae0156a61a112a122cdcb7a7b2c87279f69e6313f214208026d6828f2a9f0abcf51582f923a8e1bef16e4b0662ac6140a18e53068c08dae6b3cc6509308bcc50618ee48b9442b7b2d38b8304879733bbf819fc2119a3e641ccf8ea09de7a308e226851437f6e11d08aef990bec370cbe784a974200a53628a10cc90c2b3440a5ebf3a7ccccb5ee80db301cf650d8e5d154cc388decb7d6bc248e6affede1f359ac3f03baa0156b6d02341d1f1c9d93b30b3668c294e4f5e76dcfae9c072aa414eef6c2a705b69950d8004b0bc8b4305c2192d401785c2172c9e3e796c9fa5ebe647da3dbc8385a016b7206bce0b1fe62407232fada7604dbc7fdd3d4f3856262cca758cdf8cb61c80c9c76b7919be648a40eaa129712548634859b351b00d329f2db7bbf24bf53db23772a84b94c77a204c1696654cb8d84cda01047065c0ea5251e4e8d0e5e6de1812416ec2d5016fa0252978e6b11adc0f0452d0827c2b770af631a57150f9dcf6b6337447b94f6f7000b68bbe90fa83ba43265bfa00425ec8226056544439e0a3016c36885c4946992cf9d271fc6c98c8040d139c9654ce56d28aef32ea4bfeb2f8eb34fe9c9ce04068fcb6ab8dbf2f1460d43200436e883ec1aa05235f31d1f7d650e20d91cc2ae81a0917ba08d5b95400e6574145ac5e1553c5a6e050e32ecdb253a17121c0da3073d0aced4738d58366a9593d79d03194a930b19d1bb3fb1b2108ca206bd92f27ee8f9cff1d99042898a5c0144c86b752172e0770f5cad8fbc9ea94ac6ef8af6fd7092463957485b360a64d95e31935addf5fb71c3f2b99b6826fc9bcd5912868d7c46f04ecb34514121d66d6e3833a4fb3412ddb17854b4214e4c47d54e6548666c8d18c7cc77084d66cea67fd65c42ec4a00e87f869b3b05319a226b580ab88bf53853c9783fd1066887fcd83ceeace15a722ca7dec10e5b66e5c84e04f3348933c905234bf3f40df727799d0b25d24d9226b66ea0ff8de7042c8087ab2f5475d975963851e7a7788988f9aa5c6b4ab37e55c560da3765e02e95e7c50056e3cb9871e5d78aafab378ccea44793d4f390a348afc7618286df70112e5ff8f5e4a933addda6459eea4ce021fb03da749e8638308288cd402523ea78a9775556a69dd2c93cf051723c6a66ddc1cf00d97fffb98994da4ab08dcc76929f91f154805840b355a61fdd284c7a46dde4d02b25feeafee2624e5e10b78ae7d5efc234d473b0f5a935a195409ce287509bc3dc44c66be8944e37e47fcf395feebc26b1ca5d1f9f518f4ce69a06984d60ba9acf0efdd0a548ea1ae56eab3b0d7759c1bc5ff28a6725bbf4bde618f538247c417cb9076cd83fce7357731eaeaf20af17bdbbb7ac75504b6cdcc387d99529655461bf6b16f691c0d84bf0f7e34ad0bacb4bd12e6737fdd5719ee0eaf103ef1500f0f11783df3a6c9b9090e4ce3b9419d81388a60270af7258ae1c909f5112eb2bfd58e4dbd123865d489a42496b0ae62d60f2cff53ebcf47ddf926a364f7cd1890e600ab876597704b8d06d1bf7ca6a7a47d3bd7a44b032cb0ab8641f2f587368d869b13bf6ac06503b293ca3ee60a762fc23b23a7efc881bd5131250d67dc58975dd4fe4a5b66d3990add0eba207554815f02cffc78b2b3853096d28ecea068b7d9d76f43817b28284bd0e85d4dcc343b82e3f6672bb36c39723216e46bb86150fe29564d89eff40c5068264d66496d1d7e45033a0c8957da467be8674ff4e721f11a90df9f917c3a540cb3da2bffa71eb2a7328729b1755e2d99062fa374499c72db21349020e1650cfb19b822ead197fbad8b029bcfbb2a39a7037636d2af93b9195902cc473c2f62c11bc87e54cfccb6fe138f4f55ead1aeab8f817ae7c7f070b52f80852227f7267d9ca50a0d56f3aa6797d14342ad5ece914e704c8fb33321c664dad64d36e26152cdeff3d11a7ce034215cd9e7df3e0753ebb0469fc1316cf5cad6b5532e7a941c458778aee568f8b7d5ea1e30c67ce6429ea494476f86a54a39a337e53f19de7d99361c2ab880204c4a51fd923665815bf0f07a77efecb4c4e8deb67dbbabb53e2b75d44896346dcef502de36c33c2b44bd7ca36a9df5310721ba595c6bb02d27c8ec24c3b0ffdc585e5c78d980d191de2dce0e0c7dbaefe9384683946f3f2874f9fc4a4f11960cc3ac02bd7d090a7d227c4ae89faca4e4fe091217fcd0bf39551fa4f37350b8aba436b9e801ca8bb3ef4aaaac982cc0c56254ecd9f2e7014dc0925f449c90dc95ce004fe3cac4b4ae8d31ce431cbf6454ba5d41c1ab0455a9537547ac85a2dbbe75d1d9b4f90167c763ad1b38cfbdc6a72375c104278fdcc4f9d4d5bedaa3339f297bba1699e4912ff992117a6deaf6e4ccd2e1f99281db97b0e27910c6446741283e596613a5912f3316e8de78357f48a6c6646df4955e5c7ab8b4a03dbf75d47753b57b432bdcbfd738e156fde57c0e4bb935433023ee7001acb53e6d1da6b08c9a49a13e49422e33b5efff63f3b83054b011790275a49ddfe92dcfd4544fe8f8d6dec7c0dc810d53672906711aaa7957680623687723f25b08fc106f8ceb0780c72d78e685c9265417e7589588cf25ec7e0aee2ab5c6852b69ea01edc3ca84912a509ba18027ffc2b524458df91cb5d685e05e67b3440bc9a909add0b9521f2510ef4921e3b886f3bcebd6c210bc5c135fc6a72e5e9944ec2af5c7a4e03e16339d1a0efb993bce4c25ad2d963dec749167403c1fc033082abe7ef0514f1c6a0ec0a55230418b0aa561b3f26d36bade8d887bfe782acdc29a1045700f89fbc752d4cc87af989c9c86e1121ddae0a369ca43f0b66c0973afb78f2846e493b52a9ccec0153ba56f5fd8c67d7658310df9fd9f4170f0d898849e09355f65090cf78f0e42e9716c2fe68a16a59d4eb76e3f1a2dd6446714b1fe82add96c01674fbf7dc7d9d9171f5acdab8c5b17db77d03941785e0e616d45a6f1fb9d2b5723bf1cd658c6ce0a7d178148f947df63fa7b7036fafb006fddfa094b2d9f3a6e841f01d02a17efe4ea28dc052b2db24aba088c66a23cee2afc1d4982f06d3ece355e71d4dbdfba19899d5f8bb83df31dba34bcf234eda18b199755bd4d1c828fc6a22b4c81c9d72f782622beb831c0351d36a6abfffbab8778d7b6f042fabb00fd111a5c48ed18a4b7249d394dc9ec29c391f8a34665dbde6d1f16e8124610f40ec7c02d36d10f412b52852574ccf49dc4ebaef92f10171928dae8866f708fc6e9bb4efbd9a1e3bae19ea082df60b792a86d988846ecca0cbccf8b37c33debc350852093209b062636ba4607e9fa10c2d9208b964953de4f00f6f53c1ae01411174df78f76860e970d8fd57cd6df493fd101cd2271aa8fe946416dc6a737211595ada29b23c0163f558568be1a976a7f9cbffcb49593077bdc30b21dee3f6083a65e74eb8324d0294394aa0ac675864727353444b879e5815b646af555a1ed8c61ed26565b11de9a0fd437230a84d4902ed3bd70da7cf79e2ea01b19afe50a7d4fd579c01869dcd7d2b25752e021c5ac81e1dc8994d2ed95cca4bbca4a1a01e4ffa30e58cd2723cef377e5559d9fbd06a11a09e534aae98cc148e2fa981294443690d772d253e874a8108d604651ff60024d275ffd5788ece78aa29a1002a1ecb530c4a0bb6e3be575ba12e4d3e077730589aa4232b02369a0bb5c5a8641df8be3447a06f47ebb5a74b4691ead8bee0d43109150e012509d91ed3d29579f430f7a7842757dff65502a2a32dd97f9ea9136620c05d8aa81e272f52102833bf2e92cf564383f4d4ef8fb01e0b6b6c38397b364897e4ecde2790adeae0d97a2616493612f349d72ab4ca8e9d0c4f8b65180f9f46c62c6eebfe6e76f3f6841c191c1b1d56bbeac7b655cd03112c5a84c7dcd12935a6fa0cad50fd0da2a736277c7efb7cb1fabf999ad6b6371cf49e158a6c7069c5688dbf7375913ca07e9a591a23fd1c28a381a18941612d43f6e69d5b91a7ab97bb7b20d556a61d724b1096026c9847517d66e78d997006980dfa9bbef978442a520ecbbb15779354b13abc8850065ac846aaaa14ea7e4875fe583ddf5354987bdb207c070c6350f54dead8ab2b8dcb1a3e675b4bd1bedde63b31323cfa9f97f2dc8bbb8c8c2af4a09e4784a67c77ee028498e8938255de024df85e536354d6d6b02bd06942e083c226cd9a2b1488060dcc24d39fa7a0b89e4beeb3bd8456196e753cdaa9dfb9e894c35c3147f4f4dc3a07af71dac57911f717c4e787ec55378cb259ee5103ba35cd5f407ca669f9009673829b1ae0df5e76207515f30ea6e305d4a3875b8b44143cd91527947e91ad2cf5c78e6282e772fcf5a0a64e8bde20f434026e51fb3e046d239527efc54a20b987f81dbff5ca3f95c34e66838b2bc653f11f61180ebef45d3799b0479e6e2589c443284d8a7c98dc6f9d84013294cd9830d9f47e98cbeeb347a137e4584a91d773c3f0fe80d327c4e2f1efb9075398c6d55a0809426cc1e06a1c670f0996ca8b723ca0fcbd5269f1738766ff566e53aa08635fc2bdd7b040d9d5e698f8af367e9deccc2fb539f5c98b121dc938df7fee0683639067e37ca950db63d729fa026a91a3349182ce053773cf5efb8afe3cc1fc1d9e2636b5f1712f574b918a7ffc8af7d87907f31d3c34b56b96539cbea5ad78780c5b2c0c6e47b930ad6140bbcff5cc0b07504dacd5420bd2e46f9ecd83412170f9a4030cb6e81e20965c11039e1116b94bc121f0b20f4a2ab1f093361163421ecdeb7196ac209af481daf277c4c369fcf1663cd1470e4bec27eff2f9f07fe198df3074526d1174171e542b7b2e65fbde0e4eccee4cc9a63e65d946436cb04ec4011ccf10b2ed9c4a4738510bfce13761c01d4761a19393231ba6197dc1ea32c5796ec6648cdc8a520156858eca92975cf6712855802c05b10d45116044c8715fb40882e4fc32847c41fe723e9ff2c0abf6ade12ba7ab73abcfddc71be14ee0ca1eaaf9826d993238a9599924aa8f19e9b46c29196aa55695b7a4a1ac4bfc5a32fdff53578c50840082b8feba555248ee30bfa0610f45f1401138da8b52858a3f5f6c94f66750bda07520aa17cbb507be026d151598e38be2681cf1e186eb19b979e34261f705ef8835702c9e8948de9a1533211dd97319d73f259b7ae0f8402fc6d64a3cee399dc9616fcdc0613012352658a63960c0354de147e956d7453011b0fc30d2ad186f83d8995f4af9b24002fc735f9fc70ddf7eff9eb96bc9bdfb56aeae0934b62c9fa85553d05d791162ae0b0856ef420e6205ded6673f7d81107c303c1ca2cde67ab35e94c3d72a9ed9e3dbad45c940198a2144b6e185cdf07551c0bee71841549184a6ec13dfd4591b3803f96edd87be15967eed46d5c85b3e46e7b741059e7ab2f82309d0868f21f93d0b450d8d04d87cbaef3655e41ca542d3d0ea0ab42f4218185d07a844299e41de4b49d17bf182b6bfc69295b746d347b87dc2694ae7bc261dff84b12d992445e82f7b4e476d1577ea9b7b6a5831a7c6927d4132f5df94660ef6dbce04ad8da590273c3d07bf52d3788672a295a89906b03b09e998a43aaa7c40275a9cf9dd10757af2ad5c31958c4699135072eff590911aa235eacb9e6f1a9f0de153f1314360e39850d6856abbb76b004290c9ec38ea76d5dea6e8705080c7e908c2330a91364279140dc8c4ed6b026ded97bac79d57eb05b1e977a4a11029d65ec835cde4a98f77da327d0731585cde08130fcfd874fd3902c5ef1273a2fed97b6d977f2863c58a10e0a0a287b8ad1d46a1cbf9fe2382037c34e5f2af76ab55faf6763be583f945e8126161a07328479905d3b2e6d9bb00678f87bd0cae2c9e976a28fecca362450b2f916339294be57cec222d0833f11d960e14640b28531bcb446dc9912ae82ea2140f424041a886e8201bead8f9ca085b92e6688012a1534fe5a064d70bfc579d96123bc52b2175e6a7c3a8609b44001931bf728cd10b2926ff071a58d17d4a5a389aa7432827359f5bbf17994a9ed5fd0f477f874b4e4a1facdb3b7cb1bf86dde24185c8b8864c6a903ccc9164f0c4de53070ca53fb8dd5e2426e512510fc1bf1adcd58909b0a8d42cfee7bf769e9c180ec42b8d58dd08b1dbd1fdc10e1e2fb15d146ade8794482c609e85653892d2bdb72ba6b04e27fcb93b946cf2f3eb339ba1c69ec6095349b7630297516689e15b6b16635792c4a19e85bed5536920ef0e37f142815151131c9e9456098d6c1ea0624de06a9f90b6aba8e0281faea645c554e8cc334477aef2b8754157b3c9e45810b438889d81efbf65598e157ebf702ffe4e5daa1df9cf12ad5e9ed18c11c4a83cb7a12aa8862de0c2dc299dbc901670d2bd1fce171ebf3b0d31592cc92fa358c867309ccfcc7666b1d826010532d4fb2a2a49fad63bb6e68c01b88a16c95977cb73e44203af6b94748328f6b15153e342ba37040c5bb0b357805307d7b17f08716c9628e7668a25c3835583945386c087a800eae91609fa03715aed02da968397d129ffd6545fae1afab4f33032f70314fd154536a19873300e314fc3f43808b56299e5a0b76feedf1ba58abcb079c8aa4fd53915918f75a34d4a14361580dcbee4076cbfe30557ba634203c57f8bfa72d0a365fd58c76e833696a408862dbab736d05cfb004d1a3e3aae83e29d8acca2722b34445fd969023abcb70e0af52a5e56ae473a8c0db16fe8512736be8d9f1c2b504b9dd3d57141b6367a5fb4062e7c1dede02f970d5f81692cc63bc9743998ef4a7de99b2fa47c81dac94d5fe32e2fb2a4d55015e5581299959511b7891d39d7ca769f0e5f009c713727db40f6f97407892b50792016286543647180eab4227266c8e01b71ea95ccba47da890e4bbe5773ea63036d461ac42cb838d2f16f344c1ae7afb91b1de347bcabec339ffadafcd6e64c35cad8827a096976bb054cf39027822ec51371683eca10cbf2b78a09f497fc95f56489700adc10a34a2d81a65de45fcc636bbf570e3067f9ef5039db43cf389a50666dbde7182ddb2c2b49c385b553f57694476de89389823fad68d9b0d6686b95f798b3f18d831f8c260da71b1a0c0371b716b1a2b9aae4a4cf0ec4cf16cc3138a1fec2999bb7f6addf3785d982512221f127fb4fc0cfebe1b85191117f6a330952c93dfe49a68cac15c2bf8da8f44961758499327fda68d0521c1fa25784fca7ec0285b25b1c418dd0d1a9897ecb10961fdcb93f3423aa65a13c1dcdbf1cf6b55a6387ae715d83a4e4e1e88f79d8011b5044c3518a0502b0135fd4328494593d6b643f8a8b705e3014538f95b236218dc3aa9dae4de6214ce2d350c65b41f5ea98a9d8d9e935ef594f23c94af17d5c4456602ce84703c68aaf31ebe0590fbe2e1702e3b54ff05e16295c55fbc49b2201ab18dfa344cc9688fd7adfafbd087746c306d349bab9975750baa8ae2bd72ec3d4bc4a0df387ab491e944a3552041c41fc1a75a67c5b314b201458aff6653812baacb82937686204b5f4961e511b4fe50feb9c099e5bfe902da82c6e7a1adb600702abfc74500a2465fe9e8bb694645fdb901cc9a963e12511ed2d09a2af9c9db53c41576186d07dcee8666765c77b35a1b36f6adcd378063f1c58fb0541c974955ae519e4c8a68d0d7977d4e06f0a8a16e3cf01720e8e9272429445059206e6693d3a94364f10a6b2af306fc2e47a5166033c12eef4a8d3a46aa37b0762873188b5d6343c0d9df576a3c28654354469fb3e1981391e7a31b87f2ad52bed0ef7aa09439c1e722f3e6c88104c4c517653d9600f3707090610a47ee0c390743d8c3e26ed0429d1fd3a57ecb647edb1a1486bb5c56b8735508dd4301728d3fed82becf93f3437afc76788541a63e001c2fc55595d1a3132a99f45144fb06d359f621a166ff6d0a3f54481a380a389817254337952c6a101c4175ce73fc68ac1cb86dc5f738b6b7ff53686369f5066a8e6bf8fd70474ed270355e10f3d830e739d2011a9da8e132f1114cfcd743061c5f538365f229aa0db5c187e6835c31708737312b8af4f29fcfed2219ca9380997f76b007996cf8704a28244d42a0ad32152bbc8d81e5940cb4128e1a9ec9e5d7630329eeda924f3df7778b0236ffed081bf31c4611bd3617792a0e0fbc990c143f30dfdb7733cb8cc684169cdb23683b7542f89fef0f56529092621d86c469705388e1c098c82ae7a5b60ad7b2275c8ca75c7968203d8ff9fe06583f55d1cebdc6a5de8a9d2764a9c6c2c10bd0dd7c5708f640f97cf0a33f2beddfcd24a19cbd00e165c88d9eae10bd0d5608b797c834595ce8027d4ac32e2165860ab09c2e94324fe67a00bb1d48b99bae182b2c1ac17f489bf58bf84ae55a05d848b6ce2ab23a717e8ec88f6ef3cf6ba9438d7c987e5427e23f3a009557d7b20e8985228f5bf5a9f9f6ee5d551bac295f44d645b1187dd8a7ae59ec631eb432c3ababb0f2c89cd6b10f931a33d55e3b25d691eb2525a609f999feff2c08cd6f7922d89a1b648a92e53f9bf52d3d4f5173a22e993469090be0df00373baca4501a8477183f08dd82b4a6ea01f8fb9d082a894746d8e6ea14b1506b7412ab02a130f7cb1243d5a5ce60b7fa5d55839efe009d59a997071ddd84ece30ae4f4e7f9d5631d3edbea4d872a26c97d437d5e5bb7351f0ae8c91293b3fdc863052c88d0901c0547de16e674430982d0960d8ca456becf1bd162594c74e30878bfe06699152433583ce9b6980c58a1838b078c390a093af4858c02565849992acd60c556377d15ab93414e33ac6a4a89740869cd3848b6774fc3d86f13c3eaf5d1bc7f685cbb11291341bf56e039152bf9cb79e994759eaa4ab5e15ecfa4bbaef7b9d4fba5dd166b3cd50cf101399aa0dad9c89ea35186fd8a882056e9ed7f4ccd1e6b9f67971307ed715450616df2e08d52f35146932e8839c44453110ea982cf9d9e61c82b6fd855ad5fe23c4e0978259c2ba15064311ab78a336b715b7322fb01b63d88344692131eeb7c3357b8cf3198678728b068b5897009c15a5f451ef59e53589a83f72a957714212cba972fa8d767b495cc87f2ee4d0bbb6daa33a459008217aef5091b7d47892bbb96c4869010af28ac06af7cba36f7d1945cc124b91493cf314619ff7dbc278e8e4f517b5ca6759cf8c660b9cea5c8b99768deb36fc8dafda4a63e475ccf1c675d3afe03923dcefafbf5ccdc8976ffe6b1ecb33ae9cfa8f08d02b3026ac9bdc40e9f0ef630f31cbeb436133f5173ce72ee674a65090ff4e0c13f93f1c70e37414d3b528e988a8289542a8be7565dff2edf6e9d4777a3b2a5303b38fc2795b29a0801f51389a8613db05d40edb03b6d5d79a6c69f8fec1dd3fdf8d822127ff7bb201f60729d3df1124b45931362606bee9c6b00bee0812f6f48c7bf532f3215ba903f791e17af97829c8cacb195384c89b60d334a05050ab1b73bdc4fe763a3cedf219ddf910a542815a81313238f72a930ecf31a30b475c1daa22b94c332943f9b698b0b6386873cf0d5a89b0320b3678bda1eb097b8e131d02f5fddc6d62b58677d01feaaf3f74219af89225a220bd928fb453c6eab4bb79fe46ca8786318f6f9acda2071ccf325a95094ec6332b1ba7a5c02b6093a7f7c05cd58329acd436ab0525cdf3c7eaa50867aff87608f30e1e3b7c4b86d2d034510e2e4a5d006a16b4fae8e7d1ffcb38aa6de8138d09195f6a12dc76e95b544742ebc02f278e9f4f121c277056c1bef0badd64bca67841a39f31fb6e81be82b7d471c2ad515e8d9f4e63b23f98b457fd2b1cafaee3a7b57b26ba56580e1e4cb1aeff40b4548ad0493421595b4c1365f7b7d41096318f272b919c339d6d370fa57c2926bee6ddda0d47b1a824f670b5768c3e2a065d3e6e6a2da1fb368215e4e02b68f673c2ad1f5ef4dca2a51c090f4136920e0573b6312471bbc5baca0e1500d614db5069af4c44c5ba931e9f2dc67d9e6e3752deccfffff98a22dffdeb0e6558e1f1c894361976589f5e3a6f600190e901d5d6ca55140b393add5d59277ca31f82b488dc7c4e773f0588734169a14ebb28cfd85efb298f29fa3bde65d6ea2ed2b78c2db39eaecf0dcb72da056a6ae64f1fcbd61e388403a9ade912a2898266dadb0e9386bffd816048002ab821e3dc9c4b3cc114e05265d22595898a17bc817a7f1b84efcb3410ba2769c4655c2e32e038c116e6cf33a8a0c80b5181c7fae043919be37df283e501f78bcf4ed787ec6ffc847329a13bc0343ebaede12a18ccf86e026349d37362bae109a2e427bbe1b3b0d3a4b7e7aa2dc2fdde21c6d49c884baa8cfa93b9445fd89aabc0a50649b354048f86082755ba062cff802206ae78b8d3c560acc2c7929005ca3e6a993f7289edad3a0713f540c973f8c605b10c5567463f107bd1b37eaab05a2664a4cf644e3afbdd85d9fd073b11b146cc25a236da6d1fa4acf9aaaad84c898c41456e1828f22907fe9cb37a12d591f1a23f8a22fd4138409cdce896a769224227b61e6dd49e31ee8a6ce0e1813f48830cfb39ed88c9921d313d3a29ed59916457add718d6d91cfac2fc1ed2ef806c20c75ffa073b9623597fe9e7ebe379e4272ae216b1ae959b2eeb4eea9f784badf51204c52c464d47244a2c88892953c18635c81e4c5c0a5f72707ec188fa0b3b3108ab8a2e60f3583f6a40a48363d14fc403593a4fdf1b2e7b8fc44d38ca5498e69003337026b27c440c744aefdbdad33b1857b5671664d7a29a05547cc1bb4ddec60aa586f0aca595b9d46481c4ab7e4b900696e56015d31bac8b6c96ae326090e7c1d14ed6b0c8037d4fd15493c37895d2c9b1f957a45525b0b4a6a3876ac3bb9190d5a1bec752e4f4f33f2d9b316210ca951de6ec1b82fe284ab38baf8ba06feed217a05ca46f2781be0da96703b259065e483a331e68c7fdf1dfc8edc7e188e5e211e4e9e374844448c9889bfb58bd8b99d40486bd5ede4c206f2033ff634f92f78699ccc3eb447c159ff1f3bba3d350fc271d42d83427d8697a1598d066953956833f4486d8c5fa900e92be70b91d0056759aff0486a8c1860170897922772e162127bdffc809cb677253487e82863eb96c59b7a33789d49465cf3d467ec11f51ebc7a075bd1cae31026f9d37cf8e68d68dc17aab03486b3f3e2023b0ee026fbeeafee861b7ffd893a189785b9ca7021eff4528194d69ce703a3ce0b6d2eef7878673ad5bd3b5e1497c295506a405e8eaf8b3c05bc2f826489e7aa981985119c00f9de8c537e2e15f1bb7cc5b6b5b55723947f15a5a88b35637ca4b4abe10f5827a29572ba74e3e868435b3d99a2870072cc1277f7ee968bb6774c47cee199421addc8f903b61ef6613910bc9d3de0e3fcce86243226099b3180df7e4b0edf5922086b11cacaa137e16fbcea17fc8d3c63cceb87004cbea0aef729b39291f28d300a9b30b9940cc294d7fdaaa670bb2c6d30f5cf7597c5de840fb3a7b85cbe3f6a2f2a6678e068a2f2f3eca3a3f57f3b4623debe8dca4858458d533461611bff1c1b808d1661ddca9b2bd5a072ff25ec6835c63643e3578ac9b91227dd591dc37c974941753a233964b88ac14540239928fd9c92b0677a5f1a5891346033c717a3e9d50b26f5535ae4ffd5b016a45c33cd03a1fdb11968ffb7ad3f46499690f9e0dd136bcee384da2512a2133e2fd0a822359e74c93df949f8c50d26a4f5c04567e3fa30d8ce17742acc3678f5ea0ef38bb9672638388332b47073f8f1c6269c3367e2a93800d87deb0a154606a2ada599bd830406ad5db37d80d539b99d06b458f12509927037ad540fe677005c486f7391cb465e323c4dd8a3155d36881de794ad71c72550e5a479656497565358f7194d3e512bf8b5d076a8b49a76b02ccdb12ff7acd889a6052b643aeb221dd6dd57afc24aa460e180cb5a02fa2bf7bc3f8777c416fc2913649bc54ee696feea58350ba5b6b3330142f3ff0e31ae469f3729676bb91b7fbce38fb45fd35ab758e1267a01e5e38bb07ef6d7ab60d06bd9ee495aa8554e153840a8a0b33a234c65a7cf878b293bbdacad8aba89d60993427f8728c55d58ef4c076035d62c8db77f6e77ae615d7d8d28a14c51276f55bd290e0c3237b0788227987b4af113aa6e49ef7c2c050f360a21fea13781807ffe009bb63cd02aceb95a523aa12b3647a34e9de061b6e8b3f1c6ba80b9f248f42218d1348c95fc23eb275b3effe847d5b426d800c4a95ab3d12794bd3b206383a68a026aec4f9441dc0ca050475f6a070459d6cfbf5b5d9e7cf778328a6dea313d818d3eec527e5add652be5bf41f462b5e255dccbe4fa13848add9d91bff5263d8c5cc2744c7d5a3cdff1c5985d2dd81a1dd4a02a947bf6635ceabac48f7cf4a1e8ea9adba8044eadf9a642d671c4c1f0b42c56c548ea72ee2464b7e5683b5613fc7c554fe89bc3620d49680f6f7aeead4ff081f3efecc339b48c05c22b2b854968276db322f6b98a6f3581c5e679ee84921fce6ffe2c0a7fe0961a118b67fa74a7d506fb42ca2f7232125484efdbc5c2e8f5b1e1f38f773ca85b5cb9943c04d1f1a25712f174555cb60dd0286ec74c8d6242042a5986344fc1004cc4af7fa7b69584960ca1e36c876b47654ac3ec1d2bd14a870c3ca4bac948278102cb367fe3e8785d63ca8b509adcd2678a1165a3c10478422f5470189cbcd2f6a5ebe53446d35a371a9c1bf4b3e8e9f60ac8946f851dfbcaa4a2e8db5767a39255144e3e9b37dfc802905ab8c7e67f8d26306b692558967d2e0e7f02cbcc879807808f3da1cf36856da117d8d631de3a4a4212620d7e1415d151a4addaa7d97be3682bdd13c51950d132360e3cd2d4a050c10f36070e6662bd6d4db95076fe043a713f7b465c909261fee1cd8b452c368ef118ce6076a76a8c76a64f4b6475263d1c581aa6a48d38e7e8a05744b17b0cdce93fc40334b251ba63a1e3e6b83e6eee162b638177c16b5a161de454319837c84184bd63ca579e62dce3e3742909eb0ad801a160cb656675bafddf1d212c86d26eb3e6673426bd58016dbeb454e31878552c7ef8555281883ad8fbf62c3733f51bbc083ee75e58feaff42e20132e0c39fe707a84e1979b0c770a2c5c45cb8212b5194d2b3f2739bed43ef37c918bedb58bb2b1d94b32f955750da24e1b7f39f9c960603d77ac6effd0be9387379a24457727d28e0e1fe4afd7dad5973d0bc4cfa1137673ee62262dff2b677b9b309d0d401dba1bdf7fb202902c9c7133fc1f0aa74a7bd88634cad18670f5f51af75d3211fa117d738fc92ef3cace4f0f725957b5796cc55e0d7172a5b8a348562d85f1fb9e025d081c17171e9e2c18b16ec308e8cb9e2c547718bcfd8a344c7ac678af83cf11c3d24a2d2d8827cbf3f42b6cbe05f11b3abecde0fc7aaceffcdd3a7ef7ed19bb132783d3cb10f3afd80c6bd139c869707367686180ff40587959922cbd18d7ec0273831bf0f78eb709f179703d0f650f8adc9d4cd1c433e9e46df70ba8bd6d10520958371ce19ff8c2d68c87a43acb16a63918ac89a099dc494cdb872139d91a98748a02b8d2d00bd9902016003151548be99933fc15854d3a5057643363b3126e60118630d918c7884cd8933fca826e49c46c3ce2cff8dce4d4d47fe50a4164a58da3e893050b19fd4e8dafb446af52d7df00cfd13c195d1efdc05df85ebbc738e82cd9a06ee304737c4bc37c02143de7c18782eb4685ce02345f457905247b6bff2ee6ceba9ca95022bb569c60e617e6ff63e40064d4d4e8ec1cb8a6cfe641ee67b04795c4d45ede0a27fb3a6f0a0408c3177fb6df9c387971536346a20775cb1963ecc48e17acc46e370f3f5f1cdb4da8a60e85bdfd2d0b210be1bbf8d1d075a665038355657e820cea0e77b1fdc9eeb4cbb4fd24fc8db1c2407de34185f4674f5fa132ef7c030bb86c37b8cbd7f2d98e0bae032253dbfa4bf26263d9f387019ccf3311f151f1d48dae8a1341b486b4ca5f4bd144f03375a04de3fc6930b58f1a25d70876b60f07c1705e7c610519268bbdda4139f262462ba30eabfa107f1b4383ce4e7f08a45cf2aca908058f2d9560fa316656c842fb4755970ee851821f14618bfb714a98f7dcd134f9f72c349fe8f1b646231e3581bda048a1779c5e0933aa8a4b9209e4de97709a4467e61a4e44d4f3d700287d9b9ea0b774b2680464f8abffbf68479871d2faf97c7f4b119917b239ea3f4dfc453c8a7ff6c04d1372cca85e56d0755a286e9e0ce17468ef9254de14438aa0a9e8c71455ffc46c1c6dbb8c204b8932b61edb8f44c4ae1565850124f4e0d902fb956617fa0beae3f39cee8f83c9f5ab6ba30ab7b8af6646b2f97c2ef1216fe32a6ba5c7791e712a7072af8ed6189fdfdb66105305191872b1aaf04d4948e8986f60987d5c2c54913c6dfc9784a76e949a067b3f6f8d1b135aa8049d68f879ebf6928330e1e12f7fd2e075f2752a50aa22246d3b8473d0fea227dbab81e283df634acd925c23b6443b98047114432befc12a3da72e638a0d5181a1ffff1d4604596c0a25fdc71bdaabb28a13da4e3ab33535c9c9ec2fdee2113ce2fe284a2ee062d4630b9b788fe7c2a3ab4e33ee2ad00e6b27c7b1436fe48ba60ebe2778fa4d9ce9b443b14613c495b0f002569186ced454cb23da16c19057732157e7195a672378e5d0829beade9e1e973fd2afc18e365ea1a7876d9a17159c3c579125ae6f56f748211282041b9920b6360be6352f2a59b51d56aabc82ae000d85bd3ffbc7de5d9b50bc60c10570081caf0f4a5de264246de5290a812cd68bb061d505d2f4b0270ae22feeebfc186fdbd698e35b86af72641c20a35cbc709e30752c31eafda38604104c384d02f4f5c2ef89b3942c51842e0f8752934ef85008c8cf02e9a4ddb7d544ddd7dc2b7263c9bb8c577aaba1cb96a3eb168e18691a7f85dd7974b8d552ba851fec2cecad3436d1983767dca1f63d0afa5842e403761d65caae5badeedae9e7c951d6f9aca20aac668e9b063c4593640111fc9dfd9a985dddb9a543e630ecd4ff51dacd126e24af41736c325402277e3eaa1cd53335337d291193bfdb3b982d657e5cd675c96e0cbb61a847ce08b12a4ac644f8bf18b60e1dd8f05bb54b02144e52a21de2cf21e76de2dd5ccd2ca0cf74de5802c4fe6f1581acd6591a278cb66abc0f7c411c7d2422d137fb306e06ab7e4a1c6a5a1290aa231a29a81fca2e9ca45af45db7cd45a5fd52788d34e6ffcd58f54b263dade60dd6b2f08049e2fecb9a9f90ae0e92040504a9b657ab90dd00eccaed1afe385872bec48890c1187c6d7329d680b7e2c6a8b45de1224952b8374a1fa31216752f5f5a35457cf45868d9b68b7fb7055544989295e3d44e4176fcc97d9c33a05bafdc6ee6bdc68ee0bf985b60288d59eb3df06162aa95b48f0f8dd1c7d5106e27d1b6aa4a134ea5239a32291c5db9cb4d38a472e037d572c6046d5569684b9737c5e0efaf82fe700421a6f6074c7ff29d7274a9ce7d40bb48602ac47280751914dac785ffc759fb92e0e68c2044f421ae51faffdab4a2ab0ad39ae0af8f23b13f205d72eefa73a03bbb8986f3c1bba5adc5ecc509ece2615c8b00c5da47e446aab7d69b48699b68a5abf05936b913a6fcf8614eedabd30ae6f7a0a0a7b457b7038973410f472de9c6f9d87e662985642513f499b44c70034fa98308f66b0aaf02670532536cce0e3abda5ccf3c30244e53a1a94a439f64396218d4c5dafddba8786291e6268f975df693ebad29a15b9f740ae372f137b338951d591dd7306236506fdbcbe225e19b57eecfed7263aceabd99f5eb31aa0e59ce516f1e7c654f5e59e07e88666a082292c6cf1b3cb7f93abd629052f9843dfa092866f6cf959299968da6f2369e7054d48d01d3c3a8997488e2650e42a627edae3600191c8ad5db794d73ed515e77337c6b54dc449cd37f0c53ceb9cb740d9a473e78089e263f936db8049f436d2a154cbcf2eb7aa8e18fc4a3cc239db70af0e582820642731f5fd88e23ac9d6af2a901e1aaddd69a00bea28343d5e89690125ada84a05dd7d3dd05d35bae52c613e4f29cd172db235102056023210063155c324dc53dc2f5f205d75daff958a10ea8378d9764c60985ca550db36d35b302fb0d8c1b6c288ad91809527af2ab80f8ac3c984c2c528d6eca3fd842e911070b5bd078fb1bfbb88c8ff470ff5076a38f68e9e3f9dbddbfd516c99cd9253fabb019f189c94a403602f53af813709c1aa2f524801a51d77521034d2ce63a93afd5c31639c4d69862da0f283bbd1c8b84bd21bce3095339219ab7eb0cd932565ff68275b0d49849be1ebdd97e159a4d8b7702905a5a5c92bf5ad466d90e029d6806f699d0673437edef26c12771bb353ec3056c736d14ee1862d81fa5160de960a5741dd6d6937888c29f148f031a2f1701f42f3fb9a8847a5ce37e153e28ab0bb623f485b33db1e51c47a0b2900955c641f60bb6e418012370d0a8a00c971e4d510ff8d647323c7ae752d155a98be131f8300c1c56ab235a626ece4f2f7e2e285b2b2a5c60193ef1a4198419183283b6703fe602a54b0c76da8dad771ea2d457be5b470754bbb164a7fcafdf59fbe34e96db715c7efbc033c8922aacc59184a64efe42264f2acf45044880de05c67a626cd10ee60d38a7ae63ce72c4eb238323bb46ce48ec1f0ea0eadb0a7fddc49052205d090ba2e7c79d920832bbc6666a55352238f7ab04129a0cb009dece18b6f273efade850782626b525f4dd18b5c0a7f114a63f2a71b02f7be83f60556bd71516cf2bf4853950c32d10d3f4090cd1e1479e73d3bcc48f744fbe73800cfd8e37f5aad3f0916f1db451bfbdbba69b8fb60759d4f05a2506c4fe68d7c17837acae209db6c920c89f84a87fb6661256ef3792f3c8a80a60af15e4700868ef29513b66bd3bcddd80008c87d16729177a3eaf73896ae0b05687e9ff053bdeac57e4f2745a65671e4a0240bfab90f9ffa044f9f76ac04c14ca760a6a1393d235c5e7cc42b304733c2faf4dd80f1ac80cad25acccf176b7e893a3a497b029fa3f4d6e8b248438629184c6a49968f7584416eb41868fb86709b1996e08b19fd24db974fe23806a80393a08f392f9032554518fc02883f1b2a74373cf5cf8e515bb76be8ba2490a396596d0d28037c796aaf12b8468259c8a4526a1b7189ec367e2962c71ee652b19de9393981848a70a7e6903c055e1937d0e01f5a1989b48c604ca2325ed700b0aea5f939db1d5b3d57f3a9f76c4a25a640e3f266aeba3f8d1462a83315d16e3bd74ddeebdede037aee0d02788652e4e1fbf691a8216811ce5944d889fc24c2995316497fae8114ca759aec513ba9bdd68548cd70f8877e3f2a363baa6923e0c5aa12e7297a5f689288fb301fdfd11108c470387604ff860dc1c95a41b7ccc1643853cd6da0ad1793320a09369bc62acdc826e3016a544e80cc6560f7fb48ae08e456d900a4d87d4463afa283d74264930c9a706347392d63401caa8466abb195f04274e6d91868ba54f85c7b13514d1e02064527f89e7777206ec349329c42eb4a86a9a49e288827d242b08d3ba2b204c4d3f50cf7f61942c77bb613ac0fe91afc9bd90b95e5301739155c14671fa779d7f1752f6da2a3b1e72bbef248f40dd72fff330b52a74758d43f6fbd3396f3737dca0396a832dd180c243f4b2603ac99b71dceb4c594e6ae5f0b0366937e574c95aa449689f33ec3d6994b554cd048b382b2419dab27ec687b62dfdea46d6c5b7a2b7dbb1e6a11fea95388d729874bda8e3e507400645cee20bf9b7e8cd540989ed8233641d31e5e351b80661e01d2d144376c50e0cebc287f6304e2b8f36005a4a2b240b4f67cfe7d8ae92eb0309946859121642dd0f2cc3eb67adc413c7b805684bf9edf9b083b89b8927de5b9a6a0e868e4d72f05dd39b5e8511d7760b5217f1b0119b013f8fc34884294089f99320785018b9df6c17578524d285b7dca11874dd002def18dfc47610773c13b14a34c1f7b2005a7d4578159c62ce8e8398d9375458f31df379ef72c3989601dcb997db45789601475ceb0d6974b6a45d26291dc74f64221a31771e6108d5902d8a161bd46fccdcd0fca21905d6fb470f0d2250a8dcf81147b70344a4ca7cca50390ea37c70d8aa637701c57cd2d82fbb5a15d61369bb8c6e1888cc3b183651797291110e08c9b0b41af3acddbcbec5dd23d761d5c0b8f1051b85d006b7c015033b45689c9b216c81068ba399600ef2c9d64e2f739dd489f198024341445776b61049082b1d511d9340d697107d25731c4584462a6c55915952f2cd9fbaa915bee75162ad39c3aa573bf76039e93417b22d0ba76e37ff70004b0d9234d234a54aea0077bd8cc3a3d819e8837e09b5f0f7341988a49e8235b00f35310b1fd80be933eedc355edf5a41f703a41fc06bae1d60060fb1808bc4d3e06b2009d337544537eaf40b4902bbd74b02a6bdec4a75871cb2d47a3442a3d7cd7a8d98a5c97b40dbcb98df91b2f640fd16e3fc4750b21ad57361ad588b69e69a9b1ef43c91440121f118b4ee60890b5398a4fde77f2bb94b8a7685bacb1a6babac54e1f001fae0c6ff0232252d262ace8223cb93570042c7953142491267b5c7c089a8d02036c4c29e445ef9ca14e6745ce98be9c21f57a02d79ec59ca27b1da7a45001d22f4a550a600bbf55b506de6f34368aebff5be90b0e994eab1febe00cd9338b51ae2c9606bb77c43ff9fb222301bd7907b8f5a5cd486817ad9201a9aaa8a18353ae8458dfb76c37e28aa7807cf009755dc62acdd0a84ba8a43fd8e3ccaebdfcad30cf308b1aadd9606cdf894a8706efbf0a2336eab3db1671dac0fc7cf0ffd4537fd450ccd522631e252b2ae49ebc1d447590009bee2100e732335bf7568d1bc76bd9faeef17132d9250bf534a75051d5cbaba0ad13f4e54b82da1dd614354956a66d0bae1eec90e278e6bb1abe6f75f4047c06c75b7d7a77c32bd822a32161b1fff526ce399c4b3765fe3c9546a36ab0b35336f5e56a8007f1684067129d1aab6f29cb0710e725cca41b612eed17f0a6f1d23480a1cce6b597ec5066a5fffadf62e94d78bb2e9efc1ef537d63ee5a581097f11c74c56d8d4ff643224d0ee3a3f8551a0044eab333376344518a1e24efef72c5e21e3f3b1631ca8c0f5d219af8ff5b249a182ff4a43cb9f4dbba2da82b4f0e42d320151d2aaa29e4321935bf2c8242516d0ab645bc0a3831aed6b32d2d8b1c112d6ca916bebe77c77c7d1160c31b4c441f24fc312eeb25894386e8b399c83b42d53a13265a966d90badc450a6d9cc60440d9058322f3fe13f4590acef4ad9f5b0f9a3e2f0aeb7001f85735b51000357b7243bbea39c4ec1abb289a4534a3c0428ef23f3573206e5cf96bd28647a7ee49dd3746d97a712ed6ab2e8e00c4cc3bcbd7de3f19410d95efc4058eb0afb709699655a6eec9e907a2bf1b142c142af3507ed849acc95c502bb80155fe6e8afaa1f0bcb03dfa1cbbd01f29cc4380e1f441c90d8d5b76dffd54abc09003da186376bdeb1d9450692517150fd4a6e3e4c62cbe995ce5008ce100a37099ff6ab5d8dd8055e6d2b168f0c3f13e9202c2073cfb3d67c73ff498f6c50688a50439e19fbcd16bf79cd8e82366d124c3908cbfe2304f3a1af2639b5ff16e39ed3a1fa6ade91492dc1573c08c4b1a8fe86fced0a5812cd3f6720222f06fb50420d65a9708b5f7195e6f5930f71150343e9c3732b1597156c6722fefdd9ede740dc3e66662404bb8ee3170a2d9d06c5ed0f9aef035ada0de996d850c7e3a4fc692efd5c15b754e379fdd92bf91caa792c8154cd1d8c173b7ad7a62990396e385cb5adf5ba91f6db7a0082cf6bcc938476a5af88b259ecec9815dc320d3b833cf1e206d2f7dbf99ad699da796b0dbd19bb4d096ce33bd172f3f34b9a0ffaab69f8d89c033a6a896bd36dafb5820ccaf4714b318868794626f5c47cce3c50b490f1cb5b88925d6dddd95dba4a7dc5bdc1a188ba31ad7be4fe38de757980594fcab8d9ecbd3b925b22a18e971421f26cf0c9b41e7dff10a4d7c60ef5619de0051fdef2fe8985c7afa1453f1121a9e90713d7f6e2d440055b4d7378e07db1ac75178177ca79e8b0a826071323d00c0b2ebd1341367eba24aba627c1784ff58cc315237ede7d1ca2cea0c170bbebba9d5dad21cad57010223aec117a7a462a14e26903a7ad368cf70fe9b9fc5dab5e96c76e527d7b4ae52c39dae5909e8f06c7e6c7569919485d2c32da50fb06e6c427f6614d5def5ff23a037de214ccdf2766919c41dca5cd30beb831499f46fd712f5be56a8b6c9febab7b6147b5b46922cdf763fd1484d6382c461956cc7e31d8699677bcb5190b019b925e969f78acf1c4eb69c0eb2a4a3016c1d175b30b79e15d7b275b25124183a4400b6265ee233ab83fd2ce054431613c80d218022d7ef35e7f94f4958a36827bc6713d6ced60276ce3b5342050b6f7369ad4642c65c93ce42937ca3752e9e563dae4626b6454eddd6befcfcbe15a5a8e91d525d174d5522d9716157a8ffe34f84d97268ab073c55b231a1a342dc74db7b85256b09c4e6ddedc42e4a3cc5ea5841d3ccc321a8829c801fee20b231a4cc833c97d064e3acbeafe80628e3579a71b98a347a038e07bf283a40cf185bfed81d1c5bb81b5ce50437de0c90d2fd222fb0976796d7a19500b87b4f899dbcc031f839b55268756908b34158bd42b8ca984d91d45fa6468b06c627479baa0c17559d7aedb043bf82121fa5baa08c52efde56b3a65cf11ac8b02f94e44a82a199a33f85b2fee1271990705b5fbe24dd9d921d29dee525cb48873ec1d74b9433e5f82c4f702cf152e99c9680c4c34419b9c9026d09171e1cf5eeeb3f5e14f077de1ac301fde97b84dd6eb4ec1c12d2a7e49525f6a50d9393d2dca0a0c7337cf0e1a8681bb659f5d821b232e4f794ff316bdcff5b0a53f09f587697d87b47fda138f4d5a40efc37bb79a3c84b782529fec9578b44c09beb704036787a407b0c9fdc6ca07b0ffbd8c0e57f8914187c9b6d4a6049c7c6e74288139756c14e327d5c3bffb17db92529684a54d3b417233b7ea5f60d66f9c61ee12f4d0cf3e072d78ffa5c7b32f074ce5992664f04883ff7809f22e33bcd0fcc98718e1034e63a0125b1e108fb518a02c5b0afd7b7ff02e5674a829bfb553ed4e54157d9efbb6e52e73a01db095eca9620174336fe9ef003dd965b5f89c6fb5795729fd9e88f0a5f36962243b37e6251b1795187d5341adac678964d15c4150d185a361c84b2bce740e7a4ab731197069ce754c61585921d50421d805f10c9fcb203d8fe77285cf1c056af578aa047c5b3ad8dc8a11543f9325ad8a51facf5acbb91d3329de8c066bc921064a4ba170d0f0e1d52db4685f0f5c1170db63b0232cd328950a3325955876577189895f7697ba0d2c68d95111677f35c9c5bd95032a3addcdb9a2db8dfc86b701db0118f5da610f458925aa2bc67e345e3afd3375942789804a702a8d03a7b653181df595688b1271fff35692518eaca23afddc4f916cb001989a5da9b481482d45d79b68061f08fb229b4a4f4efbb9c87dadb0a007bb1531b6cbe09e5c81faf3a9255b5e7d05da985d612193b71558342e5fd4453be34d363afee070a9fac433e76405032bf04341bd1efd5fe6ddaf124f3c684a50f391b91c0e308e52cc4e71ce176dd8e3ea8ecdcf8379be6c4b4c74b2da8ddf50c4a00f494a6d62a31d5c85b17ee23492ee187c97794c81350284d2612dbea7a36bd15d622461b5b7a985b3f88f72491c8163b97594883d568eee50d5e7eba387decf92e6ff05136a1feff715df061274d8b6cac05fb4646f6d13c94d2586738bb92292ec4fd5015284ceb2071f1460cb1f3b6824a8630b8f39cd355643e96b326aa5cf3eb82d01f7c47021211595be477ebc87282d75cefecaac3bd59b0868a0a0d97bc5886a80885c04092f3834b4ef790158cec9f9f0e8da93d58694e76169abc4dbec631a3db18b945e5b1beca452ae99f4b9e33356de0c541ce626a26d0ff8801d364438c9088a84e8fc3c335f0098b5a31b7607ee7ec9a58cfbe9d91ee6988afd5aebc7c6de3c2b1b5abfad1be9368c1f198bfb7800a2556e8617107207d9f1d6913ca348f76b4ac0874ec95bb86d4b5ccf21334144d6ff695551076c63b95dd26b84acc565a5522c8e541dadf6e7397429d9148cd1ef22a81737f21d095bb4e3c085972f69bd573311250e1a0da43fda6a52258f31fb25413bae7805a98ae82fa969615920d8c1181d34a7b1d1a99f71a4e5ce8208080354977fb30ccbcbd007b5e4c2b6f3b8c995998e7b6b734f4b2a8bcd0e6494c014ec420880f10def1309a0f11f4634fa0841e262272386ed2d0b42ddf6812b558235d700ef5bbeb3278146a1414f42fe2bc544b603a1a9b1f07b2f3b967ec7f822ca33ccf4dee6b7b1056769724e29544e50504639b8f6668e257029e4d3ce171d8a5029d74ceaf643fac3427af5beb4bd4bd8c62644fbed1a76e6b62fb6f6883a89d557a8fe7bf9b1193591021ee9a1f719c3cb3214871acc5df26186a2e0669b5e3a3f6a4d4e416f7cc40a1f3a89aeb50cc0adc17415b1c60ed11b1e207c7833d95a646e58992a23149872065629271e7b993dad878aeab0cbf35a693e63cae30c6025703d37875b497d4dfeca2ed29ef75412f4b835aa75d9a747b301a6851249d8a1ad9dce1f5346760f5878394adbf391042da2a57d964389d64ae05589ff65d1aa2beacf1715ebcb20c8d3f3d527c7dee15f04faf910db2cd20cbaadbdd7ef85afd90f57386796705bed32550ff9916ddcc56dc18b487c4c38f12a79aee3ba878449abc0c00421248002b37bf5b4974d837130ba1251e07b51b8ad95f19c3816b582ec54253bdeeae2a19fc9d62230f0914363979365ab7468ace3a91ec40ba7d0528323f9cb8b95fbfe21668f2ba36d51cfb7249621e6fc69e01286d8d9a48c549245f7f9084e473ca2b35f9335259276d24efa2e699526878d2550aab1bdffd44a6b15db9837ba04edb3e32c01b016344e7e6ed4d57c69e2cc08ebdf4ee27dbee209dcf085daeedba4cbce81d1021b92e95a7bd6c31094440ec08bc116f2cf59bc0064c947b0d440dfbb65c2e5c7082ace3e1dd284d31671a410f487e3a5b46fcca56922a43892e7c3241b0ffe99c54be94da05e46d1a0fde545e676ce45a04e5b371aabd293a571cf58583d1d057939ac208af0ef741203b000cf22a4fb1dfdc0a99a1fbb8130f6e2e2a19109e185b4f43a02b398498e17258940339f1ccf56f5ea265e087575dc76c79e5e4d7c8c6fac0dd996aed43fe302722357c02cec6ea7b07a231c3a0257025da3da4f1ca1ac527f90f5baf684115fcd678683e1c2be96946d7a7422e39d98bbd734092b4a584b5eb53ddc5c685da6848c260695617c4e36ff89828971cb96999187d0b81a73be6489bbb25120be0d8ed70c8f2c996edc2db11b1e3a019a5b2aa8d30a89af121bdb5ac595ab430451d66c1d9dd693cd892eec42809bc9ecda3e0751801230f054b0a2f964d3526d76cc9498243d2804fffdd16eb311b02dfe280741111bd5648be531edf07393ac2a94f6bf70b6223cfd225a6e2486b78e0d7bdcc5e4d346a807041184d6371f7db7da8ef6b02ba33147e9e62c9a0ea70c87666a66a233e9a8cd7712b6109ed27508ef1c67e761e230c3eda218bef8d35809c0d36d7628abb2870ca5314a7d763093ed33b26ca08bfc4bc5378968c2841fa0c1d621024e5fe3ac74de9ff4fa739dbf05615488581954e63b0907c36d9345c0154ad416821b321316ee7af123d12b608074b0683955fc6c68a53b9a21de32060435d808779bb2a63dda3b0ba377fea749337eafaf0882d22ec5e3007f69931d42ec6ef0414bbcf5f02b276cdacd3f76e786f40641290a0e5ac5bb9fc8b267d9b7c3b9725b4a306e548d28ce930e066676e1a8eb9484fbb78d7a1a168232cab94627d1fed40aba7408ca8b3077a3504bab4856ab78b89a102137458eca66d58922afc969a30e8e33821eda9838cc30ab7f7a7dd7eb1623f6a2b17eeb6ce566405e7c31efb26e413c4ea81d1afefde8a861f619e47531594ed95cacb0054ddcc890b22b993bfcc0af32cde16b475a2a0c2e7598535075e60116e76c51af49b5d8c0ff28132d19b098a4a365b3f13b61caa2c10098edc9defedd93aab1b22ae81d965277b54cce8c83df7a89fa3f46a5abddfab2ba2319d54e98fc05e066a9b4650d9362ba22e573040c1f291b5424e1939cecaa741f90c448713cc0e5cad0a3ed0f7fc14284e8e81bef075d1d5f1e15e66941c6d2108e3dbec3ce7a752a80d89ac1bcea11a875e9216c316158b736296b7cf55f40aa7a5f321525210d08b6df3c04b29958a78caf97fa23df3204b2f89a29912378b55c623fd3cbf2d22df36b426509bda4a7e03ced871c4c442b36b8b23bcd49109daf28c0e853f8f9691a280352f853e8d2b446d26b043563c7ec856cbde8f3e3169308686232980f0c6072f1af19f4c67438555e88647009918d181cdd88a4b600867f3fd2e0a1c66c2ff262d9bb9df76a6ae6a4eff27ff66c67408234e065df45e845cc47324f841e19a44c129a8778e5ef189b6a641409e0bcfa3129dd4e3c19e6e68bb7b9917eeb733ffb39498cb25a144d8a468466efab6e8245ea21b2cc81449eacf75f0d434f4aba42c137d94ed9265bb3e8af77501ca64fdb92503a232bdffc869757bcd5f09809366db0fbbdad8accc5fee17a75f68bc939fac864e2144997651d3ef94ddf11d9a886246750950c789de3c5f903e0b97d465ac63a412169bfb7999d78ff23d4bf4351007cd1552e89df3a7d11ba40953a3ef34fc41814cfddcd0951ea82f2ac87e80e22ee23d225f5aaf08a405fd3ea5b1821ad5a162396703e9c9fb7685b7a399f73a16168ac78f7508e928f8cf5e4a5ca40cfa45f6cdeb290539b95e9a52ed02d653e8d7a6bfa872d2e98ef2fc19a7925e6eaf59ca8e4a6533956cc32f6c7cd741814ee8663effae0d0a5628060ffd88cd74add0f56882b005fb234043cb5c734740ccf93fcd52d4aabb14a3a0b7f41185b28159241510b49052b313827058050895fc263d572e444416a05ae6877ef38011ca6d8e8c3362c1aa5d47e15f7111a69b206e91e7aa9a6fa80ad55da8a4b716506655b72e0d295bb87ff0802f7cc866153057796e57714094fe282eae102e3e95f27c6ad130b916e55cc3166883a7ea95fff0e95f03b60e2aa0fbd3e360656ab387c73aee3752d68ee683af7d6492f598ff0717e2b1950171e607ea0fdec587873d472aaa38c72206e44cf5bb13fa3a20cf638f3a3ef200879560bbafc635a2044932b28ea96b5b08c9b5937ebb52a3d7cae87255aedd35126a412f1a18527ca36c324b3cb3355d076071b3f8a071d27c3df2f4df4266ed60709921076d1ff8e43457040f916110bc681dcdc17bdb4698f18059275e8864764f842caeebaeff93c8638e0a84dbcb591580d49e3303e10094590c02cd0eea2987780bd8f8095890ab9066efde9b991734b8011ec7ec768387d71ac1add82352f41bfce497060cbe307e72623cfe2b3f07ad7fccbce417a9d1d908b4dec3415b448f672ae3228b92ad4141df1b5e8ae42f53802dbe19a0d2aa8f5382d3bbd2050774d791bcbc98abcf5a096d676dfe0324dd0b0d4805056cb1507117e8cb37ecc2a93fc9ebac0226e1b20b8cd9f0f9e666770a1e647f0d303a80e50385a0fb8eb898db5aec3f75e7acebad1a7143f94d12a6a1ce4ea3c4dc0e4a1225eb5eb8905ebf45938dc67633f13c6cc40d41ff1559c383215a5344bdab5aeba3a2d6fa0c5591bcc58a1e62eaca400c604db537af5f71265a5958cb84906e3c3ab20129862e18e7257c344893dbd3f742f7a41591c6afc9d8480d4f7710716e77bfc694d512db7381643a0b3ac0128225f135a0244741c236e951fa5032fdd611c2219958dffb59c14a347ad5e44bc62beac9159b0e56def95c4aa31b19306e63916fdf8b0f483a79322a1df7ce31883e7232e2a0887b25b63d3dc8d8ea55a989e6bac2b2f4dfea7fe2552a1db1717098afcdea229386da15aa766102addc27130734717105455ea12046f82cc066a4c1807c078939d8c4f794b588103d8953ec1a6b54f3ec640e955302562350d09b16e567c2ab5c2dc72bb401f31ccda94991b2209f750ae99c72a7f425ceaf7e939f25c1bf558097679defbb839d266a5dd25fbffd415bc1feac3f142784d15591107118855207bbb9fa32ce244a8fcaed4b13b45d1f79afc95c81d1b5bc31cb660dfbac807f4e897a7bacdd3c823e58dcf88aa07334814fa80f7144059f920097ffbdfc02f3acc9e0302b1ca20e0a731d949d5bd483b021f1ab1a7264b6d765787c2941be8051b5f527ba9f63af7da56dc68c41f057e23477ff40160064cd0c60135e322398c7d1b85f4e6de2c6fc33a0cb3baf6ce75743aecaf54d5f7d15b7dcdaf5a8189919e2add0c8249d80f5f5867e6ecab02e0130e255ec7461e7d2ed9d64431ce9bdcfa873bcbaf7401827b450ddfdac48afb9ef8c617a72e5a23de5aecb8122bcb532ba086a37868079e4f59f16ca5087c98f04e15c143ca4b4fb29d8a3a841c94f91f9179f07e260009bad9da693d271e3812717c686e4f00256fb842d02c00263b53c8b7a6a766a4503eb1e248d4362680e2c8f8cd2a853fad1d3df6258c9ce4430f73dfb927f7ae430f35e3cc02e779d136503ca5a9221e97fefc9150f9bba26c03eba0e8fe52e908e72addb107e8f7b317168ce454d22d55e60a2a518e8f82201b2703d16c5f7406240cb36bd57607d86f391f03a2841ee658957f4215d628d0bad7b3fc8b47142244dd5e6328ede9ac21ca0095a675ac863986e2c4ddb21e98b895d139a354b536cd4f69cf6a7e163a05a13d3fda212d8b7e56414281bfc211db7d174ea7a899d15ff3daa5f98f90996863ac11d59f011b82bcfe8e4bd96b38b45e8bd84fa3beb45449a58f5265597e63ab75c4dd27052a834d193c748d7c61f19229a5cf501e37a1abcffcd79e4fe578c1f622c52522cbe9f7cabb3c4fb36ac55f758c51201654066499f8282de1b67562c4743d4d5cc5c91c5eaf64c0d6ecc584d77fcc998879e63d150499f50bad342530941ce3072605f6e35aca66c6dbaba74186030c3ff75898bb16b122995bc1a40f83acacbca6e0ac352aad935a9f470e87cc06b385b89d6626df3e28e48804ce7c78f6ddd608f3e4fe0ebd1ef83ad7b5064f56ff150bae75286db1b2ab207058679ccac788094032bd0baca0527c1f6f9d0d1c80f3b4907c50e3fd88eb1cc369025012e3e864bac3de2b45135b52483ed4b960f2994b007518d5dd83b344153aacc2b500daf1d620bc7d5d5f06e74d0678d86cbe339d46dea00c530a1ed3ad6dfcef124f74e7fb941c9d8aef5dca4c87fc68673f73f42c3f7951beb8864fe41cbf11578e9cb8239a5b3ee3e3875fc0a4d23164c41a79c6b38a74c87aa1241d37bd995ce1d07d19763352c627bcc595f73d9136e284aa2327de42ecb4c6644bd297c68e1aed6c0aa1f9e7eadb0322e0af1844b70ca88a0dcd9bdf1c33d9e654a30c9059cd12474c97352b3fb099f8d16695fa98e1ca405216b6684f34946e54288a5b453af1bfacb5384e4e9bca8f818f4252f916f8a15cf1cb8e7bf9dd3b6454c23a0181b77c3dd40d79b095b492671556cc9394bc14090b987630bbd21203dc20af3e7fa165031e920a4dfe521120ec66b5ce2fcccdd376f70974a6edd4d52feeaefc6d6d7086937afafdad4a26fb6c3e5a5fca8ecea7baee34bc94f0270bd5302e7584d474dcbec800a0fa4e8021ad18ee9b85330d2263fdf8955b808b84e97bf84d7220e642172e89c9c9fb6a89c914c825c91109d621a0dd92576ce7c86bdc1cdf13161e11d61cb52d69b803ba4c066e2f26181b235a50116bf9fb302077d5feccfa1d27cebd59da9a7a5e3f3c61ad74b2f528f99a73aabc1e72f22a2522ea9a52114f2cd0ca991c18529c99aca58bc18571abab16be1bac4bea0fdeac6b114f1b754cf383c955587a77187e191a1e9cd9917d3620c5b1883bb8ae66d64edc9be255859460e6aa25bb5a5000d20806961adf596d8a4e56777f1c0247eb0acfa1a194d6369712b37f8c2794ef54a33cc088766adeb4e1da4dde51573b62c32fb63a651238304ddac74dc85261d9d16a92c06498756181c8ad1fa985435adb62fefbbfa61549974a794d0e91bcd47b9f7e3f49c09962ccf58561cce9ef1126f4f41be728e8fc66c1bd49cf371a59044686e7b3bfe185c9d4fae20c93f6c0d3bea518970de1d36b48a48568d919c377b9e3bf05e6fa7a296c7073ec8ddbe41e9f104e590dbc6a4a965226002fbb6a0208c1cda50afe1593d1da0d9dbc9a11d9d37740f89ae996b3529a4c3f775817da6e5ea942f8bfbeb5f6a86c8c98f18aa41a1673c0b0dcff703fb234ff68aed9be7f63d8367e70e6a05ead06b64a22f362a2216c6956c69597694229e34cf9566369856adc4103c7de17809ecb78fa70eb01db62183a0818583f25e3faf1472b212d9baab7bae2017c33750ae3a30e6db1ab4b19e179cc26ceb9f568a52b01af11809ff5969688084fb4d34aa8e45f43709c588448b5062d7e08df09524148a8e018de8a9b6ef538315920af0ece3b66750e1f60828af96e6fb067f15cd46874173ef8fea78ab9f74ac7f115900a999a411ecada52a01a06d6312c1b24613affc141ff2cf055d527032c87325219dd49420fe538e97556dc0deba3fac2fb91f7948a9d856acf8d34b6c5be65e6f5a1d1a05dc883e4c383e2b4f277a35deceef4be642e3118dc7668523b56129509c44d1ef595f94148f96dc4e7dd48c955219cb6c4ced627e1348dbe37b4e722638794520b985d1b42598f96f0307de6898e9e35a7827c0e648fa944153393695be4283618ab09bcd94896347dc76c941b4b0de71008617cb2d09051e6713fe175c6191f25d0dd68a6a2c9fb493de70dff7a0a4e962ef3e033f41cfb7d0ac2b396f4f514d2ee66e15b5b2284f7a87ac9e793b570e2c7361aeefea1d4814d0ec1101384a94c9dd5b5e1348c70c7a53af409d4ace09f53119ee7f8dcdd9ab46abac1027a7f8ec1cd0e963aa507078f5c7d79c533eb03e56070cab43367b3eb9748c35d54486f70e3b319a0392fb719bb8f75d5aa8a6379f78b612949bca9157a8babe888fec84362c28cbf7c27b7088bb9b77bfab1849450a0edd75128ee47f4b84167f276c8534910eeef1b950f5eb3ee215c683df80a86ed1c0479a4837836e91afd1abf6461b55766e03a73baa998b429728174fe42ba7bfef605c4e82a6600b5b4a1ec6e728f3fe79309035ac4a2f058d17f3fc40cbe00b33b52459c485581b5de44a74c1e2174a278345956d19e3d130bb0f22c862961607683059597ee0be83c707e5e5afaab694d9dc514d4d5391bc7b06a355d98cb43fb31bbefa2ff9209eab198ac9b9806816e9e1e201cec217ca4838acbb6f6f20953abc82851797ea83b5c9facf1b0c14d2f2ff168d901c8732b30be3b094ea292773226586d3e525cfa6efe286a4c903ef19a067f5128f10c6f22a3329d61f5574b51cded36a3de851f253dd35c9429d6c4d6af1d405e2030977fe81f8b25ecc8dc32892ff30143bf482d0ef02d8ce8fece6c07a93598673f4bb60796546c54b555e144f5b59c9db10940a9be14d0971d1c1a773748be9d5d1c2cf4225b1b8d35bf26f0d56483e270f8f90bcfdfca6461377c98b019f3ad93292567042da7e3f7c290e198349cfa77b815d5ef6b5ddd66de2737586cfcedeb8c364d3838740259c9043cda8463853b2d0ce5ec4ef7050d8c28985de0969ab84513036e0a2f28de237fa52c4f518c4e47bca3b628a1c5bc55860f6a3533e2a54b61174aae97523b9070627b08ab3e87ac6e5d6b7499084f33d297090ee0fff615ae455a909ecbe781efebc0e5f820a4beb9ab36bf0d1e2be07174a4bd4b4cccc883829dcb87615609e4c7e8fa1801117f194062f94c8b2e7e2e63d555c6b03fd71b2c856256f0746c857b29546d78cf1d1827f9f4a2530bcbb2d98a533867714b974e63443ee9215ed720977fc7eaa07cfeaa34167b967e11f0a257837d68bc95a3173a3be58a754e9956c56ad2349b430affdaeba987df12bf9414503ad43c39eb934057cedc12b7c64f14a1081e8dedae52d459dd7e3d30fe9dcd91fca45cae9a9e4ba9a7699d47c1a95ead937a2e9b6d08a500c1404dcdec9b1ec9c61c8be85d4622877d2b149cf37f4d2586006ae414df60627051cecc479cd142457fd0f4b201b1ba732181f6a5a03376f60cf41ac1939fe87a8112b0108e93c1d879fdac1491d56c3808f7c5ddea88616397d565326b3f99af8ae9231e0429bbe001987ce922be6fca2f542ef14f2c4a6aea70c520fba4dd410207fa5699f4c0db04adbb34fc9683e81ba21c7b5704915fac8b3221636c40b3abdd0047d25080a202f4264c5e7e3631b0aad8e59ef2475e2c282dc45c5bcaabc0ba174bdff9500a488c4f7f57f8033a4da0c5ea24b144fee33253a0fa9d859338bbf73aaa18e17873c1d3a8fe484de28e078bfd6f0c90c2d5d4ce57a8fcf54d6bbd9a328c1e5d8bb99bcb1587396cd98efc2c6fb21f33c39474ef54ebafd2170e113b294eab8980ff0c6753b54ec3c0f87e3e981814d40421aed5f38991a1759baec36c3c27afeb096bf171263d3ce85bed9d9f678ce2dc489d6e4345b133ebff401f38c02d826114671d54af5bd227060bf8670678718a5bd6b490aa8fdbd3577bdd6e5e52b187cec07dcb11f3149d7c20e910b92da8ca9ee48ca84e22ce6dcef012ff7590dfe12eb72fec576d7bb3bc87691751b6245b2ae0c6acad53137f1571738aaf0e5a08c36bb81964ab18989d5573910ffc75893cec81d4309062febf05e76f2ad5293c29083b0616d20d707f9fdbdfcb76e95a2d377aaeca2a3702b4bd2fa504ad217d341541ea362001a7eefd2adbb8cde07547b2910d85c841ac4cfdb10930fe18179fa97cf710e19d88a8a388fb6d77d14f952c33759d5288bd4e1eab0b3b3793bc781a7fb31e502e076ffafe16a91b8c4a588a112f27e7ffd80f900605f659d90c2a0dd328a61f9cfb838b027998bde654843436b9e28376c5c8352f48d62cc2993e829a4b05b20eb0fb2690563f5a183e36480af24ae987b70b5f368eeeeb18466a1c878e80c83dc8d99792100b66f0a27703839a3c96b06dda58b81ca9c12d6a3c2897f6e1a92e851922e91541332001b163480739d51dfcb5c0bd3af2daecaba9e1dae7408c982337f7bfabe1971e02a834218e383f4f3ca21ddab01877cff6b3224fcc9b69cf45f06e89f369ac8c836edfd3b41a81dae13563e048b1adca89bc0e7331c6dc062dbe11cedc5b378e5757133043f0d25131127041a66483caf4ad328770f77f60ffcb57a293a8eb551306da35372806a75c52f76a44a28532d7fcf2e9d0ffac5f649e03bad0777ac67cb3d5fb2935807207d035306970482085f9481ff11e86667fbd63aad8d228d6a2f3ec17227f4b7edbd08011ae810646520a33bd6c976fa92ebed892f27e839cd1a8aa4b144005f4d3e9c648961d3ecf89015eb175175444b79a35cc5f752d5c565ee91669b4df5abb0cd6bfc44e9c50c8c5008527e668d6236e09ee278bc7fba4810d73c503aac225b8b63656dfe3ef01f73392c04daf8df67f5ef704002abd54643da1569026194cbb3fd03893e40b81cfbb8165fedd8eceb7413c043dda196714fbe4ec2ad482b7482772dbdc0b0bfe11e887d31fe91963f8ba2657f056d319af847ba00c127b432a7e0028ccf4012c1e789623788fff3baa3558b2642bf995569dfc402d35138574bdf1f77e6b3adc3e0e4a94964ea9b66fd48a405e640bf429030df0000efbf2ea62af6d8037a1ebf18433dd0bab4dcbcaa2c1d6c1cc9480751ba64f789c40287e82efba46469a21b06a6c36bd3fe8124840289be213b8d56350d6cd069383b61bc040171e6bf5f009ef962113afeac325ad8ed8ffe13c24a7b5286929ce95b708b81c4c24ba12e21a0f90ca12501ce270be44bac4134c854bd3bfbaf66ca5ae5131fa8c4b24334159131b21613d53179a10499c8f98b6589f278287803831957315d7cfe2bd1d762ee50a922fa362a25d197db6075f94c5e0b5d6bf961cf00429c5e32010bf75ed3cbcca434878549c01cd5da1d9cac7a8c38287c88ba8a133869ec6a64b7cfbfe74d0b61abf819c09531ba27c3320371190321c811ee7eb5a2c2800ca5efc119c740ee2990b38a40f11bf10d859651ebf21d2bbd962034344a26847a4b7e86317f1db4a3eccea104de241a3dcd34a601d91a5766f432563897d4ad71b694654854fed44b3e4fca439f3a2af0857c12771f9ddd540049ed1887993b29b13af4334c1a840a17e7867150e368601dee743a3083fb69cd8b8f9ff165a0eece7655f8c2d61e88c8bef71c3cd567386022752391d55100ea1668710c270f4958380a417983094eee3fa1b3b6aaced8f9ecafed87f9d4b8be6697e0118fc876f2ab36fa9b3801723c626176003014164d4aa266ba46bf7495c4c0aa93e9f6510aa666f671e0a7a85f7a9739a2f0d72999515da80a2477b49770b379763ccec055599695055f8f0c2c117d2e69840cdab87d9dd1f56495a7287f079942e3b0823d5e38fcaf8e0a2b7db54f0bfa7079a67a9e28c713be03284387836aad711ed7eb8b27cd013a3d551a6b19aa68f8edf056419aab4dc8548f405333a376042c59277ec0fab20e93b17ec930b0b3972ef8a8c5874a64b27cf45fa001ce976f3b6eab7c390cf3fc795716c7d42c0050a10dc8c0a84fda82faa645642c0151262c7428b7cfbf69e3cf35bf3e08c3c93c51b0cd83655e8cc89ff04d044be113a02f89ea9cd75d87d175cd8603a7ca99feb09b57ad05cda7a34deea34835e9e45f58a119d6636a1515dcbaf4d32ae42e0647174ba564557f57123ef1f1bda8539a6ba56de50d3aaa86b663ec85fff059fb7933b81c206441d369fde93a8a4ddbff08c1b9bdf1286a957529cdb2ae34416d7fd9946f4d8afd172dff1f64d4fda03c6123d15a1f5825d16157bcf9690ec528fe907be08e5b3f915159f03d893b1a5012c99e2594b844968e722ddff53a139be50944f0d2be82a1e381618dd6798bacbad7cd117130a84de184bcb09ee281e088b0541d57340f8e8f4676ffb8451b95fa3c0c613b084cc194b89ab2f8092b6e5350f65cd866f9ba9995a4d98246fdfaa4a1dc4701e4ceb64375bb41c3c819df7df290e68e702d8671752992600168b6d3a5c1c034b31a4fa7fe7bce80ea415ea8414e547d9ed78f3b6539d37a6e3d562bb7bf3648d46ec88c5bb71f5c34db61ba385c978a927b21345774ec7aeb639ff491d3ec587a21159b2301f98c40011a1616e43ac47a6e14cae3796c50102df03e2449077ce7d6727a40d2c8bb6e0afe15215d669875291bbb7a82fe362c7fb8b1c39f3b740343ad6112741390de52bc514d03f81a15e23f7c1720b62ace5eeb2e55ba4c5d1fece47e055b0997dbc7efbb20520d3f0956460795544b3c638922abc9d5ac4777e86b7566aedfc7d63bd0e4786b36e4f0b1a6f7a877892f3723d7cfe279e874a3822c0cce38425bc9a28a082fae04ccb4f2f79a8dbb87898edb82994017900f9f852ca968f25a139ae0cc30c725ac05f74dd2b01cd2baf43f5f79dc37c3603a36ec35eeed5932fdd5a33d08c29eff66d384094aa73539a45762e76709ffcc72411a23924041e3121fce47f1cdcbf9431bf594f2d8ff8f56e32ba19da2715db18a8fa57b9fbafb1bc6792d99b1ca31afff1fa7fbbe960ca1a88b0ced95c9264cd404d187b263c49bf96b674a944844926ccfe4a59a4487e5dcb67a8686658a47e30ddf7b2d771fb9ebefd0d47b34fb94edd3ee8b483afdfe80a088988402c626323cee66de197e5035eb4fe69ee58172031c098ce218184b301e8d96e5f806cb5a3f8a9307bc6576c5a183dfebe7192624353f77e73b3fe73c300e03ded3a4581875ae1a05782a8ac75133083c55d5bed1acc87f8f96b7db2f4b43180d8e14ba5a64af908a701e798c4c6053fc02c18d86a50bcdbf575a66f1c435d38ac80cfd02669a04e26228d5fe7a2e8c21b71a4bc993015b1b91398bd87f7333b5527d95ec9b5af608bc375ecb13a6757625055fcf9caa2a02648acf99444ab29c7e97e08e71e98a07ed931e6edd99070b2883a4077d54f3197891e890d4706631d47879add1e450f4a4fcf5a51d554f798213627915b823b95c83573e40385a4918ffd41d9a8bd8e2e2eb9644d3a3995a3d9d8041dd29ca3e2629b3d673a63065bc72fa79ac11a104a6c39ee83f2931ee1aa78cc090b17f08fc80cd02abaf77d7fd746504cf7405a41eed73930baf8b1d26c93c9b6c48f209387c581850251e0496f9e864fd53cbd5615fdf06e60006f1df1f3f5c6a24202c18ad5274e74bafbde44b97921b4f2ae3f5c3e207acc77753f56df6a18ce4ab6f48f22f890ff9eaf0b012996608176394058972675029865028af91389cc387d95540d13d9037c6dd08750f8e693e084ec1e9947f2fcb8de53355064d921fe022971f5f746e5dba3977b47d81c8fc5cd49b76c0a793aa464df9ca6bf99cc0b06ab76badb88f33736b6e78ba51c9f5087c20c839cffd341d70640ef2c932f80d436ac813c73aea44b6a8b95724cdfdd73dfe351fef368749a53e03180bc44633b95510215db04fc2b55b5de02040ee3b6503b7258084eed793b3504a5e4ddb81b594a0b95b15dc3fee9451eaf49ba904b8077a6757a9d33ec0505716f29b0af999c214eabcc411bd173094fed3969c872a604dd2f349d5a2ba096ee0b08679afb6a2754ea14b84482821e7d8b40b773ecfd0b9cabaa2ca0ca0f8e5e2f21a25996677c3c11045de95407756e8f30a012c667dd36ad15022b5e980b48ddb84526cb3938a8a09144184e9a43c480349cba8d0a8deb4f3a5aa32a8c1568b7a36d1cdc4d4cd1c782b66c0218368622aaacf78df1fe4ce7b2a947c397923251372eeefc5f1a4a48d919a700b291086d2a7497c84b16bc4e7b1966a821198c472417f1a90451fb3be20f8e40d4186fbc075e2e58754d46eb26904c6275c62b0d3dd0c855987ce34e7a70b7f4b28d86efccb2a9f85d23e9606ef2e38bc6c9026a6ef9207b0aa78ad54b9fc319643b909deccbe44276bb51c58fd30816b9f9c244cf79104d8221c71963d122a441a39016cce4b0f313c86a893d99f4e83bb0ea15c10d705c634b7b48c4f9a7d3165c569f77f4e0450712d89d7c2d0fd4743128d94b80dd2a1cf0c8cf4ddc35862a6bd195922853a133710905a6e89933f156ce7db05ddc8ebeda61215e12a0ee4a5fbe69b8ba05cd7a836f35be24a09cc2f06d1c172de36f5c8a7e43ce5e58d2f63599629fab189bad59d56d2603bba54b969386bef73b76ee18b6104739cc4535fdd5fefd86e979f4e1d88a632715a562cada496a50efd18f176cfd6e379f058db9e635397068bf64e2a6a52365c81e59ea3833f909facc5e740941b3e9153808cdafa531964236451f5c1eb6f846128f73a60dfa0e00ff0134de2cc38df73de736106309f4eeae3005bfb5632dd5377619106a215b41a91515eb1b8186aec34dc8833920050d56e8024045475c304cdc88d930fa1941d5dfd9d283108b47aae574b43e83a52e6a87bb27cdd17bb9a8fc0aff7e5643267ac4619b1749ae374b10d3c136efce686536c536c122733e341188ec3c9d2b54b437f6a047251bfc146181a98bfedd1148c50adce4854b4707777ae6e5c5a0a8b52db55b43077264eac66f47f886383a463012acd926475d51c0ea4884a9a9df73563a264f39e5dc45380fadc85217a505a3e4b458684ae665e0ba27479eaf9c94ea138dcc39424960019c5a5f71f882387ba61ef0ef07d265b854595767887c0f62f77dcd842a9065a9f5480b49f673574fdc3306bfb51ac1c4c71d1134f9c0db46185f0a662872c33b6a44b559a8ffd8b0331c8609b926cbfbf9f5bd0056347a0cf9423f22dc0e77d057488a525c7008b3a3925b27e0c641eb5d4b2a67a9e5ddf629064c778b09113b28d2d98b79626b3845a01dc2940b2c2349cc7dde865db5175d652e829904d82997c36e8daa3b62e4077c14dcd313d5eb2f32d811a351aaa22dcbaa4a1016c78295fa9832052b3bb94b7707b76d986069d37c7da0bcdd41aad4fafbe4d5e64a72b7613dc5d3249126a5d0a861f6480077c8e2220d6c96538cc404db103c70d5bb8a3512d0b5bb5db51d146f492b15e6418cb7d10d9ed0a6d2cfed78039a3747cccef10a913366a42dc5dfd357baf9054fada50ec7cd9325b027cfd16625eaf8e02e170317a69477046c58522db06bd73e42f932416eadb6a37e78ce92011e9f2303ebe618f0535b4bccae7601306f868fe1408c5af350449362a52673652b6bff3d9147271eb09c59c61006f7842fe5285a7281cb632fe8be126f2675b646917364b0afa62617cebed4518acf64b75131bd949698e4b0a3d33df1f0de0815218b2cb892e02f42227df5723c200aef2d607a770a649ad52eab414a225522fcaceeb53d500efec0dc02b826010d805aa2e2e078fac78ed4867341d1eff650b5a0c8da93f74913d1295e5bc49eafd78f393f4d48413a7311f005c9d6c8c03942ea9d506a102c2c5ee0a7f6a8849ea4a63f5e10dec75b5ea44d0ab825f0fe2a3f9b31ea0575a91aa79cf10891118687defea85fe498cb3a29bd2b2e0f40f7227f138eb7f71e35234b53a2275fc87fb6cf01a25c0654430f0b1787c80b217f987444494aded2ebe126fa4a57c508d5756fe7ea25bfd847fa6dfa0b6cc5ebaa69fefa0638b3b4a87f07b913016461cc74bbc7869183b7f7ff9a284103b22854634c2ad699e922f08a8bde3b161d09447f5292e03b543f1e5124469fc2bc41e942f6a87431896a7dea0d37b82338de76d560c3b56fefd433b1cd8d49338effa0c021e30e38bd1c7b781518d561ad96488e62a29a98966887079b3817af06769b8843d349bb836dcacd25e8725150a4b18c777e5932acdc55335e528a5d7694e796f0803cc7cab8c8cf2f56215e35302508d1785352e77d17da5269ea1da83e6f95ba564777212669ffe3e52c01b47372c637a0a2717079f2dbf393d1f067d3a18ae3e7054a0178d1becb006799683f5e288fd54572ff9ba90ec665149a9aab49246c50236754492a0ca128b01e2e3fa59326503e867aa24bc312f7ae7f68a48552dbc472fa205b1e2c1619043682da1e9b534af3b3973b1a0521d52fb92963796703367c77a0b138a7ee7120f166a2a23adf1721abd2dd7678548cb2aa9a502560255c5ae41696e69cee9074aa562bf65234d074531880ae8e9febe1af33d017db17ad6c7ade6632c9e03a71cf5a5250451dcf07b96de7f57dbfc0fd57f93875c206006ed6260d3bc16a20d77c33ac187abfe8a3be631ca3f1fbfa60bf1c4d36557d77719f52f0e9c9d4d6e9a557fb49f7200676c4eafa2a57c1b7f4c417a8306ee3becd2eaf8696c632fa843087e103ff544a4229e493146614d843f41bb26d9794ec9d9ddfdde31c1aab8d92ae24dd6deee5e87016638626fd4eb0634bb5fdc98d67687b089b61a15d7b3392fbbebaf39283b97b3579b9ffd8d7688532c37b882f9de5ec3d5dce926f113375e663886188b61cf4edd96598b9a0c4416554d6a582c356ce133678f08e07410d63989dcf246bad6a2b458d23626bc2bdfdb4f038e95d839f09fae90f65169d064ed13f93486d981f11083d526517377b131a7c61106e59f3f8007437f3270b804221fcc280fbb526ddc2c94778d87cc8120dc7ccd6deed1802079b8af8977b290c54f76b44db9c37f5c48699ae72aeec9d7c1150ab524beb21eeb7eb8af598fb92c9884b14525f56836c4f77aa81fa9d03d182708c7e3d6d8d9852780a603b37bf39330c38b7994062783530786d72eceeb032a5087558bdbbd6c04270c5d5aa0b3eaf22d53bd15122ceb1fbb4871c12b6483762daebbc65ef8b82e0a1dbeacb9508a038b98a0d4e07916ab8fb6932983c9ea7edf9e71affa92a86acf6e06ef3a6357c29c4675462fa9b61052cb4dfae3389dc6886d4766fa37a6a9601610c3a56dc1c96e2797eaf117ddc080ed8e2a8a47f58b473c2b54d12d52259ffce42c3afd49d463466e2407111a2624986205379c1fab72d29c150bb15903c01981c6dfb1493c474f5b79301f532485f12a194f197953ae367f9c3a53d4a04d65a8f8b1c866a36d76a0bb6cae35d3448dd36ad1df803abf1ab0e414c9d7e7502072dcaf5a46dde98c3c729b73aa2a93bb032fd73ee05ea15de7802d7ac084542d8c21c745797de859ac3535335ba136eda58bff1ebe059889f59674a3d0b67e7f4a806a8a7e07defcd675d3dbcbc7225577d7ce460b2c223976763ba5d7e371b76b46f7adc6b301b04addfab58b08b34831c6800ff00c3967b3966de2ad16898ce154a23066d6ba7b4c413d140aadc6557c59bbd39164b08291fd7cb3cdfb5fd1780257ac0d5b5193dc74b605a511744069c9c40a637cf7473b98031e2e7c164dae154a8235f76baba636ea799f702e67bbcc26c4a6d120f84300e893933cfc97af552ac5b23928c4b8e04c75a6c1a97e721007af2907575db3399fdd017ab8e3cd03c7457ed559e83306ff3d8578de639f636a86e3cef03e5f953f088492d910b07cadad2763eb586277a94aea84c2159647c3720fddc4dd3af78247256806d041eda8e1e7e0591a843890f844126e32f7f1c2639ad62c3f1cb0fdea906de3db20e68b0a5fe6a6cf50cce8e0f75ff7bcadf6c8d3a797bbcb636566bb6c0bbcb4da6b3ebaa56d4e95531fffa30ae424cfe9f8cc376c9f1b8a5904712b75effd96c2bd0706ff4b2c09247d630c5e5cbb6112543dc1fa0516418c0144f12f841a7d8c0ec6a4a453fffc000b76c8efc6844bf7fe43d5f84a04f1d15a24d9bcc174b92abad2637c263af6e302606114785fab8fad5a02c3dd776528c3e82b5aec3b9856beb3dae1e376910a48e7159c66e043d99c1b7da1f09ca0b784e9afb1d6eace1d4decf21afc7e0980ef4c5e462ec1f94a0c64c95efcf9c9521944d65a5733bf63f8a277487fd505d6cc0efd62465a82f0e2e1a51a98bd57fd96d8d68b43e60a90d51bf215a185c97dbf6689961d228346d84ada05f76f455c195a7ded26d0bb5f720df8259fb75e3bbb39a89452869878dfe598f88239f7251ea7a1c62d9b4ec37226b45d71d38b29a0986c961a07fa5f4eef9d8920574edd5db97178c5d975bcd8bc5b984d0c949577624421bb5e53cd8da973302f5f336804adaaaf8a13bb2402c0474272b07a0e2d5d7d5244124836c9370ec62946d503b3ef80962078cc0694be8d7794f5a12e76792df46c8f7d480dd8e01b16535d7ac1812b3295f186088bf906391b3214deedf2f3befa33b48a12fc440f1eae0bcfb99cc2dae2c170992eb50e1dc0b4dff39f51eda4cc6a0799b65fcda498ca8a6085da8067fd88e3a73568e3853e49772ffb7108aa87747a4dfc37032f4145b72ece7c4f995f6d379c18647e1cbaf643f6e151fd4601ccb081f5b4b4d05efc38b771f852d585c8c9b08ef37bac6760fcb0060dee3862ef26cbe839dfb40299c8a937e18444ca8ba5d3d7bbe5ec8e6c7bbad4eebde0e6fc5e3bf563703757c168644a3f2443c1849ffa6c9a8b9dc2ba02922f66c84ae9a1ad11b750a93fbf84960d8fc6c902ec05862de99a9295c6b53f895b8748d55f8194f28f202c0bda98145b51d9c8e66d49ab124feecdf56c45bd25b56d5c14713162be955e0630f1d2f383a35184d596d76c178f075a22dd4e3acbab8817b848f3ef0b6dfc171c9db3f02a0c1e98e6fd81f6ae66d0245de226a5df571d30c526286d1c250dc483e34ef6dc11d71c729778b2b992cc60fd6843597c5a22112fac91b5629378025b7a796d061eaa4df56f5d92d995b132671b33802f487f1482534cc96bc50afb86c456a17b4c97ecff4f7b8692286d49beb1bbefd73ec1d2a653507f537f1c7331b3ca2f58cf141305669f222a5b81bcefed7816869fbac45d9ca29cba5939bf865f3030cdec49f4368506d29608d47afdcf8f523268f685cea07a9084d059671358ea915548318f25410c82f1b386e24640aef9ff77ce843b28e1e5601b9741cf5e2930b07e404fa0796093f53e85f070b7328cb862a03bccd5e0dad811ce34eb981275e4fc4a625435c6f8cfdbed8bdd6dd5416db915b4acfa672e94111bf9680a6617182d873f058156cf9843c2adea7a37d73be9cc6c2f5353260eaeb9a587b502b05f5244acd7c2782d1a55b21d5f0f8b76e51098c7b5e4a97a0c2dc33cb99883b674b535a6d9302c3fd3fcc500b851f711e57b213c39e5b031f7a3543cfb64f3801a4ca8fb0633a38d5edd97bcd2e99aaabac8f084df59d81e97e58f548b4e49f14c1b4eb6984ab964b5a74185e44407ee7eb49048e41c012b901b2eefbe09b11df42d80c912349c971487fea28bcc1c3712972692ebc79e83102b7a81a956b0b9b42fc216be249142af5883c5a77f61327452635b1267607f76ffef4d073bd58fd49e2a972572937cbb61b7c4963dff67c12a065439aa2109dabf069b6e0f5c9edfc605f51207b90bac2030c9c1c6ee299cdd6b9bc587857b4ed866f426ed43469e1738e8517de4e3769589b8928813ebf4e6651e22911d82406cf706ad30e0bc671ed3bdb97d4396ceb61ad8ccf9bcc3f037e593d65c8e10f330f08f524480692e9f6a1356221b81054f1b5656b0908cd8d9b82c54342c4cb777c492885bd7e2bebc00ff22104566fdd2ac0ed226bf4be2e335c7c0e1cbee2120d3a39477766bd8342bc46901008a0e51068c36d8c60b0f88cf42be3a1f4ea77e3a0151b5cc29f5915254347d1e078d8777da6e9c9c24053d665dce14181bc6b2531eb4814f378a73b277cb7866556598c145be64b83809a690e281d846a9e3476fe26e8662b5f8f6deeba0661670afdcaac8af8fcf26c9b5efda330f5e496a402a92b84b67d41290d0d690e2c85a91275ec9433d9426704548ee1617ce4a601e29de30cf06384a2191c1e133c02b599d89b3b2a95151b75a8d6701b1f09e85d59e66e2c7f0c7dee133f57c1794f0fdc78e2d377c06ca3b74145b0b76d9bacb69bcf042fe3b70ebf5aba049d7b5a1894c5334195605481ac3074ddd033d4255f0ef2eb197e69f4506c83e5e9ec9c61737a238b657fa0dd3884fa7cbeafb43ee5e82b5db62662984476cc4a951821a161cb376d6f7db7f26f13f294a19cefbe0608c24bbf4623909e93294333f562777d20093e39fee988ec1e6636165fa285886367f00b017df9a55d7ac3cc4b5a2d37cc61bbddbdab0c8e625502f3b4120999bb2d055512bd8cce3e972c3550e43526851e6fb1544785fcbd40a07bb3ab93d03880651d60664f6094a1e74de02c3bcfe88d345b25467a48313163c884f5ad1dcc04b6a31da5614d8f8d6466fd8266be82b9ef9991f4e18a03bd326ea678550e58bd4b235a9a8971590f8789fde507ae6b61f62ef56ee9dd0484bb50c205a249e6e7887e52d433dcdb232e915ad08d85106159f5c0503b414b681bb2d7e6b28cf72123706be001e13047d2990c9225f9c72d8f3b30c82c9bdd6d4dd87f4242762ca6a264fc28bb8cf79959cea18403e92ee436b883351907de35a0fd6612f0bd6a93e2812480cb88b2bb9c50af86f9e4124a53a29808e9e05d9cdb4a8ce40c10f513bf578926c8823e036a0113b106009497b59d89e3c5b95a766e7aa3f47b393651aace7ab6b95a85dd430a9b25170a125bfef05259b5097e68d4f88efabdc537923a6b12583b4392f9afbbdbe5f12621bc43e5e6e02f88bea84c33d22afb05ec2d7a380255985c305df4683f2c21d4e1f5b962e8f8d1a371814a4cdbf4e47965965652e690d18625d2f549c8a9397da9b5ed0ea47f772c235ad46bc7518b4020fc1629eca43baa908020dd0ff98ead2391268306023d581a75797a36720008fe81d81d962dfd75fefac3487341ab70ebb4ccfad58d8a1eb9a9da3dde62f1741d8db7dbac61a7837762e204c6df17ef30345631ae99b44ca87d1db31475ed61296e7232977159d5baac6cb21c1c17dc82c999492205d0bf8130bfeba08246dcc4c74750edd4767ff377595c6d41754e6d87e75a9c620f0448f516ee27ce4eea2002571d16467f27c6e979ad2a7d3efdd655a01187eff249c539510e94afe9d20b8355cbeb986726db4f540584a9f7de4369822393c5bd9650bb97adb337293c0791b02a4da8327e00b20610d3704bcdc4b081ef1207a958fbf7f55b7c97f0465bb7bbf2737b99a8da406b8a0291a79a6e502e065fc9f4ad0e11bc44a504a8f54ee45f0ae8a06eaf416178cd37117c5aeee9101d8e23fac1cc7df7039cb6ab001ab69b78d6a2d0c7507a633fc5ee4659a99a3ed577fd257eeca2a1855233922a9a8c5261c68df15860f9d4a3f77f6442bef09fcc6a7b27e7df12a3f5f9f786c359743e0c3921b8ed4b206f9dd15cf2906f66abf23ac5cbd298d8eb2e756e220d1987a3e2a99b72aafbd32c3d517bdee5e0c8178461a72d69084454ec29c558183c316c3101b7d63a010f3304867a1b4d8146b3981c398f207bc4af74b2d6fb145fcea653044bbdeb07795a880b00d11e520af9e517aa02582573fa2517731ec4a1dcb2dbc2f37d8d3baf174eef14403ee89419536e5c306313656e6b50c4465ff35fe2d9ecf9418a54cf7822eb6c647a74cee8e6d385b73bd0d943270c556852d0bd77a741caec0cb08b6d4bfab70dadb4e1f47fa4677e45b0f6973fd849a836f7dc3e18d3e02f899493fc10945fb14a190be5fad58662dda7249807af06ec1255fbfbaf5dbfc03b2dd61eda932d55ebd89a6469aa563bceb76af758b142ae8a72abb26df27b00ff67b2335f575e5512b46b0fa0e2ee251547adef8c2ba24eb45a6b578f72b32e80419d4091b37a4650bda50f1c3e9a984da0c4d0f7e4fc68fd6f6942a2a0238d6ea2a1886dff60bd8a1655a7eff57196f68ef66fec39c950df44272bef890058b80df9813037fe303d69c81b0dcfc42cb3fd04e400c632cc6ca426d3d811d2fddf9985add7b0000e961b95dc554b3cc3f5fc8c4c2f784d31fa1156eecefae26b7dbb1b5dd6780f0bb43cb9248dc9e1c0efb83bb94a43cc55379d76b50688f8279f3e2389c2ef0322ffba9a1fdd32e58a26826b06dfcf34a03df383ea7251d910bf8312fd3f7b7ea68bd171394f588cc6d14770c0cbc73df2b9baf8aeeb572799097574ab072559f2a87c67c0615a5d65e824bd31de82a18f128eeea9b3feedb30904ac1c6f438fa6a5a42b42f4d406df634731b5479b42c9ae1d5bee79bdb9e480ef9b61b21164030ce1cfb0effecca4064f0c589fef4eeaca7ed0d855b6ed9b648c2f6bdccaeb58309217f1402579b9d97efa61efc5933839d52490d6231b98809a33e56780f8bfdcc5bf3ff84a29b3963875c437c09ae1c690177871cd1248452750940303986b60b470a20487fc789c11ecc59aeb0e92bfe1b2d3f7e1a8b0c20948f21ac312029cb4a4e7709a5c9886f306a3bec9ea6c1b3c579c428d536d34e1a43f03e73956fd70ce5b9ccb6e25daf09502b010b55d2df8fd048e17e9b524b66266db1e3f9efc558979fad55792b96f6f3d0adf5a8a3fb1e5c76b334085a319555e9470bf1593545d7f82ee385a8d645fb863d6cb3fab14a3b3597a95d1f678b2fbae808e561c1684e5063793d74d5f338a1cc54019bcdddbcd2acb3f724a55e5fddca24e67b8c546d3360b9abf99ca1d950efb598a24e31219b3484d3924ab5e55d4e1e96f3a1e48357c0f2f9c407922919a4ad3b5aaaf9bd7adeb8ae35c60aa4e8cd55452826bd9a2d2971b1b7523974c435e9502809c40b46debbb0f56ccdbd273a6b5d6263abde258a3522234f7a55acc132d81526a4f8d1ce6b52f070d6705b7804abceaadd989df1733f7514e4ddde9b25a7f3396675269fc6d8e7dfd935993a50320e6be1d9e85aaf15148bedfc5694a62a776da5f90561a03c00db90f354d274fe5065087dd114015b5d29094d37396a1c4aff2d032760077e6aabfabb9a02e8cb8db27bfed3829726e6b8fa547e19f78af3a0982a18c178407db93875f7d39d47528c9cf525245edfeb2e9931303d44b38180005e7dba9862d5e1a1b600342f8a7d7678afb92d363b81eb6d295164cf41b20c4630ac0bc2e873026e12d0bcd005afbe800f495286460b8fe9a5175733cbc7fe550d24a054494623d0d542cfdc6f92792015f43f50946251a1533ca605407744beaf38cf9d1986c1e14737d1330c621d44355618771437ca34220465dcfb8acee59bf0a646661db21de1876bada866c6cca0ee932877b712c280f22cf1a3005e3d5d5aa50c5bc262fadeab9fe684eb038e027b1853cb86578ce8bcf82a562d1b89fa2b58b182b083b530a4685db350091a5801d2e9973e5e9436aaad16cee403daccf9469f119ddb965d2665baaa1c9035f70c83208e90be7941f507a54725a01c254d6068060f34bc9ace2709514c110a3d80c7ed25d2c0e0693eb5c4f210703c02722562307cac7d8b57f1e43e809c86c0a48d7f7be5594d018c9d9ef8247d0b8a77ee12fc63a7b5bc719c58953e78e9beb91ee6b0dbd841940c5864cce5ee5658e2f4241102de8771e5e680e7f56b42eb832a59753ddca6fda86713f5de4f9e39342370fb0e91a0ca6b6f39cdaf35333435989d02a359a98bc64f65d4eddcc31d798aa84f4134252f4ce3172a89c3600a680ccf67cc8249044fc05fcbcbbe2dc17fb79d53e30abcf47ed2013c8e66ad452ad09b07e04dc5e920912d9e0b9857a0e7c5054faded673168ce43d3dd1fabf4eac4aff085979c52957088802c13945a507afc2652983a2964b6b0610b566a6af0287b1d17ce8a4e0cc03363f44ab7e9c8c52fe52682e7f62d1c667e06295a85774497cb2c8b0dcf0a7b6b999b0dfec21e18f614f3562b7645fd01376885d7245747bc77b340819e7d4da586faf7ff907eabff6600e9358fdb03e6ce13599f6ab65875924187a779572fc98c5fc0f5c0c1d79ae2fac80374436e55b970c5f54f30a933f4836b348ea025d363f53d5f3bce3e19d5a42682a1386d9ebdd10e5c07ce1f4d39cb3306f6e5d207c3a9524320e65f226380693cf89f225e99fafa9019de1972fe709104a1cfc236eaf449780a36af6a7535bc2631f8b385040fe53c365144cd7537fe51c0a760590fc999801e0b74e22f21a45119052462010aece2edac6dd100082c9d633de222ce0461b685e0811a55680bda9eadba7d94923aad92fabad962787a1116dcd49a7452ce2c334a91597f4f9468a66a58ee7a5e40f2924dc10f334655a38643987f0b0e47d75e7b2aea42793c0459a3ccc97d568d46e9bee33c9d41a8c8b021e13b9b91cbd4651fc70a7f9fc11ce979d9b222810de3bf7dfdf0a16de3ef9641b48584c740b4b2a5bf726d059d377435702a0f7cb920b296159652887f6cda3186518300322dec0e59999d7ca49ba434062e21736aa55f5190b544d6ee0f5858680756b9c934cef1bc459db1dfda5549ce8601efc2a90a9877d6b6301259f5fb3fa8673675ec342fe7aef6863a49b448b42ab916300b47ffa087b9a028159b51b94e72c6e7eb7a3d0b5be9a3cdb21db1c489f6f9b092f91b73d12efd9070028f3b11754aaf07a1605ef7b531fdf03f678f0eca98a324312099c2d954a7cf91c654c778f818d303d2aa7a5c9ae07fd1b4372d54d726b90736cb084ba79e116c6ff5728413463d84a6af05f330ea688109a56ef7e9bbf93eaaf5490948bc1e50b3bcff2fff90987cd673dbe3c50b328d80db79832fffd187f942020340bba949fccf2bfd6057aed70635a26155b5b789e5aad7ef1f5807f7debd347465c8b44d5b00f7fbc036eb8ea2b83a22e385aecfb2a32fcb659fa19f623827f546b6b420e43ffd6e87acaa21b6ea568499b2dca2c7348d1e9392bf8d6c3340979d4bc7ed05034f9cb983a146bbe29b14ec01db09c6867d3fc58677a7d3dfa9663f194c1e134fd489c36637de55bf496a054107b30c5fbe69c42f92ad0764d296d968749246821bf4cf4ca5b060d93a5697005dfe50f601bb46d5b5da556d61ac138eaacc0017b018ace5bbdcb6606ff74612949217ca5cbc1e3151a96c93ed7cc9575b11597eb62756e0b88163223369e62a9e3ea64ef5caba256016b22655657cbf8254f9c9c1c799fe9ae363c1502011cd52d7ae5d4b85b89d1abac012b8d4489145ab94b8f2a7baedba30d61e19237a7c9e211195f9a4324a24ac5f02537b62209898281cf238e1fe8d8e618e71b69ed3105f4a563858edd0694857ca98293002d9cea45213f341e11736a0fa165c795242dedc5fb7c02cd9df4fb576c250fa79a1db6fae44d1f1f8a9bb7dfe7ed2fe3dc28edafd96bdfb70c720616938305bdb110dbb8247b97f41625079e8af1e5b64b16ee15a9fb56554b266b305f42c485ba7d74001bdcf3a947d759a1e20f45e355f75d8b5329d3ae346c95bef8ed2514754ebbca100ab8e15ab928fee4e7d5913a59db734f6f2953bc4ee973d694f52bd2ed4fd21c9efedc7eefa5b1c6512d09cba31e6a72ffff02ff09f576a7b1c173a8a605bc26be248c0638140be1208372c7f9142495de58c3987eeb12c5461ddbec1793f63629019374df0c0a0a7c003d50169beb4e5a7e79b343b860c20bd82207004f94b3e5c5f5f84491a76ec836378e30351c7ea6bcfc00c121189edfa41d53a8faa3eed6a170d790e803894260fd30606bb8ef1241614f014c0b85c117d1cde4dfb0da68554d90ca21078f90d0724d8c9f67558e0e14b9de8dd4f12fe51051daa5cedbfc042c1d0a7b460a183a5f8c78b856bf304e9014268b0f27c5cb63a64c080723abcb546ae0e941485149ec6a16374e478977f1ca4d89d930ac5ca5dc84c808c5850a11f25fa013961ea76233262cb890f7a0b64bb5d05fbf4aed20900f9a7d10aae421c1e415fd55fb2d81b31ffefe849d3354efe6f5956f4c8af4519fe53a0a77115ac7e2be149e03e2ffef86911229c049ec62b8c45e8df330d3a895145fc5feff32e38ea81fa98746979bb59e1773d31fa27fa3358426b921b8c1828e9970afac323339fadf370c5c6dd8921a73b52d5f09df304bd23ed9cc2d48701a5d7a69ce8dd64e848e3e4b5e5fd005ca9598d4e7ff286386739303a99b4553e90480c61f2b250203d95c6c54fc23a85826bf673f20766559754dab7d83423e1f1b3416bd22bf2fb9630cd3c895d4a7d7cc2a783f6155cbdbeefce38ce0a5919d381b231b67b8d00c4a08dff18426b9118fbc5ad40eb3e643b33b754d93f9f084a1fae2c119c646afb61e445f75335687482f0c81afaa59492716ddbb365d54138a387c56836b88b8d3cc9ccce4f9b26ddd713a0be1474b88d4314d65835fee9e600138556ee4cbfc871fc15c369d3ff2bb16f830ac191e70a2448afb9b292448c11b3c29a4960bac1463f79e5610b673f6e03254c983c622bc4e22e4767cf3ce35ef351ad53451746d758c5ad64d2c41f7c6477b46884948ea66dc4edbf9c129fd1ff4076d3d28177dbdf729094778eee0fe2801f0391b1e27115f89d04405046c181c6c52212daaf11d7dbf4896dc1c95878815e4c7c16aaa7c3f3feca59892aaa0e4d9ea0ae84763433dff411601e10acdb2d2494b76956fbbbe8da8473d24dfe636cd6a8c01b31d5dda90a10514b34df78345510c7b6986716d0f055a695fc61001ca4831f40617e620efa9e82d4abcd329a037ecdeec25f363fa53101cb23b2dcc05c2621031ac955a847b2bd1aaa106ba251eb4d6e05b45d36bd0b9c46caefd809efa85c707931dbf66db8344c90531b01e049ca07df23c9656d0a6df3527fbfb469017fef653dff4566d4cdcd82bb5b7a2a5e61454b60c3af6920f1ffc313ebcef47a00691e65ecb9cb1015396493bc91f36c809505b4cc838e6b41b36d2a727dbb62d38b50ebbf53da0fae5f2f7e8dab08f0d87945bf659e217084e8d6135acb928f1ba5864ac5273cfb3200549199f4fab36b807296675afd15862d9db6b1742efa1825bd0d5d1b15a5282fc6690645300220fa64896154980d5905c9a5db15fd7506854c494c2dce00603c2567a2af325dfce74e5503ec1aeaa23d772cbed12101ccad7845ba2adcda0632002d4698971a47c77ff8006e43b2be626f7de9618414332fb9e4da3cf7678ab00725bace68042ad16abd1347bae0ce2717502d271e2d0b4df1cd55a6016d5a9a812f0de53ded274f3c71abc07c11606bd33ffaf74659397dd1c9f803df9f480dea6c9bdedcc0f337c667a0b1b80520be72ec205fb26061a430b0e36e799a2f80828966cd44b548e526c9472fea0ced5fad9cb7db85b80d077532e0d3554d8c1302c358f53b95cba910ec238b291afe6b0b006ade3555da727dfd964acef6295dcfe02fee5b4a35f8d5e5d2005f8dd8e83592afcda86b65eaff7ec46fe73924ef5167fb16bf4a9f0c8f65d7f8b6590bbb876f7cee12c5930ca6a9936015b2689ffa3ec8146475b83798f9c59cc3e58e8a5c54f4847a0b79b3e844682ab12702f446bfcaf9133f9929c4185c5a1fa5eb3bba312f894b93f1c2105018604b4657bb28ebe3dbeaa1893e9e0ddda79e77863308d4be022d04d881614ae7222d67f5a5512d8fb36356cf0988c52b7ee796027115e8b90e8afcc0023d7c68f0968ea4081cec36323d53f5dc634b0336c0edb3a25ef076b1430751e75237df2ad06b84e810f43b784cdb152b9d272153162bfeabe19cc8faaffc5c7a485a6c6dc0d1e500b7f9db3fcb6768109884f427f42ac175b270012d4d46f20e2a6601db186382110c5c77ef62b870382aea9f38e25dd0a8a3d910b9a94ebdaa232acca079bc8cb9e9f3f73788950329680c433a077b118caabb5170e4d441d44e73abb502a4c3e5d312f1ceea2583143d01e2b20a51b2d1a6a00d4834f2abde10be1126641c96f29d93bef75c0797514ca42b557e92fac49115f5f753be2e5b52383c60e55858c6aed1be27a9e3afafcf91cac44c47e0e629d6e57e7b8425687773da75631a7a1fa3ebd6f775d3acb767a1fb7671f27d44d235899292a83fcbde4c01c8d1445392da44648c90ee297b3b1483d050db5b2bb51e8f18bbf50028d3ffb0bb93d5f691a154efb8c6f9c351779f9ffe49be8d8c5b3501e4e64744ddeaa0e77fb8a0fec1df227a567ceee5a5a08efa57d88e5fcac8468683cd6c97f3ae29ec20dcb0f20ef174ed90c3f294edaa338d2dff6f0d345b1c338f8122e1f515ad0e5625abcc124e285b2e5fd6a7e39f09d72dc570b5917b1a2d5c8b136d3a009e2f5a0baec55fdfbfb290cc06e9e8add5eecd793634ce99308c026fa5020302a04261c0d04cf7ea889925403b7f75315260a1a49ddfe4dda0be9a1cce010d81225b6ca9241e9a7bf1649a3a999769c4f436d6ceb667946cd33d3c26aaa2350fa58bf587e1d62e4127ec1b8441c3a82a1c8fea0f077ef91ccff09e126036a64129e8f38c2ea989f7a84e4b5891140fe3c8dc097780245671bc927a257027d25408244ce43438593159b762f65e5e7096b9d63720a5ab5adaaeaa8051dbdbba8f077341ee668ca0b0bc217db760c2133b2d8c7106d4d0570ce4cfbf8fe916d147abb82562ad2809df04a3cd046fdec8fc47d307955f05237139c041d6f6400608259052d170b3f020836084f51dd1d65027b044b7bc5b11b6bcc46c6fa83afca9a42e3256f113c88455322f18ba24b5ff8fcee899dd8a46b69514e267e9d7d71eae7c43be077a3fae047c7cafa66135808c3147a21eb9c848512d50dfe510c0c60c3028b75d11f9ee8b7b16688915d27ba251e2e3373b07a6fda05b048788a8de577a219863beabb6d95d0ecb76a891b39bf753a686c163e78699d2f60f05c87c61898ea04ee2db4ed8d814395a5b76680d354ab38f0a8ba4b41977677cd8698a06678c3d2cbeca1e1fe6e4c317dc32332f538dee1b14311706ea3b01500c8df8f5649b713bec4fb07917b66b9df3e4ddd2ce4217913c0a4d512413d6dd08eb5800ae8de556af5bcee5f0bdbd914d998d6bd0313c6323c96a861ca54d0697aeed5e651da75383a34ec5ca8f382e2ba781cf0f11fe9b1f1c4c12a432afbdf843a2be06b317f4cfdbff0e0b0fce9bd84484d9c1e216ba9ab2eae88ebb1476c3a8665edf5c89104db288b475d2b2931fb6ed1665604565b4926b3613ff0b7afaa032e18e0040a060e75d554263a27d731ed88465b25ef0b775b372f779c802cd8fe6d36cac03dc3af92eee1098e854f24ef25ffb8a749303fcaac1812e83d7aa4277fd76d4904e8aa4e601c93c56044042914c67737b0709d5e82f52bb929af0356dff5735049f6dd79a3c7c212ab5b63237d5ace6875f71a1a5125e63a7cf9098d7bf49230e679f0f6c38df825ecf5b86cc31681805b069bf770399aef9d805c05986252a4106bc227c914db4bec097f92b9ec1a4fde27a8652159b1ae5f312441141bbf82bb26eb54763d06990d39dac3ef814640b8f8abd3bf0a8d47ef6e22f8907794acbb3f676ade95edc4aed45e239d3f73f500b59269d606f48b902e3e873fe02d3522fb99b599c78c20163f7e9d7a9a0f51d0a0d7b978cd29bf6830c4e29757207d6ab82664e4b8dcc35537cfdea3d32a35e9708b8ef7fae2ae2d9eac7e6fb8382c8044837aa0a3027cdd401ad8d821ddbe3d6b87dc5d86837af5539fc56f1a2d1642cb65176b28c0d7a2835b33e7d5cfebbecab1bd03316088d0d520b3d05b68b653bafa9cfd14b71c57b04d0fceea22aa8a7dc17d7e67093b1c9e3045c39af0ee8fb7e059afef33c01647be232c61631243aedf3389724b8bba1aa14416c1d05cdae1f86dac02e5de0b7d62d65a89ec939be321a29c1056a9a7b948ddef70321b936db6fe9eb356362e3d22ddb94ce0ec2334fd7bee574252e438222faaba09b46cd2c82645f306ac30d6e6ed1fa2ecf66bcb41da4b2160bbdb9ead608d89615d41134aa3fc62b13b3da23dfb0388948aa4e41c84854db4fde7a6faa22e3fec7f1cf8fb2ac685e1d09602a5dc32df190ac4680d374d8aa37d78f3f83444b30702d17d1360db0e199da4e67e834bd2d221b3d7a4d03f4cfc7f231afcd3068b26d8cef828d8b53cc7e2ef9daca47aeee30dd6045417b729335a0cd703ef85d00867fe09ca41352bd2c783dc122f0b911a9f8bd033677572c4118f58755391c29b9f9278d68e1288cab614f4e4b6fe629a657c3a1aecb2ace4e4d0c54db231d216a725c7c268c2af32107c2d5d84b4e6a6ed24eb2a93db70968cafb09b77905aba4a4ce366201d7a04ac4326d5b7650d3a96c2658afae8b448a602e95e94be9ecbd2fc140cdedb6b3703da3161a7fcdfd29683a4d35e651d60c21cc04739f0a83c57fae45c4edfe9f3ee6595bb4373be723eb16e70a8dbdab5cb4873434d678a95d3796ab390b73258edf63b5e6825a093a95ea879948ff122b4e6a81d67be91f3ea2aa55c28955f7826179d8902ddcf6fc7caeeb79ef0d0185ecd44938e9d464ef9c30605872d3b542699133ff4d8462608432776c5a8d27770c5bb8965a06115e069bfe00648304c83b18e89d7db9c6379778d93f9627c8b86f52f69e60d408ce9ed25cab1bd428e524bf733378549be57ebfb6db3123f02a28959a8d4cb4605c23ac288c8cc605f10438f9b1f54d4366dc50bc32c95c7f89b480410cd7ddc338be6b0c0504bf26dc5ae98c7e265a331cb701deb51fa1b950896832b8a04b15b70ac782cb9c39bd7f809b936072d65b83c7157a86259677d73fd564361dd366a3de3a1f52193e2b56943ff5a90a21097db53c68c54b58365518dac2a2d02e7b9b0853d8f83f0359e48ccda9a7deee18b831e6bab4fdf0b91db130f8fb1ea735d82784b3b378bcc6eb284b4721c7b2d6bab66ea9ee524b3bb9c2d3b46eb6b3ddb3cfccc2030e7e13042096650d7ae57d8c5fa1bb0490b526e2426de56a923e7ed383e29b104ea7c13493131dd57c4dd67ffb580f09763bab542ac25d2d033c86d30d99e70d3713ee0b8532eb6ab75dc2348950358f2251ec012c8cb74fd9de23070dc469ab27e7c606d14bcee3c34e0da1d3f4cabec932ecba78806f97be458ee9e6b40bcb3e7c2cd610179a3d68395c99418bfe986d55bd3bb8ed09d7fe345e198d09536bc5a4b3ccc5e1fafe42d76fe840dcbaa8b65b72160aa73b3dd4f7c4b78a6a2a9bd729fd3a6094050d061cea3cb55e1637b898517a62ae962dc8fed9df43a4243d661ac83f230bc94b25d9362a01f456a5dc2d3d8c77013bc4b0d19ff0ba8765ca6397539c5655d24acdf3a3d488835f1f83082c5e89e8f04e2121ad1e14da6f4cb0587dd6d1b0ab0ac6116a13383fc79d0fef8177a133868d72c38724787f016861484a034ef428daad5fdee4418d58b50fbd84f95bcc48a37f7ef901dc48076f39717137392cc15c97380f35e75380c52eedbec09d8ed5c59b53cc226eea7afe54e5fe9da691adec344592007bd0cfd4849599b5723717cf86fbab4a440182a7bc788851e434e48937f8ebcc9e2a1a932cd3b1c47b34c76b094ca54d0303dae2e7e58fb20b909cd0c2ee78cd5eeadb60b46721600429e65d48ec16cca74bfc4d5dac893429ea87d8d489ba6aa30adafed32c4ab2c1792bf509518b422a368db05ffffc79501d27df87be4248ac4459836d95346f23784d35acd56bc26b37ae3fceab1a263ed4a704f6d351e24baef6d829864e1ca59aead10a5c4502249875c489d7831f9303d311542e17fdeac11c9b1f0ce96d7778d669a119a71f033dcaaecdd4bc870d35637ba46f9a9f607b9620bb2114ff856491a9f06801244deda77c64ac7c3e5cffee19d9fe9a2b9a09089fc4a9190835a6176d38a513e2d4c5d0a4ca9d6704ff8000e1a9d19fa89ab8bc81bcee959e21e0ac533ea577110292dabf394f4b62f19d815f5e36160c8c7d689cbae0373e9647b6f407ab1cc56d877aa246ffb1a799117783785ff1a4969097f8a2d822a2cf627b72649a56f56521b348b0fbe6072f32d2e2be70f8907c5ae3a1d5c35bdea03e6a296cb7d75b9383715eb50423b13b812f290c97dd21dc1f98caa0d8803590d778a4d5a002874c445afbc34d2ff07a87facacd43b4eab18eca3e439d9432e416e73c017e2a36c0cb418026042a5c07378544240fba8ed23993bec55848185951c9e4fa2f0d69c470950d39bd0d3ffc8a45cc99ae05b2cf666c8a698e16e19632ca7cb5d713358dd91ba3991c4c3d80530f64a163f24115e7889c2b13553bd5f203b1f33ad97a800c3b7442c0136bb0980ce959a8abe0759cead76ecaf89605924cf91bae2c0b411f0affc66590d6bec458ca2646b73be51efca42a333a982f61e0259f4c1e2442856da2bc8ed2cf6d747d1c90ff0803222d1d60a317f1214f9c4c60f10524ad7e1118f8cda9b64e5c81039b2a55c285ee636f32e0fa6ed0a988258c5ce323811f94f6714ac9c9c1ab4f73039749454827df839c9363585c3c3f56d013b992d6bd47e2c89600c373161e3fad99edc2cb8778d550de43b9c682359f992dc96a5b6faf8b8e79049f98c8d6af9731069793ed25bec5f88bf13eea0740daf6bee787a650f15d458b25b5fc662175965b017e97673e214590bf160f89644bc0a314c5c5130f74ed361f30e859f4f7882ba1334f8bf3a97b3317d382e4508a7c5e77b52f142cdbbb5213577256a7af93c9cbcef8e69651f39e9630300009784a38e279306e3c9dd17ed6a9ae60875ec690575f0bf50a806c33394feb189daa731543b8eaf169aca3201457603f3e6144534b5ed5ea55431ba683a882c4f7ad1b3d728336682c143c70a49e2d7a37730ff65d4ecb60ceb24c4c054e39319e0f8459d08bc00d58ff48dde1df95708609120eb19af3559bfb18e6a097c654093126eab305ee7ffd4a7c916dd9b52f9b989ec045fcaa75e567f46ddb5e695cfdc9a30be4e023b25a5b31e794325e6f7dec7270b649da35e35b73710db891394d4115c4a72452649a9a79677b9331f290f9af206c2d58a304247192e65c6828c33c9eb0b553292127337982c0678569a0829eb3bf502d17f03f71c35662dfb0c5b782a76041c3b8937b1e0e688c20d2c1e0cf1571aa4e4c1e0f480dd035502e7009bc0c0de6c4feb8bff0ad0e4582c633013f696910040e02c347315b510e9b363141e87adaa246fb203e64b6bf5e352bce2e00567fbf861220e6e96d18ebc2ae5e006e95c44a82bdca76643cc69fb6b4efa4b85107e495cb28c8a88cdf5b6f0e9b3102676111128decb522aa9d3422b3fdc75ba63cf1e9be980e8063d6ac03a7bdaa59f89599babbd7a6031b5405ac0db2504d8d2914a1dfa5ca10ba03771045b66d6d89cfd3c4cc98a0b244d0ad32e8b114799112f1ee253133cbe42a6c2ad16a7692022306b5e280e65a336e0587b548d17d5f7bf425bffd9e8fb89f65cc84fd0df1c0cde10f80fafe5b223ae94082dcfe308b2c266b6c4a576e390697318f61e8d9ceab65676b292633621ff6f30b3bb513ee7ad1a2a0ced85f99557fdc84f0b8fcda864299c1df4a4fe9931efe1b5bba0fb6eec917d74fb7381cf7251abbd0ea40bdd531b89a8040ae16f76ef7e8998cd72bb391e11247d34025b77f43b122a0d2daaae9563c6105b1634e2712e4843b4d4633f4e17c140082df276470d09646e0c9ea12a29914accb5abf4894760cb63f393827975df9731be063efc424a7ee6e4fd3a6550fb2d49d6d55845b9b1fbb92a64628deb889d1e835fc51bf72d7527639fc5136f602212153692512bfab5738e683b524b48d48494bab696ea0d1810b824c3c6dc80696254c064afaf36cac1375f4c3e45678495edc6da9dcec0282a7a2332b1584f9786bfd8bc3cf5caee2978ace277eb069a536cf84ffbf145eb6f541edd956b961a89d59ec615a0fb598a8c7f94dd148ce281c1c71e3f897039c9a792ca33585bbd0b979710b99db42f6459346cb43b91a4e126f674636b21f37cc5af23b807ef0f1501324375546e119c0a232cd406aee5a804e0a80fe9d4bc0fe1fd37b567077f191623cc040fb4933417e2325c1de5fd14753498a1cd3b5e18f447659194c9c0fcea2032e10568682876f070341068a76d6eb2a7f57cdeb2a88c1c4c57cb17867b6eb7af3094b918c14b9539871bd0cc0015e020b69c0f442dec2d19b548dd14c53c110c50957c337812b7a6275560670e5a76e8f2d4c0dd3b3bdffb9c69d53789abd0f4ddfd8110d609a3b15adf250fa2ded160f1e101ae6b0f35d96096c7b6d969bf03b9472203085947b3a8c7b89996b311fe855bb3d265b6893e706d8f16e54ab1492330bce8573c4ed733f00bb8251b969c5bf34c3a90fef44f58be1cd9e5de0fd724b0fca181e1c242a40e716834f883cbba04c365718ce79e573dce25f0aecfeb0f4fb3e09bc5470a98f890a77efc7cfe1aa6775b49b281c88e73a9eebe268007a53084bef2441fe0eb4ce155e22df9194ee0ce7acf476cde1b484de1701c1ad69d3c9791cfd26417c1757b1c3096ef142f481fe4a03dc187504e99cf2591dd7c258a962aeeb4ebe0a1d8b6e35c57e5a45e887b0faf6d93e35526f419829a2261a49abfb0912fae5eeb485df920479712a14661459352199dd3f752892998e8b122ebdb753d263b568a305885dcf1270aeaa1a926b9e30c65aa349706d0d22650ef7f537af9ec7d4d5f195800dd18c9f843dcfd65faeb622180ec8e8dda0df250994bccda8412cc350a51b03f5c6702b603d676de651d7da83a0ead5ccbfa208e2b261606ef24df22d92844af025e25f1fb578b0643c395b0d76b8856918542957814d72c76649248767658f15c6f67e4cf3b5df4d912037952bb4610965d60cb523a496c84cb89dd4f430d9f907648e18fc09931d996a4bec15083cbe59b52bee0147453e90ad26f68e10ebb76f6a23f8bef3d671bdda0dc649a3eb116096dd9378b08857994020459d45bb9c6121dd8d30d6bebad46b8ae9cd57d8b8ffadd4ee690289605d42e0e22b00e8061a31557c3e191a8322dae514154559cfd9760a783fa6695da12b572282335029653ab2a08b44d1f420cb8dfb20f20a3db9cab81947237bbbdf30a9d40469e107f01fe818770fc1575d4d5da0cde02d4ffd18aff82a37a1fdf7982c4ddaa985768038140cde38f54fd6b3cb3e4bc2a58e98a1f21ae566182432014707e73a68601dad1129eac8ea7e795bea87f741fce64c4722b62faf7c1562787956ccc2e3bc15de3ce85838e14ff014c91d315016534c98695aa2c13aa4a7f9dddeb06977a986453f700b7d77b2fb64e6334f3bcde8d4ae580243d017798300be2fd55c9863de3038bf6b1f386e41b3210d5007e6ff5e0c1e5ece580c3a4ac984896ec7982d6c84569a87dd9181eb9ab1112f67fc7872e788b802e7f1cf9ae8822dfe6b2a97713bfbc2ee681d41136e97824b85f2c9ed8b5f78363cf3492814af8bded5193fd9fac7c395dbb8a7c96801a80da5738580c073de7f792b72ad8fe322133675118a511140fa6e7634c1bff153d4e0fcb1832a367bbd091e9bc190927ee9059c56ef073ed78934556547203738581089890a6c398afa9c3a97b2eab40e1db39e3b1ab7bb0027683b7d7f3439c95b4b93728ce1c356bc788cda46bb72772da5bfac7fe483ade16473534d06910be76206bb7473d388d0c326cbca0f23acae27c852a190dd15c5efa3145b21adeda2e813789fefd975388d6777fc8092758370dbaf11389cdbba580548c84f62bdcb54846ee9f75c580735b86d08a2e5f7c076306d3c50d7a1aca57cd5e2fff0dd87752648a172ba0685427022d59ba4eb64e0206ccdd0db5b517f152c85a7cd64ede4754d0ad199c96661f928d7537b0759d9bc555b54dc341cb08ef264ef1e31514a00d397474ff54de151657efff77343617060117ea2949ee5573204211261f79c78f4e8a86f086625c84b0f0ee3ee7d194fbbb82706fed10f20f08d7c80c32d25fb173646b618f0462fbc51675d41735aab150a2b6c5c815afb9d02306b42854a117b82a5713384058c2b5963fc8d823891340df5c25a9c1d2726622b32e2774ec7acfdd3b0e949b4efd5f6745d0fa12c7ce6a45444564611fbeecd770394b6c42f200a9e326fcfd9647a330f8034be8ae190f6537283a279eeb7b4b8fb9a65b0baef581e84622d58782ab67fb490e6817fa58413345acafa3ee38d4b316b71e29f2a976dc6f45ba1fdd2865a121934aeaca3d4590089f20aca9e8e4cbd2aa12101ec66d5d971ff064f1fa0849de3b214b0b6f65ca7dc918558d854ac48af781d9004efe395794432e9ee9d9df99303f446367deb033da6b8ae47f6df6cab2fd52821ce0bd5fe62d48637fad2b6f4cd9dfe4201c4a3482a558f72be2d82d360fe88d074a5c8629f46dc3bf7bde4298a8293c5cc8ed8441bcad0bf08f7aa2fdbb587f0f11cf8fee11e68a06f81071e3d57fe62285c455a1600339147453c20dd85f361ba04198fffa74dff9541d5b9b8bde4e099f326a7f6932b42bf51bcc6c906a8e4bfa4b6700c4d52d9f389d9f43e07688d01b6ad975c508567d84770b4fb9f7e782554ec123f57011358efb9705a099fbdec834380ed80174f3e4fd3f0442ff7102f99814a918f6123ac487127f8d8d737af5dc784e294c071db80c804732eaed439d451cbf646f9e089708781b923715abc4be25a75c0e79e6d430c08e99c261119ea8d0bb01a691e45b3e03eda4086a0224a0c3f1f0aa5e368d870b3480473c6665274237ef7d78a1aad73b58b8a4979b3e6bfb9e78efb6cff999e9006df0d16aafcb940af6188e43b7e887932764018e46906bc5ff4b81a4681f3fe9a0feb942840cc5a870419325aa503d52aa86cc3e659041fce8050ef1b9105282cf61e4674671cf499f8844a96db0ef21ec5f731a1410cf4848da2af57e9cf19bc059fda6cbe2945e35710069129df0a6d58c640d5ba8f35c52497d035ea7c5d2fe5f163f180ba27a9652374889201fb0d500e3c27e5c59d61b43dc518adcf9532e84882bd0ffaad14063b159f2df62fdddb7c8bc1ef6cffc8305382b58a1963f1dae7148e6c4546728e87f1b0f8c1401a069fd9d68445ff1d7a199c9102c9c16393d172d0cef68f003ae59030730dfe1e4a44d6b3324d4d5861f146501eb767b8fba84da3c20f06cc3b1fec06c9dad67f80c12c7f20ebf991c7d1b421a3e9fe2a2a68e218430f7a4f3f046512c1bfa090f5d93f4c7e5fcc908a292bc7bea62caabee7675f526f99003c7b17b6c3776ae3a638cea79b83667bb8b32c8d4438d7a3e39fad15c066888fb3028b32555f938e97dfd7bdf36ce3fce2093780fc65ce348eada2a7956f11bd92470f976a8597097b835380e1ff1987ab16dc7237d20057b37a5f0d9902898abe0e5920f0c8e2365182981b39c8b9b04d7ea08ef5ff99cc46842d88bbe7e5e836dca14de01c1b09317303649c58b75e1ef7f07b61d3906f6d23a84c58011c3c2101d00c64a8301494f0189e7d27274811667d6cc3a563ae4ea2410736038c7637d144969e8b9a5b61ef4bbc9bb447b9513d7485b0858a4bec32f8ff5269fed774ba0ec1780d8b4b99cf72c0fdbac59dba66adc2e53a3e3714ff0017f59b0c667c19c9815a53438c066a4fa8815e13b59aa81bc3b45efed32a7992cb687101ef0c2b0f4d14b3bd7c6f16c1cdb6e83161466074fee2c775ce297fc63e4c5e1f724f37f8a8c7c80b690d4803bfba5aff07f7c809770a0d437dddd0e381bdff8e4bb4a3bdc70e43d425ed35bf769bf229c7bd7f57ab1c1bcc5d6a5191ff3edcb9cf735540a49f8828bc0303b8ef186b57d2b45096ce45a0b3d07adbc62fbb6d22ce0a8cd015ac0af3781a5d3d7499974e9c52ed98562c12f8bd335f28d20c2ec199e32edf0eefc2054694f7b0b603272eb7c853303d07e45ae76859844671ea9cf4f43a2306fb92e00ecfb590e8c0330f88bbf63cd36ea4e79394e6219b774c9c33cca5c3fb184481fdad6134b498681cbeb2ed57df053ecaa37b16353903c9ccfdadd33aeec69fa20c02d2b3b414e06e1eb3586e08661dab8a4aa0f1fd120fa5b3789ac51e303d3ec9c7ac8f2ddf8cd48517b4c59734cbb7bee0c984c493cc7d4348f92723066fe4af651ff562d2e2ea8b3ec31fd9839e8eee0d6ca7c5422e907f55b50ab1615bf88a902214256615067b8efb5729d46436c40c5f451db55e90e50e206a86637906389b022676d276019b3ad66233ce42699bef348547848e718023b89ff77811d3230f4772c2f914191ad710692dbf3542e2d057b4660414c8d05f5c2dd73cecb874a1720a47ec082d122a37eae99b84d77536a542f2233f018ea0cb2ddca6b1c70bc06090718e608b0d3f30c3197a764a297623fc2959a2a0ea9b015fb97d7ca1d57d26964fbf50b61760f963cb948d2625b0ad40653e11397bc3ebc44d8c2a7e85b38902ce85cc8dd47ef8457121654054d944dc66a80c21ad428080b301eda9f0dedcc922fe8efee9ac98b3b9d1a0921698008b0d3a0000fc26ec7e2091297534189f1346933cfad3c9babf6ea719c543bc0d2da2de2d94de0133a125584531adf3c4ff89eb95d9b491331fa2d11f093003f3f94cafa8d872861f39da0de4a1aefd6c00ac1552b9f76622ffdedbac3b9a8f6987ae6c10ce11dc2a4fc10163609c845ada01c7269ce95abc4cc4f94223e9c01ddf4bf9e3fcb9e2acf936f5e702c306249b86f994725c10ccd3148bb691103b1190ceeb816a94ab120e532e8d98f4cdef7ebb99c08c275c4c339ece533e8aa2fe1e36a69929ef6262eab5f99c70b74b542e3366a241f117601ff804b13a7d0ebb6c437d5612f091150340fbf7813564dfcb27c19953cc607a7f3fc39b71ff53d4a771f91f62c67b8c07808a520f546273a59d0561c394179cddcd89edabcf67028a9b85ea8ab6c9cd1e60a0985c55e772239668b1553557d4de28b98a19c6df9b85e91b5a5239e9fda4194f5422654534ee287045bf9eebe0ceae2ffde14d57cb9d67e758844217442e53368e333ea271450854d311061736f31c06368a08a0380e75b4cd101551124fcb9f07c59af0b0e75164fd0e64b092af42f8953c2e6be748f58bcb91e56ccdc9b5c73882ca77f0ea7d35e927c1e9ad2c99d406d2cc1fdc47fe784f4ac73712c5f872c88222a993104971814223f0168912dad45ef0bd7696630ae9bd4318e32d1789ade0700ea7f6e8c0be223922bcf3757ece5b670ee549f41547f6f19f8b542af643ea27415b4beb5ffec7dca143e448bdec31541bc03c5695407786a04db3b26ce84f6016a9738176eddb1c533222a428148d27a8905b247966bb8ebe595a881d8ac0909b2d321eff41fdd3b51f7732c5039c2d6d8d8e14538655c1c9c963d48f99f5972624bbe9c8cca8927169057c6ba166e19a3b0bf2d99402cf712bbc9a3a7af9ce02a19c74e1001919a08f74b616040faa24477dfe835a75ed73461bfee9ee55f8a1694b04a9cc54025cb84ce46e95ca2a009e37843dd70e2d7c60e6c40f2174ca67dacabd8bb1d74dc2c62a16a3dde3325e60dbe505dd247a5d4806926494803ff3cd662e51eaf57e73320d27ae7a7e04fa5f841f5993b15f5bb1d81a2ca46168cedd16dfa95a044dac4267102d5a45a2702122047c1399603e56bd402d3b0711c1ef961453d0d02423800f583942046d15b5f247190a06895c5c25415a8facdfbe7a09708c5ff8cd38ac5a5252cfc04acdd65567222ce7f9c912383195e9d76cd2603b938a93f6bde56d4fb5d8ff2a4a7692584d26eddd461d4004a5d5550a65009039fb0a18d85700a1c5ecdd89720d6009b95bd0348f615953d00a4edf22c3f7bdde24ffb43ed12cc1e7bae0931f69d90ebbf0a20844fee34d3bc7aa0164a1b9d33ed4c1ae4bb7c98be142a7a8fac23e4980238c9faf23268f7f55df904b5d4259da1763a5b16dc1df618436627e0d672d7444acfc6bd05a24e729fe83c90e5a86d1eb7c14383f62ffe0692949e3dc675d681163fa584d9d574b6a586739442f918ccef4e064a53c2fc5aa2f5d3075e93acab53d844f000723a6f5b90f67f809b7dac330991310442d330dabc59f9066e00093db13fb5dacf6cc9d2b5648db1c0af6f02b2fa54f0d22899621466c015e17f58467c8dc0faa9a44a45f2a9ccbaf820dd72c8f4f84d6344d4568a8c32032174f12b287739b7c32dcd34ff1c6008d78a064c1c2983061ede8c36863ac26ebb852973c9e20eaca9c4fa3cd6336ab9a892a77c62663ba53a520c14b63d1ce826afa07fcd5eff371fe0a2123fbb07c617b4f9d3e6baab0bcc0f8cac3dad82e5641b67e89d0e73c3241a509bcdc00565d66e0e7496e7529880f0851de6c5fd3321bdda75ebc938e6dc374107be9a2e0b3c8e4ab99aeaace27d934f7e820acec6a2308ba53039ee6758cebf7fed7f59fba928b4ea2f065fa034d5e74ea0c8c80824e0e2e4a9299e68435c346223b0c031cba9aceb4635673bf16511498a0904d080afdddcf7c8b79d8e372289dd7e32eaf9d76c08993e81683e100800957fb37b63b5cf4ea6b960ef5aca40a4361266686ead119dcd0c1bd52eb295552cf7893c3b888e61e380884cf437f2315433f87040338ae6958ccaf053e9c2eb98e83855bd277c23d75c8839476882e44d3fdc722247d9e04cbc5087609fa1d2fdf95fbd5a84587a7130aff750f4002c5a40216fbf29b6ef147df86c339232ccf92b76496c18997e0e3c188c00d1c3676e728791b8319ff00208e10afcc29a9d1a0f4edfd40e48150b7e7100d8dfe2e352a52ac822fa8459cc096343228739f76dfc2dc882aa1a8e3ff3601ff61aa9055fe281ffd1529cd4fc8715c1b4732f8046885534d8fc1426b083e5c7e708365c8beaa44717e9ebb770d05a245615ac569a719d00d2c4ac8b8ad0a752ea6c0319fcda7916ab38716c39d30ef5709c9bfa99c2ab33b0e5df87dc24d3c3612d9d1d92760e2dd1e0813fc0b74847f754e5a17175356f46295c712e95a9810d4afacc6b2056b5939f1fcc6a851edb5a3106329634cd95d3ad3ab1029a0b7e3ed562ae08279c2d35ffd13a5781db2f31e3cc764bb194bd85cb4be2ac943f9d48e658f1edf34b103487c55ef550555e4422ed137c6cbbb242b10f812a8cae02385ee95db3db5183563751d43e3ace069364cd1dd82fa49049b2bf546cd68e2176fd77f36fdff18b39677998807c35e2da20824cf74e494553d3e36e4f8b6c1863eca193c96c5c4bcc74442bb5b7aaac8a3cc0177aff8eb173957743e767ad8ee8b0f7b364265aa0f8774a925137d4ac35cea6091f18338743c3605820d6488f31a0e39b1b4968e297b60cf7d2d76d6f5d779787835622bab065d27f9704056cc89c166e336310bd31db863b44f4679eff0b552ce40d492aa148986899a1d1cc3d99b3d52ef5d9ebd0cbd77589caf4cd30bb0d21c258f673da8ac5aa675ba5dc562ee77f60e5a05cc1fcafc402add13ccf0f8ee66c8c6865946300fa84693f97d757b54a25345f555cba02afd6b9fa3eabbb677d97edec6c89c212b78e6508ef01938d93b3ee09e3cf77e328398ab7ec7da1ca6e3a6662f504aa9723764af1184b22fbd59ed5e71318e7e64acba33caf1c51fd0c871ba7a99d3bc264bc546464af4d1f75d59215950b8ffd1798014fa95e4ae2b1f6fbbbb3807974a29c758731f7846ed312828f35f9df508cd404cfe303c3650083aafadc738d91f9a7afddcb20a7534ceb2e989007040f012d60f884628ca0f52a4c48f5c659b92428b4c29bec86417317ab56cf6c6ddfe800c4e5cfa79c417310e18033776c48c926084a95b31e8561dd6162465cb6fb3276f0aa90f03bc97f78c79c14b8b7d219be063a46431914e512578c4db157d7285f5be2ba036b192c0641b5c5c1a76d9dfb62045fdfa016e460e825080021bfdcb0ea4a025ed64c1a74955360b81bd80463f0ed9d3ed894daef7f3b48a3ac0d3cd01709628b5b9c56e746d51cf21d5123953d20c7772b85822ec5d37ecffe874ad5e22934ffa78a6823adbedf16f026f53b2b946f0e41203d4f150055bc78e7f5168f794d6a4847b8ee34bebe0754e7a7c0bbe428972bd237a6683f799b50c74f6676643a6948bf430bdfec7f27cd53a656b9ee98d32b189ffeea92351871ffcc40a91c2b2442511dfda57ac2c78b254672c860aaa983b768a73e2946c01a06a868f75744578ec0caa46f64e7c09e33a6b1f6756ec92fd3af244322e4fa953161dd23ef9c574bc11cd1478809ba8f3ac4e786782affcf2f36d9624c18480775d6e71d3ff9d32f61a566597ac7f7f1872ef410fc7a87dde662224b91aae766517c0e02b4e00dcb281341bb31b0aee478569744b533f3b2ba1dcd1fe04d844245b8ecbd8b575b4482f10c73d82337786d6711dc6719bdf8a7c43a137b712ac961c3acde69f816c06904011df469246570ca6167005fe66443f4855f8425c6d1a6c575f83a80e563bf26e6d6b9ba49f22276aa8f3cf236b0bac6af9584b940a63195502b9f2f012481857588481d146a7a3803acf9e9d402ffbd6e9266cd0040e93fee976144270d572633807a9d82ccd43f69b02b502346018656f8f026bca30f39f063e6cf90538652e14e8640093114f52d22e2a5a925aa7d220f3885be1ab467a1c66efeb124cc55729afa2277bd2fce02a08e03c8d8c6e2dbc7f3262f1aba350252640b4e10b25a6a14bfffe56c0424e8851277ff41378cbc0a86f9de1544868e309e5557ab4878a342305a1d76e29d775daf26efaf7a5ffefab3776e32147b67deb51eae732ab3ad47de93cf606d054be7e8b96104ce42ba80347af611025be3d216f2041ff211c06d992b13febb2e5371923ce4ee565a67721ec8447e5b1740f04bdcb895a9eb14647016ec2b5383c05a979cc75d0c8942dde0e6f671453e69a58c182ccc687801ffa6a99d1ba409c1230b7e5ce1d8ff88bf2524a167e680b5d11dde34a51cdf123f2c5fbf7f2a2f0f26a354975aa8e9c5a08eedea788bd9a389ac9bd2949cd0201f8133156ca82ab5912047b7ced208e2ee8ee799540635dad0609198c956b2051b9923f86cbef3e9632f0a45feb25f98b34a24833a0209790e83562eb5461f80a1e7791299c46262ed4b7a5cc6d19c5532c810d5298ea0cf6798d284ca4dc6607ce321eb71fc113a019c391c71ef2fd75ef5e263c7913f61376b41f4f0f1e37b2f8202ca8c10a3ce2f0a901554acf70d4049754161d28c105f6ffd741a14e7da431f8148f54d1fa480b8868970a053c7b161cb081f8ddc718cb053bf5dc7bd39919e4cb078b0ed87277ed9eb32c85e21cbc6f85b9f5f5097512397f1ac9af5c0f994f8e1da493eca24c9db75bbb823378456910a4502f9c6d019de6c662673632a0ec4d35bbd1932cf2d467d9851d5e7c596fe397d4fe395770f1a3a4eb0413f53c5ee229b6499c9b349350a0b2d88b9d841b1450a6233a21c06731331a672c8a8d0e3a1f6537171e006e4f1a06f9c8b8325cdd5eccf006ddfb9814164aee01eb1477b6b4f9880cef774306d574201e35f1e08d39a37a2df6d8d3050e272cf62589b878df7c2d313dd548f574340873388ffbba449822cd1cdeea6de54ba78e537def54f9d0f6b88a0b4cb6ced91eebf5654ab7ecb2f8b1f76a12b2067fb3909e8548f6c47354f098a01ddd37d4fac255d174a6b22e9cd6ebe5c5f6d41d604e8dfb78211c1b07de0bbd340afa7d4a9fbb625c7e5625ef038a7fb2c44e4434174f888954b36b0186066e6805a859c90d3e2747bb549cd859a1246d92cc60721bd108ff944254b4c1cf20f2a0aa54425f9720a23233082d0bea50333c185ebdbfe5568b93325adc0df720c3782d5b94e3e329503e81a6f9da0636952c9ed62011bd79a35f10b00cfd313bb98a17fecceebbb2afc89addc6e3f1bdfee7285109d2e2ffca298d7e8cb73ff17ea1fc98ace790e126861bb57d8d98102789044c5fa7fa8901e40e14753e4f50ea04dae4c6900bb283727e70e36a545d7969df438e411fd511f799d3041cddff8b72f41aaccbcbf1ab9b05e6135f251c14b36d985b3d1d676cae23b609bbf0f6afedd3e706236261b5717465c4daab660bc998906854059f2b85422d0f1ec385348a2d31cdc20486149154db1e3db0530a55e544e4fe8a4de132767f4812d5f16f76e5646239dc7a8539e4f5e4f58df7ffb9feb8e5f259e2881ab4afa28590ba95cf27ede792feffff421539e40d4ca00cd4a71b98db250c43aaac9c1b469c098bfaa21bf47264ddbf6eeb3d749daaa7bb816fbdb985a2cf61ed9267249558ae2d9a7fe9ff3aea3c804a5537e7d07e5b924771bfcd51bfff1b45408ac425f88a522be79a61229773032afe771762f11265c99928e93c8defff4cb167bb1057b0a53f6377ce8cd7ede7d5b1732196c716b274da58c0d572c50e6af9ea36cf47ffd99d106d55f7e6900877f3347d92ab82a429fceff96f065fbf746ca7e02303d6697ae21387fa7066102dba30d33cb9f6ab6c66b48fb933c180a629bc1004933a73878ecffc630178533ccf40988035c6e41cab12ae4ccafbb344b9a63e42e44e64555c1bd24c8f3b93afc2009db065839a2bbd85202641f47ad5a9b509467fe046d65a9e1a4a50a268dbe948b3accf51418c62c9dba3d90d8c9e15b97d06ba1dbae6333f06d040311eb61b4f9401951816c06a80f00d406410f5627137ee780e59101b9a17af6a1f233c5e213f438316881d4b53b2ee67b0b77fa318183be1a1b6806fe81979c2e4a4254bb56d71a7c0cc8b9474f1cf840964eae004bba8cffbf544ba390f98e88d192e2ba78b62ae78199c92fdc26f1fdda6c8949aa7f3432841e8e6407f30c8996ef63ba96a488a4d07b303d06e4ac322a3a2931353d367e6f3ba12da0b3c28f36bc2d9bb5ec896b4cd29edccd5dd6413c8c9cfa7c39505c29594744fef093712d2ced576b354ed3299ad012352de191bf0ba8bfb3f09a46406265f516a091a5ce5ecf707b493d7549b4eda5d6249a60559fe4a8b097acd2d5e8ab576e1e8868f933ec91b4c9aa18a5d0e88af187c7ac20219803d4dd0bb04123d528d26aa260074fde8ab4c07da0c3a4034b1a18cd68429a0e2dc5fae30ba47afd9766a764b1020de0b09db5101faf3a653459b6266d94622de2288629c2a31c5130a23483c71d58edcdb966d53307c4297cbc6fd7d0986289a512a79a7b9192ae2b1820d50e7142e7038d16353a3c129b971b087e7e5fd706faf7fb609120d5b8a0d5c90bb0bbb3474bcef28e1c9f6c23a4cb374287f8a881e4b09a1c9c0f837f22b236ccae08ea31c13fcc202cfe66c8fdfd6aacdcde33767f7e7135cb29d34fd1ec3b82385ec39464c5e7fdb1bf4ca26abe31a11f2825b5a27b5335f03b536e785008c9373541ae66650ee055f80c988673b818611bbeba13b81c6ce2b3ec2a6a160574d6277ba1f2aa6686c78b2aca08918a75a7b8c9e62c154aa25fb4914ed35091f699ead5f21d12d84321ab24464f2136ecb91dcd5507fd16e5652824c5f04ef6f43ebb1265a1968bcdea625c0e3ffc5eabcd2b455aa5910a52b83db942d64125027096303a846420a67985ff0cf2830861267495fae6eec4ef99436c77b2564758c26bdcd4d00a0c5d46f9910f5a187b51efac85cac988cec9da8be2534b5c8aaee7077125d21e62f1423a1f17993ab22aa49c0ec110c8f7a153dee8341c3226d05ded1af53706ad7e46ffc6bad763ba6d7fef3f0329b91d9c35d58cd90bce928e1aa5abce9acdd060a9ac11fad2f74e97024dd58f9c251ab3b6060ba5a8ec1d802c1d72fbe9a3f3399e6b7e7a6b1d34e0459a1ab8dfe921563cd6dbc2dbd40bbd51c89ef972772ab7f0147acc57dcfd42f82d58c40875333e135dd919732ebafd869c2aae1bbeec4c746bd7bcb523de4c9261f8476a227526f07f57b6d206304f513cb2455243c828c308c30d4e596635b08d8f4bdcc439966b01b2ac4242b6354167f6f50131879b39027a368f921fb1c0d31664d57349ca3f28bdd22d2e4cc770713159b7493e7bffe98d7df71e573986575ee61307deae75a1ebf79f78208a937bb7c972f5f2dc514d2c4d5e3dc1c17dd653703ea7a0b94c29c16c5268c62e0ec273dbc94c60fa0a44b3b5cc45d8d15100fb1ddbcf5edd15d56d157ddc5522bd2dd9cf1da26695aeec246e5ff4e62b84a821a268bfc6288285b153330b4e0ea4db121d28e2f45e9cd70541961994dc489bd2ae94d91fb631342bd56f4e1fd38c34ab6468d74c1159c756d03e9b13b797043ea8efed66c13a17edfc9173a251b4f7e7e29bae6fd58f375130dd6b13fecb21f81545f8d3e3311e2099a2a9cba7ade3d04d064d222928de1ff81d3e64a874e9ef9c738c5dea542af87050b00219d6c0ef577456ee8ae9ca8fa2ce74c665adc1a559947d06b7642b64687048d34ccb9dfcf2d3aac8493d51c79a4f822ce86986808612626c048c5fe0f2e04c679af8449f20c79b75516410a9e84816a67fd4c2e2485742ab2e2696f070ad6468b011654bd17e549bd2e11e2ab5b8df68fce0c40f1c8f9fc0290b6b9b4c00b34b7fc72dcc1938d5af755b0bb096796726172e75b5a92637bc34b25056638ad3ec38015f34001a379708cf6413b39271136203ac6a9a644d145b74554f0e8d94eed4fa1145fdc9f76e439d3227c4aca3f2aaf3f60df45b3f2e6773e6a0ab31535d8f4c38bcc03768158b1722a120b04f99c2d83fbe86bc58c3486ea52cf46e0e92838dfc01fbc59203bf336ff8bfb64aa394db10e83ab108b28c8f7ff3efb8b70231dab311cb2993cab3d8722c08bb6dd02d50d3470649033f2be102524206b99eadc5097684d7435b1f28f7eecd1d7afc591f122dac9805ad9d4a440940d17e90ffaf21a3aabca3eac33cd91a705cc9ed46da143613d6fd175b952e29f7a9997bdf834849e646938bb8fd516a7466e0268bdbad5e17df12aeb2c3b7e03ecf9c12b56d6495d4a0c37568829ceb4aa7193659c0d412dd4fe244f7be6c09c911835db918af2194a05a2db4f65f517ddc096409b055e982aba94851c52b1db7bee9e291bea8e36d199fadd1723bbe342e832020a8923f8e14659520e86912a631b0cb70d29dcd40967c35400a10f8366ae95f69a8374b6faee31392494044857a496a3a4d38d2ecc08f1e731d827a56faf18c74d42d6ab48de21db6cc1be5ba6cca959eb4cd678b047ca5c6b0c199d74c636311eb11e0602ca8c44952e2ae7b0d63f9c25e26a89b2eda663c368d702b44a4b503715fbea353536aa7bbac013444e138937f37d13798ccd2bfaa5b0810cde2f9ff103eba1c8dd30ebfc95cdd4c6a9ac39676592a354c8a20a52b6fd2229102c16c1bd658298c1e81f20fa6b9c322c7912d7ebed593fb73b4f4d8bf52cc4b51a02a4f903ba135632b628bd769307cc50f41d53ce98dcc21f199b377df343a11bec74c64ddd080e96b7c4c6c73adc04505b2452c2f7171a7078919926413048fce8011d62a6d25e0c056c9c93eb47b1f284c75adaf0f3fa44a3b73fffd25bdfaffa4ac7b29f7176ab802e8a8b24706a5fc4b11db1f08ea4c9a5d35949b60a0a523c5b69542dd6776eeea7a6809a7796c40c98e87e88a3936d24768210c749ab8102dbd9200c0e1d7e3adf7390d9a000c81b8c5d8945f0a704668430b2fc9a6e4355f5614801cffa2357a27ba8bd89d23376f7cc3cbee52b2776e95b7bbc57b8946ab9db0f5ee0205c8c952c39070fd938bc2f4eb55e92cfb66e23888243c28e80bdfbb89b5dfc43cd6343f974cb5a085b825da5b63e98342e93d03939884dc8fbc1e2f50675e2d54b7c569352909db5060e2339d31f370b25e308467d0a70fde96c072a80702933060501480050fb747ef6ed3222faa36a0369b15ba9ef36ee1e8129527631960e900053d364b685deb12aee551a104628b4f3edb34977ab2a9cccadcc204b51606e4505df8f5f500da91e275dca8cd8f72da1c7207c4b72ba25a62e53cee96052cca8cd9ad86df41ea7534793222566497d457790fbcae4426f213ae3fca785d05e1135bd7c73a5d8ccc4cafe6849ee0372d9a92d158ed5d827ba444ada78a328177e3b7b63aa8213338dbf8fbd33d5415d8d9770ed8b17304cfc8a3a06b45473aec4100920e529fdb0c22107848192eeb191ae6a147930e66f387f9fef192b9b7aed734f51aee72d534216e5246ad02c4e5f0b24090b63cc8ff3750a83f6d568032eb7f73ed1288819063902870562d4f4b02dc005190d59ecc3654f15e6c2a569e2abc6f8fc9f399340b769249b61932a3c89ddc531e49a3a533311ff8a43607ad44748567daf456f8d19c299c70f0653587674fb2c5b82e75cf8fe3e2687a87a66a03f3356e935438413542fe5c1302805d0f1410e73d91dc4ed429e503b010c96e0a4587fdd489b19491d7715faf3cfe1baeda6d782b27e4c14a2c3f6c73d0aeba962f90db6687a0bd5db174e264702d66c219e616f13e0bc92d6df7c67d9cf3533cfecd8c82b1e6e02901016c465e82594cf61dff4f0339dd0c7c1ab297d659033ebf92d5daa1b6f0dcc54e4f6f83ae22549e0bb05e84370c8ade500f6311a626d16714b93ea3c569b781fc77654eeff748a333997563fb260eef77a06cb4c04cd37654996fcb4a0053d81d0ea7a3f3294396e6b08ee78e3773beaf9b462158a2ac9846c1f7c0a81bc2c29b7b0b36d17075f77d8e114202909b879ecd16810520eed245baf45c8597cc2f59f413e7b2226ac61673178c8462bd61456a2d122ed0221e568e0c836d297c3658a595f1f7081f370f6eb5e23acee4fff3c5d5087976d8a0d2629c2369b2232aca5b558bec8f69a3a21a6b4735557eaa0227cc7fd7ec28525d4f5d1f63f914c7813de54812a2f92c9ca6d902f0bef34d158eeaf3a2c150064d69014d2e4353dd1819d68cf36c42968631d6def487051016e182b78d601ed8538226583f7a5e1ebce22cc621554b628560a3ac3c2a79e5c40a70aa1e7f5c612f68c66bd9ed04e47921c513c1fe43dce0ab3c860a1a4cb601e4ceca85f6f0008d1d07700036801f9cca050089d17c6282e71c69601ec634fc4a48a1180fe57fbc189828b3b18300b4fce808d89ffe228cff6df567fa1ccd2b0b2e5adcebd712d76eda41584575d2651bc8693c290e6c9d2d6e105992f3dd27cc6f16a9eb3846d5e7f5caa58f63aaa058fd00eca8cbb034d0549878f26ef7431beafb8de5dca00a881be1c5dc167e75dde5b0fb97bea249a30bc819e08632fc93b29f11db6984b62d8c29b25cba940351ba3e21ad98cd977ac1b6f3c24852795e0b82fb90d54d56777594b89db452397e8163b833a6050d0c930f2b2420e955ea8c399055ae2f3da7cd2b1422ebed853c20eba88ef714c1724c3e9fc893a84e3d684ae1089104baf313fc4ce1cb388808ca82e4a2385e220ad86c2b3531497a8da8a139bd169383bc01fd8a746e7b2e9e18668d30e934f66555eeaad099410c69464ffc0b48c6ed211ea8408bbca4bddde952ba6d89a3fa89b877c46cb04367498a36d9564f14cca9fd3c469e8326b3350a9920d3c3e040472e7b2309115a64151fe79ab35caaef22abdabc3ec7f783469366b2bfb43a556964253a7870d0df75ad769e89487f93493d668c22e2d90de6e590953f724dba6797efe2daf7ec01dc6d9e7ce65e5acefc1bc61a5f3fe27fcdece8fec9b5a86b7747837ee071942784fd9369831ffb6d97921928b88e47ede9987c399375e73b8062ff5d4a6efeb81515c2462e09ffcc1fc7122424e03607e7ad335b5307c20a75782d8a15f90a94a8030b79eb236169ec4d190952075c929beaffe94442285459eec90aad3dd49712951f3c090d4c3f859b54db8e4b5d98738c920400248dbcff87a1aac0e5b00e0f1ed2c5f666fd5f1ff773315ce02bd7dcebf8e49594e01b7c23f676e49ac31f89ef14808ca16e188039b1d7e74bee515bcffb8a356c327e938bbaeda14e607b1abac94dcf755159a155d7df78f7a0f2007b6143039cac4698ea131f10565427d3d9f0fc7391e6a20ec3738ac9e5b95954a6403b8ef3f0b668afddfeba171134bd09d021e6822c1adf90db2b5ba58deb8b943c92d3e1504c3f0fdf79b3383417817ebcac44919dca8f5bd0c2b787f405213306045fac0fc9cde62a2dde75c0129084cd012501e67d69ddea49d1d4c415eab9a7def65ce51b1d94e1e7535eaad76b64beec16bd46a47e936945e53df812f60c85d58d80538c35fd8dbb150dc009d820d7f530948a6ca22e774c2b9e1c0c81e6488f9784902d64361d13e5fa6a76d64d7b507c41750375a3c494c1c5c185ba5336ff257ce6196c99e032c8eaec1003dc316456988c0088963461bc74ca2cf036027515e904774272e1d03886877d6838a62ac347755f4371703bec6eb40842588479897d69756ce38039022f7b89c9cd3222e00646e23fc1a5b2fa267005b8dddad27e028dce8eeb0d24b1929809ed48e4c417e7d1fc7dd8e513016c7822c88fa6f206c818ff9ce7692e2e5d5239e80218992e5f771f95798be31bf43792928782b0bd8239c49045ddb3ddd5ad2a6c077ba3c2c620651fc021e958dff42002661d7d82c4efb93f415f565a079dd0a78c95df94363b6a5af4148e185de5a84e9f54596d3a29a84de60a78a1377e2ba1306b3ec120fbc2419f49eadca5fcbf754d1be8e931fc576eaf819b8f1bc48280c151cd4a6d113928a3f626bcb9a5a7ae93bdf4713d1cc5edab503ea7b92d57dec1cd6daf362459069375d77a1e74d029e4f7d36ce5beb47f427ef3f571240996aa7764d166d9773a8f89748140596e6d7fbbb3633f0354a640919ceb7aa3a4e471566a709e2c362912462bd343a6c457b3a1020f6a734b61b2c61c00d8acb3118520e557eaf34f34723231c0e21dc5ae0b368816f30ea9c3fac5467c65a6847f2d015ca199c12e58becbe171988e32d90539fbd4712ef36660f4923ef5a5bc0c2c550382ed4643bdf420bc98371e33fd3006ce416984a89310959e0a18e9bd87b64f669563d36e96aaa2519238472760a8ac9db44e0e80e5caeb84c2cef557fa9eb226291ef338678b165cf5f74afcbafebf1db0774995c68b4f8dfab811f52dff7748450afec1032d699f13add62155eaa6abf5f6a1e4965d613cd94c39a55fb4f4203d83d817e5e69cfd9d95112e84a44c580ca0de51e37fbcc85a5843f8cce2a8eeca987e4944ea074aeee2fee1568e2220bc8b836264b7cbd9cd11024ae4a3f26ae2cdb7a24538c807cf1132dab3834b2d76e9b8431452206e9f2b6086bc3a8ba08d025b184c2d33cef75c464e687e1f2665c600fa2709ddc24c28787cc490cf9f6d8d9ff9bd4f7a5c33a75b65a164b7ec9f348acd228a0fffc7ff359cf84d5538b6a2d6b2a2539bad5bff917e13e9f25eed9eef7d1c0bcc1ffab44aac519ae6192296d9e18cb52ce0081ce02616583d0107e6ac26498afad40301a799304889d56dae5c811fe6739035869c5ee02dadeac842550cb91c2a7139d9c7c5895f745802d204d057f110977a3b3ac10ebecca1aa00104b4892b9159debb0ef37f6fe0b6314c4c80208fa21e0b8ab07b2508f1cd9bff91d3e483d61bab48b6d399a7ffea8bf57b6d569ea67d4c1d20be54b99fe39f401200560418e35a34ca40d4f99c666309511db1c45858a8dce614109e43a9248ca5671b4d123d072a1d526a2299151192ac23e8659aa8d46a20b509687a3969ba95b721aa38808cfb84fac13a709d469d93f9b9ffcbed1c178d081bfecbe011e00399266470bf5cdc5dda0c0e22a2e264376439d39cbe0b7ca1c4b308952e1d45489478b708fa7ced6b81f0109a589fdb495c44f5e7e7410b0ae28e30df01b7de4856dbb4d16aa21e60d2d6022e7cefe62f5395b23e0e030ed2a2e263b80ef145ad09abe7b2c191af7b4c4db756a59aae52dbdbb30a565f13c90ea597d69bb0637b16704f0a6836288fc14769facb0dff2b681be1d7fd7cca6654faac7104f2c481cf86e06a3576edad3d84d20b4a2912cd9dd646d388712aa47a69a8ce95408be4c8a8ebf570706316bcdd63ddad7b295323b44bfc9d5d2175f26dc3acbcc498d1a6e9cac04718083a55e2c5986f37beef439e0d4db6dea5964bea34268bc255bf32f979d696ce8c938d0fa71a65a0462027bab4a87ed7617a4cb79f6f70344191c33c4144e6ad9ab7924911d39b7c848d6ffc77268022e23bdf758ddd494440b57090ef02db5fe4dedf22ebbb038e850c3ef3ee10421d5c4a3b227ecd3fbc36b199930a19a52e13fdb82738fe66ac79df63d182c99d5e164cbde966c52b425e1257c7b6b8d62e75b22e31e3496f844a4dd8e30e7a9bd725d408b220622e5ce39b3d35af2b7fcea06ea5f3a94912e494ee7eece0e761e0fe3481009a9daf504dd1ac65ed523d66ce5353262fc6f03b7a4a0c3b8aeb6017e534b2354d2b6b44a1f378057a82ba0ef5b30f7b4929ca039778947d85d7cd6ef127a44e7256380b5b44d3198e95103b8fd92efe62f829e2e38201f4cfd1b1ff66dabe10a51816d62e90c544c564252b2246f90d601d76346d9f9cb6a68075111e1bd1362d2ee8eb262cd9090ec61f88230075c78aff208ba0964609844754b38629e3b7165aef7eb7a63d30c6f704c9aaa61eaae97c1e1224242c88c2fd8e702a3dc934cfe0602964b140aee9971f9a196eb33e4208b41de9c3c45eff2b8f8e15531f0ab845c003c6798beb0a850525fa52425f1125af60e9266bb204abc40b487a589046e947ff28e30380adbbb0838ca9d1bc45019d8453790692a99cb9914820ee9f48ddbc4916569e98ec6c6a9085e5815d9b0bf95d46dd1816900c54cd572de3435ba8880b9ba82b78b7a4d93e69143412a23bf711daafcaaa34b29516482fdf2ffe52b5acd5a04e637bc2be2a124df322e90c0a1b9994ac82af1e29b5d8be6613356c1a6c978f98998f11a690e9cf18e70cc01827332a29ffe748ed89cbe13eab11997b1228aefd180a2497adb5cbc21f35dfa5111f5af8e74f23bffc16e75008c853705a1465c5c44cee2af98088fb7ae5e347033a2bd258360182e2ca176048d6051065090b8c5f5d3f908f7fdb8ff2525198cf53e940eea0a7c8d5506ff74e87b64e2ee0ce18d0ecb8419128919969fb00580f06d755ad45967cd90c604897afc47b2d167685c23cb8d193f59cc89e5aa71143818385a1141d8b67bf5b221ae2774eeea0fbb136587f00e0426dd10cea9f69a642f983e8d3b07764d2b993ee1741975b0c4125170a0076a31c3166f4a5a85e91bd08033f501d033a2b886b95725d2c8002bd0c9e7552cf5e5c0b45758c5b25ce0eb655a0928d6e45958ba2248373e2ebddae21cea21c049c55d85aa9409bad801fbec13f9ff9059f1d74928149b72bed8789e82e5a89a40470af80e7798c36ff6b1578d44bc0da8696a89da09282c901b8b28eb7ac422759f167ee04159aaee44de34a578bf80fdcabb4506d92ef937612b77d85d2fa8840bc07097826ee3504dad225eb3577250e14138fc54aeade8b954c9a0dc76ef17845da48c75ecc420be3136020f9cae0d3518bc43cb55b035e39607c9180cee774a305457a005cdbf4c86e6409128a3fe04d908329159f0c86c6b37b0811147da59929bbcd327468ad278dc6bb99e69dab0f4ea66087cb9498d5e0e766a56024c997197485ce3540271ac7514416a74352ff0eb3b10c80135e93b9b780418a74327d8a7c02a7c4f1aa03e6841e76cdedf92026b238cb78c946a3b9295c3b1a09b7a6e46179bc4200571274ebd722efbd9f2c17dfb6203afc7c9a68f887481a72cdcec07d4b71d0a932afea881fc01bb88cc685e526661acd27c221522b7bb7c2ef9e0b5ca5efdaf81a8a7100fb4752ede8305478a844e4829c892f1d9063e46c8219a56f6568c5c2fa727e6a4e93a9bb8ff486895187242af4c88a22bbcd7364b07806056fa66d5ea1bd0c95cd6640d494d6f036af16610cfb45366b55b6ceeaf8101d28e42f3f4ceb4dcf0e9181f39fd5fcb4d775e409343c8eb03aa353f36e1b2375ff84ef90aa333555b5ab8165866101806b1bb98d7eeb4ed51ab02a7b9591278f663283959a5a631621a20fceff1a4b6cee68d9aa5fe71c66c140b04f70b51abe84999150585261fa328a7e810920813030489eccf13140692192cef6a4bf2fd3631a33a977d077a59cfbc4fb2fed229f4cdec773d8cba07b3a44de76117ee33d1100f9463176e31257080bc14c059efb182bb4ccefad9b383efaa34206d6cfe07f4a34cceeb12ead02603a00d4cc2bf7dc66d2003cce6b4345cd6539bc3974df0ff57a96e4f191a9864e248c38c245797289a1f67ab0518a5a978df7ab76416a33545949a5b9a363c573b9d402260f56d52223cd5aa9e4ea9112571d00da138cc951a7b6622f19ce0b90b3d72b02b66a36a45a835f60f69afef7d57ac2bc179b1f81ad8b3344cc655781a183782828306c1b9b2b9ab036f608d5203e894039145cda0ce8f67617fcec8b1375ab9325e3f0c95e82b175262c7118a85ce61b72f3e53446a2084b2080f516bdee777f7d1e924194f9413176752412b7f07b645e65586ffafe31f8a5785da0597a518d09c85ece272f9d4fe8d6af35f25cd8f3620e15ae141e9223a90c1996a69a346f0a41351ddf17f2ff20a3ac4179aeaa47e3cf8569e0853bff8ab3d66802bef36e08ad85c0c27437920f7d4177be6c689e45a222fea880d6b2b7e6334630481d803b8165bb123030de27bf017201f2c7eb1ce1de5191f58f8eb04e910b0f73d8d993355a8a677abd606bc606713adcdf559316768e781c244669e21f4de8b1fa3be5352bb8fad957af8288e0f9e344854ddee4302a0871a27c176f9a112bd78449b0b6024cb481f7fc6474439149cf3ce92974cdcec3c00778951aab14314a3541ad937b3a4d546cfa3b9e43e9a6d0913114a943645e4b295ec8c15ca07502b1bb3dd89beb6f2703e323e404d3c520bc87917adac65480500313a5ac0185b1729db8bcbb03b825d716d52d9304a429c7ea23c2b8e866b34b68ecfd9ef79a0a6361c6b2ef96ea34e51f134c62b708621b6bcb94bddca00a01669e723de171084c839bd47760d37c0a8cf74a0af780981139eb327d56243917eb578e1951521f2656cc9a5559769de7b11f4b3483e8ded965ce63907f1828490f6384c1b0cc5c5c93efe14c4c75fc4030b602777b1c7b7a6c1d39574d5a0e16aeffc3123b4d73fb792f002f1d37f98eb1172372f5c93ca98c26ac1a15540b323538e399c5b7c0c40596a4a6c122ff270b24788df99e1ddf202f84e434cf81b85e3ed8d46f5556445022c15f1ef458eaf7f11dac834cabbe3dd7e7e142cc419b983db39dfdf78ed1cf2a9d37ed0504efae6775d6a3f01bdda7bed95e69e56747646f63517d9455112ea4906871f245b1fadc9b84fa8afd4ccc68a0f33e99ebe8938aae5d33668b6c7be6df8d5007b33e18f803462203520393ff763cd2612d2ff48b66851869be6b9dfc406b3f7927301e19b0c4ee7fbfc0587e4a7629ba9628b9c3a50dfc48c504ccb0167217880e84c7c45d623feb7567b481c635f9747bbbe443e802d33e5af2f3c4c4dfd8e417950902a888b81bc09b26231eb38207c5ddf5ddef51d0501f446ccb2ee1c5ea2d4d47a306c245e4c6840d0ac67fc9d004eae5d26f2be1d643db3bcdb83d5a0ed2f768a5e13e8f84478fca83ee90e124a31e3dff6d1d5158223d966c451e4fc7691111821e0a61467cb2d9a91209b2b5639f18a70c37a2d7d3f785984ab897abc058f9bea1d3db484ad3688cb6dc1499b4dd806956988089c5752234a586768b64f48c7a6756a912e2425ede9b3ea29173ff170c78149266255d8819c58d4991a159d63607221337ed1602b50cb870275fd48c4ec2339323b0e901c06474345d1db9109cbf2a6ad96cd24b1549e50fa1fe7b0175cdcc1ccbc24c83977ed938f460d26deabe055abc06a6f48c19d354bdf5a2774b7c9d9ac7f08e3c19e954e8961f6ec6cef8c096c32625d02b4cba2f715cb78b3ae39ce48351e62174b938f77820738036c0ab6dbe7ca79832d7690ca92de1bf88b8903407823b2f908817b31071a017e56f5d9213dc65d50a7f15ab8254ee899229c53cb950e440861e7d2c5122374eb64e401d8f678aed424e50fb68981a81b03ce0332f483b06fcd23f64f064758fea16571e882488adc92e9b7c4a3678d077bcefd2c593ff0d815e7ea22abe75b6d6496efcafab1cdc244da97d40b99c45b3a1b786b43903647b09305740f202958f4573e004c1ffaba1aeaf405804a3b2f99f322a26c4bc8bf82b76cab07b3e15639059c02e1e9dddc7518d6dcb229de983d31251a067b2d3bea8954c447e34790b3ec4e8f48ba83a93943945dc2776c193d264d45cd22d325943b683a3f468fb5fd2c037c9603e664151d161714416147882dddabc6ffd14e3d045577320a6609b30bf50aa5bb3bea964bfb31203cc00f06b364c07926c4183eda26709f0f0e85beed3beb12d99bc582533478913c6d616d51f5c43252803ecdef3389ff760fda87a8411b9cea8e2b5b0415aff7cb807d6aae108e79400c0b455c30a8fb2b4353ccc1f47f3364d354fdb84cc0c4567b89f6edee8850fa120d464c9dc407c6789c499618787d901a2ffcebe2d3a64536835d62bd62e3fa7c829da1b9bd7c1b58f4a7d7b2e573fccd99bf221441e0ecae343a5b2ba41cb85ec26dae0a368e7c80ba909298b9446108de29cf2241860af27bc1c8bb1615e1340fdb9c09d9fe5e3a4c64dbcd4645fe8c28334c37f7fed22ed438af244ba6e0f67f5c08457bde5596eb4535f7aeabcd911a2343d8d94057f23f3ff60e1ec9e6282cc79f14e41f7ebc5ff25218542da5364da6b49c8b8671b490b2d7e7f7e93606841a453f57ae6a9987a010ded23550560bac3c676c8c9ed42d05c7e53b1db839eba596ee28e30f440cf4d35e4210ae69ba1313dc131788dbaf395b4e0cf1d604d0c559a75a6096d982b68b378cf3b3aeb949b11e490bc8fdc29aa3b1ec0295068ace5d57dbbeba3aa2396aae4afe8f533e234a8d10005bcc9e72782516373a2a2949159b47efd8f7ffae9a9ee9917495becaa0001cd4b0b3727c8ada637ad35f9547b25c8cc7a578edc3c89f00d35ecfa3e417ac9c7096fe3c6cafdbae747d1c321b689953bd2b1e5310c560ef208f18408347acc828b376475645e36e9866c8b32ebf9680db9e1fa2580bd23da59b7e6fbfd65dedb20edba1815f58497f0e876321e3445f100eb2bb8954322d330a890dcb11750f59675757de30d2a557956827f3d4a5ff23cf15eb38722f45864fd2930f2f9e815fb8dc8aa207497d0c61e21be8982bd9e2a8a767774017dffea88d49224b338ad3b4cf0d6811cb601129399533897c8dc6ed9bcc7e4002af41ceadb755d895b41e18cedd872776ee6ac993c0a2c8c30c3beb6824308dc941cfcc2eb0d095eb1c3bf9d4ae527e28d0408b4d9de02d60ce577a478d73bd4b5ec1f178f26ccb8b8f20f51258b7d9b7dac76e055322db7d7088ef87c6cd86a13c08ee1a6a3fc9b835aa91589ddd93dddb6ea8248cc9f9073e9da694dd8b2d92288cde43c1811805846dc88d8e1ddafe1028c060e67e2511bfdc2d30270c87cfc0b39b6c9b35a9600da77ec0e416d0c58c15b814c2bc0ae6f4485177bc503e465705cb720f77e2b075a349267289d1bd6305e5f1d2888241aa093889b1cdff65abf9df62128e72d6a5cb79be1e5e87d20eaba876b162878e107a0fd02a02d945e409b19fc798f3cd79677ed01215d681d34ed19065ca2ce360e9c23b89849e3c01c2b2ef834a887e5b5db680856df5bcd7be581d672bcba7026276fbeafbd217d1f10c490b528c79f0ff5a69cbe18c61c56d0aff9a7c8ed417458ea833e6e8ba8ec854ae31fc24bc1d5556802113b13a0f5bf498ceb1b1d42d8daba5a06e5e7c9158d26cc8f72070dde81c08f5f77e204993551191d3a18742ce166a0761f12ab2f22de3c3b0bf8b39edcd1913ef7862a9ea0592602b360fd516d6ca0b4bea2ca19b66a20f84902bfdbffe18c3bfa8bc582868f82f526d5ce490279d95e6503ed945742d735d05785bb6c24b9165e41a2e13b4d9e90f4d3ca6eb80775506c1f7a62a9a68ce13f441e2e9affb7fe95f171eec1948387b01b06e41ce31482d9e0fe61515809755e02f6a803cee51d95ea685abbaf70c14f8bc16731b4dacbfd0c6057bfb2583880c70f82c207bf5da1aad72cb3bb86c737ec223d8f51d2a67a77e192bc50ea32dc9a07b0c725c9c925d60bccabbdc413d70266b0565130f2b868fad144fc7038cf16d81246c4e4f07a5fa620c274b49b63b79bf8f79ff8a917e06eedfab81bd1d2808ab0820125e67e5e15e7e8bca85e7284c2ff454f5987e1c199d461579a8b493f140040f0a29f6d1af04e80aebd20d6971a309a9162b511ff176ffb00a0bec065eb96d47b87ab0cb0d9e04a8bec2ed1b3f888f1c0a01ff2e1c72cd699097b15030466371c8e9b05c249724394d10397e1ca3035091add1c360af0837cd2312fc9dc6a7faed6800332d7034d2b2aef3f380f511fa1eec9940b5996ca61222849672fea776cd5861cae1697c16daafaaa8ad0a6caaf4b82dbaa79e999c6f066bf47820af2fb89007cbe5ada98fa85f6c30a642749e0b88353636c4bef2faf3e1e9c00c536c070b4ab36e58e28ea9285d2f9ac668489b1acc651748f20a38e5f33bc22484459749d5f4a1fdb8f980c64a2a4f4af7025a35157b320113cce61715c4032135b13397af716fe866ac8ebf37e8ca6a99322a7b393f76eab943025f381b8e7226da9f7635106f970558139ec955bc878a8823035127cb051c53636235439df001c6c08b4e86630b77da6e6d575450bc51960d6df6841cf3c4562e846a87ea3974a1ec3c1a6578a92e3c8ecc48a1d3163dd0917d71bfc5d79176b799a89f45727f7ea438b2b7fa5ef152896b8000c817898aedb6403fc7a28ca763f331fcb2eae2e7893c3297d5f0fdc49d688caec2c72689588c8b168403e627657d7196c6fcc7d95bf1001b7d7777af02cc433822079ffd495ca6e8fa736a04c7a24e64dd3a5c67b39fade255b8530a0bad18c4eb8ad57d6319cee10684748db575c08d15ed7197343f44c66c09eb1f7ad82d5f1409186d428bb72da2b17d08513fe047fb435f19d36734a225532bf36563915f0f1083298325cc46f35d6abc9ff13f0fcecb5e63c2ab5ad0c6736c790318ea00a2c1a5bbd636efaa6086646c78d6aa4774f7145a7433d87fb69fee6d384cd58333b2cc1663bde9eaa10345685c40a1e46ef1541dc088a27da2e631509f5d43e29b82d774e29fb533c6d0e72dd5622cdba9a97fe17ac2facebe59b24a9799c778fe653adabbf0a26aa2e2838ce5df161b6e8d7f569317e7837e59270034a0ee64a111793f599629985b5a8ef15d1f017c84a6ea38033b68403c1e1ad0daf1653863bd36ce1f42de35d4b496a9e47115ade0fab266bafbc5083c7edf4f0315ce206127635675e68041f59122b2bd9d5186fcceaa373b448158cb9bc323429d812b53351af6b63bcdae6c03fed7f40f1b0ac4d93c336aa839f0e6510cc1fb6ac4388d0cd639de7df9b19e136d17b18c9005c3852e3d0a4e7c265a43c03227e54d1be0c3afc2c5630f0eb0f7707b91bb8b3f46afa3298d5c1f7f85f2d6e10fb600ddb9e9f458eb0d9b46de509a02e71fc473566d366decc8105759339c113d18c6898b8328593345b730fe338f77cc10263edc8d3f80718b64e72fa026f202c1871ae180954fa73e1873257cc3c064abb12e444766acd4d5838cc8abf99abdba6d50d5a63c39a8f171beee553e3e80da5a57c4f52df522b4141af351e872db2c31ecacbc1494212e238d2a7cf84c72ae739be3f7b3c6ff1f939d016222afa6932e8c8857316e76e1c927fb385a11da6150314baa9c67bec206002ec897ad3d501903aea1810a4ec70b320737f59439249ffb9f2b9527400b958195e2c6dc1b8172962748a4393888eaf8ee8ea8727fe01883e733a6951230d37cc2d4a2a749207d517b1d44708ba1e1c4e193468168de2004c3061bc4dca23a56340438a42c33d1eff0f603d365b6409930aab2cdee046d0544280be78d5e58df5d12f9c7b3ce69b342d105db255cd0d0b05820af9503611904a550d08bd1f03fd549ea90d8127982f9252309805e5297b7fa66e53ede83e32fb09f72d45ff8dcc6eba819df096e34f93d0cf0f1bd5579d61e26c2dd49ec8a93b7f106db39c48fe17789e210cfeb6dcc592ae7af2e28be6c8a5983d41b8005820f25d7e573698cd36459fa7d48559e4d70675ac474e9b6d7517b8d11bceceac284e499128177b80d1499aaf1f120506245e3d0bf0d8eda03b164be54445bd58bbcf791f323a9b8dbf15f517488b98b68dcff9e45de4e7d89aa2c012e78f154054da4cb7b56c7c5c1fbb502374f7be05b98983e3122ac9079a32f5c36d5af57e857dd0f0d28d7f0425c5791e860fbdd8314841ca68ccfe853999d84aad4510d0f8b7bb577c904e58b79ef1a2f7b93965e8c02f2b19c85e3aeb008d6b5bdcad54618de13da6147198335b361e831e7a3ed872c0159339233a89d60b62f9ba76f71d21b0e9aa5e9a3e03f63111086ca4ba11de8997cb3c0c372f43a7e2b79b3c128154d3e1c81c8600f621d6163139b022442a306b730be98ca677369835be0954d4c5ad2ce024be56140dc2f79db1e5194ad6e61c70c0e42e8aac411df003ee35864efc7889330bfeb3cf4ff92e8d5150d7a45b8ae139d3cbef7159766638625bac2163c8db52f6b7277f944ded4126e83f349c4a19cbef87f2f2203ee5f5f708f40fc1e499f0001ab8a50512e7ed221a7ae6f588a921e95a359052c4e4de09246459a798b12eed26bd8cf0daaece54cefcda47bf331b013f1e644d867799173cd1dd66a2c974d21f47c6ab31d99212df46d7a46e0c87b1f5e16391fbc7de267ea9e25b543295fc2f69f63b0723864ff51037498fecb429314f8046d935820fae07fa8f45c4cd98c7c9398098494ead7a062b3104c017a618aa303721705b6e7ff0bf5f31b81337a25db100c8f97959a1f05b28706ef234d86b01573be0d89eb3815163672405dc22a68e38c5b56142f4c5bba00c4930369663452047dddee03cdf77a83e73bb4c8801c504cd69f652178e704274dd8d6170d2ae7c993a8c746cd03de77ac9b126d8b73f74f2e18e12e1b7353818a4207f7690bfb9457dfd90c8725b13493270e7aa23540ecf763a60986a60335bcd2843754d37c8171359b7ca3685b52a232def44cfcf288b12302f2508b75a81366c67a4bd64c31cd99c950b0e93c57daac6c46d9ea84376a25a02a216ed92dda6eb7f9b684af99ad5a60821351ec7c7a20c399875f506728bd517dee1920abc49688153ea2f3c82795a8b48958ec7ea9fbff2c02c533ceb46f0d5460b6d472cda4191c1215120cb861c025d881fc36733d3df457e85e96d2ac407585c3d31ac88297017e1c87d93fcdcda183825d4891759a82303d6d2dc7cbc98af5a13c80ff02cf235bfdc0cb3087379303f2f9c8f9e0eee0291d5be11bba9540946b9edd699a8a4f4af08cebd4d9af5999a1a600a6229ff06854c5d097e98b2b130973cf3d633c60b6f0fbd99a5f51c880c4a7324d85dfc0cdcc5cc8b4608430d18db2b49a4f92c180976bce6d94bfccaaf8e51c447ba65f9c140305ea4478b3ac9647beebca9b46931385250df91c7a78585be119d29019baab8d05a5aad95338acdcde72f32f928e8ad81a74e3b7ef32e28214fa64c6f21f97973af6e3a15040c8bdd71ee5a98783bdcbd97e85c8d45e75ef683e296dee91bf6425e5e54a8cec3c90898ae25fc958c6f74c431f0ea0f6eafa2fd17b0c7ecb96ec8ef48bedb2df0451b09f3ae5ba6730c88522cec116b778bd962ff76a826da63383e0d42ca0ea5575b2c0200b3d46d5949489741eaf12070ef153413b37b0ad01d066ce33768bbe92f97b5a390cdf819aaa21b89a9e80a3d39b57f4e668bf809a2bdb66c75d9ac04e492dc8bbc4c3f985e8be1f56260876dc70f11e817b1e7dc1e513da6fa648aed627aeeafab08e470373ed832f359dae92888e11c3da10abd80f2fa793ebd392d1ea263b2cd5192c0a1b4b473d4adb0b17b327ae132527b4527fa2c66c192a3b6a64832c887be196f8152252566771dcfe7a07c3ef16c38f3488d3e863ba94930355186a30e7a8303f3fcdf00d5964b69abf93a5fa74cd0ad02e2232ceb5d0218baad6dbc51515497b24718c998727e51c7cb3fa8b27dfbacddffb9db8158e96a7951d61242f1d610bce350f63d2c06c5877288353e59887f8a240eb91ec7794aecba75fae9acbbc91cddeaaa16294db8b8c0763161426e561ee986056cf9a3a63febe79bd3a71c7a61c31645fa8f3ca78f74699c97573ed238f7a986c28c58049071e096442493b0796362d5acab085903f435fe001bd7b03004de5d2900afd232572061a226778294af484a4ae84ea833789de6dbe96f5c262d9bca0c83c477dde8e2600d3875c60b747df15c2f2b9affbc2a37c5ee2bc3e1527a30558989164f09a082db972b78407a1a6a3291e06a64694a90fd0b8e07e69add2426cde8f7805ff3f1a8720979b1a17fa27f29605568bffeb0fb7e69d04a039cbc4d19b405ba637d5082af12bb419cd056be2e41cd2a4b087c529340cc9736e8e54d251a577bf2ce6071a89c9f5bfbff59a5227be9877f701129a294cf2d35f44f950e09dff82a0565f6a9d2c90a7ddf777de04e0268d4abe43df0ca78e201a9b914c19074065d486b7a253584df29ffebd648a0180afee7d088e5faafa4b13da9ae3063e0ec1b7740505e17044dbe76e79c1b0f070e17831a4d6a7e70030723a0608de1fa975b1d5ec1f5379ed6a6e91cfe2bad4546459e58cf78978f30aa7fb470cbaecacf54552533b971d845a66a7c50854c3959d4a475a1efb0f71e1b1284b91a8e89c80ad3e659388dae1a87b1451a5854138a8d2c0b101a4713eb8ae29ad742db41cf690ea0c095fd475e064bb2892cc5b688635d3ae2287f45a5f6e6186693e5d0c800db915ca5a5778139bf6ad691d8c82a9adb73b631f62da30c85a1964c841a97168cecba2021e62d6f5eb4cdd896e123f7c933118a5fbb5d7fa1d0fa0a887acf1c8b6eb779c4ca50ca097e13dffa9ff770de18dd44b64e927e16ef1037b433b366e8bee62d80aa8f2be442acb766dabe0fd15abf36b2ef52f683eabe3c3dbd4d54165aa66087a511c99eb6697f13c7190f26ace555d387f298c74c94dcb41b9edb59ff4ed3f7d9b12ba181e0b799ca0dad4a09b29abde7b5321a59106f97a5fa2036df669abd44649645c02f3c526ade8f362483049fad2943045bf926006d69343a4d4e3f614406d1fb2e5300e6c4677bb1e20190c3a45095fdc4c5d729b91addbfcf0bbebfe56e2737e51d893f1f2fac246cf566307081dcabb33d64abf38a0e3b7522951d10955cf27eedb9f73e0c6b8dd5e3705903b6e6397259b055f37decdd35fce919fe2313fca4e007de882b41bde40a70c4bab5d0cc6aa266aab3602a1464891ddef4cd93d31b12b29ee6c8d1fd60e8872b53cfd9fde963096ecc79ef93b0192df183b5ef31385f662e1a63023de7cb34958222d48176809954172f6ee0e0a01e73e4c8beaf9670e46642f658cb97b27e4501e4af0afa2512caeecb7b2d0279cfce6c266ca3608f6989bfb505b32a44222b21afea81af11b68fe43ed44cb898de54e7b08522b3904013b1244f1766bfc513a943ef97ac05e87f3ff4040272e69da99c26187cecaa1f4ab45bb961f81afe77b46216386091027bb40a3bf548639d6087a2d43638b7ea99a601a0c89feac4f371bb7177bcc7e3a9066442b7654cce5fcd9a4ca4fce4bd406b8c261d710716d90a15a1687236e4ad243153359c7548405d20048da862b545bc3b3eac3a7f73badac8ab5f0f2ee4a911c15d1080c4cdf6997c223e09b340f5f1bb970c930b458f768a0bbbe787cb87f181820a3d122b3548d676b3e5a52cbfef06d7424ec065c1f34c230407f9f5dc002c27a9666bec439affe6fee2f5cb8b562a5241145e89e2d327a36292b125bca2e0589c2009265rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootghc-8.10.7-150500.3.2.5.src.rpmghc-devel(ghc-8.10.7)ghc-ghc-develghc-ghc-devel(aarch-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(aarch-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/shibs-arm-6 1687577888  !"#$%&'()*+,-./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_Updatedrpmxz5aarch64-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 RRRRRRRRRRRyj1/ę;F(utf-8311df0651aa26c8957ecd691ac1118f69f8c76b0416e2712df6f5a491bf2ccff?7zXZ !t/;(]"k%qZߍi -}Pzw" ~硩×$bޖai=N`BCNA.PЬ-˄BjCedԴh{ o@@)?AV1"uB˾'<{|"Z`y4:i;bGG}!M6f,<7~#XX?1R7Gj6({hz;=4-3$XD^_qaHl2Zi+2%huO N L1:>Vq3 \Ȁ:THC*F;eE4co*ÓN`GzJuD]/^HuȽYux_c,f}M#d~I7 ߠYƊq~} ܞr& tF2c4'DF@RX+l}}ߓ݊X| LmiMGQ;y_"[abv߶2 `ASmh5Y"* kf^6HT |H#]4) '*3s z&;bFiMΠ>~T;-[7sj[D\`QύT%C,;vcƎz%Qp*t,%kp~a: (-" z~ Fɭ**j~k0|Eiٿ֞Ɖ4:༸@[(KD̞$N(_\ (mU-;*)mk*JSRhxw 8!V Xyޒ ѭA&XoRTmԹ`n qqGW!Cж,DZVDO%&fAM<-h&\S*Zmj&ƳX8|p|G(_o EHnteiLCY6f?n 3ՁKc?,]T9pz+m2?n? 7!s!-迿RE} aq@p 3CVFT?>Yfަ=|/Wi[K$ QWyotI0SW=b+`~?z6M61Y3+MЦ"Xu+u"\8TÀוGLYr\܈q3Ќce-*4{[EwI3p|O}9[%'2 &NwϒռΟ@8QCŁsCA|/ʎy:DxeEi>DLEK_ 2Z]%Ub}XNm3f mwM@k7i`\ϤcĊ' `M|8>aVPN.>:K !:ȎBGvk fs+`2xu1xIeT쪮=\oղkhޖvl>4TGh,p\ 5B-_,?2[.Ǔ4GШ| ϲ ԌQuU7Y/ &]9^A6y Rc^&*;5R?ǥgBG܀#hMTN)H 75njʱ\1'}G#:x#wNJ )flWDUk?!Jm7+l=E##`E*T"7Z*\+xȻ&02Hvʊ0T1- ȳ9(a4B7 uRyU|gA2y#5ÃwdTH-f%/S: Q[8Yri"^y4j|`̀ϡI Ҿ*CR]cF*p7b4 2` BvA' 1ܟ8nW)ʃ)x'뙺Q\CM|/FdnY#(oO^ y NZ{ s9$וywǧ!vX˚2B E!\!BɬBg:(rt+KHz<^)NM r f5/pKޚD4GZa *Dצw琰LcXLeŸL8;< lvt 2E%s$8Yĭ6'DO[w#d.4U}=={1GEtR"jr1ϋ,C9v?S Xpp*ǐ+B@3E @ .`%`xk dPQK[O%)V:sSmUq1mE Xw =l}!MWWߪP &݌f1SlO{}NV7{^% \b}QkXW*?2m75 p]-6ߊ+}CQPllxqTI}GPPOA'k3~ 4thML*|ZLnK8JSeR$nTE5STxem`EQ UQٜB-܇N@Ŏиj1'm<>X?B[PJ)҉Otjil<8IVI#}f[=aD2^Pn&J X@ɲG #1t/}ȏBxЩl>O 5;RI&~dO_ ٔ0.aY,ΈA iFsI[ISu?n /Dol-˶DpB>b_.@t-ٯS ;ߣ\%]L-rTP c}=mDEaOA,kU9[ӕίk_#z4NkR-a3A%-_3o59xS>V!\3/z-A&'*ŃlCE k&}ű$r*?ڗ"2w> ޿$}htF P  ckG$^.uǯϋ ~:ePpJnlf92 {i޺/aMF eV`VO™͵~b/xR2Z; }zU  5dr !_"zz,ەvz882(ja<*mL&`5-y3 jHH'@t=?vJ]©jq7J{zBrR, K U#v 9 <[h伀#3*HܚE덫_ j|;|Rx6 tWz^Ԏ|7ϩpGaIhk{1PR7ކPށl8&WS9%! %fDx!. zĔ8Djl 5.V\ȣxΡ~ϽV%B v'6ɍ !1%V]ó$#bDgLw@$֬b)cD˧ 1PE{3WS9Hv)Vy yRsu}pN!x(FhK)PںQ_ W)o=^SrQSW`[l/wa"Amhs!vpj۪E҅%1%tP/}AӒ3Fp"*\lLγ9I*'|e-^e4aHO+÷g/doxOecl+rmR!nKx^$W{7M `Ta;]#`@.ҧxlJ'ēaQa=\"_;i\LAE9[laSC,nuA,Ո{K'LKX\)dBJ˞!`ڕ@}R ? f;ausͿ6dׯT=X@W ^'̭2ęX&Zˑm][Bn).I|J\c7?@X9KRdBސ ͘j@GB-s10cqHf֠@֧x&ߎ-J%/qǺN.Z$ "1J?Y5+Rf^UUmHy6, TUt$jg+8yn: B_mcda:@W4{̨ǫ*3VAG!۾ݸ >lY'hQꑏhQ-r.Uay?ӀrHV\ΦlIVmE-J/:?%Xp>OuiqG ϨGJ9ko pw;Od"fr;xW\:qt9Eyi5jU89i 8^0#x-i\:CoE-]Z.".ΡwO4bū"osz׃=R}yz8LG|nPoe7@[W " |O;$B"\1Y:YTLl +97[X/ƙD'HXWeT\  œ̶}ʲGGzB'TTt^߹4S *'U=\p2o ֽo<WX1Sw>Mbq\ojxF->40z՘S  T e~X8IҹbZ1Νŝ2v K)T{p.. 9hS؂, -z@r2oyuGT  Q4|3#box p$hZ$MS>A|^XHwT%]=7K9}3EY*7WUe=zq@\PV7e jh3|¶V^\lⱇ0 ^§c pLE©z9Gh&$i*ۡo.Qc-GHm-[ 絹m0 !]颎d{͙{ sV?5vM3.X;m{ 0g:;̵YԖq_S#ݰjC@1cz6Ƙtd`>8t Ae}W~ӫ쬛܆k{y[:Wyםh^6b#dآ#NO[ orj-N8F"f>VyUi-42ٓ#aHk襻pɲ=R_֋\'tvCFat hƅ1tR0xʼnN+ ~VD]r4mKl#@P ۴[sj:(iGTPhK"&8|rBL[:PRQ\Wˮ%hf2C%5 Ha2.z@ֳYhd 74'%P#qW`ӆ*t';p%d #J'M= FșNغcn|fV@w g (|+ۏ^zʪm]}s,/ (;kTpOͻ}cypOnsd,OTݠ%-vMcO<Й($ދ]MLi+^d2 3,z@ cSÕ`N >ߠ1!tCtd_A:>><"\2DI` ǹjǬsȪ ž ba~8VM|&MaYwrSIAwe4u "ףkvГ!7P Kݗ|9X5 (A >^;rQ,x 'h2L[++Z4Γc\P<!溠T~vqGW'N|.bj w969׹I,1z LQ?\+4ӧȨ@wZ\Y'}{wCiÁc2vUn3m}:Ns6Q^f߇4!9կ0]Eإ$5_KUj+J,E3@eS&j+ ə7IǣugPh#lMc$@2~?\0>w_ `/;>pY$vU_))#o ߂uN;#ɶ}ƒM4*(ϴTy@ ?H}v=Z)i&IpQ]zl !l}#Q)~ Q}L3ǥ)XvjܩIkp_I;@2\ RĨۈ΢tQе$;l+h,ᐍzQRoPdZ P>eD;im&3dCvK1pBq5 y$bɕ%ko:I @z ފdyG@xK* [m _ <ı$poHKeQ>zPB~s4Pَ~ZǓ6AJZv7K?Tψv~)_0!dw8X7 C9XUd& H#>d7caFWuه^t,K*۟'Yvlg SK}39̘^dX@C"bq\OV{3tPH%cba)ȼ|pi=3<ӥm"n.*ZlẗwT]&L {H #?`WtrJ{.4_^8&R\Yr~Sud{ޙ"~$)jS~J־I© +m^|{D;? aELzHUt2&2@}r$u{KFݦM}N?$2e>-c;ƫNL;!R^ 8/hyǻtv\.gRF&Ò4ʖ%]:.?jHX 1#AH.!~2iR3'6RsʶC Dy agxBfǦP,/ݶڭ0=9IQw;̶ YZ