python-azure-agent-test-2.12.0.4-150100.3.47.1<>,egʒp9|gcrZAuMviC~Ҳ?]"Wc|›N?C!BMIvw$vT<5~EJhyZiG87@ٝY 2%PCKSIGP,h`@L9H",sL##jsAЊ+J,OeʞVg:rLcSuQ婪I:?|Izv3a-, FS6#K 1ƿ>>?d# 1 <`dpt  mm  m  m <m dm fmkmrmzz@m 0  (8 I90I:hIF=.G=DmHBmIHmXJYJ \J8m]Om^o*b|Oc|d}e}f}l}u}mvXwxmx,myhzCpython-azure-agent-test2.12.0.4150100.3.47.1Unit testsUnit tests for python-azure-agent.gʒh01-ch2c=dSUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/Development/Languages/Pythonhttps://github.com/Azure/WALinuxAgentlinuxnoarchuuucu.9>R C u4s,T"p>#r6 *1u 8":+@>/c\ku(  =..A 5. qT_&V:88:88::HztHY<th-GK aFP qsW-+/ % O w' .u ]'#=) B#d d rz  &wg4Wb<-bA G G Z G Ty#RT@ %fL BDiL MCQ" e!p"j s(* guu]" Wb~6 K3 *gQ{:2@l_k]r<u 7*QO+Q\uCbbA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤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ʒ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ʒ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ʒ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ʒ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ʒ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ʒ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ʒ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ʒ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ʒ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ʒ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ʒ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ʒ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ʒ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ʒgʒe0680e541350550e3d8303b087b0ccec3000b48cdb7aea6a0f99d54488f3e686e0680e541350550e3d8303b087b0ccec3000b48cdb7aea6a0f99d54488f3e686e0680e541350550e3d8303b087b0ccec3000b48cdb7aea6a0f99d54488f3e6863891c9c8870c582ef1a35cef41dc5d84e45abec03ac7f33fc23826bd8ad61a0ae0680e541350550e3d8303b087b0ccec3000b48cdb7aea6a0f99d54488f3e6860b3410cc103c967b2327bedd742fe964a56bcf00cf1b2e0c3db564d8e3452840e5b1237860f40b3aabb8d85276aa35f38d8b67cff8ba2fd1b1953c62fb3c53c879d363990b05d2a06a447c40f846a51b15c8ff5ca0fa6b0a2d087f087b90613cedfdd58ab04238cbab4c356cea4b443c3f47766becc92167a77e37cdba556639d15cbbea10a986b2250f144b8d7e634df07362344aacd8ec30423307bf7bcd1648327cdef085f4030347c11a0307ba1246f8f70f244a167c6bcc1f750f17dc3d09106cd049c8239a25dde8e9b20c3458b4b29b080ebd678153835faf10568490ac08820d54beea3ae7d69b12a403f6857f2dac8b91656399987346ae6b2509c3a2ca83f9fb1a1faad0651ab53c97bc5e6e4e09c77ccf6698bee974ccd4013b703605321ef20aea66164ee1915d805d96dc52a726d40e0af11afa79deb04c74e735f3dd4985cdab344c9e51ccab85868c06a260ab6110fdaaa52c748cc18825b2b4941a2c19ddc3870e8f25274810ec6fb504fba4a5dd98113eca23a97a587a54f053ada94a0900afdcc119e0dceebcde20da6f1a7e3a2d0a45ff5a5d60a9353a6d65eaaf4f67b87417e3c2a22f54e0a70cfa6911e7d222d3965cea7324a944ed2199ad211bc8b851691199746759943f926bd7f902b183444d8a0595f8809580d1f2351cdefb608bcf2c0adebde8cf27f49e3d2d8dbbbd02b8f2d997863ab83e9fd08c06823671d59708f9015af7786049f82defa1f8a4a776c6d9a2f485bc47e0680e541350550e3d8303b087b0ccec3000b48cdb7aea6a0f99d54488f3e686985709a8560167e1cb7cc4f8c369fff37a195674f1819ee5d615a2e0f05a8bc67b9224f74822f45034a3bafd9d171534dd8b1eacc7d798af37c32a40db0b5039b38907603d830aecff8f24f0fb6f5c46e4167cb48594340ec38a0adb33416af446df8216b8d02c50c993d64a060ebf6dfcad2936c81038860b4c550483cb7a408221bc3527a8d7e3a898433b0783caea1bb64d9167aa24a934aa5357b9558d0e8737535a57491f1f726e1d9f5dc1cff26a02a8d958bf020f583f98b5c42cb8a9259a734d69c1346ce7224cabaeb993982af49cef50ebf9c04a0d74384452f79f1a6ce6b76076cd82dc17a8806953667fbb0822afc7084400f8df3927691bc075bc84fa7fe36ca487aa9a8762089b0c9242be82fdc63b633fa8e9fe5112de82f3a740a4bde722439c48acdb9b6dfafd9f52a6f9e277071e787bdcdc299d4e02ae6e5444646460229b23ce6c4f4b0f81c67176a9208ae6d37cb06c57e446cf1b6e78f215e175a2ee215fe240616314c1ef7519ba7856ef91c74d125700dd6010592a848e638219f7a0b5a4243b851c788572fa17ca2bf000d6210c5ff31c93022870489850a133a8872c4add9e4c11de5776dd3656deb00fe35150d5a4d60f79376bd2beedcae120f8afeb479bb165e71b4dc89fb5fcc472265543f470e0c582f546701fde211137f08e027f12248c4e0001649a676a8c1d46c8fa76d4d5d3a92c2f10c8f543c2b52c324d7413e9b865d9c629402cd958b45ec1392a5e4f18b94a5040ef41fed36c53af7f6782524ef53ccea7dbc07e2f46b7c0daf9c1a0aa90e7e1811b1eae947d4ad4b279e57052a6c32febed6718b9ba295d8fcf88f0640a7fe0680e541350550e3d8303b087b0ccec3000b48cdb7aea6a0f99d54488f3e68674d7f3eb889c250c54a1c22f0d38fb69a0ea09d68eaf5f02f9ab03c8745a91229d53cc5a97de18f0ebeff642865b922f0703f9884992403ce4467a5cbcbe1a7e7030ef38d334017fad069782d0df0681edfd1a70e9531dc2f6e1edc79fa67bef1c8751c16b123c5977ffe4495d3ef24cb0b9ba38830528dcfcfb7d51d0875202c7e95b4125289e90ca6eec7624078ff49f8adda19fd94dca1147b977a610d410f9adca7415c2bf36c6738916809a68ca02480ba6afde5ac11e79b28d9a9ea83719d6aa3487eeb7cc4339fb2f71c6513605bef8e89d7425b0111a11e03a5069b7eb10d4e1c024e6b02635c2d9288121c8044d975c7ff31367cc5bcba0c9f5c6698a50a53971f02a1a77eaa670079ab5c68191a116069271484f62d111aced669e7b37ae1148c1372e5608f096aba2190eb709fd3848d5ed4901d7ec14160c24a8e0680e541350550e3d8303b087b0ccec3000b48cdb7aea6a0f99d54488f3e686ee422529782e1b3fbc6d7cfbc0ffd2d05d74f0af3cb31fe63cc04bdb158fc443362d1a71adb11d835a29dde4b000816409790a3af207b6774084a7667226633f0370db6bdb185a407f5554ff773be9be3030f4297706926a70cc0dee57a91f528f2616a40edf9541065815c119da6ee9c35e60f2a3e5a156afa0c98993147d9918008811e760c60455464ce7f0cef6df5000aed76e155f121462167b7a8fb0ec604d49a4c7d09ec5e4ce4c551fc06c7b96240e1dc89b98f6449407b4b4f4cfd511a4a60b518bf24989d481468076e5d5982884626aed9faeb35b8576fcd223e14c4633231c07c0417243f6c4810ec0001ecb49f4f55713b2d330be388b0c5491e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85589e04ca9ce3d31f81cd0178a832b3c24689f2dcfedd793e75558f7ac325ffc79a0ce2e045c94f29e374899e4c7dec845bdece976fc004b91542bc63ff8e7576fa0ce2e045c94f29e374899e4c7dec845bdece976fc004b91542bc63ff8e7576f9add00fe794f65f26229a3e65ebd68b3c590f4645450f653e41390304febc364dfc7122f19dd923bfc0b5195ed27553a4160b39ceba33881d7d2b4d10aa92a04dfc7122f19dd923bfc0b5195ed27553a4160b39ceba33881d7d2b4d10aa92a04d3cfc88aee37abc2b88af5a2d0426040c9b7e57eb5f10074bafc64f8337b14a996aea16f390920c5f45e165f68fa61ab14a68036f17d8c3b881118eab547920b6cce36d9f8a9e151b100234af75cca89d55bcb94c153f51847debdf1f39cae45e0268b42c697c3fba51e571082ec841e35cd7358d9ba4d15ee5fcaefc0bea260f9ee0de0671c071780699c1515004740054ea437c3cf9999a05fa38fcd4b6f04fd22c90ef4670ffe470b55e339f0d4be0ad20a6aae85ff862b0657d93f1fbd9bbc8eb5858297fd58e45acfc9e557bd541ba10b9e1c5cfd3260ad0737069f42cff3bd93b28cbc5d79589fcb596bbe39fb7c8c3e4b16b90c37610d6e86ef08c006c8432ee043975f4135d5428f7082328d4675435832589156ce36461fcdd1f0dc314a5aa0624a99ed0dbb0562e28287bd2eab17f73cd228cc250be86cb6c3338574979d1fefc122331d7964a080050c69a9f506c67806beedae37f379ccb725f274979d1fefc122331d7964a080050c69a9f506c67806beedae37f379ccb725f2063454c76ffc7b7f5e96568919250ab5cb7d0b1d359709eabd8664bad03a10642e9ab97acdc7cfc23e39ab584e2967874b29b3f9df0fdc1cbe00fd494fc4c95eb5910e49c43fc153054406876083d5f52c72096473c5bf955b89be1352418d28eb1689e0d21435921807559a2b305d9505dd0eb7afba2f60205ca8ab3f77805a20f61a90c1d897c32f6454f9b4648546bc9c0346f5041702018250495f64bfad16f5605be277067f58f86da7fe75a506520cc6bbdabc652b1cfaffd4b2069eb4e7eefdd6a6bbaf3cdf533ce43feba635d38b392217fdec62ea96541e95a2d2670be508172e87a2af98f344d18610bbaaa0e6bbfcef0c7804b24457f839e129c9ce4338cc96af8d619a190a2daf66e878e58ffeb3bd3d054d72cd0400b6c5e59bec19bc326190d227730bb443188904956f734e9fec3132f2060d62fdf424e6500082f94d1f881382b1b3bf5a322f6b10ba4edad225f40ff39df45092c53d0252000cb8edb95f262a8bd7489f951a34e809b7098eb29c4d97f58e558f81b4b1f7b57402b9173957494573a45f095dd6f21bd2d2185eedcbe5d469fdf6ca87778c72f39c5f7427cfb15b7f7248fd789b62658da480f1f16079781dba03e2b8a8afe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8552d1c35b318b6c89fc35064a5706f869702ce8d7e66f593342ecc98d1464d7a86d587c92acd2df045b06435ab500b58cd4419b8b88879cc735ac7e88c63dfd43e08d342dfbc236985a395e7b40f54e75b722e490ae1c5f66fbcf371aba86bf88948c4808e991f35d622d0529870fbc2a10190eb035c9d3893be3b3c44ab7e52fb44a0bc83592a0fd13505370772f00d1e7a9976d899902bb369d7565992b298017a3c4ac9312ff48b576beedaa334c152ec91aa113dfc51f9fc1ca21f2539591d4e4dd9a74855b92126148d8a9d4ac6862b80e12e9d5a68f6fd105e45de829d49e11dc8b03bc5aa6ddd8985eff8ab47fa4290573567aff63187cdf2f637b45703f852c631b582117930b20955c60f7f36af4f5952c268b8cc43daee53fa689086d60c87594015cc40d8cc85be46f5ff4508f0f4e8f50b56d827e547132c3563ca146b3f2e6200fb070b7ca2057d235c534b186f3d318a88244c88d23b06692459108cdcabe060f35acda502107822202da1155528599f83fc0f375e3b3fb28911539c9b5a998325472c6b277a608e1d70c983cd03b6a179fdd97bc072aa121a41ef06c2809d906bb6443a97cc7f50ae3ba8155001d9249580ed5a931a1efa46bd8de78ba84671f8169face5669dc75f4b473268d93f52639e5f93447d69c0fbcd023fd69a9d83a2a89f1af98d36ed2d72144ae7c84216fd0cf0d9a12e26fe141f0c6de02fe76b076be609e91e5e2568364a2c0bd8253ed645183899f1e7e5af131fb53983871c986b204e478dfd710d233bb94bfb05673bbc5e19f5b4366e981f1fb53983871c986b204e478dfd710d233bb94bfb05673bbc5e19f5b4366e981f4db7466b824107b1bd7928d2e87416a4619ab55e9530b88ab9062d4b96dcc6494db7466b824107b1bd7928d2e87416a4619ab55e9530b88ab9062d4b96dcc649adade14e79b914bcb3c1d56567c9cc73c5a6659681b2d1588f62a65a78eff3360bca864b08a5c86e34ac17b9a0a92d942135920c1665e81acd9b3853dce076144db7466b824107b1bd7928d2e87416a4619ab55e9530b88ab9062d4b96dcc6490f00246120a5126443f3dffede5415f39b6e7eb2b96647f36c539f0e54e0f43078fbbd950978b250ade229afe78d283ab9d97795d17fb47ffb0b7f80c739bea914ad6597bc01efa6e671465fbc763b7a5d39c82fefa678b54e32cc1773b1c6e2b5e49f6832587a9f582c5a1a9adda716568c97b7d2b521f3c9f37e47d0ac6197f71ee7da63ed7babfae5a48859471d88f7e3809a7d86c48295ecef954910fedd25cd18e9e3ed5c480105244c39044183494a977e3c7299ee3bfe6e6c66ba05bebf7bce5e686806147c39abe572177c0824ca0fc0943d9c1988ac1472e46d90252da50d864509d9f881edf45d25a5268e8b4bf3ebfbc08d82514698ebd07263dae949d52a97fc5d811797437a03c790e545898c170609d4802a5ce45044b98bb3fb0f8b6cf466ec34609285eb7f292a2999cab2890d2109a2166f42953cb740519d5d8d1977de3a2628863509efe6e0e1575aaf4a1a970f1d6e0199c569fa79bcfc4938fe68158ec2e2925a658398e13baae1c20c288fc5d25ba7c4bc29e107ec1e492ee953805609f83776fd3c66a509f6bda336ef6a977ba638496d3a6720dab5dc8327614a1320b54257d044b33dbfb715cba2ce7b926a284e87fb2e0ba4600a3ab099be0cee91c9d343a92297703b7b19de1767c50151de2b56828a7d4eca1414e267fe8bd4222e5d75fac5f4daf53129b5832a9e45178d160b950d49a512d0d6f225054f494180bc0caaa0a06c607d4e68493393861fd67509f3ca72b2f07fe2c843659bae447d8ca4ad85f896ec1119147aeae9b98da742cab753bf722bbc4d6a1ec352c7a673260ec38fa92d83c64bcc9df355ed1e5616d1c40046aea75582134fd7d06322b5cdfc4feca9589c2edd1dd99b63c2730ae2a20111ecd502eceea275ff63e7f7fdbfc6e3272b2fd8bfddede424bb174b6ab9d86149293baca94c5a6e1cc6f2eb20ceaa8a5358bf2ae514f30a3b54f49326abc42445e7f81505bfb51a651f172151d80ea8737f7251166a8f4cf07ebb4a554882205f9726e37b64d6af8436b65190ff3e6b8caa08a366a9dad37e85d41b554e1a7edf2603e4fa438fdfb720bfde3b01590f0a2d3c2a0af45d5a577eefb52c1602ee05a620537713ac167ef9ed4c1ddafc189d7109def1d9ef84851ef70d2554d4349bb874e0000576feb58ac7bd3bddcc42e12a745b91404997849ff0ea59cf630ba1ca1e586bfec245c43f00a0621d2f4ea8a3e8c5723ffae17dee7e2088d87fe3644366213b03b663ea2d7f13484e22fb4e06951481771ed8590fc116b4c22c44dcf1603d483557ce7a448006abac5768ee4bd3e4bd85dc6207cc927476f57943c872fb66669dc2c4966596c0dd39564b6a37012a2e39425bd3b26163506779dc9bff43fe4547a307a4d15f576522d60399b41470d36eb8f932771e260d0b4772b7dfaf5f409a567fabc5d0f664d78fee81e610aa71d9bf678ef1dfc56a2879f0ddaeb6569943428daf4eec0e52da4fd0a53179d479576c3ad9bbad44510acbb7a36ea9d4db5950eda8d75bdbcac60913a367d64d93f175427875ec2a7c40209243a393d33655551300aef8805e13c61e41032bebc6c6a1d0ef74230ed7f91c7cb0960396da9c4dfa719e9a82f27a4e2f7f770da36531361cecce293862a5c5fd669a00fca8ab47f2e7755dfb9dc0659992e2b576791981d5111026b86a7c99ee4a147f38b7ffa7223e90bd6bf9a4002e07fc8a5fee7e4047e34ce9518cf2bf1d955b8729495720c05974cff66adb1b1e5a01b23a8e38d41e873fc632a8a951e6e3d220c49393471041004fc25387f478e3aa8dc5014f8d1ec7e20b8cdd755f5965c884186e699651806224b1255b7a140bbc251ad9eba40da9ec86743b030536d0a2617120539d9b9da3c0aa3270be94d59aaac634ef8fa35e8728bfa2ffc9368a016e59f6b42c07d9ad142ec0f5d9d80f39db576b198707dcb2e9732315e46d0fe917924f26eaf2ad2298ac50d5c5b1b01b1bd39caa0d9e1107268f496792ca0ac6d3443633c48c5898bb6f81770cb3e7717b6f3a930d731f1cc89ace3332ef059b08ff0b86dda2f2f54ac6bd1e43facc54b407c08d21354ce234358b3ffd34f66b4e5251541989c0c9026ebddcc9cd9763e9eade00688c8a72e09655a69ba7e494355b4afa9b9cf62f897f576ad5b4314898c231a4a3aabbc3beb0161e68fc13103508fad12a74650ebcff053d0d605734abbdbd388c8903752871031318b5eeadc5df1c776f7b045877341718df9c9219700c66e3f55ae066c9c1076e847209faa6e85fa34dbd26ad200400503341ad8dfbd371ecd9cb8576af29305770d09ede1bf3fa363cce7c72a6c23b440c3957aa01a4c3d5c5cc92494623933fab81852d4313910f5c43c7bd86ba9654e956ebae542711f1f646d2793590b17206ea84991e5419e73d2c762090b2a796f30565ba83d5e40b5738437a36a80aafd0eb38fc58a4452cbe62829879c7b62b8d8bd2f7c816122cf72cfa998737415753e3e4425f5d966f00e98097c60e8c10a2eae3f7c10a4bcbd109156cc77f367fc231ac05b801e5422d3974aa3475489fa7a402f28324840d7ba94a623a3d8fc0712cfc51992cb802f6cfa3b2053a112c6e62f35e659e4b8e39660256ba22ee67f6b70763a8c2e65104650cb9981b8a2729b02ab867e2f43507102bb23cf8a49e058e4b8ef3ae5eb219ec82ee9293f06f32522c33b6fd8f9280ffbea96780289bf5cd26c133a4ef7118ac7519a9cf556529a7bc58ccb512c2d2e759741e393900a7f5a05e4b8ddb4d91003d0fa9e2bf200bb48872480fecd13caa673dc498d7187d673d7ba1a8a1a3acd3fe3b0168c7fe2a83ff95182dcc12282ea32e7659fea3980559aeb1cf195cb286d593cd340c15713755ae53bf33ea713f32cfa9befee768a5a9dfa4923fe722bc04c44ea0442b44c42f8a4a85030b8e3f261a578231284e351c24793dd0f36275652ca249513dcf8222993735de71bf78d1d20c0dd90aa00e8f3e2c5e30f2d029dad9ec06bfd8403c3cf2c4457f84c5d6caae9e3a64489d223a902485915498a919d7d0125a757811c378bf271fc844d86a53c0911842d5f78db3c5d4c56b79b2a1bef62f22ede7cb204f1c018f8d684568d7ac2762bfc21751d9efab067ff3c5aa1fe08cc8bbc3d38c0893151122b51609b3882b5458929a3d3f228c1a95c0345acbc021f0550356adf28b0591f43fae1d6ae88bc4f095b0c659088937517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570b367daead5304d09d2d811d38d1ddaf984e1a60e28381d99a8250a63bff01db63e55a8d33133667deb1e1030d24063e4b874964db18375a0dbb7ca0247e0cd087a16cb69fbe812998206aae7e5e35815f1a4b9a9513406177e2d86d8e29368d183364cad12915231775d4315078eec6cae55a569e92b583c8cc4908ce67b2d2083364cad12915231775d4315078eec6cae55a569e92b583c8cc4908ce67b2d2003e814dc1ee4fd48e18c5987abba18ed6467218de754d2cb23c47d273751cfce7e06f16905c2550141e42ca204b2b83e09af0e4becec7e30080ef0ac8da2e7d51fd44e59ef72a22bb6a836d072f5640ea1abb532f7b4e51754756328b4e7327e350a16a3f0ccc7c89d81aeb1511f5a789899ba9fc249c65f47d6ac29e6be0b85d4a9112ea86bc12d6d78dc4054b8ae9169fb2df4fea02fd3bd3310ffaff6e57a76c6e281c759cd5b617565ab69f07912f829744e82b09d446355f5aabcc9eed162c449a66d5854f0723e362dbc0a15b27ddde04994101f8d67886e85744b8f7bbc740b40608048bd5429d4bbfc6df28efcc1a20a99b35626cb4dee9b1699714b28a709e946c7558dac356afce3b6291e89842cb1ea446a7a854b6c179d1aace1c6977b14be292c6f60a660c40f3bbb2d5a8a88644745f6c8b3a264bdf7a9816bba2a65b7efd687d1820c1ed2c0ca7b7fa13d8a032d2b2728825f0ed1b99473476acb0a91c60ad134d15d5df17591feac96d0688c41563f71f59e3043e04d5f706853727789b0d019b00b4302264fb025e3ab464ef4cda97f40108c628f13ec45d5da097c4c12342002ff335a0e1c3957b3ed23e085e993de85bf9a0444d81e40514b31964c1a37e7724b643881da64ab3bbf7856d60ebaf1fc5a2e09dc6ca926c8f95f96ff711ba09ed946e8dad06a26dab073446bfd39111e33aa9f13775218d42c4f4069296199b71e7a50f25d52078ce83ceb3893e65777003c33138d8aaf9ff9aca5d65337e9c0a804f49205936eaef7042e4bf74c84ad7bda828279fdc8053e4317b81d246d7abaea1c496ec8dc79ffb496504eab36ddc3ab10a5c683d4c2f66c7b4d6de12b7d5856f938b2e4d676322379866191b4b96138af85b92c5136699889e6b44bec92e4e8a602d01f1a00945af8d1818a830d497fc1a44924d46db0de810284df1b28885d2ea8cbf1fd1824ea7919db8dbfb35c28f01193b566c6c411b1661bfd72ddbbd83b8079d364292c0312b11228de47a7607bd05069d4b2f27ee16ea6d030cf8909f6ad10dfca2ab6e633a1ade06c30ebae314138cf47a53db4d9bf18097538f5ca49fb3ca260febe082173b5acda1f55945ab645e9675feb341e1ecb093165a389ba803d4f676b3ea7cba60ea771cb795c2329f7075f6db0de810284df1b28885d2ea8cbf1fd1824ea7919db8dbfb35c28f01193b566c1e2046d716ab5b452f6168aeb66c8617e766121623927c2e9acd8a6b6d7703437cf0182905bf9ca1102ec834f3880a91bd1a7881953707a8548c4288c0245c8d96629af8be839a944491a7e38f528bf6bb9e8fbc41c4470d19f8de32cec7415c71d92ab94fef634ba03fa15dd1f5b7ddfeea92b4d43c4955df17f79dcdc8723943287230e1a63aa7f195e7d8b1b5eabeafa330ad93d783b2242a4d83dca62f5bb993dcc921b4657a12884ee20143c2fde2e3c1629d0e687c20d21cf4b03a26fefb18230bbcc172ceef0ce3eeabd16b593a0f6ce309558c99a069685d20e26c428b00c204d4a25b5b35b707be97717c46c02b7c0db38999bc9f4acc94b950bf4476d9476ce72aabb400300645d7db0dc3d766d2c0a7050adc40c27f84a0ff16f8f3f61ae859a8d802269b8cff5020866d52d0d3afbc2a183bbd474ee6adb9278b4877e44c7eb03f94b90aac339ee1220daecd39562daf140cd21796db9d053322bc424af194d18ddd17bc1b12c60f1b531ab2021c857f90548cc73987b11d535181aa1511bf65aa358578da0205a215cd594fc0d142bb96b28c4d7315cd7dc0545775d19231de2dba7e594b88d60c34b19a4b1d23e3e2d15cf8990192310080a8764b0a1ccd44a0524c89734319674bda3d78f65ff39dd20ef8f40fdc16d1c7fdfc2e7cc00c6fff1bfa4131b97355fefb02c7c7d4430200c185290b7e71197ebdaca6d704c97c35d68f25b64bad4cf58f485c6542c97afa3ae18966da76a0e314bfac0362c19e1a5130ea0c1993972567da7a391e535a49e726f07371b09eea4485c1bd7c5654a98b4eeca74fed2b47f66111bde6a30d4f0c2e2257efaa4e288e01ef2c573e5789b6c718769670926dc58d6c6e1622be214aeed5ac91b3c105f1c10179d4f8f582d259b1ee102f83ff994eaaf6a4e6426a1ed70df53be3319a31dd9a942ffd66b2e96b40140c9d23b8d2808dd43e69f5e1629a1409dd1ca50e73745dc92e6aa7772478e582025663663c85ae7643f9d6d2f832476723ca555400a82458f2cb13cb5d165b3d497fee013afc834d11d8777f06b8995624fe59f41c1ad3fd24972bcae637b1f4d6ae75c5a39475783e38fc52893547a2db1d41b8eb57e75448cf0a05755f1c0ee50db5f884b2e4819870d1419df301717cd017bb629cbf74d687a38192e401c40686b9b98af9f333ff55b9c11aa0abb799db353a40b86dda2f2f54ac6bd1e43facc54b407c08d21354ce234358b3ffd34f66b4e52af424489de00fc1109a4202319336a0314c1662c5dc280804d656ef40b7dc5b4f3a1a2faa053c7b905e5a3e0e97ed21fe58e22a4d4bafc2dd42bd9b43e40b039cf5ef8bfea932f2f33fede7b34957e648942a19363b89a76617743c467e74831dcc7ebad44653b374b4abb148b76886d3fe58c41e37a2b45cb3499627fe56c4a20d6036cb74e0ef025511ad7b3745f60115d861d55cd87d717dc46cc7197b5d7a30bbd7e3cd15616c0af122d3933c80f0fa32f0cd43d68fd0b4ba313720149d4cf6f5b019e008b1071c493efa7a8ca81a84bf69887b196a8f62de2b7e536b7ec266953e56ee90d343116207eb8fe5f86d72d38744e2683e81bf08577f6445e3ef2aa94f44bff4dfa2af29e7e8bcecb3f502a3e56ddcc38d65ebeac75d1126b6aeb25cafc57f4f7fbf4dbbe27d8dd576dba258c390a6578288031c4a3500ca2e1276acbc023bc9ebeb4667848cc5721fb31bb96aa3a5391d749758a15d72c12886733aef9ab004d8dfe84bc987a0edc75e8eb333df4c33ed5bdb16bed3152b4e0740edb5bb879204f027436d6e33f4d90ab0cf34061a9bc96afdcb29d76da1e24b013ba98513908d60da67b535dcb7c4e96e294d515178fa55d91aa71d4b62ef57d2631e686455556bbd742c413730bfe9e1375c8dc065e3f2de1099a790aa7251832268f9090f7654d0c74aabbb1905caa5431a6ae0f8bffe98865805c2e13ef44e5ffb94041efae922340e5609d01de7965861ef2ebd304be09a9377f18f1f11b6f1265a016c86da20004a098bddab305db82a753fadcee94de3d52366ad614cec53ade742a017a97a5550efd849dc676014643cd570d3382ecc65ff050d2a64a19711b8a8fed1de7cc7d882da64744a19766642f447db4e9dc08ceb9ca72704986aa3a9f7b6626c97448d07bb26f15dc1e0a3cd13a81d02c7700581faf2062e21426c1f1135c0822c4c3ac64c917ad93146b1e4c607338372820129d8d66ea0a3769b3dfe27f7d31cf3185e497673b05191364738389730629b305c5618b0255477f6f4f489536674fcc34ad92e2877e7100bb664bd93695d94d359b541265a26763363edafa133c01c94bb83b16a848f2c875f882753764945f85c4af8dfbf8bbe69d579a3da09476a74eb73de21d70f6e97a21afa4b7bf8b033cebdeb02edf0b3cadaafad27046220544df0c661f6e17cda5015b99f328a58796fd39deb9e0680e541350550e3d8303b087b0ccec3000b48cdb7aea6a0f99d54488f3e68661e1263be0618e75e126e0debb156ed3dc1a8382664075bdcb6b32c55bbff61d76075dfaebb75e5134aa6488842083cdab3816200fad172a49588e42257887f456bdd45c6d6b09376752a5a208e6714e151675105d9ea82ccb014d006ca2ee37914ca4e02a93850ee963bb1f39f1b116f35468816a26659887f594634784d7279c3e3147b2ec54d831de7adc134cae835798bc1d42e96eee55950a0f1e1b992746b04ff300dbb4c410d534f52386e5f49b0bfcd79f11af70daed809d7c75a0e81e62cd13357ccbfed429d79b5a041c3ecd6104e9b821c365a12f8a98256c429dd47f0fbb35cb91588dca2ad9e106a55b91682eda4e13da70fa4ec6733948f1287eee833b98e13dc6b6f61cee84302fcfc95fd689365ff1a8868aabd4b42e83da40d66f8ecde24b293a71b28174ed2ae1289feb72c0e66bdd1694774b1b096343a6debd74897d802ef8e9bfea322c60f0e87ec2cfba5b8ce4c6bcd4ce766a5d3466cc79a31cec390c4fc079f985f0eb44041cc0003ec2b7c3f7f6d57d8d906d5d6fbee9dc5e357cf8e81087218dd1750e46862896658cd994c458cccccf6fe4368aa99efb103779f814bf6fe308e4b3b27fe42638ce814f11b663f1f880886b9e43900db8efd68efcaa08ca92d6fd9d701c8f01ffbfdc9a9e2af37abe395533a16fc1794efcea13e11af1a4cbeb1d1197113bb05cf604d4bd99f68af21705832b8ee67afa009ee781f756552f1634eb2beaf766a8276e9c34b47d52d9cb4dc8dd9bf5b8523a652ade190caa1fe699ede5a1ed77ec4c519f283fe6a81ab3055c4f0541bf00287542c60f117cc48a6356f06a04a94238afe0cfa8fbcf292714b760b01647b8d25fccd24875aa0f7115d1a6793a4a17cc3e70a7be54238e3e43279bb3e0d1a4ca6752d76247a869dfdaf0dad1d439879296fa558411e27fd8be8981e54b0477284478b9b62147ff9215459c9c1a356d6667aa0ed3ac7ebbfaf913a57450fc9afecea3f506b4e9e74d301390cd36979cac1737d181f5b8e7395435e5bd64f35ce16214166528e9dd3d3d180d8eea85f8449af744bb4d2b1e995261c1a9e5ddfa5036fbf4bb87c0269c7bfc18aff1771802a7a55c4655b52db0c5a9a06035432e52987e9b97b82388534257df5cab32a3c1172a8493bee27935bc08dae0680e541350550e3d8303b087b0ccec3000b48cdb7aea6a0f99d54488f3e686fa4720e060293f1de2e4fad779dbb200dc7f4675d140387775378b8084d57a5ee7f20015f3dab1bbc32f79f8af71f06e38c85208141850469fc9a91c46511c3083ade3fd8f943ba3eb04c8308ce16ff52138685e16e58e60ed45412bc3c7c6e6d2ba9bdfc66e7e69ea2d97a924bb3a59b67e9b5578edf265e91ff106899364a3a0780c85416331fdbfed5cc7d450d32f2faf0ec2d4fb271bcaca2683fc09079d5f42bf8fcd9f20253017b13a34e853e6804284eb4f2a9cc66a331d56337f9d71a62106d852f301f98e949187dc523278e12c95fa9ffc0432ce6e19c45a50bc52628c14804c916b21209ae17a7e8e36b54df384322bd42b37a062ad311043a5d8e974afbe0674ff75166f46681e74508cece1a7e57d45736297b103bfb523916a45413912ce85df40be5705ce6317b64874410670c90d913980d37671ceecedc86e51c31c370aab3895aec8f95112676e7a1727972a7fdc3af958ade19c2b8c6e86cce13a112624ae9e1373c85776633f6b0e1293d8d48e5f33bc269ae189c490e0680e541350550e3d8303b087b0ccec3000b48cdb7aea6a0f99d54488f3e68644cc4cbb3e44e6213f28bf4f7dede6d8bc7c1b00dbe2b4406f24a3c17bd971e06f164a3788b52024bbfd1b467f04e9609fe1ab84ef3f9392b0665bd48163405d92b10c74571c2e3410838aff7b6c5f01ae4c8d914ea9a7e983377701527b528arootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-azure-agent-2.12.0.4-150100.3.47.1.src.rpmpython-azure-agent-test@@    /usr/bin/envopensslpython(abi)python-azure-agentpython3-pytestrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.62.12.0.43.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.rc2h01-ch2c 1741328902  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm2.12.0.4-150100.3.47.1   !!""""""#############$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%$$$&&&&&&$$$$$$$$$$$$$$'''''''''''''''''''''''''''((((((((((((()))tests__init__.pycommon__init__.pydhcp__init__.pytest_dhcp.pyosutil__init__.pytest_alpine.pytest_arch.pytest_bigip.pytest_clearlinux.pytest_coreos.pytest_default.pytest_default_osutil.pytest_factory.pytest_freebsd.pytest_nsbsd.pytest_openbsd.pytest_openwrt.pytest_passwords.txttest_photonos.pytest_redhat.pytest_suse.pytest_ubuntu.pyprotocol__init__.pytest_datacontract.pytest_extensions_goal_state_from_extensions_config.pytest_extensions_goal_state_from_vm_settings.pytest_goal_state.pytest_healthservice.pytest_hostplugin.pytest_image_info_matcher.pytest_imds.pytest_metadata_server_migration_util.pytest_protocol_util.pytest_wire.pytest_agent_supported_feature.pytest_conf.pytest_errorstate.pytest_event.pytest_logger.pytest_singletonperthread.pytest_telemetryevent.pytest_version.pyutils__init__.pytest_archive.pytest_crypt_util.pytest_distro_version.pytest_extension_process_util.pytest_file_util.pytest_flexible_version.pytest_network_util.pytest_rest_util.pytest_shell_util.pytest_text_util.pydaemon__init__.pytest_daemon.pytest_resourcedisk.pytest_scvmm.pydata2cgroupscgroup.procsdummy_proc_cmdlinedummy_proc_commdummy_proc_statmhybridsys_fs_cgroup_cgroup.controllersproc_self_cgroup_azure_slicev1cpu.statcpu.stat_t0cpu.stat_t1cpuacct.statcpuacct.stat_t0cpuacct.stat_t1cpuacct.stat_t2memory.max_usage_in_bytesmemory.statmemory.stat_missingproc_pid_cgroupproc_self_cgroupproc_stat_t0proc_stat_t1proc_stat_t2v2cpu.statcpu.stat_t0cpu.stat_t1cpu.stat_t2memory.eventsmemory.events_missingmemory.peakmemory.statmemory.stat_missingmemory.swap.currentproc_pid_cgroupproc_self_cgroupproc_uptime_t0proc_uptime_t1proc_uptime_t2sys_fs_cgroup_cgroup.subtree_controlsys_fs_cgroup_cgroup.subtree_control_emptycloud-initset-hostnameconfigwaagent_auto_update_disabled.confwaagent_auto_update_disabled_update_to_latest_version_disabled.confwaagent_auto_update_disabled_update_to_latest_version_enabled.confwaagent_auto_update_enabled.confwaagent_auto_update_enabled_update_to_latest_version_disabled.confwaagent_auto_update_enabled_update_to_latest_version_enabled.confwaagent_update_to_latest_version_disabled.confwaagent_update_to_latest_version_enabled.confdhcpdhcp.leasesdhcp.leases.custom.dnsdhcp.leases.multidistro_versions.txtevents1478123456789000.tld1478123456789001.tld1479766858966718.tldcollect_and_send_events_unreadable_dataIncorrectExtension.tmpUnreadableFile.tldcustom_script_1.tldcustom_script_2.tldcustom_script_extra_parameters.tldcustom_script_invalid_json.tldcustom_script_no_read_access.tldcustom_script_nonascii_characters.tldcustom_script_utf-16.tldevent_with_callstack.waagent.tldextension_eventsdifferent_cases1591918616.jsonempty_message1592350454.jsonextra_parameters1592273009.jsonint_type1519934744.jsonlarge_messages1591921510.jsonmalformed_files1592008079.json1594857360.tldbad_json_files1591816395.jsonbad_name_file.jsonmissing_parameters1592273793.jsonmix_files1591835369.json1591835848.json1591835859.jsonspecial_chars1591918939.jsonwell_formed_files1591905451.json1592355539.json9999999999.jsonlegacy_agent.tldlegacy_agent_no_timestamp.tldextdsc_event.jsonevent.jsonevent_from_agent.jsonevent_from_extension.xmlsample-status-invalid-format-emptykey-line7.jsonsample-status-invalid-json-format.jsonsample-status-invalid-status-no-status-status-key.jsonsample-status-very-large-multiple-substatuses.jsonsample-status-very-large.jsonsample-status.jsonsample_ext-1.3.0sample_ext-1.3.0.zipHandlerManifest.jsonexit.shpython.shsample.pygaWALinuxAgent-0.0.0.0.zipWALinuxAgent-9.9.9.10-no_manifest.zipfake_extension.ziphostgapluginext_conf-agent_family_version.xmlext_conf-empty_depends_on.xmlext_conf-invalid_blob_type.xmlext_conf-no_status_upload_blob.xmlext_conf-rsm_version_properties_false.xmlext_conf.xmlin_vm_artifacts_profile.jsonvm_settings-agent_family_version.jsonvm_settings-difference_in_required_features.jsonvm_settings-empty_depends_on.jsonvm_settings-fabric-no_thumbprints.jsonvm_settings-invalid_blob_type.jsonvm_settings-missing_cert.jsonvm_settings-no_manifests.jsonvm_settings-no_status_upload_blob.jsonvm_settings-out-of-sync.jsonvm_settings-parse_error.jsonvm_settings-requested_version_properties_false.jsonvm_settings-unsupported_version.jsonvm_settings.jsonimdsunicode.jsonvalid.jsoninitazure-vmextensions.sliceazure-walinuxagent-logcollector.sliceazure.slicewalinuxagent.servicewalinuxagent.service.previouswalinuxagent.service_system-slicemetadatacertificates.jsoncertificates_data.jsonext_handler_pkgs.jsonext_handlers.jsonext_handlers_no_ext.jsonidentity.jsontrans_certtrans_prvvmagent_manifest1.jsonvmagent_manifest2.jsonvmagent_manifests.jsonvmagent_manifests_invalid1.jsonvmagent_manifests_invalid2.jsonovf-env-2.xmlovf-env-3.xmlovf-env-4.xmlovf-env.xmlsafe_deploy.jsontest_waagent.confwirecerts-2.xmlcerts.xmlcerts_format_not_pfx.xmlcerts_no_format_specified.xmlec-key.pemec-key.pub.pemencrypted.encext_conf-no_gs_metadata.xmlext_conf.xmlext_conf_additional_locations.xmlext_conf_aks_extension.xmlext_conf_autoupgrade.xmlext_conf_autoupgrade_internalversion.xmlext_conf_dependencies_with_empty_settings.xmlext_conf_in_vm_artifacts_profile.xmlext_conf_in_vm_empty_artifacts_profile.xmlext_conf_in_vm_metadata.xmlext_conf_internalversion.xmlext_conf_invalid_and_valid_handlers.xmlext_conf_invalid_vm_metadata.xmlext_conf_missing_family.xmlext_conf_multiple_extensions.xmlext_conf_no_extensions-block_blob.xmlext_conf_no_extensions-no_status_blob.xmlext_conf_no_extensions-page_blob.xmlext_conf_no_public.xmlext_conf_no_settings.xmlext_conf_required_features.xmlext_conf_rsm_version.xmlext_conf_sequencing.xmlext_conf_settings_case_mismatch.xmlext_conf_upgradeguid.xmlext_conf_version_missing_in_agent_family.xmlext_conf_version_missing_in_manifest.xmlext_conf_version_not_from_rsm.xmlext_conf_vm_not_enabled_for_rsm_upgrades.xmlga_manifest.xmlga_manifest_no_upgrade.xmlga_manifest_no_uris.xmlgoal_state.xmlgoal_state_no_certs.xmlgoal_state_no_ext.xmlgoal_state_noop.xmlgoal_state_remote_access.xmlhosting_env.xmlin_vm_artifacts_profile.jsoninvalid_configext_conf_multiple_depends_on_for_single_handler.xmlext_conf_multiple_runtime_settings_same_plugin.xmlext_conf_multiple_settings_for_same_handler.xmlext_conf_plugin_settings_version_mismatch.xmlext_conf_single_and_multi_config_settings_same_plugin.xmlmanifest.xmlmanifest_deletion.xmlmulti-configext_conf_mc_disabled_extensions.xmlext_conf_mc_update_extensions.xmlext_conf_multi_config_no_dependencies.xmlext_conf_with_disabled_multi_config.xmlext_conf_with_multi_config.xmlext_conf_with_multi_config_dependencies.xmlremote_access_10_accounts.xmlremote_access_duplicate_accounts.xmlremote_access_no_accounts.xmlremote_access_single_account.xmlremote_access_two_accounts.xmlrsa-key.pemrsa-key.pub.pemsample.pemshared_config.xmlsshd_configtrans_certtrans_prvtrans_pubversion_info.xmlga__init__.pytest_agent_update_handler.pytest_cgroupapi.pytest_cgroupconfigurator.pytest_cgroupconfigurator_sudo.pytest_cgroupcontroller.pytest_cgroupstelemetry.pytest_collect_logs.pytest_collect_telemetry_events.pytest_cpucontroller.pytest_env.pytest_extension.pytest_exthandlers.pytest_exthandlers_download_extension.pytest_exthandlers_exthandlerinstance.pytest_guestagent.pytest_logcollector.pytest_memorycontroller.pytest_monitor.pytest_multi_config_extension.pytest_periodic_operation.pytest_persist_firewall_rules.pytest_remoteaccess.pytest_remoteaccess_handler.pytest_report_status.pytest_send_telemetry_events.pytest_update.pylib__init__.pycgroups_tools.pyevent_logger_tools.pyextension_emulator.pyhttp_request_predicates.pymiscellaneous_tools.pymock_cgroup_environment.pymock_command.pymock_environment.pymock_update_handler.pymock_wire_protocol.pytools.pywire_protocol_data.pypa__init__.pytest_deprovision.pytest_provision.pytest_agent.py/usr/lib/python3.6/site-packages/azurelinuxagent//usr/lib/python3.6/site-packages/azurelinuxagent/tests//usr/lib/python3.6/site-packages/azurelinuxagent/tests/common//usr/lib/python3.6/site-packages/azurelinuxagent/tests/common/dhcp//usr/lib/python3.6/site-packages/azurelinuxagent/tests/common/osutil//usr/lib/python3.6/site-packages/azurelinuxagent/tests/common/protocol//usr/lib/python3.6/site-packages/azurelinuxagent/tests/common/utils//usr/lib/python3.6/site-packages/azurelinuxagent/tests/daemon//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/cgroups//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/cgroups/hybrid//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/cgroups/v1//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/cgroups/v2//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/cloud-init//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/config//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/events//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/events/collect_and_send_events_unreadable_data//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/events/extension_events//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/events/extension_events/different_cases//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/events/extension_events/empty_message//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/events/extension_events/extra_parameters//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/events/extension_events/int_type//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/events/extension_events/large_messages//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/events/extension_events/malformed_files//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/events/extension_events/malformed_files/bad_json_files//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/events/extension_events/missing_parameters//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/events/extension_events/mix_files//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/events/extension_events/special_chars//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/events/extension_events/well_formed_files//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/ext//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/ext/sample_ext-1.3.0//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/ga//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/hostgaplugin//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/imds//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/init//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/metadata//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/wire//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/wire/invalid_config//usr/lib/python3.6/site-packages/azurelinuxagent/tests/data/wire/multi-config//usr/lib/python3.6/site-packages/azurelinuxagent/tests/ga//usr/lib/python3.6/site-packages/azurelinuxagent/tests/lib//usr/lib/python3.6/site-packages/azurelinuxagent/tests/pa/-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-linux    directoryASCII textPython script, ASCII text executableUTF-8 Unicode textPython script, UTF-8 Unicode text executableASCII text, with no line terminatorsemptyASCII text, with very long linesASCII text, with very long lines, with no line terminatorsLittle-endian UTF-16 Unicode texta /usr/bin/env sh script, ASCII text executable (Zip archive data, at least v1.0 to extract Zip archive data, at least v1.0 to extract)a /usr/bin/env sh script, ASCII text executableBourne-Again shell script, ASCII text executableZip archive data, at least v2.0 to extract Zip archive data, at least v2.0 to extract (Zip archive data, at least v2.0 to extract Zip archive data, at least v2.0 to extract)gzip ERROR: Stdin has more than one entry--rest ignored (Zip archive data, at least v1.0 to extract Zip archive data, at least v1.0 to extract)POSIX shell script, ASCII text executable (Zip archive data, at least v2.0 to extract Zip archive data, at least v2.0 to extract)XML 1.0 document, ASCII text, with very long linesXML 1.0 document, ASCII text  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]_`abcdefgRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRjι 75;utf-8a878b2f9519f944f061e2078826a885472a0f7e0b1f414647a49015363eccbc0? 7zXZ !t/l]"k%~a 7_/ 1ߵ6aOLOϳF`I^X`4 ,4%.#!]9̜{}ONy<ԷYkpu&G_Y&/O,¹RߑpVy4]õ"ы!=&=5&.xs@p)ٛb0x@.Is^:QuV/KrݤHU 2%wr<}!f 2^!ATZʓ4UGu&M[mMt'(]1 Q,%S&!X:0o!%b$-{*Jr{LK0V% GWE"ñ8"z0 K1mKg [jnpU|ȑYdX\61:,4Awb#}ɶXBQ-QӞqD=M)YK:mFB%f|{hD&%B㨟6P(858VM ?x=c0zgPϻ0uuܩfRj{h/ccK $dWGķt5޴X߰@aʼnzY?7 01oz4Sg mJ_mv:#<HpaqUUir!R,U 9ljT(z#(Ul2j20b; =mo.^ls^L w^/\b:;V [-rdTmI!`NtB^ EzB {E( JMlJ3.gX]\nlVb Pl9T/Uc Q&aҴUDeʳqC#(n` R| %F5\SO k!(b7&d7Bfxc̆ n-Edf.oY蜵OxGe܎c&f{{ g =}ۗΈ`1T7$؁j?ˆ>=ap.d\*KF!)!/U)ktQ\z|zm{$/o9c"UNYfxPygW8{cͿ3\a|9=[oƍPah|OR@ 4萈S^~os,=p J+P3$./LNtցxmW?`-&.Gvӑ|Wr(Qz_s>ȝoDȓ-ހ&ء;U{8DT99b}eu0H V}>ryn3` AYeo;5S0LKӣ e?歁.e[Īw'X<P ۜ(sTS%5kr ir^ˍ*IL5U[ڑ Òpj#}!M!9~ M9K?2QExJF٥ uWPOznl 󺋄)RLc)r}cs7%f (U#(Ere$ I8ʴ=I6Ed?ҼD/3x6t6;|יmgk? ŋhg7=__ޘd;55>1OAǐe9kzA<6HlVB7F͍z<(KA_R$Xh ̈ bL %ܛC6\ ;WҙˏLTWb9*w1Cp 7 ܡ%+F5ҝAWdh  rʚ_շ@+';NyZ1#I\I *bɽ^K}0.cjQ ȓiy@[tNnXt9uyW0^ŸM\O%KhCXIEL`zYߔ+Y!s1fyA-a7>t ~YcZWPM 14Y"m"4y$: =r~ͦ *y]s89R6(o'*rlMweyы u8ͮ &{ qrE{\igqh,f[7#tYh3OBӣ0ML= ΃Z&{TbsT kXx,ͪy0 ıHⲬ&%6ŐA:3. kH&I51B ]q3l} ")H.ݓD>D8*IO;9tǁ@/![,0$,H_ulBx/ChX -`0c; L8c!px;Q}9.: 7Z#Fh#^fN3Lq}qN6*pH1fJRs!a"M -S a+@yO6i63СC+_/tݷ#݄O w)c/S1ЕDbH6\h|S/F3OJȪ `MIB:8mͶv̜u%Rib ])b<Ħ6r绢v'Ti1L8M~q>v$7Fݛe:M)/!x=_J76j<"FNs ['ɯ:u&W:͐mʦc*r&x]*.xHSnNؚAuеq':DK;Q]e\iiQgχ4cr[f;SE!u˸DvJ4a9߅c4[.lpqcWw53 ~M|.b>GȤĞ+fjYګ^*"9I\8џ0Wnkp]g0\k۔v364RƢ6[IubyxMWE>>$;HRb} &!4Νr+'Eg*zΙUQ֫Ā@e2s휹 z2a I-yƙA'dKW%ZL釺]N`6o] \c2[UX{ !(cruQkETm=`^ ޖٍ|K6@Ě'k*I&gp˳wBWF[Ռ$X]q&+OC?a-Z6jo:{>@ K }r)4;=28jJ3|_1f]ɮd-!FDlU"|lR*d|Ѭ=j]E'Ҝ|WO(fi<É{܇iɉS2!+sf(mtI~1U \_]WJ-[a:; p T/5UWRu>f6?Qh+(HvF${h ̅plvLP~1)C6}פ嵖hv6nڦ er>m+rhĄA6(O>HUkIKޝ³Jӑ ]P7pA՜sյ#ц?PXVZ#i/{A<>kxk rojw, h^!jq+0E?]OHd^8$'Pq&L/xq4+UoU'}Rz}2'ZQGȜI>^O͙E .fV1$ˆ@J1m"5p^G}!ZH]m56?Ț0"TCx76Kq%@Ь!)Fry4vYV_zؼX;#CA[m+B ԎJJM`@#&8EDQK +vD$ X ީn&~Ǡ6aȿ99܇# %>uƯCGt}' s$J?_\.(o'Rp/>So"/>.8?5P7A_ٺ=#姈y"<2gq`e\ɴ&G$ߜAc2d6iS^MD+\DΊk݉bDWU z4H>VǥfGt'}*Bemj9HJy#`ntiy$@o!_v߯ij_ǚrz (f5JtՕOFU@!6m?Z7O C;틜_R <sk9+Y/DA$!upgdM4 8Lpoad>}: ۸PHȳ":< ΍tZ9r`Yٓ(J… `JIN!e+\Fd% .DmVdYJ+*؞CCRN0y AuFʨ_e~,$4GNIHRz+Ӳ/Hz]:!@HTUA#cpP[H] _uc,ʷW;|o)JDbXaBV i`pOn }XMt#3/s@p3^c @y ZJ=oܔva%?ӻ'-G$-BI1Fr*],0x}S.Ϙ@!hBķ8R|tȎp) +AIYCl>] u7VpOXasuUc &N]$p۔Pr'[ #"L>< G IgUG7`eFޣtjoS\"()z|Ҧx<Ώa2O"l=A _Êf[ޖoW1p>@u! zm.N 8]>issEvg"`4&H ;gw/]ڹ/N];s ƇQY4q,+oy~@im\ 5h"$`EV 8v8Fv奪z4"TE*͓ܗ7znqMnU_ٟδj~$8WseRxn|4/6*orv7ϊfɪnhd8!QOX IIx\C^ڨ}eKN^K JtS' qfM)hAu-#`M8LMpJU 3]cYo;_IĤafy)jWBDd32AzeupoF: Ū,+_Y SeVsHR5Pi$XVD"#QsLYT!CPF)Tpuj|ys)3Ђ |w*oֹ sp7$PEFw% #4MD(ŻuQo++򙁈@E/I 5_A3ML|I.bvXn1lyv)BK3 !-Mn |ו%uԂYFDa&+m1}Kl\Gzs?̻Y^*Z9͒ tR5uRLdE-8M Lk3V?jdg9Fx3ϱuæ<`aRBDhM,֬T(]c\CIi6T-8z/Im⨃ѯY*EU١ǿd ^SGT[Xbp)z8BMQUY> lnuP<ŀvr~V1`1np{ )]xwfH] ՟¾5hGJRVfPIzw%AܩܥXFp ;$nQKҏ}2ӑi,F,W !%<95hqWֺR`sI,DݭВVDmaS/8b6H+["@hwzʖfA؛DtDgvZZ4?YhL(Hdgnj|nC';\?8GiVᇬNYq 8xY5cs ӭ!oK@-eQ<?Amw$HIً5&6փ],?PHmr.*$"Hƶ$5(K-@Rc*Ԡ4`oWw5 (T(0]$̆.6iWlT`yGFo[@{ ^U˟%VTرeyT7#wtsO)%:r\rr!l<~s6;@ķQK PccH  ?Թ'}F8\@h Elfdcf'մ fwTStX4?{櫔ک+;0 6Xip~iv2RWM֫ s}ࣗ )Y*fE6&}DIP)>)7{RNݟiJxuƸw <_nv>QBA/` #K:[VHP? o} [v]Y P%Y">#D1/sҽmު3h{٣z^sxӣXxy"GQIppڸEc0WLDb g#R"+}xBK$6ӳ?5e^Rb^؀gAC8>yo$%a]D.ÔY1Q4_)YP27s:~A3FDFJEUekd粍N95q?=YK\À..m(?>*mΗGosu-̺9`s2CN~Cr1b DŘ +Tp Rlf.[GD(m1|PrY2-P6|'b!%|P#NUaKtл_,pGCN4%〄707"v=,]PF5BǮp=FjNdUCuKeKWGM29Q'MjgNq"'Zо! T0N\[IvC_/Gsҿm&`p'79NhqT @y70:UI59.vIq $2b̽"шqSԖ(jٖ@'EėΩI':3Ѵ:-"Nty }H?͍4 t؀DP0gvnDNL*@$ij Cqu^+˃kw{1e/H9 hn%+CO30f/=fԛṲ+?J[Gt[ze@9gNGufw dg:*BK:ZjRȐ8v}DP88iapNF|5X kR2[KV\L3\7Ȅ89Er m:I9+-u\T!Z*YKt}xat+)9=*fS#BԜ]ZHuˋQ*_,1I!a81>jѯz[pC ԙ8KѹD畴vK:z/cٽ9ܵt jHW3IЃ|22·ɿY HQUeM7etv(̛ _c_͢5כ(bϓʓt0Fq3x tK:rr[ʑF  ;y %hY3b㐭3;i9CfPks`gƪY5BulIyҷ.tm+y4s,V J ].~;.,+qc*;?$klY[ڞ:;AjhFh6d=Co9O-F!űgb7Qj)K*B:ppqpWǁ*iF|GehJ(8'p3=iiwجEYU z,k[&v,P+x@^: Kj WE $5eVC6"ދ{ ]`#mcxvO"u ~&")d Hwg214Ý%|;hkUI+\s*ja_'?HMV Ց| t%z@*cȏHWU/gj!:5伽Xxc5YЭbe[xފ +ǀtP80{>A 6Oxdgݬ6K'QON`w2^[$xz9HS d9)NJ}hFj1p}+oL1k} >DX1ۉAd wT97_\,QJY01~ "/1>|cm`ӰH!4 l@m+ϵ0J6[vJ bj3.hTW:31nuU @JIuY52ԚE-fŦez4ZU:̉5n:ϻ2d޺J[ w5I>[7h~6p&<TCm:gUbxݴOE]xF[s`Jk2S7;zqw(`~ ՟-l@$ BCFA19hи 5X9ielF+y ۔ӝc+&Es<z6<, t ˎH=ג`@Cd1B,KɔI=27BʝIzG4]|Q;O$4\Pf|RB $5<*r4^s{6B-wPOC%c&[D}hzJ}([v|n37o>&?gӪw3VzNDDT 0ɜԶ6F Z bՅ*qX8yeR yl6|qԝvc[icoyk.` 3?(XFuchuwAu%0MhVS &{C/4 ~ 7PN9 T!QA:I`%yº]!sȮ"ƀyg՜.mZ[h^P vy3`KuPBMdB5b2x;x|b 7ʛk5Z4C LмZ=\ alP^L&9dkh `y[Њ\Nxwr]+>tL*sbЁ&5$&Ls(sqO*ho@=mVuuYrVmy_ͭ㧵agx.2`(LYyŚ /CU3Y:?20ek\Uf`x>`/oX#G4Vc%^KezkP4M1ޯKf gX=I[^#-O0"K05"(;pA;g6rh6|`c@{Wqܑ(Pȇש5Ѣ-yQ yUTu!" T`6*4sӗ|";+?d$3y̜ԲT1R#7گ\&#,CLۘ.ֳ -烄%eYBVކ1)9i''':V sjD2,,H}Y̡R pG-P }g١Zlm}9?Pd*E(uA9Y([>H1B\z5L YW.k94Qpѝ_F?Ud~]D~\D)SbJ*uOj5kS!]PF6*DpI|j&w~&GBA͉wTڇPA3j‹H эwOwa,uO*|f^㣓[,ʫ1gE6=q0#%᠀_}J5_xekN>0v;09*x-{K9D!%s>g') 9{Ødh-yYeZmخAgݥ!} 5{S?h~Mb"&4,~w3?˚g6!Ӓ`$zh%ġ:xts.nJW)36ZR{$3KT$`0T oɔ\ ĺc^}ҋPJWQx A@  iuBEvya Mk6WYs)4/ Y mLq-% #ɻaFՍ~gƟٓ |}9Q!y`['Qe֗w,p9RYvi GDL8՝s Bnqf~ ܍hz ݔN@buDIΞ0Ku:Phٓ^b-=5#, J*$ガ`dUB +p *5p?eڕc_0sNj|O397dgoc0-p8j8vMjx) }#Tĭ^uuDŽL X'j!3jnS ;w!olc^OlHO6X:K;H燎1op62QBizXcrd֎nύѲxp!ЫS,^^i*(gp|Yyu-}yUO+ƾka<χYpрJC`JօfQ;ۜop `@z7㟙1ʜ|[M'n z|$^R/d+CW!t6֛=X?`1M0OP" xLق<ĸ yTGJUe\37Hm*?:QI;pq/u8ïYZULhZ] $591k@cus^ลZ{^jQnAN hugdD`9 v4ǫ 6n^b.$;^`?DxRJ bdT(za q2b? :z_J B^ܭC5b  q'!q 4ŒQ 7;=ÜN-G9L,?(M7ȐQ,Ki N *-749-9,8?{&*&"mx(<0ZǏs >'[W꬯,4H2SG,&77<`>>_[:QT6_,TJ<  $ZXN:xϚe 0ufZertZt,l>tf1VnʤRߦ~=- @iWf QR|(s/mF非F٭|ssō,Ry_x=%C0/wShj='vYvOMQ4!e% U ^g8 7׫4܂q58 3)xVJHa#I&4SbVbHSz!pbK7/*c8רCTIҵ5I@[cb<+_9` Ppil|v?DvsTD#@a|jmnI(2Ҥo0g\Jt{dF) ^/)8'c)iv*L);xMB1vmj`>rYA''xs= iVn_&&JuP_7l8%?wTkPVMO**Y:%ݸf%~T5Pְap7K m-- F8&_Z_4K3v}IœѾENӇ%W2vVV [p&c"اlɫ'_$Sw6T6%pU4eBM;@=tuJAƞLg;:#}+67p{@rcL :}0iO\ڶNӒ`DJU J}< G\KZqoIE|j zݘH|r=\#B2<;%5x"^Г2?\sZ[fmͥ%-sK6nwȎx-b76w&0!O=9Y磄 \6 v8](-F0P.]ⷷ:蘅 ~0O-(^X.!g3yG &`.EODFyĨh)yMQ ^Ώag÷6MP .L;QŖlª"-Oz~ʔ}Gk VQ%aՋX[kkRKClba p`kF`;y<ǎZGK,f%hIm3Suz_Q9zK5"Iя=lFhF5e< Ã^12id>ʠnfpQPq[CA (%~g&\L/5@닅Ñ]t5KĮ4eR|jbtbx(K9_up6?M?Ƹt4Y1iPP"oly]D]q2Wo]JxD_S }ڦ ;&ڰ44`-_zH8P(f1lj7ԉi@`VJ{Fܖڔˢ[}M[ V+OKS捵o|'\ۺݱo?9 C8UPJqwoXi97؄_ԹWp"SC;BJ&݄VTgZ{pX+KhG՝Pȿm0fc`3/b`A -&6í@jA.O]@VV/mxKײ0XmC@N(k ʜulLgk)T@U8@j.Z矟mMq I=4fPҚ9&_X TVe3u9- !y\ (K}WTeB #;+<;RaR;?$>*N<"zUfD`G늕˭'iFIR}Vke?>$Jy)'jrOW.3ijw*X3x+4u_RwUK"l s %axf̉v$o3g,R>k9 -9ȆB@;&oV}AiRJ1bFNR҉[Th І93Y!$ |~wnw31f`RTd$#*z,wL`_fD'Sd-Lםt+}xٞU$ 2z-*+AưE`C|Q^Qw~ * |ـ =EqyYqsGKL"ap^i M*V\kl ocSQ#a=yŅGV[DO3!tVn ߁uDB}#BBvuڲGa@b'.ծ쑆[P8/ڢQFjOTvps?)KykG\pu?ZX68NhD#R)u=ŝ$#7U.B8Q[BXa?L(Cɑ\= L&VqEk1*VgP|=5EtC 0.`WVDf|;ȣ[}4ݞ@ &;JG]hI(=wT\ ;,Cޏ 3l&`?`rlYFޠڒ*>.3Ϙfl(2E1ie+1eJ[pJtŠ<g?ǞYv_cO*!te>=gF>HfN-" g]KS+C.m2 EAO]K(nT! QscHbm$8* iQ~}nxWBi&RWT򱒜?qcJ"d[}WƆf,+!&o4 0,LPYLk on g[\U.jZyoSxˤզV_RX#J1EXۃ sl|L{y^>tTKZNU'1'DjzbC*e@0sO{ҏDľ`HL7!}j:)jAxmHN2j|Ƽ/x$PhjШ*99P{٧, ahO)uD>/5iFIpwzn&I5cXbHRy8.o="Yt,#bkm 5MWGES(&rR83#䃲&z`|UdKխAU(Iͨr:Jy#PٜzTn7y3 ` z0K&Qpf|7qXZTw〘裳<4k'3p=NQ_̽tzp':`jC00PQDb8Sܚ0U`A &ލ FrTP7rϮ2<"DVi!UH]mU9&'SPE9!͙#N BOaxU$j=IySCyAгu9ruԄMoȇ8;)PZm]N[e5&B{Z(GQ=U\ 4$:-6s+oMlCya.THe'Y\X@>;Ǐw*bN}Mh% Nڏ2(.NcBm8Kwi0D3GbT`Id <(kJmFJrU(M(2#1\'yU5+3Ʒ>,lM U?]KiG )@dE9m=|;>A?+T#w9 tbZ3 芵#DyEt,YG'1˩}!D%'ADU`fd$1e ߤC8Ph>gBMJ{n[8;U- ̤dC<`UǬ"eeų;krN;#Ivd!]9,w5p MyjeUyL0c4^+i? 8 -@W <~ċs3oQ)hL)sEcxDJTM 6ȋW)CxsFJ,xvC7byꙐen2ǐ?Kr nEA !`<=;C|vDDX#˥>*\~DMx3…pZ -ks&\ƒl!c +[QmuVbo%kM4eϨr eכ{"ʮfřl+r5c@/؏?$򅗭qڋKSdcEL-b)`qAʭKsCf6s -`TJ\?$Z5,wmSm:VPd0Dcܨ1'j8/x:y2LDN)髫ͱ#&==7 ^s;cY[GM{"DaOL9'ƊNOk;(̆4 7b'g vA-Vqz9VmS'Ph1{iZnxbtsNh->$PeȌ)uHBF|w׮ǪcV^\tI7l0lV8mapy+Yg/K֣+p+ H S5^A.B )02mD[lSmA( d.jF*i6A$ @p^Pets0.Cmd2{ϯ_!} SeM%4J9IeGAh f*^.U |cvEfH hT4W8x{3強f/'O'5?B]n x)h-wnfQ4`vi.cC#JFف o YZ4yK;͖ϛawX*iHkV$wq2⵬Mq/F2,O&4@]3B!TIn*}J`ŇU)ֽK7#ӐGG fm% *ђ\&OZƀ%U,}zaoVQ,2 TL1Jݴqց1а]ApZ;\Q[Qs#;hFֆΟ0׺ۧ+3P x5~|茦#CknV]1@BOf+9M8'*>B8VYtԋaEX/]A7|% +>x$97 e;71=ZKH["ḉ1`y^좿´{I) LnY<_´yMRutVuINy^JqTqQﹼHI,R +'.-*Z_1B}NRb 00KHŏ9` k;?(uGDy"a1AQNDt)elOs=?ʓ4źƒw[ / 8`|@꛿ѡ`W_1yBXRhhZ9dmV#`l_4 Jf< ]?0|3q26"}m.T^#]EB^a 6}B%gcz+ԾF0U8A"R%"dRcn~ י!z!mi ozgYA4mG aB=q (VUp>QAS05Z"vOf~W/Fa^؟0mwti?K52x; 1XB^{RcGhO«i#pMMo*6@}wE3<)zԤ]bB%W_eg;fv\jK7N Ns`"ތ 6VF/u{1A?9bs5ɫcfNcVYSОCuhNk5$|[Ci2̢bc=|'PU.r$"hp2rGP8g~?ޜ2yzJD05n2I]A-U34,5^@ƚd%NZ8>8[N&M1-Q~Lt`E/oҮG gɺ3€7R2;%^H<Ğ׺QnX&o;i ͛Dֳm6AŪO.QJpUޙu=d1jJGo4DO4\Oc(w=I3z cc2q@0[],X@kl-ʜըe-FjP'@QQ,A4bXtH`QA"zdʽ#'&,iPSgy5;Lf+5l,1=q8[%Z\0ݵ[A( ;@~#ޮԡSJQU Cfp}祗j29F 6 Y^ !~9.IQnw'4xC"U:Y|InK`}/:R}EF\؃o͒yƝig>/a43Xlo6C_0cwE,녡Oyv&EGLt&uD6x*M418vbZl% |FdaIӂaÒ%M!B"Om!o=߬V<ʸ;\646gu5pN[+%aBm׏ȳ,]|[`$t*c*.uB5xMHHv+:$2~p0aT 8@C.z?[݄F[GN=""ig&˸BR&@/|#_J Ӓ_>tvekbOz #ʭAG%5 x>jQ6 sUxGeRJ Jb#74n+}/laqKfftLlګ 2%?.}Gf:㳩1^-H}~mKTP& ŶWqH%Վb]WXu&\&F>_ x,wuz i]Oˎ{ҙ|/X0"ݸ5?#aܩ|]Ak^,( %jՃ?mJqws[ȉ|e+v,=0VEzP^W}wJ{R+ʏMH*`8._a5:B0y+ UF'U eizop7)f׃ot6CS13V_]j#%1h ri H}3Iyqr =~Iȴ5O9Z]9g&LG qbnPV)| eρp\Y1'8M@#\&z `ԋžއJI.ƒ"P`wP*Ux{ǹܷs&9, _7;jK7?F̛]PiBh0=P& ^ 18Q4Ҙ(}aO𑊒 ]~p^HbF0*`:2 ;4CLxWGQ%W7qXX8^%ei+v2!B%:m:N/=7Z8V2Z[8`#@j3_wbHX3c`, ]5r xl}l H&XsÕ1ؗEx>n@6]Cj@Rk2y8@ij_Tk?̒;0$ ׯ{o{5/>q2[ʋ` W$G%]:oj!48ڶp M6L:}أNK|cN1\Fd@!ƮҦ4 \4R,Yb0$7Q9sq6صB(p ,2c7qJkzPDY4FoӋˤ Iq`3JF3:`v* TdeΣ-WGn)cU?gZz<'@ԥ-k\t*ˌخs5ɑ%=9J7[wA-qOC<3W$s8F R7-`sҖ Kf9X*-.b2hUD7KRAʬ 0aaI9$gkZ(Iq%"2uNJt~Oh;V#Վ7?nze">+Z{~q,a೉*WzKD2OG)]{o˜vV7V+ r.֨z2Qmp}|/IUcQhr \G ~T6gg1RܽKĜ`+ĘK,%SD9pwy(cYb(D LV,}|&`~ĤFQ.@Z` SB7ڂ ؚ>=:d2=`>k4tK=op]THª}Ozd0r瓞a9|o\s>(A#\Mk|){[ S(^7@V٩+_bjXD*v \6fL&8)r^ !: g2>5,W;f|1CB> P4xt:,ӯB.A>d;rTO [z‰u_ +W _$ɗC\gqnR 8:=u+T* }ȑ2\y#E)!2pFcܶ  \[a/~^ο'Sm|:p&`!}@\0o+. 32Ԫ5Frk״& gpWCJ\rlSGF<'g=I5a=ÙrG&#IZac =R(7"ij> ;ə.$F|eax.&|© s.څ6YCX ~AܵIPC54QbyAYj_{ܻ'dK -<} /$ wЉ^S§s}?&Pu/pƖPD)ͥNT{b v2D)ɴ2p^e\. v`h Ijz$b~z~R\ދ:pahL-[DB :@xgڤ@v*FcкB JN |!WnB7pҳ&D_* &p" d|*yժ_{[8*tT)Y\nb<|K+xH\/th lk+tDD9 }Ll Xm=YU*CmxsqfjLyx9'IjaG\iXmI;ӮsBEֳtE ;vuq1GZ֧Ph$q i,]ui7$۽'Z9J*Mdf~/t%ҩ_&5\>%lUyV6-}rX^y75!{PJQ8xO*2Jӿ;;yګ@eh,UxE;C$JOj6ހ+tR/ypc v|@CFC leˤĮ"dEwpG4 ѷ a>JJ<`6#L[t<&?ӏ>,ӮciqхX\ h,Tf>WY߫}p菾1{:$|}ENzqqW;Q&P`j:ܔt.]O_#|CXit6ՖvL\y ^B \8F!֞|2,Z&ҍR$}y3 ie^$ 5av=$%4 d Nl{S8t I(6< ~VE IRXSCb5ac9ڱbNTTt(|it?[$^D[M8&: ~FϹ"@j2vhO5'nhKTSa<+[(Q݄w_躈*vIB7j' }v'|[ , $` +hL출B+knZUh kjz`),FYۦFrR tL&lE.9~!"3pmp:\E2EyÆ:8>6Q sX^sFpxaA:0 ~%N:m,ûϛ%8xѥy /h/65`wbdݿ@J${grax۫,c´.%8Ul=2>œ!tr+ks ѦL)t:3]1o"I b3ɜk4,7HP} /І*d.alFAkh) bTxJneoWh|*saa: $fFgӌq)-uV7kc J?g g ,1\M9]WֈSiz֨S\p,Pf b~[L1'M[l#;/'M YO : ^!nće!A)xct/j5f6?6gqqOx^N"6'VE$zJ)m&cff,*Su[ŝ ZмU ںEH$$e9?9`9ϗ,bp{NWRvrY`NPEgv &3Gu%l4?[_XEV[-[_ƥRP_> KвwDNata_M)!ԗqQ7[0u~?=t"?4 -,ڱۍcJQ;ܼu8YeAF_]2&^/x%r}Bv8I {*qe^>K^?or8/t˧O'" dF WEyp>v5Bb?/_iZ>jJ r"lR,*MĞCIZ ]56}y2Enx?B,ѻfd^ޔI+|H!SpCYk[pq 5^V @ /JIwݛ}FRlYsmzAkݓbL Aapd6ЮPεoȟLQ/he`uK|w+w.Cr: s*o,9`8Nҗrh;AӴQvgaKChFt)Pd5=3?% O˄ {?ʻ3V:q:0Nv+:2MY𜉖$J`I2j^qu*9ʖfDjBhbV[O6G``7Ӹ-}q 8 <+:6^#ĖȚ3~Eu[,/ԣ9g#ߒI7Пgisu֙fZڔQ^CΊ6/€u:ͦI{# <n`Nlu@#Ƞꈧ06. jdqH:JҠ2Lu`DPհ67V!͔w{l%$:_Y羑`B͸ 52DT}6Pޛo3qlc4eBhHe%$:h㿖))[qצ8Pzm#i]Nr2-"8c2h #(rzh14ىY DC8FohX0r!R`wU.u%nxNRzyPw~Fe;hUr`2:ʂu$yOErzgփd둞 J tݴ"Za220K8U:2AKO0} nw!2T@ ) N"=&X5 hGrc:B+Aa%ְ, q[KG/\Y$foet:1:~ambA0d#$?& [|ծ(;\x%Uokك3v; x6'0 b5h #߿#0aǹ9ǝZݓڣ%U{bdcOjж\J ,Q`Mэ*jMlzL>l&WIq#\It/Yn>N\LwTfupGݙ7kpRDB;ٝL&m@U[oLjl?j>#]{dZ_RBl~ZVw ZiׅhV.^+qk Wvc95ً`wC@I,PT$Q qO{7ڨ 47rW M.̖lP)@Z`<ުk 0b+rG^fHnt|Ht"M+]8=mmk|Yka CbԂqmNERm2~Gpn 3їu`AK( ]:B@)eF@Xtߗ`(\89;~#,#[;)/m${0hrl?SU la0̀ 5 6kUWZ\arb%cG0rsb% | Lgw² 3&@0PV0 \ w c6e+@u V :Oz# 9D":ģUIWۨ0jњ@%&^+`춤&ԕBjH v xxx|CyM£Qib,shJ'C6N+# mզ-~ƐopM7FSr` \T\CoD:ڵ=ʿRGS)>E>t{C5F%U^pVk!>~(^|6GXu峱 0Ι sqxuX PxbUZU4&hKW$f Ky]dj[L&8}AMuGsTOK%:IJS2$)O3z]*I5߂uZi& ÀQa gb^3NZwD|^GŐg-q TqM?^7s:< DRW:"bMW,c>jL)>B[2*cvU nWYpCæ,)z-A0]rlҀ>v#?Yo[SZp*b#s) BRn%%[d)Խh<J~8k327YĒv:C>03Y\)Jzط*#cPgFm-bswB +EX2 u0e YzܵɷMn3 u1U55Hݨ5F~Ζ&mK2'q2_]/BPYhGk˺[,fZD]@v`:#Dvo_`s3z81G盯fgft%~U^Y. B^?3e\_2!opv?/?ovKb;ӻϔ.Pҗ>$H0`Gl Z*#Xń!mATՕ|/u6:deV #wB. ]H~EE by'TMq6̜h9X4ן! 6GSk*`D|*!PF%17Y_d-.HW%ɯU3荜TmQq'_]fvA],2>%K \ʤ7B0mIR=H{]LIcFB∂]䦈o"v%cDC)2kW 3?ݨkmN0V3P^nJe!z) .$[|3gF^06VQs3N30y{9bnW ~",Hz W\^k,ĚE.2Xdє#lWFS]y%{v Zd`{nLT;|yUQuc4ȷZQm2K=tE[sIa}і8njMej )EhHJ#iH KkuZPeLG``:E\7憞^Gn07VA>IЏ[=S6,BNQ̪ܪtI3giAj'Pb$^n$׃ynˑ}) ˊnjGfXEm{' e>E"R+̨NQS%K4ӛϡY^{VS)_6 v2CEY, ~"b Iʩג݄~ U弍5k@]+D4|MMq u2 [ɚ(T*]kk0ojDc*k(f9Iop{zP ``K\)'C[ #yJûA^z g%KA~lhhe/(Q M iF`7\P+@7z3~e uz P7 ɳC aoFDsd%R,`*A髰k(&|8mV`6{3>I]r`{@#ղ_o5#ꠖR"x$$&Z/#Q`c$ M:<85A ~>H .r#8[Ӎä&ؐ@ &v!0$׻8%%u8apI Wm Oe6Ec:yjK߿ ÚMk m$%r qϤ::!TPrhYWWJ-uuDD&txX;`9YքRxCOx`zC8;$CdKt]H -\ C COVCɚ#|03&xB^T>~ONvkQRAMakc-L~vaslW'`АA ;J \#Tfp1ԩLU<9{_uRux9wG;}$5o;6#~fg޽yhzrG<%?- 6#j?·eT@_<%{j.QJ4,ySkp܈^P}X dO+|SwA r;#kl{ Ws1k^:A^t M-: oL Xg+GgÝVN~Hs>tڌ!#Mȁ5`! [`PQ? 1}=ʽ Ń jpZPqS4Wdˋ)ɮ1>LVHis.;zг%wO^ W-:tdR) 3&=txKkk w`l"\+i7!ڏH']|zon'-\ibB> 'DجhK]A_Ճx5SJğrtp\:wTDRϩNҊrM"l)|qMVY.ˏN )EUaY- 6m⚹Mֿe(=+0(z>&[յ] VR.B ]_قHkTb6M-k/Wq)zܢu|~SWb"dOt'8 tEI6Ǭw@g \-ý]:C騅};¿9Z٠!*cC!KyU<)X=.>_|r}P <^ a[reд5!Xm6nƊOEak  RrxG1,$oj E)hO'8V6p A0g}tȏ;"?nQJ,d-kmB,y܀}PfVG$0%S@=S ZOXIF'(H%d[ ٭sx͍yr͗XV֖үY>Evni0&ٓ`c?)5LEyKd˥zJ/ocGAq1J0~IC6Oȧ5ݑ8Elfs7!}ǮBGp ,zBhu(6N[ 5ccQ#4]VU< `kU?7keԜFEcO"H(3pK Zt~oV%?`ar4RU[Gef33=J% J1S;{Z܏!r⡘9!%߹rW>QăF>bJR4t:Jø;d@'*;d876k@(]9x{i#0 5qs0=Ȉ+ <=w}c_ ʿ{lv=Ŭy? G61pv2/fxܼ|ŗ" xڂX<0.E>_cTw>酢¼I a @RA\(̯en;GL4:Fַ;ˣ`+Cq] "6w8SɋN!ie@?<7P V"W`\+6`,:i^QL""ˤF8"/>Nq/jR_rM%^c]KPRn ;rT4JHcqu7.L K\: a&Zt2J-_Cfz "HIgI5"9a) u/j2:>'#(& k%RvGU{ёW(^_᧷Қ Ȫ_և j1 !9{jQ@q0{_`ng" :%X)4MR_3Ju 1z!Z$ri&ɟG0Fg'ÙV9 \wЖ[LHI$eF5Z7D-nJKg$!HO*C\vMDcR\H}"}ъȗnأ5J81QϾ}j 2utwr0fsNuSKӅﺻN).yz*jclr)q0,Z*,a$:(ɚ#jdb[Ja?6۹8PJ7?JbsE{\y6Wp&ǎ"zh}?hd /On\pkxZYܤVP2NO E߰AGzvp#6\M|OڪEQNw C%+.XNnrB1K;pZbM%TAua=)`}PDMAJV`3i"Bzl9vϨxrtMTqv+JaZ30;Roɨ/b%87J_{L;^ͼ=fAM<9ke贏r`w=SSO)@VWA>nTgϝT:xa(a: Sʦ<ߵE'dgu93 qGc60cMGsޚ iO"WbbJ˫F=:~SCShNfʣOkt[x7[-JUq38KHQN)\2;c$ѤjQgntWj-6A(b2G, ۹d~_nf> 0IͼΚvCnb>ܱ оM4%Χi{]*YVv)҆(Fz<lj2h=@Y%W8t7p8mm(49Igd \të;s(C|fKN~U&:D.2qw@ouj%W\f =&GwVq{"t-R׶)YPpܕ1CLy kqqM.d54Ж{#E KptA<|㸀t1) E簯[xNYm Lзj sWT3,.21Yqbl1,(<z#[CV]jSպJp%:]+߮r>^3)O/; >"G6qT'|!dWkul{L/q"W>NLΦ5-ԩ&g1J~ AIs`*Ziu'IcsLJ2"'M}bEiA Zٞ'd?h1!(PLJv43I +z9)^-0)Qܩ}5]ou'DP1Qj sRu\WΤ:}?A5MSf 6|AD)ӌ6Nh$x{C^kuJ*ԈUV*8sq IivÉ׸kȤ.V 2|rq&ZϾ; e ܨ'DڝOM#hvVĜ d΋3 zGEdЫQ*6:qhƲQ$s9B&=?˅U)ˁ=B9nNx>|tC!%wsh~ [,E櫳eO"L=ojXg(oϵ SH홷,z4m,D4?"̊̌yf|}n;Kj5܇?vmW>i5M"֞׌K*\swfs? EAV\Tph9y5"E@xo`|rxg\ j6E_(=n,?=S3 ³$(@%'h;䬕wm"F՜ _>,:s8= ۟xWم(WiJmY#-'uJBxYfs^y0둼]uOPd5ڽ F/pFn fZ_KhOgnA[bL3ʿ0P4'KeD'i%td5?7Lwh(̺d*Yw,h?GCFF1:3}ef', ͪ2nZmYMbbj2EMor͍|E~f'3BL<\6xu58Y{K~ѓ']dDR;'h<󃴉3_Z`OWl௧.^0GTN毈 *n;^^>7AHBҸ'^`Tuek@E4;Kѩ bY$'0j\1,R(-^رGW6o_OjkhB ]%B$tc! 0ХU3蝪}Sqv*H6RNn*Ȧ>OCFXHC GJ KIHGtٯcFe ʶ KJ8=?Y<܆6=3WСJg FMIܡ?,Hr 3t(E&Ef#%)#L]/uS f61~(MRsH8'hBD)TNLD5>#i): ?۾E>g$ﱕD©$T0T8&WNSszgq 9B!u-e2l@_GIB2wz漸 t<_X:iB3ďFY#JQ=B[(4jES4'Gm*fev@&ZH}\đbK4$`JDqL묠-Cj-Z/-ɴ_Mb5׹3WQ78sJH @`."T1aC*ҟ7u/~#ɦ3h:TO<ܜ`+#ÀFNZOAN\m8򿣻t?ye, |*67Ո8˘@yu-|/{JYۂ1\31̨RGHg޲dtuznT v! :^RU Y"A\EHGd)}%:%Gm;=zPC,3dUԙx j{e2VL8UJFόw8.W{-e8bT`I﷕|A3ؠNj{}ɧD=L Q*C@̩ϦkXv;K(.ԑm9 ԠM'qy7ok1D-vcX"H%#N%Ʉkt@VM7ƧkAWХ+MP[4s/e?fSWG#$%@һgDv ;Fkg!WH1Yɮ3^K|~^G[rӄjNɲR2NT $wTCLDvD?+>w3rPA")yb&MKi7w3DKAwqճ4X'JSuKRk]3A!{>zn^~ ܽoO\癒[X"hM^:Kjn'fް9G _x|f)P\m'|#ަs/(VTwVXw59 o`Kta`)6KEDDV?>BJ@e1\:g"WrUW5y>ed.!-kbf,n۩c( O4Vh:\Ңl Gy[p>KI{g)FR}UbDRatΨM*]WG6v~NOA8O&b%&kshO6sztθ# X#[SYUDbAڭU'Y^EC,Hm$E>;+4Ȅ'񘇓EXvvJ &xڶVǷgDVֱ|{.K2Mq F˗ܗ\\rh]{ 3+f?þ^qv\)8c83f/Ǥ,iw17l%s]`E3@{爿/o6m4i8W FQ]ދܥѰĽ_$.!Ӝ|\&NcR¥Lp$g\̈~ҿ@@*KD $F̦?%})%Vm Vǻm̏= ,i.O3GZ-'Pk0MABZrmJP٥#y)Z+c<ؽr~if"n=! NKU~~H'EFVfʵ6W>I[wvכX{}BBw;qčmldhKu`6 };L +FmAvO i5 _66Ԋ"k d#F\( CYX<ɼPƜ"-S f:(jۡ0a J ֥D%ŵ ?C;۳؎^πn[:HDPϨ;; 沸F-mǿl?jԕ!Ѥ0B0׏^>"{D7yZ"E!_X&Yx{IQxʸ 3hdXs ?r#z<;p|<+kWಡ$ꌿ̲zlxg *Vbj%7t g'n)w4sv\d(w gA^zѬjU' d_'5CQ t+?>J'BggD+9\\|QW?L ',KCk+BL ?"&Hf(8{DR6oIf #~pT7 <1V21s:c564wGZ݄X3nn}b+@so[\zhƤ3u85Q(~#1:ƀ_aj贯PVt)-NJ,#WEH;^J1;09`+ѱcCg CIz7쎦._hLE>ܳ`kCK ~>x÷OG1hy'xCp}y`ykc gTj$xFL$⫰ >)F8'T(s#PX1:VX{7ٺ~[vlHBa8dN~(>Z T r| y=\P~p-=uY$T'hE/釅? QJ|G IgÜ{^({<'Y h/8Z>9&wGf>\ɮu"=Ю):aigЈ__[ӯ"*0N|5fNs|U❭٘4 qyLj\:)]!%YL?(uΕCbCS-Z域CYKt[C8Uqc-s,O"^6S P\DIFF;op˲42['!_gn,=Jd=I&R|wi3S cL E?uvMD g7i?mIw[ŧ 0tp,q̪0edwWoL-CM ;6 '~N0 ޞ|!ebPY]2Ʀ=l֤Q`I7 !Lm;, m kxzD?ՁzBY3f%kmZKמ5$ >VN YZ