python-azure-agent-2.14.0.1-150100.3.53.1<>,'pip9|[ [XBy)Dtw=yϼ!J9H.4Ǐ;$r>̍4ANDP ]i1/ cկRQo,[t i3-44 h `oQK> 9j"s[O_˨<J摲`3kn%L~]hq2cT!!@XnDÈ(L puz#]aSfJ& g>K?d , Hdhtx 9 ~ && & 8& & bv& c&h<&m&ss&xxy,z~(z8zL9|L:vL=>>>?>@>B>F>G>&HCh&IH&XI(YI4ZIl[Ip\I|&]N&^d2&bl:cldmpemufmxlmzum&vr$ ws&xw&y|8z$4W`djCpython-azure-agent2.14.0.1150100.3.53.1Microsoft Azure Linux AgentThe azure-agent supports the provisioning and running of Linux VMs in the Microsoft Azure Public Cloud and Microsoft Azure Stack private cloud. This package should be installed on Linux disk images that are built to run withing the Microsoft Azure or Microsoft Azure Stack framework.ih01-ch3d&Apache-2.0https://www.suse.com/System/Daemonshttps://github.com/Azure/WALinuxAgentlinuxnoarch 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 waagent.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 # Handle the case when the -config-* package is not installed, we want to # preserver the previousl config file that was flavor customized during # image build if [ -e /etc/waagent.conf ]; then cp -Z /etc/waagent.conf /etc/waagent.conf.bak 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 waagent.service ; do sysv_service=${service%.*} if [ -e /run/systemd/rpm/needs-preset/$service ]; then /usr/bin/systemctl preset $service || : rm "/run/systemd/rpm/needs-preset/$service" || : elif [ -e /run/systemd/rpm/needs-sysv-convert/$service ]; then /usr/sbin/systemd-sysv-convert --apply $sysv_service || : rm "/run/systemd/rpm/needs-sysv-convert/$service" || : touch /var/lib/systemd/migrated/$sysv_service || : fi done fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable waagent.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 waagent.service ) || : fi: test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in waagent ; do sysv_service="${service%.*}" rm -f "/var/lib/systemd/migrated/$sysv_service" || : done fi if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_RESTART_ON_UPDATE" && . /etc/sysconfig/services test "$DISABLE_RESTART_ON_UPDATE" = yes -o \ "$DISABLE_RESTART_ON_UPDATE" = 1 && exit 0 /usr/bin/systemctl try-restart waagent ) || : fi fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in waagent.service ; do sysv_service="${service%.*}" rm -f "/var/lib/systemd/migrated/$sysv_service" || : done fi if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_RESTART_ON_UPDATE" && . /etc/sysconfig/services test "$DISABLE_RESTART_ON_UPDATE" = yes -o \ "$DISABLE_RESTART_ON_UPDATE" = 1 && exit 0 /usr/bin/systemctl try-restart waagent.service ) || : fi finu3Kv=g!}%HlN.o23 7Z <.+ 3  . T; N 1 -/_? sq6{] c+ Ra &5a5xu%%e9\/T, ]/"?Pxo {q6*>2R6v(oj6I1+R,!  Z6@J/N* ' E ;}# v#{f 0Qh&"e#kL9Q/ 0w '0O 50޹f@y4m%#XY9J "2 Cr2=+#߲v  (<aBI-Y$Kh':V-$ eA* (NWC r%W#c,XAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤hiiiiiiihiiihihhiiiiiiiiiiiiiiihhhhhhhhhihiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhihiiiiiiiiiiiiiiihhhhhhhhhhhhhhhihiiiiiiiiiiiihhhhhhhhhhhihiiiihihiiiiiiihhhhhhihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhihiiihhhhhhhhihiiihiiiiiiiiihhhhi@i@hihiiiiiihhhhihiiiiiiihhhi@hihhiiihhihi2f896d167b7aeeb53ad63bc2844a1a89362d7724dbd1f3eaa4bc48df8456b97b87bf9d45f9ea934c9b999ce4fabb46c8879da237b2be81d6dc8d1cc3f492a87daceb8080e2dba476f28896894241d9c03b03e7f20fd5304b57964f89122d38d401ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b33ace662d361476ec30a624f8c676645e739968751468f0bc2a0cac51c0a6068e0680e541350550e3d8303b087b0ccec3000b48cdb7aea6a0f99d54488f3e68676d403658ba1d0ead813671871bf841c7a7a6cfdb792c7bebf24e7ee4f6c9475111ab9868ec68e8d1cc148906ff01c32cce636f6f08ae661f33897f8777f8d9a994af6fed63bae6332462c736e61c219d179cc9ae1682f1275e5fe79848ab19cdcc9cebc5657738f8aba7592a90e563215c94fe5fedff7fb8e928ff3b4273df8879396a226c5a4ed1f91eb40818110001147d39fe0aab4083d76a29bb8753f3ada9fb760b2f52a23b19d38613c2fbcd0e6d55a84fe72f23d25989ed6a89531eb2d97b43bbc7e3e233147a76725322126d6f5ea43660c44025e4222ab448a2ab100175c03a90802307306d9e469a0edd36fec3b5b682ad0525f61718c9e7abd941335ccdfca875660ca38432818c0042208e8ff4176726f908b31a3cb1d0a986c432ec02f188e241dca1745ba5f98604f3d057d088905fed35e9640c4947b6d8860ee95a6b9024e87d82010f5a1990902574de700da327892c8033a93552066ea6cc19a5261ee74afb9bfc84e443c8a93a3de9711e463fb134b4498a0e3f9c00d71ee848ffcae70d02484c60c0f0ed4dfe79880d7e6e8d9054da0ebe41b06ae5f9c876ab43b9583001eefcdd1d1370dc8f53b8f1a85e99d2081c8dba4d9f60b0d0f0a7bed224db599b4da9119342799155889f98c638aa5959755100b6df97522e9999c8eacc1752a39321a8f78d1500c19be895e46fb7e64a2a24f7b35e195e8e21894e2d0b9f45fc1887cc72b85ed5b7fe7585363ca8ca2b25f351abc6f3083136d2bf525fca09d34ca0e69a30188e64da091a3f471762947b98e2615ad83c5bb0aea05a649a8bc08ce811a04d31ec75f3e15c9e96e6dd514846233b171c8534b83f140ddb56413bad3d278fe8ef9660a37bb40b68e74d8eb9fd0518cb3aa857454844a4d533ac6a8bb2976b0c2de25f6a4bc20178b54f159c8d1e4ceb763bee3cc472caff0eaa942410f1c963faa1f184bf8feb6e1600fb512a5edf689ba518c1f4d6610ea466ca8095106d316d79fe4b553923f318c7a1040bf26d0df75813a85eddbe335c0c851cfeeebc17f4f83240b6f61c6c3e2fd4dfddc7bcec2a1f15c99673006d1029ded596ee1ea0cae0c81c1a9dbbb97019200e901bb44880a156827d70a5e9b3345677b3f4b332fe761f9a3f572a33e57aa8dc0b2a10954d8d12d6b44c31babdea972dca498a1101593a9b8d5816e94473b7403a4878c9e8abf5939f592e4333159eec7c03c693d740b86e17d62568e5f2baa3ee3e777b744a10905639e39d1f1a3793d92b4e2b1e5abc63d410a60b1b9cd5578d76cdad66783846c00bab2b308f187dea848eac1e9dd1f3fc7c72b1cdf5e97c61266a0274d3104b7202e8a8124c7a9b9b122694d2e31e3fab6eb8ae596fa35d49a1b9118601a877adbae99c820f13be7d3756563b9bdf5b99441c8de66bd6d7694dc30201820fd36c0c6659aa6c8350a6761bb41fa61181625b7581d8ffb2cc70d6c914ef86cd710fb397051e904412d2463aee8f0fba14a545650920dcb610e13df1242e15694315269649e330bde73d025a31655ae76b767fe7390f641059f74a39adfbe6da906cb70ee3737961dd713367b2bcec85649d28ec6aff6695ef9941f7032dcc6703ad29ec3b8ca765b04d1d63696bdf7274069db25530727d70a570a1a16db78fa1dbd4ef736f4154c80a0e3788886c88f316ed62a14a644059131402311a65e724c747dc783144ea9c3148d43215d379782c643bd6f99d69a2a5857f0049065fd835c284d12f406d4333c9383d0224bf8107c848090c1edb3a43abbf075e27394150265af345fb3c730eb5568ded1cbd62a04a90fbd22fedb4dbcc34ba0eff3bb556b0c45d7452a788f19d24e9cc1e8d819d13ee0c997e6bdf121c776bdf52ca8a35ba721daedba6c4fde6fb6a3dcd5d2139d98f805c4ba78bd0c74ee3092144ef92dc3371323f005473bcca2061f0cbcbe01dd339546b4e27ce570f2698b68a5cb9089b592e658d484569eeb6fe33be1c46c0be718eaa154228b2d672a7743c369a3258e62414fb86a4bc3542469d0c84e810c6e0f727742387759c222243c02e81f5472a5f8945c14a10a19185bc7f5c2003afcd77970e58fbeefa453c24be38fdc5127161cf086e0b75a76c103f1f5c8d39bea1179ba8f2ec54adb4df4af72d7f57e6d164fa8258e9aac4bbdc499e3ac67e244e36d51f073d8db5f6de66c69860f0b273dfb1495bfc44c996b2f7666f1fbdfb3b7bac6fb2b9360adbbc9b19cbfb905ccfa26eda0225370a25d382a1826383c70a8b34a00f8623ad26e2e12b43c442a6f78949f27142167500355e7d896b88956b2fb852d72fa105b1696b3cc31525fa531145edd2149011c7cf46cea52c1f673c660c03857fe9ba6f0a51fe4c2af5b152407fb846a5b8475f5a83123dc287b5359c89a2fe9e97a4370e5ed2b446fc15a0ae40d9c3687958cb812679dfd6c2d1fe7d6488301054196b2ba57f786c2d22e71ffea6bdb142c7f381135df853040c1403b8b89bba854f6f8eb0230a533e7cffe5da707e92ce62c4047f39fdc204a6e98e3478b5f57b398f668874e10b15bf2ad4519537af77f94c985c8bf2f5db7802c402e30a4d7e8e9daaddd8381e9d75a62434592a05d0f61d60091340ab47db9ef70a2db1f8d02411faeef5c39101b87a150d25053c036b532d2ef891c4a2d9b73a9d484d534a2fd0518b44b99a3c03d7869eca3d1e11e39501f4f41b5c97fb9a27c3ab4c429ad150fda1e959afafbc660b29aa5e93882c0527c048c36e9dfbe96c13dfa2f344ab1446ab19db6cdf1083d146897562dae5e6df46ef6a77fadd2cd92a8562c8184701229cb89c098240a5526b074e29ca1bd957c9204284df711129216e6c4092372fa8d5b92642d1c17bdb0d8984f1ba3c88985531feab87d225b9fc012237a3cc55a2d2fe418e382a4eb21a44b83718eac64cec73d9af7870c7a477431f4e1573ea78bfc3dfcc52f5dd81f3f7c846df62a5163595f2580510d82ecfb21015c9d76c94b8489a5d8524de41188de5cf6739de2b7cf2cf7a3678f44c61486ed68574ab0b0de0ca73baf196b54fb6e0a4d7ecd88a5facef6d786b33944ece00365bcafb4d389f5bb52012317ce7c492af1839a0766938d7c1cc16b2dcdc99bb1fb945c5e07279ac92836ae663d78dcaa7f50b27a1d6673ef47baadf93dc6df5fae237345e0a7245c4777c1dce873db8583b0b123dd486ce685fddfbad0dba77addc2ac8f7da5dbf8b97ba7d92b28d8942dc2b45df89800e62dafe8e123d075d432d333f4547fb02ac17ed74ae9e7869266edf60412ef18f01aad592239658a1c3ad87a1a0b758a7e99f20dfdaa494fe574fb1214b548879e25ff9548fde21a703dfb5e0c064b02da2d3dc27b937b6579934867853b764735a354e2d1d3cb623c3a46db0782cbe0680e541350550e3d8303b087b0ccec3000b48cdb7aea6a0f99d54488f3e686d854986c4e8e25ef7365b2e4548389f210cf734cefff77b3ff745f0a5f8fe1a16b1f232281f3e8a38fe5771ab1045fe75938a2c6c08ef5f4cd68a292beb8fd70ec02b2f951ae0c4e49c82c4c25e9d460f2fcdac98f77fb7803cfabdd860aab80b2ca3da4e8a14eae792841d25c4e4b04701cfdd86def19b00e304c6b7c8c8f0c5598fdc7f4e46209a31d5ae7602ac66bdc2d3eba0584c587f379149f79a131c78408fe116713d89328f9f697a33ce13a9226e998680b101282fd11307df3e7ce791d46503b5d3c2cf84e5c87eff5ca0000dee9826151e671bb71b73f0f568d0103453855f9984751b7734e50e81de05287f14a4e4dfb8b803e62c460ba441f7cd35e896195cabd4ed00e180de61c014a40f7d94c220c3b60b84407986cfbc5c34ea946203f09ffbd439687e932946e7f76a976fa23c9ff6db74d97915577c1848081c471e5620c7d3aaed5e6c10e6631e886ea1381b4b9e5ac7c327182b1615bb160975837642f39c79eec45a841a1b856ecd2893995c4aa307e620a02fa1dd7b28d7ffc717d8dd8f32c27d306db5523829e3c7d4ebe3b38f46db81ea581810dc1c9087ac49a85143aaa3fd7d18d6dc583421c1f5c2a3e1d3e8264bb0c0bf5667fc88a4e0d2c5ec969e998081151cb50f8dd7a9719a2b0ce30bed3a3baa2b3bd205989d5323c7375ddefa486b12ec6f932995b579f9971590c89911b4f1345805bab17df2c0794af7c1078b5e7b06554a61b9376beba926b6819286aac95525d405f65082e59b23d740cb7b8a9ad6ca0781a4e3478d3208188265bbb7b171fe8aa034b0aadf73d59d2eec43e2ea3b584400e0ecadcadd49869e4e59ea6b7a2f30efb2aafdf56b9c9375157936ee8bb6db14b56b13675d886cacde673d804f893251cec7bab39e3c754740d0f82ae99a63e9292dd09fea3b7ff2e24cf58e66244aedf4e97d26069ba81a1651309640e56b8a626195a9f056f8ab6d70dc16124eff09bfe2e17a1e420d076aef5f30bec0781c7a92a319f1d0a0f599e51cc2dc468c1d6ef2258ada4e68b4717fbbb7a114574600dd10f0bda0d955ebf9b470b01b223dbef6fae7f8d77d8173112b85ab95785a8a3023a269f8fdf6dafb5d23442b952acaf22b36d10af72ff3e82fc68513d6ed8460aa73371f9d2e42b0e94f6b92bdfc399d61ea0a23fc9a01975a3557165db87e47256eb622397d32f637803924dd67b4f646ce17224afafc1124c8dd0871527f9a2aec2a532d6e0116f113409cb7ba5064d6792d967135472642f6cf5cd13de62d7b8c8742b5c3721c1f6f05b87879396a226c5a4ed1f91eb40818110001147d39fe0aab4083d76a29bb8753f3a57df80be7f5864bbca6b068d63b5cab87fa33d05b68d27f4ea4a058e33cc2cfcd6bf23b1b03230e550be6896edb92e5132de9def97fc2e482bce2683957d9a7912495d38adf438bad58498515f8226fa752f8bc7823d45bbcc405f172e6004f37d9ad2f86eca6fa4b7f04ddd5d6cf7e179d18e81994d6c376dd887919a67ae26d4f27366ec68b3fc7887bd33874f25e78fa968a9b692e822f7a94449246fc6af640f728900f97cd4ce1c83146c86944ab0aba4262809734ffd46fe686ce380b107d25fc9703b6686c6f254991495120f79de1f2321c7fde28fba96f0602bc1797d597d7a89e8a17741a15c0c4fa7d409ae7fc30fda00e866768275df88fb0ccd3bd8df5f29fd542726a604a33a45d9a9e3620209cb695640a8a108d3a9bcd4aacb4b046d2602f6b7199ebb27063435e617d540dd65a24d9b4d00c6e485950676dd2bfa5a63482811991efd15dd5dc22add4e33abed4f0d3edbadc2e0230ca310d2c3dfdc480c6f74e53867dfa8798e567254ebe3d58ccf4b1140b2a18b1caf3bb350706c52712ba63636a7d4cbb5375b061691bd79b67ac488bec2b7c2c5a247dbb78dc212a8f75b0166db461db7b1ef5354ef4a94e1e9caae8a92ab966b371a904623550f9cc0fed702302ea84aa1185f3fbd3b49fcf3ffb4b052e69180c3181f9a1d88cdef44962ef8607b69e3ae9ff8de667a9737680418afbd9ee17b41b0542814bbfdf38d3aa58a8cbabafa2601df5e05c6d89cb54b747e5206135da68993af1f682b820ad39498a74b492e116b7269faff6874d2779f6713476ec607ccb318b4bbdb81e8a1da8d76ad8c39f1ba25e7ccbaac62b20bde227237c3725ba8487b9a0d63caacabd91dadf04da47e0ca1e079b07274564b1a84e802b7b2bd8efd4b1a8841105ac18e8e69ee5f022d5b2fb542aaf3f4005089d85c83ac14d5d33c556e65babbba9fd7c52059fc2337462555bd3f6c3c18f5dfc1953d3a3965bf112e38a0fc24a7caa8aacf4b99287b590c420aef42700948afff11491ac9c7244f8aa91ff493ace47707b7177d1fd1c04aa8ba2b888a6c264ccc07c6c6b9d4c73cf416b42f314d3eb6dc7a8b8139e59392a7c7a2a886b897d55f0e119d85bc248d38223d349b6a0fd85fb206eae81205849a4e50445c6749e69672310313ac0aafadf44a7fd812893f00ce8f0d7907693ae10f44cfdf156615e0529f3ba72da0da0420588cb3ba4e4e8bc6b5a0e2bfd42490a7a7847322294ea854b81cfb36b7e8e4c3f17310b16d33a5a96b451900e2bca77e03b8d8e4f780194f6bdcc7f03398812426c0bff5f106bea4c331b8f2dc1fd48198d49a149674856cfa2f23cca9f91434785f655d0cb42f4a3ac7042727f7ca6c0ecb58b83091f5bf0c62c7d4dec4858171b8b240907ba95ec286a6f46a5c2de534d4679813a4af2baa646409bee80712a91fd40c67e9e80823158a288ef7f98757553e512ffde51648e5c003dbbfd333375524feb1c6764aab26fa2684eecfbe3f5a03e03fe05e93446f7aa3d76d4077a3e73018b3d0ae71f80dce91930fa62b53f2af67dcd03dad6c7e2247183ff69ec719b03159ba960a2d3002527fc0c88b14aa7bf11b9d8cc0a10b4acfa073030f2c2f98354452515cce0e45af7e488320a2baf575ae519e4598c013ff05dfb425fa87c928b035f961458857f634bfac9fa502306963fba9e67d02e9e5b1e8f56cfc6bc706380dd1e0bb41d5a7f9e3cd744bff1da5bf61d79c64b68910e7b15368a7efe176a688ddcb4c37dddc95e5a19c559e520ab8df97f775c73485c1879396a226c5a4ed1f91eb40818110001147d39fe0aab4083d76a29bb8753f3a23f32757a9bb8a174a180c178ca2d903986d9ed7dbbfcbf26e33d53bec48590631fb16861c7e8d18a6888774456d220031bdcc722e5601c13a81a8fa917f30bd3b6b396b57ba4bd9685436a8681ac9ea84c63911818f014032098138e5d2814e5f8ca258a3683b40edb1a78351e2b81349fd3dd3cce52d0049358538079c2597c51b4aec67679e221df29613b1e3d97a1ed03bc93466234802fffde9c13e98e44bfcbff4ea6943ed33ad9863b382a9a35827193879b00e396d6d82556af4374cfa91c5eb701952b637fec63522e0cdf5126d2ce95fd7aab3b9b0cf0c5a04a35ac2310c6c83988d44220da775e6dd36a096b2801ca8dc84b74d28d5e0f55c3de101594fafc356f3cf31c2319a2a0720e9c8fd0f35ae98e10c3c190c00ddc691477c445ead20c5bff28d7799f5319aae122e3f84d8af4af4f1e3287eb58a801262f262df143c7f3569d1e81fa5d3a1ad64084fa97d243500ff157f9d88b424547e949af46156cd5a7afbebef2292aee6f0d506c006a7237477a293a94ec95fe82b70a942457d715876b199f313b066076df189b7f875663609b1055d31f159bb2a36840b21c25d65d469b96a64ed0e73cb34c79f5dfbf4d98a4d858be0e29baf01b541ee6c5e17ffa131232c1c4b949e6fc42eb54c3084ed971ad4c5706a406153eea45e340d8ea3c9655a997aacc07d1d75c9e539e78e4a2747a91007bd5c06cac09d2df3d631492443827591912f2f032d50f5aad267cc224e45374f051bf7c40804b14fb3fc5f58f813d2b8816733276383f4baf91a552ca41c89a06f1b2247085260c20991d90f8f2c98fc55adbedb733a8e49a2919fcad5dff168417630cfd787ccb6155a432233c6c4405a664023724a37f9c0267cfe7417a60065998ca27038f92a5f64215c0fa8d566e73f7440b966359422086befb30fbe6e819f6fdbdd4b24b0114aca288f1d337a2d0f72989017348f7f66b63756b92fcc2beca953c820863a55af69113d2e49c3b2f877885613753ffefed5529a79b2eb756661b6b532a8882f2d62c434e77ae0a15cf5449f49ff6e85660cd724b69d34859c209551845340ed97a9bf0ac585bf8aedad39442d943cc833c29535f937775f9ed3e10b35aac29f01d7f93eda35c07aa42b1cdf1f4501d0bc825efd1274a4279c77b8507809a234062135e17b71c76837a32fb704db82a9eda6f5311d1453ab6b874dd43f321ad5ce577a1256b08bfd2b260fcd65f444eceb2578077a67340f6efad9dbfecc97a826b8d199504ccbb0adf31d5b3639308437ae0a078ba4973324cdce4090107e4a9074f027ff5d1300dafda262a3cf4b30b1546a8ba83b61a490e3d5ffb8b7815eb69972cc13c2e30f5816dfefadb7641350dce261281bb0f9e318d64147812169cd734e2291cdc62946251af1b77c5b011af0a823e2defcec9c568030294b8749c74683e3fd79ae6d2f07b17c54bc2f1f4928ec85b73758433cde9882cc16b2650122a2fcd6cdd3c159c3c4426ec08a0fe52826232d0112372e62c2e848a538c8a27ea36d8ce98a47811f1930920c6842e98c0697a0746f883178a03b01ca657a51b1d2e3a80b1ecc52aea96ae801676ba1a07bda14a0a18bb6a30c62e6dc8ac586954626531be70ca24c9c82b63953daded1125a82957620b979e75f04aeaff71a3f10651d2b459a01c7b9a80d999c43e27804ccab92d7ce5bfa7444dfb3a1e991a1faf779aa893190632bab481e706d4662a53909055ff8c8bd9f03d20ae32ec10ece8182cbf24914c2ac74acc2cd0eb98fd8f4420a6f04f9c557d928044b39d96c0c395f18aaf6c1038f95dbc3cc2c4a8a1abb73fe26e85177b3ef609726aad256e67f0359d4f92666152b5db1270bc9a3266c648f0454570ae105e3c18e159fb9f6bd8f3e0042b15231d37a0bc57595e72fa2a97314890a08f92f306a5f34ced26e611881c406cde1cc8e820a38256ad6c0863a76325aba853a7a88c5b7087b677e0ba9649cd2e5528b1b5a98d5dfd180a011d4e50e3356848c7adb1ebf6c18675ddcf5bfe487afd37be863c67998b3d65e3de71cfab79311f6de2937ac666660e167ca9f3e6261a8213860491d67fc1783ea426a94c0dfdb7e89ff6c67fb2b33da64b1f97b5c0cb39833bbb8490efa49e6cab2b34e25376776c4c621e6629cedcc294a5685793cf631ee61a218fea875a0840c187e6a9a60a70c81e8c39bec431ac8bab6896a122bf14c10528e0cd850ae4b4cceca825040686404c3ad072f8f7cb66d4291063c9523f8c76e7ac750b8740ed56037cb8a2d7aef0cef6466dabce675b009a60829ca55f5447757910c1823db64da2714e82615f32b3939ab845705acef55eff74352882e3f600489105d7252da7d811580bfb1dadde33cb446b8d23da50322ded56ba77cb11e32626157b2d0312fe9fbd56de6a028bd15a5857a11c759157988923dd1db3d0afb5a49548d77860daae3c9b799673b53cde96505f42f698b32f455a1c30dda03c7876af90e0e50136c28629c686b2b37cea071e9c35bea5fb6dea04b95ef5a5cff4ffa2d9a3b51ce397f6bccca90b1241242da7a41db6f8cb571dd866f5b3561549dccbce5d41f9b87fcf4e7912aac311c7ba5fdd1889144eae70683f5c321a86e66fa93a5a8b4dbbfc7a228b3e105bf15940ef6a1c34218332012571bd9a471d62fd099405e559aca16ee9c88a725149e5437cf4762a59b2175d34e37c0465fc72b0183aeb54066dcc8c97631879396a226c5a4ed1f91eb40818110001147d39fe0aab4083d76a29bb8753f3a5728daeaeeae8b53c04cdab13bb205e10fd035bd3590a8f88bfce03e11a45dad9906a0bff4abb09ccb3ef5b3c50747221b77ef9e6532ee13efd16112458cf58b35977cb8626e729c6824379621afed698774748884b98d371d0b27f8e47f520a3599b7b4c837fca7b6c1fe296fe55a1e7b027acf3d2be4037a604d223aba9f481de922651c0929a6b3108443a893720943989b2938bd787551375bf2d2e834c969f043e79ba9e926e3f1a9fecb70d47c8f034228422e1722958faa349e4191c8f2d78161fde0f7750303d87b56222d528feed1d7cc1846aebe33bdc2113645187c063669cb2e4ffddc15050ee1f6873ef142f7667aa2445c779eac57846d0d346c8f1c81d7ac2e1f421600e2c0eb9ef3f1ce455013bcf63c1764cf6d9c384bd41b9f8aa9d1c7bb9162ef814b9fd4de5bb323926463d1c60b199747061bc73904d93d14c8fa655e55ea88b72aedc37fd188b67ce5b321d3ba561a6510b05a5164e1c5c4557b35a8e097fdbaa96f4c772259a69ca7d2677fff0ff0c9fd818cdefd102a06d15254ad9296d4e80077c3bd657a34f07362315197efeaac8adbb89c87a9f28ffa95280c1a7cfa3d0f4ef5774b0200d2148ef86a867db840d40f9145d0f97069e42453a22f8f5c53dac5ccb846b99ddc84a2e57b82ace925bc7fb8b5a69f8a7e342aa941370d72b1ed81ba770164832afa6482717c33efd4025d743226b20c875b7897f35433895f163b55723131dadf919e3ef01d157b8cea0c72c1c8eb2fb0cedd66e5cb93552da55c743b4a77f6f0fcb393d0afbb7a2b5abb71a57e0f59c625171371567deec480bbb7034784088351aac8854b47ac10bbc768b08a4ef604c27dc4c9b8a7f39cca9588bd2dbcf0670f79edff44bc783dc1df9c12d12b1f2143a241a774e3ddb94c1f1aeb1e6fb76b57cc27f2d2a9ccade3aad58c75908cb5257e9e4905fd77bf26a4319d8ef5e10b82d4017ac4e2dce83ae145ebff48b1a0c34d5ffb4fcbb7abad527d5047450fc094184d0e3f9c6c7f41b3f63d7fcd8791fa6f50f2afad105e402664c60b20e46749925f4b62acc49061e2b87f0868039b91ace850149e90fc405a207e0a3f1ba7970b05251b1f86e65eab3c06cb3f99966f4f25f4cb800ca8a8cd5f0b2438e9593aac8deb59f1fbc67aaece4c889c33d668742cbfb19c574a82894b2d2e6392227b28472ca2f4eb7f2168e65593cad1668c86ffd99a9b2b476a206f9644f90267ccfaad147f478b540bf7f5ff953b73d6f95039897bf4892d8259fd2f9fbf94361139e7cb72f4adef215f44ea0aae349d1901bf5b836531024a8d12e839065033f80492daed00514a786ccb94e698052adbb46648905eb6c136832a916659eb4b23326b2065d13f1f6973932c3a5fcde0eb15029ffee363379e2c6b422a37df913c4959e24351004ef443b320d7a315aac847e664d21a7231129475007c1512b332ad92103faad9de4f3f96fe105e2faeb9c5465859bc4bc60b6d48b0ff8da26ca84b21814aa09cedcca32cbb5fd49e253ca061dcfad16bb30aa5e2a2e07445459121d8d34815a74dd3ef922e5b236bba947e7f7ce5375c47440101ee89820ccf451c05c6c9d3f2c089d09215db4bcdf4ec506bbad955dea7aa376ba3f4678d640bc721b84c1d7b5bcba6f43384801bb912d315e531881553483398933c06c98025b846686647d1428ba9d919ca0affdf37c8a34e60983294ec50be85946bc31b78e063d27a7c9a210816829169dba411470abfcf5983d724d683dc184320b8d56d4c8b6e8f13c7dd723c1b9b63063e8e86c9bfe2084a3221ece97a0be0079e4fabaf0ad9856746388b541610b329a8669c1e3cce96e9578785469fb7e1b66537aa6add7880e449622fdb0e28576178b43cd3ac3efeb39d9384d7a812b75ea51674f33b4ebf00d664f43e02099b0ee2a408480f6226a7157e6e2cae2eca26dcf965b92c7e7657e1b914ece9866d19a8af206c8271d54c4e38476038fded9a834876cbd86e546398f5709a4d852fd485e43e2f7f7bc3a88e9c14cd5970c985704133074b379bc09225eb93044eb9service@rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-azure-agent-2.14.0.1-150100.3.53.1.src.rpmWALinuxAgentconfig(python-azure-agent)python-azure-agent  @@    /bin/sh/bin/sh/bin/sh/bin/sh/bin/sh/usr/bin/python3config(python-azure-agent)ejectgrepiptableslogrotateopensshopensslpwdutilspython(abi)python3-distropython3-pyasn1python3-xmlrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)sudosystemdsysvinit-toolsutil-linuxwicked2.14.0.1-150100.3.53.13.63.0.4-14.6.0-14.0-15.2-14.14.1i@hSgJ@g@giPg#q@f3ffwf@f|f`S@f@eԔ@e@eRc@cc5c5cb@bba@bb@bs@`J@_@_xg_Z@_6|_^y@^8 @]@\\\[[{@Z4@Z@ZZH@Z_@Z|;ZOhYY@Y{YX@Y@Y@Yu@YtYtY?Y9<@X@XƉX6@W@WH@W@W#WWPW@WgW-@WW@MW@WWV=@VA@rjschwei@suse.comjgleissner@suse.comjgleissner@suse.comrjschwei@suse.comrjschwei@suse.comdmueller@suse.comrjschwei@suse.comrjschwei@suse.comjgleissner@suse.comjgleissner@suse.comjgleissner@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comdimstar@opensuse.orgsteven.kowalik@suse.comrjschwei@suse.comrjschwei@suse.comschubi@suse.comrjschwei@suse.comschubi@suse.comschubi@suse.comschubi@suse.compgajdos@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comdimstar@opensuse.orgrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comdimstar@opensuse.orgrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@rjsdomainrjschwei@suse.comrjschwei@suse.comrjschwei@suse.combear454@opensuse.orgrjschwei@suse.combbrunner@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comjgleissner@suse.comjgleissner@suse.comjgleissner@suse.comrjschwei@suse.comrjschwei@suse.com- Update to version 2.14.0.1 (bsc#1253001) + Drop - included upstream ~ agent-btrfs-use-f.patch included upstream ~ remove-mock.patch + FIPS 140-3 support + Block extensions disallowed by policy + Report ext policy errors in heartbeat + Implement signature validation helper functions + Prevent ssh public key override + Use proper filesystem creation flag for btrfs + Enable resource monitoring in cgroup v2 machines + Update agent cgroup cleanup + Add cgroupv2 distros to supported list + Clean old agent cgroup setup + Redact sas tokens in telemetry events and agent log + Add conf option to use hardcoded wireserver ip instead of dhcp request to discover wireserver ip + Support for python 3.12 + Update telemetry message for agent updates and send new telemetry for ext resource governance + Disable rsm downgrade + Add community support for Chainguard OS + Swap out legacycrypt for crypt-r for Python 3.13+ + Pin setuptools version + Set the agent config file path for FreeBSD + Handle errors importing crypt module - From 2.13.1.1 + Setup: Fix install_requires list syntax + Pickup latest goal state on tenant certificate rotation + Avoid infinite loop when the tenant certificate is missing + Fix unsupported syntax in py2.6 + Cgroup rewrite: uses systemctl for expressing desired configuration instead drop-in files + Remove usages of tempfile.mktemp + Use random time for attempting new Agent update + Enable logcollector in v2 machines + Clean history files + Missing firewall rules reason + Add support for nftables (+ refactoring of firewall code) + Create walinuxagent nftable atomically- Set AutoUpdate.UpdateToLatestVersion=n in /etc/waagent.conf (bsc#1244933)- Fix %suse_version conditional in spec file so package is built using python2 in SLE 12 (bsc#1240385)- Add a new version of paa_force_py3_sle15.patch to compensate for missing Python RPM macros in older distros- Update to version 2.12.04 (bsc#1235140) + Remove agent-no-auto-update.patch handeled by config file specialization sub-packages + Remove paa_force_py3_sle15.patch handled by RPM macro + Remove agent-micro-is-sles.patch included upstream + Forward port paa_12_sp5_rdma_no_ext_driver.patch + Forward port remove-mock.patch + Add paa_direct_exec_in_service.patch ~ The waagent script is executable and we set the proper interpreter using the macro for multibuild python. Do prefix the execution in the service file wit the interpreter + Fix install_requires list syntax + Update spec file ~ Remove conditions for distros no longer maintained ~ Simplify build and install conditionals using macros + Enable GA versioning #3082 #3184 #3189 + Cgroups api refactor for v2 #3096 #3135 #3188 #3196 + Fix JIT for FIPS 140-3 #3190 + reset network service unit file if python version changes #3058 + Recognize SLE-Micro as a SLE based distribution #3048 + Add distutils/version.py to azurelinuxagent #3063 + Use legacycrypt instead of crypt on Python >= 3.13 #3070 + Fix osutil/default route_add to pass string array. #3072 + Fix argument to GoalState.init #3073 + Add lock around access to fast_track.json #3076 + Add DistroVersion class to compare distro versions #3078 + LogCollector should skip and log warning for files that don't exist #3098 + check for unexpected process in agent cgroups before cgroups enabled #3103 + [Redo with correct source/target]: Remove check for "ibXX" interface format and rework mac-address regex to expand support #3150 + Fix Ubuntu version codename for 24.04 #3159 + Update test certificate data #3166 + move setupslice after cgroupsv2 check, remove unit file for log collector and remove fiirewall daemon-reload #3223 + Address pylint warning deprecated-method #3059 + Run pylint on Python 3.11 #3067 + Run unit tests with pytest on Python >= 3.10 + Log logcollector cgroups if process is found in unexpected slice #3107 + remove secret and use cert for aad app in e2e pipeline #3116 + suppress pylint warn contextmanager-generator-missing-cleanup #3138 + Switching to SNI based authentication for aad app #3137 + updated PR template #3144 + Avoiding mocked exception from being lost on test when using python 3.12: complete mocked info #3149 + Add more useful logging statement for agent unit properties #3154 + Remove wireserver fallback for imds calls #3152 + Remove unused import #3155 + Add support for Azure Linux 3 #3183 + Fix pytest warnings #3084 + Allow use of node 16 #3160 + Send controller/cgroup path telemetry #3231 From 2.13.0.2 + #3221 Add support for nftables (+ refactoring of firewall code) + #3239 Create walinuxagent nftable atomically + Features in progress (Verify extension signature/Policy Enforcement) + #3200 Parse encodedSignature property from EGS + #3187 Add Regorus policy engine framework + #3222 Remove Regorus and platform check for policy enforcement + #3242 Telemetry (update logcollector telemetry with common properties) + #3208 Handle non-boolean when parsing extension manifests + #3211 Fix unicode type check when parsing extension manifests + #3133 Telemetry: high-priority events + #3240 Telemetry: report apparent dead code + #3210 Cleanup: remove AMA extension services cgroups tracking code + #3197 Accommodate the new behavior in OpenSSL 3.2.2 when given an empty input From 2.11.1.12 + Remove multi config extension status only on extension delete #3172 From 2.111.1.4 + General Improvements + Improvements in telemetry for firewall settings #3110, #3124 From 2.10.0.8 + GA versioning #2810 #2850 #2860 #2881 #2974 #3004 #3015 #3033 + Disabled GA versioning #2909 #2917 #3044 + Add regular expression to match logs from very old agents #2839 + Remove empty "distro" module #2854 + Enable Python 2.7 for unit tests #2856 + Add check for noexec on Permission denied errors #2859 + Reorganize file structure of unit tests #2894 + Report useful message when extension processing is disabled #2895 + Add log and telemetry event for extension disabled #2897 + Cleanup common directory #2902 + Fix agent memory usage check #2903 + enable rhel/centos agent-cgroups #2922 + Add support for EC certificates #2936 + Add Cpu Arch in local logs and telemetry events #2938 + Clarify support status of installing from source. #2941 + Gathering Guest ProxyAgent Log Files #2975 + Remove debug info from waagent.status.json #2971 + Handle errors when adding logs to the archive #2982 + Update supported Ubuntu versions #2980 + Fix pylint warning #2988 + Add information about HTTP proxies #2985 + update the proxy agenet log folder for logcollector #3028 + Add config parameter to wait for cloud-init (Extensions.WaitForCloudInit) #3031 [Added in 2.10.0.8] + Adding AutoUpdate.UpdateToLatestVersion new flag support #3020 #3027 [Added in 2.10.0.8] + Check certificates only if certificates are included in goal state #2803 + Redact access tokens from extension's output #2811 + Fix name of single IB device when provisioning RDMA #2814 + Port NSBSD system to the latest version of waagent #2828 + fix daemon version #2874 + fix version checking in setup.py #2920 + fix(ubuntu): Point to correct dhcp lease files #2979 + Download certs on FT GS after check_certificates only when missing from disk #2907 + Add support for EC certificates (#2936) #2943 [Added in 2.10.0.5] + Fix for "local variable _COLLECT_NOEXEC_ERRORS referenced before assignment" (#2935) #2944 [Added in 2.10.0.5] + Cache daemon version #2942 #2946 [Added in 2.10.0.5] + undo get daemon version change #2951 [Added in 2.10.0.5] + fix self-update frequency to spread over 24 hrs for regular type and 4 hrs for hotfix #2948 [Added in 2.10.0.5] + ignore dependencies from extensions that do not have settings #2957 [Added in 2.10.0.6] + Do not reset the mode of a extension's log directory #3014 [Added in 2.10.0.8] + skip cgroup monitoring if log collector doesn't start by the agent. [#2939] [Added in 2.10.0.8] + NM should not be restarted during hostname publish if NM_CONTROLLED=y [#3008] [Added in 2.10.0.8] + Daemon should remove stale published_hostname file and log useful warning #3016 [Added in 2.10.0.8] + Revert changes to publish_hostname in RedhatOSModernUtil #3032 [Added in 2.10.0.8] + Recover primary nic if down after publishing hostname in RedhatOSUtil #3024 [Added in 2.10.0.8]- fix a few typos in the spec file and use proper macros where applicable - remove python3 requires- Restart the agent (bsc#1227600) + The agent service gets restarted in post but may fail due to a missing config file. config files were split into their own package previously. When we detect that we have to restore a config file we also need to restart the agent again.- Add agent-btrfs-use-f.patch (bsc#1227711) + Use the proper option to force btrfs to overwrite a file system on the resource disk if one already exists.- Set Provisioning.Agent parameter to 'cloud-init' in SLE Micro >= 5.5 (bsc#1227106). - Do not package waagent2.0 in Python 3 builds. - Drop obsolete otherproviders keyword from Conflicts statements- Do not require wicked in non-SUSE build environments.- Apply python3 interpreter patch in non SLE build environments (bcs#1227067) - Simplify %suse_version conditionals- Use the -Z option for mv and cp in the posttrans to properly handle SELinux context (bsc#1225946)- Keep the existing config file (bsc#1222620) + During separation of the config file into subpackages it was forgotten that on update of the main package the previously provided config file would be removed. SInce we do not know which flavor of our images the package is being upgraded on, preserve the previously existing config file. This will orphan the file if non of the -config-* packages gets installed.- Do not force wicked dependency for networking, allow NM in SLE Micro 5.5 and for ALP based products - Change patch syntax in preparetion for RPM 4.20- Recognise SLE-Micro as a SLE based distro + Add agent-micro-is-sles.patch- Create sub-packages for the config (jsc#PED-7869) + Remove config manipulation from image building + Set up a config for SLE-Micro + Makes deafult upstream config available - Update to 2.9.1.1 (bsc#1217301, bsc#1217302) + Update remove-mock.patch + Download certificates when goal state source is fast track #2761 + Increase the max number of extension events by 20% #2785 + Remove version suffix from extension slice #2782 + Support int type for eventPid and eventTid fields #2786 + Improve log for swap counter not found #2789 + Remove cgroup files during deprovisioning #2790 + Log VM architecture in heartbeat telemetry for arm64 adoption monitoring #2818 + Enforce memory usage for agent #2671 + Use common download logic for agent downloads #2682 + Implement Fedora distro #2642 + Report message in handler heartbeat #2688 + Remove dependency on pathlib from makepkg #2717 + Do not fetch extensions goal state in log collector #2713 + Update log collector unit file to remove memory limit #2757 + Fix bug in get_dhcp_pid (CoreOS) #2784 + Fetch full distro version for mariner #2773 From 2.9.04 + Resource Governance on extensions (CPU monitoring and enforcing & Memory monitoring) #2632 #2581 #2555 + Agent resource governance #2597 #2591 #2546 + monitor system-wide memory metrics (#2610) + Additional telemetry for goal state (#2675) + HostGAPlugin usage improvements #2662 #2673 #2655 #2651 + Add logging statements for mrseq migration during update (#2667) + Logcollector memory usage #2658 #2637 + Update Log Collector default in Comments and Readme (#2608) + Improve telemetry success and failure markers (#2605) #2604 #2599 + Fix formatting of exceptions on Python 3.10 (traceback.format's etype argument) (#2663) + Fix UNKNOWN(Zombie) Process in unexpected processes check (#2644) + SUSE: Fix valid values for DHCLIENT_HOSTNAME_OPTION (#2643) + Debian - string conversion for systemd service (#2574) + Do not set a CPU quota on the agent for RHEL and Centos (#2685) #2689 #2693 + support rhel distro (#2620) #2598 + Added support for devuan linux distribution (#2553) No incremental updates between 2.8.011 and 2.9.0.4- Clean up conditions in spec file: + There is no maintained distro > 1315 (SLE12) AND < 1500 (SLE15). Only openSUSE 13.2 and 13.3 lived in that space, but they are clearly not the target of this spec file. + if 0%{?Suse_version} && 0{?suse_version} > 1315: no need to first validate suse_version being defined: whenever it is > 1315, must be defined.- Add patch remove-mock.patch: * Use unittest.mock first, falling back to mock if required. - Tighten Requires against python3-mock.- Add paa_12_sp5_rdma_no_ext_driver.patch (bsc#1203181)- Update to version 2.8.0.11 (bsc#1203164) + Enabled support for Fast Track (faster processing of extensions) + Add telemetry for VM Size + Add telemetry for environment variables passed to extensions + Enforce CPU quota on the Agent on Red Hat and CentOS 7.4+ + Restore all firewall rules needed for communication with the WireServer + Fix false positives reporting processes in the Agent's cgroup + Fix false errors when collecting debug logs + Don't report incorrect CPU usage data + Fetching a goal state with empty certificates property + Silence goal state fetch errors after 3 logs + Change fast track timestamp default from None to datetime.min + Retry HGAP's extensionsArtifact requests on BAD_REQUEST status + Support for Rocky Linux + RHEL 8 + RHEL 9 + Preliminary work to enforce CPU quota on extensions + Preliminary work for management of agent self-updates [GA Versioning] + Add CentOS 7.9 to end-to-end-tests + Add Mariner to end-to-end-tests - 2.8.0.11 followed 2.7.3.0, no intermediate releases- Migration to /usr/etc: Saving user changed configuration files in /etc and restoring them while an RPM update.- Update to 2.7.3.0 (jsc#PED-1298) + Remove proper_dhcp_config_set.patch included upstream + Remove sle_hpc-is-sles.patch included upstream + Forward port reset-dhcp-deprovision.patch + Retry HGAP's extensionsArtifact requests on BAD_REQUEST status #2622 + Use 'ip' instead of 'ifdown/ifup' to restart network interface on RHEL >= 8.6 #2612 #2624 - From 2.7.1.0 + hotfix for OOM errors on the log collector - From 2.7.0.6 + Increase time of autoupdates after updates are available #2403 + Send telemetry when upgrade available #2421 + Enable collection of debugging information #2436, #2453, #2510 + Add support for Python 2.6 to the debug info collection code #2452 + Enable CPU/memory data collection on RedHat and CentOS #2450 + Exclude end-to-end tests from Agent setup #2396, #2402 + Fix log message in cgroups management #2427 + Fix parsing of malformed error.json files #2433 + Allow DNS queries over TCP #2429 + Dont exit extension handler process if unable to fetch first goal state #2440 + Improvements for Mariner #2407, #2414 + Add uos support #2420 + Add support for VMware PhotonOS #2431 - From 2.6.0.2 + added cloudlinux support (#2344) + Enable extensions cpu monitoring (#2357, #2384, #2391) + Support Flatcar Container Linux (#2365) + Retrieve VmSettings from HostGAPlugin (#2378, #2382, #2386, #2394, #2397, #2404) + Set Agent's CpuQuota to 75% (#2383) + Use handler status if extension status is None when computing the ExtensionsSummary (#2358) (#2361) + fix bug with dependent extensions with no settings (#2285) (#2362) + Create events dir for handlers if ETP enabled (#2366) + Report status even if goal state cannot be processed (#2370) + Define ExtensionsSummary.eq (#2371) (#2373) + Implement ExtensionsSummary.ne in terms of eq (#2375) - From 2.5.0.2 + Enable Extension Telemetry Pipeline (#2337, #2339) + Enable Periodic Log Collection in systemd distros (#2295,#2289) + Implement InitialGoalStatePeriod parameter + improvements in logging goal state processing(#2332) + Fix operation name in InitializeHostPlugin event(#2338) + Mock systemctl stop cmd (#2335) + Report transitioning when status file not found (#2330) + Dont create default status file for Single-Config extensions (#2318) + Do not create placeholder status file for AKS extensions (#2298) + Save waagent_status to history folder and add additional details to the status file (#2325,#2301,#2270) + Rename Debug.FetchVmSettings to Debug.EnableFastTrack (#2324) + Update HostGAplugin headers before fetching vmSettings (#2323) + Handle HTTP GONE in vmSettings request (#2321) + Added log statements to debug issues in vmSettings API(#2317) + Remove reference to re.IGNORECASE (#2316) + Add and remove extension slice (#2315) + FastTrack changes (#2314, #2313,#2306, #2304,#2294, #2293) + Helper to handle exception message(#2305) + Remove trailing spaces from command name (#2296) + Add debug info for systemd-run false positives (#2292) + Move Github Actions VMs to Ubuntu 18 (#2291) + Onboard redhat82, ubuntu20 (#2290, #2279) + Allow systemd-run in the Agent's cgroup (#2287) + Use handler status if extension status is None (#2358) + Bug Fix :Define ExtensionsSummary.ne (#2371) - From 2.4.0.2 + Support for Multi config (#2245, #2261) + Support sles 15 sp2 distro (#2272) + Cleanup history folder every 30 min (#2258) + Updated _read_status_file to include a fragment of status file in the exception (#2257) + Fix telemetry unicode errors (Re-add #1937) (#2278) + Match IPoIB interface with any alphanumeric characters (#2239) + Fix bug with dependent extensions with no settings (#2285) + Do not create placeholder status file for AKS extensions (#2298) + Refactoring of Agent's main loop (#2275) + Exception for Linux Patch Extension for creating placeholder status file (#2307) + Dont create default status file for Single-Config extensions (#2318) + Fix bad logging (#2241) + Fixed logging of PeriodicOperation (#2263) + Log collector broken pipe fix (#2267) + Improved logging for Multi config (#2246) - From 2.3.1.1 + revert for reducing the time window where we restart the network interfaces of the VM - From 2.3.0.2 + Enforce CPUQuota on agent #2222, #2226 + Add support for RequiredFeatures and GoalStateAggregateStatus APIs [#2190], #2206, #2209, #2216 + Added fallback locations for extension manifests #2188 + Add missing call to str.format() when creating exception #2193 + Remove helper network service on deprovision #2191 + Use a helper script to start the network service #2225 #2253 + Initialize published_hostname using /var/lib/cloud/data/set-hostname #2215 + Fix utf logging for persist firewall rules #2237 + Replace firewall-setup unit file if changed #2236 - From 2.2.54 + PA changes to check cloud-init (#2061) + log collector (#2066) + cgroups CPU percentage py processor count (#2074) + Parse InVMGoalStateMetaData from Extension Config (#2081) + iscsi disk support for agent configs (#2073) + Add support for VMs with multiple IB devices (#2085) + Python 3.9 support (#2082) + Add support for CBL-Mariner distro (#2099) + Enable Provisioning.MonitorHostName for Ubuntu (#1934) + Added supportedFeatures flag in status reporting (#2089) + Parse ext runtime settings (#2087) + GHA merge validation (#2097) + Cgroups improvements + renamed the eventsFolder variable for preview and enabled ETP (#2140) + Agent slice and custom unit files telemetry (#2150) + Make IPoIB interface online (#2116) + Add option to disable NetworkConfigurationChanges (#2156) + Log network configuration on service start (#2157) + Setup persistent firewall rules on service restart (#2154) + switched to using run_command (#2060) + fixes for chained-comparison and dangerous-default-value pylint warnings (#2072) + fixed depends on errors (#2059) + WireIp env variable added (#2078) + Unstick HGAP channel as default (#2046) + shellutil.run_command fixes (#2086, #2098) + unit test fixes (#2090, #2091, #2108, #2153) + fix distro resolution for RedHat (#2083) + Read KVP value in binary mode (#2084) + Redact protected settings in goal state debug files (#2130) + Modify retry logic for empty goal state (#2140) + GS no config fix (#2141) + CommandExecution.log logrototate config -> custom log management (#2143) + binary file for firewall rules (#2147) + Refresh host ga plugin periodically (#2155) + Disabled custom service (#2166) + update test zips (#2167) - From 2.2.53.1 + Extension Telemetry Pipeline as a private-preview feature - From 2.2.53 + Start exthandler with the same python interpreter (#2007) + Verify that the extension status is an array (#2010) + Remove enum _UpdateType and retry fetching goal state (#2018) + use dd for ext4 as well as xfs (#2042) + Fix path for error.json (#2044) + Switch to run command changes, + provisioning changes that need to be reverted. (#2050) + Fix timestamp for goal state archive (#2051) + Case insensitive parsing or Plugins and PluginSettings (#2054) + Revert "Fixed delays for HTTP retries rather than exponential delays (#1967)" (#2065) + Fixed bug causing "MAC verified OK" message (#2069) + Revert unicode fix manually (#1937) (#2070) + Recreate handler environment file on service startup (#1960) + Add log collection tool and thread (#1987) + Thread interface (#1990) + Verify that the CPU and Memory cgroups for the agent are properly initialized; disabled cgroups if they are not active. (#2015) + SUSE config: use Btrfs LZO compression for ResourceDisk (#2055) + Extension telemetry pipeline (#1918) + Reformatted the heartbeat event (#2009) + Add LIS version to OSInfo.message (#2011) + One thread for telemetry (#2019) + Limit description character length sent for health report (#2020) + Remove Serial Console Logging (#2028) + Echo log to /dev/console during provisioning (#2043) + Adding telemetry for logrotate (#2045) + Report placeholder extension status as an array (#2068) + Fix broken link in readme (#2014) + Add log collector flags to README (#2029) - From 2.2.52 + Do not retrieve users in each goal state (#1935) + Fix check for systemd-run failure when invoking extensions (#1943) + Fix telemetry unicode errors (#1937) + Uninstall unregistered extensions (#1970) + Use run_command to execute iptables (#1944) + Use run_command for ip route (#1958) + Fix handling of gen2 disks with udev rules (#1954) + Add API for uploading logs via host plugin (#1902) + Fixed delays for HTTP retries rather than exponential delays (#1967) + Resolve undefined variable (#1950) + Convert owner uid to string (#1949) + Fix Travis special checks for distro and remove useless cgroup tests (#1959) + Use tmp_dir instead of data_dir (#1968)- Removed %config flag for files in /usr directory.- Cleanup spec file: - - Removed %{_distconfdir}/logrotate.d from dirlist. It will be handled by package filelist now. - - %{_distconfdir}/logrotate.d/* can be changed by vendor only. So it will be replaced by an RPM update.- Moved logrotate files from user specific directory /etc/logrotate.d to vendor specific directory /usr/etc/logrotate.d.- require python-rpm-macros to fix build for TW - do not require test dependencies for build, they are not needed (no testsuite run in %check)- Add reset-dhcp-deprovision.patch (bsc#1198258) + Reset the dhcp config when deprovisioning and instance to ensure instances from aVM image created from that instance send host information to the DHCP server.- Add sysvinit-tools as dependency (bsc#1181600, bsc#1181601)- Add sle_hpc-is-sles.patch (bsc#1180719) + Recognise SLE_HPC as SLES and use the proper RDMA handler and distro specific initialization code- Update proper_dhcp_config_set.patch (bsc#1177161, bsc#1177257) + Add missing imports- Update to version 2.2.49.2 (bsc#1176368, bsc#1176369) + Remove paa_use_hostnamectl.patch included upstream + Forwrad port proper_dhcp_config_set.patch + Do not use --unit with systemd-cgls (#1910) + Report processes that do not belong to the agent's cgroup (#1908) + Use controller mount point for extension cgroup path (#1899) + Improvements in setup of cgroups (#1896) + Remove ExtensionsMetricsData and per-process Memory data (#1884) + Fix return value of start_extension_command (#1927) + Remove import * (#1900) + Fix flaky ExtensionCleanupTest class (#1898) + Fix codecov badge (#1883) + Changed codecov to run on py3.8 (#1875) + Update documentation on /dev/random (#1909) + Mount options are in mount(8) (#1893) + Remove ssh host key thumbprint in report ready (#1913) + Emit AutoUpdate value at service start only (#1907) + Add logging for version mismatch (#1895) + Send telemetry event if libdir changes (#1897) + Add log collector utility (#1847) + Move AutoUpdate reporting to HeartBeat event (#1919) + Removing infinite download of extension manifest without a new GS (#1874) + Fix wrongful dir deletion (#1873) + Fix the cleanup-outdated-handlers to only delete handlers that are not present in the GS (#1889) + Expose periods of environment thread in waagent.conf (#1891) + Added user @kevinclark19a as Contributor. (#1906) - From 2.2.48.1 + Refactoring GoalState class out of Protocol, making Protocol thread-safe, removing stale dependencies of Protocol and removing the dependency on the file system to read the Protocol info + Fetch goal state when creating HostPluginProtocol (#1799) + Separate goal state from the protocol class (#1777) + Make protocol util a singleton per thread (#1743, #1756) + Fetch goal state before sending telemetry (#1751) + Remove file dependency (#1754) + Others (#1758, #1767, #1744, #1749, #1816, #1820) + New logs for goal state fetch (#1797) and refresh (#1794). + Thread name added to logs (#1778) + Populate telemetry events at creation time (#1791) + Periodic HeartBeat to be logged to the file (#1755) + Add unit test to verify call stacks on telemetry events (#1828) + Others (#1841, #1842, #1846) + Handling errors while reading extension status files (Limiting Size and Transient issues)(#1761) + Enable SWAP on Resource Disk as Application Certification Support suggested (#1762) + Update 'Provisioning' options in default configs ( #1853) + Drop Metadata Server Support (#1806, #1839, #1840 ) + Improve documentation of ResourceDisk.EnableSwapEncryption (#1782) + Removed is_snappy function (#1774) + Handle exceptions in monitor thread (#1770) + Fix timestamp for periodic operations in the monitor thread (#1879) + Fix permissions on the Ubuntu systemd service file (#1814) + Update hostname setting for SUSE distros (#1832) + Python 3.8 improvements + support for Ubuntu 20.04 (#1860, #1865, #1738) + Testing and dev-infra improvements [#1771, #1768, #1800, #1826, #1827, #1833] + Others (#1854, #1858) - From 2.2.46 + [#1741] Do not update goal state when refreshing the host plugin + [#1731] Fix upgrade sequence when update command fails + [#1725] Initialize CPU usage + [#1716, #1737] Added UTC logging and correcting the format + [#1651, #1729] Start sending PerformanceCounter metrics and additional memory information for Cgroups- Drop paa_sudo_sle15_nopwd.patch (bsc#1175198) + sudoers file is managed by cloud-init we no longer need this hack- Add proper_dhcp_config_set.patch (bsc#1173866) + Properly set the dhcp configuration to push the hostname to the DHCP server + Do not bring the interface down to push the hostname, just use ifup- Add paa_use_hostnamectl.patch (bsc#1167601, bsc#1167602) + Set the hostname using hostnamectl to ensure setting is properly applied- BuildRequire pkgconfig(udev) instead of udev: allow OBS to shortcut through -mini flavors.- Update to version 2.2.45 (jsc#ECO-80) + Remove paa_cve_2019-0804.patch, included upstream + Add support for Gen2 VM resource disks + Use alternate systemd detection + Fix /proc/net/route requirement that causes errors on FreeBSD + Add cloud-init auto-detect to prevent multiple provisioning mechanisms from relying on configuration for coordination + Disable cgroups when daemon is setup incorrectly + Remove upgrade extension loop for the same goal state + Add container id for extension telemetry events + Be more exact when detecting IMDS service health + Changing add_event to start sending missing fields - From 2.2.44 + Remove outdated extension ZIP packages + Improved error handling when starting extensions using systemd + Reduce provisioning time of some custom images + Improve the handling of extension download errors + New API for extension authors to handle errors during extension update + Fix handling of errors in calls to openssl + Improve logic to determine current distro + Reduce verbosity of several logging statements - From 2.2.42 + Poll for artifact blob, addresses goal state procesing issue - From 2.2.41 + Rewriting the mechanism to start the extension using systemd-run for systems using systemd for managing + Refactoring of resource monitoring framework using cgroup for both systemd and non-systemd approaches [#1530, #1534] + Telemetry pipeline for resource monitoring data - From 2.2.40 + Fixed tracking of memory/cpu usage + Do not prevent extensions from running if setting up cgroups fails + Enable systemd-aware deprovisioning on all versions >= 18.04 + Add systemd support for Debian Jessie, Stretch, and Buster + Support for Linux Openwrt - From 2.2.38 + Fix CVE-2019-0804 + Add fixes for handling swap file and other nit fixes - From 2.2.37 + Improves re-try logic to handle errors while downloading extensions- Add paa_cve_2019-0804.patch (bsc#1127838) - An issue with swapfile handling in the agent creates a data leak situation that exposes system memory data.- Update to 2.2.36 (bsc#1119542) - Remove, included upstream + paa_fix_driver_install_detect.patch + paa_rdma_install_proper_driver.patch + 0001-Obtain-platform-information-in-Python-version-depend.patch + 0001-Detect-openSUSE-and-SLES.patch + 0001-Handle-the-disapperance-of-net-tools.patch + 0001-Properly-detect-SLES-15-for-rdma-support.patch - Forward port agent-no-auto-update.patch - [#1451] Do not utf-8 encode telemetry messages - From 2.2.35 + [#1434] Use files instead of pipes to capture stdout/stderr + [#1431] Prevent multiple downloads of zips + [#1418] Add main module to Python's egg + [#1416] Fix UTF-8 encoding for telemetry payload + [#1408] Honor the 'no_proxy' flag + [#1391, #1401, #1441] Azure Stack improvements + [#1384] Write status file in WALinuxAgent lib folder + [#1375] Add support for Redhat + [#1373] Handle different kernel builds on SUSE Linux Enterprise + [#1365, #1385, #1389] Fixes for RDMA - From 2.2.34 + [#1397] Send events when extensions fail to complete operation + [#1394/#1366] Fix the threshold telemetry issue + [#1298] Implementing extension sequencing in azure Linux agent + [#1340] Allow Clear Linux detection in python2 and python3 + [#1345] FreeBSD swap issues fix (#1144) + [#1349] Use append_file in Redhat6xOSUtil.openssl_to_openssh() + [#1355] Ensure 'value' for authorized ssh keys end in "\n" + [#1361] Remove main module - From 2.2.32 + [#1325] Enable cgroups by default on all distros + [#1327, #1347] Allow enforcing of cgroups limits + [#1337] Allow configuration for cgroups + [#1333] Add support for NSBSD + [#1319] Stream extension downloads to disk (do not buffer the download in memory) + [#1303] Fix to support custom DNS servers + [#1306] Log extension stdout and stderr + [#1302] Better of cloud-init configuration during deprovisioning + [#1295] Fix to report the correct extension error code + [#1289] Allow disabling the agent or extensions + [#1290] Use the "ip route" command instead of the "route" comand during network configuration + [#1281] Delete JIT accounts + [#1234] Fix for reading KVP values from host + [#1287] Add UDEV rule in azure disk encryption - From 2.2.31 Upstream version jump + [#1196] Health store integration + [#1199] CGroups support + [#1194] Use host for status reporting + [#1188] Fix for sentinel and signal handlers + [#1182] Telemetry updates + [#1171] Add support for JIT + [#1164] Fix for name resolution in Ubuntu 18.04 + [#1154] Set connection close header + [#1143] Remove extension packages after extraction - From 2.2.26 + Update Debian specific configuration and setup. - From 2.2.25 + Upstream version jump + Revert extension manifest caching to prevent downgrade issues. - From 2.2.20 + This is a hotfix release for #945, details and mitigation are available in the wiki. - From 2.2.29 + [#929] wire.py#update_goal_state does not handle out-of-date GoalState errors + [#908] Set Files to 0400 in /var/lib/waagent + [#906] Hardcoded value for sshd's ClientAliveInterval (180) + [#899] Improve HeartBeat Event + [#898] Send dummy status if extension fails to write a #.status file + [#897] 'Target handler state' wall of errors + [#896] End of Line Comments are Not Supported nor Handled + [#891] Create a Telemetry Event to Track Custom Data Execution + [#884] Cleanup Old Goal State and Extension Cache + [#876] The agent should use a scaling back-off when retrying HTTP requests + [#869] The agent should report OS information in the correct JSON format. + [#822] Update docs- Remove paa_up_only_to_push_hostname.patch + Turns out the issue was a kernel bug and while ifdown ifup sequence to bounce the hostname to the DHCP server is overkill we do not want to carry a "cosmetic" patch- Add paa_up_only_to_push_hostname.patch (bsc#1094420)- Add 0001-Handle-the-disapperance-of-net-tools.patch (bsc#1092831) + Switch to using "ip route" command - Add paa_sudo_sle15_nopwd.patch + Work around issue where SLE 15 will not accept the user password when using sudo, cause unknown, needed to time constraints w.r.t. release - Add 0001-Properly-detect-SLES-15-for-rdma-support.patch + Properly detect SLES 15 for RDMA support- Add 0001-Detect-openSUSE-and-SLES.patch (bsc#1087764) + Properly detect SLES 15 and openSUSE Leap 15 in Python 3- Update paa_force_py3_sle15.patch (bsc#1061584) + Another reference to python, which points to python2- Add paa_force_py3_sle15.patch + Force use of Python 3 for SLE 15 and later- Modify 0001-Obtain-platform-information-in-Python-version-depend.patch to reflect agreed upon solution with upstream- Add 0001-Obtain-platform-information-in-Python-version-depend.patch to fix build on distribution with Python 3.6 and later (boo#997614)- Fix RDMA driver package version install issue (bsc#1074865) + Added paa_rdma_install_proper_driver.patch- Update to version 2.2.18 + [#868] Fix for sudoer update + [#886] Agent should not update outside of goal state + [#889] Firewall removal should not retry - Fixes issues introduces with 2.2.17- BuildRequire distribution-release instead of openSUSE/sles-release.- Fix typo in dependency- Update to version 2.2.17 (bsc#1058974, bsc#1058975) + Remove paa_noref_local_install.patch, included upstream + Setup build for Python 3 for distros > SLE 12 + [#879] -- OS.EnableFirewall=y breaks load balanced sets probing - From 2.2.16 + [#865] -- The agent should retry ETIMEDOUT (110) IOErrors - From 2.2.15 + [#783] -- The agent fails to use the standard Linux environment variables for HTTP proxy + [#784] -- Adjust http retry and logging + [#786] -- Add Provisioning.SshHostKeyPairType=auto to support ssh-keygen -A + [#791] -- Prevent bloating sudoers waagent when agent has problem + [#792] -- Clearlinux distro_name does not match + [#796] -- Accommodate new Clear Linux distro string in os-release + [#798] -- Support Ubuntu RDMA driver update + [#800] -- HostGAPlugin still use proxy while auto-updating + [#801] -- Agent fails to clean-up PID files + [#807] -- The agent should not emit duplicate events + [#808] -- The agent should more gracefully handle out-of-space disk errors (IOError 28) + [#811] -- Comments inline in /etc/waagent.conf cause config to not be read + [#812] -- Agent fails and isn't recoverable if an extension's log directory is not present anymore + [#823] -- Show config options in use + [#830] -- Ensure VM identifier is properly ordered + [#845] -- ')' is missed in show-configuration + [#850] -- Cannot get to state 'Running' with Provisioning.Enabled=n- Add paa_fix_driver_install_detect.patch (bsc#1057888) + Avoid the driver from re-installing if the same version is already installed, this avoids an enless reboot loop- Add paa_noref_local_install.patch (bsc#1050229) + Do not refresh the repos when we install the local RDMA kmp, repo access has already failed, no need to try again- Update to version 2.2.14 (bsc#1050000) + [#777] -- Deprovisioning when VM identifier changes is too aggressive + [#769] -- HostGAPlugin requests should never go through proxy + [#764] -- waagent -configuration-path:/path -start not take effect + [#761] -- MetadataProtocol has no client object + [#757] -- deprovision is executed even if input 'n' + [#754] -- /etc/resolv.conf is removed if create a VM base on an specialized image + [#746] -- Agent WALinuxAgent-2.2.12 is blacklisted - skipping download + [#740] -- Duplicate logging on RHEL/CentOS- Remove timeout udev rules (bsc#1049480) + 99-azure-timeout.rules + Rule is broken + Timeout is being set by the eagent code- Modify dependencies, systemd is runtime, not build- Update to version 2.2.13 (bsc#1042202, bsc#1042203) + [#712] Initial support for OpenBSD + [#730] Archlinux documentation + [#743] Fix for FreeBSD resource disk discovery + [#748] Fix for host plugin response encoding + [#750] Fix for GAiA public key handling + [#751] Fix for host plugin channel initialization + [#752] Fix for AzureStack protocol error handling + [#753] Removal of iptables rules from AzureStack protocol - From 2.2.12 + [#711] -- There are too many log print to /var/log/waagent.log + [#714] -- Questionable split call in common/conf.py + [#717] -- Remove extension logs during deprovision + [#720] -- Reset of RDMA drivers not taking effect + [#721] -- WALA deprovision process not clean up all cloudinit files + [#724] -- Location of configuration file should be editable issue + [#725] -- v2.2.11 can throw unexpected exceptions on provisioned VMs + [#727] -- v2.2.11 cannot update status for RDFE VMs - From 2.2.11 + [#463] Ensure the transport certificate expires in no more than two years enhancement + [#470] Emit goal state processing performance metrics enhancement + [#518] Align with the Azure Stack protocol enhancement + [#531] Location of configuration file should be editable feature request + [#604] v2.2.x - Need new OS.SshDir in waagent.conf feature request + [#631] Will "waagent -deprovision[+user]" wipe the cloud-init data? feature request + [#668] Agent continuously logs error on FIPS compliant server + [#679] Enable auto-update for AzureStack feature request + [#682] Default route is not added if it already exists cla-not-required + [#684] mkfs options out of order + [#685] Change option order for mkfs. Alpine is being picky + [#686] Use of hostnameclt causes hostname rename lowercase for RHEL 7.x + [#687] Enable customer-supported cloud-init + [#688] Agent should purge /var/lib/waagent/events if it gets full + [#689] Remove superseded extension folders / zip files + [#693] Agent should remove unused extension directories and zip files enhancement + [#694] Agent should not issue an HTTP HEAD to determine status blob type enhancement + [#695] Ensure all udev rules are copied in Ubuntu cla-not-required + [#699] [2.2.10] Some questions about Extension clean up + [#701] Reduce polling time for extension processing + [#706] Provision Event is not Fired if Customer Forgets to Deprovision VM- Update to version 2.2.10 (bsc#1035418, bsc#1035419) + [#675] Clean up extension directories + [#673] Provisioning logging improvements + [#674] Override decode custom data + [#670] Add Arch distro support - From version 2.2.9 + [#665] Networking logging cleanup + [#666] Keygen logging cleanup + [#667] Reduce the monitoring loop wait time - From version 2.2.8 + [#649] Improve host plugin failure handling + [#647] Add telemetry for put status failures + [#646] Improve extension handler logging + [#645] Reduce guest agent update logging + [#644] Add basic 32-bit support to interface detection + [#641] Better heartbeat exception handling + [#640] Better unhandled exception logging + [#638] Improve NSG state management + [#637] Better handling and cleanup of old events + [#635] Pass environment variables to subprocess + [#634] Improve RDMA package matching + [#629] Better handling of resource disk mounting + [#624] Data disks udev rule + [#614] Add support for EulerOS - From version 2.2.7 + [#625] Enabled PageBlob support through HostGAPlugin- Update to version 2.2.6 (bsc#1029223, bsc#1029224) + [#611] Improve logging when interface detection fails + [#603] Retry when get thuimbprint fails + [#602] Ensure host plugin calls fail gracefully + [#601] Handle interface resets more gracefully + [#600] Wait for partition before mounting + [#599] Correct check for heartbeat freshness + [#594] Fix RDMA reboot issue + [#588] Changed permissions for log directory - From 2.2.5 + [#587] Fix potential sync issue with incarnation number and cache - From 2.2.4 + [#579] Extend VM health status + [#578] Fix FreeBSD deprovision + [#577] Improve mount call and logging + [#573] Centos 7.0 hostnamectl fix- Update to version 2.2.3 (bsc#1018369) + NSG improvements + CoreOS fix + Debian fixes + Apply patch from Debian + Unhandled errors + Handle ExtensionError from decide_version + Correct mkfile size check + Add a log message when primary nic is not found + Add telemetry event for host plugin usage + Fix typo in log message + Prevent duplicates in sysinfo + Add support for Match blocks in sshd config + Fix the logic for agent version + Support offline hostname changes + Ensure config file is updated correctly + Support NetworkManager leases + Fix password encoding + Minor bug fixes + Fix for hostnamectl + RHEL-7 hostname + Fix password encrypting failure in python 2.* + Handle interrupt signal + Fix the issues for mounting resourcedisk - From 2.2.2 + Cleanup SUSE config + Support for F5 Networks BIG-IP + Fix sfdisk options + Fix for fetch manifest + Fix config options for RDMA + Fix issue with xfs swapon + Add Clear Linux distro support + Handle deprovisioning interruption + Reduce goal state logging + Increase polling rate + RHUI cleanup + Add restart_if function for Alpine + Support OnHold flag + Fix for decode_config + Azure stack certificate fix + Enable over-provisioning support + Enable host plugin scenarios + RDMA updates + sfdisk logging fix + Big IP updates - From 2.2.1 + Correct the installed version check in decide_version- Add comment to specfile clarifying the Provides directive lifespan- Update to version 2.2.0 + Non linear release number jump + Add agent-no-auto-update.patch + [#361] More graceful 503 handling + [#364] Enforce http proxy support for calls to storage + [#367] Stop disabling SELinux during provisioning + [#377] Fix partition table race condition + [#387] Fix latest version selection + [#388] Fix extension substatus structure + [#389] Fix shlex related update bug in Python 2.6 + [#391] Correct behavior of register-service + [#398] AzureStack fixes + [#400] Support xfs filesystem + [#404] Correct service start/restart behavior + [#411] Support for disabling provisioning + [#417] Stop spamming journal with pidof dhlient related messages + [#418] Add goal state processor to the version output + [#425] Fix walinuxagent.service Want, After + [#439] Ensure to load latest agents + [#451] Correct proxy port type- Upstream releases a tarball WALinuxAgent-%{version} while this is a reminder of days gone by, as in Windows Azure, it is less confusing and less work if we stay with the upstream source name vs. renaming the tarball.- Update to version 2.1.6 (bsc#994592) + improved RDMA support + extension state migration + Alpine Linux support + fixes for #347, #351, #353- Require eject (bsc#992796,bsc#992797)- Added version to Provides: WALinuxAgent- Replace Conflicts directive with Provides, Obsoletes pair (bsc#990424, bsc#990489)- Update to version 2.1.5 (bsc#989789) + Remove 99-azure-product-uuid.rules included from upstream + Remove python-azure-agent-setup.diff no longer needed + Remove python-azure-agent-disable-test-check-pid.diff + Disable tests - Test have been re-written such that they are expected to run in Azure, since we build the package in the build service 95% fail + goal state processing extension + multi-nic improvements + Fix failed to mount Resource Disk #145 + Fix PID file not updating on service restart #141 + Fix libglibmm-2.4-1c2a dependency #133 + Fix Creating a swap file takes too long #116 + Fix ERROR:unicode argument without an encoding occured creating /var/lib/waagent/CustomData #187 + Fix Should evaluate ssh pub key file before using it #169 + Fix waagent fails to deploy SSH key on CentOS 7 #104 + Fix Creating a swapfile using dd is extremely slow, please use fallocate on Linux #127 + Fix ERROR:Unable to fetch Bundle URI from manifest for Microsoft.OSTCExtensions.LinuxDiagnostic v 2.3.4 #163 + Fix Incorrect host route set for 168.63.129.16 on machines with multiple NICs (CentOS 7) #190 + agent list trim fix + telemetry improvements + signal forwarding fix + self-update bug-fixes + poll timeout fix + RDMA updates + telemetry updates + use dhcp cache for CentOS + output buffering fix + rdma config files + sigterm forwarding + reduced log verbosity + extension manager self-update + multi-nic improvements + scvmm fixes- Do not conflict with NetworkManager (bsc#988743) + we want to allow users to install the WE pattern in Azure. This is not possible if python-azure-agent conflicts with NetworkManager. Testing shows that the system is still accessible if NM is installed after the initial boot that sets up networking. The downside, during image build a user could incidentally install NM and the agent and forget to disable NM, an instance from this image may not be reachable.- Apply patch python-azure-agent-disable-test-check-pid.diff with patch macro to appease SLES 11 build service checks- Update to version 2.1.4 (bsc#980789, bsc#980790) + Support for FreeBSD + Fix a bug for internal extension version resolving- Renamed python-azure-agent-setup.diff to python-agent-azure-setup.diff - Package tests in sub package- Do not package tests (python-agent-azure-setup.diff, bsc#974899) - Enable unit tests during build - Disable test_check_pid (fails if /proc is not available, python-azure-agent-disable-test-check-pid.diff) - Do not run sed on every file (corrupts sample_ext.zip) - Do not mark /usr/lib/udev/rules.d files as %config- Include in SLE 11 and SLE 12 Public Cloud modules (bnc#973427 fate#320692)- Update to version 2.1.3 + Refactor distro class + Fixed protocol detection on Azure Stack + Fix extension handling issue + Allow overwrite existing user + Decode and execute custom data- Initial build + Version 2.1.2.rc2/bin/sh/bin/sh/bin/sh/bin/shWALinuxAgenth01-ch3d 1763367958  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      STUVWXYZ[\]2.14.0.12.14.0.1-150100.3.53.12.14.0.1-150100.3.53.12.14.0.1    !""#$%waagentsite-packagesWALinuxAgent-2.14.0.1-py3.6.egg-infoPKG-INFOSOURCES.txtdependency_links.txttop_level.txtazurelinuxagent__init__.py__pycache____init__.cpython-36.pycagent.cpython-36.pycagent.pycommonAgentGlobals.py__init__.py__pycache__AgentGlobals.cpython-36.pyc__init__.cpython-36.pycagent_supported_feature.cpython-36.pycconf.cpython-36.pycdatacontract.cpython-36.pycdhcp.cpython-36.pycerrorstate.cpython-36.pycevent.cpython-36.pycexception.cpython-36.pycfuture.cpython-36.pyclogger.cpython-36.pycsingletonperthread.cpython-36.pyctelemetryevent.cpython-36.pycversion.cpython-36.pycagent_supported_feature.pyconf.pydatacontract.pydhcp.pyerrorstate.pyevent.pyexception.pyfuture.pylogger.pyosutil__init__.py__pycache____init__.cpython-36.pycalpine.cpython-36.pycarch.cpython-36.pycbigip.cpython-36.pycchainguard.cpython-36.pycclearlinux.cpython-36.pyccoreos.cpython-36.pycdebian.cpython-36.pycdefault.cpython-36.pycdevuan.cpython-36.pycfactory.cpython-36.pycfedora.cpython-36.pycfreebsd.cpython-36.pycgaia.cpython-36.pyciosxe.cpython-36.pycmariner.cpython-36.pycnsbsd.cpython-36.pycopenbsd.cpython-36.pycopenwrt.cpython-36.pycphotonos.cpython-36.pycredhat.cpython-36.pycsuse.cpython-36.pycsystemd.cpython-36.pycubuntu.cpython-36.pycalpine.pyarch.pybigip.pychainguard.pyclearlinux.pycoreos.pydebian.pydefault.pydevuan.pyfactory.pyfedora.pyfreebsd.pygaia.pyiosxe.pymariner.pynsbsd.pyopenbsd.pyopenwrt.pyphotonos.pyredhat.pysuse.pysystemd.pyubuntu.pyprotocol__init__.py__pycache____init__.cpython-36.pycextensions_goal_state.cpython-36.pycextensions_goal_state_factory.cpython-36.pycextensions_goal_state_from_extensions_config.cpython-36.pycextensions_goal_state_from_vm_settings.cpython-36.pycgoal_state.cpython-36.pychealthservice.cpython-36.pychostplugin.cpython-36.pycimds.cpython-36.pycmetadata_server_migration_util.cpython-36.pycovfenv.cpython-36.pycrestapi.cpython-36.pycutil.cpython-36.pycwire.cpython-36.pycextensions_goal_state.pyextensions_goal_state_factory.pyextensions_goal_state_from_extensions_config.pyextensions_goal_state_from_vm_settings.pygoal_state.pyhealthservice.pyhostplugin.pyimds.pymetadata_server_migration_util.pyovfenv.pyrestapi.pyutil.pywire.pysingletonperthread.pytelemetryevent.pyutils__init__.py__pycache____init__.cpython-36.pycarchive.cpython-36.pyccryptutil.cpython-36.pycdistro_version.cpython-36.pycfileutil.cpython-36.pycflexible_version.cpython-36.pycnetworkutil.cpython-36.pycrestutil.cpython-36.pycshellutil.cpython-36.pyctextutil.cpython-36.pyctimeutil.cpython-36.pycarchive.pycryptutil.pydistro_version.pyfileutil.pyflexible_version.pynetworkutil.pyrestutil.pyshellutil.pytextutil.pytimeutil.pyversion.pydaemon__init__.py__pycache____init__.cpython-36.pycmain.cpython-36.pycscvmm.cpython-36.pycmain.pyresourcedisk__init__.py__pycache____init__.cpython-36.pycdefault.cpython-36.pycfactory.cpython-36.pycfreebsd.cpython-36.pycopenbsd.cpython-36.pycopenwrt.cpython-36.pycdefault.pyfactory.pyfreebsd.pyopenbsd.pyopenwrt.pyscvmm.pyga__init__.py__pycache____init__.cpython-36.pycagent_update_handler.cpython-36.pyccgroupapi.cpython-36.pyccgroupconfigurator.cpython-36.pyccgroupcontroller.cpython-36.pyccgroupstelemetry.cpython-36.pyccollect_logs.cpython-36.pyccollect_telemetry_events.cpython-36.pyccpucontroller.cpython-36.pycenv.cpython-36.pycextensionprocessutil.cpython-36.pycexthandlers.cpython-36.pycfirewall_manager.cpython-36.pycga_version_updater.cpython-36.pycguestagent.cpython-36.pycinterfaces.cpython-36.pyclogcollector.cpython-36.pyclogcollector_manifests.cpython-36.pycmemorycontroller.cpython-36.pycmonitor.cpython-36.pycperiodic_operation.cpython-36.pycpersist_firewall_rules.cpython-36.pycremoteaccess.cpython-36.pycrsm_version_updater.cpython-36.pycself_update_version_updater.cpython-36.pycsend_telemetry_events.cpython-36.pycsignature_validation.cpython-36.pycsigning_certificate_util.cpython-36.pycupdate.cpython-36.pycagent_update_handler.pycgroupapi.pycgroupconfigurator.pycgroupcontroller.pycgroupstelemetry.pycollect_logs.pycollect_telemetry_events.pycpucontroller.pyenv.pyextensionprocessutil.pyexthandlers.pyfirewall_manager.pyga_version_updater.pyguestagent.pyinterfaces.pylogcollector.pylogcollector_manifests.pymemorycontroller.pymonitor.pyperiodic_operation.pypersist_firewall_rules.pypolicy__init__.py__pycache____init__.cpython-36.pycpolicy_engine.cpython-36.pycpolicy_engine.pyremoteaccess.pyrsm_version_updater.pyself_update_version_updater.pysend_telemetry_events.pysignature_validation.pysigning_certificate_util.pyupdate.pypa__init__.py__pycache____init__.cpython-36.pycdeprovision__init__.py__pycache____init__.cpython-36.pycarch.cpython-36.pycclearlinux.cpython-36.pyccoreos.cpython-36.pycdefault.cpython-36.pycfactory.cpython-36.pycsuse.cpython-36.pycubuntu.cpython-36.pycarch.pyclearlinux.pycoreos.pydefault.pyfactory.pysuse.pyubuntu.pyprovision__init__.py__pycache____init__.cpython-36.pyccloudinit.cpython-36.pyccloudinitdetect.cpython-36.pycdefault.cpython-36.pycfactory.cpython-36.pyccloudinit.pycloudinitdetect.pydefault.pyfactory.pyrdma__init__.py__pycache____init__.cpython-36.pyccentos.cpython-36.pycfactory.cpython-36.pycrdma.cpython-36.pycsuse.cpython-36.pycubuntu.cpython-36.pyccentos.pyfactory.pyrdma.pysuse.pyubuntu.pywaagent.service66-azure-storage.rules99-azure-product-uuid.rulesrcwaagentwaagentpython-azure-agentNOTICEREADME.mdpython-azure-agentLICENSE.txtwaagent.log/etc/logrotate.d//usr/lib/python3.6//usr/lib/python3.6/site-packages//usr/lib/python3.6/site-packages/WALinuxAgent-2.14.0.1-py3.6.egg-info//usr/lib/python3.6/site-packages/azurelinuxagent//usr/lib/python3.6/site-packages/azurelinuxagent/__pycache__//usr/lib/python3.6/site-packages/azurelinuxagent/common//usr/lib/python3.6/site-packages/azurelinuxagent/common/__pycache__//usr/lib/python3.6/site-packages/azurelinuxagent/common/osutil//usr/lib/python3.6/site-packages/azurelinuxagent/common/osutil/__pycache__//usr/lib/python3.6/site-packages/azurelinuxagent/common/protocol//usr/lib/python3.6/site-packages/azurelinuxagent/common/protocol/__pycache__//usr/lib/python3.6/site-packages/azurelinuxagent/common/utils//usr/lib/python3.6/site-packages/azurelinuxagent/common/utils/__pycache__//usr/lib/python3.6/site-packages/azurelinuxagent/daemon//usr/lib/python3.6/site-packages/azurelinuxagent/daemon/__pycache__//usr/lib/python3.6/site-packages/azurelinuxagent/daemon/resourcedisk//usr/lib/python3.6/site-packages/azurelinuxagent/daemon/resourcedisk/__pycache__//usr/lib/python3.6/site-packages/azurelinuxagent/ga//usr/lib/python3.6/site-packages/azurelinuxagent/ga/__pycache__//usr/lib/python3.6/site-packages/azurelinuxagent/ga/policy//usr/lib/python3.6/site-packages/azurelinuxagent/ga/policy/__pycache__//usr/lib/python3.6/site-packages/azurelinuxagent/pa//usr/lib/python3.6/site-packages/azurelinuxagent/pa/__pycache__//usr/lib/python3.6/site-packages/azurelinuxagent/pa/deprovision//usr/lib/python3.6/site-packages/azurelinuxagent/pa/deprovision/__pycache__//usr/lib/python3.6/site-packages/azurelinuxagent/pa/provision//usr/lib/python3.6/site-packages/azurelinuxagent/pa/provision/__pycache__//usr/lib/python3.6/site-packages/azurelinuxagent/pa/rdma//usr/lib/python3.6/site-packages/azurelinuxagent/pa/rdma/__pycache__//usr/lib/systemd/system//usr/lib/udev/rules.d//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/python-azure-agent//usr/share/licenses//usr/share/licenses/python-azure-agent//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:41641/SUSE_SLE-15-SP1_Update/7cf3cfcb35daf0dff467b3c048f58719-python-azure-agent.SUSE_SLE-15-SP1_Updatedrpmxz5noarch-suse-linuxASCII textdirectorypython 3.6 byte-compiledPython script, ASCII text executablePython script, ASCII text executable, with very long linesPython script, UTF-8 Unicode text executableASCII text, with very long linesempty  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRJZ1# Do not clobber the config if it was installed from a config package, but # put the oldfile back if we do not have another config file if [ ! -e /etc/waagent.conf ]; then if [ -e /etc/waagent.conf.bak ]; then mv -Z /etc/waagent.conf.bak /etc/waagent.conf #restart the waagent.service again the restert in post failed due # to missing config systemctl try-restart waagent.service # Making the assumption that the rpmsave file was generated because of # of the previously broken package upgrade. elif [ -e /etc/waagent.conf.rpmsave ]; then cp -Z /etc/waagent.conf.rpmsave /etc/waagent.conf #restart the waagent.service again the restert in post failed due # to missing config systemctl try-restart waagent.service fi fi/bin/shutf-8598444616c27c4bd7c35a063155f653754e55cfaf78c04ad6cd18858b846a352?P7zXZ !t//]"k%a 7_/ 0n*Wfoi3[hhwQߡvѡzkE6ׁRIL)aԜw2:bjO5kES VqP]cJ$FC-`[퍇N B! ж|r2푥b!R8  80ҍވI="DݸqD˲<,۷ ԊDp8?\eB8!{nVtG̈́l]ϱ= 0QW:qx߱$ӍJcpynH8̏Zg;(."! %^P(OStF{A~gǁ:{+/賙Ftu*8ub5fg|rTNP\IT^_rU @A5p#,"SPka43yj=DoV)Wrg9] (}_OC>IANFH#:I]YuIc+NctZr iE|GITXk<7or$cv\l3Դ'5Ę;OLPƃ7ad}I0 G`O1^ƥ8vg_vFF>*b3)8~}R\ӝx_><< s؈.+E?5Z4| ?8y CY`-9v!nts%`&O}AM6߀qxb"WPR1%g]݁zm%趔oTj ~q֘B1IiϨ B _6ڛEՅȽ _E%~%dz7.^6ϣ~io$4ڑtTG#cDϭve|-EUGjx,CGo'2* CЈ*T n/z)6>.7W~%kpGq =n!Ir:[h,gEPG> o80?ʗ.U7ezL RCWYQ @.5]pc{ЏKJe6EW2;-Ծ񼫬4^^mK8ELe>T< h7 9aPPvN(֋DTe p ST,a$N}7$d%K+B~df'`3 rZZi>9Y8/(NXwV,^2u@rrllD5 i.5"Tu)IO7܌ƸeO huUnG1"l&O%b+Lo`A$Pc`a2HJ68*WoLyNM}Ŧy6'II*`;*Q40uJI}u0K" xHxH*|إ?MDz=՚uIl)?o;#h%L(Je`"B9/:ޡ>-8|LK<_Os51]ɸ̽(͉oG*/dCQМɌ>!ibx)^aѻo۬T8 6pk©w{^ d*f '|li=j,3mBg1k>*kVZ =lyHMvfZfHQØ}0>LD"l ⵽ULFqMFV3)D ^IL 0jzzfJ,s_ GKv1BL4H?+=]HVD|}&"jIKFau2yI\M CtxU䥦%=R#b0 cھ~l4/ g@.2QRSc;Ñ&mcxP7*ˡlDw#UPL#¬ʖΛe 9-xu¾ 7~D3 Az4{KВ{{QE蓓 ^'îD {4 Yߴ J(5Cw"W z+ ի24M3,#&kw%&qW'R]!GJaCuK;i=LGᙜDmĨO?:TqY/8H5W{wh;\)f/:7Nď͍Ŋ%7xzPۿ:icOX!+Ki[P[9H)6:$y3GP^7MDŽS5>GJߺ#—b^#@wMTjI< &hc-*z1V9xu?Vxx6&"O|$@ DPJ xTt=&8d\3i+lϱ-t)ǚ]-~FnC%և[kT1o,oCN2>X8ٗQ2LstS\="]Sۑ&H{1%@ T0>i}Fkd(o& *1iU_bγ=u={9:KYӂlhZa[6;( lxƱtPa|GNkվ^ԅ(UGST˼[6Oѝ" º[j<|9AȘ{4^i&gjAa=k{+JPy |UNdo0 _` //ὀeh>(RwL5bt)Dz*+M] Ao_ϻmUSˠ4%`o!կkن*Rx\'4YSƆdLKpVݹ6ˍ`(&YNY4|-:G"P3lE|LV$l~O #!H{qD,hQpqpD}S~Jn(6H@Ͷ*~cDeu4EC2[U[pH+= ,S&_H¢Εњ. Q|ʼk֖C(g dAl,ۺ߈L\sp%v+gh*tS%ď'9j{,XF:|\U/NxmILLc5*z_) hT)R,0`Uv$T&R<`[(j6/?S5PTzzniH쟨R4}H 3a6HL[Ȉ/}.La.liznW:;6ZO.Tσޭ̞!0e@19Hgmy)Ȯ-~b[=c ioQh ,žbBJh Mu6a3O\K{+Ip{ddne|`[_9V)asC\iYfLMxDʑV@ήOY&ŰO\>|l2pB;rIf\IJ#WY9 f'rEB67':#;;ɺ5|Ag@ms߾65>;ǿ  pV<<8\kIEz%h|I5|x)75./oIQ'lCu\sX{1ߛv6\vBS] !.gnuYPOxUTJ ,oq*W0#b "Fc<#yK˂䈀JAԅ~ȅǂByX:*p.Z[l՗#6D(S}[4jMUu#j{ k. ǫ2HMR2~ω}EiW`>Ș)3s!*;bP1LnEq1X S h*A.nKʙ!^(3WHzl9f.e.YoɐJ B͊MT1L^ QYU0)6fq:0Uo=#\`Įu?~zNMi{tˎĨ+䔞:A6a 'BNj_.Cf}*@x}ubV3CI|/4nܞLᾋӹ Y]XEm&qJx~ UV2I>†0RE˓ 29=bO'yN\/.p]kJ:yhQ4h $!˂T~2 KwD`Oa>Ma9IkwYM4䠲b!\NN᷋Fg'38xߢfQY}`tDv+$*:An^Vg@!KI-EUɦÊB6\ ?%wաYWN>$3Q@4'9 6$6Y/ZH1ٿAݑG^s]>4^uvhGK쭃{bxity +ӗ-y|iA*pb؁9hiUd[}NrJ50%'otAL-to1 [S>J5ۉ㱢mܛ^?D(f" w\@6w"D aU%=s!V4߮hCnSu lv"kZ~Ve際K6߫{neMi@>#_3c:݄ݳjj$Hu@G("@I]%L4'x p A` 멗V\L@MtnQ\WVc*Vҟ0WkCmC/ʟٴE]%thfk:)Ȁ1,VL_Q}ݻw6av¡)䐉7@ nT{oLDL)hVM%"R5B]%Jw~+|uҾR`Y8me$s|qJQ"8c޸GNQCGP*.[= 0w骳 F14"8+ȍBKold}gIK\yk8F yH Ù¦V&@vf cjNǷL:DǵI@"HJe.#*<٨y' DS"V ?2z|UREsɩ֢s2@7쀩v"׵ΝUя+ -M-QQz I-.;ezR&l۵H$w t!QS94q-Au guvD;죹f{šsoZ[R\uID\ccJd Bq~$x_xT9iG&H!B[8 c 2eZ^/ݕOdO&ۆ]gC!XVH= km#] &_RJjKs rC KD #CG.Rک'] 3ɰbMX `Enf/o sOl?Ҳ qHa/uָx:Y0HPˊ7ÿY}m6ӻ`ip7&;dJvS)r\aC-Qov>p 9%j: 1>"*؛ #6-,qaq!Kbnif;URb~`%ORm=U-jٴ. ob7(gJ 0Lz᥎ r' mՈg+Q#:!VO =~<> -ah=m("œ3w9VIWLt/^KEKgL TQwuO00.XX`!9ao6oUjCrl&= >LJ+e4,0S\1[#\l(^5fJUOvKsr9iȂ<P>e?PgvU,@MDCyÖMsO((9&~tzuaF_wl;ALN=E{e,?ɩ<-PhMpL ׿k; RWmJ#H" 1)"ܣ,|b5Oh뼳wVV CP}6 ;GSeK2٘^i|'ٚ1~fgsTje3E 4$~($. =dž񄔀#!Pv: 0_~m~#֤_>U_@6OPRE#&nSq,YdoP?s**MmK{ЌuL YZ[DMgQ-T i׸`/[;OjD]ڛT{ր5;<'m^LYb,ɣgW3wbDm+B6:LjLdĜ=A!Q'c)Q>t-5a[c9z" I/3ns;R"OxQ+\ΜRA,[>YTTu{N+ ܨYOAshetM~Kh6ZR3I%aɑ.GNUܖG|.l ;+\1 0yG iHT_ʣ҇>k+:g+D^5:ݓ;lݪd꿂+~ BsG0 3Ϧ|T 4^ޘMGOеm{7y^( _.\c+8NF?ɻ=ʝ ^|L+ pcszo:d%dCF W5 ^iUnB֚yU!5+T>?6Hr-oOw]d<~sRp5 pXR@F~ %zZ Cqö}~{ mˮD@_aB +Y~kV6$nD/F0`.`~%9n֯MFpr,JA/2!<1wUVo*iFT:nI/{DɁ8{6/ 1߾EO ^;~J2M_A9`ҕ?D}{bEc2aܕĊ8d.mF0jUC?B_t`U(?qC@L̪6ML2+Sڔ[9?Ӫ3Ֆ}Vz0Xn1Q!T gJ[3dzBwsd*`烵 d 0Bp8Od9>v-1ZBpZ Nrx1t4Sgn_?YaO?Fv10aVU7~'FD(Vm:2wlfp6?TrPB_^ib`Ԥd}k NWM w;w_TRubvslvY "'/-и-".}QÈs/aqn6m0J*0֬v,»ܳ`$RUM"kaZ$$n<2sQzD-u+|HI,$1Ғula~i_xȃ?TSc⻉J9oY{iOK@뀛9ߪ,&9ּ2xɽnUrAx@ur@#i+9?%p;H1& 6S ͞ ATՠ OP.>[a>˥[niAyCPN:X+5_!jpn|s+deR#c"aK]9~H-M F{ >U k|Ws qՌ'yx !{/WlEѳ8g{|(DN]䑒qK әFmH_ e79ÛF !fWUeH|x^fZ߬Ⅲ/ i2&e ;evc|\+rgnZ({wE}fE̱9׿WBa|ai ~U%qd/1/[0X\lPXH1@E=8{> MR"1{'6qSI4J >ED|fj `(L7 s"jcصdh1%%Dr\8b(0QQ"*?|% <2 1ˠW5([2 SWaKXOt*\\24 ԲNjvsf/O +ˊ}1C<~*8*/"د7-J+t3g_.'H>2O`1WϦ@!R$ָ/ġ5`Di\B^8v2N?*iBJ|R$ԕ=%H`s$V1p'}I4Нzq -n >'lr?V{;lyTE}R.D-7 .ɛA 3Ga ~DPmAsi8cۂ=c'Fbxuђ!*z2Z* ؎wLYs7zv}i9A\]u՞Ŝ'vi(WFe5[L!#^0xvCS3>O)~6*cy]W@ۙ*3BR]h دSM~H:[սh"r09U J=CA+|Ge-%?zZm~\du¼}cϵP=<@ދ^De3Fr5Q3IsLXg׶/)}#o\|1\BsW]GKf !sn] g`YMAc"o0uIM}&Ono`'__1"-=2Ʈ(篋po5)xT1mh}p7'$vR4-D;@Li6w'-܍8:"M/%Fox0Ws#W^TK d1ÄA#Z_DFmp ӆ9dztT^<-(~l{ 3ģahCB}7ƲY- V'{%;G͘XDX-R: ?y"Nn/yJ[1`- v}7U -\v1s $+E1B!T.fdYjuņyG ?P)b뿥aLh-Ubأq{ _z2$E󭤼-D+[ kK$׷I44 F3Ip+mDrWjc'_]If[0X.G.)a[49 "{Eaa#H]6Bp–*iHXC W˅\Q}w`acf'ΙQ--5\{7GvW_,jzz9RQTǁy,u 385;/9E Y 8)?ğ=ގH!,4Ac:/1QK쇷t^9 [h '6h1 -jQTL#l14>ToCTڨ9"Ogu-u-W>ٽvxW!'JGCBܝ3<&4f25f]%$A xj?IoVkZc'0fvnhyk ÒVc˟R'7TDʠC3ۉFj*_2nLY ˍiB[B"DH?z;Nkp ܇xA1Vjp9ILn=W꩒ _4Z! Qd:W2jl_w$mB3_,E4'}Fϟpj'ӑxM;0C&ݛRH2N2ŽS 9 jPs DS?=Eayo% 6Dov'fk& te0R'&- ]th j4[Q(yMW ;uZ\LC*{N`gz--+WxVI4ֶܐ&mǟlԲ`=z: 4amhJX7~l-Rz$fZ[G=05zJ?.A$y CpXZݧUx(;vpG9Ef“y_BbOHn/n%Y)! $,ll^z碭.GjԾ.<̓dw Y!PЩLo\  M#fcZ6ESh@- 2Dͻ!qL>,l7$%WA .)|+$PhLQ1i/BW¿GkjfH*'#JxPkЏF꘽r7Q+h|PɳO HܦpUFė%gZ"/SN'Jx&~p =arqnj bݦG&^&75%,Tf_C:H"N7PE-er׉4 b4Aܧy3A4[F5]M.(ﯲp!xX֙"*MTs'= kbRɎN\S*۽c6Q*2]P Zh\./*!񈠩oC2s_Z6~wG@R1a99&x -/xqbstgDrz1>1`q!\͂-߬VY($fIIJp!<<ʗQRp4#ĥ D'i4?E`N ht_ rN횢>a#2'bg `ǹϵO-Sj?pop Gjh{0:jrYkY`Vݤi3Ŗ pU{|wo:40|B';UŌ5>h}=Z"+gY0<_ "jtxSy[޺{r0@0w!a^]ƕSwL7=BBkp fR+;Ԩ4Yp%^潺`Iu{P wJ} @urҗ_V51ΐ$znjܡ-(Z t#μ2 X+8tq-s,4**vKriJ$6a:ib[=[6w!mڐFv=T0JKֈ#evZNWB>#%li2<+[1J&IG-9ӷ8*X v,ksxWI{`p&ikvU/Qz*{^$BHh֤x̒;Kv&FB]7}6b, 4=yk} cr0 8@Voa-@<\As}?8\[kuBt)kZPtwQᎃ0: 4*gXuS/6X8k:hi`[H oxÊ FYvCl8y2p [ G ox7055ZS( ɑI^Vvƭ0xi| a1<5z, y#:/M6 !i/ 2% <H3:Xڿa@9 }HrfiJ!#3b0|IjV-A2.G0;]t*Ai:Otu EvFb髲9nq[0=7@F'>r M)ޣgκ45q3@;zݶWsGY:OMÚu"i 9X) 36χLw6$Q9Dzp͘p #838?>?DPj:A:ԉ cLd`Fh kV&gq~ڊۙZZ>JnbqLixv!M Q*7 u%hHT.L,ByvX<(nONZu'_`B||4y#O:P 9xVBums]FD'Т  A"-JAXLMɤ5;CK2j_G!mC&QK3)*}A!C.[Z5=X10?' Gw!bO3$fCcS.cAhbT뢖F]A[#x;&F*-&w=֠vV`]?6"W !Mz¾YA$Z }Q.^Pq@$z7p#7_>:so/X3J)V |ǫK,i,1PCx$tOQE\xÕAR G1覙$8N blG6"Ț-d 4 Jn鄄=x K~(VQg 2XjxF8&F.7cZڈz#ǚW@Q><1Kv? 6nV&bQ%6S^6qmG:zjm,E5u@it6/{`6#<ߠv$ǧnv QA6_+72H7aR@f$%@>Y!8_ 3wRi3wȬ.!wx--OtnKD/%kBV<̀˝Gж@#a']dU&NۯFaliwكcߺx(gZk() Xq@]yXkՁG}ԟAO>gc^zJfwGӛZrR[hUd/`BC$0~Gb,f*f"F8aP!6o ҿOẁ3u @a;9y(p:ܻGy\S:ᢐ060MͧFN.fFRꀒ>-кϑhvk2HLY[`O=Юar2Wy Yod魄eS[W˺{p=6ѝAJBt!}9\yzN5X|+ZGl o)^ G},/ؼ8RxA֑1cdjSqm{5w8WGmLr(BW3՟11g[LAHW?"rD 7Mg݌/ \^o4 3Vжb'ԛbXoKkTVǰ4#H (kWɖEGWW} yㅿ -}wڀH2Ec? S.#^\/Oϙ* wwQR7}ҤKxa.8jlE$ԆMc$pr\Ǣ6qHWUS lԂ&!S&|Sՙ lg#SF*l>0 J)rꆁģ?S?nN~`'U_־ҝ8ACGB&Z>eḵl=o;}TnBn(]sEn{RXyvvqBxx+9$1܋Mr;fvsItGu~B*+S@ T*8m&O> Ra*{,dr$ݢ#8nD]EjӒC}zM,R@yQDquZHfnʼn"{, Ųv"-9 , Bk:Wzs*0ShT&PɬK\'9])~&o;UK]HzGk޻߷7R>O9bѴ-&\rЁd[l`d80=7)n6d {)wGj3Y+FؑrNqJѱɢd$gx\K\|4plMqQ /$~)L&:;/d)T!>6y&m'ia+`;[@LY zUTlr" 6YP X/8sB+ZddT`fDEZ,.~HnPێba~xVqtG5[s}3Z_bϿԑMSE1kJ0 `P= dadĆa*uɫk#_-BE+w?/LkF/|82yޡVs=w*=q0d>2 K=Ls2I9iq[lWN4zxc%N~@2 F!JZ .W1Cn&A{PX([ :!mř$ >C:^E"0>sL0,­Q|u.bbISrߝ A {B}PtCt-ѰCvKl-5UL$Ő+حdPdGY!9ұΣ--JN+ iQZhTE!^ÙӠ6UG_90z|9EE̵Q\6ʁs@G`? Su1|A =@X*wIDŽr(O,= y87YHk1 n6RKObA5*,Rz@9rSGyWG:HܩԀ:+}G9aC\A)pWx}_ rzb3ki3I%hMau wyW'#;YU>- ,Ā]S"+r1D`<Q5GƏCs*@9뱓9L%׆m[^ܖo:K=v=<<<(Zjl+1=c61p>}KA ,3iєCI"W {V}ig%K`nZ'"gºguHV5swJhiLqsf:6w$pڻ[Օq>Ddc-_y#'n.B49Q=( Z.l\_oJ~1-hXWO" K]4)id0M: ~'fa0wwo7 5\hAz}Qi/9*Wf `C 责:mn`&eEd7e%E!31zF *߂ 慎89"bٳ*|n;r}Y_lLu;&v:r5 QU~R!޷)}-N9XAWό~:cUP8CПڶ2ĂěF3LNu1͕,.>D'<-À|,#穂(ԡD!X\U)pf+Hy!SdNK ȋ=[<0jG}} W:9'i zCn(SCٮHnTuU~ 3V͸?AWw4;1C;^`"=J3Ouo޻@LWi mwEP?9&QCIO7Y/MTN5vl`fMnCj=9n,( XiYwp8[wOlypGO- {i,nƙz/M-vVRiX\&Ƌ`JCh_Mv)A@EFȹpf3.a+Rѫx:ns]"ײ^4_9{ 7/:Ғ:4V-5yA:2X58p[‹ %7up/gNzbiPߎ-O hpzn{W3cܭu4L VTɢ"6k!OrXg~UPYVLvY\KԠ%ҰmƎaƊJϹ:aI_ vAd K=`'I BXK&<>W+]n})sL-q=^l]TȇRI0SX6?qA*J

]/d_zV!0*؏47C(8~ H#hP nS\3R @;+f4ҍ'AS<.eɫȒ 8}F4Up'f\eB2g~f> [iU-?}b . 7oohaD d7jpDGjn *.|_J5'/f1JT*vgUl T3F1LyEPG (z7M5Cv1N2y&z#>"x[ AEa=&ʟw؟!_1}_xF!s+r8.S\尌1&[Vq{&̃5RwPve4b!I6;u"xlψ`My{ƿ,=GMj ўԿ(wރ4 δL8x4K)) \+ |O+WO!'iy^exxN55[v`,kҒ B*t$ ZZ[!JO U ?|E0 s#$5O_Ƿށ<>Nl˕)؏ krKYޞ\:7~4ηzx8o7؎t't3{aK8 ja4G&1pwEVIR2@>`^1HY?pk_S/F\ k W>Td)=CtU`Dv l7,b%8yj#9w-wQ(/.WCN+컨-,\ʱ:QAj&^9"PR?0u[ ;,)y~eH(ww쐢Np PXR}!o%p  o R2~/2,31*<؁x5T(>PAȵD}۠*Q,9F08ØS؈yOE TR=JwN !HňUD`7um{S nnxo:|"=Gp=VEtckb?Va k:FE? lgNҸF7;8/JDح_$Zf뤏M1-SH|Mπ2mwbQ Ȫ ۞Fpk,!kY@@},8q5Xܠ~C˾ b&3+ʠSjSʛjn)"R7<]III8x9B= +ve A@7 Dί_-ѵ}qJ$pcUeר].i`b=Hħ.hgd%AoWNE:BkUN5ٗ)Jڃq}JQ ?ILxdÈ㭤zQ'kԻ j?H[ͺe)nktm:wCbiR\ G؜X]+(Z 44"fmk'aPisJ.q2_pV.Ao%*w7f9X;`h' mԾS߱[J#{@GmQ:ӬM9P 8=t!KP1 ZH}MsAr?O8  E!~yJi8N\j}wL9dӡV긚F-hӍeUֆ IX^H2aySPXO!xVy 'xgoGּMzVEZȅ +>lWgbSiaaҺT |kyWLK1 _=i 8n`"cV\]EfgRzW?yf_K^6 .J36JRx"7\\;`֭<2lPGpݕ ~OOYo:3eYp,KtWV X_ h^pi{v@ ߛd9_6FժLԔhJL\Mgy~yEao|ҁp$,YRvaC18Λt \1DdN*; b3sBCI7wb?sNU 67 .#[^X[mku5y0#Cn,҅ ۆR{Ql3abRs,^"U l= u:~xȗV1h7ѡŧqOOȮWPyZ9 PA$C:ڡ }6/PQcUϒҡMB@]3a;ij/[孴@n8)m GFZH -iKچdweI6tI>xFFJ mU /&[O~#plj&,Q]UjCżcl;y7ior|c+ӏeimźT'"?VtsvLFӶN"D cmuZhpYʅf]e yWfL!`MY|`([H+;pIlqi^4ȗ$ޒ3L&1/=@.سVSNrti@3liK_L&(ʋ]Y@A!bu@ 񒦙_#Kf} dZ,=__[>2s8Ow&W-LFr< CmD3A1Emnj|bhTzr>g֍vn8~2qdԟ85׏LNy'BoS G+u@O"|wQ"m^)>tlV4c}Fjaₓu)"Wg?1U_|"uUqmDl+.Fj162ikm65Xy\um82a`vmH&y&C]: AХʑA *rJy`)_ ah6h}g>-a.XƜ&jǪ'B(f\6i\q uGEB'!O? `p| ˀ0N$/pV3hrGm\^k|m/3Gu  Ș КX-1v]N$,t?Zڄ<pdhCtKByY`^i{:T(J_u1w"i2;'߹R P՟Y}G8ŤL)ʝA !: e A$;Cfr! ^28rLmu>ȒMed1?!pxp MT/Y,|wb)q>%SzΚ6I' '2 *n8dNk BC^dD3γ\}E6E^R'$,L\_j+h 4W8&}up]']DVhVi=Ky.Uu'"͐3~=W\lZ$ͅeЙ.*PGU M3KL zb֮4#Ӧ0~[ϫQnjpi0DZxV7cenX=`eǮswEcte @ x{SJ3 $">Oc:m (`,m.4R1a!?iH7)s>4L`2!ؕUw?uѹvZp>: B6ȼуȞ 'ig"}bj$CwUM^0{#rjFYE{Ă6"28Ftl#?r9mT ;ϻ3}R)$QXݻ8}Fѭ /$l(g$kK|` W^}P X$l$MTHnu"U~  sGx=Ʈm1cAmğHdAB`Uw#N%[b:XNNn5=)Vn&\; ,:WR--yYfrRUr])i'0rbz pP ҥ2g-6;tk\Y 3&l(Yan fj=Z:UB2dw9kUāx 7}m7LDM)u_yиF) I(&{;Ds,yXNS?soӭv0> -R{w#@*7g(D䪐B3m,yLעg)d0H7SEO5[`fy[C57֌픣џT'|·4TD7QI/z_A[XRFQI"d^}G9pK~FRY S%L+żTQӽS͒w3@oӪ ًd &,CTNXT'UsZzC|4'˸X$iD BaH?Y X2Un[S,NE3w 4ᇺ:Y#ANO^Ve 4p:xb`٠.-gd-Gw uwb^IQC~G;Tz 7 Q#+S.@'pKzu$16_G0@zipjgaQC`+KZ Jv H&'(w q6 6ipspa8UY<͗Uޜ0ؒ)mel-d#!,~ ًg1RPB!Qk>JvoP ,` &4f|V@[qc.f 4fwGTPd>;)O!++:Fp1vFb@.^;iW 8dP]ҽZ%'"qm*&ɷ"Yu2+F7D1<3LV̴aw3>6mn\5Y*yKpGeѿI J]3Jj2WIݜvB`GEs8jpi2f|in 2zq*V;2 Ω.ZAQēJN Bh:"!8^u ,m:ŠՅf{O< ?v ^`15U1ښE6?wdxEi< p%XuUd16 jf3\D{%%Q0Ҽ]9j@2VV4P0 t|SfgjuEl'^ JwF.J{Kq.ӶԶ0k;/teDm}!Ք"Ɂ:c T蛺Ѹݸl%$&<ɟ&5a1P3y;,d)gZ99,vb+=F.lutQ9Wn \?J䦜e;rƴqȃl^׽TBo®3_8*%K f($H c>!:&=g5nb?Z$2;#oGXPsK4'A^w'`xz<p&ЯmLeF \ re :W !rN` VpgwН;ؕPDѠ֌? +Pr8#F[TZ#$W-b7\vvB*-H5 f|4Pf)tHl_Ǯ>rtIɳ:-jY%l3kϐV4?q8 %QVbMXi!/p09?*V5 =0coDO[&ɹT^K&:4]nU5*>F#J#Es .>^ J-4kVՇ߽1s~- Hkn$,O7nÿ+b]Zqr @/˞[&rEKc sabZxK26`uArC+ȉm([F}}c*3@nLo8 %@e:Z'I=Y2yzgdr{~'; zڨI&Tߵ&oXgI! ٕnlxO*{q00RjbbHԢpW+gg^*.c;ŸVIQ|ۀIJרFie'7[-kyNyASHK{l8Ggr-EKwJ/_ctW\^%:ZvϨ T9bP4M]%Rcǃ.~ܻ7,%!)\bQLzOP7Ybk*4T^a5xB#{03}]?j 2D-%B>(W ꋫ|c$@w[Rou! :FhEy˂B+?=7$7JB?b4#ioy^-{l00$1vյ+,;犝(ݼƘ@&0/ .*$L.ayz'}u$}J2μ6-:ӚfR|_,<3@=̖$25N{W j^"P?sPIi%Hr7^ʂ ֌e(Jyɡo)E.?OrDh08: $_"1h a_av3xik&I7&}[Nx ݂Hxۦ'nIuw8xs?Ei$̬JPkv=Nv]N,KϭhOUozMc3gm[d~׊7#A^_gUF:sTľ7 TFGJlzB{HyQ7\8vm$Gh RZ+sc|wUO^U֪hNr; dy-~ `p=Vxn\)6(jfaf(ҩO5;mrk"_<)_U}W"W:8qŊ̳9Mg47Bnұ=ͻ5L:| ٴK6Mǎyjd? V}bc,:Ǵ{C;eAzH3R-+~X}N|!Ϩ~ٍ4S*H2ޝ׽{TQ-廙aS ~@*vR_rL%wnocˌM531' Ʌd%p Ĉ z^NEB;Å}4 xrhV,oj:jMHa<^]cЈ>iJ8mMѡX!{Zc=F*sY)(>J{]7R)k b4ŞUD['Wp幥 >bL)ʽmUg2'gwV`@Q0 N3?6h?~]TtBM7mA&t4d"yxm"fv cHdΠX_Ub-`xq" BGLU}~C ύaoWhC1NhohKRȀFU,;*.BS\Zxvm1q¾VPWDѝ?ѲQEC目"$?S&h+aI.ߗ (rī[EhUsp@n0:Yb},-Gt]\4~BOp& Ztu"8Ne 1]Ls5'߀$Rjq˄QhlJثT{ M}RyA2JjVw޸-]%/iDjkҁIv1'|9 #+_/* Bo|+en`uSvU*Do[ Cĵ:1.cmK&ЇoF${ԟ0a<󕠇İ"u.k\$51I~,)gر}D/aX/$F/-xo~~&GsU+eO $Z4c6,.`zI( hI(Map ?ܝ?wk2,uUȐ[Ǧ5Ϭ6EʐL[_ iiZtt%[%Aj5a*cZ 9A,"j:\RÇ<ho,!;ap{דcf^s%͹ K^2fKj(h^qw!*]e|hVSPN/jql3"8T Sgs FkL}$\kWbLýN(~d+(D :ežzD ( t"&zجtwG' V55yzQ=?9 8S'O:@]o {''a6t)j{KifVN#`"z[e%g6whl/$$p$:嬦U t{m ϨeuJztxq넢Clg):R] H+,F-')>Qna&VR#ppʼn{O4* d_mf ȵVm{hc&x1ħRCmyf8y <gWԂ CijIg;Mئ.cwʐQ-[>ӡp \T9J\<cMk9B'O"jZڠOHORB@ @/{ v$ !z( ]WtIRyu" S@ «D@=,pK'y`s-U8DMJ3vRF#Ac6y+ikHG~l vv۪fG/@)`ѷ#ڶ ̵hi='H۲L.C*g "g Jkzv%fNɺSexM[ F£V6z(Ө3:^Y;[Ў߆H-qtଉy7 nN~=0 ļQ.ҽHwIv{bIv5"3λohyRqllCT7`c\`.Q]X@􆽄3S~*6_5g|I5)NPD @ K,S^ߥvsqtuw[OPyDIrE鬱Yq<ĎGQXCdON. |.|\!Bv)yjwww`p9*3<{uk%\%U\lU,&M '~BYY\Uq2y&1}1C@c":OHcKCmv}V$Cα n)s 6Qz"\ڶ2TxDGXzr)=F>[ 3w:*ЂeAT_(~]vyDq;J D=&< }H))<5@'=H}uzۅ26޴xmyLT7=Wx6S]\QfB"'+ T T%؁~YWjA&kl|cѢ]'x6f^PtZ/~SE҇Z30K\?kz<^3mLjqwLN;{.0T1Cy[҆$ ;`P{D.Bg`TQ1| Vwxul\l>h).rktx'~J+Lµӵ6H1J1\.̹1|P@+.rr* hrBa(X7]yߍoUa 毪yFY8͙Z-e(9)" c19,^ fndNxq3D``K .踆a($KuC](b6yQ.*Í>-]riY/>,Y>i2M; nJ2dHKe(#y)?=I\_Զ *I魀P÷`σg4OaI"cj5)LDI)6[#eqߚ8L3ͦPvގJ>Q=d:KK3u"f3zL{{3p30e8 jY"6J F814m3^yv^&0e{)fJuF鈨'+ndlydȓP]k>zh޼PR۪bWyhU40&[T\ngy馾/,^\c"3H[:!.J,u<ȚTDI$^ V8wK4 $IBUG)F߹H}"QQ ,7$ɢ$(RTEj'}1NZա-ֵ=G]M-=4uRab+yXd'(O]I<+냝=:oaЇ' Ram7tkS1W:Z.kuXG6҂I~ߵ/\0Qs~#_Fu͟ IS Jz=JKܴfg0.L%@z)c4VzAxQV.m$Du' #t˥E @sJIf,*D4_jr~@ T`B쩮@p&:XDV]_&dz0yH4S;"GDN6Hb^(|Ӆ*ϊ/4~|,AwֲQ!ѤSE3'y]'/l2"IL@bSO$ϵA_x# j~c,?ٵ^_YnI*;d@?D:ɘIs 4|߫aD{ᗩT,݃RU`^I28.Xe!%W7NbFn^7fWEҥ@lӻh6OϏl5it@tAzuSe}Π2-qcrX>A4bLwKfjfshrb[#{a|P`&LIΆ5zГ4Eia^j)2<)wSlVzI uq9ç`- EHH_\/tʘ:L O\}i9NLȣbړXAQ1YWYlf ".}r-.inJ>]}Fnv+1u.0T#uV! z›wCHM;Bթp2}9 zU| gq/q=69kq~G $C@b#opcqFGxd3y_A>΅ՊzV z,<&HNAv -Ĝ5y"K~E"PJ6p)BxRNW왳.=.~sqV2͎FR[$bm\РcsBb4Yfo~5]WCܗC>ۍ>UotM(# ۾Bu^҈7|0A|q_tl>5Az^ʱs~6fJ:n[0r6-gPǮ>&9L~BER;A"+ >SUAfbj:'lӝ=שp~2ZjBmdd~TTdA<U G//f4H%4m*x)P4\:U 5>58Cq{gm`Z9*=pMw[f)wQ &>tv?H7W{y3L2ipS4@a%.Ť7gbwhtAP2[~cЉT&gDHaЁMGTv 4, ((3]`]SP]D3c32B)LƧ=u׫ QLe0.b/aڽc# ?" s1姨ÒyǞG؛tO{h4~Y;_龻-O*1W^v'33v@aTN='e*5=$1+N o ,cWJ9#+w~/\\oN4Uj?`,UGrG .sۍ+$:rͩEUfĿ-ݡzqyqrNl'ulYsM+@eW0,vVՇw 4tJl!>t;DEĝ@\T ܬyZJ&-wnEcVhTv)qNJuhagx VR8"_FOufέËyh3(zYA&l ޥKCY'&Z/ dܾt (i"a_I,mhWuXlU6 7iۻ\a5\6,D+s>[oc>*zBC{' "gqߒ<D؅C<AlF EA8c:/A$J>~iSZChMxtHe]x}uLD'|&Eo]iYP$>\c(Z7bF~E~8ﲈ1ao~3n/t>7zPݲɕuJIlkeM3FQ_0PӜyj>*|@D+ac u;LwFU>BʘJ(ZӺփb2lU/.e .ZӠUnעgulыq*dы`$Qc¯26 |Xcx@fVD0 Ȃ8S9ƁȆtˌf##ZzpIJ#rq39|v܋M s܀Zhy̶XnTl`>;N"sBz97m&CR IAIG>S[h'+$Jgk2[Z)v|+W|fSz8yuM+p6N!a6?7 O ՕR9FyjnͣSA9JP&\@)׉=f[M$w[\#\`G0Q' YhJ@MӁ(Y9(*vV^Ma]vL2HwNs$h*XVxjM7PYFr2c,7RQ0zH`z5-'cy;5tEp׶&x}'X\C6a2XFq&v{Uk戗㌈kg"W>qFN 07ՒO%~N)ɲD>7\[" ClHH,CVՆU+oh_ƛ "X楍+LVQ=4gwdY2ly4/19 ,7^+/ɚEuk{P+wx:3cLgJp|bIDHלHBW<܃ŸO^45+BB?hz}jHXMM)Ĝ)G5ʤ$ ɎV8c<GA_| 'c|!wFYP}~FoGa}S)%o=`!qiީYjLt2fg" t2:b  4${y;XbVQD^/ G)VSg9Hd~NqFS5r `(«*G=-8ʏ O ڮ߬tci2Yj0ɑC5 7R+Ń#qF խTL*얔ñȜ9"r+IǢRڻV#3_3vx2 JXebr#,.KHwg# ʿΦ4N=1[<3܆(k?vk21@).){yt۽:)%n9]Elxfv4 PL&ђL(.#߉y5o+U=hΩb(*Q~%X^z U!pzK n8h|MבJF7mC2!֭̉ht+v+m.jjPqC[m% vPmJ~ͱ$__yI5,9J"sk-m>߇Jnt;ZQTPvI3C@uQP{͏@LG\pjɇؐ#VJAAnH3,bgUog<*imGzpxWúzN,صItXKa7ytQ9[j%[d#[A`gN͑ y%ĺ.:?='ڮl:ʪ뛌֚H[ Z>9h>&EcGW}2YqCWuN+,.ɓ&9j[8ᒎ 1c+ᓡMdk*%A Bl,} OT`%Y{=97DJ23Q&U%ZaJMr 5*LR4 WM3T#ù`?%ƀ\P#[*lF !x8^x ڂOĮ1LUSGc+״voE{ &x:xlĒ'}u:.[N|̣,y^_cwXվ&FˈF .TvIotn;' 'I7j9}W)fo *(-/<T-FDh΋A;57*q*ΫC9Ib Hr JWXz7`s1 $P:G;a< 1wz㼙Z!wND萰74R*'A]Ha::В PV4,M-*_%(p:;px2\'60AVT0S5^x!Xn5PXYbvD9i e\ieԦѷl5 :Jt2}iLoGa*3$Bl4U#wv[Ԝl9?g5`1#:;6LvAF2Cs5I/7 A̱c# a2`}s`wz.|\ݟXbKi0!2!Zp٫/ !H M csmLAGbJr1щ*⮉ozQebL*--<Nc ub/[0 I:\sZ1H\21#4- 6%Uh޽>dC`%PxfyM fp{(;76sy= aB 2$-C{"v;摓H5G?dy VMu.P$de2tGmL)q>FD_c'!)AOG +8[+^φSahl$jdnRĒ{HN2{ ~uU Շ1x)Q0ب T'ڎCj8,=43 F=CR{YB+7MOZs„?\RdUһAF9yq4pbgi'z:,w,,hʢLI^uKzeF́r߉4"`Qz7(^Yx#@&&*딶hI~W yM``tA-EK+|‘8k fneznV ;ǁQꁴ{z0(6NC T7@;¹fylW(@g4,d6QfjXɁ+=Mu ptC3K]J݃ucXJEi˭ʼnkmͨ(M.!ԑF쉸mԼ)kP- *%q{BFV|a(l?k1`p="ǀj$ w9ԆYB}2^@%e+6=Or1B{ /TF%̺UbrJ^Yy 3{~tjDW_Wt3ixoH8.niTEcn(C9!,$W~G6ֵ31@aw_11GgjQsG 1-hhϱ f;dFE/4a3C}8Iъ`q6\/1gQH!׏;2f1KfdRd7`>Tr$ޏ#p II q<)3&d/s 2ԃ A1vA׼+sqw\4#\ }1e\5ĖXZiB?A"2MGKD1/cú0t׮!4Z^7Hغ0)\yy"8Œ#ψ8dwkwQDda鑌R%uL'% Ӓ%kpC&H8'{&RowA ǟ`JPiiX#[,N tԼ["Z`uNfq  r2G @`Gspۚlߕ4?ޟLXCSsSһ@pRJo)H3XE6[oj4qSF%x!H}}Ws!ͦD >%.,OA53,M/ש8RZ[9#$Ukjԯt7X=Ť3a|"*Ǒ9@⊖# =I^eٙqh @l;v/2jmv\COI rSռxRw$}Qbz͂]l[Vו|D9 }(g|&!" l2-O%e,^B Ŏ-sg;0["萟΅d8Ȕ_Qu*lOrSC S5 wV[J6<´NZ2$[&5]rnF,j=yɀy^qM\^[.CHv>h.-D `=K1οem CbWz6S~!,9#BX%|zu>UQYm#PeCC .g\Gݝm'gmYo=0y|a* q ;z˘g'uIw@sַ"X7IFy%"wxI%a $!VIa(`/C/cBBIs9kq=Tc2F4\>!v/?-BOx6y@r+q>UHhڒo1,Pǝ %-v^ŽRiR5|0Nj[!үe(n!V&&-D0\wST R=ӣٰ%V{0&bmؗ~4̇L୼[/2X2C sH'JtFO+*d;~q%*Erx~1 VSݼN(A.ABR#̧#:=.Q4:^tj?W<ʜ6&? ctydr{h;/痔lrN ըEc6>2E2nQ!;ş\oB<0D엸':ԁÙWv{QY|ŤB϶# s9S!VzGac+MXzpE`~ ڼw㟱HDZѵ{l(F/ =HګBz_+#ZΔYlAju˓#je!"MJ(M'eeCdZa<K0r^bx ' V 3$^a%KvFzk栁S*x$:b[-s=i64TV0g'R`;zvs4Yv|MT#rFgɆB:b F l%N}Մ9aQ_~VTsNѩ{! O e&F[fQ3dZ5LI2k YYW\pűnLNkB1W)QbMmqˤW\k]I^!+jOQ}Rn}-X%zxUn4p9Ąr"jbI~i*\!_0ZVJ=]Ɣ5>;{XP1ڮG 4g?_r1#"b8cX#7U [{tKz>d/ivZ M!*Xιv[J( @`_z&^^mE?ber=TٮIhv^/Gr˫ftS eF-z#ϥeEŵD?LVAc0U:BFhlgaE[P Ixz0UXb;IC`ONs_R gOwW trnl# _GՊM IDo!RgtAY;Nw1jBrz@|@?,scX)LC4=)^%`睲γrVĹ(wJy(<2#;ިdt~c"k)`J?_Gky*tnYv'$^!(4\0  j~`kͬ_'Rc;,t`0`WXLrsmunpg L%Q" ν>[x67:܅ 3;AmS!rp jJ ?QlKxo;* 8Zy-bXvԞ]ZHAJr:uZt_͋0`[x&QdOc. LQ^c6Lh `^x9X=1A_t$eqe-֒iOj,Vy 3)85 ʚ3%Ŵ_>}+0GnWvgxYAcMK@%j'BCF 0?>=R_ WzI :y53ftPFvgk߫1m^9u-sn^FCtKvؼM*=:+_@4MHA("4Cp彂xL*Ǟ@JO#3Zpߎf0Y'=Si?m{}TP DM,1BŧZt>"ȁ-E/m`z80qbwj1de?' h޺ZZԯauLART((dI7_*.M Zq3QOXVO2_ʚΦ6|\ %>˳*>NP.]cN+mC3xܗݩ4x ڂtـmz6j8,ҫwZh| F2I-|IՌmܐ#-$w^;t8OGtUbz11.zwFeY9'BH۠zy(h%`'|l#4> g$O2x`Q@2q[G ˤ0B1:pڼmGT0g @&.)9{5ڏLX95TNaÐjUz^oKYvp,4<@)b™) =׀bWEFau3[wehs8QBxf<;96)9 "+bi"ߪbdz=⍖W &I!:\_`2 t*e&i%֍ƖiȪ7e@bCA#y_%c@6-XG>28~X[ Mk~;Hk9{dw{f}~0h#JlF/.”gN5:̮D†t\NO@tu.IO.OzϩvB}.liѮ ~qosOǸ>%VNJ|@o 0QpѢH9 uજ 0_[ U͓qhH_;nT3kE^tR.yDc¨*o/8?R5U: yTSni:] \PCOo؎`#[ꔛ0zJxYt 6 K .zz{hMxPapQtөmQ*.dZ//#1 jm$) 28(keVu g)E4|]iԻDT9`B-9<%H56=jqW +UN~?AUS$5pU7$:g D/3gKyц|4ڞT*asGݚwPVYxpy -a5%(:ۏ2H8L'I W|yvS)ArI<I' 1{V]_k>&ݡJZ3r9b5Pݓ/B Cbe_k$ጲzVÆN[ EN]$kU%*ouĘy 1F2*quˌoyH?Y# 8>)WZK}?!>r 궳fwXyt F܃@(dh~Ʌ J;oe`_ʙw)Z*rQsx3 :0V@̀D<RlD `O4 򐎜0^'=XE"Dg{y"a/ˠeG`a(+/K0\~ouf~l:௡f29J(%g5oYFUr.QBL}<ڧX:S]50 ?JZGufmv]SC#cq+Z)i{"qK;TY0!Il3,E`Kej9FR 0+_'G!y](?06`EP^@u^Zk,y`)4 nF30z1h?sn ~n8QlʲB3Cxm!!?_F'n""U2jW=Mif6Z()5Xf(s-cK9MW kSAvp"W~(m\?N;kI[M[ϺMvqع*|ՍB%I@wZty7P_4wRv+vrf>R,1C._#׵z^.ߴ vr 7ʉyYOs]q_]JRT_TٹUf![ƹRfi]tsFr?gD%Lw }A|_3;#m# Y5N57tP^ftsN˛c|}Nό #G.4 0^әNz$xs .R E 9<ҷkh~aW ʍHW1h2Ax!_6e_@F4}8dOYNpt˴7pIcKp* xf.m!J 0+0H2֥qwRvh8Lno4׼lKF:Ͻ.t1wď*;P SYHR׭$Ի?yLgHcO"޶ѐ]1DZu4@TuP|YsS9B>5+&#r@6aeB޸'j]v`E@}ަ Zb]Rn߲[,$FSPьA.x a2BՐ&!z(h\BVN(F&]ŀHLsE=2$Ng9?߹&@Ss,se`$ uYMN!pMA'ka`AszPЃOVCP6"MY=6~, aB ruзF eK:tGk4NTUh eDDc lC9CWS2%tc$CQg} :N>\WeA;o |4{MiIyTҐ:~@. J;0EOfu!T_ 7~i0;z[5iK-vdKP~/$xB2 q{L n>\s[\ӛ70M'I92 ݘ1-e rbqx`ˑ"ԛp֮B!!@З~ #KEau2c^p-}VMHZ,B#z0aI^ϫ_g'Ie|,ٝ3Q<社rij8^H\pס6X;IיTߌKm{OH7YɫSȀ"=%Z񃛛/$=Q]5!u}uiF6At.%vz8:6V<2" DփBe:\szX&@El // 7t*, S) OR@*ݨ +vfanl"K8 L/MC/#uTNyp 5ޅbA$ y-.Ň>Zp$ ex#'B.I+2byZȺZ늀A&œs6u ]]@}[D(d!Հ8y"t!X젅fEi/_pD؝"v1hHd+h՗z65_,.F,l$5er-7yi"w~7P}0]UQc2Vm@g6 ja]wW[9=n%Z K`8ug' hK91-ÿ9}&9^hd41Q3W ʄZZ5&NUXi}pDO7,Dtd-J!5 n/ )LO:tl6@tDGu^yݬau( u8d F`XJRkVӈKT A ruLɱ ra.7̵}bׁAv]Z>JIG/ŗT1ԞdnWFŒϭtUFDRp؝vﻴ?Ҁ _M_v{(V"h6K^P3%TsY@80ŅFr9J[)ɓU$)YP $P9tۜ}QEl Hf/KUB%E]uu:栟<;QTfs֯. j).+!9[D>B [<$ ,{0XQ1m339o;*w2Dö*6ȀT %"dtj 0sK> &N4j}OB K_b:NQD:sa~ȧμQ#RkKlkSr\% gQ4yU -Ƶ؂ WOXtu oŪ\WvH&j5XS&jSz%n) VQ bn6kiCČ 8{Yi) 8\Qa?.O%_Jrl^#Y5 `H 6`K}Vë't隢ro宯)0 bh @>{ݝ/@~c?]$ُX^̦۟]{k_ǬyVZFwt)%YÄ~ߥ\a }\'j`h|㓟덹WuOn90YjΈDa FJ&@$|Ǐd@ohMdr0JN67sRuƪK\R.~,C0(C.׵Ez@s 0 do(k- ŭbY[V?!B(Vp ;6IK8.vgdDMaS(pA-!% fEаh?CrPz >;bvLA.PI$z|D QMo:+EhB0\/L3c:kS1tY!9C3%2jc_gbكhYk81N\KB'<z%Fcؤ)U hj#6JR]hUߏ? Vp|!+Nt^V2۫?&t@c1&Y* ABxf,/W1״|UȭYQ^L4x#)@%"8*8 ]>,Zlm bwT \MJ{ia:{t+Eb7SbC5y|tX5nA0TKTc93_B ^!. VEȆG|ܓK%eO~a"Vx.H h"0*SwFѷ2X(w+ʞ[eE9fqRjDTMHE>:`GlH ejX Kн@,` biV.Q٬)GZ4k=;ϰ:H/]yKFV|z_ QguR ;"x5fy!Pſ&5~Q+$FbeE4޵J97>Q$ _B@ %q:5>x9o:7/>i[{~SJ)1@RZO)GMA3c#0k*>t m۽M[MOxtZN=_0!jJJGcVkW,qBOVe }Vb CvJ) Y:^%(j?6Bfiژ.;Ebۂii9xF[9ޠ{n_^A,MXa"1 "?<+ ;`WƧkċ҇n: ;>%"mSy? ;i6&+(X=kRGSN1|dAb:^9R((&95<+#D-?5įC_5ertR.I|5i+º4u8e@??ò) tSQY:s& 7?+Nr{f%σ:^%2V;{rE9Cs^3js,q-h z+%Ϯ y.ciu$D8,-XdYQ } U0(҅i/م֏2r~-ҢD$GBVWT+RSdY -c/x[0d/ؐA6<톴 M>  , $ޱj N2wn"(8TϝCt_D6OMt/Мۙ!?k+< 1ڒ "}Q|R8_f]r[\@7^/ ôXv pDTs}.~"9 T*`$(CX' >{} :\yW9onX{8xIfAbZEj2²ww|$NH ,bfPQ%K3Cא@{0]qB|J% " +6i*IhΔ WI~k.RNsAbD;axs}{}t kMGkq"PGzbBHpT Tr2BmҊf8m줮c->NF*'8.Sٜ/OȈ7\Ys]SQvuiz%);4 B 4DrX@/j k\:E A5Kr {j/NUէIO5"177@_6xn2mBH hDWFΞ4Ù zrXJmv,*$SwRe]ocQ{.njJ:isVZZ:ϋ{yfX̭/ڛuo-mn.0y{ֹ]'Aa^tYyk\%5*ܐ$R">UO΄3B#9ޞMB#Zս@}PYC5nG|+99O\h ժ?/N&DQV՛v,&\KXή_&ˆVE}vnGIJ[AtsS.v!7(4-Znn:Y W3…R8nR*]lx) I5>6m0BH@w^ntk(T)ei\1[}[eJIb(+;4$9%f$NhoKǖ^< +-Y6{DfoO#K׵V=\"# T0eSpQ[ E'Zj>6z֊zgic;Frx$L`n*ܕ&9i$ [dOH5GyJ^0Ml@&Noz~ CW[GFYgz UOοZ}Gd\h*䁣9cN@Ddc`K_Sd ,*EY( u[컃Xe`l(\폟-O+%kTְ#kLڧ*$TOTj-]#ebfh;bZD溺E4v;k6\ė8$u |ok1fWs_2`zH@)noeU? džcp m[yE_f`KH8aT^CB%L'~ݨH D>W~ ބupX8"mt.j*狸&w.Kz!؎BfZ(en?F4]#Q] 0I Y#toH7-@Wmg K '&oLs$Fw#؛|j"TlTd]s *"0?m hbxN)}L %:G%cXzwj2V9='S`@A /ꀹIo>yF\5f. 7 8V[B5^z QTHBp.d{0ۺ 5x™ {a$H{שBҙ b!S{&C[w$ijiXl]yDk AnS%ĮKH!cew%RڜTQjAD/g>|脾YQ~8 jX7R8Ł?cC":!kvxT ѕtݮ:>#ٽ:3`:@w1!ȼ&1B/ /Y']nV:&8( 0ȩQV-*EEUiD\Bp;L2@=" s% Z%_ })Jq-gltF]liaf{(^ع}\F@ 8"zxJT0= C ?nHFַT̺qZO~me,/ܚ6޺mYQ Z!Zy\u !!Y\m,q;)c23+3PWA4ryzʒ6,I\^R f<|uq0g3Uq!`fޯ!)5g NWY"c뒨1%IP/l%_|Kb-l &U$qkB!p=*da5ʲʁ׃5oA5f6\Bn=m&ƤA1`D1[AVڃ]_@+KxBvp9V`nḶ9oUں1)s˒H&zKPHpp`[m(cnqc'~WXEo{wK<g~wCMߖw] Cg}FK8_kXq+(ϕkiY-D ݟxp-ȴ |ݓ/ʽk }p <uFQC\ ̲rV98}ks ] Q4 k|! &{0<Ǻ%o+ y{ ^vUK|- ZQsSϑ:M Xݓ7BjMڮ~mB7I ?=qC8pJ2ytI7PjOV9AQO#!8rM`h/ >邖|YZZ){N JK-M"f,m IPϸ R Ч-C}pbmNΆ}Lb**:0\ qsGpMYĮQj53gdp܏] ?xɨ^]+\^X(7UFA鿹ѪZ\+Q521bܭ-3v:~خ(R]bV>M0F/JO[-rjG rc}o vF2Ϸӑ흋`*iH2onǠ9> Bo`_*0ٵ;yԂD)6v-N,#vQkH^0ad@|8)wv- q(9 ա[kP2xLOѲqYc_jC/>feÄwV] By^ 48keJ]Ę2r/_Z&22@ZFAĎ k<i Lܴ}+>)qR YCwQOے}biDُujW+ t㑫bUXdm\t5˚LNɠLTd2X:m@5lGX=Yn9/rx +u^'.fL"#CT_]3²%#]1ߖb;n\h"%M=Yr|. XН&Ƹx͖@(*`r xKF?5%wݤTk;?MUAv*A@Ɛ?|sJm㠮2"i?@HA{Xfɀ8 dѿl/oz{ a7חM>b2CLpF.QBodG*;Gb7۪G!95q)kQϛ?͢o0 L"Ƶx$yv`[m0ɗ=!Ά 'LXhA Ti#8(gFl.]𾧝~%Q0bfFhe2 l֎0$Nņ!kR%'ВAkwWOYᛪcW65+aIRřXY Q\L*P]ݢ@iTկԩ"B]9X?rdKFoݼKV8lʆ?UI7F&$ GX_Kb|.[%OWo/Z˩5D lYʹgEÜ0۝^VMQs"(nWE%zwVtV]Xk60(d$ L4HDoML>5۠MZ;7;  D&PoNfabvʤf|l_O!VU" kź"d^ j'aŖ1 h;(xv"B$upЖ"߆ @?22.@?T1ΡnZd'KbRjA;cN j6>$Kaԋ%(ٛ)d~%ٶPk7d ^<8T c uܨF&o~!ВU]}ie?1JXy[١{j )W\NW&D##87UDVsP[oeg{}zq܍thNKBy`Ty[%$\T ǟi4ȗaJ- ""f=ڋg;'%rTE$rExSUU CW|xO)V62Ns3wijwfhoבH&݄Ջ7_=X`mS6(A<.= DJk:>HL#u͏5, |(uB5`vNm :˅q P%.Pf \)ق+rD"aϤ#V C >UMꅍ!+@.{ ܥxiB68>t#: {.0N_~1ŵ/$LE! qd$:uMٌKIe*]Ė%(Uؾu =A%ܼ1N g/%a0$AUnFxlBBFУqɔyy=(%116 Sw]] ?a_nL&8^|%|c h[/Y\v@fJݒ _kۿv'dH;7[9E 8l \dh@+CS0h4^5-rhj,R۵ũJh/%vi vEk8z KKJN<>hP2JAgmI}** ǣr^_6%aX5f= u5r^}pYǹ(n.@q՞0MOݲ~w)`R}FqtIى=elS<7?](f݋ |KS?|vF] kצ/ e('TȑA_9 Nii_:SsM ԃc z < Omu+xFQ4]rj˛å% q6!Zo?9ɖol;*x(=꒫?M0~\}dL 4"1a`:#<-^2̋{)GrqIaGp4I IR? _չO'Aki5\2( ?0ons3>AomD,w;@$~,Z^e5(+K: O{]E#' 4@гÞh`$jIkB;g~'`G[ءAFWwdWz j?88u"}{ՁZ2,^C[%F]qC"*)y!` U^oegf]vu7 |?Z1Z<2;='ޟ\S e7jb O?Y,f+X%>֛AwFnR!+ji#uv%+Ic$/C[FſcK@m)$%)6 mS> 56g_#{Ց:kEX.:_3jG 湸#8j(zFpP- ZԆf|rkgCώ oǽH~°`s~atbV5hJ"& 6Ue9.εYjO^~#"}Gd@A޶ƄM>>,^B>݋^mX5GP\"ѱ]q)~W.?3UÂE#ɹ+fOrMq9g8pa_ΰ8`xϖ G#D2!=eoF}`k|ba&Vo'k|ox^97+6S^2󒃓΢r{ޢcVوJYΚBG.jDSews,cJэB}[9i̐n:){ߕjX|z$@+L3e@1Y%`ai4Q`Rxc?%}th"h8i ]y`hϒbnex,zjDт*>AJFꧤx Dh. 5E:c(r*PBY~/b-~,M f_8iOɺsvs=$V;^4A\6'#(-3Z59R;"*<8ޘ1:p 5MSk/01& |<J@ze<x,,Kp\Aͣ ǖe)ldF;p:TJX[$M& |r(Yk8U"5~Y&.BSrĆF鰺7 nsƓNdSS | W.@"2Do%wmw<^sJc99AΫva͆ iiywkG?ExLrʍ~Ţ~]YwxkM"0BUp>vCX9?JspuSjD3)Hh7}3yڐ}K`]zZZm8 'b:[< ߑrV.m n 9KQTKQ"R}i-c<'2AF&3zCC=DV8/t~whT CNͦėtsLhD٫a^h+XզoPZ2]GĞ)##0h ^X }11M^ ͱR:?*5I$|[̈́j5ͺΌrUrCƹqCOe\Yjat @:6[cG sewDAa5]#3l:qqVG KuJZ @[y ]PI[KU8Z{7ǎkkvÿd}֝A;NHOH}ɶl*FOtc}r@8Fz~# 2&uicD.jXXmB}׎Ss*?a%6 STf/eL/'<imR7b0Jբ$RIER"Ri [l%0>dCkN FHӮ jH<_Zj+iyFˏk.ngǝh8m1a%@)~V"bNqD' 1!@!/yAC20%+#L][;!2=ؽ]S|a;CyPF|s a]N] x*cIoac*pIeUD6,T30 #κ9ΊӴt(-!͌hzɉ<3ĉgW8ch{%qtud撹+P֑Gl*yqd9h`.G}Z[x:VKCxYO3xZ2UfEÂ8b$֢UfYtd€EO[ ^qi H<{7j7^Oqo΅ \i¦,mSӂӽI[]Kk֩,3kv{؂#UMdkn"B S5CK`yئ`#))Ji>&B F,4G0 c܎pd"tN L.#I)M_|8jft\'P#dO6 g7˟L])n|x"9WkmFV|l.fñ 2GFAP6xp:9E~XkH,eH)1o ڏHkqvolY>l4P %u *=^UtF[i"_d7B^ɼ_N?wܟ4yJ) QWݿU0N!a&lӺThZlxCk:zX:$)~G ܶN݄A|"^tEz` ȳ *E}lu _:at:%Vti[§#o{h`AVw} ]e^OV| g}ԜVLr䜄m!5Hj.Q+bf!N{_bS DM#m!bf T%p=;ܵ/u= 82lփ3Wj *Dt7Rf]~&@* QXyl:WR62`QS;q5VBFGy&<[4EƦWs\m*0aܐm+@ℐyޥȂ^4JnWBIsiJ( T5NxXh_(j΅]*d ) Z׉^#4^u5Dϒ'{!bE~z3Jal) v28-DYԄUYg-R0YCZm"e[OH?ۭ qX\#kt?IryY1/ ceL ވuϊjK1^Dv ?" mM;1L4^v엛8rp#5{=RJc[LFқY:>;j ]wqʅ}KYwaSڟ ɛ\5@fpZ/0{@`J.*NHE:IzW|ӁZ.:$FO_Hv"k/;z&d+ $ oZfպZy]A֖Ҧ-I w=$=10(IY7O>Z-+1םU,d\ɕsʳ}5[둪u5X%pҚD+ bjԏ;`쑦ͱ߄z-U~4 㺎R; k#rVKMplHYph E񱐣ߞD@𮁽[5l|~{\Ƅ'&R}ļM3b{ ~%@jMipEm_㷰2gr([aJnY=vegX>Wףr3.D -yQdIQ\QrL3cJ/cuEi8ipZ"BN7;Ź5 !O>,k8릋-)P`6o4b&#"ȵ6ס>?B Y|Jj~oѥ=ņVU*K1"E,1 kS%oW{5jCK8hg3U""lܭlt^_vN)X 2 --Jz'C.,![P߂ {>C37"u*b+ )3zjȮ pe<8*^ŐӵVɣ6X(#dՒ:_އ)āK?[9?tnZ#_?nywǨQD[BNRT_H4Y,-,2e=<#{r_&߅k\ۃoO>x+#f`+=vzY.YH_Tטndk .ߒd=dq<\ICK1u0%y˿%ԡ@|kΏm(,Ztc5{(*:a|5$(a"(/ ji?񡢷O-9| Ά2l.(<b`G%]cxW<]*b:-(|G=f;^[;HلrT&BjE9I\d=JTG0UwޛN +Ύ#hσˢ.!6'J^ i{σh^,QN/Ś̼[}sT޷9*MC=M >dC֦XjٲF|&B |icvHI7olvU4hx g6'OL/[zH GN}'nyH%&m7YC^ٖy_oSݕv(.'=K:ɉ|(!u}> Y-a9v3_PBY0 3o0?]ў=8nI֪{CJL!\ J9`/IrO4\`/ߛ(-9teHvIUGJy^M2IzF ò[2jj"7|1<`ZU<4TE (e1%+R' ue[oF;{ـݞwtV*~)_shC%0 ?pFn6@:ЫXu<%(mh]L{%;H /kGK$S5{f(Zre?g;=|E  g;bfdC[- nG(daݝU"KR9k{ãM_&ռ`7 c2'sy8); ¢ϫV2)u#<ѣ`CX^Hxai~M_K,.z\~lҪ$$Cr~ $ա(t5glvS17mrqnAC5 ]^1ܵp:FMu$/ (3 Pڋ='4nsߑ-*} .#Džem8+. VXl{(7@Jg}ؙz|#a5W{NNAj8wg_{?KD iY|g?ܔ2T4Ea~,ǭJ휗d;ʝ`lU_Dc!4Bb!R~7SvW$2lLkvb(oZT{X*3j@6m\qկ̂%|gTg-q-#ꁊ&{Z#Nv),5~:TC3/CJm&Uˑ-rŽ/6fZGGqN2u)Ɓ$j[=Ƕ~>bߘ5{ Dt5r)r«uƯQ$3䮗\\rfAis 8i8P54Ƽ|^z'@5YJtH7UB6zv|]Jڔ.z^B 8,ɢՆЙh>ݹ&͘KFѲ]ua{'!kV2yNBy~0?x:>FUZ^ CoNiZ}|^bY,n`d|ߣCo(Qg3nq"ԝOMHGz&6$l/B-;PrXSDN/ul_ax;H,Ӳ"3~2Oh!R ѦeLBD ynB0Uf;9(9>u6d|ޮ[_A'9wG. t/('D${VnukT}+I_Q[C;J'Æ z)tK·@,Zp>7 ;t'%OυfWs tXC#`O)(3v!9sHк^OHՐ}uLlلRNMA?iWZrk;: 3ªϚA/bU݈_$82NeM{qCؙ]VOΌ<5P.U/f3b{4l|Z)ԡ<VG"P'滩&`tSu ]. ,PeN61 <!y+pf!hʂܡ<H5=}[pZh{nSYE3‡" E؎V~&kWjdA yA6JBww@䟱f~( ˍ5StO:ijl4 )}yvovega}8%ocUh}dE8'\4*xy;?:FqҼ}lVaauSvddYd_5#246J4)6u2JRXcqAiozZ'!_w[f ̋VbULxzDMĆcѶyST^Rɷ0w/؄޶E<K Xڍ3͛p;>sp NG\-p){ -ԫrb09@E*IfDAxmUQ/<bdDqU6 wgj A͜릌V3*R`^*5^yQ\̣mYKUIf LnOP~0oT_TQdLVyWkY#C=2A[Jԫ0dkW q_̪9l}I EJ>Bpp(G_*gil%)ȝ5xs"pMK1: wGnUMa3ux}$F`Y axIF[LJS FuTjyL_vg;zaXNNhV[jiTu4bX]pd*hab^d`3Af|" ?E l,c.'ڼh:#&w^*>$U"WoTg5f‡4߮E)m{4 >& -TеLsnf/p*Q֫t#""'Z/$eٞ NMYBMCgsHƇC(".R=8SrGh5o5g.'ZF^w ؓ=+Y㠧! __Gނfvm. y~߲2kM#32K$btvv 0P 2.Z-^3I^"!k5`\ OO[& YtB! !Σyke[~m/{YaЀAIHI2yȿNB>˙^m+sE~ZbGg貎6P,pb64UR ^׳"h#D<'A8Yz6uЏu1@=5Pu?;ɰM}eҟ!ڕrZ'C~UY;ހ 76~5pup_td4I̻92"-uƒ h \^ՀU[]ўv_h >J .,cjH8x<{9aEa۵|G}*….@prbn[CҌ fpo|N EdI(Y&-S%\ϣ1 (b0@C|cil>ʦ'd(QGTT=Qtx6$Hu,D-[5=b-M-zdBV66?s5LsuM h PY{_=#Na9jE{BH9>{ hN(&Ҿ,F ?@Nw{řvv#Uj'iT &jў7t5k)J$(̐2uҊrD=֔ 6J\e$У;L~Φ"!,Ǟ&ɓɉ'uj>݃3G%( ")zpO'6clRv&w_ aJm(V8 DRh2S_%wGΐ9?D)gJLpQ5 Ԅp0xm>aM3 0z¼C|<,(Ƞ +3"  ).r\=7sD/\I!D)d sIhE my^h v-Ii{ \vi ixϡ^CG|sߩ/$*Q[gHi~nV :4Jy '7|A[Q-,u.>hA1p ȝ@iTd*V%'TG]ʬa~~z:;$q8s`g-sm_?tC4M=o?t̗@ytΒ鄔 @f2ȀJ\4d6ǰAiFB_qRW//\5 zDDDhL6p7G/.:&)/WMkآ谆zF6l 64yđ{>;P1qZ:m.jB9M[kکK< 7l58.5/$ϋa6(fns hWf,Cv91=wJ½|l@J^* _YU\7I;[ 2*ߛ ѷ8K浚15q̚퉶98=W5Pz SQjd,؀e>ZK掮@-?$ˤ7֮įim6얙&?aB*;CP:e֝7 H LBbFK"r"^ql8h<8^8Sad:AMgˡ DvE;[J*] 8_eeXzt"AR1Yr)z@GeMqW9{?#DCr`WMLEغ;IK̏:}]di2 U5~lk`=8]"4>|k!S%'M{@lxpKg9fӭSi+\"Czaɇ]u颞q=[>{q!|[ dFx}Tro2ʩ[bsDV9x;[zLW( #CA[E1|2pvТ<(VWR(!ĎUH#:!laD ]BL]??ul` kj cPT8{5Ӱorˮ gEּ%-9Orpqqw'KbT'q^\mᡑ.&ײhj K= < {LpKYJ]WaTWq1)E Zkol@L O4/ygt|FDC ?ՂtcvHZZ&?<ҏ$1v1!^pw2w.O@,[FcJ>0y1(i̷ 맼>Qh?Ux"}P ǵ{Z cXmJpʛR68:gtY^Ei|InMD"vDjo>UV5ʂ%V}R9OCT\ vV)VJA2K>{L֥}fߙ<0yLQ/c :S В[͌:IG3K5`f b]Kt>q?4//ؔ=]' } t}LԅAد&7RtM6¶xj^/'m=tFZ > k(7lgħkFYv$*OT|ȁ4F>)`۸ܝ[f ,Pлjiɏ%~2An]VcKij4Ց]^AA4-RßsǸ c9vBϱ@֑➌fk׿"s _ȩxNQSb.2/ h/b{YP0nYx9]}[#[,QipnڇUȾvyYCߞ}v\TE2*&7bGz{4H`LJ/+ ɐQ#gXBEO"cZ1_ۅ/ji494Aˋ> ClEv갖D;dMɐsvHO-8P0*ay1ES~m,Ǫq\|O([V{.HT-~W:MǑ}FgVG/gDpSf&WX|.o28`SeSKw1!S{8&n.!8jViDdNNyMꈐ.>0^,VddK=0yrB%uG}==T{#{XOQk,{ v;IN]w[`ך>܂, A,Nv" }Kyvȋ;iwӗ0Jޙ 4ֺ;g$7}(j\KbacvL긁:}K[4K(T܌:fdANE8#(tjtr zZ}'_{ͨ)ڮ28ogܚ6k٦Mq(Q0lbcF!Vs|gK[q'=|ÒK=gwؘ@Ե ~Z댝D˝xe?~' H Yg/9WPW$i4(tiKX!5gC 4N1:%3KP ![%bLz!(=w~ko:/Cr8(Ƈ7]:e4J}PpSj[rSغР ۡK.rL:Zt5ܖSJf[XyXEBuy}'PZ[J<ÍZ2\oLx/-IO*t!KG>s{Y%uTtkw6XQ14Q)8`VʑKYp c{ip3Ns#≈^ejTD٥8,0!aJJ3 cG^Ѯ~la38ϩ! en_Ɍ(z#ك;Xo]_^N=]`ؿ0@Ko 9Jް|C5"5O{pk=4`7S>y?d,۪r+IlM^vMӚw+/yFԹ^yӦfKsg]IA<lCHQå&8cII{CY.t@ ܺh3MV[O$ rMuOBs[Pj;sa(+v)6w=(+G%y4 ܆*EmqWYzFʺD82񖐁W)D,Mr+h|æ-FUc 1d;klߐ :QRX%_KMQ*1Uj 絪)YdS\T ʓŨY8)&o0:,NYWPfː[TiB̍:e>s6?AI],xgI`{p)}.41\#$5''<(g,@%)9hyLH$ n"Tji!jD{s6 $5YomrPfɝ ߓ^֨!?>S#v(UU4 ]4}*8 u=!W{ R0MAMHt Ear(n5 *PJBvWj-wHRU#},_,X8$ƾ& [:3t[+ugZ<??֕khf?ާk_H?24XkdYl0Fkho0M3=e ֭2b-u|MW}GpOȣZiPBgM U7jo(:I܏7CFr(.m"bIRX<\\DN"5 `?6OQ/}l#ɓ֨f_(~(?P# ݝz/ 쨜cV5J E)(O߮.q ͪ`icLy;KмLn~^sq]Q2 ¨>q1 *7#7٠5k[YUP'6&ߵ|9}xU7gl2 c:8P=u{q#V QR' HMV$~?x` F6kWYV jFrN]2n&C0F?&2{RttztR-lt'#<)ɴGm#~;s[y]Qw+>,A >(:^EV FJp PWt3x[\K/;ŝ \$ 3jr%u"b[/BY(^oC2.9HHaD%U[zlj⶧4t) vhmLIZbvb#V7&¥DjN+e٬ZUb)A/5%g=9><.KKLKNx]7b!^.syh Zua'u? 㣣ƥzH-ZV ߛ"YksjWz4WP "bi:qJ$+M7)+$%$(T@ڵ98ݲ7煮t;uÞuC5bGG 5*KBU2j~ <=?c qZi Ɋs#Xhϔ/.|"sxc}(|| 3>*jyp~(lWfy隷u\;l}3xQ2UYq9/݀nmxArrec(nޛoi:EI/80f+;3j !!57AOI:$ pc1(N⵹<Ն9{ɇӊ(s9=d_RѼwbf`?%ы4ké2'E!Ubg-]{ES@xL=J= M-qR(bĂx{L٭D w佭_˃YxOfGv&*yW߹.ۇK:<"g (bXLpCQuVE^٭{&*.SVw%C`um `\EwN1"4ŀ4js3zdeݣPPEc)'y0DJ. NK5rV`˵5[F'*܎e6M3w}[ZC& --)ؐ6s_,+/e~ % bߊDq &4]-~Sk9d hZ,eK&_CT}(gT5Jڳ> 7Hm;U\DKM3K@fOrD;I.Lm[1M==U|KyXiR@8h5 ŲJAPë)3DR~!cfWsRqf8~K"qtfȷU<NP F\Gzc3Q52;nSELwpBFŷثy ձᄂ:]+Gn5^TT)tH=-> f#_AIpVGv (9~Ij6/& Έ RFc ciAǖګ;t^I (mnH wC Doy;c[B%AM4Ӣ*QQ,=%B_,^űO&c0,pLHr}/'@PV AWPe *pJL[ԡ@) z` g]QeGTRH Թ6BHAluAB¾5t˂+9-95ņCDt sZsFbCU\쪨<ǘB9M2ҥW7.G%MM̐k= ҹ]91ttF=67B_C,̕ATеxW*wsO#,9yZlo,2yiƖ (@9h[Q,Jw4,( K+X  T$vkqng/N` ͡l}6XtlXkiTh2ۀ%\8'=N<NV v7^ ]iukp0jBtf %^ 7O ? @z<ɤ߆`{%]2u[ DzDA)FVJ b^c!Sh} T +F@2?T\ItW.`@0B(5:a i Y'һ<"ϑTX3$>j#mP&cq#Sg%}l|$΁`"sZFzaTzl3D:{frEK?:ߤ P[BtX|^qsdס*eFkQ3ReJbyҐ UHjޠ_5Qʛd?eP9hZ'<.1BtkxX%x }),Cec gnk;]-T [0a=׉Bd-PHQ`6Gavx):H7 "tf3 Yiu*ϧ0~1vYvW$fP|[ yf'T 0M^0$Yx-^6Bsp Kdx{U,g!aCc+ڒn$;\Z߂$C[װ}*5~ےM?3ȝQn_k-_\-^k_ iWP}D',n]6c;7<}_Ed.D:t݉`X_:n}ٛr#N*479\8ާdgWW Qw$'pȬ22ң=cd>G>sV5iU|HYi0_bDp\),m# eq"`؄HبN;m+xgpJJcbH0GÂt &.*9+َ4GGB8i|2ӲE Tӛ_jWڑˢ02+OՊD;W4IGbbsX.q#lADxSPAt*X4B/;i^' IR;KU|W LmS{[˔Qȋ̲"wx?A#*n4821,9f4NCf ɏi#Gq'@ww `庰4ݕ\jXHD{[!hUe7"3<σZ++3-?:Tlv& 1 \ў\t07Q=tTcCX^]a mIO'C863YP=S8W[̨0SlS5(_+ Cm(TȾ>A`ӒFXy`@)@O Ϟݏew~-,7L[QPE "vNAK( ҺGQ95:&k)B(/!6C!0q]zx֡m C^iSg]X:*1;g.>dMQ(riNbJN/>I/ij/8>]B023i=\ócF=6&01GݹYo`^V<]bG::5,2y A)hX jx"Y-uJU!9NdV'!%Y_\弩Dww p0ƎGmM{ Ae}1}'%p-qz m1ZST{ 7vju 0_ 2Ψ/FF6vdž"Ml7a 怨-:ƥ{uXiQE{h,8$VݕH(7f`D1ؒtMBzvQYpA8خ%\rEQ JV Ksjpe+R~c3 KUZ#k87I!]Ir' ]Y3?/t{`H'cM10ک E8mj{xg$M3n!1̽v(ihdmlCLweJ7>d[J"NsJ4?L .ƥo.- pzh 0*,Jxgf1B?} (Z`[Fg](dWJcpz DX7|׎yQFЫ.ԅg"bnD hJ~L 6T$Q 3c bV#9 dR 4^`bn=$#NQ_k6wGvUʚia% Uf*M*b52|"t9aXxJ5fV1k(ff$B6{5B}1>qt @7Ă"zJhu-:Y JP(iކ8sR] <[ܧ(V)KJ%Fjގ΅(M89X_KH=f<2tstVrL}ai#B =WB."\ϼ^\ow,&T^ s[[ѭJ`tҜ ͫ7"$k[`2g c9PIM8 gDa~|ȢMp6TG:ݴp3WU.XOuE{v3I٤b9 R9>qz3.q=5I]6⤶SL|OmF 7zRW4J+$ "w@u Wfi|I_ u$,X7604ܐi1L)x #4ZvNÏFPF H]n> F1cӶ] _z哳9ZN}edr`1]j9R޻9T'{]|:Fh}|Lж7}l{q:[dpBt&e9I۽۩W<x#v$tR2k,ȄMTWND&|甥_NY6q)ý~cB:ט5>/xd0f*>m'ݺİ5xZuDn䮤m2I6-XAi ]Bex;z5f)w; a])80j^hد.{"ׂ_v|z&]rq:J7ZR-Z͂%W+GmoOa5x ϠNsa@89QM4gΘF# b .kY vEUY֫+O '*6kF˥N!5)ՂYt5Nm|Qh"ZW֔F&W޸r$\[-1Ÿ^-?JĘqnp!#*.uC_cCXe>WPq\[G =8JӭOp5].)*$aϚ#k<"p/knĞ[B(1V3;RYSib2S04e,fp'|iN5`%;I7x K4gI3#֐KcmU,>0>I(ީt)PǑ6S@31<^YHyk?6USjkc;B=a+Hi }`|I"#R .E[e$2tA ]9ߦl:2,K?aM qCu<+6nMuQD6F:l#r>;6z!Mji@H >Fl 5_:2:G0ꛗE_jR]j;1e`/CrR! EQʜו-zXBew0##tQ)h cx^dF~WcsͻX3} kןx/-BJc $w_[? H6r>߯&Uх K#/pK4eoT } jY2Kg^o:MEq!wyx$4, ^/kN.FZi( zq{7rou' *3i8%xw}RN"'n7~.(F@Cᓱ bNgb2ͦDdWy P6lL=m[;i5fvK^(< =& Qq}EP-ߍok"8X䤠 疟2)>ZIުAꜛTT&Li\!NAϩq% 'J6 #kBO% d`251DxVuES M< S=XȰb\ Cp:{oITƳ:=K^Fz55>iIH9=Ls C #A>nYyT<tpQf)hc^˭M/Pdx}9YTlp>`^Zw|zW| ^? *@TВ#KR@>\j5@( `SW0Щ}~YES(p*TJwe7>#w5;]>ܤ+O;sЧÏXʤ㉝E"8Zt`uj'ۭ=}Q ٛ皪v2?_% *uYrTH+^dj d3E'I"Pd]⏣u;FC?Zcr҃1L%knAl\=>⛁U Ŋg{Κ~qVK#Pn!?:,䔾WB.DrKܝG!NuOkvd h5;i9>7TifN3 \f.ΪJ?WbuCV`j DM_vfQH/KXz-~̧"A_[[lFkކϭL Nw#Z9:o̜c %,Z\ڴN5/ jiTe+S1w##r{6 0o-T C;[%4҆υu3@qT)ռJ gpB=U}~4V!Wl-¶GoBPyX8o/،s:NP6ͱWy jʚE"&U4ދ8^N|z8Ӵ!|`Qԛi$./# N:}Fp3*dRݟ'D"g7zn~qxɹ'Dx;f'\"!(΋.IQ5'sۓJfOО)I򚷥*~NVMDxlſ9f)K`d54]]"'3,/7vaKsҒNzHvʔ;a{-م$ I͋-?Nr׮/zJ?ʀysZ i}ЌS3#iU."OD8#!>'{k 3ʰt\çAmho$E(C h~}BMb1`@^kg;˂ H*cꢝ72eAUI2TV;>yޠa0ԡW2Kf3`Jv*? ||yjD0P'O?e>&oL2{-`Ÿ$ X <$1 7ɻza)zw¸Ny7ЯVfG^\.ĵ5Ӫj$U.UV*=Բ6ed'LP' 11T&CQ. 7UoDg7󭕳aOl^*%qQ҂ݡԒN! UPfxm\D"SBjCm%a1cJxok \,GB^i|Tx[%B,3'Z.$|ek]/gK͍6y$E$0tΔ_0X켨ޮmCȕMo'@aߛG9OCr x<=ǒGH`ak`P3[w(ݏ[>EC_ K0;5$'.{nYqGQ Y_ ڡ5-Y6u-ٖH+Oҷa /l(arwZ$WDcQ/ d 6nNKBv(#{`k@nl{=PWmdJ25 խ( =^s4BjLi|f#$*8d$fU{3;W#ɎZH\> %0N!u v M^fCHn_uxw٨>6@֋Wo+Wj>,#/WzGh"#i$.9[LY'g9$پSgyjh|)F*0Mhq1Mol$cOS=K js8K3xJZ?z 43bj>de,7-}_ {Hl̓]?x̪l| & D 9 QL.%enKy:؍5%Gxـvm1R*rzF E(1n})853! Z#슂wܠꤾdmg9:iQ]4$^ (m.RnlM,ϤW!؇,bb*.drA>f.?yAq,&I*{7cEڛk=t溤8&s fyiB "*͉W6oǁx{%d[ 0x*rVon+L}}g S}mx8uT-$AǏw->{)_g\ija 7<mD]Q9RaM33 TgOG` sgp^/_)?__W8+ p?}2B|Wl[l2snۓ^H lW'$a.9A]+Ǿ~Բ(I<0CRcH'`ڤLu+<{Kl#Ta5UR{8a,D[onSd8mT=xE/funuk33uZ^AWUVP ?Y`wu[o ck HN@rkJLih`g9Tp3,e] mLm?8a2G4w =3 e'`#6J㽷%}l4DP@X 7%O5ܥŽsn*cp5xmq02Mw?/D/Iy{&e,|s:ɤ<~K~ Vzdo\eR: sWpGs[3-pܳ!rO$Oհˎ݋SK+oRQ.B˭S,:-GM'Qh.R)B''~ MHs&x[D+1ZӤ eHn_A;i ɑw1V1e6½FR׀- Z7pupe+qcd[)",fNi &)~]. HE5#UJ'1QHєIo"cY-Bg h؈".8(}VV*#U?a.dT\LZzsko c^A"p[fQ9~Mvևr uٳv[ 7ap"Sl|o9Ev6w5rRb]OV$?xULu;O^]l25˰#/mQ3ŷ`Bb,;*7p@kJ- ?KZW@ed:P:Bg#ȡ/e;:|%Vc'C즱2+5"v=HEch)w=^P{JLR "q`+G7VF%Gp=>xQ_VJE܌^DwCe S (堠u<j-B70m1\1L[,5s@ lcbfDd[pB1G{}b̅}6Y2v$ONpjzR tUKeM(\39g硌{*J'blE#Dn o$5$7:~pXb}0qԊ؊ f ?rfhMϢY͋< =RF*7L@Q%kxo=NPraUșxAM|íE;eRӨYwu_k#bW} .yT,~bGqnSq]2e~Znwnn evp`Vkqn+0 !aa,@gb>sC^ R)F{~,D͐X=e DCɧ垂l2 f t֫ѷp"<%Yk  zo$WPq8 qeb ))`e5$Ҿ{(Dvuj!"uxWa0mF:!붇V<K055k 5ٓQ1Hq_c8Ӂy1:>tAjAAKGAZ٭W3@ w:[k*a^dwyUӥZ~6]}BͧYqw)4'fOnKinW71%U9Fc8o*o\iȡd@3؉V"|𠛎LZwl lz|GvC|X>#:O͘bdK䲟kx6AkgN?-"_C mQ`0 &d*fǩΑsMQ7W$a%vE4XqLF7MϿ_vBn&!pEdW-ZNsx&`Vp!;#Ȓ\,b=ȸu@ПA;cǛY-vek=|q Q+cܥ܃gQs&XO+äIg{j ~8 9ZF[ԁ됂H;͛Ԭ[˥==uEȬ2/~V2GĆDŀh;h96Jp_1,'nY7yܮp !>-j&%i@u'@ yIUr3-Y'sG!?hAX#q5*,MDFX˽ݏ| YZ