python2-numpy_1_16_5-gnu-hpc-1.16.5-150200.3.5.1<>,b9p9|z17уGhԭƠN.jFZ2KepD?2iT ˁ 0_*LԸZI>lhP'\dW> RȘ5O& 1ݞdz\Ό[".}j+jD1ч~]@d[i̳.w 2Y%2qGX^7dʈaޢԓef'[v;NF;/jH j ;*[4_29G>As?sxd& 3 t  -J`fp    \ E 0a(,l(@8H79$7:'7BXFtGH0I%X'Y'Z([( \( ]/^H^"bQcRdSeSfSlSuS0vZwaxidyqzss(s,s2stCpython2-numpy_1_16_5-gnu-hpc1.16.5150200.3.5.1NumPy array processing for numbers, strings, records and objectsNumPy is a general-purpose array-processing package designed to efficiently manipulate large multi-dimensional arrays of arbitrary records without sacrificing too much speed for small multi-dimensional arrays. NumPy is built on the Numeric code base and adds features introduced by numarray as well as an extended C-API and the ability to create arrays of arbitrary type which also makes NumPy suitable for interfacing with general-purpose data-base applications. There are also basic facilities for discrete fourier transform, basic linear algebra and random number generation.b9ibs-arm-4SUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Development/Libraries/Pythonhttp://www.numpy.org/linuxaarch64w{q ryK K >-Y%&~$x ( jI%) xmx,@ ' g#$ `J[@g@.IFTATch*f#s-\,YiEJvi)mH@3;nqp7 CjErD +k\J R %4M'e]>?x^J?Sg L # q%)& &YQ*+- .  tQDE \ (q _ I 0c8grk  #$ D ? bZJBN@ a 3b? -N^[:9>`%&$J!xq''56=5>.%&/$efop3(I u  N U-JzXYD%` eV]U"^&e"# q w /q (%,2C&Nch{)h^o_elQy\mRa`Lq{Fd#KuXbn9jCr{O^#%kzFP DA  ( LfW2V8mޚ?i9^<(}+3<;|&Q,6wCQn `y}q]ep- 40my D8 x#7+9 4=P#DGQc5|.GA | A&q AAAAAAAA큤A큤A큤A큤큤큤큤큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤큤A큤A큤큤큤A큤A큤A큤A큤큤A큤A큤A큤A큤b9ڬb9ڮb9ڮb9ڮb9ڮb9ڬb9ڬb9ڮb9ڮb9ڮb9ڭb9ڮb9ڭb9ڭb9ڭb9ڭ]eEb4t@b9ڭ]eEb9ڭ]$b9ڬ]e6b9ڭ]e6b9ڬb9ڭ]$b9ڭ]e6b9ڭ]eEb9ڭb4t@b9ڭb9ڭ]$]eE]eEb9ڬb9گ]eEb9ڭ]eEb9ڭ]eEb9ڭ]eEb9ڭ]eEb9ڭb9ڰ]eEb9ڭ]eEb9ڭb9ڰb9ڰb9ڰb9ڰ]e6b9ڭb9ڰ]e6b9ڭb9ڰ]eEb9ڭ]$b9ڭ]eEb9ڭ]eEb9ڭ]eEb9ڭ]eEb9ڭ]e6b9ڭ]eEb9ڭb9ڭb9ڭb92b92]$b9ڭb9ڱb9ڭb9ڬb9ڬ]eEb9ڭ]eEb9ڭ]eEb9ڭ]eEb9ڭ]eEb9ڭ]eEb9ڭ]eEb9ڭ]eEb9ڭb4t@b9ڭ]eEb9ڭ]eEb9ڭ]7!b9ڭ]eEb9ڬb9ڮb4t@b9ڭ]e6b9ڭ]$b9ڭ]eEb9ڭ]e6b9ڭb9ڭ]$b9ڭb4t@b9ڭ]$b9ڭ]$b9ڭ]$b9ڭ]eEb9ڭ]$b9ڭ]$b9ڭ]eEb9ڭ]eEb9ڭ]e6b9ڭ]$b9ڭ]$b9ڭb4t@b9ڭ]eEb9ڭ]$b9ڭ]$b9ڭ]$b9ڭ]$b9ڭb4t@b9ڭ]e6b9ڭb4t@b9ڭb4t@b9ڭ]$b9ڭb9ڭ]eEb9ڭ]e6b9ڭ]eEb9ڭ]eEb9ڭ]$b9ڭ]e6b9ڭ]$b9ڭ]eEb9ڭ]e6b9ڭ]$b9ڭ]$b9ڭ]$b9ڭ]$b9ڭ]$b9ڭ]e6b9ڭ]e6b9ڭ]$b9ڭb4t@b9ڭ]$b9ڭ]$b9ڭ]e6b9ڭ]eEb9ڭ]$b9ڭb9ڭ]eEb9ڭ]eEb9ڭ]$b9ڭ]$b9ڭ]eEb9ڭ]$b9ڭ]$b9ڭb4t@b9ڭb9&b4t@b9ڭ]7!b9ڭb9ڬ]$b9ڬ]eEb9ڬ]eEb9ڬ]eEb9ڬ]eEb9ڬ]7!b9ڬ]eEb9ڬ]eEb9ڬ]eEb9ڬ]$b9ڬ]e6b9ڬ]eEb9ڬ]e6b9ڬ]eEb9ڬ]eEb9ڬb9ڮb4t@b9ڭ]e6b9ڭ]$b9ڭb4t@b9ڭb4t@b9ڭb4t@b9ڭb4t@b9ڭb4t@b9ڭb4t@b9ڭb4t@b9ڭb4t@b9ڭ]$b9ڭb4t@b9ڭb4t@b9ڭ]$b9ڭb4t@b9ڭb4t@b9ڭb9ڭb4t@b9ڭb9ڮ]eEb9ڬ]eEb9ڬb9ڰ]eEb9ڬ]$b9ڬ]eEb9ڬb9ڮ]e6b9ڭ]eEb9ڭ]eEb9ڭ]eEb9ڭ]eEb9ڭ]eEb9ڬ]eEb9ڬ]eEb9ڭ]eEb9ڭ]eEb9ڭ]eEb9ڭ]eEb9ڭ]$b9ڭ]e6b9ڭ]eEb9ڭ]eEb9ڭ]eEb9ڭ]eEb9ڭ]eEb9ڭ]$b9ڬ]eEb9ڭ]eEb9ڭ]eEb9ڬ]eEb9ڭ]eEb9ڬ]$b9ڬ]eEb9ڭb9ڮ]e6b9ڬb9ڰ]$b9ڬb9ڰ]eEb9ڬ]$b9ڬb9ڮ]e6b9ڭb4t@b9ڭ]eEb9ڭ]eEb9ڭ]eEb9ڭb4t@b9ڭ]$b9ڭ]eEb9ڭ]$b9ڭ]eEb9ڭb9ڮ]e6b9ڬ]eEb9ڬb4t@b9ڬb9ڮ]e6b9ڬ]eEb9ڬ]eEb9ڬ]eEb9ڬ]eEb9ڬ]eEb9ڬ]eEb9ڬ]eEb9ڬ]eEb9ڬ]$b9ڬb9ڮ]eEb9ڬ]e6b9ڬb9ڰ]eEb9ڬb4t@b9ڬb9ڮ]e6b9ڬb9ڬ]$b9ڬ]7!b9ڬ]e6b9ڬ]e6b9ڬ]e6b9ڬ]eEb9ڬ]e6b9ڬ]e6b9ڬ]e6b9ڬb4t@b9ڬb4t@b9ڬ]eEb9ڬb4t@b9ڭb9ڱ]$b9ڮb9ڮb9ڮ7caec4ca71e116b1935c71bcb9a7093a8bcaa0845910b26a18d87fe07f4e813e44c5b3e02f6586c904f5c0db1c36fecf999c98e9113bbcad36403a227f05c405c7d7f28e5d9dd44dded98a60d3340a4570ecd8c1803223357986122c1f7c4926d211e533a1012a1331ee180b62d9e9578c6fc576bed98ae05d7bf9a1decd440801ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b12f11f0c43f6a0130d183824fec97a9eee671f06cc9f51bf6cdfdaa22088e19601ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546be09f656c130b9c08b2c5ab7187c891295e449ed77febea2a6ceee9cc98ccb0fc6b5086f61fe0c71564a79304ecbaa60f11fa3f3debf82f73d16a611cab102adcaf071e8f567a2ceabb85b44556e0bdf4b3c629eb8fb33c5ebbcd978962fc7d683d1dd6acafc6396690718fdd1c12b0d2cde5597fd2063b695459d2cb24ed6c24e9ba95ebf3add32b201e50e1d2685aa28c21a3ce5ce460b9384b7266b49c77d503dba1f786b6d8b36304d68e082621f39f4fdfe709dcc5416003364d2653d71d2203e448adc7f5b82315e51f5ae5e18caae07ad425e73b545bead3ca31872b77977dadda5f02f663896738adfd0804678fdde818702652a6a6d160ee2b3327e6a7cc7111166cc6318f51657da4c6378f3ef9359c432e9a4678a6876d81820ea3df8acf9edaf4e80b2e925d87eaa6aefe6dfea7f6436a23b068dfe5f9a1d862f578b58cc018aa6a61e87aff3e5659adbc26b157f822b6a2bb8ecf94923516e2ab3d00a1767ed7c745aeee88b06733e805d5272b4671e0a0f1c62a2119b0fd24ba30795ee2025cad7875c3848dbf49b3e6b6d44c08c0cc79f23b7aed6d25b7014a162d60918cb75db3b0cfa00e682434a5a3e491388a1093d8d43924c2727deeb7c44226505866e150334f62c98f655aff20c01c9b1dcb44704a2d49c0e3a1ca45fbd2c1426c85082f8ffed6d029d4d0c4e78bfb4e51f2d29b2dba70a819c9e5fca4112038812c6b27137220dc377dc3b7659d340f1cdc906dc644aecc0da0f1342d8fa13ece75977a17bee001fa96a63bc42d36e8fd9543933622ad40ded18cf144425cc0d53b11b7f00454b51476b3189714861e74ff9818b6daf70527330a2329e2edfc16019a5b6bd1edd3f4ab5117c5025f000c57a0fdbe9303ea03f87b00e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855288fbb46edc86b94f0181981593337423aba1bf0853b35f5b8877efbd31e717a3109a28715f28f16e7d65f4df7b0c555ec273753dc1409d6a013b8d38ba70b0e1600cf976d6a11a30cfb6b7d42029760c0031dde02d8ca6331a768857a45fcf8fd009a83f7527006ad20d657f2694370675a6c07a6913f22abd1a25968168ac13d0d37b7bd4892c0ab24df30f4e4dab5c469b83a78490170045a30402c301c3cbce8ab90a2f0fcf06c3e98dee2611bf1f1f4181be11187a9d7796bd15306d20672ee500c93707a55dd1eff51f4c6c5553f143bbd82a09cb3f913498204f80ad9e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855c531a98c87bc23241e666ee85fb876283c00a2f99561d8f489e9102cebd6574faef69e39ffb2a6a851adbe3f0258edd825d7eae66b5f4493434a50c255d32afe85e3284f45a119564787ac414c47a2f66de38277d5e45974bd50ffcb0b213a63b2b54f488ea426f5e3cc8be40500d4d62b407d3faf09929eca3802177c82fba422f28f6d4ea0b2533a09f0934382389a2edced62ac812111514870edcacffd30499f3d5f1d188f9de6da88e331bacea6e860989776061b464146c959cbc38d7971cd8adcac8f6e261be8c3510b040ed5217ae91af0ad6f8f65aa93b72fe4c78a29e01527ac085763ee28c960bde30ac984060d4000ed02098ad809cf2e84a336dd00d4276140377d7bc94e5f13a94f74580156b9c16a2627524b93bb5bd69a852d6e65511b22a7218fdbab0717a8ecc523f1a835f2f32cf5838b24e686ee7b238d8624bb8447203d8dec2534a0bfc1596399127f4ceaa3474a39498c65f4ff56715c1efeb7e92886268fe4b7ab35e15d7800d4e1753aeec495bf8498471860a0cfce28b83478869242f0abb7143ee3b99810e2ec911271b586716f35a1a8c775a22b710855a046029abf41a56b120a19bac009ed1aaf13f02adb9855064d7aef34618685a15d539786894023dc64c80683a05ace2bf5a4cd96c136afd3605fa4613a8fec38336fa77bed1fa8addb2cd64d2f03d96cb89f7ab4c160e3b5c8f0881afc1e5c0018c54a6c8ec768489057b7bc2b9bffa69275f9f5f3ca0f0d717b81140d8fcf938aa9c2e5d5028b24dbbe1131c8cd0d628b72c7e6949d1e16647d90819a7c1311e6b45d6ae81cbe0a9ac40759ef7a7917f2193fcb8c8e64e1740a30bc67fdc1b6344a7888f7406cadce1c7b4ea72770420cc643bd5617b3ebb13649f7e193d398a2299bcc023868375014ada43507345a5a69aae7f9f47963e9f4bedceb4ba25d330eb53cf08d2cee1cba72bbac7a9b2fad617fe1a05c197b84b765ba460da647a2d02a22ec339c6eba17b83a1773a925e6877199ccbfdfda6ccc0dbab125d40feca77730787e1ad54f6e49825f7c02941e4892b2ce10303afd0e7781199996baf2b8b80d40bb058cccd9cf85f68459d3673cea7e4a624d6c2fb612422fcd4ce5b4c60a1532d22a6ecb3d0693eb49a8e2f8529ed33c3ac0be4dee9cf8ff366e5b4c3068d4091a588c962884674fa712c4c6e70695624b300ed7c43c7ef926e42397b2c02fdd0ddbed0096bdb0a2fdcc9ab2234b6a6e2488f97bf9968336bbc46edb58c58db6b434995e3bd7d1561e93809a4dbb2e7857b1d43921cb69526407b5e3f9deae2c792064bd70283eee02c04852243b200f2b5ae1fd21c92fbfece5fce03a223c05913aa7b81b4325bcbe8c9bf0aaebb603040fb52a88fe668132255b4469ab0ffa0e62e68aff7e04ec39b428b62213e20edf01892e9341d090584ef7a451e272869ed030ab562522be2fa9553617afd7acb4176a97da9520662f389ca55f4e0256583b96fe470a350f225a505a25a9bbc803322ea28c1dcc651d7970b0f06016972f0c0932fac56132a010eccef883a5ce3b49b4bf0616561eb559efbf36de29e60b39efd283a44470744a5f381503d6feb4e11169f3e43da9efc1efa62c32c5c3d594f74c7633b9eaac213df49cc10f5f3a5dae51e29ad9ddf5c950fcd2f28481fe4faf926d0e39d58dcd832df89745642eabb293e7074a30ecf447ceb30132f8006052bf5fd3dbfcdec51d866c055d195a65b3860a70a983829d57b81e50e6a12b7a21e4eb97b0c312ac93d734caccd47dd52f7f57a2fcbb16575792b4dab085d8983dadb9dfc18be3a7677d5c13e0cac8d736eca05c91a99436b60a0265ea41af0170dbfb0f9b0ba8787a6e70a1334ff9ad90ac4df64ad881feedd02168f9e514004844832e3bfff3ae740c4f2fb8277b7af8659832c0a4f04f83c34baa7fa658ef1380a49ac0b284db7de833878707b739fa76b376e1212d49e8515fc489b46b1e30fd619b82e0ad1478a0b6b6d309512d4cb868958c6dda70f1eea9a2ad6fef170b0ecbd334232b52e67002a8f86187baabaa1632a688d1a1c395b79ac48273673370197a901de43f7c69b23fe656d4bcad531c991b6400c09c1b78a965e48eb4ab9d1348c0e4f14d5a8f5d90ec4afe29182c59b339a2d0c6ed4d42689e8690b904744b30120a5d4aa2aa60d36aa84882f37c2b93eace1d1a1b4adce5665540c3443afcb01d0436cfcf38f51d4c312978feb08da4f1eb07e33a525a08d49dfa5ef422b40f932604fa2387a8962c6103cdaf4f8b617f3061e528020db43b412579f9f41d2764cf7626088c4255a460556b671b3aca392912ae10bb765eb770af4faf4aade17e6b32c074db930da0f57efe8d7954d3b4eec07cbfe94459df12d20c98ac0299f9bad51587c740e88611411dd3f80da4e8df68ab3e7727fe5e18fb11f43c65b6463125dceb680d9d262974c418aa266e3906be68365e68ad1f337590b654478ce132618aed5e238c74449eb69fd36bac6b5a0901d75a3f33ed4c670f222006ef15b22ca853507245d3d1d2b43a202fa8daba6ac8f9e58d8085918d656b1ea07159c90c5b975210c6008f2520e9df9021b9826cd48526d9e44f96393c91fc5fb76bb83f4bff1e46e6d737a5e48319180b978e68ad5b1b9401de1aca52c4aec790452d61dc139cd1b0235536ea7114d87ae128e9e498ece417cb274ad4e8f52bc65fa1364eb27b921cae96d435b0faebb530f8e08b888dc6e3dd9379bbb053ebea634eed2a30a973ac0630a8a10a5b71b4add1228c30af2429695af305094551525ac0410fe5ab88de34995afa14dfa455230d92e844c5c56a5e9fc93c85c15ae60c43ebec32358556514c0a0f6d3e20774abe954136c7fac38c957cbeb60d7e52786decc29a695e30b40611ea641835b5fdbbc9c811ea37874a6f973aa6ea1b979bc1b275b60078d2bb5076da4e9ede5ee2189760122832aaaacd0d9afc33372b0e6a4ee4b4fbebb2b9dc681d682cbfab57bae31a3e3b475d000115585f0de7543a9c87e432a47b6140e4e6ad18f0f6f5af071e8f567a2ceabb85b44556e0bdf4b3c629eb8fb33c5ebbcd978962fc7d6848658776e1107db096bd1ff05a98dd4a8c83a7f00202198a93c14de9c6ed24c16fddc76624691df482f44f863e25e4e8f583c10dd24c9e2b973bf1e8f8471f5920336707aa784decaa2691a14b876e295fbd50c88355b2345ab2ac1e33c6c00a4924592af19fbe0fc6a586d75ad23981a4cad0d196f670410b236085a697061fdddf57187be2bcbb2fef45c4a693fa16ea2438165a3c4729b90dbab2b4f9f46ccca8f2e7a930e9ead83caef587e69fa57f47627d997901d2329bef6225703aed43c02b221743278631f9509a9441bf6f7eed838f12b9828f23d9d6b05d3cc8f37bdc83bbee0135f72b4ff4475c993e6bdd6a5b0c6b40eac85576dd8ff5f6d83f41bc72d3d34459589a90020a4096d45da5bf57652cb7eea4881d481256a7b2d7979afd698c0812ad43f8925cf16154c40064e88a76f05a512bfa24ef048b45915acb39d24bc418078132bd6f1e2c02c5d5babd9e287cd7334486e1ca531e9fd545c96c0c1e7eca51360f6fea3a8e09f579b1f58c7df5fd15076f1603f5bb0ae8348441cdc7656890b95559f259a2a29eb731cf6df90bcc5f4ea1e457597e25cfae1848c85ce47793468ba95969fb78e0404f641df364544373be649496276f0f0e9da63dc505ed714502c9e6bdb5b77decb4d862ad281b0d8a715ffad36be865e90f5b0ee6eae567f04752b9c280c55de77af76b330f446afb90a4bf6c69a0ae385c30c9f5e667bcefc3ca5b39c96b0a73fca4080ac64c18e9d8eb75ffc21137fd8deea48fec95e920324d82236be994e5e3e69d7f6841daf85f7f9c9d073a08e3a3cc3b1b59d9fa48cb43a9e8af656f21f3c96490bc92a6e1329fea5756a4ac4174bf675beba6f4eb4e351bea6f67d6ea68f73963a38a39c9ddbb4aee4b25f49f37b4f9ffce5aaae144b60315b176317b78ae63d77acb413d8d9b4c95a1ca1ced30462f3d2f6b43d6eac117f9a523b17773be1b926c91a022b3229b5253c2eeedea50bba46168f868b1456ef319359bf17b8ad75a366dd5290a4d7ea334abf8cded7d8c70610b726080a2db2fdc20b3d237986ee5b3e57635bca4be578dc2043726f00a9bd584dc48c8bd89b2d8d4fca0561ddbb7a7b8255101e0768c7b017869497665ff1692d302afc7f5bba6280256e53525468effa5cffef24df38a0bcd37be6fd301290062b54056a8a642934c5a6c598d3172c72fbe5788e67000f6e70f1bef16a52d28f097cc709f0b60ce41c3019baed8911757c967816b76d81501ba167d293162b5a1aaaa500f401cd516a3ceb63a0938f1cf31361864fcc9c62d48a253124fd8fc36be75560e1c075fe1cdf25f18e513576cafe849c58d26d0f5f0ec4d6a64dce31f448dc16e7655917da33ca0247d2fdd0209d94216c5e495a49d8339ca384ab462a1ff7c19c2bbc44012d81ca95dcfae1a53ed224b27129170e7fe7aedcf77ea265781dc9a4b683612d00f6c4a6e850a06a7190ef0674b5947a5d882150890b88a5fff199593d36397b8a8c18f42c469fd2916d4f80f5e05f8f2ea4433fd7044f1bb9d5070756616d3506f0b6fafc50580af8e73e5adc2fd39a7ef6fe48b9ad31a85cf90d7590f6462ece836a99c5c0f3c076ef108647867dbf924e33c2d0bc8ecb0f5054373b650a2cadc2450f1387856e6c6b6be78bb74b5ead50edc56c5fdbfdefcbcb7d6aa1df6b078c87036cfc9b69a1eaaaf2d5ae3292c33decaf0de54d68dc7819e044ee78c1546be897ffc89b0891c84c6e7e3a1b9ee2593c3ddedcb6b013f01f083f10486042165265ee92b0a75f4d2f516d447d0b324bb86b0da6e959ba264ce3d1146a7e2d8c88f2d6859a77f48ab5ddb0c9d3435b670b7e268a3cd33ff54dfc40fa62165e6d8bf4c9a1e192e1b7b1c0baf7a8a7491969b349177c766f9eba46c19e972aab0bb18c5036696781dddfda9cae376b479a56f44730fcc74e1db303d712e6bd1ff6fa1ae1d66355778589302432af04da16ed3d291150a429a946a49fd370fd01c318f346c76b5303dcca20d5021f1c73916f098098064e6c9edf84026132242dfb1706f98fbb8b6f802c1735d894db280ba80f8714ecb91aa1f10358f1ac0c967f68b94a3f0055ddcd96dd4ba4ca96268c363a1c2f119b3b1c8b16022bfe7c32f3308bf715ebdda7529c3bbf245a17fa839626fe7e1af6ff159dd821f6c1b3f05bd00db63c86d47d52f67dcc8ff9ff4634dc960d30aa7e70fb269dadce9f6f381572789985f25b20bffc5d96de7d887561dc0ba6e7a41c2e5f8d460b1167758ae4e1aff00d67096fd6b7d3f38644a3d3083cc0ecd0d4f8a63760eef1f62c2b009f2a1cf8451608489347203e14e408b7185c0893062e57e6f7df9becdc62b2d231cd7e1c9436ab0926b3fc68e0e8995a328c59d7b0f923472791471ef78c297e04e5d63df15879ff03f8e2b1d72efdd454226098399e2c25a0a62c428a86a200a0e52e2d1f0ed32c685763984126eabf363816fac3a878405b792109c05878d7599382c17b073198b28eb559fd2a80672dff6ff067bee174c0a52c244dff47fe1740ad8082e6dd4277909f69643dcbf7ce4e96ff1417088e47d346950580e2e48812ba0ef3ac640ac6997be10b3f92c9c2547b101067e6d270fe6f7b50a7694cc05038659f91fcb4188de06a9bd5b00a6e3e6e1abf1da460cbcd12096dd5275d702d17fe64e09aa7ab04d6bf2fad415b9e34eb6e375acbb58bd08a1bf808007418feb04b3576cf21442dde54174e1763ba56a511d57a6f9f287dc130d78528ab9f9a3606e524ca8b233370989d92177cb578512a9a0850553efd91f376382743735e38bf90153ffba7a1b2b603666f92e93339c5cfe9ad707d92cec1141694b96d259d82b625ef6699cc104d4b22f1b1e2b4437d90fc9bb689af823a9df8ccb114ac15eaecf686ce99fc5cac8ca6b2baf11440bcebf22a887e8ec0fd278643b0796dac69c9fc0965c542e1cba88e1f72fe949e0f970746501f9df2693538c2626209a0851c02ed3ee97ed5401d1e7a078a9243c9f8ac48af7f29d92fd40bfc8431d8dd46cb00b8167c13bb71790f01956bdb12e754b29c3aab7d0adb229c1a176eb31bf2f8fa96b0cd33cdaf0c8c2c6935fcbbbc22963e727933724f9e33007b028101f28de61157de1bc42f6cda356ac5b86da4a2b0777976aa4114a88324d4d29b44109e5dae1124528e617d02deba802ac16db56faaefcbbdd5fb6bd300d7936a3486360d73ce3d416b535cd1795149cd5d8605d4e9f11574e0a5fdd21e3f23621b62cffd918141ba65712856f5a5b01b6f6672e91647bba13a4c08360595c70d494596901da9e36da2c105115a4b659c60c5ee577123af3d241489ed04b14382957e39bda33afb8a5dadc958ca49d3ec60b58c3261782df0994df0f15e618116077bce98590dc7a514157cee36f14eabffa887fed81128d2c24e8ad8f203ba0ce76a85bed70223c1991f1ba3e2312e88d6475a22d155bddcfc4fa4741747065c61f7c3d5dba7965416db0d7d0df7d0d6573863b0e2366500540ea7db34edcbb1939a466bd1af9d4df1a827fc27a24ef068a5d0a0561e7e1c34ebc956d1ad8bdfe2bfd2aac7b59abb93b79065a6da26ec9404862c535da84c3aeb536c4ad4b72e2f8e3473c6c838e118bd42ca837a69da0501ff229c841f083101ccae5c188de12c8596a479905eec7c8890df0d6f19dc1fe9797889a4b324f7232fc3cc214017a5c1b89ef0cb87f060976e4dc5dfd49301df43c34a836903563ebca3d105e34ed177d28b476f550bef7637d4428ce63dcd5b6ccadd0fc73f3a5f2cc1589804bce10ac52e5e23b16dc124e0eba1b4b8d3df79d99b91859f0a183551bc412aaa36e517a7cd2549375054b510f0daac7f1272b297b77e174d2b33c2786866029abb8ca925debe8b51fca1beeb324db50d0e91a6bafdac4a78a69ecda7c902c0e7345dfa9dc5ad625f43bec8f24f312471c6ccee4beed303b6a846a1e15d0e6bb26c0ac5fe7fed29a89139dcab70d2c9db5f96209b22aae2ed8dd0da36c26a6e5c0de70b8cd8566c625d51e34bcdfc04184c24d2238260755aff27481e01acee4f54f37671056af27015e2e3a63b2751312e6824caba8f591377953882f1620ad335368fbce9d9c74f12939fa201357d39cd075a33e57563a926682dd3a46d84af2fd695a2fad81b2d3c5686cbf6994dc5485b267cd68c0e3b3f623ff4d5beb6e56b8c6ccbeb68c70e5409de9a7a18258986712f0c089e5812d7e95f38141db573b1af4db0dd3ec64f19b7b8a60d0d6acebe8f3318b4524474354637aedde0ab0c3d1b027e19b7bdd72c502a589e5139df1a6af6877fc2e462095d9954cb9d907fe9088fce6894762fb7175564b0a4560f4129b941e8c48b9cf55cb20c21f677bde382c7461b63c12958ac6a795551705e23ca2235a0708e007d5a00c2e9389a0bfc2cc176ba35420a07e1919cd4b6813b67bbe788a29f8625a3b14dc25060ea73ee75732741961d85585ff84dda0a7d7fad95ac75afb274daf984186cec46221332ad4d8a86d62665a0b792fa0a0c87cddb4d75383a62dbcee741eef8b7b9589ed3ca9d93bda09869b7a54da50ed28a8db5601347fedb042695cd6685c9822ac4a7748091a713024f175bb0764c8e1f53441efc170864e1678f0cb8db701f1075d57a96f26b25aef3df94c43186680a9a9c65e10c53c7126ed734bf846b1eec5b3e088227e848dafb51f41c1f17bd26ee39bc6899ba0738c5f6345c1e0f90bbf4ccca8afb69cecc05648566e360c89a60468d6931fe153028e8b4b513d52d0999c770b59e61ae18041dfe1f73e044ee3d88cf169de76104881b5828371b8e972ee8dd5331f87df93ce329c9c0779f7410261a0b208d28f4d03f41ad8dae716521b3655922f22c5a96b71cce56359ec45251db81d2810491b7033804f780107941678f41dc0fa33bfd83cdeef742b143809339fd3d5ca15ec742a4f0665264606cdba24a5991e41f8c1429872767a93797148e0bf22744148675d6df6ef30b4531aa9c4f8b9623576a4c1d677007f78679870a6f37272feb5c7d14eeb422a145837c559afacb2a73cbebd6a950ea395b9c45b53b15b10bfd67dac29dd10ddf0b942735d16e02434096f5c5f7dcc8495e1bf71714c5bc28e124ed1851b9a3fb48b8a83226ed130381e3234697e5808163368b8e4cbf2ee202cc6c95bb19d4f4465b03da75d5d7f48404d663f507694f9c5011af66a76f2f14b45d26ad2cba30246b8d5f1be2eed46b4b88b985f7494208b0cddebf6b9332c110870241f776d2aecfc70e4f8b354590cebc9206e1402016facfade4bae74c7e54529df8b6fb34fa1501978c6b71145fcffab0d8991d87f1bc2f0451bb77bda4476f2c5c203cd178deaa9e8ef5600e862979167b2affc9d73a8c4d3f3634cd4ca55e183742cac50afc5b074825ad05b7118d920b01aecba212fcd8ef360b394330681c0851f4cef49edc9f434b085d0bde0bd37209e8e33b1e7dc034ca3c88ffac66d48079b2374422e9d158916316b001b724d2195031c95feeac0b5d504f536560e8c9d592455c3405af41727f88087cc89ca8339b9043a714ccd22c36178b618c1918aa32175f9ec5e4a7c8687f3131debb37a261d452e43575433a9689c5e5b84380ed87834dada23318679c1a41e1b7454f4a526e72818fe311266983d4c434ed1db330adb65ab9bf9217bd78cbda95a0e40b66bb0512d8afdd0a928daabf647bca24e3b3dc539703d87d9682127ec2c34f437e9d2ea1f2713df930b1a41a4d28eef13c223a9b265d2c361776f31bc09d90abe253fe62cfb06e1be6c210aa0580b5b0d479b1333dca1b229cca7b1050153d3ae688af7fd8d40290e63228ce8f57f904662418245587838b6bf5b26db725dc0f59c1f6b88a172b1781aef09c0eb822662a6e94a7c9dfafd1d63defd2c9363607bce1bec550dfa9121dd7a74a5ded4ec32ebeb657b12332544ee8abdb2bb789080c72dab8fa2f353809749c6f601e9d8edea77b3c49412527ba2dc288ee62db470fde855002c35a0a8f58e6dc5be6470d03009dfa38d88eb4ad147da43a706f8f9811047ca69d624a9c640313a24c8c6db6e10108827e2e4f7e69060cc4ecd56e27ac0a548cbe073b169b8afc5e1a32a2b612220a3fdea86e3cd4cd55c6527e934f9a7efe743e24f7cd24a3b027685f47bcf1f74436d12069711c0f0e6d23b8f32f30f92e3bf564e3888fe3b43de83613641a5015779996fad1b24e23fe20426153a17b1d5f829664f9e6cf48d1f763b1471b3af1e917f32ce6e0cc587904a72d768aa186c880786ffb636ae0ce2c23e75e45b30d3014be1dab5aae4fe8dadfed33b8c23efcc01c694f7163f513dfb07b6f5e653e6991db44b167f81d8d63454e3cfc58a7a96fe32c95d19228fea0af2c2016c436b4ae1bbb14dad39a95d8d62b0ee4b9e78625cba14a24fd0f0bc4ac5d86e69f8a69287ded655ae993f59d208357d25626aca260bdaaa1231501bd100bcc3f3e6e65ed92f1c7667d0f98a5814e14aee9e9bb9b6c58066e52fbff1218195aa1482a8dfb26d02212709505c6dc01d182c48501855e3285da7643bdbfe7416ba2255ebae26bd04b864e242df20192cbc87df5f9275031120aae347852a477df8d50d04b273f7b18068a52eb3e7bb023402ab4496dc9b5fffe0863f756fbdd0817706a5877c806970a0ef91ed2403c1efaaef333469ccbdc9ce5ebf1a9c1a1205de6322a5f871831361e9020a4bd42375bec02408b10c87b41aff7c7859b0cc637210b0308b74e0ae07fe8fd9a11c54b8f0e25602c7530958f39e4408805127df848c3a2ab68169947cb90772b3e5cb8f499dc32d65d016fd6544a3754e51b8f3bc667b1a4915aedf69a05d9e77b19b71c99ccae4998e15df7d046ceeba5fccd5336b62331298f4e4aa128e305e68b9160471c9d9421e26f1f87bf8dda80443ce8f3d0eb3f9a3015336b6f61470ef3c3dfdd91cb5ffe2108d4c1b558ac88e243cf52caa8983c063cb9f77bffa06d8880c9a792c01c3322dd2b44a8fc3b1e427d336a586703b2df952ee11efa3b4025635d31ac7c97b11128bc1133636d7a7708ecec680f55a6d9f421f3f3b5d14ccaabdac41c1f619569a9af284d6b412632794094308623819720b0bd09950457759ec0d4eff4721265992715550b87b1b3c1e888390bb2fb360bee4d9050c50f49038233e448829e71c88a2e7ff187e5c1b85b76141d363065cd4b817f27cf2ba531e753353da33229e247e373808eb71342e880c49b29dcbb59ca77753bda1e93f40a9f05b982e75d7c3a2f54a438812ff93821876d7ef60ad1dd527935a5bf0f784101955c8877b63d5a0d767c37dac310016f4c4861e9b9bfa67e031d902f12a15fab72a765d2554a6825e1b8ba0aee46e24fd1b23bde2fc43cbf124ef314bafc1332aa6931829610fdbe5f647de4ec7b1fa8de5e06e0eec65b49f1fe755a9b460f7baeef6c18327e7fa6c057cb294c5c552f256ea89bc825c7ab6142a924afab44732d5842f5efea5d6bb489743f1d0ceb816ceadae1d9bc8c31b26e5064f12b201bda84a9eeb17f1bd657618ff2b4d7702cc7726f51ff2bd965a7ac1724933da1dfe1349b65ea5ac5fddb116b330017674a5d01fda46b0c77312199b45064688b81a3fc7e3b51e654a3af37b9bcd49300cd55df56ab383e7fb431437f7e3a32221c1076a679ac6f7bb41bfe46d5e1665da544992d1418391baf518907a1c17bfd1482a26a15352ad2a5207f98687a2e056c47200c2ffdf9a5e102d8415c149d4cdb9f28452e6a4c47c7ce16b0198dbc26176e421c125bdfdb3adabd07c0515e8232027743b5f9afaa575811393bd102a93eea3a957d38e8955a4e3c5b7505e093e74e6ec4dbbe2f28e7d4736b5b2d5cc8e13bde2195b6965c8f2dfdc21a96fbbf2b9018d4b0d8416afa680608bf6ea0d2f07f2d05d779051f21ac4e8436c200a59ba007ad8220c85935806b9b41eed55703b264d9ca5189fba4353e4d100459ce83e5f81f8b60f6f2c9c1a1aaabc2b20cc3106ea42e59c925470f5e341fd3b36de0a09e3cdb193b086060b3bd51a9542b9d6b534fd75388938b57c72a9ade9a7e34046ec2cfbb3711b6d25279c495c8566c1643fe12cdfc72703270e46b490c47950c4a796d67b5dde45414af32925d4ed32fd9f58dffb5bc655d70e6f928f15324d7e9deaa9a9843a9e3a1550228798c93216402a61e587e1c199afc35f2a22fb3a6545d079a4e4b33ad647650ad2527c83a017eb0dfd5a90a35547d95e909390a26c60c7d10371b0b328ce0062b6d488934e62347adb7f3386612e30c378717c1d6593626d0efe6cfcd8cba9c7cc59f742bb9358059458cab88be6390ac8a09b29003a6a2906dedff99564c2f33b4d79bfffad909c4b00c315d30217acce0b3b68c0b064c9e4357ce780effb343ef853cb701110fc4744b64382166d8179ae49667fb1855feeabc4886fed1a2a44ec5a2fbbfa357bf2283f7a242b2b35025729f6f55e8d9f3d98d66291cd8f13ebd1a27e93663c7b85fac07307c6ff1dbee32865814ddc3fe9c91421f9e221d8a49200700f2f2b89a1880fcc7871d39ffc3be7842ebfdbbdc2273c8e7350370a448380444238fa29dfbbe629ddbb71bb0bf796c8c933cd9976187db7af1d42bcceea23e285d804fd02b71ad4927e960473127147718920dcb5921fb1592df78e39af9c24f60be48b87764d809025a890635bb62cd6f9f3095fc7fc2f0f6d88591ed8f031c2441b43902f5477d885dd2cb76ee90fd21913f686e93059126388be4e89d49f749224bd9a3b01e3d2a9830b8092628667f439a0f76d4bd06ebf599ec111fcec194babc80f16afdc4ce5b15411e0f37d4dc22088df7ba22f1db51bb9050b0cd9b85c437e653c9fed8b1b81499b6cab50efc7c3d9df156094ad9e90d5e3dccb6b0ff15b9766142f2c0682874bd820551d5ba1e7bbc5977794e415449df4f37234918aaaffe442a3a08ae942bc2eca45c39e4f0044aabf1134f5c241f2180361b494b77d61f853d946c6e83d09bf70360c14b8968009b405faa77d54bcba0843f07191e4d4611d58f5b452164f425f69035ced5eadfe9a843bcbd0c1bcef70884fd6d7015cd2b3ab8230fbc7e40f58a8a3438cf4b4abc089e070fd23a20f809126af630dda6fb28a7c9838906a675cf7f525d6d751f2cde501f831751a92b51cdc6205bac94616582d058c4378e3a3244454159d578daf26abd4fb01076d3b6470a1b94b9a60dc7e19cbf624f4c4e142b9fa9a04b64c8a627efe583b84d9f2ccaba1f454b6d2d4d121c7508d10a635f28b88e436e05f546e35b3e1557fc59f5e3fbfb662c3043582b40f5f7fdb5c1b6720329314c7ae79c5d4a67220f704fcb5f9eb8fa4bce4038b4d43f14337987c740840cdd1340172f6e953323a3d1723387f5ea7235afe920d20da006485c724e3de59b20afe1508cfed18b9c36786682a8278b0a3f1f116eb79a55c76942af8829426ca3eb6361c869ace355f82742f6a85e5aa733ea48246c48dd4eb3c015af5c2e3a7aa04afa67b3504b7823de97ec2f4008df1082deeb65af9564f2487f69e260d236aa1c92513e63ff7825d3ba4f6e4998e0626a77020668c6723e297ce4c02fac39e0a2424d8ae0041a3f90114d9ad7433c1423766107dbce502d0fd517d8155c6f666249531c966ab98ea4dcfcae115fb3f1afdefc7c881f4bd8b5707d404060bd19cdcbad74e392735410ce61e0bbb4451114929d109f0404f9020684b4f53712329ca751bbf11e614806881222aa0f1f84807e67e0da4f0c1ba03f117885c3fc648272e8210980f599f942ae69e578b8e9754fe00b8cb9a8dda8ddaa028cd6464867a044b4da10c98e2706284d3591d5e66e5443bd1c92c2936e867c682ae2dbe107d607d56373f35d91c2a1bfb30cb79b242371c2968c2c56fecb2a91b34c12a3e26a3310f0667c79400443620c957efea2352f0b605d851d6472688a1c50a1bb09ce54eb7646eb7ebdb14244f380990ac8df178282bae4d1b7cca3b2987b7a3338b5e97641592bcb767c06afdcb068f91eafedc3ab6bd01d737b2061e25171a179f86a31057d3944090a8201d886699d9a7bb5deffb0c16244372a1573317fa42fc23190b687669d6f61c7cdaff5a85dea234eb98f8441addf88e6c36c103cef7386e482a8ce3db90afb630ddfccdc8837875e935778a25fd8e2c19e3a2ab4d44ebadd9ff4eb141f21460aa65d893e4b30aa169011eae78e73bf41f7c60564c63cb7a3787f9c5a7a9b5f1e6f12c7c005d15adb3c48ddacb250de8ecbb059a1d2678ec01269ce836747557c7b69c026feb503c21bf445a660544b88488b1aa15a14bd43e17bf794c9ad18a35bf166ba0d98c47d563474d9ea4a83b40ba76b8ee10e92857396797dd69934bd5b9c1c413138a9ccef88a8b534917a6eb4c22ae7722ed0d604197cb2333e50868c273dd26af88cf238456647699ce837c524d238b79dcfe656b918b57bdb46ec04b85077fe10cecd2ac27f858a91c883551a4be6c791de23094c7fa25fbf1b72e17f240e36e6a6ae0bdc896f62dc8b7f8625c777227db105eecb52a4ee39532dfa876e89292b6320ae5366f3095fb8ddf96ccfc7eae6dde66661cf80bf429f93f6f5b50a0853b43f5eb15137b4c6c156b17ff2bc0e98646ee2995c0e8ad80e5f6f222ed4174a43a3fbe22156f58a537d28215871cee33e201649e6f60c66fb2ab9276df029ad5708d22e9a28bc0e3a2a2cf5e57dc12cf04d095fc5ea10df7818438c0e8f5ffa12fa9c44e73c3f219b119ec6de42e25c9c2a95613b31099954666c3f816ffe444a2f845f453636d6c2d4f545a543b3d5fb19405c95605fd926642d9858df16e972d32ff2bb6dd2074cd8bfcc255821dde8b2b06580de50d2d0b84e938116e3e66427096b8e3a41c66ef3fb9280877462e0df52b66903c83dc026a8b28ab2763e1d9c3f792de1a94a590575cc8e059ae30d0e88c2461a4d8a2fbaba5da432ac4010156c0614e730aa498cdcc2e93b4a8a5a3f8cf43d67d1a1ab18fe978989cf208ce72365966e43536469383167ff90c941121809b4ac6e196602febc60c3bc0034df899252544eaea805ec497b63f1b1e4db68aae0d359a70a8c28f33d16875db583562858bade866a71deb89309a6bf483144c1bf8c0bc1ab1aedc1d69499c7561174788011711f738d5d7fe2d3f14942fd2466734e838409ec5192c744ec74a79ea3c3a194c1c6a9fd66a5e02b28528c726a7fa71c7cac27808198d54551ddf2b6e8ded5889ab0273ee724f9437cffb4e0b72af221ff72a05b484b31e5c1c2723fb63f2fa887ee6ddefaa77329f93ee2ccd4faa2200852785decf2d9f378b37e2a850b1e8a1b285c82ff26d361b91c0cebfe18ca13398c2a5e1f7ea3fe58f9fade97253de9078227deee8d6e7c530949ae3c04af99ba3391c55bbc6acfa682e03e06a1c56f2c1a3613f6ab97f25a164473ec6172bb8511c1d699885204e592afade2f548c4f31ddf9d216a2c173aefbc63e9ba49558d0907786d3e1415252d358b8b846d6db774a65a87bfdb5459913a645349117f8a23984573e342921adbf42e5430bae519511b701b5cf61869b24ae489f417d20c93ea15599803c846a8538e569eae91b6e089b586f3decb926a54922c62c50305feafb5a3a031556531ffc85f6b0ee9499fcd1dd1a9d97272609ad70b9cfb7c38ba57b38048664365eccaa058a7eca50e86ccbad9b8a364daeedceb90a9f32b2c07504478248f6ae0c295c81817a378758d92ab62835f478f14196666d78780a403fff3ad3da375c95985470e8e5ffb2bd42639355f811f45600216d2587dbf168a897ffa93e710cb6a511c50f07f45c051d68d65ad029102fb4f505dd08c653e04e7eb1cd60ed68f9a84eb1f6e52fb226cdd87dc98c084953dcc9829232065615f21006e3b967bf8f535552213ae5e00cbf2d1e3de9f78cfd6e3d643f848c44b356fe728acc7a2812a6eeceefaa2e1f00c7e56952568c97e714973fce9d1dd8db83f22f92a31dae1dccb6dce4ae939405e03e80b63366c18e1810cdb773230a81bcb5fafe6669e298a7dcdf3a6556c0e450255152f7d1fc4275d76c9cc94b3a0702c65f9c6bff88aa6eaec8df101e7733707e0885fd311f9f1dcd9521a564419b4a44ab5366b9481550878e12ab52a5890cb488d698e63a6060bb2c2b3ce04bb15f86567704ce7d8232dbb0d6fb094ca52c35a581e8cfd723d0730e8e0962d82924148b582c9cb4a49666d994feb02fa584f78fc122b6ebdbc8e146e68893c0706755d417d66843fea07205ecc1781fd1d613261ce654c711f7ce5c80d89265ecc0d9208cafcc2fb7f0a78a58056b72d98e7980ff71c689074a7946bfd608010b5f4083b5b0a2bad75d685fca06f9b38236753cebe3141c87fb2ebb9b4299232c841e370851bb1ec38c6c42774fa97e5dfc1099ecb2f3fd2cc78836b1e6ec54ed4fac549cea880bcc453bbe33aebb656363558d5b8b6dfdc9176bc2fca09e86bf00d9009992ab79f1283d6f08fca40135942a4350327c7ccdad6cd54ebc7a79b2fd1e0a501241093c70246d6b932bfd1b064424c4960ab738fc6ae223c66ee27d6605c68fdb743ae332ad82b7ae22e4e29c0c2a9240994135b354e96e0aa0741a43a2c9719bb90e3297332e31332cc1aff4087bc495045598195bad367c693ce51fdb6cf28e57d23088838982091484e1197a6df93945f95684e8e704a8695382fe58369fcb3a0d232e7e2bef0c33221ab8df89b09552bbb3ab9170425e51c0721fe5a8b9ba23f49034ff264b06d6209ab6cd5bed9b8bbcee316418e54d629307da04fb9badc6246f1ccfcf321e633dd160f0629e0e0e08e3c587b384577c941ec9a2b6cdd4821c68c8325e0b66692a81822dd6d47516c81aa514365db880bd5e229389b090a2c9035cba0017b3b52798af6916bf28e592a72f9c1bc8fe130e26bbf06e197941b808bfca724f7d78e85c5df704fe60221f36e30a9c6417a7934d083fcbe942ee4143284ab7d7ae6d03ea71c784c77a52be8a12c65edc00e926faf147a790c69b7daafac3783e5d6fbbd4f0ef6e8060b1bcf646be3da414f218d4f74e72d14cf49abb28c135e09519e93ba1433c21aaa27eedb8778587bf1b328dc21ff92b1c7d110a71c3a0e16cab487f1501184af8c83e8e9cfb4da3df0c7f4a79afcbedfe71264dea93446de99630000db4d871cb446f32272b6209b008240a1aefb10f8062042bc5dc397929c4e2c6549defd85c7dda941e002d0687cde196474e438937361e275d8ab028199b8ce783a24f5cd977fbdf682f55adacc171214cf45748a32e2668c2986e04a6cd7e13007ed781484d818c0d0cd92ec008bba4f021e4bf121e0eddd4e2cd71d19952dd7402ac0bbe7bb5475738a3035b827c12ba5d0065d4e516c6f5d16c8733fbdec107fe36e5e6f25ad1e6cf32962fdb51abaf814b17d29d3233e130b6f363eacace6ed5acb7e583fb5e59e4b9283ff3058971edc0420fdf16a5749adae6a93337ae4772a3766f8148bd8afa561aa3c893a84200672cf0ff669630313f9e285e941f6223cb39596d4ea21ef9744e4b35769a849ad4cbd23d8a32a0bf010b97e0530bc08352f84e9dee92caf04a8f90c8606c9f0fd6eefd170ca800d8e5ecdb56484147cb9ad9683256a4453160a605b1bf77ef0b108cae48c3b8087686f1e86a9944bf3cf572bf271993bf82230a0b49d3775de8048d0c87bc1f472b10e6bb31bb2d5132d3b2dcbdf3de9d2311b92be3292ecd5626d10150ba952af310120a7ce8f7e8b2daa034dce1673225d08fa685d2f21458dd81f7d0f8c9df9d10c48c3980ce2dfde13ae714da900b0549ab524f733ada02f4e3eda95507d91fa9435c1f4cac3be53ca21457a261effd2305ba0fa772073e6a7a2d656ce2d6c891dbbf16d988ff95083457d15a50a662e0bc8d28f58d43dbc1d7cfcb8a6db64a4ffbcd491a3c10c946f2870ba1a93c211c65d18b6220c6dd11f9bc46c97ce90be1f3348a07c10000af6c6e9329824d4a512195c7976126b548efa21a9bb2e33ea5612043858ab8ec3b33cb56ffda03b9312eef56746891a8edbfc80db5eb73d6422dcbc30ae1b37171387a957bd814f9af8b4dad742e590d9bfab0e5e89d4504ac438dc8a43f637ac41982d5fba73b07727e53eab4c8b9038158bfe9674a9621e13e47e542bf3377666fab6737bcafa196293fa8f6d62ad835729b400c876b4dc04fecea6d59f817d4e2d8dc5970a4ec2b6710d22ccc67c69373a561665ddd0cae1c78d13bd03d9c49e5d4740030cd53b1adf1784f9dacdcfee08ea4426ccc317d97b77e3e1e812909be1a00bbc018c66c59a5c2aee336ef3b51bacaf103e3d48801ada6b2c8e63830744ae5e8a6c2b0bd444ef6dc794e70e406c6ee4702643eab095c557d6c6759d1bc62f2552c0014aa72500320ac3442829b48dee1323d56dc2df1d807ca072ae3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8555aefc9de81091eb99d1bfe76430f6866033bed447c80b91d0bf7940614e13894252201b101f8b75add31caf5f827f68c127a097cc81841726685b1509b9723b30b4a28dd76276bd21c7e300da7501cfb33450edb98fc9aa101f5ec8d6d958db99d8b55d7a29ca2a01c1ecc1f60efaee9b448ac306f0afa6a8c235f97bce4f9203d112b2825f7c2c4afac2e07d48fd9c60af38feca75ce278a126f33d19d549094b59c4b4306f353f3b66bb7c5e6b92548056a5a9c9c23b43d5889195c7fb7a8057c116da326c326d8205243163fa21fb3f45cdb9a6b9c6b78f0b157e2c45c1be4bf72a05e81dee477056ad6483f0c09f2c3014f4ff8356e30c9ebe2ccab42ceee0f76242ac8958e2bbcfc614d48da4789f5fda3f4699527087bc9323c68d73827989fbab04030e609cf6a56fb331792da8b7f35100eef1a7e6d05c82bc43b27f0b2fac90e8277b1d8e285b7322a3b244dd1f340b4111d1f70efc2fa1a7f2e65f04492d9f43ee5659a0510ff3195357bb4c10621dd6d3f6eeeb52e740faf1636de86d6331a55c7ba3ee44f1d373bb794d0ef01d05dd0e36d9aa6ed2129dd6d75989998628f1c019022c86c10e341fa82edee01cfcf1d81839ee86adfcce0ce571b70c181bf2a386879bcf0e4c011c6190fb22eeb6ae7038644c7a231ce512d5186acdc4d24852913b1e091a72bed3924aae1f258d4ad65aeb03221c5ce12b4ccaa4fb40679366fe7fee201b1002ca61447cd8903709e7d524d4234082b675888906b14ace8dcf79a8b97a471da6f5f70a541268feffca7f74d1a006d9fbf156fc4e850509cf4eb8c7ee216fbddfee498568b9111de5420ea395708799213f8cc0c3048ea8c5d70020a8e4af791fdbbbe3a6c5036540373dd8ffeced2a4d07a4b622c52252510d6b306ffc17ab50cf6e889fcdb00c51bc992e9788a8893de76035dd9db01c47367fed2566b743b9e01d6def7a290c350ea33f685a2c79af5546d661dc80404138041a90382bfde6d59f18aa599b0c839c3bbbb5a992d7a6a4f0d9a3eaf926c9463204a71daeae2ae4efda8d2c70dc1f13ce31f7068367888c6eed3cb5c21252552ac67a120d41709602153b361d4e534794aa0536992ad71d4cf0588f9f1bbf03f1b2956334be22a8f94c09b3b98afad40c51eca04a5deae1b485385bd8586c3456bd2d6f616e391711b7d0bf6c69fe967855ee66e44270802e8eef4eabbf772c9746b673589727eac5af1fd8fdc692c5e66d342cdf3920425b72rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-numpy_1_16_5-gnu-hpc-1.16.5-150200.3.5.1.src.rpmpython-numpy_1_16_5-gnu-hpcpython2-numpy_1_16_5-gnu-hpcpython2-numpy_1_16_5-gnu-hpc(aarch-64)@@@@@@@@@@     /usr/bin/python2ld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libm.so.6()(64bit)libm.so.6(GLIBC_2.17)(64bit)libopenblas-gnu-hpclibpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)libpython2.7.so.1.0()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0.4-14.0-15.2-14.14.1b4t@a]rJ@]fl]>]:@\\"\P\\\@\y\mA@\mA@\k\Yz\'@[[[!@Z4@Zb@Z@Z}@ZyZaZV@ZOhZ @Z7Y@YY{Yχ@Y@Y\Y6@X-XXXX~@X43@W֘WίWWW@VVV@VV@TPT[bmcepl@suse.commcepl@suse.comnormand@linux.vnet.ibm.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.commliska@suse.cztoddrme2178@gmail.comadrian@suse.decomurphy@suse.comtbechtold@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comschwab@suse.decgoll@suse.comeich@suse.comro@suse.deadrian@suse.deeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comarun@gmx.dehsk17@mail.deschwab@suse.demanfred99@gmx.chtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comdmueller@suse.comjweberhofer@weberhofer.atdmueller@suse.comtoddrme2178@gmail.comstecue@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.com- Add CVE-2021-41495-retval-PyArray_DescrNew.patch fixing CVE-2021-41495 (bsc#1193911): "Null Pointer Dereference vulnerability exists in numpy.sort in NumPy > and 1.19 in the PyArray_DescrNew function due to missing return-value validation, which allows attackers to conduct DoS attacks by repetitively creating sort arrays." by reviewing return values for PyArray_DescrNew.- bsc#1193913 CVE-2021-33430 fix potential buffer overflow by adding CVE-2021-33430-bufovrflw-ctors-DoS.patch - bsc#1193907 CVE-2021-41496 rewrite creation of the exception message for Fortran files CVE-2021-41496-bufovrflw-fortranobject-DoS.patch- as bypass boo#1148173 ignore %check error for ppc64/ppc64le- Update to 1.16.5 * ENH: Add project URLs to setup.py * TEST, ENH: fix tests and ctypes code for PyPy * BUG: use npy_intp instead of int for indexing array * TST: Ignore DeprecationWarning during nose imports * BUG: Fix use-after-free in boolean indexing * MAINT/BUG/DOC: Fix errors in _add_newdocs * BUG: fix byte order reversal for datetime64[ns] * MAINT,BUG: Use nbytes to also catch empty descr during allocation * BUG: np.array cleared errors occured in PyMemoryView_FromObject * BUG: Fixes for Undefined Behavior Sanitizer (UBSan) errors. * BUG: ensure that casting to/from structured is properly checked. * MAINT: fix histogram*d dispatchers * BUG: further fixup to histogram2d dispatcher. * BUG: Replace contextlib.suppress for Python 2.7 * BUG: fix compilation of 3rd party modules with Py_LIMITED_API... * BUG: Fix memory leak in dtype from dict contructor * DOC: Document array_function at a higher level. * BUG, DOC: add new recfunctions to `__all__` * BUG: Remove stray print that causes a SystemError on python 3.7 * TST: Pin pytest version to 5.0.1. * ENH: Enable huge pages in all Linux builds * BUG: fix behavior of structured_to_unstructured on non-trivial... * REL: Prepare for the NumPy 1.16.5 release.- Make sure to provide oldpython names- Add python2-only version since the latest release doesn't support python2. - Remove python3-only patch fix-py34-tests.patch- Disable LTO in order to address boo#1136831.- update to version 1.16.3 * The NumPy 1.16.4 release fixes bugs reported against the 1.16.3 release, and also backports several enhancements from master that seem appropriate for a release series that is the last to support Python 2.7. + New deprecations * Writeable flag of C-API wrapped arrays + Compatibility notes * Potential changes to the random stream- update to version 1.16.3 NumPy 1.16.3 Release Notes: The NumPy 1.16.3 release fixes bugs reported against the 1.16.2 release, and also backports several enhancements from master that seem appropriate for a release series that is the last to support Python 2.7. The wheels on PyPI are linked with OpenBLAS v0.3.4+, which should fix the known threading issues found in previous OpenBLAS versions. Downstream developers building this release should use Cython >= 0.29.2 and, if using OpenBLAS, OpenBLAS > v0.3.4. The most noticeable change in this release is that unpickling object arrays when loading *.npy or *.npz files now requires an explicit opt-in. This backwards incompatible change was made in response to CVE-2019-6446 _. Compatibility notes Unpickling while loading requires explicit opt-in The functions np.load, and np.lib.format.read_array take an allow_pickle keyword which now defaults to False in response to CVE-2019-6446 _. Improvements Covariance in random.mvnormal cast to double This should make the tolerance used when checking the singular values of the covariance matrix more meaningful. Changes __array_interface__ offset now works as documented The interface may use an offset value that was previously mistakenly ignored.- Fix python sitearch paths for SLE_12_SP3/4- add fix-py34-tests.patch to fix build with python3.4 from SLE12SP4- Update to 1.16.2: - Primarily focused on fixing on Windows-related bugs - regression fix correcting signed zeros produced by divmod- Use direct number in Version: tag.- Do not bother with standard flavor, just make it default - Execute the tests only on standard package for now not hpc variants- Add constraints for testsuite to not run out of mem/disk space - Use %license macro- Enable testsuite- Update to version 1.16.1 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.16.1-notes.rst - Update to version 1.16.0 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.16.0-notes.rst- Update to version 1.15.4 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.15.4-notes.rst- Update to version 1.15.3 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.15.2-notes.rst- Update to version 1.15.2 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.15.2-notes.rst - Update to version 1.15.1 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.15.1-notes.rst - Update to version 1.15.0 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.15.0-notes.rst - Update to version 1.14.6 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.14.6-notes.rst - Rebase numpy-1.9.0-remove-__declspec.patch - Rebase riscv.patch- update to version 1.14.5 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.14.5-notes.rst - update to version 1.14.4 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.14.4-notes.rst- Fix issues with some targets not having certain versions of openblas- update to version 1.14.3 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.14.3-notes.rst - update to version 1.14.2 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.14.2-notes.rst - update to version 1.14.1 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.14.1-notes.rst- riscv.patch: Add support for RISC-V - Don't use openblas on m68k and riscv64 - Avoid misparsing of indented conditionals- Fix summary in module files (bnc#1080259)- The HPC of python-numpy expects openBLAS. OpenBLAS is not availble for sc390: disable buidling on s390 for HPC (bsc#1079513).- add s390 to the ifarch conditional to build without openblas- update to version 1.14.0 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.14.0-notes.rst- Switch from gcc6 to gcc7 as additional compiler flavor for HPC on SLES. - Fix library package requires - use HPC macro (boo#1074890).- Add 'family "NumPy"' to modules file to avoid that different versions of this get loaded.- Add Requires for libopenblas to base package. - Add Requires for lua-lmod - Fix '-' in environment variable mane of modulefile.- Fix Requires: of devel package for openblas.- Add magic to limit the number of flavors built in the OBS ring to non-HPC builds.- Convert to multibuild: Add support for HPC environment modules (FATE#321709).- updated line numbers in patches - update to version 1.13.3: * #9390 BUG: Return the poly1d coefficients array directly * #9555 BUG: Fix regression in 1.13.x in distutils.mingw32ccompiler. * #9556 BUG: Fix true_divide when dtype=np.float64 specified. * #9557 DOC: Fix some rst markup in numpy/doc/basics.py. * #9558 BLD: Remove -xhost flag from IntelFCompiler. * #9559 DOC: Removes broken docstring example (source code, png, pdf)... * #9580 BUG: Add hypot and cabs functions to WIN32 blacklist. * #9732 BUG: Make scalar function elision check if temp is writeable. * #9736 BUG: Various fixes to np.gradient * #9742 BUG: Fix np.pad for CVE-2017-12852 (bsc#1053963) * #9744 BUG: Check for exception in sort functions, add tests * #9745 DOC: Add whitespace after "versionadded::" directive so it actually... * #9746 BUG: Memory leak in np.dot of size 0 * #9747 BUG: Adjust gfortran version search regex * #9757 BUG: Cython 0.27 breaks NumPy on Python 3. * #9764 BUG: Ensure _npy_scaled_cexp{,f,l} is defined when needed. * #9765 BUG: PyArray_CountNonzero does not check for exceptions * #9766 BUG: Fixes histogram monotonicity check for unsigned bin values * #9767 BUG: Ensure consistent result dtype of count_nonzero * #9771 BUG: MAINT: Fix mtrand for Cython 0.27. * #9772 DOC: Create the 1.13.2 release notes. * #9794 DOC: Create 1.13.3 release notes. - changes from version 1.13.2: * #9390 BUG: Return the poly1d coefficients array directly * #9555 BUG: Fix regression in 1.13.x in distutils.mingw32ccompiler. * #9556 BUG: Fix true_divide when dtype=np.float64 specified. * #9557 DOC: Fix some rst markup in numpy/doc/basics.py. * #9558 BLD: Remove -xhost flag from IntelFCompiler. * #9559 DOC: Removes broken docstring example (source code, png, pdf)... * #9580 BUG: Add hypot and cabs functions to WIN32 blacklist. * #9732 BUG: Make scalar function elision check if temp is writeable. * #9736 BUG: Various fixes to np.gradient * #9742 BUG: Fix np.pad for CVE-2017-12852 (bsc#1053963) * #9744 BUG: Check for exception in sort functions, add tests * #9745 DOC: Add whitespace after "versionadded::" directive so it actually... * #9746 BUG: Memory leak in np.dot of size 0 * #9747 BUG: Adjust gfortran version search regex * #9757 BUG: Cython 0.27 breaks NumPy on Python 3. * #9764 BUG: Ensure _npy_scaled_cexp{,f,l} is defined when needed. * #9765 BUG: PyArray_CountNonzero does not check for exceptions * #9766 BUG: Fixes histogram monotonicity check for unsigned bin values * #9767 BUG: Ensure consistent result dtype of count_nonzero * #9771 BUG, MAINT: Fix mtrand for Cython 0.27.- Update to version 1.13.1 * bugfix release for problems found in 1.13.0; major changes: + fixes for the new memory overlap detection and temporary elision + reversion of the removal of the boolean binary - operator * 1.13.0 Highlights: + Operations like a + b + c will reuse temporaries on some platforms + Inplace operations check if inputs overlap outputs and create temporaries + New __array_ufunc__ attribute provides improved ability for classes to override default ufunc behavior. + New np.block function for creating blocked arrays. * 1.13.0 New functions: + New np.positive ufunc. + New np.divmod ufunc provides more efficient divmod. + New np.isnat ufunc tests for NaT special values. + New np.heaviside ufunc computes the Heaviside function. + New np.isin function, improves on in1d. + New np.block function for creating blocked arrays. + New PyArray_MapIterArrayCopyIfOverlap added to NumPy C-API. * deprecations, compatibility notes, etc see full changelog at https://github.com/numpy/numpy/blob/master/doc/changelog/1.13.0-changelog.rst - dropped xlocale.patch (now upstream) - do not apply 'sed 1d' command to exec_command.py- Add xlocale.patch: xlocale.h: don't use obsolete - allow building numpy on fedora by making fdupes dependency optional- Update to version 1.12.1 * Fix wrong future nat warning and equiv type logic error... * Fix wrong masked median for some special cases * Place np.average in inline code * Work around isfinite inconsistency on i386 * Guard against replacing constants without '_' spec in f2py. * Fix mean for float 16 non-array inputs for 1.12 * Fix calling python api with error set and minor leaks for... * Make iscomplexobj compatible with custom dtypes again * Fix undefined behaviour induced by bad __array_wrap__ * Fix MaskedArray.__setitem__ * PPC64el machines are POWER for Fortran in f2py * Look up methods on MaskedArray in `_frommethod` * Remove extra digit in binary_repr at limit * Fix deepcopy regression for empty arrays. * Fix ma.median for empty ndarrays - Further updates to macro usage.- Fix macro usage.- Fix -devel package dependency- Switch to single-spec version- update to version 1.12.0: * Highlights + Order of operations in np.einsum can now be optimized for large speed improvements. + New signature argument to np.vectorize for vectorizing with core dimensions. + The keepdims argument was added to many functions. + New context manager for testing warnings + Support for BLIS in numpy.distutils + Much improved support for PyPy (not yet finished) * full changelog at: https://github.com/numpy/numpy/blob/master/doc/release/1.12.0-notes.rst - changes from version 1.11.3: * #8341: BUG: Fix ndarray.tofile large file corruption in append mode. * #8346: TST: Fix tests in PR #8341 for NumPy 1.11.x - update to version 1.11.2: * #7736 BUG: Many functions silently drop 'keepdims' kwarg. * #7738 ENH: Add extra kwargs and update doc of many MA methods. * #7778 DOC: Update Numpy 1.11.1 release notes. * #7793 BUG: MaskedArray.count treats negative axes incorrectly. * #7816 BUG: Fix array too big error for wide dtypes. * #7821 BUG: Make sure npy_mul_with_overflow_ detects overflow. * #7824 MAINT: Allocate fewer bytes for empty arrays. * #7847 MAINT,DOC: Fix some imp module uses and update f2py.compile docstring. * #7849 MAINT: Fix remaining uses of deprecated Python imp module. * #7851 BLD: Fix ATLAS version detection. * #7896 BUG: Construct ma.array from np.array which contains padding. * #7904 BUG: Fix float16 type not being called due to wrong ordering. * #7917 BUG: Production install of numpy should not require nose. * #7919 BLD: Fixed MKL detection for recent versions of this library. * #7920 BUG: Fix for issue #7835 (ma.median of 1d). * #7932 BUG: Monkey-patch _msvccompile.gen_lib_option like other compilers. * #7939 BUG: Check for HAVE_LDOUBLE_DOUBLE_DOUBLE_LE in npy_math_complex. * #7953 BUG: Guard against buggy comparisons in generic quicksort. * #7954 BUG: Use keyword arguments to initialize Extension base class. * #7955 BUG: Make sure numpy globals keep identity after reload. * #7972 BUG: MSVCCompiler grows 'lib' & 'include' env strings exponentially. * #8005 BLD: Remove __NUMPY_SETUP__ from builtins at end of setup.py. * #8010 MAINT: Remove leftover imp module imports. * #8020 BUG: Fix return of np.ma.count if keepdims is True and axis is None. * #8024 BUG: Fix numpy.ma.median. * #8031 BUG: Fix np.ma.median with only one non-masked value. * #8044 BUG: Fix bug in NpyIter buffering with discontinuous arrays. - update copyright year - changed from tar.gz to zip on pypi - Remove long-unused atlas support. - Use preferrered pypi.io download url. - Add openBLAS support. This can improve performance in many situations. - Remove numpy-1.10.4-cblas.patch since openblas handles this.- Fix cblas handling for SLES 12.- use pypi.io as Source URL- Don't include cblas-devel on SLES 12- update to 1.11.1: - #7506 BUG: Make sure numpy imports on python 2.6 when nose is unavailable. - #7530 BUG: Floating exception with invalid axis in np.lexsort. - #7535 BUG: Extend glibc complex trig functions blacklist to glibc < 2.18. - #7551 BUG: Allow graceful recovery for no compiler. - #7558 BUG: Constant padding expected wrong type in constant_values. - #7578 BUG: Fix OverflowError in Python 3.x. in swig interface. - #7590 BLD: Fix configparser.InterpolationSyntaxError. - #7597 BUG: Make np.ma.take work on scalars. - #7608 BUG: linalg.norm(): Don't convert object arrays to float. - #7638 BLD: Correct C compiler customization in system_info.py. - #7654 BUG: ma.median of 1d array should return a scalar. - #7656 BLD: Remove hardcoded Intel compiler flag -xSSE4.2. - #7660 BUG: Temporary fix for str(mvoid) for object field types. - #7665 BUG: Fix incorrect printing of 1D masked arrays. - #7670 BUG: Correct initial index estimate in histogram. - #7671 BUG: Boolean assignment no GIL release when transfer needs API. - #7676 BUG: Fix handling of right edge of final histogram bin. - #7680 BUG: Fix np.clip bug NaN handling for Visual Studio 2015. - #7724 BUG: Fix segfaults in np.random.shuffle. - #7731 MAINT: Change mkl_info.dir_env_var from MKL to MKLROOT.specfile: * require setuptools - update to version 1.11.0: * Highlights + The datetime64 type is now timezone naive. + A dtype parameter has been added to randint. + Improved detection of two arrays possibly sharing memory. + Automatic bin size estimation for np.histogram. + Speed optimization of A @ A.T and dot(A, A.T). + New function np.moveaxis for reordering array axes. * full changelog at https://github.com/numpy/numpy/blob/master/doc/release/1.11.0-notes.rst- Add numpy-1.10.4-cblas.patch to build against system cblas. Numpy assumes either libblas.so or libcblas.so to contain all CBLAS and BLAS functions. However the cblas-devel in Leap and Tumbleweed contains only the CBLAS interface and libblas.so is also needed.- update to version 1.10.4: * see https://github.com/numpy/numpy/blob/master/doc/release/1.10.4-notes.rst * There is no 1.10.3 due to packaging issues. - update to version 1.10.2: * see https://github.com/numpy/numpy/blob/master/doc/release/1.10.2-notes.rst- Update to 1.10.1 + Bugfix for build problems * Compiling with msvc9 or msvc10 for 32 bit Windows now requires SSE2. This was the easiest fix for what looked to be some miscompiled code when SSE2 was not used. If you need to compile for 32 bit Windows systems without SSE2 support, mingw32 should still work. * Make compiling with VS2008 python2.7 SDK easier * Change Intel compiler options so that code will also be generated to support systems without SSE4.2. * Some _config test functions needed an explicit integer return in order to avoid the openSUSE rpmlinter erring out. * We ran into a problem with pipy not allowing reuse of filenames and a resulting proliferation of *.*.*.postN releases. Not only were the names getting out of hand, some packages were unable to work with the postN suffix. - Remove upstream-included numpy-1.10.0-remove_Wreturn_type_warnings.patch- Update to version 1.10.0 + Highlights * numpy.distutils now supports parallel compilation via the --parallel/-j argument passed to setup.py build * numpy.distutils now supports additional customization via site.cfg to control compilation parameters, i.e. runtime libraries, extra linking/compilation flags. * Addition of *np.linalg.multi_dot*: compute the dot product of two or more arrays in a single function call, while automatically selecting the fastest evaluation order. * The new function `np.stack` provides a general interface for joining a sequence of arrays along a new axis, complementing `np.concatenate` for joining along an existing axis. * Addition of `nanprod` to the set of nanfunctions. * Support for the '@' operator in Python 3.5. + Dropped Support: * The _dotblas module has been removed. CBLAS Support is now in Multiarray. * The testcalcs.py file has been removed. * The polytemplate.py file has been removed. * npy_PyFile_Dup and npy_PyFile_DupClose have been removed from npy_3kcompat.h. * splitcmdline has been removed from numpy/distutils/exec_command.py. * try_run and get_output have been removed from numpy/distutils/command/config.py * The a._format attribute is no longer supported for array printing. * Keywords ``skiprows`` and ``missing`` removed from np.genfromtxt. * Keyword ``old_behavior`` removed from np.correlate. + Future Changes: * In array comparisons like ``arr1 == arr2``, many corner cases involving strings or structured dtypes that used to return scalars now issue ``FutureWarning`` or ``DeprecationWarning``, and in the future will be change to either perform elementwise comparisons or raise an error. * The SafeEval class will be removed. * The alterdot and restoredot functions will be removed. - Rebase numpy-1.9.0-remove-__declspec.patch - Add numpy-1.10.0-remove_Wreturn_type_warnings.patch This patch is already merged upstream and should be present in numpy-1.10.1- update to version 1.9.3: * #5866: fix error finding Python headers when build_ext --include-dirs is set; * #6016: fix np.loadtxt error on Python 3.5 when reading from gzip files; * #5555: Replace deprecated options for ifort; * #6096: remove /GL for VS2015 in check_long_double_representation; * #6141: enable Visual Studio 2015 C99 features; * #6171: revert C99 complex for MSVC14.- Update to 1.9.2: Bugfix release * #5316: fix too large dtype alignment of strings and complex types * #5424: fix ma.median when used on ndarrays * #5481: Fix astype for structured array fields of different byte order * #5354: fix segfault when clipping complex arrays * #5524: allow np.argpartition on non ndarrays * #5612: Fixes ndarray.fill to accept full range of uint64 * #5155: Fix loadtxt with comments=None and a string None data * #4476: Masked array view fails if structured dtype has datetime component * #5388: Make RandomState.set_state and RandomState.get_state threadsafe * #5390: make seed, randint and shuffle threadsafe * #5374: Fixed incorrect assert_array_almost_equal_nulp documentation * #5393: Add support for ATLAS > 3.9.33. * #5313: PyArray_AsCArray caused segfault for 3d arrays * #5492: handle out of memory in rfftf * #4181: fix a few bugs in the random.pareto docstring * #5359: minor changes to linspace docstring * #4723: fix a compile issues on AIX- Update to 1.9.1: Bugfix release * gh-5184: restore linear edge behaviour of gradient to as it was in < 1.9. The second order behaviour is available via the `edge_order` keyword * gh-4007: workaround Accelerate sgemv crash on OSX 10.9 * gh-5100: restore object dtype inference from iterable objects without `len()` * gh-5163: avoid gcc-4.1.2 (red hat 5) miscompilation causing a crash * gh-5138: fix nanmedian on arrays containing inf * gh-5203: copy inherited masks in MaskedArray.__array_finalize__ * gh-2317: genfromtxt did not handle filling_values=0 correctly * gh-5067: restore api of npy_PyFile_DupClose in python2 * gh-5063: cannot convert invalid sequence index to tuple * gh-5082: Segmentation fault with argmin() on unicode arrays * gh-5095: don't propagate subtypes from np.where * gh-5104: np.inner segfaults with SciPy's sparse matrices * gh-5136: Import dummy_threading if importing threading fails * gh-5148: Make numpy import when run with Python flag '-OO' * gh-5147: Einsum double contraction in particular order causes ValueError * gh-479: Make f2py work with intent(in out) * gh-5170: Make python2 .npy files readable in python3 * gh-5027: Use 'll' as the default length specifier for long long * gh-4896: fix build error with MSVC 2013 caused by C99 complex support * gh-4465: Make PyArray_PutTo respect writeable flag * gh-5225: fix crash when using arange on datetime without dtype set * gh-5231: fix build in c99 modepython-numpy_1_16_5-gnu-hpcibs-arm-4 1647958726   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVe      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopuvwxyz{|}~      !"#$1.16.5-150200.3.5.11.16.5-150200.3.5.11.16.5-150200.3.5.11.16.5-150200.3.5.1    !!python-numpy1.16.5binf2py2f2py2.7lib64python2.7site-packagesnumpynumpy-1.16.5-py2.7.egg-infoPKG-INFOSOURCES.txtdependency_links.txtentry_points.txtnot-zip-safetop_level.txtLICENSE.txt__config__.py__config__.pyc__init__.py__init__.pyc_distributor_init.py_distributor_init.pyc_globals.py_globals.pyc_pytesttester.py_pytesttester.pyccompat__init__.py__init__.pyc_inspect.py_inspect.pycpy3k.pypy3k.pycsetup.pysetup.pyctests__init__.pytest_compat.pyconftest.pyconftest.pyccore__init__.py__init__.pyc_add_newdocs.py_add_newdocs.pyc_aliased_types.py_aliased_types.pyc_dtype.py_dtype.pyc_dtype_ctypes.py_dtype_ctypes.pyc_dummy.so_internal.py_internal.pyc_methods.py_methods.pyc_multiarray_tests.so_multiarray_umath.so_operand_flag_tests.so_rational_tests.so_string_helpers.py_string_helpers.pyc_struct_ufunc_tests.so_type_aliases.py_type_aliases.pyc_umath_tests.soarrayprint.pyarrayprint.pyccversions.pycversions.pycdefchararray.pydefchararray.pyceinsumfunc.pyeinsumfunc.pycfromnumeric.pyfromnumeric.pycfunction_base.pyfunction_base.pycgenerate_numpy_api.pygenerate_numpy_api.pycgetlimits.pygetlimits.pycincludenumpymultiarray_api.txtufunc_api.txtinfo.pyinfo.pyclibnpy-pkg-configmlib.ininpymath.inimachar.pymachar.pycmemmap.pymemmap.pycmultiarray.pymultiarray.pycnumeric.pynumeric.pycnumerictypes.pynumerictypes.pycoverrides.pyoverrides.pycrecords.pyrecords.pycsetup.pysetup.pycsetup_common.pysetup_common.pycshape_base.pyshape_base.pycumath.pyumath.pycumath_tests.pyumath_tests.pycctypeslib.pyctypeslib.pycdistutils__config__.py__config__.pyc__init__.py__init__.pyc__version__.py__version__.pyc_shell_utils.py_shell_utils.pycccompiler.pyccompiler.pyccommand__init__.py__init__.pycautodist.pyautodist.pycbdist_rpm.pybdist_rpm.pycbuild.pybuild.pycbuild_clib.pybuild_clib.pycbuild_ext.pybuild_ext.pycbuild_py.pybuild_py.pycbuild_scripts.pybuild_scripts.pycbuild_src.pybuild_src.pycconfig.pyconfig.pycconfig_compiler.pyconfig_compiler.pycdevelop.pydevelop.pycegg_info.pyegg_info.pycinstall.pyinstall.pycinstall_clib.pyinstall_clib.pycinstall_data.pyinstall_data.pycinstall_headers.pyinstall_headers.pycsdist.pysdist.pyccompat.pycompat.pycconv_template.pyconv_template.pyccore.pycore.pyccpuinfo.pycpuinfo.pycexec_command.pyexec_command.pycextension.pyextension.pycfcompiler__init__.py__init__.pycabsoft.pyabsoft.pyccompaq.pycompaq.pycenvironment.pyenvironment.pycg95.pyg95.pycgnu.pygnu.pychpux.pyhpux.pycibm.pyibm.pycintel.pyintel.pyclahey.pylahey.pycmips.pymips.pycnag.pynag.pycnone.pynone.pycpathf95.pypathf95.pycpg.pypg.pycsun.pysun.pycvast.pyvast.pycfrom_template.pyfrom_template.pycinfo.pyinfo.pycintelccompiler.pyintelccompiler.pyclib2def.pylib2def.pycline_endings.pyline_endings.pyclog.pylog.pycmingwmingw32ccompiler.pymingw32ccompiler.pycmisc_util.pymisc_util.pycmsvc9compiler.pymsvc9compiler.pycmsvccompiler.pymsvccompiler.pycnpy_pkg_config.pynpy_pkg_config.pycnumpy_distribution.pynumpy_distribution.pycpathccompiler.pypathccompiler.pycsetup.pysetup.pycsite.cfgsystem_info.pysystem_info.pycunixccompiler.pyunixccompiler.pycdoc__init__.py__init__.pycbasics.pybasics.pycbroadcasting.pybroadcasting.pycbyteswapping.pybyteswapping.pycconstants.pyconstants.pyccreation.pycreation.pycdispatch.pydispatch.pycglossary.pyglossary.pycindexing.pyindexing.pycinternals.pyinternals.pycmisc.pymisc.pycstructured_arrays.pystructured_arrays.pycsubclassing.pysubclassing.pycufuncs.pyufuncs.pycdual.pydual.pycf2py__init__.py__init__.pyc__main__.py__main__.pyc__version__.py__version__.pycauxfuncs.pyauxfuncs.pyccapi_maps.pycapi_maps.pyccb_rules.pycb_rules.pyccfuncs.pycfuncs.pyccommon_rules.pycommon_rules.pyccrackfortran.pycrackfortran.pycdiagnose.pydiagnose.pycf2py2e.pyf2py2e.pycf2py_testing.pyf2py_testing.pycf90mod_rules.pyf90mod_rules.pycfunc2subr.pyfunc2subr.pycinfo.pyinfo.pycrules.pyrules.pycsetup.pysetup.pycsrcuse_rules.pyuse_rules.pycfft__init__.py__init__.pycfftpack.pyfftpack.pycfftpack_lite.sohelper.pyhelper.pycinfo.pyinfo.pycsetup.pysetup.pyclib__init__.py__init__.pyc_datasource.py_datasource.pyc_iotools.py_iotools.pyc_version.py_version.pycarraypad.pyarraypad.pycarraysetops.pyarraysetops.pycarrayterator.pyarrayterator.pycfinancial.pyfinancial.pycformat.pyformat.pycfunction_base.pyfunction_base.pychistograms.pyhistograms.pycindex_tricks.pyindex_tricks.pycinfo.pyinfo.pycmixins.pymixins.pycnanfunctions.pynanfunctions.pycnpyio.pynpyio.pycpolynomial.pypolynomial.pycrecfunctions.pyrecfunctions.pycscimath.pyscimath.pycsetup.pysetup.pycshape_base.pyshape_base.pycstride_tricks.pystride_tricks.pyctwodim_base.pytwodim_base.pyctype_check.pytype_check.pycufunclike.pyufunclike.pycuser_array.pyuser_array.pycutils.pyutils.pyclinalg__init__.py__init__.pyc_umath_linalg.soinfo.pyinfo.pyclapack_lite.solinalg.pylinalg.pycsetup.pysetup.pycma__init__.py__init__.pycbench.pybench.pyccore.pycore.pycextras.pyextras.pycmrecords.pymrecords.pycsetup.pysetup.pyctestutils.pytestutils.pyctimer_comparison.pytimer_comparison.pycversion.pyversion.pycmatlib.pymatlib.pycmatrixlib__init__.py__init__.pycdefmatrix.pydefmatrix.pycsetup.pysetup.pycpolynomial__init__.py__init__.pyc_polybase.py_polybase.pycchebyshev.pychebyshev.pychermite.pyhermite.pychermite_e.pyhermite_e.pyclaguerre.pylaguerre.pyclegendre.pylegendre.pycpolynomial.pypolynomial.pycpolyutils.pypolyutils.pycsetup.pysetup.pycrandom__init__.py__init__.pycinfo.pyinfo.pycmtrand.sosetup.pysetup.pycsetup.pysetup.pyctesting__init__.py__init__.pyc_private__init__.py__init__.pycdecorators.pydecorators.pycnoseclasses.pynoseclasses.pycnosetester.pynosetester.pycparameterized.pyparameterized.pycutils.pyutils.pycdecorators.pydecorators.pycnoseclasses.pynoseclasses.pycnosetester.pynosetester.pycprint_coercion_tables.pyprint_coercion_tables.pycsetup.pysetup.pycutils.pyutils.pycversion.pyversion.pycpython2-numpy_1_16_5-gnu-hpcTHANKS.txtpython2-numpy.version.1.16.51.16.5/usr/lib/hpc/gnu7//usr/lib/hpc/gnu7/python-numpy//usr/lib/hpc/gnu7/python-numpy/1.16.5//usr/lib/hpc/gnu7/python-numpy/1.16.5/bin//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy-1.16.5-py2.7.egg-info//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/compat//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/compat/tests//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/core//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/core/include//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/core/include/numpy//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/core/lib//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/core/lib/npy-pkg-config//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/distutils//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/distutils/command//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/distutils/fcompiler//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/doc//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/f2py//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/fft//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/lib//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/linalg//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/ma//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/matrixlib//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/polynomial//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/random//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/testing//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/testing/_private//usr/share/doc/packages//usr/share/doc/packages/python2-numpy_1_16_5-gnu-hpc//usr/share/lmod/moduledeps/gnu-7//usr/share/lmod/moduledeps/gnu-7/python2-numpy/-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:22423/SUSE_SLE-15-SP2_Update/e85ada395aa08eca9ed2f8ed34ef7966-python2-numpy.SUSE_SLE-15-SP2_Update:gnu-hpcdrpmxz5aarch64-suse-linux     directoryPython script, ASCII text executableASCII textpython 2.7 byte-compiledemptyELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=85647b813861b39ae051f784bc8374b7c4966205, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=2b24e877a0c76cb261e4720e26bbb0cdc02dc54a, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=54d186c1012c4d453cc3eee4c084e62ed6e0c804, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=d6e841b57fa71e845f9b3d1a4552c64926d5e7bc, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=6d666da9e06a94a3f1cbaf7fdb205ffc91899eea, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=c3d70a6c60fd0d243a0eb0dbd35db3ac5e98334f, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=02921817590844943f4f7a448d4f1c28a36d5745, strippedPython script, UTF-8 Unicode text executableELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=e431953454a41158d6d4396e2d992fd5aa302c72, strippedObjective-C source, ASCII textELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=6bd857903da762e5e626d9d2f87eefd276831488, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=866f50be8f592f07adfc0dea9f25a87505667fc5, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0d82690d292d277fbfc30481f39ae09e77fe17fd, stripped (0<HT`lx  RRR RRRR RRRR RRRRRR RRRRRRR RRRRR RRRR RRRRR RRR RRRR RRRR RRRRRR RRRRRR RRRRRR RRRRRR RRRRRR RRRRRR RRRRRR RRRRRR RRRRRR RRRRRR RRRRRR RRRRRR RRRRRR RRRRR®\чvutf-85d0e6d5f496811c40eeff14da1bf5972bff992b93735fa9335a4173d8e590472?7zXZ !t/E|]"k%.pa k] DYPNͤd%#)+-ckTE5"-ONN1Ͽ^WwE)DIgX P9 jo}9fhMK6h2|0D<7? zmu]7~g<2#0]3 . ̮yUL×J1 2x٬y PšUKf5 ;)vQ"~xf{ u^fbyo6Vv ¼L .tP8Fit gX(NAHLe2ٽ/ZAsz<%H";!Fp.&6 XaϙKE CEU9xY.s3>ǕWYXGPZo@#55Tgdz` ' gAmJmUL3Kd{Uv`NiE|1#n 8Vݞӛ; ĽH %]q>9Bqy7jFv}J&p0G&cПC $|)? d:!-ƴձy~ihlz@ ufEI[BlX릕Jї"} _FpdO 5Ou~I23ƉE@dM Y%I@se4=)O23R9uf~QSawZPd#c/`J.(Y%m} ^'A6I; MWsWY8`Y'קqK-T} Z\PnþTESP~B1*uTrjP6o-B1̜[F-"tx-r,vg4ǒcI$㴧 q "HI-X\ZhFA/KČfk );#XhIH]]kG_ dٸl0qL_?\𩆼LF@_O+4Ї% /Kid/7Zm[/@γll'c.5JySh@7MH뙰ٺ~1D;-/J3 \* zac$?IlQ)}= Ǫ魐}Bo mv,赚\ϲ}HBsEKz"v.EYOX2ʱ1@&wj$bdDzYFQզv[RXO9 SQ뛭I2#^ԠnؑDloHȝg=k.W*g+@AD2BҘf(˩A+$Bkn]NLk-Gf.!* шek ˿@j}>lV0KX/F-$MPR)-fn`ظ*!4)$2Pښ2A@C#K%"c4pq%v4Yst :qO]}=[~VZx#~(MkT_l+ݮ>QtLAԟZx5JG.]?rK8*bWɈIK>~$?-UDF ;ΐ0:( Z h7k!vdp=-p(Dpa<&;LUܥZc7*EJGI# U1Z(K?M w9ܫQ N+kQ1psC|l;$`.v`GlqLg e;Maqđ_t!OsbL龒]lI lyK&{B(~ɲG3H"ϒ(-7gpToGZhY 46f>C'{awQC(N~KM7Z.GQgu}!mD{Ʉe~6i|@Y-0}`B"7=A=?gnd‡c=.Rˁ|<'snɫ##6͘G9 ;Lrf{W.ԄEϤ5:q\ &!jؽ[ ƝC'mpo͚--RQ)Pz7x(3M/(2lMRI>\9Nٲmz(~]VAjM+Җx9A$i1,n(\?O|[D% ]4e? aI**uP3ܕE7Q˹vČRE*]x``OG;r(40%qsDp mM$,) \ ,t xg%F72az#:kJ=Y+qJ5u #B,&va?]3))PF[.z/SkU-s` 3.5gs2Q 5ei#[<%Ib@Ǝd|mMA!Lp *`ak}6$Vrx^ lӮxE}޳=NY!;=Av)G*k69qkO 3> r|S,UYn}>+7UT6,Pagg+oQi{绪B|a4ʙY w,ǎzo=꬯rFJa},p zH0ﺮ2М&3Gu.D`HTckp4-j,Bͱt{9[B-sEbF[}}C9'Be?̅A/r5x`p)ً̈R ¼Ť^4N;ӡW5Qi ?&:x=rފ+:&e^nWK{H'jB50b-x f Q^5ʰuQQֲNsBҨ[3ִ5DG 7ӓ8'XZ@}!d]|*<{݈|//nAP8{u5iL4Nzl3߯8]{Ya(/+WŘ y1qB0[jt`𗩻>0?iW4rY"G{/]i4!.Z?F*GssW0C5sƚ(v;uNլQ&D{y-C!Vk FH'@yUt"X yV: $Ïa7r4o8$b0MJ,BdusR-n!=!\>6z'QI.I0|}H'۱V(Ι腏-JD(&jM>ZlP 1 tmڕ,^ -xZXjD</ vUnmU3Qo6u(om] Էl;F<=Lɥ(HεxGȁɎcGQܭ }d7qpb$SGqVe:a"F]P-m>Zmgg~%R3Zee7 cM>e):'i,7\(-9A En NS0}MOQ'ws~RGm3j>Fl`ٷk-xb)MKmX-Úy /5C*6aupDȒ ݦ+usB%en0%D[84GJ^eFz/`Qze26%-NķEXrR.T 9޹#L2+_5`SvU?, fY*ɑ:$.@?:ǀA!є,I:S[ߏ~>eѵUO(mKtp!ǰXE&ˣ* E4Վ,vJNݝy2tȶnv !2"NY]rW#RiG|a3#jDx8l Я}X9|#o#t0b(]S1C„c1%zOKn=A~"\ItbA1f'̚ POf% S,Gs2 or"l](B;XDp_xcadߴ-(3@Y`̜[ڨ\$+wFsM.BBaR ]e)L_Mq^3t"{싻 LcX7sb<:6 fɪݙ]21= OJyJ"Mb>2d!k-7GSoyLCGCD9]u?9آR2jW-Iǚ^BO4??jzt+f7 FyPo0kЕp)_]~&pXqՆ#? X1FV)+;WE4>#S&~箙li]bmDc5?zW"Tz|=>-ԀA NFV)7$%W}jZ'TsC󖼹 o>=2)Y+y̎fu%EH&(CUYBjl{Q\>^gGvj@McZtazG.;1 0rm/8l"!x<\,qME&e uz)|#qQG{?. JB886sտUɐ+h}g~70R$| YTّ?*UrT%ۓ};xgNm<"iYy7O54/Ȩho7tz_Fpv;Ƽ uIaM[uMmfޫ5FcyJ|8v[.}ERt>T\Q̀~'JtoE*$BEOM;MRFN)yyerq XE?U` aܖ҆ae(%2ͶX$j ,JɿΏ@頰!^(l[Pd S?'nIkv\f8F@'mS~,E2 G*c{-Vm!d17֟zvɕx @υe ~Z†? e&]a{+]OܹQ-CIڋ'r*./\Kijs3˛ Fl{nVOf/MZs 's4zL^0fd't' 3hxK*@R(KMU ?jŌa>1Tvf1M5YX#PT7'tntsQ_u&C TwG|D߇Fmڐ]]8rV0}#sin?r.9"@ӮD=rxζ'xre _ #4m/,S v%KF%gwWñSDpHUv1t2 8 JɓXϣ5B q4 !wuU~vs*PF4ߪ/Wva00[>?")iwVkgs|4CiSb$Y@}i4|h*,T>_N]y)AAǬ[薟^ý`mh.#PPSB jdʉ¼婁IKߴ1?s4"NSY#uw\\b0tRñ}ЬL|ʍ:alq:K36#iO#V~$ɲ5}Śr<RVQfvncfEdPv6hvR95YsSq ?$=h1GBtH GeOF7 ۲1ZT|#7YoٰMuX$z|"do +ӿ+ d`Ly ͭR Sza.2m=Sݗ5V^e|s/рz cA3 !;#INsN`zցM'4 Iq(/B{ /5((M1JA0* @"-Yꇐ^`Wpjl5k$̢:2\:ZhY4 &仅1̺Xj_ $ͺ5oX  ,k6\ /a0=>̘A|#odes1i6 =sG򠛫Ƌ0 Q!Βʫj3KSga_4jM 5ڿ ͸TVkD\Cw)ywձW3}VA l]ٓVM>Hʳv>$-Ma30]ix^Yc*\Bܒ2;x3QMQ@!te8Dزέ`})dzOZv+E(7a]Ig 뎷.ڲ(Q 6^d+4k q5'|Zɸ&Qi-=ݥ2^׽jM#@є0?Ihfɣ2~'mʧ]{`1AZĉ$O p E!5ytכV5|Sb 7j:6ckJP*_o@2(0tR}} _7QA)ՁNW-hޭZ3J2}8M{/KGUb71d-.VXw΀L]58 M4# &9mS..{[:z/6JW4 >O 8']3JZB]{Y8Z%iĔz+W\r28J6C˷L8!ȣ*&eF-ߌb(|.U7wOmM։ pNo@]4eJ(baNM[7!a|ތjC-~ؤ?OUhk&x84,${vZWͯLIQ:%$?;>q*E0ԑ}G҅D/6Z,KfȹWlySݰQT^(7}L "zyWPv)]A3_.XSQ'2[YƢسEmo[%ن("f*ݰ 5m-a2:^3/" FS N6Oom<0hM!zt4$= ;>I5flďׇE ړ+t+w',8gc#)r| 2%3¢L3=! ~xpj=rӓ|Kl=?o=qu"Ҫ+k\-~mS}CJm8rxUXkߔ"]j %Qљ{+۴Bܾ, a{IP%v)}kX z\c5UYRY'@Ax[̈́tB:@UA],15z1?nI7Kٴd\:՜m!_nw̜Qh"] 5GT{x{7D_qOElت7 6{Cܽ0tW'J5o {c^'+(#wU4޶=4IwX{!tu-l+H/HOk(7%b-k9u&tg#_:&o&:+57~wؠo#e^+1UOV@1MoIA@Yq3:d-XUCȕUsS4)}7ܤ(o] ;k0_# 6N}kba՗IsV5 !*9uڃ(V{YpnTbA]*Zrj׀7F*9p/,xzS{>6L+kOu;$NXۖ?NIi&aojxI,g;![ccI#W[jVqMf5f$e. GR36#d=#HM*'A mO/kю͆BtN,,FKc-`M@R+<)402x^!+< #Kj~Lɨ=yIt|)T6&:&'ĐUzE+8S!vM&C\}RJ?6۟ !B ]TxX68XF\fG )ИȨ TFny4x_-p#i: F \IsvveĭTrquQOv#_m9vCF!w&f_+r#7″Yj#TfL}`/Kc:/hGN7RNfBjp3M!w 6Uv:3}EDsrBq hԹZb" z)lll 0쀑 ؖS4!_P ~KeN֠b!#_v1]4[ppba_C?oj|9E{qJSdL *zs>-tvF{"V }[dM}6ѹ]" S kpT5STT. \n?gyn1N%}hNrzϊk)A^>Q{|4VLULn3͊0/Y]%DjYzc~(,|*$r.$y}i0fOD B{ZЇۙ&$Y 9/Ž$2tjU9_9dN=1p}S3$`VS:8x0:.ͿJK2jmc{95xvnְ@}RXj1PSvU)%քeˁ&j~=IjC \}7~_"CI`ҭ+eL֢J><0OLsOE r7uaMJ'H%=^P1ՠ@sm:TEJ9Iuۙe)e[?J߻m* =ZFzAEejQ04R8wSK˼(EF¡P<A`S.;#uon5Ss~?P .CE^O.qFI?^F*=T?B}CyFq$.8[ B[1. fbwI"h%ӻI xkusrQ/!Qʧ$u )CчoKoG;$Iu&A6=)UV-lTN/0X}j29twYdMN{:9ezj+`-rm[ʞNCTyWiɕe:lG~snq1=߭TWZ94{xHK]Xᙢ梤x..GQ+RNPj.MjkSk(- `,i)r5-*J/(@O#-TvKq25KZ"0O dϷC+3,"> f`ٹAfRe"jCoJ$cNfH'퀧;9 r"df? 7[dAR|\J8*3(uY1'_J[z* Rژa}^<$=Yj7] 43|Ɏ:44:lאv|G-#mܻNU=?ssgu)JԩKTpNdV'>b5̚BMe_dX':n2 ދE<\y{:L@Y(.ޒ_I3["ȼE%_ ěb2QTrWi/ނYU/Q[yeYhٕ`Ǵ@Dz,{J P+PFޝQ\Dy9r*[тų#x/7r NO%k݂(& %t6Mꃣk |;Aj@*7ъd ъ- ^k/ҵP@Gv|DLsX ȎC{5kjQRqI, ~-΢CDr7JEu3͆?R!Qh'+ؕZ\S<9t/= Q])1IY0[!Yf+s4H, i)&-VnA3:D݂36rGF{>NEi@V[crK(&[Ey;6fhXqpt8 <~aG8دy"1e~5^ T Q:!v[eEp/EiwS(߲kq3_l~pxDgڲ%|+mר6kT!uH }GdY"6scm1o9o"AE*VH1K@t>wx37l|lIƨRHQIԏyyz9Xp U A%dOts١TdƯߚ6~/[pA9uD[5#MӴa$_p#vKosK!Y' [eLzA%j6%^%󜀇z@(s\f1Zse5$aoa$ d2|e5Կb 9>Ogmp:kK=GY h:Ŏ.r<@nBq*!tj=ˇ$L`qڽcʞoa$$؃\?リO:FU8jNn'Wx1qO>Po=%پ^-I QcOQտiՎ'V*NE8 ! p*H{$OnQ| o:FgG4/E{&3/|.U14wk O'1WqLjߠɏ!?<& o8Cz.7_pFOQ[ѩ%f9(:~ C~FJmw' liZaWc0jN иq lpj5tqXT;3#$ // "r>߀z(\h&EMQAx]Ǒ"-|VuN7Ac2 2@mR Gpn#hf D,e:O+58 #-~q!W}|H vELPXC v3MA&Ho}B =Kw۪Զ?\lМMK^LP֐dT ):"WK"ߒuI4[f_ qjJ"ZǾ+Rm;r3I!Ya*A~QB[Jzޭ e÷m14F;$n!xωI"E'dX4DRQı19Ad$tX{ŌG$_RUF3A2R$)Vŗ%梚 JmkGo/5Iن/Vm*&VPOҋ#1dM@xz8!~poʁ {)_sdpåvtQLmF$% ޘN3`cAgiџ_ C8V@vl)*e(r>F\ )D:tyɀӧeDݽ 2Ƽg|K;7oė^5 f%[3a#=.; 90&dS!p+o[czŰJ4ᛑw^ Z2ƀf;**acLsIHu~@Oܠs B6uro"[FMnBO$ꌛ < lԷ{ GzV`K1< 1A/^Mh6рÿ f}>F#:]=Z:IfFnN ,UܢI^W8!FyUS?GF ZG!s̙m`TYμ7R~NZ'0 ti>ܞ۬ٽ 7 .r :'sL69͜m^gzLg3FP?q餲M JrE# 4NFtHl0jL҃ [:Oκ96AW8;cU,FDe4@b⌸6Qd_]#d+Fl *zlnpQm, u-6_ڽ^L !֦Dh[C47$u _=\N%Gu[dQ[ k,sQÈܚsVrk6q-}ߐh XiB҂+3_5BYgLi<`@h<$F$#]<C]R;'ZB~& eD9(YwʬWjT0nJ$`Gx(*}QiF>{'%>!= 2vnit*wyرͅ\ȌҴ:D~SX~j3HbJܽoR#?O2ȫ5L.6C *&uf@>zqӅ\yj=W־/L:ܫmݻ%9i^\~l)y>7"PJMu 3i}[,Y+mxBSm.sPxXÑ ݳlȇ9=曾7Sl z!þخ9)㭋Y FA4`84z3e XH_ Da&ϛ 1BʬQ="hf_Ay 9 /24!=Pdhj vẔeY<_,Ì)y*z'W%@@«z UaĤKݩfa :`3xؤaZPh <ɨJ(.p&L/ڐG5]ހfX/ 9,y ,=E1 oVbOІ$7ww-%Pʤ)$"ێ*s:-<'$vtX IR"r5S@u >hf G. ,^E&L5CL0$ \/#V͕Aj' h.lh3-1OZ$?2 DcR@ =ȗZ}McD!GE Xy:$X>S3Ԗ *E6=bx8zѥW%.瘤zy*2X`V2Pa;4Y՞X9]4׊3Vr2?%Fy{ԧ;7?tzn'M6cEiDVIZJD(d{ +{Q]t23ث&n:NyPU+hNˍeL&-?*k҂k ׹xB+uT)SZ?y`@I {9=Xy4/cۀZsl0OḿB16p%EVX-KVWK{uI^N2~ZZl9S?"BZk8)=#x'"pYhX2:EVl0 [*bwKwjޕ>XzCS1pnWt  몲 :✵$_uk۱kwV] rsaC!&}z2L/P<KIdPz62q]@=kC,XcS6U fM1mtH6^ZGiaA!dG9pBVoZc=?|Eެ o-mJ3ZgFaYA})iy!t[aNt5z$עի]^c 께D#h(G}š~5 AQq4 ''X6I!M"q HH>b"U @KR%'}xbNr&yRA=p,s= GR@RGBzgc滫8mEuf}pj~`-5SV {onm7c3]Ys`P'ڥɣ"1_R<&@_0Uqc^W6A}r-b>'-<ʎDAp)%Cα39$5 GГU.q겴;Wp ER? l$L4 Yr i%,t 7qͳZ%^ tCuAf ζZ8p}3tqAdH@O,]2-Q sgP޷!D)ۈ(K(8>xJ4' AxǶ237+&ꍸݎ*"x~ '#f1px2l2+(dEYZIH_Gy>cܐQô[WVݳ2 |%Ku\8P@thGh vڠA§Y-W%3־0WB(ܜ` ,7Џ*hұмzg^.b<,rn6p,ӧҁbPl3.kސ8om7BpFLοzsv?r q|r xE`k]RjW/ԝ6ߗa_r|ʯaHfK?RtDjGl4P$dWo:7d߬l`3Wc b/{Ǖf8zCZ\ZyAMMi&lZW՟ϐ&M E ^3y:Gd6^ĪUaer h؍R퉨W>CV >Y{;PBB=j-ʈa "~puUG5=E8un;Bfg=@CJR]]r|%iTHU"ۂ'c1>84o*ONS Ns?. ^IBQ^~QS!W3ڲrK'EHɹ% ̯9Hș!;t0 #x}ʟ8yǂbl6hh&82ekYi'̋ͳwJ(sfE}D)̗#0#8Q-BUdgo|[d5xdxU}>9DWKФ7&٬[qHH9Rf7ރxKٿ:Cj0M4' ixs|)S[,9R󀵶-gvxRٿK9^:X㿄zU*=A?9Ͷ̬ǪtQ/KqL I$LSI}SbrULj9 8w.eR./ra:V%rܸXd=u^Ơ#4gƔY3"MHX!MO%ؖqO[S*DW%x L:H(t;Ч[LVCqq~'auwDumz"AfaǤINK\nI(XX_%# z9'aW-KP1OPk hӵOaozJf_꣐SKIT`iCe8}YZW@@FůKZiWгO0}7:д hKͮ[ -gcHptKA6#7Gm Ѳ י7oB:I{_2׸ן M%M[ r4d*翏9yˇ\j12E u9jLx-nσ[o*r!!r合Qs/8ƢA͝`yBXK@R]g3 ޜߗF:TrosFs^ tK 7rz aEN`KTXrn=j]6XR@p`+)0JgC YC9rn ^kEo@&%Z8KU{ 5b/|P:TFv>)Ni|wڭs&@zg!xֽ⊐jkR -uk%:mkVFƀ\dvOa7lg8E+_LN?!Ԗf~5GoiehOU̕"Vtho nAc}=$/aTau-l!$nLα<W28⧦W'< Rr>nXay㴬WHH" ]x:al xuW'xn@mw!|J':♶jjv"O\f8gҧ|ϜP.8Wj>è ܒ4T"tbV_.|cEv޽`j_%%Ow8*eYd3ӂgi{׳!B5|CL:J c5.7Zbs<ˉz!^,[6I sGIy.%y s*`(E3f<[1HZ ${NZSѧYX(`o' qIf+/ZKDv|+~6ouZ ޲Akv3.H1+]h~QRb;28\9sU}4+JXa Կ =F|^AkC9SG]]Y9o N PJ[/U#(9-E7J i Acttw=s!-( fmTCw6d:u5MyI1P]o- Ra~#$I3HV'ȣYS|k-UcמIg0!{CTv1ƃқ_i8@<*p@ԩ'/D:sY[tʭ{I;:tYw^{زJ#HʄG\dF1޾qwKbmVPI5I/"n2}s9˻^e`&"X6+l# CxW^u>ND+T_ڂ*\Z{{9!Ok&m4&$]5*)du*÷# ^nR~٢&P@z7~^) $h(k6 FT m2XuS G U/\r2OJR}F[h\ YA}' Ըr^{ӮU$)ɖTxY,F:$Fǡ/:!/.fA!Ui->p5xC)i->1zca;PX/ <07PlT9s3&˵vahwLʍPr?TL !hm+28@Vj{-C# _e0\6~zK59m #vpYQf $gcU] E$MNk&wiUN؀5n*S[m 3,4;6|p݌XeAmv-Z+v՞ݐk`՗~\vvԔ8, y|9I\]wD&bVDBΏU믹 Vy61g(SVly$\.fM,1D,m<%k-uzAHwLxUxVtJ- )9Vg>UXg˪nf7HqhJ:yL~s8&jFuC 4Ւ#RU"{N`!蝥1˨|A6d μDW?~@t&UB̚Q>;Wxxw9{W rKƒS G* 7,˅'/0{0hE(Ujz~B#!*w X3#د.\tbw. d]zun7\ڡGݫm/SyKߨ> xJWq-o& hHɠJizo>JSgv ۰<#b|{J%>^vwq,НH#ƣ\4abaM]cfD*Y\hoFՖMK\7M?le=gi) d1Z@ ѿzc{Z$w Y%Xfk3ѱI췄@9Sވ9s-rΚd*"38iu-i_k2o2x Iv.#4Lmi"(*x)S7kB_mϐLo:]ۖUPtqݭަ1M+Gȴm/[ws$9s#g5:3!5QJ@pOrkݚt-n?ҮV qm6"[e=OS /(_W-6wfHW@Hyj{ )f:|E&MrpENiy:PǔZ5G y!{=OG?L]#8P*o)%{x/;J6Άs\3ړ&Z82/K7aU%KD1R'Pc6&7>ӊR`cKRp\fMl+q0e:;s{N8!7]bG},ʹX=-(eI ,n'ٵ) l 6JhUrHĻ;~Ȗ<<@?}\B*|Cר1dп3H_^#wC#r 9g SuR^xNKpӚ!"ChJ18'ۀ8koZ Zj {q'SV8Kz)ϪH_CI"QW· 2Qk+L?[G_mj1ڿ!pE%-Dnr{;RZq(4i.ѲQлs>6Bjh5t xO\R{+'ƒEKSxŅJtiR*Pz/*bߕ^= U-ͬ|CI:| p|C^ #FcaeKFlս2t+<<qD y;yQ.1dU;'}ݵO(^S@ȈS0x(5V!D[{^7DL8/굓h@i|[)A-!״K)({b=zYH3sGOԔNic[T%=ZЇc>|?Y<"NSP,`h/9`?m=B2#V񢅻~{jpn(|L̽wrD`nc7׺1,o;fiZД&=̯Þ݊ų~TQER0=Ŵ1<>sh ۮٕ7M0NM]/7A7xM<*.6g?F]+E_EW@Mz(8Ȣꮼ1C.N|QNXV4Ԍ\X |%Yv*/H \i][bx3?J-Fq#)%1E0 aE*a)A ؽ08O s6siviO>ڛo=RE2".b5[t,[}ScV%؅ N ؝#^w۩xJ7urn}TaC;,\l Ƣv+c`XZZd~f寳"KJ[,twnKA̵T\y29DZԠr؆jonC*oU0|y C$WLʮl܁ 7aR~vD-hԉ̺ȓ,6-A}1cfmv4@^EltвvbnMeJ IBuv>DIU_Ve,{xY%VxZY7_xSx$@&Py.z-J4SQKF% ~a.1-߿>LfC"1ɶMN`@TzvY삙/_7,7)l/rnBH?]{؜LGT"M8]|Q;#MTpO6l`4Vq-^I لm3.4}^@o5BL" LA7MDS{eXM$*,(6-N%nG4 ̧\&*6w{B[=I{vRA/t/g1*N4@e yE7!Ï.VwÏN< QM4ӌ;41,RVEYc '69QQJ @(lrh~JL|Jqa8x'fG= "b$cp,mv1_]ʛR gSaI "M>Dfem*n$U;).O; +8LӧF*[d#; ;*]ekA0%o_ܶv/@ ꎽR:B "ڝJYECUI؄Z܏*l1;.!fJ58Uw%A~IDNe%i#%_GL&[Jra2 x>遁l(7Or:䰆IUZ{4ڵ*g+%Srf-ʘOE<^4D]4EJ=yDg(9 Ɉ2]??t[)|ڭIR H-u!@Ob94xƜ/ YZ