corosync-2.4.6-150300.12.13.1<>,ĉgYLp9| #lq<9@4Jݭ]mF0(~W\Wb4hɴexfWe#H<}XU qOm#.YJi3c4p5 }8-#50MLnUCdfj'x23aQ_[b D_k{|Jj0_ [1{wJ̣q2Z$F[xtFAGs`svX׆sa=Ͻc%v2$X\7'nEuĥtJ>N8?(d   c %FS i l     ;o < >HACDF@Fl2G42K:2L8LDLb(Lp8Lx:9M`::P:=E>M?U@]BeFmGHIXYZ[\]^bhcdŔeřfŜlŞuŰvwΈxyPz@P$Ccorosync2.4.6150300.12.13.1The Corosync Cluster Engine and Application Programming InterfacesThis package contains the Corosync Cluster Engine Executive, several default APIs and libraries, default configuration files, and an init script.gYLh01-ch3b8ISUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Productivity/Clustering/HAhttp://corosync.github.io/corosync/linuxx86_64 if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : for service in corosync.service corosync-notifyd.service ; do sysv_service=${service%.*} if [ ! -e /usr/lib/systemd/system/$service ] && [ ! -e /etc/init.d/$sysv_service ]; then mkdir -p /run/systemd/rpm/needs-preset touch /run/systemd/rpm/needs-preset/$service elif [ -e /etc/init.d/$sysv_service ] && [ ! -e /var/lib/systemd/migrated/$sysv_service ]; then /usr/sbin/systemd-sysv-convert --save $sysv_service || : mkdir -p /run/systemd/rpm/needs-sysv-convert touch /run/systemd/rpm/needs-sysv-convert/$service fi done fi/usr/lib/corosync/upgrade.sh PNAME=corosync 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 PNAME=corosync-notifyd 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 # Upgrade if [ $1 -eq 2 ]; then # restore configured /etc/sysconfig/corosync(bsc#1155792) cp /etc/sysconfig/corosync /usr/share/fillup-templates/tmp.corosync_sysconfig fi if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" ]; then /usr/bin/systemctl daemon-reload || : fi for service in corosync.service corosync-notifyd.service ; do sysv_service=${service%.*} if [ -e /run/systemd/rpm/needs-preset/$service ]; then /usr/bin/systemctl preset $service || : rm "/run/systemd/rpm/needs-preset/$service" || : elif [ -e /run/systemd/rpm/needs-sysv-convert/$service ]; then /usr/sbin/systemd-sysv-convert --apply $sysv_service || : rm "/run/systemd/rpm/needs-sysv-convert/$service" || : touch /var/lib/systemd/migrated/$sysv_service || : fi done fi rm -rf /etc/corosync/corosync.conf.example /etc/corosync/corosync.conf.example.unicast ln -s /usr/share/doc/packages/corosync/corosync.conf.example /etc/corosync/ ln -s /usr/share/doc/packages/corosync/corosync.conf.example.udpu /etc/corosync/corosync.conf.example.unicast 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 corosync.service corosync-notifyd.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 corosync.service corosync-notifyd.service ) || : fiif [ -f /etc/sysconfig/corosync ]; then rm /etc/sysconfig/corosync fi&46J8i()@XX  "R K '   A R'? D   XpU/% Fx :   V# W@ xk0 ;  K  !?  (@ ,A5 Oe [  \  i f K#KYC AAA큤AA큤A큤A큤A큤AAgYIgYIgYHgYIgYIgYIgYIgYIgYIgYIgYIgYIgYIgYIgYJgYJgYIgYIgYIgYIgYIgYIgYIgYIgYIgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYHgYJcjrgYIgYIgYIgYIgYJ`JbgYHgYHgYIgYIgYIgYIgYIgYIgYIgYIgYIgYIgYIgYI9afa0d1c0e384b0c78d30bde6901ebb511e8b0ae6fd3b76dc2fc1f58f5423386eb49d0b56d642720df5440af14c28a202c2a4a33b2d80ea451db953ea6d0da6acd340cd8a5d4abeef32bcbe979f0653a75234a4271ba520cf2a8bdc5ffae2e76388b9abb6d9e94fd6900e5dfa320e6f94e7f41c650d0d1d58621b5850ac0e15fb36fd6fc405ed5322101d3dc29cc800b6014981668cfaab86d2bf3ff964d8d46dbeda60857719c4baf172a3231b905ec9a7443bd93e484e773cbe6c941ce98a94e058d69c05cd3419e7a7922b236bfbbd877f188c1cbecae72191a7b279013a193ddc5c4a1fa80b42e0eadab4db525a723dd104a6a1b1fe4705f0cc20ad28b56ea271f6cb4cf163cf9f4d420d17b207a831abd4578bf22832b8429d13d2d3e00122b7c37f7f588befe4eb7e2984672e0aed48ea478494b461ec0a22340fe0d12a6e4af6b03c331cf9ef8eb7129e0a4efddf723769365692074d37d4064a0b3d34db2ec43a5e53cd7564df9d6ec22ddba10127390448f164167664476d2f09c33e4ea9bc694ea7d2422f3be252dbe8139b27b6ffd4a78853e209142e0bc39ce3a61de0aa26b5a8fd57eabc1bcf1c575105b57e3cdcaf78f3c8e57d8b459f67b6e95ee482990dce896c5fe0dea175ae3439ca95920afa9239b39c4fea3b122b57a15da55c0a7d8d1b20dd3464f3c5b8039f4a909ec807a2343c01cb6cfc1fbabee1c28d55128cf10a0a037a2aa365632fd1bc0337e56b1c1dd4d0d8c5c92c3d6d866badd0a36c079b92b46fb465373dfe0aa1e83c9f4c32ed6c4ea0f1dea9a5487496cc1400b8038894305fe09bf36bed792c19183112c93a0bcda742bafce6eebd69ee906839e2ad31026734c77035d0f895efdbfa2ded3d94e1f4dbe917862757183ebd285271ee99b41f16591adcc659195910b2d10f60f3b5c133e812bd04a9ae34d9b5b74dbad357346958b34b1c0856013fe0968a00cc1df1ef758d38f3405458bf9b79556afcf6b0d3168f131bfb941f588d47bbbb8d855708954448579195c9a1c5b0a652b035e1a1bcf026dcc8d8dc59ca5886a2b80207d44d89414da04314053a77376f6bb806fae3f1cb50c44272473ffa39f8a92db1c012a7d528afb6011d8e3173e92fa4cd8ea0879cb3f52c2789c0ce509159bce9d12cc032083cf16780730927191217cb55b3cde782a2102ac8bde91bdb7fb0c8fa034a93beae79c2a39399d32b7c8bf51094234f39010255943c1396a95e2627b7ceb7139419587757d8add1e97ca9c2a7c301b33f83ab1843d3dbb3c5f1910f568ae290a9db8af10a3f0544d9aec9b7b837c7919a2e8e57a9a422eb981902cc8e567594ba18b0e8bf45ef409e945b816d4f3ce750bb1c09028b3c967705cd86163e5464d33f7c86a84e60ef136c085ef0980ad2734f41abe0a081e32b49b298e8a4ea85759493b4a85cb6d02b7467486bbfbb6a82df2dc011cd493ec23019db946dfac9cc222c8ddf94699c21403de4d74606053f9128842a91fd7878576c7efac2fea53888b6914a72199872e45ddf89d73da8fda69a448b7d9ffb87136ee87b51446b8e49460817982de9b96d26e301028657772a28601a1817149bb990f8067f2584e6aa1a1b770438f2f54a7a7c655b1f74120906e31b5eac7d6570ea3da9789cdccd450c49d0893919a379271605bca64771a811bc20405dd9200afa73ea18f40e1d690f4d813e9db7519e50d98dd1737ed3cd1a0b3ec1111d5156c55a3381670c043aa08afe3e31a493e8334b74106ca435291e7cc6dc52b49426c73a28875ca6ac64f571fc7776578bc4c6b3852b4b9fe313e548cc5674ff5c3fa3c3e2703a751191c4ca6a900932c49fd986ba2473f84c64dd6d9a822f62fee73c626816ce7fbff38e081870844833489b81f3c71c3926b40a2cc0d3e70d4b04b63299f3f812897dd1ef486746f574ff783c4dae92e2954ca41c0c54c7144f04c0fc5728e458801e31f635c3acb6633b2923fa2d9e49e7810b0004f3f9cb102e7eb918f21a1d3d81371703f06d64815890fa848d0073a6c97145451e2a38f3b32d238bb7a1b1cbacc445ebc70d02547dab2de6d4746599286e1737b00e5c593ed943406ce24767792fab98fdbd808104c36a1a359d495b5b979bcb3497b8985b4e70e03f67eea7b57df8bf77735362f35fb7c209fd63853611920b31eaf0811177a2046aa214ccea43badae70350c3621be9ca08ff8bf86bb85513b6738b249dd6f7b8a04be5f87fbd5d80ad06575bbd1ba49bf7a6e2c7ffb2e9b32befa9520094f895df286d2bf90bfde3d2c7ee1b67a2fb9e2dc948d970ab1657093655f6202ecd2467f0ba7e86e897d28edc7d47e62df28ce172342f55d9d0528ad1e4538d19a9687f75146f153b224907a767f698a40017669a7b5fcd7d01e6c80186d3e440f30998a463b216fc63d1e232c9717aab47e78f3a9db3068f6fe092526241b37e396c764291fd58bb0b080dc4eda8a9d61449998d9aee9cf1e6e0fb07cc1aae49baa485507668fd3bca9435df9b749a3504a2880cc6300cb950001c13f385bc0ea813fa47c9c5a92f83098ea20f998686bec463f9aca51223836b1bedb80dde5fa8445fe639be158a9e56d1c240a739c2492e693d20beb75f70a26930dc5b393def75e419112d3910cf98ef028d93444f504ada5cda7b9c480b7821552e3aa08d63591dbf826f8824165db20c6e1096bfcf903f909936ab2b1c231a2a02be23ff4b960ab53a142df39d90685fb1d9baf4c60d0d1ff23813cc2e77aae7656ffac6c4600aee955031dc34ea4c6f97f9fb7f9303b716aab9cee77661709376eddab1bb140b618f1c6fc8b014321806d5748ec1f18cfae52c994ababffc34f2ec885427e378bb4bbaf6598792fddd376e96bd94e4a020fcf2cdcbaa00209592fd0da911ab9e6a2c31e10ffbd5bb547e93aa3804d016d3951fa2536e177e1e78954f17e9bea9559e6d9fca3236a73971f41b80fd3030e26a1081e2b670aa04acea8a7c222f1d2f5f786719f6f0599e01be5f82956d3c370c1a9a74a4a933934584141b23ab9083fffd77fbe75e1dd179ead8b5c2f611a9616a0fa712adc3f233622befe3608857b9af9858d15ca6cdb1700319fe0ad1ea7b67604034d09818c3fdc970bdc18433f175c2218f88b6af9f6479f09e4656d60b9b1ea745a32f3f5137ddcc668b8e2b8dec368700a33279fde13c9ba9b81de92c4e0f01af0a50af5ebee21dff7f74a026daaeb97cfa99541c7969efdb4072bf3c814b61d84712382eb4cd5bb54ca692e6fe487b2a5223f6db9db41a0dcd5b26bc9b9bacca341cdc5d1fff477601144fc18c0173a9e600c6cb0f425baf06bf4fad8b2cae28c63af0a7b130a510281c61dfbc2b728ce124de82ce550f123e9159c99f5037b2869262d349016a283189b7084f29370864b4badb34cbbf3d1b5ae4f37640f6bbc5fc7cde9af5827a2fd1145ca4dcc34b7de21959a4201e26ae230f40c4ebc36a374002330ff4929539aa5e814391ef5021aeccdba58b3a284b3a12716e15b5844d277ab3b9023c22ad722bc74cdf6047f6e429271c7655998e8d64df393512cb53a9a73e823fac8b8393e66e17fb90a57772d9027c02a1eefd495b9a981405626062c9701551ed59a1348eed2caa0e0332623ce705731f78dc85b88041d98bf62f1cf53103993b9b49d704c4213392ea0f6916084d06936a068fc5b841871bfcd54696b7e42fb2c63606f2b1600afc867ff90a5310eb132ecf51a105ffdb021dd102357dfb9e405aec36f3e3d422dc3ca17fba3048c1e70e8e0c88e50684acf975b989254650920c8520e7a1179e683f975b9922c75f55bc46deefda3c9438751d8e14af09a6403d56b2be5dc0a707dc7377167917a2911cfb105789d6aae15222295657631449d6ef56f045eefc8f365ea2f2c98e4c54bfd7eb64821bbf66d0a32bfd4fdf7900d1f2a008e548c48b35a138c7e65b0c74f9ad8aeb711d33d7950d0a1071323e5d456f8341e9b209d971dba11cec7db4e9dc18b530fbce67d11dd38133d5bffda484c592fbd965312f361e93d2de65c87cbbf92c9e97097542664eaf1593ba6f0b9ee2f5ff21d6c57094d6a5f4a2fbfc1034ee4b04886146ce7a88fd8176d6ebb7e6a546558b12e227ee73fde9fdeed2993e8b4cee4cf948f1a548df9a7a6a053f432d65e527b3cd4886c27402339a5b513ed44e85f6b4ef3f05c9d651122c3215305b091e3820382611df4bf80b20e3d98e6856f752149e61ce06c02a9e1ce783793e88059cbc69ef99f37cffdc97cea6d954c1a68b83434136d1364b03aebb214721fb3426f1187a2f799b67cd6a7f767ba131a9ac83de6e07ffc521331eb17b8fe859f25973fa0711cc969db6e83dc8d262ababc07d752cc70001dae821b674240116062fbf31da205e81329e455eaabcaf089bacd1a3b8111035b3f64f312b81eb0fa680762b28fae99aeb4d3ed18abb74ca71e5a8a2f8a1d3c72e44cb7eb7996de50a91e752df3c94b9686dbd3237e015d3a25a44857e483e4722e52ee9527b43f45252243884b53427eef1ad81f7ac6d5407f0aba0ea3ab382f1177bb7571485dd84d83be558ff0da7a16d6b39683a439ce6fe75bb05d584fde2871b49829506651bb971eca6502c9a1223ed1dfba05a35f893d36a5d76429ae0b1c8af7e61daf7c896f5aeea79365a92365f0657afb610084839384c846532a9083e0a8c78962cc5007b3fd5b0a4892b2e3faefa9faaddd546ee28bf5595c469711b635b4801177f4a80c937a831eb4603ec268fda6861440677b0dbb084dab14a130270cb62510d93385c8558f2215be8a700f66df62ff44a98130e4a911bc33570b2d973f5901c3210f48732eebb44f436cc1387c0bb262007d3bd639969bf8e1a838a84ff0f109e91e897bb7ceaa91c68abafaadc06e0507b430fb43de0f4db8925080fb3e717fe36554882804130ad980c080a71b4f45b0045ea34b3ad87a8b844ead64cee6bf9caf3b42016ff863ab8b2f823c5eb4e2573a41ff62dc7cfab2aba10fbcad70b9a7c7cba726298916f1c951f4696b296960af8a4a11bf2924c3f9a6051d820edc3b7666badd0a36c079b92b46fb465373dfe0aa1e83c9f4c32ed6c4ea0f1dea9a54877159abbf4d336dcc9e390001ddc0fe3510027e941d5249a94e8b7d5ffad8f87fb4047fdb3ba505463e60efe810699686775781dbcb24f2c25650aef9a5dacd9bda5fde4692d64296483ae33c7b73ef82cb3b0f58329c7a9159730468803070d76ab5f5c2023cad38c952cf19efbef719e7ffc9c6e2b133b1a84364c500d78f2315da55c0a7d8d1b20dd3464f3c5b8039f4a909ec807a2343c01cb6cfc1fbabeee2696c5f71806503a253b1214835ffcae1bce3d49205a80280d2f4d4185bd165fb35cd9714a65317c29c53d95471b7f0e3004762c38519decdea9335275bbe4f6c49ad2378ef088572d8568b0b47b87802b26faa27ba21bfa9dbed02d94c9a4bda635084669403e65404bc30bc2fc572d1f03cf660bd28a3342cf615dcfe8b89e45e16100ade3f1c2bdebde3dde5f20c9eabf7861c72fa12cc6fd4d953e234bf685f2765848c03b5f0d60a80f338bef986feb9a35d04af7f19ad954df777d5b2510ec9956011b7ddfee52518ad1c5b96d4574cd2da35d7feabbe7833e16931086431b2b2fbcb7ca35ca9d8864fdce5e6e1ae2342e8ae3966c6bd20c918d193554c0788f6bee9a6936d27bdf930ee11d988e1a848af544f65398e77b1f433a4bcce8f49330c4eca7e39fcb9f008d9753d26f0ebb02a0b00a13b457357186b3ca0d9f8088ce92724449f96a9b3b8310e196bba15a5586b30e591df7758800d8ed14958c7a25b20e221423d91a8ba421c1316cac3bb7287a224b8f677545dbf721aserviceservicerootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootcorosync-2.4.6-150300.12.13.1.src.rpmconfig(corosync)corosynccorosync(x86-64)@  @@@@@@@@@@@@@@@@@@@@@@@@    /bin/bash/bin/sh/bin/sh/bin/sh/bin/sh/bin/sh/bin/sh/sbin/chkconfig/sbin/chkconfig/usr/bin/bash/usr/sbin/useraddconfig(corosync)libc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.7)(64bit)libcfg.so.6()(64bit)libcfg.so.6(COROSYNC_CFG_0.82)(64bit)libcfg6libcmap.so.4()(64bit)libcmap.so.4(COROSYNC_CMAP_1.0)(64bit)libcmap4libcorosync_common.so.4()(64bit)libcorosync_common4libcpg.so.4()(64bit)libcpg.so.4(COROSYNC_CPG_1.0)(64bit)libcpg4libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)libqb.so.100()(64bit)libquorum.so.5()(64bit)libquorum.so.5(COROSYNC_QUORUM_1.0)(64bit)libquorum5libsam4libtotem_pg.so.5()(64bit)libtotem_pg5libvotequorum.so.8()(64bit)libvotequorum.so.8(COROSYNC_VOTEQUORUM_1.0)(64bit)libvotequorum8mozilla-nss-toolsrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)systemdsystemdsystemd2.4.6-150300.12.13.12.4.6-150300.12.13.12.4.6-150300.12.13.12.4.6-150300.12.13.12.4.6-150300.12.13.12.4.6-150300.12.13.12.4.6-150300.12.13.12.4.6-150300.12.13.12.4.6-150300.12.13.13.0.4-14.6.0-14.0-15.2-1  openaisopenaisopenais-devel0.891.20.894.14.3g@c@a@a$@_ _=@^1^t@^r @^,]@]]VZ@Z@ZZЛZ̧@Z%Z1@ZqZV@ZN@ZKt@ZC@Z&@Z@Z@ZC@ZNYY@Y@YW@YY@Y@YYf@Ycl@Y7Y6@YY@XsX@XF@X@X@W_@W@W~UU4@U@Tl@Ti@Ti@nicholas.yang@suse.comemil.penchev@suse.comemil.penchev@suse.comemil.penchev@suse.comaburlakov@suse.comdimstar@opensuse.orgXLiang@suse.comXLiang@suse.comXLiang@suse.commatthias.gerstner@suse.comyren@suse.comyren@suse.comyren@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.comrbrown@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.comjengelh@inai.debliu@suse.comjengelh@inai.debliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.comdimstar@opensuse.orgledest@gmail.comledest@gmail.com- Add a patch to fix CVE-2025-30472 (bsc#1239987) * bsc-1239987-check-size-of-orf_token-msg.patchDeleted: bsc#1189680-cancel_hold_on_retransmit-option.patch bsc#1192467_dont-block-local-socket-pair.patch bug-1163460-totemip-Add-support-for-sin6_scope_id.patch bug-1166899-quorumtool-Fix-exit-status-codes.patch - Update to version 2.4.6: * totemsrp: More informative messages * icmap: fix the icmap_get_*_r functions * stats: Add basic schedule-miss stats to needle * icmap: icmap_init_r() leaks if trie_create() fails * test: Fix cpgtest * pkgconfig: Add libqb dependency * man: votequorum.5: use proper single quotes * cpg: Change downlist log level * totem: Increase ring_id seq after load * totempg: Check sanity (length) of received message * totemsrp: Reduce MTU to left room second mcast * qnetd: Rename qnetd-log.c to log.c * qnetd: Fix double -d description * qnetd: Check log initialization error * qnetd: Add function to set log target * qdevice: Use log instead of libqb log * qdevice: Import log instead of qdevice-log * qdevice: Merge msg_decode_error functions * qnetd: Use log-common for nodelist debug dump * qdevice: Configurable log priority bump * tests: Add utils_parse_bool_str test * qdevice: Free memory used by log * qdevice: Add log test * qdevice: Add header files to list of test sources * qdevice: Add chk variant of vsyslog to test-log * qdevice: Add prototype of __vsyslog_chk * votequorum: Ignore the icmap_get_* return value * logconfig: Remove double free of value * cmap: Assert copied string length * sync: Assert sync_callbacks.name length * votequorum: Assert copied strings length * cpghum: Remove unused time variables and functions * cfgtool: Remove unused callbacks * cmapctl: Free bin_value on error * quorumtool: Assert copied string length * votequorum: Reflect runtime change of 2Node to WFA * main: Add schedmiss timestamp into message * votequorum: Change check of expected_votes * quorumtool: Fix exit status codes * quorumtool: exit on invalid expected votes * votequorum: set wfa status only on startup * Revert "totemip: Add support for sin6_scope_id" * Revert "totemip: compare sin6_scope_id and interface_num" * main: Make schedmiss in cmap and log equal * totemip: Add support for sin6_scope_id * qnetd: Do not call ffsplit_do on shutdown * qdevice: Fix connect heuristics result callback * qdevice: Fix connect heuristics result callback * qdevice: Log adds newline automatically * qnetd: Fix dpd timer * qnetd: Add support for keep active partition vote * common_lib: Remove trailing spaces in cs_strerror * totemsrp: Move token received callback * tests: Use CS_DISPATCH_BLOCKING instead of cycle * qnetd: Fix NULL dereference of client * qnetd: Simplify KAP Tie-breaker logic * totem: Add cancel_hold_on_retransmit config option * logsys: Unlock config mutex on error * totemsrp: Switch totempg buffers at the right time * totemudpu: Don't block local socketpair * configure.ac: fix pkgconfig issue of rdma * totemip: Add support for sin6_scope_id * totemip: compare sin6_scope_id and interface_num * qdevice: Change log level to NOTICE on PASS * cfgtool: output error messages to stderr * tools: use util_strtonum for options checking * cmapctl: return EXIT_FAILURE on failure * quorumtool: Help shouldn't require running service * quorumtool: strict check for -o option * cmapctl: check NULL for key type and value for -p * man: adjust description about interface section * qnetd: sort by node_id when add new client * man: replace votequorum_poll for actually used fn- corosync totemudpu: bsc#1192467, Fix don't block local socketpair when interface is down Added: bsc#1192467_dont-block-local-socket-pair.patch- corosync totem: bsc#1189680, Add cancel_hold_on_retransmit config option Added: bsc#1189680-cancel_hold_on_retransmit-option.patch- (Again) Fix bsc#1163460 Corosync does not support link-local IPv6 addresses Added: bug-1163460-totemip-Add-support-for-sin6_scope_id.patch Reason: This time the path will NOT cause problems when doing rolling upgrade, see bsc#1168771- Stop mangling libexecdir: it's not needed at all.- Revoke the patch bug-1163460-totemip-Add-support-for-sin6_scope_id.patch Deleted: bug-1163460-totemip-Add-support-for-sin6_scope_id.patch Reason: That path will cause problems while doing rolling upgrade, see bsc#1168771- Fix bsc#1163460 Corosync does not support link-local IPv6 addresses Added: bug-1163460-totemip-Add-support-for-sin6_scope_id.patch- Fix bsc#1166899, return value of "corosync-quorumtool -s" was not correct Added: bug-1166899-quorumtool-Fix-exit-status-codes.patch- Don't package sysconfig file in tmpfiles.d, it's a bug. Instead correctly add it to /etc/sysconfig, invoking fillup accordingly.- Packaging bug updating Corosync(bsc#1155792) Some noisy output from Tumbleweed caused by RPM macro not fairly used Make sure corosync sysconfig keep original configured firstly(bsc1153502) Store the tmp file to a more security directory- Replace corosync-2.4.5.tar.gz with a clean source.tar.gz(bsc#1144200) The reason is some binaries left in corosync-2.4.5.tar.gz- corosync-2.4.5 upgrade(bsc#1144200) block_unlisted_ips block package from ips not in nodelist Qnetd now supports updated NSS database format Partly fixed problem with ifdown (only for UDPU) Added: corosync-2.4.5.tar.gz bug-1001164_corosync.conf-example.patch corosync-init-lockfile-path-error.patch Deleted: corosync-2.4.4.tar.gz 0003-fix-tmpfiles-create.patch 0004-mark-corosync-as-a-static-service.patch 0005-do-not-convert-empty-uid-gid-to-0.patch 0007-add-config-for-corosync-qnetd.patch 0009-bsc#1088619-add-version.patch 0010-qdevice-net-instance.c-optarg-should-be-str.patch 0011-NSS_NoDB_Init-the-parameter-is-reserved-must-be-NULL.patch 0012-cpg-Inform-clients-about-left-nodes-during-pause.patch bnc#872651-stop-cluster.patch disable-build-html-docs.patch Renamed: 0001-coroapi-Use-size_t-for-private_data_size.patch -> upstream-afd97d7884940_coroapi-Use-size_t-for-private_data_size.patch 0006-Fix-compile-warnings-with-GCC-7.2.1.patch -> Fix-compile-warnings-with-GCC-7.2.1.patch 0008-bsc#1083561-upgrade-from-1-x-y.patch -> bug-1083561_upgrade-from-1-x-y.patch bnc#882449-corosync-conf-example.patch -> bug-882449_corosync-conf-example.patch 0002-fix-ifdown-udp.patch -> bug-1032634_fix-ifdown-udp.patch bsc#1001164-corosync.conf-example.patch -> bug-1001164_corosync.conf-example.patch- cpg: Inform clients about left nodes during pause(bsc#1091593) Added: 0012-cpg-Inform-clients-about-left-nodes-during-pause.patch- NSS_NoDB_Init: the parameter is reserved, must be NULL(bsc#1090996) Added: 0011-NSS_NoDB_Init-the-parameter-is-reserved-must-be-NULL.patch- corosync-2.4.4 is available now(bsc#1089836) man:fix in corosync-qdevice.8 quorumtool: remove duplicated help message cfg: nodeid should be unsigned int coroparse: Use readdir instead of readdir_r wd: fix snprintf warnings Fix compile errors in qdevice on FreeBSD qdevice: mv free(str) after port validation Fix various typos Fix typo: recomended -> recommended man: support SOURCE_DATE_EPOCH configure: add --with-initconfigdir option Use static case blocks to determine distro flavor Use RuntimeDirectory instead of tmpfiles.d coroparse: Do not convert empty uid, gid to 0 sam: Fix snprintf compiler warnings quorumtool: Use full buffer size in snprintf man: Add note about qdevice parallel cmds start sync: Remove unneeded determine sync code sync: Call sync_init of all services at once corosync.conf: publicize nodelist.node.name totemudp[u]: Drop truncated packets on receive logging: Make blackbox configurable logging: Close before and open blackbox after fork init: Quote subshell result properly blackbox: Quote subshell result properly qdevice: quote certutils scripts properly sam_test_agent: Remove unused assignment qdevice: Fix NULL pointer dereference quorumtool: Don't set our_flags without v_handle qdevice: Nodelist is set into string not array qdevice: Check if user_data can be dereferenced qdevice: Add safer wrapper of strtoll qdevice: Replace strtol by strtonum qnetd: Replace strtol by strtonum main: Set errno before calling of strtol totemcrypto: Implement bad crypto header guess cpg: Use list_del instead of qb_list_del totemcrypto: Check length of the packet totemsrp: Implement sanity checks of received msgs totemsrp: Check join and leave msg length totemudp: Check lenght of message to sent qdevice msgio: Fix reading of msg longer than i32 logsys: Avoid redundant callsite section checking man: corosync-qdevice: fix formatting vs. punctuation man: corosync-qdevice: some more stylistics man: fix cpg_mcast_joined.3.in libcpg: Fix issue with partial big packet assembly totempg: Fix fragmentation segfault totempg: use iovec[i].iov_len instead of copy_len totempg: Fix corrupted messages cpg: Handle fragmented message sending interrupt corosync.aug: Add missing options systemd: Delete unnecessary soft_margin Added: corosync-2.4.4.tar.gz 0010-qdevice-net-instance.c-optarg-should-be-str.patch Deleted: 0007-sync-Call-sync_init-of-all-services-at-once.patch 0008-wd-fix-snprintf-warnings.patch 0009-add-config-for-corosync-qnetd.patch 0010-qdevice-mv-free-str-after-port-validation.patch 0011-libcpg-Fix-issue-with-partial-big-packet-assembly.patch 0012-totemudp-u-Drop-truncated-packets-on-receive.patch 0013-logging-Make-blackbox-configurable.patch 0014-logging-Close-before-and-open-blackbox-after-fork.patch 0015-coverity-fixes.patch 0018-bsc#1089346-corosync-Integer-overflow-in-totemcrypto.patch corosync-2.4.3.tar.gz Renamed: 0009-add-config-for-corosync-qnetd.patch -> 0007-add-config-for-corosync-qnetd.patch 0016-bsc#1083561-upgrade-from-1-x-y.patch -> 0008-bsc#1083561-upgrade-from-1-x-y.patch 0017-bsc#1088619-add-version.patch -> 0009-bsc#1088619-add-version.patch- (CVE-2018-1084) VUL-0: CVE-2018-1084: corosync: Integer overflow in totemcrypto(bsc#1089346) Added: 0018-bsc#1089346-corosync-Integer-overflow-in-totemcrypto.patch- UNKNOWN version in corosync pkg-config(bsc#1088619) Added: 0017-bsc#1088619-add-version.patch- [Build 489.1] Corosync is not working after upgrade from sle11sp4-ha to sle15-ha(bsc#1083561) Added: 0016-bsc#1083561-upgrade-from-1-x-y.patch- some coverity fixes for corosync on upstream(bsc#1083895) Added: 0015-coverity-fixes.patch- corosync exposes itself for a self-crash under rare circumstance(bsc#1078412) Added: 0013-logging-Make-blackbox-configurable.patch 0014-logging-Close-before-and-open-blackbox-after-fork.patch Modified: remove unncessary git commit messages 0001-coroapi-Use-size_t-for-private_data_size.patch 0002-fix-ifdown-udp.patch 0005-do-not-convert-empty-uid-gid-to-0.patch 0008-wd-fix-snprintf-warnings.patch 0010-qdevice-mv-free-str-after-port-validation.patch 0011-libcpg-Fix-issue-with-partial-big-packet-assembly.patch 0012-totemudp-u-Drop-truncated-packets-on-receive.patch- totemudp[u]: Drop truncated packets on receive(bsc#1075300) Added: 0012-totemudp-u-Drop-truncated-packets-on-receive.patch- issue with partial packets assembly when multiple nodes are sending big packets(bsc#1074929) Added: 0011-libcpg-Fix-issue-with-partial-big-packet-assembly.patch- qdevice failed to run(bsc#1074276) Added: 0010-qdevice-mv-free-str-after-port-validation.patch- add support for corosync-qdevice in yast2-cluster and bootstrap(bsc#1070961) Added: 0009-add-config-for-corosync-qnetd.patch- wd: gcc shows snprintf warnings(bsc#1071187) Added: 0008-wd-fix-snprintf-warnings.patch- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- corosync race condition when node leaves immediately after joining(bsc#1067958) Added: 0007-sync-Call-sync_init-of-all-services-at-once.patch- gcc: snprintf gives warning: ‘%s’ directive output may be truncated writing 8 bytes into a region of size between 1 and 255(bsc#1066090) Added: 0006-Fix-compile-warnings-with-GCC-7.2.1.patch- coroparse: uidgid with empty uid or gid results into add uid 0(bsc#1066585) Added: 0005-do-not-convert-empty-uid-gid-to-0.patch Modified: 0005-do-not-convert-empty-uid-gid-to-0.patch, check whether the uid, gid is empty before calling strtol- Upgrade corosync-2.4.2 to corosync-2.4.3(fate#321385) doc: document watchdog_device parameter Main: Call mlockall after fork Totempg: remove duplicate memcpy in mcast_msg func Qdevice: fix spell errors in qdevice logconfig: Do not overwrite logger_subsys priority totemconfig: Prefer nodelist over bindnetaddr cpghum: Fix printf of size_t variable Qnetd lms: Use UTILS_PRI_RING_ID printf format str wd: Report error when close of wd fails votequorum: Don't update expected_votes display if value is too high votequorum: simplify reconfigure message handling quorumtool: Add option to show all node addresses main: Don't ask libqb to handle segv, it doesn't work man: Document -a option to corosync-quorumtool main: use syslog & printf directly for early log messages votequorum: make atb consistent on nodelist reload Fix typo: Destorying -> Destroying init: Add doc URIs to the systemd service files wd: fix typo corosync.conf.5: Fix watchdog documentation corosync.conf.5: add warning about slow watchdogs wd: remove extra capitalization typo corosync.conf.5: watchdog support is conditional notifyd: Add the community name to an SNMP trap Logsys: Change logsys syslog_priority priority totemrrp: Fix situation when all rings are faulty main: Display reason why cluster cannot be formed totem: Propagate totem initialization failure totemcrypto: Refactor symmetric key importing totemcrypto: Use different method to import key main: Add option to set priority main: Add support for libcgroup totemcrypto: Fix compiler warning cmap: Remove noop highest config version check qdevice: Add support for heuristics Spec: drop unneeded dependency Spec: make internal dependencies arch-qualified cmap: don't shutdown highest config_version node totemudp: Remove memb_join discarding Spec: fix arch-qualified dependencies Include fcntl.h for F_* and O_* defines totemudp: Retry if bind fails Remove deprecated doxygen flags man: Fix typos in man page man: Modify man-page according to command usage Remove redundant header file inclusion upstart: Add softdog module loading example Added: corosync-2.4.3.tar.gz Removed: corosync-2.4.2.tar.gz bsc#1047860-add-version.patch 0001-Logsys-Change-logsys-syslog_priority-priority.patch 0001-logconfig.c-make-logging.syslog_priority-and-logging.patch 0001-totemconfig.c-Fixed-Evicted-from-CPG-membership.patch 0002-Main-call-mlock-after-fork.patch 0003-totemrrp-Fix-situation-when-all-rings-are-faulty.patch 0004-main-Display-reason-why-cluster-cannot-be-formed.patch 0005-votequorum-Report-errors-from-votequorum_exec_send_r.patch 0007-Make-corosync-work-when-FIPS-mode-is-enabled.patch 0008-main.c-add-option-to-set-priority.patch 0009-totem-Propagate-totem-initialization-failure.patch Modified: bsc#1047860-add-version.patch: change version to 2.4.3 corosync.changes: add changelogs corosync.spec: remove unnecessary patches Renamed: 0006-coroapi-Use-size_t-for-private_data_size.patch -> 0001-coroapi-Use-size_t-for-private_data_size.patch 0010-fix-ifdown-udp.patch -> 0002-fix-ifdown-udp.patch 0011-fix-tmpfiles-create.patch -> 0003-fix-tmpfiles-create.patch 0012-mark-corosync-as-a-static-service.patch -> 0004-mark-corosync-as-a-static-service.patch- wrong "service_del_postun corosync.service"(bsc#1060767) Modified: corosync.spec, remove service_del_postun in postun of corosync- Restore conformance to shared library packaging guideline. - Remove redundant cleaning in %install and %clean.- corosync.service should be marked as a static service(bsc#1055585) Added: 0012-mark-corosync-as-a-static-service.patch- Fix RPM groups.- L3: corosync: assert(sender_node != NULL) fails after tearing down a network interface(bsc#1032634) Added: 0010-fix-ifdown-udp.patch - Fix rpmlint warnings Added: 0011-fix-tmpfiles-create.patch- some errors in spec file(bsc#1047862) Modified:corosync.spec 1) as in openSUSE:factory, there are %define, but bcond_with coudld be toggled by osc command , change %define to %bcond_with and %bcond_without 2) change service_del_postun to service_del_preun, since service_del_postun is not a right macro 3) remove macro tpmfiles_create define from corosync.spec.- make corosync.spec uniform (bsc#1051385) Modified: corosync.spec 1. there are some lines are commented in corosync.spec, will define new macro to make these lines uncommented 2. in former, xmlconf, rdma and snmp were disabled, these features are wrongly enabled, will disable them- some upstream fixes for corosync(bsc#1048259) Added: bsc#1047860-add-version.patch 0007-Make-corosync-work-when-FIPS-mode-is-enabled.patch 0008-main.c-add-option-to-set-priority.patch 0009-totem-Propagate-totem-initialization-failure.patch Removed: bnc#867767-add-version.patch 0007-improve-corosync-keygen.patch(since this patch is not for corosync v2.x) Modified: corosync.spec, add judgement whether /etc/sysconfig/corosycn* exist before remove these files- some errors in spec file(bsc#1047862) Modified: corosync.spec - improvement for corosync-keygen(bsc#1047861) Added: 0007-improve-corosync-keygen.patch - 1047860corosync report wrong version number(bsc#1047860) Modified: bnc#867767-add-version.patch- some Fixes from upstream(bsc#1043045) Added: 0004-main-Display-reason-why-cluster-cannot-be-formed.patch 0005-votequorum-Report-errors-from-votequorum_exec_send_r.patch 0006-coroapi-Use-size_t-for-private_data_size.patch[patch-lost-in-sle] Missing issues in openSUSE:Factory/corosync(bsc#1041587) add change log for upgrading corosync to v2.3.6 and make this change log contain all records in SLE12 SP3 make the format consistent- totemrrp: Fix situation when all rings are faulty(bsc#1039215) Added: 0003-totemrrp-Fix-situation-when-all-rings-are-faulty.patch- calling mlockall before corosync_tty_detach is noop when corosync is executed as a daemon(bsc#1038147) Added: 0002-Main-call-mlock-after-fork.patch- [upgrade] Changing the pre-upgrade role for node failed(bsc#1030437) Added: 0001-totemconfig.c-Fixed-Evicted-from-CPG-membership.patch Removed: 0001-totemip.c-Fixed-Evicted-from-CPG-membership.patch- L3-Question: corosync logging priority takes no effect(bsc#1023959) Added: 0001-Logsys-Change-logsys-syslog_priority-priority.patch 0001-logconfig.c-make-logging.syslog_priority-and-logging.patch- Corosync 2.4.1 still produces libvotequorum.so.7.0.0, just like Corosync 2.3.6.(bsc#1013842) Added: disable-build-html-docs.patch upgrade to corosync-2.4.2: Man: Fix corosync-qdevice-net-certutil link man: mention qdevice incompatibilites in votequorum.5 Qnetd LMS: Fix two partition use case cfg: Prevents use of uninitialized buffer- upgrade to corosync-2.4.1(bsc#1004967) Added: corosync-start-stop-level.patch Deleted: Config-Flag-config-uidgid-entries.patch cfg-Prevents-use-of-uninitialized-buffer.patch cts-Make-it-run-with-pacemaker-1.13.patch get_cluster_mcast_addr-error-is-not-fatal.patch totemsrp-Addition-of-the-log.patch modified: bnc#867767-add-version.patch, change version to 2.4.1 corosync-2.4.1: Low: totemsrp: Addition of the log. cts: Make it run with pacemaker-1.13+ Config: Flag config uidgid entries Spec: Qdevice require same version of corosync corosync-2.4.0: qdevice and qnet config: get_cluster_mcast_addr error is not fatal some typo fixesupgrade corosync-v2.3.5 to corosync-v2.3.6, and backport patches from v2.4.2(FATE#322113, bsc#1020550) Added: Config-Flag-config-uidgid-entries.patch cfg-Prevents-use-of-uninitialized-buffer.patch cts-Make-it-run-with-pacemaker-1.13.patch get_cluster_mcast_addr-error-is-not-fatal.patch totemsrp-Addition-of-the-log.patch Removed: corosync-cts-api-error.patch v2.3.6 - logconfig: Fix logging reload disabling logfiles - wd: Warn if values are out of range - parser: WD Read type correctly from corosync.conf - Add some more RO keys - Reapply config defaults corosync.conf reload - schedwrk: Cleanup and make it work on PPC BE - cmapctl: Handle corosync errors in print_key func - Adds doxygen stubs to include directory - Add clang-format configuration file - wd: make watchdog device configurable - logging: Use our own version of basename - logsys: fix TOTEM logging when corosync built out of tree - parser: Make config file parser more hierarchy - totemconfig: Explicitly pass IP version - cpg: Handle ipc error in cpg_zcb_alloc/free - cpg: Memory not unmapped in cpg_zcb_free - totempg: Fix memory leak - Fix spelling errors - Add section in manual title for cpg_zcb_free 3 - Add section in manual title for cpg_zcb_alloc 3 - Update corosync.spec source link - Update gitignore files - Remove all links to old ML - totemsrp: Fix clang warning (tautological compare) - configure.ac: Make location of .pc overrideable - Remove a few unused variables and functions - configure.ac: We don't need no C++ compiler - configure.ac: Remove deprecated AC_PROG_LIBTOOL - configure.ac: make foreign apply to all Makefiles - Remove unused, obsolete check - Fix detection of qb_log_thread_priority_set - cpghum: Fix type of recv_crc - Check for fdatasync - Fix detection of warning flags for clang - quorum: Display node id as unsigned int. - cts: InitClusterManager is now BootCluster - totemudp: Move udp bind() so that multicast works with IPv6 - cfgtool: Display nodeid as unsigned int - votequorum: Don't send multiple callbacks when nodes join - man: Add synopsis for cpg_zcb_alloc and free - man html index: Update index - votequorum: Make sure cs_error_t is defined - Doxygen fix for cmap_iter_next() - configure: Correct help entry for logdir - totmesrp: Fix typo in log message - configure: typo in include - man page: Correct option letter for DBus - wd: fix setting of watchdog timeouts - CFG: Prevent CFG orignating messages during SYNC- Default token timeout was 5000 ms in SLE 11 SP4, but is 1000 ms in SLE 12(bsc#1001164) Added: bsc#1001164-corosync.conf-example.patch- Fix: [s390]Upgrade from SP1-GM + HA to SP2-RC2 +: Failed to start Corosync Cluster engine(bsc#996230) - modify corosync.spec to remove "chkconfig --add" - remove corosync-devel and require lines from baselibs.conf- corosync process still exists when stop pacemaker service(bnc#988683)- remove git files from tarball(bnc#941910) - modify corosync.spec to delete logrotate.dupdate from v2.3.3 to v2.3.5 (bnc#939328) v2.3.5 - Log: Add logrotate configuration file - totemsrp: Improve logging of left/down nodes - totemconfig: Check for duplicate nodeids - Really add cpghum - cpg: Add support for messages larger than 1Mb - Handle adding and removing UDPU members atomically - add patches: * corosync-cts-api-error.patch * bnc#867767-add-version.patch- mv the place of corosync.conf.example*(fate#318190)- Replace systemd BuildRequires with pkgconfig(systemd): we do not require the full installation / dep chain of systemd.- fix bashisms in mem_leak_test.sh script - add patches: * corosync-2.3.4-fix-bashisms.patch- fix bashism in preun script/bin/sh/bin/sh/bin/sh/bin/shopenaish01-ch3b 1743149388  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~2.4.6-150300.12.13.12.4.6-150300.12.13.12.4.6-150300.12.13.11.2 corosyncuidgid.dcorosync-blackboxcorosyncupgrade.shcorosync-notifyd.servicecorosync.servicecorosynccorosync-cfgtoolcorosync-cmapctlcorosync-cpgtoolcorosync-keygencorosync-notifydcorosync-quorumtoolrccorosyncrccorosync-notifydcorosynccorosynccorosync-notifydcorosyncAUTHORSINSTALLLICENSEREADME.recoverySECURITYhtmlcmap_context_get.3.htmlcmap_context_set.3.htmlcmap_dec.3.htmlcmap_delete.3.htmlcmap_dispatch.3.htmlcmap_fd_get.3.htmlcmap_finalize.3.htmlcmap_get.3.htmlcmap_inc.3.htmlcmap_initialize.3.htmlcmap_iter_finalize.3.htmlcmap_iter_init.3.htmlcmap_iter_next.3.htmlcmap_keys.8.htmlcmap_overview.8.htmlcmap_set.3.htmlcmap_track_add.3.htmlcmap_track_delete.3.htmlcorosync-blackbox.8.htmlcorosync-cfgtool.8.htmlcorosync-cmapctl.8.htmlcorosync-cpgtool.8.htmlcorosync-keygen.8.htmlcorosync-notifyd.8.htmlcorosync-qdevice-net-certutil.8.htmlcorosync-qdevice-tool.8.htmlcorosync-qdevice.8.htmlcorosync-qnetd-certutil.8.htmlcorosync-qnetd-tool.8.htmlcorosync-qnetd.8.htmlcorosync-quorumtool.8.htmlcorosync.8.htmlcorosync.conf.5.htmlcorosync_overview.8.htmlcpg_context_get.3.htmlcpg_context_set.3.htmlcpg_dispatch.3.htmlcpg_fd_get.3.htmlcpg_finalize.3.htmlcpg_initialize.3.htmlcpg_iteration_finalize.3.htmlcpg_iteration_initialize.3.htmlcpg_iteration_next.3.htmlcpg_join.3.htmlcpg_leave.3.htmlcpg_local_get.3.htmlcpg_mcast_joined.3.htmlcpg_membership_get.3.htmlcpg_model_initialize.3.htmlcpg_overview.8.htmlcpg_zcb_alloc.3.htmlcpg_zcb_free.3.htmlcpg_zcb_mcast_joined.3.htmlindex.htmlquorum_context_get.3.htmlquorum_context_set.3.htmlquorum_dispatch.3.htmlquorum_fd_get.3.htmlquorum_finalize.3.htmlquorum_getquorate.3.htmlquorum_initialize.3.htmlquorum_overview.8.htmlquorum_trackstart.3.htmlquorum_trackstop.3.htmlsam_data_getsize.3.htmlsam_data_restore.3.htmlsam_data_store.3.htmlsam_finalize.3.htmlsam_hc_callback_register.3.htmlsam_hc_send.3.htmlsam_initialize.3.htmlsam_mark_failed.3.htmlsam_overview.8.htmlsam_register.3.htmlsam_start.3.htmlsam_stop.3.htmlsam_warn_signal_set.3.htmlvotequorum.5.htmlvotequorum_context_get.3.htmlvotequorum_context_set.3.htmlvotequorum_dispatch.3.htmlvotequorum_fd_get.3.htmlvotequorum_finalize.3.htmlvotequorum_getinfo.3.htmlvotequorum_initialize.3.htmlvotequorum_overview.8.htmlvotequorum_qdevice_master_wins.3.htmlvotequorum_qdevice_poll.3.htmlvotequorum_qdevice_register.3.htmlvotequorum_qdevice_unregister.3.htmlvotequorum_qdevice_update.3.htmlvotequorum_setexpected.3.htmlvotequorum_setvotes.3.htmlvotequorum_trackstart.3.htmlvotequorum_trackstop.3.htmlcorosyncSECURITYcorosync.conf.examplecorosync.conf.example.udpusysconfig.corosyncsysconfig.corosync-notifydcorosyncLICENSEcorosync.conf.5.gzvotequorum.5.gzcmap_keys.8.gzcorosync-blackbox.8.gzcorosync-cfgtool.8.gzcorosync-cmapctl.8.gzcorosync-cpgtool.8.gzcorosync-keygen.8.gzcorosync-notifyd.8.gzcorosync-quorumtool.8.gzcorosync.8.gzcorosync_overview.8.gzcorosynccluster/etc//etc/corosync//usr/bin//usr/lib//usr/lib/corosync//usr/lib/systemd/system//usr/sbin//usr/share//usr/share/corosync//usr/share/doc//usr/share/doc/corosync//usr/share/doc/corosync/html//usr/share/doc/packages//usr/share/doc/packages/corosync//usr/share/fillup-templates//usr/share/licenses//usr/share/licenses/corosync//usr/share/man/man5//usr/share/man/man8//var/lib//var/log/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:38063/SUSE_SLE-15-SP3_Update/691dd98fcb2db0a599d6e335c237a487-corosync.SUSE_SLE-15-SP3_Updatedrpmxz5x86_64-suse-linux     directoryPOSIX shell script, ASCII text executableBourne-Again shell script, ASCII text executableASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=7d8b52924af52fff087821639a33f3bf9d740279, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=3f75af3bb555886170f1d660f7a99b468b1a58ef, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=8184781375c677446046b67399707455c308e2d6, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=1c4824d722bddf509438cbf4521a8b5dc179e752, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=bbc1616414a1f5f7fda87fbb7a577fd122005b42, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=174bb0e8430a672c0d88d4d6bb381820d37ccc01, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=a78e5213986265722c97c78a2659d6ec1d844479, strippedUTF-8 Unicode textC source, ASCII textHTML document, ASCII texttroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)"+1>NO  RRRRRR RRRR%RR RR RRRRRRRRR RRRRR RRRRRR RRRRRRRRR RRRRRR RRRRRRR"RRR!R RR RRR(RRRRRR"RRR!R'RRR R R <]KoQBguif [ ! -f /etc/sysconfig/corosync ]; then mv /usr/share/fillup-templates/tmp.corosync_sysconfig /etc/sysconfig/corosync fi/bin/shutf-8ede297a7d4a8c8e0c5e14d84a2a693af19a3f671adfadbe7e3720da1d8a7a498? 7zXZ !t/[~]"k%YlxaY( TfA k mⷙb;-j'ҩۯ?&,QC $}jnYBQ| UQq[qG}u8$T9@=d||,v&L`&r֬Il+_IXtuW6+;骞.rC:Ї*$J1yDF5cH…b.Qd[ r41E(&t9Rی:{B4.Ft&kzVniJzA3q5HxGvX3:ՄkNd\\9;U =\YyKǓp>uXj<; `e'sZ̅Gv?=f)1b2LnH1ya>e;J@。CNZNm2z zP4fX7/^p"{iTkjQ-T9xO녛=e D˵r{=իeo!)OcaDѱge \Ѥ{cђ٪k\ad{ -()6o͍,88?g4?9;/TmHf[2th_.f.UhS<ZP\'[8E VE[Hæ4u ՗ R{pA_D͐4qhuX76^^+7PZ쿬ѪXE롅 {DsyLjʽh0ɺz$!57V`?0Io ]VV6: !)7^-Z[aOR垭d@99\mU²Ɛ@2';GSEDEa/x֓dNO[1*Y=U 땋fH&1KN$^_, oܪr&xaա<@v\DdJ]֔E> q*cS~zſ"H:;yL (⣡%wܯWytj]e($=0}͜`'N+J ̎ء:uԒD"W@׷KiOCVM`G6Xxl\z8?劚`.qB4̧$.HQVRlSw}U\SNUTk6LNjIDjS= QnIv,V;Eڞ 4 ?OݶۼH N#b@$=)Jr oc܉6^h%7ޓY,ߪ6زt0b֣pQ_F41 Ru1uiͲ0Qm}=\<~w>}(JTQ)T&y'X ߍWTRbfKaf$ɟK23]DC졕2$U梩jBh'vgDhtزHK>EM]"7Y[̍}': 7/[STxsEP%b^\'.K!}$3?/%7Rna7p̖[h?zOI~\#7~3!Q@^Ot;Dd^LCn^Ah%sYuQ>f"Pѧ}J H?H.BK鵶O3hT]sUh~ujb h[vڽ[ߒ^mٜVRx߳IN;1PQt鷁P\ov>ߔۯ:]VNQ-ow꒕kQ币VPC}DQOȈЈ <.e,51e t>zBUK_0 G44Q?$MXjKƐ~26f] ޯ'ljEcyCH 22I[Xb.ϓ"B0SxY ՁhAIR?TGZ^PLG(F&]b۠4mњ4̈́EIcuAf'-|&XS7晴Yuݚd-Yl.ӽ ?XuA5AWHI(]u)bqgX9{)A&XZZŲC hn¶,R+PR'J6=~r 9Ԁ2"!S&a)2#rrީ_p?:&ʼF.Ռ K<|e׀%.{ȩkDwϭk LBx#a\8>"ƈ?,+}Exr :`.s#?Q |#ĎP(ABpr\u7ME[;`LJYʴta+~ ," Zi$1GGVi#d`fc'pU3 )4-\> KUۙeTM<8'fmDBmz@ib܉I dڲ! ,| ކм$2 ũ)?P]2)A%1@iuQQ(Zv.T䕎ҭ)lGM>KܦpG0) _w= dՏpetz jń})72->~yQ>l\5>yOFN.rS(i;rEy]CDGwe4#O׎TO?Byԡw̐/VX~d9d(/mꍄ"z@mw>bԊ=x"'Z>FwDKF`6'sTyYj؉7^D@8qUN~٩(?Hsi /mB5)Z?:dV3o aZpCE&/QoHuy GU1adCn%#5ը Iu-81g#X-*|Ԓ•R2[$cL,(©B¦+k9ӻhps{At  6qؤz#G)Qɇ+GIa/W舾?{BôBWj4*oQm<ޤFkEv7de˜pS6LN.ڴhH_*nxߊ5B8–%V~nW=vb-SX>sk)@K7#3吿? v`\"wϐGDlO?6FjujwC˲+}yEtDʸ$oڇIJբ 4ݰmp]*;Yp}ۉ jc3=,su%[)VT3eZ;0E}s!+{T2] bH zi`Ia /vDVeٗ8Ƣuy:jI[0/qad+84ٶl~-HȤTR@-PppGN2TH<>5B&=/ŠR{]b1;N虧湐]þm!uI# E:%}܉k#!eM0m$ k/tɽfXio@ׇ*/H|w]Ɏ aL]撛ݦי]b*Z3NE,ڕ~G#}/d Pp|!&Z#>KPH:юZ{5߈vU > p B9Q{H,,XoH+:Z]tWbZz79-?K1bG(N;0iGދmi@2 4[s"ZN掶[2Qp:p/(ƍF6m-E5,xo;ԧ=ՓCGT1猛]fcpAr~"{KP JЄcQ5"C඙~&1ʊaw6Bz=)ku$B4n-r(czb[B7\vR a-׫m3$b hzKi:FMKX"[1ڕ 6cML;O(@RCbAxApVQFs)) N[a,33<(;К`|N.S/h\z/&Uq@ZʙD/\q'<]59=<-%EmkYʮѕ,M " Q_a0!~ht6m ح7$+o#;+CWL5;Rr>. Pjث>QP-1weX%0nըԼ ]V6ya"Oy@*1ͻsdL} JC0&uՌ]q1̀!OYWYC(WPF=Ҿ{M*d σSI&Z;O%r!n9E~&?0TSH@lQnśEHIdU-:-jIKDc"04ÖP,yЎSB38p p͇x_KIG×@~ՙ`/P8ӏș)AIc2Rf؏m)؀=CՓ0r囓?#5.㿠3wRӀŽ8z\+CB^KaU?U -2URe;C c{8V2S$ry2հsZ8#bJگ,U%P"bR$=t@Z7Z@R۹ʌ>lA& kG_.>3:pY[d8tO^b^CQ:ݲ/ml U\Gz0 Kw C ؕL3Y%=;=:'5࿿iGNF̯9Tҝ@`M9A fS,op@Oš.ZIaqw2#,Ť !W1qփt36J84j趍,"p_鄀 >QkA i43D{?ODi⟕xu/}0LœdI4a 0Mz`]>ƨ8˳JQ Ϫ&.P1sOtxT̡e6=ҪS#r n̑*ᓌ}r&"v@^m2B.>]D(\,"4v{] ԣb~\ҲsP2kл 1SPҋ0Q}JV,F\S-9J]:v{6&RC$ƘNEa2 | 9uߐr$@A/# t=Nkp q:Mqzs?ЏԤR7vu)ԍ/F.QVpRYKn1l47Le%?>sXz- )4Nucܓa8wE%&k7/!L:c1j*+xy=W[TNxx4Uas#! ࠔ5ly*gT2봝g'qFpmb\0UY UiF tK`d}f-kh^ 'éƾVJ')"b_&Hx0kӼ."־"d-u<_|Xh~bi(ї@$=MO/\/9GeEAӚ/H6Rki=v1 dr2x1052 0r#Hj}[&f"[d'hHw5dMD[,1%RYVVbI@%ͳrL|_ᄦkq&HnjU|S?GeUK2ROjb4sd1@+@ulV,҃„v0Sg߳ bU~3~6Coٳ()T|GO9?؈c->lqڹdh= =yZA?~Ol6@m/ƠC˿PY$= ƚs4+%6` Z-wv _誼'/λse `O'6qu3#\$wFW$X2l I1܍.3V~ [lCc*y\[yPY0ipigX`4_`4됪ضͨ4[v@C~<{LV$KwbAK%_`iKKS -{@0Hv):Pk\{r,U'uıaNI&c(}0'qJHO-۰m 7>OpǣV"}jXHW ̐==1yR3ZW'*5M^hl('@`X\vmHfc÷-tEh\xm0Vvy8pDF^`>rfg}6L2]6Ak,(38L9{ZD`)Xq>)r/K~ :ޖԚ\- })/=tE m|w %}r#i=rrQR0UOWd]?TβiyXumvâȁCK"Y4%YXV2W QdG!;,?xe5+Uj&sNePe;PtbZ.\Mh%uyojuW7(B})'9 ^ + |)Qv|Qyi(u ,PPG8; ׂ~n0ly‚M"|ӿ:rCm|xJ,#\ӎ4 '/ &8QT bf0fH>bV*]*zsU\3iqD<lDj^C.r˙X!hd&#>R=4DOF,XbGG0p C)#GP)ɏOl}9e mX@F%!W9Ag8,rKok5T\ 5 HXϏwJz!~9/5yP~m.9eMPM!# VPMT0n7aNy;B ARPaP~Y[-\Pi|*>0 uKfkJv_FvjK6h3pKIu$_n[]3V%VD9 *Aoq1aRdn|7m<ш{9ژvOR_%go_Ԍ]Z<x vQ6yvZG\kAV>n #ByPYDKQ-`YA/M Pg@m[o+5W4G{#'ʕxžIǷu)Ѻ$(}_ F: d};b^V4! aJAzw a>`|:T%m5QjnTtn"2Y{YM xTz¬=4ޅƂ[dFm`d/m,obA,0bm=X&ȼ 63zULB,0.LMvw'K$˂<݀޾v-3xI_z 2&A"<DxŔ{qp0ysmedOQ{cK`ot|0u[ǿJ8G:;0g *ǡ8*me쎓Awp(avɝMS^hwCX0{sHz"z:JMɾT+6czϝ:n%>#_s[;QݬCTꍹ[&;M /N7v9/kUTYZq0iUb(G><Իw9Dݩ_N7iB\AMp b'Q~  '0>" <괛NUCHQ&I$Χ"!Y/LXۉʼ}}m!PV7{VJRv8c7G yo79%\m)cxӪ: byB.Ng8:R**oAG"kuKWitX ; l5,5x>JIZX΃4.0C=*s}W~7V9`if窼Ň3Ѕ9rxJVl82?:!KXQ\ǩAΝh+Rw,m2&IVIdޣmkPWSf ܈&eЎ[%,_=ÿ]Vՠdr} Smװ+#lfCpRu[W|oBw'Z٫Yl+38o 7{ Uaj5cI|->*cQY-/!4EhP^uep ]*m\1ʙ)%S ܙB##cq؋}%gY A{ n_+fip,iTs>72DpC2OVc&tl/u(D[p 9^xO ) 4bY[[[ pfʨ8 Ǯd% /|Z8zc 9ء;fu(/#E^#xX#Zet+ؖ Źn{h0 mG"t"fM32U2g+a)'0D ho{尥?}GP?<,#9{^vcb6H!!i0$~p4ʬ Xj.3"8 roZ#yy/=}Ibzr;s}ֲiLZzw)VHФMg?œܓsٸ02? ;D$D` 7ao/)/2SQj` ]zQٳ2 oZ{,[u-ZD1_XWr[><gȉFyE@bkRhIBGLb29ɸyi`l?+fA5dmϛ?(:eUKJYi\f8g2T+"7gKN%AL . $J^z]Oi,:hP<[^ZŐ0JvP#X|R!D_Sq:dr OЬ<hmoo?Ml'bVV1]D4}uO"nh%?GRɔ v>a;.aiQ٧웷!MLbR/bz^Jo顱 {/6~MՐ᥻[QvaM^[5 o^kEv$~. Jz2)b}yw Q)`^ML45"mRxA4SJA`7~j$<x_TOR@\Nie"=wfOnu_j6xs)Ps:kQR%쑍1xGYs9>2I1pL0Uktn~8Ջ+1c*ʻ3L*4d϶8R2hЍe >)Ļ-b߻Dx\b|`eV*J\qttéyISy'c( ZeIz, 3_SBD#!a"ÞyF.GUʴ52{6Uby!XLv|9Ы;)RfC/#u߫%'[CONU4DuI3[$۟TŶNt]U3$:v5fj?S0KHrMq l1rM`s>h.׼ž^}f  ^y Qk GJ<8 2z#X@tu1F?z5iE]Ɓxd i(W>}` ~V7ih*3ϡzG*#>^s_u:~瘟.s9;k*X ]%ymo.j  FS&[NXQ5svx"Lywp{BFnӦjd]P@`ˤUe#p9LX١N4HZђ=Oir(ͨcDf)CDǃZ5ҋJNjki}h^_0+I6p c% O^B|Tץ<XTBPToUJ16<1NoJ(QSP&Τ"Qx"fV~h,$)}\zð wQ-bT~8U&p8|f8du,Cw4俒*}>mdU 8x,&//C8?᫶e*Rnڶ D+:Ei@IU_ƃU[ ?YTRgS00. xz!}+&gpUR!% Dic`vDsP#>4&Q@deܙ=v_W{B7C;\7^TԾ#A*~(_-@xaoiMK˔_#Z`v|y_WY=gfNl!T͇<$@3`x!X *Yg D:* k8m度:pARp]֤4Cbk\@}oaF {6n- OI3b}O3EOͤfe!/ˏ SN.;NMxYi͗BLsKyBk5 FZ Z7 kt)3=f!3xv 'GNHΖLE\;n7iEp&..A֪Gp@f;\tjT=@0ftpnnD+uO;PQez.v܌Q0ۀ7ýȊ>wW4>9FRd(5wdw|1~{G0ix=y5< {tJ|@ wz8 MthW3㰣p]F=icbzͩo)tE8az8%ǣJl3;CB.u3rv #WMB/S y21@>p{E|DFv&jE*H? <tӞy-41Cƀ'֪$>ҏNMYeqN7t0T*{ (G7$ͶM8YR)-XZ:(QNYj\R>Z_&Ã|&1fj8YlNùGC࢕uNo| FӬPHQ\L]WT4`lŔ8,=l QѸx8t8pZQȞͰR6ߡ](qHyভX˓9!mA7sV(?mgOVzaE)! Lg)hi P.jpC.D77jDm+Ӷ@D}hZ)mb aخ(Zqx]-3_E,b5Pxc5 Wh:IcUȗm53 SˍH}kGKE594 ݲX.ڔ$H>W|x,?_U7sdUNv6{I{@!lZX1XU?vdvO~Ee 4ɰz)v}Nv07]7}mB5d/E%oq[0WUq% 3.'" @!]![QpKTLۈɻ?ԕ"g ݿsls]79}nQTK4v(Qx3c~Z#Ҹ2 x$Ɵ'[9a)< $Q㡄\GؐTBOF)MbftYJ 8םHk_!f|ĭf!JKNJW#ڸ3mL']S6ـW0S֗G/nIЋģ?T4jO9ڮĎ' <7ÖBIay׿5gh5xYj#ޗ@K5'+P;=9LdO'qOPk3ԧڟ!9FI=bQ@aNvw|P>g{6ۗq'xn@Z}Ret0fdi-{[Sf13r/+6!s6[ J΢_<:A> 5 ŦHC}[L@r4<ھL]A<3w.5\t Jѵ#1Zo;1O/,O{Y(|y1#F4uj,ѭhq֑r̽-YWm."%O8ihڗ4tlIpO^O!kD!WO {s.^r9T.Ɲa؞?AF1Ď4v5ND/ ɥn[LUtK`qWEhn@044_3s5+lf-5db?HN'J1b{ҫ30<&v'O vyC4>¯1'$joW WbNM;t^Iw+)mgUaڥ/H o 5(RꭘB/Jʗ+bnl%qlzH Z4XI~H{N_],A, ij FdZ$x28 @ og+K?Wn6g V|gB9jB:u/{qYIuIJd?$A=ʶDGɈ <pጊ s_],2+]=Td=Gl|> {9ؕvq3j9~m TrF 4f348;Jq>a̯ߜl. kRba*nشEQ8d@zF7> #ƩԺBx)@ɝ 's~ܨ~@<7Ͷ0Z'"D`/[T@PBnË-\MڄĭPU9ٝ߇"ж,9LU$e/XU1. tp RT#EO?+cQ 9z!w=zD[ @ _uN Q1J5v9ٌN"}i,EF~^BՍ́Ijj;ϡ/͠fpv+$rjJt8Bj!*NFWe߶R< ,=r_+,DO*< EgZPW[n* !uލTŀaoqjfhl4"q$A{(e)$ͧU֍3,ʪr4ˤuG ?f;u~1jŸwbCȳ˨*]V'P0H6fPP}X낆*2G-oBj?ԁ)˗FzY?6J$*gB*5XLU0m^NbCm}(tB][xW vILH* K`D\ 1>_ kFYg~:h0 ȿZ-un ,GSqAB h+ l]+ESCX[Z5'0*tw]ԣ.BKtx mъpN:*.0KR{5ƭD+d%@4v\Fɒ /dgʶ~% "qe0Xh\Ty7V"]A6m&hc.ZVQ'G>栚 w}v$v6ڹb#kM~O5TXmk)Nh*aHǁd~X;zHjkWi,gM΁,amiҮ>D`3Ny–Yb))UvV /r<ȹCi< \j[_ɛ7K& rJwuOl?'.]'^P9k1ܜ ݷ] $߹}oH|;]BZ@HBba)B<.CC2,3X)phPwSF@gY#0+hPզ^]gLKLLkj@c7XsM}+䅨ۛsJ]N itbMNcY ҔMZPaqӳE55S*Sb;T7!4io5>MnZ OT]ntJ6rhƬ T?-~KQ %tK$9B֐.r6&cWXp2Iud ~a;5cOIl\WAbeDWhP6$5:yLE `Ɖ,)oS_kW}'{7wxW ;I,1YM<)}/J}դbiB֐U^@kI|ӕK5bAPjtr9t6DfJ!z<:Z,v(ˁhR+ci6`CN6 "``'HTFsH"Eps¡2+`٠^ABWАG=t/0M=v"k3О})Qn,wF#wx*/‘X7YI#`ʦbu4M}A߇ƛK*L6sÝ\I27^ǘ{a,R'guXU#V|+ bA޿?Xs;f}֫)Cu-ӭգLz]T>ohsؽs!( r.9ŊF{!YKhJvA+S~( q`+8BMA6o`]aڙ i~ Y] dQ͆Qh,bt#uJ4 *,ҽsAݐ$FHWH@ĀǧJI]D8UqJ QkXqL4E)x0ty:8 em`(OHXħ޶|$OX $yF~u2G,XhݘOSذuH,&9gKVqc\Ҡbۯ;6sFqD0CxuZ+p;ƨ&Ǟ%L 35D]*^Oo|V:{8S6Lۋ,ʋ?@V)iR6mTE tKZ:6#\3ftc+K\:.Rc_ί9x3\}"Fa^ھWupxndϪnHWcqb ձ}Ig: ;8&ocpNBJ50BGiU\2ŧ%ơg/ ,*s"`Vtvw⟍L;@jDr]GU|IH^P GM;Tm1hߕ̷>ӛAd:Qd=Nj.lȚ_iݔl `j~Dk f%x*߰N'ai.􂼕)#E3uo 9UI @jyKLsz矮P~> 6<+ k^WhTgLmx\OOs-<"VzDs+Zړ>RϏA+aGryZeAbxQCu7hFJpc 4@-Cf/"zhvڕ"mYΦoR;<'!:"~ipOY %%$WORT gLcY}HU ;Plm&FގQ =RB"6 Ur-2v³zsɪOm# h/㧵թd\rJ~*`^.܉A}W*no '륀E2|~EnU/9Oj1EI;q^DbծZFu±>hk_ Q˙@C۩!,"GFua,DGfzG.#@4PE;;|Aym2qd}.PtԧɡDŽjk Wz H6? '(jYeO*̑@QNvڤ%bG}cHW]a̩;;}FcWbOm*!Fu-)l!3il (x/vӻHHC_{7.@5뚺 ؓ9IFA55k[Ą|6R0GK"a%Me F&O4ne4[>urH&65蟀e]Lra_lhmfn,_ Mjzi/ezF 3,.ޒ޼ D$ɥ#ḏFr&dz\Irs't$Ή533O8ezd.L2jE If 9bB7ݾ"owKzG`# kvpDlV@秉 lluE ;Ip|ZR(L9R!)^:LkVzl)jo|*SSAWhEo퉫 uC`CLLNM65]7l]s#zd 4HekI6GwsC_NX ַ<]rRN4 F%>Yɠg Hix]\+MepϟҠk-[TҊ²O] ¾[uҏ@ h^BC| Z˕dv:v4o0KHSY|lCN(2ӼA\a Zh> {F)QlQVa_|DݽDsy8ӹ&ã慲ؽ.aR}K:ܐIog9?n,66tfݯ̤K'vTosű}Dlѓ{I-KB ^Zq18$JnOJM$ʲꠜ 뽝X[;K?tcXC0Su<)6ksjkԣbVX!(z\; :Cs O9q?jE22^(#oe͡ OqY ץs1TC9>aWeܣ0e}أ[ˋX} 5req yul]zVDllˆYs}AdZX}wi{W{bUY[q@tR-NxlE{+e'.%Wv(mѱpUC'1/˛ ږ=ȿ]l_{ϔJp nU( d~/sY5S}eV@PdEO^?O~NϾ;b+gJ%5liG,gd#&p?4 k RZKcY apUUyq앸xفwiJ '?R"%=w0t`p # \?yk6 {YA)+m%څеKERC4, ncY*JK_Ȅx'%k |?tv݃&8:|KK-p@Y0V̛(=XJM]oן40`#zNCXxVͬpVıa03 _ADǥ&D=DT|R%(/hۺY͖y@꺨,W~I|NOf=&ƹwҒv9y(/ Aː&_M>ĭLrC$ HNu-*ԍU'Jg,оzf`%#%R񵝃 4@[lz'7;edu>yNYg2yC7 U^;)w8)+zuJ;5*3%N|EiV流Z"F35A;3,(> tt~ ϣcn-Ǻ~p^?1 . .Aa>#'Ycpp=>%pĸK ϻ==BFGhbWsąF vG=fJ;A޿t3Wdn|dGIǙf"jl% %,韹 ȧR >ہ={S',.f[MX'Jf.D2!GR}p$zCgkB[&'̀=J {Cd}Y/P yA6Ap- JC~:vOErǂA.SJ6T+a%|C&Csx4K;~ׯ1jQgWO@@o3 z{(<ꊫ}=5nFtWՠ46tlusgACRV4 cJ܏,VDa[,Y Ikӻ3< ƱJ]G9t}X 3*E4DȻ_jYJ.PUOz X) (vV$Ehi CքC0+ZGVf-ԼE;QbBw0ź9oCVR J N i}v' yK`Jp?1Iz# HO3G"lUK]D# PV7Q6ɮOSa\LC"!QW,U aœ@:?>AYڲ暏VVwڹ^p(POeTctir XH ȰwŃg!۔eLܵE^t_ѵB RpM:'<xU!"`r@Jl9 gכS m[0澭#[,ZWʄ5Nv{n$16q&/(Opȣ߯<w*%kÛ]yﷴP"SEwo;PG,:٩?<8Jk{BR?}ȝQxc4MާA [)p[xhWbimx$OL:D7`"#ݵqaqDr,ߥfh^TtՔeL0HV,!?BU,oadG(鸰 bΙ;LCFyᚺ^.b0>G(hEȎr:q& NU(8:HQD @k/w+H8{^vQˠZN*(7~ǘ- \>6r(h~tt[hWˡR.N*BZN[T*Nu[Z?>/ՋQS({=́W1ܕ#DQ8Qվt쀟tSnj -lmUEf '4q?Z8H"I(G8 gBc\\|boEafWGlo!eM_h8=j R d^A lGo>ykËNec( %Dmp,7|bf2d)-eÁ~Z沫Ls=WW!n:/J~"Hxid@iןA[n:V܈@̏,mR>w: G5`F#;M/CY{_F>.)i=}ra6($>kn,E~Kˈ{K@@xQx~, ؠӞ6cGFuW׎4XAh黏1sZ.(W4c*%+Т\/Soj|/#"hK2ujD̈́ O9&LXBaV֋Hi4nIBi#^@H@sr-8"حu9#H"ze]|:?H;R 8DVMAxW4Y 'xwi|G]תͷfMNB|!S3z j6K6QZW ֗WLxC$,'Ab> fp $*OH\XO<$φ6(BM6.gRtkL8lCD{&_2 9xL7oS {%"]PĆ{,D$'6TP+B#BOx[r9#'1Q^fhARɽSA`NJHD`\7n 퀪hn* бIV΋:ޙ8.8% zW*QJdɬk*6K2d;=%ilֺ S}\~PgrOu58Β;vUΎY"}H鰒eWz ,XF #TӹE͍*/Mѷ`uSZ%7'_&@+9w?+#2\#V2tD 9 v=嚆HP-+ _Ʋe?JgdUD9n-*}= QXJwVW0n"s+JLs}96%T*/WZ L}Vt&,%r7-P C_ZcJt $4Wk3T\@Q{f{fފƁ^bh%Zv9\P]7Fɩ/&fJCMc)4%Ok[ϘDDdsT[e]K \'{)=J4×xZDҭ,ѕAS김y _)fhy}#NO@ ?W1EI9GlZ ʾ1q;7^Z+߶HG9+m$cW,*xIruRqGW&t]hD< /lkL^x_Ҝ*,,>= e3y^nDF n~F*>٭ F 6Ә^be ^8y-}*NeU]R4@&7amسP OD&Q'2pckbog("#QJf=}>Hƶ2ZƧM{A6-U3 b0'q ]{%ޫ;(_1Uٺy@ؒu^~- I׵c/w)4fI VpD{cPk.m ⴣ}ڍP>+8_`h= ,<Šn%C|Ensuhy(/:HJr=1ۚ%y| 8xSPI|j@Oq)y %ީ'ߛw'p<8yڬh-D~ȃmqSGe0#{@RL YO75*kﰀ$=d}, S=iA @ S;IM,4St;7\J*a G$!&DFH ~*^Vܡ=]\ܑ{};!v&K"fA5u1S9C8P\忢]":ݔЭR~oL "$[N+c}T`ts؊F.̤Iz4H-tZ|X:noO&qB%5q[³!72 c}Cj) @)3ks]tP;Y~3ycXl*{$Ɵ7pYrm)swSpcMR;fO(9j ! WNxO6rk_Q@x8=44o+{ ѓ~y5_$uk$+Z-Yij0ӆ H^]'_niS8)ې7qùJ V־'!J28O(G- !\2ʣQa.4 3gf~ !9 lr еՕ4#3Ѱ qWl(ZЖi ū U+kϮSpDIA#̭rZ ,f46Pc`s_ř%QRߎ0# s"m ̙Jd~#\Rq`70]ܵ$,7"yAJ{tV4aIT'5Kg{U}ހ":5QY;iպ‚^}B<>Q:AJ_ Ѵm^ocAc7f/j_&4U/ ̊2N:NB,0[ W B1jEUqpEԎQ*WVKmeK0X86u{v'YW\5Mul]oy+:;h@2Vºy5 P:XqV>֞ۼ50fzł8po ~f t&ְau潩(lו a5~_+شU>! s]az0/ *"|ZfD|Z6GkrEhZ#360O/0=dZ7p`-Ե;:B-6yN{ rPP2֑7FMeމ%;y&uaj +8=ٴx˲AQbψ1Q{ͻ5sdr6i_D3$ VTT?Io>56ob0F~3pLp^u"DxZkb}K!N-5B; ;(ɡlE i/ހ|x}K$ygd |piw"Nx -ǩ9m=T/iiehx;cYN{Ǵqj$LhGyLFMBPM+湕!5uom):(0E~n ǯ"*&QWI3ܛW?svBȦH]f _-7m12JrJF5Ë^ kC~mY—cxki"S ֪#DЌ0*JՑA |"S}0;~}&F\ëKゟMKy/  pur"amR: SmpyM`|NU/gEr+ }g >fwihyH n+S|eQ*y~{i #hكS{LOKT\fr񢤼&c&5.d4P<׊̉3UNxYa;=6b2tՆpK7NӺUSbٙj?z(}w#S ;|wG:J=acø~XM6]YHl[zU?zcʅ=W3N$nH/FRHTc !>VM|oK`(Tcbi%I@ICN^8r M\JOb7 f <e 1*]CO4 )ozTزF`X{eU+l=&OPA@U* O`V ]|tR{62nf`pT6k *.ME޼p:n4TPʀAzpQIƨ:#w}ylZyB7h)kaEԬh]ww$PI(2FF&iKmȲ;$ _bތ%)sw(AeMww໦[+$bDk{YM wAK*hz"1@3eD]dj ZǨ_ y.QQV0N^V3t<„/d-jX;G3o|iFS0DS1iå)*3O"_aa r\ X!)x],3͉k_gJEك"fi/ dv"3ụÔ 9ɚeyli}WЏLaKsUUp?YHJ5Knȷ'n *,e5pX`~T "ۙLُ'0F^gɖrHTK]*QZWN_pgmū|KӞC;MKN]=FNɶc7M!8t(kKX, [!=ͥѭ-4i'&E_}^abh%v093 0$=y|$z8g'StM/$π1l'V&GK_N3B`-$mC(?nZ}Msl4X% Ju"Ȼ*UwEGsG*BܪG36Y3HQd^f 6 NجvAx((a,.0.F8KNlL MtJKsrMD= $׻CaHe?0 3ciz<`籚o5!aK#kAvu@[nBؾ) 5ve=]%>^_,"Xb: g++52N݌y znxP7ç/_s̠io'츝0Ʈ2+B&0 6Y3Ĺd|݈.6[Y9bvW]XLa֌^1Qs0~v5YT@Y4 j-dgP5Y @]A%c!M῔Yݪki8ײZ@u3OǰNZM 9H&b:U Z=LsaĻ9ϫޓ>PYǔI?8.W>r'Y+Pj.gYQn#۶AZ2‡g`.mLcfB9yI3or*rBmE;'*y#۔MLQK(S8}1W $SŀAȭ6+&ˋ,,Hz*Z0y/o,{yOf.O&5Cg?\t+8*5)I: $?{cގ,WP7k8CB6pJcv~l<3j"l*XM3>r;fZ҅DaDK)@\v*L+yH@"`@] d\o Az(cWo)_-,aݕT\+~ <ʘP96x_oĺ%6"P`lDyWuVɧAF~P4яcnB"&Ѫ5`L,Ta_~&cg\bk 7l<Hسv13 B3#<hW Mr;a*-<9|7* 5Lb*N:r)-;T{\-mkЀu[og(a/~.5 e摹$ݻBLkZ`55E~=BNHVΟ`I8R2b磒aU<1[|ѓY}٣<9F)m, #Į Z!@Ap mwtJ5,Y(Ywm 5mc݉ZK%I|$WQ(mo9Z}ԣT R3j'}ߟn)2qjb㤢:fӲML΂V%ȏyPqkGb/&k  E(;2pO0kœ!9ڡï$m0msioCS4T A^*Za֬0`'<ʛ|E?Ǧʼn\s' O%;#-ȗ# Oλya5][AoWrT7 >I>;e% wqK+|a G \ d7hߑS`(ͱ@&}#1>07j=T4/=L}1`' ^ /11`ȬV`.lh*=tR^vEu14?yf=LW[. Oc&#3H k~ҹl~.mx)SHF qEhUѭm;=mi4PދN:s|^J@ﺤ[dJšך}+}I^w}F4I( at gJA$7X5nV<&|]wpO4GlH׽ڊ_>%JR"qqɫSI&ppa$|fhgg&rخݓYj2EgX,2$xV|xCeX%M@7WB%I3 4̟(}e8,ů{5RTNKraκb(8(׮@84x=1=C]0c;#3?{ ܢ/ېo2AjA{GlYn.V!}i #.v@ţX`*k$,}J_qs;bk!ݡVႩB-._c4zI g^.d/a^rX2oĖ3`qO49P{ L0̈U>Ug8U+GoɡXe[pϻ+S6[㲺i{z]la^Q:i_LLpTLid3xqBJSdh jm\lOUN۳޲.wT^4b/}XJJAXkȄA~)Exb:rH ([vڬי5b֞`E]5Km폳ƽ.(M{D'-ڥlk*0P1Q{)i(ā""e|@vXrZ@F֪즦,}M l gcmq|؟LrAat† ɵm+*\,&ךפLYR.^WDU39s*LȌ/6&Bpwnh&*X̃`3`XjjIoO <@ m4j_猨0u⭥ҿ{etF^n %iCL[!|^P⊢_̱[r%t W:zdW58 /d nXwvOPCK}:Q+δ%seegXqr;ˈis0*&@uRh5/5ʂc@mopoJ('asAQU*V)IX 3~hޣ4_Bd[pC C;KJ " MCgك-N|o}mZSD%:Ү 4]~;Bf-9֚J7 6’/׫7Um@EZE[=$?R dpQPa^6bfW >?ፑCO'+Өs-$E>YxPn7+j~P#¨G1*Tk2}Z5"fKi I-h Yd5>֢h~B}@\}OR'*,5B>nesLb4Ѧ5VL¨2.(jRۊ kthV 1LJp΅yXz6ǤgP¸:*"s@O1CK).uގJ-~j Ynb=:+D)N{BEd~{5կEv"@̛d([W_1, /zh$T &f,/nBD-pi4E@ pl.~FZ/u<}M3d5 ڂfkX:뗵H󙹤WUf" B.uJrg 3ѡR!, ɻ|U<PyG/ˉ"(nPƼ&U.dk'1D”w3\8MZby9%ZCZtga#U;)k= F\Pp^,h/AX.ye; WF5ɡo:D5hRlVƠh;s'ĵ~(-Y %]s<؟ WIJz+|gO+)7ϹҿƂЫGmkt/M}YmǴpLÛcO*t2^ܩ)yV&pKsܝ >J2G+bBy߭, (pG!د+@h\oC'u 0te:b`rk;|IDŽ5Iv`S>ꘌ@w̗=΍a6)!Hu%Z Үӹblq'8C夣c(Mgh+1]i+q-˧(pJ1Hʟl)#/PhNf^7$ fФYxs@VtLZp9ynS%>e5Nguxe_/Cr+.T(zCש뿍_;OQxz,j]!TPsv3:TUŴ gNd˾ګZn:öT[A8Ze_Qb}_Y^Q^=Y{/vj"Th{ ͎<-;p F3sq:|v|$ЫVZj-n (ybݩA, U};8%/CKtӎ- S.\;.G@;yS3UU%&$E$r1 q9:3me˒@\d. 8ip $&)6{+|Ky7?mI8^贯J}^McS~}ʵS#׻,eN'M}YD'p4  R3977Iz+n8K6WA::O_M+I:E)){$a>> 8YIi]0wwwp?k!MC <-o1u+)&֤Zjl-I~^? o %\$ N"fkgJvxM.), QEW us}, M,t &~2ryrAJX:̈́.~,l{pBPyAX85Bﴴ V!8+d;)|9 ] &Ӄ4DoKMֿQnѲ HdF }%O7Bq3H*0ꮺ"z:Cdw?}%ll ܰY3Pa#W!@X3^ӽ:К퉒(1Æ& nfmPA;7b %aNo{Icjh1/̉{|E?RxiXRj![ \ڧ ( ^x:+er|Đ"Gyֿl'1enLe9<^Q¦YA[א1 HRzt8\i3-mDț.匡QKǠxईL(kp{Px:r B)omJؚe Jψ e o=m+}6 A% f*oCI:^Ra(T]Z!w2U߹NDRXePTj.X5}9HۼYnفe7RWJ1HW6,΄ɺMwS G7 ;]o.L\ז_LKtj~*hn)R3́~`RgM1ăuߛ~nضK:_?6at2:n@M~./?Nk/xi1 VWD"Woxa(盌bdApH+;7U5h :0eKȝuT_З4HG{m =o 'q\:=]86[,EeUxX_+ե7PkyϏ0;S#Ħ@ t'E*@0I; { "zJ# Q3r=ȿpY蹁|NVC .C֪lR+N;݆ls;;wܕ"!%ӞKvNpJp_-bjk Gdn]yx@o;mr-8cf?ܣL4ZL۟1Z @`2B,Z0\pf32p{3}ONW"Edđc r)ؼnžD z*tgT}vj^P$i.BO .HȠ4S|Vv¬bâ:O? [l~[b!Dy1]}lH8}ck׃b%]&2FO6xJ9jmx%UEX A=9$:"<_xC3V{B(ߣqbw ==8]Sȧۑ;\FjJی3hGfQfmF* quɧ奄, ʬSJ4Dsٱg`ZF#͉3m#DzTJFkk 6 Ho3YZ֩HR@Vs[ǫt5ؽ^QY憹W\X;Sjӓ 7.W뮁exaov4ƽ\/1kQ& /,'7S pԙg ^pJ =~Z3[|*SmghQQߕFcuqx W}l bq4 =:UTcҪd7GȖjm:_5v3 _nMhKgWt_`j:v`Jy[+:[)]s3V Et?a/&ҽ v8[(E۟Ic :97s_:tReq2s2[-no)gZb+S/tFV 8Y6/Ƒqq̹C["sD C?=^*%V;ybi&ah.UVLn1aB:y]]K0T9>*RsLoQ@'m-bU2Qr0i.&IŔźvluW)wc?B'П^g@Kn{'ܔg2! z{e#Rm_s^4ɇ=ApYw6LB8 p8fyZ{C.IJΪDرm~]ɋo7ڄE͸h֍10݉K#3I)eǰV=rҨ33x_4 VDM(dJfE>uːݱX{_5Jd׵I8ym± `O:|M\n8d݂z[Ģ|צ0hF5x[U͕g*kUc],~1IJ^|3b;MiOfZC`}kwf!ͷ+bGYZ4đM1n073/?PpO uJ/ЗH;ƨGNJ7xk޲멚CSo{hdP]2o K:P=;JuMkOR'"+@Sw8Ξl{b>5x DY~B tkkjMTq[|FʷςKnl_C`5JB25 ^* O]JS״<\T/>ǿnFVj䃒g;zNdk4}_yT,OFl:r`ŝ @ -5Y7Es^ɶ 1)>o hмV 1B?SM]`pNwxWp<(?yFGO#[[/\J^Aj辙Q6OmZlg^.s pl|QW"GڭmmE.\Ё| /lL6$Xot; jF@wҋ ߇T4XsO)!R^b<=d ܺ'mN/nJ ڭ8-^ʞYRsM FQ;o't;393B>RyɛsOƣI K%!9}JEޥJ@$kxc?]ڊ}wM?'ԼԶOѬgͤK@5o/X%2y`p$JfBLK~Mp_?LCYq+R0/udrc>t 5`WI).8?)ro|6cX A&%a7p逎 ^6ܗF4MX5 _J0:@dd)o+93vM[A), wXXD2(e&q"eȢm 7 X,X{*Ӎx(mh8?)mIa`u^NFO>0\y"*@J`{*I˨G1P:Ѐ<9Ռ=% r[~("\MʪzLfTgN:Dq@@?ZKM]ZZ\qOfd6F_S3 z eJ6x݇мgq%8ӣYyhC,x6sϏP0a(i\qKEHyИêHiTM:Ĕ8Lw>%~4%T;6g:Ap۝y L.FȔk9.e[ԁl1$dCiˍjջLP_Y.DϬ>_TNqJC9ǕL (<ɺX|'<&+^N1x]˻.Iيk=}Es {Ko,Q-{u![4AʖdiR}FE·~Y>+=be*k/j'E:פ]bjX`yyx,b{1 0֩[#WWϢiM n¡\yc\ ZGrt@2/ğ҇3|w{y`4grFg Ĥ G`J c$fhzgMNLE6Y|h J XMbmd:âc}T<.%gVljm:~v\-BD`fm%B gU %%E%d^&3)KH@0<=|n~aegƺz򈙥*@D.`zo&PJ㪫 #LQhmڦ{ ϖg(&k$F~),Ho:)$`b3{b,k-8c`Mw&]ٙnf;,T_QV)m)#vz+b)ZETcz!g72DǵP8 D!ZC<ƋN#O %Ǐf6d3c¸I#/&a =$󹚒i)0&ga4( .X!qp3=X~f~lSZA{ߤ4.*j_REg)sP#<}XmR[8zj}8N.!9uwӅF5j ˇ%=өEU`G|Au C# Ʒ!e>as[En=\L縋r]\pSr0ԜF ®HCb!S(8$~&x[u lcee }^gs>¥%ehW"~GA{,YY cR1Jڲb3mKR>EiVxy2OtV=t2ֵ#0*58@ehdXw0.PY2x//W˱Kq=fw{rm74^hEWE[NגEGoJ)Q@ՕKr Jd~MUign;R2k[~| :ϽʰOc(q9gS,Gdpz.~z,{8l UbHpj|14iԹ_GHoTxV&H3tl}:ID6DaAmY=farȭdO@ /TVTh:,R5ǝ S2Om*Si]~O?s~w AxB}ھO6]}XV2b?{~O,66'|] a pvAڭ`}+=A{dm3Єx(c4Ѿ s5SI nF:P鄃g&"6=r!vhb84^7$ʈ+$?@A& pw\ȥ dRF\(C)BrGW/sb@m m.PT;9?2Rਝ2n wi"Tlz/{&SC 7d Iw"19@tg| 7= n%iy s#f5g4n{ +O`8X@UNyO]ۚl6WD蝢6Ch4x 3|&($HhEt'Mi\lX4UAYu#Cu$D.mZ-ܬ 1w4'g}_]ZɱsgB g+ݽMsbaRrن χ$sgg߃|Q둛=._7W̪;[WYc'OmZ>Z@bWB-6["PėXZA)"#nb:yQOe>v>X~$yt>Pc!|6Dr37\-miĹhÔ :bՋd*ny i@J2xrΎ_^(r-=RϺw8EaM#7 DF˗d;C4kN0efiWv>ɕ; ᳳfg-٫s Rfd q)}]ˌg 7ށ9AZ;'mr-u=/&T5 NcU1#Scp9r6riI>+qsbw(fUЇ _4lC+U694)WhWQi^%E(0卤aP͗ b7t uv/DM2H/(6<7 0v(|HڛOW[hZT_}<6c#.v.FjXNׅz(TnSl"&^(Q {S>T}/4XYEoA9<*4X;NOi5kj4ͺ${jIc?Zm&7M0vnOI:J_(x~l4RqeJ\!.c=ڧvI^bS\(5 }"g h.Sb &~;kMr0 MiLVfkn` Wմ@I$?c е$ƺ!u`X|r,j hxxqAA:j;5$swj{0~KLPbȦ0#jjl0ʔG b!=IÝ&1nXN%c"+]>c##[~l㪂*~g[diyI8, Agn)CG~="҅2eZylXP@t_eL?d@0`^#wKH5uIR;kzuq8T&5#?FV停wǚKFټdjEb7ǯ;d}$K_Vkɨ.PTރ!5oiFBhq%odK?[|>jC 1c3#OC|0Dc.;"Ky&6LMf%#JD^)xBY+9ZOqԖ#ni&:ysLư3lFv9}Щ@%QOКP1n,S f&iS =2?^Y!.S{#KlxfJ3 WLAOlS]x;9Ns 7%ׁ1qƊXR̼y8cWcNd;VWsͳ1k{ Xn/z/irkDP@H3AYKJ/" )a`|7N˂:cۼYj y@W͚k ĢSt!חT+TnacREBlC)-@q5$x;3᜘^Fy{+Z+YAliܬЈ^ /u,G#E@z{`Xo"%&4kD{G'̪&Bjsb7 \l}63K$0Ĵ6pxE Xx7O'I F^ Ki^5`&Jz>G[DJ˙gA9][~T'K Po3yi==yһ$cTF2BNHq_L4u(@MSXÁ,,o|Ib٧d X~JI܆~<<$͚xӰn =˴4wvs\ &?Xjߧt΅8)2Fjg\uW>\,*# O(Ţz^]njᬫlxz9mOF餠!*;"PQmc X,<떴W _e yLݹ-&v)bNG?owb:^ %'Op}R'z,u¼srӏ˂ @Ǹw.aZKU>\iEq3N)2cni#A1"/<']6;sdk*P/,]Ru ŇcQ ~aK kuZ]=eNeaߒ)vrK='Ǒn08HOovuQ^aF^•]ZXBѿph?Z-+tSRk: ݠ@$S?)GM –\䔯9 o]Gϫ6pvm*ɣ-+U?oZ)s4!nІ(=!94=~< cԾn'z<y`?Պzr@RP];5ofX%м~ N\*2ੳ:*k8l'#<r=;0 z—Vn-_sO+ۦZ?fݍwؓ+/6E^9`I<4h竡,g[UkW^MiBaޞ=0ukW]`=9p.@ "KV ߯ #D؏UדR[RmXgrnu,hj)/x{˜%.5?3 F[** &*"0:%.^m0z @ 7YD՞Ě#09KWDg_ +6)Evо{5 nC^iXuQ̸*t ^kAzƳ#hUhkEvPŹQ-]l mIDVec7KkSv P{"/W}wڜ̔*= H /Oo,3hnEɢt#=j#aVHNTRoANQnu ?-)0vSS tsTE+Kz!aU-AGPEvpWiF&^5*>'R 1':/hUw7key w‚0*6DYgI`R}~PG %5\qGnyN&ا,{[d-%ġwx=EVQ8i95sBh<ԱWl 4Am\`(3|a.3T^,Ŝgt <׾u歲]I쑐 ^< ly=)I:7:ʾwe*A[UFfD1^r9MY 90 =p/t{v%sV< ؃XEk\1bq[T [OiTY ,n_k_O_cz$XDŽLՋ xVICuZAH[R]=P|=^] xWf7黙PC0U \Q46*1x6/ѮN>T&HRmVs}QNtb?v_m77TK<%7;劫J ">QrqfAJjс*`H PA,<Ўyjp` o%cWLJ]bRVJ,H :=x&pەiPTnRZIg-I :{; Yͧ!DǸq}cZ8 澮86ȋ{u Sa(Lۉ x<.qe ,. lGJ9tHΜ"y@.^.1q o,ToHh/k Tvnf6?D#0+@1Wְ=&t]P7 Dś9#ŒabmΧ Q;!;,@Cc݀-Ctjj E#޺ϋ3XR,)Es|n=hrX ݝZ浝m ѾHi𖶢pD+&.[ 2-7ȵ_4PVS(~'u 5I g(+r -{Nsr 8u!_ 5T]dkkjYXZن5 k3f:?1,uL(qy{WVmS;9M|7M 1%` 4{+T=y׮QN޼ 9bdV!bynψ+r-dͶ @P rq[G,s=V\fJ! q![Zړk)^aR+2r8cL9PĜN<{  3-{'G?  3Q3zGw4A1dȫIϠW=Џ+jJߛJlj*8~O!+eV4=f35G6=`#ncC3X"=FoZ:`q8cdO5 W#_£xB>Anv"jsx*2#.e5iA\ _ 3]S\:*4 U"9or\ )vޝE+vJ&P¶ꮘ7HEBd`@UWÈw/D?NGYe>ny|c*O)J\7ˤ^,^d=}J?G"vjC~<8IB5ҮˎW!_DR@yM\ПXz'g@v&Wa>VQ CyLDdGqљ'b1nwdf~XSBh:\SШyBoi5M vkRvRPAvZ]dFjqFԃbM hvj_6eQOW:Skt-2s:Nt/$nF9\S--u%%{$u|5%@#6v*?`%Jg%C}r<*{1$\(4&צB\zV* Z"'?n?|a,x5JZD䳆trl fL*†VTj `jPC #]q9y}ѷG#gb0nU8q&_v(9U5|T";gK圜i!s;P;SeИ+C'0sӬ]gǝ(@e," ))\6Wo?+{LnQc i܈'Qq9}&:]b+γe<|!r<\_N^L#Vi(t,Lep֛_aʶݰq`?6 b&Gv)ggCGh7ormm%ڑOHF邽]m6gQ붘5Fu꿲HF 3ۭ|f?Cbpkn hظEr"%`nKj'Nʿ,;! (oi$HJFψ"QDDO*s<|&=4> /KO+byK2f;H5q*:OjF45"fI݂n7 BL"ԥ-К&zudz\i0@I j65K'q9gA92.fKr OO4{La0X~}5M^;~1.pQg%V2zķ9h5416EuDr+T|VCB3do|]}]vrlMay_x|| `k{; Q4y=ݻۋ1yp?5U#8]_~[7{`gze: K^= (%tX==VLu>}Tu?;O_hE+h'ObBq-$A|kWX -2U­|f\Y(Q/x8? 2/vaw%Q*n2(SQKn n^BAT$SE6iQ!/XI% r>,13r8֕p.S1_{_d|7/'E|i2x=?OGb>Ao7$NT'bps;$F?Fr0 #Fn3|6whkKow_ҿ?{`wFd6χOnSGLƿ.;4p%~OHpлfS}9WC`u[?_}՛|ꀲhqٻ}h ' ?l0|q. F32QpmA=dՏG,<7|"ҤLG_x/Ur&=RcowVZGh~4`J =?'UYs[ Dn@"z%pNkk :G^wv-3k<߈3H$4KKc"OV(ot `5}_q4ލ=iVlCqW&hUdubg^8#3 T#@X+2k~UA޵i~@`TH8~q*^wdE+BF!@)EFyIGy|7XθxkD.ERl $kXH;l )O Q8æ ~^%xℷ)?SiqRRcE5)se#X;X㴓G5.ZguƊ)99J x X!ooza)Y T= r\%hWP.sM745Ç.#^X S2Ԕ)|3Y.2)쓌 :^ !"ɑ;&kƥ-xY׈m,IT{%p @G*C[nD^(rc. _5YCC_(#6X UL|nY$)&9Rr"yNų|]Pŏ#i$QBJAE,3'7boޟX51ښr Ϋ*]1b[Od[!ԢVBZSf|īvU*G1e F`KJp,|fK~RzE,Fê+}\|[M7yj~p_'?t?.8 m% ԠjHGZ-BDG ~PHA29 dlP'=O~%>:޳*}.{bN LD4eNtOaެukyfJ%EYV. 4>wQI*J\Xӓ4!.eq!NPk,2+#+z+g(m[V=E߸3v᲋-}W/TҀ6<^'+{i`b]i5>(CQIq)e=ց8+I$P;38p@X"mȗ5Ķ(Um*֩WAsT%+T>pB-M:vk`ll60~~B$+O2w5W ƐN5T0HKfjNs RAixYĦv(q*x䁓.liE@7~#AlULHR)`fAhaHC4#Ûk4+LϏS;B:7ڔ `1xpx"Pٱ̜5Zʔn5:L h:%p[7$vZV lT*(42l7FRd+B7AAf/h`3[U/\J&9)Aņ<-`q8zɝ`KrJ#Ў%uZĖ(0ƫineZdT 6Q4$L4+.9`1)Tv!v4yz@Yxx1$/ljRI $Z'BkQchCHEJ-YFj LTZAC[rTI&bRk”Fgfh#x2 Um;6ig903ޤ3mcS- :9'ܶ!no}Br8`RKQBT俅_?`)1oswa-b:.mf3ݷu:O3ը{PKMzu &&DYݬhʅ]lJ\ Om[FMi'{YjPvCT*( fu\=%K|I/$-Vk+LE~S%i&fc]af %h$ (9 :i*L!(q^{ya4Ol~+`gJ%U4߂5]^F'ȱsJJ%+M%-@S̴<˖o/Vi=*3ȋp.fDFё5&e1w`<  w|&w#,(K[ 4.kZ;OnmL]a7A]tœ)Qw\~Ϝӟ&ș.dɷ|g.Uc֠1W|3h>0nCc,U Vc}AdݨꪛvNj`RZ:Ƣ§<*4s7JeėXiw xv<snP8,aZu]q=>t|3ևv65(]s>K/YϚq3xb$^,jؒVc YS,ESśluX ɪs?O1H8ćw?QU,d9a1LS7(QţT.>?L\2Fӿm)T|/K?һޭ}bћIJI2,V׏WTϥtDbT?= 1e2љ$?Y',P@<%UtlH rU쒲yy?J0ŔYZl+" ]2|i>oH4Đ-1nTK \GzUk,%d2p@) .,> hT&;UGҎtjbp\/z5QSYRo 9q;Y"i VZ'*t";Et$)MCذua@^Be1* PӥV\pXqO`4wV'L"28\N 21-C\ ^, |5c/1R\M|!1Nr'nɝ:Ex382 dt};'0b2]&\r: bz!n ~ cxC1Ηz8lp17%.d)W&1w\)`$_#^bB5_h:,Q̞@RPv jqe @\Nc" GtB]Y 5~]$Ze0ΖtrCiACf4I53߮<LZ>!fy .;\Ipy^Q@o[u :Z Djgl^kH,4r+0E W+ :瞿'lnq">?J'$҅6,7b3Ux6RCđ &Bo CLO<_\F6WjooI3QOZA0AhpoM |[Pӯ[")N*>13yoRNeZC$U2AAAp7)QBD -PF$CrWm$؈{hGe &$E(Hff^ALWQW/De)}LX /&yfAX,^XBMT)7UeIґMJB1Fz%x_,`|F^Dt/-Ka'P5V Z=lkf>Hp)lvmf^Z2*V⇏[P {Dp<'uJON{=BGeo9}IHT oBdNf QEREq"HƓ6#3wj"L`3_U}VIaJ ^tbIxObTeQh$w+ ]Ӡt%av㵎 a-x6AI̊άpux: PyX(id* =g}yTe**H,' rNIS=34DSJG4e`vYSVu`dS4AJb/H9BKbڭA6nsm,CбE=lUׂRMbD\5LhelZ6+J92٨ GE!->dr2,{ƸKL7~2 Ͽ4 ǟi|bJmNy0uc fwXt)H9w@q$3ԓz}ag@s~F=)A V|I*)kKh(> Z\=4*}g #ŪP);Wʣp.]D.ӔHtV=S}GIX(G9%ٖ'TN(8[E ,@\$vHF^ˮ-!dbC9E ab-i@$n*Է-(yM;MaZKI=[@,4|ejWI֦|nSZ}F]xu~Jr셜 G,ʘ"b}:ҩ_grPܦ~^6J!Y ʺ(ZY+.t e,ND*%"pM`f?Ȫ)x3kx*N6SSvQ.,ky|3xAF]Rt>)93IzÛNJ6@{&fN!tڣ}_Mqˆt& tF@ҰlgP9X;!D5|71N LSV6Ԥs(rwI58{MSon%.RUWG@#Os? pǴr1ҠOhŭ vٿ/!{%ʵvY([t`*١HTR62ނboU)F055lO4BM7(Vzv ?k.ai _jme1ֵ־ p[oލzT*LY8m?3;l@5ROjOuS2SUMHn5Upu/,Eo TkXMB%⡺ n+kGBV6e"WeCb[qcW H*a416肀s ta %7u&3Bu@!#"owJΩJmbpK1s-tNܭm ^3ae]\t\ I5UԦy+`5X⁜3K"Pp<DZ $䷂pJH8!0誁ni悲Ty[rֈNw"VS~\NȢ3wⴼVW9}޲ 8ߩnVg6JɃm@>lϳs^a>HTQv6*cB֋DCRP'xW]t_@`B!rOJ+)1X8fyA2ݷ#zgD#)Q 25'R\;&z J̵GFKn7ƍKTS %>M{?,򳪙:-x%xo׳Pۖ Qq\e=%I>5-wM8%1?Oogbo"NrGn2h6%~&:m8zu[n &ϧ?wjxJA~m'WQtn?~P gzn ~C|/^Ԉf2nզ^e.qSNwrn?~߿kIA*yW5 ٭TW)PCb7kIlVquF0oQ=h1b庋}q{U]@6L~xs.#/NCSnUCj\;x-ҾfH֍guzeT DzNќp>jhw\ 6 '~YTwRxt0w ٴkuR_C ?-FB8wd}˵!Oϵ]ZTUnJ'K[sOJϦx_i׶k4{599l<5)TMVuX7sT/nGcTu%omg=5Bh=]:Y^/'J~:3?n Nož.λ5FuDZ^9꧶ YZ