tukit-4.1.0-150500.1.4 >  A dRp9|ڟ㯚29#lA5,y8AHyG5*9oTe̐@Gr/ǨH1xQH2aH")Q [88G4M+&p.AQFd%jFm ]'z ʡJEeJe1m|{  !w#HcMz4Fӫ~$ny֎*qB1d-]Z;c'=pq{ p)e5a0d81e4e83a3dedd3fe201d617454759d5b3916c5b3113f059aef10682afec3126465e39f04d03a005c17e5fa73e81e60011df"dRp9|>4|Tw[0q'dt /2J=]A =MA\bxqI-MlZ& ^,ekcɇ$D!1DH{K7s~<IVkjƍEC7P)P9X䐧p7i,-oQ t~T_ae]J}L!r*.e ޹?øIF$\|pI(?d  T )5flr             4 f  pDH](c8lw9Hw:w=>?@FG H I X(Y0\T ]| ^bcAdeflu vw x@ yhzCtukit4.1.0150500.1.4Tool for doing transactional updates using Btrfs snapshotstukit is a simple tool to make changes to a system in an atomic way with btrfs and snapshots.dRs390zl37SUSE Linux Enterprise 15SUSE LLC GPL-2.0-or-laterhttps://www.suse.com/System/Basehttps://github.com/openSUSE/transactional-updatelinuxs390x: 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 create-dirs-from-rpmdb.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: 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 create-dirs-from-rpmdb.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 create-dirs-from-rpmdb.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 create-dirs-from-rpmdb.service ) || : fi: test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in create-dirs-from-rpmdb.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 create-dirs-from-rpmdb.service ) || : fi fikH\+F~A큤A큤dRdRdRdRcYICcYICdRcYICcYICdR33243f2894e67aa69b0199786b3573c407ff37ce2da38da3c88cd2e7ca58d3e650a38872edb6b84d0fa3aec5b7d7a3d66d26c63e47c9f05599e7ae6cb9fb9d81040a1284cce977f96723df4b45e4e2f4163ff9fc807a82575c09fc72c4cde3ffddee4b41be333a00e70e2e40d53975a3d483a340ffe377a90f1ab6c05867aba59370537fecd78c68361a12bdda1827e52d49ef2fda8fe997cb328d991862c19f4ec94987f3af0b357c6af2280ebcb5b352e6c5fd51f4c33eed6e89d8f20ccb6cdb296f2f7f35bca3a174efb0eb392b3b17bd94b341851429a3dff411b1c2fc73335f1b01381697728151e4466fccfc606566e0182809fcfeeceb1ed02c645f43rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroottransactional-update-4.1.0-150500.1.4.src.rpmtukittukit(s390-64) @@@@@@@@@@@@@@@@@    /bin/sh/bin/sh/bin/sh/bin/shlibc.so.6()(64bit)libc.so.6(GLIBC_2.2)(64bit)libc.so.6(GLIBC_2.4)(64bit)libgcc_s.so.1()(64bit)libgcc_s.so.1(GCC_3.0)(64bit)librpm.so.8()(64bit)libselinux.so.1()(64bit)libselinux.so.1(LIBSELINUX_1.0)(64bit)libstdc++.so.6()(64bit)libstdc++.so.6(CXXABI_1.3)(64bit)libstdc++.so.6(CXXABI_1.3.2)(64bit)libstdc++.so.6(CXXABI_1.3.9)(64bit)libstdc++.so.6(GLIBCXX_3.4)(64bit)libstdc++.so.6(GLIBCXX_3.4.11)(64bit)libstdc++.so.6(GLIBCXX_3.4.21)(64bit)libstdc++.so.6(GLIBCXX_3.4.9)(64bit)libtukit.so.4()(64bit)libtukit4rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)4.1.0-150500.1.43.0.4-14.6.0-14.0-15.2-1transactional-update3.0.04.14.3c6@ccobbb@bq@b$@a@aa@araexaLl@aD@a<@a6a,@a /a /a@`@`\{@`KW`KW`H`H`>(`-@`*b@`&m`"y@`>`@`@`@`U_/@_@__t@_@_o-@_h_h_3_+_$_{^^^@^|@^ku^^F^V]^r]X]V]v>\\@\@\\\}@\eX@\eX@\N[[k@[[z@[#@[{@Zz@Z@Z@Z@Z@ZlZ@ZkZZ@ZqZTZ&@Z@Z@YYYV=@YS@YRHYP@Y0X@XX @XXXXX*X@X@X~@XWXRXN@XF@X5X2X2X-X@X@Xx@iforster@suse.comschubi@suse.comfvogt@suse.comiforster@suse.comschubi@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comaplanas@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comngompa13@gmail.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comkukuk@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comkukuk@suse.deiforster@suse.comiforster@suse.comkukuk@suse.deiforster@suse.comiforster@suse.comiforster@suse.comjengelh@inai.deiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comkukuk@suse.deiforster@suse.comiforster@suse.comkukuk@suse.dekukuk@suse.dekukuk@suse.derbrown@suse.comrbrown@suse.comkukuk@suse.dekukuk@suse.dekukuk@suse.comkukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.comkukuk@suse.dekukuk@suse.de- Version 4.1.0 - t-u: Add a "setup-kdump" command; implements [jsc#PED-1441] - Export TRANSACTIONAL_UPDATE_ROOT (the path to the snapshot) in the update environment; implements [jsc#PED-1078] - Add support for "notify" reboot method for desktop use [gh#openSUSE/transactional-update#93] - Fix kdump initrd recreation detection; the check was performed in the active snapshot instead of the target snapshot - Document register command [bsc#1202900] - Avoid unnecessary snapshots for register command [bsc#1202901] - Various optimizations for register command - Remove bogus error message when triggering reboot - Rework /etc overlay documentation in "The Transactional Update Guide" - Fix incorrect manpage formatting - Remove leftover "salt" reboot method in configuration example file - Replace deprecated std::mem_fn with lambdas- Migration of logrotate configuration to /usr/etc: Saving user changed configuration files in /etc and restoring them while an RPM update.- Version 4.0.1 - create_dirs_from_rpmdb: Just warn if no default SELinux context found [gh#openSUSE/transactional-update#88], [bsc#1188215] - create_dirs_from_rpmdb: Don't update the rpmdb cookie on failure [gh#openSUSE/transactional-update#88] - Handle directories owned by multiple packages [gh#openSUSE/transactional-update#90], [bsc#1188215]- Version 4.0.0 - Last minute interface change: Changed "List" method of Snapshot D-Bus interface to return a map of properties instead of a comma separated list of strings; this will allow retrieving the snapshot properties even if they contain a comma in their value [boo#1202147] - Remove "Snapshot.hpp" as a public API for now - all public functionality is part of SnapshotManager.hpp - Add header file documentation for SnapshotManager.hpp - Add method to delete snapshot [gh#openSUSE/transactional-update#52] - Allow setting description of snapshot [gh#openSUSE/transactional-update#55] - create_dirs_from_rpmdb: set SELinux file context of missing directories [gh#openSUSE/transactional-update#84], [bsc#1197242] - Fix broken logrotate due to typo in config file [gh#openSUSE/transactional-update#87] - create_dirs_from_rpmdb: Fix handling return code of create_dirs() [gh#openSUSE/transactional-update#86] - Fix broken "shell" prompt after selfupdate - Add documented D-Bus interface definition files - Add tukit_sm_get_current and tukit_sm_get_default to C interface - Fixed typos- Moved logrotate files from user specific directory /etc/logrotate.d to vendor specific directory /usr/etc/logrotate.d.- Version 4.0.0~rc4 - Fix building with GCC 12 - Fix stack overflow with very long commands / ids [bsc#1196149] - Use separate mount namespace for chroot, allowing overwriting the bind mounts from the update environment - this could have lead to data loss of the bind mount previously - Fix C error and exception handling for snapshots- Version 4.0.0~rc3 - Add Snapshot interface - Reworked signal handling: All public signals are sent from the main thread now, keeping the same sender for everything - Implement D-Bus call "Execute" for Transactions - Implement interface for listing Snapshots - Implement Reboot interface - Fix bug when using --continue on old snapshots - Fix hypothetical integer overflow in snapshot list [bsc#1196826] - Fix wrong sort order in status command [gh#openSUSE/transactional-update#80]- Version 4.0.0~rc2 - Fix missing prompt in "shell" command [bsc#1196580] - Add output of tukit commands to log file - Fix compilation error with GCC12 [boo#1194876] - Fixed (non-critical) security review comments [boo#1196149] - Fixed selfupdate - Code cleanup- Version 4.0.0~rc1 This release is API, but not ABI compatible with previous releases; existing applications will have to be recompiled against this new version. Major features: - Introduces a D-Bus service to access the libtukit API via the org.opensuse.tukit.Transaction interface - Introduces a C binding via libtukit.h. Other changes: - t-u: Rework --quiet handling to make sure no output is shown even in error cases; this is necessary for automation, e.g. with Salt. [gh#openSUSE/transactional-update#73] - tukit: Allow storing command output into variable by introducing a new optional parameter for "execute" and "callExt". - Replace multiple and non-standalone occurenses of {} in "callExt" argument. - Split transactional-update.timer into transactional-update.timer and transactional-update-cleanup.timer; the later will clean up old snapshots even when the system does not do automatic updates. - tukit: Remove legacy alias "setDiscard" for "setDiscardIfUnchanged". - Throw exception if snapshot is not found. - Fix various compiler warnings - Update spec file: - Include tukitd D-Bus daemon - Only install one version of the library (as there are no breaking API changes yet) - Add %pre scriplets for systemd services - Replace %systemd_postun scriptlets with %systemd_postun_with_restart to satisfy rpmlint checks - Add transactional-update log file as %ghost file- Version 3.6.2 - Bind mount root file system snapshot on itself, this makes the temporary directory in /tmp unnecessary; also fixes [boo#1188110] to return the correct snapshot's working directory via API call. - Use separate mount namespace for transactional-update; this should fix several applications that fail to run if a mount point has the 'unbindable' mount flag set- Version 3.6.1 - Fix rsyncing /etc into the running system with - -drop-if-no-change [bsc#1192242]- Version 3.6.0 - Simplify mount hierarchy by just using a single slave bind mount as the root of the update environment; this may avoid the error messages of failed unmounts May fix [boo#1191945]- Version 3.5.7 Various fixes affecting Salt support: - t-u: Don't squash stderr messages into stdout - t-u: Correctly handle case when the snapshot has been deleted due to using --drop-if-no-change: Don't show reboot messages and avoid an awk error message [bsc#1191475] - tukit: Make inotify handler less sensitive / ignore more directories [bsc#1191475]- Version 3.5.6 - tukit: Add S/390 bootloader support [bsc#1189807] - t-u: support purge-kernels with t-u patch [bsc#1190788]- Version 3.5.5 - t-u: Use tukit for SUSEConnect call [bsc#1190574] Correctly registers repositories- Version 3.5.4 - tukit: Fix resolved support [boo#1190383]- Version 3.5.3 - t-u: Purge kernels as part of package operations Required for live patching support [bsc#1189728]- Version 3.5.2 - tukit: Fix overlay syncing errors with SELinux [bsc#1188648] - Don't print message for `shell` with --quiet [gh#openSUSE/transactional-update#69]- Version 3.5.1 - t-u: Disable status file generation by default The new experimental `status` command requires the availability of /etc/YaST2/control.xml, which is not present on all systems. Hide the creation of the corresponding status file behind a new EXPERIMENTAL_STATUS option to try out this functionality. - Increase library version- Add tukit.conf to spec file- Version 3.5.0 - Add alias setDiscardIfUnchanged for setDiscard. The old method name wasn't really clear and will be removed if we should have an API break in the future - Replace mkinitrd with direct dracut call [boo#1186213] - tukit: Add configuration file support (/etc/tukit.conf) - Allow users to configure additional bind mounts (see /usr/etc/tukit.conf for an example and limitations) [bsc#1188322] - Add 'transactional-update status' call. This is a POC for obtaining a hash of a system to verify its integrity. The functionality is still experimental! - Internal bugfixes / optimizations- Version 3.4.0 - Apply SElinux context on /etc in transaction [boo#1185625], [boo#1185766] [bsc#1186842], [boo#1186775] - Implement inotify handling in C instead of Bash; this makes the - -drop-if-no-change option work on SLE Micro [bsc#1184529] - Use `tukit call` for up, dup and patch to allow resuming an update after zypper updated itself in the snapshot [bsc#1185226] - Fix obsolete output type messages in initrd [boo#1177149] - Make different base snapshot warning more visible [bsc#1185224]- Version 3.3.0 - Add support for more package managers by bind mounting their directories - Support snapshots without dedicated overlay [boo#1183539], [bsc#1183539] - Link RPM database correctly with older zypper versions [boo#1183521] - Don't discard manual changes in fstab [boo#1183856], [bsc#1192302]- Revert inotify-tools dependency: The package is not available in SLE. This will probably have to be implemented as a native C version.- Version 3.2.2 - Don't skip patches with rebootSuggested flag [bsc#1183442]- Version 3.2.1 - t-u: Forward --quiet option to tukit - Regression: Add /opt as bind mount into update environment - Remove output indicators of the called command to not tamper the result line - Fix /etc syncing with --drop-if-no-change- Requires inotify-tool to have --drop-if-no-change available- Version 3.2.0 - tukit: Add new command 'callext' to execute an application while the snapshot is mounted. '{}' as a parameter will be replaced with the path of the bind mount. - Fix --drop-if-no-change [boo#1182525] - Check whether self-updated version is executable (e.g. on noexec /tmp) [bsc#1173842] - Fix overlay synchronisation with SELinux (again) - Always overwrite supplemental files (e.g. for network configuration) even if they exist in the snapshot already [boo#1182544] - Improve logging and error messages- Version 3.1.4 - SELinux: Fix syncing of SELinux attributes when using overlays - SELinux: Tag the overlay directory itself (again)- Version 3.1.3 - Fix overlay syncing on SELinux systems - Fix resuming transactions where the parent does not exist any more- Version 3.1.2 - libtukit: Report when application was terminated due to a signal, and return the signal number as a return value. This will cause the transaction to be aborted when called via `execute`. - libtukit: Set PATH variable for internal commands to fixed value to find the helper applications, as in some environments such as PolicyKit PATH wouldn't be set. - Fix compiler warnings- Version 3.1.1 - Fix hang in tukit on aarch64 [bsc#1181844] - Prevent deletion of snapshots when resuming a snapshot where no transaction is open - Make tukit work in non-dbus environments [boo#1181934]- Version 3.1.0 - t-u: Support installing RPMs from the user's directory again - Adapt selfupdate to new packaging - Implement signal handling - Remove empty text files- Add libselinux build time dependency - Remove RPM version check- Fix libstdc++ filesystem ABI incompatibility by using newer gcc version on old distributions. [boo#1181582]- Rework packaging based on Fedora packaging to separate all the components to remove the intrinsic requirement for Zypper- Version 3.0.0 - This release changes the internal structure, but should be identical to the previous release feature wise. - Major parts of the previous Bash only application have been rewritten in C++ with the goal to provide an API around transactions; the transactional-update script is using that new interface internally already, however the API should be considered experimental for now - if you are interested to use it, please notify us in https://github.com/openSUSE/transactional-update/issues/52 - A new tool called "tukit" provides a C++ tool that can be wrapped by scripts to leverage the functionality. Please consider it experimental for now, the commands may still change. - Bugfixes: - Implement support for system offline update [boo#1180808] - Add statistics files to update environment [boo#1173282]- Version 2.38.3 - SELinux: Make synchronisation work for both pre-SELinux snapshots and later snapshots; SELinux support should be ready for most tasks now.- Version 2.28.2 - SELinux: Exclude security.selinux attribute from rsyncing (again)- Version 2.28.1 - SELinux: Fixed changing the wrong grub configuration file - SELinux: Move /.autorelabel file to writeable location- Version 2.28 - Add 'setup-selinux' command for easy setup of a SELinux system - Allow complex commands for the 'run' command - SELinux: Fix /etc / overlay labeling- Version 2.27 - Add support for network systemd-resolvd network connections in t-u environment - Mount /var/lib/ca-certificates read-write to prevent SELinux error - Prevent calling transactional-update from within transactional-update- Version 2.26 - Fix broken sync for second snapshot [boo#1176989] - Add new options to allow separate cleanup of snapshots and overlays - Check for existence of inotifywait before using it - Check that mount options don't exceed maximum length- Version 2.25.1 - Fix inotify watcher setup - Use log_{info,error} for more messages to avoid messing up Salt logs- Version 2.25 - Reduce number of overlays: Instead of using transparent overlays for all previous layers only add the previous snapshot's overlay; this will greatly reduce the number of overlays while still making sure that /etc changes in the running system will be visible in the next snapshot - When using --drop-if-no-change synchronize potential /etc changes with running system - Exclude all non-root-fs mounts from inotify watcher- Version 2.24.1 - SELinux: adjust labels for etc, fstab and grub.cfg- Version 2.24 - Add partial SELinux support- Version 2.23 - Add "run" command to be able to execute a single command in a new snapshot - Add "--drop-if-no-change" option to discard snapshots if no changes were perfomed (BETA, required for Salt integration) - Removed previous CaaSP Salt support (gh#openSUSE/transactional-update#33) - Avoid "file not found" message on systems without /var subvol- Remove unused attr requires - Change bc to file requires- Version 2.22 - Use pkgconf to determine installation paths - Enable SSL connections in update shell [boo#1149131] & [boo#1133891] & [boo#1192078]- Version 2.21.1 - Rework error messages on failing umount [boo#1168389]- Update to version 2.21 - Use slave mounts for /proc, /sys & /dev- Update to version 2.20.4 - Mount efivarfs on EFI systems to make sure the bootloader will be installed correctly [boo#1162320] - Fix removal of existing overlay directories- Add dependencies to btrfsprogs, zypper and snapper - most of the functionality is not usable if those applications are not installed. [boo#1166502]- Update to version 2.20.3 - Reintroduce compatibility with RPM < 4.15 for inclusion in SLE / Leap 15.2 - Prepare for removal of /var/lib/alternatives [jsc#SLE-9101]- Update to version 2.20.2 - Use full names for zypper options [bsc#1164543] - Ignore /var/lib/rpm in shadowed file output - Optimize create-dirs-from-rpmdb- Update to version 2.20.1 - Add missing documentation about --continue option - Avoid error message about missing fstab file on first snapshot creation. [boo#1160213]- Update to version 2.20 - Add the option `--continue` to extend an existing snapshot. This can be used to perform multiple operations before rebooting into the new state. [gh#openSUSE/transactional-update#16] - Make sure the dracut service to print warnings on /etc overlay conflicts also runs in the pre-made images. - Add "none" reboot method - Remove conflicting overlay artifacts in case an existing overlay directory will be reused- Update to version 2.17 - Provide network in shell on systems where resolv.conf is pointing to /run directly [boo#1151081] - Print new snapshot number at the end - Always mount /root subvolume when using shell command to preserve history- Update to version 2.16 - Use default command if options, but no command was given [boo#1146116] - Make sure only one process appears in `ps` output [boo#1111897] - Move update check: If a new repository is added (and ZYPPER_AUTO_IMPORT_KEYS is set) adding the new repository key won't fail any more - Avoid unnecessary snapshots / reboots by detecting zypper operations without changes more reliably (e.g. when installing an already installed package) - Update the manpage accordingly - Bugfixes: - Ignore commented lines in fstab when checking for shadowed files - Avoid warning when copying network config - Remove Perl dependency - Building documentation requires Python 3 now- Update to version 2.15 - Move description of interactiveness [boo#1132438] - Enable network during update [boo#1137890] - Add compatibilty with new overlayfs versions [boo#1140057] - Allow updates of the bootloader on EFI systems [boo#1139015] - Add support for /boot/writable [boo#1138725]- Update to version 2.14.2 - Prevent unnecessary error message on systems not installed with YaST (e.g. KIWI)- Add requires for bc, needed for some calculations- Update to version 2.14.1 - Improve non-root fs changes checker based on feedback - Disable snapper's zypper plugin during transactional-update run - Allow parallel installation with snapper's zypper plugin (useful on read-write systems).- Update to version 2.14 - Warn user if contents of /var have been changed during update - Noteworthy: swapped position of upperdir and lowerdir in fstab for better readability - Major update to the transactional-update guide- Update to version 2.13.2 - add hooks for telemetrics- Update to version 2.13.1 - Bugfix: Clean up empty /etc snapshot directories again - Use official release files from GitHub for building- Update to version 2.13 - Fix a serious data loss problem (deleting all files in /etc overlays) in case /var/lib/overlay/etc is not part of any snapshot any more. - Avoid error message in case a system has no /etc/fstab.sys- Update to version 2.12 - Implements support for needs-restart (Fate#326451) - Adds easy rollback to last known working snapshot by using "last" as the snapshot number - Migrate /etc/fstab.sys entires to /etc/fstab for systemd being able to create mount units; this will prevent errors on unmount - Remove implicit --no-allow-vendor-change - this option can be configured in zypper's configuration file now - Add support for mounting the /etc overlay file system as a systemd unit in /etc/fstab on a read-only system (replacing /etc/fstab.sys in the long run) - Various bugfixes: - Only remove /etc overlays on read-only root file systems [boo#1122455] - Disable "Persistent" flag in systemd timer unit to prevent updates during or immediately after the boot phase - Don't set global zypper options during migration - this is not supported by the migration plugin - Fix error handling when interrupting while rsync is running - Filter out security.selinux attributes during rsync- Use noun phrase in summary.- Update to version 2.11 - Update man page to explain new /etc overlay handling - Add special handling for migrating away from old overlay directory - Read default update method for systemd service from config file - Add package "transactional-update-zypp-config" to prevent accidental transactional-update uninstallation on transactional systems (boo#1111319) - Use "up" for systemd service on non-rolling release distributions (boo#1111321)- Update to version 2.10 - Introduce /etc overlays - Each root file system snapshot now has a dedicated /etc overlay in /var/lib/snapshots//etc - Changes in older snapshots will be visible in newer snapshots (if the file hasn't been changed in both snapshots), but not the other way around; this makes it possible to roll back to a previous snapshot even if the configuration is broken - The /etc state of the oldest active snapshot will be synchronized into the new snapshot to prevent ever growing overlays - Removed creation of /etc backup snapshots - Removed complex overlayfs cleanup handling during dracut early boot; only thing left is to output a warning if files have been changed in old and new overlay after snapshot creation - Unused overlays will be removed during "cleanup" operation - Add compatibility with snapper >= 0.7.0 - Correctly detect BTRFS ID when using multiple snapper configurations - Fix disappearing prompt in "shell" command when application was updated - Prevent accidental rollback on fast reboots (boo#1111786) - Use zypper attribute packages-to-change if available (boo#1105992 & boo#1097619) - Add kexec as reboot alternative - Added explicit --with-doc / --without-doc build configure opttions for enforcing or excluding documentation build - Removed precompiled documentation (boo#1088676) - Added more dependency checks to configure script - Small improvements to documentation - Restored compatibility with older rsync versions not supporting the -x filter - Small bugfixes for cleanup in error situations - Fix possible incorrect detection of snapshots numbers during cleanup - Mention parent in snapshot description - Add dependencies for documentation build (boo#1088676)- Update to version 2.6 - Add --interactive and --non-interactive options to change the default interactivity for zypper calls. For previously non-interactive calls (e.g. dup) these options makes it possible to pick the correct solution in case of conflicts or make sure that a script will never be stuck at an input prompt. - Add kured reboot support - Tries to clean up temporary files and mount points if transactional-update quits unexpectedly - Remove trancactional-update-helper (replaced by zypper options) - Create /var/lib/zypp if not available (boo#1104452) - Robustify parsing zypper output (boo#1105992) - Various small fixes - Changed permissions of systemd script again- Update to version 2.5 - Support for overlayfs attributes like trusted.overlay.opaque - this will avoid disappearing configuration files on system updates - Documentation update - Only sync /etc if it's on an overlayfs mount - Use correct locale for zypper - thus updating locale specific packages and avoiding "empty" updates where transactional-update didn't see the change - Add dependency to attr - Fix permissions of systemd script- Update to version 2.4 - Bug fix release- Update to version 2.3 - Reformat help text / synopsis - More detailled output (use --quiet for less output) - Log all error messages into log file - Avoid potential lock file race condition on self update - Accept package names with whitespace - Don't wait for user input during self-update - Fix broken error message output when creating new snapshot without reboot - Fix erroneous mounting of stale grub mounts- Update to version 2.2 - Fix security issue in self update [boo#1091316] - Create dirs in /var more reliably by sorting the list - Rebuild initrd (needed since 2.0)- Update to version 2.1 - Cleanup the code cleaning up /etc- Update to version 2.0 - Create missing directories from rpm database during boot - Merge /etc overlay with root subvolume during update- Update to version 1.29 - Implement self-update - Disable optical media on dup - Ignore certain zypper return codes- Add conflicts with snapper-zypp-plugin- Require perl-HTML-Parser (needed since 1.26) [boo#1085764]- Update to version 1.28 - Adjust for latest grub2- Update to version 1.27 - Fallback to snapper without dbus support if dbus fails - Add workaround for update-alternatives - Add support for /usr/etc/transactional-update.conf- Use %license instead of %doc [bsc#1082318]- Update to version 1.26 - Auto accept repo keys config option - Detect broken snapshots after abort - Ignore user deleted snapshots - Include all error messages in main log file - Add configuration file - Correctly implement migration of major OS versions - Default reboot strategy is configuration option - Salt option is deprecated- Update to version 1.25 - preliminary SELinux support - support for seperate /var subvolume- Update to version 1.24 - Don't save unused snapshots if we may delete them again. Partly fixes [bsc#1071038] - Copy passwd, group and shadow to /usr/etc if modified- Update to version 1.23 - Fix re-registration in rollback case - Fix problems with updating the grub2 bootloader - Add support for migration of products with SCC/SMT - Re-add support to re-write bootloader [bsc#1068933]- Update to version 1.22 - Rewrite cleanup code to be more aggressive- Update to version 1.21 - Reset salt grains even if no update was found- Update to version 1.20 - Improve documentation - Add pkg update option- Update to version 1.19 - Add 'shell' option for debugging and testing- Update to version 1.18 - Auto accept product license in non-interactive mode- Update to version 1.17 - copy modified bootloader config into snapshot - unit file cleanup, no change of behavior- Update to version 1.16 - internal changes [bsc#1045942]- Update to version 1.15 - Rename option ptf to pkg - Add option to set salt grains- Update to version 1.14 - Fix check of return values of commands in pipes [bsc#1034900]- Update to version 1.12 - minor bug fixes- Update to version 1.11 - use --no-allow-vendor-change with "zypper dup" - update manual page- Update to version 1.10 - implement and document rollback option- Update to version 1.9 - fix umounting of special filesystems and subvolumes - fix interactive installation of PTFs [bsc#1023026] - fix dependencies of systemd service- Add Requires for lsof and fuser- Update to version 1.8 - fix references in html docu - build kdump initrd if we build standard initrd, too- Update to version 1.7 - build html docu, too- Update to version 1.6 - Add support for kdump [bsc#1018098]- Update to version 1.5 - Install PTFs in interactive mode - Sync state file between current and new snapshot- Update to version 1.4 - Fix wrong error messages - More debug output if umount fails - Try a second time if umount fails- Update to version 1.3 - Add initrd option- Do some spec file cleanup- Update to version 1.2 - suppport ro-subvolume with overlayfs- Update to version 1.1 - bug fix release - implement lock- Update to version 1.0 - implement and document PTF options- Update to version 0.99 - Support for rebootmgr - Write real manual page- Add empty directory /etc/systemd/system/transactional-update.timer.d/ so to make it easier to override transactional-update.timer entries.- Update to version 0.90 - Finish normal options - Implement support for PTFs- Disable restart on update for post install scripts- Implement activating the new snapshot as new root filesystem- Initial version/bin/sh/bin/sh/bin/sh/bin/shs390zl37 1683130318 4.1.0-150500.1.44.1.0-150500.1.4create-dirs-from-rpmdb.servicecreate_dirs_from_rpmdbtukittukitNEWSREADME.mdtukitCOPYINGgpl-2.0.txttukit.conf.5.gz/usr/lib/systemd/system//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/tukit//usr/share/licenses//usr/share/licenses/tukit//usr/share/man/man5/-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:SLE-15-SP5:GA/standard/ca17255e3778f6783b6ed44c65a94c3e-transactional-updatecpioxz5s390x-suse-linuxASCII textELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=c8877f1c36f8b917e64e2bb62bf814699facfd7e, for GNU/Linux 3.2.0, strippedELF 64-bit MSB executable, IBM S/390, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=fec2720c0a813725be02ee5df0a81d41ed0b13a6, for GNU/Linux 3.2.0, strippeddirectoryASCII text, with very long linestroff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)R RRR R RRRRRRRRRRR RR RRO\Dk+utf-8364a53bbde62eb1d0e77917afe9d1069cf29b6ce3694d5a05e3c18ab16890d43?p7zXZ !t/ǎ] crv(vX0"7g-a`TcFD*Lu~1Q{T!lJ@m#1CmFJWkd-6n:ڂTJYbsBX ~+tz{u`>iHZDAq;^ҁE96 d9n@hĥ$W 4iM4㒖<0`Ձw2 e¶ga鲝^RdMR ]gwQzguYF2G*Cc"G%qވQg%]!]2Ⱥ&q)ڽH/03C==RNݙp{BfS+3xÄZ \(F0SI\ ,Va^ڑHm9#b:"{5#ޘ#I^?]8Cbܦ-1@mcLR#t[_8v8]!U!A3ifZsnfجZJX2NA QJY4^5zRJ^nB)>PxV'Z J6rpr wcdg709آLDD ܪ i6* -fS `#:>q L-}rђϪh^ 7QZd1㐡bwc&U͕WClvvMyI@=8fH?^װYTelyBr Q 1 SS7i3/J}O&v`3.u;Ex'lm#/cIVVɿrPy-/kjdQ 4V_S.EsJ##O'Hɳ4 ۩(~RS<1G2F2O*g@^Q(@pgT^ک-[M]u>kJ->$ mP4QD$[zޑ @\cT'7͘1Ȋt:*DfX `Wƞb&OVN;V̈́P!psDN]_6`)Y zN(^)nP214g?7ʂ 1>C\1Ęa_%wv|Е!5w&SKگ@)HҭmHb P)[:?:AY26cEl_UBka(ᕗ<(\D<%J$'k=Aa [N"g_q:+' /a_X"W2^Cd ۟S>*|(ϻtuGeG ˑo ?B fN^}tA 9wT|[kvs[+p$LΌ |sqoW֠ء Ըy2g# WxyѤl N5JGLȅ&O=V:#F]洨k Q-=.~ ?1>="x0C`ٚMTsOV*? , h0i \!LުȀ-WQ&>$96J$#%5> `n,#Px9f6[֟ ک|:~m6!ųi[ tKӲz\\ޡOVVԍu"i:Ms=?C|RLEW]|RB.7hzu!{tLq+ }WbF ;;-p )̌PNNniM__K&p yNAu(笌Ii6S]+ <&Hz:td;Yi5?{zѷ,#UңF:\~SPEt؂SM,&X怤 /m߼;4"A1޽Fu9)8Q9iAs LGL}I'vU- {:K&9F]Yy@_afR4dΟ=߬׾@Ѭ6o3Auɼ_D_d`h{jjxqvĮ]%V^"KWq#:(EITN0uT{x_-LJPNX ~SE1ލwUwĴ&=bf 97E;CNDZ&a~GɧOD@R*R EKuG6mOoL&u^6E;ತHikm]^B0x9>4;JEC=+me~@C =G`$m,~ȄdQ lN\Z(_Y҇@#9.7|!%dh3nkΊi'y)g i;꿦Jx&cM ?dHMOMՔvG9/ŖzjwQ Fg&^oJRJtgmu諸"`FVu4JdH5d.#-|:}n͌tne NKv^xʯr )4#?]dm3EHwj /CJT$ YB{e'(4T"h2N>]PXR7F 0ہr mSaګEgMI׵_ժ͙癙fRlh5Svh(c j|KN+ףHEFn^JyS/NOA=?P3HYk~͇ l 'ࡇ!HG:o) At]V1Q ⥸Zr ŖS[A~+>2q(~RO9c,0jW QۺmC\Úx!mm Gr-y酞WcA9&ӽU}t 2Dq<EftEh#`%-i8{ArfwiQ9x47vg{l=@%c#.2dUZ6J4ۛ[ZoJ=#(FOx'mdLKq`N3iFGOa1@+T0*4ϥƧVx{!N2hLES= `ywPbɪv |˶@I# 1JU\ӫn)eT[H*~,-/]\5<WE酥G7kY3ieCByw~2/לf FC>15Xdwmaiˀ>ɡn=Ob.zŀW5#M`reuc1wٕb'z,{ tdOeR8Y`*)!7t>o' }w%6kS h!4bfė`Hw8>< AE>O@l9!wcptEV2pA4ZU (|t`A :’kI?̈}ޱ9 mjwWR_8uE*M֘OUq?aJ^}}i]J p̖Dw6'oW,RM|O?,-r3(,a! *h z6*gV ^)A/kOZu6GXyU~qt;Orw"h|UX~.WB͊%=@j&Wn”R5) ѪjksUV1&@ :pvD=7MV38~D f艁͆Xw~Gߕl4kB҆NjNp[1qU//!d~^vذ!}fݬH;f3+dP>pT}!A44E%o2ʼsԻEɀ88, [#8ᒍ{iv[QoꩣP9.u_Q>lʱN; vٗu.*tʦs -F|$L_u1aK Yʰ6aV +*z!PʋK\~mbvm乘U`jr0;-g*j{gGzULћ\1Э9N[]6U}!gxmuI : Ȥ1qnzFŞzNc0jsrfZCN M\Hn&bja'TV̼lhbW.rn5J#@38c5u-X"{IRpZT@ &X#@%uE57P?%r'ILy,Te"Nd)xqFLk&~RP_E\$ƍ/2'N]~﷉mP?(F Nl,$kTo:\6/1ԥ*D Yt@j9O&550r6O'sRYz?;?{˲*_&izz_oa 5ܬd$Gp* i9.Ў9ٗ| 8t=KJ4OzЌ?~0SGAYϲ#&J_LwWtYi'b*CoKt3zwiO v c /\^Ɗ1 ݾNPB}K0 TTW\J?rSuq;\lȡq mRf$l EΫ_'ȔۋFRLjܘfr%q履;>VWo yv68 d1o|7"yScЫ[2px?tTY8rî'7X ,JK84n"~#Xs }vՍBxJV0  sDNwJjJQlGY7uE΃D6/l1b|bw&K/ 4sGHIϝ?g<ʼnT\so Nj ~YT4g$0*ڧdrv3SWDm[IӬMF\x *1?OuPʴ{{9 70ϼq̇dFF84Qp.D[0kc> a@) ZQymIԏ ̩6H Lp @@@ " cݏvaXD50`F-V~lKTL+v`O7FQ_Xt}~qjHA$zZRTIk5gbk (ާ7&v, 1G|V!/QH8AMW>1!;oBC,Wӓy1h?j Vz ljaƖ\7lB u͐'}hp($%drjNjm:e+t̴')U-ߋj.ӔPk}k,FqRp+Yլә[(V[^w" M`@M1K ]"reDc.b>Y .B|J;SgFBX}h?<z2laޙr%SS=osPr}rĒ;t+D)0:_'2"z }_9`›rNKJ=IO 2uc${/|U-DXc6%e؀zRH¢W8֞$tl ԲKyX,pd_y;@kx<݆GƷy~OarUXZOL3Luߓ;/OH~i Yteӻe@_#-H,7 icvAn%{5k;t^sw~isX:=R \,)Q>xo{xd:"*q&N9򲉪? tZp$M @(Y7 ї4aVrCߊ.NQz l+-DfxE34L!##/WEF^F{'օۿ V>W6D3ۼk y4Vlx:{JNel9" kAQp[(LKK0YUٶ3[!?ygb@Nߒ 5z&XDI7;JńǀQVNi+9?93X^ Hsg V~{b K81;uiӥ`4)tL1t,UysbJ2MP }sV #ŔB8!ʛ>8a.Ml2zH^穜>ɕ; rMhBQb›}ys)wgi~<7λj_>6ꔪ- n-T5dk"v&vhQpj`ƣ$;.}/^Z^{#2͙0w|qèK-:NV}XDrVpUyiy=&\mRe˝qP a%r3;D=wETOg?>%s,JR@.Š4l{!O˔ߌ 326ϴTBn.}dOuq(.iL*AnٻY[b Bc~p(|#vbTv)[ &[F'/gLrCбsV@ k$PVCeELyūv!<:Z,ųA¹f t`5M{<#EW:z'Zc+{J)#JF 2@XPqew%%Ef nꞮfə;(H_"~sb+pc3kifW@J"Ґ▲3!?meUׅkti,Gʞ T6Tdzhp :Rr)}!cegi/VOOw*E^F$D?36R,x/l~GmTv аps^bbȏw%1|*OWJvλ:eQ-gpO'D;KVUXz!nGJ-w$ob,.BsbA01ȿVט4GyofϵB9Myz $u22-i8s*}ϻ? ZaF%z-d#e.ʅWߒ"o[Q`E^:KT>'}V;5# 7glVßj(',W (ܲopC1sX/:smzC9mPQ*sǃ[{,UXDz F]1ȃc/ + x N%a q!#`x:5ɽ.)cwb]9@U-AΊVt;.Cy=յ]:R۾B~3:_3)b!v 0 U%{Imv@vD_\EpBPu?ǧK: V,'*F/rͰʷqЄIVJt`y $ DY `]6!rG N 0Q ߻ \}f}4F\q]`c$ٗkiDy226όVژ?KILCFF|)Hl2AAUv .ɢA'sa82N7ޚL!\gP9n@A)E|uBdޡ8cU?qd׋C؊抔ƅHL4[75 NYIp9RЎ;z\u06#3{oz,OWK-SV5rw\jzZj9/Cb[U5sPk]ǹ|[_Hif8U:ܡlt%A.Wq#oӸR +M#Q3=^.^p`Μh?h^QX<2?$X%9I{gv,\qZunM/TO'x:y ׸ $,hA^Z3@q:ˤJ =6\2q=(+D7b) $e?5Y*_|I卒 :yc'QsV%/؆ 118/^Va YI7.8M g+U6PhO5b2謖߫A.-O6 NWC!3Mxay~6@_,0pvf5#1M mϭThRIKſ?=Ћb#^sߢ[F0:u(ʦm_2>#f۰P-C9s4^`7_ <.lA׋5"=WmHoٹG%qs-mRtv#L.ߩS 5J0r:Pοhӫli3n(dщa{C~@}"yD:@~l($:_Z&Ȕnug_gҠkyװpӷDe|\nn\Qhb(Lz9TWGM~Ǔp{0[ :),_kb y[yV/$ӏ㜆DXL)&3Y@:jv#!z*w4T)Mipd)}%2xP!3 cJvPzk{\-e;;ق&fY_}CYܢY7A(21 8xd7!Y1\#p*Շ+tZ ʏ1,R4e|6fg_<:bALuȣ.X %ªM &X%rW!:yqb B0^6 WsIYJb^khIN, ru#of/ c@$ L?] 4DZP@eDq%q ӒҞ}qؔ0~NmDi~#@ASs+JFKRE><Ą!ygrqm1,1]О72*16*TwT#o絲nh]DސĹVʕkjv\vRBϹ"ZB"s^u4m>s}!c.E̘;$D͍qjX> Qc6ݒS3oc䬨z=J0(Sas~mhʆǀbWmܮI1tlPq ];CerFbw/Ix :p%ٖœ[۲1٭J_.l xwTY^~3 ;:%ea)=5>bAӛi"2dshz0pZc\iI1M9$af _-0 7i$8Mȯt'k )#l+J}9ϊ >YoJVC|ޑR @eπ":EgEA/ѩEgON9RO-ӏ'M?ks'7R6>Zْ!lM)6[LXLDA;zݵ^إ\xAo{iAظ-@7 s}k`C(woGV+ 7 U5g,Q!e+LQ"D?+) م2/xc| Yk6 ]2pK/܃O'OYR{@8:u07|2[GxT,kl+jb΂SjNA.hp&*ly!Z|Eo4 :hh( ۜ *IBh^4 t',o;.XM1Y0&Ttn-p=WDh5a'%]Y\y~KRdRcWaO{opJϹܟ='>K]1k!blTc[okwkjm t9@%M]~WnO훤-DC(JKX\3;_J9ES5UW-/to(XJY6{,Mčg Mz K^P)n<5՚d΀IsDĦˮcXx.f)-X7@-/; `p*E3V"oךˀ|lC_++&.a6?wĸxG]3,W":@iQ4>Ckwxs2;O?M^`zJ okwpp=`wc M]Dc4#I¾$L/1X8d=Y 8 LEp~Z]; +ur=^~1^pZo9k0)h\.cL(_hQ*tHX}!mKGTItl `H12=۫.ׁryOw߶`,Rg\X mGuu'~nsuإ]tSE/CSvETzy dW=cμ;E@ }ia7![7>%Cqp?ȑMo!I8zbpQ;`~/㿭*IVbyR25}YyG;cw'@g0?N,fJyvbKle/*wPz?WZQ< 9 OڍB3 W:ɫ1E.CJB }|v)~bY~&HzEo3jvǃr}A&ބ_R}n#/3d}`t^\Ab=[fWꛦ쵔 au+] ֵ|-, P(Ɂ HK+/j@o7NPY6\GGU܏X7JG%>.*˗D4-W gqΡo \w%59e'G3>j']Z@+ .^~\*/e9Nxk.4&@˰D§N]f2yJHpoJm&`w.39#Gɗ0$F TxO0WVpz&wv_҄DCc[is1'X0kMK *ƚXwd avnXTo`! Qq_m) (UފL]? /;vl{B?HS[K3.* =l^Ze8JiN_ 1@@ Z_`'*q_(;WPn#5mEsVzMkTuv4Aa{n ~}9[L90ϋɡ;Bf-^'JPj6ALm<1f]]° 9w5WNМDpw=5q{Ӣ~aE8DAW"o _yXLBa*@9s_L1KfatR(|Tqp23zm/MI5XL ^ڊzW[-uni<Ҡ'YYGC)Y藒1]=4/=@Qg,`+ۭLzKͻˉѹ %:b G4f==l V0eO .udOpiȉy}i QE4늉oI7R`UQNj$<>; |ŤTw?Ovϓ'AoO^Ef Cr ~7]|Xb_~'H%ky\XǮy˱&!tk'a=⥈" ciqB8Jy a!jJ3 :Opz3L3,K*>B!l?)I:RŕXKG^|`lh rZ ^"}tpB"} EP3;4 9F=0sYͲe ;!185&Ѫ;^]JAK|>v;:?;_溤B& ,pzXC[nDTjNFSb i_!SLn' h Nh^l)\0HFwN)ؖ`Z U>K|d*=Ri9M:*PaC4 I'.TPE[OK=l<)u;9n{JoHPlx|k~Ҳn>&X!!*r:#[v*>xGI~H*`<H:ɥ68dsw-,݇К!!\\ _]e43! u Pb$Ƅc+6N*iDzҌdQ/w,4xe="(-bÐdsF]タ7i܅j«$kk՜\/ix=)JcH5J0,Jf@+8ٶVhh,5"Wm+8Qc/,pEV1]yuG_7z|9L0sv7uqT u(Uo肞a("@H$ä dN1hc7 ?2-ObݶT4ydݦ6Bϵg_I.-JK;tg/](pז,&7fSt K[KOb/W$)yȄ jkTFA@z(2wG<ozx~I&o_ *4Q{Q,뫬duS("Tp9`9C.І6[RݜttT[ˀtI*l-tr] #dFeJQ&0{h,:JW\ X? lBOڙ7RRSM\{~kfQ` piB[58Y7eB Z}cOwUxRv"(MA'ۄ0#%T5ѳ,^tqدT$/X3@e (Zt|";a(0]{G y;}aZ/mW{<.F@c&(+OzL{$j^t$E7)6 e0}Jh 05^3d<\OSyua3xϮ `)֤G,dRA9!}X{d> Hc FDO=y2yB+9mt@Yܘ^CMOVEOJX?U%?ө~(t6ClQȣ׌X5*faUues}ZD@+hHs[&iՂV-ӓt,ma-'T"+0X9XD;/7 R$~vU#BNYLU*5`T[x#r?:#Y{˾*|I"R63B|$)TS "nL5,taz>ԑE-: ib ׾abcE+sMGBLˑrE蝟[L2{ge}pqHP7ABq~_XQ ZL+<02t 4Sʺ3;CpK,-,~;fѕr?K+oj*.i[a Bv>q+,i,ꩳ2l;"~ᵉ*P{eFv1JqmZhUU`r}e at` qgi§?^ 3ⷡ#F9 9Mǽ `汘'lP;9͕,UEX.C#N@  D =g8$LE,*ιyɎaj{UKMXAa *&:%1Bi80N7j$zOud2$Ȩ{ԊB]|4k u69a&!PBE ¡ n cbC6eC M!]\FZz^õk\ ޓ"a¡=}D€"QG*(<3]2y H"X1KdLJ*gN4:ulShIษua}j!񴠑c>C8cD- oC[c螻g ƗyGE&DVk#9o6qsA-k ?z2؁X{LhfC}==մnˈxvCP uG80D@=8D35Ĥ3` "\&3BGIpy 4Vo1U ,DIG`FRav MzM6W!~o=Qu4 r}c9\9^yPh dQզ4 `OQ$,9 (*JHtc9Ժ:p ۬_oه}R@@2FVU;UVG$Ӧs7s~ю+o6 }VXn Q|.̊͑/4Jրώ\1#u7ҡDKˢ oPچ=@w&ofٮQ%7D;O?eL L _VDdve~X&'Hs2J 21 [/QzsoDeUf4 ם{~@laI :X4`t8 4.&Q*WkQxd(}/ 3'22{[B%΢R%M~?%f_6u)(ǹ-&xX| #o-lÜ\7ŗM@D /GaQ\+,RZnhҤ}콽T7+[ERH(9 ߌlxhܹg炘ƒd79pKGZ`򂹶77'Frn`$V$}I/8cy)w69 :*p/nuSn НfJ2yz0!fϵvgaw^e>xǏ1^ұ읰v_ƤB13wbc O<. eSdsNdf swZgR-%QtWٌ)~H|RJFCfir` S%xGh=ebXg24Q];1Е6in蜅KK 1E9.gG&37šAx%ֿ JxL%0áJth$柁oŹZ_u/`/{ȾXzT/D 4g1A?cHC>󟭫oW+5| cH~hCbBMgP\`{4L7 W+t}qӳC| DQͺ*yBݹo[]M%t>$Tt3a߄WMU ,־vv,~Ay{Emi$a)HA+v =sAmqN.,=ŕ* uGEr/,Oع1qI ` hYBx/,*>DgUV58Ixu ɭA>/ll/pN g{j*+-HfDTj9Vc3zP7xf`|8'$%40 ~Sl}cNbȴEt(Dxuaakz[\{P.ݥWo%=D++nDB A wB11(6)l.(pUp3(?}b*[<`U&rygǡUÖvJk^ǝornq;*1~f[AU><7?.}:3J8tDgy| $^$C2])ޭ_Xg6d2&DeI[z-6@1.9T/ȗ |_ wo1Gz{ȸ3aV |[SڑdXCr60&C{F5 zq\{"$luw)\4ڱgQC#Sٜ|oG"U{v[V+j28Y_AF 'msQjdJ݋;p8'˛ʴQ@&f% kHȪ(vSɛZ'NW/q8n/7`͊`=rRO'4 ꖝa Z :QPw %ZS 3@]kyNT2C 0 pUJ0 gm$Ʌ𷰘Qå U7 ^#Xt 000; 8g !y 4z T͛;Fܰ%pYj]rm\&X=B{G[X'Dڊ7zIl๖Ty6:w"xр "g><;iҍ|ώYa߲Y\*B5/Z<DŽk j]М}JQz:FnU֫ ~9Gc ."̶THS>]֫lťP*E ̌oKitV)F$uW%EaZ (5MJMsi`%JCn khs:PsnK\[yϭrER64H.r14*٪)FNxd; hϦӅig32?V 39⒑#Ԭ12tbt/@ CmY / *i G k7\%Bqٚ%H b9S`֓P]B`eQ>ao箿!Ǯ2S)ŒFu{~iH^XHSg3Re՗\>_y&m:ƩZ 9 .3 )`sEf?b?%<˰:J#guѲ ڰ T`N  נ!Ȋ6T%4o@;[ lY<qD^E>Ք˿+Mٳ>hT)dS.- x#&݌Ƞ7`-bq.6!R3ZQ~sgCXwb㏞baڙI3q.`GA@RE*Q 3w΅o^ZG􈷃EY̎$-`QsƱh: T' jA kq4C+=~ztEcv=@9f7CpLSo+D YY[$ 'bFWsXo/1=%5* XK<K?ܸ:7ȳjjX oF "21^D U*4H܊ 9X zb0Hp8~Ɇص'3biP,$O{s};3BsаYnd\*vJ3.h6dJGdz 1sO_қy0W#σ;MN&r"~aSbITh gZ)Q8ElĜT/Og%]7 l>*+e3C1h!$"O:܈շbRvilmP`qLemȆuxJۣF6fK.x֖yyx|CUaCM[C42d<4ޮb^6-ƈR3 >/}1R7_ B }'˜8jloYE/Ef|_qNf^ X76?_2`cYv'ԢhJu/+?ؓt z@(.~黂aF7axQA wJȩaԗ֢ɸ sIWnib~'*SxڔAv!i8r _/1ːZw"l_*g^+z@}1WUcuڽR ukDɦ"i@>=xcs5C\.ˎRt54tOzCIK[`~q*;lgA]ͧjލhd2fBTKM)ԃ.g1)Qxpe- WL&'|z&#ln]O$1_WJ`AIRdm0ѝAL֕iF8y)d۶RX’tn?$4`2f ÈpT-|pPR@&J,cf}V#o#+ ^ԩj4=ሚ>c8Xv F %yw *bZEئi·XŜ" D[ xSHǥ|.| u|]/9\86҄ƀM3,)]K= )k )-ZQJ˦b\$}6QA AhZAsR:46/UC Od1*)˽ВoWv=O+w2k9$kD=pycFnC ![^$_%u#5HnNIl.8zhXB}rL*0՚ nINd:p㊜vz@1Q23Rދk׀::IWaV'V"hdXQ4BTtJ;fFISYj֖*{DZ1 y#eaHi r%Μ.k`,%fy!'1qGY>٤҅L$AQ5Ex%YH "n8|m躊Ai ^My: Kwy˩b\= FEknnk0_SpYl~$ec:G>Ui߼q8P3*\p+(aT_]:E+Exo_= *hF:B;_悮MPT'6dl:k6mщ}dg$ul7)}ƑH#Zs^qZ/iւtߝsóNd@1a yWx| boڀz x'aqX+`~ל!cׄ-x r~$%}Q9MnC--Y\M?i>hf!GBOj o*SX2'n`=퍛]8QN]j6Ln[ՙe܁AMP~操,Q LJyR#P1k9e˃Zb.iDY̱(܃2AWӰ{2 ^s:s`Z'7A2%wPE-,MXSΏzi G,/;;֛{%C5 ۤDz#1 J[x-:"ED x'1'%'}2!zz&0;k梻]׍Uޏ v]a'1&\ɕ.]SqX6U|CD?gnzfZ?)e.W9rQˤ6oU>zd3XV H0 9 q>p KVŐL!ρ^M"?8'2K!0ڜ??_tQ,s@`nEΠ,Jy؅tܑ!MRGc<h4|s`.}+i;M ̐D7M_FRpy(MA,U@U; ǃO&!C,8ʼnN4:eH{OK9݃rNBd` >c~?n[(/608!qG]7#MՇ_J.a]BZ% > HW _W\}+cS){`ьXWwJ:#r ,'ޭ+6`U F5V6s8igNJ +G;e}bs{3Te!:.6_hc Ή,FE9# D1#؍sw{ʢsԮ#ۉxmb @Hux.^:YeҨ,ܾ6T,YD)B4@'R ˂%4M8᠏͠ SuOOKAu:'IDu29tp}mqhԺū!H  S d#:9& @Z,&rD`@с"քmi^9.mQ@dzV2[-5m271~--,:s> sꍥ.zY\*9EJ`7T_"k:ptlDbk,#xHc?goAb5pfX + =i|m!AZ~?Im?]ũ(,T3Т"H1'lvJ$!b*&h5$33q!W &JHD`qfHcW9L0oy5'r}Aѥmm`OyV-iO{Um^6sKJ $:NMMM& D {t.YY YkFv)lM+c')}d *!!M=A[8: qckXOzj@~ul*QX$kF``>j5}}V 3 e&g29dyKظ0_?{5xٶF2^z6`ъ Q>1;Ayb wRT}I 'ObwK,QH';C\\c Aץf Xk(~ fb)!B¬ޘ~7gPp'qrBH `/ fGbtHM lWGAhrXGĺí멀 9Bcx=V*b[;?R,IZy!bƼ&FwFZ6F9BJ B=3 V>RBOá\7C:JOuA&ONE2Ts%*꾐 =0!\ Zmg<8, )l{TeDXa5Hh |CJֲ}. %z]k"'u:GPZwVD ѽJ@< ?dSiK?\U`ds"^vaQ@EQ41v͔Gމi:NٌC7&XG\ĺ8 Bv8|}OK ̧K)>,FMSf˚ g*$9dA#jM̠e 梵4֏I3F/*O]ῥ[eqkU`^y5i#_BG6}gQQQJ[2 .l+jImzm4 x(=!b5T>3¢@Q>SzJvpIUx(qA%iOFvƀf?z&P4E[7o~Q24XC4N#ͽ dau6ӗ!,8J'+%a1d&lrԄ\]r!CcШېLK),ShxNigJXmM; %2 ';Iwd>4󮤐JY)Z텦9=u-6,toz}嶱2GMbCFTsH) g1&WkI0(P"7HL?ywPcwD**X5U?` Kfՠ7jOhAز'X\_!pjEZ[ 7xtb&4(pR{N3@yqyqŗ`E `mIY\,#9xʁfcl]P?M!V<ﲳI"5Tj6^EȐ5Vp)qJDc">d |ENs hwesL%,`Lt7ۖB!sM:j 8ТN{ 8|2Vnss:{l%5%F7wrs^ǔEOM*FY!~gW7Ǥ7Әc ޟ~;p_;AO50[SVt A.C ee:U=~ram&DQC"Ca L8Xp1sNātqd}.P`#0OS:[]md\%Mai^~v(5w.r$Rp\@,4$`-oXmk~Ng,F$cU- )Ąh;*#mup(yy!:\hkMsA%C:"0[ 7ǘD`{rթUowv:-3D5(L6KlaL|qgSX|`ܣ(:j$5 &6#9PiqSX&>FOSO4< -=!z\Z0 ,@qè9 l$5 aqHӅo )54Ղkr4Ο m,=͍#v&p+vӟdG $h7LξW nq˻<('h<$pGxOπ@/-.OP,rS:7gsKmxDR200*v a+S/D`D:u-!]kd-'<=='1%Pgޚ'r}; lՈq 9k