python-azure-agent-2.12.0.4-150100.3.47.1<>,xgʒp9| ~ VҒaHT{xoW6A+i"І `1oԳ6c ^Qѐ\ 1!7SSfNɞVGJ17a@$~6 q{LDC8˗̔#&u C}o]ջfX_GF oEH9Q()SdkϚnꕓ(2P(Wí[k$j(/`l*$p\˹2ٝeT: L䰼w.oTuNުE >Kt?td , Hdhtx 9 ~ h   ( ^ _d@io0odsttlu(v 8vI9w8I:|pI=26>2>?2F@2NB2VF2cG2xH6I;8XApache-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 fiu3 JTv=d;}$|`u. :1 7X^ :xvO6- 3  ɯ J T N -1 -/_% sq6{] [+~ Ra 5D5x u%|%bN7XnTY, ]2!@qjD|6 ,/6v'o&6D1)+G+ .W@J/ * ' E ;}# v-t x0K%%'L.!Q/y z/ 1Z9>.CX?@p/2-g$kY/!J\ "2 Ba  v  (<aBI-Y$h'(V-$ eA* (NWC r%W#a,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큤gagʒgʒgʒgʒgʒgʒgʒgagʒgʒgʒgagʒgagagʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgagagagagagagagagagʒgagʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgagagagagagagagagagagagagagagagagagagagagagagʒgagʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgagagagagagagagagagagagagagagagʒgagʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgagagagagagagagagagagagʒgagʒgʒgʒgʒgagʒgagʒgʒgʒgʒgʒgʒgʒg@gagagagagagʒgagʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgʒgagagagagagagagagagagagagagagagagagagagagagagagagagʒgagʒgʒgʒgagʒgʒgʒgʒgʒgʒgʒgʒgʒgagagagag@g@gagʒgagʒgʒgʒgʒgʒgʒgagagagagʒgagʒgʒgʒgʒgʒgʒgʒgagagag@gagʒgagagʒgʒgʒgagagʒgagʒ2f896d167b7aeeb53ad63bc2844a1a89362d7724dbd1f3eaa4bc48df8456b97bce3f2ef284caa2b389a1d62ae197aaa82d347077f20ab2c158d481f5d5df6e6a9fde9bfaa8c845e0e921c8b8e4c60818b8abb89b1e813fc05d60ea476fdd13d001ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b33ace662d361476ec30a624f8c676645e739968751468f0bc2a0cac51c0a6068e0680e541350550e3d8303b087b0ccec3000b48cdb7aea6a0f99d54488f3e68622e4ce7b1885f71b0aaa92204b93f574be87b6e5c75698b9ebb916d70d7070283a2b3caf88b472abf761d6b64994a855a5850ffc0f0870dc562792cd6c45676bfddffefb653838e570a413959433bebb84393fc5794fc46d51fcd0ffde5518fedcc9cebc5657738f8aba7592a90e563215c94fe5fedff7fb8e928ff3b4273df8879396a226c5a4ed1f91eb40818110001147d39fe0aab4083d76a29bb8753f3a501bdcbe016b7b0a918f9f56dd1aa9c3fccb11687b925a277fa92874593fa76c8facc86f8c23e3b03d0e4e4618ee51f1e87b1632f267cdde8c5f20123edb88547bf18247f6f310cf22af94ec0b8a64ef695640ae42d343d4342cc7aabe9c0344b45b90f5e5e2cc800b8e0ce6be8979e858c2f82cab5580f54bb877c08ea84413ef85c745ba3a5866ce4d5e87865ce678d2697bbc0b7f17981df3a9c58e70e753ea9ddde64bfdfcc64b5a3fba014cb56a01d277ac7e71978c91ebdc8322b1edbe3a88e0b03c10738cb6704b7872d50b502275c934c00d0d642468e3ec0519bc57c98836bbee27d1486bf8f091c31cad3024977d05bf90e037fc30014087a400c536d896acbf67b8c9a5d99b0f885badc6594873a627f74a2e188e4afc9482d0c4454b8bbf3529966e5a1240bad5f177e643e0e90e515ccdda6265eae44fa7860e914783cd0a3e717c8140d28d15909d825cc109eced0a6001d48027773a83879ceaa0d3d21a468bb77adc266de2a7c51e27270b9d44572427450733da43c9ab9eedb0958fbc0e8238750123d4faec626ca29d842b0855ae91338a25ae37da270e064a14ea68285a3b84e2e248913d36a8a0f85547bb5ff974fcc733c962db79464b83f140ddb56413bad3d278fe8ef9660a37bb40b68e74d8eb9fd0518cb3aa855ab97f19bcb13592cb53980dd95854de692588d7d90b307e97d625fff2136fd6e3cc472caff0eaa942410f1c963faa1f184bf8feb6e1600fb512a5edf689ba51181bf5beb60ce5d1951d00a8b4b9a74f8fbe86b5ca71caf43860da451f1d1243baf518d77e4a1dc5fa0fd2cd385691033cdc4b508c48ad82f3d92000c69db58c59ead9e682ac53f30652da105eecb8dd316d90774bb21417ef1e295f84de8c3e6827d70a5e9b3345677b3f4b332fe761f9a3f572a33e57aa8dc0b2a10954d8d1636e36b437f13cbebb570f585c2f64bbd6285d2d1bd62d3a16b75bcc499807ca5ba32ebe1bc4a11bb654246839e640ede666b5cf6392bc7e13b40bd24a03f4ad0905639e39d1f1a3793d92b4e2b1e5abc63d410a60b1b9cd5578d76cdad6678373e8d411d73290683ef207fe65ea777f43f4d163d999450b06b8f230346458c11c3d85f769c929b84aaf7518656ffc3914c334a472cb47eb44ad0150c1db39e9b71f324245d5f67ff98ea0062e3bca1cea53876115845078e3451a1074f45ff25053bcba447ca4acaf34df95aa02dc7f84b88133b56e7fe0771f0aed70d00d2821bca5ae015240cff53d4de8afdfa1d6f6ac2da590efcfb8decb92a0c1b3e5d52c0c570d2d869be88dfdd5afca8905f7b85d91270eea0faea2b6610b492407f91618564d3b7c95bd60bf0a94527e39cf94ce8cc79c19ee0a84b262d5a0420901c6915d4fdc5b72c859af932182cc306c88af53739026731728b9f6f285254ad89736d1937e810c9a27c06e19d4651b9ef571967a29e174503b0774c2153d750f83650296a3cb315fd1f1327fed75934e7f8215d1e09eac61277193a1a8571ccbab9f31da0b874e261e6af8585099d91eec8c8373bcc817906a786c6a812d41c184506e276b3e1551cce2de41a6362da525c9c4c2a2ecae0ccd43bf111e7b31205e3b1c5c353f49987d062926d47f687e7a16fe63d5b6e82d98e2a8cf7b0cf3567eb829ef3628e547b9ef87357e0e4048f455c6121c17df87d45422ad21f8cb8f489d945a06f2cae73da2d3ef308fa17dd9c7030b17735bf3127a273df6d7c4ae267617a93524a4302a7a5e2573045906e4aebf9c2c7cccc2e4abfba0430b9e32e5f6080815230bd70914df3dfee9e6cb5579caa929df76dc342ddd08210a95ec2626ed646d4d7c419d90cb0ba98e29ce60c50b3e0d2cfd6edb63c80f71fe6b3a1415eb11cb0177623c687dc2388ddf0678288f282d56cab76aebcc22b3f52f6fdf56d84a0146daeea3a66381164f88395939ba4cb2652d21382bf34bb2415e587b66ec851b860fae2f786cbf45afce29780ae79c266c1dafaa088c52896a3661060fcaaa28d059f648d6bccce85893f7cf028681e522086b55a5f8f8eeb3811ff007cba3206ff398a9c28ed67195293903a3e72dff072d9ce01fb10712bfe92ce4c2af5b152407fb846a5b8475f5a83123dc287b5359c89a2fe9e97a4370e5ed2b446fc15a0ae40d9c3687958cb812679dfd6c2d1fe7d6488301054196b2ba57f786c2d22e71ffea6bdb142c7f381135df853040c1403b8b89bba854f6f8eb024e10b15bf2ad4519537af77f94c985c8bf2f5db7802c402e30a4d7e8e9daaddd8381e9d75a62434592a05d0f61d60091340ab47db9ef70a2db1f8d02411faeef5c39101b87a150d25053c036b532d2ef891c4a2d9b73a9d484d534a2fd0518b4cd7ffe1b585fb1c52ed6a75f24f659938d59171568a6b52bba784321d1a98376959afafbc660b29aa5e93882c0527c048c36e9dfbe96c13dfa2f344ab1446ab19cd9601ea302d51b1dc4df3614d01cc935de6c63ed77e37b3db2f1d6aa8e8ad489c098240a5526b074e29ca1bd957c9204284df711129216e6c4092372fa8d5b0e6705ca1b025d432988c9dd606f53e934908bdbeae60fc52ab945a5b05f0796e418e382a4eb21a44b83718eac64cec73d9af7870c7a477431f4e1573ea78bfc3dfcc52f5dd81f3f7c846df62a5163595f2580510d82ecfb21015c9d76c94b8489a5d8524de41188de5cf6739de2b7cf2cf7a3678f44c61486ed68574ab0b0de18b44241174028ae7b62924b8b7296bd636b979b4bc5c010900f41fcb82949f353d6b9222360f215b2617394e37ec178a7c622ee74a5c97ac3ba2eeb23039dc59ac92836ae663d78dcaa7f50b27a1d6673ef47baadf93dc6df5fae237345e0a7245c4777c1dce873db8583b0b123dd486ce685fddfbad0dba77addc2ac8f7da5dbf8b97ba7d92b28d8942dc2b45df89800e62dafe8e123d075d432d333f4547fb02ac17ed74ae9e7869266edf60412ef18f01aad592239658a1c3ad87a1a0b7557d4ec091babbfdd388e7327b6b9223891e82b35bc7c703ba554e4e260ece0f802da2d3dc27b937b6579934867853b764735a354e2d1d3cb623c3a46db0782cbe0680e541350550e3d8303b087b0ccec3000b48cdb7aea6a0f99d54488f3e686c8ef43fb15ff3bddc5392c42cadef3c626e044d48d862f5d4c16e0c4af77692ab2147547d239768f1fabd202b44a461a0f10ba77dde41652905f3919651790c0efa108cc10101348b536485d8b4ee8f8e6d25e4227814ca46e361d0fb507d0ee8b245840c5ddb423acba17d857631c3e66065fe76f257c7e27c8125b3d3dc8cfa9789bec732c1884e6f3a9dd66dec98b481472d34bdc36e71669a9e3732c3bb3481a4b411e4c53d411c30bb9e74b77a65b3dfc28f8d57b90cb158fbe4a1ad6c7e6e3ced11ded3876216abedeadfa4bd3d3a4bd2b773ed0fccff40144562be7e404729847fb25d3f6d99a7e2814d645fcf4a9f4abd33ab34567c31eec83c1f0422c8bbcc5a0bbc47640ef49a572e578aa0612de26760a8f2b0d8167fbc4113618c10ec2ae2e1b23d78a2742dd0d4446d2fc9293e97c1abc96026e489082ea98b28a3d3f717224a017619ba6ffccbcdbe626d1b5952d2daa0042a4411d5a50c6dfe8e2da4056bab54f4df1d6830d9ea40da3a96a3cbb910cf0b4ff613dfc72a97a00c9fc31dd2dc7e06064d9653db9470c5bfda8b17f2b117237c869f87a22bd10bc4a686c53fe3abce2f0162b9b76f9c15d0fef520583d72e3e8afea532494718ac7980207a5aaed7a9ae90810ae0e68a4a8e2ce31f916d1b11ab9e12ac647ccc205989d5323c7375ddefa486b12ec6f932995b579f9971590c89911b4f134580cb52eaa02cfa7c21da84ed5232da69bc7ce085fab668464f4affd9d7cee32edb27f6343b6618896ad815a8a13926c1efa44255b863a43a9ebb9fd0c71375c63a891e74dc9d2147844ab48bf24bd63f6e39c9518921c2ebfbed4d7572a1ae0c820efb2aafdf56b9c9375157936ee8bb6db14b56b13675d886cacde673d804f893136ddcc07f9ef53d9a60c4baa8f06bb3c25aa4561abbb0cab488e09dcd4a3c04aedf4e97d26069ba81a1651309640e56b8a626195a9f056f8ab6d70dc16124efcc7efa7a5366aa7668c514d129a2ddbe10b66c105e437419eaa28346a1c5ea41c1d6ef2258ada4e68b4717fbbb7a114574600dd10f0bda0d955ebf9b470b01b236cd52e38cac00ae676c0f8e96b5eaf11da63fc0ccb6cef4ba84dc144b1a2e38e222b2345cf459dddf5fb8fb74a98d43106511cf0cef116e73c5b1e0cfefe2fc556fb7ce27959744ca5bd57ac4ae77b6926af0afbbe3c269e5eff756858b27c6d67b4f646ce17224afafc1124c8dd0871527f9a2aec2a532d6e0116f113409cb957f23367881c2f8df8a64b354e79267ef803558d2474f754c861c1c3b75ed9b879396a226c5a4ed1f91eb40818110001147d39fe0aab4083d76a29bb8753f3ab9fae7945e28e84458b2bb07e752362e04194ab87c8f7fc195197ccc8e32023c22bea0f67c93e7e53ece432df8c2e85ce8970de4060b237783ba4d36b48981bcec8ec14106806643b1441e0c084f26f3123a2ce14df9c93c6fd9c071365c5a88ca004ea56bda569926385c5b05e2ba6f1238335a99bfab697ae10182793b6674149944103830e79ede8c38030d839c8efa8ec91277c97bd323e7ad1e4c4cff28814727fb7c634458dce3f5c37619dac21688d943ab2430c2c2402d0f8e8009620b8c554e7d988f32103a1e14cb983a68af2a45f86d7f81d510a34ee5721ca45227e72904d6fbd7b4656adc14a3b6b3a46828963d0179463f4ddcaf47c9dccf524e6b320803b30794418e3b7e117be3caef4d5e57865def98f414379273e1fe8888f6df5c2c37db41ef49a659ab838e5550bd0dcdd93e4eea71cf777b6824d012787cfb774e20400aad713441686d35af170821e246592fd36d44fb4587f031bb66ed3bf53b10a2bd8193b2dfd967bcb93aebd59e3e5962a354585abd9e094dbace46be693a27ecc9ab70402eb35d3eb94d9dcc8c6fbce8eefe268350f51ef619dbb78dc212a8f75b0166db461db7b1ef5354ef4a94e1e9caae8a92ab966b371a904623550f9cc0fed702302ea84aa1185f3fbd3b49fcf3ffb4b052e69180c3181f9a1d88cdef44962ef8607b69e3ae9ff8de667a9737680418afbd9ee17b41b056c6a9048a7079ea118eb31109b8727e24621cf7cefdede6b824ccdbc792e30968b84fbb3a0810b8d95dc1879964faa36a7195a7dc7c271cf9d2ad4c33d59a61b318b4bbdb81e8a1da8d76ad8c39f1ba25e7ccbaac62b20bde227237c3725ba8f0649669c7a40a44d38a8196d4c4bf938d4fb399c6e605fd90842c40382e052d49071e646227c74a822c3264bacd64f6688c937bf12af3807ca1d8477f632dba0a154d05be94dad43596aeeef54ebf79d4e6fd2f9991742cc0694b0a7b4e10d2112e38a0fc24a7caa8aacf4b99287b590c420aef42700948afff11491ac9c72424ffa2d126f196f2dea8a70458237b76df09e8891952df28257f507fedf7a74c5d97139c7166bdab9e9ce14f5586e624a81c29a7787e1bc0991fda2b49f999dd44a86930d741a8b889baede5a5f8ab0787575abb52e30dfff40708d21e9d1e9a89f022fc7a7bcdde3eebc6b5751471da45355960504c9cf232da1b631b954871da0420588cb3ba4e4e8bc6b5a0e2bfd42490a7a7847322294ea854b81cfb36b747886ce7c2ef2b712e8b732eafa35bcdad72cf9a6fc415c7250de7ee03b2ef748c59f086f90c5b290e6a9ce51e68df36dd2bd17535f1ff9a92a319ca171f7d5ef6132cc4078ce17f6b03dfef033c0d679058c1df9d1279e190e8425d2a6f4f93004014bf54366036b73f17b67f65d2a0a307f7412a61e37cd7405f0b00fc7727869e8321b8badb85a47b17b6e197524362302971753ac4b565c4edd03d583e5a5af07699fe3c42eb832c7fa3f391b51363e6d56907c44948ce705a5943dbd2876d4077a3e73018b3d0ae71f80dce91930fa62b53f2af67dcd03dad6c7e2247183ff69ec719b03159ba960a2d3002527fc0c88b14aa7bf11b9d8cc0a10b4acfa073030f2c2f98354452515cce0e45af7e488320a2baf575ae519e4598c013ff05dfb425fa87c928b035f961458857f634bfac9fa502306963fba9e67d02e9e5b1e8f56cfc6bc706380dd1e0bb41d5a7f9e3cd744bff1da5bf61d79c64b68910e7b15368a7efe176a688ddcb4c37dddc95e5a19c559e520ab8df97f775c73485c1879396a226c5a4ed1f91eb40818110001147d39fe0aab4083d76a29bb8753f3a77488c4c03916412861f7ee30636ecf6be20391057e3dff589a11bbc1d79c7e947682d525173c1d2ab54180553dce1a1d96320b9b7b1c9083777b3d64ee002a6ae0ea0e49331b105f225787c84d8ecfda98c27d8f71748a49488e443080623cc1ef9e8620853b039b13d1cbcd55041fb093d8373641b43db4a9af28612900c42aacab4be1101a47602b74709d7cd747ca6d2114b80a83222572d497aada13186b1967920bb4d99fb7636157882a03d75d545e5694603f9e7129fd8d55cc23ade80a01a5da644eb5f327fefa8ba79a3752f7e802683bb68d299964ad1b7873be0e42fbccac65df658951eebab087061a0ef18ec84dc1bdac3977d29ff1e3e195e15549f35f234250881e31d54c84122c9332eb225d52ffd5257198f5f2816b9531348149acb09124c357fe7dea92568270de1cded16af6628cef3866fa0125ea3fe985634cbe2606c08a69f52b7ae79cec4c57efa938fb1c4f4d31fb482fb858f56814550d92c00e49acc46440cadbdf002bcd29b579cc390199ff6c32933a9276b86c9ad2d107160bfb037be21cc28d1aa9d12e0ea2e76442f440e30872629db4b70c57720212e3037cc4d58469a57418a9cff3948dfcd86fa222cf184aa936ae5191f8a811c8c91caaadf6713c7cf61a4219efce0e86386eb0a997d88aad89ad8177422c61b11927e3b6d8a2ca18a603119e6743d88b325aff450c85104d411f1adc94a6df8a694fd4c3c076ba21d20df0360c85c68c50cbf9ae85972a48cd55355e3e7e7ffb6122771a77fefb5a57ce725baba253fb0642fdfd475cb6c4702409b25c93c35f7f6e706eb5ccb584752c0caa5d924de8536b6b165800a6c19b5bffb17dedd8dc96338055f0d36ce546abd1589df21b024175bf411a85ca9c066db1c3410466ab51a7f193edd8df0aaad4cabeae21558b41ecfa60c3a46de35b72135b37b6bd954797e2122317647813be88516035952e029af87f3fa45c1d94ecec6a220ef45a06b5807063ad4ac9d42b66a1b61517be450dc97ec11500f2c287fad10abad9b7e3d512bb85546dc4d63a8513a3c58de8e45babef4ca031defead2e524b4d3f87e8fe298a33e558c897f7f7396bc9bb0558db9e9dc7da853177582dd2709d12b15e974d53d2ad56b773737308566b095ec203e049022419a6d53cb656e18138482004c07a30542223e6066197917eb091334e2f59e34f09b5f8f5acb20fe5394e7c122fc3b5c396525c912954a408690354be3cf31778cb978b7e3ff87337601a1286a38b41306554145f89e1ad2f757b848e41d31e3d6a38734adc351ae28ffcb7d03ebe245c7e334817ec730ae4cc8a78033c7115e223de87ba3f7ea9575bb26d436dbf3f1407ac7c3861d4f4c2db584fb4e75e2c32b11c9103350df91f49efc993714be55d4e1c8a331eadced9f6f2d8cc1f331605b976dffdd4d30f04b9e22b17234f507967cb52a7d822ecd602e49a298b209342941f336b6f658c4d06b6aede6215e4d5be5993397a01b86de0e2bf42e1f0165b3d468f5da759518158a4e9d74ad37fc3f5b3ca153ab2308e5bad328d14bbc8b883b0ee403a5482ac9d16a79faad684c06732e79ee222c23fdb9252f99af17e851e7da7e978caf2a6320c31f4b72e2906e147343f9198df55ce336e00043e297800f3367ef609726aad256e67f0359d4f92666152b5db1270bc9a3266c648f0454570ae159b1c4c4659cad7d8f6f4c59c6325d35317a2d8b600becec985a4585ddd62c802f306a5f34ced26e611881c406cde1cc8e820a38256ad6c0863a76325aba853a4de34d25ee7c351987c406d0decb73025f8d5b4ee4d0a99931aaab5e8ad9bbab7adb1ebf6c18675ddcf5bfe487afd37be863c67998b3d65e3de71cfab79311f6cd3791949166f47baa946ea09060d1723f281032ffda3b540d7c5864d7d7276e1407e7c9ddd12c6cfd1c2e7d8b056dd6421e6f855f91d5c45dcf24779f38ea8f007169e03e417de672b7f1ad90beb618005a77229cc3fedcc5ebdd42c3afa14f98f154802ce4d86acc2ab423f58cde319bd60f8722c826f91ed67e806b2e79c6118c443d136274df0c21670cc9151b6ffc9b1b7d34eb4c93e850a69667754030ed4d99de956746f37a936b8e6b84737635c71e249fbbe63b9abfdab56d2c5a29ca107017abbbe3433036b8d8133aafef0fee39a3eca7b5d3e0a82c422c636f6cf7e7ea325cf915856e3c437bc1a93d1ce83aeb36a44bf9d3c85890474d1a91af82cbc4b54af74cbae95e4c6b0c2ec17280c7980a7549e53f7c6983e53821254c879396a226c5a4ed1f91eb40818110001147d39fe0aab4083d76a29bb8753f3a34d8d8b96efda4526a7b571283b09b2f69520a7565f3799cae7e5f22fe064ffc9906a0bff4abb09ccb3ef5b3c50747221b77ef9e6532ee13efd16112458cf58b7bb089b5115827cbff9603ba520e14d61c5e4ccce760a7764e2df1aa36d871b815fde3bfc6e33c6b7eeb3c2da94fb6d32afc33abae2dd41e774015a18abc8354aec7f93421aa6259a4f09b2fa839bedf86217b708e8680a7326b9f6d7004c60d9137e3829b87fc38d893827661b5fd3622d700ec40181df2f77d4079a1ba681c76fb1c1ab33f5192f02570bb5af0e844816f14729c4b27d6a4c0a5a9e927c26e6bedc08810f3f9e6141616f329356448c89b33f5b9a23f92adbf2aedb45eaff0879880330d40c639bb26ea5ba7b7757d612af8a5fd84b38a5e61e4bc4c8b4e49fcd4a59909557d2cd009817a39b10258979da5477dcb6756c70966b1f76773b0d93d14c8fa655e55ea88b72aedc37fd188b67ce5b321d3ba561a6510b05a5164e1c5c4557b35a8e097fdbaa96f4c772259a69ca7d2677fff0ff0c9fd818cdefd102a06d15254ad9296d4e80077c3bd657a34f07362315197efeaac8adbb89c87a9f28ffa95280c1a7cfa3d0f4ef5774b0200d2148ef86a867db840d40f9145d0f97069e42453a22f8f5c53dac5ccb846b99ddc84a2e57b82ace925bc7fb8b5a69f8a7e342aa941370d72b1ed81ba770164832afa6482717c33efd4025d743226b20c875b7897f35433895f163b55723131dadf919e3ef01d157b8cea0c72c1c8eb2fb0cedd66e5cb93552da55c743b4a77f6f0fcb393d0afbb7a2b5abb71a57eb453609eec997c7036f328e0ffee289dd8cec81e02a701073d663b91fa3d6214ce4fa670e76336205ae1d97c7ecc9944a28e291372949367a608bc4427e75d10fb4028fe37d8676dc2e907ebd579613712919735d5173519fdd1c10c360fe5006ae7aca33aeb0db6e887c8eb5bb09d4faeb16f750c3cda62525404fc7ca406cf704e8aa6c7b067595857c3d964405c6e11a511359b0d29453e41795d8b0f122932a454b99d9e3c17a3e918c0f01b33762883f3bbfc813b648cec6cac1f5439ba68039b91ace850149e90fc405a207e0a3f1ba7970b05251b1f86e65eab3c06cb987bc1b84457c6127d3d32f103f3429d764cb7b7990d7e304b8d518a71acf9249c33d668742cbfb19c574a82894b2d2e6392227b28472ca2f4eb7f2168e65593cad1668c86ffd99a9b2b476a206f9644f90267ccfaad147f478b540bf7f5ff95396e42550ad08465de139c990334d3b321a43bf4bd6d2749bf38ccef547e4c225d24038658bd2ea061ee530a27b7348b16ef8796f8a2315341013eac96f526f22f1ce7c2062cbd9146b60ab387f40bea174e0130fbc89c1ad174ecf17de1a95fdda4a5aa0ff6b52e6366fcb9cbd29d8a4ab2ea131e0ca23b7ae029d09c65cead3984f3ce5fd3b7df1260740cbc84a8f1df3fd2baae54857de91d6b58745acc168196ef217b9e541c4a365acc69cbd01564a6c03ebfe2bdc1ab7ae209d48aea0ed49e253ca061dcfad16bb30aa5e2a2e07445459121d8d34815a74dd3ef922e5b236bba947e7f7ce5375c47440101ee89820ccf451c05c6c9d3f2c089d09215db4bcdf4ec506bbad955dea7aa376ba3f4678d640bc721b84c1d7b5bcba6f43384801bb912d315e531881553483398933c06c98025b846686647d1428ba9d919ca0affdf37c8a34e60983294ec50be85946bc31b78e063d27a7c9a210816829169dba411470abfcf5983d724d683dc184320b8d56d4c8b6e8f13c7dd723c1b9b63063e8e86c9bfe2084a3221ece97a0be0079e4fabaf0ad9856746388b541610b329a8669c1e3cce96e9578785469fb7e1b66537aa6add7880e449622fdb0e28576178b43cd3ac3efeb39d9384d7a812b75ea51674f33b4ebf00d664f43e02099b0ee2a408480f6226a7157e6e2cae2eca26dcf965b92c7e7657e1b914ece9866dc3471da095a33f66dc59b1104b402d77517f6af94e6403ce2d76cc7c025afde8d485e43e2f7f7bc3a88e9c14cd5970c985704133074b379bc09225eb93044eb9service@rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-azure-agent-2.12.0.4-150100.3.47.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.12.0.4-150100.3.47.13.63.0.4-14.6.0-14.0-15.2-14.14.1g@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.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- 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-ch2c 1741328902  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     2.12.0.42.12.0.4-150100.3.47.12.12.0.4-150100.3.47.12.12.0.4    !"#waagentsite-packagesWALinuxAgent-2.12.0.4-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.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.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.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.pycupdate.cpython-36.pycagent_update_handler.pycgroupapi.pycgroupconfigurator.pycgroupcontroller.pycgroupstelemetry.pycollect_logs.pycollect_telemetry_events.pycpucontroller.pyenv.pyextensionprocessutil.pyexthandlers.pyga_version_updater.pyguestagent.pyinterfaces.pylogcollector.pylogcollector_manifests.pymemorycontroller.pymonitor.pyperiodic_operation.pypersist_firewall_rules.pyremoteaccess.pyrsm_version_updater.pyself_update_version_updater.pysend_telemetry_events.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.12.0.4-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/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:37778/SUSE_SLE-15-SP1_Update/6d7869cac4cf629d8dda671444737ab9-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{|}~RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRjι 75;# 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-88eb2e2ce81dc4c62057b2fa8b43e0313c186b875b0ea0dbc389a23b7709a9e92?P7zXZ !t/ ]"k%Ypa 7_/ |ExQ7Zn<cve>;{ʿbVC[cF:rmf8@U||L,"Zn%-瞗a.P< ރwz ea?o̾0QKQq4^5RL=JOK4Έt^yA3P}+  ,y@ Vh1RZ9XY ,Zb"[+Kc;]NAevz,:Бd^>&^}iUN-!ɱp8 c;fgfh|֡NIMa=8(T(#:נ}n* MVк)d\f1lLcpù)މsP_ϤX!LqCڕm% tfY \ysɥeI0G9Bܩ,>/rY],Vs-E8RZ/|-O #uU8PAQ@@&X1M>? ML7EwC:FH >4>ן3fν&~ ĜadFXEEF6sōԀka=^v bU#*Z/}B !h9~(([nh}cb/ ۶_.&ŸPf'l7Q Wj$* &ȪYS3@5v*)[P0JB5.M,#n$TScTu ^xu ";3o ]<3lZR7 vVlZTnyi:2}NvLn.QmD’IΊ7*?_QG/&[A+ J )8ʜq{b\H!ec's/ s;J"Ƥ_)glK׼M2GGrѴ Nf-T3tjQ5d{}u^?ԛ#W%f#bٽluRb6 61RYI3κũ3!?P4[Pfn긭sGʕM[>"VI#cyRF.$}ہf~璷^OAFF@̛ͲF ߓT 97(b͕qZVkxE(}r"4ƚ[y^<0qب0U> !]WVYZKr=NmIIHH.ûH@1kAٟAʎP o1P3.i'4-71s.ښ4ya쉒KwvEWap^3N2I_U ܒ[(ڮ~W(F`A]k_i a]mxD? ΩibnRL1W`)/ x(x,-@(\W7&1Z} zt`ųBwx;\1h<+a"Kj) tR@alhZLųn@ך Y=CGaocT݉v>YkpWt[6}<5g0~xc)LB(VLY|6vhh\mvf_W7cU vep5/Yqp^ \lh%\%x.u_EV\#N%be!XXܻ຿1A_kzEiEm`Zf-Q!$%Pؗ8^]>(n\3'9F6ϐ< k%WYj){fa-v@Du.{Up?hJGe:l\{ho )x{غma͓Z{ȄT")Īl9nbTA?2Z=.?i6 ^# `OCalr,.|>†T~wLrO/ĞcO@߇Wo8aȴ3Z7\\F_Jf@9z'vp_δ"m㴺":_f(sqG"cm,f7(>Ť{__ڵIP%@f&@9VVmc--@a}]YΆR-yybIg뻫ܡrEL莻Y 0+6H:8Ta-{I?C ϝalu,VyfTDU)yu3,wTvg=l%~#*ՠ|>PP0;iH 4n?vUH&L=|[?ޭG,tntÈ| tP?Qt#Qor$=y[RZ|c.{JhehIJ!M(s{]]7(.reuhxG#rF=ir<+LfO+Ii4*']F ](7!o_$keJ<o[E ,i~f8DjkZI],ĘO'2 -gIF%O+ʷ-U k+3lg 2ߙG6Ux҇PPN#Da$"a_l%V[%ވ;{(Bs!<[8V{[1M-5#hAwaK,a -\mW&I[0qcLZ!}4RmjtV1gWkU;x_`{*v"" 1O--9]/$HbnsiwÎ儃G9Lc+7b"Arɝ*+p=< /qUh">t*H5•D{ z'hO2S 8`^* 㲄;=XMt~sx& ]#w2yw 3,LSuLk0}BF,kKx~]N!Qp™kSVR[? *G˓[Fm-C}}EJ25,STl<;s{z_/1 bmPR6ڀiU}g' ^蜹P\0$?)U0;WZF^Z=d(q}?,8R݃'c:8H N!߈ӭ Cܨlhk%BANRaCew_[Qڎ^?҄D0&wgzɍbxFN0yhN By7SCɝݚ >9*Lנc{ abkZqu0㾦w4j3FrVEfi)4hK=7*}T5n9}hYr_gG'MMaQUEV +Ç-To ֮G&$Dt[b'3o ԇt͟ya1<ώLyT3J*¬iKraؘ l\R,Rބzd=^eJ(M4?4aU;j QSU/!9E*6MW6D$13m/}$g<1,gThz㺯Ԋ/yGU %2yYVk~1bL* 7)#gz9vt;+LIwtfZm43ܺ.qNCG~_YJcʡrSVcuL)T)ܥzjpz/6r.J?2zݾF[ߖ5O~Wg 'ah^aOվĴubT_7 Cŕ1 99+hf,+R8bSv缇ے RwnJ|rPSWpCUaaC|WMy:V|ڻuhh_&W3zD9´#r"Êwͣg2o]2Vp 4M()RZޔa!@~[7AkuPOLwx-y|^H~#AZʙ$q /R;B-pSڃwg]䚅U0CoPAFEPgB*6bEڠ+aNEr;րEG? x##Y5@zaz@[R[D Y v z܈urX=r 3z+XNFS뒙ç. ģϘpxq-OSŞ8>&5+a+3̰MQxsLk!-J3@ ӚUMVSTam^,W#Fޕ0-^=H~Sʿ0oQ]S{,T@dS.@4ym:u/_F6> [cęjs<v3l;ki٥[׌j oL 69w|u;]͈B%1͐\iw7Zu:y{T3at2*8K#-?lX{,w ̣ ]^g$R`^_Pm\bKɌY*23&J(٤ +Ԍ"OGb\veK>w5[1bùu_I*f9z[5&5\$# !|E\f怲xV7]=u73Y0uAڠv}/-Ǵ`7ѪK]Km~lXՖX_*V(AF)i~6rȽ\4.QhQMo݂I;8y$l,{oPiX0.*y6Djv59!9r~mD yD2=HcT }c0$tnƏNǓڪwlJ>$_S!Ks Dvs\fU6zsZλô2G@%L#p%XG_ݶ"66?ɗXq!5/ZωB!M|[ۇ4%Xk"rpjx3p%>?z~Dy ֵSd] s&5H:%;yRL+ãSeO:&_#G sv3Igߏ7&2 :!Vv`v>/dkKͲh]|؝g~qi.1 AvՇ& om($̆i[u@ oM5dO-7砬We(۪ 8gp'&WWNhF/ ?IM]CVA4?sUez Z}kean h6ء,g@͒CgyD}.y;͚6snoהRGpMy<<e$ƙ6rEٓhV|`Cv6 YT>i6ʥ/gԚDʆDv--a[iu(P`iۿ!IJDXd5M"Mrv1j] ko?a˟/4EEq^ԆVV]T[شU& ,N 5)Dt[G37̮KWDEuR(<!;=YZ N2(.2%!LΣ,{-QL1QAAP*dC7h|TXj.&U⻄.೾>ٞ=w规 .r(! Y`]Y'ӟЫ!mݛ>Te!gd$`0I>vJzؔgm -PNn&0:ToZ9)cm3sg5yɔiӁf]_kQ:GBiYiX:_SuaG5"m'. iu(95h=aJXi*u S:h1F5QMYHnzR?ē gH}S[Do$᭙!4f8@@%2Y@ҹ0S Tk)8v$jFlSB`rӯ=ԃ~mXD[H)l K+ެY20 :uRq߸S4f0Сz|!SIb[ տ8eF'tcTb-WbDSBB$|FR [-2 aQ#Y} &ap݈鲐mpnPqnC14nIgECQv/z7q*4|2M$DqBM{PH&]Zj R~-L|(KW{s!}BFGvfrۨ҃&8͋6=[cwvDX%*|^rv]oY0ce(õa1^`@csBY: ϴ3iCcCr1ӦEp$F7Bei&ʐX>l-u#+kfxH (}kPSČgA 1ӠPUn}NT^; C{P=sLX rD=D&fgV~B0ڛ~PGCl:֕&ȃ=+ gK(V[aoHHQk*f - Dn/>UaX)(9&4+\I] bL)p:2M',pY9 b(6oN0ßqj^1UO ?2lt֭|59 {hn;&uL_@M">|:W (5\H[R 8" ߤ%R`k#* 9%uTջGRN9ҝS^;휮YK~f;_>ڎ|JHNX9_a &R* t1!{+;'>\h$Dw:c^n}Gwog2:byĦHLzV zO[:-}q NרfC(O GT_a1pz.yEvK3d$ECȒ!Hj%= GjFPL@|du|]yE̶R6xTޣʑ$t 9XbH$K12V#Lpgc5kՋ-LY A0 &նZ[@VDg_t#R'wnb ]+2[~HO Gtp*qa=q32M<۱]:[2lme5>!&}$$.Q;JRt'\RzAȺ(ږXiT_W)&x`rɼ9ep4gEU`?Л(%tǚA!_HD^#B&Ǟ+L=8Xyݲ,2NRg f޽mDYt= ;XB: ` Bk4db= }=(H2cո S9 KLjf:(Z!\|"7kQ <[,fh߬x1KU,yʭ.ck鉋҂?Vmߨy$+&P&Qநl{Tñ؜&2t!.T9_x4&<ȣOv TT|Iǧ-vK_& aU܌S4}e'u:_(_58nƂ6st i7q(mZQ2r)2ik/W|$?R>$nv#gGm/nPQRBԩvzjF&$ ]2^j MBEWo>MP_a$3W =4cqWWf>Kh]GuGz?i4Ӽy ͸﷓vsM#jF&1 c]b+O^; vW3M #Buk|D[T?vn!MIK8yqywDxcRe4C|m' ~wS[١ܴܲ0ՋIkHEHzOe<6_|,V+N'v8ݡz n_ ؗq&tV@tӇO'F$>dĻ[՞nNHbep$-I|dS# heMDy1Pꅉ38PS<SZ܍tHl})w㞨BY 0†bek1AfɑY^; 7y)ve=+-n>dq%rdZnՒdWל[$lYy~ʍX%7 U?Sf!G UM&݆&ڏ45J_Npc5Ary>/u<~tIOw \FոY1rv@7q= QMl? ;um$=HoB="q:tS^gAQxÜFSF-!Pg56CB:u+ai30U¥~|m3yoF@"s 1 "dؼb:냍CVUtq,DЕo)SL z2y|@[8[McH5K 5::;MNjw6'?[[Dj)w[f4'AJ6_2jr[L%eе[3ߴsr,/I)/fw[3G%S WQH.O StbirI@vd%h-hU)z;2wp+C4PA\j#Ir3P([XiZOGpY !S)R;4i]U^X^ĝ?ju:l3!d8{agG)w9bTpdt%j:֠N1Ь1;rP-LpiΏWM|sB?Av?8<(Xy<,9E[hy;c tټٮe#OЦw/mR?d"yD ;3gm~Ń擃XIoYUp*OۙLXL:jj #2' qU9hIc&` \w!. M#[A4L@k'egS#cTeI|OdmZҫ_߻0C? Is:jǪke& HLk\az4$w> hxI X; QRmhSOl9mvKk15 \qr\M}ѱI3}j} YllvVooycqF(dIqn'7rRY?`();9ha.qlDc/F:}׼l؂>qMTbxKƿ㈸PYyTA3 edS]۝}>k#}`и|%Jv7(,*R[q0ATE خǝja9Y@z.2\Yrp5VG|bH%FD -]]ݗo x4 '&ͬ[/DHGg[DND=੬Akyْ,'T(+I䗹J޳spԞ)ʏX\ijff_![:QVj<.T1o#K 1v1biaoQSX@ U;v|;u!IU9-n1!*ix cE{v%zwWЗ]|}KoxQ;;j`UK]5?q.ӛ}?ՇZLnk58?jf SWc^AC!wlm*:b$F vT9xb~UX>: _"Nd|RTld\ HsC6 >o4MXO_?-Ԭ9U({(&ea0qSv.NZG$Y2Ŭ@hP9 n)I7jƧ{П'O0*~`hA >ZVIhI/DѵG*IZ'_p[ٵ :aiv`WO]pum s*&0r`-[T[.ׇjCH٠X;I.LINcr]:S숿dS{l:&hq Xj_pgmb7z+h硭?>(nw oǹkLT=7OWa&4{& T*=$us}Nݼţߍoh,i/%S` ~JO(aൣ' ?/$aIgUҾAcBvqh|:B9w 6>{W+qbl8';x(`2|{U:ʞ\~ MT6`j\i1EK8<5^u$[r}GČ5_~. ߇K Kb^jpmCt_pgnD`3 .+ 7fv%{_haU3sEvPȸmAW@R[#3uGn=F|ɖ`)U\W7?h׎i$+6f|U,Kv"UD5yd l,$J6_,ynƵ_RK L@km%C#\bsow*®cMN3^7 ,9dƋ=U#x$AZ-)3G߿%jySoqs(C #MEtsz^HYu!cuD]\Zʗ3fs~lL7Ʈ wxa\t}pr֣sN.GmpVݤM%to;V}!<۴Vn`(w&% 6md$ <v| 0Vrl8I{8GoFNg=P8LZǃ@ ]aݛ>a"$b7Kv0wT W?MQEWdfit̓$CAGgi:6<7XBjk+AُKը7l(ȱ֗W;G\~BQ@Y9IMwצJ6."_fj]KmXy`ކ<ӄ_{z/DXYJE^2pBdBg1gXt%GdIOq3 <]zlzcT0Ac[#K q$ĄҲP1{#} 0\P*•ݧ+ ]WvԺsVVu.'*h }8K!ފ-vGwREuH܃OfvBkGp=SxGĈ\t"%⨔xr8,agB;)y<:]jK]j$3#!LyZA4 mΟv vUI<8?|A/(FN=5g;;q4qKE,Hd A|-Mu7R[e~%mV cYc<ⓦ_~'J }-e\U6u/cGޱ*&eA^4"J$#.[> &ue,MhR<SRhgpm9~hU}Ɲuzufshab6>,9{-6eUROs?@ĉYp3ZxP &R>lG(+fxѸ|XSn+3И}N2vE,< {2,Wg["KsM|߮*U=aX׌ŧI Y %{NPY>"s;Z;;7,&m 7@41/ED 2RE0|\:Fv`:^vkwhcf[h~UЅ&k^@;g&4ASTPŭ 22ڊ*ט⽋^f{MrVo/yR6ѧ!ds~켁X-</{a/cV3+OSCKtb}*3Uijz[% pv[x0ab^ 1=|I`ثu7CsVx  gVb~DL:^2TXO:ywsH l {ap \{f_o8@[m~r *Q:=t*=g*cqjKDsF"hoNo4+ҵ|Yw{%ݯY2masGޫׇmUlprzL{oZ#$;s͗#YSǴ2I{&Ca bM6^ -Z"t.iUy&UCnXD'nһGk{2>߽O%㏶S;71.S3BYW5~ g54`.sQ .9yAxbx<߁BUGqIP!NZ&?3|ı,1T&q>2b -5\օG\_YQ $'ް ;Oh43v%8 ~iS7#6)`-A}?u&Fy{^eRy/-ms̸yv"p0I,O [_zHO ˤM$u%DԤM7' /x`WE&֛+!HN{S8MH-.c6\1wA84T|t4®t:rݻx:U-7*"n{^J4tF7{ z^Y@Qo]2:%VK&h0CD6D=ݞN;CgƧ)za2F6#QLfnHb0to_勩 Eq|#lXoqt ܵF[6Mkذ|2 l"jѢ9/*z*AR5?-g_}Eb^rbﱱti Vb+&Cőպf|VVgOsF/=s^f5ecx Xd!rvw~׹`}S63oғ0>i=aKΊ;kyJ;%%msS Wc9I&5ɔc/ٱ11aI2Ahۥܐ RM*E)/]FĮx1iY;*׎)dz e_QWUu=7i"VpSk,k?jݶZP("lX-"o{)@CvEOѦilsdCr"?S ^ 0eQ9?=KOU&f lÀ#iD 0GKfk%`ʘee=(b;Xr1 7 z}-X˞{w2Qؠ|eNqI.XOmERqտga: A6wlOYV9?%w9/끩p~C䊞if{0dV-~YC\aw u]j,4ZyACzǁ9T+(ۀ+IUG;Y`3)w7kܑ|hˏShڠ@pԏd5#یKcVheH*ϐ!D%UZx($#IABؓc)7;*-bQN*WU[{HQO Z_=jI 6V}5gx-f7tDUS }\TfB,E8'bTB*T9b{6]1_$zZ"ܡQ;㏊!a$*y U|X4ujUe|zo>\y^3{ FUʍ()H7=RNeSnSlmJ9xm[q1þQ&e4Ҏ2t7 %lߋ9庙 s#N>Yӈ![)ux+m&$ֿib P(yMM W?`thSN\ht =+Iݵɻo|/睽H x%aMյ2\%*Rc#%ip|#)$门Ymf^Γ`8 YD x[I=w IWmLdWgk,ߦ AM%,VZT^vĶ!muotq8o;0M$ڡn9s g;nT;y L@2t#^3b2n7!k;#̿cj::RCLMZ0?5B%i͕?;SCh%VukL:U$Km3u=J%ײ <'h0[=J uO,S]_Bܧ>0"W8,i{xXaP[kum$SrjcQPNbu[M;.a] 0*Äߦ\-tDV&p&DN=c ȷ_#CUo*,όaz p•sj. I6FȜlIFB.(nUT5w06h\"DdhQlO͌Ye--a삂x.?#Qg B0ROG ΞY'ˠd珜KituT#Y{xD.Ka.}VY`}^Hi Q6יR&M򘹗%!ף`C/bo]0P&൥[(G?=<~ E_+'eO-e~e3|uW¶M XPJA]ŋ  |CCH.ˢƉi D"^(uǓeBk0Pd^QDT(5i;aZYKG֞W"S tQղ,3Ls9E|LZ+O&&^\LYW)\y[%k GJg@p7&̢<J4`9gpK}đv ;mF<4BxF=e>|Aټ|yss5r!X;FpaڡV aڂEK(ұ5nt@T7bo!y/3:81+xWjGTG@=k" OQVݒV=- h.b|~(jJ-λpr"0{`~ʥ/¥y+ 毷x0|IhhK}$OiE^P N%$CU>fIM<;1;մb; ؁0Mai='C3( cK~;[F)_AeYNK%RʯyBMu.>[=" g*<ӷ Vvi? k[{ᵄxDIs._:3Xu-f0XwX nʖ>`F!-OV>LdFՆa/s̞)/+UӘ*jzb^x2aDsк&R' $7V&~Fq>$NI0~4LaVJ`>Va #_ W>`F`K1ێWu#W`j u1M=GgXb]9+y0Da*|>}g@z5\ )@0|7[% 3e0G&bq7Pd{@ͨG9hM9] N4.stMS"2C2O+P PIf뒩pvʂb{Fs@g{,\VQh?2ڇwxa7p+_79MwbR+iEl︚13@ia}TN "/5ȯae*l`-iK79m0g|sva#  +m},1˛ NEB2p \"]'It73U yQSдBqW&]V~e'd^A!1J\5Z 1Nh#VJh Uݼ}YʤnF>\&c OI;90 uOm!順G|_͏VIJT*yxU떰`wuHN1WE0n08'[Kxnr-R3zjdVlyU*h(,#Tw%Q~a-bb 0x>r)7G%P3ĭkґPjU5̌"f\Vٺk϶2E^e~>vqR՗.. 81Q&Vsxr.~f0J\XT"K22U견T`qj$N[J Z N/T4V~;)_f2d^fV:y`\qwv6F4 VFH,ba쭱| -0CHRgDN Τ,e:aUM'a/[qMtB*=f'rA 5x!2ҧ*nˢA2 Why&j:U<¾ TXXT ]QZl^3g HB[ tG=*zuQ@C; ҏXω#~?<&\#,ӯ,6@ B¹IyRm|m`y *uro-hceƆ$iGuk6LH+{VКW3dӳkm㺀iE!4x=$&, 3;7~r;10@l(ӯ̙b6 icEI8_ 1,0-Pd"yta!qT(I}K[վ(4rPF%\ŽBr8euh2+cIeOܩڿ՟ҍk |qY&3f_d JP6DD֣0 Gۆi ʻ[-d k)~ 6B;ci.1VЁ Dz1YzgJ@ݽ+aT̺;K'YĠԠo|,b ^\,W\-ػ1i,݀O7+VռV ^0gJd0,b(wުa)3hҍ9˷NzK7 d,82؇?r6ssڡ^ÄYaTAtF&M$EԤN L5bafR862ai[LG?h% џ&sx0[N@?饎\LCU 9l)ENq+EmXd=@Ui/ZW>µ7W˪fqbf6/B4T׮!*TT=t`_[Rap} ]I&O/к,}]̽ ^+$|D I44isbjrOs0cD 0dM]x-.=IR(O,(XD&ە5f@QLb( 'Z;nI{*ȝAՋ3Y0lrvck fQ 2 HhW5R?>Ԩ(ᨐ%]kN< ;j CDsb0[a PASmX09>a* *6Y$0v39Bu$՛m;mf]mA[= i0O<8h[\ p`k~Ki[0 Y ZxMBx%\8Ǧ :<X<5mur7]9DŝZ1bX]l[K/0YJ&,rUQ۝6XF?5Zg`1vmIC=[GʫF f,]ln5/>dOā]2qE:jsGJ6rmnFv!v<5Pd1K (Nm} 늹, *bC]UL1 jsuO4rQ?aS OL%SQ3VwCnSy]X^/l I`{yrɡ6!ߠ Ep H;NI[; @aGOĆ)yf;:2yv<"s 0ȗ}d?dY͓;7!ӡ۴)ѳA'j&YxLTK9kR{t~'̸-N Q:a'!?&mE%V٘ASLm11kuIr>J1m ؼ1'nh-Y u$]NDEXi6;onvuݴ[JѹD HW϶|O "1͢,;GuNm ]NUfh[nM4.~BmGe.tڞ>tr)Q0vu;4\ec}`KQ?Xu8={ [U1'Hqöu>b.eIi Jt1w'5T!g3j'@"R# rFл/M>G5Pqwu06p`*2ݧe0c @ r`5y_&Ǜ."y^Դ4طE'Y*gXU!k Y+*.X4Q{b4<xdvx11sԱ%G PaMl̔EyϡKR?S{i% Kɔ/mazM0ZDΡ r :gǴX=QAf<`O9yK1YtL)ZO_ZAjU ϓ}]$%$5֗}L75 {q1a,q=6(lTC{MG gm∋Կ`_R:xMe m>8+X:@>Nw^#,5/gGYɽJT :GܳdtMD8H Siu9Ԣ> "vV4/3G>o#dJxs.ߌz6483,"Q -8R>z}\Je-eu헊YBf'[=|#Ң:Dj/`4`Py«7md/O,.5;:UBe VenPq5yRQғNqqafxYfYܳVZ_ '9DߪLI-v'lm;jxYIrML5UpUKlQ{ǥqA4Gm!ҧb P@Ǒ$ڏN3lyE|J\w3LWX9OGЄ:,:2]fO%{vڝbpdmA˹,䭢΍YvGi h5Yk6vH7#̖D0.K#j15ˈt5_eˡf1k&>eՖ@WlZ߽~(ѣ>;;8V;VU⎪21wNLV~MrڐیoZ1 bDmr],RI ,T+A-6&1ێ;];VޕU$4'uݽ`To\.Ay71r/?p[J{u.Cn96b otߛw%G3a$@tQ 22_JO_R!ՠzp3O>*s 7G.#@ol/& !o)+g)Љ 8S>X816l{ui(I#/5z0btF3zCŔYtWt5͹kF ulsk{♬7yKf)i5v7 S0<0{_cXz M[+zcEU.8z|݃t/d˗6C=U\w@YNBd6 L1c݈/ƏP!TjEPWS]QEWoQ5>%7"3T%.gzbtv>͑+q{VyWj7 >%6Rs9`l(<&&(.<z=XLX7`sMv4-(b ,M?3` x-vͻw Ұ @@P ݸ ئiH߶%K^c#6XTj9r>aﺽOMF#NW5A`up$&ﺽ_0q;ުteԑcok9*Mq BR}J" ?DO/6<>sPbs? +Jf踙T@rjx PDǗRAZJ͕h}v'OԂ/V`fMA0}v+?5?1^! Kډm)[#4%V+5V]L)i2nιjt{JXԥ|+O h74&MB+D ǻlȞTɚ>y|>/p1߾ AQ'n^O_R k3}DU,wqVGiVM+o [t£"̶Bu-%7?s(NXFd0;s p*_gjᱮz&iE" "PֶXλ'%u%FAg"۵#w$)B3r9-n>Vtwz#ՌП4(#qsGN\.` 2vL$4?~dwAq^Egy/,xroS|ҵ5UȴL%:srEVdfJ.nB:T@){}֭OU̳n#L6@LzszPr"$D%418j*0;>0Qhkژ_"v.?'/F-b^S80PTW xO1oVRDy1m\ 5c9 a)rU&LxNS~P>q/xaɜ`_؞O–Dj8H}\9#~}U+G~y74j0> #[8D:}le26P/*Pr5/\(eҚ0onZsȚb{r μZI^$μ izz]wnE47p$ˁW+9ŹzϰJڪ!b_?$`4m@L!*@1(m{U?F>P!bСV~yNf9h'?i5 :ݪup{)2KIjd 3B'o{ h`^y~(1#HtxeM=%ルv5t6E`j*Ѳ\u#e/]nzdk}yil&mpR<[LIfvj8/6C{L!6 łOS\1 S`+hFCw2~]yTG( 2&g~^!jbY>&  n;Egw/4څ2t'\ /PRal=E-/!w4צqQx2E~3<.HXui=ΚDb^.ސ1b-<-#?!'{PJ!BɄ㮖8j %x 43("G5S쑤 2A;?Y;"^ơ#EmDeOT0A\Mou2'pr3ԛ^5gpOP)35^VgztKtr!nrYkUM2˒(E ,4.20_j]YNqy#@isœ04ӓ5iY܏8LN7lVaU0ϲ*=qMC1OIb=_NYkd! F} 8¾5H(t>UX2W˝q5#E+Qw ҡt`9.V,=RLJQsDЍh#<g+e-?6d=ztwy M~\ZnjXiE5_mZRdG`[aO*)V#Gxֈm\- .W2YEPy~2F&ys8UW=,ms&tZ scoꏧmdBtrNPg뫍DBgd|< '1JCS#WZqG_2) =-z! Յ(FfˮZ`kx89ap#3tdC/u3_TW}W=#9 d.^G_} DmBmSyjfiy(]O(bTx[Hfw6!9f}j"+7;6XSi .hG:ftwTv5 jҝxnL5 G'X忏ld\Q<53il&'3BH@.`MWAqP8*/4TAdLǍ':qXqۻOn^}WcT5IJo/ЙBd$s.شf{5z\@ Z$H%uZ5y( Y)e٢dTo.xB~ѦDʧ#eq ܧ|XȖFAI,ӝ_y0zC+,# IQ5'h)jr5: qh9O(!R(E(FIRD6]m,!bD5clP5b2 :AZ8}ǜ~JNrؤoiso"нݷh|񶋥vi5M&> M-A>ݥ(<3_-*xWHqx,|]@ڈS2)"Y) 1̅0I  "3:XY6><efeA);E&a[]+u\ vIxq o 5s^K,_%v108Zu d2Zp:}Ò\)V[z\NAC:S!5ߕH PSdȇP͉Navdek) [Hȵ IVB@p%s/2tobK=ݩ\yFS)>p"*RR'J4~Io\ʖo? {@?-`="`,]g%{NΕ>ҮsE(}@pZ ) ='cŕYLʲ 7:$7#zyJt1*0L(ݳJ<>ϩw,񔰺u߿ #Ny8 gxڊM9IzƪBiwmV k5gWHUڅt9#A<&5IYFj4AfSЄܤl;$gC+razJ ELMˏ5n7N%Zs5aKRfV>yHj=U]AkH\$Iro *oTFuB#,_\:9hȐmg Le;Hwj]c>} nm8s]i532iq&f]~CCuXf7iDgƫ@lXv,B32 MI׺-'s$u:(M5Hp_+$RmD#dQ\}ֈ*0<ә`;\aD'%u~H~KnՍ=D[lF(;a[tQ:r]<#6/((4q7(VG5Bd4m"0ˤW>`yĢQfϭ]Տ51܊9 QVF<F?tZ0B~~{ >Ƈ/Cӕg@:0ZOUh„/SЧZ0@Љyz:2I#JU] } THETb&3wqǮiUi[=:\߃F?O2ވP>5ۃ*秛pXTH0bA-WnT̒`>j f70r2>}UQ}|!,A\U 2`H0?ٙ'G+ۭˆ$kGj0 ft$ʄ65BpT4HR_yZՏ8E$a= t|j6 LBbD`1eZVUJ`>{V_/b@N ز\ڿGzWgwoB|1%}ŤAygKDuM0Q2_}|M\L4!>_ܗ;0mUpHV@2ݵ%A}<'\~pSjA=30}{6Q&i$$"NMWP|lՠ hކXy7  ?Z(VYK"ȣE2Scf!5ѻq@=_l2xcJfj5of P)/:@hSAyAsi++FޟɍM7nWǚd ]gg6Α.^XR IMҏ5*0ł _4Ë k%},ʗ z`E 13iI,P9ʰR ,q`A9WAmP]뗾_Hw]%#hQ֩]Rwzaʨ7x"V`tMsOL{:e%mԇ+/jw2l;vV fVMAHZ>@'.{XO#eC ;j؏g0^;.?icr\Fy$ODnZ1CX8?[JsC\.(LnR~|>X n>K[% 3ZF.R.T8ڋA scA5 Jݟbl~C喢G/=J{ԶkR;Y+dR Hzyy $쓯$0.\::6݀-"&Uru>q/)C5M4xT49+sTt. ֨& \ /6"*ŕcIL8VdR̰F޺z(/6_Te5oPwp, n|JLSgRFc9ww xV י$<lXTM" +j`߮8}:iT`\X)mFR Eou `+l SH7F(~y~~z_7P( Y=/r0$ObvE:B&~T,`^ +-\0U۷Xi#4Lk+IrяX µg bWC8΀(Ѯ$c?'~诊W<#mu.gRqz8:|+ Mck5<֋xo*] ]+uzq(kY׿2IiѰ(R ̠Mzf6~;ї2LA ¼0~`J;{Iem#5KSpߵ17y+mT8?ܜ-t']ޚPc 'JӇՉ!a~+qg)V>$"˿R߆mctL>-B.ԬEN7/M*IVPҚ ƕnUOo-΅Q năx@= *穇 &}a"QG[JO@9p{Xq`VJTqQ n$dl' ryG8ktE;s548G^w5yDPLP,E~!c,tq%@6LXۏASQ@s*Q ݬL⤻ۘ+-Oo)Ӵ:y? % iPĝb*C&Piaj¢<Ʋ#sWv L=kÏQ-F뜝yeW2\utȴorjl΅DfCQ<1BπB1T,^RCH(_ | H #3 2BiqWDjsDkDr)"v|Rf@眘1Hw$ɧAzj xp}ٰ,e2^=x &gu*N=u~u4ojX*>\Lۮ úDJccu@SfY_oP48M)^goMO:'>M0y3+{ !3RH ROR=`fp[[I"o>T~- ~Ҝdyk{"W~:r;[efT2JH>X˜>6.V$ojU-9^5a!s8rq, Xr9-ayH`> */E LsV}6I Ut YJO12+}[D,>0gk.==HhZ_'>4tHaOVɴڟug*ӲrMf'DWX&#Ӿ¥0|NrhoFqa$'"_.8 LO}>]➤`[ST:Y1NJQ"Wրr̴?lt] U Ag*}C zS] ǷbG/绿 a~}>>FA ł;=?џAa-Dn*/KPH E{|*n ꮓsӚ+J55;ЀU-v%\dAEhR KBPMg#K"-OְC/y`dk+yZ'idNt UpǑw;5˵K@/3:?r[a!}}WsRͫ"vʩgۉcU )?kt==d*Fy7M@>[ޙ*F/Cчg`z+p?O*,d`W8gֱssp+<\?X5d  [֧";C[hV3c;H<)"^mA3K TNܭe:jLxv8ו`T$Dv=앒t97UC曺`IÉ4ђfT9yX?U1 JgF W9] *ĞfVunߣ"Xs x=p!fdZ R"Y36D7tJA& !Rjy%T=5X>S_|2dd)iU"`x6qFq2AA*KhggH.i[bܺm"!mAhaxꯧ||Dd r1;FԦsݺܜڳq5ǒ@ fK"$Hx$H(vqS%G.]u=YzQ4ml3bˈ5;uk]${eIlEwœ@(TSV ]?j,\v5\ Rnȃ8IX?=*$$7K@9Qe)0lܺwR|w:DSE}Ո]`ogȂso:UjtV~O/!>6 M5_"X&Y&r0iUW4ݠNz#U:}R%mtHh~9Ql5U1IC*t  PۂhNd'K '.U[XPk ŠMZ@a @K 4=?"ۡDUܶ TknzTp.O=4}bq#2@N.O|)Dz,K(Ip82Ե< cK@ȵbc#y7ye\qUڄ[U@`Tv$._s^!f%|Bt@ ++՜zdN>",6B&3 ֧*S!* wZ9"O8]" H_܆$g2kьHDw(L~YB|9#5$1bp?'ㆂ#m SrAKQPaka);dJLkZ(tF:`_*>dKXҡMX"fAO_UH=K}*8Ha.|F(_ a }GjŶ{j;QIѯf@?WD{vC酵nzޝw(elW8]|ѱ{ Si/L)^sMXPސgw r7k:W+yDX&0'Q4 F7j>KRʯ1Cn;ױtō3=/zݸ'Z;ί^4kP,tptL\{(^Z(~o8BM2AmE/DD2҄)U'00;B{3HTSnDZ1Ei3!E{V4P| $b0[O(Reh6D7c1[cpDغJ93܄%^W7*REFO^*8eEfXnnPԞa,Y[2kcSQAtfdEM_4TѢg]CvNcP.e]Vrd_XAXcFR6s}JjۓG{7[gFUW7IQ>UI74`Qe :s6  GF%8Y0灼*w!,h@ IHN+2CITq@@.s$53# :j< ЛНyEo`bsDy!L*f(2#{+Ҍ6NRW$;J_HdQ?׺+țltU~,G%x w/{'_s;︩ BW2p40{ `hcV$%4=L!tX][L}8&2d행[+#=s6j#\6?t|$c]Dp5&F*w.+KЦDKBDf#xQ\#(=;?|}s ڍOMj`؃9܃k^my:|G~^{cPw.q}L3%8vg0a7>f-!R=UNxsni A,yiT.($ޖ4= eYнac0W2tja%kS~;"'Ag3zz1=CT0u1飏CV{TMl?~N,/y|WE ,=u!gBdꨲ!8o׶ > zՍUX2kJI y'9 W&>Lx c$lb}rXSQeI*Vkh'\/HN.g8f'#w` cQMW4kk۹/mdHXX wjLCo;0(}լDI]ft )O;K#FžtxOmRϒL@_z@^H37 A]Yp*°1*,>c|eGQW '*a9g0 SJlDXoϯ| -A;Foȓu=x!NQPLۏеg_!6ڰ-ZscӸ@Q|V{ݫ4T3Md,v"Yߝunc~f?bXLL/ҼLR2!Aԟ*8WO;HDuI˝v{t꧵&69W`7C? GnDr߇Kj›GOw- (SýIedz[A.zjY8;pUC[5 huك~lEEgNe9&%qUoxB#F]a/TQ#ht %3W_錑P$hxH[dPs$gq_i%y.6J zҀVg#ī]!\<ȢӉejz4)Q)onxwo"_F!km-#dcnPׇ6wGؚp=f)A17*C'fx-QnoTC,6WcޒϿhߢV߰9VbILcԩXm^H./}Iyi~4lsP=RP_;#bd V1gV(U QTWa,K2io2*2$gW(ڐZ$}S!#3U׭>&h(9'TC ^D%SLhFI&}k$fq1c.N/Hh,v;~'tHl0 ;O[n:[V΅QMธƢ֟U ̷z8jx|G74x>OW!E rZ?8=bA$%LpߗT @a把AL}ϫmIVͭm#`IC84⛛fMϗGs[ mK6"kh ~ Rw?m8=4BB<1HRcj4h)}^r\?(2;xNS-?-'Wτë"3Je𛆄SDqNέ?}Q~~\[<Σ†&;.4)Z3XQPP\nc'5#́6GN<ءH^XLeuI7 ["J9҃RQ%cFgO|c} U]EEEWK(!{Ԫlmmrz˰卻V#L!!?wcV5 oֳ{hg|F[n._W/4(E:R.'1 +XQF̕B,jk6JO } 面S`4S$ <]0'H,X0붽zY6ʇV{KV7-+{%ٖO$R~gp!a_*K{Hv07&k/aEͪy^hG.d2vwsSo5pG( ?XRm늇*a*S &RwLڿka*y^׮n8k@GE3p i!mʵKUv9d=6b"Mie1ŗDsDΙ{Hu4syYYif?1%.`MĴ}e`gy:n!;sYA?K&`uJ!!tv e" :4mܑ H:_vj@Vn.wӭjlN —}ڨ~'~V2Eeގ9~&tjҪɈCqC3™"lMj^,/KS?/LOO'Gi{,bڽ0"L =#`O -G$ot*'A='oDA$>6ug2| SAӍX(QVDky3!p?~eG&X:~І]1 V]!}=TIRhJ6,z-#'j9d< h-q?aӱeŎG CdIJOIc6"oy@%3I.ŵ9gOM>'9< %2IѢ .#bT,pƜWi 87!J-OVC]x%8p\1~d醁(Y$> Zdx}3呈sh@4t;sIdo-p]{8[IWڼrx ~&x0P*)/ U>*Y}c7Qȉf2E#+=L\Jv W?k{NWve?>IftX'$a/Ԣ9HW,K̹8F?+<`+E߅b4ygJZ]AtbK:i A2AaC"T/V>} s3(#8 ,{] Lwb(atreOhR~{X\{2υiT9VQ^))J4ngõgP4q颒pbCk%Mv,ΥrTrepT5d)th:HDgFSv"g|ۖZi4x/t\9 MxaPk:/h>FS EuB|n4ޯY-5TFmQ|2\Q[ƃGOId鯀?bw$OFˎ3V71zDB7#-ɿL9âǼ}MB G]n3PՍG{Lt9}%+&ؖA)^%|Rݤ{WAqAeBKzRWY.L>9-@4SK/ h,P/}T#[Dv o.^ӘT#Ơu%z{\?omH(Uh' hBt}6s6m&(6 ^n>sfiRWh_Pj F yErsS;B0DV=2bvҝ]șAa:}+Q=9 ~}ol.0V%a']ыSYǙ\+ #\g}]P ?4Ҩ57ikB"#S ,{ūa&7 4i b`J(Dv7E3D5דS5ϊO;yq8~` (M=UҌ*\j6AmYcjea.Q@P=b?2L6zt* qkZF5[td~e|Mɤ#'OxF_5͕&j"X by%!P҇(! [V}KXcm^z6Db7 fL;4Nd"ȓbED`hx\A3 'aa}7]yKbۏ-c- T.ߤr&$6;)\'t*n鹑!c4/A~dLCrzU&XC.2@INv4DUvL$M+E<Ҁ]=p'Q2{ {jB?˗&+k国Ѫg.(9En%(.C-a1vAAuvbދm 2k32*I77fs(?D^Ȏ7ίFd߆$NVt[ 6[Ru\6!úJUTkOU̳xi>);npu#9N'8z %tKRe[Ckn ,(EՁؿ?&XG_ޗ FC}$lalcx6rrDWX+]GgDa(;Qo*C7kԣnm#͟=Y֪R89k >eZ*(b( c5]b>R=;Şҽpr 0uaDw =;(<>$xw.2";^AcX2d C6 ֨ua]@:6[P o;gJyiӣ]XQ4 `?"=a"CqL +xЧ x>"JA-nT Im O@Bx["5\q06SNx%%Td'a*9Wp]Y}H)atnlNo'ctr~_5ZddkIy2= L_׋)WWԒoτ"hKN=/pkk!ۏR SXvJ-nK"S&%EJyV`"Ff0…& @Ar9vxAS1GU$01 Mh}v.(8EnuFK! g/DI cC4;Tj6.Q$ VV/nZ'zQ"~,Wh=i&鸄b\ky"AE͜`Z\*j+fmZr*RxI^A>{vRj:vno Ө1j$c-A_o}8AS,|fUaE'yq` e(uØ;2r(#r6<(gwӃ|Fh6^T~di>r'Vhdy,+*6 Giwcnub2N otG(K 9XfaaYTMU d#LЎ lDC=,_o`ZЊlE^$ե XH 'EƜVs  {&zj;_g4cD AD)_Wiqg{/6^~@y.եgU=Q5V4HIG^hO*&b{@ O$+%fov>bRs) zsJK8uL! 7@*n9v&ڊp5 c2pH\j ǮswjNM;R萰)kQ JHF6$7ѯ] z޼e\Ь\LQ.<'Xsymwo%}>|86E҈cQFH翕[pX`eX8aМ<4$bxLvb _LcCWd4aհnmGt(AeN ^}c}OE~*E3'@`e_VtF\gG¤ [(9zlUm:UKMMjS/H}Kӎ09ҽ7 [!"+,@"-(m0q8Ew}Xt t pm krL륫c-N3Y[u{f+W˲nI>5Nlb۟Sceؓ9oϚuT;R.M:R<&Uɾ-PC 4{k(Nh TFT77Ë:xԭS8o,vDeIxݨUH`!n UgΆ;P\/Ioʚ,DyZ# 5-WL[kmkw|57 Le #:ƈ ]y! 4.O3: iB{ WaS~P^$;XOSK68ԝGh"J y ^gga!/ɋ>Ǜx卩 3ծ&%UyڳSS}ϴ'j`w]ξ ?4.̩$'Rsq aJ^! VfNEC+:|`XDYn)a~:VF!鱛ڿZ4}wlqgEz+m䘸6G5"qMai p~C̻-\*é`YP'R$|Suʲku_&I?jiV@lԳ~ޥGKhߵmB+7v} ge.sbZeEm M_p[r8 i{ʫ74:P?>8W+F5 f3*-y yׅtYKIWqϪ͋H<ŊpB-C(?<ՔiC=6 l7;;>Ehث: oF\>-( 'GIO L!^NBΟ;hedgζO6UMƊ i3&v7CU,ˬ]ų-; QLIoOG[> ?YAТs'3Kt5A1BNFMCxࠎiK-MAw}:SA@^G(no$Hкl0F57G!2̅6ͯsA<oJSm۹?!C%4yC*`VPMx{@heXL!3n 8=tz8"|t''JA`j0y3M7~ O._cb+[C껉rP+${VB ?<6~Q%?labc5_G . *_FP^hטs+1 pK~K7ˮMl#ǻJF4쀋 &W y؆n5壘|@NgׯLU/`i V|o.߅z2I<-\K<4q̠BI8';JB޿,X>\>=f^.j6L}yѼbUR,a0I{+F!ZJ{#C7sI%KeWK4F#罔v^? m8LWLpݷ .Kf%mzĮ"G;%R~5SW~k puTaD\  μw7(?.KIs׬}[: K?u&w^uqĵt; kfHZBpRyOXe4zǾ[čbM\GƤdonV=^/:WFx+6CmD&q9|06cu ɦ*j(H O5ݠ8< ,DENlY.92^pߋkn#ε!.A?'eT powkB(A=(9Z^Xx\kl͘ZGV+z%sy,_Tߏfgmq6I4 ] ;\Y ]6t0Nk- :A xB](vV\ԍ\ qR1>t@)av RAmLz{Yl!Y;4Eͻ+D)}@<ΥM?3҈1 :lf$͸P*ggI( $ʪO nG1NDj|导O(*fhlݹOT+%vK8/qhx ӃϚ;ĀNHpmqQ5gڝe4^g73VVi6'!lֱCS$}UΟiIEP:9vh<|:5_Cvrr]٣ZLhe CgqeN!yA8y OVLHgdɅ*>:C<2_1 z<8~q zdH@Dc.tQxܥh݅,*ܨ*S3_;->묳ޥ#yU،F:Q7?y.CKyA[ }hUDbv E#13J?Ϫm iOHi'?b # 7g@cC,RR bgftPcVP v zu_XDyO?,E sԁ{l&lIIE <4`a4czlSj2,}ckBiqѨJ JzӇ,pi({Gob;1,gBz.04P79B{G}-í+iCDȌ:J:[gvd -Q=qsKE< ՂJKE49# wٛd#  $ggȬw8bC/瞄RU5R"*V+J[} s` y2D9}Nb-ȸԳ:iuS[6l1JkB"-#S;G@ xo}\AOPi$J4UQT -KD.i_j" }fú}Oƌ3HUw8mh Wxbq-MThGTtrZ{Wx=)RX.6tHTy=lq}F )7INӪ`H ?4T&*iFrɛq_gJ8C+?(q;e_|;ھy"+HX\7פy܆Ў 4@8f=Ȁ xݞ8Q2|c/NԬX2c ~ƜNĆ k, )5;vs+' 3&ʣ6A^uTnԥG@N^ M[Gyܢ/$ \U乇1*^ J}mD U@hyU.`S_N留^ΎѼ?/=ҶS'JL_vOsczʁõojz*9Ũfd'y)JՔgQ%̠;(wHݥP!|SxEg^5?SuixYžDnZhNJ)deASN/w;Z!gP刂> liU6tHV+ݛmڍ9gc(\a#9c(AuxAQqyMes$B:tu? 9 &@ԭL4Y|;D2pd\PhB(vl,(V`Et= !J_=-%vUmɁn3k@JƆ\{y$vQ{' 0NSwU㮥" qr\<~IKIh3?4)[^کꔝ^ u dl[CЁh{;70zJ0~f@h"P% N,:sC p(tw #~XA@wWVG (͟J \ oGL~N.PN69ZtӺo5󝙧AvwϊZʡ\?ha)OP91,>2!k痧L_X_ۣ bl(y0~nuq(CSohٚ]ݜ NHK'>T }~&*a>9u |ӓ8,o ]Mm e !56ND";J 'Wbª7YBɷS< _]9re& wKADo. Fxѳ,5c`JC+薠u ,1(,F VpD'P"\AOlD\M 'Gp&Zh_Qc%F&Hw(Rn˅+5IO͝JJ5v&AwA娯yWL(&y䳷3wIl'J΄j̓Ȑa@ L.\"''"EJ$>.5@ Y"z5iGE:v R}kTXTUҪ?K4+ZnRS+LHI8ӔKW6kYߧH8ATa4.r//TTH}a7eKݏ|u3b1c]+b3Eߡ3SkQl!5?Fh$-RFo`aʧpT1$}2nS!JD jFCNR* O,ObA ᎊB将k Olsݧa$Y#r y $N\6Uˮ:iy]G9to&*tm#* '5}J~*dW!.,:K}`EĶ|8'ױlJgeh! jobHxzr\=EH̖BYN ֵZ?)_?c\g]K@H%Mfz^VT ϋҮV,*d.%;?S-SVAFzl͛[FI44W l=.(bE|.X Ah45lTegCnFIdچʬ\ht<$5҈.f^``blFW0+hf7Ir]0"VzKZNn^(X 5 /(?xR'IN0d(At0/#2)<#ADҨx?S"+E*C,gIHG!mexq s ;aeP1\Zrk4YsIO! 6 Eh綜/ IO7+? ,!8AްJ9CVJ8uRaVD+ tN P/;FaE<&Ɛyz^q0N'}nz;N4ҭ 햨esگLÒF\czZjܻyq,A3`Δ@̃ @ΈE5ZZD9QiH88WJO,?H˫ͧW4ZxF ^VePkۛ K(B=|w ^_=[ j/ny7i;RƷGWǗ8FM>ȟZ;nyOfyy&?%\ jXHyIzͿ et (B(xv7a//+&[fO!EB) .ooؚt\UQ먉7#{lʞ^hK 45T+8N^JËyЮk/}Eu>Y~4DЌ9K<_k~*^$GQ%(topxVf n|iq.w 7ێQDu{1@#Vt\ `("/I.;8}g& %E6,*LJ&𦈖OIpi}͚ʱ Kv+)]ӛ,͉W ̓gXn+.SfW@Fx.@_j Z0#Fz.g l4l U?Z;`"p@dt-8aXKME ] j/VBD7I@Ǚ \Dđ|rqT~ PS#RڦIq?A9![e6V(1Δb.lLςm޸_`h6I҈ ^M'8&a:-Zބg_!*jJ!hX`Qǥo .~ lTY" SBIFj{);6%y+FŗbN`^ȝ;H2=j[s"S"oW=irS[ɘBf䛩8Tx+ @ VHp.ܲJr]z9%Y t 6 53ıH-Os ]iAQi: ߟ Q#,(==j3Ѿ&K  fPi`aq~(NR*$802e0/x)Bju@؃sQ2kP UhifQD(8_yGn`a8<<+ T~]BPy[@J(_$O\07OB5.áL#L/ַ]!>TSrw?l QifRWj>p:$9eΊefg^vZmEH8ugcT$#x1l$H+g7?ױ>jo(JZ.I5,W*4@ܥPcyπ8Z^yj(Q2[-41oD_;F 䓘7 Z2e-70"r7sPVD47GDg%Zȴ]KUuo/ 5e[9#PY ΣrFUHU|2^Ъhk3(pk֋=&:Zt4Pv?z͉PcVZ;keâ`(}AoMt 4G[]!X%s ᾼOB)q8ܤ?3ql\1>V d4 ^B#klQGG0| Şw   Xӽ7A/l2Z%WcOgN׭=rTWi(nvvpb[zz"`VdҟMI{vNeĦPCΚVWR-I Bܷ !~*w[r"DS=M{1'2! B[&nc<^[MR宔ԕP槂J8q`%BWtQdU{@䞠=WC%dje+kܐY.&28S:hȕ Nw,pUp pel}r*X`7Re-T@Y, :>b^d]~)IrUX1_"HYۭrpuJK0nƼZY^#dRd?T;!aub.kJ{VK0 g}x]Utzv:4TJ iݹ;"vQXI>&,BCC1pYPOU"6tcѲ2LYm=PF r#(%]֊L>UQOk%G |Ji՟d  ?"pH?ZާI~_c[TVBjrgX`|#JN峠+&y}JH(y5ϼМW-8k3F>)iv`4aNxw4NH=Fb-j,nہTTv5['G;I7xx`bE {߃"l>KQD9)(}A)& [Ϛ/! ǀN:``KRY]cDZ#EVVdO4y~r܋FcǺ? 3hė[!]&η8Ý9q7_8ҵaysrB71ս(u⌁rq*Z`Z9Fs`8`aTQTa4կ}s737/vI.օRVȚ[ >gFO1Pmԟƛ9lt;wꬃgU3' %ÑAr,:m.2Kei0x[PeV~TjZ֊e K+i~@#UN^mePJ{8 zXE+e껝b;?!")tFͨANK-k^zM.4/wdft*l9{Kuav*9џNAꍩ=:U'J+S`194\mX)yZb>g'T2@h#%B(wƺQD-ڢ>o>i>n)g\2petοJ]ҖKsA 42Ĝ_c*;ðcJN-Oh:dONQAwZtρ!}AU:B#ojiݔhq_e/6r`NR~:2m}>o% ҈U@QD`1Vbzߣ qDFrG!fv\D}Y9&e\5tcN;v[5rcK!wR&٭ t2'CFwm9ggBӍOm:iZ)jFYwYf8}Ę~`+Nz+`XȮ.`1F=*>̱2r VǫW'|A?…C2 KEO;1o?ZɎe/a v:-PN~tz`^o c(M;tƝPҏa~][!#HYط'ǃva%^ xN-Ó<ȓR`%A $ l ͯ)P4~劐-.SGB@6GR&L_UZBT|̈́W2Jɂg+?* io-f8ڂéJ'M//dt:d? o ]&e2_rߟ!cW:{qi4cr#ǣ|-figF5!2[uQ)J H?l*|l1Bkfh6wf, ۼ*s&4\.fH>aO9>G[k&A׵= kAK+쨯- +8 m\ftςB _;c4XE ja9PK3O}($LvA-EGJԅ?]aǛ?UczBG&텘lبMC$mgC]QP=t:OhS5xS>=/܃~KY"UAcc4dT]> ̋dW@nc(:- ?FN3T*%&/ rqgHˤKZhʭ Jފ!۬9' K/+Nw!,Wx>?MTc&e.]nXtpƳcmBm]EǏu~K`j Y_3+ /7 +ZBdL|JEUdžGm,1 ?MA%h4s,VP=}m'&nx1`eMF:>O7 26~¨sp+K+2Hؔȶc+ͻ:C$i:㫜o*lh{͏3n PNBH ꂯ2aqH' pB.%1c)!H^[UIw,}N!JǺb1St.Ԭ8aA2|s$"f696nGr[Jw5 /X~ µ!$MD ~ lDm~!Pz͜9cxHmm/z,ȕvZ&os%b!6fP{7s,6&yByaO:AҏW{f3v %B>csWz|cCM1@]g*0ΖDqv}>Hp 00pb`S%)%Hx~ 9mA4F AQkNNڏ6ʞUp7Uڽ2~r|y]-0fB¢ȳWm&/m֪Ű~T'pdL]U;؋rRG7pٌCŠ}v͎5DA֒/OS)>$uZR0s kQ_#u:˫+*h9M sGĎL=޸[ i][&:gPIL2l 7 N} jJ,J lG (م9u =T;`F57 7ZG<t9E?2ۧ-t!X#r5uUS`x7RAmKgKn 8jpu^3vDoBV)iDko,2|f;8RgS8|ϲ5$v( /6ptb> ݔA:Ac\u2ڎՂct-&j>sy_h5k;6h&ڦÛ0ݑ)v?``4/,H @(u ѐ.lA3MW%!K%.{ʶnKF Gj VUx̬ydj]6OYCv7.SҲmMgQ@m_aO޾ lIVvoքS8z-F@oll@~њK|gS#%zvn &п64`9tld$gf#/ČxK[keP8VЈʽf$iϽW}/1 5:.}<[D.4ZWb(e٫7^̝ǘaI꾯7ipH)~F?j1Fvҋ&%x,ab|h >Q``ڲpƶDB3 NK k3hRQ鼡O?L9x)%{ +&6h݀6+4˓AGy_,[: oc?zmLic흣eIrokwo -$YUb龌^M#Ҽiy! u`t\D0w]j!ù y.7[6B~+Ut&cL$O(dADI*'.TÅƙ`fQI7B% @py3uR$k%VFh[~E[*f-̢xXϘW2*5,@2Pnrp|"N/ڔ$|t96?7_؇if= |9i=q(oC)$]Xo`vP\Fm6eJHYe >JŔ$n-+d)wf0# _2ˀۻbq/evafBn_}^7먉z{=Ka!A(,cǔm.]9ijw=(}vO}ߪ Ad⻚[l̝`K[aaᦵ]18ڤ)OvBX:ף=F)T͐ I]O]=Ҏjj mysU9`fP\?@:TYbXo-8g&za\᳾JsUf Dieky*lnEF=[G,ww;t} #ȧۼQOL@$'iQܫI{o,d<T]$I4614}T3MeR̂nkըYIUɩWT/K_T(\U 'HoFagx٘mq!|,:Űa޹p PXU 8FV"HOnڑ.YfUmNɤ kn85פTc_/zJ).#T&{ [Xcxhs3 XUtWt+/*|ZH%n+EU < D2I=z_stK4dΔ!| n[*IĐ2# \AKw$}vsf%Q_k }EDͲҾ b4}E?1;0LehQ>Qd|zDӵ}辬wM ̤:gѫ#GBGڐ]cKjEQ)*ˤݱ $LQȀ\LB/5ؤ0\sǦּF:+ntH\4m=ݐcn -0b] *\,wCB"0a nMI&eO=?5 VxԚ"?+hT=slwm,E55i(]BW)_#Qн_Ϊh/N "0mUtvU&_%؀:$잣ˈYtv {/3=f56zJ&s-ћbWO4Ȑkڪ1d /zݼAH|af%9Cc}\&ECP_F  u^{wSbY*Z\f{ FGB}bƨ8R}dzpfde@摋9GUOL}cccN|żWTV;Ytn]z^f\GϷ:zlXf'1ޥ {`F< ۰JED] i_F@ZcZ%\#jO?S%Y1066 ]@ F0!JZ} Fb!+10(J1߅0)L9%tǓ{mT}bDf5D P2}/=ީ7G%%@:c%BX'lLI⣁-wk$œ΀>9RG1 O +cXdFP|:j>l`?QbZ%5,4[si,r8K]Goe 13͚nLԩ_}zH m \6ӦztM\0ܸ .QQ%Bj%7${mU87 HTb6I뱡V Z$At|{~|#/C}- [ߧ#%'er?8[ߥcԀPZF~NF!|mu_G)k +LV'{vtLWvU۝^Äɾ*tfِPƿqcZ?vmD-|C;7OtmO9aWK9iݻ؂FxLjLpBcF|dM{i`-[\w!^ -rUzZ䓌h&1@=$0/c{;9ДF| F8)w1Pܯv Gm(`Ch{,)#;X8 DA8/疝ܥbM Dž$%JU1v,NL}PGY ԍlg 8?8Y&&y Z+s'Y0v}ueLH9eSyQ7EiGs ' I@:0vCPM\OAZ2Zmg&Fo!En8eL!1\Qn[eDbC\=1DՊ/SXlT.J,Z2洿/Z|~D[vx̯13>,C%qQ_LxjL5G3}DI͒kh%__WfoGEBm+3 Wmam\ǀR/wB3U!GI%Yqu`08Q>d;aΟXYb8WЕLVb̼8648RGFHՐc9] PV^$릔m[4PkȿJ<7 Fi+8(x7&9.L@^ɼ*,`XF6 he)bD{6l@*-8AգP7p(:ϑwI'Ԍ/5[D}pke. E[Z5Q6@Hn`#sQAiQM"l9=WTYi\| /)a0q u s~5ZyFi3 g[I.$2XRn+Z*|\ՃM*烚I0*H"OQE'XpQ6#tA( t练 n٭bid-Vm~R )F|:V$B0l&mi$g㐍 U܈P);x*ޅŰ{tS>h[2.bBB9͔Q-toa+KV(.B;گD2u %vda=G "Ug)z@NXÐ-˖{? >l%E]t$ɷ%c!2H<'l]s{lj Hq9·}z26A\.YJ+l-1BYRiquRKg.j\ld)v:NޝA\(߃ț1f%W󎘇л,&,?/Wg,=7HʳJqJL=M3buT5$9ZY>TC {Anz&=+\?qr8-^ĹK΋t/y -*Ca,[hrY%Թt"oHa[o|/a G aL~br@Qy*@SXۇnzj .=fm>QKYY Xi=!h V1 l. ݤKg(c= /E91]klK B23(jC]4M ;>(NB<0iBɝvaG lsS}PT(A @]4R<Qc 6KTc<ߩ]/-i=jEG>a=X@b,<6Dҫ V9Ďz674C K5y(.h[AsaYpצp%vNR<+,Zf$av  K W*j`$5D'qoQ WKp[:.律±ap'k7dy4z󪷜4Ԙ{yӱsv^!6<Rxŵ󸼝|shG{o0|Q {k;IV`Z 7%dxb`#)`dnTMx4g2/O)e+7"G|.HN֦7QLȃpE?aI>ym ,=|Fw@ y'˘^/3!vbf1|]$z@umvs]YOƗ7|-LTbb7Ҧh{w*5EȓXL!u&kN8B ? = \Gc[bƅR98:~&~^ 5@[n9yH'!#\ex -53a \ɍ)٣Fl+hb-3ʢQTJ8KC*C.Fb//7ۇz`O2xoXbe- SJ[6"NcVM}ŠQP%)I~ʅYty@Ct=g? gx἖Hza]lxxݨj(wAH|V:k()cB=I=%ti歚: 3P}Amߚ];]YdTDAUN+Tv2Q_$ԆT5Brz՚) i}]5ʂ `~p~ꊮ,550%)'X=o"q\Iُ,ޏ=D=%XZ@Pʆ@3\bVA.yqB e~W?{ъ ,ݞH-,$Z{'Ցvt#Tq?0|^˘w=4SUrcMVMn`\oK"TN==lE8G>|!R0ЪD?F <Hj݃{V#oL8gKY:j:i(*1 uGkc%oŰpPiT1pgVc;Vc~۬HIRBjvyD$vl$O[aqàƴ{7[EA_JV 3 TעVyQOflo_(p P%al[Z(dč+0lJPHT|,7o( qB5!6Mqi{KHۮajpNDqH:SNZQ!X0?ns^/Sޗ|_]#`+'o>**3!jN%r 9$3B$f@icya'˯n eO&C&:}QT`Py̠qy% .qפΎ\2ؗ"߿A^Y?:"1bTE̍"n s(zSfvyX_|5#Iu:`.DBxBԯu>V.3}`[NgR+8F"r3@XAܳTX7Z=#&+ymA3 @?)mLBAN>1 n)Rd.w7d%cn_dh~-b$郣rvyTAͅ!2<7JFWD>=3kW^ 277ވ>o(c%zRS^G_*$8T drv;KDL}Lh~^>|.rLMA{$uƼ>s/: ;艍|,B]AeY )dL2njI`}0*БlTE.jzn? 7I#AjU؏_肁FEԸ=x`r6 J"W iZ5u~#xltUʡ1$PKQen`vqt9bZW:{W+&C]\[?K <@/-=/F`(LAmǴ{T`yKj fIh)w(╻2=CD]c|[v097|>{WN%NXm.%*DL[9wCش%L~ A`svVȗh+D&BYI+0NdY'] &Cl5Q ×?uw>|qL1NpGA`GlI1MdP|+9[ PYPGL)- v`ݞ5sdpJI0x 0.153 ˥_4b8x$v'+G!:pbds474h!úOz62Kr,1MqӽAzIiWg뉗5"Ҏ]H 1(N.{tT+yM:G~#%a?s[ԧen"M> r*86ڏpl$L*^D6b}?:53T&eiE3]n+$Rp^e,y ;&+4FRʌƬ~Aw;omez"x9X\ꖈZx+ב%D!*{$E\q zё^/8 2%ǯ) % 2w^3tmeږjx?np oL4<'C;ſB;fYgE'wm=k}`> vJ ]Ւ okR?mXx鷃?_ȟRT?󙸇ӳ[h8h21}*'{ .@I[k7c#1c phL@Mw)Q\+Eu\AڄџVDe ԞUEToIdu ̳_O<4D[VF1MH}Ei TȒ0US}1c&fp/!p_B.6/UPd:qy`&M k]yЀDN&e٤A=XDi'^>C Y_(E;|6=뱾E5Z5\]Y 2 MQ( @7F㇀A)g\|<2 )R5,v3 屹4ߺ9!Ω[-J.pb(F\e[Rưl22Dͯ4Ξ1]t?3=(G]v()Z#5p_," &8I|dD!^?l<0-Pv^%h5_eB9.-%LO\;T&IwiDho.s<]&U1ɟ2u ϛy(hLQun ~7*.BpỾxê9nGfGbrJ<ƒڋB}: b+ 0f.ImUgF|Mu6p{a@וh,I&zH8qW׿ $aAzKI}Vt=+a|8a[0ytFfS:9isJ~g;"q'櫹cɺ0 Te9 ;JW;-_ļ2Jh!Wke#Ջ ym1W͆Y>mnGD;|~BޡOg@<>$tQOS,j 2" 0 [݀rUMQiטhK$6X-p̗V46v1# -&`MMkHs~פK0M3x׳zwZe?Y|waߜ$ė'8aKS/ϟ| Fn.E;jP]΢Z ^ngj&5!X<՜j>6@Q]U<^SG2U ˖KoɎ& Ihx?xomvRC:ߖo%nђՓGgt ehP o{;Z7GNi$:n 0R5kr&eDmz;=5"0}ZƏ\ZC#oK ~D~zGK{eu!;PpM/™" Jy6&oeOqI8.-Td_Fk|#.063a&q(ەyɦ dOcOPaQ2:N^+fB'WPj$~N|IWHQkCPNRGY!XGϕp*./Q#z%[ӗ_sp4/ _:rvkAט0`]*qL,o}N0{DųTA ;0i5`dg9:mob({U6< х[Z`5Qbڱźg- S6RNO>RxR>?'D^gw*25ii ]ZnbU|g޿ .S|ڼz8  R5/0^/ 5)fr G7FͯUEN1 *ǟ * pGY%`yLu|A-/d8R((j*hMp.cBsVԔqYfK )>P~qn#}}߲ej>1 _TI}csGЋĬn - _\ B!^J'=ؠ:y~('}c;j(6ª+ϙ~z ~E\BG"z땰oѣ#X5:M*f14x x~ .1Nf=$'tܠ֛a=+IFYՖ,2zN\mxɷ\[bT1ߗ-[CgJ_?(k}1ףˏ#>#st]Cn;zg7Q TЏ5<@YiƓ>4k>Դl{Kۭ^=).Q?Q1vBՈid=wBxބ>@Yi_m 70ߒ?c+Bt<;ԈLvSY$OvkL{bkQ 5}a",ȝ?y\˛L鏛b4Ufhg!:?jlW8zɨdR%WR:!uUSvMɃޡ/KS^>{+> L :qFkQp@_p} ܟe~yPw6]}mކvR->e_>ɸ8)qcE<֕q@Qm~M)QaN\<~Y`:3^DfD 3G= IKd 0Ƃ!BQzUoF #; !Jv8[ ]h@..\o~kRwu﹣Y$޻o/vŠMI6+7A#%[Z% ѳ6qz/S0V@zщ"\5"7|sz{؞inҩEKu(v:@/8[mrZPvOr_CZH \S× qxDeRN8` }^2~.oۿs7dx$5k!֣}KWvUyH S ӈXEt#՝ab^-%IW~{Q`,/'5Z>R\?(=͋! 6k4zh|M@k(74"<"J+\id '{dﭳx{#lCa볖>t z-F* 1i)xAKDHHs)i .#wEqI(3f"v楓Ȃ҆j0ӿeb*I(rcǩ&vM%F7ǫgNUPO)"m|ܢkaXN + Qn{'%x1VpiDJ>6U#]+*ZDpID2k{ #J5\1М 53YGjNY^'-kh?CXO[1k܃;}z-^:[ˑkzYk߸2UÚ?D4Q`Y.nb:t23$1!*MZ v{GrdVXBJOBU#·J.a\/l`7WYZc)sA`0q}_g5me4hyb7* jhȹ(9W~;ߵ_AUҀ ٥1a=Xk9|yF^OItMjtYԉa:q6@6q_NBpȶMԊZ|tb$^'짢K;\'o:5wy#ľfVUܶ!yB㓬J`f lI1٘C挩J³lF~٣1DTŋ,A㤭0vيͭ Zz ]7=JD |G&2sH$vTGЬc\¤t>3ZzT2G* k>0_o&z~}:s=V@c1`0V˘ E*bp#L-`b;*P # Om {•xK`׺V'<,S!miVꚉ[fL5wٓcD]I!RuMA1(sWμ\xI6 |u/KrvឭviE3h h |7. 1k3'~HSXVq4K1# -05j.=?S:Ww  zO.#K# F9{!:60 %hVqGdBQ97?z! M5`I:Et&L+SIMc P6k߬Q3f5ρյqSnc/x J*Qu+α0`[P"s E{c 럕ktWdlRb[#)SkW@RJ<Dɹ"+u}/n[GǜV56)  *00 K6:[`:A#s?o'&3Icf)埪pYؗ@V1OpJ\)%?c|Fa3łyNGݚC8#&$2$ap<bDˈ9@<oRET=a`a5r^2'W~ 舦76/ v |%,?T(8*R҉j>SW Z@F o]$5/˥a/yUNnrq?3f'N+=N09IPvwTil+P|S.1/ltQ6t''w]__T8V^"v7ё|ŌD_E0k]h0 㬹. 8\ؓR *BRao8q@ N5p"LI|[:x=j**W ~BkXy~+4t)ʋD3+ q` eRc&J敇ocZ'bSdJ p }kb]XuS")g+n$L@ً~R!1lߒ>f(7'\^D l[gT\;,'i_`R$68$&Il%ܹ+<=Sծ1ZOorE\e`󩒘aԑ[2[-Ax.=Z' ZGAnmqٽ!bעkI˖ۂInx Xoghz.3$.ۨ/?y^fwhafq ؋0Аx2>hIaQ P Xͤid)=HR\g\h?҈w І(oY>@N15w-*t> "S|!{ 4;yFP/U[ eFƢXD9*)aqkʡ8_ar[ԉh`4EH4Բhaz41@_|;8*FZ.o,> 2wB! Ɛ+ H;_L`lSnܐh>qYsXJ!&!9 NvH-˽pc:d&_FA>9:גKR tlx-Vo}dٮh[IF#ڑpUcib1%^LGxy+1c`&Em7qʝc$ujc4a_T 1d:'3D1)UvA;L {AkM;6֥Djww5O@]Or M?Of!B}!Wu9qSCķ<Ҧ4E#>ż! Tʆ^慒0?UׄH 4l{r,l2HXmoUAm$X;*=?a(GXuD! [ً3]-LEKC㸲۝Y#pH5}T7/ _Gm@?Z֦Qs+],"FX0E2 9Zb7cM_N]&,x{,BB6f3+R[וU J^6<<22t&s_d#fE YY8`m,]ڬ>޿gh]RΓb;R&uP ҇ħhNγ><Šm$9^xI ?h|~ .#eWt=ZT|Vg{c]6mk@bk]a-a>LA++}:U+=;C$1fTkD`~M''TH)+2ƚ ԍILבPY9]SȚɓ!EE;>;cH*lːaۜSJ~yO=s:~C/vzMUw-z軥A-L[_jBT)r# f&/uwE˿K4l0tN~knOP:d3`؏:n\7<׾!DXx?W+kEpPKE>edc"bx냢F ,ץ+XX!9MkWJrh~U]k_U.,#4=_=4YP􉁭9FhGLJx!b\]' էlp&/oYufR&DU=ֲm-~6:{j`:Cy,|&]}eʠ&$F5k., Qa\o'+86 %@)885qN wr^rsdW M3ϐt^:L@Qi^MlW#t?6il۳N<_P=2(?p@S k,t4IaYxwAz9W(bBeKŨd+*?wcy*88[ {Mq_|U@49ۥM2S#1Rɒi(qpO^jde[>U`3dt |at>I2޷$)Vr_ܑL\^ Yv4^pa~EЌh 'K'?zMrNڭlyOfXFq1RÆZuxgXIrXNbk[RI ^ЈG?`xȝ>\&((Wk$GԙX*p26{j٨a kǔ:X0+̧zzYڜ(h!TޟdmaHKU=Uԋcsw7fo'GA}\嬸0v'e-X)(M1ơ( T1poבnˎy'HZE=+ی3 ?$ڭ̼̅֊*}ˎ.Ez ṿ!1?VŅ,weҗD.KeG:&{습z܃&lIcr 04@ٓcr6sGsx˯ȻYr%T<1.,/6,U[P^AkҊӒ{F*mXyt&&cC+߭4ۄ1 oSRp[ <8籌8!=:6͵l3)gQ2{z'=ț,rE*"ADk@O2@h)|~q[P4YxR&#mxѦ mȽpW}W0EĺCcW@x@`a؟9'ȶ j 2OUڃ.*Q"É-OpTd3ғe x^O7.VSmjXWo/Q4Q2FH[F?Js09\ei@c7xY,)EADSk&Wq%ޯn98MQ7v2&i*\zup+,S`vd,J͐"ͨhtjYr# CYN+t se ˝mRXbhA0k6)ڞ܏Z4Ǎ2<l؎kЍP\Ȥס:\-N@'H'n9m s:sPR+-Ɛky=oQMƧ;pVJA~C8@p aN41R:XE{W4Tԫ3՗ӘZ\(YW5g &Ua'W.puޟ#b8 7r7\}.Ee4َa6׭ -+1r]$O*b/t;V&A!yv$p2_x"!#hfOmwi7rp1!ݵTOKnmgF`ĶpbhKzTb`rQlKUcS2LjXǔ~DYVvw|sa-k}lzFB%7=ݫp!`n@YlķNTY8L҈a PJI\I/{0~qS*ب8?&Z dU~EَO9:יp4f@Ww[:-T+D;'>ޒ=~("E#8rPt]z|g~R) z_ P O? E:6 &Svϸ:Z`3n(nu<`F R9iZ6vHu53pc# v7oX:1fP*=0v 8|/iJ8طP H3Ri͜_È,_ѩ 8|=TULז?W9O4uՀa//tk}UwXH*BOm aJxN|L yre,|rzBU0mZSc 9Km3я8LvW0l(Le sї:wdWi#Ycm|M/jsٚ)V lT)(e0{Pc.itTO<ÝdN-Hgb7;{/Or);h JI13*-Ϝ4_杗D7%.9SMkC =q+ 5$lZ~FIp&:AzKX+#8;h)dž'ҶJ`!kc”kaP@?Xe6gi0^t*ѭ/9 R&1ۉJ{ rt3J徼`p!WA~&b$W.ꞁn@$C~;}DMJϕHnyA1;~Ic T|o}QME)\?c}$ӡI$*^"cDD4܎9KDk/8yW6V>o`b-$$րz8$xOu D7ĔnK׉^Npy [_k->6Bj PQhۻDž(:. } q[ [?U*ӑ$g]9.9\:ZgNQDvIqAwP3LrK6Qbv3CmQ+CF7&1?*4BVH[ @4 !+ l*{z%kBpMڛs$P{jr,@UPR#9I1)&_ԍ놕N]iY\f>SIš8a i}STI˯HA2iK$αqUe39hjF@ m|"NzQBep."0(R3e0YAbQz&jI'n9Yu,rKUirbeG@\0A?6GrNsG8$m-q >" p-qYb= ,IgObf])u4Ű;RlGxҏX/:%@-*csMw^^R JJ)U^O[?JS0ZBXp;ϒ{babyqG̵+~h S#wAgL\!;9hcu\e. Bu Rca>3UoC̆qJIT9k'9' 煲uԛt_ V2}dЊ֢BH@yԋp οtLi>Kzmû47V!{ 0J}zFhM}*LkCub t"ׄM@vV>"xrv5Ӣ}o ͢&'fPME`jv &3]×w9v, ]Yѽ"r.B;bQ3cyB=!5x}jfgwz &Ȃ2zSU)|C"_fiaCiFKӜ2!B.m0QrK#*RUC-9j=hgQp2BS){+ؗ8"#/ճ%g Kś0 2 C B*TH{xN1CGʴIt/Gpp'#-+Մ/p_VE"YslvA`cj}S'%?'MfG>@Ysi@!ƒ6 ,kEwnVG}ϔ6.D="nqiR8AK%qV`)X,a+4`ʞ=f ~(6_`QB ^",n(H0Ya Q7hҿS"e eT |(D=DU0?x]22!'XqQwjq7x,oC2bXcLӯ~״zdRl~؎blV+>¡uٛc[箽:B[x\q86+g7?IUEZKt_(u.ۖA ˽º}B6ltkFIHeDOVw-8CwMR@ b(W,;*s)-(xO2g{Z7?HW 4"lKv.tny&n;-&XҊG9.:dt|&65T"ٖj=/&vdPйH&4^|#\g"?Vv\ҋv $+(P_QCf$Q.)[1>/.3~er`-'5v_ F3Cڡ.A֏tH3؞{rBziJ#)g*}u\BZu)O'C0Q =I5*Pv+A EtvjyM nrD#S" DDkVLI>JՆ~+3?<Pv`j'C.=*RZSyXD'ܨ,̘X;FfO; 3v·G)fM{C%[ED*~h'%FtB Yu| ͭ] !<]Z$+Ɉ`Swz)OJ&`; 4 7rC{C [ 'ƀץ?5(:0iV :+bR::IFb@|%]6