avahi-0.8-150400.7.20.1<>,gSCp9|ҥGPJ ڛuI?d   A &5LRZ+;;  ; ; l; '; ';(;*;+,+L;,8,,/(/G8/P<90@<:4<=x>x?x@xBxFxGx;Hy;Iz;X{Y{(Z{h[{l\{t;]|`;^bwc deflu;v wL;x8;y$zCavahi0.8150400.7.20.1D-Bus Service for Zeroconf and BonjourAvahi is an implementation of the DNS Service Discovery and Multicast DNS specifications for Zeroconf Computing. It uses D-Bus for communication between user applications and a system daemon. The daemon is used to coordinate application efforts in caching replies, necessary to minimize the traffic imposed on networks. The Avahi mDNS responder is now complete with features, implementing all MUSTs and the majority of the SHOULDs of the mDNS and DNS-SD RFCs. It passes all tests in the Apple Bonjour conformance test suite. In addition, it supports some nifty things, like correct mDNS reflection across LAN segments.gSCnebbiolo{pSUSE Linux Enterprise 15SUSE LLC LGPL-2.1-or-laterhttps://www.suse.com/System/Daemonshttps://www.avahi.org/linuxppc64le if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : for service in avahi-dnsconfd.service avahi-daemon.service ; do sysv_service=${service%.*} if [ ! -e /usr/lib/systemd/system/$service ] && [ ! -e /etc/init.d/$sysv_service ]; then mkdir -p /run/systemd/rpm/needs-preset touch /run/systemd/rpm/needs-preset/$service elif [ -e /etc/init.d/$sysv_service ] && [ ! -e /var/lib/systemd/migrated/$sysv_service ]; then /usr/sbin/systemd-sysv-convert --save $sysv_service || : mkdir -p /run/systemd/rpm/needs-sysv-convert touch /run/systemd/rpm/needs-sysv-convert/$service fi done fi # bnc#853845,bnc#851953: do not start by default under # sysconfig as this breaks vlan,bridge,bonding setups # in pre to revert old default setting from template. if test -f /usr/share/fillup-templates/sysconfig.avahi-autoipd -a \ -f etc/sysconfig/avahi ; then . /usr/share/fillup-templates/sysconfig.avahi-autoipd if test "X$AVAHI_AUTOIPD_ENABLE" = "Xyes" ; then sed -i etc/sysconfig/avahi \ -e 's/^\(AVAHI_AUTOIPD_ENABLE\)=.*/\1="no"/' fi fi /usr/sbin/sysusers2shadow avahi.conf <<"EOF" || [ -f /.buildenv ] u avahi - "User for Avahi" /run/avahi-daemon - EOF PNAME=avahi SUBPNAME= SYSC_TEMPLATE=/usr/share/fillup-templates/sysconfig.$PNAME$SUBPNAME # If template not in new /usr/share/fillup-templates, fallback to old TEMPLATE_DIR if [ ! -f $SYSC_TEMPLATE ] ; then TEMPLATE_DIR=/var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME fi SD_NAME="" if [ -x /bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating /etc/sysconfig/$SD_NAME$PNAME ..." mkdir -p /etc/sysconfig/$SD_NAME touch /etc/sysconfig/$SD_NAME$PNAME /bin/fillup -q /etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "/etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fi PNAME=security SUBPNAME=-checksig SYSC_TEMPLATE=/usr/share/fillup-templates/sysconfig.$PNAME$SUBPNAME # If template not in new /usr/share/fillup-templates, fallback to old TEMPLATE_DIR if [ ! -f $SYSC_TEMPLATE ] ; then TEMPLATE_DIR=/var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME fi SD_NAME="" if [ -x /bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating /etc/sysconfig/$SD_NAME$PNAME ..." mkdir -p /etc/sysconfig/$SD_NAME touch /etc/sysconfig/$SD_NAME$PNAME /bin/fillup -q /etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "/etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fi if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" ]; then /usr/bin/systemctl daemon-reload || : fi for service in avahi-dnsconfd.service avahi-daemon.service ; do sysv_service=${service%.*} if [ -e /run/systemd/rpm/needs-preset/$service ]; then /usr/bin/systemctl preset $service || : rm "/run/systemd/rpm/needs-preset/$service" || : elif [ -e /run/systemd/rpm/needs-sysv-convert/$service ]; then /usr/sbin/systemd-sysv-convert --apply $sysv_service || : rm "/run/systemd/rpm/needs-sysv-convert/$service" || : touch /var/lib/systemd/migrated/$sysv_service || : fi done fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable avahi-dnsconfd.service avahi-daemon.service || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_STOP_ON_REMOVAL" && . /etc/sysconfig/services test "$DISABLE_STOP_ON_REMOVAL" = yes -o \ "$DISABLE_STOP_ON_REMOVAL" = 1 && exit 0 /usr/bin/systemctl stop avahi-dnsconfd.service avahi-daemon.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in avahi-dnsconfd.service avahi-daemon.service ; do sysv_service="${service%.*}" rm -f "/var/lib/systemd/migrated/$sysv_service" || : done fi if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_RESTART_ON_UPDATE" && . /etc/sysconfig/services test "$DISABLE_RESTART_ON_UPDATE" = yes -o \ "$DISABLE_RESTART_ON_UPDATE" = 1 && exit 0 /usr/bin/systemctl try-restart avahi-dnsconfd.service avahi-daemon.service ) || : fi fi avdfl@ c d7I`  S <v0ʶ3/(g^A큤큤A큤A큤A큤AA큤A큤A큤gS=gS:gS;gS:gS>gS:gS>gS@gS>gS>gS:gS:gS;gS>gS;gS;gS@gS@gS@gS@gS>gS>gS>gS:gS:gS:gS:gS:gS:gS:gS:gS:gS:gSAUzUzUzUzUzUzUz^KUzV[UzUzUzUzUzgS>gSAUzgS;gS;gS;gS;gS;gS;gS;f5ed1c838661a12a292c4a764af0ff0feb8420486570264da833653d40328ff81c35a47448cb10975593d5af12a61033f8648af5c60b823bbb1bc2550403e08ad16fca08d5054e14ffa9b0cb919263f4f21db379da4058ea745d3ec467f32afdb1e51bf3ff20ab16b8954d8a999f69966dded889d29b75cea25a726b6b9b12dc1f1eb5027c8ac30e27cfa50881d6be5d5a4bb9e2252193f58fb31374a7014716e0e4b0fcc4e8f36a6cd9644777a3e133d6ccea3e8240233ba8913d9d33195c082e8784f74603b0e7b03147eada1f1f8ec190fdef0c3fa1041201ac71ac2c0a7d53aa111dadc10bba319e0346e399c607a80ae6ffcded55f3cd3102c6d71995b038f40d7f2d4a73bddf8ba55b11718c9b92dc5bc2e2df7c88aedd114f1b564a63ebcac21cadd59380308ad26b243b3fee736204195eee1ba418f5cfd9ea4ff257b1314aa08d39df60afebd1d609a98d0d91ad96ed2eb157192fd7f5dc5e3cf1b11222c8b44616a35fb79ad43bcece13ec90897365a845451008f6d5229814c2631a438eea13dda81dc83970b16c4257d52b8d57892e09174e5fa3ab4afe6ab0a57564f670726e9aa1f899af0fde403cfc46c195e051e13a24771b904a0cd739e6aa30465c8573b5cfac75f7581ecf6439eb5923e783dc39ba3569932d66c1dc123fd2a26c05bc5f6a9ea121162814f25fa41a750594dfae6bee6a35c63b9390cb7ea489e95681a97acbef068413dd063802af1ae7ba5ef3adfb3d42566d31a4880f418e7793eca2129220534413dd48b5f42e746d2a3896d194d5faf9d17e1d9937d012a9cdbe953e0c32d0042c2a4e692becc276ff0bc14d8c0178cc96e7cd00cdb6b1f9cda0509e362815fde88074d1151976f9f8bdd3ff30cb80a86c90d631c4978128db3864abd0470315768c6570509fce3a2a5332fc68832971d5006d2aa7bc05116c4fb6f8194956bc27cebaced4d6362401a1cc9ad5686744d63426806ca4d11d21db16bb34964aff545c7d642421c163eeba5560008cd6f097b2f6e870e959e3286cb86170d29b6a914902c438414d9b3133e9b1b9cb7b5b806836248fa63bda2aa3a1a1308564809e060fb8e7b3b2f84e880a6d049b4e63df251ef03b4d0bfa7e65c2076cbe3e9b12ca318dbe9ba565124bd8cc356474de877ab194971185e74e8f8a90d5431453e282843a5bd9a91e813e7bf6104e2bf0a7bb9959a0bc14aa654401c4ca4b5b2476d1661f1d3269f8892bacf58de7cb801d378241700436c2f09259fce8e18eaef2352468700535ff21029fd8fffae36ab54474d2ab3a53c27883074b89e2f85757a713e113f487401dc5adea2650799292ade650cd73c88eab315a86182348506a4b6973d2f64d592fcf15277bf9bac0492d2ca38862399cd898641e8023e40c06a150d531010828ed460f40c03aa0bdf441a89ed80d5f7026ea376b7d1478ae7b802323b8888cbb28a49530593b9cba28545307f610466dae817259cf6ffbdee97ba826239c6dc52b4d5fccd646e8445521571ace92f84dc8afc1bdea5a0e66801db4d981b656c894e30ea0ce01ac39c6035dbee8ceffd40c6ba3a1d5eb43288c19bed68ffc037054248757d4d835169f3203cb20700c2aec5e57a23cd7d8086ba359c26f8dd9e2ae21ef88adb99e32fb4f2f2260a516f94e4da95dc65d7f39494d1920a1f64ed59b88579ec5e181b9ed20335383c63e090cf20cd1bca469dc9f2b549a6972ac99c3ea8a2a5df7c10b4b537579b39ceb473ddb6f650a711294b0d6e8cc8e648559b9c8e96cb56ac86de7faeba1a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e8613f1ff795111273f490e4cbfc049fe3e6cb03199a786334cc08b1f64e4df5d2d64df30d5f073f07fb7c0f351d891500e32674b5e045a1ece26e6a8b973d36788c6662fdb5ab343f70c6b7d415e49d2f276cda50fb49ea37a581fae6c8781e91d1b900be7ed29e7255e033ffab672d1dec148f1dde873c4dbf2c734a2e610b56b1f71ac8e077e1a9c66cdc82eb37555abb0546dcb07577115d154cedb2bb332dc4579a853bc275b0b148fa63d90db0bad2959c5d747c0fb3c20b212a101cde8b568e456e1df54194b66364c97b2e380326f53eb8377b1d15d33d094b765e47652eserviceservice@rootrootrootrootrootrootrootavahirootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootavahirootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootavahi-0.8-150400.7.20.1.src.rpmavahiavahi(ppc-64)config(avahi)group(avahi)mDNSResponderuser(avahi) @@@@@@@@@@@@@@     /bin/sh/bin/sh/bin/sh/bin/sh/bin/shconfig(avahi)libavahi-common.so.3()(64bit)libavahi-core.so.7()(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.27)(64bit)libdaemon.so.0()(64bit)libdbus-1.so.3()(64bit)libdbus-1.so.3(LIBDBUS_1_3)(64bit)libdl.so.2()(64bit)libdl.so.2(GLIBC_2.17)(64bit)libexpat.so.1()(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)nss-mdnsrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)sudosysuser-shadow0.8-150400.7.20.13.0.4-14.6.0-14.0-15.2-13.24.14.3gR@g=@ftfehy@eB=e:Td5Kb!b8b @a@aZ@aav@an@aC1a@``r`~@`+`#`_O@_L@_+_$_"@_^^6^,-^@]^]QT];\@\6\/JZZZZZ@Z@Z@Y0Y-^XBW@Wk@Wk@W>@W@V@V$@VZUoT@meissner@suse.comqzhao@suse.commgorse@suse.comxiaoguang.wang@suse.comalynx.zhou@suse.comalynx.zhou@suse.comxiaoguang.wang@suse.commgorse@suse.comdmueller@suse.comdmueller@suse.commgorse@suse.comgmbr3@opensuse.orgmgorse@suse.commgorse@suse.comyfjiang@suse.comdimstar@opensuse.orgsbrabec@suse.comyfjiang@suse.commgorse@suse.comchristophe@krop.frmgorse@suse.commgorse@suse.comjengelh@inai.decode@bnavigator.dealarrosa@suse.comalarrosa@suse.comjengelh@inai.demgorse@suse.comdimstar@opensuse.orgmgorse@suse.comtchvatal@suse.comkukuk@suse.comdimstar@opensuse.orgmliska@suse.czjengelh@inai.debjorn.lie@gmail.commatthias.gerstner@suse.comdimstar@opensuse.orgjengelh@inai.demgorse@suse.comtchvatal@suse.commgorse@suse.comjengelh@inai.dedimstar@opensuse.orgdimstar@opensuse.orgzaitor@opensuse.orgrbrown@suse.comjengelh@inai.dedimstar@opensuse.orgdimstar@opensuse.orgmgorse@suse.comdimstar@opensuse.orgmgorse@suse.comalarrosa@suse.commgorse@suse.comdimstar@opensuse.orgzaitor@opensuse.orgmgorse@suse.comdimstar@opensuse.orgdimstar@opensuse.org- prerequire avahi in avahi-autipd as we user "user avahi"- Add avahi-CVE-2024-52616.patch: Backporting 1dade81c from upstream: Properly randomize query id of DNS packets. (CVE-2024-52616, bsc#1233420)- Add avahi-filter-bogus-services.patch: no longer supply bogus services to callbacks (bsc#1226586).- Add avahi-CVE-2023-38471.patch: Extract host name using avahi_unescape_label (bsc#1216594, CVE-2023-38471). - Add avahi-CVE-2023-38469.patch: Reject overly long TXT resource records (bsc#1216598, CVE-2023-38469).- Add avahi-CVE-2023-38472.patch: Fix reachable assertion in avahi_rdata_parse (bsc#1216853, CVE-2023-38472).- Add avahi-CVE-2023-38470.patch: Ensure each label is at least one byte long (bsc#1215947, CVE-2023-38470).- Add avahi-CVE-2023-38473.patch: derive alternative host name from its unescaped version (bsc#1216419 CVE-2023-38473).- Add avahi-CVE-2023-1981.patch: emit error if requested service is not found (boo#1210328 CVE-2023-1981).- switch to use _multibuild - delete _avahi_spec-prepare.sh, pre_checkin.sh: obsolete - use https urls- remove avahi-mono* subspecfiles, they are no longer required by anything. this makes the spec file slightly more readable.- Replace avahi-0.6.31-systemd-order.patch with avahi-add-resolv-conf-to-inotify.patch: re-read configuration when resolv.conf changes, per discussion on the bug (boo#1194561).- Change to systemd-sysusers- Reinstate avahi-0.6.31-systemd-order.patch (boo#1194561). This can probably go away if/when gh#lathiat/avahi#118 is fixed. - Drop avahi-0.6.32-suppress-resolv-conf-warning.patch: we should no longer need this given the above patch. - Add several patches from git: 0001-man-fix-reference-to-avahi-autoipd.action-8-in-avahi.patch 0005-avahi-dnsconfd.service-Drop-Also-avahi-daemon.socket.patch 0006-man-add-missing-bshell.1-symlink.patch 0007-Ship-avahi-discover-1-bssh-1-and-bvnc-1-also-for-GTK.patch 0009-fix-bytestring-decoding-for-proper-display.patch 0010-avahi_dns_packet_consume_uint32-fix-potential-undefi.patch - Build manpages with xmltoman. Currently needed for bssh. - Minor spec file clean-up. - Require python-rpm-macros for all builds (boo#1194744 boo#1194745).- Move sftp-ssh and ssh services to the doc directory. They allow a host's up/down status to be easily discovered and should not be enabled by default (boo#1179060).- Change %python38_version_nodots to %suse_version which is compatible with Leap and SLE. See also: https://github.com/openSUSE/python-rpm-macros/issues/107- Add rpmlintrc: Filter shlib-policy-name-error for libdns_sd (boo#1191750).- Remove obsolete translation-update-upstream support (jsc#SLE-21105).- Obsolete the same version of mDNSResponder-lib and mDNSResponder in baselib.conf and spec.- Add avahi-CVE-2021-3502.patch: fix NULL pointer crashes (boo#1184846 CVE-2021-3502).- Fix libavahi-devel requirements. The devel package installs libavahi-libevent.so but didn't require the library it's pointing to.- Add avahi-CVE-2021-3468.patch: avoid infinite loop by handling HUP event in client_work (boo#1184521 CVE-2021-3468). https://github.com/lathiat/avahi/pull/330- Update avahi-daemon-check-dns.sh from Debian. Our previous version relied on ifconfig, route, and init.d. - Rebase avahi-daemon-check-dns-suse.patch, and drop privileges when invoking avahi-daemon-check-dns.sh (boo#1180827 CVE-2021-26720). - Add sudo to requires: used to drop privileges.- Drop configure --libexecdir variable as it does not appear to be used by the source archive.- Build python bindings subpackages for all flavors * use the python-rpm-macros singlespec system: The macro %python_subpackages together with %python_subpackage_only creates the pythonXY-avahi bindings package for all python flavors on Tumbleweed (currently python36, python38) * Put the avahi-bookmarks command under updates-alternatives control to avoid package conflicts between flavors * outside of build_core, the build continues to use but not install everything in the primary python3 flavor. * For distros without multiple python3 flavors and/or older python-rpm-macros, the status quo is unchanged.- Use sover variables all over the spec file- Update to version 0.8: + The Avahi 0.8 release brings a number of new features and bug fix changes including a backward-compatible addition to the D-Bus API and the avahi-core API. + The existing API is still fully supported however clients using the new API will not work with older Avahi releases. The avahi-client library is not affected. See the "API Changes" section for further details. + New Features: - New options for filtering reflected queries between networks (reflect-filter) - New mainloop integration for Qt5 and libevent - docs/THREADS: Information for multi-threaded avahi-client apps - Listen on loopback interfaces by default, allowing local-only services to be consumed by the local machine - New D-Bus V2 API and additions to the avahi-core API for splitting "New" calls into "Prepare" and "Start". See "API Changes" for more details. + Notable Changes: - avahi-autoipd: Initial IP selection based on MAC previously ignored first octet - this will cause all hosts to select a different link-local IP than previous versions based on the same MAC address - avahi-daemon: Delay sending results on an object for 10ms in an attempt to give clients enough time to subscribe to signals from the new object after receiving it's path in response so the New call. See "API Changes" for more info + Bug Fixes: - avahi-python: Various Python 3 enhancements including encoding unicode strings as UTF-8 - avahi-common: avahi_string_list_to_string will now escape embedded quotes, backslashes and control characters. - avahi-daemon: Fix a crash when txt records have an empty value in .xml service files - avahi-daemon: reflector: do not incorrectly cache responses on outgoing interfaces. Previously we would incorrectly cache responses reflected from one interface on the outgoing interface. These responses were later sent to clients on that network even if the original client had disappeared and could cause those clients to have a hostname conflict with themselves on restart. We no longer incorrectly cache such traffic. + Security Fixes: - Drop legacy unicast queries from address not on local link which can lead to UDP traffic amplification attacks (CVE-2017-6519) + API Changes: The avahi-core API and D-Bus API have implemented a new API where a call to the "New" method can now be split into a "Prepare" and then "Start" method for some objects. The previous "New" API is still fully supported and there is no intention to deprecate it. This change affects the the following objects: AsyncAddressResolver, AsyncHostNameResolver, AsyncServiceResolver, DomainBrowser, RecordBrowser, ServiceBrowser, ServiceTypeBrowser This is because the D-Bus implementation in some languages would only bind to signals of an object after it was created and had received the new object's path. This led to such languages missing the initial results sent between the time the object was created and it had setup a filter to receive it's signals. This primarily occured in languages that create dynamic bindings for D-Bus objects using introspection such as Python. The avahi-client C api was not affected as it globally binds to all avahi signals without specifying individual object paths and still makes use of the V1 API. The v2 Prepare/Start API is available under the new org.freedesktop.Avahi.Server2 D-Bus interface and also has corresponding avahi_s_* calls for users of the embedded avahi-core library. The old org.freedesktop.Avahi.Server interface is still supported and there is no intention to remove this API. Additionally this problem has also been solved for old clients by adding a very small 10ms delay before we start sending results to give the client time to bind to the signals which should silently fix the issue in most cases without introducing a noticable or impactful delay. Clients implementing the new org.freedesktop.Avahi.Server2 D-Bus interface will not work with older Avahi daemons. It is suggested that clients may wish to either check for and fallback to the older API version, or continue to use the OLD API and rely on the 10ms timer to resolve the issue. - This release is backwards compatible with Avahi 0.6.x and 0.7. - Add qt5 bindings in a separate package - Add patch to add IT_PROG_INTLTOOL to configure.ac so intltoolize can be used: * add-IT_PROG_INTLTOOL.patch - Add file missing from the tarball: * build-db - Rebase patch: * avahi-desktop.patch - Drop patches already included by upstream: * avahi-0.7-dbm.patch * avahi-0.7-encode-strings-as-utf8.patch * avahi-0.7-python3-bookmarks.patch * CVE-2018-1000845.patch- Skip the xargs dance and just use find directly.- Pass -print0 to find, to match -r0 being passed to xargs.- Call xargs -r0 instead of just xargs -r: guard against file names with whitespaces.- When changing ownership of /var/lib/autoipd, only change ownership of files owned by avahi, to mitigate against possible exploits (bsc#1154063).- Do not pull in dbus-1-python which is py2 variant but properly pull in the python3 package- Require shadow instead of pwdutils: pwdutils has been absorbed and replaced by shadow long ago.- No longer recommend -lang: supplements are in use.- Use %make_build.- Trim descriptions of secondary packages.- Drop gtk2-devel and python-gtk-devel BuildRequires: No longer build gtk2 support. Following this, pass --disable-gtk to configure. Drop sub-package libavahi-ui0, no longer built. - Drop long disabled sub-packages libavahi-qt4-1 and libavahi-qt4-devel.- removal of SuSEfirewall2 service, since SuSEfirewall2 has been replaced by firewalld, see [1]. [1]: https://lists.opensuse.org/opensuse-factory/2019-01/msg00490.html- Drop -Qt4 variant: Qt4 is EOL.- Remove %if..%endif guards that do not affect the build result. - Write "D-BUS" per its own name, "D-Bus". - Replace FIXME PreReq with proper requires as needed. - Update boilerplate summaries, and remove em dash grammar.- Replace avahi-0.7-python3.patch with avahi-0.7-dbm.patch: use what is upstream (boo#1110668). - Add avahi-0.7-encode-strings-as-utf8.patch: encode strings as UTF-8 (boo#1110668). - Add avahi-0.7-python3-bookmarks.patch: make bookmarks python 3 compatible (boo#1110668). - Add CVE-2018-1000845.patch: drop legacy unicast queries from address not on local link (boo#1120281 CVE-2018-1000845). - Drop avahi-0.6.31-invalid-packet.patch: fixed upstream.- Drop the qt3 parts- Add avahi-0.7-python3.patch: Port to python 3 (bsc#1076402). - Build python bindings against python 3, rather than python 2; - Python-avahi is now python3-avahi, and python-avahi-gtk is now python3-avahi-gtk - Obsolete the python 2 packages - Replace python_sitelib with python3_sitelib in %files, and add __pycache__.- Rename %*soname to %*sover to better reflect its use.- Modernize spec file by calling spec-cleaner- Use SPDX3.0 license tags and package COPYING as %license.- Update to version 0.7: + The Avahi 0.7 release brings two new features, binary TXT records in XML service files and the ability to start the gobject client in a custom context. + New Features: - Add support for binary values in TXT records in XML service files by specifying value-format="text|binary-hex|binary-base64". If not specified, defaults to the normal value of "text" (thus backwards compatible). - avahi-gobject: Allow starting the client in a custom GMainContext by passing context to ga_client_start_in_context instead of ga_client_start (avahi-gobject minor version has been incremented). + Notable Changes: - avahi-daemon: Remove all default rlimits from avahi-daemon.conf, as two main problems happened with firstly rlimit-nproc causing avahi to fail when started in a container without user namespaces and secondly because memory rlimits were causing avahi to crash in some cases. Leave it up to the init system to impose any modified limits instead. It is recommend to ship this change in distribution default config files. - avahi-common: Fix watch cleanup issue in watch_free - avahi-discover (python): Updated for Python3 & GTK3 - avahi-autoipd: . Clear previously set address before binding a new one. . Fix dhclient hooks to check for avahi-autoipd before running. - build: Move default rundir from /var/run to /run as per modern system setups. + Other Changes: - build: . Fix the printed value of "Building libavahi-client" in ./configure. . autogen.sh improved to work when called from another directory. . Fix warnings when compiling against musl libc. - avahi-compat-libdns_sd: Fix incorrect URL in warnings. - service-type-database: Add new service Types: _ipps._tcp, _xpra._tcp. - avahi-dnsconfd: Update manpage with the correct action script name. - avahi-gobject: . Use the correct shared library name in AvahiCore-0.6.gir . Fix build failing under some locales. - avahi-common/dbus-watch-glue.c: remove Unneeded semicolon. - Update gentoo init scripts for newer openrc version. + Updated translations. - Drop avahi-empty-share-dir.patch, avahi-gir-fixup.patch, avahi-move-everything-to-run.patch and avahi-outdated-URL.patch: Fixed upstream. - Drop systemd_requires macro: on a machine managed by systemd, we don't have to require it. If the machine/container is not managed by systemd, we don't want to require it. - Add pkgconfig(pygobject-3.0) BuildRequires: New dependency.- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- Do not suppress errors from avahi-autoipd user creation, but do suppress getent output. - Replace $RPM_* shell vars by macros.- Modify user generation (boo#1010384): + Use getent to check for existing users/groups, only creating them if not found. + Do not hide output of groupadd/useradd. + Do not mask failures: if a user can't be added, we have a problem.- Drop %insserv_cleanup scriptlets: it's been a while that avahi did not install any sysV init scripts anymore. - Simplify avahi_spec-prepare.sh: OBS is well able to handle macros in package names by now. - Drop conditions to only handle systemd services on openSUSE > 12.1; it's been long that we did not ship the sysv scripts anymore and openSUSE 12.1 is long EOL.- Replace avahi-0.6.31-systemd-order.patch with avahi-0.6.32-suppress-resolv-conf-warning.patch: only warn on missing resolv.conf if the options that use it are enabled. https://github.com/lathiat/avahi/pull/63- Update to version 0.6.32: + Don't log warnings about invalid packets, commonly triggered by Windows 10 systems. + Fix issue with bad packet size estimation, causing probes to continuously be sent when hosting large numbers of services. + Fix build on Solaris/SmartOS (filio.h issue). + Fix build on FreeBSD (PCAP_D_IN issue). + Fix debug output with libdaemon >= 0.14. + avahi_server_set_browse_domains now correctly uses the provided list, instead of re-using the list from the configuration file. + Set nl_pid to 0, this will automatically assign the value and prevent conflicts per netlink(7). (Bug #334). + Check for netlink pid=0 (kernel) instead of uid=0, which works correctly with network & user namespaces. + Fix reversed IFA_LOCAL and IFA_ADDRESS checks (Avahi#355). + Don't fail the build on deprecated GTK/GLIB usage. + Gracefully fail if SO_REUSEPORT is not available. + Minor Python 3 update for the python ServiceTypeDatabase test usage of print, should be backwards compatible. + avahi-autoipd: Fix incorrect usage of IFLA_RTA instead of IFA_RTA which could crash on ARM (Closes: gh#lathiat/avahi#42). - Drop upstream fixed patches: + avahi-unicastdomains.patch + avahi-gtk_box_new.patch + avahi-fix-mkdir.diff + avahi-enable-ipv6.patch + avahi-reserve-space-for-record-data-when-size-e.patch - Rebase avahi-0.6.31-invalid-packet.patch.- Add avahi-0.6.31-systemd-order.patch: start after NM/wicked, to ensure resolv.conf is present (bsc#982317, gh#lathiat/avahi#59).- Update to GNOME 3.20.2 (Fate#318572) - Added License field in spec file.- Update to GNOME 3.20 Fate#318572- No longer install sysv services: the systemd services have been installed for a long time already and are masking the sysv scripts; those scripts existance only add confusion (boo#959908).- Temp disable 2 old Conflicts that are breaking staging. These can back in once there is a new release of avahi.- Add avahi-0.6.31-invalid-packet.patch: do not spam logs for invalid packets (boo#947140 bsc#948277).- Sync up the multiple .spec files.- Add avahi-outdated-URL.patch: Do not redirect users to , which no longer exists, but bring them to the more generic blog entry http://0pointer.de/blog/projects/avahi-compat.html (boo#914298)./bin/sh/bin/sh/bin/sh/bin/shmDNSRespondernebbiolo 1733494851  !"#$%&'()*+,-./0123456789<=>?0.8-150400.7.20.10.8-150400.7.20.10.8-150400.7.20.1107.5107.5 avahiavahi-daemon.confavahi-dnsconfd.actionhostsservicesavahi-dbus.confavahi-daemonavahi-daemonavahiavahi-daemon-check-dns.shavahi-daemon.serviceavahi-daemon.socketavahi-dnsconfd.serviceavahi.confavahiservice-types.dbavahi-daemonavahi-dnsconfdrcavahi-daemonrcavahi-dnsconfdavahiinterfacesavahi-discover.uiorg.freedesktop.Avahi.AddressResolver.xmlorg.freedesktop.Avahi.DomainBrowser.xmlorg.freedesktop.Avahi.EntryGroup.xmlorg.freedesktop.Avahi.HostNameResolver.xmlorg.freedesktop.Avahi.RecordBrowser.xmlorg.freedesktop.Avahi.Server.xmlorg.freedesktop.Avahi.ServiceBrowser.xmlorg.freedesktop.Avahi.ServiceResolver.xmlorg.freedesktop.Avahi.ServiceTypeBrowser.xmlorg.freedesktop.Avahi.serviceavahiAPI-CHANGES-0.6AUTHORSCOMPAT-LAYERSDBUS-APIHACKINGINSTALLMALLOCNEWSREADMETODOavahi-poll.diaoverview.diaserver-states.diasftp-ssh.servicessh.servicesysconfig.avahiavahiLICENSEavahi-daemon.conf.5.gzavahi.hosts.5.gzavahi.service.5.gzavahi-autoipd.action.8.gzavahi-daemon.8.gzavahi-dnsconfd.8.gzavahi-dnsconfd.action.8.gz/etc//etc/avahi//etc/dbus-1/system.d//etc/sysconfig/network/if-up.d//run//usr/lib//usr/lib/avahi//usr/lib/systemd/system//usr/lib/sysusers.d//usr/lib64//usr/lib64/avahi//usr/sbin//usr/share//usr/share/avahi//usr/share/avahi/interfaces//usr/share/dbus-1/interfaces//usr/share/dbus-1/system-services//usr/share/doc/packages//usr/share/doc/packages/avahi//usr/share/fillup-templates//usr/share/licenses//usr/share/licenses/avahi//usr/share/man/man5//usr/share/man/man8/-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:36666/SUSE_SLE-15-SP4_Update/405c1c41fec8d81a47e8cbe73ba41a7f-avahi.SUSE_SLE-15-SP4_Updatedrpmxz5ppc64le-suse-linux   directoryASCII textPOSIX shell script, ASCII text executableexported SGML document, ASCII textcannot open `/home/abuild/rpmbuild/BUILDROOT/avahi-0.8-150400.7.20.1.ppc64le/run/avahi-daemon' (No such file or directory)ELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=3755bc1605c353f1662bf3742582ebf5c46c1c31, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=1f4647673f7e8c46a6febbd654b024fea2a39f15, for GNU/Linux 3.10.0, strippedXML 1.0 document, ASCII textdiff output, ASCII textUTF-8 Unicode texttroff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)troff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix) RRRPPRRR R R RRR RRR RRRR RR RR/Py#utf-892dfe23474fb450cb533cec51f1eb821a4a79f8a338f2c0e9ff0a5e16f0943eb?p7zXZ !t/s]"k%jS6IzuRX*ﱘaCGaq1aNTVŁ/i mkcѼq$7sIf7/2R L';t+$D,UwQTomZzР~0w!,Zn"%A@j{ i])Zq{V2s oM>(5Gr&ՉU?a*z]ͤ418 x0|Πp5/I C;ws/\J=s9I&I]v {A`U2{cݷn6 f#>6ژEN.ڐ8Iϧ4z2ʃ/ RSGX=P͖eަ-]x Dt6IѴS"Z{ *RRQQݙ)%=Si~b#/o# *|֒n}-lډV5N% }Ɖi-/=%f)6~>f Pr1e?= '"DY"39K;5FG ^/uI8oLF/rA. V~ہr)JF UmҰde1μ Aʛf7JZPd}]."A"7i;-5 du1NVOe=nv8&3FUl7PEۻφ(b9PwclETuƁ$UW)WlZ媾3ٖމ"@<{8 ^>=_ / 3&N0K2F?C"9_IT!P< 5o`˛ĕe1_+Ƨ|5َ`iA}.t{`k)?lQJ_CǛQYl`8%݉.-UmxnJj-z9&YHonZs7ٳN Llz/ Kc,tI٠ SP *qenro7[qt||k-}0kcde#\QR/J RWG!C gOts_!Q$bgy ݋! - Rii)& 9gYўR_O/5 Ov$5N5TK?VQde E).g&@ޥ,GB%V5: YL@b:Î5Ȟ< Eu"K()gԁd|2~ :c6q֩@H݈;HF ZYM'H:N }v- 6ˉN,kt=-ۧYujc1"kAP7.o1ZS($OjEIV*wG\7O'2pL'fUs[}ꗌNޱhjW6}Wfz[>.K}8@0MjoFbt GR:"vDֺRrJ%*OоϼaZT?G(@ . T3[5W'I\bƣuefUvpWfC|Ov7.|]ȿ8ߔ"U@QY9mXX'`$]PY|Slj?(=8T,7c'?/ tN(]zk;g6V++FIMÓ 0BU'>>B5!zwҝyOYHI~BGWu0b<.l 1wYt3"fCȊF v EL߯ٲ~fd}Hج]qEj@Hf[*auhB" 7w-}K=xWbfJ2k6t44ɍQơov. ga&|eBfD&COGWKS5~X:'i9_"Ai @2:-ۍ.3{g~18 c6YZcv;ϠVjGyŌS Kr.:{WH]4&A ڲD;bA,;L{k@' awp먝^#O,a3Ef{/ VLQ,pukEM(te[GOJg6?rKa4|{xIZ%#~ :w^/Oy9!V#՘B{ ]!Vvc1Q>\gEٰH1ž,&LPa9ngzyl?ΘeU ´sOeFj}Rƽ/xuG~h슪-O(+. Ф{7`@NIG3ԇ"l|N>kŇ =zQ ĮQ7(֜jjGOwTa%q,R| C-X-l :h7mږ5D/%@hȚ­(̈́!AgݷԱe9u""~4!I[t ӳ`pkiE #PhTH{x:9 :f>%Q](Ue͆*te5os\$-=S~('^lJ0!=HmQevYrGYeCV޲U?jȝ@a[rAIpϜ/ޘP~ȃBҐF:@ue4t 1\f-)`e㿟^ wҳHc\LJݧ=n' L3%2G끦elO[TO|Lxr&;^yJA57;m{of"EP7v!ٍgb}/Ja']~z90sB?|1`LRHۋ#UWWbCTq*2&D>eB;k86_CLFZ\X,f]L1H( 8iu_]" "JO'u"hga=G'>]nxU-Q?S!Z/{!RWBd . o{H:(Pv{FRMHIlrO$ gKiŽ%Gz/<>kyAd.\BT"|vi} tV$!~^3xHGΣf @\vxÜ1ЩH;Ht5?,j">R{:gr0FGp4Tq/;o%hbmw<,%Y,=z.chF :/hٯ6EX}f#轧邈96wK!@2݀E]kng<f~/S- o3:s_>,2Yj*rM喧4kG[x `]*闌I_awkU;*T#?YQ%΢bfˌW:}gI'Lk1p#F;]d\7R<Ԫ ڱͫ!; kjmo\ ;L,Sc'mwV7/HgjgE` LDfE~]._ :'.?- `LX$*o#?r_B\\nfNVSf+3E-1ڷXP;s# A j<Gb@$o#'0[N]&y݉I8- 9A@VkU(PX$;?#s~ uO-^G]zIeorfBHeyd^Pإ[|]7*Nq 7n) gw[5 BA\N ,V: .Jn5( B@14ɝ"-.EI23˴;P {7 Oo\5|}wxF6(պD|VϺ ݬcߜ66~Tv)&Iot ,ȓ잛r7a5Bw0Aɻ;?9&KR"[ )ziv7]Qz:ҘI8$\P)* ?\T@_rXYܫdIzBMÙӗP $?21Hrh8ӬN{8ͭ N=n}Dxz阅hJy;ԯ-ʗԨS2<=&󹉬=U\g7a*>'[Cˡin>L@esޑdU],hZ#<7U^D*Ϯ0OV,*~;;le8 *]C.ӭt }JCo _3]n;b0Tϰ!]ppq8~] L:ŝz E^_i@ڌ]d%AڟpE<ʿk#w\VYSوfEU mhԢS 'CQQt` 2ߺv谻-ֶe K$R2+d, pI`Ϭ)dfe \]Wʼ3uƱ`b%?!Guv?IWh=- ,|HĞSU;峒 R1$v("/S~,\/1rHKPXQVv5H'aszh]ZLn@9;SSn"5?6yb:u7gzf դ@A> A_b*ۖҪHT3O Ơ[ ֹ]9bwEkݛ92& /gWqBC;RጇM('^t |~&I2#'v[iYنn }!HCEQ'woivz !##p\R;ꐳ}4lυ9Ͼm@I :f6/Vz3 R)M\wɵ5s2UdB`y",DWAZd/1/ q/ "ts{DhpvBX4lYt'r2sccgu+Ќb^7z.;+. i{FPatF?f{r v+̫Yl?@'> |nHfN42\VQ/PόfKutI/i˵Y47o|( ~FAp]Kޗ֋/͖e:sw@݉!$ym _MzNŠ9:IwOatnRP|R.$8鯽Ҽ*#X=S% u -ʪai"3?v-n'H9E{ %Ңc5T8~(>.ST)m+ꏄ7AZݹks|߫GQ1!sM.C.s*ӝ`jaoTi Z5y!]ՃR_S^3t:, p-ܱk_qU)xo)]Zz-(v=`tpG.fx`#D`IYљ͚65䜄$4 oO3 2,Z)}6D2ڊ'Hm5'UI M] 6ٯgGB2myTfE,q B;޾.&榺1q/1‚o_Ӝ´s*5 i~1N.ٜmH&4T>ؿOu ĸ )EQHr0Jű%hxԳ|%LdE3t?RX+p&jTNe(0(ZTE ;{V⽵}))ގ.? Kn]>NZK*$y$HCD+ 'QAۍr۶\0Уv0zK ۘ*P8kXKLϥa 7gns umz@ٳ-.YB2q-g|H)\$p._֗m{YӿUK2yzh]0`$?\ljmQB&Ccl7b\&?6i jSGߒl \%.oP|^gI#w9Dj!#MWRKjuR~@#đƌ?JBբ]Cd~5uIz=W4Zۑ\Ў L-V'g>C-a6׃;R2=G*L;0 (9A*-̼.`'8 Olm}mi!n3э;46^^V`L>dICG ~M/)`ɢD ~~ӰUUp-Q oRI>zik)WBG%P~q}dzp81RU 쭦&5ܤ|.wR =Df}zojIRYhfѮ.o"/ |1?+-m[ 6uO)ܹ׬21jR?P/\OqCyYhJϕr(\$m|6TX%E]{@ͣ=^|QSR7褲Sf<Q ډi7XAa9:h3skwt)1зf@'x"qτEyq=Ū}ςZ]QGO’ěP%A?x~60Wpf (hQXj7-PT4xCB8BzfM7چ+,l{996"%%bXԲG\:^S-|'R%qD.H$:!(qj K~Rfn! uB wk[d Ȗkgn*9oqo]sbԌ;N-x- \Ng 'M@Vh?>L&0if]]8%fq?VAߏ.T(/(d1EWf;$s.\ \6IV(zB]/rr{S?.J%{#j7ڇ֋&*yz!{{I;rr-T^fqR2igNn%@Cva&LMAM$TTQ~2rjjELסMaW^ÕUC Av*5j8O 66vEyg+0t~^ъɇcY%۸jd*Z" FOĠ j-=uc8MDҎvp`joS~qd)bjWAIdORXrId4mȓ UY{8.Mq|[Ad>NI:ItXY<`y|1ve|2кdE QSm CzyQ5].k7@!Ko9gry}>PՁ qEJ@F'LگzLoGlƬfjϙ"]iWqѿ3?h-4̋jNQŶ_ <`s|̛8Qݵ9Vs j?,.]6&3mY$Y';uv,]e4f:uY#mrJ:bOw!oI˴'`R ]gc;$2a `>-  'ýÌcw;`CFEKJq=O QGf[nC+]OMG ɶvDM2L:xKC[nZ{L$>y-i3v&%Ho!,0=ì?N {#'9D*|1Q{%8e[2OoiasvE*B=-~7FA5ER<|/쁎0GZ⑎!|L,~;+a D,X*^aEt=OWnkh~6/jXiKDwQJiE MMsg毰+o#y{g~p3Sɾ'j]%re~^ixi8[Ǐ% \߬{7dwO1<,yH8L1ʅ@N8)8q5߽}_IӺU_ܤG%x 94a^Q M +LcD/Kq)ͷ`͔jRPwgIe39f:RԚ5#]hJe1^O򳤏d5唗,ڏu0"!@{m5`)L(3b !yݙ 3qԹZ@Oo\6m k($bPg*ֺfbdg|w|L+3S;L,}TRE o6}𻪕gT8L`AO5)+ _:hfAb@TЄXȔ# Oi.\&tusy:4Ig-5.JcXE3i$zrVEm$߯oh?t\rTgaFEm' o"Ua"r܇WnWp*;_2y'(3=3fjLDj0%,JdJS%@t=?%)a! 絏J_C9a P5 ~p=a`.C 3E[\E&':3seuǴJtd3)c,t#/P)*1 {z::I籓|j0:@#56ۧWzMS&+!:t8"v 9"4xkC ~a esٞ84X4؏t8(/Q3Fq wOMLTO7f _j߰Kb{j]]CmC6 |'I=t O.̈"  (SfDF?5ѥ0YZ $3KIGu% -f0+otJ9O^j4{k{EWOr>:tsjH\^b݂fds'G]t_gˇ4[ ]heyŻŤ,/!]C | .W3(]/ Ʉ"nöXG5_=~c^,-T-؎u^ Pu 4#2jȒFiSLh%~/g 4 VnADفV5F~{WAu.h@UOJ^lr*#hŒ&-;M5/f4C1[ s}L_諂vag"I9V6;Ek3&}_@ik 0M X*{8}M{k^sGA!D(5upF ] 'WS^&@ڤC72iLzyZ'˝&tpR:g7 R ^U ob BwN\͐%ֻ;B ޹[Ȅ/nl%M?R]݆`A$}gBSEa#!9&`z~Ϸ0u.ޙcw/nUDf>`˳YHZrrwLn_A]!Uy粄X###R$s+֤Q (ʣtJlm{akѓ"hB|F 5l&˔&6C`ӂHbdǟq|dA*_/ʹ }jn!6&C~?p'zhW."u#~ QBr)GQ3rp$i;VsKvs+;釵 ;p6$[lD)}ppRƞ0E);| n~.A-6[^h 'ą6a#3.bw $!#G &qw1)b\Aw᪅x? LZm&yAO" Xcfqx7=AיW)pIً¿=a9% j\ ~aUo>^u3{T|]Dļ@^j V4z/K@Rcj@`RڝK_HֈG4s cOq&&Zr噫kO:%G.[ugЀaШ3Ub l4/gj݃Oۦdx/wE0W\^GlTnW+3Hེyjewǁ sf>5Y~u&nY1tDαyUkM ̼U9ʎG+OJB郱ЊS=ZL-7sn@ R%$Wt,a;b n1%dʹ'gD?:xANiLb:039OX]_;䅅C7O-$OO缼IڷETӅl׼lƵMWݞqβWH#'ߤ:BF_ fst˲/}IN qk @7pct|LRe.*òkX:e"`g%*QYH;GT"sm(6pck105KN2>. ;Ćj<`9 &ՍNٓc"$2\kʪ5'Z~9y(l6'zƆ@>*8ͧs8qy-.{Biu|#C!K2ڕF)`u",IBQb9}&Sw_d8jx6FT4MשI=)p9t.FA,2Tբ]V:7}O0ˊȷ&.AZpel;@gg !םs+ a!F{X)]!Efך#~7i@BP,Ö1sp,XpWd7ymf湯A(F/NdBہ{sg$jBY~$Q?bun15FWE8t4v?l9DY+cZ,ՁpE!S{[ӥoB|LfPc`0f&Zb4^xxVQÙ/Έ͋{-3B\ TJ8g*d)} &3WcU|">BQXy ޣu.H2 l5ot30ɒ/@7̄"Q>ĸI_'uXr V '%9ý~ı*sW:bZQx/M)vf&n* ٌh4 ly\p9G)}MSڒ14ye.+]3:9Փ;׷Kl/!W5 I}i;T8LVi'R95È>3T"%u3݄'x] C Q*U ](b^tjya`Gduq֡ PySd@oqTy^J0R#%cdeY{_5𑤚u;3SE[r2#L…. ' U_n:2Wj@S_TY\NAt+23 7ߤP! n;i˹T L'/1 P nJi!}4k_ZDVy/t[*i+^FT.4Gr"?xsy T s,9dv~ܻ+<^tb4Sh^[z^Hw9KI#kOxgS.#gdR]y(rjf lQ9((  x٤^PW pgLP8ˑmT|;š./ FS6'M^fqp"Izd7G/';``=G\YI6*,'J;ԥ@8e*nmX2o,jy`]5az!NVd·D蘾?7V$5^C0>r3 ́</15 ʕByȑ B@Ǯ6iВY^=z#_}L=$y7_"9,cj bӾC3ScG7}"~lo'q=/^8.ׄag%ĭޟhq9ay~о&=s!@XwjeP%qZ =kSFG6Y (zOc[)R~S޶jA[N%^oY~+UN>G2V}ccEZ: ID!v3Oi;r쬳x?ЉVY>f /Y>H|q p j?Lor ީEc-"qGp/D vՆhcʵf9?4)G{kJE޾+0|!5zBpzsĭ^2&4ghfIXϧ4xϣ fҬ:HQ ȯ *u@ߤLy\KݜSv?Heץ!Q' 'h w&Wp`0UVAF^]J^N G>6)C`c2|WMDG!bk YF^|W"Vi`ŵ9yPcyHuwE0nFkYB;Bԉa$˾eVqtr:}5+N`A?mJzOd 6Kbt`tZv5vhWeZuY|Kpva_UmylnJ`.ɤ66>mcږzd7kw\915U4I7R'iu5kz9`M\iĭoaCK:Dq ri^d[^iZ^WoN6Hsr;p30ѹ)I`yR%^=یY^ec`5*YLf*߳.9ϛJ)cz@r׆Ύ?8V0o;ca=D5{r`rw{'/ZʩwbX:ӭ~KDjP&J0La~V6^,j$퀱~xXsuٰALKMSeo6 qvЭ"X*iR¥G5 y昢4 #:IN# _`$]s5!ef.g|Qa;.W&oJ 4iUaHvm>#VQGW.=Vʎ왗?b v| U ~- ֠N-ev6[ 4[Vu񤂰:SN=!RQ[%G҂ͤq ,z37 "i|Tl ɭaFsM=w"dOUlWd p؈=ʛ1VW> 2H9/ q]V^ RQGAXq$ED:)Ge6:A>T{M=,VTP˚㍢WO\MmqI!R Aʵ11D7Yd$-Ch~^ F OFFA ¿PŇNu(P4 ٴg 2 "~mhZ>?0#}}k|kXԛS D%+fFǨ5|PO Զ@`f1K 1쌱M"mi,W);РdgF1KF> ,v^%e#kٹSw- (+Bu>Jf2K,Ng#4GK(8Sjn8)w{61= d˚S=>$lŋHOv~oCR?2*pl&7þ[vGt&%wb| |n2K;yN)Vq"YndXIzP(#@i/Xb Ș&okδHfKjj4_4Ro(~6(0 XwT+P~ AMV=+*K.!g)?O5bi|+8ʯIh[._=%-:|Hk[wy>I#ℌt{eX"=J;0c% #M(A2ʓ׮؀0mxτ"LѦqT;=; ed.qFA)t8I5QyyJuiC < VȨeO$~>2%2(yT]<'aPQif4zdsB>EY G5Ng2.ƕ`,DtlgL# XYMV 0Gđvb6}MK-2]#6}KT󫈲C%澟Cm빚rOjud@`nC-C5vdMax2ib~7NAD~,d>b= !OϭSfdlI|&AU$FXE5H߭ZzљgX?1d<%j}y&vpi'>e ?IB; VmbzE:@-. ̈́|A&dLm wnpK!)07B]`$V5|5a')KQhT`'yɕ=#iΛr=:0:5ݶd1v.MKLY |}i/}ueV6W^[7hJCsIuk֡d>LԼ(Ru(XSnyY -g!?h.ȸR[b H!ã=*!nRXx )cNp۞:n#Z`0iZM'+@&< JpxPِގŹIj O_nё-,wdR vFkū69$UD)c[oxwP~'֞bT8}ɄC%)8ݕ wb.Ek{@89/ņNbs;yb5xa58wD8-kJ>8ɒeL@71CS-#kHS;v;XƠ97f^a UUa"vy"I͖ ӂ\*?74{MT1]dD>d.bHL أQ&A7,2 7veJiZ?ddh2f(C }府J>d3* (qZAObQA Mu0D"YĤQr^5 e:ucicv7t4]1L"klV8A)b/ 5m@x+B?V)ѩCE8{bs%&BVZ!@!gqq^CĚHE( ÒsP@úF!aǞh0WjaU 5ӿ[W 2+o0â Wdr+/d{ c6-SUU߿m}ħGHzK;2%Mkï/\5o\(I/؅e]|f7Nn gLjR383G!%@(ƖE4̸T:07Ɨw1JKS,bn]`ZICz=z>cڨo|Kk3ҳ:YDb@} 61ȴ-+S=]U.h l=[AX+m\UJJ4]t9_D\˵fN|yNE^~]MnZ=bm G6qx ֓ S4|~VO?+td8WŪ.gy[+CŶH`pMjsR)\CS+(FP/7r9QnQ2/fkN wn &ػ{\-.;3IZSMk*N㺺T*}r_ ЉL´y݁Dr"#'`b>Ecn{Yp_Kዦ]ЩiW@LRnkl*X*d~ACo9eF#Y=1[hӱ4dÓeo7u;S 6= W{VSnݥ*i I"3CP7T>A0b EH:RMM(@zQ$ HKa›R,yU.-{l a,5Gyp*F]ftSbdݿb,HeMaݬP n䈳S<q`8#zzG˗j"[3bsd #FIK Sݹt:ە庐-v;ѓ}6{2ٽ| @I.Ka9luf]ɔs5VyƟw^QP;-ZAk^pn\G.5ǫgz'c %: w5avZ#=v$w(mx#'ѐSAh&*@;IŚX#2vրZ95a-Y*j )ah}lˀq7tZE>U7dljS]To]bw \"TBPܣqZd!W$h$N'BX^LvR^^I>auVV؅">DE-%WC?">=2kpp N-wl+h[  b,(6@WzO;5k~YE d(P7߄gBmdиCJFMФztޙ7czz~wU9ԪR*J%@Ux1įd7mJ:FՍ 't.[_ˑfs _!;6bA: a,ҩE8Vc )7;{ᡌk1$`cdԅ!UbZ婁\NLsSms'&O*n#HjRص_tTÀW` َ[Vc__87VÔW|JJÎшI Y%% ]ދ>oʓOɶ|\X#!Ow#$l@1M -P&(=3kY w$z$!\@hktA@@E3#=\6of~doI4?3C{[a$塄h2p{+$.zp0Ӈr_ ynewM!b5߇fELM 9(̋JaX|4l5m|A(LWf 'NJ.G!1Q:H7AJ\ۥu_Lu1 HZwxvJ1~aKy \dZ텊f nP'k}2@n7N6}2 <=wؿ2 '/}Sjy!2Sg!M`QD7( 9E˸񅌶bʭ_5j8IibZ}`eƬԶ9ˬ܏]-PyB-=ߗF0>i2uZ!`vVT#xլ!5Siap麿 D'zW~X#DP]Oi]=]@;2N B>𽟣4#K L6R``I%IM|]u99Iw,/3, A,T@h]GVqRC*+va?Y5 |.BʼnFFUA?]à y[]Y%1U"D~chkP1 Z ;lNnhEF#fwp h&+S`Ԭ~ OT\QHQA$[|ft ߈BbLG#ÿWf^YѲo1_% Œ%K?0\B^0w< یo-U:0\ΧO ;ң3W*Of3ïӞv!Ooɳz .U8N }xtvhMY\.EFANT@G@J^ C!~W)9xiI ď`z"*wdwZ߹c@nFyQ (YbJK@0`+d8b{s塳VpM9߾j:kEO" 0e^/gpDCUlY,yH1]Z7@ﭰ ψ UaSO-\) fק/>R}TPW{WOw/|c2Rɥ!AOQq8F5E9`P%z h"}L/1b 9ea~[܊7)?%X !ަZ^y~Rz?VB Zb!嵵ƖxF٢JZ߼nZNFv <3lG[37䂛9ֻ9߳o}8f;`pQ{Gv~&"Z 휤Qi)'/uhZE/FĐSDIGN(֟ o|ie@F; 錊7KeUa@ ㇃ > LhH R))tˬ6GC:F=O+=K3$n-n&=jV7TkK_െтbd~Ҏt{5"eXj A^h67м}t* 0* ;o#nOv/8&YJa>㆒.Z@{Zz8AAX!T/ o%\Sp W;9CTKDkiHbٕpřꮫ2)ykfح5AiM e'.`z/Zt$^~ ' ׮PMy1nI:ȏ׫۞q^lj--xHx<*聆~sTĘGU'n{L:|@r-96W?^coJߦOUx[C^ZȬے\.v^ uAT 鲦;KLpQ Nb2 EQg ?qw '0PR"8;y%YT:;EM"Dj>HO-)DŽ?9GV Ru?u2z# Eo}7:Gve]kX@ɮꢑ]F]d [ u XqtD0t\?tvF1KV~yk"fIlY:'}IjX1;9l#C^u* sܹ$NNF [f6t;:  LUBb\:*8x$01[(']:geґcvoy|<6)Kcfo܉|">^̶|Ud`pՔ'}ݰ#d-CH <鈠H!9?XUd$PQR~ ťB|Wjx Gf|X~6g*BLzdVLA Զ"! g${]<26~P.F /o=dCNa)!hj ~iS$!K;۝(Q0~_Ǯ%~\IJY+?25ʛg0კ`8qHJ}Y\2τM"vbƁ`sHPΥM=ܭ쯎>Ć7c *!ড়Bĉ0_=9PC^MḾ8ҷʍAa9<]CJek\AXT⒫Ʃr,=ddO,!u 2Zܖ6ݏ&q]'iA[S ͅ2g\S%\7V| :)yh}Wѷк1xEsЬUxW2S㽹,sSVGcF8Celkaw^'gcmk<{FUFųvK6Z<[R!ci$K%Dž*Ok^TmXOH"Ioe{0o@JAPNC2#gh8@-߱U1J~x':zDH][4Ӥm+`|?O˳H#M!O[;v9ֲGW[oϔˠ F0E)~aGKgd;c.-|NxOo+3Z(UI{w&^rZd_]TP qn0G?*z!>|>)vq7؇&eAALչوK#QS$TNHLGz[ G L b^MԹUF-yvs@+ūYn>KÝpR6tǕY> Syz_}aZǹ+؍x3!Bng-*TWRhX*rR'&o{mPÞ#<֪Y??W;CmI>ne J5*$8 mqn^qe2Z =89jy$ +$L5t@h-2A\ `q+deMZHB{uX L]_Z^%&}J^bQ! f^. kK|e0צМ|[*&2s*ܛ xMץ4!N0MX%w1:񙘸yQBd0anQfwo=arΗ@s[n!CC%!E~;L & 掯@42ʟ&И=%PƩz:qu;#RvKR-Kv J.P>Gxc3Y75kh__!2#WDטPQƁLBtg qW4=oPMD8[F]&w|փ8| 6OJ.¥P[9E.|4m!M Bڡlr&Q<~! g{IMY=Tjl g\62CF„36p7Ķ(T-555|a֣]Kɰ~8q֣QiCC-sLE)S4fo|ffXǮC ɞP7w eԿ){ GؑVit]iΎ+2# z"B$./ p-?WnD*"mu=Ae_u'~, c~BYԛ 1Ff|P Ūu5 ߖ&a- der20oCUvX*6s- 5RZ{/bovA<|%R J{]FP0}S񣝒44i4ZUiSmV+ i%2{*CΨ@j!v?yj49`l')w̤:0IRhdPcKV%_rLI)PqK8PޮBw8Y]&vyv@Wӏ^e$*n}a ɗ&U~6X%Kg``m]cqӄ}D~}Kԭ~;wPUF a1a3TvQaKifE憫ɛ]xhjZzMuZV]& ֩-Ĺ>CkX+@69bdIB*I!VuE>[~iXrDc7GތK1]+pK CJP]2N *$#Kktj[d/U)7Yy&ȊZks˒ i\s1nLJ(ż̼y=^w7BP˗21Ds&f#܏0ubWcȷ0)NiY_jf2*mTOh=_%j+\au욂`jșV<6MݢV _]k&9f^/pr'(8PC ?lpxnYӛ Le(KfSdZ0(x{Z:'";'Cs̽P Qp8xLv:]8zREvZ`Qj Aˮ= xUmHv4xޅGRoʌQ\wGcL 3pӟTF{BXr;n`G0+hYN?v( ?eY @S쩱[!m2#@N^{\vMsfA:WV$A~0 9U Z-I1¨/'{pT&c"|n^zwrrxqh,R 4>A˱ jozm}*:=l _lNEP6"|`RHj-nV"k4P6a*ԃt;CDn[R_ QdEKi-Pdљ%&7->O}prXHExfz0ݭ jOY Ԯy{7v̅˶*R{ , ~ylJw;9[u>oL)nsNh)1T9Io\6G#>T q{@$rh~ĺKBTy>|u9]ϩw/(„zY!Z d:-)S5!84[Tb&fXGG#}«2U;%G[E=k*6_5ޘQXv*ә^|L/υ+ Rl8xUYέ;(yvrʐ >ͨj[**, Uڗs8 @¯i!l lKuwfjXpyOwPkMI萌}DjiI$&5ת~LQQ$帽f{DZ A1hWlr[aYWt+K~.'#]@yʫl:Tպ@؁ P @+2GܺUυ\S[13jZ2dɴ*爇i:F$?f$;-r5Eb)"4B#o5!`~:{ ,[z`$<d{f]ӌ&Z#{5dV0 mX}kƑDP:"J5ySk,#_F*EŋM$Di/ݩw!0,x>RJalL3bLY*~2b ~p0qJ$ @GCxOftr3`7u2?݁zuL!wJII$G#u<&pE|G!wd&Vs ׫ }Z'0 I{9l%]ixf #1y@qA`:ي}xz>;C5HJThp_j[z1O0Y<͇c%][O %)i.ͻP @nI&b=l"^P=Q~jf64>Y:*:S QI<,epnq:3)(%m-G eJb{q &>kp}`eX_af {K=${iֲe‚#U8?{ҰtM2o{~\ڬŖyklG"+HƟ=ĺxX7ⶥ >t!`$ fhOg" sIOW.DG.,e '޽]=&wʹf;<3ջ3֧ rDC(/ר}UJ~ҰܖvBXO?wi=,Pib~<&ưw-^҈al@k$I+0˺\1uG~.u‚[U9 ӿx)9UOc[BJԓ'#Y\rx)y0rT8Ή5%4(wj.M/\Z/NippbU?{?Ej&(.vGxm( ]𨜮l}~h7,;u*z]ohY$eωQ?f7l"w(oZƀ);`pg XGabU^Dwj)q"va8UQu4!y晏1b2uFYHArTՖKê'u*٭/+šgjkc`և皈 bo|5}*a< R/+T΍U &ET NdvUrj'= :аgNʞ'FsL$6"᳌€ch̪2vW :ZLK"(RcA^2|w@iihH,(%W`'fmqй^,?V]5 ZwJpݛf OߚE(s^tʽlr@(r_ogrRse?4N8EQKamz[2 4t UxhIfpξXbX7=HtѿE %Oz3!CW#x0NM%zS 62@O]yؗ|eJRj@ӃT~;d4ٰ;ny;{6̧߲>gUQuSOd YZ