pacemaker-cli-1.1.18+20180430.b12c320f5-lp150.2.3.1 4>$  Ap\Ը/=„J(xUn1&ٚ-4R>K;'Q-j|n1xs2Uy0?Oo \S|~)So8z |&OV&S)h>!w7ǎaJ2jijZVX_bVD_mg )s]Z9Z Nb zܵ2xRmy&:| pVE.Xms$+T:SP%9<zOT疂N1)X97f8808a187dee526ff0c6af2632866ea021bc790f06a25444d5068b24263f658d68033478655e0c225076574c9174635bd2b7dc|\Ը/=„ C[+,pq"<a`|IMڍJ[ mW1ߦU=%IVW]pvxK>N N8X=CE G6Nc]ϑv Hgܬ>qۭI@? W4Ht,h^," {⇧X}U;q]gҾ__<~~PI`q;~5>)6rH_1;s:>cbh(u-$몒sr(>pF?d* 6 l`dlp  QNQ  $ h @ ACFIILLX&L&Ph&(P8PJ9V J:hJ=ߊ>ߒ?ߚ@ߢFߪG߼HIDXY\X]^@bcdef"l$u8v|wxy8z|Cpacemaker-cli1.1.18+20180430.b12c320f5lp150.2.3.1Command line tools for controlling Pacemaker clustersPacemaker is an advanced, scalable High-Availability cluster resource manager. The pacemaker-cli package contains command line tools that can be used to query and control the cluster from machines that may, or may not, be part of the cluster.\lamb020openSUSE Leap 15.0openSUSEGPL-2.0 and GPL-2.0+ and LGPL-2.1+http://bugs.opensuse.orgProductivity/Clustering/HAhttp://www.clusterlabs.orglinuxx86_64 test -n "$FIRST_ARG" || FIRST_ARG="$1" # disable migration if initial install under systemd [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$FIRST_ARG" -eq 1 ]; then for service in crm_mon.service ; do sysv_service="${service%.*}" touch "/var/lib/systemd/migrated/$sysv_service" || : done else for service in crm_mon.service ; do # The tag file might have been left by a preceding # update (see 1059627) rm -f "/run/rpm-pacemaker-update-$service-new-in-upgrade" if [ ! -e "/usr/lib/systemd/system/$service" ]; then touch "/run/rpm-pacemaker-update-$service-new-in-upgrade" fi done for service in crm_mon.service ; do sysv_service="${service%.*}" if [ -e /var/lib/systemd/migrated/$sysv_service ]; then continue fi if [ ! -x /usr/sbin/systemd-sysv-convert ]; then continue fi /usr/sbin/systemd-sysv-convert --save $sysv_service || : done fiif [ ! -e /etc/sysconfig/pacemaker ]; then PNAME=pacemaker SUBPNAME= SYSC_TEMPLATE=/usr/share/fillup-templates/sysconfig.$PNAME$SUBPNAME # If template not in new /usr/share/fillup-templates, fallback to old TEMPLATE_DIR if [ ! -f $SYSC_TEMPLATE ] ; then TEMPLATE_DIR=/var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME fi SD_NAME="" if [ -x /bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating /etc/sysconfig/$SD_NAME$PNAME ..." mkdir -p /etc/sysconfig/$SD_NAME touch /etc/sysconfig/$SD_NAME$PNAME /bin/fillup -q /etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "/etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fi fi test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" -a -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -eq 1 ]; then if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl preset crm_mon.service || : fi elif [ "$FIRST_ARG" -gt 1 ]; then for service in crm_mon.service ; do if [ ! -e "/run/rpm-pacemaker-update-$service-new-in-upgrade" ]; then continue fi rm -f "/run/rpm-pacemaker-update-$service-new-in-upgrade" if [ ! -x /usr/bin/systemctl ]; then continue fi /usr/bin/systemctl preset "$service" || : done for service in crm_mon.service ; do sysv_service=${service%.*} if [ -e /var/lib/systemd/migrated/$sysv_service ]; then continue fi if [ ! -x /usr/sbin/systemd-sysv-convert ]; then continue fi /usr/sbin/systemd-sysv-convert --apply $sysv_service || : touch /var/lib/systemd/migrated/$sysv_service || : done fi if [ ! -e /etc/sysconfig/crm_mon ]; then PNAME=crm_mon SUBPNAME= SYSC_TEMPLATE=/usr/share/fillup-templates/sysconfig.$PNAME$SUBPNAME # If template not in new /usr/share/fillup-templates, fallback to old TEMPLATE_DIR if [ ! -f $SYSC_TEMPLATE ] ; then TEMPLATE_DIR=/var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME fi SD_NAME="" if [ -x /bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating /etc/sysconfig/$SD_NAME$PNAME ..." mkdir -p /etc/sysconfig/$SD_NAME touch /etc/sysconfig/$SD_NAME$PNAME /bin/fillup -q /etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "/etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fi fi if [ "$1" -eq "2" ]; then # Package upgrade, not initial install: # Move any pre-2.0 logs to new location to ensure they get rotated { mv -fbS.rpmsave /var/log/pacemaker.log* /var/log/pacemaker \ || mv -f /var/log/pacemaker.log* /var/log/pacemaker } >/dev/null 2>/dev/null || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable crm_mon.service || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_STOP_ON_REMOVAL" && . /etc/sysconfig/services test "$DISABLE_STOP_ON_REMOVAL" = yes -o \ "$DISABLE_STOP_ON_REMOVAL" = 1 && exit 0 /usr/bin/systemctl stop crm_mon.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : ( 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 crm_mon.service ) || : fi else # package uninstall for service in crm_mon.service ; do sysv_service="${service%.*}" rm -f "/var/lib/systemd/migrated/$sysv_service" || : done if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi fi"B${+w<.eX|NyXSO*x- Hz76PXPX>P<%òFw qox]A gF `b!b,  lkA|>=ADR>>>o>>>mmmmmnoQQm>l)&&2su9JGIpTAAAA큤A큤A큤AAAAA\X\X\X\X\X\X\X\X\X\X\X\X\X\X\X\X\X\a\U\a\a\a\a\a\U\U\a\X\U\a\a\a\U\a\a\a\a\X\Zr&Zr&\X\X\X\X\X\X\X\X\X\X\X\X\X\U\U\U\U\U\U\U\U\U\U\U\U\U\U\U\U\U\f\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\f\U\U\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\V\X\X\X\X\X\X6106b64ea07b67c83ffed7c0331c2ee76b8bb7ffacd180b7e2809414158da8d45997675cd33b153c7601d9a8f37649421652f90d131da3001587cd0b389288e0b241d548465e67a011e9b3c40d9d0ac36de3d70609e2557aa807df8821cedaa1a36f03e27707f3279675cf9e4f80e2f1a1f85e349d2e5fb62a202b84c473f09908408f5593c4c423acf76e48f2864e22635f3e0ecc33d5924a3544096416368ae2defd5ba4e754a78517329ad4a0a984af89c6ffae462a54e642def3dcde341bd86338d99d2e1754458f3ff296fd121cefa74a405cf5684b5f005e5accb789005e7084ca46893acdab8f77e90853d343b95b2094954a10fe3118d70140ca62c536f51ea3e491a7715153ef0fb15eeeeef787d35394aac13e99491372fddfc668490a7d67e8fba33d9f7123806f7f85509245ab21f54fce79a0a8e82585abd6e4e264fed2eba7853cbf16438a763f66243fbaa7022c3b7e0ee7090112b891bd3db6fd64fa3b06cfef0f1f6dce5fc0282927c8aea0d882f16125e2d135b1028060bf29a7bfa8b11880f4a92c3450b8c21a9c7dd80136b31f5f899e29b9968a1593f1e2c7912250ca3c8b98e858002337b780483132659ddc17a438a984d9b38ea74f77b166d04f603d34916c99746d85f3cc494e28bf90e46b50db991db100153724d27736833b812559561986102560468fe33767e06d730aeda06c71aa3baa59f1f096c397c7e820b9e215612d937bde03073143e0a4342f0f53841fda1721997bce180ef71f5ecabb95168602679064b1c7c172bcb5a4301e7e88dfe4120cf7ccf3179d98c50d73096b2e0afb225c17c16898e1c6ccb1ba3b364d34910b00742de912005e091b55e5ec309e6ecf2513398df1eb9fd51e22f683b96903705f00e811b9b097390130f3e920bbda969028495f8ab3b4ee446b9d25342a6991b6404a038f384653e11f4e0e80c627575640ff7fc615c5d43c4cd930f7317428c3dd787130c30d576502a2ae5a329b1fa1090b3f65f874b810c74302ace4e7d763a90f1cc730535a26bc6d11ec37e557599f3f962249889da9bba4f69343f999c89a2eb2ab7d4e93c9969d140d36609f80c4f1a387248c34aac66b71d882520b3f23536da62fc91d8a4a9599b39b80c8c8189d694a7853f59438eb5c192fc97f3f31ee787e09b6e95ce12960d8d73a7cae68f16a3cb75e22c3b67c15c8db7a1bed6bc8d69265b66b42372cb06bb6f9f44ea6e1eca14df6629020c05e62cb8d25ade738232640a6746319c6c20292a4baee64ed77e7226590c1454a71e9cad141b0994804e7fde317483ba6a74b7559a689eff683e3f711d0e964419874d47bfc6d0de50925fa993ac0d094d2ca648878bbce23203c1072724e65bb866e09fb636cca83b9c739864353cc54ae39aeabd2533c5242d23211e12aee155d01a4d1ddcdecaa14f1e7917b99f8f944e954fd5f1957508c8f49f5ed02f0dd7aa6b5e3aa8f5cdcd4bb00745d657cb161e55fad41b2ff6fa647c8abff0ebf4c2c9f4f19c9739ed3063957cd1336bc4a371a45da1db98e22b6f2af357e230ef0c5d3081a7c70fd5a485ae0288a7e5ab2ca8911119424d029547d6ee6ec3453d534682770670c2135d757c8f1f00e8e2ed3a1f3d93db30b489bbade5c6684941c96d6426062ceda09e0ba498a4ce4af7e12a480e1c07835860bcec1c5e779ce4df863215aa46755459c71b88249d6b3b1320bbbaffabbde02fc7d2add9f7ebf5ebc1ad63f232a7336bee4105d842a57117353a094d60c7ee734b6c42bfa5c3ad3337f2be5b80290f17c9952f0e9a7abeb36132cfed7740eb098075a87157105c72e981203e59b17894ff3efb6880353e47065b2c40e0e53de57810915106bb5345921cc5e3ebb0b060d2c6e6415675d2528ab2258338bd21df97b33c9ab8cc9ee2401fc88b2e3068e71f1d8539e2b0e2f9aea6aac0bf3ffaa1dcad0dbe9364465b7ae9da83ea178d00cd71ee055038fe3448351b84830041b988fd60fba2569c7f167b0c38514267a52cf2a4b98ad5f39e61fe114f67f0c8ffcfc568ae6694ed3fc95761c85c6fa7e9227b83497ef398657734de554a9f468d9405f7fdeaeb88941f432471df025aa48238bb903206604e34a7aa25e7b640ec192b49fe9ac67853c78a7da952260af2e21750d541dde87f5f1db0a6548459352259a34c5fae11872b89d578a5872370b761f19d625ee85fbd8744ae741602f18891ee11181dea7a816a9c911c4b22fd86c405003a4b18850b778cb0a1556e4200bcff85a27e3555c745ff64b882ede7a22d95e69b4ee1d6fbdef46375e5e05320b26c7d23ffd3550ebe2d861fde9ed173eddc0e41c424f64ebb5cd0ec5dc3cc80448783a971b9013825af3c04821302a29474e7e58671dbc1e06aa1cd8280b74a8ef7eff52663f50d32257916edee9751c981f81eb99b46a9d62cb1f1b6b9155c23d3fb105fcd1ec7a1e24c25a51c032e78c9f00fee4dba48f71db6c47ad3b3cbfdf6b962048384baa191a20ffc6642985c77225d1706f388c4b0b821d6a4db2f8aa9e40f79ca4ba96923bfbb74f7d383a381850cd65b731ce7eb91ea627d50e9124b54e007d2f6db9390a860b841d1f841638b8e588a5868f9260935bc789ee4b5c53199b2d92487c0dc5712f13b0b4ad80e1e5226b1770b4e55a647232c06a4023bf56493761b6d58a1c9895a7f9ecd4da46319ad30b1a4c6c9a82f0b782eb95cb1af101ab288d4b5d79ef5288f232fe1d3a5ba25347baed1334c1d355cf5df642be5e3ecd8adf2b45e41298e31d2bf742c6c4ffeec849b22f62fead79dd5dde38d0f6beefd3bbf49db9497c453a826eaf6aa67ce23d132be682ba291fcceca3cffa99e4d4b7e74a8aed6a4a139e78838b0090fa14573475a3b446c317101d9debc6f0b263014810dc60a5e173b8400931cf4b04a9bfa629e5246776b16f4c3149cca866f66da9fb9f946632905d9ea31d12d5982b7bcca51632e8abc238b6be8e78a2586a891d90b925a5721a06dd0ee69adcd3f22803c90f04acf0171446213a0cb2ae2349fd3dec463ecea0411b81276fbc8200673a20c9e0ad41e8f403bfd7d837be8002eb7618dff3fc8dda2c96d5490c99979b9e7fad72d375642d47b125f538f4bdfb8691e3daa89210aaa6d7e9bccf1409b5a8080b5a3f276aa0cf7ca16abd0c66f96ba0e0cb752032ad933f781b7c493ff9d5955e5cf3d3672df1a3b52cfae6903d46d265475050d0f5c38ce7a56eadfc564f8992d815616e51cb0c1cc8ebfaab9622ed436b8cd2155c50cbc01852b2312403957446387450eda46735028d6fad26a50ec1abfa60beb2358002f5df8ef5b899e2fa7845dbf2bbe8833e941fe0c41bd76742c9e8cbbc8d30184ab6f6386fa6b864f5fdab6b82fe0a0531abd0745b81509613725a4d04489f71ce12ea9f573c0cf47380b2137fa8f548ed6aebca307e884509d995a73fcb02a44cfa716356d490282fce8ab703f1c53c7118637c805b7366b29394efb2bccf46f7b48f384c67c50902f88f750684ce297e8b1e510e46bd012b5eed71790eb1b1c2404fd43ce453a7feaa7cda77183bde626f94e5a684c3e7bdc5a78577a1ad2b7830215369ce6cec2e6e53da8aa79ebc5ad434c00c14d061412f79b5ed691934466322c76746b3736b8e6941e9b4f5da800daf4042deafa38f480e3cdcb68c8bb83d6b05021a3abcfb469eb11fc353fe0c7885182a73e362ec0cbb3d7cab7ba41a19edeadfd510b4da74f514721fc005876cf277c115e38741e32b692bd57eeffa349e964bceceedf49ebbda5fe89cdb8e613f638508cf315f66e570711477fd2092f54602dd41a143ee56511dd0d83579d0aaad38f7318923d6ea0619541ea271fcc2676d98e88736fe471b84c68b7b1ad657bb97549bf328f89d9efab9e726bcee7d80f065fef42669ab6c70c325a3e1f5d5ea7654efde74b03a33ae0acaa276ea94a9cbaaa7bf155752e9d0248056e5d3b1b5316018daa9415af3a2ffab736b5f4662358cd70400512211324d9655ac6eae5805fc660499e22df581023671a741830f8d452e2559cbf9dac9b73a86d5a6ed1440dad8469e25fa3ef8b085be9fdb4defa534f61761694a935d3945bd0814d05bd730d64badfb52ddc204ead3efed5c8813a6d6d1e608e639562c81d5873a9d1074cf9068f022590e7006696271fae56cb5dfa93f6917568d7e40f7491883b9789c6c1fc408afd2d331dbe623147f9599faa1ddcde9d5089e622027a9057c7b71c6b763564df475af92c5c4d59ff5ccf5581923917eab6b3d4a5676644f1c26af96fbaef2cbbf98dcbfd5f8e9b58fef8f6a0ecd6c5fd59cfa21276114af8ab68cdaebfaaf1668e263c68849ff483f2094bbbd6b49f8d6cb553969306c8f7cdb6104c3811a369fa756641989407ea06396a7b19da4acef976c991544a7300ff0f26667a63f16d032ad0db4652779aeb98fe3145161afb242c5a14a28f125d41034825b339239888d830b4687b9b307e28709f0cb02439706c9ddd983c777405972ae4a7e46077431a12422afc61c3f9feff827c24a87ce284b618056006420065fdb599da1a1f6349a222bf91339eeba879de0ce8a06278b943d248adeea669d0627a345e9f706478c49457b4696abdd9d398ee4d629bc51bce617b0f00eabe43680b0a8c924f50e0ea981cc24f2ccabb2e7bf07f751e8f95509fd0cff8c7bc9b9a6d868a580dc5ecae4b8dba54d3394b2a8b4257ec0611d70b9a89191207d6e13ebc7c69e780be07f516d43f2c64a169e93f0c5d9d8f196e56b4335c533ba7c9e61421b7fddee37321202fcde6bc2615a4823f7b62980fbce8d4ae3ba41a40ff3f24fae5a20ff33aa52d45634974e01bb1d1f119a756a2ec2594b1e028cf06713de1f81a29b3ddf10f2820ce4b673934a3f34cafba20e791416c521843eeaaff861671ddefcd2bf9baa545b1920e1da5873aefeff71ff04203646949b82e5dbab62b67e23f84df5c31d431c83a1144ecf6c4d29c9f68646377902e9789716bd3b5ed774ec12a2f827a51a9c90ae58a2cf1029b8a347b031db8e2c8b1ae4b0d40f4feb08f07eb48905ef3c63b85f3c43d44907768bec832c078c3d0d73e6d97dec51c5ba141b31091891fa2c54f83513385dcc7cbc92d358ba0a7ac0d65c8fee712d726cb15fda20898b9a490d36ef321c4e1caa8321705b4f2dd269af79d1a9b6486e161abfde8abea21616d09329b0d1ea83e14f58e8b43060b593093e6686c6bcde89db5d377a01e92f0cbf19cf8a85491e7b5841d47fa76926e24e14c454737321a317463569fab7d1a30cdaea3b9df146ce73acbfb4a7d68979fcb3a8cb8ffa55bdeae010e4a462a7ff62a9762c7892c39b70d761193fdeb003d290281ba6a4fc83503ca66490e257122f75df98f7fefcf3131b25d5f34ee7d2f1335fdf955672ecc0a650e52c81b0be466f30b8fc0a5e397fec57d9f707d47a7484fc79756bfa7b1ec0c79dc6c66493b176c16b0903f7ca2ae49a0d5a2a36553e67276e558f1f39f1364cf5dc336fb31d831846be73105dc1a64626b7ac66ae70b3eb1842633f1cd394be7ec65694c0a788a6cec3cfe91be9bb9c141380db01d9c11555f35b422395762c68ef30c95ae7b1c2529f91ed5e2d64ee5e57222dd692896512efce4392202ee71938a6e46f98e9678537b208e2ec835d02b7854488cafdfdfe62ad4e2bc8a01a6ecdae458ad2261e179739ee020902aa35274af8b4f2ac58b19ef9017c648d9a507bd57d9efd31607fb9ad1e59f26c47e8ea4b9275e5b2c5605b0076ea9e8dde7f0712ff5383e2d2bafbe3dbab164985b35f27dc665ccfd3e22db17f9883d721de4a194d25962937c89a43737e666b935792ef43c09c24944fe488f823bb170affe7cb../heartbeat/NodeUtilizationservicepacemaker-3.0.rngrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroothaclusterhaclusterhaclusterhaclusterhaclusterroothaclientrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroothaclienthaclienthaclienthaclienthaclientpacemaker-1.1.18+20180430.b12c320f5-lp150.2.3.1.src.rpmconfig(pacemaker-cli)pacemaker-clipacemaker-cli(x86-64)@ @@@@@@@@@@@@@@@@@@@@@@@@    /bin/bash/bin/sh/bin/sh/bin/sh/bin/sh/bin/shconfig(pacemaker-cli)coreutilslibc.so.6()(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libcib.so.7()(64bit)libcrmcluster.so.9()(64bit)libcrmcommon.so.13()(64bit)libcrmservice.so.8()(64bit)libglib-2.0.so.0()(64bit)liblrmd.so.8()(64bit)libncurses.so.6()(64bit)libncurses.so.6(NCURSEST6_5.7.20081102)(64bit)libpacemaker3libpe_rules.so.2()(64bit)libpe_status.so.16()(64bit)libpengine.so.16()(64bit)libqb.so.0()(64bit)libstonithd.so.6()(64bit)libtinfo.so.6()(64bit)libtinfo.so.6(NCURSES6_TINFO_5.0.19991023)(64bit)libtinfo.so.6(NCURSES6_TINFO_5.7.20081102)(64bit)libtransitioner.so.5()(64bit)libxml2.so.2()(64bit)libxml2.so.2(LIBXML2_2.4.30)(64bit)logrotateperl-TimeDaterpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.1.18+20180430.b12c320f5-lp150.2.3.11.1.18+20180430.b12c320f5-lp150.2.3.13.0.4-14.6.0-14.0-15.2-14.14.1\R@\I\E@ZS9XS5d@S,)S!S!SnSnSnSnS?S?S@R@RRR@R@RURRR2@RΏ@RSRjR0@R;RRRRR@Ru@RfhRfhR_@R^RM\@RH@RB@RB@RA~R8D@R/ R' R$}RQQdQQޞ@QLQLQ@QcQ@QQ@QQ@@Q@Q@Q@QQ@QQU@Qo@Qo@QnQ]k@QYvQYvQU@QU@QT0QR@QR@QP<@Q?Q=@Q9Q0@P@OF@O.@OOO@OOtNOpZ@OoOoOm@Ohq@O_6ObO N2NNx@N;@MRMQ0@LLi(@L_L[@LZLPLF@L=L3LL0K@K;@K@K@K@KKKՀ@KыKK @KK9@K9@KK@K@K@Kg@K!@KK8@K8@K@KKO@K@KK@KqK}+K}+KqN@KoKY@KKK K?J@JJu@J@J@Jv@JeJ[!JT@JT@J/@I@IIд@IÅ@I?@I?@IV@IIIygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comjengelh@inai.deygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.combliu@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comrbrown@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comdimstar@opensuse.orgygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comtchvatal@suse.comygao@suse.comtchvatal@suse.comtchvatal@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comrguenther@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comdimstar@opensuse.orgygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comjsegitz@novell.comygao@suse.comro@suse.deygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comschwab@suse.deygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comlmb@suse.comlmb@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comlmb@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comcoolo@suse.comaj@suse.deygao@suse.combadshah400@gmail.comygao@suse.comygao@suse.comygao@suse.comlmb@novell.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comtserong@suse.comtserong@suse.comcoolo@suse.comtserong@suse.comtserong@novell.comtserong@novell.comtserong@novell.commeissner@suse.delmb@novell.comlmb@novell.comlmb@novell.comtserong@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comtserong@novell.comtserong@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comygao@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comdmuhamedagic@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.com"lmb@novell.com""lmb@novell.com""lmb@novell.com""lmb@novell.com""lmb@novell.com"abeekhof@suse.delmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@suse.delmb@suse.deabeekhof@suse.deabeekhof@suse.deabeekhof@suse.deabeekhof@suse.deabeekhof@suse.delmb@suse.deabeekhof@suse.deabeekhof@suse.deabeekhof@suse.deabeekhof@suse.deabeekhof@suse.de- CTS: really don't require nodes to be specified if listing tests (bsc#1114840) * bsc#1114840-0001-Test-CTS-really-don-t-require-nodes-to-be-specified-.patch- cts: temporarily disable any enabled cluster serivces when running remote tests * 0002-Test-cts-temporarily-disable-any-enabled-cluster-ser.patch - cts: service counts as enabled only if it's explicitly enabled * 0001-Test-cts-service-counts-as-enabled-only-if-it-s-expl.patch- cts-exec: still run the tests for the other resource classes even without python systemd bindings (bsc#1121808) * bsc#1121808-0001-Test-cts-exec-still-run-the-tests-for-the-other-reso.patch- CTS: ignore monitor failures when testing remote node fencing * 0002-Test-CTS-ignore-monitor-failures-when-testing-remote.patch - CTS: lower remote connection failure detection time * 0001-Test-CTS-lower-remote-connection-failure-detection-t.patch - cts: use bash in the pacemaker-cts-dummyd * 0001-Test-cts-use-bash-in-the-pacemaker-cts-dummyd.patch - cts: clear constraints on cluster nodes (bsc#1121272) * bsc#1121272-0003-Test-cts-clear-constraints-on-cluster-nodes.patch - cts: resume any possibly frozen pacemaker_remoted when cleaning up the test (bsc#1121272) * bsc#1121272-0002-Test-cts-resume-any-possibly-frozen-pacemaker_remote.patch - cts: simulate failure of pacemaker_remoted by freezing it with SIGSTOP (bsc#1121272) * bsc#1121272-0001-Test-cts-simulate-failure-of-pacemaker_remoted-by-fr.patch - CTS: don't require nodes to be specified if only listing tests (bsc#1114840) * bsc#1114840-0001-Test-CTS-don-t-require-nodes-to-be-specified-if-only.patch - cts: set default number of iterations to 1 * 0001-Test-cts-set-default-number-of-iterations-to-1.patch- fenced: Handle fencing requested with nodeid by utilizing the membership cache of known nodes (bsc#1094208, bsc#1107270, bsc#974108) * bsc#1094208-0002-Refactor-fenced-Handle-fencing-requested-with-nodeid.patch - controld: able to manually confirm unseen nodes are down (bsc#1094208, bsc#1107270) * bsc#1094208-0001-Fix-controld-able-to-manually-confirm-unseen-nodes-a.patch- Add missing %pre section for cts- spec: Install /etc/pacemaker directory for storing authkey file (bsc#1082883) - spec: unify quoting in {pre,post}* scriptlets' action soliciting - spec: add a simple retention of pre-existing log move targets - XML: upgrade-2.10.xsl: resource meta_attributes: tweak diagnostic msg * pacemaker-XML-upgrade-2.10.xsl-resource-meta_attributes-tweak-diagnostic-msg.patch - XML: upgrade-2.10.xsl: re-apply on scheduler CTS test cases * pacemaker-XML-upgrade-2.10.xsl-re-apply-on-scheduler-CTS-test-cases.patch - XML: upgrade-2.10.xsl: resource meta_attributes: validity conformance * pacemaker-XML-upgrade-2.10.xsl-resource-meta_attributes-validity-conformance.patch- execd: avoid memory leak when testing remote key * pacemaker-execd-avoid-memory-leak-when-testing-remote-key.patch - cts-scheduler: avoid unsupported usage of requires * pacemaker-cts-scheduler-avoid-unsupported-usage-of-requires.patch - controld: avoid memory leak when synthesizing failure * pacemaker-controld-avoid-memory-leak-when-synthesizing-failure.patch - XML: upgrade-2.10.xsl: resource meta_attributes: isolation* items * pacemaker-XML-upgrade-2.10.xsl-resource-meta_attributes-isolation-items.patch - XML: upgrade-2.10.xsl: make diagnostics more direct wrt. context * pacemaker-XML-upgrade-2.10.xsl-make-diagnostics-more-direct-wrt-context.patch - XML: upgrade-2.10.xsl: remaining "marking" space with op meta_attributes * pacemaker-XML-upgrade-2.10.xsl-remaining-marking-space-with-op-meta_attributes.patch - XML: upgrade-2.10.xsl: simplify 2/2: HelperIdentity, no INNER-RECURSION * pacemaker-XML-upgrade-2.10.xsl-simplify-2-2-HelperIdentity-no-INNER-RECURSION.patch - XML: upgrade-2.10.xsl: simplify 1/2: resource instance_attributes * pacemaker-XML-upgrade-2.10.xsl-simplify-1-2-resource-instance_attributes.patch - XML: regression.sh: modularize "XSLT processor", allow substitutes * pacemaker-XML-regression.sh-modularize-XSLT-processor-allow-substitutes.patch - tools: improve error messages from crm_resource --move * pacemaker-tools-improve-error-messages-from-crm_resource---move.patch - tools: use output redirection correctly in crm_standby * pacemaker-tools-use-output-redirection-correctly-in-crm_standby.patch - tools: handle multiple values properly in crm_attribute * pacemaker-tools-handle-multiple-values-properly-in-crm_attribute.patch - tools: bash portability issue in crm_failcount * pacemaker-tools-bash-portability-issue-in-crm_failcount.patch - libcrmservice: don't consider a cancelled recurring operation as failed * pacemaker-libcrmservice-dont-consider-a-cancelled-recurring-operation-as-failed.patch - tools: cibsecret --help/--version doesn't require cluster to be running (bsc#1102915) * bsc#1102915-pacemaker-tools-cibsecret---help--version-doesnt-require-cluster-to-be-running.patch - spec: package cts-exec-helper with main package instead of -cli - spec: move old logs after upgrade - scheduler: improve failed op message * pacemaker-scheduler-improve-failed-op-message.patch - libcrmservice: find absolute paths when used with "service:" * pacemaker-libcrmservice-find-absolute-paths-when-used-with-service.patch - libcrmservice: separate LSB-specific code into own source files * pacemaker-libcrmservice-separate-LSB-specific-code-into-own-source-files.patch - execd: handle systemd actions correctly when used with "service:" * pacemaker-execd-handle-systemd-actions-correctly-when-used-with-service.patch- contoller,scheduler: guard hash table deletes * pacemaker-contoller-scheduler-guard-hash-table-deletes.patch - controller: don't abort after delay if we're no longer DC * pacemaker-controller-dont-abort-after-delay-if-were-no-longer-DC.patch - libcrmcommon,pacemakerd: kernel task name is at most 15 characters * pacemaker-libcrmcommon-pacemakerd-kernel-task-name-is-at-most-15-characters.patch - io.c: restore -Werror buildability, put conversion specifier last * pacemaker-io.c-restore--Werror-buildability--put-conversion-specifier-last.patch- libcrmcommon: avoid memory leak on failed IPC send * pacemaker-libcrmcommon-avoid-memory-leak-on-failed-IPC-send.patch - daemons: improve connection loss messages * pacemaker-daemons-improve-connection-loss-messages.patch - libcrmcommon: improve connection loss message * pacemaker-libcrmcommon-improve-connection-loss-message.patch - pacemaker_remote: correct documentation URL in systemd unit file * pacemaker-pacemaker_remote-correct-documentation-URL-in-systemd-unit-file.patch - libcrmcommon: check file/directory writability better * pacemaker-libcrmcommon-check-filedirectory-writability-better.patch - spec: no more buildroot XML to modify- Update to version 1.1.18+20180430.b12c320f5: * XML: upgrade-2.10.xsl: fix "mark space" issue (bsc#1091661)- Update to version 1.1.18+20180427.a34ccd926: - crmd: avoid double free after ACL rejection of resource delete - lib: Changed to lowercase comparison. - all: correct misspellings - controld: remove deprecated configdir parameter - controld: deprecate and ignore configdir parameter - controld: consistently indent with spaces instead of tabs - libcrmcommon: don't record pending notify actions as completed - crmd: improve messages when a node is unexpectedly lost - cib: improve shutdown messages - cts-regression: allow specifying to run multiple tests again (bsc#1091360)- Update to version 1.1.18+20180417.24df451b5: - alerts: Delete redundant code. - liblrmd: cast time_t to long long when printing - cts: separate dummy systemd service into separate files * Drop obsolete fate-323526_pacemaker-tests-shebang-python3.patch - crm_diff: rhbz#1561617 - Ignore attribute placement when comparing in 'cib' mode - spec: remove reference to long-gone file - spec: mark -cts & -doc packages as noarch - spec: fix malformed conditional macros for systemd-less cases - alerts: Change timestamp of Alert of snmp.- Update to version 1.1.18+20180411.2f77f4922: - libcrmcommon: free signal triggers when cleaning up mainloop - libcrmcommon: fix memory leak in schema workaround - fencing: avoid memory leaks when freeing remote operation - fencing: free dynamic memory at stonithd shutdown - crmd: delete resource from lrmd when appropriate - Test: rhbz#1565187 - Ensure failures that cause fencing are not removed until after fencing completes - rhbz#1565187 - Ensure failures that cause fencing are not removed until after fencing completes- Update to version 1.1.18+20180406.633845120: - libcrmcommon: add a byte to pid file holder - attrd,cib,libcrmcommon: avoid %z - crmd: avoid memory leak when synthesizing operation result - tools: avoid memory leak on invalid resource - crmd: log rc code as extended information - cib: avoid file descriptor leak on temporary file creation - pengine: avoid redundant test - libcrmcommon: handle compression failures properly - libcrmcommon: improve empty string check - various: improve NULL checks - libcrmcommon: improve patch xpath searches - libcrmcommon,tools: use format strings appropriate to variables - libcrmcommon: use correct argument type for duration - libcrmcluster: avoid potential use-of-NULL - libcrmcommon,libstonithd: avoid resource leaks - tools: get sensor lun in ipmiservicelogd before using it - schema upgrade: temporary fix to avoid crash on newly present text- Update to version 1.1.18+20180406.ce623681e: - fencing: convert fence_legacy to python - fencing: fix typos in messages- Update to version 1.1.18+20180406.18fe1cc2b: - XML: upgrade-2.10.xsl: add transform for automatic upgrades to latest schema - Log: establish correct character string literals also with qb_logt sink - pengine: fix swapped warning message arguments leading to segfault (bsc#1090538) - cts-pengine: add regression test for notifications for unrunnable actions - cts-pengine: update regression tests for notification changes - rhbz#1545449 - Do not perform notifications for events we know wont be executed - bundle: Added add-host option. - liblrmd: add API function for new lrmd op - lrmd: add new lrmd op to list recurring ops - spec: require corosync >= 2.0.0 - crmd,libcrmcommon,libpe_status: guint can't be negative - xml: Allow local "kind" in resource_set within rsc_order (bsc#1085515) - Pacemaker Explained: "symmetrical" defaults to "false" for serialize orders (bsc#1085515) - pengine: "symmetrical" defaults to "false" for serialize orders (bsc#1085515) - pengine: Avoid potential use-of-NULL in unpack_simple_rsc_order() (bsc#1085515) - cts-pengine: add new regression test for interval handling - libpe_status: handle ISO8601 intervals when checking for blocking failures - pengine: properly cancel recurring monitors - pengine: improve recurring operation messages - pengine: check for duplicate intervals properly - libcrmcommon: avoid misuse of crm_get_msec() - pengine: treat reconnect_interval more consistently with action intervals - libpe_status: use default timeout rather than 0 if timeout spec is bad - libpe_status: use correct default timeout for monitors- Update to version 1.1.18+20180322.d37067b2a: - spec: Make sure shadow package is installed before adding user and group- Update to version 1.1.18+20180313.2c83c6872: - cts-pengine: add regression test for changing bundle replica count - libpe_status: handle unique bundle children correctly- Update to version 1.1.18+20180312.31c732adc: - spec: make shadow dependency explicit - spec: drop requirements for bison and flex- Update to version 1.1.18+20180309.e51687162: - crmd,liblrmd,libcrmcommon: improve remote node disconnection logs - libcrmcommon: add function to get text equivalent of client type - crmd: always write faked failures to CIB whenever possible - liblrmd: add function to create resource info structure - crmd: functionize setting fake operation status - crmd: always assert when operation can't be created - crmd: avoid core dump if remote connection doesn't exist - crmd: improve lrmd failure handling - crmd: return rich error codes from get_lrm_resource() - crmd: match only executed down events - crmd: functionize pieces of do_lrm_invoke() - crmd: don't abort for v2 diff LRM refresh if actions pending - crmd: validate CIB diffs better- Update to version 1.1.18+20180305.9cd0f6cb8: - libcrmcommon: avoid memory leak when schema transform not found - tools: warn if crm_resource --wait called in mixed-version cluster - Install /etc/pacemaker directory for storing authkey file (bsc#1082883)- Update to version 1.1.18+20180226.f788652cf: - crmd: log transition ID when aborting - crmd: always log unmatched down events at least at debug level - pengine: deprecate require-all in rsc_order (fate#324508) - libpe_status: deprecate stonith-action=poweroff (fate#324508) - tools: already latest schema is not failure for cibadmin --upgrade - libcrmcluster: prefer corosync name over ring0_addr (fate#324508) - spec: add gcc to BuildRequires - attrd: Synchronize attributes held only on own node.- Build: Ship cibsecret by pacemaker instead of cluster-glue (bsc#1082456) * Drop obsolete pacemaker-cibsecret-tool-temp-disabled.patch- Update to version 1.1.18+20180216.ae50b7f5d: - various: improve string allocation - XML: upgrade-2.10.xsl: re(drop) rsc_colocation/@score-attribute{,-mangle} - XML: upgrade-*.xsl: bump the validate-with field from within stylesheet - XML: upgrade-*.xsl: omit XML declaration - upgrade-*.xsl: don't be picky about comments, PIs, etc.- Update to version 1.1.18+20180213.965befd59: - libcrmcommon: use /tmp when creating temporary XML file - tools: crm_master should always work on node attribute - tools: crm_resource --cleanup couldn't match clone instances - tools: crm_resource --refresh should ignore --operation and --interval - crmd: quorum gain should always cause new transition - rhbz#1527072 - Correctly observe colocation constraints with bundles in the Master role - Bug rhbz#1519812 - Prevent notify actions from causing --wait to hang - libpe_status: recover after failed demote when appropriate - lrmd: always use most recent remote proxy - libpe_status: limit resource type check to primitives - PE: correct mispelled constant - PE: Ensure stop operations occur after stopped remote connections have been brought up - PE: Remote connection resources are safe to to require only quorum - PE: Only allowed nodes need to be considered when ordering resource startup after _all_ recovery - PE: Ordering bundle child stops/demotes after container fencing causes graph loops - PE: Passing boolean instead of a pointer- Update to version 1.1.18+20180209.7acb22379: - use proper way to make output files executable - spec: move lrmd_test to cli package - spec: make log directories owned by cli package - spec: move all test data into cts package - pengine: move regression test to cts as cts-pengine - lrmd: move regression test to cts as cts-lrmd - fencing: move regression test to cts as cts-stonithd - tools: move CLI regression test to cts as cts-cli - rename top-level testing files and move to cts directory - tools: drop crmadmin -i and -d options (fate#324508)- Update to version 1.1.18+20180208.f6a261987: - Feature: crmd: modify feature set handling- Update to version 1.1.18+20180205.b44c57e35: - pengine,doc,tools: rename "master score" to "promotion score" (fate#324508) - libpe_status: rename bundle 'masters' to 'promoted-max' (fate#323415) - pengine,libpe_status: rename master-{max,node-max} to promoted-* (fate#324508) - various: merge clone resource type and master/slave resource type (fate#324508) - attrd,pacemakerd,libcrmcommon: make "Exiting" last message - don't use corosync logging settings (fate#324508) - crmd,libpe_rules: drop support for notification-agent/recipient - tools: improve crm_failcount exit code usage- Update to version 1.1.18+20180129.c801ab11e: - allow configuring specific python intepreter version (fate#323526) * Drop obsolete fate-323526_pacemaker-pacemaker-configure-AM_PATH_PYTHON-python3.patch - use auto-configured python executable in python shebangs (fate#323526) * Update fate-323526_pacemaker-tests-shebang-python3.patch - xml: drop score-attribute and score-attribute-mangle - pengine: avoid misuse of function parameter - libcrmservice,pacemakerd: improve privilege dropping- Update to version 1.1.18+20180119.9146c3c20: - crmd: Avoid double-removal of glib event source on stopping- Update to version 1.1.18+20180118.9c3f7a49c: - libcrmcommon: put exit/return handling in own source/header files - Build: bump build dependencies - Rebase: * pacemaker-Wno-format-signedness.patch- configure: Check for python3 with AM_PATH_PYTHON (fate#323526) * fate-323526_pacemaker-pacemaker-configure-AM_PATH_PYTHON-python3.patch- Update to version 1.1.18+20180112.bd7115b8c: - tools: improve help text - libpe_status: deprecate restart-type and role_after_failure- Update to version 1.1.18+20180109.57d48a1b1: - libcluster,libcrmcommon: improve BZ2 error messages - all: use consistent exit status codes - libcrmcommon,tools: improve XML write error handling - stonithd,libcrmcommon: auto-calculate stonith-watchdog-timeout when requested (fate#324508) - logrotate: switch user when rotating logs- cts: Operate pacemaker service on startup to prevent triggering StopWhenUnneeded of corosync service * pacemaker-cts-StartCmd.patch- Update to version 1.1.18+20180104.7ba28d854: - tools: improve crm_standby option handling - tools: improve crm_standby help and error messages - tools: improve crm_master option handling - tools: improve crm_master help and error messages - tools: remove deprecated stonith_admin option (fate#324508) - tools: remove deprecated crm_verify option (fate#324508) - tools: remove deprecated crm_attribute --node-uuid option (fate#324508) - tools: avoid using deprecated options - tools: remove deprecated crm_resource options (fate#324508) - libpe_status: use consistent monitor for implicit remotes - all: overhaul log locations (fate#324508)- spec: Switch dependencies from python to python3 (fate#323526) - tests: Switch shebang from /usr/bin/python to /usr/bin/python3 (fate#323526) * fate-323526_pacemaker-tests-shebang-python3.patch- Update to version 1.1.18+20180101.494eacba4: - migrate cts to python3 (fate#323526)- Update to version 1.1.18+20171221.c91a650ec: - libcrmcommon: drop special handling of pre-1.1.7 failed recurring op history - libcrmcommon: drop special handling of pre-1.1.4 migration history entries - crmd: drop support for DCs that don't support throttling - cib,libcrmcommon: drop support for PCMK_legacy variable- libcrmcluster: use crm_strdup_printf() instead of calloc() - attrd: avoid small memory leak at start-up - systemd unit files: restore DBus dependency - libcrmservice: avoid memory leak on DBus error - pengine: validate more function arguments - Upstream version cs: 098d557cc495944e1b6ebd9d05b819d6da74825e- libpe_status: drop support for "requires" operation meta-attribute (fate#324508) - tools: crm_resource --cleanup with no resource specified (bsc#1071503) - tools: crm_resource --cleanup (bsc#1071503) - crmd,libpe_status: drop support for legacy option aliases (fate#324508) - libstonithd,libpe_status: drop support for pcmk_poweroff_action (fate#324508) - libstonithd,libpe_status: drop support for pcmk_arg_map (fate#324508) - libstonithd,libpe_status: drop support for pcmk_*_cmd (fate#324508) - libpe_status,libpe_rules: drop support for default-action-timeout (fate#324508) - libpe_status: use correct default timeout for probes - libpe_status: drop support for operation meta-attributes in instance_attributes (fate#324508) - libpe_status: fix precedence of operation meta-attributes - libpe_status,libpe_rules: remove support for is-managed-default (fate#324508) - libpe_status,libpe_rules: drop support for default-resource-stickiness (fate#324508) - crmd: drop support for LRMD_MAX_CHILDREN environment variable (fate#324508) - tools: remove crm_mon SMTP support (fate#324508) - tools: remove crm_mon SNMP support (fate#324508) - lrmd: remove deprecated -r/--dummy command-line option (fate#324508) - tools: crm_resource --cleanup for non-primitive resources (bsc#1071503) - pengine: unfence before probing or starting fence devices - Upstream version cs: 4528eb3b726197ab077243ab923ed291473f0ed7- attrd: ensure node name is broadcast at start-up (CLBZ#5330) - Upstream version cs: 407ded8de381543e71c5b94b3ade296fcfd2c828- libpe_status: remove support for default-resource-failure-stickiness (fate#324508) - libpe_status: remove support for resource-failure-stickiness (fate#324508) - various: remove support for pre-Pacemaker-1.0 CIB XML (fate#324508) - libpe_status,tools: remove support for legacy ticket state entries (fate#324508) - various: remove isolation wrapper support (fate#324508) - systemd unit files: enable TasksMax=infinity (bsc#1028138, bsc#1066710) * Drop obsolete bug-1028138_pacemaker-pacemaker.service-TasksMax.patch - Upstream version cs: 53a3fe14b15b087bbde9ccb524d11d0a413cc6e9- RA: NodeUtilization RA is now shipped by resource-agents package (bsc#1070347) * Drop bug-1015842_pacemaker-NodeUtilization-RA.patch- crmd: default record-pending to TRUE (fate#324508) - tools: enable new crm_resource --cleanup/--refresh behavior (fate#324508) - Upstream version cs: f36ad364748880815bf00151c516a1f2deae2fed- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- Update to version 1.1.18 - libpe_status: always use default key location with bundles - attrd,stonithd: more efficient regular expression parsing - libpe_status: avoid potential NULL dereference - tools: use proper variable in message from crm_resource -g - tools: use uber-parent for crm_resource -a/-A - tools: use g_main_loop_is_running() properly - libpe_status: monitors are rescheduled, not reloaded - crmd: determine restart/private digests correctly - systemd: add TasksMax comment to pacemaker_remote unit (bsc#1028138, bsc#1066710) - tools: make regression test insensitive to line number changes - pengine,tools,libpe_status: avoid unnecessary use of pe_find_current - pacemaker.service: Recommend not to limit tasks (bsc#1028138, bsc#1066710) * Update bug-1028138_pacemaker-pacemaker.service-TasksMax.patch - tools: set the correct OCF_RESOURCE_INSTANCE env when crm_resource --force-* executes RA - typo: overriden -> overridden - portability: the difference of time_t values is given by difftime() - pengine: avoid not-really-possible use-of-NULL - PE: Have bundles log to stderr so that 'journalctl -M' works (rkt) - tools: don't expect reply to failed send - pengine: use newer Pacemaker Remote terminology - pengine: memory leak when writing graph to file - tools: don't reinvent the glib wheel - tools: implement clean-up dry-run correctly - pengine: avoid potential use-of-NULL - Update regression test outputs - PE: Improved logging of reasons for stop/restart actions - PE: Allow all resources to stop prior to probes completing - PE: Correctly defer processing of resources inside containers - crm_resource: Ensure we wait for all messages before exiting - crm_resource: Have cleanup operate only on failures - PE: Have bundles log to stderr so that 'docker logs' works - PE: Resources are allowed to stop before their state is known everywhere - PE: Use the node we already have and know isnt NULL - PE: Flag resources that are acting as remote nodes - crmd: Scale all cib operation timeouts - PE: Bare metal remotes _can_ run resources now and must be probed - PE: Bundles only need to wait for other containers on the same node to be probed - crmd: Scale timeouts with the number of remotes too - PE: There is no need for port mapping directives when net=host is specified - PE: Do not always expire failed operations of nested remotes - PE: Consolidate REMOTE_CONTAINER_HACK logic - PE: Exclude resources and nodes from the symmetric_default constraint in some circumstances - crm_resource: Don't cleanup on nodes not meeting the discovery conditions - PE: Restore the ability to send the transition graph via the disk if it gets too big - crm_resource: Prevent disconnection from crmd during cleanup - PE: Do not probe connection resources until the container is active - PE: Detailed resource information should include connection resource state - Tools: Allow crm_resource to operate on anonymous clones in unknown states - tools: Clean up everywhere if we don't know anything about the resource - crm_resource: See what cleanup would have done for a saved configuration - PE: Only pass requests for promote/demote flags onto the bundle's child - Upstream version cs: 2b07d5c5a908998891c3317faa30328c108d3a91 (Pacemaker-1.1.18)- pengine: if ignoring failure, also ignore migration-threshold - libcrmcommon,liblrmd,lrmd: improve messages for failed remote sends - libcrmcommon,lrmd: meaningful error codes when sending remote messages - libcrmcommon: lower watchdog messages when default - tools: set meta_timeout env when crm_resource --force-* executes RA - fencing: don't print event twice with stonith_admin --verbose - fencing: memory leak in stonith_admin --env - fencing: improve stonith_admin help - crmd: hard error if remote start fails due to missing key - libcrmcommon,liblrmd: report meaningful async connection errors - libcrmcommon: return meaningful error codes to connection callbacks - libcrmcommon: async connection callback must get negative error codes - libcrmcommon,liblrmd: improve remote connection messages - pacemaker_remote: warn if TLS key can't be read at start-up - lrmd: tweak TLS listener messages - pengine: don't probe offline or unclean guest nodes (fate#324441) - agents: ifspeed - Try to detect interface name from ip address. - pengine: don't keep unique instances on same node - pengine: improve messages when assigning resources to nodes - Upstream version cs: 23be51236edc34477a99d6979bc0e2cc1e1a7684- libpe_status: avoid use-after-free (again) - lrmd: don't reject protocol 1.0 clients (bsc#1009076) - tools: print descriptive messages for OCF exit code - tools: differentiate trace log level for RAs - tools: show RAs debug logs only when verbose mode for crm_resource --force-* - tools: suppress an invalid error message for crm_resource --force-* options - pengine: don't schedule reload and restart in same transition - libcrmservice: list systemd agents alphabetically - libcrmcommon: add function to sort list alphabetically - pengine: new regression test for unrecoverable remote connection - libcrmservice: avoid infinite loop on bad DBus reply - libcrmservice: list systemd unit files, not only active units - libpe_status: print container type in lowercase when outputting XML - tools: re-enable crm_resource --lifetime option (CLBZ#5251, bsc#950128) - libcrmcluster: improve error checking when updating node name - tools: fix crm_resource --why output when resource and node are specified - libcrmservice: parse LSB long description correctly - libcrmservice: follow LSB standard for header block more strictly - libcommon: Erase old exit_reason - Upstream version cs: 36d2962a8613322fc43d727d95720d61a47d0138- crm_mon: error-exit child if execl should return - crmd: avoid memory leak when caching meta-data - tools: ensure crm_resource data set is initialized - libcib: ensure xpath result isn't empty - tools: missing break statement in attrd_updater - libcrmcommon: check sscanf() result when parsing schema version - tools: check sscanf return value when parsing failed op list - tools: treat bundles with replicas like clones when restarting - tools: allow crm_resource to be called without arguments - tools: update regression test for recent message changes - tools: improve crm_resource --show-metadata error messages (CLBZ#5287) - libcrmcommon: add functions for using agent specifications - tools: improve crm_resource help (CLBZ#5251, bsc#950128) - libcrmcommon: improve cluster option parsing - Upstream version cs: 27b631162104d90e944cbc107c2d46e983f94ca7- spec: Disable deprecated crm_mon SNMP/ESMTP support (configure alerts instead)- pengine: add tests for no-quorum-policy=suicide - libpe_status: properly detect when nodes should suicide - libpe_status: always log startup-fencing value - libpe_status: generalize ability to log warning only once - pengine: reset loss-policy from fence to stop if no fencing - pengine: avoid use-of-NULL when unpacking tickets - tools: ensure crm_resource works if no command is specified - libpe_status: validate no-quorum-policy=suicide correctly - tools: use-after-free in crm_diff - RA: ClusterMon - Correctly handle "update" parameter - attrd: "peer peer loss" -> "peer loss" - Tools:Refactored Crm_resource to have proper assignments for require_* - Upstream version cs: c4a09cfec99570a2509831f4b8974457dcdb1af6- Log: Reduce verbosity of developer logging - PE: We most definitely need to probe connection resources - PE: Ensure the bundle nodes get set with the correct discovery mode - PE: Implement probing of container remote nodes (fate#324441) - attrd: Tweak log messages for clarity - crm_resource: Do not send history erasure commands for nodes where this is none - PE: Resources in bundles should also respect failcounts - PE: Do not send notifications to unclean bundles - PE: Prevent graph loops when fencing the host out from underneath a bundle - Tools: Allow bundle resources to read/write master scores based on the same logic as attrd (cf34f4c) - PE: bundle: Send an additional host list when container-attribute-target=host - PE: Correctly interpret colocation with bundles - PE/attrd: Allow bundle resources to read/write attributes based on the physical host rather than the container name - Upstream version cs: 4328c6a65424d1caf9785107664ec1b7fc824664- Rebase: * bug-728579_pacemaker-stonith-dev-id.patch - Fix: -Wformat-truncation=2: prevent format truncation - snprintf: use correct signedness in print format specifiers - snprintf: use sizeof(X) as size + prevent off-by-ones - crmd,libcrmcommon,libcluster,tools: handle PID as string properly - tools: use right size for string buffer in fake_transition.c - crm_resource: fix a memleak - pengine: sprintf -> snprintf - libcrmcommon: fix possible infloop in buffer_print - crm_snprintf_offset like parts: fix off-by-ones - attrd: improve update messages - stonithd,lrmd,pengine: spelling/formatting corrections - build: install ifspeed resource agent - libcrmservices: avoid assert for HB resource with no parameters - crmd: re-enable local collection of meta-data for remote nodes - crmd,pengine,libpe_status,libpe_rules: remove support for versioned attributes - crmd: avoid memory leak when node state is unknown - crmd: avoid assert if LRM query fails - libpe_status: more error checking when unpacking bundles - libpe_status: bundles now respect PCMK_authkey_location - libcrmcommon,liblrmd,lrmd: validate PCMK_remote_port - PE: Bundles: add support for rkt bundle type - libcrmcommon,libpe_rules: unpack new alert filter syntax - xml: allow specifying alertable events - Fix: a proper calculation of a speed in case of hfi1 for ifspeed RA. - pengine: detect proper clone name at startup - pengine: don't ignore permanent master scores at startup - pengine: handle resource migrating behind a migrating remote connection - stonith-ng: advertise pcmk_on_action via metadata - liblrmd: Make sure the operation of a remote resource returns if setup of the key fails (bsc#1053463) - libcrmcommon,pengine: improve log messages - PE: only print to stdout if run from command line - crmd: eliminate size restriction on node state xpath - pengine: add regression test for remote connect interval wait - pengine: re-enable unrecoverable remote fencing - pengine: Make sure calculated resource scores are consistent on different architectures (bsc#1054389) - PE: Allow resources inside bundles to receive notifications - PE: Update unfencing device change test output - attrd,crmd: erase attributes at attrd start-up, not first join - attrd: accept connections only after CIB connection is active - attrd: make CIB connection function self-contained - attrd: improve messages - stonith-ng: make fencing-device reappear properly after reenabling - crmd: don't need meta-data after resource is deleted - crmd: only get meta-data for OCF and stonith agents - libcrmcommon: generate agent key without :: if no provider - pengine: avoid fence loop for remote nodes - attrd: don't log error if CIB doesn't have an alerts section - PE: Only retrigger unfencing on nodes that ran operations with the old parameters - PE: Output resource changes in a friendlier format - PE: Attempt to indicate why resources are changing state - Mechanism for recording why an action is required - Support unfencing of remote nodes - PE: Ignore optional unfencing events and report the fencing type - Upstream version cs: 20cffae1e9c64217339173c197edac8612ad02b9- logging: ensure blackbox gets generated on arithmetic error - crm_mon: overcome crm_system_name no longer influenced with argv - crm_mon: make CGI bail out on suspicious arguments - crm_mon: make CGI bail out properly and w/o help screen - crm_mon: canonical casing of Content-Type CGI header field - libcrmcommon: handle schema versions properly - attrd: don't reconnect to lrmd if already connected - PE: Ensure nested container connections run on the same host - crmd: send alerts via lrmd - lrmd: execute alerts as cluster daemon user - libservices: add ability to specify user to run an action - libcrmcommon: improve user lookup messages - extra: correct ClusterMon metadata - attrd: avoid memory leak when disconnecting from lrmd - attrd,tools: avoid memory leaks from use of crm_itoa() - attrd: be consistent about attr/host logging - attrd: delay lrmd connect until needed - attrd: add timestamp to alert just when needed - attrd: improve log messages - libcrmcommon,libpe_rules: avoid crash when alerts section has comments - libcrmcommon: add API call for next named XML child - liblrmd: only set environment variables with a value - attrd,liblrmd: handle adding env var at head of list - lrmd: drain alerts at shutdown - attrd,lrmd: generate alert sequence number in lrmd - liblrmd: better trace message when creating command - stonith-ng: avoid double-free of pending-ops in free_device - crmd: log correct feature set revision - PE: update start-failure-is-fatal help - cib: avoid unnecessary memory allocation - stonith-ng: add pcmk_delay_base as static base-delay (fate#324488) - XML: upgrade-1.3.xsl: be explicit about non 1:1 wrt. ACL @attributes - enable upgrade XSLTs to use meaningfully - Tools: Added option of --why/Y to crm_resource to inform the status of resources if running or not - various: fix spelling in messages and comments - cib: reword trace message - PE: Prevent use-after-free when creating bundle constraints - add versioned operations support - TE: don't bump counters when action or synapse is invalid - obtain metadata in CRMd via async call - tools: add version options for cibsecret - alerts: Support of meta attributes(kind, attribute_name). - attrd,lrmd,lib: Addition of the transmission function of the attribute alert to attrd. - extra: Change alert_xxx.sh.sample for attribute alerts. - extra: Change PCMK-MIB.txt for attribute alerts. - XML: upgrade-1.3.xsl: simplify branching - XML: upgrade-1.3.xsl: drop superfluous branching - XML: upgrade-1.3.xsl: simplify "weak identity" transform rules - XML: upgrade-1.3.xsl: easy simplifications + redundant declarations drop - re-enable versioned attributes - Upstream version cs: d134f83b4f0188f6d7cd381c8cdda1a2a7c38bd5- Update to version 1.1.17 - PE: Ensure unrecoverable remote nodes are fenced even if no resources can run on them - iso8601: strftime needs fully populated struct tm (bsc#1058844) - crmd: abort transition whenever we lose quorum - PE: Ensure bundle nodes and child resources are correctly cleaned up - PE: Generic ordering for anything with bundles - PE: Default to non-interleaved bundle ordering for safety - PE: Functional inter-bundle ordering when either side has no child - PE: Basic inter-bundle ordering when both sides have children - PE: Implement bundle ordering - libpe_status: properly disallow other resources from bundle nodes - libcib: get remoteness correctly from node status - libpe_status: avoid memory leaks when creating bundle remote resource - libpe_status: disallow resources on bundle nodes - pengine: make checks a little safer - PE: Clones within bundles may also have notifications enabled - PE: Correctly implement pe_order_implies_first_printed - PE: Do not re-add a node's default score for each location constraint - PE: Bundle location constraints should only apply to the IP and docker resources - PE: Bundles: Allow clones to be colocated with bundles - PE: Bundles: Implement colocation of primitives and groups with bundles - cib,libcib: support option for IPC eviction threshold - libcib: correctly search for v2 patchset changes - libcib: always use current values when unpacking config - libcrmcluster: fix spelling error in error message - crmd: DC should update stonith fail count before aborting transition - cib: Broadcasts of cib changes should always pass ACLs check (bsc#1042054) - Upstream version cs: b36b869ca8fe74caa077c286304f653f0be117ef (Pacemaker-1.1.17)- pengine,libpe_status: revisit fencing messages - PE: Improve logging of node fencing and shutdown - PE: Fence unrecoverable remote nodes with no resources - libpe_status: propagate multiple-active=block for bundles - libpe_status: set parent for bundle components - attrd: broadcast local overrides of sync'ed attributes - crmd: attribute write-out not needed with atomic attrd - PE: Prevent use-after-free when creating bundle constraints - PE: Ensure remote nodes are fenced when the connection cannot be recovered - PE: Improved fencing logging - PE: Assume resources on remote nodes do not need to be restarted until absolutely necessary - PE: Correctly compare a point with NULL instead of FALSE - libpe_status: correctly flag remote connection resources - pengine: improve internal bundle constraints - pengine: re-phrase trace log for internal constraints - libpe_status: set #kind to "container" for bundle nodes - pengine,libpengine: avoid potential use-of-NULL - pengine: avoid use-of-NULL in bundle without primitive - libpengine: don't double score when adding first allowed node - pengine: improve detection of invalid constraints - PE: Prevent use-of-NULL when expanding containers - PE: Partially restore 62ed004 to ensure remote connections are available before attempting resource recovery - stonith-ng: Trigger on constraints added to cib (bsc#1042374) - Upstream version cs: e47bd5bc77a3d1b38589b3716f5112ed39329e7b- RA: NodeUtilization - Use xl if available (bsc#1015842) * Drop obsolete: * * bug-1015842_pacemaker-NodeUtilization-RA-1.patch * * bug-1015842_pacemaker-NodeUtilization-RA-2.patch * * bug-1015842_pacemaker-NodeUtilization-RA-3.patch * Add bug-1015842_pacemaker-NodeUtilization-RA.patch - Drop obsolete pacemaker-lrmd.h-include-libxml.patch - lrmd,pengine: remove versioned parameters from documentation and tests - lrmd,pengine: don't support versioned attributes by default - Containers: Relax docker/remote colocation constraint when appropriate - Containers: Ensure remote resources are only allocated to full cluster nodes - lrmd: Ensure verbosity options are handled after crm_log_init() - pengine: unmanage guest-container puts guest in maintenance - pengine: unique ids for meta-attributes of guest-connection - pengine: update regression tests for probes of guest-connections - pengine: have guest-node connection-resources probed - crmd: clean up throttle memory on exit - libcib: avoid use-after-free when deleting CIB connection - systemd unit files: add dependency on resource-agents-deps - pengine: Allow use of resource params and meta-params in location rules - libcrmcommon: avoid evicting IPC client if messages spike briefly - libcrmcommon: don't delay next flush by more than 5 seconds - libcib: downgrade ACL status message to trace - crmd: don't destroy election structure twice - crmd: avoid use-after-free when disconnecting from CIB - libcib: functionize destroying op callback table - crmd,libcrmcommon: update throttle when CPUs are hot-plugged - crmd: remove I/O load checks - libcrmcommon: add function to get number of CPU cores - crmd: functionize checking throttle thresholds - crmd: functionize setting throttle load target - CTS: update corosync fail patterns - crmd: check correct timer for being started - crmd: improve fencing result message - lrmd: Have pacemaker-remote reap zombies if it is running as pid 1 - pengine: add test for per-op fail count - libcrmcommon: filter attributes with '#' from XML fields - extra: Dummy stop shouldn't fail if monitor is in progress - extra: use whitespace consistently in Dummy - crmd: don't fence old DC if it's shutting down as soon-to-be DC joins - crmd: avoid DC sending offer to itself twice - crmd: don't restart transition if no fence devices - crmd: skip restart at (not above) stonith-max-attempts - crmd: allow clearing all stonith fail counts - crmd: track stonith fail counts on all nodes - crmd: forget stonith failures when forgetting node - crmd: consider target when checking stonith failures - crmd: check for too many stonith failures only when aborting for that reason - PE: Remote: Allow remote nodes that start containers with pacemaker remote inside - fencing: ignore empty 'action' parameter in fence devices - crmd: fix remove attr_id from update_attr_delegate() - Fix log showing the node status so that it is easily distinguishable from other logs - crmd: don't abandon fencing after one "no devices" failure - libcrmcommon: more useful message if can't open dump file - libcib: use new convenience function for sanitizing ID - libpe_status: implement active check for bundles - tools: update crm_mon RNG schema for bundles - crmd: add set_join_state() - crmd: fix line wrapping - crmd: update_attr_delegate() instead of set_standby() - PE: Containers: Allow custom docker run commands - logrotate: rotate pacemaker logs inside bundled containers - libpe_status: improve bundle docker defaults - tools: crm_resource should free result if re-running function returns one - libpe_status: avoid memory leak when counting failures - crmd: remove functions from crmd_utils.c - PE: Containers: Ensure replicas_per_host=1 is respected during rediscovery and startup - libcib: change the format of the state id in set_standby() - PE: Containers: Allow the internal and external ports to optionally differ - PE: Containers: Allow custom control ports when using the machine's local address - crmd: set_standby in first_join - PE: Bundles: Better support for net=host, allow the pacemaker-remote port to change - Remote: Allow the port to listen on to be specified on the commandline - libpe_status: allow more than 254 containers in a bundle - crmd,liblrmd: handle crmd-local proxy requests properly - common: Prevention of the double definition. - pacemaker_remoted: Allow compilation with glib older 2.36 - PE: Containers: Default 'replicas' to the same number of 'masters' - PE: Containers: Correctly find the right anonymous child resource running in a container - PE: Clone: Simplified allocation function - PE: Contaienrs: Better checks when assuming a container will start - PE: Preferred nodes are only accepted if their scores are equal to the otherwise best candidate - PE: Containers: Remove containers on termination by default - PE: Container: Add support for non-default docker networks and supplying external IPs to container resources - PE: Containers: Allow specifiying the maximum number of peers per host - PE: Containers: Force a sane hostname - PE: Containers: Add support for nic and netmask parameters - PE: container: Parse network and mount options - PE: Allow the graph to assume container nodes will come up and schedule actions for it - PE: Force node scores for containerized resources - PE: Basic allocation of containers - Core: Track the line number of callers of crm_(set|clear)_bit - xml: Correctly find the first child element - PE: Basic container parsing and expansion (fate#323415) - PE: Correctly test for clone functionality - Improve recovery when demote fails with OCF_NOT_RUNNING - Upstream version cs: ce86684f5d0672791e9fd3043a84f0931cdd97ea- libcrmcluster,crmd: log join phase as text rather than integer - pacemaker-remote: pacemaker_remoted shutdown while unmanaged - tools: disable agent stdout/stderr for crm_resource --validate - tools: Add "--validate" command to crm_resource - tools: crm_resource should set OCF_RESKEY_crm_feature_set - tools: make crm_failcount compatible with per-operation failcounts - tools: support clearing failure of a single operation with crm_resource -C - crmd: support clearing failure of a single operation - crmd: make clearing last failure more efficient - attrd,libcrmcommon: support clearing failure of a single operation - attrd,crmd,libraries,tools: track resource failures per-operation - tools: support crm_failcount -q as advertised - Upstream version cs: 77ea74d01bcb6b7100e1c7acab0e66e79aceaf8b- NodeUtilization: Never set hv_memory to a negative value (bsc#1015842) * bug-1015842_pacemaker-NodeUtilization-RA-3.patch - NodeUtilization: Fix mixed indentation, set executable bit (bsc#1015842) * bug-1015842_pacemaker-NodeUtilization-RA-2.patch - RA: NodeUtilization - Use xl if available (bsc#1015842) * Drop obsolete bug-1015842_pacemaker-NodeUtilization-RA.patch * Add bug-1015842_pacemaker-NodeUtilization-RA-1.patch- spec: Merge the SLE and Factory versions * enable_fatal_warnings=0- crmd: new cluster option stonith-max-attempts with default value 10 (fate#323417) - crmd: Change of the log level and addition of uuid. - crmd: use new attrd op to clear fail counts - tools: crm_resource -C should clear last-failure - libcrmcommon: add API for new attrd clear-failure operation - attrd: add more detail to legacy attrd messages - attrd: add API for clearing failures - Upstream version cs: e55d506cc390f0a0335b4ec6e365ea89da30b6b1- pacemaker.service: Add presetting TasksMax=4915 (bsc#1028138) * bug-1028138_pacemaker-pacemaker.service-TasksMax.patch- Build: lrmd: Include libxml/tree.h in lrmd.h * pacemaker-lrmd.h-include-libxml.patch- libfencing,fencing: properly remap "action" in configuration - libservices: ensure recurring actions table is created before using - libservices: improve error messages when creating operation - libservices: properly detect in-flight systemd/upstart ops when kicking - libservices: properly cancel in-flight systemd/upstart op - libservices: handle in-flight case first when cancelling an operation - libservices: prevent use-after-free when freeing an operation - libservices: ensure completed ops aren't on blocked ops list - libcrmcommon: assert if can't generate operation key - libcrmcommon: improve remote connection polling messages - crmd: clear failure only for requested node - crmd: improve message when clearing failures - pengine,libpe_status: make failcount clearing messages more helpful - pengine,libpe_status: don't clear same fail-count twice - cib: properly mark variable as volatile - libcib: avoid memory leak in query_node_uuid() - tools: avoid NULL dereference in crm_resource debug message - cib,libcrmcommon,lrmd: handle IP addresses better in messages - tools: crm_attribute should prefer node name from environment - libcrmcommon: Correctly delete XML comments according to their positions (bsc#1024037) - libcrmcommon: Correctly compare XML comments to prevent crmd from getting into infinite election loop (bsc#1024037) - crmd,libcrmcluster: minor log message improvements - tools: avoid deprecated function in notifyServicelogEvent - libcrmcommon,pengine,tools: pass local node name to resource agents - use callback instead of sync call - libcib: make querying node uuid more efficient - tools: allow regular expression with crm_attribute - attrd: support regular expressions in legacy attrd - attrd: support Pacemaker Remote node attributes in legacy attrd - use status scope to start node in standby mode - attrd: ignore unsupported requests in legacy attrd - attrd,crmd: implement peer remove requests in legacy attrd - crmd: don't clear remote node transient attributes unnecessarily - crm_mon: protect against non-standard or failing asctime - libservices(sync): partially prevent killing foreign process - libservices (sync): ensure no zombie is left behind - cib: improve re-sync handling - tools: implement crm_failcount command-line options correctly - tools: use correct regular expression for fail counts in crm_resource - cib: never disable legacy mode with corosync 1 stacks - cib: improve warning when legacy diff fails - libcrmcommon: ensure filename is not NULL before opening - crmd: be more resilient when checking an LRM command's "from" - crmd: improve crmd's LRM-related log messages - tools: properly ignore version with crm_diff --no-version (bsc#888726) - Ability to start node in standby (fate#323416) - Upstream version cs: a7825f4f0a8db272d1ce0b1f93e8044cbcaa5144- libservices: properly watch writable DBus handles - tools: don't reference hidden parameter in crm_resource help text - Alert: Set SNMP_PERSISTENT_DIR directory for the snmp-trap tool. - dbus: Prevent lrmd from hanging on dbus calls (bsc#1015264) - spec: add %check to run a subset of tests on rpmbuild - crmd: update cache status for guest node whose host is fenced - pengine: consider guest node unclean if its host is unclean - pengine: create a pseudo-fence for guest node recovery - pengine: guest node fencing doesn't require stonith enabled - pengine: remove unnecessary assert - mcp: Correction of the difference in access permission setting. - stonith_admin: Addition of the list-targets option. - stonith: Check for missing params in new device and dup - libservices: treat systemd service reloading as OK (bsc#1059187) - crmd: increase severity when fencing didn't happen (bsc#1011240) - rng: Create resources-2.7.rng to update template class validation - libcrmcommon: Don't report error if the output file isn't syncable - crmd: bump feature set - pengine: disable migration for versioned resources - add versioned parameters support - Upstream version cs: 2817a2081e9e70e7412f0d0a253495611afab55e- wd: Fix to not compare NULL when environment variable is not set - mcp,pacemaker_remote: order after time-sync - configure: fix fouled parameter expansion * Drop obsolete pacemaker-configure-systemd-detection.patch - xml: rng: Keep score-attribute{,-mangle} in the existing RelaxNG schema files for graceful upgrades - Upstream version cs: 94ff4df51a55cc30d01843ea11b3292bac755432 (Pacemaker-1.1.16)- RA: NodeUtilization - Use xl if available (bsc#1015842) * bug-1015842_pacemaker-NodeUtilization-RA.patch- spec: Prevent overwriting existing sysconfig files by conditionally running %fillup_only (bsc#1022807, bsc#980341)- spec: cts brings an RA that needs python-systemd- Explicitly own %{_defaultdocdir}/%{name}.- Revert "Build: configure: make systemd detection akin to + before Upstart one" * pacemaker-configure-systemd-detection.patch - libcrmcommon: fix CVE-2016-7035 (improper IPC guarding) (bsc#1007433) - sysconfig: minor tweaks (typo, wording) - various: issues discovered via valgrind and coverity - attrd_updater: fix usage of HAVE_ATOMIC_ATTRD - Upstream version cs: b6f251a13fadca0cb74702b0c007a55275c8ea09- Rebase: * pacemaker-NodeUtilization-RA.patch - extra: add resource agent for managing a node attribute - crmd: cl#5185 - Record pending operations in the CIB before they are performed (bsc#1003565) - ClusterMon: fix to avoid matching other process with the same PID - mcp: improve comments for sysconfig options - spec: require libqb >= 0.13.0 - tools: crm_standby --version/--help should work without cluster - spec: reorganize so %pre etc. blocks are self-contained - spec: require python >= 2.6 - spec: comment better - libpengine: ensure child is not null before looking up value - libpengine: only log startup-fencing warning once - Upstream version cs: 722276c442bf023931842313bfe0dfb7d90a7c15- pacemaker.service: do not mistakenly suggest killing fenced - pacemaker.spec: consume "systemdunitdir" via %_unitdir - libcrmcommon: report errors consistently when waiting for data on connection (bsc#986644) - libservices: use DBusError API properly - remote: Correctly calculate the remaining timeouts when receiving messages (bsc#986644) - libfencing: report added node ID correctly - crm_mon: Do not call setenv with null value - pacemaker_remote: allow remote clients to timeout/reconnect - pengine: Do not fence a maintenance node if it shuts down cleanly (bsc#1000743) - install README in doc instead of now-removed AUTHORS file - ping: Avoid temporary files for fping check (bsc#987348) - all: clarify licensing and copyrights - schemas.c: treat CIB with unrecognized validate-with better - schemas.c: avoid downgrade validate-with in a corner case - xml.c: better info in cli_config_update on no validation success - fix infloop when no schema validates on update_validation - xml.c: internal self-or-less reference inflicted infloop guard - crmd: Resend the shutdown request if the DC forgets - ping: Avoid temp files in fping_check (bsc#987348) - crmd: Ensure the R_SHUTDOWN is set whenever we ask the DC to shut us down - crmd: clear remote node operation history only when it comes up - libcib,libfencing,libtransition: handle memory allocation errors without CRM_CHECK() - tools: make crm_mon XML schema handle resources with multiple active - tools: make crm_mon resources section more consistent - crmd: bump feature set - pengine: set OCF_RESKEY_CRM_meta_notify_active_* for multistate resources - LSB init: try to be a little more compliant - pengine: avoid null dereference in new same-node ordering option - lrmd,libcluster: ensure g_hash_table_foreach() is never passed a null table - crmd: don't log warning if abort_unless_down() can't find down event - lib: Correction of the deletion of the notice registration. - stonithd: Correction of the wrong connection process name. - crmd: Keep a state of LRMD in the DC node latest. - pengine: avoid transition loop for start-then-stop + unfencing - libpengine: allow pe_order_same_node option for constraints - pengine: avoid sisyphean score-attribute-mangled parsing - xml: score-attribute{,-mangle} has no meaning for rsc_colocation - Upstream version cs: 4cce2b26f6f468c342adb24bf74234a12a0070c2- cts: Restart systemd-journald with "systemctl restart systemd-journald.socket" (bsc#995365) * bug-995365_pacemaker-cts-restart-systemd-journald.patch- libcrmcommon: properly handle XML comments when comparing v2 patchset diffs - crmd: don't abort transitions for CIB comment changes - libcrmcommon: log XML comments correctly - libcrmcommon: remove extraneous format specifier from log message - crm_mon: Avoid logging errors for any CIB changes that we don't care about (bsc#986931) - crmd: When node load was reduced, crmd carries out a feasible action. - Upstream version cs: 58fef06198fef17873d0d2e2d0cc5c7db73c5724- ping: Log sensible error when /tmp is full (bsc#987348) - crm_mon: Do not log errors for the known CIB changes that should be ignored (bsc#986931) - logging: Enable synchronous logging when blackboxes are enabled - libpengine: print target role and blocked status in XML output - tools: add maintenance mode and disabled/blocked resources to crm_mon XML/HTML output - tools: break up long lines in crm_mon console output - libservices: include socket units when listing all systemd agents - fencing: fence_legacy - Search capable devices by querying them through "list" action for cluster-glue stonith agents (bsc#986265) - extra: correct quoting of timestamp-format in alert-snmp-example - pengine,tools: Display pending resource state by default when it's available (bsc#986201) - rng: Allow rsc-pattern in locations for version 2.6 - pengine: Expand regexp references in location constraints - pengine: Allow to set base score for progressive node health strategy - systemd: Allow unit names ending in .socket. - watchdog: Correction to do to change action of the system reboot by fail_fast - Upstream version cs: 630d0d112092042b6f79c2a02bb442e82fee93ec- Remove conditionals that are not really needed as they always kept the values - Remove the cman conditional as we do not even have the dependencies to build with it in OBS - Convert deps to pkgconfig style ones and remove deps that are not mentioned by the testsuite or the configure.ac- Update to version 1.1.15 - crmd: mention that graceful remote shutdowns may cause connection failures (bsc#981489) - alerts - drop 5min timeout to 30s since it is configurable now - Bug bz#5292 - crmd: wait for alerts to finish - libais,libcluster,libcrmcommon,liblrmd: don't use %z specifier - alerts: ensure sample alert agents handle undefined recipient - tools: crm_resource -T option should not be hidden anymore - PE: Correctly update the dependant actions of un-runnable clones - alerts: make timestamp-format-string work properly if strftime-escape is the last character - extra: make alert-file-example cope with spaces in timeformat-string - attrd,ipc: Prevent possible segfault on exit (bsc#986056) - alerts: fix SMTP recipient defaulting - tools: properly handle crm_resource --restart with a resource in a group - tools: don't assume all resources restart on same node with crm_resource --restart - tools: avoid memory leaks in crm_resource --restart - tools: remember any existing target-role when doing crm_resource --restart - tools: correctly count starting resources when doing crm_resource --restart - Upstream version cs: e174ec84857e087210b9dacee3318f8203176129 (Pacemaker-1.1.15)- Clean-up with spec-cleaner - Drop heartbeat conditions, no heartbeat around - Sort CMAN conditionals to be actually logical - Run fdupes to not waste so much space - Add logrotate to reqs of pacemaker-cli - Cleanup rpmlintrc to contain only bare needed minimum - Run basic sanity check in %check phase- Drop sysvinit support we now run on sle12+ only - Cleanup the define conditionals that are never used - Drop profiling and coverage options it is not enabled by default and better to run separately- libcrmcommon: really ensure crm_time_t structure is fully initialized by API calls - extra: correct syntax error in sample alert script - crmd: avoid timeout on older peers when cancelling a resource operation - crmd: use proper resource agent name when caching metadata - crmd: avoid memory leak when sending fencing alert - liblrmd: avoid memory leak when closing or deleting lrmd connections - extra: improve determination of successful monitors in SNMP alert script - tools: avoid memory leak when crm_mon unpacks constraints - pengine: avoid use-after-free with location constraint + sets + templates - pengine: better error handling when unpacking sets in location constraints - pengine: avoid memory leak when invalid constraint involves set - Build: rename sample alert scripts and install them in datadir - pengine : Correction of the record judgment of the failed information. - Upstream version cs: dd46368eead0d756735216a4bc765466b99274fc- alert-helpers: some fixes in pcmk_smtp_helper.sh - libpengine: log message when stonith disabled, not enabled - pengine: only set unfencing constraints once - tools: don't require node to be known to crm_resource when deleting attribute - libcrmcommon: ensure crm_time_t structure is fully initialized by API calls - attrd: don't leak memory when returning due to malformed update request - crmd: always free result of crm_itoa() - xml: adapt crm_mon.rng per recent reorder of the summary elements - Upstream version cs: 1a05449500f015414b6df68b6d4feb64b713f533- Rebase: * bug-977201_pacemaker-controld-self-fencing.patch - pengine: properly order stop actions relative to stonith - crm_resource: don't pretend that target-role:started would prevent promotion - crm_mon: consistently print ms resource state - controld: use "stonith_admin -H '*' -V" (bsc#977201) - stonith_admin: allow -H '*' to show history for all nodes (bsc#977201) - controld: fix "[: -eq: unary operator expected" issue from PR 1022 (bsc#977201) - extra: Support of the task designation of a resource and the fencing. - extra: Change pcmk_snmp_helper.sh (2). - Upstream version cs: 6a8c1e9d35c65cbfd4019cfe797cb7bb9dfd4322- controld: Prevent unwanted self-fencing if "stateful_merge_wait" state of dlm is not available (bsc#977201) * bug-977201_pacemaker-controld-self-fencing.patch- libservices: clean up non-signalfd code paths - spec: fence_pcmk only eligible for Pacemaker+CMAN - crmd: Acknowledge cancellation operations for remote connection resources (bsc#976865) - controld: improve DLM check with stateful_merge_wait (bsc#977201) - attrd, libcrmcommon: validate attrd requests better - crmd: clear remote node transient attributes on disconnect (bsc#981489) - Revert "Fix: attrd: Correctly implement mass removal of a node's attributes" (bsc#981489) - crm_mon: Fix time formatting on x32 - resources: use OCF version tagging correctly - libcommon: crm_procfs_pid_of() would always return last /proc entry checked - crmd: correctly dig into cib-query-answer if alerts section is present timestamp-format defaults to "%H:%M:%S.%06N" - crmd: Take start-delay into account for the timeout of the action timer (bsc#977258) - libservices: make systemd override file world-readable to avoid log warning - libcrmcommon: correct directory name in log message - Log: make crmd messages more user-friendly - Log: make messages in common quorum/fencing situations more user-friendly - Log: make shutdown messages more user-friendly - pengine: lf#2560/lf#2588 - Correctly set the environment variable "OCF_RESKEY_CRM_meta_timeout" when "start-delay" is configured (bsc#977258) - Log: make operation messages more user-friendly - Log: make startup messages more user-friendly - services: Correctly clean up service actions for non-dbus case - uninitialized use of nano_digits - attrd: Update also dampens when synchronizing attributes (bsc#977846) - Upstream version cs: 389294fd1ebefddad67fff51306f585b758ca860- Rebase: * pacemaker-Wno-format-signedness.patch - RA: SysInfo - Reset the node attribute "#health_disk" to "green" when there's sufficient free disk (bsc#975079) - pengine: Organize order of actions for slave resources in anti-colocations (bsc#977800) - attrd: Fix the synchronization of attributes (bsc#977846) - pengine: Organize order of actions for master resources in anti-colocations (bsc#977800) - pengine: Respect asymmetrical ordering when trying to move resources (bsc#977675) - fencing: Record the last known names of nodes to make sure fencing requested with nodeid works (bsc#974108) - crmd: first implementation of integrated multi-agent, multi-target alerting mechanism (fate#320855) - ping resource: Use fping6 for IPv6 hosts (bsc#976271) - pengine: Consider resource failed if any of the configured monitor operations failed (bsc#972187) - ping resource: avoid undefined func w/ OCF_FUNCTIONS=/dev/null - spec: make Publican docs not depend on pre-existing packages - cib/fencing: Set status callback before connecting to cluster (bsc#974108) - xml: use spaces instead of tabs in schema files - extra: Support of the dampen change by RA. - Upstream version cs: 9e382568ac3cd54c222496501088ab3fc158b2e2- crmd: update cluster state in CIB after fencing an unseen node - crmd: don't abort transition for expected remote node shutdown - libtransition: potential memory leak if unpacking action fails - Upstream version cs: 5a6cdd11b4f93b4d55e1b2654078018c339931d4- attrd: crash on exit if initialization fails - build: fix scalability regression - pengine: Suppress assert if a stateful clone is not being demoted/stopped (bsc#971129) - attrd: Support of the dampen change by attrd. - PE: Correctly handle the ordering of demote actions for failed and moving containers - Upstream version cs: d076e9dbf9827f7801c89c6d635df370aeca5e90- crmd,tools: Set attributes for remote nodes directly into cib if it's legacy attrd (bsc#967775) - libcib: Correctly determine the node type (bsc#967775) - resources: match agents' default for globally_unique to pacemaker's - crm_mon: Help admins identify why resources are not being started or responding to commands - PE: Memory leak - crm_resource: Prevent segfault when --resource is not correctly supplied for --restart command - Build: Create CRM_CORE_DIR during installation - Upstream version cs: eb89393a82eb41ff50d041b91765ccac52e873e0- cpg: Ensure group name is never unset - remote: Simplify calls to accept() and inet_ntop() by using "struct sockaddr_storage" (bsc#964183) - remote: cl#5269 - Notify other clients of a new connection only if the handshake has completed (bsc#967388, bsc#1002767, CVE-2016-7797) - remote: Correctly display the IP address of the remote client (bsc#964183) - spec: declare also BSD license as suitable - libservices: Add error handling for pipe() failed. - libservices: Check resource agent is executable or not before pipe open. - crmd: Prevent use-after-free when an unexpected remote client takes over (bsc#964183) - pacemakerd: Correction of the stonithd process judgment of pacemakerd. - crmd: Do not turn on stonith-watchdog-timeout automatically if SBD is detected - remote: Correctly check for SBD configuration consistency - resources: Fix state file metadata in Dummy, Stateful and HealthCPU resource agents - systemd: Modified so that the cluster to stop before the rsyslog - common: Correctly locate sbd via its pidfile - common: Assume processes are active if we get EACCESS - Fencing: Simplify watchdog integration - crmd: Only poopulate stonith-watchdog-timeout if SBD is active - remote: Ensure SBD is consistently configured on remote nodes - remote: Allow cluster and remote LRM API versions to diverge (bsc#1009076) - cib: Do not send notifications when the dryrun flag is present - Upstream version cs: cf67796823c4429714857411e614cfacfbc59d89- crm_shadow: fix broken --display command - ipc: Respect the parameter of pick_ipc_buffer() but don't let it affect the global value - libcluster: crm_peer_uname() should return NULL if uuid is invalid - remote: recover from remote node fencing more quickly - crmd: update node state for migrated pacemaker_remote nodes - crmd: update node state for stopped pacemaker_remote nodes - crmd: update node state for started pacemaker_remote nodes - crmd: add new message type for updating pacemaker_remote node state - libcluster: set remote peer cache state based on CIB node state - libcluster: send notifications when pacemaker_remote nodes are started - crmd: report pacemaker_remote node state in CIB status section - Upstream version cs: c851a117bc77bdefe15181a7d753f1aed867cde6- spec: Move the common directories under /var/lib/pacemaker into pacemaker-cli package - liblrmd: Prevent potential use-after-free (bsc#964183) - crmd: Disconnect the relevant remote proxies as well when disconnecting a remote node (bsc#964183) - crmd: Prevent potential use-after-free (bsc#964183) - liblrmd: Prevent potential use-after-free issues (bsc#964183) - PE: Fix conditions for internal sanity check (bsc#971129) - attrd: ensure remote nodes are in correct peer cache (bsc#981489) - crmd: set remote flag when gracefully shutting down remote nodes (bsc#981489) - fencing: Correctly track active stonith actions (bsc#938545) - fencing: Functionize adding and removing active pids of device (bsc#938545) - crm_shadow: Do not invoke shells with --noprofile option other than bash (bsc#961392) - lib/common: check return value of dlsym() and not dlerror() - lib/ipc: allow PCMK_ipc_buffer to be smaller than default max sizes - lib/services: use self-pipe sigchld handling when signalfd isn't available - spec: associate subpackage with correct licenses - spec: rely on system-wide RPM macros if available - spec: C++ compiler is not something currently needed - RHBZ#1286316: Do an ordered shutdown of systemd resources - header == NULL when parsing compressed message - attrd: Correctly implement mass removal of a node's attributes (bsc#981489) - attrd: Hook up the client name so we can track requests - crmd: Set the shutdown transient attribute in response to LRMD_IPC_OP_SHUTDOWN_REQ from remote nodes (bsc#981489) - PE: Honor the shutdown transient attributes for remote nodes (bsc#981489) - pacemaker_remote: support graceful stops (bsc#981489) - crmd: support graceful pacemaker_remote stops (bsc#981489) - lrmd,liblrmd: add lrmd IPC operations for requesting and acknowledging shutdown (bsc#981489) - fencing: Support concurrent fencing actions on each device (bsc#938545) - pengine: Support concurrent fencing (bsc#938545) - Upstream version cs: c54f10440a7bba5a1491ea8506925c7d6d9ca2a3- Update to version 1.1.14 - fencing: free only after last usage makes coverity happy - crmd: 0 is a valid fd makes coverity happy - tools: crm_resource compile issue - crm_resource --list-agents: don't print uninitialized memory - extra: update SNMP MIB with new pacemakerTrap OID containing pacemakerNotificationTrap - fencing, libfencing: remap fence agent error codes before async callback (bsc#962309) - libfencing: topology is not used - fencing: topology is not used - libcrmcommon: when caching attrd connection, cache connection flags as well - cts: Plugin-based cluster has its own PacemakerUp pattern - Upstream version cs: 70404b0e5ecbe5e51d07c6c2233eea640cbd720a (Pacemaker-1.1.14)- Rebase: * bug-806256_pacemaker-log-level-notice.patch * bug-728579_pacemaker-stonith-dev-id.patch - core: Mistake of the parameter order. - RHBZ#1287315: stonithd: Trigger cib_devices_update in case of deletion of just an attribute - CLBZ#5253: stonithd: Do not intermingle stdout & stderr coming from stonith-RAs (bsc#962309) - resources: allow for top output with or without percent sign in HealthCPU - controld: Return error when DLM status is wait fencing (RHBZ#1268313) - crmd: Don't update cluster/peer CIB fields when processing stonith results - Upstream version cs: e16447de89d25db3b3578c7e080c1a4c2f85806f- ping: Clarify the description of host_list parameter in ping metadata (bsc#956459) - systemd: Prevent segfaul when logging failed operations - systemd: The underlying systemd calls default to 90s for their timeouts - cib: Do not terminate due to badly behaving clients - Correctly check for recycled PIDs in crm_pid_active - crmd: Consider only fence and shutdown transition events to be "down" events - pengine: Support of multiple-active=block for resource groups (bsc#942491) - crmd: use 300s timeout with notification scripts, not 300ms - stonith_admin: add ability to target topology by pattern or attribute - fencing,libfencing: add API support for targeting topology by pattern or attribute - Upstream version cs: a7d6e6b56fd2779a07970df7de4e0fb0b22742d3- crm_report: Call "crm report" if available (bsc#950483)- fencing: crm_resource --show-metadata drops documentation strings for fencing agents (bsc#950375) - Upstream version cs: 6f22ad7312b703289da5d24e918a78117a0825e1- CTS: add "try except" to deal with errors that raw_input gets EOFError and add "--yes" to skip interaction (bsc#953192) - Upstream version cs: 577898dc4ac1efdb5989a996cb5f9ac60ed2eb7a- crm_resource: Correctly clean up all children for anonymous cloned groups (bsc#950128) - services: Directly add operations into in-flight list in the execution functions (bsc#952874) - systemd: Return PCMK_OCF_UNKNOWN_ERROR instead of PCMK_OCF_NOT_INSTALLED for uncertain errors on LoadUnit (bsc#952884) - systemd: Return FALSE for systemd_mask_error() if it only maps an error instead of masking one (bsc#952884) - dbus: Correctly return the result for pcmk_dbus_find_error() no matter if there's a DBusError passed in (bsc#952884) - services: Prevent potential use-after-free when trying to add an operation into in-flight list (bsc#952874) - systemd: Directly return an error if the connection to System DBus is closed (bsc#952874) - services: Correctly determine if operations are in-flight (bsc#952874) - systemd: Reconnect to System DBus if the connection is closed (bsc#931271) - lrmd: Finalize all pending and recurring operations when cleaning up a resource (bsc#950450) - fencing: don't poke peers when remote node status changes - attrd: don't try to communicate with attrd on a remote node - libcluster,crmd: never update join info or processes for remote nodes - cib: Increased paranoia when peer updates fail to apply in compatability mode - crmd: do not accept remote peer data as enough for startup - crmd: remote nodes can't be DC so never add them to stonith cleanup list - libcluster: never autoreap from remote peer cache - crmd: improve generation of node state - CTS: get Reattach test working again and up-to-date (bsc#953192) - libcommon: Ignore CDATA of metadata of the resource. - cib: Downgrade the log message on forwarding CRM_OP_NOOP requests from INFO to DEBUG (bsc#949267) - fencing: Return a provider for the internal fencing agent "#watchdog" instead of logging an error (bsc#949441) * Drop bug-949441_pacemaker-fencing-provider-internal.patch which has been merged upstream - Upstream version cs: 7bd00f3f3010bc10d13b87e2ff501b597ea6ca03- fencing: Return a provider for the internal fencing agent "#watchdog" instead of logging an error (bsc#949441) * bug-949441_pacemaker-fencing-provider-internal.patch - spec: Move the normal resource agents into pacemaker-cli package (bsc#947197) - spec: Move logrotate configuration file into pacemaker-cli package (bsc#947197) - spec: Move attrd_updater, crm_attribute and crm_master into pacemaker-cli package (bsc#947197) - spec: Move xml schema files and PCMK-MIB.txt into pacemaker-cli package (bsc#947197)- crm_resource: Correctly observe --force when deleting and updating attributes (bsc#948197) - crm_resource: Correctly delete existing meta attributes regardless of their position in the heirarchy (bsc#948197) - fencing,libfencing: use level tag consistently in internal XML - crm_resource: Correctly update existing meta attributes regardless of their position in the heirarchy (bsc#948197) - crmd: properly detect CIB update failures for remote nodes - cibadmin: Prevent potential use-of-NULL in print_xml_output() (bsc#947180) - Fencing: The device list is expected to be comma separated - Tools: Do not send command lines to syslog (bsc#986676) - Tools: Repair the logging of 'interesting' command-lines - PE: resolve memory leak - libfencing: make topology level removal compatible with latest stonithd API - fencing: parse from correct XML location when registering/unregistering topology - tools: improve error handling when modifying configuration - crmd,libcrmcommon,libservices,tools: potential memory leaks (bsc#948197) - crmd,fencing: avoid potential null dereference in string searches - typo: OPSTIONS -> OPTIONS in crm_mon.sysconfig - cib: Check if the configuration changes with cib_config_changed() only for v1 diffs (bsc#946224) - liblrmd: don't print error if remote key environment variable unset - libcib: properly handle temporary file - libcrmcommon: better validation of environment variable value - crmd: avoid potential null dereference - libcib: potential user input overflow - controld: replace bashism - PE: drop probe_complete actions - PE: Allow resources to start and stop as soon as their state is known on all nodes - Fencing: Correctly construct simple topologies with stonith_admin - Fencing: Correctly remove topologies and detect invalid entries - remote: Revise a misleading message in the ocf:pacemaker:remote resource agent (bsc#946332, bsc#967383) * Drop bug-946332_pacemaker-resource-agent-remote-message.patch which has been merged upstream - remote: Correctly display the usage of the ocf:pacemaker:remote resource agent (bsc#946332, bsc#967383) * Drop bug-946332_pacemaker-resource-agent-remote-usage.patch which has been merged upstream - libcib: find_nvpair_attr_delegate: check buffer overflow - libcib: find_nvpair_attr_delegate: check alloc failure - Upstream version cs: 7906df92a713052db1edae851579ea229d8a5393- remote: Revise a misleading message in the ocf:pacemaker:remote resource agent (bsc#946332, bsc#967383) * bug-946332_pacemaker-resource-agent-remote-message.patch - remote: Correctly display the usage of the ocf:pacemaker:remote resource agent (bsc#946332, bsc#967383) * bug-946332_pacemaker-resource-agent-remote-usage.patch- crm_resource: Allow the resource configuration to be modified for --force-{check,start,..} calls - Fencing: Correctly parse 'by-attribute' fencing levels - Fencing: Use dedicated fields for fencing level patterns and attribute matching - pacemaker_remote: memory leak in ipc_proxy_dispatch() - crmd: don't add node ID to proxied remote node requests for attrd - membership: Safely autoreap nodes without code duplication - PE: Resolve memory leak - pacemakerd: Do not forget about nodes that leave the cluster - corosync: Display node state and quorum data if available - crmd: Implement reliable event notifications - extra: Added snmp trap of type "NOTIFICATION-TYPE" to MIB and snmp helper script - Date: Correctly set time from seconds-since-epoch - PE: Bug cl#5247 - Imply resources running on a container are stopped when the container is stopped - Upstream version cs: 20c2178f076ff32fdf9ba9a467c193b8dac2f9e5- lrmd: Upgrade start/finish log tags from INFO to NOTICE (bsc#943295) * bug-943295_pacemaker-lrmd-log-notice.patch- services: Reduce severity of noisy log messages (bsc#943319) - xml: Mark xml nodes as dirty if any children move (bsc#942382) - pengine: The failed action of the resource that occurred in shutdown is not displayed. - tools: memory leak in crm_resource - crm_resource: Correctly check if a resource is unmanaged or has a target-role - fencing: add ability to target by attribute - crmd: Resolve memory leak in remote_proxy_cb() - ipc: Do not constantly increase suggested size for PCMK_ipc_buffer every time we find it's insufficient (bsc#940992) - Upstream version cs: e8888b98cd7dbdfb986c1a46bdb4b113b96e914f- crm_resource: Indicate common reasons why a resource may not start after a cleanup - pengine: Ensure fencing of the DC precedes the STONITH_DONE operation - crm_resource: Compensate for -C and -p being called with the child resource for clones - ipc: Fix output formats (bsc#940992) - fencing: ensure "required"/"automatic" only apply to "on" actions - fencing: Remove unnecessary casts (bsc#940711) - crm_simulate: Prevent segfault on arches with 64bit time_t (bsc#940711) - ipc: Correctly compare values for the size of ipc buffer and prevent suggesting a negative value when it's insufficient (bsc#940992) - xml: Reduce severity of noisy log message (bsc#950551) - crm_resource: Correctly clean up failcounts for inactive anonymous clones - crmd: Avoid cancelling transitions when we tell nodes to shutdown - systemd: drop legacy SysVStartPriority from service units - crm: Set the attribute from remote node. - Upstream version cs: 4ad07f5f464c84b80c739922bd9fd708e8d36e5a- dbus: Remove redundant ref/unref of pending call records - stonithd: potential device list corruption - cib: don't destroy peer cache in peer status callback - systemd: Ensure pending structs are correctly unreferenced - systemd: Track pending operations so they can be safely cancelled - crmd: memory leak in CIB callbacks - attrd: memory leak in legacy attrd's CIB callback - attrd: memory leak in CIB callback - libcib: allow free function for user data supplied to CIB callbacks - xml: Prevent use-of-NULL in crm_xml_dump() - crm_mon: Memory leaks - Upstream version cs: 3fb7f71bf9ca2a3d6e1187fa3b74c7841d6af5a7- pengine: properly handle blocked clone actions - pengine: Correctly bypass fencing for resources that do not require it - libservices: potential memory leaks when executing systemd actions - libservices: memory leak in DBus-related log messages - crmd: memory leaks in recurring operation history - pengine: Addtion of the clone resource clone-min metadata option - Upstream version cs: 3d781d3fe61504c841e3c89b2e8ccff8195d4af6- Rebase bug-806256_pacemaker-log-level-notice.patch - Build: Update version numbers to 1.1.13 in version.m4 and sample spec file - fencing: Broadcast uname as soon as a peer's state has changed (bsc#938410) - fencing: remap sequential topology reboots to all-off-then-all-on - fencing: remap sequential topology reboots to off - fencing: support remapping reboots when processing fencing query results - fencing: treat remapped reboots as reboots when appropriate - fencing: support remapping reboots in fencing query results - crmd: check for errors when searching for CIB daemon's load file - libcib,libfencing,tools: memory leaks from xmlGetNodePath() - attrd: use-after-free in attrd_client_update() - fencing: memory leak when searching for a target's fencing topology - lrmd: memory leak when freeing command structure - libcluster: work around peer cache destruction in client status callbacks - fencing: add support for operation phases to device properties - fencing: add support for operation phases - crmd: Do not enforce restart for resources that support reload and don't support any unique parameters - crmd: Do not enforce restart for changes of non-unique parameters - cts: change the stack from openais (white-tank) to corosync (plugin v0) in set_stack of environment.py (bsc#936149) - Upstream version cs: bd8c4b5a30c9cacd0257fe50ab50d3a6436db42a- crmd: Make resource_supports_action() really general - crmd: Remove a duplicate invocation of snprintf() - pengine: clear failures after reconnect_interval expires - RA: Prevent an error message on stopping "Dummy" resource - PE: Ignore comment blocks when unpacking the cib - fencing: use "off" timeout when remapping "reboot" to "off" - fencing: do not set call options twice in query - crmd: don't synthesize op failures during shutdown - lrmd: prevent double free after unregistering stonith device for monitoring (bsc#1035822) - libcommon: crm_ipc_get_fd() must set errno on error - PE: Record the execution date in PE files so we can re-use it in crm_simulate - pengine: allow guest remote nodes using containers/vms to be nested in a group resource - pengine: Resolve memory leak in expand_notification_data() - cib: Prevent use-after-free and return -EINVAL when attempting to delete the whole "/cib" (bsc#934609) - cib: Prevent use-after-free when invoking "cibadmin --delete-all --xpath" (bsc#934609) - crmd: Prevent segfault when erasing resources from disconnected remote nodes - pengine: do not timeout remote node recurring monitor op failure until after fencing - crmd: No need to re-process actions we've already marked as failed - crmd: All pseduo ops must be allowed to complete - crm_simulate: Optionally include action IDs in the dot graph - fencing: properly decide whether a topology fencing device has been found - fencing: properly sort peers by number of fencing devices found - crmd: Record actions in the CIB as failed if we cannot execute them - pengine: do not stop notify a fenced node that the rscs on the fenced node stopped - pengine: fixes segfault in pengine when fencing remote node - remote: do not fail operations because of a migration - remote: handle merging duplicate recurring monitors for connection rsc - pengine: cl#5235 - Prevent graph loops that can be introduced by "load_stopped -> migrate_to" ordering - PE: Exclude nodes which don't match any exclusive discovery rules - Log: improve IPC connection error messages - Log: make syslog less noisy - lrmd: cancel currently pending STONITH op if stonithd connection is lost - fencing: Correct the all_topology_devices_found() implementation - crmd: Pre-emptively fail in-flight actions when lrmd connections fail - PE: Include a list of all and available nodes with notifications - lrmd: set recv timeout upper bound for tls connections - services: prevent recurring monitors from colliding with other operations - crmd: handle resources named the same as cluster nodes - crmd: make actions incompletable after remote-node fails - crm_simulate: Correctly invoke the policy engine library - libcluster: overhaul peer cache management - crmd: Prevent use-of-NULL - crm_report: Enable password sanitizing by default - PE: Keep the size of the secure list small in the cib - PE: Reduce noise when sanitized policy engine files are replayed - attrd: handle removals of cluster peers and remote peers consistently - libcluster: avoid possibility of invalidating a hash table iterator - membership: Ensure peer cache management supports all stacks - libcluster: do not re-add peer entries for exiting nodes - PE: Skip unrunnable actions when one-or-more is in effect - PE: Ensure recurring monitor operations are cancelled when clone instances are de-allocated - systemd: No need to trigger assert if cannot obtain an unit (bsc#931271) - dbus: Use operation timeout for dbus reply timeout (bsc#931271) - fencing: correct choice of fencing topology level - crm_shadow: Fix "crm_shadow --diff" (bsc#931166) - cib: Calculate and add digest for a patchset after accepting changes for the target xml (bsc#931114) - remote: enable reloads for select remote connection options - crmd: fence remote node after connection failure only once - remote: reconnect_delay option for remote nodes to delay reconnect after fence - tools: ignore stderr from crm_mon when running via systemd - xml: update RelaxNG schema for crm_mon XML output - Fencing: Correctly handle changes to the fencing topology - fencing: Allow complex configurations to apply to multiple hosts - tools: Update regression tests for ACL fixes - tools: improve failed actions display in crm_mon - tools: implement printing tickets in crm_mon HTML/XML output - tools: implement printing negative location constraints in crm_mon HTML/XML output - tools: implement printing operations and failcounts in crm_mon HTML/XML output - tools: implement printing node attributes in crm_mon HTML/XML output - tools: improve cluster summary display in crm_mon - tools: improve guest node output in crm_mon - tools: prettify plaintext output - tools: prettify crm_mon HTML output - tools: prettify crm_mon --simple-status output - crm_report: Allow log file discovery to be disabled - crm_resource: Support debugging promote and demote operations - fencing: Allow semi-colon delimiter for pcmk_host_list - Upstream version cs: ef86b494a411ce920eb18b9b6541a3a0425a41e0- Update to version 1.1.13 - Build: Update library versions - Build: Move new struct members to the end for backwards compatibility - Fencing: Gracefully handle invalid metadata from agents - Upstream version cs: 6052cd16c2f455809f8088af76ce86483bf98353 (Pacemaker-1.1.13)- pengine: cl#5130 - Only check the capacities of the nodes that are allowed to run the resource (FATE#313105) - cib: Correctly add "update-origin", "update-client" and "update-user" attributes for cib (bsc#931177) - fencing : Correction of the log output of the practice node of stonith. - Upstream version cs: a0449d443fa5c834207def5fe36a117a53c334d6- xml: Correctly create v1 patchsets when deleting attributes (bsc#931170) - xml: Prevent potential use-of-NULL (bsc#929960) - Upstream version cs: 677f53216662d121a47b4c7683ec3749c614437e- cib: No need to enforce cib digests for v2 diffs in legacy mode (bsc#929960) - cib: Ability to upgrade cib validation schema in legacy mode (bsc#929960) - xml: Do not dump deleted attributes (bsc#929960) - cib: Revert d153b86 to instantly get cib synchronized in legacy mode (bsc#929960) - cib: Enable cib legacy mode for plugin-based clusters (bsc#929960) - Build: CRM_STATE_DIR is created dynamically when needed - Tools: Repair expected output for ACLs - Build: Prevent rpm packaging conflicts - pengine: cl#5130 - Choose nodes capable of running all the colocated utilization resources (FATE#313105) * Drop obsolete pacemaker-colocated-utilization.patch - Upstream version cs: 0b79da3e73fe2ced8b9602aa59d55873d857b3e7- crmd/pengine: implement on-fail=ignore without allow-fail (bsc#981731) - pengine: Prevent use-after-free in sort_rsc_process_order() (bsc#930368) - crmd: Prevent the old version of DC from being fenced when it shuts down for rolling-upgrade (bsc#929955) - xml: Fix upgrade-1.3.xsl to correctly transform ACL rules with "attribute" (bsc#929681) - crmd/pengine: handle on-fail=ignore properly (bsc#981731) - crmd: respect start-failure-is-fatal even for artifically injected events (bsc#981731) - crmd: don't update fail count twice for same failure (bsc#950450, bsc#981731) - crmd: report operation rc as advertised instead of status (bsc#981731) - xml: add RelaxNG schema for crm_mon XML output - Upstream version cs: c9ad9cd503f071391efe17d3c45d578d6f152acd- pengine: process rsc parameters during unpack (bsc#929842) - pengine: handle setting container attribute in the correct location (bsc#929842) - lrmd: move isolation wrappers to hidden directory (bsc#929842) - mainloop: resolves race condition mainloop poll involving modification of ipc connections (bsc#929835) - Upstream version cs: f47ea56b4ec23c7d8e0c129535a9b49cdbd80482- fencing: Correctly make args for fencing agents (bsc#925751) - fence_legacy: Avoid passing 'port' to cluster-glue agents (bsc#925751) - corosync: Bug cl#5232 - Somewhat gracefully handle nodes with invalid UUIDs - HealthSMART: OCF_RESKEY_drives could contain multiple values - pengine: restart master instances on instance attribute changes - spec: move report.common and report.collector to cli package - pengine: only kill process group on timeout when on-fail does not equal block. - lrmd: Hint to child processes that using sd_notify is not required (bsc#956626) - Agents: Fix the HealthSMART metadata - make targetted reprobe for remote node work, crm_resource -C -N - crmd: include remote nodes when forcing cluster wide resource reprobe - crm_mon: Support of the start from systemd of crm_mon - Upstream version cs: 195559d47b0e9186b5d131981f6f7fee96ecad76- Rebase: * pacemaker-NodeUtilization-RA.patch - docker-wrapper: per resource logging of lrmd and remote client tool - pengine: Avoid trailing whitespaces when printing resource state - pengine: cl#5207 - Display "UNCLEAN" for resources running on unclean offline nodes - docker-wrapper: add reuse option for presistent containers - docker-wrapper: only override exit reason if docker daemon is inactive - pengine: handle isolated resource scenario, cloned group of isolated resources - pengine: handle cloned isolated resources in a sane way - crm_report: More patterns for finding logs on non-DC nodes - lrmd: Use original timestamps when reporting multi-step systemd operations - lrmd: report original timeout when systemd operation completes - systemd: improve unit files - PE: Turn off legacy unpacking of resource options into the meta hashtable - acl: Do not delay evaluation of added nodes in some situations (bsc#927828: CVE-2015-1867) - docker-wrapper: add demote, promote, and notify actions for multistate rsc - docker-wrapper: properly forward key value pairs during isolation - attrd: fixes double free in attrd legacy - lrmd: do not let isolation wrappers inherit the wrapper attribute, or it makes a loop - pengine: pass node name of pcmk host into isolated resources - lrmd: isolation wrappers are moved from containers to isolation OCF namepace - pengine: Fix colocation with unmanaged resources - stonith-ng: Correctly track node state - stonith-ng: No reply is needed for CRM_OP_RM_NODE_CACHE - crm_resource: Fix output format of the warning from --force-start - crm_resource: Display the locations of all anonymous clone children when supplying the children's common ID (bsc#870339) - cib: Correctly track node state - Upstream version cs: 7a2e3ae6b736621933b24f4cdc9ea260021d878d- Rebase: * bug-806256_pacemaker-log-level-notice.patch * pacemaker-NodeUtilization-RA.patch * pacemaker-colocated-utilization.patch - crmd: All peers need to track node shutdown requests (bsc#917625) - crmd: Cached copies of transient attributes cease to be valid once a node leaves the membership (bsc#917625) - crmd: Wait for all pending operations to complete before poking the policy engine - lrmd: preserve exit reason string when isolation wrappers are in use - docker-wrapper: properly separate docker and resource specific attributes - docker-wrapper: set authkey file permissions and properly set container 'node name' during start - systemd: Trick systemd into not stopping our services before us during shutdown (bsc#913251) - mcp: Allow a configurable delay when debugging shutdown issues - systemd: Kindly ask dbus NOT to kill the process if the dbus connection fails (bsc#931271) - systemd: Tell systemd not to take DBus down from underneath us (bsc#913251) - cib: Correctly set up signal handlers - PE: Do not record duplicate copies of the failed actions - lrmd: enable ipc proxy for docker-wrapper privileged mode - lrmd: properly handle poke requests in lrmd client when using ipc - spec: add docker-wrapper directory to spec file - pengine: disable migrations for resources with isolation containers - pengine: disable reloading of resources within isolated container wrappers - pengine: ability to launch resources in isolated containers - extra: docker container tech wrapper script for pcmk remote - tools: crm_mon prints Stopped clones only if --inactive was specified - tools: display node names more consistently in crm_mon output - tools: Improve crm_mon output with certain option combinations - tools: make crm_mon last updated header consistent across formats - remote: pcmk remote client tool for use with container wrapper script - crmd: Reset stonith failcount to recover transitioner when the node rejoins (bsc#921102) - systemd: fix crash caused when canceling in-flight operation - Upstream version cs: 3e93bc1dd6c1c3f2ee101f754567aa007b24bb5e- PE: Support non-actionable degraded mode for OCF - lrmd, services: interpret LSB status codes properly - tools: add crm_resource --wait option - tools: attrd_updater supports --query and --all options - attrd: attrd supports queries - pengine: remove unnecessary whitespace from notify environment variables - tools: free allocated memory correctly in crm_resource - attrd: properly write attributes for peers once uuid is discovered - cib: assignment where comparison intended - attrd: only send ack for recognized operations - attrd: make each client operation handler its own function - tools: attrd_updater supports private attributes - attrd supports private attributes (not written to CIB) - pengine: Reschedule specific monitors when resource definitions have changed (bsc#914761) - pengine: Resolve memory leaks (bsc#914761) - Upstream version cs: e32080b460f81486b85d08ec958582b3e72d858c- properly record stop args after reload - pengine: Do not reschedule monitors that are no longer needed while resource definitions have changed (bsc#914761) - Build: Fix building when heartbeat support is disabled - fencing: cl#5134 - Support random fencing delay to avoid double fencing (FATE#317136, FATE#318381, bsc#970733) - extra: Use crm_simulate for the showscores script - attrd: refresh should force an immediate write-out of all attributes - service: Leave synchronous calls to be free'd by the caller - service: Additional pointer safety - crmd: Add "on_node" attribute for *_last_failure_0 lrm resource operations (bsc#918839) - crm_mon: Fill CRM_notify_node in traps with node's uname rather than node's id if possible (bsc#918839) - pengine: ensure if B is colocated with A, B can never run without A - cib: automatically update .sig files in file backends when clients update live CIB - cib: file-based backends now detect whether file is live CIB - lrmd: add back support for class heartbeat agents - lrmd: provide fake meta data for ra class heartbeat - crm_resource: Use-after-free when restarting a resource - cli: Ensure subsequent unknown long options are correctly detected - crmd: Bug rhbz#1181824 - Ensure the DC can be reliably fenced - attrd_updater: Allow attributes to be set for other nodes - native_print: report target-role as well - membership: fix crm_update_peer_proc to NOT ignore flags if partially set - crmd: don't trigger a stonith_reconnect if no longer required - Upstream version cs: fa1311a0159588385f24cd8c3530233f4b90f3a9- Add pacemaker-Wno-format-signedness.patch to disable - Wformat-signedness added by GCC 5 and enabled by -Wformat=2- pengine: Handle ordering between stateful and migratable resources (bsc#881160) - crmd: Check "watchdog" daemon option before setting "have-watchdog" property - crmd: Correctly add the local option that validates against schema for pengine to calculate - Upstream version cs: 3021d731fdeba29e1136c117a62f3201785be6ea- crm_standby: update accepted options to match documentation - cts: Fix bashisms in LSBDummy script - pengine: fixes pengine crash with orphaned remote node connection resource - PE: Do not aggregate children in a pending state into the started/stopped/etc lists - acl: Correctly implement the 'reference' acl directive - Upstream version cs: 03ec61210c82471161f6cf3366e8afc30d737d67- pengine: imply stop in container node resources when host node is fenced - Build: Fix building if ncurses doesn't provide pkg-config files - xml: Do not change the ordering of properties when applying v1 cib diffs - xml: Do not prune leaves from v1 cib diffs that are being created with digests - Upstream version cs: 4109f1539a625bfa3e884d19ab2fc42d7a4daec4- xml: add 'require-all' to xml schema for constraints - pengine: require-all feature for ordered clones - xml: Ensure ACLs are reapplied before calculating what a replace operation changed - cib: Ensure file-based backends treat '-o section' consistently with the native backend - crmd: resolves memory leak in crmd. - pacemakerd: resolves memory leak of xml structure in pacemakerd - ipc: use server enforced buffer during ipc client send - pengine: do not recording pending migrate_to ops for pacemaker remote - crmd: never stop recurring monitor ops for pcmk remote during incomplete migration - pengine: prefer migration target for remote node connections - pengine: properly handle ordering during remote connection partial migration - crmd: Ensure remote connection resources timeout properly during 'migrate_from' action - crmd: gracefully handle remote node disconnects during op execution - pengine: Fence baremetal remote when recurring monitor op fails - crmd: Handle remote connection failures while executing ops on remote connection - remote: Treat recv msg timeout as a disconnect - pengine: properly recover remote-nodes when cluster-node proxy goes offline - systemd: Correctly handle long running stop actions (bsc#948989) - crm_resource: Include group members when calculating the next timeout - crm_resource: Ensure --restart sets/clears meta attributes - crm_resource: Clean up memory in --restart error paths - Build: Use a wrapper for realloc() which calls abort when we run out of memory - services: Prevent potential use-of-NULL - crm_resource: Memory leak in error paths - crmd: Mistake of the set of the variable. - Upstream version cs: d0139e9a00c32b9bc1d7d206d6210126045b49be- crm_node: Correctly remove nodes from the CIB by nodeid - fencing: Allow nodes to be purged from the member cache - xml: cl#5231 - Unset the deleted attributes in the resulting diffs (bsc#905641, bsc#967254) - fencing: stonith -l option for custom log - cib: Avoid nodeid conflicts we don't care about - Membership: Detect and resolve nodes that change their ID - attrd: Simplify how node deletions happen - attrd: Clean out the node cache when requested by the admin - crm_resource: Allow resource restart operations to be node specific - crm_resource: Implement --timeout for resource restart operations - crm_resource: Calculate how long to wait for a restart based on the resource timeouts - crm_resource: Implement an intelligent restart capability - crm_failcount: Better error reporting when no resource is specified - cib: tls sock cleanup for remote cib connections - Upstream version cs: 7dd90226e10035340d6707d9fd2b04f2e0141194- pengine: make resource-discovery work with location rules - services: Conditionally clean up services actions - Upstream version cs: 5093c095c5f517ab58375b2b69ecfc5516c86b5b- Drop conditional BuildRequires of system-devel: it was required one line lower unconditionally. - Replace remaining systemd-devel BuildRequires with pkgconfig(systemd).- pengine: exclusive discovery implies rsc is only allowed on exclusive subset of nodes - dbus: handle dispatch queue when multiple replies need to be processed - dbus ref count leaks - dbus: Ensure both the read and write queues get dispatched - systemd: Ensure failed monitor operations always return - Perform systemd reloads asynchronously - Upstream version cs: cd7c9abbcfc620aa84194ee07aade142240db15a- watchdog: Allow startup without sbd - service: Prevent potential use-of-NULL in metadata lookups - dbus: Fail gracefully if malloc fails - crmd: Prevent use-of-NULL during reprobe - crmd: Correctly obtain SBD_WATCHDOG_TIMEOUT from the environment - pengine: add #kind=remote for baremetal remote-nodes - Officially support the resource-discovery attribute for location constraints - xml: fix xml.c memleak in "missing upgrade XSLT" case - Prefer to inherit the watchdog timeout from SBD - stonith-ng: Correctly observe the watchdog completion timeout - sbd: Attempt to locate sbd via its pid file - Fencing: If configured, wait stonith-watchdog-timer seconds for self-fencing to complete - Resolve some potential issues spotted by clang and coverity - PE: Watchdog integration is sufficient for fencing - Fencing: Correctly wait for self-fencing to occur when the watchdog is in use - Fencing: Ensure the hostlist parameter is set for watchdog agents - crm_resource: Allow -M location to be reinforced with -f even if rsc is already on node - mcp: Turn on sbd integration if pacemakerd finds it running - pengine: Fix the behaviors of multi-state resources with asymmetrical ordering (bsc#899403) - lrmd: Prevent glib assert triggered by timers being removed from mainloop more than once - cib: Improved tracing of callbacks - Upstream version cs: a9c81774b89f21f990be255f9862446d1a38afee- remote: advertise default port correctly, further adjust default timeout periods - remote: report timestamps for remote connection resource operations - pengine: allow remote-nodes to be placed in maintenance mode - xml: Prevent assert errors in crm_element_value() on applying a patch without version information (bsc#900296) - pengine: prevent disabling rsc discovery per node in certain situations - crm_resource: avoid deletion of lrm cache on node with resource discovery disabled. - pengine: per-node control over resource discovery - mainloop: fix potential segfault for fd = 0 - ping: Correct metadata for attempts parameter (bsc#899324) - ping: Pass extra options to fping (bsc#899324) - ping: Remove incorrectly advertised migrate_to|migrate_from (bsc#899324) - ping: Add use_fping parameter (bsc#899324) - ping: Correctly advertise multiplier default (bsc#899324) - pengine: resource discovery mode for location constraints - cib: Ensure upgrade operations from a non-DC get an acknowledgement - lrmd: cancel pending async connection during disconnect - systemd: Ensure we don't call dbus_message_unref() with NULL - systemd: Perform monitor operations without blocking - dbus: Notice when dbus connections get disabled - pengine: allow baremetal remote-nodes to recover without requiring fencing when cluster-node fails - crmd: do not remove connection resources during re-probe - pengine: only fence baremetal remote when connection can fails or can not be recovered - ipc: properly allocate server enforced buffer size on client - remote: advertise more reasonable timeout periods for remote-nodes connections - crmd: properly update job limit for baremetal remote-nodes - crmd: Remote-node throttle jobs count towards cluster-node hosting conneciton rsc - crmd: Ensure throttle_mode() does something on Linux - systemd: Perform actions asynchronously (bsc#956500) - crm_attribute: Correctly update config options when -o crm_config is specified - crmd: Fixes crash when remote connection migration fails - pengine: fixes segfault caused by malformed log warning - Allow fail-counts to be removed en-mass when the new attrd is in operation - fencing: Use the correct define for origin - fencing: Reject actions for devices that haven't been explicitly registered yet - cts : change default cluster stack from openais to corosync (bsc#894871) - crm_resource: Ensure fail-counts are purged when we redetect the state of all resources - corosync: Avoid unnecessary repeated CMAP API calls (bsc#870771) - cib: Do not update on disk backups if we're just querying them - mcp: Allow orphan children to initiate node panic via SIGQUIT - Support machine panics for some kinds of errors (via sbd if available) - Fencing: Allow the cluster to recover resources if the watchdog is in use - crmd: If configured, trigger the watchdog immediately if we loose quorum and no-quorum-policy=suicide - crmd: Ensure a watchdog device is in use if stonith-watchdog-timeout is configured - Fencing: Advertise the watchdog device for fencing operations - PE: Allow natural ordering of colocation sets - stonith-ng: Reset mainloop source IDs after removing them - Fencing: Force 'stonith-ng' as the system name - crm_mon: Repair notification delivery when the v2 patch format is in use (bsc#909286) - mcp: Teach pacemakerd to ignore SIGHUP - Rebase bug-806256_pacemaker-log-level-notice.patch - Upstream version cs: 28aee948cebd51305a2cdc3ec4f94252ce975655- cluster: Invoke crm_remove_conflicting_peer() only when the new node's uname is being assigned in the node cache (bnc#870771) - mcp: set environment variable which the cluster-glue module needs - services: Refector services os execute function - Upstream version cs: 266d5c2484716111616bcd0f32d9b94bc49baa77- logging: correctly initialized default log file (bnc#883567) - Upstream version cs: 362f181a387e0a0a9f04e0da84d6c5906d71dd20- crm_resource: Print a clear message if the attribute is not found for the resource (bnc#890400) - lrmd: fix rescheduling of systemd monitor op during start - services: restore SIGPIPE default behavior for child processes - lrmd: prevent \n from being printed in exit reason output - lrmd: pass exit reason prefix to ocf scripts as env variable - Upstream version cs: dad4cebccdb5a4bcdb8fb94e676f6df006ac0846- crm_diff: Support generating a difference without versions details if --no-version/-u is supplied (bnc#888726) - crmd: When container's host is fenced, cancel in-flight operations - crm_mon: add exit reason to resource failure output - lrmd: store failed operation exit reason in cib - Upstream version cs: 1040002ecc1a0dfec9f0561f79936cbe64d716db- Bug rhbz#1067544 - Tools: Correctly handle --ban, --move and --locate for master/slave groups - lrmd: Log with the correct personality - mainloop: implement gio_poll_dispatch_mod - Upstream version cs: 483f48a1921241f1f5976a100a171785dc327192- Update to version 1.1.12 - Log: Turn off the default log file if a real one is specified - Log: Do not unconditionally send crm_perror output to stderr - Log: allows the user to specify a log level that is output to syslog - Upstream version cs: 561c4cfda1b09b31b60fd5f73644ee05348f41fb (1.1.12)- logrotate: maxsize is not supported by older versions (bnc#883567) - Tools: Non-daemons shouldn't abort just because xml parsing failed - Log: Default to emitting CRIT messages only until logging is fully configured - Logging: Bootstrap daemon logging before processing arguments but configure it afterwards (bnc#883567) - dbus: Return 'null' if we cannot connect via dbus - Upstream version cs: 026944ebfad7c4b2da5a6864a9d763bf37e0e088- systemd: Ensure the retry logic is also exercised for the 'service' class - crm_simulate: Remove resource states and transient attributes when a node is marked as down - crm_verify: Perform a full set of calculations whenever the status section is present (bnc#886479) - PE: Correctly warn when resources require fencing but fencing is disabled (bnc#886479) - PE: Always use pe_fence_node to mark nodes as unclean - lrmd: Handle systemd reporting 'done' before a resource is actually stopped - Upstream version cs: c468fa06483152c29529f81aa0b5ccf37da8b2af- attrd: Remove offline nodes from node cache for "peer-remove" requests (bnc#870771) - membership: Prevent use-after-free in reap_crm_member() (bnc#870771) - cluster: Remove unknown offline nodes with conflicting unames from node cache (bnc#870771) - crmd: Remove state of unknown nodes with conflicting unames from CIB (bnc#870771) - Upstream version cs: 440da7f59ac4bed16a0289e33f04d2635b335c70- extra: Add logrotate configuration file for /var/log/pacemaker.log (bnc#883567) - PE: Correctly detect empty tags - xml: Ensure realloc didn't fail - crmd: Only write fence_averride if open() returns a positive file descriptor - tools: Non-recurring memory leak - PE: Potential use-of-NULL - ipc: Buffer size cannot be negative - xml: Prevent possible array underflow - mcp: Let daemons know when they have been respawned by the mcp - cts: fix RemoteBaremetal step2 move resource action failed issue - PE: Correctly observe requires=nothing - crmd: Remove unknown nodes with conflicting unames from CIB (bnc#883240) - controld: Return OCF_ERR_INSTALLED instead of OCF_NOT_INSTALLED (bnc#883729) - lrmd: Prevent OCF agents from logging to random files due to "value" of setenv() being NULL (bnc#883524) - cts: fix shutdown pattern not found issue - Fix: ignore SIGPIPE with gnutls is in use - crmd: avoid double free caused by nested hash table removal - crm_report: Correctly detect large files - cib: cl#5222 - Prevent assert in xml_calculate_changes() on performing cib operations (bnc#881575) - Upstream version cs: c3f1a7f8912f3d6d17497dd8af0b69fe0708b2b1- Bug cl#5219 - PE: Allow unrelated resources with a common colocation target to remain promoted (bnc#899175) - Bug cl#5222 - Enable legacy mode whenever a broadcast update is detected (bnc#881575) - xml: Prevent incorrect xml diffs from corrupting the cib (bnc#878362) - mainloop: implement gio_poll_dispatch_mod - cluster: Prevent search of unames from attempting to create node entries for unknown nodes (bnc#881884) - Upstream version cs: 97629ded958f76652350569a54303b3cd25d1d7e- crm_report: Gracefully handle rediculously large logfiles - Bug cl#5222 - cib: Repair rolling update capability (bnc#881575) - cib: Use a better option name for enabling the legacy cib diff code (cl#5222, bnc#881575) - remote: clear remote-node status correctly - pengine: properly handle fencing of container remote-nodes when the container is orphaned - remote: Handle request/response ipc proxy correctly - cib: Prevent assert on sending cib sync requests (cl#5222, bnc#881575) - crm_simulate: Clean up temporary shadow files on exit (bnc#879934) - pengine: cl#5200 - Before migrating utilization-using resources to a node, take off the load that will no longer run there if it's not introducing transition loop (Rework cl#5044, lf#2599, bnc#695440) - Fencing: Cache metadata lookups to avoid repeated blocking during device registration - pengine: properly place resource within a container when container is a remote-node. - mainloop: Better handle the killing of processes in the act of exiting - services: Remove cancelled recurring ops from internal lists as early as possible (bnc#888586) - services: Remove file descriptors from mainloop as soon as we have drained them (bnc#888586) - pengine: Don't report a resource as restarting when it is a moving multistate resource - pengine: avoid assert by searching for stop action on correct node during LogActions - Upstream version cs: 734e6b538b0a037f9e7d0709f450bd664f26c332- cib: Drop the message serverity now that the cause is well understood - crmd: Avoid spamming the cib by triggering a transition only once per non-status change - Upstream version cs: 559f733e8818a96085134cd2a34efc280c512a2a- pengine: Prevent possible segfault (bnc#880258) - attrd: Ensure attribute dampening is always observed - Bug cl#5213 - Limit the scope of the previous commit to the masters role - membership: Avoid duplicate peer entries in the peer cache - Bug cl#5184 - Ensure pending probes that ultimately fail are correctly updated (bnc#804763, bnc#879034) - Upstream version cs: 9776707a6232f25812009145fafa8a64c5b53910- Rebase: * pacemaker-colocated-utilization.patch - Bug cl#5213 - Ensure role colocation with -INFINITY is enforced - pengine: Mark unrunnable stop actions as "blocked" and show the correct current locations (bnc#878662) - pengine: Block restart of resources if any dependent resource in a group is unmanaged (bnc#878662) - systemd: Try to handle dbus actions that complete prior to configuring a callback - mainloop: Canceling in-flight operations should not fail if child process has already exited. - Bug rhbz#1097457 - Limit the scope of the previous fix and include a helpful comment - Bug cl#5212 - Do not promote instances when quorum is lots and no-quorum-policy=freeze - Bug rhbz#1097457 - Prevent invalid transition when resource are ordered to start after the container they're started in - Fix: fix small memory leaks - Upstream version cs: 25ebca2b83df9263aedb944ea4eeb53468e90e83- added necessary macros for systemd files- pengine: Use "#site-name" in rules for setting site-specific instance attributes - pengine: Use "#cluster-name" in rules for setting cluster-specific instance attributes (FATE#316118) - crmd: Set "cluster-name" property to corosync's "cluster_name" by default for corosync-2 (FATE#316118) - pengine: Fixed so that it could change while a setup of "startup-fencing" starts. - crmd: Use correctly signed inputs to sscanf() - PE: Correctly handle origin offsets in the future - iso8601: Different logic is needed when logging and calculating durations - xml: Do not prune meaningful leaves from v1 patchsets - Upstream version cs: da5aaab97ca5b7858f2aac98107a1a7ffc3e4252- use _rundir macro- Rebase: * pacemaker-NodeUtilization-RA.patch * pacemaker-colocated-utilization.patch - xml: Clean up schema list at exit - pengine: Support site-specific instance attributes based on rules for stretch cluster - pengine: Support cluster-specific instance attributes based on rules (FATE#316118) - crmd: Ensure crm_config options are re-read on updates - Resolve all clang analyser defects - xml: Check all available schemas when doing upgrades - Changes to the ACL schema to support nodes and unix groups - tools: Allow crm_shadow to create older configuration versions - xml: Prevent use-after-free when comparing two xml documents - cib: Resolve memory leaks in query paths - xml: Correctly subtract xml with v1 patchsets - fencing: Advertise support for reboot/on/off in the metadata for legacy agents - fencing: default to 'off' when agent does not advertise 'reboot' in metadata - fencing: Execute all required fencing devices regardless of what topology level they are at - fencing: Fence using all required devices - fencing: fixed so that change of could be handled correctly. - Upstream version cs: 42ae0e3cb50bb9e19dba7d1ad1ea69255bef5370- pengine: Fix memory leak in expand_tags_in_sets() - PE: Memory leak - PE: Do not initiate fencing for unclean nodes when fencing is disabled - crm_node: Only remove the named resource from the cib - pengine: Support site-specific instance attributes based on rules (FATE#316118) - pengine: Ignore failure-timeout only if the failed operation has on-fail="block" (bnc#871175) - Upstream version cs: f7859e2e06c8cf320482c3e4b447ddbe0a96fe83- pengine: Support cib object tags (FATE#315101) - crmd: Correctly detect changes of ticket state (bnc#872794) - Upstream version cs: 3f7ec44b51825898e3e30784ca4df09e3f45bf40- Rebase: * bug-812269_pacemaker-fencing-device-register-messages.patch - Build: Update versions in configure.ac and sample spec file - fencing: Do not unregister/register all stonith devices on every resource agent change - PE: Unfencing is based on device probes, there is no need to unfence when normal resources are found active - pengine: handles edge case where container order constraints are not honored during migration - pengine: Allow container nodes to migrate with connection resource - xml: Resolve memory leak when logging xml blobs - PE: Do not unfence nodes that are offline, unclean or shutting down - PE: Ensure unfencing only happens once, even if the transition is interrupted - crmd: Actions can only be executed if their pre-requisits completed successfully - crmd: Do not erase the status section for unfenced nodes - Fencing: Correctly record which peer performed the fencing operation - lrmd: Expose logging variables expected by OCF agents - logging: Simplify processing of logging directives - logging: daemons always get a log file, unless explicitly set to configured 'none' - PE: Ensure unfencing occurs before fencing devices are (re-)probed - fencing: Filter self-fencing at the peers to allow unfencing to work correctly - fencing: Automatically switch from 'list' to 'status' to 'static-list' if those actions are not advertised in the metadata - lrmd: Provide stderr output from agents if available, otherwise fall back to stdout - fencing: properly detect new fencing devices for v2 cib updates - acl: Prevent use-of-NULL - cts: automatically determine whether to run RemoteBaremetal (bnc#856353) - pengine: Correctly search failcount (bnc#880520) - Upstream version cs: ff74a591e670dbdb86f7cddeec989167de521216- pengine: Support id-ref in nvpair with optional "name" (FATE#316118) Drop the patches that have been merged upstream: * pacemaker-pengine-nvpair-id-ref.patch * pacemaker-pengine-nvpair-id-ref-test.patch - Upstream version cs: 6442c5a67cdd4cbaeedb2c532e0dc0667a79c202- xml: INFINITY could overflow for 16-bit ints - explicitly cast it - xml: Correctly determine the lowest allowed schema version - xml: Construct the table of supported schemas - cib: All schema upgrade requests must go via the DC - cib: Determine the best value of validate-with if one is not supplied - acl: Ensure known users are not able to read the cib by default - xml: Add missing schema file - Upstream version cs: d9fbba56804a7a7bcceaa5d4b7e29e3f15fc0e59- crmd: Correctly react to successful unfencing operations - PE: Delay unfencing until after we know the state of all resources that require unfencing - PE: Fencing devices default to only requiring quorum in order to start - PE: Automatically re-unfence a node if the fencing device definition changes - pengine: Only report 'migrate' in transition summary if migration is actually taking place - crm_node: Set correct subsystem in node rm cache msg - crm_node: Prevent use-after-free in tools_remove_node_cache() - crmd: make resource ID case sensitive - fencing: Correction of the registration from a difference. - crm_report: Add support for ISO8601 time format in logs (bnc#870886) - PE: Potential memory leak - xml: Support resources that require unfencing - crmd: make node_state erase correctly - xml: Add the ability to have lightweight schema revisions - xml: Split up the RelaxNG schema files so they're easier to version individually - crm_get_msec: prevent integer overflow - corosync: Reduce log severity for a redundant message (bnc#870624) - attrd: Reduce log severity for normal messages (bnc#870624) - cib: When data was old, it fixed so that the newest cib might not be acquired. - crm_attribute: Default --lifetime to forever when using --node (bnc#870696) - Upstream version cs: 76579e813b5aaa1972d400055233519f58bbc0c6- pengine: Do not fence remote-node entries left over in the node section that have no connection rsc - pengine: properly handle remote-node without connection resource. - xml: Update xml validation to allow '' - cib: allow setting permanent remote-node attributes - Upstream version cs: d63eaf41fa8173de3e29873d0461bfb888b83b37- xml: Allow first-acl-match-wins semantics to be supported if desired - crm_report: extract additional DLM lockspace data - xml: If validate-with is missing, we find the most recent schema that accepts it and go from there - tools: fix "crm_shadow --reset " - controld: Remove '-q 0' from default dlm_controld arguments - acl: Authenticate pacemaker-remote requests with the node name as the client - controld: Verify killall is available on resource start - Prevent use-of-NULL spotted by coverity - crmd: Correctly detect changes to the configuration root - crmd: Fenced nodes that return prior to an election do not need to have their status section reset - xml: Do not log deleted attributes - xml: Correctly mark the parent's of deleted attributes as dirty - crm_diff: Allow the generation of xml patchsets without digests - crmd: Prevent memory leak when accepting a new DC - xml: Find the minimal set of changes when part of a document is replaced - xml: Create the correct diff when only part of a document is changed - Upstream version cs: 61e95e4864be0301be528874eed65266f4e62cf0- pengine: fixes invalid transition caused by clones with more than 10 instances - services_action_cancel: Interpret return code from mainloop_child_kill() correctly - fencing: make hashtable mapping hostname->alias case insensitive for hostname - attrd: Make hostname hashtable case insensitive - membership: make caching peers by uname case insensitive - crmd: make lrm_state hash table not case sensitive - lrmd: clean up the agent's entire process group - xml: Enable resource sets in location constraints for 1.2 schema (bnc#867880) - Upstream version cs: 8bee850bb95ee01dcba03038ddfd65d22e195cf6- Drop obsolete bug-792124_pacemaker-stonith-monitor-log.patch- mainloop: Fixes use after free in process monitor code - lrmd: Cancel recurring operations before stop action is executed - lrmd: Merge duplicate recurring monitor operations - services: Do not allow duplicate recurring op entries - crmd: Ack pending operations that were cancelled due to rsc deletion (bsc#1035822) - crm_mon: Add failures to --as-xml output - cib: Check if on-disk cib is corrupt in the separate on_disk_cib_corrupt() rather than in validate_on_disk_cib() (bnc#866618) - crmd: Do not start timers for already completed operations - acl: Read access must be explicitly granted - xml: Better move detection logic for xml nodes - cib: Do not disable cib disk writes if on-disk cib is corrupt (bnc#866618) - xml: Correctly calculate the adjusted offset of xml elements - crm_diff: Mirror how the cib operates for better testing - cib: Ingore patch failures if we already have their contents - cib: Prevent use-after-free when cleaning up after query operations - xml: Mark the parents of a partial replace as dirty - xml: Correctly enforce ACLs after a replace operation - cib: Do not try to use an empty value for CIB_shadow - crm_resource: Gracefully handle -EACCESS when querying the cib - xml: Correctly observe ACLs when creating filtered copies of xml documents - xml: Only test write permissions for attributes that are being changed - xml: Always allow new scaffolding - node with no attributes or only an id field - cib: Memory leaks caused by ACLs returning filtered copies - xml: Set flags to indicate when updates were rejected by an ACL - cib: Respect the CIB_user environment variable for ACLs - xml: Unpack and apply ACLs when tracking changes - cib: Implement CIB_file-mode ACLs for testing - remote: Enable migration support for baremetal connection resources by default - cibadmin: Allow priviliged clients to perform tasks as unpriviliged users - cibadmin: Remove dangerous commands that exposed unnecessary implementation internal details - cibadmin: Purge legacy command options deprecated since 2008 to make the short-forms available for new options - cib: Include a request with file-mode cib actions for the acl code to interrogate - cib: Switch over completely to the new ACL code - xml: Allow new objects to be created provided they subseqently match a configured ACL - cib: Use the new acl filtering functionality - xml: Support the creation of filtered copies based on ACLs - xml: Convert all ACLs to xpaths during unpack - xml: Add ACL flags for xpath selectors when tracking is enabled - cib: ACL improvements - cib: Simplify ACL handling for read-only cib queries - cib: Check ACLs prior to making the update instead of parsing the diff afterwards - cib: Default ACL support to on - Upstream version cs: 38c5972cd284ea6627b3309b619dad4d27442ab0- Add symlinks rcpacemaker and rcpacemaker_remote to /usr/bin/service (bnc#866057)- Rebase bug-812269_pacemaker-fencing-device-register-messages.patch- xml: Memory leak when free'ing xml documents - systemd: Prevent use-of-NULL when determining if an agent exists - xml: Fix segfault in TRACKING_CHANGES() (bnc#865345) - PE: Memory leak when updating cancel operations - xml: Prevent memory leak in xml _private field - pengine: Performance increase, stack allocated score2char - crm_report: Only gather dlm data if dlm_controld is running - Fix: memory leak found by valgrind was corrected. - Fencing: Add the ability to call stonith_api_time() from stonith_admin - Fencing: Pass the correct options when looking up the history by node name - cib: Ensure 'cibadmin -R/--replace' commands get replies - xml: Correctly initialize and find v1-style patch version numbers - crm_mon: Add -R switch to show clone details - Build: Install compatibility.h - fencing: Teach stonith-ng about finding device and topology changes in the v2 patch format - crm_report: Additional dlm detail - crm_report: Allow ssh alternatives to be used - crmd: Correctly recognise operation cancellations we initiated - crmd: Improved logging of transition cancellations - crmd: Correctly detect lrm refreshes - crmd: Ignore 'move' operations to the cib, we only care about content changes - PE: Ensure instance numbers are preserved for cloned templates - Bug cl#5196 - PE: Check values after expanding templates - crm_mon: Ensure resource attributes have been unpacked before displaying connectivity data - Upstream version cs: ca8234daf2bbb2d0fd2fb47cdbb6667f892081bb- pengine: Support id-ref in nvpair with optional "name" (FATE#316118) * pacemaker-pengine-nvpair-id-ref.patch * pacemaker-pengine-nvpair-id-ref-test.patch- controld: Do not consider the dlm up until the address list is present - pengine: Support per-resource maintenance mode (bnc#863071) - pengine: cl#5187 - Prevent resources in an anti-colocation from even temporarily running on a same node (bnc#856135, bnc#862319) - controld: handling startup fencing within the controld agent, not the dlm - Upstream version cs: 0b7d85a159cc92e00ebded65c9a33edce7ba1c22- cib: Erasing the cib is an admin action, bump the admin_epoch instead - mcp: Tell systemd not to respawn us if we exit with rc=100 - crm_mon: Allow the file created by --as-html to be world readable - crmd: Do not overwrite existing node state when fencing completes - PE: Default sequential to TRUE for resource sets for consistency with colocation sets - Bug rhbz#1036631 - Stop members of cloned groups when dependancies are stopped - PE: Ensure stop actions are viable when reporting what will happen to a resource - xml: Consolidate patchset logging and apply functionality - cib: Validate that everyone still sees the same configuration once all updates have completed - cib: Validate clients are correctly applying v2-style diffs at most once a minute - xml: Allow both patch formats to include and validate an xml digest - election: If an error occurrs in crm_uptime(), compare as {0,0} - xml: Correctly compare the current feature set when determining which patch format to use - crmd: Support failcount processing with the new patch format - crmd: Handle patchset directives that change the configuration top-level - cib: Make patchset validation a run-time switch - cib: Implement zero-copy status update - cib: Enable the more efficient xml patchset format - crmd: Add support for parsing resource operations in the v2 patch format - xml: New function for calculating patchset version details - cib: Auto-detect which patchset format to use - xml: Allow the source of xml library errors to be traced - cib: Send all r/w operations via the cluster connection and have all nodes process them - xml: Use an optimized xpath search function for applying patch sets - xml: Use the new patch application code path - xml: Detect changes in global replace operations - xml: allow either patch format to be created and applied automatically - xml: Create a more robust diff format - xml: Track changes to xml trees as they happen - Upstream version cs: 0d3f74a5caa7e0f7d1f5ccc97e0d2d018ed8bdfc- Update to version 1.1.11 - Drop the patches that have been merged upstream: * pacemaker-display-pending-ops.patch * pacemaker-crm_mon-brief.patch - pengine: Prevent memory leak on handling pending state - crmd: Prevent message relay from attempting to create node entries for unknown nodes (bnc#862383) - attrd: Support "--refresh" command of attrd_updater - crmd: Prevent manual fencing confirmations from attempting to create node entries for unknown nodes (bnc#860169) - Upstream version cs: 3ca8c3bf87057339c9f2a55cd137db8c9c9922f0- ipc: Convince clang that our casting is intended (bnc#845525) * Drop pacemaker-Wno-cast-align.patch which has been merged upstream - cib: Use the correctly typed enum value during initialization - Build: Add dbus as an rpm dependancy - Fix: Bug rhbz#1057697 - Use native DBus library for systemd async support to avoid problematic use of threads - remote: Fail remote-node connection rsc monitor ops early on unexpected disconnect - tools: Return error when attempting to delete an unspecified attribute - remote: Allow baremetal remote-node connection resources to migrate - lrmd: Send event alerting estabilished clients that a new client connection is created. - Fix: Bug rhbz#1057697 - Use native DBus library for systemd support to avoid problematic use of threads - xml: Fix segfault in find_entity() - Upstream version cs: 6290953f2b035a92a8f093973b94c5cf38b79cd9- pengine: Free memory allocated by find_actions() - cib: Fix remote cib based on TLS - Upstream version cs: f3eeaf49d1fb7bca713ecbbc819aef51650d26ef- stonith: Drop the severity of log for recoverable condition (bnc#857779) * Update bug-812269_pacemaker-fencing-device-register-messages.patch- Build: Suppress -Wcast-align warnings/errors on arm and ppc64le (bnc#845525) * Update pacemaker-Wno-cast-align.patch- services: Do not block synced service executions - Upstream version cs: 96cd1941308be48fdf1e827b88ebd9410cf2010a- crm_mon: Display brief output if "-b/--brief" is supplied or 'b' is toggled (FATE#314757) * Add pacemaker-crm_mon-brief.patch - tools: Display pending state in crm_mon/crm_resource/crm_simulate if --pending/-j is supplied (cl#5178) (FATE#315159) * Add pacemaker-display-pending-ops.patch- Drop the obsolete patch (bnc#857779): * bug-812269_pacemaker-fencing-update-cib.patch- crm_report: Force grep to interpret logs as text - pengine: Force record pending for migrate_to actions - pengine: cl#5186 - Avoid running rsc on two nodes when node is fenced during migration - cluster: Fix segfault on removing a node (bnc#858745) - services: Reset the scheduling policy and priority for lrmd's children without replying on SCHED_RESET_ON_FORK (bnc#858857) - fencing: Update stonith device list only if stonith is enabled (bnc#857779) - services: Correctly reset the nice value for lrmd's children (bnc#858857) - pengine: Correctly perform partial migrations when node's uname is not equal to the id. - fencing: Immediately fail remote fencing operation on peer timeout - cl#5055: Improved migration support. - stonith_admin: Ensure pointers passed to sscanf() are properly initialized - Fix: Prevent potential use-of-NULL - crmd: Prevent memory leak in error paths - services: Fixes segfault associated with cancelling in-flight recurring operations. (bnc#859923) - pengine: cl#5174 - Allow resource sets and templates for location constraints (FATE#315158) - Upstream version cs: a3cda7619e71399d54f209296aebf3ba713a0bf4- crmd: Change the default value of node-action-limit - crm_ticket: Support multiple modifications for a ticket in an atomic operation (bnc#855099) - Upstream version cs: 3e8930190b8b53565ef4ca3fa00006c41511be9f- ipc: fix memory leak for failed ipc client connections. (bnc#857779) - pacemakerd: Fixed a problem that only pacemakerd did not inherit the logfacility of corosync.conf. - pengine: Fixes memory leak in regex pattern matching code for constraints. - crm_attribute: Do not swallow hostname lookup failures - crmd: Avoid deleting the 'shutdown' attribute - Upstream version cs: ad10acb1c4d668befd7ea1d39312356223d86615- cts: Install cib_xml.py (bnc#854926) - report: Add support for xz compressed logs (bnc#854060) - attrd: Memory leak - crm_mon: Fix overflow on SMTP subject line - Upstream version cs: 65bb87eadcf6dfd9b5cd6030ec318579fd4fe7c8- Fix: Removes unnecessary newlines in crm_resource -O output (bnc#853651) - Upstream version cs: 93a37bf6ea4dcaea8fe7462442ee01019ec167c5- crmd: Memory leak - Upstream version cs: ce5d77c6038a0a0294d4cae238169c458ba03b72- pengine: Recover unexpectedly running container nodes. - pengine: Disable container node probes due to constraint conflicts - ipc: Have the ipc server enforce a minimum buffer size all clients must use. - Bug cl#5181 - corosync: Ensure node IDs are written to the CIB as unsigned integers - Upstream version cs: f57ad6c17624c0cbfc58c46f0bad7e28453506bb- Update pacemaker-colocated-utilization.patch * pengine: Do not check the allocation of resources during a colocation preview (bnc#849595)- election: Correctly hook up the timeout callback - crmd: Improve throttling response on clusters of single core machines (bnc#838358) - fencing: Wait until all possible replies are recieved before continuing with unverified devices - Bug cl#5179 - Corosync: Attempt to retrieve a peer's node name if it is not already known - Core: Allow blackbox logging to be disabled with SIGUSR2 - PE: Correctly handle demotion of grouped masters that are partially demoted - crmd: When the DC gracefully shuts down, record the new expected state into the cib - crmd: When a peer expectedly shuts down, record the new join and expected states into the cib - attrd: Memory leak - attrd: Do something sane when older non-atomic versions send us messages - crmd: Correctly observe the configured batch-limit (bnc#838358) - attrd: Improve compatibility with older attrd versions - controld: Use the correct variant of dlm_controld for corosync-2 clusters - lrmd: Correctly calculate metadata for the 'service' class - crmd: Prevent over-polling of throttle inputs (bnc#838358) - crmd: Enable cluster-wide throttling when the cib heavily exceeds its target load (bnc#838358) - Upstream version cs: 5a69be5ff56ec7fa66bcf9c2069af6211e4ebc98- crmd: Send the first throttle update (bnc#838358) - Upstream version cs: 2383f6c469bfb31da9efa8e4dd626de049e808c6- Rebase: * bug-806256_pacemaker-log-level-notice.patch - Drop the obsolete patch: * bug-800323_pacemaker-crm_mon-save-cib.patch - Probe for baremetal remote-node connection resources. - remote: Add support for ipv6 into pacemaker_remote daemon - election/fencing: Fix the casts that would result in incorrect values for big-endian systems (bnc#842915) - Fencing: Apply correct score to the resource of group - crm_resource: Wait for the correct number of replies when cleaning up resources (bnc#842204) - cpg: Only process one message at a time to allow other priority jobs to be performed - remote: Handle endian changes between client and server and improve forward compatibility - crmd: A more reliable method of looking up migration options (bnc#838358) - crmd: Allow non-CIB based throttling to be disabled (bnc#838358) - crmd: Honor load thresholds lower than the cib maximum (bnc#838358) - crmd: Tell the DC our job limit instead of the number of cores (bnc#838358) - crmd: Track the CIB's CPU usage (bnc#838358) - crmd: Fold the enforcement of migration-limit into the throttling code (bnc#838358) - crmd: Don't start throttling until we're over the target threshold (bnc#838358) - crmd: Do not send throttle updates to versions that don't support them (bnc#838358) - ipc: Use the higher of the configured buffer size or the default - crmd: Tweak the throttling threshold multipliers (bnc#838358) - crmd: Simplify option processing for throttling options (bnc#838358) - crmd: Simplify the logic for calculating the number of available cores (bnc#838358) - crmd: Make the per-node action limit directly configurable in the CIB (bnc#838358) - crmd: Tweak the throttling code based on migration-limit and/or LRMD_MAX_CHILDREN (bnc#838358) - crmd: Slow down recovery on nodes with IO load (bnc#838358) - crmd: Make the utilization limit configurable (bnc#838358) - crmd: Use the load on our peers to know how many jobs to send them (bnc#838358) - crmd: Notify peers of our relative load (bnc#838358) - remote: Properly version the remote connection protocol - crmd: Track CPU usage on cluster nodes (bnc#838358) - ipc: Consolidate client/server flags and add version field to header - ipc: Suppress asserts for proxied connections - crmd: Do not block on proxied calls from pacemaker_remoted - lrmd: Do not interrogate NULL replies from the server - crm_mon: Reduce flickering in interactive mode - fencing: Ignore changes to non-fencing resources - cli: Do not enabled blackbox for cli tools - crm_resource: Wait for all replies when cleaning up resources (bnc#842204) - crm_mon: Correctly show the queued and exec times for an action - crmd: Correctly update expected state when the previous DC shuts down - crm_resource: Observe --master modifier for --move - PE: Location constraints with role=Started should prevent masters from running at all - Upstream version cs: 907f52608e97b4f280690618342e1377f184b554- Disable -Wcast-align on problematic files (bnc#845525)- iso8601: Prevent dates from jumping backwards a day in some timezones - crm_master: Avoid sending redundant "--node" options to crm_attribute (bnc#846360) - ipc: Client buffer size must never fall below our max read size - ipc: Ensure buffer environment variable is read before setting max buffer len - fencing: Deep copy current topology level list on remote op - Upstream version cs: afdce1faecf82c778ed81eb5eb9b7518d36a1160- crm_resource: Wait for a reply for each request to crmd (bnc#842204) - Upstream version cs: 7afb87c8caa96d3c1ed9a353ae6061023a729fd4- Cluster: On cluster signoff, make sure that the g_source gets disconnected. - crmd: Using PCMK_ipc_buffer variable for remote-node proxy - plugin: Reset the scheduling policy of daemons to SCHED_OTHER with nice value -10 (bnc#843647) - ipc: Compress msgs based on client's actual max send size - pengine: Do not probe for connection resources - Upstream version cs: 490e695539630cfc158c5967a99237659fac5f30- fencing: Allow fencing for node after topology entries are deleted - fencing: Do not broadcast suicide if the on action is being executed - remote: Option to enable/disable probes on container resource remote-nodes - lrmd: Correctly cancel monitor actions for lsb/systemd/service resources on cleaning up (bnc#842471) - services: Fix the executing of synchronous actions - Upstream version cs: 728ec77851540f9ce64ee1b1269d967841571b25- PE: Add a special attribute for distinguishing between real nodes and containers in constraint rules - PE: Allow location constraints to take a regex pattern to match against resource IDs - Bug rhbz#1011618 - Consistently use 'Slave' as the role for unpromoted master/slave resources - cibadmin: Report errors during sign-off - Fencing: Observe pcmk_host_list during automatic unfencing - services: Prevent use-of-NULL when executing service actions - crm_resource: Provide a meaningful error if --master is used for primitives and groups - ipc: Raise the default buffer size to 128k (bnc#838358) - Upstream version cs: ecd44e642db3b65ee83aceed0e93376894a58c47- plugin: stonith-ng needs membership updates (bnc#841010) - controld: allow the stonith-enabled check to be overridden (bnc#842186, fate#315195) - attrd: Avoid infinite write loop for unknown peers - tools: Detect orphaned remote-nodes when setting attributes - controld: don't start dlm if stonith-enabled is false (bnc#842186, fate#315195) - pengine: Probe container nodes - crmd: Tell attrd when remote-node is disconnected - attrd: Give remote-nodes ability to set attributes with attrd - Upstream version cs: c68919f46bbaa96ec4ff2c770f82588280277fe6- crmd: Expose "expected-quorum-votes" option in the metadata only for plugin-based clusters - decode_transition_key: Older systems do not support '%ms' in sscanf - cib: Guard against overly long user specified strings - crm_shadow: Simplify prompt generation and impose a sane limit on length - fencing: Skip empty notifications from the cib - election: Do not update state when ACKs arrive - cib: Additional logging for invalid diff updates - cib: Correctly check for archived configuration files - crmd: Reliably detect and act on reprobe operations from the policy engine - crm_mon: Do not display duplicates of failed actions - crm_node: Display partition output in sorted order - cib: Allow values to be added/updated and removed in a single update - attrd: Use the truely atomic version where CPG is used for cluster communication - attrd: Untested reimplementation of a truely atomic attrd - election: Track the election state and allow it to be queried - crm_resource: Handle --ban for master/slave resources as advertised (rhbz#902407) - xml: Location constraints are allowed to specify a role - Review and refresh all patches to apply without fuzz. - Upstream version cs: 144c2fc4b2f50623cbc87bf20788717e0b058a38- Rebase: * bug-728579_pacemaker-stonith-dev-id.patch * bug-806256_pacemaker-log-level-notice.patch * bug-812269_pacemaker-fencing-device-register-messages.patch - Drop the patches that have been merged upstream: * pacemaker-node-maintenance.patch * pacemaker-node-maintenance-tests.patch * pacemaker-crmd-pending-delete.patch * pacemaker-resource.patch - Drop the obsolete patches: * pacemaker-cts-startcmd.patch * pacemaker-disable-listing-fence-agents.patch * pacemaker-daemon-symlinks.patch * pacemaker-ptest-build.patch * pacemaker-lrmd-remote-disabled.patch * bug-815447_pacemaker-cib-strip-text-nodes.patch * bug-809635_pacemaker-xml-digest.patch - Drop the obsolete source: * heartbeat-doc-1.0.tar.gz- spec: Recommends fence-agents and sbd- pengine: Properly handle orphaned multistate resources living on remote-nodes - pengine: Map orphaned container fillers to container resource during shutdown to preserve ordering - pengine: Do not attempt to probe resources on remote-nodes that are shutting down - cib: Prevent potential double free in get_remote_uuid - pengine: Properly shutdown orphaned remote connection resources - crmd: Populate remote peer cache when building new cib - crmd: Clear remote-node status AFTER start completes, not before. - pengine: Probe resources on baremetal remote-nodes - crmd: Remote-node fencing glue - pengine: Allow fencing of baremetal remote nodes - crmd: Cache baremetal remote-nodes - tools: Fixes formatting of remote-nodes in crm_mon and crm_simulate - Upstream version cs: d9bb7632492b1f91a300fb43e9ad8a262a8f2928- cib: Support XML comments in diffs (bnc#836965) - Upstream version cs: 5d0a2239543bd5003444af4a16780ac47fd37079- crm_mon: add --hide-headers option to hide all headers - pengine: Order demote/promote of resources on remote nodes to happen only once the connection is up - tools: clear ncurses screen when crm_mon cannot connect - crmd: Invalid formatting of log message causes crash - remote: Properly handle expected late replies when TLS transport is in use. - cluster: Allow remote-nodes to be cached - Upstream version cs: a4eb44fd075e8cb8608f5e45522cade45658ff98- Fencing: Support agents that need the host to be unfenced at startup - cpg: Correctly set the group name length - pengine: Distinguish between the agent being missing and something the agent needs being missing (bnc#833374) - crmd: Prevent PCMK_LRM_OP_NOT_INSTALLED for being mapped to PCMK_LRM_OP_ERROR - Bug cl#5171 - PE: Don't prevent clones from running due to dependant resources - services: Correctly invoke callbacks for aborted operations - services: Preserve errno when handling exec failres least it be reset as a side-effect of other calls - services: Prevent use-of-NULL in g_error_free - services: Detect missing agents and permission errors before forking - lrmd: Do not overwrite any existing operation status error - crmd: Correcty update the history cache when recurring ops change their return code - PE: Correctly account for the location preferences of things colocated with a group - crmd: Gracefully handle actions that cannot be initiated - crm_simulate: Do not complain about CRM_OP_REPROBE actions - PE: Gracefully handle bad values for XML_ATTR_TRANSITION_MAGIC - crm_mon: Correctly extract alternate name for pingd attributes - Fix: Prevent use-of-NULL when ping resources do not define a host list - Fix: Gracefully handle -ECHILD from waitpid() in crm_abort() - Fix: Command-line tools should stop after an assertion failure - systemd: Prevent glib assertion - only call g_error_free() with non-NULL arguments - Upstream version cs: 4f672bc85eefd33e2fb09b601bb8ec1510645468- crmd: Don't add node_state to cib, if we have not seen or fenced this node yet - PE: Do not allow colocation with blocked clone instances - PE: Do not re-allocate clone instances that are blocked in the Stopped state - fence_legacy: stonithd now handles killing the process group for us - Fencing: On timeout, clean up the agent's entire process group - fencing: Put all fencing agent processes into their own process group - crmd: Prevent crash by passing log arguments in the correct order - PE: Do not restart resources that depend on unmanaged resources - crmd: Prevent recurring monitors being cancelled due to notify operations - mcp: Fix so that only pacemakerd restarts, at the time of pacemakerd failure - mcp: Support PCMK_fail_fast to reboot a machine at the time of process (subsystem) failure - cpg: Ensure the CPG group is always null-terminated - Upstream version cs: ac7aa1c94f317fc1d4024fbc09b012bc9f1b229e- Update to version 1.1.10 - crm_resource: Allow options to be set recursively - cib: Correctly read back archived configurations if the primary is corrupted - mainloop: Hand the channel off to g_io_watch and forget it. - mainloop: Force removal of ipc fd in dispatch_del callback - crmd: Clean up handling of pending operations at shutdown and improve logging - Bug cl#5161 - crmd: Prevent memory leak in operation cache - cib: Ensure we set up hacluster's groups in stand-alone mode - Upstream version cs: 368c72641139785ec5981813f311fae8cd1410f3 (1.1.10)- cpg: Correctly free sent messages (bnc#853675, bnc#856018) - crm_resource: Present an error if an admin tries to --force-start an already active resource - cluster: Correctly construct the header for compressed messages (bnc#851951, bnc#856018) - PE: Re-allow ordering constraints with fencing devices now that it is safe to do so - cl#5170 - Correctly support on-fail=block for clones - PE: Do the right thing when admins specify the internal resource instead of the clone - fencing: Correctly detect existing device entries when registering a new one - crm_node: Return 0 if --remove passed - remove the mainloop_trigger that are no longer needed. - corosync: Ensure removed peers are erased from all caches - cluster: Detect and warn about node names with capitals - Upstream version cs: 9abe6876d50ff2879f17b08dfa1500817a7fbeba- crmd: Prevent messages for remote crmd clients from being relayed to wrong daemons- lrmd: Prevent use-of-NULL in client library - Upstream version cs: 9d656180294770e39deced79a134d4cf531b8159- Bug cl#5168 - Prevent clones from being bounced around the cluster due to location constraints - Upstream version cs: 90b8afe77ab8a3ff2fd30826187fd7726aab4f04- crm_mon: Bug cl#5167 - Only print "stopped" node list for incomplete clone sets - Upstream version cs: d16f4c56b120c5ae761680cfb4d98922a185c6c2- Fix: memory leak when used score2char() - Fencing: Avoid hashtable lookups in NULL - Fencing: Force use of the calculated command for support ops - Bug cl#5157 - Allow migration in the absence of some colocation constraints - PE: Detect constraints with inappropriate actions (ie. promote for a clone) - PE: Do the right thing when admins specify the internal resource instead of the clone - Fencing: User-defined arguments always trump calculated ones - cluster: Correctly remove duplicate peer entries - Upstream version cs: 0dc3203917438057ab476a0f0aac4a1c8e27f97a- plugin: Fix memory leaks - Upstream version cs: 5053ba656a854bdf4eacaf7d43b0dce1b7e58b9d- plugin: Handle messages in the common way in the plugin dispatch function by default - Upstream version cs: 704f45e36594018358b0ea9d578291af1d52196e- plugin: Fix small memory leak- plugin: Change the function declaration in the plugin header - crm_mon --neg-location drbd-fence-by-handler - crm_mon -A: print_attr_msg needs to lookup paramters, not meta - crm_mon -A: fix memleak, add g_free_list(attr_list) - crmd: CID#1036761 Dereference null return value - Corosync: CIB#1036763 Dereference before null check - Tools: CID#1036764 Unused pointer value, CID#1036762 Resource leak - Tools: CID#1036760 Truncated stdio return value - PE: Delete the old resource state on every node whenever the resource type is changed (bnc#822233) - Upstream version cs: 61e4b8f62b109ca5b910efd38c7e79ef403030fd- crmd: Ensure operations for cleaned up resources don't block recovery (bnc#825536) - logging: If SIGTRAP is sent before tracing is turned on, turn it on - membership: Correctly merge partial entries in the peer cache - attrd: Fixes deleted attributes during dc election - crmd: Stop trying to fence when no devices exist capable of fencing a node - PE: Allow active nodes in our current membership to be fenced without quorum - PE: If fencing is unavailable or disabled, block further recovery for resources that fail to stop - crm_resource: Avoid whitespace in transition keys when cleaning up and failing resources (bnc#851308) - crmd: Everyone who gets a fencing notification should mark the node as down (bnc#842915) - crmd: Initiate node shutdown if another node claims to have successfully fenced us (bnc#842915) - crm_resource: Correctly implement --master - crm_resource: Support OCF tracing when using --force-(check|start|stop) - lrmd: Make lrmd and pacemaker_remoted in charge of setting up rsc state folder - Allow uuid retrieval for nodes with no known name - crmd: Update the status section with details of nodes for which we only know the nodeid - crm_error: Add the ability to list and print error symbols - crmd: Further improve clean shutdowns - Core: Ensure the blackbox is saved on abnormal program termination - crm_mon: Implement the ability to change the display options during operation. - Upstream version cs: 6ea4b7ef34ce6e17f53f69d87a404d334db5d837- xml: Purge diff markers even if there's no digest (bnc#824097)- crmd: Prevent use-of-NULL during emergency shutdown - crmd: Ensure all membership operations can complete while trying to cancel a transition - Repair handling of attrd_update_delegate() return codes - attrd: Correctly detect successful invocation of attrd_update() - Convert all exit codes to positive errno values - crm_attribute: Send details on duplicate values to stdout - crm_attribute: Return the actual error code rather than the negative of it - crm_resource: Implement the --master option for the --move,--ban,--clear commands - crm_resource: Make --move without --host a true alias for --ban without --host - crm_resource: Implement --ban for moving resources away from nodes and --clear (replaces --unmove) - cib: Allow multiple children to be removed from the object root (eg. constraints) - crmd: Prevent use-after-free now that mainloop terminates naturally - mainloop: Saner ordering of reference counting events in mainloop_destroy_trigger() - Correctly calculate crm_system_name - Core: Tolerate NULL in mainloop_destroy_trigger() - crmd: Allow mainloop to terminate naturally on graceful shutdown - crmd: Use standard error codes on exit - Ensure anything we free at shutdown is set to NULL too - Ensure crm_system_name is cleaned up at exit for valgrind - crmd: Ensure timers are stopped at exit - Fencing: Ensure API object is consistently free'd - Clean up internal mainloop structures at exit - Core: Correctly unreference GSource inputs - crmd: Clean up more memory before exit - crmd: Do not get stuck in S_POLICY_ENGINE if a node we couldn't fence returns - Upstream version cs: 47ed85ac6f4a9ac353945ae8bc4d7cea98b7cb7a- PE: Mark unrunnable stop actions as "blocked" (bnc#816511) - crm_resource: Do not crash when calling --force-start on an invalid resource - ping: Ensure OCF_RESKEY_failure_score has a value (bnc#831327) - PE: Unlink pengine output files before writing. - Fencing: Restore the ability to manually confirm that fencing completed (bnc#843699) - Fix: Resolve several memory leaks and improper dereferencing of pointers - PE: cl#5155 - Block the stop of resources if any depending resource is unmanaged (bnc#816511) - crmd: Insert async failures so that they appear in the correct order - cl#5151 - Ensure node names are consistently compared without case - crmd: Block after 10 failed fencing regardless of crmd-transition-delay - PE: Re-initiate _active_ recurring monitors that previously failed but have timed out - cl#5133 - PE: Correctly observe on-fail=block for failed demote operation - PE: Suppress meaningless IDs when displaying anonymous clone status - PE: Display a list of nodes on which stopped anonymous clones are not active instead of meaningless clone IDs - PE: Correctly handle resources that recover before we operate on them - Core: Detect child processes that terminate before our SIGCHLD handler is installed - Upstream version cs: 674e69854a0ce4636ee54e123e45b1612c8f1fd5- crmd: Do not record pending delete operations in the CIB- cib: Strip text nodes on writing CIB to disk (bnc#815447, bnc#809635) - xml: Use xmlNodeDump() from libxml2 when calculating digest (bnc#809635)- PE: Ensure per-node resource parameters are used during probes - cl#5154 - Do not expire failures when on-fail=block is present - Upstream version cs: 2db99f16fe9b19a6320db62755f0f28ced8efe00- cl#5153 - Correctly display clone failcounts in crm_mon - crmd: Simplify the logic for resetting node status in the CIB after fencing events (bnc#812913) - crmd: cl#5152 - Correctly clean up fenced nodes during membership changes (bnc#812913) - ipc: Reference the correct type when inspecting IPC messages - Core: Ensure the last field in transition keys is 36 characters - crm_mon: Check if a process can be daemonized before forking so the parent can report an error - crm_mon: Ensure stale pid files are updated when a new process is started - extra: add failure_score parameter into ping RA - crm_resource: Allow --cleanup without a resource name - Upstream version cs: 3297085490c2fe0af25fc805d2b53123da877f7a- fencing: Drop the severity of the messages on registering a stonith device (bnc#812269)- crmd: Ensure we return to a stable state if there have been too many fencing failures - fencing: Prevent empty call-id during notification processing - crm_resource: Make --refresh and --reprobe an alias for --cleanup [--resource name] - crmd: Indicate completion of refresh to callers - crmd: Indicate completion of re-probe to callers - crm_resource: Allow individual resources to be reprobed - ipc: Allow unpriviliged clients to clean up after server failures - crmd: Only performa dry run for deletions if built with ACL support - Upstream version cs: a92f3a0e327da2af171856c979fb8eaa00122534- crmd: Fixes hash table assert when resetting stonith failures - crmd: Fixes memleak in failure cleanup - crmd: Do not update fail-count and last-failure for old failures (bnc#804003) - tools: cibadmin - Do not log for query commands by default (bnc#813045) - services: Fix signal FD leak - Upstream version cs: d63c13cbcde7663cfae9bb412583ad11914b6acc- tools: crm_mon - Prevent segfault on reconnecting cib (bnc#813131)- Fix: tools: crm_mon - Print a timing field only if its value is non-zero (bnc#809313)- tools: crm_mon - Save relevant cib XML into /tmp/cmon.* files if refreshing fails (bnc#800323)- fencing: Directly query the full cib on updating the cib cache (bnc#812269)- cib: Use unique error codes for write_cib_contents() - Fix: Ensure custom error codes are less than 256 - corosync: cl#5148 - Correctly remove a node that used to have a different nodeid (bnc#805278) - Upstream version cs: e8caee88c9e078fccf98a9da05543b73d4696f04- services: Improve the performance of synchronous actions (bnc#803969)- lrmd: Change the default directory for nagios plugins (bnc#812005)- xml: Prevent lockups by setting a more reliable buffer allocation strategy - fencing: Fix memory leaks and invalid read - fencing: Correctly unpack device parameters before using them - lrmd: Avoid memory leak in resources_action_create() - Skip WNOHANG when waiting after sending SIGKILL to child processes - fencing: Fail the operation once all peers have been exhausted - Fix several use-after-free and use-of-NULL - fencing: Correctly filter devices when no nodes are configured yet - ipc: Restore the ability for members of the haclient group to connect to the cluster - Fencing: Re-use the policy engine libraries for filtering devices - Upstream version cs: c7910371a5ada346fe7d1e1872ec9a40570018e6- corosync: Support "crm_node --remove" with a node name for corosync plugin (bnc#805278) - Fix memory leaks in stonithd, crmd and lrmd - services: Close the reading pipes when a synchronous action is finished - Doc: Pacemaker Explained: Add nagios resource class - Upstream version cs: cb7b3f48dea9eb1b6825242da2ef507887b409cc- Log: Change some messages to notice level (bnc#806256)- xml: Support nagios resource class in the 1.2 schema - xml: Support resource container in the 1.2 schema- Update to version 1.1.9 - fencing: Only initiate topology based fencing if all topology queries have arrived AND we are still in the query phase - fencing: Don't delay execution if all topology queries have arrived - crmd: Bug cl#5144 - Do not updated the expected status of failed nodes (bnc#807824) - Core: Support PCMK_logpriority to set syslog priority - Upstream version cs: 2a917ddb9d1a01f47db84b17468413522d63ddfa- update license to new format- Include sys/resource.h for getrlimit etc.- Core: Revert to the original process flags for the support of rolling-upgrade - PE: Bug cl#5059 - Use the correct action's status when calculating required actions for interleaved clones - Upstream version cs: 61a079313275f3e9d0e85671f62c721d32ce3563- Use BuildRequires: libgnutls-devel instead of gnutls-devel for Factory in keeping with gnutls package naming changes.- corosync: Determine node state for plugin based cluster types - tools: crm_node - Test stack membership only when displaying partition members - Overhaul the way peers are determined to be sufficiently active - PE: Observe the promotion score of probed resources - crmd: Detect when peers have an incorrectly set process list - corosync: Detect when the first corosync has not yet formed and handle it gracefully - Corosync: Move deprecated corosync variants to their own file - Upstream version cs: 4c8b599e6d79499f28f8178988d65fd33e0d9b24- Update to version 1.1.7 - crmd: cl#5057 - Restart sub-systems correctly (bnc#755671) - corosync: Fix compilation when libqb is not available - pengine: cl#5058 - Fixes issue with on-fail option on operation being ignored. - tools: rhbz#754216 - Make crm_mon --as-xml option default to - -one-shot mode - cts: cl#5047 - Suppress cts badnews output related to fencing when fencing is expected. - crmd: cl#5053 - Fixes fail-count not being updated properly. - crmd: cl#5051 - Fixes file leak in pe ipc connection initialization. - Tools: crm_simulate - Correctly detect status sections with duplicate node_state entries - crmd: Detect when the quorum API isn't configured for corosync 2.0 - RA: controld - use the correct dlm_controld when membership comes from corosync directly - Core: Fix the logging of XML and conditional corefile creation by asserts - pengine: cl#5045 - Better handling of interrupted migrations. - Build: rhbz#805147 - Use default value for HB_DAEMON_DIR define when clusterglue does not provide one. - cib: Even with no peers, we still need to wait for connected clients to disconnect - corosync: Fix complation warning when corosync doesn't use libqb - cib: Determine when there are no peers to respond to our shutdown request and exit - cib: Correctly shutdown in the presence of peers without relying on timers - Corosync: Correctly disconnect from corosync variants - cib: Ensure no additional messages are processed after we begin terminating - Corosync: Reset connection variables after disconnect - Core: Correctly track the length of a string without reading from uninitialzied memory (valgrind) - PE: Fix memory leak in order_rsc_sets (valgrind) - Tools: Fix memory leak in crm_simulate (valgrind) - PE: Correctly locate crm_simulate for automated regression tests - Core: Use the default schema location when PCMK_schema_directory is defined but empty - PE: Correctly migrate a resource that has just migrated - pengine: cl#5025 - Automatically clear failures when resource configuration changes. - Fix a number of potential problems reported by coverity - crmd: Also purge fencing results when we enter S_NOT_DC - crmd: Correctly determine when a node can suicide with fencing - PE: Bug rhbz#799070 - Report resources as active in crm_mon if they are located on an unclean node - Upstream version cs: 023d3b183e77cfdb3699080b26d98ca4bc534c57- PE: Support of referencing resource templates in resource sets (bnc#729634) - stonith: A "start" operation of a stonith resource does a "monitor" on the device beyond registering it - PE: More validations on configurations related to resource templates - Core: Bug cl#5027 - Fix compilation when libqb is not available - PE: cl#5002 - increment_clone() does not terminate on invalid input - PE: Indicate the difference between resources that are restarting and reloading - crmd: Leave it up to the PE to decide which ops can/cannot be reload - PE: Detect reloads of previously migrated resources - Core: Bug cl#5016 - Prevent failures in recurring ops from being lost - crmd: Bug cl#5015 - Remove the failed operation as well as the resulting fail-count and last-failure attributes - Fencing: Supress errors when listing all registered devices - PE: Reload of a resource no longer causes a restart of dependant resources - Fencing: Implement support for advanced fencing topologies: eg. kdump || (network && disk) || power - Fencing: Add support for fencing levels to the admin tool - Fencing: Prevent duplicate free and uninitialized pointers - Fencing: Correctly remove the fencing levels when requested - Fencing: Not all devices might be running locally when creating a fencing level - cib: Don't halt disk writes if the previous digest is missing - Cluster: Hook up the callbacks to the corosync quorum notifications - Corosync: Correctly extract the node id from membership udpates - Core: Ensure signals are handled eventually in the absense of timer sources or IPC messages - Corosync: Default to using the nodeid as the node's uuid (instead of uname) - corosync: Consistently set the correct uuid with get_node_uuid() - Fencing: Standardize on /one/ method for clients to request members be fenced - Core: Strip text nodes from on disk xml files (bnc#769910) - Tools: Implement crm_node functionality for native corosync - corosync: Hook up CPG membership - fencing: More gracefully handle failed 'list' operations for devices that only support a single connection - corosync: Unset the process list when nodes dissappear on us - corosync: Correctly infer lost members from the quorum API - crmd: Election - perform the age comparison only once - crmd: Remove rusage differences of less than a second from election calculations - PE: Ensure post-migration stop actions occur before node shutdown - fencing: Correctly remove a single fencing level for a target - fencing: Add the fencing topology section to the 1.1 configuration schema - corosync: Ensure we catch nodes that leave the membership, even if the ringid doesn't change - corosync: Treat CS_ERR_QUEUE_FULL the same as CS_ERR_TRY_AGAIN - crmd: Fast-track shutdown if we couldn't request it via attrd - tools: Bug rhbz#754216 - Add XML as an output option to crm_mon - Core: Correctly determine when an XML file should be decompressed - corosync: Remove deprecated member of the CFG API - fencing: Provide enough data to construct an entry in the node's fencing history - pengine: cl#5014, Prevent asymmetrical order constraints from causing resource stops - pengine: cl#5007, Fixes use of colocation constraints with multi-state resources - PE: Bug cl#5038 - Prevent restart of anonymous clones when clone-max decreases - PE: Bug rhbz#789397 - Failcount and related info should be reset or removed when the resource is deleted - fencing: fence_legacy - Drop spurilous host argument from status query (bnc#750512) - pengine: Bug cl#5000 - Implements ability to create rsc_order constraint sets such that A can start after (B || C) has started. - Fencing: fence_legacy - Ensure port is available as an environment variable when calling monitor (bnc#750512) - PE: Bug cl#5028 - Unmanaged services should block shutdown unless in maintainence mode (bnc#738882) - Fix coverity defects in pengine, cib, stonith-ng and crm_resource - Fix use-after-free in crmd, stonith-ng and crm_simulate - Fix use-of-NULL in libcrmcluster and stonith-ng - Fix segfaults in stonith-ng and xml.c - Upstream version cs: 1e8a96ae55d6022f7036434b537938a1fa75a700- Add provides to identify support level for tickets (bnc#752241)- Resolve coverity RESOURCE_LEAK, REVERSE_INULL and UNREACHABLE defects- Tools: crm_simulate - Support to grant/revoke/standby/activate tickets from the new ticket state section (bnc#752241)- Tools: Add crm_ticket to be profiled by valgrind - Tools: crm_ticket - Display the tickets that are referenced in rsc_ticket constraints but have never been granted yet (bnc#752241) - Tools: crm_mon - Support to display tickets (bnc#752242)- PE: Move the ticket state section to "/cib/status/tickets/ticket_state" (bnc#752241) - PE: Support to make tickets standby for relinquishing tickets gracefully (bnc#752241) - Tools: Implement a new crm_ticket (bnc#752241) - Tools: Update CLI regression tests for the new crm_ticket - Tools: Add CLI regression tests for ticket standby state - PE: Update regression tests for the new ticket state section - PE: Support to make tickets standby for relinquishing tickets gracefully (regression tests)- Tools: crm_ticket - Granting/revoking tickets need user to confirm unless "--force" option is used (bnc#752269)- Tools: Implement the support of granting/revoking tickets for crm_simulate (bnc#752241)- Core: Move several new fields since v1.1.6 to the end of the data types for ABI compliance - stonith: Default to 20s timeout for start and monitor operations of stonith resources which is same as "default-action-timeout" (bnc#733337) - Tools: ptest - Fix "-X, --xml-text" option to handle a XML string as its argument (bnc#736212) - cib: Fix segfault caused by destroying an already freed hash table (cl#5023) - stonith: Expose IDs of stonith resources to stonith agents through "$CRM_meta_st_device_id" environment variable (bnc#728579)- Only include glib.h in plugin.h (don't directly use glib/ghash.h)- RA: add NodeUtilization - stonith-ng: export stonith resource name to stonith agents - crmd: Send out all of the meta parameters to lrmd for stop actions (bnc#715501) - RA: Fix the metadata of HealthSMART and SysInfo RAs - stonith: Longer default timeout/interval of operations for stonith resources - Doc: many proof-reading improvements - stonith: Fix the stonith timeout issue (cl#5009, bnc#727498) - update the license information in pacemaker.spec (bnc#726795) - xml: Add rsc_ticket support into "pacemaker-1.2" schema - xml: Add resource template support into "pacemaker-1.2" schema - tools: Avoid problems caused by differences between node name and uname -n - PE: Resolve memory leak when retrieving failure counts - Stonith: Implement a manual override for when nodes are known to be safely off - PE: Implement limit number of concurrent live migrations (FATE#310118) - PE: Implement referencing templates in constraints - PE: Move master based on failure of colocated group - Fencing: Support admin configurable timeouts for API operations - Fencing: Support checking in-progress operations for all nodes - don't package crm shell code - add Requires: crmsh - Build man pages and html versions (bnc#723680) - Shell: template support - Upstream version cs: b988976485d15cb702c9307df55512d323831a5e- add libtool as buildrequire to avoid implicit dependency- Upgrade to 1.1.6. - PE: Demote from Master does not clear previous errors - crmd: Prevent secondary DC fencing resulting from CIB updates that are lost due to elections - crmd: Log duplicate DC detection as a WARNING not ERROR - crmd: Bug lf#2632 - Correctly handle nodes that return faster than stonith (bnc#710314) - Core: Treat GNUTLS_E_UNEXPECTED_PACKET_LENGTH as normal termination of a TLS session - cib: Call gnutls_bye() and shutdown() when disconnecting from remote TLS connections - cib: Remove disconnected remote connections from mainloop - cib: Attempt a graceful sign-off for remote TLS connections - Core: Ensure there is sufficient space for EOS when building short-form option strings (prevents segfault) - Core: Fix variable expansion in pkg-config files - PE: Resolve memory leak reported by valgrind - PE: Fix memory leak for re-allocated resources reported by valgrind - PE: Improve the merging with template's operations - crmd: Allow nodes to fence themselves if they're the last one standing (lf#2584) - stonith: Add an API call for listing installed agents - stonith: Allow the fencing history to be queried - stonith: Ensure completed operations are recorded as such in the history - stonith: Support --quiet to display just the seconds since epoch at which a node was last shot - stonith: Serialize actions for a given device - stonith: Add missing entries to stonith_error2string() (missing error messages) - Shell: geo-cluster support commands - Shell: support for rsc_ticket - Shell: let the pager decide how to handle output smaller than terminal - Shell: look for log segments with more care and don't throw exception on seek (bnc#713939) - Shell: several history improvements - tools: crm_attribute - Update tickets directly to cib instead of through attrd - Shell: support for LRM secrets in resource level - Shell: enable removal of unmanaged resources (bnc#696506) - Shell: add crm execute directory to the PATH if not already present (bnc#712605) - Shell: update log patterns for history - Shell: relax transition acceptance in history - tools: crm_simulate - Send logging to stdout when additional detail is requested so that grep works as intended - PE: Prevent services being active if dependancies on clones are not satisfied (bnc#707150) - PE: Prevent resource shuffling when the 'utilization' placement strategy is used - PE: Implement resource template - fencing: Add support for --reboot to stonith_admin - Fencing: Downgrade an error message for a valid scenario - crmd: Ensure we do not attempt to perform action on failed nodes (bnc#703236, lf#2612) - Fencing: admin - Disable stderr logging by default - Fencing: Fix use-of-NULL by g_hash_table_lookup - Tools: Correctly log corosync node IDs (lf#2621) - pacemaker:ping: Incorporate fping functionality from Dan Urist - crmd: Recurring actions shouldn't cause the last non-recurring action to be forgotten - crmd: Do not wait for actions that were pending on dead nodes - crmd: Cancel timers for actions that were pending on dead nodes - PE: Correctly recognise which recurring operations are currently active - PE: Ensure role is preserved for unmanaged resources - PE: Ensure unmanaged resources have the correct role set so the correct monitor operation is chosen - PE: Implement cluster ticket and deadman - Build: Add crm_ticket into spec file - Tools: crm_attribute - No need to determine the node for tickets management - Tools: crm_mon crm_resource - Display the "operation_key" instead of the operation "id" if available (bnc#707201) - CTS improvements. - Shell: reimplement the history latest command (bnc#710958) - Shell: Don't limit to last hour when examining hb_reports - Shell: improve capture log slices for transitions (bnc#710907) - Shell: allow specifying PE files as relative paths in order to disambiguate between PE inputs with the same number (bnc#710655) - Shell: remove peinputs "get" and "list" subcommands, just use 'v' for the long listing (bnc#711060) - Shell: remove transition "show" subcommand, if there is no subcommand it is assumed that the user wants to do "show" (bnc#711060) - Shell: detect (and ignore) empty transitions - Shell: review transition interface (bnc#710655) - Fencing: Improved pcmk_host_map parsing - Fencing: Consolidate pcmk_host_map into run_stonith_agent so that it is applied consistently - Shell: Update regression tests for new stonith metadata - pengine: Correctly determine the state of multi-state resources with a partial operation history - Core: Cancelled and pending operations do not count as failed - PE: Ensure restarts due to definition changes cause the start action to be re-issued not probes - Fencing: Prevent use-of-NULL by g_hash_table_lookup - Shell: Install support for pssh - PE: Support of monitor op with role="Stopped" - Shell: improve logic for when to use the pager - Shell: don't print error on Broken pipe - cib: Record and display the originator details of CIB changes for schema "pacemaker-1.2" - crmd: Display the name and vlaue of the transient attribute(s) that caused a new transition - stonith: Correctly handle synchronous calls - PE: A demote operation is implied by the stonith operation (lf#2606) - PE: Group migration after failures and non-default utilization policies (lf#2613, lf#2619) - Shell: Include log file querying tools and "history" extension. - Significant number of fixes for issues reported by Coverity. - ais: Handle IPC error before checking for NULL data (bnc#702907) - PE: save PE inputs again (bnc#703723) - PE: Before migrating an utilization-using resource to a node, take off the load which will no longer run there (lf#2599, bnc#695440) - cib: Record and display the originator details of CIB changes - cib: Update "cib-last-written" for live CIB on a config change - cib: Filter out unnecessary "update-*" fields on digest calculating - doc: man page for crm - cib: Check the validation version before adding the originator details of a CIB change - PE: Don't log resource states unless debug is on - Shell: implement -w,--wait option to wait for the transition to finish - crmd: Store only the last and last failed operation in the CIB - Core: Use pre-glib2-2.28 version of g_str_hash to ensure consistent score calculation for clone instances - Shell: repair template list command - PE: Optimize the placement strategy and handle stickiness for utilization-based placement correctly (bnc#669686) - Shell: print error instead of warning and exit with 1 if a resource cannot be deleted (bnc#680401) - Tools: attrd - Do not initiate updates for deleted attributes - Tools: Make progress when attrd_updater is called repeatedly within the dampen interval but with the same value (lf#2528) - tools: Do not pass bash specific switches to other SHELLs (lf#2556) - crmd: Watch for config option changes from the CIB even if we're not the DC (lf#2509) - PE: Prevent shuffling by choosing the correct clone instance to stop (lf#2574) - PE: Avoid group restart when clone (re)starts on an unrelated node (lf#2581, bnc#681595) - PE: Set reasonable default limits for the number of input files saved - tools: Do not recursively look for resource meta attributes (lf#2563) - PE: Do not write out duplicated input files (lf#2582) - cib: Use SIGPIPE for re-enabling disk writes after an error (lf#2229) - crmd: Fail actions that were scheduled for a failed/fenced node (lf#2559) - Fencing: Clean up the metadata creation - Stonith: Allow the fencing agent operations to be overridden on a per-device basis (lf#2557) - Tools: crm_resource - Indicate master/slave state when querying the parent resource (lf#2477) - Tools: crm_mon - Display the true number of configured resources (lf#2549) - RA: Fix handling of 'devices' in the HealthSMART agent - Shell: print warning if start or stop interval is not zero - Shell: Check for violations of uniqueness for instance parameters during commit - PE: Indicate resource failures even if on-fail="ignore" - ais: Ensure we drain the corosync queue of messages when glib tells us there is input - crmd: Catch fence operations that claim to succeed but did not really - Core: Use pre-glib2-2.28 version of g_str_hash to ensure consistent score calculation for clone instances - Shell: repair template list command - Shell: node clearstate must flush LRM state too (bnc#653795) - Upstream version cs: 9971ebba4494 (release 1.1.6)- Fix rpmlint non-ghost-in-var-run check (bnc#710272)- PE: Consolidate logging for resources active on multiple nodes - PE: More accurate logging of restarts and recovery for master/slave resources - PE: target-role alone is not sufficient to promote resources (lf#2544) - ais: Ensure that process death is communicated to peer nodes (lf#2550) - PE: Certain stop operations require STONITH, could overload the batch-limit otherwise (lf#2551, bnc#669229) - PE: Suppress unnecssary assertion failure message (lf#2558, bnc#670983) - Shell: Do not print XML for permission denied errors - ACL: Support access control on "cleanup" - crmd: Cancel recurring operations while we're still connected to the lrmd - crmd: Suppress an ERROR by teaching fsa_action2string() about complex actions - crmd: ACL: Prohibit non-privileged users to "fail" resources - Core: Do not store last-run for recurring operations, since it is misleading - Shell: fix logic for not printing the default monitor depth - Doc: Add ACL documentation - Upstream version cs: ecb6baaf7fc0- Upgrade from 1.1.2.1 to 1.1.5. Note that the following changelog entries cover changes made in versions 1.1.3 and 1.1.4 as well. - crmd: Cancel recurring operations while we're still connected to the lrmd - crmd: Suppress an ERROR by teaching fsa_action2string() about complex actions - PE: Consolidate logging for resources active on multiple nodes - PE: More accurate logging of restarts and recovery for master/slave resources - PE: target-role alone is not sufficient to promote resources (lf#2544) - ais: Ensure that process death is communicated to peer nodes (lf#2550) - PE: Certain stop operations require STONITH, could overload the batch-limit otherwise (lf#2551, bnc#669229) - Shell: Do not print XML for permission denied errors - Doc: Add ACL documentation - Core: Do not store last-run for recurring operations, since it is misleading - crmd: Purge status for resourcs that no longer live in the LRMd (lf#2536) - Stonith: Teach stonith_admin to automagically obtain the current node attributes for the target from the CIB - tools: Prevent use-of-NULL in crm_simulate (lf#2527) - ACL: Convert uid directly with strtol() for avoiding unnecessary error logs - Tools: Make unmanaged resources stand out in crm_simulate graphs - PE: Correctly reconstruct the status of anonymous cloned groups (lf#2508) - Core: Correctly parse the resource name from notificiation action IDs (lf#2511) - crmd: Indicate the interval for the timer that just expired - crmd: Reschedule the PE_START action if its not already running when we try to use it - crmd: Ensure notify variables are accurate for stop operations (lf#2545) - crmd: Implement reprobe natively in the crmd to avoid transition loops (lf#2533) - crmd: Cancel recurring monitor ops at shutdown (lf#2309) - PE: Don't imply colocation requirements when applying ordering constraints with clones (lf#2493) - PE: Protect against constraints that require stonith devices to stop before 'normal' ones (lf#2529) - PE: Prevent unstable clone placement by factoring in the current node's score before all others (lf#2544) - Tools: Suport cibadmin --empty for creating a minimal CIB - PE: Do not override configured clone stickiness values (lf#2445) - PE: Avoid relying on stickness for stable clone placement (lf#2445) - Shell: work around lrmd/lrmadmin blocking when not run as root or hacluster - Shell: more lazy help system initialization - Access control list support for pacemaker's shell and CIB. - PE: Prevent segfault by validating the contents of ordering sets (lf#2495) - PE: Prevent use-after-free resulting from unintended recursion when chosing a node to promote master/slave resources - PE: Avoid flooding the logs with errors for orphan resources (lf#2518) - cib: Add "enable-acl" property - Shell: don't create empty optional sections (bnc#665131) - xml: Add ACL support into pacemaker-1.2 and 1.1 schemata. - RA: HealthSMART: Several fixes. - RA: SysInfo: Allow a list of filesystems/devices to be queried for free space - RA: ClusterMon: htmlfile is not mandatory (lf#2512) - Shell: merge properties and rsc/op_defaults on load update (lf#2454) - stonith: use ST_DEVICEID for short description - Shell: combine crmd and PE meta-data (lf#2373,2419) - PE: Only update the node's promotion score if the resource is active there - PE: Only use the promotion score from the current clone instance - Shell: ask for confirmation for node fence and clearstate (bnc#642268) - Shell: insert sleep between stop and start in resource restart - stonith: remove unnecessary logging - Shell: fix exception when HOME is not set - Shell: Allow creation of an empty shadow CIB ("cib new ... empty") - Shell: Allow cibstatus to create new node status entries. - Shell: fix rsc/op_defaults edit - Shell: repair management of cloned groups - Shell: wait for the stop transition to finish before invoking start in the resource restart command (lf#2516) - PE: Correct target_rc for probes of inactive resources - Tools: Prevent crm_resource commands from being lost due to the use of cib_scope_local - PE: Prevent use-of-NULL resulting from variable shadowing spotted by Coverity - Shell: allow adding node attributes in configure when the attributes set doesn't already exist - Core: Repair reference to child-of-child after removal of xml_child_iter_filter from get_message_xml() - Core: Remove extra calls to xmlCleanupParser resulting in use-after-free - Core: Reinstate the logic that skips past non-XML_ELEMENT_NODE children - Core: Update the default validation type to pacemaker-1.0 - Core: Prevent recently introduced use-after-free in replace_xml_child() - crmd: Update failcount for failed promote and demote operations - PE: Prevent use-of-NULL when there is status for an undefined node - Shell: warn on non-existing nodes in location constraints (lf#2486) - Shell: put completion bits into a separate module - Shell: repair ability to display multiple property sets - Build: Script for determining test coverage - Remove usage of the xml_child_iter macro to obtain better information from tracing tools. - Shell: Let crm_resource handle node & resource iteration during resource cleanup (skips down nodes: bnc#647378) - PE: Avoid needless string compares - cib: Fix a log message - Core: Provide arguments to do_crm_log_alias() in the correct order when logging xml - Add gcov support to spec file (disabled by default) - crmd: Determin the target rc for an action once - crmd: Prevent use of NULL by making copies of the operation's hash table - Core: Turn off unneeded checks when applying a diff - crmd: Allow operations in the PE state - crmd: Ensure the CIB is always writable on the DC by removing a timing hole - cib: Deprecate the set_slave_all() API call - PE: Ensure fencing of the DC preceeds the STONITH_DONE operation - PE: Complete all fencing before attempting atomic migrations - stonith-ng: fix two memory leaks. - Core: Preserve ordering when removing subtrees with a diff - Tools: Calculate the digest after applying a diff - Core: Correctly extract the version details from a diff - cib: Drop the severity of a log message - crmd: Don't abort transitions when probes are completed on a node - PE: Try to ensure atomic migration ops occur within a single transition - Core: Correctly compare against crm_log_level in the logging macros - cib: Revert part of a recent commit that purged still valid connections - PE: reduce logging severity for single rsc sets - Core: Prevent use-after-free when creating a CIB update for a timed out action - Shell: update shadow file directory processing - Tools: crm_resource - Improved output when listing constraints relevant to a given resource - Tools: crm_resource - Fix -x, the short form of --xml-file - Tools: crm_resource - Include location constraints in -A|-a output - Tools: crm_shadow - Avoid replacing the entire configuration (including status) - PE: Prevent clones from being stopped because resources colocated with them cannot be active - crmd: Include the correct transition details for timed out operations - Core: Drop the compression limit (lf#2506) - cib: Don't remove client's when notifications fail, they might just be too big (lf#2506) - cib: Do not calculate changes for status updates that wont be broadcast - cib: Speed up the establishment of remote connections - crmd: All pending operations should be recorded, even recurring ones with high start delays - stonith-ng: reduce logging. - Core: Provide significant performance improvements by implementing versioned diffs and digests - cib: Reject updates with a feature set greater than our own - Core: Some performance enhancements when comparing xml objects - crmd: Use the supplied timeout for stop actions - Core: Ensure ordering is preserved when applying diffs - crmd: There's no need to check the cib version from the 'added' part of diff updates - crmd: Additional logging for the cause of new transitions - cib: Drop invalid/failed connections from the client hashtable - PE: Use the original digest algorithm for parameter lists - cib: Ensure all diffs sent to peers have sufficient ordering information - cib: Reduce unnecessary copying when comparing xml objects - Core: Purge diff markers before calculating and comparing digests - Core: Minor speedup when comparing xml objects - cib: The feature set version check is only valid if the current value is non-NULL - Tools: crm_resource - Ensure xml-related memory is cleaned up at exit - Tools: crm_simulate - Ensure xml-related memory is cleaned up at exit - PE: lf#2478 - Implement improved handling and recovery of atomic resource migrations - PE: Fix memory leak when processing completed migration actions - Large number of performance improvements to the Policy Engine and CIB. - Core: Cache Relax-NG schemas - profiling indicates many cycles are wasted needlessly re-parsing them - Core: Don't compress large payload elements unless we're approaching message limits - Tools: crm_node - Fix the return code for operations on corosync clusters - Stonith: Fix two memory leaks - crmd: Record completed migrate ops in CIB status section as migrate_to/migrate_from, not as stop/start (lf#2481) - PE: Fix typo leading to use-of-NULL in the new ordering code (bnc#653635) - crmd: on version print everything to stdout - stonith: cleanup children on timeout in fence_legacy - Shell: use uname instead of id in nodes when building other ids - Shell: add "clearstate" command for nodes - crmd: Don't hide stop events that time out - allowing faster recovery in the presence of overloaded hosts - PE: Use hashtables instead of linked lists for performance sensitive datastructures - PE: Skip probe_resources() completely if probing is disabled - PE: Obtain massive speedup by prepending to the list of ordering constraints (which can grow quite large) - PE: Detect start/stop actions with intervals - PE: Optimize the logic for deciding which non-grouped anonymous clone instances to probe for - stonith: Use the timeout specified by the user - stonith: Add the timeout at the top level where the daemon is looking for it (lf#2473) - stonith: Ensure timeouts are included for fencing operations (lf#2473) - Logging tuning - crmd: Use an operation's interval when an invalid timeout was specified - crmd: Use the correct define/size for lrm resource IDs - Tools: Ensure the line we're grabbling the time from contains a time - Tools: crm_simulate - Fix use-after-free in when terminating - Stonith: Ensure stonith operations complete within the timeout and are terminated if they run too long (lf#2473) - crmd: Prevent assertion failure for stop actions - PE: Prevent segfault by ensuring the arguments to do_calculations() are initialized - PE: Correct use-after-free - Tools: crm_simulate - Resolve memory leak reported by valgrind - PE: Ignore failed actions on nodes that have been shutdown - crmd: Better logging of failed stonith operations (lf#2473) - stonith: Gracefully handle remote operations that arrive late (after we've done notifications) (lf#2473) - Tools: crm_simulate - Resolve memory leak reported by valgrind - PE: Repair on-fail=block for groups and primitive resources (lf$2476) - crmd: Ensure stop actions always have the relevant resource attributes (lf#2458) - Tools: Fix assertion failure in crm_resource (lf#2456) - PE: Do not demote resources because something that requires it can't run - PE: Display managed/unmanaged state for resources when grouped by node in crm_mon (lf#2479) - cib: Clean up disconnected remote connections (lf#2469) - Tools: crm_mon - Only display attributes of online nodes (and sort them) - RA: ping - Indicate that host_list is a required parameter in the metadata - stonith: Prevent segfault by not looking up operations if the hashtable hasn't been initialized yet (lf#2461) - Tools: Have crm_resource --locate indicate which instances are promoted (lf#2477) - PE: Ensure resource op timeout takes precedence over op_defaults (lf#2474) - Upstream version cs: bdd89e69ba54- SUSE_ASNEEDED also during %install, if by chance we rebuild things in there.- cib: Allow backup files to proceed after wrap-around (bnc#630322) - Upstream version cs: dfc6b2561373- stonith-ng: record exit code and log output for failed port list query (bnc#625594) - Upstream version cs: 0db65fda4b15- Shell: print error if a resource is not found in stop/start/manage (bnc#627757) - PE: Fix memory leak when unpacking recurring operations - PE: Fix potential use-of-NULL when calculating the set of required actions - Shell: set shadow directory properly (bnc#626638) - Core: Enable coredumps properly for MCP and AIS plugin (lf#2463) - Upstream version cs: 61360150595d- Explicitly require libglue2 to avoid potential conflict with libheartbeat2 (bnc#628243)- crmd: Prevent everyone from losing DC elections by correctly initializing all relevant variables - crmd: Ensure we activate the DC timer if we detect an alternate DC - PE: Wait until stonith is available, don't fall back to shutdown for nodes requesting termination - Upstream version cs: e0d731c2b1be- PE: Correctly order clone startup after group/clone start - stonith-ng: pass the configuration to the stonith program via environment variables; requires cluster-glue >= 1.0.6 (bnc#620781, CVE-2010-2496) - Logging improvements. - Upstream version cs: f9fbf97b0ce8- Shell: allow adding force parameter to resource migrate - Shell: add the actions option to configure ptest (lf#2360) - Shell: test early for duplicate elements in edit (bnc#620460) - Shell: Use crm_attribute directly instead of the deprecated crm_standby and crm_failcount wrappers - PE: Correctly detect when there is a real failcount that expired and needs to be cleared - PE: Avoid creating invalid ordering constraints for probes that aren't needed - PE: Include the prefix for clone children when printing the clone - PE: Bug lf#2453 - Enforce clone ordering in the absense of colocation constraints (lf#2453, bnc#619581) - crmd: Only log the failcount op if something is wrong - crmd: Base DC election on process relative uptime - crmd: Make sure we always poke the FSA after a transition to clear any TE_HALT actions - crmd: Make sure the membership cache is accurate after a sucessful fencing operation - crmd: All nodes should see status updates, not just the DC - stonith-ng: Advertise stonith-ng options in the metadata - Core: Correctly unpack HA_Messages containing multiple entries with the same name - ais: Sign everyone up for peer process updates, not just the crmd - ais: Move the code for finding uid before the fork so that the child does no logging - Upstream version cs: e9b2f255a20e- PE: Fail unmanaged resources should not prevent other services from shutting down (lf#1959) - crmd: Handle asynchronous notification of resource deletion events (lf#2439) - Shell: add support for classes to the providers command - crmd: Pass in the correct result when processing synchronous resource deletion operations - ais: Fix unterminated recursion in init_ais_connection() - Tools: Make sure crm_resource waits for the completion of crmd operations it sent - stonith: Support the poweron/poweroff actions (bnc#618798) - stonith: Map poweron/poweroff back to on/off expected by the stonith tool from cluster-glue (bnc#618798) - PE: Correctly handle pseudo action creation - Tools: crm_node - Enable the -A parameter, the short form of --openais - CLI: report bad ISO8601 duration specifiers (bnc#618808) - crmd: Fix assertion failure when performing async resource failures - crmd: Include the action for crm graph operations - crmd: Allow non-DC nodes to clear failcounts too and tidy up logging - Fix some valgrind reported leaks. - Upstream version cs: ea6cdd9d9613- Shell: templates: clvm,ocfs2: add the fs/vg resource to the base group, add timeouts (bnc#605580) - Shell: skip resource checks for property-like elements (lf#2420) - Shell: on no id match the first of property-like elements (lf#2420) - Shell: set proper ids for rsc/op_defaults (lf#2420) - Shell: add exit codes for non-interactive use - PE: No services should be stopped until probes finish (lf#2433) - PE: Support clones in resource sets (bnc#586613, lf#2404, lf#2409) - Tools: Allow ptest and crm_simulate to work with configs that lack a status section - Core: Reduce logging for failed xpath searches - PE: Support colocation sets with negative scores (lf#2435) - PE: Ensure deallocated resources are stopped - PE: Ordering dependencies on partially active groups not observed properly (lf#2422, bnc#607125) - PE: If there are no compatible peers when interleaving clones, ensure the instance is stopped - PE: Fix colocation for interleaved clones - PE: Fix colocation with partially active groups - PE: Don't overwrite existing meta attributes (like timeout) for notify operations (lf#2424) - PE: stop-all-resources shouldn't apply to stonith resources (lf#2426) - Fencing: Reduce stonith-ng logging (lf#2431) - ais: Improved processing when the peer crmd processes join/leave (lf#2401) - Tools: crm_resource - Report crmd connection errors - Tools: Depreciate the 'pingd' daemon and resource agent in favor of ocf:pacemaker:ping - cib: Fix the application of unversioned diffs - Several valgrind + coverity issues fixed. - Upstream version cs: 8b9ec9ccc506- Install crm shell and cts in $(pyexecdir) instead of $(pythondir) to ensure installation in /usr/lib64 on x86_64- Fix crm membership check (bnc#603685, reverts changesets 6e6980376f01 and 2e096a41a5f9) - Upstream version cs: e8717a29601a (1.1.2.1)- ais: fix list of active processes sent to clients (bnc#603685) - Upstream version cs: 2e096a41a5f9- crmd: Prevent use-after-free of the stonith-ng connection (lf#2414) - Core: Prevent use-after-free reported by valgrind when doing xpath based deletions (lf#2414) - PE: Fix memory leaks reported by valgrind - Core: Fix memory leak in replace_xml_child() reported by valgrind - PE: Remove developemnt logging which mistakenly logged at "ERROR" level. - Upstream version cs: b59c27dc114a (1.1.2)- crmd: Prevent use-after-free of the PE connection after it dies (lf#2414) - Shell: support for clone instances in constraints (lf#2169) - Upstream version cs: 42a5aa3413f4- Shell: new command default-timeouts to set default operation timeouts (bnc#479052) - crmd: ais: Use the threadsafe version of getpwnam - PE: Enforce mandatory promotion (colocation) constraints (lf#2403) - PE: Don't complain about missing agents during probes of a-symetric clusters (lf#2410) - Shell: don't error on missing resource agent with asymmetrical clusters (lf#2410) - ais: Ensure the list of active processes sent to clients is always up-to-date - PE: Allow constraints to apply to specific instances of clones (lf#2169) - PE: Allow ordering constraints to apply to specific instances of clones - PE: Clean up failcount after it expires (lf#2066) - PE: Before starting utilization-using resources on a node, take off the load which will no longer run there (bnc#594782) - PE: Don't be so quick to pull the trigger on nodes that are coming up - crmd: Use global fencing notifications to prevent secondary fencing operations of the DC - cib: Changes to group order are not detected or broadcast to peers (lf#2352) - Core: Only use the named schema if the validation passes - Shell: don't verify empty configurations (bnc#602711) - crmd: Send erase_status_tag() calls to the local CIB when the DC is fenced, since there is no DC to accept them - crmd: Include operation interval in logged action - crmd: Arrange for only one node to clean up after a fenced DC node - crmd: create the final directory too for resource agents (bnc#603190) - Tools: crm_mon: refresh screen on terminal resize (bnc#589811) - PE: Correctly locate clone instances by their prefix (lf#2412) - ais: Make a better attempt at determining an accurate born-on value from corosync - tools: crm_mon - Enable 'connectivity' mode for 'ping' resources too - Upstream version cs: e8624c181a3f- Fix small error so that regression test suite passes.- PE: Before starting utilization-using resources on a node, take off the load which will no longer run there (bnc#594782)- PE: Don't create scaffolding for ordering sets with a single resources (bnc#586613) - PE: Ignore colocation weights from clone instances - PE: Print allocation scores as +/-INFINITY when appropriate - Upstream version cs: fa1c810f1d1d- Fix regression test for build environment. - Upstream version cs: c11e18619efd- Fix several memory leaks exposed by valgrind. - Improve regression tests. - Low: Fencing: Delay system initialization until after we handle possible metadata queries - Tools: Do not print help on executing "crm_node -i" - crm_simulate: Allow bringing new node online (bnc#591162) - crmd: Improved detection of partially active peers (lf#2401) - PE: Fix intra-set colocation and ordering (lf#2384) - PE: Combine failcounts for all instances of an anonymous clone on a host (lf#2383) - crmd: Add missing fields to the metadata for use by the shell (lf#2387) - PE: Check for use-of-NULL in dump_node_scores() - PE: Rewrite native_merge_weights() to avoid Fix use-after-free - Upstream version cs: 2a90abe96048- Automated test case improvements. - Upstream version cs: 536bf0b9d3ba- Shell: always reload status if working with the cluster (bnc#590035) - Shell: add new regression tests - Shell: don't allow empty attributes for properties/*_defaults (lf#2395) - Shell: add another attribute not present in the crmd metadata - Tools: crm_mon - Enable specification of community for SNMP traps - PE: Ensure important options (notify, unique, etc) are always exposed during resource operations (lf#2391) - Tools: Support short form of crm_simulate --quorum (bnc#591168) - ais: Convert endian for all of the integer fields in messages (bnc#472014) - Upstream version cs: 80e0bb600e6c- Shell: Default to using the status section from the live CIB (bnc#592762) - Upstream version cs: 739282ba9e2e- crmd: fix non-fatal assert in lrmd.c when resources are manually failed (bnc#590924) - Upstream version cs: f77530201221- tools: crm_simulate - fix small xpath memory leak in inject_node_state - Shell: templates: new sbd template - Shell: templates: update apache documentation - crmd: Do not ignore action timeouts based on FSA state (could cause transitions that never terminate) - Upstream version cs: 322ff3419bc8- Shell: add two attributes not present in the crmd metadata, which broke "configure verify" - Upstream version cs: 24ee74882b42- Shell: fix bad cib passed to crm_verify - Upstream version cs: c02327f742a0- Shell: verify only changed elements on commit (bnc#590033) - Shell: observe op_defaults when verifying primitives (bnc#590033) - Shell: update meta attributes list - Shell: verify meta attributes and properties (bnc#589867) - Shell: fix wrong exit code setting logic in resource cleanup - Shell/PE: Show utilization/capacity information (bnc#589873) - Shell: implement new cibstatus interface and commands (bnc#580492) - crmd: Do not allow the target_rc to be misused by resource agents - Shell: check python version at start (lf#2369) - extra/showscores.sh: Correctly display stickiness if unset - RA: SystemHealth: exit properly when the required software is not installed (bnc#587940) - ais: Look for the correct conf variable for turning on file logging - crmd: Ensure the cluster terminates when the PE isn't available (lf#2379) - crmd: Ensure we dont get stuck in S_PENDING if we loose an election to someone that never talks to us again - Upstream version cs: 3fea355803af- crmd: Remove race condition that could lead to multiple instances of a clone being active on a machine - PE: Consolidate and unify logging of fencing causes - hb2openais: add support for corosync as target - Shell: templates: add cmirror to ocfs2 and clvm (bnc#587493) - Shell: support for resource/node utilization - Shell: switch to single cibadmin for commit - Shell: enable comments (lf#2221) - Upstream version cs: 83f654529b5c- Shell: don't touch resources within a group when managing groups/clones - Shell: repair node show (bnc#587883) - Upstream version cs: 3002fabf85d4- PE: Make sure migration ops use the correct meta options (bnc#586710) - Upstream version cs: aaf4d36b8494- Shell: fix commit for new clones of new groups (bnc#585471) - Shell: edit multiple meta_attributes sets in resource management (lf#2315) - Shell: don't cache node and resource ids (lf#2368) - Shell: new cibstatus import command (bnc#585471) - Shell: check timeouts also against the default-action-timeout property- PE: Avoid needless restart of primitive depending on a clone (lf#2317, bnc#586613) - PE: Only log orphans when they are found to be active (lf#2364) - PE: Ensure clones observe mandatory ordering constraints if the LHS is unrunnable (lf#2361) - Tools: Add utilization support for crm_attribute and crm_resource - Upstream version vs: c23bbc5262b2- ais: Do not count votes from offline nodes and calculate current votes before sending quorum data. - PE: Repair handling of unordered groups in RHS ordering constraints. - Shell: update regression tests. - CTS: Make it work for openais. - Upstream version cs: a9f5a06a8f9e- Conflict with ocfs2-tools-o2cb prevented said package from being installed at all due to dependencies (bnc#582697).- Shell: implement lifetime for rsc migrate and node standby (lf#2353) - Shell: node attributes update in configure (bnc#582767) - Tools/PE: Do not warn if the configuration is fully forward-compatible. - Upstream version cs: 745c756006da- Shell: update previous node lookup procedure to include the id where necessary - Shell: improve batch mode. - Shell: add support for xml in cli. - Shell: repare clone/ms cleanup (bnc#583288) - Shell: load update should update existing elements. - crmd: expected-quorum-votes not correctly updated after membership change (lf#2359) - PE: Fix master-master anti-colocation (lf#2358) - Upstream version cs: 059e4095d2ca- Work around non-thread-safe setenv() calls that could cause a crash (bnc#582598) - Upstream version cs: ae0170640c3e- Shell: update supported CIB RE to include pacemaker 1.1 and 1.2 - ais: Fix the child shutdown escalation logic - Core: Give signal handlers higher priority - PE: Correctly implement optional colocation between primitives and clone resources - crmd: Don't send operation updates for deleted resources (bnc#578644) - Upstream version cs: 530add2a3721- Shell: add tab completion for nodes (bnc#577003) - Shell: fix wrong var reference - Shell: improve configure commit (lf#2336) - Shell: add tab completion for op/rsc_defaults (bnc#552541) - Shell: add option to control sorting of cib elements (lf#2290) - Shell: add tab completion for nodes (bnc#577003) - RA: ping(d) - Fix metadata. - xml schema: support differentiation between stable and experimental feature sets. - Upstream version cs: 0591630c8bd3- Conflict with ocfs2-tools-o2cb; a system needs to be configured either for Pacemaker or O2CB/Oracle RAC, but never both.- stonith-ng: Fix meta-data not always being retrieved properly. - Tools: crm: fix CIB upgrade command (bnc#578637) - PE: Improved graphs when probing partially up nodes - crmd: Improve handling of cancelled operations caused by resource cleanup (bnc#578644) - PE: Significant performance bugs for larger clusters with many nodes/resources/constraints removed. - Upstream version cs: 4bc7a38e2b10- Add dependencies on python and python-xml so the shell works immediately (bnc#578006).- Incorporate code for hard resource limits (FATE#303384) in shell and pacemaker policy engine. - External stonith agents were not properly handled (bnc#577007). - Upstream version cs: 46679a8feec7- crmd: Ensure we have the latest status after a transition abort - crm: optimize shell start-up time (lf#2303). - crm: simplify template for ocfs2 - crm: don't remove sets which contain id-ref attribute (lf#2304) - crm: add update method to template apply (lf#2289) - crm: make template new more robust, add documentation - crm: fix check for invalid constraints - crm: rename status to cibstatus (lf#2236) - crm: save options if run from the command line (lf#2310) - crm: add notify to the list of valid operations - crm: fix node delete (lf#2305) - crm_node: accept -f as the short form of --force - crm_node: rovide a way to determin the nodeid of past cluster members (lf#2307) - Upstream version cs: 6a6aa02deea9- PE: Don't log uninstalled resource agents as errors (lf#2251) - fix refresh time for html interface of crm_mon - Tools: crm: don't consider warnings as errors (lf#2274) - Tools: crm: direct RA interface for ocf class resource agents (lf#2270) - cib: Check also whether an user's primary group is matched - PE: Bug lf#2153 - non-clones shouldn't restart when clones stop/start on other nodes - PE: Bug lf#2153 - Update regression tests - PE: Correctly anti-colocate with a group - Tools: crm: define missing index in validate_template (lf#2287) - Tools: crm: stay in crm if user specified level only (lf#2286) - Tools: crm: fix exit code on single shot commands - Tools: Bug lf#2286 - Allow the shell to accept template parameters on the command line - Tools: crm: allow entering level and input file (-f) - Tools: crm: relax check for RA existence (lf#2270) - Tools: crm: fix OCF_ROOT processing - Tools: crm: catch EOFError exception in raw_input (lf#2289) - Tools: crm: implement -F (--force) option - Tools: crm: rename some misnamed functions - PE: Prevent non-multistate resources from being promoted through target-role - Tools: crm: direct RA interface for stonith class resource agents (lf#2270) - fencing: stonithd: ignore case when comparing host names (lf#2292) - Tools: crm: direct RA interface for lsb class resource agents (lf#2270) - PE: Bug lf#2153 - non-clones shouldn't restart when clones stop/start on other nodes - improved - TE: Fix batch-limit processing. - Tools: crm: exclude locations when testing for pathological constraints (lf#2300) - PE: Only complain about target-role=master for non m/s resources - Tools: crm: load help from crm_cli.txt - pengine/crmd: move crm_log_init after version and metadata calls (lf#2272) - crmd: Ensure batch-limit is correctly enforced - PE: Don't overwrite the value of batch-limit - cts: Add the 'cmd' to the output of external commands - pengine: crmd: Ensure help text includes correct binary name - Tools: crm: don't fall apart if there's no help text file - Tools: crm: cache help tables (lf#2303) - Upstream version cs: 443ff5d69319- PE: Correctly unpack ordering constraints for resource sets to avoid graph loops - Two new system health RAs. - PE: Don't log uninstalled resource agents as errors (lf#2251) - Upstream version cs: cd2aaf7e35cf- Tools: crm: fix parentheses parsing in resource sets - Tools: crm: support for description attribute in resources/operations (bnc#548690) - Tools: hb2openais: add EVMS2 CSM processing (and other changes) (bnc#548093) - Tools: crm: don't add score which doesn't exist - Tools: crm: copy score from/to resource_set - Tools: crm: update tab completion for constraints (support resource sets) - Tools: crm: handle resource_set resource references in delete and rename - PE: Provide a default action for resource-set ordering - Tools: crm: drop empty attributes elements - xml: Add stopped as a supported role for operations - Tools: hb2openais: don't allow empty rules, clones, or groups (lf#2215) - Tools: hb2openais: refuse to convert pure EVMS volumes - Tools: hb2openais: add inf score to order constraints - crm: Enhance "colocation" help to explain how it works. - crm_mon: Mail subject needs space for \0 byte. - fencing: stonithd: add metadata for stonithd instance attributes (and support in the shell) - Tools: crm: drop short description from the metadata if it equals long description - Tools: crm: relax checks for advertised monitor operations (lf#2222) - Tools: crm: support for comments (lf#2221) - Tools: crm: test operation name against a list of possible ops - tools: Dont waste vertical space in crm_mon output - xml: Treat node unames as text fields not IDs (bnc#552713) - PE: rsc_order constraints always use score at the top level (lf#2206) - xml: Create an always-true expression for empty rules when upgrading from 0.6 (lf#2215) - PE: Clone ordering should be able to prevent startup of dependant clones (lf#2209) - PE: Add regression test (lf#2209) - PE: Correctly identify the state of anonymous clones when deciding when to probe (lf#2216) - PE: Operations that require fencing should wait for 'stonith_complete' not 'all_stopped'. (lf#2225) - PE: Prevent clone peers from stopping while another is instance is (potentially) being fenced (lf#2225) - crmd: C_TIMER_POPPED is now quite normal thanks to the recheck timer, downgrade log message - PE: Silently fix requires=fencing for stonith resources so that it can be set in op_defaults - xml: Preserve the old stonith-enabled=false symantics from 0.6 during an upgrade (lf#2230) - xml: Allow the auto-id base to be specified, because generate-id() isn't always unique - PE: Ensure groups process location constraints so that clone-node-max works for cloned groups (lf#2213) - Tools: crm: relax check for RA actions - Upstream version cs: 9f61f272598a- PE: Provide better defaults for lt(e) and gt(e) comparisons (bnc#515172) - Upstream version cs: 405fe9a92d82- Revert conflicts with ocfs2-tools-o2cb to ease automatic upgrades. The two should still not be installed in parallel; please see release notes! - High: ais: Gracefully handle changes to the AIS nodeid - Low: PE: Fix the metadata to advertise the correct type for stonith-timeout - High: cib: Repair the ability to connect to the cluster from non-cluster machines - Medium: Tools: Use -q as the short form for --quiet (for consistency) - Medium (bnc#520707): Tools: crm: new templates ocfs2 and clvm - Medium (LF 2185): Tools: crm: add resource promote/demote commands - Low (LF 2175): Tools: crm: add help for node status - High: xml: Mask the "symmetrical" attribute on rsc_colocation constraints (bnc#540672) - Upstream version cs: 05c8b63cbca7- Upstream version cs: 595cca870aff - Dev: Tools: crm: do not allow empty attribute names - Low: Tools: crm: make check for operations id attribute stricter - Dev: Tools: crm: implement binary op types properly (thanks to Alain St-Denis) - Dev: Tools: crm: allow id-refs to stand by themselves (update for fix 37077ed56af5) - High: crmd: Terminate if we are ever evicted from the membership - High: crmd: Unset any existing DC value before querying for a new one - High: PE: Bug bnc#515172 - Fix the boolean-op attribute of rules - High: PE: Bug bnc#515172 - Correctly process location constraint rules which contain multiple expressions - High (bnc#507255): Tools: crm: implement date expressions - Low: Tools: crm: let the user know that curses is needed for colors - High: Tools: crm: new display type (uppercase keywords) - Medium: Extra: Add tools, an RA and tests for the System Health feature - Medium: Tools: crm_resource - Prevent use-of-NULL by requiring a resource name for the -A and -a options - Medium: PE: Prevent use-of-NULL in find_first_action() - High: PE: Only prevent migration if the clone dependancy is stopping/starting on the target node - Low: crmd: Include cib version of the updates which caused a transition abort - High: PE: Bug lf#2160 - Dont shuffle clones due to colocation - Low: PE: Fix find_first_action() when no node filter is specified - Low: PE: ptest - Suppress deleted ordering constraints from the .dot graph - High: PE: New implementation of the resource migration (not stop/start) logic - Medium: crmd: Note that dc-deadtime can be used to mask the brokeness of some switches - High: Tools: crm_resource - Advertise --move instead of --migrate - Medium: Extra: New node connectivity RA that uses system ping and attrd_updater - High: crmd: Bug bnc#527530 - Wait for the transition to complete before leaving S_TRANSITION_ENGINE - High: ais: Avoid excessive load by checking for dead children every 1s (instead of 100ms) - Medium: PE: Stop ptest from logging to syslog - Medium: PE: Correctly log resources that would like to start but can't - High: PE: Bug lf#2171 - Prevent groups from starting if they depend on a complex resource which can't - Low: PE: Add regression test for lf#2171 - High: PE: Bug lf#2170 - stop-all-resources option had no effect - High: PE: Disable resource management if stonith-enabled=true and no stonith resources are defined - High: Core: Bug lf#2169 - Allow dtd/schema validation to be disabled - Medium: PE: Bug lf#2180 - Include node information for all failed ops - Medium: PE: Bug lf#2178 - Indicate unmanaged clones - Medium: ais: Include version details in plugin name - High: PE: Bug lf#2106 - Not all anonymous clone children are restarted after configuration change - Medium: ais: Attempt to enable core file generation if it was disabled - Medium: crmd: Requery the resource metadata after every start operation - High: Tools: crm: add semantic checks depending on the meta-data from resource agents- Update source tarball to revision: b05d5a2b9c52 + High (bnc#507255): Tools: crm: implement date expressions + High: Build: Fix compilation when snmp and esmtp are not available + High: PE: Bug 2160 - Dont shuffle clones due to colocation + High: PE: Bug bnc#515172 - Correctly process location constraint rules which contain multiple expressions + High: PE: Bug bnc#515172 - Fix the boolean-op attribute of rules + High: PE: New implementation of the resource migration (not stop/start) logic + High: PE: Only prevent migration if the clone dependancy is stopping/starting on the target node + High: Tools: crm: new display type (uppercase keywords) + High: Tools: crm_resource - Advertise --move instead of --migrate + High: ais: Fix cluster connection when using corosync 1.0 + High: ais: Ubuntu needs a leading zero for directory modes + High: crmd: Terminate if we are ever evicted from the membership + High: crmd: Unset any existing DC value before querying for a new one + Medium: Extra: Add tools, an RA and tests for the System Health feature written by Mark Hamzy + Medium: Extra: New node connectivity RA that uses system ping and attrd_updater + Medium: PE: Prevent use-of-NULL in find_first_action() + Medium: Tools: crm_resource - Prevent use-of-NULL by requiring a resource name for the -A and -a options + Medium: crmd: Note that dc-deadtime can be used to mask the brokeness of some switches- Remove references to heartbeat packages.- Require python-curses for CLI color support.- Update to 0123af21a705.- Prevent pacemaker from being installed along with ocfs2-tools-o2cb to reduce likelihood of misconfiguration (bnc#520721).- Build: properly install crm_standby, crm_failcount, crm_master.- Update source tarball to revision: b05d5a2b9c52 + High: Core: Show help text and exit with rc 1 if option processing failed + High: PE: Fix reload for master/slave resources + High: Tools: Differentiate between --help and an unknown option + High: Tools: crm: support for color output + High: lrm: Look in the correct location for stonith agents + Low: Core: Reduce logging noise + Low: Tools: Ensure crm_resource -q prints a trailing newline + Low: Tools: ptest no longer supports --xml-pipe + Low: Tools: remove spurios newline output to stderr + Low: ais: Better handling of to_file: and to_syslog: options + Low: ais: set HA_LOGFACILITY too + Low: extra: Add a dummy parameter to 'Dummy' so we can test reload + Medium: Tools: crm: fix the verify exit code properly + Medium: cib: Supply an empty status section for replace operations + Dev: Tools: crm: recreate constraints on grouping resources- Update source tarball to revision: Pacemaker-1.0.4 + High: ais: bnc#488291 - don't rely on byte endianness on ptr cast + High: Tools: bnc#507255 - crm: import properly rsc/op_defaults + High: Tools: lf#2114 - crm: add support for operation instance attributes + High: ais: Bug lf#2126 - Messages replies cannot be routed to transient clients + High: attrd: Support the value++ and value+=... syntax required for failcounts + High: cib: Fix huge memory leak affecting heartbeat-based clusters + High: Core: Generate the help text directly from a tool options struct + High: crmd: Bug lf#2120 - All transient node attribute updates need to go via attrd + High: crmd: Fix another large memory leak affecting Heartbeat based clusters + High: PE: Bug bnc#495687 - Filesystem is not notified of successful STONITH under some conditions + High: PE: Make running a cluster with STONITH enabled but no STONITH resources an error and provide details on resolutions + High: PE: Prevent use-of-NULL when using resource ordering sets + High: Tools: attrd - Prevent race condition resulting in the cluster forgetting node's wish to shut down + High: Tools: crm_mon - Fix smtp notifications + High: Tools: crm_resource - Repair the ability to query meta attributes + Medium: Core: Include supported stacks in version information + Medium: Tools: Include current stack in crm_mon output + Medium: PE: Correctly log the actions for resources that are being recovered + Medium: PE: Correctly log the occurance of promotion events- Add a man page for crm_shadow - Update source tarball to revision: 9196be9830c2 + High: crmd: Bug bnc#480977 - Prevent extra, partial, shutdown when a node restarts too quickly (verified) + Medium: crmd: Bug bnc#490426 - Escalated shutdowns stall when there are pending resource operations + Medium: PE: Bug bnc#491441 - crm_mon does not display operations returning 'uninstalled' correctly- Update for SLE11 HAE RC9 - Update source tarball to revision: 61da7b5260df + High: PE: Bug bnc#490418 - Correctly determine node state for nodes wishing to be terminated + High: RA: Bug bnc#490641 - Shut down dlm_controld with -TERM instead of -KILL- Update source tarball to revision: f090699a99c5 + High: PE: Bug bnc#488721 - Fix id-ref expansion for clones, the doc-root for clone children is not the cib root + High: PE: Bug lf#2094 - Fix probe ordering for cloned groups + High: crmd: Bug bnc#489063 - Ensure the DC is always unset after we 'loose' an election- Update for SLE11 HAE RC8 - Update to upstream version number - Update source tarball to revision: be123e8615a5 + High: PE: Bug lf#2089 - Meta attributes are not inherited by clone children + High: PE: Bug lf#2091 - Correctly restart modified resources that were found active by a probe + High: PE: Correctly handle terminate node attributes that are set to the output from time() + High: ais plugin: Fix quorum calculation (bnc#487003) + High: ais: Bug bnc#486858 - Fix update_member() to prevent spamming clients with membership events containing no changes + High: fencing: stonithd: is_heartbeat_cluster is a no-no if there is no heartbeat support- Update for SLE11 HAE RC7 - Update source tarball to revision: 7e44933b0e46 - Tools: crm: print short help if there is no long help; replace "desc" with "help" - Tools: crm: issue warnings on all unrecognized elements of the cib configuration - Tools: crm: the new configure monitor command - Tools: crm: return exit code from configure commands - Tools: crm: check shadow name for sanity in the cib use command - Tools: crm: more shadow name sanity checks- Update source tarball to revision: ec6b0bbee1f3 + High: PE: The ordered option for clones no longer causes extra start/stop operations + High: RA: pingd: Set default ping interval to 1 instead of 0 seconds + High: Tools: crm: the new configure node command + High: Tools: crm_mon - Prevent use-of-NULL when summarizing an orphan + High: ais: Bug bnc#482847, bnc#482905 - Force a clean exit of OpenAIS once Pacemaker has finished unloading- Update for SLE11 HAE RC6.1 - Update source tarball to revision: 37e5ae18279e + High: Fix compilation on x64 - We dont need longclock_t intervals/precision for debug timers + High: cib: Bug bnc#482885 - Simplify CIB disk-writes to prevent data loss + High: Tools: The default re-ping interval for pingd should be 1s not 1ms- Update for SLE11 HAE RC6 - Remove heartbeat-specific binary from the distribution - Update source tarball to revision: 3028846cc3f5 + High: PE: Bug bnc#478687 - Don't crash when clone-max is 0 + High: PE: Bug LF#2087 - Correctly parse the state of anonymous clones that have multiple instances on a given node + High: PE: Bug LF:2075 - Fix large pingd memory leaks + High: PE: Bug bnc#466788 - Make colocation based on node attributes work + High: PE: Correctly attach orphaned clone children to their parent + High: PE: Fix memory leak in LogActions + High: PE: Fix the determination of whether a group is active + High: PE: Look up the correct promotion preference for anonymous masters + High: PE: Simplify handling of start failures by changing the default migration-threshold to INFINITY + High: Tools: Bug bnc#483365 - Ensure the command from cluster_test includes a value for --log-facility + High: Tools: crm: add support for command aliases and some common commands (i.e. cd,exit) + High: Tools: crm: create top configuration nodes if they are missing + High: Tools: crm: fix parsing attributes for rules (broken by the previous changeset) + High: Tools: crm: new ra set of commands + High: Tools: crm: resource agents information management + High: Tools: crm: support for no value attribute in nvpairs + High: Tools: hb2openais: fix ocfs2 processing + High: Tools: pingd - prevent double free of getaddrinfo() output in error path + High: ais: Correctly handle a return value of zero from openais_dispatch_recv() + High: ais: Fix memory leak in error path + High: ais: IPC messages are only in scope until a response is sent + High: cib: Bug bnc#482885 - Simplify CIB disk-writes to prevent data loss. Required a change to the backup filename format + High: crm: Avoid infinite loop during crm configure edit (bnc#480327) + High: crmd: Avoid a race condition by waiting for the attrd update to trigger a transition automatically + High: crmd: Bug bnc#479543 - Correctly find the migration source for timed out migrate_from actions + High: crmd: Fix memory leaks found by valgrind- heartbeat-common _must_ be a PreReq: instead of a Requires: so that the script which creates hacluster/haclient has completed before Pacemaker is installed. Otherwise the file permissions are all wrong.- Add man page for the crm shell/bin/sh/bin/sh/bin/sh/bin/shlamb02 1554243759  !"#$%&'()*+,-./01456789:;>ABIJMNOPQRUVWXYZ[\_fghklmtuvwxyz{|}~|}~1.1.18+20180430.b12c320f5-lp150.2.3.11.1.18+20180430.b12c320f5-lp150.2.3.11.1.18+20180430.b12c320f5-lp150.2.3.1 pacemakerpacemakerocfresource.dpacemakerClusterMonDummyHealthCPUHealthSMARTNodeUtilizationStatefulSysInfoSystemHealthattributeifspeedpingpingdlrmd_testcrm_mon.serviceattrd_updatercibadmincrm_attributecrm_diffcrm_errorcrm_failcountcrm_mastercrm_moncrm_reportcrm_report.pacemakercrm_resourcecrm_shadowcrm_simulatecrm_standbycrm_ticketcrm_verifycrmadminiso8601rccrm_monpacemaker-cliCOPYINGChangeLogsysconfig.crm_monsysconfig.pacemakerocf_pacemaker_ClusterMon.7.gzocf_pacemaker_Dummy.7.gzocf_pacemaker_HealthCPU.7.gzocf_pacemaker_HealthSMART.7.gzocf_pacemaker_Stateful.7.gzocf_pacemaker_SysInfo.7.gzocf_pacemaker_SystemHealth.7.gzocf_pacemaker_attribute.7.gzocf_pacemaker_ifspeed.7.gzocf_pacemaker_ping.7.gzocf_pacemaker_pingd.7.gzattrd_updater.8.gzcibadmin.8.gzcrm_attribute.8.gzcrm_diff.8.gzcrm_error.8.gzcrm_failcount.8.gzcrm_master.8.gzcrm_mon.8.gzcrm_report.8.gzcrm_resource.8.gzcrm_shadow.8.gzcrm_simulate.8.gzcrm_standby.8.gzcrm_ticket.8.gzcrm_verify.8.gzcrmadmin.8.gziso8601.8.gzpacemakeracls-1.2.rngacls-2.0.rngalerts-2.10.rngalerts-2.5.rngalerts-2.9.rngcib-1.0.rngcib-1.2.rngcibtr-2.rngconstraints-1.0.rngconstraints-1.2.rngconstraints-2.1.rngconstraints-2.2.rngconstraints-2.3.rngconstraints-2.6.rngconstraints-2.9.rngconstraints-3.0.rngconstraints-next.rngcrm_mon.rngfencing-1.2.rngfencing-2.4.rngnodes-1.0.rngnodes-1.2.rngnodes-1.3.rngnodes-2.9.rngnodes-3.0.rngnvset-1.3.rngnvset-2.9.rngnvset-3.0.rngnvset.rngoptions-1.0.rngoptions-3.0.rngpacemaker-1.0.rngpacemaker-1.2.rngpacemaker-1.3.rngpacemaker-2.0.rngpacemaker-2.1.rngpacemaker-2.10.rngpacemaker-2.2.rngpacemaker-2.3.rngpacemaker-2.4.rngpacemaker-2.5.rngpacemaker-2.6.rngpacemaker-2.7.rngpacemaker-2.8.rngpacemaker-2.9.rngpacemaker-3.0.rngpacemaker-next.rngpacemaker.rngreport.collectorreport.commonresources-1.0.rngresources-1.2.rngresources-1.3.rngresources-2.10.rngresources-2.7.rngresources-2.8.rngresources-2.9.rngresources-3.0.rngrule-2.9.rngrule.rngscore.rngstatus-1.0.rngtags-1.3.rngupgrade-1.3.xslupgrade-2.10.xslupgrade-detail.xslversions.rngPCMK-MIB.txtpacemakerblackboxcorespacemakerbundles/etc/logrotate.d//etc//usr/lib//usr/lib/ocf//usr/lib/ocf/resource.d//usr/lib/ocf/resource.d/pacemaker//usr/lib/pacemaker//usr/lib/systemd/system//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/pacemaker-cli//usr/share/fillup-templates//usr/share/man/man7//usr/share/man/man8//usr/share//usr/share/pacemaker//usr/share/snmp/mibs//var/lib//var/lib/pacemaker//var/log//var/log/pacemaker/-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.opensuse.org/openSUSE:Maintenance:9960/openSUSE_Leap_15.0_Update/b921a50ded7e711e98b66c523c4d7142-pacemaker.openSUSE_Leap_15.0_Updatecpioxz5x86_64-suse-linux ASCII textdirectoryBourne-Again shell script, ISO-8859 text executablePOSIX shell script, ISO-8859 text executablePOSIX shell script, UTF-8 Unicode text executableBourne-Again shell script, ASCII text executablePOSIX shell script, ASCII text executableELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=b9cf26f16ace30a9305b6ff90f34cdc82c79e826, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=2e3420c68c2a6e0715419c7330448e4d22a22524, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=e4e43518d098048763676db47570d587863a99e4, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=37dec196d2689d8aa7d76ba45445d509e7f9b7e8, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=99cbb13e5df96061c9c603c77177ff20e187ec2b, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=580535aede772e50f321a0b19d9ee83182a144df, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=4981ee5ef830a7fd5f14f641bc07419aecaaaea5, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=3d16e99e3259141c93fc8b725f8e9c960dc4e9dc, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=3e7f7a227f21f5b54e44f037404bc740714ada3e, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=dec095b5893a164ee22e10ea4f226d43e6168487, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=27afdf3b62faabb7a50fac09b9864e70e72428d5, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=f023c2ec4b114ce89421f37305c8a0a1fecf989e, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=d2548c8928b6237396cb205ddd68c2e27a80349f, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=bf120190892671c9de8df3559afb7ce6221e827b, strippedUTF-8 Unicode texttroff 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)XML 1.0 document, ASCII textexported SGML document, ASCII text $,2789IJK[aopz  RRRRRRRRRRRR R R RRR RRRRRR R R RRRR R R R RRRRR R R R R RRRR R R RRRR R R RRRRRRRR R R RRRR RRRRRRRRRR R R RRRRRR RRRRRRR R R R RRRR R R RRR RRRRRRRRR R R RRR RRRRR R R RRR RRRR R R R RRRRR R R RRR\,:0:sutf-8df0689ecff9d6fbdc922d19a5184059182901ef4af1347ecefc2d37079eecd16?7zXZ !t/@] crv(vX0}fQ|`QJw叐 ]fo~mizDe3ED ]R]RJm9 ])2qI'A"^41Q4nrš?VN!A2IOY.KYmTY#gɡOTU߷TP&^F0v"+& -LK;чf"PXCn^ʨ~hB =.dڒZbSnX t-5^]@e(۹JD2HIUͺf:H~2 '/ #qVߦD y_ |mι2rZ "~ mn}If79!er^->k~LuF$6L؈YFT.1m$$r{:n߇ '~~C(plZ 97r-і2. F€I(];#vO(, q)tP0.5 m/Z ,M=z삢vzlS_j ȱB Щ` %f9+ b"rI'Z4QDcR-|dk'.WB'-&X-] ).:)0TBxZd#'uU)%!PFecRd5"FXqh 5Ȗ@cz8F>ʈ K wFYtmxΠ.FpA 2*$d[#Dٰ3 SSL .Fj޾\,wVD7=RZD%.'3=v+Vbc!zmc^:tGu; b| hE`V*ޥ@WnG󫾣(i*җ 9 nxږA0>mr@ `\;D * s,9zr7@8jb&{WpZ6,mg\D^\ks!KkӠi/dm)(,BY*pl8bqH>l9@Ֆe"HҖ]cQ +6Ãܱ<<챒 -^@ضbZ/ sP9,a4η*IhAS}Vd-X *b[1MXi&!(On`dhgPCǂb BS y ~xTXhMR$gȫG:t O :gcϪzESz w<νA>H)ȟ 1%"v[MsIؕ-* \T9^pOg [сmvx }c8֒S?A=de{+f!6=evlA -QBd-|Z|5H{}k{`+ĔLz;zck+"V5ӟd/sIpVѷkX*,ߧ1DK\FK?%\ό$(0F^;|:jx mp$^PsԑSթyg$fCqc5n1MW[ƲJ[}\Q~ٕrPkČL:RA:K 6'z ÓNWTMdi3o>wjg;1TmZ]Ak6_x=H++LxG[c dG~*|Q>fz8'oKe:hxc uud~%=Sf 6iCDe۞uPn9KA<"w^&1Øs3a74.Eʕߴ9I :OhAzZ>kӹQxЈ7{xvդd![9i{mx;?q҆Ib͞+,R+D $иmGMݪ!O?Fүll*"5(L p'=}y-kl',b{m5N#Ã8tC, 5]o-wBㆊ59GFBv b 3Աj2V4rZ짉H6t<[5PPk~_P`iD4wR=tGqE|xXZWt0'$S[cѼ\ݼGQnWM7.0ڧ=}?| NI]NImNmmTpn {1"}^m?ȧ 5Ջi`ů3̋PԫX0pw5 Z,n9o*١)Ɏ2T ,Q-d ;dߙN. xf>v(<|H/_2d赵C!xޣw2cJrVoN >ر"$=N+y4Y(TzFI)5:Cz0?=Qr}Xiv))#9bk zϒr9]0LqǸ[<*Qb!Nlu*YbǠ.vGLSڊ>{蚌kMuύV{?϶t4XT+ίԳn i&|r^7<4 s$&Gjs=zCs :a&xʘan!|JXvEUʛUw'tD8;AV"aߒi]drz{R4\R#H kGFug #.gu^|a) Nfݖܤ}:sg2Lq}O~͹ K* ;H)|PGv ؗPAyͪ40C. PFg_(ӎCk:Kb Wz ȁP`'zbC[-naI>f?YL .nEbšedJkP.T|T.aR>% ^>[mIMb2Z?DFcK}CXo$87 RtBDzm; K(G/ClKPwp|B%װQyLʃؑ'Vs.TTea>TT-?hrnh^C粲o10"N{0su#1ixZ#C*O84F J$j/XSQ@ zk3$8b@ QQ-8]byEJ]/)+?8 j`! 0"?)5 H? Esa~777'_#]3 ? [t7`FDtqvDO^pv٬rYkkWQ:U1,]n.MwE}6? o;gCqdlvzJ6&"{R 8D:KI XPl24жZ"e%hgk"|Rymh;_Q^>Sz硜kEhXS0B|:h:<8,:gi >;/;Z,V\M߿A~q[-4Ax6 !8%)"dg~ >vmch7&3+i/wfa(4~wĿ]uZd\Ε׺MS#i2qZa~~T)q hO;ƗQsj x8u|n+dEkx4͚0ԆtjR-}1-xYۍf [39%^eڣyh`G[R0w`(.8, yfڤ4qo1Wx~ՕJ;%Ȭ1 /sƽ̻0.# ~FZuWsX(3ʀ*u+5@ &W_EC5|ZFPxXmPP.YP&JҦVT z5(0SVyXlR?WTXbzG%ʭd,ta1 SuIx/f1<`>mfnUmbՏ"P]2˵#_GW gcqX FUhX3_[`ˆX]W,w1_-۶N(Bq.tZذ-Q.,s\[䄪XQ|,ORRw}%,gY^ 8%D«[NpshӒ'+~<7.T| r_^\jT#ى'D&nn\Lt7 ϦNc+ ѽMMS'%\[XM\7 f0k=m(vcq4&'زWHO}VuՈ&W"åh=rssҼ'*R(u/Z!c ~rUd[7J i"0wGh?z .#%氄U:l8]|6cXm:AשP9`1**įԾE[+@>9qN)h,#ǴpZZg cfy"t4t|v2[yփyOpYY'5%:JUwAAk 2OrZl\xFq+㧥у8:1N(=o|Y1%.27ۙz)~H`Bi[Ҥ) {J=%D8˅Re*?ș2OYez*X6ʕˉRxW(oaylMgl@$zF` ty4S-.>Ѷ2jlw 6KA3hq++柵SVKp#v{_rϮh~+}r-[1 Ja`6SWvYp$eE`'~t84 DLBRDcz X`E;B^5Y-@yO%`)O+t<epb,# IcaͶ[iB& `Vg+xO\k(>Yn[@/ ,&_[[/E ^3dҷo?iv^/InM8|Ǐ [stq&8ǂjD)ptE賷7[OrwHR eF?- LDy8> 6EGLb|1;NpGk19sD)!ĐէŦjݢd$5ȆH>WN<{9`9fI< }R`%hw\gAI;6ITL^٦EjE̬SD .T<_{?oAURn gI;ܫ e||6T \6\*pt_;g: ۡ t^^ru/\Te,N#ړCȥ-<%F*FY5Q*ڜ IpV\T٬1nZ:w%4oy%[ ggJҳj޸WsS'ӳ6#F7ODV3wquiEè}2F (@,BpC_A+'f^"M m..'.n- }ׁ`ӽӠ)XzLcX.{u2H/=z4˹eԒ bpSIh]/XP,b QyPH0Pg/OR:_BAyf8IzQ#8I`|s Z@'v :8Cl19@_B2/G1<^77!/a~&nW >ы!!KĎZtb,'CMEBq^Mun\3Y9L p*+~¢tmz+=Qch=ZDWhQ 1eTy):ݶMi孠j^;LZ23?o/Z{ yM͖4F.YcHGݟ P_qɋ*B)Sj@c Ny1uK~夙WV|y#BZG+N~eW3Sn7D/d䘘2ΐaMKHmd\0rc!P]/1l @[ȁ6}9Nd7Fv?h9EAw㖻PZq468Xа˳OFp!Emm`|D a#k@ƥ#V$,lh)xAto(Fs5mzH:X/3؞[9ihK]65-a&5;axvwds;̞^lNOٷ"ݐi ɐ4hfH{tK! -< f.U Ӏ Gcl*jOp!=/h]mktK|LI{DIk濺a((Iw,e⒛8޿~?z6#E9W.oL2|3_JҼ%c"oIL<wc _,Z3N)ѼR:PD b h=Jۘ!_D,~H+2Zt f}v{? RN5ʒk&/wEs1aPp q[;oטA8&!p&RZ~-,cI "IHp Oj' .k>Y&Zlv?]cr[_\\Ս.dM")/.9Ra;'SrmW#>{xSf3©p=@qZ0KËGU I곟>@@ȌF!7 ^F"#-`E5ۤW`4b+u%Z }>4-ʏ]xUK[+n v!S0I؎x9/N8/% G2,*Ԥ{',0 }3u2;1ߟ=riwdWt.bc*Qʆt;O &~ϣ SQmw`Zߠ&q׌+5Cf?T{vF$J(eHt!wc.Ss}@eOqQ1b qo Ne<3h5MiZ6 SHā:kmʵ7,¡I&7s.:X-܏JݰUI*rT,סn3YZqc1 /Tj6Yz?%h ĞĢ\K94Fa02cW iQcJ>V=^=¿l&p*Q]SLַ7! IomLAp^K$^)#-?:OeQ5ohw悢)f|?D@%f;]sA+ 188Ek2tDZĝ*υMCI'8E;.7uG|/1wYlz8j9 jTpF? F׵[a{} L't:k6 ˆA5czFh8qzeb +XP gZR.=7gziZi ôt迀. -/: j ]\ޔ̲C= TǏM*) NpdAq5B2?ޫ(&6+xZ]lx`GTeݿse6hUÀl?sRD'GBY)+.5hUѨrҿ25^ j'-K%YHn(TD XaAa/ly}!J-?-C6t~+)ϫ43E c¦O|%| ǀ:* r=@+m6BY> 7ۛT嵤4_v^djr%7NҐFQ8P H:*-F^E5r 8ܟ9rVrJq Oq4ՆɽUUl*}Vlxj#siZ-3@f *Iں}~  =LH";pM+M-P&pcx "S@@14BqB*)4mwcIKy$'Iu4MK)UNغ l޻J~1hJP^.J\.³4#m飁Bq/Z8(RqaV*g(R+0s֓Z $BGe'd1=yO&2tzsR4f>D\êz$W@I?*w)j4:: ̃'sm,_P-gLx<~VFٓ|2N6/tF"uTQ3[^$7bJu8PKl YBu"a*%IgkۛuSZGX&5.|D A~nˈe;TxS|abRYx h[‘EҕpJCcoBbJX ǦǺ!Vn糌l>-!pkzaNftWP]6s暨66ZwK[y \aaڃ'U79GZi6!(h?pnEN-)nŬC$/vA98'xXb.h=b"$NlLz}.9Ic{f7w6|FMb_ {u='FZZZ-Is đ}p^FSc_:Eԑ@=qi9X7W&QFiX랆abtDŽzMɊbzN>si݃[-wGׂ 7".G,NUf.Ɵ\ovP6r vF(n%Ke .8b-%>d[ABJbٻD%.hnnjRM[W[l_) z?hJ0iUOVΣW[~2fgTA:}K^{b&(a.یַJ13W*ȋV`%^g7' ݽ1=zX3E‥ I(\A¢GcG(%G:&f!8]M! %Ԝ"5W"~c/h#4>Lnk dR88~φ+| _3f:gtt@9o.sZ">'/nހh$\,do(ɜ><[釂tr[ݚ~%?q;k жVW7kw̍)A:|8OxAS,BUW_sj{_{d=ĤZ%If:^fy[=1`$6&ZEh!Sha)*QȘZWֱ|o!Tt[pkSs 2$4oCϻAg* 2wQ 5xΥN #}QЂ c4&_[(^8FgTNz98/N&dd%sq U5C=^!7+iɟh}DRRhw@qhod)*tmKŕ~ljOBǒ~M3 jmPee0+u`lN|mѦ\{5w1bPK`nXs+40ܯZ _q1aə?yޙ^&:<l|..}r: 35D<~ fo:d&vuo[Ck8 8śv"kqaLs?]Ro*FH2Q2+ +q>>ujRr52i's[JK1gNJB(r+N}.[eǯ=SDQcڱjIT{3gRahl^XۧIE^,L$t1{ ᥴqL"3>zSm(Ay֋'v0:y ,eWY&(S>4T9 !ԫ6I2v% +qDk%)Z-Tߐfң+Rw<@+ VyBLG/ƏL?D}C{rhO I:kkAd#sXEڴIBy=@E+I8.#M&9VC#\ SCnD!bߥ8 yf4.2v_#gu1ӹqͯ|Fɏ35ްX\ū,O ߿j|#gX<طw* R!:/Kd֦!G*7([{R94%6=SFqSQO#*$}rNo#=v|O oQr 6B ]YEp0ˍEո屡SruOdo.Svk_Ҟ XΏ]4 @4%ZyD1׺}h `Ft`lha-#܎ He+*7 \@Ro1}9A̐`:=NP;.* FN K[2Xn^(oAE-׋cLاำoHO\ZaMȫ .SBm ^[ (RfWLk*_ r%,{n>t4~*,3apGt4(Fָ뢷r#s˗kgkfÌ,U&+oV1E1/H+|VS0:ER%ee(48I7*s b_B@7o-XL! sެ*b+^ƵhRM;혥Ӭc+nnkJAV6LۜuP<&SaL@Avi̚nno\&Hc[[$GFڬjm}j T}e坚j-bg` wK d__M߇m5Vhe-5#p=_ VZ4 DŶ >Rdp=/ƗOz(#] |5㾴]ș<; x~H aP^yBI};|Uby$]}Ů]%@ j9_{/`Y= nHN%ݖMq\rrr ?M5);C64tx à4hΐL]ƕ8J9(A'础0LxX+1>:OvK+1v seR=VR oB(8KE sY*+i֩aŗ"`H尔 #Cl7M\mp곁A0N7}N pB%0`LV8xݘP7nYݷ! _rľ YV"|8144"Mhu qݚ!-ʹh`#cmչeq^U'#Wqs){ٲ? :{q|]')ɂihw(x8.1-^θa h-e=cy#!{&CGl@ôHLcO[BFEGZ@- 3NI =_l<FD2`+OlB;/O+(48W~3Rz Y@:9@%@ٟ e+I犧ݐLfZάv?:7ԚW>I+#BL1B/+&K^2i[byO9n3䚧%FR2ZiKľʘ?\z-(GRӲ 8mL{'mI ̥b_a/ΒMȠK8"B5 Qg}QnPs+B;L3>)6vN" (+~}.娏h]t9L0}=j;)6ڦl:èսJѨC=VUhţ 2{ ݿi9 f`.p{4>ڍ]ۭyD`BA8y] ϰ>͟g5+]5ϖg '̽7)Wx41FU3a]?.y^VUadxZED]x̞Ymj@Q,{#!t5;X3!1B8C?,T\s9Gz#{@tdK^R7ċ6TߔCgt]&P% 80st`A k&8LKǫ> kQpTJ+_SsԦ܌{ m )i(:v)ئn|T׵( < (ޖ[/6SxZa\_Fݠ=z.^QX-TY]~dBdDl$]ڏ~h| 䶹 {xd:j?g@BuFvi'@OհlX$ 6? C$='RELwPitk:&[AfWO+vLi Ckl52=B0=־O3Fd( }(u! !gW*/^c=ث@Piׂe]gieR|]US~Iw lT6ݐRaHBDFܦPK ɦw$ RH-<`quՅ2O@cBA&-*LzMf$Ѕ3B-tY[,  j56WݜZo o3anAaqp| XvBת5Npb1Ø׽] fd4X2C56u;<FWdR?0fnʜb{L?+ܿdwAAWPVPǵH{Cs4.s#ry>"d%>BWϖtĩtj 4ԛD{MfM1v1egyg"V$F2<s/* h S9磇< 8|y 6Pڥ#RdmxZ8\^9,MBx|(9"Шyo`Ҡ!ܹ-hϗ}h8#Ry6x{96*@L {̹j2VDR=qo ^kUr_\NpJySo]=j~5#Be?~+Qp5MEb ׫{#Ku[83 ;[y1g{Fܬ=V J9d܌x)xsD8UHb;Kխb}Y %s049;laY)ZFU[T] N\!"T\!eH݉ܔhll' Vf6SM,~,? ^mCzGe;]Vd;k[* 1!wɫWTy?q)jhmǴ ЃA3Eރ}Ad%R^[ r]7ep#]†S{5<#W ~BoʃD֒hZX/gSW)(}:~`7hvSq8Q E':f ȞSR ̕-p 7NV9 &(L788ĽJ.nʘ a"L N#5]>;-P,mN<$2\t2 w881IZ[" \; |cP =< ˖0[ >_WoUIEUO}%BsеqfbmJav8^1c->.=yoGA@:58еlKBeM+B*}/$͐I'e::x)W߹xSbthREKO_κtp=-S㷦cK1"%B@1q9[2,ˊb!Xdrį<^N-En`2`!ra[Z_J KQȱGYnM@Sh^Max%XClg &T\gNP0Rg;C $ uH*9LP "ELSv'2|!jhХCtC0.nj8pvƚV6 VJBuj{zǏM1u)9+=aۊ-Luچ(Ǭg:Qt?rl%LziE͉ UDBLji|:U oeݹS/Mezc9eP|UBbkMmCT1Bw^qlI4NN{IO=EOyJ2"EA{7W,a TQV E| .iK bmOJrg h*]LTVn&}9CgFm"݁a 0,Huw8ՎG2S7wցW.`u-S1[#$[vd1]I< FSjnRJ>[G'3<ʪJ\{46zX|f.{qANw axZ8G$S`_*Y6n[-#mV mGL,MK}֯UD!%q=ƏqE Eh #pØ:KDd(0Xۉ\k:Y&%Bm^iŲS]^B&n77HcHm[{> 0$"kS#@c77<[.\TcV)0Ο*[eA][ R"/_|NVy9mi/~R7 <ԯ (cJh4 QAL< 4k7\G`RUqx/׆d쎃zSdc|_ZN%FН4lټbEJƀ"兯> *R^0aIHGEAU#3?M|h:آ[g qǝo1$ki?լLjxCW]Y_|%-{,9HH ZIn&EpE2j0enveU惤 &CyD|S];=[I/?W#O>|2J>6s˃+!=JxF} ʹK?p jf[:Ѭ<,/8N Y1b >eT;=ʦj-' &z8wn= 5CϪc[2m2U2|i>H~:Ko>ǒ||(Eykn'g`^iBdh&`S"È3:qpI"5 UAņS?4vIHmr'U*4ː 5򛐷>H~M}h` FI ZLn[[fELT&Q0Nt/M 7/hWIr|]$$`'R5exe=ؤ ˮrF v Ef)F'UynmȻ)HŹL8Unyc25i:-qt#$%Us7(u4pZ?PJR˭^BA Ҙ 6NmKrauoɖF+!Eii ʔb~ӛd}J)%UoЅ#6%;^L}`=6[.J2lIZ/у.#]˫B JI\v;VݹؚSvl8{fU 9`inIY ` bqRCdn$]Y쉹_2ɑ";.iH8?.+9_zvQWZBs*ٔ*)"jX /;\B]+@ @a] ߭hO X'1de6 };|bF4|.R*_:GKIܺRa]G8H^P )PXҚx<>~:9c5)H}!A_kB"G4AEƢ8K>[pfIQ{M ؤڇu_:/Ҧ-,qL1a *N34SuS,_̅vBc9rPM,UK&v% )|v5'uj?yK(o'p G3sv=d@@_wr.#\#g„7"&'?vS=DX_9ig(`3WN=;Ki9mjc6ڎD> ~t[*eT鑲]9X?\a@uЂc:%AKĔѧmhy 22D'"ȑ<ľܔ%ӛ}rFNgpJ 3e2F?/@Z+r@:!,6_ú ߲Dlw|&s/guMtwyal;N.F峊*dEB@,3(J}xRyZ^8;Zv$I.ڇyx|V#sgZ:v5=*]5≈][7/S Di;203'M|u\n.oc(VŁ7niuyur9LY#Fb,˦l9^gB"8b=l}z4I/0E- kB&L: mO1o=>}6ʆ+ k[cJ߿[dC5GbA%}o;]w#W\$iw䝮zTeIZ-h4` f ^-*pt=uSeUΓ #K(h{( ylEy΄@" E?VEյn_r]`mwКG먣,kSVY*6Uې=߲l{x/-9kB^*8 JnwkH <2x~(=K/nUkMWźAFe;:d~!x1o^b?RsᴸQY( $nR*wf<g…bu]|PUvcys~XaB i@K-EONPQ(lMKns0Bub6>;aװ24T<@i$iFw$ (VV o0霄`M/kIU Ε?Hi="` O uɱ]FM\ZUu(_%HDInNM#ut6Iv9x"sV sQ}0 Olj2:ȣe`ÐQ8߮ۨQEIu<t $`Ub8JI mIMFqɟOuQP \+H\)k [@XC/I ֖9]$ WVxQ ™ݑ5^;HksoC<.Rن0'j}+Se?y漲ITGA.TӥDQbnS%(]qR\ 5zcs𥩡*vW/,뻩8".AkIg5I|)-_|&/boí?\6}r_Q/ƶ\_h.g78HLE|iwbV:`ݝ_E["{,gԛ7{E<ݽT^иsp ry1h|$a4bP{)%T̲ܭ_p-rk5#1ArQ||V}]K1.{zI'!Y*]YP/Ǎ.C5i#/γb˦~䕿{yՙ96!:̝9K=P;nw[h#qSTݘTtׇ֝h߶ugI)qf ~YʠfdIlgXh@bmAT$%Z2y&`4j詧J1Q}GHd̕aĩSCCK.!ޕta7]z8k;n.LYfhu[xZwg(]-Lp^qutQ%[c8~6U?y*Y09~3sx4Svm%M˦"k?*(y S_:5좲\hx@C‹|?įHB .G{2:v; ǥ:Cauccz=PɲM~@񤖜hkHcxQvE&nHknj@D/vGQ3o~`\kQcn:_bH@<>?t%yﺍh>(+H*)EkpRu Ի?[v+EQ?b)Ỹ,wvܓ%^2mZ*e҂D3̿Io54M=swGGF]b1H?ƕ+vx,'I0 /7E!pf%f3+6WbCwa Xi?@/\j̢f7Ԭ 8F2V#N<Cjʜ@mNR^k6P"$zqK%IKOdZn2;`+u[Q-VDXNkųB'I)ua[~w_á,^FS@)[LT$"!FZǪu1ϻ+pCi?"[?R2

T8z,Q@E{@{ fr#apO"deۥL ;h5yl ~ɺU"L* P T600Y/,āQޞx"e7ã.GRMϩ# eз wL0(_ճW!xy3r[σ6KgVtKh"uhL Dm˜Q84Kջ[rYi`"~mWo kGC 䪆)ʐ Y+m~'NO$˖Rv<Ͳ>^GO&UJvmA2 vﲈ9#5b o;YOz6`8)̛5 YN\i >ILfyMtߒͣ?wEߘءeD߃ 5%%bb@jɿ2ǡTdF8+~i M٣HTkQC QoW/;ͭuiZFn  1#G7q#ssPl`J6I`RPQZ @aXi򀭹FP ~](g_)Op{J`T|_}e9J[L¯>=T H ^ֹٖO5v$ #d?nPXSЊ~xfih]Op`Ɉu!X5 Cu׮[;@Nʙf_gAЗxӄANEʠ/Z?uǸK k'~?b,]>!sRM n*_B0򀐏 "@p%ڹlue>Gx==>3{ͭX-;TϚ?y*)Yu[ѦFAJ=ɤގkh:u0~vd&bl%>DRئ6p%lvV/۶u >Z>h&‘FcCŵs9+xb7b;krkca}!vXW*pZēK@12eubюC'&>$͟?oçLW{ '?DBek2vTMנæf"rkn)lF0gIDkvI<0R<K6J@+rD>?f,Ov-&7.-YlH2z4c]K3{wh?<eZ"Qkv~n*%jO_z؎P uUhXv!Zq̓L/Z 0+ qz]I*8 8mQ1N-Bbl88A '~{€# f|$ȸ|zq_av|tfk ڮLM^Ncr4&08ՕUrp yV`/ RwxvԮz0)[WgޑL&!WC9{0$%~Z{}$t`P|_8h{$|9@@=373ؑ>M3LG|R+ڡAyKsڼF&FbaZK/A5WPA;{QUVOPL f?ǐZRZ2%.uQ#[S@5&Tg+ܘ27d13o4x#Q_^z̲^WfߦFݨ?|(ErZx~ k"rPյ(~/I౒`(z<`)?*p^!HC<YEs]fA JHna?\ψ@TGH\@) &שTg5S8&76h^Mqg{7@eB z] EeV QA'o d:MЊ+mW7 n3Y:ٱgj0fmfVgy.D.,ۖD~ޗa i(-7.aP]Kx]{p1j cKXJISNu0:XNU ;S/ #UͰecDI. gIvBrsh}Kc L'P;)o]ZyElI>N`1}a Z5 !yfٗ*x731+ ,ݮkMC։xRNQ?K*WW62E/i}wlk`4@d|jB0ixp.c7Q%ؑ>A,꺊CqU3QXP*?I!;1k_o3>IEj@FoPwRpp&~N?`Zbq XxL!LYq`:~Yuה=N48GD֮7uvR_Fy'P$FԶ)WJ~^md9|ro۲+J"F`b>LUvJDctZ!x**Oߜ⫺ s5`pW_r5ꐹڡX0m)`8?lp+nOk)u E!_2~D%5 n;.f}f:?JFlϝ]t\5vz'4kA9+vsAm,?bӯOO\`, j.}؝.U{Ix(L_~h!MmNR{(\W?U]J)]3J٠P徣Pv,W#uՇp+xOQ|4zb?B%Zش'?h4a<FF*Ӑ2qO I釽{fSh0`JBФį"0G+dmmaɶ2<8/H[XjVer1IXi x1kȆ|‰ /*EK|kUp] a0BeX?_) `.CTd?h/ק_1uΚ>:j_ 3+bВ9\^%Xt\ԶNI1R QA(ATH^6{ye2JOeFpq#kҠpʫc{-H¶%8܃2/DSP#qD&dϘ?FZGRթܰx_Yx\d_ku![ٗxDmn."c$җ B>ȍ)7 HBj}-L@]l b+G RyV5}Dt=ܑ]tXLB9mhRk3! V\J(;z['Y8oz) ɗm :6>nDzϹ_!E`-` ]m#Ǐc)<&l2_( Yr&G֮$SJHUr86%w_^`h {ud:IZ@Hxk;x0gs0D9>v:9$Bm%G̈́ *vࢗB&znszN$G6pTG e oL )˅ӵ+UjoT)1$D"Ǒ+q,bS2t=]ꐘf+.Ĉ ki^Ás T6,XPxޯ. @7}pyqC1O.9Y6ݫE(Ro<Š Ij aE0 E%VtnrCgwF9U=PDbHWm8oY(#|3;mTZ[&|f­.T[$s^<#XG@hӤTb+4c m؋'k Kj8.AW|*lj$dKz%Z>-XAMfoFli'`#M"kˡZ"ASs܎(eB B=X}= n$5Dzk2 }wݯkn9{Ƅ]eiO?LH۸ h:)Wj`\UK[Ch+*٫]#ޣ wg^KՌe -;oWC7kTxՀӈ 2,;LncvPfp[_biQ.eBEʞMjz{=YSEL@ i'F>ciIg,x.\ jPy͙_(@p',^#EI~&';WbTbv:"m>/kr r<))'eaN0μVC_ <a=Q,h=GHE]U%,X (׷YhL5-O vOs-ytIahy؇QQ-&MɅ~X9 AE֗ĘQKGk4|Ϭ.s2? ~qeqv/DAdؖ@sC>e]B^blh^tdgH7 >SG([DH?k=Ѳu]s\[6u2 jTMcKvYv}բܴ?ƜbM1U6e &b?m^Fţ7i#bF][ I1O}liRǸk|.kt{N!ũ<Q ;DtfB%RO1F}ش窎 4>`4aoSV6<8|i[R߉qImaQEmإ>o!As؊/_= ǼT[ap W]? (3(v!RJOr nXtu5EDfg#7 >1`sɤCP5[Xι֖֔]@Oj+M SooDJomIdz$: *ȿ8(4!?cos )A71NpZAmG s[R+fv4+x԰0z,M`&xCHrJνMq+7NEAA[ ass#|rtU&ɜ:R@siyaJT\_MK;OPtKZ.Ĭ`u{UAJ7(aغ>xGT9@5_k8 X:GM֜~iD W*ESԮ Ԅe|$|>kFXqnfwԤqm̀DT((/x(`^8pն5-K׭҂ E:@0olՆ]mkYq/"7hs,Qe$A8NIGmTh+ܽaw2 >k 9% \%@8!VZpB {BD]/' ,dy n)\7z /*/{Rԑ)]IxވDVIlt+8EK'l &؞Ej ؀5:+*` &lh8CNWU6g_Z ?ǚTEG+|ׄBWg# R.a!ʟ[D-@:Cxl땣2쀖UHyL=4 Ar|·E"`@5 $S^ކ[|`J>6˚&νPRl/r%MfcN=dTh?DrLqM8^ϡyl3T~+O R.MTE@lERWƈs8BʼAK`y5{6:%?|챾d)^ BZtn&(egm+w b#73byP5Zh>YUP ajmC&n 4 u^9p/B#8)]E.7B?Ihl[ Am:,$u*QǣNI L=nd l;6r5jԻOBU_2df8ga̬I S7AQJfʀJR21RXa^} @\W(DF`*pt XMA<Ƴ-DmOS2 3oh^` \=>2&R^epHDB9OU>W !y~ι#`zU\.m.s@q9ub(l6>Ǥ J \QSg!`t]EWe<:;D(A4ԣ7D#zR{fۭ[ٵ ŕzS+trj+cJ3Cu%PfP4J% Ru8f1?ȪUS2F7Ro@?Z>J l9!u {i2 jF\yzf[6ԥAt1h8dhq%!et_f@j7>%yO}rlT[g.eVWA"vϫlmps(620[p)+rtשGc}>hsKeRU_ rcB}<9RdS4{dȈEФ_iU#?1$ Y$ Xoڀut0TGի-)odEn g k{ıpiV?x; 8--oz.vtjZy3O7 ߛTO߹$K|wv||9HGx~Pۺ-i\EҼvO`Cc#C\FFFǨ/B(J*sn0+nJ1VljqͲAL5Zm2#eQ-I>|PEY<i/LV 1- gL7O,8#lF Y"e[]%q?Αp xC@av Q'}u|'Qڀ vŠ3Xѕ1FT7)I&, ~ [ڙ^$C!`_Υ3a8W/N/]IHVP45rn W ?e |D+e5roD|{[Pj_ˆTT%{(i,O":0zԠ+AR!9p?UЉ̃Îa<J)`脣dYjs.R|'N,/*,cv.)c}䀘"X;ʡ|8LTП?0ޞmHhC~\9^TV+8>!ƅ_ ^.'fr|B{>Ӡ"/A6ZFou0~$.HDNZ HEH\V 7=Y+ZK}.,heCf<= p:ruO)ս2ڟ8/8x仇&j+x53+No{n)`Zvռ@Xtke83 zGzq!>S|IO@Fy7> 7TѢ N'QE"WnICY(qނw Cz;;#&Zٞ*6[' t<Ҧ R3- ZL0|qӊo{nX/G]'z/z:>~e/5?o7qgЩxvT{*jj^o;6 5bfOa2Pj%Xm rOjDA:*ViK0G ѨDs:8PMN|rr\ QUU!x$>@⍃x\&Va$T ]-b*%(kq-_ZGFt}]cET\lF 6aiBMS18] |<qbp p˹x^~~d?'"J 0@%ns^xT+mCG[=dŧJPq迴/r͠]i f ́pDPn$ƒ'Q)ޯxq A-ó#8G'h X3$l_Ϋv)Cr:CW9MeI Ta1AYC󿗶Mv#Aan &+iꔞuE 5|k=RѢظz= Y{%"˴]1 Ή.c,]=¾R.2QAh>!*zZqeh2HSt, xWM>Y9a-H{G/Q7^z8}PXgΉtAϓ~A+D-0^Dо^)|U J&9ߠL~$nQ/Q7oF\&fH.5OF_auF\ Oh:_^d4Ety2>l;ג[,|s-#dkz}ᷪ(0o3=@Iyַ䐌jvYusnX:) Շ@ :Bo:/L$X3''S,t:n{n;OYasH<ݸÑ}>khM$ҠU/wcO_ K0LTtM @?t6ac.GMvRmd .yqYv>*ː= c͙b'\SX6(Q!t: qQU\,lp"+i0,M> Չ>hi7ڦ!< sFR:4DMڋkXH<83ņ:_qPװIkON9*@pzMIo s*]>w,#Mܨ4mz0vD.]&X ֒8P߶թD2D.])tEU皙G.T! m'C)/ٌ?w*ub=ρ~qAsκ3K46eT$o/6y3-3=v~"Pުa5mmrޤq:aKP70,"Sl:*Kx]jlSQǻbVp"(М+f'V镹n {3kŧ 6(Ōk̥X21z=F /NRA؎'s[{ԋWyܩc0}dGaRNoh9"[=)ӗR`3SMB7ON>7N Y 8 kʭp|tO5 iɰOQJn,ʽpx ٖaWԑA]@"yGBܕ/_ ]2ow=fv"Xy:.C_; c}l*ƸcictENpO|Z+ݭ1@~ bTSyp XPA"֡0vM遷T~1e+C3W5(,v HY#%zoƎW::"=2/̨ qhrNc59rm nQ iM[A4rv1\3bwymB̫}F e &?:C]ʧjP=s9(;E?@- LtE5v /D?07 !nf١L~c4q8nPKwf>EnEaW+& { 胍یf<ߙz^4~0 kvj͛:瘥t .1$ی~{ILkaU]6Rڣ ދK^޴>dUWqwm2G% ޸& {j<$ F7ȁL:bzŻ3}S1aQ5/ak![׶U|u9SN 5D=]f0+)WIf<0u(%BŎWe$q;9a,8=qP܋9J$䙦DoTq\U|dxM,E,y~vaed6fs 49/yhwQ+)Vr7d|5ff %in9X)e/'P=x di:' ɗc U#+桭nGa2ZH?m](|8t: P+x$-J~3̷R=؊7W/Sv- yBu h'䤳"1p#b/r:4|fVu@ۥQPJRԦ=ï,=vX <KWty5Vwzכ^@KUmcjQp(#ųZ\7M_i'1̕3KQ BZyVM`Wx =/FpiɫOD[ӋC˿ {pyDH>NCe-Tcx4Hkh$e"ٔR˲Cj m*+ K ֲrٜj%ϳ70oim9<.BZ"ݚns2в(~Aσh4{12Z1r4Pbo 96@٣g%6q]5ult%oЃs7&T3+Tu;y43t{!GRz[)RLFg(q}ˉcهKqy;>@ 0߈qT 3Cs/z>s9"UcZBs>{Drm *Nn?luj l^3ajT.@i%3PO17ڟX %ASS71q h9}zO~Se_&Gn(4E?Q:$ m`۲ (d왲4I0Mr*ڪ0&${Ͽb90Ϥ(V9Nlmy".jno@ } [Cאi@Ui'tSg)Gs.=5ðv)輭(5+r;17T4FǠ~ ou%S[eʚ:ٔ_x*x+kzsXU${>{"Z fcGxV{Y_I*lu5MM|Vn;Q|Ҥ{v\2-xlٕǚRv7+-cpV?"<VP}˝??mREhj ʎ=.NvvL:iBS Mio7oT76\O J.%2imw 8$UB EjtV8mphY6~E!e'1* )7-JJ^4ZƐF&4>[ohT:(nJ?H >'}~? M!&(69=UsB٥aH,j%6_ ρh}S9l;17U˘g^W3P?:'Zv 1;eREz)V_Rfq Q [(:cWgx _:;.w/svL0Hh/ܾp'p:7_Pꛝ'+ómK. y(鱻qo\g%i?U<ֳmiM4MTY$^T%z$v{sK,kJ^{L-V)6CP6rj ;F?<mg$eDDDRvy5!)άyN%H8mNL2."C%8:^ѳ~mJ{0`X2d8zxӦBf躏JAH~Ցϔ<;E0!.hPߌO)_8Ur4 /Bt~d Ԅ؆44 s90hН x~l^L8 ɾ?Xv"A#x4NzBWn9h _;￴|| ]`GZo]& r++Uts+Ojb +/^9WKw (d$# EךBoKnC9ѯg!AD10,[F >s(b[#;ev o]yX9pL_aXq 50hӜ߬4c"OS&gw)ѠĠr0ͬzk9d$3N1{q1#iF 0j{sυz_sN %rքE'0^4 w%.A TKfCs@36UO,"b %uyIzs9pB(n6=#Y,,3b`SkYuPQ ix6_s g7@m/# YͿIep>XZn/f]xa}f0hJˈ^V>dLvVQ{+vMN~I+{״6 Pca~&U||Rw r]_7X4hbAݻpK01Y_My΢9);vsfwDw=ؽw[XB;ZL3 OCE fTaeGAp8bHYMX~ѩUde~8n4eqOg|wRTԙU˷Ej78X]}gDV1!dm20 Sl?[-DOyiZp"^0lޓ!u1~q |uNyJ3muRNX+Alya4k1ZN c5v:Aȇ FFilQAAaQn4τ!ۏHV[ [\ƫZsi6"2N@૜;"Bxuۙ2\R(20Jḱ\q<&eA>0Q]ӏskK<B4+Y]8L{rѐ ЂOA3! Y^fu'#3HB8IK H}X !\5:yUP%MDW'Ost[(}"ovM, ɤR,HZU)2SJIάhrB>ou:U Y|;p~όL|@y,_za}t5f5oUA.2آ 2DKn)⹎,MNH(\S#:s֊ydRrfak,b…m%)p($3} md1Oh`;!?y X/0" 90 2Zȡ3lz>q,Ԇ_'IVf9A BAGMnCNdϔȲ.aƧY(/m]zv#rt4n9?QTgϋ{BݛO=wrtea #cji5XVi;Fs:ͺܔfOD_̎[b(x~IX-&-56GАrP:]w^nzADڜ(aӚ:Z vrz_쨉w5j;u}ws]СZN Z7J9vb.:BP]sapIEߦ?7("sk^H"(w(snFtv5\5ZetTz]mV*Prve戺1|31ݖӁO9^>m>;C+9VUy+3Lt쭵 +uE:/Ӱ2_ )/\2#1l8r"y''rRs8 &tPf3 fF m>k*il/UL2QQ[j Wj U.| lg }-+$Q0uAfTWT9TWn`h8$X=Xʑr' PnQ̡nA1֊z Y+"QMU:o00Ԍ$SzYw\ u$eᏤG&MB&{~Cפ{Ǚzk W`]SG 'ivM݃0`5ug@)$OKϨD'DMu{Q(+]_nR?I" sH nryxp<9|qOO30Ɲ7^' } e$x }W_E!;Cg58&D-4, BXt*G JcF乍#Ȕ!2ɒU~Q*<ǶK L;JgPʼn;vG ,?@-E:~ί?n4ӵC7hU0!,RhA*"RFZaC8yESvi``1|/J̹}ŋ"BH:l"|.7TutߔQ֩ 3=Fr9(bDvtYhYw-w` P A1q1e]|Q>6-;[qlTR#Tc&n6e$&ՑKb2ؑbkU]KOqЁ Rˉh=QᙫQ)J̕NGQQ?8/MtK_m,crKj%IMLd2%'d,l={rLږQ1COCztN&x.R=2m/o{(H\CɦZ$Ҽ~mߥLo*R.vo&QvUYi=蓿q˪oK5go3:7غex?ѻ/rؙ6MKrPIbMK;GI y'6Bk[hh@кD; w}w-{J ;!"cp_#^wTX8h*_6xHV+q4 ?ڤģֵu#Nďʟ vzOSlo*{Va<1=Qi}H? $f._|a J„@*\Hfb`R =#GDzu޷  ބb0lMPiDճn~%~H nRm71Y4ʭ$@"O8\3mkY }б%~a ZJti9M"_J8P_WJ[LW0ߊ3cQt$(5X7&= r/ \3b"9[DS|Zjpi埕pA*3C lD|uikrBG5Nhu,k4{nR"l=Z3H 7?$ЮB~iYE2pٻ`Ճ*mfƳ U7 Ng•yRcu~/wz *Zۣ窷gބUGs6_}R||۫ vs ~A$oW0d- +HkKx#t}B[wt]e«٢oз3{9ܚ;^>jED:>~u]ArNЩst28vn).MJ"yhf瀈'GX3M ~N49ucsiD6~{tQ;-!CBO Ͻ uS,RRīRb?Y7 ԑK7>R+rzטEލzo'$HJ_Lwq!5>ep;eb=4&v )"חraK$ŕ*; k2Via oD(WR&.p{i6! >;  hJ+QWEIM]iKW`VJ,gkT5S*S-s % TbeXA'̀d ocI uezKxM¾fjvSkL%,jVܽ.$u׉˾v o^m[0A2"#2I*!hQҠG1ڲ/~y|F,,ۤ߹.f?Sr,a6:2f"VYmoϭsgZܷDb (>.ަkDܛ+ï1HB'17"藐"eqf4 #?8yJZeF.7ߓsB2^ `6OQLtZ٢sGoPEυIUaxMQ7$gЅ&ɔpccQ<PN뼀jRђRkL` h꟮ l@- Y~ۇT[S~xR=a01niAN~~?>8ʠWP#y-YF8tG6t{XƖݵg'\ s/5z#@K=.fvb?RPyDw^`h\a|LRimLX=Z~1qjeM-y>"*!᲋f-0Be'Ρ[q#q_z*yo0eyud´IG(ē쇒)aR&FAD}8ĴCy9Qd{ T%yUsU,H.q&  BC83X'9x:JrX#ѯ48oGWhɛ=9&ɢ.;ZnT^X*?!~'8c K*̫iLs5'4Y kEݡȜ@XIHb7s8%۴ ϸETQ$%/!aVRrgJqo:XY 0,EVQ!/NZ@AyBdQux1$h"}$VRVۑzHn*P՞DF2ǏF[[N!k‚oLa;˳9&`" 5 e_f_ !k!,q{#r⁁IXQ9 ĎmK2FLF_(\^aLxtY]jla} .%,Gz?q>]֐ȿ)ucũo7Hkir_-r3RT6^琐Pѹc7d*;*w"rHP҆E=sOlT]=h-BD6NbFXI!@Ɔ%M1~HQ&rY/ĊuYwsٱvS5r?68%p? BpG#n:3 ;A:Oj` vs0uX߸4GEDdb2;+Y*'M/ړbicbWa(M\L[OQ[] yhxAyqDnkaAkFuOiUx#h-Kظ.΍W^+&&8 %_Wi.'і! h7u1Ty8x l?\f. .J-Y昃_Y uHQ(B<1=?U \#+?8OWh\'1nA;zrj^ &qW(o֖{ԷAq<BKxd`M6Xa3 =}w݉υJ^bU) ,IbVU[Ί y\Rv&;Te {k[𩬭 (ջYi uϢzIHi21d[r(wYJ m0-%jXPĂ}]F! M )EQ$xg>DtE+nMRU'3~@k~~xYy${ kP_*òj+ej~ĈQ5J #bante XL%XocDEߒ=@9, z5z"QZh?a)w*e] %%SCEr<G)%c*R{ Ht7S5OZ6WoR\w&E mާaRkdX9DԹD) Fg]k#;/jŻ{yNVUkve z@TM^cd׼YYD*OD6~V]\IҴzR)6@a! JI)4FɇEu"q[#H0dĢʬ|M5)ڸ.TWeA:u"~x39IVO4}EfOFkƠPqD'ِ Dg@3 \./UInj`K/Eqf-VX BHc%) +d_!"{ #$ii-A]aڮA0D<ːҡ1"3͑h 0 $SDh_}ꊫ|( ƒߝt0¹V(FX+QS9a֞Gzhכ46e u`iNKWE$ȥᦩ)*@{o<1I}*Bo^+⚊cIQ#s`P6pL2ןm`uS&"~Mނ2PV@ @?`?YW<%%)\qYC S%|_GyyE}"0]ZF驜G KD"Q=[pǗ.0qs=z]MaCMz ب޲`O ]-gh%4R1t2 ^#U`s'HW} 8a֥2ao T~ГW.^)$aO8={;A IgOۙjAqUBvsT3c@}' CYb\HJA*Pڝ/$q>\3%=MGmjg YO?.d>uV:tܝyS,>р ̕Hc"ɢ6mh姢4h4AzYXsFΝt'W9T-Dg6Ti6pQf3>MT :O1R/AzA&/AMreLmQ;NNPL,]Te|- 굳# ̤/f1<7d2bWhɐ;[n [2B{aX. oc 9i*:7lz6& [Ʈ#5Ջ:6KS-QKX~BaJص)>H,PF8o0/]@ۈ#bpk ʟ8zv,@Rm;'| Х_UŏQJCf 7NJ]gQF7[k659Ml*?FD8bT f&Zc_8~ω(k y>t!/ԃg?{.] .d 唍)eW] cx" i =3I#/k0)!WS, 2Ĵ#9f3KOh[oetK%lcRM۞Xa bpDjm f3CKm,_^,޳81de{*_=Yį]阓ݙ(69OQm;="I9DP<!J%աwgEc"#C3/tf`FwfD=BeNaTz%/]]%]ا%ŷ`bgqʫ09NMs;4P9c}uwoK~e&6%vmX7jzD+29f;A\|n q-C< AjwTQ~OF QHH`~~I<ݻ ѻ:fZJg%z[& cЬ_Gdb3ÐacmZmK ,r6Qasg4ZBUnR^#*i!z .Z OT®Zp#?dS 9(U6*:jC_9S#vRhHH\q(TǤx_ݣɓ4}J}z4l{!Cn4<&1`|R2Mj (qmAX٥T9J-][$3R1P 9;EE6* :K85H\SXq].3=mC@&&GߋZVY0z `Zc|*+Ҕ>ٖczhF.)Ш;j2I$';o]񤊄4}M2Ok H.י >X $B1>纴z|ˁBp$+ۄZ j4T=`SRNҳ[! ʾB ER/6= Pܰ1J5 ҵ@by{G/ MLXWYwðukǁhe1 B5RlJHIk> xen}a<#Ѯ"qk9mJaR)qX ]/oh{_@PeߔcwC!ZОP32lCbWGtq;,v .h@ȕ|$( '#4oȀ'#5(nѯF=t k{&J(u_G nW9J|+b1s" x^L"22\ݞڠեR l>$(;0V18ljon>iP/1I_oW }Ԙq%~zr)M1\ޓ~ ĥ,Gc'RU_:K4Tmɧ>;IUs|/Cߨ > _n9S_v!ǧ(QA] (TS|JI&Qo%eZn 6B٤GS ;Tm\| JX(AĈҦeO`FfvA}guf:l"57dx@lF&4`O-5an SC(1ǽ2Sf} m˄>nhƞ334uvH49dy]q1qr\&KF_2R љSԂ* o|WnzG(4zEq7wwW^3.ǀQ$[x*9xX0}UD&T߽$ 'V7-t:!96_ CF2o'9`aP?^s8lbTLŇe>KgiճLy~/8 )F*F.I=`v`R!#oE$3wx$K?аh&̓`ztA'H d&"{h5!]^֥.쁞5: 0];EBfY3^?I D3*kmNmvW֙ar)~[YsUF4y(oUc#pݛeYA5[mn1K=s{Kv 98Ka-&sSF^2p %6̄9\C)|{OӬ(6Y6Onv4Tjy`hwj-gh J)6g"m\}@ԻX*Y/*13 Խ8 Ϳt`;tE-ݿRlyphJ')w.`Њƶ8P`뙩-&5B=ǟAV3OE\dŘVWYC}]7uRZi7?|MQoسuOg! KҊ8xat6{o=.fӂX*Bw[ܲ9/AN-w1e3H0sۅ|Aq;⬃;H V̌'c.jX 3 Ӥ PU%ȣx `ƞm;")STRo$YeC.%ZڐH3=/DФϢNl(1%^%]Q&oAe-K锱[Α|'f\t*iAmn+l'G5I%#5e~~`BW;PI^hI0Rlܥ+B&5JZ|$iM?tLraq,,d@:Ierl[lB} @#-I9I"gvr~gTg"x^i=I4pF, p.!ɾIIwo {U-dxYVd> 1%^(tGwW)5>hϴcvsshxf^EwQ;ugѴ!D+=ZY'{L0 T?p9vajg*x5 tѯLvUHm]Jxqہ>ZX&<;!LǻW/C3xEmB[^ޱ1xwĚU4 )A۠Z:V`/ ZTϪ 7V|w=iHʅs֟ :@쳽 CVּ_@ڱ5+hHU5> ]v'|-]8BEcyL1 #S c+T/uG{ԕ+Ԃ>CB 7W6ƅ'3 8IdQx&j"vm+Skako$O+1,2jJ28lder %/l݌w J /uځڦ&OVǵrG9<61P@go^ѩޥ쫹\N I~CŒ5. STyN$ކ#bChg^4bF' DKc*)lWAq Ҿ dC4y^0AmsWC6QKgⵄ,^  23>T `y>y_:,kq]ӕQ4|_5W -Kh":n:p"YvRXjdzV/)11|)47`G6ގ!˳`Le'c,-68;\(h3luCE֊j&*Z㊣n['Bpe.YUjQ&4y<'\#֊r71BPR<0 W,)9S4!wў|,ySt.aw0K(R\g ܢhJcOt %x%[(YٕAX[kձ_ݪc{06~T.ܯL1jh&N9R.B}8 Myj3lͣȓ%+L'!CA?:fL炙dw*SiVv= :y\nt]&louh4Ws1U\Y]!r6ch<@ϒYK'5UftT# *j\):MS z7E YUԯvmg->3ш{?6ޜ%gno(;{fxw-Ng;kP3gwI]P2‘? ˯]@!I;lʨn6n!uxy%"yF3@\j4fZBt>qCއ ɘapA(2 IG9; +8Ql|fq`_ >$3pOJW!N} +,Gtӱs\ø0^m ;4~UN %TRPp]IΦDPxD&;.Wb.WLWexs!͇/ 3K؁@q(P'~n]TI&"rߘQ8Wݎ̧ 22V]=Ws$7_-nҐ=QeD)h{s˳dyPl{00@! VAY>qG_$u^X"N=Jsz}zPQq3",Xİb;b#(,%C|>ZѻWuJeZ\*&Y>DOsv u1 6CPط|lbGޢc-}i:,k~3Ѧ*oBy8{4ַ5 +Ikn1>)ۂ9}u%;WwPq;M&y i\ifH: x%;?+Q 4eȒD)ddu6Eډr1S詔@hESF.(8审|8Z4ە`\3c xl~e@hnRuQnO_N\m#hn;b3򊪳XZi_Uw[fO,YAO m<{R<^M'd$F- [[:>+R&#ǭ?&x7R4Ƴ7Bl&]oA% C w8`bJWK) 6H݃Mn@N_OJ= ޏ}}+[{KsYrx}C0߻4c/(; [#UJSԪM|kN:*imvy<6I?~=eYհۜ(kWțۣHuײ1HjbQrn#sbsqA yP$ 7JNUyWIu0 1l4l Ê)pY;h˨}"Ǜ$҆Ww-dY|x9)k.쭇wJ"g,_Ai8 oo9"UW 78 *%|:ʲ=P5ӷD(wֈIw8 ɕF*'\WK1.Gzs`f-f$m*ܠK_L'sJ$RS4 ܘ2O,}Cڕ._W7)$ZGri!=a*\쉐7b%a_E uCD>߻#ЉRTһlIgE"*cP=N0"YxE֓le\[.uʳk㬪ԪHYF'6!gmv( 䬼dn#5 [ynzӖjXA%* LN:SʃK7D$傓~9$jy]R4X)ȋq|[N[ :;jtY+Vb]_bXk*=>JAno5p6I;U}& +a^TZ%Kh"~|-O0Lt@VB+e7]-^X|"YZMR5\a .a=Z\kroD<}0#!beKV)`,)"ߴ6+g}ϛ|Nw@5ĥ_ rT 8.vY2TQ7M5v!N=߲`Y"&]G.s2%m?"XRڕT`tC/CX hn&jU:yI5/g27Zn&9}nlݥ ylk:ߏ3 W~ ({t[\d]>Phze&GCa3jJa3M8!1}ҫp4sP1I@N4 ~ k|Fa~Le;A'4,-Z$w|<n=U>2o @+w^@5p%ᄈ˛/܆PZކK;f`<܇~J?^>_&C39=%xVNYhA OeذI ]axsW+7&9z3-78mO,\f]kgnya<\.NNua_{U)o17 kRD:<ߜ{șK-GMilTLgEUnnGޙޠė@s^ He+_#ҕb?ǡ:Z`qQY1;:gpeWN(d Qe0cP2 mM;gz:OP^iopӅ?qGf~ז?Sq,{U}yh1](#ri*}"dɩwJ#LςVy9r1;Bƅڂ)zrW$T;7< X:An? >2>" Մ5vz  CM=^Q[\^ |¹2Eo':VrDfH]S ;DvA538%l)DD<`%&m;WAS P$oSX [)zsLmnu_|S|d _S\i#hN0 a[3gEZy*KcFK-u/ϝJ^RJ) xkϧ%ShUcjw:܈ejF9YR>sN 8zp Nom}[δ,\ _Zy0IA?/bC U1m!"q_iIg"?!p(v^ͺpR\U@t0_5(=iDWp܄ xH[esUA :W }zΗIetXԅ3wn0<){Nf2/\<r_Y˶C8yJ~F)Jn)D c胥0c9t]ݺu=e=Qx."95Pg4d [ឋʷ d}6xr &4%fwQ8F ^a\CAc XT4&Pݎ\~*uh(s17̀|B1q[h NȠ0"-"W5ԼvƯ_ف[t:@Y"hxo׬oux&AWo.Y@AycѼ`\V4kueg[ q;.ivzW[:r+Bt\޷jL E+G02@4=:PlYe0$t%$3ƃÚYߝx#M AkbwTIhW@9c7\y Pea  10j=ᄐ&> x8u#cN0%|b% 6_to^PBF~T@a E|Eτ.d9gI:ĩBy>6`cC/n4DAW(J<@ؙ'㎽v%G(1G an(>vB#OMR%#&C7|#9nbh?V jM4&DW_ 7EkרY uz o!PEk $߮]#Hoj+`d{ z"*HtRɝ{HRiN ~B 5KFB'pa&)A6/" `rǒ! -Pmtf">.Z3njSNaBj/i67% Ӵ}?\AZKT1 ߆K<AI~%(cRK3pƛfI**$Œ*p8]4Iŏ܁6OGN^_oU1܎a6k5 ?a/ m,,o1eK97Bs -Q *`2z{=MD๚&d١@\&!bNǝ+ڐr!&QCH2T|wO,ƶA>&^j7?IT5GHƔo>G] Dwp5We{@"5q NwUGochv OȾ}WKP=wg|>3IJȔ#Uv)-nD1`J u_lofxMw` 'u]NI蛟}F#XPVq1_fC+w{B }𾹅^:5~ L~~WiT[l!?eѭHL̓UpBK1j`p4(Kks4a > X Nw>gm MP`K&|2!ߎY.ڼvq~-7N MrZ>xe;;o{'/rIBNu 5#o>5O6Z;7% b@hp-`hӽGq J78d,sPvFEfn]q 蚌-t$-7#JjyhKuxҎ JEF-=l|NT1 O7.[kY F?UͿ7P ƂD=$Lު9 ™Փ9o#WXțDU~:䷌U9% |k 9֞Z&9@4KҀK.Hե7 )BYlw€ԫ}ԈcX\1 NUkR&8]͝ov#2;r)hI_N:8ꑼm6 = F%JL9*w(:3Yv4ul|8ctY|iB̍ Ja8'uq"5 amΜ1V_m`g99旺OpxhmRf)( ҽʟ4XB,)@⎯%tHlXQnjVu6|]Zy-7aK6%Bu@ㅂkwdi| gnIi/KHwr?8F |&[5-]~۸'Ggɕ%7 WScw]'yT2[W wˮBͼFjxt |2Hw*gf҉Blu) t7}_@=*Nf4=]GEn)'Z[1ԥܮF\}S8Ñ9YHrRKŖo0h9`,b2e3(xS~31 1as|椰o=fB?o }qrmue-6VK"4MUXg ]ؚ\E}i)vg81@RH7RA 9ϤCѪWMpUT7 ѤN=60q|F|[(eTt<Z6G@N4{k%/ɻ| 0rb9Y;s14.q$Zb(PODѭOw ( 肵l0uLZ QjcL2xU4:a\mx16luCu-._ }v:QkcZF(1a$͹7y2*^^TҖjG篨΋<Ts7?9g7gYD,]Nx8p[GH(:O>ss0e%]냕`C9¬B o?hPIy;rCLoʨu[5&0y*}Zy`-S^6cԿ IN1ݧ~=Lyp%%_ < uEN2DeKm4;^C%E~½<kК3>3(w\:\-]p$^6+v[,hiAMs+Dk7M%o5Hh>qh.w~ehbg}Q1di"_LדD+xJ^39R|z52K~1X&Wvb-p3"H3¤.&Q!5LRc{Ty?_33F7]=#C-CR\ s>%l#PS!]:eispX}7 `@3~x0 ?>ZZ̽Efrgło B_?鐊*3@^xBzտԹYʰ˵/D|!3dR[ݴ؃K?!Oώ^o#l ~|kt֓ޫGh?]xsY;0ӿ@\rkT8}:_]|An+rދf9UZ d]r8Ho8-x=;b'isd1]+/qЇi ilSvЦ6ܜwZМBMwj jz,F%/^#G#1"=0YQ  _x, {:s@]giwipߍ679M ;xKB\M%OT-={"*mh"l:6fSP)v88dl_eXFhߢfͽ^_{^{ "B (=_7H A`׶ 6Jj܍1{ᥕjpq4o1ʡ6OzV9DC]SfbY2 @ XnRFwcO aeC8P`t-`YP즙7ZLȅܢfetҀ$OmquysEh5 HG&y~)%7,(A kb^E\cb$p2۟x[LXcD:L)>`T &Y 4LOOrn:x=pI)!IPJYrdm6y-*Od-\<0%y:Wx 㿋VQ[ÎoD-dDZXWV5`VL*5 hl T: ` n'xDuA &` k &jk{rP"TEOrCSiW3EvzӦzWR-f2HD\2({# n?'ܷ x68K0±^.:N•:%`/~om x]^kkH:CSQ 8^'$;DeHXa(Hht[$,Y J45%d˩߁J)Y{VNi6 6U[o,p*jzkW.go~S}:Qg_tLI"|jm#91&ujOm3U3`{̊!)#*PWP6|U) Xa5Nu-3F- Dl\0۹TC0"i=oR+ T8 r Zϐ|b2BBRB,vÏ@&؋*nQF7js S`IydޤEwj@}II $@/|?G講q%NsETRIXl9?ﲓ ox?0GHE*FqBUœd_bb DVᔎraB3NY"<̎Ly)hңa>45zZ~nFز53C>1 BQkCcKB315=GŨO sܗXִY GC>dk򈏋5O]"ʍ3TiY z [Om}@ԩ-M"yk[:3R8 5|6 f Ozy"TW;O~Mr4 *ǩŨai3OҤkr^ (A}x(o 7A=G`$d[|QsWmf(%RXB92Y^6W-,%VfM>'=e@Y9[SClsyXGL0EP;0PWPu+*+mF~17#ǘar-rx24E+&8HTSރx5ʹ;.f=S:BFW]A1pIAJḣQuP(Y $Ԛ 3?J~HA䇵۳EKw}!lXQwQ*Gx7`)9k2%h5!KA0|grYR_borߚ+bp5@PuzO7jh"",{R޹.~=kٻ>]\;'* `5` iI%Y?eF3H hB6nꋌ?犎}E:2Gm[[V$jตjbJWqZ)jE{=/1q3rDũ3 GK Hsi.CXL'JN*GWX'w+{WCEnٔ]#;k I Oh Em)GF񽁟;8mApB\o"![g%>~֡vm dܖ Af5?;g?û 8 {b7꥚(ܨ?(MH 錙Vb^{K:,)ciKK'aX(|)4OInEЇhv`W53Q0Z1 b~j ;>}Aqq)CJYq;^+4!nl䥜idAڅ>G戕it;9X~t[$xq]0(s`/ۊ ]]% 7ŚZm\(~_owV|xŸVz\]}Y(V(6,G~29t˜rel~Pذ6XLK,"ESRT~C@{2s{K9/#M(^+bnwHamJXQ6C䣒QR68>en'.N~|~։t8>'Snkhs-Ʒ W$E-+_1([AǕc9 $x] m~~*Ȧ[k/7NY卓f誒 ca q*`jDq!-CnXˁKp,.ױZQOb]90+==÷N'j]ի>!(sE ~ɣ ENG/gCaЩ6h^?<>PYxtޙJ+¸\b2{4]} rRJaⓂRKy{?vɰgclYݖ`3LŽMu˼SY2 #^=:u8&yeś/S|0]ӗ69ƨV(i'pېfӨ3@S9ƴx3;iK I0N8ɴwP֝5€ CIOۦY bVBZiGE9ڗ>BUȣ`vυjWjv wYfLںFTxש(w|iS 춫`KN1kmYK5,30r\@`m!b8aZ wzByXzEt-_nę&Ff[}vF+Fio^UO{Gɜ^~u~(Xeҟ:F݆\ΩT5:zvKmsz;%Bi9tR!(0qg2d`48$@Bz_X~i=;&M^bLldR+mIoTs~~ވr9XC܆!GAxd^7IeF۸(F0ۆG?IJl.h@1[}a93عB%n3Ӿgo.V5_`VFZ/bQ\g{ wmU7;ǐ AlLrbAN3ȅ̠ '9,ڕLP~Y{A<&eYMQ]٤D *ݯKIv/,>Ugԁ;\YR=ޏ莸KBV6LpU ̆rÑNcr)aÕ?;3E?<GR߶ztB͢3 0 _N o5x9MQ?$^V$\h,S}2 %KF}.2ɥcg }0?&lbg1^l܀kkLm}@ R*6jfo{%|,csU6D#=iʜ1ҊDl!_@!`DV"Ŕm%ڒhD.O f3u$z,= - LՎ7M?&R;^(<%6k 7/ q9 y-xIZX5u* hbtyiFA~ǹƞ. 4z;3moKjE' 7l߱[\4<\y.VWbd pc4fr6 l/jeZQ6ѱpuCx!}YҠ>av>+^oUxRgi9VWnV*gz~1jT[Hs˹Y9Zn)GcK_IVrvorEj.<p[+wKoy2Nw4vkY"м:U6Sx.Ӥxm X8Dye&ǜV@WJ`l@QOZX/d\GbD[Q>YsV jk$ރ~j<iNq1櫄WY ȨloOՁХcB;{SI!Y7j༝9eLJbK4ޅ˗$]ҎKB ?zv0g #r }]ى$T@d?8⊂Γ9mQ KIt|QOC @*Bw7-$Ֆ,NaɒտnUī=6k| ]ȡVu5y,\|z(q#c8zgtXH :_ɍgJ6MeZUSkRaՎaLDT4uZ^4 fRP"Q5f/-.2nxT2shZ:vAok\y(Be[n\,ZaEHw+8>~Q&*Imr|7 A)=QsTgn"a9[an #xJ}xrGx .#F/z]&8 _uo`7:?z W.{Kk,* D_\5uc|2I$̈ͽPJk^^X_$uFoܨhxYceU*aYAf*Ӻ[TWq?_vtE,X S 2>a")dR~+&_ɍ6ۍ5LA=}A;$$txhc:z"@3iY};aᖂ*LmS Kr[:OHNtVhVJm.ϫM ;Ύ)84wV4D)>Q#jeΑ:.2vjnťJxU[ P⊯& dn>TN3g.[lAuVD2&tnxpm@$~4nn@nD_</$\fd#Wx<}!沬G(`m=\ma{?oͻ/Al*E>Z* lᔟ#TYmwa㋁9vO)Π'H j`f! mK7 VEǀ@ÊxD2HßSL{]Z<;O#onvՉVz6o%23L԰3d 2u@n.KdX2󁕧h "sBDz:0 r0W*O T/^)j;fwȇ+pu VƋnt;L* Eqwg` v0 HV. ы!t;oODu55v-Rա<pK%0[P snY=s-Ȅ_ ]H,aꂁޗo.zu`rȨd82> _cƴseGVgf Dtj[C,Xv~s;k66f 0?Q *6`Ǯ+΋ڋ= L5nA`gl&)oMӱa&V^ ay'1 ||QmT~yTHAEAzmh FѶ1EQFg' vȪ)Gѥt%j}QA_ *U*D4AO;+:[l:^e~0wVAKWٲt^J?ztf9L%90d;MX _WҰV^wWm45_kX:C n^Pq(ˀEA) }ƚ({a ,=sZ~<U瑦2`sѸ}voL9Z!*Sq ~ArInC- v1B;J3G6#9 m*==c"TD>57;OUkS5_rom{Rss2g0=JM)|AV̇ \{`i?#(fIS)9&LO|XxF@!b#"ۣ)Z; C3ő(O*ŋ1ڥ6:(l 5-zxI5'=[  $>bw':p ~3Qŭċ~eOoR tyo1ե߭Cpm]d+ƝvI֎Y7~Bl{]zsZ=j`[{iVcnʤګX".ELJeO`9ðI- Oa0{EƗv%cZKJ(x{q.YuTGa)ڛ]פLUG員"K̺KzBُUn19tD5g-|~)Վھp$WYjhZ%>8o ^Jފ 8N0 _Tw\:!m?<o4\nv~b_{$+0S1.․2σT'2?9 G . LdY{`k& N zw?ps*Rw5 NuΰCF|@K zb}FM0Y9o+vIM$%T݁X2,=3ѿS/X|hO|8Y*gy.oB%]u%S$R:+m_lɊ֡l? 0Z9 9Dž]g@55.|]+9.i-zg}_=sʙH]klQ/(^M6a} fy·8@ )݆R905N-MqJ W2 P=Kڅ*窅7$6Yb ՍP`;!R xX`:<|+薢C "Ϸ8eHe=95s@Iכz{n%ag-_7KFȨwђ+Z6%SO@Vd hvE;yHQf *@ad~P5)W(>" [P7h b2AY \tjyyUdȈM\@q{Ў m=[>?eĐ9%b,}}a0Te[qީjxk`DNߋi4pGZ>x@xq؎{YOȥPk0O8t`[gzI-fENDVW* JBl]'@E3fW$ϳ5WR:?T;d;(|H6-/P2O,6a3(T(6m#'Y1[V; ⲂPDZCp(}C qu~_nڷz/ ʡyė*緵74{..Ktҍ}j 4X2WOF&an-=7*,M(v)e(B_ 2K<ݼ1d&Mn89_<ĮW$uR6uÄ3}空Ʉt|UxZAd c0x%=/BKT8;lBT3T(CG<$AA6Ê/kOm- F9XUxwZw ?w(3*FPQ&nDܚD z4}h)ƮpWf1:2{+qt`: @ /yZ&`\SۭNHXDW1- xmL#y6nJؤUw U1T}0CdgLWwRy%w0cB)|iQigwݿ˶iTob"mFLɺe#OKeѻ/p),Pk2ć`O0uIeQ&UzZ">?$QJWpvJnO$2oxLLח 4i~YQ/R~-1aj sJI Ѽjsd>Atq,\[z-HO*Y 뵬?Ƙ3tcCb1ʭăsb(BNpg}Qq/&솾Ցb ^SXkopWnNy!m [*ܻm7N0{5p}~X $tg׳+paH+zyb7403[1iHnԚ/n^w׸@vs B9<@v:ON]Y@~s#v]ۥ=dpP]-|Ꮶ*X/I]SXJrͰHn mpGc{-vD 2"{5ٓ:?YI]byD*t8d@ra…dv}).j&PK z8 NZ)]j݈ÿwo5Ƕ BWzM0KY}A%j@X":`r mddG艷L-ݎx|i8M5귻T&A0 z_1-Ճms ;ElF2o(+'pS5XS*:TPGCNȕ\]!XLhjGHB-ԉOv,3ölC`f9[O? hAWCKpoՁT ߧ&5"S jIgZbȚ].Rf?KGcUZXMP9N\ M Vƿjie%r'"Ix@g wŐ+hAٜ-5HVϨKZ7e JHtA*ҷjzy[q ;|iH)E  ɞ0yɕ?y7ҁ Ѿ3 (ȅDK>.2~Pz7p,"%cr)!r9l[1,NPD 5%Xw#_ԏGյ5Ol2Yzk4'Ge\Ν~-tUFe.d:^9{@dW]b8VkR kL?rbRF WȘJXwέ>!oe׊ՏUW+{p̚Ho ym4X[#r`7r/^]hYv~"*aMW2|TX3XJ,XÛn_vPFQHIGgw) C-[VDH2wmDH[N4/[Gׅ0y_6B/7'SFBI۬}$~?͢bF.XPbW22[Vhtڞ̡ECe^ս$E.fIc1֓Rl3d1pum ^G6Tu1{+$saHGw0Ͼ>ɿN48/KvVrTycmZqHl<N2>/36rK`1e_cu2P 4$F,Egr6WR)y?Z 4ꇑZ,TFEIVׄ]!0͊RݴznKזi,#BֿA/nXK56l=,#jR|x@cr-(/C PVĜU(y8i,A]'^KA v2YBLlSy?t"$Ir*QނKj馉)Y&w\ש"(q`nI YZ{;&w>9Y4%]`}vSn33%I)gGԘK!w 7UM\1p|wg}p & S=]nRZliH:H+UWvPͥ'Ic;r37;1M4I:Ko5ZI^hcuiAXF!>ФB#d;p{#94m!Ϳ u X$0oI,zcYy\JpX>_),+rwzR@΄I82ў#;Qo,טs⎰樴VB@Z$"wsh6l2ת$FGڶBJ\mU.H^\ԁuX+aI{MMf|Ӫ}0+EoQ >=M29+_{;? TIoSo۫-p q#SYh%^ c{kEh6 YG}P~[( nX Ѹ@y5QZ\^I$W%&ۮLp1TdxLZilSHGXZ"PB*RJF)/\ $*]{؏āk8D#[mwHV .,⍪c 'gR~DyW֫gӆNWcfAk=fGBdgM:`'H}fAҨ֊DOև{ኋ?o_1|\J4U& 9?/i`(W ̙5ēQ U⹑lۘeyPÎvm uFbA#3Bu(\,eO4QAϺ;j_vtO#)ui+r/62!(,o} 3spB@ʏKMT/ 'v뿁adbuǥ̺Q~mLK՟r{%/ ^'s*4=L7_.adbCE&LɃHzbO)[mYկX ;PB6_zRz`7&F+vL=CoW^pcOw a\F9Cod_i?)w4OB$!IEYa5nHLz^}v\LF=kkKz)pv,6??{-F1þv<]Q2YQ7;u$-{M mQ!?~wkt@= <yč_Jp6Zi4?T[i-ʹ@y F7Gm9ڏ̖QlƵ5')kCB}x,*%"x¾U-k7 ;[G"ZD˶_+|GcPހ*o)aîY# 6xCa81 y3R\vy{ƈ7ƼK0 l?,$􀀲" Q9_=9Bƾ{c^T~ڐ$la >rcf֩O78|H[̸N/hM,7h7y uwV_P"J0/=,2`gY80J(#]syxH<`7UX+.``+'Ca FW&~7J@@S4Is&+k5C~7}{xфP!r&Z:|rrfM~b|, aφƐJRREjX%N8⚛jx]ul7=~CǾ?-KȷN5f5,aapóT+J|{~GA>=~Lq1X&. C1'IcVNA+mzh,W:r(Űc ]s+!%w*? w*P~/ɓvhQ](deP8bM-={& y~I7̹&VT4g՜snO3竦ƝVd._АIJm//4Id9OissoL;0ONFY~p;Z:04o~$n,?O!9:y:7BMݎ53(L\EL cl* 7 \ $& 3c̽>`=.o~nLsKn'`cdo 2~slEӸ;Dbꖆ >[Jk-B]!l*Y]dޖ,Yŀ᳾ٞ1cn[  'U;]<0fBQiMy~H=璡;R/VmÂGNfs(ER-6iqm;9–q.ٱN;%+en|ϙ^0xA:lk\C@ Q+Rg?Sa͘D,2"׎r.JE t~wPsVӝΧWK=O'˿K].W?Z"ս=BJH.54OtϽv:1ZDnfQ8ґ)$->_Upv-tu)w@0 ?fD["1&z7ܡoL=+$`t_nNm"B=8{H7uW=k;LVa uӕ4}'=ݒknu\V:2IYW_y2 YMr(ۆS,%%t#߁E@{Ѭv ҩYxc8Vz?^Y;cXK174~'5 i+Ppp^2=#LYd7V"@1y]@nJ.g9Xbvu2}s|N3TKE-Ȕ8r)uֆe bcB;K} \sÂUEAǻõ]1=@Xr:V|cjڒkm=*; o4N@Mo=R4h<]`+%ym#:h-81+tvS4U˘rzAmb)@mC6m HdA%Vl 9c3 +OCn pR"@k+J, 1H\FWrּ0y,aO=ɽDV[4#V$:1Lg=W(<(^WY[N?5D0KSpjD4;!]2K>,2e\fXt1ve2~N/TS`! "hOW4-#0U#Pn|X}Zp?[r1ͬ_`=GJnk-Hn]L>oER:$EMw8 HWӸ`2 }TXWP9F~-J!E߃R5Ϧ F*,dFW*$sCja6wC˂ۭFTkCnzzQLRs߃0M]c#+OF$4ZZٓPPpjyڪW\E[`ڿR'2MbAJnM4BA¼hAmDcT ֎HieGdRy[YbP#_ AՅOm* a1LFR&'>fSwb"_[ x&;R1%R|4OAƒ Z"V#~a}4ptJF aMQl:K,J˗0,'bo'`.;3LIdZTO ~-`O˵Ƃ0ïK-4h$嶞$v[Ҋ+澖bh. #V VgD&Ʈ6AR;HݨDEew6|~\=}Ņ bڊM|<17&$q\;iiiY 1H8ZEK,P7g:A/nFMvm9A0QyC2?\/1iB4%cT]Lwm~ >)[RٜGR@{wg}Q֪9&'ꌔϝ!"j+E }r#]Z.1^Jޜ3Xu"WL[^$B* mt"f+Qqb'gy8_I4SJHM\N|уAvqO* @b†5{ HOvYnš7]?@%n]m/|v|LBuy͘Tų V];NryEU^fRh9g_(C{bh\*(M+um'mKA:xs٩O9i#k)cė:e (l^SC\+(cIV,A|zf9yN噟[tg;`..ND*'a$?5R/˚0 S <;8+_A{V$k|:Ɉ9aW "=֕wOhB%8 OɄ"B9#8@m Ⲥ;^W G%=?䦮8*[.&Urפ{\LEYN=gb_҂^OY>(gy/A`}mŝ48eޯ>-E zPG7Rt ek'&Zۙh\D:2.U]h1XCR KTny*3 ώ.yP8#peH HSUXAgݰJ-)tBG,4ޯyFO[kgXה gi#p!^yDC&-a%Mi~'Yvg.(]n9d.:qZOp1ڴGQx$/V\QO_Sڢ7 <3gd Iٖ|)1wo;h ػi> f%jH5ӆ:^nvSKG@-DŝG/3izW Gðpϑ®~= B_coW(T+U FD\աfف v{' a5{eXR-h׳X?vyIOi+B)z0Ď09 j8cbnqo݇Nv_\2n3čdpyЬB}{IEȝ 4m |sJo2G:VQ?^,pDC͸ wV(6c1+=+q9?iL8b4,&j FAs4$w0.GI;rԸSh> Dl/2 0L&@tA}@YtbDx#N<0#{F G+ۍ_ f:pN}X˩ oqd7iĒ߽Xie5q$#Ӝ` wE`+O5 Ez&</[˳ RI9srxn/1!7Iۋ03lE~\LZ5L72b"Y|Tnյ8lz|"4M%Ƕlby!N grvG,xG Ӟlb7ϣ_!۞n ;o(un~Nqׯ ,6]s RK#4p%{3]:MDos],5)B*(9aiY*52wՎN j!p60F8UWT+nw:VWJ=oQ% Xve=,ƈL"GRW.%5=r np `tre%#_hhϷfy+sם3' Hf1X()K}U+,V^*; ai'ΔBtR'|XPx|`G\/VܘZ͔gb (KpLxGY+YICEיs쏈1P]|MkܭGV '2BhZt^5F㳉?3Hݵ0[(`]?pQWdGxaX6C)w(~edᬨZY53qWa'ACI5ב%ZUM|O=]Z,t1;aV|jNm>*ozN[Pd'ϔ(&ːyį;gvXG40ǭ;ĄG3KDwכx:JUOW== sqP94)}u !4$ m\0V-AjR$\0]bMʴ\mnˣzJ <132bVyʂ D)}-"iUqx\E4U3MVV{oԏ!@.F{沋;sS1u*rN A̯ 7 e4U̢+' a"]hXM]ڢϿC ݋v=Z <]6;P2yuF?S_x2M^lńS\1M)z'lƇwk Xo{NLSۅ MͫhT. MζB;#@Q;[O`R" Jwq]9iw%9Qy<\1oF)OTN=H\vhC#6fdf20^Ii{gݖA<¹uJ!(~:1yjhbLQ5·6tAC3NLe ?%ʴ9j v Z BOf?:U-饦[gcp vp<+ivh39͚q>0Dϣd_9͒ EœQ~9=:ؖ&H**FGi@y5( ݿl<7LW"<>u!s ^W3> ^AbTnR=R<|^s::QbW $#Ĕz>^nW[R[p"e8\Yk?ϕ+TvIM(CIYٯ= b837Me$1 ~e|K5xiw( "ڕ#1BȤ|Pz-vW9el}?hT=g?j1PőuTX `>Y=U=k#~ItRh~;K;3Ә~ХFǩAxw Rb4m b5Ȍ1o4$Ai󉤡^˅rA!zk[;f^ 1@-~0t8]7'*^I9); 6_"9NFe'8 3Gm-цْ{v/9k8RjnJx& R:z6{"2.?R,a V'*c*ren261Zy}A D=?k쯷*^YDl/0c+H!^ң: l(.RTRsݪ`| N1Usjɏ ?pີ4LZ鞀/*q]Bȹ-9%u&F'(]iEhvzG>&+UU]*;F&xc J^xe{b JDzk7p/7yr TlgE֤` $yU&:Hʾw񎗙%`Et }X!cfc-w:h:7KrrbAxlۅ:&__.nڣ6m' 4~RzsTO)yWIй!neؒf -AZ'}0qCm)f>O-ߦ!zP6a,F5O}^zT:sv _~,ehR`^9+d@wfۍইY]%r:q n S,s!$6/:܊Ua\ƛuR͔ϧ#< ǏpV:W]" nB\_rEF){ 324`gf2[ˆ~Fm.)D*[B.I|+迴Z$Ќ1iA3@>01J<>Lqb:&kl &2]siJwq4-ndgZ?%p^'Io;_Ƙ\:x氦M`UŰӰʗ;XCMS@bDQh-[UTG( PG.:I<+rDRw"!I>b-7cC(7^S>Lўҳ̆ܟI򍦦\.L?5YU\}܀n~(r沵F%3*OZ̛4&]XsehI^*`W!xfȬDν5 e~keղo4rc||Vڟ& ];.)步 gD ^Lvz{1n7 mk|ur^cL=1PǭvΊīB5JTjp.RpD7:ڽYu ("K'7q mh{Ȫi=k IыIj$&Z!ҍs T"vfUZO[h(Čp8*e |!Q=k@U3D?Gp#L|Rla 5Zw \ e{ ",\;GDbሸ#ͻtAxv[(6.1h jWvN*`E"/:2L)L$VsC'|ԤZ ~"p)ZFN[5謹IȒoEl۝7=ZY4Ȕi.GP-GJf5 2G g^y^4q#+_OO)fVwЩˏz偁XXf{UPWțH;D|l{2V]Lރ؜A;? !FV.ux4# !z-玜0[PK!gd턹ynMC[Uym5uc%IEܭ1,_: IU7D#.|2dUv X碑 F<"O1_4i7b1S@[Dð=8̩`µ6bu kte=pK;\_m ̕ OǞ;hU֏GvC4h=,5_'HOLC:$/>9ST ԀLÀv?B\9ĝh6VHmb\]GvpU5>+h{}1@\K7 jvH'?Z= . rU Qzy X UB̙ȀVu5v DZF,>?h:}Nې{DzvaH^Ta_! 96Òfm.p,j4*^''x.I `}4GFqlG$){:/R"#%qQ(IR:uNfaPw,S6s2H hc 3OxR/M)جyzDWt9aL}vPׯ]@۹#v6au ;㟃^PBySX?}yoxc"sC:S5ĽfL#GR$<{=ɂΙ)R!׋u$H3BucܗoLBJ85OR1.])cpAboybu:9P%ջ9/hM߁gtmY{Z56R+.0z? AZ}!0yQ+o8M-Mlٙ]d@ʌ(,Njh Uи;MOy6*Y|Vן/4Y4 KE*cX}}zq^/etQm9Kn7U ۯ%ƿ<:<[C uv|cݝ4GTf(+;%&gt?8:r$ެ9!$>#z(gnc}oQ,#h7Riu q^<55'{ԋ!H]>*P3$G]bzLa9 Kֽ|/6I`,z?4.u=vu9L._ٸ;lgoou YD /;s-P8/!c0Rh6kȺP/F h iLQh ҷ/91~Axi\M9/ !K%w-W Dȫ-pcS7.BP(x㊊[aN( MSCi 嘊f'4v6b}e=Yxr8 {WM0W1&l"fFw63[/\.HrpYEjnˑGƲe!WU&P`8N*rN>d9wk-wDETְ苒Iگr=Kz!ekqg,v4>6K4Ήר Q0AJQ[fYqKzHXwLXrf!K;*q1u1&砍wLrI Nbٗj"bPttvG1PVH%?SZ ] ̆O?bM8 (t׬sxs ps[DJw./fpϷ݀BqdU/o%":.,νC􎪊LDSa޾Ф6gA,oUd6܈%$Uc\ y(~E$[o7=w A ܾ31K: _ c [4,x)NlA[ђeVВ1D)z+&|uڵcƥ"FfuB|T,Ŗ,Y- C?vu: B8/G8(>~bM~D 6ˍD톿gKgw{iH\ 9ǁ0Y)Rq$fa^E跤yoO#p;j&iJDFܗ̔Z(sB=ܒ6ޙ-+.IQ!Gכ컸mrW_}z<fn-5 껽H7IbPiGMxgucxtA1dM|\|=,'r]e"P$?HL BdyL 4$tG'¾VS_D *>ƕi[ 84P=KvsoÖNڶ[ #+XbzE <6\sxzh5kBmk/Yq^sܪ:~`}NGH4Qm \&v11MJd+T8J~z'fj=(g>ʳK+~Axy CT*.Je}j ^2>cex>TsI&F5zJ y?)B}KRt|ߙQHlG! ]f7$R#)$R _do,ҍ7hEe4QTG,(1n>; 4;skeF[yk[ُ=䬐. !xpcԟ}SU!;"~dKY;FjA]GeڶRl\q<"$º 8tDAzu62UqOj(6Fa`Ϻ>]bXpevY\[>K$" YpNeAD4`&P]|0 ǩ[Ju[!%wfW_ _"B;l^(J InR7y|ZЉ{ZOgA% &lvX:"_d_R%i8)5ᦈ@ۂa#xݾxܰ_16%+p"~Ƭ}y-UkriTKdpDUe|m(&e?/3$!Ȉ pΰbRrĮ 헾Sbm!`QBG |LjrȥE%%k $J Z2:hyz77ȃ ƒO:`Huv]MP?MOgm16DWohȫµP,M9rxA~Ƭf/lENj[+4!Q]-W[NVa$MS~?$=\4 Ed2 @(@ c: VYgfDhͅ^b8 `ϨFCG-׍ yڈzrcQb3SƴOyڄ) %&r]ZqZJ˫"R-PMWݞU(C1 S^7"R1[W"MHg i3Z2(xV8sz󆌪ArPFsſF0@:s5K^Q>7Uޗ1e[p76<,+gp1~Aӫ"D ]vݙ rnIfs8ɭe% a)W82lC&yvLw+Vݼ7,m="89(% ښYEje|Xk] q)e1wi6䢔a q=T.E2gYu u\C%;X}󴺇Cߐ!90r0#e@ӕ3>Y\H)ԏ!i@"e9ߘoH?a(ĮhဟIRT5.,=b r {yGzlur=e.4 4P A%%N2Vl0^%w6q}UO,x'L &H%?B^cʮ'd3E7F55,KP[WL6ϊ y|w .#ӜQ ICO68SMwRMEk\PLC ?Gw;P`܈6̃T]Bb tܷصE,ʋM½WӁ-7q!yznp-Hr/FXCYě H?P~fp‹\J$<-(EJ=}v?K` 9ZvOieXbm%BA|?:kヅ2t+[tUwօ- F~6j0S9N].qFI6=Bp{i7j:%',n톯%liָ3H7]p6eWgpE ۇ*GZ{I+S 0 tmnD omDؒp5h@JPFE2SjnM zA o=b|NJl+0|ʜXȾopoZIQ=/ uOl'sʐEbVUU%w0Үb\u!u1"—L9 pqN631๡a#`jk̓d%lD;*OMj*rmWXMb1~c龃Q hvʘRED x\%~zo۰~%Y!ԙqCY\\Uz3OUE`N2q%ŧXf7"OYـtK'\ &LPMÚN{2u ø D#NnѰuKV{ѫNacK)H`~ RL%, y2Éуww0nMwфw>΄ݽ^kwNr7|R ~x+} *tLW?y* ɣ{;MG8+{4\U~e*R6h_ ,`XU\F9v|p٩%^n!X#,#r nPu\C˛~|4h2 b&( 6HNג>JJgpEuN@RKUJui瞛s~|ZW0K8g+ 4E82и@.Qá)p=m/y!V_ʣ7/xqSv)s߷b^imN/A Wڎx(@ ;?8K~Qc,V.D[]̷CPs#u%KH_eV)Ύ<~:LjS찬 ԰PЖ^b_clpacZhnN9@ fgÃ|T~soB1ͭKO~e9V͈G]W#ҚPX\`1zL@, Wߏu{>E68-i@/=)5^پvkV`lڿWCs ԋW';a ,VY)N>e {˜uPrId7;j성J+2ca-uaȫԽӭ,C=c8s1AXHEI=sc~d#!+W"hw ʐt_*ߐ¯JAⴔ> (틒7Q "hIt,nY2qy)HI"G<)ިAL~PiGBAq Yh!WYVJxC H죬jP}as+@AQXL;+t& kLBa @C ""j_|F2f7k 鐡%^xP>.[1N%B S\% y{Ck.l~EZ X|M6f?- ff'Wu0&U5HIy~b,uuc=$;$ m7A<M&^52#˅i(0ZeV;Yjauy ! [Z1!#y$!!ȚsƋ3$>0 gnr3tx[O*`WZ>,`'ֲ~3-8צQa f~!oȤ[Aբct FEvrt9O썳P\۱X ?`a#Gozd7D$O\ :=(I}a>[uTޒt`fKyD>|T 6bS}tƎ1+5#cEw!f]`Wjsؔ,5nwzD9`3")l@s =$^C IST26.v j>i(^je&q#_UA3>@C޹4taKq ?ϒltT1X&}QҤ1xpbQb5Ba-f1ꌧ0Fpdk䭞6p+/5Zoxgb{ ,-00!Fȹ:t$vv4H̾˚' u!7y*b9=?7gvgymcԈR.٤=mS;yK`%h$2Gx,ލ9]XhEG*!b :@'SYforй{t~v\](+*h|7l>fvt'^|}ZL7սj7([U$&Wo4S#KȺ~KߙXBV]cH&Ei vej<3Ã_H_O2wn<fK#WԣkWJs\w咴h[SjWNt{k.ԧۧ\۳Lߑx0P]!G Yҟ>o㉡.—w{y6-w7 ut}9%M/ԪP1~B ~Fj*602ջ18Ȇl {;z ec ~PMĶ7,KDv&WʫF佅8j@<{`7!T92t'Pٚh[U넲cEf_|guu2Ɇ YIaԋ61R6UcMYƼ["rxm=8( oJtBu*uą _vܭ$RiyЩ맫ѫۄ]:L^%hU؈7l>[Al0ץZ6Rc\?!rʥFP4֯Ёʥ/#VxH|iYZlBni])Ã2t~q^!M:$İzVWItsutD\ yau92[^Yj@wXXc$ObV~C_߂FJ&z8/=Y9aQ?86'PڱrdՈNuPTN'}_̖gCoG fdmm'i&sl,U: k5~; WojMLԡH=>?BWis^4`+&٦uCaadvAf+1Ҏ*Iir8AB ݃ua(OJ]>V1ITZkE\ 0~蚰Z2RҌul;"w$ Jd]ON\4^7x|jᝃ(A9Zҝ*]t f.ZK?V|রD hy5dN^ R2X;lN>j3)B3=-?9M/{11lTOgV%ʘj{/ɰcZ[%g\7.^l ]5|dQGVjLbO ė?Yi#OV1b[ϧ4KWGY9ڀl-0tT)p,R/>&03@w^!:a߹tXB7|d0VIAUe`㬐0E\Y*]}w4SċE^fKLI!/NVCb0?ANZ#H̻))[E8Xb hT U&OQ.a0J]Y'ř`^[Mzt}tٯZ/!9c ʼWg0TׄImysX-& )*,~5]OΒއkB- ;O4G0tibǶT^Gԯ;qzH'[1ncBvQНӜV6c5dGЁ\#"E0&{MN[8? iivz4+fVv;z)e'& Đ/R?9qmeHYdIĜ(HO^p"xőpPLz:Jbn F֊4^ nNa6YI U%'ʾ.pҎyuTkMNrc&T~7z3 %!I=b*%٘bg$5R6.t6c;Z`kLˀڞE8~bUH#,`  $T5ik?)F$~ KDОCECwXK% Qv %.z5dT=m2C9[h%gpiUP&1?nȷ3'3[8'Vl*Tnj`u3>Gt,SV-NHxT{ΒBQTlz!UTJ Ȓ~x`va2ikOΒ%?cp1Dg~ڥ_ Ձ lbA~\R0Ye`/i>%Ef8kb qHBp}c*CaMݒU' R/ ;D 1'2 !Hro'B(|i5 vxR=;nRxlw}ҍkVYY1s$ }*n>vQF+@Ҧ:YȁV#b,)~($VA 4 Iﲿ#fmD}WfaK0kذۡ5Cj"lOm9oe;W84f qEΪ!)b㢘Vjű,Ōt!@ЋxYD+@,7f.(AR4OyvOHw5[Ȓz;҈Il@ȁz ʨem̘i6-{m%F +0ZZ}l2k~hKB"ǑNgiqIxP[Q/mZ>d䦛hC۟}Ī[/RtTw|+"qȞ%a4<6+_>7_ m"Mf+/hS3"Qq.Rfg9]fvV#@' `+Ljv7424{9TOE/-7tr~ok[ 6[-ezj G>O.B& q,(19o7 GjD(^{ґWW-EVFTcܕI6hS2Fk*)o<?X%ţf@[ܞeYہC[Ѵ2&r~Bz %Znwyeybsd}@ZI`$q_\ J5m&މdnz3 .nK?RE7ȧlylCUM .}_/#,mc Nr!sPq%&mRå3&P``|)Bd;~>dttZ)jx}dd$:vGO 0̣P5pf=utL7`w,o©{+;$|rV`b8.hШ,W_}}sWOtb|a}ھ}=6< b⤬dOг+/푏S~n.7^UCӦ:ѷDwGݱڨq9 =M=F 7Ԝ-w8vb_&:ڕIgQYLV`"=xiF%:iRCJfe)pV,U d#2V*HY¯fr)ά_7-Vq78kk=ZM(%*%Ȯd$a G3+PȃT3z:3[0ZwΆX}bf*YR\^gr3K"ĵ_jN}F7o6o1a>^Fu9V7YFS 3j+-aώfD$G 4bv)[F`vӭrYsl\YS}au1ȚEPruOl&:J!yhMe5Y=n\cX9MdP~?ݒw{`KpVH[Lr]Pݜ{S'2;թo𯺶'\oR~d*d.2>z"5^a"`ەx/FX'`ndСc&>p%ݭ6+wņ-iB QN`t 3N A ghb7gT0wFM'J]]r]™ d5T V[搄P+<{S 0Ɲ`'.2L?43wr$"m>vFYYes9 ~or]iMZ@Am󍾴؉DWcWW(x7+JVC/ Z6 ꯗX ͇UW41d[3C$#es|d .6Xү~wE'(2 ="^0 ѢP󄜴w~3MBqƢ 3?[xbDe24eaπ- @#z5qjB1pD< ,=lCB&S`Bas;Fr:ӕ%:yHF׮ mPP<|`Ԑ~@Nd+'T{]FCWʿ쩼 Ofx(TDy 5{"&O SQ;֙$tI{-Kdp+QUzE8-HCt~#r̛ bEap>,+؟2Ē |DKjB_rAےF-fRЖmi7< p 7_bU8(sfJf|te?.w`EdwaŌH3}'μ2^IEFTЕUG( ?m5@*'pxMlڿgG?{uhVZ99v D.B-+[GE%.7TV1z;_5pK=ɝ>4 d#OYȬ5K;"k[$yqqgA]z}]mrhjʜhh#%>F0zWt[( Q,'[P~i~vEO Q:E>hz@ <6gO d29 gsdv'Ln*Q~ dFaF۴.x?xyaZ!2^^]ק0Α}M $D!f@e-F R6A%=]Rac-O#"43Hx+ N|QLN1o'c}%Bi~D"im 8k8 ]-̦{x)r+gOBjD$ :^\ HvG<uz= MD\Z ~') +_E)04"%BفLǣd`\f.iWɂ_ѷ7pL&6Lcݺ6}h"lb蘽G _@gf?ܢ4dk?Mey'`^ ccp#M@m$.ݞ❋-!従ע>T\K?Z f5+XKzJMX/x|ytP-ЄPn=&Zd"v3`r7Ζ#\3n{շaqڸ/ÀaBŜU|E@ޘq-J+Z?A'A&cz9s Р ]-`>pѱ٩O {jV1K˲hX-/b< 4zW`4[z̛9;[M YNz 3렛l;i:)1Hk^6 ޘe%T)0p3Q^ob[aNB#pw'gjegyYkiDE(Bцtɨ-zVs'jb-^ae:"l{ "0%p d ly6o:SŘ#Qi 0pV#] $Yce:`7e. Z~=e\v{g=ÖvVЍ+%">_ #O?9YEO[lr_<ޜrC Hm[9E2= o<ţWiw-CGt(=MuRڏ-d1C>{;>_; @lu;%*csB`$ %]\*Hdi@M$|j*}vd?Ȉ@ [ goLjqLWa3u" tJr%T= (X]!F7/*oǂ4*Jn LN˖v-O”XyiYGFwIn3Pf]>ߍj2SUłWw1 iJZW v3P`ͼ7ٞR"nfAd̼B~K˃#*r3{1> \p) "qC\MWmګ6̟LԲ;.;4?/zpw23=Z|V3ߔߦm#PH\"_冷t:÷&gJd5Cw1XkN'_|p@> Z 6ʓ_EWaEQ!"Q1%hN&BynXiZ㫦N"97Z=Vwϳju_I=?KKe-[Vݪm>jb`I7 09mH *wh17bY 9(A>YU'X4HzZN䂼Z6 ai xG+~У8 ,#GL[ 4Fm5VaGjMmS=n>INglб1X61_12$3YuS~0y1D%z]uv _C lJ3:c}BSn!!my4(U_-TM`{{]tȔ錌lsu[:NyocxN%vT|/4x!ϠdZS!ZxɐO߱5 b/8(v=͆{؎ =o3bX/>R@=m5q\fgxBן$lBNPlw u +qiSxIQF;߈As-M=p:_;J}?îflAQ]prfy/&%WN, Ktg1̷a5x^*oCF L* 4zm O ж_oGJu6LʠpR. 0*UH $jr*ҩalAx_5{#)&ߖܩJMT|k$iV;~W2ǓU0oAnWiNoo6gkwRLCϑZi+f񪩜$j..r"A,o )?@eH䟐)IyNmӭ:.RU/T?f{-.-WJA>a[[L_j3 F!3f# d^Yl\c5[( u hя@@"h )C ',~m{ 15s? Soa{%z<1&t \-l@iK_$;oF[G2`,oD﵋e;-2{LY׹ uw*B'jGCǬ>"( '< [ ]Y Uͨޕ*,DI1 5צw2x) P <3Q\[ s#<,!\jq5f1)2:,G;;6]QXq8J:>0:K`[/i%-;7A/u$5pY)xu/0( \i:ة",.؄ё3(+PZk ;O,I6[+nFAiU!v(ڮX]!ƀ ԡLp,0Af$䛚dKXRj ˵.˾Wf8q[r2PRq]/9|lO!sy53ZGA(cW"Y л%>T+Bq`ʊs<]w%Ī>ڞSmKqz5U .ݫAp C@a C; 3>+ T!Qֿ[. Kn88lLㆱILاK(@@VyTjʩ=Td[IHԙ1c5.E_-tL|XjX:̺c~: 2V"yB" #=jL4-'  ⇋H9#Wݗ܈je¤!* . q4_{ U$O8(M03ňk9"N@f!c>b #~4iOq&BTb[[z, 0ʳy!L*)=bq ~A9{k #p{ $=hŠ߉(V%&9IEsInHoT 7/;y󩹑ן #ecAhV0y\:wh, 0D%Y'^eC! #癶p+E~.u]3  ѨeI({1?>ޘ/-ًѧtξC'HᤧU:3>۟;-&%qPY'=~zCAA-xۭbGVʽG q0; DAfEN޼"xl^8eKPȿrrW9;]A@EA^4CZgj^)6I@B!Ah!:Rmk]M5hYڵRIQ!6Ya_<9YDW{$OwLv#is'0SF|)HԝOsK_Y:u[,^TJ8v䡑+x`SY(䆼|_]cN+n$6-S)aKT qRM=&&BLSEֵJba*9D`KJ{kű~LWE(?MdzΥ@T>h)~f1E]: .kF ԝtp;)qɏOhVSP6{&Makp~Q'q#Rpk$FTd hH1?{jYgg{*5WE{-fwAs\Y)NLNj[{ps%$yxM.ȂSGMf&ڔ y7ʘ!FZn vi3<-TviqvS :Sf9Q2Qi-,%;h٪r>:i2>ʊwDTUDvg[{\ {1C׷ #[Abg(?M>!,u1.*2hpk>{φL2;Q?F{+q@G.I:ǁx<"klN!vh]nKk'J/ʻ%KQeN8tYfh/ FZPPAt qk/kij]3hRXkT`KfBh;9˫G($Yٴ{yYl$zbi+edڐdս׈)>ܯݠC))h6w$;xF;_gf8U,v'4]* e1Wor;a\1_:w"-^_>T0E]r|qGG-n<vu!" QY";@+<$赂X!͗MFn^$ky2OhGߏI.PmK=D又.:ȁu8dCZ {*=t@&Bk,q<\< 9gͷj77J|/볩>GlN'p(iVD>T^*7S jm>8 n2X )S-nBXG.E(R51nR_1"K` glW[&yWlK/) A*xPax1+\MlI)XF$.q^7]>Ԛ:IH39}K}s2#WSnc48EL[0盔MIPBt h@[EzNx@K+% A&Y/Z9a $Cj>` E4D2_ iU%j9Ln!+H4!ܿv)!>̛r|PE*L+L! XN K]L@dQ}w(P+֭f_GSwE.`u-<-U*Ei|Tc_Inxy:x{%`?āH^rxO=Й@;^(6$)TMK$87arv8o:֒lP GWc&ߏ0r IHaK)r;Lʿ@K!<7M~USR'LOƹ>U^~DTHb;Gհ: cPN#Ac^QY7n 3} Fb2RB!6cP*v䚿os/o3dxK~tc v1HKcU ĸ|Xia gBF ?(hNa;a:w3t`G322>Y©df#W!{AQBQ+1*< <!ݽl %k/fqhB' 5Ls훨k*k&">iIE)7 _<_h/c/"3pDP{l2{:h'uy8Ÿ 4ZmMtxђs? k M>mKBݛsP{h?Vw['E<-\Grm/Z3]2hHR/@KPשGvyhy`tk)HjV xL 9;KpV ybs[ՠ`` 1kٝ#[X:9 /g~A\w]:Ld`w~S:ʤE)ʜuI9. 0w.M_rWbhp#$#Swr0IayJEDm/H**[\/?4(1+l/wުc@XHE.êD z}07 d"D?}' Ej?P,ɡ 'a=_E <3·S ԿB r7T A~x7tR']5;e3]Y-t:Zo+ެ"|nI)y`9`9I[ݻsKN es3xG'~6o, VcDymݡel{ʁf_OB  6 "vo#[poC{D9; /$kz#Gru|чDSꠎo鰙m9vЩfN)2:x%.)񀰖"|%.ja鍼vEeqp"O7o3[ >xG Z:c;%U*\mOd1 T1גbcBhU8oGhQ/x֟,GGODww)oIٯ(b*] JS *[+ǒۧ8=LHe}3oF= x fa*2 ,4^Ea =?(N+G*jƫ2vk`Sy9%$F#;C:q79 ۖ@WD"Q,~Qy܏=۫gq ޚr, qɎJ F59^PS?HM2iyx`Rl2'`I2zSp,d1U'zI5TDj'k"g>=!_ sCZj9 vm,qj>7ֺʼn#P6D\bj@yGm pcE=ޅZ)m>x4" ǍmOZi'k1 ^2K燝_~\Ih@1ϻD\y #Gȹ3EE{-k@:{9xz^:^hCKru Zcnѡ ; k 2 (/)UaW, JkI맫|HvWF?O\Z|sM?8^kQ4C iLÁ3ƭB*f"E{Cb@3 ' =:uϧvGA_]Ez cR6sR;Dʍe|VdO5 4 . =u(x2 |44߰\ݳ'<<g"4^6m"x v^()7Z.`6ڧM1L*yj`K 1?+R|ə3a$7ҒSRVAQ 68Zp`A`wZ\ҋ;-}O @lEyV1In[Dt$If;TSBi~1vmgaUi{3s>R~X)[x9e̛/B@x5f]:,x_p`/ޞrI#_+7cHxzqQ%D᥻n3D9AŞ*vQ*rw!$<9oKO<~\ħF#]\a$Xh-4@]GFP DZCʈ=_jyr6b$3,]$|^y3Gie(DB|gAahp `nķ]jY& n_̶ӻ%S`H~dhLh5 Ċ$̃+?{7E)-Aे"c\6`8Prv+kH)yRd^iHӾ2w$JK\ފ[J$J7#\zü 8gG! wLV۔U@+}ϟd!j0ЦK h~C]K͠{~ OI)\Jwdb'n KU;(;}Ztgp2uQ5M[ErX!Ϲk $CB? A3a\h/҆!n>cS˧2bH\tuԈJƙxMy|ީsʚUphBl3ܩ*ȧ,CRjTؕ4Rb| ;Wn'H?ʠ6w}NT z:FNn ̖6; $$Tfo ҂Up6F#{xf.JVltsENqFe8Cϵ%!LJoc22h3.l" 7qxQk ϡçjeq Ax 3ψ+{f._xe lv 2NcZVdO߉K@\RX"̤8]p}pG#3]VYN}jfx}|"~xٹqQ,dsg`B2ljE΁XM M3cE9ӭzBY 7㐃1˰ڒ`{|3 .3gjC{ 'ѧ4ODm"vvT !=Eyq`Kj9I]Lp?Ņ]8s3wn9I7k|",(~PIv7vIJTX[xִ iVurC0Fй=E\J2ܦEa#2x<$౸,:zi?JOGT[4)?GziȐ3> MK+|L#4 jghᓜ}U|$Oz4"Hм󜲑ϨIZT80j `tvbv~kkw}hY%6qA= fS~B:g$솠2G^q)Nm/T~<ב *M:/߲u籇fA`:{- V͸[S]S ҋWfƛ.]=W$k/lK`&)T]4S(YlBsŪn4'a6]SoE:q%!t)u3rE@EJ$:ՆQ:Hx g3l¶gV0\":}{دԆT3/K*u3&r9o._4OC\Qtкc؍`9G7Z9l[.Oq\saƾ&vHQCte4ඉi=(ljj"Hb+:t5ohy{_|Ig1my<^s:K-KБzߠeRrA܋S^F:]H ad%e >uK8%lF%[%~NqEE^ OF^sas]YRw*\w\&j#K֓_ ~e9oVK |ZЅ˧\+_lLbJp~ 慃q|؎x π"Pk\cK&lN]Y*G8 D' ')g1yKΖ>rlh8{SF 15qHZdr.@.~ &fW2#~(/X|T@;;j4Ύs_h`. פZ 7(&Qj?9V؁֮dՋx ,r&;ߖ5ir&+\[.UKe6N_30lh1Ye= m;42Nhpvǐo`-QsIAaY;K= %Gǐä:x"w)^XKr#A )~sh6Pt9jM|4h 7oPh~Dx%: wP(pಯ`Lٶ Aq5w?OM!Ӵ:{Ƶt+ J%;&R+:J\m^?ē@ ׊A@wjZɯ3BBث1t>2@ShܐYnj{u|{_O[79y8(!FP(Kf :y9A BI9X(bGΥZQ3YfНCC+[WD.E%CCx4 {ht$>A"%Gz[)g(,.꼇N6jכ WɡfgUtPY7\ -Xg63f aWrϲuP;G|*,Dn*/bECNx\~%2JwoƵ߳7+ԬN \U}T(#hi IHK4vd +A(]σ*阾e}%NJq.O45Y*Džˆ#%\XDm#yK2LܠVӀT~"BZSq -: 4lkN,6™XFA3OK2ζOvtUi떤)G.i2&,yclh\oمRҴ14v/wZ*[TGg\匵գA ^eao>T䎒ABHl{K̅j1ec׊fJm翼R'ϼ` ߡDbXvbSRXĞ>Ϥ«Ҫ|g.H>%B&F,MFȜUź"6d;ڦ ̖qi*RbŵPA%m\rI2AŲq(tZz7 Ӳ{ }5"xp!zmfʷ+}S5^) sCy^ >˲1y7ѠH>rnAyN0` VPLD yk[V6ڌ?lvo5Vw=V>gc`,]팴Ý:BtƊX%yS hco-[#ikr?Wy|) "F"51bh8C>R\CSN;3"=w]&nn47ttt-[D'LbG-г94JaVQ5D#iрCFvZ n@hFPH%]kh[ڽ16j\ -K©bY?Tp)(  IUD%R% J&¦-V=I); @L:(1Z:@b-o3M;q +w: f`CfIOfcT4"I5cA4zBkylGL2$ǬIog&X7uvJ;<*֮7B9|% &Ж&27x}6 'i@A׍3W^@8M d[ MQudLk [*0?1"_F,lX+!P*c:M3pHUpw)>Qwib8fBW uT,"6aG{[hhC3N􂱖6,=Yq4R )d3S941JpMPlk".=C|l0=lRNȯoZ/:a5CQ; :_=7ӽ\r]RWT>fnjC]fqXd) n0G+ `Sn>IC o.pYqkQY'\ r01pI3љCUb|LÂ""D|OZTCy ԗ1\]LO"GpV`9Y0|aW) WB^?w`Et.y(*D [YK9b!MWwm^Jj*?鑝}nq\|+ 4 &r bו؈𐍌~_\`\uȲ[',J~!f#:K=v>tйq'#:'I|G3W!Fo7fjGajhs84|?`< xA5&30gX-0g0ĦirB-؛i1`3U1Ev9Cnأ\"\Uzq",$b]K%q<ϯ6KxЭg,U7&Юҧ:gC{uz/8b;0 ʆ609̺tC rzrŗ3sY|/her%_ 5@qW{~yrY~m9IKHK6IBPlv$ $jZAWXq|za#e /DvOe{V𞑐r H|YBB6 |e}*}\>"p{8{p]= >֖/%vcPST%A?)s1', %Ζu7bz'Σt#$EZ#*X@O yt8_6~:C(524r/J|"" Bp1CJc{A{A\3 T+ ;#cU0~ v cv[oI ;` )rDEdN7ԤbiV}Fs_URbM_v104@ۊrn`_( 5>_x`UK-x晛)GC @yZC"$_F:bx0^:%p  ^DDbO GA>Q' r$GY8c1FFi!.YF3_KQgp޴Pֿx)m< iaS/A=6xZ+0|XkOqZr [d}M&'B'{x~z{VN_kBњ\ױBԟpC _ 3~͠)!}|ٿ߈@#f3zvOJ\+@dޗ #յZ\dNISکA~~e?i,9G=maD;Ha:yv M^.T=*=K_ⓖE\[J|#u`NMrҝ] v&|_GF[-q+a}lWC6Ɩ2J6yM[ga,K7,3Nwjtβ֘$f(S 5T"ǯe3?ŀ0皱qXsX#BU1`"Y|FϷѰjl z_xzSScp%M㹹ɯ֫SmV[LugX_ Q!7ݝY*sŪM]v\G1zuƽIshFsQ:CPX4W'Ȯ_I'S:NثoPrB0Ʒp?桮Qm IB]Rx8GyfBYlѲA4.d~,+tRt(n0ɱ)+Mr%lm"O:r?`^M;J7<ҍH{Cp<GBYÂwwO/ r❠`RVF@ݼ+( wG$ lrQZnўPqxdr6Q4s@{08bҖEmIJ )Q؋\ ˌf9 1*Y+aU9:]+m0w 15<#pQ'wxKKj%@k'`=Qyf.^ݐF[.~D]rTf\z_d, YmJa3D꣉^8P6"7s"Lb̍f*@-zGQQ'!Lo75ORܬ# :v/]R?"mY.򔳃dL7?u@]2ߦ<%KD2=I ``u(j%1@%uyk`@l!&;&½QH$l-wL_']mqM`My.P#6e3KKh_LCq翩a.s-'ot@=P)b/k-G T6Kw)X/@+16ɺ^4>& _[जPyN+oUH&uCD myAkv@1A(6w/xf-ZPC+™EDF61!E OdMvSlG%.ς!rF3~]"t`8Y&0cQ@J;`9KI8(d-1PӪ-?V߀BS5 [!"<RDfJ `.;B>`&2Uk'ˢK(T!#F50wf cZҤP[nJL`"=dG>C[+<Dbjr\;-&rͺ* %Q++MǪ} .J\_)uӹ&^CTWAt0,duT`g/B[3vq <k"sPxcōUՑ@.U7 aUAIv0B@G.hM 唩x}2H 'SQ>$:r mt^U{ڱ){P׫6{/j"aRNɬt`~bs]nPߣmMh EbVL&XUU=U۲T Y usuhtO͗;٫][<1E{ ݢԌΜaL"be6z`XSM2U E]=az.yPxϨ@tC!kŲ,QB (TeqX˻H^I(CtyWÏ7qsɕIR럻^ Y'6u}5x OrP~Lq̦n1=ih}N{G`s0$ AXb9AaVm>.6b{)ŋ=p"< c-XT)#8 kXUG1RnZ?~Q4=So8CULNj$} ,Y[ΪN]64y:o[эO/U72p,0j[t;mAoRllqps!)bo_-H@]J7X|O$rGQF:8O\K0A9 JoaLՁEz4|.JAw'#a_a ҿ[CJ8H9NfPb~\өV>t;]6(՛J}Dx{[%e=ЅȂ~3VXs3Ywc|k]>d|x16}[ű}76A؅'f=zL InBjyuJeQwݟ&y4֨<0G#C5:辊vz,Z 9ֻ7I^ :g*p&5ۭ &s<$Y ˡ#,iH`KKIAbH/lg0.3ҫS!S$H62608|zcq[,s$Za ,"}015Q{1dA=&&Iw3LlHj)\/l=z:1>y-,Gje~D;Sq C nY cC_8u6TŌfv.?ujk_wy,~k2KpNsLbt}n|W3ˌ(6:j%k Cce!Sw)^n 貦.OK$\r7 TEJopuS-*']TAi-6٠K} U:bSG$Ć>mIYlAuJ3,Gӄ)nC@ vZ9l9H\H"< b|, PNQw)<@?T,}lG/2[](G|+O/k }. GI?R,եwM2$;ڢ۴u# &L VɼP)BwGN:,mr< ~)Rp@T"D|%Z! eN,xGNϬRUa(lB$ zc큗ȧWVb& Jyru$W'&D!g`*5wq$ckO` F>3$>5C4eNǖ-q.8‹MʀԠXnY,d sMe,ȦZТzD vzݚq7)[M%7̀eo]Fan#<'IETe@fnY ja\NRUfo}1+v(k%I<б+( tgR}81*C}3 W{#8dK/Je4cI6QDC ̴-J$]qU Ṋ(0A5ES O*O-"(L]IG%Ot0,AugDWZ!全DKJ6.~.="/AqFw 4Sv}Sל.b'Ri H[.`Z0x ut Yo}6F!F }X ֊Y4V3j 0s롿Gm2C(N5m6rc!RM}- `. 'a5 ^g<s=&r>Қ>gd]!Kd6o )#(´;.(al7P]qGI`{XwU%$.6'0bv)phTΌ}(s.I[wM}}`9#!bO#|4xiU ڽ vWw<.;ܡhk66t{ _kR Jo`hªޤ۔N!%H㣀u;%)?KVh`tP!R?M$*KF H Gw_^qcX,lN0l&rRAyj/4'|SaCzV:EV%\Apd*䠴XTG;t#ZCH҉?u}JCm}%lA:enw:p+;Di#ָ[:A "YnlpX<\RSAvIQGs+=IZ$Tՙ7$w44 E<$>6Ìۃ%'6$q.Y@FTNSwxW O\LڱO@C٪0I G{Uϻ]2S`jV ;} 4z҅Le4_a'R#^:r.K 7Om#SnYp(}UW:#!>5$IՂ^Nrl=l5ז3l ˄Fx#vӀ'[f. =iլd.r%)yyݎ 9+D0l@9pGaOo:f٧2]#Nw-mx|ߺSk [7)Vk} "G;T 8v~dhdk"3"(} K(`xR?_I~%=_Wz IHF /1R h9Ҿ r(Be%TO}oVo,_ZKzfMۇqOeP -MIxgxdгi6 8m)Ij*ַΝg5 \]+qic Vu0ټHiC%QƗץ 0 qWaS*gOeZH\ mw WC߃A^fÉsVg,|*暛Âfdt+/"=<LVЅ^A>hJZ1%ñ63Ww`;6-7<@Yc $b"`y:Fu[%Eo F,!IYZJ(_%dɞRo 6eFr[BE?[oq!h~?-7 X+Z ZZKoYYZ'"YIMA[X"aF~|QXU[dF12d^o{\f vI l##g,O|=ozi}Tb=Z|L]eɠ9EX}D&:й=bㇻ&(z$/`5]sdKӴEbU$?aY!Ä P'U,Akn8\.gN  WDT"an}0GtL-8UUTp22$8#ř$hIϷw *@( (i]q`#i@ʩ::sixCQtX< lpATśA=(4%' 4sVFG0+;{mӉbCykD}9ջm\o:kh%:ؔN9[ kWOxc!F=> oG'FG hUux?q$tP)$Ȥ¾6;+묣/y~f!z]Z ׎G\A0kú1b#Et`o Y߀zx?|']e N펧UBoͺ{ctጚƍB%E&us.j mQL,=Z%(c@BUhf7ւ&fw6-+Н*)?(J!ҡoP#l*9mx2ɍ ^v+mBt0_q>*Oe]dNj a*zγ& !7`0C0 H.$-1rOƵZZF\lfȌ~<րگub%j@ IWe"&zCh+M0Um@b7#1JknG(l;# J8gHeOS0Ѕ&l@3YԷz{zHI>67J<RiՄ^ctη̴[EtR|tPm?E.r/)6=6Մ Q0Džlv{2ȴH>\YO2bz${UNBs\Z={ JQmaAIdIjTćY3LCLEHh.Tl=J[%dHbkJZOeX 5m)irW8'Pk/o70'j9>1S}a pq6C4Den@[ @;~^W!YGW@~-f"|EʢZ ۟]~X RqiK#)w[$JRLL_S"q-8.t!/1kx zRC 0SߤT.?p P r/rW^ $Ѣ%L㍆Bb]ږ\/x;ޘ{˓oF2Z`.wa^2d*^/9Jڎ ފRnbdQD-cFyteb#Gx5<C dVAQ@(N)î,/ KdA(KnGӞaq +0>&A%C"LlU[ [Լsfo{bɰf$\SH.[RJw'zr`h;dd\ EL*l jJQlᔴGWcC,8MTSMi yw  &UE]Omj> zcnU-3lm@(횱԰!XK_ݠPIʇ ( GJ8q)Wy!VZ&Lx.3^ASVl; ~F̳u gИ1-@ŃTHL Y$3&,R|"eĦV^y҆.K~ {_^ o r1]H刼ʘǏr.ZiFCm-62*g%D [ȑ;<+OSWn _ۯ dj/G8Lw^g4]3I]s2^5EHk±疺,On)bO/R:fpl#Y<h8rL}:]`d>s3[Tf`E;_Cj1UwpJ~ 4 q{㨴N}Sz2 |Af 0En[EW{y 1{3F>=j B3tb!?l#SbZS~'= 2'W{Fu'pЅw נÖuZ 烅"|:C -KflQgϛ-*59X'FHЎ@^,DS!8\-8b3ekwN蠧Ht<sFoFFt'MW.k2/؟%γYZ4T^劻'M{paD EѨp32'ǸdC[c 04xJ4i;-4g1VtXx )H'IYAGhs]Ee.7xQ55"Af#Sq5QfTYWX_9'H(#s]ukD"lǓ$ruc'\E_[cM0hPqy.#쥎Θ* ; {ObGLH޸ܮ`]ج86ߡ{G~3 >\ߨȣ|Q[e@p‹֛'n}$qFNܪ,8BTtxN#_j oʺ2pw9%y T)|_xZ;bk,ՕFNÃ!v{ys0&btg)&d^8ђ}neJ_z2<.娆i] 6x` Z dt_%tLlQՎ.& }qi7 %]֪0!T+м)E!p5ÚDBחӤ$T]khdJ' Q'#{; [xD"PD' WCQ7$u쁋fS\B5a%E9pMWeB.2z3wb]te*s^t<@*>; gu3Ws麋5T^;2[owQ˧G պ}J$Y3zuo`(]E]i[oCۅ%]_:ۊ1sINDiId`:L ޳d5xHu #Z ܱcѫJq}E г_SQX^HȠ|c%C8MW侥'o%c`q:>v /כor{-rCyQ)tM]n9%9Oh''\Cio^PAEiE쪈S d#J!W^\eޥؓ*n/B^#]Nl\]Pkg<.~5uw]]R\QP8ӊC[j-AG~{I=cpsaV%E!7n),D󱲐{pϽhY+L$2B:9ȧy7ydMZ_W5 )&9tJ`!SYL(ˉT0(cin7>ao/",:.+AqG+ݽ;q'f4ëDC[?iݲ%gr*8Sh}QÞڧ&Ş~pytG犙-.MN/$>a`P0GV uSR8Gu_~q¥Dkɋi9nmPCOOYM8Sx#SCS_ܱHǿoggjs9od|!I+ܲ/rZEj h āg @ yHǑ)g wYJ i,vkrX/՛. [dQਈ>d t(?=s㋱oQp@pւ"#;C6ez9]S9܀-Bmr@!DRN!0|[ZjOŠY*LM9c`9Na }™#VL N}&X:*N6Y3'8a3x}04h7qt^#{J ]chdjyKhMHwEHqaנ:~;OR}y@+TްnM=pgKc$ᩤPVBe KNR3&α@m Lb&Lh +lRw$˿.ʦYQMwqjoid`=0CjEZg4QN$Z #"!׷RKv1 Q=V|L T?Pu-=$M^E?QWA=QC=.t_%~_L~m!u&ކ5@$S+`elIQd5WGRN}>( eX~HS9}$R [x*_'B$!d͏̵yjzO _l@8Vn?ܮK瀝Έj\`]v"PG%5*&lY[9xQ[2kW$PY8-_ (,QuNj픁Y땥4HlG&-PR([2-˟'@LmtP w t78f[P bk6Nr 0hk!Ԃd0JF@jdx3Ù[BˉH>y&}& [oF: 2rc cߢk>eQEQ9p M]1_Ե5CxICF+7I햺/ĎOMn!W:cKqb>_Ņ5O=dz  7 *U*E}ܠe. 귿jWp|0;,F}8֜?lyxyYk=\j蜛χIs hrW!n9;ƚ8hS-ˮA2{QAxdt*eLT85QYH?i],I~ef <Ĉ|OȩmYxҶD'ۦٕ{E]_j)r$@Sޭu IN˼| m"^1f3s4%P J)qdFlDifܗgLGeg^[ jz_w&AF=)@BrvM%xB u{W]%D+$^{VF}6g`P~Uc0 >bՃ8H9IoD=_jf0Q+kEL#_9 rccVP 3"]ht#n?<As4hB=c/HG V Ue8G'чn4<K:a1r* }a]G$o4SG&8ϰZS9-d*(q+#S'Fm/7-?R'gݛ< {zx(NՅB2.P6X0h&HONgxXtv q 'J?%{ˏnhQKn2|a9L%2v |'*(waێGBfOwxTΧ aKW'"J F8~.*3aG!=#_XUV5Y4*Wfӡ7FR$ሁ,]19?R5Aj&.d]݁:}%iѥbP>M'^g^@&#pjc"(C3ocܔc7~ /Co>|s 1:Ցp`H;k\GTqgQ4MWE Q( [3~C]L􍀥:f@Q m_-uM!^+d 4\*Z{?^DpGpKUsy;\5Xx IelxPB7xFd(R.?QO"V{}H X$4 ֜mX%ۆ&?DEcMԀ2;FD-&_jt1M$lxE|Ռ fm#mmn H>[-ǧl9yeʤᛪt(dSU TI JJ;YGyNo2@' q=nz[쑌U`Ps 5\yWwf> ~&ܲ7lAYn*]|M{L+sqP6J%zɎ]qU&N9R44p(gnO;tCzdKwfL.NFBvXQf0ܑFE Hq߅_ӥ߈b:ˍ-"m)OIOg2 뒝d~[A(WDJ}N< ^i- Yu5'P{$j惡 pʤ̕U'6m<9Fh.EcxzIP/'K/ߑyG b爐'H=?~9J5jZ-' Sw*%]9aU\1 J@͌11Q{=WkrMߚʌozS \u ;0 $7TY}Kh)+`)2Owh)%՗d(#Vƻ==CxR&+4%_bm!| m7O^{ܞLP"[)J>B󨅳ejC*KK~o;ЇV|bmu[͝lYLi,);RḶ󐤪 ՘Vimt jhjioC(g{W{[BzIi5dpj3 W}f/4@rIha%3@]NpRZKAH nb)8\pIg腳},@FdNASgq{Cƙ-B!$aJTj骀CR_e\4gݛng:ZݖZsA3di%*.DC=FtI斍Im~w)Yu ɧS9^;Cq-̶PVdʓ@WcMׂeO&5b`{@?~gh8^(Կ~WOAj#Ă C3̓, ޷g(rj|*)NOp=D6Gh0bCK!ʆLꝈeV_Xng~kH)~džΤoބnNopg o#| ˒ODTI䅕P?/zɂ0 npZ֚DŰ݆qiJ -؍t1,CH{1\S$Z| mRɢ^UpD!q>̑jMb"Dծx)[첮zнu$ufOTfE7nJY.17q\zqJeki.Vma yX$KY-X.;5duƐ*⓵`PB9-+DwPKL  Ii7dvy0 {rŘ5؝7@MeKd3kY :Ac3aY@@~XulFDsr7U]-8Gׇod=`r|@œіc굋Mϸx9=ֳ|uwh׽*67F򺂔 h:0\Pbj.JWbj:Дж=STv Ehn[4Hʩe`\^,:QMN%yS6_1u%k;Jßa{n^T0\"qsJ2y13\^/:ı-MURUo6_2XOu˓v6qԃ!pRw MX[$qPirxW_qp88CM#/4h:k"艖DmCܜ@?>TEVJڝ"s4X1Sr^Ws%acfSD&^BW$U٫A=?1S+jhXin-=>GGR{"gkF((pҵ}q&"Pe;ž ]AL_Q&O E^)O;0f*Z}y>xNR^/s5>)cQ0ojEd΍gp+G߃ M7˯?Q ȦRml Ia` k=%a2c$DYn >{#%.Ͷ($3jO_|:1yzZ:(E;!zJ)R!*znsP橌6Azseb:@ ):`DYEo;Ǟ824<<ۄє޲^:\8Uݜ:O_aC^zGEM>xX;ɐ;ڝ8~HC !@נ+h3^$X}hv @V.(5`w隸/WKc- x1<}(ȂRMB.X_<s9|zD h)ߪ򰽂!+x6*yf,)=xY+\>#,2MI&N*^c8C'Kk,DoUx}#fGy,dYN:nԑ:e_)9JcPw3-~u^n>no=p`6("iZJXb@3Ij08ÒI5d9nW:gOgIr1f5(Nx:j|M݊ C*q7 i]~`e$G8ʎfY7^ Q#AkywQKs~._w`Ry ` &HOh |KYq5`4X5?dqT1Q&Ny3R_FKK)A9rPu'Oxlܩ RRyR\B٧nH QOPhL \qoqAi<ƿ^\/DS.J@Cl84#o;k CU[N<-C9)|.x~ :vc{ʼ(F+ˆXE7Fs5!K0FqjhX 7nr E=j0]1^렰[`;#Z$:غuޒkm.0[}/F˓@PSČ5Ѱv )2X'$1OCBJ#ER򬥉VPNdB==27.ǵKXl*{^A.@e+"MȷӸ_!KHY=sj/k]&/rwCg^tm) P@d-:R5r(n0bMeYkGbe@A[~Xl5t"T鲂4s%R9f T#3myԒ)pLJ'[-nZoCw8C {nP&D }~B|0EW>uU@O?Rm! ܣMr,6V&bFN˽%ݡ%ƔtVEۏR}>y 3S]܇.\l  +1>o6.HH@73(&L1tXV ʋmX o=MMr+EvD%߭"F%)ϣ}7~/@D.]FT}F, EMԜ#U6D8pl.(/pYem|1BVxNJDO7ZEm;X"wVve-P|=6 g 66n6r_&<~RPbJB;Xzf6+HhaXK`f[8cՄDr=j2DC6H 2]v]&RO`j&ʼ.x0.E H4"2@} $+l7y`&muPlׄxp qTNKzJqj gӳ8V88f)@bO zI~ܶ5{I y&Ԗ3V]W3q[Nzؖ`* < ;>wq~eE1m,XD l".{3ͪ|8=witE]CY am'%ʾEyZZg"`@ڑr;$x@۞;tH$G) l1-'Vw: [B4!`ؚ0u @Wo!I"U.9nj;传% up7)R[ 5oOѻw(h&e9;&J;kA ,XBF_a7Zf!a v'K'TCA+*=ql5v.H1)Io4򷧮krHb5p] >n7E(B#U&mH$ }DFq6:ӽ D-$W,}Vu dzҥh+ՓQhZ*:o5y6')BeD|(&Dc&ƺb6L4V!Ϝ;}gM|8fD'G@s*]ߤ_pB2]2!CEg}D~&-O8쑼b^+!2ˀӜ@`$֦WG.Bk֋ ɼ;F)}uC\mР=/o?sv.!b?Qxtm8J(BKlBkSU*=cZvd^D^cP≷ƍI`κ =3|AB S-q B%3{;Z? 6eN{e$Cɰ4M˜2ǖA Ryw N.v'}\UVгŽ޽\@_ @(Lb7c[@!AقPK^nF.)&c_rOnؠ0ȵG졹d|)ujvebqIJ ȗr ilQp y-?iTECD1Y?F@ ѻih]ynE5PI􍕒O'ܪOYTŰ$= ' 2l5T]n蘞ʭ ,od[xgJcnԛCsL ɜfmb>(B+L)Ld03px|AS %C؛QN :ǀrD/W) n<ÁTF&GyC{T'>|",brӡVu=RMx4 tݒIt{9eB"EvN Jό;myS_}n0Q_瑒lSnJ2v'tT-T;cڥ0Hb9U 17[p5Vonw\o۪Y73'dlbjK_,MSn ^Q$E|xѓ<O685`]O }sUƸJW}lP[I+=&zRwgeoB9<zfZտKl @uGj]h쾔CrR= U 8RVxmDngA"wL&i)?ev*Y4p z~e+8*.Ŏ$yWdS1K~Ǿ%ǖ7\imC} Zwsr :ݮ U: j)080M 91O[{(#6Wo;s_|^oeJ󗚴Z1'KAcZkZIv%IP }L [kh5/>!%k@rAKcd=VBQ/y'Efa?ʩ{x ]>*A"E396iVjD `_#º mGLcYR$d$ ~K^)ƂgҮ,`1a޸(Odx6**/`yZ\ wWo1HU~du8e-dx_%%#tAZHȁYa17DEQoE3z'3CE97EK;8iJbN\v}uZ~f۲c KT>pC3!l}FοIrU,ېf;sH lM4~Al=%}!s+S)G#7p\Q'J8 N6F?WN| !v 2n"ww)N7TEUYcjUq |kiM ['/]zĒ@" ϲᏙ~4qeBexP.N7)Yf Lx iU] лѱP7m ; y?pWNAdHS!p3=A(+חꧏQAlp/'Kn{8^lV]c{v M@6o4VBA.$d$l],ZsKI84օ7Y'eҔU6.mK+9Mc;7v1,qtټ((Jr9E 7Ĉq8Z z ,`4 TV|EvdV^Te.S+;MZֻ٤XNZXZ4t,X)/2Ec_Sחo>%ok"wC;Ր&_O]φ.Mg9PDN5naBN_8H%G¦DoJ ]Rd˸S;(L57NCnx Q߀DGxR,+${{9=x2Op#0q$6Hw1 ܷe+I˷2ⶤ|h,Β 5{v~Db*?MXaoׅF0<zVP[!6Č ))׼ڈp!/ gC,$DXEF1\űܤIqwZY!00Ir'Fu\>jqmyʞOsc4դPG0XGS C('Zcޗ\P }mEQDr|ݕon~p k{= '3{G]7MeR;O_p)kWONJOz, ozYS "~o }" 'nr-ovnc04r\7N$J4OxĐ>}|NA3 BPQh5.b7!W UL=ur]pi`Z+['I22Y\ ĭnZqR֚էNz2KssIt JTuJJA7f8$7B #*qۢ~v-tD_=Ne5י|9r" TѺ7ݫDn%~  #,}CM~< . nXN E%z qKhA~&!Z՛ d5mA߯~2ijlL _k[ R~ ؀e_7|_|L2ULit}>|n; v&6&"/ԾYrz 혡ox-1u‹ CN&R.QWɣܻAKT+\ œ_ZFu3Le0k.>%n@GT5CbbQs(*oIΠ5V7E jh*_"=D~SRST@.Æ|o# ~`]5ь2Fj;[?8d!;AdG]|Hi~؝h@8j|ÛL:G:;_(Bj9C uV00c:t4 Ld-`Awx0gZJ4w~JIZ[c:4o}y,7 /DHBzcV4wh:6v:% 51mU5( 5c@d}$&r[:- QSBRߜ{ p>:ih"<רgb0y@omem(GŌin$EJƺҏ 'oI7$NW5V ,^u}v<\A9P[{AlGTJHItG!'Kf<2ݮ| ۣpQ=C^N9X~su0I.a30~Й4~fy--MA(w7HJX-6n[j8"Y `-\Si- IR<$ٱK><jHdV,pf_9U,n֙ڬsc3OE0Lk U;6tʋlOѫUݥ W;+r"j2O$]5p8>@>_xǚA |KC/Qg-*=#;Ŵ=I5fڑώI`o {tj nb HSqnd?+듵^p;6k2qD#7D9!kR2`♍f#fUzR58JlQB vC= # Ϩ" 42C9}%{\wm\2 ҜUX#7ST5~sݽ/ 3= "1ZA'{߭V˺;_/(Z:+ܴ=F?xv "퀹16i 3Cr֘b.!H /aK8M.ܪ qsB-ZT'Qۥ/ w;nm)/]^m4[ $ >Ϭ]`a] {\${'Wdj6b QҠY_tS߆pL( $ค5Un-y32Fw#7}u Ax*'BS|?&hsy;NYfɤSSظw4baUC]RZA?!-0E6c$u,^pf;[t"w'|#f70s *H{E5k}[;:̉=e"TmVŸ6XWU}PdP:/_/ӝ`C旔b+$ZuU,wߠ2P qSJ5pO$N^2fa S)SU@ -k&޽fZ˭ꗿΝfM`gkX1bwmu]U*snM$MExuf/@d{D/c.HR}'oũMMH=mxٌJ=kw.(*08{?Qװs Cҵw cޣX:|z{KX ˬYdQ|a}o{FṂ-~lzq,O`M̭ǂ wtB"/G8\gr9">+̏ZSuNm gR܁gܣ3Đ'3 `TڛJ_:Œ Ğh j }QGh،q];pAЖ&9(e \LM7Z'dG_r;(zd(΄Pӥ nLo8oQ NazgB6[XU47R+bt)VP9F#6fl0RMD &ȐJGHa%4FeOJ7W%ۈm樎|`呬@ =5oK\ǻF^w"s<*MaD~%#kM*fHy?ɒLE7۫mwt.št)霷ר"[pj w k,`߯{?QՂ!v-7%}eCOD>5D(3Ž%ZwAU$+w: {U׎" $S%pw D_Ntꊔ &:Ad.j`a`ioe'Z6YqLYΠuh+\j(sgt9wɒp7u=pX/2o/6=c7ERufe&`.&W*22A"+W.a䖨 PBZ}^L<GeBπ&}랸D7!G2xmV房ET{4)aBR<$(OM3?~4DCkN:0RDRsx!\ 2xK^e8~A6i;&6/ ZAutSp> ‰X<&F#GKV K 㼜3Хmaߺ[Yolx C3ZpܘnoZy.GK۫I50YT W. \e֋c>VROZktMⴘL-J.;\QqpvL (>UNm9V*^UT =~U)oPU4|'A65'bTWe#l:@1[S\!AbXWֈNmV4If2B#Z9s/7(ZaF^#CyL9+2>頀ZF8[4i _-4ЦzI)Rm3s6 !( B(~ۜU942'&P)w=#.V9\/?]Z)c676恡g.EzMN\M]sa-?Kir V]-ԕyL{%,^hFa-uAE{.RZKSC~q\쬐qSKN,Zݪ%Gg:KPEvh,}tWƳ7&?)3LaXu5uE?dG@"$&)_%s >#@8}Җ` u¤pF.H.MJxwJ`-%6슳]ͨm?XAkPpweW&K*nԾ0#!l25N9a$H~o{B"-li©pu\Zmup8h@C WӑH.qntpr~t$^G3{>'$a%Sk^}"He[# m64AaP%jƐPM!uOhJ}jS+`Q? .͘+Ǧ@p&ΩշUJ4+@?w# Flu_pvϤ~؇^Q]KLmCǠًp=AޱtNSyf=*~zpݍ~'U<+,1?niNʹr?$"G'ː!;K.aH;g>Ԧ#̖bLB04֎34FK 뭂ow(?`!|uk R: Yth|(zx@8GL{$Q1Eue &5f `;n1yZowK+{.o'8>)9TPu;D(ʺ"j'Cn`h)Tg` #Kv>W$c-#NPJ keZei=v[3 ,Ef[Den3c: p"~Njd( B $){YpI":ydY8hd>;|3gD>iY_Py m0o@Z T&?C+oȜr5s3:`2dd*K"}[£)X}2G;$>,9cyv6hA`W;)Jr8$VbP>|BxNo#XH9HH ٙ]`]P8^3j$cD U`k6%u`͟uOӟx'xFKMȉBY`Hq {r4.8'֏qnOu ^Ksd;c\(p:ƃfv Uꙻ|Ї> C8B݀Ƥ)_)4D41. t`POuTFY@zy[zKzusOhO}k'P~`:ϦL /Z#hQ -]8>dϿf`ȷ][]@I?-}8-:7kЭZi/d[۵֗ eBcI;H5t CAlw,V"n$E|ZrKY=1tD읖QLnZS2Sk-{Y6jíyRn9߅"ݮ,qxNϻۇS&:ڿ⇫4 &Os'Wk"0'\MiVB']h?ecv3gm&aB5zv853GϪHfO+_ڠx:NoMwJLDuNƣ %p?9h7 WsyMN@C|Qw-I <=xO/`+y$!/ȇxug:vaU'?DX*(U0ECd"H*?&!ހ5'$`DN<,r-bAYx%6|ɮLlo~bvw0_7^)ɴ*ޥ6< @q[,5mս0qP.!rzЌb)t9a.>p-t1+ gŒAQ[zL:_ELJ-䊡#LRV xsv^u|{vDE񶱦O(d|!f"r?̿ǏSs5Us[/ocﱦ|ݏ׾CLɼ)Gp?۴^} gVӇ8<i9Vjwg5s!أ$->J 38b'kr:6}@Pu+;.E*S}M ʙMɽj9]%*{SaEcoбfb ͫ0bYj@\IjfQ&Ҩ]_Teg/3kL@|?.;#=)P/p3> EVRLJ4 k։h 6 jv[q#NݝiC۱z}=8~(4rq#!s UF4 If*Lt:_%!&= *=7Փ0'b 5eS*mEA[zU)1B' %__)y8,2A/XOm>7I~wG\Ofmez)I5n-h*6bQ03 >4ajJeq1GqzCyU 2b STb - l&R%So_;ݟxfbCp+eC˳L˃vHM>jb币`;_j^_QיpFAT9Βئߘx0 sz/q7'x:XSNC!5drE׋OO&QIGP0N is @|?=iwte0{%J0|@G\]_/K $V.ū϶١y sCiׇ:S(|-ш n#9O.G`)D%#j\oJ"+2]ۅG)7i/\oH5\G,"LinapdzN Q D,|7ËdaΟ&݄o@r]#[+8|**':2TRRmǐTZ'XÕ+JWB3jK./5Se"w''". 8k>rg ϐ[BDnpf4aԩۧmAp$޽%ט#Yn툅We0-S&Vߔ ޞ8]:wGj\;dcӊB?QAx{#R;J+T!O_N=&yF[0X!ǷTJh'd`>tupma=u,>yvuy'HB3\=V=uv|_/n=\׉2,6' 'Z>ʱ -ϻQ]Z+"@s}I:x5Eg|ȝV- <4yfFM#W6' 5Ϯ(PTr]ǣ,=R 'PíuOruydZM b fglS) ^o͆#$ ;sp$:>WxR>: 'ȔP`1lcwmm6MES3"@BB.Vɘ9o9}6 'w3>_uvlmDGHvYME9(euDwgV_@Wa45EihTu0̲B`vo^1XnҨũQR^+ϰvº@׳$)e.mA3|*iYwӓaxg`*CN#Wd/)\2¡iML,j^*^_< ?$ߐi4XPNR<3HnLw=dd9yMBFK*gCݗbߨiv&U˰`lW`rʴ+uGpj &d[ oZGɷSқˍb>5p YRڝx6}x[="}jZGe@)J#Y.vuʾnn862< %l PI!9%=AJㄠ]JCN}P/hF$r89`S[&K q,)B-;"Bx_)T&98z R4#J8E%X_#ѨFmcS$(o֨=Qs1{\^);y83,C˗R@R3pIn!7$Q;=?_?E)6Q{9~܆'NA<ǻAЈ'5#UJRq|RN DYy1$]G⌼̞CQހQpT@LTWv+CjGUo3-͢UXf2_8Vg;QwUVl$ZB l$ueJC<`jW}B"Vzg=;%V89bOR`F!"ToBزVsufCHY?ǰ44 cf0) o,HҞ[[1?V5%84}+x`e}壻EAʾeKرrE =[ f`NRc;0Ɩ_TK>! OJY_40 M'9/z4M݋rLg[ɧK,(IaWh{{Fy 4<|gH/)B+IMsh|^FC{rk1ae/_EYx]XUD$#‚̀)OgY:ONr?PNU.fEOVEV^ %LT'0 RW-=$)K}vf҃-:Lᕘ",Q^ }!v0.bez3rqqWnrtbL\Uv瑌0Bum+(ʧXnVrGH؂%̒^(n'hLۂ]W.F'^L'jE õ.b#Ļ3OuU.8O˧U'_0J2BBIe;ې+n{M ~k-8F 'G9 u<(l+$&^mjuUV SK?z-G, QK>YZlъnӒBn+t Zl|5noGIbZH\j 6-*mzr;.DQԹۋ:3p\YHVj~9n n_?kZ"tzk&ot&PmPx#>)Khx0 }3YID#ER횋p N}!`5@,pMv<*V;OH/#wRp&R ,)݁x3#%b\ǧa2lz6s\NA;#VIlOPX@b+YΙ{ן+nX^0pz5_Czeh"2&[5!.zw48_2& - p=-;Ԫ6SO|F\mb1qfڬA/%鏱dvRcy瀡l?=921:9K.D+paV$$^Mz|_-9o ͉GsBu41Ρ@U+>%"+=dl] >M* Va:-'ܜĭ ZѼy{#hZkﮰ֒w{K֚X$pR|ZYWS"PsuҊ0ࣟuM-? )!IB)r{^BK#2 w݂@ϋ0G쯩"@/ytK~#&ug0i.}6}p$SέCHjj*ӿFouRMtJ#8F]SI='A:9ohIaxdbABT}?nP ip@.+Ӆmtr[>\dgVU<|P>p0Y |[ '\l6~Bv绣aut#RI?%?uk{QPp02`\n4J {ژ |k(Gl[vq q)THj.=enY U#=FNH{/[Nb;`)W2>ᐎ/80DdO:qMTUW"Y|]&>)xZbnDй+^) zmV&=s%:FO V,^2p(VjnΛ6\Ե)9`2ԙmY 9Eis0w:9kH&6"d`2.r Oձ^5"8ـEM>dfD$MDײdgq4sΝUF E#s_,FU(/a3zH$c` l=Dٻ鯃 OZk@rhL\}Ö-`m8H i{1$t/V2eNF +4;zDh°`*)?D4e&b;2jوJ%f{J@&&9 &6}Gؾ#KD'b~ћ.4z:Ȇ&Qr#n^sn-_FF ir^?Zq䏼"+- M8|X,Hnz}Ӝi]t/_\ȧ#[i8!ސX"7繋oT5 ,4su q8p7 RyYz@z`S?,p|kS&CAGiv-̾>Cή{xTЇXXU[#pmX2WQrBf>21IgLj@KH s©mn%n*r%" iʯ}kwS& Ks]i>a}xPC@)@k2ʖfL*H "W:Xzq@^1L:}'>QC+Ã__}b%7Ɩiz=^C(Bebu6m4[d8{Y (9Ck3c;.Uk |r?PnYҵjbf!]I)6N 7pY>iH@|}RVߐOn-%NnwXok8B7P&8'D#r J =li{WMԿ73 uq`ool>M*隣8{򮠅,m9?9ɖaFJpQ~T}^%],uX(Exx\E!@:W别:CBkچf}6mWOW 8b?}Ƕ "&w.eELG+v:Tv3lΖS4&Y 9L~LT[꜕:ni\ jQ{_Ղ  GgSG(;Pa<=݉Ek-b;%Hϙsn~Noax4{=%7b` sfk0#R*k|q'e5P~ަp8`Ѩr`]]x*ZdsK>U'J%U2.z}Hj-a|,]eQ B|Ǿ^3T`D$B;Jzt*ӵ>9TۂE@ᎂiβ¥19 g+H?djnDj5@AHW%PbQ ewX~0"wFo؉;^˻.*a|So۾ǫO6(저#Jf~2/% 1fo{{eZˊRlthQlL+^A/M}C-vVoR4VᢸDn*iT`UdF6'~YzPV+|-LT%$򸆡5Z23okiL8i-{"S2xE8Q5 kYiWg.Q lSj3@Ϭ d ~Ǭ;R| ^ GQqPNz!(r.B*,0w>X%HZ"B x]yI yp| $KBaP$+м[SZ7ԝjw\?d>Z"GDXiLۡD!\s~Xf׸DxH6NGS I<id7 &M\=˨F@c1!3vHJUkolgHZu!,,١A#f‘HE`!>Sx1۫aY(g9e݊)mn?cwnq|UǷƏu.-O 6>Ė=S8x>%"1lji[zѨL +Q%P!2S!$Fq0aj=ľs܌E^!/LS MK(!J fyVA0rYr,K7K6k+ W3,G3^ɻVdu^w$z̛ X=i ՄqBd-bNκ_mNۜ2=,d-k!q#'T8lp<6X4*=-ƗSJ껅pvG)u\-c6@52JCw#h::)<㲳;pdfbIQb vߞ" gXAW?j(%pZRI|`ѲGaūdz#|=TSW2a_*7 !B١qH{4{A5ɔx\&/̈́no`)ÓO㵖ª)T$|Y#N< S( %Q! Fro* %Xwmsc!yO/&@G#Ȕ9}0-e asfpa):vAJ6c]@Ŀvo%RJh>|lK#HBШy۷Z1GFZ~iy; ]h-a]^& Þz f za {!&! |T*35C_d2YIP3 j/7r~%S)U.cM>Gl.m̏yS;B߀QW]ÄƠ}??93N7=EbYx{tq?Ayک 1gǟ\p"\v#P9ٵlU "y#)|p= 7-r}3z700=JBMb|m$"pX{1P$"2+{0#o+*V~-X|C%+aN/vrr(ư`JV- "e+%RH ui| e{?)jD/tx!)f–t+ WqLi)𛘾Fws*Au;:i-Qn]EqecwM]_ #ׇYYR7ikZ$<gyֵϹio3WZ쫆 -7L?da91نVaQcVq9`hՋćyaw;z1eB? H;.= "-s<ļDɝ)vo2Ly7Xa'v M\&@(D7w"w CkUCgᣌDGP#-Wl>hԁ ~bU,;4DqDL*$7SP6WI_#:r}EPQ} {w$gj~{|O*Wy| oYS`Tv@4T/AD z|{-.wO QNtpwB]wA_(=顆.);,(O}E"mXwwbj6NaJW˳񇄨Ez^/@6vu#v$oy7$-{O}-E_0.!=5t?6V8)Uq81@c`[,okJ:{m\)=ilEì57Xp~}RA#E*+wh̳{@d$Yk %]4QO"ٚfa>:<:y )Ep;?WsPD'[k/ d1׿/d*"^(cں;| -/RNNۘBL95m~l],'/ddn 2Ei{!9f| ?&eCbC2؄M. Q{>|8ϳQ 5WE)A7س`~Xaڗ8?4•!g9EjA4,ӏ`\ NW5'(C܌kXE HJ\ g \0p$aM5>s3b;ukCYeɩ^%1xY7z{]EOF`hu7PӃrjE($i= N f/=C]Ƀt( hqNs_+ׯ0VɘbM;ΖiދWI {J9vZZ@fT'ͯLa~5ZfR`h- ѓǮ q~ɓq)-v[߼RUlsTT a +,֬^sD x :Qdk?5 uSݕلÏ%2md'ڥ%Bӡo-%f؂a\;1oIU :mOjȢ]0Xgi2Z!1w])\Lu+e;~2+m 3 ]m 9ncܚH[fj=ˢ$\) ,loBqh+?~|~)ґz0PB,^̬pn~3Q*1kc AbZ[SqHH"֞7&Bt-nil4V3]Q۬'ĽU% /~Da3h^E9 *B*incs(pJ +(SꂎnnH8mͦ|e Ž%畣5?D#ҢY|d.R *"88z#a8^A]bKƺIpL2l Mz&fNS b'/:.e)RR"36+{9.GECU݋`nL9!D5z =\~!,+fFGHȦBpzC>$" Qى:$呝,QY33QYxMQpyp4vƴ؎s(P\u̷)1q*whg/vEOXq\o:O̗+#FCMYKty\gm/}V~}uXc^/'Ni#!8oru)'simE,?%VL_?;OxYqP6j QˡgsrRKҲK3j[b\x'b ?V8њ(8Q z(ԩ{[P\b)XRyWn}f퐄} q*S`Dv:VWz1gJTl2r?ߐ%Kܾ)1RP\Lq ,/7>h ,ci6}C6zv!/'6=BnVʯAI.} C* LXbønA;YfqHpf, mGo]NRnȜE. 77 ݁Qzk`HgߢZ V Ja7@hC>1zѪy@|8H?9T,]|];|x^}ZN`oqGJS!BfZvPb _B\l IUKXz_]W+7wuo>2{P)L)ָ.c@&(7i{lS]ɠczNC]md f"+ET'Hg`lTT.mHwֺ=5J=p |H<|>K !xLhqߊ^j!㼻,SQiS)K irXUoX-?k#;酛qEͦ_BsIUMq+EqBtqWK4pڶ ޢZ#9YJq9H?T`n}?ۛ3Mڌ<2Uԍ0^8հ#a N*Q,ЀSv-u=?9 c3LC!﹍~VWp0\cjRHpkWgk {>M  '1/_"kR.-ue`UlNEOـsڥb"5W҂1{"{h97SEɦgLVOGFpQ C^I[kH-kEG+LN`L#x{둭l E| \gVC頁G$F.,=UGB2)<2Eϒ*dwp!%9NB8; u64Yb]k_gZڛ*~W,NG; tgt.آ|I1j[`Q 7EI}D*\fYo\|z&חN:@kROH Wq%ڑs_)BL. 0j(Q֝MWܛ`lcKԍ>6?d[-Bgɿ!6;原E7Q)9El7 x!*L;Q.8K~U-#,(tlqK6w1Tig1۳&XlC9wPNkIO 4Nqb%TlT#SW= !M@fv،gȆ7wǮBRMn%XH7.J{':X/b^,p2}H"W*N%|ٓA+{vdD>)h>Xz|J@"EK &W&'Bz?5$bH${4OԤ\jXH AKTHu*H+] tW|r@;d=% =RAȳ_{5v&R5$4o"eEYԋ N/ p-XBK͸Ƒ}1xN ~bEd4-P fUMӁ mO.$(*'=V(Kx{Pu7  oWmEL<*AʡY䵁vYUgG|y-!ƫY#Z/>ŋ$iY)d]xܦQv>,D/t=)T0^fmD$Fl{,00WD;[d/8UPbM= ZA c`p^2*0է3#yOTyWNfQmv3_\%>]; RjCUr|wcz @Xǩqn${(h׍GH6)!^ (w2^2lnW"& ԋM;.sIτȦJע׾i RXn @!!hǎּٛBO\TP#[)^РQ &v.sf"sj) yOɌPU ;@g,(㴲ǽDbEo;5!vLQ$rc読)gAa 5en WsգzNΟ,^ٺ5_Lrnm = Y.T톀/N֛*rR ݱ5۟{(G\`1V/m|7JÍ㓽TÜQk)k?"ɴ6[-PS1 6ۙۈQ%eFfGMFvsG\-lY,5#WBT-@}]u1i{Q>>KX-L7j.:1Hhb1")#^c'+<`3CPUWRآ 0}oyb<`)m~yE:Q%2QxiT;c-GT'3 +&.J _OOA'üClm^EFL\Or:1j\$l u;;"ILVA/9s8+KƍT "*N>*٫$Ŗ?j!/T#]nT9ÝHZcwc5eZj"8q^ӅsXi\ea}AݡS2|NγvB0t´ad0"5&fo>ٜ骑3h#FK%X RŐš jQv xJİ >m In &Ӯ '2_ )kNX\9#y, sZ[Ab5a9?5q%I)f2/#;`i!ֳ9㿿Ut|#|dq *ԡ;Bc³!tւ3H1v~NY &DΗ|jEUD,<Ƣ~#!C>sL:'6S[gQ4õ7 .txY1U{MqVXwZs? W ')}nw'r_ +5OzK>8msk%ZM  u0ɛH Hd* 28¹zFO[onY#!Wh}%]2t5 xnT#:G]?B;X$ .-@48[ҷäJ2.GvzMt,CD*`<h)d 39M-*Mg'Tx5tO}8*bGq(!&$$ 'OۚOnK^2Lq 0nuosjc=F1+I|bO#z!H+Ye[NG& (*?D +]'-bԶt5Hu1s/4Jן#A0+dL/4jrUl>!eZ7㡩d:K䬮G?.l*#W4Ш{+[jVq\\2^ =DFzr7n5kU)uabJEJkyc˭C!Uz}Nc(-KKL$d(cW٦c9 f"OߧŸlFw*E~@2pkĎKw腓 '.w c9m#}<8R+9QǁfS;Aw&zLK#g˛u{ڠ%Ox}Ot'7S#I6,~AgNc ul!+$AZ_3`~nntBRvעuuj6ReU)=M?&U8e*Ŷ'ОD1'3X? .L5*Pqߢɱd9a3&K)bUG-jx+x0f13@ju(;'M-4?g`-\X!/$0V)b׭;N2vHGSt]J8r:q/R=^1iXBǪc6x 4tB{nˁO6! h pHn74Oo #hAܬ;:1M <3cpxpq1ɨ5yz ?&5>ΰNQow$R3t(@Rhj컸Y体Sہ *[[Фj3 >Ϣ`H3FoVJYuf$bRݖ-u[|Z2I1H7UMþ㍾s+%0;CߥϲشX|JXI/HC"Z:T Ӂ)~'N%>Ä5DK2P{i6gp˼?(߾KX3۷sEDC@k]rOW _ 0-e+xpS]mlC5kPS e>FBGUuH:rUɫHlڃǘUm40"8/ ʃ௺G?.R# Q̖Q]CƜˊTI\K}(k7%9:~im3X 2G\ķsܐ[/]k3斞w~5&mݬX \.pV?xhvӹ45 оW}TY7}OZmӎ/X9ql"ٯie>dF xRix% $7AdB:HwMȁQߕA6c"I~ 6 H̍7Ϥ6e{o3=9kG (b-pF߿['ɇVgФ BgQʼnЧE2ĻᶭG{ =m&;cgh/%uc,4R}Y8q*b i Frbt"C%=}rb|lXJo6t0() < 53l!K zON80FBe(nѐ>Q )ѽ(REA[r4*]뽓Kq/Hߺў>oG(恠|Nђ'"AF $nA[ H+K;7a>lsri {V4gNUtmnNnJqPJp9wWsƏj+ 0+m;y,]a)xaWX _"~IOϙ0)s׮9$t %eR֧ ^ pf9PgYH?S¢sVen++"9>_$PQ.NPtUQ6]>5uE$df:w`E-Sf\p1tyz $6T,5D罞K is}?\_6c%>eΊ懵ԅ:9.BgH9Zغ0Ϩ>{{ &vDC>'?)v^P/$Օ?$$ېeF! ^riR1U \Kdpd >}z~Jh"|%b ~و~r wT,ͳ[ VUI>̉5Ա@)zEB.^2S0n8b(YLv4\׊O^֥d[T[9dP>ҜG=t{ۏ0JNNK1  q<,z ZL^1'yc,˷2.F[hbzE3xL/z |9y*^UV^l3yUUEUąivF (mrAk.CoiBXjX2l gXB4 TšR^iTA` k(,oˀA5 h(BT{m_rPrxEFLU-;:rn*qyUi-Rom,SVCy}~U]H [Glw,6ziM J̜$mDOnϩƥtawRPqD4̞M%Dimr@Ր_U$`DLQGZ"-[Ή?~>Ўm@x+;ILIU?lTWfT'7BB}j7$r!kLM}e#4>Sq)ab0L0 #3PĖT;yר {l 7\@85'E- ̄"P_|y\oUeZ1H!|lъ, 9MFbP%2PcL=gc\2uƐmƥUEP, {f(*w]?-dɐ[|{7odpEV.3@[*Y[eGl;jh(IeB JѪa؁Dye8}nj@q/t.ܦA`MF i T @V%?/ 7:wJzJ ۗЫ9X{=9KQoVC,|qN>#XfPujKqO>^D\:PXqAcBˆ!Kt:!sH񂵽I,a?fT3$%'g*)I8jܲɷEVJ>Lȃ>rR8*~M,{5O6@c tD-| Ɛ|JfN1Nt;bpڰ='iȘ!c.rּNO2\ŎMHjB3jU\곹.;b4}ʬCsD a°a upYt:p ⊂Mu J ](؄X}ن)Ue=YEi ķ}{.ܙ`;H=!uUAhdh%B'IWbU~PJe#)z _=˲G}Hտͭ Y,59&h!mn%.H}.wxkhf')kS5P~Uv̶PjdLE~R*t8lt\PkZ΄أ\5u9wuRt ;FxSUEH8 :҈KR{3HYQzO:o* =?/LYET(qmWm71'b͞kA89-b`2ro~~h?(&0+_6K|NBؔ0|Esɑ?Q^ͷ(a) g9l TY.dT|RM`/֟jNNrpQʬC`#I+\'C@E\tdQ+SJ{Z9k_R IBt ўBZ Mkj[k+CVN]ؿþ.(-3uvR& =n2دoA9K Tgj Li_U>_f{YS}k7lַ.q싆oY8h;_*Utۡ+gp hg35\\ddk@W "ZV;&\`,Lw,ao>"$\K+]<ɕ9 nk%$Cc[nO/ ZfԙD HPE" }Te/n0u}TqU-`H./U# _wYtf|oU0nƥTiH!fMK8e69g:JzU5HχbAɗ4q%YڨtdGO҈}u4a%]xϭўk:YdrZn(zROI;bio8c< qgi<S3KU6]UkU0)!?wp!`!I!<ƴ^5sݘ }C)>kKU%Ƀwj4|3#*lY[{QYr|5s =а$:qaGDL椡 nL|H{_$Ȳl4+a|3F@:H$WnT2/6B3˿ǁ3!Rt̥rjvɗׄ5[5Nխ_Yq|׎ӆ?X#тI}w2JӬ4j0.4z rȋz=qaMi/0&gL*VG>}_ȆP y Ge焼*vEjiDRИ?i39&$߄|ZrtXKc6tݎ ʞ|Sw~sZS$m rLJI5_D`Q74Y f+YQmjHPzD՛Ds2MoUqcd"̷+G+ȧ]%s,b2NĔ8:2sn ?~H };6뀣f/(9)4Xfoi.᳂;ΡES.kUhHQ6^ ܵ;j;ujl>kY6R~2&MZ NJVBD<M$R .F,%^ n0Wk=u J^-/?Ps^Y>`;b ϗyU}y4cŠvtJf@+ kȱ5pE]LJ\JUg0%L> 3]B0ąlO-\1NH!$ļ]n;٩pi RqS)V 3Gz+3o|+\e# jI.DžPFE#TCpODw+Pʊ:4 pm M*un [jXRMwؒW_FD> Y೼>㿰>Kgϒw ?G]3R٬ ITSQH. \'\  >P%>FJn)8| ~UwQ 1<˂C[h߳3pfv'1t2:'k`9:4;mf/M?Af&O/$OwFPk/kh6{]ʞhzluP v j=:B8i+tQwzcuuTUĂ)/P|l]=\.:ŐӁ(%r}+0[<[:]HZ). + ڥU} t^nCEf/VA.Gˬ^Ǣi?5rl3Y*y/ŢdJ>@]TK%-k9XO;n$ tWKiޟ$DT"ɅƯVhԄ_U:fhE5 C&O^SP?!?Eg\(7Q)dQlzJGicIkqa|6N P竇_I]&.@c#Y=;Wnok `ֳ< 5Z:wj(jyz0~3ea@mnr ƻc8 nPןtTXGV;*$ 4#Q7ٰV&B+1"'&I#G 3^S+ٝD20ފ^@poxLrr=(#\H7o2ֺͯ~#e{9Z$1b&C^F?.@plTVO&@pĎӭL7(؊e9ɰ+<&`^z<_a)i/ɾ9boZm!f/lXuP7Hi*8ds8]VP*y|ktNH%P L\̙)~gkL52:yovLtO\d-B[RV7є B9vnKd2'NL/wR}+JLX7}u24/%@{ `pq{:{5FjxNѦ R`eDѮxu|]@+K0f@oi/!}6=5nW]?qpwx@LC%N\ʠd  bb=6j/\lqSPZ=s3}m:ʛ&}sPu9ɧ<V~u-RjlA*YD5 6\[&_pwQwgHz9eUe}m_qY@oo0XrԷE h; _Pq>"KVxT.` 󫩞WA:1_>3 _ٙ,Enj.IF>фFV91xH2`/Eҥ!ȅaȭpx'hNZvGa_eZ0) ѴPtg-fɷ f\Y抽Ii谰fjspBV A#wu,-ݐyQ2;^*t(מVYM_wy!SqRNJ˝!$'ugT,A# 籞lBoXrgP| YkzR hd]Cj}l eQ ݙ` QN4W@%V0h 0= ׇ Taa\^먟wcS;iPBC9!Om H< ̘Ig3P9㜉WYW(kF%'GٵG3ŹAU} z+1}fs5+-"WэY⨰CuH{vdMR[5'eHS֜]$$l30A*({FB_~J7{)Wgs 4t> 4`DW =":޽!b sJF}-~Wb&Lރ]o@:׭t^˼P-C{5|Q $ <{Riȓ|J}|z󣔬1IK~2 za|.Ҹ,8ȸbN=Vu{zAkWg]`!6~]|R5Nn}Ǩ+U>PVk49@BojWS9r61FBj~ nO!9jNspZ툷H$::.AEL,mLVZ%q&3^/c}WV'"9f໭^z* +;)p GFhW8yO}@U)Wk%.?x(UqxrιX[W΅O7UAZVS__[XJ̵kEj\Q/=BOvW.A oƘno8$4{EG5yOh駴 7;I}޻XL,flF<]Q}6l&ˣ=x&@W3(б'<.*xeAwX+zz _ vt~*89T{~~_N v:ʘ+uMrvfrL /wD}ROh" cK4ȷN-'Ejq;t}1CUmƾ_KC`INbJmqTgLԲ0(}b3 *bVz 9;s\iLf7b%ұ[iO-3nܴN#Xii8/JX[15 \>uOxCKQ*<)(7zy[3|)i/_z `q7jEtY%3bV9e"!"ݚQ<]Lv*?N_Mm>rr$PQe~J.Ly( S T"snE|,/P2)!.,,7r-q2rvT<)7˰~<*Pt'kZ*p?_+QT#ݧQ*Pޙ>lImԕvu˺E"KWoއ8;j؆nqd VqxEu^e4L.7"/teh^%Z_̤ߦG= ybV%t[=uXsx*G*iU_o;ʭp-\y (ǟ@Zk.X">9̶cMxlאVߍ-eW"&OUO8>Kp?PfBxNE5yF1 HL)lćXY|>PV2ϩ1ar]ͷ03,--h[tJ+ s0ETyf9m7!|iO[3=@?(ti}*vq8}pyLF ͯ4*0[tLϡgy[p*Gl#2;)zf;@i`$vy1A9|vC3 ݫw[D\eq<SN˧BD@ Wcb|n˚-A;g+[bm75K\Y2{Mn0`*1Hx؟fʪm]M|Cvt;kqO¨" oP=Ma SdAn&<3BibkSٟhfb윽 @`(z38gdɫWVZ?;3 G>}?$z5S{cFh)ɽS\bI>b/+Zol\~V|FXP(0X)'v PdsLN7( J;vzڴ*rek 1&9Iƈ91?Vqbdڔoo2`뗘7x4zj0n +ifvi5z=)ejEMY_>b7ROGvE[J8J|_g9//e|>9B,} +[h_z`6A)?yY5$!P.b}? '@wS:()$OEUC6dD: ;KwS- JY!> 9;EZ T3A.=v/MQ᦭nɂ8Ѕnz'dʁvs|*Kmh;P_Vc ZRԶP%YrKa$PƵG1cy`ĶtTeR-s;P[poh/E^ziZ.Gײ`}ۄe(krV>`-B<Go7Z*hO1=3W.g7PphAޟZ t3՜葧8jr^&_tG 寥NG;,"v1蘮n=Y_7L*v~1CkRG%3"2ŊVnm.CIO4uX<}dż'y2nD*zO &_s<ޫA -cT}H~1ALK0īNrjUSȀKMc"vwe?hChߣ[lWW : Am,4vp*9Q/Ibp)=~xG$nZ, [ 1+yZX#_N ˴(>aV ^ surV|&7LMpe3ϒ>i&'W\EL›efI SO-3 c%5o]83dX@YeJcC@-M9 \ms#w)~JӇ[KJX-/7 _urV)Z$C:s6Z+b5^ M"% ;ʇ1UZ S%P)*iF}i !eBaΡ͑7VٯpʐnmBumbr#@*<`ɘlExih>:>leѝ>; h󋽿LT&)DΉIA8yxD, kQ2 (:ݞg a%*mNEBCa_qz_bRpiz(ٍ־yG+039 }hV5R%ZfP`:﷧q|J3J^/ ֍j\EvEX}^G>ZF mey-ێMXehNb%k?jR@_'0 bF|_cb4n UW -tC0b^;QF-ջͬ|˻~dڸau>t}M'1%AW8ZkP==61DOQTrT3I0,uS@[iYob~>IDN6e"-u=3M 'ؾ e.C%6Cfi @"0PE/.m2_<$t3´)[KQԄ9mi'>ڞIDtcnJ}oe 6Ҧ-EXI`߹G [1ŶF ^ r*u#"J"X4k\9X yR\=͒Q@hy_~L9C<*|rlg/P9WN2/+ 꽍nOZ%_ⲊG( AY)opd\A%ӱ¤҇kfTH:G t v& $&a*th'?m#o6t#Z ׊WP7[ns#S W$}f݄VPE&ݩw+w^y(MzjRrN=c"oC!؍@P'S7!-_,C2dXSm!/Axu òrNBihYs?iHLf IzwMX3Dֻ~TOPTgvJA3OHͱ:!7dZ ]`'i(+ӊ D8ӝH7E_MP~We,_׊}/¤_/!US#In>PR )Ad|5{Hn$v~RØ-@J?uɴj?k l@mMsIO哦N hU =&8j )͂,@'Ќz5 ZiW}s(z7e)iއCgR/fqPUCFk Z֐U\={@/@FzMUV=!8P2Y~J2D(-{Nָz#9.ʨ'O䦝̵M_lInXI25g_)mF4z)JCDA‘dž۪ZĞU[HhƱ`T-;`d0ucK>NɜN݂H !Wj+ &D%6/qLM (~Gl^ԶȢ[n0g4E ر(}'_Gl.޿L wgjWP ZAЎOÂ69آ 8Y'}6` {/Ƅq>Wpct-h 9AZk [/ĐmOR.W*x60A B${zY8;a\Ñ*tNS:9{"XX2Ryoa0?rcK%)5E*I+0mY3vϵX1Y3E7 UT20Ԛ(:K^( {`%3!8XJ IIek:3pERL=j۳^ J箔Y `Xd";{0V˃EfD52|ϘT-?.uEG5M c:5v>3 繃ǡ~E'lFj--`'ve9+qK]V(}JN T֦ˋ4;yU%AzPúkIayH}TqV?ᐗQ l>DUiVsv䲷GB\u̩VOvN 0MB,s @Zb]׾{*Th8ik,'v^( B%58㯱-u'Ɩh":(&it>60֙]ۭ?T6 9MN-ͅ]~Aٰ xڠ=n4LΑuǾ ) =yׄf# g{|n;a,7Us8zp/OR?s| ao_SiLU Zmr/#`g"Spq=L]7y'mb`0Q_͆9eEJUjHxpOx(=Zh9쉌孍<;ko$tii7x` M9IB>3q 1ng <=LVhujWeM:_4SgXpAߴqØcS d6Omط#C ATyj"8j ڊ_!/:~TI=K%5 {J daGn֑ƻsAOfe`) ŴmFZ@ϢT?#5x(f At.=F%mKmG< Q"u",-e8Qݥ(<}[l#ؖzlEZfqG' [m3!8A&cIdʭKNu1ͭ]i_(αzh3(n顤q룉ibyCS7 'yHGzFH-]EXAT!j33;$ߐa+`„H͐K3ӱ[i{ȑx!(?9<ʯ[w(7ΝѦgI\]Oty赱=`UJf w֍ .H8{@8ѽZt$Sr7qfdx'#9$ 5q~c\TEh􋗕ckܖ~۔W/eo.Y25U+ 0 8w_uI$\QR?}&95bGؽfRg[젉ONi QCxzK>C7H贓d++E:}ۻX\LIBXx^B 8$XRȋRx*ia|\TmK^^PB/C2qg !uR+WS$l?p;&_vguch^eA#&xV J< ;1S~,S:'T&0(P­ +C,hCb o$ʥsM|#!~PvOy&ks|{2.9{>ŏNN/EB_hAL  =6]d`e&(bEʱ 8[ ('Q PTIRV|և{W#}xKnQ󲘯_L?$WPbO{łC:hXl`18U1?I8B@NQeuA2\o, I"i88נғEm> `xklzC'>C i˶!Z(foaxzt`F&:x؏jFIr uhIb+T<\i@6d h[6( 2~ɺ(^u0i \'2vr29ݥߺ ~|VW/T  qY5]{l4V|o/W=u) rT# /vvpY~I*(-G-Cʇ#cO eo.v,@5bmu[:;qeׁ2Աּ`kGfGʅ-h}fS#P@@7M\WJyڟUF*OsRF|q'cԹquQ5]k^h\)3\oz7?ogʵXf /P}khdu3 b/Rq~w2g->Yy$ r#v!ഁgsȐec;&;BdSJTY#*L4qeN5Q83g7T ʞ s!~$EVӧvͻy:EkNv#oo'JѠXq'8q IM0Pb/zrbyƂZSghڶ9SnW{Җ } :# M-Ҧ'UyX?ݛgpז_Vyp!@kA?dœY>]4%u `[k)j)٪?1V"F p1шuH}'i`uQp퍅mnPLZ d_*Q:#4Ep'uC|XJ\Nibjo}` ␐m{顷s w]BJ[hSfa Γr;t!IM5wSjTDqRm 0b#)ƱPx>KTaE%\Tl1}= kdε2):&] !ےyqH 1IʺD Wm]_ AR5Plӣ@bڣ;|VQ0]6k,TEwFPAG)=>E$3&v*+@R ~UO{Ȯ͎=qX~ 2nPſDRBx iAغ"eHnpkj+UmMPF7a7iai(dw[J:b1:2=>էza5KΖ:aLȑ>WFֿr(wC<.7V֪,yE ṟ 9#ǁ_{'f&<x+(Ur%" ɭ <>ܥޣvBO3^ x:ZMS7_B *68|;hf@@x1AKq|;HGJb;iVi&`V۟!xdC?i<~;Q(А4LϿB:r&KTm>V҄q)ˋ{s2qL`ps5)Y>Xm bD )!D7>S B-"CsG" ߂1"pTbނ$ύ녴 +xOrtmA5df.t=2@@PѥgYZa*-ٴM}ԋpA*ENo HQ\*Ir_&%# }%7kiIkQp)WA6CP'f]JU*%r ~JuP VUʽ&ϷJL|xaGl+߫R*Cg@d;b+"z@ri;,Di;WBS X;mpA^lSL눟Q4,xtfiy`* rtQY}d7y#b${1MUz\w%GDÒ.pTE9 җ,/I`6gJ€6VN].VǨf FQ)C'~$zc}3`LP{h3ҡu_M4IIe⤭ ۂ~x fϧ=I?*ztj:-ղ!:tXH+ aˮL1RKA%׉'{Sr3͋CGh*mۚ|bP4d ,sd̩}2b;u2JYDTcO{OxYCYo4mr#D*Clk&1Z"9, '/}sLHͷF;ibJ$&GK,[x/ʳç/C'S32 ~í#QP*dF $c{BQ$|cr`%ZSa ѹV?P1SF7h 3}-|SfUf{/~!lH½p,;~)w[KVӔv(*M Z`۝7ZQ좷 e䠇 ;":7;}Df;ƞd`ͳWذs (j㫅 p#Xφi`& U^AՃxBBXFR^l|?5nb k`Oߜ6\<=/_qz˖@zVE0&+kiwPN+wڰ@gj]Q5IkHԄ[/ zH#O=N% "M- ب6Z v ҜxC dPKxv/xhfoEZ<3/K`FfCBQw;qoYM:w5iN\ӚQ/sqrJhE'rUN wi Ld lf%59*N%lV-0ZʸhP Ѵٚϣr0rtlv-*~y*k^+oh|ɼ4Ovz=k%-.XړT ysl诎q]vNw{k_>شj-p9>޹bà;%|ν(kk]]T^ƜWt15HJj#S˓l%WrH+  :cWcivhp,fWs*U-c@)$b8Q{AmKGcD-$:Kp"gP%y<*Qþ]e )42Ԗ;OZItSRVt܆v4X)Ğ>#xh48yB ^ѓmq.J ؇CSOzJלtNgݍ T-DSta-JKJk6S!^&A< } hDMͨ.d6ctM.LƒT E;{>h&hFS/~}&PQ,\f?펄iDeJtm6x.hbHvZƾ؇HH~)~)5ch.b. |1W#-D. Mb]vƣhJ /Ҫi~`1Ih:ozg}>U{O Lb^$U ەRZaӣ=TNYt{eנύHr FP??M 3L,|rbD~2Ii^B;T\RYCkIǺh5IO(y6Uzi<?DRDWPyi$ xL4r=Pb;7H]xqfR<˖߷RĈAeO,+ύUmv :v,gT[lA=5; KB AVɏvb1֗[*N氝'ٔ!H2S;_x5{2qnŊ+k7ABŬ9j;e\)zo+s% *׽EP:d+r>gZQ_уJW{ jv"~pBm LԆW0&h+=$ԅsŧF,X`:4H]@U]XJn78G{$wV"^{ɥr\FU;ؠrԈyS !Mq.R0k3d t$`΋Utj #,gBJY^ y0J3YBD9(@3L3a`fP\Q?lPܤvc] 3S~&q;+/UAqU*'1_ƪ$$\|QHs|-M"6鄥<9'scLRΨI޽dGOHjԎ%Ǚ</NgyΰxN bS\ hT:`Z(rX/]-E;(`Cx:&AIcaqO{!dP3rUJKf|EX3嚿kAF!;5[C];ӲkDF/HnIC`(y2:-IM"a)[YYW,,uBtDF"a,,o}>V0tڎtӻm",< {sq7`ahu&aQmt`WlC]Ȣdabu-<=η㛱'Х+!RPإ_Iڕ~&K4UaʳhGq /\Gֶ5At [h q&L5 m6筂0ETػlx8IQ=j} SZX [,)zȯE9&DL_j6/Krivwqb(z-17垠 /o9jyz+βABޣ))j \ ?1b _)"2Ub'uE7=|qr:jy F@A`þ>f>{"nPM%w7ndo`(n/Ry1Gzwi'ЖpQN,J 9*g0@ 9%<';o>fdk*ғP!*%?ب dӮ97(G`bvN`ݸiͯ{ WG)嫢khe7'1sl*M?ٮV})Gebuvq\mFτ nq $(𦴹%=+±#joL`>֏Z3b_U#:7(2ݱrG8iE+=U$\& A>v:nt}T..OC@*oP%hfmnSfZO憂BR<a77&E(6ϸ(C7VL %r<;˿ yqE}NE(N[!@tdn y\U)K0%ƩW'JڌH1rP6P6:}8[s5_&"h| 6%@4<4U#*m2 {cɒ1VMQ+e(ai4Z8B7uDuE6w$EYtXɥ$[%c/E`;C-$&f-\fW}̹y 6ljBI]B_._I枪 jWp~Og[/'JǷ7)V<ɾ"g,'Kgj׹dŹ_G~mU˝':QB=9B6=V`zo0=e^'ܷ[Mac)51q+ %o}B!u< 質2)unsS$'c]wqVŧtĶu֏Sߢ07e"O @ù4sđǣ cjI0^[#V^!dS[V[N$?-,e"f;FPT՘Ex KֿLDʝR1i~!csFK{"H1u?Eez(|: FN%9vK4\A|qd܍'$uP)E-A(7ҁHT-ۤi# Ixhx""DUAh 9m&HZ^fijlw6r˃n8PJY Tޢ]@ky*;rb5 P{n]'BE< (dF㞲Cp0 s 3UZ_iSɎȰe,sX&Lfg 5tο{O5,2y{Lp8Y ŷFm5DyYs4_KԆMɾ[Cp%AJw}ؖLkƖjZ'DHW̑Ue[%7OC+Ӓ[qM˸L"+ /Κ~|+B' D.燅Y +vɦzO2VKD/7+C XAJզ6&lp?v7-bE`^y>\2[9StұߋUS@9FB㨰[@lj8Ta\XLj *, A_?)(|_^J҂}_n&έ14#_LC+YZ^CM:[Lt OŽu)O;`V:{/>vBYYɿ&՟#Z*4H&ԝ|dN16;kV vQJ~VFBI=T!q.y ٩ks+vx9%879{n5TAQ%lRbT~X*|ŀnG >8C !7]EAYYNYLybW-`=e)RM^p ځxv:c'*6 j~X$ZQkGFC3-Z ߯ǖ_UiP7Wl``\X[M<6( O&'F&9?k s0"LE!)#g;R6Ӡjӊ b'dzH9~^ AI{4O=.ƥ`nyq3R96i`S 6 wix?4<geĕ]{ UQ59Ucr*be9 p x,h7? @ZY°Jbj FX}7~w")deKxQW* ryu05)9H';XT~ 9h{B0!JBԱa OEVٌL_\;mO?GPՖxR(ﮈ;3,N {BfIolkjixfK . -PE2"@b~82x؝. {ӹ*9/;GwFʲ 7UņJvE%wc_l7T"k97wqe8-ӟ~ E"YDA&`bຶ?n%{ùs,g\"l.xm: Hnw:" fv8EXGT`#"c~|Z!)V4Q kPE9XUvVncehf 7,a!y|$1L6#ߛoo $g _pu.U:!:U:ƞ]d}i3uiQsH$*S%oApSw< AG˘nVŮS_+@UI 'k*-|& E`S0ƪX-a`yGXΎ )3/uiI@%sF p6Vxp#&'jOTMr?xC V2\D3: gb4FHx7c 6"ޅ{ᑡYx"SC(p% = sL&+9M`yOF)&E\ }CGml(a\bUܞ0ip +xSG6ŹIMX,;]By9aIg>FYZ2 K[Y wfQ=I60 hMZ#6iWHEC7{̴79^C_vFv^!6 ;yW:hh6a ?E+W5mLB@WZ~J-E@b_QP/zYE*3]R -lYbRC*/Zm,R|aER3`ꠙ1V3fAQvpN^z VB!!i+(ig3Qل=NdŠOzNYE.eqtmo%4ErOF|a4ihTBM"14뫟4l['5 DeHamwǞ6DC dN] |PkB2M+&u0MRnI0s[:U0vuǔʞ|PFg׬(T콼K#(5S Ic /AyPS{0p)"N+_,ޘQH]%U%|Tj85tǛBvG "􉆵bh,HhQC h P}N}6#SB_nϬ6EUT(,zr|:ub.NHϪ!W(NV8ȇD) .}~&'n>5ڹ]1:^sQ;j32j Ĝaӓ qA$y2શa eM#F4v!q]"*OZO=,V'\ AZɠ娹?uk;߀E Gx' 'Ȕ,G'I\F*Zۊlx=$~;&4~)n$Ie;`ۄjEHΌ^9]@m)Iwڅ&yç'(|,IDYj Iɬ8mB (\UMCZVü<&a;8~0Ի%'p!8ch$J GPm}ק}mY|I /Qt|#l}eXKt!;~tֺؐTc1Ern0 2o-Nk vQ-=io &K7~ˬs~n-b;iW4R̾9#">H,'aH`q:YjM+Io =,iweIw7DcA[KJ[qO{Q+H4o ݘ*-3 1)f ቪG**jm%N7vܷHtF+j1Ձu{!TF)+b'3\˝NMog2eM1_(;'%+(>Eblj '1rD6Hmف̻ 4Yh0@gos C7琶ʾID%M42+wk}֙;5j;I!2/7׽͍\ٯ ɲ&n8XESy5#?[AM, vUPV,AmO5 ?"VjHzOd>5s8s` d'?@|, xnP2V`Dm@Oa^jBQxtTEaD֍&;=+I`~j s2aic-rĻ˜;v7%jڻ@97 9=4ԩ uB}ۇd_x EJD^iV 16∗ۚǼ'/ F%R[`K> .oAQKX%`N"őMC Չx۟wgDa!!d%ȐON<  vY]^}drB &.}< >q ӛOiI1#6O`IH_7@K_R*R}ЬgUepB j^#uRgER ;BRO՗r gRfpy#~iST ٻZU3FN6i"Tss>G/VWi^GIv4ED;ga}IWR* RLjj"VaxX^ՠfZ'yOm^5HhC D. WSfS]%Rfw6,q,ྲV cEy/k;>"-rEA U0xȔ;_ꚅ6 ;'ϦJ+?IJyv_.N1Qi<8J&g2֔ û.}9^Ա-6ݸ* [υ$fR<ͧԫ /kgP^KՆl s$g;" O2!JkIL6<Կ/a&b< 9fjί ?I`uݶt))\x>n[VVC^GB&CA3mar,#USEsZ.6p6Fu2BQzz#6iE'BamU4;`m+}>AGԒ%EUXB"X잮 VTw#h_|bUꯇ7Pe.HqK>A\!*,:me7H =PG30EA(c ffɜ\0([b+242B3xƘ7X77o !Ew\8|-I:K#dh0hv4o8ѵ]-@_MI':"wop%n5ئBf/cJ txh#߿ǵ*|yŽ&AOeI[NҗY yR#Ҟ՝t/QзIc$jGӬ(pq,ɒu^bձr&RX`bSj^=M >̺8\kL2; 6_NɃY@!c 굼lwTr{(4M׍48/}vH)!7 ސgmJ029j8^V@{~tb3EǠH l3f3h\ՇP*IY1dK *2xRF]OBqIƮ9\rot$HaxNN"mϳ 7;ɼ3Q c0F FZ.$p3Jx2B^\TuhH/~+ ळ^XSKiB]0 gB\zſ,%ՔZ\˫L!ScK 6e~ۜ+I ;v<^l?c9zG8'"^mh/OXCNҝ'#j`ܷ53ju%!mF~M c` 1 9ęcOêg6K`[c+F->c.E(W0hyCsO1m+Gn4Z*7𑛡fn%nZÅzr6\.yy3n6iAF.?hE>{+BT*# Y[^Sz_(n1&_60ETI|Zv1B`SEKϴaC "BKƆ1mrXty:b#T#ntRN<: j#I{$, D|~oǖ.p[䭬,F?8F=crGyJƜ`s1ս8cm,uh8y.(jc{X:+3û 䡴#0rPaH-W͑ E[׭a(mcS]V:zp2#MImdM}<-q?֝K|V_labAڝLgx=U/4_dP%t4Y݅W\ ? ҳQN vRQbxfcP4wfvG?b{c0i.|[*LW㗈{C BLS\Xvƒ~$E rg3'?K;q} @=[tڣ .^l> k/KAd(Ywﳚ;I 3YI"s QIk\ٷ倃55i%e~VB\Y>q*nïr~9ހ'74W@|u(/4|NjکԴL*N(Ce; #[̌ڵJkbu􊉺sad3zB0A-.50zI5^N\xQ;/,&9/,h$i_:?NZQN 3np+j}m?u/hRS}h;DS='R΁Fz 8 Ce. ǐcc8i`d`uW4X(-5r\?zhMLt z6dVZ?l0ϒeBSMܣ-\}'L7&CY?prQk] x+`^5& z0/'Qr[am_\$CB=CoW8o5J"«O?$b(',){JY  Ӭ$??% v)7n:O 1u1s&d\0 tn6)Sl;Q}!)LtRWF9bũZ{db20 0֍t!*]HP$cˣz 9)4-h.B U~ΚE{s!>ij{:_cL ޿iI.n[F){37{W+ ^|4L< \H׎$Y)@r}L/Q26p_; 5ۇb@e: G8pc%8W$~>xwa5 d:`b>8r:"C17-x3AIdNJNoD]@&Ѩ|;WH4UTn?8mQUȽj=a -.pH !38Ror-kXwE)uVXw+@Ϊg|kw;{Ch%YѝBap0kl46f#G N |$lj0d/8:ayDӂ#*):oLdf\)R<1ztPsl6D ֘)ẸZ!qKuҫ$*uF$k}c㆔e'{NDLfMضDQҁ䥜 LA{pD>0S!vdʨ/+~ﲶ{E7h$ kU X|g7Q39ޯnN0Puod/Y|{ ,L_bwKJc5f !(ۜЂ%BEmb˟tlbd| ɲ8 Do>HtR=]!F!g)hoiKK74XXzF_p$@G4s6U ;2YlkbL2gL&(;[SNݱA~|m`R Z@%Z">%YLdKNūT|ͩ iHqB?A\SirMITg@[HEfV {U[a <ȂLC8щ^N E}2)[/%Lǣ;w=gv$7҇|mF8Ṝ޿XFc> ou/%XAm1ޘb1ߥ/g @9xYo z[#|Ֆ]`bky2.}pR;K{AԂ<+gu0ujrF.} >ILˉ&}==+qKeАg, t;ޢr"F+\.kw50z1ZJpkI\<.Mz`YF#luV1e7j'YA(%0=V͢K=}4dG<&bԵh(pƽR+a¨#DyM/nmjtRFAV ZZqEx*+50-I&iL_Fyn3iҬUٿ6A~,* *6g&%|O#ZA/ 9e}Tl'0l(*]82|1H\$Ӄ);\cy 3DqfWG,mƿi;+n6<ǫq!^Ј3Cm|xlmϓ=oo"EvR˷wd^}yŌO1$T\?6ų/pM}â&E :W^=$Џ$<,au/>lzoQ"=Z(6hɊwU mz!~Ui5OoQ { 2`(c o2aB ⲶWG)Oތ4mՁnm)](R ^ $c&¿U7i(~uמj`g;=VGޛG"M+4A-ds׉Θ EQݚ@d?x\9N{6')SW:GѬ0$^7XP4of`Ho~5'l3\27<GmXg $<01kqeor;i73cyn Rk]=ֈ|:%R1RN J?>&NV["\λBSBN)F|"?\7+7k Z֎ O)Z vI $nb~x ~D eXP T PCS#"-(MG ֘'h2Ҽl~%C³T*)$𛁠)b6|gtuo{ 6!cg9Kr5 FDo6ԣ*Gs5tv$Dl uA 0Tc#4\- }8 f|?o7cvYt 0h%Hty~'#]ŴZ7}"\{ LX`7kH YB|E雙Qyyd|o>|뗣3v4D>HF3v ]F .G *_:vW2u7 yAҳ>jFgz _ধ]k4c!^$Vk@2<+5~ zGJ_ZIT mAA%Uɴ&#|XMJXgWC7pL0m`p #Y&3;лQP-ff*G$P]1i!.oK*I# )vU*L *>b'Ҕsݑ)U66UAi> G ˑÚK"i}!PD&fBdl EE:2GЃE 9_ 3L}zvm NU*"V"tKa\ߌ$n/ch~[~k0"ϵ)z"ֳL2jo>&Osid͛ҩ)R a=TM484w[9 '-e.ʼnN~7^pa\x42u5dn:F@{S/$͒)99ue1LWɹi&]A a Qm}>ƮBZ+"b-~жMl貙 BӿY;bv82`,T Ŭ菟ҟSq}5υ/yQT^}\wB[?^u}ѩ6>T۞>&0*@pS4A(/Z1IԒخ~pC[ttE b{sjB EtrqC ɠ[!W;D,[jX#&חT #oJwέFVu#S S+q$60;Ve127!o*#էV "7%IU HQύQcvUt*⧞{/]&%7;$ "vMFpe[`ƚ T.xlP[?k6 lcq8%NvSVS&ACnl $TrPՍ]P3uHZv zLf͆^/}on#ʹҫfǜJRUnJ ?  :,49{p˞zIsqoWtueηHR-,(P -#Co4Bc1K=rz `4L냱@S} ) ,DpfBAeL7:}: &"p:~QSl QY)y[sxs͚6T83tJfϺ&0bnl. DxЎRp0aG8aZNi6{xL0>'N֏^XVL[o_'LigS*I ʶ}L^o&kYׇ2{ȀJv;2pqAGwjMA#ۓ&[ujb zKr洉*VCH@VԹ.$Lb5 @F 0aaW]G; (/`^0oV_@*o1HE8qF;.֘#(lUT,(@Hp8010uf_xķE8=w/nfևx@ȇGquHM^AF˻#\0 i:"=f/- w,D)1^J}'qӴn7_Mtp9KhNp 9=wVn&u =qPD%U ս6 djGbAD>tU2l=Hsavt 鸲Qmnᢘh>R.G158iMn+E!-nkL.^(}'8\nrG%=O/|_bҢΣE7r>~MɿAĘuD3bjnvhܙttJ0 dfu&P7 mD';o1?,34cgj_woǏ;=B0iNjB%P )WT[E^7,ZP x#tQg~14Tq3Wc WB~bH˲ m  0|W/;jQrk5wˆc)|. -rېBTaY3BAyV Tյd%EˆȨJATFM_˜ ȱ*K&vu"&H٤]L<ۅ#YRV/BExG#:=a32Im Un1Eir%WY,S , f%U_xoT0Ña6e3 5 F!YW(;xZ>>%\ZnWyIF_Q Bsid$(iGҕo  IbPZs} "vלũ5CniU64Я(KXx5N ]~Q9, c>wJ $VtI DAC>,-Fq,[78 ӫ;?g9-qMa+_w,@ S#]RK:QYlY,~oXY8V#Il_O4?46?)ŝNT2!R@Mwcԡ0)X$ "A"-C{J6s]B3o S^ {;b{ehk\YWykȿ ֖)\D$#shPuA-B6A30/^1}Tczg%qzl7Eqi4QcܕX6Ԅf_)uڧԉ/G:%;ïST :XhVsm, ?4XZ:d!ff̜ &2j~W>OR$o\pQ0iE =D*RS a|/':f).q 9Ïv'Yko2bږuHq9䖑}w0O<|a_(W-`'E|w7=;py4W>҃*Y`Oy՛bx,Ai#=}^.$DCcOR j0SlVI 㷗z _Ya}p62wRkoC/5: y $cy>ɊH!): P*T a?@% jB;= GI(#(i>ka0d/y-F!TxAƴ!jtZAȮΌLA]FJ$藡!`U'aVE5X*!ܬɤh+ǷM 6ns{8"+F灈8sc">9_.7iSTؕ6Ewƭ]e(a,:`5%&rx/[K~wYYv.J6]ALp[u %n4>la R>Eis)qMZ/`]G Uqz0ق6w6oɧ%p;ec 1<3|uýK)VsG-~F:2$6޵kzk>7>Wx߷#%<-W]gȏOzoh 4a+d#T⋝ MR,uG1ֱڪMRȳ@~5>-ve*YY(sSp」Y;`*WL ";)Sm*G;eX;_kZ(2T?*U )<%lH&x Lmc4rU'h#K4_;Ҕ$?rܛWD8xdeٹVQsś]EZPtG &~-hAq[p@lT7/GyZJ:55K?꣚ErLJg!0-0߭ak`cfZ"y{IGH:ȥQP] c\^Z(]6e4Izѥ.Ck]44ĶmFYi*zz P@y=;S '-)FK1T8G!`1iYxo2F<*45Fi4>Sz.T"WrM=P4jur?irtTJw8G5C dtk{m&8g8` /ۣ,iBW2G"Y>{ > B!Um& (Ba'`0uW jw))U }񦕙8fsI?>?$*tOp"In2Oߏ>*76" f'[1Gբsf 0+b*3/ M }`e(IYo)nnSoi"VbG +O3nH kao VBz HQ[Ჳ5㖨81YT4)e$-+)#X.f!Qdy0!ꋯ1oȰٔءW-<0`[S*H X?76,̰[fQ!5Sru?Ls1Jd_o)S=?rz dg"y*[gf~Ab Acq'_6z?({18pjp!gIzd\\ 1MEJL>%'Ҟ/W@~6j0 ZI4"& '|)wx;t?VqۣydV;Z]bfˎRi玃&sGФ8jyYb|'Y9k@_c&M}ةջ?B gIpY=&/Щ {txHTvdOiYGlhЧ{٦&Щn byK +{/Qqi4Of0bԹ/_< e Hj>u0jS溄}f$OqN;eBCDǘO.%v(N|MY0LR@#}AADK*aFNHp>yOKst0."8EVTul|VXkU%j Ө03cwvy^ e1A@VP}{ E_qf~|9B]V I_B@/d0"{(pRgʕh [A}:~Zϩs]L/PO nqN+r {pmֳQc"(fxv͘&:`X6P:$+Pt-!4#D.c؅5M{j 0Kh8!@vLM:dqON0/v1-jUk(8Ԭ1&;r:.:4'1 r9qa;62-ȜF*/?-ٓ" mo=G Bye"qL~ k%%*\n#<Ϸ[*|E߱qagLL^L<ӺȑA]ۇuygH9I#@m ߚ,";+Jc!Vc)L-E"--na{y΀.NeZiX^5k/G<8V{E6~;UkQا9dZ幟{ZP mPJ5i\U _ZCl >Ga]O#E4=%\%Ӿízg:] T"2s99>Ej?1{piMtwNkUn"Hessb{ju<*G$f%`" D37*ڠަ4H?KO_/E󤤤KRVcPCp9\i92UsHj?E\[U% '˗C@1Vϯd`PґW)HVIVǎV7Ի}*goto`VBpIn[owWN6VqvgW3DOТLFSK,w;?zqƟ-Movg}X`^Qj7Lؽ%7MPr&^|pilp1g.87w$_~aL6]nݡz#ӧH,QG)kKt⭗n`/$_BJcx;F%[H.JܛR%l3Cu).G(* [Y]gٸ=d۴*o\|6ϭj]=tY^B0v'ZߦRrM],A7>՟hKjV;fG?9b{~pLhl؊0`-KHf~WFR 0e߹E8A>(=r^t&ٓ:6Q+tUnB }o g1X>=Z\ '93.6Іμ)?Z8Fz;LWb2WKl]꿊I6kpL"jfPz&$¹ߞ=?i*Tp+$C\h<߾*,/H%:όj^A3 5&ضt:aJ~;՗kf9iAػZ:0Rv3§XG7fx;ũc D.ml,,lX HjS.u oX}dUЈ4m!⾽mmnRC,/;ҭmUr_BMAj*n r>*~ЋO2qZ'삐!R-Sl; X`:]=Kٕh9=,H9nj)5^Wxy) nj%d[zE"@/j5;yuwt.To'eլ˰DᎹ\4Dt W# &6Zũ OCh'?شO+hsH VvJo)u\^Ef|L?9Aȟ9 67l 30D-13#L@aPFs*+6b.@:k:Gd7 ,B>Sob}9il 3FZҜA u{-"7E !-^!0J@l!t З;i \({X*VLΜCDa4Lt{0 eCT_3;+ݻ`v9=kX퐠r߿>j'C;mũ?"rj`ꅈJqž4E($- ,0 6*P@~ivh^I[ +@I/T*@w< }"[8pS]u92֋LĪT+Vg(PozԽu#]z[~W~gQ U j|Ki?_aJ@iNuK_ÍJg\D ɖ,!Z|u99HY _KrڲXok .3EZ!V8xoՖ{R%O^ө$4E δK2 fF3Y-(&J`)QփN \UVg6N)dvvCP #<3Ys1@?ܬd<]gr;6/IDD0PxmFh=J純)VnI煆Qys_<3V3⦾pCoU*B/xnJ^՟qzwXvk"IBO3έ]/Io&JP`=w yAi C>cEU}r7C\Ϲ+F 0Ȟ{3Z5=j6X&5hԄNHrBZj@1_ Du'Xr!.+}\V|# 'zI#z+56Mfud˄Gy!E64$Us2)UPUbu@DBk=v,"[V~nS1CM2Sb@ف1KB-kG͙|;ݶ 5.[-U3NP&E:8>6I'$^Jk٬sC9(CZAtңn~l }-lK4BNI}i`"ۋXU0NugQW<@=LNZ-i蒌!&AsפJhǼqOWX )l.pU_g(  zy ˦NLM+jFE.ͤu(hrKY[M$R|)ϯ<V%kq+֩TgM 6ȮxB5葜sKƮ)U=`H"Fh*yIP>șSby'API) ˟w0ZR6zl6)#d,([XC; )];Yp:T39 ⎠DA{-<".rYi9Fyhi!RR/ɂܡ)7ndnO0`AR}L&#RqOݡe[Pjy9  a^]^*j#@E'篙7 |vmɦюn=\:;寧9i H e[$ҖƒM$X:1{.vkL8$;,N}uS_O*giW8Z eVZ›nC#A(c\ J\7uN(gv⹿٦c!tز*ufc dgH:q<+pPW}U#= cnk=G3(ZM5/D2`cn"Ȯ I 1U]N]`^dl˴' ($|ӆ& q˺lNLxT 35ʱFV3;HiZ8Mu{nVdw&KH%K, ÎHlpDOozoVR|,hwX/Yb&7@S=.!es(Щx.b8:Z}mXi7:|WàTqsE`YJc{W ՚ hW1S~ь_r/`b j0k -714& MMlkT1߃Ju0d\}P&Vke8 ~_K洲s_3֐;47V_WUl[_2G`"[&\5:A^"m.^qL4TRѳ$seEc6oTBYW_j~OIO=ʐcP+i[;]N7#VAVzZCG8VW^uqRܰӷETneز"6NiAL6[h#Vkl}i3˜NҎ$܆wR_2혟z|`,1K6sϗNlQLDAӒc-]![+xѿK85@Ģ)lmk(6 2?L`YJe3ιFTWof$+%O)LG=E?l\Ƣ ;Bp YVD7 /jrL "xP 8Iї:)9,~wmۿln0b[b!{N&>"avF78NO'"/Zh%~2d/ gC!=[ի0A _!2ŢX{s1xU"5pȣEIbpDzA~X% .(wY΅Bؘ(.XMolbO?_4A1}-ۘtm%ed tpbL}4IS )m 5|4v|+9)_!JLu Q*tw1l*x AG5pwƾ)!)͇4qgIpa 4^}o|fA!Kc:ecJ8R0jsU2u)YIcU"4d"~wa>jz#̮%OZUOE*~^b'VkYrq(AۙGmyŧN}R9ӗ֕a_ހQ"4N{,\J3nY61Ks#·7@₄p/7uh ѱigKf0nځZ~.E`}$~Ks5; r ()@&Q6h%]F(gABuRJ.Kp??&8[Ҋ\Hk[!=H:9s!ش!5=}qݝ)Ka)QBK" 8 rNWo1޻< Ș7}m-.86n(q0إa\5Ra"vUys- N0eX֜ |NRA sl ]$N !uozT Ԡn+dFO™vz i߹Q#VF5lhc|oA&Yƪ,A`Dً:ɺg^\9 u`]yb`>!PVR7f3rJbzo>>!p6P?7voldxS,.& fpayưH<:hBjȳ%s9MJ>U4F[Aabz蚮> 3]y[.wyhWPR0'2+6 &(05JP#kGIGmK767GA}{Vn)xE~AV_5eFA3F`i1D,/qY_O-HYP-Ss?3xlqp5s\$sP)]gMR6!Aam] V m%Wa7[N(Ir6!Ѓ ţj#9Npڣ40ݧX>rj*qj"#d;+k xAen?\?y4`S$~@$KSjS-N|3g=:mJx_*n4["d"!-g ̋qPT}yxɋq*u<"rpWI-kMgĻщR݁CUƟ0ra:\?YP:+|# 2ocj/AT>w0\fFVؤO^LM}-`EA;7mʡzd;/ }F|6\ih+UCoTDB m~ƨZRxs9jEn6Nׇt &xHG%O ʢ!7kHG`A;0nvYmBkwrkXqR<1uq1nEݧxOДk~D\}:^D a'$߂{͗ >Za bWP\N8Q,XvE"Zr09Ft4]Pk:GP;6i{N{Mc2([*k(mzH{b}y"g]rۡT!Y3~ Nwt-lZfMvtBs}r̀TT[%5tĞdgP *UH9<Ȧ0Eǧt'/ Ĝ:Yj!JjiƐyVvA,y&*B)Kvρ* wg^˒9J1!5a_0=X/]}p8 m1A6 Ѻ;(!KU;|[18!Ž4ٙeGe:z+s\'N-I݌4j+ XΐiR{kŨ5mdN+T9ʹnQ 6gHqeɈPq`-tP}j&hp6fG(} +hpa=|*{n)ũѶK:XF;w* )e:UPKEa~=T_(G@˽ˋg[iuuRUDcAR)t9r>-/ҞDb֡oÃg kgvk_W>y}VԤw!(BK`|ŧR#ފi=UT|5( 5> mqDS#KS7@E™'9XV|N$pXDzX/EؗmNf.eђb}ؤMhY!ʵNxzqghVڙ Pn_,XKqTa_iJwPc5`?hc3e;l*eՃ;};SU'"㲭F})h1.*D.`PiRc=H"6>@V=n!0g6抾Hʽ) iS>@Rek]\툣UfW[q^J4hE#)dUK@rѱU>,S>׋>8ǩk6lVlEk3S$f%?+vh:٣ߛDb㯞T J2'2Q|CxgQ5aWܿKhm.E8m.Y,9V׮/EϞf|4jb,~SUIlCqkd_lɾq̞l⹀ƣR?,3X5o:^U6+Dng>:\ǧd,IF/ !(o0tp{ Cű 2*?_G;"]S_<jfew>Ep^V+U|RRi)9'x,ubbuܟ6@Ǟ[ZʹH'0ܽAPOV\_L0{hJPM6 *s3M7Y'<],fXl"Ag7nW(RVT6OP aVXRТ1PIgf-QYB5T0 i!X USwY#4W~[_)%4c;ݑy\T= C[%fAf|#[ޜA8q{lΎQf^D^)ܽmn5B'፝¥' J- xF)w(nMb)8UV؛38S+reWz\Q(R(v`| 3wsW&E9b H}bwYTBʵP#ߚ27'5[OYі÷{sɳVaxA,}^t6]q"_Bj/`B!8`Ǻ]/xY-^_`f-[v#M^NipL!fN-6K~W/SX©.8)P* lz-no2J-HyH 0쨵'ecĭd edNdYgze9w*վ3I,M_,y)Q/:1d e6nU¥.ǒԟФl\WIoչJVT0 a*p=[IqJ@2Ӝ+ p 5l 4OZ1' k,yKl{pquc1E8ϙ$M%FT=j<8hTK "x)Y^AW9H{FZR!"g(}}F㪵;#6?})_1J17r/-@zhwƠQN b 8jZZ0eh˭#Fb*㽡qyƙ5z J;% hШ HAƜ]nZѕp'yfd"n`cj(zŮmش l+`}HVM?23?PJfiJې?ҽf4fB\6R6PgX}:R-ufxLϛjjLY49?v|WԦШX:`EAc#G}K P S_=z?ٸ$nRKWlD%ު6Qo~f10[)S>D_1ufm;=d`r0/ wuRx|clb|ZՙZ 1tƯS4 G``D]BzƑ|RHˁHg}XFVT2^| ǻJ$ogx!3熋X%9 f~9߸1.рiP' Q-?gߜ-e) =~ B#IٍmB6/h(|%6X ’uhvhbd^ߠaE1aIt7^/<+5dV똥TB \Z@bi!*MF߽ae)wZm:vC Y^j- ʹnwTCՐ3olG szpR 0Fh 3?h9XJx5;M=@2y~~CU6lO*e ؇>환:>bKg[Ӎ#o]]g-̸]=%n[& [A !}j;DŽ} $G:ɂ\~ z1T6ʦ|' ]vnQiS 鮃42ۃMbW0ZiM*x/_]x*RL</40@fn]xv=H>w2Aq WOD-%f@txQ{mXO5I58VQO*MdUJE:O\3]-Ƌ{~k/7̨U`ҾA,P1No UNOU : m:W(pcFԠA85iN$88){9R晤7+gtC@{080 I>ǐ[t>({,|4 Rf:mۓa# '@BWh]S|tvp][SkfZҔubʈE"8L랔Xq;"日=Lo*6@HtyYK ]yg؜ܔgOZ1CjT5@jUJ^1ɺF@ޯꩢq0O'tj4p8%LU5x4yykD+VҌYF; pnENާ'-STc.ĸlLyDp$"%I$}$@x{pdZiWq{%?ѡʮ )Nw/mk>G/ @S$.))TO`$pJS} YZ