ghc-Cabal-devel-3.2.1.0-150500.3.2.5<>,`dO4p9|Bɤ>?,;sLxj]lG+$H#{o9r3 maW"lv?63c&:aU(3bޫ`M;?q$Gk"5?_%]W"¹glΈ`XPa1_4K}cg&_A͏FGuedH00o >YSYb1ӢOjYN2P8cXg9dW'Jl)}*j$0hۿ!O.>B@?0d ' O !>DJ  2 "X 2 1 6 FXZoo80(8h9h:Wh>@FGH(I tXY\]! ^p)bzc{Vd{e{f{l{u{v< wx@yz,Cghc-Cabal-devel3.2.1.0150500.3.2.5Haskell Cabal library development filesThis package provides the Haskell Cabal library development files.dO4s390zp3949SUSE 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 || :SPG777]\\mcm`m_ROK) ) )(((VvVsVj555!!!LLLp p p---GGG!:::"""yvqLIJ 1.0LLL   888URQ|}ƥƢƦutu'''000qnjfff7g7d7\}~LLLZZZdddEEE```FFF %%%666,)('''FDFAFK/,4ZWVD^D[D_lQlNlR,,,222/2,SPO<<<41/S<S9S= ( ( ( d d d+**~zzz,>,;,A%%%,,,{{{:::,,,lim###|eeel]lZlKCBB1q1n1j`]MZZZyvrYVDjg[T3T0T+666SBS?SG.|.y.}XOXLXDqn`]ZZKKK***   c`]]Z` X X X$!,,,(|(y(vXUT|B|?|@@==AAA`]`,,,{{{010.06222IIINK9 UM UJ UJ y v y~j~g~gwww0K0H0KGpGmGp*''b_dܛܘܞgdbeee}}}oooVS[&#(000A>=SSS|Ȁaaa523 eeeCCCB?>6D6A6?# #"VSS0]0Z0Soli͟͜͡NjNgNe!+(${~{{{v  ޿޼!"ŞśŜ744`]`|yulinfc^SPP###UUU-*(2/.{HHHwww   * ' )WWW'3'0'2JJJ777777}}}3h3e3fkkkk5k2k6$$$c`]$$$}Rpڬeee-,,ns&GcG#vM/W%.Q^9)#ukl)U<xQjBlY2P Y*9=\*_?;`obqYbYR' c]9&D\GN@U!PJ xFw{#:"?p ?>>*p]#.d|a"|Es^;׼V9A 4?vQ'> >xx ~IB A'wa"r\6Y$ Y\_;R#%u|~t/!z91 QYrKyitT \tVOb =r[|^38(nXZ>ӷ,nݿ]„Ha*:=7#' L:eI } ; t}\Cyd!!huj}M"zExA7aMe:  772 ki,?AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤dNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNSdNTdNRdNRdNRdNRdNRdNRdNRdNRdNdNdNdNdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNRdNR362866a4833926a4f3b98380e9293399f1b6c65e40ef1e3c4d46e9046383804f7b9c25a1f434c0f190fa89d8f8469a14040febe82ba89f37143d6c5754883db607cda6ee812c5e69c3bc278425db07fe64fa572e0407e0a8f8d30128010b8343cd538623b1731fdc23126eb0da38e970674a118130e28b617f8757ac384ff86cb7497b529252122e25455ff1cbb61dabdf4563fa7f95cd8a55ecca39b7b17b63e55ed27e43f980299c4a914d6c48ba5c856b8439f3086eab345fe59ded288dbb4fcf74f3cd99f5ad0e3a39172785afbabd83aeae29338600ba3557aa6a667c9fd48575e4553245998fe555b8a57f086a9b8da8047f01a3488484df0725caecb0efe35932dd71bc93de9315f518967c5f6b39b9b1f977f297f08257b447210cca3eb2fa9710d444120a9c2c39312ab31a6ba0efaac25656c9621a296933b166db1eea9c88a0fa83f1de5ce7541da81f9e259fcec75041172c3b5828075bae16062a292ef8df2b515ab57ed12f67b85afa42a11e0ad886a177337055aa19fbe4d49269b96a1b44c77f453d7676cd6da6c621c78a07f167c992e89c8c118383f8919d9d2af7b7262df9ee6a070e03fb9d0bb139aa3be0186f705ac44bae3424bbfdfbe715ee9138cbc0012e78cbce06fb6d89a6705474b06a6b0214283b56a7f9ebaab6e700d1972cecb4c4725985d894bb589dcc36ddf4e01868a20a59b8bea3d27a2aafdca72b8170c8eb78c262b38e54492f96782b5e77dd8c780f202f2ad0ded3b0309d5655d6c4247704a5dcb27c05bb4f87eaf475b910d5d6d5f9b03b60b2ad520e9c5bd77bcef581eb7cf1ae867d8b195f2512b5f536ed64a4d8fa9ed70b417d2caaa4c70e42c40502b7bcaa339651f03b584ac96117567d99d7f22c9e2f05d3a6a679149a5370e43210131d2713b6c7f607e8535632edbe6ecc4443ea7b9ef08ef577e05549e4d0f8b05aa4d160f8d01a91e587420380e48d5e5c424c346be73e58088e461e60637482f223390dae9651ca164ce934874bccff9bcc5dca7f6d15ba7a7922e61aca819f83aa0186043fa1267700241c20a35e23185211c03022d49cfe03dc4cc5d1710fcb2a5a9db81272b0e1c45d2403605d5884f18b28f75cd62e1cbfae04a39cba3f2bdf6f966db7a03e7c0c0a29d3438f93f3384cc99de1617250d3f6081599bba4e0e2f0ea5c9bc3e0424fdd8c36ffa8e323d28591fa7b36f464181a2f9fc5d2d0facfcd8ef0a308d88dbafe705046c4f5df23431476f7ca2e2ba04b6ab538cfdd5b680ba50fb139661c791baa83a7a37af170e2c59a308e5435e62ad6eddf28a917c4fecfbe92e83354b96a3b66b46297c8bb69c59d5b6e7581d938b3d621d26b115f77c2f2650b9b8d47685111c0cbe3c39a599888cb261b912388263c778d6d25e5620d60effa02779a8a95cba0ffb103158a78b41e40e61c1a3b768f19052fe62130784674c7903445dfcfd5f22603e5aa7213e77cdaf41dccf66b85017673857bf6596b5e52f01f349686d7289551729f86070f18da8b8b2cda42cd1941f0fc197cad1df755232143aa4cd0c2f1c9ea1e31d258eb4d65be0d44b99bfdee3262845b245f84819bb6a7bf79f833b7511ffeede93a82b650aaa1e47f7203fa6abc36dbb848144b7864714906a98f015db7b8c7a9eb0a243c96c15af6c9e13c084309c664413c0e931bf1537bc9189e35bacd3d2749ff5015c6b5b04f1be3331e1b1252dcb8b7482530053730d0cc2cf9c5cfe606632452a5371dd7330046d011dc9e7d39896d5d076566116660a3b31c371b22375b6864c5cdae2074b05a491ed4147039b2bbf8d6be15a667b46238de0c9d592ef2af0d4068ee3f19105e7626ea55ad1b158901299bd5b66041379170c846ef1148a79fdc2f9d7a894df6b7dd5415361fcf32bb0113c4449a39c2cc596e107cf5dfd901ffb763327577ea3fdc4512d07553f22252693324787b82d368f3ab814311a263fcdbcf9f8887ec95431e95d8bb9aad294c2e9bdc16fe6ec47391af912cf732fa37e777842376297c0be111de0059d39fe8f4d1c4adccaef9e18ad8126e6540206475a8700dd3c6bae56bcbd59f90167775d44a9e12f1d076f4ebf2b26608b7d219b4f6cde6a50a19db66072ce267d1bd39739cec337c5be67aa02a27efd866bddf557c37ee1d6f231dfe714434964447fa51a946dc1c523c3f0486f6d53235634b0e2e1caaccc0f3809358d75ade8c0cb9fef4edda33f245e8fcb56d7e351cb05156d240f436d1602b071415f2330dce44c5e1ede0c9a0d7a1d2223de06d924921fa505eb372f7546634e4d20ec670830db6c6bbd2db964d7428912af1a235a97a08e85768e9160e481e9a0527c4bd4ae4cb4d4920327589573fc584cd03d9c92c72a853325b8bec686715ff5b727c91e48f43e62b6c10779d09c29d2e1aeff810d61eee51e420251e485f5d833485a124f4db3d740a1cb71dc8372c99c3d586fb2b6707374820e959b6dbffa92e20dbf01323d7cdc369ef48c78fbf8e19c23cef113e2c9a39c855b7e53143a7ee40874df8b0c339a4ca4190f22ca27616ed11792ccdc37ee61f343a251bd3365a85e36b9b0689f0b8b9af0153b8591757317fdb5589f52f16b91556aaa0b7a1664301a799ddac32afb27332bf592e1c640e5b08c7227f9afb63c31f92172b52a35a187aec256ba0da5f405fedbf2a765aa4792fb7cbb72a046246d8d3c0804216649ea8a22a4c538aa94ad440f1747162aecdeb5bc6125dfdab5af24b678b3f0cac32579e3dac0dc833bd13ff516b1c3d9ada8d6f76a18afdb81c01c821755cf09240692f02cd258a1354c48fbbd6827baab6412b2aaa5091f43a335c3ca3eab3d0c7d667dcfae61babb45494fff32b3a66f27cb680a333647ce85f3a6bb08b07df7085d32487c3e108296a5dc31f8e8b3380e24e8d8e67fcdf8145981044b5ce1ebe95ac8a341427f77bb4de12b22bd56708974a109795af94c70f90c0825b3b215323640876e124032fc8d28d590f39076021f6d0b11329ded93ebb71780d58f761aac43c1137f2bae78f226d9a41412d3c0b26df2809ce0d82d23ce61fd97651528b0061821cdb1efb0c436d343988743e5ed2250637c921b1cdfac663739255d59f92e932e4b10dfd5675bdb9b6f5b12bf2ad5c597e8b30c354eb398d7eceea198c7b0f5a98e6f7a14df5177416cd0866695b74085d4144fb842ab11bd2617d8b6b51886920fe78c22d44b57120ecb76009555d5ebf7b8165c3fc933b5e1fc825e65b0a5353e96875c28bddfcdf6a3060265609385000baaf53a0f641d6b417392d2bb5c71a08e8c13ddcac7369fae0f922934a9eaff0701b2fd79eda61e5447746c9b2983b0f7737ff741f196f76e4207727e1e48c449a65a012ea2ad5d53c5fe8641cffa11d11bf28052d6f7581c0c1fad86e5c00aa559d3043b209c42c32e056d7e587ebf251be111cceb36dab94318303580a9655508f68daa11724365e85ba4296f358a09218ff41dd09a47c9cec76ac7d490f4da804a2654bfaca65ba57e003592fd0f18deaa2d5ae1804aea4ebe56797ce07fa46762d82f8c73a742b26f25256cb57f3cee15abfcfde7efdbaae6aaeebbc61d05be83faa3502f3a921989931821b4d706a739edc4062b7308b0a8cf3a83ddc24fc2b793ae9bcc4dc8d6685dd491ab72b134d92fae674b7298851fbd35f646878678b0c719aafdb75e4f238ad6b0953eabdab32fa0e8c1ded07c90b8c2a9789875b9b8281e1a8c1debdb2ab3a7a7b2ee01a4372b6b289f5dac818247edb7092294bf0c32dc95f269f8dc6c1b626ab1a53d1ba168b36ef901bd072819733b4491803eabb6b086b8bd8d2b0d3baa6edf0230afc9d85523790f819a6ec9a8d5a13c062940a02c2fe785af8fbc12305db26e69cef7d6dc91893c0f21c4e39603caf8e932bda58882f346825eaac7d9e6d566ec7f65ff9cbcc34c81ca4d3dc3818593720014d378a3b70d6af64d1ddb6a8f9957cf3bdfe79ff9266b05136aba7b9365fe46c7f2b0fb83b47ca01928a88c37f1a92215a993db2a693f738640b543f2f0923659e7af792b0f80f7562bfbe9be622c64534a8a1acbab0c0eee6985d3586e0e8e59f6cbf6f2460f302e44e9b1186e4a6a14b5183b16d2b5bd4aec54a8db73326c85ad89e1687ad2f17fbee1cf310277d2b186695c088896cc8c4dfcc4874a0abf85aff258c63ba73c5b0f5cc3f70834417fd898c02f8d43f5cf0c063c307e4d55f430a3c7a293a6dd5eb738af3d52bc799a5d351e4a7754e812cd4f859b1b106e5ddd2f2f7a0a62255864d18a27f6cce6157cf6502d074163670582d97c02cbfe3ca294e059ed6bedb5a3979ccf098d950b813a7379992facc1e96bc06243a5ca56946bb026ea4c704b809115ba4a6ef9c79245253a8bb3ab18329ad2c8d1a34143e879dd1cb29b614fc4e48667cdd661faa5ad07415304346ca8b2c19a6d4b0b17fbc00d0c7a2b9069cd1dee1f54ffe1ceb7d57c7ab10ca54e1689ff7879eb7a972619b8a8ecd1934686ef1dcfd864ce0b218abe3e1cbdce48cf1a09f9b049d86236a0702826ce90ee78c23b04d0a7e671748b9dc55353d4792c710aed0b5008195343a89fc12971ab961467dfe1911e3fd454e1ca12d2b01f500b4f23a3d9782663ddf2b875aef8b1932217845ae7c515d36044d836e858ac51f670facd9e27fcb36fc548d5fdd1c14b75a73641477a43bcfcb6614813d985fe7e8870a5eff618ca22627072ca9e64d6c952289e631ca205988a46a23aa267977b353fea62a73086c41358ae690f837ccb9f4fb8eb4856fe22e447a8076e9d73ed8b5a95102509a6ebf9d4a6531562a250c515b75ee40bffee3f675da19db2462fef96468f682bb53d7749fa6b671c1e4e911d75df4d6e3bc531eac0e52e99876bbb49373af3aceb5f1319ba1d051a866fb78565455e86a63abffbd86d12938c34fd7f0d477bdff4737d38f43fdd00991e308d54ab8dae9b8fb7808f4f7fbb31bebd9b532e964f6e8432cd631f7b58fb97a885722d22a6890961a3168968063753710f71e92935592604141d568bb9e73ac62d74b3412386f66e052370e6da6b112b040f7e6386f5af1812fe35f5aa0d34821b10ea5b44dee4673f27664ad8ff6cbccc292e2e07d067b9c2abb576883fc9028f058c688ca94b7cbba105c02a5c7cb98261869083f49bb7316e08df9734f5731cdadaf2b48012cdf82eecd0f72f8c063c60fc82102b23f978141a4889b720fc3161ca85bb835eb21f39c713299d83e5170280fb3d38db8df443d9f606c5c843b86047d3fad2458d767b433e8de3a03b539e62356aa7820d5fa8f8de011372eeb1830189b5da9d90e0cdddbe926ceb43f19452a8be28899346769a784433d11dd4cdf01b789e669bd50b8a90d0f567c2e5b5c73b50d372a581f292f5542c548dfb0f7f37ceaefcb66e47a3bb1cea9ef3e3111da30f7eb76b0830c0f72fa827c1e7a96b4c2e1c62a4cb2907f2496fa24956ef9da38857e3e9d7ec92404643644bb6b7b937b2e44567634e7d2089f97555dc08b38be5f5f1e7806eab98f619126baa06598ba6caf48300bcffb481e8ba94ff20554fe6f2c4cbce16c514862dc964c7d101f8b3bcb73aeb7c8633065d0b3ce23030e015db894d0e293a18914b694281a35c6f1dcf799d7b1c8e4ae25bbebcaf096b1549cd85df36f53284fdf814dbb8c43fd230f18fa7ec260a3ae5e73bd5ac75173e709a341a059f4b75f461100d0bc8cd8dd5b304fc2cd51bf130c1caf0285732f4bb81066c171f713b1f643d1b0de2c237dd28899496512336ee01ad9cfc28ed97d52e614df0081b9e1c6ff233f002dfff451566dd712135173ed06c631c353a9a50b4b1fb60deac47369217d0d4d90ffc07efe547792309f512ecb52e9fe4445fdb4092faf80f3106b85545292d39d18d07bdde377899d0a5ca4e923a09e8a4fe737c49f9786b6e6144c2e70ff0b295c77f4728952942c29a995192fc2640444084725cf04061747236ef16e7c49636dc7eab8b82484753cbd678a583395ee7b251cee7cf950a545e11db10660752201bf7272c3fba7d4b8c98de3e5a1cc1ecf8fa553aa1cefc4f5ee6aaa60130b39554aa93ac389e6178889372cf980c37f23e9d348dfe8c4265b7110735c0668af352a4d6c92224c5e3330f6282c772d7ad5f410ac153b4d9fd946a8a32f7b6d6955245202371c3a954f73b46d1dad00611c3b48aa98309d65170140c293ec75844a19f56e44ca6f29b36d057cd111b88b2c7e4abd903dc41805f0937e2b32639f0410c75fc7bfb82c4111143c6a8a7d630a02141bca2b7efe52ef3c60e0cd185d24e3163420be3210af7261e780732d62d88a95b80feed3ef96662db7b86c7642a98fec15ee25e4fa232ca0f34b17192deec19cb3635e1c6aaf97b0b324e41d43d1fcd77d3d2396a0fb83a4498d276dc7c09cd7762d6477776cf863e9b9fa876008cbdc68daf7fa79c456248a927bbf76d63f6fffcf128df3b5bad76981156a54bd6975d0cbf95d32ee06c9207ac394c6c7091c40925039935c8ebb45d7d5a51a950c651e8d1aa700ace304080ff966f6594b6e5c1bc1de8bd36bd9112496039ae6c1d85ab4e3707402a4d444fd9f5885ad801a2ccfddd622029dda880ffda2652a605f10616483cff411ac3e39e3b42f8f5df42e36289c00a1d53c0e8d929246b77eecc33f7dfb44cdeaeb4a12e3157ef8742d99dfa42e67ac1ce9c8449e58d92753012f2a5e5ee51f1546987dd8dc38883a9fad3fb6f9480a72fd7e3ff9494a0c3512670dff21511890aa28258e7d82bf78cc6d7eca450a6a1538e8b8bcc1a8518fc7ccbf3f7bc3c659a47a1f45f298257809d711bfe10694f1d2beb442faffb4a265fdbe03761d05b5be7a3225c4c7895b15c1ee9e5f3d6375cbdcd744dc04738d29b5d4e10e5b199b60e3d416b6f5ee0fcb64b94efa9dd82292029f8993239e9c27a0b4671e93a3dc06423213c19d85998c9dc724df98bd120424c5901cbb8ff0646d53c830bbb04c3e21e10e64569a14325fc4cce7d5827a877b5d6e107239af0c8235559677af05a9b7f857bb971d74e2c07c0982dbe80ad8f6d60f7e3babec1b155af50405f86c9b4ebe766a7c52329671891732680339535c756639c7749abbd277fdf8ee13c609f0f2f6fabab2a99ca80620924c7dca07f7427ac751f4cf108d6eed6a91d3aba42445842f553d298c7d99435496946856dee90ddfd54c0307dc77e15f8d3a0164a688c5332ff4e493eed2ddb482fa5decaab1a2481e0caead71479d3da8a9f169f6768328c57d4725720697358fc3fc47c0946100377ccd6796cc9ec116522816d1ba16cdb0b594123338455555c1f201a6e6e4c8264bc648ac862614def1c1c985cf3a338f86f2b21bf2a57f5ff7a068b139a3731abb5b6a3e76622ad08768a5e9fac1ef131b39898b92b11ef734bd2f8ba68250ebccdc24e6b4205e199e0ea5f4cea5921c3de8100ea280e22018983f95382f89f98feb4be588306392c72176b1cfeaaa5aedc9aa6bed7e2c77fd2d39bca355189753e3da28eb60057b1c24904ceb698180c6aec212553ab1eb5e73d5948e4a1bd933b235792465fd7c43e45186e40428d0e9e02054cbe7ea9bda64e3d700795bf016c3ec79b949d3d642fd624e65aa56844759c69090db5a028a762e683ac3a8d5482fb682a3ce10e6ab65bbc99d00314dda456a68315adedc5f2cb23894e1c6eccb8705954635db3fe6f7c0804d80554fca116f626be2e2ece9c66736b6c48c28d006d506360043a80d050502d32a5bb9818581945e7cc3b54c88b522b0af83ccea33d516bf3a6c340383c51af535746769b208ac29db2b479cf52fed2c8a77e0b92203bcd18055008278228f234414d7fbf07db6597811ae4c76b3c5f8572e8859d853f3c5fc049f790fe648b155842a4750a8e09c391b4577473f0b384c7c0312acf6c418c24e148db0fefb58ac5edfec10c70664724d0bf2beb7108c50827961d4ef98d3241a3991b6b0348f4b5ffeca6b6119a0bf0c62e23d1d0c30739b42ee556aeae61776053b22a7809789610e0c0e4a3d34f5a204dfee917ff019f06547cdc2f6c5a73496b9e6d86b2bb389f58ba29cd745207d19510abe0e1574a6e7fffe66b2260cd66b2ca8af866fe01ebf79669720004787b9f59e9cb4c4b3873dd6ebf3c9027bd482adfd30d4871e325625b07947fc6baaefe3ddd6c4a2c97aec24011bf574a975bd1aa164679683f6216d9d9e744cf0866adb9e94cea9094a4e474f35f94ccaba81798e101feec1be235342b509acb22f512d2f0300814f742a565e59e4042b76d8613441d95cbe8c73a77ab6eae8e682656907c442947fc35d6739b83dae8fae5cbb2f341c6ffdedaa555e30621740a117a62c5b4b927e31d4a9ae2e88d502f20b885d0c6047bfa06dceedc57c7f859d669eb8da0b16c1023d05ed310a49809c0e547b9f23d5b5b75c37b25ead6d5df3fc0384b68d8579f91ad4c9df3f4889f6b97cb89b492ff83edc37d70a89fd2beb05c227517336471af62f28bd2a38c0f1d38c3d1be977567d9bc1e3bbdc17248148625dbcca2f20d9e65bd22f34bf60bcd2a68bd5116ca86798cef740635722c57c164da9f88cc38afcaeab7daa225784d9fd1e1bc254f6e24c7fa28a52e27d913769236c86eb53743ac9233a49ed049542f4ebf2926f8db2acb640e6676fc2be0ae12bece29ce5e2fe3c08baa927e751147d6a3e3aa51741ebcd3aa0cc21c300c5118172790bd8d1fec9250bd7e180827f35bad96e8257133df3f30ff718b74179cf6c87f764963f8680128311426c9f7cd5e8b471ae7fea0765b3055da825d2074084f9f01782ca4156a941f51b7e25dcfe096b7a98bc4049e77db92ff520cc77720080f509e52ec9fddb734598acf7fee356fe2a68a9ff8c40341fe062517e7fa6b5c889999dc37b1285e97b30a7a045cc20a766da449084a2681df24e8cdaa7a214017edc0933a1ccf9a026b7241d5e08ec6791c54f695f1082b1f02e8fc9d9c0ad734ee281b7d49de3415ff7943c8b48630cc1809c478d681476a5d6ad5a22ffde06cd99eb5144b11dae44870b9336987a138cf84864855f073466bf9cc2cef38b290871e7bc002fe1e8788e72e981dd68541ed19cde5c7dc86c1fe2104a4078e90d6990a276f96788f66e464437752b5675a735720390630100e0ee38fb544e0e419dd5e7d211c75e8ae6bf3b5cb76e1dc166291bbb14ad21cef50dabaeafd3d89a4e6bd10c1bfde3d9f9bb9e92794c03f00a42a69468ea2d35de85fb2223efdfe8d98a48d8925eea0c43ecfcc97c010aba5e3dbfdcfc5455565900e494954744fb391fb7dd51330441684450c4819b7d5772b9e40c688f6348d20a53a92aa027e9bd80b5e3c775433bdcf28fe6791105099903dce5fda1dd8e46d4c7a58a11e13c43f5621aee3daa89ca4163f2fd7acde05929d4f5a5d9fca08eb07c78b92a516e646d8eac6c6b4befdfb729a0951c5cf8ce7dacdc9729275237a82f8353bf168d07353eab189430dd2515b76bbdf0c8ab2fbfd6883b56914cb646241d0af556acc60649613cfc658cc1feb9f960886095b6e25d82c496a3cd48336724a63de0d229b5c9d2307a71ead60244fb12d4f368fd7ab4f12908323cf01f2fade4be66991f28de2061c05d64ed1d86de7dc3440968df9858efae9e16cb94923ae0b2c40217f624cb5ea12c634232f0c619cdd5445e5a92edad7064f1f00781c278f618ae833b44974494a11efa0cb6b4fc251cfc70bb70a9670849af516b55626e0d108e3c47d7c450671391402de1bb988aab6eb3dc0b39afa4837a5e26fccfb5a8b0fcd1462f7af940515572bff2465a9ced9d693f0620c2486b31ddcdcbfe666169f715b0b633e91aafa6c240e11845b80ea90430681ad012414e4680e5f219b7907c56986bc0500438096bfeaf2731942781636ba2f05c7d738861d76b43e8752179d8e41cff7003c2eea8dc19ae00488a773e70545e721443a4f251e36521a000e4f51441f615bedcc5773d04619b0ec831c9c0f73f2024fd97cd6c309e22a730541fc5a1d83ff0ab0595b03a6251a141ec78b8fee7df751ff8f9235ddd4675fe2b64190fea91cb2b7250a82d19f9a717a8ba8c90eba1d9ab371a4df034004d855f580a1eea3556e94d78c7b0c0cf26d84b293022b521ef93bac04fc7e9b57b6caf01b47887544aa9771c44733da0bbe90092f039a291a70d3151fcc207da4b1263499e0ce0d69f5ac410cd8ee79bdf71b2d7063af42bcf2ac62052033ec16256fe48405bdb6751a944df9aeb321d823bf4d245c7df5627b1ceec55760f37844ca36fa1ca88be1f3fb688736f3c5416961c507e81b5ee4a7c098a50a064939de5e4a6732b42db972983542862fc2ad14c3945c860c7b261bb6c5c8b66518b59089bef7d6aa5f937cbaa0bce626c0dabfd07b4b81b98667fb8656811341d87306f7841aeb13488ccf9d4ec4a2885847362fc08a25a57d8b6159f60c3c1be97d01c02cc5640a23f6ca05312a7074a00a22e839d6572bbbba4bc26d48552402cf7ba01a615fba2e42422d5cffb4d206d403f077fc180988d39579a314a38160ab4cbfb2dac55d1c7701cf024abd4396f8c643d5e361784d581f14f2fbd22c3b73caec525d2238803027d5aa0bea256f175cc4e43c7f763ee20050f45b6f285fb7edf1fd134fca604083bdce8a03bc13979775efd881acbd8c7876023cd0d50f8719b7443d77986d1ac10cf79000be692e7938af850f67b5d68227032df5507439194a6fa12efe1ab10beb489b6607aeb601ef55d983c1f1be2be4fc2c1e5adbb4b46eba8554821396e4a4b50dd7b8238856b42d50c46ea808596a1b6691223bb2c1671b245348c605edf7285e25f0fa4fc9d33ef7a23d12d96818f8fc58ff235d75fa36446b18b68a7c686bff4f26d295b55cee87cff1cc098243980984f972d66beb84e8366a07180661f15b41cba240abebf76f75003948d2c550dc0268c10a9e8f57ae79f4286060417223d8a61b1c5feefb4fbf5f7bc412129c9d5112f02aecca6ab0bfcaa14d560260227364139c252cef62b8497f9e87718d13c37f57c4d313cb2250ccb77e6b6e6309ff2f5198b65fa3efc49028ecdb0c05ad8b73e2cd52a6a08ee2c6defaf5ff5ffb6b3b7245a8648b8f0051f2eb194b6d2346b3e5a0b5635a25d1e18dcac97bdf946126b34d58ebc87e9668666aa9fd4467dc920fb30e30b424708fe4fe14505e569d4ec2065c334db1f244f7aa07f31f4720a21629d1decbb510703503c7fcece7ac785f671d10f46917b1ee4550af4dfc2567e62fdd8db6333e6162acd34524cf91744ffaf3d661e867be84d579b0e1af78bf4f5b2a9a4e49f4b6edbf97871ed594aa2d6367d1a680818a0168eee5aa9cbd1c8861293276cc806fe8bd3ce42e140eb09cd9f1a8527693e0f80378768ec8a7386551b1eed3cd20ada4efd02e2fe71345ce424ded683b3487ff0f6ca789295e2d178ae916cc99ba551d778161b027400b06cbb45574896c6931453ea88d349c7a794af7d893fc692c3fbda33504fbb7e08f2334f49ccd74038db47346f62b10836917171448187795ceb11b1ac1453b3b0fba9f4ebda66c774710595f5806d5ee0ec076f7c0c97c5698fb70a3e6197a71432917b6f098882d4714a881bc9ef21e5c0a04513db1446b81fc7275ce1726ad918c4c9ccc114dc3afa62a8e594e89d57969874fb061b1690e6edd84864077193984867e2876b05355fafb411ce3e26bc0d0078ab61c3a4a4d28d8dd109cd260b16cfff3b46bbc6db5d9982e6755632b8e4ecb5f995c0a4c95a002fbdaa93b10657bb02587429e40c963d957a753f929a56b73f65774340c266312969f058cace85ebb9ae7d81ac36ea6dc7f56926c6553eb25a36f769caef6469721b4802529eda6d0e7c3d9b21f1519eae98ae5113a8479e3be63dcc9a41c6e3a413afdd87901425ff6dac29e300897a8c572a4d26a9d7915981bbafb616252e2317ab25b2a04510908925a8794b11a6beea8a3980c210f433b929d642b6ff84604176e342e565d24dd3591a7426a3c468274d6f56e372bd4658eadf71ad18be14137eebd382cb935acd3f63629bb7a8f426b8fab7dfc2eebe69d400aa968e3d5b2b41bdfa395ce6216aedc1853063e21117d85af4700e2f6af905cc407108169aa330873bf9b53360b6ff93fa75860d5727c3d6864523a53dcf905d8661bd760e0814ab95f62b2606da46f64f07ccd61773a455cef3fb94fdcfad79628c4ffae430430cee4d8d59cd814ca293ea452bf7fcff27d48bcee81fd0cc0c78c6ec2def3d3183e5e30ff74f9ce62e40e29d50a6f86a11340d0347573408e6e50de74ea5181a29f823a7b6769f9d09082b0dd6de13e634d7239e7d75c6a90cef236595b428e67b2a88e2d76936e74f49cfc05b50257493e99e83aa73a23d65f4e3cd7bb6058626b7b28666e9617bbdb22c8e516e5a2e43143e3d375d9f97196662fc969c1971d592e40b51501080aba2b7ae0a98f5b5b34d33046141f7f03f5f5c4eb1c6617f7f000d88c31976235c5c77765eb5e51b39178541b9de16c1208f824236b7034224001028cfaa22f2bc28eeee0a4fec4c6d1aeaf4e8c342d3c89d83a01215ce181b84b1bc94dfc3439315934d2f39bdf227d94441d1ad8d0abc50e167c6b0070a35ff7d8daeae95b3da66c187f129f1c0ef14b851b9169e744eea43e9cc0f0c0386ae9ffcff7719b850c130e1eea1f0a94539780794e22b09edff75436d92d95e248920c605e7b5e851e187e5b481c51a5876a4d2252ab4a69ec4e53582ad90c888f99d3764ec63977546ecd9ac891c138d3bdcfe4698a4eb1b1aa47681dabd3848fc35fe67fd533782b62d70933cc0f2b6858d7f5bbb41fd17b73ec7714037a3d892b637adb6deecd23c4cb9580b3c50bf84469dafbee809f9412c7b98d6fb18119fd6addda2fab287f32b8602ec8cf9d26ad5285d1eac4ca51529ef031335d654cf773f82a9c7af9d518cdbaf4bba60a845e951cb6d022d41eb546094100af037fce3527f7faf51d197d5aded04dec6ba5971de3937bad297973bc0b6195274845cb86d9f1c562ffd51e753077f4995697fb605075b97e973e11a354b2f004a640f7d097fb675379aaa5eca339c9c7271264beaa5eee2c713bc29608761fae6961f56a30c9db5160b3e3f99bc93bf11a792080e4d544568fe8c90f771c545302639da72c01125cd5747af1c65a4f1677c8dfd3e1bea8c922141ff83be71d76277c7f7719750a69aa0cd683e569a7924ce0145cacbb0e653450a5b5caef5c0dec36ecb29125c6d6cdcb7309ebf69209d2a392aa20a3d6ea28f23fbb819cd746292ebed8ac5092ec530db5f3b33a69fd757471074215d1b2688ba1090f303231eb0db23b8ce39c180d2b2ec25ca6f4780f0e56d20f94111c19299fdabd1c59586af7cb9898f7eea2fb541576efaf1e50440aff9c30c67c4eebe27c199b17974d202e5fbdd00348965392c78c7add9500cbb5ff4fabf9589b7562ed51581b1a6948e553cd1b71ae19b8cf9720c837ec7e9f66f98479114442831aae5381227ecf13f1dab9ad4952078921c02bfc3c07413bcf4e8cfd94b7f5de07314734cfceb264bba922e36c8737d1572fb43e097ea0470434b866ffdb83959fbc0d5e726bfe1f8b3b9cdb35a4987feeeba88e688d76661543043dfafa78e225de7b8a7a7e8115f23558965b87e62d4b5789485e36034de28dd9352b029ddfd9c876c5be4cfd7c83bf103152c1019c3a82f0bb1955b840f2dc6e5dec5adfc214835661aff7ff1eb0c94c8203777b20335d6928dd7f78e966aa73d478381ebedea3a89ba4846c0edf81e4419bce4570195a691d5fd600c58b7d305fe8d596300fd41a49f8186dcf6644c9cc1eecebaf69a63d1b19a4b29c23eaf2246f94ff79f0fb414147c8edd8a6b4c0a488cba135606588d911dda703d12cce9e0d28e4577c5f9c8a486d0d1fd3518ca89dcbb7df637dbb09e5da9e18968b9a64262b5ce0be74676574e8ce0280f1bd5090aefddd7de88535c0d11f7cb0b4f6ebfd44d8b57a79f9415be90b1f28b9b32e994261566c868d3f0d980e129e1dd1194bd97c6fb34aa89741c5e3ad3c973086c30af3af3a062b93475a1a2e13ff54b557f4bd567a632fb98741ec338a622904a08d10195f01740da1461fd385c19ef437cc8a33b4357d7f2d03ee36fa5aeab878624af779fb21ee6be824f3334972cc99347dfcd345aae724a7e79bfcc486c6a07521af6caacb0a81ab6c1bf9e1b0266b5184816cac377cd0351087caad782324ced8fda2c4739d5cde4c1ebea2edd872a796a181b6fa0909c932f0903610918cc81f653180d89256b713f4bda31a6e149388443645b82b4e06d1f0b9b159f57601e4e55268620bef1221d6ad88db445d62ba3e2a04605d9a540c2d98323b640b62f371e9429b6ed8addac064e16678fcfaee033dd7d22e588edbf3b4b8ec94100cebf514c0825b9f47b46a64591158da29d248b2a4b037e4a5dcc9995d510650d26300cbf543b548379e783786c4f76ee3777f455b91584f1340dd1b0b21124ec259589b54d47fcc3b0e59501c31b16a7cce5d3476c0c74bb11cd8a7f61c1a99784f2b515490da2c3b98d56429fb4a86501f265ad7fca370943ce5931dd48ab8fe36083ea1154bb44ab0d709f106204d0b327c039b1e51b18775441f5e55f76613b02d078b06ae4c2cd90e8273ca5035d6f66cc7d2f2483a27dada25007bb072be94770cd89669e97b3fc2ce3379e1d3cde07445ca9805468e2cd1d9d20787b7470c08d4eb881ae415852c559c4f14e640f932184e54ff5eb79046de729e12c7be3910fc3b2909b0503a91cbee8d367d451ca0d884a3331e3e0f1815413556fb9f9f97d485d35b59fadd59c5e42b20c0d3e567649109325b6cc46744c9fb15680e63d2f9fb1bc41bfac5aa2b55ba02330b625700ff05e9c32cd9d050d6d70d082e8d5298e4e2c5289fdae5a7aaec6658f5eb6ec36dae3fd7a5dfce5164f5e351300d7965c332b2c812ded430b324f52c84c7897bfba6023d7964de52e62498fb98c39c957812d99284299456f0d024498ab88bc23f95c7d9aab1707b4e2db3f97b0d5d185a0968983e72734df0638c73033ed99f0517dec759560b99d02831cb7beac776156eef35a5b8455f6c59d72f923cf23c1ed5576be47e467afe68ed5690ee0b9a2d26244d8272060f11aa8a6d71dcfe3a2ea9c33e137fccb940b01cd6a0bcc79a5f40012ff94ef65656c4e4a5cf606236218aa38e864d38fcca7ea3869a778dc5070468a9eef6665497f36f1cc34fb4c91c2d7c07e30d202bc1444bb3e329306a878d1d6e27a370cb87a8c8102aa978cbfacf631ef3ab231b4e41a1d96ef923ac83d74533de3252a5a8dcbbfa2b0fec66f353ab13560b539f151d43cb4b21ee05f26667850eac7f37641468f24706ab4796e98f5c01255235a5545466c22beae296649528bb35e70b161bcc4e2ac32981d9fc93688678ceea6dea41ab774c04fb22c1df907cb786d6a405e696b17a8558828b311916d1f92be55c5bf859a13c3f8326b19d18225e654c09d949530da88f033591f799ab05e2572b63ad99cf78b44762c399ca8212c72721250a993647ecb516ccbaeaaff87b17a7b97dccda8ee7d01a783c0c4559a3a5de1a59c550da774f639ad6a91e5a2b9aaa0af4dc4cc4b6199774908950d6718ca44ab4b8fdccfcafa22b487deb9723abd177ebc671d82789fd0a59494e7b00d0cdf40a9a68d7f521b9014c75ff45b66cb029f0db91685af30d71e1ec04bd96108c614b9d748724a1300b49854dcf72ae93992034efdb88dd8eb2fd2074a1f215f2f2193f6111bb5f51f114f6f7af61850bfb50a37613a62f3a20e914ca06cb5894b30e393e7d0862250f4f5bdac61a65b905eae108d100da00885e7a3175d690d6f8b7565bfa968c52dd9b1ba9be0b4c7cb165af6cbdabaa5dfe3339e94021797811c7c3b310195c305874c29da8d263ac70fc8c8a3889a64bd40bc0410fc9f0cb8fb351c7f78ebf236740a1c1e22c6180e02fa2d24bad91a1e65822ed739ee8339c09fea045ffea546b443668f147781445ef1670acc98e7d8bb552bbb1bd8f94b9fbd328e3d9b94342dc0617ffd3d53f5e8a87c121c9be93a0c3529fa129f2e10477101bd0e364210b27c55392825a32d9f30cfb8b21c07371cc8d5c600e9554bb7b0d254dabf8cf3d2b601b01ba8655560f13355bb74cb30671d5284524767456b78b9966350e292b6cbea33b7618e862799de329d8c6750a2a2d8533e92d4f7b1ad4f4f5814c1ff84d0b313847b70edc8216dab611de4e733cf9a8afb31cd01e9d614087d4e844bcfc246c4c8553f5669060d500b06075c650b505edbc24c6c0755d0a2c2a899ffea8904a8d1c289f8f8852be135bbafa7b1b9a07650c0e76b537851cd173c546237dbc9766d924c3e578af86dfeab5d52f4b192f6dafb9dc56d9fb9305b65aff161d353f2df0e21a64b3bf64fa3adbe0bbc06cf78821e480804bef07b96bdf4f92099c9b4a8e195bbd948403c8b01c53771efd766806740001af9410a1bd97ce7ab215177b80fc2d9ba7bd6ca04e9c9a5bdf128636c8faf010804f0b8891f52dc18a0a3ab58111a4f3a7ee9c276c18b94db99cd58d7f984309c70a73ebaf0127c4a0e38bc219f3a6fed727b4d32e527fdeb85fe9ade670401955563079b1abe16d5404734aa07c78bc0ebb8f2003471952a2848bcfa93d9aba87fd92a6a94fc7eb611e889ede27d022ac085d8493d7a9dac46458bf41198911fdb766eab1891f126fc7fbf222ae49bbe7b2c838662c4a8dc01813c19c7148d70f76b227b19bbda7693047a673c45618f0e1719b38c7578d48df1efc74391fc22b0903294d675edc4ee103bee572a3688bb7466ff8077aa3de3ecd7c55375445641361298f53d8688f491aa4b922db5bb8e3e2e31890ddf380022f53c1c4c2d73516b265e17d0faa6bb10158b8c9694b1a3f361d840a35a4becc5f3327b900ce71cf540dda4764bd59911dc9fec8a3b784dcd6fc86ad91f39656903edf713dcebc1b0dde064cfcadced677e9462133df9d010a2603fec434579b6e6de4f30a03f852268fd443aa596873f1528413c20efad9fea6b9a93f93c6bb3a57ea24953d0b893b6f89149d2b2accb030d6c77f0fe66016797e185edcd08e498f585bc49599f578df5711a46e88edbbc5b0f728563c1e7b890ab13519890e24a5551bcec7317a3b0fe04bb992d475945d8de2af509d1ef5fce3968c8454bc445479641a8cf620397cd8e173dd0ec24842372b78fc02ad824954f0d6d0bc31e8799960e612228d2e288a6e5a3a29f4ab4029f7ff9dc9add4302ffa9339166db6bb0eb51d33bb269e76c5806be060c0dcc62fa8a877e30a95b01f601f30fe733f2bba0e5e0078766c41e869a2247453d9e8e6f226891955df0a3b68e6c913c477bf9422623a4d50a63fe7ac6a7352b6633bbf11a2b4454cf8f3a1c2d4963286b9aaf512ac1b2fd9e5114726e04158ca4f9ba61b48e05f9dda224de66477509bdb611aa9910eae03b6034a80ae0638a4fff25d1bd4265c5024c4069d8cf7c38f67ce65417a57240dc4842042dd7454f3e469e40cc9c25d6719cfcabc515da00a3caa6af9a89c6dd736054840e9f562334fa1f87c9748a0cdfc649812ae132b5477f6baad2cc7f27d07fca9ec0dee88fa7e195f19d6bbda0972404ee0d687621050fd16b191f7add93a6e3c578158b9a9ebe489ab83dd990284bc312606cbbb593327b20e5e9bfc5ebeec881ccb0929a91bcca1c6b38007e510afb2f3068fd1507f51d8f0541a580e26c42e7d6c40ea986ada9b18f06c4a8869e4f6a35f6eae9e1ad0cdda50a2a0e19f37d6c9e70a4532f436ceb5496728f3726cfc1155b6948e596570790cea6d6c98b30ff38409f65d966282ae88c8c8b8f6fbf9102dcbc1683ff34383910a615e892d123d8d4168262d7ea91bd976c833e2d44c11278e9c3e29b5eb4bb03510cce19771440eac2f39d711da0450d32b4cb346bfecd61b03b04ccec4896f156dd3ccc5968534424ec6e40c47d8c310e116eb03c7d203f4542a057d297878227fff8351183b0474755a8575c08da404107d6b94aeb5391aaf06844facbceb675c9dba151256079280f864ba131c6741d5ff4fafd8b3803398df88c09e7bd47611f67359d0e2d8622ffde34cde700fdc1dfec0710111fbeced451cd0fdb87c6768fb62544fb90f3fdf387abd849527fca4564e930ded4f3719f72cc1543ea9165ab13ceee6b13fdec3e914a4922c3af8302ca6fa7df03a1941133813200e1812b01d525afc3bf5ec117bd9e78d2110d1b77194c20b4cdf86b261888bc67f50143353c95f4fe3ed1cf61443a69c5c96aa71a168a50b1367415609c97e32ec07152d8cc09af6ea4b84d133980116a4e0e218c6068dba678fc05d17f3ea9b242551b0c646e5d612d28d5b2b2c4453da6fea7e1ab1b020473301b01843a173800e93ea869de9beaf2d75c53f0880d5114dd058ce8a972431731e00ed64b6c9744a7c37cdf04b7b24bd6df4b198a6203ee6d28ce191ddf13a90f7ae44469b177be8afc2844cc22870c7853575f5d5979e92eb12cfbaf8a85d969adc340a579fdd8003e6e0a694a0540d162d94387801325d9351bc8119c415b00a97902671c3fca6d0e9a9a1aa20492e982f704b9874949098782590fa0a8ae6a97ae827ddac50a1adeff21e35b33a87655b38a07845cecbc783f06030670164150fbe2edc456fe0b17afdadfc2edfc72e238ca4065df86dd46500ebc115dd5d898811ce3fd68c8b4a23b32d6e620f00467d5ca9ee2ea1eb9a26bde34eedcf13a1190600bff1af1db63a74c62e7dfa1e8801040e6a3177edbbe0299c4b594f74221a31eb6e1a16026f385b657510e682cf81c9af9d0c86e3b5ad5b0dcd61938a51d06f835c5d20a5b498dab84029609919e39d7804e14379a98af8871e5392165e0a0234a2163533417d697bc1837f11029c78cddce80c2e8e838dac208f8ae1f1a646e8b81389fff092f31b3a5d87773ffc865cb1bb0f77c72fcdd18e4995b6684259351d38f5ff7a1e82c7c0e744ae801443a816eb46d1cb7f1d6e1a83c3277df299659ebab6d0d2afe1476befe8352295ac433964c6ad0e581d8f8e8e71b410c08a683d7f95ddc77efe61df8bc61b07965805e084106113ab0655da69e562deef13e982352ce548534cbfb434b96859a85227e472dc955c19711092345a7a51de68afca9f64dd868a6416903f0523cafcf52e5af940e91df55a49b315d7c8a3dede4c33b9185cd96c49b9cac193bd7c274e04188e2288a4b2fea959eabb5b538f0b0fc4f0e011ace788c6fbeb417817a781a1d68490b67da4bf7ceb5b2378b4ec986c8726adabd33a56a85914e20d5e6333bd43b17cf7addc9178f8dc51f7224e0e03e85ccd89b11a460defa0cd50e70efd5ac1ac7a49858f63b054507b3b858a9d9f3f9cc7a81000f371cb347c10dea57458076898f2f184b8d49642efa1c686ed61bcbdc9484438a01c63231bb573a8913980a6ccc38f8c1f327baa55526b97bda0218261b469d546f3354da4924866bc4bc58607b95f7871dc029804e1524cc11e73113835edc015e585553def6c3434684fd319ff676ee16c573f6d9e3b29ac8a452baf0917ff826b5ff8c6934d652e82e40de9a7995562143be724d399ca189939b8be49061c788fb0bc50170de10cdbbba44936024654df49265612dfb9fea88df278c4f4dbf0520e6d44ea0a60196c14adc431dc6693f145695d9f9957741390cd3d2693e358c1df1b80af082bcb9819fa573b9100e7951bd051a2315494fb3e43c4dd2748ea7ec8de14bcc42ecb5daa6329b492b1936159573c51d14568596b1582a3a63743a007b88cafeab7291bdc019fbd9850a030db0b69c82bfcd009e7b548bd63340b8e567c3122e44938b59c353dc7ca6434d1518652aef3629c0cc93c2623e231b19ba907e2047ce9f7d007a1d55635a89e403e5fc9e3aa78fcf4f3f14e5e90c633c031e908a3cc13eef073f1359ca88de5a548f58ec65eb77c63d11eae7231da8559386f6eb76df3c2369f272eb317b5525ec7c785e14ae0b018f069de8d40625628aed892abb03ab09b77d8eb3463083148bd856515cfb3b9daf8faa32a2689a1834bc6d7c939d9369eccc3f6fa7218beeadadd88e75f7ab33d9f3e3fec6a40fe46fb981f83f3bf95148a45a7d2a7d032e0cc0ed2146f5f030aa7bbbfeed75dcc0f185d5d4da9c873bc9e34df8aee29d4e4c0b9e786351f5a6f05904b86914c73472db3918f20bd77be03a6ffc3f626bfa005fc46224ddf8c1e00230bc64a363dd919baecc0bd3a7d076666cb649c905057c19394edbd8a1c5201c8ba922f1ff89a2a04d458ebdbf6ab615965876b3fd786953eeb1d2982939ae55299c1946d7608dce7b8685766cec274a3f1cdbb552097402217d7c9c6782a74aa1d5889d571efa006dd366babece0f0036699b113497d029c0377fc37f64100327bb53bb1e7658474a7596f199d22808fe4f2368ddcbbb0d2b1d35f817f24eb4491d0f3f351ffd56ca6c242daea2bb17068ad724d4a560b613cc65091406681b418cac810ba3be751a3d9fb7b50d3e84cf66d60b30936aa7682498dbfe95057e1608879dff8207e1cc68880ad4e7bed74970fee0f04b4fd05e15e028657e4bbffbef435d05bfa2934550db2f4e79c7541b1a9c71b7d0107cef8a8aa5bb1858f0a3d772136e2e8f5d68028cf4cdb735bbacf4ff28c419c2c668014f0dd36edfc2403808589c4584aea204f078feaa88b3b738e6895e2f920a06edf56c3d9c3c51b8dbddf5ea50571b9290e803f4ded2edaec86aa6438474f1965be201bcfe2001099b64ff8aa5520fdc5ac741ec9e18daaf493c6e8266f62f954d1b3e1c19b8610466bcfc1f750ea2458b0403852172356433a8adba7140c7928ee0283623518afe4c664bf1c7764136000a16cac96498adeaf162c1ed239a3da44a0f886b1d089ec5468bf413809e35f7b49e051fc1e4153d6ac7092ada6e0a4534a041dfc38661340b54177a29fc4d0b7ab222850532166f9f94e7a7c406111f5fd348ef08290176ff5e3feaa4db0cc6fef2ed8228632d00af2161813b19f822a9b5db2892079a35b29b3346257257ca9ae2fc295deb234dc22eb580bf44b37393c0f69e0f4266907ac703256086e7c8154490e4cffb126c519785058a81a2519a77ff355e523f2fe4ab009b1312878141c92088814a2603ef4683b7d7891b5de9bf9e78e5b0514c3006c2fa094fa10d84f0ec2a78634135cc9686a4d237c721da53e66c1a2b20988fcc8b9e926e0d89a3671cfc34f8d55a8adef7b8bd3bd673ac66969be727980485dcd2ff5b29c0ea29c58193bb0da041634149ae79a5dbbb4bbee6c1476bd60aa4cf44999f62d9584f0a9651ce87122f8dde6a7472a4b0af5c4ca21a3500eef6d6aab946b393e39e8abc6ebf7c27a715e243f2ac786361ce33036da8c0c2d8b8f591326a7edc3a6953795c8544dc42da7bb579b985ed3935b6bfa70cd61920e1eb7f371d95c8d07bf015b284228c34bd1d8f09d5c0fd2af0ff25c83ee12d45d988b95145db748223b2e0c1b2d73354962b799d33c4645267679ebef077508773ff827a0528c39b941dd6a349a51181eda97c5fe5a073f4ec67772dd2f9d017cf4411ffc655c9f88da9730f89a34f7bf54c6d63840c7e525c37ce14f7e94a17817338a30dbe4facd8bfdbbd9e7af99f02b406d5165681998d86c0e2ab0974591d3dcd5db0a6f795a14a1d674a5991e5ce357a520e2e23955eace6c4c7600df2c269192ca825d48e101dcdf6ab222971840942f51049b85aa51ed55620c3c5ee42083074beb650dbaaa1066a1d999d92b8a34e759b61338caaf59511435f4070ae1c376d443f809608d15519993889782f12a4bfae6ab717fd39b9bede27bd1cf6940b7951a48038e9b07947e23520e99ddf708cc73d4b7290701b3d155560e467008a5fdab9c7a2041e3ad1e9bc6d8ac0081767605b5bb8216492087fc57b0985a8bca1cda40debdfc499647f3a24c18d561d9b5bcfaf5af0bb66c844dbe5baf34c2e219ed2ecb842f603607fd351c2c346002f729633a114c0a0859e1f8ba226feb39d252e0ff0dd64e65e92cff905ef968d5c8cee60caf39cc6bf255b08ee94565b0380f34f656d0534516e5514dae1ef6a5edf543a7bfc58a79096d6e6b316a8837e4f59c01d4b9f49e46500cf1bc1996df4f1f3444849d55bb3ee1408af6bc3a6b8c762cbf7de98c75dbe6e41bfd7dcb54064a4dc0217e55334fae5e64ae7acd08192bcc3b7bdbbc55c42d89cfd9135687675ea94f78b5f6f7fee1349a3853e128fd4d95a73cd3af0f015f03812072ad2aa3e11b3b4b226fae2f6c721e1ce24a423e3c649c961260c2bed906d51395997d94a8031e017f5b77646e55e7d848294bc7307e8914bd7a07d12e4576a14b13668de6b80115a89b5e54731949a606b085b21276415352202a4091249354144ff40d620ce4e5492952eb0ad7e59d993c99420bef6596439ed628754f3f50b9f3539a78c2af3cf632acbc76979793c9da63d1a82706ea18cedd0604c6cf527af2b5289388009a9b7cd9ccdc1c5ea866c43e99e690e9630995428bf3e73ba8bb12f7f1b581e3ee2fba35f10596fa20762e772d1fb3c574e946a5645160a95429e1114f73e803a1617bdd653f640d1e26d14dce4a7914c0820e1625e7f9b6744cb32e599c92977f9ed805b348c7189ec5a1132c6fe5f58508d289d7d0619b9fd59b852f3e6f63febf93ccfa087f0b0cc17caf32f409ec1661f7672294f1800fd202f61607e79504f3f783d572b41d7bacf7e1911ac9acc2636393fff69ad5097515052b66d6795bfea5151cdad1b37541e8a29a8b7b2050a1540d5b38e6ccf5ed5fce2573e2cc3611537bc8f5bc983355995b7b62f02f3bb1d16e69c8d10593e1fa5730acd7a094477ba31cbc28649ce7eca8184d6f385d1ffffc62eb916a2ed7fc73e8215e028de20e731dda5d5d2655d8572d30f24115ddbc75013a5e49e8a98aea74867e1b3af261e67e2b8f458bb8578d6e45c19b2ca418fe3c96e82b177ef2d758c941c7980c0c655cbc654a88f15a15fca8450f572d9efcd7934c33c31ed20389c2d1fd7263e195821229fd8fe60af587b1d4a2d803f2f70f07c515bda0e558825800505acfbdb047f189c8a0a1fc2929314845fc4127f30743052a0895ba73fde9feed494a156a804e721745bbd1668bfba7a6ee715a4f1b990fb507822a9874d5e545ea8b4585ed1644d9a4a7860a4ca6c170a6df3d316b8c77956c2e9b11615e5e2621a7e3350a761ce6b3d824a161b1cfcdf5f906733db90aebcb6d7e2179e5c275fb2cdfada88f5da7770124845afd2ef0214d758f7cb22cd2a5716117815d85d595ed84dba7ffedccb0c8f86e60b6a4b7ceeb8228997b8b675662170c4e89db66408daa8590040d070cdbaf2d19e06269eebf224a704f0b832d17c05a057a2e95cf605daa03e7e60e5ac80982f45406aa9ac996e3cfa688b8e230214e4a42c7ed796a3a7bef03c5bad33d684f9069683910d1a7362363a0b9deec91e90fd61eb79dabfeaf0ad13d56d96b2f101d1f7910b047dfa912ad89d566dcd5d676939017f60888df86a83d356aa8bac73b7a23139dbc1fe9b7c9fe09d2eb870c3645b09211587a26f7a92cc0d51d788a752795b6489e924dd2f8998ccc061ef57705dbcf4a3501e01a2d835a3fd486b83ff96f576bac72181bd72d51526a60881b267eeca1893570fd045fa9a6d8162289d512997ac3c09ea79ee1523cfb3d8a2715044a0a5dabad9ecae9e4a1196976fdf29f2eeb269d84b7b0e4abf1ec130ce24f9f6a58e59954f3c58ce8430bf8f0ed1f29bacb4069160f75c1bc8f53c8cbec984187603b54bd83e3fb08232899edc62f0a35d000b696579657f1b9caae8c6c6cb6e79c13394f8424eafb2c94c9b72adbd3858deae305816984202374aa26e77524f6caf52963b591bcc670b5e808a4a14e6c902a2e13bee7e6e43143e7a944a05585a808df88a9f6b15765e42dc24cdd644ed62b26e1387d3928b3a52339917df4568ade14b61848a6d8e14ae7d978abe5c0794ca5756f42d4910f9f1369a2e355530bdd32087d783ce0fce3d6591da66c9b7307737292f1fa3f44c94266f007b25d93adc108a5c5c476fa2cf3e4d12968cc7c25af4c44a2983adc3f49338f7ac4e483933f1246f5bd60f439060d0c839b8f3df92520d899fe588ac9cdf9a7364b6cb098886db3b1b5d54c70666c2179ecc4906aa1364def3e0634bf330220ffa731456fd4854322c8cf2f2a60d36a2feb4df268449ebe9a439241e480fb69226c6386f5c48a078642b94a530f9d69ac582704ffe53e211602a0586a3e49af6f946a509c6a3e52f66faffb175c2d80ad96f91f7cd59b3a63f17c842a027ce6781fad0b1a7baa6d7485f0a9b8605dc802c87b572d981e4727f4be2f79ed60668b60027db17c8bfc6403ceaa17906b9d354195b49abce2a911b15a90dfb3dea6ca79c4aae9557ee0761dea9771c538b2069b0bdcb345eb63e6a015ec297f94134210bb943379b91bbb2dd55691309039c7d7b4580689878f1440a4d1ebc0748df93666a641edeb9dd03eeee04eec3213fb7d270249cafbe6fb994d5fcb301fdbff10dc52d34ebaf41a305f4fb5913835d0dd04be94e636fa9fd6059942d64849d3e780499d0d5e6d7aceec3b4cc650f7a4dd936133cb008b318074396e6742239cfae2c777a8762dba489d6430b56c873a81dd60a6241f79920508098f666c3fed2a5e906057d7d6b2ffc14c4d58f63dbc3420dbce3983ad480aa63373a7ca89a7e9d009d1b8f546b154280a8c470e7b26e68342b01c1eb436bf1d1deec4da2e8bac408c05c28884a096bab27f17860540b35cad672b435d702a7cee26b6bb45024fd41234072ebe2a42181d9c11c12a6eeee72f73901d88487f0ca3d67ef344a84ef6eba831b1448a56f0dd9a14ee702e0435a8b4f4f42b08daf7c5d0ea90387f716b236ccb3458820fd20b19dfce7a578e6710008bc4ee01621d15fbd28df5d02c4beedf6dcc9fa9b4ee3290d15e15b4e3e923ece3e0a168234ac5c105a0a5afa7a6fd2e8cd020846d72db4b15c657896814db15397ce6cc0bbe36279dd878f001e2b814ee23a9829ca458d23fcabc24cacf19f3728358d044b7de9771a200557ee953f23b2dbad53669bd22ac6414c3ada81841f468137ffa88fcde476f92b01c7f4f31728188b69d61f5288605fdeaf97f8b7225b1fbbf2d9475031f56886dc579527c570c720f6fc78251c42ca650511b6ef58eaa2ebba5e204a9ee9882ca23c47306734485d1a8700243ecc4f57d69fa675f6751604194b76d4806096a3d0fd058eac82df55dd5a6f2a02fb0921b17cf8b0cffd04ba6959bf4e9e79037acb0eadbf8ced88ed8654bfe482dd2127af52118a3937d9c73adc2fe66bf1d23e4ed919dccf0cb94fb51e8abec9add006b5c25c4d1045139dacb2ee0ccbe16dd7050fd43c864552abede98fbba43ec9689b42ecb0a9086b1a68016c925ced80820d322778f1179d7ef00bc35d9a60894ef1dd53a156f04a81f0a4a4b06eb38f432dc13bdeca8c9f02f4d78e35440a6da99efad9a383550c1ff6300df00f1c7a63330d62b16a2231ac3f8e36ec5373de8561a43453c703fdd0678841b9bcad0767750be7f736edfa5d63bcd69b78468c493dc891e3068fc319e32dc430de7a1a0391094820446da4bd2dab10ae4f7865afef71e34eee177f3bd15eba7be57ac53090e3973b657edf5a838dbe020ca6e0fc34b677e2e7b375b1e22d88f98cf700dc892f37fd2d6b134419e0390e024bba7a0588b91fca87e948d036b492aada07ff4e00a9aa6560376d17f9c9ff1187bd1dd8f05af5039df3aac4186eff9cd37e083254359615670895e4d7218e355e05958284e9452b3c0198314561748ef9b49cb1d89cfd848775ea09869198ea255a73c002666a92854527a6bc70c4098e15ecb241d22dd878eb098e4bfff37804f94bb65b2b47b1970c493a8450a9d001cdbc5cc0241d40fc99f6a6bb0ee9f70aac9a2bc9bec55daa7cdaa228abc2f97eee212ca6d18a43624f4dc3d37bd80697d94aa57b8666faa0c41f45ac07804cd110a54fe8a74c241823859a94005a0163ddf442b6f6a054bcd0447eefeec1dc4858ef030d18b5c8f59b763dd0b6b4e9814eb1d0189b7e2c62db6e89f4bb70bbccf2655f816f1d87ee81b0cd47821335eff3ea15186a55bff25851405e386aa7020ae5ca4d105c9b18ca65943452a3a8e50e4e6ce0966b4ff1eeb7072ee3dde82f827a89a8cfe087c1510c896638042e1a42db7784bd84597afa9438e38ba84274f0faa03c8fccf4a1874f62be2c8f30333fdba667ddfca504ca27e8bcc4d4bcae9a9148e2757d8727649c150338c6beb0ee79700497b061a586c66a17d43732ea7b6b615e4d819a2770be3ab13d763b04030fd30096fb67b0fea4a946a9a4c21e3e686f79ce36dd05d5a03cc3b2e061bd1f5d4de78b86c0598cd4bb7bc1dda703646a262d19b70ef11691964a64e0950ffdfe37f062c49db46e02efee560fe9cacfefe3fb5579f8ab5cb27328a5cc8b692a25c18b39e615735a4c3fccab7934f62bcf820cf355afcedbe8a76a9685fa00b0047a881a8c64ab372e33e97fea8bdb4befc35e2f5d1fd43f2e9b959750a7eb29435e66cf64ec1d8541b43c8519ab66d961e2191d461e303987f9f0dc5e51d05c82ccfb7d4392e6cfe8dda3a589f9f40f83e1c5c5cfde889ab5a1783a03d5c794fa78fd77c0c6364af4ce3ba566c5b6955cefec1e66be4fa890f846f2d0950d05eb0060552350674f501f68097d58f28a491d555a40eecf1e88bd12d01a04f6edbe8be34de3ff2e8668222801a09425bd7b647bec79fbf37514a3b015cca1503b13aad18454786567a447c3a2ef39f6fff12d548e1717f0d988a8643b0c35e96ddba32177b3f9ae6fb497581e779a45d7f8912fc7af50845f6aff3793b84efd978a40ab3d8b2cc26126a470ee0c7c4a9f848ae7519ba23537d977ac3ca0ef57a00f85915f90bf52342540addfb2936c424ff3199ed797dc9626a164ff321189b5c6d3a327b287c70f35b705c4d4f8e6602ec7af26a6084d065b3926a11d427c66dcc13778314990021fd270cda21ea6411905d7e39f9a7d020cc73230a344bf9898655ca5a8741e6d08bcc1e0872f4b23d313969ef4f291ce00a599d981d92c454acc7259f3b51eb78da9a6524c4b7c9d7c3ce18871872f0407789682b94ba512a9e40fe34a522340a384740daefdbc9ce24576c47abaa077b0594f5955e82fd3ab3596771b4eb94dfc1017c1c2b55c8e3a4dfb2db1a339c12cf452f163f61535d4039d65dbf681058d2c72a9d4f5a9e62a00e4702cfd6749cf11a87458deac9c0dc84d17d7c3f81dda6eb484b9cabd685ea6537827f3e1e476f6015e7be525b8a5aba178dae688b4c8418aec0427c954f5d53dc6df28e3c06596233265076d872df19755ebfd46da08d16572ad0f917c227d626c474f06942f8164ac6bcbdcc69b7d1800f1918a2ba953d85313f511413e4b5c7f6a0139b26715e061fc07cac09f3411ceeea808a41f79be154b74b5559d3ba2a300665e0fb8567902ca866af74c65c8205fab42f551d689faf019f6a6bbe135091e38891e9b2a85384844df74d820bd15a0e50e1812063730bcdabbe5868abf4c71362a6c457fd6938e9d5ab0958fe167dc2b0debf4f8ced1e19f269ae6d6e5c4f3ebafb7e7c3380e08bd9dfb485cd2019f1c73ea59d4f77a4ae42a61a2d8fa6909165566ff930da5cd3a53fb24d53c568a38e3f8dfe929650531475e17a627d60a2fb57b8a183c97e9b914027c22faaff39ed090cd949a1c808cb908397e482dc382527a4e7aff3244763c68170a1f50077d6186219213f6805ee8962473ba768be9b33daa2a7c2552ee86d99b91509c5e41c9eec6002dd8cffc3e26482e6979d215ec69625475a1cd38d0de23cf90536a937cbbd99eacd38ba93c5bcd4268635aeaff047590dbe094ced6853e3f4dfdff36f17cb531a47cbd205d3cbf07af702a760bb8100cab0479b5df887ff9c5f2d44a09cf8260c080cf2e4e657309d9b338b97412d58dd053131c0c8cf8f43b4a6b41f9d7fdd058baa7b9fe5829b64233145424ca12d90c51cd779efd6d2eb5a73cb94f9396dfd1c6691195062d82a632db8d9a28f0c85f5d9f4a100f2e170304df2ac7e2c42ca20103158ea7087a91b77af232fdea86fb03e3a095a965d64b4c443573aca3df727e4d638fc026a973a6b496c0e11b5de66ec9da32ef657f8758803679a381a7ff469ed79e510c0fcdcb6bc05fd78a4368776b4002e0c10b223119f408dde9266d13fd39b1bd2942f326dabd486c878d1bcb2bf7f34b38c4253b176e32b41fb50c23f9478d0dc9c1c916c5ff0ee76fb4bf5e1368334b8e7d1aee0e11e9fffd96fedf92b3b88c26f24b7719b7e712776a4fdbf08d459e82bd3f65baaad3944b8fa3b8ca00f411374077ee4555ecfe21fd8e9e5a05ba9904ed7af2f1f0af198ac8d2591a261322362ef7a52ce7688aa971c84c63de2913f2b6195c386d661cfd189a3f4da91332a42b53dec52d5d079488d3b40587600171927496988872c13fa9718cfa540ff6f171497d97c934db2682e37cd462795a5e0f0c47c7eb7207a16cbf4a7a4deec93a3f166ddcaf539c5f7e1633043d4330c22ce14b1072ab58434a6691a43125cade008302486049f9ecd19662fef594b710f8e84f096e26b9a9f52dfc7d03a4d37f6bd5f5645352057000b64dcf68bc7bd125f9cb33686018f4f51a6eb3e8f8ba6722eea13cabd5826fd39b39a7ac7f3269e2fa7a98693cf150c1a533fdc5b25496ecd74b4790721bb1aa32032ce09faab07b518da68cd891f9ba5ed43876eb544eabad6f363732b380693ec46020aab5c660498b13362c2030b8f4ee44413523dbf83f2081d5dce1a7e541796d044dcfa1ad01c979551db11c8ed7a007824e8a3c981868c44ade8d31a55b5f802a926d6c9810537a44d0fe04dc00866dcb9162c914ea86b63e9caea89f56dde1f1f73276165d803c5c41b7b74d866ea9ef89cb881fd2f2c393d194e1db0641c6603e218399149b123dfe0df2a667ff4dca7814c4d2e4aca73984a43285f55f3e8f9a8103011ebbe01832d204c8c213f497f44d595376d6379f176492e4b759df1472f24811a01f2423ae0729c2c226f260be6aaf1f8b14b4a2e88784f4ef09921c705f1ba5fb84e64b2c3fe7b6f9fe85bcf162a4e43073f358a7e0643e000fcef94f19315c49e179f1c1262a68d0cd0ac2bff590897d2869221e366ece2f0658333c62f1e10af4442770f12f3f4c1adc5bac00f145f0ee3993d251a0393b58e89f8c39393474574b7f6b14b140b9f001611f4a24be976e2bd700d9b51c25b4cb5acaf44b361bb75fe07c16273e24d500077c98ef1ab69a05548bdd1b63708e850d6ba367104a4b0d26415ad5ce2b2767db94f29379d56d0a827997fcb2beda31bdb8be638cbbea63e9a6bd5271f038f86ec80c0e0a7fabd3a281bba7fca96dbdc585a0149fa00bdb00ec07ac44415dca4eb9e56aa12df948939969a0279107d132db97140f22ff9f13a0f2587aeb73b89560127f20e776034eb265cd8077d590029afdb394a297d2bfd90f8ad2de6dfd863c0667a89161f7a59b112902a18e1330d7d2fd1729f79cdda8cf55f8b60b37bba0c552d25b2a37faa8a9ed4758715611f27ca6e429803ea8a558c28206cf1b834979f620557575cf549a6668cae3106aa161a0c7461c187771386b3e2448e92340615ca8f7985d12f01c299d16e519a29df4922696d2987735fddd90cef58c1ea4c2b9c78240ecead5e116f954dfe74f6eae701cd73f08c30dc673235653c29fbc245c0a256633aa716ca549cc7f72cc20ea23a7123feeb7e2c87b74474ff4f2e26a361352cc89210f9df5654ae4e3141e0b98bbdabbbb7bae8f23a89fcad8edf6c25e8d22a20dece9f423e25b8061b2d6eef149a5fb41a4e95a0d1afbd137a63b915caad92bd0939e06137e9137e85fdf4bf9a5b14c6928a36e85fde5a17f2630fa6ed7ec6f0975e4bb6ab1a2b7491c7cc3e2b52a7b564cc4102fe98b52215261b200092b70d56d87b7ddba2fb2a4910d1bf7f640a0133452475583529fc24e60d04b2816fb8ff93eb95f8f75d20c4c6d4ee9955fce3a7b8bd8bac089deb7dae82e81835d66a65d242fb80390d2d73514611895460c3a483128598bffb08833675a6935774a9533d1eabd4e743a7be8e5c36bd933fecea9cf92d183783f5c10e8a60353a66d092e3326d2ada547c5f9acaa475a448c0e2184d8c895fcb5a8bab198dee212c9103acf9af9c7a45fb4b58c0f227fa2e0ff04cc1c546c1f062e81cebda6e8307adc32ab9c6fcd48f831b304a248a0ffd7823c79b107a62f4324c15f6fcc8b907a88e5c2ca53e4c7e9184963cd84f8352419286b0264456bd133b7044b7c9569f4a29ad4a1eda98c612c9876ac51884e6a8f42750dfe4ae211f7d9f7b89e27e926d11c2835cd4bfab98b5fae3d6eec3c10e960fae241fbe83159baede5d8ea27cfc6fa078584315d35bc3863c8d4a46bbed39fdc13ac0a82fd1663b16784c4eebeebf2bf8c4199f175867ac092ac27023860c75390b77ea0ed08a13b0f2b2d6c08e82bcb0a30acf0dc470df7f14aa5e432b2f4d676b4fa92b0762f517e036a8fc21f8ce6ceed2ff9df3b5520fd3216900d0a6c2275919b26c59ffe1ae4839b9a649c78ef509f938d3a9ae5e94234b4bd413ba6a9f19e20627e74617dc8c8077834febd04bba8edca5b12167cd61466e77c929c4d444abccf460f3942cdb5520663038c520d660b89e26033e284b440e0fa3f94adafc13d14243fa7a4df889c4e8acd6ee7e6293ba1f8fa198fa26d3333b62878949c12550f22a6f7708a38d070054bbcd10dc8802c10317641c8079939d1f9778f87db521ccae60063c62454f6f926c55f48e292032790733614128c933a32e91e768a1ac841f561ad135469f66ed6b78d0c6a2108e246be445fe9ca084d5e92694bfd6e87a0dc7877f81f7a319cdf4ff4b17bdc2876bc6ce55b78de18e90402404b7ffe6c5e5b8ffa897465eb935ffb0dd5dbaa3d054dcda8b2e0fa2e3f64b0a315da5ae994dd4c12965ffd924f03c14400181f4216c2682e59d105ce1c6650b5d6ea32aca29be6b4552d46986fa4980512a7b53b1e020903a8289e198168e906c6226a703766e1653001c4ea615516fbc2df905b720ff19823b13bafe0bb298623493463839825ab16f6032486765cf2d9353d30a5b0724aa9bf1ddf1057d6840ccc3ede4f6e60ebd80fad7095f8117a67e3c72ee79ab26522b7b1cedcabcd5acad5c7f095cf8dba1ca5c7dbc28187ce7e6e662b3d3fb0758b5a8f9b3f05582d3922c5c26ba18263db686de1008969bd89c81ef14b757089e295a9be4252fe233bd4689e31ae9557685992d2d3a6c8bcd75dba053e885075d8881b61af133cce9cab4b2dc085b7959e17e9e4fe19d1a31980bbb3549daf6b30edc3f8bf29179769aa9fa0b54d7f3cf3b28780ca4caf0e38b69d346d350c20d2092e28c38439415fee121a05ad5682e9035da666bc9ea2c7e1656556066db626805ddaae96a7df537e439124d06b55f8d11a9bef4fe3b75a1855d399caab89b374df155b2a4fae7631592fed0a0f9b1739f833800b53c85e84fc15fc2a5aa2c650dabbdc702522c605fd361365b567c9593d09ed250af70f2fe9b52836ee448595efe8b3db0d91ac8841da3dd679c35ecab47efe2883c7157917c9359694264b0e88d17cef722be4f5e0bffafe205669f7bb402ae5c738bf307b11d7b016da72cac495630d93a63904de62614525315c1fa95ba153cb2ec562d4757955bef798f69837dad3add0c330c94b3724dd2c609b35a2b2c78873d8aef2dce8ee5dca61b70f9122209adfaecad3b503136082079610a8901e3ef2dbac070cdd834bafed8bdc8b90eb5446f0c59672d9e59d99d1845783ce123724fea68a1fb8cc77f15cdc513fb797670a0eec640ea6e6e91d86753d19fff0cceb7bc2846281c949fdefedc354a19e6c80df6e6a4fb5d23b2f8e6259374a1480d4923f35c517d1765b8ec98cc0a8868b5ad6c91a9f7456b1cb56173af15cb227b92bf6551fb6b98aa8b0fab831409ad848498414709b4b2329eeeca50d04adeb27e8f5486ec1e0d782425e61e0dd8409a84e473a0833f9c73581283a5fbb913bf7217d90e77d2fb40c387988abd92bd9ac303004615f17a0f8c4f039d6a453b34ef9d12e6461fa955915ad6855a204c8bef8e8f40795395af8be0563d115774047403c5f01a6f2bce7ff9e7b424c942a76466c051116447871fa2050d0562e8497c4989b7fbd356ca7cb8918582783d829ca748c90c0e15b01e57acb39019743c6214a3cc9d1460b014097316e713bdcca42361f5f8a427b32161155fd6429ab02d4cec2317e08148189bba6fb2b6715fcc25cfd579b6dfeed98e473c374d31a64f966be34ee75f93760f23a88cf41a064adc1c1beab93690ab176904bf99c06338b6337d8afba6c288b1d915a7968369c1a5cde0baa64c0a680dfd63cf7d3a178f3507b7e18d4d4ddf89e48b767ce44d72200f16561aa131b2169d5edcd3f6b62e1b8e0d122e64051b8bc7e7f1c359ced887e0fe54763d9d169beebec2a6554035d25e81d51d04829c1f87d93fc3f41d771486419c7e45e852fd409d28088da3c348bc7533c13c9b0da7bfff1f6125d5516436b68a15490bad5ee9aba8408f749def825b3085be8ed086eef52bf875c4ff018c8f5fa716a8f5ca8f86413a24813444f23aef227c43f35d4b4e2618fc17698d257e98e450e00cbdea18da8dccadf4601a8c81fc385811fac8336f31144c6e1b184b9bf21dabef332b81478a7e96e6b73b9858c2872eeed9696744713a6f7e3d9d840318562f6dc33661ccafece32c1f28c190a44c78e715983a041450537ec41e59c434873364f34b8435c8a378aac3f25019879e89995bde685076d89f227dc67b3ca009c9905fba69b409dfe19524f6ad399c953bcbf8d5f96a6b04e1fd48dedee94fc70b492db7561c2df36cf05487c40df35af348b2c7943c30f69f6a05b4f77344286c22c9888102077ca9d5fa6cd7d4b28e0cc18ea66e6ef5df31ee101de4c438ef664a52a610c36b82c008bad96d26bede5dbce60c980e18719634492bdadc0f0ecd6d82aba14f9d5a3e586ed3c47ccd916764acabd84a9d5038c940b4a9f4976589751f80c71475cdc2e6ef93697cd6054c43280f57827968a2edc5445d6e4bc3c22c68aeaac360c45103ee064b41f2d1b4db6568e852e4a1f059e6700f69838e25524324229f58130b3ef43e17004273a9bfe3a7adbcb201bf7b385a8491c3e010fb8debcfedc6b7c11736c7ad1f76cec61b34cabd248788be7c7121fc062d2245ca9f273284c7ee768c5e25974bbd40035e05f8e4128551b3524603befdd986b7a0a4034b8fb3688b70e88f95c7374b8e9e6c60bb75b4ac767c46379c613a791632414c741fe3e686e5578fff1b3facfc23ff9f37250d65acdc731f1bd77e2a85a2d482c2605671ec744ebe3287bc7dadba3f0822214b05d2733011e1bbc4a629de7e5e8f4b62c72202bf6ed083eee4769cef1453010a4594ebdcfea1322e503ee31e7287c7c83c6831fba66248c3e60d35bc6fb29a2e818aa21d6430b9840856a534ce3d79b95d5acdf51eab96256981e82d5822586fb8ed0194c1ad72e82f8c61680bc51539e70e32bef290a4da80bd4bc53506b146bd51b2e4dbfaa896f2714d8be00da23108c1bd54777f33c120f1def46d7611943f5ac6021a54fa2302fab8ebed38e467abea26241a0980ce19d13f62a539b8a68c94b697a82e2c559cb6aeeff7cab307b66d395b3b387ef9ec10ce7fb7517a29c106767a200179b600d0175dd441ef0448b96440b94dc74606160f29879a8e0796ec324e0acf819982449f0309f5adec6dbf6a7e126d0bad1b50c80a1950912ab4b5fcbfbdc3f28b81a1e15c4de05890737e107195f43bfa52e0e95bc0d3fc71a4ebddf6a68cfe4a12c8b63f98138ef46545a25e0717e2afa5226f68ccf6df93ba7c4d154c812782f0a4652d74f25d2cc26cd4a1615dcb5ba14be213ff3704c2c557b2049b2875d3dcd6f4c3f789f61210f4bd8174a9af45a23e577134461b82a1ede8f7dbed97443ac0fef6627c460596c64a32d4e80058f97ae8d0581260a3feea944eb3567705a26fd161ff83a2ba1744b6a6ba80cdf4208a78e11bc1be05266724a3a78e410d6d57f82ee215756b3bf5e5e622fc21dd108eb18d8b11c36bb110157b9b5a879805705648ca484ae6fc090e185fee9ba0e560ffc43bd331abc57dee85d932057863b7a07330d1c4075710a433e382f7879abac86c680db43397ba876a484019d27328db497d67424998f8ff085f579d62794386ec7e12ff7a17c55c496e11c429135387c508e634d27a01734c6d58ff194ef0aa487cc0e393504612b5a627f7be0aa9c7cfe9a604f660d58a467b3d4641514e59673bd2352ef64eca31f6ed7b548e59973faa748a6f5941bc2950ef81bc0053f15e0b790b98245929288e32ee60ea702f814bf4fc406f04e14fea8d81f07f466a939b8e9d32616b80e50982b2d9b0ec21d811c2f22e43628a06becb7f5713ab6212e377deaed321ccb848183379884d8e30cf67ab853d1127145d239339b3d21b4b7b3d2ae8864d1bbcab6e8725a562bd7a422a8a291f8f1c136f5c21342e5cd50ce4666b797cc6e96b5c10a40d1694951235ffebf74a87c25afb68d72833ba459c39497a8e072796700f1c8f707bc743f49c648560b0fe181f8af4e239cf469fbf2a0229d1dc3b596f9fefc71b402a2885acb836256ab93fe9f70bba2fd1b0ded98ff0729e5049e08167ea91a9abb8800bd3c8ea7f98ed85d95e8b59b701dc8fdd51e14cccdfa018106be937e1ef0856736b4a079783eaa6743430425c14fcb365f5b275a07290fbe33fa8ce56a612409b9d3cec711907e53eb8869cfe958d43a12d964d354ceced7c80623fbe4d80cc4507d2cb7d2b3ab11e264c36cbde627941d1b5c43ab06d13dbd2f04ca912692a20a70214e49a9e3e61a9df64aa01dd514675d2e8fc27b5a590b8df5fc0cc00e04d02a17e24319af196c703cfc17aa19c3cd15437c0c04012bfbe44e138a94865b7579581bc31c4f956a166551067640e5d5fd0502dbb93539103140093b63317515c8327aa6dd2fd2fe1f0af302ec79d89ea33dc4d2ca9270d949ac23131ff9a06878eb69b1358c7432088989e95c6320f5400becca64e337ec2c7240413a370f82e6224d1d445b84c7c3c1e0b8136c04f89c6018c962781667ba6c8d8be414b902d596132028ece6412f9abc9b51c4838b076e357391f6cc7a3e5e2c6a384b18996329a4684ef900f752c3d58a48cf76cc3155c5c8bff15ffb06f7a591b8ec5b5c0c45c0878970967f1dae0f93e9dd81a0d2db333ff1a7a36bf3c48bbd36613a82a3db5ecdf4ef79d064729fdca0967df995fd8088b8b008718503ed1bafd0fbe206e19588abb049e9cf2d8f9affa4655a9f9b26510a36538417b907ba88cfa1f3cb492e19034bf4d8587cb1d3aff6789829b0ff52e0510ea2612b8442ba6fbb06067635c13800ee47e6bcddee8c632e05c128b481fc8456f4bb4666af5433dd661ec57a5259f5305c91ddbe966362d39bb4c0c76d7baaa2c1bb8d51ada9473105e07647930099fc7020d6b2992fb566683fd50175289cd82862df5726382feb79ce1e0865719d8193b999a4e33194f2d46bf2f7e3d8b371acedd025995c907005dbb670c0d233ea848e8ed2a28375f74b0ec02d288b2dc56fddf95bf7c38e20b9724574540da6be78c0e4a45bbe12afc7c2ccc947db4488bf66d68a368ba7f478dd4f7bd347edf3cc94f3534786a18a082b33cb2b1952a605bb45504a39ebca7b14c28165fb36c8fdd418eecee9793f4eb4e594519a8edc943606e1fc4d4575f03ccc3caed88467f096706405e6a7580f75b1623231f9a6e2f27d0d3c8db970a8699a94e3718bc490807ba77f3245a8dd68f29ad48eb832dfce84f083c492fe47ca5e59cff8e7cc01c74b7f42f427faa4165736ba87f5a8233398acbdf22c3da68dcf2a474f211f82c37c96cc65c7415f515ca32f60ac2b94a9c9966a4a622d2b043f05c613d666640625fca8a3b2ad6dc873cee9a2263b31363b4414d8ce9a1a1551aa086e786959be737c31ba30266a870139921f5a03283b17faab70a3c181483f562d82ab55a0695fc413084b74649613cf50c0c32ec4b35c108b9512f447beb1fe6143c87f05d9211d2d405451a7bb140459d4e9ea0f285db691fbc11fb6065ce0991f329b8a9ed8afbd1dbd8e31df4fa2fe253dece80ad2343f54019833e714cccb83d3b70eb0dc0f0337672e6eae8eed3a801eca1d7906183413d1c8f83ba0253fedeec1eec899ed2a8b17ce1d1205ecba3c8cc67998a06c09f12cc1f53fb814e1a52091fddcd7dcbb7ba84489bda8804b7ccdc2515b9e8889dcb29f00c37642476f826d2607644f6797907ad6c7d17192a4f690966192ba9254b9c93564fe4f5bb3b3c6d1bc4396c454ec094e01fdaf2ac43eaa18e16976a8558bf9ad4a6ced934fafa58adace28f263a15d217ec1e32854f0db496d374ed7adb9b63b7e60dbfb3ce7077eeab9df4b6c45b598e582844a470cd0ef236ea17e48bf304552fafb132b2e0df3eaeb6b857beb0b1e836b869d143e41e453c8bacca33fe35198f614c4d9a1afdc6e375b8aa91bd5e26b5fdc421afce25a5517aa289fc80ba969a7c0881d27ff331f9c2a7cc78021f1a30a0a18e4ce64eb8a9c02ad2f3e992da02d036bd74cc3d52e4a56086ed4138681776235540b74b1e42ed4255e851eef79d878c48f878cb4feaf614b88218fa61f9c98c50401e97121609a7329b64fbe64c8191a7550571237355991a2bea933a0ce1d705e462ed49ba6a2ba206e09bf146361d0bb011f9bab8470c2929390e4a3c700a6b3d34ef06b844674227cda122e489f3e04996659c31538c9a4813b61748c1cad3602cd0a76131bc5e15d24d921d4737182dd15e93b74522b0b1506d2d3e406f27c8744ad54ce65fa933b8aefccc018007e331754df8722c483e39cb5a9f1f6100a6cb876c6960f35080cffce70afef63837f1dd30862b6d00cfc43a2cbb971d01a4f3066dc129da0953ea5a9093794225683e27cd6130ec0a785e81e1e4d8aca8f116fd26903e55ee982ed7a073a7ca9287e9127b239914284e1315a01bcf50f4abd5e83829e39440dd378b44340a1406b4f6d6e471e5348022705809bf766b479b9bf16f73578bbf8aa10c1cb6e832d406396f7eec9d0b87a2487ff7b49f01b1fb7d4d0475c0dd6e1185d7e71d351302210b8236a449eb24b9bfe16f7ecdba0f8d06713dc94f0f9c8dfd27e2320fc09f502ab978b3f23edeb0a6e7e8cdfccaabad7c371d02c28aa48210771ccded4cc3e99c4bb0aa6dbbc012b015aa7982ad2ffd3d104d7937ec183b4a218bf4ba2b89427bfb9cd85296f873a24d23fbcf9fe293e8c663b6092a3b0246abfb77f1dfd2a008a1ae3d2417379865ae1e44827e59d66bc3a448199add784dd8097385fa26f4f540edc7d483bf0f58ba63ebdd5a393975169ea63374dee6cad1c6a2062a4200a6cb819a2cbf2565062802811a6f70f936338a00ba3d15f81bc1fbbd79e3c1a68f9265af74092d601ebce3e43bf4506bc04aa2550e956e754d9cc0dae2bb7949b586a9f5a2508c4b2cac7608f4ae547bfbe4e573973ffc6957a156d73ed3ae5717da980d598e7f126cab9b8cac8f89fdadf65b642fd5be86a67f70260dfe5fdea9b34184d90d3105e28c07f186a7734843120c0f5ddfaf19ebecf1a85412df978a2fbab24002a06d46f21b28d771db224d606fd42a7d7d68db0f1d24d8b7d9ab67dc51740a15330d84648dc3e2cc1968c5c7804cd7b4f93e8c88a77c5b4ab8d26ba9c539baa79ee1c18871574f04171f8557607bb5afa1e5522bec6be8af70681a066b596a38f7ea0e56f459090da8e85812bc8ee5fce128d82f86a3725a6c3373e9636008719c3f92c4e163226a14c52dcd6393cfc57ad35cba22b162baf2a5dc026034bdf16f28b65c813fd380fa60aed8795141a58621d2c42283fb87ec144b4c9d7e55e82a3603a2e339455b8be8bd0ec5ca8f6c1f8a0db00763729e54925660dc821048606a8468017b1cb07ee4b1397d56e83a4b9a1552545f496f424ef467339b3f4ead8645f09b60a94cd34b4445cbcce298df1ff5a85117043652b671a608c4480580fb7dddc0e4836bb1837f92bc0396b188a1ba3dbb6aaeafae119978a65289fc796108468e6eba12c3959c4b18327c16318d393d95a21574a28ff9b9b66e23b754e0a7bb62658246de0ae3ad8cd7e9c67a60f8f4cf23c71520a80f8bce78b63504370f44905759ef53a7d77e3675ee9e3255a1323e182a668422b8b350f708becc29fba761d971109568ca8ef7ca9a7f8c1b38e3ef5d71b1f726620d21738601961f3616473d7bf502ca0020c17500595d7974a436fb971a3a2edafa0595c16fbdd563e1aec3875243452064097dc3ca4fa32d9cfab2a5f11ba356c403bbe797b68141d95cc9318dae3ebf94caeac50175afd5fc17b6f4a597f010c107ca48bd1c4f14483369f0c0aa8fa11b119614a05771da56607b83f3201bd1332222b8f2a80ac492b995eef74e44f56501ff3f44d6113e748095eb6b20ee2ed157f62e7ac54e81030320ba725e61567765a8ba58f29b2d7c4f5b341d9c65768c79116f1484130c2a37ff112de02269262c261472bcf6ea5088692fc796d5d891df1acd868f76fe75123678bc0fff7486ded836fd440bffab022687c38f619f3431855908e7261dafe2a1d78bc9313149ebe24b773b94f1e762bc1ec95cae6db51f8c9c933e75fe853109d75e270211f6b7c098a9010068a08d9ebc9069ab40a8e7398de1d1b80ab58e9bbe7319d17c18bd9cbf0a37f8c8e07c8fc56e796f00ea7e68d9c2d4453da98eb0e6b916555efbd8267b424ef8c318325ce719ce8a3d6ff19878c707324a51b73cdc0faf6fdf265c1946636a0c3369efefa5dd2ef3762343bffacb678ffc927b2c951690db103322f87e5a32d5c40ed55520cd757ddedfa8febaa8f591a18bb4ebd565b5bd8948e033d5b7e3cc044fe7e058651bb40d772e0ea108cb96525852bbaa77504328d268abd138ee66779a5ce76602e097d59bf2b62f4916d083730d997b8aed5036cbec22569562b8127c50b1694d58cd84458c38cbd8500ea320cdec02e31704629a5beeb49ed05b1b19db0d0dee48b86e3aa30b70f1e5c1201e67b01ac90e074ed0499159f9e946225cf8fd4ab0868a5f436f5def0d5727ea8b5ac28e2e5638aabefdefd3f338e48c0a7e4c33fcf062f456260147cc074aa7e5015a0d15c03e44545981f1efad6fcb3f580b81a04752f9fe9a680583566a98941c3b8403dd0e81b0276c0ba766db0a8d59e7f901a2a700657f5c136e8ecf941317f0d7424746afa7adfcd9b20327190b135c7ff73085934216349c1e79e60f7971ffc14c16cf0a38dd609219bd52038b1f3cf84ff4c4910b8a0c9efebcf1716e95431e8423640c95dcbffa850c031f556cf43bc88ee15fbc64704362d58a78124712413b7df5b5c58e29d8596539d5d5ed11646d0e006684287a90724cb0c2132a9e493a5d2d5548224138181a6e45390aafa61b7a3b06815b6a5eee4b316738e4ab323c9eb76898cfcf3bdd770793a7600ff716688b2f573eb7d4cdde6f1a4d4e4bd1a05686c93722532c1cb33967d1d084e7b07eeed0b4d0076bedb8bc0f02e4be96c72765e525b9523f55377a7198cfeb3cb5c3b95d25b1aab43c780db095ed9c3b7ef2f4c62d460015c9e395ed9c05dd1cec7da35b26feb23f284527583e9e0413ffe3d80c22d48848c1ee2e95dfc23d7aa888c28c2950726efb1363c33596a9689f94db39e57aaa1e19052b87cf4e795b8113365477a93ed15e225182f53b21350ac63c934d2dc1037b0b7d74aa1113f76c2ce48cf84ab6dca99815c481917bc909ad441ea44220e14147e2f95af243ec5eb99bbda0ba2c3a70e87347f5b6b9088ac67e1ff8eb3b48dc2f4dc618001764191589d3fecd680469e95da8f9b91cc02caf51a347cc56e32edfa5b0a6e21b773d828398a7d49a745cdcb001eec522637b584627b19f11b95cf0deb427e35dee55ea6ea06895f0b2d1ebdf8c3004240472f5745046625245670870da25f98f3ee97a2505b7c2955cc7e8a97dcf0c11f077566fe9b52c89a6d1642f5d237c75d11dec8e14a2d16831766885d2eee365b4b356fdd6ca469c69f572b99d8c4ad471f8772d46a71cd175e73ec25355e38b452dbd331effa96f027a7f40df8f7df929fc32eedc5d40b7b2f8c3f00d0026e00c4c0d6459139b12c01a2671f2fd3a167f6ac4750caaa6d340dffd922a843854de4bcafeed4aa26944ad04f7e92a4363bc88fc1bd6b88708f845e3cb7fdc5b257523d430b3f160ff79b58a116cbee296226e878df460a77914b46912fe64c0a398c2d42d31044188b63ae5545d55a6077f8e471768db8efb0361f6c1024eeac71cd498b936e9822f26394e0746539eab729aca5a725c4cbdac504310c6e2f22a4036b998c0e4d79334306f451c446d68d55d9aba89af2f8d8e5ee4a57f8392057de64b032847d7727756bb932b52d289f72abf80e1a5004c2f068b93cff2bad2e255afd260a081576cfcb3510ccacd28d23686b9457030b0ec44bf98171763b55efaca782b64fe5dde88d4853915cd386e0e277638cfdf28a96fffcd244aa839bbf159cb340d500f4fafc9a29a92f6abb024e6354424360e375671164a54329e956127749ee2fc7ae9e789588fbd49595b4b93b9e81b329c255bc7cdfa7ba59df895b3d23f44f349d4ce5c23834cf874061e39dd60d9d580b7ff3967647968d85cdb8d3ff270742679be72c9136a2549f375d5541086ac716609e86b3bd54ef78eaf9871f98b370c71ecec27b4873c3909581ee0df0c6c439fe7ff277abdb397e53c29c29dced0a9312e4af935f946cab9b9530e52c8143c996589b331c79a4aba8ed62ee4101b96d0629716e812d1959f0b5bedf5cba92db70d1b0d3403bb1cd19a335fe698c802123d723118db598f19b6a7e8705955b00dca3be46e3039b4f3cd205390c22b242acf4f7ab9ae4c4e2f8096447b98e6dd8acee78c50ad470ca3d5f541db09836c069c96fdc77a6f5aa48efd8a727bbc600894038f00f74c4ed7104c612ed6f1c3dbad29a7a831f0e229db7c8e275fda3db1516bfe868714638e395e6ed41a8a5673362f46b1a681327e115e37c6312394c137f4f59609675048702f0990eb45c0e354a8c25acae1514a51f33316df784d72c8673267b3bdfb8240ac1550d348f4319972ddbd886df2588dc86f181fe2269f32866ff8d93751ae56de7e15f9f02a618d75c3c8ca24b6d4f6e27506a339bf6e256e176e389b9f99f96dfeaa08bb602dc949aca4812eff85b46a7afea10807a9640fd51b855fbc15fa568c0c17fe80b6660e1fcc8e03c750a3363ef9dd61e8fdab6198c3333830165f2f1368520d816ab8dc4513a83c5fbb359ab6effd45f66353cd20e83f4bfe3998ded5e31eb8e5e7d83b37ad4341cc01efd879a875d2eadba224dcdb5a8729ceb9e684e3406a16f596888b3e1d1b3b261593b6475fc06a9ea4a450ab1f525fe730dfcf350410e2e4e99fca71136608e529bd94aaf02ec073933c1429edff106144b051f086eaa50a04d43473bbd0c37b917903180666ac45bc2461b07a214c6f700061aec2bda214c1e5856ad12878dc03518cb2f87fe005c52a0461c79653932c482ff8e163a51c8248b5202ad2dbbef9f480cc86c2bafc09073e249d4a497d42ebdf4c6f2fb994e286ab198b046f917bc6e69b14451073a26068fb1bbeea090613b46ed3dbf1fd22d14ea4ce2efa290c09ea4ff52b4c682de897c109f7f33e740036ce578593a669885ef03864535a043d88c9dce057ae083994cd73543db0314be35e2a46bdca57a406bcd3858fcfebef15ab590553b90ff4f9c0e030b6ff6dd34a820f22fdd50d1a54fb3cfa657a5bf002670d798c57fcd7fb912921eedad2418697214c279f65cdff4e8c4799e6a8a12f38ee140ae9815e3e2a774dcd745aad52f0b06a9a3344205e55b4f64c94e63091db69ea044e3435b67242ea65ae8b1736396d613b9b85a135ffed24dc6059241ad5143f0bf941383a2b72df768cf1fd96ee2c57856eb72dce8a0b235b5c28a3a08d5bd5cd8cffac4961ef7d2a997816ca4854ffe3e49bf3545b97bf2d6033cb0b9a2597697dab3be36fd807dfdeb7ad23b166d2022f8ead4dbe4c91709eb399ba8a1e3d19be5a868046205cd379f9130a768811074328c9a7c94b44d0dabc6bc738b1e7e81e27587b32f6f100b029deab4968e304a67dcb42be99e726db91b9e32ee376c4b7040f70ef459ffc904c8e7a4e5895dd430dc902d5e8245e465fa60c9188dd2fbd0c0d6064b36355808cd0f38c237640f6ee51826c643a3c81409377e94f946131016f3247978721690978a24280c63ee3c63fcc553c7dfb513af7f4660f369b2b7752ac235000a6029c78152f5097ab70091b8fecf7bcec124d8da0c2cc1ee1efe6cf4a3cd6d9c9fe47f83f5459b0ba6ac6c588d5bc073ef0a5a6dfe901ca4517e967c262c07f9dc70b30d373517a0dfb436e04ab3d4575a18e5b060dfffa1f2fbced6199301620fa9510556e87c95eb9b5a217d7bc0a1fa08650defe0ec26a9a95a6193e2c1c3b7e81e3cee429cb43fc1c3b94a92b49493e315701fffc26017be6c0867deda8d342b97ee56530f73f4e592854af2a77f500ed07f07973dadd993a6cd2e0695810cc20d6cfc3176a8408019de61333fd2a3c853653fe693461af14cb631b448684495a34495b13810754c3f70a68c3759161251406c916b1a5b7c357b4c97ab99e8bf620acdc6b3f3af31ca2c9499b95e445cbc988a47975f61363d99c38af3f7b1bf1b2cd56c300365ac68b8e76f754820edde48582e606c3f44953ad7d0623489bc18e12b7aba35abe3ec9819d67268b83497713b02a7596f4add1351accf0c917988e9352d6f2fe87de35e85a872503a1063e1a97cb18d2ccf3d46daa777a40f201ae7ceaf95bd16559fdc8b834d827e6590e2ef7c266d7d9d3d05c647788f8fa49c3c55cd83b4c7bb00fed863626b715f663e5a8ab3fae16aa44fd62ae522d77000b4bffd20eab77634b1f2b9e5ef78a35d6cd099a6b3e1dfc19761ce37c7f6e51871114d4ce586f2d3fc23eb0b90df22228400f9cde7d34946c53e04c858e86324a55c05067516b9153ac5546b5034895c6c2c2ee5e6590b3a18a73294abf570d54932e7b371202b65a41fd81b0f151a03701c82bb9b1d7058039ab99b95c7033d19b0a8e78ff0682ef8eea027665d0e1ad7c845575a7117805ed94983084107faaf64cd5ee7a8bd55175af7ec54c50370e4e5ab50f1292c4d1dc0d214ed539706d52d48a489d3796c4a01fa7c4fad7d525cb5a959493712399b7fb08d67527db34bb4ebcec149e28df1d42d22d553655b3558c075b79147a3b33c19dac371bb77df2b14574dc66bf93c3dc628d0ffbdc0330b52250c4dd3fb639654947aedb04b0c4e84449b7aad49f93fee076255037428ac7a2e2d861023a3371845d65d5444b80e0a47efd509b29ae0c8cad8afaa0636588552231216b6bee5c005a6ca696724429e544fb0b326674249c0114d99283bd83df4f01d215e58ec6b91d7a075f874466f22b08edcb87eb7c839a14a153547ad021d11e47bbcd0b5bb8597a7c2b35757e90566818e0dad64b0489101667bc7084e80784e9dc92ce5dd6b1eadb623fb41cbfc39f2a12012c2ec2e62d8e657205d67c522c066b3ba4e0b0b2d7fc2d4080ae8bad02ee004b51d01fbec76e48b7e2c5e729ecdfb89712d0be08e9b115568239f8b8d8407ea41af74da89903d1c2a4bf04afea7cf70ffc22e4392a21bbac5080ce8629655ee75a62be69858e983efa09c1faffa0160868a34adf73054e4923beea7b7257374855e97fd18fb66044fe618ba41f9cdad4f2a7863ca4619337426821f377c4240382fb20f381e3097d82b3840691e4aa720b5b69b54d6e94a7081aaa838b2dc59167f554201b91ce78e6aa6d60560ee7ba7b2bd267bd5f9d69b39f484839f9b37e7785f7d064a3e7d67e228285d2a05314952e9ff9d647beca20d38723af52159a086347727b9e4ce371d3a93def401c81764d4b0aa571dbd8ffa1b62437a5a7be8805b52d313cab9237df3a9d21b49c50c9eb65b513ed0dee67637f4c16e5300817e120bb839ceca0216b9f8f91bce827bdceeb64cea3b0b1bc52ba30764e79bb4065dce7cb64a011fd6bdbcc20601835832c0de4dc3497f4616347a1f00068df761f7350b5ee2cf6ab6f5631529aa89fc9ba92a560edd09f3840c75de0506ac481a7e2e26df440db7482d410b082cd16f5d8a1c0b9f3db3043a36af47fee2acb1cd0e83f76195f969ac81610131744e48885beb63c273f3af8288aee61d2f9d27446ee236c4fac955389d561106a99957c9c376e1b4e387a386cff06798bbb5ec47076fe32c4e5418a3e7bbd361eb81713b6229d3f363ca5eded81bec74e9c923e1d71d34cf8899970806944cc9c13b3da5a02c15729a8a02e03fd07ceec5821311678baa9c94a382eeb4007d1250476802abe10a4eaa42c6d2be91aa1508aa453b4827cb441e8151cad3f85737e409aea23956bcc7fb1143c7c7dcebe4417d99c26187cecaa1f4ab45bb961f81afe77b46216386091027bb40a3bf548639d6e4ef9fa352887d9abd3a9b33754b66eaf912f5e0ac3ce3354b266183512849cdfcd9a4ca4fce4bd406b8c261d710716d90a15a1687236e4ad243153359c7548405d20048da862b545bc3b3eac3a7f73badac8ab5f0f2ee4a911c15d1080c4cdf6997c223e09b340f5f1bb970c930b458f768a0bbbe787cb87f181820a3d122b3548d676b3e5a52cbfef06d7424ec065c1f34c230407f9f5dc002c27a9666bec439affe6fee2f5cb8b562a5241145e89e2d327a36292b125bca2e0589c2009265rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootghc-8.10.7-150500.3.2.5.src.rpmghc-Cabal-develghc-Cabal-devel(s390-64)ghc-devel(Cabal-3.2.1.0)@@@@@@@@@@@@@@@@    /bin/sh/bin/shghc-Cabal(s390-64)ghc-compilerghc-compilerghc-compilerghc-devel(array-0.5.4.0)ghc-devel(base-4.14.3.0)ghc-devel(binary-0.8.8.0)ghc-devel(bytestring-0.10.12.0)ghc-devel(containers-0.6.5.1)ghc-devel(deepseq-1.4.4.0)ghc-devel(directory-1.3.6.0)ghc-devel(filepath-1.4.2.1)ghc-devel(mtl-2.2.2)ghc-devel(parsec-3.1.14.0)ghc-devel(pretty-1.1.3.6)ghc-devel(process-1.6.13.2)ghc-devel(text-1.2.4.1)ghc-devel(time-1.9.3)ghc-devel(transformers-0.5.6.2)ghc-devel(unix-2.7.2.2)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.2.1.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{|}~     3.2.1.0-150500.3.2.53.2.1.0-150500.3.2.5        !!!""""""""""""""""""""""""""""""""""""###$%%%&'((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((DistributionBackpackBackpack.dyn_hiBackpack.hiBackpack.p_hiComponentsGraph.dyn_hiComponentsGraph.hiComponentsGraph.p_hiConfigure.dyn_hiConfigure.hiConfigure.p_hiConfiguredComponent.dyn_hiConfiguredComponent.hiConfiguredComponent.p_hiDescribeUnitId.dyn_hiDescribeUnitId.hiDescribeUnitId.p_hiFullUnitId.dyn_hiFullUnitId.hiFullUnitId.p_hiId.dyn_hiId.hiId.p_hiLinkedComponent.dyn_hiLinkedComponent.hiLinkedComponent.p_hiMixLink.dyn_hiMixLink.hiMixLink.p_hiModSubst.dyn_hiModSubst.hiModSubst.p_hiModuleScope.dyn_hiModuleScope.hiModuleScope.p_hiModuleShape.dyn_hiModuleShape.hiModuleShape.p_hiPreExistingComponent.dyn_hiPreExistingComponent.hiPreExistingComponent.p_hiPreModuleShape.dyn_hiPreModuleShape.hiPreModuleShape.p_hiReadyComponent.dyn_hiReadyComponent.hiReadyComponent.p_hiUnifyM.dyn_hiUnifyM.hiUnifyM.p_hiCabalSpecVersion.dyn_hiCabalSpecVersion.hiCabalSpecVersion.p_hiCompatAsync.dyn_hiAsync.hiAsync.p_hiBinary.dyn_hiBinary.hiBinary.p_hiCharParsing.dyn_hiCharParsing.hiCharParsing.p_hiCopyFile.dyn_hiCopyFile.hiCopyFile.p_hiCreatePipe.dyn_hiCreatePipe.hiCreatePipe.p_hiDList.dyn_hiDList.hiDList.p_hiDirectory.dyn_hiDirectory.hiDirectory.p_hiEnvironment.dyn_hiEnvironment.hiEnvironment.p_hiException.dyn_hiException.hiException.p_hiFilePath.dyn_hiFilePath.hiFilePath.p_hiGetShortPathName.dyn_hiGetShortPathName.hiGetShortPathName.p_hiGraph.dyn_hiGraph.hiGraph.p_hiInternalTempFile.dyn_hiTempFile.hiTempFile.p_hiLens.dyn_hiLens.hiLens.p_hiMonadFail.dyn_hiMonadFail.hiMonadFail.p_hiNewtype.dyn_hiNewtype.hiNewtype.p_hiParsing.dyn_hiParsing.hiParsing.p_hiPreludePrelude.dyn_hiPrelude.hiPrelude.p_hiInternal.dyn_hiInternal.hiInternal.p_hiProcess.dyn_hiProcess.hiProcess.p_hiResponseFile.dyn_hiResponseFile.hiResponseFile.p_hiSemigroup.dyn_hiSemigroup.hiSemigroup.p_hiSnocList.dyn_hiSnocList.hiSnocList.p_hiStack.dyn_hiStack.hiStack.p_hiTime.dyn_hiTime.hiTime.p_hiTypeable.dyn_hiTypeable.hiTypeable.p_hiCompiler.dyn_hiCompiler.hiCompiler.p_hiFieldGrammarFieldGrammar.dyn_hiFieldGrammar.hiFieldGrammar.p_hiClass.dyn_hiClass.hiClass.p_hiFieldDescrs.dyn_hiFieldDescrs.hiFieldDescrs.p_hiParsec.dyn_hiParsec.hiParsec.p_hiPretty.dyn_hiPretty.hiPretty.p_hiFieldsFields.dyn_hiFields.hiFields.p_hiConfVar.dyn_hiConfVar.hiConfVar.p_hiField.dyn_hiField.hiField.p_hiLexer.dyn_hiLexer.hiLexer.p_hiLexerMonad.dyn_hiLexerMonad.hiLexerMonad.p_hiParseResult.dyn_hiParseResult.hiParseResult.p_hiParser.dyn_hiParser.hiParser.p_hiPretty.dyn_hiPretty.hiPretty.p_hiGetOpt.dyn_hiGetOpt.hiGetOpt.p_hiInstalledPackageInfo.dyn_hiInstalledPackageInfo.hiInstalledPackageInfo.p_hiLex.dyn_hiLex.hiLex.p_hiLicense.dyn_hiLicense.hiLicense.p_hiMake.dyn_hiMake.hiMake.p_hiModuleName.dyn_hiModuleName.hiModuleName.p_hiPackage.dyn_hiPackage.hiPackage.p_hiPackageDescriptionPackageDescription.dyn_hiPackageDescription.hiPackageDescription.p_hiCheck.dyn_hiCheck.hiCheck.p_hiConfiguration.dyn_hiConfiguration.hiConfiguration.p_hiFieldGrammar.dyn_hiFieldGrammar.hiFieldGrammar.p_hiParsec.dyn_hiParsec.hiParsec.p_hiPrettyPrint.dyn_hiPrettyPrint.hiPrettyPrint.p_hiQuirks.dyn_hiQuirks.hiQuirks.p_hiUtils.dyn_hiUtils.hiUtils.p_hiParsecParsec.dyn_hiParsec.hiParsec.p_hiError.dyn_hiError.hiError.p_hiFieldLineStream.dyn_hiFieldLineStream.hiFieldLineStream.p_hiNewtypes.dyn_hiNewtypes.hiNewtypes.p_hiPosition.dyn_hiPosition.hiPosition.p_hiWarning.dyn_hiWarning.hiWarning.p_hiPretty.dyn_hiPretty.hiPretty.p_hiReadE.dyn_hiReadE.hiReadE.p_hiSPDXSPDX.dyn_hiSPDX.hiSPDX.p_hiLicense.dyn_hiLicense.hiLicense.p_hiLicenseExceptionId.dyn_hiLicenseExceptionId.hiLicenseExceptionId.p_hiLicenseExpression.dyn_hiLicenseExpression.hiLicenseExpression.p_hiLicenseId.dyn_hiLicenseId.hiLicenseId.p_hiLicenseListVersion.dyn_hiLicenseListVersion.hiLicenseListVersion.p_hiLicenseReference.dyn_hiLicenseReference.hiLicenseReference.p_hiSimpleSimple.dyn_hiSimple.hiSimple.p_hiBench.dyn_hiBench.hiBench.p_hiBuildBuild.dyn_hiBuild.hiBuild.p_hiMacros.dyn_hiMacros.hiMacros.p_hiPathsModule.dyn_hiPathsModule.hiPathsModule.p_hiBuildPaths.dyn_hiBuildPaths.hiBuildPaths.p_hiBuildTarget.dyn_hiBuildTarget.hiBuildTarget.p_hiBuildToolDepends.dyn_hiBuildToolDepends.hiBuildToolDepends.p_hiCCompiler.dyn_hiCCompiler.hiCCompiler.p_hiCommand.dyn_hiCommand.hiCommand.p_hiCompiler.dyn_hiCompiler.hiCompiler.p_hiConfigure.dyn_hiConfigure.hiConfigure.p_hiDoctest.dyn_hiDoctest.hiDoctest.p_hiFlag.dyn_hiFlag.hiFlag.p_hiGHCGHC.dyn_hiGHC.hiGHC.p_hiEnvironmentParser.dyn_hiEnvironmentParser.hiEnvironmentParser.p_hiImplInfo.dyn_hiImplInfo.hiImplInfo.p_hiInternal.dyn_hiInternal.hiInternal.p_hiGHCJS.dyn_hiGHCJS.hiGHCJS.p_hiGlob.dyn_hiGlob.hiGlob.p_hiHaddock.dyn_hiHaddock.hiHaddock.p_hiHaskellSuite.dyn_hiHaskellSuite.hiHaskellSuite.p_hiHpc.dyn_hiHpc.hiHpc.p_hiInstall.dyn_hiInstall.hiInstall.p_hiInstallDirsInstallDirs.dyn_hiInstallDirs.hiInstallDirs.p_hiInternal.dyn_hiInternal.hiInternal.p_hiLocalBuildInfo.dyn_hiLocalBuildInfo.hiLocalBuildInfo.p_hiPackageIndex.dyn_hiPackageIndex.hiPackageIndex.p_hiPreProcessPreProcess.dyn_hiPreProcess.hiPreProcess.p_hiUnlit.dyn_hiUnlit.hiUnlit.p_hiProgramProgram.dyn_hiProgram.hiProgram.p_hiAr.dyn_hiAr.hiAr.p_hiBuiltin.dyn_hiBuiltin.hiBuiltin.p_hiDb.dyn_hiDb.hiDb.p_hiFind.dyn_hiFind.hiFind.p_hiGHC.dyn_hiGHC.hiGHC.p_hiHcPkg.dyn_hiHcPkg.hiHcPkg.p_hiHpc.dyn_hiHpc.hiHpc.p_hiInternal.dyn_hiInternal.hiInternal.p_hiLd.dyn_hiLd.hiLd.p_hiResponseFile.dyn_hiResponseFile.hiResponseFile.p_hiRun.dyn_hiRun.hiRun.p_hiScript.dyn_hiScript.hiScript.p_hiStrip.dyn_hiStrip.hiStrip.p_hiTypes.dyn_hiTypes.hiTypes.p_hiRegister.dyn_hiRegister.hiRegister.p_hiSetup.dyn_hiSetup.hiSetup.p_hiShowBuildInfo.dyn_hiShowBuildInfo.hiShowBuildInfo.p_hiSrcDist.dyn_hiSrcDist.hiSrcDist.p_hiTestTest.dyn_hiTest.hiTest.p_hiExeV10.dyn_hiExeV10.hiExeV10.p_hiLibV09.dyn_hiLibV09.hiLibV09.p_hiLog.dyn_hiLog.hiLog.p_hiUHC.dyn_hiUHC.hiUHC.p_hiUserHooks.dyn_hiUserHooks.hiUserHooks.p_hiUtilsUtils.dyn_hiUtils.hiUtils.p_hiJson.dyn_hiJson.hiJson.p_hiSystem.dyn_hiSystem.hiSystem.p_hiTestSuite.dyn_hiTestSuite.hiTestSuite.p_hiText.dyn_hiText.hiText.p_hiTypesAbiDependency.dyn_hiAbiDependency.hiAbiDependency.p_hiAbiHash.dyn_hiAbiHash.hiAbiHash.p_hiAnnotatedId.dyn_hiAnnotatedId.hiAnnotatedId.p_hiBenchmarkBenchmark.dyn_hiBenchmark.hiBenchmark.p_hiLens.dyn_hiLens.hiLens.p_hiBenchmarkInterface.dyn_hiBenchmarkInterface.hiBenchmarkInterface.p_hiBenchmarkType.dyn_hiBenchmarkType.hiBenchmarkType.p_hiBuildInfoBuildInfo.dyn_hiBuildInfo.hiBuildInfo.p_hiLens.dyn_hiLens.hiLens.p_hiBuildType.dyn_hiBuildType.hiBuildType.p_hiComponent.dyn_hiComponent.hiComponent.p_hiComponentId.dyn_hiComponentId.hiComponentId.p_hiComponentInclude.dyn_hiComponentInclude.hiComponentInclude.p_hiComponentLocalBuildInfo.dyn_hiComponentLocalBuildInfo.hiComponentLocalBuildInfo.p_hiComponentName.dyn_hiComponentName.hiComponentName.p_hiComponentRequestedSpec.dyn_hiComponentRequestedSpec.hiComponentRequestedSpec.p_hiCondTree.dyn_hiCondTree.hiCondTree.p_hiCondition.dyn_hiCondition.hiCondition.p_hiConfVar.dyn_hiConfVar.hiConfVar.p_hiDependency.dyn_hiDependency.hiDependency.p_hiDependencyMap.dyn_hiDependencyMap.hiDependencyMap.p_hiExeDependency.dyn_hiExeDependency.hiExeDependency.p_hiExecutableExecutable.dyn_hiExecutable.hiExecutable.p_hiLens.dyn_hiLens.hiLens.p_hiExecutableScope.dyn_hiExecutableScope.hiExecutableScope.p_hiExposedModule.dyn_hiExposedModule.hiExposedModule.p_hiFlag.dyn_hiFlag.hiFlag.p_hiForeignLibForeignLib.dyn_hiForeignLib.hiForeignLib.p_hiLens.dyn_hiLens.hiLens.p_hiForeignLibOption.dyn_hiForeignLibOption.hiForeignLibOption.p_hiForeignLibType.dyn_hiForeignLibType.hiForeignLibType.p_hiGenericPackageDescriptionGenericPackageDescription.dyn_hiGenericPackageDescription.hiGenericPackageDescription.p_hiLens.dyn_hiLens.hiLens.p_hiGivenComponent.dyn_hiGivenComponent.hiGivenComponent.p_hiHookedBuildInfo.dyn_hiHookedBuildInfo.hiHookedBuildInfo.p_hiIncludeRenaming.dyn_hiIncludeRenaming.hiIncludeRenaming.p_hiInstalledPackageInfoInstalledPackageInfo.dyn_hiInstalledPackageInfo.hiInstalledPackageInfo.p_hiFieldGrammar.dyn_hiFieldGrammar.hiFieldGrammar.p_hiLens.dyn_hiLens.hiLens.p_hiLegacyExeDependency.dyn_hiLegacyExeDependency.hiLegacyExeDependency.p_hiLens.dyn_hiLens.hiLens.p_hiLibraryLibrary.dyn_hiLibrary.hiLibrary.p_hiLens.dyn_hiLens.hiLens.p_hiLibraryName.dyn_hiLibraryName.hiLibraryName.p_hiLibraryVisibility.dyn_hiLibraryVisibility.hiLibraryVisibility.p_hiLocalBuildInfo.dyn_hiLocalBuildInfo.hiLocalBuildInfo.p_hiMixin.dyn_hiMixin.hiMixin.p_hiModule.dyn_hiModule.hiModule.p_hiModuleReexport.dyn_hiModuleReexport.hiModuleReexport.p_hiModuleRenaming.dyn_hiModuleRenaming.hiModuleRenaming.p_hiMungedPackageId.dyn_hiMungedPackageId.hiMungedPackageId.p_hiMungedPackageName.dyn_hiMungedPackageName.hiMungedPackageName.p_hiPackageDescriptionPackageDescription.dyn_hiPackageDescription.hiPackageDescription.p_hiLens.dyn_hiLens.hiLens.p_hiPackageIdPackageId.dyn_hiPackageId.hiPackageId.p_hiLens.dyn_hiLens.hiLens.p_hiPackageNamePackageName.dyn_hiPackageName.hiPackageName.p_hiMagic.dyn_hiMagic.hiMagic.p_hiPackageVersionConstraint.dyn_hiPackageVersionConstraint.hiPackageVersionConstraint.p_hiPkgconfigDependency.dyn_hiPkgconfigDependency.hiPkgconfigDependency.p_hiPkgconfigName.dyn_hiPkgconfigName.hiPkgconfigName.p_hiPkgconfigVersion.dyn_hiPkgconfigVersion.hiPkgconfigVersion.p_hiPkgconfigVersionRange.dyn_hiPkgconfigVersionRange.hiPkgconfigVersionRange.p_hiSetupBuildInfoSetupBuildInfo.dyn_hiSetupBuildInfo.hiSetupBuildInfo.p_hiLens.dyn_hiLens.hiLens.p_hiSourceRepoSourceRepo.dyn_hiSourceRepo.hiSourceRepo.p_hiLens.dyn_hiLens.hiLens.p_hiTargetInfo.dyn_hiTargetInfo.hiTargetInfo.p_hiTestSuiteTestSuite.dyn_hiTestSuite.hiTestSuite.p_hiLens.dyn_hiLens.hiLens.p_hiTestSuiteInterface.dyn_hiTestSuiteInterface.hiTestSuiteInterface.p_hiTestType.dyn_hiTestType.hiTestType.p_hiUnitId.dyn_hiUnitId.hiUnitId.p_hiUnqualComponentName.dyn_hiUnqualComponentName.hiUnqualComponentName.p_hiVersion.dyn_hiVersion.hiVersion.p_hiVersionInterval.dyn_hiVersionInterval.hiVersionInterval.p_hiVersionRangeVersionRange.dyn_hiVersionRange.hiVersionRange.p_hiInternal.dyn_hiInternal.hiInternal.p_hiUtilsBase62.dyn_hiBase62.hiBase62.p_hiGeneric.dyn_hiGeneric.hiGeneric.p_hiIOData.dyn_hiIOData.hiIOData.p_hiLogProgress.dyn_hiLogProgress.hiLogProgress.p_hiMD5.dyn_hiMD5.hiMD5.p_hiMapAccum.dyn_hiMapAccum.hiMapAccum.p_hiNubList.dyn_hiNubList.hiNubList.p_hiProgress.dyn_hiProgress.hiProgress.p_hiShortText.dyn_hiShortText.hiShortText.p_hiString.dyn_hiString.hiString.p_hiStructured.dyn_hiStructured.hiStructured.p_hiUnionFind.dyn_hiUnionFind.hiUnionFind.p_hiVerbosityVerbosity.dyn_hiVerbosity.hiVerbosity.p_hiInternal.dyn_hiInternal.hiInternal.p_hiVersion.dyn_hiVersion.hiVersion.p_hiHSCabal-3.2.1.0.oHSCabal-3.2.1.0.p_oLanguageHaskellExtension.dyn_hiExtension.hiExtension.p_hiPaths_Cabal.dyn_hiPaths_Cabal.hiPaths_Cabal.p_hilibHSCabal-3.2.1.0.alibHSCabal-3.2.1.0_p.aCabal-3.2.1.0.confCabal-3.2.1.0Cabal.haddockCabal.txtDistribution-Backpack-ComponentsGraph.htmlDistribution-Backpack-Configure.htmlDistribution-Backpack-ConfiguredComponent.htmlDistribution-Backpack-DescribeUnitId.htmlDistribution-Backpack-FullUnitId.htmlDistribution-Backpack-LinkedComponent.htmlDistribution-Backpack-ModSubst.htmlDistribution-Backpack-ModuleShape.htmlDistribution-Backpack-PreModuleShape.htmlDistribution-Backpack.htmlDistribution-CabalSpecVersion.htmlDistribution-Compat-Binary.htmlDistribution-Compat-CharParsing.htmlDistribution-Compat-CreatePipe.htmlDistribution-Compat-DList.htmlDistribution-Compat-Directory.htmlDistribution-Compat-Exception.htmlDistribution-Compat-FilePath.htmlDistribution-Compat-Graph.htmlDistribution-Compat-Lens.htmlDistribution-Compat-Newtype.htmlDistribution-Compat-Parsing.htmlDistribution-Compat-Prelude-Internal.htmlDistribution-Compat-Process.htmlDistribution-Compat-ResponseFile.htmlDistribution-Compat-Semigroup.htmlDistribution-Compat-Stack.htmlDistribution-Compat-Time.htmlDistribution-Compat-Typeable.htmlDistribution-Compiler.htmlDistribution-FieldGrammar-Class.htmlDistribution-FieldGrammar-FieldDescrs.htmlDistribution-FieldGrammar-Parsec.htmlDistribution-FieldGrammar-Pretty.htmlDistribution-FieldGrammar.htmlDistribution-Fields-ConfVar.htmlDistribution-Fields-Field.htmlDistribution-Fields-Lexer.htmlDistribution-Fields-LexerMonad.htmlDistribution-Fields-ParseResult.htmlDistribution-Fields-Parser.htmlDistribution-Fields-Pretty.htmlDistribution-Fields.htmlDistribution-InstalledPackageInfo.htmlDistribution-License.htmlDistribution-Make.htmlDistribution-ModuleName.htmlDistribution-Package.htmlDistribution-PackageDescription-Check.htmlDistribution-PackageDescription-Configuration.htmlDistribution-PackageDescription-FieldGrammar.htmlDistribution-PackageDescription-Parsec.htmlDistribution-PackageDescription-PrettyPrint.htmlDistribution-PackageDescription-Quirks.htmlDistribution-PackageDescription-Utils.htmlDistribution-PackageDescription.htmlDistribution-Parsec-Error.htmlDistribution-Parsec-FieldLineStream.htmlDistribution-Parsec-Newtypes.htmlDistribution-Parsec-Position.htmlDistribution-Parsec-Warning.htmlDistribution-Parsec.htmlDistribution-Pretty.htmlDistribution-ReadE.htmlDistribution-SPDX-License.htmlDistribution-SPDX-LicenseExceptionId.htmlDistribution-SPDX-LicenseExpression.htmlDistribution-SPDX-LicenseId.htmlDistribution-SPDX-LicenseListVersion.htmlDistribution-SPDX-LicenseReference.htmlDistribution-SPDX.htmlDistribution-Simple-Bench.htmlDistribution-Simple-Build-Macros.htmlDistribution-Simple-Build-PathsModule.htmlDistribution-Simple-Build.htmlDistribution-Simple-BuildPaths.htmlDistribution-Simple-BuildTarget.htmlDistribution-Simple-BuildToolDepends.htmlDistribution-Simple-CCompiler.htmlDistribution-Simple-Command.htmlDistribution-Simple-Compiler.htmlDistribution-Simple-Configure.htmlDistribution-Simple-Doctest.htmlDistribution-Simple-Flag.htmlDistribution-Simple-GHC.htmlDistribution-Simple-GHCJS.htmlDistribution-Simple-Glob.htmlDistribution-Simple-Haddock.htmlDistribution-Simple-HaskellSuite.htmlDistribution-Simple-Hpc.htmlDistribution-Simple-Install.htmlDistribution-Simple-InstallDirs-Internal.htmlDistribution-Simple-InstallDirs.htmlDistribution-Simple-LocalBuildInfo.htmlDistribution-Simple-PackageIndex.htmlDistribution-Simple-PreProcess-Unlit.htmlDistribution-Simple-PreProcess.htmlDistribution-Simple-Program-Ar.htmlDistribution-Simple-Program-Builtin.htmlDistribution-Simple-Program-Db.htmlDistribution-Simple-Program-Find.htmlDistribution-Simple-Program-GHC.htmlDistribution-Simple-Program-HcPkg.htmlDistribution-Simple-Program-Hpc.htmlDistribution-Simple-Program-Internal.htmlDistribution-Simple-Program-Ld.htmlDistribution-Simple-Program-ResponseFile.htmlDistribution-Simple-Program-Run.htmlDistribution-Simple-Program-Script.htmlDistribution-Simple-Program-Strip.htmlDistribution-Simple-Program-Types.htmlDistribution-Simple-Program.htmlDistribution-Simple-Register.htmlDistribution-Simple-Setup.htmlDistribution-Simple-ShowBuildInfo.htmlDistribution-Simple-SrcDist.htmlDistribution-Simple-Test-ExeV10.htmlDistribution-Simple-Test-LibV09.htmlDistribution-Simple-Test-Log.htmlDistribution-Simple-Test.htmlDistribution-Simple-UHC.htmlDistribution-Simple-UserHooks.htmlDistribution-Simple-Utils.htmlDistribution-Simple.htmlDistribution-System.htmlDistribution-TestSuite.htmlDistribution-Text.htmlDistribution-Types-AbiDependency.htmlDistribution-Types-AbiHash.htmlDistribution-Types-AnnotatedId.htmlDistribution-Types-Benchmark-Lens.htmlDistribution-Types-Benchmark.htmlDistribution-Types-BenchmarkInterface.htmlDistribution-Types-BenchmarkType.htmlDistribution-Types-BuildInfo-Lens.htmlDistribution-Types-BuildInfo.htmlDistribution-Types-BuildType.htmlDistribution-Types-Component.htmlDistribution-Types-ComponentId.htmlDistribution-Types-ComponentInclude.htmlDistribution-Types-ComponentLocalBuildInfo.htmlDistribution-Types-ComponentName.htmlDistribution-Types-ComponentRequestedSpec.htmlDistribution-Types-CondTree.htmlDistribution-Types-Condition.htmlDistribution-Types-ConfVar.htmlDistribution-Types-Dependency.htmlDistribution-Types-DependencyMap.htmlDistribution-Types-ExeDependency.htmlDistribution-Types-Executable-Lens.htmlDistribution-Types-Executable.htmlDistribution-Types-ExecutableScope.htmlDistribution-Types-ExposedModule.htmlDistribution-Types-Flag.htmlDistribution-Types-ForeignLib-Lens.htmlDistribution-Types-ForeignLib.htmlDistribution-Types-ForeignLibOption.htmlDistribution-Types-ForeignLibType.htmlDistribution-Types-GenericPackageDescription-Lens.htmlDistribution-Types-GenericPackageDescription.htmlDistribution-Types-GivenComponent.htmlDistribution-Types-HookedBuildInfo.htmlDistribution-Types-IncludeRenaming.htmlDistribution-Types-InstalledPackageInfo-FieldGrammar.htmlDistribution-Types-InstalledPackageInfo-Lens.htmlDistribution-Types-InstalledPackageInfo.htmlDistribution-Types-LegacyExeDependency.htmlDistribution-Types-Lens.htmlDistribution-Types-Library-Lens.htmlDistribution-Types-Library.htmlDistribution-Types-LibraryName.htmlDistribution-Types-LibraryVisibility.htmlDistribution-Types-LocalBuildInfo.htmlDistribution-Types-Mixin.htmlDistribution-Types-Module.htmlDistribution-Types-ModuleReexport.htmlDistribution-Types-ModuleRenaming.htmlDistribution-Types-MungedPackageId.htmlDistribution-Types-MungedPackageName.htmlDistribution-Types-PackageDescription-Lens.htmlDistribution-Types-PackageDescription.htmlDistribution-Types-PackageId-Lens.htmlDistribution-Types-PackageId.htmlDistribution-Types-PackageName-Magic.htmlDistribution-Types-PackageName.htmlDistribution-Types-PackageVersionConstraint.htmlDistribution-Types-PkgconfigDependency.htmlDistribution-Types-PkgconfigName.htmlDistribution-Types-PkgconfigVersion.htmlDistribution-Types-PkgconfigVersionRange.htmlDistribution-Types-SetupBuildInfo-Lens.htmlDistribution-Types-SetupBuildInfo.htmlDistribution-Types-SourceRepo-Lens.htmlDistribution-Types-SourceRepo.htmlDistribution-Types-TargetInfo.htmlDistribution-Types-TestSuite-Lens.htmlDistribution-Types-TestSuite.htmlDistribution-Types-TestSuiteInterface.htmlDistribution-Types-TestType.htmlDistribution-Types-UnitId.htmlDistribution-Types-UnqualComponentName.htmlDistribution-Types-Version.htmlDistribution-Types-VersionInterval.htmlDistribution-Types-VersionRange-Internal.htmlDistribution-Types-VersionRange.htmlDistribution-Utils-Generic.htmlDistribution-Utils-IOData.htmlDistribution-Utils-LogProgress.htmlDistribution-Utils-MD5.htmlDistribution-Utils-MapAccum.htmlDistribution-Utils-NubList.htmlDistribution-Utils-Progress.htmlDistribution-Utils-ShortText.htmlDistribution-Utils-Structured.htmlDistribution-Verbosity-Internal.htmlDistribution-Verbosity.htmlDistribution-Version.htmlLanguage-Haskell-Extension.htmldoc-index-124.htmldoc-index-33.htmldoc-index-35.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-63.htmldoc-index-94.htmldoc-index-95.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.png/usr/lib64/ghc-8.10.7/Cabal-3.2.1.0//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Backpack//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Compat//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Compat/Internal//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Compat/Prelude//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/FieldGrammar//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Fields//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/PackageDescription//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Parsec//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/SPDX//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Simple//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Simple/Build//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Simple/GHC//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Simple/InstallDirs//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Simple/PreProcess//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Simple/Program//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Simple/Test//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Simple/Utils//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/Benchmark//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/BuildInfo//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/Executable//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/ForeignLib//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/GenericPackageDescription//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/InstalledPackageInfo//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/Library//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/PackageDescription//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/PackageId//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/PackageName//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/SetupBuildInfo//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/SourceRepo//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/TestSuite//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/VersionRange//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Utils//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Verbosity//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Language//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Language/Haskell//usr/lib64/ghc-8.10.7/package.conf.d//usr/share/doc/ghc-8.10.7/html/libraries//usr/share/doc/ghc-8.10.7/html/libraries/Cabal-3.2.1.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 strippedcurrent ar archiveASCII textUTF-8 Unicode text, with very long linesHTML document, ASCII text, with very long linesHTML document, ASCII text, with very long lines, with no line terminatorsLaTeX document, ASCII text, with very long linesUTF-8 Unicode textASCII text, with no line terminatorsPNG image data, 128 x 104, 8-bit/color RGBA, non-interlacedPRRRR R R R R RRRRRRRRtGF@FGlǹutf-821f540286c20340d19db0f6565385a6cbda7a1c1ad64c912797b2177f05365f2?7zXZ !t/* ]"k%!:mdEoH8t_̲m8SAw{Hqlz8 Z^|0l羜x> 'T΋k>GE'NTf=b4x'  `Deqrm$A/Sq%8>d'<™V_^p4/q]P=`LM^f?/L_=#C)cBHA&3uH/J.>XH8 ^IWS FPߦj#G<#xX*imګ$vEl[i:IlP<;{O v1-h4֒wUbhKa .;T'PYF!^X%Fż.FlKΘRv̗Ij?ԗMIt*aaQ{'mQQx{Q0S3ƶָpX4GJw܄\^N5ɸ-'dR+ػ' 32pkixfn8&ƠknpW}1XBS՞aBm9cG@fy,ce_ w1ovrnِȮ&tJbFFگN ,x=7Otx[Qj˥z^yv톂>_ y:yx=,11 E9aV]LjTd}-)Fw.9+&#_S/^o#֔I0>MEUH݂9@GU8È!:"f\õ=*ޥ!:iZJ4=#f :Ć< W-&He1F5xK"1MլIߊf&xu=˘\=ψ.qaW94 dte)sMe '}L!D'NtʪfxV:^T=ӹT''NoQb^-4`rjF`ihXgbS][R[FPPe..1)0OjWk+w.bbc9Lo(%-|FnMۥV&[K.BiNz3cRD+-pU**c) X)8/vYfX&_njO&)X,BƃL]7 5F4IΙLm1pfja@D.y1#P7@BfUSa=+yɒI0A{W!gR>s(2AUXOu mje }=B iv \5z5qʻ$9:z 9Q=UjD>5{"8ŤH?h+%uc0@?ߎj^G?(A0T q)wL]5^mEGPjםG gY>!ypbKAL}BbecYzhL{D3m磰,aHE1/6QIYw}脸d;CƾNԬR|@{Oo tfgLJp Uַj_و'1:nOzb|O0᳭8W8F[ k?J{gʲ$HLɨ{)O`t`dK;E8aF쉡R<>L#:$O೐IQ- ξy%rRt32i-bOP(Qj7ɜ=;¨ن/xDR-HαvImq5%Ăļ/Adai_gjh>@7*Uє*w`zO^f/UN~:Yjo/G]Ff(xؖC@cϾhrЅ}:|nt/W.QS_$TRa[)qH)3숁*\3nؘL]y+YQ'-h)gX-++نcy,8/"&5:oƻ"@Gm@ D_h=shȊŷBBl;c T ?; <÷_"i'3E ]kyFifDLpT]93UWA A\|?絼k<0JS;x؆_ =rFLCӐ`:hG Kmm4P_nn-z%4cctMQ]i\Ze.s89Bvg~^Ɂ2ͬ)QbL A2O8rkn`Jd%hU}\Id +Ս! {%">YCZ kTs88cuW9 q#JOD GLP\{#,f5v99>4յ]>+,JߋmւUXn2UD\c4<j me w{43~hi1ܾGZ-gwg|2!oa`MgB)F]DI0FB c~>69g©<ߍgϏ8я@^wV{O27H)7jA뒤T[nakܓ{:/nڂY}w jKUa'HYm(Q:TRn3Zm\v  8P ț[M'^9y"'Rx%Q3*1 /xֿ SDes=p4!)]3.qs;?YYR"UYPx0KRzFb[Uiϣ_JyZ:;PJz o &ɋ/jG1˩:%?7*[:%xjG~y\]8:{ w;߀sKgK<vhFV@>W!ʑGx>6m" .%6(cDr2I s4`bysl_\/?HLiGՙ_ɮcDDz-p/-bhe(v؟8(FǬwc49Q3ز Jd{BDw !S[2e*J~Fފ>&VN#U!6SYg z67Eye4$쏍[m\Wx 2 CoeG/]/2X1;1y,{wQ64v5"IZn@TZ0#V>=f[x &Gߦ8'U8obI)iQ@ʸD0O4"1}ku9c6k++I7o{.24pg~Q di~ ۙ Ultb/9tۣHzLc#OՊ?s[oߚk&]cW)h˛t^trl]8Yq?A*1*1m}6FX ;*qK@R]]W05Ztoޢ[HӭNhVg O^^ Jk^hC@P9{SLĤ 껫dh Khӣ8KDr(%G4*x\O^6BQWԳ!A*lbw ְP)jA ideK{،' c=eE:*'UǦ򥣵Jh |J֨%lT"+T6TSLv'y]eC xJ{B/A?=9~ee4) Z; fX?C؝'w'.[#qv&C`/Jÿ<]!1}L#D$fN89Jw@ f6 cIP7'Sh׃1gk#/(* EiZYrgۛ2ӂ=.yx:'1E?h^4K6򚼄bUphpOYѨbDȖ:E.a/mQ Í0-!}j)m(IK#-G~0PKKԡ;Q.p->JiY9?oUl.REzSM^| r]MgOLn ҂(>!ɂ&f/]"] FPwu\0،˴.W5;Ih<2}y.ZYR:G"JUŢ{5b6&Tniة؀ݸ,3Q۵05\ }VBw&__; Ԥ,ΰ⇑l^-vȷ^ppO_#uy\Sg1tia6r_xm'E/WĥJ "XeL-KK! Y-߫6X iLfQdx{UAB-H}\pJ$2 ڨn4jDtvJ nL'Bݕ:/"H|%+)?&_a!o*tK>ZtNmDg%W+ u,"61Oѡd,J~,OzUH f5 j?nvxI-Z0Fԁ.%"#m][2 Sm3)