python-tk-2.7.18-150000.77.1<>,gҕp9|9n+8rd,89i#/B /U(YXuɧ;Oe[:@.l#HN )|"Q6NjnE\z*d8j,f)?z8"CmyK3_"4`E9x/`gij-?KF}\ #ܝsmٍ!}O݂4`Hiqfmc$XZ=gDe%D"^/&bܸ"[# ma߾! >A?d   =  $*0oo o o do !o "o#o%o((8o)*P*+(,8,u9-u:5uBFGoHoI<oXYZ[\ o]o^bc~defluovwoxoy`qz$48>Cpython-tk2.7.18150000.77.1TkInter - Python Tk InterfacePython interface to Tk. Tk is the GUI toolkit that comes with Tcl.gҕs390zl32ZSUSE Linux Enterprise 15SUSE LLC Python-2.0https://www.suse.com/Development/Libraries/Pythonhttps://www.python.org/linuxs390x'<<"%% ,, h h-wZwZ,22sk  6 + +w4(>'>'77 ,,,''C>> b Pmg}g}_))g66+##m!9!9A큤A큤A큤A큤gҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgҕgҕgw@gҕgҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕgw@gҕgҕ0e3b9cf4d37d364469edee1025a42f8812accdcfc173634411ff5bc38993aef2074e1bb0397d6689e5dbb1ae4e5ccd1c0d0c4704656729d3cdd1fa44f986d07739b66ef08524b773f8db23d145806b6f7b828a15eb443ce8bcd654d21c6cd80439b66ef08524b773f8db23d145806b6f7b828a15eb443ce8bcd654d21c6cd804886afde4c1589a688afc857a0fb5039f8388f225443283081d9ddf072571b064b9db113b6f3bcd080103ea85a9c1f87839e0c12c4a630db684bf8493a7348138b9db113b6f3bcd080103ea85a9c1f87839e0c12c4a630db684bf8493a73481389229d117eca73b48a41b6303bffed14184add10afd20273976715fdd4840042afb2fca3508d23079e74e3334f27fac0bcf0be08767da832df13bddaeca0ac11afb2fca3508d23079e74e3334f27fac0bcf0be08767da832df13bddaeca0ac11a808ece582c4a8e502c062b23aa16949d85878a9f3485d2111fd19ac6bdbb02e8b7c6db99b8de3228fef12a9a03881f2bf6e0f917dc97802ffb12f766e8085f2f527ce0f4ade587ca4dfdd4a1fda9570bd93595bd0c6841aac6223d4ad753650c54f55b9696013117aa8758f901f77cc30dce6ad6f13df8b85c26c5af843a7fa0658956b9cf51aefad75d7400d459d1399b8cd0fa3792c6b930a74495140b9ec6658956b9cf51aefad75d7400d459d1399b8cd0fa3792c6b930a74495140b9ec61dbc9f1fc85237211d52b96ee1cc1c5553c81e0a62fd7143b95e16d32f5abafd4ef520eb851759248c0417e1f0ce30afa2f38f04b5ff94bb083bc80683afe91a4ef520eb851759248c0417e1f0ce30afa2f38f04b5ff94bb083bc80683afe91a0e875733af8af973cb94d088dbe5b4ed36dd3db1241970ec2bf19ea97ec5fbf8a17e56624506df05be2966bf87076d6e4d545b6029ab220f05de041567862316a17e56624506df05be2966bf87076d6e4d545b6029ab220f05de041567862316c01314dc51d1c8effeba2528720a65da133596d4143200c68595c02067bf1da2bf1f99e1455e9f12b2f1f99c79f07fa49fedd1b0276fd5b6ad4dd2b47e561be8bf1f99e1455e9f12b2f1f99c79f07fa49fedd1b0276fd5b6ad4dd2b47e561be8c8fb5c768f76788cb678922aed330e2b7ae3cc825fdabea1a09b18db557711dcb4955e03cc4f528659bc96b2c11a6b9f501339d1e9b9c7326bfd00f3056bd227b4955e03cc4f528659bc96b2c11a6b9f501339d1e9b9c7326bfd00f3056bd22798b2cd8b857ff09c0e6b3a330b98415a97282d70fa80b9cd15d1e14b2d2aea88fee48313cf900bb8b9e2bae4cb09406d81fc3cdaa6d976b1a1763c857f3dd282fee48313cf900bb8b9e2bae4cb09406d81fc3cdaa6d976b1a1763c857f3dd282fe3c79d5da8616ca37f7a9d8fddaac2c9164b593c7b116580aa99690a5f59ab5e82c816f3b0fdff328dfc84a8076385feec2208ac94a7e402af9138f8b6996e7b3b3596365966a0ff01b6e42ba67157f10036632e915cf5fef9c03ea964d2779b3b3596365966a0ff01b6e42ba67157f10036632e915cf5fef9c03ea964d2779e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85599427fefed46724d0240d0971db6b8538fde0297f1fb210878f88419ed0e717e99427fefed46724d0240d0971db6b8538fde0297f1fb210878f88419ed0e717e0e9cbeed9f1bbec6f79a2bcebee7e12f896caba3b1a167d935446d009262dca2e0bb32cf50b43b9524a1e69d96bea0e5ae9abf049494a821afa97b9c63703062e0bb32cf50b43b9524a1e69d96bea0e5ae9abf049494a821afa97b9c63703062fe5f12d6412050e1414dfabc16ecc2341779d627362e1d81666e8b466986c50a575ad46c087f6fb2d4fddbe2be5236f250170f76fc0816718162d331e7bbd7cd575ad46c087f6fb2d4fddbe2be5236f250170f76fc0816718162d331e7bbd7cd07078aa64be8d2d3a02fcfa10eb73eebf06583fae23134ae47b9d4b2bf66d23af2d287bb8a1405ebc650a9650e787d60b6edb5515064a7b3f4cb571edbd16298f2d287bb8a1405ebc650a9650e787d60b6edb5515064a7b3f4cb571edbd16298ba8ad521638ef8148d07be0925111fb57cb1b64dadf770f1ca2bd17e1bb356d6269037c4a632ad167765f1a3e89759afd89e98886c54f32bd51b3c27e723c057269037c4a632ad167765f1a3e89759afd89e98886c54f32bd51b3c27e723c0579e9439bfa528e20f0e045905ea5a3eca4cd27c4c9f190c62c192f9945caaae28e4f09d48b0f5ad35313e67e8df5fece1e71f859f983a42641920fb8166f9578fe4f09d48b0f5ad35313e67e8df5fece1e71f859f983a42641920fb8166f9578fea0ebbfcc26a428337548a5e3c6768294497b81cce8f845d23e035ea62cd1aab360dda48a6d0e39fe73c03aa11506bb01f7a17f5b7426a53ff3cfad2d6f84547360dda48a6d0e39fe73c03aa11506bb01f7a17f5b7426a53ff3cfad2d6f8454749029a61956e79a10fb9b79000283c1e83cabc0645adacf9824a99dbe2dece5f0c7998a8fc117dae4e5616f6418a55a0ef09a4e28cdfe273f7ad62978b7b5b3c0c7998a8fc117dae4e5616f6418a55a0ef09a4e28cdfe273f7ad62978b7b5b3c19a6ca5753fe74ec6248d166d2a54acfcd70f823ea578cfe803baf8f87ea346dec1571cf575b5f6fe177954aabf0e96e176ff64937851d315648874cf43b7feaec1571cf575b5f6fe177954aabf0e96e176ff64937851d315648874cf43b7feae3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8556222bc368f6e7664b161c7706468251abc08425cb7665cb0557d5505a9105a0b6222bc368f6e7664b161c7706468251abc08425cb7665cb0557d5505a9105a0b53b465fb6754d8c39458a1e1ba7f8504f40d724e7dbcc7ab8fc38ea65c08c02e4446d2f294d338ed3bade7e16bcbd935244d8060dfbbec6c62a8a7e71feb5eb14446d2f294d338ed3bade7e16bcbd935244d8060dfbbec6c62a8a7e71feb5eb19d53e31b151af887cd26829a1331843c02288a8480ca74a7fc631833ce60d0cbfff174dc721be9b218e2198ee6c8dfe93eb611e4cfb1eec902581460a504d637fff174dc721be9b218e2198ee6c8dfe93eb611e4cfb1eec902581460a504d6379fc1aec0a300d4754c94d77b4ee8f029540eb88bcf0ef288551f52e9410de8d3efe2f097944fee24fcd5be611dcd2920a2fba23fb72a19759274d3d9c221be28efe2f097944fee24fcd5be611dcd2920a2fba23fb72a19759274d3d9c221be289241c97e08b337b0b92ee5b4e029936fa3eb53bdc821c080e78b020699e2aed7dbd74b4f735be9c84ee6bdf4a33055d7cc2c6a83e53be696861beb6f9dd6a5eedbd74b4f735be9c84ee6bdf4a33055d7cc2c6a83e53be696861beb6f9dd6a5ee15df8a908a8e80163bca643c76ec6e4ceff80ee83da5d1fc4e10c364fadbbb8563f8399a1535494609af7a9092db5afcad7df309681e925b007f17c7d86653a463f8399a1535494609af7a9092db5afcad7df309681e925b007f17c7d86653a42205693a5fa6a8b9e408b24e9dc938f74f6250a1212c5fe5bcf31f09be16d936586faaafd6d90bfdbf4f030d004641eada52c8a79a3fad2440081ccdb0a309f8586faaafd6d90bfdbf4f030d004641eada52c8a79a3fad2440081ccdb0a309f85b6a1486c4c1ce533b146cf455c599d5ef8eec94a8eb9821a847985c12e3ddcd5acefca7c007a0ce0655c4be288f39296d658b0131abd5fe55082e93f51d2b065acefca7c007a0ce0655c4be288f39296d658b0131abd5fe55082e93f51d2b069547e4f72af28ec4262f88a00b6d2eb912ff49e2f5b3aa16b5a50a3230964d839f74fa8fb720c32fc1a1a5b363261d917dc8f826209f20f6ece8069dc91228e89f74fa8fb720c32fc1a1a5b363261d917dc8f826209f20f6ece8069dc91228e8360ba16e412f9d00617baa89c0ca476d49576a34bfff026cebebc71e630505a9751b0f3a4580a57472374af1a7d768f4ef0d301a31c4ac94b4079ad25866cfed751b0f3a4580a57472374af1a7d768f4ef0d301a31c4ac94b4079ad25866cfed2f28b22cc571ed211824ac750e2c1b98574748f90829a7b01efd0ddfce6cbf327096ebdfc4c159348e4f04f0a8ebc6a9f979d47bd350c55598f91849f9ef05987096ebdfc4c159348e4f04f0a8ebc6a9f979d47bd350c55598f91849f9ef0598cdb0fcb4cc54d55fe963aac128269754c09f8583afa00b445926951e5fb5118b4bf58215801ea19b2c7af795008556d7a849362b7f9cea0cb4f45304e65dccaa4bf58215801ea19b2c7af795008556d7a849362b7f9cea0cb4f45304e65dccaa4b09f3aaccecb4a434d94937cb737b65767f7b595cd51a3fa48fcaddbde984e349a68dc2dd9688c63fb7b9abbb07edbae64c278556f490bb28b38323cd4381af49a68dc2dd9688c63fb7b9abbb07edbae64c278556f490bb28b38323cd4381afb4c15f951994f60a263b271323e31896e8f6e049135c9f5904d8a877ee8ea8ac1d635535c138f8a809f1d99740e52096e84f23235ed803326a39e99b87c2582b1d635535c138f8a809f1d99740e52096e84f23235ed803326a39e99b87c2582bcdb5a419bd0bb4b98221fa23a480c7a92733824b259b8bfefaac5da7517643db65544af59a7cedf97fc32d807cc4d23e416e8d7885810e504cef352a1c145e1f65544af59a7cedf97fc32d807cc4d23e416e8d7885810e504cef352a1c145e1frootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-2.7.18-150000.77.1.src.rpmpyth_tkpyth_tklpython-tkpython-tk(s390-64)python-tkinterpython2-tkpython_tkinter_lib@@@@@@@@     libc.so.6()(64bit)libc.so.6(GLIBC_2.2)(64bit)libc.so.6(GLIBC_2.4)(64bit)libpthread.so.0()(64bit)libpython2.7.so.1.0()(64bit)libtcl8.6.so()(64bit)libtk8.6.so()(64bit)python(abi)python-baserpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.72.7.183.0.4-14.6.0-14.0.4-14.0-15.2-14.14.1gw@g@g@g4f@fH@f?]fh@e,e @eedeeeRd˖dD@dq@du@dtdm@dxdc>@cӼc0c|ck@c pcbbb@b@b@ba@a@a(@aim@aI@a'@a#aj@a`t`8`_T^J^@^@^>^>^;^8 @^.^g@^ @]f@]@]]]d@]d@]@]z@]V]y@]9]1]\t@\\7\7\\J@\J@\C@\2[[#@[6@[@[ @[Za@Z@ZxG@ZtRZp^@Z, gh#python/cpython#103848#issuecomment-2708135083).- Modify CVE-2025-0938-sq-brackets-domain-names.patch: we don't use bracketed_host variable any more (correction of the fix for bsc#1236705, discovered during analysis for bsc#1223694).- Add CVE-2025-0938-sq-brackets-domain-names.patch which disallows square brackets ([ and ]) in domain names for parsed URLs (bsc#1236705, CVE-2025-0938, gh#python/cpython#105704)- Add CVE-2024-11168-validation-IPv6-addrs.patch fixing bsc#1233307 (CVE-2024-11168, gh#python/cpython#103848): Improper validation of IPv6 and IPvFuture addresses. - Add ipaddress module from https://github.com/phihag/ipaddress - Remove -IVendor/ from python-config boo#1231795- Stop using %%defattr, it seems to be breaking proper executable attributes on /usr/bin/ scripts (bsc#1227378).- bsc#1221854 (CVE-2024-0450) Add CVE-2024-0450-zipfile-avoid-quoted-overlap-zipbomb.patch detecting the vulnerability of the "quoted-overlap" zipbomb (from gh#python/cpython!110016).- Switch to using the system libexpat (bsc#1219559, CVE-2023-52425) - Make sure to remove all embedded versions of other packages (including expat). - Add CVE-2023-52425-libexpat-2.6.0-remove-failing-tests.patch removing failing test fixing bpo#3151, which we just not support. - Remove patches over those embedded packages (cffi): - python-2.7-libffi-aarch64.patch - sparc_longdouble.patch- Modify CVE-2023-27043-email-parsing-errors.patch to fix the unicode string handling in email.utils.parseaddr() (bsc#1222537). - Revert CVE-2022-48560-after-free-heappushpop.patch, the fix was unneeded.- Switch off tests. ONLY FOR FACTORY!!! (bsc#1219306)- Build with -std=gnu89 to build correctly with gcc14, bsc#1220970- Add CVE-2023-27043-email-parsing-errors.patch to gh#python/cpython!111116, fixing bsc#1210638 (CVE-2023-27043).- Add CVE-2022-48560-after-free-heappushpop.patch fixing use-after-free in Python via heappushpop in heapq (bsc#1214675, CVE-2022-48560). - switch from %patchN style to the %patch -P N one.- (bsc#1214691, CVE-2022-48566) Add CVE-2022-48566-compare_digest-more-constant.patch to make compare_digest more constant-time. - Allow nis.so for SLE-12.- (bsc#1214685, CVE-2022-48565) Add CVE-2022-48565-plistlib-XML-vulns.patch (from gh#python/cpython#86217) reject XML entity declarations in plist files. - Remove BOTH CVE-2023-27043-email-parsing-errors.patch and Revert-gh105127-left-tests.patch (as per discussion on bsc#1210638).- Add CVE-2023-40217-avoid-ssl-pre-close.patch fixing gh#python/cpython#108310, backport from upstream patch gh#python/cpython#108315 (bsc#1214692, CVE-2023-40217)- IT MEANS THAT bsc#1210638 STILL HAS NOT BEEN FIXED! - Add Revert-gh105127-left-tests.patch (gh#python/cpython!106941) partially reverting CVE-2023-27043-email-parsing-errors.patch, because of the regression in gh#python/cpython#106669.- (bsc#1210638, CVE-2023-27043) Add CVE-2023-27043-email-parsing-errors.patch, which detects email address parsing errors and returns empty tuple to indicate the parsing error (old API).- Fix the application of the python-2.7.17-switch-off-failing-SSL-tests.patch.- python-2.7.5-multilib.patch: Update for riscv64 - Don't fail if _ctypes or dl extension was not built- The condition around libnsl-devel BuildRequires is NOT switching off NIS support on SLE < 15, support for NIS used to be in the glibc itself. Partial revert of sr#1061583.- Add PygmentsBridge-trime_doctest_flags.patch to allow build of the documentation even with the current Sphinx. (SUSE-ONLY PATCH, DO NOT SEND UPSTREAM!)- Enable --with-system-ffi for non-standard architectures.- SLE-12 builds nis.so as well.- Add CVE-2023-24329-blank-URL-bypass.patch (CVE-2023-24329, bsc#1208471) blocklists bypass via the urllib.parse component when supplying a URL that starts with blank characters- Disable NIS for new products, it's deprecated and gets removed- Add skip_unverified_test.patch because apparently switching off SSL verification doesn't work on older SLE.- Restore python-2.7.9-sles-disable-verification-by-default.patch for SLE-12.- Add CVE-2022-45061-DoS-by-IDNA-decode.patch to avoid CVE-2022-45061 (bsc#1205244) allowing DoS by IDNA decoding extremely long domain names.- Add bpo34990-2038-problem-compileall.patch making compileall.py compliant with year 2038 (bsc#1202666, gh#python/cpython#79171), backport of fix to Python 2.7.- Add patch CVE-2021-28861-double-slash-path.patch: * BaseHTTPServer: Fix an open redirection vulnerability in the HTTP server when an URI path starts with //. (bsc#1202624, CVE-2021-28861)- Add CVE-2015-20107-mailcap-unsafe-filenames.patch to avoid CVE-2015-20107 (bsc#1198511, gh#python/cpython#68966), the command injection in the mailcap module.- Filter out executable-stack error that is triggered for i586 target.- Update bundled pip wheel to the latest SLE version patched against bsc#1186819 (CVE-2021-3572). - Recover again proper value of %python2_package_prefix (bsc#1175619).- BuildRequire rpm-build-python: The provider to inject python(abi) has been moved there. rpm-build pulls rpm-build-python automatically in when building anything against python3-base, but this implies that the initial build of python3-base does not trigger the automatic installation.- Older SLE versions should use old OpenSSL.- Add CVE-2022-0391-urllib_parse-newline-parsing.patch (bsc#1195396, CVE-2022-0391, bpo#43882) sanitizing URLs containing ASCII newline and tabs in urlparse.- Add CVE-2021-4189-ftplib-trust-PASV-resp.patch (bsc#1194146, bpo#43285, CVE-2021-4189, gh#python/cpython#24838) make ftplib not trust the PASV response.- build against openssl 1.1.x (incompatible with openssl 3.0x) for now.- on sle12, python2 modules will still be called python-xxxx until EOL, for newer SLE versions they will be python2-xxxx- BuildRequire rpm-build-python: The provider to inject python(abi) has been moved there. rpm-build pulls rpm-build-python automatically in when building anything against python3-base, but this implies that the initial build of python3-base does not trigger the automatic installation.- Add CVE-2019-20907_tarfile-inf-loop.patch fixing bsc#1174091 (CVE-2019-20907, bpo#39017) avoiding possible infinite loop in specifically crafted tarball. Add recursion.tar as a testing tarball for the patch. - Provide the newest setuptools wheel (bsc#1176262, CVE-2019-20916) in their correct form (bsc#1180686). - Add CVE-2020-26116-httplib-header-injection.patch fixing bsc#1177211 (CVE-2020-26116, bpo#39603) no longer allowing special characters in the method parameter of HTTPConnection.putrequest in httplib, stopping injection of headers. Such characters now raise ValueError.- Renamed patch for assigned CVE: * bpo44022-fix-http-client-infinite-line-reading-after-a-HTTP-100-Continue.patch -> CVE-2021-3737-fix-HTTP-client-infinite-line-reading-after-a-HTTP-100-Continue.patch (boo#1189241, CVE-2021-3737)- Renamed patch for assigned CVE: * bpo43075-fix-ReDoS-in-request.patch -> CVE-2021-3733-fix-ReDoS-in-request.patch (boo#1189287, CVE-2021-3733) - Fix python-doc build (bpo#35293): * sphinx-update-removed-function.patch - Update documentation formatting for Sphinx 3.0 (bpo#40204).- Add bpo43075-fix-ReDoS-in-request.patch which fixes ReDoS in request (bpo#43075, boo#1189287). - Add missing security announcement to bpo44022-fix-http-client-infinite-line-reading-after-a-HTTP-100-Continue.patch.- Add bpo44022-fix-http-client-infinite-line-reading-after-a-HTTP-100-Continue.patch which fixes http client infinite line reading (DoS) after a http 100 (bpo#44022, boo#1189241).- Modify Lib/ensurepip/__init__.py to contain the same version numbers as are in reality the ones in the bundled wheels (bsc#1187668).- Add CVE-2021-23336-only-amp-as-query-sep.patch which forbids use of semicolon as a query string separator (bpo#42967, bsc#1182379, CVE-2021-23336).- Add CVE-2021-3177-buf_ovrfl_PyCArg_repr.patch fixing bsc#1181126 (CVE-2021-3177) buffer overflow in PyCArg_repr in _ctypes/callproc.c, which may lead to remote code execution.- (bsc#1180125) We really don't Require python-rpm-macros package. Unnecessary dependency.- Add patch configure_PYTHON_FOR_REGEN.patch which makes configure.ac to consider the correct version of PYTHON_FO_REGEN (bsc#1078326).- Use python3-Sphinx on anything more recent than SLE-15 (inclusive).- Update to 2.7.18, final release of Python 2. Ever.: - Newline characters have been escaped when performing uu encoding to prevent them from overflowing into to content section of the encoded file. This prevents malicious or accidental modification of data during the decoding process. - Fixes a ReDoS vulnerability in `http.cookiejar`. Patch by Ben Caller. - Fixed line numbers and column offsets for AST nodes for calls without arguments in decorators. - bsc#1155094 (CVE-2019-18348) Disallow control characters in hostnames in http.client. Such potentially malicious header injection URLs now cause a InvalidURL to be raised. - Fix urllib.urlretrieve failing on subsequent ftp transfers from the same host. - Fix problems identified by GCC's -Wstringop-truncation warning. - AddRefActCtx() was needlessly being checked for failure in PC/dl_nt.c. - Prevent failure of test_relative_path in test_py_compile on macOS Catalina. - Fixed possible leak in `PyArg_Parse` and similar functions for format units "es#" and "et#" when the macro `PY_SSIZE_T_CLEAN` is not defined. - Remove upstreamed patches: - CVE-2019-18348-CRLF_injection_via_host_part.patch - python-2.7.14-CVE-2017-1000158.patch - CVE-2018-14647_XML_SetHashSalt-in_elementtree.patch - CVE-2018-1061-DOS-via-regexp-difflib.patch - CVE-2019-10160-netloc-port-regression.patch - CVE-2019-16056-email-parse-addr.patch- Add CVE-2019-9674-zip-bomb.patch to improve documentation warning about dangers of zip-bombs and other security problems with zipfile library. (bsc#1162825 CVE-2019-9674)- Change to Requires: libpython%{so_version} == %{version}-%{release} to python-base to keep both packages always synchronized (add %{so_version}) (bsc#1162224).- Add CVE-2020-8492-urllib-ReDoS.patch fixing the security bug "Python urrlib allowed an HTTP server to conduct Regular Expression Denial of Service (ReDoS)" (bsc#1162367)- Provide python-testsuite from devel subkg to ease py2->py3 dependencies- Add python-2.7.17-switch-off-failing-SSL-tests.patch to switch off tests coliding with the combination of modern Python and ancient OpenSSL on SLE-12.- libnsl is required only on more recent SLEs and openSUSE, older glibc supported NIS on its own.- Add provides in gdbm subpackage to provide dbm symbols. This allows us to use %%{python_module dbm} as a dependency and have it properly resolved for both python2 and python3- Drop appstream-glib BuildRequires and no longer call appstream-util validate-relax: eliminate a build cycle between as-glib and python. The only thing would would gain by calling as-uril is catching if upstream breaks the appdata.xml file in a future release. Considering py2 is dying, chances for a new release, let alone one breaking the xml file, are slim.- Unify packages among openSUSE:Factory and SLE versions. (bsc#1159035) ; add missing records to this changelog. - Add idle.desktop and idle.appdata.xml to provide IDLE in menus (bsc#1153830)- Add python2_split_startup Provide to make it possible to conflict older packages by shared-python-startup.- Move /etc/pythonstart script to shared-python-startup package.- Add bpo-36576-skip_tests_for_OpenSSL-111.patch (originally from bpo#36576) skipping tests failing with OpenSSL 1.1.1. Fixes bsc#1149792- Add adapted-from-F00251-change-user-install-location.patch fixing pip/distutils to install into /usr/local.- Update to 2.7.17: - a bug fix release in the Python 2.7.x series. It is expected to be the penultimate release for Python 2.7. - Removed patches included upstream: - CVE-2018-20852-cookie-domain-check.patch - CVE-2019-16935-xmlrpc-doc-server_title.patch - CVE-2019-9636-netloc-no-decompose-characters.patch - CVE-2019-9947-no-ctrl-char-http.patch - CVE-2019-9948-avoid_local-file.patch - python-2.7.14-CVE-2018-1000030-1.patch - python-2.7.14-CVE-2018-1000030-2.patch - Renamed remove-static-libpython.diff and python-bsddb6.diff to remove-static-libpython.patch and python-bsddb6.patch to unify filenames.- Add CVE-2019-16935-xmlrpc-doc-server_title.patch fixing bsc#1153238 (aka CVE-2019-16935) fixing a reflected XSS in python/Lib/DocXMLRPCServer.py- Add bpo36302-sort-module-sources.patch (boo#1041090)- Add CVE-2019-16056-email-parse-addr.patch fixing the email module wrongly parses email addresses [bsc#1149955, CVE-2019-16056]- boo#1141853 (CVE-2018-20852) add CVE-2018-20852-cookie-domain-check.patch fixing http.cookiejar.DefaultPolicy.domain_return_ok which did not correctly validate the domain: it could be tricked into sending cookies to the wrong server.- Skip test_urllib2_localnet that randomly fails in OBS- bsc#1138459: add CVE-2019-10160-netloc-port-regression.patch which fixes regression introduced by the previous patch. (CVE-2019-10160) Upstream gh#python/cpython#13812- Set _lto_cflags to nil as it will prevent to propage LTO for Python modules that are built in a separate package.- bsc#1130840 (CVE-2019-9947): add CVE-2019-9947-no-ctrl-char-http.patch Address the issue by disallowing URL paths with embedded whitespace or control characters through into the underlying http client request. Such potentially malicious header injection URLs now cause a ValueError to be raised.- bsc#1130847 (CVE-2019-9948) add CVE-2019-9948-avoid_local-file.patch removing unnecessary (and potentially harmful) URL scheme local-file://.- bsc#1129346: add CVE-2019-9636-netloc-no-decompose-characters.patch Characters in the netloc attribute that decompose under NFKC normalization (as used by the IDNA encoding) into any of ``/``, ``?``, ``#``, ``@``, or ``:`` will raise a ValueError. If the URL is decomposed before parsing, or is not a Unicode string, no error will be raised (CVE-2019-9636). Upstream commits e37ef41 and 507bd8c.- (bsc#1111793) Update to 2.7.16: * bugfix-only release: complete list of changes on https://github.com/python/cpython/blob/2.7/Misc/NEWS.d/2.7.16rc1.rst * Removed openssl-111.patch and CVE-2018-1000802-shutil_use_subprocess_no_spawn.patch which are fully included in the tarball. * Updated patches to apply cleanly: CVE-2019-5010-null-defer-x509-cert-DOS.patch bpo36160-init-sysconfig_vars.patch do-not-use-non-ascii-in-test_ssl.patch openssl-111-middlebox-compat.patch openssl-111-ssl_options.patch python-2.5.1-sqlite.patch python-2.6-gettext-plurals.patch python-2.7-dirs.patch python-2.7.2-fix_date_time_compiler.patch python-2.7.4-canonicalize2.patch python-2.7.5-multilib.patch python-2.7.9-ssl_ca_path.patch python-bsddb6.diff remove-static-libpython.patch * Update python-2.7.5-multilib.patch to pass with new platlib regime.- bsc#1109847 (CVE-2018-14647): add CVE-2018-14647_XML_SetHashSalt-in_elementtree.patch fixing bpo-34623.- bsc#1073748: add bpo-29347-dereferencing-undefined-pointers.patch PyWeakref_NewProxy@Objects/weakrefobject.c creates new isntance of PyWeakReference struct and does not intialize wr_prev and wr_next of new isntance. These pointers can have garbage and point to random memory locations. Python should not crash while destroying the isntance created in the same interpreter function. As per my understanding, both wr_prev and wr_next of PyWeakReference instance should be initialized to NULL to avoid segfault.- bsc#1122191: add CVE-2019-5010-null-defer-x509-cert-DOS.patch fixing bpo-35746 (CVE-2019-5010). An exploitable denial-of-service vulnerability exists in the X509 certificate parser of Python.org Python 2.7.11 / 3.7.2. A specially crafted X509 certificate can cause a NULL pointer dereference, resulting in a denial of service. An attacker can initiate or accept TLS connections using crafted certificates to trigger this vulnerability.- Use upstream-recommended %{_rpmconfigdir}/macros.d directory for the rpm macros.- Add patch openssl-111.patch to work with openssl-1.1.1 (bsc#1113755)- Apply "CVE-2018-1000802-shutil_use_subprocess_no_spawn.patch" which converts shutil._call_external_zip to use subprocess rather than distutils.spawn. [bsc#1109663, CVE-2018-1000802]- Apply "CVE-2018-1061-DOS-via-regexp-difflib.patch" to prevent low-grade poplib REDOS (CVE-2018-1060) and to prevent difflib REDOS (CVE-2018-1061). Prior to this patch mail server's timestamp was susceptible to catastrophic backtracking on long evil response from the server. Also, it was susceptible to catastrophic backtracking, which was a potential DOS vector. [bsc#1088004 and bsc#1088009, CVE-2018-1061 and CVE-2018-1060]- Apply "CVE-2017-18207.patch" to add a check to Lib/wave.py that verifies that at least one channel is provided. Prior to this check, attackers could cause a denial of service (divide-by-zero error and application crash) via a crafted wav format audio file. [bsc#1083507, CVE-2017-18207]- Apply "python-sorted_tar.patch" (bsc#1086001, boo#1081750) sort tarfile output directory listing- update to 2.7.15 * dozens of bugfixes, see NEWS for details - removed obsolete patches: * python-ncurses-6.0-accessors.patch * python-fix-shebang.patch * gcc8-miscompilation-fix.patch - add patch from upstream: * do-not-use-non-ascii-in-test_ssl.patch- Add gcc8-miscompilation-fix.patch (boo#1084650).- Apply "python-2.7.14-CVE-2017-1000158.patch" to prevent integer overflows in PyString_DecodeEscape that could have resulted in heap-based buffer overflow attacks and possible arbitrary code execution. [bsc#1068664, CVE-2017-1000158]- exclude test_socket & test_subprocess for PowerPC boo#1078485 (same ref as previous change)- Add python-skip_random_failing_tests.patch bypass boo#1078485 and exclude many tests for PowerPC- Add patch python-fix-shebang.patch to fix bsc#1078326- exclude test_regrtest for s390, where it does not segfault as it should (fixes bsc#1073269) - fix segfault while creating weakref - bsc#1073748, bpo#29347 (this is actually fixed by the 2.7.14 update; mentioning this for purposes of bugfix tracking)- update to 2.7.14 * dozens of bugfixes, see NEWS for details * fixed possible integer overflow in PyString_DecodeEscape (CVE-2017-1000158, bsc#1068664) * fixed segfaults with dict mutated during search * fixed possible free-after-use problems with buffer objects with custom indexing * fixed urllib.splithost to correctly parse fragments (bpo-30500) - drop upstreamed python-2.7.13-overflow_check.patch - drop unneeded python-2.7.12-makeopcode.patch - drop upstreamed 0001-2.7-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-3094.patch - Apply "python-2.7.14-CVE-2018-1000030-1.patch" and "python-2.7.14-CVE-2018-1000030-2.patch" to remedy a bug that would crash the Python interpreter when multiple threads used the same I/O stream concurrently. This issue is not classified as a security vulnerability due to the fact that an attacker must be able to run code, however in some situations -- such as function as a service -- this vulnerability can potentially be used by an attacker to violate a trust boundary. [bsc#1079300, CVE-2018-1000030]- Call python2 instead of python in macros- Fix test broken with OpenSSL 1.1 (bsc#1042670) * add 0001-2.7-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-3094.patch- drop SUSE_ASNEEDED=0 as it is not needed anymore- Add libnsl-devel build requires for glibc obsoleting libnsl- obsolete/provide python-argparse and provide python2-argparse, because the argparse module is available from python 2.7 up- SLE package update (bsc#1027282) - refresh python-2.7.5-multilib.patch - dropped upstreamed patches: python-fix-short-dh.patch python-2.7.7-mhlib-linkcount.patch python-2.7-urllib2-localnet-ssl.patch CVE-2016-0772-smtplib-starttls.patch CVE-2016-5699-http-header-injection.patch CVE-2016-5636-zipimporter-overflow.patch python-2.7-httpoxy.patch - Add python-ncurses-6.0-accessors.patch: Fix build with NCurses 6.0 and OPAQUE_WINDOW set to 1. (dimstar@opensuse.org)- Add reproducible.patch to allow reproducible builds of various python packages like python-amqp Upstream: https://github.com/python/cpython/pull/296- update to 2.7.13 * dozens of bugfixes, see NEWS for details * updated cipher lists for openssl wrapper, support openssl >= 1.1.0 * properly fix HTTPoxy (CVE-2016-1000110) * profile-opt build now applies PGO to modules as well - update python-2.7.10-overflow_check.patch with python-2.7.13-overflow_check.patch, incorporating upstream changes (bnc#964182) - add "-fwrapv" to optflags explicitly because upstream code still relies on it in many places- provide python2-* symbols, for support of new packages built as python2-foo - rename macros.python to macros.python2 accordingly - require python-rpm-macros package, drop macro definitions from macros.python2- initial packaging of `python27` side-by-side variant (fate#321075, bsc#997436) - renamed `python` to `python27` in package names and requires - removed Provides and Obsoletes clauses - dropped SLE12-only patch python-2.7.9-sles-disable-verification-by-default.patch, companion sle_tls_checks_policy.py file and the python-strict-tls-checks subpackage - dropped profile files - removed /usr/bin/python and /usr/bin/python2, along with other unversioned aliases - rewrote macros file to enable stand-alone packages depending on py2.7 - re-included downloaded version of HTML documentation- update to 2.7.12 * dozens of bugfixes, see NEWS for details * fixes multiple security issues: CVE-2016-0772 TLS stripping attack on smtplib (bsc#984751) CVE-2016-5636 zipimporter heap overflow (bsc#985177) CVE-2016-5699 httplib header injection (bsc#985348) (this one is actually fixed since 2.7.10) - removed upstreamed python-2.7.7-mhlib-linkcount.patch - refreshed multilib patch - python-2.7.12-makeopcode.patch - run newly-built python interpreter to make opcodes, in order not to require pre-built python - update LD_LIBRARY_PATH to use $PWD instead of "." because the test process escapes to its own directory - modify shebang-fixing scriptlet to ignore makeopcodetargets.py- CVE-2016-0772-smtplib-starttls.patch: smtplib vulnerability opens startTLS stripping attack (CVE-2016-0772, bsc#984751) - CVE-2016-5636-zipimporter-overflow.patch: heap overflow when importing malformed zip files (CVE-2016-5636, bsc#985177) - CVE-2016-5699-http-header-injection.patch: incorrect validation of HTTP headers allow header injection (CVE-2016-5699, bsc#985348) - python-2.7-httpoxy.patch: HTTPoxy vulnerability in urllib, fixed by disregarding HTTP_PROXY when REQUEST_METHOD is also set (CVE-2016-1000110, bsc#989523)- Add python-2.7.10-overflow_check.patch to fix broken overflow checks. [bnc#964182]- copy strict-tls-checks subpackage from SLE to retain future compatibility (not built in openSUSE) - do this properly to fix bnc#945401 - update SLE check to exclude Leap which also has version 1315, just to be sure- Add python-ncurses-6.0-accessors.patch: Fix build with NCurses 6.0 and OPAQUE_WINDOW set to 1.- add missing ssl.pyc and ssl.pyo to package - implement python-strict-tls-checks subpackage * when present, Python will perform TLS certificate checking by default. it is possible to remove the package to turn off the checks for compatibility with legacy scripts. * as discussed in fate#318300 * this is not built for openSUSE, but retained here in case we want to build the package for a SLE system- python-fix-short-dh.patch: Bump DH parameters to 2048 bit to fix logjam security issue. bsc#935856- add __python2 compatibility macro (used by Fedora) (fate#318838)- update to 2.7.10 - removed obsolete python-2.7-urllib2-localnet-ssl.patch- Reenable test_posix on aarch64- python-2.7.4-aarch64.patch: Remove obsolete patch - python-2.7-libffi-aarch64.patch: Fix argument passing in libffi for aarch64- update to 2.7.9 * contains full backport of ssl module from Python 3.4 (PEP466) * HTTPS certificate validation enabled by default (PEP476) * SSLv3 disabled by default (bnc#901715) * backported ensurepip module (PEP477) * fixes several missing CVEs from last release: CVE-2013-1752, CVE-2013-1753 * dozens of minor bugfixes - dropped upstreamed patches: python-2.7.6-poplib.patch, smtplib_maxline-2.7.patch, xmlrpc_gzip_27.patch - dropped patch python-2.7.3-ssl_ca_path.patch because we don't need it with ssl module from Python 3 - libffi was upgraded upstream, seems to contain our changes, so dropping libffi-ppc64le.diff as well - python-2.7-urllib2-localnet-ssl.patch - properly remove unconditional "import ssl" from test_urllib2_localnet that caused it to fail without ssl- skip test_thread in qemu_linux_user modepyth_tkpyth_tklpython-tkinters390zl32 1741854152 !"#$$&'((*++-..0113446779::<==?@@BCDDFGGIJJLMMOPPRSSUVVXYY[\\^__abbdeeghhjkkmnn2.7.18-150000.77.12.7.18-150000.77.12.7.18_tkinter.solib-tkCanvas.pyCanvas.pycCanvas.pyoDialog.pyDialog.pycDialog.pyoFileDialog.pyFileDialog.pycFileDialog.pyoFixTk.pyFixTk.pycFixTk.pyoScrolledText.pyScrolledText.pycScrolledText.pyoSimpleDialog.pySimpleDialog.pycSimpleDialog.pyoTix.pyTix.pycTix.pyoTkconstants.pyTkconstants.pycTkconstants.pyoTkdnd.pyTkdnd.pycTkdnd.pyoTkinter.pyTkinter.pycTkinter.pyotestREADMEruntktests.pyruntktests.pycruntktests.pyotest_tkinter__init__.py__init__.pyc__init__.pyotest_font.pytest_font.pyctest_font.pyotest_geometry_managers.pytest_geometry_managers.pyctest_geometry_managers.pyotest_images.pytest_images.pyctest_images.pyotest_loadtk.pytest_loadtk.pyctest_loadtk.pyotest_misc.pytest_misc.pyctest_misc.pyotest_text.pytest_text.pyctest_text.pyotest_variables.pytest_variables.pyctest_variables.pyotest_widgets.pytest_widgets.pyctest_widgets.pyotest_ttk__init__.py__init__.pyc__init__.pyosupport.pysupport.pycsupport.pyotest_extensions.pytest_extensions.pyctest_extensions.pyotest_functions.pytest_functions.pyctest_functions.pyotest_style.pytest_style.pyctest_style.pyotest_widgets.pytest_widgets.pyctest_widgets.pyowidget_tests.pywidget_tests.pycwidget_tests.pyotkColorChooser.pytkColorChooser.pyctkColorChooser.pyotkCommonDialog.pytkCommonDialog.pyctkCommonDialog.pyotkFileDialog.pytkFileDialog.pyctkFileDialog.pyotkFont.pytkFont.pyctkFont.pyotkMessageBox.pytkMessageBox.pyctkMessageBox.pyotkSimpleDialog.pytkSimpleDialog.pyctkSimpleDialog.pyottk.pyttk.pycttk.pyoturtle.pyturtle.pycturtle.pyo/usr/lib64/python2.7/lib-dynload//usr/lib64/python2.7//usr/lib64/python2.7/lib-tk//usr/lib64/python2.7/lib-tk/test//usr/lib64/python2.7/lib-tk/test/test_tkinter//usr/lib64/python2.7/lib-tk/test/test_ttk/-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:37853/SUSE_SLE-15_Update/8c888c25b91864677ec64a46e057680c-python.SUSE_SLE-15_Updatedrpmxz5s390x-suse-linuxELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=d2f9f858d219b50cf5aa59e226213a746aeef277, strippeddirectoryPython script, ASCII text executablepython 2.7 byte-compiledASCII textemptyPython script, UTF-8 Unicode text executable  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRkаZe.R<utf-889a47ab1e987a90a73b090e6bb789d54a97cf45265c5d079268a9e3d38265cd7?7zXZ !t/Q\]"k%a) \/sɝoecW+U^ Pdf3ј϶L>݉Xh3߭"xc{a L?vZ=H񚻠qg:c}\癪H?Op%^-k} ! yLؾ'5ڥ:>/O+x?La9sk #D hA:dmL35~4QRDݢXSm0Eʗ;OqQA!eqL#Kz&J :^P 7QqE;ģz,<u 8 oY<Ћ([%_"!Ct^{,o) =3➈/b!&3Fg`&C&ֳg$śfWUݽh hC;/jQur HBsx3^o ȑo|`5MIǰqoC M4.;/Ƨ2{ta+ipb똦 g ,40) QU,`zP3H !}ek$Um5ǎ !9T{k!*0 [ιAoOa% WCuś僮@]鉼XP熊`mgo:kyvǗ3zΏ"]a`:p@wCpݏn"r=OzGʹ2ܟbUnS\,e9W1nmJA}ep(n$\DNP%½N*Ӎ:{D  H%[efѡZN֦c3=w'XckUS\X3GGcSjF+if7˪A!V/R:\X%Mag")R L^#&Le:CמD.նt%`%IlB`q %HϷY0]y#{c 8%䯒cSBd~lҠaJ'g|k X&B~qN3 PWT$K}ljO$ *vX`k_n>)kpJVX2]]n }~ڲzsq4\* V ^Ƽ{` OlVI΀R/Q$y)*cP*U5b{;M,kreGS_#.(cu(i(p(ER|{Ѹ0~֦Lc#jn$)곸-F@pSCU) xJ%N$>0:e>RU1@Z;"-8L4Vj?WۥQ!#/򠎉13)@+ Q"FE?x#K /]YದaAaK~ߓ\^׸VX}r-{Α9:`t[zxLsNBqv1UNbUP RBH.&,Ū~; Km8L?72ԯc.κM YFGvI+=4dWG8CdUڌg?5 q,+`x[7 f62CD*%zmJ];+~P (ݙVt( T&җ-e„"_WKFOs"c|dS"et.[:ǙC)QN{ O4dC>MFqoV]'r [HfYSt~RGY^kt׈1vӖ;[zk5];n\2i$G =w@ruGXwa6]488Кvg/%e8|ފi9q$J6mosD}/kʸj$%@e ?}K}Q@tc@Z9DsTQ >ځB"-$:NB_$] WW_~קN2\Uvw$DwLoX)yn[u{ Ƙ"grB #[wej'V{X=`u~V`:!Mø'7 ZwI`(fg4˾f-P npKǩႛдLiklKIQ(J`3o"L"5? W5W3#/YHRWKIڕ ϙj^QK0lz![ֺ-tacgܝ)^6|XK^-hac-ʷep(1V.I(d"m)<h mY:$5Rh S0\Y_?{IS5d|͹1Xt-s:Z콝ZnG1&Գ 㺛رJ\7a#;Ѹrոt?VN{ym ĕs T?}>fTx~YUL8A)M1sߪ,a :ƉW7d3D0! M 7 @鱛mD#Zo4i,Qpۋ^IaqvT|8<;>$`ax0qJ_Jڌ ʿwUVx ]LLl =Ym=JO'E x( V4%_[: x.7iiw[Hyc@î&aЅ'i#]pJN\uƁE z7&0%b7B3Xdh:qV@CgVrz-5Dsb r,,uu+߁>&ճ",?65Ն)YfѦɚHAO*ߪ}ebsml/}CKX#2g: Ы÷)LJ0&'CZQNa*@r8tf X\rux tb' j \=zv5$Zn! A- ЉԻeh벍[A]fF*^qX-|U[^gcmѰ YEvx Q_*S78nH7MaM 7 k.D^+$jhEd&0<$5x!sP e&hT j9aMT"1g@ZJ~yH |[i.w/-\vݭ~ ծ%-=7ݭJø ])Hg?ը:ȓgtgi5 Try u;4W)J 'ژ;h3UN/V"/N5`dG39;'di_6-pG^a_2K;>O!^E@Ut w ۷gގ} ťDkڎgh3fe1K;dCV-󏶿]i\ZnVAl* b/wIPSwζvӳrTf79Zv0/:G;묗c:ܥE=-tlO02PIF}_H)(p,2^!{YAG* v:,/1B&L$SNX&-uVI5JJ~~?{v&KE斁.ɥ[ǁvWEdjރLme$Ս2+=aM k5Ҡ=;▫;6 $xL=ë%k'/;?mxҐӵٴzQ=E-|7EV@)k;obSE, Tlp2i`y`Ukʓx|EvN.]7}f}8Qa:"'l5z_jo&|iJCg$㱤t(04m6]Bc޵"0#}Ba?]S R7cC@4eADvU'y!NLqU*pZzzwYlPB9;i?$!散suv |J^9O?b9?*>)=y\@b\9bSirX;C>5"PѶp@sDȤP*#Eѵ띚i2$aﻶeMʴ*ciUH=I)n0 '+`wL KT'.uJ&89LGMÊ$bLto\.&_$MM߹5!o@#Wb ‰nSuXsR4[繀4ޢGKsMpGf%Fe|3!EHD\sE|R~K8'H w-4ZNn*y{~N^hpuԮl= c?&]z89~\Z'<#_ŗ㑵ۦ8 ѕvΘ6g*%h.-8~fp!,Dod㙩9{UiD A8ZфuEԑͷZ`-w&_DfD):dAZ̸`16&4'u it x&vaW,"h.Ty0rJaԨV1SA2@$\]ll^PSћ^|W n1Ønr}$)Mg(״(>6X"U.u%.)S{?}Œ-dKL@!$$6 uU̐ LcYua:IeHz^pLiɸcл1T fs+,mʑTrʱ`/H3HR`:m?W ӬG$K1"Vd/^ʩd1k1L*<{9!5{un]8RlޟBgCRA&w oga0 X.GW^GY*^Apn69F.=YWe5 lR-AԞY#5E;s*aF&M0FҞ=–RƘ#d!`U$=EM pbֻbaeD lxV.+xTӦܒ園Uyn8Զ2Х2rua#ci#31CWA*-avVhV wKecK_..Hs;#0>RQ>Iue} v\Q5j+JB7UHM&ݛs,ڠc/O4Pzr ! 9;{kv0lZqH?%o`$<6;y/ 66!i+,eሀJɃZ2g Xڵ%PIWanP!f˼/5/HFF}wʵnpW-D1=&uKy<jPJpP Y#yi}%ɖ19З΄^VyR7JEDD>N7Bl&dCTҭa)æIӟOԏ EXKi`SS zSɫ]&/A799 )XN/ KT>~=X:5OF8b <,N`m˕pfr$TX.Sh T 'q{Lsnk^b3^np 2H;+ Yq uL^F};g`p[%.I'.xhq1eh }>KUeUCz'<4%GkK`I#BbeQilRC 4P(}Qs_IO"rb"`XVCKJD3Xx2ˊC6\ 0w/48>|gTnrta G0L՘M]oc\ .fk^ؐ&<, P܉sjIǢ`X"%q}2P(p{1βxCeFa&rP @xڡo6&j?!vbzwؑx1S#p⊭kW%j=:#6kNQҤnY.bq B?J_ʡ|OHneFШ_ Ǝ q-Oͬ\3=(J4ҽ1 ꩪ%_:EBi\E |dh%!5 ʐbiLq!Zn\9IUMes?,!8%YKP c=8JuJI]e!6?dqU TWIGUIJuH*% ?GNVGTH/MF J0c7ѣBS fBS/yxQ t GB@*΃;{3^Ⓨ(r$_*Zh V]Ir$15lfO\+hBb<\Ƽ7 qwPn*R٬ysմZ&{d 1L^0\#ypyDYg'D Z|d[ vQ`ib i%CqC4j0ڇݕW}!xf%5t׭N/8iۗx/mr+A gg/{^6_DǔEJO;{`霺Aď%ji_rT ̧_C?%4VF_1Kќ7EARLߗQO/`PE%nu( L'Cy3TcYaRh᠈GС.+]27)Ɏ)aPksVPyx!!v5swL^byeD`@3?(f܍fQxܛI1Wq٭)9 f-u`Eg遲P7q!DAS+ÈV[4cW뮅MCPKh]ssXF*$AĒj330])#9p1# 2G+욾)FԷS;?MQb$Sl Oz3EN؍Z=vsԼwO_ޞ{ra0zRs}ٙlHkNk;lvؓΗH\j{!>T=>CqRX8f}U6y0x䶽.N'k {7i$@k?jȬhH.\3ţȐIˆ-1'cE:z_ iߍz 'Y#Vl'IJA<:Lgܮ#Ԛ[0q0Gm9 w¥ ?ނ o(~qKw~twC΍-R;c؜@*.A&iML*ȌeD^Nʽ!j/PbXcWC~=oroY"N(Lj]T{?~jRax `cSN0%,*|CCZI0,(5Ek^8mxֶmN[0o{r%YK&=zi͈CiSB$%bƷvK灀tF?27 lù=+AF6V^[bYo_Ι? x:[ɾ榠xZ1dA<'`I|Rb5F~8t Dmq*$Co~7aMJwxWLPŵ NWR=n*?t{kAHLEs1lsGWe:I"RiCM]?ôh$CpHFP]_o}[;ޓCND{$MH'* -:ֆߒ,[љvNP* |OIC(OJ"G=`l*  mcB-D;,h0hfH>hB^ Rhl!Q$<%4N8_~b7=ږ`w pkQ3qmghAՀt0זcciv} O;#> \μ#DkΊFҰm Z WM/E?2bqym|!%B4X/c+EǍV ?*mhnd"q3r$쾅0آ"dM"C*! у%z32B4.#%;z+YaiX5&4Ч(FrZ̚Eڰv}N'5\-˒#k#F!Ԭasc.2 "p;qFDCYoΪOgJlr1oL{`kK nE"ڶ`I +$*nM,dJFU 7?H2K_f) g>7]Ò!Ȃhξ'!)ݼe]8N4귰LC5pPRٳ D 5͍aA\Qv.-yTe4:˖,SN;g61 ̌qSEU 8/lD9DqYVR͆=YOs Bia79"uMxeZ 5!ʶpСHHH F0Z V&}U^:ηK_! @DZlb| \PbC\)Os:i.ƽ'DB~A`@9<OJX1`R4dRez ގOFLo 1+?$Qb  UI)(TK;8fyU^Ԭ)!|&mA6 y+~]v`f~1B7$8[@Ҝ[A;GZ?L]U߶h)wt^Eh+^ 󕃬y6iȌ*Wa|sQIoFWwe9oJ_[\; V4cZL_F/̿¸;cm~l+Ĥʾu zb'TT0pA`x 4_ϴ?W: W`yIp&Ƀz5s`CNe\.^G$x0a9y+HR#(4vzVyu|Tb{dEumBox`kS͹tZH KkZ2yU|{}:oWYf(').~LM9Z)٭4*dcTf8Saʑn=1d2d0hVh q;+ $$ BɊTm],4|pIrqF~f|E\m)A6:8BE $m ỳ N[1e^TZ8r{ko*dWr59l"ꊷ.lmrrz+VځnƎKd4x~hPTv9ngϡ2Iq0P~kR D#CXNS^L6kUH8S=ү3Q[vO6Z_82lBDyPD?BHw[+?`0bzj9 LY>7놜}Cj|(/МlæukH^fX LW @RlmYx e3`;ة(7i?d3QAULƜŰTohS IׇU4.<Te zy 6P`[n Ǫ`V(徑?Z0u^p{~6Lt FZ=m*-QS)[6I>6gC^D0C<}.oҟLj]rνӋ M ]eL@v5mcO($) W٧:pgܸ&f/k۽ #%X/"XYOЪ&~Q y&l ZSgOjF쨐` QfQ\ɅfRYj;tIHB ䷕FZ̫Y,)s:tDOj|,KUW|H݃}}e:_(_K,9CɃ٣bS! t';a-Dn<郸9v!eԉH肭2KCMCBy WxsLFq;he2'ea\T " zjH0rbä<] i ߍ_[5]\-tÈ :9d&-[_ `μ7Yax6 d˺,y]t]VbJ>)3։ i{LTYP*q>q$HgH T%+:lFCƽT mq0'jRVQp}*a}+IuhPHd6ckmMn*THRZ*h=S?pd<#A YW';:N l![;HkhKKP,^I!* #+_k ;$0Q.ϘCht`SPF] 7JS|EcFQ/%9̥_sJ Z:0N{?fg=_\uƾVj:Xre&N `Q߸79%瞅Ls1:Fg& 0HMӁG Ag7gb|s}m<@[!.@weT 2 Db9I|o4O?DWFqj ׇ]E&B&m }5. Ϧ2(`Pt7@#?x::IYգ`G1z! ;Wh~Ϝ-!ihl:&eeڔv1_L`4`fQz2VrEjLɖԖ<$TE'` JD2NGA^XuK=,\XV\$ƛ ?wIUacEݧ#b6re{m&ؿ7C1LdNߴ(8ǭ JSwP0rߚ9}p?{"T}I߫Пpk).HD$1wP$JsY!KcQ)s3o!!r!bn(^o(7xx!l|A)lap ;Q{N_u%P;Dk^ |k86`шLUBYqEYF77Z9tkFNL-E;=%ݹyAZ-7ӠDtg:=9 3 ꮉ ^ݸ]<˻H՚^$,;L`Nۯ@26ճSV8I5Ph6 VuY1L֤X4QP^ɕ-ceR 3!zU`]1Db. y;IGe e}&0@RBkZ5.a>ώ-r}',w效q59mna>ESZ!^WV1@MF=Fڱ5>oowF(M7tkAYcs^N;j \̢Ld!I0oCHnޑ.OD9##iuœYg؁Ntt '%O'_`zjtb@v=> ۈF汫P=\s&p[zGKlT{O4PY4KW$ cާGmP]L.A:hFhKo"xk7G-jpsuEM2zF׽Ɋd?ֱ;(2i!;igSm%w`߮7M*DI{@k9>,HpP@E= k0?s'Գ; TO1W%&{w;>dՓ /y  gUI&?: PSp(O@1/3V.X,6,2Ӡ2'acvQz^C< ʥ[C~S+x/c,ES}Ԭ Xp:P,6oR\nh0ɯ \z"QG~} vwJ\jz!,1@h&p|*d+4KVY{צ !yr9^&lb*z.U1]J3h*@Q)`U.BvupS5*YE~дLbzUNo-L'Tsۤ1??Jؘ|ֶ̖*-&\p2Rk9뉁DXFȄ-/lCNDLJFA&b;t]f٠W.mRk< ^JN" qx1&,ybԃkfѼ*\HI*W _!/TWq;v91(", h kQ\? O"X36"#YҀ x#s3x:ŚE}1  tזBPvjTHJ?vQ}ư W[Qzgv^/Y)? [R}s E/q &q={sz~g4͞15+V,r~A~9 U\fAC#ugC';dJb|L׈ h 9cR޻f&}(,2ؤ)oj ^Sr|ݪXOYഛ4Giށ_danKz+hRhYc|N]Sѳ8PcX9MUݕ7꒐R#@*Yr0XIT.(8Y=R =~㈧bMaTwdx f̸D`w,z';'H9ĚOn~?) p~Gfn QfD'e>WsI T;G٪u'G8H v7wK\agT5D;J{0cƺ7AE@7XsO?S4Vb@m)}cHU2tU},>DKmv̏$ՔOJ>xs>Tc,lHgM?g۱pU|ob v2^4)㟸Y BAcbL7>v).uzy1ŮLmלVe)2(#AJfcb7g굼T.kӴ;B3MKK4,o 1ySK"0jT`X*ľ1NSZ>/{_ #B3"k4۷K(C*GݾJL/c(C]} P4ܼ9;uc[W맜 'fTX]DC|RM s:"ѐ vV9?r,׫r> xb>!k1w1A*%7Xπ5fbrӬ2+_/6K 2oW񘬙8Yt߭?!ӛT=Hܤ:f'x`m<~N[*2,6]_UL#%4LǖmMj  %"y Pϓu,g`'kx0zRT^R 4yp٦v9Z^-HeщEx b r̿-'R3>ZbU |⛢;ѣiޕq_982O~2A)4=/K鲓Kyӹ _٥3pS=ٚ`pm0l˚'RlB,j%l?yN* ™+ڷm1~e42:H3^֘C~^[Fw4 =蚄k+qNq#73K"5u#*$K*:Q'"˘\0e9ASz#walji3S9_ojg,]IaB7! M~1F~l %Ek2{)4x&pAٗ!&DF!Jq~h )ٕ9,}%a)W CWmC8^~;A&a%~*ċ.B=*b@Hlt8x= 9|p"!\V/n֐a7-Tǚxj mq$>`˼QG3ȻAE g^_)f*%*\HA3(;r1I+,ƈ M/Ż ssV3)$73DZճH c(h+L7 AOr0bwDiJec,_O]VD9JF+M+sQz{)?qZ3$;XBuڑ͋ >ߢ1xTB ažk:\J2ޚ8Ѓ 1hlH\5`W f,"}aÔ"nN5ިxRD_36`0<GeSJ 4LV*׭2oȥ Izo/#bf;ı ˽cIAiz,5ƕ/oQ2AHΣK1 Fx΁s<KqIE]+t WW}y[c9vXN~x +\R=U,8bVa'h>kG2>)܁NH:B{|*&\G&"\ &XMU]2#o0E2&;#=ZMfș'ao\@k1Ym3T25ojʺ{BV3~Iقg1nwEbOAc_]SLdw<7/me,agBB1:p,-xT,#jؿBg jjjjřZ}I7]4CXX~W?.Kniօ*%&}q9.sM붴l2рP,}քx+]YD:OkWE9UZt6[K!5!@6S9߰ԴfQDvuM__>8{$++'!I7w4/Zbbʔ;G?op3so˧N TD/V)TxZJ;@PbGytu4)B ̀]=h9:2ej@A0/O"Qyڅ,rѝf YM΃^ؑ$[ iBgv7p6.t34)pr5sN(b涫1(τɢ FRgpFaWO>XBXS:K'zUkcA"Q[+XV':]!Jog77Yw}Nw=sni7ΙE]x9–xDlJ>Q{vd[ bW ,\tXp-CHr$={""@BNr~Tl)l.rO2gBp].t} C9zY:sXpYmjw囕QADl*E,flkNQF{Ep`1݌?KƯX&4mNCrMKK}G'YHі0[[q x[ȣ !aR N;mgǃ0nV0ٟAϽȣSi$wZ ^]O5>nN@ޒT's+X!`)GJԬ@~<E-d;[*Q, 9+K߳|F!D ?F.Ŝg+^(yFƼmSOsQ#R m'֧Vg6y"n'7Ir.M`wK;Ȁ D"+sv )7y}lMY!"-i_"3zsM61 E ;/{n~ q^l9%"8v^0ckګ9KDYX`[-cL2>wISQ8#ZgsjiDJ%[CQ"-Mqe>z͈NX&8p%k;,} ic THˏZdWo}/ kQ]'2QzsS@zUIƦ2>Ղ#kW962sGe ҟs9tPZxZg`t-Vrt 'a>sO@߬^U=ę cjw#= zŅtO2Ju+Q+uon8!X`4Gߩkz&Su ^UÇB}t<ռ$,;Jz(ġ9 I eY'6{4|lkQ+nέA0/6sf)% xw&_G}YUJF_