python2-cryptography-2.9.2-150200.13.1<>,tcI}p9|xgAOd{S=7*-=jPGΥqS ^;_va0Y"XŖ/=w~*PwW}FJiØ".*X1,װ7ϙ]{dmb=V;oAAFyL) \${5XU3RjvBTfqQ .C;Peg=}1Wֹ7r #opsBF?d7m# *@FEJW>D%`?%Pd ) k-Ni (  T    Rn SW]Jbbg@ggj(k)8k0E9lDE:qnEBFG HdIXYZ[\0]^ bcdGeLfOlQudv wx4y z$$$$%%% %LCpython2-cryptography2.9.2150200.13.1Python library which exposes cryptographic recipes and primitivescryptography is a package designed to expose cryptographic recipes and primitives to Python developers. Our goal is for it to be your "cryptographic standard library". It supports Python 2.7, Python 3.4+, and PyPy-5.3+. cryptography includes both high level recipes, and low level interfaces to common cryptographic algorithms such as symmetric ciphers, message digests and key derivation functions.cI}ibs-arm-4(hGSUSE Linux Enterprise 15SUSE LLC Apache-2.0 OR BSD-3-Clausehttps://www.suse.com/Development/Languages/Pythonhttps://cryptography.io/en/latest/linuxaarch64.Lj.0\\]] dUPP [ } }yy*N4N4Pv|KIB%'' ' ~ ~*>*Z*Z'-f-f1.44``<<\)ZZ | 6;<< 4 D>Q>Q # ZNfey ""+==?((N%%//5R{R{ [ __a(6:6  r%^  --'' s>)) EE bb)(  k  V $N$N HHpyKK !! : zz^]tWtWWAA(;; 9.<.<4DODO*&,&,  `,`AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤cItcItcItcItcItcItcItcIt^cItcIt^īcItcIt^īcItcIt^īcItcItcIt^īcItcIt^īcItcIt^īcItcItcIt^īcItcIt^īcItcItcIt^īcItcIt^īcItcIt^cItcIt`EcItcIt^īcItcIt^īcItcIt^cItcIt^īcItcIt^īcItcIt^īcItcIt^īcItcIt^īcItcIt^īcItcIt^īcItcIt^īcItcIt^īcItcIt`EcItcIt^īcItcIt^īcItcIt^īcItcIt^īcItcItcIt^īcItcItcItcItcItcIt^īcItcIt^cItcIt^cItcItcIt^īcItcItcIt^īcItcIt^īcItcIt^īcItcIt^īcItcIt^īcItcIt^īcItcIt^cItcIt^īcItcIt^īcItcIt^īcItcIt^īcItcItcIt^īcItcIt^īcItcIt^īcItcIt^īcItcIt^īcItcIt^īcItcIt^cItcIt^īcItcIt^īcItcItcIt^īcItcIt^īcItcIt^īcItcIt^īcItcIt^īcItcIt^īcItcIt^īcItcIt^īcItcIt^īcItcIt^īcItcItcIt^īcItcIt^īcItcIt^īcItcIt^īcItcItcIt^īcItcIt^īcItcIt^īcItcIt^īcItcIt^cItcItcIt^īcItcIt^īcItcIt^īcItcIt^cItcIt^īcItcIt^īcItcIt^īcItcIt^īcItcItcI}^īcIt4^ī^īcI}^ī^ī^ī66528a48a584978f498b23f5515bd924b00cf903933bed63168a5e0f3c3c963d4f9bb4c0a3cbb7430a3943aebc63440152d99d9a0e35d01ccb07dfe7d31c8b8301ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b58e9cd1a90d13bb3976c8e47e0bc05a1cf45b6dd16edd6cb83b6146f8004b019402918404e07241a6a22bf9a06a6ce67bd0d95f6de8ca9c313a3836cd814c30828dc5eefb4210a9993b276d4fd9f87b08a2c820591bc4669d17ae11199a950fb3a8a69e3ce36337720ee8c8394e14a8ac79a744e447b13077b73545b5a18fbce3a8a69e3ce36337720ee8c8394e14a8ac79a744e447b13077b73545b5a18fbce33b990adf08762e93b4e910fa5f63192173de5ca26ab13ade35c588cb6b9c220bb13b88343990191931711f38fa10672caa749236740d73b4b66e4153c3f1bb8bb13b88343990191931711f38fa10672caa749236740d73b4b66e4153c3f1bb834fb43a88ab596c43519bd415e48ec188bdb32b58c68a09a4fc7a9892822d35dabecf7b7eb63a64698c5c210a096ac104d385a2bcd36b2ea8aa067337ce4d4ceabecf7b7eb63a64698c5c210a096ac104d385a2bcd36b2ea8aa067337ce4d4ce080e22590bcf0de17d10dd085aaf31cae041a8cbdca44135ec88bc5466e2d7d69befa2275c91a11b394339d99720e096a1011245ff926df1ecda0f24dea5c30e9befa2275c91a11b394339d99720e096a1011245ff926df1ecda0f24dea5c30e8443cd430f1d82320f227e36a9a2f05cd44b0b24c6359792be441be7b0cf85bbfba2b416b8712e18fc97e438b57c56b0d6e1e5ff8fa85515607a7f082b12752afba2b416b8712e18fc97e438b57c56b0d6e1e5ff8fa85515607a7f082b12752af7057bbacb2c03efc8931a34879b9510925c63ab916f0e148658232e15d8b24db5004b3b0c89350341781370a7dd1955fdefa9b7a3df0de83625d20e24c3dd2bb5004b3b0c89350341781370a7dd1955fdefa9b7a3df0de83625d20e24c3dd2bbd3287968ade8c7c9265707b43d12325c73b23cceb8bb0f83c156dbc0deb58508089ea8890b49da0eab77fae7b8bae4b1459037cfed7973375de23e86552c0ad8089ea8890b49da0eab77fae7b8bae4b1459037cfed7973375de23e86552c0adf76519766a93c903ce600dae8b5eed92cca3c419d39a3d570ecc4308284bbf11cc6237e0ae2c469f83f5406666b9506ac7bb2ad38ed4150bbccf67d37515cd46cc6237e0ae2c469f83f5406666b9506ac7bb2ad38ed4150bbccf67d37515cd4632836b7dc68fe5ca43d3fc091f9bfabf21925c2f0eb1b0001e6e3ef53652214d4847dad78a33cc58558a985bb72a2d37d244023bd2e1eeae9fcb02fd12b118254847dad78a33cc58558a985bb72a2d37d244023bd2e1eeae9fcb02fd12b118259380cc7b6dbcfe14ee076918dcbc24eb625d23712609ded5915d35cc99b9ee9b26ebf327f3ef6d4c2cd60dd5b3f52cc943b2fd266934de8e73bb926c49850ba126ebf327f3ef6d4c2cd60dd5b3f52cc943b2fd266934de8e73bb926c49850ba153435cc34cf8fa9a84591c49bbd1b36433d3be9f18056e461c579b7246852d3b9e9a1462a47112a80e7bb84a7e210195e2a952ba3d010e62abecacc04a5c19c175e4287b3154a10f2999b05eb1ab9f854eed2c987751938d19937bcd5a20570c5c53577e49b0cfa050d79c3d4dbe6f4eb493588f32ce9e5acd307dddc7ff0010ec16b66cd2d21ad59c708666bcdc2fe103497e25237271b41702312f9d6e2a479c7ddfe3868eadc4682349997c52848361a6ddd01c768149ecb93ec7f09a6b9903f408fbe2bd88141682ea57f9c8995ec4c3508e7f509839040c67791da0afe8a48653c566983b7fab217062f86c2400b9f691428863e4a2495572b59758625aa48653c566983b7fab217062f86c2400b9f691428863e4a2495572b59758625ac310877df540105c5c9fa01330fcbb1c04c88d665632829d4d71c90a07947f8f22f5960d3b003ef43731cb333e2e78c111feb30884d16499c5c35ae7030f06fa22f5960d3b003ef43731cb333e2e78c111feb30884d16499c5c35ae7030f06fad76e35a6a264cf78eab80ba851d6c7e77224bd4ed044d6af75b0a1823fb0a6a8c704d2abce49c00e542366ce1a8e888c7224d9253b8310a1d33b478551cba5653c88fb9c64b0ae804cb179c024df4f9982fc2a38c029b0e3208106f6625564f29171f42d72ec828ec52cd6a7e95e418a2752df4cd5916370696b9567e9fa528813f39f00d500d873fc226e70420d161a8e76042193d1cb61298e6fc4db56cd4313f39f00d500d873fc226e70420d161a8e76042193d1cb61298e6fc4db56cd4360e14cfe6976278aba4c8e7ea21f0cf513d2deed9d7145b14f9d58c5fa5bb3ba914e4f207682043bb58c7e8ba68324a9cf942e3f2fdf76b6db1e01a001626f71914e4f207682043bb58c7e8ba68324a9cf942e3f2fdf76b6db1e01a001626f71a2467cec471a3894469a3114bc83ea0d5ec9a7ac5c932e2814f48de9f5db1abb26f53800bfdaae020be767e90fa4878e80d6a66ed991978f88f4f1e7c6c1e24a0eb0c463d4e655568f19d892e89f59b1dc52eba9722d63fe76c82b6026d6f7cfeba76424f67a82f50225203444fc9d8b5fb44365a386201c2b0bc3d91e7d67377c58ba1c0ff29ee29cf25f0fb94e1ca658e1a155551cd8c59ee9eea43592890c7c58ba1c0ff29ee29cf25f0fb94e1ca658e1a155551cd8c59ee9eea43592890cd96e8ac333d05cfbef91a359585c48fcbf2b20ff34be105c75955b2334b93266794233a8ad94ec009751f29fc81ce4c56ab2c0477b8c4e87526a95be9fe02722794233a8ad94ec009751f29fc81ce4c56ab2c0477b8c4e87526a95be9fe02722f1750e4dd1ab78e62f5a1895790b4bed756a941a4ffab9cbb83ae633b6c6e0b40e5f6c8c686a1148810e083f279a1c0b6e1397a2824aa023f1bd858238d1cdf2f4d02d36d623da859687637715390def580f9581132ce8198d12299bf44aa664fee61c2a3ad6cc289fcfdb8e34f14119b6bb402de8ebaf8acf191235fdae23f0f2bd473ed014f027ed857aa4c5fc23073904651a25851394ebc9c805b4843333f2bd473ed014f027ed857aa4c5fc23073904651a25851394ebc9c805b4843333fb932c36af7e03b22cfe752331dcf41673a9772dcc9e8c025aa0c618bebb87236a04e2cd66c0e44d43cc2e2f650f656922a48d7fcd4a74f42b64fae1efc34ba26a04e2cd66c0e44d43cc2e2f650f656922a48d7fcd4a74f42b64fae1efc34ba28a14715ecf9bc35eb4f714cb1545dea3a5011a5593b4292514bbc8a9ccf97106e86b9613744629834e020cb8cc44da1ad3e846b7069d05269fb15fac09cfbf47e86b9613744629834e020cb8cc44da1ad3e846b7069d05269fb15fac09cfbf4759a4372f2c4f0f69bd6aec92cb89b30cc3285b14d3e29c3fce1839e67d43e868d3b2a2cd806fa0f7573a56a99afb42831be7a7fc2bbeabca527c51c22a2541fed3b2a2cd806fa0f7573a56a99afb42831be7a7fc2bbeabca527c51c22a2541fe2af8c7c0fd269a01051e15deb39befaea3691c4016bf60914b439c9062dd0ffb2f9bbb80bed62eb97195e538e65225120dee15fb96427b0c01646ae4bfaf80482f9bbb80bed62eb97195e538e65225120dee15fb96427b0c01646ae4bfaf80482eace831f2db3b7dfce61f89815f11896423d1bbed472efa2f38a646a8c84f64a9542e241e08da737726f915d3ad40cd5f6fe9a16a7fb62180ed9e72db3c7a30a9542e241e08da737726f915d3ad40cd5f6fe9a16a7fb62180ed9e72db3c7a30064a5d4b8909ca62ce7f87ecb36c151c01b9a1b481a22e88dcf4df1382edef2a3598442efcba756fe7ec21dcf9ea318f2b17e840839405995c8597eeaecd92733598442efcba756fe7ec21dcf9ea318f2b17e840839405995c8597eeaecd9273faf3282092785f71dd0782eb5b1c6ad3fc69d2c0ccebd4ba54cfcff9daa27b6e5eba6146a86b31c5487b8e9ff279ace8f76e3d3bc655b842a4aac5a78dbe4e355eba6146a86b31c5487b8e9ff279ace8f76e3d3bc655b842a4aac5a78dbe4e3526397eb09890bed98cf426e7442a86b376f17b27d6f93ac3b14017d06bc7aab34a59830fe4ba45811a8a14443149d9046e7489e6054278188301398fcca57d7bf158dc59678de843065d0fbf488033358df1953413bc86f80624c1e01f7b6f32d301b0d8e17d47b7c75fb35610d0a6aec62281b5c7536a23827f8de11923b3d526f8f678f161b3886553ea620ce511a99de75b4051d578cc0f994195e9cf419b26f8f678f161b3886553ea620ce511a99de75b4051d578cc0f994195e9cf419b61c89bb08afe7ee325670a0c59b03918c22f8c21a6b50063b7808f8e96b15669fdce9e1ff9d1f5914b5aaeea70a43de1708aaa30c6737e5ab7a701d5c686e3b3477c059eb1a7359e9167f781dfa4756e552c61003ce20d3d5eff42ebf2b67f53d301b0d8e17d47b7c75fb35610d0a6aec62281b5c7536a23827f8de11923b3d5f5dd9f62a603f3cc5aad01665f71de0fa5d8d57aa2aaa7255451ba4bc15a889bf5dd9f62a603f3cc5aad01665f71de0fa5d8d57aa2aaa7255451ba4bc15a889be013dd5541024ebe6a40011f17e2926bb2317247a06c90c6b3c08805c9d31ab6f7867cf442236e2aa106a3845f686652d80eed2b6fa039f8360892c561caba96f7867cf442236e2aa106a3845f686652d80eed2b6fa039f8360892c561caba964381f7f5045e300d4c79732fb24af87e3acd8aec51d3111b9d5fa371574a527b4f3326b98934405c725103717222b1215d6c44f95db3880e5576cb2a6eb763314f3326b98934405c725103717222b1215d6c44f95db3880e5576cb2a6eb76331d301b0d8e17d47b7c75fb35610d0a6aec62281b5c7536a23827f8de11923b3d5cce3f3ce6e69526d86802472072dd4b988d5b2dd0fb4a0daa6363e4609800e35cce3f3ce6e69526d86802472072dd4b988d5b2dd0fb4a0daa6363e4609800e355a1527ded1b1a0b031180b191c4949d9a3882d74a1e790198b4e0c06e7589900218f64020d17704eb17f911527d5efda022cdee502d1f02e3cf489362ed9faa4218f64020d17704eb17f911527d5efda022cdee502d1f02e3cf489362ed9faa4e97974d5b8d354714271d26bdcf876710ee1c6461879daa6f927a4669c679ed6716eabab0d665219b81169761456b1cfe8e0791df52b164762d34952bd61bb91716eabab0d665219b81169761456b1cfe8e0791df52b164762d34952bd61bb91bb32bbaa97b406da8792054b4ab346b6c91ad70dc949437fb99a7a5c00392cc670bbe3253985498c9caa2f5779671eff5d72de52774ef8786a02cbf2d9619fb970bbe3253985498c9caa2f5779671eff5d72de52774ef8786a02cbf2d9619fb9c45cae0dee77622e0c61d2f11d6a37d90fdbf9486d6b30f7a836005080dcddfcd005713ea7ee1ca99c6f11ce1f0ecef36ad4b2d6c7229e4591a99a4c0c6b55edd005713ea7ee1ca99c6f11ce1f0ecef36ad4b2d6c7229e4591a99a4c0c6b55ed2bb7461c43431263b4912d1fa9e4fa75c98c468f486ca2eeb36e9601f0c386335402c3819bb72120d86d4f7b27e6edf1c2e3a337d76a32b1880095c4eaa49b045402c3819bb72120d86d4f7b27e6edf1c2e3a337d76a32b1880095c4eaa49b047a8467880e723777e04f456eb6ea3e8fa8b5c9e88a10a03ffb8684ac93dd97ac082fd414453c75ed5d7afcb2fa7ad300bd6ad40066d5bf5cd74f23268ba5be89082fd414453c75ed5d7afcb2fa7ad300bd6ad40066d5bf5cd74f23268ba5be8968265ab54e7eabf596e6f6b305678a3c5f1965ad0023c856cdb25a551377456254478747b7ec4e5d62e94861cce540bfc1c2b3bda29223740ed584cc8b6b8dbdf5f29518f34f40827994c8c62846bdc06cac6ae44fbf96e3e7cd143fd75504a383bca042211c846c8c3d76bc02790fc8caec063038bf9b22584d56948fd24ce69e8e2bb6c974e8befb539544b9b1b615639ada52b8dd8cbfc804a2ce44f0de1de315b02b0a4d64d521938baaec4a8bc91373589918f6187f63f69820a39acd923a0e63671628084f4131bddd9aab8c4da9ed8ec8f3974cf69aaa1cf6cfb4e7cf3a466f9a6ab1420eb3bd849de364948d991d5be10b0298b40df6e48ab8b7d9c83a466f9a6ab1420eb3bd849de364948d991d5be10b0298b40df6e48ab8b7d9c8e905fc4b0115ee1e32d2ac0001806aec87eddf5191ff7cd8e6ffbd16320a098b8c10a3eb4ad4ff12462b41ae3d677fa28f5c10362148cd295aa8fe30f8bd818c8c10a3eb4ad4ff12462b41ae3d677fa28f5c10362148cd295aa8fe30f8bd818c81b67f51d548a3379957b15f769239aa9e2ddf59d61945e22b07e0318ac5da26b6b9f0c842fdc6f9d6b0ada879a3ec092ad9a942dbc6e7878d4dfcf737c47b93b6b9f0c842fdc6f9d6b0ada879a3ec092ad9a942dbc6e7878d4dfcf737c47b934316b17a37857f3e823e123573888dabfec3b22078d58fd0fae2dfccec7b7effca2eaae7d7fb4036c073645484faa547fee871caafbca590e02daa1ad9d39886ca2eaae7d7fb4036c073645484faa547fee871caafbca590e02daa1ad9d398869b51723515e2668d2a07d20f96ad7c3850605558cbb12578f7c2226379cba05de9b5aac13c1813b15b225ccddbf13f708ff8d380928e26d9b282b03ebfa89df6e9b5aac13c1813b15b225ccddbf13f708ff8d380928e26d9b282b03ebfa89df62171948fe49154ac877c3772a94911915772489e6cf6a8c87ac8c577e1086f025e746bae97e78f469dd2b1849e0ff7398e763f14c27364a61e479dda86b3f8dc5e746bae97e78f469dd2b1849e0ff7398e763f14c27364a61e479dda86b3f8dc8547b930f55e581fb6d5a928ebfc95188ec604d0a744e9244b9df3cbca123bea9e8ab42dbebdad0206a97578e9c686462c3231b695dc903ed338235641dff5e49e8ab42dbebdad0206a97578e9c686462c3231b695dc903ed338235641dff5e49d41de43d234008b37d0d8b6c3d4dc53dc3e01022978e03ac0b75f03ece44e627d27a46fc23f73765a8bc80d4e45112464b2d71af8b587404cb0efced8bd27857d27a46fc23f73765a8bc80d4e45112464b2d71af8b587404cb0efced8bd278542039700292f6bb4546d562f4aadebcb0d917592ce38982dff383208a066245eb56ebd652c17fc9fff39c8ad64920e37da4d1d378c85591eca08774b803b198db56ebd652c17fc9fff39c8ad64920e37da4d1d378c85591eca08774b803b198d4d81524649d6bca973ebcac2c1f74cc3ddf0d09cb5fb707917d3d0cf11f431b262208fd4c2884c5abbafd02b8b1cc7048a2a5fbd09720fd10b6105413559427862208fd4c2884c5abbafd02b8b1cc7048a2a5fbd09720fd10b6105413559427886a00e8d2bb897b64e1b453b909427d24487805b88e7ba399dbe284d0eef1a719815c5204881cb06d0301085e400dc60df386c77d5163dc49d976ea071b2ea979815c5204881cb06d0301085e400dc60df386c77d5163dc49d976ea071b2ea97306b15ac4fe0865656d07507ef4b1e578bc25a5219352520074bfd9f4e6f7068683c1c70b749f7a54121f8f50671fcd3caf9e357fdb5e74e69133e7f337c8d2d683c1c70b749f7a54121f8f50671fcd3caf9e357fdb5e74e69133e7f337c8d2d9e87791e33ecc2366bf30169e93b2ee9e9fd6e51d8177921817239474cc87273f10a8d4c624ddd680e4d4afb04fb74bbe7bf05cffa34120689f496ef0baf868cf10a8d4c624ddd680e4d4afb04fb74bbe7bf05cffa34120689f496ef0baf868c3126f869b17c8eb202835bfd352af441031f435af6dd10e85245345fcad0ae1115a363ffeb19848f128d7cc579ae40fc34eba659bf9e388138b921d6d1c2688e15a363ffeb19848f128d7cc579ae40fc34eba659bf9e388138b921d6d1c2688e95ca94d292371c52940bd2f92e93b88313d246c112fb1d6578f0dfaf2bb9538ce8a8cf4ac5588e9eb77143162fc65af4c89d71f742eb16e540d809cdff7bbbf3e8a8cf4ac5588e9eb77143162fc65af4c89d71f742eb16e540d809cdff7bbbf311678b14f20d1a5e748644898f7cfad96c1e3e9cd18aa18ca359ca9bb6add7f82ee2d0bd53dd6a490e98a0a9cf34fa03f500fccda1df60eb9827dcb28f3221e32ee2d0bd53dd6a490e98a0a9cf34fa03f500fccda1df60eb9827dcb28f3221e310adf10c3f98dbd0cb26e9508c7ada5abc17ee9b2a096b3b370493b68e18471bbdf4d5dfb2c2d9df38f9e1a8f8e4417326d14e116f300a51e7d96916fad5c4f3bdf4d5dfb2c2d9df38f9e1a8f8e4417326d14e116f300a51e7d96916fad5c4f3d81ac6c1bca4dd5bd8e2ccd0636101bd931a7fc0183d6957f386928fe4d72d79661c2d4b655f8416d8866fa0bd381a29530784f221377cb1e2a5b7fd186da990661c2d4b655f8416d8866fa0bd381a29530784f221377cb1e2a5b7fd186da99060bf3c20ba3878160ffcb86525c1202a732aa6eb643a607e1410accba299d91028c7b42eca32e4988acddcfc0cc19194a8ea31f873013ef5fa6b281638236cf228c7b42eca32e4988acddcfc0cc19194a8ea31f873013ef5fa6b281638236cf22ea8e4548b3bb9be48e60c266126fd21ad1575732a5961e69ca49d43b1ce18406468dd4fb807ef4c87101679fc4994eb90e9b0f6a354ede967ef50f8adc8bff379db7ab8fa468a0313fee64a80abc0879d56bbd3e29d19a4295f3ba33b306d920ad2818f69d1e749b8657140a273b10dcca65bc2648f403dc71b7b10c2dba496fe9fa02c4477cbebf55e94e21efc2ff700ed47a39908c2f2f51566adfa22dd91fe9fa02c4477cbebf55e94e21efc2ff700ed47a39908c2f2f51566adfa22dd919fb09b2171f71771f00ec5c869a1c9182f91b123d4b8b646d4c25e6f516a06ffa67b376db9597b51fcc5669ec398870be0b51eaf38c2f718f3a4694b142a1948a67b376db9597b51fcc5669ec398870be0b51eaf38c2f718f3a4694b142a194847ee3051bfd4329dd687fb569fc9c80495d6551ecea346518609b5c043c232316c5665474fc4e0bc4b4da601b72a40e0d8e8b44c76c6a35017ae208f52dc8d796c5665474fc4e0bc4b4da601b72a40e0d8e8b44c76c6a35017ae208f52dc8d79098f1ddd38d0db03e8b47a50a6467e9325640305bde72e93170d0937d2a96c53bf654f7940c85969bc57cd7311f92ada5b48c2fb67baba7f01bdede85df267c1bf654f7940c85969bc57cd7311f92ada5b48c2fb67baba7f01bdede85df267c12d6200e9254cc5ce279c0b528afb3cad3a701ba172de9a527c744388919d254cef9559dbed84b7076fbbeb26eee312da62fd518c497bb81c8639b15cadace4c5ef9559dbed84b7076fbbeb26eee312da62fd518c497bb81c8639b15cadace4c553de1c387238d819608aa4570e5b0fa2a51ae42fd6c3fbaebb6363afddddd5f0fc4f4669b6e2ff132c786ffff20e63344ea3877e787256ef000392f4f30399cafc4f4669b6e2ff132c786ffff20e63344ea3877e787256ef000392f4f30399ca056ae6dc3283a006b6f3513b53f9f3cfcbf8e0e9808979a523270572c7a1c1f1624349f768872c02d2f5b87eed40dc9c9064ed4dac22f972a78fdebd54ed8270624349f768872c02d2f5b87eed40dc9c9064ed4dac22f972a78fdebd54ed8270ebf1272a5fb346cd32097b87c5086cd931241daa6b5b16677c91ab423b39448889170a62b9c410be56eaba02ab88dde60ffe46c91bf28bc6088cf79cd7d4fe2989170a62b9c410be56eaba02ab88dde60ffe46c91bf28bc6088cf79cd7d4fe2928bdc0e1b8e9a9aab29d061df617cf564bece6f615a9fd49569b9c117eff75d35a88c6845e55e9e064c942381dcc7fc62f237dcb9157cac431ec08c00328ee6e5a88c6845e55e9e064c942381dcc7fc62f237dcb9157cac431ec08c00328ee6eef5817d5b25e3fd4d06be1db48fcde514270558efc00b61036fbaeb249d43b85cf0295d2108c1e87be022ee458140ab8cf337e7ab7824f9414b2fb07e1d95de6cf0295d2108c1e87be022ee458140ab8cf337e7ab7824f9414b2fb07e1d95de65f31987aa84c4aefa5782fabc80a44e4d21730cb216e5a3a72f1502b85a43e16939e52b71381ff0043bfbafb7cadbb47b1a9d2c2e4c1f44438595e6ef53df2111838b736f5f4bb254816da5e9d85b420fcfedcb5ffc4235d1af85b3aede248aa174d5930769e7e0b2f31e4ad8454046b5833feaef9e772cc6bf22a3aaf2d0fbcf6708bf38d28c4ce6e656067a11072f8512d85c2cb5e6374f4164e5a33e26ba2f6708bf38d28c4ce6e656067a11072f8512d85c2cb5e6374f4164e5a33e26ba21e59c340c0a93aa66efc045ccac93ace350dba530f3fb9ee433e7b2fc6d6f873e5798fd78d6f01c1b57a2284acef5385160e9b9249be3903762240ef7b40dd07e5798fd78d6f01c1b57a2284acef5385160e9b9249be3903762240ef7b40dd07789f65ac84ddc8c9f85ecadc55dad3685548fd147b997fd5ccc67289a1296e9bf23599db47f786475c43830800e7c208bc2d1e3ac5149ce0d864b06ee60e1ad4f23599db47f786475c43830800e7c208bc2d1e3ac5149ce0d864b06ee60e1ad4b7c86a391a013bd0f7f2a16e6781bd512c626bf9d0b902b6ae1d77d2c1f937df2297ceab25be28b42597ff06aa1ab68c7db6f5aad8e8878a8666287942ba61e12297ceab25be28b42597ff06aa1ab68c7db6f5aad8e8878a8666287942ba61e1730708d587b3d4af4e11d1b4c2e9035867d2fdbeb1376d5e1cec8f682aa3ac66598917160bc6d8ac0f20b5959bac6e14c9d369768698a26397fcbace2f8fed0d598917160bc6d8ac0f20b5959bac6e14c9d369768698a26397fcbace2f8fed0d2383e2a1b95b1317dcc7a0d52ff762743660da0da2bde15bf774f36e5999d0b0dcaec07e3d94e4f3988738197b6fadd951a5fe6108c5b5163d888ff1d11df9fcdcaec07e3d94e4f3988738197b6fadd951a5fe6108c5b5163d888ff1d11df9fc603ccb4fda9bfb370315ad794200382b2cc0cdd204ef522327f4af5ad95a652a6ab97ee19da4ee1f803a55b80a7e2c9004783dd9c7675f6b3cd4063c4ddacf2a6ab97ee19da4ee1f803a55b80a7e2c9004783dd9c7675f6b3cd4063c4ddacf2a88dd532ed0ae2358fe59e6ef2de40cff29e2f94bbdd2760e82518901708261aa0083193bf45ffbab583427c3ca9a98fe8fa2bfcff1c531452becaaa8650c443d0083193bf45ffbab583427c3ca9a98fe8fa2bfcff1c531452becaaa8650c443d32829394feb23a69cb0bf2976ab1d540fd2c22d064d7576d67b2f3574561341d107234b214d7154440ed264b5dbd93ebe5eaa37d701844981b351a12d6400465742a857005c7fa4b6ef4d5d4a1fd32726732140e9b086e95ba43a53b749649a0e1a46fc7b43aa9b1df999a14c49ff2df5e040567f85767b841b96fbcd96a7d1535452b557fab0efb1e80d7edb9c4e5118b9384082adaa051dde342102cb9de8daac73b3148f6d1d7111dbca32099f68d26c644c6813ae1e4f05f6579aa2663fe602c4c7482de6479dd2e9793cda275e5e63d773dacd1eca689232ab7008fb4fbrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-cryptography-2.9.2-150200.13.1.src.rpmpython-cryptographypython2-cryptographypython2-cryptography(aarch-64)@@@@@@@@@@@@@@@       ld-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)libcrypto.so.1.1()(64bit)libcrypto.so.1.1(OPENSSL_1_1_0)(64bit)libcrypto.so.1.1(OPENSSL_1_1_0j)(64bit)libcrypto.so.1.1(OPENSSL_1_1_1)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)libpython2.7.so.1.0()(64bit)libssl.so.1.1()(64bit)libssl.so.1.1(OPENSSL_1_1_0)(64bit)libssl.so.1.1(OPENSSL_1_1_1)(64bit)python(abi)python2python2-asn1cryptopython2-cffipython2-enum34python2-ipaddresspython2-packagingpython2-pyasn1python2-setuptoolspython2-sixrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.70.21.01.13.20.1.811.31.4.13.0.4-14.6.0-14.0.4-14.0-15.2-14.14.1`E`Ȗ@`6?_S_^@]W]@\ \t@\w@\J@\-@\ @\ @[h@[{[O+[ZZ@Z` . * Correctly allow passing a SubjectKeyIdentifier to :meth:`~cryptography.x509.AuthorityKeyIdentifier.from_issuer_subject_key_identifier` and deprecate passing an Extension object.- Simplify the test execution to be more understandable- update to 2.6.1: * BACKWARDS INCOMPATIBLE: Removedcryptography.hazmat.primitives.asymmetric.utils.encode_rfc6979_signature andcryptography.hazmat.primitives.asymmetric.utils.decode_rfc6979_signature, which had been deprecated for nearly 4 years. Use encode_dss_signature() and decode_dss_signature()instead. * BACKWARDS INCOMPATIBLE: Removed cryptography.x509.Certificate.serial, which had been deprecated for nearly 3 years. Use serial_number instead. * Updated Windows, macOS, and manylinux1 wheels to be compiled with OpenSSL 1.1.1b. * Added support for Ed448 signing when using OpenSSL 1.1.1b or newer. * Added support for Ed25519 signing when using OpenSSL 1.1.1b or newer. * load_ssh_public_key() can now load ed25519 public keys. * Add support for easily mapping an object identifier to its elliptic curve class viaget_curve_for_oid(). * Add support for OpenSSL when compiled with the no-engine (OPENSSL_NO_ENGINE) flag.- Dependency on python-idna changed to "Recommends" aligned with change in upstream source (see below) - update to 2.5: * BACKWARDS INCOMPATIBLE: U-label strings were deprecated in version 2.1, but this version removes the default idna dependency as well. If you still need this deprecated path please install cryptography with the idna extra: pip install cryptography[idna]. * BACKWARDS INCOMPATIBLE: The minimum supported PyPy version is now 5.4. * Numerous classes and functions have been updated to allow bytes-like types for keying material and passwords, including symmetric algorithms, AEAD ciphers, KDFs, loading asymmetric keys, and one time password classes. * Updated Windows, macOS, and manylinux1 wheels to be compiled with OpenSSL 1.1.1a. * Added support for SHA512_224 and SHA512_256 when using OpenSSL 1.1.1. * Added support for SHA3_224, SHA3_256, SHA3_384, and SHA3_512 when using OpenSSL 1.1.1. * Added support for X448 key exchange when using OpenSSL 1.1.1. * Added support for SHAKE128 and SHAKE256 when using OpenSSL 1.1.1. * Added initial support for parsing PKCS12 files with load_key_and_certificates(). * Added support for IssuingDistributionPoint. * Added rfc4514_string() method to x509.Name, x509.RelativeDistinguishedName, and x509.NameAttribute to format the name or component an RFC 4514 Distinguished Name string. * Added from_encoded_point(), which immediately checks if the point is on the curve and supports compressed points. Deprecated the previous method from_encoded_point(). * Added signature_hash_algorithm to OCSPResponse. * Updated X25519 key exchange support to allow additional serialization methods. Calling public_bytes() with no arguments has been deprecated. * Added support for encoding compressed and uncompressed points via public_bytes(). Deprecated the previous method encode_point().- Update to version 2.4.2: * Updated Windows, macOS, and manylinux1 wheels to be compiled with OpenSSL 1.1.0j.- Update to 2.4.1: * Dropped support for LibreSSL 2.4.x. * Deprecated OpenSSL 1.0.1 support. OpenSSL 1.0.1 is no longer supported by the OpenSSL project. At this time there is no time table for dropping support, however we strongly encourage all users to upgrade or install cryptography from a wheel. * Added initial :doc:`OCSP ` support. * Added support for cryptography.x509.PrecertPoison.- Fix fdupes call- bsc#1101820 CVE-2018-10903 GCM tag forgery via truncated tag in finalize_with_tag API * add disallow_implicit_tag_truncation.patch from https://github.com/pyca/cryptography/commit/688e0f673bfb.patch- Update to 2.3.1: * updated tests for upstream wycheproof changes * many other tiny test tweaks- update to 2.3: * SECURITY ISSUE: finalize_with_tag() allowed tag truncation by default which can allow tag forgery in some cases. The method now enforces the min_tag_length provided to the GCM constructor. * Added support for Python 3.7. * Added extract_timestamp() to get the authenticated timestamp of a Fernet token. * Support for Python 2.7.x without hmac.compare_digest has been deprecated. We will require Python 2.7.7 or higher (or 2.7.6 on Ubuntu) in the next cryptography release. * Fixed multiple issues preventing cryptography from compiling against LibreSSL 2.7.x. * Added get_revoked_certificate_by_serial_number for quick serial number searches in CRLs. * The RelativeDistinguishedName class now preserves the order of attributes. Duplicate attributes now raise an error instead of silently discarding duplicates. * aes_key_unwrap() and aes_key_unwrap_with_padding() now raise InvalidUnwrap if the wrapped key is an invalid length, instead of ValueError.- update to 2.2.2 * fix build on some systems with openssl 1.1.0h- Cleanup with spec-cleaner - Use %setup to unpack all archives do not rely on tar calls- Update to upstream release 2.2.1: * Reverted a change to GeneralNames which prohibited having zero elements, due to breakages. * Fixed a bug in :func:`~cryptography.hazmat.primitives.keywrap.aes_key_unwrap_with_padding` that caused it to raise InvalidUnwrap when key length modulo 8 was zero. * BACKWARDS INCOMPATIBLE: Support for Python 2.6 has been dropped. * Resolved a bug in HKDF that incorrectly constrained output size. * Added :class:`~cryptography.hazmat.primitives.asymmetric.ec.BrainpoolP256R1`, :class:`~cryptography.hazmat.primitives.asymmetric.ec.BrainpoolP384R1`, and :class:`~cryptography.hazmat.primitives.asymmetric.ec.BrainpoolP512R1` to support inter-operating with systems like German smart meters. * Added token rotation support to :doc:`Fernet ` with :meth:`~cryptography.fernet.MultiFernet.rotate`. * Fixed a memory leak in :func:`~cryptography.hazmat.primitives.asymmetric.ec.derive_private_key`. * Added support for AES key wrapping with padding via :func:`~cryptography.hazmat.primitives.keywrap.aes_key_wrap_with_padding` and :func:`~cryptography.hazmat.primitives.keywrap.aes_key_unwrap_with_padding` . * Allow loading DSA keys with 224 bit q.- fix deps for hypothesis, pytest- Fix previous change and explicitly require python2 instead of python because python itself is also provided by python3. This fixes: ImportError: No module named _ssl when using python-cryptography in a python2 build environment- Fix the previous change to not pull in py2 on py3 enviroment- fix requires on python ssl once more after the last change- Add proper conditional for the python2, the ifpython works only for the requires/etc- add missing dependency on python ssl- update to version 2.1.4: * Added X509_up_ref for an upcoming pyOpenSSL release.- update to version 2.1.3: * Updated Windows, macOS, and manylinux1 wheels to be compiled with OpenSSL 1.1.0g.- update to version 2.1.2: * Corrected a bug with the manylinux1 wheels where OpenSSL’s stack was marked executable.- fix BuildRequires conditions for python3- update to 2.1.1- Fix cffi version requirement.- Disable memleak tests to fix build with OpenSSL 1.1 (bsc#1055478) * add skip_openssl_memleak_test.patch- update to 2.0.3- update to 2.0.2- update to 2.0- update to 1.9- add python-packaging to requirements explicitly instead of relying on setuptools to pull it in- Switch to singlespec approach- update to 1.8.1 - Adust Requires and BuildRequires- update to 1.7.2- update to 1.7.1 which contains regression fix for 1.7- update to 1.7 * support for OpenSSL 1.0.0 has been removed. * Added support for Diffie-Hellman key exchange * The OS random engine for OpenSSL has been rewritten- update to 1.6- update to 1.5.3 - python-cryptography-enable-gost.patch is obsolete- python-cryptography-enable-gost.patch: temporary patch to run tests against 1.0.2i, GOST cert extraction now works.- Introduce requirement setuptools >= 11.3 to follow egg-info/requires.txt content- fix download urls- update to upstream release 1.3.4 * Added new OpenSSL functions to the bindings to support an upcoming ``pyOpenSSL`` release.- correct source urls- update to upstream release 1.3.2 * Updated Windows and OS X wheels to be compiled against OpenSSL 1.0.2h. * Fixed an issue preventing ``cryptography`` from compiling against LibreSSL 2.3.x.- removed obsolete cryptography-new-bio-new-type.patch - update to upstream release 1.3.1 * Fixed a bug that caused an AttributeError when using mock to patch some cryptography modules. * Added support for padding ANSI X.923 with ANSIX923. * Deprecated support for OpenSSL 0.9.8. Support will be removed in cryptography 1.4. * Added support for the PolicyConstraints X.509 extension including both parsing and generation using CertificateBuilder and CertificateSigningRequestBuilder. * Added is_signature_valid to CertificateSigningRequest. * Fixed an intermittent AssertionError when performing an RSA decryption on an invalid ciphertext, ValueError is now correctly raised in all cases. * Added from_issuer_subject_key_identifier().- fix license- Add pkg-config BuildRequires: in order for the last introduced condition to apply the patch to work, pkg-config has to be present.- cryptography-new-bio-new-type.patch: openssl 1.0.2g changed the type of BIO_new_mem_buf() (added a const).- update to upstream release 1.2.1 1.2.1 - 2016-01-08 * Reverts a change to an OpenSSL EVP_PKEY object that caused errors with pyOpenSSL. 1.2 - 2016-01-08 * BACKWARDS INCOMPATIBLE: RevokedCertificate extensions now uses extension classes rather than returning raw values inside the Extension value. The new classes are: o CertificateIssuer o CRLReason o InvalidityDate * Deprecated support for OpenSSL 0.9.8 and 1.0.0. At this time there is no time table for actually dropping support, however we strongly encourage all users to upgrade, as those versions no longer receive support from the OpenSSL project. * The Certificate class now has signature and tbs_certificate_bytes attributes. * The CertificateSigningRequest class now has signature and tbs_certrequest_bytes attributes. * The CertificateRevocationList class now has signature and tbs_certlist_bytes attributes. * NameConstraints are now supported in the CertificateBuilder and CertificateSigningRequestBuilder. * Support serialization of certificate revocation lists using the public_bytes() method of CertificateRevocationList. * Add support for parsing CertificateRevocationList extensions () in the OpenSSL backend. The following extensions are currently supported: o AuthorityInformationAccess o AuthorityKeyIdentifier o CRLNumber o IssuerAlternativeName * Added CertificateRevocationListBuilder and RevokedCertificateBuilder to allow creation of CRLs. * Unrecognized non-critical X.509 extensions are now parsed into an UnrecognizedExtension object.- update to 1.1.2: * Fixed a SIGBUS crash with the OS X wheels caused by redefinition of a method. * Fixed a runtime error ``undefined symbol EC_GFp_nistp224_method`` that occurred with some OpenSSL installations. * Updated Windows and OS X wheels to be compiled against OpenSSL 1.0.2e.- update to 1.1.1: * Fixed several small bugs related to compiling the OpenSSL bindings with unusual OpenSSL configurations. * Resolved an issue where, depending on the method of installation and which Python interpreter they were using, users on El Capitan (OS X 10.11) may have seen an ``InternalError`` on import.- fix build for sle11 (disable testsuite as it depends on python-hypothesis which is not available for sle11 anymore)- update to 1.1: * Added support for Elliptic Curve Diffie-Hellman with :class:`~cryptography.hazmat.primitives.asymmetric.ec.ECDH`. * Added :class:`~cryptography.hazmat.primitives.kdf.x963kdf.X963KDF`. * Added support for parsing certificate revocation lists (CRLs) using :func:`~cryptography.x509.load_pem_x509_crl` and :func:`~cryptography.x509.load_der_x509_crl`. * Add support for AES key wrapping with :func:`~cryptography.hazmat.primitives.keywrap.aes_key_wrap` and :func:`~cryptography.hazmat.primitives.keywrap.aes_key_unwrap`. * Added a ``__hash__`` method to :class:`~cryptography.x509.Name`. * Add support for encoding and decoding elliptic curve points to a byte string form using :meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers.encode_point` and :meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers.from_encoded_point`. * Added :meth:`~cryptography.x509.Extensions.get_extension_for_class`. * :class:`~cryptography.x509.CertificatePolicies` are now supported in the :class:`~cryptography.x509.CertificateBuilder`. * ``countryName`` is now encoded as a ``PrintableString`` when creating subject and issuer distinguished names with the Certificate and CSR builder classes. * **SECURITY ISSUE**: The OpenSSL backend prior to 1.0.2 made extensive use of assertions to check response codes where our tests could not trigger a failure. However, when Python is run with ``-O`` these asserts are optimized away. If a user ran Python with this flag and got an invalid response code this could result in undefined behavior or worse. Accordingly, all response checks from the OpenSSL backend have been converted from ``assert`` to a true function call. Credit **Emilia Käsper (Google Security Team)** for the report. * We now ship OS X wheels that statically link OpenSSL by default. When installing a wheel on OS X 10.10+ (and using a Python compiled against the 10.10 SDK) users will no longer need to compile. See :doc:`/installation` for alternate installation methods if required. * Set the default string mask to UTF-8 in the OpenSSL backend to resolve character encoding issues with older versions of OpenSSL. * Several new OpenSSL bindings have been added to support a future pyOpenSSL release. * Raise an error during install on PyPy < 2.6. 1.0+ requires PyPy 2.6+. - Remove 2293.patch . Applied in a different way upstream. - Add BuildRequires for python-hypothesis and python-pyasn1-modules for running unittests- require the cffi version it was built against to avoid (bsc#948198)- Add 2293.patch for "osrandom engine already registered" (bnc#947679)- Add disable-uneven-sizes-tests.patch (bnc#944204) openssl in SLE12SP1 doesn't allow uneven bit sizes for rsa keys- update to 1.0 (fate#318838): * Switched to the new `cffi`_ ``set_source`` out-of-line API mode for compilation. This results in significantly faster imports and lowered memory consumption. Due to this change we no longer support PyPy releases older than 2.6 nor do we support any released version of PyPy3 (until a version supporting cffi 1.0 comes out). * Fix parsing of OpenSSH public keys that have spaces in comments. * Support serialization of certificate signing requests using the ``public_bytes`` method of :class:`~cryptography.x509.CertificateSigningRequest`. * Support serialization of certificates using the ``public_bytes`` method of :class:`~cryptography.x509.Certificate`. * Add ``get_provisioning_uri`` method to :class:`~cryptography.hazmat.primitives.twofactor.hotp.HOTP` and :class:`~cryptography.hazmat.primitives.twofactor.totp.TOTP` for generating provisioning URIs. * Add :class:`~cryptography.hazmat.primitives.kdf.concatkdf.ConcatKDFHash` and :class:`~cryptography.hazmat.primitives.kdf.concatkdf.ConcatKDFHMAC`. * Raise a ``TypeError`` when passing objects that are not text as the value to :class:`~cryptography.x509.NameAttribute`. * Add support for :class:`~cryptography.x509.OtherName` as a general name type. * Added new X.509 extension support in :class:`~cryptography.x509.Certificate` The following new extensions are now supported: * :class:`~cryptography.x509.OCSPNoCheck` * :class:`~cryptography.x509.InhibitAnyPolicy` * :class:`~cryptography.x509.IssuerAlternativeName` * :class:`~cryptography.x509.NameConstraints` * Extension support was added to :class:`~cryptography.x509.CertificateSigningRequest`. * Add support for creating signed certificates with :class:`~cryptography.x509.CertificateBuilder`. This includes support for the following extensions: * :class:`~cryptography.x509.BasicConstraints` * :class:`~cryptography.x509.SubjectAlternativeName` * :class:`~cryptography.x509.KeyUsage` * :class:`~cryptography.x509.ExtendedKeyUsage` * :class:`~cryptography.x509.SubjectKeyIdentifier` * :class:`~cryptography.x509.AuthorityKeyIdentifier` * :class:`~cryptography.x509.AuthorityInformationAccess` * :class:`~cryptography.x509.CRLDistributionPoints` * :class:`~cryptography.x509.InhibitAnyPolicy` * :class:`~cryptography.x509.IssuerAlternativeName` * :class:`~cryptography.x509.OCSPNoCheck` * Add support for creating certificate signing requests with :class:`~cryptography.x509.CertificateSigningRequestBuilder`. This includes support for the same extensions supported in the ``CertificateBuilder``. * Deprecate ``encode_rfc6979_signature`` and ``decode_rfc6979_signature`` in favor of :func:`~cryptography.hazmat.primitives.asymmetric.utils.encode_dss_signature` and :func:`~cryptography.hazmat.primitives.asymmetric.utils.decode_dss_signature`. - Adjust Requires according to requires.txt- update to 0.9.3: * Updated Windows wheels to be compiled against OpenSSL 1.0.2d. * Updated Windows wheels to be compiled against OpenSSL 1.0.2c. * **SECURITY ISSUE**: Fixed a double free in the OpenSSL backend when using DSA to verify signatures. Note that this only affects PyPy 2.6.0 and (presently unreleased) CFFI versions greater than 1.1.0. * Removed support for Python 3.2. This version of Python is rarely used and caused support headaches. Users affected by this should upgrade to 3.3+. * Deprecated support for Python 2.6. At the time there is no time table for actually dropping support, however we strongly encourage all users to upgrade their Python, as Python 2.6 no longer receives support from the Python core team. * Add support for the :class:`~cryptography.hazmat.primitives.asymmetric.ec.SECP256K1` elliptic curve. * Fixed compilation when using an OpenSSL which was compiled with the ``no-comp`` (``OPENSSL_NO_COMP``) option. * Support :attr:`~cryptography.hazmat.primitives.serialization.Encoding.DER` serialization of public keys using the ``public_bytes`` method of :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithSerialization`, :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithSerialization`, and :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithSerialization`. * Support :attr:`~cryptography.hazmat.primitives.serialization.Encoding.DER` serialization of private keys using the ``private_bytes`` method of :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithSerialization`, :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithSerialization`, and :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithSerialization`. * Add support for parsing X.509 certificate signing requests (CSRs) with :func:`~cryptography.x509.load_pem_x509_csr` and :func:`~cryptography.x509.load_der_x509_csr`. * Moved ``cryptography.exceptions.InvalidToken`` to :class:`cryptography.hazmat.primitives.twofactor.InvalidToken` and deprecated the old location. This was moved to minimize confusion between this exception and :class:`cryptography.fernet.InvalidToken`. * Added support for X.509 extensions in :class:`~cryptography.x509.Certificate` objects. The following extensions are supported as of this release: * :class:`~cryptography.x509.BasicConstraints` * :class:`~cryptography.x509.AuthorityKeyIdentifier` * :class:`~cryptography.x509.SubjectKeyIdentifier` * :class:`~cryptography.x509.KeyUsage` * :class:`~cryptography.x509.SubjectAlternativeName` * :class:`~cryptography.x509.ExtendedKeyUsage` * :class:`~cryptography.x509.CRLDistributionPoints` * :class:`~cryptography.x509.AuthorityInformationAccess` * :class:`~cryptography.x509.CertificatePolicies` Note that unsupported extensions with the critical flag raise :class:`~cryptography.x509.UnsupportedExtension` while unsupported extensions set to non-critical are silently ignored. Read the :doc:`X.509 documentation` for more information. - add python-pyasn1, python-ipaddress and python-idna as Requires/BuildRequires- Update to 0.8.2: * Fixed a race condition when initializing the OpenSSL or CommonCrypto backends in a multi-threaded scenario.- update to 0.8.1: * Updated Windows wheels to be compiled against OpenSSL 1.0.2a. * func:`~cryptography.hazmat.primitives.serialization.load_ssh_public_key` can now load elliptic curve public keys. * Added :attr:`~cryptography.x509.Certificate.signature_hash_algorithm` support to :class:`~cryptography.x509.Certificate`. * Added :func:`~cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factor s` * :class:`~cryptography.hazmat.primitives.kdf.KeyDerivationFunction` was moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.kdf`. * Added support for parsing X.509 names. See the :doc:`X.509 documentation` for more information. * Added :func:`~cryptography.hazmat.primitives.serialization.load_der_private_key` to support loading of DER encoded private keys and :func:`~cryptography.hazmat.primitives.serialization.load_der_public_key` to support loading DER encoded public keys. * Fixed building against LibreSSL, a compile-time substitute for OpenSSL. * FreeBSD 9.2 was removed from the continuous integration system. * Updated Windows wheels to be compiled against OpenSSL 1.0.2. * :func:`~cryptography.hazmat.primitives.serialization.load_pem_public_key` and :func:`~cryptography.hazmat.primitives.serialization.load_der_public_key` now support PKCS1 RSA public keys (in addition to the previous support for SubjectPublicKeyInfo format for RSA, EC, and DSA). * Added :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithSerialization` and deprecated :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithNumbers`. * Added :meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithSerialization.private_bytes` to :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithSerialization`. * Added :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithSerialization` and deprecated :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithNumbers`. * Added :meth:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithSerialization.private_bytes` to :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithSerialization`. * Added :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithSerialization` and deprecated :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithNumbers`. * Added :meth:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithSerialization.private_bytes` to :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithSerialization`. * Added :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithSerialization` and deprecated :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithNumbers`. * Added :meth:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithSerialization.public_bytes` to :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithSerialization`. * Added :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithSerialization` and deprecated :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithNumbers`. * Added :meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithSerialization.public_bytes` to :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithSerialization`. * Added :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithSerialization` and deprecated :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithNumbers`. * Added :meth:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithSerialization.public_bytes` to :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithSerialization`. * :class:`~cryptography.hazmat.primitives.hashes.HashAlgorithm` and :class:`~cryptography.hazmat.primitives.hashes.HashContext` were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.hashes`. * :class:`~cryptography.hazmat.primitives.ciphers.CipherContext`, :class:`~cryptography.hazmat.primitives.ciphers.AEADCipherContext`, :class:`~cryptography.hazmat.primitives.ciphers.AEADEncryptionContext`, :class:`~cryptography.hazmat.primitives.ciphers.CipherAlgorithm`, and :class:`~cryptography.hazmat.primitives.ciphers.BlockCipherAlgorithm` were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.ciphers`. * :class:`~cryptography.hazmat.primitives.ciphers.modes.Mode`, :class:`~cryptography.hazmat.primitives.ciphers.modes.ModeWithInitializationVector`, :class:`~cryptography.hazmat.primitives.ciphers.modes.ModeWithNonce`, and :class:`~cryptography.hazmat.primitives.ciphers.modes.ModeWithAuthenticationTag` were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.ciphers.modes`. * :class:`~cryptography.hazmat.primitives.padding.PaddingContext` was moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.padding`. * :class:`~cryptography.hazmat.primitives.asymmetric.padding.AsymmetricPadding` was moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.asymmetric.padding`. * :class:`~cryptography.hazmat.primitives.asymmetric.AsymmetricSignatureContext` and :class:`~cryptography.hazmat.primitives.asymmetric.AsymmetricVerificationContext` were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.asymmetric`. * :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAParameters`, :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAParametersWithNumbers`, :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKey`, :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithNumbers`, :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKey` and :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithNumbers` were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.asymmetric.dsa` * :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurve`, :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurveSignatureAlgorithm`, :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKey`, :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithNumbers`, :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKey`, and :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithNumbers` were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.asymmetric.ec`. * :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey`, :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithNumbers`, :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey` and :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithNumbers` were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to :mod:`~cryptography.hazmat.primitives.asymmetric.rsa`. * Updated Windows wheels to be compiled against OpenSSL 1.0.1l. * ``enum34`` is no longer installed on Python 3.4, where it is included in the standard library. * Added a new function to the OpenSSL bindings to support additional functionality in pyOpenSSL.- update to 0.7.1 * backwards-incompatible change: GCM module doesn't truncate tags by default anymore * removed deprecated arguments to MFG1 constructor * ECC support * added PEM and openssh key loading convenience methods * support for many new ciphers and new features of existing ones see CHANGELOG.rst for details - spec cleanup - reworked %check section - added changelog to docspython-cryptographyibs-arm-4 1665760658  !!#$$&'((*+,-./0113446789::<==?@ABCCEFFHIJKLLNOOQRRTUUWXXZ[[]^^`aacdefghhjklmgooqrrtuuwgyy{|}}     2.9.2-150200.13.12.9.2-150200.13.12.9.2-150200.13.12.9.2-150200.13.1     cryptographycryptography-2.9.2-py2.7.egg-infoPKG-INFOSOURCES.txtdependency_links.txtnot-zip-saferequires.txttop_level.txt__about__.py__about__.pyc__about__.pyo__init__.py__init__.pyc__init__.pyoexceptions.pyexceptions.pycexceptions.pyofernet.pyfernet.pycfernet.pyohazmat__init__.py__init__.pyc__init__.pyo_der.py_der.pyc_der.pyo_oid.py_oid.pyc_oid.pyobackends__init__.py__init__.pyc__init__.pyointerfaces.pyinterfaces.pycinterfaces.pyoopenssl__init__.py__init__.pyc__init__.pyoaead.pyaead.pycaead.pyobackend.pybackend.pycbackend.pyociphers.pyciphers.pycciphers.pyocmac.pycmac.pyccmac.pyodecode_asn1.pydecode_asn1.pycdecode_asn1.pyodh.pydh.pycdh.pyodsa.pydsa.pycdsa.pyoec.pyec.pycec.pyoed25519.pyed25519.pyced25519.pyoed448.pyed448.pyced448.pyoencode_asn1.pyencode_asn1.pycencode_asn1.pyohashes.pyhashes.pychashes.pyohmac.pyhmac.pychmac.pyoocsp.pyocsp.pycocsp.pyopoly1305.pypoly1305.pycpoly1305.pyorsa.pyrsa.pycrsa.pyoutils.pyutils.pycutils.pyox25519.pyx25519.pycx25519.pyox448.pyx448.pycx448.pyox509.pyx509.pycx509.pyobindings__init__.py__init__.pyc__init__.pyo_constant_time.so_openssl.so_padding.soopenssl__init__.py__init__.pyc__init__.pyo_conditional.py_conditional.pyc_conditional.pyobinding.pybinding.pycbinding.pyoprimitives__init__.py__init__.pyc__init__.pyoasymmetric__init__.py__init__.pyc__init__.pyodh.pydh.pycdh.pyodsa.pydsa.pycdsa.pyoec.pyec.pycec.pyoed25519.pyed25519.pyced25519.pyoed448.pyed448.pyced448.pyopadding.pypadding.pycpadding.pyorsa.pyrsa.pycrsa.pyoutils.pyutils.pycutils.pyox25519.pyx25519.pycx25519.pyox448.pyx448.pycx448.pyociphers__init__.py__init__.pyc__init__.pyoaead.pyaead.pycaead.pyoalgorithms.pyalgorithms.pycalgorithms.pyobase.pybase.pycbase.pyomodes.pymodes.pycmodes.pyocmac.pycmac.pyccmac.pyoconstant_time.pyconstant_time.pycconstant_time.pyohashes.pyhashes.pychashes.pyohmac.pyhmac.pychmac.pyokdf__init__.py__init__.pyc__init__.pyoconcatkdf.pyconcatkdf.pycconcatkdf.pyohkdf.pyhkdf.pychkdf.pyokbkdf.pykbkdf.pyckbkdf.pyopbkdf2.pypbkdf2.pycpbkdf2.pyoscrypt.pyscrypt.pycscrypt.pyox963kdf.pyx963kdf.pycx963kdf.pyokeywrap.pykeywrap.pyckeywrap.pyopadding.pypadding.pycpadding.pyopoly1305.pypoly1305.pycpoly1305.pyoserialization__init__.py__init__.pyc__init__.pyobase.pybase.pycbase.pyopkcs12.pypkcs12.pycpkcs12.pyossh.pyssh.pycssh.pyotwofactor__init__.py__init__.pyc__init__.pyohotp.pyhotp.pychotp.pyototp.pytotp.pyctotp.pyoutils.pyutils.pycutils.pyoutils.pyutils.pycutils.pyox509__init__.py__init__.pyc__init__.pyobase.pybase.pycbase.pyocertificate_transparency.pycertificate_transparency.pyccertificate_transparency.pyoextensions.pyextensions.pycextensions.pyogeneral_name.pygeneral_name.pycgeneral_name.pyoname.pyname.pycname.pyoocsp.pyocsp.pycocsp.pyooid.pyoid.pycoid.pyopython2-cryptographyAUTHORS.rstCHANGELOG.rstCONTRIBUTING.rstREADME.rstpython2-cryptographyLICENSELICENSE.APACHELICENSE.BSD/usr/lib64/python2.7/site-packages//usr/lib64/python2.7/site-packages/cryptography-2.9.2-py2.7.egg-info//usr/lib64/python2.7/site-packages/cryptography//usr/lib64/python2.7/site-packages/cryptography/hazmat//usr/lib64/python2.7/site-packages/cryptography/hazmat/backends//usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl//usr/lib64/python2.7/site-packages/cryptography/hazmat/bindings//usr/lib64/python2.7/site-packages/cryptography/hazmat/bindings/openssl//usr/lib64/python2.7/site-packages/cryptography/hazmat/primitives//usr/lib64/python2.7/site-packages/cryptography/hazmat/primitives/asymmetric//usr/lib64/python2.7/site-packages/cryptography/hazmat/primitives/ciphers//usr/lib64/python2.7/site-packages/cryptography/hazmat/primitives/kdf//usr/lib64/python2.7/site-packages/cryptography/hazmat/primitives/serialization//usr/lib64/python2.7/site-packages/cryptography/hazmat/primitives/twofactor//usr/lib64/python2.7/site-packages/cryptography/x509//usr/share/doc/packages//usr/share/doc/packages/python2-cryptography//usr/share/licenses//usr/share/licenses/python2-cryptography/-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:26408/SUSE_SLE-15-SP2_Update/36108ee61e5682e7085405a59332f549-python-cryptography.SUSE_SLE-15-SP2_Updatedrpmxz5aarch64-suse-linuxdirectoryASCII textPython script, ASCII text executablepython 2.7 byte-compiledELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=44da3f1b20e5667a36dd261896a367d257d9a2a0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=5f0fc3f2eb9f703990c8a93d7fae31e4da2b4438, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=998425fb6e9310e42c36e605c7fcdb2544a29368, strippedUTF-8 Unicode text  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]dsz{|}~     RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR RRRRR RRR R RRRR RRR RRRRRR RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR~ ެnA"RRfpython2-idna2.1 utf-8505f61a3964da505e5e08b15093cecb351dd67e7bfd8bf22a559c68fb4ee469f?7zXZ !t/l]"k%Ӆ) Htw<,J$LլYFdd'Pҕ%Zj!R D@ŽPsm|t+i LnoM-UPLvZ!dVF8Ju%tt3`iۮ O}xl~~їq=%·#K>bOd݀^J]C#cqsQ~c׋eBzBپ@[PK1[]a g溻ު!uŝFj0%9J 01J V+H?Fe m0 mރ-]?Z* ېcB.STcQ]zZ$1!Bɔ~6chmjH^-`FU?|LLb8ApWL ڋFf `sZz+"<~h !vyW6IpKhrr37*"~TF Hjy>~mՓ~"l! &.hiA >ܼxgu#Č˞ϹL WNQs-C7w]ʲi5zBE ,\-5Ʋ&4&kѫ3UP5+p:e,zȾőhRD>Mv.P 儬쏹|~оc2L9؏H -BѴƖ'YC!` 9wqz|(Us0cA~}L$V$UZ(`躀K5u$ڪ| PC" ,u[qq>fB h )u()#m*o[>SKxc ⾻/81IPgL7-D/|zyq־+5k~TLUɻTb@ Ti.~cROei!M4ԓޛߺe47\/`EйȔUL˖({ {) B}#};< WR|T}v9Z?$# CIV`] _j^om'G+Ku_(I:?S=`" I]Bj ב<-FD= ֑vM)UŅ`C)*c:Ԙ*bu8d҂_/]ߡ7 E(!x$sCqh ,Xip ]ԑ mH'@۞;۝JS Oq"݊ Jߚ[=[D?RgQ"g53m϶[$ߣ鹞D *I8 SeH[mT1ٵ+36FLB5a:ZlZy)t^E9}a,O?钘F]4 %/yRq%}_iM=b %559uMоb2 f [W8!Ɗ,9ȯk\DH<1ļ|a?/&l{uY9X'>Mt,T=wV?xwjoMCvD:n`0>`Qї$) a51ɛюZv%SȀ.dY3-[NsI⳯8%)#PF54wOO{b\9'Bu8?KHv'hj/v2 vK6'|Ɩ24%`=*`#x 8ELWX2'ivEzy(:pʊ58r'FQ)\6݈:n  HVT},=c=ǞFCK-7W8mO-@2QFZ uhe^ T-w I<<&zj沈Cy,IYzը{m 5<q-%-ЉX]qV¡l#<MXcjI*'uNW e`S(oZ_Bj9OEχL+0Oٯc?h `W4QXPKS}gXJ;gC)|lsv .^F؁)\S.L/$^`Ĕ5ȭ;Ƹ7s7W&BEJݺ-52ڎD>}ˏ3ar&g#@|W;&Q҅u1h ^9A$BZRL.8F}ό )cI[YH̓pzorդDVY1Q;jD1gV_tĠ> e{TdoA$[%h|T #L{cHG4|$Acruqp{O4"yEuÕ-U͍mAٜrr!;shLPkh~Ġ2-* hl`*hiu^kzX\+ (UMJ9ณb9\P6}! 0$ˏ(sx^Db o_7~x!l&,%' qG/cڊV "d0v^n{uhջ|sVqf!1%1dѽj-'ˉζL :b:yU^M.Dy7(uXY=F&"=e15גt>LvDf&fEV+ SkV((`t5$Z 2Դ}ՃUQ֫s_73#~HQcŖ5gFzgw)f7 9Upb!e57ه\ Anrw=lZ5{4|.yc{hE65 1.Ӈz|'/qOf^Wgz3Į)I}h,ѓο1!K%9E7Tanvtc4@JW F3h^BSMSS^p~M;=˛u`i#kpD&|SWEV㭥Wjڤ [׾2`wc;sd`D/XJL!;Ēd?ĄuxP r˽G~'Y_H ?Y6_zCLl-4kجk7BY"N6|yH!5g1/)3僑Wl0ug%?V5#1# evzL }It]"h7w-mQ*:6Dz7%бGiHƧ"<{Sջdfݯ2Dd#!mC&G=Kzz.-IgNbWu&\0US_&#{!7"QaX::wtpT"S+O"*n_y]jGm6 ҧ4ɸ=bQ6ևÒ5cG),V?5+Qk= ekP؈H80|sXŋU2꫃X)r4lIrϿw/SCȍ LRk{9Dg29/]vWR/tV;kL(E64+*;:2Rn uź 6nj兇%*wWÊID 1Cܰj Rv*Wd]G$ʱ(9LƋp;|~i{N6_9A)օXbxl TM2-`юJ63g ,XD j8_;M F\=w0Nz%f ؛sEf8fiSW6a 4`¹Hy.pzc2+ - y3)bcW!6ib[ɖA4IŃ ;ѻou)s!*J S6GC1l҇7mWV*J045zz&ȗvX̐NDmh-L[hUybZM_C߰F4oJ $qh$KcJ'rue}A-H?:~o!/EP* ~,4!n-}PǴ=ؗ0T!gG^k*[N ɨE乸>2;e@ǙFecnΧTSf`ma;YDSݮ1DyB"y!%FH9,d açe7 Tv8ڱx$ X2y1SbX^tE?DVʼnbb?rƜʇ9Vt5S&%6 ӑWvBAN픊/2uΆXj-ǰ_@_V.{^L'{[V&g):N7/ZLjݿ~%+~9┿9=qV30>eա8a*-D|Jl˼Eq_ :%W]xs2&N熩g3,Wl#$}$N'dtE+uJ=6|dT~5|bBX ЂZX9_vӃV rK?ڪ.^XX*3y ћ !{ޑJfv$.B܏R9B9Ȅɴ6yY(EΝ4eHfK"V V_6b IR{I6h %BRЯ +yǴcQZ,DyNvV"b2|%v>D]ĭz(J׉LP[^D@ ;A*넨KoC؟ܭ;O)=:ҊYH&.j܈"pn?[7<&!zZUl^+LG>"x{ȵ#5uLJ"4v/q";&{pyWZ$Gf']b?]B,+W$Ś &GVQ@ c]\~La0o-VLe^4GBxjFr{]=Zmܣe( Ve-HBh&E"i/Ԯq!@(͵Gd*yh}ywwC/1eyELG Ik|NaKfo$kuPgO&L(%|uCaM7Jޘ#r|5&B(ɳ0,3,o5:s$ aC@dgeN2~X&ʀ\K6WΟdU6VPiHc(HrK³-B"Aj /gCH݉.fZFoڴH8 fXKW>1Az k\=jCxn,'d]dIJ8j7Qm d/;($ IkHZJ=٘>D^P/㐰,GKRu;څxD@SG\Nad;L;yhO^Tb"tYZ4'R; [e$VXEvOZ[/ݗNԔ`aDt8 jj=DG. _W_q*V̯0Nt%-*MH*km&FHYOqS7=Rnj㒽Usj Α(p2 }{}wl.0GxTR*d~)GD|h1H s\ #gltviJqF۠˴Rmu6;m~=*#gkEuLECI>)gxX"eьbֹ-DXQ)I3@$;Zu;=*EzT@ F`.b`'-:Vǎ}uǰA:_ⲫځPIҟL8԰|iKl}%@PN%U:PP9{ƺ{;]ؕ[n[7/u-9vJX5÷ k=#UaaVQE3FX ޗ~5XQ=m1m[J)<h'K?aK0) u!f)mPGhB 1,2ۅX).Mw K2dV / ^Y:ŅšbwxNGdFR uCˇ_]#t@p*Xt%CBߌ]^>`TJ㷹 <(u&zD7 Sw M§|2m3 .c {a/$yf< $HWIEIfRc}qFz}Fj@XNUEyKn0G0/[BPԖ^݋Ҫ4w!=v5_lߋIg63&ꢜμ-\`B 66u\(:׏_/.3_mOҟ1~Ь2zu d1c{ކ4XEoj.;&0~2mo_R=ᒚٟ}(NԷ.bUz,+[*2շPtIU-~"Zsٔ(]."=nI(S}|X?\nOR"#2/NЉ+#.ֆ~'Gao/gm Ht icAKRMFl"ҋs?s۴%X9D2 VÏ Ou݇D8LS#y!h'ѻV"&p|5\)\<`k:Q,!Zƌ_}s%Q!W</1陇xZY1O1ljoi|{S|i㾉&׍ _BJ -/}6HھgrbB8?NY~9"Ye,AR*-eLCکx8'&пg7RGҨ>"f3 `y\A\{G\Q&0ͼux IDaZ`0D ]]m@c>U2V9ŦO0:/]#ЗB0^u<\`mWLF.ęY0 *iwC(\1&]k[p 1 C3TWu@T;3T V_e O I{$R"R!*19i#V4ZN+] UIhw:txVؙA)A$t 7FWY[sJ*/ AT6~'(X5sm-  #M߿2DX=Q+\o]e輖 yJ+t_MGOyv8u8K%S>3G> OxLwwrl[SwaG5>:Wl-MR_ϒZRg-0c"*"oddZRDH-V4I0'5 L |)=*8<l J A[Z\,ދ HIp1tX4Iz0d>[s<5 /- E%rmك]z g[iƶy36Ma ܚ&hDD \ͩrKUl#=X+ϓF xo2U&oe,dؙ?|/ʰ40yD|-";%_$ha8Uu<3)'O- jfHIj1Cy*5 \D8`>?e+T./IfY ͓Wskp8:*/oa_H"=C~}=L;ϢY ^{+dPUW_`m.DODgܭ8 ФA8ߜ0 `sIs(z4AK؆JwՔDM Z/ӣ3*Ƚd ' L;vclΡEs-A^Jbm|7?!vSǁdQY9œ4aco~ɵsaW~b:-/e{нBdq8ɼD(2 7Qtwi Rk*,}̦_!!jaPlDF(k 3#g 0 l-M=2ʈG/dƥ2&[pP6jP14&'ד|cR!&U)1>}@Z isWȸC"{CVaAs|m%b_L7H U07cǪb|&\RoIuD%RaQNT|Cu{SM~+96K\J ީȘ3؇P1֏v@o˝Cz8m`J.uJ0*$lHE*K1U@wIhalcu80UV뭷\*hFЉ3w)'q-9c DgMJvE)ɬŮdYĦѶn_|2܃<?& [ *:>U0T2Of@č·.sPJ_CpwanwxS ^Ѫr$cShGA"s݀WD Ve~?0kW7pRnŗůzRLk2ZKOg#S*B覚-@C\;>fu a|sQ^.mZUz r}iС%fHu`I|Ml,W}vjYd9&=@;aW_ݬ L{51%u%+p(m?t L6nIIzFKHiMtx, U<'o 2GLhދw^fʚW422㨂bOeS`{X v K{Ëo0 v>\-—!:J|az/cbJ,}..]ۑܮnn zr=M;um M89XΕk RY78`<+:\:$x6,$umo׶Yz)xl􉷅ԄFQJiIm r%z1SQtN[As$F kF2d}Z'ǵ3u` *F8L7* oYOC_ (xc -NXua`z~B^VMvtp"prO\%EkۻS>p s M#M1lk5Y/h׀xA耙`fS,,56tl=C#Fa-,7ժG+>CfF}zm5"o>NFqJ'S{hc}Q5Q7'| :?ROU0UУw yTKz,5u:},cSxC&yz<Ʈ~(:t$M/ H.T>~{`Smh}L.|r0Б}0"b- W.QS}s nljCBꘖ[uyGÈwӂ2b q_e+]^V,A h&^Bbh>P'Dܚ`V %k,zC)bst{Q)Mn"?DBD hQ刂't(v3_.)̫{nK@R~2.ĦZ[7e\~ 'xPk</ V#"V\AOxL (@]5Ǣo?r!yA/& "k#vmSԧZ"L#9(3f /{7S׎! q(;C䮩.2Nl\|e0}*og|;DTsnؕ$4Jgcѫ{`~,hݫIA#Cñ"}tPkԅm{/9V"@T9'g!)O;0ǜ9k )  %+D" +;6u $0GϿz(}s7 ۓ\I׭jj{z/ysƓ 6K'ֱKA : : 4"HW\B/i0 ~/enw`+ v-2]0 99qR} (`(G~b_A͘ \|e5 OupcҜp/VL_fR`B^H߹85[1fgd A1񏨤t׉H.TVR鿘"[*󼒽DW "1A WmV&RHw| vgL}E;ˉB]Ȫ{>3N.7չh Z{875Mz.rLV)g@:?auozfC[ܢUU3P;q(H+"Ww6@\<`Z'b'dO) F5FtN`M@NFU]ՁԀFQ!5=0c{N !׃H@h# o50`t훒ųrO,?gA3Mϭ(xB;j ]DB/4]R ܖْN$Nq :V^ǟtVŁWpmZR15!mޕ̡ͥȦLSS-/wz\%ce{foh .X>GgcpFM{><4h@@F?>Z24]5T?*E6%t}#w`L8DE3.E!B}V]qlj*Ȗh=}NRu&Lxb گw !:|/-(Fσ+6R"77gJWuGM {ZvXz=';b Gq{'1Ρ%M&T#T?ten{VIܼ~ƂDgӉ56­uƮ\:8i2bf$ZW&t'D׾gI%Ӡ/C|aU;˥/ wVrWxl(j?8!E*$Lf;4 _ V<腗c|l3bEwUzI^HW dJ2S*tsKپ IM \*K^̈QV#b s'XrS8ZBR$sFPi=R e(F-2t{%\JGP/6+?xziIf&>h=@gp] D({82HV_U[dVh72ů3xrENėk\Kd1KBXZp^'G|bi̖B-ɻHP:ZA'ޱ6=HdT5hhE9@jhcf&]?h5E]iE}쭈sjU kpU!S/W >? 5v YS-`Hݰn,SԎ[[qsNw9%SꁨO4[0;EIAAfn-OXa$j?!B.+^Px_Wfw{P =.Be[IfZc.BDݽG7[Cé&Ga=j(e08صb{dgD**%<(OBz`"@bne&Js`R9Ag~gk4VŝqPD3v iI=0ڐTYI?X$$>{GWU}+];%$,-#YrOMo"GxO]KA9;L!]@ $Du"y'"x: ؗ ~1: p*v/}ٕO8:J՘qGw WPzKJ] )Ex_̞G5_:\&C?t>}` N"Ԛ5yw.gq%gĶZapP9zyK Wv#3_uڼz|hgy =R>x+o.c%>VBz@uP>kAEbs+ LqIzW4/w wN`Eɖwq/͂ccaɈ2_9/YzϕKeWGp9%W ֪8zQAK8];[!>O>(.6KvSMe_73#Yqi9Gbs1C@,HO5A7'7zMn[b޿D<xZ(?=Cl3Mr D'Me'`W[Oj Q4tnf*y[[XA9/2އ J92Uy[c*ʎUzBaG`m=a\0"I=#3쌋HWx~>RG- fPw%湸G#ˬOLuȆ*)10ncd ҋv?Q;=+ daFpl]i7m2`x& CY dz2OTzZo&/ TOIpg4t|su'(M-Pƃځ:!ÔSYzj˘ ( T6 $NE_517e24J$~WY\@,&J)l;JEA:'~q!a q |AwiEt,]SnYxVV8iE]w)hdy&8헇X.W&|z`[t =-yUMlq^38'_ܹzNTzvCYC`5s"Nڭwpl?T{?~   ZeuwCE! en˸ nSsуd~V+4'Őv/ȒS7[tߊosDd+dCׁhZ(Z}T)Y}pLHvޤ7w42Hm?"`>sO8 v65'dK2tR~,@&W-M>r〉w[*dILu]yʩx%c_W",ΤG5ʸso`i 8C#3> \1e3`DB`z Sr/sìDEr2K$* 0>k9,TC[}v1ȁp~K^wA~P:]C̽%N:(r~j {Db) +87Al9oH5geu !@jN~C!=r= 2;4D<Mld5QrΧ}7!͂_hz(GΠ ?YsqrI81:jV8DɟESOK FF4xFotSDT8(Վm!/@jGRR>|6K#QAjH9BL~H.L+'l()sUy V&ùN?@)C\K6t8DkL% Xy6@ۨIIvxv̮ze޸Tve[;)7XkŸ߭6մ>klDV5XsHȐE|exx .F`IA~j=!UKcVO_.n*f;Pl yHEpmOI=Xf5a&̀Oj '(`15O) $9+ilcGVCN\V%UzAX&cwO "2K-Rd5Ƃc6׷.R/u3su+%_505J`/N,.jS#,Ģ~32b*BGzUj5,&Xo0S:)Ҟ|:ə6jkU켟ԟ.nh5BhutJx'(ogRf" T N'^"7X!X3QY%3O%{Ы;: Rq)^Oڼ1'=Ӄm#`%1W:=X2)Li!:11wEy:SB픽[e1FtPAP ]SE5R- y@F:[,qhN2\N7^<2kD)[5?Xb%d>Q1S=r0NNÆ & <ţRЁ &h/]02% o})nsaɘ滦 L:F>`#V!=p3naDݚѩȉloC*nN0qH@E8DqAcj:V0j$8"jQZxX NfܧJr*Y*YK` &mWC"M3K{#ɬt*xaCqJO00 (w1rurA?q~ mQM!ՈBϭTk)HmV?C߽%ŲIF[(lMBm3y p"1Oj9/2oW+'2 Sz*4,H1p#cCTY$M&Pv9An@;bXYr\-\HL8ܓ?!g'WHOCj6*[.9 +1F-@ݕ$؍~<2s ] ,?㺾d(;Rnቧ'&OV~.̹F%PvkN\hp ]s]dD3'猘86FJҾVjdu0gÐ:~'4駷Ys~VtKOb85 eA/Ӳ5vJk@ \D/$ wτp ?]# Bo(Hh#Ћ_ w?HS y۶M#[c<,XjLӃGYijHmScĕAQC2ReW>z}K~fky3模O^."Ə͵p*Vyxlܩ) 9>AITs?/Ch8,bhׇǿ;A~o6Ծ D,RhS8d7jr;<9~fW40"M 碢nC_o n8d۹w,< / *o6m1-c!A8[ݞ5>YNN|é,^|29O׎jy$q5R j,X |m2뜠G Ẁ:%NMY!tG0qRG>cOiL[5jt}mY@ $ +9u/ǗRJܶgp\#s[`;4>Nf/]MZ %1Gҩ!Z*kss,S7n_ΗO|/2ӅSSk%^%lޒ*27~1m* w"ҹ6:0'my7Ub8΁ k)wz5"G4 bgպ{H| e1Ih(+a󮟫 3Y~c&Y/=US ykqMq\ހSY'5Zp aK t z2e-eb)H-%?Z>t 2 IsdH}#ԧJ4IlQG0+if]:k}q羼 eIf{]n ,ϑFtM쟪ȝ/Ulx}(i7Z5V4'83 \$9D ĩcF5s*[ԉ`%ڷvaLWN62${=f/EHMwR^^-x4k-kbAX +N&yUV=d<{rA=RSA9B|ANۇO6"k7>KF'ٛv!so/T@@&|VjKOʕMӒ~V eBfm"2)"aќe{01h#ĺ8P C?khh;J24W_I2Aܐ ,?BϙQ a!ZG9İXPV> wSpچcwDqÕGHPp Su0O4wxWF϶7}ۮ;@Exy5iR]5f7~SJh$m(m_Fcbk΍rՌ8wqb|>jf ̿gr%Pu̪˟ƥ^zpEs8CHortJkL%CVyfܣBԪ#0yXskؙ0[FWހʭ_u7HMsKm۩|h]tڿPDїK$oKb=G~īEQH47‚gpmJ$WGHP}Բ-K>zmNyyWq>6yɉerɤ';:SڠlM񋽈m'@}`z#"6JQ66:6~f0^P)p~&ea6)ҕ }Eh\bTR'>eD:X<;[lU5ON!z`ɓD(DKX.Bl\aq 5 `8K J[D%j$qս̌GA[) FNHXdܩu˝wf)}~-$KEM֖Vin++~a}*yׁJ`xn_/=Ӧ}{2ZߏuMvBY\Lձ0hxaՏRp|a!r; }1Sәl]P -qɩїb] >BKdžTuK@p%EasMlٹqgc#鑐 Ϲ Zr/쬕) f9bo)j׆D Fm)ΐ"iLEʫ,.Ci\*B.Sӏn+ZI,7Tysk*C*"ЅM8G 9t[#^'YeqȢqv41i1EXy{Ig<npD}!Eg=m&p/R/?iwoh(Zp?E3o)zbAuti${b5dk.4;JnU %_NMj*\Si9[dvE lU.#tC/o7+NuKBT/fɢPOyxv#Wv䔷mP'(?"8T>B1n7՝Slj;{6G){cܛ9 }aDNy\_?Dҟ''扱T^k v# a:EHˮ?jKf6@֓K s=MM5U,@9 2`!HzFZjsѦG.ItW jof>',@؍*Uiu G[/׎0@h:o0ҺZO=A]J=Ĕ.jg!i1O}bݱ37փjش*⼧EnA>wC..Ã0\8~<[; $VaZb^ KSY}Lcn|f5"ilhΘ# 1Ӝy~ԩ'ef1s ˗lH)K" EɖbTQS#bnʄ+PLRt|c1SG1mFZֶ)ߞhbk^Rnv5lų QW9xہiĜvlcnƳꄸ?2:pɿgqNDMطD%i'P<3\>@PP]Ou*dlxT¡m&tujsl1")35mQnF+zZ+՜Y5`^;3+2"\:JSH{*]f42q>&l@HiQ7LCeMIiLZ9>>EP!,IZSk2ZtQ(ԋ"SdNA!ߦ+#`6/`N-3 'ŌړtҔLmϧJ֒;@DQw33fkJ%܆Kc@I?ʙ8xY q͗`(QJQ4*ߏ@xuȪw`׫yzA$tk#)SՕXh^3Y`sOuNJ71`y_uk\IVOQ)]~V}9[w)7e)\F.58)c1zf{!cM} ]t,'DShќ+X̿׈M!VnbPVHk>A>{/{L^$vGv^ rRx <6v [N 2b`%_\oGs4fV1DCؿf[]=8_F-P$&%iP]!OP \?c=+%j!n1z?j^cۖuΕG) oFhl\ܙqg%_snS@@^B:!-[Lj|n+Lk2T-)pgLĆh|"VT$,OkC/[ɧE\GSFCSAOLHB;ągmhweș Q9nx$&y][1cL4` [(/ c}Kb-:YuRưt3pg v,lm$h옹;_~ Fyy~mZY rLۙV:]N8'H籞ӮS%zo(_Af;_!PW6-&})e'uH5o@mu)$l88kwžhjUs= Y;ð>A5(lt8u O+!q, "JM]Zƶ^u@4_E+{L[Ppuq`)1hŦ@VMe5}(eYJ4_(٫S~@ 1y3E\^v~m!.E Hvb7f<sN甎M@ޡ^˔3nu7ԛP}ee7#|[ ~{[x%l)ٜDהUrTKܑP \ ;&ZVX˯$pE_ gQH/X-Q:a]ՁMB]!S?68C$ 4Xj߾x z׷qmmBVQ neu#3oSK7 mO%H$ܜ敨ۆHrzHw1VlI~o`lQf%< X 2NJ^P|'y tTfhm@ U ]!:W`3jA `_ዓWؘ`2b*E#ٚۑ<w´5LP׍EfJ#T$[{rtqh p_S5`e g33aْLa?;!oOlc 3-Z$boQKS"2}T 8iΰݟҭYҫYQwjt޸sօ,sfٶJ_-GzN2=N>Wh]#T%J?P3 Z"9 ߏNt  9&Nk+_ [w}"w/y9Dyk߈j}7d"v -604~9)h U3F׀#~"зH+%P hD7p>G J'ptL< j&5z`@|]: +HUyq'*_4F W켜ЫہI],(^gxNFeur'cȐ(Wl1e6 YvZSB8b[}Ѷ\F_W t|9K*OGpC[[K+փ ukĚd>2,8J oq(CVNNnVo^e!^U;Ƃٲ Mam"0d@ψQ+.Ѳ?XفQ%"0iEgas H{#6cE!GYͫd]|f{BSܫB卧Ct:&N=FT >JB>eߔ- =OvDE0YNbhӽՇѕEix:4=|)$'|77qJE>eq@߬&,bKwpk='3{c֮k)"Lrׁ>͖"Tլʘ}Rf:([Z&*F2 ̴6 ` !1wki#8⸆^\196`GS/&}m6Mv]+;l*}" p"O:܈Ri4!QiEؑ?M%I߱mS5ݺAXތ߆85hLyH77fzxpO َ/Dic3Z ! دuKBz&@Szz9\3Z9y=rWE@@TWmvqZ/OHw\şp`+t:"O"fSPɘ,hgf=CtqQ,f^T&{j'B- !ʞVs- Dk{ s'due!%&P_1r]TƩ&h GtߖT,OgK=1b?8V sI5 U/\Q^,L&'v\zq7sϕ/'A]XXzK"&NJH$a~iXnFaC||D(V&X=z`\ށ!*K MtjgL-Ez^i~jC+  q3_&OV15=;&:Ir@Dv> 58UPiw0R|=x'4Qr!-D h-<LfhF6 G\ڡ7}iwb6=4O@Gbl]!T>wy2 Scfv\ (L}w.fw2 Ѡ>_]1ą-[s#!^}s1wp)<^TkܐZN*vtwn 2S4cMؕm5 ױ>F_,1S{S mMH5ČzAkv8d4#ޔ΍3g(ҤxYATߋ&¬qw~L̖?)uÜ$_YہoZ.%ŴKcԖz' @X0Db,g% vҢQƖUh$|@yUHvafP9( %,B} 2r5FD^m8~ unbc(<[Z#)kv/U;icn"G[(4 [HBlkG߹tݑ z[| iM:=jE9WTSaEWwxeR*wRnO?#H9|A#-얉Gh׳0y5lW!}JKcF^5рm -~.;|n̮ )Z~L V{hf+g,D\&`)^ZAKL:(g8?>kץS&q5i[4(4Ѷ8SZ.yCU7'!T"+$=ӳ8moZh|ha&Գ펷Jc==5pidCEam̞yDUB)S4d+9]T8L&~a' x iXNh^#;ehZA=$3׋F@-+Kh 9wb{P@H>+I ]N֏fi򜎖!ѶGȸ _l̓F7^abjo au4G Rv`Nr7^tD X7o6h >VUI^kOh`4(uWO;U,q5EzsG ゚26Ed)|WWSY(-s¢+EFQl$q\uMe \{:*%[ :&m`h%%VM9_I1Ը\Xb 6a9Zduޗݹ E5]!W]ԾP] \zZ|as_· !pb 7Bu(>DʹO&jjB4nkWLVF:}?0hf2g /`y[)Lv)h=D`T;ɸ+l1k/yA( %x7/HZk?Y9`g}P oB3-zMBp*KM-E8.i2:QJz@*žkcokN |E]fAQ] ek曉+L:{Md-Ӏ ^Dd]j:hԺ5/, &U6&)ՎiMa#̶o\C,QHQEY?$|JmGڟH°R#1]8UpFF؟l&ͽ9nr;\kWry qu G5ya9J>)MrPdZDE_y9P"e,F ] I}G_ QLᷥ7HRoNj`srt:iLu`?1\zp\ȉL;N'#VTeht kI˦LxQ-Qǭ]\A0u=F!tzݑˇK"H. d.}^t5%;8&AVNü%@Bw>ٶ;ax(/?uyg 1FՃnvfFrIMQ(7pH^̔gal~ o)^/pf=҉AU5_]k(,˧P͚Aտ(e8@OL,NG/z V#L,-s y&/WϔrwP[L (,vFQ%{Oo^Sti|3O& 5\,‘a{i'~ɢj1Y\p. TKD|N_cpv=vh,>q=#ֱ nLgWYթ0xHc,S;u, Kp{<O!~ˎA~נ5!cU }Jasq kHp ` j3C>vY  (bT<‰ͨfGce al9al-k (d9)OVfs lprV}ph|.P. 6Pְ5\[fͬc vn‘wo V!c qb/1IP}*~L@id~B[w`=om$|p%TA:H e#$ܤK,9H ]K_E-A]]7b5qh fsp-vHQ$PQR/"^r2P3C'ϯl `Nj)CԥRYʤ NHT0*95&kuE!*%=6ԗ-+wudڛKw1A%}* \BB^P#'|Y7W췻w*3{=i#`}Bya3{@zLam?k}0%гL^3O/f5 X1 T0EǏ T|X )?͓'s̖Uj:&Ă_S]-Y~XDJo^Chww*G1`7D8Z ^Ÿ(Eo Ǻt?#qlzY_h`^0Mls[AAa{ ߏ]=E35X༝\98iv?Aa)`Be hb`Ntȩ-?K"ԡ1HEl,LGS7ı-ok, U m.ߙP`1ziq"Ws2szAE/I`O͵xJh`{j /y?lĒ X(-k.1C$\O):^Շ(snm&{$1O Za~E iԠQxNåmWXܻ۱'Jɑ4W\ㅚ=vP$d!%]zOցل<ߋո6*؋;:zJ;Kr63"7mwFXR`첋L$3 vfހsK "gh]hnuFTݣ'MK퓾BuN =t3X٫Һh9=#@2vn (k*5;FERjH[3R==ߌȉW.ej  C$mkX&^. m1/Km넙J`UvG**hAJ' *'nS=un+%P \1rEmnmx6E9,._KD+Ds>  xT}*ldz{ @ 5h݈4% ^ՌgeW_x&fQbV-ׂ1F:}1NK&Nz_cC/AjDwh=Mpwܹ0Q # - %}|$ڬZr] i:oh)E]wc|Y_NMdC v_;ި7@o~<} b5oqJT<7ɶ ] 4X2a4s͓igpM\XqO/_AM z8H <ԕY"Ӿ'*: "Ce|i?/ 1ǰ7׬F%-Bm+S4vc!(sU_:ǰs:i^6}WĠmۖYWskC\lY\C]>C O H4s%iOcf$j3"`b`7O~ >\~Å\@ѡ7 k]az. ch@'uxv K`D$$hH&=}34QAp[Q2+ڸdD* 蓳UY;Z h1Q(~H'|(8=xr ߍg20R$nlB<ֱYq1ʪ rL(d X2]%@M ȣ@ȷN Zh˜ae\{K`>*o P}y $|#V.Ùi#r_paIg3?Z9[6K,^J`?HP/W-F 0偤5ꟓ}o!ǎNڷdb3u̟V: .;YY'4}DiگE?RE!U` l\.֪I2h.v1phT)]ch=;}rA#,eXf6WXby@Q ƃe^Tli詄Ew.ur~88 ^*gҺf\e i"Ia܈vа9l5i&isRBV`wDa/nu!+IF3+Nf4v37X 4g3Bf,7ןP[9(8zۤD8N iq EU%P!Lm)dw0Σƾu9fxI<>ʉAeS+<ɼNyez@Į * *֬ԦBY!1i?><>$_oT=Hj6aTa.{Z{f?x ~zx)Y4hTthK#=Da5A@1 tΤ"bߔ7F>]qR Lb7 WuzG[Ԍ&2IJS -bBwsĖĽPgfKXsذ飂׳BY.L!nJfhM{uuZ sΌʸx5f44Us.4r%ԕG;';gl (iq;ae5@Íػ̿+4\6=}c `54'8Zx?`fG4n{ }LKQ|aAt3:Ce02P VӆB4El>jQ/9,k: !0w,_ ?65m](-ґy$BB,w$ɇ5 ÎXvC*ewkeL K (tvsmMM޿'WR?òh?넸榬2 01662RYlV)jWpdX;@bkgklFTĔD: VZ~ d"wR x!m(vv!tça~r(}K]NOmi"ۮ3Mxʤ/Hy#I Y}CcXl&e3iiپܿc_mAQM d}%|GHhG! sAzo&uԇ^Kc17/v-7Pbz6U~C6KZ;/-Ѝ,̺T~!s|ѽk䟛i'mp7 w] 4FJ2ob)#gDۉ2"I9+}+(&,'̬i۠8b ^bA|QT70_[NAwKoq -ھ2Ql{>A3+ycn&zo2JTa\o%sIBP,4e`cL~s%quJlTsxǶ10?9nw/Ӵ4!8\+9L_ZAN3!Cl_{]eyCʨwozyVSnXݎ-F IfTC5y&NNcHT!޹HZ!S9ź#Koy,AF?Ѣ#N8Bڪa:/y"͕K}̰8$Mu޽&sk­~/uɧI[`WHΡ.1R/|9bݿL "kⷧ`(=ᆘTm6e*{ݴJKu4o0f2k/a (Ω(C]Xߨsv^ٞYmON pf'"G(4W wުlo\VZ&1ՒRSꟽ]vpN]Fա)ev -;#B)&ɺ8nLFm+&5$4 f, ij R壁jQ,д1 ]>S>DHgߑ>ƙZpP.( (Ķdlf'lNl y39O/eryLoY.' i\dCèCeU#:+jٺPŪІ#_ϕ@:6\I!.E*9o~9,E9TN+MPvk7T9ON>YGn^ PJ:<=8/,tp j2M]L J$, '0մ dB#(}0 ]rK!@Ĥ6h:^2[0M_y\Nŋ,:jMMre^# OàLJiY=ԓ:g;+rJDfp٬~GjXqjBˊ9]_'~)v|J!Vag| Va;a9 .` Bj@<ųޡE\§iL|Ah֊ <AH r"h`~̭O[7 }ivF lj'%1lq0ElH~b ]=V<(ko>(C",|O?k*XLĵr>e]V=x5#b [;2FʴZHi]`6y"(x/`\zQ &"4aAuNeBZaMd pꩦw/ F>&ٚʶ(PN#a_Kvd mUԉ-p OHR]7?}p /ԓ0qs e+O?M0^Y i5z9m]P;3 ސz[JE'v6\o20{7ҵ̝_\6>hBKbnTa'c*DTxeJ', {CXk*߲g ͌Un(,Ec1x&e0~!bk"`'<uD^Gхl p/+u ̎dfS xHf\wf6L#x ,8,: ~|OԶADW.ގŝ=X+=8]$Q'@$כEEa8\uF"wqAe119x?Յ L83ۤgbc#fyq1o")Ru#; yQqqDasUv+I*̺HkbY3kM;pl#JOP&)MpP|X.̰@QӁ]P1/^Kl@A9xԐ$}^ht i+ڿ&^:{V y>Q9cCk 0]p{_ūxvM!{]U(uYX 뿯[OI6oODO!2 쩁q-OMQ1ݢ{9J+Nwń(8y#ܹ_8/pW [w5dnT꣜iY(=_͊/y5ʞCNp i;īƊ2 :}201\v" \b5z}X-̆:PsIK.Q>GDo27_^QQ?jcZgܶfxr^I1AW݌ej"Q)r!1 %Űok9%@S+m"m*:~PhtEK j!_;^'R3~>Yqɡ/+HߏZ1;,Y#沌 -gہޮDBA$ ц&8 Z~@4O$WULH {ffr<{<$tzs|XA7G򁭒:9) "ȃ?{/(Zc}A!2'_qrLHcQ`诗ruckr+'O)?K+@h8|8QquCgh,þV*Pn-1CݫFj0~琠yI|5Jrػb'ŏ,a jbSkSZKm2h'd|15Ei /;5(6I>Ҕ,1e5xJ-fq_zp`x ܹj0؍CvwG2;Cfya1!uĖZl56pL`z%A D-r5˯0]}{#_ۀY/3<(i(FkdHג 7 (_Mr2Y18R`X0v3{Vg \9ssh`xnvc5`-a -ֺs+pu%?, POf1w@]=f`5wen,5f*=9XdmxPfh6ϔ8PfT-UbbID`.cv7ŧƉ)q>ObFn˶n.]W eIRZIӚ΄P@%ݐ-02*%> >v|GnI@ \9ȡ"TOY?Kݙh$XI*Z3 <$^ǂ.¼> ؔΉM?iIg(o?lf{%3% l`5].Һ嬁sǛI `7?/jmE߾k&6 $zL.@i6FmҥEq/ۍXĴvK (?<C֚$XhRS\&`)J? gjI006eN?fN TSW͆O3b|!c"? :CP&]5J͆ԺnЗ۬WաI:[mG$7Z\tE5oÿbzamzRG#PܢB{Wwm4\&q=0mLݻ_叇OX1uŒ`!t w*^ppfe<Ϭ:!i>ոc|CstTt*[8DJ9j K#A Q66k!"޽Vܛ9@}g%,ߍjKǹf5}_IKZ٣icPn캥~/1醚boïߑUX[%wᰲ>2 ^nZosN#ũ 7}Z!&M٢[vEG:K_]wBp=Z=ʯZJOv{Y0&̳Ag7h;R "r<"TӬےֽ䤊)H;"/#6FJ%hV{TŮ^TbQ޴njPF]d3مЗ4 c)J`$+HV1c SMf‰?YEjS 6EH=h5Na0%Yv?N;ntzPsGCv*8R J\áe %7aڃ/pU?,aJK`{3Hlc+מ..R5L`GIUE0*q.2kŬU>[-t1؋̅YK%ZaN*?n?.|PT9ES+s.iSl[aV€¸&OVIBgOjHhg;22f'Ի~ SC&m#~F3bzE}}[5 \[GvJJ0φ?ɜxYA=|E>i|f@A0 NJJvdAZrZŽm;"!u Lň1d Z'A w]YXH CA[p\I7{4yt(8۩DX6T=֙gWHsA򅉣 WwLhfxk: o2sZI`NW]w-0ac%A1i:^;?^ D!*t"Bmj FP&CpY);nG "T'>>1jgc#UeAW&}QUVy#(w U/#계TnqqmQOhfA@{Ec|1inī49T²4ZY50t$4 rE8~@@jsS|R:q֕韫16ڃSyY VBRމn]4]6nsUe{@>("pijzxH7[\aR!,|[$?xby)vnO|1=̓KAunyTuΑ۹[ͩ i0f7L b vzuoln_!DlV P*OlkZP`F~O I"gnsVbT.!1|Ybp-ll]Iq]3 [燛 `zd "ǰtyNyhv>!#K&+U Vyu-"W}KlGM!A&G`Sܙ1q9޺R[uS/ռsk_)4܆bP+%? ] P%%VP vrYj骡17Ǹ'UH |Iq3^i^$uzc%J[yAb)A/uo&*F?Rx8l*P:KVXݞͩ e]wE. <۹lqxD:&5э7 13Nz!RV{4i?~aDM~ٽHeRyU+'ԲHiH3Y{1PUkӦ'-q^Xk*%@Uvb/+lj,㚄 J^ 0wSFh"s|@<Jzy8ȩf)"Rl'sh/ׅnpwZƉi|ᣬop0cVRq-na xiGm@6'%.B{x'x_B9Ɩ{-ԩeGw,\.EܣKebguTFEBڅXw Ű u ZsDyXZB^v9SbUn @N)29v$LN ړPۙ&&,%>GH5OR+xn,jiv%)8'F\H lZ􃫂/4ƂT#kDX^>( 6qMOff8*|xb|P_-#] !,pݴiD;<,C86|}`2>ra;7RJ#!"׮N&,P2%[)_4,xeA&x?#ِu:]'H(Tm*@]2]E:0'!%1>xɩ}dQUF`_`o<F!g/<# ]%S%o2IPAv(GCS9ߩ81lX#11`)ҫ&R g,7!>9A\ɶ~m(b" ]8JF)i_`s^A`[[D7x>o,FzeKߘ x*'FYJB!qb7vuR 'OVͩUvjQ=,rU+9Q" #ytVWBqDc{+]O$`]pKSd~?XefR`e}`^c |JҮ%Qc[YED Nk,׹j 4g$ڷJ ;З5׫ "V]$b*SR#+$!B~ERf9nyrUO !9ihe66Q ]FYڕpUcO]47ͭ [Rt7dOmRlhΖ/ɽ:!!r+1ֲo2jwtŰܮ)Nu 3˂y|@@?{k]a-H]iR@wOOc* w@2E^dfƣ)&U~ʢfN ;uTsF.u<076-9$p觐B\Yz6Ls;-Y-{LO.5ٙh9@u1e YZ