resource-agents-4.13.0+git6.ae50f94f-150600.4.9.2<>,-$gP!Lp9|M,7%{ t9P]B#/3f !ʏ-: IH?Gd' 4 Y>v  d}X} R} L}  @} {=} }}}}}P(8_9d_:_=>?@BFG}H }I}XYZ0[8\H}] <}^$xb&c'd(e(f(l(u(0}v.$w8x}x>l}yD`zGGGGGCresource-agents4.13.0+git6.ae50f94f150600.4.9.2HA Reusable Cluster Resource ScriptsA set of scripts to interface with several services to operate in a High Availability environment for both Pacemaker and rgmanager service managers.gP!Lh04-armsrv12BtSUSE Linux Enterprise 15SUSE LLC GPL-2.0-only AND LGPL-2.1-or-later AND GPL-3.0-or-laterhttps://www.suse.com/Productivity/Clustering/HAhttp://linux-ha.org/linuxaarch64 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 resource-agents-deps.target ; 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 resource-agents-deps.target ; 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 [ -z "${TRANSACTIONAL_UPDATE}" -a -x /usr/bin/systemd-tmpfiles ] && /usr/bin/systemd-tmpfiles --create /usr/lib/tmpfiles.d/resource-agents.conf || : 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 resource-agents-deps.target || : ( 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 resource-agents-deps.target ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in resource-agents-deps.target ; 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 resource-agents-deps.target ) || : fi fi  ")h'Mf: VC#% ##"7LL6i;}e\9CpP0ln g"6#<:t*E}*&R/2%61a1JK6)*MKF;w<7!*Quqj-&'(|(dlJ&C @I[3M>3&.e2>>wyeF]Wg%145TEja(.$AY\b8^(jcY)(<l2QI8!GL7.[#WIc`0"+YFCKg W |(W F+P `EY. Z ^>wM ((G 7h\  %vErE|B Kn e+ i/ l   0  )I{ Tw $W_aO , o X &8o x 8/U,DE `,x+A큤CA큤AAA큤AAAA큤AA큤A큤A큤A큤A큤큤gP gP gP!CgP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP!CgP!EgP!CgP!CgP!CgP!CgP gP gP gP gP gP gP gP gP gP gP gP gP gP!EgP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP!GgP!GgP!CgP!CgP!CgP!GgP!EgP!GgP!GgP!EgP!EgP!EgP!EgP!EgP gP gP!EgP!EgP!IeCieCigP!IeCieCieCigP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP!CgP gP gP!CgP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP gP cb9fc722e38e523d60733725774d5ea98171666bb7ed7e43a7d03bc53b75596fd28f51329343e47f78ddbdfc2a2b1bed5b7d41806a751b69bf6bd86326bc890455f571410acddf7a4453317b4438f3d4cd7cd4b813e2943f5710012f9175fa27a368c115e42d81065a9fc232ccc0a6eb413e960f373938f1d4bf7743252ac16a6aa3d09e010f25890c9a55a2f21363da2bf48f57f654eade3c3a8d3dd7f9bfb49142163d12595675cb40fb355a683a4a2984b11c637ce8d67f8e806f0912f421bc0b3e80e647c7f5f5c8d953f0583564053ee6975ff3e0b8dd01360a894f04de9b6481ff54b94e77189577ef16125dd5da04d0805767eca63ebc15d7dfb9a559d3ff199700078cbc95801e85d10d2354def00d2a76244c088a625d408226b0d69405dde7f7a019adebe4ac4e7a6315f815ebacd3e997ecdfd912ae94e29ab85a598cc691f2f8e197cf38607461fe9abcaefa39762abfce5cb940c53a4b8b88e45ff504e27085ca0783ee46b31971fa6af795a6cd365f04ae5bbbfaa5f62fd50a55b725a4048e3df8ff6b12155257997c36bc1ca01090db5931ea129e5196c77cd186bde50269d3dfca6ecbe0f020deb0dd5ea34023555b75c71ff70e0fe27d74a33838d521741775c6aebc4110be994b222287d9a20236e635e10b3b1567b12eaf7e726d3b541213ea42492a1cf861764fccbd84992a3511dd83082c35e0aeabdfd7ce51ce6a6f4698430e673749c05a05eb5134d1698767e5693667bfc9bd9df2c3f401dcdd38ba8c7d996ac9ba3a226064bfe2b8bb0a256d9876a09d90191361d65efc92b795b6bfc252944c87f23e07e90ad582472f507343128b846051a50d4188222d61e6921c6e4012a8226fa6edd035a400ced2a3778f7c5a0274c0ee468a3ee4397cf68301e024900ff82ae967cd60f9276326608d38d548c553804c8f45d20a708b9372b63c2b7f2b2869804a289d007644573842581cc297129195cd5844d3e502a3e3c162afa7f8f0753de728d3f94445308d45d6b00274c59c10f17b363ce19ea0e75724b7806223e695145a3051d5ee152ddd1e3d076c247b313a6646f6ddc19466edfa6ac5a10e9a95fc9c2ede6b780bb7048ea841547fdc6ccb7b41f77f70659049bf48757a24f3c35fb274c3fd22a399efa5229f29da4c0d6dcdc61ae6f9b12fdc5ea3fce61426ab87c290d777fd9b2702190606d0823355fcd2daab9bbc4073f116e71546d0cf6732ba546227293f728d63aa8ae9c4e82c983afa18512631b6d0a6a072e817b0529632f46e5a234bdc5c1d9a09bc27c5601b8022965c8be82d2a49047d98a2c0fa29e2f7793893d95e04401edcab1b1f770a31154558cbce8b64a1a22ae816dce3261f581a05fc4cedfb3bc0dc2510d9eb117886c2418d06526d634593bbc4326961a96c80c9c19070ae4099b182c56f4862ecd9de0965fda16265e53165c1ffbff948130000ad975c0910f05061d32dc46445ef6c2afd436d4ce20408796ae95a7df1b682b96eb9d10bdce2cda0ff1fb812213a9e91d96e2fb5114b53ffc6ea2cb3a02aa9d9dd46e2cb1b21482ced3d321cc7e32858858e7aca5c192ccc0741b674aac9398e63f37a5491a8693eaccb0fdf48341d74094fa2be7170a2a346aa4756127fea7969dd9016f71d7602f39994239c0681597bc6240ee59e800cb47428f47e29d16ca567f8f0499113f3c7700dc84bb4cbd0c9efe8b09de4d54d6cf3a335aac3988e4edecbf072d538ac962628352287f2d664ef836652c6fd3029d902faef1f8803639ac34be51c066e3abe238d2801d591bb7e4dde3fb97235b5e211995ed0ce35d52c8ec5a94e059423595327b7bca77bd01ba951b6f45ebd350dd28099c1008c6dd2fa3c3ca9cf39059f467894927d569798ce0f0f523554ed02b89d1f63b648201e92bcaaa5408b4bc56cd1cd24d6f0ad9bfe16280344ae7158d205f5d60c37df910f5d7595d855b6695976840095a3aa1688d1873753d9ea135fd46688bc499df0f74916d56756f171ab815558c2663ae770e3884e37aaea4e136b77812fd95358101251e3df1062ec05c52d878cd0b8f544ce4eb1bc54340b32da2b7472150e1ee66e62264731e537ead8b4382d9ed621fa3144d986ae60d8edad6bf0d90a5931171819d278e1400fdf59a48577fa9c6e08404c106c3cee2b007ef3fc05cdb60126becaa30174987d53cb33c8d2c61efafba9bb9f9713ae26e9e781b44631b3d93ccb5d682156fd75a04c0d1f997277d419cfdae78de386941853be2c773efc3ace6e2ed9d1f244f5361b1e87308bd0a99c5a865150e2bf4b2d643c94d3d9b19e6273ed4f22fb605427c619a4abc27aec02a9806116eceef5b33cbd36617cdf42bb92747a36494a3ab802fd5a566d55c0484ff44ba9b91c894f20e87e73ffff138bf7f0b03e877231c00e9d7d1c2085dd5c583159b64cc44e25ede51cfe226b8e356f90f5361b9edd40625c3be651d0ca48ed157d6cc802f50ed422ec901f2ff62dd515f9170aac3f891c3e1d41541a0cd251e88a900bbc43b2623692ed874e6be5fdf43fe4b50fd271526c9b073404593078e64d209a450c5f04d40020292ec2e730a62071f97f2ae9e2fe053ae56c33df46c6f37d34b9459c475c918959e3415cc081812a4ec60d381a30e408a55f56154bd77f8bf2805245c63b618e3c9e268a4a5750a5b011c63055de351339185069502f837adba03ff9aba44ae80b3dffe50f6a4b4ba8672bdb8e10aab98f45c308e464104f62c153adcb903fcf8899153cd45b88fe97c78cecda2ab7419dd6cf11cd070663f2f47fd10cb1aa6bfa49d6c03c26f4ac1a7846f65f4ed94dc4c312b7017c4c37a0ea5ab407c05139842d02be83c346cab5424abf2fcd38a2e78f6f709e6254d62a997b4f81e341087da691ce2779d40d340cc1fe254a5fd76951d3de69cf31b8b55fc302bef808b704e85bec6d864c90b55315791c6e49d8d8f68d11a0622d5f6bc52f4cb0ae68310dfb572b00fefe2895fe8368cf1a0306ed46bcfa9af1b40b42d322c85ae8fa4200b2a1aff4e0e1adc4c83216714a2d6d82a7be1d1d8fb2bc999b06f643914aec460a0a182d3126e78b3d2c21ff5aed8a34f6dbc8a1ddba1df09a861f7fd201ed0ce5ea5a79e24807cc12d7e5a07a31400734f3372e5700a4e496d0dc005e1708649df02d00675decc54f1b8e152da0fbe7444435b8346fd9fdc80a8897e4b45a5ddbca4799ec4f7c18f7530755cc0572e528d5da47fb7af3fcb23e1488b6b3a1380ee5d4a89eaa8539f17a9243aaa19e96724a2afd7a654531e529da12d8e3358179c01e12cd29c8f83599fbfb97a7a1a545e7e1b403d147377787cd4169fe0bfdbacf3a26e10de0e9f594e01139d7a416fb5223eccf152ac2635960bfc4fdbad78eee2557a8d6374510695f65e304d803fb6cd946a6d3d78b3c29c334ac54dc85677ef9c4c7a6772cc876b2b0b476b4a7e8bd3de908849b97b0cfa56ad2146fcaa3bda3381abcbc3d273614b1747a7eaa65a1638cca6aa1b6d5849e35541dfb732bfb65486ca2e1933014c087cdcbece48a5a5162dba71a5dce3d94f5cacc5274001f2fd3483d243315cb1155b1899259ebe074e3c44a09b54d15d4f94e7eb8c3e6be95b057ff544c0bc98ce8185014bc86dfd6e44210b78db8ff4053cc2c2c9f370abf6d0535ebedec6826ef03b9dafd93ea52a78d30f1eec10a28fccaf837b08268ab48f2daec56000fd01c4be992ea6405f89c02d369801137d9c5192d8adcb9b96415c364fb3ecbaf540925e98967e11efa0e72c89e98df55c8e3e94295dd0347b6c2928a338e5c5af78617bfcdd34efdb4879427ab18bba2bd83fbd30015cf571e45bb978fc80bb7ab374b828650f0bdc980cd8be6d52fcf9f0a5372bc2df675fb87446ff7a8c26436acaf3299cd1d901385145d2c35860ea8387f4fad6175ced5c1dbc87f331b17af084b5f2b0771a2cc4c5a318f9046040940dc5f21d71c3f32e8278234971b22f8f6c6ef8b52d764fb7d07a0c1f0bb12901f08c43ec393f6ffe3d9fd6d5a978c3d0322614e5081fffb824a5d837f59cfa3642afa650148c292984c751e48e3cc98269390487dc45911d1f23b251c0436593f0af8bffe5e1b1c2f72ae6182e2cf0d1bc53f272f1d80f50af54c52b96851f845fa87306851415477370bbf3b9dc944226178d339ede6d8195f2e5ee75f86be8517186270b7161fd29a88666bbfb6d9d64e718c64e0eec8e58ff3e3869651de64974c6bee04eaab60a0012c4f9089acb4672f725a8f6836344e75da670b48ee988c846da774034356914b5e302e64beabbeb20da3d948067036990391d0a62a238289f6dffcf387ab777d363fb6bd4c90d0e41ef9ed2b7bae54494550c83634062971c015b7c8a580aa065d74adac0679826f0900c6883cd712a0b9e8ee6aa1a415fd302cf0c0d6ef1e47e6b07f0717c7f410e837e0d7f56a6c9822688839e43ad25810de5c9166a77822dde228e2cd4ce30fdf9d30f97d93227b44631e51e94b57ef5280dd0fc568ed1e63508c6536140ecc7757509bbde9c0fda9ecdcb6eb4fe28b79cc961dca9a6ce294f52e74028c7bf2d5cb92d85d7104de9022fcbef1e3e7e618c26d1d7b9334e0363a20cb5f043856348c62e9341c61e207b3203b0bae7e59eb81993d534c4f0adff5a2b153a50482ad36a3b3eb21b5655ccb559175f1be43642f8892c85556466e76f60a93aaf59e52a638b69442975701a39caf2e02c15f0d3ecbd2ca267187ebecf21b10119ba4b19cd86e29968682f8844eed0114e0addfc0a61f13e9499abc95b80caa537aea4af48ed2e31b99bba27059327533b73f5e32574e9fd8611437290d431335e0146e45cc0310de9a4af0a5665dcf0a33b4a9c2aa4ea9cbc8d6e0c186155ffc5bcfd7e3c76a4168283bf2cadb4a5f7c8297d1357dfbf19187ef1e020c330ee78bb7fbf009fcf7274fe578d285d54b6508d3a97ba6db4040216ec4ed645522eb59deb4a5fb4542e753ce438704e55f8147894aa79bb345af33a10317d2c87c175b16fe0482efacfe15c80fee367930771bfbf1fba8428ae541c75a03a0681933abb6abf835796d57c8d07edd6d5c5f346a018022d9ac1d5b64a06bbf7b0ab43290711e1714a1a05a3d0a337fc870e02c6a67f7fbec39370ab5e8184939e67e8d2b9460ae6c2d9b6d054b64e6218242f4c4a8aec5bead70410612bd96987903de3ec642eb64f7e8fca9522602e034b1084abeb95041627a6f863a535ed9d98321e0694a5397d617caf9ab78cedbc589277d9e62952cc154d47b4d4cddd3373ed949f3967964a625751a6da0c598ba153012ddd98e4dd2d0f0b2757b52155036b1eedea86b0dd645d0d24520271c051bc08eb869aebe3150ef78b31d61efedea1365cf05f083ad73856dd02f6e6daa3a0bd216aa86339dc8e86d9fb8e85de6613a40892e5cfed2b77e407e24b46b334a1b14878902e7c0e140036d98dc5d7f6d432100a1394b90a7e79cbca6d0e7a0a0ed6b141b3346d3c1d128686fcba518e5827150c6c98066ad68bd7b482a10c387e02ea15d931af63788e3e8529356e58877ba511cd9fe75366a60c0db7484c1aa459845c38945dfea9399285a98233dd7ef29d292dc0b9e07310c2a24a1e110c650608dddbb00ba9ce9b1ee8c99edfd144f8d1064f96c077b065c512116de84c423eb554d04d2705b218c9eb7e939f9d134c3c59ce8a83c50cbcd9463772c43a573556b86e26262491965360569fbf3fd17f4ffebde972c8fc7be0a3a62728541ab1397d1c8e51671471a780e6bc9590018a064123f1e3c6188b79247f1e834c66b12e2f3a8e2025a25a73640d1f687ce560923d09cc55dd8aae32324e464261c4be63bbf0337271366b9b0e985bd80b905a4d4d096fe7fe129259c813306fa3aecfa9092a3fb350c44892aabac182ff4301b092a7df14c29c6ec260e4fc163a559b80753201e42d88b411fa92222ec8499349facb0619dd692c49d6b65b123ead9bcceecb37b39f749ec182d7820403699c264b57f49f1be938422fc1c1cdf9dc16f36b565e29f0bddd50ed70b5c6f20d90c67b578d672d3b5695bc93e23c1cc39132148c897ac1a5494280e4e03c8cedcfb2625db7b904c6c781344b1bfa65408abedb327ab222c23d5dbdf7392a287c281494b2c1692274289f8bca467f2254fd50322a46553e56818636ee8c956fc2a6be0b8ccb389be4c8319770ba32e549512b0a0b79db2c77fc2fb67d16625e6fd0807201f597a79240f7aa96b889feaa28de697568def9b68454f565fbbb968c7bff86ed8dce6229749543c1bfc6acb6d289c65375c7294bbad728171eaae687b8ae49dd4042f5c04f28f01a90751e12ace2dab25136dd6f90be159f1b4e51e48678676ee41909205bc8ffed624594c14d43a3762ba1b843da1ff7317f61b42013c7cb423631c41f71338d074517f9fd8ae64d1d3043928004045ba2caaeaec2e3d929be0c7f6b0940746f54427eb632ea8c91219f22f7a128d8df1a2e1f3feb7badae2361a97c0c2b5fd67adabc1b4b45c366476c6d26479acf5709a8d83c7012296a8d8b325b94a5b7c5fa717621c6fc5189cfdf01b4876b39f4ef5fb8ffce6c5ad6db319a72c9b2af94f78927421050ba1c0cae002a0e55492fb29c7c4f14b0b797c83fae72e4e76c4475cbc01eace1879378d1159d347f4d2084a1da08721dda15ad6562056d12e6b3557ba2857c38e01b7bd8156b1369502e5d68718665425b33e113b3a6c22c24a90a2b2455ef9974ff0bb9a3b016546a4eeaf82d9979ac6677716b76568f109315f1c02dadb4964a01fc485efa90af23eb1c23e20c8681f345b5a2505c136abcadf9931bdd1a3ee6fa4fee7b5c7b84a21a774b561e39860c2e6da2f362e26fbe13e6d6b76f0957fa4e394a7c2e5bf4e9eba7a9fb1b8223f9a6d69ce89a490ea43ae6a4c2a5ff4e10c60daf8fde5173a15d66ab98184a59b69eb16f0225302ce4610288b301036821f323cbd105e4708a4c1f5436fbb3354b69e4ea4b86e4245cafc20913284c7e9509eb5e6ec2e80c220341a12af16f4bd18e0f0f62ba418fec1a203168e5cb0898ae5c838e2ea01086e7a47498f4ff1628739eeb7a938d2e34e513f0f286b736d07527e4095fdd9a8a502c021f0c32abc1d93bb1c1c5b34c2ffaf65c29bb2ffab4ab9b2358bcacbf654bb293dbad641e66a42a1c1112344cb8b616fb048423f83f33f42aeea7353b4fcb2aadcfdccfdeda1d79f3c2f659ce2b4603192923b01a13bd59f6a94cc46bcb21428ba61fe718206f33a525af8497877d40b980f9b35c93d81ff151c348358717fa851273e37ca9b45c1e3908531a72328eb7498889896b0f79d3c8ff9eae49f23068c35a62c6f91b0c71741ce1612e3417f448bbb43fd1f3f9fe4bc184a7c3b5b6f123e10ff60156e12b2d86dfa661d85b1c457a5fa1e7b13a327763c6081ee30b834969a80af87f412ae2a1cd41198508786390477b196ba54d83613d5a43f2a917e3180ba2bca01689baa8fe41d9159af9260dc0369742c793f9cd9bad3fa8238fd8c4389db50fc2326fab99c8b69b3f215b93661188ca042b0b99ad6700614674611ef7f09ed743566f613c09b077a680fc1b9d648b9a8ef0e7e8a2d6179a8939dd41e67ae5e00016aea6ffa46087c1d5ed2e4086f89e5ba137763b5e0d0faf93c4e36ae0bc7c4e35c6b261dbabd7d8b887086e15e9e808d76a96f8603aeda525ec8a876c330ad053d3c87849ebaa2ff1f72f060979ec0e97781cd1f89b8470a332bf986a813a68152a2c8995d3e9b227f1a34962f1d92a6b44a34cfb82e42794b0dc74aeeb1ce297ce0d2aac309cdf9c325caafd2f2c947e80a5b29fed10f7a96ae52ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c68ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe5515cf2f793c8b055b4e880cd837e83ec705851626b557cb92570032de84bc6b2935afc401d870c329e71c3e373e5039f2d836d5d5f6344d7ea08fbe2cf7bb13d241dc6137ddc0f0201a0db9ae62c1468caba4f84cdc8ad8e8a9ca5114040e48401fca803943b7e7400e3c666502b6c33d9ebf3deffad5b0e0cf0f8f2511621bb8b7cf93842ed4674e2c7b9e8097fddc7783787244b3b76f45a0a3900059e381dd5649ad063e883ccb9d4dd9c3014920d593593d22d81400220128f342ba4741aaa434f93adfded74c1363dae4c784b04c5f79ed8a5e678e3a8418a95b011a098c0f60af7c0eae282519743525dbf78e51b2742adf05d7e03e7726a34f7b45c958cdd490eac5d8f235bdf4652d11ce6672be0216d7ac0448163a13c7a930edf8d3a077d553abcb866dc7d8767cd5e02db3d2dd5344bb1d778e7b06ccd08553be73098b18a6b716e8d981cffaee36e04b8dfc7fb1293af89260cab02c3bd5338ee140980aebd7232ef838f8530918d5663af51475c9033ed88cafc00c4f30121d2734dd0796771dc2e47ed0a50b5291d943fe7e20f4aa8e3463759df6bb6aea76a31df196238d9892517d120352b0e910adc065399feb54a61e8ca852afbe2b9091953e070581718883240ef93924b28433eeeedc552747e7693fb6e88a73a89d3b5a12e4b6d5c9d5bbabe9645c38b95519e64c4b52f92bb397db4b7e1e2b17274159c085e2c63e6dd97762f4ab13ea44043d34add43b662add7f81e1d7dd9d326a6338095b7833961e63786a73d1f990e5a553cb4e11d801c252727db2e3bd8e9a80eeaaed98956a2b15555c8b09c1859946830aebf939f974f383f97e4d2f235246444297f5d9de911837131235a7badda9c45c165d297348c234aa30f8404aac14c0ad253125a477e75cef9626bf467f3fc2c8075466a4c4650054c4304e2511733c56fd3acce2508f6cbe4640a85e310e7b1ca315bfd8de643ae126e065b2e6b537f1e7895e07913406c41b8ec50c40d4b0a527871b05c7eaa45c14ffa4521244260273818cf5727cf31e2932243ad5713b9c0c97a87ece041a69f67928eba6d36a7125a2bd69f9b7ae9e927359f784cc0bfaf25913584e2b880655d2296c40f59203615432b3bbc867f38c6fb449330187a93ca4f3c6f35b769f0ec1b209ce263b4f176d06ea96862e80986e33aeb178c827cacbe5efcf9390339039dbeea76a8a181307fbf4d0923556419871e8f0781aaf4659ddd1265164c468a022ea46df5566e9f69d2438390043b348ffe2058fa4bd5eacb7c7cd610cc352c1dd343cb962a3012f08202f5f9cffc6584c034ad73b7a0bffe7c6de7029f6f440a47d61b338451330aba631f5d038386c372bd7581d5d84af3b335fb6baeb8d91bae00989ec1aa4a615cd180e7bbdd47b3d01ddac5116a3c1373ed9a3aa3f91ca0e61a4cd4314a65f2707eb5e31ebe37c163abb9107b6bf1e8203e0ea98c781a9dea593ba54aaac57ba4fdcf633dacff3f93e0a50f8c1398d23f3ce4a1e0e909de3b5083b5e01a7e4cd1b0482456f9e526b9e2b071e2669772bb3e3ede1807a9ff6f648a789996bd4d2fe68ca36f788d7c7a77a0eeda2e6815cd3f5d2d0fb0d886493778867287999c6a726af8bfa760a933427c131f0ddbef413ad8e2d69e98b90cdbae0256df5bcb77a03fad8aad9535cc8991ce4f941ceb09753b7600f8d2badbe84009b5a4578d3fd60d2cd262d63efd3dcf6c15855731e8a51a14fabba838527a9818dd16b55915b3b81c06e3adb48b5573f3583abf3d4324e0039d1aaf742ea19369dc917e24fa1d87bb655fb8785e1fe63ab088499f915a197ee47dcc98400b9d7d575950a68d3b4d1c14935da5805d887c4f4f4a5227aafc79e9a226afa07f3d2a12178cde85a4a82df21332df6344f46ebbd11f6d5c9b381c9b2941791e2470d520a3b0b3b906332f6dbd06988b68a148a5b0380931fbdcfa5f0155a1ed18cb506cf610702714b08ef0196c6fb01cd94202d8155b1a11f6814826bc4569f85be50fadca11395a9c0eca60bef26a143a102e09e5c716e1a24352612e5c99ea8a87076d07601b8e7d07f824d2a7940c3e3695636149e68a2b215b560e341f374c6220df5903cc40737e575bdc8a63a4e97be088cae0ed636eacf6f01681d20c87c0270194cfee58cba14aa378c088da87ec709ae6d34e59267ac4f99f2fe76d84d4ac0058cb1cb220ec1db7f260a449fde03e535938ab8f9be6da59f0934c80df9e80394c54ca72d92fd86dac7c7ab36b54fa1582aa0d9308930046efd2b4a6e3b5b2f8554441c9b0936b36de9f191661336a3b90e3a14eaad3b59c0fcc70a6a88b1ff654606d2643b82f2c63b4198cc1b5884b7d88783cedf1c45fa6ebd7d91272c9136908ce9093f29449b2fdf9ae1d68b51bd74a006eb9cc905d1f1cb4cfceec80549561dfe66884bc8eb1e7a0d9e9e0c8bf4b38984b4d2ce55686383f51a706a77f092802226960c67cca2bf90f5cc76c8974282ad2aa0b6e1e84aed0b757dbdca82d3fb94aa9221acc98d3b563b83a78606e6291b5ce7f71a0f0d5049a132411a6acb002abea643e8d1a3ad09ec59b0face45287b34c362f4cc90b1ff954ffbae378ea596310a6d19faf8f1a0c60ea01b671b065d057bbb18bee72f87642f2073b3d4a72a3f6e34c233840c793666ae64c95c6359f9cc09343c0c224d6758db04f29b6f3a52b14a0c1d348a488e81497e05a1329907e002a9abe7ba6e66e059824952f1d4785e6ff287dc10cf2dcf150aecbfec9b964d2a51945a8e37c8711e34794e040438932a40da7fcfcf4747ffdbf212f5d812f227eea3965fd2bf26a54414254348de040cf372d6b42eadbf8dfeb9a8bee31304b56369f0200fb514992c1ec972b84657760022a7ceb89b69672d2b97c75da8f0791b4b7637ecfaf28ee295d6ca436ac44507d0679409635e34f79a5517185e7e85db3efcd4a47bf2c7766e9d3dba94eee845289c40d19f694968a6351ef58e279a6a1ecb7d7c16abb47292033b3cdc18595b876adb15d6972eccb15156f4278651d0b1dd1073fc5dc7a94638ab2b0ead25e56316fb278b9d13dced81150419e50c3d50e1c2291c4eeaa8e91a5a186637eef8b1d9ba0f85decc0aca8bade79ea588708159fe6e7e9beb0ca54772bafa6d0b182ba37fbc70e15e8793fc4f425c29c7a6495bb2285a00912c4a569e53b661af853a50c3f759f81ba2f6d5e1f91fbf0afdda10f8fb20cebe3043bb663d1b16f944060e283d576b5ffc3320a109d59e83eeb977561f9b5976b50b99851691d56e87128e18a1e974d870ef4f9bb4184f0106fd712b579bbf7eba260c323b4ee76dbdce66803fca399e12db5882e54826987cc174ffafb0fa02ee744e38d2565f6c0ac0d9cca357ef676ce709c709f2c8673e13d37c15fec14fcf2343a4c4d2de160c13e3294563b0c6c38add5903013cf0f45b9c251335f252f34af556b0b709f45e5daea34adb2c7b11cfc6cef6473d937ee7c7b6411e29ca4caaff4c68202164ad33fd91dacf4cc789a990ec845de06894ec9cc97fcd37600a2e33c80499678f2e3ee84c3863226a65d04e44090cefa4994b3fe3fb2bb3c1348cc441cdec94216acbde01e74649ae33d8e2e75e74737c3381987dfb1e1626c1398c5db605952618e5dbe8fb9e50d0da30cb5cac0c01cfa8dfe80f798e2d4a549d2c5610e1e53faf21bcd357c9020711c99311b54f6840aa93dcec8689fc7201e40f9b0270ee48edb4c7d8219efd81e3f78db9971f047155fa81efd91a1871aebfa0267c4271904cb463cffc56348e5dd496a2c4f4782aaf8b44fda996ee7ec8c846df09a7d8ae65e45d8e5191b5d9018a94fccc33318f8b6d2a62ab5a69b3d6fd70db5658294a2bf9e04f3c751aad543de9618d94fe62f12391147595982555b232c8f198114d494e5ce4860c1bf6c0181754d8b20ebf451dc634d62752e67ec3777a2938eedb3badc6c4209801787bccfb66371db0bfa9bdf9b96f386b2dc854109c780cd80917f01ae4f3e88cb6b1d6f06de4b4d92c6473256642441dfef77f7f683dbfd8af05f15900794149d67c5c84d3575fbaf9f8720ee059222e9916662cefadf39fbd30513cb239fe268c77d8564a881fcd68b088592c6abd70adcd0c15aea7a24e33518058508539125663685c04d758f0d54e4de78c25b99b6ebb67fc7dbc2a66dcf767e948831852b24827a63e47da351f190f387125fd39ec563e782210240908a8407579ec59573e57d44e10f1188099a60c7150a05eb755fad176836f1e47d982fcb61878a0cf9dcb6d3c404b1bfa02c5b95e93ba4a9193bc0a5c052489aa823926246cdb2782f195ce52c9517a92707729f4b53f9ed5f682bc9e80fadd36c3b23abbc5e61ddb461f0c7823c33d919448f2ee118516216a222ee3752737461a7a3e5341e5bafe1aed40f6d2aa2c321c127151255e4d27726d058ecf118a76a4799d9f7af89995538e2ee50db64e1dbc68ccfa3e69c6b37d03fff090917f809f198b69e8b5f6e8763b24a9bc958b767e89bd44a459b9709f9631f97f11c58c0c6570a810f2da2cf8e6b944388c43d56830115c523b38f691b6262e8223ee39b6b73c9791f0c5a0f3b12ca107539ded8b000bb167d05429a431d7c10e67719cf6bd1c4dfce52f06d84df97c14004acfe6b2a4045729828d93d74e5fe695af0feddd0084df0a0689f3008f92ba864d9533ffb94b7f7a1fc78ce3db0187710d773be863284d1b25711b952ad7bb37f9902b218c78f2e4e1b83f829d105e8fd8b09a4ce21e600799d3deaa86a99396901fda82f3f3bcc3fdc466b8b574a1c4fd2009d129df0b06e2de049ca37c8889412f5caf31546d3fa38ffa729f9cf94ecb26acee802c18b3cad14fab7302c1de56f8c911ad2f1c76ed56da11697d05f78e7261ff6ec47bd653e1966b18511158eb4c7c746f15fa86cd25459468f39b8e9ad47d06bf02f4f2d3579268812b725e5ee14c2a50cf1e53d0eb84925d538a0a476e3583b087c7b4050407bbfcc97d2418b9049aa2894f0ba2321e802e5e60243baa60a4e8f719ee13772e24b7260b53ee8cb6e56e96ed3bd97241e80645b9d818f2d9642bb7c53ebf50cf6614318ae8b7f85523ccf55ba4ecc4fe07ca778a0fffdcce6e8cda2d76a1bbae6e45483defc6cab2c4d8cded3e4b7e94717a3e49de59fb272f46637c247975d393ddd5bcc6f5c769ae208448e2b10e259b3b6cd78984a2e0ce69fc716498f3d2acafd22b8640db28117c4270df03a7993a6c949813e693e7fef994d86cfa9270b1ce84e4b9c7e34eedcd2197b55f99f853ead4fc7b09cda20aae85f035bc6ff63f8e505b7c99771d5082fe564ce0ce334967bba027dbc399ec0e72658d53b888772cf19d932563db094af3cccd694d065f5008d711f93c602e759014b64e274b40bbc356abbebdc7f5110eeb63cc1f805165f84f28aa7a586a5942b0ff47948fad3fd1f10ff96c8361496798229e62ee8bed42b890b17559466f4957c60b4799647705f12ea4172349bdafd002a6b1ec75acac13e54714993be1d6e06d9da2091a2d913bf9797c2d4dca5c457428e50e2b49ae2174bd8a96930bf81c2f12e2e592b9d5131222483b324fa49a27445172d1b66aa7c92995bc3d7d86036da4da97819d5b35e58c67d23875269b4a04a9d68aa104bb79214aff263402cb159626ee14c58cc5d6df4efd371338eb807c28a0d6bdfd8eeb2d1cd8d23ef55f63d9f1cd6d8aae70ca0c97525b774a9a59597d45330e95e47dbb51651d225f01bf2fa46425ff7e8993f3b6216ebf3d0aeb9a6de3538a5a777060183c21f9ee113c9139327c8e131f76df454516664589866a19ffc199ad7412346c71b4e95e0dfd50575c16d03f1a51b496e3b62a41e063dc20342ebba1925183337c85b1a1326f0a87ea9181dd8694b672cc7829f18c10ad1067a0de057bb9e64f3b6e12d528c36600ceb034857709d12cad20ceee436913a20935f4309e143d69aa0a04dce752350148af614d853c2dfb6566e3e1c9896d5bcb1c13c7709e5040c794f38766835ab82738d9072552139f035cbae7e009597efe4d2aa79ea262898a0416e63451d4ec2ff4f0e9c7de4efb1d254d49b6d7e952ed198332c52154e1941a9909c6584bb10eb716ded16db75a2aae09c5cf73c218d5444e53f97b8f280affafeaf66ce31d9456f3f9118802ed2876a61fcce083d9692c1ac743d63cb2c290f633c320bee6fff0128aa2cb2be7d74808227ae6f22e98f3b3302a59b22ecccd3f1840402341824b279fc3bb46a97d328096cd368b36d63970160c877744a4ee0b0ece847583dc93181124ea2e98da97d809b99e86c3c845fdb16ff2d7037426c157ea3e4411560f7761c6f9db7e28f4b3172d8119c517a026bba7b2a933f285541d6d3d0019946f8fca1f7383db2735e2dc9f1bfe029a3e01eaeed43b97eaa19d5e6c055dd95324908776d778c145281edffc0a3009684a83fd518a0417deb5e8a560887ba0256dbcb623df13823217864fa8271e27120def9eccf957275d212524da5f0aecd993b95038375d4cece83d8b3b6ffa2f3085f06f06a9c3b50b22563531f7adf91d2569b164dc7b3a1d29ce47742ce2d5568488615c66d09d858a10406088fa60e0f7a4ef941a670e6276d882258c041bcc75b0fc2d1779071260a96e9b3d246eeb91a8ba9654d9fe4853cf0027a9d276083b85a2ecfa665802401d5638d5dafdbfcd03a9a5f06e06bcf4bdebc0d14f7a5d37636c9b723b13d78d29a26e9a34f6f37abeca23f2fdadbe366db1925f72ee7a33a9b1a443c59d3d1fa5cacf0ea00adcf38f28962189d03845aca0e88e5f643efeb237f06c7a42d366b47f6efd7e3ab1e15205b4e1c8ce43558d99babf45fe581e5a889f3b0082c2d7fae4d8c0b29fd1e228be8836bd516ab85c7b48e542b6eda4322c0411880ff14a00959cd66ea12f8a0ebf2413fe51b028d660c176479f171d535e95380514c4e41b301f7aca9105402cfd0d3734528f549d5133db7401ed217768a6c55c915c572b5672eca20e681327621f58afe1a095d72b71ffef765ed2e6eb66f81b17ec937b567015baeb1016c660421817b27a2a65629e7388584c8ea16c82f2daf061472e3b538ec902f65bb201f10460ee1b043269ec2b3e39f46a7708237b12a3571b589c39f9d8ee012a53b6d275e0977b0cd3c5053b3edef08796d49b18d5735911b78f0beb6c7c55ec32290c9ddec654b9317e8918c7c42e85bcd8336150e8b290f74cccffd96f5d98beddf5e163ece0a3599032ccb2ef1fd4743f79a582bc489cbda4fbcffa200d3426c6782ab93e9ee2aeb66d93f650aaaf71cf20e5b6e8ed2380f4816fd2147cb99832e58de150bfa7b2fe90cd3f103e88b2c89d6f312ce23c0458234678ed26fbcfefc7320f4cbdd0accec20d0206781a80982222a2bc89eca2624e56b198457763d4a798bd5bb9017944a78f1b57bcf7cb2bd6e0a93f5b8421b5bce8e6b576be7e0a45bc1e85f140db6dde20bd3db76689412ec9691ad39714c910453af05f29fdb4e8650882c72746816acf7c326aba4c9dd9fae7e1fde4aa670f63f8d50e0eac5fb6be8008ab40f4376438fa121c9de88fe673ad68cc75ddd92789b2a892b3afb893e75351a6ac2d0b16ca871b3f67587374ecade4543675b190a60525e61de4138803ce65b5c0b0c4ce566cd81e09430148554a9348a9e0dae73ec58d9d2f5caeceb013107ad24f041e38eb65ffc0fd7c76a7ef70353d95a639a5a8c8bb7ac51c03b4fe9f20ec7b6d954ee271b831291cbef99e3a695f2f552b5c62ed23cd8f852dea9c094a131ff1aabf6df97ddccd60324d75dfd9af93da2b156d1eb47e193b5b2c06df056af154a7126dcc47ec06d3cae40323325a0b774fe09f2ddba48379ab2c4487a8695dc39e4a1ea9981c620034601feb034695c1edb6009611b6c270d1db6a201edc878d46736e5f49d988017edddf791fdcfc44eca8f1206fd6c88bd727e7d58e9ae227e8865c11673f0c999630f627f32917208f6ea0a259742725704d41272f3e1c89d270577a954534a9e1e4630e27058356608ebd61e406ddd93b839a247e9e0c69226f60e../../lib/heartbeat/ocf-binaries../../lib/heartbeat/ocf-directories../../lib/heartbeat/ocf-returncodes../../lib/heartbeat/ocf-shellfuncs../heartbeat/aws-vpc-move-ip../../lib/ocf/lib/heartbeat/ocf-returncodes../../lib/ocf/lib/heartbeat/ocf-shellfuncs@rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootresource-agents-4.13.0+git6.ae50f94f-150600.4.9.2.src.rpmaws-vpc-move-ipconfig(resource-agents)heartbeat-resourcespkgconfig(resource-agents)resource-agentsresource-agents(aarch-64)resource-agents-devel @@@@@@@@@@@@@    /bin/sh/bin/sh/bin/sh/bin/sh/bin/sh/usr/bin/bash/usr/bin/logger/usr/bin/pkg-config/usr/bin/python3config(resource-agents)ld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.33)(64bit)libc.so.6(GLIBC_2.34)(64bit)libc.so.6(GLIBC_2.38)(64bit)libplumb.so.2()(64bit)libqb.so.100()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)4.13.0+git6.ae50f94f-150600.4.9.23.0.4-14.6.0-14.0-15.2-14.14.3gM@fn@fQfeSa@d@dOdcccEcWby@bbnv@a@aLaav@aKa#`s` @`x*^@^^x^V]^V]]@]v>]S]@]@\]@\9\-@\N\j@\ @[[ͻ[h@[s[l,[3|@[*AZԐ@ZZz@Zz@Z_:Z_:ZX@ZTZ@YZ@Y@Y@@Y@Y@YYV@YkU@Yh@Y;@XX@XXXW@W(WX@V@VVVVVTQ@VO @VCUYUUL@U6;U#TLTo)@T?@varkoly@suse.comvarkoly@suse.comvarkoly@suse.comvarkoly@suse.comvarkoly@suse.comvarkoly@suse.comvarkoly@suse.comvarkoly@suse.comvarkoly@suse.comvarkoly@suse.comvarkoly@suse.comvarkoly@suse.comvarkoly@suse.comvarkoly@suse.comvarkoly@suse.comvarkoly@suse.comvarkoly@suse.comvarkoly@suse.comvarkoly@suse.comvarkoly@suse.comvarkoly@suse.comvarkoly@suse.comvarkoly@suse.comvarkoly@suse.comcallumjfarmer13@gmail.comdakechi@suse.comdakechi@suse.comvarkoly@suse.comvarkoly@suse.comdakechi@suse.comvarkoly@suse.comdakechi@suse.comddiss@suse.comdakechi@suse.comdakechi@suse.comtbechtold@suse.comdakechi@suse.comghe@suse.comdakechi@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comdakechi@suse.comabriel@suse.comdakechi@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comjengelh@inai.dekgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comzlliu@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comtchvatal@suse.comkgronlund@suse.comkgronlund@suse.comjengelh@inai.dekgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comkgronlund@suse.comlwang@suse.comkgronlund@suse.comkgronlund@suse.com- Adding 'aznfs' as a new filesystem type in Microsoft Azure Cloud (bsc#1233083) (jsc#SAPSOL-433) Add upstream patch: 0001-Add-azure-aznfs-filesystem-support.patch- resource-agents:azure-events-az retry handling (bsc#1226140) Add upstream patch: 0001-azure-events-az-update-to-API-versions-add-retry-fun.patch- Azure-lb fails if IPv6 disabled (bsc#1223554) Add upstream patch Add a new parameter: listen This parameter can have following walues: default: Neither -4 nor -6 will be used. The default behavior of socat and nc will be used. socat: Listen only on IPv4 addresses nc: If net.ipv6.bindv6only = 0 => Listen on both IPv4 and IP6 addresses If net.ipv6.bindv6only = 1 => Listen only on IPv4 addresses ipv4only: Listen only on IPv4 addresses. ipv6enable: Enable TCP6 support. nc: Listen only on IPv6 adresses independent of net.ipv6.bindv6only socat: If net.ipv6.bindv6only = 0 => Listen on both IPv4 and IP6 addresses. If net.ipv6.bindv6only = 1 => Listen only on IPv6 adresses. Add patch: 0001-Azure-lb-fails-if-IPv6-disabled.patch- resource-agents:azure-lb IPv6 support (bsc#1220997) Add patch: 0001-Support-IPv6-with-Azure-load-balncer.patch- Update to version 4.13.0+git6.ae50f94f: * findif.sh: fix loopback handling * exportfs: remove test for "fsid=" parameter * Fix PRIMARY_IFACE variable. In some cases ip returns two lines * build: update ChangeLog for 4.13.0 * README: update IRC info to link to ClusterLabs wiki IRC page * findif.sh: dont use table parameter as it returns no netmask (tested with main/local/custom tables) * build: update ChangeLog for 4.13.0-rc1 * iSCSI: add support for scst * Low: storage-mon: Remove unnecessary code and fix typos. * mysql-common: improve error message (#1887) * Mid: storage-mon RA: Changed OCF_RESKEY_daemonize_default and OCF_RESKEY_daemonize default and judgment part. * postfix: Update permission check from su to runuser/su (#1880) * Mid: storage-mon: Retry failed attrd_updater. * Mid: storage-mon: Added daemon/client mode. * Mid: storage-mon: Functionalization of test_device call processing.- Update to version 4.12.0+git50.5c26404e: * Filesystem: fix incorrect variable name for signal_delay default in metadata * Delay: remove statement about defaulting to "startdelay" value if not specified * Filesystem: dont use boolean type for non-boolean parameters * Filesystem: list_mounts: fix mount command output parsing * Delay: increase stop, status and monitor timeouts to 40s to avoid failing with default values * Filesystem: improve stop-action and allow setting term/kill signals and signal_delay for large filesystems * findif.sh: fix table parameter so it uses main table by default * mysql: fix promotion_score bouncing between ~3600 and 1 on demoted nodes * spec: Migrate to SPDX license * Filesystem: create systemd drop-in for network filesystems- Update to version 4.12.0+git30.7fd7c8fa: * Filesystem: fail if AWS efs-utils not installed when fstype=efs * azure-events*: Use -LS instead of -Ls as parameter to get the Transition Summary (#1864) * spec: remove JFLAGS logic and use %{_smp_mflags} like we do in other projects * exportfs: make the "fsid=" parameter optional * nfsserver: prepare the layout for the default /var/lib/nfs * IPv6addr: expect ping/pong delay * azure-events*: fix for no "Transition Summary" for Pacemaker 2.1+ * ZFS: add non-blocking check if pool was imported (#1853) * ethmonitor: dont log "Interface does not exist" for monitor-action * mysql: promotable fixes to avoid nodes getting bounced around by setting -v 1/-v 2, and added OCF_CHECK_LEVEL=10 for promotable resources to be able to distinguish between promoted and not * LVM-activate: failover with missing PVs- Update to version 4.12.0+git10.fe1a2f88: * Mid: ocf-shellfuncs: Explicitly specify $OCF_RESOURCE_INSTANCE in the p parameter for compatibility. * nfsserver: fix "server scope" functionality to live with additional drop-in files * pgsql: dont run promotable and file checks that could be on shared storage during validate-all action * exportfs: move testdir() to start-action to avoid failing during resource creation (validate-all) and make it create the directory if it doesnt exist- Update to version 4.12.0+git3.5c81805c: * db2: avoid eval with unsanitized values (#1838) (bsc#1146789) * build: update ChangeLog for 4.12.0 * build: update ChangeLog for 4.12.0-rc1 * README: update IRC info (#1835) * CTDB: change public_addresses validate-all warning to info * Filesystem: remove validate-all mountpoint warning as it is auto-created during start-action if it doesnt exist * galera/mpathpersist/sg_persist/IPsrcaddr: only check notify and promotable when OCF_CHECK_LEVEL=10 * WAS6: fix trap condition * exportfs: fix the error handling during monitoring * IPaddr2/IPsrcaddr: add/modify table parameter to be able to find interface while using policy based routing- Update to version 4.11.0+git90.c1dd3806: * Please don't suggest /tmp/mysql-proxy.sock, that is bad practice. Use one of the directories where this socket can be provided securely (bsc#1146768) * SAPInstance: be more resilient against broken kill.sap files (#1825) (bsc#1206100) * lvmlockd: add "use_lvmlockd = 1" if it's commented out or missing * nfsserver: add nfsv4_only parameter to make it run without rpc-statd/rpcbind services * mysql-common: return error in stop-action if kill fails to stop the process so the node can get fenced * configure.ac: Fix bashisms * docker/podman/zabbixserver:replace error log messages with calls to ocf_exit_reason * vdo-vol: don't fail probe action when the underlying device doesn't exist * build: add iface-macvlan * iface-macvlan: new resource agent (#1815)- Remove ocf_heartbeat_ZFS (bsc#1205556) A new package resource-agents-zfs will contain ZFS support, which will not be shipped on SLES.- Impl: AWS EFS Support in Filesystem OCF required (jsc#PED-1934) Update to version 4.11.0+git72.c1f0a07e: * IPsrcaddr: fix monitor/status for default route not being equal to src IP before start, and change route src correctly in stop-action * IPsrcaddr: use scope host when using non-main tables * IPsrcaddr: detect metric for main table only, and allow specifying metric if necessary * IPsrcaddr: fix PROTO regex * dev-guide: Correct default branch name * galera/mariadb/mpathpersist/mysql/pgsql/sg_persist/Stateful: use ocf_promotion_score() to avoid issues with deprecated crm_master * ocf-shellfuncs: add ocf_promotion_score() to use crm_attribute -p/crm_master depending on Pacemaker version * portblock: implement blocking of outgoing ports * VirtualDomain: replace error log messages with calls to ocf_exit_reason * ocf-tester: remove removed parameter -L from Usage text * storage_mon: improve error messages when ioctl() fails * storage_mon: do random lseek even with O_DIRECT, etc * storage_mon: fix build-related issues * storage_mon: Use the O_DIRECT flag in open() to eliminate cache effects * CTDB: move process to root cgroup if realtime scheduling is enabled * ethmonitor/ovsmonitor/pgsql: remove ignored attrd_updater "-q" parameter * Fix bug in handling of child process exit. * storage_mon: Fix bug in checking of number of specified scores. * storage_mon: make -h exit just after printing help message (#1791) * ocf-tester: remove deprecated lrmd/lrmadmin code that hasnt worked since pre-pacemaker days * openstack-agents: set domain parameter's default to Default and fix missing parameter name in ocf_exit_reason * ocf-tester: use promotable terms * openstack-agents: warn when openstackcli is slow * openstack-agents: fixes * mariadb: Remove obsolete DEBUG_LOG functionality #1191 * configure/spec: remove google-api-client BuildReq as the gcp-agents build fine without it * LVM-activate: Fix return codes * metadata: update to promoted roles * all agents: update to promotable terms * spec: use cluster-glue-devel for opensuse > 15 * azure-events-az: new resource agent (#1774) * lvmlockd: fail when use_lvmlockd has not been set * dnsupdate: add CNAME support (#1773) * aws-vpc-move-ip: Allow to set the interface label * Do not mkdir -p when getting meta-data or help * iSCSILogicalUnit: fix issue where resource was in stopped state when using allowed_initiators parameter (#1766) * oracle: Improve the error message if monpassword was not set. (#1767) * spec: remove redhat-lsb-core dependency (lsb_release) * podman: add podman parameter error judgment (#1764) * ethmonitor,ovsmonitor,mariadb: check for bc binary * ocivip: fix spelling errors * Filesystem: improve logic for UUID/label and add note that /dev/disk/by-{uuid,label}/ are preferred on Linux * docker-compose: fix number of containers/running containers logic * iSCSILogicalUnit: fix issue where resource was in stopped state when using allowed_initiators parameter (#1766) * Filesystem: improve logic for UUID/label and add note that /dev/disk/by-{uuid,label}/ are preferred on Linux * oracle: Improve the error message if monpassword was not set. (#1767) * spec: remove redhat-lsb-core dependency (lsb_release) * podman: add podman parameter error judgment (#1764) * ethmonitor,ovsmonitor,mariadb: check for bc binary * ocivip: fix spelling errors * build: update ChangeLog for 4.11.0 * storage-mon,ldirectord: fix spelling errors * db2: fix bashism * openstack-info: fix bashism * Filesystem: fix logic for UUID/label devices with space between parameter and UUID/label * build: update ChangeLog for 4.11.0-rc1 * ocf-distro: improve RHEL based distro detection * ipsec: fix check string against another string not the before defined variable (#1755) * spec: fix mount.cifs if * LVM-activate:change lvm_status return value from ocf_not_running to ocf_err_generic (#1753) * IPaddr2: Clarify behavior of 'arp_*' parameters for IPv4 and IPv6 * IPaddr2: Log 'ip addr add' options together * IPaddr2: Allow to send IPv6 Neighbor Advertisements in background * IPaddr2: Allow to disable Duplicate Address Detection for IPv6 * ocivip: new resource agent (#1751) * corosync-qnetd: Add resource agent * ocf-shellfuncs: quote pid in ocf_pidfile_status * IPsrcaddr: fixes * db2: only warn when notify isnt set, and use ocf_local_nodename() to get node name * IPsrcaddr: fix indentation in better error message code * IPsrcaddr: Better error message when no matching route found * IPsrcaddr: Add warning about DHCP * ocf-shellfuncs: Parametrise the log destinarion by OCF_RESKEY_trace_dir * rabbitmq-server-ha: Use ocf_is_true, if applicable * Fix SERVER_START_ARGS sname/name use for FQDN * LinuxSCSI:replace error log messages with calls to ocf_exit_reason * Filesystem: Add support for Amazon EFS mount helper * Filesystem: Improve fstype_supported logs for fuse * Filesystem: Fix OpenBSD check in fstype_supported() * openstack agents: align timeout also for monitoring operation * mysql-common: fix local SSL connection by using --ssl-mode=REQUIRED which is available on 5.7+ (--ssl is not available in 8.0) * openstack-common: get_config(): expand tilde and exit for errors * openstack-*: hardcode clouds.yaml paths as openstack cli doesnt support overriding it * openstack-*: add support for multiple setup options * LVM-activate: replace error log messages with calls to ocf_exit_reason (#1730) * configure: fix typo (#1732) * build: workaround gcc 12 warning * openstack-info: align op timeout with other openstack agents * openstack-*: allow agents to perform insecure connections to openstackcli * Route: return OCF_NOT_RUNNING for probe action when interface or route doesnt exist * podman: remove anonymous volumes * asterisk: Sipsak check fix (#1716) * [rpm] fix Requires to allow install on opensuse * Filesystem: unmount bind mounts before unmount file system * db2: use -l forever instead of -t nodes -l reboot, as they conflict with eachother * nginx: replace error log messages with calls to ocf_exit_reason * rabbitmq-server-ha: Revert "OCF RA: Do not start rabbitmq if notification of start is not about us" (#1713) * asterisk: fix sipsak check during start-action (#1715) * rabbitmq-server-ha: Avoid forget_cluster_node without node name * gcp-ilb: only check if log_cmd binary is available if log_enable is true * rabbitmq-server-ha: use "s"-suffix for timeouts/intervals * rabbitmq-server-ha: rename and add to Makefiles * nvmet-subsystem: fix allowed_initiators for to avoid only running once (found by shellcheck) * gcp-ilb/Squid: fix issues detected by CI * configure: only run ci/build.sh when shellcheck is present * RabbitMQ OCF RA M/S HA cluster agent migration (#1698) - Adjust BuildRequire libglue-devel -> cluster-glue-devel. - Drop obs resource-agents.conf and reuse the one in upstream commit 826c5532 - Remove patches contained by the new version: 0002-IPaddr2-Allow-to-send-IPv6-Neighbor-Advertisements-i.patch 0001-mariadb-Remove-obsolete-DEBUG_LOG-functionality-1191.patch 0001-Improve-the-error-message-if-monpassword-was-not-set.patch 0004-IPaddr2-Clarify-behavior-of-arp_-parameters-for-IPv4.patch 0001-aws-vpc-move-ip-Allow-to-set-the-interface-label.patch 0003-IPaddr2-Log-ip-addr-add-options-together.patch 0001-IPaddr2-Allow-to-disable-Duplicate-Address-Detection.patch- AUDIT-FIND: resource-agents: Predictable log file in /tmp in mariadb.in (bsc#1146691) Add patch: 0001-mariadb-Remove-obsolete-DEBUG_LOG-functionality-1191.patch- RA aws-vpc-move-ip is lacking the possibility to assign a label to an interface. (bsc#1199766) Include upsteam patch: 0001-aws-vpc-move-ip-Allow-to-set-the-interface-label.patch - Can IPaddr2 run ARP for IPV6 in background during start operation (bsc#1196164) Include upstream patches: 0001-IPaddr2-Allow-to-disable-Duplicate-Address-Detection.patch 0002-IPaddr2-Allow-to-send-IPv6-Neighbor-Advertisements-i.patch 0003-IPaddr2-Log-ip-addr-add-options-together.patch 0004-IPaddr2-Clarify-behavior-of-arp_-parameters-for-IPv4.patch- oracle RA lists monpassword as optional but fails unless provided (bsc#1197956) Add upstream patch: 0001-Improve-the-error-message-if-monpassword-was-not-set.patch- nfs ganehsa failover takes 5 minutes for the client to regain access to nfs share (bsc#1184382) - add adapted proposed patches portblock.patch nfsnotify.patch - Update to version 4.10.0+git40.0f4de473: * openstack-common: get_config(): expand tilde and exit for errors * openstack-*: hardcode clouds.yaml paths as openstack cli doesnt support overriding it * openstack-*: add support for multiple setup options * LVM-activate: replace error log messages with calls to ocf_exit_reason (#1730) * configure: fix typo (#1732) * build: workaround gcc 12 warning * openstack-info: align op timeout with other openstack agents * openstack-*: allow agents to perform insecure connections to openstackcli * Route: return OCF_NOT_RUNNING for probe action when interface or route doesnt exist * podman: remove anonymous volumes- Update to version 4.10.0+git22.a614b31c: * asterisk: Sipsak check fix (#1716) * [rpm] fix Requires to allow install on opensuse (#1721) * Filesystem: unmount bind mounts before unmount file system (jsc#SLE-21043) * db2: use -l forever instead of -t nodes -l reboot, as they conflict with eachother * nginx: replace error log messages with calls to ocf_exit_reasonUpdate from 4.8.0 to 4.10.0 contains fix of following issues: bsc#1151833 bsc#1154465 bsc#1170270 bsc#1172734 bsc#1180668 bsc#1184382 bsc#1186652 - Update to version 4.10.0+git13.7263a78d: * rabbitmq-server-ha: Revert "OCF RA: Do not start rabbitmq if notification of start is not about us" (#1713) * asterisk: fix sipsak check during start-action (#1715) * rabbitmq-server-ha: Avoid forget_cluster_node without node name * gcp-ilb: only check if log_cmd binary is available if log_enable is true * rabbitmq-server-ha: use "s"-suffix for timeouts/intervals * rabbitmq-server-ha: rename and add to Makefiles * nvmet-subsystem: fix allowed_initiators for to avoid only running once (found by shellcheck) * gcp-ilb/Squid: fix issues detected by CI * configure: only run ci/build.sh when shellcheck is present * RabbitMQ OCF RA M/S HA cluster agent migration (#1698) * build: update ChangeLog for 4.10.0 * build: update ChangeLog for 4.10.0-rc1- Update to version 4.9.0+git25.278c776d: * portblock: use ss when available, netstat is "obsolete" * iSCSILogicalUnit: do not use lio_iblock with lio-t * VirtualDomain: Added the ability to unset utilization variables (#1703) * nfsserver: Fix NFSv4 lock failover: set NFS Server Scope (#1688) * metadata.rng: update to support resource agent version according to the OCF standard * ocf.py: add agent and OCF version parameters (both defaults to 1.0) * ra-dev-guide: update agent/OCF version info (#1699) * all agents: specify agent and OCF versions corrently in metadata * nfsnotify: fix rpcuser error when resource start on debian (#1696) * gcp-pd-move/gcp-vpc-move-route: dont fail failed resources instantly (caused by OCF_ERR_CONFIGURED) * symlink: fix symlink vs target realpath comparison (#1691)- Update to version 4.9.0+git10.8dc8b40b: * storage-mon: update metadata to suggest usage in combination with HealthSMART agent * configure: use new SYSTEMD_ parameters * tools: add nfsconvert for RHEL-based distros * [tools] fix build on opensuse 15.3 * nfsnotify: fix default value for "notify_args"- Update to version 4.9.0+git0.55a4e2c9: * build: update ChangeLog for 4.9.0 * Filesystem: force_unmount: remove "Default value" to avoid confusion on RHEL9+ where default value is safe * build: update ChangeLog for 4.9.0-rc1 * MySQL: add Support for local SSL connection (#1682) * SAPInstance: Fix for issue #1680 - SAPInstance fails to detect systemd integration (#1681) * [build] fix out-of-tree build for man pages * Filesystem: do not call partprobe for bind mounts * VirtualDomain: drop prefix xenmigr from migrate uri * iSCSILogicalUnit: lio-t: support setting product_id * storage-mon: new resource agent (#1675) * nvme-*: spelling fixes in meta data text * spec: remove chkconfig dependency for Fedora < 34 * Remove a bashism in ocf-shellfuncs.in * NVMe-oF-Target: New RAs nvmet-subsystem nvmet-namespace nvmet-port * gcp-ilb: add to Makefiles * mdraid: add option description for OCF_CHECK_LEVEL * CTDB: replace timeout override with ctdb_timeout parameter (#1661) * findif: popen requires pclose and not fclose (#1664) * SAPInstance: add systemd compatability (#1662) (bsc#1189535) SAPInstance fails to detect SAP unit files for systemd * lvmlockd: remove cmirrord support as it's incompatible with lvmlockd- Update to version 4.8.0+git38.c6c53268: * podman: workaround race during container creation * VirtualDomain: Added code to set the host_memory value for Utilization (#1649) * gcp-vpc-move-vip: add serviceaccount JSON file support * gcp-vpc-move-route: add serviceaccount JSON file support * LVM-activate: fix drop-in check to avoid re-creating drop-in file when it already exists * Low: dummy: Add missing action to dummy_usage function- Update to version 4.8.0+git28.5c54175d: * LVM-activate: Disable VG autoactivation in system_id access_mode * gcp-vpc-move-vip.in: Adds retries * gcp-ilb: resource wrapping nc or socat to respond to health checks (#1541) * azure-events: update api_version * openstack-cinder-volume: CLI output parsing fixes, fetch of node ID consistency, monitor action simplification, and proper use of osvol_validate. * openstack-virtual-ip: New resource agent for virtual IP support in OpenStack. * openstack-floating-ip: Proper use of osflip_validate and small log message fixes. * configure: add /usr/local/share to fallback path to be scanned for docbook path * openstack-info: Use OSInfo_validate in start action. (#1639) (bsc#1178680) HA-LVM systemid race condition introduces an error "active on 2 nodes"- Update to version 4.8.0+git12.3068bf8b: * openstack-info: python variable substitution and test for json * VirtualDomain: ensure needed virtual storage pools and networks are up and refreshed * db2: add PRIMARY/REMOTE_CATCHUP_PENDING/CONNECTED status to promote-check * - Updates due to API output format changes. - Attempt to future-proof parsing of the output. * update aws-vpc-route53 * build: add smb-share and fix & not passing XML check/manpage generation * smb-share: new RA to manage Samba shares on the fly. (#1628) * build: update ChangeLog for 4.8.0 * podman: return OCF_NOT_RUNNING when monitor cmd fails (not running) * bundle: run crm_mon without performing validation * awsvip: dont partially match similar IPs during monitor-action * AWS agents: dont spam log files when getting token * build: update ChangeLog for 4.8.0-rc1 * build: update ChangeLog for 4.7.0 * ci/build.sh: skip Python agents and *.in * CI: run shellcheck tests during "make check" to move from Travis CI * Filesystem: fix force_unmount default to safe for RHEL9+ issue introduced in b792a143fc90468f8911243a5ea77c0c424bd624 * azure-lb: Redirect stdout and stderr to /dev/null * azure-lb: Be quiet during stop operation * configure: dont use OCF_ROOT_DIR from glue.h * docker-compose: Bugfix handle ymls correctly * Filesystem: change force_unmount default to safe for RHEL9+ * gcp-vpc-move-route: make "vpc_network" optional * VirtualDomain: fix pid_status() on EL8 (#1614) * spec: add BuildRequires for google lib * nfsserver: Error-check unbind_tree * gcp-vpc-move-vip: correctly return error when no instances are returned * gcp-vpc-move-route: fix stop-action when route stopped, and fix check_conflicting_routes() * The anything RA getpid() function can fail to return the pid in the OCF_RESKEY_pidfile if the root user has commands in .profile which prints numeric characters. To demonstrate, /root/.profile contains: echo -e '911 WARNING: YOU ARE SUPERUSER!' Write only the pid into the pidfile. * added real servers threshold settings to ldirectord * gcp-vpc-move-route, gcp-vpc-move-vip: Parameterize project ID * nfsclient: fix stop-action when export not present * heartbeat/Route: Return OCF_NOT_RUNNING status if iface doesn't exist. * pgsql: make wal receiver check compatible with PostgreSQL >= 11 * Low: mysql-common: check datadir permissions * ocf-shellfuncs: make ocf_is_bash4() detect Bash v4 or greater (which it was supposed to according to the comments) * Dev: ocft: fix OCF_RESKEY_CRM_meta_timeout * build: update ChangeLog for 4.7.0-rc1 * crypt: avoid failing for LVM exclusive by not running full sanity check during probes * LVM-activate: Fix return value in lvm_status() * LVM-activate: Remove local variables (bashisms) * LVM-activate: Stop before blk-availability.service * ocf-distro: Use Solaris-compatible grep * ocf-distro: Update version format * ocf-distro: Improve robustness and specificity (#1558) * [build] export ocfrootdir consistently * crypt: allow encrypted_dev to be symlink to support using devices in /dev/disk/... or UUID * heartbeat/iface-vlan: vlan_{interface,id} do not have to be unique. * [build] fix systemd paths when using non standard prefix * crypt: make key_file and crypt_type parameters not unique * Asterisk dir fix (#1583) * fix problem with unset OCF_RESKEY_CRM_meta_interval by cluster framework * AWS agents: add support for IMDSv2 * Add pkg-config file * configure: add PKG_CHECK_VAR.m4 to avoid failing on older distros * configure: use pkg-config to detect systemd-paths to make CI able to define them the same way for all CL-projects * isRunning_cmd fix due to improper pkill parameters * configure: default to build heartbeat agents only * podman: recover from podman's storage being out of sync * podman: recover from killed conmon side process * aws-vpc-move-ip: Don't warn for expected scenarios * sybaseASE: add logfile parameter * galera: recover after network split in a 2-node cluster * man: use OCF_CHECK_LEVEL for depth parameters in pcs examples * crypt: fix missing && to set exit_reason * galera: set bootstrap attribute before promote * galera: fix check user configuration with clustercheck * ethmonitor: is_interface: RE matches vlan names * man: use promotable keyword in manpage examples * SAPInstance - introduce MINIMAL_PROBE resource parameter (#1564) * send_arp (libnet): use sigaction() instead of deprecated siginterrupt() * fixes and improvements * galera: recover from joining a non existing cluster * Filesystem: Default fast_stop to no for RHEL 9+ and for other distros * Fix ocf.py usage for py2 when self param is involved * galera: Fix automatic recovery when a cluster was not gracefully stopped * aws-vpc-move-ip: Fix the region option * aws-vpc-move-ip: Implemented optional eni lookup instead of the default instance id. * aws-vpc-move-ip: Add --region attribute * build: fix distcheck issue introduced by including READMEs in heartbeat directory * build: include all READMEs in heartbeat directory * spec: Recommends not supported for RHEL/CentOS 7 or older * - spec: ldirectord: added perl-IO-Socket-INET6 dependency on Fedora - spec: fix last remnants of 0%{?centos_version} * gcp-vpc-move-vip: Fix sort for list of dicts in python3 * filesystem: mmap search not specific enough * galera/redis: support RHEL 8.1 pacemaker * galera/redis: use --output-as for crm_mon w/newer Pacemaker, and prepare for Promoted role * azure-events: report error if jsondata not received * azure-events: import URLError and encode postData when necessary * nfsnotify: fix SELinux issue due to newer ls versions giving additional output. * nfsserver: fix SELinux issue due to newer ls versions giving additional output. * - spec: make Samba/CIFS dependency weak for Fedora 32 and RHEL/CentOS 8 and remove the dependency for later Fedora/RHEL/CentOS versions * nfsserver: stop nfsdcld if present during stop-action * Enable comparing versions containing git hashes and more * azure-events: only decode() when exec() output not of type str * pgsql: support RHEL 8.1 pacemaker * Filesystem: Convert leading space characters to tabs * Filesystem: POSIX-compliant syntax for portability * Filesystem: Support whitespace in device or directory name * sybaseASE: Run verify_all() for start operation only * iSCSILogicalUnit: lio-t: Add pscsi LIO-T backing store * spec: fix lsb_release dependency * azure-lb: Don't redirect nc listener output to pidfile * send_ua/IPv6addr: use sigaction() instead of deprecated siginterrupt() * Fix typos in galera RA * [gcp-vpc-move-vip] Add support for multiple alias IP ranges on one node * [gcp-vpc-move-vip] Improve accuracy of metadata and log messages * docker-compose: bugfix (#1523) * Add support for LIO-T incoming CHAP auth for TPG (bsc#1183971) L3: azure-events puts both nodes in standby (bsc#1177796) ethmonitor bloats journal with warnings for VLAN (bsc#1180590) azure-events URLError fixed upstream (bsc#1184607) gcp-vpc-move-route resource agent file_cache is unavailable when using oauth2client (bsc#1179977) L3: anything RA stop operation fails if /root/.profile has unexpected content (bsc#1178977) ocf.py does not handle probe actions (bsc#1175435) Last commit of a galera cluster member is not saved into grastate.dat (bsc#1175101) GCP Resource Agents - Support for Multi Alias IP (bsc#1170354) OCF version check for pacemaker is incompatible with the SUSE version strings- Fixes for %_libexecdir changing to /usr/libexec * Changed all references of %{_libexecdir} to {_prefix}/lib- Update to version 4.6.1+git2.b2dcccf1: * mdraid: fix bashism * build: update ChangeLog for 4.6.1 * dummypy: make Python 2 compatible * dummypy: build fixes to generate the agent from the .in and generate manpage * build: update ChangeLog for 4.6.0 * pgsql: use XML output for better backward and forward compatibility, and "Promoted" keyword to be ready for Pacemaker 2.1 * build: fix failing to link if link already exists * ocf_is_ms(): also check OCF_RESKEY_CRM_meta_promotable to make it work w/Pacemaker 2.x * ldirectord: add support for ldaps * exportfs: fix ocft script failure * exportfs: fix bashism * aws-vpc-move-ip: fix bashism * aliyun-vpc-move-ip: fix bashism * podman: fix bashism * docker-compose: fix bashism * mdraid: fix bashism * crypt: fix bashism * Filesystem: set "fast_stop" default to "no" for GFS2 filesystems as they are likely to use more than 6 seconds to stop * build: update ChangeLog for 4.6.0-rc1 * Fix _default variables in clvm RA. * exportfs: fix monitor-action in symlink-logic for when directory doesnt exist * nfsserver: prevent error messages when /etc/sysconfig/nfs does not exist * aliyun-vpc-move-ip: Add error log output (#1504) * High: docker-compose: new resource agent (#1499) * podman: make sure to remove containers with lingering exec sessions * tomcat: only create directory during start action * gcp-pd-move: fixes and improvements * nfsserver: fix NFSv4-only support * Medium: Squid: made squid_opts parameter available. * azure-events: handle exceptions in urlopen (#1496) * db2: HADR add STANDBY/REMOTE_CATCHUP_PENDING/DISCONNECTED to correctly promote standby node when master node disappears (e.g. via fencing) * Increase the rabbitmqctl wait timeout during start() * exportfs: add symlink support * Dummy RA in Python (#1490) * Eliminated logging.basicConfig() That method installed a root logger to be used with logging methods. The root logger is a stream logger which sends output to stderr, so every log data ended up in stderr as well * pgsql: support to crm_mon output for Pacemaker-2.0.3. * Replace aws command line with OCF_RESKEY_awscli property. (#1483) * mdraid: new resource agent * crypt: new resource agent (#1477) * Disable google api cache discovery * Importforce should not be a unique parameter. * Mid: postfix: Fixed ocf_exit_reason calling mistake. * Mid: dovecot: Fixed ocf_exit_reason calling mistake. * aws-vpc-move-ip: delete remaining route entries * Increase the security of monitor user in oracle * aws-vpc-route53: add support for public and secondary private IPs * aws-vpc-route53: cleanup and improvements * galera: Fix value used for connecting with the empty password. * ocf-shellfuncs: ocf_is_clone: update comment based on clone-max fix in previous commit * Fix audit issue with secure tmp file (#1468) * ocf-shellfuncs: fix ocf_is_clone() (clone_max can be 0 with cloned resources) * Make secure tmp files (#1467) * redis: run validate-action during start- Update to version 4.5.0+git2.32821fe4: * Filesystem: Add lustre as networked filesystem * build: update ChangeLog for 4.5.0 * aws-vpc-move-ip: add routing_table_role parameter to metadata * iSCSILogicalUnit: fix default value for OCF_RESKEY_liot_bstype * build: update ChangeLog for 4.5.0-rc1 * lvmlockd: remove locking_type parameter from lvm.conf for LVM > v2.03 * Allow user to specify role with which to query/update route table- Request to add "gcp-vpc-move-route" resource agent to SLE12 and SLE15 (bsc#1161898) Add patch: 0007-Request-to-add-gcp-vpc-move-route.patch- Update to version 4.4.0+git57.70549516: * [lvmlockd] support lvm2-2.03 removing lvmetad * oralsnr: allow using the tns_admin directory for different listeners * Change 'alredy' to 'already' * LVM-activate: add OCF_CHECK_LEVEL to control monitor action * redis: validate_all: fixes file status tests * rabbitmq-cluster: ensure we delete nodename if stop action fails * IPsrcaddr: remove hardcoded device when using destination parameter * Remove standby.signal when promote with restart * IPsrcaddr: fixes to avoid failing during probe * LVM-activate: verify vg or lv validity * [podman] Simplify the code for checking if an image exists * Filesystem: add trigger_udev_rules_if_need() for -U, -L, or /dev/xxx device * Filesystem: respect udevd need time to create UUID symlinks * ldirectord: Support sched-flags * IPaddr2: ipt_CLUSTERIP "iptables" extension not "nft" backend compatible * IPsrcaddr: fixes to replace local rule if using local table, and set src back to primary for device on stop * iSCSI logical unit fix (#1435) * Clear out the $DIR_EXECUTABLE variable so we catch the situation when we lose the directory with binaries after first sapinstance_init invokation. The second sapinstance_init invocation will not detect it as it will have already preset the $DIR_EXECUTABLE from previous run. This may allow us running actions after second sapinstance_init invocation that would be not run if we knew that we miss the needed binaries. * High: pgsql: Support for PostgreSQL 12 * IPaddr2: add noprefixroute parameter * Filesystem: refresh UUID in the start phase * azure-lb Set socat to default on SUSE distributions. * exportfs: allow multiple exports of same directory * Low: MailTo: fix variable expansion * iSCSILogicalUnit.in fixes (#1427) * Low: exportfs: Fix spelling error * Low: mysql-common: fix startup check * aliyun-vpc-move-ip: add binary detection * Supports both 'go' and 'python' versions of Aliyun CLI * build: update ChangeLog for 4.4.0 * Low: NodeUtilization: Fix checking for Xen commands * build: update ChangeLog for 4.4.0-rc1 * Route: only validate for start and validate-all actions * apache: testing to-execute-file for mere presence is not enough * LVM-activate: add partial-activation support * Add missed requirement * Use the function get_release_id to detect the OS. The parameter LOAD_STATUS_MODULE must be quoted. * gcp-pd-move: add parameter stackdriver_logging (#1412) * aws-vpc-route53: Improvements and fixes (#1409) * LVM-activate: move pvscan --cache to validate- Update to version 4.3.0+git178.b102c209: * Adapt azure-lb Resource Agent to support socat usage too (bsc#1150046) * redis: consider redis-cli features to choose optimal password passing method and warning filtering workaround (#1403) * fix master_is_active() erroneously reporting there is master when there is no fixes #1399 * nfsserver: use "--no-legend" for systemctl "list-unit-files" calls * nfsserver: performance improvements for systemd enabled systems * IPaddr2: IPv6 return empty string when sanitation fails * Low: IPaddr2: fix to work properly with unsanitized IPv6 addresses * Filesystem: improve "/" check for bind mounts * IPsrcaddr: add destination and table parameters- Update to version 4.3.0+git161.00cb192d: * apache: correctly detect mod_status.so when statusurl is set (bsc#1138281) * Restore users/perms/policies even if starting in a single node mode * spec: use %{?centos} as _version doesnt work on newer CentOS versions * exportfs: doc clarification for clientspec format * Fixup docker_stop condition on error * Make the check for the docker daemon being up more robust * Low: oracle-common: Delete the ORACLE_HOME check that is no longer needed because it is checked first. * Low: ora-common: Properly output message when sid parameter is invalid. * spec: updates from Fedora * spec: update to BR to libnet-devel for opensuse * CI: "make rpm" fixes * Route: dont fence node when parameters arent set * requested changes applied. * Added support for SSL replication * [build] drop now unnecessary make distcheck options * [build] allow systemd files to be installed in non-standard location * [build] fix make distcheck by adding fallback OS dir to find docbook.xsl * Don't call readlink on path if it does not exist- Update to version 4.3.0+git131.7af8c368: * mysql/mariadb/galera: use runuser/su to avoid using SELinux DAC_OVERRIDE * Generate addition drop-in dependencies for podman containers * Delay: protect grep regex argument from shell globbing * ipsec: fix bashism; [ a == b ] -> [ a = b ] * changing bashism to generic solution * iSCSILogicalUnit: only create acls if it doesnt exist * LVM-activate: fix monitor might hang due to lvm_validate which was added by accident * check if mod_status is present in configuration * Load apache status modules from RA cmdline for SUSE only OS (bsc#1138281) * Improve PidFile pattern * CTDB: drop sysconfig presence check during validate * CTDB: generate script.options file for 4.9+ * podman: only use exec to manage container's lifecycle * Fix path to example for ocf python agent * CTDB: support Samba 4.9+ (bsc#1137130) * Medium: Filesystem: Prevents to all root user processes are killed when bind mounting a directory on rootfs. * aws-vpc-route53: Removed absolute path for awk command (bsc#1140874) * aws-vpc-route53: Tuning on dig timeout on r53_monitor function (bsc#1140874) * aws-vpc-route53: Change check interval in _update record function (bsc#1140874) * aws-vpc-route53: Remove unecessary tabs (bsc#1140874) * aws-vpc-route53: Normalize variable declaration (bsc#1140874) * aws-vpc-route53: Changed log line wording on r53_stop function (bsc#1140874) * aws-vpc-route53: Add --cli-connect-timeout 10 option to AWS CLI (bsc#1140874) * aws-vpc-route53: Add extra log line to r53_start function (bsc#1140874) * aws-vpc-route53: Replace ec2metada with curl to fetch the IP address directly from EC2 metadata (bsc#1140874) * aws-vpc-route53: Changes and improvements to r53_start function (bsc#1140874) * aws-vpc-route53: Changes and improvements to r53_stop function (bsc#1140874) * aws-vpc-route53: Changes and improvements to _update_record function (bsc#1140874) * aws-vpc-route53: Changes and improvements to r53_monitor function (bsc#1140874) * aws-vpc-route53: Add binary check for curl and dig (bsc#1140874) * aws-vpc-route53: Change in function names from ec2ip_* to r53_* (bsc#1140874) * aws-vpc-route53.in: Add missing quotes in ec2ip_stop() (bsc#1140874) * Filesystem: remove removed notify-action from metadata * Use _default variables in ZFS RA. * Use _default variables in Xinetd RA. * Use _default variables in Xen RA. * Use _default variables in WinPopup RA. * Use _default variables in vsftpd RA. * Use _default variables in VirtualDomain RA. * Use _default variables in VIPArip RA. * Use _default variables in varnish RA. * Use _default variables in tomcat RA. * Use _default variables in syslog-ng RA. * Use _default variables in SysInfo RA. * Use _default variables in Stateful RA. * Use _default variables in Squid RA. * Use _default variables in SphinxSearchDaemon RA. * Use _default variables in slapd RA. * Use _default variables in sg_persist RA. * Use _default variables in sfex RA. * Use _default variables in ServeRAID RA. * Use _default variables in SendArp RA. * Use _default variables in scsi2reservation RA. * Use _default variables in SAPInstance RA. * Use _default variables in SAPDatabase RA. * Use _default variables in rsyslog RA. * Use _default variables in rsyncd RA. * Use _default variables in Route RA. * Use _default variables in redis RA. * Use _default variables in Raid1 RA. * Use _default variables in rabbitmq-cluster RA. * Use _default variables in Pure-FTPd RA. * Use _default variables in proftpd RA. * Use _default variables in pound RA. * Use _default variables in postfix RA. * Use _default variables in portblock RA. * Use _default variables in podman RA. * Use _default variables in pingd RA. * Use _default variables in pgsql RA. * Use _default variables in ovsmonitor RA. * Use _default variables in oralsnr RA. * Use _default variables in oracle RA. * Use _default variables in oraasm RA. * Use _default variables in openstack-info RA. * Use _default variables in NodeUtilization RA. * Use _default variables in nginx RA. * Use _default variables in nfsnotify RA. * Use _default variables in mysql-proxy RA. * Use _default variables in ManageVE RA. * Use _default variables in ManageRAID RA. * Use _default variables in MailTo RA. * Use _default variables in machine-info RA. * Use _default variables in lxd-info RA. * Use _default variables in lxc RA. * Use _default variables in lvmlockd RA. * Use _default variables in LVM-activate RA. * Use _default variables in LVM RA. * Use _default variables in LinuxSCSI RA. * Use _default variables in jira RA. * Use _default variables in jboss RA. * Use _default variables in iSCSITarget RA. * Use _default variables in iSCSILogicalUnit RA. * Use _default variables in IPsrcaddr RA. * Use _default variables in ipsec RA. * Use _default variables in IPaddr2 RA. * Use _default variables in IPaddr RA. * Use _default variables in iface-vlan RA. * Use _default variables in ids RA. * Use _default variables in ICP RA. * Use _default variables in garbd RA. * Use _default variables in galera RA. * Use _default variables in fio RA. * Use _default variables in Filesystem RA. * Use _default variables in EvmsSCC RA. * Use _default variables in Evmsd RA. * Use _default variables in ethmonitor RA. * Use _default variables in eDir88 RA. * Use _default variables in Dummy RA. * Use _default variables in docker RA. * Use _default variables in dnsupdate RA. * Use _default variables in Delay RA. * Use _default variables in db2 RA. * Use _default variables in CTDB RA. * Use _default variables in clvm RA. * Use _default variables in ClusterMon RA. * Use _default variables in aws-vpc-move-ip RA. * Use _default variables in apache RA. * Use _default variables in aliyun-vpc-move-ip RA. - Remove 0007-CTDB-support-Samba-4.9.patch * This patch was merged upstream.- Fix CTDB resource agent for Samba 4.9.0 and later (bsc#1137130) * 0007-CTDB-support-Samba-4.9.patch- Update to version 4.2.0+git157.40de8382: * azure-events: change message log level for the non action messages (bsc#1137038, bsc#1137231) * Remove unneeded podman exec --help call * Simplify podman_monitor() * Avoid double call to podman inspect in podman_simple_status() * dhcpd: keep SELinux context * vsftpd: fix missing $ on exit code detected by CI * ocf_is_true: add True to regexp * Low: Filesystem: Fix missing mount point due to corrupted mount list * Low: Filesystem: Fix a problem umount is not executed in the event of a disk failure * pgsql: enhance checks in pgsql_real_start to prevent incorrect status gets * Set fdisk command options on Linux or BSD * Adds a virtio- prefix to check disk's availability * Use fdisk to physically check disks' availability * Monitor: check cinder volume locally without using the API * Bad variable name to export (sh syntax) * Use strict sh features (no bash regex) * Cinder: Manages a local cache and calls the API to get openstack_id * Medium: pgsql: Set initial score for primary and hot standby in the probe. * Volume re-attaching, v3 API, get hostname from corosync- Update to version 4.2.0+git122.571ed619: * Fix implicit bytes conversion that breaks py3. Reduces the amount of errors messages using default value on crm_attribute (bsc#1137038, bsc#1137231) * galera: Allow empty password for "check_passwd" parameter * Squid: dont run pgrep -P without PID- Update to version 4.2.0+git116.b6c0f9fb: * galera: Log message when changing content of grastate.dat file * Use _default variables for all OCF_RESKEYs. * Use _default variable for binary path. * Drop unused LSB_STATUS_STOPPED variable. * Add resource agent for dovecot. * Fixes parameter meta-data * Fails docker RA gracefully when command not found Fails gracefully when daemon not running * CTDB: fix version string with vendor trailer comparison (bsc#1133337)- Update to version 4.2.0+git104.25f2052b: * Low: LVM: Change of return code when start fails. * galera: Ignore safe_to_bootstrap in grastate.dat in some cases * aws-vpc-move-ip: Linting adjustment (bsc#1133962) * aws-vpc-move-ip: Moving shared part outside if (bsc#1133962) * aws-vpc-move-ip: More robust approach of getting MAC address (bsc#1133962) * ethmonitor: fix is_interface() regression * aws-vpc-move-ip: Requested fix to avoid using AWS API (bsc#1133962) * aws-vpc-move-ip: Fixing indentation (bsc#1133962) * aws-vpc-move-ip: Fix for VM having multiple network interfaces (bsc#1133962) * add network namespace support to IPaddr2 * [rabbitmq] Stop redirecting all output to /dev/null in set_policy * Support build and install on RHEL 6 (#1308) * gcp-vpc-move-route/gcp-vpc-move-vip: fix Python 3 encoding issue * IPsrcaddr: make proto optional to fix regression when used without NetworkManager * LVM-activate: align dmsetup report command to standard * LVM-activate: return OCF_NOT_RUNNING on initial probe (bsc#1114855) * ethmonitor: check if interface exists by link * Squid: fix pid file issue due to new Squid version saving the PID of the parent process instead of the listener child process * Restrict strncpy by size of target, not of source. Fixes gcc error/warning * CTDB: add ctdb_max_open_files parameter * LVM-activate: only check locking_type when LVM < v2.03 * redis: Filter warning from stderr when calling 'redis-cli -a' * LVM-activate: fix indentation - Remove 0007-LVM-activate-return-OCF_NOT_RUNNING-on-initial-probe.patch * This patch was integrated upstream and is not needed as an extra patch.- LVM-activate returns the correct value on initial probe (bsc#1114855) * 0007-LVM-activate-return-OCF_NOT_RUNNING-on-initial-probe.patch- Update to version 4.2.0+git63.0f7987fb: * clvm: support exclusive mode * Revert " Added support for multiple slaves to pgsql." * azure-lb: remove reference to status from usage * configure: add Python library detection * Added support for multiple slaves to pgsql. * LVM-activate: make vgname not uniqe * LVM-activate: fix dmsetup check * LVM-activate: fix bashism [[ * Route: make family parameter optional * LVM-activate: dont fail initial probe * docker: Fix issues with stop operation * rabbitmq-cluster: always use quiet flag for eval calls * aws-vpc-move-ip: multiple VPC routing tables in routing_tables parameter - included comment in metadata section (bsc#1125138) * aws-vpc-move-ip: multiple VPC routing tables in routing_tables parameter - adjusting sleep time (bsc#1125138) * aws-vpc-move-ip: new feature: include support for multiple routing tables (bsc#1125138)- Update to version 4.2.0+git33.69a622fd: * rabbitmq-cluster: better ensure node attributes are removed * Do not log at debug log level when HA_debug is unset * Enable --query flag in DescribeRouteTable API (#1269) * Moved more Code to the Legacy section and cleaned the Legacy code as we already know that we are on pre-1.0 Version * Add lxc-stop Timeout * Remove Parameter and replace with Version Check * lxc: Add Support for lxc-stop * rabbitmq-cluster: fix regression in rmq_stop * rabbitmq-cluster: debug log detailed output when mnesia query fails * SAPDatabase: Improved the documentation about HANA usage - Remove 0001-Revert-Add-additional-info-to-SAPDatabase-RA.patch- Update to version 4.2.0+git8.7c750bab: * heartbeat/{docker,podman,rkt}: nicer treatment of "reuse" parameter * Maint: fix several typos discovered with "make spellcheck" * Fix demote example log line.- Included the missing azure-events RA needed for maintenance on the Azure Public Cloud. (bsc#1112334) - Included the ocy.py library used by the azure-events RA (bsc#1112334) - Update to version 4.1.1+git24.9b664917: * apache: fix return value for silent_status * ZFS: cleanup different indentations * Fix spelling error in gcp-vpc-move-ip/route * Initial version of the azure-events RA * rabbitmq-cluster: fail monitor when node is in minority partition * ZFS agent: check status without locks when possible * Mid: pgsql: Fix to ignore Master's re-promote. * Low: oracle: print more appropriate log when dbopen was failed * Low: oracle: accept any boolean value for clear_backupmode option * nfsserver: run prepare_directory after bind_tree and stop var-lib-nfs-rpc_pipefs.mount to fix issues when changing shared_infodir * CTDB: fix --logging/--logfile version string comparison (bsc#1102935) * Do not use the absolute path in redis' pidof calls * awseip: Documentation updates to prerequisites * nfsserver: only mount rpc_pipefs if it's not mounted * nfsserver: mount based on rpcpipefs_dir variable * LVM-activate: fixes * IPv6Addr/nagios/sybaseASE: add missing "s"-suffix in metadata * Add gcp-pd-move python script * Medium: Squid: Use ss if netstat is not available * Medium: portblock: Use ss or netstat (partial) * Medium: garbd: Use netstat or ss * Mid: apache: Retry pid check. * timeout/interval: add "s" suffix where it's missing * Low: Xen: Set utilization for cpu and hv_memory * pgsql: create replication slots after promoting master * VirtualDomain: add stateless support - Add 0001-Revert-Add-additional-info-to-SAPDatabase-RA.patch- Created the symlink for the suse:aws-vpc-move-ip RA for backward compatibility reasons. The package aws-vpc-move-ip will be dropped and the Upstream resource agent will be the only one maintained. (fate#326697)- Update to version 4.1.1+git165.1ddbf85d: * Add Python library * gcp-vpc-move-vip: use Python library * gcp-vpc-move-vip: moved alias-parameters to top of metadata * gcp-vpc-move-route: use Python library * Python: add logging.basicConfig() to support background logging * CTDB: fix incorrect db corruption reports (bsc#1101668) * CTDB: explicitly use bash shell * CTDB: fix OCF_RESKEY_ctdb_recovery_lock validation (bsc#1088692) * aws-vpc-move-ip: Use ip utility to check address * rabbitmq-cluster: retry start when cluster join fails * ipsec: Add tunnel fallback option * LVM: fix missing dash (bsc#1104900) * Remove output redirection to file in /tmp * Medium: mysql: Remove obsolete DEBUG_LOG functionality (bsc#1021689) * lvmlockd: add cmirrord support * Initial podman support * LVM-activate: return OCF_ERR_CONFIGURED for incorrect vg_access_mode * spec: fix some overkil path-based Requires, trailing whitespace, thinko * rabbitmq-cluster: get cluster status from mnesia during monitor * aws-vpc-move-ip: Fix broken shell quoting * Filesystem: Support symlink as mountpoint directory * aliyun-vpc-move-ip: improve metadata and manpage * aws-vpc-move-ip: Check the rounting table also during monitor probe action ((bsc#1106707) * aws-vpc-move-ip: Force text output during awscli call ((bsc#1106707) * aws-vpc-move-ip: Included the address param for backward compat. Evaluate if the address param is set and if the ip para is null, and set the ip param with the address value. ((bsc#1106707) * pgsql: Avoid the change of /dev/null to postgres owner/group The check_log_file performs a -f test on the logfile which is set to /dev/null by default, and it returns 1 for non-regular files. (bsc#1090882) * Filesystem: Canonicalize mountpoint symlinks- Update to version 4.1.1+git118.9a4fbd24: * SAPInstance: Improved SAP instance profile detection (bsc#1096744) * findif: only match lines containing netmasks * SAPInstance: Improved indents (bsc#1096744) * SAPInstance: implemeted reload method (bsc#1096744) * build: add missing manpages * aliyun-vpc-move-ip: fix manpage (fate#326557) * aliyun-vpc-move-ip: fixes. (fate#326557) * Add Aliyun vpc-move-ip agent. (fate#326557) * gcp-vpc-move-route.in: minor fixes * gcp-vpc-move-route.in: move stackdriver parameter * gcp-vpc-move-vip.in: filter call to aggregatedList * gcp-vpc-move-ip.in: add deprecation message * gcp-vpc-move-route.in: python implementation of gcp-vpc-move-ip.in * Do not call ocf_attribute_target in the meta-data function * sfex: fixes to avoid errors with latest gcc * gcp-vpc-move-vip.in: minor fixes * gcp-vcp-move-vip.in: implement validate-all * gcp-vpc-move-vip.in: minor fixes * gcp-vpc-move-vip.in: manage ip alias * CI: skip Python agents in shellcheck * configure: add Python path detection * Volume groups and logical volumes "-" in their name get mangled with double dashes in dmsetup. Switching to wc and just counting lines while depending on the vgname + lvname filter in the dmsetup call gets around the issue with dmsetup outputting correctly but grep failing due to the name mangle. * Mid: IPaddr2: Change return code. * ra-dev-guide: update instructions for GitHub * sybaseASE: bash path-detection * sybaseASE: new resource agent * gcp-vpc-move-ip: check specificed gcloud binary in validate- Unify source package with SLE 12 / Leap 42: * High: oracle: Fix alter user syntax for set_mon_user_profile (bsc#1089279) * Medium: Raid1: Ignore transient devices after stopping a device (bsc#1077416) * Low: Raid1: remove unnecessary wait flags (bsc#1077416) * Medium: aws-vpc-route53: Fix tempfile race (bsc#1059312) * High: aws-vpc-route53: Add agent for AWS Route 53 (fate#322781) * VirtualDomain: Properly migrate VMs on node shutdown (bsc#1074014) * Low: sg_persist: Read empty value when when no attribute exists (bsc#1048288) * High: aws-vpc-route53: Add agent for AWS Route 53 (fate#322781) * Medium: Raid1: Handle case when mddev is a symlink(bsc#1047991) * Low: ocf-shellfuncs: Avoid printing empty INFO messages (bsc#1053621) * Low: SAPInstance: Mention monitor support in documentation (bsc#1051913) - Obsoletes the following patches (SLE 12 / Leap 42): * 0001-High-oracle-Fix-alter-user-syntax-for-set_mon_user_p.patch * 0005-Medium-CTDB-Use-logging-syntax-for-ctdbd-bsc-981863.patch * 0007-Low-sg_persist-Read-empty-value-when-when-no-attribu.patch * 0008-High-aws-vpc-route53-Add-agent-for-AWS-Route-53-fate.patch * 0009-Medium-Raid1-Handle-case-when-mddev-is-a-symlink.patch * 0010-High-CTDB-Don-t-fail-on-empty-directory-bsc-1052577.patch * 0011-Low-ocf-shellfuncs-Avoid-printing-empty-INFO-message.patch * 0012-Low-SAPInstance-Mention-monitor-support-in-documenta.patch * 0013-High-galera-Backport-galera-fixes-from-upstream-bsc-.patch * 0014-VirtualDomain-Properly-migrate-VMs-on-node-shutdown-.patch * 0015-Low-aws-vpc-route53-Fix-missing-ocf_log-in-log-messa.patch * 0016-High-aws-vpc-route53-Add-agent-for-AWS-Route-53-fate.patch * 0017-Low-aws-vpc-route53-Fix-missing-ocf_log-in-log-messa.patch * 0018-Medium-aws-vpc-route53-Fix-tempfile-race-bsc-1059312.patch * 0019-Dev-aws-vpc-route53-Eliminate-duplicated-code.patch * 0020-Dev-aws-vpc-route53-Clean-up-logging.patch * 0021-Low-Raid1-remove-unnecessary-wait-flags-bsc-1077416.patch * 0022-Medium-Raid1-Ignore-transient-devices-after-stopping.patch- Update to version 4.1.1+git70.00ae6a17: * Medium: pgsql: Fix incorrect SQL is selected with PostgreSQL 11 or later. * log the error message in abnormal_end() function even when we are in 'stop' operation so it is clear from logs on how did we end up here * Medium: SAPInstance: Add monitored services for ENSA2 (bsc#1092384) * Squid: cleanup description for squid_port parameter * ldirectord: add manpage to service documentation * Medium: Add openstack resource agents * findif: improve IPv6 NIC detection * awseip: fix allocation_id not found error * awsvip: get secondary-private-ip more precisely * awsvip: get network-id from meta-data directly * syslog-ng: added note that qdisk_dir is only supported in PE6 * syslog-ng: merge Premium Edition 6 and 7 code into main agent * send_arp: dont use "-Wcast-align" due to false-positive fail on ARM. * gcp-vpc-move-ip: fix bash path-detection * enable chap authentication for lio-t iscsi target implementation. if attribute 'incoming_username' is set: enable attribute 'authentication', disable attribute 'generate_node_acls' and set chap 'userid' and 'password' for each 'allowed_initiator' * Low: exportfs: Fix inconsistent whitespace in exportfs_monitor * Medium: exportfs: Fix square bracket stripping in clientspec * Low: VirtualDomain: fix warning messages in log * New RA that manage IP moving in GCP- Require /usr/bin/logger (provided by util-linux-systemd)- Update to version 4.1.1+git0.5a1edf2b: * High: mpathpersist: Fixed problem that character string could not be correctly parsed (bsc#1083896) * High: VirtualDomain: Properly migrate VMs on node shutdown (bsc#1074014) * Medium: awseip/awsvip: improvements (incl multi NIC support) * Medium: awseip/awsvip: increase default "api_delay" to 3s to avoid failures * Low: pgsql: try to create stats_temp_directory * Low: Filesystem: Add support for cvfs * Low: pgsql: improve validations for replication mode- Edits to description, and compact build commands.- Update to version 4.1.0+git83.6c77ce7e: * Medium: Raid1: Ignore transient devices after stopping a device (bsc#1077416) * redis: add support for tunneling replication traffic * Low: ovsmonitor: Generate man page for ovsmonitor (fate#323276) * Low: Raid1: remove unnecessary wait flags (bsc#1077416) * Pacemaker 2.0 compatibility (fate#324508): * Low: Xen: Use "crm_attribute --name/-n" instead of deprecated "--attr-name" * Low: Xen,redis: Use "crm_attribute --query/-G" instead of deprecated "--get-value" * Low: db2,galera,NodeUtilization: Use "crm_attribute --quiet/-q" instead of deprecated "-Q" * Low: sfex_daemon: Use "crm_resource --node/-N" instead of deprecated "--host-uname/-H" * Low: Xen,NodeUtilization: Use "crm_attribute --node/-N" instead of deprecated "--node-uname/-U" * Low: vmware: Do not reference the dropped cluster property "default_action_timeout" - Remove patch merged upstream: * 0001-Drop-python-from-build-system-since-nothing-uses-it.patch- Drop python requirement (bsc#1076413) * 0001-Drop-python-from-build-system-since-nothing-uses-it.patch- Use python3 (bsc#1076413)- Update to version 4.1.0+git59.a0452207: * lvmlockd: auto change lvm config to use lvmlockd (fate#323822) * LVM-activate: put all validations into lvm_validate (fate#323822) * mariadb: GTID/semi-sync based MariaDB Master/Slave resource-agent- Update to version 4.1.0+git54.b264e401: * mpathpersist: New agent (fate#324044) * jira: New resource agent * azure-lb: New resource agent * lxc-info/machine-info: New agents for monitoring containers/machines * Low: redis: Check read bit on redis config * Low: IPsrcaddr: Only check for ifconfig on BSD/solaris * Medium: CTDB: Cope with deprecated "idmap backend" smb.conf option * Medium: oracle: Fix alter user syntax for set_mon_user_profile * Medium: db2: improve monitor and simplify STANDBY/.../DISCONNECTED * Medium: CTDB: fix initial probe * Medium: ethmonitor: add intel omnipath support * Medium: LVM-activate: avoid unnecessary validation in stop action * Medium: IPsrcaddr: match exact route to avoid failing- Update to version v4.1.0rc1~git8.2900c751: * Drop libnet dependency (bsc#1069596) * db2: fix HADR promote when master failed * Add resource agent for IPSEC tunnels * Mid: apache: Move the stop judgment last. * Mid: apache: Eliminate wasteful TERM transmission, correct the waiting time correctly. * galera: recover from empty gvwstate.dat * Revert "LVM: use vgscan --cache to update metadata during start/relocate" * Medium: IPaddr2: do not send Gratuitous ARPs in the Cluster IP configuration * Medium: IPaddr2: add send_arp_opts parameter * Medium: IPaddr2: allow to choose arping instead of send_arp binary * Low: send_arp.linux: print proper usage * Low: IPaddr2: document arp_interval as deprecated * Low: IPaddr2: remove metadata of an unused parameter arp_mac * Low: IPaddr2: always remove orphan pidfile * Low: IPaddr2: use ocf_log for an output from send_arp- Update to version 4.0.1+git.1509705432.020b5b34: * LVM-activate: add new RA for LVM activation (fate#323822) * nfsserver: allow stop to timeout * adding docker-native healthcheck query to docker- Update to version 4.0.1+git.1508859013.2b3cb4a6: * Medium: aws-vpc-route53: Fix tempfile race (bsc#1059312) * High: pgsql: Support PG10: Following the change of the PostgreSQL function name. * High: pgsql: Support PG10: Following the change of the default action of "pg_ctl start" and "pg_ctl promote".- Update to version 4.0.1+git.1504527822.722ffb5b: * High: ovsmonitor: Add OpenvSwitch monitor agent (fate#323276)- Update to version 4.0.1+git.1504207605.22ac330c: (bsc#1053207) * galera: Honor "safe_to_bootstrap" flag in grastate.dat (bsc#1055017) * galera: Fix instance name in master_exists() (bsc#1056635)- Update to version 4.0.1+git.1504170332.70fbcd8a: * Medium: ocf-shellfuncs: improve locking (ocf_take_lock) * Low: ocf-shellfuncs: Avoid printing empty INFO messages (bsc#1053621) * Low: SAPInstance: Mention monitor support in documentation (bsc#1051913) * High: lvmlockd: add resource agent for lvmlockd daemon (fate#323822) * High: rkt: Add agent for managing rkt containers * Medium: varnish: Compatibility for version 4.0- Update to version 4.0.1+git.1503904762.b4582bdb: * Low: mysql: Fixed bug where crm_admin is never called, leaving master scores to -1 in certain conditions. * Low: exportfs: check fsid parameter for not containing a comma * Low: mysql: don't run ocf_is_ms check in a subshell * Low: redis: add check for redis-check-rdb * Low: redis: wait for pid file to appear after start * High: pgsql: Allow dynamic membership * Medium: CTDB: fix issue with --logfile being replace with --logging * Medium: oraasm: new resource agent for Oracle ASM Disk Groups * Medium: rabbitmq-cluster: Backup and restore policies * Low: Raid1: Clean up spelling and whitespace * Medium: LVM: use vgscan --cache to update metadata during start/relocate * Medium: LVM: warn when cache mode is not writethrough * Medium: iSCSILogicalUnit: add emulate parameters * Medium: mysql: Properly Detect read_only State * Medium: anything: Allow multiple instances of binfiles to be run (pidfile will be unique) * Medium: anything: Start should return OCF_RUNNING if monitor succeeds * Medium: anything: Attempt to fix missing PID directory before starting * Medium: kamailio fixes and enhancements for v5.0 * Low: portblock: dont log dd "0+0 records in/out" * Medium: Raid1: Handle case when mddev is a symlink * Low: sg_persist: Read empty value when when no attribute exists (bsc#1048288) * Medium: VirtualDomain: new attributes migrateuri, remoteuri, migration_user * Low: sapdb: Add hdbnameserver to monitor services * High: CTDB: Don't fail on empty directory (bsc#1052577) * High: minio: Resource agent for the minio storage server * High: ZFS: Add ZFS Resource Agent * High: awseip/awsvip: fixes and improvements * Medium: VirtualDomain: new configuration option shutdown_mode * Medium: Route: Resource key for the address family (ip4, ip6 or detect) * Low: aws-vpc-route53: Fix missing ocf_log in log message - Remove patches merged upstream: * Remove 0005-Medium-CTDB-Use-logging-syntax-for-ctdbd-bsc-981863.patch * Remove 0008-Low-sg_persist-Read-empty-value-when-when-no-attribu.patch * Remove 0010-High-CTDB-Don-t-fail-on-empty-directory-bsc-1052577.patch * Remove 0009-High-aws-vpc-route53-Add-agent-for-AWS-Route-53-fate.patch * Remove 0007-Medium-Raid1-Handle-case-when-mddev-is-a-symlink.patch- High: CTDB: Don't fail on empty directory (bsc#1052577) * Add 0010-High-CTDB-Don-t-fail-on-empty-directory-bsc-1052577.patch- High: aws-vpc-route53: Add agent for AWS Route 53 (fate#322781) * Add 0009-High-aws-vpc-route53-Add-agent-for-AWS-Route-53-fate.patch - Low: sg_persist: Read empty value when when no attribute exists (bsc#1048288) * Add 0008-Low-sg_persist-Read-empty-value-when-when-no-attribu.patch- Medium: Raid1: Handle case when mddev is a symlink(bsc#1047991) 0007-Medium-Raid1-Handle-case-when-mddev-is-a-symlink.patch- Update to version 4.0.1+git.1495055229.643177f1: * High: SAPInstance: Add IS_ERS parameter (bsc#1036486) * High: DB2: fix HADR support for DB2 V98+ (bsc#1035470) * Medium: iSCSILogicalUnit/iSCSITarget: protect targetcli invocations with locks * Medium: iSCSILogicalUnit: lio-t IPv6-support * Medium: LVM: add check_writethrough parameter * Medium: galera: fix permission of temporary log file for mariadb 10.1.21+ * Medium: galera: fix the first bootstrap when cluster has no data * Medium: docker: fix to deal with the image name correctly. * Medium: named: Add support for rndc options in named resource agent. * Medium: NodeUtilization: Add NodeUtilization agent * Medium: rabbitmq-cluster: Allow the rabbitmq cluster to work on pacemaker remote nodes * Medium: galera: fix master target during promotion with cluster_host_map * Medium: IPaddr2: add option for specifying IPv6's preferred_lft * Medium: docker: Allow callers to specify a set of directories that should be created if the don't exist * Low: pgsql: fix regex in set async mode * Low: added kamctl parameter as it was missing, causing issues if kamctl is not in PATH * Low: clvm: remove reload action from metadata * Low: iSCSILogicalUnit: replace openssl call with md5sum * Low: nginx: fix return code for configfile err * Add 0006-Revert-ocf_log-use-same-log-format-as-pacemaker.patch- Update to version 4.0.0+git.1485962683.3b5faae: * Also backup users permissions. Skip guest user permission for vhost / * Low: slapd: Change of the stop processing. * LVM: add error messages for partial_activation * Low: apache: Reduce log spam for success * Low: findif.sh: Correctly redirect output to /dev/null * Low: eDir88: Fix incorrect shell usage * Low: redis: Fix error in log output * Low: tomcat: Fix incorrect shell usage * Low: rabbitmq-cluster: Fix incorrect shell usage * Low: Filesystem: Fix incorrect shell usage * Low: nginx: Fix incorrect shell usage * Low: ServeRAID: Fix incorrect shell usage * Low: postfix: data_dir loop could only ever run once * Low: SysInfo: Convert test series to legal syntax * tomcat: fix systemd tomcat start script check * galera: make last commit parsing compatible with mariadb 10.1.18+ * galera: prevent promote right after demote * ifcheck must not suppress stdout of "ip" command so that it can be printed out in case of an error (e.g., usage in findif_check_params). * Medium: IPaddr2: add option to enable sending refresh arp packets in monitor * Low: IPaddr2: Log refresh arp packets at debug level instead of info * pgsql: fix problem with creating replication slot names, when node count greather then 2 * Low: Update outdated mailing list/wiki references * Enable dump/restore users from RabbitMQ ver. 3.6.x * Don't run scriptlets if Mnesia isn't available * Don't call erlang:halt/0 inside of the working node * Remove file only if successfully imported users * Dump users only if non-empty * Improve dump/restore ofusers' permissions * Restore users' permissions only if Mnesia is running * RabbitMQ: Reset Mnesia before joining existing cluster * portblock: Use -w (wait) to avoid "insufficient privileges" error * portblock: version check for -w * Double-quote value of synchronous_standby_names in rep_mode.conf * specfile: make requirements general and update comments * Filesystem: check if there are any mounts mounted under the mountpoint * IPaddr2: return success on stop with invalid IP * Fix typo in IPaddr2 * Fix grammar and spelling in some resource agents * galera: allow names in wsrep_cluster_address to differ from pacemaker nodes' names * IPaddr2 detect duplicate IP * redis: use "CLIENT KILL type normal" to notify clients of master being demoted * specfile: Add metadata.rng to the file to be collected * Adds support for fstype=zfs on Filesystem resource agent * LVM: fix partial activation * galera: revert "long SST monitoring" PR #684 and #762 * Medium: exportfs: Only strip brackets from edges of clientspec (bsc#1022223) - Rebase patches: * Add 0001-LVM-Default-partial_activation-to-true-in-SLE-HAE.patch * Add 0002-nfsserver-fix-path-to-sm-notify.patch * Add 0003-ldirectord-don-t-create-subsys-lock.patch * Add 0004-Revert-Low-build-Move-binaries-in-usr-lib-heartbeat-.patch * Add 0005-Medium-CTDB-Use-logging-syntax-for-ctdbd-bsc-981863.patch * Remove lvm-vg-partial-active.diff * Remove resource-agents-nfsserver-sle11.patch * Remove no-var-lock-subsys.patch * Remove 0006-Revert-Low-build-Move-binaries-in-usr-lib-heartbeat-.patch * Remove 0001-Medium-CTDB-Use-logging-syntax-for-ctdbd-bsc-981863.patch- Update to version 3.9.7+git.1478106349.5ff08d4: * tomcat: Add force_systemd parameter to rely on systemd service * nfsserver: dont stop rpcbind, as other services might use it * ldirectord: a further fix for spurious reminder e-mails * Medium: docker: Reduce monitor log spam * Medium: mysql-proxy: Fix incorrect conditional reported by shellcheck * Medium: garbd: Fix broken probe check * Doc: docker: Clarify limitations of monitor_cmd in parameter description- Update to version 3.9.7+git.1477655995.de4be97: * adjusting sapdb.sh to work with HANA Multi-Tenant Databases (bsc#1007142) * Medium: docker: Use docker exec for monitor_cmd if supported (bsc#1007867) * sg_persist: fix matching of hex node ids * sg_persist: do not spill info output to stderr * lvm.sh: fix status clustered to check the specified logical volume * Delay: set default startdelay lower than start timeout to avoid it timing out before starting with default values * Low: Filesystem: Clearer exit reason if mount fails- Update to version 3.9.7+git.1475827855.a95ea74: * High: nfsserver: Delete the temp file correctly. * Low: nfsserver: Prevent unnecessary log output- Revert send_arp to libnet version (bsc#985486) * For infiniband support in IPaddr2, install ipoibtools- Update to version 3.9.7+git.1475676827.4af1003: * High: rabbitmq-cluster: forget stopped rmq nodes with notify=true * [rabbitmq-cluster] Backup and restore rabbitmq users during resource restart * RabbitMQ: New error code - 69 * RabbitMQ: Forget node before 2nd joining attempt * rabbitmq: Allow automatic cluster recovery before forcing it * oracle: fix MONPROFILE to use monprofile parameter when set * oracle: fix issue with C## in monprofile (bsc#1005424) * oracle: add quotes for monuser and monpassword * Medium: pgsql: change stop_escalate parameter as usable value * Low: pgsql: adjust stop_escalate time when it is longer than the timeout * [galera] Add /etc/default/clustercheck importation * Medium: ldirectord: Fix the issue in IPv4/IPv6 mixed environment * ldirectord: Do an initial check of all services in when in 'starting' status * Low NFS: add more default init scripts to check * exportfs: Add pseudo resource factor (bsc#978680) * exportfs: Add IPv6 support * Low: extend support for AWS elastic ip association * Low: Rename ra-dev-guide.txt to ra-dev-guide.asc * garbd: Introduces garbd resource-agent - Drop merged patches: * Remove 0001-Medium-ldirectord-Remove-IPv6-workaround-bsc-977193.patch * Remove 0001-exportfs-Add-pseudo-resource-factor-bsc-978680.patch- Use non-libnet version of send_arp for IB support (bsc#985486)- Remove unused conditions from the spec-file as we build only on new enough distributions - Sort all variables with spec-cleaner for better readability - Enable monitoring subpkg as we now have all the needed dependencies - Convert to pkgconfig style dependencies where applicable- exportfs: Add pseudo resource factor (bsc#978680) - Add 0001-exportfs-Add-pseudo-resource-factor-bsc-978680.patch- Medium: ldirectord: Remove IPv6 workaround (bsc#977193) - Medium: CTDB: Use --logging syntax for ctdbd (bsc#981863) - Add 0001-Medium-ldirectord-Remove-IPv6-workaround-bsc-977193.patch - Add 0001-Medium-CTDB-Use-logging-syntax-for-ctdbd-bsc-981863.patch- Remove redundant %clean section. Ensure systemd-tmpfiles is run.- Update to version 3.9.7+git.1461938976.cb7c36a: + High: managing "Elastic IP" for EC2 instances + High: managing "Secondary Private IP" for EC2 instances + Low: VirtualDomain: fix unnecessary error when probing nonexistent domain + Low: mysql: Handle non-standard mysql server port + Low: Fix protential error for RA:nagios + Medium: iSCSILogicalUnit: Fix when using rbd store. + Low: iSCSILogicalUnit: Add tgt_bsopts parameter. + Low: Don't send Inaccessible real server e-mails in fork=yes mode- Update to version 3.9.7+git.1461679689.18a78f5: + Medium: symlink: Handle missing directories in target (bsc#973054) + oracle: "shutdown immediate;" is needed after cleanup to be able to recover from the ORA-01081 error + oracle: inform user that monprofile must start with C## for container databases + tickle_tcp: Fix "Failed to open raw socket (Invalid argument)" issue- Update to version 3.9.7+git.1458512170.48350a9: + High: SAPDatabase: Add support for Oracle 12c (bsc#967380) + High: sapdb.sh evaluate parameter DBOSUSER also in start and stop methods (bsc#971914) + Low: SAPInstance: Update version support statement (bsc#965872) + Low: apache: ensure readable $TESTCONFFILE + Added iSER enabled portal support + quote vgchange options + Added pgagent RA + galera: fix monitoring of joining node for long running SST + galera: don't bootstrap from a node with no grastate.dat when possible + oralsnr: fix status check fail when username is more than 8 characters long- Update to version 3.9.7+git.1454950092.6f56933: + Dev: ocft: include runocft to the tarball- Update to version 3.9.7+git.1454497075.e697f43: + Medium: nfsserver: fix monitor for systemd + galera: force crash recovery if needed during last commit detection + galera: prevent recovered nodes from bootstrapping cluster when possible + galera: remove bashism + Add portal check to open_iscsi_get_session_id()- Update to version 3.9.7~rc1+git.1453889774.3446b99: + Low: ldirectord: Fix unset failcount error (bsc#962795)- Update to version 3.9.6+git.1452867140.fc8ace0: + SAPDatabase: Add Oracle 12 to list of supported databases (bsc#953991) + High: clvm: fix issue with only first option of daemon_options being used + High: mysql: fix grep failure on MySQL5.6 or higher when checking read_only variable + Medium: sg_persist: remove uncalled for ocf_run calls + Medium: ocf_shellfuncs: suppress bash specific trace_ra log on dash + Medium: ocf-rarun: replace error log messages with calls to ocf_exit_reason + Medium: nfsserver: do redhat specific stuff on redhat + Medium: iscsi: replace error log messages with calls to ocf_exit_reason + Medium: oracle/oralsnr: replace error log messages with calls to ocf_exit_reason + Medium: pingd: replace error log messages with calls to ocf_exit_reason + Medium: Raid1: replace error log messages with calls to ocf_exit_reason + Medium: pgsql: replace error log messages with calls to ocf_exit_reason + Medium: exportfs: don't increment fsid for single directory + Medium: Filesystem: add overlay as supported filesystem + Medium: mysql: When mysql has been already stopped, mysql is finished normally. + Low: pgsql: fix to be used valid charcters when the invalid characters is used in replication_slot_name. + Low: mysql: fix missing variables + Low: mysql: tmpfile is leaking when set the OCF_CHECK_LEVEL to 10 + Low: nfsserver: prevent error messages on platforms without rpcuser (again) + Low: pgsql : fix invalid log message + Low: apache-conf: handle parsing includes with values in quotes + Low: pgsql: properly show default values in meta-data + Low : Changed the check handling of pid to the common function. + Low : Changed it that the message which pid file deleted repeated and did not appear + Low: pgsql: fix grep failure when using pacemaker 1.1.12 + LVM: Allow vgck failures if partial + LVM: Correct grammar in partial_activation descriptions + IPaddr2: Add IPv6 DAD collision detection + VirtualDomain: New resource attributes migration_speed and migration_downtime + Nagios Resource Agent + Fix 90s wait/killing of databases containing the name of the database being killed, and added cleanup code to kill remaining listener process. + mysql.sh: wait up to startup_wait seconds before failing if mysqld startup is slow - Remove patches that have been merged upstream - Remove 0001-nfsserver-Add-EXEC_MODE-for-systemd-without-nfs-lock.patch - Remove 0002-nfsserver-Use-rpc-statd.service-for-NFS-locking-in-E.patch- nfsserver: Use rpc-statd.service for NFS locking in EXEC_MODE=3 (bsc#955114) - Add 0002-nfsserver-Use-rpc-statd.service-for-NFS-locking-in-E.patch- nfsserver: Add EXEC_MODE for systemd without nfs-lock.service (bsc#955114) - Add 0001-nfsserver-Add-EXEC_MODE-for-systemd-without-nfs-lock.patch- Update to version 3.9.6+git.1444655379.5f44ac6: + send_arp: fix for infiniband, re-merge from upstream iputils arping + Medium: docker: Correction of the mistake of the variable name. + Low: s/ist/is typo fix + Low: syslog-ng: set default binary to /sbin/syslog-ng + galera: start joining nodes during 'monitor' to allow long-running SST + galera: document the bootstrap flow- Update to version 3.9.6+git.1442374860.7f3628a: + Low: pgsql: set_master_score use an undefined variable($target). + Fix exec_sql errors like "unknown variable select pg_ " on ubuntu + Low: findif.sh: Allow + and - as broadcast arguments (bsc#940931) + Low: IPaddr2: Describe + and - broadcast arguments (bsc#940931) (#656) + galera: add support for MYSQL_HOST and MYSQL_PORT from clustercheck- Update to version 3.9.6+git.1441596198.a62fc5a: + High: clvm: activate_vgs option for enable/disable of automatic vg activation + High: IPsrcaddr: return correct error code during stop when misconfigured + Fixed redis start operation if replication sync takes > 20 seconds + Made 'slave of XXX' wait forever (demote) + Low: pgsql: eliminate duplicate "ocf_exit_reason". + Docker: remove trailing spaces + Docker: fix docker existance test report error + High: redis: avoid 0 byte dump.rdb start failures + High: dhcpd: use correct default chroot for rhel based systems + orainstance.sh: interpret listener stop results correctly + Support RozoFS + Low: pgsql: replace "output=su ..." to a new function, exec_sql() + Medium: pgsql: delete an old replication slot when creating the slot. + iSCSILogicalUnit: add check for leftover target/core entries for lio-t + iSCSILogicalUnit: return OCF_NOT_RUNNING on monitor if backing path does not exist + iSCSILogicalUnit: when deleting a LUN or initiator fails with lio-t, proceed with warning + iSCSITarget: properly create portals for lio-t implementation + more accurate search results when tag is not specified + Fix "docker images" difference between distro + more strictly image check for repository, name, and tag + Use runuser inteald of su command for SELinux enforcing mode + Use runuser command instead of su in order to run selinux enforcing mode. + Medium: CTDB: Preserve permissions on smb.conf (bsc#935253) + High: redis: use required client pass word when set + Added "maxfiles" parameter for increasing maximum number of open files (for ulimit -n) + Low: update contact info + pgsql: Fix return code override in pgsql_real_start() + [high] Fix redis password parser- Update to version 3.9.6+git.1430920897.b7ea7f9: + High: galera: make sure to clear last known sequence number promote is even attempted + High: galera: properly redetect bootstrap after demote + High: ethmonitor: link_status_only option for skipping RX counter and arping tests- Update to version 3.9.6+git.1429568091.f79322c: + Medium: multiple: make sure that the pidfile directory exist + orainstance.sh: Fix process name grep in exit_idle + Low: pgsql: fix check_wal_receiver to prevent incorrect "ERROR" status display and output WARN log in the master + Low: allow rgmanager lvm agent to handle hostname aliases + Fix rmq_join_list to only return online nodes + Medium: pgsql: Support replication slots + Low: pgsql: add validation check for replication slot. + Low: redis: smarter config argument default + Fix: redis: reliable shutdown. + Low: redis: loosen advertised default monitor timeout seconds + Fix: redis: do not attempt to demote if redis is dead + Low: redis: make sure to always delete master score on stop + Low: redis: reconnect to new master after promotion + High: redis: only connect to active master instances + High: redis: wait_last_known_master option for redis agent. + Low: redis: prevent bash syntax errors and lower priority some log messages + High: galera: retrieve last sequence number without using read-only mode + Fix return code in asterisk_monitor #2- Update to version 3.9.6+git.1427133197.6897c9c: + High: introducing rabbitmq clustering agent + Filesystem: fix misspelled log messages + Filesystem: support overlayfs + Medium: sg_persist: do use the binary parameter + Medium: dnsupdate: use the advertised nsupdate_opts + build: add missing RAs to makefiles + Fix: nfsserver: avoid re-tagging nfs sysconfig with autogen header + nfsserver: merge options into existing sysconfig/nfs + portblock: portno param can be a string like 137,138 + portblock: replace ancient heartbeat config with crm configure + portblock: clarify TCP RST vs ICMP port unreachable + portblock: capitalize "Linux" + portblock: ports can't be "turned off" + portblock: fix typo + Medium: VirtualDomain: enforce C locale in force_stop + Low: VirtualDomain: Fixed to correctly get the return code of the "virsh destroy" command + redis: retry on unknown error when starting + bash bug fix, no arbitrary stop timeout, placeholder master during election period + build: update ChangeLog for 3.9.6 + Medium: VirtualDomain: enforce C locale in status + CTDB: Change default socket location to CTDB's expected default. + CTDB: Whitespace cleanup. + Medium: VirtualDomain: add migrate_options parameter + nginx: Allow different URLs for level 10 and 20 monitor + build: update ChangeLog for 3.9.6-rc1 + Low: nfsserver.sh: for rgmanager nfs agent, strip off trailing '/' from path option + mysql.sh: Allow MySQL to run as user other than mysql + fs-lib.sh: Fix missed detection of write failure + Low: postgresh-8.sh: fixes rgmanager pgsql agent's ability to detect user group + Modify manual for negotiatetimeout + Medium: iscsi: run iscsi discovery only when necessary + High: VirtualDomain: save the config before virsh undefine (bnc#891915) + RA and ocft for sg_persist + ldirectord: Add Install section for systemd unit file. + Use calculated default pidfile. + Removed 'pidof' because it's not cross-platform compatible + Using 'check_binary' + ldirectord: modify manual and sample for Radius check + ldirectord: Fix can not remove virtualservice when stopping ldirectord via systemctl. + findif.sh: Use the most specific matching route + Low: LVM: volgrpname is unique (meta-data update) + Medium: ldirectord: Get correct user for sending email (bnc#910497) + Low: configure.ac: remove POSIX-incompatible command + Low: add variables OCF_RA_VERSION_MAJOR, OCF_RA_VERSION_MINOR, OCF_EXIT_REASON_PREFIX OCF_RESOURCE_TYPE, and OCF_RESOURCE_PROVIDER in ra-dev-guide.txt based on pacemaker source + Low: add a few more references to notify in ra-dev-guide.txt + #526, do not set write_back when creating backstore/block + Medium: portblock: Feature: reset_tcp_on_unblock_stop + Low: nfsserver: prevent error messages on platforms without rpcuser + Medium: Xen: fix regression with xm and quoting (lf#2671) + re-add LXCpre1.0 logic + remove check for unused binary + fix for missing lxc-ps command in ocf:heartbeat:lxc + Low: Route: some unique attributes are not unique + Log domain status in debug mode for xl and xen-list + Medium: IPaddr2 findif: accept dotted quad netmask + Low: mysql: document use of notify metadata attr for master/slave + Medium: VirtualDomain: For Xen, prefer xl to xen-list (boo#901453) + Medium: Xen: Use xl list $domain return code in status check (boo#901453) + Low: pgsql: PostgreSQL 9.3 compatibility for unix_socket_directories - Remove merged patches: + findif-multiple-routes-bnc892755.patch + fix-sg_persist-commented-byLars.patch + fix-sg_persist-demote-error.patch + fix-sg_persist-devs-required-and-not-defined.patch + fix-sg_persist-for-code-normalization.patch + resource-agents-new-sg_persist.patch + sg_persist-ocft-not-configure-iscsi.patch- fix fix-sg_persist-devs-required-and-not-defined.patch to eliminate build warning: script-without-shebang- Update to upstream cs v3.9.5-631-g992ca06 - High: Introduces the docker agent to manage docker containers in an HA environment - High: mysql: report error when validation fails during monitor yet pid is still active - High: mysql-common: avoid use of check_binary in common validation function. - Medium: ocf-shellfuncs: set HA_LOGD depending on HA_use_logd - Low: VirtualDomain: downgrade error msg during probe - Modified replication_user description: RELOAD privilege is required for RESET SLAVE or RESET SLAVE ALL command. - lvm_by_vg.sh: Only strip tag on stop if we are owner - Low: pgsql: PostgreSQL 9.3 compatibility for unix_socket_directories - Medium: Xen: Use xl list $domain return code in status check (boo#901453) - Medium: VirtualDomain: For Xen, prefer xl to xen-list (boo#901453) - Low: mysql: document use of notify metadata attr for master/slave- Update to upstream cs v3.9.5-589-gb644395 - High: iSCSILogicalUnit: fixes syntax errors - High: galera: do not ignore specified check_password - Fix: shellfuncs: fix syntax error caused by exit_reason support for dash shell. - Fix: ocf_exit_reason: implicit format string "%s" for single argument version - Fix: ha_log: drop global __ha_log_ignore_stderr_once hack - $((var++)) breaks in the dash shell/bin/sh/bin/sh/bin/sh/bin/shaws-vpc-move-ipheartbeat-resourcesh04-armsrv1 1733304652  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~0.2.201711134.13.0+git6.ae50f94f-150600.4.9.2UNKNOWN4.13.0+git6.ae50f94f-150600.4.9.24.13.0+git6.ae50f94f-150600.4.9.24.13.0+git6.ae50f94f 0.2.20171113  ha.dshellfuncsresource-agentsheartbeatagent_config.hocflibheartbeatapache-conf.shfindif.shhttp-mon.shlvm-clvm.shlvm-plain.shlvm-tag.shmysql-common.shnfsserver-redhat.shocf-binariesocf-directoriesocf-distroocf-rarunocf-returncodesocf-shellfuncsocf.pyopenstack-common.shora-common.shsapdb-nosha.shsapdb.shresource.dheartbeat.ocf-binaries.ocf-directories.ocf-returncodes.ocf-shellfuncsAoEtargetAudibleAlarmCTDBClusterMonDelayDummyEvmsSCCEvmsdFilesystemICPIPaddrIPaddr2IPsrcaddrIPv6addrLVMLVM-activateLinuxSCSIMailToManageRAIDManageVENodeUtilizationPure-FTPdRaid1RouteSAPDatabaseSAPInstanceSendArpServeRAIDSphinxSearchDaemonSquidStatefulSysInfoVIPAripVirtualDomainWASWAS6WinPopupXenXinetdaliyun-vpc-move-ipanythingapacheasteriskaws-vpc-move-ipaws-vpc-route53awseipawsvipazure-eventsazure-events-azazure-lbclvmconntrackdcorosync-qnetdcryptdb2dhcpddnsupdatedockerdocker-composedovecotdummypyeDir88ethmonitorexportfsfiogaleragarbdgcp-ilbgcp-pd-movegcp-vpc-move-ipgcp-vpc-move-routegcp-vpc-move-vipiSCSILogicalUnitiSCSITargetidsiface-bridgeiface-macvlaniface-vlanipseciscsijbossjirakamailioldirectordlvmlockdlxclxd-infomachine-infomariadbmdraidminiompathpersistmysqlmysql-proxynagiosnamednfsnotifynfsservernginxnvmet-namespacenvmet-portnvmet-subsystemocivipopenstack-cinder-volumeopenstack-floating-ipopenstack-infoopenstack-virtual-iporaasmoracleoralsnrovsmonitorpgagentpgsqlpingdpodmanportblockpostfixpoundproftpdrabbitmq-clusterrabbitmq-server-haredisrktrsyncdrsyslogscsi2reservationsfexsg_persistslapdsmb-sharestorage-monsybaseASEsymlinksyslog-ngtomcatvarnishvdo-volvmwarevsftpdzabbixserversuseaws-vpc-move-ipresource-agents-deps.targettmpfiles.dresource-agents.confheartbeatfindifocf-returncodesocf-shellfuncssend_arpsend_uasfex_daemonstorage_montickle_tcpocf-testerocftsfex_initsfex_statresource-agentsAUTHORSREADME.webappsresource-agentsCOPYINGCOPYING.GPLv3COPYING.LGPLocf_heartbeat_AoEtarget.7.gzocf_heartbeat_AudibleAlarm.7.gzocf_heartbeat_CTDB.7.gzocf_heartbeat_ClusterMon.7.gzocf_heartbeat_Delay.7.gzocf_heartbeat_Dummy.7.gzocf_heartbeat_EvmsSCC.7.gzocf_heartbeat_Evmsd.7.gzocf_heartbeat_Filesystem.7.gzocf_heartbeat_ICP.7.gzocf_heartbeat_IPaddr.7.gzocf_heartbeat_IPaddr2.7.gzocf_heartbeat_IPsrcaddr.7.gzocf_heartbeat_IPv6addr.7.gzocf_heartbeat_LVM-activate.7.gzocf_heartbeat_LVM.7.gzocf_heartbeat_LinuxSCSI.7.gzocf_heartbeat_MailTo.7.gzocf_heartbeat_ManageRAID.7.gzocf_heartbeat_ManageVE.7.gzocf_heartbeat_NodeUtilization.7.gzocf_heartbeat_Pure-FTPd.7.gzocf_heartbeat_Raid1.7.gzocf_heartbeat_Route.7.gzocf_heartbeat_SAPDatabase.7.gzocf_heartbeat_SAPInstance.7.gzocf_heartbeat_SendArp.7.gzocf_heartbeat_ServeRAID.7.gzocf_heartbeat_SphinxSearchDaemon.7.gzocf_heartbeat_Squid.7.gzocf_heartbeat_Stateful.7.gzocf_heartbeat_SysInfo.7.gzocf_heartbeat_VIPArip.7.gzocf_heartbeat_VirtualDomain.7.gzocf_heartbeat_WAS.7.gzocf_heartbeat_WAS6.7.gzocf_heartbeat_WinPopup.7.gzocf_heartbeat_Xen.7.gzocf_heartbeat_Xinetd.7.gzocf_heartbeat_aliyun-vpc-move-ip.7.gzocf_heartbeat_anything.7.gzocf_heartbeat_apache.7.gzocf_heartbeat_asterisk.7.gzocf_heartbeat_aws-vpc-move-ip.7.gzocf_heartbeat_aws-vpc-route53.7.gzocf_heartbeat_awseip.7.gzocf_heartbeat_awsvip.7.gzocf_heartbeat_azure-events-az.7.gzocf_heartbeat_azure-events.7.gzocf_heartbeat_azure-lb.7.gzocf_heartbeat_clvm.7.gzocf_heartbeat_conntrackd.7.gzocf_heartbeat_corosync-qnetd.7.gzocf_heartbeat_crypt.7.gzocf_heartbeat_db2.7.gzocf_heartbeat_dhcpd.7.gzocf_heartbeat_dnsupdate.7.gzocf_heartbeat_docker-compose.7.gzocf_heartbeat_docker.7.gzocf_heartbeat_dovecot.7.gzocf_heartbeat_dummypy.7.gzocf_heartbeat_eDir88.7.gzocf_heartbeat_ethmonitor.7.gzocf_heartbeat_exportfs.7.gzocf_heartbeat_fio.7.gzocf_heartbeat_galera.7.gzocf_heartbeat_garbd.7.gzocf_heartbeat_gcp-ilb.7.gzocf_heartbeat_gcp-pd-move.7.gzocf_heartbeat_gcp-vpc-move-ip.7.gzocf_heartbeat_gcp-vpc-move-route.7.gzocf_heartbeat_gcp-vpc-move-vip.7.gzocf_heartbeat_iSCSILogicalUnit.7.gzocf_heartbeat_iSCSITarget.7.gzocf_heartbeat_ids.7.gzocf_heartbeat_iface-bridge.7.gzocf_heartbeat_iface-macvlan.7.gzocf_heartbeat_iface-vlan.7.gzocf_heartbeat_ipsec.7.gzocf_heartbeat_iscsi.7.gzocf_heartbeat_jboss.7.gzocf_heartbeat_jira.7.gzocf_heartbeat_kamailio.7.gzocf_heartbeat_lvmlockd.7.gzocf_heartbeat_lxc.7.gzocf_heartbeat_lxd-info.7.gzocf_heartbeat_machine-info.7.gzocf_heartbeat_mariadb.7.gzocf_heartbeat_mdraid.7.gzocf_heartbeat_minio.7.gzocf_heartbeat_mpathpersist.7.gzocf_heartbeat_mysql-proxy.7.gzocf_heartbeat_mysql.7.gzocf_heartbeat_nagios.7.gzocf_heartbeat_named.7.gzocf_heartbeat_nfsnotify.7.gzocf_heartbeat_nfsserver.7.gzocf_heartbeat_nginx.7.gzocf_heartbeat_nvmet-namespace.7.gzocf_heartbeat_nvmet-port.7.gzocf_heartbeat_nvmet-subsystem.7.gzocf_heartbeat_ocivip.7.gzocf_heartbeat_openstack-cinder-volume.7.gzocf_heartbeat_openstack-floating-ip.7.gzocf_heartbeat_openstack-info.7.gzocf_heartbeat_openstack-virtual-ip.7.gzocf_heartbeat_oraasm.7.gzocf_heartbeat_oracle.7.gzocf_heartbeat_oralsnr.7.gzocf_heartbeat_ovsmonitor.7.gzocf_heartbeat_pgagent.7.gzocf_heartbeat_pgsql.7.gzocf_heartbeat_pingd.7.gzocf_heartbeat_podman.7.gzocf_heartbeat_portblock.7.gzocf_heartbeat_postfix.7.gzocf_heartbeat_pound.7.gzocf_heartbeat_proftpd.7.gzocf_heartbeat_rabbitmq-cluster.7.gzocf_heartbeat_rabbitmq-server-ha.7.gzocf_heartbeat_redis.7.gzocf_heartbeat_rkt.7.gzocf_heartbeat_rsyncd.7.gzocf_heartbeat_rsyslog.7.gzocf_heartbeat_scsi2reservation.7.gzocf_heartbeat_sfex.7.gzocf_heartbeat_sg_persist.7.gzocf_heartbeat_slapd.7.gzocf_heartbeat_smb-share.7.gzocf_heartbeat_storage-mon.7.gzocf_heartbeat_sybaseASE.7.gzocf_heartbeat_symlink.7.gzocf_heartbeat_syslog-ng.7.gzocf_heartbeat_tomcat.7.gzocf_heartbeat_varnish.7.gzocf_heartbeat_vdo-vol.7.gzocf_heartbeat_vmware.7.gzocf_heartbeat_vsftpd.7.gzocf_heartbeat_zabbixserver.7.gzocf-tester.8.gzsfex_init.8.gzresource-agents.pcresource-agentsmetadata.rngocftREADMEREADME.zh_CNcaselibconfigsFilesystemIPaddr2IPaddr2v4IPaddr2v6IPsrcaddrIPv6addrLVMMailToRaid1SendArpVirtualDomainXenXinetdapachedb2drbd.linbitexportfsexportfs-multidiriscsijbossmysqlmysql-proxynamednfsserveroraclepgsqlportblockpostfixsg_persisttomcathelpers.shrunocftrunocft.prereqra-api-1.dtd/etc//etc/ha.d//run//usr/include//usr/include/heartbeat//usr/lib//usr/lib/ocf//usr/lib/ocf/lib//usr/lib/ocf/lib/heartbeat//usr/lib/ocf/resource.d//usr/lib/ocf/resource.d/heartbeat//usr/lib/ocf/resource.d/suse//usr/lib/systemd/system//usr/lib/tmpfiles.d//usr/lib64//usr/lib64/heartbeat//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/resource-agents//usr/share/licenses//usr/share/licenses/resource-agents//usr/share/man/man7//usr/share/man/man8//usr/share/pkgconfig//usr/share//usr/share/resource-agents//usr/share/resource-agents/ocft//usr/share/resource-agents/ocft/configs/-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:36657/SUSE_SLE-15-SP6_Update/23720c1002bf0d865e74dae1c5dbbcdd-resource-agents.SUSE_SLE-15-SP6_Updatedrpmxz5aarch64-suse-linux       directoryASCII textawk or perl script, ASCII textPOSIX shell script, ASCII text executableUTF-8 Unicode textPython script, ASCII text executableBourne-Again shell script, ASCII text executablePOSIX shell script, UTF-8 Unicode text executableELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=3b43b28bd7ccccd54dde67bd3e50efa06e32b885, for GNU/Linux 3.7.0, strippedPOSIX shell script, ASCII text executable, with very long linesBourne-Again shell script, UTF-8 Unicode text executablePOSIX shell script, ISO-8859 text executablePython script, UTF-8 Unicode text executableBourne-Again shell script, ASCII text executable, with very long linesELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=50f5e142d2df10f2b4467766f16608d4dded895f, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=dbe1ff0af492240034d11b92a3e904c477e745d4, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=d5c956ad0868ac6cf7b23789bc86b30a23d3e53c, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=ea6d3d3bd856641ce014b862631bce02ba44460e, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=2c1da59102988b01d3b3266040c1aa96e663270e, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=249df6af668a2c540a1236da890d67681de0a11b, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=68cd39962a3e5c080bfb618a328bbb360502d15f, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=c3fad3abed0872a40cc84b817b1275bfd238e17e, for GNU/Linux 3.7.0, strippedtroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)troff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)pkgconfig fileXML 1.0 document, ASCII text  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~RRRRRRRRRRRRRR RRR RRR R RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR RRR R R R RRR R R R RRR R R R RR RRR R R RRR RR R R RR RR R RRR RR RRR R R RR RRR R PRRZn &utf-832c2c5b88f37542aaa49e11809df86a8782ac089764ba9d0eebdaa92a4627e50?p7zXZ !t/h]"k%tUIj?0@bxRc ոnNk=l22WJi\!=K\ɶ(Rm1?YM͂3Cq!/j<$BJ\!iOȜ"FS+S=*c#PŇv? Ong=)SFZQF# "ų~t4[~lEEutV=Ars@Rs aQ-JPh3쨵YϜ!9V`iřހ^j\X& {T^=6kM qG@HE +e?0Nk`KMf K?5Q} 2U炧bgpyM__nd1P׽g%֪IF#87~6 hMŅ=[DEV eVDϗ'p$6sg)( 7RF68v[d꿤|A코j [zoca-wkPj=#!tEp]w%$p"I%sp_!94p &3*'̶S`Wm*vI\<۩G,^^I0__ŭNaĜ.1lD&8͘O>j֝1IG&s=7'/yk5#>S >!2rVx&Ofc(p%8DŽ΀HmL<Ёɯ:Z<7i3Fm] Z|sˮ9(o#\ g:?PdK;yՐ$ {syTrViyכmJxa*]"ލUת U˜; iMYK()vXNCbw>Q?q8S 4!\4IX l4lq-WwQY!dfOWF?8h QYytm9) Tx4?ܭ]3O_G'i((17aRGB7(/- 5zpM%1)? ϱDnбq3DS2T%fA(A ^B>-TSZV@y<9„ֳI ?i0A6 )=??( cWpzDaiipeٰ'Dpcc%&q;Lٶ:M *ϛKq:8 R4#6[CW~Jig ><*R}N,ɳ(I!_ `G Wjg!`ރ\hdbWNLg+W<Ҫu;ގ jwEp.M+V7* )Kq^޼+;!C+[ҵovhV5=::r?]F14zԣl fRh ~ͥ )@$OAJ'fsEb=T"<աR0)=-i2IZU v^MLtip,T/+L-`h!3tŌPcP9pHj)6wC{Tg1,;&v{ϼ83k"m0oV%xA@ @ee &wjau78,2V/8UXC?l.oa~[ zJ>E@$=tb2Quk(pU^lnv9JE&bD(qkrpk9َd _-͌'ҟ;\M,sOy6B 5 q-5ɿxbC84!Uw)Vηci,D娆 BE1dHt9HmF8rp0vRlI[G;}QXKolvM*?!1>54w 1D0d%~R6)qn*J@>˗Np Ne?_7Oxཀ w!=/pPӓ5Ɖev?,n%\w'aRC礍1q0g%K,?St5h<'}?^'-߳ Q=;Hgͪ9_t1'+<9;)lI yydӨ7ȓ9KGBɷoB99 Εaް R1Si*SI5 ePx x ^,%'aA %L[0@lJ|ң@"e@?!>2\&Z] H]cܚ@x r\nPB14aiMJh2_ٕ޶mL23 }m$LvKQL6sG4" ʊݐ!aE5DnSW^ìGSS:NОZ!.ޔ4¦MRL8syzkBg&tG24v(ypDB*ٚA[rv1ƖPJl QkR5d5zUijPp7 :Br儡Zw"iSŋ|M>ۈ:Z}׈f9 {=MKHPGaPP)6_h&Q4<X3$ *P*J󲯡t6KCO&jiŦ gJ[gP6DgGfj8Z$i z a3Q'5AoѾBZ+%m=oyd(7&ɵl^4aO- H{i0KRcaQ)3%FPYN{r ScGϤφTX%0˷ (RE%Z'W%vHZ Nπ5Ƭ`&!̍d>FPeͶߘ .4B+U+cO+gFMm(YC5l%I_;%^I7p |yNZ $noI PEWw SU;'Fd3©6Kw4'#.Tu:{TGNUAh+J-] B5ۡDq0f"yN?%E4?`\kw`qF}*;@Wd8cD΍f~|x*^\,2h :z7l|Q A7+Ʉ{ 707(4PQzr~bw htv!Z}V)Y;\,M)Ɠ> g(w#pCC6>. CuGE"EO76H͖lO,[r^bP<A]SV#hNy儑 @`˙${XӄRvCMѦG2E9ʹn)m׆>O8 -][;yroCf:]OZ4|9Ό (ŧ,On _^V);>@{W Om5]k, i:XD-ebEMp#ƻU'Lo/cY (<<4\Do}(0tdc;d55MV5OL.#IUEBT$槼E3ZoLL|. 2ˆZ3vt^t8*,yaIo/rPrG)pGtrR!rX2~X:'>}F)1*̜ 9Z5g& 1$Cnq@apλ{8">֫U|(ƘX"L!M#C(IX W|b8cSWZ+1 xGޥPZgdEdUep5gX6(}[k:pKʏdޠ8DqעFư}zJ5CU88Nޚb͎.m#?DNOꇫkǍwemݬ/C\J194(~Yc2&v*؆Zv9vHтCzZ\-Bwꡂcxڹ JJSҵ7#3an_u;KCW8oz@Խ"TEAyLlb"U137^cPA^b_Ï1ǢKVk]_-zIvOMMh=NIڟ;~9\%fz,3<`sMa6M@Ů|6 F&iU25XuzJ ؘK.:L&8^$3d-X+6uqpKFhpW@85jHb~%9#LOd&ťPb࿄Ra ;!峄--$pK+Gׯ_s.{;Z1F;:w )$Ah61 3+/d[aPxd#\>3oƷҀVpS;9,Ω^1^ac_KD<&r+-bVo;C'#2&o]t9_E% 'J$JwyNcm[sFs⪫W9n2"*KS#R'OUlb.quLXZX*k[tlcsVd:7v0p (;U3GUtw%TnVZ^X)F.$1$V/Yn 21 T {LtA:!]tZiaXLI-E S S-IҢ@ATAs(,6Æ4c©s $E]lM;(WE5"ZBd$p$=@6 m+i0)NXLev"|H.R&T9IFª7ڳ m鼀/P t) N(1͏f H!y)>T\YoxIF|JP?>㖋\:'6췝$WA|dEj-0y_$˵V\ZqU#+B`ݐk:N:?]=}XGޚnr{:쑽&xDljȪ6iO@ M9W"bej=i~u7ic{.,=/.1Pyƒ'Hғ~->*`ԤT`m(x.bS?CYCNΐJde$]M+ޢhM!"_JU}ʫ-=;IjְO!O#kphܱ]F)FJԩy ęCQ* .%斛; $1 VtY:*q]a ׅwV H:Mv v 0G v`nh7l,T(+>xTg4c#"pBۢ=m,c2DX>ik_ N^/d`[Lt$? e_wƣ /V:@gU%^ !* u 9{^8ĻҚ}Æ~vѝbCS\XjW  ]m0fxۧ=a4_]T퍤 -h!̨'hXY0p2V=ֲ 7{HN)[` jf3ڲ}A_H ̚qAR S&Y3؇i|#{ϗUcVs}Ww1V'Qb2[sWydS?ֿ#uk+5mÌ3iH40+YA*0 H k H"dF̀cabtaUZV}N+<|U~Gq tGy&%iB@O&  Yg2|Ph`I?ء@;VE9GQD&Tbv/x:N#+|e<$XkÛtZqm ` .&ERA\}%N#j:Jc[9M(LƨS()xV zݧ6[a2ڒMeF-J,cUT(5/:a VևOAQWATPu${ yٝ$@tBen =cTK>a  =hhvG KeBLѱI\e4lX-H 7bk|~j^lJ/xOϫ8^l%O;&gW.ĨNTpׇ O7 sLܓ#)MWbeO=*NBw`r*vմwڱgj^ki@tN$ک-{O9[҃;ժ\sˈ47ky,Xs|))MRӡ:-b?z=4Q3|`rBwӔ+w3doz!(&%QخTl\<1p $,PP'2ve QlgtR$.<[gN,-s%N2-"G5C"fE %K)!V1:p,zѪc~~4PsѠyѧWW,Jcqsς:\|m$PKSп&V#^}tb28 "ϋ9+S#|p N$AJsCآl`jaļ9A-$]+>ԹۜxPi$ls:myb^\vc!pb fRmtla3]bMdy(H)ݻ I7@A嫨Z/`ޏ̡;4^O= :e7h ;q9%XYNS>I?gvbSս05]y`_Y3%vkKG7=n\ {f]bd8^5k;R3k:d(ZLht$L4R*F>*4ֺ0 {<sa?)a߳:R)&0B|R?Y{yb_Wg48SlTfs!h[gLCmA Uĩ 3S6:Heg #. MVH0Օ7tXFf~5U.qd7 } %4v"&(xjzxw-kj$H\(`_ NqO"`@H}~cR)8;9BrskUO!&аB~s=L'Y;&i2ھa,vYS,4Pϴ=LjBkViGE˼XCcvBa՛~<*L=kZ` yoN:N p>b^/걚6E/-0KIC`j5l`$ށ!y]2tD)QbGlpUR#7o 2 PN m|6\xDhշA!6ӿW{]MoPfmu[v ȭ܀7'k$o`gA#dٷF =rD $!CL]ə/ 0W꥗Wn/sQ*W[_mIhj}HΧ_?p=ڐN_[vRd(XWW)dz *:VQ>3|..n% ` R,8lGHVMiۣRZ k M}ćST/-PO|+R]cn\[b<'ZݶkmU~Q U+!y񺁩g"PGǎ\BKs(`8n}j#\w E9lZhpz|8 MƫPZ7#Mroh׎}~v+JUl k@)]qPI0 =*%^>2m²]5ejz=u4Cƫ9r9Zy[SPTAzu`k /?\G6Ȕ0VXo `Kk0#+,jՓVm1([9 ϦgOlN"37cyCWzϙ}$,%`]mhkx"}j±Juo\8P%ʲ`)z~<8oY2 ,}JX>uw| o@! [ʚ՞;s>tv p:ƖJ{~.!ooӜ^BL!uCl(B6!Y'j< y$?Sw6ÒcڷS> l9F*lh,a#X`]Z}z>!<^6,C喅zșaFZ/o 8y\Y稚 lf66fLU:^>R:+}NX[ $|b^Iv???Dx!'PW!N㳪(Eށ^ٕ'uJepeSGLZ1*_pfW,UwwYlb*tjsNI#>2dKIj[-[L a4Z+ Eus"ɻצ uKy_&b?o]5:Gۭ ^͵|GbJ)Q0g{gc$2d*o7KBӽ}/n؛uv7^#|pyo[64ݹZ*\gnivOLV'{I'/py6fEnJR\O#xmA@Xs]M-ĢFiM4Zf8Z1PKŶQɡBEIEPc3BivY꧹EV+N!dwC3Lo(pgDq?VI: o#j+ @`jtjR ^^)Et%R|t#|WkSc;r!E^Kb$UI  npޛ>`Tn_Ύ?Z>%8ȐAHIͯc8!DTu2ҰLFP>K}nǂcdFHH%p!qNRԞCt>p 0~o]iZ1c%AgpnT fMiBO*sctD98TG I{FbBlt<*K043T*@}Fw8Kߊ@?'4j ]"O!WohSuTƨəj3Y/䕈xO/ 9~L`'Yo(wah{j= 6Ey[kk |rFsjT N1%xڜ:wk[ܚST`*n'U ߲ZS6yLg =Ģ1bC@87N) foQ-+KC~87Oy10(\x*v>>0`lz?0f]OH|)M,L {i8b@ pap]8jF|WF0&~LoC~ }r!!M;/h%M:UP\}#6n6$7f)GsȚWa6,P |2}Kջ*ER3NmO;{e&/#s[. ESA 8c%hU%}$*x 1tΛ ^>Buq<7Ǫ0SD6ϹoFݶts iP h}s`l>" gvPr,ᕉ7~5i,JD"(BtNBN"?e1-`OjVG2,K5cE-%N#@mg*MTNݝ$:->ʳ!_B⊥ N7~X}ר{r _?:v!IZ%K{OGLq9 x*b|j.NeؗH "w%L_%&gbdx `Uv q-L]a>.Cfɮ'/8c`BIredl*fK'ERЮ5a^ 3q L8+3T$2.f$&e`uUƀ>S)R 5gmBB?d kDFpa^p+vټ!|֭&zU:gniYq+&R-k7:@ɨnfC1nBZ! ֦eẀf~V/T%8~(WQP4LyJӪgC |$j:rnL]-nW6k-RM'>D,;p"D?&\Aρ>8SUyZTzϙp?RYҘKƋXi$J&fv U iU?rp ޻ۜfzU-`#gp.+GЕ$:dFԴ(1hqD,SO劚׊״mn8ue/&ՈB=waJ'$͊#28F(&d9Pߏ*MFV>;.VbS\鎡o؜Ol^}7ccUN'6%Ә"\BXo¾3֖[aWдH!f =\`hP$F?dgKJݎGD8z&9}o]R3)ט!ƒX38?]̬q&顜ZIׁF%k|R5@lÚ1O :;t9 u}諞*'5d#XׅZ2_y&Fylj|x )sU p* xχF+Fb9is3oYN65 >=inghGG^&b#l ƵQhdeP-`RTq ZgQq#H6ǽl,g]`T\*T_hHcueaa: 41vjPxkJ2n变&2$}%:.-|^h/Tbv/\mh/^ m+A4 P]O+eڬaeȍ/pHޕ)$ s'3;ѵ܎䗎9T6ҦR2X[$^T'ĒIq2(?ZPd}iYء WCO1IG E6Tj8ځ[s՗uUb&.zO11M~( ZP7p =AP#@` k<@Ji 4^tT/xA PJ{䑨pbwB;1)\ۈu WA<$P@hت;Cx7N4($\@\X43 VV#dP2m\J={4v|tev!/T9o^r"2+BO`v74OP's<2 xeB^" 0g-8:ߋlc\旀 `ڢd} 4δO<;sdYwD|3IiκX@`~/SXfuk[5lṕ}l[^<,x,im'RODiBGITzs]*L0jny/gjd hi`[\XD߳ޠ"u@#xhᰡ5MbE/ l>ze'EͤxS\<SS2OEu![FhЦn|769VS蚁yg/;B ;-m冁VrjFPc&`dƁzlߢ&T?k/˾iٿ'l`Yb_(gȮ},LQ[q9u4(c kyA+@}aZ6O;xCR%(}A I4iƚYlǨfp}jR5j|V3%h?nZrσZmR[Z~hoIy}IeU,53h5ORN{IfbK[*·vBb>o :.ءū T)d(H| Qj:ODG@M4LlVL) 9B\"C#NxpzJjYg B>4b:)Oa^D4ڸDi̽^4| mY߼SC~%S˕Iq]z6\Z?ɈH] r֍+atw0WKūjUmsϕ+'r\.h[? UKE u &Ƒo> jKSeD1>tj1|UHXMyTbzsU8]R-5ޜ90p[Ъ@AY, <3 Kk+ı XO:Gr2[CMr3卹l.)|~! e" $ Ggi,c7BgTuzbZjjv_K/^0v.^S^L[8qcNBjT}:$ %/&gFMn3{z͒W\~ݎ͡U -rc!Z]Npӎr(_ZQ34mn[PtRDž>-;=5ۉu>(^փƸ #Ikv-Qd%+ـ $\ÂVԵL ]IZPmX򡃃?! {̯9b1-^Hތ#j"cT7_։%,3kt͠XދԸ慼}^Qul.%5<?W, SgKm!OizW |`FuT-O,1?NhŸ;QUJQ,&$jLX6\BvM] }cr|g׏.G+rцY,zf٦1Դk]@5W1=\yڃ Rm:7Xg ܯbzK:ap=ۅJpJ2zߘuGJ]1c"J^Nװ{Z=8nE;SfdeGeg + =-k (̞0[9ǭ eBeI@1:Ow!KH*P>2@-تΓ?Mr #n3԰OZ-䉍:1bHEm¤7As1At RIɐ\\KEɼSZƨ>$SLpZV'տ;Xe룢*i`>ĨK jN9J!ע\ȝ? ̉դCW<#tɽ&WTgrMK^mL2DR U$v/MyO+¸w< -7uHk%QPt (߇˗ǽ"뾛G_`6M% 'N ?p" ]"R<-w&bP:ီ\]?:_nP)=G{(-]ʉ餧( ;@n圦;4dtklpenO_*+ axz%> O3ϓzucV0)E=]83t zD@>LVF pfn1j{s<,Y#il0ߨBskHkh$S(}rB2l>Qd);< )"E+xTnp6tio!/E\kǭEdd,|`ϗi6BWE#тPllaˢk] C1aɾUFz1>Ѐ2CmeNU;}e<~T-ydvoHvm@eN: }c_tqVՉCr2"+sO*]•v := "&1^F!=f$L&5ݸbwYK\9= @_0̏qm0[rI+/"x|jN$"tbMaճ䶳Ƚϵ&>w-$/8o!q=ƒ#%n8e*Ɩ<)U6F9dDcP1q9yrfU(0SI:/|H X:]>V Zn'p.V."(iPhGmf&u)D8Y˭5r7>,% oTnb zӀ0d4.+"ape(C% h,1ע=%_蕒@awd͟l]၆-&%\"_zy;T#%Kr|߼΃hJOlspۜDuғ|X)yĴss 2 6&og}tns FгClBHW+rdp`S6Wٻt / {9Ix?ǀhOOYȲnAeJQ)n8m/Ýv sSUrOs @#՜͑jΔ 2O: [_SwI\Zplb s;g&L4Y)[1d$8<䴭2cF}Ooy,}q8̫ru;VZ*CиS{2tv`bVP HaG꒱a6bIێ嘭[!`4Bqӗq BIo-Ko0a:ju JR°394" ܝβq'-!C)m\)փ"/J71/X#]#WyV3$x6Fƅ@<4*sS-N"36G%2: z jH@ۅ<荴A-1m-gJtXVNO5LZ ^I0O CZr^ŝl5^v^d (V8[Tݺ/ uЇ/R<Ϧl]҄R {a(k.!3sǤN$]v,jǤ&yb+yΧF'UF\I+nUxB>nX_=y,!4d9+)hF?w'z+e^z<~%b! Žisɱ a^.T$t韼b.+ޕ|FX&DRPnrc7"{2>t&&/Ft S=IyػBSR&VYS)qH)sR^pD8ޝҢG 0<~~xWѓjݟW%AȺ~L.-Cb"{v@{ IϐrWuݬG]<~6X1*# leAN,mQHMګ(V1 )s_`򗁗"W> ާGT9Y,.g@8./ke.Ѡ"浠ddX+"\p, W2T1ﳿ棫UB@k/q [̖F TsNk Yhd|_VCKrdG\&&5mpPGR6 uD MYjgJxxgcqg l |V@dzty_?|؄BG֩{HhQDVst>aB#_ lQɯ:u듋b@H+ ݭl !Պ2}xRFgxAVњX]ʑS=xEP3I#wyE-9|ߗNgs,y|ASO։cFZf(g.T>Qop2o_l19'cD|;O8VH o M2>*Ꞁ+n'ִIԬq B~m<2MH&A{k(V g~ sA*3V]kc9 ?S:s 2\EױflDa ?(Q.&_-mW5Uwqk0ٙzj.ш>3i%6Ҳ`4wcr^lv~bfqìkhND3kd;#-F%6TN}>BbiO1د¥ql|HjCo  $8wLOq {%ҴYDă15WZ9,qQM\pt6~yѴz3ŀDSy cH_Q$H 5 "Fc H,d)kF;]g$ߨ0#"\!6QOt dSC%!]9rgZԇ6Ϡ͚Vk7ڬgޞ;*~$\ʱ9ClTuL_Xe8˱$͈ÿu:jRsFhB)ga:Zf7e%@ӍǬ6Ux_m>!gg>6$R$4f2SQp @Vqء8%5 ȦCOSiSf A F$ASii$YfkMSشB";Yh!pޛYj >]OSʳT1b9Bѧ N?p~uOZFU]ռc Z5TYFPq>-:w ;v&ӯ*L=ձ R&΄ Uay!M{j q.J{tC9EK#x0P*mwgjF٭fjK${=Vs>{ҌF ʾ=OHZQ;|"6کAk]EKn=5зir'87Kb5]G! Y&K}^<7Ez5?+[(8n֏W"<`^$W}9[PzfT(E ?;IܲXA8ڿ&5J2zbɨcP ^ v@`5;N+0"rgp8m~&iPC:*9wwG iCU|ۯ}!{(UB:]vrvtёZKxŞIy(ן ` B?boߖ@2+cN<>nӶ0i JG;-v3Aw JF-]9嬓RT{gzMfD @v2~ͼ.; O$9)2gY0vI(( ʽbwOFS%SHavdՊDBrA_vnN</:Muݤy|O}_:fGq69})D*#龺%#*E\&0@^| YZ 7~Ed (gz)uL3ӝAց;%CuHgr-F̜(@GwZBxy Ȭt"A\7M#bDt؍3a&<41K\rH[ >%.p0>@7Wjɘ"Z'%i4;Ak Nn|{' m%u+O< Ğ_`zǔ5S5&J⭚ʯH<\'|\ ݖr|Pk-z;X[~m[FH DJ, :4DwqC1h?'Oa {D0=QQ+O8ecf7`lt#.20˪mʪ!{m/ Pgja.ad񓣔kaY>~ܢ9xrU!=8NQNmAb(4hS/\4'PTg'EF甡[Z`̋f9as,`Mn6Z T=Na]5!* ¡ÇHaT^" ۱\j_Ayh 5끲"T@nlU?ku#d@Úu\(]b~rPYC@Q\k=(cO݅{ߛXUܧp -aG1x+r7(dV:O's +Ӆ'f ӂEO/nhP {J@}#D6\)C@U Ӄ!rl=usN\ۮXhۡ*] Yx5i 1ԮVH6u!}?RK"9ew]U~ܕ|έJm~0$BMH1/\NE7aOSt1wb-TGrԥ|#j5qfe$ۡ a|6icK}Ez2=$/?%N&ؗXM!,񯮛mA_D(AfA\^^MZ3G&Vc+P bM[hV Ja%4_r&,Z!p<1uo㽒zfh3L'h_{ct{| f)P2} ه[UqFH" x 1d-͍Y~f.'RW`r?AC{b .]dq:Psԃ= J("=QP䘭)@94ni [R Zo^K0>A{ I'pnA +R:Ʀ H|_u.t;y@T+#engx(N`%1(84w)X(H&[0W8b82~B1{nb%rj=n-@e53VHyع[ !U[6 38<A-YM@]Q5~޿IHtEe!+4N$"UMYh^N}H-?%L?^EA58Yn ʫwqҭ@wҸ\ ,᧩%qNAw>N6熊Oyb%IỊ(j9I#'XZ6 _VuqoÉ^-FDm^s}V[͆{A+)sF6BYB@ҦU pqEuYfZ*,ǀTs8{l  AKR*} G3j:Wץ @gA׳ICkcZTr7~%]7r?`Qzr"`gVd#K  (!H9"|ޟKcĮsnŔ,|LBp]%5Q2H:ޅvǦGevx^6R4s=2Lv,)7T7$N@^1,u[ %$,}se>-<6v13G|翔sq^٫ m)Lo֠`o\;xfǒ"qBak x(X(qa>N@e 3%?F7mᣌOqk IkHV`HH` ݢkCFt‘ͅgjJgKNqf3]S$DڎL>NJ{CΡRO!s P,rIb=D gؤd/+W20.!ʽU-*i4v/X_6PON[C ٔA˥Vf:@ں㊉D'W2҆;A/p,WҕHUkv3PE.^餺8zɀJTeL}F5 dͫ[# JFZTqHQb8v>!͋TPt򩕧HHp;щF[ucsdVpFx^Ez# i"xj Q:?Rzhʅ{Vy53̴0؁5@6g6ӑװu7-ɍ88yLc;)g4&cC^Ь(gR>.8Z3 2Y3>^1'&?.c-$=>uW=6T_f HSROlEPr mw0T<9-o)==pԢcnUWeO^\% s r苍fQ/:^D~)4AA7`o|.OUA@(ph >a*S` /x\wd}:a*vAA-2v=}A9N`|/U{Z|{OV6SM%(w$4zV^_&'e*I5L"!(ۙ4jL`.6ʷ&۱OÇ"H<ȫi˂xQ H<@;):xO-1K`[;E,э) *ZU8Nm&+ |"s_(Ø31?]&S3Ϝ XZDz 8P66řՍnP3Ph]r$(29XQhL3H|Nmnt?EO[ u(dÇXiբ _JV߀-p)pHl7ŋd~jc qrYx`7dȆ&3qu JYlU=, Y[}_/npΟf j%-> yFuL^S{ -ر.|u8D= 2OFa[DUctX0<񃍘&U d0;ߓs~$ 'ߐ8QݺsЁa=0~0i⯧fMӰye%6 :}3-:w4.xI"]/z#ǢΗ<Ľ6Tvד|(=lD (=Ux|g'k .2[?hMIr!um(A$V6u*wV}wHU,M h`@TYt7D'M~ 8NP ,لґzm6E,ym תj#l &F}`\h Z$U|iJ? NGG7yhtFbN!X罷eB@2@ MqaVe['ٔP2ÍDty|Rϳm&^פS5j^ΊkSO"e(B< @$Iq6Wj)[VLGXնojz=2%n7޾+ny9"F\ecMF+}}«B0<Ѕ(TkW_NM_7 .#܄?KV^fB=:  THJN.<"c9>2 _ a+4SsdۗI NF襾9b\nW։%n {k[i{<:rA 6l"|.-}ge!V@|d-,hQG4`wff_En%9'Y(:IA*gsS8+PÑnYf߂EE0m|cM 'wNCI.6|&=b~%eVF$Aܙ j]yG}`ۿ# 7E^4U٨y=Th&{CK=E*c |A0`7}qOBٶ}f;J $9:~W:(P<\W%eoI,*#PV1Վ?KLѼN{H͍Gj'#P7@)\.*73JJӄo9&rCNadvl8IYVnnaܠpB^zEcRT@p5ya7(8Voˬ>}` ~:tA>*6مGp(w18?qMPKa i-ל LU[i \H "w6!:*.M4Q DWYwMnK{fE7( ]_oL37r$bd"ܼR3"v~LIeʛ*dS%i2![I;`s}nv~;Gfٺ4=kv㴹J}z Qk_XX8slU{M@>$ܷls')@HsR OZ䥳Ai6.+XYnB@ac;/5ygpJgqzɶ=yB 6$G3x(8s#}M:p\Vz,VUqfq6Y Ux z,Tb -&9~.A) T[jQ}AeGp~|PJ(ݯ>CYbj,2S+ E斁q/\=nMmxAqک̚l[,D4a6I ;#kWwzl.ivhu\wJAjv6DGOVS˿2Iۯ_"Oc/_;QǪg{e 4c_+w9OQtBX 8tӮ{ ̅=wex*/h5S970CYgl4EY¶j Fɍ@%џhHoaz-q_W"%xjD]qGa 9/>Z!`!tZМ3 N9ݳ8[~ZះCqr-vW"IR*].}vsh?d\ USW.WZS+6۟% J/ j\p&X ˋ`D>;a'6p3܆za;XF_ & W~zAp ƱX#|R}$(=K!)f}1'V4o_GԖɡ,l37vlꢨr82G3met9 .~ҙϐȀntu=+-S4kRȔ B \Y1A/b",[He%%Ř?25=Mqו] QB.+SOuc?e;< IϋP9\o1k u%lEӔiFU":5P cuB$mbr/;V+Hu?ި7QU,(wc5WEw}Dge7е}OC`RD9W$h}QS)75mjk$&e= L F<5h5: "jZPdyW'VZC]0'ꋍiI+gSѽa]BdJ:bH՚=>qq7iZrШr}ݴg:PԒhb[ЉW2>񽔽Z.EɬNQX cԦR~:G˿o4kfЬq{(p$ <%%]񠹤m$c6T)d^ W&|nhp<ƘǭfncPlߍAb>vM)Tz-vK#0^^tŇRjk{%v0 tՁ 2WKN-7דkSqqĘl%҈SM# سf\Y//R)m.T~Z+/1uז^iN8y]qHB_}[Ny/1|pZ?-faX)a"ޚ 9hnp}5{|)8=4I⾮4&«1":.A4YhC>5?4ӆf]r} O(Y j rF$sdq7YH)֝+G c/93 Ê#^Xi"98g?TD}g26vs't҂q 'xnP(]'1~"ȗnYc:_%qH|Pc9wɴ (mZyV*6~|(W$z ͡7%e`㳟dO9eߛAIyRC\O)cp;U_밝Ydž؂m4%D9H:.EWέ0xkh ϵ-@dC:ANg|N~KN;YxøzU`3QѦ 0]jFpW ;gR剋y6ed2FWC4x(%@ULf-!,mjАd9ȪA ֪˱ t2"Uc^}SaNd縫"\&^0`Ufj!;U'jR TPx9MP᨟C)r۰5{ (:n,0[2DAKШ1tQ#N/sMz.L}>$ujR=FDh3o aKk7yɿo([MVlDxܬ ^awhVǔ &esB@ƂYLMn6y0tFet&Ys4jnQZK(׉2 ^O и7>Xex͜ߍ?ʷߪbŕ+LGMY47 X}AԌq^Gx( ]klʥ>f%Y0_2@-?wyX_b_*ݐK1n߭ʬRKoI}ig-߽_R^ Q[AY}?.pz!%BbE FRYy3P^uS@B!e&o%,J$a?n'[2n7[k_~J?e\iz ЁRE.Y"P /q2&>̼2NsJ1ܱtARԑ'scIq!zT>W^)  ;0h" WxXBO{8mp0iB˯ɓ2Bp4E& ^/Ҝ_?]| &`Ǥ:Ӹv/n.8o B7E>. ߐKTlt":{UP,ռAb$XtόA59G8aEk񝳬1cw*̞ύ)'uᮇb㑖WMm=) ݞ/X ((P"Bx[i"DlH߻Alv13IK2 nx[]TMǦpxatgp<J^ ~k.)VK01o;}sR Qu?_Y(ccs_em%$Ao٭sNo}mNF>yE2AOf3vDG?C9#"Qb?YȞ$KrbTn/ U ;9VZ۬NBGgs}b`¥eT lz[:cc=^Ki?J&%X} ̧Gsܻ:F>A _Gn'? po{fs# $ӨKwp%2SsE\h:&$ auzڅP/w%#4rw$VNoL V| Qy8U߇ x!; NCx^O"7L4㋌c|1r#|L *N$Mu qǵ7OҢu*9u ~"r'2]hP%$XvPr^ʵ<{^ OPK`GhmM|i1gyTERˇ/CgZbA_$n NfHo,H YM2 zCnȈ:7Cz&P5 I#SE*)xHg!ZK.b[SG: /@֒|_LZsz @ú] Z=F\qO[OI9enA9,}r\9͹dU}n"z>0uJ8& "hDCgKw kuT _fp{#@sPi!I.,U Pq6> !qpgGIĻ0${q: !F/¢\w4H: uV~}cQ5hLfFtX?wtB%pAscwBcX:0Yk agSg[,]%FO'dtTY5\֨^qךH` j[dEm/}`ӻ*}.ntZOb8L^LMwzBE E~YܪVȔ^N y,!C8^8Jr?[.-¾N`0ݔ̈{>Y?Gz;C 23d1&JB^KCapoxKͯ0_B٥kU`Ւ kȏްg3C6KH2lwKEU i9ؔʞB[Exd`(+{ğy(WdpJAYVJ"^ۻ5y+}_C8 :j un]080j`$g8ikpp_4⒙N?k0&xyKylL7:K]8 ;ɮRKRb~UhK$"C|n.3+Tk[?Nk5㕦65T&CyV~=B}i 5j6#2xW>t}('L#DK߾=9IWI:'uP!#sHw7 S9Ž;F݋ N]; ?OTT :Y{? ZÒQJx/?C/0!С5dRg-؁W#Y;twp!,l+$*HM V%[#E+I]:${?OѿQoG;LBaǙZגuFҨ֓߷ 3lsgڐGk; W&RxS1$4" ,Lj'ua"e0"(8BGK?![Ysʧ:%>T"7"llffcK?lk&qs_kH?b ?#Hh_XJzqr;{cLNr=YwZe?>«Asp^;@o{!i#1~x0،'3{`b0Y!J)d,niqfYMoQ8%]:(:}OhGkFbmc~gěW)h[$$3/~a^=NH;1:wM^ߏzO8y=&V_)lpq;,JB\ 5CެS n5h%]*̞⥩BKɋh׃#Y| O(da#֤YoD P)l1x'56ͣQXdl;Me;J'Fq[z"]2L&1 R |H`fʯ*pE؝urb;(Nq]7˻1<v+T٢6ܡ}bSޠ,3=Q8641öB|zysQNsg|GmS5% ,bZSE_wsVh+8X\b5/OQHЩWK {go!.@H֚ ʘo!-?.:^ԭL.&pRGL풇rrKIW_ƶ5#s#'(a͌R~aipm*g"QW~ķ.C~"vwgcM/-V6f4O?zbKeQ (kM@茆>|YaGA66^0Q9rZK˝5e+hM|9s8EG$q}RԞ(EX cB8vi TR'[892`^{2/1%T 43wW|e,jOgs U B?"6QnjS`8*}E!O޲p &`ݒ>mNgVJU^#G.ыf)dl5FVںsiYiɋ N_@\S ..@.V %hr_ V4P_%%V'H?PJEOVej))W kV 'ߏa1R=4X0XT!)M_vgS"Ķ < gB&sl3;X~Ȍnޱ't;1Ŏ8Ez$@ 8@/RsL.+ _ 65+lDR,4Zf4QE )6OTK8 FG 0 |VU4 sU"kioS W46|)߱/4esc#/Œ-B= hinK J$ޠܼ7qE&k9J9Gv2RR逝Ӟ`zKs|7b?)tcPt=i7D>F 6a-82 @.1;Qo{h6#J{_PNLQD&Yڇ>LK |GJDWNP>@I0n־H2t͘fNJg]߇-zݾDHkH?0z"[CҪxA $&Dn,t?0z{"i6*VNB4*P^3*Q沛LaP(=nj4ӹ'e.krnMZ4w_w;|!Np-Gf 77[ga|Dƒ;kG2^K% OpV?tߦEef ~@}3":'[G !%E9BTAK`i5Bۯ"%')?Ch7BN͝Pk5Ew(Fk;Ge%5#+6If]\Y{& |v'IPKXvZ AKaSq5Piөte}p7̛+ k{v8ᲈ8#!`$jEohBԫ*$*<4ڛFWXXgy;&% ɪ5SJ&#Ɛj8BN[lK:j5]df2RM?AM.[e,'eN)cvhCRm롥[ o+Ddl̀ߧ^"X' b=`?nyؔԉXu9̝Jх|anp3# fO'\$fU$T`̂9 SkM3~I>c 3QdbÃ͉iYiߎi{Բ s1 S{fI*;6jpB PPԴ^ Vs6BNJA`0(aN%MRCB J?zUfUC(λ: ivx{;mC}ψy壮'0(<2;Uo"iq"}x<ߑ2 ɭ;bṳ kd%!L`2݄̆t/'|06욟70%rn:I|^JFϊޏ)PB6{W.W!O_-Q8AlGTRAuajŲG+yA^2sۧr,3OF=8D?d| K5F^oJWug[H5ug uj$mZ6]YU*JXrwϓrz 4g)  a,qa1$1[%ta+/ S,uTǫd)eP4Y)4w~*Fo eVt|ŷl/2J7 ek * MNl md͂eD;xX֧;W/q^X_j GЭ񢁼|МM%pX8)_9CˋiV(b%M&"(n:CTVB;V9Z 8jNjާ[2 [܄R;A=h2ucZM|=ЦQҒzKɁm0Yooū/)זo~Rj03'H&i<@15,u46Zt()0A1#Z;c)o0gvornAH\#4!OrH8ŨvۦXtyN@' g^/㤭{8@#XBM:M /6u!6Rjx/& V7BY#2-qs߀J޺;MAu%|vlS|_!`i(9:Rq+jTcUCn9 gO޻[:^h43x.̆Aw&8HX p-yJQHef Qz8 3gtb:\`j3zzZЩWtPYKuW%&T)(ʜ[FƷPڷ\ѰD7:q%཰ľ3@lH{>E'J>͔PZr)ϛe(9_UcI 22([7џjnP$ A/ZSZ!50}6t#GYI S̔@bƍO>N, 2hQ5*~(>ȷB!8o׎n?Y3ј9WAo,6KD8=S/ijrtJUCli&} HXsy%DoZQ&BY2`\!f`MM3܈is'mcoV]{n*$&ʐag `{!"%40i+3 _Ý%B`4j3,˅rc#>fzWYkGbp}_ٓknUR>x/,;=(IJJ^"NJBbd +|j}4lkk X Dy-(E*iIe7%2ͽḓ$ti>m͔(OJ0ѯ4a B o=\b!!wM֖ 0/.~E`»*F*?RS@+G3xEc"kkSx1WV揯)$ïre{ʞB\g0#;a[c25O}dAӢŨ)@mW+\I=T0GG|Jf.PFp{E@ڥ@) 2axMz7܇O䈹u5:Ճzܤ%W86wv-[/\7a#/h'{KrW~7p9JE0/h P$4  wpCUM#tװjs ߵ2(T= Xet*KH ލuHġ?Nh2sJ),\Dq[EȟU4(">K0rj OiRrfmIo@n4_Y +7JfZPSYk=Δhb 3/}m2RG 6QAqFOVM@t6~uØh=BCq IAfߴ%tW>t:.ysL5B)UiDYLfzRg%:wx6#(vFZ<%̂z'#m0Tӝ~͆F˭ΫBUC=_OWwSBqW㛺Q&~+@ =exDFmX/qD=cjNb@zu, ۔9N= r UlPv}+3/tm@%vwrh-o{V".j: +7ѳ(SN}luնwX_j_3ִ?\3?lFLjl,֦4YD w ʡ#``1_pGe{`@SxѽĴ}+ m1Xc:8`DM-9^|K7ɠ?eE5bЍ%,wȄ,ow뎹ib-\sD/Dfb<} ֵ3W's9&9s3ִlq^] 9kBl. UM_ڭpJE-?Wk@X-N1' H5sOOFOQ )Y!Kh(*JhAei ȸwojZ=RWΙe%= ~Ud֫DOuN3w"?2ѡHQ*usɊs&Mۜm|iO2|$DY0٘Xn@7/ن#Iޮ C=/- g5~LfĊd4WT/d=_#7=T6j]cjk U8T A"N79ȸf20d9Jn(_H,#~L<PN37o ",pZ._ym@HK 䂳ߪf|oQgho&-NskԂqXu%~G_T4LB>-b'ո$AᆭmHS}?jwaIku~UR:'}fw!lG@6r#fg/-Ŝɞhh0f;6N>CJSJߘ*ܽrۜP|(~@Ġ |-Yi+2Ӗ$5Ÿ=WXL˓4D`-kh3ל=jU]ZҚ@C|g$ UzeIg;Y~'p󟤙x2Tp(lU"g{iP= Jʸ"Y'\!ōyn^߉`G12O>$"À|7c$e:Ǵ-%Ȳ=#m(x\U3 z2`9 dd9ӷ;ZHLL%چ5**ƞf;<)~[ ?C|_8`);j%PL^!\ITeKegC)-N㳡*(xчްUOhNy`Q~{Tˏrmgբהg 3;"sd׭h& _DgUo4erlڥO/DlB5y9Ozw^k"hbhoY4-Gz|o@u+y8H>ͯ$j %7TM|v쾽 4bS3D$g>Zi0EpFֈ,[SK$ڀlxMo{ߤ܃J7 eC5E =`C<00Bw fOk_PHЪd$rIܿ_Jjx^!l"jXTw:XPL!R`:=f∲&=/L?- '26T ܘ]$?Q'5$[ϝ@^l¼bCh WpDWB,x@HOˉJ=5`x-*lDM1m z.&+$gJ*pH0}-j.ԆK)Ayt{^>Z*X!L#9;7wצ&Y d^E# 2j9r;\-Dvi*jQa ǃЅxU]ch^MH(&d֮4^i_I^)wWutTå gCx€Wc }ȳjM;{Z$U8..”'z7Is7Bߎr, Jbk_"ɤ?5 &JSM=NW2ƵF#YlgsvO;=x.f HKOXO ]Ҟ|f K9<@+~ '}.5>WV|3n},4w>t}}W_N(. 摥ͦX?# sVi=HVo ~09jkyG]*d VNq\I>'ܐIG怼 xʀ1Ok-6NN$1kIz:27*>"9(O"GJrb0HF`&?؀I;T$$bAh3В&&/n^y.㳂`pU XFC]٭,V_ ӯ.fT‚(Oy)zҼ%"a:C*r#&fk%ji PdW"|f[hFۻC|ph#Zn膜ͺR,e26l6$@M2NruvqqDQv:eJnj QJJ.tg ucH.W舲b$3n9eUbIEzK0syۏ .{ZFR;2xq>16)z{"Łbb+\z“8㋾?cݦCRvMKivPJ;z15^c?|ڎ`MTdF_̌S4aػ*n?i["Y^P}΁'.Kwx@(m$}W_\siiWhʓ[ԒITx=âp&ԆiOЃw8lS-@w゚>}Jo#dːDeKuWgQ.xNp8@c,}*uɾN]R"{'Z a"u~ | آ oI?\H66M܃U^ho0 I+#NVgvU% *¸_.Ƃ2c9,̳SrTdv{#ʊD-yp+)NJm=OlFrZj7O2qD|usQEIE]ut6w)=q^$ZAs1yqӸ/{;7(lG ׃&D^͉Vo?I0"-jV2Yba )j+O|8v ɃH$& YfRR*eJn|F>]w5 N>Q!\}KX0,5C YU?\-yc~vb.5;u[tմ8g!#[Y6`N%Z ſ @QW'kqW Qm]q>y9ݗumۙ)Rp؞r{H r<*V,I!ff+L;0&PCz +k @BO4V5*mr3evF~*rbE, ԩ" ]v `G?$EdUñc⼺z]Fk"@[ Rm[Ab P.'xI b ~Jp(-,:{`hؓELU\[ { fGrF (OY ~|=AN>u4x!DwJ3$F413fiv#/2OIcȼJ/b+7[,y4+°*f pűO:*C`:Pw5BqMppۃ;|is9Ki $n IN%pZ= 5l{c\'oi&Uts C FPD#uy$Ba8;Xбg#R9@[wHtxҴIEݺ/ k8j8NVXL{O"YƆ k7 oo'/mPrm*RiY/S5{8f2<(v33;Ÿ u3L&ޮ_v>J7"Vr T1)8ԯiBO_BkB{֢Ɏluh8v-a#,ry֧%~-2L\Xz#=r3=B@! סOÚ ){w6ZؗKB`aO\} Wcr#5%r-6??V=ܑ-4{lAV<0;hI'+"teÄ) +w',zf,nR DmOHu+vY7 UIyq9 MHs+j%H}}݉NӼ<nϡ* Xb̰ծc^*[  Yej"YHKs5iN;,rΉ43|%}@_qmF>.A?_1XG׌^<RN߽`E*[PN7kM8-㊘X>Cs3=xty=FOh\m ՙ̨T>8vvR_|XJzJAdEW0 &U JdeBZX_hYMKsz|z*XFXJdgH#㰡˾:n8ȲnqS2:ե'݋!I k0ٌkjacہܐ&a,Pxeܠm;x^#''b+$}뀩0l?!Tk:F|R$Q- v g|zYq&C֝os]H8p .[ ƦpM\ ƭi |pz-.mO-!|^_Pf[tI8/6o j/ %QBhY=ϼ9-PBDmnd" aRm3`2 B )ïܸs-: ;CC4SD+""lʚUmj8J[aSx rAw4&NmI׹''MLlev;) /O(2]V0pO$&ɦ\3B'1NxOT7( -Pɇ.GW2E덾"a8⺰5DŽySyȫVv$ ,%K[)3f#+fpS|`h^. d5a1]_Mm;ceWwpgy]%R,u=q8lpL6!9[~R$"HUY8gq)K+S6U7oc7)yUr:6qfv,0193gZ =VmbAƏ+y@D.S?ⷅ~"h27NPݓVƖ]ڹXy@Pmd'TR`3xVklVgVȏF!cIQ/<5>\'8$w_)X.BUhѕoEY)zʄHj:a݅|:1T]Ep ^ V!HgXx;# w'%W+(^(V!)E%mVRIb拰,»OFTõe}>As`y5g["I U*bGlov^⵻6s8qͿ䛱CE$iQ|fIځFÁg!LW=F#2}-/̈́a s 6wOV5Yܣ?:e]DW=\ +`2 79HOAg>x<@ DM'`9Wo,yI_TJąVW>u|`lsu k-ٓ|Ltd->H6rr3-( fUq]]^(l_vȰPGcg+\+B1s!ϧcBpDdDVg3Ưb]o"kQ2}rQFT@)? c*tXd= |ɿ9 ZHUZ~jOyX$?OnW)PnWP>yS8* Zپ6->@}6? _+h1`[4g&3k7j`4csDG!F<L`9N җR@sZSeDKY6 -|Y΁M&Êj8?N#;}Lj I-qjjtqL(<%WM8 UAo5b9^Zyb" v]3f{?G}`1$u}BnVRpffKnqvͧ&vѽ-|wS$E*E~4cPPόQ 9o xېd{._[A 2j٩qZTxgA<` QJhE}U|roVw˝}@"Ą[<ÖOj@ ?TCd|˴-U!}> HĮ3Ca[%- ۦbKtހ*  )00#8/D$(vPk۽>. _]mUCcLohX\yAoXy.zcbj;,)ѧ, Ԗc 3Ya2:_Pd/S3<.VXZ'o Zwԟ 3eX<=ZLIcq.j 73&/0At˚aʰ_A*5mTݴh@UI,zӭQyI"#p%[$űYGrW}8VҵTVtEe@/1ℯxSɔ_ RP*ȭj̢D] bhJZ9ɖBb;M.lܦ1_`%tKvJd,cH;^zyyk0[ r'TS3]C}b8J=49V V&"ռ0 }r <)MqTss!m%vq~ĥޯWGeziȞ7sTyQػ=YCl'郻7h 3w:Zw7;flO˴|pzOCԗrmī#pڡC[GsytTYUZ~;{݉ ~צ{tޫ.%ޱi&jqسWS&(3lm+CTfܒ='.RK0C [?~31W-=nt"]fƭ6Z[/p:zV[S[G [j#XsE97yx^qj`PlȞ1_ +knܩlU`f]U*2*G,]XY'ҥ܎ lna~uA-dtx$\xG{SLn&\YC/aܲmb\2,lP#+mQ$!mby|Cܾ((3cif!Lbc_*',1"ܿW&$FI9X#Ÿ'/e@0n@rV1s`8N7(/b]-apҌ.f@p׳z>xO*0P(fOZ,.\Pi(ݨzdpDU\dGü+1qf]lRe@ܱvY{h2A=myB̛rzc6cR z;8ZIωڐȀiAnD/o4F@RuEԅ {Μ˶<V."iG.eK8nslerQ:w9`oh!#WhgUB!ϳg;lBɅ/F) 5IVSɥ넧J464@A kʹ7K MX6Ajn0,R[+Q9I l!cҧx2Ϩ  9c9~ڟ'KƟOAтaDd\=wi;|vd˜ېt[ Ev\ri!Ngmc7^rjţkRG Hr|(> o?{Y lЇPVCBZg ܚ }%JF|' [#cTT_q6Uhjh{Zu:9X26qPv[P-k`M9$&-5sP\,@Иۥ<-P\puOBT|<km*HG/ԅ%[\fk۩oL ]) Ovp>VQSTnc?X:Xs\+5>[:LZe ?% zc>3#Ö,>뒜2f q܈'[:Tp9VFpPw^kުgs87Ք!B6YqOf%5IWpZ uG yծG_$~c/:'cw>;RrLP|CD;a0,wމ]6HaƉPbv >/X`$=ϛ611h _(Vm;X]zTJOێjPn ٌqAD2g@`1I۟Kُa` ᱒$&g_$Hݙ鄈loVOtT! yT_VVwu7n:\ D_E[Js} 4Hfd'S*$դ5 Ä~iG3N)WH(S{l9dx3>+SIUyz?6;};؜4Gߨg`ϵq ƴFy32AJ(YB'6F9l`r9rbLrCz$=*<27 -(L7c&˴üD㰲;qb pBBw5ujQmWCG9q* 5IzC *"-Ԫ{ Rx(ڂ9qN:?XFĀVCHs %LeҜ82i9C$kSt #Rn9$Xf6x и$T߾95oy4f/īwzX($ByQ; r/>'y/pvt=/Ҧ'q˱ֲŗ=k49Ǽ< g2憪H \g9dyHf*e^'E)HZh=7'ؚdD eV~ADn"IJ5I`u+=k@wY8"5xCrUw :5Î?_Vqg%˗Yu+Bn4H} 6+\ |֚ o$,ß9n gB<g67c,0]3LO@\To ұ:s,5nָ>'+CTȏrEj [,H$B'?0g9K7~3ѳpED+B=x L/:!}IS=;˒:b$mbzG9E.0MZZ (pdhy6)y W†ז(m A. 2QEV"}znKÁoljBOvց+jY@7,lY3[>dXWlu風Q(~T\#D3n ~c˽3hye6prIJN'|/=xsX>VT.˓/RgGG8L/n}(bD88Rcz<gyz$2sJ[-+qa x~vXj}gLR-R 4ww9냃܉bMIt@#ZCdGIOWMަN`rgV΋___r.%wN 7 T= 5tō^s)Bxs ;CM9SS:K.9F90$+ށ~T>Nɽsl?aar^GTi1[Cd^JqF ^j%,$Q.3ŃXCØ_ NHMAs CFrlfW}|F2WΜCb]Gv`tZh}I^j ƺ ĦKz LU{%z]-ˏ8C1ȋ>} Rmm+-M~Q}|Ua+K#v7MLY8Iǭ8c_zK8` *j#u_GiLЍ9QNmggh@DY^- j<c,GIYcvzeG9+r<뎴~>F[oQgnj`Q{%Q30_Mme&xoI*~u;ԗ\[>^vA8>8ͭR2=145f!2?@B8N $Dje: ki3pxSy;+aP .]BsFbq"r5\bnٮnD ;WCd- ޔ@{AG OTɃ@ ykwz3CE/)iKfc|<,}098l[b"SFrv5Hs9%\cfh,E`ԮF{?fߋ ͦxchGB@n$EKbYńHH\Ey> &z4؏\w5hz ={$6꽺W$?Kӯl%4E]Ewc1r#%Fj@@5# SǧInY5Cgx3ų=O)g/,vZmH IpR˾YM\j\-(3dvcfţ r̮߯ᙑfc!,PFbW!wEKT  ّoOS&F֓ĥww~].0zm\)#pKKi(hh눌^咛^u`)I > Qwؙl7YojkY8h-Qhg81X`.8MI>PV{i\fXzdyX‡ = [$7S}(L0a{ ,ⱄ0{6J I2H_WHF,wj>T}WN'Aahs1)-tUR%@! ˹0'a]Df}~@~ʹm/ӛ$ O|mJѐϚp R!Av3 *HgM n}@Вd]׽&e4}g?CXگ}'nb̎^ ?PK`m'jOi(8AX!3cGA*t:@bBfj젽j;LfF X  +Ͳo}0Ji"Q%4U>hMyg\uXEJdeJ};L&:VuoҷF0jJJ;9'WQeٵ(PSC&°fVAb55ǣt#U0V5AzsMĄcj m2XxiZ Z Z0~06;uLdOLh}u?;k<.OP'&UWT?Iw@J$v~lP:G imvaAJۇ]Dmr%8d; 6ph 9HK  oA!S};{(i]9nbc@%bn,"WCdD>^p1OgPW ^O'Ҹ,mVM7Hd"7>.uDF[7ks6 יwIyf+;ѡ7 P4L$8sNb,{3;ĺF3?E2XjG0wDFRg̫&&?C+bdB;T~O̓տ1O7 s*9"#=\T,E)/@ʺ{Xɤ+^zFa6~cv,c+/7iPN򞻛kuXV]6k+2F ,q|4 [0z%=/iįfX^[29sr)qT`A=`X#IET SV&@K!PIHу\u>Kq*Wl8s>)] 0dzӈ 1Y_lbJI,*++A9q%́3RmV{>WV[W]5HS UV+PdpI;|TΫSwx%H6∇OMA\qJw:"qjU.(0 jgh{WNgmaQ9<^dKw,owz}O! я=Ix;mUY2Z4B+Zo?SBC%tˠU)+(WU8WrJ|\@3Ah-Ξ@c1p2[NH֟͡0NNMs6+6G+I8qصJT+Cj75hMqd35$Sjf.a`=AӁq2{T ZP޼kf##:x\*RY/|rej#K0˰8T5*_F9 uڞ1\}Nnh%="4Wv(a~O[ E?2X@0,"TӎB{S"=B3 |n[#礻+m>P*4i5$]k Ib "gls^ 4Z1߽ݮ3izN.6$3[jvƧ{m˟@yږb) HTկ_InW*?u &ZyΏRR j{Ƅ K&jND7a Sn{35{W܏PFR __3#Ѹ: OӾ@hvqdw{'fX U tM0[\!+(C\~!3En:Hj*@?J^y?tMVV߱4b |pӅ⾈RPt,I`xFvo!-Er?WaCˮC/yXW9Q|.Ά1^⤺?u- aH!l dnw[yʁ 72wdꅼQ  pN);gU}CHkG{qGйPa.Ԩ&{ob {bwM5R|B>@m!nf"q$HM39wñeD1H2/,ۀ"_}EپAL`vJH][0A#~>9t;B=)g1ގePwL4v=?[QI3ʨz, vֳZWҰZko-$0s#B\mLX8+y ap:!,ZZ5:fX}2Md&˔pa\-N |f"q0-U ڮ, Ī"&QA$t НOr؃{-. 6?'f/8Fzd&\Wlw#cEB)g(9(c/jix17ic̦=- /0k4bi_ueQ<5lj ,<;zzig>#ˮ~(R6I<l tϪ0p1'իQ&c#$32%DܖYD?5a=gfVps=WO Sٓo>;6| \A`Ĩq~W5`oM 8>!$ #I/m͛.^^?nQ9sK1^wɰ//wVƆƚ*¦Si&ui %ΝXۓ<7.(&Ip֥ա;$Ntk34]~ jCye~.d8zp , A ZvEj3X Xoe~zN/JʛĐ}XLUf%-|cfmYGmվ@ҰbVIzz[#y!ujyf:|h?s c0D ex jz:팵d.qȸ%yd?Fe)t8PQ@]:U5$[V݁;+Eu:Z,ԍ m8NVsfsYɶJMp.<xB2n4apku@3g)ohWtLIӼo!REpWv'/ OӬS1$ϸ_ lxB@)5Vy,B&bt{MoW Ly;K h41;"vnCf&"Ow Yi*PyE(qvy[hjA*'8T|6ImFΙzdC\\ШH5?l;z Y HS8OI!|7b9PbWaEf]r@=gg {1%w<b.tjWcM;r3R4J FkQτm:_P,!Qԛ J"p{pl()pw;Y:xQ}tF bT%!͗҈>Rk/, e'֓B1H;SB7ԢӨ2z*f]4 .2Qx>]"[BWL@N$"˨B(iߖ؝[ U͂!q,G5h#, ΍3FS,5uH$4vݬ #e_4zi&fzj;6kcFv%\Z8^B0oE>h!$~(ZkPMbdKb>OJoXmNQ{Bv+,gydt+*gSPͣgC]]&@ŧqC W;u$M[>|a&֒ kʃ"+`{ Dt =~ĭz䙶U MH;Bbp ]<:3xVgu9o&)Fβf,JcuѬg1 )/CnʛӓXic0ةKEYKȽ4{DajA;$~N2ދRILo)Z!&JVݜњR$9[%_GwZȚѱO-^ qGo TzL:ܠ?#{$ Y<"˳"su673XұGSRX~ (*V Izg:Ͷ2F-ÝA^9Bpw$oA^uY/}"5B(r̕jFLxBGϨ9aY=x9TJN"]Ծ(Cp< H}CWNKy p&x"/AdF;59ʷyT WrBd\ԾK0FQEmbz:kMӗMbŒs1JD{Pv]%%zU:3(b(: "sw_?H~z*mg }0eT/TElx˘t/xý3/J7sxv:*xBJ"o/fLF<)"(>r6 b9)O :m!1.Q:AgS,ʄPZ?ܷw{h8 [F> M0|5:7UρO,OffDi=T"1Oi VC PbI2َoZ(OǫγE8p0uv6qI1n2pyeY-qȰC_o9뵹i9͵_=ic oL ٧1n srARM}P<ػ`KNzk?$\UHmMUh2tM.(9*~E/Xpvt1IJ#*K,PC%Ij2b ;g1ǵ";ol%<;*!wƺ!M H"9`W (ZP <@;Rzx1W N!F'2zu. CcuԲ>j/?jJHal+9Y" \Of˽W A &K3M<4 Sh o#G >æ.4z'nB}SrgD]eڞ}?2ܶBR? '٦ ߏr;vP%1難bmatۘDNcdye?"yV%UUc^-'qWi˺H> Sjwt,q|j0?5l+1d;k9leJ&+gо(䮍4k?i'4xSٔ>nz!5?#1oNV(Vh?qĻ>#ň@~пU"EyhRzUYԇ6w&&W~},\6q `E2`bw,?;P *|D_ĝ41O++*f?JMS[7A׺ KDvZ,ZUu˺\.Ue9"K<`]MJ֎,^r j o7t(vr+^?'pq8\/:Şl/~ɷ#ɷ &w_UiEt$gzqH~9hqwg[*bw~.Dջ]ƒ”BۭM]5jUj 0v'<ă mE檝TӮQHP{AEޒv@ʾcPY",xn䃿A촳u[G] ?J`(0%ˬ| N@c5L3Ζ|ցNuҷO*HBMEy3oAGYa}2_"lHn䭣nP&X0kU[;)nan G~AtLT53{uq8"l$%d'r{(棂_f7n\<y0tK#(3YTw**4}?3)fA&VMÞUʺiZts덯vGjoS-8$-%URe4vspҏ3y#8{hc;APmWp#U= j~È:OM6r !ʪʞ$[=sBR263Gl 7SPoҴ;'s|?OGZ$::3*VBDklMt\/6<$+ R@3m<8p%}QO!~zӎ9qgBRNJM`n29pr7{M9.a R>|k<.~`AW8d(C[FaUpVZz[S HY7xC8y%F&VWwrDZԞ^~ak^ Șbeԓ!U:292>u> ؔDخ3NWsnNJ3Wy֝aQ}d,M2^ -3,%êm!=bm$1< 9 #6R4Sljz j @\V⪅( uެ֧'\K,!s )? _5lS-Ξ Q8]|#E;&u΂<1 @U D˻lz@(9IFh;)E=W8a~+_m1-Cꁕ!߻.:(%k7m0Û` #uVo y {~q~j7/"I4mt;ߐD^U*(hBʃM.o~!bBf(]_mp?zn[ȡ>O}4­>h&2bm9 T$.9Po*.6[[iVKɾ~:.+;c-ّ%g+j 0-yO,1o(9ɁzB_ޗه2Po$eJ5Mn^^P*xYk^Web <8+vxaZ[P& y6 _=^"Ȱϱ c3(8%+3^Cibȕ(?v6$n,lsgB\{`sJF$),2)|.k2.%/E#{'v{/V 9&Lij>ϥpQlF&`/,WV0,2+@D-Ȏ {BSdPs8/UosG#h.`mR #iôu觼$LX6B޶^]SB`93fh(8̝.s5@#Lat &Ymznz%d,*FC'y?lJd, ψ7A& O,B&TuCzM0kp~v}/~+Bީ%aIaB2A|~[)ͫ4Fk~^h$܍87k{wT}ft2ˋb]v\ wuA F_C xƑd"yK5h+,{FiJGKML>w]vl%JE$ל˗+9w3$1YFMKv! #IT2ԓf>R| "/l܉6WF-TN49>^R>`D\S^]DzV}K:DPA6M& Bتk Zӂ40T:dX6Ƀr3t,RP] hV܀%P+ZF Ua6tP~6,#ZޗT7q~'|@BlXWX &H 1)lrXx-;=w'Fɼd1}6ldIMɺw6 ,yޖ$"mOR bOַgaU6ߥN>x;L^"'UTg3v~`ܘ ]nBI|S֩C|S\N4Y ~@u?Ȭ <;3>NMJa<ǵЈykpӔV{ۖg(dn>ذа%գ(_z9ؿFPf"Nh fYf|vQT/4^40k .+ Eyk6HY;A?V{{l埣 qȓ~El[#c߬BױJ _6p<Qasr)og9dN:-: ;tFQҹUsjȞ+WaX1тvhhr4)bú&68JɶpNOl~ &R`pqx`HYh͛TErH\?^z ع,V8L}k='KuuZ)cZpIi95*C|0X!$XPx Sf?̞ƈ2x GMS9wO[SDeL_ij*:($XUHpE @ `!N+fLPs@>⿹' bd]"N D]t#奘CJz+C8sǘґ~筙:mvڲ6?F69&gaC,9UQJ,?ֿ,I#ge2n!5H'ehşϤrG_dQ~q,؄T>JsOˍ/RZI,Em+f^n$dؗlΙX :p-4縯i-I4jV+_J.p?Flk/ k:Q7r؇!7{n|`Dٱz[2{65qdJG&pXd 4IICYd\ '̇ JtyL,Eˬ8T*R j}ټ 6&Tڷ\1?H)wZWVǘ#(:h^OP6[hyZ2iAH鬦wltq>ϲ8]4V.%8}jֻE@!+yu *3SS5J؈%4O_u `f(<1AN}o!$=hQlTٍpS`j$]Ww'}ok=Mk*$~d#]QJTtepv\lVa/ےK,&_4*xMgiN5}(%:PPŌRO+}۬K$`n7"\lh#c/z"cٛGB ?GQTY5X)SGRl%q~#'tmd֗?Ex=S\'Lkcql^Bz3VF612(-TRv6("(5ihR6" D*O];W wwQ[h9.oI8hN*No fbFޡe*wV::4*6,KHkeeOdVڻ{*֍ّS]By*b#u3LݬN;E';Ʒa:;ԬV }s 2 dh r@73nޘ]z:Ֆ'Eu'uf6 W{Qт:T= tM h|0ıդE;q5l`7ӂ\).,g9p Iv~ ҫ0DM5ktdrmژDĚ@Yl/ O^1r@ײ0zpT b%`7:qgEnO T'.V3Dcr~;.? Qv⳹!@3qqK {I;*csmd,Ĵ/Kn5<(4y֧Hl^H|{bV ua2hH9_ rH]3[h|iB=. wj"@R\z<\Q&yYEp njWkQ0Yݢ*{cD`kܖfӬ橩5^C1\"eZT_Z^[T|gg7w6.CGO-3]p.:’` }+܂G!e vD:Ӆ 1zX)*cEF̤257ܾCxawY2b2J6ֆg;&qsAv!JMA!rSӗ3_XG׊*V ·eT-NȠ{c܌o{u@t Adu:y&5Z~T0sPz/ɸ Ⱦ3&j.N79)zoη$vuu}A5NOLdBFQ0tDiADR'i gӨf0gLDg3E7퇻K:6| >fh{|ot21/_2:gPgtCBTɻRK9?o^vEf<(fR/d#ąx۽F[Y)߅ե|餈ȏtb0aI]r^h2/m7ҏk:QD~k JY~yamy;X] M鍧PkܘFa/F[>oՐ2L~BX8m𯋿ny9Ico z)wu;:z9 wF(!bwVS!K=t`"Y)n !S=G HBmo:8=4+F:C7C'`W]5:OBi%:бb+ev-|p"JФ-)@.)U Ex3:}ʬw[ ɾNhdf[U\v lL&V-_UVg$EDg#w^I)*65%UKUdLJ4|b"˗+*!* [0k>zTːܦqkSHsLW&WhzS03>ɶ>u6N* k|^SnF"+4,g!3gnH27R؏xp3ƨēoYE7\Uz~kVaJa躂=XΙU؟#8cR͸Vȕ>b\~Rh%m u9R/YMf~5wa>ѓUOÌkG{I a:n8RSa.,.}~ %.kûهrdЇRA@h=5 O !iDο ՎhF*#Fw5tՏ~vT;U;@Lam_ rA& [2 pN wDd/0ɉ}:nˑ[;A,rTp>B,R6drنkQ.ZԯU|?M*h?.1pӸ0HFxgqN#zӔWrl‘;cĨ9Hǣ16X&RCiu` x%qsy i% y,:Y1n<#KT-2x?v-TMmXD&|>J HMp_e:!v5=av#ġ(,_p'f`vnY~߹3}i \tw.E džV%uU맥Ƕ&fD!g}`@C~O$WPnj6]e-;b6c%cm69B_\CZ;7 ]DJεon7qxh׀Z<]AS؃E &K< DYU,&Ch`Pt)vp1g"{9T>wAR?p7=u i$Xgsz:2ڊ~_6iGBHU`ٙMEi=E#Y\[i2Տ8qN?XpKيQh e!oI-cС&ʂn6M%ֆ9'كʓj.{> =*3?t;^W@psu"SHjQ_BѶ-hUUW;R9Fq\냝+T'Ak^+7ZKz~AY1(%O9"5J"0|+HtϕvlI7ٟztܭT wysW #Tq+x^x`MD$sOW 1g>| Ō8nc'bMYL-#T7{2hgs!2N˴&$?p&MAm}7u͏1[Ygժ'u_wiW DG\*,`>Tg@1.Nafh''x3e9cbW0%U{qF97Bv :29WFB%x* 0 CD[a"j9"[sdaϚɨ[zёb{e$ +o3'n2+"7í'֎\fI.`ܗ/Y)-?ȱ.(\!0E[2/ L5H;nNINc; |Yeu%ݞiV?,PMn& N/۾,VЌ̋0~n^ƦF8F!y?yU;q+G9 fzLoijW=&ֲ 8%k;=VҮibI);8Uj/dA\Z E$T.83aCׇ\, 6( Mya;-ٟ=[`[3-{ _9.^Uš@W` |v5ߎrI׋%0h#[p\혥^tN-X㮇EԹQC Q$^K܂RnnُވֵӖ5u!?j㔆@oF0SS\sD՘A4Ԭe -M$ed,iO/@ gi6ӹ4{|==R3kkPA~rċEG`引ڋ]TؔAo.7v9o)t2g4UsOp񣅆\ʜLGXzaƵ/ ɠ~ ֕B:cÏbp@܎F_2L:qeNE?칝O7} .gNj4l{$_6Aa,"]W+XGuaA!XJe= "CnrHu8d^ձoN &N|R 6l&ѾG?[#"ð5qI"EhX@o5z(HF9#Ώmdb)@h%ۺ L3aE1r Nj$GeDAiPwr)5Bu 8o/H j$&{dH1ldZvYV1U#^a"3nvmNႵ0j(Y2XCv6q]ӁƺP}&AX8b䞢M5z >pB0]; k_;yNp$8#֙/8!g] %x[P-4\|f!}\^\|V}(qu3SW_߄NP|Ф,/r';كO4I*pnTdz<'|Su,j}"42X{ 9wH$J0П/{nSoCM5f3nmSX쾟rTp'$528noّ("6Y$=7߬=w[6fӪN,cfuNEۈz_ tlO}뀬ghggTLӖ(O5RL/3%E NOx%#c)s;*RdF2풠Sz?mb9/}\4݀/X( h#2Vm2'BZ,Ú"Ӿ7pV9S?ΩYA7gUסzo VÕS$h>Bǹm2@f e|U+O 2.rQQ.+tgODhzW\QTZ%oXya\S$ֆT_}ݔ5T8\:!;m\xҰtdkLeM LN mB =F_Skxӆckq\y.lmAf24.et:/`=FtB&%a(_Sˎ?kϛyZ䡅&+HY #DqZJ4!Ҏp`WJR>~5wUKK^{ʺ%ud%],:i"~lQЈRgC.0$/ A5Y/yXe\kPnb"*MHGS`/🝊ljnVaC7HmW)qn֌i>[3'y<P]/%h'* E1,\nUhy8 ޭl 3lD<\^Eյe`FѬN)@V!sҜyBK Et˹OD{cg_0=5Z2ك/<섗@;E f֌~EPM@;XVW.oa9.Y |VtIP:sdÈaFKv07β@vkA.Q!~##`<'Qw?<&ZG5,cȌQ.+q]^G d=$PLU/gIcMLcе& gL Ap}|i`STj4#Oǃx]X 4mY)9cP%DN ZM7]" m# 10T͙e]ڵm]tރ'K{?$= 9FADiOaR.E}LP^C:(\Oi|wa;p;,gT wnBmJ{ !UĽ%$WBR IZ.ys35%-c6 n"? @]/ ~ 6Ei1;}`[:R1AMQX),~:_&*%VD_;{m ^X#Bj͘;"N?Sr?:GM|$Dg&t#̘r&l;ߧhrrPC_ì_?=v tȈA!@mB8ی>,gg`Ei2lDͲ.#+V5Ea]C(@ph !}&wuj񫗳z+vCCՒos?.@wvfkD;EHsO/IJ )pv:J+sDDJNZDp2T_~5Xʻ,gWI|EFBQ}@ha/kxa%]?鲉u:+o}jYd/La1<+jrXVʛ@ҼXczd֍(54dӡM [#HXzLO..+OGaݳf2] 1/n T\0C/r[sj]슷S8M$16>D3C(z=dyo݁/H4 l;#Ila/!pFm'Bn3x>vOA'|sVc`,,KKﶭ4Ŭec9%ըjm75@ =k+& Y1K@+4ݮb,^7: _I3MPzduQY<:$Q5 QfuK`!1 fa S=)9!J#x#:܍*h$uw,iLeT-.sO4tzE fҡ&a$@9S6~ $BbL&2PA+UNmYn8lsZ=e"@S! N4\#S T"̈GyW>l.f,V4ܨ 3IM}d^@U4aq*do3 &X+;JZZ#-Z8_QsSO_( o?H6QÄh >.H{/Ks 𳊺w  _ҥyҫ0ɥeJ0Lpb)-Jc+sLh Pz;.$OxBSS%Yd[xMo_@Nb4S!s#(]+4 -_'ΜE;E̛*98Qi鼒Yni^)+ pPio6`m]v$Yf;}l`V9ieX33tC8o6L V=/{ cv&HscSXW}6eAW{E :88leBvPjFNȻL4#W >:@ ,B.x"fvUGMgĆ:mϓOgIF,{ַ꓋!H:.Nc|[wǰQפZHXnb[/ɻSN| ghN.C" 0߭\.c#3q) ^Ё;g 9׆ 8>{@5=򫹞 }_q})N]y_$??/f. Ԣ$t|/[\d3ӡEEZ) y!g(x?<ۍ^fǟKwl#tL{c$GL0fIv:c Ga'u8*S RMkњ=@Fgs("~rtD9jO䌔ɧpEXܘG/~-,\^0Q,tƚ-3庄sX~5W{qzjıX1FĢV^ڿo{SCJSZ9vfB"0]{l]!QH0Qe42[ +sSQ]b5ў^9tƲzFQPuG<0\\aqN 5"-ϤU3ݿqc4KRYB7 ۰S䀟>ٖI!׌~JZZW~5ꏭAPYjynMXz iAU`+*Q 88xjTQf[k F`lMܱ I=xYj8Il>T*gbj|NӁNݏz[]K \ ?Jf20+r1`VXL RL ݚUVGn!JR,GlG &jtLؒcW%kXjU)F+kP/{Ǜݘ^gV  ]0:Çɵߑ!]טP*@L=D{W6vʮ'8sr.F3zqbL"Чt(toR]qdyIs2ow(op`D6w:϶e=V=mz.@@TfSI)[/bmWQjެW z|HvW03Kig,qv3o+h9~^/dH /UZtӌ.(T_ /Fvڻ[ϰD'ZF[R\TUfgŰٳWa5ۧڵKIfDjn+Ja-ZL]ط;bz @kܭYP4ay3eeu8(-8D~'6tTWNG/[WXct5*.٥ڈC‹!Rw] !pX ʮٻbs܅SB@pn[ZiLZt0/6`[EN <s9x8EIREBV>{ClDUe5`OIu UTZ)>ܐ'"ZܹE]2]ˉgЖ|0?jhJ9!C!ZGl)=p/c}1+ra{wVQ2 pŜ&=_mA^ /{x^#,MO-5:7M47"".JcܔGzD-pK˔Xt Z$-!` wudB?!ڹ%(!{4EAǴf+?d%d>,T@ό7!^y 6 qvbV`{ Pn- FTgw0xQ=s j{,:$r7-^ݢa)fnlizߗD k>OvшjP/Ǚ\w#c^1_aNHā`!v^x)鲿VN[i<}M[|϶Yx:=n$H&qfmIMvamV~ ]TogK{)b+mHS_ŘQZk^:{:NҙQ(wVKa@jî-$Hb| )g}w^>M1oJ<] g4] B8m>l:dP4-6+Z#]x3[^lIΆ_llёMhK}`M3JeycK\VL$l07:Gх`R e4PU] wg$U ]Qt%ڤw7㚟jD4sٷGKb2<&1*~<]guSdH*!:>r-j4H*=,˯ljXG5iD.W1c*fV)a2L¹&j(ASw ,y&$[J!Sa3oq~X&8=DխމZٽ Q+aBiǍ$r>p=. N\2 1$,Qd}]Kj5䘎GtW Ǩ3yJD0biSz;{t!itܨe:8[/yC{3Ovw+|EߋǮq…!Ӳy;Z4{NQk]CfAuE&4&,.Қ ~(K Vuu$7ֺ) )i"\>e ͽ?ob'jv?QPڵi`]kGko_s<ͭ? oC> U\rtglՋ)m+W:}V9>sAаJ\aW.zPg:ÃF 1BJǮ8C JQJS_?Y!jCP.yaCT .]I:skmv1{X550i/a޿QxP/)Ys[^+F͈\(#^kdikdvfhCi*3KVeq<+ '@P98 wH@]O4U3,5P(ʪ &2ffS!E5 &6 (Vƹ*8.v5LyτJƾ=y(Ԉ"nՃ=*Zǃ5dI" 5w<-^.vhLT2ԅq61O<"+гF'#\ ӫ)F@OԞRT!ݹw8EaKqڡh*w'T^uhT"]޸TZ$Dr0O+"9E<!!NOˋ̕'!/X-RP4Zc|T{Ur ZT"6T,c9B MMLW{#^|? _+' -';58?Ĭ~`I:u0`Atc]|EL[!?}Mⱀsq@&ْ$3A2Kܘ%޶K20 ,uiiwgKB7swP.|{f\Hq1y)L?0nzq|$tgޟBv(E >ciiHR:%~@~"GGO(PyLa~ngd+HGA쳩@5áłIn C#*/5VdΏqFUh.z} ƪ*ƊBWY"p&E}vgu?$WZ7RōDts䝚=_|=!ۧCER'|l80]/kX[H |T/ֲ EVx ݶ`[ڎ<_6",S$7fOAi [4 8yLNXlZvZZE&[wa!%.ԛ>ꋾQܘf&Q!*4T}ܤ~Q9۷1O$CAX[ZEf\}>Ƅlk|LXi6/l5 3dpD@gBJJ=!O6 ?l!iLbB+ 81`.[Uu+G.xހ9YgY}p X`\7)]UgxV5/:+OF*vA'h_ ki\h!I";7H”Rۘ29@f+>D?s&-*-ruZa'bf@J|Emo][<~Qrn ) YUIWU|8ЊLb9JJ | s,1K85_CmH%ۈ`-F/(5K:Cժ^`A? ey +iZPVn-JH%5A.>w_gugbo%KNLu `Pڸ86Th.1s+0C)m84^˻b㫡cfok!_J(ɌO.їP9&wYN4`xXmt'[<.:_4c5X~=p΃Xt3 ,6F[@ 묂viXyF9gAN]!YaJUR6T@`dT' <$_ e/PP+| ̇7)y 24?DN_Ֆz*ibeT5qw"Hs #d3"wغoqㆭ]\r/S#-nJوe+Q4qkjĭLtNIU$ÊQl1/N+S@mwr:mȔ/Kޢ`VD]a+YCa`kΐEZQmI SGfxTQS΋w/cV=hRanGYIb{5yQ6)_eaUYIno)Z?f@"@Nf)0 3ӡ* N܀d,\b^%|=e=COչd2XV^~o@3^"`kdtQpcs-xsң}Ya1R}iTLBF汗Bs耑8l.Cow7}&mp#L74'% Pޡ'iv/dظ81)w1YqPj_6XVt_b/E,+[z44uo[;eNS%ג#C,9Of \b,>W)k?讻x0^~F"r ߯n/gsI M<:ZE_^00:Q&tГ7`k'ZϺ-WL@sM1q>);;ȆBv\*>B˅ذhLs6$n`4a;*e33zR6&U ]y I4ݤL# }лov aY6&9Kg=CBpT8yu{ڬ"h@if~8YP2l0ee:V3n4 6Beܪ`^N.~{gvhdAuq*6+NG쿼b\%B֍|Vhܰ#E?@=ji~O3e&w Ԓ]KMM?̴_73Z |>:GQMsSa'ЙT65_MAl~rO6 ,) AO +82=Ր +ZeJ`F!ͿM9l5T1)\x/)w[?WilI)  {M:n3*QZGU_YPYе\J!L@ݹTdhv$3&qu _f6N[ʕ#=wFeYKˏj;M\lKZl*Sl;8[ `XbkE\L 䥃xkQ r4\ Z?(F5PQcJ7o5ơȤa›BGGO>1ԕ55@ 񅝗RSG.2,[R 苳 *{cKf!FIX)џV=/nٰ1-9~~ImGV,WIu7Lާ{\/uUEBia7d59W'cg9ioc kşM,$4w/sqWAAyn.[K5 bސ劯/R+tn7pmoU jN`#_vbŷr8o| 1I$(zuYHh|Ί!dY˫Nɐ͌u/jT^|!i)ު^J5&)*)\pAb]Ts/D3TBګC}hkU>;palTZ s>$=ܧfZ~olbu`*k0u=vOu4!ͮ$*EhusDyk>xO?sWT$Jlȥ+i9! TRoD<@Y`y?Gԥ:eݼ@dl?D`ےULT6 M󮦴k?y1nR N8G9EӉROkۏ;A@(kE5AOy:>fYC)VtD2lxʛ/t^ޅCyk&#A'wiΘFܓFXJl=aqhh?FN[]6q?1(L"b*UǻJyF 4eIk9%3WUg }*s5貔3]brYs^<%u%La\3r|'5%OSx mMztƵ`{S.DB=>m92O, U"۪~_:+||g9DlY':mheD!=#昼1{93Sʰ䈃%%Sf g2U|D͛PW:?NoDqt:5_!7Cx)8S* Ƈq:ӘvBZsj@5P)DommgR80[?&dIS#?/S]A!b+0n~$wŨ`N[x;׌_Hd6YKOi~^5c o']w`PxN$dI/h*vЃ'@OU6b;b\Je&AZS(ÝWeV<л[}o ]k {ED:ad’]V`r/諞MK<1 *. 9m?}š}(E~aZ;a!;࿉#?؈UY_gЦe+V[wZ፦][T⏏i_ V7E_xB?"F^ܔNƎW <<耐k#&T 6Z y'Q=ܨ:b'OX'`A%~҈LG|o3jJ#^6 _ڟm64!_k=:BbH6,@ѷ0^M9d5du@pja$#в9>C_5\p{X)jQ(pR82`~ ,4/$PAUe̪hk8k@B0^/i5|qB9.!;X |ro׹~}3L%᧧8@87ʥ[k?@}N7AeK<m{RW7(5ʈĶ*4y6ur6<)i:8_}ToE~j(('5AqTO}_=il袣 榹Ң嘵;ދ5 w>[VE{ቦ* `i)3bgowΖΤU)H5QvV[?$t) C5%iSާRP|Jt'y P1v < 0q ?Us[QeL  u}:8&(gxb:~hQ:|]{3ʝwP!2Z#]R'ڣ$ߙVڽ ^t3cV 2n!hk'C\ϸN" +1LfLe5ZkEz-3rn6&"/I$[LZ[!pKpqlAc @T%3ƞ+&t|vY`A>B" n{l9d&Cxr1qbۉ $Kx?[0/Gnov!CATLFGd.JeUeC0'O8AÉ1w5˼_<1:O/$CQ`Ccy`^E;Y %muV#]eVvndJH7E ;?=7㶼?czO Y T87E 9*MTC9olfLOᚺ;Q.ڭ wd-&80#8+}I.Z(' aH3'T K֣cw_Ch^̳vuCw=Ly>{V# leorP3a2MFZVe7ȇ<~?Հt "u:@ֳ\8vw[oXFTT>|N2 W7vPY=@Z@{ Xak8+\W2h`1CTz}U&-pE@,Ʋ_H+ބ.feGIcY!647>qh\ssyD?s;VhE3Yzk^,ǣ>q:ۏ"Mܒxg!xa}PAт』Mg74|e _M>@lQ@,\cK֮;HOaA~BHZV48!A:/f%D#6oK[SC^S5(/O`2%=k \l Sq*41zK"2`Y?79pU#lv=õ>F+j]Y>(y,ܙ.WؑM{YR <iC>DJX dN  z%:ؿb$ClMX;VjoPaL."V֌fF SPwxZҾ!֛r,i4Z~Ƌo̭1]$b-&[E^$#{C~HbCFc6) VzP}N.:'eg_EZ| 2 Kq|2MU>aC1ےܐcLм|8PB C(Ֆ)G! _Dy'ssf\Dv;Wby*Ar7#}Xmh65A^֮`R%Q'/31ח\M!m2D`'D&OH T\ GLo,UBVY2(3'lL^=rD o΅ Lk P9'C)SEU90}~g(B"1O3Ƒ(>jj+ wĆ46ήZͪ9Em /@f6Da.@rt+$AC<}"XI^*57I8m A¸0\Ą޷AX0|koͧf S/d=N46'MCj9rkܸW:K9af$a)ݷ,*^T.bcZb0^xʐtH}`6i>b&NKg\{ g< jS5~AtZ<|.]0X,cAMӂJ<ζ<#u716&|P kU{ $λquc ) R{C6d%pZxQ%K9B0$L8H*Bw.&tQm?7iϼ-VV-(M#doh [x;eu[d\RvcF6\pPuK]?yƠ6Xx!Hۭj`Ѭj-{nU`[T&L|Q2>2P],MLdT#ќD?\#[(ׄ>L))ǟMKnO:8l>8\ H^}8*yحE#CDq%qNP[&!8e}3s,+oFzPvk &zN3K>NT.?ԗQ$;޽8f.`gz/Dv8]ThKd[f5g)05,#V`)M)f9B%g=CJ&hݼ 2M+Oc,Ei2|bRo&4A'MDvӎSa_N!|Z%>aIfӳ]#~*^0)Vڞx?&Ju\Kb0FDji=g18‚ïNC <`\T+/j\^$,t"6;O֘y< k. 1@eԦ?ܦ3N ძ~Ǟ$ۈeAX~P[|\?0wYR$nl9 5XLְ6P }}$qK8z%"tFtq@p;:V9%9Pݤ؊覰o?r Y7U62j {wt=ri̫5&-o+xD5zęn'P0G&svSN$@PKgX̞mK̹mՌ/s Yt/vO=bSAt ^5s(gD]4ml Bܗi.kgk]ծ)n"M>n_iSiC07&HCXiWïJ?4lG4%J̠'>.PrkaMvpX/*Xw<4gqe~2[Oh5VW0p tw4z5Ә$ኞjn0Ɂ;KOC: 1O6;^~0:f4s$Saz6g滫Xdlܮ6L.. KNijKT}"xd& '2:Q.>umIR u?|2Ċ' ^cEȽmzolh D^y $Pl8 .0X#Weie/(O]lh*p"ڔP 2F ȳ -X共֐VsAMY4zk|1Qr,T>ޯ+pGlֈQzqL"u<:K|-vuKmި|"?1^Z“ݞD \abW`<@@g"y@)wo`$)",O)$Vf9H.[kYt\ ]D+^.$f Kj1Sڋn ˙i|* tTT[Is-4EF_0w˹[򈐾M INf~by~=990y1i?bv]8c"#q攅" kj jrR~RI_%v:5Y{-f2[ғkՀY@PKaIaU-~YDZa7t@NY^s T/ y; (Wn=]i!IԝPϑ>Cΰe>Ͱ#` buHȠ-$׻5fApJ"/tXt-[qJ W~#m߰{dSFjU}g<\ւmU9\}@UOC;3^"Lx44aA"T2KV-Z$r7MbL-pao)`IKݐܾVUt՟QCB.} _lWźmje\FH˽8Z>RFϧ՜VAҝӑ>Bj0QF\k62ފa,y 1s ehJ1zٺR^t%{|o [G?^獳 lLq\jF؜/YY6x t/[j̖]zAY$uUlD2l ;5 O[2(>=PjF'*X #"&S~ hnj`xWQ 4bA JͺP7q:RAUi |FSgmSAICB.c3L4Rwͭڡ.ΘCnTh#[ ! Y[=.Rr7:qOI}&ycu$/ydK(5`&2_Ȗtd[+-,I1Wn6slUD+E{C"k=LM];vk2)}єpN _VO '5Ι= P$[,JBܠj?a#W*Ri(ߛS&r,q+#8U\,Y)lkEvXJɱ8C\NV/ńG#k a(^o]o(>s؃q*mݫY(0_6HO<dѻR@9O/[|2Y g/fqo@7EVk kdD1%8gc>_i#}vm&ṱ ?7h숺ߤ{ad:^,;(J\fK?V?7"ˮ? M+bs$}Ԃca]iD~ԣS31_0TQqJ럆μMy_2rΛOz5F O;ʕ5tD~6(u(3"O}#!AÚ(Hr0ֶi:o;A_\qX_"v  m.ҭ,$Y%'x88ۄ_K4Née3DrwS ޴=x\J^$ DNAv|ͬ (WQifs@Voc<@) w4=%T% U3s = . j΋tt?'_caSG~dT< "ݺMf%DLZ\; 8)SZh^W,Hs-uj9$^p{.ufOӣ?V˭*b U%44}ӿrn]*@if\I GD{lǹ) 6;H&ɴp<(r.t#8+R{eQ,O.,gU:^ɖ,('1G$ō#O}3NO6tl7qI(XqjiI[RQx "x|+'FՊNg>Je]p #tVH4lmA赥}Nu' ~dGEeE;t[Փ7P_xđYcPȠh;@[6\-!>,z2i8G VKRǧϷ)w|eHƢ1JakHYGvC[Nys@עpAn= `%L$ Z&_\N?u4(gZJPH?[6V`|.{ 8$I8e'jOeQؠxP(Q ^{>,ݏr[~,W^_FuTʁ"11n_c|JYQ&ȇdL䁳O\vfC.y[3;+.&FzfU.$̢ڒ--յhdAݻȹ%FZST_գɀp/ھeUJV2@E,Q60GsJ /t@t<[׽68 ֣:F2Jd*EqR#w8B3 \U#`r9B ) #laN?\NBƌ244?=v~Uk#\yiaOvTp@Lҷ+ݖNv= mopY96znm$乁thA(Sņx]٩[v+aoW{{DwQoG7Q ) }CKq-pf$(fMqEe&z!TwϴlYʈoKK ]RD# #˜{fgjQC+}~g5TA.OZuŠ?/+e=G- =ӊ XL )5 ˾b:!Jю/0k{vϟNZu:r*e?*c j ]q7~M 3y7dCR| t'/J]X{[ [­ v8m 9V{f\Lzl!b^sx{+*vrޠ'd0 $ՎYp7x6.39 F]v‡,?Krcx+/H }S(k#M a7wDwUfMxȲE@xB1g5}![8 p3%6~2*eϞ5Sd_Fza͛c3]+)r'T9!7rLoD=K %7{HOyg;pηby|,m":*v.`T CHY_X*S`f|k2 -yΓiѥ<`X+hu Ce$13 4kڮ^.yrTUe@ӂUO`J%S[Zkg̐R6M*UYbpfdlqy7ᇼY,yEApdQbȴX 'wDܦxv[<&);?6f3_Ծ]\gP^kYl|3a cdM%:J 3\"FCM c-,ھoHL|QMʥZn݌XUꓐ.=r,?32*ҢSD!,Mf ΅>&.^f t@ < g;kbD"ˬr;6zvJ/H { ŕovvNu~UɠPlfU$^zB1ۅ۵5Q` /Ɛg'8}@id$ߠ lnٲ K['Uz 8@p 55 &QR.~\Guyh&%}TS<%NN57%7hќcgQZ#]}*wFj+v5+ s8lA->26 뫋q0>nbkFTtVEp̒n["Qs$"봷D' 5і2(Ib°IZg:`+Oǎ 0N8IMEmFv`R)=n' E޶ψgi+wm l$U~"& !w<܅>b3xː`"vtf^_ʹh;vewaכpGuMS>xuS%{kj4p2e>QMi:VHcKilo6N4mn3NXdfMrU#U(7`5rL.TLl20ܢuW-Yu ]+bnOmO)x㥋Ieaa"O ՈCT>b(De)dAHjIK =ZƬ% f2j"MRY*Ińc OR?m-VO&OLo; aF@j>2ar+97!2)X]5R00ʐܢLq) [/[ `(R=-#N2kzw5Fm" H[mPK(Z㚭^0y+I{o2{ `omjJm= j3~Vۦi+CD(Ο|W蟫$BNc_Zf;>MɄ=МD;fi䊲e&ONK 1)GAB*iKe"h׈ +F* EH ڣ>$U޵\<M>_3s)~yEȗgOmM{S7c< >>%`Z?6Х0ųТ*. 0]ә=cRD+^Cf{$j<UCC4ѽO$rBQx*ӱ%izrc=Dfcz5oY)2Sϱ-K#w09x#rpdـ5<Π#Я<*) IyU?ER84=]? c"UԊ° q_{IX֦?n\Vpu)O{ :qga vB윐g:d.4w\I'')A8Rԗ,zN!~+@)fX+,1u(bpyY;({zzK U | ҾB'M~ K+4w!DM [qVtTfZHF2(Y =+DB9)lHsB<Į?,[G=iz&2L'*&{ʃY956Sj׽lk45[dK{#Qn`:@}Ċ`fp+OV[MP #>o;\8 sSTn=ųZsONUPuH2݃D.VV &δs5Ur;/OȌehKLi "k9)c5.9_ġo!;+)njs4$3~jo~QN,^l7)|{p'vDFK Ϧ7)pXi~xl6NBpI"Ѡr<M"Z9PwO7Ԛ8C@\~{HW5dU8]S`'FpbhQ `i:UfJARgЃ?RMw%Y?(ʓ(1iE OJSdۑc@}m#|NA|oW\GU' ;% DVO_R/+_%b~Zrͼµ`mq;`"yQ'Ȃh3 /Z#+Fpg2sBJ=pezˁբSΪ;&%}`=:`Ú&r$宒oCKFfa a|qGV"Wb9^$:`הc%/ >fI`z6< UL׼g:Ks-8 ?_~02nf)^kDW+0Ŕ O*!f:iE_ؖ+!NnP?nS$xӺ@bھ#}}kca(G.}/SŎqvk#(dNR}U.8 )\͖~NN!׽}6Ow0 Z8 }tBƼ y_S<|뢵o8ytP/ɍH},HU&xv<:)*>R3vC v@ 7#Z<4Ñxg#9N_X7b@tE |D _ ɟw ,-]=8<:TjE y6ٶYZ:_Nـ耓!cЖW?lG1UTKaz>nǕGTBaaffw' TfRpBN$/.?&I͜"l T>k7!fo xv Y;Ĭ8 ^snP/9}]ŸB c"SB#:^8, r1  Ff`J{i^<,t[%yL\#cڿ0]'򉒤$oê*lQ/*Q_ц\XZ*CN55Y/KjB+>+śZ9AzӉMPTh[mZKDXeRS߈ ZZ@A.)*Qq`fbA$8g[W1 }u0iP4(['qNQ:(^ȸBҲd \RR1}mMޒ@JP-lZ$AP26B59.^aA=o-mI0xd$hwF-'z);w1~Q5' ) o! 7Ze׃XؙM5Cqu6LGPĈrI(0~y.qTsaDePLm_у20a[sOs]/z2w5G>FY.ğ!pI-lCnS,,(P[SNx%Q.g?cmz4zvc@i邊\C7('@0_#{SIUc?&! ]Bnڇ#ᒅ)'VQt /}`"0CzW=F6ЕRdjS:=RmNT26c(ZZ CBKzɟ9ϟ]K]}Y P{o(\ѿ' r22wCV~.,6ʔ"J@d\P)A5p4\8~_8~O)@qr^|I&)_1XQ#v^<v"-s~&m]b7+-S4'b1rh9f0i$mQcʑ4Rq`| j(r^-YEҔ$0_&glΰpBqwSx D ~csOR,A{dkC{J2HBW3lc6=7ح4;%.Ġ3dHM{ptA/SЈh|LǡWqwv!VEMˢ7m!3WŊIܧ2g"ܶ'R7}aFfr uHjBJ[bi8C\qOw8|W0ux,o V+|p *M|9w~l$Ll`z_LE!l~9ax*%.vFOd-a73pez|5b5-7YLl‰≯|feVCZ_Ca!ɓ~Es7Bo3Rhq:39{c[ji7P8@!w@ 7o6Md%6!}}&Py?850ѻ&eidg* 1]3>^?j/>U囮~-x;CLwU ?Xf3B,_bNz/v$l.%zY$ f*7Ikh3<t:|}\wb&DAf"M eH :A) 7uByѫ%!3}6k)L*TI};kȌܪ%6ndlŽn" xz}p,mcR,KSbZS֔tY8P"k8ஐr1Y4A掅9Cϑ~vqM \s* ITkݴ!*ڶȽNO2-ls~[{T«xURUE(9u3D *J0DsW[*qE?ETc+YT_ S{Z`| ̜~ Q, %Cd6;RL miq c j`^fX]EТxoyc OȌ I ZZ9鼞|&73jn+9+ɢ8֤~7_ޤ+6ݡ*t, )etn^NC>QIN"3)2B?µ({DtWR>K[([mijӃ0Y([دڮhWZK~¢j{429'f޲ׂ*.࠮^[Amwiw 4{}KS 9qC[>BI $6-u1]&K+<R3S\gTu j̫oaZem!~2e>(XUޢHl2 FK/i ut׼[JIfLG<{D `xRnm5s5c1Fb6 N)YWƁNRM8eFQ~AhΑhm\ueasyL/wEu$]|6w2J| \[>_v[@L}f| FrV##lyvBޗ$lz4 lotn6c1L{E0zx#w ?IL#bTWW,I㷪Eu@p& v9:D]!w>lpo-i`=ۘ{4ֆ9pD1k{WыTD6"h;) C Bw r)8] ~lnpvX -~S+zg)#I}c sH2ٓ_iq/9o7<.Y<{hN5=^[H-WǃԙXGSJb; - ڃ] {<^Keb OHa/]GYm M[:ԅB7t+dLҕA~?ey%l;pЪO_OM\#CSc!Ml %&O$1P-%C Ӵ_.4-+x6 iOXsuz.(GhfClkhk>I;{a@OUG+䷯%lfO5P#4`%>BgA,Ιze+] t(vdd[#L~&s@^@1R E_i񉽀^,$\ o5~u3PCi-3? 3j;z\UExs6"*F6 CB D$sW>