python3-paramiko-3.4.0-150400.9.3.3<>,R0f(p9|9}:$|!q<87Vx]݋|=c}{7mG,*ArLg~*## /spjǰ/SyQtΨ6i|v';FoY^z fv+JWyIS*_!z84\,qGoq/^zr߯8+h"\w$:Aڌ?|d & <PT`d} T     - .p03669(9< 9` : (:R8:\+9;+:>$+F5GLHIXY\]^͙bcτdeflu,v҄wxlyz(06xCpython3-paramiko3.4.0150400.9.3.3SSH2 protocol libraryThis is a library for making SSH2 connections (client or server). Emphasis is on using SSH2 as an alternative to SSL for making secure connections between python scripts. All major ciphers and hash methods are supported. SFTP client and server mode are both supported too.f(h01-ch2dSUSE Linux Enterprise 15SUSE LLC LGPL-2.1-or-laterhttps://www.suse.com/Unspecifiedhttps://www.paramiko.org/linuxnoarchYT ^$$<<bb(7(7 EE*iee1rrDD%4%46868..66CC__CC%%88gghh m m {{xxGG44..2B2BXXmOmO"2"2 2 2P+>,9'Lj 8-!Jw3T(Pl)_$V>(zvG BU<L$1Fp 5%N~Q 8gDAA큤A큤A큤A큤fffffffefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffedBe}e}e}dBdBdBe}dBdBe}e}e}e}dBe}dBdBdBdBdBdBd }9dBedBe}dBdBe}e}dBd }9e}e}dBd }9d }9edBedBdBdBf'e}f'ad88343cc87110f2971d34fd927bf53d307f332181e84b3586b2ad847e85c6dadf75d16d340bd5f12a3b8ee3d90502594cdc8bbec55a41a933690725fee089bb9001ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546be67179ec01d101fd44ce566baf641ed59cde9869306e17ecb0a11a8952f676b447d9fe78273fd64c750e78a317b1a59a6f87ebb93d8d4cf9ae6d98a0f2fc9f9edf0807e520eaf3d3066e22087425a0fb0e3c795bbb9603fc6d43df482e09b6e77d6126402a76548266c4ccb0ef422490d324b57e0d156fdb1c2307ac737873df7d6126402a76548266c4ccb0ef422490d324b57e0d156fdb1c2307ac737873df38378f515371c6f347332fa3407e8726976c6237cce16e7481925a6de6c3ceaf38378f515371c6f347332fa3407e8726976c6237cce16e7481925a6de6c3ceafe231cf3bd032dcd861dacab26144742ff36b8920bcbdc0a454b599e874d6c2b8430003c0b1e9c3d0b0f804606ff5560b25c39f55d2ce856e0995ffc042f40de733e19ec2975ef063e0fd019fb36369c786fc865b1f6fe80d2b760441f703eaed33e19ec2975ef063e0fd019fb36369c786fc865b1f6fe80d2b760441f703eaed79ddbc80241dbd7f873f10e9d26f4ff5c62dd62df0bcc7b6dcfd21c8671de21a79ddbc80241dbd7f873f10e9d26f4ff5c62dd62df0bcc7b6dcfd21c8671de21ac17b1d062630c7387a06a7c7aa251e9462bee1f5bf67c6203505bfad042351e5c17b1d062630c7387a06a7c7aa251e9462bee1f5bf67c6203505bfad042351e57cecf639e467637f83fece92ff5c180c0b9849f650f7dc023bc568e6cf09825b7cecf639e467637f83fece92ff5c180c0b9849f650f7dc023bc568e6cf09825b4d505afcbd8b549fb4cbf8391a76f3e9f3a65dfb0014ed244fa3b7333db1408a4d505afcbd8b549fb4cbf8391a76f3e9f3a65dfb0014ed244fa3b7333db1408aa63c8760acc58403f1eee2d1c509caf24dc28e1f1d3d5c583c2b778d27974894cbc45d1355bb9d5dc10c987789d83a661cc2b4e50d8913d6c841c031c0317535c3cda16aeb6a1fd5daa110dbdd0a18a45ae8ea63c50b94f6473f80606ec09cbec3cda16aeb6a1fd5daa110dbdd0a18a45ae8ea63c50b94f6473f80606ec09cbe74a121e952cdad9ec36d3798c46b72a9f1c7eb533c362c8320e59563362398ece94260471d11a5a9a5255250bb6c108829a0a215a0e3c849943bb8fdfffcf981ad606a5ee231b11727d025c24255f9975de7f404cda02bb214a50a1dd2b11226ad606a5ee231b11727d025c24255f9975de7f404cda02bb214a50a1dd2b112260a144e18302c17e09cb4632a3d841d0a5e26e834875dbe130c1a68913434b7fb0a144e18302c17e09cb4632a3d841d0a5e26e834875dbe130c1a68913434b7fb43dae8217a35feb49739b4316193297d05e070fc941ac1f189b22fc85d62698643dae8217a35feb49739b4316193297d05e070fc941ac1f189b22fc85d626986f92ade49a2d7c64a666972c90710b856ff8888e21a3f2b90f5334b258f3e03cef92ade49a2d7c64a666972c90710b856ff8888e21a3f2b90f5334b258f3e03ce322bd0180d8d1ec201d14e1a8828bfb4f76e1a3109c630b71ac0df817b991c24a0015d6799a7ef71511ba03476de42892c6d5462a905cc13e4340ae9ab7550307e2ce03ff5e17f33d7e96ae03fcaea209a1f1e238c8442873c9066ff07e0eccc7e2ce03ff5e17f33d7e96ae03fcaea209a1f1e238c8442873c9066ff07e0ecccf45e37e4e0f9e58f068d68640e3ee5e1656f3b718cc7c63cb026e9c2cb4b722f6327c843ddc759cb7dab6e5cf00a4f45bf282ec940ed91c69fbb303d2cea6faa1700db6552c9faf439b7c22933d55e46b32782bd9d522fc5b895125c429000941700db6552c9faf439b7c22933d55e46b32782bd9d522fc5b895125c429000941ca8b3a398e638e3098faf67806027a3ebe72ad83b0b52e6beea7f325b0ce1531ca8b3a398e638e3098faf67806027a3ebe72ad83b0b52e6beea7f325b0ce153e7055e184dc09488b80e190decd403f77baa251231370997fa2ad92076f87324e7055e184dc09488b80e190decd403f77baa251231370997fa2ad92076f87324e7ff8768c61bad8efbbaac90e25245792c0740f2222f5c256200d73886178376e7ff8768c61bad8efbbaac90e25245792c0740f2222f5c256200d73886178376df4291a6cdca23fed45bff320cbd18cd97855e797b6330f80df395be276fdb6cdf4291a6cdca23fed45bff320cbd18cd97855e797b6330f80df395be276fdb6ce085ea14c7ac0edf41d14e0a9eb7661c7089cf7bf529ea6da86b3d88bee2aecde085ea14c7ac0edf41d14e0a9eb7661c7089cf7bf529ea6da86b3d88bee2aecd91f0237ed5340f9c34c33a1bd2c55fd7fc19b323d626dbfc7d591213d05ecadb91f0237ed5340f9c34c33a1bd2c55fd7fc19b323d626dbfc7d591213d05ecadbffd99e6fb70011791feafa669db50f2dc919f32dbc54125fdc391c74424288c1ffd99e6fb70011791feafa669db50f2dc919f32dbc54125fdc391c74424288c14ecc9cf6ae9cfb1cfa605bb67bf439b26ed28bf599bff3a5eefc65181dbaffc24ecc9cf6ae9cfb1cfa605bb67bf439b26ed28bf599bff3a5eefc65181dbaffc262d5acef80dc474dd5e8aea950b84f49f60df5d3add95f0d036589713a324e9c62d5acef80dc474dd5e8aea950b84f49f60df5d3add95f0d036589713a324e9c420ebf47f98f2e101ea30dd119675ca63abcb19d9d510320a5676078dcc11e32420ebf47f98f2e101ea30dd119675ca63abcb19d9d510320a5676078dcc11e32da6c9a5ace6c659b9f1846e6fdcf69bd0dcc05766e9881d8a6c439ac06c75abeda6c9a5ace6c659b9f1846e6fdcf69bd0dcc05766e9881d8a6c439ac06c75abe10b0cd67127be85e91b3d5115243abb2240cbaac175bb4781ce66cfde721a6d110b0cd67127be85e91b3d5115243abb2240cbaac175bb4781ce66cfde721a6d1e3995e39d913ced3b40be734cd04adc91491a572b5497d7c6e35cde9932b9cc1baad78aebecf0652d97592ea29f25e7dfe3ce2f97732846f5bc8c8db5b19ccd35f13c733e1ec0b08aa9c55d68b2dd6058457d17fb486b4452ac6dcca746d37a75f13c733e1ec0b08aa9c55d68b2dd6058457d17fb486b4452ac6dcca746d37a79d259afd57fdbf1b83cfc0adb1d8657cd83f2aa20fe692b5a1f9dde1b0fbb9b89d259afd57fdbf1b83cfc0adb1d8657cd83f2aa20fe692b5a1f9dde1b0fbb9b8bcc393c4e86f55c879946253be4e4db45756df11ca4bf14f5999904147defc11bcc393c4e86f55c879946253be4e4db45756df11ca4bf14f5999904147defc11053b30db664c253cb012a82e4a8b0148d40c4097ba12bd8a692402ff89b8ad0a053b30db664c253cb012a82e4a8b0148d40c4097ba12bd8a692402ff89b8ad0ae33a86bbacd8108ff8aae54a98d7907653bcb69819ba16057134af960e9e5c38e33a86bbacd8108ff8aae54a98d7907653bcb69819ba16057134af960e9e5c38671e3fc374b7c36326d9a085e04849382c9ffb09f0e2c5f82218b042e3d6d08b671e3fc374b7c36326d9a085e04849382c9ffb09f0e2c5f82218b042e3d6d08b183d4cff76648bae3188d95e12a51b0fc3bd31044b3f636d935b97e7153bb568183d4cff76648bae3188d95e12a51b0fc3bd31044b3f636d935b97e7153bb568e41c9c2e9955b729665edac6f826aab7bc9915f11dfc5ac6cadf858106ed9400e41c9c2e9955b729665edac6f826aab7bc9915f11dfc5ac6cadf858106ed940006ee0cb5699eeb31c01eb9cebd91a2233abafd876ccbd902822c883001ebea2c06ee0cb5699eeb31c01eb9cebd91a2233abafd876ccbd902822c883001ebea2c047aa671abba88e9a5f53b7519aaa6439307cdc706284efcb9ab888f20d02676047aa671abba88e9a5f53b7519aaa6439307cdc706284efcb9ab888f20d02676d94afa703783765a6aeb2be7755037070d6c2b0a3a360e1cb35b5717d3ef369cd94afa703783765a6aeb2be7755037070d6c2b0a3a360e1cb35b5717d3ef369cf46d3e9c3cfbfd7029d7a3ebd6ac103bc5a8213a2643acac843b1d2fcb88f507f46d3e9c3cfbfd7029d7a3ebd6ac103bc5a8213a2643acac843b1d2fcb88f507476d8e9db3cdfa44ac30793b434861396a94f0458bde36b72736a76961c3d51d476d8e9db3cdfa44ac30793b434861396a94f0458bde36b72736a76961c3d51db18c9c93eb23ec6c62853ec2a5419ddc4394e02ca86fc642365c9cb10ab14324b18c9c93eb23ec6c62853ec2a5419ddc4394e02ca86fc642365c9cb10ab14324e086ac28a646e250462a07476042f5fffb5c002780c9f5bae54303af133e07a37b83f20e61e6c8b700919a385805fb6a1fc8e9fab87b1ec0f0587138f600a00fe2f3f8927000cd98926e5cd233fb2b6d360ada15675144f9eb5bd305d09eda2e90c634d31e6c524adc47db911c821a910c3813aeb8f685b5b4cb4840fac5305a3e3729f2aeb8814c24e029de18e9ce856d1605e28144551189e5aa0bd00dd047b856fe628914e118367ca8f25fc54c02ed39493564dfb61182086534799da18a0259132c76166e3e16f990fb391419163105bfb902ed04af118ca97e21e9c31cabcb028fbc260e0a0fca9ffbfd300116c2796685db400b2cc62d9a4bf5617e880634db7abc43baee3714774fdbbde51917d923e91fd7cded437088c81d73e08ab01256f0a273fc413c4ec4fbc0b5933ee5222f69cdb0b6bf71fad309ef45ca2a4421d38a7a34707cf5772d692db3a11617567c6978bb9d1598171b4fba8158d740fcf0b24e157a6f84720d8d86346eefc3bd494e593ba0e67f165303a70759ca8d7f50e60b0a475854aef40a487059b1af7a02decdbc43bf9624fff06eb810ff9caf28c4e44680b3fece80b64441b8e9b01c855ae5af7e637eec539ff01cf2c3158bab1b482ac6684d2a1ff6d87a775c438de73bafceffabe70f32f7225082a63606e1523620acb87e1d0b6c75894f6770b2bd2d23857a9e3e4e391a11cf312a12b29f3a77f39a9f0cbe89ceaa481cc92b7f0a2f4ca7acc3336405f5a393e0cbbe81050ecff392011d58ea836a453ee432d83b7aa8b56717622a8e0943f8183a45b1cfc2ff06bb9891f4bc0c7fe374c948d711081128a04b6804f775a72fe3848f97cf7b1bb8f0218e6efa4f2a7d246538dd9f5a277f3d2262187ca7c90880cd1dfce42c7d5229a21abe737e2c6b85fa500c68010207a2338ff4c42e18383a67017ef1ad30aa3113ab310ff70e9f1698b90d37c753a2f84f8ed5a068b2e9471bb3ba81eed4831641b9ced960de657de7c5155a72a09f52c803e076b7e875797e05a74cd6734df8e44346e2666fddefd3104642571ed67dbd953e2286c9e663eec074d6554fd781fabe76338e3d51798c0b04f978000e81f8ec6d2223937af606bec96705f99900baa1438c5659608782ae248dc54f4b632971403c95863aab6f7265b03b231dcaceb62062c2f650f39f04eed75c4b83ac01f6657eeb496bf3a06c6140f996e4d718ec35a63a13f3ed410ed656a5b6ccf9ad5ad9d79d2c924be3e94bf47c5b1398827122732a78d86bcb0f63af3be0364b0a6c0ede70123483912395f1375683ade9f7170d5fdd23a840b3f83bd3bb8dec9ecbd99e1ba3a0d2aeef1a0326f7dc6995556111a5bfcc5a9a13b7cd8bc4fb023f35df35e0bf13c734a0d908eedda048c608c0ba2fe6f97f05b1d4f80c050b92f13fbf18217c3b9aaea7264f9d1d1fbfde18a297cf0e9b259684e261e96ee46b8cef471750639a2873017f9c1bf1623e29dfb5042af0d768d4c73f6d9cfe0215c5410a5a73ea15d3087bfce2e95db7ded8f1dc31fd4c7eeb4432913be4c267fcf23a4070e2c491223a36055f0e1c71511845ac4aa788825080a43ac258024e0395bb91b041ccd6fe19868f9eca212f8581edfbf572b739cdccd78692d7da22c417e65e1b7aca566409c87f8182c623ec1b993469ff107a672d13e6a0d1a8601f60fd7c4e94ae08718051ff746c599ee89cbaca5ee4e23276f0825ba2ae8a8b23d62e35e03fd0d1ea0917cdbfbd39caaf7505eda8bc75312fe8f9eac15a1113293673dfc1a37b26b2b87aafc372cf066b5477c653f64a77928073a56e863f5a068f24de74dce79809a01eb9d6abd2f3f1d59b8d2498ffa1bbfede806dc63fe660459efb8310fa78ea7bbfa7c8a79f3db0f58d1536aae7c5fa3a16c963b78e1eece3173f0cee9f0f14d10db5894f486213a5089806cca9e85c1ae54b0d6225fb6ace6def8085a1ae5a998b94c6e3bd95cc92959cad3ca3133884afea6fd2332ff168f7a07ca2e6b15c7a8fc7844f50ca60b9dce95523dcdb5b8d7c4f1e7eea093b087486e7aa86d4b40d5fa25bf5f395fd26e701c2e1de4ca7d162816986dc791c22f8f4226857ad1bb2rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython3-paramiko-3.4.0-150400.9.3.3.src.rpmpython3-paramiko@      python(abi)python3-PyNaClpython3-bcryptpython3-cryptographyrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.61.53.23.33.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3e@e@d^*@dEdBzczbkbjbP#b4t@aex_@__R,@] @] \\\eX@\eX@\l@[[R@Z`@Z`@Z }YYYJY=0XQ@XX~@X @XOW@W@W\@WWUeW/*@VHT steven.kowalik@suse.commimi.vx@gmail.comdaniel.garcia@suse.commcepl@suse.comdmueller@suse.comcode@bnavigator.demichael@stroeder.comdmueller@suse.compgajdos@suse.commichael@stroeder.comecsos@opensuse.orgsteven.kowalik@suse.comcode@bnavigator.demimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.comtchvatal@suse.comhpj@urpla.netmimi.vx@gmail.commcepl@suse.commimi.vx@gmail.commimi.vx@gmail.comro@suse.detbechtold@suse.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.comtbechtold@suse.commimi.vx@gmail.comtoddrme2178@gmail.comrjschwei@suse.comrjschwei@suse.commimi.vx@gmail.commimi.vx@gmail.comtbechtold@suse.commichael@stroeder.commichael@stroeder.comdmueller@suse.comdmueller@suse.comhpj@urpla.nettoddrme2178@gmail.comtbechtold@suse.com- Update to 3.4.0: (CVE-2023-48795, bsc#1218168) * Transport grew a new packetizer_class kwarg for overriding the packet-handler class used internally. * Address CVE 2023-48795 (aka the "Terrapin Attack", a vulnerability found in the SSH protocol re: treatment of packet sequence numbers) as follows: + The vulnerability only impacts encrypt-then-MAC digest algorithms in tandem with CBC ciphers, and ChaCha20-poly1305; of these, Paramiko currently only implements hmac-sha2-(256|512)-etm in tandem with AES-CBC. + As the fix for the vulnerability requires both ends of the connection to cooperate, the below changes will only take effect when the remote end is OpenSSH >= 9.6 (or equivalent, such as Paramiko in server mode, as of this patch version) and configured to use the new "strict kex" mode. + Paramiko will now raise an SSHException subclass (MessageOrderError) when protocol messages are received in unexpected order. This includes situations like receiving MSG_DEBUG or MSG_IGNORE during initial key exchange, which are no longer allowed during strict mode. + Key (re)negotiation -- i.e. MSG_NEWKEYS, whenever it is encountered -- now resets packet sequence numbers. (This should be invisible to users during normal operation, only causing exceptions if the exploit is encountered, which will usually result in, again, MessageOrderError.) + Sequence number rollover will now raise SSHException if it occurs during initial key exchange (regardless of strict mode status). * Tweak ext-info-(c|s) detection during KEXINIT protocol phase; the original implementation made assumptions based on an OpenSSH implementation detail. - Add patch use-64-bit-maxsize-everywhere.patch: * Use the 64-bit value of sys.maxsize.- refresh remove-icecream-dep.patch - update to 3.3.1 detailed changelog: https://www.paramiko.org/changelog.html#- Delete paramiko-pr1665-remove-pytest-relaxed.patch - Add remove-icecream-dep.patch - Update to 3.1.0: * [Feature] #2173: Accept single tabs as field separators (in addition to single spaces) in for parity with OpenSSH’s KnownHosts parser. Patched by Alex Chavkin. * [Feature] #2013: (solving #2009, plus others) Add an explicit channel_timeout keyword argument to paramiko.client.SSHClient.connect, allowing users to configure the previously-hardcoded default value of 3600 seconds. Thanks to @VakarisZ and @ilija-lazoroski for the report and patch, with credit to Mike Salvatore for patch review. * [Support] #2178: Apply codespell to the codebase, which found a lot of very old minor spelling mistakes in docstrings. Also modernize many instances of *largs vs *args and **kwarg vs * *kwargs. Patch courtesy of Yaroslav Halchenko, with review from Brian Skinn. - 3.0.0: * [Bug]: A handful of lower-level classes (notably paramiko.message.Message and paramiko.pkey.PKey) previously returned bytes objects from their implementation of __str__, even under Python 3; and there was never any __bytes__ method. * These issues have been fixed by renaming __str__ to __bytes__ and relying on Python’s default “stringification returns the output of __repr__” behavior re: any real attempts to str() such objects. * [Bug] #2165: Streamline some redundant (and costly) byte conversion calls in the packetizer and the core SFTP module. This should lead to some SFTP speedups at the very least. Thanks to Alex Gaynor for the patch. * [Bug] #2110: Remove some unnecessary __repr__ calls when handling bytes-vs-str conversions. This was apparently doing a lot of unintentional data processing, which adds up in some use cases – such as SFTP transfers, which may now be significantly faster. Kudos to Shuhua Zhong for catch & patch. * [Support]: Drop support for Python versions less than 3.6, including Python 2. So long and thanks for all the fish! * [Support]: Remove the now irrelevant paramiko.py3compat module. * [Support]: paramiko.common.asbytes has been moved to paramiko.util.asbytes. * [Support]: PKey.__cmp__ has been removed. Ordering-oriented comparison of key files is unlikely to have ever made sense (the old implementation attempted to order by the hashes of the key material) and so we have not bothered setting up __lt__ and friends at this time. The class continues to have its original __eq__ untouched. * [Support]: The behavior of private key classes’ (ie anything inheriting from PKey) private key writing methods used to perform a manual, extra chmod call after writing. This hasn’t been strictly necessary since the mid 2.x release line (when key writing started giving the mode argument to os.open), and has now been removed entirely. * This should only be observable if you were mocking Paramiko’s system calls during your own testing, or similar. * [Support] #732: (also re: #630) SSHConfig used to straight-up delete the proxycommand key from config lookup results when the source config said ProxyCommand none. This has been altered to preserve the key and give it the Python value None, thus making the Python representation more in line with the source config file. * [Support]: paramiko.util.retry_on_signal (and any internal uses of same, and also any internal retries of EINTR on eg socket operations) has been removed. As of Python 3.5, per PEP 475, this functionality (and retrying EINTR generally) is now part of the standard library.- Move documentation into main package for SLE15- add sle15_python_module_pythons (jsc#PED-68)- Update to 2.12.0 * [Feature] #2125: (also re: #2054) Add a transport_factory kwarg to SSHClient.connect for advanced users to gain more control over early Transport setup and manipulation. Thanks to Noah Pederson for the patch. - Release 2.11.1 * [Bug]: bug:1637 (via #1599) Raise SSHException explicitly when blank private key data is loaded, instead of the natural result of IndexError. This should help more bits of Paramiko or Paramiko-adjacent codebases to correctly handle this class of error. Credit: Nicholas Dietz. * [Bug] #1822: (via, and relating to, far too many other issues to mention here) Update SSHClient so it explicitly closes its wrapped socket object upon encountering socket errors at connection time. This should help somewhat with certain classes of memory leaks, resource warnings, and/or errors (though we hasten to remind everyone that Client and Transport have their own .close() methods for use in non-error situations!). Patch courtesy of @YoavCohen. - Rename and refresh: - paramiko-pr1655-remove-pytest-relaxed.patch + paramiko-pr1665-remove-pytest-relaxed.patch * gh#paramiko/paramiko#1665- update to 2.11.0 * [Feature] #1951: Add SSH config token expansion (eg %h, %p) when parsing ProxyJump directives. * [Support] #2004: (via #2011) Apply unittest skipIf to tests currently using SHA1 in their critical path, to avoid failures on systems starting to disable SHA1 outright in their crypto backends (eg RHEL 9). * [Support] #1838: (via #1870/#2028) Update camelCase method calls against the threading module to be snake_case; this and related tweaks should fix some deprecation warnings under Python 3.10. * [Support] #2038: (via #2039) Recent versions of Cryptography have deprecated Blowfish algorithm support; in lieu of an easy method for users to remove it from the list of algorithms Paramiko tries to import and use, we’ve decided to remove it from our “preferred algorithms” list. This will both discourage use of a weak algorithm, and avoid warnings. - update to 2.10.5 * [Bug] #2008: (via #2010) Windows-native SSH agent support as merged in 2.10 could encounter Errno 22 OSError exceptions in some scenarios (eg server not cleanly closing a relevant named pipe). This has been worked around and should be less problematic. * [Bug] #2017: OpenSSH 7.7 and older has a bug preventing it from understanding how to perform SHA2 signature verification for RSA certificates (specifically certs - not keys), so when we added SHA2 support it broke all clients using RSA certificates with these servers. This has been fixed in a manner similar to what OpenSSH’s own client does: a version check is performed and the algorithm used is downgraded if needed. * [Bug] #1933: Align signature verification algorithm with OpenSSH re: zero-padding signatures which don’t match their nominal size/length. This shouldn’t affect most users, but will help Paramiko-implemented SSH servers handle poorly behaved clients such as PuTTY.- update to 2.10.4: * Servers offering certificate variants of hostkey algorithms (eg ssh-rsa-cert-v01@openssh.com) could not have their host keys verified by Paramiko clients, as it only ever considered non-cert key types for that part of connection handshaking. This has been fixed. * gq PKey instances’ __eq__ did not have the usual safety guard in place to ensure they were being compared to another PKey object, causing occasional spurious BadHostKeyException (among other things). This has been fixed. * Update camelCase method calls against the threading module to be snake_case; this and related tweaks should fix some deprecation warnings under Python 3.10.- do not require python-mock for build- Update to 2.10.3 (bsc#1197279, CVE-2022-24302) Too many changes to be listed here: https://www.paramiko.org/changelog.html- Update to 2.8.0 - [Feature] #1846: Add a prefetch keyword argument to SFTPClient.get/SFTPClient.getfo so users who need to skip SFTP prefetching are able to conditionally turn it off. - [Bug] #1462: (via #1882) Newer server-side key exchange algorithms not intended to use SHA1 (diffie-hellman-group14-sha256, diffie-hellman-group16-sha512) were incorrectly using SHA1 after all, due to a bug causing them to ignore the hash_algo class attribute. This has been corrected. - [Support] #1722: Remove leading whitespace from OpenSSH RSA test suite static key fixture, to conform better to spec. - [Support] #1727: Add missing test suite fixtures directory to MANIFEST.in, reinstating the ability to run Paramiko’s tests from an sdist tarball. - [Support]: Update our CI to catch issues with sdist generation, installation and testing. - [Support]: Administrivia overhaul, including but not limited to: - Migrate CI to CircleCI - Primary dev branch is now main (renamed) - Many README edits for clarity, modernization etc; including a bunch more (and consistent) status badges & unification with main project site index - PyPI page much more fleshed out (long_description is now filled in with the README; sidebar links expanded; etc) - flake8, pytest configs split out of setup.cfg into their own files - Invoke/invocations (used by maintainers/contributors) upgraded to modern versions - Skip python2 to fix build errors for Leap. - Rebase paramiko-pr1655-remove-pytest-relaxed.patch.- Set environment to utf-8 to allow tests to pass on Python 2. (bsc#1178341)- remove dependency on pytest-relaxed * paramiko-pr1655-remove-pytest-relaxed.patch * gh#paramiko/paramiko#1655- update to 2.7.2 (bsc#1166758, bsc#1166758, bsc#1205132) - drop configs.tar.gz * Add missing test suite fixtures directory to MANIFEST.in * Remove leading whitespace from OpenSSH RSA test suite static key fixture, * Fix incorrect string formatting causing unhelpful error message annotation when using Kerberos/GSSAPI. * Fix incorrectly swapped order of p and q numbers when loading OpenSSH-format RSA private keys.- update to 2.7.1 - add configs.tar.gz with missing test data * full changelog at http://www.paramiko.org/changelog.html- update to 2.6.0 (bsc#1200603) - drop relaxed.patch and 1311.patch * add a new keyword argument to SSHClient.connect and paramiko.transport.Transport -> disabled_algorithms * Fix Ed25519 key handling so certain key comment lengths don't cause SSHException("Invalid key") * Add backwards-compatible support for the gssapi- update to 2.5.0 - dropped 1379.patch - refreshed patches: paramiko-test_extend_timeout.patch relaxed.patch 1311.patch * Add support for encrypt-then-MAC (ETM) schemes (hmac-sha2-256-etm@openssh.com, hmac-sha2-512-etm@openssh.com) and two newer Diffie-Hellman group key exchange algorithms (group14, using SHA256; and group16, using SHA512). * Add support for Curve25519 key exchange. * Raise Cryptography dependency requirement to version 2.5 * Add support for the modern (as of Python 3.3) import location of MutableMapping- Run tests verbosely - Drop cert_support.tar.gz as it is currently properly in the release- add empty line after %autopatch: build fails up to 42.3 otherwise- drop python-pytest_relaxed dependency - add patches: 1311.patch - fix warnings 1379.patch - fix support for gssapi relaxed.patch - remove unnecessary pytest_relaxed dep - remove patch: disable-gssapi.patch - supersseded- Remove superfluous devel dependency for noarch package- add disable-gssapi.patch - workaround for boo#1115769- update to 2.4.2 (bsc#1111151, CVE-2018-1000805) - refresh paramiko-test_extend_timeout.patch * Fix exploit (CVE pending) in Paramiko's server mode (not client mode) where hostile clients could trick the server into thinking they were authenticated without actually submitting valid authentication. * Modify protocol message handling such that Transport does not respond to MSG_UNIMPLEMENTED with its own MSG_UNIMPLEMENTED * Updated SSHConfig.lookup so it returns a new, type-casting-friendly dict subclass (~paramiko.config.SSHConfigDict) in lieu of dict literals.- add paramiko-test_extend_timeout.patch (bsc#1085529) extend timeout in testsuite to pass on ppc64leupdate to version 2.4.1 (bsc#1085276, CVE-2018-7750): * changelog: update for #1039 / #1051 * Screen off dev version of Python from test matrix * ensure ed25519 password is bytes * Cut 2.0.8 * Cut 2.3.2 * Initial tests proving CVE-2018-7750 / #1175 * Guess something else added this prior to the merge * Fixes CVE-2018-7750 / #1175 * Uncaught typo in test suite * Initial tests proving CVE-2018-7750 / #XXX * Test proving #1039 / efficacy of #1051 * Changelog closes #1175 * Cut 2.1.5 * Allow overriding test client connect kwargs in Transport test suite * Cut 2.4.1 * Fixes CVE-2018-7750 / #XXX * Cut 2.2.3 * flake8- update to 2.4.0 + new pytest based testsuite * dd a new passphrase kwarg to SSHClient.connect so users may disambiguate key-decryption passphrases from password-auth passwords. * Drop Python 2.6 and Python 3.3 support- update to 2.3.1 + cert_support.tar.gz - missing test certificates for testsuite * Certificate support broke the no-certificate case for Ed25519 keys (symptom is an AttributeError about public_blob.) This went uncaught due to cert autoload behavior (i.e. our test suite never actually ran the no-cert case, because the cert existed!) Both issues have been fixed. * Implement basic client-side certificate authentication (as per the OpenSSH vendor extension.) * Added pre-authentication banner support for the server interface (ServerInterface.get_banner plus related support in Transport/AuthHandler.) * Update Ed25519Key so its constructor offers the same file_obj parameter as its sibling key classes. * Add a gss_trust_dns option to Client and Transport to allow explicitly setting whether or not DNS canonicalization should occur when using GSSAPI. * Paramiko originally defaulted to zlib compression level 9 (when one connects with compression=True; it defaults to off.) This has been found to be quite wasteful and tends to cause much longer transfers in most cases, than is necessar * Enhance documentation around the new SFTP.posix_rename method so it’s referenced in the ‘standard’ rename method for increased visibility. * Modify logic around explicit disconnect messages, and unknown-channel situations, so that they rely on centralized shutdown code instead of running their own. This is at worst removing some unnecessary code, and may help with some situations where Paramiko hangs at the end of a session. * Display exception type and message when logging auth-rejection messages (ones reading Auth rejected: unsupported or mangled public key); previously this error case had a bare except and did not display exactly why the key failed. * Ed25519 keys never got proper API documentation support; this has been fixed. * Update how we use Cryptography‘s signature/verification methods so we aren’t relying on a deprecated API.- update to 2.2.2: * SSHClient now requests the type of host key it has (e.g. from known_hosts) and does not consider a different type to be a “Missing” host key. This fixes a common case where an ECDSA key is in known_hosts and the server also has an RSA host key. * Fix up host-key checking in our GSSAPI support, which was previously using an incorrect API call * Fix key exchange (kex) algorithm list for GSSAPI authentication; reviously, the list used solely out-of-date algorithms, and now contains newer ones listed preferentially before the old * Clean up GSSAPI authentication procedures so they do not prevent normal fallback to other authentication methods on failure. * Add rekeying support to GSSAPI connections, which was erroneously missing.- update to 2.2.1: * Missed a spot * Update .travis.yml * Whitespace * Having this in a mini-toctree made the nav look funny and is also just unintuitive * Changelog re #471, re #65 * these are bytes * changelog: update for #990 and #993 * ecdh kex support * flake8/whitespace * Trailing comma * Add test for posix-rename@openssh.com extension for SFTP client * Changelog re #921 * Add a note about new Python-level deps to changelog re: Ed25519 support * Add method for "posix-rename@openssh.com" extension for SFTP client. * Add IOError in posix-rename@openssh.com test for python 2 support. * this isnt bytes * Added a auth_timeout to handle situations where SSH server stops responding during auth. * small cleanups * More changelog flimflammery * Added changelog entry * python 3 compatibility * Incorrect comparison, should be <= * DDD re #857 * Improve __hash__ functions * Hrm that should always have been an h1 * No idea how this got past all the earlier flake8 work... * comments * Fixed test to support python 2.6 * Note ecdh-sha2 preferred-kex placement in changelog entry for #951, re #983 * Changelog language tweaks * Reorder cipher and key preferences to make more sense * Added a test to check that the auth_timeout argument is passed through and applied. * Changelog tweak * Cut 2.2.1 * transport: change order of preferred kex and hmac algorithms * need bcrypt >= 3.1.3 for kdf() ignore_few_rounds kwarg * Changelog re #972, re #325, closes #325 * cleanup/simplify auth_timeout tests * Missed a merge conflict lolol * flake8 * Changelog re #951 * Perplexed at why flake8 did not report this earlier * Add Python 3.6 to classifiers * Add support for posix-rename@openssh.com for the SFTP server side and fix tests accordingly. * sphinx nitpick fixes * Fixed encoding/decoding of the public key on the wire * Added test for authentication timeout from a non-responsive server * refactor files * fixed comment + consistency * Changelog re #857 * Cut 2.2.0 * integration test, with ourselves * TODO * That was easy. Closes #857 * Add sanity note to changelog re #869 * Unit tests * Fixes #325 -- add support for Ed25519 keys * Happy New Year * implement __hash__() method for Ed25519Key * pep8 * Increased auth_timeout to 30 seconds * py3k * fixed long line * Link to the spec * set a minimum version * Support decrypting keys * Failing test proving need for #857 - move demos/ to extra -doc package- update to 2.1.3 * Make util.log_to_file append instead of replace. * SSHClient and Transport could cause a memory leak if there’s a connection problem or protocol error, even if Transport.close() is called. * Prior support for ecdsa-sha2-nistp(384|521) algorithms didn’t fully extend to covering host keys, preventing connection to hosts which only offer these key types and no others. This is now fixed. * Prefer newer ecdsa-sha2-nistp keys over RSA and DSA keys during host key selection. This improves compatibility with OpenSSH, both in terms of general behavior, and also re: ability to properly leverage OpenSSH-modified known_hosts files. * The RC4/arcfour family of ciphers has been broken since version 2.0; but since the algorithm is now known to be completely insecure, we are opting to remove support outright instead of fixing it. * Move sha1 above the now-arguably-broken md5 in the list of preferred MAC algorithms, as an incremental security improvement for users whose target systems offer both. * Writing encrypted/password-protected private key files was silently broken since 2.0 due to an incorrect API call Includes a directly related fix, namely adding the ability to read AES-256-CBC ciphered private keys (which is now what we tend to write out as it is Cryptography’s default private key cipher.) * Allow any type implementing the buffer API to be used with BufferedFile, Channel, and SFTPFile. This resolves a regression introduced in 1.13 with the Python 3 porting changes, when using types such as memoryview. * Enhance default cipher preference order such that aes(192|256)-cbc are preferred over blowfish-cbc. * SSHClient now requests the type of host key it has (e.g. from known_hosts) and does not consider a different type to be a “Missing” host key. This fixes a common case where an ECDSA key is in known_hosts and the server also has an RSA host key. * Overhaul the codebase to be PEP-8- Implement single-spec version.- Fix version setting for cryptography for build- Add python-pyasn1 as Buildrequires for testing- update to 2.1.2 * Fix a bug in server-mode concerning multiple interactive auth steps * SSHClient now gives its internal Transport a handle on itself, preventing garbage collection of the client until the session is closed. Without this, some code which returns stream or transport objects without the client that generated them, would result in premature session closure when the client was GCd * Avoid test suite exceptions on platforms lacking errno.ETIME * weak how RSAKey.__str__ behaves so it doesn’t cause TypeError under Python 3.- update to 2.1.1 * A tweak to the original patch implementing gh#398 was not fully applied, causing calls to ~paramiko.client.SSHClient.invoke_shell to fail with AttributeError. This has been fixed. * Fix the implementation of PKey.write_private_key_file (this method is only publicly defined on subclasses; the fix was in the private real implementation) so it passes the correct params to open() * Add an optional timeout parameter to Transport.start_clienti (and feed it the value of the configured connection timeout when used within SSHClient .) * Catch AssertionError thrown by Cryptography when attempting to load bad ECDSA keys, turning it into an SSHException. * Add a missing .closed attribute (plus ._closed because reasons) to ProxyCommand * Make the subprocess import in proxy.py lazy so users on platforms without it (such as Google App Engine) can import Paramiko successfully * Fix incorrect docstring/param-list for Transport.auth_gssapi_keyex so it matches the real signature. * Add an environment dict argument to Client.exec_command- Fix Requires for python-cryptography - Add missing Requires for python-pyasn1- update to 2.0.2 * [Bug] #758: Apply type definitions to _winapi module from jaraco.windows 3.6.1. This should address issues on Windows platforms that often result in errors like ArgumentError: [...] int too long to convert. Thanks to @swohlerLL for the report and Jason R. Coombs for the patch. * [Bug] #774: Add a _closed private attribute to Channel objects so that they continue functioning when used as proxy sockets under Python 3 (e.g. as direct-tcpip gateways for other Paramiko connections.) * [Bug] #673: (via #681) Fix protocol banner read errors (SSHException) which would occasionally pop up when using ProxyCommand gatewaying. Thanks to @Depado for the initial report and Paul Kapp for the fix.- updated homepage URL - update to 2.0.1: * [Bug] #537: Fix a bug in BufferedPipe.set_event which could cause deadlocks/hangs when one uses select.select against Channel objects (or otherwise calls Channel.fileno after the channel has closed). * [Bug] #520: (Partial fix) Fix at least one instance of race condition driven threading hangs at end of the Python interpreter session. (Includes a docs update as well - always make sure to .close() your clients!)- fix build- fix source url- update to 2.0.0: * Add support for 384- and 512-bit elliptic curve groups in ECDSA key types (aka ecdsa-sha2-nistp384 / ecdsa-sha2-nistp521). * Due to an earlier bugfix, less-specific Host blocks' ProxyCommand values were overriding ProxyCommand none in more-specific Host blocks. This has been fixed in a backwards compatible manner (i.e. ProxyCommand none continues to appear as a total lack of any proxycommand key in parsed config structures). * Fix a backwards incompatibility issue that cropped up in SFTPFile.prefetch <~paramiko.sftp_file.prefetch> re: the erroneously non-optional file_size parameter. Should only affect users who manually call prefetch. * Replace PyCrypto with the Python Cryptographic Authority (PyCA) 'Cryptography' library suite. This improves security, installability, and performance; adds PyPy support; and much more. * Fix stalled/hung SFTP downloads by cleaning up some threading lock issues. * Fix a Python 3 compatibility issue when handling two-factor authentication. * Clean up setup.py to always use setuptools, not doing so was a historical artifact from bygone days. * Update the module in charge of handling SSH moduli so it's consistent with OpenSSH behavior re: prime number selection. * Fix up ~paramiko.ssh_exception.NoValidConnectionsError so it pickles correctly, and fix a related Python 3 compatibility issue. * Update to jaraco.windows 3.4.1 to fix some errors related to ctypes on Windows platforms. * Annotate some public attributes on ~paramiko.channel.Channel such as .closed. * Fix logic bug in the SFTP client's callback-calling functionality; previously there was a chance the given callback would fire twice at the end of a transfer. * Identify & work around a race condition in the test for handshake timeouts, which was causing frequent test failures for a subset of contributors as well as Travis-CI (usually, but not always, limited to Python 3.5). * Remove whitespace in our setup.py's install_requires as it triggers occasional bugs in some versions of setuptools. * Strip trailing/leading whitespace from lines when parsing SSH config files - this brings things in line with OpenSSH behavior. * Fix behavior of gssapi-with-mic auth requests so they fail gracefully (allowing followup via other auth methods) instead of raising an exception. * Add missing file-like object methods for ~paramiko.file.BufferedFile and ~paramiko.sftp_file.SFTPFile. * Clean up and enhance the README (and rename it to README.rst from just README).- Add --no-transport to fix a known issue with the tests https://github.com/paramiko/paramiko/issues/574 Check if still failing on next release. The tests is currently failing on Python 3.5, but it is not actually Python 3.5 specific, it is just more likely to be encountered on Python 3.5 - update to version 1.16.0: * Streamline use of stat when downloading SFTP files via SFTPClient.get ; this avoids triggering bugs in some off-spec SFTP servers such as IBM Sterling. Thanks to @muraleee for the initial report and to Torkil Gustavsen for the patch. * Fully enable two-factor authentication (e.g. when a server requires AuthenticationMethods pubkey,keyboard-interactive). Thanks to @perryjrandall for the patch and to @nevins-b and Matt Robenolt for additional support. * Fix 'exec' requests in server mode to use get_string instead of get_text to avoid UnicodeDecodeError on non-UTF-8 input. Thanks to Anselm Kruis for the patch & discussion. * Fix line number reporting in log output regarding invalid known_hosts line entries. Thanks to Dylan Thacker-Smith for catch & patch. * Update the vendored Windows API addon to a more recent edition. Also fixes :issue:`193`, :issue:`488`, :issue:`498`. Thanks to Jason Coombs.- update to version 1.15.2 (bsc#962291) * [Bug] #320: Update our win_pageant module to be Python 3 compatible * [Bug] #429: Server-level debug message logging was overlooked during the Python 3 compatibility update; Python 3 clients attempting to log SSH debug packets encountered type errors. This is now fixed * [Bug] #459: Tighten up agent connection closure behavior to avoid spurious ResourceWarning display in some situations * [Bug] #266: Change numbering of Transport channels to start at 0 instead of 1 for better compatibility with OpenSSH & certain server implementations which break on 1-indexed channels * [Support] #419: Modernize a bunch of the codebase internals to leverage decorators. Props to @beckjake for realizing we’re no longer on Python 2.2 :D * [Support] #421: Modernize threading calls to user newer API * [Support] #422: Clean up some unused imports * [Support] #431: Replace handrolled ssh_config parsing code with use of the shlex module * [Bug] #415: Fix ssh_config parsing to correctly interpret ProxyCommand none as the lack of a proxy command, instead of as a literal command string of "none" * [Bug] #428: Fix an issue in BufferedFile (primarily used in the SFTP modules) concerning incorrect behavior by readlines on files whose size exceeds the buffer size * [Bug] #455: Tweak packet size handling to conform better to the OpenSSH RFCs; this helps address issues with interactive program cursors * [Bug] #413: (also #414, #420, #454) Be significantly smarter about polling & timing behavior when running proxy commands, to avoid unnecessary (often 100%!) CPU usageh01-ch2d 1722424616  ""$$&&()**,-..0022446688::<<>>@@BBDDFFHIJJLLNNPPRRTTVVXXZZ\\^^``bbddfghijklmnopqrstuvwxyz{|}~3.4.0-150400.9.3.3paramikoparamiko-3.4.0-py3.6.egg-infoPKG-INFOSOURCES.txtdependency_links.txtrequires.txttop_level.txt__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc_version.cpython-36.opt-1.pyc_version.cpython-36.pyc_winapi.cpython-36.opt-1.pyc_winapi.cpython-36.pycagent.cpython-36.opt-1.pycagent.cpython-36.pycauth_handler.cpython-36.opt-1.pycauth_handler.cpython-36.pycauth_strategy.cpython-36.opt-1.pycauth_strategy.cpython-36.pycber.cpython-36.opt-1.pycber.cpython-36.pycbuffered_pipe.cpython-36.opt-1.pycbuffered_pipe.cpython-36.pycchannel.cpython-36.opt-1.pycchannel.cpython-36.pycclient.cpython-36.opt-1.pycclient.cpython-36.pyccommon.cpython-36.opt-1.pyccommon.cpython-36.pyccompress.cpython-36.opt-1.pyccompress.cpython-36.pycconfig.cpython-36.opt-1.pycconfig.cpython-36.pycdsskey.cpython-36.opt-1.pycdsskey.cpython-36.pycecdsakey.cpython-36.opt-1.pycecdsakey.cpython-36.pyced25519key.cpython-36.opt-1.pyced25519key.cpython-36.pycfile.cpython-36.opt-1.pycfile.cpython-36.pychostkeys.cpython-36.opt-1.pychostkeys.cpython-36.pyckex_curve25519.cpython-36.opt-1.pyckex_curve25519.cpython-36.pyckex_ecdh_nist.cpython-36.opt-1.pyckex_ecdh_nist.cpython-36.pyckex_gex.cpython-36.opt-1.pyckex_gex.cpython-36.pyckex_group1.cpython-36.opt-1.pyckex_group1.cpython-36.pyckex_group14.cpython-36.opt-1.pyckex_group14.cpython-36.pyckex_group16.cpython-36.opt-1.pyckex_group16.cpython-36.pyckex_gss.cpython-36.opt-1.pyckex_gss.cpython-36.pycmessage.cpython-36.opt-1.pycmessage.cpython-36.pycpacket.cpython-36.opt-1.pycpacket.cpython-36.pycpipe.cpython-36.opt-1.pycpipe.cpython-36.pycpkey.cpython-36.opt-1.pycpkey.cpython-36.pycprimes.cpython-36.opt-1.pycprimes.cpython-36.pycproxy.cpython-36.opt-1.pycproxy.cpython-36.pycrsakey.cpython-36.opt-1.pycrsakey.cpython-36.pycserver.cpython-36.opt-1.pycserver.cpython-36.pycsftp.cpython-36.opt-1.pycsftp.cpython-36.pycsftp_attr.cpython-36.opt-1.pycsftp_attr.cpython-36.pycsftp_client.cpython-36.opt-1.pycsftp_client.cpython-36.pycsftp_file.cpython-36.opt-1.pycsftp_file.cpython-36.pycsftp_handle.cpython-36.opt-1.pycsftp_handle.cpython-36.pycsftp_server.cpython-36.opt-1.pycsftp_server.cpython-36.pycsftp_si.cpython-36.opt-1.pycsftp_si.cpython-36.pycssh_exception.cpython-36.opt-1.pycssh_exception.cpython-36.pycssh_gss.cpython-36.opt-1.pycssh_gss.cpython-36.pyctransport.cpython-36.opt-1.pyctransport.cpython-36.pycutil.cpython-36.opt-1.pycutil.cpython-36.pycwin_openssh.cpython-36.opt-1.pycwin_openssh.cpython-36.pycwin_pageant.cpython-36.opt-1.pycwin_pageant.cpython-36.pyc_version.py_winapi.pyagent.pyauth_handler.pyauth_strategy.pyber.pybuffered_pipe.pychannel.pyclient.pycommon.pycompress.pyconfig.pydsskey.pyecdsakey.pyed25519key.pyfile.pyhostkeys.pykex_curve25519.pykex_ecdh_nist.pykex_gex.pykex_group1.pykex_group14.pykex_group16.pykex_gss.pymessage.pypacket.pypipe.pypkey.pyprimes.pyproxy.pyrsakey.pyserver.pysftp.pysftp_attr.pysftp_client.pysftp_file.pysftp_handle.pysftp_server.pysftp_si.pyssh_exception.pyssh_gss.pytransport.pyutil.pywin_openssh.pywin_pageant.pypython3-paramikoREADME.rstpython3-paramikoLICENSE/usr/lib/python3.6/site-packages//usr/lib/python3.6/site-packages/paramiko-3.4.0-py3.6.egg-info//usr/lib/python3.6/site-packages/paramiko//usr/lib/python3.6/site-packages/paramiko/__pycache__//usr/share/doc/packages//usr/share/doc/packages/python3-paramiko//usr/share/licenses//usr/share/licenses/python3-paramiko/-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:34062/SUSE_SLE-15-SP4_Update/eb47c2b566d90de2bd57c98d2744e4e9-python3-paramiko.SUSE_SLE-15-SP4_Updatedrpmxz5noarch-suse-linuxdirectoryASCII textPython script, ASCII text executablepython 3.6 byte-compiledPython script, ASCII text executable, with very long lines  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRyb-j7python3-gssapipython3-pyasn10.1.7 utf-8651ccab3c2bab9bcc4676171809b185fb5aa6e93fcca86d21ac7bcd6e4185f9e?7zXZ !t/z]"k%na ða@I-׈I{H;E$jm< 2͚%, O~L钚>*lDI/Ã߳tvY3vN"b}ʢ<=CAz4q fpV|#ݑn]XAAy7󏆱@Z(ʉzvg9وk®lK}h>^4O p|a~=1}ĢiDxFJgm& 8n150͈$ӿӏ-_OE]*49~.ת0 V+K(CHM㶘'b <\zԟX<' ;=?Qw ~ƸM)&ӜsqL4Pc}!uᲒH'I17 p[e'^Tu> O7\L ;+Cv6V hSm@, ة4$'xT!gCh5fIbӚafQm,T;taěgZHݮG0I?qF @a :qi #?h>03c^ Ő $W&,MB`GiA \HX>;/j3)qv"DvɮhXm{qb[،Zq 󪄨h HDP0Y L~#a  h:cpA0}R82~ i.䡅U_q"w(&"FC[<ޑp@'K垖܅GPF>B#l3"Yo;EKYJA}IA>aTRIw97Vޏ2?F2)[N;h@Z-_}TR0z} Icyd ہZ1ɢ|<΀ Rgʌ7LFóYByE~Vqg|6bJC\Ef*+K0@1_tL .6s5SsIgt^WScL'l.LL@*'G]-ʏtm93{^RW[ TI &ſ ;Y<4DZX@P2>E{NG #w`17Woh,Iy/Na]e_h4DŽ:;[jrB($PkJ33[7v"8+9'%1y z ͵@iy?hs !)KLEﮕ ؖi~}]-5TPSL$ ]Q@Rz)h:t Ln;D gmc>l`lvޜ^+wfVH{" 8pZ7T^W5 cAnLL, / v'(&j^3 >$}4P!B[=:{*4×׍L/L^>ܮQF!gk/J^1 U!ӝ7))[I+-Lŝߪl/ ^n Tt#_4Rw`оsj`^ˎp+3؛ iSkӋ ANց)<~Ct+r>H`r֢U ď_n`&1:?ܒ[ˑސ;_#hb+SւJpz9 SMD΋\خHPSYIn0f6s!ǹƼsq9E@c#\rY"zuF:y]zB-Q`m?Z2ːM@xѐ cK[h%VݰDנ!>zHL*`D%_=R[00#fg Ė=C&aeaO%*/[=JT+-A>9k%lF ;R]$݉14ۘA 1XuV0Tx>c)Yt0VJWq]A(7{5KRċQL,sF}^:bW:,-MIۇث:=:IgK5~GW9arh7Z\ܴE) ll\O 4SaKb"N|؅ D*S-p| +7ODc;q[[Eb6^q[{:;0ph`mg)acE7?{|/nj6'$Ж`H 4KIΫN*I]OfZB XG6M}> *%O Ǥ暳g2K==(#>I^l,ϻztH,] 2Wbx] <kV@ w f\u_/=HM[@xaӈL ` D1+b !x zU l2 Mo^ʔ fl&YE_ni.q!Si MԱSdxئ׶ȦǴdzf0ϒ=}VnVr>n7:do|TJ82NV뷪փM&ƸGtEm^ ֥}ĉRk m$3!~u}Q<s tSFnh c~s?Bz0ouGl3i9| :F>MCc ;5z[X*Q4+ cI91MX{ =3Himζ$tNLy"cͲo Չ6+s/ 3F2EKxBHHC4\#Ґ_C=ez.6ZŽ2灁+|#S^ќpÞOJذ%͊ʐ%K5ñ³9rm- ]x^idҋf뗝¡UkaZV^Hy4r'y[77UA!y77!Ss4h?Fn{, 4SKk$EsFueP"ҿGqEFan ?> #L=.FH5x^@!TB-x24}_D.z4x!$csZ^^_6bzޛsv#I53g S& C .>D|u?e@= k>ѝ\y;W3@>)bn_y\\o1j?&,JϓڴabGCY\FMkছ yJgI)QɃjENj)wӈD3Iƭ@gk x ]j9TqU|Bsh׾Yrʣ33e}an mgt S=a?&=ok7Q{co~" + 6ոW8R\ޛH* ]W d'wGF7UOnϘuBFʒ 5D*P귷*CWAeg%%͐%\w)xi^lI'~LD! G!m 0 ojq%0(P 1,|Stv5IZ6htHp**h|V)2D70W@i IlRKT4kpVU@/2|LxbxCQFjNT- a BGKB*f%.U޻ѰĚH4@Fө?wk_85AKaGC\uyN'bvB} 9ED)+O-9ro4r1xt87Ar&Ak?4?kau<|WXvn6$-)y}j8oٹhEE56ZOIJoѢN.?ăEkkGN&ӱ˯o6ʹcy{{=Hp4mzŗQ%JoVn:xceMN9|^OxO:)cŽ})\Wʸ^/SseV s3c' =+)1& =[a"W\sx6j&m4isI$MƾOD#K$-v< \pn$KESK'oG `;AX!RF}aj;%d_ڽ騬rn!:LW,_!%W9\GQ %@+XQV,h Sn˦6MUFZ Mf A^74Dm[̑CNf"hll-(cVoe:Pp)yäa@,$Uoxf,W\?/J2V^aJ*1_,܌ !(b3E.~pxTyMJFx7J,МуndjE%pnyw'H9::|lت"hx nja3ib)8h|0@sy$H}"u$l`:sgECMݮNL Q*.VCV1fG~`V#tI@4Y J]=%Ju?#Jhzwg1졌7QoDlx jtrEe"NV$:v@"aT*+HΏT[rU@vyFy@iCӈi_ "0݆N]0/2Ofr36fpË,Ƚk> >6އET2!ɭ3GŖh+㑂R u\5]|7vL:I#KEf!?KJߐ4Hu_ wa\m/%Cy^ȳӴ=4_A!+W#njxMMnTޗrU-y:2:=~qԥeסBgJd+AD~H {Jhs,2֋sE6g[{ 5.*t'. Z[ 7ѯY(AxJXU~*lbo,tPlZ]k}}9rsM~iL~,cJ~&:e FdomKn^`Z`Z L9ˍ}^FDEboRv?#K 7;#o _r p! >C=ڀZ[ K{p3SSp;",Nr,Ij+&˥olWy_B!zm6(`ws7k%`!qiKu .xο5'tp憈#\=I~`Blү@p!L-? %p2VZ xV P, ];O3I>xt}/x ["뷏MKrS('0tGQXDO=2 qoMf&U"T!$'43JWeCs++}PyUeVOsPYzK, 4 A[腻1X~u(֧uBJ`z72v;=j;#ܒF|-~cJz)HI|r-d[9ccQ!;dvJ (fEn6"U ~#uԄm_t6k7CPSM.oYmJ@qyvFGJW@wvVk fD!6~)YIIu ˃6pі\Ȳ.OŜܿ,6g^2$ e q*kɥU[<&*ȣCn [^ C^FX}ulךǧ2 9O5r뚮 0D$bxQH/I@haʻ>N9VЭ(f j?=M;{zJ-}rdIݛOr@V \?c6b ~=ۖ>7Z Ƒ_ZĿ CRL%>p?JLH%m" ]IKH4]c&\q\2Cb BMxBہ) PĘM I/Ĵ#{HARكNG9TbZl'iYЖ†׏${ѹ3 qR7P$t5л =/($J lS#u31WtX&-1OCq?XhABȂݴנ*şMT`<+U|b7ڂbMl D`zDUv"׽ӝ#Q@sGp`D,T'g=w{@F|P@&JeCjo3Ybрl$E!b,BBp|@z.OtھǭLss9wwgeHn&BnQI]\lZZ@$$n)` ^P]K4]خ!\$DLg` VZ3 JeȠE5ϥ-uax5飚G.BN0ƾ]bW-لS+*+4:b d鬿pmvg_$lCPo߁KrFQ?7F O`$,bV;od_N؆| "'1/ТzYˬF MK7Mu./l `ڑ^>ˈmHS5 VUR fÀ !2OK%Z.K] L|`&!YJU 6"|)(D!)} *W*=fVN(y~L&D: l%p jV}B!ibs $PIڐɡDOʹnff7uE&T.V^$,Z l*|-.b GtMk&O_V|dfJ/gM?cGEkOKB8(A6h B_$XUͿ zpO79+Bswmk>sۿnn zLkMѦ:0}X _ڠh jG@ @Qq!nnk*ٕ*:\BmC:09IW_y(Z`R cؑdΗ?"))tQ5@,I)fe'(Ȇt[DٙfUޠq`T 䝪-:aL35ŞtJ2!4$GtsFauFoNmLyc| A- GXھj6`e 2%=iIU)`I3iɺ뙞bj4|+-D@n|ls%j!,ZYʧN +[z]qljWt [lO)eږ@gV1}WU8*8|$2aX`J]wmRE_Qtӎԇ9Q5-~Wz60;>4ٟƌECf܌kP3 f/˰":|e=NxvD3*/Iuz !NV|lF7Ջ( E,6 Z_6}Uvb~?V3a!6QgL+lX y)Q$2`n \$!zuhkH+P:Q^b-Wז.6QζkYO`uM@Feex8a{߹G\.8Qdt bn}-fܩQy-+Z&O$I^Goq?Ǒ.Tsp#~l$6~mOȲ|N %=OgzM %T#zLSi;6?8vZUu$%M>D71Kj!94ċS@`J}60B=bpM da- ; x B*vŊ//NQB ϾcoBgDn*p?Ico3)4Вq&G&a|zPcsf 6kB}$ @3(qTۜg@5/D# fp N7Zo[^v"9E<'"Аi%t!2uqL;Ljª`c. Ue%!{mN9ZAIlO͑Oez__Қ l/"%uR m]6e r^aM "3-.C7j=I4?2g=/%oHZGncO[~`dـϬŀ4 @^)fj}gڮ5g̘\G.ÚOQ>-7 g֣}?pvUz+!G-U"P W!Bt<-}uez̀Q;(4w@0NT-Ks4dsD7P[-OT0B\k@ZP TkBm9lx$Mڬ#jwpM£}DUjFulMW" zQpK*5Yy:&:+ 1%ھSLlv06w5 ,"qi'V;!&Ĺ|alHH&~&&LOzQϊс 6{3";aYNǸ #n!dg:$N%݅qOe(8ZB(Ǟ1{ y&cUaGr0OL ÛC)K X4^*bSDf.(z?Π6мb,oK9_sTfɠ6tg^DuAB-+-@$(nRsOVx1׳1GsE?`]?~_$Caʑu ;RzLthCpEmkJ 4+#]J,\Ff7SW`.߰k)ÖuB/ c> xN|~^иC_K _Rs̱jާ!sH?F"uEi 9g8"BuZL$,W=V"Xt؏OQrϪ# _*{0̆RVG¬i"W1b}$mcA!,tZA/x#8VκKH,WjN{2O^=u*pHWDV_(ca8T3}~ v qQFpy.:qʵKΘ`D|o"fL#M;xXRd?}N#ְL*@/&׳5-~kg9,TuDG -έ) *\X{\9ao~DkcnnZ y>XW3Uvg-ݯ7%N}SDxOTh@}}ي ?LEWeP$EoI]mb&nZg?}C7WW= ̽BU>geͿ~u;nӹ8L Y}Ų휻8M-{77kN6jU P`E2!ٜ[]tn>^W=L['4FSF[Iwy2Z~3%B Ө>&4g>J"-J<>!q#{f UgcxPVPs~ϫu$ ??33㎼wPxVU^QƞK_=:A+,g)PW =#>`#-̻λ1-&::kBL͙ #U{:d&QWkԲa!S{bnb9ݶ1}nvsWoD޾D]c-v$4Xlbh~byөޣQ,,캉ʙMnhϷr`WZl L7~'uƅr`NTOm eR wT]H[FDo lVnm59|8zoGT@}jD !(F%s\ ٌ]ΪLa4< ,7MM)Wrדa'kzlW.Fp\{$/G5o9ɻ~aw7o7_,ٮZDl}%T![4u 3RE |U&q_A_O[{X[ÄMQ{҉~!P*˃MKnH׈/"X&U,U|(LPURO݀koq\ߏ&ph" $W'B=.Wz:f/bEO\A / 7[D1AH9/ TfjbFDIG&o~*5'dҥ]q8E2ݼ-,0!/$M[At^3Z+29>-\ |37?LYA: J oa_M1>8i[lTASCgZԢ" d ~eF*ljlI#qw 9c𩮡1Ԏ%O}(F:/kOol2Þt rAIFt5GSiK,( ǪG0 .{^1$-Yb d$bm UtE;N6G YSS't#ի ܰ풔4c7ȋ["!_]09 ?ȧ>}(ڻ&0G)ok(P^l6j$&wQ_)DFH%ZMI*R6WtD ay4OÒ޳w9W~yǯ<:HȘ[lpb(h CLl k&9;;#2++}=t񽴸dl Q*2ƴ_/_oE([li34%>L2+ZTpǶM 5D=NKSN*@|ZiB'Jb&a`DaL.C0KB񂞐Y`l?.E}$8w3ZGޟ'k Y}>?Kd>v:MzltkN\.^ƍKBr.A4vIOD%~37yxB'-}%yىwPƞ&D!)H,"_)e l 6qKjNc>=Q*X'Fz1K$l)jAe ?ѷ JDLԯJE#F=F A2̈́%AdV돵'i5 Lur1$`R)%Mm x9g& ޱ$pNdȵ9=3ξ_S܋+~?66hZ Tf*73ɤO 4*D'IWk3\M$1sw~(ԭsq|֊Xmm3Ѣj|Ѭ6|}8[8i3J !؃H_Ƒ3Q%žr% &QEr 8Xv?f(T)+ 0M[EX$nS5>>͒|^摅dj- Eq1oeVC?Bz, ˚3wC[d*nh)Udv*!5q?l89D?rc8Cczɵ 'AGyEN)<,b"CXIlO8ro~c9r ׬ƚj!\K)U$|io^WJ̾ U)Ma\c`*ޮR]GLz3Y(M*,,A8'Z7yǫa2AԡƑhqi kgI,Hp ֹI "AzͅZg6c\ 5&' "Mhlh((j``RD, ۋ-+챇ᵊϵa$Ё|"H%O:*' no[LӤ?jHW[ϤAG ڙy`y6 :Zڝ!f> PmSO/ i,.g1`v9§J5me6VE fYE՝ #FE%l*3ުa46Qr )`<.եɃUVLۉ}y>5'Yo31n[IdFXƕ)#*RQDR 娦7 G5ig0.$;ôȃU4=AF/ҋ? +k^籺},Y܍9kJ5_$Ei"1lwy:} JO2mR]6=DqW/C׈nbBlpۄ96U,%x gC?Xa8Oxڊpׁ.mV"ɋIRpHE6kr,N03S6 {91&[彣hdCrT۬TWA!X5J?~INQvγ]p7gCcY۴yd/v6x}z6MD-CoxGĬw[@CÎlPAi5@#bRҐX֙]#m\@\Wm;&̲9hнAoo&0zf~U,x13`9Vs'd"7bL<@&y*s1a J ߣt mN8h~(|BsZt9Ѣ'h06\N6׋TaIA)rKƉLg 7 ao`Do'+M/J^U2Q-O:njkQLC[kꗟdΉ=[vo?*Z >;A#oCJF=5^L,&-F{+;@dTd<8IVyUXCޠP&o2 4(J@Һj\/]}7 R2g»ù)g2#n>!r#j] -Lgb{Y [mIz9kf }ؔE,uZG,;]=DQ[91mw-AYrl"fF tΎ"rxs I$ƀ\s9]N|\Vd*4[ĆہN|۶ g<+"57`1.9AɞA $ۦV4]yh2\.*UDzW?`.#O1`nxZ|z΁% UAKPoQ yO[!Ym|*>̮ɳ}숂҅˜l JcR!Z8Alf?OC )s Xc0)eoA)L&9qä[\X=##ÇG*>~m8th]Ԉ>5s آ}{z)gBE9\1۽ |(4qr#5?D#SQ#fumr\NѠv .t/|OJ9nVj3&&Dj3uĴl!d5u]pC26r p7.mt&sD+q߾GYjH@;LG BP7 ,T=.0!% ԥR-Es_u4Ib9l7lb KI{ɝRC1 -^a5uPio7LWuoyk>n_v-1sqwxjld%${g|ehg#顒!EmFt Cf`)L0Hi;ViEAv, ;w, ý)y#+zmRG{!}ʥp]&]VCeF~OyN?eT*xL(M.~qFQAO/DabȞ O8"&!]GAݜL3:nGaވЪqA$ tl(:|)h3 82V'r$nY3(ѵ4]۫ ܛ2eS,x'feG&7 бlsa88Ԅkݤ̈́J#m[H^VP=$sӯfv΃( b"܍ Hap =yh`+]N'lvI}+n&CdI 3[Y .ҷ&! .@h>5c`^,i6]v QX><I>  m'i+2=!e_@Jvj=*R({aV̑ 7_sjhũT>8Tswt߷8ʝ!V9iE@,/.i20*2 Qt*F{ZTU-L7\Dj~yrn[iť>6'6y(EmC)`|Or'1DnMg:~Vsß?b$4$\"G{)pf!_ WQJBF]٦|6ia6)x_{[+wdQavGR0}թxXϊhؾH@1dGMn@. n~{|;brVf% an!.]teoKX;.U#2 ɱljɖ*:7M!~22 >sj6 $˄eW[2x- n峪1|̟z]ko1(cRP)?:&a|y"qG7'GI.M` o "N2U*gCbeSS֨R4̙x@Sg%j}mڝۣpofs.rg=ё1A!p~𗁹*i-[!+}@9l`,Ӈv[l=cFx'5xffҀf n$,/|7Z'㮒 ~,ƟXG=oXrz:UTN֎szyQS7p ^DgM,{ni}m`LS"&AcG͞,=XWs^sH̖lf2hHm(V[Qyd@ʮWŁXv!GCC@C t)A<Ћ5T-(ۗ#kMebQ6UOrÕm Φu$ /3L]$"ćt -r ZB'?J idEY]bVH/l(1"{xU c݄P8mo`~K.zHrJ{sأ7f?A#Z 1ʋiw4[k2ŷ""Gըlv'.*ϙ:`FJ)&&3%Kx>'I}4 _Ɔ&g*HE4 <&}ߓKVV!١#IWt:t_S2!7Xt34C$Ʒ]J=(lvV j,r0Ea0a: 5i s2Y/J{TXPU;tqN" VNXL 3)7lcBƧzm^w)oʅ(95Q\h(T5޹:WT9[-8k[76iyҷCCFU,ţu6Qp^?lMl HoB&tl<{ kKt/zޖ6gpT=qg՟ek8e@݆%L9Didؙ4E6\[NNo&kݡœ&zʊICwM߯  `oNoR]s[py"Hgeld"Ёa}N@-.+"?$x̹WK ]=r~+V3셁+I裖PTL<h_(un͟dck25'e0CܲdCyӋ x! `r7 hX$}>7&^H]0,^"D/mDi;T;xjSonrh,n "_?'wz[@]_+Z4e7~,s߉"{|.ٚIpdZ/B+Vv{rcS%L0+:z@VO(Pho%3Di7:)0{V ,ivCC"[S=H81w+YT B7lPVM5tƍ2q/+Kؖe.G&Z6^(#Qsn s,R pwp~z ?}դF,ZHc2a|Yk"rMlX,2݉~l x00YPRlY'G=("BB<6:e:S9{Vޑp?߳6z`.8~Mx4 9q'dGg!IoZm[^VT3#>ec"!%3?g\Xӈ2GkTapz27*lܳO-ߴ3 "GZ,`cQ$EЂ2b9ʶ+]Mi:Ī9xfCi?) ;FMW4&Q,UxXne d&˻LڤCO1RJc09c6ݍ*.X'ТWdT7`ꭇ3\k_o|WHRA޿gcm@OGmÆfR?k;J tWU>kV̹sqT>c6Gf"Bh[i5z nHoɵMv`Mjv*,r͛|{%)mհJ[ZlӴ {W;C(D2/Ui|5#SX. <]2PdS~\Eׅ$'!իWp"4= '(IGAs{eq!ð3x-&#]Gm!^s}%_]_Lrv}AfII\8Nvnc5ola%eh/ dhW+ D[%lhPeC)Q(`/q Oy go[Nwa2>*B u8f4a.i2GS]QSn!7#tPhxC m9$ 9=}; @=pI\[}꣟a$U|QuT*p/I ʃ)lJl.&H9@3;]"~s+a5@A4MU"Ӛ`8J`!_vb]JֹojQY/Ԕ"\q׀G TwEj چ5R?#$)(񳹺px8*LL2Xfj >X%XdSB;}Uqlb6}-ECRoYsmё~yfqj ,/O\(y1rek[ślB$d7# 4G5݂z>A3>.`br|֐gW 񫢑ƻrluXlnZ̈́ƚMʓ={{# mZf=fE;Ê{ՍYXR;ر$ޜrn/18uЂ\JzSB%w|7?~ * 3bjFI,+/ڏ%ާr,%ۦȀXWt:v"J('[ZamU5!˕9A@-]ESm9 𴝆 5O۱Q&FΙx`]; :;3ԟС4q|?i i iOyQhd6~"=ǘ/7&gL3S2 g$[q::jE/xLm9bnRBð*3 7IO@9v D4gr͖^V{)4iSLEtx$BZB`HVܐt@p8]FȵSS/$y@lpM)C3w81[\*bRc~kУ[t1WK A](b2lm#1[ ab=q >lfR,nƠF9 ]lilg(គ=j@poP$M*,WSy6#xC=(V"06 vO,KAaDSHZV8w47,o b~ |!{,Qs}ם@] [5|;.Rp|4iG;yḥID܋@˾w+@YS+#"ri|GKz A&?K8YYCiߑ4OKcf*,^TBʾWrrކiU%1?Gڬ r(taZ5IˤS@LjO|E(oRҪ-$eV뽌wfHXJ_vH:?1 kgv4^~8CɬƉ'XBԋu&v}S8 y~49Ld${qiև 6nW r\ 6p_Fk^NYKrZËn[7t2cAShB琍=-3)τ xkM{HBNkѐy틭y Wh3;FNYMf@E+{ێCWR wD*б e?FX43-2bUFOZ bo&)5 y xZ;g+a$1pC t!,zaʡu 8WK:킯kυLOk6z/raNjS:a|%Źݧ8y [hHCvϮȼ\Ƶ _uSQtwr`{A-GNJ`֐zUft7ҽ+ l5yOLPy|Z`0uf?[)w`6aH߲NTiA3XEs4$ NIuU! ߄뤯S:̄%iLƦvN>5uYtSЋ]Kfi= k!<.~ +~hro6s;_{4\b>7]J EܲŁ=&BPk0AW׭YBҷɢ{?͉"~6ޘ pi4y>?aym.&f\9jʔB=(v%DAG^69YePnLo8g׃dR.6'ZyI3a ( |(6?T*wI& I-fw1dDQrH{\Uq;+=)A7jjrxr w!>RDDa[D-:w8^z9a8}Fʏ01a2}.;t XJ1+߁kMo xp^ dxvFd_Ԣpr1+A0k4'+e@weUWٴr]ʆ݇%T@eQɗʪ\ w04Uc<רn5@COZj'GfZnǀZ]Gड़x4`L@N0>0T^ҢoIӓT;Fz10Fqb2 U.L;b$ čb8 ^ZquBI3C+(v"m34 ]Y'J-t | yEx4԰A}!)yMe2^~ ;tdl`3] MEbVDϞ*Jĥ{`a.8;nKLTbu!ݽij !"%o(pWv0*ݕpL_B&8$Nʃ{b?%fIz А'+N>*=8yyk ҦtҜc98>M xw̿&#:Tg祏on 9=nVa ސjcdqZW}dbn*oLh8`5vqwx̙40bs] VU#W`cgYD #gx3X VRn %9wgy̛x%}kD$qs[򲁏D.omCpIz[Qh"Gwb}8`KJ^'ȓ]b9ť31$8oB_x 9: fccجtLe>*2Ͼ#8y#H!C%9,rDJl`Δrh-/+? /y}91#`R]1)..yqc\rX7]3p4K$:9s}*W>GuҎ~ 7_$ʏlt򢇢U`c&;: JyrQ{n#0OY#(VZ֪& <!]&0q7CAkb>1MVrk)C'!U۹aŪ@109sh/&K'I7_C_gdvG~ ?pîMzv.Iz} r̉ ay',`%d`$ЈR~O7(He>v5h$h>#e1-KK {~Tn휝U7 ճta\P<< C>H 6Twu Xoumʵ=ѢM[oGXQy -]I`irpV?[}{y[Ǐsgh>&'i{|Qet? ,;fAle6Fv BM<*&cXoeDj#53\x'(, 2U\iTpjHje2'$H j9?cd"ER[^ΜE 3R˜E`$s#!;dJ4vW񈝥g˷~t/Agt$E蓟wxvZ[olN>m? iV58 /, S3b UɉC_kZfiPe i b\i6{ eG0$_ed;arqjМBkNC>YGV*4bfSJn^ (X2K(. O )U#;̢Oo1 |{?9tT|/ ^Rm0O}bCH8'"Aߴv+!1ylQ ~0ݺiĥ+ |ۏ4w~{,h"0}8gZ g^e{ /&I~[=i5m`FhM޹`/vF2UDSgv-RZV= m gf)"Ϥȍ+Py >>HBQs% hS1qaZ,ҌVE:y@}KbwJ0J842^ܢl"=y>@ޏ(P Jgn՛)8b;(J:q3ٛO̎| u${[ 05_a h3tǦH*[ma* /F/4aZr>#R[HO]{x4X]pd.u|Sw< 쩕!LhP# X_.zXZ8Sɒ鶚u1E)xv~&cyLbD3$U` N':ĒD O9j +$6c}[*6fY2D: Ok_D[IAv~MCF-"3됈 )Va %*Hqvhk_88]"f"&{lT膦]&yp$Ql7_=jh#3겧F}_VѩgI'h<[~z: TLYyd p*:d8!td&m!V Tf]$A:TD!B?eWtfQϏ)+KH/O%[;;#pg"5Z#yY*C_!x5(浐>ɉ:-S^\ūV`4< nn?~z2{|eWkK=)tBy;\"6TS@Wnx?Fy+F$BanW=?zλŋBgpW I$RY ~[C5vK3τ&ɚٹ*)w.b n?Q?^B(PΩu0)8db8(4X,!mE(* <'%"TtЂ ͔TD]Rbc\7i ȞF7g5m]fU uGGVf~ ruUU]#rZܚ>[Tn5(uN5zJљQ&KR5ﱶqܥsP/v7Ʃl ǂHly&' ـ!}w!s{#Zu[_he "ގ-B6!e0v:iOB@*X n5{J=* 8[V悭6;_J_7BIc" .@j<\Eq;g>wc+9] 2$[i_|Lt;e*p1]HZ~uY!mea9z 326 p&EE/Bw 1VK ?=P \oQbX|V ny*Sx&5[+H⩆B5P~C); dV=BeˡȵDwQ#U7#y/W͌J7flvIJix5=ibݝI2@ȲzP+g}R0ʳ7lxP-,wziJ!?6ϴzMW8 9uLZfOZx"M˚O󩤅Շ9\"p5Rk!Y&vU*zF=AKFd*QŐ <}%u{I6 /rU\$<(F)@zLB9. l44?>V.z4f|(_ ?>I *R}!.K}}^wx)m"a՚ RN,<hWqt aaP?Fz=k%7 .*eo$}ڰԞY QF(YގڼFlngJDD8<}u\mt>Z 꺑.&ܵ8HY1$s?z5;3'-Vqib vhg& \t 1Ą=6SۍtU&T_ۜ덤+`ZRW2{fߜvA_^86Co,N>iTj1\g~lꨣ\:o `܁ ˿{,&\:=߄'}M7i_B%ƧD1-㉱q4|? CK4~u{wz(0̖>S~jR:*)ax^XG t5{`COw^b~jxP QYŽ=ĂUP"D_΋kƁ+`Lgp@q e{dVL+j"YbY>X!!q3)>QT2,nA==#q >{Pk? M6F)jv1:DHr c#dexX*ݽ1"U̇<}ICĬGY+NƃgAA#.q^E3ᒴޟ4^rpt V#r;հp+ 7'Qn4xɫ;[Vz9jgw<47b'~QUZF c!G X.٫Lq½L*xJG*R:I[8C:ͦ!7Tbq6ڟM>9hnV:壢3in1rfÌclaJ.GSD 躌& [ wLe9~*dHdft#BCkRqz7VnK!"!Pׯ\ f^Ӄ/s!Y7Ak?LR.\{@(,2E;(:;H^J<GqLLOw.̞Ղ;% /%\$ 4s`n/ޑnywYJ9줎C ̔^$I64.mؗ5j^#5_Qam$$<-Y̽C:r;0<( ]/)rZ/?WO:~@Fx0 (" kI#!2yUꠉbO[%3VH`xڌlk=dyu'! l;qS^ԇf/de>_9X5yJERy39 YPལ Ԥ ^m!i'BƩ-1ݭ&I!jHO%)q%dJ~vs42rUuk!kލI?TDdk;ș>FX 8xrxqۚ*)|T ]9/bl#H)ZR׏N!ΏvgyiK1<ݹo34r 1w)M"{Pq_; -K{lcA."5q3d@l$.kdU3`Up` 7As^EC9rknĆg R(hDx(`U|_|H |L7㫢Am}HU^%/{|r#|5s Nկ@o]);ȸc ;☲)uѨ(\X4$ Ͷ_usƗWJ@;Pg4b H٥nE*zr G;"5QefXiƞWG .I ''z_w/ׂ&Kj(G6**I|)ՔS8Ei%#G;oSKѬ^<#rq:kTYޥ~Z?l>SeVYlD D5k~ZkCl62,a@ݷ )dzcdQ.h9iNX}NEFBDt4&<0%9w:ϸXZ'=4Cę2KMzc)lbf:DAw| X<;l60, :j[(ΤTbؓcIl £A0k-&ƺ9hۖIG l8eb)u.Y}[e7';MA2b?fSm+ֽwrޤv˫F~%T;K'ʆQl̾qo2Bɉ}HzX^w%SM y(]{}F'a7 uGij#OYY+])^0UɳWis@s~ kp5 }j7)1J<+^}Aiz"",g=@ Ny.J5F=Ph~gA*MyCC0>/(!ܷ$b7ka?KGQ84 QZxQstY^]XaP@;5|6~A4ju>`OHqBłkL}X] U ĚDd(:.LoYz $x3u,Jc%DHzkfS9YTRE4YqP6)3O-3[7śI HG{XͰ庐} ď ^Zf Cv?KM[ͯh;+ _YޤG[Ol-;H mfq*`DMb1v6'G>CƧ25~(Љ5Հ bKs9yLU|TK"8n^2#JMɁi LoS?GCU/&0ᷟ8!,J"ovT9%ύ`bX`lփ*hŽ60S;"}aKѫn(rD(nAXvio WIlykR-_z'ijH=YܶĶlwlgcI-xU>H̺0kKh R;4o_z]hHr `J^kL6m{QDB׸:AD M'L>MQ<Ϝ,Psu;!YA$qlWl-uPP퉇LAV\l|#sse\J}olfXbHƬʼn`FMTzdج~a~T\*Jyf7Ư?5>P^g S:20sU5Pۯ@zFeAm%Wm@6Gg4c=;%o;|ךH?K[!k9߫pV''1ksܚN-MוL%.Qۺ$ǝ Bq GNjsupTqUҚ2NR}ѭl؄(rSFr\HF?tPFۜzRr[@w薁a${I'C0T#d˟TҀq!nckr@=n:)J0|2t;i^H^}(nuF]dF헸* CVjbf}a"ҝp 0Ju,-@w)0箕` @lBI$csh**ygBeS2υoR#C6df 8Ġqb8oTǦtB M}fT%3|:J,mU|qm"ڙPv6VLj&aRǚRG[!, |ʘUFT0m~9N gZKU6Yba=ɖ6Y8uD}4lq7Uaf[lN2?ʒ䇽Uj+,S\]ݙWX^*d5Z;EUQ!&|^e?Ի87a)tacl pzkZ͇RMYp=bh 2'Z/>%I?5c4 қL{.삩g#8h{O֕Oe0&AƏde{d :Qgn|Q+Glgg`nʥ;^lgi+lzP\bxCPˊM5>K4flF*IUJR~r-OA#]YfCN}ؚ,MF"#V>ŎzSd8=kPgīkX 1팠 xDwwe7$BzBni+4IfatϠQP#xhTK8)b-f&P]%<_nh lC =)}CJJUQ`k-H72'G+48(sWB'g>mKv#Y]; kV"ZZ^x^Q'_ a%庈ݭ;w;BC#vs֌WPITFf?vL^yǮaqLӊYf7x'ӊԜzAّF΋џK@5hؾ;n r*FkC, ђBF !; ҧ+ks¾M$ C sO(pFM kfd`|pA'Xy_ 4kEٶOL! b{NR8ә]alt l_,8)z$¥qbHJ{?ae^Ҿ,'!`.^b*J|{Mw*Hw~fWTS\J'Gt{+B7jOGqlHL4g"nN=Y_~?*)z^=SCe@ϗ>vN6m=6'MB!jL%;$xz,2Jy7~X^,AUDXzyf6tuw/KT*aO.E"_J:PDmW f0* z՗ ]^Ĥ@f_qKQJ_JQ4xBPҋ uD0Feuq:kIcl/KPe)p}A^, ]_ѣWufcM_}ONz6ە?!`/ŠI}Z-lsT4_ !j9 uk;7h^K6[kkvt%|Eg9G /VB"1d97tǢ)C© vf_mW!y-L"Yl g fɊ7 CS)%l9@^J _lT6SY4> assP. ɀ{C4WEn\l\"DZ%nAUȢ ^I 3#28yȔ2V{m2RxV7#@ՆI$Vnhc4v}m(σhN82'wH;6aOzY# ,P \dG拰j?F i$ w/Є4Aq9zj".քFSe,TJ(.qjXb1 +8|Ѧ4,ԎgW$C(/*C$U[o)$-8Őj[:/#B]8Ni{ZLwf[dg@MSPթXYz+if])Z~%i wTD%mXgC+~gGa3Ut /p2DgmItĺw-ˆ"3k+i-2܆O.,_/>տAQBd8n~^).^9Om${mH>9rV \@QuT6W`Ncq֠e0ZbE`t$qhdarpTTCPD#7L:B9Pss4#ƲA@1#ϳKrmCRAxPϯ"'Vw326\ e;,e;g硬=9\ Y;0>оt;"x0Oў>8mI\&U3k:fA:S^k3Uٛi?n\T]kZa[h&ʼY;֞cV؄B,'p}̂R{}H3$ Y "ҷN0\HM+"$ȋeit[}D=鲦QL9)B͗@ćM#W'QW=?`#' Pf0Ю/!8nS#&!nứ=^@tS㘖 <u&C2<4^y# xnLF}z |9"TULkH iK!NB+Βk mBΈNn ,1Y[-Ar;N=R[[2Rֱ K/$A5)N@rfBP:*^Həl6t[GUOʼn]Xqjzx4 PfH1>OAndglrB[nI-:2tBr7"3*br θm&?nànYq]kA-Wt! pJdS9:m!IᓧC2*Gс K^;qM:R~ssz9J6*os&%UmpIPixBmix~SEKA;m݀x?vDEL- I1C{KqB,Q ߃RR@-2?(ݯ4@98~7OCoޘ]38M4=nL X" 6U:Jf%_ w6`o҂>b(́m%kUJ-H}b pxKNb;WֳQ fl{CSbJY}|*?eFS& k_}%׋[FN[`Rl0PQ餔ۘL@ݿL۹͠1Uq +>VG$杬܀R(Z6~՜!rl_#m0]=sTYN\* u)sO<],= @ܺ"6ɢ\iuF|wK % -'8,WyP ,>9B0 #WWפ+},~[=&6A2ګqퟧIrsg<pjb:Dyvm2WY9^A-z}3h,z"Vʅsďrg(0 Uh"_._܏laŦjtI3#cHeMWLP;\bd/+Gɨ,̓b _ "=!b SD e" Ӓ.꟧AU^[5yW8$@_O]+$). vMnL{OY@d/ lsV1J0n7vm(3?wBD}JBbW%W`oj* %ե9e? фe$J'01A222+?x|$`b˭FA[\ֆ]֨HFS'P^|# .D2މ2?6jsbs(\[G<O)VGf)ҬS-+C[I|)|]%SmD9Љ9EΌV$ r+}kJ[j1;IbNf"~(,?_qqCK-? ih U+;6v]#&'x;sRfBvƻ4 3N s%Wt; k J><$@c/7K4ōµ%jz#EꧼrcxDdusͮ7~tB Mx",4:Xa7u]#H+;Qwӝ@GW/)4cb fn$^R"{,xYzJ Wf]هN%Y7aߑ]tqaAF3eu~ f/fpx굣&o/HkA%*kEɓ08jl?^gB]>1pvA!V[D7d٪ 1 00P\{d[qw1dX*i,82?=ҝE"~H0Ϣ4*K @#=0ꕪ/l*u 1c3T:x 3>bo2B6AM?_~W|1[* a}O5?s1@$\]b|=:JCR1lؑbh@{QtÙӰY 2|iyXaR\er(K](moMmw+._v0v waJ;eVbRɝ-cS dL$LɿKF-؋#]ECFUOFj+{WR \~c*~벖; gEWݪ9RY)j]i*LlKuUq\S5VqSyRi;Zv`a&#da`H+$Q$lj`1"GsoT=zV.Bx?l6~͙^9O衻|-g uiIMd16 n+*%JEĜ K\ q s󗤞o5ՙN@7k,W.eU$n%ۡTSym} ,ҁ@,Z3N$6~•'qj6PkrF[0= A͡)-lV%jL</P׵KB$2w.Lψ{03/Ү JLS‡?C\e=Pzѷc* %tZanyבNUM\ T;+Cϧ_Y3B׋~d2~|#j(J,dnR= Pv~΂`TtdRp3mTڮRҽ "I걀?aAS9鈯-h?TGjA"Ə 9a(|Χ@ uh v et#g5λHnq A0wٚ840RԞ Wӂi.]}e 4 "^5e_4^~3liM-a.+ cHeJGxIJ%@{C%0c3 q.%11+艷f:;B)EZ(ѩ Ju13zԚ+ZĖVv/\v@)Ƴn$ Z)}782Spg/U#9)Aa,mpF@$.=8Qے1A|do2N#L(ˡbd}1=!_n.`)t^eumr`A We-8Êjz_y[B} DCFM޲ l9EQSg1'JuwYN b7:a>*Q:1@ $)yfwUDRGx9*bb+!hXVȋ%\&Ȥb7(N e}ex!AՁAlv7nɘ`wyM#/9.L:,C#FQƿSlq :Sqs|IS6z6y%饙9A$٥>p3L̕ ·ť"?o+0j4>0S0Zo5{SA;tCU܋3 vl 3icWK~Õͅ4HYVl茅. 8dVbfAio-75Qi EwFNd>{9)8 捒5a.Z %ӣ%FD- y%x|R f _SNArmJI 癭Yc'ڠ+az 6mLT0zԗJH ܝ46KUCn7X"*sQZ5 6;&)+g ^!)`l*A)5F.LEz7ƞCcLAڶey|{w^հ! Trk/`ߓ $B0Ag}!"2⭷ >3QTnXzZwTf+A}o8H{@-?%6BK)5- FBP6GHВڋRFy##`QZ&ϧ  ofkyy䄳Lx m֟$'̸k}1hqO>p9)mNNcvaZ,XB/tF@#_}S !ꤚ6R7p+jҪ4hI>8(jS n X<ѹQ;-(** [;de9 I`: b3"g"j #=D3Մnq \ YojR1ELfp|) sP/Jh{&i?aRAaKn=Xsٷήčtqdt 9 mzSȑBe)8ۣ F~-2/~5!"*䞾WH4 \]O>v o"\t-9n$cYP|b;2[Q H+M WG $a)-]nӮHVV@oZr^xpЕJ6u*nH` 'RR_ ctU>lД)J"b5=q kCܟ'1\BiȬEІM?P<}nOr.➱=mU)I^RA&p=Nrm ̋e'Fry8ʟJ1g#\fD֓GX*.+2(wׇ`ͮ'1c,ԑTORݥDark .HܼfLF$bIe|Rj%4I' Z'HuX濜C ILZEH3n7p7 3>,FJ~Ul>gU9KYR9]ցb/@\5;|eP¿ʫ,u`$v7+>qѴR?5% 놗u.IPdČ$=|W1!QC蠃&$QH ѱo97g4+H3fpUڌ^Fusc5ZW v/>M^DMqHOڕ /o> yG9VB|5ژ ڽՄp{˾}#̄O&Y{פ SVyTǰCH+z,?tz} sJ4, $/yF ~bLJž,IyM2!}AwI ,9bvsedBV8&  d&d9v7|8@S5p?1Ri|Df=5%XY~~8G vt­If9B1HWM m~+.7K3RX(\΋O|@nPvѤ}Itq൛0 9mR F2[f]L@vrX3Kv%:v3M+$& EMZ vWSP "g^w>d~ӢJ~PM8Xק?O:KLe:*Ytʉ5Nc>y JNqx7VACwAs<" S䖤9 h6@U=:;.ۀɜ1Ya)veHxNb? д6{ReJG&<$=HEb&FiR#I:61iJ.*dKA8=xRuoy7&EȕE'2"*;BItCH]uL.IkuNDf9بm2]+cgjFJ8.ȢvjUI~`oc|^Y>?|z];z<˾L[cJ0?8ظ,ð(]Sp纡EYsŐ 2z=D G.c g~J&`TM&6m)> \_H`?-=rg!f5v~]f8YG.i#h&Cl5ьH?NcOCD=Ֆ˼˞?ӵ><5M >8&!JS b:z LKם'Xtf, Х4>R$I8KfO#R?5tmDڠ_ǒ>Eg*2_~"Vv'ǃ63hOٵDooJ'}X9o8x-B F3z{وK+Vz HO{ZTat,{ ͝U୐bQd%TQQ7SdY#sR (֐΢Ԓʄo gn6*~KM/\n/T.ZIMa ,%Sv+Ms(kU޵ݼ:)2Itz6'd J(^i[7۪>oEITx\hK`Oz(~t. 0$+cb?X|MMrC$jw`EgַCXwS1Q2;OOlvO7<*g8vT=oǷ c.s^ 'azElƪ0AǦ(۸f'(Sơ 0RBMSAK y=&Xy=Ww DsP:~?Q 5l*LI.@/ =Bds].8+vAvI0J<880;Y읟it#>-XRJݣX#; aS^q&d#}.`xc^Qi,uG;gX&l"E*dИBhndN4w&kȂL!nz~NJ3aH*ބjw~D ^R*Ǡ 6b>, L7(2ѬvP}qFw+q3|.h,C1p$5CWTW3|\alP si t492A@s[ z^Q?I'X ;g U^ zQރa/|oȨ t}CH;\B{ll2 7'gˮz:pM*^KdK:j-!OY 1I5rV] B@#IQ\;=$1pRLrC)6򉟥i!eh?!}LQlS( [9*咷.ёԭm7`b2rI Z٭ܱHkEjoؿ˞\?|\9VȪWE"YՠiW6y=MA o?Jl( %o 뛾D {ݸ_`/xў꽂F◐KW_ݽN\^ 2LL$ŶtϠAvI?z!pVL߬c2t7o]*/3_fzCN'>sV~ pc #b;; }5+⪫vԮy;V+O4 >O8 Ce5gCVc ZSFp:[eΥ)? e%oJVz9C]W4M.3yd/+YZml(X7D+W5\8#WkӤMN;k0GBP"3Ϛ9=u Zh"VWKhL]ϩg ^εpm wcJLzJ@d`#՚B1{̻̠XA^qrȥh )l_&B3h XRsN3s{?cm=vQ-cK=t<6c';Ղtš7}oBC (#nꫬ/w޿MśfC5,~5yru |}hB7q~EWӔZO=Tţbzg|ê˃Evm9X t;5H/,t>psRA `"6I'A!,q&Yc΂> Gk[Eu" 6g73]p>y%T Qnn81$a$zp2 x$5XK*G x)DBT׻帝9<ͨޜFf}]\UQUۣj蟑x*@Vb땗eOTƸbj5AiFA)7p+A~$LχjYߠFEH=uRAT2" |Y`nN5e*03K{DʚlyN}c 0&~g\ _΀"ѝO2ҟ.K@U+'sA@pUGr{ OJ^.}k}$2wм?npRT:]X##fu&m˹k"}oDt^LPѣ߉KhXF(E8c7?+z4'IT嵃GS_Ct=G#~A,<*.`"Af@}^aǯau,=6p71Hti;"oWqG{m@BgN&tO&\B.&`B *͂# .0T;d?"0T~Aҧ!H}L)jbH+I_`c͜: z͈.ylϚnIbW5ʲŗ[f?ui'j,5>,ܝAŠP0%ĸiӥ𢿼r1nev`)*?`8̝ƶavKr0Gʢ"70mck|5/( RÞ$GRStF>d]ҿ5"=8O\4@ǰX`0 ?VJ}6@kE v ux~_JHn|eLr5DkBC:&]/>9GaXU!0V/[*1L7 hq3-Tʢ7iODy>O$G-2шŜ"\'(ֹ5dy"Ԕ% >& R.f:F!WX85EBLcÐh"/LOVv-|lDXR D~9bn'Y?4 bEH(U$(xdSqCjK@EYkԋ-S]Č`-[&H'ٚ$U R.n^.WW`-3[;qCy&y&_^߃nbTsV`ٹ5dr:Lb[rBxm#փ0Ko / aDdfV\ ǀoAh܎s}x8pBv涵w^y?xh1)5 LMh*i|5 )\~Esk厎9p{GK֧mMPm,Ydʼn'cz&&7*+}40~}w6.%JۨQ`IfL}m|e).N}OnhQ`_M-[|;&`rͻ0+/ۤߴ Q 5['bG] ̉ȼUD(4:LsK鬬AيHP[ڶK\$tFZ㝆F{y0`R" j} &k6j~2IPSuGi+y$xWB>u~Qh>ώ|z]RsD 6hyYθ(ϳP+Cd1ξNoEX=Lf֨% [{ Kf762͵ h.L4C܂K7$b'!DFS{R6غpȟ|bSJu3ur &!B9Z-c. R]Q r߬H3&Ç1 a8ua06i2^e\o5m @)׵WZRj:2@"&CK Lc󇈢7Wo~:M9B'g1,l+v!(xȴvf VJ[`16 Bv6wWqۃ?mG׃dϛAݗMU٫Dhb}_@Ml$Wm[}ad!%O D^Do'-ż>хhBd/V$rQ$W9#y1g%BdVM5YFR+#oFr> VayYN qQUf٩6j,z~J,?bKTADI|2 !E2=s};%c"7ɆΣv̀ |/"UV"NWmNI>bGa"ZvŠY]z'6[(tu .GU#9kˉXkeK8&i =&(m"VBȗ / qG+b)4fڌ@h[,י$gI[34)r./_;zJAv#/4CuYOg-͞kiYw+5X⤄I5|C;*GJ:.4C|3 #zx;0iǹ+au6pq2bP ^5ݭhڿ b{uTDy! yQK|\Wo  Ma4M+96VDD³( ^Bi8ADOom& NMjNo-A3߼(q&)̵Z2U:TT y9X̓8{e!<-{/DXr l<oHR0,̧ 40elc9<!bt4!jp`جӼ7'? :fbOj߭7Bq Bڒ3Ojm*d :OÖam9ݡ2.~җ:xGOvf/Ab"Q@L m|*ְn eFɆLݺs cr{۴׿cV>{ڼ}GGM7J*8&ڐErb- n?&ȾYEmɽUg>c _F^[Y״^msq~ˍ~6x M֐mqVa!\ӑM8];ToΘkc׎_ 0_ۑհ~fےwC nAFM Ll"cZؤDF6Z- W#xQrZJVݜsgsIAGS1pH!9ƏQ]hFߏ/FްgJ1 _wL7j6y)ǠqvLL_ mTsdEͦKE8r&Snuf=A,I Y3hl0WuW @YAF #%V|M3Y.N ؙ4@{ oP664ZTL:Xf<M A|zaƝodwT J\2܂ɓ8*C=׹лb9kpr\=Ε<*ZqkV??,sc7`Ȑtw=/ XF~%i2/ǒ$Ywd3Wm)3:X/ݹ9gO!}Ή9tvv7J!.sY ,GA9}\]*exWT}Cw40}5n<|USXg/$)`!V&%4o6 |٪ okl"?VcUe`-p> !Q:?KY(Kä(g[3T)~ IXbw֘{r{+Ue$3tO?y'phgFj)Mկ}h51% @4.7,@k}s'O+pzHސ{nckk#\#\hC!v {kb9X_,-a7O/@ך:#{Yy,Ł"lՁ[&hE\;'w`wUR/K`Y=m4͖^'ܡ֎z*טfٚwMd^-*0T88״PӅ/aL}dh7<9B7 '4M!b'1'|AT%*ވ_Fr0)/\+Zh>te-SιkNi9.F8z%.5j U<^[kjLx3.I+$mQ(Sq䢊U#<]Q'3E"uj62&湏Ub=5 E<p.)y%y@'fbX' ƨ$8CBRy1VTfP<ʲXʣ~ߣJG(D8]1i&/ ܱb`Jc\c^k}(p՞]3P~уc {VS줡<A ̿:J4Jbi?Wqm5Pg+de8|< m&nZz-ixfka:^6_: ?#&GUȓRy􇞜Gu0õ.Xe\Q&PG` b""[Mw7XLY9zx&]JگpYIs'/:E[@M] [?WB%PjPː쐪vʷitnww -G?F4 t"j/ZPh5)i5}>-}H3`M1|Ԉ3/ظEQo[$F 8m-lD6D[aO(wܻp};<']qZr x}P˥"@S5rM|$E.!}ܚjj%;(nWz'K>~.h9GPbӌ`^>KyyhwUɅMhM̥E_ѐb7e^M慼;i,_G:Y{ǘzzt%y;a Hq Th($_d8X ;esw^7U. .;۔r6 hGk1h4yj7Y㥬ƹ)ޥ u:W0"-^z'<0F-jX0%fe1 "N3RzK9 /f浤rߚse9|qxJLEg#B.\UE%aX,CU]74Nb 3DZ6F|V`x+Tڭ=y_EM֮׿x73='[9Hi!K},zu{?h`hch'ؽrE٬x2^Bz]xpBXv5ܗ綣~ L*cXb]-^ĀZ`U$}dޗi,r' [ ɟI\_ ޟKR>D1Z9!`#1*F3g4ыWr;dgG#&sQ챲KM,y+rCw #UUAj\h9F.gx]\@UPr3Zsûlhچu\92'H$C]9b&N]˝X@rD,1̉~< QB[pL{C[R#x:ۇ #3XeQ;8\;P@?O2拧3MIvܹI2Uҟ|8:~` f! PpHY(YցKn>DB01W5]_2=ܭg eGacd9_5б7ZWgAֶd K.Oiuznb/ 6t@2sSa6I/ogpoL@TUrN< x BсMPU6j0˕v'L97Ϟ:?iz6Y7!|W 2.eVsg7 [P1Pi" #3H%hO3}mS3k6%+T)^^54l̺zl\LLpqی6? %}YxܖF bLϘ==dxG+E;UHשԯLt/&[Njͦ‰5~7[-5'4zv*j8U r>39t|WpYXxƐ\MOP4m% ۉ+83)lr oe/`[k%:]YR6>⻥'tׅ rhwDy{"*n}pڲդtWcݴma_,my.Hʠ%0Dx-aj&%OKLl.8~~^ Z4)e{+WPw ֪`amk6)%`dGe^upU45#/JA^Y s^<;w+: ȡ&VMrqnki+¼$q*`:mHx8θu_@q -F6yTX2c+,I#E}A\   k$ 7^׷&gVX3حa"Ob, ̋ǻf2.U#ۈENSs63H (3$< w2뛃cw`&"}"mRL(>Ǖ'QF͛5ǶJp ]w#؜KX3~%|EP6Ro-+] `=[}X@y~HNmӊld}NOs!a ]d{y [܉OH#-=SňV*+Q,ֈO3NתK()29 CmpM_Y3lx$_*A9% wK8x`Jp4 ;s"x DOs~I.W8c弮2t8 uJz .01pES}It]Oy /#oזtv pG, Xt4ѾPA.. ҷusF3Vk^~?.ɍ0 'F &}icBjsU-з%bda/hit saBN5ª<]SJSᣂf\M8GF89P>ᙌKPz|qFOX_S[e$/+eJKi'ɟH>eɦD d1_rieyԘs;;5,]M/Dk"[O !YUQuni3T~}@`;mA *m1ywBZ7m*a8eL{+0v'eb=rB$=μl~R#į!"mM|J(l\׈huI6+OH,a%@'X.株UT-/}J6:Ь 3Ddc:/4s4ҧS :+[I3J N'/"n!]hq0,>ub͂۷V.[2 Yi*§;JR^&=GG(īf~@z3BbY oA:eE}sG4Gvǫ"SL& ,E8"?[ uAMͩ@ϊI|L`75BτBq*;V]rq*`T;RBq\?e\Tċifm9`%x! O-֊r|mf[=GfCs0TH2d~pSK(ZdJEG1{GhQ`(w.|]o qd1p _^7]z+4frd ~ק?*کr)_gKR<\ W"G?^.)gHEv`;a w}pO߶AaxNMxE7JAN~R6"1Gpu .-9[@ZQa)nR&^\4:8QOQo@;m;nM<('}7m@nS7&w3oYmO6n-^gpyc"SK=(\bU cl~61AޕX5%ad"p.-M@wVƾӦqh|lY]l~1^jSJb/~A/zeAIY}s =v% ΈdZ$hXnNz z7>X%wffazZs %-Pd.߷)Y UJp z_u ck"#,7$RKEw ̾ܔHD`VR"'tׇ-:㇃BFI4932}FEQ#o6:(F׾oWG]_ +]+kd(k#dβnL=m8Zzs/>K)?e|oG{+0 'k?(]wOvg;9>b=؃mH2  :z1?hznC+6,Uߏݾ_niƦIA([BB+1„);* \ط]glEQ_A (/q7tidAEQ\]')h2~Hrw^M2JBn"g' +xs|Ck)nY_MN$_Coģpt ~r%IP_HEGXrt~8YiШJrY5?|t |Kj㢡ʫ+ͅp>kנɱH9jT6V~(CF//dgcISy'ZyTmF  i!H'{1_LniV{H1b:6S4k49H`|fz!<-Bu}(sV:`ɱcՍ8Qi3Te| 8d.?AjH!ֳf#9ld!3ͬMG#7vNEi`)ϕ`r@u` "߁K3f Ql侢?=eC9^j@t^*S;2z#:pRmc8rE0r7RpT2ŤJ}sA-)<}M-:~#_6XMt^3((6.D/VRXTzb1>=Q@C\:`< ֩yKRiwKϚٹfg-U$Sԗ3 >;u6CqQ.b4Rh.+Ck*6~׫$H=$B Z .V/3 FhfOI8ͬ|d,q1VYt~ eCa8:.f^Ԡĝ#q\+vDآʉIj"/!wC[ ~}.duÀ~L^??4W/Jh#H[eܱ &B36QiXe/y2lr9EFcI1+4+@#3:R ӱ3Ym07^VKP$W/]E9 krO۞D{@Zo'nHU$UXx$DZL>5 X4$g,ZyOQCP3qся5{SZ1M+ct5j0>d#4qD{omO@dr],XpF@%90蓟G̐ )xƾw&}+ϩd)XuOyι &p%j4,cKUlUz9ܷ.ݳ(V"<| az7]/o @Z`?wjy&Ye,Ncp,3I5%͙͓E&/(2J)#ȢSe ׽{\SO ;q_XVQ]bvW2үyUXěRܴEe*lfak_Ǖ8K޷sljȵ#pfX0\fG_ׂ]3s@?YYZQlZšmsn}{C/wNtlh͕{1rG0ZXz63lo-X1,$#gj(Cj$Ӽlvmskߦ~62 a`@_+v>OUm*cCwEޖ"Vg5EupVN!StFʄN&& G'hLzwqb?6nʩ2;{ |& *3.`vF ~c2*0v>;}LЩnEr>MdOe4/ӔͰV|Һ 0״yg '`ȓ1תc  Ž U#^J*Fu C$U[YOm JyR# 4P*Bh#^"B32EfxgMq0HJ5nI4ơ5$ %Z>*N!=:JhZp*#8zƸzyq'ų̜3qgno ΅'*g{!||е+ ˘; ].Ndc@/ޚqG1qb?8j'.rf?%5!y49Jz r0)Tm~՜~~\GV߷ \o>9&\lyzC?@r=zQ;4ࣆZg=fPa/Dkj8Bltyn$ĘS{%|]]L">lE 9LV*34^ Y`PӬ5DQIf/Aqu@sayfQ[- ߈ćfTHA] 5e1a'V5*W숒w~^z~lAb` -/*uX-s4% wx212=ϵR맦kŝr;SU=%p tt;Kdrԋ}76:hcΡowF#] "T {X`l;"gha{yqHlAկ¨9١|eLS[4S%U&; p]Fɻzc܉r۲i:/_v!Հ$b(cS/x4ZPB#&–tG+n; Ou63H%%5Qj}Xi?iܢ1\'[/8ј]>4o'-,EyKC碜bЏjs#cr^%I Jz[JL8moբ_Q CR\CXEzhVWo)%ULs'ҙsujuZ+:և79sn nP9*[ &wUnG&U)4䓲ll8woB~57qj?&Mߖ烉RX=ӎ^b!t kv S|p%¡e4X WOW@%q˧Qld-J] yrW0t9 >7 KѼ쿤fqzq٧a!WoHǵ~lUFc?hӽASx@mؐr4m9iʳ;zM GHE*>x&}OQFOЗx{?Jj7iFh^ﰙsBL Yd8(}VfBYQ #;Rsh• 3櫞k[*o:A>D ]:7|Yi`mГ^\E[eY*7TJHg-[(UOԆwF+aou6'"GLcq Ӈ]P85b{"ۿŬCnBv ը%jPG BCɌN/{E<$CXJMIJ=+mD{KyD)!ZҢ#)zrOGهN3|)$$}в1M6Ry~HWSuUL-W2G\F1{ڎ,֡3ZD bD9rfGW:bgJ&c=dӟg8Uw $ܽEU~a˱v ?5H'0e~vB'~ee`&HAȄeytsQ UFgc #tp$}O\M~C8*GL5p019R$ 2>m0_k 2Q!6Jb HObxiNpYZ zWB}N^HB.$̈́F^;P,LxJ W"h/}۶K9G#e앣yM?bB|w \yJFP Ak$k\:Cuc#i$Y^|?ذy>qŸ́FBܝU[[v6L;Ȭ"Mt}P1~AFٖC|*dI܉!yJl mb :nk+ : KMo|CRX 7;Mb19A ͂Veth/Ha@t6޵pTV1(H~ ĸ|rǵj:ؾm2н{‹~ ōn]hvi7/oq({p]'g".{]vF*U qK5\E4ljgh]kNcr5?H]~] Px_QX ]exb~ JYEMf8yH{-|`6'X%Ua'ovʔNJ}Џ!RvYܨAOtNtZm. N]-c; sN )+!0҃j~Ha-4X[rm2iJmJZ̴3+n>>M7tg0(Q([WFKgjsr&x眻וGTc6GӿK?L31z 0EL^:.XD&TGZ(*;sh0k8p~/{|SLAiBhCɍ 󦃓0<.20ϻi/ckK2,F î:%ns0l0ls# .q5]X{К&SuD  >ɡa9^(} +G@k^~l3° tsż^ Û +gs_wO}gL<]Ÿ0b=0nz#_΍ > M3= $hwҳᙀ(Kr}G4/62iJ@Xlq-_-cDx,:¦v6S/ cJ.裇v*O]~NOUg sƮ:T?s;* 3AS-rb4]d|ZGqk&ziNf|gàRޱWQ\:Us0Oo3Ӝ.Jn`(OlRnOySdB9alim\ kٙs@*op̈GL.A֗B `\KHFVEa2@FnJtα[T$;_)ϹCT]\&[B#Ad8%yA}qfTkx|7ou#1+(*K(<04nYMGd'(N4<2Cp@"6s16 iSre 9 J'N #G˧zid`-aBПZi'4)wcjOބn`ע46 P{+%ܿDU.N-{:OpfB0} #c~:{DuwxVpP3U>ˡL뮒x6Ey r?Gfa6U9 ヹX3%bMigkrptIB$T+)44`vSټQuTSqr Tż4lgEU7fC|cCU * Q?9Ϟ៥x~*9rnk& Ow{лYvva\ªo^yK{$mHSH@_%j 9!^RZG!Z_lqe/dQm2oG#Ҵк˭^jl`7|WcߡUDl85h74AŐU_턻C Ʉ0:q,6EN>f]aֽ]kFMeMyl\lev"5"o{0'1 q{ؿ` SCs 2ش~eZqt\pnpKe\t ?JǕn8)9QHf ;͢@#)pCf/i V/tv^`2k c;ĬW<2P* Tb}7QHF=j&3^^Mg?CnBM>Ư'u;+9M4M>6vΗ X.~.]%2mY.XNmEt"q~tL,#Lѝ ;lPnwa('HXd(! pc?qfCйEKF|C7 B]"'COI=x4B:.sTCk߿3(e `JJ7x忴Q@n  '@ɪrEv@emoPK`Txk9G .;zd-18ҝ8H jV[$Xy%W"8Cm^DJnMܜ>jL,5PY9f ެh9]]: ?vѶMgE#TbvګfPJux$Љ?u'1tZ|9?y*3?xx\rl9<U͵X7!h9 #Y)@k\j Wuyvut]6ac);K^5-ZwDZ+` V k&0ed=EEsK/;k+Ks*5/TR&7e0[7I>2Z!_L.R;i۠X8QS(u:= Cȼrd&G_ K}{Նd \KaZϿ,ѽ62}N%hc;KcH|Lx cnvɎu h?.Ѥ-5 A{z+[>E=L`9t`"տSג$DHa{Ā\ hd*mpGڭ,Co@a4',h S7*K =D)xf΀r@T@o,n?}p&C} d6N00еZ=fzۻe JS:3xrh9 ϨT?Q#kP DC/M")X.Q#T=ank%\ن?1ūE?<^O>~0얣#4,FpW޹!G¶*۷*ӌ)0A dcp+_p}qa&_+ B&8@{/FtGx]K".Ӱ2Ǽ3{Sǃ5uXz5~59 Nۖ.ҫ9 >=qxdM +Y& Kc%i'uU9K9W(&(wC'IXFpĊ<H B gzٜrzQP[ˈ:~G;r#7PGjE˽u'^SkT=!~]q0GV 3V]ŠR "ZA kzb|Q[w!Q,-CBNŕC Pœ_ܾDpμ6ȧKO~NqXz $a9v) ^L}#C\42ܸ;ph*:?F\yLL=xsz%:Qe մ$1ݽc d3[{C|fmKরAb,V˛x.wjIݳr߬/;i q|m u6o5qn-,ٞ5CoBTy;WhNs/|+tD*%>irg<'{QkK!CDQCДcƊ٪D2#jW$tvd-YlĹ5G;ĻeAtdہy%I5Fkz Rso/wy.M)H6$tZ^=~(־"hDD6z8_!f?fYq8+TFȗ #H\=!qGwsv@r:*!1zd52qs@E`b.H"j `N2ݿ)S% ~oQ>q7q֟ Ysfc*VG#eCa>Ee. GRFH~ٯH]:ީxm&^2`c<,r{{j-xi% d(W)Wyt0<υcc\r A\x}a3-[f[?0&^ֶUx}[ЦtM}}VB#`3x1 ^KxB괁3V%@b"Mμy0,BݰڞP DPQ!?MCVZBf˭6V/7 (>pr'q ewl,V$!m. /q02L" ~iiը|8"3hSG @eɰp}Avn's?ZI_Ř@>ˇ8kxւ-GO SeXf}^_M͝!^aV' 3i$|&+7q/*Qsjr􊽑_|f>zA%s%~"P> J%)Jdr=QgbC a}x.X4n?;߽!S%ay%cKłlኈxpg+e =NOqw Dyk}c"f'-ȝv y8o]׎<.xќT`ńZp2 I]5V0xOT\%.Wja"C [. @PR]e9c%k޼4gkM-v&},_Z0͗zٮal$^bM/1{;ci ӥJŠbu0-7ot\s O - -.d#B NK+@'K&V*Ddmv$ؾF<$ijyoi!);(8 ZBC0Yc2d0Q]s_psc }mk{ʏQuXzCh/<"v೮Q5CF+" \PIъG2.1n?`5rHIK@ o&!kO4 5)%Rqt,1Zxft= y{}oX0i (>jЮU@Cvr I~w: 65I0Oq|99-nCG,HX덫IB] U (%+U6U][mίbAd<^s>vG( @h2q/sc-!x~C^ݷ0/dcmh%D(|+uvA+EkOD_ܺhGN>"˙jJe2]EL\q&zqԴ A]KʒR]m%=Pث"){| LvUE (Nc'Cy"/cU{1G$ H?OhQR ^v&$A / r*ع;zgymI݋C Dj+| k9c$:AϞVU2k+v}ER;w\]Rl^4z5:t޸Giu1er.'& %ޗ(Jz:b<V-vy]kB73ipMbe.*#Ӯ3zreVܭ (Q$ViL$xVbŁ=N{[O@u6]9=S<1݊4gN2t{1"E1ovER -DNG%th2kdB] = U-tt6 aS{Z) "}N~~nb"t>MG*V5yȋ/$dJ d$(JWFeAѭ>fX˃LJ_>Kjng!|?7>{IA,bO1lut p{ؾ7Q9fI7^ .rxqOx[]9$|g?CgDOK b5i)v~-L#qxSԴ d@-`Y'V<EJ a&ۓ"bV)GU.su<ǐHmU39P9f3-ˊhE!C5=nQ6\,~E;'8 )mqPȒ9$s EL@2١Byafxi;eE!Ub>,\Xcm9nK Lhc}L Ec%%ymDP{D<0 Iu:Eim~n-[]c{)>@:GM'ς"'RuT3[VUb,6zwK@ffEy9(]J>cA%2߼ 2w}ȆRE;x?:%Au2_ Vi9+@ޥd5RZbgg4[Tq#ya}@fLƏMW'Գ#avԿbI%`d9"02K3ΝK.TZXv.PD%˱z\}d ɕ4 U8c=Cj7Xz왞)1mL ߴk!-P?߮+_W 6E-"DW a25#`XFrZWA* K*q *㴾O!|`@ `d͙=o9|ETZe4\P _zw1ޯ?# oQN5Qj0E\4+'ىRAjf*)9Zoow6/?X|{jd6dy +[/L g;M^=$Y ZH`,W~&~%_ӄ eYMȐ7z 3 TC䒢WsNC=F4E]u(l/H qKg Jі+rXIxTʴi (Az4/״Gy7Q 3; >O$4!is'rv$8j9J=Q,&|fڻ䀴&09W2ZiJ+-mbEE/񘻣3OaJDg 3d-XS,IR7r~x+:h3J"yB'NPo᮳_@Y %R-{rY&8Ԟtgd>,QyL A 䗜74t)-Pr^PC۰;tO׿&Jڃi-ِ+wCɬ m9D6_S`Ӕm6sDwV^ = 8*˝6F pK4CXxbҏ֍ e&ms`ݖ/#F+'Mʾv0Л b&M\R Y6B5tQ-NoqDab5#o̢4p 4} ]s.h +ܢqoY9aFk9}*'@c8p `oq"M01 <]v01BU}C2+6-+o 2~&e#,\D=3atJ=k.u2o;_Yga_1[j3h\!/A{ǘsSpV}E,8xO.UlF:^r`INJ Sd =oro\AԨ76ewt> mIm@h{4mf;'tKƬųJvg3(¬G?X{q5j)Uݠ^Zs[ܶX7%zl_rUjNt[78*2Pwcth%ҁ3x#=y+;aIj#diY@mw֒TK @Lz4>*TOxF?}~pj!rulwdU8. 򛹪xٮRU7A1$cev-QJ] [lT?JV=ݽr8 JVG}ܝ[S[.n'W-,ijspvw;OSg񇤲;^ c2% wE0y1d-̌%!U}sѼht6nO]9WɿO;%s[?Ng&,]L̺PAon?^si4Zgba4g` ї"<I!Yٳ8e.Eab}(օG}pp2^ >Sƙ\{h%Mh0ŧeba+L AT C.+yDTΜmW["J p${۰rr*5FrT\J !+I3%3\d