ghc-base-devel-4.14.3.0-150500.3.2.5<>,LdO4p9|ST/a8JjZ;fzr VlzBhUR=K}G5a8PB wsB?xX_t Cj`ۃoA1j:<&"Xjm*"qW)/Jt1x꧉e#ܜE @̯/Hi'(M$KWTU)=b`J+/H`k\\l iſ 0xg5bܣk+d -S<>B?d ' N :@F  ) = q vј(I8Ph9h:ݳh><@<F<$G<8HP8Id8Xi8YiL\i|]}|^¥Jbcc dъeяfђlєuѨv wDxDyDz\lpvCghc-base-devel4.14.3.0150500.3.2.5Haskell base library development filesThis package provides the Haskell base library development files.dO4s390zp39̻SUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Development/Languages/Otherhttps://www.haskell.org/ghc/linuxs390x/usr/bin/ghc-pkg-8.10.7 recache --no-user-package-db || :/usr/bin/ghc-pkg-8.10.7 recache --no-user-package-db || : S P RwwwVVV555000&&&000!!!fff s p qIII=:: N8N5N8-*+ h`h]h`SPRMJK ZW ZT ZW^v^s^rQNQ% %% PMOa^`?<<LIHrrrKKK|~ f c d[XZ0-. LLL300IFGLIIxuw I/I,I,...# !~{|X*X'X)GuGrGuxuw))))))z#z zo|oyo|      !O!L!M # !111^^^]]]+s+p+rNNN_\]855ޢޟޟFFF5[5X5Z=:;   '''0|0y0z^[\pmpEBB ropspqLIJMsMpMqv;v8v9J;J8J:``` P M LFCD;f;c;cUPUMUNUUUd&d#d#<_<\<^9]9Z9[222000RRR{xz a@a=a>wLwIwL"4"1"1 % " $S SSS3S0S2***^^^[0[-[.fce000777VVV***fZfWfXxbx_x`+++302$!#B?@FOFLFN>;;$R$O$QKKK   IFGBBB 7 4 6C@@)))B??JJJ!!!!qno~{~;w;t;v`N`K`M###eee!!!>>>a^`)E)B)B/0/-// ` ] ]nnnUUU000<<<^[[###@d@a@bifh 6 3 3}z{ *"G=l ~wtv|'|$|$ 8 5 6ifgܝܚܛ*'(w? zu%}MJC@w ]-A(H]O-mgQ 7 g\>( 5 + %Gf$!)W <%*fX4C.W>99M* ;;;   $8{ {urq gž`( quF$<]DH6(Ax3#^IEPN.f`i~%~Ǐf9B57"(wѳA&|,>Fab]   _<%T/lY.&{jKYr +XIla|!C k8i & ]<F M*? \*ir \] <ir$&3L@ #8s, ,pL +dkS"6"6*f6)Q_ҿC($m.=^,EDE _ ]. ^L7!&Y5._P;sBse.'6ɏ\; O2B0ZYX%X%C!XG P+Je[U ~  ] vH! i '}$2_^>,wu=1'6 <dw ~7b72 ki,?} !w.{ : j0,)Y"Q'% .V͢U+^2-O g*\AB-4 5Z77 72 ki,? li7 Q|[72 ki,?A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤dNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNJdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNJdNIdNIdNJdNIdNIdNJdNIdNIdNJdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNJdNJdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNJdNIdNIdNIdNJdNJdNIdNIdNJdNIdNIdNJdNIdNIdNJdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNIdNdNdNDdNDdNDdNDdNDdNDdNDdNDdNDdNDdNDdNDdNDdNDdNDdNDdNDdNDdNDdNDdNDdNDdNDdNDdNDdNDdNDdNDdNDdNEdNFdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNGdNGdNGdNGdNGdNGdNGdNGdNGdNGdNGdNGdNGdNGdNGdNGdNGdNGdNGdNGdNHdNGdNGdNGdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNdNHdNHdNIdNIdNIdNHdNIdNHdNIdNHdNIdNIdNHdNIdNIdNIdNHdNIdNIdNHdNIdNIdNHdNIdNHdNIdNIdNIdNHdNIdNIdNIdNHdNIdNIdNIdNIdNHdNHdNHdNHdNHdNIdNIdNHdNIdNHdNIdNIdNHdNIdNHdNIdNIdNHdNHdNHdNHdNHdNHdNHdNIdNHdNHdNHdNHdNHdNIdNHdNHdNIdNHdNHdNHdNHdNIdNHdNHdNIdNIdNHdNIdNIdNIdNIdNIdNHdNHdNIdNHdNHdNHdNHdNHdNHdNIdNIdNIdNHdNHdNIdNHdNHdNHdNIdNHdNHdNIdNHdNHdNHdNHdNHdNIdNIdNIdNHdNHdNHdNIdNHdNIdNIdNHdNIdNIdNIdNIdNIdNHdNHdNHdNHdNIdNHdNHdNHdNHdNHdNIdNIdNHdNHdNIdNHdNIdNIdNHdNIdNIdNHdNIdNHdNHdNHdNHdNHdNHdNHdNHdNIdNHdNHdNHdNHdNHdNHdNIdNIdNHdNHdNIdNHdNHdNHdNIdNHdNHdNHdNHdNIdNHdNIdNHdNHdNIdNIdNHdNHdNHdNIdNHdNHdNHdNIdNHdNIdNHdNHdNHdNHdNHdNIdNIdNHdNHdNIdNHdNHdNHdNIdNHdNIdNHdNIdNIdNHdNHdNHdNIdNIdNHdNHdNIdNIdNIdNIdNHdNHdNHdNIdNIdNIdNHdNIdNHdNHdNHdNIdNHdNHdNHdNIdNHdNHdNHdNIdNHdNIdNHdNHdNIdNHdNHdNHdNHdNHdNIdNHdNIdNIdNHdNHdNIdNHdNHdNIdNdNCdNDdNDdNCdNDdNCdNCdNCdNCdNDdNCdNCdNDdNDdNCdNCdNDdNDdNCdNCdNDdNDdNCdNDdNCdNCdNCdNDdNCdNDdNCdNCdNCdNDdNCdNDdNCdNCdNDdNCdNCdNCdNCdNCdNCdNCdNDdNCdNDdNCdNCdNDdNCdNCdNDdNdNGdNGdNGdNGdNGdNGdNGdNGdNGdNGdNGdNGdNGdNGdNGfc12f6bd8460bd3177164fdf4720f6b4b0096d1fa3e4cf0452ba82418383405b82259a7b474f1602efd0170a93291c0570cc678c0549561ed2c09a860106d8fb4c6627f3767cabea4bb9f76bfb4c1e4d9127e5b01f5be5cef7703f853e34e643c4142059bc2c5d7084f1b9a274f8e8aaa7de4304266ad8bf8c68fb7a4142a4c749b2b3b4234bf99264d619675182e37595b35be257d6bcf8c8053439bcdf7db5c09a56a207fafa4a6ca58833cc17d25559b763f6a21afae82da801e12ee6bfa1b7e466572460273a89179c6f4a10b4b8e5fa5fc197c7c70fd36109e1764be4724ab061ab636e4ec170e6fc39e99125fbd4c724f19435a237966b45fbd2fc755753db01f4c9e905b166b790eb2969a1d3936b28eb1ba8ee5ac740d203d98d15c402b003b4300c4a5cc70e6ffc750aa633862b5f3a7f55fd67002c5d39f2afc6bc6ce882e2915db08af12a7ee34ec9ab8659f2d440e00acb5b0caa47eb2d22bafe422a6b1c985f421b3f4cc09e16a19f88891d225b88cad5237cc1f7729960f0ac0b3f95cb994308981884e681e5bd2f11c4863bb083954c4ecec1754790607cc8873d4d3b6daca377a5a5a0ec6785202e2b94dde57c62a6f8255002d37f7cd35cc6860ce93b77eafd8e18ea505c2ecca3b6d32205c4f56fce9e40a8cbcad396fe962e1d610909845aee4d5010fb3256f9b3c1946c107ea1b953cca2233864ec5fc932680283894adcb52bb09a937b732f4247c700f14f0b5af9a5de0dd700debb4f2151cc6cedab38c66be4c83ff5a0f18686ea005f1293ea53d99a64050f3fd79e7f7b266bd4bb6a87312b98d4634fc6767c6544e2157cdeb8a811a57a879171a2ea6fea1dd13d02d423d212da59bd7351946fd8b6a5f717e4f72f035c417bfd47730689a994b1df9c4ee5f8481f68ce20ca4978b064612c8b8f27f78ea47ba6921efcd9cc43c3067bb40e48fca2f245377489f87765abb78cf06fd4ee51f09a2d135ba04fe25abd6cdd925218c583d31e0254d370428dae61191aee1a0868adc0a5ac166c7d189105e11fa8b646c493d3b810a2f28c292bedf012ccb30c455b9f5d25b91ecbda981492dd33332001dda29c9017a80807c47a678c9a2c2e1f80de8a9d1b0d6e98511374af2154b188372edbea7166922ebe0dd9648752e504081ef492a578db45f01501823da82366c4532819834bd67832e2115824d405101cd8fb9437782169b8eca09ed07c9fce6bb21adc7f61136335623afabcb71704cb3327d5824229fbc21ea38a4c3c4639f1a19e35f26167e601f213645a2b063c53856de09ae691f0f6d132249b2163043bad6b7f6cb4bd54a76e88e530d85fc165fa774920d074e06c5f432a9fa0ea7cc504618fb7e858d4e1eaa02fb21b494dff5ed0dadb7318778d2e0c0ccf80c8bf7edaeba16906c4f60ffe27ef0250ea4b6e344a7ea990d108edc0aa79f6c18cdb77f12e0af365b43d434901f1113e9eaed997f806dafc65a37aeada6f03bf9809c0badf1704fa77d398a177a2c1653db23c67100d8fd8aa7b411c8db90b23cfad2fec6cd927482b5bd7cfce9085b662ff58869ba203383567ac83805c584efef04a2200eeb3af22aa66e5d794182636aee5bf80781ff37820cf7c293b51f0541d64cef2aae96f4640a78683c5b377465a45f917fa58abe782f4e3b37328e7e21a18d1635d2b8417c914871c99114cbe9440c26235115e0a2f7d605ac96f1d2392f0bc1077399956edd8f42f8d0fa0b9af8891e1ef84b4690ab4e083bc55faaf9f82d2a9d6f5cf363a05a093d270fec1b74ccddcabe654dc4305eee75ce5007265f71a6ddbc1f553cf429ca0c8d4a256f2b7fce0a8dea947aabaee777de209c0885a5a91248615f6acbc3c5a141e99fed94a5b8621345875512b9ec7f7f66c01a5b66ece1f2abc2d49174c1a1a64c1c1ca0ba2418dc731951ea48ce9d54a3048a698c7f129112394d0631e9841a557b4474b3ee6a60d2a77074e73d6f3ab754da67c3d316a1268f9c3209b3b5e7e827ea3fcac6e58cae7cf0d0d36633af73efd4ddd3eb7d932b5f2c157b53d1fd8529b0812f94de51709bd14df9957b32490993fcdf296b3e93be1339d5aea1a132e650d4612eb47ee183d476dcb68e6a9c4614fe37305ecbbec17f0530e8e5cee088049c44d3c50e96cafbebd94b640c3b4cc47fb594c16179ce9e6e5d3cd63f3756a519edfd3908e2f48060c8bea5389bea81fed5d4f77bd17238981e21303a0bad1137cab1324e3ea8614fc2caa500f30a94860af45b3e4c8894bf0eb9b533c9efe15ff87fee8eb4983b7b60b74a5336699ec6a4aec5545974e9bb2a3c210091fa245afffbffc64d3009b7934f80f4c33db70c06e5616a57006c98d9435daa9015ede5c17951cd0d669c98bd110aba8438aa0a9e745ca0edad3cd86b70c2472887b88215b8347bf35d5539d4c2d7f3f3669a64edee2cd4040819e89352527823262fbc8c05db00024ae2ef072966a794d6c588a50d9f0bb26329407793ba50ba491458400cb9a07587b5b2af650dabc355aeb18b2d65e92913eb2afc254896c5d2eab35be7f93fa287f705396728a58aaa5b956c3cd667ae605a53e57d246432d290656e8cdaf70d672e32aef980d553d4d951112b9165aeb49e9d85a0651bd0a7a477e970a17d800a0474ea998c9364cadc491b53f92db6c035d10f9264011bcc9d076aa6409b47179f912e09380bbcd0b42e91f69fc37f358ea4588e85cb126048e24825942ab09e70083a4a29373e6e8d811a30f4deeed258bd30c3a2966888c2516feca95745161f10e6952ab169625e61b5ff9f3a8d18126494178d56cfa3c607698d695d5c6fc3397b196bf9851e2de444ee8b6b92301aadf47997f26866f45d49672e8a9633c140410614f10f295a37d028fb38efee28d4ace851ce986e58501af87bd9e5cdc6f87890f0810a0b597142225a0ceefac7dfd3f3e7b13df5a751b44ffa2ee4c62310c51302907fc394f20241025f6a8c7f9f72b4978f28973cac2fb7c4dfd4455c94321b227f48128e3320203bf5bb3cba348b2d88f7d1b5d5d100ed9e65984cc6b3d6db35b5676e26c66c4e8e718a41169a31c588f8453d8b55e85e8da4eb8a235dafed21c731cba836dc04e0c9d5efd5c214aac5e33a969b2f043b17a38fb8ac2ea18e9541300ebf2cfdf3deb2eea0d9a603126ab1b6bb21237318173e9815a1e995c1eb31a2fc19d65f5992a07ce95dba7c1ee6f3b8078ce9a57664c53640181e1c4353fe91cb6da53198f9c77b4f373a4589565922506797bbaf1330445a0288973dd81e8f351b42f98026273891f49c7bacbcc59be384ff21b2f73a4fd3b55ca8a3aa80fa619cdf6192706d0d9aa1a3aecdb95d58b423a679044644854ebbffea8acb06eda7684e49d27c67ee900d5b4766e7b332c42382b36786f385f6fca18ae0f4b04422f3f9a0fdd7db60c2f3a60640001c577149ad2b5bff3543af6270962dd2027ab77a0bbdb7e0c4fcc72c1d543779541835207da96a5546eb271441a79f736ad5da038b9e8282fbe0f747c40e602caa4c3b16b696403e39ee69fca8edfa7285a9d8d6b917fed0ca3ee5747db99025ffb03ce6dbc5ce562ce18396f5f96e058e7dc1d27b704d96d1fb49149142ffc6166a2970ffb991885443884ec84d728c27edaa5d9465af918fcf0dfa8cafe585bfe1681fe596792d904d776ded6409da8b87c6fcbc469e85433c12d64fac52f02615e769cf73493f1cb571183f21102f864d7d38e9b19e44d2a5e7c902682b0e0ff34228dc72648fe383f7dd1b9f60361efa6012fd22932346770deee9ac0679d51f96222e62270dcce39183d07f5ab442c1ba9f17b38964af041c866e989a1c21f5c510aaa02ccc4db9ec58b6691c511bdd461ace689746772584842a356a3654bbd8227ab180eebcde474c664a8af01f921ab56ba74cdc96103497496b69ce90b065348cf02ade114710d08ce08c526d6ea8731c139a3836b974bc038020da2ed26e362e052009d47916680604656074087dbd395ca184ab7ec18dd75f273dce7ae8e4873bab3e3c0e196ddb76081022a76bb7b83a02929f8cf5b8ed8549493b61e971e7da50bea37d6c5643810ace0db9d74f7d73e3bf2a1c67e8dca0ca28db546d4de95c3d3b5e53ca1fbba5554c314a214ef14f1bc59690cd1e0fb68dcac3d79c6affd4cf9b4bbe2f0315936e4211a788863877252dd9273ae7e74e04170fbca9f9567b701cb56928b1e23d1e81331c2f1abc848d859cc2e4c6df74736ce2dad08a14ff72906a583be14356460f97a2126713cb92ab1318e0d11d23b4ab1cb4a436b3aecf91e4b4124be7486c56c5da324354b715bef76a0b59c0aee9dc234105f69d72b19597c8642c325e340d81f07f2476d0a151a658bb658e3676b069692528405a3b1ca4047dd15a5b109a457c70e8eeb8c9c864afe1c048350e12a2d8968e1a64116cf98cd5fea761649e153f533b4ac923c154edc4ea08ee86c9ba332f2348871732c2e5b15657daa1c227511cc783ed8db45edacdf8e13da869f1eb6eb0334be283719c20195eba91dacf466bc3762c07fa1141705e80362522d32fa6e4a7f4732a6211c98632614aadcf5f50e397437602214d4964291197709a4b3cda112f6506dd7084c811c3369cd3b9d1d556866c071bdb1befb093a0445eae45780e8b42ca1b5ea33fcc548ec4db8a941b4f51daf3a079b5d280ca20e5e7d91ca1e86ec68b2077bd5b816f3a688d82bb290f9fb674c35f7a8f5e1c83ddb9a52f085d39a45670345421afbf14676a8ec9806e5cf0130150d22e10f957b6e48c2bdf007aa1dbdc2a342ce8aa07886af557115a8dca9079e4e96613cbb2b27de825605fb307e5f3f873c194ec0723291bd81920f1e416a07a83fb8669cb5fda0d05a048f97f2399e40c730174fef9253a1c97626c62986e7b47044fc59924a1b0db29c7d18e2f684a1ae9116d9969c026defe92d50db5d027e310fc80c19bec45573bbadb4a7abe65cf6938e07b516e98e4e003af6d7a4a9bd6fb33276becaaf39133490a348ba1437e6655825e72176bf0c7e6889d80ef9438a480e15d23754a83eb37473fdda9811e323a9a12af309307ef3f472cc7fa6d5d47ff1b8f57809689caf17df560e0f5fc8a5ce8d24fdd3ecf163f4b6f040860d692fbf3e410da1a37ed73afaa65f36279da902004269c94b795af946178c93adbd5fbbc20662dc32ee397428dfb3e78b15f15e59ed339c17fc226aa8de0e4e4b8164bec30a7a3f86893f520dce2d66f20d84b30b76b6deb29fc19879421b18dbc09c00f75c95f4348a260ba3da979a69a35f03b19a098313f811ffcd28f3dfb69fa866ac8cc7918d5ce60ea6cc498ecc4b7b320e3c9838f70c824e29ddd881c5beb1d9e9cf2f5da6f4079ab86052c1ed7d859f3c843579867fc8d44ddcf858c8ae080de69d8c64ecc663f2c3db9201cae0b43d80dcef13aeeaa55aa39262167b62d1bbfb53c1b6be446e305c735582100eef419d31a25aef34da87e927f0278ddaaab0ffffc07f08e388c9f6520b527d469e061c3c18c1417da339cd027a7e669635bf8b445fcfbd88a15f6104554755fe5afa5c5c82fd833fcbbbd781d0e42b7b07c45aebe7f9f9b4a82646ca8f108e35d1ebb2709edcd9f4399c42208ad29d5923967071dd0c65119b4aedd221a5023a8c1661742bceaf02ccae34148b00428aaf0be45f5b62bda1c5ea95b20af58863d08ab059752fdf62124963cfeb6d387bd6872afcf5f07e1bf7c41d2d123e4b72bbd04193e7c8b410e963afa1d663935214b9b79bfb430b73330d36ba3e22f004a3789ad053a10d7fd0d534833c9b498c17fe42a601a01278d152193bc5698a0fc68ddab2496225665c9d42f67aee4f54f23c2c9bf17bb292a99a044f66797b708181455cfe6575ebd0aed11256f5b8dfb13023d8e80052f4d98f8ccd925c70d94dbfa99ce1e1c76c48f34cd55c5903abc722f65134510b263d324b266a0b088204aacee51d3a918249304ba2f5d524acea1a5ae06d4726c7d642c6e2a2979d1f4f2c72ac95f4d0e35e2753c78bcea9dcf95388124913d53a7d99867f779320e11019dd1c8a2a842c8ae1d25406c009901119da9377aac115fa51dcc6fe09f69f5235798977dc408c246d1a39920dd97a80f3848d5ffc726ebf397d17d46f8bc0324fa2911c801b1f0efbc704b794c476159d46a4666ffebe5d9dec7a3be9543866b004960d2d70c55aa1c888814be3180b3992aa8c7b68e20d60a50f97be8be459b804baecee72db4e54efca6b380894e749c71a4c1a57425e98dc60c02bd3fab38d567af3111aef16e6c9370bfe95d8dc2b8718eb5747eebfa186364085f833376942c2d4232c9cad1f5c6358877a7c62e193fbb7029083003f6af4b3a1ba1bc60bd8df333aa26e76df0e7099e90f6b92b5b3244f64a988bf2dfd320aa58325134f4d1f568f77e43d9c8d53e5c234247c4109a6df4fc8821434fc0cfef0833fe632c275ca5b773260165f63dfc402d6df6bf0d699a2aadf89941fc09a773c1bf8ab6a67a204c77401cd7b02cd79b2843682061bc98b1bb461a74e84e26555a0dbab60c0a9c307b28b34b38325b2114d2cc79540551514dffce004dd70dfcfebdf86ad3c7c74b7769ac4342eabe3ba3b92f95bdfc0c6f80a0b6b3f889eef5401fef74d3427a6a6cbaebbec5e91855b397a1899c0a4133810a5c2619c594f7e463bfce2e4f16aaa0b0c7b27a6384bca038d7d44270005ab66710c12f9c2c9f27a8dddd20a2b45b5e46ab9dfbeea7eb9704d3958a3f2344cde76a11aa9f04ea43672919eae20c6bd412d00cfcba2b8b3532f035bc5ea2be60f559f6999443098b94a2cbaca988ece05e6fd1d23c37da3c470b1bfb21622a610350a0af5ca9c1e185d496a06762321f5f3fd9e1b8467d0951ea3d5e403f3782e7b166af37df0c96d75bfe46c719c4534572148a95a8a87427e6e94d2eca276e85759e83a882b440ce9994c903d8a7c8298d1cc98ed60dbec4589dbd33366211cebf14f787068cecaf4f1a7ada42439ffd2e2c2085a10726e4e4592a286b89d8bd28e4d752c243b03f289154dff04ef9e4787f8a7cf274267cd76f6c4ea9ca66970d3fb4225e8150937119011e4f3e8b009d25a1a50e532109699bbdf34a0f5d1212ffcb159d78bc49c76004475a413ec8c6e35d0615fa332b58fe9ce4d38bd4d41097072dddd3e40c471d4747c8758b7976bab19ff3695480cca7f5ed80932a69368f45f8025b5c57c57c4a4f3065a71bc249a297c0faa60c48eea751e42f6fe2a738024abb673ef393d5751afa3caa6ad1a68924c4a97cb381938be0abe2ee3fb398e25b6241e220f6affdc7af9afbb1f9b7ab42288aa53a158cc33cffe17f82b2b11cd8b9293a770f75551761608ead72ab27b83b727cebdf64fa3f9b856cf285961d2d408e154be30b0e156e463a9c9ec3c49515bdeef1c22b8043e1dccee72e88fd93bb1ee3fe50d376138ac04a06931b923eb30bd2fcbc53d4e96a6142a0f008f6709ff5cfc2e8b3658649d94c98438b741853cf1b7e95437192669d0bc6be759e14f15317c792be301389e187edc6ce88238da5ffee7fb3b19032d5cd2c5fe0dbee9cf8114194cdc2c58925d8b85757be682914f204a57c94f3c594d1942440dbb17fd09cc02681847b791a60720ac5e021a6545bb118036a6e7757a0aba58b65e74ff78a8237f7cc698f7be30c0f59b30dcd1be3a749c8745b7957da93003c39935868cf222e366623d9a29f7fc33a61696580c5781ed2c9a0141b549adad6faaaab83a96a3a7f1ca74fb14b8b1d2fca115b77e7cfe6a76fcb4fa0edcb6c6d334ffa92a73facdc2800ec9f095c115a8395ce230d769f573fa532a23a0b9371159eb81521c5af01e4cc449e656fe44b5cd7c85f02d32cbff5854636a37bdb597aa2dec3131dbb25d6bf4578caef71d72b50c21b49294131fb3c53099a6c07b7fde91b98b697c53ecacd1c781d40c063671a9956b212905fed599ba5c638b64b703c4a63d3837d88c3211cb9d7ca9248bd06e0cf02c081d95a4ee24f5678bbe8032593723561e048a7a4905c7ca8ad08da3eff5f80f4dcb90cd02e1d5b71ead52d357dc55969c9c63400628bd8dab8cc25c2710decf0557b8c6a08ffa5bd4a95067439365f31d48d95614127e21b073de22dfa2f0b7cd7e1da198511cafb1d81d6bfcac881a1dbc538133c6d1ee84713f53472e6b37eb805e34a95c0af6a16baa452a4f6d5598e8dacbbb873e3c0c87ceceb29caeb9c41a1411348da8285b60d19faa0477a61604841e8cb6ef02f36784fdcc97d834f157abc15ff98bb24f2576b0e04bf8d4bef4b2a052f8578c12d02d6996e4971db9f999dd6a2e1ecd766a27af665de9e2eeecbb7d49d2b11b35b4796321b20d4b165219820e09f8a71a4a617fa69a8dca5ca1d4ee537687d0c5db2f8c76589b1387b136b56858460091cbb428020aaf2e5ff318fd24ce63bf356e0219a47c5e9177a341278604f0efe3a1b69fc1334a551b707a742a29322440d4189e8082143b2c9d8ccab1c10169862d9464ecd2915b1ef1312cf3f12e22c6c116952c2f8e53a09fe953261dc348f2477e746f0cd9753001aee7f95fb9d771d53ed0bdbf42689521497c7606724de9905653376ac71c3a924647bc8ef6ef69785173dd6a6ce4f9c497d83ee0730e917bc8767925173b22794db45957f9ebf1490cfe71f5e9f9806eff6283fc47b5d7c261c9b73ebecef80903836b5404d603bf4db73ee3766c82f02463acd2f60b9ad26e4adc926fe0d984e25ec9bbfd9579d80624316013b8f9ab01777fb3caf1cd4c2e6f9661b30e7fbdce9452ed97beb589479402ced2e03070982339e34c8c5d064b6986804ce9b83eb779032c4d978723088374993988311fc9ef14b2200a9c3cf05e3b47072362004d7c31c0c24e1bc37712a238b3ce432f72e10cadb71670a5fad9f3f0140352ed3e82c2b8625d93bfc55508ceddbefc3b63df63fd9c096e8a075c166e5926dcd355e3225ca547087d762844d209225cb15da3c0b85f36739db95cbaf91fbcdbb66fbc91b2195dfdf0e09fc021194656532cd336ed2bc8fc9a54c4dc7ddd0e605dc046cab5afcd0d07043074e9430ebc162c0a633243b55f183641e2f49d848f531be4f91196d141a46bf043cef458d88fa0e1c23a79d3a07acf913a14cbb06e9ae02a6a9c18efa4e15415c380a85c8d90dc99862d6b9ff82478c3071e925185e40bce6a37d7d395105169720c16491fce1dd893b6966b277f71f3b687c8417f307bee73efdaa8ce33adc9a44564d2a843ec1110669cbf074aa28ab34dbef4d9a3cabe6fb78c1bdfd05a730275eeaa5c271f3d6083872f50a0282b94bf0eda373cd445f4bf978a2424928620070ba5885247456134c6574d78f3a1ea82e4ba0788194485422b4e8789cef1368d2b6441f6d41e68b06ab3aab505fadfdbc8412da3bb2bd286d8029714e6c3e51e7a963a2d092a67871e94e77ebcb6af6db8d4532119abceb35ae7865176e456c865b6eabe23225d3a4c0ccfae58498ef8de1d7efb4c048006fa7638670992590bdf49e1f027ec65dc10b372fb9605b3069697e44dc869466aadb65a999fce8955c78136e9d4bea366016969f5c85370dbadccfb42d06bcf8902a026d1e20450fa3ca27e449c5ffcf66b8f762158a70f89ff67b3c145e972b9c77a0fcb48c2f8374aa12c653313474d1da98e17b4b5a9ce719a50022be59b78e9ac862371fe3ead7409d5b49ab3bfd952ed502b57e3aa51eec32045494b5477c95b5220d5d7a130ec5e84ca36bbfb093ca4ee2fa10b7e1e566681bd38adbeae9bb894b028b9b67511325a7b9d14f851be280e24fd68395b986873727a9b238983dafcaa0ed453a110307180fc273424fde10bacedb829adb1d00bd925a533bf760eb508b72178b3e019697c9f1cbc533170b658e60255dfbca2f5d913a3e0037b1b67e216c4966aa86b0d7c651995f6b0116b217ca0fedebaf10a9479a412a718aea8d1ef14bf0a09d739c22cfa5c725dc5677341094cfb9d4b6c9a1b4db43e74ec8e606814a9212b6d672d9436b231264bb2ee36f3abfa40253ac2863a71574078e856c977e0a5274c7d552d922c277dd6d5aab1fdf2c2eb41dbe22b4d3bba50d9d2cc3f107f6ce9558a13f5b270615763d7c43904b32c319a0c0e58a8baf9b16837561747b12b56bb865f9044a69821d628ad23fc20577b2a038aa2e08c5a60e28882ee262374e05a221c02c9b7853f0dbd01f83ef494b7a858e4a4b30a237e5057345d567950670c259a7a70e2897cd5ff440d5617d3b6997e450c331e43b2b1c0dba7670de74a16b6406a76545addcc13ea8a8d6a320a4c03f1b5d366d6100ce1d56e78594da81052ac30cb4a407503a14df1ddf3ebd3aaab8da681d816be36c551a007b6ba2d84ce26b699aff018a3c4e263036664fde15cd75248bab1e63373aa784dc4fbf67e12dc35a87d9eecdc02b69418fdbb89214aa0891c8826255d6e44734b2b0162b09eaf957b9a6772820daba6c6890a418abe21db177d9b881f054438988953c470b1a5e0d82cd440500f0696cf3304e61e19041d9a0378e22bf826282b0ca4bd7651b1e7d959db44303783802580b14b4a0b6ef282436cb8b080773ddb9160e297380d22bab131dea895d0f7bb92282600c713cfeca3d7aaf3b2b2df50e7605929c2ca1ab949a120eb567888cba3d609ae440ae5a591251eb59e0252b7d10706200c7433e787a2688ae7d75e00f56f6f25fec0f684941e0dbd8114116226e93da0271d1b68afde3fd7d2c1335dec3b5f9e8b188258e371706dfaa949ad64d6b07ba6110161d0c0231af2c6ef82282f91ccf3b68236fa1a0bdd98051c27c078a0e811d05882e96d4aad8523fbc58a618a77fa1df93655d10a89ba235cbd94570b688c7f9c84a45286f781fb3c4afb4de6593d54683e969fb89d053e237fa325fd9644b67aa4b0ce2c5f2d03856c8d6ca244eca49e1738a091467a278fdfa2e04354e73af5ef26613d456f7f3cb49714c09372051eae4344cc2315555170a932d34254ae20200108544131a18aab7f0deb14489f1a76a6ecf8ccf78e2b2c9f4a049383d559f14a4a2433702755b75f351ef7e20d35a980cd854a14a489a9cce8a753d2f0ccc9913cc4bd7dc4978604fe21e1edd52dcfb73195f22231def464b1cdc3cd75ecfef17d369cd05ba7cf63680dd9f245fb2dfae662e83629a01d62373ceaa614a120dc02796e78988ce04461d405d0b9315e60596b7728df20db002f21d02fb3c746b349737b74077a28c9115222ce0c02e616b10e883cdbe680b9228fac988a9ced859436a005b27b46aba09920b60aab40079c89ac94d0ceb499eb3abf0db41937f3b1317e4941bcc4e5adeb95fb407606c891bcdbd1887f3b427215d5fec08f5ac93428c35cb1af6b0cfbe13ac1bab385a26deb9a717beab6dae3009063bf8d78bd4e73f287f399ff303a92c95f91418669b9b84fb84041e08ef20f9457e25d6d917e1bbc133604f6f74370f2e31283f882fe3c449104a45093b681e48126ba391b8a19e636ae8ee2d571ba6cd1c0bd295ca76c43cc51a70a6d9245c4d3b5f270fe097875587624f7d88a400ff9a3440377cc77b2d1e7bd89182ef8e7257c418c3ab5a41a06259ecfde978f071aa0300bac691ea75958c3416aef2c785799ee5d804bed386a3e4335d53b709229df2066d1d2fc1c8328b1796b1630152758728b5de64955d6f92325ff4b9329831bed92145bb2285098d9d2c032a447542e244e01d9e69b5b2a65727c46d13a9030ec42f9f3433128720a3432f65a1f67a307e2de6c2de44b841fad31eaa634beeb3a6c9b401b9f9f08cfa06a03650b6cfaf27666a67d84088056ffd86850a856b9376139e5e4f112ac9390af862234e9c96352334ad76828bb724b00df3a3080fbdddd3820660c102ac9b18a856607ba7e8c80c442113db5acd88c7978b395d9f4b35e729189d970dbed4038f85c7f55a4b6d422863e30a37745cf998b937eba29be4e84b9616cf170a3ea9812da2e5831578b04f13a597c125200b9e3374460f4689c29ab60da6bdd4f470f1463cbb07a23eac2617c1f79afc53929646dca14689550ab0bec3171cf22436058b84c555d698752e2bb31bd4cb85c4d4e5871af6e4b694ef73c6f6ce08153b1515a2d66d86448fcdb6bcea98daac356dc4481660e67357c7ffc8390e7f3b9c7488fc19657f4d37102bcab6c4f02a4454594bd17db8d3eb3029841f721a32e8e3c3601d404e03dc18740e7783e432fd39c14432fd37ed1292b6ece7618a307e49cc0b54abd4cae8be6afaa1dde093594a5b05cf60c9ee1c8290da1ec680f859f064330d300329bce7de244ca52cab5c475263034ce0e4ee6eac98421ec49b942aa5a8eb631eddc726b25862f11ce7f1489e716037d6dbf1c7f3dc4dd1f5dd449ad17e507a1e9de9af2c445a1ddd798ab8da85d67b752766675852d5779312bb91835a5d4639d552dc3bf830ada3de100ba61884a016b626a7504c41fc7f191d3f40ed30fe42eee4ae0ca7e3fdebdc679ec604fce097b8b07a620531474b7e100a37431fc5e71f98c3107bbe3722a57a69ca1cffb6dc488339433a2b326f393b697e8a72357d03a58de2722442388be0094d19538c41ce58f1089c5c4de7b62906105ae442e0909d571b89e830e929277b189b012abaf4efaa75962d80c4f6a7bd6fc18ede37cdbcd638b27dee3fe19a8ad2ee3e055259246d8cde2321a51950a112767c66d5cd16320da9a1eca732646946d486504cea5a29bae04ffb5cf8f6f2c7993cb36cf4c1b036418bbe08803e1a591a76a5005e2541d2d715eae8f8e911913bc01f1b2d807b6f0c68e6c2e0b9c05b5557bae1d358a2d160dd3bba30c7df9e5c228c7ca78bf50498136958040d7629749e4929960b8448f6f8e0a98fbd6e78948a8af4aa6fce8d0fff80e5d88f8916d454ef0ebc6640a7baea286b6e03ada86e3da67941fa56e340e71e657e58c453b895f63463cd5bc846a8ab6e7d7505aeaac6451dc46657c849754f8409d32796024d66d8c660c5a64337a6007bf5ff0949d09cf2ca304875a1ea432026b4f63335b3f9ee6e4c9516404a87372477ba0913e78af508d2fedf6b27c6f38a530951edd31c0a0104cf1be264656cc35cc46cb7a16aedf420862c67efd0146ba8b52faaf1c252c847522c8dcd2c30527299c1e38a7d2535b6d0111bf6109f3453ec6ddd6af48e2d5ddbc3b9a461582688c5f3b367266c0f3eed1715882f47d3f1c8c1675a0501c7474a045f1cc63b22c97b1729c83a7a0c4105f3f061b2b6dd0770a0178808607253c09894914e5ee5f169e8cf3f66d68933fa7c740336d150942f1cf4bb20f91e1af9860c1f44e4dcaceb0e21e3ae7b8fd216f6dc41b17022248726fcd3236872a878561086e259b929e9e29f950fd63f0049c338a218a377e7d08085aa329997e8bef69db65e6ca8b9265cc56fdfc5fddf13ef49dfccec7fb8b48f672254067b2f51b48ed09a48e938fb7b2190b50c2d3eb867a6605e13ccab0c3ee5e206c7e928b7ea0ec83de1253227681303967d6bb60da1fc390bcfa667ca9bed428585040b5436030673552097b6e719539865af85e8718911702c58e9a58464c1c22b13f8ed2708045513c1fea09c26328b498c404c190b99370eba5421cba20a498bb9fa77879a99d59e4788fbce3311f0fbf8edcf6043b65756c1b609673295ef22d66b243f2e5b4474055b53b865d99afa62102b54d4335efa7ec2437243e99bcac256e98443b3b6c3b611b880c0ce995fe72b91b4fb8473b00fedfa566097dd9a1627d7fa89f22e56fb32d150242ebd0ffa0236b77ac6e2d978ad06b3761986cfbc9b1f3ec33057445808eb99c08678c8e3648afa82a93f09e75a4b1cb54cf1a5903a1f23ed26e147992c26cd655187cbb52884189c48cb3c21a546783ae45345656494d816d512efacfce912878f82b2905c2ff783b3491fc1a138a5c3ad52264c25af16ce47cd7df1b3dfdb39cea23cc062bedc0ca136b3fee8e4f2bdcb85c3fffb3b5f0855a4fc71f2026a9fad9d00e33f3b48d91620505899a469ea4625fa0e37aface28ab580ac465f4b8833efe7f288eae57dcaf5cac82988050ca4b78a0841877d823e638dd462d2f9771faea97d896ebfa88d3d7780a739ca2d963b6b55170bdc577a5f027f8f083cdccb7e612da075aa2e7bea229b3004ccb1d28668c9ab28d191b00e9b8e826b4846035947cb780c09af9498c3cec9288e28622069c9857725e4bf48857263187acb56ad9a852eaf88a83ebf7b2db4586a9393d5941661b61be91ea50f7a298c97d24fa4017c3a9335640f356f8a191054c8a29d2969135ead062bceeb2ca11e6690de545bc33be48f647fc34e0d3567277bf60a8badac337f029144360d44a41d03ad0f8cc0a0debaf67343d0560f11f383e0f74e4df74e7b5b0acb8a82fd576a5c98974c52ff57c902ac09b0db4f417d1859454f9d78f355e5a14f755671ef6f454a86068a5bc5307bfc92b59d496868e67ba8b1f75a0de8b9803490e32be0fec4acf4328d6f13cbb5c9bcec90bbe9f46f8235e73313b17328b6d98b2ddfed650ac1433be6fa2ead314dac4cebfcf0149b71d99ae7a1927dc07e59ed7c4aff2ebdf6d45cdbddeaede27a37d0f27740869c8851da12fa12de2d68a996202d77d344e1f16a9c51206911154c02dc34b5c9f3ee8c8d167e4336877de4f3910c37d31ed90e4d6b9bb0e8292ca102a66257164c0011dfbbb8c82c2d246858448c6e047806ba549175bf87ca3989ea8502f243ab6061f66c1663237036769a8c3b0ada05a98f52b59e1d345d1e6e21b610d0bd799df83a45015cbfae1cc251479c7323e75f419e181dcb17c2b23bb00e1439ffa780c489ad574cb784b090efbfead5ac9d762014daebe8cc52670b09166246467919e8ac365c2ef6c4ccaeecafebdb4f6bf4fe5877ca275838eac00f4f87ae805b0a705dabacf3b218a039232192e5bd7a9907ce038e12167d60c0bea5c7cba6940a91651d4602189862c14e2b0f94af2ef9464d8684353481eaac1899767cb7b5dc8c0513853a8cf76a782673ea4051e7cfca6283e91d9ef80026722f9678f68f337ca72b175bde0619d54d2c2c4ff16561ecd53696486b1c55ba3e9cd5222337b93087c2b6476043376fc26d5bb88047314b34b9dbe2aeb694de3f68e114a82456f3524938befb053def1f3eebc4e5767bac43418e650158200703e062ba0e8416a25f65f6978d3d4823d6faf203c1bce05ea40dfce5e303597031f81d7eae956915b1a6cc5f0a0a73951e322352a0772d3f9a715519029272ba681bb1761143e6e50145cbf1cfcef8f6ef9c0bdb108245235fced7822a0fe98187cd93695196523974d9c9cdd57e0d70395c45a7f053e0b2aac86e2799c43c51074843a5b0fbcc7c16f72392e33aa10e29acb693ca1a6796d5da4a1f5b63b5c4e91c86bfbdc07fd37bb320dcf12f343ea5143263209b8316c7406a0feb5c2998e52902f409cdc484c96a138e532e2e5d7246eb33b3295398e46d469e20d19f085e479e4db309238740c114a0d23e4f026dd0e2c377faffc647dedbe88c4421d13cbc564c314da21794447809e8170c6e7d58e33132b4369e29cbc94be24f2b46b95418fb0d92aee382506435d2e791fbfdff6eefe7e44e659968a98e14e48ae1eeae0cb2c19282066abe31bc2c41b30339dfbd9ab15444df12536e84b8ea4c6340462b23b91dab31f21428df74dc8c04725ede69e49bd7385e3c7363533947e4fb5caab99f365d549b5e84260f4ec24df7ff51af946782f3661064ece5594c604c4274f69c285f7d723b75db38b7db029c64cf0c05bfb138404f62678939fb9b20ea8d773eebd2dd40a897ab4ad5f1507e7203b94074884f8fc87bc24c1fee499f0600f75b7b0f7dcddb311176cf7a0adce8b32de9e6bcbebafbaaee277377f5ae87dec425c568d0410d696513157339d5ed6ef220fe7d394e1c149c07f9f17b70752065ec86ea0a7e8c64318914d77e54d66932cc6dc91bf3e1a2a21008def3916ebfc1810ab8f2e0f5a902ccdbb686083cdc81fe1f14ee481db9a9416be311099182feb586fc4b93381259775d665ca31d35be08ce5987521a69110331ac1db63ec3da14dd7701715c38567eaa5e64eb18a1718a3384dcc62fda53e18581368e4bf7152c5e46d418d74f8685b763dc9cbd46af3ca193c2d3ab339a07680c7befe783edac34fe8d03304f342d220742285278d4397bda12668cf06914d9097890e38f21e9b22d21738625b6493182346d699ddbf1b7fd3db01ed14cc293551b4ba7eda6bd7ad349347292a12b522a8a7dc081b0d3e9dc9591b2caff20fb75abeb08131847861c4c69a2566fbc087c054280e374ff5cefe7bf00a0c693172753a5e297410b081da71ddea43690e5462e8f5a191220ac9e7f4b7469b39a6f759cd58afe10dcd66683f48d8b2430139f41c972eaa545ead35b900a195251977ec95a2f8a219c4b99a5c2eee0f6ace0ef7bb7e97f75abe740caa38a99140a862f8850e67dd8edb6672d46b9de3e3453ae9e428c5c04adf278aa1eeb9a1d86226aad3094d53303d0c4255bd1c6c716f70c7954db3e707dcd6a0aa2e1c9d15c3a4f589b79053095c7850b4d2ac9bd11ea3a91d7cf3c85498c549f7944eb67449723039b7a28598e3e7e386868fd4d64d4b33b418803fe8f0103c4868f55f96e1206573d715edae6adea0a116435d64edeae4adf1d26fbbdb83e2c02dea49cfda9175d0d0f29b0ba96ce7927f384be18a9cc954e2d2e0597ff03dc6f716736ef8d3372f112d812d72b201dba6bd2b2f2dcb99bdabafcdf9ded2b45a60221b6449a5069d43d1c8f6c17ab48d0b9282acd053c2b19c312a0e2de41417fd4853fc99d2da3b07ed0f86687b79b64877045441413b692bfa7dc5e67c58be5d117021889ddff703603dd320417f08e97fcd89b7341e99db20a726b840873f986a66512efd98498d4a5c2bf48a28f4a3a8cb1d329d729434f91dc72757568db5dccaacb04ca94796514f89b692833814c7c7d776e7bd83dc09fd94c7ec7126c9a7c383ecb419c59a814633d4892027b74e4a4ec75d57c90261f7c01d1fb49fc941785bda48c8a4f5a9243ccc5b2b819da084c89d1f7c12ce656367fedd31b6b54b6857bd20b746ef645a7055358d579ffcb179e65d7057a8581a02035577678494cec4790ddd1ba7db9937897021213e47017e83160fcbef3d175072709a51dffa6172e69086900dcd88d3320e9b8fd8a2a9daca7e9e4e2acf17c5c80cc93ebe4abe08ba85ab5cccf2e7bb61ab8a204d11821d43138101fea93048bc5997f68115a973e7ff871d41ed935ea4c7d70166de7fd7ebfad644cd229cb78ce738bcc4160bd3a01c1805e956aa67bbdf731956c1fc1380f2ddc89ca11e7ecd69562a85cdaa16acbe7bb9c087316b038d746a5d9f482b3255787bc0322ac84ab8862c2364488d73af7ca3342bb975537fa07050747e35e38e9ad2a94e61c0c56bbd9ae76ebe755e2eba5ba79ee6aa8a45f89f8774732ce94ecdbc169b966a55ac769f51c49b936dd0fa37f0c3a671b41a1571894739bf3422a6ffc01223335615ae4f48200f1debcaf7974c9f0717f2b8ad10061975c4e5953f32a8ab2f5098fb5a4ec4ef2d719435550fb4b366f798064fc68742e57aaeb6f81ee8cb7394b55eea8719705d5403f941c485ee250f5a8d7e353b0219c50b8b897397993c12623a8c694144f42847a480f88a5d0670d21b06a15d3f305731b08455fc215e32098b69d979ee87a06ddf73190d84e0087a205cdebad1c9bab431eedb7c63c6ecdf1d783828cd4f0dffaf944141e4efa0c4ac357f2b35ff187a13faf5848c3504e9173d63b4fcd5b5ad6ca5be900cb4222a6a8d54dd146ec1c2ae95599a8f7b8a5f12e0947dc2aadc509547e7d145e532f19920a1c9c1b4998a2f6ea9fdbd0664a6395eb8c3f2c8666257fad8c4a35da87e78320678ae2c25b643f49de62dd03c38ad1f85cc2a11f808959fe67de4b7507f4ca6cf616c2b12958aab1ce75960bd542f2ab89ef7c0ccd28a888edb09b99a9ea1f9381e3ffefb6a956048510b3b438bc48382177284078c4d3f4f3b637cfa71ff00d290a63eee516e6fcf9a2983b1b93f13732d3f563fbdcda533571d97e5828289a8c92f09f71882d0614cc970d15e0e19ec91aaef10aa9431077349921d40711e50616fe5c9277b5eda1364929f0afb23c0546dc4e75e90aa60e009140cb206ba6f92556687c58d387f10fe2ab51fdf63d7ca4c0974b85a4f3b0922640ed20e811e623d7f1c799ba26678387c99d532c2e23b169e04c23d5e8c224bfb89c85c5619856a53f2a932c5c43c9d875025ebcf6f8fc73e5f336548ecd83355c5d9d414ddb25be7f85031aeef14cdf3b14f327e85d24e70d0e4123b29fedc3e2c4dc2454a1c2da5373a0e8922a126c0bc556005e16c526f21ac9ae09fe43eca5eb3151ee62b1032a97fb041e5f80a14464cbefd0a69e704453289071b85361d5a260958881a638abbf769c239ab7a8ee4866fc73e00d32e9261c0b248e5fe7b180a76a566befad9943920c52c9ad3b271760131e086347196d77c9c9373a645efafb737cdaa88f733b3578a0bb9e1b7600d14b32c15ba97f657545a19c1158feb2659bad7bc44c9b313a610e616daf661712cd4afc87fe0ce2e207b5e96dff0d5436b4d596fcc0f4d33dac057b78513d08385be9822816445ae38fd3224efab3d581db90f303fe19fdf8863428cce7b0d388f4ea725cc5169422007c2cbe34a5f8ccbb463dc79b4fefec294e9bd42af3247a4ec72d662d15a5c2cdf98389bd565206c4e580aa9108a2c6529af03529de0d03d5858573af4fa8851a73b8fb871c4b74f000ad0b22b8d21da96da54ff82770ac9478d9be22446e86126f3dbbcd3b608c5a3c71a2754950221b542d7b7afcedb200bf572d9a8c5a32723234bb9b9f47f4d4c84807be9bd7ed1a19ffde7c748a62c83137b5004b78ae881fa313ae9ecc5f00bc8cde174118bac50ab0a4993cde3792990500d69f3d0e1f31865775e68bc1ce095662789489a0f10f33dab73e6d15f7125bc7c11bdf880f8e73b4893a73bac734ab56a88a65741a84c0a9af0836a77f1ce98752a54984a8d32cd7309942d929e595707729f07fee7fff4c8c1f29ed81259f6e78e9e537fe65881667698c911cf957477bb9b2c6aa2895065f8e7c05425120401e062447eee34abd6fa74851cd0b5f1b9544d836ac2ef17fbe52a0cbe679618ca76ba86bf996fd36f5e6f415dd8a6fea1746cda6c84d28103a8c98e71282db00c89fed449b319389d8856ed341be445630ae102ec67853dbf526c73fb13f0e4ac56f0f56f2193b593c0e863dfe35939cb58c932113f1bd980ebd0131fa3c5c48bd8d5064d8e48211cd2b7256b368bfb30f62bcca714398f1ca952a0e5c1d741bff362ce029ccdf4be7131d3635d3f8049f3137c73e92a0be7de3913bd3d073ac17a5f356ff32505a872e5805c48b43e566a5af4ea50edb0073dc40beeaab808542337151f40db7fb991bda79761217cb04a3e986334ec0edfeb9b67d042598cd90012e0e18270b83aeaf9154b7fe47257c402dd63be6a66f1f00a1545b1899d7bb8ea14d18749a10f68e05f00b920a506522aa9c7bd54e8bc6b3b1ed9914bc33ecff486f6f5526546c898748a3cd1f6a4b7121f318c48a04ea1f9280621fcbb393fb94bcd7c9fd032b220742e230107f3ceccd0d4d8598fc4db57bd4a5fbcfd9398f79b7ed30b896fe8562767776573b8b8edb6fa3bf085e26a39d9d7b5b347f06d7a631446cf010039c877f10dc9371cdb387484734df42d0e9b1ed16eba5d7fb57ae11863cdce400e45510e29943eb270ddb231840c46bf44242334322327d71cb63052dcfdd2504958d8eb610661dfa409e08aba938de1a7271ae8788ae2e75713f1ab5e1e56ee34da071f3e81e66b775b5680ea1f6abc2900fc4209b79fe108e36cce50cfe8b84dcc1121de0c8c83501c379e5762fd88178559de11e3ca124092c02ba32523a7260e739660dc1b3c410e24e5489ba8164d46acfb3778a5f2a101076fc0cb39658c29b709ee49c29485df43560eaf1a9250324d7f459497639f8620d318c71eebe85cda7760e4fb4bf0f2483b1582551df4644e485a1ff328157fb07da06bd24a8cf9976c82147634e034850735aa9ed1bf25e3a74f04de90ff422fb8f91673c227be8b83929f6310eb076ac3d30ccea04b6324613a2d6f07a417e483ee7fa16a2e7a1ec974d95f39d9bbd021293f68c5a245f8d1e8455038bb63eceed1f420f1d8c44278153e55ed12870bf64c03dd7e693d949fc8c18af1a1802f5a13e8b660d1cedc7c8c072a73a91062312493d50b1eafbdb0a7e11255d8e66d29505c70015f04b1ec07da0f316595c2ef785b0503a40b6132d01914593dd87d8197b5807c3afcc643d922f327418a45e48f22256af237ac77199ba17c543b5f114e69e37f5930daf40ea8fffb6c70b9e9dc064ff91cbc2c407da598075d7c572c57ee3592d4259c7d350dd4dbeb31e035f1c8c56c4fa47115fb4b09e1260d64eeb6697a25b67026ad1263e6fd9aecfbb83eedc24c58ace3803a0bbe26f817a5e9cdb62be94ed7a29fbef944f40d351375a4c53864fdf4cc705e4d10cdc7ae662d6904c26f2e6a546e9a4d2c05c6494fffccb50f5b6233280fe1098a223f8b55d84f01c8dde92f0dd044173d706a55cec69ca66fada96bf62776036fa247b221c2e848829050eeaf16c68ff115f1fccf17fbeb1e7055a72cea1420ea28f36ee7b3b31330c58007fcf3ed184ab223a29913a5dce33b363f18d47405bf7a7b5be1f75199eec7d15ae1d231d91c8ec0813ab2b4b12b3608c51a6bd2a140592bbc1c68317a206d12f38a6d94d310de6847ef97351f613baf6f9920ca0b69ec2f6ce5c53ed52ca7b9adc93620c062d8be9b77f3b7ee5651df1af8c5e8f44093f7a73f1051023cf415ea4c7e46b67d71110ff841c3d8e479c432e348b294ed5f0d60fa7fee3f3fd44070752047da46ff737f2c65e211a6b9e2023c4bd4a76d56e7827d90f4085c11dba741d0a8493d2ab00a2a69dadf30347c7bf8196ce1c4fcb0d5910ceff6e1463698a08aea4d53ce55c88706d09bf2f81c446adf14bfe158068dd4051c4828092529f999aa526782b2881c6128067e337ae3dacc872d0ebf0095630d914a976a802355607e1474439fe8e489cff9aaa5970d7d7d654e3e8aabe7114df028fa9dc144542ae77ce7a9a11b7ee6f33e4fc7ea3367c6d8b2a9613aa79951370ca7c42d9e5c84992b2eaeac98dadc151dc32b34b4337c9c45caef0b355d50c534bae0cda62a2fe27a8679a0950bebf4a7151f0b75de0588388aee45e72b25795e2cda1656febb13126a42e59c142595dd4596646f906f71c4ace95ce5ba4fa6385df80a1032414a7f7ad1cc148efd4d5436d5178a2a75c0b4d2ee411c4826106c10fd0e8f62ff42307603587e9ca94970dec2438dae52e38cfa09a43e84e918a708a68f15cd3ff882be521808b6464298ab9958d9a867ad7c7b68b990b0eacc97074a9834125b4eade2d6b9c4f504a4eaeb147c0f2304012d214b8feadf785d9c0a12e45e5fd10f40b28e75388de4a90e2611bd2aeebec887ea0f5ad0901ff5364dbf88ca1e36ec01128f1e1e0af9b2194372f3c6de5a07b0d6b9e4cda724bcfd1af0d5ef38aa102f59aeea619b2be2f9804101daf7adbc0bfdef50415e7f78829490669afac60d6e3573714dac989e99fedbbbe88ad9d9e8683af384761adb9ab1cb9b2b2fb9fdf546b209e5fb090f61faeb3955b107ae09221acaf47f725d4547f1472e8dae80aeb27bdee16b2b4e75acab77ba30172ed3b92b5589582ca2603201b9ff7ced25dd4beef80e03638ead3459ded766f1cef150fc746e488d02021d15dc431702fc1219ba31c7c8a43fc90f9e27795393692591e5f2aeeddba0ffb32a0c6162880d7954e70e2dff6f94668f22832875ed1b143295bfbf2e623477211f8276c69befda6cdae965553645c41ee009e52dc2ca4c0e8c051e305ac378d7c4c29f712465734f90ed5998ca636fb6b1ec94243d51a519ff496acdba330d1bd25c100b9e219d1ba0003b2fc8ac19040dc89c53db7c76528c0bcdcc343ea0a1cce797b8a89512cffae7eda98bcd68289d784452e4de50bb1cab25904f8df8cfabe2d5d9157b4cf626c34fa4516f938a5e127ee48a516ec926fd54fa6d75a34ad3b10db5e3f9ffc6f4e819b391beff95c76531eee516ad4e4284e03e34a567aff07b97202a02c3c0f26f1705e8d7c7dfa066c90aa0c1c14223fcdf0ada59532fe6ce8a8748521a7345b74e4080ed6c57b13c4eb8f8e24b4be764a28353ccfb150f9b9bf7b742094df52af3875157af43a04eece54558bd34a666229a570856b1504c10310611810f343c1e9183c1de0f2fd11e864319b1b7edc01c718be4698da07574c63d7fd7f49423be647915048a23ad788d08f61bb36ea4579230541bf0d67e163cb98de601a17dc647be15454522711eac0614691566cbdd875aaea307841bd26471b569d0abc6292b80adc0e3cdb781d4048aa1d149bba1187c7c486b7d9e09d4be230b59ab10638762d67cb252e415f2239a7ec9a67f8b96dfeee637f5c51e1c7f86ad84cb6632191699918dd7b050a58a50609514fb3c7e7e8f3ab59c7d9b7689fa31204145f616fe159ca55b0d62c5c05f9294a5903d8000c7606159f72d1b91cc43433615db6e068a45a9c14b16b9a9ec7d118eb5dbfd9b0c4ee6aad3eae360fc85cb20da9bf525977bccdb20aedd576f7992be58169eaf55ea4ab19df0056dd3cc4fb7ec34f6824b795cb0fff9c715d9f37057b1af35eed87ff84e58cacf22e3a6e16ac8785c3991bea51906ef233047f1ad975b7cf2a6144606a8c1c6d575111ed359601459b85a9a22164228ac0fd4c8e6cb53eed13eb8ffc6f97412535359bb89b895d408c0e0cb950ec4ac317df7439434d28635eed7eb54dde437d8f51b3f15f1c00a7ea2dc7609e532c95a163c21644623d6ca49fd3d05c1c18ad301c65356e9a08a1ea4e9476838155b8ca2f64b2f5af485819815dd68c63c9c603e8290095ed2e8e1e9bc27f59afb2ba5501ec17048ee280d2a24abcce5aa820e52e75cb7d004d64cd51dcdd3ecbc64cd08e8103e717a3613419ce3e0d2b9396a7a161b12262f6a6e7cc93b791c5ca240292a35598128b2014e520df111a6c749e4f4c354bc75dd23552b2a28ba6c47dfdb6098f8c8f5eb4edc42dbb032ec74ceabd5a9232390b00e2a3cfec9d65fc64e73842f76b2aaf52387be1a70ada5a858804bfd859ca8ad11c128523d7a673f5817792f818e10fb06f58587dfa892fd81014c9e948a405dba03088bf5955acfc88a9cce6a80b99737340117ed210b48250ba8c55ea24c0a9a51f59dad648f411858dfa35b10c931e4242a2f2df0c6a218d086d7cd8771295f07ad343fdc4383de584c43ddd7bbe32d431df4e0b5e7bf291d0eccf96bff3bee3cdeacabed279b0ffecc338c1b6249247dbad0756d29920461919ec112ef0525e76563f29e0368519b40440128a15953911f2075a278b5b1602bac370e1571167bfc91df31a21a16241e3605b5fd2830a9d640a7602266cfec72bd3ae8571ab98e4d1e96a6e2ca092ecb29de828344e74e4a4cef15aea871afaed403293a1bc8b41824ee13a96856aa904cfadb3e249d1f31d2f51e91bdd44322a74aeffaacaf61c8b77a34cd6b553ffbab1438d4ffdb11c51a50c79646d79a70200a4cef630929b1f0420b27807c922931e8650ad03a587f7276dc89d866daeda9a182264edb0baf4dc659f16804b567d1b61647d3f0827230d355dfbcef6dfdb7249db991143a9911881f0a9bb57e516475b0a5850b428d06f03e01f8869b22e63b7ecfee703c3d2f2068e566e892fc0a4edd1e4076d67a9ffd1e4e345bb4c922e5a1f8d2476c0504cfe1e531bd611f28ca776af355b1c98c2514954f7e0a3a265cfac9f0d33b471cb1e5aaf6466c8aff8884e4847b43902aa19abda994549b0d8acc5d603a14e5526d0f33f56fe75a464c516e89345858dbba637a46c7934425b12a84310a336235727e6abf97e13f70c0daf4e53b3c056f1697f9c2d383d7842d4f1ecf017d309ca1ccea72b5d524a5a0c93dd6901c3fc952879391df50c03da06f0cf8ae65bd0557384951a4885f719f218c39e69d0b3020cbf8be5df92b739ac3c905afdfa1fe7a2c7c258fc83816de79606492a6dc4dc2d9dc65bbe2242f73c0ee4186d00b6e64f5142e8e895c1235df67eb1ae29b0590c4c3e5a5e9bbc619fff85b7db52cc700fdb3d482e9118a51cad424c195292e6ba1024d40469dfce635ffa63463a5674dc89b2412d131fb3d1ad7958a740b74eefefbfb6457b092b64fe9cc59bb4afc3b49981bce771aea5b75f4189694dc94091e012c819faf9da724884da5a71ce84730228e892a5c9df235fa05a31454347a6c4503f3ce78989067e12ea9d40b02846624d0331e34bbc0ac86cf3ab6c78bb4de42a8c004c5976df2b968d1b76f85dc292d89a6a4e3b05913a806e3fd6509d0469b3e0847552f9e53b9d6efe082ed14a83fd10246dcf836ab0d38fe93ec99538605d931fdd31b2f2a0ce531f96d3d2907609f6f67b9e59bb2dde8f1d79b8f2012161d3a51895e5a997cdd9c20e57a31a8f4a314be3da79f99e24f95046f56ebdee368824db50c642fa6c4f783cedd05ddfb4ff0939d3448e94d80f6d51f655647a61979aef70109619a3cb16400b0e5a5f156b82ecc9c8f578a947c964c18172209654317a1cee962cb9aca1884604f6fd3f7495051678950b9ef3dbb040a818ec0c21a7fe4bc047c6cb8923acc9f30ab0db527476fb5bd6bf01d5708056a730aeeef5498d2ad0860fbbbfc40ea28fa4e9742fdb1b83bb94bb038ea0edf6ab2156092765b62a8d23261951d2acf7938eaf2058ceca1c696f921d984e7de90e9e2d292ac5b6e7e66931a50adcce4dee1507159f63c02025bbd9afb7311a9d3c3831f70013e595a434e31c98dec45eb674ba718fd37cb67aaa4fc826b3b07661840ba0298edf7bb2ec9765086475b4e7cdebe480a7a70fd1ef74fb8c8f29ac60508ec240a141def20ff8209932df25aa499132afd486122238fb6ca43fffe1cd11d94f484cb0651189ba9a327a6ed7bc30b4f8aead42b28c110dd05ae39011574470a8bd4378ad95e1949e791eaa7936192c53335193703339576eb939e30bf3392adbe8c9b28ddc7a8896ff0e0b64e3b5f87cd5d5bd323d92b96dbc48e585e04a77239fb0cc7c122a05ea951e2b87b429291c1b1df4ad294cf8649ea3a11866992963c59c194ef10d3ed74c61fc76d8e8e2f791c77d4ef38d69ffa78a20596b5dd0edec0488b7edd095887846c0ed3f67392cc9f0ed0134b58fbab8c33807915dabff31197268ff3d394a52c2cf151535948cc0fdbb3c22eeb9b477adcdf9902e2248daf20aab512af69dc04c7fd42fde4582332d8a998c9800da6a4d45f5ae1f12819caee35ee6df18f54901d24a57a2bad6a37a48a1f11fb7d60769f62f146eb4dfae206badcb5216f20483671daaef7e94783b0c323a855ed744dbeedfd74901c6583fefe358dd675c46f78601134c66dcd02c581571f0fe40934e4a94986096bbf130fab59fe7c754e3024f4b761f9c8ed93bbf6237d93514e0f126f51f684ccadf7e645103c47221be1a3fe70cea9052468f24de014313cc22936c08251896fc03c738bfe9732b1303a2cb330c0e9dfbab863d73af534620c5d5a63e745fcb5daa25b58a4d0e5af8f1079622380e1d2104204ef621f25a0d36cca2abddbe618519151e3c5d53f60c34ed558e76498dfeb41a5ba8b6212d0088cee806d1f1a0d724f6dbd1661dd89401dcd97e764b96ea79171b57f98f89305bfd89222693146364f7b0029326b260616d38d8377fc725ded38879e049e5ab142b98f9d534ffaf5554cd54319303de4025190e96384015adc221d23ff37e5ea7aa64603770b9e16b47f3448a02eb2265c5de5be19e8273a7bfbaf9a7400a034129c435dfca246e67d5c4ef39d7fbeac7cc65ed7720e31887519e541b49c2526a87fc40a1ffdd618acc9f051b725b74914743bf5a9df320bb5d895357f5eadd923eb1852dd1303e8927a42d8f1fb94ae376ac2b18c1a393c39f620cc46dfc5bb8fa3ef6624641c14ff893dac627aa6387c4d7cb36c326e956437aec77d9beb6320704498c7894f71a85ad070c4681f600681f8709d01f9b89f823d5636f5d8a3e9850bc274bb75a5754a18d44d7c26aba2a752d7c3afcac1b962a4b0f1b033ef04dab088be583828af4d0e968282d34cf749fbb44fc66a7975fb4d374e550549de6903f7fbaa054cf11bc08c7d3f8e28a5d76ba1ff87b25150a0467c114d9757459bed4741f5ddb9dd52ad10a53b05156894bbfa379227c54fb6ed507dd183c0fa3417a3f983a74f97ecebc775da7dc811472aaf84f250638f808becfb2a50e3b08542bcd839542011abd1ed9de0cc7d7e0c91d3d62928b428b743759c981792e444de0af7f31db418f5f9e8236f3e6b0707d55a509b66a0ac2dca77962806381a8097147ecd332475150446e7c74ddf59386593aac710eb7422c73adead243198adf74ac96198f3b9560d0f85ef4c184bcfe28d649764bf3e30f12cede5cd6219dac29e60912941e933d9ab518c77e944afd0cf02d9d1d61a99e7abc10839d5e700dd3d86e439e51397f8ef2894d531ae3f43fe39be30ffabc8586bdc90be9eb65ef33c82ba6deb68d6094ea556060cc8e31e447285e0ef223e83409bf0736654c3ac1cb3904b4678317f7fdc8ba67f152898a20198d2291b781e5ef2750fa418196271833bb72bc0e54ae89c29147ee3ae30813be9468165a1f0bf6d5ed9c014cae207fd98a023322161f4dc6721433684b43c0040ee443dc547d32142db9ed6efbac0ea3c9bc9ae2a070eab8de201e4c9cbe18a0584b1f95ccb93d4451c96a22fddff87a0a9a65b17574deb22df1ac426be9332da424ffd540761fef59a755ee4f13e16843e7ea64e18814585067b0d2b6303653f730ca25c2d807aa30dd0d0224754664e1b73c538c9d2df6f6e1859613a2b33185c83e8f0478c644dcc77ec49f4f7673420e72d9658abe5e3b316645b6d8a157219b09638ddbb8c40abe944df10437f8d64be47cf63df8d39f39cdda9d72ea110aabd06a34698ca0116a9f6c54935ada2fdf833af18ef4cb2b3ed9d71e2cb0782e3b222da208877f630e533a3493825fdce59c140cb15d65f5efcd3c136d80c4b256f50f299525b4b5e24e226352d78bfe9121c56ac016e10634928ac630214171c6976f1a23aa81a6c5ab79b006cc49a521b9ca0d0e682e68f3ce17f6ed82f2ab7f50d932e9f6f84f6e75bbbb9f528ed22c79d768c299a416fb6d17359f61c52501af48bde658781b1d63c1a5982db0119858b5d273f2fba3ac64a572a2f8f7ed2942c0a5919b938664638a4a4d23d8fde763df7b1f6cc64931e5a4820ac97923662ef5a6dceb10c79652711833a42198ce45c5dc55fc1e6b2f98c5768a707bd3c78c241085c0de11347495fbedf9e79afd0e1f9303e3111d99ae3026c97b46a1f3d684aa826d1c99fec8cdab4161bbdcf760a3a60e887468fd86e30c0884b062e3bff8e1c9a09b4c384348e1f496090ec040f13993045ccc853b5a0d68ff6c35ddc45ea52bfdd4a2f1f6014936ad12053a2e8872273609ef005bffd07af461123eb76302de754aaec5b744120069dc7c9d7a1fb0bf44fc7e6d0045d7390293855065c9907783e1b1d40c04a51bc59afa725cd075b52355d7fb86be5c1bf13f7e4c8c9f57819c2a3d86316abd1a13b7c235c159cc4ecbddfe90e48f6474dc7e02f7cf93976fdbdd4fc0f198373d17392603578c5a01c517df26e020875c2238d7eddc215df3b7d495c97ddcd46efcd5d525f1be43c4072bac034a0104783248b35ef2655af54c9c017eb38d0c56518df9250d93b22b7fa6ea0dca9ad3dd4414581b85d716bd90ea84468460e613061dd0721a3c58a6301777630799fe3475c21a9a1f00dbe71d17597f51648801f3708d230f208be2d0a6cf240a5b3f59ee0b2c720da46f0517e0a032abf3f6e8db07454869ebe3357f4292a8936984c94c60f379800fc152add3261f80087eadea53d1b4d59913ed7385e8a117aabcce2f20d5d9b7ec35a8af1ad4ed622c4a885fc2dc5d85ca581e3c40c938cf0f9e9948ca0e7a2923873543f1beefcb51d7841899d813e8fb373f70d273e71aa8a01b6ef9616a4c8a1289d40d767f5b09036f760fc0f0a9659e92e717cd2b043d1eb6544ae64f492230d06f474f6dfea59bd0965c427a99eadc14613bab10af6495fa82cba8632d7defcce59ac9ce2ef46b7f38477f8a398773b5a688e9c8ab149976b06e8ef8dbbd346bc33b735ade818461b9635cd56e86fa5548c924a0748a781876067da56143e84b91ee35db75389bc4f5169072616370e1ad91bd8904a70a4646e683e792b724051fbe7f8f449ab17e077f53125fe6b0f88c39d2ba851da4c38357a3f85d085c58f0e42f1e0c3f605c910462beb567d611c5b0a925b4166656dd035c61c404cf4aeba2d9285a11ce7fb814d3954d00cf5e65d1093fb0845e212642fddad0f477ddfbae4aff4e3238533133b6a883ab21fea2ff2e48d6e3e282047b310a111dd9842bb737990e89a6b12987ac6ae42aefb2a54868762b93d8aa21ce0ca3d823edab9bff2f64e8c9fba4e2ac1ee400712515ebf1cf5f60d46ee0c8c552014c7766757d7ebb2f2d4298b8ad39504efdacc86cd92ae0e99d518e3eec96a208677b6e8615081eb50199848325ea7ec2669b04792846bc9ca7752afa62292c6805209bc073b85724dedcf1cc0845cee65448782aa7eb96aca015b6d9769f66f93814db31b0d893fc6c85e2daa1a260d39ff54307f7e0b509db1483539614965f40f0a43e2abd0f55df58aceb70e76772fddd7ca3187657e7a302c17e8c8e27b8931a523e43b9d69b64872591a0c54a27c51a79328f5ae622666d6d9b75f248fcc4c445c395388acf0ac40d886d09018a7a91b409439e98e1bee5e7854ad1e79f1674aba83123f74adeef9d3eff79cd21af97455c3d1863a6c7f8cc271d84949dc10cd8ef6bd33b0cc40775ba9ee57cebfcf8bdf0a00dc71c748f523d626bed420088d6ee47568bed31d8aa179d5c2957ae6c7c022923cdba6cd923f9f3f0d3ab555579e76cece82848c6ac744f7b75329d1b76ce5fc6c9573fa230c792c3c3f3a2702975718163d91ccbcd496a9673a891c86cb80c0e124ef04a952b1598341b7dc277a8f96ade66ace5bbab71e6fe72004b5996ca6ed66c9905943581ffa871c8afce568da867e824a3a19c2d80e3f0182f09b8017aa7a508285c6e3f2d441d0d7805c5d9c7f686ab5d17212db12556747c8801e1d7e1bbc72a91c7c94c70480b9145cfaddc05fa6b511fba002a8528a684ce1e78755da3e69d1ce9bc16b49be0954cb83152cc0cca6dde1b45d4bbc489f14d01de5a4e6cddc41e71bff89d1764b9b8e2896d4b1a29bbc8fb252385ceca37b99ec0ece50ed944f617da6c8b35d2f0f90e88b03b94aca23e0fab460bc1ef2f154b5847876ad3b5909122a727459f575da0a8eca77755d26f39ef0c6280d1d85c9ab425de99fc88cf937c2080fbbfa02323e3ac9ff10a15e00ea7a782219e253a7716ed625a254b4957aa0bb908bb07a4fe6c3a7084579bd49c50ea6f1fb51b8ebe41fad7a2ce323f3bd54fe713abbeffc01fdde6d049914ac933dd09bc89c82d0e788e8d0cacf4718d1bba470a5ffe2a05049e5bb30dce536e418cf60fc5e240fca5b9da493be24299fde8dd2fc283bd279d5bdd6c33a29fce32349ee40af89992a7428480165466ca35372d76372b030640e32c6f9eaa88c08bffd2db26581a59d5479b04e643165698322b5a9bb397ba819b77f6f54dc5eeb81adefd59e23656a3592648b0f8e62b6593ed1aef3a010de8df7550621fc28b04af5ed20bc8923f9403c442ec1482d1839041f1b00797606efc44f0aeb7f3478318a1b98ede513291e33aa58ccae7c2f1a658b2e7b0c0acda7b2bbadc17dbc0302c4c68b143740e64cf22a536522ed10dbf1ce65204c6c3a67061b484733a53841a5c18c440353008103aa1a3d8047b4165acd6a1095bb5b2458e05bffff44ab864938ff0184bb63a24d8a7f44c0ca844ebd5249014cbebbbeaac043caa2db4f9880bc84c7e214621c3b2283891f5002f490bf332e22e4f446be45b69f2a761094a5d09ae77382e55d81de9816c03c0a9dda9483f279b4f05e241af4c95dcbbec47e1308c68d6d8f3c4fc3220ca3deb8281ccce5b03b427fabd113f0b89c4f5dc6d00f67854c9d36b636de2a9a47f1069ee887658f707305b4635f7c5492390240fd46394f8180adc4533f5675747a3a58e00d6967489070f2ad079a6a2552c6bec7a995600ff7d5b1efecc3a2932069bb90b3c3d0cc3d196c10ca0a911a713c9f51705c45ece7c6062a6e89c5eddc28249aaf682333e3b1322745d4fa759119d60dcb76691eda054528c60f365a63481eea8033feb0f10d0f976f063661e115be3296e9bf247fbf2d1aee1df0735235bae683b9a6650dd30e4f885b74e2b3d1b473025c58458f9f33046318ee33bc8d31a4e4d7ae6b83d76a5a9c7dd1c8afa0eea52fac7dee76dd5a3edfe0a2c35ee0dc799d97efeac5fd8b6a6c40ce1f0c30ccb68f1c3a84fdd724019dabce654d76902dc674f6a69b3e74f1de4b8707fce1487c8f4b11fb716faa4e4660460944721bebb6c8323db06d1865957788afaad326042308496eb0314a1b58cb2c7f31081d55090feef5bcb25cf2058cecc6c546335b52b7806f69724598eb977271dacb83be0e684ab6e23431323d95c9a1d049526ede4c671f6b14486d51979f4c937b5f9f570882d5173209287caece2705a1576dd7df38b71d7cb2bba692ba57c90acea5e46acb154ad7d8e7046f9b69ca4dc94429f85d9f8e41ee1b48821e9e60f2e9a1b2d7eae1afdb6b6d8abcdcfa7961dc304d8dd428a200fee9091a825b0e215f89a7e672c8b682f197423b5a7fd912bc1cd88469a9f4561beef0df93ce3e2d5c0e0766d5db3e67d58b78a1684ab92e7474e3ab51119ad7fe76d6e5f1ddbabc2d94bcedb7267ee18881770198f17f755896ca0f3a8b77ece647cd624182d0556a648a33f34e7cb6ba8b3ec5fa7769e1a528894533bc6574283ee656b5e77cfad41cfebb88ea26f04ff38480920292051946803038218d7c44353c6f9ba444ee0cc729545b835bce98e3d470a1de6462bc24c05571445921d78dacac8a08504fb174bcfad372b1fc55a64309bd3ad4171dea80d0937cf9bd6a09bd14d869b921179ceeccf315225805721b6f745e8750737be7a78c2bf41b44f2b353fe7244dcded77feee781f72000c4df1b3d8c88b22a40818ddf47eb51ae126d3120d69dc17a7758d948908312a9549f1e88d2e451463aff188f7f15ac80e30bf40fc27a910f9f8ec5e3db46a5ca6f3c6db9b64126037094ece061578d7ad1386f8ab5081c1ccc0b0ee4f1d90c2a9913d9a856d82f4ccd403a198ee50ef6950f3d2594251f96031856d110e9229b4519018e1792f037e57f099530cd190d34c6c4a3a6f5a7c21c76d2e16fa1237411aac5314845013b2eb217c24c92dce5fd35201fb25f137057be9c02588a8caf9ab8a17a237abaf67e13d241e3905f58bdbaae480b35ce0874b6b873039fd04db6e3dcbce14480f6a41bf4985465975bcc08a5de59d11a50e0018afd843f4973c2c4724bbcb0d2d24a4af6d1df4899cd6f94de51d1a7952ca84254ebb995e40492a80f8f7916d1f02663e745394c5d211809ef85f5b1d5cbb0690dc2f71327a1706595a10916f7171bade07c8b37492ce408d0ef66a16caa9938c9d1c8c89c930c850605d926859a9d0aaa33e141c8f49e313c8090a98500cc3907d8fe4dc8ec14655ef73fca2439d71845a5ca99386137216adb0343faf736701955e7259cabd69a94c365e05f91eb93c7d31c015bf42c02315041e7d1aa9b0185e6e5b9aa2ccecea6160e6b24e3843f1329cc81ebd7fe44fb81abc808d84a0ebd69975cb1ebc79a5fc6768093e07af937dbc32b1cff9b298b2f6f3b353d391af431790cc71ee11308a57b472e49466bc516c3434ab327552d8b2d9154ee56eafb78edfa0510fadc13cd037722c486ba311c94705d09cd2186ff130288a1074500154a78fed802c277fb76c158715c97e7b32727c4addc9ac0a526c095a8490aef41ffaf00e5fcd50f9489ceab67f8545c848caf65d7a834e8420b3602c26d2629bc74ca364d3996920ea5a333d191854c1c3dc575939b913faecb61529427d80c0dd6bfa24b8301a5b40754a83bbae01af24ee891c5d82da3c45b7a33737af2d62e14b531b9579f1933d728ee89e040147dbcbc49c18370075ee7da9772cddc3501dd7af6d04e7b70d7ad98426ad5efdc17d50cdb5f997d3480b1c47aeb934566358b7973dc70020a2d4b55d024348f1e9db1ea020ca917199bc90c47de3731e775c38a95efb86a675e97e72400c8c1dcd53c70d53a7a5a69ced8954eed686836c462ce6949bed3d1f08dde6118d9e48a75a1bbb1a8525b88ed23d1f8456d08f883ee0e9802185f79e4ddcda8826d39b0a537c9ea4332974b2482080be5f70712e1d245b437da8e43c5babbc4e696dfc8d8fcc874df32c8e61cbb4beb66da34bce105ef0fae4d8980d87425cc9fb24254c728f0ae75eba760a2c2ffa04106fd80ca3b67ccb62039bba12d39f3828f339cd11dcb504e3ffbc14fdb1ad2698d340a22727511b4ffcb56ed2907a3356cdb4377a1b7f1c8beaacc49530d388dbaff252bd6aebf855f3a4482322bc3298797be2ed7cfac82a560ba6ad561a9204d612ed7e614a907458dd7d9b9ee1d07503928c0bf3d4015dd3dec471db1a4d453ff2fdf943517166cd3e21972ddf3135a8da67d42c3d78ba23728ca29c4b33cb4cd7af89d6c892009e71a11295c04c280358f0787bb569e9f3f24b8c280a3f239f352378d9257d581f1ad4e77889565ee17a2772630df3596ec5c2efa879a31ebd8fdccdd0cdb4f161be141a87c8d1a2ec4f9a923e94dd89fb1b0b141b8b4434cc0e4ae5c8500b5a17385db1fc0007ee31487ed19e32eace7df8722742c30812e631d4fc8fcfbe756f13b19c8701fb693c6dd1d1cd25a658c30209a533b1ad1791e2da267269083b327bd19198d5e5f67b8e2db42af9de5ce86b4415810796d3402ddc3f8113e70ce3658fc9e27e1451b441339a3e5e3c22de38c7fac00faaeb7e29a4992646301f9b8747a2c72947f09178a349d9cb1f6dd33039cf9879f00f3e5d0696ca1c661ff3633b21bb82da9a8885d4d4ddfe3478f48bd4d2e0b0933d6dd6c06345067d6ea3a8259c29c708c095916f202d5325db80847ccb6f928d82f9affcdb1c12c5610aae159cc8fc6aa9f9dfa5b8e269eeb4081ad43ae3d191ad2ea96c900c6314e1b8c7611f5ce13dd96194012d50cac62e61eb539036ac08f356c75fc711fb9ca9086bb22d72140a88481edec51c4716d5ce3d3da9938c71a1050b4b8e3962b3fcad6ae121c8c850d61b3e6d2542126d2ef9102a83ad155532dc4a594dbc17cc21cdc95aee29113816e76ee9342a7940401cda212c188152f73155470d8174ccd7cf75166d54e5fdbad1f5d27a1778eff21c4b71336045376c2449d667d8e84f0c739686f9c5275514b671e28ddbe4bb64ff0b73fb2965053dba2915d1bf2903647a589dd7fc68985e79f51c66f8a0bde3e0af89f6fff1b45738ca6a65b6f799ca6a3ec429d97a9801ab001a00e00266b3778f58545367f3af252e822f57ff5d401c7f675e0a062be1f373827cc32246e8b3d4a028f6a085bcb9a9f7b7e069dfb7a87545eee4c41666876724bb34f6790087667870c8851ee86592b074406d6646ae3228a07e01c4a6dcaba8ca364906ccc33c08714da4e09ffa6dcd2e17d70776511a6f64e454c72d4c10c1d85b73855f4bd94c4548b811425ebc491f3d17543db208cca1558618f058072cdbe94ba7941c785d7bd2bf5458f2593f6024694b9ec707b2fe6708bbb8a41e05ef83020052f40088fda41ddef2ad904b0548bf1ba16ad18b5034f606b6c7d3cbbf6aedcb16e2a612f3c810cfaef850750aa4f748d112ac6a7838f8f51aa9101f6fd7c4ba7ef3ddf814dddb0d8404bd16d18adce7d6c1ba76ecfa3c6afff513eca632d22eaf5489d0d1dfcf24ab3ff30d87fe52b7d31d3f17ec6a2f49d0bd9b63ebad269ca2f93b5ea3f2079ef6201bbe4f146f847b87224a717a75d755e3447e02c42cf2b3e6e6ee62cd208c8ca9dd0900ecd3e1ddc02efe6ef5032d14c6550eedd956943452ae26ad3dc99db0707bf58492902160539407fb60b4845466f754d0f050466f209aa9af820fc99349183bc0ff553ebaf92cc3c91520238fd971ee6084d517ca5c7f36a6e1a0abbcf1ea48e012c025066062120ac85d7243f811269d4849127b6f6b0c2ca7781c118870d7486cc1a46d7926131e5e75a8cca36a1726cdc5a1e5ef2796c5c3866a4e6524ce74d0d50a38d3075375abaf90f30cb050fd3af935c222206b2a80bdd3697b4b086a0aad95013e894e0f089990ff203d53fa6d66e9d72be37912e57bc2b3189763ff2f8e7bb98d71f38156220b3cf3a081215fa3f050708c2bff31233d1718bbf6927dec010b60913b587387cdc3328e963167e0f8a572ae62c89e90e9885d1e989468e31e28c1251b1e22bec7d5baf410155fb0ee7890c0bb2f9609984febdac81e579fca59facbd24b2132cb791b5769dc2f00f12eae85a270b009278d5c86a2b1208b873e1de5c81df7382c58cc2d4e6f7a8fd6686f354e88ad00820dda224c84a6a5939ec0ca7bd52ddd6263c985305dd47074ac6a5390843499efe46041bc7ba19a73ba897c7a29716222f53b6352dcd572355f53cff4e3dc7cfeb6a6396c5ae0708506ddda227960db7fe95979dfb37253ab09b9f239fe7c09c214475210f379f1b0bfc7b419363caaa03f4611ae97decc9e8c76c212bf7886d003b29d5c62b43fee6623a799f6e5fdf8958c8364588103ce661d9587a7bc4ce5ec5609fa49e78b25b8851c1667769b2c013160c9aa8a98f4638616496dce720c23ceca8ef9d6b3212b654642fbda5e4ecc4aad4ad9f7adc564ae52639903941a59f01bee87cf7065114ffaf63088c78bf5e2ebc6de0e7c65357e555c51b4f59144aaaf0e41eba7d19b3f87afce292e23f85d5f7b834035d0150a4ae8566a1456761234b216ea8eb05a53ec22a3ed1fa64757b01df88ba7b15c73d01d22b5a5b3b36fd684229cc6232be82d9779811da628655afd07629c93d691f267ec462b8db00e3114348c6b8064e359cef79db5a56cc6b80b8ac88823deb2546c294fdd2efeb73e23e3bde595b4e0f9e00df26443b84f190eb957815f1994031613aaf1678f5d3915c7344d84d93de2ef78387eb85f546563d8eaaf807fa21e8672c91019bf53bfc9acb448ce461f4c5242df336295400e8bce5674077860547909dac9366e70ea16bb33042e580a5e777e1bc3999dcd6c710534bfb63bb5c02345eb86f7fd8cbbc7e61c69c12e8aed2cba60dcfc67fed01cd06c273fcba5df309be6c5e2d468c46ca5ccd21937351937e43c909d16a42d5888257be51a5ba4fbd264adb0aeecdfeb25b0b524afefebc7534efccbc31f756597256e764a9bd16ccad5d0772f4c369a41df788f99a5634c84a4fcf70da85a6207b9a75546c89188b2c571f8aa9068298b82d0d6df1a136b69cccfc2a86d314f02a411cb9d4cf44c671f765182dc5953971832d83fb03fdec9a667147130a91ffd15faf8abba3ed47bef70f272392aacf603dbafd0a4d9d724918b9c2381572b28b1b455b3e5bd69323ce7621ee9b0b3526daa5b4b2536f69a47a0203f5c352b9eb80e269c2c3630a324a72c0e777689827720bf1f42a83a93a7a45cacc22e07af6cb8d3a70a4c4017bec8672ea4a6f903e0bd7542369fb45b06be6df550591cbc4fee267d80eebbeee5a6acbd1a8b49aad5823eeec4c146768d3416902c1c1504f2edb53f652795d6d483f745eeac7a7d94825ee23b1e11ae02589f8de20b9fba84caa102b3b776c89aac0ecd9067923e047a9d2c512aea7203b7aa71fb3f5b83a331985334846d970ec7d9d1020704e1e0c855d630556f572b20baa378cf5c1272711caf49333adb0b6257207225eac85851507e897f736049f9b58421c88cafd3729f2e02f7950f2ec986a1faea3bdafe71a9b84894f512b75bc281f210ebed1d1d2d9d2cda299f5b4ecb24992000cc75cfc187bcc4768c84874396cca8b8b5cfcdccb6c1bffd9eb11139c1376dd99521e770b20babee0b51383a0c4a3dbade9c551c77898729d005a0c4e7c339b9545d41e788879a1f815afd4bac43295a284660dd9797cdcfc1138fa9b9fc6b8b21ed1d144a5d34547a1081a680992d5fb7ee7478013a0df5aaed3b0a3464754062931a64309c0fccd9050007a8743f38bd6d8d776bd2ed6252a567e93b12e8dbeeb510b629e6a8c7e41141ffabb4a4009ea06b62e62f379258f09e9917ef8cfbc007547d53fd753d0f3b3864d88322610565e069520d44a76af6f0dab98f5c7781950da000c78a65fbfcdcbbb63c11bb0043ab30aa045c036a1ac37f1a4435777c3aa36631bafe5368224293e9a09ee5bc674a627d51c5a70ea147299283de61729e52ada70a057e092bbd62d8268d2e63e22af90ec40c3e9613566f995a603e7a74c977005bf6d39b5b65d1bd8a00b0b84aecd935fb8d2203b397e1983c496808b30d3750fe56b0e023c961c293f6c06789180694aa13081822f55a77d60b31cda3cb424269f878f8b056783b42e1952b6ae42e97a15cfab59870e152ee282ea4cd77bf0906a4c0191655c79f4e72013f8186dd44b74a1113b280b6ee0523ed545504ebaea6c7eaad1a7675b46f303b0b507847360ea7ce4cc89fe15dc73cec60049c5eec2521146ca5e9db67e2a47adf49399514ce9898443cd912c059cca92612878750459819b5d5cdf1144e0f50b5a3f5a58664746e3e249c194c8f167852fb925b38cc7de4acdaa0a5703c55d3d0915ba1a76f81bfda8dd160cc871c2d7457bbe36ffa5d447030475a3316f394924aadcf78ed8d1bd236745e853ae5acfdee479f61035251738ed21f0d3851a6f7e0f889e0e3760344f64cb5c922a9bea9c599d6408fd137d79529e9bad481b667ecd8be5825712ae55a315f8dc43b7560efd91179cfc3dfae956bec8bc552a5b64ba788cbe4a1a9c96ed0b216a8bc644357dabec0cb923f5dd98d084d64e12983fefe7f2d860fbf59357e209bbadd10a51e63efdff1774147f9a3902c9ebbc28dea61bb0b369e7711403a6fcceba0aa6aa1c1c426b86a436df14005e3f3de8f10c19a929947d449b330e7969232b7829d0c1c8c6976023271b6d0697c7a4adee77d0eb924965e384f803ec8827943edefcec666d42c54d019b50fe0069bfdf1ff2fb20898ce3b705242935fbf11c2e59edeef0234c03b0ab876cbfde4b91c75547f4bd36da214a0753fe97ad21871d6a7c403df34644e551de7d8a02078f884eb37f88e517aa057576e3aa47aa0846d69d4432a3f4b6938da342e869211c9c6813d0b4d2f1d6e7ed075ef48a23de6a0554cf6d5e51ab4fc9d300873ad24ef8c5c76ca3caedfe081d8f7c338149ccc6300cf047a5b62d749c0df1bcc35c93c1d3a8c135575ddfed300a7b5e68ce0499be3ed1a6c79dd4647e55a4d93b93cc769a36c3e15356ebfdd602849dec29f4a84ad6e3e66c15b5bdc50eeded90838b48a8dcf5cee61d6f860cbfa59002aba20a760d1344581a3e20e40c4cf379b163c1aae5675dbba61bbe19d82f949ebca174190852cfef44eef2a1288e3fd4d625203b835ebf66f7f492de02a186e1422632df564a4767f8ae6faca968fa9a79f642fcfaa7aa5c14e021d8a2e9d6227e08e94e3088e1ec3012f4d02e6073138caf15cc5c3504c3a3a7196356dfb2702129320ea2ecb1fef9cff9fae19b24b5482db0093b57ade58cdd1924ac7fd522468dc4673ce77666b50cacc5ce02b78fcc1e71a2a476328e3001846db5511046e96d3bcbd0635e7d7cf133dccf1d2b5886c34809fe50838fbabb1dd533e565fda4affaf47dbb8089ac31591ce073499250aac53325facf1f6b8e0707d8f1f2bf9b8f708f7ab482ba07433b2cdbd1207ce9f998987eaac055baa8f31d92cc86ef9cdd20a6d7f0c4065d5cf1c465492bfb688c5629a91ce6f183979f70b0ae113a1b07c6be8aadde3e5bd9f9394dfbd95f5c7fe0a9ddb331d5e0b067f548fe574405c0a0f622535990043d8c30a5b73aed2cef223b55cdba011bfde0f70a442d0eaf28451642c0710d07944227a46d11966321c97acd61fad2ffe88987b53c675a90bb8b61f7254aed2a8de8f3bc14d4a53129459989068c27d68532754518777d80c204762fb3408d264a01f20ff2a0367724c0e8e4ffe7fdc2382eb041d5094b7cf031d6c62c363d5657303a3775c1eb9848fd49b6294d221edd494f5933bf26cf02e37ef0f0116c83ece56a1146f0b8858633701f0209727c6de4fa2a82058ad0f0968090e8866e2668abe649ed73e00da273cef584a31d5cdd01a9566a0872c3e20c795ecd19d01e113c27b86068cc3d439ed1e8793e2997600514caddb9f62606b835c718c8ad728169b15fcc6dd7a8a4f7b658498942a95e10ded0cfb964b106c45d9418f170903f70500b23345510a18d75ecd301115e15c211f5b9fdcd859489c8841ca23f755334d1cf266bfc306c9b7ff5df5fb7ba0b77fa45b3d0cd1c0e1dae537e27edf82edc532c920a3f1ce06d8f65723a15f8e95665e509083ffc2c278c4277224bf2558b861327c9008eecc61dc15629220c78f8b42cd5c405fe11b3e59c3888f61906f8902c98f1729f3c6899124077760d81be64c63f34a0132c7398a5dfb5533d8636156ac8278f8e31b9ac0ddf34cbb16825683707b0b5456a9cf998b08c17bd5764e67208289f19be0b6f9277aa8c6eb556ebed53054f22f211091359e9612ca9b507d5749fb07a0eedee732de84ac0394fb3848012fb1049c0fa3a9cfe499574c972de5b5cd81b116de948c5e39bb986d3ad9c47819cfb0e3b95cc349e040a5304290ecadd872ec3e16d42b4b9b396c8246dfe5bfbddaa8f1a8a119398593bfebd39ccb0c93a2d0d0d000e836a3fec564123a22935b6ca1862735c48c60d93e217e5d0a125bd24e64ddb5670e9c8fb58ffdb10890ac631f688229535401b661d0074d7c6ed79a6f8696cfa0cd97092d2d55b7e821519b43b8a533d427f1d15f5b1e10eb01398228f205ac97ba449088c13e2843127b61061aabc0782e804b2689ad606bb38bc172950254ede8f261649d957c94ed95195858bb621f7d70ac52c395c87d8e0d3be479b288156e7324b628efb38d061b110a402eed7affd6477ba474529982e69459e3777d9917754f8076ce885eb843fed4e07a07c53b564b931c2a3448e45b44f6696cbd3bf3966599a599bd4ea9f884767a68171729d4ec8475e1c9deeaa3036e2c12308b5cc72279d2e2a11949c1dd1829a7337a42da144060a3dbc3e2511df9c5a79122dc4e7fbfb115fc580990b213470b363acbd515ebf28193042a8ca6f4101ec118211f420e5d23f0deea8f289c067741bc6b34de9a4fa357af39a245acc58cd96307f214a98c28643f18ad2ca9c1552c5b6b045bc37a9ed2160a6f528ca24cbe448188cee39ded7f1c1688a0e2475b80743e88d0224fed6ba665ee126443857f8c451fc0d24544ecef613704c08b3767f08eb59cc513360081bdb03965f06d3706a06ef5efe79824abe813b4c72660db9ca3b4e33d015459fa24d57b0bd1c62723f9fda652c0f88c0ff568aa463e2d979ad06e3fb000d5e8c00707d9af8e25cc2ea98d5f2ad9f54fb60032b6659a3a696b8313fd770298b4219614fb18046d61e05448557f99923f2f7e6658c63eb5353b1eb6a8c2179a7c52f42498325efb27ed62d6e9018226009db12cfd97e72bd51230ac7a0651cf3fcf200343ecafd429955cac8b65610bdaaa3dbcda576cd14e9d4c941b1e5be8625654ca4fc80647ca68d73440ee41de3cebeca7c29742bd2fac985f63beababa9f0c1d6a6c73e7657b6cbfb041e5d2fb3fe8f69df5a89c725e44a447ef6fe1f2921bc776d6bcb6a5f14ca52885c90ea078c33b65740d856aca838f15ec29a89e04b8b5adae3a5e330b097a446d03bc5dd585a5fc495e15a12a72503fe035f17865b994a1b159c8652d5fa695ef7249a04fdcc62b15a56a81e2b6287a88b54e80f4b67cc86b105d8f21f86998cc60d09370dc95e94b63c411e85a167e1bbceadf541abd509017243c7028434b149fb140a29463117455aa9e827a57f70f054114da87bd011583e8ba2dc05535c221ad1a86b074139b11f9e46d250c987773fb77a2a047e02bc759792fd7579c18e28317de06366414283e682096ab914baed511a485704ce0e37532d8654158aca5e98395cbd86cdecb2c1c538c32061e40e148c5a37d670871ff85360d3abea8e65aef3eb2f7a45759f05dca4e5c2ffbe4d50a39974b6d126fe253243e966c4c2c4bac33ae279a5f8533019237b5898a66f22d0e34659f373b513da498cc4f012cf641f719f6ecccf35a32863794b23a789b5b3b0f869fa9d8068debef7a8b95d4fe00a4e440c4b4fd618143c51e09c41bfa82605223fd833e8d1ea905fbaef7daf8489cf195c38b1e579036983364f20da5b6021939bb091140dd903d108b9389246dbb05bf72921df9c30f96c124d00e68406ff2bce4e7f22b46806dc34dca8182d0b260051ab78fc0689231912b42e03f78faea349d36e7f3d92f2793afa17f853c8381fa3fd1fb5fa6d3cd3d72f4f99d9c42f5a51b330c16e8270616ef37626e197a7379cfd1bd486bb3db416c84785b4f162a64d03db99550970779c70bdb36e71744d451d453c469bdb98db3882fa0d3f5da6c0d94b5c7e2c5a48a96507b4c32783858dc9100296728dc065a6e4b9016cace2182973ff909dda7ff52226bf8207ebf44df862c595987e9821a3b6f032c6bde9e74fb83738294e20ae765ee946e05371765fc67656bb85dd0ad507493d60df367b9dd728d3d2ac9e1f5246357c6bcced39299cd2d1c2bc3827c2155a3a2aac0da9dedf2dec54fc92014ffda6ae08d108a80a8fba2d6208ee1148ce551cb9fc928192ed41954f9b3fac0d85f999e82ede997b32c7c944b456ef96b34474fe0d1f5fe6fcf660bb070814330e5ce75426b08568e68384b6dd098342a00d8155383b71036db82014829698f6c2e966fc8bf556d937de07ad5fb40455b87f934d88264f2b2d6de7dc186438b02614a51769b145798f663a667fab4e6a0439ce03b74b32c594654c51b72492438d22e8204553834a944cd78e4b71aaa5cbc08bb054e3a0bf593c9d3bb17d56084f3421d1ffad3f78682c7d9cdd7e3394f224af3c9209507702308f94b1d10770329f2e9241f6e993cf50c30be26909ce57488261dd9b00b6ed06db58ac7c954cefdb2fa09552197e301a34b3feae68a6c2065acad9aa98293bc6bbb14978cede90a323d9be4bd8aa69775772219cfac65208f7feacb2fd2f579c3db85ccaf53fb2deede1cfde5b6c7643084d8cb1a81b94e9ee2dd2742189f49aed2e0b42d4a8e60d83aef557e3b006b1c6c52fbd3cd7f1414f01b7c97f486ec140e28dcd368767d68450ddc70ffe25a7878edd3fefe4c03a232570ce3283838b0dc5dba064be959be86519f03e2d20b637b6cbe27cadbc771f2ff5e945cadc34f6d52da5c0cf1476b28c227f29c49940f4d58d827eb9da4ab594524e14f8887952b39bd140c9ff398cc7dfdeaaf55979ec080fd60cf15494d91c57353d24b9b5e56e0f2e322743341e38fc15d7c5e2e716ed7ae117561c2130d23a9da5b476903405bd2916a480aacfa2d85b5ecca4d0c24211a6444f63f86c645efe5117d388700b9db8090bf563eb9ea843636af20938b6a428d288c6683896d3f18a202e03bd4c4c5871aa7027af53f1fc5e68566b601c91459abd27cd2f4019470a7c6d6740b58d1e0c8514e1be80bf11ae0ce3dad9719e8ed3e8502be357d78438e4ebf40f0b6ac7166daf4ce6b22f23d4418eacdbc23cacfda4d236197f8e9195914598b968c5a3ca993befc60899ba4ea6b9005c92adfa0b78745a87a4fadd90f96c219fb631b1e279688a3a477250fbd3a7f3daf6b93532cb261629342c37aee43a788961f6332db4844e4738b2c1e382ebc7352c5544ec98042d57e13e779026b06a38d89a793070c0bb2f81850cf7e255ec47d85fbb4e2a670d6ad86850ede06f1a59b8c6b6587361bec74869f2860772a4e1a6ef98260b794a17d86e689187d4bd80879d2e652e8a468b04c34448d2870ddffc37c0aea8ffaedb44b31053b6991e4fac317a3a8f550c6d7574d82edaef2db4a4f19fa638ce6507e1f431f4a5ac5d60b4ecf08e565165f51d621048943c188fcea19a85e9fff4087498721d4237a73ffd2ed8625d09bb6dc11cc0d35c20c48c0d7811301d5b6c6dc9c2a04a629dc68bb129f50d4f80edc7bc3dc2ec6420a09dae2459f7b4887ac3d4bbed916a8f23500bb0f2af2da062164e62f3f58cfa5ef6cfc0cbf214bd19cdefcc03ad22b24c8d222ee3b4d2a8e99396a8c2b247588526674273982de72bcb08b72dbf777003d7a260eda22dddc4556f506eb397aebb455bc83147221b634403f4db7ecf5e7a0b8c64d4f9f1f02daa44a743bfd555ee558b3299b8754e473375e6aa7e2e2dc720b1812eee1d41e8dc4973d267e6fe23deedc4dc4d0202c3b87325c6e6f6384c9fa21313f22a356e42e62923e9c72d64f6694c6997f3c4f92b1d241c59921360fa3c1b98e55573f528f49fa089c371f28dc204df752c66a86b51fdcb6bb6d71dee3e00a6d0fc4ddf143dfd68297a312ad0aa43196cace2ff5198c50dad0faecd5394769903f05d6570a914a15c7d0e5f7b32d0cf667f2e53b546e6ab7145d787b8c072f394e57257ffd826a21f993f4ee8385e8c02b9d9cb8be5895c4d7eb4a3c1ce01f11f86fa05d3d1ca9145d4f78da3942be2789e5629481fd311afe733e5df5ef9b6ac77fcfac81a5ef9059d7a6672dcb9df65f617ee5d2256c8fcd62a749f553abd1902478f0a9b86e138509e8a8caf7ec9b0e44e1312110ce42ace1622dd350b9e87b0d2009642ead1def86576e9d685c1e33b207a75bbb93715443c4ee8154774f2630d5c8842dd3b6cc31288d6d7eb402c182cd01a7bedb7939693e5f3c86bef96324e0a48374be3c15f6a212ed9eebf54f7bd18fffdb6fbd7f1b82009bfa59b2dc065dd366359e0a4bd64581beff14fa021cc8d7d9732a0b77767544759ab4a1fba8113479fc8e068b48763a372d460804a72eee5e88d27ddae20efae7283b489d06cb63235527ed604288534c7de109e650a094ce0d81f39ee7139ff1d16d96086054a48d1a099a9da9f8ee81470c351a7a144f96b7d0059063456146a2afb25462bcfac863b554b6ce4158c6eef5bb0c7a97f061a0e7b68d286be44583f0883ebc1962799ac3c1d3ed7b331c20edd3bfc727b1ad37da95d8f09a658ab5cd352fc534a7efa248166e660773edf6492b2c16261d7b19b5517842ecac17c3b4aeedb8420fd8430579d3ae4c2a2beeb1313dc899f9eaced3e31ce34114dba36054e7a96d0141443177a66f0196c7ec9342db01c19e805c7ed8ae25f621b74c1f186b68f82beb91e07c850679df6d83aa4a83c926c2a265dd32824ffc8b86191b40d6d928767620115d5b6df6fabfe8aaf210229bc1a6b663088841c58aa8e90936195353d668b4346580a9031ae125d592811a0dee0db5a5afec6457a29535fa715b48d2c38c3db0ea6a842c4dbe6cb430716fc6da506f4dfc391ab26aca6cb9676782c0500f3e8ef9e8b81b1e62a7b20c9a70f5b794e2379ee3dbeb1862d78706e3baa7037a49a19038c682805ec12cc7b092a6b200d73b019d8bee8dbaa6f6bb09e64a7a4897329a7480d2b52d035162a01fb9cf51d954d53002d6f9f761433a4b27c79870cdd4d53ddb336c240de3480dd355a0a10fbbfddfa8dcfbff0c1066ec20822b281bdffe896f5002b7a84180d3f4504ace485f4420c22c3b76f0b4fb836041e189d08fd27c1d5c0ea455056166909acdcf38884c410b27c591588cf348f10140ab6327ae8af7df1ab868120f9d253a52a328be84d676518b6103abdba6de60274885909267c2c486089902d577877a86d240ffa64b695dcfa15488c36210cfff38385dddab0d68cbcb41b60702c9ad30c9e9438c1a2a3909f65934834b4cefd3698f9a935ab677ab56a762fe965f8cef5f8094aac4a4b6c25f186fbe6e61818adc4cb6f0ddde6089c8f5644f2c518ce33d680b9c3a1be8bc5c805828995cbfbef91516643ba4a717b022dd2eea13be884928ac3282481d8ac20b4eca0dc0a68a8ab7001f0bcc921ea1df8074e6ab6c781a28d0586d205c4e3870074c23e53f0d66f72e08c5d9041df200a13ccdb8b2981d84a1ffefbd593a86eb3d51e597c5e37e353050dd943a049cb030498ec4ac0758800f740f249f69dfc575edd6a947d4278fc32f347ba889373234a92933fb18474bc49898bf7061832dbc3e686ebc5b98b06447643959b5b94892674a75249f845fa27ed128e4184947609cc8de4dd3b8c6bd5b6ae623e1f6c5eba7de6ae0420ca62d1ec067fab5f8522cd390949301365c523c8e0fdb04e68a448070238482306065be7e76625cc5e4373bbc3cfa0b2a33fec01807905de85977c2620226a4fd274c6911ec5d7c197ecbdef59bf52dbc91aa92d7f434e494e70210aaf380188389322cc92811f7f6c26e5a4e7543bd674ba4c69bd4dc69f4bd0d293b5f0c93dfbfa89f28c4a2974ebd5e71ba6300508b81b23452538706401e34f36ad27ad6ba2ffc075679e4bc1b35e66d9e3a06d1416dd68fe28e23e919e372a6fc238f397c356e7ee780e745587e3b11255fe62aa6db86b3e1968c1d6bb34f2d915d6e8257b1fccae74ca20eb8aa236f2496ee2ae74fe10af495692dd91af1199f0c4b2af512cebfdb9195ef5651608fe68fc7da419bcde0ddd808fc3fe7f5cb3be2dc03b4ad5076b2bd4520e6f192b6b4abef6a59def8e17e62bee657c796dc5fccff24608d996b0bf2559549e268d5ebc67382f1d2686b1e1c6876db87f34379b7442067ce6e7c2bc47674a5ce0f9f3a1f72cd578eb7726fc333ffb47d993e7c658f391abed7cd6ba7d86b2a82eea17963df1b40c44a8ec80f2e22793c30b84df02159d4493b1c06d104669c4dc9be2f4aea237b992e28aa70b6a3374b0e0995b29bfe1b0979a17c31b67efd0272a8819dbe7272568028ba3fa7071852162198135396d978bceb061a6902fd0345cf460cdd5fafc952d36a3917728b4d4a9fd3751aac6f5cb13b79c02215fde036c7c3af8a7a2701935df3649cd05b9d2fd2e2c8577a27a33d6af70a81f7deff0ff94bcdc200cb79d63cb2a68733724144b021db46fd079691110e40db6c3353c22fcae04ee39359fd5b8f3116da38868cfea2679f71b61bc746c0ba136d878ebdb1d2a68513d54c3a5e580c293694b5ee5a7ec6f2c5b3498ab00223160fff91a6fab30caeed461ca28987aafdca4faed3a8dc4a93763ed700689cbdb0cf3f601203ec07aa1df38c9afb2482e1563405e5cce7178e2468d81c42bcc5eebf2bbb9db516e09973fb88f386aeb565d2bd3113b94a26ed0eff67ae24a09756e5b05ba9d8b3080354b9f61524c61c6089285671ae51887b6b9d3499c21e101083594e0258df80ac68161b2d21d9b3416b8737c2354c4e0f4dbf4be4782e76c98f5402165d9a8c4c4c06e511781872b58f55bcb81d5d17d0f89e1eddfc756eb68e2f544ad0cf21fbb71210561ae60cdb3e9284cbea416ed1cbbee53d4dae305ff5558d84b007de2a1b61603c46d490a11e4efd2aaa5b806827a69c952f4b9e0bc7955543a932b40d2369d6a2e9036e1a0f15fb01b62565069b9f0eaa0abd3459d651e5a9a2590a6611248c5ec87813e8dc11eda133f21048ac0898ad6e67fa5b7d4fc15e8f475be9947f3559d3d31023a38f50d3c54ca7781af28fbf0a480cf37d442d07200501c3e4048be7533763f5bfac8600f812079c65a4674dca143797b5c1b227c61adfbe9b11f41307565740e6c7992859023303280f92218198b127f1ac276da4027b2eba7795968075ba071140caad402710f5f8cd3e73e46c22d5b37df0b1ff6d51d247602fa715d237156c88960807ffae353ac0e0df6b9815111f9cde8ca20538a076b444fbdc7740b74e672463da5607254b81c1c99e7e781c59806e2b25885e5b38d192a40c0f59147619b07e573d1d28e6461039ad8a72ab6981eb19529c4f956a4b751b5770a85cb68a86be69aed2ac467bbc79a5d9b40106d3f3c0a5bea66ca4b3ecb7f8e361165531db45597a4a5c510e39340fe79f4552dce44246561cd4e2a247a6b1ec9ce73de53a368ce2a5dae13c30f4ce9d4091a5b573d2b13fd0db9f67fc850013561feb63a5a9709f57abfddcaf0d199befe1d0d04eae899dcc76b4c6db98e446db66f412567ed4a85d65bd727d6eb69169d143e1ef9da1de5add47c2b68aca330a20ee37d8c8ed6faa60465f096b13a987baba407718b86914d7a03b3145ea2246b320e45998be7864ae2876db5bfdc5532ced31abf1d0343a5e552e7516b07ee05cec2925da82ce3341eef472d5198f5981fa251983f60c083d2227610922a0bb747bf416cc8ce48b80556d205d28674363e5b3c189f2b96f2c45b4b8736be31dfc736f17da3a000753ea5d977134fcdb477f2ff0e1eb99f1ce2fbf6e650e17cc5bc61e7e86a97e08ae5302b829323a09b290f174c883f7ddd4f7b2a014dcbe8aa3275fdb6a5494457e87c881b6d44aa08ba7a957824e1235455c93a6b982fa1502662c5e00c45170ab9a16a2d87a4a2f9e19cb64671a7d98456670dc3090fe60c95ecdc45b2c5c70bc8ec3500b4af799e29e50de6380391b5a0013345e64267304b19ea6acc93976c96637e83ace5ac831224f77021c4ef5dd430d0ba96f64c1feb628b31a34cb833c06cc4bd50d0e407b46f934c01d456dcf26b3b798b1574acb6a2adc5276a55e435717f77606a1d60acf42dbee2cc5a3a1b9faef6d49e496e60540996b73e3baf25acd9a1527ad9c7b354607c616db664a4bb8843b520fb23ca065a712875502d078f7f4f8bb658565811231da9bc6463d28dd5ed99e3dd887e036f0aa3367bebc7b347a5e9c92652f581a68d618783fe34a7d6855ab2332d39704ee68fc12940672977611596e5022a148c76324329fd69384ea48f9314e47b4b19425ba0af0b9a53a1d741f4149109854513d9bfcdc0f5810d72222aa13595a963982614de8efab902b0bfbffb3d88cc2790ff357bec943f7b5f3fc7891e51058e7694a6d2d7cad498d323dbd599e022c36e2d44d137fe36a99dfd43e35de79dc54d4d3ef7a95cc6d59cd0c5cba8b94240cf0845dad5c48cf72dc5e8136cca8f6bef7c6b9be571ec9672ee8e473c27e61088a789072d649b22f6df896880cfbed63348e7d7d97a57971f14cc527891049e883592a37a262ac942be36402378bae38646a976979f8f81a3c8e28ad888fb2fd2fe66deef5a25df1a26e36d1bd058957cd2e684a30268b4b8d2a986500e8c63c2e1f88fb9d442d1a7699e424d5d389486b29d8232889b4921e852baadbda4f22d075c82d954d71fdefd05c467f34adc59a219e74b1af3193bae640d9cce26049e71d9cf6408b54cdc0ea4b48daefbd61c12f22b857d7d21b26b337d3ade8b6710e9a34bf527b5020ec845a363b141ab7fca88c3c1a406472028e6a81a0707ddcb99243324a8db4f6f63584aa55f92ac52d9fd37246688ac3ba28f423a6210e33f5eacab55c99742c49e1935084796345675b212052496a8e865ac081b4687b62368b2253047f9fb10ab07b6800345078f3539601706cd90d459da25a1f69da8570e762c9f58cfe00add3dc6f741d2692de1295a91e10c32a11aa91c04b51b6a34f4badeb5945b3394f3d2efb5fa6e05d83a2b76178cb9cd58fa04e8625451cf80cceb8fa4582f9d1298bad77acc2ca72971a8323c8f6a3e44b87244be2bb91b213ee50a02081266ec81de86a5ac1c3aefc2aca3cbc3fa1e7041f6ebf2aa7971daf33ad9dd733d9b817a51ea78a2df2988550981458fd3d2029e2e913f03bbc27f2829318f45aa90b592efb475b6940941caf209aaf23e9cbf52fc476b715837e1e1b353325f55ae6b5a32f0af8a15c2caa76411fa7bf23f5f4074a5223ec9de093206e30209ca49750b34c108d78dca72413e3fa30d5a0abfe475b203ff69f30fce6590dafb4101b1918db77f8cdcf0fa34b7bceb588ff2eda9635713e0c4e10d9a34d5251c8e95d64a8d84129ecfde6f0e57201a63f80d92dd1e75ce4fc6199a85dcdc129d67022d4fe32c84d057e15f837bb0df8cc087e6f56297d661b5797714249a33e5af0c76a4c02eba7cbdb6cb149b346463b5a10d0336ed39757c35046edce4ee95f17af6bfaf2a6c0c3a356b99645ef0039fa6e0864fa23900fcbee51669591613bf53d09e1d745212b47f902b55dde4a989224bde494795590e8a5e422ac5dd245a80d49394b03044508aab3187db92396be5444d9a03cf702efd087ef586b1d640749d47f5165abb077002458df2310fea22521e15ac3e87ee737c0da6d952ea20c4de2d910ae3e1830e59d8b98029292c96873662a02dfe6eb9dcfd8841dc15bb9d1a5656d28f0d9c072ed209e612a74f5ded239bd5e7e6b2b7f5f7e1e41670c1420b548cd02c8b75d806772b4973b1d06478438bdd273123c2172ef656a56acad637f5b240819cee12f5ee3c68cf26d1bcdcf247151c2b192edbdcc05ea10dd8b438fa64a88f6b3e1426328d5132f99bd5640721fd2229fcea8e7ec0a3d896be7dc1a842cf2ea705dc7dbe9be90c24a97647ad730bee4b75e9713422dbd03561c44f3ee97ae109bd7b176e2b3762911e09a5831eafe4f5a88823a3581e93e939a1ec2cf9a8464a4f0bd31110f6cd0505e4c9b571366f46f37940c2e467112ffbdf75b9ed22ab59862d83ecc554f392021a4121f9e1ccc74504f512af7a229db0416a744a127238412d6f72fc9c11e4a9aa34c2915badafb1f6d1e9091922980d1fd6542e3846d98701d50b727467676adee185ca748d7e3a557d977eb8f3dfe604ff7105a179dcb213151773b6b2833edacd0cab2e1f64aca961a3d9fcc20ff7387ff39bfeae2c38c1e7acea48f41da75b2a63728252f66ecef99c76cd0217b6709991535f274b76d09f91020b4fa5cca633f2e8de0b6c8535024bc4cb3557c3742c60877b8f745a75cf0eb8c5068458005a2f2e686ec16c76ea61c66b4309072da4665126cc29da4232db94b1d233e8f9ff0599d514e9da804f716f5fed4d20799be1eada9b9d01a4dce44016eef57f4b5959b3083d3c2f820972c9d1bdb63c1c5510454618406cc9f62829fc75c5bfdaf495320fae728fd023a72a65e24bf9c8b34f0495597a9bf026ebaaca3eb4337a8cdb9b400048e5a041c0e1cf05102fa6d5af62ccd0f1d53ecc8c92bfe85290b6e7141836c379751470a01c952a7660247b18a52ad524c09de5ef8b81a8cdea9328a4ef3ea643011dd3c9226837c96121adbde1c30e625a1d3382f9fb7cf0fd0b7530ec08257ca0a4cb6f12f13fe6cb22e66c68940ccbc95edf8e1a585d276cdc44b1c4d4480cae66a7349a3be3ca2a4e656765ee4ec7a8b4522a9502d2a60c23d78f41f0200f535feccc35d8c1c0d3600258f0abde4d54dfb757daa94bca61b5fafcaa58eb180a2c87b35845563131cad551b01980b187b5098a0aca759f3c08dd4435441ff9cb9759def383ef4883d0f96b82733d7aa051e429316c71536c53aff0a612316dc835336fca871b2cb0cddc19e37eb04a14da8451d73592a93e2661c4e25ea7cda955c74cfbcefd64849e71833ec584c41fc06fc05c0c354c712d75824009b7b82cbb870708e4fd6d18a718c1ae9dfcd4384b9d5b4372524bbb5122b69afadef29746356f862dd8f26c54c8704b90129a4f3b390320509707bcdf46b0e479716ddc77776d35cd31815120e6ca1c4d8912984c4f8dd48cef8936e29f703c813d784a734aaa92cdc3a3f838799a07e04e91581f4866880769a60c2cdfa623a94d2f628b2c92b1272ee573f25ce6be4d0a191c291bf3657caa60fb7d039dbc90d34c2db730c614e288750d49e4f7d3a87388d8c09bfacc7daae44fbaecb2b35be09eb734cd46e868db53ccd98cdee70d5983a3405b60f19c04fb4b66168ba84612d1bee61cd45a2ca3444b935cec73a2347295b8bfcf111cf48d372d2aee6b7162f6f2fea42cb5b6c09b93cf9b9a1a98cb51c43d5850312d044d49d3b1192b93c07f659087a992386404a32ef470f917ebabc7fcce3bba8df00e32c366ce9b4be75d9971ce6c5400258dc705a574905d2fde83c92d5454e9ad65f0e4008aa2a9524a973f5171d48ef8e47d80fd99d316285d2518fded8feaea1bcab8c0eaf93ccd88abd4e7b97525b0a37ede16a249f383c337f111cf3a55733b278025b8b4fab3f76cf25079d6558a855ec18a437409f9f8d24366eb893b7a075ecb8b67f2b0253d12f323ba9d96a27abfd7f12f0304b0ebf0e241aadb68b37d6f6fb7c05c66ae071f0f0457853d6f4808718b21bf5074e7eee64d2434c6bf835eda84d60c2535fcf2c0a297853f8b00b56269da878eaa29f10253f97c42302de37f66f815d260753a53c548123d6b8045808934de97c5903fbefa635d7dcc22439e23b08b0ab6904a10976c1279ac35d56c57b263ceedd4504a2e5187a06c0d4de96dd052023f409c34a2811410edbce2c8e381cf2931261609906a742560df85b1b50f831e8460d64b594c997e8ce04ebad630de06fe915e89012fe0e216088ad22d8f513203fbbc4e88a082860d6f0bb03774be1849fc8d938b5ac6a69408943e1024799c26187cecaa1f4ab45bb961f81afe77b46216386091027bb40a3bf548639d628caa4c2fd84eb403b8498b429741eafbd4483b7b3388ffeb391a5bf09e537d5fcd9a4ca4fce4bd406b8c261d710716d90a15a1687236e4ad243153359c7548405d20048da862b545bc3b3eac3a7f73badac8ab5f0f2ee4a911c15d1080c4cdf6997c223e09b340f5f1bb970c930b458f768a0bbbe787cb87f181820a3d122b3548d676b3e5a52cbfef06d7424ec065c1f34c230407f9f5dc002c27a9666bec439affe6fee2f5cb8b562a5241145e89e2d327a36292b125bca2e0589c20092651503720d4323e5420e094a694a43497a6d21302eb473938aeef3ed8a9433ff508e5000ce6a7e2da5986e4b7f5a70ea5fda1953b9a2dad4d1fc76b18b9412512672b9bcd7fcd401b042d452cfd055c9e24be871da22fc26ca084bc381994953f5d3b44c9c34da8804a46e522f5850223bb8524b4ee1ca02a98a348dcd61f68809b9a2d2c994b7ec6a3400754a60c7c97e8f34248a3b2a41b42000fd4e7708a54f014fe1f81d13481f7a07448e8d84fc7ff4c45235f7a23f8e5e5369e27c5acd09b24d2014ad67827dd5fd0a56d9b98d3ebdc67c541558ee991a736dbe75ffa07bc36be3f1466c5f4db9d40c9ab17dff8e591905d9143cd450a98a03535215a7b6e310559b09a91888dcd214d3e3e921407fba17d4841d813fb02799eb88d9246a5b2e81bc2a3b622bd60cf9cc9ac52f5522399b2da31211469dd913ee6c22ccb9356bce552b31a86c67fab23690aa12bd15410a1155bede7ea6e35a19cc54e5a95897e7e7d1ace542d3d11625c9151e8e50d354a43b0e7bcd4ba27103fa0b416d4215a28ff5e0828b75324d8f15d42370fb74fbf9cb90517b585b1750b3735c46c289c4ce06dd1c6d1cf5188dc9f0a3705b3a471e5a06f9ba1a3538e980302cbc01fb3636acbf1d4af2206f10ce47c7c265d87b9fe1c2f86e5011b85ce510d424a8bf6afc598c1b23c2960ce8e811dc87a5d04e63a27162b417c94b3fb820a3742f64e8848dad622fc71cc3f3ee1627a9eaef8eb6cf83fc07ac14f97069e7e0cc8049148bc544dbe750ae025f7253c62c1857893ee891c7500171b8a47b7dc093f0e71140e699174b3761857b883e13d6269d6c886298121bd25cd9f75c5c4ba61b6926f3050fe7ab0ee59044efba8834c97aba48aea29ffc1005a98d86fe7394f1c7913f316a860241824e94562b72aa93f145b7a105b396ef9d849fae164c6eabffb7f132ac0157cda518e53bc9345a8fc6406bf6f4fef30e92a46d76e4461adfb3689cecc650a35e1c840e159d4c07a249031163f48e64991dd22d19b2d61c352a9bcfe64e86e05b0db4c91c0c057f0d39d51e49a96f7292bfae2a9495e009e6b131b4a251d33566207c8cd976e0f90c20c5228f6aa8fc4817b40921060e4cf9fc34fa2e8cf01e95c8ddc326525033638c684dfd3c0cf3bce01b251733bc6adf84d9272cdf1f9984ac31a59e841eea9baf439a0e3e11c6cd14910e5077a0b0eab36820130c659ec06d74349734997430a3a5a941b89b87ad4d43df96a1a9de9f6895a47a7468840b4880625b38baf79efc5e864a1014f57f9048d8215d5d0838e65325d86db5ac83c05b0b42b0f128bc9da114ff587a81ecc555adeb7e0b35325f71840aa98a9803ced294a34148d7046e6e9ce7becfb87bedc8bd1f1d6607f9491cd08cacba949fd9ce2fbc63f03af596fec0011b2601739ab17c7dda5d70aee8f41cb9ce9f6c17ddb2a5ce6a6289b1ae4f9b3c9579dd0b5ae527814b3867156816c707d60a7c992833e7a98dcf768536cdf71da3d4aef7065036864cda69cb2c9b9fbc5f583f37fedbe5dc074e64e447e93af7fcf44b4508c8a95edec2ec3a4dfc99a7ab2d88e9f6aa470ca808bb2e636d38be9d5037b8211fe211a27f08bdce8539d5863058f8416e2b198ed1a9e58d43f98ecd06be7616a0a2e171db21d05c9b48575e2952328ad2c2989286d53d5d01e33cd8b4a458b7430f48078252f7ffa347d27231b3d3d9e8735000d40aa8adc33091f0a1f876ed81136afac82990daf70e04f684b4486164b1566d5f3674a9cb4e74c198940f46bcf9cb5905b9c16ceb551b2f528fc5c27b593369c6b2ffabf9ee54c4dba8433383091d9564a7a9981b816cb70f768149c792a69c99eed65f8bfc9b880895de49a863dfb4941cf0295388bba01c42be6f4e7fdf8961f3558fdf913c646a3ac694f51ab2fea0e4d4577fec6932a91f01dce0ab41fe046eb4bf374d75b39377f2e80754159aa967f953ce68b68e54367cceb437876f02d3433e1677b32593c1382a620bf8831dc005a21c7d12b16accfdbabf4d4c69d53a0c7e5ab4a48c9ecb16919880a8c70e2951f4dc0d446dc9ea532896cd2d64ddc78153b57f5a96650a13acfad69d13a7cb9efd17c02e667beadf5c64c6b2a3188deabea47a6c53fbf9a5bcd0be4b8427de99c26187cecaa1f4ab45bb961f81afe77b46216386091027bb40a3bf548639d6e9e189f67036519dee56cba6d9f7199d88b0d5e4bae99e009df96d9c9f9f82dffcd9a4ca4fce4bd406b8c261d710716d90a15a1687236e4ad243153359c7548405d20048da862b545bc3b3eac3a7f73badac8ab5f0f2ee4a911c15d1080c4cdf6997c223e09b340f5f1bb970c930b458f768a0bbbe787cb87f181820a3d122b3548d676b3e5a52cbfef06d7424ec065c1f34c230407f9f5dc002c27a9666bec439affe6fee2f5cb8b562a5241145e89e2d327a36292b125bca2e0589c2009265197a9aaa289033c0d5627efe02e9eddca6d8b0f37779684395f0a475b44ebb80a7be11122a781a1e57c6b6565276c031e318561efcbe1f420db483d48240c6345971057f333fd11d9e1f865f38aa21abd5b56fe96fcf51458743f6ff400989fb5687e950862b070f2d9d963564fcc0c2db8e9334b1097a18eb19d899b099ddc1f1708fd28633977c395ffa659ceb976f447ebfb3b699ab24c1fb14f87efbc65e5255b6f1cadb7351ffcd34c3f4794fd0d9b6115e37bc65bce2ada6daa448402a99c26187cecaa1f4ab45bb961f81afe77b46216386091027bb40a3bf548639d6ca043c7551518f99b1109a874cbf63bc08a171b1218e2d64efb123230ab70cc8f5a0d88bd0ae63f8cdf0404667dfa63abab4f26a366494474260c974c7e24068f8a031f276d3a7192ecd518e0eda721fffe9783143cc8cb8b61d18095a42a6e1fcd9a4ca4fce4bd406b8c261d710716d90a15a1687236e4ad243153359c7548405d20048da862b545bc3b3eac3a7f73badac8ab5f0f2ee4a911c15d1080c4cdf6997c223e09b340f5f1bb970c930b458f768a0bbbe787cb87f181820a3d122b3548d676b3e5a52cbfef06d7424ec065c1f34c230407f9f5dc002c27a9666bec439affe6fee2f5cb8b562a5241145e89e2d327a36292b125bca2e0589c2009265rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootghc-8.10.7-150500.3.2.5.src.rpmghc-base-develghc-base-devel(s390-64)ghc-devel(base-4.14.3.0)ghc-devel(ghc-prim-0.6.1)ghc-devel(integer-gmp-1.0.3.0)@@    /bin/sh/bin/shghc-base(s390-64)ghc-compilerghc-compilerghc-compilerghc-devel(ghc-prim-0.6.1)ghc-devel(integer-gmp-1.0.3.0)gmp-devellibdw-devellibelf-devellibffi-develrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)4.14.3.0-150500.3.2.58.10.78.10.78.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/shs390zp39 1687572276  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~4.14.3.0-150500.3.2.54.14.3.0-150500.3.2.5      !!!!!!"""###$$$$%&&&&&&&&&%%%%%%$'''$$$$(((((($$$$$$$))))))$$$$$$$******$++++++$$$,------,,,,,,,...,,,,///000011122233333455555555555555556665555555554444788888888888899999999999999999999999999999999999999::9;;;;;;;;;;8<<<<<<<<<=>>>>?@@@????AAA???===BB==CCCCDEEEEEEEEEEFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHFIIIIIIIIIIIIIIIControlApplicative.dyn_hiApplicative.hiApplicative.p_hiArrow.dyn_hiArrow.hiArrow.p_hiCategory.dyn_hiCategory.hiCategory.p_hiConcurrentConcurrent.dyn_hiConcurrent.hiConcurrent.p_hiChan.dyn_hiChan.hiChan.p_hiMVar.dyn_hiMVar.hiMVar.p_hiQSem.dyn_hiQSem.hiQSem.p_hiQSemN.dyn_hiQSemN.hiQSemN.p_hiExceptionException.dyn_hiException.hiException.p_hiBase.dyn_hiBase.hiBase.p_hiMonadMonad.dyn_hiMonad.hiMonad.p_hiFail.dyn_hiFail.hiFail.p_hiFix.dyn_hiFix.hiFix.p_hiIOClass.dyn_hiClass.hiClass.p_hiInstances.dyn_hiInstances.hiInstances.p_hiSTST.dyn_hiST.hiST.p_hiImp.dyn_hiImp.hiImp.p_hiLazyLazy.dyn_hiLazy.hiLazy.p_hiImp.dyn_hiImp.hiImp.p_hiSafe.dyn_hiSafe.hiSafe.p_hiUnsafe.dyn_hiUnsafe.hiUnsafe.p_hiSafe.dyn_hiSafe.hiSafe.p_hiStrict.dyn_hiStrict.hiStrict.p_hiUnsafe.dyn_hiUnsafe.hiUnsafe.p_hiZip.dyn_hiZip.hiZip.p_hiDataBifoldable.dyn_hiBifoldable.hiBifoldable.p_hiBifunctor.dyn_hiBifunctor.hiBifunctor.p_hiBitraversable.dyn_hiBitraversable.hiBitraversable.p_hiBits.dyn_hiBits.hiBits.p_hiBool.dyn_hiBool.hiBool.p_hiChar.dyn_hiChar.hiChar.p_hiCoerce.dyn_hiCoerce.hiCoerce.p_hiComplex.dyn_hiComplex.hiComplex.p_hiData.dyn_hiData.hiData.p_hiDynamic.dyn_hiDynamic.hiDynamic.p_hiEither.dyn_hiEither.hiEither.p_hiEq.dyn_hiEq.hiEq.p_hiFixed.dyn_hiFixed.hiFixed.p_hiFoldable.dyn_hiFoldable.hiFoldable.p_hiFunction.dyn_hiFunction.hiFunction.p_hiFunctorFunctor.dyn_hiFunctor.hiFunctor.p_hiClasses.dyn_hiClasses.hiClasses.p_hiCompose.dyn_hiCompose.hiCompose.p_hiConst.dyn_hiConst.hiConst.p_hiContravariant.dyn_hiContravariant.hiContravariant.p_hiIdentity.dyn_hiIdentity.hiIdentity.p_hiProduct.dyn_hiProduct.hiProduct.p_hiSum.dyn_hiSum.hiSum.p_hiUtils.dyn_hiUtils.hiUtils.p_hiIORef.dyn_hiIORef.hiIORef.p_hiInt.dyn_hiInt.hiInt.p_hiIx.dyn_hiIx.hiIx.p_hiKind.dyn_hiKind.hiKind.p_hiListList.dyn_hiList.hiList.p_hiNonEmpty.dyn_hiNonEmpty.hiNonEmpty.p_hiMaybe.dyn_hiMaybe.hiMaybe.p_hiMonoid.dyn_hiMonoid.hiMonoid.p_hiOldList.dyn_hiOldList.hiOldList.p_hiOrd.dyn_hiOrd.hiOrd.p_hiProxy.dyn_hiProxy.hiProxy.p_hiRatio.dyn_hiRatio.hiRatio.p_hiSTRefSTRef.dyn_hiSTRef.hiSTRef.p_hiLazy.dyn_hiLazy.hiLazy.p_hiStrict.dyn_hiStrict.hiStrict.p_hiSemigroupSemigroup.dyn_hiSemigroup.hiSemigroup.p_hiInternal.dyn_hiInternal.hiInternal.p_hiString.dyn_hiString.hiString.p_hiTraversable.dyn_hiTraversable.hiTraversable.p_hiTuple.dyn_hiTuple.hiTuple.p_hiTypeBool.dyn_hiBool.hiBool.p_hiCoercion.dyn_hiCoercion.hiCoercion.p_hiEquality.dyn_hiEquality.hiEquality.p_hiTypeableTypeable.dyn_hiTypeable.hiTypeable.p_hiInternal.dyn_hiInternal.hiInternal.p_hiUnique.dyn_hiUnique.hiUnique.p_hiVersion.dyn_hiVersion.hiVersion.p_hiVoid.dyn_hiVoid.hiVoid.p_hiWord.dyn_hiWord.hiWord.p_hiDebugTrace.dyn_hiTrace.hiTrace.p_hiForeignForeign.dyn_hiForeign.hiForeign.p_hiCC.dyn_hiC.hiC.p_hiError.dyn_hiError.hiError.p_hiString.dyn_hiString.hiString.p_hiTypes.dyn_hiTypes.hiTypes.p_hiConcurrent.dyn_hiConcurrent.hiConcurrent.p_hiForeignPtrForeignPtr.dyn_hiForeignPtr.hiForeignPtr.p_hiImp.dyn_hiImp.hiImp.p_hiSafe.dyn_hiSafe.hiSafe.p_hiUnsafe.dyn_hiUnsafe.hiUnsafe.p_hiMarshalMarshal.dyn_hiMarshal.hiMarshal.p_hiAlloc.dyn_hiAlloc.hiAlloc.p_hiArray.dyn_hiArray.hiArray.p_hiError.dyn_hiError.hiError.p_hiPool.dyn_hiPool.hiPool.p_hiSafe.dyn_hiSafe.hiSafe.p_hiUnsafe.dyn_hiUnsafe.hiUnsafe.p_hiUtils.dyn_hiUtils.hiUtils.p_hiPtr.dyn_hiPtr.hiPtr.p_hiSafe.dyn_hiSafe.hiSafe.p_hiStablePtr.dyn_hiStablePtr.hiStablePtr.p_hiStorable.dyn_hiStorable.hiStorable.p_hiGHCArr.dyn_hiArr.hiArr.p_hiBase.dyn_hiBase.hiBase.p_hiByteOrder.dyn_hiByteOrder.hiByteOrder.p_hiChar.dyn_hiChar.hiChar.p_hiClock.dyn_hiClock.hiClock.p_hiConcConc.dyn_hiConc.hiConc.p_hiIO.dyn_hiIO.hiIO.p_hiSignal.dyn_hiSignal.hiSignal.p_hiSync.dyn_hiSync.hiSync.p_hiConsoleHandler.dyn_hiConsoleHandler.hiConsoleHandler.p_hiConstants.dyn_hiConstants.hiConstants.p_hiDesugar.dyn_hiDesugar.hiDesugar.p_hiEnum.dyn_hiEnum.hiEnum.p_hiEnvironment.dyn_hiEnvironment.hiEnvironment.p_hiErr.dyn_hiErr.hiErr.p_hiEventEvent.dyn_hiEvent.hiEvent.p_hiArr.dyn_hiArr.hiArr.p_hiArray.dyn_hiArray.hiArray.p_hiControl.dyn_hiControl.hiControl.p_hiEPoll.dyn_hiEPoll.hiEPoll.p_hiIntTable.dyn_hiIntTable.hiIntTable.p_hiInternal.dyn_hiInternal.hiInternal.p_hiKQueue.dyn_hiKQueue.hiKQueue.p_hiManager.dyn_hiManager.hiManager.p_hiPSQ.dyn_hiPSQ.hiPSQ.p_hiPoll.dyn_hiPoll.hiPoll.p_hiThread.dyn_hiThread.hiThread.p_hiTimerManager.dyn_hiTimerManager.hiTimerManager.p_hiUnique.dyn_hiUnique.hiUnique.p_hiExceptionException.dyn_hiException.hiException.p_hiType.dyn_hiType.hiType.p_hiExecutionStackExecutionStack.dyn_hiExecutionStack.hiExecutionStack.p_hiInternal.dyn_hiInternal.hiInternal.p_hiExts.dyn_hiExts.hiExts.p_hiFingerprintFingerprint.dyn_hiFingerprint.hiFingerprint.p_hiType.dyn_hiType.hiType.p_hiFloatFloat.dyn_hiFloat.hiFloat.p_hiConversionUtils.dyn_hiConversionUtils.hiConversionUtils.p_hiRealFracMethods.dyn_hiRealFracMethods.hiRealFracMethods.p_hiForeign.dyn_hiForeign.hiForeign.p_hiForeignPtr.dyn_hiForeignPtr.hiForeignPtr.p_hiGHCiGHCi.dyn_hiGHCi.hiGHCi.p_hiHelpers.dyn_hiHelpers.hiHelpers.p_hiGenerics.dyn_hiGenerics.hiGenerics.p_hiIOIO.dyn_hiIO.hiIO.p_hiBuffer.dyn_hiBuffer.hiBuffer.p_hiBufferedIO.dyn_hiBufferedIO.hiBufferedIO.p_hiDevice.dyn_hiDevice.hiDevice.p_hiEncodingEncoding.dyn_hiEncoding.hiEncoding.p_hiCodePage.dyn_hiCodePage.hiCodePage.p_hiFailure.dyn_hiFailure.hiFailure.p_hiIconv.dyn_hiIconv.hiIconv.p_hiLatin1.dyn_hiLatin1.hiLatin1.p_hiTypes.dyn_hiTypes.hiTypes.p_hiUTF16.dyn_hiUTF16.hiUTF16.p_hiUTF32.dyn_hiUTF32.hiUTF32.p_hiUTF8.dyn_hiUTF8.hiUTF8.p_hiException.dyn_hiException.hiException.p_hiFD.dyn_hiFD.hiFD.p_hiHandleHandle.dyn_hiHandle.hiHandle.p_hiFD.dyn_hiFD.hiFD.p_hiInternals.dyn_hiInternals.hiInternals.p_hiLockLock.dyn_hiLock.hiLock.p_hiCommon.dyn_hiCommon.hiCommon.p_hiFlock.dyn_hiFlock.hiFlock.p_hiLinuxOFD.dyn_hiLinuxOFD.hiLinuxOFD.p_hiNoOp.dyn_hiNoOp.hiNoOp.p_hiWindows.dyn_hiWindows.hiWindows.p_hiText.dyn_hiText.hiText.p_hiTypes.dyn_hiTypes.hiTypes.p_hiIOMode.dyn_hiIOMode.hiIOMode.p_hiUnsafe.dyn_hiUnsafe.hiUnsafe.p_hiIOArray.dyn_hiIOArray.hiIOArray.p_hiIORef.dyn_hiIORef.hiIORef.p_hiInt.dyn_hiInt.hiInt.p_hiIx.dyn_hiIx.hiIx.p_hiList.dyn_hiList.hiList.p_hiMVar.dyn_hiMVar.hiMVar.p_hiMaybe.dyn_hiMaybe.hiMaybe.p_hiNatural.dyn_hiNatural.hiNatural.p_hiNum.dyn_hiNum.hiNum.p_hiOldList.dyn_hiOldList.hiOldList.p_hiOverloadedLabels.dyn_hiOverloadedLabels.hiOverloadedLabels.p_hiPack.dyn_hiPack.hiPack.p_hiProfiling.dyn_hiProfiling.hiProfiling.p_hiPtr.dyn_hiPtr.hiPtr.p_hiRTSFlags.dyn_hiFlags.hiFlags.p_hiRead.dyn_hiRead.hiRead.p_hiReal.dyn_hiReal.hiReal.p_hiRecords.dyn_hiRecords.hiRecords.p_hiResponseFile.dyn_hiResponseFile.hiResponseFile.p_hiST.dyn_hiST.hiST.p_hiSTRef.dyn_hiSTRef.hiSTRef.p_hiShow.dyn_hiShow.hiShow.p_hiStable.dyn_hiStable.hiStable.p_hiStableName.dyn_hiStableName.hiStableName.p_hiStackStack.dyn_hiStack.hiStack.p_hiCCS.dyn_hiCCS.hiCCS.p_hiTypes.dyn_hiTypes.hiTypes.p_hiStaticPtrStaticPtr.dyn_hiStaticPtr.hiStaticPtr.p_hiInternal.dyn_hiInternal.hiInternal.p_hiStats.dyn_hiStats.hiStats.p_hiStorable.dyn_hiStorable.hiStorable.p_hiTopHandler.dyn_hiTopHandler.hiTopHandler.p_hiTypeLits.dyn_hiTypeLits.hiTypeLits.p_hiTypeNats.dyn_hiTypeNats.hiTypeNats.p_hiUnicode.dyn_hiUnicode.hiUnicode.p_hiWeak.dyn_hiWeak.hiWeak.p_hiWord.dyn_hiWord.hiWord.p_hiHSbase-4.14.3.0.oHSbase-4.14.3.0.p_oNumericNumeric.dyn_hiNumeric.hiNumeric.p_hiNatural.dyn_hiNatural.hiNatural.p_hiPrelude.dyn_hiPrelude.hiPrelude.p_hiSystemCPUTimeCPUTime.dyn_hiCPUTime.hiCPUTime.p_hiPosixClockGetTime.dyn_hiClockGetTime.hiClockGetTime.p_hiRUsage.dyn_hiRUsage.hiRUsage.p_hiTimes.dyn_hiTimes.hiTimes.p_hiUnsupported.dyn_hiUnsupported.hiUnsupported.p_hiUtils.dyn_hiUtils.hiUtils.p_hiConsoleGetOpt.dyn_hiGetOpt.hiGetOpt.p_hiEnvironmentEnvironment.dyn_hiEnvironment.hiEnvironment.p_hiBlank.dyn_hiBlank.hiBlank.p_hiExecutablePath.dyn_hiExecutablePath.hiExecutablePath.p_hiExit.dyn_hiExit.hiExit.p_hiIOIO.dyn_hiIO.hiIO.p_hiError.dyn_hiError.hiError.p_hiUnsafe.dyn_hiUnsafe.hiUnsafe.p_hiInfo.dyn_hiInfo.hiInfo.p_hiMemMem.dyn_hiMem.hiMem.p_hiStableName.dyn_hiStableName.hiStableName.p_hiWeak.dyn_hiWeak.hiWeak.p_hiPosixInternals.dyn_hiInternals.hiInternals.p_hiTypes.dyn_hiTypes.hiTypes.p_hiTimeout.dyn_hiTimeout.hiTimeout.p_hiTextParserCombinatorsReadP.dyn_hiReadP.hiReadP.p_hiReadPrec.dyn_hiReadPrec.hiReadPrec.p_hiPrintf.dyn_hiPrintf.hiPrintf.p_hiReadRead.dyn_hiRead.hiRead.p_hiLex.dyn_hiLex.hiLex.p_hiShowShow.dyn_hiShow.hiShow.p_hiFunctions.dyn_hiFunctions.hiFunctions.p_hiTypeReflectionReflection.dyn_hiReflection.hiReflection.p_hiUnsafe.dyn_hiUnsafe.hiUnsafe.p_hiUnsafeCoerce.dyn_hiCoerce.hiCoerce.p_hiincludeEventConfig.hHsBase.hHsBaseConfig.hWCsubst.hconsUtils.hlibHSbase-4.14.3.0.alibHSbase-4.14.3.0_p.aGHCCString.dyn_hiCString.hiCString.p_hiClasses.dyn_hiClasses.hiClasses.p_hiDebug.dyn_hiDebug.hiDebug.p_hiIntWord64.dyn_hiIntWord64.hiIntWord64.p_hiMagic.dyn_hiMagic.hiMagic.p_hiPrimExt.dyn_hiExt.hiExt.p_hiPrimopWrappers.dyn_hiPrimopWrappers.hiPrimopWrappers.p_hiTuple.dyn_hiTuple.hiTuple.p_hiTypes.dyn_hiTypes.hiTypes.p_hiHSghc-prim-0.6.1.oHSghc-prim-0.6.1.p_olibHSghc-prim-0.6.1.alibHSghc-prim-0.6.1_p.aincludeCmm.hDerivedConstants.hHsFFI.hMachDeps.hRts.hRtsAPI.hStg.hghcautoconf.hghcconfig.hghcplatform.hghcversion.hrtsAdjustor.hBlockSignals.hBytecodes.hConfig.hConstants.hEventLogFormat.hEventLogWriter.hFileLock.hFlags.hForeignExports.hGetTime.hGlobals.hHpc.hIOManager.hLibdw.hLibdwPool.hLinker.hMain.hMessages.hNonMoving.hOSThreads.hParallel.hPrimFloat.hProfiling.hSignals.hSpinLock.hStableName.hStablePtr.hStaticPtrTable.hTSANUtils.hTTY.hThreads.hTicky.hTime.hTimer.hTypes.hUtils.hprofCCS.hLDV.hstorageBlock.hClosureMacros.hClosureTypes.hClosures.hFunTypes.hGC.hHeap.hInfoTables.hMBlock.hTSO.hstgDLL.hMachRegs.hMachRegsForHost.hMiscClosures.hPrim.hRegs.hSMP.hTicky.hTypes.hGHCIntegerInteger.dyn_hiInteger.hiInteger.p_hiGMPInternals.dyn_hiInternals.hiInternals.p_hiLogarithmsLogarithms.dyn_hiLogarithms.hiLogarithms.p_hiInternals.dyn_hiInternals.hiInternals.p_hiType.dyn_hiType.hiType.p_hiHSinteger-gmp-1.0.3.0.oHSinteger-gmp-1.0.3.0.p_oincludeHsIntegerGmp.hghc-gmp.hlibHSinteger-gmp-1.0.3.0.alibHSinteger-gmp-1.0.3.0_p.abase-4.14.3.0.confghc-prim-0.6.1.confinteger-gmp-1.0.3.0.confrts.confrtslibHSrts.alibHSrts_debug.alibHSrts_debug_p.alibHSrts_l.alibHSrts_p.alibHSrts_thr.alibHSrts_thr_debug.alibHSrts_thr_debug_p.alibHSrts_thr_l.alibHSrts_thr_p.abase-4.14.3.0Control-Applicative.htmlControl-Arrow.htmlControl-Category.htmlControl-Concurrent-Chan.htmlControl-Concurrent-MVar.htmlControl-Concurrent-QSem.htmlControl-Concurrent-QSemN.htmlControl-Concurrent.htmlControl-Exception-Base.htmlControl-Exception.htmlControl-Monad-Fail.htmlControl-Monad-Fix.htmlControl-Monad-IO-Class.htmlControl-Monad-Instances.htmlControl-Monad-ST-Lazy-Safe.htmlControl-Monad-ST-Lazy-Unsafe.htmlControl-Monad-ST-Lazy.htmlControl-Monad-ST-Safe.htmlControl-Monad-ST-Strict.htmlControl-Monad-ST-Unsafe.htmlControl-Monad-ST.htmlControl-Monad-Zip.htmlControl-Monad.htmlData-Bifoldable.htmlData-Bifunctor.htmlData-Bitraversable.htmlData-Bits.htmlData-Bool.htmlData-Char.htmlData-Coerce.htmlData-Complex.htmlData-Data.htmlData-Dynamic.htmlData-Either.htmlData-Eq.htmlData-Fixed.htmlData-Foldable.htmlData-Function.htmlData-Functor-Classes.htmlData-Functor-Compose.htmlData-Functor-Const.htmlData-Functor-Contravariant.htmlData-Functor-Identity.htmlData-Functor-Product.htmlData-Functor-Sum.htmlData-Functor.htmlData-IORef.htmlData-Int.htmlData-Ix.htmlData-Kind.htmlData-List-NonEmpty.htmlData-List.htmlData-Maybe.htmlData-Monoid.htmlData-Ord.htmlData-Proxy.htmlData-Ratio.htmlData-STRef-Lazy.htmlData-STRef-Strict.htmlData-STRef.htmlData-Semigroup.htmlData-String.htmlData-Traversable.htmlData-Tuple.htmlData-Type-Bool.htmlData-Type-Coercion.htmlData-Type-Equality.htmlData-Typeable.htmlData-Unique.htmlData-Version.htmlData-Void.htmlData-Word.htmlDebug-Trace.htmlForeign-C-Error.htmlForeign-C-String.htmlForeign-C-Types.htmlForeign-C.htmlForeign-Concurrent.htmlForeign-ForeignPtr-Safe.htmlForeign-ForeignPtr-Unsafe.htmlForeign-ForeignPtr.htmlForeign-Marshal-Alloc.htmlForeign-Marshal-Array.htmlForeign-Marshal-Error.htmlForeign-Marshal-Pool.htmlForeign-Marshal-Safe.htmlForeign-Marshal-Unsafe.htmlForeign-Marshal-Utils.htmlForeign-Marshal.htmlForeign-Ptr.htmlForeign-Safe.htmlForeign-StablePtr.htmlForeign-Storable.htmlForeign.htmlGHC-Arr.htmlGHC-Base.htmlGHC-ByteOrder.htmlGHC-Char.htmlGHC-Clock.htmlGHC-Conc-IO.htmlGHC-Conc-Signal.htmlGHC-Conc-Sync.htmlGHC-Conc.htmlGHC-ConsoleHandler.htmlGHC-Constants.htmlGHC-Desugar.htmlGHC-Enum.htmlGHC-Environment.htmlGHC-Err.htmlGHC-Event.htmlGHC-Exception-Type.htmlGHC-Exception.htmlGHC-ExecutionStack-Internal.htmlGHC-ExecutionStack.htmlGHC-Exts.htmlGHC-Fingerprint-Type.htmlGHC-Fingerprint.htmlGHC-Float-ConversionUtils.htmlGHC-Float-RealFracMethods.htmlGHC-Float.htmlGHC-Foreign.htmlGHC-ForeignPtr.htmlGHC-GHCi-Helpers.htmlGHC-GHCi.htmlGHC-Generics.htmlGHC-IO-Buffer.htmlGHC-IO-BufferedIO.htmlGHC-IO-Device.htmlGHC-IO-Encoding-CodePage.htmlGHC-IO-Encoding-Failure.htmlGHC-IO-Encoding-Iconv.htmlGHC-IO-Encoding-Latin1.htmlGHC-IO-Encoding-Types.htmlGHC-IO-Encoding-UTF16.htmlGHC-IO-Encoding-UTF32.htmlGHC-IO-Encoding-UTF8.htmlGHC-IO-Encoding.htmlGHC-IO-Exception.htmlGHC-IO-FD.htmlGHC-IO-Handle-FD.htmlGHC-IO-Handle-Internals.htmlGHC-IO-Handle-Lock.htmlGHC-IO-Handle-Text.htmlGHC-IO-Handle-Types.htmlGHC-IO-Handle.htmlGHC-IO-IOMode.htmlGHC-IO-Unsafe.htmlGHC-IO.htmlGHC-IOArray.htmlGHC-IORef.htmlGHC-Int.htmlGHC-Ix.htmlGHC-List.htmlGHC-MVar.htmlGHC-Maybe.htmlGHC-Natural.htmlGHC-Num.htmlGHC-OldList.htmlGHC-OverloadedLabels.htmlGHC-Pack.htmlGHC-Profiling.htmlGHC-Ptr.htmlGHC-RTS-Flags.htmlGHC-Read.htmlGHC-Real.htmlGHC-Records.htmlGHC-ResponseFile.htmlGHC-ST.htmlGHC-STRef.htmlGHC-Show.htmlGHC-Stable.htmlGHC-StableName.htmlGHC-Stack-CCS.htmlGHC-Stack-Types.htmlGHC-Stack.htmlGHC-StaticPtr.htmlGHC-Stats.htmlGHC-Storable.htmlGHC-TopHandler.htmlGHC-TypeLits.htmlGHC-TypeNats.htmlGHC-Unicode.htmlGHC-Weak.htmlGHC-Word.htmlNumeric-Natural.htmlNumeric.htmlPrelude.htmlSystem-CPUTime.htmlSystem-Console-GetOpt.htmlSystem-Environment-Blank.htmlSystem-Environment.htmlSystem-Exit.htmlSystem-IO-Error.htmlSystem-IO-Unsafe.htmlSystem-IO.htmlSystem-Info.htmlSystem-Mem-StableName.htmlSystem-Mem-Weak.htmlSystem-Mem.htmlSystem-Posix-Internals.htmlSystem-Posix-Types.htmlSystem-Timeout.htmlText-ParserCombinators-ReadP.htmlText-ParserCombinators-ReadPrec.htmlText-Printf.htmlText-Read-Lex.htmlText-Read.htmlText-Show-Functions.htmlText-Show.htmlType-Reflection-Unsafe.htmlType-Reflection.htmlUnsafe-Coerce.htmlbase.haddockbase.txtdoc-index-124.htmldoc-index-126.htmldoc-index-33.htmldoc-index-36.htmldoc-index-37.htmldoc-index-38.htmldoc-index-42.htmldoc-index-43.htmldoc-index-45.htmldoc-index-46.htmldoc-index-47.htmldoc-index-58.htmldoc-index-60.htmldoc-index-61.htmldoc-index-62.htmldoc-index-92.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.jsonhaddock-bundle.min.jsindex.htmllinuwial.cssmeta.jsonquick-jump.cssquick-jump.min.jssynopsis.pngghc-prim-0.6.1GHC-CString.htmlGHC-Classes.htmlGHC-Debug.htmlGHC-IntWord64.htmlGHC-Magic.htmlGHC-Prim-Ext.htmlGHC-Prim.htmlGHC-PrimopWrappers.htmlGHC-Tuple.htmlGHC-Types.htmldoc-index-124.htmldoc-index-126.htmldoc-index-38.htmldoc-index-42.htmldoc-index-43.htmldoc-index-45.htmldoc-index-47.htmldoc-index-60.htmldoc-index-61.htmldoc-index-62.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-I.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.htmldoc-index.jsonghc-prim.haddockghc-prim.txthaddock-bundle.min.jsindex.htmllinuwial.cssmeta.jsonquick-jump.cssquick-jump.min.jssynopsis.pnginteger-gmp-1.0.3.0GHC-Integer-GMP-Internals.htmlGHC-Integer-Logarithms-Internals.htmlGHC-Integer-Logarithms.htmlGHC-Integer.htmldoc-index.htmldoc-index.jsonhaddock-bundle.min.jsindex.htmlinteger-gmp.haddockinteger-gmp.txtlinuwial.cssmeta.jsonquick-jump.cssquick-jump.min.jssynopsis.png/usr/lib64/ghc-8.10.7/base-4.14.3.0//usr/lib64/ghc-8.10.7/base-4.14.3.0/Control//usr/lib64/ghc-8.10.7/base-4.14.3.0/Control/Concurrent//usr/lib64/ghc-8.10.7/base-4.14.3.0/Control/Exception//usr/lib64/ghc-8.10.7/base-4.14.3.0/Control/Monad//usr/lib64/ghc-8.10.7/base-4.14.3.0/Control/Monad/IO//usr/lib64/ghc-8.10.7/base-4.14.3.0/Control/Monad/ST//usr/lib64/ghc-8.10.7/base-4.14.3.0/Control/Monad/ST/Lazy//usr/lib64/ghc-8.10.7/base-4.14.3.0/Data//usr/lib64/ghc-8.10.7/base-4.14.3.0/Data/Functor//usr/lib64/ghc-8.10.7/base-4.14.3.0/Data/List//usr/lib64/ghc-8.10.7/base-4.14.3.0/Data/STRef//usr/lib64/ghc-8.10.7/base-4.14.3.0/Data/Semigroup//usr/lib64/ghc-8.10.7/base-4.14.3.0/Data/Type//usr/lib64/ghc-8.10.7/base-4.14.3.0/Data/Typeable//usr/lib64/ghc-8.10.7/base-4.14.3.0/Debug//usr/lib64/ghc-8.10.7/base-4.14.3.0/Foreign//usr/lib64/ghc-8.10.7/base-4.14.3.0/Foreign/C//usr/lib64/ghc-8.10.7/base-4.14.3.0/Foreign/ForeignPtr//usr/lib64/ghc-8.10.7/base-4.14.3.0/Foreign/Marshal//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/Conc//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/Event//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/Exception//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/ExecutionStack//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/Fingerprint//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/Float//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/GHCi//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/IO//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/IO/Encoding//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/IO/Handle//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/IO/Handle/Lock//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/RTS//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/Stack//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/StaticPtr//usr/lib64/ghc-8.10.7/base-4.14.3.0/Numeric//usr/lib64/ghc-8.10.7/base-4.14.3.0/System//usr/lib64/ghc-8.10.7/base-4.14.3.0/System/CPUTime//usr/lib64/ghc-8.10.7/base-4.14.3.0/System/CPUTime/Posix//usr/lib64/ghc-8.10.7/base-4.14.3.0/System/Console//usr/lib64/ghc-8.10.7/base-4.14.3.0/System/Environment//usr/lib64/ghc-8.10.7/base-4.14.3.0/System/IO//usr/lib64/ghc-8.10.7/base-4.14.3.0/System/Mem//usr/lib64/ghc-8.10.7/base-4.14.3.0/System/Posix//usr/lib64/ghc-8.10.7/base-4.14.3.0/Text//usr/lib64/ghc-8.10.7/base-4.14.3.0/Text/ParserCombinators//usr/lib64/ghc-8.10.7/base-4.14.3.0/Text/Read//usr/lib64/ghc-8.10.7/base-4.14.3.0/Text/Show//usr/lib64/ghc-8.10.7/base-4.14.3.0/Type//usr/lib64/ghc-8.10.7/base-4.14.3.0/Type/Reflection//usr/lib64/ghc-8.10.7/base-4.14.3.0/Unsafe//usr/lib64/ghc-8.10.7/base-4.14.3.0/include//usr/lib64/ghc-8.10.7/ghc-prim-0.6.1//usr/lib64/ghc-8.10.7/ghc-prim-0.6.1/GHC//usr/lib64/ghc-8.10.7/ghc-prim-0.6.1/GHC/Prim//usr/lib64/ghc-8.10.7//usr/lib64/ghc-8.10.7/include//usr/lib64/ghc-8.10.7/include/rts//usr/lib64/ghc-8.10.7/include/rts/prof//usr/lib64/ghc-8.10.7/include/rts/storage//usr/lib64/ghc-8.10.7/include/stg//usr/lib64/ghc-8.10.7/integer-gmp-1.0.3.0//usr/lib64/ghc-8.10.7/integer-gmp-1.0.3.0/GHC//usr/lib64/ghc-8.10.7/integer-gmp-1.0.3.0/GHC/Integer//usr/lib64/ghc-8.10.7/integer-gmp-1.0.3.0/GHC/Integer/GMP//usr/lib64/ghc-8.10.7/integer-gmp-1.0.3.0/GHC/Integer/Logarithms//usr/lib64/ghc-8.10.7/integer-gmp-1.0.3.0/include//usr/lib64/ghc-8.10.7/package.conf.d//usr/lib64/ghc-8.10.7//usr/lib64/ghc-8.10.7/rts//usr/share/doc/ghc-8.10.7/html/libraries//usr/share/doc/ghc-8.10.7/html/libraries/base-4.14.3.0//usr/share/doc/ghc-8.10.7/html/libraries/ghc-prim-0.6.1//usr/share/doc/ghc-8.10.7/html/libraries/integer-gmp-1.0.3.0/-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_Updatedrpmxz5s390x-suse-linux      directoryELF 64-bit MSB relocatable, IBM S/390, version 1 (SYSV), not strippedASCII textC source, ASCII textcurrent ar archiveHTML 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-interlacedPRRPPRtGF@FGlǹutf-8eccabcfc275f82ce8a32a53e69f01f8813b4cd2c4753f7aa44a2eff02d3897d7?7zXZ !t/J8C]"k%!:r ,HG S1=.I' pWĀiǍ&<_fdUkiwqTS2+$G! g_.)*۫1h aT~pxC6jXx`w돒mY6/եTkj]>hѼi, ')]Qd0sQZaM @a5Kw d*ڝ&ȹ41%ش)RcP=儁jiT?x]AipkJ1Ŵyz0Q̐ 靫XI];V1Y{9rZך;,;*0ztK췬^>%|"i$}%f%/'Z;MTQbWN(UiV'Ph'ȥEʘ"ô:ы9A-aJOVT q}]މJâeE6;61L_M :7_\K?RG(:lZGa䈮-M vj$%3P"_aub̋^4 {)2?ؙ9IAKx"Z% 2pAsP+84G?G2߮Dac`7ŀަ-iƠQY*/֗CG[E!(PU:8hM  SϬ`929c6J}'CF Gm@kXruw B'OH5y 窡_,MA=,%BawiFӧ k#Q ",r\r>a4 FޜϖGϠ\@ɐcR)6$jBPT*/`Ɠ{ pQQA zӝK(%wL@#x2Dpt6ؚpэ.ֺ̻:u^wgw%ze6:['e "hЎ[K6!/XT%%j#ᕪ |U3k<~5y~wDV޸^EQ ydn]ٟ^^tH{?U ]rÏ3̮#s6Z T]#-z" 'K^}9y~k2: ){_d꼞XDew0?HW/K08AQ}l/$3?g@@ _J.#rmIna{`{e)?"&$[GDB:MZ<0m:!+8Bjd)m+/psfQ$ $wJ .k$}3"|I"Ovc&pvٍ-@h4 9ҕq8oYZdމf)fz/eφe@5=I,GzWyo[f* qؕVD덠tEi7byah7m;5MX?N%(C\ "9XfC{V(XakĔ=%b@ƒ/&E _}"8Ȇ$78\&濒;'TxO\wJʊ܂0 P8m#v 5̝Y25c М: LcPZPaՓ37;a`jgU \+z@bTZ+rjγiM3>g. ;`".6#Wv&uzyE~5_4m[Jˠ$@R⧰;[e#^0%e XHR$?Py/C$+BycB.E^up60ƜmA`3;Z[Z`Ye*:h3KpYP T}5.>ҧ^1 }2`(~i.|r\qy h*1ps7?>qBU{rF?VׁF2Ħ&wWABw/A~U8(;q_ţWxE8-D"{$ȕ/^#=*7ݒ}Ҩ]6:VKy'<: *IȹJ:n&Qi{):nEVel0 -o6nz{dc֫sWRƃaR6*##s+[MԤQ `g=6X(k`[)"u'.s֞jA6lricə#ml052cjבP2uy$Kdt-ϸ 7f#@4;2?eͅg_܀N'5g>΃/-d0>R7흏meP=Ҵh' m1 ǂ¯I򙜧G4':h8_4d<|[W'--)E3hR?ZD]<~i#~9\&OF7SO`GsQi+z\0IS?{AQQtkK2kϹ+!7S:fUЀ[V#>'\1-.GTO3CL)oX*+RB';H(3JWTFS֛Kl3~%bv'\D89I-i#Cu!pmh);Ht5P+B_d@h ɺ|#?"X,Oj Cbncq=kf=26j9CDbէEGtF]-s4>wMi3KP_ ,x kfFDZ5qi F <\En,/^1 F~hlxf5ݎ@L΄@ B I]&Hc.QO:WRX&$,6~IƖUrڳOb3}T]HiKrEV* {C 7@Q(CBc]gLq#:v1>zd4G8yH0)"UcM#+mLVz@ܷ\Tg1M&.٤E YKKoT6I1 J'ٚ&9=x'wξKUۓA@ 6lA@d \sUhK{AW?y=߮#};&Y<r+ c_R,B-UB ;M_`=CD/ pV3q 8o+o~ZU(#"u;]rD*,>.㣽AJ|;"+#ct 12]-M3#A,i J7mSMlp8 S> D:#M ۘ2a|O3?C:,pbar(Y@黤~{ |,Hh/h#A y/Z~`|Bnu8. x{Kr}S־) +魨5v [ͳ6aкbyQtqX`M=X@P,>"7m&G{\ٰy!?fvʮRH,'Y]-xӃ4uA ̯3;Zej`iIbpԇs5F nG]Nk6x@ڮn0ķ]͝vbhE5˽%reYk&QU/!2 :Ia_Oa{ˈ<=.?N8/uV?~53^&9J̶>`!B gunuMI6XFwFuIM$<6ǣ?=Wſ+Gh,"\ys.׼$I~B)[opz !L#el)lWs.鿛AU:FW3a/Š^%@^=M:=ƙMDL˴.ơ)=9bf$\nHipWN~{o[UQQ9OPw5G0_gdVDBn~aP_["n` F{I }]GX F@eoL-5jDGĂ**г-[/>Sro8+)s,:@)F#WzWMՑ 6jK~F,95翚nq.q 6PP0|E2.p2Y95Ot}nM&2#^Mg? (_m2wFU^;FTSX#q{$p?$ӣsºbprR|5zrr5?pY*V 73A{%W,p)ĘԯCT =:ܕ%$Vmqhv]hzLڅ6ŀRΪ"GK$|3uz/.@Ʀe^<.)e 5v_dL$!ekIDf4vKeތ6^:|)u `zGO aרNp[tTgD@šXŔ=.[U n[S:k*±[pk乃?w~ꈏ 5ڥߩr5PKKpLt1Ժ%7V ʼIY'v$R=F޶}plt{lDݯU6.lt37E/6#;hx)۵ /;F4ȁafAaC QYY0){%cvo:9cf1=\h br_$3\6$+Yc|~$KZ,_9a-Aε^($e;8>۠~g[0b;Cd^/!绋-6Jc5e,^ߠnv@[v!`.v#f' ~~ c[bwtУ@;)8T%\4\rmc r.JޔOn;=WnK0KŎ)h06.-GhݼK'svSܡdMubvi &|T4d ]hC%mȮh; T*F$f랷L 4HP5 dD  SR6-}>hfgIW/[ڴy d0؁(4ē3+oa: XŤ_ #<)EGז+Mt.U1w L|;C|7 Hkk,.>>f.[kc(1{81OR1Y4V!d/GNeNY:ZNw*4ߔnz;nƶ5Օ)zh 2 V[qkC<}T6oa~R}YcI6i56`bbζ[":coi\rᅉsbiul f#,)'w9K;d2`Y3A+nOۜd T5c _/Xg FЪb8iTԁ"y<nn)fB_d ϘOh4'ømoף[9̬8?d p ڬiR&Uj*EyN rB=< ڍ[xcE Иh+8X|5I1;SbL L*DtG&DiC(dk)NAH.'UzUwytg8%PPk!o;.VrFyt͵a* ۆsrq͕Dǵ1ƀ2|<ݙ X܎eyp`"КaeV xIfԆ3ThV]zA:ZeSAsNf10l۾R#,kѦAL^5+̡ *^-ćgH 5޶Yٺi>* |m(Nj4,G#~5uc|T?O kw@JŐsؘ:j>kȫ*)l!=ËHo^hr N񘓾۴ YF(RT΢1zvͥ5ϟTp6i6@!->zpgy!#gl$nHE7H$%Q:Of•% X1Mp?H)_FPGO~e SɪA'58Rdk_9ֿXPTLƲsavsnjG9l1^)!wgKvMڕyq:!iӻ'C ;]C>ߎW$g4C~AFCCA%K\]JݗC,)ÈP3+3s#|G$l 9|䓜/$&)̴T[heƣ+g;Jd-WZÔdn4M( ڎPp9kKJ5ӼuYB5$d*z*Hgy%G4ip 5|^;Vh=]'3a%i 448^^*=lvֵUC"yj d?]o;i~eK> 0 /$b_%VyjxFnW__awg08hParwq/s"0' ~P1$B6/`Uo9Gx(/[ f_+(tQ&yHLebD;RN%+?sigK(P qn# XTAԔo<#٨ՠ*ؚAcF&.r[a|Ȁd>u濩uf-QPO8Ab-aRXx2%_3(!=w5pqfD'b)6)qcHRl"2 SzBMs>ycǁ=w;jJ]]{ k nS^T/xȯ+E<E/oiڰx͓|V^,ZE}Nt[+\ƣiӻ4%5 U=D`I,~K|%t˽r8{L!##! yurcY?)S-]niӼj H̕aouWLP~4I7[TCTa_ŀmO(Z1>;\<,)k~@b-yז^>,3k`В_-wH[P(zgNP,TW4Kb>ڈY{H9fҪS+N;aӖB6{~sԬ ZtwAn?JPhzCG|h00P11pwj~.+p*2qyyxيK7! n؀?ّg/\^9Iɹ:H(w| `Ƶ/FUW.d<kwqFGIcj,Z ͆17hO^m0+|-yc2d h5Bc Vd'P hn WאwQᕾƧhIcA3 amutx cn,)@X5.h5] WW(?`(=Te-Acw/v/dC{hwCajl)X&WmNr]TH/jLJc:Eh os p,ِQ|Hde5ԍbo0%|_d\$ +$eXJtK VtbeuX7U ?t]fQŵCqd;olMtT NRic\L*JO1yINSe^4huCϋbe.h\<|#Nm~W.XA`=nme5WJ\Pq2J$!x5ګgP;30I}tNJWRB`9@~[>ɭ}oI%ƶ:^B>;"Eumw1Η6#F?/= H{\Gπ!dDh1@?LKh7=PWtS>gƣqy Xm]QL%^C d c|heъq8-;Q~=ϞG@fnrǮHˎSh-Z-BIcT򟌾{Υ&5n~pՏ].Y1?s@qn$?%X&I{˧-5T?X '($Bڥ ]XD h|}2A/$Z &Wf99}Zb:>4B.i$%^aT ء$&0:yA<9I/oӿ9n}gBA+4x}5;ߠV41-IĴڿ 03*=9j'!-lv{yjd= RkLj$~4Ba9 tI;W].u>-hgtuj/ղpW6vؚc&`{⹦e8~/Ռ$QjWˉ!5̊ۥ#^Oz.g!.{qΎ;ܳoCiђi d6\&Ww3;x03%fhQZ:hVq0fv;T:['?@Goz2 ;Or/$_pxŚ~BNNn E[P=Ho-jY-I [Vw#pP3R1`_xx5 K+SKfDt 9S$Øiv0пx6=;*ΟĴGj`"z7Fvw7vd Ȯ:k6f)4! |]@M=%\'J+%gnHSrOe&yIxoӡ(pߨJMWH3:wJ#"ڿY6ڼxmwTr9x]d7ox `X\:I\7#aIFG{bȱ~MԹaKGiBa&Ґvv4 <,;wɩ3Ӣwٓ-R8>IE]N#{KSYbm¨{qled .܍y!ؐռH!i[bH?0H7 W,cHZv-1l!"oTYr1ibF4߶ڿ |{6I|ojk5w",+ˍh4H*V^Dx};CxOZh1E5^,=8UѣQa(1_>Q߀x]1 P;4;r~91k>εHq-QOAY[TYO!Ry|莘51B\idw,L3B ύgwF:0]agAgu#H` _ $TJ21SurAN4ΐe ܐY}/SSፏ)*WNdEamj8hQHޤH^e9hD!G*fg˾y1W0Gީ4WIᣩYNtdh}`$AV3ߴM<C"wX},[ o=i~nc{'*5S+!gBWSTT d[Ѯ㖜ōϨS],T]++ƶPE1Ipp YZ