python3-psutil-5.9.1-150300.3.6.1<>,Љe6qp9|NnPG)DPz&)M%N=&dMhX8b:oz@%Uʴ%;i+{>s9L$/{Lc886f%zY։HTS՚94Km-)Md ux}$ԵYW@Rm1_~ lcz Ĵ(CZeW=K D9I3U 70rᚪ[LJv}NpJr13G8>>?d $ J %1U[d[[ [ <[ [ [ `[[[ Z [!" "H #d (#8#B9$B:)eBFsGތ[H[Id[XY\[]\[^r bcdLeQfTlVul[v w[x8[y*zL\`fCpython3-psutil5.9.1150300.3.6.1A process utilities module for PythonA graphical interface that lets you easily analyze and introspect unaltered running Python processes.e6qibs-power9-13>SUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Unspecifiedhttps://github.com/giampaolo/psutillinuxppc64le`^LU5VV--::QQ44FFptptn$:HxyP?nc  -'Q4ulx i #> q Tt D.> XR AA큤A큤큤A큤AA큤A큤e6qe6qe6qe6qe6qe6qe6qe6qc{h@e6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qb=c{h@b=c{h@c{h@c{h@c{h@c{h@e6qe6qc{h@e6qbZbbY`ie6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qe6qac7afab1f97873216aa00e93722ae3e1bdcd7dddc689cb8319111d7e3ea4296cf0be734c92d4b39789cbeb7361d5ebf0691b4eccfbc11f1f250c1060efaefcbe901ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b44ee2ce70cccd434b4899590c80f866588df99c0810bc848b3ba0f4f2a4cb4e58023619f9ef0ce4b038d20084a680c2746a25f342e964d062616f6f81032620cf62b71bfa14507d657d7cce708cfb357c5b3b63ea52e6e456cbc56a2025176383efbc3e1a3328362e7a22cbcc36395b82c39c317473a6506fba76ae9501511ef99d08a4c21ff9910128159b12354589761d773794222b3fefcd50fe4987ceb189b2758d93a6ff1b407f877310dd11b13448cba28f5272844b51920929226dcaa4712774fc8e35d87132c5ebece8674a93bbd90a910b7952006e47ac662aa15a9e57405fe57b2236116ee8f45d53aa745f74a68f3f272cc554ae7ecd6bfb9216b5d1e1f379ca46b0932a1de18898f1861d0dd2eafbb9f7e79e5d74e9e66cd4181156a223d529072ba0d9aee3d800736cc3dbfa8db1c19374dfd823497c59f93878e9ca9b18314186ebb1547f83040e9b83daf3dc712e57c2ed475d570536a23f7d1fdc75cfcaffe8d8beae3197d357872acf37e74d701a46746dc12d5c8571f661e591faecf1e2462571b5b25678fda1a3c7bce5e275b5ecb2f41ea87380ef08507a3292efe10f0641739a46d96cdaefaccd42c7972fbb037c123728196225faa93835ec839e98a3e02d7aa6a101899d456550b271be7ef1de56863779096460644d4580c9ca2dc1d1762c4a146390c7bf735bad51464b4cb3920d543a55e15bdc3e1d4cf1a2ddbdc66946011e962e576f1b6ebe6137c8f5c71dbadeca82cc4980084b234e0c528214f5a4c583e6702b3c6eb62e019f6ec6ce7b2909c5ce0ab7cb341bf0b3cf711570f9b9566ff5adc46de7e6e18e92b15c3081a254cb6eb843f51fca7567a5a50086f9eab06b7bc4d109d5ee9b3b0afa16bd85de75af64463317248279932979a60f4f2318a24ee1b7d4bf199de250dd5993ddb9e4cba24976d9c27db146ff71e97ae49d46d4f653826276d1e253ed81671ad548efa6327d4b99775d93db20471c32923e16ae2be750c09e378d4dedbd4e818a943fb5649e8996510dfc42e5dfdb59de549e8b7567a205a7faf348634658fb8a9f181dc71ad6463258a75640ce67c814aa0e2e7ee50427d51f8b74094aba5a2d01f89d4816c8e81110112ef95dcd342fc23894a869ba96c2479fe0982fc4db20398738bbb8c8606d3fee4225992eb5f271aec034fdc2277b62e5648f226e0611557b214abf17cf76f1d570731a5cf2a501783c9e0f3c919e781475c6e4c2d54ddab6fc3b14facb8abff0e9851282e42dd41b8ad4c4233c1e97a27249e6334ab5dad63421515e47bc96663bcf7ccaaa8e57a1e3cfedd872e4d470c46315116ec1ac4e057cb73f395ae6b98bd00d97982d742cbd05d1abe7c0c36db49ba225d14f81847f1eef8bcfc271cee8e319aaec057df9991f4492e217783fff53a7415aa9ec1ba7997bd1fffed314d862d56d18502e42562927fb8633695cf972a80d0defc36a5b3009db143fabf23e5eb8018d09013ef832275f07b8583d8f8e4dacfecc88b51bc5ec660bae5d3288e1e37c26aab08e365f8f3dd009014a4b5f27561d3fd4f568680812a75eb0f63756b5bdca8ea043aaef45c3392eed44a461c5bec6df4ca1e138cf2279b6eebc94b7e1203cde848688c0715502725af5951a309bdc4652281aa84ae92c0f4e8bb497d866acf8eac31f5d1b7ed3eedf6681ca56cbfaec5f4efb688a13a6bec93ab968c1e4377ef2124687c7655c708310cef4589e5debdcb22ed750c6aab6013b35d3e2ea5ec755943540caf12a4c5c93713e83c4860ff15074aaab898d457a34029b4a57753e19cd6b4385a3c70f89e645ec440942c0d7694a9d297d0e51ee116842f03d7ce3882a843bf05d440477ab6b1c097f6a357361b6f8fac5a2022e207876645cf2c28dcbb3c9cd579d9fdff69c7c924d971d44ef86b62c841a82310976ee7194836cac7bfabb4c626b6a3ab55b39eccb51629765f0382a522db75f48e4c8831a1b388a9a563b4b4aa523ce3fb72ad408aea9a5dbc1e8ffe8f3fd8b9955ccef97f88115854256ba27c23efcb4d6d439cf8966b4129cd2647195cf4144e05adc134abe024a77639c7297cbe126e98cd5b033d4e686f175606f011fcfdf16d016c74ba8f35418bba7c39467edef079fbd13eafd6af27aed4e308ca024399603aa881cc6257afdf37d3a89ca08f9de32f56e4f1f69a6c29a4a62531de087d3e62c8455aeed043342cfaa0661c3e27231b694fef811b6553d2f4c094750a6658125e359ad22e478fad7f16d81746a95f1c0a162f11345314505980983daed3e371998ef9ef01545da56d59264716b7d1df493cf8f3a70964db4a30ebf6b0ebd458d2ef64b33c255bf89581d28e142a5aa0e47263870c9ddcb8c00d5517cdba75075495e092fbd00f4223fd7b06ac141c9aa9a55d7eb5a3e0c28506fa25924f9f7aa946c5b386c38e6cfec265f0ba27ac36230c9b8c7643e6ce16e1cb936aa8cba4fd9dc03b922375bc9813931020cac7e1b13cc633335dfaf9943452041ff50a9ef7809baa1b848f4ec640c35ebf33983707406c550c93a82aa8540e0ee6dadf1ca768c34a36ce62e2fdc43cca6734e338bd8c39842e60a1bc1bbede9452dbe0dc52a07af56722343b6a8b769d04ec31a9e62aafb0f28e6475b8030ee5d49200148386a0789be1aa53b6b2f598dd1f219288f1026864c0fd4896fd3e22a66454e72d9718aa4a3aec79406c656c1cfd8391342f66fec0c4aee1058d118d619cfca9527dd059570962bb38fa27a2bdd11f183c62e47a154f3c93a23ecbffe3f7d6b0c20acd36a017f342adcabf5b54a66f601faf0ae49c9fdad54446cb10a65ca534b0ab14ab6ef5e319c0372509858ff45bba911a4b64a8fca67310d03040b16f3e5e413d41b82352b3aa1342187addcd23d1e15d6ac462e0392761e7849c5348ceb5ab4f53ceb5c6ce3c77f1c836853261a6a14d7181b41b7a1b4813786cf0855216ec07b07241ab7cb713bc0a567dbd6e01b88da7494d352fc01723a7c8b720661f9e9efd54bf58d8ff3d9f317ccd5d4b609e9e9a2caab86235cddb3b5b42d1a3eb4c6f273017353cca91a15b66b4e158a8922ee7af65f49f51a0f342dac73c24914f7575bdc9818ea045d65d64776923b71d245535404a0fcbacb1147f924249b7e171ab4b37c4ed5485575b1c1d08a49aaa9454566d0ed12f58f8df56f37746cdad641be4188b1078999c9991349723b8e3fdc711e357b0a9d0657240d20382b98e26501c6186663716c53f6aa4c8126901475f2e1a1b35354415b41ab83edfb18aa2cb0b0ca8296fb7b6882437731d9ba8da034be2aeea9dd5d83ca5edc8a9a38ae1fae7e799a8bf6aa5123df140774c4dbeeb766184c8bac23c8052e8b3ea5047260569bba76b35316e245af825530afd097d0d64dad4e07ad5428290a0ae6dbac669d930378032f82a2363cad46f6d2f79f9510605af4d51fd7cce99fd8a72d31cc24b256f3df7346423e0a86329d8522487f1800b17f4fca7720c7b1836264b1be14cf6e75ece2e4f29c255756dd36217ad5a5b18096ad924c12984500caa07ffdce19eebc06396c5e6d244b573bc6c438f4a6ef8e56c1brootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-psutil-5.9.1-150300.3.6.1.src.rpmpython3-psutilpython3-psutil(ppc-64)@@@@@@     libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)libpython3.6m.so.1.0()(64bit)procpspython(abi)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.63.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3c{h@bVbUbar@a}aaz`@``@`__@__@_0@_F@_a@_?@^l@^1s]߶]ƪ@]w@]6\.@\@\\g@\LK[[x @[!@Z@ZLZ;@Z)-@ZY@YY@YdY@X~@X,X@X!@XXI@WjWWgWL+@WI@VV@V`V@V@VXEV.UYU6@UK@U3@TfT@Tk4adrian.glaubitz@suse.comcode@bnavigator.dewerner@suse.demichael@stroeder.commcepl@suse.commcepl@suse.comdmueller@suse.comsteven.kowalik@suse.comidesmi@protonmail.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comcode@bnavigator.deasn@cryptomilk.orgdmueller@suse.comcode@bnavigator.dedmueller@suse.commcepl@suse.comtchvatal@suse.comdimstar@opensuse.orgarun@gmx.dearun@gmx.detchvatal@suse.comtchvatal@suse.comtchvatal@suse.comjayvdb@gmail.comarun@gmx.dearun@gmx.dearun@gmx.dearun@gmx.dearun@gmx.detoddrme2178@gmail.comarun@gmx.dearun@gmx.demihai.dinca@suse.comarun@gmx.dearun@gmx.dearun@gmx.demichael@stroeder.commichael@stroeder.comtoddrme2178@gmail.commichael@stroeder.comjmatejek@suse.commichael@stroeder.commichael@stroeder.comtoddrme2178@gmail.commichael@stroeder.commichael@stroeder.commichael@stroeder.comdmueller@suse.commichael@stroeder.comtbechtold@suse.commichael@stroeder.commichael@stroeder.commichael@stroeder.commichael@stroeder.commichael@stroeder.commichael@stroeder.commichael@stroeder.commichael@stroeder.commichael@stroeder.commichael@stroeder.comtoddrme2178@gmail.commichael@stroeder.commichael@stroeder.comtoddrme2178@gmail.com- Update in SLE-15 (bsc#1199282, jsc#PM-3243, jsc#SLE-24629)- Fix tests: setuptools changed the builddir library path and does not find the module from it. Use the installed platlib instead and exclude psutil.tests only later. - Refresh skip-obs.patch- Add patch mem-used-bsc1181475.patch (bsc#1181475) * Adopt change of used memory calculation from upstream of procps- removed obsolete skip-partitions-erros.patch - update to 5.9.1 * Enhancements - 1053: drop Python 2.6 support. (patches by Matthieu Darbois and Hugo van Kemenade) - 2050, [Linux]: increase read(2) buffer size from 1k to 32k when reading /proc pseudo files line by line. This should help having more consistent results. - 2057, [OpenBSD]: add support for cpu_freq(). - 2107, [Linux]: Process.memory_full_info() (reporting process USS/PSS/Swap memory) now reads /proc/pid/smaps_rollup instead of /proc/pids/smaps, which makes it 5 times faster. * Bug fixes - 2048: AttributeError is raised if psutil.Error class is raised manually and passed through str. - 2049, [Linux]: cpu_freq() erroneously returns curr value in GHz while min and max are in MHz. - 2050, [Linux]: virtual_memory() may raise ValueError if running in a LCX container.- Fix name of Patch4, it is skip-partitions-erros.patch- Add skip-partitions-erros.patch skipping tests failing on Linux (gh#giampaolo/psutil#2043).- update to 5.9.0: * [Linux]: `cpu_freq()`_ is slow on systems with many CPUs. Read current frequency values for all CPUs from ``/proc/cpuinfo`` instead of opening many files in ``/sys`` fs. (patch by marxin) * `NoSuchProcess`_ message now specifies if the PID has been reused. * error classes (`NoSuchProcess`_, `AccessDenied`_, etc.) now have a better formatted and separated ``__repr__`` and ``__str__`` implementations. * [Linux]: `disk_partitions()`_: convert ``/dev/root`` device (an alias used on some Linux distros) to real root device path. * ``PSUTIL_DEBUG`` mode now prints file name and line number of the debug messages coming from C extension modules. * rewrite HISTORY.rst to use hyperlinks pointing to psutil API doc. * [Linux]: `wait_procs()`_ should catch ``subprocess.TimeoutExpired`` exception. * [Linux]: `sensors_battery()`_ can raise ``TypeError`` on PureOS. * [Linux]: psutil does not handle ``ENAMETOOLONG`` when accessing process file descriptors in procfs. (patch by Nikita Radchenko) * **[critical]**: ``memoize_when_activated`` decorator is not thread-safe. * **[critical]**: `process_iter()`_ is not thread safe and can raise ``TypeError`` if invoked from multiple threads. * [Linux]: `cpu_freq()`_ return order is wrong on systems with more than 9 CPUs.- Update skip-obs.patch to also skip TestProcess.test_ionice_linux- remove the dependency on net-tools, since it conflicts with busybox-hostnmame which is default on MicroOS. boo#1184753- Do not install tests (and change the way they're run since they were run from %{buildroot})- Add patch to skip tests related to rlimit and zombie processes that fail when building for python2 on i586: * skip_rlimit_tests_on_python2.patch- update to 5.8.0: * Enhancements: - 1863: disk_partitions() exposes 2 extra fields: maxfile and maxpath, which are the maximum file name and path name length. - 1872: [Windows] added support for PyPy 2.7. - 1879: provide pre-compiled wheels for Linux and macOS. - 1880: get rid of Travis and Cirrus CI services (they are no longer free). CI testing is now done by GitHub Actions on Linux, macOS and FreeBSD (yes). AppVeyor is still being used for Windows CI. * Bug fixes: - 1708: [Linux] get rid of sensors_temperatures() duplicates. (patch by Tim Schlueter). - 1839: [Windows] always raise AccessDenied when failing to query 64 processes from 32 bit ones (NtWoW64 APIs). - 1866: [Windows] process exe(), cmdline(), environ() may raise "invalid access to memory location" on Python 3.9. - 1874: [Solaris] wrong swap output given when encrypted column is present. - 1875: [Windows] process username() may raise ERROR_NONE_MAPPED if the SID has no corresponding account name. In this case AccessDenied is now raised. - 1877: [Windows] OpenProcess may fail with ERROR_SUCCESS. Turn it into AccessDenied or NoSuchProcess depending on whether the PID is alive. - 1886: [macOS] EIO error may be raised on cmdline() and environment(). Now it gets translated into AccessDenied. - 1891: [macOS] get rid of deprecated getpagesize(). - Rebase patch and skip three other tests that fail on obs * skip-obs.patch- Only require unittest2 for Leap.- Add missing BR for unittest2- update to 5.7.3: - 809_: [FreeBSD] add support for `Process.rlimit()`. - 893_: [BSD] add support for `Process.environ()` (patch by Armin Gruner) - 1830_: [UNIX] `net_if_stats()`'s `isup` also checks whether the NIC is running (meaning Wi-Fi or ethernet cable is connected). - 1837_: [Linux] improved battery detection and charge "secsleft" calculation - 1620_: [Linux] physical cpu_count() result is incorrect on systems with more than one CPU socket. - 1738_: [macOS] Process.exe() may raise FileNotFoundError if process is still alive but the exe file which launched it got deleted. - 1791_: [macOS] fix missing include for getpagesize(). - 1823_: [Windows] Process.open_files() may cause a segfault due to a NULL pointer. - 1838_: [Linux] sensors_battery(): if `percent` can be determined but not the remaining values, still return a result instead of None. - skip-obs.patch, skip_failing_tests.patch: rediff- Fix shebang replacement for multiple python flavors- update to 5.7.2: * parallel tests on UNIX (make test-parallel). They're twice as fast! * 1741: "make build/install" is now run in parallel and it's about 15% faster on UNIX. * 1747: Process.wait() on POSIX returns an enum, showing the negative signal which was used to terminate the process * 1747: Process.wait() return value is cached so that the exit code can be retrieved on then next call. * 1747: Process provides more info about the process on str() and repr() (status and exit code): * 1757: memory leak tests are now stable. * 1768: [Windows] added support for Windows Nano Server. (contributed by Julien Lebot) * 1726: [Linux] cpu_freq() parsing should use spaces instead of tabs on ia64. (patch by Michał Górny) * 1760: [Linux] Process.rlimit() does not handle long long type properly. * 1766: [macOS] NoSuchProcess may be raised instead of ZombieProcess. * 1781: fix signature of callback function for getloadavg(). (patch by Ammar Askar) - remove skip-flaky-i586.patch (obsolete)- Add skip_failing_tests.patch to skip tests failing because of incomplete emulation of the environment in osc build environment (gh#giampaolo/psutil#1635).- Update to 5.7.0: * Various fixes to build with updated kernel/etc. - Remove merged patch pr_1665.patch and pr_1364.patch - Update patch skip-obs.patch - Remove skip-test-missing-warnings.patch as it can be fixed by properly calling the tests- Add pr_1665.patch: Future-proof disk_io_counters on Linux. Fixes tests with Linux 5.5.- update to version 5.6.7: * Bug fixes + 1630: [Windows] can't compile source distribution due to C syntax error. - changes from version 5.6.6: * Bug fixes + 1179: [Linux] Process cmdline() now takes into account misbehaving processes renaming the command line and using inappropriate chars to separate args. + 1616: use of Py_DECREF instead of Py_CLEAR will result in double free and segfault (CVE). (patch by Riccardo Schirone) + 1619: [OpenBSD] compilation fails due to C syntax error. (patch by Nathan Houghton)- update to version 5.6.5: * Bug fixes + 1615: remove pyproject.toml as it was causing installation issues. - changes from version 5.6.4: * Enhancements + 1527: [Linux] added Process.cpu_times().iowait counter, which is the time spent waiting for blocking I/O to complete. + 1565: add PEP 517/8 build backend and requirements specification for better pip integration. (patch by Bernát Gábor) * Bug fixes + 875: [Windows] Process' cmdline(), environ() or cwd() may occasionally fail with ERROR_PARTIAL_COPY which now gets translated to AccessDenied. + 1126: [Linux] cpu_affinity() segfaults on CentOS 5 / manylinux. cpu_affinity() support for CentOS 5 was removed. + 1528: [AIX] compilation error on AIX 7.2 due to 32 vs 64 bit differences. (patch by Arnon Yaari) + 1535: 'type' and 'family' fields returned by net_connections() are not always turned into enums. + 1536: [NetBSD] process cmdline() erroneously raise ZombieProcess error if cmdline has non encodable chars. + 1546: usage percent may be rounded to 0 on Python 2. + 1552: [Windows] getloadavg() math for calculating 5 and 15 mins values is incorrect. + 1568: [Linux] use CC compiler env var if defined. + 1570: [Windows] NtWow64* syscalls fail to raise the proper error code + 1585: [OSX] calling close() (in C) on possible negative integers. (patch by Athos Ribeiro) + 1606: [SunOS] compilation fails on SunOS 5.10. (patch by vser1)- Add patch to skip more tests that won't work in OBS: * skip-obs.patch- Update to 5.6.3: * 1494: [AIX] added support for Process.environ(). (patch by Arnon Yaari) * 1276: [AIX] can't get whole cmdline(). (patch by Arnon Yaari) * 1501_: [Windows] Process cmdline() and exe() raise unhandled "WinError 1168 element not found" exceptions for "Registry" and "Memory Compression" psuedo processes on Windows 10. * 1526_: [NetBSD] process cmdline() could raise MemoryError. (patch by Kamil Rytarowski)- Update to 5.6.2: * 1404: [Linux] cpu_count(logical=False) uses a second method (read from /sys/devices/system/cpu/cpu[0-9]/topology/core_id) in order to determine the number of physical CPUs in case /proc/cpuinfo does not provide this info. * 1458: provide coloured test output. Also show failures on KeyboardInterrupt. * 1464: various docfixes (always point to python3 doc, fix links, etc.). * 1478: add make command to re-run tests failed on last run. * 1456: [Linux] cpu_freq() returns None instead of 0.0 when min/max not available (patch by Alex Manuskin) * 1462: [Linux] (tests) make tests invariant to LANG setting (patch by Benjamin Drung) * 1463: cpu_distribution.py script was broken. * 1470: [Linux] disk_partitions(): fix corner case when /etc/mtab doesn't exist. (patch by Cedric Lamoriniere) * 1472: [Linux] cpu_freq() does not return all CPUs on Rasbperry-pi 3. * 1493: [Linux] cpu_freq(): handle the case where /sys/devices/system/cpu/cpufreq/ exists but is empty.- Active test suite, using skip-test-missing-warnings.patch to explicitly skip 2 tests regarding warnings, skip-flaky-i586.patch to skip a flaky i586 test, and setting TRAVIS to skip tests which upstream doesnt run in their CI - Add upstream pr_1364.patch to fix reading /sys/blocks on Linux 4.18+ - Remove tests from installed package - Use URL https://github.com/giampaolo/psutil - Use LANG=en_US.UTF-8 in %check to avoid failure in test_pmap - update to version 5.6.1 * No changes effecting Linux * Many checks added to tests to skip tests for missing features- update to version 5.6.0: * Enhancements + 1379: [Windows] Process suspend() and resume() now use NtSuspendProcess and NtResumeProcess instead of stopping/resuming all threads of a process. This is faster and more reliable (aka this is what ProcessHacker does). + 1420: [Windows] in case of exception disk_usage() now also shows the path name. + 1422: [Windows] Windows APIs requiring to be dynamically loaded from DLL libraries are now loaded only once on startup (instead of on per function call) significantly speeding up different functions and methods. + 1426: [Windows] PAGESIZE and number of processors is now calculated on startup. + 1428: in case of error, the traceback message now shows the underlying C function called which failed. + 1433: new Process.parents() method. (idea by Ghislain Le Meur) + 1437: pids() are returned in sorted order. + 1442: python3 is now the default interpreter used by Makefile. * Bug fixes + 1353: process_iter() is now thread safe (it rarely raised TypeError). + 1394: [Windows] Process name() and exe() may erroneously return "Registry". QueryFullProcessImageNameW is now used instead of GetProcessImageFileNameW in order to prevent that. + 1411: [BSD] lack of Py_DECREF could cause segmentation fault on process instantiation. + 1419: [Windows] Process.environ() raises NotImplementedError when querying a 64-bit process in 32-bit-WoW mode. Now it raises AccessDenied. + 1427: [OSX] Process cmdline() and environ() may erroneously raise OSError on failed malloc(). + 1429: [Windows] SE DEBUG was not properly set for current process. It is now, and it should result in less AccessDenied exceptions for low-pid processes. + 1432: [Windows] Process.memory_info_ex()'s USS memory is miscalculated because we're not using the actual system PAGESIZE. + 1439: [NetBSD] Process.connections() may return incomplete results if using oneshot(). + 1447: original exception wasn't turned into NSP/AD exceptions when using Process.oneshot() ctx manager. * Incompatible API changes + 1291: [OSX] Process.memory_maps() was removed because inherently broken (segfault) for years.- update to version 5.5.1: * Enhancements + 1348: [Windows] on Windows >= 8.1 if Process.cmdline() fails due to ERROR_ACCESS_DENIED attempt using NtQueryInformationProcess + ProcessCommandLineInformation. (patch by EccoTheFlintstone) * Bug fixes + 1394: [Windows] Process.exe() returns "[Error 0] The operation completed successfully" when Python process runs in "Virtual Secure Mode". + 1402: psutil exceptions' repr() show the internal private module path. + 1408: [AIX] psutil won't compile on AIX 7.1 due to missing header. (patch by Arnon Yaari)- specfile: * update copyright year - update to version 5.5.0: * Enhancements + 1350: [FreeBSD] added support for sensors_temperatures(). (patch by Alex Manuskin) + 1352: [FreeBSD] added support for CPU frequency. (patch by Alex Manuskin) * Bug fixes + 1111: Process.oneshot() is now thread safe. + 1354: [Linux] disk_io_counters() fails on Linux kernel 4.18+. + 1357: [Linux] Process' memory_maps() and io_counters() method are no longer exposed if not supported by the kernel. + 1368: [Windows] fix psutil.Process().ionice(...) mismatch. (patch by EccoTheFlintstone) + 1370: [Windows] improper usage of CloseHandle() may lead to override the original error code when raising an exception. + 1373: incorrect handling of cache in Process.oneshot() context causes Process instances to return incorrect results. + 1376: [Windows] OpenProcess() now uses PROCESS_QUERY_LIMITED_INFORMATION access rights wherever possible, resulting in less AccessDenied exceptions being thrown for system processes. + 1376: [Windows] check if variable is NULL before free()ing it. (patch by EccoTheFlintstone)- update to version 5.4.8: * Enhancements + 1197: [Linux] cpu_freq() is now implemented by parsing /proc/cpuinfo in case /sys/devices/system/cpu/* filesystem is not available. + 1310: [Linux] psutil.sensors_temperatures() now parses /sys/class/thermal in case /sys/class/hwmon fs is not available (e.g. Raspberry Pi). (patch by Alex Manuskin) + 1320: [Posix] better compilation support when using g++ instead of gcc. (patch by Jaime Fullaondo) * Bug fixes + 715: do not print exception on import time in case cpu_times() fails. + 1004: [Linux] Process.io_counters() may raise ValueError. + 1277: [OSX] available and used memory (psutil.virtual_memory()) metrics are not accurate. + 1294: [Windows] psutil.Process().connections() may sometimes fail with intermittent 0xC0000001. (patch by Sylvain Duchesne) + 1307: [Linux] disk_partitions() does not honour PROCFS_PATH. + 1320: [AIX] system CPU times (psutil.cpu_times()) were being reported with ticks unit as opposed to seconds. (patch by Jaime Fullaondo) + 1332: [OSX] psutil debug messages are erroneously printed all the time. (patch by Ilya Yanok) + 1346: [SunOS] net_connections() returns an empty list. (patch by Oleksii Shevchuk)- update to version 5.4.7: * Enhancements + 1286: [macOS] psutil.OSX constant is now deprecated in favor of new psutil.MACOS. + 1309: [Linux] added psutil.STATUS_PARKED constant for Process.status(). + 1321: [Linux] add disk_io_counters() dual implementation relying on /sys/block filesystem in case /proc/diskstats is not available. (patch by Lawrence Ye) * Bug fixes + 1209: [macOS] Process.memory_maps() may fail with EINVAL due to poor task_for_pid() syscall. AccessDenied is now raised instead. + 1278: [macOS] Process.threads() incorrectly return microseconds instead of seconds. (patch by Nikhil Marathe) + 1279: [Linux, macOS, BSD] net_if_stats() may return ENODEV. + 1294: [Windows] psutil.Process().connections() may sometime fail with MemoryError. (patch by sylvainduchesne) + 1305: [Linux] disk_io_stats() may report inflated r/w bytes values. + 1309: [Linux] Process.status() is unable to recognize "idle" and "parked" statuses (returns '?'). + 1313: [Linux] disk_io_counters() can report inflated IO counters due to erroneously counting base disk device and its partition(s) twice. + 1323: [Linux] sensors_temperatures() may fail with ValueError.- Update to 5.4.6 * 1258_: [Windows] Process.username() may cause a segfault (Python interpreter crash). (patch by Jean-Luc Migot) * 1273_: net_if_addr() namedtuple's name has been renamed from "snic" to "snicaddr". * 1274_: [Linux] there was a small chance Process.children() may swallow AccessDenied exceptions.- update to version 5.4.5: * Bug fixes + 1268: setup.py's extra_require parameter requires latest setuptools version, breaking quite a lot of installations. - changes from version 5.4.4: * Enhancements + 1239: [Linux] expose kernel "slab" memory for psutil.virtual_memory(). (patch by Maxime Mouial) * Bug fixes + 694: [SunOS] cmdline() could be truncated at the 15th character when reading it from /proc. An extra effort is made by reading it from process address space first. (patch by Georg Sauthoff) + 771: [Windows] cpu_count() (both logical and physical) return a wrong (smaller) number on systems using process groups (> 64 cores). + 771: [Windows] cpu_times(percpu=True) return fewer CPUs on systems using process groups (> 64 cores). + 771: [Windows] cpu_stats() and cpu_freq() may return incorrect results on systems using process groups (> 64 cores). + 1193: [SunOS] Return uid/gid from /proc/pid/psinfo if there aren't enough permissions for /proc/pid/cred. (patch by Georg Sauthoff) + 1194: [SunOS] Return nice value from psinfo as getpriority() doesn't support real-time processes. (patch by Georg Sauthoff) + 1194: [SunOS] Fix double free in psutil_proc_cpu_num(). (patch by Georg Sauthoff) + 1194: [SunOS] Fix undefined behavior related to strict-aliasing rules and warnings. (patch by Georg Sauthoff) + 1210: [Linux] cpu_percent() steal time may remain stuck at 100% due to Linux erroneously reporting a decreased steal time between calls. (patch by Arnon Yaari) + 1216: fix compatibility with python 2.6 on Windows (patch by Dan Vinakovsky) + 1222: [Linux] Process.memory_full_info() was erroneously summing "Swap:" and "SwapPss:". Same for "Pss:" and "SwapPss". Not anymore. + 1224: [Windows] Process.wait() may erroneously raise TimeoutExpired. + 1238: [Linux] sensors_battery() may return None in case battery is not listed as "BAT0" under /sys/class/power_supply. + 1240: [Windows] cpu_times() float loses accuracy in a long running system. (patch by stswandering) + 1245: [Linux] sensors_temperatures() may fail with IOError "no such file". + 1255: [FreeBSD] swap_memory() stats were erroneously represented in KB. (patch by Denis Krienbühl) * Backward compatibility + 771: [Windows] cpu_count(logical=False) on Windows XP and Vista is no longer supported and returns None.- specfile: * update copyright year - update to version 5.4.3: * Enhancements + 775: disk_partitions() on Windows return mount points. * Bug fixes + 1193: pids() may return False on OSX.- build python3 subpackage (FATE#324435, bsc#1073879)- update to version 5.4.2: * Enhancements + 1173: introduced PSUTIL_DEBUG environment variable which can be set in order to print useful debug messages on stderr (useful in case of nasty errors). + 1177: added support for sensors_battery() on OSX. (patch by Arnon Yaari) + 1183: Process.children() is 2x faster on UNIX and 2.4x faster on Linux. + 1188: deprecated method Process.memory_info_ex() now warns by using FutureWarning instead of DeprecationWarning. * Bug fixes + 1152: [Windows] disk_io_counters() may return an empty dict. + 1169: [Linux] users() "hostname" returns username instead. (patch by janderbrain) + 1172: [Windows] make test does not work. + 1179: [Linux] Process.cmdline() is now able to splits cmdline args for misbehaving processes which overwrite /proc/pid/cmdline and use spaces instead of null bytes as args separator. + 1181: [OSX] Process.memory_maps() may raise ENOENT. + 1187: [OSX] pids() does not return PID 0 on recent OSX versions.- update to version 5.4.1: * Enhancements + 1164: [AIX] add support for Process.num_ctx_switches(). (patch by Arnon Yaari) + 1053: abandon Python 3.3 support (psutil still works but it's no longer tested). * Bug fixes + 1150: [Windows] when a process is terminate()d now the exit code is set to SIGTERM instead of 0. (patch by Akos Kiss) + 1151: python -m psutil.tests fail + 1154: [AIX] psutil won't compile on AIX 6.1.0. (patch by Arnon Yaari) + 1167: [Windows] net_io_counter() packets count now include also non-unicast packets. (patch by Matthew Long)- update to version 5.4.0: * Enhancements + 1123: [AIX] added support for AIX platform. (patch by Arnon Yaari) * Bug fixes + 1009: [Linux] sensors_temperatures() may crash with IOError. + 1012: [Windows] disk_io_counters()'s read_time and write_time were expressed in tens of micro seconds instead of milliseconds. + 1127: [OSX] invalid reference counting in Process.open_files() may lead to segfault. (patch by Jakub Bacic) + 1129: [Linux] sensors_fans() may crash with IOError. (patch by Sebastian Saip) + 1131: [SunOS] fix compilation warnings. (patch by Arnon Yaari) + 1133: [Windows] can't compile on newer versions of Visual Studio 2017 15.4. (patch by Max Bélanger) + 1138: [Linux] can't compile on CentOS 5.0 and RedHat 5.0. (patch by Prodesire)- update to version 5.3.1 * *Enhancements** - 1124_: documentation moved to http://psutil.readthedocs.io * *Big fixes** - 1105_: [FreeBSD] psutil does not compile on FreeBSD 12. - 1125_: [BSD] net_connections() raises TypeError. * *Compatibility notes** - 1120_: .exe files for Windows are no longer uploaded on PYPI as per PEP-527; only wheels are provided.- update to version 5.3.0 * *Enhancements** - 802_: disk_io_counters() and net_io_counters() numbers no longer wrap (restart from 0). Introduced a new "nowrap" argument. - 928_: psutil.net_connections() and psutil.Process.connections() "laddr" and "raddr" are now named tuples. - 1015_: swap_memory() now relies on /proc/meminfo instead of sysinfo() syscall so that it can be used in conjunction with PROCFS_PATH in order to retrieve memory info about Linux containers such as Docker and Heroku. - 1022_: psutil.users() provides a new "pid" field. - 1025_: process_iter() accepts two new parameters in order to invoke Process.as_dict(): "attrs" and "ad_value". With this you can iterate over all processes in one shot without needing to catch NoSuchProcess and do list/dict comprehensions. - 1040_: implemented full unicode support. - 1051_: disk_usage() on Python 3 is now able to accept bytes. - 1058_: test suite now enables all warnings by default. - 1060_: source distribution is dynamically generated so that it only includes relevant files. - 1079_: [FreeBSD] net_connections()'s fd number is now being set for real (instead of -1). (patch by Gleb Smirnoff) - 1091_: [SunOS] implemented Process.environ(). (patch by Oleksii Shevchuk) * *Bug fixes** - 989_: [Windows] boot_time() may return a negative value. - 1007_: [Windows] boot_time() can have a 1 sec fluctuation between calls; the value of the first call is now cached so that boot_time() always returns the same value if fluctuation is <= 1 second. - 1013_: [FreeBSD] psutil.net_connections() may return incorrect PID. (patch by Gleb Smirnoff) - 1014_: [Linux] Process class can mask legitimate ENOENT exceptions as NoSuchProcess. - 1016_: disk_io_counters() raises RuntimeError on a system with no disks. - 1017_: net_io_counters() raises RuntimeError on a system with no network cards installed. - 1021_: [Linux] open_files() may erroneously raise NoSuchProcess instead of skipping a file which gets deleted while open files are retrieved. - 1029_: [OSX, FreeBSD] Process.connections('unix') on Python 3 doesn't properly handle unicode paths and may raise UnicodeDecodeError. - 1033_: [OSX, FreeBSD] memory leak for net_connections() and Process.connections() when retrieving UNIX sockets (kind='unix'). - 1040_: fixed many unicode related issues such as UnicodeDecodeError on Python 3 + UNIX and invalid encoded data on Windows. - 1042_: [FreeBSD] psutil won't compile on FreeBSD 12. - 1044_: [OSX] different Process methods incorrectly raise AccessDenied for zombie processes. - 1046_: [Windows] disk_partitions() on Windows overrides user's SetErrorMode. - 1047_: [Windows] Process username(): memory leak in case exception is thrown. - 1048_: [Windows] users()'s host field report an invalid IP address. - 1050_: [Windows] Process.memory_maps memory() leaks memory. - 1055_: cpu_count() is no longer cached; this is useful on systems such as Linux where CPUs can be disabled at runtime. This also reflects on Process.cpu_percent() which no longer uses the cache. - 1058_: fixed Python warnings. - 1062_: disk_io_counters() and net_io_counters() raise TypeError if no disks or NICs are installed on the system. - 1063_: [NetBSD] net_connections() may list incorrect sockets. - 1064_: [NetBSD] swap_memory() may segfault in case of error. - 1065_: [OpenBSD] Process.cmdline() may raise SystemError. - 1067_: [NetBSD] Process.cmdline() leaks memory if process has terminated. - 1069_: [FreeBSD] Process.cpu_num() may return 255 for certain kernel processes. - 1071_: [Linux] cpu_freq() may raise IOError on old RedHat distros. - 1074_: [FreeBSD] sensors_battery() raises OSError in case of no battery. - 1075_: [Windows] net_if_addrs(): inet_ntop() return value is not checked. - 1077_: [SunOS] net_if_addrs() shows garbage addresses on SunOS 5.10. (patch by Oleksii Shevchuk) - 1077_: [SunOS] net_connections() does not work on SunOS 5.10. (patch by Oleksii Shevchuk) - 1079_: [FreeBSD] net_connections() didn't list locally connected sockets. (patch by Gleb Smirnoff) - 1085_: cpu_count() return value is now checked and forced to None if <= 1. - 1087_: Process.cpu_percent() guard against cpu_count() returning None and assumes 1 instead. - 1093_: [SunOS] memory_maps() shows wrong 64 bit addresses. - 1094_: [Windows] psutil.pid_exists() may lie. Also, all process APIs relying on OpenProcess Windows API now check whether the PID is actually running. - 1098_: [Windows] Process.wait() may erroneously return sooner, when the PID is still alive. - 1099_: [Windows] Process.terminate() may raise AccessDenied even if the process already died. - 1101_: [Linux] sensors_temperatures() may raise ENODEV. * *Porting notes** - 1039_: returned types consolidation: - Windows / Process.cpu_times(): fields #3 and #4 were int instead of float - Linux / FreeBSD: connections('unix'): raddr is now set to "" instead of None - OpenBSD: connections('unix'): laddr and raddr are now set to "" instead of None - 1040_: all strings are encoded by using OS fs encoding. - 1040_: the following Windows APIs on Python 2 now return a string instead of unicode: - Process.memory_maps().path - WindowsService.bin_path() - WindowsService.description() - WindowsService.display_name() - WindowsService.username()- Fix various rpmlint warnings and errors- update to version 5.2.2 * *Bug fixes** - 1000_: fixed some setup.py warnings. - 1002_: [SunOS] remove C macro which will not be available on new Solaris versions. (patch by Danek Duvall) - 1004_: [Linux] Process.io_counters() may raise ValueError. - 1006_: [Linux] cpu_freq() may return None on some Linux versions does not support the function; now the function is not declared instead. - 1009_: [Linux] sensors_temperatures() may raise OSError. - 1010_: [Linux] virtual_memory() may raise ValueError on Ubuntu 14.04. - 981_: [Linux] cpu_freq() may return an empty list. - 993_: [Windows] Process.memory_maps() on Python 3 may raise UnicodeDecodeError. - 996_: [Linux] sensors_temperatures() may not show all temperatures. - 997_: [FreeBSD] virtual_memory() may fail due to missing sysctl parameter on FreeBSD 12.- update for singlespec- update to version 5.2.0 * *Enhancements** - 971_: [Linux] Add psutil.sensors_fans() function. (patch by Nicolas Hennion) - 976_: [Windows] Process.io_counters() has 2 new fields: *other_count* and * other_bytes*. - 976_: [Linux] Process.io_counters() has 2 new fields: *read_chars* and * write_chars*. * *Bug fixes** - 872_: [Linux] can now compile on Linux by using MUSL C library. - 985_: [Windows] Fix a crash in `Process.open_files` when the worker thread for `NtQueryObject` times out. - 986_: [Linux] Process.cwd() may raise NoSuchProcess instead of ZombieProcess.- update to version 5.1.3 5.1.3 ===== * *Bug fixes** - 971_: [Linux] sensors_temperatures() didn't work on CentOS 7. - 973_: cpu_percent() may raise ZeroDivisionError. 5.1.2 ===== * 2017-02-03* * *Bug fixes** - 966_: [Linux] sensors_battery().power_plugged may erroneously return None on Python 3. - 968_: [Linux] disk_io_counters() raises TypeError on python 3. - 970_: [Linux] sensors_battery()'s name and label fields on Python 3 are bytes instead of str. 5.1.1 ===== * 2017-02-03* * *Enhancements** - 966_: [Linux] sensors_battery().percent is a float and is more precise. * *Bug fixes** - 964_: [Windows] Process.username() and psutil.users() may return badly decoding character on Python 3. - 965_: [Linux] disk_io_counters() may miscalculate sector size and report the wrong number of bytes read and written. - 966_: [Linux] sensors_battery() may fail with "no such file error". - 966_: [Linux] sensors_battery().power_plugged may lie. 5.1.0 ===== * *Enhancements** - 357_: added psutil.Process.cpu_num() (what CPU a process is on). - 371_: added psutil.sensors_temperatures() (Linux only). - 941_: added psutil.cpu_freq() (CPU frequency). - 955_: added psutil.sensors_battery() (Linux, Windows, only). - 956_: cpu_affinity([]) can now be used as an alias to set affinity against all eligible CPUs. * *Bug fixes** - 687_: [Linux] pid_exists() no longer returns True if passed a process thread ID. - 948_: cannot install psutil with PYTHONOPTIMIZE=2. - 950_: [Windows] Process.cpu_percent() was calculated incorrectly and showed higher number than real usage. - 951_: [Windows] the uploaded wheels for Python 3.6 64 bit didn't work. - 959_: psutil exception objects could not be pickled. - 960_: Popen.wait() did not return the correct negative exit status if process is ``kill()``ed by a signal. - 961_: [Windows] WindowsService.description() may fail with ERROR_MUI_FILE_NOT_FOUND. 5.0.1 ===== * *Enhancements** - 939_: tar.gz distribution went from 1.8M to 258K. - 811_: [Windows] provide a more meaningful error message if trying to use psutil on unsupported Windows XP. * *Bug fixes** - 609_: [SunOS] psutil does not compile on Solaris 10. - 936_: [Windows] fix compilation error on VS 2013 (patch by Max Bélanger). - 940_: [Linux] cpu_percent() and cpu_times_percent() was calculated incorrectly as "iowait", "guest" and "guest_nice" times were not properly taken into account. - 944_: [OpenBSD] psutil.pids() was omitting PID 0.- update to version 5.0.0: * Enhncements + 799: new Process.oneshot() context manager making Process methods around +2x faster in general and from +2x to +6x faster on Windows. + 943: better error message in case of version conflict on import. * Bug fixes + 932: [NetBSD] net_connections() and Process.connections() may fail without raising an exception. + 933: [Windows] memory leak in cpu_stats() and WindowsService.description().- Update to version 4.4.2: * 931: psutil no longer compiles on Solaris.- Update to version 4.4.1: * 927: Popen.__del__() may cause maximum recursion depth error. - Update to version 4.4.0: Enhancements * 887: [Linux] virtual_memory()'s 'available' and 'used' values are more precise and match "free" cmdline utility. "available" also takes into account LCX containers preventing "available" to overflow "total". * 891: procinfo.py script has been updated and provides a lot more info. Bug fixes * 825: [Linux] cpu_affinity; fix possible double close and use of unopened socket. * 885: ValueError is raised if a negative integer is passed to cpu_percent() functions. * 892: [Linux] Process.cpu_affinity([-1]) raise SystemError with no error set; now ValueError is raised.- update to version 4.3.1: * #881: "make install" now works also when using a virtual env. * #854: Process.as_dict() raises ValueError if passed an erroneous attrs name. * #857: [SunOS] Process cpu_times(), cpu_percent(), threads() amd memory_maps() may raise RuntimeError if attempting to query a 64bit process with a 32bit python. "Null" values are returned as a fallback. * #858: Process.as_dict() should not return memory_info_ex() because it's deprecated. * #863: [Windows] memory_map truncates addresses above 32 bits * #866: [Windows] win_service_iter() and services in general are not able to handle unicode service names / descriptions. * #869: [Windows] Process.wait() may raise TimeoutExpired with wrong timeout unit (ms instead of sec). * #870: [Windows] Handle leak inside psutil_get_process_data.- fix source url- update to version 4.3.0: * #819: [Linux] different speedup improvements: Process.ppid() is 20% faster Process.status() is 28% faster Process.name() is 25% faster Process.num_threads is 20% faster on Python 3 * #810: [Windows] Windows wheels are incompatible with pip 7.1.2. * #812: [NetBSD] fix compilation on NetBSD-5.x. * #823: [NetBSD] virtual_memory() raises TypeError on Python 3. * #829: [UNIX] psutil.disk_usage() percent field takes root reserved space into account. * #816: [Windows] fixed net_io_counter() values wrapping after 4.3GB in Windows Vista (NT 6.0) and above using 64bit values from newer win APIs.- Update Source url- update to version 4.2.0: * Enhancements + #795: [Windows] new APIs to deal with Windows services: win_service_iter() and win_service_get(). + #800: [Linux] psutil.virtual_memory() returns a new "shared" memory field. + #819: [Linux] speedup /proc parsing: - Process.ppid() is 20% faster - Process.status() is 28% faster - Process.name() is 25% faster - Process.num_threads is 20% faster on Python 3 * Bug fixes + #797: [Linux] net_if_stats() may raise OSError for certain NIC cards. + #813: Process.as_dict() should ignore extraneous attribute names which gets attached to the Process instance.- removed TODO from %doc, not in upstream tar-ball anymore - update to version 4.1.0: * Enhancements + #777: [Linux] Process.open_files() on Linux return 3 new fields: position, mode and flags. + #779: Process.cpu_times() returns two new fields, 'children_user' and 'children_system' (always set to 0 on OSX and Windows). + #789: [Windows] psutil.cpu_times() return two new fields: "interrupt" and "dpc". Same for psutil.cpu_times_percent(). + #792: new psutil.cpu_stats() function returning number of CPU ctx switches interrupts, soft interrupts and syscalls. * Bug fixes + #774: [FreeBSD] net_io_counters() dropout is no longer set to 0 if the kernel provides it. + #776: [Linux] Process.cpu_affinity() may erroneously raise NoSuchProcess. (patch by wxwright) + #780: [OSX] psutil does not compile with some gcc versions. + #786: net_if_addrs() may report incomplete MAC addresses. + #788: [NetBSD] virtual_memory()'s buffers and shared values were set to 0. + #790: [OSX] psutil won't compile on OSX 10.4.- update to version 4.0.0 * *Enhancements** - #523: [Linux, FreeBSD] disk_io_counters() return a new "busy_time" field. - #660: [Windows] make.bat is smarter in finding alternative VS install locations. (patch by mpderbec) - #732: Process.environ(). (patch by Frank Benkstein) - #753: [Linux, OSX, Windows] Process USS and PSS (Linux) "real" memory stats. (patch by Eric Rahm) - #755: Process.memory_percent() "memtype" parameter. - #758: tests now live in psutil namespace. - #760: expose OS constants (psutil.LINUX, psutil.OSX, etc.) - #756: [Linux] disk_io_counters() return 2 new fields: read_merged_count and write_merged_count. - #762: new scripts/procsmem.py script. * *Bug fixes** - #704: [Solaris] psutil does not compile on Solaris sparc. - #734: on Python 3 invalid UTF-8 data is not correctly handled for process name(), cwd(), exe(), cmdline() and open_files() methods resulting in UnicodeDecodeError exceptions. 'surrogateescape' error handler is now used as a workaround for replacing the corrupted data. - #737: [Windows] when the bitness of psutil and the target process was different cmdline() and cwd() could return a wrong result or incorrectly report an AccessDenied error. - #741: [OpenBSD] psutil does not compile on mips64. - #751: [Linux] fixed call to Py_DECREF on possible Null object. - #754: [Linux] cmdline() can be wrong in case of zombie process. - #759: [Linux] Process.memory_maps() may return paths ending with " (deleted)" - #761: [Windows] psutil.boot_time() wraps to 0 after 49 days. - #764: [NetBSD] fix compilation on NetBSD-6.x. - #766: [Linux] net_connections() can't handle malformed /proc/net/unix file. - #767: [Linux] disk_io_counters() may raise ValueError on 2.6 kernels and it's broken on 2.4 kernels. - #770: [NetBSD] disk_io_counters() metrics didn't update.- update to version 3.4.2 (fixes for non-Linux platforms)- update to version 3.4.1 * *Enhancements** - #557: [NetBSD] added NetBSD support. (contributed by Ryo Onodera and Thomas Klausner) - #708: [Linux] psutil.net_connections() and Process.connections() on Python 2 can be up to 3x faster in case of many connections. Also psutil.Process.memory_maps() is slightly faster. - #718: process_iter() is now thread safe. * *Bug fixes** - #714: [OpenBSD] virtual_memory().cached value was always set to 0. - #715: don't crash at import time if cpu_times() fail for some reason. - #717: [Linux] Process.open_files fails if deleted files still visible. - #722: [Linux] swap_memory() no longer crashes if sin/sout can't be determined due to missing /proc/vmstat. - #724: [FreeBSD] virtual_memory().total is slightly incorrect.- update to version 3.3.0 * *Enhancements** - #558: [Linux] exposed psutil.PROCFS_PATH constant to change the default location of /proc filesystem. - #615: [OpenBSD] added OpenBSD support. (contributed by Landry Breuil) * *Bug fixes** - #692: [UNIX] Process.name() is no longer cached as it may change.- update to version 3.2.2 * *Bug fixes** - #623: [Linux] process or system connections raises ValueError if IPv6 is not supported by the system. - #678: [Linux] can't install psutil due to bug in setup.py.- update to version 3.2.1 * #677: [Linux] can't install psutil due to bug in setup.py.- update to version 3.2.0 * *Enhancements** - #644: [Windows] added support for CTRL_C_EVENT and CTRL_BREAK_EVENT signals to use with Process.send_signal(). - #648: CI test integration for OSX. (patch by Jeff Tang) - #663: [UNIX] net_if_addrs() now returns point-to-point (VPNs) addresses. - #655: [Windows] different issues regarding unicode handling were fixed. On Python 2 all APIs returning a string will now return an encoded version of it by using sys.getfilesystemencoding() codec. The APIs involved are: - psutil.net_if_addrs() - psutil.net_if_stats() - psutil.net_io_counters() - psutil.Process.cmdline() - psutil.Process.name() - psutil.Process.username() - psutil.users() * *Bug fixes** - #513: [Linux] fixed integer overflow for RLIM_INFINITY. - #641: [Windows] fixed many compilation warnings. (patch by Jeff Tang) - #652: [Windows] net_if_addrs() UnicodeDecodeError in case of non-ASCII NIC names. - #655: [Windows] net_if_stats() UnicodeDecodeError in case of non-ASCII NIC names. - #659: [Linux] compilation error on Suse 10. (patch by maozguttman) - #664: [Linux] compilation error on Alpine Linux. (patch by Bart van Kleef) - #670: [Windows] segfgault of net_if_addrs() in case of non-ASCII NIC names. (patch by sk6249) - #672: [Windows] compilation fails if using Windows SDK v8.0. (patch by Steven Winfield) - #675: [Linux] net_connections(); UnicodeDecodeError may occur when listing UNIX sockets.- update to version 3.1.1: New fatures ========= - [Linux] disk_partitions() added support for ZFS filesystems. - continuous tests integration for Windows - continuous code quality test integration Main bugfixes =========== - [Windows] Process.open_files() no longer hangs. Instead it uses a thred which times out and skips the file handle in case it's taking too long to be retrieved. (patch by Jeff Tang) - [Windows] Process.name() no longer raises AccessDenied for pids owned by another user. - [Windows] Process.memory_info() no longer raises AccessDenied for pids owned by another user. - [Linux] Process.cmdline() can be truncated. - [Windows] add inet_ntop function for Windows XP to support IPv6.- update to version 3.0.1: * #632: [Linux] better error message if cannot parse process UNIX connections. * #634: [Linux] Proces.cmdline() does not include empty string arguments. * #635: [UNIX] crash on module import if 'enum' package is installed on python < 3.4. - update to version 3.0.0: * Enhancements + #250: new psutil.net_if_stats() returning NIC statistics (isup, duplex, speed, MTU). + #376: new psutil.net_if_addrs() returning all NIC addresses a-la ifconfig. + #469: on Python >= 3.4 IOPRIO_CLASS_* and *_PRIORITY_CLASS constants returned by psutil.Process' ionice() and nice() methods are enums instead of plain integers. + #581: add .gitignore. (patch by Gabi Davar) + #582: connection constants returned by psutil.net_connections() and psutil.Process.connections() were turned from int to enums on Python > 3.4. + #587: Move native extension into the package. + #589: Process.cpu_affinity() accepts any kind of iterable (set, tuple, ...), not only lists. + #594: all deprecated APIs were removed. + #599: [Windows] process name() can now be determined for all processes even when running as a limited user. + #602: pre-commit GIT hook. + #629: enhanced support for py.test and nose test discovery and tests run. + #616: [Windows] Add inet_ntop function for Windows XP. * Bug fixes + #428: [all UNIXes except Linux] correct handling of zombie processes; introduced new ZombieProcess exception class. + #512: [BSD] fix segfault in net_connections(). + #555: [Linux] psutil.users() correctly handles ":0" as an alias for "localhost" + #579: [Windows] Fixed open_files() for PID>64K. + #579: [Windows] fixed many compiler warnings. + #585: [FreeBSD] net_connections() may raise KeyError. + #586: [FreeBSD] cpu_affinity() segfaults on set in case an invalid CPU number is provided. + #593: [FreeBSD] Process().memory_maps() segfaults. + #606: Process.parent() may swallow NoSuchProcess exceptions. + #611: [SunOS] net_io_counters has send and received swapped + #614: [Linux]: cpu_count(logical=False) return the number of physical CPUs instead of physical cores. + #618: [SunOS] swap tests fail on Solaris when run as normal user + #628: [Linux] Process.name() truncates process name in case it contains spaces or parentheses. - specfile: * location of .so files changes to subdir psutil- Update to 2.2.1: - Fixed #572 ValueError: ambiguos inode with multiple PIDs references- Update to 2.2.0: - FreeBSD has now support for process CPU affinity - new pstree.py and pidof.py example scripts - C extension version mismatch in case the user messed up with psutil installation or with sys.path is now detected at import time - [Linux] a lot of file descriptors were left open - [Windows] use proper encoding for psutil.Process.username() and psutil.users(). - [Solaris] fixed a high-priority bug which crashed psutil on import.- Update to 2.1.3 * fix "undefined symbol: CPU_ALLOC" compilation error.ibs-power9-13 1698066878  !"#$%&'()5.9.1-150300.3.6.15.9.1-150300.3.6.1 psutilpsutil-5.9.1-py3.6.egg-infoPKG-INFOSOURCES.txtdependency_links.txtnot-zip-saferequires.txttop_level.txt__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc_common.cpython-36.opt-1.pyc_common.cpython-36.pyc_compat.cpython-36.opt-1.pyc_compat.cpython-36.pyc_psaix.cpython-36.opt-1.pyc_psaix.cpython-36.pyc_psbsd.cpython-36.opt-1.pyc_psbsd.cpython-36.pyc_pslinux.cpython-36.opt-1.pyc_pslinux.cpython-36.pyc_psosx.cpython-36.opt-1.pyc_psosx.cpython-36.pyc_psposix.cpython-36.opt-1.pyc_psposix.cpython-36.pyc_pssunos.cpython-36.opt-1.pyc_pssunos.cpython-36.pyc_pswindows.cpython-36.opt-1.pyc_pswindows.cpython-36.pyc_common.py_compat.py_psaix.py_psbsd.py_pslinux.py_psosx.py_psposix.py_pssunos.py_psutil_linux.cpython-36m-powerpc64le-linux-gnu.so_psutil_posix.cpython-36m-powerpc64le-linux-gnu.so_pswindows.pypython3-psutilCREDITSHISTORY.rstREADME.rstscriptsbattery.pycpu_distribution.pydisk_usage.pyfans.pyfree.pyifconfig.pyinternalREADMEbench_oneshot.pybench_oneshot_2.pycheck_broken_links.pyclinter.pyconvert_readme.pydownload_wheels_appveyor.pydownload_wheels_github.pygenerate_manifest.pygit_pre_commit.pyprint_access_denied.pyprint_announce.pyprint_api_speed.pyprint_downloads.pyprint_hashes.pyprint_timeline.pyprint_wheels.pypurge_installation.pytidelift.pywinmake.pyiotop.pykillall.pymeminfo.pynetstat.pynettop.pypidof.pypmap.pyprocinfo.pyprocsmem.pyps.pypstree.pysensors.pytemperatures.pytop.pywho.pywinservices.pypython3-psutilLICENSE/usr/lib64/python3.6/site-packages//usr/lib64/python3.6/site-packages/psutil-5.9.1-py3.6.egg-info//usr/lib64/python3.6/site-packages/psutil//usr/lib64/python3.6/site-packages/psutil/__pycache__//usr/share/doc/packages//usr/share/doc/packages/python3-psutil//usr/share/doc/packages/python3-psutil/scripts//usr/share/doc/packages/python3-psutil/scripts/internal//usr/share/licenses//usr/share/licenses/python3-psutil/-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:31259/SUSE_SLE-15-SP3_Update/a3b433bea86a697c65a8ec1180e48edf-python-psutil.SUSE_SLE-15-SP3_Updatedrpmxz5ppc64le-suse-linux directoryASCII textPython script, UTF-8 Unicode text executablepython 3.6 byte-compiledPython script, ASCII text executableELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=2e05071072cae50e3d586be212b87b7fbd5d80c9, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=89d3f71a4d5dc0ab1feba153187b62df106c8ba2, strippedUTF-8 Unicode textHTML document, ASCII text #)RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR4HTMe,utf-82dfaa32aa387e10740445b4019f888cae04f4cceb85921b5d18a9e056c768476? 7zXZ !t/_a]"k%a ñH[#]$4SUtxcT8vNor-XXȍ{ R"a0dyߊ}ۻ &; qDb-4$e;.dPS3'!M#' >\g:92Or0C #Q Y7D桎1wPM oZTg(/+jeQF&K\"\#gn+Rs+ ^qAEr*!y-Pij_͑hz})tۘ m-ŸO%(yذlw&Ϗ͙yK'`W<4Иo!-? T_zUwxp;@5m_o]Y)9" G6 4mqLVCrN5 ;P6W hV]ǫ<[mpCRo눘F Ś}&xýBU rB?A~a"Fџ=Q}D,?1p<,ΒafvwdEM h0ku:ؼ20RJ~D&݅C}Uk '~Un-I]R,):!wN^ DOqūLa'31#8ZMCOI^L(iDҨQkCc7dZ¸6;|A;%<臺$n*~ot{T`UjYKVf֣B!xHB%ax8 mY!!]`; XS bLnul2Hej#Vz@.p-J`>;Gt<Cﲲ1)HA}֕CJ-H1g?kTÎlT ~.YC i**,pKEL*C<, z)k%hkSWݣ}vX p_i:Vee,F"P!ZXM3X`M0>E$le 39da) 0C6G칄+5b2$ãnMi!I/Ю_G5~P_^j b;ʙ imc3Z1NP#>󖢠:1,o4/lz5gDP2*Hؠȣ1|QJ`y˫fFgKσɒ CS&hxMGӦsLeGHz: اߋdՀ=(Z;K_0[`/OMя)P Tn s1tߺUMfz}i©E!VFU#M|fƹ;^T9'a5ͺlHarm('^סR}].BSEQV ҭ5:=1#_vQv vҧ4ʅ/Oo.]{<5gqIvLHk=wa~ҌLcA|AvcP#D<>f_!x9.1Gю'JXE[Q ̥T/{|_q9*V H[ kcnҾF@Hl(2_n- 9>*'d=¾jCmb ^  Vf ?d`>n8.ڌ]Yk~B4[|h=AK*Ç`:"U8;=eѠh:3 ʷDmT?S@%H~ ;Ts%[lR\NJ[ػT6bg*Ζb 3xqŖ0ǡLugsռ[\oGyیђC%%`y\i&H;c|Dq`6P1-,`N4UIZKvI] '+Ax ;Pι5VQ-l Frm9 YX`۽8wihbgw.罾dAQsῗ6@;LW /SƹDb~7+G#zڦF&#¶N&á^8')CLY-M,GN$IRjk=&Ë/Q HMcoz±tKu.b<&nyhʩ"wQD:!Yu0q@X3P"e቉HyP &;̍!)78):onK&M&8np;b8ˍ_S;F~Fe59̉>w!d]ԯ^H|x)=\?)%\lG,ʘr5??*1?0p24\@EU܈XgKYRwH·QR _RqޚRZ<9)X~i2.MWBWiһ7ZMn{PϚoeDx~qVAOyO^[lAUy{%_X3/snD%2MgFU09 ʇ`Y2v?W#?gz_{nqg%ap߬BwL t 9\WYy[H&PO 4py'.ٱ׷o3[ y$2Wh]VvϰMI" Ea@XIu}K?KmYh$cb!o4"сY򂆘8%/Bi!jEpy5y)V>yJ. #y"'*@lAOOHֽ>Y ph߻ߨǢ P??)~&f-Sa/H:+IF,Ч)]4< te?%*3a\o H KػuMUF5 H b%U[Ϯ ˰yXrȇc~H3<:*HBDrX.܊&BgZ>8J~S]k|hʜ\C[[Z:a0m io `\Q I8&,lpYZq^(-ړA.68 X,* 6!IYYp=o}/VPWvf1YW(C\oe>G3!i2VKI^6S]4c69U aM۱.~#8n'3/;k%,i(&;{ oA;H=CP<&YVw@SBezЁ5;5!F"ꞰDǔ7R[fIoR`\wZcr&%?Ī==O cymSO1׭ F٠PFH9{bF|2亵{'o\4AI!=RfȘCq"Y `[^`Lze7tO:ŧ%uQc3bovD>М3EX-О:\CEoUF} 'W쒶$o"CT'%XC;Xa\QUNQD0zLC΂>>Uyd|h<#PʖLqCG8Ǽ,;ӴQ&~Q揂{{xx3ʜzpdO^TYʉ \0w&/w 2-G̺~i*)8"kQi vbzǃWI#rhtm-FF,tgEFC ?b=s|H x+K+9Ͱ"8ZcrF5ފ;Dft Ux1[[`,ϑ=g E˼A>#ϵnO1QXRT-M]pdm,ds;{s5 ? d(хnJ9>U{3FEfU?9)&Z$s9V>J4856na_YkfaIcn*;N Lc? Z\ I\S>>5xGP@f+$r)4Ҵl1K|ʩZKNNA Tx=\iظDws@UR;_ `HeOf#7X_3< ^Q_@C}OfnGxDR [szz`u8wje* hme¾o>a-y{& ,YN$ nN:LR7b+NIeGuԐ$l*A `P~ٺYߔ^f%D=iұԃyzy&D؟lI6`=*q6RkQX!utFЖ>RpqǢmO˾g z|utHiAt }4I߷gPƛ4Cu zt%T\jۓ|c5Dj?Gdkr)~%ا+cUgo\k )<ƫBpA +8 Z^Lo-$@*w9+ gax9μwt[=ug Rbv@N'fUqQ=E,uq`V"Z.,C\}wɪ`z6vaAH=>р\ohI,J̀iJ,cu׀pGn! uT,:jlYߏIM"d)*}*Ăoryë,,EHհuT#`&8?dQZfK V3}Yo-1xۼY#)}jAB{1yB`cg9M+v2#;אgiQ ]Ž'ڠM{ߑ kg0¨CbJ6nE<jBK*zmA`Bu IVR&ZA- yM\tEn jT p9/+M-oNŒ=we#EP1s6R+c|D) bv9hw2S4 s.(n8<~ZWA^7'k{/+bI 'cs/:j7`2%\Ĕbw:c%"S z%`.qJ=3aPymeZGaLeU9$9t>w3eTŋH ~i[r/W֫m0:I|׃m?i^P9f4f}WԻC"3?QۭN%wNQ/ ~wՃ$c)#f2# #ǍZ4kB':I0pky+q8^.0:*$Rw-~&+2w.A*,9tgB {<n$qO Mȱ)94'6&V ũRCd '9`s >1P=4d(2(a+% x9spo'H5N;:}psݱh`wD<$ RwPDhNU&ضv >h_BssU>|_7'C*1 FjeXe-uFP8ɉ}_w@gV` c^Y6o n)Pǥ#m"2'xU qG"& 6KV峲OgwtȸA ^luy ,sPp-ڙp`#)s4g}s.ݢVRJ⭠pj^fq}¨Zd4tEAo(UjZӂ$u&#N{fȿ/\&~9ȨлoR}deA0<Ͷ`3t`!USw`Z K28 H:'o$'O`I57{̻G'U OH$*tp[!ka }g!rkAvuP vvWX@\$4>F ?SV;r'%D̠e(l ]qFe FDJV9X'j }=ҏBN\GtJOיŪxcА5S.;S4N7~FHtE%elqAq氵J,]R<å*D_ZJ#X{s4gcXEhn8abq}EpZZ1?IyՔwRȾ~9#Qc@s̄3?d˱ӒL7nw,_f]9J3*fc76YGiR aPQOn${y5r ,BPVB7JwY((.lbKK}>mF8/H6LUyjw4~elѷog3&~WeKvJ'~!-rSr˪ap; uޟ͡ "PFO?R^J&~S Z G~;C5FPCi97Au9Ucfy4Pq&%(XJD˓Lx߃bAP`!5)V1&JCŭ=QʧA_i\ "xp'A]W$ZT  1RWOTs財V7|o)R@MIq> }X' Eg)ZJʄ\ jᴜiNe6SX f0C4J$T&DSYrJn6&qLD\IF%c~Hu|0Re Ixv{3YFL&=YRYvcD:~Ba uy8+Q&lWbb)ؾbp{y A3*Wvq /?l:4B ?&:.3Cjd?C@<@/-eѭѧ-fR!a/r`pҔ_[""@3F=w^v3jI KPK> "dCe@|h ]h(y )qμX- =v^[ qyP6|ZGB⯄|+* Ou*:e*K9Ob 'mH3J0sqtލ^fEzvț&ܧq< ͋VD QmH;ѥ?A8c)cǷ(xÊ&F cR͵qV}wV fsuhKŽgqR(2ӮO㛻 @3U4'Azfn+Cac'<wQջX%.zrt(a( P8j>M@wIh-Wu!e P;Ҵ(MicREc3φ |1hS%tDB MwWÁE*oCpCש}CX-Ay.7|;s_'H(ܿoҗ%:# t݈MQpibhńx9ds nW8Vչcmm#^!0>:Nh`;+o/!^<8ń \vu{hԮG|7 Ihh15_AR!Ws2-f53R,N-?'pPI{\ eg\zx&u!ȿA@l泊mrlB0W7ݞ6:v3~rGL3> 4SGv^Hk@ ~G 9Vm.XMEH:2AR'JBS/ Y1,* B埽j~#޵=5?g(HqNWȕ 7V+LŒ𑟳^['6ao(=+1{6`_7 p^?) *{AW; @gK-9F:K+H1틀nj'oBdX6P`3wA$~v#mWe8erIUdz> eJ/`~;Iԭ!0 5ug}'gr2I{S&+!wNʙ Bo6cbZ zRE̕b51ShmnaSEY|_;5V)^v}F0b^sl{4o=eA, Cv?.5JߡAy}S#nlë[ib=% K&HN, ^Oup orY؁?U?a4?XMjO .w\ֵMP/%ySzݩC+v)>C љgRqejx ݠ-W6MO_@D}p@6fOVD#Y6/s@VRd^ E! ʍ@:DYY\?T瞹1=~oҢڅ{:Iz:2ʂp(/cOl# fcߴRc}_anGF6ZO [kb8{ wdclZ3ʮ"5ᙋUA 35٣j?zm#XX\3iB[ P=،03 w䢼vpos.DYIfsɝ4ѝ)a)M@CK͉o (wDU2P%?&UHhNT&yrh3i~w, DYh+tEz7̟vˆ 9êȔ[PCb[|'E%~pK'`Fءj0Gޑ@B9G_wq.)/]>iU æ|?Eh~bWUc ؎:+qku,wQfCh%Om VgܺN^D(-2P{<I~-Z^8&ܗ*E/ta~aC[),y+MR7Uч ؘ,0R)Ib%O3Ղ1[0V>z4_TeWmg0t#7ۼd~gp[e༉:dl~uwL)b@t%`q G{8H^5[B$SK@nrSpnTQd/9iJ6jN»Y VKƕC?֖XR2ν@y6@f+uGC Y%+HQuUWroOLɡ{w@t'˂1,OOۛ;?-8{Y 0=Bnkպǜʩ{ڽPb9}Yd=eXi0X+p+i;8I]gO{"Xn]DA|#$eSpq2W8گW1qrI,1VoK!H.X'ȣotN3M+=Z)Xx˻Ubڐ6clJ!di7sy V<}P`֧}ca[3ОاH)mP~ [>o "3(K0/˝<Kzg[RYjiBiF=44Řb?6-&-`D0VO(5S՘poHACS:k=MEl M4XZd.8Z樗!  <#8jYt3/Rx&G[ wP kS3\Va`VLQ)Rڂ&;z1M M#iwC q+פ] $G!^X)Vuy,C&@jCHV1 '~̷M 6TS!s"*~Od,2dS+[$SR #Q>cYCX}RU^!ʷxv$ժ5rZD7(Oe;;E?΂z#@N%!Z4_%>3A2n X>66z* lc' _=pޘNYtuĤR}8Q1jH|Wt(YpMC訰ѪEE<$hmSn/*p>O|J}"\Ia$JM ?9~ ~+*ϙN"u|1rssA n˸h< $enN!%A|VfNk]@wnϱGMn]i3k3a/ivKvy@q3UFEqVyx MNpz~DGu%L$9NkW4V7կ W-G0UOi2Y]QšUdZ :Oذ踿*}'>aA?Uqg|;1Cu>3d0l3ܸxoRE۫``;<OF%mŞK*-ClC#D#|gj6Okنz>qݧ|&/?- ji*v*VYwPALWq~`]O/8DL 67>ՆrDN?}}py?I=ٯҀTÌp"yL18OYD_^uխ 'X]-;/Xg べV+gD 󎐸7t4<~f2`sYL9* w# *ct4ZCXuMk۝,AxTtU-.6HAw%{WT*8)ٸmDjj'C_O їWڹR-9RnY{ 6zSm_/VZSwym O硎O%y}os_paė  ;xV,0k~؞R(,4`4&5#&TBzo>=΄35{dpymw^9`ſE"%|U?6o"RQ}+D]鰚;Ѹ9QDؤpi µihٿ%"SzK]J , Eq=դ%i7v5DNb7u մ ҚZ[rEIǤT#LKLNj&rqDJ Min ֻM39 !9$to\#Kc/̓볾k[Y^փOe?ȕT)XU)mM"gXݒ'qJ+; , >|j53BwkB. alZex+>dh6.]2#:Q; sw7F;VN]ǒ̴4Wg8~q̧uA:S?RS~/]tLI$%ɑ RXFfZ&qpQV!HR :![y(*ڔ1p-_5 M ʏuS3],a0]c@2/O!ءQ }-6fFwK8FއPhCG$Fԡ+$9l#Y1;TuF0SJzG2JnJOSҥA)S݈ܥ+z,FmK͘H,EWcynVIJ K UB&uAWӸ¼:I?/rtL>z+ľbdb]TBV4xp3'Qbg+y|]`SեN.rT~p`A\;O+ĜajV ^{AB dR 12aKC7GDY3"C~:9>^*:w>mMr-ji)SoȡXyC`g%ܙ4euxh~OZ#E{o2BnTu$:4/@bk+xZ^v13s9 )=x)pRj,Oj"3]?mLJ?yM!'i&,-V;VJyA }zN1'd ^dvA/OTWm]H>#Q"w%$S8``vH מʉA1a UAߋR_SZ;N}2 Izkvy6ICA6v+p@:2ᐋ.+p\&F*5H/:ٚ _ޘoE<檊 @QRDe:SUqrY{/qsìq0ɨQA71tm.: V˱J!vFXn#e1}t 1Mr>l@-̑ѩ0rf2 g -s5h@0gFN|!kc]R+IDQl<&3uNx"ݸ؁r+-5.9"4kPBt@;Iz Wi͏uٜRo>;˃fS8(&'ɣbHpdiߨ8^ɌKe L^"\7 pqj[;PY>}zS0Yߊŏz+Y;nxn]$ھH!]*z`,T#(} F O ? yǏVG.L{tGwɔSP 9.#2Q*׍%Q̻[o7Vxsoӕ@ѧraDi魤$HuSL[9/0}$fW]c v%!󰁒=YV3e#9Uh|^"mΔ|ix0p ifl P,20S>LsqAƪSInMVDɇpۤn+(X"HVڶTL1k&5ҺqI#'$s:Ώ̚a/Wcʂ<`3fm$$`[dY1q0h6W"ĕ ơ=sp#;_0MN,7v]CK–K&cc-,8*דP`VZdcwe.Wގ]fzPOnڍ8~S37G\OnxFݤ=kFOtz8T@>ל`hK}DN9FMCqM&NJ-mrCnewm`cР _G Ws($/vOGD5ZVY `zβNl2eƣLFE$:}Q~3fĘ hi8P ^$g?Mɘ0@qeH& $nЙ܀|zT\NVbh2cz<~9#lp[}`-\9TcF|$!$EDC'>Ǯ%*oS1hcШŮOf\V{^/QK_1Ҹj:v`x.l+,(L `񪯮dmD^k^0evU'!uEeOM2jW.=F,J_ugն̗ *d>M_^4M,˙J Kr/5VJ^ Q ! } ? >;k*t]63۸Ӥ/!|4ce[6VMrE68H|\J& ?y+W^l]1bܯE'=ӆ3wOu^xAAy?'>ӌ)ƌN-Lt :=& 8;&X,:2wf;TRq"=pp,B宿nm? 1(=0nRj44:^L--!-=\-G`Y.l|$}ʃw/F{#]Ei{'>1oT fUx S!Y$fVa}_dm$:sZӸ,Q$CN*ҷFdOY.ڑzGcs47 #Ro(-y*J!v"|5T5^^r"ggqn.6FޒP.d +RL; mo1Ř^58ҩfHEeX`B 6zB*3X>̄KHspW)UC_02Bf?ܙn).V$ p.0RgY"w`|wF 75=ڲY츙vQҞM&c0'+pk1"TC:ܓj1'i_D678S]Eb!VIzWu,K&KXY,>TaѫGϼ1lL,eȈoS'Z: "\ -Тk>tI._[P m ,[(I;ҽi}_/hݡMrߗ>54dx$,CrϐOIqN:MyK8{lP{OT:g_EutQB-ҝ0G_cQn ؝4@O@l#yVQ6xRa+Ͼ&VTY0BnG\w$'^e]ϔ;ή:G1Q*Kc}{!{阀tF` M jupxd9#&*,(BH\%X;u.QhzxI7zwg ML (S>ԑa<&.7Va`%g.1 \X-Dm^-o"oj7i.E)&k 44M jUWR$4"mqet_p!8/tJƶv= >>k2XKnPsڀzb'Cttλ{w7ȫuS? 7l~LmYLuK긦 *@ ԻF\'fDJ/CHc1VPeRvp*jzV/nTS'|y|d(6/=RXxK@,ryu,d&zW:O;`%hoB_^3rkuWwx ǙWOfcg>Je=qKv$=aPcS|B0oҼ#e%脀WKq,NWU_N[@hi |CƦSB d U8' n*X^ U⎞~%ӾADIXIjA&tg]޼ߑT2!.mQ-FFEO3A[Q:5M%vdf{w,4@.m+v~a:7Ye.k}jL `%}vJ^(%_&ms̓BoEcILIMJXT]' hB˞Gx_g[UFO|ՁlQS> OZFjAMu.V-z =}j fU9vB:S{4:Llo!AQ-dޤrJ<®$:~w(X922 ,{<TZ=ol@?mQ27ͣqŗrfDTgh7b%M< E6l;뿻 ԔdA.1'3(Q㟖)Vm@;^6%qXçFDƌ0jf(@{8].`& 掂RgXNۧ~dn_,/1bq5<_޿#-;V/>.͜iA ?Jb*i^1,Gv܃yp45{ _=GHxWx2*hރ쬝j1O2A+<'p:erС>G6V)QOwBAὓ)ʵ9@cHћ7֣Egk &;$ͦ. )T\78S!k*i5N&ƟQ~ 0a&s,``]IrG~K͚;6deF|נ0aeV dTrݔB4y34sf*&Ȓ2_7iyS,O c+7t1*a(I`(9Ti%I#Z$(`ְ|xg%[#_c]Ř>F~>OuaWl,!-L؇*=idungC[ Ź7:Dڄ-xwS8z<'͚E$r#my?D#+ܺ˼~v$yT41&ʆ@n?k~V Pɞ[ )PC";iG\ʷ6gqK&&gJl՟M GcCn)~:be "%9xMo%]Ɋ\Ox*9"VV< cv"쵞ew0QZvR_ǿ?:&3KHuW Y(Ye襾DA^)W!5eh)"*]t"N༶4Sm9^n޻,E~AZ >#Lt5cű&S/&[W_ơYUtw k3%Mvt6geN2Mi0Fos =XRo-fG[R"SQg@POmΦ(OQ<ȚŠ?y .)pIt[8NVud+"}[j}rbH71=h qURN$Η[\I}˅l1-izД}Դ غ2-,<ĖvzDRY ~:/ܓA<]GZ2@jgEgs?Y+ J\%x@}!Iإl4_ ,ᆷOja{ep&V˿ &e4<`_cfM{īz3 ѻ$zmjPѸ{WU&a>2_p"z&TMs.-D\ᮎ*`ip knoqFބçb^;_4~55]6KcoίP,d~7l5^ Tէrwkhޣ? niѿsyfEP}oL(~t:T|@~(JGE5P!tMDԽX(X݆Rqsq N =SܢzN}&?w%[Ȯ2&*a3F~i+Y]W=)Y M7Qz=$z5_GR)+=.l=WPHޤG@:t=_$WiWOw.W: f/=^V%@9~hOk,ރ֑kUa^7 Mb^ї_лz½M|:j 1U(fEc.~ "gx$Z$eضZGnYh$t&-vj>UќMM`OZO[vc >Jw-lHUtN"~P3PHr.O;kdMa |*tUʞMsbn3s{`QŅKHr]{+"4rXà[ZA*yC{_,Cy a6Aȍhc̔v"Oy) h U,mW*&],Q2A&3ُdm"6[ķ.>a(Y5XO{*԰pVU{ә PokLybv4k^"x#fThXX# D0et+^m!g2DH 6v30k"ͫ˻fNG UεӬoő-(vT aPr=r\$n w ,3JCJQ)2ĝsv|/ɇxk=A<j$o78jP(OUps&O O&W-&{-ZiMƊ858Lek347n*G53BR4`'9QNBaw'2uF ]B6­> hrlGǎY|lSظH5kqeI@r<2K}D#uqJv`GW3wphXިj[h~sj;n{XQ+6is0B U?0TV'ȩvn8oKZHi#t fӰ[, 䖅$k"keSru#')uɶ( 'bA}I Hbu+6 F2QQc쇨֭j8k` "d5{)1P- MsF%u;x@y[h JGmJ԰B6qeX D Xa!nk {0S0wn0K"H*SNCWۙ8^)-v0CwZK5)u6Aˮpَaӡ)~ Mȕv`_Yנ@(f`vImdVc&mPLSVG {%%D?EkXi+L7'ϩu۔.]^jk _I ;\ žk?2o!?.0PS?ߨ|x~dޞd 4{閕8r&i EֆGYpj_KA%VQ Oŕ'd[Q c j{Lྟ\\j*yX'/^n̘U;s$zF +{ ”dO=}$&r9 \B A#tR}}_4ϛ\tޤ(lK̒U˃P.s57{ 5Tb"E'hFiå5'_KkNXɘwBfTI rf$)1JpnWs,ZC|ר@IL$k2@Ð܅m &%+6g `"TNDzKq`#4ܶԺZM&oSͶZ~ʥp\ `GI8aMm65&>BF|p}Jq"(qKXN&QHktBu! A݁ 3 X~t01;S4) 5T U@S<_sCF`Pr½\j}$лa z# E>i‡ri`?*2_"ʞb ;~zLImǒ,o-Jezu$5i8.#ŲX-pI[>6Uy.]a%PA{' w%]kg uۻ=7rByϺ T95KɎw>/Y0$˹Ƶ1XYKx{뎦ՅrVOOO5Î[ $: PKmZN e;oSNC|r3бֽFx>x6F7 |Df߆A'g*>!ٸJJ̕8DEύ0N58H?kIA,Hd1yy6bg>ǜ3dq:cA|&ћ;Mؠ!BgCOITJ zyq ډGKrKB2[bq ZR͢ l@0ang%nA2&+#2z_16ȯF1ؑ t pђ v5|>[>ݷuInW+X21.$MXlgDv240ƣ4f^5$_X^G;.CX\ JAk1m;wJ [QsR7HJ"sF^v=K.cn4^I.`}fl<>;O@3]z Ab iڥޯs1:+9)F NgUf,,!TKZ\?rltAl"` :y`aJsg)]* akǿ /&@jp4 [2Izv9#nO2"歨`/JS 4v)+ 5.R#r[wS3o,cT֤gx]tO9=|^u?TJYtغ=;6C a_X(܋ Gbm~-iH"sqD oyf6f·,;twr::o-@*   B{飊m77uӰlk!N L$7ꂊu}/'G2-vzQ2h?OII\ݫCNnW~ ܀ΝnlTrBgpzlbrUl) x;I>ԭji:'jQM%(*'$ >$l^50/zV,% (Է Jjk~4/ 5KMk 5J(_[o3k CK"c}w3$0 kD ۴"%Q~Y-y{,bn!|s{nPaú1zo 0 <2،rޛb=G#wg{hmZ@lf/E[`C2:W!K6AS,\+*Z=ͪ+yE6fX|n%t%Y1 %XCtdxVų rVngqGAL=b!*B`k2iCbf X>腹z%ץb݁49t[6ψM֮]|)VP![L7MB1/0?BZN{S$+㰚yx-%#7)`\9nu[)yc!WfmLAʋ3oǙJGt`̇ZSnKgRZ2ұ@(}& gP);~n;gM&@t2,v2_2<&4br02f,H'6pclh6YwBңv$]fԍKJJc'Gr74NjGC*pV(7G֩B͕uNeiQ 3 }qWuS\T|U U{ȃltpXkyíi`5N S>*6Z9,mVIY{s.{f/e5\{f5)𢖃$h,j=+8>){Z,VZ4@MXǰ5C3-ꎋ@&/5R.*+?NƇTۓ~iKOԥQ܁:GihF|ђ ۺjOֽ CHrt0OQ"8{ ax1a0lr %,(*[$θ>;`W>ҁ\w`@3pL)u KS!1{A#tP7+9JE9fzK^+ $SISPnﯗ*8Z c5b8\R-jvTv/)-(<qPŰr.5e1za2KsX X"~/C5`=h:+fTG|1!Q~6K6KK~ŝIJ6s3oQ&(id}hSBX` GoqKQҹ7 bʓrMT\H&z[ޮ:4cnل=%*QsH9&& ]Rpbq^沧( A2-|\%b=@@` kw & 8'K 3p+6P@Ue!u=)1\Y sv ;SU@La> Z!%,d},^=Ԑb oW<#ӳФdeSe}JA'x"6$η\ r@Q{@pٵ߼Z!2AbWIfD]f~\apK<}#1 )>#%L/C҇(E\J52jWJ~^RAaܜa P5ÓP^V|o%heH(V<]acxi.\r u5EUOyRGQ9.{Km kr?#?>2}hrKl&`_.aMo$RQ>\ @p @Ǘ$NƢ5#47--R AM4YPյUi̘)6b٣(ZTײdT =`ꦻD9CI-4e4hbqգT%XfD"ꠄIYEa!:ΈC՛@Z ߚίW]0ȁ8C*C 0A)v^g0N+;]\=M)0o U4@瓶 "xO.5[l'8{ãmYlv}}:=9wNlc)Zz%{T]:zuUB{b6L̹̒ 4p%u4|N[WܸT}L0_Ro t $ccbxRAؕnJt/xd̏YlNmŷؠ&QY# Y0uݗQ{0;'TtKf\4Z :A,YsKIFhS{r En )!ks=‰9p}d!'­$5+6liY%K=ێQ Rx5蜶W?ؖEͰ-@ f4މuH* ɗ _9jѧsBB͒;W0)+BY3َP.齎s*E(¼)߹Id侌( lnYsz";:'f,Q sh)먫3o \M &w]f<^ؙ=\3)ޫq|B&h9Y|b#8,땄4TI = Ų"#|' wDK.w+-*Q5ѤN\L.>sfUVfFYMU-s{V|Fm6fi,<x#.Y@E-h Պ{ Qpf2b\eCpb8|17sрfhEoyl=0JSf E`zcW}V"OeoC, G{,Do^iJ{-ӣܤA$joX 5na 4:t S(l=Q텦l m+ƞKYsÔf-'gYQ^W#ihis},d0WOp6Êlkg Eb] wc+ݿ>3HN&\5jlG-RZ16 Oir[ڿ=Z, }JJEuan5U/!|xKf}zbQ~v3_jI],@p&테dgp_S>ХL Oz!s?i`W90d!6{Lh֎p?uѥ юW7Uᑦ)ɭH:h@4GIG0O>$^s7tȢ?~'.cc-rr  ,,HXxu5w!N_HNvȈVP%wӊ2*rŌ1L0JQF+?Of _i;L3 Ex ݵws4WfQ 6}ېUn!&=g n;n3UMaΆʞ)473K[?;-$t `Lxٖ r8U@ EMqo^P"*oWf`9 rdr~<`Et@z> 3y$]L%x۩[Py{785#^l,7)U -DAZ+԰!>Gm#JbeΤawrO~)ב1'oV;pwE܃ZLaI56'bA#E3.=ko2ҋ}U ބ׷fDYe5Խ>y ɝ?'#vhc ܺr4Ӭ[CǦ>i1 뿏9 9t.&B4k~iJȫ݆ 3)igx=?L҄sZm' ~;ΓKkՒItasKޏrM4UfSfq̿ )#&C쾳0g%=Q/\w`/UxMu?SRa៕)|H%!Ci_fT+Cw+iP@#R덍IQo4?1kq`VTep:qvsKbziCLkQZq̅ЫGg.7C6Z<ç3/cJ R a61dßx(8O૲F28|_gb9VAoR6xf~ $z!xt+R2<:Gw a%JÉ:?hFta/7Zj+6/uΞ=uxO^7G<{0? MR cA1P*\Ba0Q$Ҏ25L,}$% ^|[E2h)V qmAM_lBG"5wnK(Qrc MFz٭G$V jSsa(|vH?[Q}=GuM۬x+LeМ۬X /)؟[YP2hi6lf .1}.mNes6 a]KR;zQKD[;FjwB"nv.0oQQ@ǣ,Z%ʘ銷}#WS ZFW&^JKgq;|\\IwbxJXo@K؝EOP{7ݿ40 e` U-0gB.fI+u#'& L )T}LЦM%`j*ch}?,y:0! 68 ;o oxg zJtfj 2vT%AN". a%{F $\RJ&Ei29-.e ;* 컳;^/'u*^lַKhӬh}ܥ5aJd`,ΊIqeA"6x^7iT+񀩆 Xិ&Z2|0' fr RHقH\jjM'8$/GFi;F#!_n4 gq̔D򱛶#Π+v4CEypo߆iJJo TM)&kw'!!]FlbwɃi湣hmW\Nu@ `Ɉ`wl<.F@R^- \7$+chS`(yB`v'hBV[CZw](Bq]Af2߉Ȉ-kz[ ͶAz5{l(w BG_ۢw$ϐΎ*Bo띳E"DŋIlǒGJ.R0W 3Xt SP~_*O6A6|~;PE {:?7^๙_ _>Q?#šo%%E@2+uθMCk' : |.S$ TR{08 j4\Ւo; <:uC&TnF ﰤ]ޔ$mBl}ijϖJ7gIZ($M>yԣZwԮYͺ@I~S|PcJa볆2~Wgx"\@( y}}DyЛ:6;?Ɨ0)NU甯UnȉYkY(oR#vײRfߝBR :׏ x9s^(ė%^"i8[Ѐm#8A)T*;uxedg&߻2UO%g>*NT&!^f[$n`jW o}_G`'C+v Ǖ;z&>F`+?_ ~"˟8+{"D@pEWa(zv]h)vVq~FaLBQaCIۂ1< ѲUp ?p[hq2uv#o^J[妔xWs4`|6@5d={xX\ER()OWMql51's{^fu?R̢',q$"U46=*ĥ;Z)xx(qnrⱟxqQ_ L'X#;+0i$z);Gf=oH5zQJ"v$@F0v6T"΅˳-uU_y|O0HDeqEx8YIx6as[}]iVFO)6mŻ v÷.UvJ!\c9m"%l$r3Q"쮖Ft.dij>k; ۮ"zjea3t&1mӲOGTIX}WO2ǞN$6>Ófׇu r}#'"oP,Օ>_]ZJ1Rt qsC˪:O9] IH〉>yZ)5j]zFowWM"DЁ?w@)=@)*oo$-Mj9{LW7& I ' 46][ Rg {j @#,`ӔihJ>euefAVcD"ދ*_:oJ>wD]vm+{ݡ2 <1? đ`s((w њhJ9]%x7_Դ,(l iɮgeg V8\ؽ+ ܽ/!h_S΁rNeƳjKAF{)i۠|t +U])8I/v{z=vdkk׃uNC* .!8hT^Yf(FGR"Ɋ~|[g^`Sdcqmd׳h rlgyEd.#}3)FgvN㚟].۸tY.WdYN-bF.L M "̧]~BŃ~~});z=߷~Fh˜}<^_@4/+3Xޡ<*K~۽߬CI~ nISĨn_~SIg"F\n $_vZm\딷/sD]q$rRze[6c]q;Iw=xĂTq{N@B'{m MfrsH+a-[ i0v8da&1kHD29cJnO!^lx_ƭh$O`Vfg_h6Ax2MSHvVw,CC3Ok'=QxnSuN)\äDz巤cm܁Rs(dsv;/QzV`7 ֥3. VH5uNx_VC(/≄f|ݯ-G#Ys.Q['SxzדmB4nQϺ(ˤ4Km{,';4HP>.2.%?a6Msr^wJSߨE<>YWR!~q&ی!,H ʑxVDb:FXGۚBiQWWW1(H`!(*/7soF\>mdؼ@/hѼ >ك4ߡ-R b!Y|3ЇrJ&hqَAvK4xp|r 7M4˺=?zձw9}"R-:P6+'/c:|YMNs% YZf5++j&;wKz'.]'{P`u+B gqV s0g*>~E^}jS hle &wCT{1 u PkNokakl]TXb:#PN  m3!3x|鰇L|3m.3A_!2tю.5_1n`abkqKxIjXH'=C/_0&BqYRB^ΚFpe<՝=pQUxt]͘|6@ % +ڹEr(/(&r>ȽzxGσ4|a@F(oMuDA!J=s[W5s|"*ꐤR}?յiEӧ! 3p37'Bdz։;r\Bń[O #OI$)lBSj3OgF*s X uZ4_< ~hS0HeQd1vb Pb9setލiU7\^W85"&韽 h q@[Jύfa #+(T;Fy3ՄdϦ&ovz-JAqymO.|G?q}~] Sm7yږF̿UcW*ʫrYb*J@lI+,ā9_po½d{d2K`6Rj UT+>ޕ`44ڋ#L"Ń!/؀R'7Æٻ|p=rV eNtA%^]-9*5a, ,38>|x׺]0>U~aj_2⼂HKҿ[V3ʭY{1@$$ri5֒M'7*շӛD[5cB`4` m,6M7)u M@/Sp =w{fX`_j.bZD wrNwFe/xj'{k@;P0ܤcP8iZ; t" e-utuC_F:^)%OqnqUbXO\&AK#8}%I]& ,0!Z.e2zURZ*stod8H8]]r{v!{}ͦ:#ЂTM_`Ss:Ï|??X»NNɉ9dkxh¯}tPZKC&fKM@QEG~mNv:Z8+W2S0b}А 2\< x 79N WFJd: ,Ԥ+{jG%Ny:M p "qJ2h՛V``wqTplE[0n6%dJ aJ0b- 2 zu!.ϴ)GuӞ3-z4;^iGRUùk{BH7A柘g6zh%"r\P2w)D{~|2J?~EH*Ҙ4`RJ3`"4_m[23M7\c' 9}9&zi!{Z=$11d~hmgP3;'eZj {%/z{.gdepdzoʕIt}˰Nlآ\x;'bD͡0ߥ[lҫLxלhD=d"2)%enmhvpD,Gpi`T!bbbTWGlHm4]6bZCyPbjp=p]fe#Q)/(8sk9Wc H}[cnu6ݤF r,Ӄ>uGm!uϮ]~Ƙ0#K3f<0&{:f5eͲ5ٲ%֦&Hk|`$2xHwPO}iVI~|w|% 1 FrG?PYbOյ,KdѠKkW  š"pwL}ӣXeZv{mt=ǹ+-+b #u31cfr:j[ ~A9^XRטxJ 8ILIW`Y_Kp')?`c"rƿܦ"9Vb;,VUZK.CJ 8ɂ}}iLJ} T'd$h^! D5B]&cjזME#f hrʡVI_ŪUڥņWl(zTO/c;Y./@CD ?^U&עw{}T6RJ`/֍;OO@-@ȯM܃pq!1>8o9U.*Yn,bk-SC>oZApRdgnjVnэ!AZO{X695}2ććGt8$5-x}7ðժ΃zr.tS>ҐUF}k"Cԩ(klZ``kdU8VbUd,3/. ,cAJ7@z^ajW;J{r,Juv7}uAoKH⪴'Z?zf!%զ]y{f=HH̀'氨s: t˯%YI^GFgukX]"¼9 !i@'{# <҃B~):1OCO !\c?T0+@ONҲoV(kRk`Z'0qǔQPAxh5L>^j5ϳ6VfLɬBzKx KBc}ptA )tn urb{-Gн;<תyۃ,@yERP%(#BnÊS-Ы&^LDt0fE5>QPR* cqgL-~}MB 0~,xV`wgW~&Cs8%@<1Ch-0SW~\`ݽ89`(Ѧ II3*qيc4 o~hL}R6L˄o.R雘B$)^3?d7Fg>ǔ'h0{DO_j4z&Ż1Y-*L{57%|U]mh5ÏksO﹁ @Uh)9c>=`u=JJ,qs$ $ 9@6<Mf'zqυ5RWH?_y"tm?<7$'auŶ3]:<% =UmcR_Sg02Kd(F(cLEaC1ZjCJoس"7Xӷ9wF\d2HIYē!r=0< T -P&w l\ imI+x؉ )Ȟ `nTU%t-UTe|B@o%j^pu"})V V VVWV3/"_pm5yn΍jQ[3o+|Op1$ĐB묆ʉecp,r#ה=)GѲSyTd`h_PgoFtjvr߼uoI{粷_ l\@W چ i{zNV8M+v 5O $'uFNO?4bF/H̽UKpvKLqrڥll+ $[+QaF| Ȧ! KYr9KLD@T) ݭ"dI5cvy93CBVa6_³Ś^ ŝ.1'T_AX&?9N3]au>s/u6F ;'bU-BS|+1NLUm_~ *m+"s7hu{CQB&(3Ƅ |qU6Hov-x`+ezD@ۜ^슱)|`ԟ|Q?%JӳNSgUƏ6$lmJa?φ@wp2.Pێs7~Ҕos5e*A1vgnh#pmSބE_cM?pךɵی"2SkԀ~~,EK/4WR dŒd"ƃYO@?+JFxfvi)E(Fr>is=~[;06k-pT׻FzcQ$bZW# wBR0?POgƑ|Zj2BU bn(,A? ^t͑C:Ē2"?747/aVi;;]f: пnn/Sʫ2→ݑ9t)yq?/wfa~a䣙׷=;fjG'i Fa QPx(gKv*2~bη \fklDj2Ə!\R-*,!blTFM{]KNYF\ŏ̅abD㽇SuI+䎏=SJܚtK_NKHs/h(Xf",参dL6҉%1o9,ӥT`"q051u4"vA(-潥yy8-^vo2kwHhxͮl_ATך*DR7T %R_4eeWr7z,× TV^ ")fwH Vv:;vZa;^T\rf̋BP<dpDnۈjQkq r,Ȯo'+l|eeW,Ȧ؂:>?m;TёbfYD-q *t;1)yZ hRX Q4~/βU+aCؐİD/h Y`*9//nА 26{8$6:dA2l!}WbZ}xA_A~Ę߱D&^SxAkZJH5ErJps `\JJW~;{#?rE v*[!)*PlYz؂N?-Ioi]Gcnp~I_%[Ѹėe6ZRg@QÙ솼~7m cz2/.@6%mJŸ+%)uY{nta^RBhKŀvLsoc{ijS^\j."'+ݒ@l]y e-#zkZQΫTI7`g~[>6B,|#M'F۬/+rZ` H59?Td_b,:u؋e̱A~yRΉ@H)' ʬ= YU%- }(=&Ȫȷ} EE 7'=a9pxl$c9AwsFwX)gq0L'-ENfK/虝``&qi2JfN`t^L! ^1V 5]9X P&C޿;&YR wrcWM/ l*"$Gڛ סd _ƒ ha`Ja.NMsRun]ifͬn$db˕ɉϓ݌eN uܐf;]4%LzRː1QaR!a_Zo(H֣ Y% i#"Icf~i܌nXKo_#JH xș$ד+REabgMӧ42Ą6giȫ@vXl`>o]7ФyϒОA`E/I Y{c˞"J"֖cEA\5oDN҂td(+e(sQY~@7#M썍&,?e&qviOs}@ρI&w"϶V}_sW4gO֏;ǦJnU ,+y6Q`C:ydꂡVٛm+(e|; u0ܼO!O,i\y pIC ڌ6gu'?V>~x`dccbd51ESCEgܧ‰^0ط8,C_ZɈ&7+ԡؔ /`.z/{oSoIfIp:j{ O1"eF$$"P3I@=B'9ZEӦ<(|(8zT3dǚXQϧq[QU:x8$t JcKd%y*q^q+<Qc7q:CVu!kJ0Ɖg@r\Ժ s=ۨ]#9{ȥEIf\Eݰd?t_pʳHjCʑ=\qۺnښOѼB#`L鋸< bk#IAK4}75$*ڦ tG!.aRld>d>p2P`^?2c*D#"VǩwMInqO7[jQ#t†ɥruionкM orcg=Ǫ旓 ^R2GRќ`GąPE9-}ߞ"՚FZ_ZYJR=3^44IA-]e7RLxTw >irXo%d!M@&"#=ɺ^R0hn+v^| v]ސAd?r\4Xm.'&[>O]\-V ;:T@S״n %\5е8vTp^muxffu{>F`zv4axTwN,W8 q~Aͭn1gjWqGM8ݴ 8D}n#tUc~̙Uj/Vbjl<WV<>n!AΤ){YG׾ftҨgYbg!+g id3>a%і>f׭8Hh69yTe[B4A0rj!PR6N-A1"~nn'0&]-V|0@⥑xPr(.ى^9JeImL]w4oVzO .{:Y+#I~ɂ7@BF#21PBL[ۇr jeS Luɴ܂P~:Sim9TgOQǛcta!(8-3U8FY៹Ya$c3 O ˏ4|,mh"~GdU02!U>P%BNs`Y7nQ=dq^+=!ZggMhb0PlY(sy!{ޫDJɝ5>Tc6sqZ[rG G#I:Lt0qvKs !~APN9Z+'GEM"M" wpɮM,8Hc$sUf?ֽOBLΠMKŚWR~ 墹ꀂ&Ե/,0Xqî/K#p )0lI][$BZvF3439 ?hd WR#m^JUVNIqq{TFԤ[l^C%i%1N5:"IBvv<6Od,pk>i9(7=$m"du|M#7jLܬ["1Ư0ğoY]ySwX {D.t}ƲqFj7 h*LMWBfz-@:z,|oqT o6jV/3RM)a^DMU=Hz+5y1F]iF>nWe >nkqa`>|K7{[Yښ;ȿ@aϕ F)%Kf@!6݁"'u<mA=in$PT$ ׏bs*ny>AO%RUM$=.`?'C6SE i\vvzhT)Vx($`s21ЉK6E2ƨ#>5q?ɿ:&XdU\fi^Ȉ0 6sg,0ؘۂ7zc;*3~|yh]:umն^suae9zo.чlFF*C"k<}@_Ӟ'p;%-+=TFa3wgP{seԯ^܁ jAbx]39^p55"G!FrΔqUkpG%PPڒ_6U4Q!FYHB )A5'<#SCI$R%Lٝl}xUc%j[Ԋ&s<ٱˢoK)sŰK,YIDX&ؖ^1#N`|z)*:ƦxЄinq2[]!*pH\GsX۰!;n#~Qc'D44'H_*@%%ƔRC5]pI0{蠷NVYkl}.np"al NmA9,qTpIڑn,L+*3ŧ {K .7n (q4857O^0pKnciۃ4yRݝOͧkm3U/{xL˰M"w|q05>0 RY#l=Sh鼶K_y Ŷ)o\`(-;[%D+vUw;TVcq勂Q*@wـ6Jpҳ]a4_b9NzT2?6pæRdq2/PQB]Pʽ-ΡPP <:A}?{XܻF}HZA]æ_,-#=scD&ܴqgkd1D8+5N m~@pCjT8;~۴^9?K(hinf\M3l(@:(Byj '1ܬT&ꕸݓjEf?AwgZ}3ɤ tcX LJ,6q!J~n6pdBWVig&p0i2Wѯ]D.IvcP,Cz,,\? Y0䲋r5ÿSP쮖\4 Mo~ QvGd$]Wloe+IMXU^(ܯF28E=L9[Y>rdDW$ 绑WpQ+5b(4rd5!T3](Op%*M m*  C;!WA̟PQJ c FDg$)T_0[rk]#h<12Cn\1NzK1 C*d!#ʧ+;T|Sv[Q>js* ;B4*4:C,C _(rWwz2A}AkS/4'\SP8' P@7StHUn0\fTF{ܦz ~KuqDٺ28^af g@S{hfR7?o^wZzVZ;GA&Mx0KvU(ۯ-M3[zfWNx,rElj°IiM !\\07omʸj6_cm8~4WeհFs飖 F5,.qOenc&\8!0.N$zL^}[T/b ox/8("'aue||JAEK]VS6=H5` #1! ;6MO:!<2ߕ §PN⿣o2.X`f:Y\ÕC_1 9v unۏW8Xg|l #~RC>HPCʏkPi$bۧGix,+)D` #&hqε*j$a[!2k݆b8Q :TFƃ RU 甆tgz2ZEkhĽ?/J`˥9{:xgzvU̍;Y{%\O^JTr\S <FXn  $@Lշ/":2Hf٠Q ·^.$݂V[X徏+$u Ӑ* K R3}c(܅;M_8[3jȶa/n4X( C^ey ޭ+*3:k!M/'QWw9ZṶ^F@]WTKT)jnϬ8T_;m2 ~S:?ч{!ѿ]@腊dwa=`~e=QEYCGV:7Vf4@%tK3)ǁޜVVM:T>k~O:ޝеhG $Y*Bv΁<"?Nx5y!$m-٥@3't$5C&V&w{f"'w2A5%f):4oUM 2kqdґdϪ!Aph؊X|4nI}n0{j}O0Sdy+V }9-[C݀2Tn .5*CcíFW_C+O.(ס xvXLm\*e֝>vPPN>>N0y.?])̱:藨,t;,O}y39юfv6gG FSmB,L"NPvǖK Xbfx琌R{}LO զ6u/,MhI7d['~ӹjBJ"Fl. fh G;>]K@f%iaǰ档|9H?֝v.s7xQ?2+o >IHQ/+s,s%{ZCcZMS@>=5}Wh1OKk xo]嵁Yev‡Zh u] Dܜ锚e泝p]w18+G/<ڹ%#qۉ6blƯXGRSO c7n -GWݕC:^ ?hJ֠Kk_a[*ї[";`t{ uqtE1Fhӂ"k̒B!HՉޤ fw':M2*nM0v㚽"$hwixlͫ)ק+1gEn,A]:LOt0ޭf꫑]tK9+;6`eD+z c$3(S_+ύ橄/^\xÍ7!8 nZO6rͣjZm-mbmGk[+r z¤}Y8~?*dؽAړ89&ix%- "$V;REF"J)\3!j}:.'Ktp$,?pY@PSrnUXHYmhHSZi5;4:&y;=K7 Rs;|3,g˖F_$SMxأ~Co!πڔZ{xIM-v lLX^TڴNc`9Z7Ze2MfQqe+j͞gT6KQX&A]ڭ_]iOӶ' ;тG-9 =nyY8|@jC~&p0#쳆Ё3=o97mAr(0<bD#WT @M8 Mѕg7jUެXkZ/ր&E d)=s&7T)2V ]\ˌ3">@ws(.J4[V~LE8n(3)8'f/r+GV|R{خl!4 t5{ WQb)Ytf7%b H0^008LՓs@HC֩ `& Qߠw]D d ȋ$a'icؒ7} ܶTHj/i[FCQm T7F6cz bK:3nɱOHDB{b{_~Ɗ |i"~ hЮ=FZe":VݭR'ߛ|,OYն0\UuAְ4VpԁNh%MVd,% fWi f."\ar[B~?9?,h?ƪB/n$I  r\6&T$.#B z'68Zh< ͵lXd }FJlP(>%S TYynry&4 ) \ckb{:_HEhRKԍqHvI\, 0[oV2Y5:{,ZM_ 'H%bv :Y?eEkƲ"UTi|_-\YRc+mʉփ]Ec4C- o=Ij;9dz|m88يFqpaFsUg}S8;BZf& Gecgjӓ)Ahj^t]:A?"j ?9~FgwP'PI3 '\2 $%ކ;VCA5@?ʩ{'K>#tK[N,: x$]3ugnNkk;OKne0p?kNih {O;+`L-/QEBFn[䴼JNe5^!Q@b #y9e2mu 5aIMèy 3Jd`GC 1 Πbظ<Ohr \#}K>e'G1&0xI,M>x?x{.6A1tNQ :p#zQn,~h\cہOeh$պ}s+WURVPh؈H3۔!ДF+'U"㖵0[Mgo2e/g? SUsPr-S~rd a!]s칯eDH=Y(q{#O4x!@M[U|]A_ѴJ0;6