vsftpd-3.0.5-150200.12.12.1<>,܉cEmp9|}PR@r헃T1N]T1 (dV= FD*rq+-,de~/? -3wbx[mSG;bISh2. Ƞ7걠UcG,\/^0 & jq q5"LmT}-\p@@ߵq^d㍨ |CsnR^ !;gV=λå'䥳u! C >;z*~̳_u^GIdbsH;U>Fkl?k\d   L %Fj  % B88 8 `8 @8 8 88808 H l8!L!|!"!$!($8$09%0:)0=]&>].?]6@]>F]FG]\8H^<8I_8X_TY_d\_8]`8^bbeocfdfeffflfuf8vgwi8xi8yjzjk kkkXCvsftpd3.0.5150200.12.12.1Very Secure FTP Daemon - Written from ScratchVsftpd is an FTP server, or daemon. The "vs" stands for Very Secure. Obviously this is not a guarantee, but the entire codebase was written with security in mind, and carefully designed to be resilient to attack. Recent evidence suggests that vsftpd is also extremely fast (and this is before any explicit performance tuning!). In tests against wu-ftpd, vsftpd was always faster, supporting over twice as many users in some tests.cEmsheep09SUSE Linux Enterprise 15SUSE LLC SUSE-GPL-2.0-with-openssl-exceptionhttps://www.suse.com/Productivity/Networking/Ftp/Servershttps://security.appspot.com/vsftpd.htmllinuxx86_64getent passwd ftpsecure >/dev/null || useradd -r -g nobody -s /bin/false -c "Secure FTP User" -d /var/lib/empty ftpsecure 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 vsftpd.service vsftpd.socket ; 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 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 vsftpd.service vsftpd.socket ; 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 -f /usr/bin/firewall-cmd && firewall-cmd --reload --quiet || : 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 vsftpd.service vsftpd.socket || : ( 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 vsftpd.service vsftpd.socket ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in vsftpd.service vsftpd.socket ; do sysv_service="${service%.*}" rm "/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 vsftpd.service vsftpd.socket ) || : fi fimJ>Ehq@p6}5/pe2Q$p}6)Gp8+AA큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤cEmcEmcEmcEmcEmcEmcEmcEmcEmcEmcEmcEmGǿOraqGGGGGGGGGGGGGGcEmGGGcEmGGNacEmGGǿJ`iJ`hGGGGGǿO|GcEmcEmGGcEmcEmd924ad4270611a453564df16c199410d08ecb3544ba19db19f3b12645a68859aa56c55569c44f61aeee475344dce61f4ea18df08c26782a1013f78a0f14d9a0b54a2643bf511596dabed3454abb2bd3774041a5d3b90044cf015e6e60469e6fcff59cefeded709da635c1212256e6d417d82fa456319f90e4db85ddb03f7d1a281874ef8a1abdad9b7db89f7bef30c53a4f10548df9f649b7703c15605c194799fdbfd2ec0207170371ca3cf2b0ddca2dc2fe3d062e5792e0d3e51474c3198c96f5f21db930b9a8d89b56a6654780954bdc2a41d2bc9529c0b8efb3817c45ef1a74fc92992467069c42c82ad56811b747c3211a25109b34a19e82b0f089e37597dedf833fb8a3bcfa96b48d309f3892b3ae3340d271e518ecd998750fe11a0b74690662cf0bbf289900b0ddb4c2e0cfc555dda870633440d852f7d4b1b783d61fb32f8176eda6b27a54a61d14165b03aeaeae8c6d81a4c995cb121ecabe2a8848b12b05b7d664e344d4d59a26c3f6b13c645f1b53ce6045780791350b278606b4326d89a39bea92a0dbcaaee0f658d7bf810c8f322688b6b1303f3b357a0971ffb26bd0055e5875fb2d1083326b272685de7b017da65000a21f99081c1a300156ed67ebc32ca688633732308ba23c7601a463df9a8f6d4d349cf1e0fc770c8f5ee162751cf714e1ab6b5894fd08b0a95e788a462311cf7da47988ee5fa55aa6247ffd29f468e22eb304a368bb987510fd44f0486894de293dc7dbd3d48e78f5c4935bc943f442e358d7a9c81f4ce2ae1ec098543e726868d423eac55beb91b7b87274257549cc60d5fd2d873326b22eb89a4d8199bb5841fed3bf6c82b5494f2519b63d63c4f1517a1e7cf3373f19df4c8a697d1823814f425340bbebf5fa8f17dad436bf918a2f81a540847a9a46946370c2d796ffd5bb5d98cb8a69b2e926e181e70be2fcc7d0dbf34f8626e2e026b10ee91108f84dea93670caac57b394c2182acb8b70a360dda945df11a1598cf493774f017db569a57f07447119bb0713c55f01df06b2d4ef2c26d0d679c6782a60331fcb0f3991d0015458820819893b60b8129dd74b2e4779f1ac8344127e47a7847584b8cd79eb36a055208ca553e3517941f8d5bbb5970cedbef05d0593cada2185557053b9574c11524841d80749041f854a654fc72e6d173d62da1907dd14d6f39d276b20e02b0b1ddca6f54b5b61de85b72629f20996b3124be21877871518388548636459df9ad6cb5a3e31ba1f0b372b2f63fc08f5e195f0d1e958dfed03c57d8868a3f90317bcb3125852289cf0afbf0552928f37cd4b068a2cc039f4200175d65dcead6701de158a17c95797d0cab32f477176059b7799b3f92c90136440aa84ee7c5005f0d964a311df66595fd71183207e0297b8ea5d1f0f2ad1681e16c1df530ac11844e7fa010e7d5490c4a70c9df7c3b090e7a1822f3bb0cdff5a559a4cdd58f98c9536f23c5f43ba47a2ac8924cec7a864d3482f2fdb9bbef552c8c0123b8647b6ccbfc2d3cf717c0662397b33b84f9827d238703e7ac36fa9f129fa227640956bbf87e0233cdd821ce6627358df144f933424c8b81c40d70729bed51f634c6205ac6b8da43eec413bc084f62d987705c810dc2512fd4eec4269ae5e1373c19b9b21e5e089f31e173f54cac8362cd97c646c8e034e4676c2a053660b033e2011fe24297e93e0a74ec9cf119e2f9dbcf187fb805ba5aded105db26a693803636fb7228c98460ffbf22225485a2ca5e00cafd96ecb4336cfd34dc6064ec16f560c1d7b26d213de6e8162d8a843c790e33c5fa18572a4d4d7c7e3152fe5aced2769cc357d6ff8cef2d56477bf3ae7199ce5c0604dc83fb34b04de1f91f96929532c4918c32caaf94bbaservicerootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootvsftpd-3.0.5-150200.12.12.1.src.rpmconfig(vsftpd)ftp-servervsftpdvsftpd(x86-64) @@@@@@@@@@@@@@@    /bin/sh/bin/sh/bin/sh/bin/shconfig(vsftpd)group(nobody)group(nobody)libc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.15)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.7)(64bit)libcap.so.2()(64bit)libcrypto.so.1.1()(64bit)libcrypto.so.1.1(OPENSSL_1_1_0)(64bit)libpam.so.0()(64bit)libpam.so.0(LIBPAM_1.0)(64bit)libssl.so.1.1()(64bit)libssl.so.1.1(OPENSSL_1_1_0)(64bit)logrotaterpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)shadowsystemdsystemdsystemdsystemduser(ftp)3.0.5-150200.12.12.13.0.4-14.6.0-14.0-15.2-14.14.1c$e@cd@b>b a aՈ@a;H`Ȗ@`D_@_u@_=@]@]@]@[ @[4[+@Z@ZmZlZ1@Y4YA%@Y>@Y.@YtW@WWV@V3V3V@VaU@U@UUJ@U0U!#U@U@U@U@T!T@Tepsimons@suse.compsimons@suse.comschubi@suse.compsimons@suse.compsimons@suse.comjsegitz@suse.comfvogt@suse.compsimons@suse.compsimons@suse.comidonmez@suse.compsimons@suse.comdimstar@opensuse.orgjosef.moellers@suse.compsimons@suse.comdimstar@opensuse.orgsuse-beta@cboltz.depsimons@suse.compsimons@suse.compsimons@suse.compsimons@suse.comvcizek@suse.comtchvatal@suse.compsimons@suse.comtchvatal@suse.comdaniel.molkentin@suse.compsimons@suse.comkukuk@suse.depsimons@suse.comdimstar@opensuse.orgtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comjcejka@suse.comtchvatal@suse.comjoop.boonen@opensuse.orgtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comdimstar@opensuse.org- systemd versions prior to 244 do not support the ProtectXYZ directives we use in our vsftpd.service file and log warnings every time the daemon starts, which confuses our users. We avoid this issue by removing the unsupported options from the service file when installing on a distribution that comes with such an older version of systemd. [bsc#1196918]- Apply "disable-tls13-to-support-older-openssl-versions.patch" when building on SLE-15. This is necessary, because openssl_1_1 on that codestream is version 1.1.0 rather than 1.1.1 and that older version has no TLSv1.3 support. [bsc#1187686]- When building on Tumbleweed, move logrotate files from user specific directory /etc/logrotate.d to vendor specific directory /usr/etc/logrotate.d. Builds on other codestreams still use the original location.- Use rpm conditional to build against the proper OpenSSL version on all distributions. This allows us to update vsftpd in all maintained SLE codestreams to the current Factory version and mitigate the newly discovered ALPACA attack. [jsc#SLE-24275, jsc#PM-3322, bsc#1187686]- Add "seccomp-fixes.patch" to fix the syscall architecture offset from 4 to 5, this change was documented in . - Add "vsftpd-openlog-force.patch" to a logic error in the way the force option for syslog's openlog() call was handled. - Add "vsftpd-seccomp-getrandom.patch" to fix a seccomp failure in FIPS mode when SSL was enabled. [bsc#1052900] - Add "vsftpd-seccomp-ssl.patch" to allow stat() to be called, which is required during SSL initialization by RAND_load_file(). - Add "vsftpd-seccomp-wait4.patch" to allow wait4() to be called so that the broker can wait for its child processes. [bsc#1021387] - Refresh patches to -p1 style so that we can use %autosetup: * vsftpd-2.0.4-dmapi.patch * vsftpd-2.0.4-enable-ssl.patch * vsftpd-2.0.5-enable-debuginfo.patch * vsftpd-2.0.5-utf8-log-names.patch * vsftpd-2.0.5-vuser.patch * vsftpd-2.3.5-conf.patch - Apply "revert-undocumented-config-file-format-changes.patch" to revert the "ssl_tlsv1_X"-style config file options back to their original spelling. The changes that dropped the underscore from the version numbers in release 3.0.4 breaks existing configurations and it was never documented anywhere -- not in the package's changelog and not in the packages's own man page. - Apply "use-system-wide-tls-cipher-policy.patch" so that vsftpd follows the system-wide TLS cipher policy "DEFAULT_SUSE" by default. Run the command "openssl ciphers -v DEFAULT_SUSE" to see which ciphers this includes. - Apply "vsftpd-allow-dev-log-socket.patch" to allow sendto() syscall when /dev/log support is enabled. [bnc#786024] - Apply "vsftpd-enable-sendto-for-prelogin-syslog.patch" to allow sendto() to be called from check_limits(), which is necessary for vsftpd to write to the system log.- Added hardening to systemd service(s) (bsc#1181400). Modified: * vsftpd.service- Update to version 3.0.5: * Fix ALPN callback to correctly select the 'ftp' string if present. Works with FileZilla-3.55.0. * Fix a couple of seccomp policy issues with Fedora 34.- Update to version 3.0.4. * Fix runtime SIGSYS crashes (seccomp sandbox policy tweaks). * Reject HTTP verbs pre-login. * Disable TLS prior to v1.2 by default. * Close the control connection after 10 unknown commands pre-login. * Reject any TLS ALPN advertisement that's not 'ftp'. * Add ssl_sni_hostname option to require a match on incoming SNI hostname. * The options "ssl_tlsv1_1", "ssl_tlsv1_2", and "ssl_tlsv1_3" have been renamed to "ssl_tlsv11", "ssl_tlsv12", and "ssl_tlsv13" respectively. Note that the man page has not been updated accordingly. - Upstream has a new GPG key (7B89011BCAE1CFEA). - "0001-Introduce-TLSv1.1-and-TLSv1.2-options.patch" is now obsolete. - "0001-Introduce-TLSv1.3-option.patch" is now obsolete. - "vsftpd-seccomp-syslog.patch" is now obsolete.- OpenSSL was updated to version 1.1.1 in SLE-15-SP2, adding support for the TLSv1.3 protocol. As a consequence, some SLE-15 applications that link OpenSSL for TLS support -- like vsftpd --, gained the ability to use the newer TLS protocol, which created interoperability problems with FTP clients in some cases. To remedy the situation, "0001-Introduce-TLSv1.3-option.patch" was applied in a forked SLE-15-SP2 version of vsftpd. The patch adds the configuration option "ssl_tlsv1_3" that system administrators can use to disable TLSv1.3 support on their servers. [bsc#1187188]- Add seccomp-fixes.patch to allow getdents64 syscall in seccomp sandbox, fixes bsc#1179553 Also in the same patch, fix the architecture offset from 4 to 5, this change was documented in https://lore.kernel.org/patchwork/patch/554803/- Apply "0001-Introduce-TLSv1.1-and-TLSv1.2-options.patch" and "0001-When-handling-FEAT-command-check-ssl_tlsv1_1-and-ssl.patch", which add the "ssl_tlsv1_1" and "ssl_tlsv1_2" options to the configuration file. Both options default to true. [SLE-4182]- Use %{_prefix}/lib instead of misused %{_libexecdir}.- Add pam_keyinit.so to PAM config file. [vsftpd.pam, bsc#1144062]- Apply "vsftpd-avoid-bogus-ssl-write.patch" to fix a segmentation fault that occurred while trying to write to an invalid TLS context. [bsc#1125951]- BuildRequire pkgconfig(systemd) instead of systemd: allow OBS to shortcut the build queues by allowing usage of systemd-mini- firewall-macros should be BuildRequires, not Requires(post) (the macro gets expanded during package build)- Extend "vsftpd-3.0.3-address_space_limit.patch" to mention the new 'address_space_limit' option in the installed vsftpd.conf(5) man page. [bsc#1075060]- Apply "vsftpd-support-dsa-only-setups.patch" to disable the problematic default setting for rsa_cert_file. Upstream initializes that value to "/usr/share/ssl/certs/vsftpd.pem" and vsftpd won't start up if that file does not exist (or if it does not contain an RSA certificate). Therefore, users who copy a DSA certificate into that location or properly configure a DSA certificate via dsa_cert_file without explicitly disabling the RSA certificate won't be able to start vsftpd. [bsc#975538]- Don't start/stop parameterized systemd units in pre/post actions. These units cannot be used without an explicit parameter and attempts to do so lead to a confusing "failed to try-restart" error message. [bsc#1093179, bsc#1010177]- vsftpd-enable-syscalls-needed-by-sle15.patch: Enable wait4(), sysinfo(), and shutdown() syscalls in seccomp sandbox. These are required for the daemon to work properly on SLE-15. [bsc#1089088, bsc#1180314]- Add firewalld service file (bsc#1083705)- Make sure to also require group nobody and user ftp bsc#1070653- Add "vsftpd-die-with-session.patch" to fix a bug in vsftpd that would cause SSL protocol errors, aborting the connection, whenever system errors occurred that were supposed to be non-fatal. [bsc#1044292] - Add "vsftpd-mdtm-in-utc.patch" to fix interoperability issue with various ftp clients that arose when vsftpd is configured with option "use_localtime=YES". Basically, it's fine to use local time stamps in directory listings, but responding to MDTM commands with any time zone other than UTC directly violates RFC3659 and leads FTP clients to misinterpret the file's time stamp. [bsc#1024961] - Add "vsftpd-append-seek-pipe.patch" to allow the FTP server to append to a file system pipe. [bsc#1048427] - Add "vsftpd-3.0.3-address_space_limit.patch" to create the new configuration option "address_space_limit", which determines the memory limit vsftpd configures for its own process (given in bytes). The previously hard-coded limit (100 MB) may not be sufficient for vsftpd servers running with certain PAM modules enabled, and in such cases administrators may wish to raise the limit to match their system's requirements. [bsc#1042137] - Don't rely on the vsf_findlibs.sh script to figure out the list of libraries the build needs to link. The script is wildly unreliable and it's hard to predict what results it will produce. Also, the results it *does* produce are invisble in the build log. We stumbled across this issue when vsftpd suddendly had build failures on i586 platforms because the script decided to try and link "-lnsl" even though the library was neither installed nor required. - Drop the explicit specification of the LDFLAGS and LINK variables from the call to make. The value of LDFLAGS we passed is the default anyway and giving LINK has no effect since it's not used anywhere in the Makefile.- Conditionally install xinetd service only on older releases * On current distributions we support the same functionality via systemd socket activation- Fix build against OpenSSL 1.1. Remove lock on 1.0.x libs adds vsftpd-3.0.3-build-with-openssl-1.1.patch (bsc#1042673)- Explicitly depend on OpenSSL version 1.0.x since vsftpd doesn't compile against the API provided by newer versions.- Adjust to new system user/group RPMs- Add vsftpd-3.0.2-fix-chown-uploads.patch to fix a bug in vsftpd where files uploaded by an anonymous user could not be chown()ed to the desired UID as specified in the daemon's configuration file. [bnc#996370]- Extend vsftpd-2.0.4-lib64.diff to also find libcap.so.* in /usr/lib64.- Do not bother with omc xml configs, useless nowdays- Require shadow and do not output the error out of useradd- Fix hang when using seccomp and syslog bnc#971784: * vsftpd-seccomp-syslog.patch- Fix user creation to not report error when user alredy exist bnc#972169- Fix bnc#970982 hanging on pam_exec in pam.d * Add patch vsftpd-3.0.2-wnohang.patch- Fix memory leaks in ls.c bnc#968138 * Add patch vsftpd-ls-memleak.patch * Update patch vsftpd-path-normalize.patch - Fix wildcard ? matching bnc#969411 * Update patch vsftpd-2.3.4-sqb.patch- Clean-up the init.d support to be bit more readable and add missing dep- Brought back additional systemv support so it also builds for SLES 10 and 11- Version bump to 3.0.3: * Increase VSFTP_AS_LIMIT to 200MB; various reports. * Make the PWD response more RFC compliant; report from Barry Kelly . * Remove the trailing period from EPSV response to work around BT Internet issues; report from Tim Bishop . * Fix syslog_enable issues vs. seccomp filtering. Report from Michal Vyskocil . At least, syslogging seems to work on my Fedora now. * Allow gettimeofday() in the seccomp sandbox. I can't repro failures, but I probably have a different distro / libc / etc. and there are multiple reports. * Some kernels support PR_SET_NO_NEW_PRIVS but not PR_SET_SECCOMP, so handle this case gracefully. Report from Vasily Averin . * List the TLS1.2 cipher AES128-GCM-SHA256 as first preference by default. * Make some compile-time SSL defaults (such as correct client shutdown handling) stricter. * Disable Nagle algorithm during SSL data connection shutdown, to avoid 200ms delays. From Tim Kosse . * Kill the FTP session if we see HTTP protocol commands, to avoid cross-protocol attacks. A report from Jann Horn . * Kill the FTP session if we see session re-use failure. A report from Tim Kosse . * Enable ECDHE, Tim Kosse . * Default cipher list is now just ECDHE-RSA-AES256-GCM-SHA384. * Minor SSL logging improvements. * Un-default tunable_strict_ssl_write_shutdown again. We still have tunable_strict_ssl_read_eof defaulted now, which is the important one to prove upload integrity. - Drop patch vsftpd-allow-dev-log-socket.patch should be included upstream, se above bullet with mvyskocil's email- Fix logrotate script to not fail when vsftpd is not running, bnc#935279- Fix hide_file option wrt bnc#927612: * vsftpd-path-normalize.patch- bnc#925963 stat is sometimes run on wrong path and results with ENOENT, ensure we sent both dir+file to filter verification: * vsftpd-path-normalize.patch- Update patch bit more for sanity checks. Done by rsassu@suse.de: * vsftpd-path-normalize.patch- Add back patch attempting to fix bnc#900326 bnc#915522 and bnc#922538: * vsftpd-path-normalize.patch- Reset filter patch to match fedora, my work will be restarted in one-off patch to make the changes stand out. Add rest of RH filtering patches: * vsftpd-2.2.0-wildchar.patch * vsftpd-2.3.4-sqb.patch * vsftpd-2.1.0-filter.patch- Work on the filter patch and split out the normalisation of the path to separate str function, currently commented out so I avoid huge diffing. * vsftpd-2.1.0-filter.patch- Add service calls for other unit files too - Udate filter patch to work as expected: * vsftpd-2.1.0-filter.patch- Try to fix deny_file parsing to do more what is expected. Taken from fedora. bnc#900326 bnc#915522 CVE-2015-1419 * vsftpd-2.1.0-filter.patch- No longer perform gpg validation; osc source_validator does it implicit: + Drop gpg-offline BuildRequires. + No longer execute gpg_verify./bin/sh/bin/sh/bin/sh/bin/shsheep09 1665494293  !"#$%&'()*+,-./0123456783.0.5-150200.12.12.13.0.5-150200.12.12.13.0.5-150200.12.12.1     vsftpdvsftpdvsftpd.conffirewalldservicesvsftpd.xmlvsftpd.servicevsftpd.socketvsftpd@.servicercvsftpdvsftpdvsftpdAUDITBUGSChangelogEXAMPLEINTERNET_SITEREADMEvsftpd.confvsftpd.xinetdINTERNET_SITE_NOINETDREADMEvsftpd.confPER_IP_CONFIGREADMEhosts.allowREADMEVIRTUAL_HOSTSREADMEVIRTUAL_USERSREADMElogins.txtvsftpd.confvsftpd.pamVIRTUAL_USERS_2READMEFAQREADMEREADME.SUSEREADME.securityREWARDSECURITYDESIGNIMPLEMENTATIONOVERVIEWTRUSTSIZESPEEDTODOTUNINGemptyvsftpdCOPYINGLICENSEvsftpd.conf.5.gzvsftpd.8.gz/etc/logrotate.d//etc/pam.d//etc//usr/lib//usr/lib/firewalld//usr/lib/firewalld/services//usr/lib/systemd/system//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/vsftpd//usr/share/doc/packages/vsftpd/EXAMPLE//usr/share/doc/packages/vsftpd/EXAMPLE/INTERNET_SITE//usr/share/doc/packages/vsftpd/EXAMPLE/INTERNET_SITE_NOINETD//usr/share/doc/packages/vsftpd/EXAMPLE/PER_IP_CONFIG//usr/share/doc/packages/vsftpd/EXAMPLE/VIRTUAL_HOSTS//usr/share/doc/packages/vsftpd/EXAMPLE/VIRTUAL_USERS//usr/share/doc/packages/vsftpd/EXAMPLE/VIRTUAL_USERS_2//usr/share/doc/packages/vsftpd/SECURITY//usr/share//usr/share/licenses//usr/share/licenses/vsftpd//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:26354/SUSE_SLE-15-SP2_Update/69e03d23bd0c38ac14d0ec743083d649-vsftpd.SUSE_SLE-15-SP2_Updatedrpmxz5x86_64-suse-linuxASCII textdirectoryXML 1.0 document, ASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=63075a406489f0e0d0177ab72a94d5ad4a2a03d8, for GNU/Linux 3.2.0, strippedISO-8859 texttroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)RRRR RR RR R R RRRRRDDRUutf-87232c36bdc7515aa937e268f04686bc68d4b52569199af4bdde14fef615c21b2?7zXZ !t/Ŏ]"k%Lqj(}5E*D"’- B< _ޫ[c9I0fEz[XiÐgǿ/q AaCH=!,6@gd#797t\t ΔYhp;٭MuQtF#_jwR9s'&Nۍp._2@jnX< çmL Xw+֠z1v#AׯT2!6TAONph1"AT -Mخݷ?c .P@JFV=if@{}C4A K FަDXI FWSv%GOA}"M?@:DeLj[HCԟ=8I$!??l }[;ajƉ jq@"]ʹ!bMRκ"L,3O1g rAoK**џ{*teDAE?)| 9 A]# S<$)ekzXd#[9qK4@;Gn_O[:.7/4r9rqD*_RM*it_i" s rb^z&:h\.9G, B"m.8gJ BQcnR:s0!749?-BWM2UK7=UHOXDi-[ v3l~ZE Wi3eDOtی,Zei 3zzpSi9$耡wqR};e|l5pJF᭺Rrk`!\zeYwu2SW99<1n7"^ #rrIiIR ܒJ)(fG tG;cŲ\( utfHn=/L;  Sn~ MtALmFvA }aKE#toW0勧䏧| kHN 'YU-"<}֪`:TWBcc;[ 0 ' :,S+4}pDDmċdXx}_)`Mba&bS \ioaP.?XAKIuE< |U4$BJHh(יA1> kz.sU,bUy\n>9oWogȩ\\o|$eDCkog7n `և@+;Q1/v.wThT޳PUK(e3gIy\.6}t}N3פ=H Gq@iRx#]TEbE]X-v~R^̅Y4<6EO0GҽI`O2޿ {Q̜ٶ"49f(>kO-аUEF)vBE ߴJ~-|{bzeO\wLbwwR"ٙ3T6#^PQv1pw[RmkiيHr86[0\&6.Ij5O7 UQx4`Xe~g6hFZ4QuLsxnMyGܣ/rWȎScŲj"@ᗖ4)8 2pB+zF`v=&OPnTh$IAo}8VT-ϞD3pK)&" pBTEA%HlwD|ӷ-qŠ*m:NP'L Vp|]a@{,+`q+Y)R RF-NSB}() H#k~ wviRvI.,K[`fX4pᨽSJF8AD,S[.jۘ*tG7N#ʉZ(<涺 ;YB=yQ܀TSX\kX/U%U +QU&_+Ďh=a6>dY u ,&o@Nn8Xxp0geii|h󼾡IKAĈ"dlĬN ,aU:w|Q*)A|m16<{7Vn/Oy+;s_Y_ DGdP2v^Dgx=s[,6QJ$Gs0(zN3nMԻJ<'k׵ݸ* K&M e Qlft)c%igFԫdGDIΑ9- Uvyܿ$:h'd 'øfWU{o to=l ›׽8;Qvj[EeallxqR_*̜xݥ+A^g/Ԙ6C[4jyTH+ Í|v%Z2jezQ3ڸDܲq[B:jyjX63ddWZ>2l垤wKG~zFB7}yL7U6-]0렟u$̴/s׿7檀K@x‰bO(%\lcy5Zg!Nt医ӔF4B弆ɢsv#YUR!Z3f2'9Zk~D9zdǑdFŽ8-f4ghAQΡ'(ئ)/?k} 6YƏ2GxDI>CD s='+'6'\W kA:v.nf$)쵼C#iӋ!UIs>0RwOդcwnd0WWܔ\XĢU_y풋ܐī]I{-EĀ7<[dgz=g%&(+tjh}RHZ?R0? gh\)WqN))KyRbqҲ՛%t4h*, j~L2옦9U9u%otXnEd%Wv>w[7IP/Y]V7+^* x_|s&E`XiY.BR_ʒɟv/cu76I:;B\pTН`| g ]ˬWJ4?ߥ`<Im'aJXl6;+ \#@`vUJR 4oA*Nj2처 :Ĝ RUP緷6E;x%TtU n޲d1mKAo\٫wSWhIkV[Lgڏۤ@=h%44H!5JGG֞Nr>`=$z&K0qOcʟ)8;p/K]C֘l*iG:#HIl .r?{RTW7RX#Wj,png&e_N98;82E)~qO@T}8<'x-` *q<;kIk~\a]X=fH]܊_j6CaLl,g7&`7\|Uy#HTgR]ucnZԇ/;~aT$,ĂS]J>CMH1ugL4:23]F jNUBCa UTscFǖCIrk Vy3l޵&I Klo=:Jit#@pq; Kghm$f=Ǩ󿷜ed Km^-b3E'F8|RzGqW n V4ubŕ:Rg?RO1ڒ+b[6h̚Uq+a _鲩;N|54~ӧVlא&4">q^MTYX'y=ά/ [Z8VHgܩ)Ĵ]?`Qn11nQVr(U dZ_idIX,nͰR@TʦEZC+axzBSD۫Y7:L3s;& K&/K=4>)> fhF@MDh Q:(BAe4IP0P_EW +FEU4NGx4k }6>;F_uZ*!.+3֢oR;cS\P `tKY# PB SwZE^گZ*xFq[J#8 C lIdzw2/S|9.Ε63!Ȇ>Q 햬w%o4DR$hnbYF۵ؿ˺e/vh$ZwfsՋ]_jJ $s"Q4y΋`՗\pbGx#x60}5 p8͟¶ڱK$Lpw d+ButlWxM>ޭ3q5np@AirV"6ތ/qK/B5Ғh|p|l#2LLV hT(z+Uvp)|iVO;D *C!*d1%D^Rt[(3$ PKrh9;Bŝw"!2ebIv!m:0j{0h \1y00$Vh]|2ω[z{2\ Dl]e8MjIe\C@D =yw"4Q\vO]\d;ۉ{Ջ &~e)S`_/#7cm*dyZdcp_w@ڃ~F&Sb-g:_RJre* RݞS,+sTp@OWIw%k-[jūc Th=Sm1T5Շ6f:7NdZ;Z@#R>F.ȏtfAz0kzĺZpڅta{9L[:?, 8=y:,}6}j W?`pQ/M5#.g;\ |}I}Uc;\Vf7QGe $o5#r^͘k7t3 y$/kpBvo|-rC*+Z 5reQ|R \dbTq&[^^|G1>5ehSsUJJdG2B!ll+sY˖G1:"YY>k\:)orC| O{?m븢^^jH"yTV;w &is}RM93J=8% elH+MzNkRڙ 2騞K6nB3tr77S]veԎӟj#"ᛥඈrȭjS9 ԓnyLRJЀu𖓒QFy@@w9:TaYh@j/5ܧ| 6]o\C.A_v@K{]ѣ5eTd並YZdYПf|\v3my7Y#CmZEDS$$?UĤ-:Rg2Ldy>k)NNi]b <RЌr`B"rzf!_w xŵio/<cH anaB3vGD38L@gZʄ0%:JCv~:DwJH>cAgO e/ꅨlw^+Y^}M^h`8AR 2y1Iu$̡,/j/vkPY^1DC?$}'owneフ0b@5nQɇ d(gXGa/@ D!!Õߜ$C֬.&5RehbQ8|򟪒vyf[_glqX Nlj60y/u?mx@X\L2ð5ԔP?`5e!?g0EmbX]ap2MG.{nɏyvٞ}(Tv[{yz 51C#w$k 12*OU\ߴ2]dafq7pS.S8CQ9Uƣ.ɑqp7Vn}NT"İ gӅ_c]OW"@z9'L`C9G# }*S;MDλb=)X; $bVo(GqIL{-UDݡ)d+bC$\iH"u24\NahPm=!xq ' 5H@;eM*gku.yWñU}LG'+1jQ](.,q`5Z fexPLkD}[rŽD)?fkp _V7Ym!(9)eAk(HlBPC[KzDC:sZ8nelБ[2*BT[ս&7nnh1Ӈ.K%GUɶpJ*3 !Y4!( (J3?l6&;ZF@8bQ"jE@.[ސ"' ;?pF{=?-=8b#$V^ ڶ`R'QEA>\ Bqw0JH7oaDMK`Qڪ k"D`H`ޮeP 5v۟Ys<ف Qsx MPI<6I]$6X)( ~jEp@bPPHei$ݼRj nX4&i!:_ N} p:Ȕ*eԯ.%V8Fc 3߂n@v-l]ig2q1T +4^<^:z9 ]9C34Dq,ƁOd-ƒ2#Du~ptjsP:;ǭ$޿a^9<.EC^ c/_lbdMV1%kz},+S#cjD$!y M?6.o#+[v.(A~eXM!JDjX5(/<xRXmc9$`Kˣ~$zT=!n w ߶M7`/ M [wdlI>/KQHy-&L{fl>V|Q1J܉ovÉ ˂% ň]A)=SfoW,yO`W?G@qGyR +Lt/~=UQ ɜ''G1ȕZ5YjRxyak7g}a4W);j?KmJ;|Rl J]E ^G{U(ܣYy9OJ㔫xU3NRYKoo`8O/~iǃIxGd˛4^)3Sfu_٥l)%wح8P?zbFx*{[cG2X>޻N`B_]k' %D+m.W9]կTԝЌjf1UUP$`Q0I(nkj!i(UKAnw+hЈ/`Ƒ| ZmyoӚz( N&/nA ișfd蚥ɭ} O&YT9vP;#h"`sVx=X6nIJIe0lLn1ש$-"k&% $!')dk U!xjel$7&Vk\au6ݩ<|ju1Ep]=|I^ߡ[_~^(topûOvx L}iZ+.|Q1khU_ZiB)KB"}OS($2R~_ޛj$ _:yyE1sUk $ TqK$羧¨ƹS -L4C!+7I,0FL) f_iVyB7kHoy%co4P葙7_"JcBuP 6o;1Xd \W\5D,$m+/Ĵ۶MREKcr7b~p(j / bb =F1|o#vx2UtaTpnWp[K-=c@pU&u6OCAk XHr]ƃ#~ fEb}5 4~zBfj+|IT >uGe PܳB&YYB#i_4>ԫanˎPA ؔuAs3#Wb'ͅ6pWƺrdKHN惁$k JN=C5raHW'ׅ9l\b/S3Y:aL9 HX<eyЬJ"4jov1]kjL͏?%`R]v~<7)j8H0:ra*!2 g*2R"AʙhȤPJb/KD .?yӪʢWX0z㫰z3fI'i1QP&No>p)J$n+jW Odz2"]y%2Чvm@t0?QLKk)-X5fVK7J#4z割1: kk6ϞxYoHWlP g®ɘ=]LX5I?.#àEwNnZJY +7J^Њ* BI"Z -@SX9K23'G!1ZNAmiGMnCꉴ~Rol\EӌF h0S)x=Q5=*5.+8[_5㘊Xm( 6/-]x'PNĘb$<5.xfɢ\]uWܙRm ng 9Rɬeves񇣇t[Ep K尠'F#͕YCYs{9z`וCtfpk˼a(P_u+P?Q5sFلvȒ&p[<~\ j]A;Bt?-koy89 1S`#qs Kr=tp?֑Y Utdsj۵UgGФ=kT` ?- >5O;Gu?B^T7HT+qFn:?),e FǖM71.Q16a/B/\!4|0w&/x߿K;337[G:\nH F: VI?V`#6(.60aH vm': F(,7Nχt3,8<8 VC;%ZI cy? H@~K5T#]a]a wEXT-DLPCIeUqWDqL)j鐟vaeb+~8+7r`3L N@~IP q(G]= x /K[ժS+ĽޔNqTYa@aGN/+2h 倆;Y~xHvaĔ9 sm$tgkʖglgd >X 5b~/8)\D>[w+HT(.[zBW"O1pJ_ⷧ0s eOqq \;`/4n.d+_CZn VomM3͹X“Nq,.ҫ;?aضD*'p&]KjB74-hJ,z4*e;Y^[ҤʒQ+D!L*E > }ZREdڰʭ7-^1Dq3(jZUP*1 I\D-2D~>ل_|\b;Kil (_sݏħ?$㡸0=/r#XnY/Z'9З O,-6_$$qʿTߊSNeYTK̪sI?,gd=GO81LNg @YF­>9[^}Y&ͦ5/Tl'BϞϗHxIv ^_%3ՎwL'-97Am`}z9: +L ~D>\I\WZѥn"MĎlAl^i}nD'q#i$ hcgnV2 9/s5GV-ru'jZqL o!3vtyd*/e4›|mDmk͗kJ a.w1eKEi~Jr6nC&-а C MA/8W: &J`0K$yr@}=CE3AX(vrgK0rL]cPxv 'E t׻rA 9FD5k|s6]v _/4l FƋH_suڔF-Vpį.8D@c dQ=6 6Hy*S?&~j.p.gh"g q0&uďo1g3wS/Ðæ֜"ӇCA023:Om14>V\ܛ0w;8t~pjYvBKW'imozdF)tɠ?Ξqe#P#YP_qv_3;qܪAݺ~и % Hm^;\.D锡PJJN|M{A!D;uީA3㋘^\0L VA ,5? ]i5FGw# n8G+D aϐO qbږHx;&|E &ģM2P9vE &U]EBXʼ\HΆ\V8dOb`~Ie~23t D}+b:`qw<VyM&VoI%2;p ^ď"BsOS x3$_~ 2qT 80fe@[;7ԙkYՎ{w!{kϓ;oW$lo핂Lyrn~x儆Y (v}DJWE) $Jsl:#c< Z~$hL/5-w¢{Kq{k}>p/3e ɺdac5G)c\N i[D"K%Zi7a]P_Yo(#g) N~}ZrAz9w&jB_֔_)A HyRݒWS#qj#L t;Cm*7o,Ze0!WY5ù&$G4>S7ܑ[\^҆AdLX_!Z{0)`Ē}mul`0]Agavnn>>j"p.~N.xs?qNj;td¸LjpiKҏ/U ƼN5 IT| ;4ϡ{ViTX+0q JJd{XKqCR$emUZg ?3rNE'n|canjy - C}+ &U@/PU=. &>N*dwOx^)̹2X%}ȡۡdh롬c4d^Æb:Չēp˞,fcj]a$:O2=$h˴nRhcfP(rxoVR>1_9f%`"[(?߾h|kFaWhdH?͎9]dmT/?7:-Ihkp/Ͷ=; C4@'ɬrP)v=.<>1iRb|>[ΟҤy8!zoI+LY +V&Ԕb0YtEeLv>=Uh$;bW WּߊmZG:6_'^ݘ5-9޻xAG>܆<0`@>VVH[')I&&{msYh/uڌz>0ނ"wrV[ ʌLyScqJ$}>gƞFW\~.VaTsLn-M/=FA=jx"gSkYK@KdݒfQzf uq_}MS&f&f&N鿬g0ZFz.[6gn`ǹk.p9&-B}r5,WXk`.cc~$%UrGrBk+XٗзAG ~j(ځe668,űdʴ;BPF:שm#3^RvJR6xؼiX*Sn6Z|F=V$E2Kэ] Y_Dkv2)Ԝhc~~f==K'J&_)"t#ވSjՊxgvt- ,ШڦSۊ8cy Q6+[ %`N~a/jׇ|V)ت5 д%WXRߝ~j꥜ygEuD3wsI:I#a4 `2Zg`ǣe "('L}pPZ3޴#tU>}kQ<vU~5_qȇ(w8'?Rޤ]ƨӥ#; S{5k1$GC,G|OQn<9WvVww8-$AYbDWb;Dߨ z8F}O!>rQ[ynAV@2Z6 [s(={tZG ̌DZu`) 8R Qׄ2'{ZZ35V[Ȁ,bEƒ:]$gU(7p84qR\tpK>Xѣ 8^Z}ۼKG/S0Dh%dǧۉ@ϐݚݰaUg o3Dy>.@#k~ݩ+<-Y+h@0IU >B#j}xCjӤ+KGAӾ`SwY G9qsCFKF^2  Yu1Kf De{d>g}#<2G"P d)spk˼ºhnfE_ӄ]RyD3 ylyӝvdI^Pn^ؽڜ4}/I@JȱV1ABQITjUy ɋ=(VYgL!NWS}Y-d)PDz G܊vc{v?=WFpȘ"a*{7Ыjh5I'.,r/k@W)leK/k>*8`JYvw{L&x+בeb AML sV|.;AёVX`R&/w8qkٛD𩤪KR":~3- X")QqNdKD!>P6?wO$%wo}bhΒhJIyUߏ%(сT0H'6D0mGYղ*QvO]`mC|"\$MGy/^א s‡0j{R2ou\?/jJӤ6&WWrUQvfPк/ݾRAUdhRAsYײ@2(l(55it33ĩ^X9AO _m r~Dy}LV㨅N/rz?F 25Id-8׉(F `gͱ#@:7An}w݈zJ%C"ӪW9(0OCڦy[k q* ^t$H A}uH5P͗ů"Jk^}m$I)ll4k2ϱI%m}`7;ޏV`q.v`_ e^u[;(Bڥ1`ԅUadc&J6gSM<(5+ Yqzi8rERU>7/{ yÓC=LoǾCpjbC9+'K7Ҽ*=2f1Z;A'. <:Sd [Z,hߜaإnGLO/(&6xJЧ:'75gI1f3tcD`IYMH^ux̟f51ʄc-BsJDWsjahYo2hRIp&u\]'36oO32gDN5QHx Rsw H*öx㠅M"Ze?c8cM guZᴴ KXnø|4a>{3T}""q|GX!+Ɖ>r&ՖaBs IJEtM^3>U3Yqղ (#0}vHup :*XF-s.AyBެOqS樳|YmuSZ|UXuE'7uRzAmlvcɉ,軓^bbu)P&}ul5GW1ܞ8MxR)=#܃!u_=oYktg]oA/~}+WMPîEq}ֳXlu .3<Ƽ^{alr%*M^{5||8KJB-j*0,4rat^ 0b&PGE#,Nl .4rcyC6݉Ԝ m29udeBhZ?Qo64Έ0r)N2ћ㲏&?_JTҍЁK?19a5H~˨_ eڞ˵p{ue}ӛht~cǗ5x;|S $My^Ak'8}K^?NJ?+@6JH+&NtfD6uMy^#A#*kSLș-=r~ Ҥ]Qlu9nHT!lG+Ӷ@u7/ɘLs69 6&{V>=tbjOe&׈ލ{H y:6p7= x2TZb߶wFmÕ4> d,.>pߴ.j˴n e(i4W%.5j j.ZYx)&U,v%$'1w`9p\ߧxOcfJr]r]ä"3CE4̎fϼYg!bzzɲ.V `#Ji6pۄ~BAkq.9P>16k.'r-qU.l Ec&OV 2pe{8sU͎z1mToWgV&orHB(R0UFu0 &J"HsP%rk+_ա}сƨ>)]u<ҡ1Bh! aq{!ր6V;6˵ Z$k ӂW(=xwPM?H2TbnE}L,$v[T+鉫e0+^ﯺx@{5]7nM x\EVH);38",ّptȶY8#tC+c CW&L;& w-(Ӣl:|${*R%| I6 k'؝opB> ؁FT8易V<5"8sP޳RB;25QM0SӲptaELYh)+qJ@JQr>۱VvO9y36I뷗Tr;|un+]p^2{6 Xc.v{ҶC](RÎ39sҴyA7Qe5u6w96|9D.<:Lbr i-;+_3=JjMpo;Wb<;dGז冿I.Ql$g`1កx;O<\(]  >jpE`"_W< 8 'n MFzhEpEU bO8,\zH)Õ(xf%$YñSt܌~Bo0` ͺdhPO̺ZD. W%p^Q?8dn\C.ÜOبNM֢zbAuE}U;+(]W陕HlWeU$[Ilrk:v뇥8}bܣ#u?H0ږUjPLFdQ5v;;k(@h; b<hl6k ls!A -1n! U8)c4͉@e!Sk`کh GRjϭ^mDpiP9kúg4E]ǩd.Pj{63B6Z+A 'sꮊTT閫21^Ν^pF+\ס\ܕ])u!a1ίy 2'x:Nv޷t&̬f6r$6#&3ep.Glx)Ѕ-CsL+Z6^t*Aj 5!d@j4uC }.4 z98$ܙ j|v\wlZy&j.)H;Rj0芁Tn͖Hu!2jsֿaX:RR7]xz3"ʭ@%.v'^2A2ZSH<כku ^ :~Xv5X'˯%`X?<|WʥgrʴŪ*4USOBs{Wx>$Yt>%kh][Weƞu=&:)26_sg.Έ*M=~:Cɽ. $HAN风AqAFD +?gH5 AuZ2+XtK,òcB=KY9B-[T#Og r×vT8IU̞)hWe aSsz gy!eqN.?* I>6;'j߿W:͘PO߷6,5 g|ٵKpUC:, 8y>Hԓ2&Z̋.+XrZ4G Fr9Ѩ?Ukʳ ĘjzD =߮z*/k Rﲘw:2L lH*G ġxx%=2ѓN`zpя2^E[%`ʚ+܂5+J"_nƤ<4dS:u<@ oq},;N 8V2nGwēTAdQc|nk$obifo:Qtqx'+9DG@8NQxk0Gp1LV:DHhMlOfJ?tM33{sAoBtekVRyeDSLL-w$AK(57;J
s3"*4ښ)sz 6_e'œH//Zn.uSHF?=Ad` `Y/WMp:)Sl \ /.)`85@sU>8t%Îi8[LD$ȳjsunצ0Q"FFEJ :Cz帱u``dĨ9BW\#c?;~~K1tnV(s²*%]_ 9GCq ^jzx,x%LXt0A e1ݯ \We60Ƕ!pIS$ZfWDK7!OS"gX_l"CiE;K ewUί@"c 3&2Nae9_ZIs%oEMK'vh*$sb" kSy ٓ Phl+kWJ+wcz粽t̝Χ#ɘ=uqG^1uۀ^5=IUB,*d`{>޻pmS߫)eF]D>T/P{|=!Ry\Kh\#/ &87m.x^4;Vx!Sc=¯&pF%͠hk}Zi+4J: 8礻ixD 뎬[SWwO3S=^ڕsr?#-mUɻg"Tύ`c>̞ݥA$H= !.02/X Fc|dPN`2?X |փDZ^j!'ey#^h#?Q nX˗ ME1jj%nDmEn~;;68V|tMʡfo¤iKvz^tPMӟL󍌜&Rcj3vEibYNFh \NbuJ KEfA&=@# Q[zT“N3YN`%T 8|F/#9\]C~l;mS_+-:]ocSҏi936BϤ pB^g֖;X^ T;"GuGfc$K[XT$sƫdr|^T}uplwD3~i^ VNVxwXdGA HiK{Nג}J 8 xYrYumS )O?Sց#$Pc,ڳfcr\L~E?mެ4,shAP(?_1!+Vg2Tش Zhw{#fP)sJN-$p{DL.DkOt[ny,Oc[ĜbhbZQUtSO4tؐ)pI.`P,طJF"*w0xX<ԁaLsK #(VND6~ oZ3k1@g #Ɠ9.'ڗΎM*vRj ǰ0ysEU[7 bi z[0v`i V G!;֡/C)υB(M~,4E7w/uj0N<^M 6܏}sᱺWDR}1pD4 N# yܤ)ևΦ 0.1 xdzoOsKMo`<(H87HS=|ք9 c6 H] 0NYe_'u~3,}BrtB// $G܅)W9KOK7]#Cš9&< N $Obd0gvhZHKe* $2SnJʸ)PjR"bA%4j[OCge۔1.[k^@vc>C=Ϗ@Y|aǸWhjaF=0<+3$N>'39[ g*(e!bZ#쇴ӻ(*3ghӘOQ8_WtfGЈ|fi]aX-Rbx0 Ýi؎z[Jbfp;?ɮ[Th0x5| >(= I m^pbnZ@=: __ m%' =,ǜ1<TI o ! лn"\*ÔަZSSY-NNCYg,IXFrԏ)?g$FjH 󬖥[JK]4"^_ae#^쭐]w%?@=(,؇0HK;)r^e@Tex"'75-ŵI$j S߶B"(c#yGXSyakc'7%젩JϳR~h9ևU5ՍHO*{OmF+:(!Pcm: _%RS*GWg.ijܚXcEkSonB9=<T4/>E`E YEMZl9W}O*s aFH_ }ʃSYiWRvY_N> 4XsRuޘI-7Gb6pګ%; .pPr"'2śm.K7Tuql  UŠvHmV{I<7 _i|o'e.c9=V#;\[eU%/g4yG|e;UG$Wv?En⣄Ik=u]!c]C3r _ e1 SR=o5c$\6oj^O؍>ho⛘`-'{/v$j-*z v7iyexV^l` ۀ&j;˫ɎP "}{b؄;hP8^J=ifw4*ۘ*TXQ6CALG+ѧHvoƙRҷg;4ձ2*yZ/& # Y$&z \RCڑyZDL"]EbY*yl'.-m(If vh?VIB[nbLc^*O!Z ֤;; ˯\A=-M]& B49[,nbqg7)=^J0FQ`Ev/t\(wkYϯ<ܛfe=0+Uc)ơg@NC&i.v4GccAAiRx$ %:71,"&(N5y;ҠIN{Pʼ^͈P<@O:&n^`;-"H3ۋH]ѱ⁝]H/Ub@Rus.堲8 NkO>zAZ4@)CnQDO1?-kq9D:OH#"J;Ʌϕ 8" QHC? /Sqܫ_]lbhH4pdk#?or*o:KROso2ãr<=[*d␽ԿtW`79$*w0 k(Mk(8䘁?"89dŁyBJA^$u凁~ĚPՙWªemCvuƽ[.ưj|74C|ԏ7R62Ko TC>K+ݷ•`О#U\`ߺ2Lecr ;%:ALˆ˖s|$ ;׿^V@L>آejx(U*"v/c&0ξh֝fslxh&!0v@I~U-ǵW엲NX)4ԱWO+m4KkԀ W>rLQ{"Җ\hyqr9g߱+#klZUO%^y*GyCrr<#qgKf `=9c)+:QpȯCǧ>k`Kדq5\k~\ /h *<y`ׇ翗Z7ةy;Hl H 9^Nzd>!S0CdJGУCfyԞ/}Sޭ($bX9"vPK4i8!>.:CGKZ-s[}Ed%a^$Vbɟh š'Ff_mzyƛ a~X֩ {gSjC] xĢڭ  ՅW%{װc{P6/#P+|Sh*T+w*xkEG:%ƑPG:.vD iHl[ 8w Oi^~.3򪔎fP 1x ݙtzbzgJ#ZBzl7J$c~OC_N`%H8}y2֘Kczx !vdp D Uy&!Y9%ਚMI4+ݟ<ѡ~@v r;(Qw;Q@CBƎ~y$E]Qs 'UH Mj%%אdY>>$1]4$u L_:?e 5{r qq^sx<>#%PH .unI%Bjmdq4k؋1Ɗc>F8ne>ٲ;xw̅bf +rA fj=;LsI@0];z2ܝƣw7 YZ