mdadm-4.1-150300.24.33.1<>,TPd,p9|g0⪶'&z=Hޓk@|IEl 2Bd?ŹvŴ_AY=]$ C|%PwՎ ^j:v  Euods_ڹg>(PZLLzӠP8gu S[PT`jJcS h< F鸨 3գ!= J܀d)YtF&@~7z理X7K}tsj"ٴ2lc,۶1&22H%n>Kl?\d   N  ?EL  844 p4 4 4 !\4 !4"h4#l4$p$4%d%x % ( ((8(99)9:-R9=>?@F G$4H4I4XY \ (4] 4^ bVcdeflu4vl w 4x4y z@P XCmdadm4.1150300.24.33.1Utility for configuring "MD" software RAID devicesmdadm is a program that can be used to control Linux md devices.d,h04-ch1dpSUSE Linux Enterprise 15SUSE LLC GPL-2.0-onlyhttps://www.suse.com/System/Basehttp://www.kernel.org/pub/linux/utils/raid/mdadm/linuxx86_64 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 mdmonitor.service mdcheck_start.service mdcheck_continue.service mdmonitor-oneshot.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 mdmonitor.service mdcheck_start.service mdcheck_continue.service mdmonitor-oneshot.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 mkdir -p /run/regenerate-initrd/ touch /run/regenerate-initrd/all PNAME=mdadm 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 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 mdmonitor.service mdcheck_start.service mdcheck_continue.service mdmonitor-oneshot.service mdmon@.service mdadm-last-resort@.service mdadm-grow-continue@.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 mdmonitor.service mdcheck_start.service mdcheck_continue.service mdmonitor-oneshot.service mdmon@.service mdadm-last-resort@.service mdadm-grow-continue@.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in mdmonitor.service mdcheck_start.service mdcheck_continue.service mdmonitor-oneshot.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 mdmonitor.service mdcheck_start.service mdcheck_continue.service mdmonitor-oneshot.service ) || : fi fi mkdir -p /run/regenerate-initrd/ touch /run/regenerate-initrd/all ;p%@e3u  A GbN9~1vzV O--e.V_  F>B p,AA큤A큤A큤Ad,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,[f[fd,d,d,d,d,d,d,d,d,d,d,d,d,d,d,[f[f[fd,d,[fd,d,d,d,d,d,e61882825487b9a2868cf47ddd1b8d5c66dcd5522b651d3e8dfc17b9077d255275c6877bc9bfb5d658b2c3a7cbce23e612193b114f0cc2dc2e1cdb567282e593c7a8b98a69aa04ab96fabe36591074b5106e0a6bf9a3db6b6abc3d685a20c28a762a29b328b28172c95f6a1e202e0453410d0ccf3449fb17d0d5770852965ed509df38f55bbebcbbd2f6908d1f9fd39db9a52068fcacc03177f5e98f52acdb4ccd5f7e9e8f00832bc9355799ab71026bff53bbdd8e99d1bfbe4c4b3a07f14481d789d3d1867df89d312d17cfff73b0cc4b47379486bb0ea4f059708dd20120781392df8b1b8b5cec3cd468ac46d498fe55a0a8c39b5136ad7b66b195c82f9c40d3957a71e448cd8425d585405606ab1c5f27cf72aa092c0cf1a9a9fa46d2036f636c1b4b1ef272bd27acd445af5e2761b48c7822189d413dddc9d942479383ed1d23260664142e2def5f249899645ed5abc16fe158bf586e0ee12bc0c3b6d70cc6c3ccc6a26a0135e61965884297cc9b4c0aaf8d9b6158f9324d711e446f1923c964c100f0d90630c3ccf1d8e25d634f240971688436d65e0d8ef14475ddbd5e87befe5e61b716be922ebd2be3bd05fc24f512082a00e38f7742cc2b7d52957bb43c7d8846a9e46c24e0263a6e0b6a004fa29c4b4bdc64b3c71146b2e93a63b179f5ab1e4c7ca00916e1444d8d47e1181ff6e9bd5fc8a511bf84a16a7ca833ee0c374ba87211097f6d0a720a11fcbbf7dd7af5eb60f3c0cb27d00191e831a29d9e56ab20cbd9d45e641d3643308b44545c616c12f48cf5f5694335788795a32029e943ad89929f8512b34ece38bb772416266a58153815e74c91a6366eabbb81d72b3245d3f6f6fee432aeb23fdf7c0c2ad5fe2c1e197c757dcf1f8384515e66da08f4125c0a269c6a67b3757b7d9fd09e14c6f67bb8c7ff1e541d532dca4da308a09f94e7c1c57032e19e3ed4f5e8c18c5ed533e47d35d833e608cdf7804e3207ec768327b0e324eab80693a68852d342bd19285bf7356753e566c5e179f889902a174c2f7e71b4eb1b1f3781e9577564db0c7b9b1b5bafab2f6f2ce99095a3e6f6d62f227eda2151af5db24ad5e728ffc437a3d672e828a1e7b81bd7783bbb76890b029d204368a9be769d3ff580110f0e7742db48b1b026ec56a0a556e786dc763e2231d021ebcb1ac6b81b2b86c7d53a23368ba6f38b0f5f347278156f9496707ed85c848e03daf5dd08d0a66e448308ec62df3bfac5e8529ba10e077447590676b7918d24d93c8eaa4b56926b83ff31493b122e688e44fb967258a36752921e40b0e7e1ae3303a4a293d063f4b6ae0a95f2f5590fc184371cd20c6b6ac9ac0448ed2dc45a3ca9b523bfe870cc904f143139c50f827ad981314e654d39ddc46c0dd4ff25105ad19addefa46ceded4a1e13c43d45441729dcf14d6bad9e656f25779970c7da4d4620c6b9af103a91a3f2eea5729c496979766e5e0bd858c7732fc467a5756529eb357d4ed5bee9c8c234e812454211b2e12ef75a4489583dcd5828098c7845bf48876f3a2b8d66182bb0e893ddbda1237c68fd1c6cab4a9f7d6e460c26b26ce3e9d7c1cb4c531c75e4dc21e4b18e9cc63533de2b094423b3eeda765be954c997b8cf79038c7fa64223c46505f1e8bdc65937ace772cf423b314c5722b29ee8a268bafb4044116175f6155f21c9e6bf843fada369fbf0fff3d0c6892ad74cce318c0521dfe2e1244449e52fde377fcc5edca1c4eea179d208b9dd44bd1c67a9e6606b9a23904a71c1a84cb7e64e9bf51ca0d33842210f3cc58177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643da173060f7917a742bb8525965991f937421faddbc95c9fd3f943a05dc8457e63cd8ef003b0a3b4374f68cd680ee90867e9ce590ac9708d637256785dbded66c81c28e536d92e853caf486a931ab076841d94965c55991ea6a0848eace91705c6dc0669cef48e7027552b13fd9d6f9e82b21c59dd403ac4d7b68ccbc2a7a7ce41c318d317bc193e07e27c83dffc45832ca1aeda1f4d99df96e79e16e41a5325cservicerootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootmdadm-4.1-150300.24.33.1.src.rpmmdadmmdadm(x86-64)@  @ @@@@@@@@@@@@@@@@    /bin/bash/bin/sh/bin/sh/bin/sh/bin/sh/bin/sh/bin/sh/sbin/mkinitrdcoreutilsdiffutilsfillupgreplibc.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.27)(64bit)libc.so.6(GLIBC_2.28)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.7)(64bit)libc.so.6(GLIBC_2.8)(64bit)libdl.so.2()(64bit)libdl.so.2(GLIBC_2.2.5)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3d@ddQdJc&@c(Yb@bb4t@b @a0`f@`f@`e_T_v@__K^@^@^^F^^F^=Q@^=Q@]{@]c\@\b@\\U@[$@[dC[dC[dC[3|@Z1@Z~ZTZLZ%8Z Z@Z ,@Y@X @WA@W>@W)@Vii@UUAUWU@U@TPTи@TWn@mwilck@suse.commwilck@suse.commwilck@suse.comnfbrown@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comheming.zhao@suse.commwilck@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comheming.zhao@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comnfbrown@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comjengelh@inai.denfbrown@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comcolyli@suse.comgqjiang@suse.comcolyli@suse.comzlliu@suse.comcolyli@suse.comcolyli@suse.comgqjiang@suse.comrbrown@suse.comgqjiang@suse.comcolyli@suse.comnfbrown@suse.combill@merriam.netneilb@suse.comneilb@suse.comtiwai@suse.dedimstar@opensuse.orgdimstar@opensuse.orgnfbrown@suse.comnfbrown@suse.comwerner@suse.demgorse@suse.comnfbrown@suse.comnfbrown@suse.com- fix for uncontrolled resource consumption (CVE-2023-28938, bsc#1214245) - 1018-Fix-memory-leak-after-mdadm-detail.patch- block array creation with long names (CVE-2023-28736, bsc#1214244) - 1017-mdadm-block-creation-with-long-names.patch- make sure initramfs is rebuilt in %posttrans (bsc#1214427)- 1011-Improvements-for-IMSM_NO_PLATFORM-testing.patch - 1012-mdmon-don-t-test-both-all-and-container_name.patch - 1013-mdmon-change-system-unit-file-to-use-foreground.patch - 1014-mdmon-compensate-for-removal-of-KillMode-none.patch - 1015-mdmon-improvements-for-switchroot.patch - 1016-mdopen-always-try-create_named_array.patch Fixes for mdmon to ensure it run at the right time in the fight mount namespace. This fixes various problems with IMSM raid arrays in 15-SP4 (bsc#1205493, bsc#1205830)- Update the following patch for (bsc#1207868) 1005-mdadm-enable-Intel-Alderlake-RSTe-configuration.patch- mdadm.spec: add EXTRAVERSION string to make command line (jsc#SLE-24761, bsc#1193566)- imsm: support for third Sata controller (bsc#1201297) 0122-imsm-support-for-third-Sata-controller.patch - mdadm: enable Intel Alderlake RSTe configuration (bsc#1201297) 1005-mdadm-enable-Intel-Alderlake-RSTe-configuration.patch- resource RAID failed during cluster patch, Mdadm gets floating point error (bsc#1197158) 1004-mdadm-super1-restore-commit-45a87c2f31335-to-fix-clu.patch- skip RAID assembly if DM_UDEV_DISABLE_OTHER_RULES_FLAG (bsc#1196054) * Add 0121-udev-md-raid-assembly.rules-skip-if-DM_UDEV_DISABLE_.patch- Monitor: print message before quit for no array to monitor (bsc#1183229) 0120-Monitor-print-message-before-quit-for-no-array-to-mo.patch- Remove Spare drives line from details for external metadata (bsc#1180661, bsc#1182642) 0118-Remove-Spare-drives-line-from-details-for-external-m.patch - Don't associate spares with other arrays during RAID Examine (bsc#1180661, bsc#1182642) 0119-Don-t-associate-spares-with-other-arrays-during-RAID.patch- Grow: be careful of corrupt dev_roles list (bsc#1181619) 0117-Grow-be-careful-of-corrupt-dev_roles-list.patch- imsm: nvme multipath support (bsc#1175758) 0116-imsm-nvme-multipath-support.patch- cluster-md/mdadm : avoid useless re-sync (bsc#1181341) 0114-super1-fix-Floating-point-exception.patch 0115-super1.c-avoid-useless-sync-when-bitmap-switches-fro.patch- Incremental: Remove redundant spare movement logic (jsc#SLE-13700, bsc#1180220) 0112-Incremental-Remove-redundant-spare-movement-logic.patch - Dump: get stat from a wrong metadata file when restoring metadata (jsc#SLE-13700) 0113-Dump-get-stat-from-a-wrong-metadata-file-when-restor.patch- There are some important fixes merged in mdadm upstream which should go with jsc#SLE-13700. This is the update from upstream mdadm including the important fixes we should have. - Detail: show correct raid level when the array is inactive (jsc#SLE-13700) 0095-Detail-show-correct-raid-level-when-the-array-is-ina.patch - Don't create bitmap for raid5 with journal disk (jsc#SLE-13700) 0096-Don-t-create-bitmap-for-raid5-with-journal-disk.patch - Monitor: refresh mdstat fd after select (jsc#SLE-13700) 0097-Monitor-refresh-mdstat-fd-after-select.patch - Monitor: stop notifing about containers. (jsc#SLE-13700) 0098-Monitor-stop-notifing-about-containers.patch - mdmonitor: set small delay once (jsc#SLE-13700) 0099-mdmonitor-set-small-delay-once.patch - Check if other Monitor instance running before fork. (jsc#SLE-13700) 0100-Check-if-other-Monitor-instance-running-before-fork.patch - Super1: allow RAID0 layout setting to be removed. (jsc#SLE-13700) 0101-Super1-allow-RAID0-layout-setting-to-be-removed.patch - Detail: fix segfault during IMSM raid creation (jsc#SLE-13700) 0102-Detail-fix-segfault-during-IMSM-raid-creation.patch - Create.c: close mdfd and generate uevent (jsc#SLE-13700) 0103-Create.c-close-mdfd-and-generate-uevent.patch - imsm: update num_data_stripes according to dev_size (jsc#SLE-13700) 0104-imsm-update-num_data_stripes-according-to-dev_size.patch - imsm: remove redundant calls to imsm_get_map (jsc#SLE-13700) 0105-imsm-remove-redundant-calls-to-imsm_get_map.patch - Monitor: don't use default modes when creating a file (jsc#SLE-13700) 0106-Monitor-don-t-use-default-modes-when-creating-a-file.patch - imsm: limit support to first NVMe namespace (jsc#SLE-13700) 0107-imsm-limit-support-to-first-NVMe-namespace.patch - mdadm: Unify forks behaviour (jsc#SLE-13700) 0108-mdadm-Unify-forks-behaviour.patch - mdadm/Detail: show correct state for clustered array (jsc#SLE-13700) 0109-mdadm-Detail-show-correct-state-for-clustered-array.patch - Make target to install binaries only (jsc#SLE-13700) 0110-Make-target-to-install-binaries-only.patch - udev: start grow service automatically (jsc#SLE-13700) 0111-udev-start-grow-service-automatically.patch- Update to latest mdadm which is requested by jsc#SLE-13700 from partners. Mostly the purpose is for latest Intel IMSM raid support, while some other fixes are important too. - imsm: Correct minimal device size (jsc#SLE-13700) 0073-imsm-Correct-minimal-device-size.patch - Detail: show correct bitmap info for cluster raid device (jsc#SLE-13700) 0074-Detail-show-correct-bitmap-info-for-cluster-raid-dev.patch - imsm: support the Array Creation Time field in metadata (jsc#SLE-13700) 0075-imsm-support-the-Array-Creation-Time-field-in-metada.patch - imsm: show Subarray and Volume ID in --examine output (jsc#SLE-13700) 0076-imsm-show-Subarray-and-Volume-ID-in-examine-output.patch - udev: Ignore change event for imsm (jsc#SLE-13700) 0077-udev-Ignore-change-event-for-imsm.patch - Manage, imsm: Write metadata before add (jsc#SLE-13700) 0078-Manage-imsm-Write-metadata-before-add.patch - Assemble: print error message if mdadm fails assembling with --uuid option (jsc#SLE-13700) 0079-Assemble-print-error-message-if-mdadm-fails-assembli.patch - clean up meaning of small typo (jsc#SLE-13700) 0080-clean-up-meaning-of-small-typo.patch - Assemble.c: respect force flag (jsc#SLE-13700) 0081-Assemble.c-respect-force-flag.patch - mdcheck: Log when done (jsc#SLE-13700) 0082-mdcheck-Log-when-done.patch - Makefile: add EXTRAVERSION support (jsc#SLE-13700) 0083-Makefile-add-EXTRAVERSION-support.patch - uuid.c: split uuid stuffs from util.c (jsc#SLE-13700) 0084-uuid.c-split-uuid-stuffs-from-util.c.patch - Include count for \0 character when using strncpy to implement strdup. (jsc#SLE-13700) 0085-Include-count-for-0-character-when-using-strncpy-to-.patch - restripe: fix ignoring return value of read and lseek (jsc#SLE-13700) 0086-restripe-fix-ignoring-return-value-of-read-and-lseek.patch - Block overwriting existing links while manual assembly (jsc#SLE-13700) 0087-Block-overwriting-existing-links-while-manual-assemb.patch - Detect too-small device: error rather than underflow/crash (jsc#SLE-13700) 0088-Detect-too-small-device-error-rather-than-underflow-.patch - Use more secure HTTPS URLs (jsc#SLE-13700) 0089-Use-more-secure-HTTPS-URLs.patch - Update link to Intel page for IMSM (jsc#SLE-13700) 0090-Update-link-to-Intel-page-for-IMSM.patch - mdadm/Grow: prevent md's fd from being occupied during delayed time (jsc#SLE-13700) 0091-mdadm-Grow-prevent-md-s-fd-from-being-occupied-durin.patch - Specify nodes number when updating cluster nodes (jsc#SLE-13700) 0092-Specify-nodes-number-when-updating-cluster-nodes.patch - mdadm/md.4: update path to in-kernel-tree documentation (jsc#SLE-13700) 0093-mdadm-md.4-update-path-to-in-kernel-tree-documentati.patch - manual: update --examine-badblocks (jsc#SLE-13700) 0094-manual-update-examine-badblocks.patch- mdadm: treat the Dell softraid array as local array (bsc#1175004) 1003-mdadm-treat-the-Dell-softraid-array-as-local-array.patch- OnCalendar format fix of mdcheck_start.timer (bsc#1173137) 1002-OnCalendar-format-fix-of-mdcheck_start-timer.patch- Detail: adding sync status for cluster device (bsc#1163727) 0072-Detail-adding-sync-status-for-cluster-device.patch - Monitor: improve check_one_sharer() for checking duplicated process (bsc#1168953) 0071-Monitor-improve-check_one_sharer-for-checking-duplic.patch- Update for latest mdadm-4.1+ patches, this is required by jsc#SLE-10078 and jsc#SLE-9348. Mostly the purpose is for latest Intel IMSM raid support. The following patches also include previous patches with new re-ordered prefix numbers. - Makefile: install mdadm_env.sh to /usr/lib/mdadm (bsc#1111960) 0000-Makefile-install-mdadm_env.sh-to-usr-lib-mdadm.patch - Assemble: keep MD_DISK_FAILFAST and MD_DISK_WRITEMOSTLY flag (jsc#SLE-10078, jsc#SLE-9348) 0001-Assemble-keep-MD_DISK_FAILFAST-and-MD_DISK_WRITEMOST.patch - Document PART-POLICY lines (jsc#SLE-10078, jsc#SLE-9348) 0002-Document-PART-POLICY-lines.patc - policy: support devices with multiple paths. (jsc#SLE-10078, jsc#SLE-9348) 0003-policy-support-devices-with-multiple-paths.patch - mdcheck: add systemd unit files to run mdcheck. (bsc#1115407) 0004-mdcheck-add-systemd-unit-files-to-run-mdcheck.patch - Monitor: add system timer to run --oneshot periodically (bsc#1115407) 0005-Monitor-add-system-timer-to-run-oneshot-periodically.patch - imsm: update metadata correctly while raid10 double (jsc#SLE-10078, jsc#SLE-9348) 0006-imsm-update-metadata-correctly-while-raid10-double-d.patch - Assemble: mask FAILFAST and WRITEMOSTLY flags when finding (jsc#SLE-10078, jsc#SLE-9348) 0007-Assemble-mask-FAILFAST-and-WRITEMOSTLY-flags-when-fi.patch - Grow: avoid overflow in compute_backup_blocks() (jsc#SLE-10078, jsc#SLE-9348) 0008-Grow-avoid-overflow-in-compute_backup_blocks.patch - Grow: report correct new chunk size. (jsc#SLE-10078, jsc#SLE-9348) 0009-Grow-report-correct-new-chunk-size.patch - policy.c: prevent NULL pointer referencing (bsc#1106078) 0010-policy.c-prevent-NULL-pointer-referencing.patch - policy.c: Fix for compiler error (jsc#SLE-10078, jsc#SLE-9348) 0012-policy.c-Fix-for-compiler-error.patch - imsm: finish recovery when drive with rebuild fails (bsc#1126975) 0013-imsm-finish-recovery-when-drive-with-rebuild-fails.patch - imsm: fix reshape for >2TB drives (jsc#SLE-10078, jsc#SLE-9348) 0014-imsm-fix-reshape-for-2TB-drives.patch - Fix spelling typos. (jsc#SLE-10078, jsc#SLE-9348) 0015-Fix-spelling-typos.patch - Detail.c: do not skip first character when calling xstrdup in Detail() (bsc#1123814) 0016-Detail.c-do-not-skip-first-character-when-calling-xs.patch - Fix reshape for decreasing data offset (jsc#SLE-10078, jsc#SLE-9348) 0018-Fix-reshape-for-decreasing-data-offset.patch - mdadm/tests: add one test case for failfast of raid1 (jsc#SLE-10078, jsc#SLE-9348) 0019-mdadm-tests-add-one-test-case-for-failfast-of-raid1.patch - mdmon: don't attempt to manage new arrays when terminating (bsc#1127526) 0020-mdmon-don-t-attempt-to-manage-new-arrays-when-termin.patch - mdmon: wait for previous mdmon to exit during takeover (jsc#SLE-10078, jsc#SLE-9348) 0021-mdmon-wait-for-previous-mdmon-to-exit-during-takeove.patch - Assemble: Fix starting array with initial reshape checkpoint (jsc#SLE-10078, jsc#SLE-9348) 0022-Assemble-Fix-starting-array-with-initial-reshape-che.patch - add missing units to --examine (jsc#SLE-10078, jsc#SLE-9348) 0023-add-missing-units-to-examine.patch - imsm: fix spare activation for old matrix arrays (jsc#SLE-10078, jsc#SLE-9348) 0024-imsm-fix-spare-activation-for-old-matrix-arrays.patch - Create: Block rounding size to max (jsc#SLE-10078, jsc#SLE-9348) 0025-Create-Block-rounding-size-to-max.patch - udev: Add udev rules to create by-partuuid for md device (jsc#SLE-10078, jsc#SLE-9348) 0026-udev-Add-udev-rules-to-create-by-partuuid-for-md-dev.patch - mdmon: fix wrong array state when disk fails during mdmon (jsc#SLE-10078, jsc#SLE-9348) 0027-mdmon-fix-wrong-array-state-when-disk-fails-during-m.patch - Enable probe_roms to scan more than 6 roms. (bsc#1156040) 0028-Enable-probe_roms-to-scan-more-than-6-roms.patch - super-intel: Fix issue with abs() being irrelevant (jsc#SLE-10078, jsc#SLE-9348) 0029-super-intel-Fix-issue-with-abs-being-irrelevant.patch - mdadm.h: Introduced unaligned {get,put}_unaligned{16,32}() (jsc#SLE-10078, jsc#SLE-9348) 0030-mdadm.h-Introduced-unaligned-get-put-_unaligned-16-3.patch - super-intel: Use put_unaligned in split_ull (jsc#SLE-10078, jsc#SLE-9348) 0031-super-intel-Use-put_unaligned-in-split_ull.patch - mdadm: load default sysfs attributes after assemblation (jsc#SLE-10078, jsc#SLE-9348) 0032-mdadm-load-default-sysfs-attributes-after-assemblati.patch - mdadm.h: include sysmacros.h unconditionally (jsc#SLE-10078, jsc#SLE-9348) 0033-mdadm.h-include-sysmacros.h-unconditionally.patch - mdadm: add --no-devices to avoid component devices detail (bsc#1139709) 0034-mdadm-add-no-devices-to-avoid-component-devices-deta.patch - udev: add --no-devices option for calling 'mdadm (bsc#1139709) 0035-udev-add-no-devices-option-for-calling-mdadm-detail.patch - imsm: close removed drive fd. (jsc#SLE-10078, jsc#SLE-9348) 0036-imsm-close-removed-drive-fd.patch - mdadm: check value returned by snprintf against errors (jsc#SLE-10078, jsc#SLE-9348) 0037-mdadm-check-value-returned-by-snprintf-against-error.patch - mdadm: Introduce new array state 'broken' for raid0/linear (jsc#SLE-10078, jsc#SLE-9348) 0038-mdadm-Introduce-new-array-state-broken-for-raid0-lin.patch - mdadm: force a uuid swap on big endian (jsc#SLE-10078, jsc#SLE-9348) 0039-mdadm-force-a-uuid-swap-on-big-endian.patch - mdadm/md.4: add the descriptions for bitmap sysfs nodes (jsc#SLE-10078, jsc#SLE-9348) 0040-mdadm-md.4-add-the-descriptions-for-bitmap-sysfs-nod.patch - Init devlist as an array (jsc#SLE-10078, jsc#SLE-9348) 0041-Init-devlist-as-an-array.patch - Don't need to check recovery after re-add when no I/O writes (jsc#SLE-10078, jsc#SLE-9348) 0042-Don-t-need-to-check-recovery-after-re-add-when-no-I-.patch - udev: allow for udev attribute reading bug. (jsc#SLE-10078, jsc#SLE-9348) 0043-udev-allow-for-udev-attribute-reading-bug.patch - imsm: save current_vol number (jsc#SLE-10078, jsc#SLE-9348) 0044-imsm-save-current_vol-number.patch - imsm: allow to specify second volume size (jsc#SLE-10078, jsc#SLE-9348) 0045-imsm-allow-to-specify-second-volume-size.patch - mdcheck: when mdcheck_start is enabled, enable (bsc#1153258) 0046-mdcheck-when-mdcheck_start-is-enabled-enable-mdcheck.patch - mdcheck: use ${} to pass variable to mdcheck (bsc#1153258) 0050-mdcheck-use-to-pass-variable-to-mdcheck.patch - SUSE-mdadm_env.sh: handle MDADM_CHECK_DURATION (bsc#1153258) 0051-SUSE-mdadm_env.sh-handle-MDADM_CHECK_DURATION.patch - super-intel: don't mark structs 'packed' unnecessarily (jsc#SLE-10078, jsc#SLE-9348) 0052-super-intel-don-t-mark-structs-packed-unnecessarily.patch - Manage: Remove the legacy code for md driver prior to 0.90.03 (jsc#SLE-10078, jsc#SLE-9348) 0053-Manage-Remove-the-legacy-code-for-md-driver-prior-to.patch - Remove last traces of HOT_ADD_DISK (jsc#SLE-10078, jsc#SLE-9348) 0054-Remove-last-traces-of-HOT_ADD_DISK.patch - Fix up a few formatting issues (jsc#SLE-10078, jsc#SLE-9348) 0055-Fix-up-a-few-formatting-issues.patch - Remove unused code (jsc#SLE-10078, jsc#SLE-9348) 0056-Remove-unused-code.patch - imsm: return correct uuid for volume in detail (jsc#SLE-10078, jsc#SLE-9348) 0057-imsm-return-correct-uuid-for-volume-in-detail.patch - imsm: Change the way of printing nvme drives in (jsc#SLE-10078, jsc#SLE-9348) 0058-imsm-Change-the-way-of-printing-nvme-drives-in-detai.patch - Create: add support for RAID0 layouts. (bsc#1162479) 0059-Create-add-support-for-RAID0-layouts.patch - Assemble: add support for RAID0 layouts. (bsc#1162479) 0060-Assemble-add-support-for-RAID0-layouts.patch - Respect $(CROSS_COMPILE) when $(CC) is the default (jsc#SLE-10078, jsc#SLE-9348) 0061-Respect-CROSS_COMPILE-when-CC-is-the-default.patch - Change warning message (jsc#SLE-10078, jsc#SLE-9348) 0062-Change-warning-message.patch - mdcheck service can't start succesfully because of syntax (jsc#SLE-10078, jsc#SLE-9348) 0063-mdcheck-service-can-t-start-succesfully-because-of-s.patch - imsm: Update grow manual. (jsc#SLE-10078, jsc#SLE-9348) 0064-imsm-Update-grow-manual.patch - Add support for Tebibytes (jsc#SLE-10078, jsc#SLE-9348) 0065-Add-support-for-Tebibytes.patch - imsm: fill working_disks according to metadata. (jsc#SLE-10078, jsc#SLE-9348) 0066-imsm-fill-working_disks-according-to-metadata.patch - mdadm.8: add note information for raid0 growing operation (bsc#1129900) 0067-mdadm.8-add-note-information-for-raid0-growing-opera.patch - Remove the legacy whitespace (jsc#SLE-10078, jsc#SLE-9348) 0068-Remove-the-legacy-whitespace.patch - imsm: pass subarray id to kill_subarray function (jsc#SLE-10078, jsc#SLE-9348) 0069-imsm-pass-subarray-id-to-kill_subarray-function.patch - imsm: Remove --dump/--restore implementation (jsc#SLE-10078, jsc#SLE-9348) 0070-imsm-Remove-dump-restore-implementation.patch- Rename the following patches, they will be listed with new re-ordered prefix number in following commit, 0001-Document-PART-POLICY-lines.patch 0001-Makefile-install-mdadm_env.sh-to-usr-lib-mdadm.patch 0002-policy-support-devices-with-multiple-paths.patch 0003-mdcheck-add-systemd-unit-files-to-run-mdcheck.patch 0004-Monitor-add-system-timer-to-run-oneshot-periodically.patch 0005-imsm-update-metadata-correctly-while-raid10-double-d.patch 0006-Grow-avoid-overflow-in-compute_backup_blocks.patch 0007-Grow-report-correct-new-chunk-size.patch 0008-policy.c-prevent-NULL-pointer-referencing.patch 0009-Detail.c-do-not-skip-first-character-when-calling-xs.patch 0010-imsm-finish-recovery-when-drive-with-rebuild-fails.patch 0011-mdmon-don-t-attempt-to-manage-new-arrays-when-termin.patch 0012-mdadm-add-no-devices-to-avoid-component-devices-deta.patch 0013-udev-add-no-devices-option-for-calling-mdadm-detail.patch 0021-mdcheck-when-mdcheck_start-is-enabled-enable-mdcheck.patch 0022-mdcheck-use-to-pass-variable-to-mdcheck.patch 0023-SUSE-mdadm_env.sh-handle-MDADM_CHECK_DURATION.patch 0024-Create-add-support-for-RAID0-layouts.patch 0025-Assemble-add-support-for-RAID0-layouts.patch 0026-Enable-probe_roms-to-scan-more-than-6-roms.patch 1002-mdadm.8-add-note-information-for-raid0-growing-opera.patch- Enable probe_roms to scan more than 6 roms. (bsc#1156040) 0026-Enable-probe_roms-to-scan-more-than-6-roms.patch- Create: add support for RAID0 layouts. (bsc#1162479) 0024-Create-add-support-for-RAID0-layouts.patch - Assemble: add support for RAID0 layouts. (bsc#1162479) 0025-Assemble-add-support-for-RAID0-layouts.patch - mdadm.8: add note information for raid0 growing operation (bsc#1129900) 1002-mdadm.8-add-note-information-for-raid0-growing-opera.patch- New patch: 0022-mdcheck-when-mdcheck_start-is-enabled-enable-mdcheck.patch New patch: 0023-mdcheck-use-to-pass-variable-to-mdcheck.patch New patch: 0024-SUSE-mdadm_env.sh-handle-MDADM_CHECK_DURATION.patch Improve systemd units for mdcheck (bsc#1153258)- 0012-mdadm-add-no-devices-to-avoid-component-devices-deta.patch (bsc#1139709) mdadm: add --no-devices to avoid component devices detail information - 0013-udev-add-no-devices-option-for-calling-mdadm-detail.patch (bsc#1139709) udev: add --no-devices option for calling 'mdadm --detail'- imsm: finish recovery when drive with rebuild fails (bsc#1126975) 0010-imsm-finish-recovery-when-drive-with-rebuild-fails.patch - mdmon: don't attempt to manage new arrays when terminating (bsc#1127526) 0011-mdmon-don-t-attempt-to-manage-new-arrays-when-termin.patch- Detail.c: do not skip first character when calling xstrdup in Detail() (bsc#1123814) 0009-Detail.c-do-not-skip-first-character-when-calling-xs.patch- Update description. Remove references to historic software.- 0001-Document-PART-POLICY-lines.patch 0002-policy-support-devices-with-multiple-paths.patch 0008-policy.c-prevent-NULL-pointer-referencing.patch (bsc#1106078) - 0003-mdcheck-add-systemd-unit-files-to-run-mdcheck.patch 0004-Monitor-add-system-timer-to-run-oneshot-periodically.patch Remove mdadm.cron Remove crond.mdadm (bsc#1115407) - 0005-imsm-update-metadata-correctly-while-raid10-double-d.patch 0006-Grow-avoid-overflow-in-compute_backup_blocks.patch 0007-Grow-report-correct-new-chunk-size.patch Other useful upstream patches.- Update mdadm code base to mdadm-4.1 (FATE#325869, bsc#1111960) - Assorted bug-fixes, minor improvements, and code cleanup - Add PPL support (alternate change-journalling model) - Fix Makefile to install mdadm_env.sh to /usr/lib/mdadm/ (bsc#1111960) 0001-Makefile-install-mdadm_env.sh-to-usr-lib-mdadm.patch - Remove the following code base and patches since they are in mdadm-4.1 already, - mdadm-4.0.tar.xz - 0001-Makefile-Fix-date-to-be-output-in-ISO-format.patch - 0002-imsm-fix-missing-error-message-during-migration.patch - 0003-Fix-oddity-where-mdadm-did-not-recognise-a-relative-.patch - 0004-mdadm-check-the-nodes-when-operate-clustered-array.patch - 0005-examine-tidy-up-some-code.patch - 0006-mdadm-add-man-page-for-symlinks.patch - 0007-mdadm-add-checking-clustered-bitmap-in-assemble-mode.patch - 0008-mdadm-Add-Wimplicit-fallthrough-0-in-Makefile.patch - 0009-mdadm-Specify-enough-length-when-write-to-buffer.patch - 0010-mdadm-it-doesn-t-make-sense-to-set-bitmap-twice.patch - 0011-mdadm-Monitor-Fix-NULL-pointer-dereference-when-stat.patch - 0012-Replace-snprintf-with-strncpy-at-some-places-to-avoi.patch - 0013-mdadm-Forced-type-conversion-to-avoid-truncation.patch - 0014-super1-ignore-failfast-flag-for-setting-device-role.patch - 0015-mdadm-bitmap-fixed-typos-in-comments-of-bitmap.h.patch - 0016-udev-md-raid-assembly.rules-Skip-non-ready-devices.patch - 0017-Retry-HOT_REMOVE_DISK-a-few-times.patch - 0018-mdadm-Build-check-the-level-parameter-when-build-new.patch - 0019-Introduce-sys_hot_remove_disk.patch - 0020-Add-force-flag-to-hot_remove_disk.patch - 0021-Detail-handle-non-existent-arrays-better.patch - 0022-Generic-support-for-consistency-policy-and-PPL.patch - 0023-Detail-show-consistency-policy.patch - 0024-imsm-PPL-support.patch - 0025-super1-PPL-support.patch - 0026-Add-ppl-and-no-ppl-options-for-update.patch - 0027-Grow-support-consistency-policy-change.patch - 0028-mdadm.h-struct-mdinfo-reorganize-ppl-elements-for-be.patch - 0029-super1-replace-hard-coded-values-with-bit-definition.patch - 0030-mdadm-Clean-up-some-ugly-multiple-actions-on-single-.patch - 0031-mdadm-Fixup-a-number-of-whitespace-inconsistency-cas.patch - 0032-util-Cosmetic-changes.patch - 0033-Grow-Fixup-a-pile-of-cosmetic-issues.patch - 0034-Grow-Remove-unnecessary-optimization.patch - 0035-Grow-Do-not-shadow-an-existing-variable.patch - 0036-imsm-use-rounded-size-for-metadata-initialization.patch - 0037-mdadm.c-fix-compile-error-switch-condition-has-boole.patch - 0038-mdadm-Create-declaring-an-existing-struct-within-sam.patch - 0039-Create-Fixup-bad-placement-of-logical-in-multi-line-.patch - 0040-Create-Fixup-various-whitespace-issues.patch - 0041-mdadm.c-fix-compile-warning-mdfd-is-uninitialized.patch - 0042-mdopen-use-parameters-new_array-to-create-arrays-whe.patch - 0043-mdadm-manpage-update-manpage-for-readonly-parameter.patch - 0044-mdadm-manpage-clustered-arrays-don-t-support-array-s.patch - 0045-maps-Terminate-modes-map-correctly.patch - 0046-Grow_continue_command-ensure-content-is-properly-ini.patch - 0047-systemd-mdadm-last-resort-use-ConditionPathExists-in.patch - 0048-Detail-ensure-export-names-are-acceptable-as-shell-v.patch - 0049-Grow-set-component-size-prior-to-array-size.patch - 0050-Grow-don-t-allow-to-enable-PPL-when-reshape-is-in-pr.patch - 0051-Grow-don-t-allow-array-geometry-change-with-ppl-enab.patch - 0052-IMSM-Correct-examine-output-for-4k-disks.patch - 0053-imsm-allow-drives-in-a-container-regardless-of-secto.patch - 0054-imsm-allocate-buffer-to-support-maximum-sector-size.patch - 0055-imsm-don-t-allow-disks-with-different-sector-size-in.patch - 0056-mdadm-mdmon-deleted-the-abort_reshape-never-invoked.patch - 0057-util-Introduce-md_get_array_info.patch - 0058-Incremental-Remove-redundant-call-for-GET_ARRAY_INFO.patch - 0059-util-Introduce-md_get_disk_info.patch - 0060-util-Introduce-md_set_array_info.patch - 0061-md_u-Remove-some-unused-ioctl-declarations.patch - 0062-mdadm-grow-reshape-would-be-stuck-from-raid1-to-raid.patch - 0063-sysfs-Use-the-presence-of-sys-block-dev-md-as-indica.patch - 0064-sysfs-Make-sysfs_init-return-an-error-code.patch - 0065-util-must_be_container-Use-sysfs_read-GET_VERSION-to.patch - 0066-util-set_array_info-Simplify-code-since-md_get_versi.patch - 0067-Assemble-Assemble-Stop-checking-kernel-md-driver-ver.patch - 0068-Build-Stop-bothering-about-supporting-md-driver-olde.patch - 0069-Grow-Stop-bothering-about-md-driver-versions-older-t.patch - 0070-Detail-Stop-bothering-about-md-drivers-older-than-0..patch - 0071-Create-Remove-all-attemps-to-handle-md-driver-older-.patch - 0072-Manage-Remove-all-references-to-md_get_version.patch - 0073-Query-Remove-all-references-to-md_get_version.patch - 0074-bitmap-Remove-use-of-md_get_version.patch - 0075-mdmon-Stop-bothering-about-md_get_version.patch - 0076-mdopen-open_mddev-Use-md_get_array_info-to-determine.patch - 0077-mdassemble-Use-md_get_array_info-to-check-for-valid-.patch - 0078-Assemble-Assemble-Get-rid-of-last-use-of-md_get_vers.patch - 0079-util-Finally-kill-off-md_get_version.patch - 0080-mdadm-Fail-for-kernels-older-than-2.6.15.patch - 0081-Revert-mdadm-grow-reshape-would-be-stuck-from-raid1-.patch - 0082-Retire-mdassemble.patch - 0083-super1-Clean-up-various-style-abuses.patch - 0084-Detail-Remove-pre-2.6-code-for-printing-info-on-rebu.patch - 0085-Assemble-Remove-obsolete-test-for-kernels-older-than.patch - 0086-Detail-Fixup-ugly-if-foo-abuse.patch - 0087-Query-Handle-error-returned-by-fstat.patch - 0088-Query-Use-sysfs-to-obtain-data-if-possible.patch - 0089-sysfs-Parse-array_state-in-sysfs_read.patch - 0090-util-Introduce-md_array_active-helper.patch - 0091-maps-Use-keyvalue-for-null-terminator-to-indicate-un.patch - 0092-util-Get-rid-of-unused-enough_fd.patch - 0093-mdadm-retire-mdassemble-in-make-everything.patch - 0094-Query-Quiet-gcc-since-it-cannot-know-errno-0-in-this.patch - 0095-Makefile-Default-to-O2-optimization.patch - 0096-maps-Simplify-implementation-of-map_name.patch - 0097-Don-t-use-UnSet-with-consistency_policy.patch - 0098-Detail-determine-array-state-from-sysfs.patch - 0099-Detail-Respect-code-lines-are-80-character-wide.patch - 0100-Detail-Reinstate-support-for-not-having-sysfs.patch - 0101-Incremental-Use-md_array_active-where-applicable.patch - 0102-Incremental-Cleanup-some-if-statement-spaghetti.patch - 0103-Create-tell-udev-md-device-is-not-ready-when-first-c.patch - 0104-Incremental-Use-md_array_active-to-determine-state-o.patch - 0105-Manage-Manage_ro-Use-md_array_active.patch - 0106-IMSM-Initialize-my_vol_raid_dev_num-during-vol-creat.patch - 0107-Grow-Grow_continue_command-Avoid-aliasing-array-vari.patch - 0108-change-back-0644-permission-for-Grow.c.patch - 0109-util-md_array_valid-Introduce-md_array_valid-helper.patch - 0110-kernel-patch-Remove-obsolete-kernel-patches-against-.patch - 0111-mdassemble-Kill-off-the-last-remains.patch - 0112-mdadm-util-unify-fstat-checking-blkdev-into-function.patch - 0113-mdadm-util-unify-stat-checking-blkdev-into-function.patch - 0114-Fix-typo-in-new-udev-rule.patch - 0115-Incremental-return-is-not-a-function.patch - 0116-sysfs-sysfs_read-Count-active_disks-and-failed_disks.patch - 0117-container_members_max_degradation-Switch-to-using-sy.patch - 0118-IncrementalScan-Use-md_array_active-instead-of-md_ge.patch - 0119-Mention-endian-in-documentation-for-update-byte-orde.patch - 0120-Monitor-Use-md_array_active-instead-of-manually-fidd.patch - 0121-Monitor-Code-is-80-characters-per-line.patch - 0122-mdadm-md.4-set-page-length-as-1000-to-avoid-warnings.patch - 0123-Allow-more-spare-selection-criteria.patch - 0124-Add-sector-size-as-spare-selection-criterion.patch - 0125-Monitor-check_array-Centralize-exit-path.patch - 0126-Monitor-check_array-Reduce-duplicated-error-handling.patch - 0127-Monitor-check_array-Declate-mdinfo-instance-globally.patch - 0128-Monitor-check_array-Read-sysfs-entry-earlier.patch - 0129-Monitor-check_array-Obtain-RAID-level-from-syfs.patch - 0130-Monitor-check_array-Get-failed_disks-from-sysfs.patch - 0131-Monitor-check_array-Get-array_disks-from-sysfs.patch - 0132-Monitor-check_array-Get-nr_disks-active_disks-and-sp.patch - 0133-sysfs-sysfs_read-Count-working_disks.patch - 0134-Monitor-check_array-Use-working_disks-from-sysfs.patch - 0135-retire-the-APIs-that-driver-no-longer-supports.patch - 0136-Monitor-Not-much-point-declaring-mdlist-in-both-fork.patch - 0137-Monitor-mailfrom-is-initialized-correctly.patch - 0138-Monitor-Fixup-a-pile-of-whitespace-issues.patch - 0139-mdadm-Uninitialized-variable-rdev.patch - 0140-super-ddf-sysfs_read-takes-a-pointer-as-device-name-.patch - 0141-mdadm-Fixup-a-large-number-of-bad-formatting-of-logi.patch - 0142-mdadm-Fixup-more-broken-logical-operator-formatting.patch - 0143-mdadm-Fix-broken-formatting.patch - 0144-mdadm-Fixup-broken-formatting.patch - 0145-Detail-don-t-exit-if-ioctl-has-been-successful.patch - 0146-super1-fix-sb-max_dev-when-adding-a-new-disk-in-line.patch - 0147-md_u-Remove-unused-ioctl-declaration-of-START_ARRAY.patch - 0148-Get-failed-disk-count-from-array-state.patch - 0149-Monitor-don-t-assume-mdadm-parameter-is-a-block-devi.patch - 0150-super1-Always-round-data-offset-to-1M.patch - 0151-mdadm-r5cache-allow-adding-journal-to-array-without-.patch - 0152-udev-rules-introduce-rules-for-cluster-md-to-confirm.patch - 0153-Detail-correct-output-for-active-arrays.patch - 0154-imsm-rebuild-from-2-disk-RAID10.patch - 0155-Error-messages-should-end-with-a-newline-character.patch - 0156-Use-correct-syntax-for-passing-DEVLINKS-to-mdadm-fro.patch - 0157-super1-only-set-clustered-flag-when-bitmap-is-presen.patch - 0158-Don-t-use-exit-ERANGE.patch - 0159-Monitor-containers-don-t-have-the-same-sysfs-propert.patch - 0160-Monitor-Include-containers-in-spare-migration.patch - 0161-Detail-differentiate-between-container-and-inactive-.patch - 0162-mdadm-install-two-more-udev-rules-in-mdadm.spec.patch - 0163-mdadm-set-journal_clean-after-scanning-all-disks.patch - 0164-mdadm-bitmap-examine-bitmap-failed-when-bitmap-is-ex.patch - 0165-mdopen-call-modprobe-md_mod-if-it-might-be-needed.patch - 0166-lib-devid2kname-should-take-a-dev_t.patch - 0167-sysfs_init_dev-take-a-dev_t-argument.patch - 0168-Manage_subdevs-Use-a-dev_t.patch - 0169-util-Code-is-80-characters-wide.patch - 0170-Close-mdfd-before-returning-main-function.patch - 0171-Grow-stop-previous-reshape-process-first.patch - 0172-imsm-New-disk-controller-domains.patch - 0173-Monitor-Check-redundancy-for-arrays.patch - 0174-mdadm-grow-Component-size-must-be-larger-than-chunk-.patch - 0175-mdadm-manpage-disable-bitmap_resize-for-external-fil.patch - 0176-mdadm-fixes-some-trivial-typos-in-comments.patch - 0177-Don-t-abort-starting-the-array-if-kernel-does-not-su.patch - 0178-super1-Add-support-for-multiple-ppls.patch - 0179-imsm-Add-support-for-multiple-ppls.patch - 0180-imsm-validate-multiple-ppls-during-assemble.patch - 0181-Zeroout-whole-ppl-space-during-creation-force-assemb.patch - 0182-imsm-switch-to-multiple-ppls-automatically-during-as.patch - 0183-Grow-fix-switching-on-PPL-during-recovery.patch - 0184-imsm-don-t-skip-resync-when-an-invalid-ppl-header-is.patch - 0185-imsm-Write-empty-PPL-header-if-assembling-regular-cl.patch - 0186-imsm-always-do-ppl-recovery-when-starting-a-rebuildi.patch - 0187-imsm-use-correct-map-when-validating-ppl.patch - 0188-imsm-write-initial-ppl-on-a-disk-added-for-rebuild.patch - 0189-Grow-Use-all-80-characters.patch - 0190-imsm-Set-disk-slot-number.patch - 0191-mdmon-get-safe-mode-delay-file-descriptor-early.patch - 0192-mdadm-mdstat-fixup-a-number-of-broken-formatting.patch - 0193-mdadm-mdstat-correct-the-strncmp-number-4-as-6.patch - 0194-mdcheck-add-some-logging.patch - 0195-mdcheck-improve-cleanup.patch - 0197-mdadm-grow-adding-a-test-to-ensure-resize-was-requir.patch - 0198-mdadm-mdopen-create-new-function-create_named_array-.patch - 0199-systemd-add-I-to-description-of-mdadm-last-resort-se.patch - 0200-Incremental-Use-validate_geometry-instead-of-avail_s.patch - 0201-imsm-fix-reading-scsi-serial.patch - 0202-To-support-clustered-raid10.patch - 0203-imsm-More-precise-message-when-spanned-raid-is-creat.patch - 0204-sysfs-include-faulty-drive-in-disk-count.patch - 0205-Monitor-msg-Don-t-print-error-message-if-mdmon-doesn.patch - 0206-imsm-continue-resync-on-3-disk-RAID10.patch - 0207-managemon-Don-t-add-disk-to-the-array-after-it-has-s.patch - 0208-mdadm-grow-correct-the-s-size-1-to-make-max-work.patch - 0209-policy.c-Avoid-to-take-spare-without-defined-domain-.patch - 0210-mdadm-allow-clustered-raid10-to-be-created-with-defa.patch- Add missing patches which exist in SLE12-SP3 and should be in SLE15 too, - mdadm: improve the dlm locking mechanism for clustered raid (bsc#1049126) 0218-mdadm-improve-the-dlm-locking-mechanism-for-clustere.patch - Assemble: provide protection when clustered raid do assemble (bsc#1049126) 0219-Assemble-provide-protection-when-clustered-raid-do-a.patch - Assemble: cleanup the failure path (bsc#1049126) 0220-Assemble-cleanup-the-failure-path.patch - Assemble: remove the protection when clustered raid do assemble (bsc#1101348) 0221-Assemble-remove-the-protection-when-clustered-raid-d.patch - 1001-display-timeout-status.patch- mdadm.spec Change %doc to %license for COPYING file, which was warned during 'osc ci'.- imsm: change reserved space to 4MB (bsc#1101110) 0212-imsm-change-reserved-space-to-4MB.patch - imsm: add functions to get and set imsm dev size (bsc#1101110) 0213-imsm-add-functions-to-get-and-set-imsm-dev-size.patch - imsm: pass already existing map to imsm_num_data_members (bsc#1101110) 0214-imsm-pass-already-existing-map-to-imsm_num_data_memb.patch - imsm: do not use blocks_per_member in array size calculations (bsc#1101110) 0215-imsm-do-not-use-blocks_per_member-in-array-size-calc.patch - imsm: correct num_data_stripes in metadata map for migration (bsc#1101110) 0216-imsm-correct-num_data_stripes-in-metadata-map-for-mi.patch - mdadm/grow: correct size and chunk_size casting (bsc#1095177) 0217-mdadm-grow-correct-size-and-chunk_size-casting.patch- Assemble: prevent segfault with faulty "best" devices (bsc#1082766, bsc#1095729) 0211-Assemble-prevent-segfault-with-faulty-best-devices.patch- mdadm: allow clustered raid10 to be created with default layout (bsc#1083881) 0210-mdadm-allow-clustered-raid10-to-be-created-with-defa.patch- policy.c: Avoid to take spare without defined domain by imsm (bsc#1076588) 0209-policy.c-Avoid-to-take-spare-without-defined-domain-.patch- 0208-mdadm-grow-correct-the-s-size-1-to-make-max-work.patch (bsc#1074949)- 0207-managemon-Don-t-add-disk-to-the-array-after-it-has-s.patch (bsc#1073862)- Update mdadm for SLE15, for bug fixes and new feature enhancement - 1000-The-mdcheck-script-now-adds-messages-to-the-system.patch is removed because upstream has similar fix with almost identical funcationality. - The following patches are not deleted indeed, they are renamed and added into all other new-added patches with different perfix numbers, 0038-Create-Fixup-bad-placement-of-logical-in-multi-line-.patch 0039-Create-Fixup-various-whitespace-issues.patch 0040-mdadm.c-fix-compile-warning-mdfd-is-uninitialized.patch 0041-mdopen-use-parameters-new_array-to-create-arrays-whe.patch 0042-mdadm-manpage-update-manpage-for-readonly-parameter.patch 0043-mdadm-manpage-clustered-arrays-don-t-support-array-s.patch 0044-maps-Terminate-modes-map-correctly.patch 0045-Grow_continue_command-ensure-content-is-properly-ini.patch 0046-systemd-mdadm-last-resort-use-ConditionPathExists-in.patch 0047-Detail-ensure-export-names-are-acceptable-as-shell-v.patch 0048-Grow-set-component-size-prior-to-array-size.patch 0049-Grow-don-t-allow-to-enable-PPL-when-reshape-is-in-pr.patch 0050-Grow-don-t-allow-array-geometry-change-with-ppl-enab.patch 0051-IMSM-Correct-examine-output-for-4k-disks.patch 0052-imsm-allow-drives-in-a-container-regardless-of-secto.patch 0053-imsm-allocate-buffer-to-support-maximum-sector-size.patch 0054-imsm-don-t-allow-disks-with-different-sector-size-in.patch 0055-Allow-more-spare-selection-criteria.patch 0056-Add-sector-size-as-spare-selection-criterion.patch 0057-super1-fix-sb-max_dev-when-adding-a-new-disk-in-line.patch 0058-super1-only-set-clustered-flag-when-bitmap-is-presen.patch 0059-To-support-clustered-raid10.patch 0060-udev-rules-introduce-rules-for-cluster-md-to-confirm.patch - The following patche set includes the above renamed patches, they have bug fixes for bsc#1068030, bsc#1069165, bsc#1069167, and some other fixes and enhancement for raid5 ppl, imsm, and general mdadm code, 0038-mdadm-Create-declaring-an-existing-struct-within-sam.patch 0039-Create-Fixup-bad-placement-of-logical-in-multi-line-.patch 0040-Create-Fixup-various-whitespace-issues.patch 0041-mdadm.c-fix-compile-warning-mdfd-is-uninitialized.patch 0042-mdopen-use-parameters-new_array-to-create-arrays-whe.patch 0043-mdadm-manpage-update-manpage-for-readonly-parameter.patch 0044-mdadm-manpage-clustered-arrays-don-t-support-array-s.patch 0045-maps-Terminate-modes-map-correctly.patch 0046-Grow_continue_command-ensure-content-is-properly-ini.patch 0047-systemd-mdadm-last-resort-use-ConditionPathExists-in.patch 0048-Detail-ensure-export-names-are-acceptable-as-shell-v.patch 0049-Grow-set-component-size-prior-to-array-size.patch 0050-Grow-don-t-allow-to-enable-PPL-when-reshape-is-in-pr.patch 0051-Grow-don-t-allow-array-geometry-change-with-ppl-enab.patch 0052-IMSM-Correct-examine-output-for-4k-disks.patch 0053-imsm-allow-drives-in-a-container-regardless-of-secto.patch 0054-imsm-allocate-buffer-to-support-maximum-sector-size.patch 0055-imsm-don-t-allow-disks-with-different-sector-size-in.patch 0056-mdadm-mdmon-deleted-the-abort_reshape-never-invoked.patch 0057-util-Introduce-md_get_array_info.patch 0058-Incremental-Remove-redundant-call-for-GET_ARRAY_INFO.patch 0059-util-Introduce-md_get_disk_info.patch 0060-util-Introduce-md_set_array_info.patch 0061-md_u-Remove-some-unused-ioctl-declarations.patch 0062-mdadm-grow-reshape-would-be-stuck-from-raid1-to-raid.patch 0063-sysfs-Use-the-presence-of-sys-block-dev-md-as-indica.patch 0064-sysfs-Make-sysfs_init-return-an-error-code.patch 0065-util-must_be_container-Use-sysfs_read-GET_VERSION-to.patch 0066-util-set_array_info-Simplify-code-since-md_get_versi.patch 0067-Assemble-Assemble-Stop-checking-kernel-md-driver-ver.patch 0068-Build-Stop-bothering-about-supporting-md-driver-olde.patch 0069-Grow-Stop-bothering-about-md-driver-versions-older-t.patch 0070-Detail-Stop-bothering-about-md-drivers-older-than-0..patch 0071-Create-Remove-all-attemps-to-handle-md-driver-older-.patch 0072-Manage-Remove-all-references-to-md_get_version.patch 0073-Query-Remove-all-references-to-md_get_version.patch 0074-bitmap-Remove-use-of-md_get_version.patch 0075-mdmon-Stop-bothering-about-md_get_version.patch 0076-mdopen-open_mddev-Use-md_get_array_info-to-determine.patch 0077-mdassemble-Use-md_get_array_info-to-check-for-valid-.patch 0078-Assemble-Assemble-Get-rid-of-last-use-of-md_get_vers.patch 0079-util-Finally-kill-off-md_get_version.patch 0080-mdadm-Fail-for-kernels-older-than-2.6.15.patch 0081-Revert-mdadm-grow-reshape-would-be-stuck-from-raid1-.patch 0082-Retire-mdassemble.patch 0083-super1-Clean-up-various-style-abuses.patch 0084-Detail-Remove-pre-2.6-code-for-printing-info-on-rebu.patch 0085-Assemble-Remove-obsolete-test-for-kernels-older-than.patch 0086-Detail-Fixup-ugly-if-foo-abuse.patch 0087-Query-Handle-error-returned-by-fstat.patch 0088-Query-Use-sysfs-to-obtain-data-if-possible.patch 0089-sysfs-Parse-array_state-in-sysfs_read.patch 0090-util-Introduce-md_array_active-helper.patch 0091-maps-Use-keyvalue-for-null-terminator-to-indicate-un.patch 0092-util-Get-rid-of-unused-enough_fd.patch 0093-mdadm-retire-mdassemble-in-make-everything.patch 0094-Query-Quiet-gcc-since-it-cannot-know-errno-0-in-this.patch 0095-Makefile-Default-to-O2-optimization.patch 0096-maps-Simplify-implementation-of-map_name.patch 0097-Don-t-use-UnSet-with-consistency_policy.patch 0098-Detail-determine-array-state-from-sysfs.patch 0099-Detail-Respect-code-lines-are-80-character-wide.patch 0100-Detail-Reinstate-support-for-not-having-sysfs.patch 0101-Incremental-Use-md_array_active-where-applicable.patch 0102-Incremental-Cleanup-some-if-statement-spaghetti.patch 0103-Create-tell-udev-md-device-is-not-ready-when-first-c.patch 0104-Incremental-Use-md_array_active-to-determine-state-o.patch 0105-Manage-Manage_ro-Use-md_array_active.patch 0106-IMSM-Initialize-my_vol_raid_dev_num-during-vol-creat.patch 0107-Grow-Grow_continue_command-Avoid-aliasing-array-vari.patch 0108-change-back-0644-permission-for-Grow.c.patch 0109-util-md_array_valid-Introduce-md_array_valid-helper.patch 0110-kernel-patch-Remove-obsolete-kernel-patches-against-.patch 0111-mdassemble-Kill-off-the-last-remains.patch 0112-mdadm-util-unify-fstat-checking-blkdev-into-function.patch 0113-mdadm-util-unify-stat-checking-blkdev-into-function.patch 0114-Fix-typo-in-new-udev-rule.patch 0115-Incremental-return-is-not-a-function.patch 0116-sysfs-sysfs_read-Count-active_disks-and-failed_disks.patch 0117-container_members_max_degradation-Switch-to-using-sy.patch 0118-IncrementalScan-Use-md_array_active-instead-of-md_ge.patch 0119-Mention-endian-in-documentation-for-update-byte-orde.patch 0120-Monitor-Use-md_array_active-instead-of-manually-fidd.patch 0121-Monitor-Code-is-80-characters-per-line.patch 0122-mdadm-md.4-set-page-length-as-1000-to-avoid-warnings.patch 0123-Allow-more-spare-selection-criteria.patch 0124-Add-sector-size-as-spare-selection-criterion.patch 0125-Monitor-check_array-Centralize-exit-path.patch 0126-Monitor-check_array-Reduce-duplicated-error-handling.patch 0127-Monitor-check_array-Declate-mdinfo-instance-globally.patch 0128-Monitor-check_array-Read-sysfs-entry-earlier.patch 0129-Monitor-check_array-Obtain-RAID-level-from-syfs.patch 0130-Monitor-check_array-Get-failed_disks-from-sysfs.patch 0131-Monitor-check_array-Get-array_disks-from-sysfs.patch 0132-Monitor-check_array-Get-nr_disks-active_disks-and-sp.patch 0133-sysfs-sysfs_read-Count-working_disks.patch 0134-Monitor-check_array-Use-working_disks-from-sysfs.patch 0135-retire-the-APIs-that-driver-no-longer-supports.patch 0136-Monitor-Not-much-point-declaring-mdlist-in-both-fork.patch 0137-Monitor-mailfrom-is-initialized-correctly.patch 0138-Monitor-Fixup-a-pile-of-whitespace-issues.patch 0139-mdadm-Uninitialized-variable-rdev.patch 0140-super-ddf-sysfs_read-takes-a-pointer-as-device-name-.patch 0141-mdadm-Fixup-a-large-number-of-bad-formatting-of-logi.patch 0142-mdadm-Fixup-more-broken-logical-operator-formatting.patch 0143-mdadm-Fix-broken-formatting.patch 0144-mdadm-Fixup-broken-formatting.patch 0145-Detail-don-t-exit-if-ioctl-has-been-successful.patch 0146-super1-fix-sb-max_dev-when-adding-a-new-disk-in-line.patch 0147-md_u-Remove-unused-ioctl-declaration-of-START_ARRAY.patch 0148-Get-failed-disk-count-from-array-state.patch 0149-Monitor-don-t-assume-mdadm-parameter-is-a-block-devi.patch 0150-super1-Always-round-data-offset-to-1M.patch 0151-mdadm-r5cache-allow-adding-journal-to-array-without-.patch 0152-udev-rules-introduce-rules-for-cluster-md-to-confirm.patch 0153-Detail-correct-output-for-active-arrays.patch 0154-imsm-rebuild-from-2-disk-RAID10.patch (bsc#1069165) 0155-Error-messages-should-end-with-a-newline-character.patch 0156-Use-correct-syntax-for-passing-DEVLINKS-to-mdadm-fro.patch 0157-super1-only-set-clustered-flag-when-bitmap-is-presen.patch 0158-Don-t-use-exit-ERANGE.patch 0159-Monitor-containers-don-t-have-the-same-sysfs-propert.patch 0160-Monitor-Include-containers-in-spare-migration.patch 0161-Detail-differentiate-between-container-and-inactive-.patch 0162-mdadm-install-two-more-udev-rules-in-mdadm.spec.patch 0163-mdadm-set-journal_clean-after-scanning-all-disks.patch 0164-mdadm-bitmap-examine-bitmap-failed-when-bitmap-is-ex.patch 0165-mdopen-call-modprobe-md_mod-if-it-might-be-needed.patch 0166-lib-devid2kname-should-take-a-dev_t.patch 0167-sysfs_init_dev-take-a-dev_t-argument.patch 0168-Manage_subdevs-Use-a-dev_t.patch 0169-util-Code-is-80-characters-wide.patch 0170-Close-mdfd-before-returning-main-function.patch 0171-Grow-stop-previous-reshape-process-first.patch 0172-imsm-New-disk-controller-domains.patch 0173-Monitor-Check-redundancy-for-arrays.patch 0174-mdadm-grow-Component-size-must-be-larger-than-chunk-.patch 0175-mdadm-manpage-disable-bitmap_resize-for-external-fil.patch 0176-mdadm-fixes-some-trivial-typos-in-comments.patch (The following 12 patches are specifically for bsc#1068030) 0177-Don-t-abort-starting-the-array-if-kernel-does-not-su.patch 0178-super1-Add-support-for-multiple-ppls.patch 0179-imsm-Add-support-for-multiple-ppls.patch 0180-imsm-validate-multiple-ppls-during-assemble.patch 0181-Zeroout-whole-ppl-space-during-creation-force-assemb.patch 0182-imsm-switch-to-multiple-ppls-automatically-during-as.patch 0183-Grow-fix-switching-on-PPL-during-recovery.patch 0184-imsm-don-t-skip-resync-when-an-invalid-ppl-header-is.patch 0185-imsm-Write-empty-PPL-header-if-assembling-regular-cl.patch 0186-imsm-always-do-ppl-recovery-when-starting-a-rebuildi.patch 0187-imsm-use-correct-map-when-validating-ppl.patch 0188-imsm-write-initial-ppl-on-a-disk-added-for-rebuild.patch 0189-Grow-Use-all-80-characters.patch 0190-imsm-Set-disk-slot-number.patch (The following 1 patch is specifically for bsc#1069167) 0191-mdmon-get-safe-mode-delay-file-descriptor-early.patch 0192-mdadm-mdstat-fixup-a-number-of-broken-formatting.patch 0193-mdadm-mdstat-correct-the-strncmp-number-4-as-6.patch 0194-mdcheck-add-some-logging.patch 0195-mdcheck-improve-cleanup.patch 0196-Move-mdadm_env.sh-out-of-usr-lib-systemd.patch 0197-mdadm-grow-adding-a-test-to-ensure-resize-was-requir.patch 0198-mdadm-mdopen-create-new-function-create_named_array-.patch 0199-systemd-add-I-to-description-of-mdadm-last-resort-se.patch 0200-Incremental-Use-validate_geometry-instead-of-avail_s.patch 0201-imsm-fix-reading-scsi-serial.patch 0202-To-support-clustered-raid10.patch 0203-imsm-More-precise-message-when-spanned-raid-is-creat.patch 0204-sysfs-include-faulty-drive-in-disk-count.patch 0205-Monitor-msg-Don-t-print-error-message-if-mdmon-doesn.patch 0206-imsm-continue-resync-on-3-disk-RAID10.patch- Add udev rules for cluster-md to confirm device (fate#316335) 0060-udev-rules-introduce-rules-for-cluster-md-to-confirm.patch- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- Add one mdadm patch to support clustered raid10 (fate#323171) 0059-To-support-clustered-raid10.patch- SLE15 continues to use mdadm-4.0, synchronize mdadm package from SLE12-SP3 to SLE15, re-order all patches. - Rename the following patches, they are deleted and re-add in next part of patches 0001-Generic-support-for-consistency-policy-and-PPL.patch 0002-Detail-show-consistency-policy.patch 0002-The-mdcheck-script-now-adds-messages-to-the-system.patch 0003-imsm-PPL-support.patch 0004-super1-PPL-support.patch 0005-Add-ppl-and-no-ppl-options-for-update.patch 0006-Grow-support-consistency-policy-change.patch 0007-udev-md-raid-assembly.rules-Skip-non-ready-devices.patch 0008-Retry-HOT_REMOVE_DISK-a-few-times.patch 0009-Introduce-sys_hot_remove_disk.patch 0010-Add-force-flag-to-hot_remove_disk.patch 0011-Detail-handle-non-existent-arrays-better.patch - Synchronize patches from mdadm of SLE12-SP3, the above renamed patches are re-add here, 0001-Makefile-Fix-date-to-be-output-in-ISO-format.patch 0002-imsm-fix-missing-error-message-during-migration.patch 0003-Fix-oddity-where-mdadm-did-not-recognise-a-relative-.patch 0004-mdadm-check-the-nodes-when-operate-clustered-array.patch 0005-examine-tidy-up-some-code.patch 0006-mdadm-add-man-page-for-symlinks.patch 0007-mdadm-add-checking-clustered-bitmap-in-assemble-mode.patch 0008-mdadm-Add-Wimplicit-fallthrough-0-in-Makefile.patch 0009-mdadm-Specify-enough-length-when-write-to-buffer.patch 0010-mdadm-it-doesn-t-make-sense-to-set-bitmap-twice.patch 0011-mdadm-Monitor-Fix-NULL-pointer-dereference-when-stat.patch 0012-Replace-snprintf-with-strncpy-at-some-places-to-avoi.patch 0013-mdadm-Forced-type-conversion-to-avoid-truncation.patch 0014-super1-ignore-failfast-flag-for-setting-device-role.patch 0015-mdadm-bitmap-fixed-typos-in-comments-of-bitmap.h.patch 0016-udev-md-raid-assembly.rules-Skip-non-ready-devices.patch 0017-Retry-HOT_REMOVE_DISK-a-few-times.patch 0018-mdadm-Build-check-the-level-parameter-when-build-new.patch 0019-Introduce-sys_hot_remove_disk.patch 0020-Add-force-flag-to-hot_remove_disk.patch 0021-Detail-handle-non-existent-arrays-better.patch 0022-Generic-support-for-consistency-policy-and-PPL.patch 0023-Detail-show-consistency-policy.patch 0024-imsm-PPL-support.patch 0025-super1-PPL-support.patch 0026-Add-ppl-and-no-ppl-options-for-update.patch 0027-Grow-support-consistency-policy-change.patch 0028-mdadm.h-struct-mdinfo-reorganize-ppl-elements-for-be.patch 0029-super1-replace-hard-coded-values-with-bit-definition.patch 0030-mdadm-Clean-up-some-ugly-multiple-actions-on-single-.patch 0031-mdadm-Fixup-a-number-of-whitespace-inconsistency-cas.patch 0032-util-Cosmetic-changes.patch 0033-Grow-Fixup-a-pile-of-cosmetic-issues.patch 0034-Grow-Remove-unnecessary-optimization.patch 0035-Grow-Do-not-shadow-an-existing-variable.patch 0036-imsm-use-rounded-size-for-metadata-initialization.patch 0037-mdadm.c-fix-compile-error-switch-condition-has-boole.patch 0038-Create-Fixup-bad-placement-of-logical-in-multi-line-.patch 0039-Create-Fixup-various-whitespace-issues.patch 0040-mdadm.c-fix-compile-warning-mdfd-is-uninitialized.patch 0041-mdopen-use-parameters-new_array-to-create-arrays-whe.patch 0042-mdadm-manpage-update-manpage-for-readonly-parameter.patch 0043-mdadm-manpage-clustered-arrays-don-t-support-array-s.patch 0044-maps-Terminate-modes-map-correctly.patch 0045-Grow_continue_command-ensure-content-is-properly-ini.patch 0046-systemd-mdadm-last-resort-use-ConditionPathExists-in.patch 0047-Detail-ensure-export-names-are-acceptable-as-shell-v.patch 0048-Grow-set-component-size-prior-to-array-size.patch 0049-Grow-don-t-allow-to-enable-PPL-when-reshape-is-in-pr.patch 0050-Grow-don-t-allow-array-geometry-change-with-ppl-enab.patch 0051-IMSM-Correct-examine-output-for-4k-disks.patch 0052-imsm-allow-drives-in-a-container-regardless-of-secto.patch 0053-imsm-allocate-buffer-to-support-maximum-sector-size.patch 0054-imsm-don-t-allow-disks-with-different-sector-size-in.patch 0055-Allow-more-spare-selection-criteria.patch 0056-Add-sector-size-as-spare-selection-criterion.patch 0057-super1-fix-sb-max_dev-when-adding-a-new-disk-in-line.patch 0058-super1-only-set-clustered-flag-when-bitmap-is-presen.patch 1000-The-mdcheck-script-now-adds-messages-to-the-system.patch- New upstream release 4.0 Multiple bugfixes and various enhancements including IMSM support for bad blocks and 4K block devices. (FATE#321941) - DELETE 0001-super1-Clear-memory-allocated-for-superblock-bitmap-.patch this was included upstream - 0001-Generic-support-for-consistency-policy-and-PPL.patch - 0002-Detail-show-consistency-policy.patch - 0003-imsm-PPL-support.patch - 0004-super1-PPL-support.patch - 0005-Add-ppl-and-no-ppl-options-for-update.patch - 0006-Grow-support-consistency-policy-change.patch Add support for Partial Parity Logs (FATE#321941) - 0007-udev-md-raid-assembly.rules-Skip-non-ready-devices.patch (bsc#956236) - 0008-Retry-HOT_REMOVE_DISK-a-few-times.patch (bsc#808647) - 0009-Introduce-sys_hot_remove_disk.patch (bsc#974154) - 0010-Add-force-flag-to-hot_remove_disk.patch (bsc#808647) - 0011-Detail-handle-non-existent-arrays-better.patch (bsc#966773)- Added 0002-The-mdcheck-script-now-adds-messages-to-the-system.patch The mdcheck bash script now writes messages to the syslog about progress with check.- Do not list XXX@.service files for anything but service_del_preun. They cannot be restarted by systemctl as they are just templates. They don't need to be restarted at reinstall anyway. (bsc#979749)- New upstream release mdadm-3.4 Adds support for clustered-raid1 and journalled raid5 - 0001-super1-Clear-memory-allocated-for-superblock-bitmap-.patch Important upstream bugfix relating to uninialised memory.- Add missing pre-requres for initrd macros (boo#958562)- Own %{_systemdshutdowndir} in case nothing else does. This ensures build success even if systemd-mini does not own it (happens in some versions of our package).- Do not BuildRequire systemd: it conflicts with systemd-mini, pulled in by systemd-mini-devel (due to BuildRequires: pkgconfig(systemd)). The reason systemd was added as a buildrequires was for 'something' to onw /usr/lib/systemd/system-shutdown/; systemd-mini does that also for us.- new upstream version 3.3.4. Important bugfix to honour IMSM ROM settings when RAID is disabled. (bsc#939748 bsc#937363)- new upstream version 3.3.3. Lots of bug fixes, particular "mdadm --assemble --force" would often not do the right thing for RAID5. - 0001-Grow-Do-not-try-to-restart-if-reshape-is-running.patch 0001-Grow-fix-removal-of-line-in-wrong-case.patch 0001-IMSM-Add-warning-message-when-assemble-spanned-conta.patch 0001-Makefile-install-mdadm-grow-continue-.service.patch mdcheck-careful.patch mdcheck-no-devices.fix All removed as now included upstream.- Make it build, that is build-require pkgconfig of udev and the package systemd as this one is the owner of the directory /usr/lib/systemd/system-shutdown- 0001-IMSM-Add-warning-message-when-assemble-spanned-conta.patch (bnc#882634) - 0001-Grow-Do-not-try-to-restart-if-reshape-is-running.patch (bnc#887773)- mdcheck-careful.patch Be careful about reading all output of "mdadm --detail --export" as shell commands - it isn't quoted. (bnc#910500)- mdcheck-no-devices.fix mdcheck mustn't report an error if not md devices exist (bnc#903051)/bin/sh/bin/sh/bin/sh/bin/shh04-ch1d 1693985958  !"#$%&'()*+,-./012344.1-150300.24.33.14.1-150300.24.33.1 mdadmmdmonmdadmmdadm_env.shsystem-shutdownmdadm.shutdownmdadm-grow-continue@.servicemdadm-last-resort@.servicemdadm-last-resort@.timermdcheck_continue.servicemdcheck_continue.timermdcheck_start.servicemdcheck_start.timermdmon@.servicemdmonitor-oneshot.servicemdmonitor-oneshot.timermdmonitor.service01-md-raid-creating.rules63-md-raid-arrays.rules64-md-raid-assembly.rules69-md-clustered-confirm-device.rulesrcmdmonitormdadmChangeLogREADME.initramfsSoftware-RAID.HOWTO-1.htmlSoftware-RAID.HOWTO-10.htmlSoftware-RAID.HOWTO-11.htmlSoftware-RAID.HOWTO-12.htmlSoftware-RAID.HOWTO-13.htmlSoftware-RAID.HOWTO-2.htmlSoftware-RAID.HOWTO-3.htmlSoftware-RAID.HOWTO-4.htmlSoftware-RAID.HOWTO-5.htmlSoftware-RAID.HOWTO-6.htmlSoftware-RAID.HOWTO-7.htmlSoftware-RAID.HOWTO-8.htmlSoftware-RAID.HOWTO-9.htmlSoftware-RAID.HOWTO.htmlSoftware-RAID.HOWTO.txtTODOmdadm.conf-examplemkinitramfssysconfig.mdadmmdadmCOPYINGmd.4.gzmdadm.conf.5.gzmdadm.8.gzmdmon.8.gzmdadmmdcheck/sbin//usr/lib//usr/lib/mdadm//usr/lib/systemd//usr/lib/systemd/system-shutdown//usr/lib/systemd/system//usr/lib/udev/rules.d//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/mdadm//usr/share/fillup-templates//usr/share/licenses//usr/share/licenses/mdadm//usr/share/man/man4//usr/share/man/man5//usr/share/man/man8//usr/share//usr/share/mdadm/-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:30550/SUSE_SLE-15-SP3_Update/160cd3e7bfcf0e518955712a5ac8dd54-mdadm.SUSE_SLE-15-SP3_Updatedrpmxz5x86_64-suse-linux ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=1b5e8522ca30ded4d77df283114731ef819eb589, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=4aa376b12a9b08dd44e1e8d545c87d8c96041c68, for GNU/Linux 3.2.0, strippeddirectoryPOSIX shell script, ASCII text executableASCII textHTML document, ASCII textASCII text, with escape sequences, with overstrikingtroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)Bourne-Again shell script, ASCII text executableRRR RRRRRRRRRRR RRRR RRRRRRRRRRR RRRjppdVC/k if test -x /usr/lib/module-init-tools/regenerate-initrd-posttrans; then /bin/bash -c 'set +e; /usr/lib/module-init-tools/regenerate-initrd-posttrans' fi/bin/shsmtp_daemonutf-84d291d48020a6d40d6396c159938557b85674edcca1141157822edfbc6c2def0?P7zXZ !t/.s]"k%D])/]|J*qX:3@+:ͳwq i꿾J/5\U~ 3p#YkD }-mEx6ѳV oCCsOF 70!atBt6\)am 6Yߏ l8y)0:_v(8Aya>| Qnq3 T"%YF[S_ -,PWgzh~v{ NKgRgǵZyZgoD~ HKJ V:X|ePxRK}9Mҿ;Y߱O[=oa2U0Zm7#7Jq9{P0߶OoQ˜9n@hX>qm:pΎ0,h 1Ϳc[8"_nj ׊+Jb$h[\nU)\ 7ۊ#gEq`wp?d~b3o9I='DvAP\{Id8$Ӹ.f#7(cϙMX'j.3Mhrj|'7.R^aED19& WL!_Y` 1e9,冄oԁ7JzG; nq^A]e#ՀmS.yM$lf{e92IJB<e"(c:BM3D ~4׽_þG2)ɖ싐x}i}$?P]Ob WN+*CLC`?cP'u 'ZtRx\_ D~u cmz[~Byi#;;8ls-+GKučx}^S;b]j[e*'99 Z;ȯqª^g̩sF$M@@p#6?)#(=G"\(2\±P'"yt'E&toﴦOM>{snڈﴻ[ԾͼDisڋc&Ϭ_:׺i$uI*Dw,+m4wl$3o~Y )DpZkMo^v`C?e'*_Os.e t<+ϛ:|;[9 s8glsO6:+j P_y ldXҷ,AQ.b"#oʘنxmBfBfUnn ͣʝONZs~t;)=Y':PT 4mkuZ;fG00,%d0@:- FsnkDnBHy'4Uf&=A[*nSf2MGj. +T~؋^ imCOƒl*h"yh7RXvtJ AF|>aB#JVAo!^8G^νru )(Y7KU=^Q/5wdNwLHÍĔX1}st"0PrgZuU2s}QdH[^3ll/yl6ֺ?MOtX[. mxo<I㴋9,k sNLnڃ!@{Sőcj. p#m ˭>%AHt -#SIƂ{;,WRIH.\H&YEyjN QhFZ#Yl(Nܟs0LI]`NQƠx!>)?`^|< 0nB\ fM޸M a!<$6*lwqӐl0?'(,:2w=浐V>w"& yrF++u,P\00 c37ꌀ v4d뉁D- }Ue-u îf_)8 zkp`ՇZtʫTG.)8Cl ]ZrpW: uu< 9n&9Xj`*^Sm@.u }|0 dezJNx?4е 8~ v2UĬ_ifxUW J& I@F'IvyrX8za:f2ݽMiS\lL~#-kҌ.WXG)pIzoǎ> ԭer{=JqX5MUe^=v|i"1 Us7(/\n{&eRp\*3&:&bƆQ[}.G]Q=MD#RR(s8/ +dT|OPo sSRưc~8bOǍS~ $[S$ө[cl@GDR>~Hmܯ!UԞJ Pc6V]+|َeOpKPWJ}?9W>Qqb}$iuBAƸqf ؄!_z^K;Xc<(Jv 6P@R,OتQ6W[fIܵi>9O[R>09D[9,ITk+/9Ė$2/y,7IkÝ *WeI*#yޢI'j1~` ɢ#NTqq.S M3^=~;.n `p* o,wԻ+'[[߭L}nU^QoGq'llEZz5þd:`":ِ=k&{U^ .'|! r738l%Dо6WC졺&E'g >9fFGVB e$ u~03- F_}G:`6ٚW$AN;1dO.u(Bt'Y`z]t, `?dP@|{sk̮{v>NL_ʶ|$yO,D4\נ<ዖ :q8k8fjh/S eH8%8ie80)iY?EXm?w mubwf;sr|\%V$eL ^p8)zk6s.׿4?r/?qh87IIL؍r\5u }Z}p= u2PT rǞ_!Y {ɚ=(( fE5S۷pikT-5ۍO &$2s{ixy_AkJn`^y6+]ҿ- oXںS%FC>ZjJWT,Œ%P[36xfC {s;ܝ0"% BwK|/6SGl7>cP?ds z9uȊ'x@BRU'؞sAn4Lwk&Ȣ&奟5eMĴ}Vrm@ d 0-M;3RKpE~Ӵ&5)W@tvN}0FH1yqfB8eiD%6 ) Ihؒ{"T g 05ȹ!h+x@·5[B5'9~8la9y9KY%  + FCܖq22?Ⱥ*vڇrf 7.vF/a(s*)իپ,;1L6wN< N gG)t}꿛{KE-OSLGԫ,֟ht M՗l `“lUo&'cs n즵}✢=Kte=X,n/jD).zy<9Dd_i`*jdpqL-9~E-ʎupjU;M%b-p. Ɖ[mB ~?uZ I cd)Wn0fP Vڶ!( m-(g[e1O[b!#*8K ^X0Dgs۝+! Ķmľڨ?(dfkѝ&Wq g_#e&۹*"a߃:sk-v^ՀF%Fv0/t)[]=YnŀNnL8 $d ߍ*WDqXIf`X7S? oY.>j S%wSOu"myМG壋Ұxb`Z;"=H&L ir%~Qf8^m5q!t0D!|_ҭZ`'_NXnt!B@,;Ǖs% =` QJrbZâver2]rPauiZтQ /k-q@Ajc<|ߋsm[VLe &Li.="nbx17t.pOy3 L# =y1 .|-͋a0Uvpk߅[*(Ri[*&HGH\Ըz/{q̉aؤlK.ҽTZ{S!vn8}ȱkbO{ej[y)>)ݥD mgD(1Ez{?@KRŦu3a郅+O "d/¹PGإLGyC$Ϙ+97EWMhx7WɮI$O["~MCɟZ)Vʲ+}y 6uF~SR&{O+߅= ,p̈b.xN:aYBo^1տF Q#~U~H&@Q G,L{2u&NiZPwjm\# +J s>d|,%-S8^GS~䥳:.qy8t }㊍OtfLN 9%ؔ BY|N/*~)Ɍ *a4TFfJנ/ЈX:)W~Zf0Dǔ!NRʂW:,_t+M7p!*x"/\UV;M̶ j7}*gF*gFZXҖ:oуR [˱]2y+E*D%I%ڂ%qqeSs(!7`́kš2nTw7u!"lSr!@q S3,B6⻘S ED\R$ a[>/腿Y;8ձ ({$'RRxQX54׌+ vk~-S[W,07k ~P@l_bi9$= 4\5&u>- 8 .2xT:ּ@rbIh-s ~A".C%%cÎ#/E}kY5D` \qԕ7&xL.ʈ7<m4JG~&]es멘-A0fXb,=өnx8i,A/ziK_ 'Yi}w< m/?NqJB$ivLz 4˄b5{huGv;3>Fyބs⧟]N?Kko a>mQy%T߅k ɾmDɃ22]Y&t l71j@pԧU%bAЦx+qH;eWl' 0Yy.3T0 S BR޺fdK!3qJe\I3{{ M[3l% >ō+$ZjD"pȃ>k.[ s,U% H$z%5"f:`Txh M@y(HCzzY.j3%_)a=K* z,B./f=&C^}'ep sajʢbR_$(38CE'U gP:~ P4W,m]9 گc[ 5("<Ѭz3 `2f HW( l Sc=:13Pf9Q;f]Y_[U?X#wn' pY`aWlj |F2Ysbni[$Q(m2b a7um?ǰ5TQz $I񀏟_`!b^rEVK@(?,%i Q"f<np9-WU/_X@eݶZ"d(r@}DE*5)b(w>j`7r5׾a8'C_ G0:-h#3Q^٢LȰt%K -F!)njko4u+X# u0rd- A)jyion,PbqŽy}[֗{%т!U/8+s<,XN)?wMVX"k& WXNt-[)z2,!yk~7sdvkjsVPLU =W+/z\Ϟ!i(~ v*ulfM4!\oZմ!3殭w56]ة$V(}/J84Ev6~u:gy{=]E&o82~OMifm< <2 Իk8AWhFհ6ײ+CO偧{{ɨFToMGBت0H8PL5ǡD?AS}ff˾:y"zzT5$/t-Vš|daDtj-wb^G짲q4'lJrGa>~p2]yZK;NЭ3b%E&^QL|\!>͠х$["x 9*sx'xβMHr46>JEąԗ|^+(?!ёD]@semiv ܇)&.'ljx-Mr5l?r}iOi3e; K/~\_2_]QrnGy6'3C/ {Y7Xk;xLX풿):^đ|MTtJw=X?zwLv%UcN܀퓛 Wuh~١;%Ū@W a8ƉߍT_^Kq!pfkMIHMy*N@/&Nexa Da_!TfrDZ5wMclY7P\ ǀxnAF71s 1_*nADj ;+iQr%̰LglU&Tjֿ!}A`_0&=#{9o/OQrXT=L I,!ZG`=efOڥ/q':8(eDa%Q)xsJ7k??{5qjO8x+JE[vd va ۊ=K aN UTx"BOyZ@=cﷵ(PpG2ѐ-)jBo3PRn%jpѭ{6Ve(|ڪ۵2 ԖYi3HZdHǘǿPB,Og$QU}مW 庥xSB `b&&$kqf˜m*1<5"l4aLiH,[{R4)o\HlӐ]e9oFǥU2pj?I&l\^tlx ŏkC=?uB|Rc,̘}"6q~[Q O-:"*汗ZuEܘ ?bUV )3@4*Fg= k՗_3i(}ԛ]I7#ͥ*y2X֠ྥq=`:?`9~p A;(˥TqӅ`xDث)a?: \fvQt*멮D ]-}*:3oqi\xCڰuE1~²ٺ,ieӝ?[BefMF wH WEb]Yv<_20¢$k!ŗ!:Q-/Gr]'iT ڼM6 Kڪ{񭃓e.acI~q(+ȯAn}> J7J$#^Q|}Φ}HUI{RVi;1 YShl~}CIn,NK@Iڧ#^K SNO`| (*BtW#"/bXZ 8J{CP@nM 7Q /EYVŋGھ.\o@܉ w32W!<\b4Y4A?2{$o,-owdK 8=~Z ' ;8`}ygbr[_瘕Qh܌Q-y; 4Jb Umj~繩_Ia9{8H% Dk3a#<^FOT3NL+)ƶv+X5\^hz򭦠c= \8aav@i j'MHFٔjS[ºl"a.j u׫D{WAx o=Y0Sa\tۊ3f?HKn9?He)\*dBh Y|!]I5q:Ӱx{A;|. RW4Snn%YV3Ggh W(*=ϟ7Ǚ(_*uU"@(#M"So\NB~Enʞi Cp I/Ƕx=- CFy.!P8! 腫0I͵-d)9EEp;ڑaLHcVr e0[ɓgN),2K?^K7Oguw+iKlpAW-st`}27d"BmX9kח1HdžQOw&7g:CSկ "ßR0̜w(?,Ǜ|H26euA$̌VXdi`QMh'ř>ʼn+yJ[)x@T"eNr8>6@=pR^6Z} B\)5"d?S.6Osb Zr$hE/ߞ|y|(r7-#Ű_yFN|W;Tч2cM%^dPn~mgq#YL)1gcf"OQהx(ݮȉP%ẇCU|:"&TLߕg7ڈcf#W)מeX2$&)C#Ci;KMc~,@hiw@`㫨PNLS 8XϕoRW4H_.7Yfe!S;Ys@LGjhZd^yPÝC[/wԺ,i:Ҭ?oV2z%IGYo^!Wk +״ּue+y- 6I,&؊* u64S73)O22tr!VVKll4eT9m AuF 7nT sOWx- 6[RpNTBk} x"%-S7삉u0!kF2`܊Q,gݤfW'_47njx[?Mcc3_1,mBnfbΑv ]4'"շhiOˮ2Ѧ*w |C*婨zٰX̉|fKlL¶JLVeE^aZbNQbJ#upyVMF9RR˝VЏf쟺H.Z_REYnjxl:#QU 5zL7<֒GR BdH [c |&JAa0`(5yzl؅K˞rC ](AX0SG7 W2NCU]]&'Cb}eO,DݜEVd0S F̳س-r:?g›0irs"V37 0:+@o,1 T{Ϭ'K4 >D-#Uef$pw#F$ڿ$VqHS~vw1 Бb p 7N .|@͓\:iYBdWҥ)dYIrL6p~%0kaΝU֫@aCA,': GYM::U|}}pሖDl鵶̝|螾1']$)wip LRL ʢ|ꤟMFX9gbWo~`Sל|dc?{R=pt G"^v&RبtloMڜPi/~66'Ɋ%`Oaou5o"?W"}zj•`fx}Z8%0-zZG~A-1L @ NGWxd2|/|-:Z:`(q1_wgkȡ) T[f`\%"d售 gŪLxLîvJZ)L09HRG@b֛ @N+L/lU.ͨlgwkGB3,ln-=ljg.m$ybV}4K72UB8}R9޿hH**C5 pŴ!|[-ܲڞ;$qhm-jRR{5vY)vFg!RM$l% Zw䕣M{TY~=>m (⬥]|NGT>`Z^@4lg H)F{ n~Qa:⹤[zIͮݷH}!*]鹤|ol9ع6&:ѡ@Cɡf .YrTuy%G@0zh  $-'RFN1+]KmrƵ+Ǥ~{a.cBZ&@:m,`Vi$;㣷{[cjHnA#m,]ᓉERrz1Mg wmυ@QCHח-ObĦp6ARo;GQurnգɌcN -/ @{i4 %3|fwk(+he[ 3]gekg| $PJ'|DzΓ.LJ!:.p=nu!j[+Z`.f"Z"ua!R9cp4yaaZ2<_8plW{z!7Ak52O 9TAg(X oҝv.i[a#:X*/s؊6?K j@y[`*? .^ )3X Y;I$3q>&GIi~$XBcz:=u8VJWrFz7ވWcʷրq*2UM­V\%0#?. de!ay!@qmjgbgRăCfR q0S(Oy_h̐N=7sb2-!־I. Cdς?=v%4atWܷy;ݶE6^u\a&qD0ΰ6t X&U{ދ1}\_$ U5 t5t!.m/qͦ&j ٜ AMG]B<Še.R0d>Z w"T*xIpZЊhgT`PFCC`o`< tc6 W.ꏍ?q?C8:La^>j0U$Á &UE- }GYq,1tak-\HX~cj~x &Y߰ȥIH|u_u?k~(%Q&uT$Ҭ*񤧔 swtJ2g}#us|Q6z:-"@?}Jm&AY'Ҫm_\w){S]bMK;sjcy cGXjF8 A[\8s4鸗rk}*G`~vyGD0(ƈۼmI ?rDHBOIo M%." zJ,.gΙ"uO;n Rt-Eln`tzaXa*ygPd搶eڑ?@f3m5Ў0Wr H:ѪuTWx6h Ӭ(Q@iw7hjNyYlU%Rtiՙ*唭> 0>25tCf#qdI~e@''=ޖ)B*թǠ3Y(ju[Y%AZč҇ 4 ߱X1pefNi EY5)#6q0vErf!z/)~ڋ 8Ld^N&)-P;RNPtdUdx X6ni2%yeV_<x틧 | ʷ=(vk48[ l a~} Fdr. >,Dm Nw;۷>\2/4z^NFa48骙 kJX$n\[_{Z_3* )'5gGnTxqF~b⾂|! t*t;ClDF Ԅjf|),.AN`(rя1 o!' f]0-b0hvF@?udY`PF^|ʪ?N*0@u#AЋZJpR)RݟnXWs% W% =[䟍~ՊKʖƹ5JڙtlXf+jkrUΘtkF9 ZwF>x$N`hGqy,33/Yz쀙\Ăp6(bE` SojKA̸xtxV\)Rnh&HA&4[qf 岽pݿ eqnC+fLpI nt'?Ҏc.DDd\߰晴?+%%ypWq48owgEvO%ޱ?Vt8ݽ8V @r_1E떟|kLLΔBuG1}Inuchՠ]ӟ[tTZ&P@3{eiO`olfKG=E(H&.c_kQzHF+8/gչiBs,1 TW(\Kc'ro}TlIܔh3c9V,z<ծpj?XСʂijuJ Tرz&sIv\:A}6$^"r{^(zE<Ȝbj1xeI1Y..KVu })CCJrG7 E|&ְi!~'$KCdy% vEWnƁ:XooS}Za 5lMLҽfmTt#w1>ˤ^UIjRgY|P(&wN.&ec}񕀍Ո@Ԏ;61 0ppCiʭW.7RPB" "X&\%}z 2*SQ_P[Il^V{nGVjE\; * 9H t+^D2~R.m B-:]U}t7KOu7>}bh.Bc"| n?PyqUm4 #e;JR]$AZxULCv%ELpg.S˙{s= P NYb9ȮrsC BM XZKS!ucPb w5Zx;ߜp%zut?̓UIFР@OrYPUqJՌ& ^D̸t޵ls吅f¢]sgV]|։(؃8&SO6D rXN4ƃoRh,դA#~wsƐ*bp]%i)BB2kބvV*܋I;PW=1&:u6+Xr|oUPL=i_kTqmٛb0q̠_O4k즖Ie{9qH2+6R ہ&ځ`k;wBn򤩚%W6|mcxCq@r#8~W%V#ݺM _U,2) 4hxw(V*k:AJiB l_;)yݳ*O # .U3,#F*dL2vD#v~`u!bNeg>f M&es]>EMIR@pr'c ZEϕ:7&FمEkɨ;QxGFuHR6léNhr hD%)d!-S\6؅T}s!Az!u&ݸضüS8|+:fdXʵE>^#PmcbB_)@*,t$VuX7m;/Ot.ex~ri"-'1,6`rh@.BEX%KrKJ ˱~>p;..}@ ھ@-Q<|MF]5f_M!Րg+[+V|q/r#qSu-|wEL֖U 6M&'oU=z|#_j=lFXYkt8hq} ag^l|V=ϓ整%!ۍ}~Jgڻ]ӭ7fUCw&t@r^|5W3dMw$P&a)|LJIG`tn$$#(L]@/,ϝ8mOGbJz?dO}* .f>ܚr/E Ľbxc_g;ip& sbrմ}sȕgգ Ef{q@ rQ>T^H8*RX'7/14ZO Utvb7J"gUeW6 Q} XD)dh Soքo+a|vZt՟WP&x{%eYpqd?*A᥁r>W |G9$FbmO߫A&wVXP8$޺'|T<T;C<A@A\rƿb|P1zyDh-OU}:I,}u8W/ےS> 'SRǸ>\!YGCg(3 _?I[ zD)ogjC GG}tX5dԞ+]?;f]߿rA!]SB$c\V#%QoLN@wzlܓ5q/urC6^_cuҚ>2{4W衤_~ǜ0ڜ |J,t`?Tr`:3l~neGHJ>'&_C==e$_7*r}G/F6ɦ3t [jim !K&cw~U-̀b|Z'r$!C.g9S[~+;+)xwTyaPޖKAc  %ldP>'9T:CXgB4"u 8T[ųCxy?"/}kҝsXs/H'ɋaҠGn|g"KleM1w( D>eynhv'}Tbk)1u *eCx1mOR4FEpa q$>çB<&ye}CVf\^Zxq;0M}h'S Ri'ŌX%IppOm|>}F8' {z#ߍ Yu'_W.QaVHX9dS1\jxʾQa\!DYڷ戬ǿN#&XQ𠺵:Z@/p(ksRk^۰퍛itT\DV8 3]c^+0ж5Q: 1hjM.AAPcd H7cM'h8-O"U"ig؏h /g'zF̯o-5CDs5E^n! qsJX?Q\xT v_]ԁ:/NB=͐*5(|M)M2 ~EL&ԣofFML}!?GZ3P(O1?r;+C] C*8p`=e{?43?VvbrS:}B1֘Fm:4 >Ar_z iCX1@@ J~[Ŗmh,5YTorh|m5YcћNeTAm{|ys⤺N#?EwlC#GAyEmr8I6ACZ2!$%\2@8D%JE}eRŭkU q7Zpm뺃9_o44mF_"uм' M1LnA?yZy;1_\aŏD3q"Mnyb?mڇ᫖0BPN@YPf}{29:,)Vz:'@}=sD^ QZuxÔUn!}f?\ttsD93'WMj0RvyFˁ}]97jW ?avTYH0*i#- @NѠȤŋJ(TH鉩;w%Ɓ~d}\?ETUc.ŮKh.JE`<^9gs A!1G0iLic 6XA  +ވCƷ38'>F XT%Oxp9\mʤiIhThT|IU|*T8ajht"\o*1:2o=񩨏~-H˓ה<\n^vN.SؼGxHr!PS%,xfx!y+ p2ij h$RlOl'j2fʻvD%t( dkc~G|Fpdea|ydҒ:)a+m! <,L}LV@d>TRQylܱqU !GģT'2HH(<’2Qq"$.}RP@mzFc7^2#]-9U@-R_FHE#:btu[lfxɛBĕ͌ sHh݃ذ!%e*E*tTWO՝ӭ2oֳ0XlZh`*&,4&uy`e%g̅]3r,8Pv ԅBWo2i"/Hx#lOK Z:L s,ee L w$$fǏ!p-g>w#(kT@@c]yh՝#S$~#0ŧC|S!|ZLX(\ 2ODf`x}tNDGj摭=%bŒ1&'R(L1b8U,o%I!`u/_E)bCw76[ХEL@=]Ho2>AvumV>搐pbgBR74ے*3"t#8 H*Bm]~FIog[bn_dP=Pb %v[ѝ)9Ϸse^N@<ɔu~6f?ucgξqW%Dk8L^j"07lK TsY1~MqdF8;Xze+L] fx>;摎394NE- _"PuD2LwY(-ĩp"Nr.%u ߉h.ʒB3hQx(z)+Q9Jg Zߙ>sFB Zӎb[ F_˾iܵAAy* hSiw:W Rjq+~J#^ Ͳf0|- G0ꅙHQL TgyʘmBX+8Ad>P"ngn*kgl'(uo^T2(whʑS;g d{j}W|n5Jw&zZ#k*{{'낐G19 MGm\vBv9٫Kl):4a\ 퉚)c]n5xV FQ.|Ն71ԯƦWAw.Kl7 b?\O09xlrn 35n۽(hd 4ot8m_yAJ+7$*BCE]ܜ7Nsΐ3&YˉjɉOz6D$X7(<%@M_8㯩KPrfг]wv\+]Dd/%It`Eg.C_S;jjU6>tDY*w3-b1FļwDCokZF*u)ӲD5',1^$xfZut:kg;V|tOKa{Շ ؏2.2LAƍOV)|0C}ߝ"@\S?U; <t~k PY!c8TILHM#V:QPHe9&}sS176 R%,(A˔Ј*ӏͧb #<} V||1$@_vsj$6OKx8?e!-q{&+m׉]3x|!?vP:A/bԺg@Tl ]# ADVH&׎ւ&K1~y k65pt~R"TvqaN;$r@ ʛ)Q4?'޴Knpp̙1R @ ܮ^Q -eYG),lW|0gi j@}#^N6aޡu]}˴d| p}pDL" @$줄%)Oh.1>HRCS)C'Ҭj "Mջ0O5% EtM֖gs*Kz\8[_gWDcI75^9* W]aN^'ci5$_N:f{x(Θo!{]9~_3-.vupEf~q[:lnt&s*}lU EƦ$uQȹcɖ2G?4iEë2)JpPֲl8fFJ6$ⰫnhKmjJe-t^[)4%Y{q(p{`urj$g'p=lz?.DA3 2'_я<$e+hv3( Cf(f)i\=|fg7坣~1^h,f ^UuC1M\޻ܖ%}4+=~^K aT/xiNMTgt]^ȈJHu*?0 Ȗk{eJ5h?̟W$M{%N0>[)P'3Go~ta*%xjK;kR&*I8jcb Ad;SO#& ގz,&DR ĽqmO SvN30',yPχvL0SR)0[[͘y ЍDϫa&!%&^̍Z_qwgE~xIC)`yxlq3\Þ]sWcO !j,н= ;mGajQ|>N(\P< ?ʿǐ&n/NH* i4 3D`_c*P@XGa tTy2ʁ(.FiU+fiaaLƾryHǥBxI+ "Du&6/ ܌s#7(ʼnఊMÄ70pv[ߨ9\J_͇SxP[cGǃ(#=:8EO#eEPV'$4gJ΂S=X#A< 1hD퉟 ʾ`: &G<֍xQrkwiij7F8\_OqRH@-?VH8Fm}A1<,9d"YõWFe,G|:Bs F\JgvwgObkzZ{(_5J)ڶbWA1AiqE[j'Fƞ=VR>ӜQo1!ށǽJ?'߈5&b[5)$)ƞ_<3v*zKMf)0cpyӬj+@~n ̛6O:|<1o,oA8ۉJ14CW0*K$cF@#pm)AJ~; 6y^RVt}'5_2PUP>mz GCj:pނDq="ϳȂ{DK= ر408,itV.!#`F}RĶYoWo9aA)RCB}P%KبϨ& 3 \U^t.ofB}e dJ/ |7:fA>ch4^{:ö&G30 ozD'AEq~yqh4Y,gvWշ3{\ ^&Y Kl0(RD]_!mVVUτq<"{1-2A:tLy# a]~ ʗ>p!ZBf2b"ϔ˱ iR 1|RH"ajd%E3H+c4 |hy06D7#-BٹtwFR9x$ɖ#eܞG)aw|Ees*9R; Åp'bѼe#ߤu-FaZB .<: λZ5>̙ Ռ³Ǡ\F3"9%F&H`3KT~u&@ 759/^$xm{TD+"{ۗxaye$Ѐ\Ioʿ/48G|biZl I)Se7QA=14p ~@nCؘ^`h5=KL +T">F e>qy~5$hjJImtgMq1ZI-%AiVEL]Oemw&] 3>v/p$ǴְҽQ}.ǀHf^r쳪> kp|5BH+!)SwTƌGLҋlwi(r#$4|+QwI(㭐Ipt(Q oLu 9$('Ê@~%2$^#64=V<1&p 3q^pcKac9\NZwK'F>}JYNmt*1DZ^z Dfx?YQE84Dz^+!vtD$Z)-P Uybʆ-̇Z0yv$y;ٖFpj7R(9S!`hLoąA_Ҏ0A=9#K\d*.|_1IXXr'Q3WkN "W^NZB %XwR#Կz?47&ifdw~3`W!,y!wQ5"XQ~ccPnpOF$L`ᤠu|:VYK^0YNT5ٕw~ܕSp) M.]k~(u˳[ʞq}__AP]}y)=OBqWZY)ϙr1r6ҙku QzHo˙y ,V ,"dj**l|t9;3kx`[$ jk>ul6rK0ӧ3 y0qC$װW |A3r77L1H6*;CR?]ٸi}"KR@#)iЧRVWG4沠EE~Jf.f@i {* Lࣼ%̦@/1͈m6"e[H(Y=]qcOƴfyL %Pe -+/푛4ƫzΡr)4o@Bdo ^sk8AEĎ}+$n5@Os] f]goÓ"|p~X5]+ߪ67 Ľ Qg2Ӽaόos&tw'B w{PɎ4QTX1# 4+qƞD2磾 ;9fddjeƋ#6* ByD d,wW?d^*;\~9-ލxK8^8[‚tK#tpjo`D} 6˞<2rw@q%^I2~|q?ƬP,KW;,^6$QX͖1Cp1hlvp Y1 cEՃϵ_!1k#O@L%ລAoQMKA)>z9;ApJV<6}i۔۵ ̟lPOv˳aqUc;WVǾ f RzDLO&ѥȊcn'S=DdQ^=ú!aл,6./_E%*Bx.%TxN]X;< 4_mŹ]FW@#9u,&5ډ3T*1hj D[.Bʒ2\^s{N2?egP#4 8jP_yb z~zHtofʄپ$Wm~"U{/ZoW.tNioIX*f GQbv55-Lސrt=u ͞6jJl~ؕ?d_>lIij+b8) ,~ p2'[ ?w<TczH$Ŗs}lrGoM*??+{I@7SMmQ NF)'yza> ^P suF\hy GlcK3tޙdbqcKQtjpܔ XAdIU*ى0Z^|B:ÍUzi:޸Rl$3e]< {ѱѷQa@TX1eCk=A W"Pp6\Z.'u>C @i4'w [1qBJc#~׷+φX_UB>6H3co3M>۸#d-X=c\_Yrccݼ)4YՓ7ra/ -vjfU)Y% fIa=5RAM@eEz]!@N[m* aiQ۾Ar5^5g1ED.wG,fI+NK믖+hÏ4؃9ȼ-Upb.ο㈑k-r<9b'q|,!28{j˼E1 oJmJ=[J_z5>+VVgo}i#Qc,%ʬ Mٮr|};$;>Wz[RT>!{c)V3\Rk m;oK娒9PH<0c${e!";[Gp+qyKHI|ELvTe?xαw-Xz`|9| @\y \*k\[AȲg,+I_1Ԃ+miIO`H}> i07+[J m`*R J$oLHu~[$=]1-[@_0aB| <%޼@8Kږ֤$td8+%:E h`Ӌ ֪$?Ї\1G5{K:*%QxK}1 CSfƨ"n&,r hOw<Π\* ,DڌGX^Aq]q,Lk}L &B'Q}eЩl@ˢ!'==2!R-Z!`l]Us@N.e.h@/`%ΨJ&J\*hBBy oh nԑLRfRJ{hL XJ5Cu`c9xDF i;Kܴ{ Y8ca?lA=KDEEIk)Nf4!>&rNo<[lVU ;z>,l*7#KsFKuwT+;D-׬=N&l|MLkW<Сj1sD.ﵚh}8Z,Lq&)4麲YqTYfaXI13+3Ucg*_jx9Fj{">UtVmGY>?"Kŷ2Ђ^x2αD>|OK _ hry;@5QUg\6@Xa >h]#mKVYžq5EU{oHz9oŒKw˫)ZRM2l,ӭ!9M<ޝ]u=KorpXYa^a }ua~J>6c;UH0jby?ܧ`uprMG!h7vdwPucu(Ljt}vQg$>=3F* ն%Cꯪ`ӟ_`X%h\1U 4_IG\GQ>yD'iBmucoCqМyuV`jC__yjdpV+~?Ionƶ֍X.EvͧaClnwb8*&L}'~o m" #Q h:DZ8.@niIOٛ[C@6i{[ D˜Kep}=%TsK aSa&%2"Ӟ?KfXVP%RdѼ8}ȇ-/sNT,ȮavT.OclsbN' Rj 3O_6c@&|lCo.G* M ?6/],֌K| V6`WAXdq-lqvlʿ j}5M/F?̖ǿd)sg.+S-§ͱO k?k%wˬڎeR+ei ZT~{4ypFmLŻ\*|.w سdS=JZؙ#4Ieqm kx=LFQWĈ?p 7l v,FH8Vߥ m˽6-HjDWCa'GjQvWEsf5']58?41^g@gf(E&F2sEO 2;RD_܏U}Y(^q)MS-dQ?Ǣ|Xɴ(,p#ETׄ|,t;{-1f#=.mX,1,"_oq?0h@Co^L&i KO^Z➒5#Mnڴ>BoO1_]\AZ8/ .LxcJ2 -fqR2g糿 G`>^MpW&S`:=QK}Ewh|2%{ɠ|wܻҌpcq EF Xq!F E.L~ks=%uWy4uP~ ,fx0*Uۙy FW8-,Aa4wғ@Wn2pt!NESGqT/~SNod?0ZD] >ǤZB ;=gy~tWO7lS}bŠI.SA0s9V(*{T!b{LBtr1+8d8HcMG 6; >hzQcE=CZ izTC pǠo dZK:uh)g*Į  L*y~d% !ce^{#7k+0%>ixY~ aM~C8w 4pnXTB!~eBc,&i8bb'E0:)8y^Ѱ5{1ۮR_ R 7g%mwvBa'# >ov3'1<ᲬGQB6.-Wp]sÎidPF.(x+`O^ \$U#T8+7sX.{w2P=NLN:PW3e<{a5aC"Pv8)28{XLZ<5C3 xݗIM1<#ݚbj(Ԋ17Ějq Diu$sYHv{5%jp;F|',ЈMn:r@o)je>i%ՠ 3ƭ*z{8㥒Pr$KhclWxOl _@#a,x-:&$兹xajw 4ǿClifhN]Vu=IiB%WZW909ƍX3b:D6*%?t#bIH0K+Jd*=ޒq! t̸猄"<( ĸ\>O2V53aK K"Ǫ?ԆYu5f!"F]wȧ%~͘Y5PoT:y/Jl~;6-Ã^ D&eLsm+?{b`^/0GNXV/&wٽ#uaĘ0Mn}֨7X :N% :"W;ި"^X}tF/}`~:̊D}~sꆖ5E Rblu?N95F mWIu>"`,lƬ(`pw&2,6S,0N%;H# R'=voa,X2n ZMP @N/Ltu2RcҶWaI*YVpl|(Ly (6 / .~1Pm:VۻJ&Dz^сeh)~ x)1ڲH3GyP|q!_\W2 HGow2JsZFvm\<bck 89JYrw OKik8 ͌PFv?)"3=hKTQVr>eQ0wkR 7E LBt\JaJj' 7{s7zD" `D畹BKToŪ:H%-ь22cOj>5ghAG:EICiBYԑxZUUvTT_v?lh=Rk7~~ׁQZ.+K<L@^aˏ+f㻓P-q;$6ヨ;5mI#x.=j@5ſz.ӆ7jndQvc 1TΒc2 - dd% R GEn;P8csb k<8۽p8Ƌ|S1. Jh>6"buUȃk)5|0>w;vof!<綫},d04Z/774x|sj6uYwX5ލa Ddj0B oxR6Epb|_oh[YZ;R)v( EDFe,1H1V7i_nuTiz"\#1<lRsF,.'Sw0se݇ɀgQBUf>MTj;&d2CD ]75#/Ꙍl{W?w8[IߩVM*+Xg>+Ul:m)VE+[V0y^$ HP8oihV+9>T ֤­Q]CbT}_gw[cSebn.^w#ԣEreo?ńf(Sp6zu_=ɫ,7!7{4\jbNxݍ8R{LpD Hh#p$wzתXᗵ8h)(QaW>'inAm@sG }ɭj+ʒ8 .[8=6`[;4 q/rrv4I,g I cX?T`Њ?&+($XM\P) @uL:i^&: dauH0qm(DԹrדN)zclS] _UD&<mo J#cZD.h{OAIQĬt7E݋ҿSˡiħaF嗮/h<'gW}gyf,|C =2JEe[[cdQ[܀?I`?M}x w J"`?V25VÅ q̸B&Zet[F$౿G[IVd䚖Ճ&ra#|m%Zޱر/E`vkPJU-c\ aimgkbє~1I9 WHՉu>ړЪ;x|v ?y ;yΣj^UcaEaDZ'iu'/0gjv02uzxy@HCqTm={2dAi3[5d>6/BOv &gM'Q]7YcGYM'ᨏ R̨؇VỶ>6iAɌ-p |ڱ.;| .XߪjA,fa5z׵dAT.Wz1 .J |dIFN!k[7ngA8$`*JzM̃f> ˞`&~ +<"ʊ@To mta. 1Y?]OEf'e>9Ѽ}E ٦$\zqbXwڞ˳4h_ucx1ԅg['lM/C,y`~H(mD6W?CTҵwP{a Kg5S Ae /Pƌyt@|f1+t[},q<9}B5ڿzdhD{;+FKA3"QQP$#/?S(h\Ԭ߶ZpQY0YxS @qZطy2ٹ;PeCxY :[ӓ}O} (0r>;+i66/S5/7WaQVk_%9Q<ՁAgڞ*q_ؔij ޸~!_C5O jD_b[WCukIo_צJpߍEqvfa 0Mj!ƨ2{*1{7+H~yZW mB*s=GØ*٧3s^*qiluZB|O{)oʮÝ8kX-tEF+H %Z%ַS/=5 9Ixuu06e; 6nN]eo KqG#TW[f*[@^4`}h Z67DԕekIC8U@7`%jQ7&OT\,] ӭ>ѯeg#֫1gȨQ_H_7kWxm >Nro ^ܸ";ܓ/z-3P|Vf!궃@Z&qa|tv/DnϽ']pvW"{QY彃9&Th3ki:'MJ1 jc o[=Tv~v_Pܽhs$FH~8vX~'iadͭ/*ެހTN>f~ ?8lRI6 u cH(|OSn/?{CRGMN!q/f5hr)w>wYx+N;>zkrAKiy0 ,{Zcm񰟰+0U1& ̓(*`%x%lj6I z5r.IyVyhwt,m,"|o(Z^3%eE`$s)Is&K;k? 'hF2?)sÈv;ޙ5dck(t/uܺdQՏ D)H|$b&0+:XyGwwƉrVnP"%omtEt> 0leRDẃ敷ֈm3z4ϔa!bK6ƞŪ<c}No4 Α!l{Ӆ%:=V"H_b}*i\y:'_; y`ϰP\!uVy}~}Z^a%*ȈK8&bvĽ $#Y:.#(/˲H84!1@lA ?@u2urĻSF嫤3"YZeEH^d!">Fۼ,ݿMlS=׷_x ݹ{yG NhD 5<Ò*{f1YK̆iZuoIl"ŸbOQXbԊ8 TO LoG'ab7AN0F7{IWjgc2_m37X}~AdIDzFЅ# B$Wx~.P iİÊkz"4ҥ_U >Ԉ[0J@? 4GÎ"1,H?-8G Ԓ8B5ZlPr#j| dhAQYOQ9V)8iPۃASӝ);ȥ:$4H{R&s0bJѯO2'O%͢iB&ܹ\14Cә"hpQ6P Xq䛰1^a!o; Vus5sR;RwDAMùTj`:1Zg,jR:T!e-pdW ni]ת)q! p/N [aŵT@kJ}V/9'*Kk?wb7- `v.Z}Üz`C.xҷr?3s10i|Xm[ e/aK1)E,3P "m4?Sw9i"g|;iǝ_uSlKf1vn5q,ŅZ^dNN<;氢[ِ >I~:[:hߞ6h4ޚuoQUABݛ ۔MXա=y@tKI;Θ;'ŔKYڗ8 x'NZ^e?Oc| ʉc8s=%%N W_@ nLU(Am(͒ϖvM z5EKv,뵃 }DB`Y<})0ɽW}k8er`U+ы o.Dٶd$ŁtnR{.xfV[AwmpȗKRyǑ ~m v~$hfliʥ.0+^n 4;[%q2jJcV'B}내4mՆc2iЩ| Q=Ԇ>[ NFR҆= *!j`!,s$Q܄iTj6KΏ\0 i.oNILFDdN1&v9ysnwWY+@@Dmo$Ґ]!Q=Y&!cgJJoeJ9Ij<'@jE'ޙ%Z.kX+%Gr VG7PDN2sa߶;/*VoaI)VcN`WLx+mSs'Ӯ|c;N~B֑1&N*n'Noz.NYu%ƥcf~nՃzs] d fT[ VѹF8Ǒmoa_Q6)4>BgQ@fkd~-ySEjx eZa8Ǚ /_LKSGy@PPITdȝlVam^E+tИ.Gwʽe$N] I Hr:ʹQbP a%Fg;),0ķM.9҆X-ASrK&Z[2`S z\␡ JVKK5ZR1&ψNgex;ˋ7K9H1 1d8d !g~*'*k/ӧ_MFty;Ώ9y/[WZl|n`BUȕ륞Nk#;4Sq@]IM,] C{![lAQf@dl76]}9oL{1Rs P%@etmeET`Vl7D"@EOf^H^ZEot}_RrCk2:LL#nr+cؼ Pm̩/͈F\>8k:`Z~!e)#6wFЦka.} 1ZQ&RC8Sy[Eh㍜ı01KaOiu`K\{6v΢.q\Q͹m)2S\^5I 2E/{X5)ey6|.nytAAS^# 'ŜP~ /TLh՗5~`c{+ 2ӋDO {oR(7R=~ށEcR(1I5z-sĴ\MH-1x ť6rq،L#7x8( x<#Mm(3J`Xa1͹&F6&+MvF=XNl0ގ& OXʿREb.0)P`E. quD5E/rO #[@ 'Jas /PW`Mf |Ux"?b@u1¹ rGF7ÇAZVfFSwL`AKV >T$tQ/NN~gU糟 4s^2GrmE5IbC8WD$xف#"$_}]~:Z >}+G`ޛ {-Vm3uwj4x w7ܯLGXqOQ,{o>4*Pl4^P)Us?sK}$vy =#!5!2[~vBGvJvyVs&Jpe ҭ j?|7#_bLE %|n'T|,gn(4e-Ƹ؁ޛ&&eb~V\F8#Xiglʲ:1/={$!2*YQS8 Uf1vCC֏ 81io]- 0U#$C쎤6ř/|?U6ύ3䳈㾔D Lpfkؗ8Csy(jbIyPd0_$4+*_LAo]7Ѕ\_gS#=6^Y!cܞVxe;~Sji7s $ 5^-CbKCi*R"]H2,@\2<6-=ӑ0#q`SV ʷ+-ĴkC#M;SXEfM o?r,))a 5 ޙbl,VD%[ո#o(TWkp[y@Tehkj0Qڋ'2Q[gqPНTnCZ_um$<ioOW #i ͡8MrY x_JN_ 綌7ɮz8k 欴hy5ǂvL`Ww ߁@ kO_L%U 'F ŢqP/jx+Ja jj?~ "zµs]*prJR@$ӔqBȲ5̶G]ANC'xqawbeҼ#ZGلX'ԼGdFie$X?{xӴmotAfB oa/z[O"\' /y&iڅx) (@*jpuB.G4rޫ{Q {O ^lz8Q _GEU}ۈӁ%ϕ^J~}`$햏 YhB?>| 1n-Q"M`NVFz0 򵴴AHsBYh ^Bl4&~m%eE:ڣqN~k]ٷ[nB- ruE*ϨQ?2ZQ+7Qpl)mس-yLڀڐ)x%&Ĕ;(0ۄDMw _`VAݲt%ZyŌ;_7Y,5Y4;'*NiO^Om)ۂ!t֥ 6b.kR}x-d<·~ˁj)wfBCh'0 Km![=@kg Yb3@*G I2Y/vH1YOdhR^9)ziiH,t$-zc\wSv*;ͼ=^V[ H#?O@0 +N=|ͼd/S_^6'R3"[rW{|f\PgY/*^Ҷm(DZ3tGXCab5(mik[rL X$T4gڑLO 0=[^j.)c+(.QC0eٟw]FKo<#:C)zbuȥ}3 pF(f㜐,U|"PCAp <|AJ@"*v@ (w#!I&ݑ!|:m PЏu cE#g%FƥES2wQ$Uh |ɚ]"ĺOk M8pO [UPkHv!G /u$9IVlGNv]Q6dg=6 f D ;d2m=bb?0.qzdz^yZ)Byw;~ŠMwV礔t9xȂ^BPOrP]K &8=F/]mXiU[YQ0 |J OFv$QK+<3փ pӅ ɣ=iTy9P $[ԛkDZT [`*A\cB >+3Cڧ7,nRNԄD,W'lt¤A觞@@,7 Tps~́*{4vIJTȂ8+ājB':2dRr!LO)L[4J\^k b2bߗDp2ܺ)=3x03B^U}ri A*!DV`+50 GUm8@@)IБa䤜x:A|T 3nR|AߛFw a-۷ ~wi#:C^G1*jDlk2 k celW)$h*Q+½DH`jN8=Rh<ȿsOcJ9fO'm|k،aJl'ߐW dB~&7rb{PwhLӫDbۦ",B fx:o `b+ڛ5Cp*X48~}Vlk[8u A**=㳆EZak^Bj%Ǘ!zmj9,> U`"-B^jɿ˕(Wě{#ᾡq,`g͓Jc`1\⮭X\`eQ 5!ǛI-`Lބu oh*GVvq]OB)\<7x86}ҼXnHhtO#gzuӄhYئ?Jˏtx}ȸCqgN:pI*cI3?uoe"T!2@Rd ǖPJ`kM/d~!R%^0FRprӉ~~S_ϲ(-!Wi/ 4Fo 8ߜr|]`,]ICŘcl#-Dŀ@m+[a@ug )VB2{ cbR'\X ^vŸ hm@9ong..mA{o ]LӀCTZ,=[yӕ'.d TRP`ՠ>Ä~Hgu(MW܍`(s;xXR&|&KSM4wQV D6%KiO^VWbNpF 5~C Y>0:4ԟK'36DHv@S>NrLi<)6r'pl_FI,H}H' T@=qm!/lct5l6Ci)Jэ1֮kr|\62 *rd=zlDڞ,5Q=&ѷU9>*.3:+ cJ  +wMK_շA9VF8i(B{z0]-_Т4|H9w#N9O &,SoMH%-.r\鷶L-?eT En$O%]6s2x2y8I*L١hU "ߛ0*AxrZt pypK7[ֆy {:!gS19-ݻ,|P6n(ǚzk{F0갧Yɵʈ5póJԭiWHJy{ʡ}ʦtr?"&ُ]'~{9^dF3j8~1/^yWς"@}qGad fPve0C&f~&`qƹQ.50net`2WC\r6s[ z̯\vfMI}}JJʒWw>C.(GG@g&QY($5G&!DHڿ!7\g6ή6 n֌޹v $`s`.Hqa[E s:T, !L<nFS)us$x,x`W,U<^VMt;o[7]\p*k8ԺǭH*PWu' '.r_U;#=]/~6rɾ2ѡvBҔ wq[o`"OʇK.$A>[l^'-N >al4դ1Lݤ@.?Kā@BNG[ IO5-&sYe\?LìPpt EEעLZW?W0e;oQkga2O% ( ڬ]it戌Z5r[DJ3a[XN m-Ώ pCyi6ßH"u!:7O:k k&$~BpSF.0bbƮZNb0t}ꂘ}b}z3nA{QH9GqK-}'`ixf\o}vg%)>>k!T;CS#}3SKR48pbWQ RW0nI=*{]([ #Ξw8n:@% ț !3 MK %нF\)d/mucJ|,]ԏR_J|G͗Q˭H>RQ3`X 6Y['dh)4h4YL~E))F< oW7X\n~4&> |Ԏ͵ˌ򏠄l376 lCiL)QT#Tˬۇb8hRYyA΢WoTRh;mrWTZP> CK1?!'ȥ&\Nւ*߿ 48߀4'frX^pQ31-cW2Te ץRsonZ~"LI܀Hu?mX$tKK9+_N@ރV{=4!$^ uyF3ӆtJג ȓ m>nAUwy"!1;*0L!V;l:a+'ƙgD[P 3iB=wEpZ O:NtZץ6kl~- SY Pq&bjc3?H=D _oN5IfΧ'q+ RnX5"DcMT˓*eD-KMI`¹6MT8rۘ[}@'6\2@@C,׽}`U@VkR®ro=zLsھ/{f} tBϯⱑy8I;De*wh4vmZkf3de#=y\. ^9!MhQ ^gwP=:28x4 )Gxoxx0}MH~RZ/k&P-wc!։F˙ݴ  ŏ{\AωFNڢRM僌p1>g!1͐{Cv|Bƃ\Hfpj^Ґ! 2Ĺ/RX>3<6~|ZrE5 ~{0D\ l߳3Fksۄ ӳ vЈHt^׻ G~zb3{FNskΣKT$E^f'e奩*eXvs4Q#?VS/4 C $k{%S=ڐ[R*xz,~.]:_G]dNm!h}n5ɟ5Ky:R.DLFhKHU=_k;" j;x+rvjT(ڠ|rgI9r}s Z3˿nsÍXJ1Q2' ?&:#kIO"7 :p0}]45ʂ-¢@WO,Қe2/j^ pNPqr_ WsϬThm`NV 㜳ޅ&^uk!k׆ILMLO՞ٚyҟ_>:}3_ .Vz W0Hn]Xï="e`R~{L#@# gY,dlBd{y..' FE@nyjfY&rFtʣ $ծJ:qC|լ&C1-a-Z= l …0lrUCx2[S_*]zI,Kv=dT?$#9O(?ӿFp쟸]ҘY˔RɄ|ь5#6y3S`Eک[5mFYʁmdC>eAŮC"Z[gݬͮȶƊ<=P-|tӣgti?s@YKˎ~$O@T3|K}pBjoKqr_k#e{W] nNh,RIW@D[ УsP\a0 (f8 ZQ?VEj/P+j+0 MN@edӮ򵅢7D)k]PA9U]+c} co,M:,[Do|suA1(y˰ulT!(ܭ+t{A|x!֋p$`~oD"8ԥ ro'*`t 2jqc ]<^LcT67X%shYOCkאªCJyH"( <:ncd'ܫ/oQ>NLcmQo͆XdM<$F%tmUɵh|in% ;Yj=wMȖm\B-&.L`h=c3\OHTwvn+[DzNsO咨 H ~|g MB[Yeh5h.Qy'Dձm7y SJhT7ſTNiD z*O?NVk$r5u7Ty,$7>vȂB'5o/P4B~U|$BGzn´Qw! hq |nÑ!KMx_L֐L~yEkd( #GxS3s~G9Pؼ%#@NKf[?jamyzfoeQ( Ҿ;Q͔TNZ.05kPmJ\ڍ@_ 7-7(N5 P.ʣe? [PHf;dHHtö=՛X8Z:p sBנqԷb|Ns3arؓ !%Oxo61hf]]#FqmϞ2Ab#7٧g/TI"0N`9iS۸@21HbF1H$z^Vޚ7bCBTH3e0U"cP}3b9 ×}%gZw|ӗHoY!-`˶1P/ySB{i#̓ŬW8Wpp LU@cr%!%pI͍sRH\ҙ`E`+@Bqm([i',qcvY5D=B.v?/JG5 -k|_Z %Jvxov2Xm ,6rĿU-\;DZ?׎:CTP,q7~ o&"X6%RfL"tCsL 2GET lv[~29橊bU9^=Vޢ@?l$l 3lRċ<3E9|:ula dm釘ɪ( !'0? о/e:{Y/D.̅,aA4ǃ\ U2vȪl [m(u׃\s#A>6Phܘc9=?Hl34HQ~,#49Gn]zI REV^E1K4~<IOĪmQ^żTI"dي>V]:C]J5dO`tE@)_19# P*U"g_Az6,7mX וÿWPԭOi6e/ xQM y:ʩb+- {^C^jg8+) `&,-&uHJqN~F OSơ7d[n7r#nj !rt?UGWMz  !<pU(uGAHg Q[KnNt.m[ ?Ip?E;;h  e&t/lV'#:6dm DAkeiJ Q0ٍa#Fy4g^rn㕂)&B%)`Ůhs#nҁd'kㅏU#O F'or2V{~jg2orMaK%DXs$LIa/ðAV;Rځ3*E9.Q9HIeһD-3 x6R:pXH-]Wj-(;D"%㐹mG,8YH=!r'*xkMTusGo=q ؑaF1pHƓMBI .0m2ff29YX@*W;$JCCU]-vi6tft)2̓UHtEU|ҝ"/܍}isZ26-mh+P3-/ϗ(6U|9s ţ=.:ASsc C@Il q wdYo[BG"Hw5B+m>bPZjSO|B9qxf` i%hZBR7m Ah{\km$X/`ǞV$2=c=X=TrGy?C.749)*ԙ\X 0mTW{Ц=J?84Cm2KYX$1n֞Xx !_Z=J$%DrpպƑ,9(lz=n1,7l9\7~(:CK-H׍95G։Pm'/u5Q6${WHu+<~3067~@:Q/>MQGGHVQP=&U,Wځl (f@R1, SZ.\(jp`,/} xPY2Fīa}|bݳӉmZ=:˙7kS1`l׳ŧP4\g{~ bF-零D.eCSa!n-Am$ Z^YP6~}~U'B/˒{ ˟nG#iY|aBw"L%?Uџ0DJn(WVQA[QG =O}P앿A*#G\-t(kw)K7[<-UT0"J@8V}s;NбUkh Q仱X@<;>JOU^= e ǝ+ҩi, Lcz%`GGj{j0 }S.MAgGoQ^jҌ^Nn됀J*l&AQHxs9<.qܹQg7IwvЇY6j`Kn ʚy4:bùb߅簳VDR>$>8YK[k9=| zI Lw*.XN& pՓh9Z{ hRN姙ܕ-=~oTbm[Ĺ2'+ɚ&RWbY=b/^ݓe{"+H#Z+lTnXMVF[ ]MbF,܇3cIs<4_kqGb*L*?ҁ W r5o:+߄*r+z$2gK{'zoH8:; ]_O'сH(UءfA8KB&#InTMJ- tR7u3Zbn1ɑ$*^ؐқ ã Nrt<3:J^5;5oڀi5paX*pJC5MMhukOϠ6-@—B 4G;H&_ pE{N0ofRA5I^^J$9|] hPg U"ދ:&e7 3=Ss;$ƞQSdIPtlگҾ;9"D fHXĻc=vUenl% )xM%=PuYЍhj<%)̶^c7{ YB{SN\/LJs,#6)$sQxUVbYJtjL@T^!Uq] NkTJ}8ٮ0Xn4wK"j3q f{U Q$gt"_:w;Q]Zrz_Q|1=WJ0Xhڻ(*izߎg?Yٚ-xNlOanm+j9P`8K\';]ܾsPM!McE*ծorc8[ [%LD %pkxsQvw&Nh\ eC`"slGEx,DNVY&NSJۼs\WP9<85 [D @&FzRy I5ˈNSJr%/aJ̈^&,ѿ EcHgn-ovTT l%*kґ͚f|'n&BmXV/1s(q1Ykҟ=t\ }g.NMߒrFqN0} ŕ S!o(6|S}43a|D%Du8~_C%SjAu.VFӏuQNE%A'\cR4Ǻ"m$ճlg]`_)b'QqGҍ#c,Ij]v"{J=^`b-OR0XCu(h>`6cD8=[UpFdA|+E!}͉uS7$SK<gR]|{X SC@:!e.шkVh80heu Xw{|a'!׽vk;g(%m8HMvN)dVgeZL7f Q> jZX+ sd[7횆Lك5ߋ"PRmE61n13!-Gej$J s.S)w6V1sZ’ u[ZrZтKLn-@F~,p37 GJzYХI(> #^-DVY-m ۦ*/=`{O0:2).n,V&n\k@6=zE֭UV^g[ 4PD O_ f5.^/O 3ٛxd6y\-p0ƾSi2q}G⿚\$?{okݹ~8eܝPڸٝueV=c عR< joenǔUPRx)ͼ}΢EʩؖtNd rGÈ(XuӭK;\~!hJCP;MعL/xM&4FA^b #چ]^> q7o[?_Pe^B!Ƶ|vq ) FYŋ R|jS|Ɖ/ 5ͧ^^y oO:?\Aǭ璹r;)Zhajk[ r HxF~G~c>tL+v""[\H,> z&>1eNaEW*] j~no?^8V&H]nL4)Wn_`aB4墻tdfډ/= |Dp2tSwn~"'zrː *N%^mhDR5 Af8au*P<`TIVo ^paq^7@ڱf7"%hƵDMF*Znn"vD#8HhI}( v"6B\hY~37x 変 6 65rL)Szcpm{<}.5J+xkK>u&¦f!TojW œGvk8-(!8a-ŰfUq ãU_8*^=Q {Ċ%Be'PBUkilPK,0<&gsCF1$=yg1T5#5C-)@!JFbY/ f;fʆ>ֆW7~:8wRvR|s)l3V  qjix\VLWWhץ>ǤЃ;>$йXҞ/(9]u^ifHǩ1?E!"'^ǯҎ^lS,ILx LSW6IvKM`W8z$YJƤ;b}4 z"a4 Ϟ"znI̱sT33MrrzP߱|: Wr0@¼Ds!?BA!؆o~~W$ 5 ~À˾ՏT]3^Y }u[=jJ_&&eH!G!TLH笊0 k|TKJ3mjɂcӏE {ỳO3'Y๡~PF'*lHf"nx9(+#jg0[@wVSK@&CjD48O)T*0+=}X95nZ%EÓ,R{R_oȁ%})8 ns֝%z241~ޡhy8.z5p|V4O@!{,"WS;ZG*M7߮ :T5Qr$|ki;4|=]J񠪬aJXL}g\+x}oEdZ^A=*WXnN?Җg$nApp:`xD^AE/{#ƕv8 bEҩ>F8Wy!ފ!kt}n1;(Y(A{tcwxk |&N 𰏁}±=cHv(>ʣk:rFExT_~'s8 ϻOY3vC3њyq I<[27e2@VJ/Q1LBum=W+/0vewʧE j]dIQ0t2U`8Zfy *:ڜ?)|Sߓ(e|{̕@SjO,[1"} +WBIJ+DS & __ ϵՀxe <oן{WqN7[o(8˙uulw0U,x)>)]c |EZ=4th&\XҍصXHLU9Vxj\r@{Tsvk0HSVךE0+Ds?t]GBG>UTȊ$6܆G"a2μCyʓDl+@#,vI(C/if;l3e+Clt"rpV85GmMݎLONJT6zci(Łb:6UfrVL8$G]fRXZz5\xT a#D{u Q1GF[Y\o ~sZ ҉!ҦMhMJEf țOߋRPHyHlhZNXEpdBGu/lIMc9x}jD `g?#ʗ Ia=0ƨJx:#aQC'1JFU`hlVj`> ]'hŊҝbگ-k[5IL>[-߀=v>AiѪfL}(hA0?{w TxGicGw} IFGgms.S7v~M~Qe0ՙ T5kƫ_ }-/xJ'gPD-kKϩ<"wukqd|j:BpԀbZ-UlKQt3O *s,v[J {Abkɸ<B2{4s@2'{VqL{POFbwG5 FM چAkr}2c\Z$^*Њ0Sy0}XRғtY$NOR#!#>AڭC($`WSU 5JUz~9BbBᑉ, 䣼֢iwV$C:1v 'nkO_d1}WYmv#ߡUrm )A|> JYkn3KEԻ ^ٽ\hW03ZqXLqV L8aR='Qq݉)IMy:~LT6YuBYaYA?)Ю/)M NUpIckEܲQmx#bfSZGBp]\bTNh\ZRltT YjTQx*؈+`Bk p8s_\}9hjZ&& ZTeO/גbGꪼ4ǵ)YzluVB/ǛQgݑtP!Hnr^ˆ lb5bhi~K_K@҅fL-\#mm=u?]RV3j;2Ve < mJog=N6Qk[-G2]9L= f"M >0||N~oI"c+{Lb= k'_-\|?9"tC%=it*?|X;H;g,AxſWMfU5"9gng3FQڡ5nC{UT/NVOѓ xbwWȠ}e=ayQᶥ )Ӆ^L}-q>MTv {q@/2r6]D*:O2VQIzs!t9j(wX-m \Ãso˦YYÔs|UW~u'-D_0[a5IE*z)qRo.@-z֌-I.|:Z'+R_5- H)4,W eK;&Xat4`OE,6$a <$  9ղXR1W=\$؂l1_A VujP+yl'ΧD) ~EaLF筗K {?lwg$Hg] L)}4S{ nijx5Kb|JYµrayzC.BYF gyH['Se1%g҆ rAADͰ 7u+ G֐/XlGV)=T8+)oJۤDXd*)xěoMR{2gzSBOѱVz8/A2NbIɳ CGr7wF'v;xdR0+lk*GgBosn4O h˔{suRzxU5* B Z! =wfai(HneG.VU&5\V ETM:;`(,Fܦ$+)(28{*Hs}GJB=^Y)ͽe/`Хp]yrD6t#Uež7-k>j>0 LY!XLyeͯi.`Lhؑ߆zmuI i;8~LGd ГY4K@Uþ MW_mKUUpr[-D@# ۝Vf(׊f- gVz[d_( չ-16cɉ>wŕv 8 H $l8\9)|ɰ%nOvCjt\+XTYӘkN?<-u i\%}bɍE qWx{.8+> ]7B { 1@HV~k4:@r/ǢF\Q;\LR "~">pLM&';1ȉב{u0#| t^OE+-٣(@b9GsuݾVP=:7yQ\$gE~Rk]qv'%r F3')W,cLBߝ 3[Y$jSMAټQT\ 9] bz/[6h; :[} КJQ}Ϳ{f.VEU;"gQ 2lGC5S0ǭ e^I Ij^,ʃ\ +Woف뗆#4Yx=$h6{ґ*0isʕx[Jj]oΘ1 `/a&rQWs|z왈I)IgKNv5?sz?Cxm=?!ERggv NG"M&қff_<Q2Jd?"[ߎY7v 6 6ctllӑg.L`=WnP^yYw<Kqڒj:qa | 8 zbƂ. o VWEn󉆿J3OZqǿNу]Y`[+L?ggX~' leS mCzV"终-~M%2޵ Jo" BgCg&YJǟQvwa0v\X9<+$oxad2QV¼^s T\pM@g:wgrxd!.g8СF ]RIŘVXU!/e~@ prFGA 6f-y\e=)4@{mwëyQɢoܸѠvIcs>|reqlh2]O,ӀŅ-TsovAd7NO#ӂl4uuvV Az53!:xD'6ݣEx3 awx8? vtDkC^>Q1z_յmkV=HHTVu6-m)ǣsL Mpzz[$O&GфaO3CtIkX$RJn])[gS ~NJߥV SD&87ʐVwkʛ"Q<_.\oJvS-h2: -;kGC -Hފ^C&V"| q!C9!Jd74J;Ki BgRKe0p, g"!4+)3c`@qaͤQjG#LYtT?^k}m3{ 'HN &g:. Jݟ^@pP^hvus' YCrL/"W.вP̼EeJqQ{N^ J=$vyKFt9'j9-ThQKM|LU5cjYL褿{7pw`-9( 8&X~>DY#K5z9_,t.L9׫ρtUՄpk$^`\@n @\r:,j*xx7 nXIq ~8b/T\ ;Ay''yz\zPoL] 3yo,8 ;Ba 6d"YHN|<a*tϘGw iaRMg6p-K"=X |b18 5k!Ws4݅ 1%n7:yx;g}vn"K>TK29zc@2u- !(yZo(1q=43 P:'a7(q8֟'Nߝ4u=@妬mK&B}K7E?+{eqw1ȈT~QR,eYc ,͝[Z$ UOzU cЕգ:W9&4y⢷MJpbL,;0 M,XKbZF03ܑgmLka+84;F6J%)hu^.$OHC,,A{۫HΡ}{DI-4USG4|I 㣪YZN?wu"G"„.4gxij:6Nh¡i(̸ I2Mv#zlK|6(> .9ݵ"Zk!{$ĘFϨF'~f+b@sJeX6[{Nm}|`>P {\8wdt4phY={/#c- If{ -Vx&gf,^^d.>/RKc ɻʿoow` &O) \[c}VKP/'RѲbmwz ah>C'h+-7'lSzw&1b 7(R~eŏxBhXkOV3h'be3d(]N,ܲ]/?щDž 0 L 8[Ke $RO@Ǔ/Y8oQ<2o=[2jk`[Sc)ܘT3mH+_:?Y }.; {}ͯo:4JOf:$xh a֜!. >U ZJu2npd+VwKa;L>\WTDHPu1|_l,VpN|~|wv;r BmC 92$I{|_=/)?2],$[ϟ'v7lzV]4D~) `L,ҫwI{^c.*Gw;63 P p[TNʡ R=4߯alXujںxA VPP܊/@6kv$#d(oc # r.Xޕ̎$cQ󶜷,,hhf} =UmVu")kiU x]iI,pXk6C,{;6lqV|pjP;VT‚iS(-!}ǪMizoԌ)$\50}80pl]cq@Fblpo;AFԑԠ'`JD1fTRgTyIJ:L󳗩qb 8@p\pqw6a8#-}Fe:BqGK"ć_SI-:Q@7s}ªQ . I# 6›t^t C>3~JYr ABzc0 "K '蟼] \cz{;}ueݑo Z xR=:N>;~$_zDJ'=ivO>cfڑq-)pBh L>Ii?A=!5a \_$<]#*\64 wXgwwڬ D1d~+(:-&1w؎EgbmւO.C4.Fw x!d J*J|e)mt-mznMh'v}=gn͈ja>9콶d@Sa#A%6ކj!Yz9 9x6Gn,4{ H"sl+RIkyM1X . zN߹Dt .t!R|H % KE/g2^mj~l(Aq'vD6ΠȋG?yN[62ktPdJeDބ?x7BUFszXG-bfvLGWf%F` {e]5;9@{u2B9^8yZ&CXd(9#)2L if g7XVN)֯f*XAC)hXG4'O6e֮ݼyuj*Ωkm开sgi~_>ʡИ F[ĉKS+<{`ed+}g~WpvhӽqMWtcCx_klc1E7r;F$|rn/ 1=^`OjXUь$ycve :Jw^n| OElFPk gP/|Fg|:6_]Ha5z*k-z)CL"5_nӃpFj_&壺~ߚ4㦅^nLnr04_Y\_.]k}.Wd>VS]N(齟Xﱲ?ymqegTqy YZ